CN101437025A - 用于管理代理网络的开放平台 - Google Patents

用于管理代理网络的开放平台 Download PDF

Info

Publication number
CN101437025A
CN101437025A CNA2008101740309A CN200810174030A CN101437025A CN 101437025 A CN101437025 A CN 101437025A CN A2008101740309 A CNA2008101740309 A CN A2008101740309A CN 200810174030 A CN200810174030 A CN 200810174030A CN 101437025 A CN101437025 A CN 101437025A
Authority
CN
China
Prior art keywords
user
agency
system component
interface
assembly
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.)
Granted
Application number
CNA2008101740309A
Other languages
English (en)
Other versions
CN101437025B (zh
Inventor
G·B·赫夫
S·D·库克
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Intuit Inc
Original Assignee
Intuit Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Intuit Inc filed Critical Intuit Inc
Publication of CN101437025A publication Critical patent/CN101437025A/zh
Application granted granted Critical
Publication of CN101437025B publication Critical patent/CN101437025B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/34Graphical or visual programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及用于管理代理网络的开放平台。具体地,本发明的一些实施方式提供一种用于管理软件代理的系统。该系统允许用户配置代理,并规定代理和其他系统组件之间的连线关系。该系统还包括中心组件,其被配置为按照用户规定的连线关系来路由去往和来自代理的通信。

Description

用于管理代理网络的开放平台
技术领域
本发明涉及软件代理。更具体地,本发明涉及支持软件代理网络的管理的开放平台的设计。
背景技术
计算机网络的广泛普及和软件开发技术最近的增长使得能够更为容易地将由各个作者编写的并且在各种位置被主控的代码集成在一起,以执行高级计算任务。特别地,程序员开始使用驻留在计算机网络上各种位置的自治“软件代理”来代表用户执行计算任务。
代理是一种复杂的软件实体,其能够以特定量的自治而进行操作,以便代表用户完成计算任务。然而,与按照方法和属性而定义的“对象”不同,代理是按照其行为来定义的。通过使用代理,用户可以有效地完成高级计算任务,而无需担心在执行完成该任务所需的低级操作中所涉及的复杂性。(参见http://en.wikipedia.org/wiki/Software_agent)。
不幸的是,目前用户无法对代理的动作和其他系统组件的动作进行协调,以执行预期的计算任务。
发明内容
本发明的一些实施方式提供了一种用于管理软件代理的系统。该系统使得用户能够配置代理以及规定代理和其他系统组件之间的连线(wiring)关系。该系统还包括中心(hub)组件,其被配置为根据用户规定的连线关系来路由去往和来自代理的通信。
在一些实施方式中,该系统包括提示器组件,其被配置为在用户规定的时间调用一个或多个代理,以及转发由该调用返回的数据项。
在一些实施方式中,该系统包括一个或多个接口组件,其被配置为从用户接收请求,以及将该请求转发给中心组件。
在一些实施方式中,该一个或多个接口组件可以包括:电子邮件接口组件,其被配置为通过电子邮件从用户接收请求;文本消息接口组件,其被配置为通过文本消息从用户接收请求;以及语音接口组件,其被配置为从用户接收音频语音请求。
在一些实施方式中,该系统被配置为:从用户收取报酬,以及向代理作者分发报酬。
在一些实施方式中,代理包括存储代理,其被配置为将数据项存储在永久性存储中。
在一些实施方式中,代理包括分发代理,其被配置为通过各种通信通道将消息分发给用户。
在一些实施方式中,系统提供支持用户图形化地将代理和系统组件连线在一起的用户接口。
在一些实施方式中,系统提供支持其他应用来创建和修改代理以及系统组件的配置的应用编程接口(API)。
在一些实施方式中,系统被配置为在代理和系统组件之间传送包含信息和查询的消息。
在一些实施方式中,可以根据预定义的微格式(诸如,“hcard”或者“hcalender”微格式)来构建数据项。注意,“hcard”是用于发布个人、公司、组织的联系细节的微格式标准,而“hcalendar”是用于显示关于事件的信息的微格式标准。
附图说明
图1示出了根据本发明实施方式的支持管理代理网络的平台。
图2示出了根据本发明实施方式的中心的结构。
图3示出了根据本发明实施方式的配置代理的过程的流程图。
图4示出了根据本发明实施方式的示例性web搜索排序系统。
图5A示出了根据本发明实施方式的示例性航空公司登记系统的部分。
图5B示出了根据本发明实施方式的示例性航空公司登记系统的部分。
图6示出了根据本发明实施方式的示例性数据库搜索系统。
图7A示出了根据本发明实施方式的示例性用户定位系统的部分。
图7B示出了根据本发明实施方式的示例性用户定位系统的部分。
具体实施方式
给出下面的描述是为了使任何本领域的技术人员能够进行和使用所公开的实施方式,下面的描述是在特定应用及其需求的上下文中提供的。对于本领域技术人员而言,对所公开实施方式的各种修改是显而易见的,并且在不背离本描述的精神和范围的情况下,在此定义的一般性原理可以应用于其他实施方式和应用。由此,并非意在将本描述限于所示的实施方式,本描述将根据符合在此公开的原理和特征的最宽范围。
在此详细描述中所描述的数据结构和代码通常存储在计算机可读存储介质上,该介质可以是能够存储计算机系统使用的代码和/或数据的任何设备或者介质。这包括但不限于:易失性存储器;非易失性存储器;磁性和光学存储设备,诸如盘片驱动、磁带、CD(压缩盘)、DVD(数字通用盘或者数字视频盘);或者现在已知或以后开发的能够存储计算机可读介质的任何介质。
概述
本发明的一个实施方式提供一种开放平台,其支持在代理网络的代理之间收集和分发包含信息和查询的消息。此开放平台可以用来解决系统用户的多个问题,这些问题包括:(1)具有“锁定”在资源中的、不易访问的个人信息;(2)必须手动获取公共信息,而不是将其自动发送;(3)需要知道如何达到朋友、同事、家人或者社交网中的其他关系。对于消费者和小商家二者而言,此开放平台允许能够使其生活更加轻松的多种服务。
实际上,本发明提供一种开放平台,其支持包含信息和查询的消息从生产者到消费者的移动。在此系统之内,“代理”(代表用户工作的软件)贡献系统用户(个人、群组或者组织)的信息。该贡献(contribution)可以是从代理处“推送”的(例如,运行于在线动作站点的代理说“你赢得了你的拍卖”),或者是由代理“拉回”的(例如,代理从用户的银行存款划账)。置于系统中的信息流至其他代理,该代理可以对该信息采取措施。注意,代理可以通过如下方式来对消息进行响应:(1)以某些方式(通过产生新消息)来答复消息;(2)分析消息;(3)存储消息;(4)通过电子邮件、文本消息传送或者语音呼叫来分发消息;(5)将消息转发给其他代理;(6)使用其他应用执行自动动作。通常对于代理可以做什么没有限制,上述列举只是列出了可能性。此外,注意,代理可以在各种计算平台上主控(host),诸如在本地计算机系统上、服务器上或者移动设备上。
因此,本发明可以支持松耦合的计算系统的开发。基于从用户接收到的配置信息,代理可以在上游贡献信息,并且其他代理可以在下游处理该信息,而无需任何代理相互了解。例如,下游代理可以将由上游代理对来自用户股票账户的投资组合信息的每日划账格式化为通过电子邮件发送给用户的图表,并且可以由另一代理推送到该用户的帐户应用。再一个代理可以进一步分析该信息,以用于资产分配目的。以此,从单个提供者所关联的受限位置以及该提供者可获得的功能性来对信息进行有效解锁。
系统还支持用户通过多个通道进行通信。例如,系统支持用户通过语音、电子邮件或者文本通道将消息发送至各种个体或者群组。根据接收者的偏好(诸如位置、时间、单个或者成批等),这些消息可以根据接收者希望接收他们的方式进行递送。因此,该系统可以将通信的原始模式与到达每个接收者的通信模式解耦合,由此有效地使接收者处于控制之下。存在对信息或者消息进行操作的多个已有系统,但是目前不存在用户可以通过其来拥有和控制其信息和关联通信的通用平台。
下面更为详细地描述本发明的各种实施方式。
系统
图1示出了根据本发明实施方式的支持管理软件代理收集的系统。该系统围绕中心102构建,其从代理和其他系统组件处接收包含信息和查询的消息,继而根据用户规定的连线关系将消息分发给其他代理和系统组件。为了这样做,中心102使用用户规定的连线信息来调用代表用户的代理。(中心102将在下文参考图2更为详细地描述)。
系统还包括“用户体验网站”130。该用户体验网站130允许用户129规定如何配置代理和系统组件,以及如何将代理和系统组件连线在一起以提供预期的功能。例如,用户体验网站130可以提供图形化编辑工具,其支持用户129配置代理以及将代理和系统组件链接在一起。用户体验网站130还生成配置信息,其可以存储在代理配置数据库118。来自代理配置数据库118的配置信息继而可以用来配置各种代理和系统组件,以及用来建立代理和系统组件之间的通信路径。例如,用户规定的连线关系可以用来配置中心102,以便路由代理之间的信息,以完成预期的计算任务。
在一些实施方式中,系统可以使用从使用数据库104中提取的信息,以通过用户体验网站130来提供代理的受欢迎程度/排序信息。这允许用户查看哪些代理排序最高或者被使用最多。系统还可以提供推荐引擎,推荐引擎根据用户和类似用户有关信息来建议可能对该用户有用的代理。
本发明的一个实施方式还包括提示器108,其是接收以下信息的系统组件,该信息规定了从代理配置数据库118如何提示代理以及多长时间提示一次代理。在操作期间,提示器108周期性地提示代表特定用户的特定代理,以提供信息,继而将从指定代理处接收到的信息转发给中心102。更具体地,在图1中,提示器108周期性地提示代理120和122来提供信息,并继而将该信息转发给中心102。例如,如果代理120能够获取银行存款信息,提示器108可以提示代理120代表用户129每天一次获取该银行存款信息,并且可以将从代理120处接收的银行存款信息转发给中心102。
在一些实施方式中,代理可以是“无状态的”。例如,这种代理可以从提示器108接收状态信息,包括用户配置信息和用户指定的状态二者。注意,该状态信息可以由中心102维护。例如,告诉你在一段时间内是否出现了任何新搜索结果的代理可以将一段时间内的先前搜索结果存储在中心102中,并继而在每次代理被提示时发送结果。
除了从提示器108接收信息之外,中心102还可以直接从代理(例如代理123)处接收信息。中心102还可以通过一个或者多个接口组件从用户129处接收消息。例如,在图1中,中心102从电子邮件接口组件124接收信息,其中配置电子邮件接口组件124经由电子邮件从用户129接收请求、必要时转换该请求、并且将该请求转发给中心102。中心102还从文本消息接口组件125处接收信息,其中配置文本消息接口组件125通过文本消息从用户129接收请求。中心102还可以从语音接口组件126接收信息,其中语音接口组件126被配置为从用户129接收包含语音消息的音频数据。注意,语音接口组件126可以包括语音识别软件,其将数字化音频输入转换为文本。注意,上面所列的三个接口组件仅仅作为示例提供。一般地,该系统可以提供用于已有接口或者将来接口的多种不同类型的接口组件。例如,系统还可以提供即时消息传送接口组件。
中心102可以将消息转发给由代理作者创建的各代理。例如,在图1中,中心102将消息发送给分发代理114,其通过多种不同的通信通道(诸如,电子邮件、语音和文本消息)将消息分发给用户。中心102还可以将消息转发给存储代理116,其被配置为将数据项存储在永久性存储中。例如,存储代理116可以被配置为将数据项存储在数据库系统中。
系统还可以包括计费组件109,其被配置为从用户110收取报酬,并且将报酬分发给代理作者112。注意,计费组件109根据从计费配置数据库132处获取的配置信息来进行操作。从代理作者133以及从用户体验网站130处获取包含在计费配置数据库132中的计费信息。例如,可以使用来自用户体验网站的用户规定的连线信息来确定使用哪些代理来完成任务,并且可以使用来自代理作者的费率信息来确定针对代理的使用向用户征收多少费用。在系统操作期间,将来自中心102以及来自代理和其他系统组件的使用信息记录在使用数据库104中,计费组件109使用该使用信息来计算从哪些用户获取哪些报酬,并计算报酬给每个代理作者多少费用。接下来,计费组件请求和接收来自用户110的报酬,并且将报酬发送给代理作者112。通过向代理作者提供这种报酬,本发明可以向代理作者提供极大的激励,以便开发新的、有用的代理。
注意,上面描述的各个代理和组件是由分布在计算机网络(诸如互联网)上的各种服务器和其他计算机系统来主控的。例如,诸如中心102和提示器108的系统组件可以驻留在一个或多个远程服务器上。而且,代理可以驻留在属于用户129的本地计算机系统上,或者驻留在各种远程计算机系统或者设备上。
中心组件
图2示出了根据本发明实施方式的中心102的结构。中心102在web服务接口202处从各种客户端(其可以包括代理、用户或者其他系统组件)接收请求201。这些请求通过安全层204来馈送,安全层204确定是否对请求进行授权,其例如可以包括检查数字证书,或者可以包括一些其他类型的认证或授权过程。注意,系统还可以在授权过程期间检查配置数据库118,以消除“垃圾信息(spam)”(例如,来自未被配置为使用的代理的信息)。
请求继而可以馈送到请求处理队列206中,其存储等待由多个请求处理器208-211来处理的请求,其中请求处理器208-211并行操作。
如图2所示,在处理请求的同时,请求处理器208可以向代理220作出请求240。在代理220完成了处理请求之后,代理220将相应的响应242发送给请求处理器208。在一些情况下,响应242导致生成后续请求244并将其转发给安全层204。
注意,后续请求244可以生成结果,其需要按照如下方式被返回给请求客户端203:使得请求客户端203能够将响应以初始请求相关。这可以这样来实现:允许客户端203在初始请求上附加某些类型的指示符,并且确保该指示符通过后续通信得以传播,从而使得对客户端203的最终响应包括相同的指示符。客户端203继而可以使用该指示符来将初始请求与最终响应相关,即使初始请求和最终响应是通过不同通道通信的。
可选地,可以通过提供代理器(proxy)使得这一整个过程对客户端203透明,所述代理器与web服务接口202关联,用以管理这些标识符以及通过接收初始请求的相同通道将最终响应发送回客户端203。
配置过程
图3给出了示出根据本发明实施方式的配置代理的过程的流程图。在操作期间,系统从用户129处接收配置信息(步骤302)。该配置信息可以包括针对各个代理的特定配置信息,以及代理和系统组件之间的连线关系。例如,可以通过作为用户体验网站130一部分分的用户接口(UI)来获取配置信息。该UI可以提供图形接口,其允许用户129图形化地将系统组件和代理连线在一起。如上所述,系统可以使用从使用数据库104中提取的信息来通过用户体验网站130提供代理的受欢迎程度/排序信息。系统还可以根据关于用户和类似用户的信息来建议可能有助于用户的代理。
接下来,系统使用接收到的配置信息来配置代理,并规定代理之间的连线关系(步骤304)。
在配置系统之后,执行系统(步骤306)。在此执行期间,系统跟踪各代理的使用。这使得系统能够随后针对其对特定代理的使用而从系统用户收取报酬(步骤308),并且还可以将相应的报酬分发给代理作者(步骤310)。注意,系统还可以接收所收取报酬的一些部分,作为支持该过程的费用。
我们现在描述可以使用上述框架来实现的多个示例性系统。
示例性web搜索排序系统
图4示出了根据本发明实施方式的示例性web搜索排序系统。该系统可以用来响应于特定查询而动态地确定网站排序。注意,图2中所示的系统最初可由用户129通过图1中所示的用户体验网站130来配置。
在操作期间,提示器108以用户指定的频率(例如,每天在早上9:00一次)周期性地调用web搜索排序代理402(步骤A)。在此调用内,提示器108提供一个或多个搜索词,以及一组感兴趣网站的统一资源定位符(URL)。注意,系统组件和代理可以通过开放应用编程接口(API)彼此通信,该API规定了如何调用代理和组件,并且还规定了什么参数格式用于这种调用。
Web搜索排序代理402继而根据搜索词来通过搜索引擎执行web搜索,以生成搜索结果的排序列表。最后,web搜索排序代理402确定感兴趣网站的排序,并且将这些排序报告回给提示器108(步骤B)。
提示器108继而将排序信息转发给中心102,以便其他代理进行处理(步骤C)。中心102使用用户129规定的“连线”来将排序信息发送给分发代理404(步骤D)和存储代理406(步骤E)二者。注意,分发代理404被配置为通过电子邮件消息和SMS文本消息二者将排序信息发送给用户129。而且,存储代理406被配置为将排序信息存储在数据库408中。
由于上述系统的基于解耦合代理的结构,web搜索排序代理402无需知道通过电子邮件分发消息或者关于将信息存储在数据库中的任何事情,因为系统的这些方面是由其他代理实现的。
示例性航空公司登记系统
图5A和图5B示出了根据本发明实施方式的示例性航空公司登记系统。在此示例中,提示器108周期性地调用电子邮件扫描代理502,其扫描用户129的电子邮件(步骤A)。为了访问用户129的电子邮件,电子邮件扫描代理502可能需要被配置为使用特定的密码或者证书来访问用户129的电子邮件。可选地,可以通过单独的桌面应用来扫描电子邮件,该桌面应用无需提示,而是直接将电子邮件发送给web服务接口202。
电子邮件扫描代理502将其获取的新电子邮件消息提交给提示器108(步骤B)。注意,可以对这些消息应用各种过滤器,使得电子邮件扫描代理502仅仅提交特定类型的消息。
接下来,提示器108将电子邮件转发给中心102,以便其他代理进行处理(步骤C)。中心102继而使用用户129规定的连线来将电子邮件发送给航空公司扫描代理504(步骤D),其查找包含航空公司飞行确认的消息。
如果找到了这样的消息,航空公司扫描代理504将相应的任务返回给中心102(步骤E)。该任务使得中心102创建航空公司登记代理506的独立实例,以用于出发飞行和返回飞行二者(步骤F)。
返回图5B,航空公司登记代理506自动执行登记操作,并且在飞行之前24小时发出确认。更具体地,在所安排的时刻,提示器108调用航空公司登记代理506(步骤A)。响应于此调用,航空公司登记代理506对用户129的动作进行仿真,同时代表用户在航空公司的网站处执行登记操作。(注意,航空公司登记代理506可以可选地通过航空公司的网站使用由航空公司提供的web服务来执行登记操作,而不是来执行用户仿真)。如果网站不可用,航空公司登记代理506将重新安排的请求返回给提示器108(步骤B)。否则,航空公司登记代理506返回用于用户129的确认消息(步骤C)。提示器108继而将重新安排的请求或者确认消息转发给中心102,以便其他代理进行处理(步骤D)。
如果请求是确认消息,中心102使用用户129规定的连线来将该消息发送给分发代理508,其被配置为通过优选的通信通道(例如通过语音呼叫)将消息发送给用户129(步骤E)。中心102还可以将消息发送给日历代理510,其更新针对飞行的日历条目,以指明飞行已经得到确认(步骤F)。
示例性数据库搜索系统
图6示出了根据本发明实施方式的示例性数据库搜索系统。在此示例性系统中,用户129通过多个接口组件124-126中的一个或者多个将数据库查询发送给系统(步骤A)。更具体地,用户129通过以下各项之一将查询发送给系统:电子邮件接口组件124,文本消息接口组件125,或者语音接口组件126(如上所述,还由大量可能的接口组件)。所选接口组件继而将查询转发给中心102(步骤B)。
中心102使用用户129规定的连线将查询发送给多个代理以便处理,所述代理包括:第一数据库搜索代理602,其执行针对第一类型数据库的查询;博客搜索代理604;以及第二数据库搜索代理606,其执行针对第二类型数据库的查询。在此示例中,第一数据库搜索代理602识别出该查询不是指向第一类型的数据库,因此第一数据库搜索代理602不进行动作。类似地,博客搜索代理604识别出该查询不是指向博客的,因此其不进行动作(步骤C)。
另一方面,第二数据库搜索代理606识别出该查询是指向第二类型数据库的,因此第二数据库搜索代理606针对第二类型数据库的实例来处理该查询,并且将结果返回给中心102(步骤D)。
中心102继而使用用户129规定的连线、按照用户规定的格式通过分发代理114来将结果返回给用户129。注意,可以将该系统配置为使用不同的通信通道来接收查询和发送查询结果。例如,系统可以通过电话线从用户接收语音查询,诸如“标识出奥克兰10英里之内的、所有我的活跃客户”,并且可以经由电子邮件将所请求的列表返回给用户,因为列表可能太长以致不便通过语音接口来接收。
示例性用户定位系统
图7A和图7B示出了根据本发明实施方式的示例性用户定位系统。在此示例中,例如可以驻留在用户129的蜂窝电话709上的移动全球定位系统(GPS)发送回显(ping)代理702周期性地将用户129的当前位置发送给中心102(步骤A)。中心102继而使用用户129规定的连线将位置消息发送给“我到过哪里(wherein-I-have been)”代理704,其将该信息存储在位置历史数据库706中(步骤C)。
“我到过哪里”服务712随后可以访问该位置信息,该服务712例如可以生成显示用户129所到位置的地图。这使得用户129的朋友708可以通过访问网站710看到用户129到过哪里,其中网站712从“我到过哪里”服务712获取信息(步骤D)。
返回图7B,当用户129明显改变位置时,“谁在附近(who-is-nearby)”代理711向中心102发送查询,要求系统搜索用户129的当前位置附近的联系人(步骤A)。中心102继而使用用户129规定的连线来将查询发送给多个代理以便处理,所述代理包括:记账程序搜索代理720,其在记账程序中包含的联系人信息中进行搜索;社交网搜索代理722,其在社交网站上搜索用户129的熟人;联系人搜索代理724,其在用户129的地址簿中的联系人组中进行搜索;以及LooptTM搜索代理726,其通过基于移动电话的应用来跟踪用户129的附近的朋友(步骤B)。上述代理将地理上距用户129最近的联系人的信息返回给中心102。中心102继而将该联系人返回给“谁在附近”代理711(步骤C),其可以将经由中心102和分发代理114将消息返回给用户129。注意,分发代理114可以使用各种用户规定的通信通道(诸如语音、电子邮件或者文本消息)来与用户129通信。
上文对本发明实施方式的描述仅仅是出于说明和描述的目的。其并非意在穷尽,或是将本文描述限于所公开的形式。因此,对于本领域技术人员而言,多种修改和变形是易见的。而且,上述公开并意在限制本描述。本描述的范围仅有所附权利要求书来限定。

Claims (25)

1.一种用于管理代理的系统,包括:
系统组件集,其被配置为协调所述代理之间的交互;
所述系统组件集之内的中心组件,其中,所述中心组件被配置为按照用户规定的连线关系来路由去往和来自所述代理的通信;以及
所述系统组件集之内的配置组件,其中,所述配置组件使用户能够配置代理,以及规定所述代理之间的连线关系。
2.根据权利要求1所述的系统,进一步包括所述系统组件集之内的提示器组件,其中,所述提示器组件被配置为在用户规定的时刻调用一个或多个代理,以及转发由调用返回的数据项。
3.根据权利要求1所述的系统,进一步包括所述系统组件集之内的一个或多个接口组件,其中,接口组件被配置为从用户接收请求,以及将所述请求转发给所述中心组件。
4.根据权利要求3所述的系统,其中,所述一个或多个接口组件包括以下一项或多项:
电子邮件接口组件,其被配置为经由电子邮件从所述用户接收请求;
文本消息接口组件,其被配置为通过文本消息从所述用户接收请求;以及
语音接口组件,其被配置为从所述用户接收音频语音请求。
5.根据权利要求1所述的系统,进一步包括所述系统组件集之内的计费组件,其中所述计费组件被配置为从用户收取报酬,以及将报酬分发给代理作者。
6.根据权利要求1所述的系统,其中,所述代理包括存储代理,其被配置为将数据项存储在永久性存储中。
7.根据权利要求1所述的系统,其中,所述代理包括分发代理,其被配置为将消息分发给用户。
8.根据权利要求1所述的系统,其中,所述配置组件包括用户接口,该用户接口使所述用户能够图形化地将代理和系统组件连线在一起。
9.根据权利要求1所述的系统,其中,所述系统组件集被配置为在代理和组件之间传送包含信息和查询的消息。
10.根据权利要求1所述的系统,其中,按照预定义的微格式来构建所述信息。
11.一种用于管理代理的方法,包括:
从用户接收系统配置信息;
使用所述系统配置信息来配置所述代理,并规定所述代理之间的连线关系,其中,所述连线关系规定所述代理和系统组件集之间的连接;以及
其中,所述系统组件集包括中心组件,中心组件被配置为按照所述用户规定的连线关系来路由去往和来自代理的通信。
12.根据权利要求11所述的方法,其中,所述系统组件集包括提示器组件,其被配置为在用户规定的时刻调用一个或多个代理,以及转发由调用返回的数据项。
13.根据权利要求11所述的方法,其中,所述系统组件集包括一个或多个接口组件,其中,接口组件被配置为从用户接收请求,以及将所述请求转发给所述中心组件。
14.根据权利要求13所述的方法,其中,所述一个或多个接口组件包括以下一项或多项:
电子邮件接口组件,其被配置为经由电子邮件从所述用户接收请求;
文本消息接口组件,其被配置为通过文本消息从所述用户接收请求;以及
语音接口组件,其被配置为从所述用户接收音频语音请求。
15.根据权利要求11所述的方法,其中,所述系统组件集包括计费组件,其中所述计费组件被配置为从用户收取报酬,以及将报酬分发给代理作者。
16.根据权利要求11所述的方法,其中,所述代理包括存储代理,其被配置为将数据项存储在永久性存储中。
17.根据权利要求11所述的方法,其中,所述代理包括分发代理,其被配置为将消息分发给用户。
18.根据权利要求11所述的方法,其中,接收所述系统配置信息包括从用户接口接收所述系统配置信息,该用户接口使所述用户能够图形化地将代理和系统组件连线在一起。
19.根据权利要求11所述的方法,其中,所述系统组件集中的组件被配置为在代理和组件之间传送包含信息和查询的消息。
20.根据权利要求11所述的方法,其中,按照预定义的微格式来构建所述信息。
21.一种存储有指令的计算机可读存储介质,当计算机执行所述指令时,其使得所述计算机执行用于从用户接收系统配置信息的方法,其中所述方法包括:
从用户接收系统配置信息;
使用所述系统配置信息来配置所述代理,并规定所述代理之间的连线关系,其中,所述连线关系规定所述代理和系统组件集之间的连接;以及
其中,所述系统组件集包括中心组件,中心组件被配置为按照所述用户规定的连线关系来路由去往和来自代理的通信。
22.根据权利要求21所述的计算机可读存储介质,其中,所述系统组件集包括提示器组件,其被配置为在用户规定的时刻调用一个或多个代理,以及转发由调用返回的数据项。
23.根据权利要求21所述的计算机可读存储介质,其中,所述系统组件集包括一个或多个接口组件,其中,接口组件被配置为从用户接收请求,以及将所述请求转发给所述中心组件。
24.根据权利要求23所述的计算机可读存储介质,其中,所述一个或多个接口组件包括以下一项或多项:
电子邮件接口组件,其被配置为经由电子邮件从所述用户接收请求;
文本消息接口组件,其被配置为通过文本消息从所述用户接收请求;以及
语音接口组件,其被配置为从所述用户接收音频语音请求。
25.根据权利要求21所述的计算机可读介质,其中,,所述系统组件集包括计费组件,其中所述计费组件被配置为从用户收取报酬,以及将报酬分发给代理作者。
CN200810174030.9A 2007-11-13 2008-11-12 用于管理代理网络的开放平台 Active CN101437025B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/939,401 2007-11-13
US11/939,401 US8489668B2 (en) 2007-11-13 2007-11-13 Open platform for managing an agent network

Publications (2)

Publication Number Publication Date
CN101437025A true CN101437025A (zh) 2009-05-20
CN101437025B CN101437025B (zh) 2014-06-11

Family

ID=40138092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200810174030.9A Active CN101437025B (zh) 2007-11-13 2008-11-12 用于管理代理网络的开放平台

Country Status (5)

Country Link
US (1) US8489668B2 (zh)
CN (1) CN101437025B (zh)
AU (1) AU2008237538B2 (zh)
DE (1) DE102008056646A1 (zh)
GB (1) GB2454777B (zh)

Families Citing this family (52)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8028241B2 (en) * 2006-08-04 2011-09-27 National Instruments Corporation Graphical diagram wires whose appearance represents configured semantics
JP5388784B2 (ja) 2009-10-02 2014-01-15 キヤノン株式会社 通信装置及び通信装置の制御方法並びにプログラム
US8707271B2 (en) * 2011-05-20 2014-04-22 International Business Machines Corporation Fake check-in entries posted on behalf of social network users
US10326824B2 (en) * 2013-12-17 2019-06-18 Excalibur Ip, Llc Method and system for iterative pipeline
US9986018B2 (en) 2014-01-09 2018-05-29 Excalibur Ip, Llc Method and system for a scheduled map executor
US11488202B2 (en) * 2014-02-28 2022-11-01 Ncr Corporation Unified channel management
US10387969B1 (en) 2014-03-12 2019-08-20 Intuit Inc. Computer implemented methods systems and articles of manufacture for suggestion-based interview engine for tax return preparation application
US9760953B1 (en) 2014-03-12 2017-09-12 Intuit Inc. Computer implemented methods systems and articles of manufacture for identifying tax return preparation application questions based on semantic dependency
US10915970B1 (en) 2014-03-12 2021-02-09 Intuit Inc. Computer implemented methods systems and articles of manufacture for communicating and resolving electronic tax return errors and inconsistent data
US10867355B1 (en) 2014-07-31 2020-12-15 Intuit Inc. Computer implemented methods systems and articles of manufacture for preparing electronic tax return with assumption data
US9916628B1 (en) 2014-07-31 2018-03-13 Intuit Inc. Interview question modification during preparation of electronic tax return
US11430072B1 (en) 2014-07-31 2022-08-30 Intuit Inc. System and method of generating estimates used to calculate taxes
US10970793B1 (en) 2014-08-18 2021-04-06 Intuit Inc. Methods systems and articles of manufacture for tailoring a user experience in preparing an electronic tax return
US11861734B1 (en) 2014-08-18 2024-01-02 Intuit Inc. Methods systems and articles of manufacture for efficiently calculating a tax return in a tax return preparation application
US10977743B1 (en) 2014-08-18 2021-04-13 Intuit Inc. Computer implemented methods systems and articles of manufacture for instance and suggestion differentiation during preparation of electronic tax return
US10540725B1 (en) 2014-08-18 2020-01-21 Intuit Inc. Methods systems and articles of manufacture for handling non-standard screen changes in preparing an electronic tax return
US9922376B1 (en) 2014-10-31 2018-03-20 Intuit Inc. Systems and methods for determining impact chains from a tax calculation graph of a tax preparation system
US10796381B1 (en) 2014-10-31 2020-10-06 Intuit Inc. Systems and methods for determining impact correlations from a tax calculation graph of a tax preparation system
US10169826B1 (en) 2014-10-31 2019-01-01 Intuit Inc. System and method for generating explanations for tax calculations
US10387970B1 (en) 2014-11-25 2019-08-20 Intuit Inc. Systems and methods for analyzing and generating explanations for changes in tax return results
US10296984B1 (en) 2014-11-26 2019-05-21 Intuit Inc. Systems, methods and articles of manufacture for determining relevancy of tax topics in a tax preparation system
US10235722B1 (en) 2014-11-26 2019-03-19 Intuit Inc. Systems and methods for analyzing and determining estimated taxes
US11222384B1 (en) 2014-11-26 2022-01-11 Intuit Inc. System and method for automated data estimation for tax preparation
US10235721B1 (en) 2014-11-26 2019-03-19 Intuit Inc. System and method for automated data gathering for tax preparation
US10157426B1 (en) 2014-11-28 2018-12-18 Intuit Inc. Dynamic pagination of tax return questions during preparation of electronic tax return
US10572952B1 (en) 2014-12-01 2020-02-25 Intuit Inc. Computer implemented methods systems and articles of manufacture for cross-field validation during preparation of electronic tax return
US10796382B1 (en) 2015-03-30 2020-10-06 Intuit Inc. Computer-implemented method for generating a customized tax preparation experience
US10140666B1 (en) 2015-03-30 2018-11-27 Intuit Inc. System and method for targeted data gathering for tax preparation
US10872384B1 (en) 2015-03-30 2020-12-22 Intuit Inc. System and method for generating explanations for year-over-year tax changes
US9990678B1 (en) 2015-03-31 2018-06-05 Intuit Inc. Systems methods and articles of manufacture for assessing trustworthiness of electronic tax return data
US11113771B1 (en) 2015-04-28 2021-09-07 Intuit Inc. Systems, methods and articles for generating sub-graphs of a tax calculation graph of a tax preparation system
US10664924B1 (en) 2015-04-30 2020-05-26 Intuit Inc. Computer-implemented methods, systems and articles of manufacture for processing sensitive electronic tax return data
US10685407B1 (en) 2015-04-30 2020-06-16 Intuit Inc. Computer-implemented methods, systems and articles of manufacture for tax topic prediction utilizing prior tax returns
US10664925B2 (en) 2015-06-30 2020-05-26 Intuit Inc. Systems, methods and articles for determining tax recommendations
US10607298B1 (en) 2015-07-30 2020-03-31 Intuit Inc. System and method for indicating sections of electronic tax forms for which narrative explanations can be presented
US10402913B2 (en) 2015-07-30 2019-09-03 Intuit Inc. Generation of personalized and hybrid responses to queries submitted from within tax return preparation system during preparation of electronic tax return
US9577911B1 (en) 2016-03-21 2017-02-21 Black Cloud Analytics, Inc. Distributed computation system incorporating agent network, paths and associated probes
US11774920B2 (en) 2016-05-04 2023-10-03 Johnson Controls Technology Company Building system with user presentation composition based on building context
US9817383B1 (en) 2016-07-11 2017-11-14 Johnson Controls Technology Company Systems and methods for agent interaction with building management system
WO2017192770A1 (en) 2016-05-04 2017-11-09 Johnson Controls Technology Company Systems and methods for agent interaction with building management system
US11226597B2 (en) 2016-07-11 2022-01-18 Johnson Controls Technology Company Systems and methods for interaction with a building management system
US11226598B2 (en) 2016-05-04 2022-01-18 Johnson Controls Technology Company Building system with user presentation composition based on building context
US11176620B1 (en) 2016-06-28 2021-11-16 Intuit Inc. Systems and methods for generating an error report listing errors in the preparation of a payroll tax form
US10796231B2 (en) 2016-07-26 2020-10-06 Intuit Inc. Computer-implemented systems and methods for preparing compliance forms to meet regulatory requirements
US10762472B1 (en) 2016-07-27 2020-09-01 Intuit Inc. Methods, systems and computer program products for generating notifications of benefit qualification change
US10872315B1 (en) 2016-07-27 2020-12-22 Intuit Inc. Methods, systems and computer program products for prioritization of benefit qualification questions
US11087411B2 (en) 2016-07-27 2021-08-10 Intuit Inc. Computerized tax return preparation system and computer generated user interfaces for tax topic completion status modifications
US11055794B1 (en) 2016-07-27 2021-07-06 Intuit Inc. Methods, systems and computer program products for estimating likelihood of qualifying for benefit
US10769592B1 (en) 2016-07-27 2020-09-08 Intuit Inc. Methods, systems and computer program products for generating explanations for a benefit qualification change
US10664926B2 (en) 2016-10-26 2020-05-26 Intuit Inc. Methods, systems and computer program products for generating and presenting explanations for tax questions
US12020334B2 (en) 2016-10-26 2024-06-25 Intuit Inc. Methods, systems and computer program products for generating and presenting explanations for tax questions
US11138676B2 (en) 2016-11-29 2021-10-05 Intuit Inc. Methods, systems and computer program products for collecting tax data

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1777156A (zh) * 2005-11-30 2006-05-24 北京邮电大学 用于下一代网络、可动态扩展、开放接口技术的网关
CN1963751A (zh) * 2005-11-07 2007-05-16 国际商业机器公司 基于组件的用户应用中对组件集合重新绑定的系统和方法

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5367635A (en) * 1991-08-29 1994-11-22 Hewlett-Packard Company Network management agent with user created objects providing additional functionality
US6226273B1 (en) * 1993-11-30 2001-05-01 British Telecommunicatioins Public Limited Company Communications network management
US5901287A (en) * 1996-04-01 1999-05-04 The Sabre Group Inc. Information aggregation and synthesization system
US6163794A (en) * 1998-10-23 2000-12-19 General Magic Network system extensible by users
US20030195974A1 (en) * 1998-12-04 2003-10-16 Ronning Joel A. Apparatus and method for scheduling of search for updates or downloads of a file
US6851115B1 (en) * 1999-01-05 2005-02-01 Sri International Software-based architecture for communication and cooperation among distributed electronic agents
US20020059139A1 (en) * 1999-03-12 2002-05-16 Scott Evans System and method for debt presentment and resolution
CA2368558C (en) * 1999-03-31 2009-11-03 British Telecommunications Public Limited Company Distributed software system visualisation
EP1166219A1 (en) 1999-03-31 2002-01-02 BRITISH TELECOMMUNICATIONS public limited company Distributed software system data analysis
US7865442B1 (en) * 1999-10-15 2011-01-04 Invensys Systems, Inc. Distributing and billing software according to customer use of program modules
US6546387B1 (en) * 1999-11-15 2003-04-08 Transcom Software Inc. Computer network information management system and method using intelligent software agents
GB2374699B (en) 1999-12-13 2004-07-14 Inktomi Corp Content collection
US6671724B1 (en) 2000-03-21 2003-12-30 Centrisoft Corporation Software, systems and methods for managing a distributed network
US20020022971A1 (en) * 2000-08-21 2002-02-21 Masanori Tanaka Software rental system, software rental method, and computer program for being executed on the software rental system
US7610588B1 (en) * 2000-10-27 2009-10-27 Global 360, Inc. Distributed application management software
US6886026B1 (en) * 2000-11-21 2005-04-26 International Business Machines Corporation Method and apparatus providing autonomous discovery of potential trading partners in a dynamic, decentralized information economy
GB0029622D0 (en) * 2000-12-05 2001-01-17 Nokia Networks Oy Improved user interface
US20020138296A1 (en) * 2001-03-20 2002-09-26 Holmes Ralph K. Systems and methods for collecting and rating contact center usage
US7197559B2 (en) * 2001-05-09 2007-03-27 Mercury Interactive Corporation Transaction breakdown feature to facilitate analysis of end user performance of a server system
US20030154271A1 (en) * 2001-10-05 2003-08-14 Baldwin Duane Mark Storage area network methods and apparatus with centralized management
US7401133B2 (en) * 2002-04-23 2008-07-15 Secure Resolutions, Inc. Software administration in an application service provider scenario via configuration directives
US7844552B2 (en) * 2002-10-28 2010-11-30 International Business Machines Corporation Shared software agent for customer relations management services
US7925984B2 (en) * 2003-03-31 2011-04-12 International Business Machines Corporation Remote configuration of intelligent software agents
EP1614255B1 (en) * 2003-04-04 2014-09-03 CA, Inc. Method and system for discovery of remote agents
US7440992B1 (en) * 2003-09-16 2008-10-21 Agent Software Corporation Cell-based computing platform where services and agents interface within cell structures to perform computing tasks
US20050144218A1 (en) * 2003-11-25 2005-06-30 Heintz Timothy J. Extendible software platform for the construction and deployment of intelligent agents
US7451064B2 (en) * 2004-10-06 2008-11-11 Hewlett-Packard Development Company, L.P. System and method for logging hardware usage data, and uses for such logged hardware usage data
US7676539B2 (en) * 2005-06-09 2010-03-09 International Business Machines Corporation Methods, apparatus and computer programs for automated problem solving in a distributed, collaborative environment
US7631082B2 (en) * 2005-06-10 2009-12-08 Microsoft Corporation Transparent resource administration using a read-only domain controller
US20070266390A1 (en) * 2005-10-31 2007-11-15 Mark Emmerich Automated management of application-specific tasks from the Internet via distributed task manager agents in a local area network
US20070171923A1 (en) * 2005-12-01 2007-07-26 Firestar Software, Inc. System and method for exchanging information among exchange applications
US7725577B2 (en) * 2006-07-31 2010-05-25 Sap Ag Method and system to adaptively manage the quality of service of interactions between smart item networks and enterprise applications

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1963751A (zh) * 2005-11-07 2007-05-16 国际商业机器公司 基于组件的用户应用中对组件集合重新绑定的系统和方法
CN1777156A (zh) * 2005-11-30 2006-05-24 北京邮电大学 用于下一代网络、可动态扩展、开放接口技术的网关

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HAO LAN ZHANG ET AL.: "AOCD:A Multi-agent Based Open Architecture for Decision Support Systems", 《PROCEEDINGS OF THE 2005 INTERNATIONAL CONFERENCE ON COMPUTATIONAL INTELLIGENCE FOR MODELLING,CONTROL AND AUTOMATION,AND INTERNATIONAL CONFERENCE ON INTELLIGENT AGENTS,WEB TECHNOLOGIES AND INTERNET COMMERCE》 *

Also Published As

Publication number Publication date
AU2008237538B2 (en) 2014-01-09
CN101437025B (zh) 2014-06-11
GB2454777A (en) 2009-05-20
DE102008056646A1 (de) 2009-10-01
GB0819938D0 (en) 2008-12-10
US8489668B2 (en) 2013-07-16
US20090125618A1 (en) 2009-05-14
GB2454777B (en) 2013-02-13
AU2008237538A1 (en) 2009-05-28

Similar Documents

Publication Publication Date Title
CN101437025B (zh) 用于管理代理网络的开放平台
US11823105B2 (en) Efficiency enhancements in task management applications
TWI454099B (zh) 擴充訊息傳送系統與方法
US8407297B2 (en) Systems and methods to receive information from a groupware client
US9672270B2 (en) Systems and methods for aggregation, correlation, display and analysis of personal communication messaging and event-based planning
CN102567299B (zh) 使用文本消息与电子表格交互
EP1457911A1 (en) System and method for social interaction
US20140066044A1 (en) Crowd-sourced contact information and updating system using artificial intelligence
CN101621742B (zh) 移动终端位置的查询方法及其平台
US20090106371A1 (en) Systems and methods to generate business reports based on electronic mail messages
CA2589687C (en) Message-based expense application
CN101997894A (zh) 一种信息推送方法及其系统和网络系统
US20090106372A1 (en) Systems and methods to transmit information to a groupware client
US20110138028A1 (en) Managing Networking Events
EP2777013A1 (en) Aggregate provider for social activity feeds and contact information
CN101802863A (zh) 社区生成支援系统、社区生成支援方法及其程序
CN102945239A (zh) 基于位置的交换所搜索
KR100813398B1 (ko) 휴대용 정보통신 단말기 및 통합 메시징 시스템을 이용한모바일 오피스 시스템 및 그 구현 방법
US20090100024A1 (en) Multi-modal mobile platform
EP2404426A1 (fr) Procede et systeme de synthese temps reel d'interactions relatives a un utilisateur
CN100558188C (zh) 消息处理设备、系统及方法
Funk The future of mobile phone-based Intranet applications: A view from Japan
Sukarsa et al. Data exchange between information system at low bandwidth quality using messaging
KR20150079904A (ko) 상태 추적 시스템
CN104636854A (zh) 帐票数据管理服务器及帐票数据管理程序

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