извещения поиска значительных изменений
Классы МПК: | G06F17/30 информационный поиск; структуры баз данных для этой цели H04H60/81 характеризующиеся системами передачи как таковыми |
Автор(ы): | ГИДЕОНИ Михал (US), МЕЙЕРЗОН Дмитрий (US), ФРАБЛ Ментон Дж. (US), НЯГОВИЧ-НЕГОЕСКУ Мирча (US) |
Патентообладатель(и): | МАЙКРОСОФТ КОРПОРЕЙШН (US) |
Приоритеты: |
подача заявки:
2007-03-23 публикация патента:
10.12.2011 |
Изобретение относится к вычислительной технике и направлено на отправку извещений поиска значительных изменений. Техническим результатом является возможность отслеживания определенного набора соответствующих свойств документа и отправки извещений пользователю только в случае изменения определенных свойств документа. Механизм поиска извещения используется с машинами поиска, такими как поисковый агент, для поиска требуемых документов и/или ресурсов. Конкретные документы находят посредством использования запросов поиска. Механизм поиска отслеживает значения набора соответствующих свойств в запросах. Всякий раз, когда система выполняет поиск документа, значения этого набора свойств сопоставляют со старым значением. Отсутствие соответствия представляет собой показатель того, что документ изменился. Пользователю отправляется уведомление об интересующих его изменениях документа. 3 н. и 17 з.п. ф-лы, 5 ил.
Формула изобретения
1. Воплощенный в компьютере способ для отправки результатов извещения поиска, содержащий:
прием (510) результата первого запроса из первой машины поиска, при этом результат запроса получают в ответ на первый запрос, который содержит первое значение поиска, для локализации ресурсов;
формирование (520) первой цифровой сигнатуры первой соответствующей части ресурса, идентифицированного по результатам первого запроса поиска, при этом первая соответствующая часть содержит содержание, идентифицированное первым значением поиска;
прием (530) результата второго запроса из второй машины поиска, при этом результат запроса получают в ответ на второй запрос, который содержит первый запрос поиска, и при этом вторая машина поиска является той же, что или отличающейся от первой машины поиска;
формирование (540) второй цифровой сигнатуры второй соответствующей части ресурса, идентифицированного по результатам второго запроса поиска, при этом вторая соответствующая часть содержит содержание, идентифицированное первым значением поиска; и
отправку (550) уведомления пользователю в ответ на то, что в результате сравнения первая и вторая цифровые сигнатуры являются разными.
2. Способ по п.1, дополнительно содержащий:
формирование третьей цифровой сигнатуры третьей соответствующей части ресурса, идентифицированного по результатам первого запроса поиска, при этом третья соответствующая часть содержит содержание, идентифицированное вторым значением поиска;
формирование четвертой цифровой сигнатуры четвертой соответствующей части ресурса, идентифицированного по результатам второго запроса поиска, при этом четвертая соответствующая часть содержит содержание, идентифицированное вторым значением поиска, сравнивающим первую и вторую цифровые сигнатуры; и
отправку уведомления пользователю в ответ на то, что в результате сравнения третья и четвертая цифровые сигнатуры являются разными.
3. Способ по п.1, в котором первое значение поиска содержит набор соответствующих свойств.
4. Способ по п.3, дополнительно содержащий формирование цифровой сигнатуры URL ресурса, идентифицированного результатами первого запроса поиска.
5. Способ по п.1, в котором первая и вторая машины поиска являются поисковыми агентами.
6. Способ по п.1, в котором уведомление отправляют пользователю через предопределенные интервалы времени.
7. Способ по п.1, дополнительно содержащий формирование цифровой сигнатуры URL ресурса, идентифицированного результатами первого запроса поиска.
8. Способ по п.1, дополнительно содержащий:
формирование пятой цифровой сигнатуры схемы ресурса, идентифицированного результатами первого запроса поиска; и
формирование шестой цифровой сигнатуры схемы ресурса, идентифицированного результатами второго запроса поиска.
9. Способ по п.8, в котором уведомление не отправляют пользователю в ответ на то, что в результате сравнения пятая и шестая цифровые сигнатуры являются разными.
10. Способ по п.1, дополнительно содержащий формирование индекса полного текста ресурса, идентифицированного результатами первого запроса поиска.
11. Система для отправки результатов извещения поиска, содержащая:
обработчик (310) извещений поиска для сохранения и выработки запросов извещения, которые содержат значения поиска для поиска документов;
хранилище (340) свойств для сохранения наборов свойств, состоящих из свойств значения поиска из документов, идентифицированных запросом извещения; и
собиратель (210), предназначенный для детектирования, когда делаются изменения набора свойств, при этом собиратель детектирует изменения путем сравнения первого набора свойств, состоящего из свойств значения поиска в документе, идентифицированном по значению поиска в первый момент времени, со вторым набором свойств, состоящим из свойств значения поиска в документе, идентифицированном значением поиска во второй момент времени, и при этом собиратель уведомляет пользователя о документе, ассоциированном с детектированными изменениями.
12. Система по п.11, в которой документы содержат медиасодержание.
13. Система по п.11, в которой собиратель дополнительно выполнен с возможностью построения индекса полного текста документа, идентифицированного по значению поиска в первый момент времени.
14. Система по п.11, в которой набор свойств содержит свойство для времени модификации документа, идентифицированного значением поиска в первый момент времени.
15. Система по п.14, в которой набор свойств содержит свойство для времени обнаружения документа, идентифицированного значением поиска в первый момент времени.
16. Система по п.14, в которой набор свойств содержит свойство для времени модификации схемы для схемы для документа, идентифицированного значением поиска в первый момент времени, и при этом собиратель дополнительно выполнен с возможностью уведомления пользователей об изменениях документов, которые имеют время модификации, следующее после времени модификации схемы.
17. Материальный носитель, содержащий выполняемые компьютером инструкции для:
сохранения набора свойств, состоящего из свойств значения поиска для документа, идентифицированного по запросу извещения в первый и во второй момент времени, при этом сохраненные наборы свойств представляют собой цифровые сигнатуры частей идентифицированного документа, которые содержат значение поиска;
сравнения набора свойств для первого момента времени с набором свойств для второго момента времени и
отправки уведомления пользователю в ответ на отличие набора свойств для первого момента времени от набора свойств для второго момента времени.
18. Материальный носитель по п.17, дополнительно содержащий выполняемые компьютером инструкции для выполнения цифровой сигнатуры URL, который ассоциирован с документом, который идентифицирован запросом извещения в первый момент времени.
19. Материальный носитель по п.17, дополнительно содержащий выполняемые компьютером инструкции для выполнения цифровой сигнатуры схемы, которая ассоциирована с документом, который идентифицирован запросом извещения в первый момент времени.
20. Материальный носитель по п.17, дополнительно содержащий выполняемые компьютером инструкции для отслеживания версий списков сохраненных наборов свойств.
Описание изобретения к патенту
Уровень техники
Извещения поиска представляют собой постоянные запросы, поддерживаемые в системе. Всякий раз, когда система идентифицирует новый результат запроса (например, документ, элемент списка, папку и т.п.), который удовлетворяет постоянному запросу, пользователь извещения уведомляется об этом результате. Пользователь извещения обычно может выбирать частоту для отправки извещения пользователю. Например, частота для отправки извещения может быть ежедневно.
Однако результаты извещения поиска для пользователей извещения поиска могут быть надоедливыми из-за того, что (слишком часто) отправляют несоответствующие результаты. В частности, несоответствующие результаты генерируются в результате изменений в документах поиска, которые не интересны для пользователей.
Например, пользователь желает выполнить поиск термина "патент" и создает ежедневное извещение для этого поиска в системе (например, в компьютерах, подключенных к сети через Интернет). Пользователь обычно получает ежедневное уведомление со всеми результатами, которые были раскрыты за прошлый день. Система возвращает список результатов для каждого документа, который содержит термин "патент", который был либо обнаружен системой, или модифицирован в течение прошлого дня. Во многих случаях определенные изменения недостаточно интересны для пользователя, чтобы о них следовало уведомлять, и их можно рассматривать как надоедливые. Пользователь может рассматривать результаты как надоедливые, когда в документе может произойти изменение дескриптора безопасности или изменение других свойств, которые не видны для пользователя.
Сущность изобретения
Данный раздел "Сущность изобретения" предоставлен для представления в упрощенной форме выбора концепций, которые дополнительно описаны ниже в "Подробном описании изобретения". Этот раздел "Сущность изобретения" не предназначен для идентификации ключевых свойств или существенных свойств заявленного предмета изобретения и не предназначен для использования в качестве помощи при определении объема заявленного предмета изобретения.
Настоящее раскрытие направлено на механизмы поиска извещения, которые отслеживают значения только некоторого набора соответствующих свойств в запросах. Всякий раз, когда система просматривает документ, значения этого набора свойств (называемого "сигнатурой содержания") сопоставляет со старыми значениями (называемыми "старой сигнатурой содержания"). Если соответствия отсутствуют, это представляет собой показатель того, что документ был изменен. Если изменилось только не представляющее интерес свойство (например, дескриптор безопасности), документ не будет считаться изменившимся, поскольку значение этого свойства не отслеживалось ни старой сигнатурой содержания, ни новой сигнатурой содержания и, таким образом, продолжает сохраняться соответствие.
Кроме того, администратор может изменять набор соответствующих свойств документа (например, схему). Если набор свойств изменяется, например, в результате добавления свойства к "соответствующему набору", документ выглядит как изменившийся. Документ выглядит как изменившийся, поскольку старая сигнатура содержания включает в себя другой набор свойств, чем новая сигнатура содержания так, что другое содержание будет представлено для сопоставления. Таким образом, система может определять, что схема документа, а не сам документ, изменилась. В варианте воплощения система может детектировать эту ситуацию, отслеживая "цифровую сигнатуру" версии схемы, например, проверочную сумму. Если новая сигнатура содержания не соответствует старой сигнатуре содержания, и "версия схемы" не изменилась, тогда документ изменился. Если "версия схемы" также изменилась, тогда документ можно рассматривать, как неизменившийся (поскольку может быть лучше избежать отправки извещения, которое может быть надоедливым для пользователя посредством отправки уведомления для документа, который фактически не был изменен).
Эти и другие свойства и преимущества будут понятны из чтения следующего подробного описания изобретения со ссылкой на приложенные чертежи. Следует понимать, что как предыдущее общее описание, так и следующее подробное описание изобретения являются только пояснительными и не ограничительными для заявленного изобретения.
Краткое описание чертежей
На фиг.1 представлено вычислительное устройство, которое можно использовать в соответствии с примерным вариантом воплощения настоящего изобретения.
На фиг.2 иллюстрируется блок-схема системы для извещений поиска значительных изменений.
На фиг.3 иллюстрируется блок-схема механизма системы, обрабатывающего запрос извещения поиска.
На фиг.4 показана блок-схема процесса определения, следует ли инициировать уведомление извещения.
Подробное описание изобретения
Варианты воплощения более полно описаны ниже со ссылкой на прилагаемые чертежи, которые формируют их часть и которые представляют, в качестве иллюстрации, конкретные варианты воплощения. Помимо прочего, различные описанные здесь варианты воплощения могут быть воплощены как способы, устройства или их комбинация. Аналогично, различные варианты воплощения могут принимать форму варианта воплощения, полностью выполненного как аппаратное средство, или варианта воплощения, полностью выполненного как программное средство, или варианта воплощения, комбинирующего программные и аппаратные аспекты. Следующее подробное описание изобретения поэтому не следует рассматривать в ограничительном смысле.
Как показано на фиг.1, одна примерная система для воплощения изобретения включает в себя вычислительное устройство, такое как вычислительное устройство 100. Вычислительное устройство 100 может быть выполнено как клиент, сервер, мобильное устройство или любое другое вычислительное устройство, которое взаимодействует с данными во взаимодействующей системе, основанной на сети. В очень общей конфигурации вычислительное устройство 100 обычно включает в себя, по меньшей мере, один модуль 102 обработки и системную память 104. В зависимости от точной конфигурации и типа вычислительного устройства системная память 104 может быть энергозависимой (например, RAM (ОЗУ, оперативное запоминающее устройство)), энергонезависимой (например, ROM (ПЗУ, постоянное запоминающее устройство), запоминающее устройство типа флэш и т.д.) или может представлять собой некоторую комбинацию этих двух типов устройств. Системная память 104 обычно включает в себя операционную систему 105, одно или больше приложений 106 и может включать в себя программные данные 107. Службы 108 уведомления извещения, которые подробно описаны ниже со ссылкой на фиг.2-4, воплощены в системной памяти 104.
Вычислительное устройство 100 может иметь дополнительные свойства или функции. Например, вычислительное устройство 100 может также включать в себя дополнительные устройства хранения данных (съемные и/или несъемные), такие как, например, магнитные диски, оптические диски или магнитная лента. Такое дополнительное хранилище представлено на фиг.1 в виде съемного хранилища 109 и несъемного хранилища 110. Компьютерные носители хранения могут включать в себя энергозависимые и энергонезависимые, съемные и несъемные носители, воплощенные с помощью любого способа или технологии для хранения информации, такой как считываемые компьютером инструкции, структуры данных, программные модули или другие данные. Системная память 104, съемное хранилище 109 и несъемное хранилище 110 все представляют собой примеры компьютерных носителей хранения. Компьютерные носители хранения включают в себя, но не ограничены этим, RAM, ROM, EEPROM (ЭСППЗУ, электрически стираемое программируемое постоянное запоминающее устройство), запоминающее устройство типа флэш или другие технологии запоминающих устройств, CD-ROM, цифровой универсальный диск (DVD) или другое оптическое хранилище, магнитные кассеты, магнитную ленту, хранилище на магнитном диске или другие магнитные устройства хранения, или любой другой носитель, который можно использовать для сохранения требуемой информации, и доступ к которому может осуществляться с помощью компьютерного устройства 100. Любой такой компьютерный носитель хранения может представлять собой часть устройства 100. Вычислительное устройство 100 может также иметь входное устройство (устройства) 112, такое как клавиатура, мышь, стилус, устройство голосового ввода, устройство сенсорного ввода и т.д. Выходное устройство (устройства) 114, такие как дисплей, громкоговорители, принтер и т.д., также могут быть включены в систему.
Вычислительное устройство 100 также содержит соединения 116 связи, которые позволяют устройству осуществлять связь с другими вычислительными устройствами 118, например, через сеть. Сеть включает в себя локальные вычислительные сети и глобальные вычислительные сети, а также другие крупномасштабные сети, включающие в себя, но без ограничений, внутренние сети и внешние сети. Соединение 116 связи представляет собой один пример среды связи. Среда связи обычно может быть воплощена с помощью считываемых компьютером инструкций, структур данных, программных модулей или других данных в модулированном данными сигнале, таком как несущая волна или другой механизм транспортирования, и включает в себя любую среду доставки информации. Термин "модулированный данными сигнал" означает сигнал, одну или больше характеристик которого устанавливают или изменяют таким образом, чтобы кодировать информацию в сигнале. В качестве примера, и без ограничений, среда связи включает в себя проводные среды, такие как кабельная сеть или прямое проводное соединение, и беспроводные среды, такие как акустическая, RF (РЧ, радиочастотная), инфракрасная и другие беспроводные среды. Используемый здесь термин "считываемые компьютером носители" включает в себя как носители хранения, так и среды связи.
Настоящее раскрытие направлено на механизмы поиска извещения, которые отслеживают значения из набора соответствующих свойств в запросах. Веб поисковый агент, который представляет собой автоматизированную программу, которая методически просматривает всемирную сеть, может использоваться для поиска документов. Всякий раз, когда, например, документ "просматривается" системой, значения этого набора свойств (называется "сигнатурой содержания") сопоставляют со старыми значениями (называемыми "старой сигнатурой содержания"). (Документы также могут быть сопоставлены путем сравнения значений самих свойств документов; однако, это обычно не так эффективно, как, например, использование функции хеширования MD5, для получения сигнатур, которые затем можно сравнивать.) В случае отсутствия соответствия это означает, что документ имеет представляющее интерес содержание, которое изменилось. Если изменилось только не представляющее интерес свойство (например, дескриптор безопасности), документ обычно не будет отмечен флагом как изменившийся, поскольку значение этого свойства не было отслежено ни старой сигнатурой содержания, ни новой сигнатурой содержания.
Администратор может изменять набор соответствующих свойств документа (например, схему). Если набор изменился, например, в результате добавления свойства к "соответствующему набору", документы будут выглядеть как изменившиеся. Документы выглядят как изменившиеся, поскольку старая сигнатура содержания включает в себя другой набор свойств, чем новая сигнатура содержания, таким образом, что отличающееся содержание может быть представлено для сопоставления. Таким образом, система может определять, что схема документа, а не сам документ, изменилась.
Например, если набор соответствующих свойств представляет собой свойство A и свойство B, (старая) сигнатура содержания включает в себя значение свойства A и значение свойства B. Когда администратор добавляет свойство C к набору соответствующих свойств, схема изменяется. Новая сигнатура содержания обычно включает в себя значения всех свойств (A, B и C). Когда новую сигнатуру содержания, которая содержит (A+B+C), сравнивают со старой сигнатурой (A+B) содержания, их значения не соответствуют друг другу. Когда значения не соответствуют друг другу, документ, таким образом, выглядит как изменившийся, несмотря на тот факт, что сами значения свойств A и B не изменились.
Система может детектировать эту ситуацию путем отслеживания "цифровой сигнатуры" версии схемы, например, проверочной суммы. Например, можно отслеживать проверочную сумму идентификаторов свойства, которая не включает в себя значения свойства. Отслеживание проверочной суммы идентификаторов свойства обычно определяет присутствие соответствующих свойств в документе. Если новая сигнатура содержания не соответствует старой сигнатуре содержания, и "версия схемы" не изменилась, тогда документ изменился. Если "версия схемы" также изменилась, тогда документ можно рассматривать как неизменившийся.
На фиг.2 иллюстрируется блок-схема системы для извещений поиска существенного изменения в соответствии с аспектами настоящего изобретения. Приложение 210 сборщик обеспечивает обобщенный механизм для сбора предметов поиска, таких как документы, из множества хранилищ различных форматов и языков. Приложение 210 сборщик обрабатывает содержание документа, преобразуя его в унифицированный формат, пригодный, прежде всего, для построения полного индекса текста среди всех документов. Конвейер 220 сборщика обеспечивает для множества потребителей доступ к собранным документам. Приложение 210 сборщик обычно разрешает для множества потребителей извлекать документы только один раз и обрабатывать одни и те же данные.
ARPI (ППМА, подключаемый программный модуль архивирования) представляет собой потребитель конвейера сборщика. Когда приложение 210 сборщик просматривает документ, для содержания просматриваемого документа рассчитывают цифровую сигнатуру (например, функцию хеширования MD5). ARPI записывает хеш MD5 в дополнение к остальным свойствам в хранилище свойств (такое, как сохраненное в базе 240 данных SQL (ЯСЗ, язык структурированных запросов)). Кроме того, ARPI также может записывать сигнатуру схемы, которая может представлять собой (например) проверочную сумму всех соответствующих свойств документа.
На фиг.3 иллюстрируется блок-схема механизма обработки системы запроса извещения поиска в соответствии с аспектами настоящего изобретения. Когда пользователь создает извещение поиска, получаемый в результате запрос извещения сохраняют в обработчике 310 извещений поиска. Извещение затем инициируют, например, через квант (который может представлять собой, например, предопределенный период времени), например, ежедневно или еженедельно. Когда извещение инициируют, обработчик 310 извещений поиска выполняет запрос поиска для проверки, имеются ли какие-либо новые результаты, о которых пользователь извещения должен быть уведомлен. Объектная модель 320 принимает запрос и передает этот запрос в процессор 330 запросов. Процессор 330 запросов вырабатывает команды запроса в хранилище 340 свойств и индекс 350 для полного текста. Как описано ниже, запрос используют для определения, имеются ли какие-либо новые документы, которые, например, удовлетворяют запросу поиска и которые были добавлены после последнего времени уведомления, или имеются ли какие-либо соответствующие документы, которые были изменены после последнего времени уведомления.
Пример запроса, который получает 10 лучших результатов, созданных/измененных после последнего времени уведомления и упорядоченных по рангу, может быть представлен в следующем виде:
SELECT top 10 Workld, docTitle, docAuthor, path...
FROM SCOPE()
WHERE FREETEXT(defaultProperties, 'термины запроса')
AND
((DiscoveryTime > Последнее время, когда этот запрос поиска был выполнен') //Этот документ был только что обнаружен
OR
(ModificationTime > 'последнее время, когда этот запрос поиска был выполнен')) //Этот документ был в последнее время модифицирован
THEN ORDER_BY_RANK()
Как описано выше, пользователям часто представляют результаты поиска, которые содержат изменившиеся документы, которые не соответствуют пользователю извещения. Одна из основных причин состоит в том, что цифровую сигнатуру (например, хеш MD5) рассчитывают по любому отслеживаемому свойству набора схемы. Если администратор добавил или удалил свойства из набора, тогда на основании только этого извещение может быть ложно инициировано.
Когда создается индекс полного текста, новые свойства документов рассчитывают и добавляют к хранилищу свойств (с помощью ARPI). Новые свойства используют для установки таких свойств, как "Время обнаружения" и "Время модификации", документа поиска. Время обнаружения представляет собой первое время, когда документ был обнаружен приложением сборщиком, выполняющим просмотр. Время модификации обозначает, когда была выполнена какая-либо значимая модификация документа после последнего просмотра.
Для определения свойства "ModificationTime" отслеживают свойство "UrlSignature", свойство ContentSignature, свойство SchemaSignature и свойство SchemaModificationTime. Таблицу SQL MSSAlertDocHistory можно использовать для отслеживания свойств всех документов и ресурсов, которые были обработаны системой.
Например, свойство UrlSignature представляет собой значение хеш MD5 URL (УУР, унифицированный указатель информационного ресурса), ContentSignature представляет собой хеш MD5 свойств, которые отслеживаются извещениями, свойство SchemaSignature представляет собой проверочную сумму (или другую соответствующую цифровую сигнатуру, включающую в себя хеш MD5) набора свойств, отслеживаемых извещениями, и свойство SchemaModificationTime представляет собой последнее время, когда изменился набор свойств, отслеживаемых извещениями. Свойство "ModificationTime" также можно использовать для определения последней модификации документа.
Когда в результате изменений происходят изменения в наборе свойств, эти изменения детектируют с помощью приложения сборщика системы уведомления извещения. Система уведомления извещения обычно не выбирает уведомлять пользователя о том, что документ изменился, когда то, что фактически изменилось, представляет собой набор "соответствующих свойств", поскольку пользователь обычно не интересуется, когда новое свойство просто добавляют к набору соответствующих свойств, или когда свойство просто удаляют из набора соответствующих свойств.
На фиг.4 показана блок-схема последовательности операций обработки для определения, следует ли инициировать уведомление извещения в соответствии с аспектами изобретения. Для определения, был ли определен или модифицирован документ 410, обработка (такая как приложение 210 сборщик) определяет в операции 420, была ли изменена цифровая сигнатура URL, которая ассоциирована с документом 410. Если обработка определяет, что соответствие для цифровой сигнатуры отсутствует, обработка переходит к операции 430, где система извещения сообщает о том, что новый документ, представляющий интерес, был в последнее время создан. Если обработка определяет, что сохраняется соответствие сигнатуры URL, обработка переходит к операции 440.
Проблема может возникнуть, если два документа указывают на одно и то же свойство UrlSignature. Когда два документа указывают на одно и то же свойство UrlSignature, и выполняется полный просмотр, система может сообщать, что произошли существенные изменения, когда фактически они могли не произойти. Выполнение и сохранение хеш MD5 размером 64 бита могло бы сделать эту проблему крайне маловероятной, даже когда корпус (например, тело текста документа) очень велик. Для того чтобы сделать возникновение этой проблемы еще менее вероятными, может быть сохранен весь URL в дополнение к сохранению UrlSignature.
При выполнении операции 440 обработка определяет, была ли изменена цифровая сигнатура содержания, которая ассоциирована с документом 410. Если обработка определяет, что соответствие для сигнатуры содержания отсутствует, обработка переходит к операции 450. Если обработка определяет, что существует соответствие для сигнатуры содержания, обработка переходит к операции 470.
При выполнении операции 450 обработка определяет, изменилась ли схема, ассоциированная с документом 410. Если обработка решает, что схема изменилась, свойства сигнатуры схемы и время модификации схемы обновляют. Если обработка определяет, что схема не была изменена, свойства, ассоциированные с документом 410, обычно не требуют обновления.
При выполнении операции 470 обработка определяет, изменилась ли сигнатура схемы. Если обработка определяет, что схема изменилась, обработка переходит к операции 490, в ходе которой обновляют свойства сигнатуры схемы и время модификации схемы (свойство "время модификации" документа обычно не обновляют). Если обработка определяет, что схема не была изменена, обработка переходит к операции 480. При выполнении операции 480 система извещения отправляет уведомление о том, что документ, который представляет интерес, был в последнее время модифицирован. Свойство времени модификации также обновляют.
В Таблице 1 иллюстрируется общий сценарий, с которым встречаются, когда вносят изменения в существующий документ:
Таблица 1 | ||||||
T0 | T1 | T2 | T3 | T4 | T5 | |
Уведомление извещения | Изменение № 1 документа | Просмотр | Изменение № 2 документа | Просмотр | Уведомление извещения | |
Сигнатура содержания | Х | Никакого эффекта, пока не будет выполнен просмотр | Х1 | Никакого эффекта, пока не будет выполнен просмотр | X2 | Уведомить об изменении № 1 и изменении № 2 |
Сигнатура схемы | Y | Y | Y | |||
Время определения | Т | Т | T | |||
Время модификации схемы | Т | Т | T | |||
Время модификации | Т | Т2 | T4 |
В момент времени T0 уведомление извещения было выполнено со статусом сигнатуры содержания свойств существующего документа, сигнатуры схемы, времени определения, времени модификации схемы и времени модификации, которые записаны как X, Y, T, T и T соответственно.
В момент времени T1 первое изменение выполнено в документе. Изменение в документе не оказывает никакого влияния на свойства документа, поскольку просмотр не произошел, и изменения не были обнаружены системой.
В момент времени T2 происходит просмотр. Изменение сигнатуры содержания детектируют, и состояние сигнатуры содержания обновляют как X1. Состояние времени модификации обновляют как T2. (В это время никакое уведомление извещения не выполняют, поскольку просмотр обычно происходит постоянно, в то время как уведомления извещения могут быть выполнены через предопределенные интервалы времени, как уведомления извещения, которые выполняют в моменты времени T0 и T5, как показано в таблице.)
В момент времени T3 второе изменение выполняют для документа. Изменение документа не оказывает какого-либо влияния на свойства документа до тех пор, пока не произойдет просмотр.
В момент времени T4 происходит второй просмотр. Детектируют изменение сигнатуры содержания, и состояние сигнатуры содержания обновляют как X2, и время модификации обновляется как T4.
В момент времени T5 происходит уведомление извещения. Пользователя системы уведомления извещения уведомляют о первом и втором изменениях существующего документа.
В Таблице 2 иллюстрируется, когда выполняют изменения в существующем документе и в схеме, которая ассоциирована с существующим документом:
Таблица 2 | ||||||
Т0 | Т1 | Т2 | Т3 | Т4 | Т5 | |
Уведомление извещения | Просмотр | Изменение схемы | Изменение документа | Просмотр | Уведомление извещения | |
Сигнатура содержания | X | X | Отсутствие эффекта до тех пор, пока не произойдет просмотр | Отсутствие эффекта до тех пор, пока не произойдет просмотр | X2 | Не уведомлять пользователя, поскольку изменение рассматривается как изменение схемы |
Сигнатура схемы | Y | Y | Y1 | |||
Время определения | T | T | T | |||
Время модификации схемы | T | T | T4 | |||
Время модификации | T | T | T1 |
В момент времени T0 выполняют уведомление извещения с состоянием сигнатуры содержания свойств существующего документа, сигнатуры схемы, времени определения, времени модификации схемы и времени модификации, записанными как X, Y, T, T и T, соответственно.
В момент времени T1 выполняют просмотр, в ходе которого не были детектированы какие-либо изменения документа или схемы.
В момент времени T2 происходит изменение схемы. (В это время никакое уведомление извещения не выполняют, поскольку просмотр обычно происходит постоянно, в то время как уведомления извещения могут выполняться через предопределенные интервалы времени, такие как уведомления извещения, которые происходят в моменты времени T0 и T5, как показано в таблице.)
В момент времени T3 выполнили изменение документа. Изменение документа не оказывает влияния на свойства документа до тех пор, пока не произойдет просмотр.
В момент времени T4 происходит второй просмотр. Детектируют изменение сигнатуры содержания, и состояние сигнатуры содержания обновляют до X2, состояние сигнатуры схемы обновляют до Y1, и время модификации схемы обновляют до T4. Состояние времени модификации не обновляют, даже при том, что состояние содержания сигнатуры изменилось с X1 на X2, поскольку состояние времени модификации схемы также изменилось. При этом нет необходимости распознавать, следует ли изменение сигнатуры содержания сопоставлять с фактическим изменением в одном из представляющих интерес свойств документа или следует ли сопоставить такое изменение с изменением в наборе отслеживаемых свойств.
В момент времени T5 возникает время уведомления извещения. Пользователя системы уведомления извещения не уведомляют об изменении существующего документа, поскольку изменилась схема.
В альтернативном варианте воплощения список свойств в наборе "соответствующих свойств" можно отслеживать с информацией управления версиями. Всякий раз, когда выполняют изменение набора свойств, может быть выполнено приращение уровня версии. Уровень версии также может быть сохранен в таблице MSSAlertDocHistory SQL (как описано выше со ссылкой на фиг.3). Когда выполняют просмотр, и текущая версия отличается от сохраненной версии, значение версии в таблице и значение свойства сигнатуры схемы обновляют, в то время как время модификации схемы не обновляют и оставляют тем же. В соответствии с этим, любое изменение, которое происходит с существующим документом после последнего уведомления извещения (но было выполнено перед изменением набора соответствующих свойств), обычно отправляют пользователю. Кроме того, любое изменение, которое происходит с существующим документом после изменений набора соответствующих свойств, не отправляют пользователю.
В альтернативном варианте воплощения возможно, чтобы некоторые изменения, которые фактически происходят, не были доложены пользователю. Этот вариант воплощения можно использовать в соответствии с политикой использования некоторых достоверных уведомлений в пользу уменьшения чрезмерного количества несоответствующих уведомлений.
В другом варианте воплощения сигнатуру основных свойств можно использовать для отслеживания изменений, выполненных для предопределенного набора свойств. Когда версия отслеживаемых свойств не соответствует версии, содержащейся в таблице MSSAlertDocHistory SQL, можно обратиться к сигнатуре основных свойств. Если сигнатура основных свойств не соответствует, пользователя можно уведомить об изменении. В соответствии с этим, пользователь теряет меньшее количество уведомлений по сравнению с уведомлениями, выполняемыми исключительно на основе изменений отслеживаемых свойств.
В еще одном варианте воплощения можно отслеживать сигнатуры URL с тем, чтобы помочь при определении, когда поисковый агент фактически повторно определяет одни и те же документы множество раз. Например, когда администратор модифицирует правила, используемые во время правил просмотра, или модифицирует регистрационные данные счета, множество документов могут стать недоступными для поискового агента. Устранение проблемы часто приводит к тому, что множество документов вначале будут удалены из индекса и затем повторно добавлены. Для решения этой проблемы сигнатуры URL содержат (и не удаляют) независимо от поведения поискового агента в отношении удаления содержания из каталога. В соответствии с этим к поддерживаемым сигнатурам URL можно обращаться для исключения избыточного уведомления, получаемого в результате повторного добавления содержания.
На фиг.5 показана блок-схема последовательности операций, иллюстрирующая процесс для отправки результатов извещения поиска. Во время операции 510 обработки 500 результат первого запроса получают из первой машины поиска, при этом результат запроса получают в ответ на первый запрос, который содержит первое значение поиска, для локализации ресурсов. Во время операции 520 формируют первую цифровую сигнатуру первой соответствующей части ресурса, идентифицированного по результатам первого запроса поиска, при этом первая соответствующая часть содержит содержание, идентифицированное первым значением поиска. Во время операции 530 результат второго запроса принимают из второй машины поиска, при этом результат запроса получают в ответ на второй запрос, который содержит первый запрос поиска, и при этом вторая машина поиска является той же самой или отличается от первой машины поиска. При выполнении операции 540 вторую цифровую сигнатуру формируют из второй соответствующей части ресурса, идентифицированного по результатам второго запроса поиска, при этом вторая соответствующая часть содержит содержание, идентифицированное первым значением поиска. Во время операции 550 пользователю отправляют уведомление в ответ на то, что при сравнении первая и вторая цифровые сигнатуры оказались разными.
Приведенные выше описание, примеры и данные обеспечивают полное описание производства и использования состава изобретения. Поскольку множество вариантов воплощения изобретения могут быть выполнены без выхода за пределы сущности и объема изобретения, изобретение определено приложенной ниже формулой изобретения.
Класс G06F17/30 информационный поиск; структуры баз данных для этой цели
Класс H04H60/81 характеризующиеся системами передачи как таковыми