CN1773935B - 用于为执行Web应用控制通信的计算机和方法 - Google Patents

用于为执行Web应用控制通信的计算机和方法 Download PDF

Info

Publication number
CN1773935B
CN1773935B CN2005101095921A CN200510109592A CN1773935B CN 1773935 B CN1773935 B CN 1773935B CN 2005101095921 A CN2005101095921 A CN 2005101095921A CN 200510109592 A CN200510109592 A CN 200510109592A CN 1773935 B CN1773935 B CN 1773935B
Authority
CN
China
Prior art keywords
web
application
bandwidth
users
priority
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.)
Expired - Fee Related
Application number
CN2005101095921A
Other languages
English (en)
Other versions
CN1773935A (zh
Inventor
冈田明
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 CN1773935A publication Critical patent/CN1773935A/zh
Application granted granted Critical
Publication of CN1773935B publication Critical patent/CN1773935B/zh
Expired - Fee Related 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]
    • 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
    • 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/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/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

在用于利用Web应用提供远程办公室的环境的系统中,通过利用空闲宽带为要求处理的快速执行的应用动态地分配较宽带宽,来提高操作的效率。为实现以上目的,本发明提供一种通过网络接收来自终端的访问并执行Web应用的服务器,其具有用于管理对Web应用设置的数据传输的优先级的优先级管理表(144),用于管理每一Web应用的用户数的用户管理表(143),以及应用执行部分(120),其用于在具有不同优先级的多个Web应用执行数据传输时,将根据每一Web应用的优先级和用户数确定的带宽分配给至少一个Web应用的数据传输。

Description

用于为执行Web应用控制通信的计算机和方法
技术领域
本发明涉及用于在执行Web应用的情况下控制通信的系统,更具体地,涉及用于执行服务器与其使用多个会话的终端之间的通信控制的系统。
背景技术
现今,已通过使用计算机网络(下文简称为网络)来连接中心系统(下文称作中心)和远离该中心的远程办公室,而实现了业务实现。对于远程办公室来说,根据业务需求从一个终端通过网络访问该中心的一个服务器,以及使用所期望的应用或者下载和/或上载数据,都是相当普遍的。因特网之类的基于Web的网络已变得很普遍,目前,由远程办公室使用的应用越来越多地以Web应用(Java(美国Sun MiicroSystems的注册商标)小服务程序等)的形式来提供。
如果每个应用都通过专用通信线路被使用,那么每一应用所需的带宽可以得到固定地确保。另一方面,在每个应用都以Web应用的形式来提供的情况下,如果多个应用被同时使用,那么该通信线路的带宽必须由这些应用共享。
在通过从远程办公室的终端访问中心的服务器而执行的大量业务中,有一些被要求在一侧快速地执行其处理,而有一些可能在执行处理的时间上没有严格的限制。因此,如果将带宽平等地划分给执行中的应用,则在某些类型的应用中操作效率可能会较低。
例如,在远程办公室,用于接收货物订单或用于订购货物的业务处理优选应该快速执行。另一方面,下载数据的处理的特点是不太要求快速性,而是在下载的执行期间要求通信线路的持续使用。所以,如果接收订单、进行订购的处理以及执行下载的处理同时执行,前者的处理,也就是接收订单及进行订购的处理不管其是否要求快速性都肯定被延迟,结果,操作效率将会降低。
为了向要求快速执行的业务,诸如上面提到的用于接收订单或进行订购的业务,提供在通信线路使用上的高优先级,可以设计一种根据应用类型分配带宽的控制方法。根据这一控制方法,将宽带宽分配给要求处理的快速执行的应用,而将窄带宽分配给不要求处理的快速执行的应用,并且在使用分配了宽带宽的应用的情况下,不管其他应用是否同时在使用中,处理的快速执行都是可行的。
此外,作为其中实行带宽的不等分配的执行通信控制的传统技术,提出有这样一种控制方法,该方法根据使用应用的用户本身或根据访问应用的终端来确定带宽的分配(例如,参考专利文献1和2)。根据该传统技术,在某个被分配了宽带宽的特定用户已登陆的情况下,该用户可以为意欲使用宽带宽的应用利用该宽带宽,因此可以通过高速通信来实现处理的快速执行,而不管其他用户对其他应用的使用。
[专利文献1]
日本待审查专利公布(kokai)2000-92123
[专利文献2]
日本待审查专利公布(kokai)2003-16031
发明内容
如上所述,存在这样一种传统技术,即为了防止用于依靠计算机网络来实现远程办公室的系统中操作效率的降低,其根据应用或用户来不等分配带宽,而不是将带宽平等分配给多个会话。
但是,在根据应用的类型设置带宽的控制方法中,分配给每一应用的带宽必须被固定设置,因此即使一个给定应用被独有地使用,也只有设置给该应用的带宽才被允许使用。从操作效率的观点看,最好实现一种动态控制,其在其他应用目前未在使用中的状态下,即使正在使用中的应用所执行的操作不要求任何处理的快速执行,也可允许所有的未被使用带宽能为这样的应用所利用。但是,这样的控制是不可能的。
在向每一用户或每一终端分配可用带宽的传统技术中,根据登陆用户来确定该可用带宽。因此,如果被分配了窄带宽的某一用户希望执行要求处理的快速执行的操作,则会产生操作效率的急剧降低。另一方面,可以为每一用户限制可用应用,以便只将宽带宽分配给需要执行要求处理的快速执行的用户。但是,在这种情况下,被分配了窄带宽的用户只能使用所分配的窄带宽,而不管是否有任何其他登陆用户存在。这样,就存在提高操作效率方面的限制。
因此,本发明的目的在于,在能够通过Web应用的执行提供远程办公室环境的系统中,通过实现利用未被使用的带宽将较宽带宽分配给需要被快速处理的操作的应用的动态控制,来提高远程办公室中的操作效率。
为了实现以上目的,本发明实现为如下的计算机。服务器,即该计算机通过网络接受来自终端的访问并执行Web应用。其特征在于,该服务器具有用于管理对Web应用设置的数据传输的优先级的优先级管理表,用于管理每一Web应用的用户数的用户管理表,以及应用执行部分,其用于在优先级相互不同的多个Web应用被同时使用时,将根据存储在优先级管理表中的各Web应用的优先级所形成的特定比例和存储在用户管理表中的每一Web应用的用户数指定的带宽动态地分配给伴随着被设置了特定优先级的至少一个Web应用的使用的数据传输。
更详细地,应用执行部分通过以脉冲串为单位在每一传输中插入某一时间段的休眠,来控制对数据传输的带宽分配。此外,应用执行部分将带宽分配给各个优先级的Web应用的单个会话中的数据传输,以便以根据每一Web应用的优先级设置的特定比例来实现分配。
另一方面,替代上面描述的带宽分配,这一应用执行部分将带宽分配给每一Web应用,以便实现根据每一Web应用的优先级设置的特定比例的分配,并可进一步根据相应Web应用的用户数来划分分配给每一Web应用的带宽,由此获取分配给所述Web应用中的单个会话的带宽。此外,在执行使用被分配了特定优先级的Web应用中的一个的多个会话的情况下,这一应用执行部分也可使用分配给伴随着所述Web应用的使用的数据传输的带宽,执行每一会话中的数据传输。
此外,该计算机可以被配置为具有用于以用户使用的通信线路为单位管理用户信息的用户管理表。在这种情况下,如果根据存储在用户管理表中的用户信息判断多个同时使用的Web应用通过利用公用通信线路被使用,则该应用执行部分根据它们的优先级将带宽分配给多个Web应用。
根据另一方面,为了实现以上目的,本发明还实现如下的计算机。服务器,即该计算机通过网络接受来自终端的访问并执行Web应用。此外,该计算机具有用于管理使用每一Web应用的用户数的用户管理表,以及应用执行部分,其在根据用户数判断多个Web应用被一个或多个用户分别使用时,在多个Web应用执行数据传输时,通过以脉冲串为单位在每一传输中插入某一时间段的休眠,来执行控制,以便按照各Web应用的优先级所形成的特定比例将特定带宽分配给每一Web应用进行的数据传输。
本发明提供一种通过网络接受来自终端的访问并执行Web应用的计算机,包括:优先级管理表,用于管理对Web应用设置的数据传输中的优先级;以及应用执行部分,用于根据被设置了不同优先级的不同Web应用的使用状态,将根据上述优先级所形成的特定比例而指定的带宽动态地分配给所执行的数据传输,该数据传输是基于被设置了特定优先级的至少一个Web应用的使用而执行的。
此外,本发明还实现为一种利用计算机执行Web应用的方法。该方法特征在于具有其中对于多个Web应用检查使用每一Web应用的用户数的检查步骤,以及执行步骤,其中如果判断多个Web应用中的每一个被一个或多个用户使用,则在该多个Web应用执行数据传输时,对至少一个Web应用以脉冲串为单位在每一传输中插入某一时间段的休眠,来执行控制,以便按照各Web应用的优先级所形成的特定比例将特定带宽分配给每一Web应用进行的数据传输。更具体地,在控制步骤中,根据预定的比例执行对每一Web应用的单个会话的数据传输的带宽分配。可选地,在控制步骤中,可以执行对每一Web应用的带宽分配,此外,可以根据使用Web应用的用户数划分分配给相应Web应用的带宽,由此获得分配给所述Web应用中的单个会话的带宽。
此外,可以这样配置该方法以使其包括另外的步骤,其中有在启动每一Web应用的会话时,将管理每一Web应用的用户数的用户管理表中该Web应用的用户数增加1的步骤,以及在终止Web应用的会话时,将用户管理表中该Web应用的用户数减少1的步骤。在这种情况下,在检查用户数的步骤中,通过查阅用户管理表,而获得使用所期望的一个Web应用的用户数。
根据如上所述配置的本发明,在多个Web应用被同时使用的情况下,由于该根据Web应用的类型和用户数来实现可用带宽的适当分配的动态控制,使得可以将较宽带宽分配给用于要求处理的快速执行的操作的Web应用,可以提高使用Web应用的操作效率。
此外,根据本发明,由于根据使用中的Web应用正确地分配通信线路的带宽,使得有效使用空闲或未使用带宽的动态通信控制(带宽控制)成为可能。
附图说明
图1是示出和解释根据本发明优选实施例的远程办公系统的概念的示意图;
图2是示意地示出优选作为本发明优选实施例中的服务器的计算机设备的硬件配置的例子的图示;
图3是示出本发明优选实施例中的服务器的功能配置的图示;
图4是示出优选实施例中的用户标识表的构造例子的图示;
图5是示出本发明优选实施例中的远程办公室管理表的构造例子的图示;
图6是示出本发明优选实施例中的用户管理表的构造例子的图示;
图7是示出本发明优选实施例中的优先级管理表的构造例子的图示;
图8是示出和解释本发明优选实施例中的预处理部分进行的预处理的操作的流程图;
图9是示出本发明优选实施例中的应用执行部分进行的数据传输的操作的流程图;
图10是示出作为本发明优选实施例中的支持程序的例子的Java类的图示;
图11是示出作为本发明优选实施例中的通信控制程序的例子的Java类的图示;
图12是示出图11中所示的通信控制程序中sleepTime方法的算法的流程图。
具体实施方式
下面参照附图提供体现本发明的最优选实施例(在下文中称作优选实施例)的描述。
图1是解释根据该优选实施例的远程办公系统的概念的图示。
如图1所示,该优选实施例的系统包括中心10和作为与中心10连接的基础的远程办公室20。中心10具有服务器100,远程办公室20具有终端200。服务器100和终端200都通过诸如因特网等的计算机网络300连接。尽管在图1中只示出了单个远程办公室20,但可将多个远程办公室20连接到单个中心10。此外,可提供多个中心10。每个远程办公室20可具有多个终端200。作为终端200,可使用诸如个人计算机等的计算机设备或诸如PDA(个人数字助理)等的具有联网功能的信息装置。
图1中的中心10处的服务器100具有多个Web应用和数据库。通过从远程办公室20处的终端200进行访问,由Web应用提供的功能的使用或各种数据的下载或上载都是可能的。根据该优选实施例,引入了关于在服务器100中提供的Web应用的数据传输的优先级的概念,且设置了具有高优先级的应用(下文称作高优先级应用)和具有低优先级的应用(下文称作低优先级应用)。而且,在高优先级应用和低优先级应用被同时执行的情况下,执行动态控制以根据每一应用的优先级限制可用带宽。通过这种方法,可以向高优先级应用确保指定量以上的数据流。如后面详细说明的,可以分别设置多个高优先级应用和低优先级应用。在下面的描述中,如果没有必要区分高优先级应用和低优先级应用,则将简单描述为应用。
图2是示意地示出适于构成该优选实施例中的服务器100的计算机设备的硬件配置的例子的图示。
图2中示出的计算机设备具有作为操作的手段的CPU(中央处理单元)101、通过M/B(主板)芯片组102和CPU总线连接到CPU 101的主存储器103、也通过M/B芯片组102和AGP(加速图形端口)连接到CPU101的视频卡104、通过PCI(外围部件互连)总线连接到M/B芯片组102的硬盘驱动器(HDD)105、网络接口106、以及从PCI总线扩展并通过桥电路107和诸如ISA总线(工业标准体系结构)等的低速总线连接到M/B芯片组102的软盘驱动器108和键盘/鼠标109。
然而,图2示出的仅是实现该优选实施例的计算机设备的硬件配置的一个例子,而且可以采用其他的各种配置,只要这些配置中的每一个都被配置以便该优选实施例可应用到其上。例如,可以仅提供一个视频存储器而不是提供视频卡104,来处理CPU 101处的图像数据,或者作为外部存储设备,可以通过诸如ATA(AT嵌入式接口)、SCSI(小型计算机系统接口)等的接口提供CD-R(可写光盘存储器)或DVD-RAM(随机存取数字视盘)的驱动器。
图3是示出该优选实施例中的服务器的功能配置的图示。
如图3所示,服务器100具有用于在应用被激活时执行必要的预处理的预处理部分110、用于激活并执行由预处理部分110预处理的应用的应用执行部分120、用于管理会话以使用应用的会话管理部分130和用于存储应用的应用存储部分150。此外,在本优选实施例中,还具有用户标识表141、远程办公室管理表142、用户管理表143和优先级管理表144,用于存储执行数据传输的带宽控制所必要的信息。如果例如以图2所示的计算机设备来实现服务器100,则这些表被存储在诸如主存储器103、磁盘设备105等的存储设备中。
图4是示出用户标识表141的构造的例子的图示。
如图4所示,在用户标识表141中,标识远程办公室20处的终端200的用户(远程办公室20的成员)的信息(用户ID)与标识该用户所属的远程办公室20的信息(远程办公室号)相互关联。远程办公室20处的每个终端200都通过公用通信线路连接到中心10处的服务器100。因此,使用用户标识表141管理用户所属的远程办公室20的信息,意味着以通信线路为单位管理用户信息。
图5是示出远程办公室管理表142的构造例子的图示。
如图5所示,在远程办公室管理表142中,远程办公室号和远程办公室20与中心10之间的通信线路的属性信息(线路类型、线路速度、带宽等等)相互关联。用户标识表141用于以通信线路的单位管理用户信息,远程办公室管理表用于管理终端200连接到服务器100所通过的通信线路的每条线路的属性信息。本优选实施例中的带宽的控制对于利用同一通信线路使用多个应用的情况是有效的。另一方面,对于利用不同通信线路的情况,即使对于每一通信线路改变该带宽的控制方法也没有问题。因此,通过管理每一通信线路的属性并参照这一信息,应用适合于每一通信线路的通信控制是可行的。
图6是示出用户管理表143的构造例子的图示。
如图6所示,在用户管理表143中,远程办公室号、标识在由该远程办公室号所标识的远程办公室处使用的应用的信息(应用ID)以及当前执行使用该应用的会话的用户数相互关联。
图7是示出优先级管理表144的构造例子的图示。
如图7所示,在优先级管理表144中,应用ID和该应用的优先级别(指示其是否是高优先级应用或低优先级应用的区别的信息)相互关联。
参照这些表,通过使用在对访问要求认证时获得的用户ID作为关键字查询用户标识表141,可以识别出相关用户所属的远程办公室20。通过使用这一远程办公室20的号作为关键字查询远程办公室管理表142,来获得相关远程办公室20所使用的通信线路的属性信息。此外,通过使用该远程办公室号和应用ID作为关键字查询用户管理表143,可以知道当前使用该相关应用的每个远程办公室20的用户数。并且,通过使用该应用ID作为关键字查询优先级管理表144,能够区分这一应用是高优先级应用还是低优先级应用。
预处理部分110由例如图2中的程控的CPU1 101来实现。这一预处理部分110接收来自一个任意的远程办公室20中的终端200的访问要求,并且执行用于实现根据本优选实施例的控制通信的预处理。通过这一预处理,将用于支持根据本优选实施例的通信控制的程序(下文称作支持程序)添加到根据该访问要求而激活的应用中。这个被添加到该应用中的支持程序将在后面详细描述。
图8是用于说明由预处理部分110进行的预处理的操作的流程图。在这一描述中,假定该应用被实现为Java小服务程序,并且支持程序被作为对象添加到该应用中。
当服务器100接收来自终端200的访问请求时,首先它执行基本认证、基于表单的认证等的认证处理。如果该访问请求作为认证的结果被接受,则预处理部分110开始。参照图8,预处理部分110首先从服务器100的认证过程获得用户ID(步骤801)。预处理部分110从会话管理部分130查询并获得与该用户ID相关的会话信息(步骤802),并且检查该访问请求是对启动一个新的会话还是对正在执行的会话的请求(步骤803)
如果所接受的访问请求是启动新会话的访问请求,则预处理部分110创建一个支持程序的对象,并将这个创建的对象设置为由这一访问请求激活的应用的HttpSession(步骤804)。然后,预处理部分110将处理传递给应用执行部分120(步骤805)。另一方面,在所接受的访问要求是对已在执行的会话的访问要求的情况下,预处理部分110将处理传递给应用执行部分120,而不进行任何处理(步骤805)。
应用执行部分120由例如图2中的程控的CPU 101来实现。这一应用执行部分120激活由预处理部分110预处理后的应用程序,并且启动一个用于执行该应用的会话。当它执行该应用时,由预处理部分110添加的程序也被执行。在会话管理部分130中管理正在被执行的会话的信息。此外,当该应用执行数据传输(下载)时,应用执行部分120执行根据本优选实施例的通信控制。尽管具体的控制方法在后面描述,但在本优选实施例中,在脉冲串模式的数据传输中,通过以脉冲串为单位在每一传输期间插入某一时间段的休眠,来调整每一应用中的数据流。由应用执行部分120进行的数据传输通过例如图2中的网络接口106来执行。
图9是用于说明应用执行部分120进行的数据传输的操作的流程图。与图8中一样,假定该应用被实现为Java小服务程序。
应用执行部分120首先获得InputStream(步骤901),然后获得OutputStream(步骤902)。然后,应用执行部分120创建用于根据应用的优先级控制带宽的程序的对象(下文称作通信控制程序),并且由这一对象来执行通信控制,直到在步骤901中获得的InputStream的结束(步骤903)。
会话管理部分130由例如图2中的程控的CPU101来实现。这一会话管理部分130的功能与传统Web应用服务器中的会话管理功能相同,在由预处理部分110创建会话对象时,获取并管理关于该会话的信息(执行该会话的用户的用户ID、在该会话中使用的应用的应用ID等)。这一信息被存储在诸如图2中的主存储器103等的存储装置中,并且其被保留到相应的会话终止。
应用存储部分150由例如图2中的磁盘设备105来实现,存储来自于终端200的访问所使用的各种应用。存储在应用存储部分150中的应用的优先级被登记到上述的优先级管理表144中。
接下来提供对由预处理部分110添加到应用中的支持系统的描述。
图10是示出作为支持程序的例子的Java类的图示。
在图10所示的支持程序的构造程序中,使用在图8的步骤801中获得的用户ID作为关键字查询用户标识表141,并且获取该用户所属远程办公室20的远程办公室号。并且,存储这一远程办公室号和用于激活应用的应用ID。
此外,在图10的支持系统中执行valueBound方法和valueUnbound方法。当会话被创建时,通过HttpSession.setAttribute的执行调用valueBound方法。并且,用户管理表143中对应于存储在该构造程序中的远程办公室号和应用ID的用户数的值递增1。另一方面,当该会话终止时,valueBound方法被调用。并且,用户管理表143中对应于存储在该构造程序中的远程办公室号和应用ID的用户数的值递减1。该会话可被来自终端200的请求有意地无效,或如果终端200在某一段时间内都来访问该应用则该会话超时。在任一情况下valueUnbound方法都被执行。
接下来,提供对由应用执行部分120执行的通信控制程序的描述。
图11是示出作为该通信控制程序的例子的Java类的图示。
在图11所示的该通信控制程序的构造程序中,获取并存储InputStream的值、OutputStream的值、用户ID、应用ID以及len(在一个脉冲串中传输的数据大小)。这里,len的值从应用的初始化参数中获取。
此外,在图11中的通信控制程序中,执行write方法,并且在该方法内进一步执行sleepTime方法。在write方法中,从每一脉冲串中的InputStream接收具有len大小的数据,并且将其传输给OutputStream。在脉冲串之间,调用sleepTime方法,并且在这一sleepTime方法所确定的时间期间数据传输变成为休眠状态。
这里,进一步更详细地提供关于sleepTime方法的描述。
如上所述,图11中示出的通信控制程序(FlowControlStream类)的write方法将具有len大小(单位为千字节)的数据在某一时间作为一个脉冲串传输给OutputStream。在脉冲串之间,在由sleepTime方法所确定的时间(单位为秒)期间,数据传输变成为休眠状态。因此,有效的数据传输带宽表示为
len*8/sleepTime(Kbps)
根据这一公式,sleepTime方法的算法确定如下。
图12是示出sleepTime方法的算法的流程图。
如图12所示,在sleepTime方法中,首先,使用由图11中所示的通信控制程序的构造程序所存储的用户ID作为关键字查阅用户标识表141,并且获取该用户所属的远程办公室20的远程办公室号。然后,使用所获取的远程办公室号作为关键字查阅用户管理表143,并且分别检查在同一远程办公室20中,哪个应用由多少用户使用。此外,使用在这一处理期间所获取的现在正在使用中的应用的应用ID作为关键字查阅优先级管理表144,并且检查当前正被使用的每一应用是高优先级应用还是低优先级应用。此外,根据这些信息,对于当前正被使用的应用,获得使用高优先级应用的用户的数量N-high和使用低优先级应用的用户的数量N-low(步骤1201)。
接着,判断其中正执行sleepTime方法的应用本身是否是高优先级应用(步骤1202)。并且,如果其本身是高优先级应用,则根据下面表达式1计算这一高优先级应用的有效数据传输带宽B-eff(步骤1203)。
[表达式1]
B - eff = B - total * B - high ( N - high * B - high + N - low * B - low )
另一方面,如果其中正执行sleepTime方法的应用是低优先级应用,则根据下面表达式2计算这一低优先级应用的有效数据传输带宽B-eff(步骤1204)。
[表达式2]
B - eff = B - total * B - low ( N - high * B - high + N - low * B - low )
使用按上面计算出的数据传输带宽B-eff,根据下面表达式3计算在数据传输期间在脉冲串之间要保持休眠的sleepTime(步骤1205)。
[表达式3]
sleepTime = len * 8 B - eff
这里,提供对关于怎样将带宽分配给高优先级应用和低优先级应用的特定例子的描述。
例如,假设通信线路的带宽B-total是1000Kbps,并且给予高优先级应用的用户B-high的带宽使用程度与给予低优先级应用的用户B-low的带宽使用程度的比率是4比1。还假定高优先级应用和低优先级应用都由两个用户执行(也就是说,每个应用中被分配了两个会话)。此外,作为会话的特定模式,可以假设存在单个高优先级应用和单个低优先级应用,并且对它们中的每一个设置两个会话。或者,可以假设存在多个高优先级应用和多个低优先级应用,并且分别对两个高优先级应用和两个低优先级应用中的每一个设置一个会话。
在这一例子中,分配给高优先级应用的用户的带宽是400Kbps(=1000Kbps*4/(2*4+2*1)),分配给低优先级应用的用户的带宽是100Kbps(=1000kbps*1/(2*4+2*1))。
如上所述,在使用高优先级应用的操作和使用低优先级应用的操作同时执行的情况下,通信线路也被这些操作同时使用,按照预定的比率,向高优先级应用的操作分配较宽带宽。另一方面,在高优先级应用的操作和低优先级应用的操作两者中只有一个执行的情况下,使用另一个应用的用户数(N-low或N-high)变为0,从而,将通过按照使用中的应用的用户数来划分总带宽B-total所得到的值平等地分配给每一操作。这样,根据优选实施例,可以根据是否有不同优先级的应用在同时使用,来动态地控制分配给每一应用的带宽。并且,由于在有不同优先级的应用同时使用的情况下给予高优先级应用较宽带宽,因此可以防止由于使用需要处理快速执行的高优先级应用的操作的延迟而导致操作效率降低。
在上面提到的特定例子中,预先定义分配给高优先级应用的单个用户(会话)的带宽与分配给低优先级应用的单个用户(会话)的带宽的比例,并将带宽分配给每个应用的用户(会话),以变成为所定义的比例。也就是说,不管分别存在多少使用高优先级应用的用户和多少使用低优先级应用的用户,分配给高优先级应用的单个用户的带宽与分配给低优先级应用的单个用户的带宽的比例是相同的(预先定义的值,在上面的例子中为4比1)。
另一方面,在高优先级应用和低优先级应用同时使用的情况下,也可以设置分配给每一种应用的带宽的比例。在存在多个高优先级应用和低优先级应用的用户的情况下,通过根据用户的数量来划分分配给每一应用的带宽,而将带宽分配给每一用户。例如,假设通信线路的带宽是1000Kbps,分配给每一种应用的带宽的比例是4比1,高优先级应用的用户的数量是1,而低优先级应用的用户的数量是2。在这种情况下,将800Kbps(=1000Kbps*4/(4+1))分配给高优先级应用,而将200Kbps(=1000Kbps*1/(4+1))分配给低优先级应用。并且,由于高优先级应用的用户的数量是1,所以作为结果,800Kbps被分配给这一用户。另一方面,由于低优先级应用的用户的数量是2,所以作为结果,100Kbps(=200Kbps/2)被分配给这一用户。这样,在分配给每一种应用的带宽的比例根据优先级而预先确定的情况下,分配给高优先级应用的单个用户的带宽和分配给低优先级应用的单个用户的带宽的比例依据每一种应用的用户的数量而变化。
在上述优选实施例中,所提供的描述是针对于这样的情况,即对于高优先级应用和低优先级应用的每一个存在两个会话。但是,根据系统模式或使用环境,也可以是这样的情况,即例如在同一远程办公室在某一时间点,高优先级应用和低优先级应用中的每一种分别只有一个被执行。在这种情况下,可以通过诸如在高优先级应用正被使用的情况下仅控制由低优先级应用使用的带宽,而无需确定高优先级应用和低优先级应用的带宽使用的比例的简单控制,优先将宽带宽分配给高优先级应用。
在上面提到的这种控制中,当低优先级应用与高优先级应用同时并行使用时,预先确定低优先级应用可用的带宽,并且预先计算实现这种数据传输的带宽的休眠时间sleepTime。并且,在sleepTime方法中,查阅用户管理表143,以判断高优先级应用的用户的数量是否为1,如果高优先级应用的用户的数量是1,则将预先计算的休眠时间sleepTime返回给write方法。
此外,在带宽具有足够余量的情况下,即使在高优先级应用进行的操作和低优先级应用进行的操作同时多个执行的系统中,这样的简单控制也是可行的。在这种情况下,当低优先级应用与高优先级应用同时并行使用时,如果低优先级应用可用的带宽假设为100Kbps,在这种情况下,有2个使用低优先级应用的操作在执行,则有200Kbps(=100Kbps*2)用于低优先级应用,并且相应地限制高优先级应用可用的带宽。但是,如果总带宽足够大,即使由低优先级应用使用的带宽总数根据用户的数量增加,其差别也是很小的。因此,对高优先级应用的操作中通信的影响也是很小的,并且不会产生操作效率的急剧降低。
此外,在上述优选实施例中,虽然将应用分类为高优先级应用和低优先级应用两种,但设置两种以上的优先级别以便动态地控制带宽也是可行的。在这种情况下,也对各个优先级别的应用设置带宽使用程度,并且在sleepTime方法中,通过扩展上述表达式1和表达式2计算每一优先级别的应用的有效数据传输带宽,以获得休眠时间。
此外,除了本优选实施例中的高优先级应用和低优先级应用之外,不属于它们中任何一个的应用可能混杂在一起。例如,由于在启动之后大部分时间都只有一个本地处理被执行的这样一个不很经常使用通信线路的Web应用,即使对会话进行维护并且在执行操作,也几乎对其他应用的通信没有影响。因此,即使这样的应用作为不属于本优选实施例的通信控制的目标的高优先级应用和低优先级应用中任何一种的Web应用,其与被设置了优先级的应用共同存在,也没有问题。在这种情况下,即使高优先级应用或低优先级应用与不具有优先级的应用同时执行,也不会对被设置了优先级的应用执行根据优选实施例的动态通信控制。
另外,通过将每个用户的属性登记到用户标识表141中,可以将该属性信息与根据优选实施例的通信控制相结合。作为用户属性,登记例如等级(主管、管理人员等)或职业(销售、服务等)。通过添加这些用户属性,可以考虑这样一种控制,即在具有某一属性的用户使用某一应用的情况下,将该应用看作为高优先级应用,而在具有不同属性的用户使用该同一应用的情况下,将该应用看作为低优先级应用。此外,也可以对每个不同的远程办公室20使用不同种的通信控制方法。

Claims (12)

1.一种通过网络接受来自终端的访问并执行Web应用的计算机,包括:
优先级管理表,用于管理为Web应用设置的数据传输中的优先级;
用户管理表,用于管理上述每一Web应用的用户数;以及
应用执行部分,用于在优先级相互不同的多个Web应用被同时使用的情况下,将根据存储在上述优先级管理表中的各Web应用的优先级和存储在上述用户管理表中的每一Web应用的用户数指定的带宽,动态地分配给所执行的数据传输,该数据传输是基于被设置了特定优先级的至少一个Web应用的使用而执行的;
其中,上述用户管理表包括不同的用户管理表,用于以用户使用的通信线路为单位管理用户信息,并且
在根据存储在所述不同的用户管理表中的用户信息判断通过利用公用通信线路执行多个Web应用的同时使用的情况下,所述应用执行部分根据所述优先级和所述用户数将上述带宽分配给根据所述多个Web应用的使用而执行的数据传输。
2.根据权利要求1的计算机,其中所述应用执行部分通过以脉冲串为单位在所执行的每一传输中插入某一时间段的休眠,来控制对所述数据传输的带宽分配。
3.根据权利要求1的计算机,其中所述应用执行部分将上述带宽分配给使用上述具有各自数据传输中的优先级的每一Web应用的单个会话中的数据传输,以便以根据该每一Web应用的优先级设置的特定比例来实现该分配。
4.根据权利要求1的计算机,其中所述应用执行部分将上述带宽分配给上述每一Web应用,以便以根据该每一Web应用的优先级设置的特定比例来实现分配,并通过根据相应Web应用的用户数来划分分配给每一Web应用的带宽,而获取分配给所述相应Web应用中的单个会话的带宽。
5.根据权利要求1的计算机,其中,在使用具有所述特定优先级的Web应用的多个会话被执行的情况下,所述应用执行部分使用分配给根据所述Web应用的使用而执行的数据传输的带宽,执行该每一会话中的数据传输。
6.一种通过网络接受来自终端的访问并执行Web应用的计算机,包括:
用户管理表,用于管理每一Web应用的用户数;以及
应用执行部分,其在根据存储在所述用户管理表中的用户数判断多个Web应用被一个或多个用户使用的情况下,在数据传输根据所述多个Web应用的使用而执行的情况下,通过为至少一个Web应用以脉冲串为单位在每一传输中插入某一时间段的休眠,进行控制,以便按照各Web应用的优先级将特定带宽分配给每一Web应用的会话中的数据传输;
其中,上述用户管理表包括不同的用户管理表,用于以用户使用的通信线路为单位管理用户信息,并且
在根据存储在所述不同的用户管理表中的用户信息判断通过利用公用通信线路来执行多个Web应用的同时使用的情况下,所述应用执行部分对于所述多个Web应用分配所述带宽。
7.根据权利要求6的计算机,其中所述应用执行部分根据特定比例将带宽分配给上述每一Web应用的各个会话中的数据传输。
8.根据权利要求6的计算机,其中所述应用执行部分根据特定比例将带宽分配给上述每一Web应用,并通过根据相应Web应用的用户数来划分分配给每一Web应用的带宽,来获取分配给所述相应Web应用中的单个会话的带宽。
9.一种利用计算机执行Web应用的方法,包括步骤:
利用不同的用户管理表、以用户使用的通信线路为单位管理用户信息;
由所述计算机检查多个Web应用的每一个的用户数;以及
在根据存储在所述不同的用户管理表中的用户信息判断所述多个Web应用中的每一个利用公用通信线路被一个或多个用户使用的情况下,在数据传输根据所述多个Web应用的使用而执行的情况下,由所述计算机通过对至少一个Web应用以脉冲串为单位在每一传输中插入某一时间段的休眠,进行控制,以便按照各Web应用的优先级将特定带宽分配给所述Web应用中的每一个的会话中的数据传输。
10.根据权利要求9的方法,其中该方法进一步包括步骤:
在启动所述多个Web应用中的每一个的会话的情况下,由所述计算机将用户管理表中所述多个Web应用中的所述那一个Web应用的用户数增加1,该用户管理表管理所述多个Web应用中的每一个的用户数;以及
在终止所述多个Web应用中的每一个的会话的情况下,由所述计算机将所述用户管理表中所述多个Web应用中的所述那一个Web应用的用户数减少1,
其中在所述检查用户数的步骤中查阅所述用户管理表,由此获得使用所期望的一个Web应用的用户数。
11.根据权利要求9的方法,其中在所述控制步骤中,根据特定比例将带宽分配给每一Web应用的单个会话中的数据传输。
12.根据权利要求9的方法,其中在所述控制步骤中,根据特定比例将带宽分配给每一Web应用,并且根据相应Web应用的用户数划分分配给每一Web应用的带宽,由此获得分配给所述Web应用中的单个会话的带宽。
CN2005101095921A 2004-11-08 2005-10-27 用于为执行Web应用控制通信的计算机和方法 Expired - Fee Related CN1773935B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2004323768A JP4117889B2 (ja) 2004-11-08 2004-11-08 ウェブアプリケーションを実行するための通信を制御するコンピュータおよびその方法
JP323768/2004 2004-11-08

Publications (2)

Publication Number Publication Date
CN1773935A CN1773935A (zh) 2006-05-17
CN1773935B true CN1773935B (zh) 2010-06-23

Family

ID=36698269

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005101095921A Expired - Fee Related CN1773935B (zh) 2004-11-08 2005-10-27 用于为执行Web应用控制通信的计算机和方法

Country Status (3)

Country Link
US (1) US20060168081A1 (zh)
JP (1) JP4117889B2 (zh)
CN (1) CN1773935B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4597038B2 (ja) * 2005-11-07 2010-12-15 株式会社日立製作所 計算機システム、帯域制御方法及びプログラム
US8255466B2 (en) 2006-12-29 2012-08-28 Aol Inc. Intelligent management of application connectivity
JP2010146246A (ja) * 2008-12-18 2010-07-01 Sumitomo Electric Ind Ltd マルチエージェントシステム用フレームワークコンピュータプログラム、ネットワークシステム、及びエージェント間通信方法
CN104243178B (zh) * 2009-02-24 2018-03-23 日本电信电话株式会社 光网络终端装置、光用户线路终端装置及光网络
JP5450811B2 (ja) * 2009-06-29 2014-03-26 クゥアルコム・インコーポレイテッド ネットワーク通信パラメータを設定するための技術
WO2011120019A2 (en) * 2010-03-26 2011-09-29 Virtualmetrix, Inc. Fine grain performance resource management of computer systems
DE102014200226A1 (de) * 2014-01-09 2015-07-09 Bayerische Motoren Werke Aktiengesellschaft Zentrale Kommunikationseinheit eines Kraftfahrzeuges
US10499379B2 (en) * 2016-11-08 2019-12-03 Avago Technologies International Sales Pte. Limited Bandwidth query report poll
US11184833B2 (en) * 2019-06-19 2021-11-23 Citrix Systems, Inc. Bandwidth sharing amongst trusted peers

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1422506A (zh) * 2000-02-08 2003-06-04 讯捷通讯公司 带宽预留系统的服务级别和公正原则
CN1524395A (zh) * 2001-05-26 2004-08-25 ���ſ�����޹�˾ 通信带宽分配的方法和设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6324654B1 (en) * 1998-03-30 2001-11-27 Legato Systems, Inc. Computer network remote data mirroring system
JP3565265B2 (ja) * 2000-07-19 2004-09-15 日本電気株式会社 優先度別クラス選択型通信システム及び通信方法
US20020035638A1 (en) * 2000-07-25 2002-03-21 Gendron David Pierre Routing and storage within a computer network
CA2470734A1 (en) * 2002-01-22 2003-08-21 Siemens Medical Solutions Health Services Corporation System for estimating network traffic characteristics of executable software applications
JP3643827B2 (ja) * 2002-12-17 2005-04-27 株式会社半導体理工学研究センター ルータ装置とその出力ポート回路及びその制御方法
US7324523B2 (en) * 2003-03-26 2008-01-29 Sony Corporation System and method for dynamically allocating bandwidth to applications in a network based on utility functions

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1422506A (zh) * 2000-02-08 2003-06-04 讯捷通讯公司 带宽预留系统的服务级别和公正原则
CN1524395A (zh) * 2001-05-26 2004-08-25 ���ſ�����޹�˾ 通信带宽分配的方法和设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
全文.

Also Published As

Publication number Publication date
JP2006135759A (ja) 2006-05-25
CN1773935A (zh) 2006-05-17
JP4117889B2 (ja) 2008-07-16
US20060168081A1 (en) 2006-07-27

Similar Documents

Publication Publication Date Title
CN1773935B (zh) 用于为执行Web应用控制通信的计算机和方法
CN1610347B (zh) 在基于群集的系统内管理性能及资源利用率的方法和设备
US20050015592A1 (en) System and method for application and user-based class of security
EP1361514B1 (de) System und Verfahren zum Verwalten von Ressourcen von tragbaren Ressourcenmodulen
CN101662414B (zh) 一种数据访问的处理方法、系统和装置
KR20000004988A (ko) 제한된 메모리 컴퓨터 시스템에서의 클라이언트관리흐름제어를 위한 방법과 장치
EP1335572A3 (en) Dynamically updated qos parameterization according to expected business revenue
US20060069898A1 (en) Memory manager for an embedded system
US20190253487A1 (en) Rolling capacity upgrade control
CN109960575B (zh) 一种计算能力共享方法、系统及相关设备
CN110191186A (zh) Cdn服务器调度方法、设备及计算机可读存储介质
KR20200017589A (ko) 무선 통신 시스템에서 모바일 노드의 태스크를 오프로딩하기 위한 클라우드 서버 및 그의 동작 방법
TWI795565B (zh) 資源分享方法、裝置、電腦裝置及存儲介質
CN109802895B (zh) 数据处理系统、方法及令牌管理方法
Meskar et al. Fair multi-resource allocation with external resource for mobile edge computing
CN108933847A (zh) 一种地址快速分配的方法及装置
CN112600761A (zh) 一种资源分配的方法、装置及存储介质
CN112346871A (zh) 一种请求处理方法及微服务系统
US8311207B2 (en) Efficient and cost-effective distribution call admission control
CN114155026A (zh) 一种资源分配方法、装置、服务器及存储介质
CN115400417A (zh) 游戏交互方法、装置、存储介质和电子设备
CN115567594A (zh) 微服务请求处理方法、装置、计算机设备及存储介质
CN106686635B (zh) 基于无线接入点的控制和配置协议的数据传输方法和装置
CN110113176B (zh) 用于配置服务器的信息同步方法及装置
US20030126244A1 (en) Apparatus for scheduled service of network requests and a method therefor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100623

Termination date: 20101027