首页> 中国专利> 提供增强型客户机-服务器通信的通信系统和相关方法

提供增强型客户机-服务器通信的通信系统和相关方法

摘要

一种通信系统可以包括应用服务器和至少一个通信设备,该应用服务器和通信设备用于处理来自相互间的请求。通信设备可以使用例如HTTP客户应用程序来处理请求。此外,该系统还可以包括HTTP服务器,HTTP服务器用于将HTTP客户应用程序与应用服务器相接。HTTP服务器和HTTP客户应用程序可以格式化请求,以便该请求以HTTP的格式经由因特网在它们之间进行传送,每个HTTP服务器和HTTP客户应用程序可以提供具有由对方可识别的HTTP格式请求的附加状态信息,用于应用服务器和HTTP客户应用程序的相互认证。此外,HTTP客户应用程序可以向HTTP服务器请求第一统一资源定位器(URL),用于接受来自应用服务器的工作请求,并且可以向HTTP服务器请求不同于第一URL的第二URL,用于响应来自应用服务器的工作请求。

著录项

  • 公开/公告号CN1864147A

    专利类型发明专利

  • 公开/公告日2006-11-15

    原文格式PDF

  • 申请/专利权人 蒂蒙系统公司;

    申请/专利号CN200480028970.7

  • 发明设计人 斯蒂文·J·麦卡锡;

    申请日2004-02-25

  • 分类号G06F15/16(20060101);G06F15/173(20060101);H04Q7/20(20060101);

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人王玮

  • 地址 美国华盛顿

  • 入库时间 2023-12-17 17:55:29

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2008-11-19

    授权

    授权

  • 2007-01-10

    实质审查的生效

    实质审查的生效

  • 2006-11-15

    公开

    公开

说明书

技术领域

本发明涉及通信系统领域,更具体而言,涉及客户机—服务器通信的通信系统和相关方法。

背景技术

一种相互传送应用程序的方法是使用客户机—服务器关系。在这种关系中,一种应用程序起客户机的作用并提供对用户的接口。另一种应用程序是服务器应用程序,该服务器应用程序驻留在应用程序服务器上,并负责大多数的计算和/或数据处理。

这种客户机—服务器关系可以被扩展到World Wide Web(万维网)应用程序,其中客户应用程序(典型是Web浏览器)和服务器组件(因特网上的Web或应用服务器)进行交互。一种基于Web的客户机—服务器应用程序进行相互通信的方法是使用超文本传输协议(HTTP)作为请求—响应协议。传统上,浏览器客户机在World Wide Web上使用HTTP,从因特网Web站点向用户的计算环境(例如家庭、企业通信网等)访问和下载内容。

当用户在他的受保护计算环境范围内动作时,许多计算环境对它们的用户提供了丰富或复杂的功能。例如,当公司用户在他办公室内使用他的桌面电脑时,他可以访问专有的公司数据库。然而,当用户处于这个环境的外部时(例如,用户在路上),他可能仍然需要访问这种功能。

大多数计算环境允许在环境范围内始发的连接到达外部位置,但是限制从外部环境始发的连接来访问该环境。典型地,这通过使用例如防火墙能够得到实施。此外,一些计算环境还限制出口网络连接,以便仅仅访问HTTP业务。如果可能,这使得对于漫游用户来说难以从他的受保护计算环境中访问重要的功能或业务。

这个问题可能是基于内部(home)用户的最普遍问题。例如,用户很难从他们家中的个人计算机连接到他们工作位置的公司服务器。拨号或基于Web的高速连接通常需要家用机器上的客户机软件和/或用于认证的安全令牌。此外,大多数公司可能不支持使用个人计算机的公司访问。

为了使用户从受保护的计算环境的外部访问信息,已经开发了各种现有技术方法。作为示例,来自Infowave Software,Inc.的SymmetryPro是一种软件业务,通过使用无线手持装置,向公司用户提供无线访问他们公司的电子邮件。具体地,对到达用户公司收件箱中的电子邮件信息进行加密,然后经由Symmetry Pro软件业务将该电子邮件信息传递给用户的无线手持装置。

两种其它的现有技术方法包括Fire Extinguisher和GnuHTTPTunnel。这些产品尝试在HTTP连接上封装TCP业务,HTTP连接担当普通的双向代理。然而,这种方法的一个显著缺陷是它们不可能提供期望的认证级别来保障在某些应用中的安全通信。

发明内容

鉴于前述的背景,因此本发明的目的是提供一种通信系统和相关方法,该通信系统提供增强型客户机—服务器的通信特征。

通过通信系统提供了根据本发明的这个目的和其它目的、特征和优点,该通信系统可以包括应用服务器和至少一个通信设备,该应用服务器和通信设备用于处理来自相互间的请求。至少一个通信设备可以使用例如超文本传输协议(HTTP)客户应用程序来处理请求。此外,该系统还可以包括HTTP服务器,它用于将HTTP客户应用程序与应用服务器相连接。HTTP服务器和HTTP客户应用程序可以格式化请求,以便该请求以HTTP的格式经由因特网在它们之间进行传送,每个HTTP服务器和HTTP客户应用程序可以提供具有由对方识别的HTTP格式请求的附加状态信息,用于应用服务器和HTTP客户应用程序的相互认证。此外,HTTP客户应用程序可以向HTTP服务器请求第一统一资源定位器(URL),用于接受来自应用服务器的工作请求,并且可以向HTTP服务器请求不同于第一URL的第二URL,用于响应来自应用服务器的工作请求。

因此,该通信系统有利地允许在受保护计算环境(例如,企业通信网)中的数据或应用程序能够由处于环境之外的用户进行安全地访问。也就是说,至少一个通信装置可以被设置在受保护的环境中(例如,用户的桌面电脑)。由于HTTP客户应用程序和HTTP服务器使用HTTP请求进行通信,有利地,HTTP客户应用程序和HTTP服务器可以通过为因特网业务预备的网络端口进行通信(即,HTTP格式的请求和响应)。这样,用户可以访问在其它情况下可能被网络防火墙阻挡的通信装置和各种应用程序或信息(例如电子邮件,日历,联系人等)。此外,第一和第二URL的使用允许HTTP服务器能够更容易地区别和管理来自或去往HTTP客户应用程序的请求。

更具体地,所述附加状态信息可以是与HTTP客户应用程序相关联的全球唯一标识符(GUID)。此外,HTTP客户应用程序和HTTP服务器还提供具有HTTP格式请求的排序(sequencing)信息。有利地,该排序信息允许指定响应与相应的请求相匹配。此外,HTTP客户应用程序和HTTP服务器可以将附加状态信息格式化为针对相应的HTTP格式请求的HTTP报头(header)。

本发明的方法方面是使用超文本传输协议(HTTP)服务器将应用服务器和至少一个通信装置相接(interfacing)。该应用服务器和至少一个客户机通信装置可以用于处理来自相互间的请求,该至少一个通信装置可以使用HTTP客户应用程序来处理请求。该方法可以包括格式化请求,以便该请求以HTTP格式经由因特网在HTTP服务器和HTTP客户应用程序之间进行传送,并且提供在HTTP服务器和HTTP客户应用程序之间传送的具有HTTP格式请求的附加状态信息,用于应用服务器和HTTP客户应用程序的相互认证。HTTP服务器和HTTP客户应用程序的相应的附加状态信息可以由对方识别。此外,在HTTP客户应用程序中,可以向HTTP服务器请求第一统一资源定位器(URL),用于接受来自应用服务器的工作请求,并且可以向HTTP服务器请求不同于第一URL的第二URL,用于响应来自应用服务器的工作请求。

附图说明

图1是根据本发明的通信系统的示意性框图。图2是说明根据本发明的客户机—服务器通信方法的流程图。

具体实施方式

现在将参照附图在下文对本发明进行更加全面的叙述,附图中显示了本发明的优选实施例。然而,本发明可以以许多不同的形式来体现,不应当将本发明理解成局限于本文中所陈述的实施例。更确切地说,所提供的这些实施例是为了使本文公开的内容全面和完整,以使本领域的普通技术人员清楚本文公开的内容将充分地表达本发明的范围。在全文中相似的数字表示相似的元件。

通常来说,本发明允许HTTP客户机在服务器性能方面进行作用,同时仍然遵循接受的HTTP客户机行为。因此,本发明有利地允许在用户的受保护计算环境(例如企业通信网)中的客户应用程序来建立与因特网业务的安全连接,然后响应来自认证用户(例如,用户的家用计算机或无线通信装置)的请求。

首先参照图1,首先描述一种基于Web的客户机—服务器通信系统100。系统100说明性地包括位于受保护的计算环境106中的HTTP客户机或客户应用程序104。作为示例,受保护的计算环境可以是企业通信网107,该企业通信网具有连接到它的多个通信装置108a-108n(例如个人计算机(PC)),受保护的计算环境也可以是防火墙72,该防火墙用于限制外部到网络的访问,如本领域的普通技术人员所理解的。应当注意的是,尽管出于演示清楚的目的将防火墙72和网络107显示为分离的元件,但是由此执行的各种防火墙和网络路由功能可以被实现在一个或多个网络服务器或其它的装置中,如本领域的普通技术人员所理解的。

例如,HTTP客户应用程序104经由因特网109与HTTP服务器102进行双向通信,在本示例中,HTTP服务器102位于受保护的计算环境106的外部。HTTP服务器102演示性地与应用服务器101进行通信,以便检索或处理任何应用相关的数据。在一个示例性的实施例中,HTTP服务器102可以属于服务提供商,该服务提供商将用户与在受保护计算环境106中用户相应的通信装置108a-108n相接。因此,应用服务器101可以通过使用HTTP服务器102来执行电子邮件的分发或聚合服务,以便对在受保护计算环境106中的用户通信装置108提供接口,这将在下文进行更多的叙述。当然,如本领域的普通技术人员所理解的,还可以访问其它类型的数据。然后,如本领域的普通技术人员所理解的,用户可以经由家用计算机、无线通信装置(例如个人数据助理(PDA))等设备来访问由应用服务器101收集的电子邮件(或其它)数据。

根据本发明,优选地,HTTP服务器102和HTTP客户应用程序104遵循接受的HTTP服务器—客户机行为和/或关系。这允许使用为因特网(即HTTP)业务所保留的专用网络端口(典型是端口80)的两种通信,而不会受到防火墙72的阻挡。然而,HTTP服务102和HTTP客户应用程序104还能够将附加的状态信息写入到请求和响应中,并识别由对方写入的状态信息。

在演示的实施例中,客户应用程序104是一种“智能”应用程序,它运行在用户的受保护计算环境106中的计算机上。HTTP客户应用程序104建立与指定HTTP服务器102的出口网络连接,并向该服务器请求特有的统一资源定位器(URL)。另外,HTTP客户应用程序104将附加的HTTP报头提供给例如HTTP服务器102,附加的HTTP报头是诸如表示全球唯一标识符(GUID)的数据。这建立了一种半永久的连接,该连接可以供HTTP服务器102使用来访问HTTP客户应用程序104,而不会受到防火墙72的阻挡。

更具体来说,通过请求HTTP服务器102,在应用服务器101上运行的应用程序现在能够从受保护计算环境106的外部访问HTTP客户机104。当应用服务器100经由HTTP服务器102间接的请求HTTP客户应用程序104时,HTTP服务器102依次将该请求格式化为有效的HTTP请求。然后将该请求封装到对于HTTP客户应用程序104的HTTP响应中。该响应包括报头部分和主体部分,报头部分包括HTTP规范所要求的数据以及由HTTP服务器102插入的附加状态和排序信息,主体部分包括完整的HTTP请求。

当HTTP客户应用程序104接收到该响应时,它接着能够访问响应主体,该响应主体包括HTTP请求,HTTP请求进一步包括报头和主体部分。然后,HTTP客户应用程序104能够作用于该请求,并基于该请求收集合适的结果。然后,通过联系HTTP服务器,并请求不同于上述第一URL的另一个URL,将请求结果通过HTTP服务器102传送回应用服务器101。该HTTP请求封装了HTTP响应,其中请求报头包括需要的数据和足够的状态信息,以便允许HTTP服务器102将封装的响应与先前的请求相关联。请求主体包括完整的HTTP请求。

根据本发明一个尤其有利的方面,通信装置108a可以充当共享接口,它允许应用服务器101访问与通信装置108b-108n相关联的用户账户。即,如本领域的普通技术人员所理解的,由于在网络配置中(例如是诸如局域网(LAN)或广域网(WAN))连接通信装置108a-108n,这些装置可以潜在地访问存储在网络107上(例如在网络服务器上)和/或对方网络上的用户账户信息、和/或彼此的用户账户信息、以及其它网络数据。作为示例,用户账户可以是电子邮件账户,也可以是以这种方式访问的许多其它类型的信息,诸如地址/联系人数据,日历数据等。因此,如本领域的普通技术人员所理解的,即使HTTP客户应用程序104仅仅被安装在通信装置108a上,仍可以有利地为应用服务器101提供“网关”,以便访问与其它通信装置108b-108n相关联的用户账户。当然,还将认识到,如果需要,可以将分离的HTTP客户应用程序104安装在一个或多个其它通信装置108b-108n上。

此外,返回到图2,现在叙述示例说明判断路径的流程图,该判断路径将HTTP客户应用程序104与HTTP服务器102相连。在开始叙述处理流程(框200)之前,HTTP客户应用程序104被安装在受保护计算环境106中的通信装置108a上。应当注意的是,在一些实施例中,HTTP客户应用程序104还可以改为被安装在例如网络服务器上,并且可以提供对如上所述多个通信装置的共享或公共访问功能。有利地,例如可以从主持HTTP服务器102和应用服务器101的服务提供商处下载软件。对于本实例,假定HTTP客户应用程序104被安装在受保护计算环境106中的用户桌面PC上(即在他工作的桌面PC上)。

在安装时,HTTP客户应用程序104被分配一个GUID,将所述GUID保存在可由HTTP服务器102和/或应用服务器101访问的知识库(未显示)中。在与HTTP服务器102的全部通信中,HTTP客户应用程序104提供该GUID。在框201,判断流程是从用户运行在受保护计算环境106中计算装置108a上的HTTP客户应用程序104的会话开始。例如,当用户离开办公室去参加晚会或者离开办公室一段持续的时间,用户可以运行HTTP客户应用程序104。在框202,HTTP客户应用程序104打开与HTTP服务器102的连接,在框206,通过提供GUID来唯一地识别它自身。然后,HTTP客户应用程序104请求第一专用的URL,以便指示它准备接受来自HTTP服务器102的工作请求。

然后,在框208,HTTP服务器102执行认证,以确保成功的连接。然后在框212,如果认证成功,HTTP服务器102等待响应。如果认证失败,就提供一个失败消息(框210),HTTP服务器102返回到初始起始点(框200)。HTTP服务器102不再继续,直到注册一个成功的认证。

如上所述,在框212,一旦接受到一个成功的认证,HTTP服务器102等待响应,并且然后在框214确定是否存在超时。在框218,如果存在超时,HTTP服务器102接着确定是否接收到HTTP回复。如果没有超时,就关闭该连接(框216),系统返回到在框202所叙述的步骤。

如果没有接收到HTTP回复,处理也返回到在框202所叙述的步骤。在框220,如果接收到回复,HTTP服务器102拆开(unpack)嵌入的HTTP请求,并且在框222处理该请求。通过从知识库中检索合适的GUID,应用服务器100确保该请求是来自于有效的客户应用程序。然后,应用服务器101请求HTTP服务器102,这包括GUID。HTTP服务器102将应用请求转变为有效的HTTP请求,并将该请求转发给具有相同GUID的HTTP客户应用程序。

然后,在框224,HTTP客户应用程序104执行被请求的工作,收集结果,并建立HTTP响应。HTTP客户应用程序104联系HTTP服务器102,请求与第一URL不同的第二URL,以指示它希望发送回结果而不是查找工作,并将结果作为有效的HTTP响应封装在HTTP请求的主体中。

然后,在框226,HTTP客户应用程序104确定HTTP连接是否打开。在框232,如果该连接是打开的,HTTP客户应用程序104发送对第二URL的请求。但是,如果HTTP连接没有被打开,HTTP客户应用程序104就打开另一个HTTP连接(框228),认证信息(框230),接着请求修正的URL(框232)。

在框234,在HTTP客户应用程序104请求修正的URL之后,HTTP客户应用程序发送作为HTTP请求主体的一部分的HTTP响应。然后在框236,HTTP客户应用程序104确定HTTP连接是否仍然打开。如果该HTTP连接被打开,HTTP客户应用程序104返回到在框204叙述的步骤来请求URL。如果该连接没有打开,HTTP客户应用程序104返回到在框202所叙述的步骤,以便打开HTTP连接,重复处理本身。

在得益于前面的叙述和相关附图中给出的教导的情况下,本领域的普通技术人员将会意识到本发明的许多修改和其它实施例。因此,应当认识到本发明并不局限于公开的特定实施例,这些修改和实施例意味着是包含在后附的权利要求的范围内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号