JP2962365B2 - コンピュータ・システムのユーザ要求に対する応答時間を改善する方法およびコンピュータ・システム - Google Patents

コンピュータ・システムのユーザ要求に対する応答時間を改善する方法およびコンピュータ・システム

Info

Publication number
JP2962365B2
JP2962365B2 JP9529722A JP52972297A JP2962365B2 JP 2962365 B2 JP2962365 B2 JP 2962365B2 JP 9529722 A JP9529722 A JP 9529722A JP 52972297 A JP52972297 A JP 52972297A JP 2962365 B2 JP2962365 B2 JP 2962365B2
Authority
JP
Japan
Prior art keywords
session
task
probability
executed
prologue
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
JP9529722A
Other languages
English (en)
Other versions
JPH10506743A (ja
Inventor
プライニング、シュテファン
カデク、ミハエル
Original Assignee
インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
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 インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン filed Critical インターナシヨナル・ビジネス・マシーンズ・コーポレーシヨン
Publication of JPH10506743A publication Critical patent/JPH10506743A/ja
Application granted granted Critical
Publication of JP2962365B2 publication Critical patent/JP2962365B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer And Data Communications (AREA)

Description

【発明の詳細な説明】 技術分野 本発明は、コンピュータ・セッションにおけるユーザ
要求に対する応答時間が改善されるコンピュータ・シス
テムの技術分野に関する。さらに詳細は、本発明は、ネ
ットワーク内のパーソナル・コンピュータのクライアン
ト/サーバ構成の応答時間ならならびにスタンドアロン
・コンピュータ・システムの応答時間の改善をもたら
す。
背景技術 ワークステーションのユーザは、パーソナル・コンピ
ュータをユーザの個人作業専用のコンピュータとして使
用する。この作業は、ユーザがフォアグラウンドで行う
対話においてユーザによって制御される。ユーザは、制
御情報を入力することによって、コンピュータが次に何
を行うべきか、たいていの場合はスクリーン上でユーザ
が入力したデータに対する作業を決定する。しかしなが
ら、IBM OS/2 WARPなどの現代のオペレーティング・
システムのもとで動作する現代のパーソナル・コンピュ
ータは、ある入出力動作中、例えば、ユーザ入力を待っ
ている間、プロセッサの能力を十分に利用することがで
きないときはいつでも、タスク間で処理装置を切り替え
ることによって命令またはタスクの複数のストリングを
並列に実行することができる。とはいえ、多くの場合、
ユーザが活動に対する要求をシステムに発行するとき、
要求された活動がシステムによる準備作業を必要とする
ため、ユーザは、システムが要求された対話を開始する
まで待たなければならない。
発明の目的 本発明の目的は、コンピュータ・システムのユーザ要
求に対する応答時間を改善することである。
本発明の他の目的は、コンピュータ・システムのクラ
イアント/サーバ構成の応答時間ならびにスタンドアロ
ン・コンピュータ・システムの応答時間を改善すること
である。
本発明の他の目的は、命令の複数のストリングの並列
に実行することができる現代のパーソナル・コンピュー
タ・オペレーティング・システムの能力を使用して応答
時間を改善することである。
発明の概要 本発明の目的は、添付の独立請求項に記載されている
特徴によって達成される。本発明のさらなるアレンジ
は、対応する従属請求項に開示されている。
本発明の概念は、多数のタスクを並列に開始すること
ができる能力を使用して、1つまたは複数のユーザ・セ
ッションおよびそのようなユーザ・セッション内の処置
に対する実行環境を準備し、セッション終了後に、適切
な場合にのみエピローグ処置を実施するプログラムおよ
び情報テーブルの「サービス・スーパチャージャ」層を
提供する。
このスーパチャージャ層は、すでに開始されたセッシ
ョンにおいても、開始されることが予測されるセッショ
ンにおいても、特定のセッションが開始される確率およ
び開始されることが予測される詳細な活動に関する、処
理システム内に蓄積されたある事情情報を使用する。
セッションおよびセッションにおける活動の開始は、
処理時間を、したがってユーザの待ち時間をも必要とす
る一定量のプロローグ処理を必要とし、有限のシステム
資源を拘束し、また将来実行されることが予測される有
限数のセッションおよび活動に対するプロローグの事前
実行しかサポートすることができない。そのようないく
つかのセッションおよび活動では、システム環境は、プ
ロローグによって準備された後、複数の順次実行または
同時実行によって共用される。
最も起こりそうなセッションおよび活動を予測し、そ
れらをすぐに使用できるように準備することにより、ユ
ーザの要求に対するシステムからユーザへの可能な最も
短い応答が可能になる。より低い確率で使用されるセッ
ションおよび活動を予測することにより、システムは、
そのようなセッションおよび活動に対してエピローグを
実行し、拘束された資源をそのようなセッションおよび
活動から解放して、それらをより高い確率で使用できる
ようにする。
上記の本発明の概念の特定の実施形態では、スーパチ
ャージャ・システムは、事前情報知識を2つのレベルで
自動的に蓄積する。第1に、システムは、過去における
特定のセッションを開始する頻度に関する知識を収集す
る。この情報は、エージング・プロセスに送られ、した
がって最新の情報が、将来特定のセッションを開始する
確率が最も高い。したがって、将来開始される可能性が
最も高い1組のセッションを将来の各時点においてシス
テム内で動的に評価することができる。
第2に、システムは、以前の実行によってシステムに
分かっているすべてのセッション内の活動に関する情報
を収集する。そのようなセッションでは、活動の順序
は、例えばOS/2製品用のIBM FlowMarkがサポートする
そのセッションのワークフロー・モデルによって部分的
に事前定義されるが、その特定のセッションを実行する
各インスタンスにおいてユーザ処置によってさらに決定
される。本発明の概念によれば、ワークフロー・モデル
において事前定義された活動も、ユーザが決定した活動
順序付けに関する統計的に蓄積された知識も、実行のた
めにそれらの確率によって分類された予測した将来の1
組の活動について、セッション実行における各ステップ
ごとに具体的な予測プロファイルに寄与する。
本発明の概念は、そのような事前情報をどのようにし
て得るか、またユーザ要求に対するシステムの応答時間
を最適化するために、得られた情報を使用して、セッシ
ョンおよびセッションにおける活動間でのシステム資源
の使用をどのようにして最適化するかをカバーする。
本発明の概念は、単一のユーザが使用するスタンドア
ロン・ワークステーション内でも、またサーバ・ワーク
ステーションに接続された複数のクライアント・ワーク
ステーションから構成されるネットワーキング環境内で
複数のユーザが使用するサーバに対しても使用すること
ができる。
クライアント/サーバ構成内で本発明の概念の実施に
より利益をもたらす他の拡張形として、上述の事前情報
を、ネットワーク内で特定の任務においてクライアント
に働きかけている各ユーザごとに収集し、所与の時点に
おいて実際に活動しているユーザについてのみ、または
予測期間内に活動状態になることが予測されるユーザに
ついて資源を事前定義するためにサーバにおいて考慮す
る。
ワークステーション・サービス・スーパチャージャにつ
いての本発明の概念の考察 パーソナル・コンピュータは、現在、たいていの場合
ユーザのセッションにおいてユーザが使用できる能力を
はるかに越える処理能力を示す。事実、実際の環境で
は、プロセッサの能力(毎秒百万命令すなわちMIPSで表
される)のごく一部が使用される。例えば、OS/2は、シ
ステム使用率をユーザに見せるパルス機能をオペレーテ
ィング・システム内に含んでいる。現代の最も強力な処
理装置でさえ、ユーザは、多くのセッションにおいて、
ユーザが実行したい次のミニタスクまたは活動の選択を
入力してからしばらくの間コンピュータの応答を待たな
ければならない。パルス機能は、ユーザが実際に利用す
る使用可能なプロセッサ能力が平均でどのくらい残って
いるかをユーザに見せる。
プロセッサがこの時間内に行っていることを分析すれ
ば、プロセッサが特定のユーザ要求に応答する前にいく
つかのプロローグ機能を実施しなければならないことが
分かる。そのようなプロローグ機能は、例えば、ファイ
ルを開き、データおよび実行可能なプログラムをより遅
いアクセス・ディスク空間から即時アクセス・メモリ空
間にロードするものである。そのようなメモリ空間で
は、限度内でのみ使用できるシステム資源を、進行中の
すべてのオペレーションまたは瞬時実行用に準備された
オペレーション間で共用しなければならない。また、シ
ステムはいくつかのエピローグ機能を実施し、対応する
プロローグによって拘束されたシステム資源の拘束を概
念上解除しなければならないので、ユーザ要求が終了し
た後、システムは処理を続行することが分かる。そのよ
うなプロローグ機能およびエピローグ機能に使用される
時間は、ユーザが実行したい特定のミニタスクおよびミ
ニタスクをサポートする様々は関連ツールに大きく依存
する。
本発明の開示の本質的概念は、プロセッサの使用可能
なアイドル時間を使用して、ユーザが要求する最も起こ
りそうな次のミニタスクに対する準備をすることによっ
てプロセッサのユーザ要求に対応する応答時間を改善す
ることである。確率の高い次のミニタスクに対するプロ
ローグを事前実行し、複数のミニタスク間で適用できる
場合、プロローグ処置を共用し、対応するシステム資源
が将来に予測される1つまたは複数のミニタスクにとっ
て不要になったときにのみエピローグ機能を実施するこ
とによって、システムからユーザ要求への応答時間をか
なり短縮することができる。プロローグを事前実行し、
エピローグの実行を延期する量は、予測される将来のミ
ニタスク用に拘束することができる使用可能な全システ
ム資源、および将来に予測されるミニタスク用にそのよ
うな事前機能を実施するプロセッサの使用可能なアイド
ル時間に依存する。
この開示における本発明の概念によれば、将来のミニ
タスクを適切に予測し、過去のセッションに関する知識
を評価するとともに、現在動作しているセッションおよ
び予測した将来のセッションにおいて解釈されたワーク
フロー・モデルに従って実行されるミニタスクを予見
し、それらの予測される将来の実行に従って将来のミニ
タスク用のプロローグ処置を実施することによって、ユ
ーザ・セッションにおけるプロセッサからの応答をスピ
ードアップするために使用できるプロセッサ能力のより
よい利用が可能になる。
ミニタスクの動作中に使用されるツールおよび機能の
システム環境使用のために論理上実行可能であれば、ミ
ニタスク用にプロローグを実行することによって確立さ
れるシステム環境の使用が、ミニタスクを実行する複数
のインスタンス間で共用できる。
本発明の他の概念は、上記の概念を、複数のユーザが
クライアントサーバ構成内のサーバとして1つのプロセ
ッサの使用を共用するシステム構成に拡張することであ
る。
本発明の概念の実施形態の詳細 ユーザ要求に対するプロセッサ応答のスピードアップ
は、ユーザがそのプロセッサ上で次に何を行うかに関す
る情報の可用性に依存する。たいていの場合、これは、
論理的推論によって、または過去において蓄積した知識
から導出されるある一定の確率で、ユーザが近い将来ど
んなセッションを行うか、またユーザが現在動作してい
るセッションまたは予測される将来のセッションにおい
てどんなミニタスクを実施するかを予測できることが分
かる。
ネクスト・セッション・テーブル 本発明の概念として「ネクスト・セッション・テーブ
ル(NSET)」を導入する。NSETでは、ユーザが実行した
過去のセッションに関する情報を収集し、ユーザが将来
実施する次のセッションに関する予測を導出する。セッ
ションに関するエントリを使用して、プロローグおよび
エピローグ処理およびシステム資源要件情報を維持す
る。NSETでは、セッション開始プロローグの事前実行お
よびそれらのセッションにおけるミニタスク用のプロロ
ーグの事前実行に相当な処理準備時間が必要であり、し
たがってその準備の事前実行がユーザに対するシステム
の応答性に大きく寄与するので、そのようなセッション
のみを入力する。
ネクスト・セッション・テーブルの作成 NSETは、「履歴セクション」内にユーザが前に実行し
たセッションに関する情報、および「予測セッション」
セクション内にユーザが実行する次のセッションを予測
するためにこの履歴情報から導出された情報を含むテー
ブルである。
次のセッション・テーブルの履歴セクションは、エー
ジング・ファクタに関連する過去にユーザが開始したす
べてのセッションのリストを含んでいる。このエージン
グ・ファクタは、以下で導入する「ネクスト・セッショ
ン・テーブル・アドミニストレータ」によって自動的に
決定され、適用される。過去のセッションに関する情報
はまた、プロローグの実行とエピローグの実行の間の時
間を意味する各セッションごとの活動状態の経過時間を
含んでいる。これは、そのセッションによるシステム資
源使用率の時間で表した量について決定する。
NSETの予測セッション・セクションは、過去に実行さ
れたセッションに関する情報およびそれらのエージング
・ファクタを使用して、将来開始される最も起こりそう
なセッションを予測することを含んでいる。この予測で
は、過去において複数の実行を有するどのセッション
が、エピローグによって拘束された同じ1組のシステム
資源を共用することができるかが考慮される。過去にお
けるこれらの複数のセッションに対して、ただ1つの対
応するエントリが将来のセクション内に作成されるが、
複数の予測される将来の実行に応じて確率が更新され
る。各セッションごとのテーブルはまた、特定のセッシ
ョンを開始するために必要とされる特定のミニタスクと
して表され、また当該の場合、異なる各セッションの実
行について、またはすべての共用された実行について、
プロローグからエピローグまでそれらのミニタスクによ
って拘束されるシステム資源の部分を指定する、プロロ
ーグを識別する。
ネクスト・セッション・テーブル・アドミニストレータ
(NSETA) 本発明の概念によれば、ネクスト・セッション・デー
ブル・アドミニストレータは、エントリをNSET内に維持
する。ユーザが実行する各セッションごとに、NSETA
は、上述のように、セッション情報をテーブルの履歴セ
クション内に入力する。セッションをテーブル内に入力
する前に、わずかなプロローグ処理時間およびエピロー
グ処理時間しか必要としないセッション、およびセッシ
ョン中にわずかな量のシステム資源しか拘束しないセッ
ションは除去される。他のすべてのセッション・タイプ
では、それらの実行インスタンスは蓄積される。各イン
スタンスは、最近のセッションに対しては「1」、事前
定義された「エージング期間」よりも前に実行されたセ
クションに対しては「0」、事前定義されたエージング
期間内のセッションに対してはその間の値と仮定される
エージング・ファクタに関連する。エージング・ファク
タ「0」の影響を受けるすべてのエントリは、テーブル
から削除される。特定のセッション・タイプに対するす
べてのエントリは、単一のエントリによってインスタン
スからのすべてのエージング・ファクタの総和であるエ
ージング・ファクタと置換されるが、最大値が「1」に
制限される。「エージング期間」は、事前定義された最
大の組のセッションが記録された期間に従ってNSETAに
よって動的に設定される。すなわち、ユーザによるシス
テムの使用率が低ければ、記録されるセッションのエー
ジング期間は長くなる。
ネクスト・ミニタスク・テーブル 次の主要な本発明の概念として、「ネクスト・ミニタ
スク・テーブル」(NMTT)およびそのテーブル内に情報
を維持する機能を導入する。NMTTは、ユーザがその現在
活動状態のセッションにおいて、またNSETにリストされ
ている将来高い確率で開始するセッションにおいて次に
実行するミニタスクの予測に関する情報を含んでいる。
特定の新しいセッションを開始する処置もそのテーブル
内にミニタスクとしてリストされている。それらの各ミ
ニタスクごとに、ユーザに瞬時に応答するためにそれぞ
れのミニタスクを使用可能にし使用不能にするミニタス
ク用のプロローグおよびエピローグに必要とされる実行
時間、およびすべてのプロローグ・ミニタスク間で分配
可能なシステム資源のどの部分が各特定のミニタスクご
とにプロローグによって拘束され、エピローグによって
解放されるかが分かっていなければならない。実行可能
になったミニタスク間で供用されるシステム資源の種類
は、異なるプロセッサ・システム環境では異なるが、ど
のケースでも、使用可能になったミニタスクによって拘
束されたメモリの部分を含んでいる。
ネクスト・ミニタスク・テーブルの作成 NMTTは、将来ユーザが実行することが予測される1組
のミニタスクに関する情報を含んでいる。このテーブル
は、活動セッション・セクションおよび予測セッション
・セクションの2つのセクションを有する。
「活動セッション」セクションは、すでに活動状態の
セッションにおいてユーザが開始することが予測される
すべてのミニタスクの予測を含んでいる。様々な理由
で、ユーザは、複数のセッションを同時に開始させ、そ
れにより任意の時点において、ユーザは複数のセッショ
ンにおいてもミニタスクを実行することができる。この
セクション中のエントリは、活動セッションの実行の進
行とともに動的に更新される。
「予測セッション」セクションは、予測セッション自
体がユーザによって開始されたときに開始されることが
予測されるすべてのミニタスクの予測を含んでいる。こ
れらのセッションの1つが開始されると、このセクショ
ンからのエントリは、活動セッション・セクションに転
送される。
ネクスト・ミニタスク・テーブル・アドミニストレータ
(NMTTA) NMTTAは、セッションを開始し、セッション中に作業
を行うユーザ要求に対する最大の応答が得られるように
プロセッサを準備するために、ミニタスクに関する情報
をどのようにして収集し、維持し、適用するかという本
発明の概念を表す。
NMTTAの「活動セッション」セクションの維持 ユーザ・セッションは、たいていの場合、ユーザが選
択したミニタスクのランダムな実行ではなく、論理パタ
ーンに従うものである。ミニタスクを順次付けするある
論理を含むランダムでないユーザ・セッションをセッシ
ョン・アプリケーションと呼ぶことにする。そのような
セッション・アプリケーションは常に、セッション・ア
プリケーション実行の各インスンスごとに何らかの形で
定義される。セッション・アプリケーション中に実行さ
れる将来のミニタスクを予測するには、セッション・ア
プリケーション中に実行されるプロセスのワークフロー
・ビューが最も適している。
セッション・アプリケーションの1つの特徴的な例と
して、IBM FlowMarkワークフロー・マネージャによっ
て定義されるワークフロー・プロセスを仮定する。ワー
クフロー・プロセスは、プロセス・モデルとして表さ
れ、プロセス中に実行される活動に関する情報、および
複数の後続回動がナビゲーション決定後に交互に実行さ
れる決定点に関する完全な情報を含んでいる。そのよう
なワークフローは、極端な場合ただ1つの活動を含み、
非常に短いこともあり、多数の活動またはこの開示の用
語で言うミニタスクを含み、何ヶ月間および何年間とい
う長い期間にわたって続くこともある。
NMTTAの目的の1つは、現在活動状態にあるすべての
セッションについて、セッション・アプリケーションの
ワークフロー・モデルの現在の処理状態によって、NMTT
Aの活動セッション・セクションに、次に実行されるこ
とが予測されるすべてのミニタスクの組をロードするこ
とである。
最適なプロローグおよびエピローグの実行および関連
する資源の拘束および解放をサポートするために、ワー
クフロー・モデル内で定義された活動に対応するミニタ
スク用のエントリは、追加の属性を含んでいなければな
らない。これらの属性は、プロローグおよびエピローグ
の実行に必要とされるプロセッサ時間、およびエピロー
グが終了するまでの期間中プロローグによって拘束され
るシステム資源の部分を定義するものである。
非常に重要な一態様は、ミニタスクの事前実行がミニ
タスク間で共用できるシステム環境および資源を使用す
るかどうかの登録である。例えば、事前実行の一部とし
て、プログラムをロードして開かなければならないが、
それを行った後で繰り返し呼び出すことができる。すな
わち、特定のプログラムを閉じなくても並列に複数回実
行できる場合がそうである。この反復実行可能性は、特
に、ソフトウェア開発ならびにソフトウェア実行におい
て使用されるエディタ、コンパイラ、インタプリタな
ど、多数のソフトウェア・ツールを用いて実施される。
NMTTAは、NMTTの「活動セッション」セクションを維
持するために次の主要な機能を実施する。
− NMTTの予測したセッション・セクション中に記録
された開始される確率が0と1の間であるセッションに
ついて、使用できる所要のシステム資源に従って、対応
するミニタスク情報をNMTTの活動セッション・セクショ
ン中に転送することによって、これらのセッションのう
ちのどのセッションが開始のために使用可能になるかを
決定する。この情報をロードする際には、セッション開
始の確率(1と0の間)に、セッション中のミニタスク
の確率予測をかける。この情報はNSET内の変更に従っ
て、セッションが新しく開始されるごとに、またはシス
テムが定義した間隔で更新される。あるセッション・ア
プリケーション用の初期の1組のミニタスクは、以下で
説明するようにして導出される。
− 各ミニタスクのユーザ機能部分の実行後、次の1
組のミニタスクに関する情報がNMTT内で更新される。こ
の更新は、実行される次のミニタスクを識別するために
セッション・アプリケーションの分析を必要とする。NM
TTAは、セッション・アプリケーションのワークフロー
・モデルをその解釈の現時点において分析し、モデル内
の次のミニタスクをテーブル内に入力し、0と1の間の
順方向エージング・ファクタを直ちに必要とされるミニ
タスクの予測される確率に適用する。最後に実行された
ミニタスクの直後のミニタスクには、確率「1」を割り
当て、予測期間の最後のミニタスクには「0」を割り当
て、他のミニタスクにはそれに応じてその間の値を割り
当てる。
− その資源が複数の実行間で共用できるミニタスク
については、1つのセッション内またはすべての活動セ
ッション間での出現の確率を加算して、最大確率を1に
する。
− これらのミニタスクに対してエピローグ処理を終
了した後、実行されたすべてのミニタスクをテーブルか
ら除去する。
− NMTTAは、実行されたプロローグのために、現在
拘束されているシステム資源の量を連続的に監視し、0
から1までの優先度を有するすべてのミニタスクがミニ
タスク・プロローグを事前処理するために割り振られた
使用可能なシステム資源の使用率を越えたときにはいつ
でも、予測したミニタスクの予測した確率内で値1以下
の限界値を調節する。この値は、下記に述べるNMTTイン
タプリタが使用する。
NMTTAは、NMTTの「予測セッション」セクションを維
持するために次の処置を実施する。
− NSET内で予測された各セッションごとに、NMTTの
「予測セッション」セクション中にエントリを追加し、
NSETがその「予測セッション」セクションの内容を変更
したときにはいつでも、これらのエントリを修正する。
− 上記で定義されたテーブル内の各エントリごと
に、セッション・アプリケーションのワークフロー・モ
デルから導出され、すでに活動状態のセッションについ
て上述した次のミニタスク情報を入力する。
NSETおよびNMTTを維持する活動は、それら自体計算能
力を必要とし、プロセッサが使用できる計算能力を有し
ている場合にのみ実行すべきであるが、開始されたミニ
タスク内のユーザ処置に対するプロセッサの可用性に影
響を及ぼしてはならない。多数の実際の例では、テーブ
ル内の予測したセッションの数が所定の限界値よりも小
さい場合、NSETを一定の間隔で更新するか、または1も
しくは1に近い優先度を有するミニタクスの数が所定の
限界値よりも小さい場合、セッション・アプリケーショ
ンを使用してセッションの始めに一度だけNMTTを更新す
るだけで十分である。
多数のユーザがサーバを共有する 複数のユーザが1つのサーバを共用する場合、複数の
NSETおよびNMTTが維持されるか、またはすべてのユーザ
に関する情報が共用のテーブル内に組み込まれる。複数
のユーザがサーバを共用すると、個々のユーザの応答時
間を改善し、同時により多くの使用可能な計算能力を使
用するために本発明の概念を適用することが一層有益に
なる。ユーザのうちの誰が将来活動状態になるかを予測
し、それに応じてNSETおよびNMTTをロードするという概
念は、前にセッションに対して定義された分析とまった
く同等に実施することができる。
ネクスト・ミニタスク・テーブル・インタプリタ NMTTインタプリタ(NMTTI)は、ユーザがミニタスク
を実行したいときはいつでも、またユーザがミニタスク
を終了したいときはいつでも呼び出されるサービス機能
である。
− ユーザがセッション・アプリケーションを開始す
るためにミニタスクを開始したいとき、またはそのよう
なアプリケーション内のミニタスクを開始したいときは
いつでも、NMTTIは、要求されたミニタスクに対してプ
ロローグがすでに実行されているならば、直ちにユーザ
に応答し、それでなければ特定のプロローグを開始す
る。NMIITは、プロローグによって拘束されたシステム
資源がミニタスクを実行する複数のインスタンス間で共
用できる状況を考慮する。
− ユーザがミニタスクを終了したときはいつでも、
NMTTIは共用できないミニタスク、またはもう必要がな
くなったミニタスクに対するプロローグが実行できるか
どうかを確かめるために呼び出され、次いでこのプロロ
ーグを実行する。
− NMTTIは、NMTTの状態を連続的に監視し、必用と
されるプロローグを最高の確率で実行し、最低の確率を
有するミニタスクに対して、あるいはミニタスクを実行
するために必要とされるシステム資源を解放するために
実行しなければならないミニタスクに対して高い実行確
率でエピローグを実行する。
ミニタスク実行知識の作成 NMTTAおよびNMTTIがNSETおよびNMTTを使用してそれら
の実行に関する決定を行うことができるように、ミニタ
スクに対して、プロローグおよびエピローグ、ならびに
ミニタスク間でのそれらの共用度が十分定義されている
ことが上記で説明した概念にとって前提条件である。
実際のセッションでは、例を挙げて説明するように、
この状況は、現在非常にしばしば生じる。したがって、
ミニタスクがいくつかの資源の準備(例えば、SmallTal
kで書かれたミニタスクの場合など、インタプリタ・タ
イプの機能を開くこと)を必要とする多くの場合、また
はミニタスクがデータ資源へのアクセス・パスの確立
(例えば、ファイルおよびデータベースを開くこと)を
必要とする多くの場合、この事前処理は、特定のミニタ
スクがユーザが入力した情報の解釈を実行する前に行わ
れる。
NMTTAの本発明の補足的な実施形態では、NMTT内の情
報の作成は、追加の知識収集システムによって達成され
る。本発明のシステムは、各ユーザ・セッション・アプ
リケーションごとに、また各ミニタスク実行ごとに、統
計を収集し、各実行インスタンスのセッション・アプリ
ケーションの各タイプごとに、セッション・インスタン
ス中に実行されるミニタスクおよび実行インスタンス中
のミニタスクの順序を記録する追加のセッション知識テ
ーブルを含んでいる。所与のすべてのミニタスクからの
後続ミニタスクに関する情報は、複数のセッションにわ
たって蓄積され、評価され、各ミニタスクの後続ミニタ
スクの確率の尺度になる。このようにして、将来のミニ
タスクに関する情報がFlowMarkプロセス・モデルの場合
ほど容易には導出できない場合、サービス・スーパチャ
ージのためにセッションを評価することができるが、NM
TT内の将来のミニタスクの確率に関する総計した知識に
よれば、ミニタスクの事前実行はなお可能である。
論じるべき残りの1つの実施態様は、事前および事後
実行情報、ならびにシステム資源要件情報を多数のツー
ルおよびセッション・アプリケーションによって一貫し
てサポートされた形でどのようにしてNMTT内に入力する
かである。本発明の概念をサポートする実施態様では、
様々なツールおよび機能がそのような情報を登録対話イ
ンタフェースを介して手動で記録するか、またはアプリ
ケーション・プログラミング・インタフェースを介して
自動的に記録することができる標準化されたデータ・レ
イアウトを実施する。ミニタスクに関する知識は、その
ようなタスクの複数の実行から蓄積され、またPCシステ
ムにインストールした際にそのような機能の分配情報の
一部になる。
記載の概念は、OS/2などのシステム内で複数のタスク
を並列に実行することができる可能性を利用して、シス
テムに対して個々のユーザ要求に対する応答時間を大幅
に短縮することができる解決策を実現する。これらの概
念は、スタンドアロン・ユーザ・ワークステーションお
よびクライアント/サーバ環境に適用することができ
る。
本発明の実施形態の説明 第1a図ないし第1c図は、コンピュータ・システムによ
って実施される3つの例示的コンピュータ・セッション
を示す図である。
第2図ないし第6図は、5つの連続する時点における
第1a図ないし第1c図のコンピュータ・セッションに関連
する目次を示す図である。
第1a図ないし第1c図は、モジュールの修正、アプリケ
ーションのテストおよびメールの読取りの3つの例示的
コンピュータ・セッションを示す。各セッションは、1
つまたは複数のミニタスク(MT)を含んでいる。2つの
連続するMT間のパスは、すべて第1a図ないし第1c図に示
される関連する確率を有する。
第2図ないし第6図は、ネクスト・セッション・テー
ブル(NSET)の履歴セクション、NSETの予測セクショ
ン、およびネクスト・ミニタスク・テーブル(NMTT)を
示す。
第2図のNSETの履歴セクションは、第1a図ないし第1c
図の3つのセッション、すなわちモジュールの修正、ア
プリケーションのテストおよびメールの読取りの各セッ
ションを含んでいる。このテーブル内に記載されている
期間(500時間単位継続する)中、モジュールの修正は
複数回実行される。1のエージング・ファクタは、セッ
ションが最近実行されたことを示し、ほぼ0のファクタ
は、期間の始めに実行されたセッションに割り当てられ
る。プロローグ欄は、セッションを初期設定するために
必要とされる時間単位の数を表す。実行時間欄は、セッ
ションがどのくらい長く動作していたかを示し、エピロ
ーグ列は、セッションが実行された後に終結するのに要
する時間を示す。最後に、資源欄は、平均システム資源
使用率を百分率で示す。
第2図に示すように、履歴セクション中に含まれる各
タイプのセッションごとに、NSETの予測セクション中の
エントリを計算する。したがって、このテーブルは、モ
ジュールの修正、アプリケーションのテストおよびメー
ルの読取りの3つのエントリを含んでいる。各タイプの
セッションごとに、開始される確率ならびにこのセッシ
ョンの現在の状態を記憶する。この例では、1つのセッ
ション・タイプしか同時に活動状態となれない。開始さ
れる確率は、任意の適切なアルゴリズムを用いて計算す
ることができる。しかしながら、この例では、次の簡単
な式を使用する。履歴セクション中の各エントリごと
に、(エージング×実行時間)/期間の長さから確率を
計算する。第2図に示したように、ネクスト・セッショ
ン・テーブル(予測)の各セッション・タイプごとの確
率は、履歴テーブルの同じセッション・タイプの各イン
スタンスの確率の総和になる。このテーブル内の各エン
トリは、第2図のネクスト・ミニタスク・テーブルを参
照する。
第2図のNMTTは、特定のセッション中に実行されるす
べてのMTを含んでいる。各MTごとに、このMTが次に実行
される確率を示す実行確率を計算する。この確率は、セ
ッションの現在の状態に依存する。MTの確率は、前のMT
の確率に、問題のMTが前のMTの後で実行される確率をか
けることによって計算される。これらの確率を第1図に
示す。したがって、実行される第1のMTは常に確率1で
ある。後続のMTの確率は低くなる。さらに、プロローグ
時間およびエピローグ時間、ならびに所要のシステム資
源を各MTごとに記憶する。
第2図の初期状態では、活動状態のセッションはな
く、したがってシステム資源は使用されない。この状況
では、ネクスト・セッション・テーブル・アドミニスト
レータ(NSETA)は、NSETの履歴セクションの評価を開
始する。まず、すべてのセッションのエージング・ファ
クタを0.1だけ減らし、そのエージング・ファクタが0
になったセッションを履歴セクションから除去する。次
いで、予測セクションの確率を新しいエージング・ファ
クタに従って再計算する。結果を第3図のNSETに示す。
次いで、第3図に従って、NSETAは、NSETの予測セク
ションから最高の確率を有するセクション、モジュール
の修正を選択し、平均資源要件を現在の資源使用率と比
較する。十分な資源が残っていない場合、次に大きい確
率を有するセッション(メールの読取り)が選択され
る。第3図の場合、モジュール修正セッションを活動化
させるために使用できる十分な資源がある。このため
に、セッションのプロローグを実行し、セッションを活
動状態であるとマークする。第3図のNSETの予測セクシ
ョンを参照のこと。
第3図にこの状況で、ネクスト・ミニタスク・テーブ
ル・アドミニストレータ(NMTTA)は現在活動状態のNMT
Tを評価する。この活動状態のNMTTの最初の2つのMTが
確率1を有し、十分な資源が使用できるので、それぞれ
のプロローグを実行する。これにより、第4図に示すよ
うに使用できるシステム資源の量が10パーセントまで減
少する。エンド・ユーザが実際にこれらの活動を開始す
る場合、プロローグはすでに実行されており、必要な資
源が割り振られている。エンド・ユーザがこれらのMTの
実行を終了している場合、NMTTAは、残っているMTの確
率を再計算する。MTコンパイルはすでに実行されている
ので、第4図に示すように、MTリィンクの確率は1であ
る。次いで、NMTTAは、予測した次のMTがすでに実行さ
れたものと同じ資源を使用するかどうかを検査する。そ
うであれば、資源が解放されるので、終了したMTのエピ
ローグは実行されない。したがって、それらはNMTTから
除去されない。しかし、第4図において、それらの確率
は0にセットされ、それらのエピローグが実行されなか
ったことを示す。
次に、第4図に従って次の2つのMTを実行する。リン
クMTは、追加の資源を全く必要としない。MTアプリケー
ション実行の場合にのみ、資源Cを割り振らなければな
らない。MTアプリケーション実行が終了した後、NMTTA
は再びNMTT内で確率を再計算する。さらに、NMTTAは、
確率が0のすべてのMTについて、それらの資源が必要で
ないかどうかを検査する。資源BおよびCの場合がそう
であり、したがってMTコンパイル、リンクおよびアプリ
ケーション実行のエピローグがNMTTAによって実行され
る。したがって、MTモジュール編集のエピローグのみが
実行されず、資源Aは依然割り振られたままである。こ
の結果を第5図に示す。
最後のMT文書変更がエンドユーザによって実行された
後、資源Aは不要なので、第1のMT(モジュールの編
集)のエピローグおよび最後のMT(文書変更)が実行さ
れる。セッション全体が終了すると、第6図のNSETの履
歴セクション内に記憶される。エージング・ファクタ
は、ちょうど終了したときに1にセットされる。テーブ
ル内の他の情報は、ある種のログ・ファイルから検索す
ることができる。第6図のNSETの予測セクション内のセ
ッションの状態は「予測」にリセットされなければなら
ず、NMTTAは、この予測セッション用の新しいNMTTを作
成しなければならない。これで、NSETAはNSETを再評価
することができる。エージング・ファクタは再び減少
し、確率を計算するために、第3図に関して説明したよ
うに、現在終了しているセッションを考慮しなければな
らない。
フロントページの続き (56)参考文献 特開 平7−21126(JP,A) 特開 平6−309133(JP,A) 特開 平4−21035(JP,A) 特開 平6−242972(JP,A) 特開 昭62−175832(JP,A) 特開 平4−256024(JP,A) 特開 平6−348500(JP,A) (58)調査した分野(Int.Cl.6,DB名) G06F 9/46,9/06,1/00 CSDB(日本国特許庁)

Claims (6)

    (57)【特許請求の範囲】
  1. 【請求項1】過去に実行されたタスクを再実行するため
    のユーザ要求に対するコンピュータ・システムの応答時
    間を改善する方法であって、 各々のタスクが再実行要求される前に、各々のタスクの
    各々のプロローグ・プロセスの再実行の確率を決定する
    ステップであって、前記確率は、より最近実行されたも
    のほど、また、実行時間の長いタスクほど確率が高くな
    ることを特徴とする決定ステップと、 最も高い確率を有しており、各々のプロローグ・プロセ
    スを実行するのに充分な資源を有するタスクを再実行す
    るユーザ要求の前に、前記各々のプロローグ・プロセス
    を実行するステップと、 を含む方法。
  2. 【請求項2】前記タスクは、1つ以上のミニタスクを含
    んでおり、最も高い確率を有しており、各々のプロロー
    グ・プロセスを実行するのに充分な資源を有するタスク
    の第1のミニタスクが再実行されると、再実行の確率の
    高い順に他のミニタスクのプロローグ・プロセスも事前
    実行されることを特徴とする請求項1に記載の方法。
  3. 【請求項3】前記決定するステップの前に、前記タスク
    が過去にいつ実行されたかを示す情報、および、その実
    行の際に消費された時間を記録するステップをさらに含
    むことを特徴とする請求項1に記載の方法。
  4. 【請求項4】過去に実行されたタスクを再実行する際の
    応答時間を改善するコンピュータ・システムであって、 各々のタスクが再実行要求される前に、各々のタスクの
    各々のプロローグ・プロセスの再実行の確率を決定する
    手段であって、前記確率は、より最近実行されたものほ
    ど、また、実行時間の長いタスクほど確率が高くなるこ
    とを特徴とする決定手段と、 最も高い確率を有しており、各々のプロローグ・プロセ
    スを実行するのに充分な資源を有するタスクを再実行す
    るユーザ要求の前に、前記各々のプロローグ・プロセス
    を実行する手段と、 を含むコンピュータ・システム。
  5. 【請求項5】前記タスクは、1つ以上のミニタスクを含
    んでおり、最も高い確率を有しており、各々のプロロー
    グ・プロセスを実行するのに充分な資源を有するタスク
    の第1のミニタスクが再実行されると、再実行の確率の
    高い順に他のミニタスクのプロローグ・プロセスも事前
    実行されることを特徴とする請求項4に記載のコンピュ
    ータ・システム。
  6. 【請求項6】前記決定する手段の前に、前記タスクが過
    去にいつ実行されたかを示す情報、および、その実行の
    際に消費された時間を記録する手段をさらに含むことを
    特徴とする請求項4に記載のコンピュータ・システム。
JP9529722A 1996-02-21 1996-02-21 コンピュータ・システムのユーザ要求に対する応答時間を改善する方法およびコンピュータ・システム Expired - Fee Related JP2962365B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/EP1996/000708 WO1997031313A1 (en) 1996-02-21 1996-02-21 Method and computer system for improving the response time of a computer system to a user request

Publications (2)

Publication Number Publication Date
JPH10506743A JPH10506743A (ja) 1998-06-30
JP2962365B2 true JP2962365B2 (ja) 1999-10-12

Family

ID=8166164

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9529722A Expired - Fee Related JP2962365B2 (ja) 1996-02-21 1996-02-21 コンピュータ・システムのユーザ要求に対する応答時間を改善する方法およびコンピュータ・システム

Country Status (3)

Country Link
US (1) US5958003A (ja)
JP (1) JP2962365B2 (ja)
WO (1) WO1997031313A1 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6205413B1 (en) * 1998-06-11 2001-03-20 Chatschik Bisdikian End-user oriented performance monitoring system for interactive end-to-end data communications
US7137101B1 (en) * 1998-12-03 2006-11-14 International Business Machines Corporation Apparatus and method for performing general integrity checks using integrity rule checking points in an enterprise application
US6662355B1 (en) * 1999-08-11 2003-12-09 International Business Machines Corporation Method and system for specifying and implementing automation of business processes
AU2001255480A1 (en) * 2000-04-18 2001-10-30 Inzigo, Inc. System and method for fulfilling a user's request utilizing a service engine
WO2003107186A1 (ja) * 2002-06-18 2003-12-24 松下電器産業株式会社 プログラム実行処理端末装置、プログラム実行処理方法及びプログラム
US20040030882A1 (en) * 2002-08-08 2004-02-12 Forman George Henry Managed application pre-launching
US8683016B1 (en) 2002-12-20 2014-03-25 Versata Development Group, Inc. Data recording components and processes for acquiring selected web site data
US7415517B1 (en) * 2004-02-11 2008-08-19 Versata Development Group, Inc. Developing session context from nonlinear web site flow records
EP2341432A1 (en) 2004-03-13 2011-07-06 Adaptive Computing Enterprises, Inc. System and method of co-allocating a reservation spanning different compute resources types
US7890629B2 (en) 2004-03-13 2011-02-15 Adaptive Computing Enterprises, Inc. System and method of providing reservation masks within a compute environment
US8782654B2 (en) 2004-03-13 2014-07-15 Adaptive Computing Enterprises, Inc. Co-allocating a reservation spanning different compute resources types
WO2005089246A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providiing advanced reservations in a compute environment
WO2005089236A2 (en) 2004-03-13 2005-09-29 Cluster Resources, Inc. System and method for providing intelligent pre-staging of data in a compute environment
US7272748B1 (en) * 2004-03-17 2007-09-18 Symantec Corporation Method and apparatus to detect and recover from a stack frame corruption
US20070266388A1 (en) * 2004-06-18 2007-11-15 Cluster Resources, Inc. System and method for providing advanced reservations in a compute environment
US20070214266A1 (en) * 2004-07-30 2007-09-13 Telefonaktiebolaget Lm Ericsson (Pub) Secure load balancing in a network
US7661135B2 (en) * 2004-08-10 2010-02-09 International Business Machines Corporation Apparatus, system, and method for gathering trace data indicative of resource activity
US7630955B2 (en) * 2004-08-10 2009-12-08 International Business Machines Corporation Apparatus, system, and method for analyzing the association of a resource to a business process
US8176490B1 (en) 2004-08-20 2012-05-08 Adaptive Computing Enterprises, Inc. System and method of interfacing a workload manager and scheduler with an identity manager
US8271980B2 (en) 2004-11-08 2012-09-18 Adaptive Computing Enterprises, Inc. System and method of providing system jobs within a compute environment
US8863143B2 (en) 2006-03-16 2014-10-14 Adaptive Computing Enterprises, Inc. System and method for managing a hybrid compute environment
US7996455B2 (en) 2005-06-17 2011-08-09 Adaptive Computing Enterprises, Inc. System and method for providing dynamic roll-back reservations in time
US9231886B2 (en) 2005-03-16 2016-01-05 Adaptive Computing Enterprises, Inc. Simple integration of an on-demand compute environment
ES2614751T3 (es) 2005-04-07 2017-06-01 Iii Holdings 12, Llc Acceso bajo demanda a recursos informáticos
US7930700B1 (en) * 2005-05-23 2011-04-19 Hewlett-Packard Development Company, L.P. Method of ordering operations
US20060282830A1 (en) * 2005-06-13 2006-12-14 Microsoft Corporation Analysis of the impact of application programs on resources stored in data stores
US9430745B2 (en) * 2005-12-21 2016-08-30 International Business Machines Corporation Pre-executing workflow preparation activities based on activity probabilities and system load and capacity threshold requirements
US8407712B2 (en) * 2007-08-31 2013-03-26 International Business Machines Corporation Updating workflow nodes in a workflow
US8381181B2 (en) 2007-08-31 2013-02-19 International Business Machines Corporation Updating a workflow when a user reaches an impasse in the workflow
US8041773B2 (en) 2007-09-24 2011-10-18 The Research Foundation Of State University Of New York Automatic clustering for self-organizing grids
US8521472B2 (en) * 2009-09-18 2013-08-27 International Business Machines Corporation Method to compute wait time
US11720290B2 (en) 2009-10-30 2023-08-08 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US10877695B2 (en) 2009-10-30 2020-12-29 Iii Holdings 2, Llc Memcached server functionality in a cluster of data processing nodes
US8961302B2 (en) * 2012-07-20 2015-02-24 Microsoft Technology Licensing, Llc Game browsing

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4949254A (en) * 1988-09-29 1990-08-14 Ibm Corp. Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network
US5247677A (en) * 1992-05-22 1993-09-21 Apple Computer, Inc. Stochastic priority-based task scheduler
US5390281A (en) * 1992-05-27 1995-02-14 Apple Computer, Inc. Method and apparatus for deducing user intent and providing computer implemented services
US5465358A (en) * 1992-12-28 1995-11-07 International Business Machines Corporation System for enhancing user efficiency in initiating sequence of data processing system user inputs using calculated probability of user executing selected sequences of user inputs
US5619695A (en) * 1994-02-03 1997-04-08 Lockheed Martin Corporation Method and apparatus for scheduling resources
US5784616A (en) * 1997-05-02 1998-07-21 Microsoft Corporation Apparatus and methods for optimally using available computer resources for task execution during idle-time for future task instances exhibiting incremental value with computation

Also Published As

Publication number Publication date
WO1997031313A1 (en) 1997-08-28
US5958003A (en) 1999-09-28
JPH10506743A (ja) 1998-06-30

Similar Documents

Publication Publication Date Title
JP2962365B2 (ja) コンピュータ・システムのユーザ要求に対する応答時間を改善する方法およびコンピュータ・システム
US10402225B2 (en) Tuning resources based on queuing network model
EP0685791B1 (en) User controllable concurrent functionality
JP4117202B2 (ja) マルチプロセッサ・コンピュータ・システムのためのスレッド・ディスパッチ機構及び方法
US7607127B2 (en) Registry emulation
Warneke et al. Exploiting dynamic resource allocation for efficient parallel data processing in the cloud
JP5448032B2 (ja) リソース管理装置、リソース管理プログラム、およびリソース管理方法
US6631354B1 (en) Deriving and running workload manager enclaves from workflows
CN110806933B (zh) 一种批量任务处理方法、装置、设备和存储介质
US20080301399A1 (en) Prefetching apparatus, prefetching method and prefetching program product
US9875141B2 (en) Managing pools of dynamic resources
JPH11237989A (ja) 休止中にバイトコード最適化を実行する方法及び装置
EP1525529A2 (en) Method for dynamically allocating and managing resources in a computerized system having multiple consumers
Gaussier et al. Online tuning of EASY-backfilling using queue reordering policies
Garefalakis et al. Neptune: Scheduling suspendable tasks for unified stream/batch applications
Hughes et al. A structural approach to computer performance analysis
CN107423114B (zh) 一种基于服务分类的虚拟机动态迁移方法
Chanin et al. Analytical modeling for operating system schedulers on NUMA systems
JP2004118367A (ja) コンピュータ装置及びプログラム実行方法
US8561077B1 (en) Binder for a multi-threaded process to access an un-shareable resource
US8239870B2 (en) Scheduling execution of work units with policy based extension of long-term plan
JP2013200668A (ja) 性能制御方法、そのシステムおよびプログラム
KR101824084B1 (ko) 클라우드 컴퓨팅 기반의 경영분석 서비스 시스템에서 다양한 분석모델에 적용가능한 데이터 처리방법
EP4334818A1 (en) Critical path determination of computer program using backwards traversal
Hanzich et al. On/off-line prediction applied to job scheduling on non-dedicated NOWs

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees