CN111052104A - 服务器请求管理 - Google Patents

服务器请求管理 Download PDF

Info

Publication number
CN111052104A
CN111052104A CN201880054752.2A CN201880054752A CN111052104A CN 111052104 A CN111052104 A CN 111052104A CN 201880054752 A CN201880054752 A CN 201880054752A CN 111052104 A CN111052104 A CN 111052104A
Authority
CN
China
Prior art keywords
server
client
request
requests
response time
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
CN201880054752.2A
Other languages
English (en)
Other versions
CN111052104B (zh
Inventor
A·霍凌舍尔德
M·布鲁克斯
J·霍恩
P·I·瓦克林
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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of CN111052104A publication Critical patent/CN111052104A/zh
Application granted granted Critical
Publication of CN111052104B publication Critical patent/CN111052104B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • 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/466Transaction 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
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种事务处理服务器和经由客户端‑服务器连接而向服务器发送请求的相关的客户端。服务器具有可操作以处理请求并向请求客户端发出响应的事务处理区。服务器维护处理近期客户端请求所花费的历史处理时间的记录。服务器具有连接管理器,其可操作以监视传入的客户端请求并从所述客户端请求提取目标响应时间,所述目标响应时间是每一请求中所包含的、客户端期望该请求被处理的最大时间。服务器基于决定是否可能在目标响应时间内被处理而接受或拒绝每一传入的客户端请求。如果请求被拒绝,则服务器向发起客户端发送拒绝消息。

Description

服务器请求管理
技术领域
本公开涉及用于管理到服务器的客户端连接以管理高负荷的方法和装置。
背景技术
诸如“客户信息控制系统事务服务器”(Customer Information Control System
Figure BDA0002389838270000011
Transaction Server(TS)for
Figure BDA0002389838270000012
)的服务器的事务处理区,可经由多个网络连接从其客户端接收工作。这些连接可以是短期的或长期的。例如,来自网络浏览器的连接通常是长期的,可以支持大量的多个并发请求。因此,来自长期连接的请求将需要管理,以便确保有效的操作,这是本公开的主题。请求和响应消息在连接上被串行化,并且通常将是具有报头部分和有效载荷部分的分组形式。消息将包含客户端要向服务器(或反之亦然)传递的请求数据,该请求数据将形成消息的有效载荷或主体。消息还将包含元数据,其将形成消息的一个或多个报头,其中元数据的作用是向消息的接收者提供关于如何处理请求数据的指令。当服务器组件启动时可以建立连接,并且可以在服务器组件保持活动时添加或移除连接。服务器组件将具有有限的容量,其受限于诸如它可以使用它运行的机器的中央处理单元(CPU)的量以及它可以访问的存储器的量之类的因素。系统管理员配置服务器组件以最大化它们可以支持的工作量,而不会冒因资源短缺而停止的风险,并且采取措施来避免服务器组件因变得高负荷而完全失效。在这种情况下,当资源争用影响应用任务的处理时在服务器中发生停止的情况。对服务器组件可并发运行的任务的最大数目设置上限。通常,这大于通过到服务器组件中的单独连接所支持的数目,但小于所有连接一起所支持的数目,因为将存在一个连接非常忙而其它连接负荷较轻的时间。
有时当过多的工作通过一组连接到达时,可能发生服务器组件变得负荷过高,即达到其满负荷。当服务器组件已经满负荷时,所接收的额外工作请求不能被立即处理,因此在服务器组件中排队,等待它们可以被处理的时间。然而,队列本身及其管理消耗已经过载的服务器组件中的更多系统资源。当前没有没有在服务器组件检测到它不能应付其当前工作负荷时自动解决这些网络问题的机制。
已知有防止一个网络节点的请求在当伙伴网络节点不能处理其当前工作负荷时大量涌入伙伴网络节点的控制。例如,已知的是,配置请求发送器(在本文中称为客户端)使得其仅具有固定数量的请求时隙。例如,可以用配置“发送会话的数量”的参数来设置客户端可通过连接路由的并发请求的最大数量。该数量在首次建立连接时设置,并且在该连接的生命期内保持。另一个已知的例子是,服务提供商(在本文中称为服务器)为已经接收但还没有处理的请求维护一个队列,当队列满时,服务器使其接收的任何额外请求被拒绝。这些方法对于在之间仅具有单个连接的配对系统来说行之有效,因为这样的系统的总容量可以被预先计算,因此可以将连接的容量设置得相匹配。然而,大规模的系统通常具有多个入口点,因此以提供对这些请求的有效管理的方式来配置它们的连接不是简单的任务。
例如,用于z/OS生产服务器组件的IBM
Figure BDA0002389838270000021
TS可能具有到其的多个连接,请求消息可以通过这些连接到达。任何单个连接上的请求流量率都可能随时间而显著变化。此外,不同连接之间的请求流量率也可能随时间而显著变化。配置服务器以匹配其所有客户端的最大容量是不实际的,因为这将导致大量冗余以及除非需求接近峰值否则未使用的浪费资源。相反,将每个连接配置为支持比其公平共享服务器的总容量更多的容量,使得在服务器不太繁忙的时间期间,繁忙的客户端可以将更高速率的请求路由到服务器。因此,可能有延长的时间段,在此期间,请求排队后才能得到服务器的服务,或者在此期间,请求被服务器拒绝。
为了解决这个问题,已知客户端使用附加软件来发现它们是否正使用达到其全部容量的特定连接:IBM z/OS Work Load Manager(WLM)和IBM
Figure BDA0002389838270000031
是这种工作负荷平衡软件的例子。工作负荷平衡是这样的一种技术,其在类似的服务器应用上分发基于TCP/IP的工作负荷请求(连接),以实现最佳的资源利用、最大化吞吐量、最小化响应时间,并且避免服务器应用或系统过载。通过使用具有负荷平衡的多个服务器应用(而不是单个服务器应用),可以通过冗余来增加可靠性。负荷平衡服务通常由专用软件程序或硬件设备提供。工作负荷管理器向负荷平衡服务(即,负荷平衡器装置)提供分发推荐。
在这种类型的工作负荷管理环境中,访问相同数据源的服务器应用通常被包括在相同的工作负荷中。这允许监视代理验证所有这些应用是可用的并且能够代表工作负荷处理额外的连接。它还使得工作负荷管理器能够具有工作负荷中的应用的统一视图,从而使得能够容易地在地理上分离的站点(即,不同的系统集群)之间切换工作负荷。具体地,工作负荷管理器可以向负荷平衡器装置发信号,通知吧把到组成工作负荷的服务器应用的所有连接同时切换到替代站点。这确保了在任何时间点应用对数据源的访问仅从一个站点进行。工作负荷平衡软件与使用该连接的系统并排运行。然而,存在这样的缺点,即这样的附加软件必须与它监视的连接分开配置。
处理高服务器负荷的另一已知方法是服务器向客户端发送与服务器的负荷状态有关的数据,我们将其称为健康数据。使用服务器的负荷状态数据,如果服务器已经忙,则客户端可以决定是向服务器发送请求还是延迟向服务器发送请求。
发明内容
在本公开中,我们提出了一种应对机制,用于自动管理在给定时间段内由于服务器接收大量请求而在服务器的事务处理区中产生的持久高负荷,无论所述请求是在一个连接上还是在多个并发连接上,其中所述应对机制独立于任何—可能并行提供的或可能不并行提供的—工作负荷平衡措施而操作。
根据本公开的一个方面,提供了一种能够管理客户端连接的事务处理服务器,所述服务器包括:客户端-服务器连接器,可操作以建立、保持和终止到服务器的各个客户端-服务器连接,每个连接能够向服务器发送客户端请求;所述服务器的事务处理区,可操作以处理客户端请求并发出响应;服务器性能管理器,可操作以维护客户端请求被处理的速度的性能记录;以及连接管理器,其可操作以监视传入客户端请求且从所述客户端请求提取指示所述事务处理服务器在目标响应时间内处理所述客户端请求的目标响应时间,且基于所述目标响应时间且参考所述性能记录来接受或拒绝每一传入客户端请求。
所提出的方法允许服务器基于客户端指定的紧急性要求来不同地处理每个请求。服务器还避免由于消耗资源来管理因太忙而不能处理的请求而停滞。该方法还不涉及使用第三方资源来管理该情况,而是仅基于服务器针对客户端指定的目标响应时间的行动。该方法还可以使得服务器上的事务工作的恢复不太复杂,因为客户端不太可能需要就在目标响应时间内未被响应的请求向服务器发送“取消请求”,这是因为该请求将被服务器预先拒绝。传统上,这种“取消请求”为服务器创建工作,尤其是如果服务器已经开始处理请求并且然后需要通过清除处理来退出所做的工作。
连接管理器可选地进一步可操作以将请求拒绝消息传送到已经发起了被拒绝请求的客户端。因此,客户端被直接通知该请求将不被处理,使得例如客户端可以自由地将该请求重新发送到可能处于较低利用率并且具有更快地运行该请求的更好机会的替代服务器。请求拒绝消息可以包括已经参考性能记录而获得的用于处理该请求的预测响应时间。然后,当客户端接收到拒绝时,该附加信息可以由客户端用来决定如何最好地进行反应。例如,客户端可选择向相同的服务器重新发送相同的请求,但是这次指定了参考在拒绝中中包含的预测处理时间而设置的目标响应时间,例如等于预测处理时间,或者等于某个更大的值,例如增加20%、增加50%或者加倍。
连接管理器有利地可操作以在比处理请求应花费的时间短得多的时间内传输请求拒绝消息。例如,在一些实施例中,连接管理器可操作用于在目标响应时间的一部分(例如,1/5、1/10、1/20、1/50和1/100)内发送请求拒绝消息。另一个例子是在从性能记录中推导出的预期响应时间的一小部分内发送请求拒绝消息。通常,设计的目的应该是确保任何拒绝应该在比处理请求所花费的时间短得多的时间尺度上发生,使得客户端得到立即或接近立即的请求被拒绝的响应。这使得客户端能够例如通过将请求发送到不同的服务器来作出反应。
假设连接上的通信是基于分组的—这将是许多实施例的情况,则请求拒绝消息被方便地插入服务器-到-客户端的数据分组的元数据中,例如作为“服务器忙”响应。元数据可以被插入到为了传送拒绝的目的而生成的特定分组中,或者可以被添加到携带其他信息的分组或分组组,例如返回另一处理的请求的结果的分组。目标响应时间也方便地包含在客户端请求的元数据中。
请求拒绝/接受测试可以针对所有请求全局地执行,或者针对事务类型特定地执行,在这种情况下,请求具有事务类型,并且性能记录包括客户端请求的历史处理时间。在一些实施例中,多个事务类型中的每一个将有一个历史处理时间。例如,如果有五种不同类型的事务,则可以在性能记录中维护五种不同的最近响应时间值。
历史处理时间可以是从相关的近期客户端请求合计的平均时间。平均可以是按新近性加权的,越近期的客户端请求,权重越高。可替换地,平均可以是没有加权的简单平均,即其中每个元素具有相等的权重。此外,将理解,平均可以是平均值、众数或中值。
在某些实施例中,基于目标响应时间与和正被评估的客户端请求相关的历史响应时间的比较来接受或拒绝传入的客户端请求。性能记录可以基于在由以下各项中的至少一个定义的窗口内处理的客户端请求:时间,例如在最后200秒内或从12:28CET(中欧时间)以后。或者,窗口可以由多个客户端请求来定义,例如基于最后100个处理的请求或已经处理的特定类型的最后5个请求。
服务器还可以包括队列,其中当服务器当前没有能力接受对服务器的客户端请求时,对服务器的客户端请求被排队。在一些实施例中,连接管理器充当队列的看门人,使得请求仅在它们被筛选和接受之后才被放置在队列中。也就是说,连接管理器可操作以门控对队列的存取,使得在接受传入客户端请求的条件下将所述传入客户端请求添加到队列,使得拒绝被拒绝请求存取队列。这样,避免了被拒绝的请求消耗队列资源。在其它实施例中,连接管理器在队列上执行其筛选,因此所有请求进入队列,但是仅在被连接管理器检查并接受事务处理之后才被清除以离开队列。即,通过监视队列,由连接管理器对输入的客户端请求进行监视,并从队列中删除被拒绝的客户端请求。这种方法仍然允许向客户端发送快速的拒绝,同时避免了连接管理器过载的可能性,或者必须向连接管理器提供其自己的单独队列。
根据本公开的另一方面,提供了一种管理到事务处理服务器的客户端连接的方法,所述方法由所述服务器执行并且包括:在客户端-服务器连接上从客户端接收客户端请求;从所述客户端请求提取目标响应时间,所述目标响应时间指示所述客户端希望多快地处理所述请求;以及基于所述目标响应时间并参考由所述服务器维持的正处理客户端请求的速度的性能记录来接受或拒绝所述客户端请求。
该方法还可以包括如果请求被拒绝,则向客户端发送拒绝消息。在一些实施例中,客户端请求包括类型分类,并且用于接受或拒绝请求的指示符是特定于该类型的。
根据本公开的另一方面,提供了一种计算机程序产品,包括:一种计算机可读存储介质,具有随其体现的程序指令,其中所述计算机可读存储介质本身不是暂时性信号,所述程序指令可由处理器执行以使所述处理器执行包括以下步骤的方法:在客户端-服务器连接上从客户端接收客户端请求;从所述客户端请求提取目标响应时间,其中所述目标响应时间指示所述事务处理服务器在所述目标响应时间内处理所述客户端请求;基于所请求的目标响应时间与针对所述事务处理服务器上的所请求类型的事务的完成时间的性能记录的比较,接受或拒绝所述客户端请求;以及基于指示拒绝所述客户端请求的所述比较,所述事务处理服务器在拒绝消息中包括完成所述客户端请求的估计时间量。
附图说明
下面,将仅通过示例的方式参考附图中示出的示例性实施例来进一步描述本发明。
图1是其中可以实现示例性实施例的示例性方面的分布式数据处理环境的示例性框图。
图2是其中可以实现说明性实施例的示例性方面的数据处理系统的示例性框图。
图3是本发明实施例的系统环境的示意表示,其中单个服务器和多个客户端经由网络连接而连接。
图4示出了经由图3的网络连接发送的消息结构。
图5A更详细地示出了图3的服务器。
图5B更详细地示出了图3的客户端。
图6A是由图5A的服务器执行的连接管理的流程图。
图6B是由图5B的客户端执行的连接管理的流程图。
图7示出了根据本公开的实施例的云计算环境。
图8描绘了根据本公开的实施例的抽象模型层。
具体实施方式
在以下详细描述中,出于解释而非限制的目的,阐述了具体细节以便提供对本公开的更好理解。对于本领域技术人员来说,显然本公开可以在脱离这些具体细节的其它实施例中实施。
根据本公开的实施例的客户端可以是任何合适的计算设备;例如移动电话(智能电话)、平板手机、平板电脑、膝上型计算机、游戏控制台、个人计算机、智能电视或媒体播放器。计算设备可以是由一个或多个电信标准定义的用户设备。计算设备可以是便携式的,例如手持计算设备,或者是固定的。
图1是可以用来实现说明性实施例的示例性方面的分布式数据处理系统100的示例性框图。分布式数据处理系统100可以包括其中可以实现示例性实施例的各方面的计算机网络。分布式数据处理系统100包含至少一个网络102,其是用于在分布式数据处理系统100内连接在一起的各种设备和计算机之间提供通信链路的介质。网络102可以包括诸如有线、无线通信链路或光纤电缆的连接。网络102可以是外部网络,例如因特网,或者是内部网络,例如以太网或虚拟专用网(VPN)。
在所描述的例子中,服务器104和服务器106与存储单元108一起连接到网络102。另外,客户端110、112和114也连接到网络102。这些客户端110、112和114可以是例如个人计算机、网络计算机等。在所描述的例子中,服务器104向客户端110、112和114提供数据,例如引导文件、操作系统映像和应用。在所描述的例子中,客户端110、112和114是服务器104的客户端。分布式数据处理系统100可以包括未示出的附加服务器、客户端和其他设备。
服务器104、106每个包括或访问计算设备,该计算设备包括一个或多个处理器和一个或多个存储器,以及潜在地包括本领域中通常已知的任何其他计算设备元件,包括总线、存储设备、通信接口等。该服务器具有用于从其它计算设备接收通信的输入端口,以及用于向其它计算设备发送通信的输出端口,其中,所述其它计算设备包括与其可形成客户端-服务器通信信道的计算设备。
在一个示例中,分布式数据处理系统100可以是因特网,其中网络102表示使用传输控制协议/因特网协议(TCP/IP)协议集来彼此通信的世界范围的网络和网关的集合。因特网的核心是主节点或主机之间的高速数据通信线路的主干,其由路由数据和消息的数千个商业、政府、教育和其它计算机系统组成。分布式数据处理系统100还可以被实现为包括多个不同类型的网络,例如内联网、局域网(LAN)、广域网(WAN)等。如上所述,图1旨在作为示例,而不是作为对所公开的主题的不同实施例的架构限制,因此,图1中所示的特定元素不应被认为是对其中可实现本发明的说明性实施例的环境的限制。
如图所示,包括服务器104、106、客户端110、112、114和诸如存储单元108或可选的网络工作负荷管理器(未示出)的其他网络资源的各种信息处理系统可以使用计算机网络102联网在一起。可以用于互连各种信息处理系统的计算机网络102的类型包括局域网(LAN)、无线局域网(WLAN)、因特网、公共交换电话网(PSTN)、其它无线网络以及可以用于互连信息处理系统的任何其它网络拓扑。许多信息处理系统包括非易失性数据存储器,例如硬盘驱动器和/或非易失性存储器。非易失性数据存储可以是各种信息处理系统外部的组件,或者可以是信息处理系统之一内部的组件。
图2是其中可以实现说明性实施例的数据处理系统的框图。数据处理系统200是诸如图1中的服务器104或客户端110的计算机的示例,其中可以定位实现用于说明性实施例的过程的计算机可用程序代码或指令。在该说明性示例中,数据处理系统200包括通信结构202,其提供处理器单元204、存储器206、永久性存储装置208、通信单元210、输入/输出(I/O)单元212和显示器214之间的通信。
处理器单元204用于执行可被加载到存储器206中的软件的指令。处理器单元204可以是一个或多个处理器的集合,或者可以是多处理器内核,这取决于特定的实现方式。此外,处理器单元204可以使用一个或多个异构处理器系统来实现,其中主处理器与辅助处理器一起存在于单个芯片上。作为另一个说明性示例,处理器单元204可以是包含相同类型的多个处理器的对称多处理器(SMP)系统。
存储器206和永久性存储装置208是存储设备的示例。存储设备是能够临时和/或永久存储信息的任何硬件。在这些示例中,存储器206可以是例如随机存取存储器或任何其他合适的易失性或非易失性存储设备。永久性存储器208可以根据特定的实现方式采取各种形式。例如,永久性存储器208可以包含一个或多个组件或设备。例如,永久性存储器208可以是硬盘驱动器、闪存、可重写光盘、可重写磁带、伯努利盒式磁带或上述的某种组合。永久性存储装置208使用的介质也可以是可移动的。例如,可移动硬盘驱动器可以用于永久性存储装置208。
在这些示例中,通信单元210提供与其他数据处理系统或设备的通信。在这些示例中,通信单元210是网络接口卡。通信单元210可通过使用物理和无线通信链路中的一者或两者来提供通信。
输入/输出单元212允许与可以连接到数据处理系统200的其它设备输入和输出数据。例如,输入/输出单元212可以通过键盘和鼠标提供用于用户输入的连接。此外,输入/输出单元212可以向打印机发送输出。显示器214提供向用户显示信息的机制。
用于操作系统和应用或程序的指令位于永久性存储器208上。这些指令可以被加载到存储器206中以便由处理器单元204执行。不同实施例的过程可以由处理器单元204使用计算机实现的指令来执行,所述指令可以位于诸如存储器206的存储器中。这些指令被称为程序代码、计算机可用程序代码或计算机可读程序代码,其可以由处理器单元204中的处理器读取和执行。不同实施例中的程序代码可以在不同的物理或有形的计算机可读介质上实现,例如存储器206或永久性存储装置208。
程序代码216以功能形式位于可选择性地移除的计算机可读介质218上,并且可以被加载到或传送到数据处理系统200以便由处理器单元204执行。在这些示例中,程序代码216和计算机可读介质218形成计算机程序产品220。在一个示例中,计算机可读介质218可以是有形形式,诸如例如插入或放置到作为持久存储装置208的一部分的驱动器或其他设备中以便传送到诸如作为持久存储装置208的一部分的硬盘驱动器之类的存储设备上的光盘或磁盘。在有形形式中,计算机可读介质218还可以采取永久性存储装置的形式,诸如连接到数据处理系统200的硬盘驱动器、拇指驱动器或闪存。计算机可读介质218的有形形式也被称为计算机可记录存储介质。在一些情况下,计算机可记录介质218可以是不可移除的。
或者,程序代码216可以通过到通信单元210的通信链路和/或通过到输入/输出单元212的连接从计算机可读介质218传送到数据处理系统200。在说明性示例中,通信链路和/或连接可以是物理的或无线的。计算机可读介质还可以采用非有形介质的形式,例如包含程序代码的通信链路或无线传输。为数据处理系统200示出的不同组件不意味着对可以实现不同实施例的方式提供架构限制。不同的说明性实施例可以在包括除了或代替为数据处理系统200说明的那些组件的数据处理系统中实现。图2中所示的其它组件可以与所示的说明性示例不同。作为一个例子,数据处理系统200中的存储设备是可以存储数据的任何硬件装置。存储器206、永久性存储装置208和计算机可读介质218是有形形式的存储设备的示例。
在另一示例中,总线系统可以用于实现通信结构202,并且可以包括一个或多个总线,诸如系统总线或输入/输出总线。当然,总线系统可以使用任何合适类型的架构来实现,该架构提供在附接到总线系统的不同组件或设备之间的数据传输。另外,通信单元可以包括用于发送和接收数据的一个或多个设备,诸如调制解调器或网络适配器。此外,存储器可以是例如存储器206或高速缓存,诸如在可存在于通信结构202中的接口和存储器控制器集线器中找到的。
用于执行本发明的操作的计算机程序代码可以以一种或多种编程语言的任意组合来编写,所述编程语言包括面向对象的编程语言,例如Java、C++、C#、Objective-C等,以及常规的过程编程语言。程序代码可以完全在用户的计算机上执行,部分在用户的计算机上执行,作为独立的软件包执行,部分在用户的计算机上并且部分在远程计算机上执行,或者完全在远程计算机或服务器上执行。在后一种情况下,远程计算机可以通过任何类型的网络连接到用户的计算机,包括局域网(LAN)或广域网(WAN),或者可以连接到外部计算机(例如,使用因特网服务提供商通过因特网)。
本领域的普通技术人员将理解,图1和图2中的硬件可以根据实现而变化。除了图1和图2中描述的硬件之外,或者代替它们,可以使用其它内部硬件或外围设备,例如闪存、等效的非易失性存储器或光盘驱动器等。此外,除了先前提到的SMP系统之外,说明性实施例的处理可以应用于多处理器数据处理系统。
如将看到的,这里描述的技术可以结合诸如图1所示的标准客户端-服务器范例来操作,其中客户端与在一组一个或多个机器上执行的因特网可访问的基于Web的门户进行通信。终端用户操作能够访问门户并与门户交互的可连接因特网的设备(例如,台式计算机、笔记本计算机、支持因特网的移动设备等)。通常,每个客户端或服务器机器是诸如图2所示的包括硬件和软件的数据处理系统,并且这些实体通过诸如因特网、内联网、外联网、专用网络或任何其它通信介质或链路等网络彼此通信。数据处理系统通常包括一个或多个处理器、操作系统、一个或多个应用程序以及一个或多个实用程序。数据处理系统上的应用提供对Web服务的本机支持,包括但不限于对HTTP、SOAP、XML、WSDL、UDDI和WSFL等的支持。关于SOAP、WSDL、UDDI和WSFL的信息可从万维网联盟(W3C)获得,万维网联盟负责开发和维护这些标准;关于HTTP和XML的进一步信息可从因特网工程任务组(IETF)获得。假定熟悉这些标准。
在各种实施例中,网络102可以是诸如因特网的公共网络、物理专用网络、虚拟专用网络(VPN)或其任何组合。在某些实施例中,网络102可以是无线网络,包括基于诸如蓝牙或超宽带(UWB)之类的技术的个人区域网(PAN)。在各种实施例中,无线网络可包括基于IEEE802.11规范的变型的无线局域网(WLAN),通常被称为Wi-Fi。在某些实施例中,无线网络可以包括基于工业标准的无线广域网(WWAN),该工业标准包括第二点五代(2.5G)无线技术,例如全球移动通信系统(GPRS)和增强型数据速率GSM演进(EDGE)。在各种实施例中,无线网络可包括基于第三代、第四代或第五代(3G、4G、5G)无线技术的WWAN,包括通用移动电信系统(UMTS)和宽带码分多址(W-CDMA)以及新无线电(NR)。
其它实施例可以包括其它3G技术的实现,包括演进数据优化(EVDO)、IEEE802.16(WiMAX)、无线宽带(WiBro)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)以及4G或5G无线技术。
在本公开的实施例的上下文中的服务器在一些情况下也可以是"经典“大型机”,或者托管在大型机中。大型计算机系统广泛用于各种数据处理功能。例如,许多公司财务和会计系统是为主机计算系统开发的,并且在主机计算系统上运行。尽管近年来个人计算机和个人计算机网络的使用激增,但是对于未来几年的许多类型的数据处理,期望称为传统系统的大型计算机系统保持流行。大型计算机系统通常包括连接到大型主计算机的多个用户终端。各种软件应用程序可以驻留在主计算机上或者可由主计算机访问。用户终端,有时被称为客户终端或“客户端”,通过主机通信系统与主机主计算机通信。IBM3270型终端系统是用于与主计算机通信的更广泛使用的系统之一。典型地,3270型终端不具有其自己的数据处理能力。取而代之的是,3270终端可以显示由在主机上运行的应用程序生成的屏幕,并且可以将信息从用户传送回主机以进行处理。IBM3270型终端系统的用户界面包括多个屏幕,这些屏幕由主机应用程序产生,用于在3270终端上显示。在过去的几年中,许多3270型终端已经被个人计算机(PC)所取代,所述个人计算机被配置成通过3270型终端仿真软件与大型计算机系统通信。
在许多应用中,3270型终端或其它数据处理设备(例如PC)现在经由因特网访问主计算机。例如,在TN3270E协议下操作的系统中,3270型终端可经由TN3270E客户端终端与TN3270E服务器之间的TCP/IP连接的组合,以及经由TN3270E服务器与主机计算机上的SNA应用软件之间的系统网络体系结构(SNA)会话来访问主机计算机上的应用软件。
还已知在大型计算环境中集成客户端-服务器技术。其中组件一起协作工作以形成较大系统的这种类型的代表性多组件系统,是IBM超文本传输协议(HTTP)和网络服务(
Figure BDA0002389838270000131
Transfer Protocol(HTTP)and Web Services)处理环境,其可以使用诸如IBM z196系列的计算机器的IBM大型计算机来实现。该环境通常包括与一个或多个事务处理产品—诸如IBM客户信息控制系统(CICS)(Customer Information ControlSystem)和/或IBM信息管理系统(IMS)(Information Management System)—协同工作的
Figure BDA0002389838270000141
应用服务器(WAS)中间件平台软件产品、诸如IBM
Figure BDA0002389838270000142
MQ的消息处理产品以及诸如IBM
Figure BDA0002389838270000143
的关系数据库。多组件环境的目的是提供一种高性能事务处理计算系统或环境,其可由客户端用户通过使用HTTP或其它Web服务的互联网浏览器访问。在这个环境中,作出HTTP或Web服务请求的客户终端用户直接与应用服务器通信。通常,为了满足来自分布式客户端最终用户的事务请求,应用服务器调用环境中的一个或多个其他组件的服务。这些组件中的一个或多个通常在诸如IBM z/OS操作系统之类的操作系统上执行,该操作系统通常被称为“大型机”操作系统平台。
图3是本发明实施例的系统环境的示意表示,其中单个服务器和多个客户端经由网络连接而连接。服务器10可以是例如CICS事务服务器(TS)并且可以对应于图1所示的服务器中的任一个,其位于也布置有多个客户端20的系统区域中。该系统使用诸如TCP/IP的网络协议来允许不同的节点进行通信。每个客户端20能够使用网络协议至少建立到服务器10的网络连接15。网络连接持续到终止,因此可能是长期的。客户端中的所选客户端被显示具有到服务器的当前网络连接,注意示出了多个并发网络连接。通过分别从服务器到客户端和从客户端到服务器发送和接收通常为分组形式的消息30来管理每个已建立的网络连接。客户端-到-服务器消息可以包含对服务器的任务或请求,并且服务器-到-客户端消息可以包含与这些任务或请求相关的响应。
图4示出了经由图3的网络连接发送的消息结构。每个消息包括报头部分32和有效载荷或主体部分34。报头包含消息接收者的连接管理器所使用的控制信息,而主体34包含客户端请求在那里运行的服务的细节。报头部分32可以被分成多个字段(filed)321、322...32n的集合,每个字段传送与消息相关的不同命令和控制信息,由此可以在接收到有效载荷部分34时对其进行适当的处理。注意,报头字段可以简称为报头,从而每个消息可以被描述为由一个或多个报头的集合和主体组成。
图5A更详细地示出了图3的服务器10。作为例子,为了讨论操作原理,示出了两个当前的客户端连接151和152,不过应当理解,客户端连接的数目可以是一个以上的任何数目,并且该数目实际上通常将大于两个。客户端-服务器连接器27用作服务器10的输入/输出接口,并且特别地,可操作来建立、维护和终止到服务器10的单独的客户端-服务器连接151和152。分组301和302分别在连接151和152上从相应客户端发送,这些分组包含用于服务器10的消息,包括请求或任务。每个连接可以被指定一个最大并发请求上限。例如,对于连接151的最大并发请求上限可以是100,连接152的可以是50,其中服务器的最大并发请求上限是120。在组合的并发连接会话上限150超过服务器的上限120的意义上,这是一种典型的配置。
传入的请求在队列25中排队,该队列馈入到处理请求或任务的服务器10的事务处理区(TPR)22。当TPR22低于满负荷操作时,请求将被直接输入到TPR22中,而没有在队列25中明显的等待时间,或者可以完全绕过该队列。另一方面,当TPR22满负荷地操作时,请求将被排队。处理过的请求由发出回复信息的TPR22回复,该回复信息被组装到分组中,并被发送回在客户端连接151、152等上发起请求的客户端,如从TPR流向客户端连接151和152的箭头线所示。
服务器10另外还具有连接管理器(CM)24和服务器性能监视器(SPM)26。
SPM26的作用是维护客户端请求被处理的速度的性能记录。这是通过存储每个事务类型的平均响应时间来完成的,事务类型例如由事务标识符‘事务ID'指定,如图5A所示,其中SPM26被示为包含一个其中示出了四个事务ID TRAN1...4的查找表,每个事务ID分别具有4.5、5.0、4.5和5.5秒的平均最近响应时间值。因此,这些最近响应时间是最近处理时间的历史记录。平均可以是按新近性加权的,越近期处理的客户端请求,权重越高。可替换地,平均可以是没有加权的简单平均,即其中每个元素具有相等的权重。此外,将理解,平均可以是平均值、众数或中值。性能记录可以基于在由以下各项中的至少一个定义的窗口内处理的客户端请求:时间,例如在最近200秒内或从12:28CET以来。或者,窗口可以由多个客户端请求来定义,例如基于最后100个处理的请求或已经处理的特定类型的最后5个请求。例如,可以由系统管理员配置时间、请求数量和特定类型内的请求数量的窗口值。
CM24的作用是监视传入的客户端请求。这是通过提取存储在请求中的目标响应时间来完成的,该目标响应时间指示客户希望多快地处理请求。然后,CM24基于将目标响应时间与期望响应时间进行比较来接受或拒绝每个传入的客户端请求,其中,期望响应时间存储在性能记录中或者从存储在性能记录中的信息推导出。在请求被拒绝时,连接管理器生成或使得生成用于请求客户端的请求拒绝消息,该请求拒绝消息然后通过连接被发送到该客户端。
对于客户端-服务器连接上的基于分组的通信—对于许多实施例来说就是这样,请求拒绝消息由客户端-服务器连接器27方便地插入服务器-到-客户端数据分组的元数据中,例如作为“服务器忙”响应。元数据可以被插入到为了传送该拒绝的目的而生成的特定分组中,或者可以被添加到携带其他信息的分组或分组组,例如返回另一处理的请求的结果的分组。
在传入的客户端请求不包含目标响应时间的情况下,即客户端未被配置为根据所提出的方法来操作,CM24可以被配置为默认接受该请求,或者默认拒绝该请求。可以无论如何都应用默认配置,或者可以基于当前服务器负荷或未决并发请求的数量在“接受”和“拒绝”之间自适应地改变默认配置。
CM24还具有监视从附接到客户端的每个连接接收的请求的数量以及请求源自哪个客户端的独立角色。例如,在一个时间,CM24可以知道有38个来自第一连接的至今未应答的请求以及17个来自第二连接的至今未应答的请求。CM24监视正在建立的和终止的连接,并因此维护当前活动的连接的记录,并且,对于每个活动连接,维护其能够或被允许支持的并发请求的最大数目。CM24还可以基于滚动时间窗口,记录在当前会话期间或者最近的过去来自每个连接的未完成请求的最大数目。因此,该最大数目将代表给定连接的高水平线。
SPM26监视服务器10处理客户端请求的空闲容量,尤其是TPR22的空闲容量。SPM26知道服务器10的最大容量,并监视它当前处理多少请求,从而监视服务器的负荷水平。特别地,SPM26检测服务器10何时接近或已经达到满负荷。SPM26可以直接监视服务器正在处理多少请求,或者可以通过监视队列25的填充状态来推断已经达到满符合。即,如果队列25为空或接近空,则可以推断服务器具有空闲容量,而如果有若干请求被排队或者每个请求的队列停留时间高于阈值时间,则可以推断服务器满符合地或接近满符合地运行。SPM26还可操作来分析每个请求中的元数据—或者是输入分组30中的元数据或者是在队列25中等待的请求中的元数据,其用作发起客户端20或客户端-服务器连接15的标识符。
这是避免过载的客户端请求管理活动的示例,其完全独立于所提出的基于将期望目标响应时间与预测响应时间进行比较来预先筛选请求的方法而操作。因此,将理解,基于所提出的比较目标响应时间与最近平均响应时间的方法可以是唯一的高负荷应对机制,或者可以是单独地且独立地并行操作的若干应对机制中的一个。
图5B更详细地示出了图3的客户端20之一的示例。客户端20具有客户端-服务器连接器33,其可操作以建立、维护和终止到一个或多个服务器的客户端-服务器连接,每个连接能够例如使用所示的分组301将客户端请求发送到特定服务器。客户端20还具有客户端请求生成器29,其可操作以在客户端请求中包括目标响应时间,其通知服务器需要多快的响应。这是通过存储每个事务类型的目标响应时间来完成的,事务类型例如由如具有查找表31的图5B中所示的事务ID指定,该查找表存储四个事务ID TRAN1...4中的每一个的目标响应时间,分别具有时间值2.0、3.0和6.0秒。因此,目标响应时间对于每个特定客户端是特定的,即对于该客户端是本地的。注意,尽管该信息被显示为在查找表中表示,并且这是一种可能的现实世界实现,但是在其他实施例中,可以将相同的信息可以嵌入应用逻辑中。通常,响应时间目标信息可以以任何合适的实现形式被并入。
客户端20可以将响应时间目标作为元数据与它发送给事务处理服务器10的每个请求一起提供。如果服务器基于当前系统状态的分析是该响应时间目标不可能被满足,则服务器10然后可以返回“服务器忙”或更具体的出错信息。由于事务处理服务器10保持按事务ID分类的事务响应时间的最近历史,如果服务器变得高负荷,则响应时间将变得恶化,并且这将反映在最近事务的性能记录中。响应时间目标被附加为伴随事务处理区22中的要求运行事务的请求的元数据。
当客户端请求到达事务处理服务器10的CM24组件时,从元数据中提取响应时间目标和事务ID,并且访问请求的事务ID的历史数据。如果认为目标是可实现的,则接受请求。另一方面,如果认为不可实现,则立即用诸如SERVERBUSY(服务器忙)响应之类的响应来拒绝该请求。可选地,事务ID的预测响应时间可以作为元数据与SERVERBUSY响应一起返回,使得客户端能够在决定如何最好地对拒绝作出反应时考虑该附加信息。
在图5A和5B的查找表中所示的示例值中,事务处理区22高度地负载,其最近响应时间平均值全部在几秒内。基于客户端指定的响应时间目标,服务器此时将接受的唯一事务ID是TRAN4。
在接收到“服务器忙”代码或其它拒绝消息之后,客户端可以以几种方式中的任何一种来反应。例如,它可以可选地使用来自服务器的预测响应时间—如果其作为来自服务器的拒绝消息的一部分被发送回客户端的话,执行以下动作之一:
将所述请求重新提交到另一服务器系统;b.以较长的目标响应时间,例如以匹配的目标响应时间或超过服务器的预测响应时间,将所述请求重新提交到同一服务器;c.使所述请求失败并向调用接口返回错误。
图6A是由图5A的服务器执行的连接管理的流程图。
在步骤S61中,与客户端合作建立客户端-服务器连接,其中服务器接受来自客户端的连接请求。
在步骤S62中,服务器从客户端-服务器连接上的客户端接收请求。
在步骤S63中,服务器从客户端请求中提取目标响应时间,该目标响应时间表示客户端希望多快地处理该请求。
在步骤S64中,服务器筛选,即分析该请求,以基于客户端请求中由客户端指定的目标响应时间来决定该请求是应该被接受还是拒绝。这是参考由服务器存储的性能记录来完成的,该性能记录当前—即最近的过去—处理客户端请求的速度。如上所述,设想这是基于事务类型,即事务ID来完成的,因此相关因素是与该请求相同类型的客户端请求当前处理的速度有多快。
在拒绝决定之后执行的步骤S65r中,服务器构造拒绝消息并将其发送到客户端。可选地,拒绝消息可以包括一个时间指示,该时间指示表示如果该请求被接受,则该请求将可能花费多长时间来处理。例如,如果目标响应时间是3.5秒,则预测响应时间要比目标响应时间更长才会导致拒绝,例如是5.0秒,而拒绝消息中包含的正是后一个值。随后,可以以与从步骤S65r到步骤S62的返回流程箭头所指示的相同方式处理进一步的客户端请求。
在接受决定之后执行的步骤S65a中,服务器清理(clear)在服务器的事务处理区中的该处理请求。随后,可以以与从步骤S65a到步骤S62的返回流程箭头所指示的相同方式处理进一步的客户端请求。
如何筛选进入的请求,然后接受或拒绝,将包括作出一些与客户端请求在由事务处理器执行之前在其中排队的服务器队列有关的配置决定。
一种设计选项是连接管理器充当队列的看门人,使得请求仅在它们被筛选和接受之后才被放置在队列中。也就是说,连接管理器可操作以门控对队列的访问,使得在接受传入客户端请求的条件下将所述传入客户端请求添加到队列,使得被拒绝的请求被拒绝访问队列。这样,避免了被拒绝的请求消耗队列资源。
另一个设计选项是连接管理器在队列上执行其筛选,因此所有请求都进入队列,但是仅在被连接管理器检查并接受进行事务处理之后,才被清理以离开队列。即,通过监视队列来进行由连接管理器对传入的客户端请求的监视,并从队列中删除被拒绝的客户端请求。这种方法仍然允许向客户端发送快速的拒绝,同时避免了使连接管理器过载、或者必须向连接管理器提供其自己的单独队列的可能性。
图6B是由图5B的客户端执行的连接管理的流程图。
在步骤S66中,与服务器协作的客户端建立到服务器的客户端-服务器连接。
在步骤S67中,客户端生成一个常规请求。
在步骤S68中,客户端向该请求添加一个向服务器指定期望多快地得到响应的目标响应时间。(步骤S67和S68可以合并为单个动作。)
在步骤S69中,在客户端-服务器连接上将该请求发送到服务器。
在步骤S70中,客户端在客户端-服务器连接上接收服务器的响应。
如果步骤S71,如果服务器的响应是SERVERBUSY(服务器忙)消息,即拒绝客户端请求的消息,则流程被引导到被配置为在步骤S72处理SERVERBUSY响应的处理逻辑。对于任何其它类型的服务器响应,则流程被引导到被配置为在步骤S73处理正常响应—即对该请求的实质响应—的其它处理逻辑。
注意到实现所提出的方法并不涉及其他网络资源,诸如执行负荷平衡的工作负荷管理器。然而,要指出的是,所提出的方法可以与这样的负荷平衡并行地操作。
将理解,本公开的实施例可以使用云计算来实现。具体地,服务器和网络资源中的一个或多个可以托管在云中被托管。
首先应当理解,尽管本公开包括关于云计算的详细描述,但其中记载的技术方案的实现却不限于云计算环境,而是能够结合现在已知或以后开发的任何其它类型的计算环境而实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、内存、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户帐号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其他基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络组件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,其焦点在于无状态、低耦合、模块性和语义互操作性。在云计算的核心是包括互连节点的网络的基础设施。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图7,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应当理解,图7显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
现在参考图8,其中显示了云计算环境50(图7)提供的一组功能抽象层。首先应当理解,图8所示的组件、层以及功能都仅仅是示意性的,本发明的实施例不限于此。如图8所示,提供下列层和对应功能:
硬件和软件层60包括硬件和软件组件。硬件组件的例子包括:主机61;基于RISC(精简指令集计算机)体系结构的服务器62;服务器63;刀片服务器64;存储设备65;网络和网络组件66。软件组件的例子包括:网络应用服务器软件67以及数据库软件68。
虚拟层70提供一个抽象层,该层可以提供下列虚拟实体的例子:虚拟服务器71、虚拟存储72、虚拟网络73(包括虚拟私有网络)、虚拟应用和操作系统74,以及虚拟客户端75。
应当理解,图1和图2中所示的任何服务器或服务器元件可以分别对应于层60和70中的物理或虚拟化组件。
在一个示例中,管理层80可以提供下述功能:资源供应功能81:提供用于在云计算环境中执行任务的计算资源和其它资源的动态获取;计量和定价功能82:在云计算环境内对资源的使用进行成本跟踪,并为此提供帐单和发票。在一个例子中,该资源可以包括应用软件许可。安全功能:为云的消费者和任务提供身份认证,为数据和其它资源提供保护。用户门户功能83:为消费者和系统管理员提供对云计算环境的访问。服务水平管理功能84:提供云计算资源的分配和管理,以满足必需的服务水平。服务水平协议(SLA)计划和履行功能85:为根据SLA预测的对云计算资源未来需求提供预先安排和供应。
工作负载层90提供了可以利用云计算环境的功能的示例。可以从该层提供的工作负载和功能的示例包括:绘图和导航91;软件开发和生命周期管理92;虚拟教室的教学递送93;数据分析处理94;事务处理95;以及服务器10。
本领域的普通技术人员将清楚,优选实施例的逻辑过程步骤的全部或部分可以备选地在一个逻辑设备或多个逻辑设备中实施,所述一个逻辑设备或多个逻辑设备包括布置成执行所述方法的逻辑过程步骤的逻辑元件,并且这样的逻辑元件可以包括硬件组件、固件组件或其组合。
本领域技术人员同样清楚,优选实施例的所有或部分逻辑组件可以替代地在包括逻辑元件的逻辑设备中实现,以执行该方法的步骤,并且这样的逻辑元件可以包括诸如在例如可编程逻辑阵列或专用集成电路中的逻辑门的组件。这种逻辑布置还可以实现为用于使用例如虚拟硬件描述符语言在这种阵列或电路中临时或永久地建立可以使用固定或可传输载体介质来存储和传输的逻辑结构的赋能元件。
在另一替代实施例中,本公开可以以部署服务的计算机实现的方法的形式实现,该方法包括部署计算机程序的步骤,该计算机程序可操作以在部署到计算机基础设施中并在其上执行时使计算设备执行该方法的所有步骤。
可以理解,优选实施例的方法和组件可以替换地全部或部分地在包括用于执行并行软件的两个或多个处理器的并行计算系统中实现。
本公开的另一实施例是按照系统和方法定义的计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本公开的方面。
计算机可读存储介质可以是能够保持和存储指令以供指令执行设备使用的有形设备。
本公开可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本公开的方面。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。这里参照根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
本发明可以是客户端、服务器、包括通过网络连接的客户端和服务器的计算机系统、方法和/或计算机程序产品。计算机程序产品可以包括其上具有计算机可读程序指令的计算机可读存储介质(或多个介质),所述计算机可读程序指令用于使处理器执行本发明的各方面。
本领域技术人员将清楚,在不脱离本公开的范围的情况下,可以对前述示例性实施例进行许多改进和修改。

Claims (20)

1.一种能够管理客户端连接的事务处理服务器,所述服务器包括:
客户端-服务器连接器,可操作以建立、保持和终止到所述服务器的各个客户端-服务器连接,每个连接能够向所述服务器发送客户端请求;
所述服务器的事务处理区,可操作以处理客户端请求并发出响应;
服务器性能管理器,可操作以维护客户端请求被处理的速度的性能记录;以及
连接管理器,可操作以监视传入客户端请求并从每一客户端请求提取指示所述事务处理服务器在目标响应时间内处理所述客户端请求的目标响应时间,并且基于所述目标响应时间且参考所述性能记录接受或拒绝每一传入客户端请求。
2.根据权利要求1所述的服务器,其中,所述连接管理器进一步可操作以将请求拒绝消息传输到已发起被拒绝的请求的客户端。
3.根据权利要求2所述的服务器,其中,所述请求拒绝消息被插入在服务器-到-客户端数据分组的元数据中。
4.根据权利要求2所述的服务器,其中,所述请求拒绝消息包括参考所述性能记录获得的处理所述请求的预测响应时间。
5.根据权利要求1所述的服务器,其中,所述目标响应时间包含在所述客户端请求中的元数据中。
6.根据权利要求1所述的服务器,其中,所述请求具有事务类型,且所述性能记录包含基于每一事务类型的客户端请求的历史处理时间。
7.根据权利要求1所述的服务器,其中,每个处理时间是从相关客户端请求合计的平均时间。
8.根据权利要求1所述的服务器,其中,所述平均是通过新近性来加权的,越近期处理的客户端请求的权重越高。
9.根据权利要求1所述的服务器,其中,基于所述目标响应时间与和正被评估的所述客户端请求相关的历史响应时间的比较来接受或拒绝传入客户端请求。
10.根据权利要求1所述的服务器,其中,所述性能记录基于在由时间定义的窗口内处理的客户端请求。
11.根据权利要求1所述的服务器,其中,所述性能记录基于多个过去的事务内的某事务类型的客户端请求的数量。
12.根据权利要求1所述的服务器,其中,所述性能记录基于多个过去的客户端请求。
13.根据权利要求1所述的服务器,还包括:
当服务器当前没有能力接受客户端请求时对服务器的客户端请求在其中排队的队列。
14.根据权利要求13所述的服务器,其中,所述连接管理器可操作以选通对所述队列的接入,使得传入客户端请求在被接受的条件下被添加到所述队列,使得被拒绝的请求被拒绝接入所述队列。
15.根据权利要求13所述的服务器,其中,所述连接管理器对传入客户端请求的所述监视通过监视所述队列而发生,其中从所述队列删除被拒绝的客户端请求。
16.一种管理到事务处理服务器的客户端连接的方法,所述方法由所述服务器执行并且包括:
在客户端-服务器连接上从客户端接收客户端请求;
从所述客户端请求提取指示所述客户端希望多快地处理所述请求的目标响应时间;以及
基于所述目标响应时间且参考由所述服务器维持的正处理客户端请求的速度的性能记录来接受或拒绝所述客户端请求。
17.根据权利要求16所述的方法,还包括:
如果所述请求被拒绝,则向所述客户端发送拒绝消息。
18.根据权利要求16所述的方法,其中,所述客户端请求包括类型分类,并且所述接受或拒绝所述请求的指示特定于该类型。
19.一种计算机程序产品,包括:
一种计算机可读存储介质,具有随其体现的程序指令,其中所述计算机可读存储介质本身不是暂时性信号,所述程序指令可由处理器执行以使所述处理器执行包括以下步骤的方法:
由事务处理服务器在客户端-服务器连接上接收客户端请求;
从所述客户端请求提取目标响应时间,其中,所述目标响应时间指示所述事务处理服务器在所述目标响应时间内处理所述客户端请求;
基于所请求的目标响应时间与针对所述事务处理服务器上的所请求类型的事务的完成时间的性能记录的比较,接受或拒绝所述客户端请求;以及
基于指示拒绝所述客户端请求的所述比较,所述事务处理服务器在拒绝消息中包括完成所述客户端请求的估计时间量。
20.根据权利要求19所述的计算机程序产品,还包括:
基于所述客户端请求被所述事务处理服务器拒绝而将拒绝消息传送到所述客户端,其中,所述客户端请求包括类型分类,并且所述接受或拒绝所述请求的指示特定于该类型,并且其中,所述拒绝消息在比所述目标响应时间短的时间内被传送。
CN201880054752.2A 2017-08-25 2018-08-22 服务器请求管理 Active CN111052104B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US15/686,397 2017-08-25
US15/686,397 US10834230B2 (en) 2017-08-25 2017-08-25 Server request management
US15/813,262 2017-11-15
US15/813,262 US10749983B2 (en) 2017-08-25 2017-11-15 Server request management
PCT/IB2018/056345 WO2019038684A1 (en) 2017-08-25 2018-08-22 SERVER REQUEST MANAGEMENT

Publications (2)

Publication Number Publication Date
CN111052104A true CN111052104A (zh) 2020-04-21
CN111052104B CN111052104B (zh) 2023-12-19

Family

ID=65435766

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880054752.2A Active CN111052104B (zh) 2017-08-25 2018-08-22 服务器请求管理

Country Status (6)

Country Link
US (2) US10834230B2 (zh)
JP (1) JP7023348B2 (zh)
CN (1) CN111052104B (zh)
DE (1) DE112018003482B4 (zh)
GB (1) GB2579330B (zh)
WO (1) WO2019038684A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737087A (zh) * 2020-06-30 2020-10-02 山东超越数控电子股份有限公司 身份信息显示方法及系统
CN111988187A (zh) * 2020-09-02 2020-11-24 姚武林 中央管理服务器的互联网连接方法及装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3556078B1 (en) * 2016-12-13 2021-10-13 FIMER S.p.A. A multi-client/multi-server managing method and system with a routine of rejection of already connected clients for balancing the system
US10834230B2 (en) 2017-08-25 2020-11-10 International Business Machines Corporation Server request management
JP7265652B2 (ja) 2019-05-31 2023-04-26 ナイキ イノベイト シーブイ 動的応答目標を備えるマルチチャネル通信プラットフォーム
CN110471749B (zh) * 2019-07-12 2023-04-25 平安普惠企业管理有限公司 任务处理方法、装置、计算机可读存储介质和计算机设备
CN112688982B (zh) * 2019-10-18 2024-04-16 北京京东振世信息技术有限公司 一种用户请求处理方法和装置
CN111917617B (zh) * 2020-07-31 2022-03-29 宁波奥克斯电气股份有限公司 智能家电设备控制方法、装置、服务器及存储介质
CN111897659B (zh) * 2020-09-29 2020-12-25 腾讯科技(深圳)有限公司 业务处理频率的控制方法、系统、装置、电子设备
US20220188271A1 (en) * 2020-12-10 2022-06-16 Microsoft Technology Licensing, Llc Framework for allowing complementary workloads/processes to bring in heavy load on a file collaboration platform
TWI760160B (zh) * 2021-03-26 2022-04-01 凌群電腦股份有限公司 降低伺服端運作壓力並提升回應時間之流量控制方法及其系統
US20230108553A1 (en) * 2021-10-05 2023-04-06 International Business Machines Corporation Handling a transaction request
US11983721B2 (en) * 2021-10-29 2024-05-14 Paypal, Inc. Computer software architecture for execution efficiency
CN115174296B (zh) * 2022-05-30 2024-03-22 青岛海尔科技有限公司 设备功能接入方法、装置、存储介质及电子装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030056030A1 (en) * 2001-07-30 2003-03-20 Yang Gao System and method for web-based remote procedure call (RPC)
US20130298150A1 (en) * 2011-03-23 2013-11-07 Ryohei Wakai Communication server, communication method, memory medium and integrated circuit
CN103885820A (zh) * 2012-12-19 2014-06-25 国际商业机器公司 信息处理装置和信息处理方法
CN105897836A (zh) * 2015-12-07 2016-08-24 乐视云计算有限公司 一种回源请求处理方法及装置
CN106940656A (zh) * 2016-01-04 2017-07-11 阿里巴巴集团控股有限公司 一种任务调度方法及装置

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07129510A (ja) * 1993-11-01 1995-05-19 Toshiba Corp コンピュータシステム
US5913028A (en) 1995-10-06 1999-06-15 Xpoint Technologies, Inc. Client/server data traffic delivery system and method
US6633914B1 (en) 1998-08-05 2003-10-14 International Business Machines Corporation Systems, methods and computer program products for handling client requests for server application processing using a thread pool
US6418464B1 (en) 1998-09-25 2002-07-09 Apple Compunter, Inc. Method and apparatus for coordination of client/server processes
CA2293062A1 (en) * 1999-12-22 2001-06-22 Ibm Canada Limited-Ibm Canada Limitee Efficient use of domain socket pairs in communication for tightly coupled transactions
US6922685B2 (en) 2000-05-22 2005-07-26 Mci, Inc. Method and system for managing partitioned data resources
US6996631B1 (en) * 2000-08-17 2006-02-07 International Business Machines Corporation System having a single IP address associated with communication protocol stacks in a cluster of processing systems
US7254228B2 (en) * 2000-09-28 2007-08-07 Eci Telecom Ltd. Method and system for effective utilizing the switching capacity of local exchanges
US7062567B2 (en) * 2000-11-06 2006-06-13 Endeavors Technology, Inc. Intelligent network streaming and execution system for conventionally coded applications
US8831995B2 (en) * 2000-11-06 2014-09-09 Numecent Holdings, Inc. Optimized server for streamed applications
US7185094B2 (en) 2001-03-30 2007-02-27 Sandcherry, Inc. Media session framework using a control module to direct and manage application and service servers
US20020152307A1 (en) * 2001-04-12 2002-10-17 Doyle Ronald Patrick Methods, systems and computer program products for distribution of requests based on application layer information
US7315892B2 (en) * 2001-06-27 2008-01-01 International Business Machines Corporation In-kernel content-aware service differentiation
US20030055969A1 (en) * 2001-09-17 2003-03-20 International Business Machines Corporation System and method for performing power management on a distributed system
JP4469535B2 (ja) * 2002-01-10 2010-05-26 富士通株式会社 情報処理システム、情報処理装置並びにアクセス分散方法
US20030229695A1 (en) * 2002-03-21 2003-12-11 Mc Bride Edmund Joseph System for use in determining network operational characteristics
US7171479B2 (en) 2002-04-26 2007-01-30 International Business Machines Corporation Efficient delivery of boot code images from a network server
US8082339B2 (en) 2003-02-28 2011-12-20 Hewlett-Packard Development Company, L.P. Electronic device network having graceful denial of service
US7567504B2 (en) * 2003-06-30 2009-07-28 Microsoft Corporation Network load balancing with traffic routing
US7698457B2 (en) 2003-11-12 2010-04-13 Andrei Ghetie Scalable and dynamic quality of service control
JP2005184165A (ja) 2003-12-17 2005-07-07 Hitachi Ltd トラフィック制御装置およびそれを用いたサービスシステム
US7610377B2 (en) * 2004-01-27 2009-10-27 Sun Microsystems, Inc. Overload management in an application-based server
JP2006031063A (ja) 2004-07-12 2006-02-02 Hitachi Ltd 優先制御装置
JP2006319841A (ja) * 2005-05-16 2006-11-24 Funai Electric Co Ltd サーバ装置及びクライアント・サーバシステム
US7925769B2 (en) * 2005-11-23 2011-04-12 International Business Machines Corporation Media flow converter for use in real-time delivery transactions
US8145719B2 (en) 2006-03-03 2012-03-27 Gogroups Method and system for messaging and communication based on groups
US7647454B2 (en) * 2006-06-12 2010-01-12 Hewlett-Packard Development Company, L.P. Transactional shared memory system and method of control
US8832286B2 (en) * 2007-11-12 2014-09-09 International Business Machines Corporation Method and system for controlling client access to a server application
US7979497B2 (en) * 2008-01-25 2011-07-12 International Business Machines Corporation Message delivery using a plurality of queue managers
US9071608B2 (en) 2008-04-28 2015-06-30 International Business Machines Corporation Method and apparatus for load balancing in network based telephony application
US7797415B2 (en) 2008-04-29 2010-09-14 Computer Associates Think, Inc. Automatic context-based baselining for transactions
US8316085B2 (en) * 2008-08-13 2012-11-20 Sk Planet Co., Ltd. Contents delivery system and method using object redirection, and GSLB switch thereof
US8135850B2 (en) 2008-11-25 2012-03-13 Citrix Systems, Inc. Systems and methods for load balancing real time streaming
US20120066501A1 (en) 2009-03-17 2012-03-15 Chuyu Xiong Multi-factor and multi-channel id authentication and transaction control
US8699343B2 (en) * 2009-04-27 2014-04-15 Sonus Networks, Inc. Adaptive rate control based on overload signals
US8103781B1 (en) 2009-05-01 2012-01-24 Google Inc. Mechanism for handling persistent requests from stateless clients
EP2441219B1 (en) * 2009-06-09 2013-03-13 Telefonaktiebolaget L M Ericsson (publ) Power-saving functions in communications networks
KR101674903B1 (ko) 2009-10-20 2016-11-11 삼성전자주식회사 개인 네트워크를 이용한 서비스 제공 방법 및 장치
US8200812B2 (en) * 2009-12-31 2012-06-12 International Business Machines Corporation Reducing workload on a backend system using client side request throttling
US8996611B2 (en) * 2011-01-31 2015-03-31 Microsoft Technology Licensing, Llc Parallel serialization of request processing
US8176357B2 (en) 2010-05-28 2012-05-08 Eastman Kodak Company System for handling storage system requests
US8762775B2 (en) 2010-05-28 2014-06-24 Intellectual Ventures Fund 83 Llc Efficient method for handling storage system requests
US8682310B2 (en) * 2010-05-28 2014-03-25 Telefonaktiebolaget L M Ericsson (Publ) Network-based area positioning for capacity and coverage improvement
US8892632B2 (en) 2010-06-04 2014-11-18 Microsoft Corporation Client-server interaction frequency control
EP2395710B1 (en) * 2010-06-08 2013-11-06 Alcatel Lucent Device and method for data load balancing
US8832061B2 (en) * 2010-07-02 2014-09-09 Salesforce.Com, Inc. Optimizing data synchronization between mobile clients and database systems
JP5582344B2 (ja) * 2010-08-09 2014-09-03 日本電気株式会社 接続管理システム、及びシンクライアントシステムにおける接続管理サーバの連携方法
US8645545B2 (en) 2010-11-24 2014-02-04 International Business Machines Corporation Balancing the loads of servers in a server farm based on an angle between two vectors
US9602414B2 (en) 2011-02-09 2017-03-21 Time Warner Cable Enterprises Llc Apparatus and methods for controlled bandwidth reclamation
WO2012114073A1 (en) * 2011-02-26 2012-08-30 British Telecommunications Public Limited Company Service session resource management
US8849900B2 (en) 2011-03-04 2014-09-30 Telcordia Technologies, Inc. Method and system supporting mobile coalitions
US9654601B2 (en) * 2011-03-14 2017-05-16 Verizon Digital Media Services Inc. Network connection hand-off and hand-back
JP5570030B2 (ja) 2011-03-29 2014-08-13 Kddi株式会社 サービス要求受付制御方法、装置およびシステム
US20130080635A1 (en) * 2011-09-23 2013-03-28 Loyal3 Holdings, Inc. Massively Scalable Electronic Gating System
EP2798816B1 (en) * 2011-12-29 2016-05-11 Koninklijke KPN N.V. Network-initiated content streaming control
US9285859B2 (en) 2011-12-29 2016-03-15 Khalifa University of Science, Technology, and Research British Telecommunications PLC Method and system for determining allocation of clients to servers
GB2506930A (en) 2012-10-15 2014-04-16 Ibm Improved request-response operation for asynchronous messaging
US9467326B2 (en) 2012-12-03 2016-10-11 Hewlett-Packard Development Company, L.P. Rate limiting mechanism based on device load/capacity or traffic content
CN103067359A (zh) 2012-12-14 2013-04-24 北京思特奇信息技术股份有限公司 一种基于连接复用的提高服务器并发处理能力的系统及方法
JP6106494B2 (ja) 2013-03-29 2017-03-29 株式会社東芝 通信制御装置、サーバ装置、通信システム及びプログラム
US9432269B2 (en) 2013-04-06 2016-08-30 Citrix Systems, Inc. Systems and methods for exporting application details using appflow
US10038626B2 (en) 2013-04-16 2018-07-31 Amazon Technologies, Inc. Multipath routing in a distributed load balancer
US10069903B2 (en) 2013-04-16 2018-09-04 Amazon Technologies, Inc. Distributed load balancer
US10362145B2 (en) * 2013-07-05 2019-07-23 The Boeing Company Server system for providing current data and past data to clients
US20150019686A1 (en) * 2013-07-12 2015-01-15 Seven Networks, Inc. Distributed caching systems with configurable extended caching optimization
US20150088970A1 (en) 2013-09-20 2015-03-26 Yottaa Inc. Systems and methods for managing loading priority or sequencing of fragments of a web object
US10104166B2 (en) * 2014-05-20 2018-10-16 Citrix Systems, Inc. Systems and methods for providing load balancing as a service
EP3037965A1 (en) 2014-12-22 2016-06-29 Oberthur Technologies Client-server communication
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
CN106301883B (zh) * 2015-06-26 2019-09-03 精工爱普生株式会社 网络系统、以及网络系统的控制方法
US10834230B2 (en) 2017-08-25 2020-11-10 International Business Machines Corporation Server request management

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030056030A1 (en) * 2001-07-30 2003-03-20 Yang Gao System and method for web-based remote procedure call (RPC)
US20130298150A1 (en) * 2011-03-23 2013-11-07 Ryohei Wakai Communication server, communication method, memory medium and integrated circuit
CN103885820A (zh) * 2012-12-19 2014-06-25 国际商业机器公司 信息处理装置和信息处理方法
CN105897836A (zh) * 2015-12-07 2016-08-24 乐视云计算有限公司 一种回源请求处理方法及装置
CN106940656A (zh) * 2016-01-04 2017-07-11 阿里巴巴集团控股有限公司 一种任务调度方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111737087A (zh) * 2020-06-30 2020-10-02 山东超越数控电子股份有限公司 身份信息显示方法及系统
CN111737087B (zh) * 2020-06-30 2023-08-04 超越科技股份有限公司 身份信息显示方法及系统
CN111988187A (zh) * 2020-09-02 2020-11-24 姚武林 中央管理服务器的互联网连接方法及装置
CN111988187B (zh) * 2020-09-02 2022-07-26 北京亿安天下科技股份有限公司 中央管理服务器的互联网连接方法及装置

Also Published As

Publication number Publication date
CN111052104B (zh) 2023-12-19
US20190068752A1 (en) 2019-02-28
DE112018003482T5 (de) 2020-04-09
US10749983B2 (en) 2020-08-18
WO2019038684A1 (en) 2019-02-28
US10834230B2 (en) 2020-11-10
JP7023348B2 (ja) 2022-02-21
JP2020531956A (ja) 2020-11-05
GB2579330B (en) 2020-11-11
US20190068751A1 (en) 2019-02-28
GB2579330A (en) 2020-06-17
DE112018003482B4 (de) 2022-09-08
GB202003654D0 (en) 2020-04-29

Similar Documents

Publication Publication Date Title
CN111052104B (zh) 服务器请求管理
US11070625B2 (en) Server connection capacity management
US20190109768A1 (en) Management of network slices and associated services
US8806030B2 (en) Multichannel connections in file system sessions
US10033659B2 (en) Reputation-based mediation of virtual control planes
AU2018345429B2 (en) Interaction between 5G and non-5G management function entities
US9882773B2 (en) Virtual resource provider with virtual control planes
US11782775B2 (en) Dynamic management of network policies between microservices within a service mesh
EP3119132B1 (en) Access port queuing & resource management
KR20220149597A (ko) 다수의 통신사들의 인접 mec 호스트들 간에 지리적으로 집중된 워크로드의 공유
US8667399B1 (en) Cost tracking for virtual control planes
JP2020028049A (ja) 通信制御装置、通信制御システム、通信制御方法および通信制御プログラム
US11576181B2 (en) Logical channel management in a communication system
US20180063015A1 (en) Method for prioritizing network packets at high bandwidth speeds
US11233785B2 (en) Secure systems and methods for hosted and edge site services
CN117322062A (zh) 通过验证切片sla保证的5g允许进入
EP4226598A1 (en) Overload protection for edge cluster using two tier reinforcement learning models
US11902826B2 (en) Acknowledgement of data packet transmission using RLC in am mode operating in 5G protocol stack with mitigation of RLC channel congestion
He et al. Customizing dependability attributes for mobile service platforms
CN113132188B (zh) 一种通信方法及网络设备
Sheriff et al. Machine Learning Based Technique to Dynamically Allocate a Network Slice Based On User Equipment Type And Network Slice Selection Function Factor For 5g Wireless Internet of Things Networks
Shuuya An investigation into dynamical bandwidth management and bandwidth redistribution using a pool of cooperating interfacing gateways and a packet sniffer in mobile cloud computing

Legal Events

Date Code Title Description
PB01 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