具体实施方式
图1是一个框图,举例说明了现有技术中可提供对计算机文件102的索引和搜索的文本索引和搜索的系统100。根据用户所选的搜索项目,对计算机文件102的搜索可用于识别或访问文件102。举例来说,计算机文件102可能是任何一批计算机文件,诸如是存储在特定计算机或网络上的文件,或是与可访问网络的站点(例如,Web站点)相对应的文件。为了说明起见,以下对图1的描述针对的是文件102,该文件相应于链接文件的一个或多个可访问网络的站点(例如,Web站点)。
索引器104标识或从文件102中取回的一个或多个选定的项目,并且将它们存储或者映射到索引数据库106中的记录上。对于每一个文件,由索引器104标识和检索的一个或更多所选的检索项目,可以包括任一或全部的标题,网址,文件名,文件描述,特定关键词,文件文本,文件内部链接等等,或任何与标识该文件的标识符一起存储的其它信息。
搜索一个或多个所选择文件的用户,在搜索表格108中输入一个或多个搜索项目或其它搜索条件,该搜索表格再现于用户可访问的的计算机显示器(未示出)上。用户启动搜索,从而将带有一个或多个搜索项目的搜索查询发送到搜索引擎110。搜索引擎110搜索索引数据库106中包括一个或多个搜索项目的记录,并且返回一个列出了至少部分符合搜索条件的文件的结果列表112。
在一些系统中,结果列表112可以包括所列文件的相关性级别。所述相关性级别旨在标识对用户最相关的文件。可以根据各种算法,以本领域所公知的各种方式来计算所述的相关性级别。继而用户可以访问一个或多个想要的文件。
图2是一个框图,举例说明了一种索引和搜索系统200,所述系统根据本发明提供对计算机文件或对象进行索引和搜索。根据用户选择的搜索条件,对计算机文件202的搜索可以识别或访问文件202。计算机文件202可以是任何一批计算机文件。举例来说,所述文件例如可以根据请求、由脚本(例如Web服务器脚本)或作为数据库查询的结果定期产生,或者可以存储在特定计算机或网络中,或是例如,与链接文件的一个或多个可访问网络的站点(例如,Web站点)相对应的文件。为了说明起见,以下对图2的描述针对的是存储在计算机或网络上的文件202。
索引器204标识或从文件202中取回一个或多个选定的项目,并且将它们存储或者映射到索引数据库206中的记录上。对于每一个文件,由索引器204标识和取回的一个或多个所选条件可以包括任一或者全部标题,网络地址,文件名,文件描述,特定关键字,文件文本,文件内部链接等等,或是任何与标识该文件的标识符一起存储的其它信息。
搜索一个或多个所选文件的用户,在搜索表格208中输入一个或多个的搜索项目或其它搜索条件,所述搜索表格再现于用户可访问的计算机显示器(未示出)上。用户启动搜索,从而将带有一个或多个搜索项目的搜索查询发送到搜索引擎210。搜索引擎210在索引数据库206中搜索包括一个或多个搜索项目或其它条件的记录,并且返回列出了至少符合部分搜索条件的文件的初步结果列表212。在一些实施方案中,正如本领域所公知的那样,初步结果列表212可以包括所列文件的相关性级别。举例来说,初始设置可以由各种各样的查询来完成,如:“查找在特定时间间隔内创建的文件”或“查找上周和我通信的人”或“查找最后4个月中的晴天”。
初步结果列表212中的文件和与该文件有关联的其它计算机对象(例如,文件,个人联系等)相关连。所述关联由自动关联系统216标识和判定,该自动关联系统自动地判定介于用户计算机行为,计算机对象(例如,文件,个人联系等)和其它事件之间的关联。由自动关联系统216判定的关联表示计算机文件(一般被称为对象)之间的关系,其关系基于用户或对象之间的其它交互。
正如下文所述,对象之间的关联可以包括介于对象以及它们的重要性之间的相似性。对象的重要性及其对象之间的相似性,可以从用户计算机与该对象的交互来判定。用户计算机交互可以发生在常规的桌上型电脑或膝上型电脑,或任何其它诸如手持计算机、数字蜂窝电话等用户操作的计算设备上。简洁起见,本文中提及这类设备均通称为计算机。关联系统216可以由存储在一个或多个这种计算机上,并由该计算机来执行的软件来实现。
综合的结果列表218列出了至少符合部分搜索条件的文件,并且也列出了与初步结果列表212中的文件有关联的其它计算机对象(例如,文件,联系等)。正如本领域所公知的,在一些实施方案中,综合结果列表218可以根据相关性级别为符合搜索条件的文件排序。于是用户可以访问一个或多个需要的文件。
作为一个实施方案,图3表示了综合的结果列表300,其中在初步结果列表212(图2)中标识的文件302形成了顶层列表304。对于每一个在顶层列表304中的文件302,将与其相关联的环境对象306(如果有)作为底层列表308列出来。作为另一个实施方案,图4表示了综合的结果列表400,其中,在初步结果列表212(图2)中标识的文件402与相关联的环境对象404(如果有)综合形成了通常的单层次列表。正如本领域所公知的,文件402和相关联的环境对象404的顺序可以基于相关性级别。
图5是由计算机执行的索引和搜索方法500的流程图,该方法提供了对计算机文件或对象的索引和搜索。对计算机文件的搜索可用于根据搜索项目来标识或访问文件,所述搜索项目由用户选择,或者可能其它系统中的操作的结果,例如,观测用户与计算机之间的交互并自动产生查询,诸如最频繁或最后访问的联系、文件等。
计算机文件可以是任何一批计算机文件。举例来说,所述文件例如可以根据请求、由脚本(例如Web服务器脚本)或者作为数据库查询的结果定期产生,或者可以存储在特定计算机或网络中,或者例如是与链接文件的一个或多个可访问网络的站点(例如,Web站点)相对应的文件。为了说明起见,以下对图5中提及文件的描述均指存储在计算机或网络上。
步骤502中,标识或从计算机文件和对象中取回一个或多个选定的项目或信息,并且将项目存储或者映射到索引数据库(例如,索引数据库206,图2)中的记录上。对于每一个文件,经标识和取回后的一个或多个所选项目可以包括任一或全部的标题,网址,文件名,文件描述,特定关键词,文件文本,文件内部链接等等,或任何与标识该文件的标识符一起存储的其它信息。
步骤504中,将启动查询,以标识一个或多个计算机文件或对象。举例来说,搜索一个或多个所选文件的用户,可以在搜索表格(例如,搜索表格208,图2)中输入一个或多个搜索项目或其它搜索条件。另一个例子是,查询可以是系统中其它操作的结果,例如,观测用户与计算机的交互并自动产生查询,诸如最频繁或最后访问的联系、文件等。
步骤506中,用户启动指示一个或多个搜索项目或者其它搜索条件的搜索。
步骤508中,搜索在索引数据库中包括一个或多个搜索项目的记录。
步骤510中,将显示了至少符合部分搜索条件的文件初步结果列表(例如,初步结果列表212,图2)返回。正如本领域所公知的那样,在一些实施方案中,初步结果列表可以包括所列文件的相关性级别。
步骤512中,初步结果列表中显示的文件和与这些文件相关联的其它的计算机对象(例如,文件,联系等)相关连。所述关联表示了计算机文件(一般被称为对象)之间的关系,其关系基于用户或其它对象之间的交互。举例来说,该关联可以由关联系统216(图2)判定。
步骤514中,返回综合的结果列表,该列表标识了至少符合部分搜索条件的文件,并且也标识了与符合搜索条件的文件相关联的其它计算机对象(如,文件,联系等)。
步骤516中,用户访问综合的结果列表中一个或多个对象。
图6是一个根据本发明的框图,举例说明了一个无索引的搜索系统,该系统提供对计算机文件或对象602的搜索。根据用户选择的搜索条件,对计算机文件602的搜索可用于标识或访问文件602。计算机文件602可以是任何一批计算机文件。举例来说,所述文件例如可以根据请求、由脚本(例如Web服务器脚本)或者作为数据库查询的结果定期产生,或者可以存储在特殊的计算机或网络,或者,例如是与链接文件的与一个或多个可访问网络的站点相对应(例如,Web站点)的文件。为了说明起见,以下对图2的描述针对的是存储在计算机或网络上的文件602。
搜索一个或多个所选择文件的用户,在搜索表格608中输入一个或更多的搜索项目或其它搜索条件,该搜索表格显示在一个用户可使用的计算机显示器(未示出)上。用户开始一个搜索,从而将带有一个或多个搜索项目或其它标准的搜索查询发送到搜索引擎610。搜索引擎610在索引数据库606中搜索包括一个或多个搜索项目的记录,并且返回列出了至少符合部分搜索条件的文件的初步结果列表612。
对于每一个文件,一个或多个所选条件可以包括任一或全部的标题,网址,文件名,文件描述,特定关键词,文件文本,文件内部链接等等,或任何与标识该文件的标识符一起存储的其它信息。在一些实施方案中,正如本领域所公知的那样,初步结果列表612可以包括所列文件的相关性级别。举例来说,初始设置可以由各种各样的查询来产生,如:“查找在特定时间间隔内创建的文件”或“查找上周和我通信的人”或“查找前4个月中的晴天”。
初步结果列表612中的文件和与该文件有关联的其它计算机对象(例如,文件,个人联系等)相关连。所述关联由自动关联系统616标识和判定,该自动关联系统自动地判定介于用户计算机行为,计算机对象(例如,文件,联系等),以及其它事件之间的关联。由自动关联系统616判定的关联代表了计算机文件(一般称作对象)之间的关系,其关系基于用户或对象间的交互。
综合的结果列表618列出了至少符合部分搜索条件的文件,并且也列出了与初步结果列表612中的文件有关联的其它计算机对象(例如,文件,个人联系等)。正如本领域所公知的那样,在一些实施方案中,综合的结果列表618可以根据相关性级别给符合搜索条件的文件排序。于是用户可以访问一个或多个需要的文件。
图7是一个自动关联系统216的功能框图,自动关联系统216自动判定介于用户计算机行为,计算机对象(例如,文件,联系等),以及其它事件间的关联。举例来说,该关联允许关联系统216标识计算机文件、联系,以及通过使用或用户行为相互联系的信息(一般称作对象)。
正如下文所述,对象之间的关联可以包括介于对象以及它们的重要性之间的相似性。对象的重要性及其对象之间的相似性,可以从用户计算机与该对象的交互来判定。用户计算机交互可以发生在常规的桌上型电脑或膝上型电脑,或任何其它诸如手持计算机、数字蜂窝电话等的用户操作的计算设备上。简洁起见,本文中提及的这类设备均通称为计算机。关联系统216可以由存储在一个或多个这种计算机上,并由该计算机来执行的软件来实现。
然而,应当认识到,除下列情形之外,不同的对象之间的关联不需要由对于计算机直接的用户操作而产生,举例来说,可以基于子网之间的交互(例如,当旧金山停电时,在波士顿的60%的因特网速度变慢);天气模式(例如,当大气压下降到一个给定值以下时,西雅图为多云);或股票市场价格变化(在CCC.co参股价格下降2%后的那天,AAA公司和BBB公司参股价格下降2%)……而且,关联可以将不同类型的对象(人对文件,电子邮件信息对文件等)关联起来。
关联系统216包括收集数据的数据收集系统702,所述数据涉及用户计算机行为,计算机动作,用户和不同的计算机对象(例如,应用程序,文件,通信,人等)之间的交互以及其它事件。举例来说,数据收集系统702可以收集的数据涉及计算机系统事件(例如,对应用程序或其它软件成分的操作,对计算机文件不同的操作,计算机数据或其它对象的共享等),计算机通信(例如,电子邮件通信,即时信息通信等),外部数据(例如,新闻,事件等),以及人(例如,名字,电子邮件别名等)。
在一个实施方案中,数据收集系统702可以包括一个系统行为监控器704,举例来说,对用户操作的计算机(未示出)上的用户行为进行监控。系统行为监控器704可以作为一个计算机程序来实施,该程序为其它应用程序,或操作系统提供用户计算机行为,诸如搜索查询,对文档或其它文件的打开或修改等。举例来说,当对象可以显示出许多属性时,由用户执行搜索并且搜索结果可以指出哪一个属性对用户是最重要的。对于每一个这样的行为,系统行为监控器704对存储在计算机系统数据库706中的记录信息(有时称作“元数据”)进行创建或添加。
举例来说,系统行为监控器704可以包括一个通用输入行为监控器,该通用输入行为监控器为与计算机交互的所有的用户提供单个登入点,或至少与计算机的特定的用户交互。在这种通用输入实施方案中,系统行为监控器704可以判定并作为元数据存储在计算机系统数据库706中任何一个或下列的全部的内容:数据方法数据(例如,文本,语音,鼠标等),输入语言数据(英文,中文等),输入模式数据(例如,口述或键入命令),输入反馈数据(例如,计算机是否需要附加信息,对计算机的错误推测的改正等)等等。举例来说,如果用户在web浏览器上拷贝或存储一幅图片,系统行为监控器704可以存储资源网页的网络地址(例如,统一资源定位器,URL),以及图像自身的URL,作为计算机系统数据库706中的元数据。
计算机系统数据库706存储关于存储在计算机上计算机文件以及由该计算机实现的行为的信息(例如,“元数据”)。所述元数据可以包括常规信息,诸如对于由计算机产生的文档是常规的,信息包括文件何时创建的,谁创建的,以及修改历史。此外,一些计算机文件类型也可以包含不适用于其它文件类型的,特定的元数据域。举例来说,一个照片文件类型的元数据域可以包括图像尺寸,图片是在哪里拍摄的,谁拍的,照片中有谁等。在一个实施方案中,新的元数据域可以被添加到数据库系统706中以适应新的文件类型,或者存储关于一个已存在文件类型的新的信息。
表格1A列出了可以由系统行为监控器704获得并存储在计算机数据库系统706中的示范信息。关于计算机用户可能与之交互的各种计算机文件和计算机信息(全部称为对象),系统行为监控器704可以收集数据,所述数据涉及任一或全部的对象的创建者/创作者,对象类型,对象的任一指针(如果可获得),事件激活,对象大小等。举例来说,系统行为监控器704可以获得关于计算机用户实现与之交互对象的信息,判定对象相对于计算机系统数据库706中所列的其它对象(例如,基于一个唯一的对象标识符)是否为新的或者唯一的,并且在系统数据库706中聚集或存储那些与该对象唯一的对象标识符相关联的行为。
表格1A-数据收集和分析
结构 |
实施行为 |
|
数据收集 |
数据处理 |
用户与之交互的对象 |
一般的 |
对象的创建者/作者,对象的类型,指向该对象的指针是否仍然存在;行为事件;对象大小; |
得到关于对象的信息,在唯一的对象ID层次上判定是否为新/唯的&聚集的,创建关联 |
人 | | |
在用户电子邮件中的人 |
电子邮件客户别名 |
创建关联 |
在用户联系列表中的人 |
联系列表文件 |
创建关联 |
用户与之IM,聊天的人 |
电子邮件化名的密友列表 |
创建关联 |
通信 | | |
电子邮件 |
电子邮件事件(打开,关闭),电子邮件地址 |
创建关联 |
电话消息 |
电话消息事件(打开,关闭),电子邮件别名 |
创建关联 |
即时消息 |
即时(IM)对话事件(打开,关闭),人 |
创建关联 |
聊天消息 |
聊天对话事件 |
创建关联 |
文件 | | |
创建的,打开的,保存的,发送的,等任意文件 |
文件名,在目录中的位置,网络URL |
创建关联 |
Web项目 | | |
Web页 |
URLs |
创建关联 |
流动项目播放 |
URLs |
创建关联 |
通知 |
通知类型,回复通知 |
创建关联 |
应用程序 |
应用程序的指针 |
创建关联 |
用户计算机与之交互的对象可以与其它人相关联,与其它人、计算机文件、网络或web项目、计算机系统标志信息、以及在计算机上运行或通过计算机存取的应用程序之间相通信。系统行为监控器704能在计算机系统数据库706中获得和存储每一个示范信息的所列类型。
关联系统216包括一个关系处理系统708,该关系处理系统判定对象间或元数据间的一个或多个关系,所述对象和元数据由数据收集系统702获得或存储在计算机系统数据库706中。在一个实施方案中,关系处理系统708包括相似性,或关联系统710判定至少介于一对计算机文件或对象间的相似度或类似度。可以代表相似性或关联程度,举例来说,作为介于0和1之间的数字值,在对象中将1作标识,0显示它们完全无关。关联系统710可以作为一个或多个程序来实施,该程序对于一个给定的目标文件和其它文件的收集,返回一个两者之间的相似性级别。
应当认识到,不同类型的文档、文件或对象可能有不同的类型的相似性。例如,两张照片之所以相似,可能是在相似的时间拍摄的,可能有相似的人,地方、或事件,可能是相似的颜色,可能已经传送到相同的人或者一起打印,可能是同一张照片的部分(例如,两者之间已经切开),等。表格1B列出了关联系统710可以在计算机系统数据库706中标识和存储的示范的关联或相似性。正如所指出的那样,将可能涉及对象和文件的关联或相似性连接到一起,所述对象或文件包括:共享内容,发生在相似的时间或相似的计算机位置(例如,计算机,目录,等,发送给或接收自一个共同的人。
表格1B-数据收集和分析
结构 |
实施行为 |
|
数据收集 |
数据处理 |
环境:对象间的关联 |
具有共享的内容 | | |
|
剪切/粘贴事件,插入事件,对象 |
共有部分的层次 |
作为事件,对象保存 |
共有部分的层次 |
发生时间接近 | | |
在同一个机器上,在同一个时间打开 |
打开/关闭行为事件,对象,事件的系统时间 |
跨时间距离,重叠对话 |
发生“地点”接近 | | |
在同一个机器上 |
机器名 | |
在目录中彼此相近 |
放置在目录结构中 |
通过树从一个跳到另一个的最小次数 |
在web中彼此相近 |
链接事件, |
存储元数据到计算机系统数据库中 |
在同一封电子邮件中 |
附件事件,对象 |
在一个通信的层次上聚合 |
彼此相互发送/接收 | | |
发送给另一个人的项目 |
发送事件,对象 |
通过人和项目收集 |
发送给另一个人的项目的指针 |
插入事件,对象 |
通过人和项目收集 |
由一个人打开 |
打开事件,对象 |
通过人和项目收集 |
由一个人保存 |
保存事件,对象 |
通过人和项目收集 |
从另一个处或在另一个内激活一个 | | |
从web页下载的项目 下载的事件,对象 | |
通过URL连接 |
链接事件,对象,从………链接,链接到……… | |
在一个实施方案中,可以指示关联系统710忽略相似性的特定类型,或者在相似性的一种类型上增加重要性使其比另一种类型更重要。而且,由关联系统710跟踪和识别的关联性和相似性可以得到扩展。
此外,对于用户而言,用户与之交互的对象可以具有不同的重要性或者有效性。举个例子,用户在延长的时段中保持打开和编辑的文档可能被认为是比仅仅打开了短暂的时间段的文档具备更大的重要性。同样的,一个反复被访问和打开的照片可能被认为是比仅仅打开过一次的照片具备更大的重要性。表格1C列出了示范性的元素,通过这些元素,关联系统710例如可以在计算机系统数据库706中判定和存储对象的相对重要性。正如所指出的那样,重要因素可能涉及用户交互的持续时间、交互的频繁性、最近的交互,也可能涉及用户响应的即时性、拷贝、复制、和备份的数量、以及共享的扩展对象。
表格1C-数据收集和分析
结构 |
实施行为 |
|
数据收集 |
数据处理 |
对象的重要性 |
交互的持续时间 | | |
|
打开和关闭行为事件,对象 |
由最小的、最大的时间/系统时间计算的对话时间,然后由对象总结 |
键盘事件,鼠标事件,对象, |
由对象总结 |
交互的频率 | | |
|
行为事件,系统时间/时间, |
对唯一的行为/对话的计算 |
最近的交互 | | |
|
行为事件,系统时间/时间 |
得到系统时间最大值 |
回复的即时性 | | |
| |
在时间上不同 |
拷贝,复制,备份 |
打印,另存为,多版本 | |
共享 |
在会议期间表示,通过电子邮件共享,在web站点上使用同一对象 | |
关系处理系统708可以进一步包括一个分块(chunking)系统712,所述块系统使用由类似或关联系统710对任意大的一批对象或文件、或将其“分块”成特定数量的子组,而判定的相似度或关联度。举个例子,例如给定216张照片,分块系统712可以把它们分成基于一个或多个条件的任意数量的子组或分块,所述标准诸如拍摄的日期,或者照片中有谁。例如,在一个实施方案中,分块系统712所使用的条件可以由用户预定义或指定,可以将相同的项目放置到几个分块中(例如,Bob和Sue的照片既可以归于Bob的分块又可归于Sue的分块)。分块系统712可以作为一个或多个存储在计算机上的程序来实现。
通过系统行为监控器704,关联用户界面系统716利用存储在计算机系统数据库706中的信息,还有通过类似或关联系统710和分块系统712所判定的信息来视频化显示器718,举例说明介于计算机系统文件、计算机信息、以及其它信息之间的关联。在一些实例中,视频化显示器718可以根据数据库查询720的结果,将数据过滤器722应用到所述数据库查询720中。另外,用户界面系统716可以提供应用程序和系统标志信息(通知)724,这在下文中将更详细地作出描述。
相应地,关联系统216适应(accommodate)先天的人类记忆,人类记忆是通过联想工作的,使得当一些事件发生时,想起与之相联系的另一些事件。相反地,常规的计算机文件系统强制用户任意的,脱离内容的编档结构地使用和记忆。对于用户查找和访问的,过去工作过或浏览过的计算机信息,由于上述许多用户与之交互的计算机文档和对象中有意义的数字,常规的脱离内容的编档结构会使这些数字变得难懂,或不能实现。关联系统216允许用户察看和指定可搜索的元数据,并检索匹配所选元数据的文档、对象或文件。
图8是数据收集系统702的一个实施方案的详细的框图。例如,除了为监视用户计算机行为的系统行为监控器704之外,数据收集系统702还可以包括下列任何一个或全部组成部分:事件处理器802,其中一个或多个应用程序804(包括其它软件服务程序)通过所述事件处理器802发送关于应用程序事件的元数据信息到数据收集系统702并从数据收集系统702接收关于应用程序事件的元数据信息。应用程序804可以从计算机基础的操作系统中分离出来,或者可以是由操作系统提供的服务程序或者可选软件。
数据收集容器806对控制系统行为监控器704,事件处理器802,以及任何其它数据收集模块进行操作,尤其控制涉及系统行为的数据收集,诸如文件间的拷贝和粘贴、输入和输出的信息、打开共享文件等。另外,可以操作数据收集容器806,从一个或更多分离的计算机信息源808(例如,公共服务器)上获得或接收公共数据(像天气,新闻),而非特指计算机操作或使用的数据。
应用程序804运行在带有自动关联系统216的计算机上,可以注册事件处理器802以接收增强的文档管理功能性。更具体而言,数据收集容器806支持交叉应用综合,该交叉应用综合允许关于交叉应用事件的数据或信息收集,诸如文档间的拷贝和粘贴、将文档附加到电子邮件信息上等,从而允许通过关系处理系统708判定或导出对象间的关系。而且,应用程序804可以和数据收集系统702直接的交互以提供系统行为监控器704不容易获得的相关的环境信息。举例来说,如果把电子邮件附件作为独立的文件保存到磁盘上,那么电子邮件应用程序804就可以创建该文件和源电子邮件消息(和,通过扩展名,随消息发送人)之间的链接。控制系统行为监控器704和事件处理器802允许以高效率和以高的间隔尺寸级,以及以最小的处理需求量收集数据。另外,在一个实施方案中,数据收集系统702是可以扩展的,以允许在将来可以开发附加的数据收集容器的安装程序。
在一个实施方案中,通知用户已经将该数据收集,以及该数据用于做什么。提供用户一个或更多控制以选择数据收集的有效或无效,或者正如下文所述,明确地调整其对象及其关联加权的重要性。在其它的实施方案中,基于数据是如何使用的,可以自动的修改数据收集的方法。应当认识到,当数据典型地以个人用户和计算机的级别收集时,可以将来自若干用户和其计算机的数据结合。对于这种共享数据的实施方案,系统21 6将提供唯一的标识符给:数据,对象和通话,通信中送至和发自域的相容处理,在计算机间,对共享对话,秘密性,等等进行事件标识符的副本。
图9是一个关系处理系统708实施方案的详细框图。除了关联系统710和分块系统712之外,例如,关系处理系统708还可以包括各种其它成分的任一或全部。与数据库706连接进行访问及接口连接,关系处理系统708可包括一个高速缓冲存储器用以暂时存储元数据,以便可以比为每次关联判定而从数据库706中取回数据更容易的判定关联,所述关联诸如第二此的排序关联。可以通过数据库界面模块904访问在数据库706中的信息,以便使得从各种源增加数据到数据库706的方式统一和标准化,以及搜索和查询引擎906,该引擎可以提供对数据库706的访问。
关联系统710可以判定两个对象之间直接或间接的关系,或者根据所选择的条件产生对关系的测定方法,这正如下文中关于涉及人们之间的社交关系和不同对象间的基于数据的关系的示范性实施方案中所描述一样。同样地,重要性计算器910可以计算基于用户与之交互历史的对象的重要性。
例如,重要性计算器910可以返回一个介于目标对象和一个或更多的其它对相间的重要性等级。重要性可以由数字6至1之间的数字来代表,其中1代表绝对重要而6代表完全不重要。重要性可以由下列数字计算来判定:频率,编辑数字,文件从一个频繁接触的用户的发送和接收,持续时间,读取顺序,频率等。可以将相似性或关联性(来自关联系统710)的范围,重要性(来自重要性计算器710),以及环境综合,以判定对象,等之间的关联范围。
应当认识到,重要性和关联性的等级可以根据事件的环境进行变化。可以为特定内容的目标文件提供一个重要性级别,该目标文件可以包括一个文件或其他文件的收集或一个方案,一天中的特定时间,服务程序中的特定应用程序,等。例如,用户可以接收到来自她的设计师内容关于她的房屋结构方案的电子邮件。该内容是一个对象或系统中对象的集合。这可能是一个或更多的文件,应用程序,或人,一天中的时间(次数),等。
在一些实施方案中,关系处理系统708可以包括一个后台分析器912,该后台分析器912对来自数据库706的元数据,而不是应答当前数据库查询而产生的附加元数据进行操作。例如,后台分析器912可以将外观识别应用到图形文件中,并且当识别出预定义的外观时应用元数据标记。同样,模式识别模块914可以从用户行为中寻找不琐碎、重复的用户工作。数据预提取器916可以为当前的工作,从数据库706或高速缓冲存储器902中提供“敏捷的”元数据的预提取。
连同提供的附加数据分析,关系处理系统708还进一步包括下述组件中的任一或全部。一个映射模块918可以提供基于关系的数据的立体代表(如,二维),于是该立体代表可用于再现以及操纵图形关系映射或视频化,其中一个关于社会关系的映射实施方式在下文中描述。分类归并和“分块”模块712运行以根据预定义的条件,将给定的数据对象集合分成为多个类,“分块”,或者子组。
分块模块712可以选择性的应用以下分类方法:严格分类方法,其中每一个数据对象都与仅仅一个子组相关联;或模糊分类方法,其中数据对象可以与一个以上的子组相关联。另外,关系处理系统708可以包括模块(未示出)以提供数据对象的过滤和分类,所述对象基于用户当前任务环境和关系的类型,预测/自动产生或查找基于用户当前环境和记录模式的数据对象集合,以及通过关系搜索模块,该模块搜索涉及所选择的一个数据对象的对象,例如诸如像涉及人的(电子邮件,文档,会议,照片……),的数据对象。
图10是一个关联用户界面系统716的一个实施方案的详细的方框图,所述关联用户界面系统716可包括下列组成中的任何一个或全部。一个可视化管理器1002可以为数据集合提供再现在计算机显示屏可视化(例如,图形的),这将在下文中更详细地描述。在某些实施方案中,可以添加新的可视化方法到可视化管理器1002中,并且可视化方法可以交叉应用程序环境而存在。通过可视化管理器1002可以提供可视化方法地例子,可视化管理器1002包括对象栈(如,照片),数据映射(如,人们社会关系的映射,如下文所述),层次,日程表等。检查管理器1004可以提供一个标准方法或格式给获得和显示与特定环境中特定项目有关信息,例如一个栈浏览圆锥,下拉式菜单,操作系统左侧信息窗格等。
可以包括环境管理器1006以提供一个跟踪用户正在工作的环境的定向任务的工作间。环境是所有对象,工具,应用程序,和与用户正在执行的特定任务有关的数据的集合。在某些实施方案中,环境可以重复调用(取消)也可以与其它人一起共享。例如,对关于计划聚会的电子邮件的收集可以是一个环境。
通知管理器1008可以提供给用户系统和表明由事件发生的应用程序通知724(图7)。在某些实施方案中,通过通知管理器1008,将来自应用程序的通知提供给用户。通知管理器1008将系统和应用程序通知列入优先,然后通过可视化管理器1002提供给它们。在某些实施方案中,历史管理器1010记录(如,在单个记录中)计算机上发生了什么事。如下文中将要更详细的描述的那样,历史管理器1010可以作为敏捷的根本撤销实用程序(deep UNDO utility)的功能,该程序可以判定作了什么,什么时候,如何将其撤销。历史管理器1010是某些操作的特写,例如象撤销,返回,和翻译。历史管理器1010也可以由外部事件加入组成,例如新闻标题和天气。
历史管理器1010为用户计算机行为的根本代表建造,存储和作索引。在一个实施方案中,历史管理器1010是一个低层次方面的关联系统700以便为所有的历史提供一个机制,无论是用户计算机行为历史,应用程序历史,还是甚至外部历史(例如新闻事件)。
图11是一个历史管理器910的一个实施方案的详细的方框图,所述历史管理器包括连续的、可升级的、通用的时间线1102,用户可在时间线中以各种层次从原子按键到整个一周的工作价值,代表计算机行为历史,应用程序历史等。用户可以在实际上的任何时间刻度上检查、查询和操纵历史。
应用程序和系统服务程序通过事件建模API 1104直接相互作用以增加事件给时间线1102。事件可能包括低等的行为,以及可以由应用程序和关联系统100提供的环境。例如,事件建模API 1104可以记录输入到字处理器中的按键行为,以及来自于该字处理器的相应于脚注文本的按键行为。该事件同样也可以与其它编辑变换为一个单个的“编辑文档”的,横跨整个一天的事件相关联。作为另一个实施例,电子邮件客户应用程序可以添加打开的电子邮件信息记录,用发信者,主题,和线程完善环境。系统可以添加附加的环境,关于其它的什么应用程序同时打开着以及电子邮件信息保持打开和显示在显示屏上多长时间。
从属跟踪引擎1106可以采用一个或多个模式以代表变化和它们的从属性。从属跟踪引擎1106可以使用这些模式在它们的暂存操纵任务中为用户提供灵活性。例如,如果用户在历史中返回以删去该对象,那么该对象后来的变化就是不相关的再现。在一个实施方案中,从属跟踪引擎1106也可以跟踪事件之间的临时的变化和相关性。例如,如果用户调整目录中每一张照片的大小,然后执行初始大小变化的撤销以及不同地将其重做的行为,那么从属跟踪引擎1106可以假定,用户希望对其他所有的图像都进行撤销和重做大小变化的行为。另外,从属跟踪引擎1106可以追踪计算机对象的来源以及环境是何时创建的。因此,变化使得可以贯穿整个继承链上传播根目录文件。
这些可选软件(特点)中的一部分在一些版本控制系统例如Visual SourceSafe,从微软公司获得。在一些版本控制系统中,用户看到文件全部的历史并且也存在有限的权限对一个文档增加和移动特定的改变。区别在于,版本控制系统缺乏有关产生了什么变化的语义知识。例如,虽然它可以记录已经对一个.cpp文件和一个.h文件进行了修改,常规的版本控制系统不知道它们是同时发生的,但是这两个变化改变了一个对象的名称属性。
依照计算机编程领域的技术人员的实践,根据由各种计算机系统和设备执行的操作的行为和符号代表如上描述本发明。有时将所述行为和操作称作是—由计算机执行的,而且可能与操作系统或者合适的应用程序相关联。应当认识到:所述这些动作和符号化操作包括了由CPU中表示数据位的电信号所执行的操纵,这导致了作为结果而引发的电信号表示的转换或减少,还包括了在存储系统中的存储单元处的数据位维护,以由此来重构或者改变计算机系统操作以及其他的信号处理。维持数据位的存储器单元是物理的存储单元,具有特定的相应于数据位的电子,磁性,或光学性质。
根据示范的实施例已经描述和举例说明了本发明的原理,可以得到认可的是,再不脱离上述原理的情况下,可以根据安排、详细地修改示范性的实施例。鉴于本发明的原理可以运用到的许多可能的实施例,应该认识到仅仅用于举例说明的详细的实施例不应该看作是对本发明范围的限制,相反地,作为本发明我们要求本发明所有的在下述权利要求及其等效内容的范围和精神之内的所有实施例。