JP2004102443A - 情報処理システム、情報処理方法、プログラム及び記憶媒体 - Google Patents

情報処理システム、情報処理方法、プログラム及び記憶媒体 Download PDF

Info

Publication number
JP2004102443A
JP2004102443A JP2002260398A JP2002260398A JP2004102443A JP 2004102443 A JP2004102443 A JP 2004102443A JP 2002260398 A JP2002260398 A JP 2002260398A JP 2002260398 A JP2002260398 A JP 2002260398A JP 2004102443 A JP2004102443 A JP 2004102443A
Authority
JP
Japan
Prior art keywords
node
communication
information
bus
information processing
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.)
Withdrawn
Application number
JP2002260398A
Other languages
English (en)
Inventor
Atsushi Nakamura
中村 敦
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.)
Canon Inc
Original Assignee
Canon 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 Canon Inc filed Critical Canon Inc
Priority to JP2002260398A priority Critical patent/JP2004102443A/ja
Publication of JP2004102443A publication Critical patent/JP2004102443A/ja
Withdrawn legal-status Critical Current

Links

Images

Landscapes

  • Computer And Data Communications (AREA)

Abstract

【課題】IEEE1394準拠のプロトコルでデータ通信を効率的に行うことのできる情報処理システム、情報処理方法、プログラム及び記憶媒体を提供すること。
【解決手段】IEEE1394に準拠した通信制御バスに接続されたイニシエータ1a、1c及びターゲット1bを含む情報処理システムであって、
イニシエータ1aがターゲット1bの論理ユニットにログインしている間に、イニシエータ1cからターゲット1bの同じ論理ユニットへのログイン要求があった場合に、ターゲット1bがイニシエータ1aに対してその旨通知するための通知情報を送信する。
【選択図】 図1

Description

【0001】
【発明の属する技術分野】
本発明は、IEEE1394等のインターフェースで接続される情報処理システム、情報処理方法、プログラム及び記憶媒体に関するものである。
【0002】
【従来の技術】
セントロニクス、USB、そしてIEEE1394等の各種インターフェースにおいてホストとデバイスの1対1接続、通信を行なう場合、同時に複数のホストとの接続(マルチセッション)をサポートしていないデバイスとホスト間の通信時には他のホストとの通信は排他処理となっている。
【0003】
【発明が解決しようとする課題】
従って、上記従来技術においては、接続中のホストがデバイスとのセッションを切断しない限り他のホストがそのデバイスとのセッションを樹立することができない。この場合、他のホストからデバイスに対する接続要求に対して、デバイスはそれを拒否する応答を行なう。
【0004】
一方で、接続中のホストはデバイスに対して他のホストからの接続要求がなされたことを知る手段がなく、その場合にはデバイスへの接続状態を継続することによりそのデバイスを占有する場合もあり得る。その場合には、他のホストはデバイスとの接続が不可能となる。
【0005】
すなわち、従来の複数の機器間の通信において、効率よくデータ通信を行うことができない場合があった。
【0006】
本発明は、上記従来技術の課題を解決するためになされたもので、その目的とするところは、IEEE1394準拠のプロトコル等でデータ通信を効率的に行うことのできる情報処理システム、情報処理方法、プログラム及び記憶媒体を提供することにある。
【0007】
【課題を解決するための手段】
上記目的を達成するため、本発明に係るシステムは、
通信制御バスに接続された第1機器、第2機器及び第3機器を含む情報処理システムであって、
前記第1機器が前記第2機器の論理ユニットにログインしている間に、前記第3機器から前記第2機器の前記論理ユニットへのログイン要求があった場合に、前記第2機器が前記第1機器に対してその旨通知する通知情報を送信することを特徴とする。
【0008】
前記通信制御バスは、IEEE1394に準拠したバスであって、
前記第2機器からの通知情報を受け取った前記第1機器が、前記第2機器の前記論理ユニットからログアウトすることを特徴とする。
【0009】
前記第1、第2、第3機器は、互いに、IEEE1394のシリアルバスプロトコル2を用いてデータ通信を行うことを特徴とする。
【0010】
前記通知情報は、前記第1機器からのコマンドブロックに応答するためのステータスブロックの一部に含まれることを特徴とする。
【0011】
上記目的を達成するため、本発明に係る方法は、
IEEE1394に準拠した通信制御バスに接続された第1機器、第2機器及び第3機器間における通信方法であって、
前記第1機器が前記第2機器の論理ユニットにログインしている間に、前記第3機器から前記第2機器の前記論理ユニットへのログイン要求があった場合に、前記第2機器が前記第1機器に対してその旨通知する通知情報を送信することを特徴とする。
【0012】
通信制御バスに接続された第1機器、第2機器及び第3機器を含む情報処理システムであって、
前記第1機器が前記第2機器の論理ユニットにログインしている間に、前記第3機器から前記第2機器の前記論理ユニットへのログイン要求があった場合に、前記第2機器が前記第1機器に対してログアウトさせるためにその旨通知する通知情報を送信することを特徴とする。
【0013】
上記目的を達成するため、本発明に係る装置は、
複数の機器と通信制御バスで接続された情報処理装置であって、
第1の機器が論理ユニットにログインしている間に、第2の機器から前記論理ユニットへのログイン要求があった場合に、前記第1機器に対してログアウトさせるためにその旨通知する通知情報を送信する手段を有することを特徴とする。
【0014】
複数の機器と通信制御バスで接続された情報処理装置における通信方法であって、
第1の機器が論理ユニットにログインしている間に、第2の機器から前記論理ユニットへのログイン要求があった場合に、前記第1機器に対してログアウトさせるためにその旨通知する通知情報を送信することを特徴とする。
【0015】
上記目的を達成するため、本発明に係るプログラムは、上記通信方法をコンピュータに実現させる。
【0016】
上記目的を達成するため、本発明に係る記憶媒体は、上記プログラムを格納する。
【0017】
【発明の実施の形態】
以下に、図面を参照して、この発明の好適な実施の形態を例示的に詳しく説明する。ただし、この実施の形態に記載されている構成要素の相対配置、表示画面等は、特に特定的な記載がない限りは、この発明の範囲をそれらのみに限定する趣旨のものではない。
【0018】
(第1実施形態)
本発明の第1実施形態としての情報処理システムについて説明する前に、IEEE1394の技術の概要について説明する。
【0019】
〈IEEE1394の技術の概要〉
以下、本実施の形態のデジタルインタフェースに適用されるIEEE1394−1995規格の技術について簡単に説明する。尚、IEEE1394−1995規格(以下、IEEE1394規格)についての詳細は、1996年の8月30日にIEEE(The Institute of Electrical and Electronics Engineers, Inc.)から出版された「IEEE Standard for a High Performance Serial Bus」に記述されている。
【0020】
(1)概要
図2にIEEE1394規格に準拠したデジタルインタフェース(以下、1394インタフェース)を具備するノード(機器)により構成される通信システム(以下、1394ネットワーク)の一例を示す。1394ネットワークは、シリアルデータの通信可能なバス型ネットワークを構成するものである。
【0021】
図2において、各ノードA〜Fは、IEEE1394規格に準拠した通信ケーブルを介して接続されている。これらのノードA〜Hは、例えば、PC(Personal Computer)、デジタルVTR(Video Tape Recorder)、DVD(Digital Video Disc)プレーヤ、デジタルカメラ、ハードディスク、モニタ等の電子機器である。
【0022】
1394ネットワークの接続方式は、ディジーチェーン方式とノード分岐方式とに対応しており、自由度の高い接続を可能としている。
【0023】
又、1394ネットワークでは、例えば、既存の機器を削除したり、新たな機器を追加したり、既存の機器の電源をON/OFFしたりした場合に、自動的にバスリセットを行う。このバスリセットを行うことにより、1394ネットワークは、新たな接続構成の認識と各機器に対するID情報の割り当てとを自動的に行うことができる。この機能によって、1394ネットワークは、ネットワークの接続構成を常時認識することができる。
【0024】
又、1394ネットワークは、他の機器から転送されたデータを中継する機能を有している。この機能により、全ての機器がバスの動作状況を把握することができる。
【0025】
又、1394ネットワークは、Plug&Playと呼ばれる機能を有している。この機能により、全ての機器の電源をOFFにすることなく、接続するだけで自動に接続機器を認識することができる。
【0026】
又、1394ネットワークは、100/200/400Mbpsのデータ転送速度に対応している。上位のデータ転送速度を持つ機器は、下位のデータ転送速度をサポートすることができるため、異なるデータ転送速度に対応する機器同士を接続することができる。
【0027】
更に、1394ネットワークは、2つの異なるデータ転送方式(即ち、アシンクロナス転送モードとアイソクロナス転送モード)に対応している。
【0028】
アシンクロナス(Asynchronous)転送モードは、必要に応じて非同期に転送することが要求されるデータ(即ち、コントロール信号やファイルデータ等)を転送する際に有効である。又、アイソクロナス(Isochronous)転送モードは、所定量のデータを一定のデータレートで連続的に転送することが要求されるデータ(即ち、ビデオデータやオーディオデータ等)を転送する際に有効である。
【0029】
アシンクロナス転送モードとアイソクロナス転送モードとは、各通信サイクル(通常1サイクルは、125μS)内において、混在させることが可能である。各転送モードは、サイクルの開始を示すサイクル・スタート・パケット(以下、CSP)の転送後に実行される。
【0030】
尚、各通信サイクル期間において、アイソクロナス転送モードは、アシンクロナス転送モードよりも優先順位が高く設定されている。又、アイソクロナス転送モードの転送帯域は、各通信サイクル内で保証されている。
【0031】
(2)アーキテクチャ
次に、図3を用いて1394インタフェースの構成要素を説明する。
【0032】
1394インタフェースは、機能的に複数のレイヤ(階層)から構成されている。図3において、1394インタフェースは、IEEE1394規格に準拠した通信ケーブル301を介して他のノードの1394インタフェースと接続される。又、1394インタフェースは、1つ以上の通信ポート302を有し、通信ポート302は、ハードウェア部に含まれるフィジカル・レイヤ303と接続される。
【0033】
図3において、ハードウェア部は、フィジカル・レイヤ303とリンク・レイヤ304とから構成されている。フィジカル・レイヤ303は、他のノードとの物理的、電気的なインタフェース、バスリセットの検出とそれに伴う処理、入出力信号の符号化/復号化、バス使用権の調停等を行う。又、リンク・レイヤ304は、通信パケットの生成と送受信、サイクルタイマの制御等を行なう。
【0034】
又、図3において、ファームウェア部は、トランザクション・レイヤ305とシリアル・バス・マネージメント306とを含んでいる。トランザクション・レイヤ305は、アシンクロナス転送モードを管理し、各種のトランザクション(リード、ライト、ロック)を提供する。シリアル・バス・マネージメント306は、後述するCSRアーキテクチャに基づいて、自ノードの制御、自ノードの接続状態の管理、自ノードのID情報の管理、シリアルバスネットワークの資源管理を行う機能を提供する。
【0035】
以上、ハードウェア部とファームウェア部とが実質的に1394インタフェースを構成するものであり、それらの基本構成は、IEEE1394規格により規定されている。
【0036】
又、ソフトウェア部に含まれるアプリケーション・レイヤ307は、使用するアプリケーションソフトによって異なり、ネットワーク上でどのようにデータを通信するのかを制御する。例えば、デジタルVTRの動画像データの場合は、AV/Cプロトコルなどの通信プロトコルによって規定されている。
【0037】
(2−1)リンク・レイヤ304
図4は、リンク・レイヤ304の提供可能なサービスを示す図である。図4において、リンク・レイヤ304は、次の4つのサービスを提供する。即ち、▲1▼応答ノードに対して所定のパケットの転送を要求するリンク要求(LK_DATA.request)、▲2▼応答ノードに所定のパケットの受信を通知するリンク通知(LK_DATA.indication)、▲3▼応答ノードからのアクノリッジを受信したことを示すリンク応答(LK_DATA.response)、▲4▼要求ノードからのアクノリッジを確認するリンク確認(LK_DATA.confirmation)である。尚、リンク応答(LK_DATA.response)は、ブロードキャスト通信、アイソクロナスパケットの転送の場合には存在しない。
【0038】
又、リンク・レイヤ304は、上述のサービスに基づいて、上述の2種類の転送方式、即ち、アシンクロナス転送モード、アイソクロナス転送モードを実現する。
【0039】
(2−2)トランザクション・レイヤ305
図5は、トランザクション・レイヤ305の提供可能なサービスを示す図である。図5において、トランザクション・レイヤ305は、次の4つのサービスを提供する。即ち、▲1▼応答ノードに対して所定のトランザクションを要求するトランザクション要求(TR_DATA.request)、▲2▼応答ノードに所定のトランザクション要求の受信を通知するトランザクション通知(TR_DATA.indication)、▲3▼応答ノードからの状態情報(ライト、ロックの場合は、データを含む)を受信したことを示すトランザクション応答(TR_DATA.response)、▲4▼要求ノードからの状態情報を確認するトランザクション確認(TR_DATA.confirmation)である。
【0040】
又、トランザクション・レイヤ305は、上述のサービスに基づいてアシンクロナス転送を管理し、次の3種類のトランザクション、即ち、▲1▼リード・トランザクション、▲2▼ライト・トランザクション、▲3▼ロック・トランザクションを実現する。
【0041】
▲1▼リード・トランザクションは、要求ノードが応答ノードの特定アドレスに格納された情報を読み取る。
【0042】
▲2▼ライト・トランザクションは、要求ノードが応答ノードの特定アドレスに所定の情報を書き込む。
【0043】
▲3▼ロック・トランザクションは、要求ノードが応答ノードに対して参照データと更新データとを転送し、応答ノードの特定アドレスの情報とその参照データとを比較し、その比較結果に応じて特定アドレスの情報を更新データに更新する。
【0044】
(2−3)シリアル・バス・マネージメント306
シリアル・バス・マネージメント306は、具体的に、次の3つの機能を提供することができる。3つの機能とは、即ち、▲1▼ノード制御、▲2▼アイソクロナス・リソース・マネージャ(以下、IRM)、▲3▼バスマネージャである。
【0045】
▲1▼ノード制御は、上述の各レイヤを管理し、他のノードとの間で実行されるアシンクロナス転送を管理する機能を提供する。
【0046】
▲2▼IRMは、他のノードとの間で実行されるアイソクロナス転送を管理する機能を提供する。具体的には、転送帯域幅とチャネル番号の割り当てに必要な情報を管理し、これらの情報を他のノードに対して提供する。
【0047】
IRMは、ローカルバス上に唯一存在し、バスリセット毎に他の候補者(IRMの機能を有するノード)の中から動的に選出される。又、IRMは、後述のバスマネージャの提供可能な機能(接続構成の管理、電源管理、速度情報の管理等)の一部を提供してもよい。
【0048】
▲3▼バスマネージャは、IRMの機能を有し、IRMよりも高度なバス管理機能を提供する。具体的には、より高度な電源管理(通信ケーブルを介して電源の供給が可能か否か、電源の供給が必要か否か等の情報を各ノード毎に管理)、より高度な速度情報の管理(各ノード間の最大転送速度の管理)、より高度な接続構成の管理(トポロジ・マップの作成)、これらの管理情報に基づくバスの最適化等を行ない、更にこれらの情報を他のノードに提供する機能を有する。
【0049】
又、バスマネージャは、シリアルバスネットワークを制御するためのサービスをアプリケーションに対して提供できる。ここで、サービスには、シリアルバス制御要求(SB_CONTROL.request)、シリアルバス・イベント制御確認(SB_CONTROL.confirmation)、シリアルバス・イベント通知(SB_CONTROL.indication)等がある。
【0050】
SB_CONTROL.requestは、アプリケーションがバスリセットを要求するサービスである。SB_CONTROL.confirmationは、SB_CONTROL.requestをアプリケーションに対して確認するサービスである。SB_CONTROL.indicationは、非同期に発生するイベントをアプリケーションに対して通知するサービスである。
【0051】
(3)アドレス指定
図6は、1394インタフェースにおけるアドレス空間を説明する図である。尚、1394インタフェースは、ISO/IEC 13213:1994に準じたCSR(Command and Status Register)アーキテクチャに従い、64ビット幅のアドレス空間を規定している。
【0052】
図6において、最初の10ビットのフィールド601は、所定のバスを指定するID番号に使用され、次の6ビットのフィールド602は、所定の機器(ノード)を指定するID番号に使用される。この上位16ビットを「ノードID」と呼び、各ノードはこのノードIDにより他のノードを識別する。又、各ノードは、このノードIDを用いて相手を識別した通信を行うことができる。
【0053】
残りの48ビットからなるフィールドは、各ノードの具備するアドレス空間(256Mバイト構造)を指定する。その内の20ビットのフィールド603は、アドレス空間を構成する複数の領域を指定する。
【0054】
フィールド603において、「0〜0xFFFFD」の部分は、メモリ空間と呼ばれる。「0xFFFFE」の部分は、プライベート空間と呼ばれ、各ノードで自由に利用できるアドレスである。又、「0xFFFFE」の部分は、レジスタ空間と呼ばれ、バスに接続されたノード間において共通の情報を格納する。各ノードは、レジスタ空間の情報を用いることにより、各ノード間の通信を管理することができる。
【0055】
最後の28ビットのフィールド604は、各ノードにおいて共通或いは固有となる情報が格納されるアドレスを指定する。
【0056】
例えば、レジスタ空間において、最初の512バイトは、CSRアーキテクチャーのコア(CSRコア)レジスタ用に使用される。CSRコア・レジスタに格納される情報のアドレス及び機能を図7に示す。図中のオフセットは、「0xFFFFF0000000」からの相対位置である。
【0057】
次の512バイトは、シリアルバス用のレジスタとして使用される。シリアルバス・レジスタに格納される情報のアドレス及び機能を図8に示す。図中のオフセットは、「0xFFFFF0000200」からの相対位置である。
【0058】
その次の1024バイトは、コンフィグレーションROM(Configuration ROM)用に使用される。
【0059】
コンフィグレーションROMには最小形式と一般形式とがあり、「0xFFFFF0000400」から配置される。最小形式のコンフィグレーションROMを図9に示す。図9において、ベンダIDは、IEEEにより各ベンダに対して固有に割り当てられた24ビットの数値である。
【0060】
又、一般形式のコンフィグレーションROMを図10に示す。図10において、上述のベンダIDは、ルートディレクトリ(Root Directory)1002に格納されている。Bus Info Block1001とRoot Leaf1005とには、各ノードを識別する固有のID情報としてノードユニークIDを保持することが可能である。
【0061】
ここで、ノードユニークIDは、メーカー、機種に関わらず、1つのノードを特定することのできる固有のIDを定めるようになっている。ノードユニークIDは64ビットにより構成され、上位24ビットは上述のベンダIDを示し、下位48ビットは各ノードを製造するメーカーにおいて自由に設定可能な情報(例えば、ノードの製造番号等)を示す。尚、このノードユニークIDは、例えばバスリセットの前後で継続して特定のノードを認識する場合に使用される。
【0062】
又、図10において、ルートディレクトリ1002には、ノードの基本的な機能に関する情報を保持することが可能である。詳細な機能情報は、ルートディレクトリ1002からオフセットされるサブディレクトリとしてのユニットディレクトリ(Unit Directories)1004に格納される。ユニットディレクトリ1004には、例えば、ノードのサポートするソフトウェアユニットに関する情報が格納される。具体的には、ノード間のデータ通信を行うためのデータ転送プロトコル、所定の通信手順を定義するコマンドセット等に関する情報が保持される。
【0063】
又、図10において、ノード依存情報ディレクトリ(Node Dependent Info Directory)1003には、デバイス固有の情報を保持することが可能である。ノード依存情報ディレクトリ1003は、ルートディレクトリ1002によりオフセットされる。
【0064】
更に、図10において、ベンダー依存情報(Vendor Dependent Information)1006には、ノードを製造、或いは販売するベンダ固有の情報を保持することができる。
【0065】
残りの領域は、ユニット空間と呼ばれ、各ノード固有の情報、例えば、各機器の識別情報(会社名、機種名等)や使用条件等が格納されたアドレスを指定する。ユニット空間のシリアルバス装置レジスタに格納される情報のアドレス及び機能を図11に示す。図中のオフセットは、「0xFFFFF0000800」からの相対位置である。
【0066】
尚、一般的に、異種のバスシステムの設計を簡略化したい場合、各ノードは、レジスタ空間の最初の2048バイトのみを使うべきである。つまり、CSRコア・レジスタ、シリアルバス・レジスタ、コンフィグレーションROM、ユニット空間の最初の2048バイトの合わせて4096バイトで構成することが望ましい。
【0067】
(4)通信ケーブルの構成
図12にIEEE1394規格に準拠した通信ケーブルの断面図を示す。
【0068】
通信ケーブルは、2組のツイストペア信号線と電源ラインとにより構成されている。電源ラインを設けることによって、1394インタフェースは、主電源のOFFとなった機器、故障により電力低下した機器等にも電力を供給することができる。尚、電源線内を流れる電源の電圧は8〜40V、電流は最大電流DC1.5Aと規定されている。
【0069】
2組のツイストペア信号線には、DS−Link(Data/Strobe Link)符号化方式にて符号化された情報信号が伝送される。図13は、DS−Link符号化方式を説明する図である。
【0070】
このDS−Link符号化方式は、高速なシリアルデータ通信に適しており、その構成は、2組のより対線を必要とする。一組のより対線は、データ信号を送り、他のより対線は、ストローブ信号を送る構成になっている。受信側は、2組の信号線から受信したデータ信号とストローブ信号との排他的論理和をとることによって、クロックを再現することができる。
【0071】
尚、DS−Link符号化方式を用いることにより、1394インタフェースには、例えば次のような利点がある。▲1▼他の符号化方式に比べて転送効率が高い。▲2▼PLL回路が不要となり、コントローラLSIの回路規模を小さくできる。▲3▼アイドル状態であることを示す情報を送る必要が無いため、トランシーバ回路をスリープ状態とし易く、消費電力の低減を図ることができる。
【0072】
(5)バスリセット
各ノードの1394インタフェースは、ネットワークの接続構成に変化が生じたことを自動的に検出することができる。この場合、1394ネットワークは以下に示す手順によりバスリセットと呼ばれる処理を行う。尚、接続構成の変化は、各ノードの具備する通信ポートにかかるバイアス電圧の変化により検知することができる。
【0073】
ネットワークの接続構成の変化(例えば、ノードの挿抜、ノードの電源のON/OFFなどによるノード数の増減)を検出したノード、又は新たな接続構成を認識する必要のあるノードは、1394インタフェースを介して、バス上にバスリセット信号を送信する。
【0074】
バスリセット信号を受信したノードの1394インタフェースは、バスリセットの発生を自身のリンク・レイヤ304に伝達すると共に、そのバスリセット信号を他のノードに転送する。バスリセット信号を受信したノードは、今まで認識していたネットワークの接続構成及び各機器に割り当てられたノードIDをクリアにする。最終的に全てのノードがバスリセット信号を検知した後、各ノードは、バスリセットに伴う初期化処理(即ち、新たな接続構成の認識と新たなノードIDの割り当て)を自動的に行う。
【0075】
尚、バスリセットは、先に述べたような接続構成の変化による起動の他に、ホスト側の制御によって、アプリケーション・レイヤ307がフィジカル・レイヤ303に対して直接命令を出すことによって起動させることも可能である。
【0076】
又、バスリセットが起動するとデータ転送は一時中断され、バスリセットに伴う初期化処理の終了後、新しいネットワークのもとで再開される。
【0077】
(6)バスリセット起動後のシーケンス
バスリセットの起動後、各ノードの1394インタフェースは、新たな接続構成の認識と新たなノードIDの割り当てとを自動的に実行する。以下、バスリセットの開始からノードIDの割り当て処理までの基本的なシーケンスを図14〜16を用いて説明する。
【0078】
図14は、図2の1394ネットワークにおけるバスリセット起動後の状態を説明する図である。
【0079】
図14において、ノードAは1つの通信ポート、ノードBは2つの通信ポート、ノードCは2つの通信ポート、ノードDは3つの通信ポート、ノードEは1つの通信ポート、ノードFは1つの通信ポートを具備している。各ノードの通信ポートには、各ポートを識別するためにポート番号を付されている。
【0080】
以下、図14におけるバスリセットの開始からノードIDの割り当てまでを図15のフローチャートを用いて説明する。
【0081】
図15において、1394ネットワークを構成する各ノードA〜Fは、バスリセットが発生したか否かを常時監視している(ステップS1501)。接続構成の変化を検出したノードからバスリセット信号が出力されると、各ノードは以下の処理を実行する。
【0082】
バスリセットの発生後、各ノードは、夫々の具備する通信ポート間において親子関係の宣言を行なう(ステップS1502)。
【0083】
各ノードは、全てのノード間の親子関係が決定されるまで、ステップS1502の処理を繰り返し行なう(ステップS1503)。
【0084】
全てのノード間の親子関係が決定した後、1394ネットワークは、ネットワークの調停を行なうノード、即ちルートを決定する。(ステップS1504)。
【0085】
ルートを決定した後、各ノードの1394インタフェース夫々は、自己のノードIDを自動的に設定する作業を実行する(ステップS1505)。
【0086】
全てのノードに対してノードIDの設定がなされるまで、各ノードは所定の手順に基づきステップS1505の処理を実行する(ステップS1506)。
【0087】
最終的に全てのノードに対してノードIDが設定された後、各ノードは、アイソクロナス転送或いはアシンクロナス転送を実行する(ステップS1507)。
【0088】
ステップS1507の処理を実行すると共に、各ノードの1394インタフェースは、再びバスリセットの発生を監視する。バスリセットが発生した場合には、ステップS1501以降の処理を再び実行する。
【0089】
以上の手順により、各ノードの1394インタフェースは、バスリセットが起動する毎に、新たな接続構成の認識と新たなノードIDの割り当てとを自動的に実行することができる。
【0090】
(7)親子関係の決定
次に、図16を用いて、図15に示したステップS1502の処理(即ち、各ノード間の親子関係を認識する処理)について詳細に説明する。
【0091】
図16において、バスリセットの発生後、1394ネットワーク上の各ノードA〜Fは、自分の具備する通信ポートの接続状態(接続又は未接続)を確認する(ステップS1601)。
【0092】
通信ポートの接続状態の確認後、各ノードは、他のノードと接続されている通信ポート(以下、接続ポート)の数をカウントする(ステップS1602)。
【0093】
ステップS1602の処理の結果、接続ポートの数が1つである場合、そのノードは、自分が「リーフ」であると認識する(ステップS1603)。ここで、リーフとは、1つのノードとのみ接続されているノードのことである。
【0094】
リーフとなるノードは、その接続ポートに接続されているノードに対して、「自分は子(Child)」であることを宣言する(ステップS1604)。このとき、リーフは、その接続ポートが「親ポート(親ノードと接続された通信ポート)」であると認識する。
【0095】
ここで、親子関係の宣言は、まず、ネットワークの末端であるリーフとブランチとの間にて行われ、続いて、ブランチとブランチとの間で順次に行われる。各ノード間の親子関係は、早く宣言の行なえる通信ポートから順に決定される。又、各ノード間において、子であることを宣言した通信ポートは「親ポート」であると認識され、その宣言を受けた通信ポートは「子ポート(子ノードと接続された通信ポート)」であると認識される。例えば、図14において、ノードA、E、Fは、自分がリーフであると認識した後、親子関係の宣言を行う。これにより、ノードA−B間では子−親、ノードE−D間では子−親、ノードF−D間では子−親と決定される。
【0096】
又、ステップS1602の処理の結果、接続ポートの数が2つ以上の場合、そのノードは、自分を「ブランチ」であると認識する(ステップS1605)。ここで、ブランチとは、2つ以上のノードと接続されているノードのことである。
【0097】
ブランチとなるノードは、各接続ポートのノードから親子関係の宣言を受け付ける(ステップS1606)。宣言を受け付けた接続ポートは、「子ポート」として認識される。
【0098】
1つの接続ポートを「子ポート」と認識した後、ブランチは、まだ親子関係の決定されていない接続ポート(即ち、未定義ポート)が2つ以上あるか否かを検出する(ステップS1607)。その結果、未定義ポートが2つ以上ある場合、ブランチは、再びステップS1606の動作を行う。
【0099】
ステップS1607の結果、未定義ポートが1つだけ存在する場合、ブランチは、その未定義ポートが「親ポート」であると認識し、そのポートに接続されているノードに対して「自分は子」であることを宣言する(ステップS1608、S1609)。
【0100】
ここで、ブランチは、残りの未定義ポートが1つになるまで自分自身が子であると他のノードに対して宣言することができない。例えば、図14において、ノードB、C、Dは、自分がブランチであると認識すると共に、リーフ或いは他のブランチからの宣言を受け付ける。ノードDは、D−E間、D−F間の親子関係が決定した後、ノードCに対して親子関係の宣言を行っている。又、ノードDからの宣言を受けたノードCは、ノードBに対して親子関係の宣言を行っている。
【0101】
又、ステップS1608の処理の結果、未定義ポートが存在しない場合(つまり、ブランチの具備する全ての接続ポートが親ポートとなった場合)、そのブランチは、自分自身がルートであることを認識する。(ステップS1610)。
【0102】
例えば、図14において、接続ポートの全てが親ポートとなったノードBは、1394ネットワーク上の通信を調停するルートとして他のノードに認識される。ここで、ノードBがルートと決定されたが、ノードBの親子関係を宣言するタイミングが、ノードCの宣言するタイミングに比べて早い場合には、他のノードがルートになる可能性もある。即ち、宣言するタイミングによっては、どのノードもルートとなる可能性がある。従って、同じネットワーク構成であっても同じノードがルートになるとは限らない。
【0103】
このように全ての接続ポートの親子関係が宣言されることによって、各ノードは、1394ネットワークの接続構成を階層構造(ツリー構造)として認識することができる(ステップS1611)。尚、上述の親ノードは階層構造における上位であり、子ノードは階層構造における下位となる。
【0104】
(8)ノードIDの割り当て
図17は、図15に示したステップS1505の処理(即ち、自動的に各ノードのノードIDを割り当てる処理)を詳細に説明するフローチャートである。ここで、ノードIDは、バス番号とノード番号とから構成されるが、本実施の形態では、各ノードを同一バス上に接続するものとし、各ノードには同一のバス番号が割り当てられるものとする。
【0105】
図17において、ルートは、ノードIDが未設定のノードが接続されている子ポートの内、最小番号を有する通信ポートに対してノードIDの設定許可を与える(ステップS1701)。
【0106】
尚、図17において、ルートは、最小番号の子ポートに接続されている全ノードのノードIDを設定した後、その子ポートを設定済とし、次に最小となる子ポートに対して同様の制御を行なう。最終的に子ポートに接続された全てのノードのID設定が終了した後、ルート自身のノードIDを設定する。尚、ノードIDに含まれるノード番号は、基本的にリーフ、ブランチの順に0、1、2…と割り当てられる。従って、ルートが最も大きなノード番号を有することになる。
【0107】
ステップS1701において、設定許可を得たノードは、自分の子ポートの内、ノードIDが未設定となるノードを含む子ポートがあるか否かを判断する(ステップS1702)。
【0108】
ステップS1702において、未設定ノードを含む子ポートが検出された場合、上述の設定許可を得たノードは、その子ポートに直接接続されたノードに対してその設定許可を与えるように制御する(ステップS1703)。
【0109】
ステップS1703の処理後、上述の設定許可を得たノードは、自分の子ポートの内、ノードIDが未設定であるノードを含む子ポートがあるか否かを判断する(ステップS1704)。ここで、ステップS1704の処理後、未設定ノードを含む子ポートの存在が検出された場合、そのノードは、再びステップS1703の処理を実行する。
【0110】
又、ステップS1702或いはS1704において、未設定ノードを含む子ポートが検出されなかった場合、設定許可を得たノードは、自分自身のノードIDを設定する(ステップS1705)。
【0111】
自分のノードIDを設定したノードは、自己のノード番号、通信ポートの接続状態に関する情報等を含んだセルフIDパケットをブロードキャストする(ステップS1706)。尚、ブロードキャストとは、あるノードの通信パケットを、1394ネットワークを構成する不特定多数のノードに対して転送することである。
【0112】
ここで、各ノードは、このセルフIDパケットを受信することにより、各ノードに割り当てられたノート番号を認識することができ、自分に割り当てられるノード番号を知ることができる。例えば、図14において、ルートであるノードBは、最小ポート番号「#1」の通信ポートに接続されたノードAに対してノードID設定の許可を与える。ノードAは、自己のノード番号「No.0」と割り当て、自分自身に対してバス番号とノード番号とからなるノードIDを設定する。又、ノードAは、そのノード番号を含むセルフIDパケットをブロードキャストする。
【0113】
図18にセルフIDパケットの構成例を示す。図18において、1801はセルフIDパケットを送出したノードのノード番号を格納するフィールド、1802は対応可能な転送速度に関する情報を格納するフィールド、1803はバス管理機能(バスマネージャの能力の有無等)の有無を示すフィールド、1804は電力の消費及び供給の特性に関する情報を格納するフィールドである。
【0114】
又、図18において、1805はポート番号「#0」となる通信ポートの接続状態に関する情報(接続、未接続、通信ポートの親子関係等)を格納するフィールド、1806はポート番号「#1」となる通信ポートの接続状態に関する情報(接続、未接続、通信ポートの親子関係等)を格納するフィールド、1807はポート番号「#2」となる通信ポートの接続状態に関する情報(接続、未接続、通信ポートの親子関係等)を格納するフィールドである。
【0115】
尚、セルフIDパケットを送出するノードにバスマネージャとなり得る能力がある場合には、フィールド1803に示すコンテンダビットを「1」とし、なり得る能力がなければ、コンテンダビットを0とする。
【0116】
ここで、バスマネージャとは、上述のセルフIDパケットに含まれる各種の情報に基づいて、バスの電源管理(通信ケーブルを介して電源の供給が可能か否か、電源の供給が必要か否か等の情報を各ノード毎に管理する)、速度情報の管理(各ノードの対応可能な転送速度に関する情報から各ノード間の最大転送速度を管理する)、トポロジ・マップ情報の管理(通信ポートの親子関係情報からネットワークの接続構成を管理する)、トポロジ・マップ情報に基づくバスの最適化等を行ない、それらの情報を他のノードに提供する機能を有するノードである。これらの機能により、バスマネージャとなるノードは1394ネットワーク全体のバス管理を行なうことができる。
【0117】
ステップS1706の処理後、ノードIDの設定を行ったノードは、親ノードがあるか否かを判断する(ステップS1707)。親ノードがある場合、その親ノードが、ステップS1702以下の処理を再び実行する。そして、まだノードIDの設定されていないノードに対して許可を与える。
【0118】
又、親ノードが存在しない場合、そのノードは、ルート自身であると判断される。ルートは、全ての子ポートに接続されたノードに対してノードIDが設定されたか否かを判別する(ステップS1708)。
【0119】
ステップS1708において、全てのノードに対するID設定処理が終了しなかった場合、ルートは、そのノードを含む子ポートの内、最小番号となる子ポートに対してID設定の許可を与える(ステップS1701)。その後、ステップS1702以下の処理を実行する。
【0120】
又、全てのノードに対するID設定処理が終了した場合、ルートは、自分自身のノードIDの設定を実行する(ステップS1709)。ノードIDの設定後、ルートは、セルフIDパケットをブロードキャストする(ステップS1710)。
【0121】
以上の処理によって、1394ネットワークは、各ノードに対して自動的にノードIDを割り当てることができる。
【0122】
ここで、ノードIDの設定処理後、複数のノードがバスマネージャの能力を具備する場合、ノード番号の最も大きいノードがバスマネージャとなる。つまり、ネットワーク内で最大となるノード番号を持つルートがバスマネージャになり得る機能を有している場合には、ルートがバスマネージャとなる。
【0123】
しかしながら、ルートにその機能が備わっていない場合には、ルートの次に大きいノード番号を具備するノードがバスマネージャとなる。又、どのノードがバスマネージャになったかについては、各ノードがブロードキャストするセルフIDパケット内のコンテンダビット1803をチェックすることにより把握することができる。
【0124】
(9)アービトレーション
図19は、図1の1394ネットワークにおけるアービトレーションを説明する図である。
【0125】
1394ネットワークでは、データ転送に先立って、必ずバス使用権のアービトレーション(調停)を行なう。1394ネットワークは、論理的なバス型ネットワークであり、各ノードから転送された通信パケットを他のノードに中継することによって、ネットワーク内の全てのノードに同じ通信パケットを転送することのできる。従って、通信パケットの衝突を防ぐために、必ずアービトレーションが必要となる。これによって、ある時間において一つのノードのみが転送を行なうことができる。
【0126】
図19(a)は、ノードBとノードFとが、バス使用権の要求を発している場合について説明する図である。
【0127】
アービトレーションが始まるとノードB、Fは、夫々親ノードに向かって、バス使用権の要求を発する。ノードBの要求を受けた親ノード(即ち、ノードC)は、自分の親ノード(即ち、ノードD)に向かって、そのバス使用権を中継する。この要求は、最終的に調停を行なうルート(ノードD)に届けられる。
【0128】
バス使用要求を受けたルートは、どのノードにバスを使用させるかを決める。この調停作業はルートとなるノードのみが行なえるものであり、調停によって勝ったノードにはバスの使用許可が与えられる。
【0129】
図19(b)は、ノードFの要求が許可され、ノードBの要求が拒否されたことを示す図である。
【0130】
アービトレーションに負けたノードに対してルートは、DP(Data prefix)パケットを送り、拒否されたことを知らせる。拒否されたノードは、次回のアービトレーションまでバス使用要求を待機する。
【0131】
以上のようにアービトレーションを制御することによって、1394ネットワークは、バスの使用権を管理することができる。
【0132】
(10)通信サイクル
アイソクロナス転送モードとアシンクロナス転送モードとは、各通信サイクル期間内において時分割に混在させることができる。ここで、通信サイクルの期間は、通常、125μSである。
【0133】
図20は、1通信サイクルにおいてアイソクロナス転送モードとアシンクロナス転送モードとを混在させた場合を説明する図である。
【0134】
アイソクロナス転送モードは、アシンクロナス転送モードより優先して実行される。その理由は、サイクル・スタート・パケットの後、アシンクロナス転送を起動するために必要なアイドル期間(subaction gap)が、アイソクロナス転送を起動するため必要なアイドル期間(isochronous gap)よりも長くなるように設定されているためである。これにより、アイソクロナス転送は、アシンクロナス転送に優先して実行される。
【0135】
図20において、各通信サイクルのスタート時には、サイクル・スタート・パケット(以下、CSP)が所定のノードから転送される。各ノードは、このCSPを用いて時刻調整を行うことによって、他のノードと同じ時間を計時することができる。
【0136】
(11)アイソクロナス転送モード
アイソクロナス転送モードは、同期型の転送方式である。アイソクロナスモード転送は、通信サイクルの開始後、所定の期間において実行可能である。又、アイソクロナス転送モードは、リアルタイム転送を維持するために、各サイクル毎に必ず実行される。
【0137】
アイソクロナス転送モードは、特に動画像データや音声データ等のリアルタイムな転送を必要とするデータの転送に適した転送モードである。アイソクロナス転送モードは、アシンクロナス転送モードのように1対1の通信ではなく、ブロードキャスト通信である。つまり、あるノードから送出されたパケットは、ネットワーク上の全てのノードに対して一様に転送される。尚、アイソクロナス転送には、ack(受信確認用返信コード)は存在しない。
【0138】
図20において、チャネルe(ch e)、チャネルs(ch s)、チャネルk(chk)は、各ノードがアイソクロナス転送を行う期間を示す。1394インタフェースでは、複数の異なるアイソクロナス転送を区別するために、夫々異なるチャネル番号を与えている。これにより、複数ノード間でのアイソクロナス転送が可能となる。ここで、このチャネル番号は、送信先を特定するものではなく、データに対する論理的な番号を与えているに過ぎない。
【0139】
又、図20に示したアイソクロナス gapとは、バスのアイドル状態を示すものである。このアイドル状態が一定時間を経過した後、アイソクロナス転送を希望するノードは、バスが使用できると判断し、アービトレーションを実行する。
【0140】
次に、図21にアイソクロナス転送モードに基づいて転送される通信パケットのフォーマットを示す。以下、アイソクロナス転送モードに基づいて転送される通信パケットを、アイソクロナスパケットと称する。
【0141】
図21において、アイソクロナスパケットはヘッダ部2101、ヘッダCRC2102、データ部2103、データCRC2104から構成される。
【0142】
ヘッダ部2101には、データ部2103のデータ長を格納するフィールド2105、アイソクロナスパケットのフォーマット情報を格納するフィールド2106、アイソクロナスパケットのチャネル番号を格納するフィールド2107、パケットのフォーマット及び実行しなければならない処理を識別するトランザクションコード(tcode)を格納するフィールド2108、同期化コードを格納するフィールド2109がある。
【0143】
(12)アシンクロナス転送モード
アシンクロナス転送モードは、非同期型の転送方式である。アシンクロナス転送は、アイソクロナス転送期間の終了後、次の通信サイクルが開始されるまでの間(即ち、次の通信サイクルのCSPが転送されるまでの間)、実行可能である。
【0144】
図20において、最初のサブアクション・ギャップ(subaction gap)は、バスのアイドル状態を示すものである。このアイドル時間が一定値になった後、アシンクロナス転送を希望するノードは、バスが使用できると判断し、アービトレーションを実行する。
【0145】
アービトレーションによりバスの使用権を得たノードは、図22に示すパケットを所定のノードに対して転送する。このパケットを受信したノードは、ack(受信確認用返送コード)或いは応答パケットをack gap後に返送する。
【0146】
図22は、アシンクロナス転送モードに基づく通信パケットのフォーマットを示す図である。以下、アシンクロナス転送モードに基づいて転送される通信パケットを、アシンクロナスパケットと称する。
【0147】
図22において、アシンクロナスパケットは、ヘッダ部2201、ヘッダCRC2202、データ部2203、データCRC2204から構成される。
【0148】
ヘッダ部2201において、フィールド2205には宛先となるノードのノードID、フィールド2206にはソースとなるノードのノードID、フィールド2207には一連のトランザクションを示すためのラベル、フィールド2208には再送ステータスを示すコード、フィールド2209にはパケットのフォーマット及び実行しなければならない処理を識別するトランザクションコード(tcode)、フィールド2210には優先順位、フィールド2211には宛先のメモリ・アドレス、フィールド2212にはデータ部のデータ長、フィールド2213には拡張されたトランザクション・コードが格納される。
【0149】
又、アシンクロナス転送は、自己ノードから相手ノードへの1対1の通信である。転送元ノードから転送されたパケットは、ネットワーク中の各ノードに行き渡るが、自分宛てのアドレス以外のものは無視される。従って、宛先となるノードのみが、そのパケットを読み込むことができる。
【0150】
尚、アシンクロナス転送中に次のCSPを転送すべき時間に至った場合、無理に転送を中断せず、その転送が終了した後、次のCSPを送信する。これにより、1つの通信サイクルが125μS以上続いたときは、その分、次の通信サイクル期間を短縮する。このようにすることによって、1394ネットワークは、ほぼ一定の通信サイクルを保持することができる。
【0151】
(13)デバイスマップ
デバイスマップを作成するためにアプリケーションが1394ネットワークのトポロジーを知る手段として、IEEE1394規格上は以下の手段がある。
【0152】
1.バスマネージャーのトポロジーマップレジスターをリードする
2.バスリセット時にセルフIDパケットから推定する
しかし上記1、2の手段では、各ノードの親子関係によるケーブル接続順のトポロジーは判明するものの、物理的な位置関係のトポロジーを知ることはできない(実装されていないポートまで見えてしまう、といった問題もある)。
【0153】
また、デバイスマップを作成するための情報を、コンフィギュレーションROM以外のデータベースとして持つ、といった手段もあるが、その場合、各種情報を得る手段はデータベースアクセスのためのプロトコルに依存してしまう。
【0154】
ところで、コンフィギュレーションROM自体やコンフィギュレーションROMを読む機能は、IEEE1394規格を遵守したデバイスが必ず持つものである。そこで、デバイスの位置、機能等の情報を各ノードのコンフィギュレーションROMに格納し、それらをアプリケーションから読む機能を与えることにより、データベースアクセス、データ転送等の特定のプロトコルに依存することなく、各ノードのアプリケーションがいわゆるデバイスマップ表示機能を実装することができる。
【0155】
すなわち、コンフィグレーションROMにはノード固有の情報として物理的な位置、機能などが格納可能であり、デバイスマップ表示機能の実現に使用することが可能である。
【0156】
この場合、アプリケーションが物理的な位置関係による1394ネットワークトポロジーを知る手段としては、バスリセット時やユーザからの要求時に、各ノードのコンフィギュレーションROMを読み取ることにより、1394ネットワークのトポロジーを知る、という方法が可能となる。さらに、コンフィギュレーションROM内にノードの物理的位置のみならず、機能などの各種ノード情報も記述すれば、コンフィギュレーションROMを読むことで、ノードの物理的位置と同時に各ノードの機能情報等も得ることができる。アプリケーションが各ノードのコンフィギュレーションROM情報を取得する際には、指定ノードの任意のコンフィギュレーションROM情報を取得するAPIを用いる。
【0157】
このような手段を用いることにより、IEEE1394ネットワーク上のデバイスのアプリケーションは、物理的なトポロジーマップ、各ノードの機能マップなど、用途に応じて様々なデバイスマップを作成することができ、ユーザが必要な機能をもつデバイスを選択する、といったことも可能となる。
【0158】
(14)SBP−2の概要
SBP−2(Serial Bus Protocol2)は、NCITS傘下のTechnical Committee T10のプロジェクトとして1996より標準化の審議が進められ、1998年にANSI NCITS 325−1998として標準化が認可された、IEEE1394バスに関するプロトコルである。レイヤとしては、IEEE1394−1995のトランザクション層の上位に位置するコマンド/データ転送プロトコルである。当初SBP−2は、SCSIコマンドによって、IEEE1394上のデバイスを動作させることを、主な目的として開発されたが、SCSIコマンドに限らず、他のコマンドを載せることもできる。
【0159】
SBP−2の特徴として以下の4つが挙げられる。
【0160】
1)イニシエータ(Initiator)/ターゲット(Target)構成のマスタスレイブモデル(Master Slave Model)であり、マスタであるイニシエータがログイン、ログアウト、タスク、マネージメント、コマンド発行等の全ての権限と責任を持つ。
【0161】
2)バスモデルとしてのIEEE1394の特徴を生かした共有メモリモデル(Shared Memory Model)である。コマンド等のターゲットへの要求内容は、基本的には全てシステムメモリ内に置かれ、要求を受けたターゲットがシステムメモリの内容を読みに行く。又は、システムメモリへ要求されたステータス等の情報をを書きこむ。
【0162】
即ち、通信のためのリソースを一箇所に集中できるので、リソースの負担を非常に軽くでき、かつターゲットが自分のペースでシステムメモリへ読み書きできるので、ターゲットの設計の自由度が高く、システムメモリのアクセスをH/W化することにより高速化が容易である。つまり、高性能にも、徹底した低コストモデルにもできる。
【0163】
3)メッセージ交換のためのコマンド群を一連のリンクリストとして記述する仕組みがあるため、レイテンシによる効率低下を隠蔽できるため、IEEE1394バスの特徴を生かした、高速で効率の高いデータ通信を実現できる。
【0164】
4)コマンドセットに依存しない構造である。つまり様々なコマンドセットに対応可能である。
【0165】
特徴1)に示したように、SBP−2はマスタであるイニシエータが全ての権限と責任を持つマスタスレイブモデルであるため、全てはイニシエータからの動作をトリガーにして行われる。イニシエータからのログイン、ログアウト要求やタスクマネージメント要求、コマンド等は、ORB(Operation Request Block)と呼ぶデータ構造に内包された形でターゲットに送られる。正しくは、イニシエータが自メモリに置き、ターゲットがそれを読み出す。図23に、主なORBの種類を示す。
【0166】
1)ダミーORB:ターゲットフェッチエージェントのイニシャライズ時、タスクのキャンセル等に使用する。ターゲットにはno operationとして扱われる。
【0167】
2)コマンドブロックORB:データ転送コマンド、デバイス制御コマンド等のコマンドを内包するORBである。詳細を図24に示す。対応するデータバッファ又はページテーブルのアドレス及びサイズを示すデータディスクリプタ(data_descriptor)、データサイズフィールド(data_size)を有する。また、次のコマンドブロックORBのアドレスを示すネクストORBフィールド(next_ORB)を有するので、コマンドをリンクできるのが特徴である。
【0168】
3)マネージメントORB:マネージメント要求(ログイン、ログアウトを含むアクセス要求、及びタスクマネージメント要求)を内包するORBである。詳細を図25に示す。タスクマネージメントの要求内容(アボートタスクセット(Abort Task Set)、ターゲットリセット等)を示すファンクションフィールド(function)と、ターゲットからの完了ステータスのアドレスを示すステータスFIFO(Status_FIFO)のフィールドを有するのが特徴である。
【0169】
この内、マネージメントORBについては、イニシエータは、ターゲットが応答を返すまで次のORBを発行することができない。一方、ダミーORBを含むコマンドブロックORBには、図24のようにネクストORBフィールドとして次のORBのアドレスを指示するフィールドがあるため、次々とコマンドを連結し、図26のようにリンクリストの形で一連のコマンド列を発行することができる。このネクストORBフィールドがnullの場合は、次に続くORBがないことを示す。
【0170】
また、このコマンドブロックORBの他のフィールドにはデータバッファ又はページテーブルのアドレス及びサイズを示すフィールド(データディスクリプタ及びデータサイズ)があり、例えばコマンドの内容がライトコマンドならば、ターゲットはデータディスクリプタで示されたシステムメモリ上のデータバッファにアクセスし、そこからライトデータを読みこむ。また、コマンドの内容がリードコマンドならば、ターゲットはデータディスクリプタで示されたシステムメモリ上のデータバッファにアクセスし、そこへコマンドの要求するデータを書きこむ。
【0171】
図27及び図28に、データバッファを直接示す場合と、ページテーブルを経由する場合を示す。物理的に不連続な領域のデータバッファを、ページテーブルにより、連続的に扱うことができ、仮想記憶による連続論理領域を物理的に再配置する必要がなくなるわけである。
【0172】
イニシエータからの様々な要求を実行するターゲット側の仕組みを、エージェント(Agent)と称する。エージェントには、マネージメントORBを実行するマネージメントエージェントと、コマンドブロックORBを実行するコマンドブロックエージェントがある。
【0173】
マネージメントエージェントには、マネージメントORBのアドレスをイニシエータがターゲットに知らせるためにストアする、マネージメントエージェントレジスタがある。
【0174】
コマンドブロックエージェントは、イニシエータのコマンドリンクリストからコマンドをフェッチしてくるため、フェッチエージェントとも呼ばれる。フェッチエージェントにも、コマンドブロックORBの先頭アドレスをイニシエータがストアするORBポインタレジスタと、イニシエータがターゲットにコマンドをFetchして貰いたいことを知らせるドアベルレジスタ等を含む、コマンドブロックエージェントレジスタがある。
【0175】
ターゲットはイニシエータからのORBの実行を完了すると、その実行完了のステータスを、ステータスブロックと言うデータ構造の形で(完了の成否に拘らず)イニシエータのステータスFIFOの示すアドレスにストアする。ステータスブロックの例を、図29に示す。
【0176】
ターゲットは最低8バイト、最大32バイトのステータス情報をストアすることができる。マネージメントORBの場合は、図25のステータスFIFOフィールドにORBの一部として明示的にステータスFIFOアドレスが提供されるので、ターゲットは指定されたアドレスにステータスブロックをストアする。それ以外の場合は、フェッチエージェントのコンテキストから得られるステータスFIFOにステータスブロックをストアする。コマンドブロックORBの場合は、イニシエータはステータスFIFOアドレスをログイン要求の一部として提供する。
【0177】
通常ターゲットは、イニシエータの発するORBに対してステータスFIFOアドレスにステータスブロックを書き込むことによって応答するが、デバイス側に変化が発生し、ロジカルユニットに影響する場合は、イニシエータからの要求が無くても自発的にアンソリシテッドステータス(Unsolicited Status)を返すこともできる。この場合のステータスFIFOアドレスは、イニシエータからのログイン要求の際にイニシエータから提供されるステータスFIFOアドレスである。
【0178】
SBP−2におけるイニシエータとターゲットの動作を、図30の動作モデルを用いて説明する。
【0179】
SBP−2の動作は、イニシエータが、ターゲットに対してログイン要求のためのマネージメントORB(ログインORB)を発行することから始まる。ターゲットは、イニシエータからの要求に対してログインレスポンスで応える。
【0180】
ログイン要求が受け入れられると、ターゲットからはログインレスポンスとしてコマンドブロックエージェントレジスタの先頭アドレスがかえされる。
【0181】
ログイン要求が受け入れられると、ターゲットのマネージメントエージェントは、イニシエータからのその後のタスクマネージメント要求を受け付ける。イニシエータは、タスクマネージメントORBを発行して、タスクの実行に必要な情報のやり取りをターゲットとの間で行う。ターゲットはイニシエータの発するORBに対してステータスFIFOにステータスブロックを書き込むことによって応答するが、デバイス側に変化が発生し、ロジカルユニットに影響する場合は、イニシエータからの要求が無くても自主的にアンソリシテッドステータスを返すこともできることは前述の通りである。
【0182】
タスクマネージメントに関するやり取りに続いて、イニシエータは必要なコマンドブロックORB(list)を自分のメモリ領域に形成する。そして、図31のように、ターゲットのコマンドブロックエージェントレジスタのORBポインタにORBの先頭アドレスを書きこむか又はコマンドブロックエージェントレジスタのドアベルレジスタを叩いて、ターゲットに対して通信すべきORBがイニシエータにあることを知らせる。
【0183】
これに応じて、ターゲットは、図32のように、ORBポインタに書かれたORBの先頭アドレス情報をもとにイニシエータのメモリにアクセスし、ORBを順次処理する。
【0184】
ところで、タスクの実行モデルには、オーダードモデルとアンオーダードモデルがある。オーダードモデルでは、ORBはリストの順番に沿って行われ、ターゲットの完了ステータスも順番に返される。アンオーダードモデルでは、ORBの実行順位に制約は無いが、どの順位でも最終的に同じ実行結果が得られるようにイニシエータが責任を持たなければならない。
【0185】
イニシエータからターゲットへのデータ転送はターゲットからシステムメモリへのリードトランザクションによって行われ、一方ターゲットからイニシエータへのデータ転送は、システムメモリへのライトトランザクションによって行われる。即ちデータバッファの転送は方向によらずターゲットが主導する。逆に言えば、ターゲットは自分に都合の良いペースでシステムメモリからのデータを読み出すことができる訳である。イニシエータはターゲットがORBを実行中でも、リストの最後のORBのネクストアドレスを次のORBのアドレスに書き換え、ターゲットのドアベルレジスタを再び叩いてターゲットに変更を知らせることにより、リンクリストにORBを追加することができる。ターゲットは、イニシエータのステータスFIFOのアドレスに完了ステータス(ステータスブロック)を返す。イニシエータは完了ステータス(ステータスブロック)が返されたのを見て、その対象ORBのターゲットによる実行が完了したことを知る。完了したORBは、(ネクストORBフィールドがnullでなければ)タスクセットのリンクリストから外すことができる、イニシエータはその空いたリソースを利用して、必要なら次のコマンドをコマンドリンクリストの最後に追加しても良い。
【0186】
このようにしてORBが実行されタスクが実行される。
【0187】
タスクが終了し、アクセスをつづける必要が無い場合は、イニシエータはログアウトORBを発行し、ターゲットが応えてログアウトが完了する。
【0188】
〈各ノードの構成〉
まず、IEEE1394バスに接続される各ノードの1394シリアルバスインターフェース部の構成を説明する。
【0189】
図33は1394インターフェースブロックの基本構成ブロック図である。
【0190】
図中3302は1394シリアルバスを直接ドライブするフィジカルレイヤー制御IC(PHYIC)であり、前述の〈IEEE1394の技術の概要〉におけるフィジカルレイヤの機能を実現する。主な機能としては、バスイニシャル化とアービトレーション、送信データ符号のエンコード/デコード、ケーブル通電状態の監視ならびに負荷終端用電源の供給(アクティブ接続認識用)、リンクレイヤICとのインターフェースである。
【0191】
3301はデバイス本体とのインターフェースを行い、PHYICのデータ転送をコントロールするリンクレイヤー制御IC(LINKIC)であり、前述の〈IEEE1394の技術の概要〉におけるリンクレイヤの機能を実現する。本ICが備える主な機能としてはPHYICを介する送信/受信データを一時格納する送受信FIFO、送信データのパケット化機能、PHYICが受信データが本ノードアドレス、またはアイソクロナス転送データの場合は割り当てられたチャンネル向けのものであるかの判定機能、またそのデータのエラーチェックを行うレシーバー機能、そしてデバイス本体とのインターフェースを行う機能がある。
【0192】
図中3304はリンクレイヤIC、PHYICをはじめとする1394インターフェース部をコントロールするCPUであり、3305は同インターフェース部のコントロール用プログラムが格納されているROMである。
【0193】
3306はRAMであり、送受信データを蓄えるデータバッファをはじめ、制御用ワークエリア、1394アドレスにマッピングされた各種レジスタのデータ領域に使用されている。
【0194】
図中3303はコンフィギュレーションROMであり、各機器固有の識別、通信条件等が格納されている。本ROMのデータフォーマットは〈IEEE1394の技術の概要〉で説明したようにIEEE1212並びにIEEE1394規格で定められたフォーマットに準じている。
【0195】
各ノードは図34に示すような一般形式のコンフィグレーションROMを装備しており、各デバイスのソフトウエアユニット情報はユニットディレクトリに保存されている。
本実施形態のプリンタでの場合、通信プロトコルとしてSBP−2をサポート、そしてSBP−2の論理チャネルを具備するためにユニットディレクトリにSBP−2を識別するIDが装備されている。
【0196】
〈IEEE1394の技術の概要〉で説明したように1394シリアルバスのアドレス設定のうち、最後の28ビットはシリアルバスに接続される他のデバイスからアクセス可能な、各機器の固有データの領域として確保されている。図35はこの28ビットのアドレス空間を表した図である。
【0197】
図中0000番地から0200番地の領域にはCSRコアレジスタ群が配置されている。
【0198】
これらレジスタはCSRアーキテクチャで定められたノード管理のための基本的な機能として存在している。
【0199】
0200番地から0400番地の領域は、CSRアーキテクチャにより、シリアルバスに関するレジスタが格納される領域として定義されている。この領域の詳しい構成を図36に示す。図36においては、シリアルバスに関するレジスタとして、0200〜0230番地のレジスタが定義されておりデータ転送の同期、電源供給、バスリソース管理等に使用されるレジスタが配置されている。なお、コンフィギュレーションROMは400番地から800番地の領域に配置されている。
【0200】
0800番地から1000番地までの領域には、現在の1394バスのトポロジ情報、またノード間の転送スピードに関する情報が格納されている。
【0201】
1000番地以降の領域はユニット空間と呼ばれ、各デバイス固有の動作に関連するレジスタが配置されている。この領域には各デバイスがサポートする上位プロトコルで規定されたレジスタ群とデータ転送用メモリマップドバッファ領域、また各機器固有のレジスタが配置される。
【0202】
〈本実施形態に係る情報処理システム〉
図1は、本実施形態の情報処理システムを示す図であり、IEEE1394で接続されたホストコンピュータ(以下ホスト)1a、1cとプリンタ1bを表している。
【0203】
ホスト1aとプリンタ1bの通信はIEEE1394インターフェース上で使われる代表的なデータ転送プロトコルであるSBP−2プロトコルを使って行なわれ、ホスト−プリンタ間のデータ転送を行なうための通信チャネルとしてLUN0が予め定められている。
【0204】
本情報処理システムは、ホスト1aがSBP−2プロトコルを用いたイニシエータとして、SBP−2のターゲットであるプリンタ装置1bとの間で通信を行うシステムである。またこの情報処理システムの場合、SBP−2プロトコルの上位コマンドセットとして予め規定されたプリンタ制御用通信コマンドプロトコルに基づいてホスト−プリンタ間通信が行なわれ、コマンドに従った処理が行なわれる。
【0205】
プリンタ1bはホスト1aから送られたプリンタコントロール、並びにプリントデータを受信し処理する機能と、プリンタ1bへのコントロールに対応して現在のプリンタステータスデータをホストに送信する機能を論理ユニットLUN0を通して行なう。またこれら複数の論理ユニットに対する通信チャンネル樹立、切断といったマネージメントリクエストを処理するマネージメントエージェントを装備している。
【0206】
論理ユニットLUN0は、SBP−2プロトコルに従いORBのフェッチを行なうコマンドブロックエージェントと、ORBで示されるコマンドに対応してデータバッファに対して所定の処理を行なうエクセキューションエージェントとを含むフェッチエージェントと呼ばれる機構を管理している。イニシエータ1aがターゲット1bの論理ユニットLUN0に所定の機能を処理させる場合には当該論理ユニットLUN0のフェッチエージェントより上記所定の処理を実行させる仕組みとなっている。
【0207】
フェッチエージェントはSBP−2のオーダードモデルに従い、イニシエータから発行されるORBをシーケンシャルに処理することにより上記所定の処理を実行させる仕組みとなっている。
【0208】
本実施形態で使用されるプリンタ制御用通信コマンドプロトコルはSBP−2に従ったデータフローコントロールを行なう。すなわちターゲットプリンタがORBをフェッチし、対応したデータバッファ処理を完了した際には、ステータスブロックにORB完了を表す所定の値を代入した上で、そのステータスブロックを、イニシエータの所定のアドレスに対して発行する。イニシエータはステータスFIFOへのステータスブロックの書き込みにより、ORBの実行処理完了を認識する。
【0209】
SBP−2で定義されているステータスブロックのフォーマットにはベンダーユニークな情報を格納するフィールドが用意されている。本実施形態で使用されるプリンタ制御用通信コマンドプロトコルではこのベンダーユニークフィールドに、他のホストからのターゲットプリンタへのログイン要求の有無、ログイン要求を行なったホスト(イニシエータ)のIDを示すフィールドが定義されている。このステータス・ブロックのフォーマットを図37に示す。
【0210】
イニシエータであるホスト1aは、プリントジョブを実行するためにターゲットプリンタ1bの論理ユニットLUN0への接続を行なう。
【0211】
プリンタ1bのマネージメントエージェントは、ホスト1aから論理ユニットLUN0に対する通信開始の要求、すなわちログイン要求があると、その論理ユニットを管理するフェッチエージェントへアクセスするためのエントリポイントとなるベースアドレスを含んだ応答をログインレスポンスとしてイニシエータへ返送する。これによりイニシエータ1aに対して通信を許可する。
【0212】
ホスト1aは発行したログイン要求が許可されると通信を開始する。ORBポインタのアクセスによりフェッチの起動要求を受けたターゲットは、その要求に含まれるポインタ情報を元に、そのORBをIEEE1394のリードトランズアクションを使いフェッチする。そして、そのORBに付加されたコマンドに応じてデータバッファへのアクセスを行なう。ORBの処理が完了した際にはプリンタはホストに対してステータスブロックを発行し、それを通知する。
【0213】
次に、このように動作しているホスト1aとターゲットプリンタ1bと同じネットワーク上に存在するもうひとつのホスト1cがプリンタ1bに対して接続要求を行なった場合について説明する。
【0214】
前述のようにLUN0を使用したプリントジョブに伴うデータ転送がホスト1a、ターゲット1b間で行なわれている最中に、ホスト1cがプリンタ1bに対してプリントジョブを発行する場合、イニシエータであるホスト1cはプリントジョブを実行するために、プリンタ1bの論理ユニットLUN0への接続を試みる。
【0215】
プリンタ1bは、ホスト1cから論理ユニットLUN0に対する通信開始の要求、すなわちログイン要求を受信した場合、そのマネージメントエージェントが、論理ユニットLUN0が既にホスト1aによってログインされ、占有されている為に新たなログイン要求を受け付けられないことを判断する。そして、プリンタ1bはログイン拒否を表す所定のデータを代入したステータスブロックをホスト1cへ返送することによりホスト1cに対してログインを拒否する。
【0216】
ここでプリンタ1bは、データ転送継続中であるホスト1aに対してそのORBの実行完了通知の為に発行するステータスブロックの中の、プリンタ制御用通信コマンドプロトコルで定義された、他のホストからのターゲットプリンタへのログイン要求の有無を表すフィールドに、ログイン要求の有ったことを表す値を代入し、ログイン要求を行なったホスト1cのノードIDを示すフィールドに、適当な値を代入してホスト1aへ発行する。
【0217】
ステータスブロックを受信したホスト1aは、他のホストがプリンタ1bに対して接続要求を行なったことをフィールドの確認によって知る。ホスト1aは、他のホストからプリンタ1bへの接続要求があることを知ると、プリンタ1bが他のプリントジョブを受け付けることができるようになった時にプリンタ1bに対してログアウト要求を行ない、プリンタ1bからの切断を行なう。これにより、プリンタ1bはホスト1cからの接続要求に応じることが可能となる。
【0218】
なお、本実施形態では、SBP−2に基づいてデータ通信を行う情報処理システムについて説明したが、本発明はこれに限定されるものではなく、SBP−3等のプロトコルに基づいてデータ通信を行うシステムに適用しても良い。
【0219】
(他の実施形態)
以上、本発明の実施形態について詳述したが、本発明は、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。また、上記実施形態では通信制御バスとしてIEEE1394を利用した例について説明したが、本発明はこれに限定されるものではなく、USBなどの他の規格のバスを利用しても良い。
【0220】
なお、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラムを、システム或いは装置に直接或いは遠隔から供給し、そのシステム或いは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。その場合、プログラムの機能を有していれば、形態は、プログラムである必要はない。
【0221】
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明のクレームでは、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
【0222】
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等、プログラムの形態を問わない。
【0223】
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
【0224】
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明のクレームに含まれるものである。
【0225】
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
【0226】
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
【0227】
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
【0228】
【発明の効果】
本発明によれば、IEEE1394準拠のプロトコルでデータ通信を効率的に行うことのできる情報処理システム、情報処理方法、プログラム及び記憶媒体を提供することができる。
【0229】
例えば、IEEE1394に準拠した通信制御バスに接続されたホスト・プリンタの2ノード間における通信プロトコルであって、デバイスと複数のホストとがSBP−2に基づいて接続されている環境において、1つのホストとのSBP−2セッション確立中に他のホストからのログインリクエストによるセッション確立要求があった場合、プリンタは既にログインセッションが確立中であるホストとのSBP−2データ通信の中で、ステータスFIFOのあらかじめ定められた箇所に他ホストからログイン要求があったことを通知する情報を付加する。上記情報を受け取ったホストはログアウトにより一旦該当プリンタとのセッションを中断し、プリンタの他のホストからのログイン要求に応じられるようにする。これにより、SBP−2を使ってプリンタ等周辺機器とのセッションを樹立している特定のホストが他のホストからの接続要求に気付くことなく周辺機器を占有することを防ぐことが可能となる。
【図面の簡単な説明】
【図1】本発明のホスト・プリンタ通信システムの構成を示した図である。
【図2】1394シリアルバスのネットワークの構成を示した図である。
【図3】本発明の1394シリアルバスの構成要素を示した図である。
【図4】本発明の1394シリアルバスのリンク・レイヤ提供可能なサービスを示す図である。
【図5】本発明の1394シリアルバスのトランズアクション・レイヤ提供可能なサービスを示す図である。
【図6】1394インタフェースにおけるアドレス空間を説明する図である
【図7】1394インタフェースにおけるCSRコア・レジスタに格納される情報のアドレス及び機能を示す図である。
【図8】1394インタフェースにおけるシリアルバス・レジスタに格納される情報のアドレス及び機能を示す図である。
【図9】1394インタフェースにおける最小形式のコンフィグレーションROMを示す図である。
【図10】1394インタフェースにおける一般形式のコンフィグレーションROMを示す図である。
【図11】1394インタフェースにおけるシリアルバス装置レジスタに格納される情報のアドレス及び機能を示す図である。
【図12】IEEE1394規格に準拠した通信ケーブルの断面図である。
【図13】DS−Link符号化方式を説明する図である。
【図14】バスリセットの開始からノードIDの割り当て処理までの基本的なシーケンスを示した図である。
【図15】バスリセットの開始からノードIDの割り当て処理までの基本的なシーケンスを示した図である。
【図16】バスリセットの開始からノードIDの割り当て処理までの基本的なシーケンスを示した図である。
【図17】図15に示したステップS1505の処理(即ち、自動的に各ノードのノードIDを割り当てる処理)を詳細に説明するフローチャートである。
【図18】1394インターフェースにおけるセルフIDパケットの構成を示した図である。
【図19】1394ネットワークにおけるアービトレーションを説明する図である。
【図20】1通信サイクルにおいてアイソクロナス転送モードとアシンクロナス転送モードとを混在させた場合を説明する図である。
【図21】アイソクロナス転送モードに基づいて転送される通信パケットのフォーマットを示した図である。
【図22】本発明のアシンクロナス転送のパケットフォーマットを示した図である。
【図23】SBP−2におけるORB種別を示した図である。
【図24】SBP−2におけるコマンドブロックORBのフォーマットを示した図である。
【図25】SBP−2におけるマネージメントORBのフォーマットを示した図である。
【図26】SBP−2におけるコマンドブロックORBのリンクリストを示した図である。
【図27】SBP−2におけるデータバッファの直接アクセスを示した図である。
【図28】SBP−2におけるページテーブルの使用を示した図である。
【図29】SBP−2におけるステータスFIFOのフォーマットを示した図である。
【図30】SBP−2におけるログイン動作を示した図である。
【図31】SBP−2にタスク実行の最初の動作を示した図である。
【図32】SBP−2におけるコマンドORBの動作を示した図である。
【図33】本実施の形態におけるプリンタ・ホストのIEEEインターフェース部のブロック図である。
【図34】本実施の形態におけるプリンタのコンフィグレーションROMを示す図である。
【図35】本実施の形態におけるプリンタの1394アドレス空間を示す図である。
【図36】本実施の形態におけるプリンタのコアCSRレジスタを示す図である。
【図37】本実施の形態におけるプリンタ・ホスト間で使用されるプリンタ制御用通信コマンドプロトコルで定義されたステータスブロックのフォーマットを示した図である。

Claims (10)

  1. 通信制御バスに接続された第1機器、第2機器及び第3機器を含む情報処理システムであって、
    前記第1機器が前記第2機器の論理ユニットにログインしている間に、前記第3機器から前記第2機器の前記論理ユニットへのログイン要求があった場合に、前記第2機器が前記第1機器に対してその旨通知する通知情報を送信することを特徴とする情報処理システム。
  2. 前記通信制御バスは、IEEE1394に準拠したバスであって、
    前記第2機器からの通知情報を受け取った前記第1機器が、前記第2機器の前記論理ユニットからログアウトすることを特徴とする請求項1に記載の情報処理システム。
  3. 前記第1、第2、第3機器は、互いに、IEEE1394のシリアルバスプロトコル2を用いてデータ通信を行うことを特徴とする請求項1または2に記載の情報処理システム。
  4. 前記通知情報は、前記第1機器からのコマンドブロックに応答するためのステータスブロックの一部に含まれることを特徴とする請求項1、2または3に記載の情報処理システム。
  5. IEEE1394に準拠した通信制御バスに接続された第1機器、第2機器及び第3機器間における通信方法であって、
    前記第1機器が前記第2機器の論理ユニットにログインしている間に、前記第3機器から前記第2機器の前記論理ユニットへのログイン要求があった場合に、前記第2機器が前記第1機器に対してその旨通知する通知情報を送信することを特徴とする通信方法。
  6. 通信制御バスに接続された第1機器、第2機器及び第3機器を含む情報処理システムであって、
    前記第1機器が前記第2機器の論理ユニットにログインしている間に、前記第3機器から前記第2機器の前記論理ユニットへのログイン要求があった場合に、前記第2機器が前記第1機器に対してログアウトさせるためにその旨通知する通知情報を送信することを特徴とする情報処理システム。
  7. 複数の機器と通信制御バスで接続された情報処理装置であって、
    第1の機器が論理ユニットにログインしている間に、第2の機器から前記論理ユニットへのログイン要求があった場合に、前記第1機器に対してログアウトさせるためにその旨通知する通知情報を送信する手段を有することを特徴とする情報処理装置。
  8. 複数の機器と通信制御バスで接続された情報処理装置における通信方法であって、
    第1の機器が論理ユニットにログインしている間に、第2の機器から前記論理ユニットへのログイン要求があった場合に、前記第1機器に対してログアウトさせるためにその旨通知する通知情報を送信することを特徴とする通信方法。
  9. 請求項5または8に記載の通信方法をコンピュータに実現させることを特徴とするプログラム。
  10. 前記請求項9に記載のプログラムを格納したことを特徴とするコンピュータ読取り可能な記憶媒体。
JP2002260398A 2002-09-05 2002-09-05 情報処理システム、情報処理方法、プログラム及び記憶媒体 Withdrawn JP2004102443A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002260398A JP2004102443A (ja) 2002-09-05 2002-09-05 情報処理システム、情報処理方法、プログラム及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002260398A JP2004102443A (ja) 2002-09-05 2002-09-05 情報処理システム、情報処理方法、プログラム及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2004102443A true JP2004102443A (ja) 2004-04-02

Family

ID=32261131

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002260398A Withdrawn JP2004102443A (ja) 2002-09-05 2002-09-05 情報処理システム、情報処理方法、プログラム及び記憶媒体

Country Status (1)

Country Link
JP (1) JP2004102443A (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010251846A (ja) * 2009-04-10 2010-11-04 Toshiba Corp 電子機器および通信制御方法
JP2014092889A (ja) * 2012-11-02 2014-05-19 Brother Ind Ltd 通信装置および通信プログラム
JP2019204239A (ja) * 2018-05-22 2019-11-28 富士ゼロックス株式会社 情報処理装置、情報処理システム及びプログラム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010251846A (ja) * 2009-04-10 2010-11-04 Toshiba Corp 電子機器および通信制御方法
US8117318B2 (en) 2009-04-10 2012-02-14 Kabushiki Kaisha Toshiba Electronic apparatus and communication control method
JP2014092889A (ja) * 2012-11-02 2014-05-19 Brother Ind Ltd 通信装置および通信プログラム
JP2019204239A (ja) * 2018-05-22 2019-11-28 富士ゼロックス株式会社 情報処理装置、情報処理システム及びプログラム
CN110515661A (zh) * 2018-05-22 2019-11-29 富士施乐株式会社 信息处理装置、信息处理系统以及信息处理方法
JP7106984B2 (ja) 2018-05-22 2022-07-27 富士フイルムビジネスイノベーション株式会社 情報処理装置、情報処理システム及びプログラム

Similar Documents

Publication Publication Date Title
JP4536981B2 (ja) 情報信号処理装置及び情報信号処理方法
JP4035235B2 (ja) 電子機器
JPWO2001017177A1 (ja) 情報通信システム、情報通信方法、情報信号処理装置及び情報信号処理方法並びに記憶媒体
JP4027189B2 (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム及び記憶媒体
US6823408B2 (en) Electronic equipment, and method for controlling state of physical layer circuit therefor
JP2003174486A (ja) 情報通信装置、情報通信方法および情報通信処理プログラム
US6963938B2 (en) Information processing apparatus and method therefor
JP2001274813A (ja) 情報信号処理装置及び情報信号処理方法並びに記憶媒体
JP2004102443A (ja) 情報処理システム、情報処理方法、プログラム及び記憶媒体
US20040057447A1 (en) Communication system
JP4095384B2 (ja) 情報処理システム、情報処理装置、情報処理方法、プログラム及び記憶媒体
JP2004064665A (ja) データ転送装置及び送信装置及び受信装置及びそれらの制御方法
JP4109983B2 (ja) 通信システム
JP2003110651A (ja) データ処理方法、データ処理装置、通信プロトコル及びプログラム
JP3495878B2 (ja) データ処理方法、データ処理装置及びプリンタ
JP2005044078A (ja) 通信方法、印刷装置及びホスト装置
JP2001144783A (ja) シリアルバスブリッジ、端末装置、情報通信システム、情報通信方法並びに記憶媒体
JP2006134222A (ja) 情報処理装置及び方法
JP2009027349A (ja) ネットワーク機器
JP2004179898A (ja) 画像処理装置
JPH11177589A (ja) データ転送装置およびデータ転送装置のデータ処理方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP2004192559A (ja) 画像処理システム
KR20000034219A (ko) 버스시스템의 기기 제어방법
JP2001313661A (ja) 通信システム及び通信方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20060110