CN101218590B - 处理源自不同后台仓库的对文档的搜索请求的方法和系统 - Google Patents
处理源自不同后台仓库的对文档的搜索请求的方法和系统 Download PDFInfo
- Publication number
- CN101218590B CN101218590B CN2006800253422A CN200680025342A CN101218590B CN 101218590 B CN101218590 B CN 101218590B CN 2006800253422 A CN2006800253422 A CN 2006800253422A CN 200680025342 A CN200680025342 A CN 200680025342A CN 101218590 B CN101218590 B CN 101218590B
- Authority
- CN
- China
- Prior art keywords
- user
- backstage
- warehouse
- document
- secure group
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
Abstract
提供了用于处理源自不同后台仓库发源的对文档的搜索请求的技术。对于在搜索索引中所识别的每个文档,将一个或多个索引级别的访问控制表信息存储在搜索索引中。通过使与每个所述文档相关联的一个或多个索引级别的访问控制表信息匹配于与所述搜索请求相关联的一个或多个安全组,生成中间结果集合。通过用由中间结果集合所参考的一个或多个文档所源自的每个所述不同的后台仓库执行模仿,从中间结果集合生成最终的结果集合。
Description
技术领域
本发明的实施例涉及强制实行对于索引文档的本地访问控制。
背景技术
企业可被描述为使用计算机的任何组织(例如,商业机构、政府机关、慈善团体等等)。在企业中找到的信息可以以任何形状和形式存在。信息可以分布在整个企业中,并通过各种软件程序被管理,这取决于手头的任务。例如,企业用户可以使用SQL应用程序来接进关系数据库,或使用文档管理应用程序来访问与他们的工作有关的文档。
控制对包含在这些仓库中的敏感信息的访问典型地由管理软件程序强制实行。信息被保护的程度可以随不同的系统而变化,每个系统强制实行它自己的安全策略和要求。例如,文件系统通常控制对文件的读、写和执行操作,并把安全组与允许的操作相关联。一个安全组可包括单个用户或多个用户。然而,文件系统并不控制对一个文件内的各个单元的访问。一旦用户被允许打开一个文件,用户就能对它的所有内容进行访问。与文件系统安全模式相反,关系数据库管理系统可以控制对数据库的一个表中的各个数据列的访问,并且文档管理程序可以强制实行安全策略以限制在规定的时间间隔内对文档的访问。
企业搜索引擎可以被描述为能够响应于查询(一种搜索请求的形式)来检索企业的相关文档。用于不同类型的企业内容的安全模式的多样性对于企业搜索引擎来说是有问题的。企业搜索引擎的目标是提供对于用户被授权观看的文档的询问的快速和相关的应答。为了满足性能和相关的要求,大多数企业搜索引擎建立代表要搜索的内容的搜索索引。用户实际上提交对于索引的查询,而不是搜索原始内容,这就像搜索图书馆的目录卡一样。
搜索索引包括从各种后台仓库中提取的文档。仓库可被描述为数据源。后台仓库可被描述为把数据源贡献给搜索索引。在这些后台仓库中包含的文档通过抓取器被提取,所述抓取器具有访问该仓库的所 有文档的足够权限的安全凭证。通常,呈现给抓取器的用户身份(“userId”)是对仓库中的大多数文档(即使不是全部文档的话)有访问权限的“超级”用户。因此,企业搜索索引的初始文档访问权限代表了这个“超级”用户的访问权利。
不同的企业搜索引擎使用不同的方法来限制各个用户的访问权限。一种方法是企业搜索引擎提供它自己的安全模式。企业搜索引擎的管理员规定访问编目文档的各个访问权限。这种方法有几个缺点。首先,这种方法试图利用公共安全模式,它将满足所贡献的后台仓库的所有安全要求。如前所述,当不同类型的仓库和访问控制增加时,这可能是不现实的或者不可能的。典型地,最终结果是对于安全性的最小公分母效应,使得多个文档失去某些(即使不是全部)它们的本地安全控制。其次,这种方法需要管理员对于在原始仓库中已定义的文档重新定义受控访问,这是双倍的任务。最后,该方法暗示管理员具有对于所有企业内容的访问控制的企业范围的了解,这是不太可能的情况。
所以特别希望搜索引擎能够接受由后台仓库的本地访问控制所规定的文档访问权限。本地访问控制是指在从其检索文档的仓库处实施的访问控制。典型地,本地访问控制表(ACL)与每个文档相关联,并被用来强制实行对于该文档的访问控制。在许多情况下,本地ACL包括代表安全组和/或对一个文档具有访问权限的各个用户的安全令牌。本地ACL也可以以比后台仓库内的文档更高的级别存在。例如,文档可以被组织到文件夹中,文件夹本身就可以具有规定的ACL(即,文件夹级别的ACL)。文件夹又可被组织到逻辑文件柜中,它们也可以具有它们自己规定的访问控制(即,文件柜级别的ACL)。通常有两种方法用于使搜索引擎接受这些本地ACL。一种方法是把本地ACL复制到搜索引擎中。另一种方法是把本地ACL留在后台仓库中,并使得搜索引擎通过模仿从仓库请求文档访问权限。
ACL方法是把由后台仓库规定的文档的本地ACL自动复制到企业搜索引擎的搜索索引中。虽然这种方法减轻了管理员重新规定文档的ACL的负担,但该方法有几个缺点。如果本地ACL是要保持它们的原始安全模式,则企业搜索引擎重新实施由后台使用的相应安全机制,以强制实行这些ACL。这可能是一项繁难的任务。作为替代,搜索引擎可以尝试把这些ACL变换成单个的公共模式,从而可以使用单个的安全过滤机制。真正的归一化的模式可能是无法实现的。术语“归一化” 可被描述为使得遵循标准或成为一致的。如果归一化模式是可实现的,结果将是代表所有做出贡献的仓库的最小公分母的安全模式。
模仿方法在搜索索引中根据不保存任何安全信息。响应于查询,从索引生成结果集合。然后,在结果集合被呈现给用户之前,企业搜索引擎通过实时咨询文档的原始后台仓库而去除不允许用户观看的那些文档。当与本地仓库互动时,企业搜索引擎在某种意义上是模仿最终用户。通过模仿,企业搜索引擎询问本地仓库用户是否可以具有访问先前抓取得到的和从该仓库提取的一个或多个文档的权限。通过这种方法,文档访问由原始仓库的本地安全机制控制,然而这可能是很复杂的。另外,过滤实时地进行,因此反映了对于任何给定文档的最新的本地ACL改变。
虽然模仿方法确实满足了接受文档的原始访问权限的要求,但该方法具有一些缺点。首先,该方法要求与对索引有贡献的所有后台仓库的连接性。如果一个特定的后台仓库是不可获得的,则可能无法确定一个结果集合中文档的属性。也就是说,如果后台是不可获得的,则有可能看不到该文档。在这个条件下,文档将自动从结果集合中被去除。
然而,模仿方法可能要花费一些时间。搜索索引在速度方面被优化,并且通常可以在子第二响应时间中被搜索。通过模仿方法,增加了与每个后台仓库通信以确定文档是否应当被包括在返回给用户的最终结果集合内的时间。结果集合相差越多,通信的数目越大。当用户被拒绝访问大多数结果时,问题变得很复杂。例如,假设通过提交对于索引的查询,查询生成了按相关性划分等级的1000个中间结果。另外,假设用户没有对由后台仓库所规定的前面900个结果进行访问的权限。然后,超过900个以上的模仿在结果集合被其余的100个结果所占据之前已经被企业搜索引擎执行。
因此,在本技术领域中需要更为有效的强制实行对索引文档的本地访问控制。
发明内容
提供了一种用于处理搜索请求的方法、计算机程序和系统。一种用于处理源自不同后台仓库的对文档的搜索请求的方法,包括:对于在搜索索引中识别的每个文档,一个或多个索引级别的访问控制表信息被存储在搜索索引中,其中搜索索引包括从各种后台仓库中提取的 文档,较高级别的本地级别的访问控制表信息被映射到在搜索索引中表示的一个或多个索引级别;通过使得和每个所述文档相关联的一个或多个索引级别的访问控制表信息与和搜索请求相关联的一个或多个安全组相匹配,从而生成中间结果集合,其中一个或多个安全组与发出搜索请求的用户相关联并且所述用户是该一个或多个安全组的成员;通过用一个或多个文档所源自的每个所述不同的后台仓库执行模仿,从中间结果集合生成最终的结果集合,其中一个或多个文档由中间结果集合参考。此外,一种用于处理源自不同后台仓库的对文档的搜索请求的系统,包括:对于在搜索索引中所识别的每个文档,把一个或多个索引级别的访问控制表信息存储在搜索索引中的装置,搜索索引包括从各种后台仓库中提取的文档,较高级别的本地级别的访问控制表信息被映射到在搜索索引中表示的一个或多个索引级别;通过使与每个所述文档相关联的一个或多个索引级别的访问控制表信息匹配于与所述搜索请求相关联的一个或多个安全组,生成中间结果集合的装置,其中一个或多个安全组与发出搜索请求的用户相关联并且所述用户是该一个或多个安全组的成员;并通过用一个或多个文档所源自的每个所述不同的后台仓库执行模仿,从中间结果集合生成最终的结果集合的装置,其中一个或多个文档由中间结果集合参考。
附图说明
现在参考附图,其中相同的附图标记在全文中代表相应的部件:
图1示出了其中可以实施某些实施例的计算机结构的细节。
图2示出了按照某些实施例的、用于创建搜索索引的逻辑。
图3示出了按照某些实施例的、用于创建用户资料的逻辑。
图4示出了按照某些实施例的、用于收集用户安全凭证的样本屏幕。
图5示出了按照某些实施例的、由企业搜索引擎执行的逻辑。
图6示出了按照某些实施例的结构。
图7示出了按照某些实施例的中间结果集合和最终结果集合。
图8示出了可以按照某些实施例使用的计算机系统的结构。
具体实施方式
在以下的说明中,参考构成本发明的一部分并描述了几个实施例的附图。应当理解,也可以利用其它实施例并且可以做出结构上和操作上的改变,而不背离本发明的实施例的范围。
图1示出了其中可以实施某些实施例的计算机结构的细节。客户端计算机100被耦合到web服务器120。客户端计算机100包括可以以易失性和/或非易失性设备实现的系统存储器102。一个或多个客户端应用程序104(即,计算机程序)被存储在系统存储器120中,以便由处理器(例如,中央处理单元(CPU))(未示出)执行。
web服务器120被耦合到客户端计算机100和企业搜索服务器140。web服务器120包括可以以易失性和/或非易失性设备实现的系统存储器122。至少一个身份管理器124(即,计算机程序)被存储在系统存储器122中,以便由处理器(例如,中央处理单元(CPU))(未示出)执行。web服务器120还被耦合到包含用户资料126的数据存储器。
企业搜索服务器140被耦合到web服务器120和多个后台服务器160a,...,160n。椭圆表示任意数目的后台服务器可被耦合到企业搜索服务器140。企业搜索服务器140包括可以以易失性和/或非易失性设备实现的系统存储器142。至少一个企业搜索引擎144(即,计算机程序)被存储在系统存储器142中,以便由处理器(例如,中央处理单元(CPU))(未示出)执行。企业搜索服务器140还被耦合到容纳搜索索引146的数据存储器。
一个或多个后台服务器160a,...,160b中的每一个均包括可以以易失性和/或非易失性设备实现的系统存储器162a,...,162b。一个或多个服务器应用程序164a,...,164b(即,计算机程序)被存储在每个相应的系统存储器162a,...,162b中,以便由处理器(例如,中央处理单元(CPU))(未示出)执行。每个后台服务器160a,...,160b分别被耦合到容纳文档166a,...,166b的数据存储器。
在替代实施例中,计算机程序可被实现为硬件、软件、或硬件和软件的组合。
客户端计算机100、web服务器120、企业搜索服务器140和后台服 务器160a,...,160b可包括在本领域已知的任何计算设备,如服务器、主机、工作站、个人计算机、手持式计算机、膝上电话设备、网络设备等等。
客户端计算机100、web服务器120、企业搜索服务器140和后台服务器160a,...,160b可以经由网络互相耦合,如存储区域网络(SAN)、局域网(LAN)、广域网(WAN)、互联网、内部网等等。
每个数据存储器可包括存储设备阵列,如直接存取存储设备(DASDs)、简单磁盘捆绑(JBOD)、独立软盘冗余阵列(RAID)、虚拟设备等。
图2示出了按照某些实施例的、用于创建搜索索引的逻辑。控制过程从方块200开始,企业搜索引擎144抓取具有“超级”用户访问的文档。在方块202,企业搜索引擎144从本地后台服务器检索一个或多个本地级别的访问控制表信息,本地后台服务器在这里将被称为“本地级别”。在某些实施例中,不获取拒绝控制表信息。访问控制表信息包括一个或多个本地级别的访问控制表信息。本地级别的访问控制表信息例如可以与服务器、数据库和每个文档相关联。在方块204,企业搜索引擎144把检索到的一个或多个本地级别的访问控制表信息映射到存储在搜索索引146中的索引级别的访问控制表信息。术语“索引级别”是指与搜索索引146相关联的访问控制表信息级别。例如,搜索索引146可包括服务器和数据库级别的访问控制表信息。本地级别和索引级别可被定义为安全组(例如,经理、职员、销售)。在方块206,企业搜索引擎把所映射的访问控制表信息级别存储在搜索索引146中。
在文档级别下的安全模式可能有很大不同,妨碍实现共同模式的任何努力。但由于考虑到较高级别的访问控制表信息,提高了达到归一化模式的可能性。例如,许多文档管理系统提供在集合或数据库级别下的访问控制。其它文档管理系统通过登录认证过程附加地提供在服务器或系统级别下的访问控制。在抓取期间,企业搜索引擎144从后台服务器160a,...,160b选择对于不同类型的仓库具有类似语义的特定级别的访问控制表信息(即,一类访问控制表信息的最小公分母集合)。
虽然较高级别的访问控制表信息并不控制对各个文档的访问,但该信息可被用来预测对文档成功的模仿访问的可能性。例如,可以预测到如果搜索用户具有对文档的数据库的访问权限,则用户最可能具有对数据库中的文档的访问权限。
当搜索索引146被构建或刷新时,在文档提取过程期间得到较高的级别的访问控制表信息。检索到的较高级别的访问控制表信息被映射到在搜索索引146中表示的一个或多个索引级别。在某些实施例中,搜索索引146中的索引级别的数目通过由所有做出贡献的后台服务器160a,...,160b支持的较高级别的访问控制表信息的交集而被确定。在搜索索引146中每个索引级别下归一化的高级别访问控制表信息被企业搜索引擎144用来快速产生搜索用户具有高访问可能性的文档的中间结果集合。正是这个中间结果集合由企业搜索引擎144通过模仿对它进行后过滤。
在某些实施例中,模仿牵涉到通过使用搜索用户的安全凭证以编程方式建立与后台服务器160a,...,160b的会话。一旦后台服务器160a,...,160b对模仿的用户进行了认证,企业搜索引擎144因此就把最终用户有可能被授权观看的文档的列表呈现给后台服务器。后台服务器用拒绝或准许访问每个文档的指示对搜索引擎做出应答。
在某些实施例中,一旦最终用户已经被主系统认证(即,用户在登录到web服务器120期间已经输入了有效的用户ID和密码),并且在用户向企业搜索引擎144发出搜索请求(例如一条查询)之前,启动身份管理器124。身份管理器124负责生成用户的安全上下文(securitycontext),它包括其一个成员是该用户的一个或多个安全组,被用于模仿该用户,并且用于基于其一个成员是该用户的一个或多个安全组对索引文档进行预过滤。用户的安全上下文包含对于每个后台仓库安全域的用户的安全凭证,以及在这些安全域中用户的相关的一个或多个安全组。安全域可被描述为包括一个或多个后台服务器160a,...,160n,其存储由企业软件系统管理的一个文件集合。在某些实施例中,安全域可以由一个以上的同一种类型的仓库组成,并且提示用户输入安全 域的凭证,而不是安全域中每个各个仓库的凭证,因为凭证是相同的。在某些实施例中,安全上下文是经过格式化的XML字符串。
图3示出了按照某些实施例的、用于创建用户资料的逻辑。在客户端计算机100处的用户例如以用户身份(“userId”)和密码组合的形式把登录数据提供给主系统(例如,web服务器120)。在图3中,控制过程在方块300开始,身份管理器124接收有效的用户登录数据(例如用户ID)。在方块302,身份管理器124确定是否存在对于具有接收的登录数据的用户的用户资料。如果是的话,则处理过程进行到方块308,否则进行到方块304。
在方块304,身份管理器124提示输入并接收对于一个或多个安全域的用户安全凭证,每个安全域包括一个或多个后台仓库。具体地,用户把用于访问包含在后台服务器160a,...,160b处的数据存储器中的文档的用户安全凭证提交到身份管理器124。用户对于每个后台服务器160a,...,160b和相关的安全域可以具有不同的身份(即,不同的登录数据)。例如,用户可以提交对于每个安全域的用户ID和密码,其中用户想要从这些安全域得到针对索引文档执行的搜索。在方块306,身份管理器124把对于一个或多个后台仓库的用户安全凭证存储在用户资料126中。在某些实施例中,对于每个所提供的安全凭证,身份管理器124尝试登录到后台仓库,得到对于该安全域的用户的一个或多个安全组。如果登录失败,则假设用户的安全凭证已改变(例如,密码过期),并提示用户重新输入正确的安全凭证。否则用户的一个或多个安全组被后台仓库返回,并被存储在用户资料中。在任何时间,用户可以选择忽略所建议的对用户资料的更新,但这导致受到改变影响的那些文档被排除在搜索以外。
在方块308,身份管理器124尝试从一个或多个后台仓库中的第一后台仓库开始用存储在用户资料中的用户安全凭证登录到该一个或多个后台仓库的下一个后台仓库。在方块310,身份管理器124判断登录是否成功。如果是的话,处理进行到方块312,否则,处理进行到方块304。如果登录不成功,可能是用户的安全凭证已改变。
在方块312,身份管理器124从后台仓库提取其一个成员是该用户的一个或多个安全组,以及在方块314,身份管理器124把对于该后台仓库提取的一个或多个安全组存储在用户资料中。在方块316,身份管理器124确定用户对于其提供了用户安全凭证的所有后台仓库是否已经被访问。如果是的话,处理进行到方块318,否则,处理环路回到方块308。
在方块318,身份管理器124通过使用用户资料126而生成安全上下文。在方块310,身份管理器124使得安全上下文对于客户端应用程序104是可用的,该客户端应用程序又把安全上下文附加到被转发给企业搜索引擎144的每个搜索请求。
在某些实施例中,身份管理器使用轻便目录存取协议(LDAP)用户注册表来存储用户资料。身份管理器124在LDAP用户注册表中的用户的现有的个人条目下面为用户存储多个用户安全凭证。LDAP用户注册表的位置和结构经由例如由实施例提供的用户接口被提供到身份管理器124。当LDAP被使用时,用户通过提供在LDAP中记录的用户ID和密码初始登录到web服务器120。身份管理器124使用所接收的用户ID,定位LDAP中的用户记录,或把用户安全凭证加到LDAP中的用户记录上。
图4示出了按照某些实施例的、用于收集用户安全凭证的样本屏幕400。屏幕400包括“LDAP登录安全凭证”部分410和“仓库登录安全凭证”部分420。最初,为了创建或更新用户资料,用户使用用户ID412和密码414进行登录。用户可以向系统表示它是否要记住密码,从而在以后的尝试中跳过登录过程。一旦用户已经登录,身份管理器就提示用户把用户安全凭证输入到屏幕400的“仓库登录安全凭证”部分420。“仓库登录安全凭证”部分420包括使能搜索指示器422,它在用户提交搜索请求到企业搜索引擎144时可被检查,以表示相关的域对于搜索是可用的。“仓库登录安全凭证”部分420还包括一个域的列表424。在某些实施例中,根据对于企业搜索引擎144可用的集合和在这些集合中需要认证的文档,计算该域列表424(例如,IBM或企业搜索)。“仓库登 录安全凭证”部分420包括对于每个域424的用于用户名称426和密码428的字段。
一个集合可以由从许多不同类型的后台仓库抓取得到的文档组成。例如,一个集合可包含从文件系统和几个数据库抓取得到的某些文档。身份管理器124区分不同的类型,并提示输入对于访问这些分开的安全域所需的安全凭证。
在某些实施例中,缺省地,使能每个凭证进行搜索,因此需要用户提供相应的用户名称和密码。如果用户忘记到特定的域的用户名称和/或密码,则用户可以选择禁止搜索该域(即,不选中使能搜索指示器的方框)。这避免了在这些域中任何保密文档被搜索和返还到结果集合。
图5示出了按照某些实施例的、由企业搜索引擎144执行的逻辑。控制过程在方块500开始,其中企业搜索引擎144接收搜索请求。在方块502,企业搜索引擎144生成匹配于通过使用搜索索引146所确定的搜索请求项的预先过滤的文档列表。在方块504,企业搜索引擎144通过使与每个文档相关联的一个或多个索引级别匹配于与搜索请求相关联的一个或多个安全组(例如,对于每个安全域其一个成员是该用户的一个或多个安全组),从满足搜索请求中的搜索标准的预先过滤的文档列表生成中间结果集合。在某些实施例中,该一个或多个安全组是与发出搜索请求的用户相关联的。
在方块506,企业搜索引擎144根据针对在中间结果集合中的文档的模仿生成最终的结果集合。具体地,企业搜索引擎144请求后台服务器160a,...,160b检验通过模仿对文档的访问。模仿牵涉到通过使用搜索用户的安全凭证建立与后台服务器160a,...,160b的会话。后台服务器160a,...,160b可以相信它正在与用户直接互动,并因此可以用授权最终用户访问的数据进行应答。然而,后台服务器160a,...,160b正在与模仿该用户的企业搜索引擎144通信。
为了模仿一个用户,企业搜索引擎144从伴随着搜索请求的用户的安全上下文得到用户的安全凭证。安全上下文包括用于每个后台服务 器160a,...,160b的用户的登录消息。正像请求用户向原始后台服务器160a,...,160b提供标识以便执行搜索和访问文档一样,企业搜索引擎144对于包含在搜索索引中的需要认证的任何文档提供相同的安全凭证。在某些实施例中,当用户建立与企业搜索引擎144的会话时,身份管理器144检索该用户的安全上下文。该安全上下文然后可以在以后的搜索中由用户重复使用。在某些实施例中,该用户的所有安全凭证在每次搜索时被提供,因为事先不知道哪些后台服务器160a,...,160b可以被模仿。
在方块508,企业搜索引擎144把最终的结果集合提供给用户,使得用户能够选择然后可被后台服务器160a,...,160b提供的文档。
因此,实施例提供一种技术:用由被索引的文档的本地访问控制所规定的、允许搜索用户观看的那些文档来应答搜索请求。实施例组合了在搜索索引146中较高级别的访问控制表信息的存储以及原始后台服务器160a,...,160b的实时咨询,以确定用户可以访问的文档。在搜索索引146中较高级别的访问控制表信息的存储使得能够实现很好的搜索性能,并且通过模仿,文档的原始后台服务器160a,...,160b的主机软件变为关于是否允许用户访问该特定文档的最终的判别器。因此,该技术强制实行本地访问控制表信息。
图6示出了按照某些实施例的结构。在图6中,后台服务器A 604是安全域SEC01 602的一部分,且包括数据库A1 606和数据库A2 608。后台服务器B 614是安全域SEC02 612的一部分,且包括数据库B1 616和数据库B2 618。后台服务器A 604和后台服务器B 614为访问文档提供了n个本地级别的归一化的访问控制表信息。安全域可被描述为由企业软件系统及其相应的安全机制所管理的文档集合。在本例中,每个后台服务器604,614保留它自己的访问控制表,并分开地认证它的用户。
文档提取过程通常被称为抓取,并由抓取器630执行。抓取器630检索文档的实际内容,以及关于文档的任何元数据(例如,作者、创建日期等等)。这个信息由企业搜索引擎144进行解析和索引。典型地, 搜索索引146包含在该文档中的所有字的高度压缩的交叉参考。
具体地,抓取器630连接到具有足够权限来访问和提取对于该仓库的所有文档的安全凭证的后台系统。通常,由抓取器呈现给后台系统的用户ID是可以访问仓库中的大多数(如果不是全部的话)文档的“超级”用户标识。连同文档一起提取的是仓库的较高级别(例如,服务器级和数据库级)访问控制表信息。访问控制表信息识别允许访问仓库中的文档的那些用户和/或用户组。这个信息是与每个文档相关联的,并被存储在搜索索引636中,以由企业搜索引擎640使用。
抓取器630通过访问后台服务器A 604从数据库A1 601和数据库A2检索文档信息610。抓取器630还通过访问后台服务器B 614从数据库B1和数据库B2检索文档信息620。用于检索允许访问这个服务器的该一个或多个安全组的编程技术对于抓取器630是可用的。抓取器630把访问控制表信息与每个抓取得到的文档相关联。
在图6的例子中,索引的级别是服务器级和数据库级,并且被提取的本地级别的访问控制表信息是服务器级和数据库级的信息。不是所有的后台服务器都可以使用“服务器”和“数据库”级的术语,并且不是所有的后台服务器都支持这两个级别。如果至少一个级别的访问控制表信息得到后台服务器的支持,则抓取器630把该级别映射到存储在搜索索引636中的适当的索引级别。例如,许多企业后台服务器提供用户登录到系统,这可以近似为服务器级访问。作为另一个例子,归一化的“数据库”级被用于把它们的文档进一步组织成可以指定为分立的访问控制的逻辑集合的那些后台服务器。例如,文档管理系统可以限制哪些用户组在它的控制下可以访问哪些集合。这类访问控制表信息然后可以被映射到与在搜索索引640中的数据库级相关联的索引级别。
如果从后台服务器604、614只能提取一个本地级别的访问控制表信息,则抓取器630可以把该本地级别映射到服务器和数据库的索引级别。然后,搜索用户的用户标识或其一个成员是该用户的一个或多个安全组在查询过程期间针对这两个索引级别被检验。
由抓取器630提取的文档内容由索引器634进行解析、令牌分解和 摄取,以构建搜索索引636。搜索索引636代表可被搜索和可以针对速度和精度进行优化的文档的全体。搜索索引636从后台服务器604、614(即,企业仓库)提取的经过综合的文档内容被构建和周期地刷新。和每个文档一起被存储在搜索索引636中的是多级别访问控制表信息。由于搜索索引636由从许多不同种类的后台仓库抓取的文档组成,搜索索引636可包含来自不同安全域的访问控制表信息。
当用户在用户计算设备650上向企业搜索引擎640发出一个查询时,企业搜索引擎640允许用户接收对匹配于用户的搜索标准的文档的参考列表。具体地,用户从用户计算设备650向企业搜索引擎640发出一个查询。企业搜索引擎640接收安全上下文以及该查询。具体地,与被提交给企业搜索引擎640的每个查询相关的是用户可具有的用户安全凭证的完整集合。用户可具有的多个身份由身份管理器642请求并被存储到用户注册表644中。
企业搜索引擎640使用搜索索引636来产生经过预过滤的结果。然后,企业搜索引擎144通过使得与每个文档相关联的一个或多个索引级别匹配于与发出搜索请求的用户相关联的一个或多个安全级别,从经过预过滤的结果集合生成中间结果集合。企业搜索引擎144根据对中间结果集合中文档的模仿生成最终的结果集合。
虽然抓取器630、索引器634和企业搜索引擎640被示出为分开的部件,但这些部件可被组合以形成一个部件。
用于后台服务器604,614的用户的安全凭证可能不是相同的。安全凭证可以由代表用户的用户识别号(“userId”)、用来认证用户的密码和用户的安全组列表(即,其一个成员是该用户的一个或多个安全组的列表)组成。除非两个后台服务器604和614共享一个公共的用户注册表,否则安全凭证的任何部分在不同的后台服务器604,614之间都可以不同。例如,用户John Smith可以是在后台服务器604中规定的管理者安全组的一个成员,但用户John Smith可能仅仅是由后台服务器614所规定的职员安全组的一个成员。即使John Smith是在两个后台服务器604,614中名称相同的安全组的一个成员,但这两个安全组之 间的实际的成员可以是不同的。例如,John Smith是由后台服务器604所管理的职员安全组的一个成员,但不是由后台服务器614所管理的职员安全组的成员。在某些实施例中。企业搜索引擎640通过把安全域名附加到搜索索引636中的每个访问控制表条目上而保持这种区别。
表A示出了在后台服务器604,614处对于文档DA1和DA2的本地级别的访问控制表信息:
表A
文档识别号 | 后台服务器 | 域名 | 原始ACL组列表 |
DA1 | A | SEC01 | 职员,销售 |
DA2 | B | SEC02 | 职员,经理 |
在表A中,文档DA1是来自后台服务器A 604的,后台服务器A 604位于安全域SEC01 602中,并包括表示具有安全级别Staff(职员)和Sales(销售)的用户可以访问该文档的原始访问控制表信息。文档DB1是来自后台服务器B 614的,后台服务器B 614位于安全域612中,并包括表示具有安全级别Staff(职员)和Manager(经理)的用户可以访问该文档的原始访问控制表信息。
表B示出了搜索索引636:
表B
文档识别号 | 后台服务器 | 域名 | 级别1(服务器) | 级别2(数据库) |
DA1 | A | SEC01 | 职员,销售 | 销售 |
DB1 | B | SEC02 | 职员,经理 | 职员 |
在表B中,对于每个文档,存储两个索引级别的信息:服务器级和数据库级。对于每个文档,对每个索引级别在搜索索引636中存储信息,表示为了访问该文档用户需要的安全访问等级。例如,为了访问文档DA1,用户需要属于销售安全组,以便能够通过存储在该索引中的访问控制级别1和级别2。对于DB1,用户需要属于职员安全组,以便能够通过存储在索引中的访问级别1和级别2。
当用户首先建立与企业搜索系统640的会话时,汇编对于该用户的 所有安全凭证的集合。这组安全凭证代表包含在搜索索引636中的所有安全域,并被企业搜索引擎640所使用,以生成中间结果集合和通过模仿进行后过滤。
当用户向企业搜索引擎640提交一条查询时,该查询伴随着用户的安全凭证集合。表C示出了对于后台服务器604,614的用户安全凭证。
表C
安全域 | 用户ID | 密码 | 安全组成员 |
SEC01 | JohnSmith | X7fh567 | 职员,人事 |
SEC02 | JSmith | EBDCA001 | 职员,财务 |
例如,在表C中,在安全域SEC01中,用户识别号是JohnSmith,密码是X7fh567,其一个成员是该用户的安全组是Staff(职员)和Personnel(人事)。另外,在安全域SEC02中,用户识别号是JSmith,密码是EBDCA001,其一个成员是该用户的安全组是Staff(职员)和Finance(财务)。企业搜索引擎640将这些安全组与在搜索索引636中的索引级别相匹配。
企业搜索引擎640使用其一个成员是该用户的安全组(在表C中的“安全组成员”)作为当选择匹配于用户的搜索标准的文档时所要满足的附加标准。在用户的安全凭证集合中列出的安全组可以附加它们各自的安全域,以消除在后台服务器上类似安全组名称的冲突。在某些实施例中,对于特定的文档,如果在增扩的用户的安全组列表中至少一个安全组匹配于在存储在该索引中的每个访问控制级别中的至少一个安全组,则允许访问该文档。
表D示出了样本文档匹配于用户的查询。
表D
文档ID | 服务器级别 | 数据库级别 |
DA1 | 职员:SEC01, 销售:SEC01 | 职员:SEC01, 销售:SEC01, 经理:SEC01 |
DA5 | 经理:SEC01, 财务:SEC01 | 财务:SEC01 |
DA7 | 市场:SEC01 | 市场:SEC01 |
DA2 | 所有组:SEC02 | 财务:SEC02 |
DA3 | 职员:SEC02, 经理:SEC02 | 职员:SEC02, 经理:SEC02 |
在某些实施例中,索引级别中的一个级别可以是索引级别的另一个级别的子集合。例如,在表D中,数据库级访问控制表信息可以是服务器级访问控制表信息的一个适当的子集合,并可被用来进一步限制哪些安全组具有对该特定数据库的访问权限。另外,有可能在两个访问控制表信息的集合之间具有交集,如由文档“DA1”所表示的。应当指出,安全组经理:SEC01在数据库级访问控制表信息中示出,而没有在服务器的访问控制表信息。这个服务器的管理员可能从服务器访问控制表信息中去除经理:SEC01安全组,有效地向经理拒绝对该服务器的访问,但不会影响在这个服务器下更新每一个数据库。另外,应当指出,对于文档“DB2”,名为“所有组:SEC02”的安全组存在于服务器级访问控制表信息。令牌“所有组:SEC02”是安全组的识别号,并像任何其它的访问控制表信息条目那样被对待。也就是说,在某些实施例中,令牌不是照字面含义被解译。所以,想要访问该服务器的用户必须属于名为“所有组”的安全组。
在本例中,表D的文档集合根据从表C得到的用户的一个或多个安全组的下述布尔表达式(1)被过滤,得到表E中的文档:
服务器级ACL包含 (1)
(职员:SEC01 OR人事:SEC01 OR职员:SEC02 OR财务:SEC02)AND数据库级ACL包含
(职员:SEC01 OR人事:SEC01 OR职员:SEC02 OR财务:SEC02)
下表提供了中间结果集合的例子。
表E
文档ID | 服务器级 | 数据库级 |
DA1 | 职员:SEC01, 销售:SEC01 | 职员:SEC01, 销售:SEC01, 经理:SEC01 |
DA3 | 职员:SEC02, 经理:SEC02 | 职员:SEC02, 经理:SEC02 |
表E的中间结果集合代表在本例中匹配于用户的查询并由企业搜索引擎640在服务器级和数据库级上计算的、用户有权访问的那些文档。然而,仍然有可能不允许用户观看在他们的原始源系统中所反映的这些文档中的任一个文档。企业搜索引擎640模仿该用户并咨询每个文档的后台数据库604,614,以确定该文档是否应当被包括在最终的结果集合中。
在表E中的每个文档来自不同的安全域,这些安全域为确定访问需要分开地模仿。企业搜索引擎使用文档的安全域来查看在表C中为进行模仿所要使用的适当的安全凭证。
实施例提供了改进模仿的性能的几种增强方案。例如,搜索索引由从很多不同种类的企业后台仓库抓取的文档构成。因此,结果组集合可包含来自这些后台仓库的任一个后台仓库的文档。当最终结果集合包含源自不同的后台仓库的文档时,则操作系统的多任务能力被用来通过每个不同种类的后台服务器160a,...,160b同时执行模仿。相反,当最终结果集合包含来自同一个后台仓库160a,...,160b的多个文档时,则这些文档通过同一个模仿过程一起被呈现给后台服务器160a,...,160b。这使得对话建立和认证过程对于这组文档只执行一次。
另外,通过使得所执行的模仿的次数最小化而改进了性能。如前所述,当用户被拒绝访问结果集合中的大多数文档时,可能进行超常次数的模仿。实施例通过把对于每个后台服务器160a,...,160b的索引级别的访问控制表信息(即,本地访问控制表信息的归一化集合)存储在搜索索引146中而减小了失败的模仿的次数(即,导致访问一个或多个文档被拒绝的模仿)。较高级别的访问控制表信息可被用来生成中间结果集合,并对于中间结果集合执行模仿。也就是说,通过使用户的安全级别匹配于与中间结果集合中的每个文档相关联的索引级别(例如,服务器级和数据库级),文档已具有通过模仿测试的改进的机会。
实施例还通过利用最终的结果集合的页面大小减小了进行的模仿的次数。典型地,搜索应用程序给出对于一个查询的应答作为一系列页。典型地,第一页给出最相关的结果,用户可以选择(例如,在超级链接上点击)最终结果集合中的文档,以观看实际的文档。通过相关性降低而排序的后续的页通常没有显示出,但这些页可以由用户请求(例如,通过在最终结果集合的第一页上显示的所希望的页码上点击)。因此,在某些实施例中,当一页能够示出m个结果时,企业搜索引擎144执行足够的模仿以显示这m个结果。为了完成这一点,企业搜索引擎144必须保持与代表完成一页的最后一次成功的模仿的中间结果集合的分开的偏移。使用通过搜索应用程序请求的页码来计算在中间结果集合中哪个地方开始进行后过滤是不够的。
例如,假设页面尺寸被设置为显示10个结果。而且,假设执行13次模仿来填充10个结果的第一页(即,因为由于拒绝访问而造成三个结果被滤除)。当请求最终结果集合的下一页时,企业搜索引擎144开始在文档14处模仿,而不是在文档11处模仿。
另外,企业搜索引擎144可以验证足够数量的中间结果,从而显示具有预定数目的结果的所请求的页。例如,如果中间结果集合包含许多结果,则模仿和检验访问步骤可能是一个很长的过程。再次地,这个性能上的缺点可以通过验证足够的结果完成所请求的页(例如,通过模仿显示10个结果而验证足够的结果)而得到很大改进。
假设中间结果集合包含满足用户的原始查询的超过100个结果,但页面尺寸被设置为10的预定结果数目(例如,通过客户端应用程序104)。最好情况的情景将导致10次模仿来填充显示10个结果的一页。另外的模仿被执行,以替代模仿测试失败的那些文档,但预期这种情况的可能性是很低的,并且预期如果用户具有对与文档相关联的索引级别(例如,服务器级和数据库级)有访问权限的话,则用户有很大可能被授权观看该文档。
此外,不是重新发出对于后续的页请求的相同的搜索,企业搜索引擎144可以缓存中间结果集合并从缓存的结果中提取所请求的页。结果集合的缓存改进了性能,并且是可选的。
图7示出了按照某些实施例的中间结果集合710和最终结果集合720。考虑没有通过模仿检验访问测试的那些结果,企业搜索引擎144管理在所请求的页的范围中的差异和与中间结果集合的偏移。在图7中,每个页可以显示4个结果。在它们的相应的模仿测试失败的中间结果集合710中的结果用X标记打叉。应当注意的是,需要6次模仿满足最终结果的第一页(即,在模仿期间,发现用户没有对文档2和3的访问权限),而对于最终结果的第二页的请求导致7次模仿(即,在模仿期间,发现用户没有对文档8,11和13的访问权限)。
附加实施例细节
所描述的操作可以作为使用标准编程和/或工程技术来产生软件、固件、硬件或它们的组合的方法、设备或制造的物品来实现。这里使用的术语“制造的物品”是指在介质中实现的代码或逻辑,其中这样的介质可包括硬件逻辑(例如,集成电路芯片、可编程门阵列(PGA)、专用集成电路(ASIC)等等)或计算机可读介质,诸如磁存储介质(例如,硬盘驱动器、软盘、磁带等等)、光存储装置(CD-ROM、光盘等等)、易失性和非易失性存储设备(例如,EEPROM、ROM、PROM、RAM、DRAM、SRAM、固件、可编程逻辑等等)。在计算机可读介质中的代码由处理器访问和执行。代码或逻辑被编码在其中的介质还可包括通过空间或诸如光纤、铜线等的传输介质传播的传输信号。代码或逻辑 被编码在其中的传输信号还可包括无线信号、卫星传输、无线电波、红外信号、蓝牙等等。代码或逻辑被编码在其中的传输信号能够由发送站发送并由接收站接收,其中在传输信号中编码的代码或逻辑可以在接收站和发送站或设备处被解码并被存储在硬件或计算机可读的介质中。另外,“制造的物品”可包括其中代码被体现、处理和执行的硬件和软件部件的组合。当然,本领域技术人员将认识到,对于本配置可以作出许多修改而不背离本发明的范围,并且制造的物品可包括本领域已知的任何信息承载介质。术语“逻辑”例如可包括软件或硬件和/或软件与硬件的组合。
虽然这里的某些例子是指与用户相关联的安全组,但在替换实施例中,安全组例如可以与计算机程序相关联。计算机程序然后可以发出与用来生成中间结果集合的一个或多个安全组相关联的搜索请求。
图2,3和5的逻辑描述了以特定的次序发生的特定操作。在替换实施例中,某些逻辑操作可以以不同的次序执行、被修改或去除。另外,操作可以添加到上述的逻辑,并仍旧遵循所描述的实施例。而且,这里描述的操作可以顺序地发生或者某些操作可以并行地处理,或者被描述为由单个处理执行的操作可以通过分布处理被执行。
图2,3和5所示出的逻辑可以以软件、硬件、可编程或非可编程门阵列逻辑或以硬件、软件、或门阵列逻辑的某种组合被实现。
图8示出了可以按照某些实施例被使用的计算机系统的结构800。客户端计算机100、web服务器120、企业搜索服务器140、和/或每个后台服务器160a,...,160b可以实现结构800。计算机结构800可实现处理器802(例如,微处理器)、存储器804(例如,易失性存储器装置)、和存储装置810(例如,非易失性存储区域,诸如磁盘驱动、光盘驱动、磁带驱动等等)。操作系统805可以在存储器804中执行。存储装置810可包括内部存储装置或附加的或网络可访问的存储装置。在存储装置810中的计算机程序806可被加载到存储器804中,并由处理器802以本领域已知的方式被执行。该结构还包括能够与网络通信的网卡808。输入设备812被用来将用户输入提供到处理器802,并可包括键盘、鼠标、笔 尖、麦克风、触摸敏感显示屏、或本领域已知的任何其它启动或输入机制。输出设备814能够呈现来自处理器802或其它部件,诸如显示监视器、打印机、存储装置等等的信息。计算机系统的计算机结构800可包括比所示更少的部件、这里没有示出的附加部件、或所示部件与附加部件的某些组合。
计算机结构800可包括在本领域已知的任何计算设备,诸如主机、服务器、个人计算机、工作站、笔记本电脑、手持式计算机、电话设备、网络电器、可视化设备、存储控制器等等。可以使用在本领域已知的任何处理器802和操作系统805。
实施例的上述说明是为了描述和说明而给出的。这些实施例不是试图穷举或限于所公开的具体形式。基于以上的指导可以做出许多修改和改变。实施例的范围不是由本详细说明所限制,而是由所附权利要求来限定。以上的技术说明书、例子和数据提供了对制造的完整说明和实施例的复合使用。由于可以做出许多实施例而不背离本发明的精神和范围,实施例体现在此后所附的权利要求,或任何以后提交的权利要求和它们的等价物。
Claims (26)
1.一种用于处理源自不同的后台仓库的对文档的搜索请求的方法,包括:
对于在搜索索引中所识别的每个文档,把一个或多个索引级别的访问控制表信息存储在搜索索引中,其中所述搜索索引包括从各种后台仓库中提取的文档,较高级别的本地级别的访问控制表信息被映射到在所述搜索索引中表示的一个或多个索引级别;
通过使与每个所述文档相关联的一个或多个索引级别的访问控制表信息匹配于与所述搜索请求相关联的一个或多个安全组,生成中间结果集合,其中所述一个或多个安全组与发出搜索请求的用户相关联并且所述用户是该一个或多个安全组的成员;以及
通过用一个或多个文档所源自的每个所述不同的后台仓库执行模仿,从中间结果集合生成最终的结果集合,其中一个或多个文档由中间结果集合参考。
2.如在权利要求1中所述的方法,还包括:
为文档检索一个或多个本地级别的访问控制表信息;
把检索到的一个或多个本地级别的访问控制表信息映射到一个或多个索引级别的访问控制表信息;以及
把所映射的信息存储在搜索索引中。
3.如在权利要求1中所述的方法,还包括:
接收用户的有效用户登录数据;并且
确定用户资料是否存在,其中存在的用户资料存储与该用户相关联的一个或多个安全组,以便在生成中间结果集合时使用。
4.如在权利要求3中所述的方法,还包括:
响应于确定用户资料不存在的情况,
接收用于一个或多个后台仓库的用户安全凭证;
把用户安全凭证存储在该用户的用户资料中;
对于与存储在用户资料中的用户安全凭证相关联的一个或多个后台仓库中的每一个后台仓库:
(1)登录到所述后台仓库中;并且
(2)响应于确定登录成功的情况,
(a)从所述后台仓库提取其一个成员是该用户的一个或多个安全组;以及
(b)把所提取的一个或多个安全组存储在用户资料中;并且
用所存储的一个或多个安全组生成对于该用户的安全上下文。
5.如在权利要求4中所述的方法,还包括:
响应于确定登录不成功的情况,提示用户输入用户凭证以访问所述后台仓库。
6.如在权利要求3中所述的方法,还包括:
响应于确定用户资料存在的情况,
对于与存储在用户资料中的用户安全凭证相关联的一个或多个后台仓库中的每一个后台仓库;
(1)登录到所述后台仓库中;以及
(2)响应于确定登录成功的情况,
(a)从所述后台仓库提取其一个成员是该用户的一个或多个安全组;以及
(b)把提取的一个或多个安全组存储在用户资料中;并且用所存储的一个或多个安全组生成对于该用户的安全上下文。
7.如在权利要求6中所述的方法,还包括:
响应于确定登录不成功的情况,提示用户输入用户凭证以访问所述后台仓库。
8.如在权利要求1中所述的方法,还包括:
通过使用搜索索引来匹配搜索请求的项目而生成经过预过滤的文档列表,其中中间结果集合是从经过预过滤的文档列表生成的。
9.如在权利要求1中所述的方法,还包括:
向用户提供最终结果集合,其中用户能够选择随后由后台仓库所提供的文档。
10.如在权利要求1中所述的方法,还包括:
当最终结果集合包含源自不同的后台仓库的文档时,用每个不同的后台仓库同时执行模仿。
11.如在权利要求1中所述的方法,还包括:
当最终结果集合包含来自一个后台仓库的多个文档时,对所述多个文档执行单次模仿。
12.如在权利要求1中所述的方法,当一页能够显示预定数目的结果时,还包括:
执行一次或多次模仿,从而在该页上显示预定数目的结果或少于预定数目的结果。
13.如在权利要求12中所述的方法,还包括:
将分开的偏差保持在代表最后一次成功模仿的中间结果集合中。
14.一种用于处理源自不同的后台仓库的对文档的搜索请求的系统,包括:
对于在搜索索引中所识别的每个文档,把一个或多个索引级别的访问控制表信息存储在搜索索引中的装置,其中所述搜索索引包括从各种后台仓库中提取的文档,较高级别的本地级别的访问控制表信息被映射到在所述搜索索引中表示的一个或多个索引级别;
通过使与每个所述文档相关联的一个或多个索引级别的访问控制表信息匹配于与所述搜索请求相关联的一个或多个安全组,生成中间结果集合的装置,其中所述一个或多个安全组与发出搜索请求的用户相关联并且所述用户是该一个或多个安全组的成员;以及
通过用一个或多个文档所源自的每个所述不同的后台仓库执行模仿,从中间结果集合生成最终的结果集合的装置,其中一个或多个文档由中间结果集合参考。
15.如在权利要求14中所述的系统,还包括:
为文档检索一个或多个本地级别的访问控制表信息的装置;
把检索到的一个或多个本地级别的访问控制表信息映射到一个或多个索引级别的访问控制表信息的装置;以及
把所映射的信息存储在搜索索引中的装置。
16.如在权利要求14中所述的系统,还包括:
接收用户的有效用户登录数据的装置;以及
确定用户资料是否存在,其中存在的用户资料存储与该用户相关联的一个或多个安全组,以便在生成中间结果集合时使用的装置。
17.如在权利要求16中所述的系统,还包括:
响应于确定用户资料不存在的情况,
接收用于一个或多个后台仓库的用户安全凭证的装置;
把用户安全凭证存储在该用户的用户资料中的装置;
对于与存储在用户资料中的用户安全凭证相关联的一个或多个后台仓库中的每一个后台仓库,还包括:
(1)登录到所述后台仓库中的装置;并且
(2)响应于确定登录成功的情况,
(a)从所述后台仓库提取其一个成员是该用户的一个或多个安全组的装置;以及
(b)把所提取的一个或多个安全组存储在用户资料中的装置;并且
用所存储的一个或多个安全组生成对于该用户的安全上下文的装置。
18.如在权利要求17中所述的系统,还包括:
响应于确定登录不成功的情况,提示用户输入用户凭证以访问所述后台仓库的装置。
19.如在权利要求16中所述的系统,还包括:
响应于确定用户资料存在的情况,
对于与存储在用户资料中的用户安全凭证相关联的一个或多个后台仓库中的每一个后台仓库,还包括:
(1)登录到所述后台仓库中的装置;以及
(2)响应于确定登录成功的情况,
(a)从所述后台仓库提取其一个成员是该用户的一个或多个安全组的装置;以及
(b)把所提取的一个或多个安全组存储在用户资料中的装置;并且
用所存储的一个或多个安全组生成对于该用户的安全上下文的装置。
20.如在权利要求19中所述的系统,还包括:
响应于确定登录不成功的情况,提示用户输入用户凭证以访问所述后台仓库的装置。
21.如在权利要求14中所述的系统,还包括:
通过使用搜索索引来匹配搜索请求的项目而生成经过预过滤的文档列表的装置,其中中间结果集合是从经过预过滤的文档列表生成的。
22.如在权利要求14中所述的系统,还包括:
向用户提供最终结果集合的装置,其中用户能够选择随后由后台仓库所提供的文档。
23.如在权利要求14中所述的系统,还包括:
当最终结果集合包含源自不同的后台仓库的文档时,用每个不同的后台仓库同时执行模仿的装置。
24.如在权利要求14中所述的系统,还包括:
当最终结果集合包含来自一个后台仓库的多个文档时,对于所述多个文档执行单次模仿的装置。
25.如在权利要求14中所述的系统,当一页能够显示预定的数目的结果时,还包括:
执行一次或多次模仿,在该页上显示预定数目的结果或少于预定数目的结果的装置。
26.如在权利要求22中所述的系统,还包括:
将分开的偏差保持在代表最终的成功模仿的中间结果集合中的装置。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/182,334 US8417693B2 (en) | 2005-07-14 | 2005-07-14 | Enforcing native access control to indexed documents |
US11/182,334 | 2005-07-14 | ||
PCT/EP2006/064281 WO2007006813A1 (en) | 2005-07-14 | 2006-07-14 | Enforcing native access control to indexed documents |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101218590A CN101218590A (zh) | 2008-07-09 |
CN101218590B true CN101218590B (zh) | 2012-05-23 |
Family
ID=37075862
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2006800253422A Expired - Fee Related CN101218590B (zh) | 2005-07-14 | 2006-07-14 | 处理源自不同后台仓库的对文档的搜索请求的方法和系统 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8417693B2 (zh) |
EP (1) | EP1907971B1 (zh) |
CN (1) | CN101218590B (zh) |
WO (1) | WO2007006813A1 (zh) |
Families Citing this family (82)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7293005B2 (en) | 2004-01-26 | 2007-11-06 | International Business Machines Corporation | Pipelined architecture for global analysis and index building |
US7424467B2 (en) * | 2004-01-26 | 2008-09-09 | International Business Machines Corporation | Architecture for an indexer with fixed width sort and variable width sort |
US7499913B2 (en) | 2004-01-26 | 2009-03-03 | International Business Machines Corporation | Method for handling anchor text |
US7461064B2 (en) | 2004-09-24 | 2008-12-02 | International Buiness Machines Corporation | Method for searching documents for ranges of numeric values |
US20070027841A1 (en) * | 2005-07-26 | 2007-02-01 | Williams Michael G | Messaging middleware dynamic, continuous search and response agent system |
JP4859198B2 (ja) * | 2005-12-22 | 2012-01-25 | キヤノン株式会社 | 情報処理装置、情報処理方法、プログラム、記憶媒体 |
US9177124B2 (en) | 2006-03-01 | 2015-11-03 | Oracle International Corporation | Flexible authentication framework |
US8027982B2 (en) * | 2006-03-01 | 2011-09-27 | Oracle International Corporation | Self-service sources for secure search |
US8214394B2 (en) | 2006-03-01 | 2012-07-03 | Oracle International Corporation | Propagating user identities in a secure federated search system |
US8875249B2 (en) * | 2006-03-01 | 2014-10-28 | Oracle International Corporation | Minimum lifespan credentials for crawling data repositories |
US7941419B2 (en) | 2006-03-01 | 2011-05-10 | Oracle International Corporation | Suggested content with attribute parameterization |
US8332430B2 (en) * | 2006-03-01 | 2012-12-11 | Oracle International Corporation | Secure search performance improvement |
US20070214129A1 (en) * | 2006-03-01 | 2007-09-13 | Oracle International Corporation | Flexible Authorization Model for Secure Search |
US8868540B2 (en) * | 2006-03-01 | 2014-10-21 | Oracle International Corporation | Method for suggesting web links and alternate terms for matching search queries |
US8707451B2 (en) | 2006-03-01 | 2014-04-22 | Oracle International Corporation | Search hit URL modification for secure application integration |
US8433712B2 (en) * | 2006-03-01 | 2013-04-30 | Oracle International Corporation | Link analysis for enterprise environment |
JP4838610B2 (ja) * | 2006-03-24 | 2011-12-14 | キヤノン株式会社 | 文書管理装置、文書管理方法、プログラム |
US20070271229A1 (en) * | 2006-05-17 | 2007-11-22 | Jauder Ho | System and method for data searching among multiple enterprise applications |
US8661057B1 (en) * | 2006-07-31 | 2014-02-25 | Elsevier Inc. | Methods and apparatus for post-search automated full-article retrieval |
US8082242B1 (en) * | 2006-12-29 | 2011-12-20 | Google Inc. | Custom search |
US7979458B2 (en) * | 2007-01-16 | 2011-07-12 | Microsoft Corporation | Associating security trimmers with documents in an enterprise search system |
US7634630B1 (en) * | 2007-03-26 | 2009-12-15 | Emc Corporation | Storing authentication information in a content unit on an object addressable storage system |
US7996392B2 (en) | 2007-06-27 | 2011-08-09 | Oracle International Corporation | Changing ranking algorithms based on customer settings |
US8316007B2 (en) | 2007-06-28 | 2012-11-20 | Oracle International Corporation | Automatically finding acronyms and synonyms in a corpus |
AU2008286192B2 (en) | 2007-08-06 | 2014-04-10 | Mls Technologies Pty Ltd | Method and/or system for searching network content |
US7853587B2 (en) * | 2008-01-31 | 2010-12-14 | Microsoft Corporation | Generating search result summaries |
US8079065B2 (en) * | 2008-06-27 | 2011-12-13 | Microsoft Corporation | Indexing encrypted files by impersonating users |
JP5283478B2 (ja) | 2008-10-23 | 2013-09-04 | 株式会社日立ソリューションズ | 検索システム |
JP5549596B2 (ja) * | 2008-11-14 | 2014-07-16 | 日本電気株式会社 | 情報処理システムと方法並びにプログラム |
US9495460B2 (en) * | 2009-05-27 | 2016-11-15 | Microsoft Technology Licensing, Llc | Merging search results |
JP2011065546A (ja) * | 2009-09-18 | 2011-03-31 | Hitachi Solutions Ltd | ファイル検索システム及びプログラム |
US8489390B2 (en) * | 2009-09-30 | 2013-07-16 | Cisco Technology, Inc. | System and method for generating vocabulary from network data |
US8990083B1 (en) | 2009-09-30 | 2015-03-24 | Cisco Technology, Inc. | System and method for generating personal vocabulary from network data |
US8468195B1 (en) | 2009-09-30 | 2013-06-18 | Cisco Technology, Inc. | System and method for controlling an exchange of information in a network environment |
US9201965B1 (en) | 2009-09-30 | 2015-12-01 | Cisco Technology, Inc. | System and method for providing speech recognition using personal vocabulary in a network environment |
US9088580B2 (en) * | 2009-12-31 | 2015-07-21 | Microsoft Technology Licensing, Llc | Access control based on user and service |
US8935274B1 (en) | 2010-05-12 | 2015-01-13 | Cisco Technology, Inc | System and method for deriving user expertise based on data propagating in a network environment |
JP2012027650A (ja) * | 2010-07-22 | 2012-02-09 | Nec Corp | コンテンツ管理装置およびコンテンツ管理方法 |
US10169484B2 (en) | 2010-09-23 | 2019-01-01 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to manage process control search results |
US9465795B2 (en) | 2010-12-17 | 2016-10-11 | Cisco Technology, Inc. | System and method for providing feeds based on activity in a network environment |
US8667169B2 (en) | 2010-12-17 | 2014-03-04 | Cisco Technology, Inc. | System and method for providing argument maps based on activity in a network environment |
US8429191B2 (en) * | 2011-01-14 | 2013-04-23 | International Business Machines Corporation | Domain based isolation of objects |
US8553065B2 (en) | 2011-04-18 | 2013-10-08 | Cisco Technology, Inc. | System and method for providing augmented data in a network environment |
US8375439B2 (en) | 2011-04-29 | 2013-02-12 | International Business Machines Corporation | Domain aware time-based logins |
US8528018B2 (en) | 2011-04-29 | 2013-09-03 | Cisco Technology, Inc. | System and method for evaluating visual worthiness of video data in a network environment |
US8620136B1 (en) | 2011-04-30 | 2013-12-31 | Cisco Technology, Inc. | System and method for media intelligent recording in a network environment |
US11841912B2 (en) | 2011-05-01 | 2023-12-12 | Twittle Search Limited Liability Company | System for applying natural language processing and inputs of a group of users to infer commonly desired search results |
US20120278318A1 (en) | 2011-05-01 | 2012-11-01 | Reznik Alan M | Systems and methods for facilitating enhancements to electronic group searches |
US8584211B1 (en) | 2011-05-18 | 2013-11-12 | Bluespace Software Corporation | Server-based architecture for securely providing multi-domain applications |
US8909624B2 (en) | 2011-05-31 | 2014-12-09 | Cisco Technology, Inc. | System and method for evaluating results of a search query in a network environment |
US20120324538A1 (en) * | 2011-06-15 | 2012-12-20 | Cisco Technology, Inc. | System and method for discovering videos |
US20130018920A1 (en) * | 2011-07-12 | 2013-01-17 | Griffin Andrew M | Configuration management database security |
US8886797B2 (en) | 2011-07-14 | 2014-11-11 | Cisco Technology, Inc. | System and method for deriving user expertise based on data propagating in a network environment |
JP5557824B2 (ja) * | 2011-11-14 | 2014-07-23 | 株式会社日立ソリューションズ | 階層ファイルストレージに対する差分インデクシング方法 |
US8831403B2 (en) | 2012-02-01 | 2014-09-09 | Cisco Technology, Inc. | System and method for creating customized on-demand video reports in a network environment |
US9009197B2 (en) * | 2012-11-05 | 2015-04-14 | Unified Compliance Framework (Network Frontiers) | Methods and systems for a compliance framework database schema |
US9189643B2 (en) | 2012-11-26 | 2015-11-17 | International Business Machines Corporation | Client based resource isolation with domains |
US20140344952A1 (en) * | 2013-05-14 | 2014-11-20 | Google Inc. | Indexing and searching documents with restricted portions |
US9330166B2 (en) * | 2013-11-12 | 2016-05-03 | International Business Machines Corporation | User-specific search over protected contextual data |
CN103903606B (zh) * | 2014-03-10 | 2020-03-03 | 北京智谷睿拓技术服务有限公司 | 一种噪声控制方法及设备 |
US9727648B2 (en) * | 2014-12-19 | 2017-08-08 | Quixey, Inc. | Time-box constrained searching in a distributed search system |
CN104504126B (zh) * | 2014-12-31 | 2017-12-29 | 北京思朗科技有限责任公司 | 一种并行向量查表方法及装置 |
US10216852B1 (en) * | 2015-01-22 | 2019-02-26 | Google Llc | Indexing access limited native applications |
US10432628B2 (en) * | 2016-02-23 | 2019-10-01 | Cisco Technology, Inc. | Method for improving access control for TCP connections while optimizing hardware resources |
US10558668B2 (en) | 2016-07-01 | 2020-02-11 | International Business Machines Corporation | Result set output criteria |
US20180032747A1 (en) * | 2016-07-28 | 2018-02-01 | Siemens Product Lifecycle Management Software Inc. | System and Method for Database-Level Access Control Using Rule-Based Derived Accessor Groups |
US10691757B1 (en) | 2016-09-29 | 2020-06-23 | EMC IP Holding Company LLC | Method and system for cached document search |
US10606902B1 (en) | 2016-09-29 | 2020-03-31 | EMC IP Holding Company LLC | Method and system for cached early-binding document search |
US20180300377A1 (en) * | 2017-04-14 | 2018-10-18 | Reza Paidar | Handling temporal data in append-only databases |
CN111400266B (zh) * | 2019-01-02 | 2023-05-02 | 阿里巴巴集团控股有限公司 | 数据处理方法和系统、操作事件的诊断处理方法和装置 |
US11379423B2 (en) * | 2019-05-03 | 2022-07-05 | EMC IP Holding Company, LLC | Self-learning file delegation system and method |
WO2020264332A1 (en) * | 2019-06-27 | 2020-12-30 | Sigma Computing, Inc. | Search using data warehouse grants |
US10769379B1 (en) | 2019-07-01 | 2020-09-08 | Unified Compliance Framework (Network Frontiers) | Automatic compliance tools |
US11526562B2 (en) | 2019-12-16 | 2022-12-13 | Motorola Solutions, Inc. | Device, system and method for controlling document access using hierarchical paths |
US11301464B2 (en) | 2020-01-14 | 2022-04-12 | Videoamp, Inc. | Electronic multi-tenant data management system |
DE102020121985A1 (de) * | 2020-08-21 | 2022-02-24 | Bundesdruckerei Gmbh | Suche in einer Datenbank mit abgestuften Suchberechtigungen |
CA3191100A1 (en) | 2020-08-27 | 2022-03-03 | Dorian J. Cougias | Automatically identifying multi-word expressions |
US11783049B2 (en) * | 2020-08-31 | 2023-10-10 | Microsoft Technology Licensing, Llc | Automated code analysis tool |
US11487768B2 (en) | 2021-02-23 | 2022-11-01 | International Business Machines Corporation | Generating search results utilizing access control |
US20220300635A1 (en) * | 2021-03-18 | 2022-09-22 | International Business Machines Corporation | Managing search queries using encrypted cache data |
US20230031040A1 (en) | 2021-07-20 | 2023-02-02 | Unified Compliance Framework (Network Frontiers) | Retrieval interface for content, such as compliance-related content |
US11853299B2 (en) | 2021-12-01 | 2023-12-26 | Videoamp, Inc. | Symmetric data clean room |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381602B1 (en) * | 1999-01-26 | 2002-04-30 | Microsoft Corporation | Enforcing access control on resources at a location other than the source location |
US20030093409A1 (en) * | 2001-01-04 | 2003-05-15 | Weil Frank L. | Search engine interface and method of controlling client searches |
CN1483169A (zh) * | 2000-12-29 | 2004-03-17 | 国际商业机器公司 | 有损索引压缩 |
Family Cites Families (191)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6182062B1 (en) | 1986-03-26 | 2001-01-30 | Hitachi, Ltd. | Knowledge based information retrieval system |
US4965763A (en) | 1987-03-03 | 1990-10-23 | International Business Machines Corporation | Computer method for automatic extraction of commonly specified information from business correspondence |
US5265221A (en) | 1989-03-20 | 1993-11-23 | Tandem Computers | Access restriction facility method and apparatus |
US5187790A (en) | 1989-06-29 | 1993-02-16 | Digital Equipment Corporation | Server impersonation of client processes in an object based computer operating system |
US5129152A (en) | 1990-12-20 | 1992-07-14 | Hughes Aircraft Company | Fast contact measuring machine |
JP2943447B2 (ja) | 1991-01-30 | 1999-08-30 | 三菱電機株式会社 | テキスト情報抽出装置とテキスト類似照合装置とテキスト検索システムとテキスト情報抽出方法とテキスト類似照合方法、及び、質問解析装置 |
US5287496A (en) | 1991-02-25 | 1994-02-15 | International Business Machines Corporation | Dynamic, finite versioning for concurrent transaction and query processing |
US5423032A (en) | 1991-10-31 | 1995-06-06 | International Business Machines Corporation | Method for extracting multi-word technical terms from text |
US5685003A (en) | 1992-12-23 | 1997-11-04 | Microsoft Corporation | Method and system for automatically indexing data in a document using a fresh index table |
US5873097A (en) | 1993-05-12 | 1999-02-16 | Apple Computer, Inc. | Update mechanism for computer storage container manager |
US5638543A (en) | 1993-06-03 | 1997-06-10 | Xerox Corporation | Method and apparatus for automatic document summarization |
US5544352A (en) | 1993-06-14 | 1996-08-06 | Libertech, Inc. | Method and apparatus for indexing, searching and displaying data |
US5664172A (en) | 1994-07-19 | 1997-09-02 | Oracle Corporation | Range-based query optimizer |
US5903646A (en) | 1994-09-02 | 1999-05-11 | Rackman; Michael I. | Access control system for litigation document production |
US5574906A (en) | 1994-10-24 | 1996-11-12 | International Business Machines Corporation | System and method for reducing storage requirement in backup subsystems utilizing segmented compression and differencing |
US5729730A (en) | 1995-03-28 | 1998-03-17 | Dex Information Systems, Inc. | Method and apparatus for improved information storage and retrieval system |
US6182121B1 (en) | 1995-02-03 | 2001-01-30 | Enfish, Inc. | Method and apparatus for a physical storage architecture having an improved information storage and retrieval system for a shared file environment |
US5708825A (en) | 1995-05-26 | 1998-01-13 | Iconovex Corporation | Automatic summary page creation and hyperlink generation |
US5701469A (en) | 1995-06-07 | 1997-12-23 | Microsoft Corporation | Method and system for generating accurate search results using a content-index |
US5721938A (en) | 1995-06-07 | 1998-02-24 | Stuckey; Barbara K. | Method and device for parsing and analyzing natural language sentences and text |
US5794177A (en) | 1995-07-19 | 1998-08-11 | Inso Corporation | Method and apparatus for morphological analysis and generation of natural language text |
US5721939A (en) | 1995-08-03 | 1998-02-24 | Xerox Corporation | Method and apparatus for tokenizing text |
US6026388A (en) | 1995-08-16 | 2000-02-15 | Textwise, Llc | User interface and other enhancements for natural language information retrieval system and method |
US5963940A (en) | 1995-08-16 | 1999-10-05 | Syracuse University | Natural language information retrieval system and method |
JP3441306B2 (ja) | 1995-09-12 | 2003-09-02 | 株式会社東芝 | クライアント装置、メッセージ送信方法、サーバ装置、ページ処理方法及び中継サーバ装置 |
US5745906A (en) | 1995-11-14 | 1998-04-28 | Deltatech Research, Inc. | Method and apparatus for merging delta streams to reconstruct a computer file |
US5729743A (en) | 1995-11-17 | 1998-03-17 | Deltatech Research, Inc. | Computer apparatus and method for merging system deltas |
US5745904A (en) | 1996-01-12 | 1998-04-28 | Microsoft Corporation | Buffered table user index |
US5862325A (en) | 1996-02-29 | 1999-01-19 | Intermind Corporation | Computer-based communication system and method using metadata defining a control structure |
US5778378A (en) | 1996-04-30 | 1998-07-07 | International Business Machines Corporation | Object oriented information retrieval framework mechanism |
JP3108015B2 (ja) | 1996-05-22 | 2000-11-13 | 松下電器産業株式会社 | ハイパーテキスト検索装置 |
JP3061765B2 (ja) | 1996-05-23 | 2000-07-10 | ゼロックス コーポレイション | コンピュータベースの文書処理方法 |
US5920859A (en) | 1997-02-05 | 1999-07-06 | Idd Enterprises, L.P. | Hypertext document retrieval system and method |
US5909677A (en) | 1996-06-18 | 1999-06-01 | Digital Equipment Corporation | Method for determining the resemblance of documents |
US5832480A (en) | 1996-07-12 | 1998-11-03 | International Business Machines Corporation | Using canonical forms to develop a dictionary of names in a text |
US5995980A (en) | 1996-07-23 | 1999-11-30 | Olson; Jack E. | System and method for database update replication |
US5832500A (en) | 1996-08-09 | 1998-11-03 | Digital Equipment Corporation | Method for searching an index |
US5745899A (en) | 1996-08-09 | 1998-04-28 | Digital Equipment Corporation | Method for indexing information of a database |
US5745900A (en) | 1996-08-09 | 1998-04-28 | Digital Equipment Corporation | Method for indexing duplicate database records using a full-record fingerprint |
US5745890A (en) | 1996-08-09 | 1998-04-28 | Digital Equipment Corporation | Sequential searching of a database index using constraints on word-location pairs |
US5745894A (en) | 1996-08-09 | 1998-04-28 | Digital Equipment Corporation | Method for generating and searching a range-based index of word-locations |
US5765168A (en) | 1996-08-09 | 1998-06-09 | Digital Equipment Corporation | Method for maintaining an index |
US5797008A (en) | 1996-08-09 | 1998-08-18 | Digital Equipment Corporation | Memory storing an integrated index of database records |
US5745889A (en) | 1996-08-09 | 1998-04-28 | Digital Equipment Corporation | Method for parsing information of databases records using word-location pairs and metaword-location pairs |
US5787435A (en) | 1996-08-09 | 1998-07-28 | Digital Equipment Corporation | Method for mapping an index of a database into an array of files |
US5745898A (en) | 1996-08-09 | 1998-04-28 | Digital Equipment Corporation | Method for generating a compressed index of information of records of a database |
US5724033A (en) | 1996-08-09 | 1998-03-03 | Digital Equipment Corporation | Method for encoding delta values |
US5765149A (en) | 1996-08-09 | 1998-06-09 | Digital Equipment Corporation | Modified collection frequency ranking method |
US5765150A (en) | 1996-08-09 | 1998-06-09 | Digital Equipment Corporation | Method for statistically projecting the ranking of information |
US5864863A (en) | 1996-08-09 | 1999-01-26 | Digital Equipment Corporation | Method for parsing, indexing and searching world-wide-web pages |
US5765158A (en) | 1996-08-09 | 1998-06-09 | Digital Equipment Corporation | Method for sampling a compressed index to create a summarized index |
US5852820A (en) | 1996-08-09 | 1998-12-22 | Digital Equipment Corporation | Method for optimizing entries for searching an index |
US5809502A (en) | 1996-08-09 | 1998-09-15 | Digital Equipment Corporation | Object-oriented interface for an index |
JP2001505330A (ja) | 1996-08-22 | 2001-04-17 | ルノー・アンド・オスピー・スピーチ・プロダクツ・ナームローゼ・ベンノートシャープ | テキストストリーム中の単語の切れ目を与える方法及び装置 |
US5924091A (en) | 1996-08-28 | 1999-07-13 | Sybase, Inc. | Database system with improved methods for radix sorting |
US6078914A (en) | 1996-12-09 | 2000-06-20 | Open Text Corporation | Natural language meta-search system and method |
US6285999B1 (en) | 1997-01-10 | 2001-09-04 | The Board Of Trustees Of The Leland Stanford Junior University | Method for node ranking in a linked database |
JP3579204B2 (ja) | 1997-01-17 | 2004-10-20 | 富士通株式会社 | 文書要約装置およびその方法 |
US5903891A (en) | 1997-02-25 | 1999-05-11 | Hewlett-Packard Company | Hierarchial information processes that share intermediate data and formulate contract data |
US6278992B1 (en) | 1997-03-19 | 2001-08-21 | John Andrew Curtis | Search engine using indexing method for storing and retrieving data |
JP4243344B2 (ja) | 1997-05-23 | 2009-03-25 | 株式会社Access | 移動通信機器 |
US5884305A (en) | 1997-06-13 | 1999-03-16 | International Business Machines Corporation | System and method for data mining from relational data by sieving through iterated relational reinforcement |
EP0884688A3 (en) | 1997-06-16 | 2005-06-22 | Koninklijke Philips Electronics N.V. | Sparse index search method |
US5933822A (en) | 1997-07-22 | 1999-08-03 | Microsoft Corporation | Apparatus and methods for an information retrieval system that employs natural language processing of search results to improve overall precision |
US6026413A (en) | 1997-08-01 | 2000-02-15 | International Business Machines Corporation | Determining how changes to underlying data affect cached objects |
US6078916A (en) | 1997-08-01 | 2000-06-20 | Culliss; Gary | Method for organizing information |
US7031954B1 (en) * | 1997-09-10 | 2006-04-18 | Google, Inc. | Document retrieval system with access control |
US5974412A (en) | 1997-09-24 | 1999-10-26 | Sapient Health Network | Intelligent query system for automatically indexing information in a database and automatically categorizing users |
US6594682B2 (en) | 1997-10-28 | 2003-07-15 | Microsoft Corporation | Client-side system for scheduling delivery of web content and locally managing the web content |
US6061678A (en) | 1997-10-31 | 2000-05-09 | Oracle Corporation | Approach for managing access to large objects in database systems using large object indexes |
US6029165A (en) | 1997-11-12 | 2000-02-22 | Arthur Andersen Llp | Search and retrieval information system and method |
KR100285265B1 (ko) | 1998-02-25 | 2001-04-02 | 윤덕용 | 데이터 베이스 관리 시스템과 정보 검색의 밀결합을 위하여 서브 인덱스와 대용량 객체를 이용한 역 인덱스 저장 구조 |
US6005503A (en) | 1998-02-27 | 1999-12-21 | Digital Equipment Corporation | Method for encoding and decoding a list of variable size integers to reduce branch mispredicts |
US6016501A (en) | 1998-03-18 | 2000-01-18 | Bmc Software | Enterprise data movement system and method which performs data load and changed data propagation operations |
US6119124A (en) | 1998-03-26 | 2000-09-12 | Digital Equipment Corporation | Method for clustering closely resembling data objects |
US6088694A (en) | 1998-03-31 | 2000-07-11 | International Business Machines Corporation | Continuous availability and efficient backup for externally referenced objects |
US6374268B1 (en) | 1998-04-14 | 2002-04-16 | Hewlett-Packard Company | Methods and systems for an incremental file system |
US6192333B1 (en) | 1998-05-12 | 2001-02-20 | Microsoft Corporation | System for creating a dictionary |
US6212522B1 (en) | 1998-05-15 | 2001-04-03 | International Business Machines Corporation | Searching and conditionally serving bookmark sets based on keywords |
US6205451B1 (en) | 1998-05-22 | 2001-03-20 | Oracle Corporation | Method and apparatus for incremental refresh of summary tables in a database system |
AU4196299A (en) | 1998-05-23 | 1999-12-13 | Eolas Technologies, Incorporated | Identification of features of multi-dimensional image data in hypermedia systems |
US6216175B1 (en) | 1998-06-08 | 2001-04-10 | Microsoft Corporation | Method for upgrading copies of an original file with same update data after normalizing differences between copies created during respective original installations |
US7024623B2 (en) | 1998-06-17 | 2006-04-04 | Microsoft Corporation | Method and system for placing an insertion point in an electronic document |
EP0981099A3 (en) | 1998-08-17 | 2004-04-21 | Connected Place Limited | A method of and an apparatus for merging a sequence of delta files |
US6243713B1 (en) | 1998-08-24 | 2001-06-05 | Excalibur Technologies Corp. | Multimedia document retrieval by application of multimedia queries to a unified index of multimedia data for a plurality of multimedia data types |
US6334131B2 (en) | 1998-08-29 | 2001-12-25 | International Business Machines Corporation | Method for cataloging, filtering, and relevance ranking frame-based hierarchical information structures |
GB9818819D0 (en) | 1998-08-29 | 1998-10-21 | Int Computers Ltd | Time-versioned data storage mechanism |
US6308179B1 (en) | 1998-08-31 | 2001-10-23 | Xerox Corporation | User level controlled mechanism inter-positioned in a read/write path of a property-based document management system |
US6553385B2 (en) | 1998-09-01 | 2003-04-22 | International Business Machines Corporation | Architecture of a framework for information extraction from natural language documents |
US6519597B1 (en) | 1998-10-08 | 2003-02-11 | International Business Machines Corporation | Method and apparatus for indexing structured documents with rich data types |
US6336122B1 (en) | 1998-10-15 | 2002-01-01 | International Business Machines Corporation | Object oriented class archive file maker and method |
US6519593B1 (en) | 1998-12-15 | 2003-02-11 | Yossi Matias | Efficient bundle sorting |
CA2256934C (en) | 1998-12-23 | 2002-04-02 | Hamid Bacha | System for electronic repository of data enforcing access control on data retrieval |
US6295529B1 (en) | 1998-12-24 | 2001-09-25 | Microsoft Corporation | Method and apparatus for indentifying clauses having predetermined characteristics indicative of usefulness in determining relationships between different texts |
US6418433B1 (en) | 1999-01-28 | 2002-07-09 | International Business Machines Corporation | System and method for focussed web crawling |
US6584458B1 (en) | 1999-02-19 | 2003-06-24 | Novell, Inc. | Method and apparatuses for creating a full text index accommodating child words |
US6438535B1 (en) | 1999-03-18 | 2002-08-20 | Lockheed Martin Corporation | Relational database method for accessing information useful for the manufacture of, to interconnect nodes in, to repair and to maintain product and system units |
US6631496B1 (en) | 1999-03-22 | 2003-10-07 | Nec Corporation | System for personalizing, organizing and managing web information |
US6393415B1 (en) | 1999-03-31 | 2002-05-21 | Verizon Laboratories Inc. | Adaptive partitioning techniques in performing query requests and request routing |
US6336117B1 (en) | 1999-04-30 | 2002-01-01 | International Business Machines Corporation | Content-indexing search system and method providing search results consistent with content filtering and blocking policies implemented in a blocking engine |
US6269361B1 (en) | 1999-05-28 | 2001-07-31 | Goto.Com | System and method for influencing a position on a search result list generated by a computer network search engine |
JP2000339309A (ja) | 1999-05-31 | 2000-12-08 | Sony Corp | 文字列解析装置、文字列解析方法及び提供媒体 |
US7472349B1 (en) | 1999-06-01 | 2008-12-30 | Oracle International Corporation | Dynamic services infrastructure for allowing programmatic access to internet and other resources |
US6421655B1 (en) | 1999-06-04 | 2002-07-16 | Microsoft Corporation | Computer-based representations and reasoning methods for engaging users in goal-oriented conversations |
US6547829B1 (en) | 1999-06-30 | 2003-04-15 | Microsoft Corporation | Method and system for detecting duplicate documents in web crawls |
US6631369B1 (en) | 1999-06-30 | 2003-10-07 | Microsoft Corporation | Method and system for incremental web crawling |
US6339772B1 (en) | 1999-07-06 | 2002-01-15 | Compaq Computer Corporation | System and method for performing database operations on a continuous stream of tuples |
US6463439B1 (en) | 1999-07-15 | 2002-10-08 | American Management Systems, Incorporated | System for accessing database tables mapped into memory for high performance data retrieval |
US7065784B2 (en) | 1999-07-26 | 2006-06-20 | Microsoft Corporation | Systems and methods for integrating access control with a namespace |
US6754873B1 (en) | 1999-09-20 | 2004-06-22 | Google Inc. | Techniques for finding related hyperlinked documents using link-based analysis |
US8914361B2 (en) | 1999-09-22 | 2014-12-16 | Google Inc. | Methods and systems for determining a meaning of a document to match the document to content |
US6665666B1 (en) | 1999-10-26 | 2003-12-16 | International Business Machines Corporation | System, method and program product for answering questions using a search engine |
JP2001134575A (ja) | 1999-10-29 | 2001-05-18 | Internatl Business Mach Corp <Ibm> | 頻出パターン検出方法およびシステム |
US6507846B1 (en) | 1999-11-09 | 2003-01-14 | Joint Technology Corporation | Indexing databases for efficient relational querying |
US6665657B1 (en) | 1999-11-19 | 2003-12-16 | Niku Corporation | Method and system for cross browsing of various multimedia data sources in a searchable repository |
US6839702B1 (en) | 1999-12-15 | 2005-01-04 | Google Inc. | Systems and methods for highlighting search results |
US6678409B1 (en) | 2000-01-14 | 2004-01-13 | Microsoft Corporation | Parameterized word segmentation of unsegmented text |
US6725214B2 (en) | 2000-01-14 | 2004-04-20 | Dotnsf | Apparatus and method to support management of uniform resource locators and/or contents of database servers |
US6615209B1 (en) | 2000-02-22 | 2003-09-02 | Google, Inc. | Detecting query-specific duplicate documents |
US20020032677A1 (en) | 2000-03-01 | 2002-03-14 | Jeff Morgenthaler | Methods for creating, editing, and updating searchable graphical database and databases of graphical images and information and displaying graphical images from a searchable graphical database or databases in a sequential or slide show format |
US6658406B1 (en) | 2000-03-29 | 2003-12-02 | Microsoft Corporation | Method for selecting terms from vocabularies in a category-based system |
US6985948B2 (en) | 2000-03-29 | 2006-01-10 | Fujitsu Limited | User's right information and keywords input based search query generating means method and apparatus for searching a file |
FR2807537B1 (fr) | 2000-04-06 | 2003-10-17 | France Telecom | Moteur de recherche de ressources hypermedia et procede d'indexation associe |
US7173912B2 (en) | 2000-05-05 | 2007-02-06 | Fujitsu Limited | Method and system for modeling and advertising asymmetric topology of a node in a transport network |
US6868447B1 (en) | 2000-05-09 | 2005-03-15 | Sun Microsystems, Inc. | Mechanism and apparatus for returning results of services in a distributed computing environment |
US6643650B1 (en) | 2000-05-09 | 2003-11-04 | Sun Microsystems, Inc. | Mechanism and apparatus for using messages to look up documents stored in spaces in a distributed computing environment |
US6850979B1 (en) | 2000-05-09 | 2005-02-01 | Sun Microsystems, Inc. | Message gates in a distributed computing environment |
US6789077B1 (en) | 2000-05-09 | 2004-09-07 | Sun Microsystems, Inc. | Mechanism and apparatus for web-based searching of URI-addressable repositories in a distributed computing environment |
SE517005C2 (sv) | 2000-05-31 | 2002-04-02 | Hapax Information Systems Ab | Segmentering av text |
US20010049671A1 (en) | 2000-06-05 | 2001-12-06 | Joerg Werner B. | e-Stract: a process for knowledge-based retrieval of electronic information |
SE517496C2 (sv) | 2000-06-22 | 2002-06-11 | Hapax Information Systems Ab | Metod och system för informationsextrahering |
US6839665B1 (en) | 2000-06-27 | 2005-01-04 | Text Analysis International, Inc. | Automated generation of text analysis systems |
US6567804B1 (en) | 2000-06-27 | 2003-05-20 | Ncr Corporation | Shared computation of user-defined metrics in an on-line analytic processing system |
US6578032B1 (en) | 2000-06-28 | 2003-06-10 | Microsoft Corporation | Method and system for performing phrase/word clustering and cluster merging |
US6865575B1 (en) | 2000-07-06 | 2005-03-08 | Google, Inc. | Methods and apparatus for using a modified index to provide search results in response to an ambiguous search query |
US20030217052A1 (en) | 2000-08-24 | 2003-11-20 | Celebros Ltd. | Search engine method and apparatus |
US6701317B1 (en) | 2000-09-19 | 2004-03-02 | Overture Services, Inc. | Web page connectivity server construction |
JP4649731B2 (ja) | 2000-11-27 | 2011-03-16 | 日本電気株式会社 | 文書要約システム及び文書要約方法 |
US6633872B2 (en) | 2000-12-18 | 2003-10-14 | International Business Machines Corporation | Extendible access control for lightweight directory access protocol |
US20030028564A1 (en) | 2000-12-19 | 2003-02-06 | Lingomotors, Inc. | Natural language method and system for matching and ranking documents in terms of semantic relatedness |
US7356530B2 (en) | 2001-01-10 | 2008-04-08 | Looksmart, Ltd. | Systems and methods of retrieving relevant information |
US6766316B2 (en) | 2001-01-18 | 2004-07-20 | Science Applications International Corporation | Method and system of ranking and clustering for document indexing and retrieval |
US6658423B1 (en) | 2001-01-24 | 2003-12-02 | Google, Inc. | Detecting duplicate and near-duplicate files |
US20020165707A1 (en) | 2001-02-26 | 2002-11-07 | Call Charles G. | Methods and apparatus for storing and processing natural language text data as a sequence of fixed length integers |
SE520533C2 (sv) | 2001-03-13 | 2003-07-22 | Picsearch Ab | Metod, datorprogram och system för indexering av digitaliserade enheter |
US6904454B2 (en) | 2001-03-21 | 2005-06-07 | Nokia Corporation | Method and apparatus for content repository with versioning and data modeling |
WO2002078238A2 (en) | 2001-03-27 | 2002-10-03 | Microsoft Corporation | Distributed, scalable cryptographic acces control |
US6990634B2 (en) | 2001-04-27 | 2006-01-24 | The United States Of America As Represented By The National Security Agency | Method of summarizing text by sentence extraction |
US20020169770A1 (en) | 2001-04-27 | 2002-11-14 | Kim Brian Seong-Gon | Apparatus and method that categorize a collection of documents into a hierarchy of categories that are defined by the collection of documents |
US6999971B2 (en) | 2001-05-08 | 2006-02-14 | Verity, Inc. | Apparatus and method for parametric group processing |
WO2002103578A1 (en) | 2001-06-19 | 2002-12-27 | Biozak, Inc. | Dynamic search engine and database |
US6622211B2 (en) | 2001-08-15 | 2003-09-16 | Ip-First, L.L.C. | Virtual set cache that redirects store data to correct virtual set to avoid virtual set store miss penalty |
JP3557605B2 (ja) | 2001-09-19 | 2004-08-25 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 文切り方法及びこれを用いた文切り処理装置、機械翻訳装置並びにプログラム |
US6877136B2 (en) | 2001-10-26 | 2005-04-05 | United Services Automobile Association (Usaa) | System and method of providing electronic access to one or more documents |
US6763362B2 (en) | 2001-11-30 | 2004-07-13 | Micron Technology, Inc. | Method and system for updating a search engine |
US7124353B2 (en) | 2002-01-14 | 2006-10-17 | International Business Machines Corporation | System and method for calculating a user affinity |
US6829606B2 (en) | 2002-02-14 | 2004-12-07 | Infoglide Software Corporation | Similarity search engine for use with relational databases |
US7949648B2 (en) | 2002-02-26 | 2011-05-24 | Soren Alain Mortensen | Compiling and accessing subject-specific information from a computer network |
US7243301B2 (en) | 2002-04-10 | 2007-07-10 | Microsoft Corporation | Common annotation framework |
US20030225763A1 (en) | 2002-04-15 | 2003-12-04 | Microsoft Corporation | Self-improving system and method for classifying pages on the world wide web |
US7080091B2 (en) | 2002-05-09 | 2006-07-18 | Oracle International Corporation | Inverted index system and method for numeric attributes |
US7096208B2 (en) | 2002-06-10 | 2006-08-22 | Microsoft Corporation | Large margin perceptrons for document categorization |
US20040128615A1 (en) | 2002-12-27 | 2004-07-01 | International Business Machines Corporation | Indexing and querying semi-structured documents |
US7051023B2 (en) | 2003-04-04 | 2006-05-23 | Yahoo! Inc. | Systems and methods for generating concept units from search queries |
US7197497B2 (en) | 2003-04-25 | 2007-03-27 | Overture Services, Inc. | Method and apparatus for machine learning a document relevance function |
US7516146B2 (en) | 2003-05-15 | 2009-04-07 | Microsoft Corporation | Fast adaptive document filtering |
US7139752B2 (en) | 2003-05-30 | 2006-11-21 | International Business Machines Corporation | System, method and computer program product for performing unstructured information management and automatic text analysis, and providing multiple document views derived from different document tokenizations |
US20040243560A1 (en) | 2003-05-30 | 2004-12-02 | International Business Machines Corporation | System, method and computer program product for performing unstructured information management and automatic text analysis, including an annotation inverted file system facilitating indexing and searching |
US7146361B2 (en) | 2003-05-30 | 2006-12-05 | International Business Machines Corporation | System, method and computer program product for performing unstructured information management and automatic text analysis, including a search operator functioning as a Weighted AND (WAND) |
US20040243554A1 (en) | 2003-05-30 | 2004-12-02 | International Business Machines Corporation | System, method and computer program product for performing unstructured information management and automatic text analysis |
US20040243556A1 (en) | 2003-05-30 | 2004-12-02 | International Business Machines Corporation | System, method and computer program product for performing unstructured information management and automatic text analysis, and including a document common analysis system (CAS) |
US7188254B2 (en) | 2003-08-20 | 2007-03-06 | Microsoft Corporation | Peer-to-peer authorization method |
US6934634B1 (en) | 2003-09-22 | 2005-08-23 | Google Inc. | Address geocoding |
US6906920B1 (en) | 2003-09-29 | 2005-06-14 | Google Inc. | Drive cooling baffle |
US6870095B1 (en) | 2003-09-29 | 2005-03-22 | Google Inc. | Cable management for rack mounted computing system |
US6845009B1 (en) | 2003-09-30 | 2005-01-18 | Google Inc. | Cooling baffle and fan mount apparatus |
US7849063B2 (en) | 2003-10-17 | 2010-12-07 | Yahoo! Inc. | Systems and methods for indexing content for fast and scalable retrieval |
US20050144241A1 (en) | 2003-10-17 | 2005-06-30 | Stata Raymond P. | Systems and methods for a search-based email client |
US7620624B2 (en) | 2003-10-17 | 2009-11-17 | Yahoo! Inc. | Systems and methods for indexing content for fast and scalable retrieval |
US7693824B1 (en) | 2003-10-20 | 2010-04-06 | Google Inc. | Number-range search system and method |
US20050149499A1 (en) | 2003-12-30 | 2005-07-07 | Google Inc., A Delaware Corporation | Systems and methods for improving search quality |
US8150824B2 (en) | 2003-12-31 | 2012-04-03 | Google Inc. | Systems and methods for direct navigation to specific portion of target document |
US20050149851A1 (en) | 2003-12-31 | 2005-07-07 | Google Inc. | Generating hyperlinks and anchor text in HTML and non-HTML documents |
US7424467B2 (en) | 2004-01-26 | 2008-09-09 | International Business Machines Corporation | Architecture for an indexer with fixed width sort and variable width sort |
US7293005B2 (en) | 2004-01-26 | 2007-11-06 | International Business Machines Corporation | Pipelined architecture for global analysis and index building |
US7499913B2 (en) | 2004-01-26 | 2009-03-03 | International Business Machines Corporation | Method for handling anchor text |
US8296304B2 (en) | 2004-01-26 | 2012-10-23 | International Business Machines Corporation | Method, system, and program for handling redirects in a search engine |
US7318075B2 (en) | 2004-02-06 | 2008-01-08 | Microsoft Corporation | Enhanced tabular data stream protocol |
US8688143B2 (en) * | 2004-08-24 | 2014-04-01 | Qualcomm Incorporated | Location based service (LBS) system and method for creating a social network |
US7461064B2 (en) | 2004-09-24 | 2008-12-02 | International Buiness Machines Corporation | Method for searching documents for ranges of numeric values |
US7840542B2 (en) * | 2006-02-06 | 2010-11-23 | International Business Machines Corporation | Method and system for controlling access to semantic web statements |
-
2005
- 2005-07-14 US US11/182,334 patent/US8417693B2/en not_active Expired - Fee Related
-
2006
- 2006-07-14 WO PCT/EP2006/064281 patent/WO2007006813A1/en active Application Filing
- 2006-07-14 EP EP06777790A patent/EP1907971B1/en not_active Not-in-force
- 2006-07-14 CN CN2006800253422A patent/CN101218590B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6381602B1 (en) * | 1999-01-26 | 2002-04-30 | Microsoft Corporation | Enforcing access control on resources at a location other than the source location |
CN1483169A (zh) * | 2000-12-29 | 2004-03-17 | 国际商业机器公司 | 有损索引压缩 |
US20030093409A1 (en) * | 2001-01-04 | 2003-05-15 | Weil Frank L. | Search engine interface and method of controlling client searches |
Also Published As
Publication number | Publication date |
---|---|
WO2007006813A1 (en) | 2007-01-18 |
EP1907971A1 (en) | 2008-04-09 |
US20070016583A1 (en) | 2007-01-18 |
EP1907971B1 (en) | 2013-04-03 |
US8417693B2 (en) | 2013-04-09 |
CN101218590A (zh) | 2008-07-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101218590B (zh) | 处理源自不同后台仓库的对文档的搜索请求的方法和系统 | |
US8935266B2 (en) | Investigative identity data search algorithm | |
US10069892B2 (en) | Versatile information management system and method thereof | |
US8548997B1 (en) | Discovery information management system | |
CN100476828C (zh) | 基于访问控制的安全搜索引擎系统 | |
CN101320373B (zh) | 网站支撑数据库安全搜索引擎系统 | |
US8768970B2 (en) | Providing alternatives within a family tree systems and methods | |
US20060005017A1 (en) | Method and apparatus for recognition and real time encryption of sensitive terms in documents | |
EP1550960A1 (en) | Correlating genealogy record systems and methods | |
US20010054153A1 (en) | System and method for determining user identity fraud using similarity searching | |
EP2184690A1 (en) | Federated search system based on multiple search engines | |
US11128469B1 (en) | Block chain proof for identification | |
JP3702268B2 (ja) | 情報検索システム、情報検索方法およびプログラム | |
US20100325156A1 (en) | Systems and methods for secure data entry and storage | |
US20240073194A1 (en) | Systems and methods for providing a digital credentials registry | |
CN104866516B (zh) | 多用途信息分享系统 | |
US20060229886A1 (en) | Method and apparatus for web design layout record delivery | |
JP5017405B2 (ja) | 規程管理装置及びプログラム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120523 Termination date: 20200714 |