CN106233702A - 基于客户端的web服务的增强的可靠性 - Google Patents

基于客户端的web服务的增强的可靠性 Download PDF

Info

Publication number
CN106233702A
CN106233702A CN201580022016.5A CN201580022016A CN106233702A CN 106233702 A CN106233702 A CN 106233702A CN 201580022016 A CN201580022016 A CN 201580022016A CN 106233702 A CN106233702 A CN 106233702A
Authority
CN
China
Prior art keywords
web services
service
client application
assembly
services
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
CN201580022016.5A
Other languages
English (en)
Other versions
CN106233702B (zh
Inventor
B·B·罗维坎普
M·T·考弗曼
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Priority to CN201910468274.6A priority Critical patent/CN110113437B/zh
Publication of CN106233702A publication Critical patent/CN106233702A/zh
Application granted granted Critical
Publication of CN106233702B publication Critical patent/CN106233702B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/59Providing operational support to end devices by off-loading in the network or by emulation, e.g. when they are unavailable
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • 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/10Protocols in which an application is distributed across nodes in the network
    • 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
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Abstract

本文公开了用于提供web服务的增强的可靠性的系统、方法和软件。在一种实现中,代理服务支持客户端应用向至少在线服务提供的web服务。当该客户端应用与代理服务临时地断开时,代理服务对与由该客户端应用向至少在线服务提供的web服务相关联的发生的web服务活动进行监测。响应于在临时地与代理服务断开之后,该客户端应用重新连接到该代理服务,代理服务向该客户端应用传输用于指示至少以下内容的活动信息:是否关于web服务活动,向在线服务进行查询。

Description

基于客户端的web服务的增强的可靠性
技术领域
概括地说,本公开内容的方面涉及计算硬件和软件技术,并且具体地说,本公开内容的方面涉及基于客户端的web服务的增强的可靠性。
背景技术
可以将web服务理解成允许独立于平台和语言的客户端-服务器应用的创建的分布式计算技术。web服务通常用于分发由其它软件和设备,而不是人来消费的信息,但该信息最终以人类可消费的形式(例如,网站或者其它这种格式)来发布。
在web服务的简短例子中,客户端通过发送用于寻求信息的服务请求,来联系服务器中的web服务。服务器通过服务响应来返回该信息。例如,该服务请求可以是HTTP(超文本传输协议)请求,而该服务响应也可以是HTTP消息,但也可以使用其它协议。Web服务在实现互联网规模的应用时非常流行,并且在一些情况下,除了HTTP之外,其还可以涉及诸如用于描述web服务的WSDL(web服务描述语言)和用于对web服务消息格式化的SOAP(简单对象访问协议)等的其他协议。
服务器通常使用web服务来彼此之间交换信息和进行交易,其中一个服务器充当为交换的服务器侧,而另一个服务器充当为交换的客户端侧。诸如web浏览器之类的客户端应用,也可以经由web服务来与服务器进行交互。客户端可以用作web服务交换的服务器侧,但由于与联系防火墙之后的客户端应用或者其它机制相关联的困难,因此其通常充当为客户端侧。
可以使用代理服务或者某种其它中间功能,在客户端应用中实现web服务交换的服务器侧,以促进web服务通信在客户端应用和服务器之间的交换。在这些场景下,代理服务可以向外部世界呈现运行在客户端应用之中的web服务,使得其它单元可以通过该web服务到达该客户端应用。举例而言,语音呼叫应用可以包括web服务。代理服务可以充当为中介,通过该代理服务,呼叫服务可以到达web服务,以向语音呼叫应用通知进入的呼叫和其它活动。
发明内容
本文提供了用于实现基于客户端的web服务的增强的可靠性的系统、方法和软件。在至少一种实现中,代理服务支持客户端应用向至少在线服务提供的web服务。当该客户端应用临时地不可用于代理服务时,代理服务对与由该客户端应用向至少在线服务提供的web服务相关联的发生的web服务活动进行监测。响应于在该客户端应用临时地不可用于代理服务之后,该客户端应用返回到该代理服务,代理服务向该客户端应用传输用于指示至少以下内容的活动信息:是否关于web服务活动,向在线服务进行查询。根据该活动信息,客户端信息可以对在线服务进行查询,或者禁止这样做。
提供本发明内容以便用简化的形式介绍将在以下的具体实施方式中进一步描述的概念选择。应当理解的是,本发明内容并不是旨在标识所要求保护的主题的关键特征或本质特征,也不是用于限制所要求保护的主题的保护范围。
附图说明
参照下面的附图,将能更好地理解本公开内容的很多方面。虽然结合这些附图来描述一些实现,但本公开内容并不限于本文所公开的实现。相反,其意图在于覆盖所有的替代、修改和等同物。
图1示出了一种实现中的服务架构。
图2示出了在一种实现中,由代理服务来执行的过程。
图3示出了在一种实现中,由客户端应用来使用的过程。
图4示出了一种实现中的操作顺序。
图5示出了一种实现中的另一种服务架构。
图6示出了在一种实现中,由代理来执行的过程。
图7示出了一种实现中的操作顺序。
图8示出了一种实现中的操作顺序。
图9示出了一种实现中的计算环境。
图10A-图10B示出了各种实现中的用例。
具体实施方式
本文公开的实现使得基于客户端的web服务的可靠性进行增强,使得它们更适合于迄今为止还没有利用自身的素质优势的各种类型的服务。
可以经由web服务将客户端应用的各个方面公开给在线服务,其中web服务的可靠性通过用于帮助将该客户端应用连接到在线服务的代理服务来增强。最佳的是,客户端应用维持其对于代理服务的可用性,使得代理服务所接收的进入的web服务活动可以传输给客户端应用。
但是,网络业务约束或者其它事件可能引起客户端应用变得与在线服务(以及与代理服务)临时地断开,或者变得不可用。例如,客户端应用可能丢失TCP(传输控制协议)连接。在另一个例子中,可以维持连接,但客户端应用可能在设备上转换成休眠或者后台状态,使得其不可用于在线服务。
在从不可用状态返回之后,客户端应用通常不知道在其不可用时,是否发生任何web服务活动,故提示客户端应用对在线服务进行轮询以便进行更新,而不管是否实际发生了该活动。但是,这种轮询占用客户端应用和设备的资源、网络资源和在线服务的资源。
在至少一种实现中,代理服务通过以下方式来增强web服务的可靠性:当客户端应用临时地不可用时,对发生的web服务活动进行监测。在发生临时地不可用之后,当客户端应用返回到代理服务时,代理服务向客户端应用传输用于指示以下内容的活动信息:是否关于丢失的任何web服务活动,向在线服务进行查询。
该活动信息可以以各种方式,向客户端应用指示是否向在线服务进行查询。例如,该活动信息可以简单地指示是否发生web服务活动,在该情况下,客户端应用可以应用其自己的逻辑来判断是否向在线服务进行查询。在另一个例子中,该活动信息可以包括用于专门地指示客户端应用向在线服务进行查询的标志或者某个其它指令。其它机制、变型或者组合也是可以的,并被认为落在本公开内容的保护范围之内。
在发生web服务活动的时间段期间发生临时地断开之后,或者在发生web服务活动时处于后台模式时,所述活动信息可以向客户端应用指示向在线服务进行查询。但是,在没有发生web服务活动的另一个时间段期间发生临时地不可用之后,该活动信息可以替代地向客户端应用指示禁止向在线服务进行查询。因此,客户端应用可以获取丢失的消息,或者在临时不可用的该时间段的期间,在线服务尝试经由web服务功能来传送的其它信息。如果没有发生web服务活动,则客户端应用可以禁止向在线服务进行轮询,从而节省资源,并可以提高其性能的其它方面。
在一些实现中,代理服务对于客户端应用何时从临时地与代理服务断开,转换成完全地与代理服务断开进行监测。在这些场景中,在客户端应用完全地断开之后重新连接到该代理服务时,该活动信息可以向客户端应用指示关于web服务活动,向在线服务进行查询,而不管在客户端应用临时地断开时,是否发生过任何web服务活动。在更一般的意义上说,代理服务还可以对客户端应用何时从临时地不可用转换成完全地不可用进行监测,监测该不可用性是由于客户端应用断开、处于后台模式、还是由于某种其它原因。
在一些实现中,在线服务可以包括多个子服务。客户端应用可以包括与这些子服务相对应的各种组件。此外,客户端应用还可以包括如下的web服务,其用于通过web服务向这些子服务公开这些组件中的每一个组件的功能。子服务的例子包括,但不限于:语音呼叫服务和即时传送消息服务。组件的例子包括,但不限于:语音呼叫客户端、即时传送消息客户端和语音邮箱客户端。
在各种场景中,所述活动信息可以包括与这些服务中的一个相关联的请求路径。随后,这些组件中的一个可以使用该请求路径,关于web服务活动,向在线服务进行查询。在客户端应用临时地断开或者不可用时接收到多个请求的事件中,则可以在活动信息中包括多个请求路径。在其它场景中,该活动信息可以包括:被设置为指示是否关于web服务活动,向在线服务进行查询的标志。
现参见附图,图1示出了一种服务架构,其中在该服务架构中,代理服务和web服务提供web服务的增强的可靠性。图2示出了一种由代理服务使用的过程,而图3示出了由对web服务进行托管的客户端应用所使用的过程,图4示出了一种操作顺序,其用于进一步说明web服务的增强的可靠性。图5示出了另一种服务架构,而图6-图8示出了该服务架构的各种操作。图9示出了一种计算环境,其中在该计算环境中,可以实现关于图1-图8所讨论的各种服务架构、处理、以及操作场景和顺序。图10A和图10B示出了用于图1-图9中所公开的原理的各种用例。
现转到图1,服务架构100包括服务平台101、应用平台111和代理平台121。在线服务103实现在服务平台101上,而客户端应用113和代理服务123分别实现在应用平台111和代理平台121上。客户端应用113包括web服务115和组件117。
在操作时,客户端应用113通过web服务115和代理服务123,与在线服务103进行通信。web服务115允许在线服务103将客户端应用113的各个方面作为web服务(例如,组件117和其它组件、模块、特征或功能)来进行访问。代理服务123允许在线服务103和可能的其它服务到达web服务115(即使其实现在客户端应用中),其向在线服务103或者其它服务提供公共的可路由的地址。
在线服务103使用将web服务请求路由到代理服务123的地址,将这些请求传输给web服务115。当web服务115是连接的并且可用的时,代理服务123将这些请求传输给web服务115。随后,客户端应用113对这些请求或者这些请求中包括的消息进行处理。但是,有时web服务115可能对于代理服务123来说变得临时地不可用,在此期间发生了web服务活动。例如,客户端应用113和代理服务123之间的通信连接可能丢失,或者客户端应用113可能在应用平台111上转换到后台模式。
在这些时间期间,在线服务103可能发起各种服务请求。代理服务123对该活动进行监测,并在web服务115返回到代理服务123时,向web服务115传输用于表示是否发生了任何活动的活动信息。例如,当重新建立连接时或者客户端应用113在应用平台111上返回到前台时,web服务115返回到代理服务123。
在客户端应用113从后台返回到前台的情形下,客户端应用113可能响应于各种事件来采取该动作。举一个例子,客户端应用113可以响应于某个本地事件(例如,用户在他们的设备上导航到客户端应用113,客户端应用113定期地苏醒)或者响应于某个其它本地事件,来返回到前台。
但是,在一些情形下,代理服务123可以提示客户端应用113返回到前台。在各种实现中,代理服务123能够对高优先级web服务请求进行监测,所述高优先级web服务请求与低优先级web服务请求进行区分。在由于客户端应用113处于后台而造成的不可用的时段期间,代理服务123可以在接收到高优先级请求时,使客户端应用113“苏醒”,同时当接收到低优先级请求时,允许客户端应用113保持在后台模式。
Web服务115接收到活动信息,并且提示客户端应用113针对任何丢失的消息或者与web服务115临时地不可用于在线服务103时发生的web服务活动相关联的其它信息,对在线服务103进行轮询。在线服务103可以使用该丢失的消息、请求或者与web服务活动相关联的其它信息来进行答复,使得客户端应用113能够更新其状态。
在一些场景下,该活动信息指示在web服务115与代理服务123断开时,没有丢失任何web服务活动,在该情况下,web服务115不会提示客户端应用113对在线服务103进行轮询。通过禁止对在线服务103进行轮询,客户端应用113节省诸如处理功率、通信带宽等等之类的资源。
图2示出了由代理服务123使用以增强web服务的可靠性的过程200。在操作时,代理服务123检测关于web服务115的临时不可用的状态(步骤201)。由于诸如较差的网络连接、拥塞、在设备上从前台转换到后台之类的各种原因,或者由于其它原因,可能发生临时的不可用性。代理服务123在该临时不可用的时段期间,对web服务活动进行监测(步骤203)。这种监测可以包括:通过维持标志、保持请求路径的列表或者以某种其它方式,记录何时接收到web服务请求。
在web服务115返回到代理服务123时,根据当web服务115临时地不可用时,是否发生任何web服务活动,代理服务123指示客户端应用113向在线服务103进行查询或者不向在线服务103进行查询。如果发生了活动,则代理服务123经由web服务115,指示客户端应用113针对丢失的消息或者其它信息,向在线服务103进行查询(步骤205)。如果没有发生活动,则代理服务123经由web服务115,指示客户端应用113禁止至少关于从临时地不可用性中恢复,向在线服务103进行查询(步骤207)。
图3示出了由客户端应用113使用以增强web服务的可靠性的过程300。在一些情况下,过程300可以由web服务115来使用,而在其它情况下,过程300可以由客户端应用113的其它单元来使用。此外,过程300还可以分布在客户端应用113或者其它软件(例如,操作系统单元)的多个单元之中。
在操作时,web服务115在临时地不可用之后,重新连接到代理服务123(步骤301)。web服务115接收代理服务123所传输的活动信息,该活动信息指示客户端应用113是否向在线服务103进行轮询(步骤303)。如果是,则客户端应用113针对在该临时不可用期间丢失的消息,向在线服务103进行查询(步骤305)。如果不是,则客户端应用113禁止至少关于从临时地不可用状态中返回,向在线服务103进行查询。
图4示出了一种实现中的操作顺序400,以进一步说明增强的可靠性的各种原理。操作顺序400通常指代web服务115关于代理服务123变得断开的场景,但所描述的这些原理也适用于其它类型的不可用性,例如,当应用在后台和前台状态之间转换时。
在操作时,在线服务103发起传输给web服务115的web服务请求。web服务可以与组件117进行通信,以生成针对这些请求的响应,随后当web服务115保持连接时,将这些响应提供给在线服务103。
但是,在web服务115和代理服务123之间可能发生断开的时间段,在此期间,代理服务123仍然接收到web服务请求。在重新连接时,代理服务123向web服务115提供用于指示是否向在线服务103进行轮询,以更新客户端应用113关于该服务的状态的活动信息。在该例子中,在该断开的时间段期间发生了web服务活动,并且因此该活动信息指示客户端应用113向在线服务103进行轮询。因此,web服务115向组件117提供指令或者某种其它相同的指示。组件117针对于可能将客户端应用113的状态带到当前状态的消息或者某种其它信息,响应性地对在线服务103进行轮询。
此外在该场景中,客户端应用113可以在web服务115连接到代理服务123的时段期间,参与在线服务103。当连接时,通过经由代理服务123来与web服务115交换web服务请求和响应,在线服务103从组件117获得信息,或者向组件117提供信息。但是,web服务115再次经历与代理服务123的断开时间段。在该时间期间,代理服务123对web服务活动进行监测,并且在重新连接到web服务115时,提供用于指示是否发生了任何web服务活动的活动信息。
在该例子中,在web服务115与代理服务123断开时,没有发生任何web服务活动。因此,在该断开的时间段之后,web服务115不会提示组件117至少关于更新其状态,向在线服务103进行轮询。
返回到参见图1,服务平台101表示能够托管在线服务103的全部或者一部分的任何物理或虚拟计算系统、设备或者其集合。服务平台101的例子包括但不限于:服务器计算机、机架服务器、刀片式服务器或虚拟机服务器,以及任何其它类型的计算系统,其中在图9中所示出的服务平台931是代表性的。在一些场景下,可以将在线服务103实现在数据中心、虚拟数据中心或者某种其它适当的计算设施中。在线服务103的例子包括但不限于:呼叫服务、聊天服务、消息传送服务、博客服务、微博服务、社交网络服务、电子商务服务和游戏服务、以及任何其它类型的服务、服务的组合或者其变型。有时,在线服务103可以称为云服务、互联网服务、信息服务等等。
代理平台121表示能够托管代理服务123的全部或者一部分的任何物理或虚拟计算系统、设备或者其集合。代理平台121的例子包括但不限于:服务器计算机、机架服务器、刀片式服务器或虚拟机服务器,以及任何其它类型的计算系统,其中在图9中所示出的代理平台921是代表性的。在一些场景下,可以将代理服务123实现在数据中心、虚拟数据中心或者某种其它适当的计算设施中。代理平台121(以及隐含的代理服务123)可以与服务平台101和在线服务103同处一地,或者可以相对于服务平台101和在线服务103来说是分布式的。
应用平台111表示能够运行客户端应用113并支持web服务的任何物理或者虚拟计算系统、设备或者其集合。应用平台111的例子包括,但不限于:智能电话、膝上型计算机、平板计算机、桌面型计算机、混合计算机、游戏机、虚拟机、电视、手表和其它可穿戴设备、工业设备和设备仪器(例如,恒温器)、以及其任何变型或者组合,其中图9中的应用平台911是代表性的。
客户端应用113表示能够与在线服务103进行通信的任何软件应用、应用套件、模块、组件或者其集合。客户端应用113的例子包括,但不限于:web浏览器应用、语音呼叫应用、即时传送消息应用、其它实时通信应用、博客和微博应用、社交网络应用、电子商务应用、工业应用、设施监测应用和游戏应用、以及任何其它类型的应用。客户端应用113可以是本地安装和执行的应用、流媒体应用、移动应用或者其任意组合或变型。在一些实现中,客户端应用113可以是在浏览器应用的上下文中执行的基于浏览器的应用。可以将客户端应用113实现成独立的应用,也可以分布在多个应用之中。
根据服务架构100和其相关联的操作的前述讨论,应当理解的是,通过代理服务123向web服务115通知在web服务115至少关于代理服务123临时地不可用时可能丢失的web服务活动,来增强web服务的可靠性。此外,通过在临时的断开之后重新建立连接时,允许客户端应用113禁止向在线服务103进行轮询,在一些场景下,通过节省电池寿命和减少流量拥塞来提高用户体验。
此外,还可以关于图5-图8中所示出的服务架构500和其相关联的操作,来理解这些方面中的至少一些。参见图5,在一种实现中,服务架构500包括在线服务501、代理服务511和应用521。在线服务501包括通过服务503、服务505和服务507来表示的各种子服务。代理服务511包括通过代理服务器513和代理服务器515来表示的各种代理服务器。应用521包括web服务522和通过组件523、组件525和组件527来表示的各种组件。
在操作时,服务503、505和507与组件523、525和527交换应用传送消息。通过在服务503、505和507与web服务522之间交换的web服务传输通信(例如,HTTP消息),来传输该应用传送消息。这些web服务传输通信通过代理服务511来交换,具体而言,在给定的时间,通过代理服务器513和代理服务器515中的一个来连接到web服务522。web服务522接收进入的web服务请求,对它们进行处理,随后根据需要与组件523、525和527中的适当一个进行通信。在相反方向中,组件523、525和527可以通过web服务522和代理服务511与服务503、505和507进行通信,但在一些场景中,组件523、525和527可以直接与服务503、505和507进行通信。
图600示出了可以由代理服务511中的代理服务器(例如,代理服务器513和代理服务器515)来使用的过程600。过程600通常指代web服务变得关于代理服务断开的场景,但所描述的原理也可应用于其它类型的不可用性(例如,当应用在后台状态和前台状态之间转换时)。
在操作时,代理服务器检测到运行在客户端应用之中的web服务变得与代理服务器断开(步骤601)。代理服务器可以启动定时器或者执行某种其它功能,其中该功能允许其稍后判断web服务是临时地断开还是完全地断开。其间,代理服务器对针对于断开的web服务的进入的web服务活动进行监测(步骤603)。
最终,web服务重新连接到代理服务器,在该时间,代理服务器判断该web服务是临时地断开还是完全地断开(步骤605)。例如,如果web服务断开了超过门限时间量的持续时间,则可以将该web服务视作为完全断开的。但是,如果web服务断开了低于该门限的持续时间,则可以将该web服务视作为临时地断开。在另一个例子中,如果在与一个代理服务器断开之后,web服务连接到不同的代理服务器,则可以将该web服务视作为完全断开,而不管其断开的持续时间。
如果确定web服务已完全地断开,则代理服务器指示该web服务运行在其中的客户端应用向相关联的在线服务进行轮询,以便更新该客户端应用的状态,而不管在该web服务断开时是否发生了任何web服务活动(步骤609)。但是,如果确定web服务是临时地断开,则代理服务器分析在该临时断开期间,是否接收到任何web服务请求(步骤607)。如果接收到web服务请求,则代理服务器指示客户端应用向在线服务进行查询,以更新其状态(步骤609)。如果没有接收到web服务请求,则至少关于重新连接到代理服务器,代理服务器向web服务提供用于该客户端应用禁止向在线服务进行轮询的指示(步骤611)。
在一些场景中,当代理服务器不能确定在客户端应用临时地断开时,是否发生web服务请求时,在步骤607之后的第三状态也是可能的。例如,在客户端应用从临时地断开返回之前,代理服务器可能具有丢失状态。因此,代理服务器将向客户端应用提供对在线服务进行轮询的指示,这是由于其不能确定性保证在该客户端应用临时地断开时,没有发生任何web服务活动。
在其它场景中,仅仅根据代理服务器丢失状态,可以将客户端应用视作为完全断开。例如,即使一个断开的时间段被视作为临时地断开,如果代理服务器丢失了状态,则从客户端应用的角度来看,最终结果与其完全地断开时的情形相同,这是由于代理服务器不能够确定性地告诉客户端应用是否发生了web服务活动。
图7示出了一种操作顺序700,其关于服务架构500,利用一种实现来说明增强的可靠性。操作顺序700通常指代web服务变得关于代理服务断开的场景,但所描述的原理也可应用于其它类型的不可用性(例如,当应用在后台状态和前台状态之间转换时)。
在操作时,组件525经由web服务522和代理服务器513,与服务505交换通信。在组件525和web服务522之间交换的通信可以包括:通过代理服务器513在web服务522和服务505之间交换的web服务请求和响应,来传送的应用消息传送。
在操作中的某个时间点,由于网络连接问题、拥塞、本地处理错误或者造成断开的某种其它事件,web服务522可能变得与代理服务器513相断开。代理服务器513能够使用参照图6所描述的过程600,其中在检测到该断开时,执行过程600。但是,在该示例性顺序中,在与代理服务器515断开之后,web服务522进行重新连接。因此,代理服务器513并不指示web服务522以一种或另一种方式关于服务505进行轮询。
此外,代理服务器515也能够使用过程600。因此,当web服务522重新连接到代理服务511时(但通过代理服务器515),指示web服务522对服务505进行轮询。组件525相应地对服务505进行轮询,以便更新其状态。应当理解的是,不管在web服务522断开时,是否发生了任何web服务活动,都发生这种轮询。此外,不管该断开是临时的还是完全的,都发生这种轮询。这是由于web服务522通过不同的服务器来重新连接到代理服务511。
图8示出了另一种操作顺序800,其关于服务架构500,进一步说明了web服务的增强的可靠性。操作顺序800通常指代web服务变得关于代理服务断开的场景,但所描述的原理也可应用于其它类型的不可用性(例如,当应用在后台状态和前台状态之间转换时)。
在操作时,组件525经由web服务522和代理服务511,与服务505交换通信。在组件525和web服务522之间交换的通信可以包括:通过代理服务511在web服务522和服务505之间交换的web服务请求和响应,来传送的应用消息传送或信息。
此外在该顺序中,组件527经由web服务522和代理服务511,与服务507交换通信。在组件525和web服务522之间交换的通信可以包括:通过代理服务511在web服务522和服务507之间交换的web服务请求和响应,来传送的应用消息传送或信息。
在操作期间的某个时间点,web服务522变得与代理服务511相断开。代理服务511能够使用参照图6所描述的过程600。因此,代理服务511对分别来自服务505和服务507的目的地针对于组件525或组件527的进入的web服务请求进行监测。在与web服务522重新建立连接时,代理服务511可以向web服务522提供用于指示在每一组件基础上,针对于组件525和组件527是否发生web服务活动的活动信息。
在该例子中,服务505在web服务522断开时,进行由代理服务511接收和拒绝的web服务请求,但服务507没有进行这些请求。因此,向web服务522提供的活动信息指示组件525对服务505进行轮询,而组件527可以禁止对服务507进行轮询。用此方式,将流量减少成这两个组件中的仅仅一个针对服务更新和其它消息传送进行查询。此外,还可以节省电池寿命和其它处理资源。
返回到参见图5,可以将在线服务501实现在能够对在线服务501的全部或者一部分进行托管的任何物理或虚拟计算系统、设备或者其集合上。其例子包括但不限于:服务器计算机、机架服务器、刀片式服务器或虚拟机服务器,以及任何其它类型的计算系统,其中在图9中所示出的服务平台931是代表性的。在一些场景下,可以将在线服务501实现在数据中心、虚拟数据中心或者某种其它适当的计算设施中。在线服务501的例子包括但不限于:呼叫服务、聊天服务、消息传送服务、博客服务、微博服务、社交网络服务、电子商务服务和游戏服务、以及任何其它类型的服务、服务的组合或者其变型。有时,在线服务103可以称为云服务、互联网服务、信息服务等等。在线服务501的一个特定例子是来自的SkypeTM
代理服务器513和代理服务器515中的每一个表示能够托管代理服务511的全部或者一部分的任何物理或虚拟计算系统、设备或者其集合。代理服务器513和代理服务器515的例子包括但不限于:服务器计算机、机架服务器、刀片式服务器或虚拟机服务器,以及任何其它类型的计算系统,其中在图9中所示出的代理平台921是代表性的。在一些场景下,可以将代理服务511实现在数据中心、虚拟数据中心或者某种其它适当的计算设施中。代理服务511可以单独地实现,或者以集成的方式来与在线服务501一起实现。
应用521表示能够与在线服务501进行通信的任何软件应用、应用套件、模块、组件或者其集合。可以将应用521实现在能够运行应用521和支持web服务的任何物理或者虚拟计算系统、设备或者其集合上。其例子包括,但不限于:智能电话、膝上型计算机、平板计算机、桌面型计算机、混合计算机、游戏机、智能电视和虚拟机、以及其任何变型或者组合,其中图9中的应用平台911是代表性的。
应用521的例子包括,但不限于:web浏览器应用、语音呼叫应用、即时消息传送应用、其它实时通信应用、博客和微博应用、社交网络应用、电子商务应用和游戏应用、以及任何其它类型的应用。应用521可以是本地安装和执行的应用、流媒体传送应用、移动应用或者其任意组合或变型。在一些实现中,应用521可以是在浏览器应用的上下文中执行的基于浏览器的应用。可以将应用521实现成独立的应用,也可以分布在多个应用之中。应用521的一个特定例子是来自的SkypeTM客户端应用。
图9示出了包括计算系统901的计算环境900,其中计算系统901表示可以用于至少实现应用平台911和代理平台921的一个或多个计算系统或设备。可以在计算环境900中执行各种用例,参照图10A和图10B描述了其中的几种用例。
图10A中的用例1000A涉及通信应用1001使用web服务1002,通过代理服务1003与通信服务1005进行通信的场景。将web服务1002使用作为web服务交换的服务器侧,而通信服务1005充当为该交换的客户端侧。通信应用1001的例子包括允许用户通过语音、视频、即时消息传送、聊天、群组聊天或者利用任何其它方式进行通信的任何实时或者接近实时的通信应用。因此,通信服务1005可以是任何实时或者接近实时的通信服务,其包括语音和视频呼叫服务、统一通信服务等等。
在操作时,针对运行在通信应用1001中的web服务1002,向其它设备或服务发布URL(统一资源定位符)。通信服务1005可以通过使用与web服务1002相关联的URL,来尝试到达通信应用1001。具体而言,通信服务1005可以发送包括有用于web服务1002的URL的HTTP请求。web服务1002可以在注册阶段期间,向代理服务1003提供其URL,或者代理服务1003可以利用某种其它方式来获得其URL。
假定web服务1002连接到并可用于代理服务1003,web服务1002将接收到通信服务1005所发送的任何HTTP请求,并利用HTTP响应继而进行答复。HTTP响应可以包括由通信应用1001中的上层在执行电话呼叫或者与通信服务1005的其它通信会话时使用的信息。例如,这些HTTP响应可以填充有SIP(会话发起协议)消息或者其它类似的信息。同样,通信服务1005发送的HTTP请求可以包括允许在通信服务1005和通信应用1001之间建立会话的上层消息。应当理解的是,这些HTTP响应可以不流经代理服务1003,但这种配置也是可以的。
但是,有时web服务1002变得与代理服务1003相断开,或者简单地不可用于代理服务1003。由于网络拥塞、链路失败、转换到休眠或后台模式、或者由于某种其它原因,可能发生上述情形。当不可用性持续时,代理服务1003对来自通信服务1005的进入的HTTP请求进行监测。可以对接收的任何请求进行拒绝,但代理服务1003还记录它们的发生,并可以对它们进行跟踪,使得当web服务1002重新连接或者重新建立其可用性,可以提供关于该发生情形的信息。
因此,当web服务1002返回到代理服务1003时,代理服务1003提供用于指示在web服务1002不可用时,是否接收到任何请求的活动信息。如果认为该不可用性是临时的,则提供该信息。如果接收到请求,则web服务1002(或者通信应用1001中的某个其它单元)向通信服务1005进行查询以更新其状态。但是,如果没有接收到请求,则在重新连接之后,不需要至少关于更新状态来进行轮询。
在由于断开造成不可用性的场景中,例如,当其持续时间低于某个时间量时,可以将其视作为临时断开。如果该断开持续时间太长,使得其变成完全或者永久断开,则代理服务1003停止维持针对web服务1002的任何历史或状态信息。因此,当web服务1002在完全断开之后进行重新连接时,指示其对通信服务1005进行轮询以用于状态更新。
图10B中的用例1000B涉及效用应用1011使用web服务1012,通过代理服务1013与效用服务1015进行通信的场景。将web服务1012被用作web服务交换的服务器侧,而效用服务1015充当为该交换的客户端侧。效用应用1011的例子包括可以与能量传感器或者其它设备(例如,恒温计、电子计量器、家用电器、工业仪器等等)进行接口的任何应用。因此,效用服务1015可以是能够请求和接收特定于效用的信息(例如,使用信息、性能信息、遥测数据或者任何其它类型的效用数据)的任何服务。
在操作时,代理服务1013向其它设备或服务发布针对于运行在效用应用1011中的web服务1012的URL。效用服务1015可以通过使用与web服务1012相关联的URL,来尝试到达效用应用1011。例如,效用服务1015可以发送包括有用于web服务1012的URL的HTTP请求。
假定web服务1012连接到代理服务1013,web服务1012将接收到效用服务1015所发送的任何HTTP请求,并利用HTTP响应继而进行答复。HTTP响应可以包括效用信息,例如,能量使用、温度统计或者可以请求的任何其它信息。应当理解的是,这些HTTP响应可以不流经代理服务1013,但这种配置也是可以的。
但是,有时web服务1012变得与代理服务1013相断开,或者可能处于不期望进入有业务的某种其它状态。当这种断开或者其它状态持续时,代理服务1013对来自通信服务1015的进入的HTTP请求进行监测。可以对接收的任何请求进行拒绝,但代理服务1013还记录它们的发生,以确保当web服务1012重新连接时,可以提供关于该发生情形的信息。
在web服务1012重新连接到代理服务1013时,代理服务1013提供用于指示在web服务1012断开时,是否接收到任何请求的活动信息。如果认为该断开是临时的断开,则提供该信息。如果接收到请求,则web服务1012(或者效用应用1011中的某个其它单元)向效用服务1015进行查询以更新其状态。但是,如果没有接收到请求,则在重新连接之后,不需要至少关于更新状态来进行轮询。
返回到图9,应用平台911代表适合于实现客户端应用和web服务的任何计算装置、系统、设备或其集合。应用平台911的例子包括,但不限于:智能电话、膝上型计算机、平板计算机、桌面型计算机、混合计算机、游戏机、虚拟机、电视、手表和其它可穿戴设备、工业设备和设备仪器(例如,恒温器)、以及其任何变型或者组合。
代理平台921表示能够实现代理服务的全部或者一部分的任何计算装置、系统或者其集合。代理平台921的例子包括服务器计算机、机架服务器、web服务器、云计算平台和数据中心设备,以及任何其它类型的物理或虚拟服务器机器和其任意变型或组合。在一些实现中,可以使用多个计算系统的集合,来实现可以在一个或多个数据中心、虚拟数据中心或者任何其它适当的计算设施中托管的代理服务的全部或者一部分。
计算系统901可以实现成单一装置、系统或设备,或者可以以分布式方式来实现成多个装置、系统或设备。计算系统901包括但不限于:处理系统902、存储系统903、软件905、通信接口系统907和用户接口系统909。处理系统902与存储系统903、通信接口系统907和用户接口系统909操作性地耦合。
处理系统902从存储系统903加载软件905并进行执行。当被处理系统902执行以实现web服务的增强的可靠性时,软件905指示处理系统902针对于服务架构100和服务架构500的前述实现中所讨论的各种处理、操作场景和顺序,如本文所描述地进行操作。计算系统901可以可选地包括由于简短目的而没有讨论的其它设备、特征或功能。
仍然参见图9,处理系统902可以包括用于从存储系统903获取软件905并进行执行的微处理器和其它电路。可以将处理系统902实现在单一处理设备之中,但也可以分布在协作地执行程序指令的多个处理设备或者子系统中。处理系统902的例子包括通用中央处理单元、特定于应用的处理器和逻辑设备,以及任何其它类型的处理设备或者其组合或变型。
存储系统903可以包括能由处理系统902读取,并能够存储软件905的任何计算机可读存储介质。存储系统903可以包括在任何方法或技术中实现的,用于存储诸如计算机可读指令、数据结构、程序模块或其它数据之类的信息的易失性和非易失性、可移动和不可移动介质。存储介质的例子包括随机存取存储器、只读存储器、磁盘、光盘、闪存、虚拟存储器和非虚拟存储器、盒式磁带、磁带、磁盘存储或者其它磁存储设备、或者任何其它适当的存储介质。无论如何计算机可读存储介质都不是传播信号。
除了计算机可读存储介质之外,在一些实现中,存储系统903还可以包括计算机可读通信介质,其中,通过计算机可读通信介质,可以内部地或外部地传输软件905。可以将存储系统903实现成单一存储设备,也可以实现在同处一地或者彼此之间相对分散的多个存储设备或子系统中。存储系统903可以包括能够与处理系统902或者可能的其它系统进行通信的其它单元(例如,控制器)。
软件905可以采用程序指令和其它功能来实现,当被处理系统902执行时,软件905指示处理系统902关于本文所示出的各种操作场景、顺序和处理,如上所述地进行操作。具体而言,程序指令可以包括进行协作或者相互作用,来执行本文所描述的各种处理和操作场景的各种组件或模块。可以使用编译的或者解释性指令,或者使用指令的某种其它变型或组合,来体现这些各种组件或模块。这些各种组件或模块可以以同步或异步方式来执行,串行或并行地执行,在单线程环境或多线程环境下执行,或者根据任何其它适当的执行范例或者其变型或组合来执行。软件905可以包括另外的处理、程序或组件,例如,操作系统软件或其它应用软件。此外,软件905还可以包括固件或者可由处理系统902执行的某种其它形式的机器可读处理指令。
通常,当将软件905加载到处理系统902中并进行执行时,其将适当的装置、系统或设备(其中计算系统901是代表性的)整体上从通用计算系统,转换成被定制为促进web服务的增强的可靠性的特殊用途计算系统,如上文针对每个实现所描述的。事实上,对存储系统903上的软件905进行编码可以对存储系统903的物理结构进行变换。该物理结构的具体变换,可以取决于本说明书中的不同实现中的各种因素。这些因素的例子可以包括,但不限于:用于实现存储系统903的存储介质的技术、计算机存储介质的特性为主存储还是辅助存储、以及其它因素。
例如,如果将计算机可读存储介质实现成基于半导体的存储器,则当在其之中对程序指令进行编码时,软件905可以例如通过变换晶体管、电容或者构成该半导体存储器的其它分立电路元件的状态,来变换半导体存储器的物理状态。关于磁介质或者光介质而言,可以发生类似的变换。物理介质的其它变换也是可以的,而不脱离本文所给出的描述的范围,提供前面的例子只是为了促进本文的讨论。
举例而言,再次参见图1,通过计算系统或者一些计算系统(其中计算系统901是代表性的)的操作,可以关于服务架构100来执行变换。举例而言,应用平台111可以变得临时断开,在此时间期间,发生web服务活动。在重新连接时,向应用平台111通知该活动,并与服务平台101进行通信以获得该活动,并且将其状态更新为(或者改变成)与丢失的活动相一致。参见图5,应用521变得临时断开,在此时间期间,发生web服务活动。在重新连接时,向应用521通知该活动,并与在线服务501进行通信以获得该活动,并改变其状态。
应当理解的是,计算系统901通常旨在表示可以部署和执行软件905,以便实现web服务的增强的可靠性的计算系统或一些计算系统。但是,计算系统901还可以适合作为可以在其上对软件905进行分级的任何计算系统,从该位置,可以对一个或二者分发、传输、下载或者提供给另一个计算系统进行部署和执行或者进行另外的分发。
通信接口系统907可以包括允许通过通信网络941来与其它系统(没有示出)进行通信的通信连接和设备。用于一起来允许系统间通信的连接和设备的例子,可以包括网络接口卡、天线、功率放大器、RF电路、收发机和其它通信电路。这些连接和设备可以通过通信介质(例如,金属、玻璃、大气或者任何其它适当的通信介质)进行通信,以便与其它计算系统或者系统网络来交换通信。前述的介质、连接和设备是公知的,故这里无需进行进一步讨论。
用户接口系统909是可选的,其可以包括键盘、鼠标、语音输入设备、用于从用户接收触摸手势的触摸输入设备、用于检测非触摸手势和用户的其它运动的运动输入设备、以及能够从用户接收用户输入的其它可比较输入设备和相关联的处理元件。此外,在用户接口系统909中,还可以包括诸如显示器、扬声器、触觉设备之类的输出设备和其它类型的输出设备。在一些情况下,可以将输入和输出设备组合在单一设备中,例如,能够显示图像和接收触摸手势的显示器。前述的用户输入和输出设备是本领域公知的,故这里无需进行进一步讨论。
此外,用户接口系统909还可以包括可由处理系统902执行,以支持上面所讨论的各种用户输入和输出设备的相关联的用户接口软件。单独地或者彼此之间相结合以及与其它硬件和软件单元相结合,用户接口软件和用户接口设备可以支持图形用户界面、自然用户界面或者任何其它类型的用户界面。此外,可以经由用户接口系统909,来输入关于这些用户界面进行的用户输入。
应用平台911、代理平台921和服务平台931与任何其它计算系统之间的通信,根据各种通信协议、协议的组合或者其变型,通过通信网络941或其它网络来进行。通信网络941的例子包括内联网、互联网、局域网、广域网、无线网络、有线网络、虚拟网、软件规定网络、数据中心总线、计算背板、或者任何其它类型的网络、网络组合或者其变型。前述的通信网络和协议是公知的,故这里无需进行进一步讨论。但是,可以使用的一些通信协议包括,但不限于:互联网协议(IP、IPv4、IPv6等等)、传输控制协议(TCP)和用户数据报协议(UDP)、以及任何其它适当的通信协议、变型或者其组合。
在对信息进行交换的任何前述的例子中,可以根据包括以下各项的各种协议中的任何一种来交换信息:FTP(文件传输协议)、HTTP(超文本传输协议)、REST(表示状态传输)、WebSocket、DOM(文档对象模型)、HTML(超文本标记语言)、CSS(级联样式表)、HTML5、XML(可扩展标记语言)、JavaScript、JSON(JavaScript对象符号)和AJAX(异步JavaScript和XML)、以及任何其它适当的协议、变型或者其组合。
在附图中提供的功能框图、操作场景和顺序以及流程图,表示用于执行本公开内容的新颖方面的示例性系统、环境和方法。虽然为了说明简单起见,本文所包括的方法具有功能图、操作场景或顺序或者流程图的形式,并可以描述成一系列动作,但应当理解和明白的是,这些方法并不受到该动作顺序的限制,这是由于根据实现,一些动作可以以不同的顺序来发生,和/或与本文所示出和描述的其它动作同时地发生。例如,本领域普通技术人员应当理解和明白的是,一个方法可以替代地表示成一系列相关的状态或事件,如在状态图中。此外,一个新颖的实现并不必需一个方法中示出的所有动作。
本文中包括的说明书和附图,描述了用于教示本领域普通技术人员如何制造和使用最佳选项的特定实现。为了教示发明原理起见,对一些常规的方面进行了简化或者省略。本领域普通技术人员应当理解,落入本发明的保护范围之内的这些实现的变型。此外,本领域普通技术人员还应当明白,可以以各种方式对上面所描述的特征进行组合以形成多种实现。因此,本发明并不限于上面所描述的特定实现,而是仅仅由权利要求书和其等同物进行界定。

Claims (10)

1.一种操作代理服务以支持客户端应用向至少在线服务提供的web服务的方法,所述方法包括:
当所述客户端应用临时地不能够用于所述代理服务时,对与由所述客户端应用向至少所述在线服务提供的所述web服务相关联的发生的web服务活动进行监测;以及
响应于在临时地不能够用于所述代理服务之后,所述客户端应用变得能够用于所述代理服务,向所述客户端应用传输用于指示至少以下内容的活动信息:是否关于所述web服务活动,向所述在线服务进行查询。
2.根据权利要求1所述的方法,其中,当所述客户端应用在所述web服务活动发生的时间段期间临时地不能够使用之后返回到所述代理服务时,所述活动信息向所述客户端应用指示关于所述web服务活动,向所述在线服务进行查询。
3.根据权利要求2所述的方法,其中,当所述客户端应用在没有所述web服务活动发生的另一时间段期间临时地不能够使用之后返回到所述代理服务时,所述活动信息用于向所述客户端应用指示禁止关于所述web服务活动,向所述在线服务进行查询。
4.根据权利要求3所述的方法,其中,当所述客户端应用是由于与所述代理服务临时地断开,而临时地不能够用于所述代理服务时,则当所述客户端应用在与所述代理服务完全地断开之后重新连接到所述代理服务时,所述活动信息向所述客户端应用指示关于所述web服务活动,向所述在线服务进行查询,而不管在所述客户端应用与所述代理服务临时地断开时,是否发生过任何web服务活动,并且其中,所述方法还包括:
对于所述客户端应用何时从临时地与所述代理服务断开,转换成与所述代理服务完全地断开进行监测。
5.根据权利要求1所述的方法,其中,所述在线服务包括多个子服务,并且所述客户端应用包括与所述多个子服务相对应的多个组件,以及如下所述的web服务,用于通过所述web服务向所述多个子服务公开所述多个组件中的每一个组件的功能。
6.根据权利要求5所述的方法,其中,所述多个子服务包括语音呼叫服务和即时消息传送服务,并且其中,所述多个组件包括语音呼叫客户端和即时消息传送客户端。
7.一种装置,包括:
一个或多个计算机可读存储介质;以及
存储在所述一个或多个计算机可读存储介质上的用于促进客户端应用和在线服务之间的web服务交互的程序指令,其中,所述程序指令包括:
运行在所述客户端应用之中的web服务,当由处理系统执行时,所述web服务指示所述处理系统至少执行以下操作:
通过代理服务,向所述在线服务中的多个子服务公开所述客户端应用中的多个组件;
响应于在所述web服务临时地断开之后重新连接到所述代理服务时,从所述代理服务接收的活动信息,如果所述活动信息指示当所述web服务临时地断开时,针对所述多个组件中的每一个组件web服务活动丢失,则提示所述组件对所述多个子服务中的相应服务进行轮询;
以及
所述多个组件,其中,当由所述处理系统执行时,所述多个组件中的每一个组件指示所述处理系统针对在所述web服务临时地断开时,被丢失的所述web服务活动的至少一部分,发起对所述多个子服务中的相对应的一个子服务的轮询。
8.根据权利要求7所述的装置,其中,所述web服务还指示所述处理系统用于:响应于在所述web服务临时地断开之后重新连接到所述代理服务时,从所述代理服务接收的所述活动信息,如果所述活动信息指示当所述web服务在临时地断开时,针对所述多个组件中的每一个组件没有web服务活动丢失,则提示所述组件禁止对所述多个子服务中的相对应的服务进行轮询。
9.根据权利要求8所述的装置,还包括被配置为执行所述程序指令的所述处理系统,并且其中,所述web服务还指示所述处理系统用于:响应于在完全地断开之后重新连接到所述代理服务,提示所述多个组件针对任何web服务活动,对所述多个子服务进行轮询。
10.根据权利要求9所述的装置,其中,所述多个组件包括语音呼叫组件、即时消息组件传送和语音邮箱组件。
CN201580022016.5A 2014-04-25 2015-04-22 一种用于提供web服务的增强的可靠性的方法和装置 Active CN106233702B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910468274.6A CN110113437B (zh) 2014-04-25 2015-04-22 一种用于提供web服务的增强的可靠性的方法和装置

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/262,681 2014-04-25
US14/262,681 US9961131B2 (en) 2014-04-25 2014-04-25 Enhanced reliability for client-based web services
PCT/US2015/026968 WO2015164441A1 (en) 2014-04-25 2015-04-22 Enhanced reliability for client-based web services

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201910468274.6A Division CN110113437B (zh) 2014-04-25 2015-04-22 一种用于提供web服务的增强的可靠性的方法和装置

Publications (2)

Publication Number Publication Date
CN106233702A true CN106233702A (zh) 2016-12-14
CN106233702B CN106233702B (zh) 2019-06-28

Family

ID=53039995

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201580022016.5A Active CN106233702B (zh) 2014-04-25 2015-04-22 一种用于提供web服务的增强的可靠性的方法和装置
CN201910468274.6A Active CN110113437B (zh) 2014-04-25 2015-04-22 一种用于提供web服务的增强的可靠性的方法和装置

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201910468274.6A Active CN110113437B (zh) 2014-04-25 2015-04-22 一种用于提供web服务的增强的可靠性的方法和装置

Country Status (4)

Country Link
US (2) US9961131B2 (zh)
EP (1) EP3114819B1 (zh)
CN (2) CN106233702B (zh)
WO (1) WO2015164441A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105491081A (zh) * 2014-09-16 2016-04-13 网宿科技股份有限公司 移动智能终端下转发应用内流量的方法
JP2021002766A (ja) * 2019-06-21 2021-01-07 エヌ・ティ・ティ・コミュニケーションズ株式会社 誘導先評価装置、誘導先評価方法およびプログラム
CN112954006B (zh) * 2021-01-26 2022-07-22 重庆邮电大学 支持Web高并发访问的工业互联网边缘网关设计方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060085429A1 (en) * 2004-10-15 2006-04-20 Nokia Corporation Acknowledged delivery of full email state change to mobile email clients after involuntary disconnects
US20100150320A1 (en) * 2008-12-11 2010-06-17 International Buisness Machines Corporation Handling communication session disconnection and reconnection
US20110299454A1 (en) * 2010-06-02 2011-12-08 Qualcomm Incorporated Application-proxy support over a wireless link
US20140112232A1 (en) * 2010-06-17 2014-04-24 Interdigital Patent Holdings, Inc. Application layer protocol support for sleeping nodes in constrained networks

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7984157B2 (en) 2002-02-26 2011-07-19 Citrix Systems, Inc. Persistent and reliable session securely traversing network components using an encapsulating protocol
US20040006653A1 (en) * 2002-06-27 2004-01-08 Yury Kamen Method and system for wrapping existing web-based applications producing web services
JP4087271B2 (ja) 2003-03-19 2008-05-21 株式会社日立製作所 代理応答装置およびネットワークシステム
US8151323B2 (en) * 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US7797406B2 (en) 2006-07-27 2010-09-14 Cisco Technology, Inc. Applying quality of service to application messages in network elements based on roles and status
US20080248834A1 (en) * 2007-04-03 2008-10-09 Palm, Inc. System and methods for providing access to a desktop and applications of a mobile device
US20110231478A1 (en) * 2009-09-10 2011-09-22 Motorola, Inc. System, Server, and Mobile Device for Content Provider Website Interaction and Method Therefore
CN202004788U (zh) * 2010-12-31 2011-10-05 上海博泰悦臻电子设备制造有限公司 车载信息推送服务系统
CA2828056A1 (en) 2011-05-24 2012-11-29 Isa Auctionata Auktionen Ag Computer system for the exchange of messages
US9749435B2 (en) 2012-01-20 2017-08-29 Apple Inc. Proxy-based push service
US20130275492A1 (en) 2012-04-13 2013-10-17 Microsoft Corporation Enabling Web Clients to Provide Web Services
CN103488765A (zh) * 2013-09-28 2014-01-01 雷虹 一种代理数据库的访问驱动及其数据访问方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060085429A1 (en) * 2004-10-15 2006-04-20 Nokia Corporation Acknowledged delivery of full email state change to mobile email clients after involuntary disconnects
US20100150320A1 (en) * 2008-12-11 2010-06-17 International Buisness Machines Corporation Handling communication session disconnection and reconnection
US20110299454A1 (en) * 2010-06-02 2011-12-08 Qualcomm Incorporated Application-proxy support over a wireless link
US20140112232A1 (en) * 2010-06-17 2014-04-24 Interdigital Patent Holdings, Inc. Application layer protocol support for sleeping nodes in constrained networks

Also Published As

Publication number Publication date
WO2015164441A1 (en) 2015-10-29
US10958712B2 (en) 2021-03-23
EP3114819B1 (en) 2020-03-25
CN110113437A (zh) 2019-08-09
EP3114819A1 (en) 2017-01-11
US20150312325A1 (en) 2015-10-29
US9961131B2 (en) 2018-05-01
CN110113437B (zh) 2022-03-29
CN106233702B (zh) 2019-06-28
US20180248935A1 (en) 2018-08-30

Similar Documents

Publication Publication Date Title
CN107645529B (zh) 心跳包发送方法及装置
CN102739411B (zh) 提供证明服务
CN109922053A (zh) 数据传输方法、装置、电子设备及可读存储介质
Tukade et al. Data transfer protocols in IoT—An overview
EP2485443A1 (en) System and method for managing multiple queues of non-persistent messages in a networked environment
Veeramanikandan et al. Publish/subscribe based multi-tier edge computational model in Internet of Things for latency reduction
CN109962836A (zh) 一种机器人控制方法、服务器及机器人
CN107079050A (zh) 服务层会话迁移和共享
CN103563314B (zh) 用于被动通信服务的系统和方法
US11677639B2 (en) Connection management between applications and service resources
CN108632844B (zh) 信息处理方法、装置及电子设备
US10958712B2 (en) Enhanced reliability for information services
CN111917838B (zh) 基于微服务的处理方法及装置、存储介质、电子装置
CN108965359B (zh) 通信方法、通信装置、可读介质和电子设备
CN114025002A (zh) 一种基于mqtt信息传输的方法、系统及通信设备
CN106411713B (zh) 一种状态通知方法及服务器
CN107431641A (zh) 针对通信属性的订阅
Martinez-Pabon et al. Smart TV-smartphone multiscreen interactive middleware for public displays
Luthra et al. Transitions for increased flexibility in fog computing: A case study on complex event processing
US9288277B2 (en) Communication device, method for communication and relay system
Kar et al. Multilayer software defined networking architecture for the internet of things
CN108924773A (zh) 消息处理方法及装置
Zhai et al. An improved DDS publish/subscribe automatic discovery algorithm
CN114500660B (zh) 请求处理方法、装置、设备及计算机可读存储介质
CN111538932B (zh) 一种跨平台、终端及内外网的外事管理方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant