JP2001069155A - 被ログイン装置、ログイン装置、及びそれらを備える装置間通信システム、ログイン制御方法、並びに記録媒体 - Google Patents

被ログイン装置、ログイン装置、及びそれらを備える装置間通信システム、ログイン制御方法、並びに記録媒体

Info

Publication number
JP2001069155A
JP2001069155A JP2000218587A JP2000218587A JP2001069155A JP 2001069155 A JP2001069155 A JP 2001069155A JP 2000218587 A JP2000218587 A JP 2000218587A JP 2000218587 A JP2000218587 A JP 2000218587A JP 2001069155 A JP2001069155 A JP 2001069155A
Authority
JP
Japan
Prior art keywords
login
request
initiator
log
logged
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
JP2000218587A
Other languages
English (en)
Inventor
Fumio Nagasaka
文夫 長坂
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2000218587A priority Critical patent/JP2001069155A/ja
Publication of JP2001069155A publication Critical patent/JP2001069155A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Information Transfer Systems (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 【課題】 ターゲットに対し最先にログイン要求を出し
たイニシエータが、最先にログインすることを概ね保証
することができるようにする。 【解決手段】 ターゲットT1のマネージメント・エー
ジェントME1は、イニシエータからログイン要求を受
けた場合、ログインされているイニシエータの数がログ
イン許容数に対しているか否かを判定する(ステップS
210,S212)。達していれば、待ち行列からその
イニシエータのGUIDの優先順位nを読み込み(ステ
ップS213)、時定数テーブルからその優先順位nに
対応した時定数を読み込む(ステップS214)。マネ
ージメント・エージェントME1は、「ログイン・エラ
ー」と読み込んだ時定数を含むステータス・パケット
を、上記イニシエータに送出する(ステップS21
6)。そのパケットを受け取ったイニシエータは、その
パケットから時定数を読み込んで、その時定数に応じた
タイミングで、再度ログイン要求をターゲットT1に送
出する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、複数のログイン装
置から所定の通信路を介して被ログイン装置にログイン
するための技術に関するものである。特に、装置間をI
EEE1394バスで接続されたシステムにおいて、装
置間の通信をSBP(Serial Bus Protcol)−2プロト
コルで行なう場合に用いて好適な技術に関するものであ
る。
【0002】
【従来の技術】IEEE1394は、IEEEによって
提唱されたデジタルデータをやり取りするためのシリア
ルバス規格であって、「IEEE STD.1394-1995 IEEE Stan
dard for a High Perforance serial Bus」として規定
されている。
【0003】一方、SBP−2プロトコル(以下、単に
SBP−2と略す)は、米国のANSI X3T10が
標準化を推進するプロトコルであって、IEEE139
4規格に準拠して設計されたトランスポート層のプロト
コルである。
【0004】さて、装置間をIEEE1394バスで接
続されたシステムにおいて、装置間の通信をSBP−2
で行なう場合、共有メモリを持つ装置をイニシエータ
(Initiator)と呼び、持たない方の装置をターゲット
(target)と呼ぶ。
【0005】ターゲットは、それぞれ、サービスを提供
する1つ以上のロジカル・ユニット(Logical Unit)を
備えている。イニシエータは、そのサービスを提供する
ロジカル・ユニットを利用するために、ターゲット内の
そのロジカル・ユニットにログイン(Login)して、そ
のロジカル・ユニットを利用する権利を獲得する必要が
ある。具体的には、イニシエータがターゲットのそのロ
ジカル・ユニットにログイン要求を出し、そのロジカル
・ユニットからログイン成立の応答を受けることによっ
て、行なわれる。
【0006】その後、イニシエータは、そのロジカル・
ユニットの利用が完了したら、ターゲット内のそのロジ
カル・ユニットからログアウト(Logout)して、そのロ
ジカル・ユニットを利用する権利を破棄する。具体的に
は、イニシエータが、そのロジカル・ユニットにログア
ウト要求を出し、そのロジカル・ユニットからログアウ
ト成功の応答を受けることによって、なされる。
【0007】ところで、ターゲットの備えるロジカル・
ユニットは、それぞれ、ロジカル・ユニット毎に、同時
にログインしていることを許すイニシエータの数(ログ
イン許容数)が、設計の段階で予め定めれている。従っ
て、ターゲットのロジカル・ユニットにおいて、既にロ
グインされているイニシエータの数が、そのロジカル・
ユニットのログイン許容数に達している場合には、その
ロジカル・ユニットは、その後、未だログインされてい
ない他のイニシエータからログイン要求を受けても、そ
のイニシエータに対してはログイン不成立の応答を行な
うことになる。
【0008】一方、そのイニシエータは、そのロジカル
・ユニットからログイン不成立の応答を受けると、それ
以降、ログイン成立の応答を受け取るまで、一定時間毎
に繰り返し、そのロジカル・ユニットにログイン要求を
出す。その後、そのロジカル・ユニットにログインされ
ているイニシエータのうち、何れかのイニシエータがロ
グアウトすると、そのロジカル・ユニットにログインさ
れているイニシエータの数はログイン許容数に満たなく
なるので、そのロジカル・ユニットは、繰り返しログイ
ン要求を出していた上記イニシエータから、次にログイ
ン要求を受けると、そのイニシエータに対しログイン成
立の応答を返す。これにより、繰り返しログイン要求を
出していた上記イニシエータはそのロジカル・ユニット
にログインして、そのロジカル・ユニットを利用する権
利を獲得することができる。
【0009】
【発明が解決しようとする課題】しかしながら、従来に
おいては、次のような問題があった。今、ターゲットの
或るロジカル・ユニットに対して、ログインされている
イニシエータの数がログイン許容数に達している場合
に、第1のイニシエータがログイン要求を出し、その
後、第2のイニシエータがそのロジカル・ユニットに対
してログイン要求を出し始めた場合を考えてみる。この
とき、第1のイニシエータと第2のイニシエータは、そ
れぞれ、異なるタイミングで一定時間毎に、そのロジカ
ル・ユニットに対してログイン要求を繰り返し出すこと
になる。その後、そのロジカル・ユニットに既にログイ
ンされているイニシエータの何れかがログアウトする
と、その後に来る、第1のイニシエータのログイン要求
を出すタイミングが、第2のイニシエータのログイン要
求を出すタイミングより早い場合には、先にログイン要
求を出し始めた第1のイニシエータがログインすること
になるため、何ら問題はない。しかし、第1のイニシエ
ータのログイン要求を出すタイミングが、第2のイニシ
エータのログイン要求を出すタイミングより遅い場合に
は、後からログイン要求を出し始めた第2のイニシエー
タが第1のイニシエータを追い越してログインしてしま
うという問題があった。
【0010】しかも、第2のイニシエータ以外にもログ
イン要求を出し始めるイニシエータが現れれば、第1の
イニシエータは、さらに、それらイニシエータによって
も追い越されて先にそのロジカル・ユニットにログイン
されてしまう可能性もあり、そのような場合に、ロジカ
ル・ユニットになかなかログインできず、そのロジカル
・ユニットを利用することができないという問題があっ
た。
【0011】従って、本発明の目的は、上記した従来技
術の問題点を解決し、ターゲットに対し最先にログイン
要求を出したイニシエータが、最先にログインすること
を概ね保証することができる技術を提供することにあ
る。
【0012】
【課題を解決するための手段およびその作用・効果】上
記した目的の少なくとも一部を達成するために、本発明
の被ログイン装置は、複数の特定装置から所定の通信路
を介してログインされ得る被ログイン装置であって、或
る特定装置からログイン要求を受けた場合に、既にログ
インしている前記特定装置の数が予め定められたログイ
ン許容数に達している際には、ログイン要求を受けた前
記特定装置に対して、ログイン不成立の応答をする応答
手段と、ログイン不成立の応答をする場合に、ログイン
要求を受けた前記特定装置に対して、該特定装置が再度
ログイン要求を出す場合の再要求タイミングを指示する
再要求タイミング指示手段と、を備えることを要旨とす
る。
【0013】このように、本発明の被ログイン装置にお
いては、或る特定装置からログイン要求を受けた場合
に、既にログインしている特定装置の数が予め定められ
たログイン許容数に達している際には、応答手段が、ロ
グイン要求を受けた特定装置に対して、ログイン不成立
の応答をする。そして、再要求タイミング指示手段が、
そのログイン不成立の応答をする特定装置に対して、そ
の特定装置が再度ログイン要求を出す場合の再要求タイ
ミングを指示する。
【0014】従って、本発明の被ログイン装置において
は、再要求タイミング指示手段が、特定装置に対して再
要求タイミングを指示することによって、ログイン要求
を受けている特定装置毎に、異なる再要求タイミングを
指示することができるため、最先にログイン要求を出し
た特定装置に対して、その特定装置が最先にログインし
得るような再要求タイミングを指示することも可能であ
る。従って、そのような再要求タイミングを指示した場
合には、最先にログイン要求を出した特定装置が、最先
にログインすることを概ね保証することができる。
【0015】なお、本明細書において、ログインとは、
例えば、被ログイン装置を利用する権利を獲得するため
の手続きを言う。
【0016】本発明の被ログイン装置において、前記再
要求タイミング指示手段は、ログイン要求を受けた前記
特定装置について、その優先順位を設定する優先順位設
定手段と、設定された前記優先順位に従って、前記特定
装置についての前記再要求タイミングを決定する再要求
タイミング決定手段と、を備えることが好ましい。
【0017】このように構成することによって、ログイ
ン要求を受けている特定装置に対し、それぞれ、その優
先順位に応じた再要求タイミングを指示することができ
るようになる。
【0018】本発明の被ログイン装置において、前記優
先順位設定手段は、最初のログイン要求を受けた順番
に、前記特定装置の優先順位を設定することが好まし
い。
【0019】このように優先順位を設定することによ
り、最先にログイン要求を出した特定装置が最も優先順
位が高くなるように設定されるため、この優先順位に応
じて再要求タイミングを決定する際に、その特定装置に
対して、最先にログインし得るような再要求タイミング
を決定することも可能となる。
【0020】本発明の被ログイン装置において、前記再
要求タイミング決定手段は、設定された前記優先順位の
高い特定装置ほど、前記再要求タイミングを短くするよ
うに決定することが好ましい。
【0021】このように再要求タイミングを決定するこ
とにより、優先順位の高い特定装置ほど、指示する再要
求タイミングは短くなる。従って、最も優先順位が高い
特定装置は、他の特定装置に比較して、再度ログイン要
求を行なう場合の再要求タイミングが最も短くなるた
め、単位時間当たりに出すログイン要求の数は最も多く
なる。よって、既にログインされている特定装置の何れ
かがログアウトした場合に、その後、最も優先順位が高
い特定装置が最先にログイン要求を出して最先にログイ
ンする可能性が、最も高くなる。
【0022】また、優先順位を最初のログイン要求を受
けた順番に設定した場合は、最も優先順位が高い特定装
置は、最先にログイン要求を出した特定装置となるの
で、最先にログイン要求を出した特定装置が最先にログ
インする可能性が、最も高くなる。
【0023】本発明の被ログイン装置において、前記再
要求タイミング指示手段は、前記再要求タイミングを、
再度ログイン要求を出すまでの時間間隔を表す時定数と
して指示するようにしても良い。
【0024】本発明の被ログイン装置において、前記特
定装置から互いに独立にログインされ得る1つ以上のロ
ジカル・ユニットを備え、前記応答手段は、或る特定装
置から或るロジカル・ユニットにログイン要求を受けた
場合に、既にそのロジカル・ユニットにログインしてい
る前記特定装置の数がそのロジカル・ユニットについて
予め定められたログイン許容数に達している際には、ロ
グイン要求を受けた前記特定装置に対して、そのロジカ
ル・ユニットについてのログイン不成立の応答をすると
共に、前記再要求タイミング指示手段は、そのロジカル
・ユニットについてのログイン不成立の応答をする場合
に、ログイン要求を受けた前記特定装置に対して、該特
定装置がそのロジカル・ユニットに再度ログイン要求を
出す場合の再要求タイミングを指示することが好まし
い。
【0025】このように、被ログイン装置が、独立にロ
グインされ得る1つ以上のロジカル・ユニットを備える
場合にも、特定装置に対して、ロジカル・ユニット毎に
再要求タイミングを指示することができる。
【0026】本発明のログイン装置は、或る特定装置に
所定の通信路を介してログインし得るログイン装置であ
って、前記特定装置に対してログイン要求を出した後
に、前記特定装置から、ログイン不成立の応答を受ける
と共に、再要求タイミングの指示を受けた場合に、指示
された該再要求タイミングで前記特定装置に対して再度
ログイン要求を出すログイン要求手段を備えることを要
旨とする。
【0027】このように、本発明のログイン装置におい
ては、ログイン要求手段が、特定装置から指示された再
要求タイミングで、特定装置に対して再度ログイン要求
を行なう。従って、ログイン装置が特定装置に最先にロ
グイン要求を出したログイン装置である場合に、特定装
置から、最先にログインし得るような再要求タイミング
が指示されれば、その指示された再要求タイミングでロ
グイン要求を出すことにより、最先にログインすること
が概ね保証され得る。
【0028】本発明の被ログイン装置において、複数の
前記特定装置は前記通信路を介してログイン要求を同時
に出せないよう調整されていることが好ましい。また、
本発明のログイン装置において、他の装置とは前記通信
路を介してログイン要求を同時に出せないよう調整され
ていることが好ましい。
【0029】これにより、一般的なネットワークで用い
られるキャリア検出やコリジョン検出といったリソース
の排他制御の方式を不要とすることができる。
【0030】本発明の被ログイン装置またはログイン装
置において、前記通信路はIEEE1394バスから成
ることが好ましい。
【0031】このように通信路をIEEE1394バス
によって構成することにより、高速通信を利用して、特
定装置との間でデータのやり取りを行なうことができ
る。
【0032】通信路がIEEE1394バスから成る本
発明の被ログイン装置またはログイン装置において、特
定装置と、SBP−2プロトコルで通信を行なうことが
好ましい。
【0033】SBP−2プロトコルは、IEEE139
4規格のバスシステムの利用を前提に設計されたプロト
コルであって、ハードディスク装置やCD−ROM装置
などに広く普及したトランスポート層のプロトコルであ
るため、商用パーソナルコンピュータのオペレーティン
グ・システムに、標準で実装される場合が多いからであ
る。
【0034】本発明の装置間通信システムは、上記した
本発明の被ログイン装置と本発明のログイン装置とを備
えることを要旨とする。
【0035】本発明の装置間通信システムによれば、被
ログイン装置に対し最先にログイン要求を出したログイ
ン装置が、最先にログインすることを概ね保証すること
ができる。
【0036】本発明のログイン制御方法は、複数のログ
イン装置から所定の通信路を介して、被ログイン装置の
備える1つ以上のロジカル・ユニットにログインするた
めのログイン制御方法であって、(a)前記被ログイン
装置が、或るログイン装置から或るロジカル・ユニット
に対するログイン要求を受けた場合において、既にその
ロジカル・ユニットにログインしている前記ログイン装
置の数が前記ロジカル・ユニットについて予め定められ
たログイン許容数に達している際には、前記被ログイン
装置が、ログイン要求を受けた前記ログイン装置に対し
て、前記ロジカル・ユニットについてのログイン不成立
の応答をする工程と、(b)前記被ログイン装置が、前
記ロジカル・ユニットについてのログイン不成立の応答
をする場合に、ログイン要求を受けた前記ログイン装置
に対して、該ログイン装置がそのロジカル・ユニットに
再度ログイン要求を出す場合の再要求タイミングを指示
する工程と、(c)前記ログイン装置が、前記被ログイ
ン装置から、前記ロジカル・ユニットについてのログイ
ン不成立の応答を受けると共に、再要求タイミングの指
示を受けた場合に、指示された該再要求タイミングで前
記被ログイン装置における前記ロジカル・ユニットに対
して再度ログイン要求を出す工程と、を備えることを要
旨とする。
【0037】本発明のログイン制御方法においては、被
ログイン装置が、ログイン要求を受けたログイン装置に
対して再要求タイミングを指示することによって、ログ
イン要求を受けているログイン装置毎に、異なる再要求
タイミングを指示することができるため、最先にログイ
ン要求を出したログイン装置に対して、そのログイン装
置が最先にログインし得るような再要求タイミングを指
示することも可能である。従って、そのような再要求タ
イミングを指示した場合には、最先にログイン要求を出
したログイン装置が、最先にログインすることを概ね保
証することができる。
【0038】本発明のログイン制御方法において、前記
工程(b)は、前記被ログイン装置が、ログイン要求を
受けた前記特定装置について、最初のログイン要求を受
けた順番に、その優先順位を設定し、設定した前記優先
順位の高いログイン装置ほど前記再要求タイミングを短
くするように、前記再要求タイミングを決定する工程を
含むことが好ましい。
【0039】このように再要求タイミングを決定するこ
とにより、最初のログイン要求を先に受けたログイン装
置ほど、優先順位が高くなり、指示する再要求タイミン
グは短くなる。従って、最先にログイン要求を出したロ
グイン装置は、他のログイン装置に比較して、再度ログ
イン要求を行なう場合の再要求タイミングが最も短くな
るため、単位時間当たりに出すログイン要求の回数は最
も多くなる。よって、既にログインされているログイン
装置の何れかがログアウトした場合に、その後、そのロ
グイン装置が最先にログイン要求を出して最先にログイ
ンする可能性が、最も高くなる。
【0040】本発明の記録媒体は、複数の特定装置から
所定の通信路を介してログインされ得るコンピュータに
被ログイン処理を行なわせるためのコンピュータプログ
ラムを記録したコンピュータ読み取り可能な記録媒体で
あって、(a)或る特定装置からログイン要求を受けた
場合に、既にログインしている前記特定装置の数が予め
定められたログイン許容数に達している際には、ログイ
ン要求を受けた前記特定装置に対して、ログイン不成立
の応答をする工程と、(b)ログイン不成立の応答をす
る場合に、ログイン要求を受けた前記特定装置に対し
て、該特定装置が再度ログイン要求を出す場合の再要求
タイミングを指示する工程と、を前記コンピュータに実
行させるためのコンピュータプログラムを記録したこと
を要旨とする。
【0041】本明細書において、コンピュータには、パ
ーソナルコンピュータや、モバイルコンピュータ、情報
処理端末装置や、ワークステーションなど、種々のコン
ピュータが含まれる他、実質的にコンピュータ機能を有
するプリンタや複写機やインターフェイス切り換え器な
どの各種周辺機器や、同じくコンピュータ機能を有する
オーディオセットやビデオセットなど各種家庭用機器や
業務用機器なども含まれる。但し、後述する[発明の実
施の形態]の欄においては、「コンピュータ」という語
を、パーソナルコンピュータに代表されるような狭義の
コンピュータという意味で用いる場合もある。
【0042】上記のようなコンピュータプログラムをコ
ンピュータによって実行させると、上記した本発明の被
ログイン装置における応答手段や再生要求タイミング指
示手段と同様な機能を実現することができるため、上記
した被ログイン装置と同様の効果を奏することが可能と
なる。
【0043】本発明の記録媒体において、前記工程
(b)は、ログイン要求を受けた前記特定装置につい
て、最初のログイン要求を受けた順番に、その優先順位
を設定し、設定した前記優先順位の高い特定装置ほど前
記再要求タイミングを短くするように、前記再要求タイ
ミングを決定する工程を含むことが好ましい。
【0044】このように構成することにより、最先にロ
グイン要求を出した特定装置は再要求タイミングが最も
短くなるため、単位時間当たりに出すログイン要求の回
数は最も多くなる。従って、既にログインされている特
定装置の何れかがログアウトした場合に、その後、その
特定装置が最先にログイン要求を出して、最先にログイ
ンする可能性が最も高くなる。
【0045】本発明の記録媒体は、或る特定装置に所定
の通信路を介してログインし得るコンピュータにログイ
ン処理を行なわせるためのコンピュータプログラムを記
録したコンピュータ読み取り可能な記録媒体であって、
前記特定装置に対してログイン要求を出した後に、前記
特定装置から、ログイン不成立の応答を受けると共に、
再要求タイミングの指示を受けた場合に、指示された該
再要求タイミングで前記特定装置に対して再度ログイン
要求を出す工程を前記コンピュータに実行させるための
コンピュータプログラムを記録したことを要旨とする。
【0046】このようなコンピュータプログラムをコン
ピュータによって実行させると、上記した本発明のログ
イン装置におけるログイン要求手段と同様な機能を実現
することができるため、上記したログイン装置と同様の
効果を奏することが可能となる。
【0047】なお、本発明は、被ログイン装置、ログイ
ン装置、装置間通信システム、ログイン制御方法、それ
ら装置を構築するためのコンピュータプログラム、その
コンピュータプログラムを記録した記録媒体、そのコン
ピュータプログラムを含み搬送波内に具現化されたデー
タ信号、等の種々の態様で実現することができる。
【0048】
【発明の実施の形態】以下、本発明の実施の形態を実施
例に基づいて説明するが、その前に、IEEE1394
バス及びSBP−2について、その概要を説明する。
【0049】(A)IEEE1394バス及びSBP−
2の概要 IEEE1394バスは、64ビットのアドレス空間を
持つプロセッサバスをシリアライズして同一信号線上に
のせたものであり、転送速度は現状では400MHzで
あるが、将来的には最高で3.2GHzを想定してい
る。即ち、IEEE1394バスは、コンピュータのマ
ザーボード上に見られるような通常のプロセッサバスと
基本的には変わらないが、巨大なメモリ空間を1本の信
号線によってサポートしていることになる。
【0050】また、IEEE1394バスはバスである
が、1つのプロセッサ専用として用いられるわけではな
く、複数のプロセッサをつなげることができる。これは
イメージとして、1つのバスの持っているメモリ空間を
複数のプロセッサに割り当てた場合に相当する。即ち、
複数のプロセッサが1つの信号経路を共有できるので、
結果としてネットワークに非常に似た状況が実現され
る。
【0051】このように、IEEE1394バスでは、
1つのバスに複数のコンピュータを接続することが可能
であるから、そのバスにさらに、例えばプリンタを接続
すれば、そのプリンタを複数のコンピュータで共有する
ことも可能になる。これはあたかも小規模なネットワー
クとして見ることができる。
【0052】しかしながら、一般的なネットワークとは
異なり、IEEE1394バスはプロセッサバスの設計
を踏襲しているので、基本的には、個々のプロセッサが
出す要求を衝突させずに管理することが可能である。こ
のメカニズムをバスアービトレーションという。即ち、
データ転送中のIEEE1394バス上では、このバス
アービトレーションによって、1つのノード(即ち、こ
の場合は1つのコンピュータ)だけがデータ転送を実行
することが保証されている。言い換えると、或るノード
がIEEE1394バスを占有してしまうと、他のノー
ドは同一サイクルタイム(125μms)内ではそのバ
スを使用することができないような制御が働く。このた
め、一般的なネットワークで用いられるキャリア検出や
コリジョン(パケットの衝突)検出といったリソースの
排他制御の方式は、IEEE1394バスでは不必要と
なっている。しかしながら、IEEE1394バスの場
合、このようなコリジョン検出を行なわないため、リソ
ースの競合は上位層プロトコルないし、応用プログラム
の責任で行なわなくてはならないという問題がある。
【0053】一方、SBP−2の設計上の特徴は、いわ
ゆるコネクションベースであることである。即ち、或る
SBP−2のターゲットに対して、これを利用したいホ
ストデバイスは、SBP−2のイニシエータとして設計
される必要がある。そして、イニシエータは、ターゲッ
トに対してログインを要求し、そのログインが成立した
場合のみ、ターゲットを利用する権利が獲得される(な
お、正確には、前述したように、イニシエータは、ター
ゲットの備えるロジカル・ユニット毎にログインするの
であるが、ここでは、説明を簡単にするために、単にタ
ーゲットにログインするものとして説明する。)。従っ
て、仮に、複数のイニシエータに対して、1つのターゲ
ットがあった場合でも、ログインの許されたイニシエー
タのみがそのターゲットを利用するようにすることによ
って、複数のイニシエータによって、そのターゲットを
共用することができる。
【0054】なお、SBP−2のそのものの仕様は、1
つのターゲットに対して複数のイニシエータによるログ
インを禁止してはいないので、ターゲットさえ、そのよ
うに設計することが可能であれば、同時に複数のイニシ
エータによるログインを許しても構わない。なお、同時
にログインしていることを許すイニシエータの数(即
ち、ログイン許容数)は、イニシエータを設計する段階
で、設計上の限界に応じて規定される。しかしながら、
或るターゲットのログイン許容数がN個である場合、そ
れを上回るM(>N)個のイニシエータが、そのターゲ
ットに対しログインを要求する場合が往々にしてある。
そのような場合、ターゲットは、N個のイニシエータま
ではログインを許すが、それ以降は、同時にログインし
ているイニシエータの数がN個を下回らない限り、即
ち、ログインしている何れかのイニシエータがログアウ
トしない限り、ログイン要求がいくつ来ても、すべて拒
絶する。
【0055】ところで、SBP−2において、イニシエ
ータとターゲットはIEEE1394バスで接続された
形になっている。前述したように、IEEE1394バ
スはバスであるので、ターゲットはイニシエータのメモ
リに対しリード/ライトすることできる。そこで、前述
したように、SBP−2では、共有メモリを有している
装置をイニシエータと呼び、共有メモリを有しない装置
をターゲットと呼んでいる。即ち、両方の装置が共有メ
モリを共に持つことは無駄であるので、一方の装置が共
有メモリを持つようにしている。従って、イニシエータ
は自己の有するメモリが共有メモリとなっているので、
ローカルアクセスでデータをリード/ライトすることで
きる。これに対して、ターゲットはイニシエータの有す
るメモリを共有メモリとして使用しているので、リモー
トアクセスでデータをリード/ライトする必要がある。
なお、装置に対するイニシエータ,ターゲットの役割付
けは、装置を設計する際の最初段階で行なわれる。通常
は、コンピュータなどのホストデバイスがイニシエータ
になって、プリンタやスキャナなどのデバイスがターゲ
ットになる場合が多い。この役割付けは固定的なもの
で、原則として途中で変わることはない。但し、設計に
よっては、1つの装置において、スイッチ等によりイニ
シエータ,ターゲットの役割付けの切り換えができるよ
うにしても構わない。
【0056】さて、前述したようにイニシエータがター
ゲットにログインすると、SBP−2では、次のように
してトランザクションを行なう。
【0057】まず、イニシエータが、自己の有する共有
メモリ上にORB(Operation Request Block)という
特別なデータ構造を設け、ここにターゲットに使っても
らいたいデータを置く。例えば、イニシエータがコンピ
ュータであり、ターゲットがプリンタである場合には、
イニシエータであるコンピュータが、ターゲットである
プリンタに印刷してもらいたい画像データを共有メモリ
空間のいずれかに置き、次にこのアドレスのポインタを
予め用意したORBの所定位置に格納する。このため、
イニシエータは、ターゲットの都合によらず、自己の達
成できる最大の速度で処理可能である。一方のターゲッ
トは、イニシエータの有する共有メモリ上に置かれたO
RBを順次取り込んで、その内容を消費するように動
く。即ち、ターゲットであるプリンタは、イニシエータ
である画像データを印刷することにより自己のメモリに
空きができ次第、次の画像データを消費するので、いつ
も休むことなく印刷を続けることができ、ターゲットも
最大の効率でジョブの処理ができる。
【0058】従来の一般的なネットワークでは、イニシ
エータがターゲットの状態をポーリングして、ターゲッ
トが要求を受け付けるレディ状態になったときに、イニ
シエータがコマンドを送るというようなプッシュスタイ
ルの制御を行なっていたが、SBP−2では、イニシエ
ータは、自己のメモリ空間にターゲットのための命令や
データを置いておき、ターゲットが自分の処理可能なタ
イミングでその命令やデータを取り込んで処理するとい
うプルスタイルの制御を行なう。これにより、SBP−
2では、全体のトランザクションの効率が高くなる。
【0059】(B)実施例の構成 以上のことを踏まえて、本発明の一実施例について図1
を用いて説明する。図1は本発明の一実施例としてのイ
ニシエータやターゲットを備えた装置間通信システムを
示すブロック図である。本システムでは、各装置間を図
1に示すようにIEEE1394バスB1で接続してお
り、また、装置間の通信をSBP−2プロトコルで行な
っている。従って、IEEE1394バスB1に接続さ
れた各装置は、共有メモリを有するイニシエータI0〜
I3と、共有メモリを有していないターゲットT1と、
に分かれている。なお、本実施例においては、イニシエ
ータI0〜I3はそれぞれコンピュータであり、ターゲ
ットT1はプリンタであるものとする。
【0060】各イニシエータI0〜I3は、それぞれ、
コントローラC0〜C3と、共有メモリSM0〜SM3
と、を備えている。
【0061】一方、ターゲットT1は、1つのロジカル
・ユニットLUN1を備えている。前述したように、イ
ニシエータは、ターゲットの備えるロジカル・ユニット
毎に、ログインすることが可能であるが、本実施例で
は、ターゲットT1の有するロジカル・ユニットは1つ
であるので、イニシエータI0〜I3は、ターゲットT
1に対し、このロジカル・ユニットLUN1のみにログ
インすることが可能となる。
【0062】また、前述したように、ターゲットの備え
るロジカル・ユニットは、それぞれ、ロジカル・ユニッ
ト毎に、同時にログインしていることを許すイニシエー
タの数(ログイン許容数)が、設計の段階で予め定めれ
ている。本実施例では、説明を簡単にするために、ター
ゲットT1の備えるロジカル・ユニットLUN1のログ
イン許容数は「1」としている。ロジカル・ユニットL
UN1は、イニシエータの何れか1つがログインする
と、それ以降、他のイニシエータからログイン要求を受
けても、拒否することになる。
【0063】また、ターゲットT1の備えるロジカル・
ユニットLUN1は、イニシエータからのログイン/ロ
グアウト要求を受け、それに対する応答を行なうマネー
ジメント・エージェントME1と、ログインされたイニ
シエータとの間でデータのやり取りを行なうフェッチ・
エージェントFE1と、を備えている。
【0064】図2は図1に示すイニシエータを構成する
コンピュータとターゲットを構成するプリンタのハード
ウェア構成の概要を示すブロック図である。
【0065】図2に示すように、ハードウェアの構成と
して、イニシエータを構成するコンピュータ100は、
その内部に、コンピュータプログラムに従って種々の処
理や制御を行なうためのCPU102と、上記コンピュ
ータプログラムを記憶したり、処理中に得られたデータ
などを一時的に記憶したりするためのメモリ104と、
CPU102と各種周辺装置やIEEE1394バスB
1との間でデータなどのやり取りを行なうためのI/O
部106と、各種データを格納するためのハードディス
ク装置108と、CD−ROMドライブ装置110と、
を備えている。また、その外部には、ユーザからの指示
などを入力するためのキーボード112やマウス114
と、データなどを表示するためのモニタ116と、を備
えている。
【0066】このうち、CPU102が、メモリ104
に格納された所望のコンピュータプログラムを読み出し
て実行することにより、図1に示したコントローラとし
て機能する。また、図1に示した共用メモリには、メモ
リ104の一部が割り当てられる。
【0067】一方、ターゲットを構成するプリンタ20
0は、その内部に、コンピュータプログラムに従って種
々の処理や制御を行なうためのCPU202と、上記コ
ンピュータプログラムを記憶したり、処理中に得られた
データなどを一時的に記憶したりするためのメモリ20
4と、CPU202と他の構成要素やIEEE1394
バスB1との間でデータなどのやり取りを行なうための
I/O部206と、CPU202からの指示に従って、
印刷用紙に画像等の印刷を行なうプリンタ機構部208
と、印刷データを一時的に格納するための入力バッファ
210と、を備える。
【0068】このうち、CPU202が、メモリ204
に格納された所望のコンピュータプログラムを読み出し
て実行することにより、図1に示したロジカル・ユニッ
トとして機能する。
【0069】本実施例では、コンピュータ100のメモ
リ104に格納されているコンピュータプログラムは、
記録媒体であるCD−ROM111に記録された形態で
提供され、CD−ROMドライブ装置110により読み
取られることによって、コンピュータ100内に取り込
まれる。取り込まれたコンピュータプログラムは、各々
のハードディスク装置108に転送され、その後、起動
時などにメモリ104に転送される。あるいは、読み取
られたコンピュータプログラムは、各々のハードディス
ク装置108を介さず、直接、メモリ104に転送する
ようにしても良い。
【0070】一方、プリンタ200の方は、メモリ20
4の一部がROMで構成されており、プリンタ用のコン
ピュータプログラムはそのROMに格納されている。従
って、このコンピュータプログラムはROMのチップに
記録された形態で提供される。また、このようなROM
を用いる代わりに、メモリ104の一部を書き換え可能
な不揮発性メモリで構成すると共に、プリンタ用のコン
ピュータプログラムをCD−ROM111に記録された
形態で提供し、そのコンピュータプログラムをコンピュ
ータ100のCD−ROMドライブ装置110によって
読み取って、図示せざるネットワーク等を介してプリン
タ200に転送し、上記の不揮発性メモリに書き込むよ
うにしても良い。
【0071】このように、本実施例では、コンピュータ
プログラムをコンピュータ読み取り可能に記録する「記
録媒体」としてCD−ROMやROMを利用することを
述べたが、その他にも、フレキシブルディスクや光磁気
ディスク、ICカード、ROMカートリッジ、パンチカ
ード、バーコードなどの符号が印刷された印刷物、コン
ピュータの内部記憶装置(RAMなどのメモリ)および
外部記憶装置等の、コンピュータが読取り可能な種々の
媒体を利用できる。
【0072】また、コンピュータプログラムは、このよ
うな記録媒体に記録された形態での提供の他、ネットワ
ークを介して、コンピュータプログラムを供給するプロ
グラムサーバ(図示せず)にアクセスし、プログラムサ
ーバからコンピュータ100やプリンタ200内に取り
込むようにしても良い。
【0073】また、上記コンピュータプログラムの一部
は、オペレーティングシステムプログラムによって構成
するようにしても良い。
【0074】(C)実施例の動作 それでは、本実施例の動作について、図3,図4及び図
5を参照しながら説明する。
【0075】図3は図1に示すイニシエータにおけるロ
グイン処理の処理手順を示すフローチャートであり、図
4は図1に示すターゲットにおけるログイン処理の処理
手順を示すフローチャートである。また、図5は図1に
示す各イニシエータとターゲットとの間の要求・応答の
受け渡しを示すタイミングチャートである。図5におい
て、縦軸はそれぞれ時間軸であり、左から順に、イニシ
エータI0,ターゲットT1,イニシエータI1,イニ
シエータI2,イニシエータI3における要求・応答の
受け渡しのタイミングを示している。
【0076】なお、各イニシエータI0〜I3,ターゲ
ットT1はそれぞれIEEE1394バスB1で接続さ
れているため、各イニシエータI0〜I3からターゲッ
トT1に対して要求を送出する場合、前述したバスアー
ビトレーションによって、1つのイニシエータが要求を
送出している間はIEEE1394バスB1はそのイニ
シエータに占有されるため、他のイニシエータから同時
に要求が送出されることはない。
【0077】図5に示すように、まず、イニシエータI
0がターゲットT1にログイン要求を出す場合、イニシ
エータI0のコントローラC0は、図3に示すように、
ターゲットT1に対しログイン・パケットを送出する
(ステップS102)。このログイン・パケットには、
ターゲットT1にログインを要求するためのログイン要
求と、イニシエータI0のGUIDと、が含まれてい
る。ここで、GUIDとは、グローバル・ユニーク・ア
イデンティフィケション(Global Unique Identificati
on)の略で、各イニシエータ,ターゲットに固有の識別
符号のことである。このGUIDは、イニシエータ,タ
ーゲットを構成する装置がそれぞれ製造される段階で、
世界中で唯一の識別符号として与えられる。本実施例で
は、イニシエータI0のGUIDは「I0」とし、同じ
く、イニシエータI1のGUIDは「I1」、イニシエ
ータI2のGUIDは「I2」、イニシエータI3のG
UIDは「I3」としている。従って、イニシエータI
0が送出したログイン・パケットに含まれるGUID
は、図5に示すように「I0」となる。
【0078】一方、ターゲットT1のマネージメント・
エージェントME1は、図4に示すように、ログイン・
パケットを受け取るまで待機している(ステップS20
4)。そして、マネージメント・エージェントME1
は、パケットを受け取ると、そのパケットにログイン要
求が含まれているかどうかを判定し、ログイン要求が含
まれていれば、そのパケットをログイン・パケットと判
断して、次のステップS206の処理に進む。
【0079】ステップS206では、マネージメント・
エージェントME1は、受け取ったログイン・パケット
に含まれるGUIDを読み込む。前述したように、イニ
シエータI0が送出したログイン・パケットを受け取っ
た場合は、読み込んだGUIDは「I0」であるので、
マネージメント・エージェントME1は、そのGUID
から、そのログイン・パケットはイニシエータI0から
送出されたものであると判断する。
【0080】ところで、マネージメント・エージェント
ME1は、ログイン要求を受けたイニシエータのGUI
Dを登録するための待ち行列を有している。図6はマネ
ージメント・エージェントME1の有する待ち行列の一
例を示す説明図である。図6において、(a)〜(h)
は図5に示すタイミングチャートの時系列に対応した順
番に並んでいる。
【0081】待ち行列に対するGUIDの登録は、イニ
シエータからの最初のログイン要求を受けた順に、図6
(a)に示す番地n=1〜7に行なわれる。従って、番
地n=1〜7は、それぞれ、最初のログイン要求を受け
た順位に対応し、本実施例では、これをイニシエータの
優先順位とする。また、番地n=0には、ロジカル・ユ
ニットLUN1にログインされているイニシエータのG
UIDが登録される。前述したように、ロジカル・ユニ
ットLUN1のログイン許容数は、予め「1」と定めら
れており、同時にログインされるイニシエータの数は1
つであるので、1つの番地n=0のみが、ログインされ
ているイニシエータのために割り当てられている。
【0082】そこで、マネージメント・エージェントM
E1は、ステップS206で読み込んだGUIDが、上
記した待ち行列に既に登録されているかどうかを判定す
る(ステップS208)。この場合、イニシエータI0
からのログイン要求は今回が初めてである(即ち、最初
のログイン要求である)ので、読み込んだGUIDであ
る「I0」は、図6(a)に示したように、未だ待ち行
列には登録されておらず、従って、ステップS218の
処理に進む。
【0083】ステップS218では、マネージメント・
エージェントME1は、読み込んだGUIDを待ち行列
の末尾に登録する。この場合、待ち行列の番地n=1〜
7には未だ何も登録されていないので、マネージメント
・エージェントME1は、読み込んだGUIDである
「I0」を、図6(b)に示すように待ち行列の番地n
=1に登録することになる。
【0084】次に、マネージメント・エージェントME
1は、ロジカル・ユニットLUN1にログインされてい
るイニシエータの数pを読み込む(ステップS21
0)。上記したように、イニシエータがログインされる
と、待ち行列の番地n=0には、必ず、そのイニシエー
タのGUIDが登録されるので、マネージメント・エー
ジェントME1は、その番地n=0をチェックし、既に
GUIDが登録されていれば、ログインされているイニ
シエータの数pとして「1」を読み込み、未だ登録され
ていなければ、pとして「0」を読み込む。なお、この
場合は、図6(b)に示すように、待ち行列の番地n=
0には未だGUIDが登録されていないので、pとして
「0」を読み込むことになる。
【0085】続いて、マネージメント・エージェントM
E1は、読み込んだイニシエータの数pが、予め定めら
れているロジカル・ユニットLUN1のログイン許容数
「1」と等しいか否かを判定する(ステップS21
2)。即ち、これにより、マネージメント・エージェン
トME1は、ロジカル・ユニットLUN1に既にログイ
ンされているイニシエータの数pが、そのロジカル・ユ
ニットLUN1のログイン許容数「1」に達しているか
どうかを判定する。
【0086】判定の結果、ログインされているイニシエ
ータの数pがログイン許容数「1」に達している場合に
は、もはやこれ以上、ロジカル・ユニットLUN1はイ
ニシエータをログインさせることができないので、ステ
ップS213以降の処理に移る。なお、ステップS21
3以降の処理については後述する。
【0087】一方、判定の結果、ログインされているイ
ニシエータの数pがログイン許容数「1」に達していな
い場合には、ロジカル・ユニットLUN1はそのログイ
ン要求のあったイニシエータをログインさせることがで
きるので、ステップS220以降の処理に移る。
【0088】即ち、マネージメント・エージェントME
1は、まず、ログイン要求を受けたイニシエータI0に
対して、ステータスをログイン成立を表す「ログイン・
サクセスフル」に設定したステータス・パケットを送出
して(ステップS220)、図5に示すようにログイン
が成立した旨の応答を行なう。
【0089】次に、マネージメント・エージェントME
1は、待ち行列に登録されているGUID全体を移動さ
せる(ステップS222)。具体的には、この場合、待
ち行列に登録されているGUIDは、図6(b)に示す
ように番地n=1に登録されているイニシエータI0の
GUIDだけであるので、このGUIDを、図6(c)
に示すようにログインされたこと示す番地n=0に移動
させる。
【0090】こうして、ステップS222の処理が終了
すると、マネージメント・エージェントME1は、再
び、次のログイン・パケットを受け取るまで待機してい
る(ステップS204)。
【0091】一方、イニシエータI0のコントローラC
0は、図3に示すように、ステップS102でログイン
・パケットを送出した後、ステータス・パケットを受け
取るまで待機している(ステップS104)。その後、
コントローラC0は、ターゲットT1からのステータス
・パケットを受け取ると、そのパケットに含まれるステ
ータスを読み込む(ステップS106)。
【0092】そして、コントローラC0は、読み込んだ
ステータスが、ログイン不成立を表す「ログイン・エラ
ー」であるかどうかを判定する(ステップS108)。
判定の結果、「ログイン・エラー」であった場合には、
ログイン不成立であったので、再度、ターゲットT1に
対してログイン要求を出すために、コントローラC0
は、ステップS110以降の処理を行なう。なお、この
ステップS110以降の処理については、後述する。
【0093】一方、判定の結果、ステータスが「ログイ
ン・エラー」でなく、「ログイン・サクセスフル」であ
った場合には、ログインが成立したので、コントローラ
C0は、図3に示す一連のログイン処理を終了する。
【0094】以上のようにして、イニシエータI0がタ
ーゲットT1のロジカル・ユニットLUN1にログイン
すると、それ以降、イニシエータI0におけるコントロ
ーラC0は、ターゲットT1におけるフェッチ・エージ
ェントFE1との間で、実際のデータなどのやり取りを
行なう。
【0095】こうして、イニシエータI0がターゲット
T1のロジカル・ユニットLUN1にログインした後
に、図5に示すように、次に、別のイニシエータI1が
ターゲットT1にログイン要求を出す場合、次のような
処理となる。
【0096】即ち、イニシエータI1のコントローラC
1が、まず、図3に示すように、ターゲットT1に対
し、ログイン要求とイニシエータI1のGUIDを含ん
だログイン・パケットを送出する(ステップS10
2)。この場合、ログイン・パケットに含まれるGUI
Dは、図5に示すように「I1」となる。
【0097】これに対し、マネージメント・エージェン
トME1は、図4に示すように、ログイン・パケットを
受け取ると、受け取ったログイン・パケットに含まれる
GUIDを読み込んで(ステップS206)、そのGU
IDである「I1」から、そのログイン・パケットはイ
ニシエータI1から送出されたものであると判断する。
【0098】次に、マネージメント・エージェントME
1は、読み込んだGUIDが待ち行列に既に登録されて
いるかどうかを判定する(ステップS208)。この場
合、イニシエータI1からのログイン要求は今回が初め
てであるので、読み込んだGUIDである「I1」は、
図6(c)に示したように、未だ待ち行列には登録され
ていない。従って、マネージメント・エージェントME
1は、読み込んだGUIDを待ち行列の末尾に登録する
(ステップS218)。この場合、待ち行列の番地n=
0にはイニシエータI0のGUIDである「I0」が登
録されているが、番地n=1〜7には未だ何も登録され
ていないので、マネージメント・エージェントME1
は、今回読み込んだGUIDである「I1」を、図6
(d)に示すように番地n=1に登録することになる。
【0099】次に、マネージメント・エージェントME
1は、ロジカル・ユニットLUN1にログインされてい
るイニシエータの数pを読み込む(ステップS21
0)。この場合は、図6(d)に示すように、待ち行列
の番地n=0には、既にイニシエータI0のGUIDが
登録されているので、pとして「1」を読み込むことに
なる。
【0100】次に、マネージメント・エージェントME
1は、読み込んだイニシエータの数pが、ログイン許容
数「1」と等しいか否かを判定する(ステップS21
2)。この場合、pは「1」であり、ログイン許容数
「1」と等しいので、マネージメント・エージェントM
E1は、ロジカル・ユニットLUN1に既にログインさ
れているイニシエータの数pが、ログイン許容数「1」
に達しており、もはやこれ以上、ロジカル・ユニットL
UN1はイニシエータをログインさせることができない
と判断して、ステップS213以降の処理に移る。
【0101】即ち、マネージメント・エージェントME
1は、上記した待ち行列から、対象となっているイニシ
エータのGUIDの優先順位nを読み込む(ステップS
213)。この場合、待ち行列の状態は図6(d)に示
すごとくであり、対象となっているイニシエータI1の
GUIDは番地n=1に登録されており、従って、その
優先順位nは「1」であるので、この「1」を読み込む
ことになる。
【0102】次に、マネージメント・エージェントME
1は、予め用意されている時定数テーブルから、ステッ
プS213で読み込んだ優先順位nに対応した時定数を
読み込む(ステップS214)。
【0103】ここで、時定数とは、ログイン要求を出し
たイニシエータが、ログイン不成立の場合に、再度、ロ
グイン要求を出すまでの時間を言う。本実施例では、こ
れから述べるように、ログインが不成立であった場合
に、ターゲットは、ログイン要求を出したイニシエータ
に対して、再度ログイン要求を出す場合の再要求タイミ
ングを指示する。このとき、その再生要求タイミングと
して、上記時定数を与える。
【0104】本実施例においては、ログイン要求を出し
ているイニシエータの優先順位(即ち、上記した待ち行
列における優先順位)nと、この時定数と、の間に所定
の関係を設けており、マネージメント・エージェントM
E1は、その関係を表す時定数テーブルを予め用意して
いる。図7はマネージメント・エージェントME1の有
する時定数テーブルの一例を示す説明図である。
【0105】そこで、ステップS214では、マネージ
メント・エージェントME1が、この時定数テーブルか
ら優先順位nに対応した時定数を読み込む。この場合、
ステップS213で読み込んだ優先順位nは「1」であ
るので、図7に示す時定数テーブルから、時定数とし
て、n=1に対応した「t1」を読み込むことになる。
【0106】続いて、マネージメント・エージェントM
E1は、ログイン要求を受けたイニシエータI1に対し
て、ステータスをログイン不成立を表す「ログイン・エ
ラー」に設定したステータス・パケットを送出して(ス
テップS216)、図5に示すように、ログインが不成
立であった旨の応答を行なう。このとき、マネージメン
ト・エージェントME1は、上記したステータスの他
に、図5に示すように、ステップS214で読み込んだ
時定数である「t1」もステータス・パケットに含めて
送出する。これにより、マネージメント・エージェント
ME1は、ログイン要求を受けたイニシエータI1に対
して、そのイニシエータI1が、再度、ログイン要求を
出す場合の再要求タイミングを指示することになる。
【0107】こうして、ステップS216の処理が終了
すると、マネージメント・エージェントME1は、再
び、次のログイン・パケットを受け取るまで待機してい
る(ステップS204)。
【0108】一方、イニシエータI1のコントローラC
1は、図3に示すように、ターゲットT1からのステー
タス・パケットを受け取ると、そのパケットに含まれる
ステータスを読み込み(ステップS106)、そのステ
ータスが、ログイン不成立を表す「ログイン・エラー」
であるかどうかを判定する(ステップS108)。この
場合、読み込んだステータスは「ログイン・エラー」で
あって、ログイン不成立であるので、コントローラC1
は、再度、ターゲットT1に対してログイン要求を出す
ために、ステップS110以降の処理を行なう。
【0109】即ち、コントローラC1は、まず、受け取
ったステータス・パケットに含まれる時定数を読み込み
(ステップS110)、次に、ステップS102におい
てターゲットT1に対してログイン・パケットを送出し
てからの時間として、読み込んだ時定数の示す時間が経
過したか否かを判定する(ステップS112)。この場
合、読み込んだ時定数は「t1」であるので、前回ログ
イン要求を出してから、時間t1経過したかどうかを判
定することになる。判定の結果、経過してなければ、経
過するまで待機するが、経過していれば、再びステップ
S102の処理に戻って、コントローラC1は、再度、
ターゲットT1に対してログイン・パケットを送出する
(ステップS102)。この結果、図5に示すように、
イニシエータI1からターゲットT1に対しては、1回
目のログイン要求を送出してから時間t1経過した後
に、2回目のログイン要求を送出することになる。この
ようにして、コントローラC1は、ターゲットT1から
時定数として指示された再要求タイミングに基づいて、
再度、ターゲットT1に対してログイン要求を出す。
【0110】一方、イニシエータI1が1回目のログイ
ン要求を出して2回目のログイン要求を出すまでの間
に、さらに別のイニシエータI2,I3がターゲットT
1にログイン要求を出す場合、それらの処理はイニシエ
ータI1の場合と同様な処理となる。
【0111】即ち、イニシエータI2のコントローラC
2とイニシエータI3のコントローラC3が、それぞ
れ、図5に示すようなタイミングで、ログイン要求と各
々のGUIDを含めて、ターゲットT1に対しログイン
・パケットを送出する(ステップS102)と、ターゲ
ットT1のマネージメント・エージェントME1は、図
5に示すようなタイミングで、各々のログイン・パケッ
トを受け取って(ステップS204)、それぞれに含ま
れるGUIDを読み込み(ステップS206)、待ち行
列に登録されているか否かを判定する(ステップS20
8)。この場合、イニシエータI2,I3からのログイ
ン要求は今回がそれぞれ初めてであるので、読み込んだ
GUIDは、何れも、図6(d)に示したように、未だ
待ち行列には登録されていない。従って、マネージメン
ト・エージェントME1は、読み込んだGUIDを待ち
行列の末尾に順次登録する(ステップS218)。具体
的には、図6(d)に示すように、待ち行列の番地n=
1には既にイニシエータI1のGUIDである「I1」
が登録されているので、イニシエータI2のログイン要
求を受けた時点では、読み込んだイニシエータI2のG
UIDである「I2」を、図6(e)に示すように番地
n=2に登録し、その後、イニシエータI3のログイン
要求を受けた時点では、読み込んだイニシエータI3の
GUIDである「I3」を、図6(f)に示すように番
地n=3に登録することになる。
【0112】続いて、上記したいずれの時点において
も、ロジカル・ユニットLUN1には既にイニシエータ
I0がログインされているので、マネージメント・エー
ジェントME1は、ログインされているイニシエータの
数pがログイン許容数「1」に達していると判断して
(ステップS210,S212)、待ち行列から、対象
となっているイニシエータのGUIDの優先順位nを読
み込む(ステップS213)。イニシエータI2のログ
イン要求を受けた時点では、待ち行列の状態は図6
(e)に示すごとくであり、イニシエータI2のGUI
Dは番地n=2に登録されており、その優先順位nとし
て「2」を読み込むことになる。また、イニシエータI
3のログイン要求を受けた時点では、図6(f)のごと
くであり、イニシエータI2のGUIDは番地n=3に
登録されており、その優先順位nとして「3」を読み込
むことになる。従って、ステップS214において、マ
ネージメント・エージェントME1が、図7に示す時定
数テーブルから、これら優先順位nに対応した時定数を
読み込むと、イニシエータI2については、時定数とし
て、n=2に対応した「t2」を読み込み、イニシエー
タI3については、n=3に対応した「t3」を読み込
むことになる。
【0113】本実施例においては、図7に示すように、
優先順位nに対応した時定数は、それぞれ、優先順位n
が高くなるほど短くなり、低くなるほど長くなってい
る。具体的には、優先順位n=1に対応した時定数「t
1」を基準にすると、n=2に対応した時定数「t2」
は「t1」の2倍となっており、n=3に対応した時定
数「t3」は「t1」の4倍となっており、n=4に対
応した時定数「t4」は「t1」の8倍となっている。
即ち、n=iに対応した時定数「ti」は「t1」の2
i倍になっている。但し、時定数が余りに長くなりすぎ
ても、効果が期待できないので、優先順位nが低いn=
7については、その時定数「t7」を、n=6に対応し
た時定数「t6」(即ち、「t1」の32倍)と等しく
している。
【0114】続いて、マネージメント・エージェントM
E1は、ログイン要求を受けたイニシエータI2,I3
に対して、図5に示すようなタイミングで、それぞれ、
「ログイン・エラー」と時定数とを含むステータス・パ
ケットを送出する(ステップS216)。すると、イニ
シエータI2のコントローラC2とイニシエータI3の
コントローラC3は、それぞれ、図5に示すようなタイ
ミングで、そのステータス・パケットを受け取って(ス
テップS104)、ステータスを読み込み(ステップS
106)、そのステータスが「ログイン・エラー」であ
るかどうかを判定する(ステップS108)。この場
合、ステータスは「ログイン・エラー」であるので、続
いて、コントローラC2,C3は、ステータス・パケッ
トから時定数を読み込む(ステップS110)。この場
合、コントローラC2の読み込む時定数は「t2」であ
り、コントローラC3の読み込む時定数は「t3」であ
るので、コントローラC2は、前回ログイン要求を出し
てから時間t2経過した後に、再度ターゲットT1に対
してログイン・パケットを送出し、コントローラC3
は、前回ログイン要求を出してから時間t3経過した後
に、再度ターゲットT1に対してログイン・パケットを
送出する(ステップS112,S102)。この結果、
図5に示すように、イニシエータI2からターゲットT
1に対しては、1回目のログイン要求を送出してから時
間t2経過した後に、2回目のログイン要求を送出する
ことになり、イニシエータI3からターゲットT1に対
しては、1回目のログイン要求を送出してから時間t3
経過した後に、2回目のログイン要求を送出することに
なる。
【0115】なお、以上のようにして、イニシエータI
1〜I3がそれぞれ2回目以降のログイン要求をターゲ
ットT1に対して出した場合、ターゲットT1のマネー
ジメント・エージェントME1は、何れの場合も、ログ
イン・パケットから読み込んだGUIDが既に待ち行列
に登録されているので、ステップS208の判定によ
り、ステップS218の処理を介することなく、ステッ
プS210の処理に進むことになる。
【0116】また、本実施例の場合、図5に示すよう
に、最後のイニシエータI3が1回目のログイン要求を
出した後、ログインしていたイニシエータI0がログア
ウトするまでの間は、イニシエータI1〜I3以外のイ
ニシエータがターゲットT1に対して新たにログイン要
求を出すことはないので、マネージメント・エージェン
トME1の備える待ち行列の状態は、図6(f)の状態
から変化はない。従って、待ち行列に登録されているイ
ニシエータI1〜I3のGUIDの優先順位にも変化は
ないので、イニシエータI1〜I3から2回目以降のロ
グイン要求を受けた場合にも、マネージメント・エージ
ェントME1は、ログイン要求を受けたイニシエータに
対して、前回送出した時定数と同様の時定数をステータ
ス・パケットに含めて送出する。従って、それを受けた
イニシエータI1〜I3は、それぞれ、図5に示すよう
に、前回と同様の時定数の表すタイミングで、再度のロ
グイン要求をターゲットT1に対して送出することにな
る。
【0117】以上のようにして、本実施例においては、
既にロジカル・ユニットLUN1にイニシエータI0が
ログインされている場合において、他のイニシエータI
1〜I3については、最初のログイン要求を先に出した
イニシエータほど、ログイン要求を出してから次のログ
イン要求を出すまでの時間(即ち、時定数)が短くなる
ため、単位時間当たりに出すログイン要求の数は多くな
る。具体的には、イニシエータI1,I2,I3の時定
数の比は、図7から明らかなように1:2:4であるの
で、単位時間当たりのログイン要求数の比は逆に4:
2:1となる。
【0118】そこで、ログインしているイニシエータI
0が任意のタイミングでログアウトすると、次に、ロジ
カル・ユニットLUN1にログインするのは、ログアウ
ト後に、最も早くログイン要求を出したイニシエータで
ある。従って、単位時間当たりに出すログイン要求の数
が多いイニシエータほど、上記のタイミングで(即ち、
ログアウト後、最も早く)ログイン要求を出す可能性は
高くなるので、次にロジカル・ユニットLUN1にログ
インする確率は、イニシエータI1が最も高くなる。従
って、本実施例によれば、最先にログイン要求を出した
イニシエータが、最先にログインすることを概ね保証す
ることができる。
【0119】さて、その後、イニシエータI0が、図5
に示すようなタイミングでターゲットT1にログアウト
要求を出す場合、次のような処理となる。
【0120】即ち、イニシエータI0におけるコントロ
ーラC0と、ターゲットT1におけるフェッチ・エージ
ェントFE1と、の間で行なわれていたデータのやり取
りが完了すると、コントローラC0は、ターゲットT1
に対してログアウト・パケットを送出する。このログア
ウト・パケットには、図5に示すように、ターゲットT
1にログアウトを要求するためのログアウト要求と、イ
ニシエータI0のGUIDと、が含まれている。
【0121】一方、ターゲットT1では、図8に示すよ
うなログアウト処理を行なう。図8は図1に示すターゲ
ットにおけるログアウト処理の処理手順を示すフローチ
ャートである。
【0122】即ち、ターゲットT1のマネージメント・
エージェントME1は、図8に示すように、ログアウト
・パケットを受け取るまで待機しており(ステップS3
02)、パケットを受け取ると、そのパケットにログア
ウト要求が含まれているかどうかを判定し、ログアウト
要求が含まれていれば、そのパケットをログアウト・パ
ケットと判断して、次のステップS304の処理に進
む。
【0123】ステップS304では、マネージメント・
エージェントME1は、受け取ったログアウト・パケッ
トに含まれるGUIDを読み込む。この場合、読み込ん
だGUIDは「I0」であるので、マネージメント・エ
ージェントME1は、そのGUIDから、そのログアウ
ト・パケットはイニシエータI0から送出されたもので
あると判断する。
【0124】続いて、マネージメント・エージェントM
E1は、待ち行列の番地n=0に登録されているGUI
D、即ち、ログインされているイニシエータのGUID
と、ステップS304で読み込んだGUIDと、を比較
して、同じGUIDであることを確認した上で、その登
録されているGUIDを待ち行列から削除する(ステッ
プS306)。即ち、この場合、待ち行列の状態は図6
(f)に示すごとくになっており、番地n=0には、ロ
グインされているイニシエータのGUIDとして、「I
0」が登録されている。一方、ステップS304で読み
込んだGUIDも「I0」であり、登録されているGU
IDと同じIDなので、マネージメント・エージェント
ME1は、図6(g)に示すように、番地n=0に登録
されている「I0」を削除する。
【0125】そして、マネージメント・エージェントM
E1は、ログアウト要求を受けたイニシエータI0に対
して、ステータスをログアウト成立を表す「ログアウト
・サクセスフル」に設定したステータス・パケットを送
出して(ステップS308)、図5に示すようにログア
ウトが成立した旨の応答を行なう。
【0126】こうして、ステップS308の処理が終了
すると、マネージメント・エージェントME1は、再
び、次のログアウト・パケットを受け取るまで待機して
いる(ステップS302)。
【0127】以上によって、ログインしていたイニシエ
ータI0は、ターゲットT1のロジカル・ユニットLU
N1からログアウトしたことになる。
【0128】さて、イニシエータI0がロジカル・ユニ
ットLUN1からログアウトした後に、図5に示すよう
なタイミングで、イニシエータI1がターゲットT1に
ログイン要求を出す場合、次のような処理となる。
【0129】この場合、イニシエータI1とターゲット
T1の処理は、イニシエータI0がターゲットT1のロ
ジカル・ユニットLUN1にログインしたときの処理と
ほぼ同様となる。但し、ターゲットT1におけるログイ
ン処理のうち、ステップS210以降の処理は以下のよ
うになる。
【0130】即ち、マネージメント・エージェントME
1は、ロジカル・ユニットLUN1にログインされてい
るイニシエータの数pを読み込む(ステップS21
0)。この場合、図6(g)に示すように、待ち行列の
番地n=0に登録されていたGUIDは、前述したとお
り削除されているので、pとして「0」を読み込むこと
になる。
【0131】次に、マネージメント・エージェントME
1は、読み込んだイニシエータの数pがログイン許容数
「1」と等しいか否かを判定する(ステップS212)
が、この場合、ログインされているイニシエータの数p
はログイン許容数「1」に達していないので、マネージ
メント・エージェントME1は、まず、ログイン要求を
受けたイニシエータI1に対して、ステータスをログイ
ン成立を表す「ログイン・サクセスフル」に設定したス
テータス・パケットを送出して(ステップS220)、
図5に示すようにログインが成立した旨の応答を行な
う。続いて、マネージメント・エージェントME1は、
待ち行列に登録されているGUID全体を移動させる
(ステップS222)。具体的には、この場合、図6
(g)に示すように、待ち行列の番地n=1にはイニシ
エータI1のGUIDが、番地n=2にはイニシエータ
I2のGUIDが、番地n=3にはイニシエータI3の
GUIDが、それぞれ登録されている。従って、まず、
番地n=1に登録されているイニシエータI1のGUI
Dを空いている番地n=0に移動させる。これにより、
ログイン要求を受けたイニシエータI1のGUIDは、
ログインされたこと示す番地n=0に移動することにな
る。次に、番地n=2,3にそれぞれ登録されているイ
ニシエータI2,I3のGUIDを、それぞれ、上位に
1つずつ移動させる。この結果、待ち行列の状態は図6
(h)に示すごとくになる。
【0132】以上のようにして、イニシエータI0がロ
グアウトした後に、最も早くログイン要求を出したイニ
シエータI1が、次に、ターゲットT1のロジカル・ユ
ニットLUN1にログインしたことになる。
【0133】続いて、イニシエータI1がログインした
後に、図5に示すようなタイミングで、イニシエータI
2,I3がそれぞれターゲットT1にログイン要求を出
した場合、次のような処理となる。
【0134】この場合、イニシエータI2,I3とター
ゲットT1の処理は、イニシエータI2,I3が前回タ
ーゲットT1に対してログイン要求を出したときの処理
とほぼ同様となるが、次の点が異なってくる。
【0135】即ち、ターゲットT1におけるログイン処
理のうち、ステップS213以降において、マネージメ
ント・エージェントME1は、まず、待ち行列から、対
象となっているイニシエータのGUIDの優先順位nを
読み込む(ステップS213)が、このとき、待ち行列
の状態は図6(h)に示すごとくになっている。従っ
て、イニシエータI2について優先順位nを読み込む場
合、イニシエータI2のGUIDは前回とは異なり、番
地n=1に登録されているので、その優先順位nとして
「1」を読み込むことになる。また、イニシエータI3
について優先順位nを読み込む場合も、イニシエータI
3のGUIDは前回と違って番地n=2に登録されてい
るので、その優先順位nとして「2」を読み込むことに
なる。従って、イニシエータI2,I3共に、優先順位
nがそれぞれ前回より1つずつ上がっている。
【0136】続いて、マネージメント・エージェントM
E1が、図7に示す時定数テーブルから、これら優先順
位nに対応した時定数を読み込む(ステップS214)
と、イニシエータI2については、時定数として、n=
1に対応した「t1」を読み込み、イニシエータI3に
ついては、n=2に対応した「t2」を読み込むことに
なる。従って、イニシエータI2についての時定数は、
前回「t2」であったのが、今回「t1」となり、イニ
シエータI3についての時定数は、前回「t3」であっ
たのが、今回「t2」となるため、何れの場合も、前回
より1/2短くなる。
【0137】その後、マネージメント・エージェントM
E1が、ログイン要求を受けたイニシエータI2,I3
に対して、図5に示すようなタイミングで、それぞれ、
「ログイン・エラー」と時定数を含んだステータス・パ
ケットを送出する(ステップS216)と、イニシエー
タI2のコントローラC2とイニシエータI3のコント
ローラC3は、それぞれ、そのステータス・パケットを
受け取って(ステップS104)、そのステータス・パ
ケットから時定数を読み込む(ステップS110)。こ
の場合、コントローラC2の読み込む時定数は「t1」
であり、コントローラC3の読み込む時定数は「t2」
であるので、コントローラC2は、前回ログイン要求を
出してから時間t1経過した後に、再度ターゲットT1
に対してログイン・パケットを送出し、コントローラC
3は、前回ログイン要求を出してから時間t2経過した
後に、再度ターゲットT1に対してログイン・パケット
を送出する(ステップS112,S102)。
【0138】この結果、イニシエータI1がログインさ
れた後は、イニシエータI2,I3がターゲットT1に
対してそれぞれログイン要求を出す場合、ログイン要求
を出してから次のログイン要求を出すまでの時間(即
ち、時定数)が、イニシエータI1がログインされる前
よりも、それぞれ、1/2短くなるため、単位時間当た
りに出すログイン要求の数は、それぞれ、2倍に増える
ことになる。従って、ログインしているイニシエータI
1が任意のタイミングでログアウトしても、次にログイ
ンするイニシエータは、早期にログイン要求を出してロ
グインすることができる。
【0139】しかしながら、このように、イニシエータ
I1がログインされる前よりも、イニシエータI2,I
3の時定数がそれぞれ短くなり、ログイン要求数がそれ
ぞれ多くなっても、イニシエータI2とI3との関係に
おいては、最初のログイン要求を先に出したイニシエー
タI2の方のが、イニシエータI3に比較して、時定数
が短く、単位時間当たりに出すログイン要求の数が多い
ことに変わりはない。従って、ログインしているイニシ
エータI1が任意のタイミングでログアウトした場合
に、その後、最も早くログイン要求を出す可能性がある
のは、単位時間当たりに出すログイン要求の数が多いイ
ニシエータI2であるので、次にロジカル・ユニットL
UN1にログインする確率は、イニシエータI2が最も
高くなる。
【0140】(D)補足 ところで、上記した説明においては、各イニシエータI
0〜I3からターゲットT1へはログイン・パケットや
ログアウト・パケットを送出し、ターゲットT1からイ
ニシエータI0〜I3へはステータス・パケットを送出
するとして説明したが、これらの動作について、さらに
詳細な説明を加える。
【0141】図1に示したとおり、各イニシエータI0
〜I3は、それぞれ、共有メモリSM0〜SM3を備え
ている。そこで、イニシエータI0〜I3がターゲット
T1に対してログイン・パケットやログアウト・パケッ
トを送出する場合は、まず、イニシエータI0〜I3
が、ターゲットT1に送出したいログイン・パケットや
ログアウト・パケットのデータを、図1に示すようなマ
ネージメントORBと呼ばれる特別なデータ構造とし
て、自己の有する共有メモリSM0〜SM3上に置く。
次に、イニシエータI0〜I3は、ターゲットT1のマ
ネージメント・エージェントME1に対して、IEEE
1394バスB1を介して、そのデータを置いた共有メ
モリ上の番地を示すポインタを送り出す。一方、ターゲ
ットT1のマネージメント・エージェントME1は、こ
のポインタを受け取ると、IEEE1394バスB1を
介して、ポインタを送り出したイニシエータの共有メモ
リにアクセスして、ポインタの示す番地に置かれている
マネージメントORBを取り込むことにより、ログイン
・パケットやログアウト・パケットのデータを受け取
る。こうして、イニシエータI0〜I3からターゲット
T1へログイン・パケットやログアウト・パケットが送
出される。
【0142】一方、その応答として、ターゲットT1が
イニシエータI0〜I3に対してステータス・パケット
を送出する場合は、次のようになる。即ち、イニシエー
タI0〜I3から受け取ったログイン・パケットやログ
アウト・パケットには、要求やGUIDの他に、イニシ
エータが応答を受け取るために用いる、共有メモリ上の
番地を示すポインタが含まれている。そこで、ターゲッ
トT1のマネージメント・エージェントME1は、ログ
イン・パケットやログアウト・パケットを受け取ると、
それに含まれている上記のポインタを読み取り、次に、
IEEE1394バスB1を介して、イニシエータの共
有メモリにアクセスして、読み取ったポインタの示すS
TATUS_FIFOに、ステータス・パケットのデー
タを書き込む。これによって、ターゲットT1からイニ
シエータI0〜I3へ、ステータス・パケットがリモー
トライトされる。
【0143】なお、イニシエータがターゲットT1のロ
ジカル・ユニットLUN1にログインした後に、イニシ
エータと、ターゲットT1のフェッチ・エージェントF
E1と、の間で行なわれるデータのやり取りも、上記と
同様の方法で行なわれる。但し、フェッチ・エージェン
トFE1との間でデータのやり取りを行なう場合、イニ
シエータが、自己の有する共有メモリ上に置くデータ
は、上記したマネージメントORBではなく、図1に示
すようなノーマルORBと呼ばれるデータ構造として置
くことになる。
【0144】さて、本実施例では、前述したとおり、イ
ニシエータI0がログインしている場合に、そのイニシ
エータI0が任意のタイミングでログアウトすると、そ
の後、最も早くログイン要求を出す可能性が高いのは、
単位時間当たりに出しているログイン要求の数が最も多
いイニシエータI1である。そのため、図5に示した例
では、イニシエータI0がログアウトした後に、イニシ
エータI1が最も早くターゲットT1にログイン要求を
出す場合について説明した。しかしながら、イニシエー
タI0がログアウトするタイミングによっては、イニシ
エータI1以外のイニシエータI2やI3が、イニシエ
ータI0がログアウトした後に、最も早くターゲットT
1にログイン要求を出す可能性がないわけではない。例
えば、イニシエータI1が前回ログイン要求を出してか
ら今回のログイン要求を出すまでの間に、イニシエータ
I2やI3がログイン要求を出す場合において、イニシ
エータI1が前回ログイン要求を出してからイニシエー
タI2やI3がログイン要求を出すまでの間に、イニシ
エータI0がログアウトしてしまうと、ログアウト後
に、イニシエータI2またはI3が最も早くターゲット
T1に対しログイン要求を出すことになる。
【0145】このような場合、ログアウト後に、最も早
くログイン要求を出したイニシエータI2またはI3
が、ターゲットT1のロジカル・ユニットLUN1にロ
グインすることになる。即ち、最初のログイン要求を先
に出したイニシエータI1は、後からログイン要求を出
したイニシエータI2またはI3に追い越されて、先に
ログインされてしまうことになる。
【0146】さて、このような場合において、ターゲッ
トT1におけるログイン処理のうち、ステップS222
の処理)即ち、マネージメント・エージェントME1が
待ち行列に登録されているGUID全体を移動させる処
理)は、次のようになる。今、イニシエータI0がログ
アウトした後に、イニシエータI2が最も早くターゲッ
トT1にログイン要求を出し、ログインする場合を例に
とる。
【0147】待ち行列の状態は図6(g)に示すごとく
になっており、待ち行列の番地n=1にはイニシエータ
I1のGUIDが、番地n=2にはイニシエータI2の
GUIDが、番地n=3にはイニシエータI3のGUI
Dが、それぞれ登録されている。そこで、マネージメン
ト・エージェントME1は、ログイン要求を受けたイニ
シエータI2のGUIDを、番地n=2から、ログイン
されたことを示す番地n=0に移動させる。そして、イ
ニシエータI3のGUIDを番地n=3から空席となっ
た番地n=2に移動させて、上位に1つ繰り上げる。な
お、イニシエータI1のGUIDは、そのままとする。
【0148】以上のような処理を行なった場合、最初の
ログイン要求を先に出したイニシエータI1は、後から
ログイン要求を出したイニシエータI2にログインは譲
るものの、待ち行列におけるイニシエータI1のGUI
Dの優先順位nに変更はないので、イニシエータI2が
ログインした後も、ログイン要求を出してから次のログ
イン要求を出すまでの時間(即ち、時定数)は前と変わ
らず最も短いままであり、単位時間当たりに出すログイ
ン要求の数も前と変わらず最も多いままである。そのた
め、ログインしたイニシエータI2が任意のタイミング
でログアウトした後に、最も早くログイン要求を出して
ログインする可能性が一番高いのは、イニシエータI1
であることに変わりはない。
【0149】しかしながら、以上のような処理を行なっ
た場合、次のような不都合を生じる可能性がある。即
ち、例えば、最初のログイン要求を先に出したイニシエ
ータI1が、繰り返し出すはずのログイン要求を、何ら
かの事情(例えば、イニシエータI1がIEEE139
4バスB1から外された場合など)によって出さなくな
ってしまった場合に、上記のような処理を行なうと、待
ち行列には、番地n=1(即ち、優先順位nが「1」)
に登録されているイニシエータI1のGUIDがそのま
ま残っているため、番地n=3から番地n=2に移動し
たイニシエータI3の優先順位nは「2」であり、イニ
シエータI1がターゲットT1に対しログイン要求を出
さなくなったにも関わらず、イニシエータ3についての
時定数としては、優先順位n=2に対応した「t2」が
用いられることになり、ターゲットT1に対してログイ
ン要求を出すタイミングが無意味に長くなってしまう。
【0150】そこで、これを改善するために、ステップ
S222の処理について、上記した処理に代えて、次の
ような処理を行なうようにしても良い。
【0151】待ち行列の状態が図6(g)に示すごとく
になっている場合に、マネージメント・エージェントM
E1が、ログイン要求を受けたイニシエータI2のGU
IDを、番地n=2から、ログインされたことを示す番
地n=0に移動させると共に、そのイニシエータI2の
GUIDよりも優先順位nが上位にあるイニシエータの
GUID(即ち、イニシエータI1のGUID)を待ち
行列から削除する。そして、イニシエータI2のGUI
Dよりも優先順位nが下位にあるイニシエータI3のG
UIDを、番地n=3から空席となった番地n=1に移
動させて、上位に2つ繰り上げる。このような処理を行
なうことによって、上記した不都合を改善することがで
きる。
【0152】また、他の方法としては、マネージメント
・エージェントME1が、各イニシエータから繰り返し
受けるログイン要求のタイミングをそれぞれ検知し、イ
ニシエータからのログイン要求が途絶えた場合に、所定
の時間待っても、再度ログイン要求が来ないときには、
そのイニシエータのGUIDを待ち行列から削除するよ
うにしても良い。
【0153】なお、本発明は上記した実施例や実施形態
に限られるものではなく、その要旨を逸脱しない範囲に
おいて種々の態様にて実施することが可能である。
【0154】上記した実施例においては、図1に示すよ
うに、IEEE1394バスB1に接続されているイニ
シエータは4つであり、ターゲットは1つであったが、
本発明はこれらの数に限定されるものではない。従っ
て、例えば、ターゲットが2つ以上あっても構わず、各
ターゲットにおいて上記したような処理が行なわれれば
良い。
【0155】また、上記した実施例においては、ターゲ
ットT1の備えるロジカル・ユニットは1つであった
が、2つ以上であっても良く、その場合には、各イニシ
エータは、各ロジカル・ユニット毎に、それぞれ、独立
にログインすることができる。また、ロジカル・ユニッ
トLUN1のログイン許容数は「1」としたが、2以上
としても良く、その場合には、図4に示したターゲット
のログイン処理のうち、ステップS212における判定
を、その数に対応させる必要がある。
【0156】また、上記した実施例においては、イニシ
エータはコンピュータ、ターゲットはプリンタとした
が、本発明はこれに何ら限定されるものではない。例え
ば、イニシエータをコンピュータ以外に、例えば、スキ
ャナやその他デバイスとしても良い。また、ターゲット
もプリンタ以外のデバイスとしても良い。或いは、ター
ゲットをいわゆるインターフェイス切り換え器とし、タ
ーゲットにIEEE1394バスから既存のインターフ
ェイスへの切り換えという役割だけを持たせ、その先に
スキャナやプリンタをつなげるようにしても良い。
【図面の簡単な説明】
【図1】本発明の一実施例としての装置間通信システム
を示すブロック図である。
【図2】図1に示すイニシエータを構成するコンピュー
タとターゲットを構成するプリンタのハードウェア構成
の概要を示すブロック図である。
【図3】図1に示すイニシエータにおけるログイン処理
の処理手順を示すフローチャートである。
【図4】図1に示すターゲットにおけるログイン処理の
処理手順を示すフローチャートである。
【図5】図1に示す各イニシエータとターゲットとの間
の要求・応答の受け渡しを示すタイミングチャートであ
る。
【図6】マネージメント・エージェントME1の有する
待ち行列の一例を示す説明図である。
【図7】マネージメント・エージェントME1の有する
時定数テーブルの一例を示す説明図である。
【図8】図1に示すターゲットにおけるログアウト処理
の処理手順を示すフローチャートである。
【符号の説明】 100…コンピュータ 102…CPU 104…メモリ 106…I/O部 108…ハードディスク装置 110…CD−ROMドライブ装置 111…CD−ROM 112…キーボード 114…マウス 116…モニタ 200…プリンタ 202…CPU 204…メモリ 206…I/O部 208…プリンタ機構部 210…入力バッファ B1…IEEE1394バス C0〜C3…コントローラ FE1…フェッチ・エージェント I0〜I3…イニシエータ ME1…マネージメント・エージェント SM0〜SM3…共有メモリ T1…ターゲット

Claims (19)

    【特許請求の範囲】
  1. 【請求項1】 複数の特定装置から所定の通信路を介し
    てログインされ得る被ログイン装置であって、 或る特定装置からログイン要求を受けた場合に、既にロ
    グインしている前記特定装置の数が予め定められたログ
    イン許容数に達している際には、ログイン要求を受けた
    前記特定装置に対して、ログイン不成立の応答をする応
    答手段と、 ログイン不成立の応答をする場合に、ログイン要求を受
    けた前記特定装置に対して、該特定装置が再度ログイン
    要求を出す場合の再要求タイミングを指示する再要求タ
    イミング指示手段と、 を備えることを特徴とする被ログイン装置。
  2. 【請求項2】 請求項1に記載の被ログイン装置におい
    て、 前記再要求タイミング指示手段は、 ログイン要求を受けた前記特定装置について、その優先
    順位を設定する優先順位設定手段と、 設定された前記優先順位に従って、前記特定装置につい
    ての前記再要求タイミングを決定する再要求タイミング
    決定手段と、 を備えることを特徴とする被ログイン装置。
  3. 【請求項3】 請求項2に記載の被ログイン装置におい
    て、 前記優先順位設定手段は、 最初のログイン要求を受けた順番に、前記特定装置の優
    先順位を設定することを特徴とする被ログイン装置。
  4. 【請求項4】 請求項2または請求項3に記載の被ログ
    イン装置において、 前記再要求タイミング決定手段は、設定された前記優先
    順位の高い特定装置ほど、前記再要求タイミングを短く
    するように決定することを特徴とする被ログイン装置。
  5. 【請求項5】 請求項1に記載の被ログイン装置におい
    て、 前記再要求タイミング指示手段は、前記再要求タイミン
    グを、再度ログイン要求を出すまでの時間間隔を表す時
    定数として指示することを特徴とする被ログイン装置。
  6. 【請求項6】 請求項1ないし請求項5のうちの任意の
    1つに記載の被ログイン装置において、 前記特定装置から互いに独立にログインされ得る1つ以
    上のロジカル・ユニットを備え、 前記応答手段は、或る特定装置から或るロジカル・ユニ
    ットにログイン要求を受けた場合に、既にそのロジカル
    ・ユニットにログインしている前記特定装置の数がその
    ロジカル・ユニットについて予め定められたログイン許
    容数に達している際には、ログイン要求を受けた前記特
    定装置に対して、そのロジカル・ユニットについてのロ
    グイン不成立の応答をすると共に、 前記再要求タイミング指示手段は、そのロジカル・ユニ
    ットについてのログイン不成立の応答をする場合に、ロ
    グイン要求を受けた前記特定装置に対して、該特定装置
    がそのロジカル・ユニットに再度ログイン要求を出す場
    合の再要求タイミングを指示することを特徴とする被ロ
    グイン装置。
  7. 【請求項7】 請求項1ないし請求項6のうちの任意の
    1つに記載の被ログイン装置において、 複数の前記特定装置は前記通信路を介してログイン要求
    を同時に出せないよう調整されていることを特徴とする
    被ログイン装置。
  8. 【請求項8】 請求項1ないし請求項6のうちの任意の
    1つに記載の被ログイン装置において、 前記通信路はIEEE1394バスから成ること特徴と
    する被ログイン装置。
  9. 【請求項9】 請求項1ないし請求項6のうちの任意の
    1つに記載の被ログイン装置において、 前記特定装置と、SBP−2プロトコルで通信を行なう
    ことを特徴とする被ログイン装置。
  10. 【請求項10】 或る特定装置に所定の通信路を介して
    ログインし得るログイン装置であって、 前記特定装置に対してログイン要求を出した後に、前記
    特定装置から、ログイン不成立の応答を受けると共に、
    再要求タイミングの指示を受けた場合に、指示された該
    再要求タイミングで前記特定装置に対して再度ログイン
    要求を出すログイン要求手段を備えることを特徴とする
    ログイン装置。
  11. 【請求項11】 請求項10に記載のログイン装置にお
    いて、 他の装置とは前記通信路を介してログイン要求を同時に
    出せないよう調整されていることを特徴とするログイン
    装置。
  12. 【請求項12】 請求項10に記載のログイン装置にお
    いて、 前記通信路はIEEE1394バスから成ること特徴と
    するログイン装置。
  13. 【請求項13】 請求項10に記載のログイン装置にお
    いて、 前記特定装置と、SBP−2プロトコルで通信を行なう
    ことを特徴とするログイン装置。
  14. 【請求項14】 請求項1ないし請求項9のうちの任意
    の1つに記載の被ログイン装置と請求項10ないし請求
    項13のうちの任意の1つに記載のログイン装置とを備
    える装置間通信システム。
  15. 【請求項15】 複数のログイン装置から所定の通信路
    を介して、被ログイン装置の備える1つ以上のロジカル
    ・ユニットにログインするためのログイン制御方法であ
    って、 (a)前記被ログイン装置が、或るログイン装置から或
    るロジカル・ユニットに対するログイン要求を受けた場
    合において、既にそのロジカル・ユニットにログインし
    ている前記ログイン装置の数が前記ロジカル・ユニット
    について予め定められたログイン許容数に達している際
    には、前記被ログイン装置が、ログイン要求を受けた前
    記ログイン装置に対して、前記ロジカル・ユニットにつ
    いてのログイン不成立の応答をする工程と、 (b)前記被ログイン装置が、前記ロジカル・ユニット
    についてのログイン不成立の応答をする場合に、ログイ
    ン要求を受けた前記ログイン装置に対して、該ログイン
    装置がそのロジカル・ユニットに再度ログイン要求を出
    す場合の再要求タイミングを指示する工程と、 (c)前記ログイン装置が、前記被ログイン装置から、
    前記ロジカル・ユニットについてのログイン不成立の応
    答を受けると共に、再要求タイミングの指示を受けた場
    合に、指示された該再要求タイミングで前記被ログイン
    装置における前記ロジカル・ユニットに対して再度ログ
    イン要求を出す工程と、 を備えることを特徴とするログイン制御方法。
  16. 【請求項16】 請求項15に記載のログイン制御方法
    において、 前記工程(b)は、前記被ログイン装置が、ログイン要
    求を受けた前記特定装置について、最初のログイン要求
    を受けた順番に、その優先順位を設定し、設定した前記
    優先順位の高いログイン装置ほど前記再要求タイミング
    を短くするように、前記再要求タイミングを決定する工
    程を含むことを特徴とするログイン制御方法。
  17. 【請求項17】 複数の特定装置から所定の通信路を介
    してログインされ得るコンピュータに被ログイン処理を
    行なわせるためのコンピュータプログラムを記録したコ
    ンピュータ読み取り可能な記録媒体であって、 (a)或る特定装置からログイン要求を受けた場合に、
    既にログインしている前記特定装置の数が予め定められ
    たログイン許容数に達している際には、ログイン要求を
    受けた前記特定装置に対して、ログイン不成立の応答を
    する工程と、 (b)ログイン不成立の応答をする場合に、ログイン要
    求を受けた前記特定装置に対して、該特定装置が再度ロ
    グイン要求を出す場合の再要求タイミングを指示する工
    程とを前記コンピュータに実行させるためのコンピュー
    タプログラムを記録した記録媒体。
  18. 【請求項18】 請求項17に記載の記録媒体におい
    て、 前記工程(b)は、ログイン要求を受けた前記特定装置
    について、最初のログイン要求を受けた順番に、その優
    先順位を設定し、設定した前記優先順位の高い特定装置
    ほど前記再要求タイミングを短くするように、前記再要
    求タイミングを決定する工程を含むことを特徴とする記
    録媒体。
  19. 【請求項19】 或る特定装置に所定の通信路を介して
    ログインし得るコンピュータにログイン処理を行なわせ
    るためのコンピュータプログラムを記録したコンピュー
    タ読み取り可能な記録媒体であって、 前記特定装置に対してログイン要求を出した後に、前記
    特定装置から、ログイン不成立の応答を受けると共に、
    再要求タイミングの指示を受けた場合に、指示された該
    再要求タイミングで前記特定装置に対して再度ログイン
    要求を出す工程を前記コンピュータに実行させるための
    コンピュータプログラムを記録した記録媒体。
JP2000218587A 2000-07-19 2000-07-19 被ログイン装置、ログイン装置、及びそれらを備える装置間通信システム、ログイン制御方法、並びに記録媒体 Pending JP2001069155A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2000218587A JP2001069155A (ja) 2000-07-19 2000-07-19 被ログイン装置、ログイン装置、及びそれらを備える装置間通信システム、ログイン制御方法、並びに記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2000218587A JP2001069155A (ja) 2000-07-19 2000-07-19 被ログイン装置、ログイン装置、及びそれらを備える装置間通信システム、ログイン制御方法、並びに記録媒体

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP11219858A Division JP2001045031A (ja) 1999-08-03 1999-08-03 被ログイン装置、ログイン装置、及びそれらを備える装置間通信システム、ログイン制御方法、並びに記録媒体

Publications (1)

Publication Number Publication Date
JP2001069155A true JP2001069155A (ja) 2001-03-16

Family

ID=18713511

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2000218587A Pending JP2001069155A (ja) 2000-07-19 2000-07-19 被ログイン装置、ログイン装置、及びそれらを備える装置間通信システム、ログイン制御方法、並びに記録媒体

Country Status (1)

Country Link
JP (1) JP2001069155A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004515993A (ja) * 2000-12-19 2004-05-27 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 通信システムにおけるコネクションの制御方法並びに該方法用の通信システム
JP2007200355A (ja) * 2007-04-16 2007-08-09 Fujitsu Ltd 情報処理システム、情報処理装置、アクセス分散方法、及び、プログラム
JP2007249988A (ja) * 2007-04-16 2007-09-27 Fujitsu Ltd 情報処理システム、情報処理装置、アクセス分散方法、及び、プログラム

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004515993A (ja) * 2000-12-19 2004-05-27 ローベルト ボツシユ ゲゼルシヤフト ミツト ベシユレンクテル ハフツング 通信システムにおけるコネクションの制御方法並びに該方法用の通信システム
JP2007200355A (ja) * 2007-04-16 2007-08-09 Fujitsu Ltd 情報処理システム、情報処理装置、アクセス分散方法、及び、プログラム
JP2007249988A (ja) * 2007-04-16 2007-09-27 Fujitsu Ltd 情報処理システム、情報処理装置、アクセス分散方法、及び、プログラム

Similar Documents

Publication Publication Date Title
US7302699B2 (en) Logged-in device and log-in device
KR100915260B1 (ko) 오토믹 세마포어 연산을 수행하기 위한 방법 및 장치
JP2001119415A (ja) データ転送制御装置及び電子機器
KR20050082834A (ko) 복수의 마스터들을 포함하는 서브 시스템을 개방형 코어프로토콜을 기반으로 하는 버스에 연결하기 위한 버스시스템
CN116303207A (zh) 一种总线传输方法、装置、设备及存储介质
JP2000184000A (ja) ステ―トマシン駆動型トランスポ―トプロトコルインタ―フェ―ス
JP2001069155A (ja) 被ログイン装置、ログイン装置、及びそれらを備える装置間通信システム、ログイン制御方法、並びに記録媒体
US20060080671A1 (en) Systems and methods for opportunistic frame queue management in SAS connections
JPH07143202A (ja) システムを構成する方法、デバイスを構成する方法、制御装置およびシステム
CN112732166B (zh) 访问固态硬盘的方法及装置
JPH1125036A (ja) 調停システム、およびアクセスを調停する方法
JP2001119413A (ja) ログイン装置、被ログイン装置、及び装置間通信システム、ログイン制御方法、並びに記録媒体
JPH09153009A (ja) 階層構成バスのアービトレーション方法
JP2006119724A (ja) Cpuシステム、バスブリッジ、その制御方法、及びコンピュータシステム
JP3797075B2 (ja) ログイン装置、被ログイン装置、及び装置間通信システム、ログイン制御方法、並びに記録媒体
JP2555941B2 (ja) バスアービトレーション方式
US6681260B1 (en) Data transfer method in function expansion system
US20050165988A1 (en) Bus communication system
JP3606145B2 (ja) データ転送制御装置及び電子機器
KR100243868B1 (ko) 주 전산기에서의 중재로직 방법
JP2000099391A (ja) プリンタ装置およびプリンタ制御方法、並びに記録媒体
JP2002207714A (ja) マルチプロセッサ装置
JPH04233028A (ja) プリンタ装置
JP2001022688A (ja) バス・ブリッジのアビトレーション方法
JPH11177589A (ja) データ転送装置およびデータ転送装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050829

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050913

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20051111

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20060314

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060512

A911 Transfer of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20060602

A912 Removal of reconsideration by examiner before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20060616