经由远程设备搜索不同数据存储的系统和方法

文档序号:6425667阅读:141来源:国知局
专利名称:经由远程设备搜索不同数据存储的系统和方法
技术领域
本发明涉及远程数据访问系统,更具体地讲,本发明涉及经由无线网络的中间接口对不同网络服务的一致访问。
背景技术
当前,利用诸如个人数字助手(PDA)和智能电话的远程设备通过无线数据链路访问越来越多的服务。万维网和互联网被创建以解决大量的数据交换协议、格式、API等等。 这样,由于从不同的数据存储获得服务和/或信息所需的复杂开销和消息序列,所以难以在互联网环境中影响(leverage)远程设备。当前,需要一种能够经由远程设备对不同数据存储进行一致访问的一致访问系统和方法。

发明内容
在要求保护的改进的一个方面中,提供了一种从远程设备搜索应用服务的系统。 这种系统能够实现一种协商,其中,根据本地、一致的访问协议对搜索请求重新格式化。可以根据各种搜索引擎和/或服务的特定服务和调用格式来查询这些搜索引擎和/或服务, 从而使来自这些不同源的数据按照为了呈现给远程设备而恰当译码(transcode)的格式提供给远程设备。应该明白,本发明的上述一般性描述和下文的详细描述都是示例性的,而并非限制本发明。


通过结合附图参考下文的详细说明能够更好地理解本发明,从而能够容易地获得对本发明以及它的许多伴随优点的更加全面的认识。然而,这些附图绝不是限制说明书所包括的本发明的范围。由说明书和附图所包括的本发明的范围由权利要求书的词句进行限定。图1是根据本发明的示例性实施例的系统的高级框图;图2是企业网络配置中根据图1的系统的框图;图3是图1的示例性系统的系统组件的高级框图4是图1的远程终端的示例性查询过程的流程图;以及图5是根据本发明的示例性方面的查询转变的流程图。
具体实施例方式在下文中参照附图描述本发明的各个实施例。应该明白,没有按照比例绘制附图并且在这些附图中相似结构或功能的元素由相似标号指示。还应该注意,这些附图仅仅是为了帮助说明本发明的特定实施例。这些实施例并非意图作为本发明的穷尽描述或者作为对本发明的范围的限制。另外,结合本发明的特定实施例描述的方面不一定限制为那个实施例并且能够按照本发明的任何其它实施例实施。现在参照附图,图1是系统100的框图,该系统100用于从远程设备101 (a. . η)经由应用服务(110-115)搜索后端数据存储和数据源(116-120)并且将结果传递给远程设备 101 (a., η)。搜索的目的是在远程设备上创建新的数据元素。然后,如序列号为09/921,2 的美国专利申请所述,这些数据元素与用户的办公室计算机进行同步,其中,该美国专利申请全部内容通过引用纳入于此,如同在本文中进行了全面阐述一样。描述的远程设备 101 (a., η)的数目并非是要进行限制。该远程设备可以是包括但不限于用户终端、移动设备、PDA或智能手机的任何数目的设备。远程设备101 (a., η)可以是经由诸如无线电数据提供商102的无线提供商进行通信的无线设备,或者远程设备101 (a. . η)可以经由硬连接而连接到内联网或互联网。远程设备101(a..n)经由内联网或互联网103与搜索集中器104 进行通信(该搜索集中器也可以称作搜索服务器,并且是在序列号为09/921,228的美国专利申请中描述的全局服务器的一个方面)。通过利用一致搜索协议,执行远程设备101 (a.. η)与搜索集中器104之间的通信。该协议允许远程设备101 (a., η)识别可用的应用服务 (110-115)并且在不了解关于由特定应用服务(110-115)实际利用的API或协议的任何信息的情况下,实际执行对一些或全部应用服务的搜索。可用的应用服务可以包括具有存储 116的数据库111、具有后端引擎117的搜索引擎112、具有可能的后端资源118的复杂应用服务113、具有程序API 114和后端119的网站、以及从互联网或其它源120收集数据的其它信息源115。在操作中,远程设备101 (a., η)查询哪些应用服务(110-115)是可用的,或者可选地保持可用应用服务的列表。搜索集中器104将可用服务的列表和它们能够利用的数据类型作为解答或结果回复给远程设备101 (a., η)。每个应用服务(110-115)能够接受查询中的特定数据类型,诸如文本、日期、时间、股票符号、零件编号、联系记录、或它先前返回的对象的标识符。同样地,每个应用服务(110-11 返回包含特定数据类型的结果。远程设备 101 (a., η)上的应用通常能够利用一种类型的结果。例如,如果该应用正在请求地图,则该查询仅指定返回作为地图的对象的服务。然后,远程设备101 (a., η)发送搜索查询和应该查询的服务的列表。搜索集中器104向应用服务(110-115)发送查询,如果需要的话将该查询转变成每个应用服务(110-115)的本地接口格式,从而使应用服务能够理解该请求。搜索集中器从应用服务(110-115)接收结果,并且产生搜索结果概要。搜索集中器104能够识别远程设备101 (a. . η)的特性,并且它针对特定远程设备101 (a. . η)恰当地对该搜索结果概要进行格式化。根据远程设备101 (a., η)的能力,可以一次发送整个搜索结果概要或者分几份发送。搜索集中器104能够对搜索结果概要信息进行索引,从而使得远程终端101 (a. . η) 随后可以请求在搜索结果概要中返回的任何项目的全部或一部分。可以按照原始形式或者按照针对在无线102或有线链路上发送而适当译码并且在远程设备101 (a. . η)上呈现的形式取回所选择的项目。此外,远程设备101(a..n)可以指定任何搜索结果作为订阅,有时候称为标准搜索。订阅是由搜索集中器104作出的如下承诺搜索集中器104将会在以后某时间返回特定搜索结果的更新版本。搜索集中器104能够保持订阅的描述,并且能够周期性地从应用服务再次请求该项目,或者安排应用服务在数据项目改变时通知搜索集中器104。搜索集中器利用与针对原始结果所用协议相同的协议,向远程设备101 (a., η)发送任何新结果。作为另一种选择,远程设备101(a..n)能够指定在以后某时间自动运行整个搜索,并且将结果报告给该远程设备101 (a. . η)。图2是一另选系统200的框图,该系统200用于从远程设备201 (a. . η)搜索防火墙2 后方的应用服务233-235,并且将结果传递给远程设备201 (a. . η)。该另选系统200 可以是独立系统或者可以是系统100的子系统。该另选系统200具有应用服务233-235,这些应用服务233-235位于防火墙2 后方的组织230的内部。该组织的防火墙可能不允许从外部发起连接,从而防火墙内部的服务器能够发起与外部服务器的会话,这在序列号为 09/921,228的美国专利申请中进行更加全面的描述。中继服务器231是防火墙2 之外的受信任机器,用于从远程设备201 (a. . η)接收请求并且将它们发送给搜索集中器204,然后搜索集中器204对它们进行处理并且将它们发送给应用服务233-235。搜索集中器204可以是服务器上运行的进程,诸如Visto Enterprise Server (VES),并且中继服务器231可以是 Visto Network Operations Center (NOC)的一部分。应用服务 233_2;35 可以包括 公司(corporate)全局地址列表(GAL) 233、客户关系管理系统(CRM) 234、具有存储236的公司数据库235、或者在以上第九段中列出的任何其它服务。这个列表并非是穷举的,并且应用服务可以是本领域技术人员已知的任何类型。搜索集中器204对查询进行中继并且按照结合图1描述的相同的方式返回结果。如果搜索集中器204被置于公司防火墙2 之外, 则该防火墙将必须开放以允许搜索集中器204到达内部应用服务233-235。利用受信任的中继231意味着两端都是受信任的,能够对通信进行加密,并且能够使允许通过防火墙2 的请求的类型的数目保持较少。图3是系统300的软件组件的框图。在系统300中,用户350经由用户接口 351 与远程设备301进行通信。在远程设备301上执行的应用程序352与该远程设备上的设备搜索协议管理器353进行通信以将搜索查询350转变成一致协议中的查询。然后,搜索查询在通信信道303上进行发送,该通信信道303可以是无线或有线连接。位于通信信道303 的两端的通信模块354、361将查询传输到搜索集中器304。应用程序352可以是允许用户键入或建立查询的简单用户接口,或者它可以是作为主要任务的副作用而发布查询的完全不同的程序,诸如日历。搜索集中器362上的搜索协议管理器对搜索查询和搜索结果进行解码和编码。搜索管理器363跟踪应用服务(311、313、321、366-368)以及它们的可用性。它存储所有的搜索结果并且对每个搜索结果进行格式化,以将它们发送回远程设备。当应用服务366、 367和368理解一致协议时,可以通过通信模块365将搜索查询转发给应用服务366、367和368。请求转变的应用服务311、313和321由协议转变模块364处理。在一些情况下,该转变可以与在序列号为09/921,228的美国专利申请中公开的由全局服务器进行的转变相同。在一个实施例中,搜索集中器304是在序列号为09/921,228的美国专利申请中描述的全局服务器的一部分,并且与全局服务器的数据同步方面共享诸如通信361和365的模块。流程图中的任何处理描述或方框应该被理解为表示包括用于实现该过程中的特定逻辑功能或步骤的一个或更多个可执行指令的代码的模块、段、部分,并且另选的实施方式包括在本发明的示例性实施例的范围内,其中,本领域技术人员应该明白,根据所涉及的功能,可以按照与示出或讨论的顺序不同的顺序(包括基本并发或以相反顺序)执行这些功能。图4是示出由搜索集中器304用来搜索不同的应用服务311、313、321、366-368的方法的流程图。它描述了远程设备301与搜索集中器304之间的交互。在图4的左侧示出了在搜索集中器304上发生的事件或动作,在右侧示出了在远程设备301上发生的事件或动作。在401中,远程设备301的应用的用户形成查询,该查询是诸如先前描述的一致协议。在该一致协议中,查询不限于文本。查询可以包括该查询正在请求的结果数据类型的列表。能够在查询中指定复杂测试表达式,并且结果必须满足该表达从而被包括作为有效结果。测试表达式可以包括算术比较、诸如‘begins with “Doc”’ (以“Doc”开始)的文本匹配测试、通配符以及‘和’与‘或’的逻辑组合。利用发起请求的应用不需要知道或解释的不同接口和API,该一致搜索协议允许以下的组合要求特定数据类型、要求使结果通过复杂测试、以及在大批的应用服务上进行搜索。然后,在402中,远程设备301上的应用能够指定进行搜索的数据源,例如公司的全局地址列表。在402中,远程设备301上的应用还能够请求用来返回诸如天气报告的指定数据类型的源的列表,或者在402中,该应用可以请求所有的源。一旦构成了搜索源请求,搜索请求就被发送到搜索集中器304。在403中, 搜索集中器304确定哪个被请求的源能够返回被请求的数据,并且将该信息发送给远程设备 301。然后,在404中,远程设备301发送完整的查询404,包括用来搜索的数据源的选择。在405中,搜索集中器304向各个应用服务发送搜索请求,将该请求转变成每个应用服务311、313、321、366-368理解的格式。(图5示出了转变的方法)。搜索集中器304能够转变成各种格式,例如,SQL查询、程序的Google搜索API、Microsoft Exchange服务器的 webDav、SalesForce. com 的接 Π。在406中,搜索集中器可以在接收到结果时连同搜索的完成百分比估计一起报告该结果。在407中,当进一步的结果和进程估计可用时,搜索集中器构成并且发送它们。每个数据源可以提供许多结果,针对由搜索集中器304进行的当前查询,这些结果被合并到主列表中。该列表具有每个结果的文本描述,并且可选地具有至复杂数据对象的句柄,所述复杂数据对象例如为地图、联系记录或汽车部件的3D图片。在408中,远程设备301接收结果并且将结果发送给远程设备301上请求该查询的应用程序352。应用程序352可以是对用户接口 351的简单通过。应用程序352可以对概括的搜索结果中的任何一个结果采取进一步动作。步骤406、407和408可以是部分异步的。由用户控制的应用程序352具有选择410。一个选项是要求在搜索结果中确定的完整文档或文件(411)。远程设备301向搜索集中器304发送对文档进行格式化的请求(421)。在421中,如果完整的文档是文本或小对象,则可以将它按一致搜索协议在一消息内部传送。这被称作带内传送。如果文档大或者是复杂数据对象,则利用诸如FTP或HTTP的另一个协议将它发送到远程设备301 (424)。这被称作带外传送。当数据对象到达时,它被提交给远程设备301上的恰当应用程序。该程序允许用户观看和操纵对象。例如,地图对象可以由导航程序显示,该导航程序允许用户对地图进行滚动和缩放以及观看具有关于关注点的细节的弹出窗口 ;3D对象在应用中被显示为允许用户将它旋转;联系数据库的一部分可以按照多种方式进行排序和显示。作为另一种选择,用户或应用能够将搜索结果变成订阅G12)。用户能够请求周期性地再次接收相同搜索的结果。例如,如果搜索是针对公司的存货清单中的特定部件的数量,则用户可以要求在每天早上7点将存货清单中的当前数目报告给远程设备301。能够将订阅指定为使得基于各种因素返回结果,例如,当结果的值发生改变时或者当该值改变为特定指定值时,返回这些结果。在另一个例子中,查询可以针对旧金山的天气,订阅可以请求每当“雨”出现在天气报告中时的更新;或者,用户可以订阅在特定位置夜间温度会将低到冰点下的预报。订阅还能够针对每当数字(诸如销售预报的具体推测)的值改变时的报告。订阅可以是继续的搜索。当应用服务报告新的结果时,新的结果被发送到远程设备。 该新的结果可以被推送从而主动到达远程设备。它的例子是搜索特定地区内的交通事故。 订阅还可以是在搜索集中器304上被记住并且能够在请求时被再次运行的搜索描述。这些例子并不是要穷举可以形成的查询的类型。可以针对作为文本、文档或任何数据类型的对象的结果形成订阅。应该注意,一旦用户350(或者应用352)得到结果,则将它变成订阅的过程是简化的。由于初始搜索的条件已被指定,所以简单地指示多久执行相同搜索、或者针对什么值进行警告、或者当该值改变时进行警告就足以将该搜索转换成订阅。在422中,搜索集中器304记录该订阅,并且构建需要实现订阅的警告。搜索集中器以定期的时间返回如请求所要求的原始查询的全部或一部分。如果数据源能够在数据值改变时警告搜索集中器304,则搜索集中器304创建并且向应用服务(例如,313)发送当该值改变时进行通知的请求。当在应用服务中数据值发生改变时,它将通知搜索集中器304,搜索集中器304对结果进行格式化并且将它发送给远程设备301 (425)。搜索集中器对用于搜索和订阅的大量不同的格式和方法进行统一。远程设备301 上的软件仅仅需要识别一致的搜索协议,并且由此屏蔽了许多数据源的高度变化的要求。一致搜索协议包括向搜索集中器304注册新的数据源从而能够对它们进行搜索的方法。利用新的应用服务311、313、321、366-368的人可以编写一个连接器模块,该连接器模块告诉搜索集中器304它能够处理的查询以及它返回的数据对象的类型。作为另一种选择,该连接器模块能够按照一致搜索协议与搜索集中器304进行通信,并且按照它的数据源(116-120)的本地格式与该数据源进行通信。该连接器模块可以与Visto Business Freedom系统兼容。由于一致搜索协议的一般性,所以能够向搜索集中器304注册诸如公司的结构化IO-K报告库的许多不同类型的信息源,向远程设备301提供用于搜索和订阅数据对象和非文本信息的空前的能力。通常,远程设备一次接收有限量的文本。如果用户需要看到更多结果,则可以对附加搜索结果进行请求(413)。搜索集中器304构建下一批结果,并且在423中将它们发送给远程设备301。
8
当搜索完成且应用352或者用户满意时,该应用可以退出步骤410。在发出原始查询404以后,应用352还能够请求搜索集中器304在任何时刻中止搜索。Visto Corporations Visto Mobile Terminal Client 5. 5 是实现在远程设备上执行的步骤的软件的一个例子。图5是示出图4中的转变的细节的流程图。在550中,通过分析在查询中指定的每个应用服务(即311),转变405开始。搜索集中器304包含或可访问记录每个应用服务的属性的数据库。然后,搜索集中器304确定该应用服务是否理解一致搜索协议。如果该应用服务不理解一致协议,则搜索集中器304将该查询转变成数据源552的API。这可以在连接器模块中进行,该连接器模块可以驻留在另一台机器上并且可以由第三方提供,或者它可以在协议转变器364中。然后,该查询被发送到应用服务。针对在查询中指定的每个应用服务(311、313、321、366-368中的一些)执行相同的处理,因此搜索集中器304可以在等待来自应用服务的应答的同时重复该处理。在555 中,应用服务返回结果,然后在556中,搜索集中器304将该结果转变成一致搜索格式,并且可选地将任何对象转换成不同的格式。文档或对象可以按照对于远程设备301不寻常或未知的格式到达。搜索集中器304可以具有用于这些文档或对象的标准转变的列表。然后, 在557中,按照具有恰当长度的文本概要的形式对结果进行编译,并且针对由远程设备301 和发起请求的应用所利用的软件对结果进行定制。然后,在阳8中,将来自每个数据源的文档的文本概要和对象句柄合并到搜索结果的列表中,并且转变完成。显而易见,根据以上教导,本发明的易于辨别的变型和变动是可行的。因此,应该理解,在权利要求的范围内,可以按照与本文中具体描述的方式不同的另外方式实施本发明。例如,尽管按照交互地合作的软件和硬件组件进行了描述,但是可以想到可以完全由软件实现本文中描述的系统。可以在诸如磁盘或光盘的载体或者无线电频率或音频载波中实施该软件。前面指出,给出具体实施例的上述描述是出于例示和说明的目的。它们并非是穷举的或者将本发明限制为公开的确确形式,并且根据以上教导显然可以有许多变型和变动。选择并且描述这些实施例是为了解释本发明的原理及其实际应用,从而使本领域技术人员能够最佳地利用本发明及其适于想到的特定应用的各种实施例。本发明的范围由权利要求及其等同物进行限定。
权利要求
1.一种通过搜索服务器提供对移动设备上的数据的访问的方法,该移动设备具有多个应用程序,用于向用户提供对不同类型的数据对象的访问,以及搜索服务器被设置为向代表移动设备的多个数据源发送查询,每个数据源都用于提供相应所述类型的数据对象,该方法包括从移动设备向服务器系统发送搜索查询; 在移动设备接收对应于搜索查询的搜索结果;响应于所述搜索结果的用户选择,从所述移动设备向所述服务器系统发送对与所选择的搜索结果相关联的数据对象的请求;在移动设备上接收所述请求的数据对象;移动设备基于所接收的数据对象,识别能够处理所接收的数据对象的所述应用程序;以及移动设备将所接收的数据对象传送到所识别的应用程序,从而使得用户能够访问所接收的数据对象。
2.根据权利要求1所述的方法,其中,所接收的数据对象包括复杂数据对象。
3.根据权利要求2所述的方法,其中,搜索查询通过第一协议被发送到服务器系统,该方法还包括响应于另一个所述搜索结果的用户选择,在移动设备上接收与所述搜索结果相关联的另一个数据对象,该另一个数据对象与所述复杂数据对象是不同类型的,其中 所述另一个数据对象通过所述第一协议被接收;以及所述复杂数据对象使用另一个不同于所述第一协议的协议被接收。
4.根据权利要求2或3所述的方法,其中,所述复杂数据对象包括地图、3D对象和联系记录中的至少一个。
5.根据前述任何一项权利要求的方法,其中,所识别的应用程序使得用户能够执行有关于所接收的数据对象的动作。
6.根据权利要求5所述的方法,其中,所述动作包括对所接收的对象进行操纵。
7.根据前述任何一项权利要求所述的方法,其中,每个所述应用程序处理相应类型的数据对象。
8.根据前述任何一项权利要求所述的方法,包括移动设备使用所述应用程序表达所述搜索查询。
9.一种用于提供对数据的访问的移动设备,所述移动设备具有多个用于向用户提供到不同类型的数据对象的访问的应用程序,所述移动设备被设置为向服务器系统发送用于对代表移动设备的一个或多个数据源进行搜索的搜索查询; 接收对应于搜索查询的搜索结果;响应于所述搜索结果的用户选择,向所述服务器系统发送对与所选择的搜索结果相关联的数据对象的请求;接收所述请求的数据对象;基于所接收的数据对象的类型,识别能够处理所接收的数据对象的所述应用程序;以及将所接收的数据对象传送到所识别的应用程序,从而使得用户能够访问所接收的数据对象。
10.根据权利要求9所述的移动设备,其中,移动设备能够通过无线通信网络与服务器系统进行通信。
11.根据权利要求9或10所述的移动设备,包括智能手机和个人数字助理PDA中的至少一个。
12.—种由移动设备执行的计算机程序,所述计算机程序包括指令,该指令在被执行时,使得移动设备执行根据权利要求1到8中任何一项所述的方法。
全文摘要
本发明涉及经由远程设备搜索不同数据存储的系统和方法。提供了一种在有线或无线链路上从远程终端搜索连接到数据存储设备的网络系统的内容的系统和方法。该系统对搜索请求进行规划,并且分派这些请求。调用各种搜索引擎和服务来寻找所请求的内容。按照对于在无线链路上传输足够简短的形式形成概要。该搜索概要信息向远程终端指出接下来请求在该搜索概要中引用的文档的全部或一部分,允许按照原始形式或者按照适于在无线链路上传输而适当译码并呈现在该远程终端上的形式来形成对引用的文档的全部或一部分的请求。
文档编号G06F17/30GK102194008SQ20111015123
公开日2011年9月21日 申请日期2007年4月2日 优先权日2006年3月31日
发明者H·索马尼, R·斯坦登, S·M·昆兰 申请人:维斯托公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1