WO2002086736A1 - Serveur, systeme informatique, procede de gestion d'objet, procede de commande de serveur, programme informatique - Google Patents

Serveur, systeme informatique, procede de gestion d'objet, procede de commande de serveur, programme informatique Download PDF

Info

Publication number
WO2002086736A1
WO2002086736A1 PCT/JP2002/003842 JP0203842W WO02086736A1 WO 2002086736 A1 WO2002086736 A1 WO 2002086736A1 JP 0203842 W JP0203842 W JP 0203842W WO 02086736 A1 WO02086736 A1 WO 02086736A1
Authority
WO
WIPO (PCT)
Prior art keywords
time
user
memory
data
server
Prior art date
Application number
PCT/JP2002/003842
Other languages
English (en)
French (fr)
Inventor
Naishin Seki
Akio Yajima
Shinichi Hirose
Original Assignee
International Business Machines Corporation
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 Corporation filed Critical International Business Machines Corporation
Priority to CA002444775A priority Critical patent/CA2444775A1/en
Priority to JP2002584187A priority patent/JP3842219B2/ja
Priority to EP02718605A priority patent/EP1388791A4/en
Priority to US10/474,616 priority patent/US7571446B2/en
Priority to KR10-2003-7013160A priority patent/KR20030093301A/ko
Priority to CN028084438A priority patent/CN1503949B/zh
Publication of WO2002086736A1 publication Critical patent/WO2002086736A1/ja

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
    • 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/44Arrangements for executing specific programs
    • G06F9/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4488Object-oriented
    • G06F9/4493Object persistence
    • 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/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

Definitions

  • the present invention relates to a server, a computer system, an object management method, a server control method, and the like, which are suitable for use in performing a process using an object.
  • networks such as the Internet and local area networks (LAN) have become widespread in recent years. Then, via these networks, the server executes various processes requested from the user's terminal.
  • LAN local area networks
  • a user can request multiple web pages for service navigation by displaying them sequentially on the user's terminal and receiving requests from the user for each web page. Execute the executed processing.
  • a server that handles Internet punkking displays a login page on the user's terminal and requests input of a login ID and password.
  • a menu page is displayed, the menu selection of the user on this menu page is accepted, and the process proceeds to the selected menu, for example, a web page corresponding to the transfer process.
  • the supervisor checks the details of the transfer.
  • the designated process After receiving a confirmation input from the user for the transfer content confirmation page, the designated process, that is, the transfer process, is executed.
  • a server that performs such a series of processes, that is, a session, a method of preparing an object for each user and processing a request from the user using the object is often used.
  • the object is data on a process for each user on the server, for example, registration data such as a pre-registered user's own login ID, log data such as a processing request content, a processing result, a processing history, and the like. This is for managing the processing data, etc. necessary for the processing that occurs during the processing in a lump.
  • the server has a memory as a main storage device as a data storage unit and a hard disk drive as an auxiliary storage device, and the objects for each user are adapted to the memory, the disk drive and the single disk drive. Stored separately. Then, the server calls an object corresponding to the user from a memory or a hard disk drive based on a login ID or the like entered by the user when logging in, and executes a process according to the user's request.
  • swap-in storing the object called from the hard disk drive in the free space on the memory is called swap-in.
  • the LRU Least Recently Used
  • the swap time is used in order from the oldest one that has been used last time (last used time).
  • Fig. 15 (a) shows objects (J1) to (J8) stored in memory at a certain point in time arranged from left to right in the figure in the order of newest use time. is there.
  • an object (J5) corresponding to the user is used in response to a processing request from the user, the last use time of the object (J5) is updated, and an array of the object (J1) in the memory is updated. Changes as shown in Fig. 15 (b). Sand That is, the last use time is the first (leftmost in the figure) of the object array (J5) that is the most recent used by processing.
  • Fig. 15 (b) Sand That is, the last use time is the first (leftmost in the figure) of the object array (J5) that is the most recent used by processing.
  • the conventional method described above may not always be able to perform efficient memory management, especially in a server that provides services for a large number of users.
  • the server may receive a large number of processing requests, for example, 500 or more processing requests per minute.
  • a certain user accesses a server and performs a series of processes including a plurality of steps, the process is proceeding along a web page sequentially displayed according to the user's input.
  • web If another user requests a lot of processing while reading a page, the user's object may be swapped out of the server's memory.
  • the server when this user finishes reading the web page and makes an input to proceed to the next page, the server must swap in the user's object into the memory, etc. It takes time to display the web page. If the user experiences the delay of the response from the server, the user may be dissatisfied with the provided service. As a result, the service provider has a demand to eliminate such a situation. Needless to say, this is not necessarily the case, and there is always a need for a method to reduce the load on the server and operate the server efficiently.
  • the present invention has been made based on such technical problems, and has as its object to provide a server, a computer system, a method of managing objects, a method of controlling a server, and the like, which can operate the server efficiently. I do. Disclosure of the invention
  • the server of the present invention uses an object stored in the first object storage means such as a memory when receiving a request from a user via the network, and executes the processing by the processing execution means. Predetermined processing is performed.
  • the use time used by the object used at this time in the next processing execution means is predicted by the use time prediction means, and the object is stored from the first object storage means to the second object such as a hard disk drive based on the use time. It is characterized in that it is forwarded to the object storage means. That is, the key held in the first object storage means.
  • the object having the latest predicted use time among the objects held at that time is swapped and moved to the second object storage means.
  • an object whose predicted use time is close is held on the first object storage means such as a memory.
  • the use time of the object is predicted for each user, the skill of each user can be added, and if the use time of the object is predicted for each stage of a series of processes including a plurality of stages, the process of each stage can be performed.
  • Content simple or complex
  • the object whose use time has passed the current time may be transferred from the first object storage means to the second object storage means.
  • the process execution unit executes a process according to the content of the request from the user terminal which is received by the request reception unit.
  • the time used is predicted by a time prediction unit, and the object management unit manages the objects stored in the main storage device based on the time predicted by the time prediction unit.
  • the data output unit, the request reception unit, the main storage device, the processing execution unit, the object management unit, and the time prediction unit may be configured integrally with the server, but these are divided into a plurality of computer devices, It may be a computer system that functions as a server as a whole.
  • the time data required from when the data is output to the user terminal by the data output unit until the object is used is stored in the time data storage unit, and the stored time data of a plurality of users and time are stored. It is also possible to predict the user's time based on the user's time data that should be predicted.
  • an index of the user whose time is to be predicted is set by the index setting unit, and the time of the user can be predicted using this index. Also, if the time is predicted using the time data of a plurality of users accumulated in the immediately preceding fixed time, the fluctuation due to the time zone can be taken into account.
  • the object management method according to the present invention when the object held in the memory is predicted to be used next time, for example, when it becomes necessary to swap the object in the memory, the object is held in the memory.
  • the method is characterized in that the object whose predicted time is the latest is specified from among the predicted objects and swapped. At this time, predictions can be made according to the time zone.
  • the present invention accumulates response time data from outputting a processing result in response to a processing request of a user accessing a server via a network to inputting a response from the user to the processing result.
  • an index indicating the position of the response time of the user in the distribution of the response time data including other users can be set, and the time can be predicted based on the index. For a user for whom no index is set, the time may be predicted based on a preset standard index such as a default value.
  • each time response time data is accumulated that is, each time a user inputs a response and uses an object.
  • a processing request command from an external terminal is detected, and a timing at which a next processing request command is input from an external terminal to a processing result output according to the command is predicted. Based on this timing, a computer device such as a server executes a process of executing management of an object necessary to execute a process according to a next process request command.
  • FIG. 1 is a diagram showing a system configuration according to the present embodiment.
  • FIG. 2 is a diagram showing a configuration for performing object management in a server.
  • Fig. 3 is a diagram showing the flow for generating a probability distribution from the actual response times accumulated when a user accesses, and setting feature variables for each user.
  • FIG. 4 is a diagram showing a flow of processing for setting the response time of the user.
  • Figure 5 is an example of a probability distribution.
  • FIG. 6 shows another example of the probability distribution.
  • FIG. 7 shows still another example of the probability distribution.
  • FIG. 8 (a) is an object sequence in an initial state, (b) is an object to be swapped out when the current time is 15, (c) is an object to be swapped out when the current time is 5, FIG.
  • FIG. 9 is a diagram showing the flow of processing when managing objects.
  • FIG. 10 is a diagram showing the flow of processing when an object is swapped out based on the predicted use time.
  • FIG. 11 is a diagram showing the flow of processing when updating an object sequence.
  • FIG. 12 is a diagram showing a probability distribution used as an example in performing a simulation.
  • FIG. 14 is a diagram showing a simulation result.
  • FIG. 15 is a diagram showing a conventional object management method. BEST MODE FOR CARRYING OUT THE INVENTION
  • FIG. 1 is a diagram for explaining a system configuration according to the present embodiment.
  • terminals 10 of a plurality of users are connected to a service provider side via a network 20 such as the Internet or a LAN. (Computer system, computer device) 30
  • each terminal 10 may be a so-called ordinary PC (Personal Computer) or the like, and a function (means) for receiving data transmitted from server 30 via network 20 is based on the received data.
  • a browser function to display the screen (image) on the monitor display screen, an information input function such as a pointing device and a keypad where the user inputs information and request contents based on the display content on the display screen, and an information input function What is necessary is just to have a function of transmitting the input information to the server 30 via the network 20.
  • the server 30 includes a control block 31 for performing control based on a command of a CPU (not shown) based on a control program installed in advance, and a dynamic random access memory (DRAM).
  • DRAM dynamic random access memory
  • the control block 31 includes a request receiving unit 36 for receiving a request from the external terminal 10 received by the data transmitting / receiving unit 34 via the network 20, and a processing executing unit for executing a process corresponding to the received request. (Process execution means) 37, and a processing result transmission unit (data output unit) 38 for transmitting the processing result of the processing execution unit 37 from the data transmission / reception unit 34 to the terminal 10 via the network 20 , have.
  • the processing execution unit 37 includes an object management unit 37 a that calls an object stored in the memory 32 and generates a new object, which is necessary for executing a process according to a request.
  • Objects for memory 32 such as swapping out objects stored in 32 to hard disk drive 33, swapping in objects in hard disk drive 33 to memory 32, etc.
  • the processing execution unit 37 predicts the next access time during a series of user sessions when the memory management unit 37 b manages the object. For this reason, the control block 31 is further provided with an access prediction unit (use time prediction unit, time prediction unit) 39. Since such a server 30 advances the process requested by the user in a series of multiple stages, the server 30 sends the user's terminal 10 connected to the server 30 via the network 20 in the form of a so-called homepage. Web pages corresponding to each stage of processing are presented sequentially.
  • a web page that accepts the input of a login ID and password for login a web page that accepts selection of a processing menu (eg, transfer, balance inquiry, etc.) by the user after login,
  • a web page that accepts input of information for example, the account number of the transfer destination, the amount of the transfer, etc.
  • a web page that receives confirmation of the processing content from the user and processing completion are sequentially presented according to the input from the user terminal 10.
  • the server 30 executes a predetermined process in the process execution unit 37 based on the process request command ⁇ parameter included in the request (data of the content of the request) received by the request reception unit 36, and the processing result Is presented to the user, and data of a web page for prompting the user to input a request content for proceeding to the next stage of processing is transmitted by the processing result transmitting unit 38.
  • data for displaying each web page on the terminal 10 is stored in the hard disk drive 33 (or another storage device) of the server 30.
  • the processing result transmitting unit 38 reads the data of the web page to be transmitted, for example, the data in the HTML (Hypertext Markup Language) format from the hard disk drive 33, and combines it with the data of the processing result in the processing executing unit 37.
  • the data is transmitted from the data transmitting / receiving unit 34 to the terminal 10 via the network 20.
  • the access prediction unit 39 predicts the next access time for each user with respect to each web page presented from the server 30 side.
  • the terminal 10 receives the data, displays the web page, and a user who has viewed the web page is requested by the web page.
  • the time when the object of this user is used on the server 30 side in response to the command sent from the terminal 10 by starting the input of the item (use time: hereinafter, this is referred to as predicted use time NA).
  • the response time a required until that time is predicted.
  • the response time ⁇ required for viewing the web page and performing a required input greatly differs for each user. Also, when presenting multiple web pages, you need to read the contents of the web page, for example, only the login ID and password, the web page, the terms of use, etc., or enter many items.
  • the response time ⁇ differs depending on the content of each web page, such as the required web page, even for the same user.
  • the transfer speed of the network 20 and the processing speed of the server 30 etc. also affect the response time ⁇ .
  • the access time to each web page provided by the server 30 and the actual response time (response time) i3 actually required by each user are shown in FIG.
  • the history data (time data) is stored in a history data storage unit (time data storage unit) such as the memory 32 or the hard disk drive 33.
  • the actual response time j3 is the time at which the data of each web page is transmitted from the server 30, the processing on this web page is completed, and the object for processing the next request from the user is actually used. It is the actual time required until the specified time. It should be noted that the actual response time is stored in the history data storage unit after being subjected to, for example, a process of quantizing (digitizing) in seconds, for example.
  • FIG. 4 shows a flow of processing for predicting the response time ⁇ in the access prediction unit 39. First, as described above, the server 30 transmits the web page data to the all users who have accessed the server 30 immediately after the operation (output step).
  • the actual response time required until a response is made from the user's terminal 10 to the page] 3] is detected, and this is stored in the history data storage unit (not shown) together with the access time (data storage step).
  • FIG. 3 (b) is an extraction of the history data of the processing performed in the past hour, that is, at 8:00, for example, at 9:00, for example, after 8:00.
  • a probability distribution (distribution of a plurality of time data) of the actual response time J3 for the web page made in the past hour is obtained.
  • the actual response time] 3 is grouped in multiple stages, for example, every second.
  • the number of accesses (the number of users) corresponding to each group is obtained, and the ratio of each group to the entire access is calculated (step S102).
  • these groups are sorted in ascending order of the group ID represented by the actual response time ⁇ , and the priority pr (n) is set for each group according to the sorting order (step S103).
  • FIGS. 5 to 7 show examples of the probability distribution sorted in this manner.
  • FIG. 5 shows the actual responses of a plurality of users to a simple web page in which the input items to be input on the user terminal 10 are simple.
  • the probability distribution of the time ⁇ is a probability distribution for a web page having a complicated input item
  • FIG. 7 is a probability distribution for a web page having an intermediate input item between FIG. 5 and FIG.
  • the probability distribution shown in Fig. 5 since the input items are simple, the variation in the actual response time] 3 of the entire user is small.
  • the probability distributions shown in Figs. 6 and 7 since there are many input items, differences in PC proficiency, reading speed of sentences, familiarity with the web page, etc. appear as a large difference. The variation in distribution is large.
  • the access prediction unit (index setting unit) 39 predicts the response time ⁇ of the user based on the probability distribution of the actual response time ⁇ .
  • the characteristic variable (exponent) cr representing the position (proportion) of the user's actual response time] 3 in the probability distribution of the actual response time 3 is used.
  • This feature variable cr represents the position of the user when viewed from the probability distribution, for example, from the side with the lower priority pr (n) (the side with the smaller actual response time ⁇ ).
  • the characteristic variable cr of this user is set based on the actual response time of this user accumulated before 3). For example, based on the feature variable cr for the user's past five actual response times j3, the average value of the feature variable cr excluding the highest and lowest is set as the user's feature variable cr (exponential setting Step)
  • This feature The variable cr is preferably set each time the actual response time 3 of the user is accumulated, that is, each time the object is used, and updated in real time.
  • the ratio of each group (the ratio of the number of accesses) is accumulated from the side with the lower priority pr (n) based on the relational expression shown in Fig. 3 (e). Since the group ID corresponding to the priority pr (n) at the time when the cumulative value (hereinafter, referred to as a percentage cumulative value; unit:%) becomes equal to or more than the feature variable cr is defined as the user response time a. Yes (step S104).
  • the response time a of the user whose characteristic variable c1: is set to 75% is the priority pr at the time when the cumulative ratio becomes 75% or more.
  • the group ID of (n) is “13 seconds”.
  • the user whose feature variable cr is set to 50% and the user whose characteristic variable cr is set to 80% are both predicted to have a response time a of “6 seconds”.
  • the access prediction unit 39 predicts the predicted use time NA at which the object is used to process the next request from the user, that is, the next access time during a series of sessions. .
  • Such prediction of the predicted use time NA is performed when the object held in the memory 32 is used based on a processing request from the user, and the predicted predicted use time NA is calculated based on the memory. It is stored in association with each object held on 32.
  • the memory management unit 37 b generates an object sequence L as shown in FIG. 8, for example, in the order of the predicted use time NA for all the objects held in the memory 32, and generates this object. Manage objects based on column L. Next, a description will be given of a method for managing an object in the processing execution unit 37 of the server 30 having the above configuration.
  • FIG. 9 shows a basic processing flow for performing object management in the processing execution unit 37.
  • the server 30 determines whether or not the object corresponding to the login ID already exists in the server 30 based on the mouth login ID or the like input in 10 (step S201). As a result, if an opsi-jet exists, the object is subsequently stored in memory 32. It is determined whether or not there is an object (step S202). If there is an object in the memory 32, the process proceeds to step S206 as it is, and the processing according to the request is executed by the processing execution unit 37. I do.
  • step S203 there is enough free space in the memory 32 to swap the object from the hard disk drive 33 to the memory 32. Is determined.
  • step S204 swipe-out step, execution step
  • 3 is swapped into the memory 32, and if there is an empty area, the object is swapped into the memory 32 as it is in step S205.
  • step S206 the process execution unit 37 executes a process in response to a request from the user terminal 10 using the object swapped into the memory 32.
  • step S201 If it is determined in step S201 that the object does not exist in the server 30, the process proceeds to step S210, and the free area (space) for newly generating the object is stored in the memory. Judge whether the item is on 3 2 or not. As a result, if there is no free area, after performing the swap-out processing described later in step S211 (swap-art step, execution step), in step S212, the object management unit 37a Creates an object in a free area on the memory 32 with. On the other hand, if there is an empty area in the memory 32, an object is generated in the memory 32 in step S212. After this, step S 2 At 06, the processing execution unit 37 executes a process according to a request from the user terminal 10 using the object generated on the memory 32. When executing the swap chart processing in step S204 or S211 described above, the predicted use time NA predicted by the access prediction unit 39 is used.
  • FIG. 10 shows the flow of the swap-out process.
  • the predicted use time NA (O) of the first object (O) is used.
  • Step S301 it is determined whether or not the predicted use time NA (O) has passed the current time held in the internal cache (not shown) (Step S302). As a result, if the predicted use time N A (O) is past the current time, the leading object (O) is swapped out.
  • Step S303 If the predicted use time NA (O) does not exceed the current time, the last object (O) (the object with the latest time) of the object sequence L is identified (object identification). Step), this is swapped out (Step S304).
  • object identification the last object (O) (the object with the latest time) of the object sequence L is identified (object identification). Step), this is swapped out (Step S304).
  • FIG. 11 shows a method of updating the object sequence L on the memory 32 when performing the swap-in process executed in step S205 or the new object generation process executed in step S212.
  • the access prediction unit 39 predicts the predicted use time NA (A) of the object (A) (step S401: prediction). Step) At this time, as described above, based on the characteristic variable cr set for the user, the predicted use time NA (A) on the web page accessed by the user terminal 10 at that time is predicted. is there. Next, the memory management unit 37b extracts the first object (O) from the object sequence L for all objects held in the memory 32 (step S402).
  • step S 403 It is determined whether or not the retrieved object (O) is nul 1 (step S 403). If the object (O) is nul 1, the object (A) to be examined is placed at the end of the object sequence L. Insert into the tail (step S404). If the retrieved object (O) is not nul1, in the following step S405, the predicted use time NA (O) of the retrieved object (O) is predicted to be used (NA). A) It is determined whether or not it is larger than A). Returning to 02, the next object (O) in the object sequence L is fetched, and the examination from step S 403 onward is performed in the same manner as described above.
  • the object (O) constituting the object sequence L is sequentially examined, and in step S405, it is determined that the predicted use time NA (A) of the object (A) is longer than the predicted use time NA (A).
  • the object (A) is inserted before the object (O) in the object sequence L (step S406).
  • the swap-in or insertion of the newly generated object (A) into the object sequence L is completed, and the object sequence L is updated.
  • FIG. 12 shows an example of such an update of the object sequence L.
  • FIG. 12 (a) shows the object sequence L in the state before the update. As shown in FIG.
  • the predicted use time NA (J 5) of the object (J 5) is the first object in the object object sequence L. (J1).
  • a comparison simulation was performed between an algorithm using the predicted use time NA as described above and a conventional LRU algorithm, and the results are shown.
  • a log-normal distribution as shown in Fig. 13 was used as the probability distribution required to predict the response time ⁇ of the user.
  • the function f (x) showing this log-normal distribution is
  • is the average (1 ⁇ ⁇ ) and ⁇ 2 is the variance ( ⁇ > 0).
  • the user's characteristic variable cr is set to 99%.
  • LRU algorithm a conventional LRU algorithm
  • a series of sessions exchanged with the user's terminal 10 are performed by sequentially presenting a series of 10 pages each having the same contents. It is assumed that a transition to the next web page is performed by a predetermined command input on the 0 side. In each case, the percentage of users who stop the session in the middle of a series of sessions is assumed to be 30% for each web page.
  • a simulation was performed in which the average number of requests per unit time was changed.
  • a swap packet generated in a server (not shown) using a conventional LRU algorithm was used.
  • the ratio of the number of swap-outs occurring in the server 30 using the algorithm using the predicted use time NA to the number of times (hereinafter referred to as a relative decrease rate) is
  • Relative reduction rate (number of swaps in LRU algorithm—number of swaps in algorithm using predicted time N A) / number of swaps in LRU algorithm
  • Figure 14 shows the results of the simulation.
  • the number of swap-outs on the server 30 has been relatively reduced. From this, it can be seen that the algorithm using the predicted use time NA is more effective for a server having a larger average number of requests per unit time, that is, for a server having more accesses, and the number of unnecessary swap accounts is reduced.
  • the server 30 predicts, at each web page presented to the user's terminal 10, the time at which the user makes the next request, that is, the predicted use time NA of the object held by the server 30.
  • the object held in the memory 32 is determined based on the predicted use time NA.
  • the objects whose predicted use time NA is late are basically swapped, so that the use prediction is not stored in the memory 32.
  • Only objects with a faster time NA that is, objects that are likely to be used in the near future, exist.
  • the last use time is configured such that the last use time is simply swapped in order from the oldest, the used object is inserted at the head of the object sequence every time the object is used. Accordingly, the oldest objects at the end of the object sequence at the last use time are sequentially swapped out.
  • one user's object may be swapped during the session of another user while the object is being used by another user's access. In this case, the content of the page accessed by another user is not considered at all. Therefore, when this user tries to proceed to the next process, the object must be swapped out after swapping out another object, and it is necessary to perform useless swapin swap.
  • the useless swap-in and swap-out as described above are performed. Can be minimized, and the operation efficiency of the server 30 can be improved. As a result, for the user, a response can be promptly obtained from the server 30 side, and it is possible to reduce factors that cause dissatisfaction and improve serviceability.
  • the predicted use time NA is predicted based not only on the characteristic variable cr set based on the proficiency level of each user, but also on the contents of the web page accessed by each user. Precise predictions can be made.
  • the predicted use time NA is set to swap up objects whose current time has passed, objects that are not used but exist in the memory 32, such as objects whose sessions have been canceled, can be excluded. This also contributes to efficient object management.
  • the feature variable cr set for each user is used as an algorithm for setting the predicted use time NA.
  • the predicted use time NA can be predicted, another It is also possible to adopt an algorithm of this kind.
  • the object shown in Fig. 10 is used to swap out objects whose predicted use time NA has elapsed. It is also possible to adopt a configuration for executing the processing of FIG. As a result, unnecessary objects can be appropriately swapped and an empty area can be secured in the memory 32. Furthermore, in order to predict the predicted use time NA, a certain amount of historical data is required to form a probability distribution, but at the start of operation of Sano 30, etc., there is no or insufficient historical data. Sometimes. In such a case, it is possible to use the LRU method or the like until the history data is sufficiently accumulated, and to start the predicted use time NA after the accumulation of the history data.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Memory System Of A Hierarchy Structure (AREA)

Description

明細書 サーバ、 コンピュータシステム、 ォブジェク トの管理方法、 サ ーパの制御方法、 コンピュータプログラム
技術分野
本発明は、 オブジェクトを用いて処理を行なうに際して用いるのに 好適な、 サーバ、 コンピュータシステム、 オブジェク トの管理方法、 サーバの制御方法等に関する。
背景技術
近年、 インターネットやローカルエリアネットワーク ( L A N ) 等 のネットワークが普及しているのは周知の通りである。 そして、 これ らのネットワークを介して、 サーバはユーザの端末から要求された様 々な処理を実行するようになっている。
特に、 ネットワーク上でサービスを提供するサーバの場合、 サービ スのナビゲーションを行なう複数のウェブページをユーザの端末側に 順次表示させ、 各ウェブページに対するユーザからの要求を受け付け ることによって、 ユーザが希望した処理を実行する。 一例を挙げると 、 インターネットパンキングを取り扱うサーバでは、 ユーザの端末側 に口グインページを表示させ、 ログイン I Dやパスヮードの入力を要 求する。 ユーザがログイン I Dやパスワードを入力すると、 続いて、 メニューページを表示させ、 このメニューページでのユーザのメニュ 一選択を受け付け、 選択されたメニュー、 例えば振込み処理に応じた ウェブページに進む。 ウェブページに対し、 ユーザが振込み先の口座 番号、 振込み金額等を入力すると、 続いてサ一パは振込み内容確認べ ージを表示させ、 この振込み内容確認ページに対するユーザからの確 認入力を受けた後、 指定された処理、 すなわち振込み処理を実行する のである。 このような一連の処理、 いわゆるセッションを行なうサーバでは、 ユーザ毎にォプジヱクトを用意し、 このォプジヱクトを用いてユーザ からの要求を処理する手法が多く用いられている。 ここでオブジェク トとは、 サーバ上において、 各ユーザに対しての処理に関するデータ 、 例えば予め登録されたユーザ自身のログイン I D等の登録データ、 処理要求内容、 処理結果、 処理履歴等のログデータ、 処理の途中で発 生する処理に必要な処理用データ等を、 ひとかたまりにして管理する ためのものである。 このようなオブジェクトは、 ユーザがサ一パに対 して初めてセッションを行なうときに生成され、 2回目以降のセッシ ヨンでは、 前回使用したオブジェクトを用いることにより、 前回行な つた処理を基に継続的なサービスを提供できるようになっている。 サーバは、 データの格納部として、 主記憶装置としてのメモリと、 補助記憶装置としてのハードディスクドライブとを有しており、 ユー ザ毎のォブジェクトは、 これらメモリとノ、一ドディスクドライブに適 宜振り分けて格納される。 そして、 サーバは、 ユーザがログイン時に 入力するログイン I D等に基づき、 このユーザに対応したオブジェク トをメモリやハードディスクドライブから呼び出し、 ユーザの要求に 応じた処理を実行するのであるが、 このとき、 主記憶装置であるメモ リにォブジェク トが格納されている場合よりも、 補助記憶装置である ハードディスクドライブにォブジェク トが格納されている場合の方が 、 ハードディスクドライブからオブジェクトをメモリ上に呼び出さな ければならないため、 応答が遅いのは言うまでも無い。 サーバのメモリには、 当然のことながら記憶容量に物理的な限界が あるため、 メモリに格納するオブジェクトの数に制限がある。 このた め、 ハードディスクドライブ上のオブジェクトをメモリ上に呼び出す 場合や、 メモリ上に新たなオブジェクトを生成する場合等に、 メモリ 上に十分な空き領域が無ければ、 その時点でメモリに格納されている オブジェクトをハードディスク ドライブ上に移してメモリ上に空き領 域を作り出し、 ここにハードディスクドライブから呼び出したォブジ ェクトを格納するのである。 このようなオブジェクトのメモリからハ 一ドディスクドライブへの移動をスワップァゥトと称している。 逆に 、 メモリ上の空きスペースにハードディスクドライブから呼び出した オブジェクトを格納することをスワップインと称している。 従来より、 このようなメモリに対するオブジェクトの管理手法とし ては、 L R U (Least Recently Used) 方式が多く用いられている。 L R U方式では、 スワップアウトを行なう場合に、 メモリ上に格納されて いるオブジェクトのうち、 前回使用した時刻 (最終使用時刻) が最も 古いものから順にスワップァゥトさせる。
例えば、 図 1 5 ( a ) は、 ある時点でメモリに格納されているォブ ジェク ト (J 1 ) 〜 (J 8 ) を、 最終使用時刻の新しい順に図中左側 から右側に配列したものである。 そして、 ユーザからの処理要求に応 じ、 このユーザに対応したオブジェクト (J 5 ) を使用すると、 この オブジェクト (J 5 ) の最終使用時刻が更新され、 メモリ上のォブジ ェクト (J 1 ) の配列が、 図 1 5 ( b ) に示すように変わる。 すなわ ち、 処理のための使用によって最終使用時刻が最も新しくなつたォプ ジェク ト (J 5 ) 力 配列の先頭 (図中左端) になるのである。 また 、 新たなオブジェク ト (図示無し) を生成したりハードディスクドラ イブに格納されたオブジェクトを呼び出すためにメモリ上の空き領域 が足りず、 スワップアウトを行なう場合は、 図 1 5 ( c ) に示すよう に、 その時点でメモリに格納されているオブジェクト (J 1 ) 〜 (J 8 ) のうち、 最終使用時刻が最も古いオブジェクト (J 8 ) がスヮッ プアウトされ、 メモリ上からハードディスクドライブへと移動される のである。 また、 メモリ上におけるオブジェクトの他の管理手法として、 ァク セス履歴頻度に基づいてスワップァゥトするオブジェク トを選択する ものがある (特開平 6— 4 3 1 6号公報等) 。 このような手法では、 スワップァゥトを行なう際に、 単純に最終使用時刻が古いオブジェク トをスワップアウトさせるのではなく、 単位時間当たり (例えばスヮ ップインしてからの経過時間) のアクセス頻度 (例えばアクセス時間 ) が最も少ないオブジェクトをスワップァゥトさせる。 しかしながら、 上述したような従来の手法では、 特に、 多数のユー ザを対象としたサービスを提供するサーバにおいて、 必ずしも効率の 良いメモリ管理が行なえないことがある。 例えば、 数万人から数十万 人のユーザに対してサービスを提供するような形態では、 大量、 例え ば 1分間当たり 5 0 0以上の処理要求をサーバが受けることがある。 このようなケースでは、 あるユーザがサーバにアクセスして複数段階 からなる一連の処理を行なう際に、 ユーザの入力に応じて順次表示さ れるウェブページに沿って処理を進めている途中、 例えばあるウェブ ページを読んでいる間に、 他のユーザから多くの処理要求があった場 合に、 当該ユーザのォブジェクトがサーバのメモリからスワップァゥ トされてしまうことがある。 すると、 このユーザがウェブページを読 み終え、 次のゥヱプページに進むための入力を行なった時点で、 サー パ側ではこのユーザのォブジェクトのメモリへのスワップイン等を行 なわなければならず、 次のウェブページの表示までに時間がかかるこ とになる。 これによつて生じるサーバからの応答の遅れを体感すれば 、 ユーザは提供されるサービスに対して不満を抱くことすらある。 こ のため、 サービスの提供側としては、 このような事態の発生を解消し たいという要求を持つことになる。 必ずしもこれに限るものではない 力 s、 サーバの負荷を軽減して効率良くサーバを稼動させるための手法 が常に模索されていることは言うまでも無い。
本発明は、 このような技術的課題に基づいてなされたもので、 効率 良くサーバを稼動させることのできるサーバ、 コンピュータシステム 、 オブジェクトの管理方法、 サーバの制御方法等を提供することを目 的とする。 発明の開示
かかる目的のもと、 本発明のサーバでは、 ネットワークを介してュ 一ザからの要求を受けたときに、 メモリ等の第一のオブジェクト格納 手段に格納されたオブジェク トを用い、 処理実行手段によって所定の 処理が実行される。 このときに用いたオブジェク トが次に処理実行手 段で用いられる使用時刻を使用時刻予測手段で予測し、 この使用時刻 に基づき、 オブジェクトを第一のオブジェクト格納手段からハードデ イスク ドライブ等の第二のォブジェクト格鈉手段に転送することを特 徴とする。 すなわち、 第一のオブジェクト格納手段で保持しているォ ブジェクトをスワップァゥトさせる必要が生じたときに、 その時点で 保持されているオブジェクトのうち、 予測された使用時刻が最も遅い オブジェクトをスワップァゥトさせ、 第二のオブジェクト格納手段に 移動するのである。 これにより、 メモリ等の第一のオブジェク ト格納 手段上には、 予測された使用時刻が近いオブジェクトが保持されるこ とになる。
ここで、 ユーザ毎にオブジェクトの使用時刻を予測すればユーザ毎 のスキルを加味することができ、 複数段階からなる一連の処理の段階 毎にオブジェクトの使用時刻を予測すれば、 各段階の処理の内容 (単 純あるいは複雑等) を加味することができる。
また、 使用時刻が現在時刻を経過したォブジェクトを第一のォプジ エタト格納手段から第二のォブジェク ト格納手段に転送するようにし てもよい。
本発明に係るコンピュータシステムは、 データ出力部でデータを出 力して以降、 要求受付部で受け付けるユーザの端末からの要求内容に 応じた処理を処理実行部で実行するために、 オブジェクトが次に使用 される時刻を時刻予測部で予測し、 オブジェクト管理部では、 時刻予 測部で予測された時刻に基づいて主記憶装置に格納されたオブジェク トを管理することを特徴とする。
ここで、 データ出力部、 要求受付部、 主記憶装置、 処理実行部、 ォ ブジェクト管理部、 時刻予測部は、 サーバに一体に備える構成として も良いが、 これらを複数のコンピュータ装置に分割し、 全体としてサ ーパとして機能するコンピュータシステムとすることもできる。 ところで、 データ出力部でデータをユーザの端末に出力してからォ ブジェク トが使用されるまでに要した時間データを時間データ蓄積部 に蓄積し、 蓄積された複数のユーザの時間データと、 時刻を予測すベ きユーザの時間データとに基づき、 ユーザの時刻を予測することもで さる。
より詳しくは、 例えば、 蓄積された複数の時間データの分布におけ る、 時刻を予測すべきユーザの指数を指数設定部で設定し、 この指数 を用いてユーザの時刻を予測することができる。 また、 直前の一定時 間内に蓄積された複数のユーザの時間データを用い、 時刻を予測すれ ば、 時間帯による変動等を加味することができる。 本発明に係るォブジェクトの管理方法では、 メモリ上に保持された オブジェクトが次に使用される時刻を予測し、 例えばメモリ上のォプ ジェク トをスワップァゥトさせる必要が生じたときには、 メモリ上に 保持されたオブジェクトのうち、 予測された時刻が最も遅いオブジェ ク トを特定してスワップァゥトさせることを特徴とする。 このときに は、 時間帯に応じた予測を行なうこともできる。 本発明は、 ネットワークを介してサーバにアクセスしたユーザの処 理要求に応じた処理結果を出力してから、 これに対するユーザからの 応答が入力されるまでの応答時間のデータを蓄積し、 この蓄積後に出 力された処理結果に対してユーザから応答が入力される時刻を、 蓄積 された応答時間のデータに基づいて予測し、 予測された時刻に基づき メモリ上のオブジェクトのスワップァゥトを実行するサーバの制御方 法として捉えることができる。 このときには、 他のユーザを含めた応答時間のデータの分布中にお ける、 ユーザの応答時間の位置を示す指数を設定し、 この指数に基づ いて時刻を予測することができる。 また、 指数が設定されていないュ 一ザに対しては、 デフォルト値等、 予め設定された標準指数に基づい て時刻を予測しても良い。 また、 応答時間のデータを蓄積する毎、 つ まりユーザが応答を入力してオブジェクトを使用する毎に、 指数の設 定を行なうことも可能である。 本発明のコンピュータプログラムでは、 外部の端末からの処理要求 コマンドを検出し、 これに応じた出力した処理結果に対して外部の端 末から次の処理要求コマンドが入力されるタイミングを予測し、 予測 したタイミングに基づき、 次の処理要求コマンドに応じた処理を実行 するために必要なオブジェクトの管理を実行する処理を、 サーバ等の コンピュータ装置に実行させることを特徴とする。 図面の簡単な説明
図 1は本実施の形態におけるシステム構成を示す図である。 図 2はサーバにおけるォブジェク ト管理を行なうための構成を示 す図である。
図 3はユーザからのアクセス時に蓄積される実レスポンス時間か ら確率分布を生成し、 ユーザ毎の特徴変数を設定するための流れを示 す図である。
図 4はユーザのレスポンス時間を設定するための処理の流れを示 す図である。
図 5は確率分布の一例である。
図 6は確率分布の他の一例である。 図 7は確率分布のさらに他の一例である。
図 8の、 (a ) は初期状態のオブジェクト列、 (b ) は現在時刻 が 1 5である場合にスワップアウトするオブジェクト、 (c ) は現在 時刻が 5である場合にスワップアウトするオブジェク ト、 を示す図で ある。
図 9はオブジェクトの管理を行なうときの処理の流れを示す図で ある。
図 1 0は使用予測時刻に基づいてォブジェクトをスワップアウト するときの処理の流れを示す図である。
図 1 1はオブジェクト列を更新する時の処理の流れを示す図であ る。
図 1 2の、 (a ) は初期状態のオブジェクト列、 (b ) はォブジ ェク トを取り出して処理を行なっている状態、 (c ) は使用予測時刻 を予測したオブジェクトをスワップインさせた状態、 を示す図である 図 1 3はシミュレーションを行なうに際し、 一例として用いた確 率分布を示す図である。
図 1 4はシミュレーション結果を示す図である。
図 1 5は従来のオブジェク ト管理方法を示す図である。 発明を実施するための最良の態様
以下、 添付図面に示す実施の形態に基づいてこの発明を詳細に説明す る。
図 1は、 本実施の形態におけるシステム構成を説明するための図で ある。 この図 1に示すように、 複数のユーザの端末 1 0は、 インター ネットゃ L A N等のネットワーク 2 0を介し、 サービス提供者側のサ ーパ (コンピュータシステム、 コンピュータ装置) 3 0に接続される 構成となっている。
ここで、 各端末 1 0は、 いわゆる通常の P C (Personal Computer) 等 であればよく、 ネットワーク 2 0を介してサーバ 3 0から送信された データを受信する機能 (手段) 、 受信したデータに基づく画面 (画像 ) をモニタの表示画面に表示するブラウザ機能、 表示画面上の表示内 容に基づきユーザが情報や要求内容の入力等を行なうボインティング デバイスやキーポード等の情報入力機能、 情報入力機能で入力した情 報をネットワーク 2 0を介してサーバ 3 0に送出する機能等を備えて いればよい。 一方、 図 2に示すように、 サーバ 3 0は、 予めインストールされた 制御プログラムに基づき図示しない C P Uの命令に基づく制御を行な う制御プロック 3 1と、 D R AM (Dynamic Random Access Memory) 等からなるメモリ (第一のオブジェクト格納手段、 主記憶装置) 3 2 と、 ハードディスクドライブ (第二のオブジェクト格納手段、 補助記 憶装置) 3 3と、 ネットワーク 2 0に対してのデータ送受信を司るデ ータ送受信部 3 4と、 を有している。 制御プロック 3 1は、 ネットワーク 2 0を介してデータ送受信部 3 4で受け取った外部の端末 1 0からの要求を受け付ける要求受付部 3 6と、 受け付けた要求に応じた処理を実行する処理実行部 (処理実行 手段) 3 7と、 処理実行部 3 7での処理結果をデータ送受信部 3 4か らネットワーク 2 0を介して端末 1 0に送信させる処理結果送信部 ( データ出力部) 3 8と、 を有している。 処理実行部 3 7は、 要求に応じた処理を実行するに際して必要な、 メモリ 3 2に格納されているオブジェクトを呼び出したり、 新たなォ ブジェクトを生成したりするオブジェクト管理部 3 7 aと、 メモリ 3 2に格納されているオブジェク トのハードディスクドライブ 3 3への スワップアウト、 ハードディスクドライプ 3 3に格納されているォプ ジェク トのメモリ 3 2へのスワップイン等、 メモリ 3 2に対するォプ ジェク トの管理を行なう、 メモリ管理部 (オブジェク ト管理手段、 ォ ブジェクト管理部) 3 7 bとを有している。
また、 この処理実行部 3 7では、 メモリ管理部 3 7 bでオブジェク トの管理を行なうときに、 ユーザの一連のセッション中における次回 のアクセス時刻を予測する。 このため、 制御プロック 3 1には、 ァク セス予測部 (使用時刻予測手段、 時刻予測部) 3 9がさらに備えられ ている。 このようなサーバ 3 0は、 ユーザが要求する処理を一連の複数段階 に分けて進めるため、 いわゆるホームページの形態で、 ネットワーク 2 0を介してサーバ 3 0に接続したユーザの端末 1 0に対して処理の 各段階に応じたウェブページを順次提示する。 例えば、 インターネッ トバンキングであれば、 口グインのための口グイン I Dやパスヮード の入力を受け付けるゥヱプページ、 ログイン完了後、 ユーザによる処 理メニュー (例えば振込み,残高照会等) の選択を受け付けるウェブ ■ ページ、 選択された処理メニューに応じ、 処理を実行するために必要 な情報 (例えば振込み先口座番号、 振込み金額等) の入力を受け付け るウェブページ、 処理内容の確認をユーザから受けるウェブページ、 処理の完了を通知するウェブページ等を、 ユーザの端末 1 0からの入 力に応じ、 順次提示していくのである。 このため、 サーバ 3 0は、 要求受付部 3 6で受け付けた要求 (要求 内容のデータ) に含まれる処理要求コマンドゃパラメータに基づき、 処理実行部 3 7で所定の処理を実行し、 その処理結果をユーザに提示 するとともに、 処理の次の段階に進むための要求内容をユーザに入力 させるためのウェブページのデータを、 処理結果送信部 3 8で送信す る。
ここで、 各ウェブページを端末 1 0に表示させるためのデータは、 サーバ 3 0のハードディスクドライブ 3 3 (あるいは他の記憶装置) に格納されている。 処理結果送信部 3 8では、 送信すべきウェブぺー ジのデータ、 例えば H T M L (Hypertext Markup Language) 形式のデー タをハードディスクドライブ 3 3から読み出し、 処理実行部 3 7での 処理結果のデータと合わせて、 データ送受信部 3 4からネットワーク 2 0を介して端末 1 0に送信するのである。 さて、 前記アクセス予測部 3 9では、 サーバ 3 0側から提示する各 ウェブページに対する、 ユーザ毎の次回のアクセス時刻を予測する。 具体的には、 各ウェブページのデータをサーバ 3 0から送信した時刻 から、 このデータを端末 1 0が受け取ってウェブページを表示し、 こ のゥェブベージを見たユーザが当該ゥヱブベージで要求されている項 目の入力を開始することによって端末 1 0から送信されるコマンドに 応じ、 サーバ 3 0側でこのユーザのオブジェク トが使用される時刻 ( 使用時刻:以下、 これを使用予測時刻 N Aと称する) までに要するレ スポンス時間 aを予測するのである。
これは、 ユーザのスキル、 すなわち P Cに対する習熟度、 サーバ 3 0が提示するウェブページを訪れた経験の有無や量、 文章の読解速度 、 文字入力速度等の要因により、 同じウェブページであっても、 この ウェブページを見て所要の入力を行なうまでのレスポンス時間 αがュ 一ザ毎に大きく異なるからである。 また、 複数のウェブページを提示 する場合、 ウェブページの內容、 例えばログイン I Dとパスワードの みを入力すれば良いウェブページ、 使用規約等の文章を読まなければ ならなかったり多くの項目を入力しなければならないゥェプページ等 、 ウェブページ毎の内容によって、 同一のユーザであっても、 レスポ ンス時間 αが異なる。 これ以外にも、 深夜、 早朝、 日中等、 時間帯に よってもネットワーク 2 0やサーバ 3 0の利用者の数が大きく変動す るため、 ネットワーク 2 0の転送速度やサーバ 3 0の処理速度等も、 レスポンス時間 αに影響を及ぼす。 サーバ 3 0では、 全てのユーザについて、 図 3 ( a ) に示すように 、 サーバ 3 0で提供する各ウェブページに対するアクセス時刻と、 各 ユーザが実際に要した実レスポンス時間 (応答時間) i3の履歴データ (時間データ) を、 メモリ 3 2あるいはハードディスクドライブ 3 3 等の履歴データ格納部 (時間データ蓄積部) に格納している。 ここで 、 実レスポンス時間 j3は、 各ウェブページのデータをサーバ 3 0から 送信した時刻から、 このウェブページでの処理が完了し、 ユーザから の次の要求を処理するためのォブジェクトが実際に使用された時刻ま でに要した実績時間である。 なお、 実レスポンス時間 は、 予め例え ば秒単位に量子化 (デジタル化) する処理がなされた後、 履歴データ 格納部に格納される。 図 4は、 アクセス予測部 3 9で、 レスポンス時間 αを予測するため の処理の流れを示すものである。 まず、 サーバ 3 0は、 稼動直後から、 上記したように、 サーバ 3 0 に対してアクセスした全ユーザに対し、 処理結果送信部 3 8でウェブ ページのデータを送信すると (出力ステップ) 、 このウェブページに 対してユーザの端末 1 0から応答がなされるまでに要した実レスボン ス時間 ]3を検出し、 これをアクセス時刻とともに履歴データ格納部 ( 図示無し) に蓄積する (データ蓄積ステップ) 。 サーバ 3 0が、 ユーザからの要求に応じ、 ウェブページのデータを ネットワーク 2 0を介してユーザの端末 1 0に送信した時点で、 まず 、 その時点から予め決められた過去 N時間 (本実施の形態では例えば N == lとし、 以下、 過去 1時間とする) の間になされた、 同一ウェブ ページに対する処理の履歴データを、 履歴データ格納部 (図示無し) から抽出する (ステップ S 1 0 1 ) 。 図 3 ( b ) は、 例えば 9 : 0 0 の時点で、 過去 1時間、 つまり 8 : 0 0以降になされた処理の履歴デ ータを抽出したものである。 次いで、 抽出した履歴データに基づき、 過去 1時間のうちになされ た、 当該ウェブページに対する実レスポンス時間 J3の確率分布 (複数 の時間データの分布) を求める。 具体的には、 図 3 ( c ) に示すよう に、 実レスポンス時間 ]3を複数段階、 例えば 1秒毎にグループ化する 。 そして、 各グループに該当するアクセスの数 (ユーザの数) を求め 、 アクセス全体に対する各グループの割合を算出する (ステップ S 1 0 2 ) 。 さらに、 図 3 ( d ) に示すように、 これらのグループを実レ スポンス時間 βによって表されるグループ I Dの小さい順にソートし 、 ソート順に従ってそれぞれのグループにプライオリティ p r ( n ) を設定する (ステップ S 1 0 3 ) 。 図 5〜図 7は、 このようにしてソートした確率分布の一例であり、 図 5は、 ユーザの端末 1 0側で入力すべき入力項目が単純なウェブべ ージに対する複数のユーザの実レスポンス時間 βの確率分布、 図 6は 、 複雑な入力項目を有するウェブページに対する確率分布、 図 7は、 図 5と図 6の中間の入力項目を有するウェブページに対する確率分布 である。 図 5に示す確率分布では、 入力項目が単純であるため、 ユー ザ全体の実レスポンス時間 ]3のばらつきが小さくなっている。 これに 対し、 図 6や図 7に示す確率分布では、 入力項目が多いため、 P Cへ の習熟度、 文章を読むスピード、 当該ウェブページへの慣れ等の違い が大きな差となって現れ、 確率分布のばらつきが大きくなっている。 さて、 アクセス予測部 (指数設定部) 3 9は、 このような実レスポ ンス時間 βの確率分布に基づき、 ユーザのレスポンス時間 αを予測す るわけであるが、 このとき、 本実施の形態では、 実レスポンス時間 3 の確率分布中における、 ユーザの実レスポンス時間 ]3の位置 (割合) を表す特徴変数 (指数) c rを用いる。 この特徴変数 c rは、 確率分 布の例えばプライオリティ p r ( n ) の小さい側 (実レスポンス時間 βの小さい側) から見たときのユーザの位置を表している。
この特徴変数 c rは、 ユーザが一定回数のアクセスを行なうまでは 、 アクセス予測部 3 9で予め保持しているデフォルト値 (標準指数) 、 例えば c r = 9 0 %等を用い、 ユーザが一定回数以上のアクセスを 行なった時点で、 それ以前に蓄積されたこのユーザの実レスポンス時 間 )3に基づいて、 このユーザの特徴変数 c rを設定する。 例えば、 こ のユーザの過去 5回の実レスポンス時間 j3についての特徴変数 c rを 基に、 最高と最低のものを除いた特徴変数 c rの平均値を、 ユーザの 特徴変数 c r として設定する (指数設定ステップ) 。 なお、 この特徴 変数 c rは、 ユーザの実レスポンス時間) 3が蓄積される毎、 つまりォ ブジェクトを使用する毎に逐次設定し、 リアルタイムに更新するのが 好ましい。 ユーザのレスポンス時間 αを予測するには、 図 3 ( e ) に示すよう な関係式に基づき、 プライオリティ p r ( n ) の小さい側から各ダル ープの割合 (アクセスの数の割合) を累積し、 その累積値 (以下、 割 合累積値と称する。 単位:%) が特徴変数 c r以上となった時点での プライオリティ p r ( n ) に対応したグループ I Dを、 ユーザのレス ポンス時間 aとするのである (ステップ S 1 0 4 ) 。
具体例を挙げれば、 図 7の確率分布において、 特徴変数 c 1:が7 5 %と設定されたユーザのレスポンス時間 aは、 割合累積値が 7 5 %以 上となった時点でのプライオリティ p r ( n ) のグループ I Dが 「1 3秒」 である (図 7中、 確率分布の小さい側からの割合の累積は、 1 0 % + 1 5 % + 3 0 % + 2 5 % = 8 0 %) ため、 この 「 1 3禾少」 をュ 一ザのレスポンス時間 aとして予測する。 また、 同様に、 図 5の確率 分布では、 特徴変数 c rが 5 0 %と設定されたユーザ、 8 0 %と設定 されたユーザは、 いずれもレスポンス時間 aは 「6秒」 と予測される 。 また、 図 6の確率分布では、 特徴変数 c rが 5 0 %と設定されたュ 一ザのレスポンス時間 aは 「8秒」 、 8 0 %と設定されたユーザのレ スポンス時間 aは 「 1 1秒、」 と予測される。 このようにして予測するユーザのレスポンス時間 a;を基に、 ユーザ からの次の要求を処理するためのォブジェクトの使用予測時刻 N Aは 、 各ウェブページのデータをサーバ 3 0から送信した時刻を Tとする と、 N A = T + α
という式により求められる。 上記のような方法により、 アクセス予測部 3 9にて、 ユーザから次 の要求を処理するためにオブジェク トが使用される使用予測時刻 N A 、 すなわち一連のセッション中における次のアクセス時刻が予測され る。
このような使用予測時刻 N Aの予測は、 ユーザからの処理要求に基 づき、 メモリ 3 2上に保持されているオブジェク トが使用されるとき に行なわれ、 予測された使用予測時刻 N Aは、 メモリ 3 2上に保持さ れている各オブジェクトに関連付けられて記憶される。 メモリ管理部 3 7 bでは、 メモリ 3 2上で保持している全てのオブジェク トに対し 、 使用予測時刻 N Aが新しい順に、 例えば図 8に示すようなォプジヱ クト列 Lを生成し、 このォブジェク ト列 Lに基づいたオブジェクトの 管理を行なう。 さて、 次に、 上記のような構成のサーバ 3 0の処理実行部 3 7にお ける、 ォプジヱタ トの管理方法を説明する。
図 9は、 処理実行部 3 7におけるオブジェクト管理を行なう基本的 な処理の流れを示すものである。 この図 9に示すように、 サーバ 3 0 から提示したウェブページに対し、 ユーザの端末 1 0で入力がなされ ることによってサーバ 3 0に対する要求が発生した場合、 まずサーバ 3 0では、 ユーザの端末 1 0で入力された口グイン I D等に基づき、 このログイン I Dに対応するオブジェクトがサーバ 3 0内に既に存在 しているか否かを判定する (ステップ S 2 0 1 ) 。 その結果、 ォプジ エタ トが存在していれば、 続いてそのオブジェク トがメモリ 3 2上に あるか否かを判定し (ステップ S 2 0 2 ) 、 メモリ 3 2上にオブジェ タ トがある場合は、 そのままステップ S 2 0 6に進み、 要求に応じた 処理を処理実行部 3 7で実行する。 一方、 オブジェク トがメモリ 3 2上に無ければ、 ステップ S 2 0 3 にて、 メモリ 3 2上にォブジェク トをハードディスク ドライプ 3 3か らメモリ 3 2上にスワップィンするのに十分な空き領域があるか否か を判定する。 その結果、 空き領域が無い場合にはステップ S 2 0 4 ( スワップアウトステップ、 実行ステップ) で後に詳述するスワップァ ゥト処理を実行した後に、 ステップ S 2 0 5でオブジェク トをハード ディスク ドライブ 3 3からメモリ 3 2上にスワップインさせ、 空き領 域がある場合には、 そのままステップ S 2 0 5でオブジェク トをメモ リ 3 2上にスワップインさせる。 そして、 ステップ S 2 0 6で、 メモ リ 3 2上にスワップインさせたオブジェク トを用い、 ユーザの端末 1 0からの要求に応じた処理を処理実行部 3 7で実行する。 また、 ステップ S 2 0 1にて、 オブジェク トがサーバ 3 0内に存在 しないと判定された場合、 ステップ S 2 1 0に進み、 オブジェク トを 新たに生成するための空き領域 (空間) がメモリ 3 2上にあるか否か を判定する。 その結果、 空き領域が無い場合にはステップ S 2 1 1 ( スワップァゥトステップ、 実行ステップ) で後述のスワップアウト処 理を実行した後に、 ステップ S 2 1 2にて、 オブジェク ト管理部 3 7 aでオブジェク トをメモリ 3 2上の空き領域に新たに生成する。 一方 、 メモリ 3 2上に空き領域がある場合にはそのままステップ S 2 1 2 でオブジェク トをメモリ 3 2上に生成する。 この後は、 ステップ S 2 06で、 メモリ 32上に生成したオブジェクトを用い、 ユーザの端末 1 0からの要求に応じた処理を処理実行部 37で実行する。 上記のステップ S 204あるいは S 2 1 1にてスワップァゥト処理 を実行するに際しては、 上記アクセス予測部 3 9で予測される使用予 測時刻 N Aが用いられる。
図 1 0は、 スワップアウト処理の流れを示すもので、 まず、 メモリ 32上で使用予測時刻 N Aの新しい順に並ぶォブジェクト列 Lにおい て、 先頭のオブジェク ト (O) の使用予測時刻 NA (O) を取り出し
(ステップ S 3 0 1) 、 この使用予測時刻 NA (O) 、 図示しない 内部ク口ックに保持された現在時刻を過ぎているか否かを判定する ( ステップ S 30 2) 。 その結果、 使用予測時刻 N A (O) が現在時刻 を過ぎていれば、 この先頭のオブジェクト (O) をスワップアウトし
(ステップ S 30 3) 、 また使用予測時刻 NA (O) が現在時刻を過 ぎていなければ、 ォブジェクト列 Lの最後尾のォプジヱクト (O) ( 時刻が最も遅いォブジェクト) を特定し (オブジェク ト特定ステップ ) 、 これをスワップアウトさせる (ステップ S 304) 。 具体例を挙げれば、 例えば図 8 (a) に示す初期状態のオブジェク ト列 Lに対し、 オブジェクトのスワップ処理を実行する必要が生じた 時点で、 図 1 0に示したような一連の処理を実行する。 その結果、 例 えば現在時刻 TNが TN= 1 5である場合、 図 8 (b) に示すように 、 オブジェクト列 Lの先頭のォブジェクト (J 1) は使用予測時刻 N A (J 1) == 1 0で現在時刻 TNを過ぎているため、 ステップ S 30 2の条件を満たすことになり、 このオブジェク ト ( J 1 ) をスワップ アウトさせる。 また、 例えば図 8 ( c ) に示すように、 現在時刻 TN が TN= 5である場合、 オブジェクト列 Lの先頭のオブジェクト (J 1) は使用予測時刻 NA ( J 1) = 1 0で現在時刻 TNを過ぎておら ず、 ステップ S 302の条件を満たさないので、 オブジェクト列しの 最後尾のオブジェクト (J 8) をスワップアウトさせる。 図 1 1は、 上記のステップ S 20 5で実行するスワップィン処理、 あるいは S 2 1 2にて実行する新たなォブジヱク トの生成処理に際し 、 メモリ 3 2上のォブジェクト列 Lを更新する方法を示すものである まず、 スワップインあるいは新たに生成されるオブジェクト (A) に対し、 このオブジェク ト (A) の使用予測時刻 N A (A) をァクセ ス予測部 3 9で予測する (ステップ S 40 1 :予測ステップ) 。 この ときには、 上記したように、 ユーザに対して設定された特徴変数 c r に基づき、 その時点でユーザの端末 1 0がアクセスしているウェブべ ージにおける使用予測時刻 N A (A) を予測するのである。 次いで、 メモリ管理部 37 bにて、 メモリ 32上で保持している全 てのォブジェクトに関するオブジェクト列 L力 ら、 先頭のォプジヱク ト (O) を取り出す (ステップ S 402) 。
取り出したオブジェク ト (O) が n u l 1であるか否かを判定し ( ステップ S 40 3) 、 n u l 1である場合には、 検討対象であるォプ ジェクト (A) をオブジェク ト列 Lの最後尾に挿入する (ステップ S 404) 。 また、 取り出したオブジェク ト (O) が n u l 1でなけれ ば、 続くステップ S 40 5で、 取り出したォプジヱタ ト (O) の使用 予測時刻 N A (O) 力 ォプジ タト (A) の使用予測時刻 N A (A ) よりも大きいか否かを判定し、 大きくない場合には、 ステップ S 4 02に戻り、 オブジェク ト列 Lにおける次のオブジェク ト (O) を取 り出し、 上記と同様にステップ S 40 3以降の検討を行なう。
このようにしてオブジェク ト列 Lを構成するオブジェク ト (O) に 対して順次検討を行ない、 ステップ S 40 5にて、 オブジェク ト (A ) の使用予測時刻 NA (A) よりも大きいと判定されるオブジェク ト (O) の使用予測時刻 NA (O) が出現した時点で、 オブジェク ト列 Lにおいて、 そのォブジェク ト (O) の前にオブジェク ト (A) を揷 入する (ステップ S 40 6) 。 これにより、 スワップインあるいは新 たに生成されるォブジェク ト (A) のォブジヱク ト列 Lへの挿入が完 了し、 オブジェク ト列 Lが更新される。 図 1 2は、 このようなォブジヱク ト列 Lの更新の一例を示すもので ある。 図 1 2 (a) は更新前の状態のオブジェク ト列 Lであり、 図 1 2 (b ) に示すように、 メモリ 3 2上のオブジェク ト列 L中、 ユーザ の端末 1 0からの要求に基づき、 才ブジェク ト (J 5) が使用され ( オブジェク ト列 Lから取り出される) 、 このオブジェク ト (J 5) の 次回の使用予測時刻 N A ( J 5) 力 S、 NA ( J 5) = 6 5と予測され たとする。
すると、 図 1 1に示したステップ S 40 2、 S 40 3、 S 40 5に おいて、 ォブジヱク ト (J 5) の使用予測時刻 N A (J 5) 力 ォブ ジェタ ト列 Lの先頭のオブジェク ト (J 1) から順次比較される。 そ の結果、 オブジェク ト (J 7) の使用予測時刻 N A ( J 7) = 70が 、 オブジェク ト ( J 5) の使用予測時刻 N A ( J 5) = 6 5よりも大 きく、 ステップ S 40 5の条件を満たすので、 図 1 2 (c) に示すよ うに、 オブジェク ト (J 5) がオブジェク ト (J 7) の前に挿入され てオブジェク ト列 Lが更新される。 ここで、 上記のような使用予測時刻 NAを用いたアルゴリズムと、 従来の LRU方式のアルゴリズムとで、 比較シミュレーションを行な つたのでその結果を示す。 いずれのアルゴリズムにおいても、 ユーザ のレスポンス時間 αを予測するために必要な確率分布として、 例えば 図 1 3に示すような log-normal分布を用いた。 この log-normal分布を示す 関数 f (x) は、
x〉 0であるときには、
、 — 1 _ -I -{logx -μ)2
■42% σχ I Λσ J であり、
X≤ 0であるときには、
f (x) = 0
である。 ここで、 μは平均 (一∞< μ <∞) 、 σ 2は分散 (σ > 0 ) である。
このような log-normal分布からなる確率分布を基に、 ユーザの特徴変 数 c rを 9 9 %に設定する。
また、 使用予測時刻 NAを用いたアルゴリズムに基づくオブジェク ト管理を行なうサーバ 3 0と、 従来の LRU方式のアルゴリズム (以 下、 L RUアルゴリズムと略称する) に基づくオブジェクト管理を行 なうサーバ (図示無し) では、 ユーザの端末 1 0との間でやり取りす る一連のセッションを、 それぞれ同一内容の 1 0ページからなるゥェ プページを順次提示するによって行ない、 各ウェブページでは、 ユー ザの端末 1 0側で入力される所定のコマンドによって次のウェブぺー ジへの遷移が行なわれるものとする。 そして、 いずれの場合も、 一連のセッション途中でセッションを止 めるユーザの割合は、 各ゥヱプページ毎に 3 0 %存在するものとする
上記したような同一の条件を基に、 単位時間当たりの平均要求数を 変化させたシミュレーションを行ない、 このときの、 従来の L R U方 式のアルゴリズムを用いるサーバ (図示無し) で発生するスワップァ ゥト回数に対する、 使用予測時刻 N Aを用いたアルゴリズムを用いる サーバ 3 0において発生するスワップアウト回数の比率 (以下、 これ を相対減少率と称する) を、
相対減少率 = ( L R Uアルゴリズムでのスワップァゥト回数—使用 予測時刻 N Aを用いたアルゴリズムでのスワップァゥ ト回数) / L R Uアルゴリズムでのスワップァゥト回数
で求めた。
図 1 4は、 そのシミュレーション結果を示すもので、 単位時間当た りの平均アクセス (要求) 数が大きくなればなるほど、 L R Uァルゴ リズムを用いたサーバに比較し、 使用予測時刻 N Aを用いたアルゴリ ズムのサーバ 3 0でのスヮップアゥト回数が相対的に減少した。 この ことから、 単位時間当たりの平均要求数が大きい、 つまりアクセスの 多いサーバ程、 上記使用予測時刻 N Aを用いるアルゴリズムが有効で あり、 無用なスワップァゥト回数が少なくなることが判る。 上述したように、 サーバ 3 0では、 ユーザの端末 1 0に対して提示 する各ウェブページにおいて、 ユーザから次の要求がある時刻、 つま りサーバ 3 0で保持したオブジェクトの使用予測時刻 N Aを予測し、 この使用予測時刻 N Aに基づいてメモリ 3 2上に保持されたオブジェ タ トの管理を行なう構成とした。 そして、 メモリ 3 2上のオブジェク トのスワップァゥトを行なう必要が生じたときには、 基本的に使用予 測時刻 N Aが遅いォブジェク トをスワップァゥトさせるようにしたの で、 メモリ 3 2上には使用予測時刻 N Aが早いオブジェクトのみ、 つ まり近い将来使用される可能性が高いオブジェクトが存在することに なる。 ここで、 従来の L R U方式では、 単純に最終使用時刻が古い順にス ヮップアゥトさせる構成となっているため、 オブジェクトが使用され る度に使用されたオブジェク トがォブジェクト列の先頭に挿入され、 これに応じてオブジェクト列の最後尾の最終使用時刻の古いォブジェ タ トが順次スワップアウトされることになる。 このため、 あるユーザ のセッション途中で、 他のユーザのアクセスによってォブジェクトが 使用されるうちに、 このユーザのオブジェクトがスワップァゥトされ てしまうこともある。 この場合、 他のユーザがアクセスしているゥェ プページの内容等は一切考慮されない。 したがって、 このユーザが次 の処理に進もうとするとォブジェクトを他のオブジェクトをスワップ アウトさせた後に再度スワップィンさせなければならず、 無用のスヮ ップィン ·スワップァゥトを行なう必要が生じるのである。
これに対し、 上記したように、 使用予測時刻 N Aを用い、 メモリ 3 2上には近い将来使用される可能性が高いオブジェク トを存在させる ことによって、 上記したような無用のスワップイン 'スワップアウト を最小限に抑えることができ、 サーバ 3 0の稼動効率を向上させるこ とが可能となる。 その結果、 ユーザにとっては、 サーバ 3 0側から迅 速に応答が得られ、 不満等を感じる要因を減らし、 サービス性を向上 させることが可能となる。 しかも、 使用予測時刻 N Aは、 各ユーザの習熟度等を基に設定され た特徴変数 c rだけでなく、 各ユーザがアクセスしているウェブべ一 ジの内容等に基づいて予測されるので、 より精度の高い予測を行なう ことができる。 加えて、 使用予測時刻 N Aの予測の際には、 過去 N時 間 (例えば 1時間) の履歴データを抽出して用いるようにした。 これ により、 例えば時間帯等によって全体のアクセス数ゃネットワーク 2 0の混雑度合いが変動する場合にも、 これを反映させた高精度な予測 が行なえる。
さらに、 使用予測時刻 N Aが現在時刻を経過したオブジェクトをス ヮップアゥトさせるようにしたので、 セッションが中止されたォブジ ェクト等、 使用されないのにメモリ 3 2上に存在するオブジェクトを 除外することができ、 これも効率の良いオブジェクト管理に貢献する こととなる。 なお、 上記実施の形態では、 使用予測時刻 N Aを設定するためのァ ルゴリズムとして、 ユーザ毎に設定される特徴変数 c rを用いる構成 としたが、 使用予測時刻 N Aを予測できるのであれば、 適宜他のアル ゴリズムを採用することも可能である。
また、 オブジェクトのスワップアウトを行なう必要が生じた際に、 図 1 0に示した処理によって使用予測時刻 N Aが経過したォプジヱク トをスワップアウトさせる構成としたが、 これ以外に、 所定時間毎に 同様の処理を実行する構成とすることも可能である。 これにより、 不 要のオブジェク トを適宜スワップァゥトさせて、 メモリ 3 2上に空き 領域を確保することが可能となる。 さらに、 使用予測時刻 N Aを予測するには、 確率分布を形成するた めのある程度の履歴データが必要となるが、 サーノ 3 0の稼動開始時 等には、 履歴データが存在しない、 あるいは不足することがある。 こ のような場合には、 履歴データが十分に蓄積されるまで、 L R U方式 等を用い、 履歴データの蓄積がなされた後、 使用予測時刻 N Aを開始 する構成とすることも可能である。 ― 加えて、 上記実施の形態では、 サーバ 3 0でインターネットパンキ ングの処理を実行する例を具体例として挙げたが、 もちろんこれに限 るものではなく、 処理の種類 ·内容はいかなるものであっても良い。 これ以外にも、 本発明の主旨を逸脱しない限り、 上記実施の形態で 挙げた構成を取捨選択したり、 他の構成に適宜変更することが可能で める。
以上説明したように、 本発明によれば、 サーバの稼動効率を向上さ せ、 ユーザに対するサービス性を向上させることが可能となる。

Claims

請求の範囲
1 . ネットワークを介して受け付けたユーザからの要求に応じた処 理をユーザ毎に設定されるオブジェクトを用いて実行するサーバであ つて、
処理を実行するときに用いられるォブジェクトを格納する第一のォ ブジェクト格納手段と、
前記第一のオブジェクト格納手段から転送されるオブジェクトを格 納する第二のオブジェクト格納手段と、
ユーザからの要求を受けたときに前記第一のォブジェクト格納手段 に格納されたオブジェクトを用いて処理を実行する処理実行手段と、 処理を実行するために前記処理実行手段で用いたオブジェクトが、 次に当該処理実行手段で用いられる使用時刻を予測する使用時刻予測 手段と、
前記第一のオブジェクト格納手段に格納されたオブジェク トを、 前 記使用時刻予測手段で予測された使用時刻に基づき、 当該第一のォプ ジ工ク ト格納手段から前記第二のオブジェクト格納手段に転送するォ ブジェクト管理手段と、 を備えることを特徴とするサーバ。
2 . 前記使用時刻予測手段は、 ユーザ毎に前記オブジェクトの使用 時刻を予測することを特徴とする請求項 1記載のサーバ。
3 . 前記処理実行手段は、 オブジェクトを用いて複数段階からなる 一連の処理を実行し、 前記使用時刻予測手段は、 前記一連の処理の各段階で使用される前 記オブジェクトの使用時刻を予測することを特徴とする請求項 1記載 のサ—/ 。
4 . 前記オブジェク ト管理手段は、 使用時刻が経過したオブジェク トを前記第一のォブジェク ト格納手段から前記第二のォブジェク ト格 納手段に転送することを特徴とする請求項 1記載のサーバ。
5 . ネットワークを介し外部のユーザの端末から受ける要求に応じ た処理を実行するコンピュータシステムであって、
要求内容の入力を促すデータを、 前記ネットワークを介してユーザ の端末に対して出力するデータ出力部と、
前記データ出力部で出力されたデータに基づき前記ユーザの端末で 入力された要求内容のデータを受け付ける要求受付部と、
ユーザ毎に生成されるオブジェクトを保持する主記憶装置と、 前記主記憶装置に格納されたォブジェクトを用いて前記要求内容の データに応じた処理を実行する処理実行部と、
前記主記憶装置上で保持されるオブジェクトを管理するオブジェク ト管理部と、
前記データ出力部でデータを出力して以降、 前記処理実行部にて処 理を実行するためにオブジェク トが次に使用される時刻を予測する時 刻予測部と、 を備え、
前記オブジェクト管理部は、 前記時刻予測部で予測された時刻に基 づき、 前記主記憶装置に格納されたォブジェクトを管理することを特 徴とするコンピュータシステム。
6 . 前記データ出力部でデータを前記ユーザの端末に出力してから 、 前記処理実行部で処理を実行するためにオブジェク トが使用される までに要した時間データを蓄積する時間データ蓄積部をさらに備え、 前記時刻予測部は、 前記時間データ蓄積部に蓄積された複数のユー ザの時間データと、 時刻を予測すべきユーザの時間データとに基づき 、 当該ユーザの時刻を予測することを特徴とする請求項 5記載のコン ピュータシステム。
7 . 前記時間データ蓄積部に蓄積された複数の時間データの分布に おける、 時刻を予測すべきユーザの指数を設定する指数設定部をさら に備え、
前記時刻予測部は前記指数を用いて前記ユーザの時刻を予測するこ とを特徴とする請求項 6記載のコンピュータシステム。
8 . 前記時刻予測部は、 直前の一定時間内に前記時間データ蓄積部 に蓄積された複数のユーザの時間データを用い、 前記ユーザの時刻を 予測することを特徴とする請求項 6記載のコンピュータシステム。
9 . 前記コンピュータシステムは、 オブジェクトを用いて複数段階 からなる一連の処理を実行し、
前記時刻予測部は、 オブジェク トが次に使用される時刻を前記一連 の処理の段階毎に予測することを特徴とする請求項 5記載のコンビュ ータシステム。
1 0 . メモリ上で保持されるォブジェク トの管理方法であって、 前記メモリ上に保持されたォブジェクトが次に使用される時刻を予 測する予測ステップと、
前記メモリ上に保持されたオブジェクトのうち、 前記時刻が最も遅 いオブジェクトを特定するォブジェクト特定ステップと、
前記特定されたオブジェクトを前記メモリ上からスワップァゥトさ せるスワップアウトステップと、 を有することを特徴とするオブジェ クトの管理方法。
1 1 . 前記メモリ上への他のオブジェクトのスワップインまたは新 たなォブジェク トの生成のために当該メモリ上からオブジェクトをス ヮップアゥトさせる必要が生じたときに、 前記オブジェクト特定ステ ップぉよぴ前記スヮップアウトステツプを実行することを特徴とする 請求項 1 0記載のオブジェクトの管理方法。
1 2 . 前記予測ステップで予測された時刻が経過したときに、 前記 スワップァゥトステップを実行することを特徴とする請求項 1 0記載 のオブジェクトの管理方法。
1 3 . 前記予測ステップでは、 時間帯に応じた予測を行なうことを' 特徴とする請求項 1 0記載のオブジェクトの管理方法。
1 4 . メモリ上に保持したオブジェクトを用いて処理を実行するサ ーパの制御方法であって、
ネットワークを介して前記サーバにアクセスしたユーザの処理要求 に応じた処理結果を出力する出力ステップと、 前記処理結果を出力してから当該処理結果に対するユーザからの応 答が入力されるまでの応答時間のデータを蓄積するデータ蓄積ステツ プと、
蓄積された前記応答時間のデータに基づいて、 当該応答時間のデー タの蓄積後に出力された処理結果に対してユーザから応答が入力され る時刻を予測する予測ステップと、
前記時刻に基づき、 前記メモリ上のォブジヱクトの当該メモリから のスワップァゥトを実行する実行ステップと、 を有することを特徴と するサーバの制御方法。
1 5 . データ蓄積ステップで蓄積された他のユーザを含めた応答時 間のデータの分布中における、 ユーザの応答時間の位置を示す指数を 設定する指数設定ステップをさらに備え、
前記予測ステップでは、 前記指数に基づいて時刻を予測することを 特徴とする請求項 1 4記載のサーバの制御方法。
1 6 . 前記予測ステップでは、 前記指数が設定されていないユーザ に対し、 予め設定された標準指数に基づいて時刻を予測することを特 徴とする請求項 1 5記載のサーバの制御方法。
1 7 . 前記データ蓄積ステップで応答時間のデータを蓄積する毎に 、 前記指数設定ステップを実行することを特徴とする請求項 1 5記載 のサーバの制御方法。
1 8 . 外部の端末からの要求に応じた処理をメモリ上に保持したォ ブジェク トを用いて実行するコンピュータ装置に、 前記外部の端末からの処理要求コマンドを検出する処理と、 前記処理要求コマンドに応じた処理結果のデータを出力する処理と 出力した前記処理結果に対して前記外部の端末から次の処理要求コ マンドが入力されるタイミングを予測する処理と、
予測した前記タイミングに基づき、 前記次の処理要求コマンドに応 じた処理を実行するために必要なオブジェクトの管理を実行する処理 と、 を実行させることを特徴とするコンピュータプログラム。
1 9 . 前記コンピュータプログラムは、
前記メモリ上に保持したオブジェクトのうち、 予測した前記タイミ ングが最も遅いォブジェクトを当該メモリ上からスワップァゥトさせ る処理をさらに前記コンピュータ装置に実行させることを特徴とする 請求項 1 8記載のコンピュータプログラム。
2 0 . 外部の端末からの要求に応じた処理をメモリ上に保持したォ ブジェク トを用いて実行するコンピュータ装置に、
前記メモリ上に保持されたオブジェクトが次に使用される時刻を予 測する処理と、
前記メモリ上に保持されたォブジェクトのうち、 前記時刻が最も遅 いオブジェク トを特定する処理と、
前記特定されたォブジェク トを前記メモリ上からスワップァゥトさ せる処理と、 を実行させることを特徴とするコンピュータプログラム
PCT/JP2002/003842 2001-04-19 2002-04-17 Serveur, systeme informatique, procede de gestion d'objet, procede de commande de serveur, programme informatique WO2002086736A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
CA002444775A CA2444775A1 (en) 2001-04-19 2002-04-17 Server, computer system, object management method, server control method, computer program
JP2002584187A JP3842219B2 (ja) 2001-04-19 2002-04-17 サーバ、コンピュータシステム、オブジェクトの管理方法、サーバの制御方法、コンピュータプログラム
EP02718605A EP1388791A4 (en) 2001-04-19 2002-04-17 SERVER, COMPUTER SYSTEM, OBJECT MANAGEMENT METHOD, SERVER CONTROL METHOD, COMPUTER PROGRAM
US10/474,616 US7571446B2 (en) 2001-04-19 2002-04-17 Server, computer system, object management method, server control method, computer program
KR10-2003-7013160A KR20030093301A (ko) 2001-04-19 2002-04-17 서버, 컴퓨터 시스템, 오브젝트의 관리 방법, 서버의 제어방법, 컴퓨터 프로그램
CN028084438A CN1503949B (zh) 2001-04-19 2002-04-17 服务器、计算机系统、对象管理方法、服务器控制方法

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001121813 2001-04-19
JP2001-121813 2001-04-19

Publications (1)

Publication Number Publication Date
WO2002086736A1 true WO2002086736A1 (fr) 2002-10-31

Family

ID=18971613

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2002/003842 WO2002086736A1 (fr) 2001-04-19 2002-04-17 Serveur, systeme informatique, procede de gestion d'objet, procede de commande de serveur, programme informatique

Country Status (7)

Country Link
US (1) US7571446B2 (ja)
EP (1) EP1388791A4 (ja)
JP (1) JP3842219B2 (ja)
KR (1) KR20030093301A (ja)
CN (1) CN1503949B (ja)
CA (1) CA2444775A1 (ja)
WO (1) WO2002086736A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258921A (ja) * 2008-04-15 2009-11-05 Alpine Electronics Inc ナビゲーション装置
JP2011221962A (ja) * 2010-04-14 2011-11-04 Mitsubishi Electric Corp スケジューリング装置、スケジューリング方法およびスケジューリングプログラム

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050204018A1 (en) * 2004-03-10 2005-09-15 General Electric Company Networked system and method for managing computer memory in the networked system
JP5088366B2 (ja) * 2007-03-27 2012-12-05 富士通株式会社 仮想計算機制御プログラム、仮想計算機制御システムおよび仮想計算機移動方法
JP5419500B2 (ja) * 2009-03-12 2014-02-19 キヤノン株式会社 プログラムおよび情報処理装置
CN104168174A (zh) 2013-05-16 2014-11-26 阿里巴巴集团控股有限公司 一种传输信息的方法及装置
CN104660699B (zh) * 2015-02-25 2018-02-13 重庆大学 基于可变斜率的缺失服务响应时间补足方法和装置
KR102662966B1 (ko) * 2021-12-13 2024-05-03 연세대학교 산학협력단 선제적 및 반응적 입력 수량화 기반의 사용자 인터페이스 장치 및 방법

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59207479A (ja) * 1983-05-11 1984-11-24 Hitachi Ltd 主記憶制御方式
JPH0736831A (ja) * 1993-07-23 1995-02-07 Nec Software Ltd ジョブ制御方式
JPH09269902A (ja) * 1996-01-31 1997-10-14 Toshiba Corp 情報処理装置の資源管理装置、及び情報処理システムにおける資源管理方法

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3490742B2 (ja) * 1993-09-08 2004-01-26 松下電器産業株式会社 メモリ管理装置
US5758257A (en) * 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5802292A (en) * 1995-04-28 1998-09-01 Digital Equipment Corporation Method for predictive prefetching of information over a communications network
US5925100A (en) * 1996-03-21 1999-07-20 Sybase, Inc. Client/server system with methods for prefetching and managing semantic objects based on object-based prefetch primitive present in client's executing application
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US5878223A (en) * 1997-05-07 1999-03-02 International Business Machines Corporation System and method for predictive caching of information pages
US6038601A (en) * 1997-07-21 2000-03-14 Tibco, Inc. Method and apparatus for storing and delivering documents on the internet
US6463454B1 (en) * 1999-06-17 2002-10-08 International Business Machines Corporation System and method for integrated load distribution and resource management on internet environment
US6425058B1 (en) * 1999-09-07 2002-07-23 International Business Machines Corporation Cache management mechanism to enable information-type dependent cache policies
US6721780B1 (en) * 1999-11-09 2004-04-13 Fireclick, Inc. Predictive pre-download of network objects
US6820133B1 (en) * 2000-02-07 2004-11-16 Netli, Inc. System and method for high-performance delivery of web content using high-performance communications protocol between the first and second specialized intermediate nodes to optimize a measure of communications performance between the source and the destination
US8291007B2 (en) * 2000-02-22 2012-10-16 Flash Networks Ltd System and method to accelerate client/server interactions using predictive requests
US6654766B1 (en) * 2000-04-04 2003-11-25 International Business Machines Corporation System and method for caching sets of objects
US6983318B2 (en) * 2001-01-22 2006-01-03 International Business Machines Corporation Cache management method and system for storing dynamic contents

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59207479A (ja) * 1983-05-11 1984-11-24 Hitachi Ltd 主記憶制御方式
JPH0736831A (ja) * 1993-07-23 1995-02-07 Nec Software Ltd ジョブ制御方式
JPH09269902A (ja) * 1996-01-31 1997-10-14 Toshiba Corp 情報処理装置の資源管理装置、及び情報処理システムにおける資源管理方法

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
See also references of EP1388791A4 *
YAMAMOTO MANABU, NAKAMURA YUICHI: "Multi agent system 'tabican' no jikko kankyo to agent no kumiawasekata", 1999 NEN THE INSTITUTE OF ELECTRONICS, INFORMATION AND COMMUNICATION ENGINEERS SOGO TAIKAI KOEN RONBUNSHU KISO-KYOKAI, 28 March 1999 (1999-03-28), pages 484 - 485, XP002955007 *
YOSHIZAWA YASUFUMI, KINOSHITA TOSHIYUKI, ARAI TOSHIAKI: "Daikibo TSS ni okeru demand-swapping hoshiki no kaiseki", INFORMATION PROCESSING SOCIETY OF JAPAN RONBUNSHI, vol. 21, no. 4, 15 July 1980 (1980-07-15), pages 314 - 324, XP002955006 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009258921A (ja) * 2008-04-15 2009-11-05 Alpine Electronics Inc ナビゲーション装置
JP2011221962A (ja) * 2010-04-14 2011-11-04 Mitsubishi Electric Corp スケジューリング装置、スケジューリング方法およびスケジューリングプログラム

Also Published As

Publication number Publication date
EP1388791A4 (en) 2005-09-21
EP1388791A1 (en) 2004-02-11
JPWO2002086736A1 (ja) 2004-08-12
US20040172630A1 (en) 2004-09-02
CN1503949B (zh) 2011-01-12
US7571446B2 (en) 2009-08-04
KR20030093301A (ko) 2003-12-06
CN1503949A (zh) 2004-06-09
CA2444775A1 (en) 2002-10-31
JP3842219B2 (ja) 2006-11-08

Similar Documents

Publication Publication Date Title
US11763200B2 (en) Method and system for creating a predictive model for targeting web-page to a surfer
KR102300077B1 (ko) 미래 액션들을 위한 사용자 인터페이스 데이터 캐싱 최적화
US11962667B1 (en) Application state client-side cache for a state-based client-server application
US9336487B2 (en) Method and system for creating a predictive model for targeting webpage to a surfer
KR100522029B1 (ko) 실시간 급상승 검색어 검출 방법 및 실시간 급상승 검색어검출 시스템
EP2727011B1 (en) Predicting user navigation events
CN108984553B (zh) 缓存方法和装置
JP2001522500A (ja) コンテキスト対応のweb通信を提供する装置とデータネットワークブラウザ
EP2705438A2 (en) Predicting user navigation events
US10540355B1 (en) ACID database
JP5329774B2 (ja) Webページ作成サーバ及びWebページ作成方法
JP4700969B2 (ja) 監視情報提供装置、監視情報提供方法および監視情報提供プログラム
WO2002086736A1 (fr) Serveur, systeme informatique, procede de gestion d&#39;objet, procede de commande de serveur, programme informatique
CN111966887B (zh) 动态缓存方法及装置、电子设备、存储介质
CN108780446A (zh) 时间依赖的机器生成的提示
JP5418493B2 (ja) 検索システム、検索方法およびプログラム
JP4679859B2 (ja) 地図データ処理システム
JP2006185167A (ja) ファイル検索方法、ファイル検索装置、および、ファイル検索プログラム
US20230350969A1 (en) Automatic display control method for web content
JP3855694B2 (ja) ホームページキャッシング方法、情報処理装置及びプログラム
JP2006259783A (ja) ウェブサイト待ち状況管理・表示システム及び待ち状況管理・表示プログラム
CN116991752A (zh) 触发信息生成方法、时序模型生成方法、装置和电子设备
Wang A Hybrid Markov Prediction Model for Web Prefetching
CN115442438A (zh) 一种基于web浏览器数据缓存方法、系统和存储介质
JP2013168106A (ja) 要求管理装置、要求管理方法、及び要求管理プログラム

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG US UZ VN YU ZA ZM ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
WWE Wipo information: entry into national phase

Ref document number: 1020037013160

Country of ref document: KR

WWE Wipo information: entry into national phase

Ref document number: 2002584187

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 028084438

Country of ref document: CN

Ref document number: 2444775

Country of ref document: CA

WWE Wipo information: entry into national phase

Ref document number: 2002718605

Country of ref document: EP

WWP Wipo information: published in national office

Ref document number: 2002718605

Country of ref document: EP

REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

WWE Wipo information: entry into national phase

Ref document number: 10474616

Country of ref document: US

WWW Wipo information: withdrawn in national office

Ref document number: 2002718605

Country of ref document: EP