服务器、计算机系统、对象管理方法、服务器控制方法、计算机程序的制作方法

文档序号:6356352阅读:157来源:国知局
专利名称:服务器、计算机系统、对象管理方法、服务器控制方法、计算机程序的制作方法
技术领域
本发明涉及用对象进行处理时适用的服务器、计算机系统、对象管理方法、服务器控制方法、计算机程序等。
背景技术
众所周知,近年来因特网和局域网(LAN)等网络已普及。经这些网络,服务器执行用户终端请求的各种处理。
特别是在网络上提供服务的服务器的情况下,通过使用户终端一侧依次显示进行服务导航的多个万维网页,接受用户对各万维网页的请求,来执行用户希望的处理。例如,在进行因特网金融的服务器中,使用户终端一侧显示登录页,请求输入登录ID和口令。用户输入登录ID和口令后,接着使其显示菜单页,接受用户在该菜单页上的菜单选择,进入与选择出的菜单、例如转帐处理对应的万维网页。用户向万维网页输入贷方的帐号、转帐金额等后,接着服务器使其显示转帐内容确认页,在收到用户对该转帐内容确认页的确认输入后,执行指定的处理、即转帐处理。
在进行这样一系列处理、即所谓“会话”的服务器中,多使用下述手法对每个用户准备对象,用该对象来处理用户的请求。这里,对象用于在服务器上集中管理与对各用户的处理有关的数据,例如预先登录的用户自身的登录ID等登录数据、处理请求内容、处理结果、处理历史等日志数据、处理的途中发生的处理所需的处理数据等。这种对象在用户与服务器初次进行会话时被生成,在第2次以后的会话中,通过使用上次使用过的对象,能够根据上次进行过的处理来提供连续的服务。
作为数据保存部,服务器具有作为主存储装置的存储器、和作为辅助存储装置的硬盘驱动器,每个用户的对象被适当分配、保存到这些存储器和硬盘驱动器中。服务器根据用户在登录时输入的登录ID等,从硬盘驱动器中调用与该用户对应的对象,执行与用户的请求对应的处理;此时,与在作为主存储装置的存储器中保存有对象的情况相比,在作为辅助存储装置的硬盘驱动器中保存有对象的情况下,必须从硬盘驱动器将对象调用到存储器上,所以响应当然慢。
服务器的存储器的存储容量在物理上当然是有限的,所以存储器中保存的对象的个数也是有限的。因此,在将硬盘驱动器上的对象调用到存储器上的情况下,或者在存储器上生成新的对象的情况下等,如果存储器上没有足够的空闲区域,则将当前保存在存储器中的对象移至硬盘驱动器上,在存储器上形成空闲区域,在这里保存从硬盘驱动器调用的对象。将这种对象从存储器向硬盘驱动器的移动称为换出。相反,将在存储器上的空闲空间上保存从硬盘驱动器调用的对象称为换入。
以往,作为这种存储器的对象管理手法,多使用LRU(Least RecentlyUsed,最近最少使用)方式。在LRU方式中,在进行换出的情况下,从存储器上保存着的对象中、上次使用的时刻(最终使用时刻)最旧的对象起依次换出。
例如,图15(a)将某个时刻保存在存储器中的对象(J1)~(J8)按最终使用时刻从新到旧的页序从图中左侧排列到右侧。按照用户的处理请求,使用与该用户对应的对象(J5)后,该对象(J5)的最终使用时刻被更新,存储器上的对象(J1)的排列如图15(b)所示来变化。即,由于用于处理而使最终使用时刻变得最新的对象(J5)变为排列的先头(图中左端)。此外,在由于生成新的对象(未图示)或者调用硬盘驱动器中保存的对象而使存储器上的空闲区域不足、进行换出的情况下,如图15(c)所示,当前保存在存储器中的对象(J1)~(J8)中、最终使用时刻最旧的对象(J8)被换出,从存储器上移动到硬盘驱动器上。
此外,作为存储器上的对象的另一管理手法,有根据访问历史频度来选择要换出的对象的手法((日本)特开平6-4316号公报等)。在这种手法中,在进行换出时,不是单纯换出最终使用时刻最旧的对象,而是换出单位时间平均(例如换入后经过的时间)的访问频度(例如访问时间)最少的对象。
然而,用上述现有的手法,特别是在为许多用户提供服务的服务器中,有时未必能进行高效率的存储器管理。例如,在对几万个至几十万个用户提供服务的方式中,有时服务器接受大量、例如1分钟平均500个以上的处理请求。在这种情况下,在某个用户访问服务器来进行由多个阶段构成的一系列处理时,在沿按照用户的输入依次显示的万维网页进行处理的途中,例如在阅读某个万维网页期间,其他用户有很多处理请求的情况下,有时该用户的对象会从服务器的存储器被换出。于是,在该用户结束阅读万维网页、进行用于进入下一万维网页的输入时,服务器一侧必须将该用户的对象换入到存储器,显示下一万维网页很花费时间。如果感觉到由此产生的服务器响应的延迟,则用户就会对提供的服务不满意。因此,要求服务提供者消除这种事态的发生。当然并不限于此,人们始终在摸索着减轻服务器的负荷、高效率地运行服务器的手法。

发明内容
本发明是根据这种技术课题而提出的,其目的在于提供一种能够高效率地运行服务器的服务器、计算机系统、对象管理方法、服务器控制方法等。
为了上述目的,本发明的服务器的特征在于,在经网络接受了用户的请求时,处理执行部件用存储器等第一对象保存部件中保存的对象来执行规定的处理。使用时刻预测部件来预测处理执行部件下次使用此时使用的对象的使用时刻,根据该使用时刻,将对象从第一对象保存部件传送到硬盘驱动器等第二对象保存部件。即,在需要换出第一对象保存部件保持的对象时,换出此时保持着的对象中、预测出的使用时刻最迟的对象,移动到第二对象保存部件中。由此,能在存储器等第一对象保存部件上保持预测出的使用时刻近的对象。
这里,如果对每个用户预测对象的使用时刻,则能够考虑每个用户的技能;如果对由多个阶段构成的一系列处理的每个阶段预测对象的使用时刻,则能够考虑各阶段的处理的内容(简单或复杂等)。
此外,也可以将使用时刻已过了当前时刻的对象从第一对象保存部件传送到第二对象保存部件。
本发明的计算机系统的特征在于,在用数据输出部输出数据以后,为了用处理执行部来执行与请求接受部接受的用户终端的请求内容对应的处理,用时刻预测部来预测下次使用对象的时刻,用对象管理部根据时刻预测部预测出的时刻来管理主存储装置中保存的对象。
这里,也可以采用将数据输出部、请求接受部、主存储装置、处理执行部、对象管理部、时刻预测部一体包括在服务器中的结构,但是也可以采用将它们分割为多个计算机装置、整体作为服务器来工作的计算机系统。
也可以将用数据输出部将数据输出到用户终端后直至使用对象所需的时间数据存储到时间数据存储部中,根据存储的多个用户的时间数据、和要预测时刻的用户的时间数据,来预测用户的时刻。
更详细地说,例如,用指数设定部来设定存储的多个时间数据的分布中、要预测时刻的用户的指数,用该指数来预测用户的时刻。此外,如果用之前一定时间内存储的多个用户的时间数据来预测时刻,则能够考虑时间带造成的变动等。
本发明的对象管理方法的特征在于,预测下次使用存储器上保持的对象的时刻,例如在需要换出存储器上的对象时,确定存储器上保持的对象中、预测出的时刻最迟的对象并换出。此时,能够进行与时间带对应的预测。
本发明可以看作是下述服务器控制方法存储从输出与经网络访问服务器的用户的处理请求对应的处理结果后、直至用户输入对此的响应的响应时间数据,根据存储的响应时间数据来预测用户输入对该存储后输出的处理结果的响应的时刻,根据预测出的时刻来执行存储器上的对象的换出。
此时,可以设定表示用户的响应时间在包含其他用户的响应时间数据的分布中的位置的指数,根据该指数来预测时刻。此外,也可以对未设定指数的用户,根据缺省值、预先设定的标准指数来预测时刻。此外,也可以每当存储响应时间数据时,即每当用户输入响应来使用对象时,进行指数的设定。
本发明的计算机程序的特征在于,使服务器等计算机装置执行下述处理检测外部终端的处理请求命令;预测对与其对应的输出的处理结果从外部终端输入下一处理请求命令的定时;根据预测出的定时,来执行为了执行与下一处理请求命令对应的处理所需的对象管理。


图1是本实施方式的系统结构的图。
图2是用于进行服务器中的对象管理的结构的图。
图3是用于根据用户访问时累计的实际响应时间来生成概率分布、设定每个用户的特征变量的流程的图。
图4是用于设定用户的响应时间的处理的流程的图。
图5是概率分布的一例。
图6是概率分布的另一例。
图7是概率分布的又一例。
图8的(a)是初始状态的对象串的图,(b)是当前时刻为15的情况下换出的对象的图,(c)是当前时刻为5的情况下换出的对象的图。
图9是进行对象管理时的处理的流程图。
图10是根据预测使用时刻来换出对象时的处理的流程图。
图11是更新对象串时的处理的流程的图。
图12的(a)是初始状态的对象串的图,(b)是取出对象进行处理的状态的图,(c)是换入了预测出预测使用时刻的对象的状态的图。
图13是进行仿真时作为一例使用的概率分布的图。
图14是仿真结果的图。
图15是现有的对象管理方法的图。
具体实施例方式
以下,根据附图所示的实施方式来详细说明本发明。
图1是用于说明本实施方式的系统结构的图。如该图1所示,多个用户终端10经因特网或LAN等网络20连接在服务提供者一侧的服务器(计算机系统,计算机装置)30上。
这里,各终端10只要是所谓普通PC(Personal Computer,个人计算机)等即可,包括接收经网络20从服务器30发送的数据的功能(部件)、将基于接收到的数据的画面(图像)显示在监视器的显示画面上的浏览器功能、用户根据显示画面上的显示内容来进行信息或请求内容的输入等的信息输入功能、将用信息输入功能输入的信息经网络20送出到服务器30的功能等即可。
另一方面,如图2所示,服务器30具有控制模块31,根据预先安装的控制程序来进行基于未图示的CPU的指令的控制;由DRAM(DynamicRandom Access Memory,动态随机存取存储器)等构成的存储器(第一对象保存部件,主存储装置)32;硬盘驱动器(第二对象保存部件,辅助存储装置)33;以及数据发送接收部34,负责与网络20发送接收数据。
控制模块31具有请求接受部36,接受数据发送接收部34经网络20收到的外部终端10的请求;处理执行部(处理执行部件)37,执行与接受的请求对应的处理;以及处理结果发送部(数据输出部)38,将处理执行部37的处理结果从数据发送接收部34经网络20发送到终端10。
处理执行部37具有对象管理部37a,在执行与请求对应的处理时,调用所需的、存储器32中保存着的对象,或者生成新的对象;和存储器管理部(对象管理部件,对象管理部)37b,对存储器32进行对象管理,例如将存储器32中保存着的对象换出到硬盘驱动器33,将硬盘驱动器33中保存着的对象换入到存储器32等。
此外,在该处理执行部37中,在用存储器管理部37b进行对象管理时,预测用户的一系列会话中的下一访问时刻。因此,在控制模块31中还包括访问预测部(使用时刻预测部件,时刻预测部)39。
这种服务器30将用户请求的处理分为一系列(多个)阶段来进行,所以以所谓主页的方式,向经网络20连接在服务器30上的用户终端10依次呈现与处理的各阶段对应的万维网页。例如,如果是因特网金融,则按照用户终端10的输入,依次呈现接受用于登录的登录ID或口令的输入的万维网页、登录完成后接受用户对处理菜单(例如转帐、余额查询等)的选择的万维网页、接受按照选择出的处理菜单来执行处理所需的信息(例如贷方帐号、转帐金额等)的输入的万维网页、接受用户对处理内容的确认的万维网页、通知处理完成的万维网页等。
因此,服务器30根据请求接受部36接受的请求(请求内容的数据)中包含的处理请求命令或参数,用处理执行部37来执行规定的处理,将该处理结果呈现给用户,并且用处理结果发送部38来发送使用户输入用于进入处理的下一阶段的请求内容的万维网页的数据。
这里,用于使终端10显示各万维网页的数据被保存在服务器30的硬盘驱动器33(或其他存储装置)中。在处理结果发送部38中,将要发送的万维网页的数据、例如HTML(Hypertext Markup Language,超文本标记语言)形式的数据从硬盘驱动器33读出,与处理执行部37的处理结果的数据一起,从数据发送接收部34经网络20发送到终端10。
在上述访问预测部39中,对服务器30一侧呈现的各万维网页预测每个用户的下一访问时刻。具体地说,预测从服务器30发送各万维网页的数据的时刻起,直至终端10收到该数据并显示万维网页,看到该万维网页的用户开始输入该万维网页要求的项目,从而从终端10发送命令,服务器30一侧按照该命令来使用该用户的对象的时刻(使用时刻以下,将其称为预测使用时刻NA)所需的响应时间α。
这是因为,由于用户的技能、即对PC的熟练程度、访问服务器30呈现的万维网页的经验的有无和量、文章的阅读理解速度、字符输入速度等因素,即使是相同的万维网页,看到该万维网页并进行所需的输入的响应时间α对每个用户也有很大不同。此外,在呈现多个万维网页的情况下,根据每个万维网页的内容,例如只要输入登录ID和口令即可的万维网页、必须阅读使用规则等文章或者必须输入很多项目的万维网页等每个万维网页的内容,即使是同一用户,响应时间α也不同。除此之外,网络20或服务器30的用户的人数也因深夜、清早、中午等时间带而变动很大,所以网络20的传送速度或服务器30的处理速度等也影响响应时间α。
在服务器30中,对所有用户,如图3(a)所示,将服务器30提供的对各万维网页的访问时刻、各用户实际需要的实际响应时间β的历史数据(时间数据)保存在存储器32或硬盘驱动器33等的历史数据保存部(时间数据存储部)中。这里,实际响应时间β是从服务器30发送各万维网页的数据起,直至该万维网页的处理完成,用于处理用户的下一请求的对象实际被使用的时刻所需的实际时间。其中,实际响应时间β预先例如以秒为单位进行量化(数字化)处理后被保存到历史数据保存部中。
图4示出用于用访问预测部39来预测响应时间α的处理的流程。
首先,服务器30启动之后,立即如上所述,用处理结果发送部38向访问服务器30的所有用户发送万维网页的数据(输出步骤),检测用户终端10响应该万维网页所需的实际响应时间β,将其与访问时刻一起存储到历史数据保存部(未图示)中(数据存储步骤)。
在服务器30按照用户的请求将万维网页的数据经网络20发送到用户终端10的时刻,首先,从历史数据保存部(未图示)中提取该时刻以前的预定的过去N小时(在本实施方式中例如N=1,以下,设为过去1小时)的期间内对同一万维网页进行的处理的历史数据(步骤S101)。图3(b)例如是9:00时提取出的过去1小时、即8:00以后进行的处理的历史数据。
接着,根据提取出的历史数据,来求过去1小时中对该万维网页的实际响应时间β的概率分布(多个时间数据的分布)。具体地说,如图3(c)所示,将实际响应时间β分为多个阶段,例如按每1秒来分组。然后,求各组的访问次数(用户人数),计算各组占全部访问的比率(步骤S102)。进而,如图3(d)所示,按由实际响应时间β表示的组ID从大到小的顺序对这些组进行排序,根据排序对各个组设定优先级pr(n)(步骤S103)。
图5~图7是这样排序的概率分布的一例,图5是多个用户对用户终端10一侧要输入的输入项目简单的万维网页的实际响应时间β的概率分布,图6是具有复杂的输入项目的万维网页的概率分布,图7是具有图5和图6中间的输入项目的万维网页的概率分布。在图5所示的概率分布中,输入项目简单,所以全部用户的实际响应时间β的偏差小。相反,在图6和图7所示的概率分布中,输入项目多,所以对PC的熟练程度、阅读文章的速度、对该万维网页的习惯等表现出很大差异,概率分布的偏差大。
访问预测部(指数设定部)39根据这种实际响应时间β的概率分布,来预测用户的响应时间α;此时,在本实施方式中,使用表示用户的实际响应时间β的位置(比率)的特征变量(指数)cr。该特征变量cr表示从概率分布的例如优先级pr(n)小的一侧(实际响应时间β小的一侧)看到的用户的位置。
在用户进行一定次数的访问之前,该特征变量cr使用访问预测部39预先保持着的缺省值(标准指数),例如cr=90%等;在用户进行了一定次数以上的访问时,根据此前存储的该用户的实际响应时间β,来设定该用户的特征变量cr。例如,根据对该用户过去5次的实际响应时间β的特征变量cr,将除最高和最低之外的特征变量cr的平均值设定为用户的特征变量cr(指数设定步骤)。其中,最好每当存储用户的实际响应时间β时,即每当使用对象时,逐次设定、实时更新该特征变量cr。
为了预测用户的响应时间α,根据如图3(e)所示的关系式,从优先级pr(n)小的一侧起累计各组的比率(访问次数的比率),将与该累计值(以下,称为比率累计值。单位%)达到特征变量cr以上时的优先级pr(n)对应的组ID作为用户的响应时间α(步骤S104)。
举具体例来说,在图7的概率分布中,对特征变量cr被设定为75%的用户的响应时间α,比率累计值达到75%以上时的优先级pr(n)的组ID是“13秒”(在图7中,从概率分布小的一侧起的比率的累计为10%+15%+30%+25%=80%),所以,将该“13秒”预测为用户的响应时间α。此外,同样,在图5的概率分布中,特征变量cr被设定为50%的用户、被设定为80%的用户的响应时间α都被预测为“6秒”。此外,在图6的概率分布中,特征变量cr被设定为50%的用户的响应时间α被预测为“8秒”,被设定为80%的用户的响应时间α被预测为“11秒”。
根据这样预测的用户的响应时间α,设从服务器30发送各万维网页的数据的时刻为T,则用于处理用户下一请求的对象的预测使用时刻NA用下式NA=T+α来求。
通过上述方法,访问预测部39预测出为了处理用户下一请求而使用对象的预测使用时刻NA、即一系列会话中的下一访问时刻。
这种预测使用时刻NA的预测是根据用户的处理请求在使用存储器32上保持着的对象时进行的,预测出的预测使用时刻NA与存储器32上保持着的各对象关联来存储。存储器管理部37b对存储器32上保持着的所有对象,按预测使用时刻NA从新到旧的顺序,来生成例如如图8所示的对象串L,进行基于该对象串L的对象管理。
接着,说明上述结构的服务器30的处理执行部37中的对象管理方法。
图9示出处理执行部37中进行对象管理的基本处理的流程。如该图9所示,在通过用用户终端10对从服务器30呈现的万维网页进行输入来请求服务器30的情况下,首先服务器30根据用用户终端10输入的登录ID等,判定与该登录ID对应的对象在服务器30内是否已经存在(步骤S201)。如果其结果是对象存在,则接着判定该对象是否位于存储器32上(步骤S202)。在对象位于存储器32上的情况下,直接进至步骤S206,用处理执行部37来执行与请求对应的处理。
另一方面,如果对象不在存储器32上,则在步骤S203中判定存储器32上是否有足够的空闲区域将对象从硬盘驱动器33换入到存储器32上。在其结果是没有空闲区域的情况下在步骤S204(换出步骤,执行步骤)中执行后面详述的换出处理后,在步骤S205中将对象从硬盘驱动器33换入到存储器32上;在有空闲区域的情况下,直接在步骤S205中将对象换入到存储器32上。然后,在步骤S206中,使用换入到存储器32上的对象,用处理执行部37来执行与用户终端10的请求对应的处理。
此外,在步骤S201中,在判定为对象在服务器30内不存在的情况下,进至步骤S210,判定存储器32上是否有用于新生成对象的空闲区域(空间)。在其结果是没有空闲区域的情况下在步骤S211(换出步骤,执行步骤)中执行后述换出处理后,在步骤S212中,用对象管理部37a在存储器32上的空闲区域上新生成对象。另一方面,在存储器32上有空闲区域的情况下直接在步骤S212中在存储器32上生成对象。然后,在步骤S206中,使用存储器32上生成的对象,用处理执行部37来执行与用户终端10的请求对应的处理。
在上述步骤S204或S211中执行换出处理时,使用上述访问预测部39预测出的预测使用时刻NA。
图10示出换出处理的流程,首先,在存储器32上按预测使用时刻NA从新到旧的顺序排列的对象串L中,取出先头的对象(0)的预测使用时刻NA(O)(步骤S301),判定该预测使用时刻NA(O)是否过了未图示的内部时钟中保持的当前时刻(步骤S302)。如果其结果是预测使用时刻NA(O)过了当前时刻,则换出该先头的对象(O)(步骤S303);如果预测使用时刻NA(O)未过当前时刻,则确定对象串L的末尾的对象(O)(时刻最迟的对象)(对象确定步骤),将其换出(步骤S304)。
具体举例来说,例如在需要对图8(a)所示的初始状态的对象串L执行对象交换处理的时刻,执行如图10所示的一系列处理。其结果是,例如在当前时刻TN=15的情况下,如图8(b)所示,对象串L先头的对象(J1)的预测使用时刻NA(J1)=10,过了当前时刻TN,所以满足步骤S302的条件,换出该对象(J1)。此外,例如如图8(c)所示,在当前时刻TN=5的情况下,对象串L先头的对象(J1)的预测使用时刻NA(J1)=10,未过当前时刻TN,不满足步骤S302的条件,所以换出对象串L末尾的对象(J8)。
图11示出在上述步骤S205中执行的换入处理、或者在S212中执行的新对象生成处理时更新存储器32上的对象串L的方法。
首先,对换入或新生成的对象(A),用访问预测部39来预测该对象(A)的预测使用时刻NA(A)(步骤S401预测步骤)。此时,如上所述,根据对用户设定的特征变量cr,来预测此时用户终端10正在访问的万维网页的预测使用时刻NA(A)。
接着,存储器管理部37b从与存储器32上保持着的所有对象有关的对象串L中,取出先头的对象(O)(步骤S402)。
判定取出的对象(O)是否是“空”(null)(步骤S403),在是“空”的情况下,将所讨论对象(A)插入到对象串L的末尾(步骤S404)。此外,如果取出的对象(O)不是“空”,则在后续步骤S405中,判定取出的对象(O)的预测使用时刻NA(O)是否大于对象(A)的预测使用时刻NA(A),在不大于的情况下,返回到步骤S402,取出对象串L中的下一对象(O),与上述同样来进行步骤S403以后的讨论。
这样对构成对象串L的对象(O)依次进行讨论,在步骤S405中,在判定为大于对象(A)的预测使用时刻NA的、对象(O)的预测使用时刻NA(O)出现时,在对象串L中,在该对象(O)之前插入对象(A)(步骤S406)。由此,换入或新生成的对象(A)向对象串L中的插入完成,对象串L被更新。
图12示出这种对象串L更新的一例。图12(a)是更新前的状态的对象串L,如图12(b)所示,在存储器32上的对象串L中,根据用户终端10的请求,使用对象(J5)(从对象串L中取出),预测该对象(J5)的下一预测使用时刻NA(J5)=65。
于是,在图11所示的步骤S402、S403、S405中,从对象串L先头的对象(J1)起依次与对象(J5)的预测使用时刻NA(J5)进行比较。其结果是,对象(J7)的预测使用时刻NA(J7)=70大于对象(J5)的预测使用时刻NA(J5)=65,满足步骤S405的条件,所以如图12(c)所示,对象(J5)被插入到对象(J7)之前,对象串L被更新。
这里,在如上所述使用预测使用时刻NA的算法和现有的LRU方式的算法之间进行了比较仿真,所以示出其结果。在两个算法中,作为预测用户的响应时间α所需的概率分布,都例如使用了如图13所示的对数正态(log-normal)分布。表示该对数正态分布的函数f(x)在x>0时,为f(x)=12πσxexp{-(logx-μ)22σ2}]]>在x≤0时,为f(x)=0。
这里,μ是均值(-∞<μ<∞),σ2是方差(σ>0)。
根据这种由对数正态分布构成的概率分布,将用户的特征变量cr设定为99%。
此外,假设根据预测使用时刻NA的算法来进行对象管理的服务器30、和根据现有的LRU方式的算法(以下,简称LRU算法)来进行对象管理的服务器(未图示)分别通过依次呈现由同一内容的10页构成的万维网页来与用户终端10进行一系列会话,在各万维网页上,根据用户终端10一侧输入的规定的命令来转移到下一万维网页。
此外,假设在两种情况下,一系列会话途中停止会话的用户的比率对各万维网页分别存在30%。
根据如上所述的同一条件,进行改变单位时间的平均请求数的仿真,如下来求此时的使用预测使用时刻NA的算法的服务器30中产生的换出次数、与使用现有的LRU方式的算法的服务器(未图示)中产生的换出次数的比率(以下,将其称为相对减少率)相对减少率=(LRU算法的换出次数-使用预测使用时刻NA的算法的换出次数)/LRU算法的换出次数。
图14示出该仿真结果,单位时间的平均访问(请求)数越大,与使用LRU算法的服务器相比,使用预测使用时刻NA的算法的服务器30中的换出次数相对减少。由此可知,越是单位时间的平均请求数大、即访问多的服务器,使用上述预测使用时刻NA的算法越有效,无用的换出次数越少。
如上所述,在服务器30中,预测向用户终端10呈现的各万维网页中用户有下一请求的时刻、即服务器30中保持的对象的预测使用时刻NA,根据该预测使用时刻NA来进行存储器32上保持的对象的管理。然后,在需要进行存储器32上的对象的换出时,基本上是换出预测使用时刻NA迟的对象,所以存储器32上只存在预测使用时刻NA早的对象、即最近的将来使用的可能性高的对象。
这里,在现有的LRU方式中,单纯按最终使用时刻从旧到新的顺序来进行换出,所以每当使用对象时将使用的对象插入到对象串的先头,据此依次换出对象串的末尾的最终使用时刻旧的对象。因此,在某个用户的会话途中由于其他用户的访问而使用对象时,该用户的对象有时也会被换出。在此情况下,一概不考虑其他用户正在访问的万维网页的内容等。因此,如果该用户想进至下一处理,则必须换出其他对象后再次换入其对象,需要进行无用的换入、换出。
与此相反,如上所述,通过使用预测使用时刻NA,使存储器32上存在最近的将来使用的可能性高的对象,能够将如上所述的无用的换入、换出抑制到最小限度,能够提高服务器30的运行效率。其结果是,对用户来说,能从服务器30一侧迅速得到响应,减少感到不满意等的因素,提高服务质量。
而且,预测使用时刻NA不仅根据按照各用户的熟练程度等设定的特征变量cr,还根据各用户正在访问的万维网页的内容等来预测,所以能够进行精度更高的预测。此外,在预测预测使用时刻NA时,提取过去N小时(例如1小时)的历史数据来使用。由此,即使在整体的访问数和网络20的拥挤程度变动的情况下,也能进行反映其的高精度的预测。
再者,换出预测使用时刻NA已过了当前时刻的对象,所以能够排除会话中止了的对象等不使用却存在于存储器32上的对象,这也有助于高效率的对象管理。
其中,在上述实施方式中,作为用于设定预测使用时刻NA的算法,使用了对每个用户设定的特征变量cr,但是只要能够预测预测使用时刻NA即可,也可以适当采用其他算法。
此外,在需要进行对象的换出时,通过图10所示的处理来换出预测使用时刻NA已过了的对象,但是除此之外,也可以每隔规定时间执行同样的处理。由此,能够适当换出无用的对象,在存储器32上保留空闲区域。
再者,为了预测预测使用时刻NA,需要用于形成概率分布的某种程度的历史数据,但是在服务器30开始运行时等,有时历史数据不存在,或者不足。在这种情况下,也可以在存储足够的历史数据之前,使用LRU方式等,在存储了历史数据后,开始使用预测使用时刻NA。
此外,在上述实施方式中,将用服务器30来执行因特网金融的处理作为具体例来举出,但是当然并不限于此,处理的种类、内容也可以是任意的。
除此之外,只要不脱离本发明的主旨,也可以取舍选择上述实施方式中举出的结构,或者适当变更为其他结构。
如上所述,根据本发明,能够提高服务器的运行效率,提高对用户的服务质量。
权利要求
1.一种服务器,用对每个用户设定的对象来执行与经网络接受的用户的请求对应的处理,其特征在于,包括第一对象保存部件,保存执行处理时使用的对象;第二对象保存部件,保存从上述第一对象保存部件传送的对象;处理执行部件,在收到用户的请求时用上述第一对象保存部件中保存的对象来执行处理;使用时刻预测部件,对于上述处理执行部件为了执行处理而使用的对象,预测下次由该处理执行部件使用的使用时刻;以及对象管理部件,根据上述使用时刻预测部件预测出的使用时刻,将上述第一对象保存部件中保存的对象从该第一对象保存部件传送到上述第二对象保存部件。
2.如权利要求1所述的服务器,其特征在于,上述使用时刻预测部件对每个用户预测上述对象的使用时刻。
3.如权利要求1所述的服务器,其特征在于,上述处理执行部件用对象来执行由多个阶段构成的一系列处理;上述使用时刻预测部件预测上述一系列处理的各阶段中使用的上述对象的使用时刻。
4.如权利要求1所述的服务器,其特征在于,上述对象管理部件将使用时刻已经过了的对象从上述第一对象保存部件传送到上述第二对象保存部件。
5.一种计算机系统,执行与经网络从外部用户终端接受的请求对应的处理,其特征在于,包括数据输出部,将提醒输入请求内容的数据经上述网络输出到用户终端;请求接受部,接受根据上述数据输出部输出的数据用上述用户终端输入的请求内容的数据;主存储装置,保存对每个用户生成的对象;处理执行部,用上述主存储装置中保存的对象来执行与上述请求内容的数据对应的处理;对象管理部,管理上述主存储装置上保存的对象;以及时刻预测部,预测用上述数据输出部输出数据以后、用上述处理执行部执行处理而下次使用对象的时刻;上述对象管理部根据上述时刻预测部预测出的时刻,来管理上述主存储装置中保存的对象。
6.如权利要求5所述的计算机系统,其特征在于,还包括时间数据存储部,存储用上述数据输出部将数据输出到上述用户终端后、直至为了用上述处理执行部执行处理而使用对象所需的时间数据;上述时刻预测部根据上述时间数据存储部中存储的多个用户的时间数据、和要预测时刻的用户的时间数据,来预测该用户的时刻。
7.如权利要求6所述的计算机系统,其特征在于,还包括指数设定部,设定上述时间数据存储部中存储的多个时间数据的分布中的、要预测时刻的用户的指数;上述时刻预测部用上述指数来预测上述用户的时刻。
8.如权利要求6所述的计算机系统,其特征在于,上述时刻预测部在之前的一定时间内用上述时间数据存储部中存储的多个用户的时间数据来预测上述用户的时刻。
9.如权利要求5所述的计算机系统,其特征在于,上述计算机系统用对象来执行由多个阶段构成的一系列处理;上述时刻预测部对上述一系列处理的每个阶段预测下次使用对象的时刻。
10.一种对象管理方法,该对象被保持在存储器上,具有预测步骤,预测下次使用上述存储器上保持的对象的时刻;对象确定步骤,在上述存储器上保持的对象中,确定上述时刻最迟的对象;以及换出步骤,将上述确定的对象从上述存储器上换出。
11.如权利要求10所述的对象管理方法,其特征在于,在为了将其他对象换入到上述存储器上或者生成新对象而需要从该存储器上换出对象时,执行上述对象确定步骤及上述换出步骤。
12.如权利要求10所述的对象管理方法,其特征在于,在上述预测步骤中预测的时刻经过时,执行上述换出步骤。
13.如权利要求10所述的对象管理方法,其特征在于,在上述预测步骤中,进行与时间带对应的预测。
14.一种服务器控制方法,用存储器上保持的对象来执行处理,其特征在于,具有输出步骤,输出与经网络访问上述服务器的用户的处理请求对应的处理结果;数据存储步骤,存储从输出上述处理结果后直至用户输入对该处理结果的响应的响应时间数据;预测步骤,根据存储的上述响应时间数据,来预测用户输入对存储该响应时间数据后输出的处理结果的响应的时刻;以及执行步骤,根据上述时刻,来执行上述存储器上的对象从该存储器的换出。
15.如权利要求14所述的服务器控制方法,其特征在于,还包括指数设定步骤,设定表示用户的响应时间在数据存储步骤中存储的包含其他用户的响应时间数据的分布中的位置的指数;在上述预测步骤中,根据上述指数来预测时刻。
16.如权利要求15所述的服务器控制方法,其特征在于,在上述预测步骤中,对未设定上述指数的用户,根据预先设定的标准指数来预测时刻。
17.如权利要求15所述的服务器控制方法,其特征在于,每当在上述数据存储步骤中存储响应时间数据时,执行上述指数设定步骤。
18.一种计算机程序,其特征在于,使得用存储器上保持的对象来执行与外部终端的请求对应的处理的计算机装置执行下述处理检测上述外部终端的处理请求命令;输出与上述处理请求命令对应的处理结果的数据;对输出的上述处理结果预测从上述外部终端输入下一处理请求命令的定时;以及根据预测出的上述定时,来执行为了执行与上述下一处理请求命令对应的处理所需的对象管理。
19.如权利要求18所述的计算机程序,其特征在于,上述计算机程序还使上述计算机装置执行下述处理将上述存储器上保持的对象中、预测出的上述定时最迟的对象从该存储器上换出。
20.一种计算机程序,其特征在于,使得用存储器上保持的对象来执行与外部终端的请求对应的处理的计算机装置执行下述处理预测下次使用上述存储器上保持的对象的时刻;确定上述存储器上保持的对象中、上述时刻最迟的对象;以及将上述确定的对象从上述存储器上换出。
全文摘要
提供目的在于提供能够高效率地运行服务器的服务器、计算机系统、对象管理方法、服务器控制方法等。服务器预测向用户终端呈现的各万维网页中用户有下一请求的时刻、即服务器中保持的对象的预测使用时刻NA,根据该预测使用时刻NA来进行存储器上保持的对象的管理。在需要进行存储器上的对象的换出时,基本上换出预测使用时刻NA迟的对象。
文档编号G06F9/44GK1503949SQ0280844
公开日2004年6月9日 申请日期2002年4月17日 优先权日2001年4月19日
发明者戚乃箴, 矢岛章雄, 雄 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1