ТЕХНОЛОГИЯ ДЛЯ СОВМЕСТНОГО ИСПОЛЬЗОВАНИЯ ИНФОРМАЦИИ МЕЖДУ ПРИКЛАДНЫМИ ПРОГРАММАМИ
TECHNIQUE FOR SHARING INFORMATION BETWEEN APPLICATIONS

УРОВЕНЬ ТЕХНИКИ
Пользовательская информация может создаваться и обслуживаться при помощи многих разнообразных прикладных программ и систем. В некоторых случаях информация от одной прикладной программы может делаться доступной для другой прикладной программы, по существу становясь совместно используемой информацией. Например, прикладная программа обработки текстов может использоваться для генерирования документа с возможностью обработки текста, содержащего в себе вложенную информацию в форме электронной таблицы, обслуживаемую отдельным приложением для работы с электронными таблицами. По мере того, как в информацию в форме электронной таблицы вносятся изменения, эти изменения автоматически воспроизводятся во вложенной информации в форме электронной таблицы в динамическом режиме. Однако, поскольку совместно используемая информация управляется множественными прикладными программами, обращение к совместно используемой информации из одной или более прикладных программ может быть недейственным или затруднительным с точки зрения пользователя. Следовательно, может иметься потребность в усовершенствованной технологии для действенного и эффективного управления и организации доступа к совместно используемой информации между множественными прикладными программами, чтобы разрешить эти и другие проблемы.
Раскрытие Изобретения
Данный раздел "Раскрытие Изобретения" предусмотрен для представления в упрощенной форме набора концепций, которые дополнительно описываются ниже в разделе "Осуществление Изобретения". Данный раздел "Раскрытие Изобретения" не предназначен для установления ключевых признаков или существенных признаков заявляемого предмета изобретения, а также не предназначен для использования в качестве ограничения объема заявляемого предмета изобретения.
Различные варианты осуществления в целом ориентированы на технологию для совместного использования информации между прикладными программами. Некоторые варианты осуществления, в частности, ориентированы на технологию для организации доступа к информации из одной прикладной программы, которая управляется или обслуживается другой прикладной программой. В одном варианте осуществления, например, устройство, такое как вычислительное устройство или система, может включать в себя первую прикладную программу для создания информации в форме примечаний для оператора или пользователя. Вторая прикладная программа может использоваться для генерирования или отображения целевого элемента. Интерфейсный модуль примечаний может быть выполнен с возможностью сопоставления одного или более примечаний с целевым элементом и отображения визуального индикатора на целевом элементе, указывающего, были ли какие-либо примечания сопоставлены с целевым элементом. Визуальный индикатор или индикаторы могут использоваться для сообщения оператору информации о состоянии. Например, визуальный индикатор может иметь одно состояние для указания, что одно или более примечаний были сопоставлены с целевым элементом, и другое состояние для указания, что никакие примечания не были сопоставлены с целевым элементом. Оператор может использовать визуальный индикатор, чтобы открыть представление примечания при сохранении контекста для второй прикладной программы. Таким образом, оператору может обеспечиваться постоянное взаимодействие с пользователем при доступе к совместно используемой информации или при ее просмотре. Описываются и заявляются другие варианты осуществления.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
Фиг.1 демонстрирует один вариант осуществления вычислительной системы.
Фиг.2 демонстрирует один вариант осуществления совместно используемой информации.
Фиг.3 демонстрирует один вариант осуществления последовательности операций логической процедуры.
Фиг.4 демонстрирует один вариант осуществления архитектуры вычислительной системы.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
Различные варианты осуществления могут содержать один или более элементов. Элемент может содержать любой признак, характеристику, структуру или действие, описываемые применительно к варианту осуществления. Примеры элементов могут включать в себя аппаратные элементы, программные элементы, физические элементы или любую их комбинацию. Несмотря на то что вариант осуществления может описываться с ограниченным числом элементов на примере некоторой конструкции, вариант осуществления может включать в себя большее или меньшее число элементов в альтернативных конструкциях, в зависимости от требований данной реализации. Важно отметить, что какое-либо упоминание "одного варианта осуществления" или "варианта осуществления" необязательно относится к одному и тому же варианту осуществления.
Различные варианты осуществления могут быть направлены на технологию для совершенствования совместного использования информации между множественными прикладными программами. Например, вычислительное устройство может включать в себя первую прикладную программу для создания информации, такой как примечания для оператора, и вторую прикладную программу для генерирования или отображения целевого элемента. В одном варианте осуществления, например, первая и вторая прикладные программы могут быть из комплекта прикладных программ MICROSOFT OFFICE производства Microsoft Corporation, Редмонд, Вашингтон. Пример первой прикладной программы может включать в себя, но не ограничиваться этим, прикладную программу MICROSOFT OFFICE ONENOTE, обычно упоминаемую как MICROSOFT ONENOTE. Пример второй прикладной программы может включать в себя, но не ограничиваться этим, прикладную программу MICROSOFT OFFICE OUTLOOK, обычно упоминаемую как MICROSOFT OUTLOOK.
Различные варианты осуществления могут включать в себя интерфейсный модуль примечаний. Интерфейсный модуль примечаний может выполняться с возможностью управления информацией, используемой совместно между первой и второй прикладными программами или сопоставленной с ними. Например, интерфейс примечаний может выполняться с возможностью сопоставления одного или более примечаний, создаваемых и управляемых MICROSOFT ONENOTE, с целевым элементом из MICROSOFT OUTLOOK, таким как элемент задачи, элемент календаря, элемент контакта, элемент электронной почты, элемент встречи и т.д. Интерфейсный модуль примечаний может отображать на целевом элементе визуальный индикатор, такой как специальная пиктограмма или индикаторный символ, указывающий, были ли какие-либо примечания сопоставлены с целевым элементом. Визуальный индикатор может иметь одно состояние для указания, что одно или более примечаний были сопоставлены с целевым элементом, и другое состояние для указания, что никакие примечания не были сопоставлены с целевым элементом. В результате, оператор может быстро оценивать, требуется ли дополнительное исследование или перемещение, чтобы извлечь примечания для элемента.
Различные варианты осуществления могут сохранять пользовательский контекст или постоянное пользовательское представление для информации, используемой совместно между прикладными программами или сопоставленной с ними. Оператор может использовать визуальный индикатор, например, нажимая на пиктограмму, для открытия представления примечания при сохранении пользовательского контекста для второй прикладной программы. Например, может открываться окно графического интерфейса пользователя (GUI) для отображения примечания. Новое окно GUI может накладываться на окно GUI, используемое для отображения прикладной программы MICROSOFT OUTLOOK или целевого элемента, или могут устанавливаться такие размеры обоих окон, чтобы позволить оператору видеть оба окна на данном экране или устройстве отображения. Таким образом, оператору может обеспечиваться постоянное взаимодействие с пользователем при доступе к совместно используемой информации или при ее просмотре.
m
Фиг.1 демонстрирует структурную схему вычислительной системы 100. Вычислительная система 100 может представлять собой любую вычислительную систему, архитектуру или инфраструктуру, выполненную с возможностью хранения, обработки, обеспечения взаимодействия и иного управления совместно используемыми или сопоставленными информационными процессами или операциями для электронной системы или совокупности электронных систем. Как показано на Фиг.1, один вариант осуществления вычислительной системы 100 может включать в себя вычислительное устройство 102, связанное с одним или более удаленными вычислительными устройствами 108. Вычислительное устройство 102 может содержать два или более прикладных модуля 104-1-, связанных с интерфейсным модулем 106 примечаний. Удаленное вычислительное устройство 108 может включать в себя прикладной модуль 110. В некоторых случаях модули 104, 110 могут быть одинаковыми или подобными модулями. В других случаях модули 104, 110 могут выполняться в виде клиент-серверных приложений или одноранговых приложений, в зависимости от требований данной реализации. Дополнительные подробности для одного варианта осуществления вычислительного устройства 102 и удаленного вычислительного устройства 108 могут быть дополнительно продемонстрированы и описаны со ссылкой на Фиг.4.
Как используется в настоящем документе, термин "модуль" может включать в себя любую структуру, реализуемую с использованием аппаратных элементов, программных элементов, или комбинации аппаратных и программных элементов. В одном варианте осуществления, например, модули, описываемые в настоящем документе, обычно реализуются в виде программных элементов, хранящихся на запоминающем устройстве и исполняемых обрабатывающим устройством для выполнения некоторых заданных операций. Может быть принято во внимание, что заданные операции могут быть реализованы с использованием большего или меньшего числа модулей, в зависимости от требований данной реализации. Дополнительно может быть принято во внимание, что заданные операции могут быть реализованы с использованием аппаратных элементов, с учетом различных проектных ограничений и ограничений рабочих характеристик. Варианты осуществления не ограничиваются в этом отношении.
m
m
m
В различных вариантах осуществления вычислительная система 100 может использоваться для хранения, обработки, обеспечения взаимодействия и иного управления информационными процессами или операциями, используемыми совместно между прикладными программами 104-1- и/или 110. Что касается вычислительного устройства 102 и/или удаленного вычислительного устройства 108, интерфейсный модуль 106 примечаний, прикладные программы 104-1- и 110 и/или любая совместно используемая или сопоставленная информация могут храниться и быть доступными через посредство любого количества блоков памяти, носителей данных, машиночитаемых носителей, или компьютеро-читаемых носителей, реализуемых для данного вычислительного устройства. Вычислительное устройство 102 и удаленное вычислительное устройство 108 могут представлять собой электронное устройство любого типа, обладающее подходящим аппаратным обеспечением, программным обеспечением или комбинацией аппаратного обеспечения и программного обеспечения, выполненное с возможностью исполнения операций прикладных модулей 104-1-, интерфейсного модуля 106 примечаний и/или прикладного модуля 110.
m
m
В различных вариантах осуществления интерфейсный модуль 106 примечаний может дать прикладным модулям 104-1- и/или 110 возможность эффективного совместного использования информации, такой как информация о примечаниях или примечания. Например, предположим, что прикладной модуль 104-1 реализован в виде прикладной программы MICROSOFT ONENOTE. Прикладная программа MICROSOFT ONENOTE является средством для создания примечаний, сбора информации и многопользовательской коллективной работы. Примечания могут упорядочиваться по категориям в книгах примечаний. Интерфейсный модуль 106 примечаний может дать возможность совместного использования примечаний из прикладного модуля 104-1 одной или более другими прикладными программами 104-2-. Например, предположим, что прикладной модуль 104-2 реализован в виде прикладной программы MICROSOFT OUTLOOK. Прикладная программа MICROSOFT OUTLOOK является личной информационной системой (PIM), которая может использоваться для управления электронной почтой, календарем, задачами, организацией контактов, созданием примечаний и журналом. В роли PIM прикладная программа 104-2 может иметь многочисленные целевые элементы, такие как элементы задачи, элементы календаря, элементы контакта, элементы электронной почты, элементы встречи и т.д. Интерфейсный модуль 106 примечаний может дать возможность сопоставлять примечания, управляемые прикладным модулем 104-1, с одним или более различными целевыми элементами, управляемыми прикладным модулем 104-2. Например, пользовательское примечание относительно повестки встречи может быть сопоставлено с элементом календаря, содержащим дату и время встречи.
В некоторых случаях, однако, для пользователя может быть затруднительно или обременительно определять или оценивать, было ли примечание из прикладного модуля 104-1 сопоставлено с данным целевым элементом прикладного модуля 104-2. Например, предположим, что пользователь создает примечания касательно некоторой будущей задачи, поясняющие, что требуется сделать, или формирует перечень элементов, о которых нельзя забыть, в виде части этой задачи. Через неделю или две, когда пользователь просматривает элемент задачи в Списке Дел или в календаре, применимых для прикладной программы 104-1, пользователь может забыть, что доступна более подробная информация. В отношении встреч это может произойти, если пользователь заблаговременно, за несколько дней до встречи, создает примечания о повестке, а затем забывает посмотреть их во время встречи.
Различные варианты осуществления стараются разрешить эти и другие проблемы. Интерфейсный модуль 106 примечаний может реализовывать разные технологии или предоставлять различные прикладные программные интерфейсы (API), чтобы дать возможность пользователю создавать примечания, используя прикладную программу 104-1, сопоставлять примечания с конкретными целевыми элементами для прикладной программы 104-2 (или других прикладных программ), и просматривать сопоставленные примечания. Дополнительно, интерфейсный модуль 106 примечаний может дать возможность пользователю оставаться в пользовательском контексте или сохранять взаимодействие с пользователем со стороны прикладной программы 104-2 при создании, сопоставлении и просмотре примечаний с использованием прикладной программы 104-1. Например, исходя из взаимодействия с пользователем и GUI прикладной программы 104-2, пользователь может создавать примечания касательно различных задач или элементов. Когда пользователь создает примечания касательно элемента с использованием прикладной программы 104-2, пользователь может подобрать позицию, в которой примечания должны размещаться в хранилище данных или в иерархии папок прикладной программы 104-1. В дополнение к созданию и сопоставлению новых примечаний с целевым элементом пользователь может сопоставлять существующие примечания с различными целевыми элементами. Примечания могут создаваться или просматриваться, по-прежнему наблюдая GUI для прикладной программы 104-2.
Важно отметить, что совместно используемые примечания могут сохраняться локально на вычислительном устройстве 102 или удаленно на удаленном вычислительном устройстве 108, и то и другое находится в пределах объема вариантов осуществления. Например, удаленное вычислительное устройство 108 может быть реализовано в виде сетевого обслуживающего узла, доступного для прикладных программ 104-1, и/или 104-2 через посредство проводного или беспроводного сетевого соединения. Варианты осуществления не ограничиваются в этом отношении.
При обычной операции наличие примечаний, управляемых прикладной программой 104-1, для любого данного элемента, управляемого прикладной программой 104-2, видно в прикладной программе 104-2 без необходимости открытия элемента, наведения на него курсора или его выбора. Этого можно достичь, используя разнообразные визуальные индикаторы, которые отображаются на целевом элементе. Примеры визуальных индикаторов могут включать в себя, помимо прочего, любой графический символ, изображение, пиктограмму, символ, динамическое изображение, рисунок, фотографию, цифровое изображение или любые другие визуальные подсказки для пользователя. Пользователь может открыть сопоставленные примечания одним нажатием, используя визуальный индикатор. Когда пользователь нажимает на визуальный индикатор для целевого элемента прикладной программы 104-2, интерфейсный модуль 106 примечаний следует этой логической процедуре, чтобы определить местонахождение элемента в прикладной программе 104-1.
В одном варианте осуществления, например, интерфейсный модуль 106 примечаний может отображать один или более визуальных индикаторов на целевом элементе, указывающие, сопоставлено ли примечание с целевым элементом. Визуальные индикаторы могут иметь одно состояние для указания, что одно или более примечаний были сопоставлены с целевым элементом, и другое состояние - для указания, что никакие примечания не были сопоставлены с целевым элементом. Например, визуальный индикатор может содержать специальную индикаторную пиктограмму с наличием дополнительных признаков на специальной индикаторной пиктограмме, указывающих сопоставленные примечания, и отсутствием дополнительных признаков на специальной индикаторной пиктограмме, указывающим, что нет сопоставленных примечаний. Примером такого отличительного признака может быть отображение на экране пиктограммы с признаком, проявляющимся в виде "связанной цепочки" на пиктограмме, для обозначения первого состояния, и отсутствие связанной цепочки на пиктограмме для обозначения второго состояния. В другом примере визуальный индикатор может содержать множественные специальные индикаторные пиктограммы, при этом первая специальная индикаторная пиктограмма отражает первое состояние, а вторая специальная индикаторная пиктограмма отражает второе состояние. Может быть принято во внимание, что использование единственного визуального индикатора или множественных визуальных индикаторов не ограничивается при условии, что реализация передает множественные состояния, отражающие разнообразную информацию для оператора. Дополнительно, множественные состояния могут быть реализованы с использованием любого количества визуальных индикаторов, отображаемых на экране в реальном времени или извлекаемых с носителей данных. Варианты осуществления не ограничиваются в этом отношении.
В одном варианте осуществления, например, прикладная программа 104-2 может предусматривать метод объектных моделей, который позволяет отображать на экране специальную индикаторную пиктограмму на целевых элементах. Индикатор будет отображаться или не отображаться на экране, исходя из значения особого показателя, который прикладная программа 104-2 добавит или позволит интерфейсному модулю 106 примечаний добавить как часть метода объектных моделей.
В одном варианте осуществления, например, интерфейсный модуль 106 примечаний может быть выполнен с возможностью обнаружения, был ли выбран целевой элемент, нахождение глобально уникального идентификатора (GUID) для целевого элемента и определения, сопоставлены ли с целевым элементом какие-либо примечания из первой прикладной программы. Для того чтобы прикладная программа 104-1 отслеживала сопоставленные примечания для прикладной программы 104-2, интерфейсный модуль 106 примечаний может генерировать GUID для примечания в качестве особого атрибута. Прикладная программа 104-2 может сохранять GUID в виде текстового атрибута, то есть он индексируется, и может быть выполнен быстрый поиск поисковой службой, такой как служба MICROSOFT WINDOWS Desktop Search (WDS), например. Прикладная программа 104-2 должна обладать поддержкой быстрого поиска по нетекстовым особым атрибутам для обеспечения таких операций. Прикладная программа 104-2 может также сохранять гиперссылку на сопоставленную страницу в случае, когда книга примечаний для прикладной программы 104-1 не открыта на вычислительном устройстве 102. Интерфейсный модуль 106 примечаний также может устанавливать атрибут, который приводит к отображению на экране визуального индикатора в прикладной программе 104-2.
Для сопоставленных примечаний прикладная программа 104-1 может сохранять один или более GUID, которые были сохранены в целевом элементе для прикладной программы 104-2. Кроме того, прикладная программа 104-1 может сохранять идентификатор элемента для целевого элемента, чтобы повысить эффективность. С примечаниями также может сохраняться дополнительная информация, чтобы помочь в определении местоположения примечаний, если они не могут быть найдены с помощью GUID или идентификатора элемента, например ключевые слова, контекстные подсказки и т.д. Одна или более ссылок обратно на целевой элемент, или флаги задачи, могут сохраняться с примечаниями, чтобы дать возможность пользователю переместиться обратно к целевому элементу.
Чтобы переместиться из прикладной программы 104-2 в прикладную программу 104-1, когда пользователь производит нажатие, наводит курсор или иным образом выбирает визуальный индикатор, интерфейсный модуль 106 примечаний использует следующую логическую процедуру для определения местонахождения примечания в прикладной программе 104-1. Прикладная программа 104-1 может осуществлять поиск страницы в блокноте, которая содержит GUID, сохраненный с целевым элементом. Если страница не найдена, прикладная программа 104-1 использует гиперссылку, сохраненную с целевым элементом. Если пользователь перемещается по списку открытых книг примечаний для прикладной программы 104-1 через посредство GUI прикладной программы 104-2, интерфейсный модуль 106 примечаний мог бы предложить открыть и просмотреть какие-либо книги примечаний, которые не открыты в настоящее время. Если GUID или объект гиперссылки не могут быть найдены, интерфейсный модуль 106 примечаний может отобразить сообщение об ошибке, например:
"OneNote не может найти примечания, сопоставленные с этим элементом. Они могут быть в книге примечаний, которая не открыта в настоящее время, или, возможно, они были удалены. Вы хотите стереть ссылку на примечания из элемента Outlook?"
Чтобы переместиться из прикладной программы 104-1 в прикладную программу 104-2, интерфейсный модуль 106 примечаний может использовать особый GUID задачи для осуществления поиска задачи или элемента в прикладной программе 104-2. Относительно других элементов, если пользователь производит нажатие на гиперссылку "Ссылка обратно на Outlook", прикладная программа 104-1 будет: (1) использовать WDS для нахождения целевого элемента, содержащего GUID, и получения идентификатора элемента, или, если целевой элемент не найден в WDS, использовать идентификатор элемента, сохраненный в прикладной программе 104-1; (2) находить целевой элемент по идентификатору элемента; и (3) как только целевой элемент найден, открывать программу контроля его состояния. Если целевой элемент не может быть найден по идентификатору элемента и это имеет место для элемента встречи, возможно, пользователь нажимает ссылку на страницу с примечаниями для встречи, занятую неким другим пользователем, в совместно используемой книге примечаний. Еще может быть полезным попытаться определить местонахождение текущей пользовательской копии встречи в прикладной программе 104-2. Интерфейсный модуль 106 примечаний будет искать заголовок, и дату, и время встречи. Если целевой элемент найден, прикладная программа 104-1 вставит сопоставление с примечаниями в этот элемент. Если целевой элемент не может быть найден по идентификатору элемента, интерфейсный модуль 106 примечаний может отобразить сообщение об ошибке, например:
"OneNote не может найти элемент Outlook. Возможно, он был удален из Outlook или он принадлежит другому пользователю".
В различных вариантах осуществления интерфейсный модуль 106 примечаний может использоваться для выполнения периодических операций синхронизации, чтобы определить существование сопоставленных примечаний между прикладными программами 104-1, 104-2. Например, прикладная программа 104-1 может выполнять периодические операции синхронизации с прикладной программой 104-2, чтобы восстановить пропущенные или поврежденные ссылки на примечания в целевых элементах. Примером последнего случая является то, когда специальный атрибут в целевом элементе каким-то образом удален или поврежден. Примером первого случая является то, когда другой пользователь занял примечания о встрече в совместно используемой книге примечаний и интерфейсный модуль 106 примечаний может показать индикатор примечания на экземпляре текущего пользователя. Важно заметить, что интерфейсный модуль 106 примечаний обычно не использует операции синхронизации, чтобы стирать индикаторы для удаленных примечаний, из-за трудности, связанной с различением удаления из примечаний, перемещенных в какую-нибудь, в настоящее время закрытую, совместно использую книгу примечаний.
Операции синхронизации могут выполняться, например, после определенного временного периода полного простоя, когда вычислительное устройство 102 не используется. Операции синхронизации могут происходить в любом заданном временном интервале, хотя для многих приложений, как правило, может быть достаточно одного раза в день. Чтобы инициализировать операции синхронизации, интерфейсный модуль 106 примечаний может выбрать список всех страниц, которые сопоставлены с целевыми элементами. Для каждого элемента интерфейсный модуль 106 примечаний может вызвать прикладную программу 104-2 и найти соответствующий целевой элемент. Если целевой элемент является задачей, интерфейсный модуль 106 примечаний изменяет состояние задачи в прикладной программе 104-1 для соответствия состоянию задачи прикладной программы 104-2. Если целевой элемент не найден по GUID или идентификатору элемента, интерфейсный модуль 106 примечаний попытается найти его по теме, и по дате, и времени наступления встречи. Если элемент найден и не имеет сопоставления с прикладной программой 104-1, интерфейсный модуль 106 примечаний добавит соответствующее сопоставление. Если прикладная программа 104-2 должна быть запущена для выполнения операций синхронизации, она будет закрыта после окончания операций синхронизации.
В одном варианте осуществления, например, интерфейсный модуль 106 примечаний может быть выполнен с возможностью приема инструкции от оператора, выбирающей визуальный индикатор, и отображения примечания, используя особое представление примечания, отображаемое практически одновременно с представлением целевого элемента для второй прикладной программы. Оператор может использовать визуальный индикатор, например, нажимая на пиктограмму, для открытия представления примечания при сохранении контекста для второй прикладной программы. Например, для отображения примечания может быть открыто новое окно GUI. Новое окно GUI может быть наложено на окно GUI, используемое для отображения прикладной программы 104-2 или целевого элемента для прикладной программы 104-2. В качестве альтернативы автоматически могут устанавливаться такие размеры обоих окон, чтобы позволить оператору видеть оба окна на данном экране или устройстве отображения. Например, когда пользователь создает/просматривает примечания касательно целевого элемента, примечания могут отображаться в зафиксированном на рабочем столе окне GUI, которое при необходимости может быть затем развернуто до максимального размера. Интерфейсный модуль 106 примечаний должен иметь возможность вызывать создание примечаний или их открытие в фиксированном окне GUI для представления примечания. Интерфейсный модуль 106 примечаний может открыть фиксированное окно, если оно уже не открыто и если пользователь не отключил функцию открытия в режиме фиксированного окна для представления примечания. Интерфейсный модуль 106 примечаний может перейти на страницу с данным идентификатором в окне с включенным позиционированием.
Операции для вычислительной системы 100 могут быть дополнительно описаны со ссылкой на одну или более последовательности операций логических процедур. Может быть принято во внимание, что типичные последовательности операций логических процедур необязательно должны исполняться в представленном порядке или в каком-то конкретном порядке, если не указано иное. Кроме того, различные действия, описываемые в отношении последовательностей операций логических процедур, могут исполняться последовательно или параллельно. Последовательности операций логических процедур могут быть реализованы с использованием одного или более элементов вычислительной системы 100 или альтернативных элементов, которые требуются для данного набора проектных ограничений и ограничений рабочих характеристик.
Фиг.2 демонстрирует последовательность 200 операций логической процедуры. Последовательность 200 операций логической процедуры может быть типичной для операций, исполняемых одним или более вариантами осуществления, описываемыми в настоящем документе. Как показано на Фиг.2, на этапе 202 последовательность 200 операций логической процедуры может создавать примечания с помощью первой прикладной программы. На этапе 204 последовательность 200 операций логической процедуры может определять, сопоставлен ли целевой элемент для второй прикладной программы с примечанием из первой прикладной программы. На этапе 206 последовательность 200 операций логической процедуры может отображать визуальный индикатор на целевом элементе, указывающий, сопоставлено ли примечание с целевым элементом согласно этому определению. Варианты осуществления не ограничиваются в этом отношении.
m
n
n
n
p
p
Фиг.3 демонстрирует логическую схему 300. Логическая схема 300 демонстрирует прикладные программы 302, 312. Прикладные программы 302, 312 могут быть типичными для одной или более прикладных программ 104-1- и/или 110, таких как прикладные программы, представленные соответствующими прикладными модулями 104-1, 104-2. Прикладная программа 302 может иметь множественные целевые элементы 304-1-. Целевые элементы 304-1- могут представлять отдельные элементы или объекты для прикладной программы 302. Каждый из целевых элементов 304-1- может включать в себя соответствующие визуальные индикаторы 306-1-. В одном варианте осуществления, например, визуальные индикаторы 306-1- могут содержать специальные индикаторные пиктограммы с изменяемыми размерами, формами, цветами, содержанием и т.д.
n
n
n
В одном варианте осуществления, например, оператор может создавать примечания с помощью прикладной программы 312 непосредственно из прикладной программы 312 или через посредство прикладной программы 302. Прикладная программа 302 или интерфейсный модуль 106 примечаний может определять, сопоставлен ли целевой элемент 304-1- для прикладной программы 302 с примечанием из прикладной программы 312. Прикладная программа 302 или интерфейсный модуль 106 примечаний может отображать визуальный индикатор на целевом элементе 304-1-, указывающий, сопоставлено ли примечание с целевым элементом 304-1-, согласно предыдущему определению.
Как показано на Фиг.3, каждый целевой элемент, такой как целевые элементы 304-1, 304-2, может включать в себя визуальный индикатор, такой как соответствующие визуальные индикаторы 306-1, 306-2. Визуальные индикаторы 306-1, 306-2 могут размещаться на графическом символе или представлении для соответствующих целевых элементов 304-1, 304-2, таким образом позволяя оператору легко увидеть визуальные индикаторы 306-1, 306-2 без обязательного открытия целевых элементов 304-1, 304-2 и переключения пользовательского контекста или пользовательского представления.
r
s
В одном варианте осуществления, например, визуальный индикатор 306-1 может иметь первое состояние, указывающее, что одно или более примечаний 314-1-, которые управляются прикладной программой 312, сопоставлены с целевым элементом 304-1. Визуальный индикатор 306-1 также может иметь второе состояние в случае отсутствия примечаний, сопоставленных с целевым элементом 304-1. Аналогично, визуальный индикатор 306-2 может иметь первое и второе состояние, указывающее, были ли сопоставлены одно или более примечаний 316-1-, которые управляются прикладной программой 312, с целевым элементом 304-2. Как описано выше, различные состояния могут предполагать различные визуальные индикаторы, причем эти различные визуальные индикаторы изменяются по размеру, по форме, по цвету, по содержимому и т.д. Может использоваться любой тип или количество визуальных индикаторов при условии, что реализация передает различные состояния, причем каждое состояние указывает, были ли какие-либо примечания сопоставлены с данным целевым элементом.
r
s
В различных вариантах осуществления оператор может обращаться к примечанию для целевого элемента, используя визуальный индикатор. Как показано на Фиг.3, интерфейсный модуль 106 примечаний может использоваться для сопоставления заданного набора примечаний 314-1- с целевым элементом 304-1 прикладной программы 302 и заданного набора примечаний 316-1- с целевым элементом 304-2 прикладной программы 302. Для обращения к соответствующему набору примечаний 314, 316 оператор может произвести нажатие, навести курсор или иначе выбрать соответствующий визуальный индикатор 306-1, 306-2. Интерфейсный модуль 106 примечаний может принимать выбор оператора и генерировать представление примечания для отображения примечания, сопоставленного с целевым элементом, при сохранении контекста для второй прикладной программы.
r
В различных вариантах осуществления интерфейсный модуль 106 примечаний может генерировать представление примечания для отображения первого набора примечаний, явно сопоставленных с целевым элементом. Например, интерфейсный модуль 106 примечаний может генерировать представление примечания для отображения примечаний 314-1- как набора явных примечаний 320. Явные примечания 320 могут включать в себя те примечания, которые были явно сопоставлены с целевым элементом 304-1 оператором. Оператор может создавать примечание для целевого элемента 304-1, выбирая целевой элемент 304-1 и выбирая кнопку создания примечания для прикладной программы 302, выбирая визуальный индикатор 306-1, используя GUI для прикладной программы 312, или каким-то другим способом. Затем оператор может сопоставить вновь созданное примечание с целевым элементом 304-1. В качестве альтернативы оператор может открыть книгу примечаний для прикладной программы 312 через посредство GUI для прикладной программы 302 или прикладной программы 312, выбрать ранее созданное примечание и сопоставить выбранное примечание с целевым элементом 304-1.
s
s
В различных вариантах осуществления интерфейсный модуль 106 примечаний может генерировать представление примечания для отображения второго набора примечаний, неявно связанных с целевым элементом. Например, интерфейсный модуль 106 примечаний может генерировать представление примечания для отображения примечаний 316-1- как набора неявных примечаний 330. Неявные примечания 330 могут включать в себя те примечания, которые были неявно сопоставлены с целевым элементом 304-2, согласно набору правил неявного сопоставления. Примеры правил неявного сопоставления могут включать в себя поиск примечаний, имеющих подобные ключевые слова, пользовательские идентификаторы, информацию о времени/данных, идентификаторы приложений, эвристические правила и любые другие правила, обеспечивающие интеллектуальную группировку примечаний. Затем результаты поиска могут быть сопоставлены с целевым элементом 304-2 как неявные примечания 330, содержащие примечания 316-1-.
Фиг.4 демонстрирует структурную схему архитектуры 900 вычислительной системы, подходящей для реализации различных вариантов осуществления, включающих в себя вычислительную систему 100. Может быть принято во внимание, что архитектура 900 вычислительной системы представляет собой только один пример подходящей вычислительной среды и не подразумевает предложения какого-либо ограничения относительно области применения или функциональных возможностей вариантов осуществления. Также архитектура 900 вычислительной системы не должна толковаться как имеющая какую-либо зависимость или требования, касающиеся любого одного компонента или комбинации компонентов, продемонстрированных в иллюстративной архитектуре 900 вычислительной системы.
Различные варианты осуществления могут быть описаны в общем контексте исполняемых компьютером инструкций, таких как программные модули, исполняемые компьютером. Как правило, программные модули включают в себя какой-либо программный элемент, выполненный с возможностью исполнения конкретных операций или реализации конкретных абстрактных типов данных. Некоторые варианты осуществления также могут быть осуществлены на практике в распределенных вычислительных средах, в которых операции выполняются одним или более удаленными устройствами обработки, которые связываются по сетям передачи данных. В распределенной вычислительной среде программные модули могут размещаться и на локальных, и на удаленных компьютерных носителях данных, включающих в себя запоминающие устройства хранения.
Как показано на Фиг.4, архитектура 900 вычислительной системы включает в себя вычислительное устройство общего назначения, такое как компьютер 910. Компьютер 910 может включать в себя различные компоненты, обычно присутствующие в вычислительной или обрабатывающей системе. Некоторые иллюстративные компоненты компьютера 910 могут включать в себя, но не ограничиваться этим, обрабатывающее устройство 920 и запоминающее устройство 930.
В одном варианте осуществления, например, компьютер 910 может включать в себя одно или более обрабатывающих устройств 920. Обрабатывающее устройство 920 может содержать любой аппаратный элемент или программный элемент, выполненный с возможностью обработки информации или данных. Некоторые примеры обрабатывающего устройства 920 могут включать в себя, помимо прочего, микропроцессор с комплексным набором команд (CISC - complex instruction set computer), микропроцессор с сокращенным набором команд (RISC - reduced instruction set computing), микропроцессор с командными словами очень большой длины (VLIW - very long instruction word), обрабатывающее устройство, реализующее комбинацию наборов команд, или другое обрабатывающее устройство. В одном варианте осуществления, например, обрабатывающее устройство 920 может быть реализовано в виде обрабатывающего устройства общего назначения. В качестве альтернативы обрабатывающее устройство 920 может быть реализовано в виде специализированного обрабатывающего устройства, такого как управляющее устройство, микроконтроллер, встроенное обрабатывающее устройство, цифровой сигнальный процессор (DSP), сетевой процессор, медиа-процессор, процессор ввода/вывода (I/O), процессор управления доступом к среде (MAC), процессор радиосигнала в основной полосе, программируемая вентильная матрица (FPGA), программируемое логическое устройство (PLD), специализированная интегральная схема (ASIC) и т.д. Варианты осуществления не ограничиваются в этом отношении.
В одном варианте осуществления, например, компьютер 910 может включать в себя одно или более запоминающих устройств 930, связанных с обрабатывающим устройством 920. Запоминающее устройство 930 может быть любым аппаратным элементом, выполненным с возможностью хранения информации или данных. Некоторые примеры запоминающих устройств могут включать в себя, помимо прочего, оперативное запоминающее устройство (RAM), динамическое RAM (DRAM), DRAM с двойной скоростью обмена (DDRAM), синхронное DRAM (SDRAM), статическое RAM (SRAM), постоянное запоминающее устройство (ROM), программируемое ROM (PROM), стираемое программируемое ROM (EPROM), EEPROM, ROM на компакт-диске (CD-ROM), компакт-диск однократной записи (CD-R), перезаписываемый компакт-диск (CD-RW), память с групповой перезаписью (например, память с групповой перезаписью с элементом ИЛИ-НЕ или И-НЕ), ассоциативное запоминающее устройство (САМ), запоминающее устройство на полимере (например, сегнетоэлектрическое запоминающее устройство на полимере), запоминающее устройство с изменением фазового состояния (например, запоминающее устройство на элементах Овшинского), сегнетоэлектрическое запоминающее устройство, запоминающее устройство со структурой кремний-оксид-нитрид-оксид-кремний (SONOS - silicon-oxide-nitride-oxide-silicon), диск (например, гибкий диск, жесткий диск, оптический диск, магнитный диск, магнитооптический диск) или карту (например, магнитную карту, оптическую карту), ленту, кассету или любую другую среду, которая может использоваться для хранения требуемой информации и к которой можно получить доступ при помощи компьютера 910. Варианты осуществления не ограничиваются в этом отношении.
В одном варианте осуществления, например, компьютер 910 может включать в себя системную шину 921, которая связывает различные системные компоненты, в том числе запоминающее устройство 930 с обрабатывающим устройством 920. Системная шина 921 может быть любого из нескольких типов шинных структур, включающих в себя шину памяти или устройство управления памятью, шину периферийных устройств и локальную шину, использующие любую из множества шинных архитектур. В качестве примера, но не ограничения, такие архитектуры включают в себя шину Архитектуры Промышленного Стандарта (ISA - Industry Standard Architecture), шину Микроканальной Архитектуры (MCA - Micro Channel Architecture), Расширенную шину ISA (EISA - Enhanced ISA), локальную шину Ассоциации по Стандартам в области Видеоэлектроники (VESA - Video Electronics Standards Association) и шину Взаимодействия Периферийных Компонентов (PCI - Peripheral Component Interconnect), также известную как шина Расширения, и т.д. Варианты осуществления не ограничиваются в этом отношении.
В различных вариантах осуществления компьютер 910 может включать в себя различные типы носителей данных. Носители данных могут представлять собой любые носители данных, способные хранить данные или информацию, такие как энергозависимое или энергонезависимое запоминающее устройство, сменное или стационарное запоминающее устройство, запоминающее устройство со стираемой или нестираемой записью, запоминающее устройство с возможностью записи или перезаписи и т.д. Носители данных могут включать в себя два основных типа, включающие в себя машиночитаемые носители или средства связи. Машиночитаемые носители могут включать в себя носители данных, выполненные с возможностью чтения и записи с использованием вычислительной системы, такой как архитектура 900 вычислительной системы. Примеры машиночитаемых носителей для архитектуры 900 вычислительной системы могут включать в себя, но не ограничиваясь этим, энергозависимое и/или энергонезависимое запоминающее устройство, такое как ROM 931 и RAM 932. Средства связи обычно воплощают машиночитаемые инструкции, структуры данных, программные модули или другие данные в модулированном сигнале данных, таком как несущая волна или другой транспортный механизм, и включают в себя любые средства доставки информации. Термин "модулированный сигнал данных" означает сигнал, чья одна или более характеристик устанавливаются или изменяются таким образом, чтобы кодировать информацию в сигнале. В качестве примера, но не ограничения, средства связи включают в себя проводные средства, такие как проводная сеть или однопроводное соединение, и беспроводные средства, такие как акустическая волна, радиочастотный (РЧ) спектр, инфракрасное излучение и другие беспроводные средства. Любые комбинации из вышеупомянутого также должны быть включены в сферу машиночитаемых носителей.
В различных вариантах осуществления запоминающее устройство 930 включает в себя компьютерные носители данных в форме энергозависимого и/или энергонезависимого запоминающего устройства, такого как ROM 931 и RAM 932. Базовая система ввода/вывода 933 (BIOS), содержащая основные процедуры, которые способствуют передаче информации между элементами внутри компьютера 910, например, в процессе начальной загрузки, обычно хранится в ROM 931. RAM 932 обычно содержит данные и/или программные модули, которые непосредственно доступны и/или в данный момент обслуживаются обрабатывающим устройством 920. В качестве примера, но не ограничения, Фиг.4 демонстрирует операционную систему 934, прикладные программы 935, другие программные модули 936 и программные данные 937.
Компьютер 910 также может включать в себя другие съемные/стационарные, энергозависимые/энергонезависимые компьютерные носители данных. Только в качестве примера, Фиг.4 демонстрирует привод 941 жесткого диска, который считывает или осуществляет на них запись, стационарные энергонезависимые магнитные носители, привод 951 магнитных дисков, который считывает или осуществляет на него запись, съемный энергонезависимый магнитный диск 952 и привод 955 оптических дисков, который считывает или осуществляет на него запись, съемный энергонезависимый оптический диск 956, такой как компакт-диск или другой оптический носитель. Другие съемные/стационарные, энергозависимые/энергонезависимые компьютерные носители данных, которые могут использоваться в иллюстративной операционной среде, включают в себя, но не ограничиваются этим, кассеты с магнитной лентой, карты памяти с групповой перезаписью, универсальные цифровые диски, цифровую видеоленту, твердотельное RAM, твердотельное ROM и тому подобное. Привод 941 жесткого диска обычно подсоединяется к системной шине 921 через интерфейс стационарной памяти, такой как интерфейс 940, а привод 951 магнитных дисков и привод 955 оптических дисков обычно подсоединяются к системной шине 921 посредством интерфейса съемной памяти, такого как интерфейс 950.
Приводы и соотнесенные с ними компьютерные носители данных, обсуждавшиеся выше и продемонстрированные на Фиг.4, обеспечивают хранение машиночитаемых инструкций, структур данных, программных модулей и других данных для компьютера 910. На Фиг.4, например, привод 941 жесткого диска продемонстрирован как хранящий операционную систему 944, прикладные программы 945, другие программные модули 946 и программные данные 947. Заметим, что эти компоненты могут как совпадать, так и отличаться от операционной системы 934, прикладных программ 935, других программных модулей 936 и программных данных 937. Операционной системе 944, прикладным программам 945, другим программным модулям 946 и программным данным 947 в данном документе назначены другие номера, чтобы продемонстрировать, что, по меньшей мере, они являются другими копиями. Пользователь может вводить команды и информацию в компьютер 910 через устройства ввода, такие как клавиатура 962 и координатно-указательное устройство 961, обычно называемое мышь, шаровой манипулятор или сенсорная панель. Другие устройства ввода (не показаны) могут включать в себя микрофон, координатную ручку, игровой манипулятор, антенну спутниковой связи, сканирующее устройство или тому подобное. Эти и другие устройства ввода часто соединяются с обрабатывающим устройством 920 через пользовательский интерфейс 960 ввода, который связан с системной шиной, но могут соединяться посредством другого интерфейса и шинных структур, таких как параллельный порт, игровой порт или универсальная последовательная шина (USB - universal serial bus). Монитор 991 или устройство отображения другого типа также соединяется с системной шиной 921 через интерфейс, такой как видеоинтерфейс 990. В дополнение к монитору 991, компьютеры также могут включать в себя другие периферийные устройства вывода, такие как динамики 997 и печатающее устройство 996, которые могут подсоединяться через интерфейс 995 периферийных устройств вывода.
Компьютер 910 может функционировать в сетевой среде, используя логические соединения с одним или более удаленными компьютерами, такими как удаленный компьютер 980. Удаленный компьютер 980 может быть персональным компьютером (ПК), обслуживающим узлом, устройством маршрутизации, сетевым ПК, равноправным устройством или другим публичным сетевым узлом и обычно включает в себя многие или все элементы, описанные выше по отношению к компьютеру 910, хотя, для ясности, на Фиг.4 продемонстрировано только запоминающее устройство 981 хранения. Логические соединения, изображенные на Фиг.4, включают в себя локальную вычислительную сеть (LAN) 971 и глобальную вычислительную сеть (WAN) 973, но также могут включать в себя другие сети. Такие сетевые среды являются обычным явлением в учрежденческих, корпоративных компьютерных сетях, внутрикорпоративных сетях на базе технологии Интернет и сети Интернет.
При использовании в сетевой среде LAN компьютер 910 соединяется с LAN 971 через сетевой интерфейс или адаптер 970. При использовании в сетевой среде WAN компьютер 910 обычно включает в себя модем 972 или другие технические средства, подходящие для установления связи через WAN 973, такую как сеть Интернет. Модем 972, который может быть внутренним или внешним, может соединяться с системной шиной 921 через пользовательский интерфейс 960 ввода или другой подходящий механизм. В сетевой среде программные модули, изображенные в отношении компьютера 910, или их части, могут храниться на удаленном запоминающем устройстве хранения. В качестве примера, но не ограничения, Фиг.4 демонстрирует удаленные прикладные программы 985 как находящиеся на запоминающем устройстве 981. Следует принять во внимание, что показанные сетевые соединения являются иллюстративными, и может использоваться другая технология для установления каналов связи между компьютерами. Дополнительно, сетевые соединения могут быть реализованы в виде проводных или беспроводных соединений. В последнем случае архитектура 900 вычислительной системы может модифицироваться различными элементами, подходящими для беспроводной связи, такими как одна или более антенны, передающие устройства, принимающие устройства, приемопередающие устройства, средства радиосвязи, усилители, фильтры, интерфейсы связи и другие беспроводные элементы. Система беспроводной связи передает информацию или данные по среде беспроводной связи, такой как одна или более части или полосы РЧ спектра, например. Варианты осуществления не ограничиваются в этом отношении.
Часть или вся вычислительная система 100 и/или архитектура 900 вычислительной системы могут быть реализованы как часть, компонент или подсистема электронного устройства. Примеры электронных устройств могут включать в себя, помимо прочего, систему обработки, компьютер, обслуживающий узел, рабочую станцию, программно-аппаратный комплекс, терминал, персональный компьютер, портативный компьютер, сверхпортативный компьютер, карманный компьютер, миникомпьютер, универсальный компьютер, распределенную вычислительную систему, многопроцессорные системы, процессорные системы, бытовую электронику, программируемую бытовую электронику, персональный цифровой помощник, телевизионный приемник, цифровой телевизионный приемник, телевизионную приставку, телефон, мобильный телефон, сотовый телефон, телефонную трубку, беспроводную точку доступа, базовую станцию, абонентский терминал, мобильный абонентский пункт, устройство управления радиосети, маршрутизатор, концентратор, шлюз, мост, переключатель, машину или их комбинацию. Варианты осуществления не ограничиваются в этом отношении.
В некоторых случаях различные варианты осуществления могут быть реализованы как изделие. Изделие может включать в себя носитель данных, выполненный с возможностью хранения логической процедуры и/или данных для выполнения различных операций согласно одному или более вариантам осуществления. Примеры носителей данных могут включать в себя, помимо прочего, те примеры, которые описаны выше. В различных вариантах осуществления, например, изделие может содержать магнитный диск, оптический диск, память с групповой перезаписью или встроенное программное обеспечение, содержащее компьютерные программные инструкции, пригодные для исполнения обрабатывающим устройством общего назначения или специализированным обрабатывающим устройством. Варианты осуществления, однако, не ограничиваются в этом отношении.
Различные варианты осуществления могут быть реализованы с использованием аппаратных элементов, программных элементов или их комбинации. Примеры аппаратных элементов могут включать в себя любой из примеров, которые выше предоставлены для логического устройства и дополнительно включают в себя микропроцессоры, схемы, схемные элементы (например, транзисторы, сопротивления, конденсаторы, катушки индуктивности и т.д.), интегральные схемы, логические вентили, регистры, полупроводниковое устройство, кристаллы, микрокристаллы, наборы кристаллов и т.д. Примеры программных элементов могут включать в себя программные компоненты, программы, приложения, компьютерные программы, прикладные программы, системные программы, машинные программы, программное обеспечение операционной системы, промежуточное программное обеспечение, встроенное программное обеспечение, программные модули, стандартные программы, подпрограммы, функции, способы, процедуры, программные интерфейсы, прикладные программные интерфейсы (API), наборы команд, вычислительный код, компьютерный код, кодовые сегменты, компьютерные кодовые сегменты, слова, значения, символы или любую их комбинацию. Определение, реализуется ли вариант осуществления с использованием аппаратных элементов и/или программных элементов, может изменяться в соответствии со всевозможными параметрами, такими как требуемая вычислительная скорость, уровни мощности, теплоустойчивость, смета расходов на цикл обработки, скорость передачи входных данных, скорость передачи выходных данных, ресурсы памяти, скорость шины данных и другие проектные ограничения и ограничения рабочих характеристик, которые заданы для данной реализации.
Некоторые варианты осуществления могут описываться с использованием выражения "связанный" и "соединенный", а также их производных. Эти термины необязательно должны толковаться как синонимы друг для друга. Например, некоторые варианты осуществления могут описываться с использованием терминов "соединенный" и/или "связанный", чтобы указать, что два или более элемента находятся в непосредственном физическом или электрическом контакте друг с другом. Термин "связанный", однако, может также подразумевать, что два или более элемента не находятся в непосредственном контакте друг с другом, но все же взаимодействуют или влияют друг на друга.
Подчеркнем, что в настоящем раскрытии изобретения предусмотрен раздел "Реферат Изобретения", чтобы соответствовать параграфу 1.72(b) тома 37 Свода Федеральных Правил, предписывающему наличие раздела "Реферат Изобретения", который позволит читателю быстро выяснить сущность технического раскрытия. Он представляется на рассмотрение с пониманием того, что он не будет использоваться для толкования или ограничения объема или смысла формулы изобретения. Кроме того, из предшествующего раздела "Осуществление Изобретения" можно увидеть, что различные признаки объединяются в отдельном варианте осуществления ради упрощения раскрытия. Этот способ раскрытия не должен толковаться как отражение идеи, что для заявляемых вариантов осуществления требуется больше признаков, чем явно перечислено в каждом пункте формулы изобретения. Скорее, как отражено в нижеследующей формуле изобретения, предмет изобретения заключен менее чем во всех признаках отдельного раскрытого варианта осуществления. Таким образом, нижеследующая формула изобретения настоящим включается в раздел "Осуществление Изобретения", причем каждый пункт формулы изобретения занимает самостоятельное положение в качестве отдельного варианта осуществления. В прилагаемой формуле изобретения термины "включает в себя" и "в котором" используются как разговорные эквиваленты соответствующих терминов "содержит" и "при этом" соответственно. Кроме того, термины "первый", "второй", "третий" и т.д. используются просто как метки и не предназначены для наложения количественных требований на их объекты.
Несмотря на то что предмет изобретения был описан в терминах, предназначенных для структурных признаков и/или относящихся к методике действий, нужно понимать, что предмет изобретения, определяемый в прилагаемой формуле изобретения, необязательно ограничивается конкретными признаками или действиями, описанными выше. Скорее, конкретные признаки и действия, описанные выше, раскрываются как иллюстративные формы реализации формулы изобретения.