用于信息捕获及检索的方法及系统的制作方法

文档序号:6655394阅读:209来源:国知局
专利名称:用于信息捕获及检索的方法及系统的制作方法
技术领域
本发明大体而言涉及搜索引擎。更具体而言,本发明涉及用于信息捕获及检索的 方法及系统。
背景技术
用户使用诸如个人计算机、个人数字助理或移动电话等客户机装置产生及存取大 量文件,例如电子邮件、网页、字处理文档、电子表格文档、即时信使消息、及显示 文档。 一些文章存储于一个或多个耦接至客户机装置、可由客户机装置存取、或以其 它方式与客户机装置相关联的存储装置上。用户有时希望搜索所述存储装置来査找文 章。
传统的客户机装置搜索应用程序可能会使客户机装置的性能大大降低。例如,某 些传统的客户机装置搜索应用程序通常使用批处理来为所有文章加索引,而此可导致 客户机装置性能在批处理期间显著下降。
另外,批处理仅周期性地进行。因此,当用户实施搜索时,结果中有时不包括最 近的文章。而且,如果批处理是安排在客户机装置不能运行的时间且因此不能执行一长的时间周期,与客户机装置相关联的文章的索引便可能变成过期的。传统的客户机 装置搜索应用程序也可能需要在每次批处理时重建索引或建立一部分新的索引并实施 一可能使用大量客户机装置资源的合并操作。传统的客户机装置搜索应用程序有时还 在运行时使用大量系统资源,从而导致客户机装置性能下降。
另外,传统的客户机装置搜索应用程序可能需要用户进行显式搜索查询来产生结 果,而且可能仅限于查阅一特定应用程序的文件的文件名称或内容。

发明内容
本发明的各实施例包括用于信息捕获及检索的方法及系统。在一实施例中, 一搜 索引擎实施一种方法,该方法包括在发生一事件时实时地捕获所述事件,其中所述
事件包括用户与一客户机装置上的一文件的交互作用,其中所述文章能够与复数个客 户机应用程序中的至少一个相关联;确定是否应为所述事件加索引、且在应为所述事 件加索引的情况下为所述事件加索引并存储所述事件及与所述文章相关联的内容的至 少一部分。在另一实施例中, 一搜索引擎实施一种方法,该方法包括捕获复数个发 生于一客户机装置上的事件,其中所述事件与复数个客户机应用程序中的至少一个相 关联,其中在所述事件发生时实时地捕获所述事件中的至少一些;为所述事件中的至 少一些加索引并对其加以存储,其中被加索引并存储的事件具有一关联的文章;接收 一搜索査询;及根据与所述搜索查询相关的事件对相关文章进行定位。
所提及的这些实例性实施例并非用来限制或界定本发明,而是用来提供本发明实 施例的实例以帮助理解本发明。各实例性实施例阐述于具体实施方式
部分中,且对在具体实施方式
部分中提供对本发明的进一步说明。本发明各实施例所提供的优点可通 过査阅此说明书进一步加以理解。


参照附图阅读下文具体实施方式
部分,将会更好地了解本发明的这些及其它特 征、方面及优点,附图中
图1为一图解说明一本发明一实施例可在其中运行的实例性环境的图式;
图2为一流程图,其图解说明在本发明一实施例中一种用以捕获及处理与一客户 机装置相关联的事件数据的实例性方法;及
图3为一流程图,其图解说明在本发明一实施例中一种用以检索与事件相关联的 文章的实例性方法。
具体实施例方式
现在参见附图,在这几个图式中,相同编号指示相同元件,图l为一图解说明一
用于实施本发明一实施例的实例性环境的方块图。虽然所示环境反映一客户机侧搜索 引擎架构实施例,但也可具有其它实施例。图1所示的系统100包括多个可通过一网 络106与一服务器装置150通信的客户机装置102a-n。所示网络106包括因特网。在 其它实施例中,可代之以使用例如内联网等其它网络。此外,根据本发明的方法可在 不与服务器装置或网络进行通信的单个客户机装置中使用。
图1所示客户机装置102a-n分别包括一计算机可读媒体108。图1所示实施例包 括一耦接至一处理器110的随机存取存储器(RAM) 108。处理器110执行存储于存 储器108中的计算机可执行程序指令。此类处理器可包括一微处理器、一 ASIC、状态 机、或其它处理器,且可为若干适当计算机处理器中的任何一个,例如由位于Santa Clara, California的Intel公司及位于Schaumburg, Illinois的Motorola公司提供的处理 器。此类处理器包括用于存储指令的媒体(例如计算机可读媒体)或者可与所述媒体 进行通信,所述指令在由所述处理器执行时会使所述处理器实施本文中所述的步骤。 计算机可读媒体的各实施例包括(但不限于)能为处理器(例如客户机102a的处理器 110)提供计算机可读指令的电子、光学、磁性或其它存储或传输装置。其它适当媒体 的实例包括(但不限于)软盘、CD-ROM、 DVD、磁盘、存储芯片、ROM、 RAM、 ASIC、经配置的处理器、所有光学媒体、所有磁带或其它磁性媒体、或计算机处理器 可自其读取指令的任何其它媒体。此外,各种其它形式的计算机可读媒体也可向计算 机传输或载送指令,包括路由器、专用或公用网络、或其它有线和无线传输装置或通 道。所述指令可包括任一种计算机编程语言的代码,包括(例如)C、 C++、 C#、 Visual Basic、 Java、 Python、 Perl、及JavaScript。
客户机装置102a-n可耦接至一网络106,或者另一选择为,可为一独立的机器。 客户机装置102a-n也可包括若干外部或内部装置,例如鼠标、CD-ROM、 DVD、键盘、 显示装置或其它输入或输出装置。客户机装置102a-n的实例为个人计算机、数字助理、 个人数字助理、蜂窝式电话、移动电话、智能电话、寻呼机、数字图形输入板、膝上 型计算机、因特网设备及其它基于处理器的装置。 一般而言,客户机装置102a-n可为 能够支持一个或多个客户机应用程序的任何适当操作系统(例如Microsoft Windows 或Linux)上运行的任一类型的基于处理器的平台。例如,客户机装置102a 可包括一执行客户机应用程序一其亦称作客户机应用程序120—的个人计算机。客户 机应用程序120可包含于存储器108中并可包括(例如)字处理应用程序、电子表格 应用程序、电子邮件应用程序、即时信使应用程序、显示应用程序、因特网浏览器应 用程序、日历/组织器应用程序、视频播放应用程序、音频播放应用程序、图像显示应 用程序、文件管理程序、操作系统外壳程序、及其它能够由一客户机装置执行的应用 程序。客户机应用程序也可包括与其它应用程序(例如,举例而言, 一在客户机装置 102a上执行的用来与一远程电子邮件服务器交互作用以存取电子邮件的网络浏览器) 交互作用或存取其它应用程序的客户机侧应用程序。
用户112a可通过客户机装置102a的各种输入及输出装置与各种客户机应用程序
120及和客户机应用程序120相关联的文章交互作用。文章包括(例如)字处理文档、 电子表格文档、显示文档、电子邮件、即时信使消息、数据库条目、日历条目、约定 条目、任务管理器条目、源代码文件、及其它客户机应用程序内容文件、消息、项目、 各种格式的网页(例如HTML、 XML、 XHTML)、可移植文档格式(PDF)文件、及 媒体文件(例如图像文件、音频文件及视频文件)、或任何其它文档或项目或成组的文 档或项目或任何适当类型的信息。
用"112a与文章、客户机应用程序120及客户机装置102a的交互作用能创建可 查看、记录、分析或以其它方式使用的事件数据。 一事件可为任何可与一文章、客户 机应用程序120、或客户机装置102a相关联的事件,例如在一文章中输入文本、在一 显示装置上显示一文章、发送一文章、接收一文章、操纵一输入装置、打开一文章、 保存一文章、打印一文章、关闭一文章、打开一客户机应用程序、关闭一客户机应用 程序、空闲时间、处理器加载、磁盘存取、存储器使用、将一客户机应用程序导至前 台、改变应用程序的视频显示细节(例如重设大小或最小化)及与一文章、 一客户机 应用程序、或客户机装置相关联的任何其它适当事件。另外,事件数据可产生于客户 机装置102a独立于用户112a与一文章交互作用时,例如在接收一电子邮件或实施一 所排定任务时。
客户机装置102a的存储器108也可包含一捕获处理器124、 一队列126、及一搜 索引擎122。客户机装置102a也可包含一数据存储器140或与数据存储器140通信。 捕获处理器124可捕获事件并将其传送至队列126。队列126可将所捕获事件传送至 搜索引擎122或搜索引擎122可从队列126中检索新事件。在一实施例中,当一新事 件到达队列126中时,队列126会通知引擎122,且当搜索引擎122准备好处理该事 件(或这些事件)时,搜索引擎122从队列126中检索该事件(或这些事件)。当搜索 引擎接收到一事件时,可对所述事件进行处理并可将其存储于数据存储器140中。搜 索引擎122可从用户112a接收一显式查询或产生一隐式查询,且其可响应于所述查询 而从数据存储器140中检索信息。在另一实施例中,所述队列位于搜索引擎122中。 在再一实施例中,客户机装置102a不具有队列且事件被直接从捕获处理器124传送至 搜索引擎122。根据其它实施例,使用一信息交换协议来传送事件数据。所述信息交 换协议可包括(例如)有利于数据交换的任何适当规则或规约,并可包括(例如)下 述通信机理中的任何一种可扩充标记语言-远程过程调用协议(XML/RPC)、超文本 传输协议(HTTP)、简单对象访问协议(SOAP)、共享存储器、网络应用程序接口、 本地或远程过程调用、或任何其它适当的信息交换机理。
捕获处理器124可通过识别并编译与一事件相关的事件数据来捕获一事件。事件 的实例包括发送或接收一电子邮件消息、用户査看一网页、保存一字处理文档、打印 一电子表格文档、输入文本以创作或编辑一电子邮件、打开一显示应用程序、关闭一 即时信使应用程序、输入一按键、移动鼠标、将文本复制到剪贴板上、及使鼠标停留 在超级链接上。捕获处理器124针对一涉及到用户査看网页的事件所捕获的事件数据
的实例可包括网页的URL、用户査看网页的时间及日期、呈原始或经处理格式的网页 内容、原始文档的大小、显示给用户的网页的屏幕快照、屏幕快照的一縮略形式、及 一与网页或网站相关联的图标。
在图l所示实施例中,捕获处理器124包括多个捕获组件。例如,图l所示捕获 处理器124为每一客户机应用程序包括一单独的捕获组件,以捕获与每一应用程序相 关的事件。捕获处理器124也可包括一用于监控整个网络活动的单独捕获组件,以捕 获与网络活动(例如接收或发送一即时信使消息)相关的事件数据。图l所示的捕获 处理器124也可包括一用于监控整个客户机装置性能数据(例如处理器负载、空闲时 间、磁盘存取、使用中的客户机应用程序、及可用的存储器大小)的单独客户机装置 捕获组件。图1所示的捕获处理器124还包括一用于监控并捕获用户输入的按键的单 独捕获组件及一用于监控并捕获在一与客户机装置102a相关联的显示装置上所显示 的项目(例如文本)的单独捕获组件。 一单独捕获组件可监控多个客户机应用程序且 多个捕获组件可监控单个客户机应用程序的不同方面。
在一实施例中,捕获处理器124可通过各个单独捕获组件监控客户机装置上的活 动并可通过一广义事件定义及登记机理(例如一事件概要)来捕获事件。每一捕获组 件均可定义其自身的事件概要或可使用一预定义事件概要。事件概要可因捕获组件正 在监控的客户机应用程序或活动而异。大体而言,事件概要可(例如)通过提供与事 件相关联的事件数据的字段(例如事件时间)及与任何相关联文章相关的字段(例如 标题)以及任何相关联文章的内容(例如文档正文)来描述一事件的格式。事件概要 可描述与一事件相关的任何适当事件数据的格式。例如, 一由用户112a接收到的电子 邮件消息事件的事件概要可包括发送方、接收方或接收方列表、发送时间、发送日期、 及消息内容。 一网页当前正由一用户查看的事件概要可包括网页的统一资源定位符 (URL)、网页被査看的时间、用户査看网页所花费的时间长度、及网页内容。 一字处 理文档正由一用户保存的事件概要可包括文档标题、保存时间、文档格式、文档文本、 及文档位置。更一般地说,事件概要可描述事件发生时间前后的系统状态。例如,事 件概要可包含一与用户自其导航的先前网页相关联的网页事件的URL。另外,事件概 要可使用例如列表等更复杂的结构来描述字段。例如, 一事件概要可包含列出多个接 收方的字段。 一事件概要也可包含可选字段,以使一应用程序可在需要时包括额外的 事件数据。可通过将事件数据编译到由相关联事件概要所描述的字段中来捕获一事件。
捕获处理器124可捕获目前正发生的事件(或"实时事件")并可捕获过去已发 生的事件(或"历史事件")。实时事件可为"可加索引的"也可为"不可加索引的"。 在一实施例中,搜索引擎122为可加索引的实时事件加索引,但不为不可加索引的实 时事件加索引。搜索引擎122可根据事件的重要度来确定是否为一事件加索引。可加 索引的实时事件可能是与一文章相关联的更重要的事件,例如查看一网页、加载或保 存一文件、及接收或发送一即时消息或电子邮件。不可加索引的事件可被搜索引擎122 认为其重要性不足以为其加索引及加以存储,例如移动鼠标或选择一文章中的一部分
文本。或者,捕获处理器124可能能够确定事件不够重要,且不将其发送至队列126。 在此实施例中,可减少队列126上的负载并可增加系统速度。不可加索引的及/或可加 索引的事件可由搜索引擎122用来更新当前用户状态。虽然所有实时事件均可与用户 当前正在从事的活动(或当前用户状态)相关,但可为可加索引的实时事件加索引并 将其存储于数据存储器140中。或者,搜索引擎122可为所有实时事件加索引。实时 事件可包括(例如)发送或接收一文章(例如一即时信使消息)、查阅一文章的一部分 (例如选择一部分文本或在一网页的一部分上移动鼠标)、改变一文章(例如在一电子 邮件中输入字或在一字处理文档中粘贴句子)、关闭一文章(例如关闭一即时信使窗口 或改变一正被查看的电子邮件消息)、加载、保存、打开、或查看一文章(例如一字处 理文档、网页、或电子邮件)、收听或保存一MP3文件或其它音频/视频文件、或更新 一文章的元数据(例如对一网页加上书签、打印一显示文档、删除一字处理文档、或 移动一电子表格文档)。
历史事件类似于可加索引的实时事件,只是事件是发生于搜索引擎122安装之前 或因其他原因而未被捕获到,例如因在客户机装置102a可运行时搜索引擎122未运行 到一时间周期或因在事件发生时不存在用于一特定类型历史事件的捕获组件。历史事 件的实例包括用户所保存的字处理文档、媒体文件、显示文档、日历条目、及电子表 格文档、用户收件箱中的电子邮件、用户高速缓存中的网页、过去的即时信使会话、 及由用户加上书签的网页。捕获处理器124可通过周期性地漫游存储器108及该捕获 处理器124先前未捕获到的事件的任何相关联数据存储装置来捕获历史事件。捕获处 理器124也可通过请求某些客户机应用程序(例如网络浏览器或电子邮件应用程序) 以检索文章及其它相关联信息来捕获历史事件。例如,捕获处理器124可请求网络浏 览器应用程序获得用户所査看的所有网页或请求电子邮件应用程序获得所有与用户相 关联的电子邮件消息。这些文章可能当前并不存在于存储器108中或客户机装置102a 的存储装置上。例如,电子邮件应用程序可能须从一服务器装置中检索电子邮件。在 一实施例中,搜索引擎122为历史事件加索引。
在一实施例中,搜索引擎122可有选择地捕获历史事件并为其加索引。例如,可 将与事件的文章相关联的文章数据部分地用来确定是否捕获所述事件并为其加索引。
文章数据可包括(例如)文章的位置、文章的文件类型、及文章的存取数据。在一实 施例中,使用文章数据来确定一捕获得分并将所述捕获得分与一阈值相比较。如果一 特定事件的捕获得分高于所述阈值,则捕获所述事件并为其加索引。如果一文章的捕 获得分低于所述阈值,则不捕获所述事件也不为其加索引。同样地,搜索引擎122可 有选择地捕获实时事件并为其加索引。
在图1所示的一实施例中,以由一事件概要所描述的格式将捕获处理器124所捕 获的事件发送至队列126。捕获处理器124也可将性能数据发送至队列126。性能数据 的实例包括当前处理器负载、 一预定时间周期内的平均处理器负载、空闲时间、磁盘 存取、使用中的客户机应用程序、及可用存储器大小。性能数据也可由特定性能监控
组件(例如其中的一些可为搜索引擎122的一部分)来提供。队列126中的性能数据 可由搜索引擎122及捕获处理器124的捕获组件来检索。例如,捕获组件可检索性能 数据以改变发送至队列126的事件数量或所发送事件的详细程度(当系统繁忙时发送 较少或较小的事件)或事件发送的频率(当系统繁忙或有太多的事件等待处理时降低 事件的发送频度)。搜索引擎122可使用性能数据来确定其何时为各种事件加索引及其 何时及以何种频度发出隐式查询。
在一实施例中,队列126将事件保留至搜索引擎122准备好处理一个或多个事件 为止。或者,队列126使用性能数据来帮助确定多快地将所述事件提供至搜索引擎122。 队列126可包括一个或多个单独的队列一包括一用户状态队列及一索引队列。例如, 所述索引队列可对可加索引的事件进行排队。或者,队列126可具有额外队列或包含 单个队列。可使用存储器映像文件来将队列126构建成一循环优先队列。所述队列可 为一其中先于具有较低优先权的事件来伺服具有较高优先权的事件的多优先权队列, 且其它组件可指定其感兴趣的事件类型。大体而言,可赋予实时事件较历史事件高的 优先权,并可赋予可加索引的事件较不可加索引的实时事件高的优先权。队列126也 可具有其它构建形式。在另一实施例中,客户机装置102a不具有一队列126。在此实
施例中,事件被直接从捕获处理器传送至搜索引擎122。在其它实施例中,可使用例 如以下等适当的信息交换机理在捕获组件与搜索引擎之间传送事件可扩充标记语言-远程过程调用协议(XML/RPC)、超文本传输协议(HTTP)、简单对象访问胁议(SOAP)、 共享存储器、网络应用程序接口、本地或远程过程调用、或任何其它适当的信息交换 机理。
搜索引擎122可包含一编索引器130、 一查询系统132、及一格式化器134。查询 系统132可从队列126中检索实时事件及性能数据。査询系统132可使用性能数据及 实时事件来更新当前用户状态并产生一隐式查询。隐式查询可为一根据当前用户状态 自动产生的查询。查询系统132也可自用户112a接收并处理显式查询。性能数据也可 由搜索引擎122从队列126中检索以用于确定可能由搜索引擎122实施的活动的数量。
在图1所述实施例中,由编索引器130从队列126中检索可加索引的实时事件及 历史事件(可加索引的事件)。或者,队列126可将可加索引的事件发送至编索引器 130。编索引器130可为可加索引的事件加索引并可将其发送至数据存储器140来存储 在其中。数据存储器140可为任一类型的计算机可读媒体并可与客户机装置102a集成 在一起(例如为一硬盘驱动器),或处于客户机装置102a的外部例如一外部硬盘驱动 器或处于通过网络106存取的另一数据存储装置上。数据存储器可为一个或多个逻辑 或物理存储区。在一实施例中,数据存储器140可位于存储器108中。数据存储器140 可使用包括(但不限于)阵列、散列表、列表、及配对在内的数据存储方法中的一种 或一组合,并可包括压縮及加密。在图l所示实施例中,数据存储器包括一索引142、 一数据库144及一储存库146。
在一实施例中,当编索引器130接收到一事件时,编索引器130可根据所述事件
来确定与所述事件相关联的项(如果有)、所述事件的时间(如果具备)、与所述事件
相关联的图像(如果有)、及/或界定所述事件的其它信息。编索引器130可确定所述 事件是否为一先前接收到的事件的重复。编索引器130还可确定所述事件是否与其它 事件相关并将所述事件与相关事件相关联。例如,对于一所接收的电子邮件事件,编 索引器130可将所述电子邮件与来自同一会话的其它消息事件相关联。作为其他实例, 编索引器130可根据所述事件中所包含的文本或根据所述事件的时间来将一事件与其 它事件相关联。来自同一会话的各电子邮件可在一可存储于数据存储器140中的相关 事件对象中相互关联。
编索引器130可发送与事件相关联的项及位置信息并将其包含于数据存储器140 的索引142中。可将所述事件发送至数据库144以供存储并可将相关联文章的内容及 任何相关联的图像存储于储存库146中。可将与电子邮件消息相关联的会话对象存储 于数据库144中。
在图1所示实施例中, 一用户112a可将一显式査询输入到一显示于客户机装置 102a上的搜索引擎界面中,所述显式査询由搜索引擎122接收到。搜索引擎122还可 根据当前用户状态产生一隐式査询,所述当前用户状态可由查询系统132根据实时事 件加以确定。根据所述查询,查询系统132可在数据存储器140中确定相关信息的位 置并提供一结果集合。在一实施例中,所述结果集合包括与客户机应用程序120相关 联的文章或客户机文章的文章标识符。客户机文章包括与用户112a或客户机装置102a 相关联的文章,例如用户的电子邮件、字处理文档、即时信使消息、先前查看的网页 及任何其它与客户机装置102a或用户112a相关联的文章或文章的一部分。 一文章标 识符可为(例如) 一统一资源定位符(URL)、 一文件名、 一链接、 一图标、 一本地文 件的路径、或其它可用于标识一文章的适当信息。在另一实施例中,所述结果集合还 包括由一搜索引擎在一服务器装置上定位出的位于网络106上的文章或网络文章的文 章标识符。网络文章包括网络106上用户112a先前未查看或以其它方式参考的文章, 例如使用者112a先前未查看的网页。
格式化器134可从搜索引擎122的查询系统132接收搜索结果集合并可对所述结 果进行格式化以输出至一显示处理器128。在一实施例中,格式化器134可按XML、 HTML、或制表符定界文本形式来格式化所述结果。显示处理器128可包含于存储器 108中并可控制结果集合在一与客户机装置102a相关联的显示装置上的显示。显示处 理器128可包括各种组件。例如,在一实施例中,显示处理器128包括一超文本传送 协议(HTTP)服务器,所述超文本传送协议(HTTP)服务器接收对信息的请求并通 过构造及传输超文本标识语言(HTML)页面作出响应。在一种这样的实施例中,HTTP 服务器包括Apache网络服务器的一縮小比例型式。显示处理器128可与一 API集合 相关联以使各种应用程序能够接收并以各种格式显示所述结果。可按包括(例如)如 下在内的不同方式来构建所述显示API: Windows消息接发、DLL输出、COM界面、 VB、 JAVA、或NET库、或网络服务。
通过客户机装置102a-n,用户112a-n可通过网络106来彼此通信及与耦接至网络 106的其它系统及装置通信。如图1所示, 一服务器装置150可耦接至网络106。在图 1所示实施例中,搜索引擎122可将一由一显式或隐式査询或同时由二者构成的搜索 查询传输至服务器装置150。用户112a还可在搜索引擎界面中输入一搜索查询,所述 搜索查询可由客户机装置102a通过网络106传输至服务器装置150。在另一实施例中, 查询信号可改为发送至一代理服务器(未显示),然后由代理服务器将查询信号传输至 服务器装置150。亦可具有其他配置。
服务器装置150可包括一执行一搜索引擎应用程序(例如GoogleTM搜索引擎)的 服务器。在其它实施例中,服务器装置150可包括一相关信息服务器或一广告服务器。 类似于客户机装置102a-n,服务器装置150可包括一耦接至一计算机可读存储器162 的处理器160。服务器装置150—其被显示为单个计算机系统一 可构建成一计算机处理 器网络。服务器装置150的各实例为服务器、主计算机、联网的计算机、基于处理器 的装置、及相似类型的系统及装置。服务器处理器160可为若干种计算机处理器中的 任一种,例如由位于Santa Clara, California的Intel公司及位于Schaumburg, Illinois 的Motorola公司提供的处理器。在另一实施例中,服务器装置150可存在于一客户机 装置上。在再一实施例中,可存在多个服务器装置150。
存储器162包含搜索引擎应用程序一其亦称作一网络搜索引擎170。搜索引擎170 可响应于一来自客户机装置102a的搜索查询而从网络106中对相关信息进行定位。然 后,搜索引擎170可通过网络106将一结果集合提供至客户机装置102a。所述结果集 合可包括一个或多个文章标识符。一文章标识符可为(例如)一统一资源定位符(URL)、 一文件名、 一链接、 一图标、 一本地文件路径、或任何可用于标识一文章的其它信息。 在一实施例中, 一文章标识符可包括一与一文章相关联的URL。
在一实施例中,服务器装置150或相关装置先前已实施了对网络106的漫游来对 存储于耦接至网络106的其它装置或系统中的文章(例如网页)进行定位并在存储器 162中或在另一数据存储装置上为所述文章加了索引。应了解,可使用其他为文章加 索引的方法(例如手动提交)来代替漫游或与漫游相结合。
应注意,本发明其它实施例可包括具有不同于图l所示的架构的系统。例如,在 本发明的其它一些实施例中,客户机装置102a为一非永久性地耦接至一网络的独立装 置。图1所示系统100仅为实例性,用于解释图2及3所示的实例性方法。
可实施根据本发明各实施例的各种方法。例如,在一实施例中, 一搜索引擎在一 事件发生时实时地捕获所述事件,其中所述事件包括用户与客户机装置上的文章的交 互作用,其中所述文章能够与复数个客户机应用程序中的至少一个相关联,至少部分
地根据所述事件来更新一当前用户状态,确定是否应为所述事件加索引,且若应为所 述事件加索引,则为所述事件加索引并存储所述事件及与所述文章相关联的内容中的 至少一部分。
在另一实施例中, 一搜索引擎可捕获发生于一客户机装置上的复数个事件,其中
所述事件与复数个客户机应用程序中的至少一个相关联,其中在事件发生时实时地捕 获所述事件中的至少一些,为所述事件中的至少一些加索引并加以存储,其中被加索 引并存储的事件具有一相关联的文章,接收一搜索査询,并根据与所述搜索查询相关 的事件对相关文章进行定位。所述搜索引擎还可从所述相关文章中产生一搜索结果集 合。在一实施例中,所述搜索查询是由所述用户输入。在另一实施例中,所述搜索查 询是由搜索引擎根据一从实时事件中确定出的当前用户状态而产生。
在另一实施例中,在实时事件发生时实时地捕获复数个实时事件,其中每一实时 事件均包括用户与客户机装置上的文章的交互作用,其中所述文章能够与复数个客户 机应用程序中的至少一个相关联,捕获复数个过去发生的历史事件,其中每一历史事 件均包括使用与客户机装置上的文章的交互作用,其中所述文章能够与复数个客户机 应用程序中的至少一个相关联,针对每一事件确定是否应为所述事件加索引,且如果 应为所述事件加索引,则为所述事件加索引并存储所述事件及与所述文章相关联的内 容中的至少一部分。
在另一实施例中,在一事件发生时实时地捕获所述事件,其中所述事件包括用户 与客户机装置上的文章的交互作用,其中所述文章能够与复数个客户机应用程序中的 至少一个相关联,至少部分地根据所述事件更新一当前用户状态,为所述事件加索引 并存储所述事件及与所述文章相关联的内容中的至少一部分。在此实施例中,所述事 件可为一实时事件或者其可为一历史事件。
在另一实施例中,捕获发生于一客户机装置上的复数个事件,其中每一事件均与 复数个客户机应用程序中的至少一个相关联,为所述事件中的至少一些加索引并加以 存储,其中被加索引并存储的事件具有一相关联的客户机文章,为复数个网络文章加 索引,接收一搜索査询,并至少部分地根据所述搜索查询来对相关客户机文章及网络 文章进行定位。在此实施例中,所述事件中的至少一些可为实时捕获的实时事件。所 述搜索査询可至少部分地根据至少一个实时事件而隐含地产生。
图2图解说明一种一根据本发明一实施例的实例性方法200,其提供一种用于捕 获并处理一事件的方法。此实例性方法仅以举例方式提供,因为根据前面对实例性实 施例的说明可知,在本发明的其它实施例中存在许多种方式来实施各种方法。图2所 示方法200可由各种系统中的任一系统执行或以其它方式实施。下文以举例方式将方 法200阐述成由图1所示的系统100实施,且在对图2所示实例性方法的解说中引用 系统100的各种元件。
在202中,捕获处理器124捕获一事件。所述事件可为一实时事件也可为一历史 事件。捕获处理器124可通过在事件发生时识别并编译与所述事件相关的事件数据来 捕获一实时事件。捕获处理器124可(例如)通过下述方式来捕获一历史事件周期 性地漫游存储器108或客户机装置112a中的相关联数据存储装置以查找先前未捕获的 文章,或从客户机应用程序接收文章或数据并识别和编译与所述事件相关联的事件数 据。捕获处理器124可具有分别用于每一客户机应用程序、网络监控、性能数据捕获、
按键捕获、及显示捕获的捕获组件。在一实施例中,捕获组件可使用一广义事件定义
机理(例如一其先前已定义并在客户机装置102a中登记的事件概要)来捕获或表达述事件。
在204中,捕获处理器124确定所捕获的事件是否为一可加索引的事件。如上所 述, 一些实时事件可不加索引(不可加索引的实时事件)。在一实施例中,不可加索引 的实时事件用于更新当前用户状态且是(例如)在查阅一文章的一部分、更改一文章、 及关闭一文章。在此实施例中,不为不可加索引的事件加索引或对其进行发送以供编 索引器130存储。可加索引的事件可为可加索引的实时事件或历史事件。可加索引的 事件的实例包括接收一电子邮件消息、査看一网页、保存一字处理文档、及发送一即 时信使消息。
如果确定出为一可加索引的事件,则在206中,可由捕获处理器124将所述事件 以及一对于其为一可加索引事件的指示发送至队列126。在图2所示实施例中,可加 索引的实时事件发送至队列126内的一用户状态队列及一索引队列二者,而历史事件 只发送至队列126中的索引队列。或者,可加索引的实时事件可不发送至用户状态队 列以节省计算时间。捕获处理器124可按一种由一事件概要所描述的形式将所述事件 发送至队列126。如果确定出所述事件为一不可加索引的事件,则在206中,可由捕 获处理器124将所述不可加索引的事件以及一对于其将不加索引的指示发送至队列 126中的用户状态队列。在一替代实施例中,可在方块206之后及/或之前实施方块204。 例如,可由捕获处理器124来确定一些事件是可加索引的还是不可加索引的并可由编 索引器130来确定其他事件是可加索引的还是不可加索引的。
在一实施例中,队列126将所述事件保留至所述搜索引擎准备好接收所述事件为 止。根据所述事件数据,将所述事件以优先顺序排列在队列126上以待处理。例如, 队列126赋予历史事件一较实时事件为低的处理优先权。在一实施例中,当编索引器 130准备好处理另一事件时,其可从队列126中的索引队列中检索一个或多个事件。 查询系统132可在其准备好更新用户状态时从队列126中的用户状态队列中检索一个 或多个事件。可使用来自一捕获事件的位置信息来更新用户状态。在另一实施例中, 未使用队列并将事件直接从捕获处理器124发送至搜索引擎122。
在208中,编索引器130为所述事件加索引并加以存储。编索引器130可在其准 备好处理所述事件时从队列126中检索一事件。在一实施例中,编索引器130确定所 述事件是否为一重复事件且若不是,则为所述事件指配一事件ID。编索引器130还可 将所述事件与相关事件相关联。在图2所示实施例中,编索引器130可根据所述事件 概要来确定与所述事件相关联的可加索引的项、与所述事件相关联的日期及时间、及 与所述事件相关联的其它数据。编索引器130可将所述事件ID与包含于索引142中的 可加索引的项相关联。所述事件可存储于数据库144中,而所述事件的内容可存储于 储存库146中。对由搜索引擎122加索引并存储的事件的捕获使用户122a能够搜索客 户机装置102a上的文章并使搜索引擎能够自动搜索客户机装置102a上的文章。
图3图解说明一种根据一实施例的实例性方法300,其提供一种用于定位及检索
客户机装置上的文章的方法。此实例性方法仅以举例方式提供,因为存在许多种用于
实施本发明方法的方式。图3所示方法300可由各种系统中的任何一种系统来执行或 以其它方式实施。下文以举例方式将方法300阐述成由图1所示的系统100实施,在 图3所示实例性方法中引用系统100的各种元件。
在302中,査询系统132接收一搜索査询。所述査询可为一显式查询也可为一隐 式查询。显式査询可通过用户向一显示于客户机装置102a上的搜索引擎界面中输入一 査询术语而产生。隐式査询可由査询系统132根据当前用户状态而产生。例如,用户 112a可将词语月度预算会议议程"输入到一搜索引擎界面中。或者,用户112a可将词 语"月度预算会议议程"输入用户U2a正在起草的电子邮件中。捕获处理器124可捕 获此上下文事件且其可被查询系统132接收到。查询系统132可根据在此上下文事件 中所捕获的词语来产生一搜索査询。
在304中,查询系统132对与搜索査询相关的文章进行定位。查询系统132可通 过将所述搜索查询的词语与位于索引142中的词语相比对来对相关文章进行定位。例 如,査询系统132可将査询词语与索引142中的词语相比对。根据相匹配的词语,查 询系统132可通过与相匹配词语相关联的事件ID确定出数据库144中所存储的与所述 词语相关联的事件。根据这些事件,査询系统132可确定出与所述事件相关联的文章。 所述文章可存储于储存库146中。例如,对于搜索查询"月度预算会议议程"而言, 查询系统132可从包含査询词语的各种客户机应用程序中定位出各种文章,例如电子 邮件、显示文档、字处理文档、电子表格文档及其它与查询词语相匹配的文档。所述 查询还可指定一时间且査询系统132可对与所述査询时间相关的文章进行定位。所述 查询还可指定一事件类型且所述查询系统132可对一特定类型的文章进行定位,例如 (举例而言)字处理文件或电子邮件消息。查询系统132还可从一搜索引擎170中检
索与所述查询相关的网络文章。
在306中,查询系统132根据所定位出的文章产生一搜索结果集合。在一实施例 中,査询系统132可根据各种指示用户112a对文章的偏好的信号来对所定位出的文章 进行分类及排序。所述搜索结果集合可包含一与各种不同客户机应用程序120相关联 的文章的文章标识符及网络文章的文章标识符的经排序列表。每一链接也可包含一文 章摘要以及一与文章相关联的图像。
在308中,由格式化器134将搜索结果集合格式化。在一实施例中,格式化器134 可按XML或HTML格式来格式化结果集合。在310中,由显示处理器128将搜索结 果集合显示于客户机装置102a上。例如,可将搜索结果集合显示于与客户机装置102a 相关联的显示装置上。如果搜索结果集合是响应于一隐式査询而产生,则显示处理器 128可确定一适当时间来显示所述隐式搜索结果集合。然而后,用户112a可为一文章 选择一文章标识符并使相关联的文章显示于所述显示装置上。
所示环境反映一客户机侧搜索引擎架构实施例。也可具有其它实施例,例如一独
立客户机装置或一网络搜索引擎。
虽然上文说明包含许多细节,但这些细节不应视为对本发明范围的限制,而应视 为对所揭示实施例的举例说明。例如,文章及事件的实例为实例性的而无限定意义。 所属领域的技术人员将会设想出许多仍属于本发明范围内的其它可能的变化形式。
权利要求
1、一种方法,其包括在发生一事件时实时地捕获所述事件,其中所述事件包括与一客户机装置上的一文章的一用户交互作用,其中所述文章能够与复数个客户机应用程序中的至少一个相关联;确定是否应为所述事件加索引;及如果应为所述事件加索引,则为所述事件加索引并存储所述事件及与所述文章相关联的内容中的至少一部分。
2、 如权利要求1所述的方法,其进一步包括至少部分地根据所述事件来更新一 当前用户状态。
3、 如权利要求l所述的方法,其中所述事件包括事件数据。
4、 如权利要求1所述的方法,其中以一预定义事件概要的形式来捕获及表达所 述事件。
5、 如权利要求l所述的方法,其中与一文章的用户交互作用包括加载一
6、 如权利要求1所述的方法,其中与一文章的用户交互作用包括保存一
7、 如权利要求l所述的方法,其中与一文章的用户交互作用包括査看一
8、如权利要求1所述的方法,其中与一文章的用户交互作用包括更新一文章的元数据。
9、 如权利要求8所述的方法,其中更新一文章的所述元数据包括对一文章加上 书签。
10、 如权利要求8所述的方法,其中更新一文章的所述元数据包括打印一文章。
11、 如权利要求8所述的方法,其中更新一文章的所述元数据包括删除一文章。
12、 如权利要求8所述的方法,其中更新一文章的所述元数据包括移动一文章。
13、 一种方法,其包括捕获复数个发生于一客户机装置上的事件,其中每一事件均与复数个客户机应用 程序中的至少一个相关联,其中所述事件中的至少一些是在所述事件发生时实时捕获 的.,为所述事件中的至少一些加索引并对其加以存储,其中被加索引并存储的所述事 件具有一相关联的文章; 接收一搜索查询;及根据与所述搜索查询相关的事件对相关文章进行定位。
14、 如权利要求13所述的方法,其进一步包括根据所述相关文章产生一搜索结 果集合。
15、 如权利要求13所述的方法,其中所述搜索查询由一用户输入。
16、 如权利要求13所述的方法,其中所述搜索査询根据一当前用户状态自动产生。
17、 如权利要求16所述的方法,其中所述当前用户状态至少部分地通过至少一 个实时事件来确定。
18、 如权利要求13所述的方法,其进一步包括对与所述搜索查询相关的网络文 章进行定位。
19、 如权利要求18所述的方法,其进一步包括根据所述相关文章及网络文章产 生一搜索结果集合。
20、 一种方法,其包括在发生复数个实时事件时实时捕获所述实时事件,其中每一实时事件均包括与一客户机装置上的一文章的一用户交互作用,其中所述文章能够与复数个客户机应用程 序中的至少一个相关联;捕获复数个过去发生的历史事件,其中每一历史事件均包括与一客户机装置上的 一文章的一用户交互作用,其中所述文章能够与复数个客户机应用程序中的至少一个 相关联,其中实时事件及历史事件为事件;针对每一事件,确定是否应为所述事件加索引;及如果应为所述事件加索引,则为所述事件加索引并存储所述事件及与所述文章相 关联的内容中至少一部分。
21、 一种方法,其包括在发生一事件时实时地捕获所述事件,其中所述事件包括与一客户机装置上的一 文章的一用户交互作用,其中所述文章能够与复数个客户机应用程序中的至少一个相 关联-,至少部分地根据所述事件更新一当前用户状态;及为所述事件加索引并存储所述事件及与所述文章相关联的内容中的至少一部分。
22、 如权利要求21所述的方法,其中所述事件为一实时事件。
23、 如权利要求21所述的方法,其中所述事件为一历史事件。
24、 一种方法,其包括捕获复数个发生于一客户机装置上的事件,其中每一事件均与复数个客户机应用 程序中的至少一个相关联;为所述事件中的至少一些加索引并加以存储,其中被加索引并存储的所述事件具 有一相关联的客户机文章;为复数个网络文章加索引;接收一搜索查询;及至少部分地根据所述搜索查询对相关的客户机文章及网络文章进行定位。
25、 如权利要求24所述的方法,其中所述事件中的至少一些为实时事件且为实 时捕获的。
26、 如权利要求25所述的方法,其中至少部分地根据至少一个实时事件而隐含 地产生所述搜索查询。
27、 一种包含程序代码的计算机可读媒体,其包括-用于在发生一事件时实时地捕获所述事件的程序代码,其中所述事件包括与一客户机装置上的一文章的一用户交互作用,其中所述文章能够与复数个客户机应用程序 中的至少一个相关联;用于确定是否应为所述事件加索引的程序代码;及用于如果应为所述事件加索引则为所述事件加索引并存储所述事件及与所述文 章相关联的内容中的至少一部分的程序代码。
28、 如权利要求27所述的计算机可读媒体,其进一步包括用于至少部分地根据 所述事件更新一当前用户状态的程序代码。
29、 如权利要求27所述的计算机可读媒体,其中所述事件包括事件数据。
30、 如权利要求27所述的计算机可读媒体,其中以一预定义事件概要的形式捕 获并表达所述事件。
31、 如权利要求27所述的计算机可读媒体,其中与一文章的用户交互作用包括 加载一文章。
32、 如权利要求27所述的计算机可读媒体,其中与一文章的用户交互作用包括 保存一文章。
33、 如权利要求27所述的计算机可读媒体,其中与一文章的用户交互作用包括 査看一文章。
34、 如权利要求27所述的计算机可读媒体,其中与一文章的用户交互作用包括 更新一文章的元数据。
35、 如权利要求34所述的计算机可读媒体,其中更新一文章的所述元数据包括 对一文章加上书签。
36、 如权利要求34所述的计算机可读媒体,其中更新一文章的所述元数据包括 打印一文章。
37、 如权利要求34所述的计算机可读媒体,其中更新一文章的所述元数据包括 删除一文章。
38、 如权利要求34所述的计算机可读媒体,其中更新一文章的所述元数据包括 移动一文章。
39、 一种包含程序代码的计算机可读媒体,其包括用于捕获复数个发生于一客户机装置上的事件的程序代码,其中每一事件均与复 数个客户机应用程序中的至少一个相关联,其中所述事件中的至少一些是在所述事件 发生时实时捕获的;用于为所述事件中的至少一些加索引并对其加以存储的程序代码,其中被加索引 并存储的所述事件具有一相关联的文章; 用于接收一搜索查询的程序代码;及用于根据与所述搜索查询相关的事件对相关文章进行定位的程序代码。
40、 如权利要求39所述的计算机可读媒体,其进一步包括用于根据所述相关文 章产生一搜索结果集合的程序代码。
41、 如权利要求39所述的计算机可读媒体,其中所述搜索査询由一用户输入。
42、 如权利要求39所述的计算机可读媒体,其中所述搜索查询是根据一当前用 户状态自动产生。
43、 如权利要求42所述的计算机可读媒体,其中所述当前用户状态是至少部分 地通过至少一个实时事件加以确定。
44、 如权利要求39所述的计算机可读媒体,其进一步包括用于对与所述搜索查 询相关的网络文章进行定位的程序代码。
45、 如权利要求44所述的计算机可读媒体,其进一步包括根据所述相关文章及 网络文章产生一搜索结果集合。
46、 一种包含程序代码的计算机可读媒体,其包括用于在发生复数个实时事件时实时地捕获所述实时事件的程序代码,其中每一实 时事件均包括与一客户机装置上的一文章的一用户交互作用,其中所述文章能够与复 数个客户机应用程序中的至少 一个相关联;用于捕获过去发生的复数个历史事件的程序代码,其中每一历史事件均包括与一 客户机装置上的一文章的一用户交互作用,其中所述文章能够与复数个客户机应用程 序中的至少一个相关联,其中实时事件及历史事件为事件;用于针对每一事件来确定是否应为所述事件加索引的程序代码;及用于如果应为所述事件加索引则为所述事件加索引并存储所述事件及与所述文 章相关联的内容中的至少一部分的程序代码。
47、 一种包含程序代码的计算机可读媒体,其包括用于在发生一事件时实时地捕获所述事件的程序代码,其中所述事件包括与一客户机装置上的一文章的一用户交互作用,其中所述文章能够与复数个客户机应用程序 中的至少一个相关联;用于至少部分地根据所述事件更新一当前用户状态的程序代码;及 用于为所述事件加索引并存储所述事件及与所述文章相关联的内容中的至少一 部分的程序代码。
48、 如权利要求47所述的计算机可读媒体,其中所述事件为一实时事件。
49、 如权利要求47所述的计算机可读媒体,其中所述事件为一历史事件。
50、 一种包含程序代码的计算机可读媒体,其包括用于捕获复数个发生于一客户机装置上的事件的程序代码,其中每一事件均与复 数个客户机应用程序中的至少 一个相关联;用于为所述事件中的至少一些加索引并对其加以存储的程序代码,其中被加索引并存储的所述事件具有一相关联的客户机文章; 用于为复数个网络文章加索引的程序代码 , 用于接收一搜索查询的程序代码;及用于至少部分地根据所述搜索查询对相关客户机文章及网络文章进行定位的程 序代码。
51、 如权利要求50所述的计算机可读媒体,其中所述事件中的至少一些为实时 事件且为实时捕获的。
52、 如权利要求51所述的计算机可读媒体,其中所述搜索查询是至少部分地根 据至少一个实施事件而隐含地产生。
全文摘要
本发明揭示用于从文章中识别并提取信息的系统及方法。在一实施例中,一搜索引擎实施一种方法,其包括在发生一事件时实时地捕获所述事件,其中所述事件包括与一客户机装置上的一文章的一用户交互作用,其中所述文章能够与复数个客户机应用程序中的至少一个相关联;确定是否应为所述事件加索引;且如果应为所述事件加索引,则为所述事件加索引并存储所述事件及与所述文章相关联的内容中的至少一部分。
文档编号G06F11/30GK101111836SQ200580009380
公开日2008年1月23日 申请日期2005年3月30日 优先权日2004年3月31日
发明者奥马尔·哈比卜·卡恩, 尼尼亚尼·王, 戴维·马尔毛罗斯, 斯蒂芬·R·劳伦斯, 米哈伊·弗洛林·约内斯库 申请人:咕果公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1