阻塞控制装置的制作方法

文档序号:7739961阅读:103来源:国知局
专利名称:阻塞控制装置的制作方法
技术领域
本发明涉及在WWW(Wrold Wide Web)等,在服务器装置和终端之间进行数据通信 的网系统中,设置在终端通信路径上的装置所具备的阻塞控制功能。
背景技术
由于便携终端的普及,在移动电话或PC等多个终端之间的、预定表等数据同步的 需求越来越增加。此外,可以预料,今后伴随终端的高性能化,对于照片或动画等大容量的 内容,同步的需要同样会增加。通过设置在中间的同步服务器协调数据同步处理,来进行这 些数据同步,但是,可以预料,随着数据同步需要的增加,对数据同步服务器施加的负荷激 增,因此,需要用于保护同步服务器请求集中,提供稳定的服务的阻塞控制功能。
作为现有的阻塞控制功能,例如,美国专利第7239609号提出了以下的技术在 Web服务器和Web客户机之间的路径上设置阻塞控制装置,在对于该Web服务器中继了推定 的处理能力以上的请求时,根据Web服务器的推定处理能力,向客户机响应根据Web服务器 的推定处理能力而控制的连接限制时间。(第二栏,48 59行)。 在终端和同步服务器之间进行数据同步的通信协议(例如SyncML)中,终端和同 步服务器之间的事务处理由来自终端的多次请求和来自同步服务器的针对这些请求的响 应构成,如图25的例子所示,各请求伴随状态迁移(以下将这些状态的各个状态称为状态 (state))。例如,在通信为"未初始化"的状态S200时,当进行初始化处理的请求并正常地 返回响应时,通信迁移到"已初始化"的状态S202。 因为对于请求的每个状态,给予同步服务器的负荷不同,所以对应请求的状态改 变阻塞控制的内容是有效的(例如,参照L.Massoulie and J. Roberts, "Arguments in favor of admission control for TCP FLOWS", ITC 16, 1999),但是当分析接收到的请求 来判断状态时,在请求集中时对于阻塞控制功能施加的负荷非常高,就无法提供阻塞控制 功能。 此外,同步服务器阻塞的一个原因在于同步服务器的数据库处理的延迟,但是由 于在同步中使用的数据库由于同步对象的数据而不同,所以需要考虑使用特定的数据库的 请求阻塞的可能性。

发明内容
本发明提供用于解决上述课题的阻塞控制装置或具备阻塞控制装置的同步服务 器。 本发明提供用于解决上述课题的、设置在终端和同步服务器之间的网络通信路径 上的阻塞控制装置,或者在同步服务器装置内具备的阻塞控制部。 本发明的阻塞控制装置或阻塞控制部的特征为具备根据同步服务器针对来自终 端的请求的响应,预测来自该终端的下一个请求的状态的功能,根据作为请求对象的每个 数据库的阻塞状态、预测的请求的下一状态的内容,预测来自该终端的请求的下一状态对同步服务器施加的负荷的程度(以下称为负荷等级)。 此外,阻塞控制装置或阻塞控制部的特征为将预测的负荷等级作为负荷信息追 加给来自服务器的响应然后向终端进行中继,终端在下次的请求中,将该负荷信息包含在 特定部分(例如HTTP的请求地址),该阻塞控制装置或阻塞控制部使用请求包含的该负荷 信息,进行拒绝请求或者使请求延迟的限制控制。 并且,其特征为在拒绝请求时,向终端发送表示拒绝了请求的响应,并向用户进 行通知。 并且,其特征为根据重复取得的、来自同步服务器的响应时间或从同步服务器通 知的信息,判断并调整每个数据库的处理能力或请求的状态的负荷程度。 该阻塞控制装置或阻塞控制部不解析全部的请求内容,根据容易解析的特定的部 分判断该请求对服务器施加的负荷,所以即使在请求集中时也可以高速地执行处理。
此外,阻塞控制装置或阻塞控制部,通过优先限制对同步服务器的处理施加高负 荷的请求,即使在请求集中时也可以使服务继续。 本发明更为具体的一个方式为一种阻塞控制装置,其设置在将终端和服务器装 置连接的网络通信路径上,具有中继部,其向服务器装置中继来自终端的请求,向终端中 继来自服务器装置的响应;判定部,其对来自服务器装置的响应进行解析,判定来自该终端 的请求的下一状态;测量部,其对来自终端的请求的每个发送目的地,测量服务器装置的处 理能力;预测部,其根据判断出的请求的下一状态和测量出的成为请求的发送目的地的服 务器装置的处理能力,分别对服务器装置预测下一请求对服务器装置施加的负荷,在服务 器装置的响应中附加预测的负荷的信息;限制部,其对从终端接收到的请求中附加的该负 荷信息进行解析,根据该负荷信息的内容,判定是否向服务器装置中继来自终端的请求,在 不进行中继而拒绝时,向终端通知不进行中继。 并且,测量部,可以根据对服务器装置针对向该服务器装置中继的请求的响应时 间进行测量后的结果,来决定服务器装置的处理能力。 并且,预测部,可以根据测量部测量的服务器装置针对各状态的请求的响应时间, 来推定请求的各状态对服务器装置施加的负荷。 还可以具备服务器状态取得部,其反复从服务器装置接收服务器装置的处理能力 的信息和各个状态的请求对所述服务器装置施加的负荷。此外,服务器状态取得部,以来自 服务器装置的通知为契机,接收服务器装置的处理能力的信息和各个状态的请求对服务器 装置施加的负荷。 还可以具备加密/解密部,其进行针对终端的响应中包含的负荷信息的加密,以 及进行来自终端的请求中包含的被加密的负荷信息的解密。 判定部还可以具有状态迁移表,其根据该状态迁移表判定请求的下一状态,状态 迁移表具有请求的目前状态、有无该请求包含的特定的标签、该请求包含的特定的标签的 值、以及该请求的下一状态的组合。 限制部,还可以在根据请求包含的负荷信息而拒绝该请求的中继时,根据该请求 包含的负荷信息,决定下一请求中应该包含的负荷等级低的负荷信息,回复包含了该负荷 信息的限制响应。 并且,还可以具有中继延迟部,其根据该请求包含的负荷信息,延迟向服务器装置的请求的中继。 并且,限制部,可以根据服务器的阻塞状态和请求包含的负荷信息,决定向服务器 装置的中继延迟时间,中继延迟部,根据决定的所述中继延迟时间,延迟请求的中继。
根据本发明,即使在数据同步请求集中时,也可以继续进行同步服务,可以高速地 实现数据同步处理。


图1举例表示了实施例1的阻塞控制装置的结构图。 图2举例表示了作为实施例1的阻塞控制装置使用的信息处理装置的结构图。
图3举例表示了在实施例1的存储装置中存储的请求管理信息的结构图。
图4举例表示了在实施例1的存储装置中存储的发送目的地管理信息的结构图。
图5举例表示了在实施例1的存储装置中存储的状态管理信息的结构图。
图6举例表示了来自实施例1的终端102的请求的结构图。
图7举例表示了来自实施例1的服务器装置的响应的结构图。
图8举例表示了实施例1的终端102、中继装置、同步服务器104之间的通信顺序 的示意图。 图9举例表示了实施例1的阻塞控制装置对从终端102接收的请求进行处理的流 程图。 图10举例表示了实施例1的阻塞控制装置对从服务器装置接收的响应进行处理 的流程图。 图11举例表示了实施例1的阻塞控制装置对从服务器装置接收的响应进行处理 的、从图10开始后续的流程图。 图12举例表示了实施例1的阻塞控制装置对服务器装置的响应追加负荷信息的 处理的流程图。 图13举例表示了在实施例1的存储装置中存储的状态迁移表的结构图。
图14举例表示了实施例2的阻塞控制装置的结构图。 图15举例表示了实施例2的阻塞控制装置对终端102发送的限制响应的结构图。 图16举例表示了实施例3的阻塞控制装置的结构图。 图17举例表示了来自实施例3的终端102的请求的结构图。 图18举例表示了实施例4的阻塞控制装置的结构图。 图19举例表示了实施例5的阻塞控制装置的结构图。 图20举例表示了在实施例5中从服务器装置接收的阻塞信息的结构图。 图21举例表示了在实施例5的存储装置中存储的发送目的地管理信息的结构图。 图22举例表示了在实施例5的存储装置中存储的状态管理信息的结构图。 图23举例表示了实施例5的阻塞控制装置对服务器装置的阻塞信息进行更新的
处理的流程图。 图24举例表示了实施例5的阻塞控制装置接收来自服务器装置的响应的处理的 流程图。 图25举例表示了数据的同步中的通信的状态迁移。
具体实施例方式
下面,参照附图对本发明的实施方式进行说明。 在以下各个实施例中,说明网络通信路径上的中继装置具备阻塞控制功能的情 形,但服务器装置也可以具备本阻塞控制功能。 如图l所示,本实施方式的通信系统包含使用进行数据同步的通信协议(例如 SyncML)来请求数据的同步的终端102、使用该通信协议与终端102对数据进行同步的同步 服务器104、在终端102和同步服务器104之间的网络通信路径140、 142上对数据进行中继 的中继装置100。中继装置100、终端102以及同步服务器104可以分别为多台。
如图1所示,中继装置100具备能够接收来自终端102的请求,并且发送响应的 网络接口 110 ;能够对同步服务器104发送请求,并且接收响应的网络接口 112 ;以及对请 求或响应进行中继的通信中继部114。 请求管理信息存储部130在与终端102的连接已确立的期间,在请求管理信息D80 中存储与请求有关的信息。 服务器状态管理部122测量同步服务器104的处理能力。具体地说,例如,测量来 自同步服务器104的针对中继的请求的响应时间,对于同步服务器104的发送目的地和同 步对象的数据库的每个组合,请求平均的响应时间。通过发送目的地管理信息存储部134 将每个组合的平均响应时间作为发送目的地管理信息D20进行存储。此外,根据同步服务 器104的响应的内容,判定请求的状态,求出请求的每个状态的平均的响应时间。通过状态 管理信息存储部132把每个状态的平均响应时间作为状态管理信息D40进行存储。
下次负荷等级决定 响应变更部124,对同步服务器104的响应进行解析,根据其 内容和状态迁移表D60,判定针对该响应的请求的下一状态。此外,根据请求的下一状态、状 态管理信息D40、发送目的地管理信息D20,对每个同步服务器104预测来自终端102的请 求的下一状态施加的负荷等级。 并且,对来自同步服务器104的响应附加包含预测的负荷等级的信息。终端102 在接收到包含该负荷信息的响应时,在下一发送的请求中包含该负荷信息来进行发送。
负荷信息分析 变更部116,取得并解析来自终端102的请求中包含的负荷信息。
为了排除负荷信息的改变等对于限制的非法操作,可以设置加密 解密部118,在 对负荷信息进行加密后追加到响应中。加密算法可以是公共密钥、公开密钥中的某一种,可 以通过公知的方法进行密钥的共有或取得。在对取得的负荷信息进行了加密时,负荷信息 分析 变更部116在由加密 解密部118进行了解密后进行解析。 请求限制判定 相应部120,根据解析后的负荷信息的内容和发送目的地管理信 息D20,判定是否限制请求,在不中继请求而拒绝时,作为响应向终端120回复通知不进行 中继的消息。 图2表示实现本实施方式的中继装置100的电子计算机的物理结构。本实施方式 的中继装置100具有执行程序,实现以下说明的处理的处理器501 ;读入并临时保存要执 行的程序或数据的存储装置502 ;用于输入来自外部的指示或信息的输入装置503 ;存储程 序的实体、指示、信息等,作为数据的存储单元使用的盘装置504 ;在中继装置100的内部和 外部之间控制数据交换的通信控制装置505 ;用于在中继装置100的内部进行数据交换的总线等内部通信线506 ;用于在中继装置100的内部和外部装置之间进行数据交换的外部 通信线路507。 处理器501执行在盘装置504中存储的程序,根据需要与各装置进行协作,同时实 现图1所述的中继装置的各处理部。 上述程序首先可以存储在中继装置100内的存储装置501或盘装置504中,在需 要时,可以从上述中继装置IOO可以使用的能够拆装的存储介质,或者经由通信介质(网络 140或142,或在其上传播的载波或数字信号等)从其他的装置进行导入。
图3是在本实施方式的中继装置100与终端102确立了连接的期间,请求管理信 息存储部130存储的请求管理信息D80的一例。作为项目,请求管理信息D80具有请求的 状态D82、请求用于确定成为发送目的地的同步服务器104和数据库的发送目的编号D84、 表示请求将要对同步服务器104施加的负荷的程度的负荷等级D86、中继装置100把从终端 102接收到的请求发送给同步服务器104的时刻,即请求发送时刻D88。
图4是发送目的地管理信息存储部134存储同步服务器104和数据库的每个组合 的平均响应时间的发送目的地管理信息D20的一例。作为项目,发送目的地管理信息D20 具有表示同步服务器104的发送目的地地址的发送目的地服务器D22、表示进行同步的数 据库的发送目的地数据库D24、作为对于发送目的地D22和发送目的地数据库D24的组合, 给予的固有的数值的发送目的地编号D26、针对各个发送目的地编号D26的作为来自同步 服务器104的响应时间的平均的平均响应时间D28。 图5是状态管理信息存储部132存储请求的每个状态的同步服务器104的平均响 应时间的状态管理信息D40的一例。作为项目,状态管理信息D40具有表示请求的状态的 状态名称D42、作为每个状态的来自服务器的响应时间的平均的平均响应时间D44、用于手 动地对各个状态赋予优先级的修正参数D46。 图13是用于下次负荷等级决定 响应变更部124根据当前的状态和响应中包含 的特定的标签的值,决定请求的下一状态的状态迁移表D60的一例。作为项目,状态迁移表 D60具有当前状态D62、与响应包含的特定的标签有关的条件D64-N、请求的下一状态D66。
图6是对数据同步的通信协议使用SyncML/HTTP (Hyper Text TransferProtocol),终端102对同步服务器104发送的请求MIOO的一例。请求M100具有 请求URI (M102)。 图7是对数据同步的通信协议使用SyncML/HTTP,同步服务器104对终端102的请 求发送的响应M200的一例。作为项目,响应M200包含响应的顺序编号M202、同步服务器 104的地址M204、同步对象的数据库的地址M206、终端102在下一次的请求中在请求URI中 使用的地址(以下称为响应URI)M208。
图8是第一实施例的通信顺序的一例。 首先,终端102发送用于数据同步的初始化处理的请求,中继装置100的网络接口 110进行接收(S102)。中继装置100通过处理F200(后述),将当前时刻存储在请求管理 信息D80的请求发送时刻D88中,然后将请求发送给同步服务器104(S104)。同步服务器 104发送针对初始化请求(S100)的响应(M200),中继装置100的网络接口 112接收该响应 (S110)。中继装置100通过处理F300(后述),根据接收到响应的时刻和响应发送时刻D88 的差分,求出经过时间S108,并根据响应M200具有的同步服务器104的地址M204、同步对
8象的数据库名称M206、以及经过时间S108,追加发送目的地管理信息D20的信息。
此外,中继装置100的下次负荷等级决定 响应变更部124,根据响应M200和状 态迁移表D60判定下一请求的状态,使用判定出的下一请求的状态、状态管理信息D40、发 送目的地管理信息D20,预测来自终端102的下一请求的负荷等级。然后,作为参数在包 含来自同步服务器104的响应的响应URI(M208)中追加负荷信息,然后将响应发送给终端 120(S112),上述负荷信息包含负荷等级、对发送目的地的同步服务器104以及数据库进 行识别的识别编号、以及下一请求的状态。并且,可以设置加密*解密部118,对上述负荷信 息进行加密。 在各个实施例中,因为根据来自终端的请求中包含的负荷信息来进行中继装置 100的控制,所以各处理部不需要知道从终端接收到的多个请求的不同状态是构成相同的 请求的,还是包含在不同的请求中的。 终端102把响应M200的响应URI (M208)的值用于请求URI (M102)中来发送请 求MIOO,中继装置100的网络接口 110接收该请求M100(S114)。中继装置100通过处理 F200(后述),对请求URI (M102)包含的实施了加密的负荷信息进行解密,根据请求的负荷 等级和请求的发送目的地的平均响应时间,判断进行中继或不进行中继,在不对请求进行 中继而拒绝时,作为响应向终端102回复表示不进行中继的消息(限制消息)(S116)。接收 到限制消息的终端102将通信中断,之后有可能在中途重新开始通信。
在终端102再次发送了请求MIOO时,中继装置100的网络接口 110接收该请求 (Sl 18),通过处理F200 (后述),根据请求的负荷等级和请求的发送目的地的平均响应时间 进行判断,在向同步服务器104进行中继时,负荷信息分析 变更部116删除请求的请求 URI(M102)包含的负荷信息来进行中继(S120)。 图9是表示中继装置100的网络接口 110从终端120接收到请求时的中继装置 100的详细的动作的流程图,相当于图8的F200。当网络接口 IIO接收到来自终端102的 请求时(F200),负荷信息分析 变更部116判定在请求的URI (M102)中是否存在负荷信息 (F202)。在不存在负荷信息时,将当前时刻存储在请求发送时刻D88中,向同步服务器104 中继请求(F212)。在存在负荷信息时,使用秘密密钥对负荷信息进行解密。解密后的负荷 信息包含负荷等级、发送目的地编号、状态,请求管理信息存储部130将各个值分别设定在 请求管理信息D80的负荷等级D86、发送目的地编号D84以及请求状态D82中(F204)。负 荷信息可以包含多个发送目的地编号,此时,还设定多个发送目的地编号D84。
请求限制判定《响应部120,把在发送目的地管理信息D20具有与发送目的地编号 84相同的值的发送目的地编号D26的平均响应时间D28与负荷等级D86进行比较,判定是 否限制请求(F206)。以下表示了用于比较的数学式的一例。数学式中的a 、 13 、 Y是作为 参数预定的常数。(负荷等级D86) X a + (平均响应时间D28) X |3 < Y (数学式1)
在发送目的地编号D26为多个时,使用平均响应时间D28最大的发送目的地编号 D26。在数学式1的结果为假时,如S116那样,不向同步服务器104中继终端102的请求而 进行拒绝,作为响应向请求源的终端102回复表示不进行中继的消息(F210)。在数学式1 的结果为真时,如S120那样,从请求的请求URI(M102)中删除负荷信息(F208),将当前时刻 存储在请求发送时刻D88中,向同步服务器104中继请求(F212)。
图10、图11以及图12是表示网络接口 112从同步服务器104接收到响应时的中 继装置100的详细动作的流程图,相当于图8的F300。 当网络接口 112接收到来自同步服务器104的响应时(F300),服务器状态管理部 122测量从请求发送时刻D88到当前时刻的经过时间,将其作为响应时间(F302)。然后,判 定请求状态D82是否在F204中已经进行了设定(F304)。如果已经设定,则服务器状态管理 部122进行以下的处理。 首先,在状态管理信息D40中对与请求状态D82为相同值的状态名称D42的平均 响应时间进行更新(F306),判定是否存在多个发送目的地编号D84 (F308),如果发送目的 地编号D84不是多个,则在发送目的地管理信息D20中对与发送目的地编号D84为相同值 的发送目的地编号D26的平均响应时间进行更新。 当在F304中没有设定请求状态D82时,对来自服务器的响应M200进行解析,取得 顺序编号(M202)来判定值是否为1 (图11的F404),在值不是1时结束处理。如果值为1, 则将请求状态D82设定为(Initialize) (F406),对响应M200进行解析,取得发送目的地服 务器(M204)和发送目的地数据库(M206) (F408)。取得的发送目的地服务器(M204)和发送 目的地数据库(M206)的组合为一个(F410),且如果存在于发送目的地管理信息D20的发 送目的地服务器D22和发送目的地数据库D24的组合中(F412),则更新与相同的组合对应 的平均响应时间D28。如果不存在,则在发送目的地管理信息D20中追加发送目的地服务 器(M204)和发送目的地数据库(M206)的组合,并设定唯一的发送目的地编号D26和平均 响应时间D28(F414)。 然后,服务器状态管理部122在请求管理信息D80的发送目的地编号D84中设定 与发送目的地服务器(M204)和发送目的地数据库(M206)的组合对应的发送目的地编号 D26,更新状态管理信息D40的状态名称D42为"Initialize"的平均响应时间D44(F420)。
当F300及其以后的处理正常结束(F310)时,下次负荷等级决定《响应变更部124 取得在响应中包含的响应URI(M208)(图12的F502)。然后,在状态迁移表D60中,具有与 请求状态D82相同值的当前状态D62,判定Alert标记的代码(M210)或Final标签(M212) 的有无一致的行,决定下一状态66 (F504)。 此外,下次负荷等级决定 响应变更部124在发送目的地管理信息D20中,求出 与发送目的地编号D84为相同值的发送目的地编号D26的平均响应时间D28 (F506),在状 态管理信息D40中,根据与下一状态D66为相同值的状态D42的平均响应时间D44、修正参 数D46、在F508中求出的平均响应时间D28,预测来自该终端102的下一请求的负荷等级 (F508)。在存在多个发送目的地编号D84时,使用平均响应时间D28最大的发送目的地编 号D84。以下表示了预测负荷等级的数学式的一例。数学式中的a、 13、 y是作为参数预 定的常数。该常数的值可以和数学式1的常数的值不同。<formula>formula see original document page 10</formula> (数学式2) 下次负荷等级决定 响应变更部124,通过加密 解密部118对求出的负荷等级、 发送目的地编号D84以及下一状态D66实施加密来作为负荷信息,将该负荷信息作为CGI 参数追加到在F502中取得的响应URI(M208)的值中(F510)。如上所述,加密并非是必须 的。
如上所述,根据本实施例,可以提供一种阻塞控制功能,其根据同步服务器104针 对来自终端102的请求的响应,预测来自该终端102的下一请求对同步服务器104的处理 施加的负荷等级,作为负荷信息对终端102进行响应,使用来自终端102的下一次的请求包 含的该负荷信息来控制请求。
(实施例2) 第二实施例是这样的实施方式亦即,在阻塞控制装置即中继装置根据来自终端 102的请求包含的负荷等级,限制了请求的中继时,使来自该终端102的下一请求的负荷等 级降低。 图14表示实施例2的通信系统的一结构例。中继装置100-B具备响应URI作成 部128,其作成在来自终端102的下一请求的请求URI中使用的响应URI。除此以外的结构 与实施例1的中继装置100相同。此外,在处理器501执行程序,根据需要与各装置进行协 作,同时实现各处理部这一点上,也是同样的。 表示实施例2的中继装置100-B从终端102接收请求时的详细的动作的流程图, 在以下的点上与实施例1的图9的流程图不同。当在F206中不对请求进行中继而拒绝,作 为响应向终端102回复表示不进行中继的消息时,代替F210,响应URI作成部128作成与 当前的请求中包含的等级相比降低了负荷等级的响应URI,向终端102回复包含该响应URI 的响应。终端102在下一次发送的请求的请求URI中使用接收到的、负荷等级降低后的该 响应URI的值。其他的流程F100到F500的处理与实施例1相同。 如下表示响应URI作成部128作成将负荷等级降低后的响应URI (M302)的顺序。 首先,响应URI作成部128使负荷等级D86降低预定的比例或预定的值。然后,通过加密《解 密部118使用秘密密钥对请求状态D82、发送目的地编号D84、负荷等级D86进行加密来作 成负荷信息,把请求的请求URI中的负荷信息的部分被置换为新作成的负荷信息后的值作 为URI的值。其中,与上述相同,加密和解密不是必须的。 图15是在实施例2的F216中,中继装置100-B向终端102回复的响应(M300)的 一例。该响应(M300)包含响应URI(M302)。 如上所述,根据本实施方式,在中继装置IOO-B不对来自终端102的请求进行中继 时,向终端102回复包含使负荷等级减低后的响应URI的限制响应,降低来自该终端102的 下一次的请求包含的负荷等级。由此,可以提供来自被拒绝中继的终端102的请求的负荷 等级比上次的请求低,优先从限制对象中删除的阻塞控制功能。
(实施例3) 第三实施例是在终端102和阻塞控制装置,即中继装置100之间的负荷信息的交 换中,使用HTTP的cookie,使用该负荷信息对请求的中继进行限制的实施方式。
图16表示实施例3的通信系统的一结构例。中继装置100-C具备进行来自 终端102的请求包含的HTTP头部字段"Cookie"的解析和删除的Cookie解析 删除部 136 ;以及预测下次的请求的负荷等级,对于来自同步服务器104响应,作为HTTP头部字段 "Set-Cookie"追加该负荷等级的信息的下次负荷等级决定'Cookie追加部138。除此以外 的结构可以与实施例1的中继装置100的结构相同。此外,在处理器501执行程序,根据需 要与各装置进行协作,同时实现各处理部这一点上,也相同。 图17是在实施例3中,中继装置100-C在来自同步服务器104的响应中作为
11Cookie追加负荷信息,发送给终端102的响应(M400)、以及接收该响应终端102发送的请 求的一例(M500)。响应(M400)具有记述了负荷信息的"Set-Cookie"头部字段(M402)。此 外,请求(M500)具有记述了负荷信息的"Cookie"头部字段(M500)。表示实施例3的中继装置100-C从终端102接收请求时的详细动作的流程图,在 以下的点与实施例1的图9的流程图不同。首先,当网络接口 IIO接收到来自终端102的请 求时(F200),代替F202, Cookie解析*删除部136判定在HTTP的Cookie头部字段(M502) 中是否存在负荷信息。此外,当在F206中不限制请求时,代替F208, Cookie解析 删除部 136删除包含负荷信息"Cookie"头部字段。除此以外的处理与实施例的处理相同。
表示实施例3的中继装置100-C接收来自同步服务器104的响应,下次负荷等级 决定 Cookie追加部138决定下次请求的等级,并追加Cookie时的详细动作的流程图,在 以下的点与实施例1的图12的流程图不同。在实施例3中,代替F508,下次负荷等级决 定'Cookie追加部138在来自同步服务器104的响应中作为HTTP的"Set-Cookie"头部字 段(M502)追加预测的负荷等级。除此以外的处理与实施例1的处理相同。
如上所述,根据本发明,可以提供中继装置IOO-C在同步服务器104的响应中作 为HTTP的Cookie追加下一次请求的负荷等级,使用来自终端102的请求包含的HTTP的 Cookie具有的负荷信息,来限制请求中继的阻塞控制功能。
此外,本实施方式还可以与实施例2进行组合。
(实施例4) 第四实施例是这样的实施方式亦即,阻塞控制装置即中继装置100,根据来自终 端102的请求包含的负荷信息的值,使向服务器装置的请求的中继延迟一定时间。在本实 施例中,因为不拒绝请求的中继,所以不回复限制响应。 图18表示实施例4的通信系统的一结构例。中继装置100-D具备将向同步服务 器104的请求的中继保留一定时间的中继延迟部150。除此以外的结构与实施例1的中继 装置100相同。此外,在处理器501执行程序,根据需要与各装置协作,同时实现各处理部 的点上,也是同样的。 表示实施例4的中继装置100-D从终端102接收请求时的详细动作的流程图,在 以下的点上与实施例1的图9的流程图不同。在实施例4中,代替F206,请求限制判定《响 应部120使用在发送目的地管理信息D20中具有与发送目的地编号84相同的值的发送目 的地编号D26的平均响应时间D28、负荷等级D86,求出值y。以下表示求出值y的数学式 的一例。数学式中的a、!3、Y是作为参数预定的常数。该常数的各值可以和数学式1、数 学式2的各值不同。 y =(负荷等级D86) X a + (平均响应时间D28) X |3 (数学式3)
如果值Y在预定的数值(Y')以上(Y' < Y),则对请求源的终端102回复限 制响应(F210),如果在比预定的该值(y')低的数值(Y ")以下(Y < Y "),则对请求进 行中继。除此之外,如果(Y"< Y < Y'),则中继延迟部150将该请求的中继保留一定 时间。除此以外的处理与实施例l相同。中继延迟部150保留请求的中继的时间可以是预 定的时间,也可以对应根据负荷等级D86和平均响应时间D28求出的y值而不同。
如上所述,根据本实施例,可以提供这样的阻塞控制功能亦即,根据来自终端 102的请求包含的负荷信息,中继装置100-D延迟向同步服务器104的中继,避免向同步服务器104的请求的集中,由此,来减轻阻塞。 此外,本实施方式还可以和实施例3组合。(实施例5) 第五实施例是这样的实施方式亦即,不根据同步服务器104的响应时间预测同步服务器104的阻塞状态和各个状态的消息对同步服务器104的处理施加的负荷的大小,而是与同步服务器104进行通信来从同步服务器104取得同步服务器104的阻塞状态和各个状态的消息对同步服务器104的处理施加的负荷的大小。 图19表示实施例5的通信系统的一结构例。同步服务器104-B具备以下的功能测量每个数据库的处理能力和各个状态的消息对同步服务器104-B的处理施加的负荷的大小,将该信息(以下称为阻塞信息)经由通信线路传送给同步服务器104-B。中继装置100-E具备经由通信线路从同步服务器104-B接收该阻塞信息的服务器状态取得部160。在服务器状态取得部160和同步服务器104-B的通信协议中,例如使用HTTP。图20是包含服务器状态取得部160从同步服务器104-B重复取得的阻塞信息的HTTP消息M600的一例。
图21是实施例5的状态管理信息存储部132存储的状态管理信息D50的一例。代替实施例1的状态管理信息D40的平均响应时间D44,把从同步服务器104-B取得的各状态的消息对同步服务器104的处理施加的负荷作为负荷状态D52进行存储。
图22是实施例5的发送目的地管理信息存储部134存储的发送目的地管理信息D30的一例。代替实施例1的发送目的地管理信息D30的平均响应时间D28,把从同步服务器104-B取得的每个数据库的处理能力作为负荷状态D32进行存储。
图23是以重复(例如每次经过预定的时间)或者来自同步服务器104的通知为契机,对发送目的地管理信息D30和状态管理信息D50的值进行更新时的流程图。首先,服务器状态取得部160取得同步服务器104-B具有的每个发送目的地数据库的负荷状态的信息(F702)。可以从服务器状态取得部160向同步服务器104-B发出请求来取得该信息,还可以从同步服务器104-B以推入(PUSH)方式进行传送。然后,在发送目的地管理信息D30中,对与取得的发送目的地数据库相同的发送目的地数据库D24的负荷状态D32的值进行更新(F704)。同样地,服务器状态取得部160取得同步服务器104-B具有的每个状态的负荷状态的信息(F706),在状态管理信息D50中,对与取得的状态名称相同的状态名称D42的负荷状态D52的值进行更新(F708)。可以通过一次的通信一并取得每个发送目的地数据库的负荷状态和每个状态的负荷状态。 表示实施例5的网络接口 110从终端102接收到请求时的中继装置100-E的详细动作的流程图,在以下的点上与实施例1的图9的流程图不同。取代实施例1的图9的F206将负荷等级D86和平均响应时间进行比较,在实施例5中将负荷等级D86与负荷状态D32进行比较。此外,不进行实施例1的图9的F212。除此之外,与实施例1的图9的处理相同。此外,在处理器501执行程序,根据需要与各装置进行协作,同时实现各处理部这一点上,也相同。 图24是中继装置100-E从同步服务器104-B接收针对中继的请求的响应时的流程图。F516使用发送目的地管理信息D30的负荷状态D32,来代替在实施例1的图12的F506中使用的平均响应时间D28。 F518使用状态管理信息D50的负荷状态D52,来代替在实施例1的图12的F508中使用的平均响应时间D44。除此以外的处理与实施例1的图10、11、 12的处理相同。 如上所述,根据本实施例,可以提供这样的阻塞控制功能亦即,中继装置100-E从同步服务器104取得每个数据库的同步服务器104的处理能力、各个状态的消息对同步服务器104的处理施加的负荷的信息,使用该信息来减轻同步服务器104的阻塞
此外,本实施方式可以和实施例2、实施例3、实施例4进行组合。
权利要求
一种阻塞控制装置,其设置在连接终端和服务器装置的网络通信路径上,其特征在于,具有中继部,其向所述服务器装置中继来自所述终端的请求,向所述终端中继来自所述服务器装置的响应;判定部,其对来自所述服务器装置的所述响应进行解析,判定来自该所述终端的所述请求的下一状态;测量部,其对来自所述终端的请求的每个发送目的地,测量所述服务器装置的处理能力;预测部,其根据判断出的所述请求的下一状态和测量出的成为所述请求的目的地的所述服务器装置的处理能力,按所述服务器装置类别预测所述下一请求加给所述服务器装置的负荷,在所述服务器装置的响应中附加预测的所述负荷的信息;限制部,其对从所述终端接收到的请求中附加的该负荷信息进行解析,根据该负荷信息的内容,判定是否向服务器装置中继来自所述终端的请求,在不中继而拒绝时,向所述终端通知不进行中继。
2. 根据权利要求l所述的阻塞控制装置,其特征在于,所述测量部,根据对所述服务器装置针对向该服务器装置中继的请求的响应时间进行 测量所得的结果,来决定所述服务器装置的处理能力。
3. 根据权利要求1或2所述的阻塞控制装置,其特征在于,所述预测部,根据所述测量部测量的所述服务器装置针对所述各状态的请求的响应时 间,来推定所述请求的各状态加给服务器装置的负荷。
4. 根据权利要求1至3的任意一项所述的阻塞控制装置,其特征在于, 还具备服务器状态取得部,其从所述服务器装置接收所述服务器装置的处理能力的信息和各个状态的请求加给所述服务器装置的负荷。
5. 根据权利要求1至4的任意一项所述的阻塞控制装置,其特征在于, 还具备服务器状态取得部,以来自所述服务器装置的通知为契机,从所述服务器装置接收所述服务器装置的处理能力的信息和各个状态的请求加给所述服务器装置的负荷。
6. 根据权利要求1至5的任意一项所述的阻塞控制装置,其特征在于, 还具备加密/解密部,其进行针对所述终端的响应中包含的所述负荷信息的加密,以及进行来自所述终端的请求中包含的被加密的负荷信息的解密。
7. 根据权利要求1至6的任意一项所述的阻塞控制装置,其特征在于, 所述判定部,具有状态迁移表,根据该状态迁移表判定所述请求的下一状态,所述状态迁移表,具有请求的目前状态、有无该请求包含的特定的标签、该请求包含的特定的标签的 值、以及该请求的下一状态的组合。
8. 根据权利要求1至7的任意一项所述的阻塞控制装置,其特征在于, 所述限制部在根据所述请求包含的负荷信息而拒绝该请求的中继时,根据该请求包含的所述负荷信息,决定下一请求中应该包含的负荷等级低的负荷信息,回复包含有该负荷 信息的限制响应。
9. 根据权利要求1至8的任意一项所述的阻塞控制装置,其特征在于,还具有中继延迟部,其根据所述请求包含的负荷信息,延迟所述请求向所述服务器装 置的中继。
10.根据权利要求9所述的阻塞控制装置,其特征在于,所述限制部,根据所述服务器的阻塞状况和请求包含的负荷信息,决定向所述服务器 装置的中继延迟时间,所述中继延迟部,根据决定的所述中继延迟时间,延迟所述请求的中继。
全文摘要
在服务器装置发生阻塞时,优先限制对服务器装置的处理施加高负荷的请求。在终端(102)和服务器装置之间的阻塞控制装置中,根据服务器装置针对来自终端(102)的请求的响应,预测来自该终端(102)的下一通信顺序的请求对服务器装置施加的负荷,将该负荷作为负荷信息追加到向终端(102)的响应中。之后,来自终端(102)的请求包含该负荷信息,阻塞控制装置根据该负荷信息控制请求的限制。
文档编号H04L12/56GK101795224SQ201010003398
公开日2010年8月4日 申请日期2010年1月19日 优先权日2009年1月20日
发明者木下雅文, 相乐恭宏 申请人:株式会社日立制作所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1