Системы и способы для обработки входных потоков календарных приложений

Изобретение относится к области обработки календарных приложений. Техническим результатом является повышение точности обработки входных потоков календарных приложений. Способ содержит: прием компьютерной системой первого входного потока, содержащего по меньшей мере одно из: текстового потока, изображения, видеопотока или аудиопотока; обработку первого входного потока для создания первой последовательности символов; в ответ на определение того, что первая последовательность символов не содержит временных ссылок, сохранение заметки, содержащей по меньшей мере часть первой последовательности символов, в первой структуре данных первого типа; прием второго входного потока, изменяющего упомянутую заметку; обработку второго входного потока для создания второй последовательности символов; в ответ на определение того, что вторая последовательность символов содержит временную ссылку, преобразование упомянутой заметки в календарную запись; сохранение упомянутой календарной записи, содержащей идентификатор времени, на которое ссылается временная ссылка, во второй структуре данных второго типа. 3 н. и 15 з.п. ф-лы, 8 ил.

 

ОБЛАСТЬ ТЕХНИКИ

[0001] Настоящее раскрытие в целом относится к компьютерным системам, а более точно к системам и способам для обработки неоднородных входных потоков календарных приложений.

УРОВЕНЬ ТЕХНИКИ

[0002] Календарные приложения могут быть применены для облегчения планирования и отслеживания событий для отдельных пользователей и/или групп пользователей. Календарное приложение может выполняться компьютерной системой, содержащей один или более серверных компьютеров и/или одно или более клиентских устройств.

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

[0003] Настоящее раскрытие проиллюстрировано с помощью примеров, а не с помощью ограничений, и может быть более полно понято со ссылками на следующее подробное описание при рассмотрении с использованием фигур, на которых:

[0004] Фиг. 1 изображает схему уровня сети одного иллюстративного варианта осуществления компьютерной системы, исполняющей календарное приложение, в соответствии с одними или более аспектами настоящего раскрытия;

[0005] Фиг. 2 схематично иллюстрирует несколько структур данных, поддерживаемых компьютерной системой, исполняющей календарное приложение, в соответствии с одним или более аспектами настоящего раскрытия;

[0006] Фиг. 3a-3b схематично иллюстрируют примеры календарных представлений, визуализируемых компьютерной системой, исполняющей календарное приложение, в соответствии с одним или более аспектами настоящего раскрытия;

[0007] Фиг. 4a-4b схематично иллюстрируют примеры блокнотных представлений, визуализируемых компьютерной системой, исполняющей календарное приложение, в соответствии с одним или более аспектами настоящего раскрытия;

[0008] Фиг. 5 изображает блок-схему способа обработки входов календарных приложений, в соответствии с одним или более аспектами настоящего раскрытия; и

[0009] Фиг. 6 изображает структурную схему иллюстративной компьютерной системы, работающей в соответствии с примерами настоящего раскрытия.

ПОДРОБНОЕ ОПИСАНИЕ

[00010] В материалах настоящей заявки описаны способы и системы для обработки неоднородных входных потоков календарных приложений. К "календарному приложению" в материалах настоящей заявки следует относить приложение, облегчающее планирование и отслеживание событий для отдельных пользователей и/или групп пользователей.

[00011] Календарные приложения, описанные в материалах настоящей заявки, могут быть выполнены компьютерными системами, содержащими одно или более компьютерных устройств, включая серверы и клиентские устройства, которые могут быть взаимосвязаны через одну или более сетей. Пользователи могут получать доступ к календарному приложению через различные клиентские вычислительные устройства, включая, например, персональные компьютеры и мобильные устройства, такие как смартфоны. Клиентское устройство может вводить информацию через различные интерфейсы, включая, например, клавиатуру, сенсорный экран, сетевой интерфейс, микрофон, видеокамеру, фотокамеру и/или микрофон. Следовательно, входной поток календарного приложения может быть представлен, например, текстовым потоком, одним или более фотографическими изображениями, видеопотоком и/или аудиопотоком. Компьютерная система, выполняющая календарное приложение, может преобразовывать нетекстовые входные данные в текстовые (например, преобразование изображения в текст с помощью способов оптического распознавания символов (OCR), преобразование голоса в текст и т.д.).

[00012] В определенных реализациях компьютерная система, выполняющая календарное приложение, может обрабатывать один или более входных потоков для получения календарных записей и некалендарных текстовых элементов (заметок). Компьютерная система может затем визуализировать на клиентском устройстве календарные записи и заметки с помощью различных представлений, включая, например, календарное представление и блокнотное представление. Различные аспекты указанных выше систем и способов детально описаны ниже в материалах настоящей заявки в форме примеров, а не в форме ограничений.

[00013] Фиг. 1 изображает схему уровня сети одного иллюстративного варианта осуществления компьютерной системы 1000 в соответствии с одним или более аспектами настоящего раскрытия. Компьютерная система 1000 может содержать один или более серверов 110, выполняющих серверные части 120 календарного приложения. Один или более клиентских компьютеров 130, выполняющих клиентские части 125 календарного приложения, могут быть соединены с серверным компьютером 110 через множество взаимосвязанных сетей 115. К "компьютеру" в материалах настоящей заявки следует относить устройство, содержащее процессор, память и по меньшей мере один интерфейс ввода/вывода (I/O). Компьютер может быть представлен, например, сервером, виртуальной машиной, работающей на центральной компьютерной системе, портативным или настольным персональным компьютером (ПК), планшетным компьютером или смартфоном. Также термин "компьютер" должен включать любую совокупность компьютеров, которые отдельно или совместно исполняют набор (или несколько наборов) команд для выполнения одного или более любых способов, описанных в материалах настоящей заявки.

[00014] К "сети" в материалах настоящей заявки следует относить распределенную систему связи, взаимосвязывающую два или более компьютеров. Сеть может быть представлена, например, локальной сетью (LAN), глобальной сетью (WAN) или виртуальной частной сетью (VPN). В определенных реализациях множество взаимосвязанных сетей 115 может включать сеть Интернет.

[00015] Функции компьютерной системы 1000 могут быть предоставлены конечному пользователю с помощью одного или более клиентских устройств 130, таких как, например, портативный или настольный персональный компьютер (ПК), планшетный компьютер или смартфон. В одном примере, одно или более клиентских устройств 130 могут предоставлять функции пользовательского интерфейса и обмениваться данными с одним или более серверами 110, которые могут выполнять обработку клиентских запросов, балансирование загрузки, аутентификацию клиентов, авторизацию, хранение и извлечение календарных записей, формирование счетов и другие функции. Эти и другие функции могут быть распределены между одним или более серверами 110, находящимися на одном или более физическом оборудовании.

[00016] В другом примере, по меньшей мере некоторые из перечисленных выше серверных функций могут быть выполнены одним или более клиентскими устройствами 130. В определенных реализациях, клиентское устройство 130 может выполнять по меньшей мере подмножество своих функций, не будучи подключенным к серверу 110. Этот режим обработки также называется автономным (офлайновым) клиентским рабочим режимом.

[00017] Некоторые из перечисленных выше функций, такие как, например, обработка клиентских запросов, балансирование загрузки, аутентификация клиентов, авторизация, хранение и извлечение календарных записей, формирование счетов могут рассматриваться как имеющие отношение к функциональным возможностям сервера. Другие функции, такие как, например, прием ввода пользователя и/или визуализация информации в календарном и/или блокнотном представлениях могут рассматриваться как имеющие отношение к функциональным возможностям клиента. Однако, в определенных реализациях, календарная система 1000 может включать один или более компьютеров, выполняющих по меньшей мере некоторые функциональные возможности сервера, имеющие отношение к функциональным возможностям сервера, и по меньшей мере некоторые функции, имеющие отношение к функциональным возможностям клиента. Следовательно, обозначение функциональных возможностей клиента и сервера, о чем может быть ссылка в материалах настоящей заявки, предназначено для целей иллюстрации, не касаясь работы компонентов компьютерной системы 1000.

[00018] В одном примере, компьютерная система 1000 может поддерживать модель данных, содержащую календарные записи и заметки, как схематично проиллюстрировано на Фиг. 2. Календарная запись может быть представлена структурой данных 210, содержащей идентификатор 212 и время 214. В определенных реализациях, идентификатор 212 может быть образован с помощью удобочитаемой для человека последовательности буквенно-цифровых символов, содержащей заголовок и/или описание календарной записи. Альтернативно, идентификатор календарной записи может быть образован с помощью буквенно-цифрового или не буквенно-цифрового идентификатора, который не предназначен быть удобочитаемым для человека.

[00019] В определенных реализациях, время 214 может быть представлено временем начала события, определяемым по календарной записи и длительности события. Альтернативно, время 214 может быть представлено временем начала и временем окончания события. Время начала и/или время окончания события может быть представлено датой (например, содержащей день, месяц и год) и временем суток (например, содержащим часы, минуты и секунды). Время 214 может дополнительно содержать идентификатор часового пояса.

[00020] Структура данных 210 может дополнительно содержать заголовок 216, описание 218, местоположение 220, идентификатор инициатора 222 события, определяемого по календарной записи, список участников 224 события, повторяющийся график 226 и/или другие поля. В определенных реализациях, структура данных 210 может содержать тип идентификатора 211 календарной записи. Примеры календарных записей, представляемые структурой данных 210, могут включать встречи, приглашения на встречу, напоминания и т.д. В определенных реализациях, структура данных 210 может содержать один или более указателей 228 на наборы данных, которые могут быть названы прикреплениями (вложениями). В одном примере, прикрепление может быть представлено файлом произвольного типа, такого как текст, аудиопоток, видеопоток, фотографическое изображение и т.д.

[00021] Заметка может быть представлена структурой данных 240, содержащей текст заметки 248. В определенных реализациях, структура данных 240 может дополнительно содержать тип идентификатора 241, идентификатор заметки 242, время создания и/или изменения 244 заметки и/или заголовок 246 заметки. Время 244 может быть представлено датой (например, содержащей день, месяц и год) и временем суток (например, содержащим часы, минуты и секунды). Время 244 может дополнительно содержать идентификатор часового пояса.

[00022] В определенных реализациях, структура данных 240 может содержать один или более указателей 250 на наборы данных, которые могут быть названы прикреплениями. В одном примере, прикрепление может быть представлено файлом произвольного типа, такого как текст, аудиопоток, видеопоток, фотографическое изображение и т.д.

[00023] В определенных реализациях, компьютерная система 1000 может хранить структуры данных, описанные выше, в реляционной базе данных, находящейся на одном или более компьютерах, включая один или более серверов 110 и/или одно или более клиентских устройств 130. В определенных реализациях, другие способы хранения модели данных, описанной выше, например, иерархическая база данных или один или более плоских файлов, могут быть применены компьютерной системой 1000 для хранения календарных данных, согласно описанной выше модели данных.

[00024] В определенных реализациях, компьютерная система 1000 может хранить пользовательский каталог, связанный с календарной системой в сервере каталогов, таком как сервер с облегченным протоколом доступа к каталогам (LDAP). В определенных реализациях, другие способы хранения пользовательского каталога, включая, например, собственный пользовательский каталог, предоставляемый операционной системой сервера 110, могут быть применены компьютерной системой 1000.

[00025] Компьютерная система 1000, выполняющая календарное приложение, может принимать один или более входных потоков через один или более входных интерфейсов клиентского устройства 130. В одном примере, компьютерная система 1000 может принимать, через клавиатуру и/или сенсорный экран клиентского устройства 130, текст ввода пользователя, содержащий последовательность буквенно-цифровых и не буквенно-цифровых символов. В другом примере, компьютерная система 1000 может принимать, через микрофон клиентского устройства 130, речевой поток, и затем преобразовывать речевой ввод в текст. В дополнительном примере, компьютерная система 1000 может принимать, через видеокамеру клиентского устройства 130, видеопоток, и затем преобразовывать видеопоток в текст. В дополнительном примере, компьютерная система 1000 может получать, через устройство формирования изображения, изображение объекта, сфокусированное линзами формирования изображения устройства формирования изображения, и затем преобразовывать изображение в текст. В определенных реализациях, компьютерная система 1000 может получать входные данные любых перечисленных выше или других типов через сетевой интерфейс.

[00026] Компьютерная система 1000 может затем обрабатывать входные потоки для создания последовательности символов, представляющей элемент входных данных, такой как календарная запись или заметка. В определенных реализациях, входящий текст может быть разделен на два или более элементов входных данных, основываясь на одном или более предварительно определенных символах, найденных в тексте. Например, разделитель, указывающий на границу элемента входных данных, может быть представлен знаком препинания, таким как запятая (,). В другом примере, разделитель может быть представлен двумя или более символами, такими как запятая, за которой следует управляющий символ "красная строка", две последовательные запятые или два последовательных управляющих символа "красная строка".

[00027] В определенных реализациях, входной поток может быть разделен на два или более элементов входных данных до преобразования этих элементов в текст. В одном примере, видеопоток, содержащий изображения объектов, несущих рукописный и/или набранный текст, может быть разделен на два или более элементов входных данных, причем каждый элемент содержит изображение одного текста несущего объекта. В другом примере, фотографическое изображение, которое несет объект, может быть разделено на два или более изображений, основываясь на двух или более отличительных графических разделителях, найденных в изображении, таких как линии и формы, визуально разделяющие текст на несколько частей. В дополнительном примере, аудиопоток может быть разделен на две или более частей, основываясь на двух или более отличительных аудиоразделителях, найденных в аудиопотоке (например, предварительно определенный звук, включая слышимые и не слышимые звуки; предварительно определенная фраза; или фрагмент молчания с длительностью, превышающей предварительно определенный порог).

[00028] Компьютерная система 1000 может затем разобрать (проанализировать) элементы входных данных, чтобы определить, содержит ли элемент входных данных временную ссылку, и, следовательно, может ли элемент входных данных быть классифицирован как представляющий календарную запись или заметку. Компьютерная система 1000 может применять различные способы разбора элементов входных данных. В одном примере, компьютерная система 1000 может хранить один или более форматов, таких как, например, ММ/ДД/ГГ, ММ/ДД/ГГГГ и/или ММ/ДД/ГГГГ чч:мм:сс. Каждая строка формата может включать одно или более текстовых полей и один или более разделительных символов. Текстовому полю может быть предписано хранение определенного количества символов из предварительно определенного алфавита, и оно может представлять предварительно определенную часть данных и/или времени (например, поле ММ может содержать две цифры или может представлять месяц). В ответ на установление того, что часть входящего текста совпадает с предварительно определенным форматом времени, компьютерная система 1000 может декодировать временную ссылку, основываясь на идентифицированном формате, и сохраняет временную ссылку в структуру данных времени.

[00029] В одном примере, структура данных времени может содержать дату (например, включая день, месяц и год) и время суток (например, включая часы, минуты и секунды). Альтернативно, структура данных времени может быть представлена временной переменной типа POSIX (Portable Operating System for unIX - интерфейс переносимой операционной системы для Unix), содержащей поле целых чисел, содержащее количество секунд, прошедших после предварительно определенного времени в прошлом (например, полночь 1 января 1970). В определенных реализациях, структура данных времени может дополнительно содержать идентификатор часового пояса. Альтернативно, все значения времени могут быть сохранены компьютерной системой 1000 в предварительно определенном часовом поясе, таком как, например, Всемирное Координированное Время (UTC).

[00030] В одном примере, компьютерная система 1000 может обнаруживать относительные временные ссылки, представленные одной или более предварительно определенными лексемами, указывающими день относительно текущего времени, такими как, например, сегодня, завтра и т.д. В другом примере, компьютерная система 1000 может определять относительные временные ссылки, которые могут быть представлены одной или более предварительно определенными лексемами, указывающими время суток, такими как, например, утро, день, вечер, ночь и т.д. В другом примере, компьютерная система 1000 может определять относительные временные ссылки, которые могут быть представлены одной или более предварительно определенными лексемами, указывающими день недели, такими как, например, воскресенье, понедельник, вторник и т.д.

[00031] В определенных реализациях, компьютерная система 1000 может преобразовывать неточную относительную текстовую временную ссылку в структуру данных времени, применяя одно или более предварительно определенных правил преобразования и/или параметров конфигурации, устанавливая соответствие между неточными временными ссылками и временем, таким как, например, "после обеда", "конец рабочего дня", "конец дня" и т.д.

[00032] В определенных реализациях, компьютерная система 1000 может определять один или более естественных языков, использованных во входном потоке. Альтернативно, один или более естественных языков, использованных во входном потоке, могут быть заданы как параметры конфигурации компьютерной системы 1000.

[00033] Как отмечено выше в материалах настоящей заявки, в ответ на определение того, что элемент входных данных содержит временную ссылку, компьютерная система 1000 может классифицировать элемент входных данных как представляющий календарную запись, и сохраняет в структуре данных календарной записи время, определенное по временной ссылке, вместе с нулем или более необязательных полей, как более подробно описано ниже в материалах настоящей заявки. В ответ на определение того, что элемент входных данных не содержит временную ссылку, компьютерная система 1000 может классифицировать элемент входных данных как представляющий заметку, и сохраняет в структуре данных заметки по меньшей мере часть текста элемента входных данных вместе с другими необязательными полями, включая текущее время и один или более указателей на прикрепления.

[00034] В определенных реализациях, компьютерная система 1000 может обрабатывать элемент входных данных, определенный как представляющий календарную запись, для извлечения одного или более элементов календарной записи, таких как, например, тип идентификатора, заголовок, описание, местоположение события, идентифицированного по календарной записи, инициатор события, список участников события, повторяющийся график события и/или одно или более прикреплений.

[00035] Поле типа идентификатора может быть представлено числовым или строковым значением, определяющим тип календарной записи, например, встречи, приглашения на встречу, напоминания и т.д. Поле заголовка может быть представлено буквенно-цифровой строкой, содержащей удобочитаемый для человека идентификатор события, на который ссылается календарная запись, такой как, например, "Встреча о статусе проекта", "Деловой обед" и т.д. Поле описания может быть представлено буквенно-цифровой строкой, содержащей удобочитаемую для человека информацию, связанную с событием, такую как, например, повестка встречи. Поле местоположения может быть представлено буквенно-цифровой строкой, содержащей удобочитаемое для человека описание места события, такое как, например, "Конференц-зал 100". В определенных реализациях, поле местоположения может быть представлено идентификатором структуры данных во внешней системе, такой как система управления офисным помещением. Поле инициатора события может быть представлено буквенно-цифровой строкой, содержащей идентификатор человека, инициировавшего событие (такой как, например, председатель собрания). В определенных реализациях, поле инициатора события может быть представлено идентификатором структуры данных во внешней системе, такой как пользовательский каталог (например, каталог LDAP). Список участников может быть представлен списком буквенно-цифровых строк, содержащих идентификаторы участников события (такие как, например, участники собрания). В определенных реализациях, идентификатор участника события может быть представлен идентификатором структуры данных во внешней системе, такой как пользовательский каталог (например, каталог LDAP). Поле повторяющегося графика может быть представлено списком дат и времен событий и/или одним или более атрибутами повторения (например, еженедельно, ежемесячно, и т.д.). Прикрепление может быть представлено файлом произвольного типа, такого как текст, аудиопоток, видеопоток, фотографическое изображение и т.д.

[00036] После получения команды пользовательского интерфейса компьютерная система 1000 может визуализировать на клиентском устройстве одну или более календарных записей и/или заметок с помощью различных представлений, включая, например, календарное представление и блокнотное представление.

[00037] Календарное представление может содержать одну или более календарных записей, визуализируемых на экране с визуальными ссылками на один или более индикаторов времени. В одном примере, как схематично проиллюстрировано на Фиг. 3a, календарное представление 300 может содержать одно или более недельных представлений 310. Недельное представление 310 может содержать до семи визуально отделенных областей экрана, соответствующих дням недели (дневные представления 312). Каждое дневное представление может быть визуально разделено на несколько областей экрана 314, соответствующих времени суток. Одно или более значений времени суток могут быть размещены в дневном представлении. Одна или более календарных записей 316 могут быть показаны в дневном представлении 312. В другом примере, как схематично проиллюстрировано на Фиг. 3b, календарное представление 300 может содержать одно или более месячных представлений 320. Месячное представление 320 может содержать множество недельных представлений 310. Недельное представление 310 может содержать до семи визуально отделенных областей экрана, соответствующих дням недели (дневные представления 312). Каждое дневное представление может быть визуально разделено на несколько областей экрана 314, соответствующих времени суток. Одно или более значений времени суток могут быть размещены в дневном представлении. Одна или более календарных записей 316 могут быть показаны в дневном представлении 312. В дополнительном примере, календарное представление может содержать квартальное представление, годовое представление и/или другие представления.

[00038] Блокнотное представление может содержать одну или более заметок, визуализируемых на экране. В одном примере, как схематично проиллюстрировано на Фиг. 4a, одна или более заметок 410, визуализируемых в блокнотном представлении 400, могут быть отсортированы в алфавитном порядке по заголовку/теме. В другом примере, как схематично проиллюстрировано на Фиг. 4b, одна или более заметок, визуализируемых в блокнотном представлении 400, могут быть отсортированы в хронологическом порядке по дате времени создания или изменения заметки.

[00039] В определенных реализациях, компьютерная система 1000 может визуализировать одно или более календарных событий и одну или более заметок в смешанном представлении, например, выбирая и/или сортируя календарные события и заметки по заголовку, ключевому слову, автору, и/или дате и времени создания или изменения календарного события или заметки.

[00040] В определенных реализациях, компьютерная система 1000 может принимать ввод пользователя, редактирующий существующую календарную запись или существующую заметку. В одном примере, в ответ на прием ввода пользователя, редактирующего заметку, компьютерная система 1000 может определить, что недавно добавленный текст содержит временную ссылку. После такого определения компьютерная система 1000 может преобразовать заметку в календарную запись, и сохраняет в структуре данных календарной записи время, идентифицированное по временной ссылке, вместе с нулем или более необязательных полей, как более подробно описано выше в материалах настоящей заявки.

[00041] Фиг. 5 изображает блок-схему одного варианта осуществления способа 500 для обработки входного потока календарных приложений. Способ 500 может выполняться компьютерной системой, которая может содержать аппаратные средства (например, схема, нестандартная логика и/или программируемая логика), программное обеспечение (например, команды, исполняемые компьютерной системой для выполнения аппаратного моделирования) или любой их комбинацией. Способ 500 и/или каждая из его отдельных функций, программ, подпрограмм или операций может быть выполнена одним или более физическими процессорами компьютерной системы, исполняющей способ. Две или более функции, программы, подпрограммы или операции способа 500 могут быть выполнены параллельно или в порядке, который может отличаться от порядка, описанного выше.

[00042] Обработка может начинаться компьютерной системой с приема, в блоке 510, входного потока через один или более входных интерфейсов клиентского устройства. В одном примере, компьютерная система может принимать, через клавиатуру и/или сенсорный экран клиентского устройства, текст ввода пользователя, содержащий последовательность буквенно-цифровых и не буквенно-цифровых символов. В другом примере, компьютерная система может принимать, через микрофон клиентского устройства, речевой поток. В дополнительном примере, компьютерная система может принимать, через видеокамеру клиентского устройства, видеопоток. В дополнительном примере, компьютерная система может получать, через устройство формирования изображения, изображение объекта, сфокусированное линзами формирования изображения устройства формирования изображения. В определенных реализациях, компьютерная система может получать входные данные любых перечисленных выше или других типов через сетевой интерфейс.

[00043] В блоке 520 компьютерная система может обрабатывать входные потоки для создания последовательности символов, представляющей элемент входных данных, такой как календарная запись или заметка. Как отмечено выше в материалах настоящей заявки, один или более нетекстовых входных потоков могут быть преобразованы в текст. Входной поток может быть разделен на два или более элементов входных данных, основываясь на одном или более предварительно определенных текстовых, графических и/или других типах разделителей.

[00044] В ответ на определение в блоке 530 того, что элемент входных данных содержит временную ссылку, компьютерная система может продолжить обработку в блоке 540; иначе способ может ответвиться в блок 550.

[00045] В блоке 540 компьютерная система может создавать и сохранять в своей памяти новую календарную запись, используя структуру данных календарной записи. Календарная запись может содержать идентификатор времени, на которое ссылается временная ссылка. В определенных реализациях, компьютерная система может дополнительно обрабатывать элемент входных данных, определенный как представляющий календарную запись, для извлечения одного или более элементов, таких как, например, тип идентификатора, заголовок, описание, местоположение события, идентифицированного по календарной записи, инициатор события, список участников события, повторяющийся график события и/или одно или более прикреплений, как более подробно описано выше в материалах настоящей заявки.

[00046] В блоке 550 компьютерная система может создавать и сохранять в своей памяти новую заметку, используя структуру данных заметки. Заметка может содержать по меньшей мере часть текста элемента входных данных. В определенных реализациях, компьютерная система может дополнительно обрабатывать элемент входных данных, определенный как представляющий заметку, для извлечения одного или более элементов, таких как, например, заголовок, тема и/или одно или более прикреплений, как более подробно описано выше в материалах настоящей заявки.

[00047] В блоке 560 компьютерная система может получать ввод пользователя, выбирающего календарное или блокнотное представление для визуализации одной или более календарных записей или заметок.

[00048] В блоке 570 компьютерная система может визуализировать календарное представление, как более подробно описано выше в материалах настоящей заявки. В блоке 580 компьютерная система может визуализировать блокнотное представление, как более подробно описано выше в материалах настоящей заявки. В ответ на завершение операций, на которые ссылаются блоки 570 или 580, способ может завершиться.

[00049] Фиг. 6 изображает пример компьютерной системы 100, способной к исполнению команд, заставляющих компьютер выполнять один или более способов, описанных в материалах настоящей заявки. В определенных вариантах осуществления, компьютерная система 100 может соответствовать одному или более серверам 110 и/или клиентским устройствам на Фиг. 1.

[00050] В определенных вариантах осуществления, компьютерная система 100 может быть подключена (например, через сеть, такую как локальная сеть (LAN), интранет, экстранет или Интернет) к другим компьютерным системам. Компьютерная система 100 может работать на производственных мощностях сервера или клиентского компьютера в клиент-серверной среде, или как одноранговый компьютер в одноранговой или распределенной сетевой среде. Компьютерная система 100 может быть представлена персональным компьютером (ПК), планшетным ПК, телевизионной приставкой (STB), персональным цифровым ассистентом (PDA), сотовым телефоном, сетевым устройством, сервером, сетевым маршрутизатором, коммутатором или мостом или любым устройством, способным исполнять набор команд (последовательных или других), который задает действия, выполняемые этим устройством.

[00051] В дополнительном аспекте, компьютерная система 100 может включать в себя процессор 1002, энергозависимую память 1004 (например, оперативное запоминающее устройство (ОЗУ)), энергонезависимую память 1006 (например, постоянное запоминающее устройство (ПЗУ) или электрически стираемое программируемое ПЗУ (ЭСППЗУ, EEPROM)) и вспомогательную память 1016 (например, устройство хранения данных), которые могут обмениваться данными друг с другом через мост 1008. Процессор 1002 может быть представлен одним или более процессорами, такими как процессор общего назначения (такой как, например, микропроцессор с полным набором команд (CISC), микропроцессор с сокращенным набором команд (RISC), микропроцессор с командными словами очень большой длины (VLIW), процессор, реализующий другие типы наборов команд) или специализированный процессор (такой как, например, специализированная интегральная схема (ASIC), программируемая вентильная матрица (FPGA), цифровой сигнальный процессор (DSP) или сетевой процессор).

[00052] Компьютерная система 100 дополнительно может включать в себя устройство 1022 сетевого интерфейса. Компьютерная система 100 также может включать в себя устройство 1010 отображения видео (например, жидкокристаллический дисплей, LCD), устройство буквенно-цифрового ввода 1012 (например, клавиатура), указательное устройство 1014 (например, мышь) и устройство звукового вывода 1020 (например, динамик).

[00053] Вспомогательная память 1016 может включать в себя некратковременный компьютерно-читаемый запоминающий носитель 1024, на котором могут быть сохранены команды календарного приложения 120, 125. Команды календарного приложения 120, 125 могут также находиться, полностью или частично, в основной памяти 1004 и/или в процессоре 1002 во время исполнения их компьютерной системой 1000, следовательно, основная память 1004 и процессор 1002 могут также составлять компьютерно-читаемый запоминающий носитель. Хотя компьютерно-читаемый запоминающий носитель 1024 показан в иллюстративном варианте осуществления как одиночный носитель, термин "компьютерно-читаемый запоминающий носитель" должен включать в себя одиночный носитель или множество носителей (например, централизованная или распределенная база данных и/или ассоциированные кэши и серверы), которые хранят один или более наборов исполняемых команд. Термин "компьютерно-читаемый запоминающий носитель" должен также включать любые некратковременные носители, которые способны сохранять или декодировать набор команд для выполнения компьютером, предписывающий компьютеру выполнять любой из одного или более способов, описанных в материалах настоящей заявки. Термин "компьютерно-читаемый запоминающий носитель" должен включать в себя, но не ограничиваться, твердотельную память, оптические носители и магнитные носители.

[00054] Способы, компоненты и признаки, описанные в материалах настоящей заявки, могут быть реализованы дискретными аппаратными компонентами или могу быть интегрированы с функциональными возможностями других аппаратных компонентов, таких как ASIC, FPGA, DSP или подобные устройства. Кроме того, способы, компоненты и признаки могут быть реализованы программно-аппаратными модулями или функциональной схемой в аппаратных устройствах. Также способы, компоненты и признаки могут быть реализованы любой комбинацией аппаратных устройств и программных компонентов, или только в программном обеспечении.

[00055] Если особым образом не заявлено иное, термины, такие как "обновление", "идентификация", "определение", "отправка", "назначение", или тому подобное, указывают на действия и операции, выполняемые или реализуемые компьютерными системами, которые манипулируют и преобразуют данные, представленные как физические (электронные) величины в регистрах и памяти компьютерной системы, в другие данные, подобным образом представленные как физические величины в памяти или регистрах компьютерной системы, или других устройствах хранения, передачи или отображения такой информации.

[00056] Варианты осуществления, описанные в материалах настоящей заявки, также относятся к устройству для выполнения способов, описанных в материалах настоящей заявки. Это устройство может быть специально сконструировано для требуемых целей, или оно может содержать компьютер общего назначения, выборочно запрограммированный компьютерной программой, сохраненной в компьютерной системе. Такая компьютерная программа может храниться на компьютерно-читаемом некратковременном запоминающем носителе.

[00057] Способы и иллюстративные примеры, описанные в материалах настоящей заявки, не присущи какому бы то ни было конкретному компьютеру или другому устройству. Различные системы общего назначения могут быть использованы в соответствии с концепциями, описанными в материалах настоящей заявки, или может оказаться удобным конструировать более специализированные устройства для выполнения требуемых функций, программ, подпрограмм или операций способа. Требуемая конструкция для многообразия этих систем будет ясна в соответствии с вышеприведенным описанием.

[00058] Вышеприведенное описание направлено на то, чтобы быть иллюстративным, а не ограничивающим. Хотя настоящее раскрытие было описано со ссылками на конкретные иллюстративные примеры и варианты осуществления, следует понимать, что настоящее раскрытие не ограничено описанными вариантами осуществления. Объем раскрытия следует определять со ссылкой на последующую формулу изобретения, наряду с полным объемом эквивалентов, к которым относится формула изобретения.

1. Способ обработки входных потоков календарных приложений, содержащий:

прием компьютерной системой первого входного потока, содержащего по меньшей мере одно из: текстового потока, изображения, видеопотока или аудиопотока;

обработку первого входного потока для создания первой последовательности символов;

в ответ на определение того, что первая последовательность символов не содержит временных ссылок, сохранение заметки, содержащей по меньшей мере часть первой последовательности символов, в первой структуре данных первого типа;

прием второго входного потока, изменяющего упомянутую заметку;

обработку второго входного потока для создания второй последовательности символов;

в ответ на определение того, что вторая последовательность символов содержит временную ссылку, преобразование упомянутой заметки в календарную запись;

сохранение упомянутой календарной записи, содержащей идентификатор времени, на которое ссылается временная ссылка, во второй структуре данных второго типа.

2. Способ по п. 1, дополнительно содержащий:

разбор второй последовательности символов для создания одного или более элементов данных, представляющих по меньшей мере одно из: типа идентификатора календарной записи, заголовка календарной записи, описания календарной записи, местоположения события, идентифицированного по календарной записи, идентификатора инициатора события, идентифицированного по календарной записи, списка участников события, идентифицированного по календарной записи; и

сохранение одного или более элементов данных во второй структуре данных.

3. Способ по п. 1, дополнительно содержащий сохранение указателя на прикрепление в по меньшей мере одной из: первой структуры данных или второй структуры данных.

4. Способ по п. 1, дополнительно содержащий сохранение текущего времени в по меньшей мере одной из: первой структуры данных или второй структуры данных.

5. Способ по п. 1, в котором временная ссылка содержит по меньшей мере одно из: даты, часа, минуты, секунды и идентификатора часового пояса.

6. Способ по п. 1, в котором временная ссылка содержит по меньшей мере одно из: времени начала события, идентифицированного по календарной записи, времени окончания события, идентифицированного по календарной записи, или длительности события, идентифицированной по календарной записи.

7. Способ по п. 1, в котором временная ссылка содержит по меньшей мере одно из: абсолютной временной ссылки или относительной временной ссылки.

8. Способ по п. 1, в котором обработка входного изображения содержит преобразование изображения в последовательность символов.

9. Способ по п. 1, дополнительно содержащий визуализацию по меньшей мере одного из по меньшей мере части первой структуры данных или по меньшей мере части второй структуры данных в одном из: календарного представления или блокнотного представления.

10. Способ по п. 9, в котором визуализация содержит визуализацию по меньшей мере части первой структуры данных с графической ссылкой на индикатор времени.

11. Система для обработки входных потоков календарных приложений, содержащая:

память; и

процессор, присоединенный к памяти, причем процессор сконфигурирован для:

приема первого входного потока, содержащего по меньшей мере одно из: текстового потока, изображения, видеопотока или аудиопотока;

обработки первого входного потока для создания последовательности символов;

в ответ на определение того, что первая последовательность символов не содержит временных ссылок, сохранения заметки, содержащей по меньшей мере часть первой последовательности символов, в первой структуре данных первого типа;

приема второго входного потока, изменяющего упомянутую заметку;

обработки второго входного потока для создания второй последовательности символов;

в ответ на определение того, что вторая последовательность символов содержит временную ссылку, преобразования упомянутой заметки в календарную запись;

сохранения упомянутой календарной записи, содержащей идентификатор времени, на которое ссылается временная ссылка, во второй структуре данных второго типа.

12. Система по п. 11, в которой процессор дополнительно сконфигурирован для:

разбора второй последовательности символов для создания одного или более элементов данных, представляющих по меньшей мере одно из: типа идентификатора календарной записи, заголовка календарной записи, описания календарной записи, местоположения события, идентифицированного по календарной записи, идентификатора инициатора события, идентифицированного по календарной записи, списка участников события, идентифицированного по календарной записи; и

сохранения одного или более элементов данных во второй структуре данных.

13. Система по п. 11, в которой процессор дополнительно сконфигурирован для визуализации по меньшей мере одного из по меньшей мере части первой структуры данных или по меньшей мере части второй структуры данных в одном из: календарного представления или блокнотного представления.

14. Компьютерно-читаемый запоминающий носитель, содержащий исполняемые команды, которые, при исполнении компьютерной системой, предписывают компьютерной системе:

принимать первый входной поток, содержащий по меньшей мере одно из: текстового потока, изображения, видеопотока или аудиопотока;

обрабатывать первый входной поток для создания первой последовательности символов;

в ответ на определение того, что первая последовательность символов не содержит временных ссылок, сохранять заметку, содержащую по меньшей мере часть первой последовательности символов, в первой структуре данных первого типа;

принимать второй входной поток, изменяющий упомянутую заметку;

обрабатывать второй входной поток для создания второй последовательности символов;

в ответ на определение того, что вторая последовательность символов содержит временную ссылку, преобразовывать упомянутую заметку в календарную запись;

сохранять упомянутую календарную запись, содержащую идентификатор времени, на которое ссылается временная ссылка, во второй структуре данных второго типа.

15. Компьютерно-читаемый запоминающий носитель по п. 14, дополнительно содержащий исполняемые команды, предписывающие компьютерной системе:

разбирать вторую последовательность символов для создания одного или более элементов данных, представляющих по меньшей мере одно из: типа идентификатора календарной записи, заголовка календарной записи, описания календарной записи, местоположения события, идентифицированного по календарной записи, идентификатора инициатора события, идентифицированного по календарной записи, списка участников события, идентифицированного по календарной записи; и

сохранять один или более элементов данных во второй структуре данных.

16. Компьютерно-читаемый запоминающий носитель по п. 14, дополнительно содержащий исполняемые команды, предписывающие компьютерной системе:

сохранять указатель на прикрепление в по меньшей мере одной из: первой структуры данных или второй структуры данных.

17. Компьютерно-читаемый запоминающий носитель по п. 14, в котором обработка входного изображения содержит преобразование изображения в последовательность символов.

18. Компьютерно-читаемый запоминающий носитель по п. 14, дополнительно содержащий исполняемые команды, предписывающие компьютерной системе:

визуализировать по меньшей мере одно из по меньшей мере части первой структуры данных или по меньшей мере части второй структуры данных в одном из: календарного представления или блокнотного представления.



 

Похожие патенты:

Изобретение относится к управлению административной связью между учетной записью и устройством. Технический результат – повышение эффективности установления административной связи между устройством и учетными записями.

Изобретение относится к области аутентификации пользователей. Технический результат – эффективное управление безопасностью вычислительных ресурсов.

Изобретение относится к вычислительным комплексам и может быть использовано для параллельной обработки больших объемов информации от специальных систем в режиме реального времени.

Изобретение относится к области обработки цифровых данных и заключается в использовании в составе кодовой комбинации кодограммы передаваемых данных разрядов кода времени.

Изобретение относится к области обработки промежуточных данных, полученных в ходе выполнения компьютерной программы. Техническим результатом является повышение надежности восстановления работы любых последующих экземпляров программы с сохранением всех переменных в памяти перед прерыванием работы первого экземпляра программы.

Изобретение относится к лабораторному оборудованию и может быть использовано в учебном процессе при получении слушателями и курсантами военных академий знаний по управлению войсками.

Изобретение относится к области обмена данными между клиентским устройством и сервером. Техническим результатом является оптимизированный обмен данными между клиентским устройством и серверным устройством.

Изобретение относится к области доставки контента. Техническим результатом является создание усовершенствованной серверной технологии кэширования, посредством которой повышается производительность приложений-клиентов при получении контента из сети, особенно при наличии ограниченной ширины полосы пропускания.

Изобретение относится к технологиям загрузки фрагментов изображения на клиентское устройство. Техническим результатом является обеспечение экономии ресурсов памяти при отображении и отрисовке фрагментов изображения за счет осуществления замены областей просмотра.

Группа изобретений относится к области управления и может быть использована для обеспечения пользовательского интерфейса (UI) для управления домашними устройствами.

Изобретение относится к системам и для предоставления информации пользователю. Технический результат заключается в обеспечении предоставления информации из разных источников. Система содержит по меньшей мере один сервер, включающий в себя процессор компьютера, интерфейс связи, функционально соединенный с процессором компьютера, структурированный и выполненный с возможностью связи с клиентским устройством, постоянный носитель компьютерной информации, функционально соединенный с процессором компьютера и содержащий инструкции, при выполнении которых процессором компьютера осуществляется получение по меньшей мере одним сервером от клиентского устройства с помощью браузера указания на сетевой ресурс для предоставления клиентскому устройству, при этом при выполнении инструкций процессором компьютера осуществляется отправка по меньшей мере одним сервером клиентскому устройству информации, а по меньшей мере один сервер представляет собой первый сервер, и носитель информации дополнительно хранит инструкции, при выполнении которых процессором компьютера осуществляется отправка на клиентское устройство вторым сервером информации от иного источника, не связанного с сервером, с которого получен сетевой ресурс, для отображения в адресной строке браузера. 2 н. и 35 з.п. ф-лы, 9 ил.

Изобретение относится к технологиям сетевой связи. Технический результат заключается в повышении уровня надежности функционирования сети. В способе на ВУ вычислительной сети формируют единое, централизованное, защищенное хранилище данных, доступное с любого узла вычислительной сети, сохраняют в централизованном хранилище адресную информацию и данные об информационном обмене между ВУ, записывают всю совокупность ссылок ДатаМаркет в централизованное защищенное хранилище данных, выделяют из имеющейся совокупности ВУ узел вычислительной сети в котором размещают информацию о полномочиях и правах доступа должностных лиц, выделяют также в вычислительной сети по меньшей мере один узел вычислительной сети для выполнения функции сервера приложений, с возможностью удаленного использования имеющихся на нем программных и аппаратных ресурсов и фиксируют на нем регистрационную информацию. 3 ил.

Изобретение относится к вычислительной технике. Технический результат - повышение производительности и энергоэффективности. Для этого предложена фотонная вычислительная машина (ФВМ), которая включает процессорный элемент, содержащий вычислительный модуль, соединенный через оптический коммутатор с устройством ввода/вывода, и содержит источник лазерного излучения, более одного процессорных элементов, соединенных через первую группу входов-выходов оптических коммутаторов оптическими двунаправленными каналами связи в распределенную мультипроцессорную вычислительную систему и подключенных через их вторую группу входов-выходов оптическими двунаправленными каналами связи к одним входам-выходам устройства ввода/вывода, первый из других входов-выходов которого соединен двунаправленным оптическим каналом связи с первым входом-выходом источника лазерного излучения, а второй из других входов-выходов устройства ввода/вывода соединен двунаправленным электронным каналом связи с первым входом-выходом устройства преобразования вычислительного задания в программу для ФВМ, второй вход-выход которого соединен со вторым входом-выходом источника лазерного излучения. 15 ил.

Изобретение относится к вычислительной технике и может быть использовано в вычислительных системах различного назначения для передачи информации между различными частями распределенных вычислительных систем. Технический результат, достигаемый при реализации разработанного устройства, состоит в том, что использование высокоскоростного интерфейса PCI-E для обмена данными с управляющим микропроцессором и памятью, содержащей задания, позволяет гибко изменять циклограмму работы без прерывания обмена по мультиплексному каналу, при этом управление и инициализация устройства происходит путем записи во внутренние управляющие регистры и также может происходить без прерывания работы. Для этого предложен адаптер, который содержит шину PCI-E и шину AXI, соединенные посредством моста AXI-PCI-E, а также от 4 до 8 каналов шины магистрального последовательного интерфейса с централизованным управлением, каждый из которых выполнен с возможностью одновременно выступать в качестве контроллера шины, оконечного устройства и монитора шины. 1 ил.

Изобретение относится к способу оценки эффективности функционирования автоматизированных систем управления (АСУ). Технический результат заключается в расширении функциональных возможностей способа оценки эффективности AСУ за счет добавления в него процесса моделирования воздействия вредоносных программ на структурные элементы АСУ. Способ включает в себя выбор стратегии оценки эффективности управления; моделирование воздействие вредоносных программ на структурные элементы (СЭ) АСУ, которые осуществляют прием, хранение, обработку, выдачу и отображение информации, путем внедрения образцов вредоносного кода в память этих СЭ АСУ с помощью устройства моделирования воздействия вредоносных программ, на основе информации об уязвимостях программного и аппаратного обеспечения СЭ АСУ, полученной из запоминающего устройства (ЗУ) уязвимостей, ЗУ весовых коэффициентов, соответствующих критичности каждой уязвимости и ЗУ образцов вредоносного кода; затем автоматически считывают информацию с датчиков через преобразователи и записывают ее в ЗУ считанной информации терминального сервера, в котором преобразуют эту информацию к виду, удобному для текущей оценки, а затем оценивают ее по программе оценки эффективности управления. 1 ил., 1 табл.

Изобретение относится к средствам автоматического обмена сигналами. Технический результат заключается в расширении арсенала технических средств за счет реализации средств автоматического обмена сигналами. Результат достигается при реализации способа автоматического обмена сигналами между несколькими встроенными процессорными платами. Способ предусматривает этапы: разделение процессорных плат в распределенной системе, где плата ЦП с функцией сигнала управления используется в качестве ведущей платы, а остальные процессорные платы используются в качестве ведомых плат; и при инициализации каждая ведомая плата посылает сигнал регистрации информации на ведущую плату; которая представлена соединяющей линией между именами сигналов, расчет и назначение адреса шины передачи данных, к которым привязываются выходной и входной сигналы, и отправка записанных адресов, типов данных и адресов шины сигналов на каждую ведомую плату; сохраняют те же данные как таблицы выходных и входных сигналов, записывание значения выходного сигнала в соответствующей выделенной адресной шине в соответствии с таблицами выходных сигналов и считывание получателем значения входного сигнала из соответствующей адресной шины в соответствии с таблицами входных сигналов. 2 н. и 10 з.п. ф-лы, 6 ил.

Изобретение относится к области распределения контента. Технический результат направлен на обеспечение распределения контента с множеством средств просмотра и с сохранением полосы пропускания сети. Способ содержит прием видеопрограммы и отправку информации, относящейся к видеопрограмме, первым устройством, зарегистрированным в пользовательской учетной записи пользователя в качестве обособленного устройства на сервере, содержит отправку информации местоположения первого устройства и запроса на сервер на видеопрограмму, прием видеопрограммы и информации, относящейся к видеопрограмме, согласно информации местоположения, если расстояние меньше, чем предварительно определенный порог, то не принимают никакой информации, относящейся к видеопрограмме, и информацию принимают посредством второго устройства, причем упомянутое расстояние определяется сервером между первым устройством и вторым устройством, зарегистрированным в качестве переносного устройства в учетной записи, согласно информации местоположения. 3 н. и 21 з.п. ф-лы, 8 ил.

Изобретение относится к области вычислительной техники, в частности к высокопроизводительным вычислительным устройствам для решения трудоемких задач с использованием распараллеливания по данным на множество независимых подзадач. Технический результат заключается в повышении производительности вычислительного модуля. Технический результат достигается за счет устройства, которое содержит интерфейсный блок, блок разделения заданий, блок памяти заголовков заданий, блок памяти данных заданий, арбитр заданий, вычислительное поле из группы из N вычислительных ядер 61, …, 6N, группу из N блоков памяти номеров заданий вычислительных ядер 71, …, 7N, блок мультиплексоров результатов, арбитр результатов, блок памяти заголовков результатов, блок памяти данных результатов, внешний интерфейс, при этом каждое вычислительное ядро 61, …, 6N состоит из входной буферной памяти 6-1, операционного блока 6-2, выходной буферной памяти 6-3 и блока управления 6-4. 1 ил.

Изобретение относится к области вычислительной техники, в частности к высокопроизводительным вычислительным устройствам для решения трудоемких задач с использованием распараллеливания по данным на множество независимых подзадач. Технический результат заключается в повышении производительности вычислительного модуля. Технический результат достигается за счет устройства, которое содержит интерфейсный блок, блок разделения заданий, блок памяти заголовков заданий, блок памяти данных заданий, арбитр заданий, вычислительное поле из группы из N вычислительных ядер 61, …, 6N, группу из N блоков памяти номеров заданий вычислительных ядер 71, …, 7N, блок мультиплексоров результатов, арбитр результатов, блок памяти заголовков результатов, блок памяти данных результатов, внешний интерфейс, при этом каждое вычислительное ядро 61, …, 6N состоит из входной буферной памяти 6-1, операционного блока 6-2, выходной буферной памяти 6-3 и блока управления 6-4. 1 ил.

Изобретение относится к способу и системе для беспроводной передачи информации между устройствами. Технический результат заключается в обеспечении совместного использования информации с использованием внешнего устройства ввода без необходимости подключения между первым и вторым устройствами, даже если размер памяти устройства ввода недостаточен, и достигается за счет того, что способ включает: прием выбора, выполняемого внешним устройством ввода, целевой информации, отображаемой на первом устройстве; извлечение целевой информации, соответствующей выбору, выполняемому внешним устройством ввода; и передачу информации, соответствующей целевой информации, внешнему устройству ввода, причем при передаче информации обнаруживают размер информации, соответствующей целевой информации; если размер информации, соответствующей целевой информации, больше емкости хранилища внешнего устройства ввода, передают только метаданные, соответствующие целевой информации, причем метаданные, соответствующие целевой информации, содержат информацию, используемую для передачи целевой информации от внешнего устройства хранения на второе устройство. 4 н. и 11 з.п. ф-лы, 33 ил.
Наверх