JPH10207833A - Scsiバス・アービトレーションを実行するための方法および装置 - Google Patents

Scsiバス・アービトレーションを実行するための方法および装置

Info

Publication number
JPH10207833A
JPH10207833A JP9265383A JP26538397A JPH10207833A JP H10207833 A JPH10207833 A JP H10207833A JP 9265383 A JP9265383 A JP 9265383A JP 26538397 A JP26538397 A JP 26538397A JP H10207833 A JPH10207833 A JP H10207833A
Authority
JP
Japan
Prior art keywords
scsi
bus
time
arbitration
delay
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.)
Pending
Application number
JP9265383A
Other languages
English (en)
Inventor
A Deamoss Robert
エー.ディーモス ロバート
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.)
LSI Logic FSI Corp
Original Assignee
Symbios Logic Inc
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 Symbios Logic Inc filed Critical Symbios Logic Inc
Publication of JPH10207833A publication Critical patent/JPH10207833A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9562Bookmark management

Abstract

(57)【要約】 (修正有) 【課題】 SCSIバス割当装置によるアービトレーシ
ョンの公平さを改善する。 【解決手段】 SCSIバス104上のアービトレーシ
ョンを要する各装置106は、SCSIバス・アービト
レーションを試みる前に時間スロット中の一つを疑似ラ
ンダムに選択する。その後、SCSIバス・アービトレ
ーションを開始する前に、関連する時間の長さだけ遅延
させる。遅延周期の終了前の任意時間に、装置がSCS
Iバスの再使用を感知した場合、装置はアービトレーシ
ョンを受ける権利を失う。もっと短い遅延周期を持つ時
間スロットをすでに選択している第二の装置は、第一の
装置がアービトレーションを試みる前にSCSIバスの
制御を獲得する。時間スロットは、各スロットに関連す
る確率に従って選択される。各SCSIによって使用さ
れる各スロットに確率を割当てるため、例えば確率は四
つの時間スロットを共有する7台までの装置に割当て
る。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、バスのアービトレ
ーションに関し、特にRAID記憶サブシステムのよう
な複数の装置間のSCSIバス・アービトレーションの
公平さを改善するための改良型の方法および装置に関す
る。
【0002】
【従来の技術、及び、発明が解決しようとする課題】複
数の装置を共通の電子バスまたは他の通信媒体に接続し
た場合、複数の装置が信号の交換のために同時にバスの
使用を要求する場合がある。このようないくつかの競合
する装置のどれに共通バスの使用を許可するのかを決定
する方法は、多くの場合アービトレーション方法または
単にバスのアービトレーションと呼ばれる。
【0003】共通バスのアービトレーション方法は、競
合する各装置に優先値または優先信号を割り当てる。競
合する装置の中で最も高い優先順位を持つ装置が、最初
にバスを使用することができ、続いてもっと優先順位が
低い他の装置がバスを使用することができる。例えば、
(ANSI発行のSCSI2規格仕様 X3T9.2/
375R 10L改訂版に指定されている)SCSIバ
ス・アービトレーションの場合には、各装置にID値が
割り当てられる。アービトレーションを要求する場合、
各装置は自らの優先順位およびバスを使用したいという
要求を含む信号をバスに送る。SCSIバスの使用をめ
ぐって競合する各装置は、(装置ID値およびSCSI
バス上の関連信号ラインにより)もっと高い優先順位を
持つ装置が、SCSIバスのアービトレーションを要求
しているかどうかの判断を行う。もっと優先順位の高い
装置が、(指定のバス・アービトレーション期間中に)
SCSIバスのアービトレーションを待っている場合に
は、もっと優先順位の低い装置は、次のアービトレーシ
ョン期間までその要求を断念する。
【0004】バスが非常に頻繁に使用されている場合
に、このような優先順位に基づくバス・アービトレーシ
ョン方法を使用すると、バス上の優先順位の低い装置は
多くの場合バスを使用することができない。それ故、優
先順位の低い装置が、再びバスに接続してそれぞれのI
/O動作を完了するにはかなりの遅れが生じる。RAI
Dディスク・アレーの場合には、例えば、単一の大型の
信頼性の高いディスクの場合に見られるような方法で、
コントローラが複数のディスク装置を統合し管理する。
上記ディスク・アレー上に記憶された情報は、ディスク
・アレーのいくつかのディスク・ドライブに分配され
る。それ故、接続しているホスト・コンピュータ・シス
テムからディスク・アレー宛の一つのI/O要求は、デ
ィスク・アレー中のいくつかのまたはすべてのディスク
・ドライブ上で、低いレベルのI/O動作の実行を要求
することができる。ディスク・アレーのディスク・ドラ
イブは、(SCSIバスのような)複数のI/Oチャネ
ルに分配することができる。しかし、通常の構成の場合
には、ディスク・アレーの数台のディスク・ドライブは
一本のSCSIバスを共有している。一つのI/O要求
は、ディスク・アレーのいくつかのディスク・ドライブ
に関連している場合があるので、RAIDサブシステム
の性能は、共有バスの最も優先順位の低いディスク・ド
ライブの性能により左右される。この問題は、同時にI
/O要求を処理する複数のRAIDコントローラを増設
し、一本のSCSIバスで14台の装置を使用すること
ができるようにSCSI規格を拡張した場合、さらに厄
介なことになる。
【0005】それ故、(例えば、SCSI2仕様におけ
るような)優先順位に基づくアービトレーション方法を
使用した場合には、共有バス上の複数の装置の中のどれ
がバスの使用権を獲得するのかを決定する際に不公平が
生じる。より優先順位の低い装置と比べると、より優先
順位の高い装置がバスを独占してしまう傾向がある。こ
のような不公平さの影響は、例えば、一つのアレーの任
意のディスク・ドライブにSCSIを再接続する際の
(すべての優先順位について平均した)平均遅延を、改
善した公平さに対して使用することが可能なアービトレ
ーション方法に従って動作することができる、ディスク
・ドライブへの再接続により生じる遅延の平均と比較す
ることによって定量化することができる。上記の不公平
さの影響は、公平なアービトレーション方法が、平均I
/O動作完了時間を短縮することによってRAIDサブ
システムの全体の性能を改善することができる程度を測
定することにより決定されてきた。このような改善は、
複数のRAIDコントローラが、複数のディスク・ドラ
イブにより、容量一杯で稼働している一つまたはそれ以
上の共通SCSIバス(ほとんどのRAIDサブシステ
ムの通常の構成)上で、同時に複数のI/O動作を発生
する場合に特に有利である。
【0006】しかし、アービトレーションの公平を改善
するための従来の方法は、上記問題を解決するために方
法が複雑になりそのためにかなりのコストが掛かった
り、SCSIバス・アービトレーションのための時間を
延長するための性能が低下するという問題があった。ア
ービトレーション時間を過度に延長すると、遊び時間
(アービトレーション中にデータの移動が行われない時
間)が生じ、RAIDサブシステムの性能が低下する。
【0007】上記の説明から、バス・アービトレーショ
ン・サイクルの延長時間を短縮する一方で、バス割当の
公平さを改善する改良型アービトレーション技術の開発
が必要とされていることが理解できるだろう。
【0008】
【課題を解決するための手段】本発明は、SCSIバス
・アービトレーション方法およびSCSIバス・アービ
トレーションの公平さを改善する関連構造を提供するこ
とによって、上記および他の問題を解決し、それにより
技術の現状レベルを進歩させるためのものである。SC
SIバス・アービトレーションの公平さが改善されれ
ば、RAIDサブシステムの全体の性能が改善される。
特に、本発明の方法および構造は、ディスク・アレーの
一つまたはそれ以上のディスク・ドライブを割り当てる
ことができる多数のスロットを提供する。各スロットの
特徴は、アービトレーションが開始する前に、最低標準
周期より長い追加増分遅延を行うことができることであ
る。SCSI2仕様によれば、バスが空いている状態が
検出された0.8マイクロ秒後に、装置はアービトレー
ションを開始することができる。(本明細書中では、S
CSI仕様によるバス空き遅延時間をBFDと呼ぶ場合
がある。)その後、装置はさらに任意の時間待ち、それ
からバスが空き状態のままでいる場合に限って、アービ
トレーションを開始する。装置の待ち時間が、バス空き
状態が検出されてから、1.8マイクロ秒以上になる
と、相対的優先順位いかんに関わらず、その装置へバス
割当は行われず、より高速な装置にバス割当が行われ
る。それ故、本明細書の方法および構造は、各スロット
内のアービトレーションが行われる前に、バス空き状態
の検出後最初の0.8マイクロ秒経過後、各スロットに
関連する一定の増分遅延を指定する。上記各スロット内
においては、その中でアービトレーションを行うすべて
の装置は、SCSI2仕様の標準アービトレーションに
従ってそうする。各ディスク・ドライブは、上記アービ
トレーションが開始する前に、可能なアービトレーショ
ンに対するスロットの一つをランダムに選択する。各デ
ィスク・ドライブは、SCSIバス上の他の装置の一部
とマッチしているので、バス割当を受けられる可能性
は、各SCSIバス上の複数の装置に対してバスをより
公平に割り当てる統計的で、確率的な関数となる。
【0009】より詳細に説明すると、バス空き状態検出
後でアービトレーションが開始する前の遅延は、各スロ
ットSに対して下記式により計算することができる。
【0010】Ts=BFDμs+(S−1)Txμs 但し、BFDはSCSI仕様(0.8)のバス空き遅延
であり;Txは例えば、約1マイクロ秒の、各スロット
毎の一定の増分遅延である。すなわち、第一のスロット
(S=1)に対するアービトレーションが開始する前の
遅延は0.8マイクロ秒(BFD)であり、第二のスロ
ット(S=2)に対する上記遅延は1.8マイクロ秒で
あり、第三のスロット(S=3)に対する上記遅延は、
2.8マイクロ秒であり、以下同様である。アービトレ
ーションを必要とする各ディスク・ドライブは、すべて
の他の装置とは無関係に、指定スロットの中からあるス
ロットをランダムに選択する。その後、各ディスク・ド
ライブは、アービトレーションが行われる前に適当な遅
延時間Ts待機する。しかし、ディスク・ドライブが、
アービトレーションを行うスロットKをランダムに選択
したが、スロットKがアービトレーションを開始する前
にバス使用状態(空き状態ではない)を検出した場合に
は、その装置はバス割当を受ける権利をすでになくし、
(他の装置によって他とは無関係にランダムに選択され
た)より低いスロット番号で、アービトレーションを行
う他の装置がバス割当を受けることになる。その後、ス
ロットKの一台または複数の装置は、その内部で競合を
行わずにバス割当を受ける権利を失い、バス割当を受け
る次の機会まで制御を放棄する。
【0011】装置は、それぞれに割り当てられた確率を
持つ使用可能なスロットのサブセットからランダムに選
択するようになっている。このような確率により、SC
SI2仕様の規格に基づいて、優先順位に関するアービ
トレーション方法の公平さを改善する種々の統計的解法
を作ることができる。さらに、アービトレーションを開
始する前に最も長い遅延を最も短くするためにスロット
の数を減らすことができ、そのスロットの数をバス上の
ディスク・ドライブの数より多くする必要もなくなる。
【0012】第一の好適な実施形態の場合には、発見的
解法により得た一組の確率に基づいて、四つのスロット
からランダムに選択するように、七台までの装置が構成
されている。第二の好適な実施形態の場合には、発見的
解法により得た一組の確率に基づいて、五つのスロット
からランダムに選択するように、14台までの装置が構
成されている。本発明のアービトレーション・スロット
の疑似ランダム選択は、(その内部で実行されるSCS
I規格をカスタム化し、拡張する)SCSI装置内の制
御ソフトウェア/ハードウェアにより行うこともできる
し、その内部にSCSI装置が装着され、それを通して
装置がSCSIバスに接続している装着用装置のインタ
ーフェース回路で実行することもできる。
【0013】それ故、本発明の一つの目的は、SCSI
バス割当装置の公平さを改善するアービトレーション方
法を提供することである。
【0014】本発明のもう一つの目的は、サブシステム
内のバス割当を改善する方法を使用して、SCSIに基
くサブシステムの性能を改善することである。
【0015】本発明のさらにもう一つの目的は、RAI
D記憶サブシステム内のSCSIバス割当の公平さを改
善することである。
【0016】本発明のさらにもう一つの目的は、その内
部でサブシステム内のディスク・ドライブへのバス割当
のバス・アービトレーションに基づく確率による分配を
行うRAIDサブシステム内で使用する、SCSIバス
・アービトレーション方法を提供することである。
【0017】本発明のさらにもう一つの目的は、SCS
Iバス上の一つまたはそれ以上の装置によって共有され
ている各アービトレーション時間スロットの疑似ランダ
ム選択に基づいて、バス・アービトレーションを行うR
AIDサブシステム内でSCSIバス・アービトレーシ
ョン方法を提供することである。
【0018】本発明のさらにもう一つの目的は、疑似ラ
ンダム選択法を使用してバス・アービトレーションを行
うことにより、アービトレーションの公平さを改善する
ためのSCSI装置内で使用することができる制御方法
を提供することである。
【0019】本発明のさらにもう一つの目的は、その中
に装着されているSCSI装置のために、疑似ランダム
選択法を実行することによって、SCSI装置を改善ア
ービトレーションを公平にするSCSIバスに接続する
ための装着用装置を提供することである。
【0020】本発明の上記および他の目的、態様、特徴
および利点は、以下の説明および添付図面を見れば明ら
かになるだろう。
【0021】
【発明の実施の形態】本発明を種々に修正し、また別の
形式で実行することもできるが、図面に例示としての特
定の実施形態を示し、以下に詳細に説明する。しかし、
図面および説明は、本発明を開示の特定の実施形態に制
限する意図ではなく、本発明は添付の特許請求の範囲内
に記載する発明の精神および範囲内の記述に該当するす
べての修正、相当物および代替物をカバーすることを理
解されたい。
【0022】<SCSIアービトレーションの概略>図
1は、複数の装置106および108が、共通のSCS
Iバス104に接続している通常のSCSIバスであ
る。例えば、RAIDコントローラ100内のSCSI
インターフェース102も、また記憶読み取りおよび書
き込み要求を種々の装置106および108に送るため
に、SCSIバス104に接続している。図1に示すよ
うに、各装置は、SCSI規格に従って、その内部に
(0から7または15までの)関連する一意の装置ID
を持つ。優先順位は装置IDに従って各装置に関連して
いる。ゼロというID値は最も低い優先順位であり、一
方最も高いID値(7または15)は、それに関連する
最も高い優先順位を持つ。図1に示すように、SCSI
装置は、例えば、ディスク・ドライブ106およびテー
プ・ドライブ108を含む異なるタイプの装置の組み合
わせであってもよい。RAID制御技術分野においては
周知のように、一組のディスク・ドライブ106を、よ
く論理ユニットまたはLUNと呼ばれる一つまたはそれ
以上の論理セットにグループ分けすることができる。各
LUNは、いくつかのRAID記憶管理レベルの任意の
レベルに従って管理することができる。各記憶管理レベ
ルは、類似の容量の単一ディスク・ドライブと比較した
場合、信頼性が改善されるような方法で、複数のディス
ク・ドライブ106を制御する。さらに、RAIDの当
業者なら周知のように、データは(ホスト・コンピュー
タ・システムから見て)(向上した信頼性の他に)大き
な容量を持つ単一の記憶装置のように見えるような方法
で、RAIDコントローラによりマップされた複数のデ
ィスク・ドライブに分配することができる。
【0023】SCSI装置(106および108)、す
なわち、標的装置が、起動装置により特定の動作を行う
ようになっている場合には、通常、特定の動作を切り離
した装置により完了する一方で、他のI/O動作が進行
して、他のSCSI装置を含むことができるように、S
CSIバスから装置が「切り離される」。この切り離さ
れた装置が最終的に特定の動作を完了した場合には、こ
の装置は起動装置に要求された情報を送り返すために、
SCSIバスに「再接続」しようとする。切り離された
標的装置の再接続の準備が完了した場合には、その標的
装置は他の装置が同時にバスと再接続したがっているの
を発見するだろう。例えば、標的装置の再接続の準備が
完了している場合にバスが空いていないときには、バス
が空き状態に再び戻るまで待たなければならない。この
バスが空き状態に戻るまでの待ち時間の間に、他の切り
離された装置はそれぞれの動作を完了し、すべての装置
が同時にSCSIバスへの再接続を要求する。
【0024】SCSIバス仕様は、バスの制御を要求す
るSCSIバス上の装置の優先順位に基づいてバス割当
が行われる用な状況を要求している。特に、各装置はそ
れに関連する一意のSCSIIDを持つ。SCSI I
D値が上記アービトレーション中により低い優先順位に
対して持っている優先順位が高ければ高いほど、SCS
I ID装置の数値は小さくなる。
【0025】バスの使用率が高い場合には、優先順位の
低い装置はいつも、優先順位の高い装置にバス割当を受
ける権利を奪われてしまい、バスに再接続してその各動
作を完了するまでに長い間待たなければならないことに
なる。異なる目的のために異なる性格のSCSI装置の
組み合わせを使用するSCSIバスの用途の場合には、
この優先順位に基づくバス割当で十分であるかもしれな
い。しかし、RAIDディスク・アレーのような多くの
SCSIバスの用途の場合には、この優先順位に基づく
方法では、全体のI/Oの性能が制限を受ける。
【0026】高性能RAID記憶サブシステムの場合に
は、複数のRAIDコントローラが複数のホストが発生
したI/O要求に対して、共通のSCSIバス上で同時
に動作を行う場合がある。特定のSCSIバス上の優先
順位の低い装置に動作をたまたま要求したRAIDコン
トローラは、他のRAIDコントローラが、同じSCS
Iバス上のより高い優先順位を持つSCSI装置に動作
を要求した場合には、待たなければならないことにな
る。優先順位に基くアービトレーションによるバス割当
の不公平さの問題は、その内部で複数のコントローラ
が、共通のSCSIバス上で14台までの装置を操作す
る、より高性能のRAIDサブシステムの場合には、特
に重要な問題となる。
【0027】表面に現れない性能の問題の程度は、異な
る優先順位を持つSCSI装置の平均再接続遅延を、
(例えば、統計的モデルによる優先順位を持たない)S
CSIアービトレーションが完全に公平になるように修
正された場合の平均遅延と比較することによって測定す
ることができる。
【0028】<統計的モデル>本発明の方法および装置
を説明する前に、この問題の性能分析に役に立つ統計的
モデルについて説明する。このモデルは、本発明の目的
および全体の技法の理解を助けるための補助資料であ
り、本発明の範囲を制限するためのものでないことを理
解されたい。
【0029】SCSIバス上の多重標的装置のアービト
レーションは、M/M/1/HOL(ライン・ヘッド)
キューとも呼ばれる、M/M/1先買権を持たない優先
順位としてモデル化することができる。(1975年の
IBMシステム・ジャーナルの2号)のシステム設計の
待ち行列理論の諸要素という表題のA.O.アレンの論
文に、この待ち行列についての詳細な説明が記載されて
いる。この論文から、SCSI装置のI/O動作の平均
再接続遅延に関する下記式を得ることができる。
【0030】DPRI=uTs/((1−Pu/ND)[1
−u(P−1)/ND]) 但し、uはバスが使用されていた時間の、パーセンテー
ジで表示したSCSIバス使用時間であり;Tsは一回
のI/O動作当たりの平均SCSIバス使用時間(バス
転送時間+バス・オーバーヘッド)であり;NDはバス
に接続している装置の数であり;Pは特定の装置の優先
順位である(P=1が最も高い優先順位)。M/M/1
HOL待ち行列に対しては、I/O動作は、指数的に分
配されたバス使用時間であり、それ故、バス・サービス
時間の平均および標準偏差は同じ、すなわち、Tsであ
ると仮定する。また、バス使用時間は、動作のI/Oの
サイズに指数的に比例するので、I/Oのサイズは、ほ
ぼ等しい平均および標準偏差とともにほぼ指数的に分配
されていると仮定する。
【0031】モデルをさらに簡単にするために、すべて
のI/O要求は、時間の経過に従って、一定の平均速度
で一台または数台のアレー・コントローラがランダムに
発生した読出し要求であると見なされる。バス上のコン
トローラは、何時でも上記モデルの装置より高い優先順
位を持っているので、いつでも任意の他の装置にI/O
動作要求を発行することができる。ディスク・ドライブ
は、任意の数の上記I/O要求を受け付け、I/O要求
がバス・アクセスおよび再選択用の装置内に待ち行列を
作ることができるように、無限のバッファ空間を持って
いると仮定する。
【0032】このモデルは、優先順位を持たない公平な
アービトレーションの下で予想される再接続遅延を表す
ように修正することができる。このような公平なモデル
の下での再接続遅延は、下記式で表される。
【0033】DFAIR=uTs/(1−u) 但し、uとTsは上記の通りである。
【0034】リットルの定理によれば、この式は、M/
M/1待ち行列の性質がFIFO(先入れ先出し)であ
っても、SIRO(ランダムな順序での選択)であって
も変化しない。再接続遅延時間の標準偏差だけが、使用
する待ち行列領域により異なるだけである。
【0035】上記仮定とディスク・アレー制御の実際と
の間には少しの違いはあるが、このモデルは、本発明の
方法および装置を説明する助けになる、正確で十分な理
解を与えてくれると信じる。すでに説明したように、上
記仮定は、本発明の方法の背後にある全体の技法および
測定を理解するためのひとつの可能なモデルを表すだけ
のものである。上記仮定は、本発明の方法および装置の
保護範囲を制限するものではない。
【0036】上記モデルを使用して、優先順位に基づく
アービトレーション・モデルおよび公平な(優先順位の
ない)アービトレーション・モデルの再接続遅延を計算
することができる。図Xおよび図Yは、バス利用率の関
数としての、SCSIバス上の各装置に対する遅延時間
のグラフである。図2は、7台の装置を持つSCSIバ
ス上の各装置の遅延時間を示し、一方、図3はSCSI
バス上の14台の各装置の遅延時間を示す。各図のX軸
は、バスの使用時間のパーセンテージで表したSCSI
バス使用時間である。各図のY軸は、数値1として平均
バス・サービス時間に対して正規化した、上記優先順位
に基づくアービトレーション・モデルにより計算した平
均再接続遅延時間の対数スケールである。すなわち、Y
軸上の数値1は、装置がI/O動作中情報を転送するの
にSCSIバスを使用する時間と同じ時間を、SCSI
バスの待ち時間に平均して使うことを意味する。同様
に、数値10は、装置が情報などを転送するのに使用す
る時間の10倍の時間を、SCSIバスの待ち時間に平
均して使うことを意味する。
【0037】図2および図3のグラフの各実線は、SC
SI仕様で指定する優先順位に基づくアービトレーショ
ン方法でのグラフ(すなわち、図2の1−7、図3の1
−14)上に表示する優先順位の数値を持つ、装置の平
均の正規化された再接続持続遅延(DPRI)を示す。各
グラフ上の一点鎖線は、完全に公平なアービトレーショ
ン法に対する各装置の再接続遅延(DFAIR)を示す。完
全に公平なアービトレーションの後者の場合、各装置は
同じ平均再接続遅延時間(DFAIR)を持つ。
【0038】これらのグラフは、最も高い優先順位を持
つ装置が、再接続の最大値の遅延時間が最も短く、他の
装置がその優先順位の順位が下がるに従って、遅延時間
が増大するだろうという直感を確認している。さらに、
これらの図は、SCSIの使用時間が長くなるにつれ
て、すべての装置の再接続遅延時間が長くなり、より低
い優先順位を持つ装置の遅延時間と比較すると、より高
い優先順位を持つ装置の遅延の増大が少ないことを確認
している。
【0039】両方のチャート(図2および図3の)の遅
延曲線は、ほとんど同じである。しかし、(14台の装
置を持つ)図3の遅延は、(7台の装置を持つ)図2の
遅延と反対であることに留意されたい。すなわち、14
台の装置からなるシステムの優先順位がより高い装置の
遅延は、7台の装置からなるシステムのより優先順位が
高い装置と比べると幾分短く、一方14台の装置からな
るシステムのより優先順位の低い装置の遅延は、7台の
装置からなるシステムのより優先順位の低い装置と比べ
ると少し長い。7台および14台の装置からなるシステ
ムの完全に公平なアービトレーションの平均遅延時間に
対応する図2および図3の一点鎖線はほぼ等しい。
【0040】図2および図3のグラフにより観察したも
う一つの結果は、(平均の一点鎖線曲線より遅延時間が
短い)平均より遅延が短い装置の数が、SCSIバス使
用率が長くなるにつれて増大するという事実である。こ
の現象は、図3の14台の装置からなるシステムで最も
ハッキリと観察することができる。(図3のX軸に沿っ
た)SCSIバス使用率が50%の時に、8番目に高い
優先順位を持つ装置が(平均再遅延時間一点鎖線曲線よ
り短い)「短い」遅延時間を示す。一方、6番目の優先
順位を持つ装置は、(平均遅延時間一点鎖線曲線より長
い)「長い」遅延時間を示す。しかし、図3のSCSI
バス使用率が70%の時に、曲線は、9番目の優先順位
を持つ装置が「短い遅延」結果を示し、一方最も優先順
位の低い5台の装置が「長い遅延」結果を示す。図3の
SCSIバス使用率が90%の時に、曲線にさらに劇的
な変化が起こり、10番目の優先順位を持つ装置が「短
い遅延」結果を示し、4番目の優先順位を持つ装置だけ
が「長い遅延」結果を示した。もちろん、理論的には、
最も優先順位の低い装置だけがSCSIバスの使用率が
100%の時に、次第に無限の遅延時間に近づいた。図
3の一点鎖線平均遅延時間曲線(DFAIRに対する完全に
公平なアービトレーション)は、14台すべての装置の
遅延時間の平均であるので、この曲線もSCSIバス使
用率100%のところで、遅延時間が無限になった。す
なわち、最も優先順位の低い装置の遅延曲線も、すべて
の装置の平均曲線も、SCSIバス使用時間100%の
ところで数学的に一致した。
【0041】通常の当業者なら、標準優先順位に基づく
アービトレーション計画の可変遅延時間を特殊な環境に
有利に適用することができることを理解することができ
るだろう。例えば、あるSCSIバスの用途の場合に
は、より大きなI/O要求をより小さいI/O要求から
分離し、より大きなI/O要求を優先順位の低い装置に
割り当てることができる。(その後、より長い転送時間
中SCSIバスを占有する)より大きなI/O要求のよ
り長いアービトレーション遅延時間を償却することによ
って、一つのI/O要求当たりの平均バス待ち時間を短
縮することができる。実際には、ホストに基づく記憶用
途に、I/O要求の上記の優先順位をつけることは不可
能ではないにせよ、困難である。
【0042】それ故、優先順位に基づくアービトレーシ
ョンは、SCSIバスの通常の記憶用途の場合にはそれ
特有の欠点を持つ。第一に、バス上のある装置または装
置のグループは、頻繁にSCSIバスが使用される状況
にある他の装置または装置のグループと比較すると、何
時でも性能が劣っている。第二に、RAIDレベル3ま
たはRAIDレベル5の複数のランクを持つディスク・
アレーの性能は、全装置の平均によってではなく、優先
順位の低い装置の性能により左右される。図2および図
3のところですでの述べたように、SCSIバスの使用
率が50%の場合に、優先順位のもっとも低い装置は、
ほぼ2倍の遅延時間を持ち、一方、SCSIバス使用時
間が70%の場合には、この係数は増大して3になる。
【0043】<公平なアービトレーションの現在の方法
>本発明は、(SCSIバス仕様の許容パラメータによ
る)SCSIバス上のアービトレーション時間を延長
し、アービトレーションを試みる延長時間の時間中にS
CSI装置をランダムに選択することができるようにす
ることによって、より公平なSCSIバス・アービトレ
ーションを提供する。特に、SCSI仕様は、バス空き
状態を検出した0.8マイクロ秒(すなわち、SCSI
バスの空きによる遅延)後の任意の時間に、装置がアー
ビトレーションを開始するよう要求する。SCSI規格
は、SCSIバスの制御をアービトレーションを行う装
置は、バス空き状態またはより高速なアービトレーショ
ン装置へのアービトレーションができなくなる危険を検
出してから、約1.8マイクロ秒より長くなってはなら
ないことを示唆している。標準SCSIアービトレーシ
ョンの場合には、最も優先順位の高い装置のバス使用割
当を受ける権利が何時でも保証されている。これがSC
SI仕様に規定されている実際の優先順位によるアービ
トレーションである。
【0044】本発明の方法は、バス使用割当を要求して
いる各装置が、バス空き状態を検出してからあるランダ
ムな時間的な遅延の増分(+最小BFDマイクロ秒)が
経過してから始動するようにする。アービトレーション
を必要とする各装置は、アービトレーションを開始する
前にその時間的な遅延を決定するために、予め定めた時
間スロットの一つをランダムに選択する。その後、この
装置はランダムに選択した時間スロットに従って、バス
空き状態を検出した後で、ある時間だけ遅延を生じる。
ランダムに選択した時間スロットでアービトレーション
を開始すると、それより前にランダムに選択した時間ス
ロットでのアービトレーションにより、すでにバスの制
御権を得ていた他の装置との間でアービトレーションを
行うことができるようになる。すなわち、同じ時間スロ
ットをランダムに選択する装置間でアービトレーション
が行われる。すでに時間スロットをランダムに選択して
いるすべての装置は、その後でランダムに時間スロット
を選択するすべての装置に優先してバス使用割当を獲得
する。反対に、アービトレーションを受けるために後で
時間スロットを選択する装置は、バス使用割当を受ける
資格を失い、前に時間スロットをランダムに選択したす
べての装置がその資格を得る。このようにして、本発明
のアービトレーション方法は、標準優先順位によるアー
ビトレーション方法より公平である。
【0045】図4のフローチャートは、本発明のアービ
トレーション方法を示す。第一の好適な実施形態の場合
には、SCSI装置の制御ソフトウェア/ファームウェ
ア内で、図4の方法を使用することができる。すでに説
明したように、通常のSCSI記憶装置は、起動装置
(例えば、RAIDコントローラ)からのI/O動作要
求を受信する標的装置として動作する。その後、標的装
置は、(例えば、記憶装置のアドレスされたブロックの
捜索のような)要求されたI/O動作の最初の部分を実
行している間に、SCSIバスから切り離される。標的
装置が切り離されている間に、他の標的装置に対するS
CSIバス動作を開始することができ、この他の標的装
置は、自らがその各I/O動作の実行の準備をしている
間に切り離すことができる。標的装置がI/O動作初期
化を十分に完了したとき、この標的装置はSCSIバス
上の起動装置に再接続しようとする。再接続するには、
SCSIバスはバス空き状態でなければならない。標的
装置が再接続することができる状態の時に、SCSIバ
スは空き状態になっていない場合もありうる。そのよう
な場合には、標的装置はバスが空き状態になるまで待た
なければならない。この待ち時間中に、他の標的装置は
その各I/O動作初期化処理を完了することができる。
それ故、次のバス空き状態になると、多数の装置がSC
SIバスに再接続する準備をすることができる。
【0046】それ故、ある装置がSCSIバスの制御を
入手するためにアービトレーションを行うことが必要で
あり、それによりI/O動作を完了するために再接続を
行うことを決定したとき、図4の方法を使用することが
できる。要素400は、最初、サブシステムに対する
(後で説明する)予め定めた確率マトリックスに従っ
て、(1...Mのようなインデックス数値により識別
された)M個の時間スロットの中の一つをランダムに選
択するために動作することができる。M個の時間スロッ
トのそれぞれは、次のバス空き状態を検出した後で、S
CSIバスに対するアービトレーションに先行する形
で、予め定めた時間的遅延に対応する。乱数発生法によ
る疑似ランダム選択技法は、通常の当業者にとっては周
知である。(後で説明する)確率マトリックスによる疑
似乱数選択に適用することができる加重技法も、また通
常の当業者にとっては周知である。数台の装置の間で、
時間スロットの時間スロット選択のランダムな分配をさ
らに改善するために、各装置を他の装置のランダムな選
択とは無関係に、ランダムに時間スロットを選択するた
めに初期化する必要がある。
【0047】その後、要素402は、動作することがで
きるようになり、SCSIバス上の次のバス空き状態の
検出を待つ。次のバス空き状態が検出されると、要素4
04が動作することができるようになり、選択した時間
スロットに関連する遅延値にタイムアウト値を初期化す
る。すでに説明したように、各時間スロットに関連する
時間的遅延Tsは、(要素404内にf(S)で示す)
疑似ランダムに選択したスロットの関数として決定する
ことができる。各スロットに関連する時間的遅延を決定
する現時点での最善の周知の方法は下記式で表される。
【0048】Ts=BFDμs+(S−1)Txμs 但し、BFDはSCSI指定最短バス空き遅延時間;T
xはスロット当たりの一定の増分遅延で、例えば、約1
マイクロ秒である。通常の当業者ならアービトレーショ
ンの際の最大遅延時間を短縮するために、Txを特定の
環境に合わせて調整することができることを理解できる
だろう。Txの数値は、(もっと短い遅延を持つ時間ス
ロットの)以前のアービトレーションを完了することが
できるように、十分長いものでなければならない。
【0049】その後、要素406および408は、反復
して動作することができ、予め定めたタイムアウト値を
遅延させる。一方、SCSIバスはバス空き状態を維持
する。タイムアウト遅延期間中に、SCSIバスがバス
使用状態(バス空き状態ではない)に戻った場合には、
要素406は要素406および408の反復動作を終了
する。バスが使用状態になると、他の装置がバス使用割
当権を獲得するが、この場合現在の装置は、バスの使用
について競合することはできない。その後、SCSIバ
ス上の次のバス空き状態を待ちながら、要素402にル
ープを通って戻ることにより、現在の装置で処理が続行
される。SCSIバスがバス空き状態にある間は、要素
408は次の動作可能状態に入り、要素404が決定し
た遅延時間が終了するまで待つ。タイムアウト期間が終
了するまで、要素408は動作を続けることができ、要
素406にループを通って戻ることにより処理を続行す
る。
【0050】ランダムに選択した時間スロットに関す
る、予め定めた時間的遅延期間が終了すると、要素41
0は、動作することができるようになり、標準SCSI
アービトレーションを実行する。同じ時間にスロットを
ランダムに選択したこれらの装置だけが、SCSIバス
に対するこのアービトレーションに参加する。もっと長
い遅延期間に関連する時間スロットを選択した他の装置
は、アービトレーションが完了するまでその動作を遅延
する。その後、上記の他の装置は、バス使用割当権を失
い(しかし、これらの装置は実際には現在のアービトレ
ーション・サイクル内で完了しない)、次のバス空き状
態で再びアービトレーションを試みる。
【0051】要素412は、現在の装置が要素410の
動作により実行されたアービトレーション・サイクル
を、獲得したかどうかを判断する。獲得した場合には、
この装置に対する処理が完了し、その装置は起動装置に
再接続してI/O動作を完了する。現在の装置がSCS
Iバス・アービトレーション・サイクルを獲得する権利
を失い、選択した同じ時間スロットで競合する他の装置
がそれを獲得した場合には、要素402にループを通っ
て処理が続行され、次のバス空き状態になるのを待つ。
【0052】上記のランダムなアービトレーションを獲
得した装置が、何時でも(SCSIID優先順位が指定
する)優先順位が最も高い装置であるとは限らない。上
記の装置が、アービトレーションのために最も短い遅延
期間をランダムに選択した装置の中の優先順位の最も高
い装置である場合だってある。本発明の方法を使用すれ
ば、バス上の各SCSI装置に、SCSIバスを公平に
分配することができる。その後、SCSIバス上のすべ
ての装置は、図2および図3のところで説明したよう
に、平均遅延時間DFAIRで同じように実行する。
【0053】各時間スロットに関連する増分Txは、か
なり短いものでなければならない。時間的増分は、各装
置が以前の時間スロットのアービトレーションによるバ
ス使用状態を検出することができるように、十分長いも
のでなければならないが、アービトレーション・サイク
ル中の遅延時間の最大の延長時間を短縮するために十分
短いものでなければならない。1マイクロ秒という増分
遅延値が、上記競合要件のバランスを取る上で現在知ら
れている最善の数値である。
【0054】さらに、SCSIバス・アービトレーショ
ン・サイクル中に、本発明の方法により課せられる最大
の追加の遅延時間をもっと短縮することが望ましい。指
定された時間スロットの最大数により、アービトレーシ
ョン遅延時間の延長が行われる最大時間的遅延増分が決
まる。
【0055】<スロット確率モデル>一定の数のSCS
I装置(N)および一定の数の時間的遅延スロット
(M)に対して、図4のところで説明した方法の疑似ラ
ンダム選択を修正するような、NxM確率のマトリック
スを作ることができる。例えば、下記の表は一般的な上
記確率マトリックスを示す。
【0056】
【表5】 表中、PJSは、SCSI優先順位Jを持つ装置がスロッ
トS中でアービトレーションを行う確率である。スロッ
ト数Mに対して、また各装置および各スロットに対する
確率PJSに対して適当な数値を選択することにより、図
4の要素400のところですでに説明した、疑似ランダ
ム選択を修正するため使用することができる表を作成す
ることができる。より詳細に説明すると、上記の要素4
00の疑似ランダム選択作業は、ゼロでない確率値を持
つ特定の装置に対応する表の横列のこれらスロットの中
から選択することができる。より詳細に説明すると、要
素400の選択プロセスは、いくつかのスロットをラン
ダムに、しかしその確率値に比例するように各スロット
を選択する頻度で選択することである。装置の横列の各
縦列の確率の数値は、ゼロから1の間の任意の数を使用
することができ、特定の装置の横列の確率の合計は1で
なければならない。上記要素400により、このような
方法で確率表を使用し、この表の確率の数値に従ってラ
ンダム・プロセスを加重することにより、疑似ランダム
選択プロセスを修正する。
【0057】記憶サブシステムの性能を最適化するよう
に、上記マトリックスの特定の確率の数値を選択するこ
とは重要なことである。この選択は、各確率値がゼロか
ら1の範囲に含まれ、任意の横列の合計が1でなければ
ならないという制限に従うM個の未知数を含むN個の非
直線式のシステムの解を含む。各横列に均一に確率が分
布しているような極度に簡単な場合を解くと、各縦列の
確率を等しくする場合のような低い性能の結果がでてく
る。いくつかの統計的観察は、記憶サブシステムの全体
の性能を改善するための好適な(しかし、必ずしも最適
ではない)数値を決定するための発見的解法の基礎とな
る。
【0058】確率マトリックスを目的に合わせて最適化
する前に、SCSIバスの制御を獲得するために必要と
されているアービトレーションの確率を分析することは
有益である。この確率は、アービトレーションを必要と
する装置の数、待ち行列の項目の数および待ち行列から
現在使用中の項目の数を考慮に入れて決定しなければな
らない。アービトレーション・プロセスが公平である場
合には、すでに説明したように、M/M/1待ち行列理
論からの下記式を、アービトレーションを要求している
k個の装置の確率の決定に使用することができる。但
し、uはバス使用率であり、NQは待ち行列の項目の数
であり、Nは待ち行列中および現在使用されている項目
の全数である。
【0059】 P(N=k)=(1−u)uk (但し、k>=0) P(N>=k)=uk (但し、k>=0) P(NQ=0)=P(N=0)+P(N=1)=1−u2 P(NQ=k)=P(N=k+1)=(1−u)uk+1 (但し、k>=1) P(NQ>=k)=P(N>=k+1)=uk+1 (但し、k>=1) この記憶環境に適用した場合、丁度バス空き状態になっ
た時の(SCSIバス上の一つまたはそれ以上の標的装
置を持つ)アービトレーションが起こる確率は、それぞ
れの起動装置への再接続を待っている待ち行列の一つま
たはそれ以上のI/O動作が存在する確率と等しい。上
記式を使用して、確率PAを下記式で表すことができ
る。
【0060】PA=P(NQ>=1)=u2 SCSIバス空き状態に移行する際に、(SCSIバス
に対して競合を起こさないで)一つの装置がアービトレ
ーションを要求する確率は、さらに上記確率に、待ち行
列のすべての要求が一つの装置に向けられる確率を掛け
たものの関数となる。すべての装置に対するI/O要求
がランダムに分布していると仮定した場合、この追加確
率係数は、装置の数の標準関数である。バスPA1をアー
ビトレーションしている単一の装置の確率は、下記式に
より表すことができる。
【0061】 PA1=P(NQ=1)+ P(NQ=2)P(同じ装置に対する二つの要求)+ P(NQ=3)P(同じ装置に対する三つの要求)+... =(1−u)u2+(1−u)u3(1/ND)+(1−u)u4(1/ND2+.. . =(1−u)u2(1+(u/ND)+(u/ND2+...) この級数を代数により簡単にすると、下記式が得られ
る。
【0062】PA1=((1−u)u2)/(1−u/ND) SCSIバス(PAM)に対して競合している二つまたは
それ以上の装置がアービトレーションを要求する確率
は、単に任意の数の装置(PA)に関する確率から、正
確に一つの装置(PA1)または特に下記式により表すこ
とができるものへのアービトレーションの確率を差し引
いたものである。
【0063】PAM=PA−PA1 それ故、正確に二つの装置(PA2)に関するアービトレ
ーションの確率は、下記式により表すことができる。
【0064】 PA2=P(NQ=2)P(二つの装置に対する二つの要求)+ P(NQ=3)P(二つの装置に対する三つの要求)+ P(NQ=4)P(二つの装置に対する四つの要求)+... =(1-u)u3(1-1/ND)+(1-u)u4(3/ND)(1-1/ND)+(1-u)u57(1/ND)2(1-1/ND)+... この級数を代数により簡単にすると、下記式が得られ
る。
【0065】PA2=(1−u)u3(1−1/ND)(2/
(1−2u/ND)−1/(1−u/ND) さらに分析を行うと、他の数のアービトレーション装置
に対する類似の確率を決定することができる。図5は、
SCSIバス使用率の関数としての上記の確率をY軸上
に、7台の装置からなるサブシステムの確率をX軸上に
示す。図5の曲線500は、SCSIバス使用率(u)
の関数としてのアービトレーションを行う(PA)任意
の数の装置の確率である。曲線502は、バス(PA1
A2)上でアービトレーションを行っている一つまたは
それ以上の装置の確率のグラフであり、一方、曲線50
4は、バスに対する競合がない場合にアービトレーショ
ンを行っている(PA1)正確に一台の装置の確率のグラ
フである。図6の曲線600、602および604は、
それぞれ、図5の曲線500、502および504と同
じ情報を示すが、これら曲線はバス上の14台のSCS
I装置からなるサブシステムの場合のものである。
【0066】図5および図6のグラフを見れば分かるよ
うに、SCSIバス利用率約70%までは、大多数のア
ービトレーションはSCSIバスの制御のアービトレー
ションを行う一台または二台の装置を含む。最も実用的
なSCSIバス用途の場合には、他の性能基準に適合す
るために、使用率は設計値の70%よりかなり下に維持
されている。それ故、図5および図6のグラフは、すべ
ての1台の装置(一方向)および2台の装置(二方向)
のアービトレーションを公平にすることができる場合に
は、すべてのアービトレーションの大多数を公平にする
ことができ、それによりすでに説明したように、サブシ
ステム全体の性能を向上させることができる。もちろ
ん、一方向のアービトレーションは、定義により、公平
である。何故なら、バスに対する競合がないからであ
る。それ故、公平さを改善したい場合には、2方向のア
ービトレーションの公平さの改善に注意することが最も
得策である。
【0067】<完全な公平な2方向アービトレーション
の実現>完全な公平さを説明するためには、簡単な例の
ほうが分かりやすい。調整の最も簡単な例は、(それぞ
れの優先順位番号をJ=1,2で示す)SCSIバス上
に正確に二台の装置が存在している場合である。必要な
時間遅延スロットの数は、少なくともM=2である。
(M=1は、すべての装置が同時にアービトレーション
し、最も優先順位が高い装置が何時でもバス使用割当を
受ける標準SCSIバス・アーキテクチャである。) このような状況の場合には、より優先順位が低い装置
が、もっと短い時間遅延スロットS=1を選択し、優先
順位がもっと高い装置がもっと長い時間遅延スロットを
選んだ場合だけに、優先順位が最も低い装置(J=2)
が、もっと優先順位が高い装置(J=1)を抑えてバス
使用割当を獲得する。すなわち、装置二台と時間遅延ス
ロット二つを持つ優先順位マトリックスの場合には、
(P2W1で示す)装置1を抑えて、装置2がバス使用割
当を獲得する確率は、下記式により表すことができる。
【0068】P2w1=P2112 完全な公平さを達成するために、P2W1は1/2でなけ
ればならないと仮定した場合、その決定を行うにはいく
つかの方法がある。
【0069】P2112=1/2 簡単な解は、下記式により表すことができる。
【0070】P12=1,P21=1/2 この場合、確率マトリックスは下記のようになる。
【0071】
【表6】 この分析方法を3台の装置に適用した場合、すべてのア
ービトレーションの場合に2方向の完全な公平さを達成
するには、M=2時間遅延スロットでは不十分であるこ
とが分かった。より詳細に説明すると、このようなマト
リックスは、下記式により表される条件を必要とする。
【0072】P2w1=P3w1=P3w2=1/2、および P2112=P3112=P3122=1/2 この式は、下記式のように書き表すことができる。
【0073】P12=P22=1−P21、および P2112=P21(1−P21)=1/2 しかし、この最後の式を満足させることはできない。そ
の理由については、下記式を参照されたい。
【0074】 P(1−P)<=1/4(Pの任意の確率値に対して) それ故、三台の装置からなるSCSIサブシステムに対
して完全な二方向の公平さを達成するには、少なくとも
M=3時間遅延スロットを必要とすることが分かる。時
間遅延スロットが三つの場合には、完全な公平さを達成
するには下記式を満足させなければならない。
【0075】 P2w1=P21(P12+P13)+P2213=1/2、およ
び P3w1=P31(P12+P13)+P3213=1/2、およ
び P3w2=P31(P22+P23)+P3223=1/2 上記のように、この一組の連立方程式の場合には、多く
の解が可能である。しかし、上記解が示唆する一つの簡
単な解は下記の通りである。
【0076】
【表7】 さらに分析を進めれば、ND個の装置に対して完全な二
方向の公平な調整を達成するには、ND個の時間遅延ス
ロットが必要であること分かる。上記の二台および三台
の装置の例のところで説明したように、上記連立方程式
の一般的で簡単な解法の場合には、優先順位が一番高い
装置は、一番長い時間遅延スロットで1の確率でアービ
トレーションを行い、一方他のそれぞれの装置は、同じ
スロットで1/2の確率でアービトレーションを行い、
すべての他の装置からの一意の一つの他の時間遅延スロ
ットは1/2の確率でアービトレーションを行わなけれ
ばならない。
【0077】ND個の装置に対して完全な二方向の構成
の場合は、アービトレーションを達成するためにこの方
法を使用するといくつかの問題が起こってくる。先ず第
一に、ND時間遅延スロットに対する要件は、標準SC
SI(優先順位による)アービトレーション方法と比較
すると、調整プロセスにND−1の余分な時間遅延が生
じることである。これらの余分な時間遅延スロットは、
SCSIバス上の遊び時間の増大により、サブシステム
の全体の性能にかなりの悪影響を与える恐れがある。例
えば、時間遅延増分がTx=1マイクロ秒である場合に
は、7台の装置からなる10MB/秒SCSIバスの場
合には、余分な6マイクロ秒は、そうでない場合にはS
CSIバス上に転送されていたかもしれない60バイト
の情報に対応する。同様に、14台からなる高速/広域
SCSIバス上においては、余分なオーバーヘッドが1
3マイクロ秒になり、これはSCSIバス上を転送され
なかった260バイトの情報に対応する。大きなI/O
要求の場合、全転送スループットについて償却した場合
には、この追加のオーバーヘッドは無視することができ
る。しかし、もっと小さなI/O要求の場合には、アー
ビトレーションに対する追加のオーバーヘッド/遊び時
間は、全体の性能にかなりのマイナスの影響を与える場
合がある。
【0078】上記の完全な2方向アービトレーションに
関する第二の問題は、より高次のアービトレーション
(例えば、3方向および4方向アービトレーション)に
対する高い優先順位および低い優先順位の装置の確率の
間に生じるスキューに関するものである。一般的にいっ
て、N方向のアービトレーションの場合(N>2)に
は、最も優先順位が低い装置のアービトレーションは、
1/2の確率で獲得されるが、二台の最も優先順位の高
い装置は、(1/2)N-1の確率でアービトレーション
を獲得する。このような高次のアービトレーションの起
こる頻度は低く、確率は標準SCSI優先順位によるア
ービトレーションより公平であるが、このようなスキュ
ーは望ましいものではない。
【0079】<最適化したほぼ完全な二方向アービトレ
ーション>完全な二方向の公平さに関する上記問題は、
完全な二方向の公平さの性能の利得のあるものを犠牲に
する一方で、7台および14台の装置からなるサブシス
テムで必要な時間遅延スロットの数を減らすことによ
り、本発明の方法および装置により解決することができ
る。時間遅延スロットの数を減らせば、高次のアービト
レーションに関する上記スキュー問題も軽減する。
【0080】経験的なデータは、装置の数(ND)より
時間遅延スロットの数(M)が少ないアービトレーショ
ンの場合の、ほぼ完全な二方向の公平さに対する、最も
性能のよいアービトレーション・スロット選択確率を実
現するための下記のガイドラインを示唆している。
【0081】1.スロットの数がMの場合には、P1M
1とし、スロットMの他のすべての装置の確率を1/2
に等しいとすること。すなわち、J=2..NDの場合
には、P1M=1、およびPJM=1/2とすること。
【0082】2.確率マトリックスへのすべての他のゼ
ロでない入力が、1/2の数値を持つようにすること。
(すなわち、各装置2..NDは、スロットMおよび他
の一つのスロットから選択すること。)ゼロでない確率
値を、スロットS=1..(M−1)の間で、できるだ
けバランスをとるようにすること。スロット数S全体
を、装置優先順位数Jが1からNDまで増大する間に増
大させないこと。
【0083】上記ガイドラインに従って作ったスロット
選択確率マトリックスは、完全な二方向のアービトレー
ションに比較すると、高次のアービトレーションに対す
るスキューを軽減する一方で、最大のパーセンテージの
公平な二方向アービトレーションを行うという見地から
見た場合最適なものである。
【0084】上記ガイドラインに従って作成した下記の
スロット選択確率マトリックスは、それぞれ4および5
のスロットを持つほぼ完全な二方向アービトレーション
を行う。
【0085】
【表8】 上記の7台の装置、4スロット・マトリックスは、21
まで可能な18の公平な二方向アービトレーションを考
慮に入れている。二方向アービトレーションの中の三つ
だけに、(1/4対3/4確率のシナリオを特に持つ公
平さより少ない)バイアスが掛けられている。追加アー
ビトレーション遅延は、追加された三つの時間遅延スロ
ットによるものであり、7台の装置からなるサブシステ
ムの場合には、3マイクロ秒、または失敗したデータ転
送時間の30バイト分にしか過ぎない。
【0086】
【表9】 上記14台の装置、5スロット・マトリックスは、91
まで可能な76の公平な二方向アービトレーションを考
慮に入れている。二方向アービトレーションの中の15
だけに、(1/4対3/4確率のシナリオを特に持つ公
平さより少ない)バイアスが掛けられている。追加アー
ビトレーション遅延は、追加された四つの時間遅延スロ
ットによるものであり、14台装置からなるサブシステ
ムの場合には、4マイクロ秒、または失敗したデータ転
送時間の80バイト分にしか過ぎない。
【0087】通常の当業者なら、時間遅延スロットの数
を装置の数(ND)より少なくする一方で、ほぼ完全な
二方向アービトレーションを行うために、スロット選択
確率マトリックスを作成する類似の解法を容易に思いつ
くだろう。
【0088】本発明を、図面および上記明細書により詳
細に図示し、説明してきたが、これらの図や説明は例示
としてのものに過ぎず、本発明を制限するものではな
い。好適な実施形態とそれを少し変化したものだけを図
示し、説明してきたが、すべての変更および修正は本発
明の精神に含まれるものであり保護されることを理解さ
れたい。
【図面の簡単な説明】
【図1】本発明の種々の方法および装置を有利に使用す
ることができる通常のバスの用途のブロック図である。
【図2】七台の装置用のバス構成の平均SCSI装置再
接続遅延および平均(公平)遅延時間を示すグラフであ
る。
【図3】14台の装置用のバス構成の平均SCSI装置
再接続遅延および平均(公平)遅延時間を示すグラフで
ある。
【図4】SCSIバス・アービトレーションに関連する
再接続遅延に、改善された公平さを提供する本発明の方
法を示すフローチャートである。
【図5】バス使用率の関数として、7台の装置からなる
システムで起こるバス・アービトレーションの確率を示
すグラフである。
【図6】バス利用の関数として、14台の装置からなる
システムで起こるバス・アービトレーションの確率を示
すグラフである。

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 SCSIバスと接続している、少なくと
    も一つのSCSI装置を含むシステムにおいて、 a)SCSI装置が、上記SCSIバスの制御を要求し
    ていることを判断するステップと、 b)複数の各時間スロットが、アービトレーションが開
    始する前に遅延時間に関連している場合に、複数の時間
    スロットの中から、一つの時間スロットを疑似ランダム
    に選択するステップと、 c)上記SCSIバス上のバス空き状態を待つステップ
    と、 d)選択された時間スロットに関連する遅延時間が終了
    するまで、上記SCSI装置により、アービトレーショ
    ンを遅らせるステップと、 e)上記SCSI装置のために上記SCSIバスに対し
    てアービトレーションを行うステップとを含むSCSI
    バス・アービトレーションを実行するための方法。
  2. 【請求項2】 上記遅延ステップd)中に、バス使用状
    態が検出された場合、それに従ってステップc)および
    d)を反復して行うステップをさらに含む請求項1に記
    載の方法。
  3. 【請求項3】 アービトレーション・ステップe)中に
    上記のSCSIバスの入手に失敗した場合、それに従っ
    てステップb)からe)を反復して行うステップをさら
    に含む請求項1に記載の方法。
  4. 【請求項4】 ステップb)が、上記選択されたスロッ
    トに関連するスロット・インデックスの関数として、選
    択したスロットに関連する遅延時間を決定するステップ
    を含む請求項1に記載の方法。
  5. 【請求項5】 上記機能が、上記スロット・インデック
    スに比例して時間遅延増分を決定するステップと、 上記選択されたスロットに関連する上記遅延時間を決定
    するために、要求された最も短い遅延時間に、上記時間
    遅延増分を加算するステップを含む請求項4に記載の方
    法。
  6. 【請求項6】 上記要求された最短の遅延時間が、SC
    SIバス空き遅延時間である場合に、上記時間遅延増分
    が: (S−1)マイクロ秒 (但し、Sが1からスロットの最大数までの上記スロッ
    ト・インデックスである)にほぼ等しいように決定され
    る請求項5に記載の方法。
  7. 【請求項7】 それに接続している複数のSCSI装置
    を含む、少なくとも一つのSCSIバスを持つ記憶サブ
    システムにおいて、 a)複数の各時間スロットが、アービトレーションが開
    始する前に遅延期間と関連する場合に、複数の上記時間
    スロットを指定するステップと、 b)上記複数の各時間スロットを使用するための確率
    を、上記装置に関連づけるステップと、 c)上記装置に関連する上記の確率に従って、上記装置
    に対して、上記複数の時間スロットの中から一つの時間
    スロットを、疑似ランダムに選択するステップと、 d)上記SCSIバス上のバス空き状態を待つステップ
    と、 e)選択された時間スロットに関連する遅延期間が終了
    するまで、上記SCSI装置により、アービトレーショ
    ンを遅らせるステップと、 f)上記SCSI装置のために、上記SCSIバスに対
    してアービトレーションを行うステップとを含む、上記
    装置のために上記SCSIバスのP制御をアービトレー
    ションするための上記複数のSCSI装置に関連して動
    作することができる方法。
  8. 【請求項8】 上記遅延ステップe)中に、バス使用状
    態が検出された場合、それに従ってステップd)および
    e)を反復して行うステップをさらに含む請求項7に記
    載の方法。
  9. 【請求項9】 アービトレーション・ステップf)中に
    上記のSCSIバスの入手に失敗した場合、それに従っ
    てステップc)からf)を反復して行うステップをさら
    に含む請求項7に記載の方法。
  10. 【請求項10】 ステップa)が、上記選択されたスロ
    ットに関連するスロット・インデックスの関数として、
    選択したスロットに関連する遅延周期を決定するステッ
    プを含む請求項7に記載の方法。
  11. 【請求項11】 上記機能が、上記スロット・インデッ
    クスに比例して時間遅延増分を決定するステップと、 上記選択されたスロットに関連する上記遅延周期を決定
    するために、要求された最も短い遅延時間に、上記時間
    遅延増分を加算するステップを含む請求項10に記載の
    方法。
  12. 【請求項12】 上記要求された最短の遅延時間が、S
    CSIバス空き遅延時間であり、上記時間遅延増分が: (S−1)マイクロ秒 (但し、Sが1からスロットの最大数までの上記スロッ
    ト・インデックスである)にほぼ等しいように決定され
    る請求項11に記載の方法。
  13. 【請求項13】 上記複数の時間スロットが、それぞれ
    が1からMまでの一意のスロット・インデックス値に関
    連するM個の時間スロットを含み、上記関連づけステッ
    プb)が、上記M個の時間スロットに対する数字による
    確率値の合計が1になるように、上記M個の各時間スロ
    ットに、ゼロから1までの数字による確率値を割り当て
    るステップを含む請求項7に記載の方法。
  14. 【請求項14】 上記複数のSCSI装置が、それぞれ
    それに関連するSCSI IDを持ち、それにより高い
    順位から低い順位の優先順位を決定し、 上記確率値割当てステップが、1という数字による確率
    値を、それに関連するMというスロット・インデックス
    値を持つ時間スロットに割当て、ゼロという数字による
    確率値を、上記装置がそれに関連する最も高い優先順位
    のSCSI IDを持つ場合に、それと関連する1から
    (M−1)のスロット・インデックス値を持つ上記の各
    時間スロットに割当てるステップと、 1/2という数字による確率値を、それに関連するMと
    いうスロット・インデックス値を持つ時間スロットに割
    当て、1/2から1という数字による確率値を、それに
    関連する1から(M−1)のスロット・インデックス値
    を持つ上記複数の時間スロットの一つに割当て、ゼロと
    いう数字による確率値を、上記装置がそれに関連する最
    も高い優先順位以外のSCSI IDを持つ場合に、そ
    れに関連する1から(M−1)のスロット・インデック
    ス値を持つ他のすべての上記時間スロットに割当てるス
    テップとを含む請求項13に記載の方法。
  15. 【請求項15】 上記複数のSCSI装置が最大7台の
    装置を持ち、上記M個の時間スロットが四つの時間スロ
    ットを含み、上記四つの時間スロットの一つの使用の上
    記確率が、下記表に従ってSCSI ID優先順位の関
    数として決定される請求項14に記載の方法。 【表1】
  16. 【請求項16】 上記複数のSCSI装置が最大14台
    の装置を持ち、上記M個の時間スロットが五つの時間ス
    ロットを含み、上記五つの時間スロットの一つの使用の
    上記確率が、下記表に従ってSCSI ID優先順位の
    関数として決定される請求項14に記載の方法。 【表2】
  17. 【請求項17】 接続装置のためにSCSIバス上でア
    ービトレーションを行うシステムであって、 上記装置のためにアービトレーションを行う必要がある
    ことを検出するための検出手段と、 上記検出手段に従って、複数の各時間スロットが、アー
    ビトレーションが開始する前の遅延周期と関連している
    場合に、複数の時間スロットの一つを、疑似ランダムに
    選択するための選択手段と、 上記SCSIバス上のバス空き状態を検出するための手
    段と、 上記の選択手段に従って、上記バス空き状態の検出後、
    選択した時間スロットに関連する遅延周期が終了するま
    で、上記SCSI装置によるアービトレーションを遅延
    させるための遅延手段と、 上記装置のために上記SCSIバスに対してアービトレ
    ーションを行うためのアービトレーション手段とを含む
    システム。
  18. 【請求項18】 上記遅延手段の動作中にバス使用状態
    を検出したとき、上記検出手段と上記遅延手段とを再ス
    タートするための手段をさらに含む請求項17に記載の
    システム。
  19. 【請求項19】 上記アービトレーション手段の動作に
    よる上記SCSIバスの獲得が失敗したとき、上記検出
    手段と上記遅延手段とを再スタートするための手段をさ
    らに含む請求項17に記載のシステム。
  20. 【請求項20】 上記選択手段が、上記選択したスロッ
    トに関連するスロット・インデックスの関数として、選
    択したスロットに関連する遅延周期を決定するための手
    段を含む請求項17に記載のシステム。
  21. 【請求項21】 遅延周期を決定するための上記手段
    が、 Ts=0.8+(S−1)マイクロ秒 (但し、Sが1からスロットの最大数の範囲内の上記ス
    ロット・インデックスであり、Tsが上記遅延周期であ
    る)という関数で動作することができる請求項20に記
    載のシステム。
  22. 【請求項22】 上記複数の時間スロットが、それぞれ
    が1からMまでの一意のスロット・インデックス値に関
    連するM個のスロットを含み、 さらに上記のM個の時間スロットすべてに対する数字に
    よる確率値の合計が1になるように、上記M個の各時間
    スロットのゼロから1の範囲内の数字による確率値を割
    当てるための手段を含む請求項17に記載のシステム。
  23. 【請求項23】 上記複数のSCSI装置が、それぞれ
    それに関連するSCSI IDを持ち、それにより高い
    順位から低い順位の優先順位を決定し、 上記の数字による確率値を割当てるための手段が、1と
    いう数字による確率値を、それに関連するMというスロ
    ット・インデックス値を持つ時間スロットに割当て、ゼ
    ロという数字による確率値を、上記の装置がそれに関連
    する最も高い優先順位のSCSI IDを持つ場合に、
    それと関連する1から(M−1)のスロット・インデッ
    クス値を持つ上記の各時間スロットに割当てるための手
    段と、 1/2という数字による確率値を、それに関連するMと
    いうスロット・インデックス値を持つ時間スロットに割
    当て、1/2から1という数字による確率値を、それに
    関連する1から(M−1)のスロット・インデックス値
    を持つ上記複数の時間スロットの一つに割当て、ゼロと
    いう数字による確率値を、上記装置がそれに関連する最
    も高い優先順位以外のSCSI IDを持つ場合に、そ
    れに関連する1から(M−1)のスロット・インデック
    ス値を持つ他のすべての上記時間スロットに割当てるた
    めの手段とを含む請求項22に記載のシステム。
  24. 【請求項24】 上記複数のSCSI装置が最大7台の
    装置を持ち、上記M個の時間スロットが四つの時間スロ
    ットを含み、上記四つの時間スロットの一つの使用の上
    記確率が、下記表に従ってSCSI ID優先順位の関
    数として決定される請求項23に記載の方法。 【表3】
  25. 【請求項25】 上記複数のSCSI装置が最大14台
    の装置を持ち、上記M個の時間スロットが五つの時間ス
    ロットを含み、上記四つの時間スロットの一つの使用の
    上記確率が、下記表に従ってSCSI ID優先順位の
    関数として決定される請求項23に記載の方法。 【表4】
JP9265383A 1996-09-30 1997-09-30 Scsiバス・アービトレーションを実行するための方法および装置 Pending JPH10207833A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US08/724,596 1996-09-30
US08/724,696 US5918237A (en) 1996-09-30 1996-09-30 System and method for providing multimedia bookmarks for hypertext markup language files

Publications (1)

Publication Number Publication Date
JPH10207833A true JPH10207833A (ja) 1998-08-07

Family

ID=24911497

Family Applications (2)

Application Number Title Priority Date Filing Date
JP9265542A Pending JPH10154162A (ja) 1996-09-30 1997-09-30 ハイパーテキストマークアップ言語(html)ファイルに対するマルチメディアブックマークを提供するためのシステムおよび方法
JP9265383A Pending JPH10207833A (ja) 1996-09-30 1997-09-30 Scsiバス・アービトレーションを実行するための方法および装置

Family Applications Before (1)

Application Number Title Priority Date Filing Date
JP9265542A Pending JPH10154162A (ja) 1996-09-30 1997-09-30 ハイパーテキストマークアップ言語(html)ファイルに対するマルチメディアブックマークを提供するためのシステムおよび方法

Country Status (4)

Country Link
US (1) US5918237A (ja)
EP (1) EP0833258A3 (ja)
JP (2) JPH10154162A (ja)
CA (1) CA2209541C (ja)

Families Citing this family (96)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6415319B1 (en) * 1997-02-07 2002-07-02 Sun Microsystems, Inc. Intelligent network browser using incremental conceptual indexer
HU222167B1 (hu) * 1997-02-13 2003-04-28 Siemens Aktiengesellschaft Eljárás lapkijelölő nyelven formázott lapadatkészlet generálására
JP3560758B2 (ja) * 1997-03-17 2004-09-02 シャープ株式会社 データ管理方法およびそれを用いたデータ管理装置
EP2278503A3 (en) 1997-04-30 2011-04-20 Sony Corporation Browser apparatus with address registering and browser system
US5995102A (en) * 1997-06-25 1999-11-30 Comet Systems, Inc. Server system and method for modifying a cursor image
US6411996B1 (en) * 1997-06-30 2002-06-25 Sun Microsystems, Inc. Method and apparatus maintaining a to-be-visited site bookmark file
US6526424B2 (en) * 1997-09-29 2003-02-25 Fujitsu Limited Browser image display bookmark system
US6253234B1 (en) 1997-10-17 2001-06-26 International Business Machines Corporation Shared web page caching at browsers for an intranet
US6324553B1 (en) 1997-11-26 2001-11-27 International Business Machines Corporation Apparatus and method for the manual selective blocking of images
US6356924B2 (en) * 1997-11-26 2002-03-12 International Business Machines Corporation Configurable disablement of display objects in a browser
US6317759B1 (en) * 1997-12-01 2001-11-13 Emc Corporation Method and apparatus for providing an applications development system for internet based applications
DE69831307T2 (de) * 1997-12-26 2006-03-09 Casio Computer Co., Ltd. System und Verfahren zur Netzzugriffsverwaltung
US6314439B1 (en) * 1998-02-06 2001-11-06 International Business Machines Corporation Computer system, program product and method of creating aliases and accessing storage locations in a computer system with same
US6412021B1 (en) * 1998-02-26 2002-06-25 Sun Microsystems, Inc. Method and apparatus for performing user notification
JPH11261627A (ja) * 1998-03-09 1999-09-24 Fujitsu Ltd 電子メール配信装置
US6219679B1 (en) * 1998-03-18 2001-04-17 Nortel Networks Limited Enhanced user-interactive information content bookmarking
US6212522B1 (en) * 1998-05-15 2001-04-03 International Business Machines Corporation Searching and conditionally serving bookmark sets based on keywords
US6209027B1 (en) * 1998-06-01 2001-03-27 International Business Machines Corporation Recirculating network address list with single button sequencer/selector
US6229532B1 (en) * 1998-06-11 2001-05-08 Sony Corporation Method and apparatus for building a uniform resource locator menu in an Internet television system
US6363404B1 (en) * 1998-06-26 2002-03-26 Microsoft Corporation Three-dimensional models with markup documents as texture
US6754697B1 (en) * 1998-06-30 2004-06-22 International Business Machines Corporation Method and apparatus for browsing and storing data in a distributed data processing system
US7149985B1 (en) * 1998-08-25 2006-12-12 Thomson Licensing System and method for navigating within a display having different display sections
US6356898B2 (en) * 1998-08-31 2002-03-12 International Business Machines Corporation Method and system for summarizing topics of documents browsed by a user
US6377983B1 (en) 1998-08-31 2002-04-23 International Business Machines Corporation Method and system for converting expertise based on document usage
US6184886B1 (en) * 1998-09-04 2001-02-06 International Business Machines Corporation Apparatus and method for staging bookmarks
US6751777B2 (en) * 1998-10-19 2004-06-15 International Business Machines Corporation Multi-target links for navigating between hypertext documents and the like
US6722054B2 (en) * 1998-11-12 2004-04-20 Atrix Laboratories, Inc. Process and delivery container for lyophilizing active agent
US6970867B1 (en) * 1998-11-12 2005-11-29 International Business Machines Corporation Bookmarking of web page frames in world wide web for accessing web pages within a frames implementation
US6480852B1 (en) * 1998-12-11 2002-11-12 International Business Machines Corporation Method and system for rating bookmarks in a web browser
US6993531B1 (en) * 1999-02-04 2006-01-31 Naas Aaron J System and method of routine navigation
US7792947B1 (en) 1999-04-26 2010-09-07 Mainstream Scientific, Llc Apparatus and method for dynamically coordinating the delivery of computer readable media
US6486891B1 (en) * 1999-06-03 2002-11-26 Ann M. Rice Automated bookmarking of online advertisements
US6806890B2 (en) * 1999-08-17 2004-10-19 International Business Machines Corporation Generating a graphical user interface from a command syntax for managing multiple computer systems as one computer system
US7987420B1 (en) 1999-09-10 2011-07-26 Ianywhere Solutions, Inc. System, method, and computer program product for a scalable, configurable, client/server, cross-platform browser for mobile devices
US6553412B1 (en) 1999-09-10 2003-04-22 Avantgo, Inc. System, method, and computer program product for web content aggregation and development, and web content delivery to clients
US20010047394A1 (en) * 1999-09-10 2001-11-29 Kloba David D. System, method, and computer program product for executing scripts on mobile devices
US7392308B2 (en) * 1999-09-10 2008-06-24 Ianywhere Solutions, Inc. System, method, and computer program product for placement of channels on a mobile device
US8595308B1 (en) 1999-09-10 2013-11-26 Ianywhere Solutions, Inc. System, method, and computer program product for server side processing in a mobile device environment
US20020052781A1 (en) * 1999-09-10 2002-05-02 Avantgo, Inc. Interactive advertisement mechanism on a mobile device
US8429005B2 (en) 1999-09-23 2013-04-23 Activ8Now, Llc Method for determining effectiveness of display of objects in advertising images
US7028032B1 (en) 1999-09-28 2006-04-11 International Business Machines Corporation Method of updating network information addresses
US7028264B2 (en) * 1999-10-29 2006-04-11 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US7987431B2 (en) 1999-10-29 2011-07-26 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6724403B1 (en) 1999-10-29 2004-04-20 Surfcast, Inc. System and method for simultaneous display of multiple information sources
EP1120716A3 (en) * 2000-01-20 2001-10-17 Lucent Technologies Inc. Sound structure for web navigation
WO2001067304A1 (en) * 2000-03-07 2001-09-13 Hotlens.Com Inc. Server-side web browsing and multiple lens system, method and apparatus
US7340464B2 (en) * 2000-03-10 2008-03-04 General Electric Company Method for automated web site maintenance via searching
WO2001071523A1 (en) * 2000-03-20 2001-09-27 Hotlens.Com Inc. Transparent user and session management for web applications
US7284232B1 (en) * 2000-05-15 2007-10-16 International Business Machines Corporation Automated generation of aliases based on embedded alias information
US7251775B1 (en) * 2000-06-30 2007-07-31 Nokia Corporation System and method for visual history presentation and management
WO2002008948A2 (en) * 2000-07-24 2002-01-31 Vivcom, Inc. System and method for indexing, searching, identifying, and editing portions of electronic multimedia files
US8291008B2 (en) 2000-07-31 2012-10-16 Sony Corporation Information image use system using information image
US7590681B1 (en) * 2000-08-07 2009-09-15 Trimble Navigation Limited Method and system for managing and delivering web content to internet appliances
US7167901B1 (en) * 2000-10-26 2007-01-23 International Business Machines Corporation Method and apparatus for improved bookmark and histories entry creation and access
US7100114B1 (en) * 2000-12-11 2006-08-29 International Business Machines Corporation System and process for creating bookmark web pages using web browser intermediaries
GB0104994D0 (en) * 2001-02-28 2001-04-18 Nokia Mobile Phones Ltd A communication terminal handling animations
US7219298B2 (en) * 2001-03-15 2007-05-15 International Business Machines Corporation Method, system, and program for verifying network addresses included in a file
US20060288212A1 (en) * 2001-03-20 2006-12-21 Gutenberg Printing Llc Transparent user and session management for web applications
US20020143817A1 (en) * 2001-03-29 2002-10-03 International Business Machines Corporation Presentation of salient features in a page to a visually impaired user
US7409441B2 (en) * 2001-05-18 2008-08-05 Sony Computer Entertainment Inc. Display apparatus for accessing desired web site
US7458017B2 (en) * 2001-06-26 2008-11-25 Microsoft Corporation Function-based object model for use in website adaptation
US8171430B1 (en) * 2001-07-24 2012-05-01 Adobe Systems Incorporated System and method for providing an image and image instructions responsive to a mouse cursor position
US7194691B1 (en) 2001-09-24 2007-03-20 Aloft Media, Llc Network browser window with adjacent identifier selector interface for storing web content
US8078545B1 (en) 2001-09-24 2011-12-13 Aloft Media, Llc System, method and computer program product for collecting strategic patent data associated with an identifier
JP2003205483A (ja) * 2001-11-07 2003-07-22 Sony Corp ロボットシステム及びロボット装置の制御方法
US20040205543A1 (en) * 2001-11-01 2004-10-14 International Business Machines Corporation Apparatus and method of bookmarking a section of a web page
KR20030059943A (ko) * 2002-01-04 2003-07-12 한국전자북 주식회사 오디오북 및 오디오북 작동 단말기
US8234574B2 (en) 2002-01-31 2012-07-31 International Business Machines Corporation Method and system for navigating through a repository of displays
US7085770B2 (en) * 2002-01-31 2006-08-01 International Business Machines Corporation Method and system for generating a file containing graphical displays from content stored on a computing network location
US8806060B2 (en) * 2002-03-12 2014-08-12 International Business Machines Corporation Information retrieval system
US20040205511A1 (en) * 2002-05-09 2004-10-14 International Business Machines Corporation Method and apparatus for extending browser bookmarks
US7065707B2 (en) * 2002-06-24 2006-06-20 Microsoft Corporation Segmenting and indexing web pages using function-based object models
US7203901B2 (en) 2002-11-27 2007-04-10 Microsoft Corporation Small form factor web browsing
CN100340967C (zh) * 2003-05-08 2007-10-03 松下电器产业株式会社 打印装置、方法和系统、打印指示装置和方法及提示装置
US7873353B2 (en) * 2003-09-30 2011-01-18 Ianywhere Solutions, Inc. Method and system for accessing applications and data, and for tracking of key indicators on mobile handheld devices
US8135803B2 (en) * 2004-08-23 2012-03-13 Ianywhere Solutions, Inc. Method, system, and computer program product for offline advertisement servicing and cycling
US20060064470A1 (en) * 2004-09-23 2006-03-23 Sargent Antony J Method, system, and computer program product for improved synchronization efficiency for mobile devices, including database hashing and caching of web access errors
US20070157072A1 (en) * 2005-12-29 2007-07-05 Sony Ericsson Mobile Communications Ab Portable content sharing
US20070174143A1 (en) * 2006-01-23 2007-07-26 Shrage Smilowitz XML based internet and browser system and method
US20070180055A1 (en) * 2006-01-23 2007-08-02 Shrage Smilowitz XML based Internet and browser system and method
US20070294265A1 (en) * 2006-06-06 2007-12-20 Anthony Scott Askew Identification of content downloaded from the internet and its source location
US20080168340A1 (en) * 2007-01-05 2008-07-10 International Business Machines Corporation Method of Efficiently Managing File Location Awareness for Client Applications
US8725719B2 (en) * 2007-02-13 2014-05-13 Microsoft Corporation Managing web page links using structured data
KR101513019B1 (ko) * 2008-10-27 2015-04-17 엘지전자 주식회사 휴대 단말기 및 그 동작방법
US8380866B2 (en) * 2009-03-20 2013-02-19 Ricoh Company, Ltd. Techniques for facilitating annotations
US8661361B2 (en) 2010-08-26 2014-02-25 Sitting Man, Llc Methods, systems, and computer program products for navigating between visual components
US8780130B2 (en) 2010-11-30 2014-07-15 Sitting Man, Llc Methods, systems, and computer program products for binding attributes between visual components
US9715332B1 (en) 2010-08-26 2017-07-25 Cypress Lake Software, Inc. Methods, systems, and computer program products for navigating between visual components
US10397639B1 (en) 2010-01-29 2019-08-27 Sitting Man, Llc Hot key systems and methods
US20110258216A1 (en) * 2010-04-20 2011-10-20 International Business Machines Corporation Usability enhancements for bookmarks of browsers
US9153217B2 (en) 2010-11-01 2015-10-06 James W. Wieder Simultaneously playing sound-segments to find and act-upon a composition
US8716584B1 (en) 2010-11-01 2014-05-06 James W. Wieder Using recognition-segments to find and play a composition containing sound
US9117426B2 (en) 2010-11-01 2015-08-25 James W. Wieder Using sound-segments in a multi-dimensional ordering to find and act-upon a composition
EP2521052A1 (en) * 2011-05-03 2012-11-07 HTC Corporation Handheld electronic device and method for calibrating input of webpage address
SG2012059135A (en) 2012-08-08 2014-03-28 Highend Pte Ltd Website with enhanced book memos
CN105242538B (zh) * 2015-10-12 2017-09-12 南京航空航天大学 基于图层的零件多加工工序mbd模型及实现方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5530852A (en) * 1994-12-20 1996-06-25 Sun Microsystems, Inc. Method for extracting profiles and topics from a first file written in a first markup language and generating files in different markup languages containing the profiles and topics for use in accessing data described by the profiles and topics

Also Published As

Publication number Publication date
US5918237A (en) 1999-06-29
EP0833258A3 (en) 2000-07-05
JPH10154162A (ja) 1998-06-09
EP0833258A2 (en) 1998-04-01
CA2209541C (en) 2001-10-09
CA2209541A1 (en) 1998-03-30

Similar Documents

Publication Publication Date Title
JPH10207833A (ja) Scsiバス・アービトレーションを実行するための方法および装置
US5996037A (en) System and method for arbitrating multi-function access to a system bus
US6473817B2 (en) Method and apparatus for efficient bus arbitration
US6073199A (en) History-based bus arbitration with hidden re-arbitration during wait cycles
US9952786B1 (en) I/O scheduling and load balancing across the multiple nodes of a clustered environment
US5784569A (en) Guaranteed bandwidth allocation method in a computer system for input/output data transfers
US7530068B2 (en) Method of resource allocation using an access control mechanism
US7032046B2 (en) Resource management device for managing access from bus masters to shared resources
US6145040A (en) Method and system for apportioning computer bus bandwidth
US6467002B1 (en) Single cycle modified round-robin arbitration with embedded priority
US8095700B2 (en) Controller and method for statistical allocation of multichannel direct memory access bandwidth
US6178475B1 (en) Multimedia system employing timers to properly allocate bus access
US20080172503A1 (en) System and method for dynamically assigning I/O priority
US20060155904A1 (en) Resource management device
WO1999063446A1 (en) Apparatus and method for computer host system and adaptor interrupt reduction including clustered command completion
US6311257B1 (en) Method and system for allocating memory for a command queue
CN106856663B (zh) 半导体装置
JPH09258907A (ja) 複数の記憶ディスク部を有した高可用性の外部記憶装置
US20040193767A1 (en) Method and apparatus for bus access allocation
US6715006B1 (en) Disk time-sharing apparatus and method
US6016527A (en) Method and apparatus for improving fairness in SCSI bus arbitration
US7080174B1 (en) System and method for managing input/output requests using a fairness throttle
US6804736B2 (en) Bus access arbitration based on workload
US6430640B1 (en) Self-arbitrating, self-granting resource access
US11709626B2 (en) Scheduling storage system tasks to promote low latency and sustainability