JP3842219B2 - サーバ、コンピュータシステム、オブジェクトの管理方法、サーバの制御方法、コンピュータプログラム - Google Patents

サーバ、コンピュータシステム、オブジェクトの管理方法、サーバの制御方法、コンピュータプログラム Download PDF

Info

Publication number
JP3842219B2
JP3842219B2 JP2002584187A JP2002584187A JP3842219B2 JP 3842219 B2 JP3842219 B2 JP 3842219B2 JP 2002584187 A JP2002584187 A JP 2002584187A JP 2002584187 A JP2002584187 A JP 2002584187A JP 3842219 B2 JP3842219 B2 JP 3842219B2
Authority
JP
Japan
Prior art keywords
time
user
data
unit
server
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
JP2002584187A
Other languages
English (en)
Other versions
JPWO2002086736A1 (ja
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 JPWO2002086736A1 publication Critical patent/JPWO2002086736A1/ja
Application granted granted Critical
Publication of JP3842219B2 publication Critical patent/JP3842219B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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

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

技術分野
本発明は、オブジェクトを用いて処理を行なうに際して用いるのに好適な、サーバ、コンピュータシステム、オブジェクトの管理方法、サーバの制御方法等に関する。
背景技術
近年、インターネットやローカルエリアネットワーク(LAN)等のネットワークが普及しているのは周知の通りである。そして、これらのネットワークを介して、サーバはユーザの端末から要求された様々な処理を実行するようになっている。
特に、ネットワーク上でサービスを提供するサーバの場合、サービスのナビゲーションを行なう複数のウェブページをユーザの端末側に順次表示させ、各ウェブページに対するユーザからの要求を受け付けることによって、ユーザが希望した処理を実行する。一例を挙げると、インターネットバンキングを取り扱うサーバでは、ユーザの端末側にログインページを表示させ、ログインIDやパスワードの入力を要求する。ユーザがログインIDやパスワードを入力すると、続いて、メニューページを表示させ、このメニューページでのユーザのメニュー選択を受け付け、選択されたメニュー、例えば振込み処理に応じたウェブページに進む。ウェブページに対し、ユーザが振込み先の口座番号、振込み金額等を入力すると、続いてサーバは振込み内容確認ページを表示させ、この振込み内容確認ページに対するユーザからの確認入力を受けた後、指定された処理、すなわち振込み処理を実行するのである。
このような一連の処理、いわゆるセッションを行なうサーバでは、ユーザ毎にオブジェクトを用意し、このオブジェクトを用いてユーザからの要求を処理する手法が多く用いられている。ここでオブジェクトとは、サーバ上において、各ユーザに対しての処理に関するデータ、例えば予め登録されたユーザ自身のログインID等の登録データ、処理要求内容、処理結果、処理履歴等のログデータ、処理の途中で発生する処理に必要な処理用データ等を、ひとかたまりにして管理するためのものである。このようなオブジェクトは、ユーザがサーバに対して初めてセッションを行なうときに生成され、2回目以降のセッションでは、前回使用したオブジェクトを用いることにより、前回行なった処理を基に継続的なサービスを提供できるようになっている。
サーバは、データの格納部として、主記憶装置としてのメモリと、補助記憶装置としてのハードディスクドライブとを有しており、ユーザ毎のオブジェクトは、これらメモリとハードディスクドライブに適宜振り分けて格納される。そして、サーバは、ユーザがログイン時に入力するログインID等に基づき、このユーザに対応したオブジェクトをメモリやハードディスクドライブから呼び出し、ユーザの要求に応じた処理を実行するのであるが、このとき、主記憶装置であるメモリにオブジェクトが格納されている場合よりも、補助記憶装置であるハードディスクドライブにオブジェクトが格納されている場合の方が、ハードディスクドライブからオブジェクトをメモリ上に呼び出さなければならないため、応答が遅いのは言うまでも無い。
サーバのメモリには、当然のことながら記憶容量に物理的な限界があるため、メモリに格納するオブジェクトの数に制限がある。このため、ハードディスクドライブ上のオブジェクトをメモリ上に呼び出す場合や、メモリ上に新たなオブジェクトを生成する場合等に、メモリ上に十分な空き領域が無ければ、その時点でメモリに格納されているオブジェクトをハードディスクドライブ上に移してメモリ上に空き領域を作り出し、ここにハードディスクドライブから呼び出したオブジェクトを格納するのである。このようなオブジェクトのメモリからハードディスクドライブへの移動をスワップアウトと称している。逆に、メモリ上の空きスペースにハードディスクドライブから呼び出したオブジェクトを格納することをスワップインと称している。
従来より、このようなメモリに対するオブジェクトの管理手法としては、LRU(Least Recently Used)方式が多く用いられている。LRU方式では、スワップアウトを行なう場合に、メモリ上に格納されているオブジェクトのうち、前回使用した時刻(最終使用時刻)が最も古いものから順にスワップアウトさせる。
例えば、図15(a)は、ある時点でメモリに格納されているオブジェクト(J1)〜(J8)を、最終使用時刻の新しい順に図中左側から右側に配列したものである。そして、ユーザからの処理要求に応じ、このユーザに対応したオブジェクト(J5)を使用すると、このオブジェクト(J5)の最終使用時刻が更新され、メモリ上のオブジェクト(J1)の配列が、図15(b)に示すように変わる。すなわち、処理のための使用によって最終使用時刻が最も新しくなったオブジェクト(J5)が、配列の先頭(図中左端)になるのである。また、新たなオブジェクト(図示無し)を生成したりハードディスクドライブに格納されたオブジェクトを呼び出すためにメモリ上の空き領域が足りず、スワップアウトを行なう場合は、図15(c)に示すように、その時点でメモリに格納されているオブジェクト(J1)〜(J8)のうち、最終使用時刻が最も古いオブジェクト(J8)がスワップアウトされ、メモリ上からハードディスクドライブへと移動されるのである。
また、メモリ上におけるオブジェクトの他の管理手法として、アクセス履歴頻度に基づいてスワップアウトするオブジェクトを選択するものがある(特開平6−4316号公報等)。このような手法では、スワップアウトを行なう際に、単純に最終使用時刻が古いオブジェクトをスワップアウトさせるのではなく、単位時間当たり(例えばスワップインしてからの経過時間)のアクセス頻度(例えばアクセス時間)が最も少ないオブジェクトをスワップアウトさせる。
しかしながら、上述したような従来の手法では、特に、多数のユーザを対象としたサービスを提供するサーバにおいて、必ずしも効率の良いメモリ管理が行なえないことがある。例えば、数万人から数十万人のユーザに対してサービスを提供するような形態では、大量、例えば1分間当たり500以上の処理要求をサーバが受けることがある。このようなケースでは、あるユーザがサーバにアクセスして複数段階からなる一連の処理を行なう際に、ユーザの入力に応じて順次表示されるウェブページに沿って処理を進めている途中、例えばあるウェブページを読んでいる間に、他のユーザから多くの処理要求があった場合に、当該ユーザのオブジェクトがサーバのメモリからスワップアウトされてしまうことがある。すると、このユーザがウェブページを読み終え、次のウェブページに進むための入力を行なった時点で、サーバ側ではこのユーザのオブジェクトのメモリへのスワップイン等を行なわなければならず、次のウェブページの表示までに時間がかかることになる。これによって生じるサーバからの応答の遅れを体感すれば、ユーザは提供されるサービスに対して不満を抱くことすらある。このため、サービスの提供側としては、このような事態の発生を解消したいという要求を持つことになる。必ずしもこれに限るものではないが、サーバの負荷を軽減して効率良くサーバを稼動させるための手法が常に模索されていることは言うまでも無い。
本発明は、このような技術的課題に基づいてなされたもので、効率良くサーバを稼動させることのできるサーバ、コンピュータシステム、オブジェクトの管理方法、サーバの制御方法等を提供することを目的とする。
発明の開示
かかる目的のもと、本発明のサーバでは、ネットワークを介してユーザからの要求を受けたときに、メモリ等の第一のオブジェクト格納手段に格納されたオブジェクトを用い、処理実行手段によって所定の処理が実行される。このときに用いたオブジェクトが次に処理実行手段で用いられる使用時刻を使用時刻予測手段で予測し、この使用時刻に基づき、オブジェクトを第一のオブジェクト格納手段からハードディスクドライブ等の第二のオブジェクト格納手段に転送することを特徴とする。すなわち、第一のオブジェクト格納手段で保持しているオブジェクトをスワップアウトさせる必要が生じたときに、その時点で保持されているオブジェクトのうち、予測された使用時刻が最も遅いオブジェクトをスワップアウトさせ、第二のオブジェクト格納手段に移動するのである。これにより、メモリ等の第一のオブジェクト格納手段上には、予測された使用時刻が近いオブジェクトが保持されることになる。
ここで、ユーザ毎にオブジェクトの使用時刻を予測すればユーザ毎のスキルを加味することができ、複数段階からなる一連の処理の段階毎にオブジェクトの使用時刻を予測すれば、各段階の処理の内容(単純あるいは複雑等)を加味することができる。
また、使用時刻が現在時刻を経過したオブジェクトを第一のオブジェクト格納手段から第二のオブジェクト格納手段に転送するようにしてもよい。
本発明に係るコンピュータシステムは、データ出力部でデータを出力して以降、要求受付部で受け付けるユーザの端末からの要求内容に応じた処理を処理実行部で実行するために、オブジェクトが次に使用される時刻を時刻予測部で予測し、オブジェクト管理部では、時刻予測部で予測された時刻に基づいて主記憶装置に格納されたオブジェクトを管理することを特徴とする。
ここで、データ出力部、要求受付部、主記憶装置、処理実行部、オブジェクト管理部、時刻予測部は、サーバに一体に備える構成としても良いが、これらを複数のコンピュータ装置に分割し、全体としてサーバとして機能するコンピュータシステムとすることもできる。
ところで、データ出力部でデータをユーザの端末に出力してからオブジェクトが使用されるまでに要した時間データを時間データ蓄積部に蓄積し、蓄積された複数のユーザの時間データと、時刻を予測すべきユーザの時間データとに基づき、ユーザの時刻を予測することもできる。
より詳しくは、例えば、蓄積された複数の時間データの分布における、時刻を予測すべきユーザの指数を指数設定部で設定し、この指数を用いてユーザの時刻を予測することができる。また、直前の一定時間内に蓄積された複数のユーザの時間データを用い、時刻を予測すれば、時間帯による変動等を加味することができる。
本発明に係るオブジェクトの管理方法では、メモリ上に保持されたオブジェクトが次に使用される時刻を予測し、例えばメモリ上のオブジェクトをスワップアウトさせる必要が生じたときには、メモリ上に保持されたオブジェクトのうち、予測された時刻が最も遅いオブジェクトを特定してスワップアウトさせることを特徴とする。このときには、時間帯に応じた予測を行なうこともできる。
本発明は、ネットワークを介してサーバにアクセスしたユーザの処理要求に応じた処理結果を出力してから、これに対するユーザからの応答が入力されるまでの応答時間のデータを蓄積し、この蓄積後に出力された処理結果に対してユーザから応答が入力される時刻を、蓄積された応答時間のデータに基づいて予測し、予測された時刻に基づきメモリ上のオブジェクトのスワップアウトを実行するサーバの制御方法として捉えることができる。
このときには、他のユーザを含めた応答時間のデータの分布中における、ユーザの応答時間の位置を示す指数を設定し、この指数に基づいて時刻を予測することができる。また、指数が設定されていないユーザに対しては、デフォルト値等、予め設定された標準指数に基づいて時刻を予測しても良い。また、応答時間のデータを蓄積する毎、つまりユーザが応答を入力してオブジェクトを使用する毎に、指数の設定を行なうことも可能である。
本発明のコンピュータプログラムでは、外部の端末からの処理要求コマンドを検出し、これに応じた出力した処理結果に対して外部の端末から次の処理要求コマンドが入力されるタイミングを予測し、予測したタイミングに基づき、次の処理要求コマンドに応じた処理を実行するために必要なオブジェクトの管理を実行する処理を、サーバ等のコンピュータ装置に実行させることを特徴とする。
発明を実施するための最良の態様
以下、添付図面に示す実施の形態に基づいてこの発明を詳細に説明する。
図1は、本実施の形態におけるシステム構成を説明するための図である。この図1に示すように、複数のユーザの端末10は、インターネットやLAN等のネットワーク20を介し、サービス提供者側のサーバ(コンピュータシステム、コンピュータ装置)30に接続される構成となっている。
ここで、各端末10は、いわゆる通常のPC(Personal Computer)等であればよく、ネットワーク20を介してサーバ30から送信されたデータを受信する機能(手段)、受信したデータに基づく画面(画像)をモニタの表示画面に表示するブラウザ機能、表示画面上の表示内容に基づきユーザが情報や要求内容の入力等を行なうポインティングデバイスやキーボード等の情報入力機能、情報入力機能で入力した情報をネットワーク20を介してサーバ30に送出する機能等を備えていればよい。
一方、図2に示すように、サーバ30は、予めインストールされた制御プログラムに基づき図示しないCPUの命令に基づく制御を行なう制御ブロック31と、DRAM(Dynamic Random Access Memory)等からなるメモリ(第一のオブジェクト格納手段、主記憶装置)32と、ハードディスクドライブ(第二のオブジェクト格納手段、補助記憶装置)33と、ネットワーク20に対してのデータ送受信を司るデータ送受信部34と、を有している。
制御ブロック31は、ネットワーク20を介してデータ送受信部34で受け取った外部の端末10からの要求を受け付ける要求受付部36と、受け付けた要求に応じた処理を実行する処理実行部(処理実行手段)37と、処理実行部37での処理結果をデータ送受信部34からネットワーク20を介して端末10に送信させる処理結果送信部(データ出力部)38と、を有している。
処理実行部37は、要求に応じた処理を実行するに際して必要な、メモリ32に格納されているオブジェクトを呼び出したり、新たなオブジェクトを生成したりするオブジェクト管理部37aと、メモリ32に格納されているオブジェクトのハードディスクドライブ33へのスワップアウト、ハードディスクドライブ33に格納されているオブジェクトのメモリ32へのスワップイン等、メモリ32に対するオブジェクトの管理を行なう、メモリ管理部(オブジェクト管理手段、オブジェクト管理部)37bとを有している。
また、この処理実行部37では、メモリ管理部37bでオブジェクトの管理を行なうときに、ユーザの一連のセッション中における次回のアクセス時刻を予測する。このため、制御ブロック31には、アクセス予測部(使用時刻予測手段、時刻予測部)39がさらに備えられている。
このようなサーバ30は、ユーザが要求する処理を一連の複数段階に分けて進めるため、いわゆるホームページの形態で、ネットワーク20を介してサーバ30に接続したユーザの端末10に対して処理の各段階に応じたウェブページを順次提示する。例えば、インターネットバンキングであれば、ログインのためのログインIDやパスワードの入力を受け付けるウェブページ、ログイン完了後、ユーザによる処理メニュー(例えば振込み・残高照会等)の選択を受け付けるウェブページ、選択された処理メニューに応じ、処理を実行するために必要な情報(例えば振込み先口座番号、振込み金額等)の入力を受け付けるウェブページ、処理内容の確認をユーザから受けるウェブページ、処理の完了を通知するウェブページ等を、ユーザの端末10からの入力に応じ、順次提示していくのである。
このため、サーバ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は、稼動直後から、上記したように、サーバ30に対してアクセスした全ユーザに対し、処理結果送信部38でウェブページのデータを送信すると(出力ステップ)、このウェブページに対してユーザの端末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秒」と予測される。
このようにして予測するユーザのレスポンス時間αを基に、ユーザからの次の要求を処理するためのオブジェクトの使用予測時刻NAは、各ウェブページのデータをサーバ30から送信した時刻をTとすると、
NA=T+α
という式により求められる。
上記のような方法により、アクセス予測部39にて、ユーザから次の要求を処理するためにオブジェクトが使用される使用予測時刻NA、すなわち一連のセッション中における次のアクセス時刻が予測される。
このような使用予測時刻NAの予測は、ユーザからの処理要求に基づき、メモリ32上に保持されているオブジェクトが使用されるときに行なわれ、予測された使用予測時刻NAは、メモリ32上に保持されている各オブジェクトに関連付けられて記憶される。メモリ管理部37bでは、メモリ32上で保持している全てのオブジェクトに対し、使用予測時刻NAが新しい順に、例えば図8に示すようなオブジェクト列Lを生成し、このオブジェクト列Lに基づいたオブジェクトの管理を行なう。
さて、次に、上記のような構成のサーバ30の処理実行部37における、オブジェクトの管理方法を説明する。
図9は、処理実行部37におけるオブジェクト管理を行なう基本的な処理の流れを示すものである。この図9に示すように、サーバ30から提示したウェブページに対し、ユーザの端末10で入力がなされることによってサーバ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上にスワップインさせたオブジェクトを用い、ユーザの端末10からの要求に応じた処理を処理実行部37で実行する。
また、ステップS201にて、オブジェクトがサーバ30内に存在しないと判定された場合、ステップS210に進み、オブジェクトを新たに生成するための空き領域(空間)がメモリ32上にあるか否かを判定する。その結果、空き領域が無い場合にはステップS211(スワップアウトステップ、実行ステップ)で後述のスワップアウト処理を実行した後に、ステップS212にて、オブジェクト管理部37aでオブジェクトをメモリ32上の空き領域に新たに生成する。一方、メモリ32上に空き領域がある場合にはそのままステップS212でオブジェクトをメモリ32上に生成する。この後は、ステップS206で、メモリ32上に生成したオブジェクトを用い、ユーザの端末10からの要求に応じた処理を処理実行部37で実行する。
上記のステップS204あるいはS211にてスワップアウト処理を実行するに際しては、上記アクセス予測部39で予測される使用予測時刻NAが用いられる。
図10は、スワップアウト処理の流れを示すもので、まず、メモリ32上で使用予測時刻NAの新しい順に並ぶオブジェクト列Lにおいて、先頭のオブジェクト(O)の使用予測時刻NA(O)を取り出し(ステップS301)、この使用予測時刻NA(O)が、図示しない内部クロックに保持された現在時刻を過ぎているか否かを判定する(ステップS302)。その結果、使用予測時刻NA(O)が現在時刻を過ぎていれば、この先頭のオブジェクト(O)をスワップアウトし(ステップS303)、また使用予測時刻NA(O)が現在時刻を過ぎていなければ、オブジェクト列Lの最後尾のオブジェクト(O)(時刻が最も遅いオブジェクト)を特定し(オブジェクト特定ステップ)、これをスワップアウトさせる(ステップS304)。
具体例を挙げれば、例えば図8(a)に示す初期状態のオブジェクト列Lに対し、オブジェクトのスワップ処理を実行する必要が生じた時点で、図10に示したような一連の処理を実行する。その結果、例えば現在時刻TNがTN=15である場合、図8(b)に示すように、オブジェクト列Lの先頭のオブジェクト(J1)は使用予測時刻NA(J1)=10で現在時刻TNを過ぎているため、ステップS302の条件を満たすことになり、このオブジェクト(J1)をスワップアウトさせる。また、例えば図8(c)に示すように、現在時刻TNがTN=5である場合、オブジェクト列Lの先頭のオブジェクト(J1)は使用予測時刻NA(J1)=10で現在時刻TNを過ぎておらず、ステップS302の条件を満たさないので、オブジェクト列Lの最後尾のオブジェクト(J8)をスワップアウトさせる。
図11は、上記のステップS205で実行するスワップイン処理、あるいはS212にて実行する新たなオブジェクトの生成処理に際し、メモリ32上のオブジェクト列Lを更新する方法を示すものである。
まず、スワップインあるいは新たに生成されるオブジェクト(A)に対し、このオブジェクト(A)の使用予測時刻NA(A)をアクセス予測部39で予測する(ステップS401:予測ステップ)。このときには、上記したように、ユーザに対して設定された特徴変数crに基づき、その時点でユーザの端末10がアクセスしているウェブページにおける使用予測時刻NA(A)を予測するのである。
次いで、メモリ管理部37bにて、メモリ32上で保持している全てのオブジェクトに関するオブジェクト列Lから、先頭のオブジェクト(O)を取り出す(ステップS402)。
取り出したオブジェクト(O)がnullであるか否かを判定し(ステップS403)、nullである場合には、検討対象であるオブジェクト(A)をオブジェクト列Lの最後尾に挿入する(ステップS404)。また、取り出したオブジェクト(O)がnullでなければ、続くステップS405で、取り出したオブジェクト(O)の使用予測時刻NA(O)が、オブジェクト(A)の使用予測時刻NA(A)よりも大きいか否かを判定し、大きくない場合には、ステップS402に戻り、オブジェクト列Lにおける次のオブジェクト(O)を取り出し、上記と同様にステップS403以降の検討を行なう。
このようにしてオブジェクト列Lを構成するオブジェクト(O)に対して順次検討を行ない、ステップS405にて、オブジェクト(A)の使用予測時刻NA(A)よりも大きいと判定されるオブジェクト(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)が、NA(J5)=65と予測されたとする。
すると、図11に示したステップS402、S403、S405において、オブジェクト(J5)の使用予測時刻NA(J5)が、オブジェクト列Lの先頭のオブジェクト(J1)から順次比較される。その結果、オブジェクト(J7)の使用予測時刻NA(J7)=70が、オブジェクト(J5)の使用予測時刻NA(J5)=65よりも大きく、ステップS405の条件を満たすので、図12(c)に示すように、オブジェクト(J5)がオブジェクト(J7)の前に挿入されてオブジェクト列Lが更新される。
ここで、上記のような使用予測時刻NAを用いたアルゴリズムと、従来のLRU方式のアルゴリズムとで、比較シミュレーションを行なったのでその結果を示す。いずれのアルゴリズムにおいても、ユーザのレスポンス時間αを予測するために必要な確率分布として、例えば図13に示すようなlog−normal分布を用いた。このlog−normal分布を示す関数f(x)は、
x>0であるときには、
Figure 0003842219
であり、
x≦0であるときには、
f(x)=0
である。ここで、μは平均(−∞<μ<∞)、σ2は分散(σ>0)である。
このようなlog−normal分布からなる確率分布を基に、ユーザの特徴変数crを99%に設定する。
また、使用予測時刻NAを用いたアルゴリズムに基づくオブジェクト管理を行なうサーバ30と、従来のLRU方式のアルゴリズム(以下、LRUアルゴリズムと略称する)に基づくオブジェクト管理を行なうサーバ(図示無し)では、ユーザの端末10との間でやり取りする一連のセッションを、それぞれ同一内容の10ページからなるウェブページを順次提示するによって行ない、各ウェブページでは、ユーザの端末10側で入力される所定のコマンドによって次のウェブページへの遷移が行なわれるものとする。
そして、いずれの場合も、一連のセッション途中でセッションを止めるユーザの割合は、各ウェブページ毎に30%存在するものとする。
上記したような同一の条件を基に、単位時間当たりの平均要求数を変化させたシミュレーションを行ない、このときの、従来のLRU方式のアルゴリズムを用いるサーバ(図示無し)で発生するスワップアウト回数に対する、使用予測時刻NAを用いたアルゴリズムを用いるサーバ30において発生するスワップアウト回数の比率(以下、これを相対減少率と称する)を、
相対減少率=(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はサーバにおけるオブジェクト管理を行なうための構成を示す図である。
図3はユーザからのアクセス時に蓄積される実レスポンス時間から確率分布を生成し、ユーザ毎の特徴変数を設定するための流れを示す図である。
図4はユーザのレスポンス時間を設定するための処理の流れを示す図である。
図5は確率分布の一例である。
図6は確率分布の他の一例である。
図7は確率分布のさらに他の一例である。
図8の、(a)は初期状態のオブジェクト列、(b)は現在時刻が15である場合にスワップアウトするオブジェクト、(c)は現在時刻が5である場合にスワップアウトするオブジェクト、を示す図である。
図9はオブジェクトの管理を行なうときの処理の流れを示す図である。
図10は使用予測時刻に基づいてオゾジェクトをスワップアウトするときの処理の流れを示す図である。
図11はオブジェクト列を更新する時の処理の流れを示す図である。
図12の、(a)は初期状態のオブジェクト列、(b)はオブジェクトを取り出して処理を行なっている状態、(c)は使用予測時刻を予測したオブジェクトをスワップインさせた状態、を示す図である。
図13はシミュレーションを行なうに際し、一例として用いた確率分布を示す図である。
図14はシミュレーション結果を示す図である。
図15は従来のオブジェクト管理方法を示す図である。

Claims (11)

  1. ネットワークを介して受け付けたユーザからの要求に応じた処理をユーザ毎に設定されるオブジェクトを用いて実行するサーバであって、
    処理を実行するときに用いられるオブジェクトを格納する第一のオブジェクト格納手段と、
    前記第一のオブジェクト格納手段から転送されるオブジェクトを格納する第二のオブジェクト格納手段と、
    ユーザからの要求を受けたときに前記第一のオブジェクト格納手段に格納されたオブジェクトを用いて処理を実行する処理実行手段と、
    前記処理実行手段で処理を実行するためにオブジェクトが使用されるまでに要した時間データを蓄積する時間データ蓄積部と、 処理を実行するために前記処理実行手段で用いたオブジェクトが、次に当該処理実行手段で用いられる使用時刻を予測する使用時刻予測手段であって、該時刻予測手段は、前記時間データ蓄積部に蓄積された複数のユーザの時間データと、時刻を予測すべきユーザの時間データとに基づき、当該ユーザの時刻を予測する、時刻予測部と、
    前記第一のオブジェクト格納手段に格納されたオブジェクトを、前記使用時刻予測手段で予測された使用時刻に基づき、当該第一のオブジェクト格納手段から前記第二のオブジェクト格納手段に転送するオブジェクト管理手段と、を備えることを特徴とするサーバ。
  2. 前記使用時刻予測手段は、ユーザ毎に前記オブジェクトの使用時刻を予測することを特徴とする請求項1記載のサーバ。
  3. 前記処理実行手段は、オブジェクトを用いて複数段階からなる一連の処理を実行し、
    前記使用時刻予測手段は、前記一連の処理の各段階で使用される前記オブジェクトの使用時刻を予測することを特徴とする請求項1記載のサーバ。
  4. 前記オブジェクト管理手段は、使用時刻が経過したオブジェクトを前記第一のオブジェクト格納手段から前記第二のオブジェクト格納手段に転送することを特徴とする請求項1記載のサーバ。
  5. ネットワークを介し外部のユーザの端末から受ける要求に応じた処理を実行するコンピュータシステムであって、
    要求内容の入力を促すデータを、前記ネットワークを介してユーザの端末に対して出力するデータ出力部と、
    前記データ出力部で出力されたデータに基づき前記ユーザの端末で入力された要求内容のデータを受け付ける要求受付部と、
    ユーザ毎に生成されるオブジェクトを保持する主記憶装置と、
    前記主記憶装置に格納されたオブジェクトを用いて前記要求内容のデータに応じた処理を実行する処理実行部と、
    前記データ出力部でデータを前記ユーザの端末に出力してから、前記処理実行部で処理を実行するためにオブジェクトが使用されるまでに要した時間データを蓄積する時間データ蓄積部と、
    前記主記憶装置上で保持されるオブジェクトを管理するオブジェクト管理部と、
    前記データ出力部でデータを出力して以降、前記処理実行部にて処理を実行するためにオブジェクトが次に使用される時刻を予測する時刻予測部であって、該時刻予測部は、前記時間データ蓄積部に蓄積された複数のユーザの時間データと、時刻を予測すべきユーザの時間データとに基づき、当該ユーザの時刻を予測する、時刻予測部と、
    前記オブジェクト管理部は、前記時刻予測部で予測された時刻に基づき、前記主記憶装置に格納されたオブジェクトを管理することを特徴とするコンピュータシステム。
  6. 前記時間データ蓄積部に蓄積された複数の時間データの分布における、時刻を予測すべきユーザの指数を設定する指数設定部をさらに備え、
    前記時刻予測部は前記指数を用いて前記ユーザの時刻を予測することを特徴とする請求項5記載のコンピュータシステム。
  7. 前記時刻予測部は、直前の一定時間内に前記時間データ蓄積部に蓄積された複数のユーザの時間データを用い、前記ユーザの時刻を予測することを特徴とする請求項5記載のコンピュータシステム。
  8. 前記コンピュータシステムは、オブジェクトを用いて複数段階からなる一連の処理を実行し、
    前記時刻予測部は、オブジェクトが次に使用される時刻を前記一連の処理の段階毎に予測することを特徴とする請求項5記載のコンピュータシステム。
  9. メモリ上に保持したオブジェクトを用いて処理を実行するサーバの制御方法であって、
    ネットワークを介して前記サーバにアクセスしたユーザの処理要求に応じた処理結果を出力する出力ステップと、
    前記処理結果を出力してから当該処理結果に対するユーザからの応答が入力されるまでの応答時間のデータを蓄積するデータ蓄積ステップと、
    前記データ蓄積ステップで蓄積された他のユーザを含めた応答時間のデータの分布中における、ユーザの応答時間の位置を示す指数を設定する指数設定ステップと、
    前記指数に基づいて基づいて、当該応答時間のデータの蓄積後に出力された処理結果に対してユーザから応答が入力される時刻を予測する予測ステップと、
    前記時刻に基づき、前記メモリ上のオブジェクトの当該メモリからのスワップアウトを実行する実行ステップと、を有することを特徴とするサーバの制御方法。
  10. 前記予測ステップでは、前記指数が設定されていないユーザに対し、予め設定された標準指数に基づいて時刻を予測することを特徴とする請求項9記載のサーバの制御方法。
  11. 前記データ蓄積ステップで応答時間のデータを蓄積する毎に、前記指数設定ステップを実行することを特徴とする請求項9記載のサーバの制御方法。
JP2002584187A 2001-04-19 2002-04-17 サーバ、コンピュータシステム、オブジェクトの管理方法、サーバの制御方法、コンピュータプログラム Expired - Fee Related JP3842219B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2001121813 2001-04-19
JP2001121813 2001-04-19
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

Publications (2)

Publication Number Publication Date
JPWO2002086736A1 JPWO2002086736A1 (ja) 2004-08-12
JP3842219B2 true JP3842219B2 (ja) 2006-11-08

Family

ID=18971613

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002584187A Expired - Fee Related JP3842219B2 (ja) 2001-04-19 2002-04-17 サーバ、コンピュータシステム、オブジェクトの管理方法、サーバの制御方法、コンピュータプログラム

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)

Families Citing this family (8)

* 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
WO2008117470A1 (ja) * 2007-03-27 2008-10-02 Fujitsu Limited 仮想計算機制御プログラム、仮想計算機制御システムおよび仮想計算機移動方法
JP5424574B2 (ja) * 2008-04-15 2014-02-26 アルパイン株式会社 ナビゲーション装置
JP5419500B2 (ja) * 2009-03-12 2014-02-19 キヤノン株式会社 プログラムおよび情報処理装置
JP5465067B2 (ja) * 2010-04-14 2014-04-09 三菱電機株式会社 スケジューリング装置、スケジューリング方法およびスケジューリングプログラム
CN104168174A (zh) 2013-05-16 2014-11-26 阿里巴巴集团控股有限公司 一种传输信息的方法及装置
CN104660699B (zh) * 2015-02-25 2018-02-13 重庆大学 基于可变斜率的缺失服务响应时间补足方法和装置
KR102662966B1 (ko) * 2021-12-13 2024-05-03 연세대학교 산학협력단 선제적 및 반응적 입력 수량화 기반의 사용자 인터페이스 장치 및 방법

Family Cites Families (17)

* 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 ジョブ制御方式
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
JP3023316B2 (ja) * 1996-01-31 2000-03-21 株式会社東芝 情報処理装置の資源管理装置、及び情報処理システムにおける資源管理方法
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

Also Published As

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

Similar Documents

Publication Publication Date Title
KR102300077B1 (ko) 미래 액션들을 위한 사용자 인터페이스 데이터 캐싱 최적화
US9531838B1 (en) Predictive prefetching of data from remote client-state cache from server to update local client-state cache
US7769823B2 (en) Method and system for distributing requests for content
US6154767A (en) Methods and apparatus for using attribute transition probability models for pre-fetching resources
US6088718A (en) Methods and apparatus for using resource transition probability models for pre-fetching resources
JP2001222459A (ja) キャッシングのためのシステム及び方法
JP3842219B2 (ja) サーバ、コンピュータシステム、オブジェクトの管理方法、サーバの制御方法、コンピュータプログラム
JP4806644B2 (ja) ジャンプ先サイト決定プログラム、記録媒体、ジャンプ先サイト決定方法、およびジャンプ先サイト決定装置
JP4679859B2 (ja) 地図データ処理システム
EP4099235A1 (en) Data pre-fetching method and apparatus, and storage device
CN104969217A (zh) 预测缓存装置和缓存预测方法
JP2006185167A (ja) ファイル検索方法、ファイル検索装置、および、ファイル検索プログラム
JPH11167512A (ja) データ中継装置、データ中継方法および記録媒体
JP2005228257A (ja) 情報検索システム及び情報検索方法並びにプログラム
TWI801895B (zh) 預測系統、預測方法及程式產品
US20230350969A1 (en) Automatic display control method for web content
JPH10260970A (ja) 情報検察システム及び方法
JP2001027923A (ja) 通信対応のヘルプシステム
JP4992973B2 (ja) スコア算出プログラム、スコア算出方法およびスコア算出装置
JP3968419B2 (ja) 計算システムおよび計算結果供給方法

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20060406

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20060413

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060707

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060801

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060809

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090818

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100818

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100818

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110818

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120818

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130818

Year of fee payment: 7

LAPS Cancellation because of no payment of annual fees