用于实现聊天应用程序代理服务器的方法和系统的制作方法

文档序号:7919090阅读:265来源:国知局
专利名称:用于实现聊天应用程序代理服务器的方法和系统的制作方法
技术领域
本发明大致涉及聊天应用程序,更特别地,涉及用于实现聊天代 理服务器以控制外部用户与聊天应用程序间的访问和交互,以及实现 聊天封装以管理聊天代理服务器和聊天应用程序之间的交互的方法、 设备和计算机程序产品。
背景技术
有两种类型的聊天模式。第一种是点对点聊天模式(例如,IBM SameTime)。依照这个模式运行的聊天应用程序有一个对等"现场 (Presence)"信息显示,用户点击该显示来聊天。第二种类型是桌面 帮助服务聊天模式,在第二种类型的聊天模式中,没有可用的对等现 场信息;用户仅仅点击求助的按钮,聊天系统就自动地把请求路由到 可用的聊天代理。
聊天作为一种有效的用于联系桌面帮助的手段已经变得日益重 要。文化转型和文本信息和即时消息的更多的使用已经导致使用这些 方法来联系桌面帮助代理。桌面帮助聊天的当前的模式是免费模式, 这样每个人都被允许访问聊天资源以联系桌面帮助代理。桌面帮助代 理的责任是验证和过滤用户的合法性。这负面地影响桌面帮助代理的 工作效率并且增加了提供桌面帮助服务的成本。
还发现平均的桌面代理一次能够处理仅一个语音呼叫,但是却能 够同时处理2-5个聊天会话。因此,使用聊天作为用于联系桌面帮助 的替代方法带来的节省非常明显。
现有的桌面帮助聊天产品包括三个部件(l)路由引擎;(2) 代理应用程序/图形用户界面;和(3)用于定制的面向用户的应用程 序/图形用户界面的API。依照现有技术配置的常规聊天系统有几个缺
点。这些缺点将在下述的段落中进行讨论。
常规聊天系统不提供安全的和可升级的模式来验证聊天会话。某 个语音呼叫桌面帮助实现要求用户在呼叫能够到达代理前键入密码。 尽管如此,这种语音呼叫用户验证机制不能被有效地应用于聊天系统。 语音呼叫系统用户验证是"仅一次,,的检验。语音系统应答用户的呼叫 并且验证用户的密码,然后把呼叫转发到代理,之后验证系统"跳出循 环"。这种方法仅对语音系统起作用,因为没有其他的方法使用户访问 桌面帮助资源(代理)。这种方法对聊天系统服务不起作用,因为聊 天系统包括互联网资源和与聊天系统(例如像聊天路由基础结构和代
理)相关联的资源,能够通过ULR访问。这种可访问性造成了重要 的安全隐患。
有些现有的聊天产品确实在内部为用户身份验证提供本地数据 库。这种方法是不可升级的,因为企业用户有他们自己的LDAP进行 用户身份验证。它要求服务提供商做出很大的努力为每个企业用户复 制本地数据库以及使LDAP和本地数据库同步。
常规聊天系统还要求面向用户的聊天应用程序在与现有聊天产 品相同的机器中执行和运行。这构成了一个很严格的限制,因为聊天 资源和聊天应用程序的拥有者可能是不同的。聊天系统的传统结构不 支持能够阻止用户直接访问聊天资源的防火墙的安装。
常规聊天系统还要求特定语言基础结构以支持各种语言。在依照 现有技术操作的聊天系统中,执行特定的语言系统,以支持单一的语 言。这种特定的语言系统可以是供聊天应用程序使用的特定语言API 部件。对服务提供商来说,实现支持世界上所有语言的通用聊天服务 的代价是非常高的。
常规聊天系统仅支持文本聊天。常规聊天系统不支持多媒体。由 于相沖突的特定的为桌面帮助提供聊天服务工具的关键要求,在支持 多媒体聊天中有技术困难。其中一个关键要求是工具需要给服务提供 商提供API以写入他们自己的面向用户的聊天应用程序。面向用户的
企业应用程序相结合。这种"定制,,的面向用户的聊天应用程序要求导 致面向用户的和面向代理的应用程序不能够相互直接对话。这两个部 分需要通过传送管道相互通信现有的聊天产品。因为没有标准的用来 传送聊天中的多媒体内容的方法,现有的产品不能支持用于桌面帮助 服务的多媒体聊天。
常规聊天系统不是自动地与权证(ticketing)系统结合。为每个 联系桌面帮助的聊天创建权证是一个重要的要求。通常,权证由执行
服务的代理人工创建。该代理将在会话之后在权证上填写对话的内容。 这是耗时地,并且对聊天代理的工作效率产生负面影响。
常规聊天系统不支持嵌入式命令。 一旦聊天会话建立,用户和代 理之间的通信仅包含聊天内容,不允许嵌入命令。
因此,本领域的技术人员试图改进聊天系统,克服上述的现有技 术的限制和缺陷。

发明内容
本发明的第一个实施例是一种系统,包括配置为控制对外部聊天 应用程序的访问的聊天应用程序代理服务器部件;和配置为管理聊天 应用程序代理服务器部件和外部聊天应用程序间通信的聊天应用程序 封装部件。
本发明的第二个实施例是一种计算机程序产品,包括实际包含计 算机程序的计算机可读存储介质,上述计算机程序当被数字处理设备 执行时被配置为建立聊天代理服务器部件以执行控制到外部聊天应用 程序的访问的操作,并建立聊天封装部件以执行管理聊天代理服务器 部件和外部聊天应用程序间通信的操作。
本发明的第三个实施例是一种方法,包括接收从用户发出的发 起聊天会话的请求;使用聊天代理服务器程序来控制对聊天资源的访 问;使用外部用户验证系统验证用户是否已授权使用聊天资源;发送 用户验证操作结果到聊天代理服务器程序;和仅当用户被验证为聊天 资源的有效用户时开始与聊天代理服务器程序的聊天会话。
总之,本发明的各种实施例的上述总结是典型的和非限定的。例 如,本领域的技术人员将得知, 一个实施例的一个或多个方面或步骤 能与另一个实施例的一个或多个方面或步骤结合以在本发明的范围内 创建一个新的实施例。


当参考附图时,这些指导的上述和其他方面在以下本发明的具体
实施方式中将变得更加明显,其中
图l是描述依照现有技术配置的聊天系统的方框图2是描述依照本发明配置的聊天系统的方框图3是描述依照本发明配置的聊天代理服务器系统的方框图4是描述依照本发明配置的聊天封装的方框图5是描述依照本发明运行的方法的流程图。
具体实施例方式
本发明的方法、设备和计算机程序产品实现了提供对聊天资源 (例如,桌面帮助)的安全和可升级的访问的聊天应用程序代理服务 器系统。依照本发明运行的系统通过基于会话管理聊天操作保护聊天 资源。这通过仅当会话请求证书被外部验证有效时允许完成对聊天资 源的访问。注意这种验证验证会话请求,但是不验证用户。用户验证 在会话创建之前发生。仅当用户被正确地验证,会话才将被创建。尽 管一旦会话被创建,操作(包括到聊天资源的访问和与聊天资源的交 互)被基于聊天会话进行管理。依照本发明配置的会话验证部件能够 与现有的LDAP系统结合与合作。因此现有4支术的LDAP在不同的用 户之间的同步问题被避免了 。本发明的实施例中的聊天流量在访问后 端聊天资源(基础结构和代理)之前遍历聊天代理服务器部件。而且, 依照本发明运行的聊天代理服务器部件提供给面向用户的聊天应用程 序的 一个扩展,使得面向用户的聊天应用程序能够在聊天代理服务器 部件中远程运行。这消除了 被用户访问的"本地"聊天应用程序在与聊
天应用程序相同的机器中执行的参与者具有危险的限制。
依照本发明运行的实施例还把"路由选择路径,,从"媒体路径,,中 分离出来以实现多语言和多媒体支持。本发明能够合并和重复使用聊 天应用程序产品的路由引擎使"路由选择路径"把聊天请求路由到代 理。媒体路径,当在本发明的实施例中执行时,由聊天代理服务器单 独管理以提供代理和用户间的直接媒体连接。媒体路径提供多语言和 多媒体支持,即使当原有的聊天应用程序既不提供多语言也不提供多 媒体支持。通过利用使用统一代码编码和传送技术的单语言(例如, 英语)"路由选择路径"和多语言媒体路径,多语言支持能以低成本实 现。在本发明的实施例中多语言支持变得可能了,因为面向用户的应 用程序/图形用户界面和面向代理的应用程序/图形用户界面属于相同 的所有者。多媒体对象在被聊天应用程序代理服务器部件执行的系统 内部被定义,并且被从终端到终端理解。
本发明的聊天代理服务器部件还被配置为识别、提取和执行由用 户和代理发布的嵌入式命令。嵌入式命令对提供改进的聊天服务非常 重要。嵌入式命令的提取者提取并且执行命令。例如,系统能够利用 此嵌入式命令来为代理接近地结合用户计算机的远程接收功能。
在继续对本发明进行深入描述前,提供现有技术的描述。图l描
述了依照现有技术运行的聊天系统。在图l描述的聊天系统100中, 面向用户的聊天应用程序120在与聊天队列和路由选择基础结构资源 130相同的机器中运行。在聊天会话被建立后,代理160验证110用 户。在同时执行基于聊天的和基于语音的帮助的系统100中,用户可 以被要求在呼叫能够到达代理之前键入密码。在一个典型的实施例中, 语音和密码被PBX 140处理,并且执行环外用户验证150。用于验证 语音呼叫的环外用户验证部件不能够容易地应用于聊天系统120, 130。使用URL访问聊天资源,绕开环外用户验证部件150,聊天资 源能够被直接访问。因此,聊天服务要求"环内"证书验证系统。由图 1描述的系统可以看到,用户直接访问执行面向用户的聊天应用程序 和聊天队列和路由选择基础结构资源的机器。例如,在用户和聊天应
用程序之间没有设置防火墙。
图2是描述依照本发明配置的聊天系统200的方框图。在本发明 的聊天系统200中,聊天应用程序代理服务器系统220允许聊天服务 的付费模式被提供聊天路由选择服务但是不提供支付聊天服务的系统 的现有第三方聊天应用程序250执行。环内用户验证子系统225与聊 天应用程序代理服务器系统220结合运行。环内用户验证子系统225 将对聊天应用程序250的访问限制在已被授权的用户。
本发明的系统200还通过聊天应用程序代理服务器系统220执行 分开的控制(路由选择)路径和媒体路径230。路由选择路径支持聊 天应用程序250的母语的聊天通信。本发明的聊天应用程序代理服务 器系统220执行媒体路径230以支持不被聊天应用程序250支持的语 言的多媒体和多语言聊天操作。
在依照本发明配置的一个实施例中,面向用户的聊天应用程序在 聊天应用程序代理服务器系统中被执行。这补救了传统聊天应用程序 系统在与运行聊天队列和路由选择操作相同的机器中执行面向用户的 聊天应用程序的局限。
一旦聊天会话被发起,聊天应用程序代理服务器系统220基于会 话管理聊天操作。在本发明这个方面的一个优点中,即使用户暂时从 互联网断开,会话能够重新建立。当重新建立暂时断开的会话时,与 同一代理的会话被重新建立。
在通过被依照本发明运行的聊天应用程序代理服务器230执行的 媒体路径230变得可能的系统的另 一个优点中,用户能够从聊天转换 到语音或从语音转换到聊天,依用户喜好而定。在图2中描述的聊天 系统200的另一个优点中,聊天应用程序代理服务器被配置为接收和 执行由代理和用户发布的嵌入式命令。嵌入式命令允许代理例如在聊 天会话期间恢复用户计算机的控制。
图2中描述的本发明的聊天系统200包括至少两个部件(a) 聊天应用程序代理J!良务器220 (图3中详细描述),它提供面向用户 的应用程序(至少包括图形用户界面)和内部聊天资源的环内保护和
(b)聊天应用程序封装系统240 (图4中详细示出),它提供对现 有聊天产品的扩展,使得聊天应用程序能够在分开的机器和网络中远 程运行。本发明的实施例中,外部用户能够访问内部聊天资源,即使 聊天资源位于必要的防火墙215之内。这种体系结构使企业能够基于 付费模式提供聊天服务给外部用户。
如图3所描述的聊天应用程序代理服务器系统220被配置为执行 特定的操作并且还包括执行进一步操作的子单元。用户210通过用户 会话处理器310请求聊天会话。在一个可能的实施例中,用户登入一 个单独的入口来创建权证。入口可以是共同入口或服务提供商入口。 用户与系统合作来执行用户验证。在入口中有"聊天按钮或链接",用 户点击来重新发送聊天请求到聊天应用程序代理服务器系统220的用 户会话处理块310。在发送到聊天应用程序代理服务器系统220的用 户会话处理块310的请求中,包括如用户聊天会话请求的权证标识符
("权证ID,,)和需要验证权证ID的URL等的参数。用户会话处理器 块310发送权证ID和URL到权证验证块312。权证验证块312选择 请求协议和ID和URL要求的密码并且发送权证ID到这个URL进行 验证。 一旦权证ID被验证,内部的标志将被添加到记录,表明权证 ID已被验证有效。因此,接下来直到聊天会话的结束都不需要外部验 证权证ID,
在权证ID被验证完后,用户会话处理器块310将询问重新连接 会话检测块360来检测权证ID是否已存在于系统中。如果权证ID已 经存在,那么会话响应暂时断开的正试图重新连接的会话。这种断开 可能当会话先前被故意断开(例如,代理让用户重新启动计算机)或 意外断开(例如用户意外关闭聊天窗口 )时发生。如果权证ID已经 存在,那么重新连接会话检测块360将检索先前为聊天应用程序250 使用所创建的HTTP会话cookie并且把这个会话cookie返回到用户 会话处理器块310。如果用户会话处理器310发现聊天应用程序的现 有cookie,它将使用那个cookie来与聊天应用程序(通过聊天应用程 序封装部件240)通信。如前所述,聊天应用程序代理服务器220基
于会话管理聊天活动,因此现有会话被聊天应用程序重新使用。在重 新创建的会话中,用户将与在之前被打断的会话中的代理聊天。如果
重新连接会话检测块360没有发现先前存在的权证ID,那么用户会话 处理器310将与聊天应用程序(通过聊天应用程序封装部件240)通 信来创建新的聊天会话,并且聊天应用程序将把聊天请求路由到所选 的代理。
图3中的控制和媒体路径管理块350维持和管理路由选择路径和 媒体路径的分离。它将从聊天应用程序检测控制路径信号(例如,代 理加入、代理离开、代理姓名、会话连接和会话结束,等等)。这个 单元将利用这些信号来为整个聊天系统状态建立内部数据库,例如, 系统中有多少聊天会话、代理姓名、用户姓名、聊天持续时间、聊天 开始时间等等。输入侧的这个单元对从用户发送到控制和媒体部分的 数据进行多路复用,并且在输出侧把控制和媒体信号解复用为单个信 号,以传输回用户。这个单元还在聊天会话中多参与者的情况下提供 聊天服务器功能,以分配所有的媒体信号到会议中所有参与者。
嵌入式命令提取和执行块340从遍历媒体路径230的媒体提取嵌 入式命令。用户和代理都能够发布嵌入式命令。嵌入式命令串不仅从 媒体流中可容易地识别,它还需要在标准数据流中不易显现。优选地, 长数据流如"~这是命令流~ ,,被用作系统嵌入式命令流。 一旦嵌入式 命令流被检测到,单元340将相应地执行命令流并且访问后端企业信 息基础结构。
在聊天会话的结尾,整个聊天记录将通过图3的"权证系统接口" 单元自动存储在权证系统中相应的权证中。
聊天应用程序封装部件240(图2中示出的和图4中详细示出的) 提供对现有聊天产品的扩展,使得聊天应用程序能够在独立的机器和 网络中远程地运行。图4中的聊天会话处理器部件410—方面与聊天 应用程序代理服务器部件220通信,还与"聊天产品API"单元420(图 4中)通信。聊天会话处理器块410利用聊天产品会话cookie来断定 输入的请求是用于现有聊天会话的还是新聊天会话的。如果聊天产品
会话cookie已经存在,那么它是正在进行的聊天会话。如果不存在, 它是新的会话请求,聊天会话处理器将发送相应的API命令到聊天产 品API单元来与聊天产品通信。
聊天产品有需要维持的内部会话参数来与聊天产品通信。聊天会 话处理器单元将维持聊天代理服务器程序会话ID和内部聊天产品参 数的映射。这个单元将使用聊天代理服务器程序会话ID来与另一端 的聊天产品通信。这个单元还将发送路由选择参数(从聊天应用程序 代理服务器发送到这个单元)到聊天产品用于路由选择。
图5是描述依照本发明运行的方法的流程图。该方法在510开始。 然后,在520,聊天应用程序代理服务器部件像图5中描述的那样接 收从用户发出的请求以发起聊天会话。如本发明的实施例的上述描述 所表明的,用户到聊天应用程序的访问被聊天应用程序代理服务器部 件控制。因此,在530,聊天应用程序代理服务器部件被用于控制用 户对聊天资源的访问。然后,在发起会话之前,如图3中描述的聊天 会话处理器与如图2中描述的用户验证系统进行交互以验证用户是实 际的有效用户。如果用户在判断菱形550被验证为有效的用户,那么 新聊天会话在560被发起。如果用户在判断菱形550没有被验证为有 效的用户,那么该方法继续到570并停止。
所以可以看出上述的描述通过典型的和非限定的例子已经提供 了全面和信息性的当前被发明者考虑用于实现包括聊天代理服务器部 件和聊天封装部件的聊天系统的最佳设备和方法的描述。本领域的技 术人员将得知这里描述的各种实施例能够被单独地实施;与其他一个 或多个这里描述的实施例结合;或者和与这里描述的方法和设备不同 的方法和设备结合。本领域的技术人员还将得知本发明能够通过上述 的实施例以外的实施例实施;这些上述的实施例是为说明的目的而非 限制目的而被提出;因此本发明仅被以下权利要求限制。
权利要求
1. 一种系统,包括配置为控制对外部聊天应用程序的访问的聊天应用程序代理服务器部件;和配置为管理所述聊天应用程序代理服务器部件和所述外部聊天应用程序间通信的聊天应用程序封装部件。
2. 如权利要求l所述的系统,其中所述聊天应用程序代理服务 器部件还被配置为基于特定会话控制对聊天应用程序的访问。
3. 如权利要求l所述的系统,其中所述聊天应用程序代理服务 器部件还包括配置为从用户接收聊天会话请求的聊天会话处理器;响 应所述请求发起聊天会话;和发送在聊天会话期间发生的聊天通信。
4. 如权利要求3所述的系统,还包括用于验证请求聊天会话的 用户是否是允许使用所述聊天应用程序加入聊天会话的有效用户的用 户验证部件。
5. 如权利要求4所述的系统,其中所述聊天会话处理器还被配天会话的请求发起聊天会话。
6. 如权利要求4所述的系统,其中所述用户验证部件还包括用 户支付部件,配置为接收由用户所请求的聊天会话的支付;并仅当有 效支付被接收时才验证用户为有效用户。
7. 如权利要求1所述的系统,其中所述聊天应用程序代理服务 器部件还被配置为重复使用被外部聊天应用程序实现的路由选择路 径,以执行聊天会话控制操作,
8. 如权利要求l所述的系统,其中所述聊天应用程序代理服务 器部件还被配置为实现聊天用户和聊天代理间的媒体路径。
9. 如权利要求8所述的系统,其中所述媒体路径支持多媒体。
10. 如权利要求8所迷的系统,其中所述媒体路径支持除了由外 部聊天应用程序的母语所支持的语言之外的至少一种另外的语言。
11. 如权利要求10所述的系统,其中所述至少一种另外的语言使用统一代码被编码。
12. 如权利要求l所述的系统,其中所述聊天应用程序代理服务 器部件还被配置为从所述媒体路径提取嵌入式命令并且执行该嵌入式 命令。
13. 如权利要求8所述的系统,其中所述系统还包括配置为在用 户的机器上远程执行的面向用户的聊天应用程序。
14. 如权利要求13所述的系统,其中所述面向用户的聊天应用 程序还被配置为在所述媒体路径上发送和接收命令。
15. 如权利要求13所述的系统,其中所述面向用户的聊天应用 程序还被配置为把输入语言转换为统 一代码。
16. 如权利要求8所述的系统,其中所述系统还包括配置为在代 理的机器上执行的面向代理的聊天应用程序。
17. 如权利要求16所述的系统,其中面向代理的聊天应用程序 还被配置为在所述媒体路径上发送和接收命令。
18. 如权利要求16所述的系统,其中所述面向代理的聊天应用 程序还被配置为把输入语言转换为统 一代码。
19. 如权利要求2所述的系统,其中所述聊天应用程序代理服务 器部件还被配置为利用分配给会话的会话标识符重新建立被打断的会 话。
20. 如权利要求l所述的系统,其中所述系统还被配置为为每个 聊天会话产生权证并且为每个聊天会话保存聊天记录。
21. —种方法,包括从用户接收发起聊天会话的请求; 使用聊天代理服务器程序以控制对聊天资源的访问; 使用外部用户验证系统验证用户被授权使用所述聊天资源; 发送所述用户验证操作的结果到所述聊天代理服务器程序; 仅当用户被验证为所述聊天资源的有效用户时才用所述聊天代 理服务器程序发起聊天会话。
全文摘要
方法、设备和计算机程序产品执行聊天代理服务器部件和聊天封装部件。所述聊天代理服务器部件控制外部用户与聊天应用程序间的交互。所述聊天代理服务器部件从外部用户接收请求并且仅当用户被验证为有效用户时发起聊天会话。用户验证可被仅当聊天服务的支付收到时验证用户的聊天支付程序,或验证用户、例如雇员授权使用聊天应用程序的外部用户验证系统执行。一旦聊天会话被建立,聊天操作被基于特定会话管理。所述聊天代理服务器部件还被配置为当会话被打断时执行会话重新连接检测;建立独立于聊天应用程序的多媒体路径;和提取并执行嵌入式命令。所述聊天封装部件管理所述聊天代理服务器部件和所述聊天应用程序间的通信。所述聊天封装部件还允许面向用户的聊天应用程序置于远程计算机上。
文档编号H04L29/08GK101394371SQ20081014923
公开日2009年3月25日 申请日期2008年9月17日 优先权日2007年9月18日
发明者D·D·威克, G·S·宾加里, 薛荣银 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1