JP2004013828A - データ転送装置 - Google Patents
データ転送装置 Download PDFInfo
- Publication number
- JP2004013828A JP2004013828A JP2002170314A JP2002170314A JP2004013828A JP 2004013828 A JP2004013828 A JP 2004013828A JP 2002170314 A JP2002170314 A JP 2002170314A JP 2002170314 A JP2002170314 A JP 2002170314A JP 2004013828 A JP2004013828 A JP 2004013828A
- Authority
- JP
- Japan
- Prior art keywords
- data transfer
- data
- orb
- request
- hard disk
- 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
Links
Images
Landscapes
- Information Transfer Systems (AREA)
Abstract
【解決手段】非対称の通信プロトコルによるデータ転送機能のターゲット機能のみ有するハードディスク202,203に接続されるI/Fを備えたデータ転送装置201を設け、CPUの制御により、I/Fを介して接続されるハードディスク202,203に応じて非対称の通信プロトコルによるデータ転送機能のイニシエータ機能による動作を実行して、ハードディスク202,203のデータ転送を実行させる。
【選択図】 図1
Description
【発明の属する技術分野】
この発明は、非対称の通信モデルを採用している機器でそのいずれか一方の機能しか持たない機器同士でもデータ転送を可能にするデータ転送装置に関する。
【0002】
【従来の技術】
近年の情報技術の進展に伴い、パーソナルコンピュータ(以下「パソコン」という)の周辺で使用される外部機器にも様々な機器が存在している。それに伴い、パソコンと外部機器を結ぶインターフェースにもいくつかのものがある。例えば、IEEE1394(IEEE:米国電気電子技術者協会が仕様を採択した規格)がある。このIEEE1394では、バスに接続する各機器の機能、例えばプリンタやスキャナ等の外部機器の有する機能を知るためのしくみが提供されている。
現在市場に提供されているプリンタやスキャナは通信プロトコルにSBP−2(Serial Bus Protocol 2nd version)を使用しているものが多くなっている。このSBP−2は非対称の通信プロトコルであり、このSBP−2による通信モデルでは、通信を行う機器の一方がイニシエータとして作動し、もう一方の機器がターゲットとして作動する。イニシエータは通信を行うターゲットを選択し、通信を通してターゲットに対して動作要求を行い、動作に必要なバッファ領域の確保を行う。このため、イニシエータは通信可能なターゲットの列挙、通信するターゲットの選択、ターゲットに対する要求の発行、バッファの管理等の機能を持つことになる。
【0003】
一方、ターゲットは、イニシエータから要求された動作を行い、その動作に必要なデータをイニシエータの用意したバッファ領域から取得したり、或いは動作の結果として生成されたデータをイニシエータの用意したバッファ領域に格納したりする。このため、ターゲットはイニシエータからの要求受付、指定されたバッファ領域からのデータ取得、指定されたデータ領域へのデータ格納、要求動作を実行した結果の告知等の機能をもつことになる。このように、SBP−2による通信モデルは非対称であり、イニシエータとターゲットでは通信を行うのに必要とされる機能が大きく相違している。
【0004】
【発明が解決しようとする課題】
しかし、これらの機器を組み合わせて使用する場合、次の点が問題になる。例えばスキャナで取得したデータをプリンタで出力しようとする場合、そのスキャナとプリンタとでデータを直接やり取りするためには、どちらかがイニシエータとして作動し、どちらかがターゲットとして作動する必要がある。しかしながら、一般的にスキャナもプリンタも通常はターゲットとして構成されているから、既存の機器を組み合わせてこのような通信を可能にすることは、上述のとおりイニシエータとターゲットに要求される機能が大きく相違することから不可能である。
また、どちらか一方の機器に、ターゲットに加えてイニシエータの機能を持たせるように構成しようとすると、イニシエータとターゲットに必要とされる機能がまったく違うことから、両方の機能を構成するために必要とされる資源がターゲットのみの構成の二倍になってしまう。つまり、この考えによると、プリンタやスキャナに全く違う2つの機能を実装するのと同じことになる。
【0005】
さらに、通信を行う機器のどちらか一方がイニシエータの機能を持てばよいにもかかわらず、既存のその他の機器と組み合わせて使用され得ることを考慮すると、プリンタ側或いはスキャナ側等、イニシエータの機能を実装する機器を限定することはできないから、このような使用方法を前提とするすべての機器にイニシエータの機能を持たせる必要が生じてしまう。さらにまた、ターゲットの機能を専用の半導体の処理によって実現している場合、そのターゲットの機能をイニシエータとして構成すること自体が非現実的な要求となってしまう。
このSBP−2のような非対称な通信プロトコルによるデータ通信機能を有する外部機器のうち、上述のスキャナやプリンタを含め、ハードディスク等の二次記憶装置やCD−ROM等の固定記憶装置、CD−RW等の書き換え可能な記憶装置など、ターゲットの機能しか持たないものは数多く存在している。
【0006】
この発明は、上記の問題点を解決するためになされたものであり、SBP−2をはじめとする非対称な通信プロトコルによるデータ通信機能を有する外部機器で、非対称のいずれか一方の機能しか持たない機器同士でもデータ転送を可能にすることを目的とする。
【0007】
【課題を解決するための手段】
この発明は、上記の目的を達成するため、非対称の通信プロトコルによるデータ転送機能の一方を有して他方を有しない通信手段を有する複数の外部機器に接続されるインターフェースを備えたデータ転送装置であって、上記インターフェースを介して接続される上記各外部機器の有しない非対称の通信プロトコルによるデータ転送機能による動作を実行して、その各外部機器間のデータ転送を実行させる制御手段を設けたデータ転送装置を特徴とするものである。
また、このデータ転送装置は、上記制御手段が、データ転送要求のデータ転送方向に依存する部分を変更して、上記外部機器にデータ転送要求を発行するように構成されているとよい。
【0008】
この構成では、データ通信の際にオーバヘッドとなる領域の確保や領域データの設定などの作業が省略でき、転送効率および転送速度が向上する。
また、上記データ転送装置は、上記外部機器のうちデータの転送元となる機器又は転送先となる機器を選択させる手段を設けたものがよい。
さらに、上記データ転送装置は、上記制御手段が上記外部機器のいずれか一つからその他の複数の外部機器に対し、データ転送方向とデータ転送要求を変更して、上記各外部機器にデータ転送要求を発行するように構成されていることが好ましい。
この構成では、複数の転送先に対してデータ転送を行う際に、個別にORBやバッファの領域を確保することなく複数のデータ転送を行うことが可能となり、転送装置が必要とするRAMの容量が抑えられる。
上記いずれのデータ転送装置でも、インターフェースに接続される外部機器を列挙して表示させる手段と、その表示された上記外部機器から上記データ転送を実行させる外部機器を選択させる手段とを設け、上記制御手段がその選択された各外部機器間のデータ転送を実行させるように構成されているとよい。
上記インターフェースがIEEE1394に従う通信インターフェースにすることができ、また、USBに従う通信インターフェースにすることもできる。
【0009】
【発明の実施の形態】
以下、この発明の実施の形態を図面に基づいて詳細に説明する。
(第1の実施の形態)
図1は、この発明によるデータ転送装置内部の主要な構成を示すブロック図である。この発明によるデータ転送装置201は、CPU101と、ROM102と、RAM103と、IEEE1394I/F104と、I/Oパネル105とを有し、これらがシステムバス106に接続されて構成されている。
CPU101は、データ転送装置201全体の制御を行う制御手段であって、データ転送装置201がIEEE1394I/F104を介して接続される外部機器同士がデータ転送を行うようにその動作を制御し、IEEE1394に規定された内容の動作を実現させる。
【0010】
ROM102は、CPU101が実行する制御プログラムを記憶している。RAM103は、CPU101が制御プログラムを実行する際に必要なデータを記憶するとともに、ORB(Operation Request Block)とよばれるデータ構造やデータ転送に必要なバッファ(データ転送バッファ)が確保される。また、このRAM103上に確保されるORBやデータ転送バッファは、CPU101により実行されるROM102に記憶されているソフトウェア(プログラム)によって管理されている。IEEE1394I/F(以下「I/F」という)104は、IEEE1394にしたがってデータ転送を行い、接続されるターゲットからORBやRAM103上のデータ転送バッファへのアクセスがあった場合に直接RAM103を参照してデータをターゲットに入力する。I/Oパネル105は、液晶ディスプレイ等の表示装置を有し、CPU101の指示にしたがいデータ転送装置201に接続される外部機器の一覧を表示し、それらを選択させる。
【0011】
データ転送装置201は、IEEE1394に規定された内容の動作を実現する。そのIEEE1394では個々の機器をノードという。このIEEE1394によりバスに接続する機器(IEEE1394機器)は、機器がバス上に追加されるなどしてバスリセットが発生した時点でルートノードが決定され、各機器にノード番号が割り振られる。このとき、IEEE1394機器のうちどれか一つの機器がルートノードとなり、この機器に一番大きなノード番号が割り振られる。通常、ルートノードとなる機器は、一定の手順に従って自動的に選抜されるが、機器が自ら進んでルートノードとなることも可能である。また、各機器のノード番号は、ルートノードとなった機器にどのように接続しているかによって一意に決定される。IEEE1394では、1394の各ポートにポート番号が割り振られていて、ルートノードからポート番号の若い順に辿ってノード番号が割り振られていく。
【0012】
一方、同一のIEEE1394のバス上に接続する機器は、バス上に接続する他の機器の機能を調べる事ができるが、これはIEEE1394に規定される構成情報を読み取る事で実現する事ができる。SBP−2での通信を行う場合、一方の機器がイニシエータとなって、通信を行う相手(ターゲット)の選択、動作要求の発行、データ転送に必要な領域の提供等を行う。このため、イニシエータにはSBP−2により通信を行える機器の列挙、通信を行うターゲットの選択、ターゲットに対する要求の発行(シグナル)、要求内容の保持や要求の実行に必要なデータ領域の確保等バッファ管理等の機能が必要となる。その一方、ある機器がターゲットとして動作可能なためには、イニシエータからの要求受付、指定されたバッファ領域からの要求内容やデータの取得、要求内容の実行、指定されたバッファ領域へのデータ転送等の機能が必要となる。
【0013】
ところで、イニシエータからターゲットに対する動作要求は、ORB(Operation Request Block)とよばれるデータ構造をイニシエータのメモリ領域に確保し、その場所をターゲットに対してシグナルする(指定する)ことでなされる。ORBの場所をシグナルされたターゲットは、指定された場所から要求内容を示すORBを取得してそれによる動作を行う。ORBにはManagement ORBと、Command block ORBと、Dummy ORBの3つの種類がある。
Management ORBは通信接続の管理や実行される要求内容の管理などに用いられ、LOGIN、QUERY LOGIN、RECONNECT、LOGOUT、ABORT TASK SETなどが有る。
Command block ORBは機器の制御やデータ転送の要求を保持する。Dummy ORBは中身が空であり要求内容を何も持たない。
【0014】
図3にはSBP−2での基本的な通信の手順が示されているが、この手順については後に詳しく説明する。
イニシエータは要求内容を元にORBを構築し、その要求内容がデータ転送を伴う場合には転送しようとするデータを格納するバッファを確保し、そのアドレスをORB内に格納する。バッファのアドレス情報がORB内に収まらない場合は、バッファのアドレス情報の一覧(page table)を作成し、その一覧へのアドレスをORBに格納する場合もある。また、イニシエータからターゲットに対するデータ転送の場合は、転送するデータをイニシエータが確保したバッファに格納しておく。次に、イニシエータはアドレスをターゲットにシグナルする。ターゲットはシグナルされたORBを取得し、そのORBが保持している要求内容を実行する。このとき、データ転送が必要であれば、ORB内又はORB内に指定されたアドレス情報一覧のアドレスからバッファのアドレスを取得し、指定されたバッファのアドレスに対してデータ転送を行う。ターゲットは、必要であれば又はイニシエータから指定された場合、ORBの実行が終わるとイニシエータが指定したアドレスに対してその実行結果を書き込む。
【0015】
図2は、データ転送装置201を用いた機器接続の一例を示す図である。図2では、データ転送装置201にIEEE1394を介して2台のハードディスク202,203が接続されていて、マスターとなる一方のハードディスク202に記憶されている情報のすべての内容をもう一方のハードディスク203に転送して複製する。このような装置の接続は、例えばパソコン本体に内蔵されるハードディスクの初期状態を構成するために使用されている。この実施の形態において、ハードディスク202,203のデータ転送を司る手段はIEEE1394バスに接続可能な一般的な機能しか保有していない。つまり、SBP−2によるターゲットの機能しか有してなく、ターゲットとしてしか作動することができない。そこで、データ転送装置201にイニシエータ機能を実装してハードディスク202,203の間でのデータ転送を次のように仲介させている。
【0016】
ここで、図2に示すデータ転送装置201の仲介によるハードディスク202,203の間でのデータ転送の手順について説明する。
以下の例では、I/Oパネル105にコピースイッチ(図示せず)が設けられていることを条件としている。つまり、そのコピースイッチが押された時点で、ハードディスク202,203より形式情報、容量等ハードディスクに付帯する情報を取得するようになっていて、これらの情報が合致しない場合は一方のハードディスクに記憶されている情報の複製は不可能であると判断され、データ転送は開始されない。
【0017】
まず、処理開始後、データ転送に先立ち、取得された情報の合致を含む所定の条件が満たされているか否かを確認し、それが満たされていると判断された時点でデータ転送が開始される。このとき、データ転送の転送元となるハードディスクは、IEEE1394により自動的に振られるノード番号が0となったものとする。このとき、データ転送装置201を常にルートノードとなるように構成し、データ転送装置201の複数の1394ポート内で、ポート番号の一番若いものをデータ転送元、すなわちマスターハードディスクのみを接続するようにすることで、物理的にマスターハードディスクを指定することができる。
これに限らず、マスターハードディスクを決定する方法として、I/Oパネル105に設置された表示装置に接続する機器の一覧を表示し、ユーザがその機器の一覧からマスターハードディスクとするものを選ぶこと(ユーザに選択させること)をもって、なすこともできる。
【0018】
以下の説明では、説明を簡略化するため、ハードディスク202がマスターハードディスクであるものとする。また、データの転送先となるハードディスクは残る一方、すなわち、ハードディスク203とする。これに限らず、データ転送先すなわちターゲットハードディスクを決定する方法として、マスターハードディスクの選択同様、I/Oパネル105に設置された表示装置に接続する機器の一覧を表示し、ユーザがその機器の一覧からターゲットハードディスクとするものを選ぶことをもって、なすことも出来る。こうすると、複数の機器が接続される環境下での転送元、転送先となる機器選択が行えるし、ユーザによる視覚的な選択が可能となり、システム構成や各機器の接続状態に柔軟性をもたせることができる。データ通信装置201は、こうして決定されたハードディスク202とハードディスク203との間でデータ転送を行わせる。
また、この実施の形態では、ターゲットハードディスク(ハードディスク203)は1台であるが、ターゲットハードディスクとなる機器が複数接続されていても良く、一つのマスターハードディスクから複数のターゲットハードディスクに対してデータ転送を行うように構成することも可能である。
【0019】
一方のハードディスクの全領域に記憶されているデータを複製するためのデータ転送は、図3に示す部分的なデータ転送(部分データ転送)を繰り返し行うことによって実現される。以下、その一回の部分データ転送の手順について説明する。
まず、データ転送装置201はハードディスク202からデータを取得するために、CPU101の指示により、取得データを格納するバッファ領域とORBを格納する領域、必要であればバッファのアドレス一覧の領域をRAM103上に確保(Allocation)する(301)。また、CPU101の指示により、確保されたORBの格納領域にデータ読み出しの要求内容を持つORBを作成(setup)し(302)、このORBをハードディスク202にシグナルする(303)。このとき、データ転送装置201はORBの実行が終了したとき、イニシエータ機能を実行するデータ転送装置201に対して、実行結果の告知を行うようにハードディスク202に指定しておく。ここで、データ読み出しの要求内容を持つORBの一例を図5に示す。
【0020】
一方、ハードディスク202はデータ読み出し要求のORBをデータ転送装置201から取得し(321)、そのORBにより指定されているデータ領域の読み出しを記録メディアから読み出して、データ転送装置201が用意したバッファ領域に転送する(322)。このとき、バッファ領域がアドレス一覧の形式で指定された場合、その内容を読み出す動作も行うことは言うまでもない。そして、指定されたデータの読み出し及び転送が終了すると、ハードディスク202からデータ転送装置201に対して実行結果が告知される(323)。この実行結果の告知により、データ転送装置201はハードディスク202から自身が用意したバッファ領域に対するデータ転送が終了したことを認識(304)する。
【0021】
次に、データ転送装置201は、データ転送終了を認識したときに実行結果が告知されたORBの読み出し要求を書き込み要求に書き換え(modify)して(305)データ転送要求の転送方向に依存する部分のみを変更し、その書き込み要求をハードディスク203にシグナルする(306)。データ読み出しの要求をデータ書き込み要求に書き換える際に変更しなければならない箇所は、図5の網掛け部分aに示されている。すると、ハードディスク203はデータ転送装置201からデータ書き込み要求のORBを取得して(331)、そのORBに指定されているバッファ領域からデータを取得し(332)、ORBにより指定された記録メディアのデータ領域に対して書き込みを行う。このとき、バッファ領域がアドレス一覧の形式で指定された場合、その内容を読み出す動作も行うことは言うまでもない。指定されたデータの転送及び書き込みが終了すると、ハードディスク203からデータ転送装置201に対して実行結果が告知される(333)。この実行結果の告知により、データ転送装置201はバッファ領域からハードディスク203のデータ転送が終了したことを認識(307)し、使用済みとなったORBとバッファに使用された記憶領域を開放(free)する(308)。
【0022】
データ転送装置201と、ハードディスク202,203が以上の部分データ転送の手順を記録メディアの全領域に渡って繰り返すことにより、マスターハードディスク(ハードディスク202)に記憶されているすべての内容がターゲットハードディスク(ハードディスク203)に対して複製されることになる。
以上のようにして、データ転送装置201は、I/F104を介して接続されるハードディスク202,203がターゲット機能にしたがって作動することからイニシエータ機能による動作を実行して、ハードディスク202とハードディスク203の間のデータ転送を仲介しているから、非対称な通信プロトコルによるデータ転送機能の一方(ターゲット機能)しか持たない機器間のみでは不可能であったデータ転送を可能とする。
以上の構成に加え、記憶されているすべての内容の転送が終了した時点で、I/Oパネル105に設置された表示装置にデータ転送が終了したことを表示してそのことをユーザに告知するように構成してもよい。
【0023】
上述した部分データ転送において、ハードディスク202,203で実行される手順は、それらがパソコン等に接続されて通常のハードディクスとして使用されているときとまったく同じ動作での手順であり、ハードディスク202,203からみれば、データの転送要求をデータ転送装置201がしているのか、そのパソコンがしているのかの区別はつかない。つまり、ハードディスク202,203のように、IEEE1394のバスに接続可能なハードディスクであれば、データ転送装置201を介在させることによって上述のように作動させることが可能である。また、IEEE1394のインターフェースを持たないハードディスク、例えばATAインターフェースにより接続するハードディスクでも、ATA−1394変換アダプタ等の機器を介在させてIEEE1394のバスに接続することで、同様の作用効果をなすことが可能である。
【0024】
(第2の実施の形態)
図4は、データ転送装置201を用いた機器接続の別の例を示す図である。図4では、データ転送装置201が、I/F104を介してスキャナ402と、プリンタ403と、デジタルカメラ404と、ハードディスク405と、ファクシミリ装置406とが接続されている。この接続では、スキャナ402、デジタルカメラ404及びハードディスク405から取得されたデータをプリンタ403、ハードディスク405、ファクシミリ装置406に転送する場合を想定していて、例えばスキャナ402からプリンタ403にデータ転送することにより、スキャナ402により走査された画像データをプリンタ403で出力する場合などに使用される。以下、スキャナ402により走査された画像データをプリンタ403で出力する場合を例にとって説明する。
【0025】
この実施の形態では、スキャナ402とプリンタ403はデータ転送を司る手段がそれぞれIEEE1394のバスに接続可能な一般的スキャナ、プリンタの機能しか保有していない。つまりSBP−2のターゲットとしてしか作動することができない。そこで、データ転送装置201にイニシエータの機能を実装し、スキャナ402とプリンタ403との間でのデータ転送の次のように仲介をさせている。
以下の例でも、I/Oパネル105に設置されたコピースイッチ(図示せず)が設けられていることを条件としている。つまり、そのコピースイッチが押された時点で、スキャナ402より形式情報、画像密度、データ形式など、スキャナの提供するデータに付帯する情報を取得し、プリンタ403より形式情報、印字可能な紙サイズ、出力可能なデータ形式など、プリンタ403の提供するサービスに付帯する情報を取得するようになっている。これらの情報が合致しない場合は、スキャナ402による走査画像データの出力は不可能であると判断され、データ転送が開始されない。
【0026】
さらに、データ転送元、この例ではスキャナ402を決定する方法として、I/Oパネル105に設置された表示装置に接続する機器の一覧を表示し、ユーザがその機器の一覧からデータ転送元とするもの(スキャナ402)を選ぶこと(ユーザに選択させること)をもってなすこともできる。ここで、スキャナ402はI/F104を介して接続する唯一のスキャナである必要はない。データ転送装置201に複数のスキャナが接続している場合には、それぞれのスキャナからいずれかを選択させるための選択肢をI/Oパネル105に設置された表示装置に表示して、その中からデータ転送元となるスキャナを選択させてもよい。
【0027】
また、データ転送先、この例ではプリンタ403を決定する所定の方法として、I/Oパネル105に設置された表示装置に接続する機器の一覧を表示し、ユーザがその機器の一覧からデータ転送元とするもの(プリンタ403)を選ぶことをもってなすこともできる。ここで、プリンタ403はI/F104を介して接続する唯一のプリンタである必要はない。データ転送装置201に複数のプリンタが接続している場合には、それぞれのプリンタからいずれかを選択させるための選択肢を表示し、その中からデータ転送先となるプリンタを選択させてもよい。
さらに、転送先として複数の機器を選択させてスキャナ402からのデータを複数のプリンタで同時に出力するように構成してもよい。また、機器の特性として、例えばスキャナのようにデータ転送元としてだけ作動するもの、逆にプリンタのようにデータ転送先としてだけ作動するものがあるが、このような機器はデータ転送元、データ転送先のそれぞれをユーザが指定する際に、選択の候補として表示しない或いは表示を変える(例えば明るさを薄く表示する)ことによってユーザが選択できないことを表示することも可能である。
【0028】
スキャナ402の走査した画像データをプリンタ403で出力するためのデータ転送は、図3に示す部分データ転送を繰り返し行う一連のデータ転送によって実現される。図4に示す機器接続の構成におけるその一回の部分データ転送の手順について図3を用いて説明する。なお、この一連のデータ転送に先立ち、スキャナ402に対して走査する画像の領域を指定し、プリンタ403に対して出力用紙サイズを指定するなど、画像の走査及び出力に必要な情報を予め個別に転送しておく。
まず、データ転送装置201はスキャナ402からデータを取得するために、CPU101の指示により、取得データを格納するバッファ領域とORBを格納する領域、必要であればバッファのアドレス一覧の領域をRAM103上に確保(Allocation)する(301)。また、CPU101の指示により、確保されたORBの格納領域にデータ読み出しの要求内容を持つORBを作成(setup)し(302)、このORBをスキャナ402にシグナルする(303)。このとき、イニシエータ機能を有するデータ転送装置201に対して、ORBの実行終了時に実行結果の告知を行うようにスキャナ402に指定しておく。ここで、データ読み出しの要求内容を持つORBの一例を図6に示す。
【0029】
一方、スキャナ402はデータ読み出し要求のORBをデータ転送装置201から取得し(321)、そのORBに指定されている走査領域の画像データを、データ転送装置201が用意したバッファ領域に転送する(322)。このとき、バッファの領域がアドレス一覧の形式で指定された場合、その内容を読み出す動作も行うことは言うまでもない。そして、指定されたデータの読み出し及び転送が終了すると、スキャナ402からデータ転送装置201に対して実行結果が告知される(323)。この実行結果の告知により、データ転送装置201はスキャナ402から自身が用意したバッファ領域に対するデータ転送が終了したことを認識(304)する。
【0030】
次に、データ転送装置201は、データ転送終了を認識したときに実行結果が告知されたORBの読み出し要求を出力要求に書き換え(modify)し(305)、その書き込み要求をプリンタ403にシグナルする(306)。データ読み出しの要求内容をデータ出力要求に書き換える際に変更しなければならない箇所は図6の網掛け部分bに示されている。すると、プリンタ403はデータ転送装置201からデータ出力要求のORBを取得して(331)、そのORBに指定されているバッファ領域からデータを取得し(332)、ORBに指定された出力領域に対して印刷を行う。このとき、バッファ領域がアドレス一覧の形式で指定された場合、その内容を読み出す動作も行うことは言うまでもない。指定されたデータの転送及び書き込みが終了すると、プリンタ403からデータ転送装置201に対して実行結果が告知される(333)。この実行結果の告知により、データ転送装置201はバッファ領域からプリンタ403のデータ転送が終了したことを認識(307)し、使用済みとなったORBとバッファに使用された記憶領域を開放(free)する(308)。
【0031】
ここで、転送先として指定されたプリンタ403が複数の機器であり、各プリンタ403に対してデータ転送を行い並行して出力を行うような場合、使用済みとなったORBとバッファに使用された記憶領域を開放(308)するのは、転送先のすべてのプリンタ403よりデータ転送の実行結果が告知(333)されたときとする。
データ転送装置201と、スキャナ402、プリンタ403が以上の部分データ転送の手順を画像操作の全領域に渡って繰り返すことにより、スキャナ402が走査した画像データのすべての内容がプリンタ403に対して転送されて出力される。
以上の構成に加え、すべての内容の転送が終了した時点で、I/Oパネル105に設置された表示装置にデータ転送が終了したことを表示して、そのことをユーザに告知するように構成してもよい。
【0032】
上述した部分データ転送において、スキャナ402、プリンタ403で実行される手順は、パソコン等に接続されて通常のスキャナやプリンタとして使用されているときとまったく同じ動作での手順であり、スキャナ402、プリンタ403からみれば、データの転送要求をデータ転送装置201がしているのか、そのパソコンがしているのかの区別はつかない。つまり、スキャナ402、プリンタ403のように、IEEEE1394のバスで接続可能なスキャナやプリンタであれば、データ転送装置201を介在させることによって上述のように作動させることが可能である。
上述のように、SBP−2のように非対称の通信モデルを採用する通信手順によりデータ転送を行う機器同士で、どちらか一方、この実施の形態ではSBP−2のターゲット機能しか保有しない機器同士も、データ転送装置201がスキャナ402、プリンタ403に応じてイニシエータ機能による動作を実行して、両者間のデータ転送を仲介しているから、データ転送装置201を介在させることでデータ転送を行えるようになる。
【0033】
一方、この発明によるデータ転送装置とは異なる従来の一般的なデータ転送装置300を使用して同じような通信を行う場合、そのデータ転送装置は、通信を行う一方の機器から一旦データを取得した後、もう一方の機器にデータを書き込むことになる。この時、データ転送に付随する情報はすべて消去されてしまう。具体的には、各機器に対して要求内容を伝えるORBはそれぞれの要求実行の段階で作成され、データ取得、データ書き込みのそれぞれが終わった時点で破棄されてしまうため、ORBの領域管理や内容の構成、破棄に伴うオーバヘッドが生じてしまう。また、図8に示すように、データフローの全体がSBP−2ドライバ300aと、IEEE1394デバイスドライバ300bのほかの領域300cを経由して流れることにより長くなるため、転送速度がどうしても低下してしまう。これに対して、この発明によるデータ転送装置201を介在させて機器同士で通信を行う場合、データフローは、図7に示すように、SBP−2ドライバ201aと、IEEE1394デバイスドライバ201bとを流れることにより短くなるため、転送速度が速くなる。また、ORBの作成及び削除の回数も減るため、効率的な転送が行えることになる。
【0034】
上述の説明では、シリアルバスとして、IEEE1394を採用したIEEE1394にしたがう通信インターフェースに基づいて説明した。これによれば、市販されている数多くの機器間でのデータ転送が可能となる。また、この発明はUSB(Universal Serial Bus)を用いた場合にも適用可能である。この場合も、市販されている数多くの機器間でのデータ転送が可能となる。USBの規格自体が非対称な通信モデルであることから、この実施の形態で使用したSBP−2等のデータ転送手順によることなく、この発明による作用効果を享受することが可能となる。
【0035】
【発明の効果】
以上説明してきたように、非対称な通信モデルによりデータ転送を行う機器同士でも、この発明によるデータ転送装置を介在させることにより、データ転送が可能になる。
【図面の簡単な説明】
【図1】この発明によるデータ転送装置内部の主要な構成を示すブロック図である。
【図2】この発明によるデータ転送装置を用いた機器接続の一例を示す図である。
【図3】図2又は図4に示す機器接続によるSBP−2での基本的な通信の手順を示す図である。
【図4】この発明によるデータ転送装置を用いた別の機器接続の一例を示す図である。
【図5】データ読み出しの要求内容を持つORBの一例を示す図である。
【図6】データ読み出しの要求内容を持つORBの一例を示す図である。
【図7】データ転送装置によるデータ転送時のデータフローを示す図である。
【図8】従来技術によるデータ転送時のデータフローを示す図である。
【符号の説明】
101:CPU 102:ROM
103:RAM 104:I/F
105:I/Oパネル 106:システムバス
201:データ転送装置
202,203:ハードディスク
201a:SBP−2ドライバ
201b:IEEE1394デバイスドライバ
402:スキャナ 403:プリンタ
404:デジタルカメラ 405:ハードディスク
406:ファクシミリ装置
Claims (7)
- 非対称の通信プロトコルによるデータ転送機能の一方を有して他方を有しない通信手段を有する複数の外部機器に接続されるインターフェースを備えたデータ転送装置であって、
前記インターフェースを介して接続される前記各外部機器の有しない非対称の通信プロトコルによるデータ転送機能による動作を実行して、該各外部機器間のデータ転送を実行させる制御手段を設けたことを特徴とするデータ転送装置。 - 前記制御手段が、データ転送要求のデータ転送方向に依存する部分を変更して、前記外部機器にデータ転送要求を発行するように構成されていることを特徴とする請求項1記載のデータ転送装置。
- 請求項1又は2記載のデータ転送装置において、
前記外部機器のうちデータの転送元となる機器又は転送先となる機器を選択させる手段を設けたことを特徴とするデータ転送装置。 - 前記制御手段が、前記外部機器のいずれか一つからその他の複数の外部機器に対し、データ転送方向とデータ転送要求を変更して、前記各外部機器にデータ転送要求を発行するように構成されていることを特徴とする請求項1乃至3のいずれか一項記載のデータ転送装置。
- 請求項1乃至4のいずれか一項記載のデータ転送装置において、
前記インターフェースに接続される外部機器を列挙して表示させる手段と、
該表示された前記外部機器から前記データ転送を実行させる外部機器を選択させる手段とを設け、
前記制御手段が、該選択された各外部機器間のデータ転送を実行させるように構成されていることを特徴とするデータ転送装置。 - 前記インターフェースがIEEE1394に従う通信インターフェースであることを特徴とする請求項1乃至5のいずれか一項記載のデータ転送装置。
- 前記インターフェースがUSBに従う通信インターフェースであることを特徴とする請求項1乃至5のいずれか一項記載のデータ転送装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002170314A JP2004013828A (ja) | 2002-06-11 | 2002-06-11 | データ転送装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002170314A JP2004013828A (ja) | 2002-06-11 | 2002-06-11 | データ転送装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2004013828A true JP2004013828A (ja) | 2004-01-15 |
Family
ID=30436614
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002170314A Pending JP2004013828A (ja) | 2002-06-11 | 2002-06-11 | データ転送装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2004013828A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008293433A (ja) * | 2007-05-28 | 2008-12-04 | Hitachi Ltd | ストレージシステム及びストレージシステム管理方法 |
-
2002
- 2002-06-11 JP JP2002170314A patent/JP2004013828A/ja active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2008293433A (ja) * | 2007-05-28 | 2008-12-04 | Hitachi Ltd | ストレージシステム及びストレージシステム管理方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2453362A2 (en) | Data transferring apparatus and control method thereof | |
JP3927647B2 (ja) | 情報処理装置、情報処理方法及び情報処理システム | |
JP6475256B2 (ja) | コンピュータ、制御デバイス及びデータ処理方法 | |
JP2011028650A (ja) | 情報処理装置 | |
JP2004005541A (ja) | データ転送装置、データ転送方法、プログラム及び記録媒体 | |
JP2004194191A (ja) | データ通信装置 | |
US6753903B1 (en) | Adaptor for direct connection between USB digital still camera and use color printer | |
JP2008310798A (ja) | 画像処理コントローラ及び画像形成装置 | |
EP1033658B1 (en) | Communication apparatus with means for allocating alternate designation information to each function unit, and communication system with two such communication apparatus | |
JP2004013828A (ja) | データ転送装置 | |
JP2007011783A (ja) | データ転送制御装置及び電子機器 | |
JP2006243840A (ja) | 印刷情報処理装置、印刷情報処理方法、印刷情報処理プログラムおよびコンピュータ読み取り可能な記録媒体 | |
JP4197517B2 (ja) | バスブリッジ装置、バスブリッジ方法および入出力制御装置 | |
JP5857735B2 (ja) | 画像処理方法、画像処理装置、及び制御プログラム | |
KR100633742B1 (ko) | 주변 장치로부터 데이터 전송 크기를 자동으로 갱신하는직접 메모리 액세스 제어 장치 및 방법 | |
JP2008117289A (ja) | データ通信システム、ユニットおよびデータ通信方法 | |
JP2007011659A (ja) | インターフェース装置、ディスクドライブ及びインターフェース制御方法 | |
JP2005309511A (ja) | 情報処理装置、ステータス取得方法、及びプログラム | |
JP2005100064A (ja) | 画像処理装置、画像処理方法およびプログラム | |
JP4715893B2 (ja) | 画像入出力システム | |
JP2004234306A (ja) | サーバ、コンポーネント処理のモニタ方法およびプログラム | |
JP5085463B2 (ja) | 情報転送回路、情報処理装置、情報転送回路の制御方法、制御プログラム及び記録媒体 | |
JP3579884B2 (ja) | データ通信方法及び装置、並びにプリンタ及びその制御方法 | |
JP2008085778A (ja) | 情報通信システムおよび受信装置および送信装置および受信制御プログラムおよび送信制御プログラム | |
JP2001337911A (ja) | Usb−atapiインターフェイスシステムとこれに用いるatapi−usb変換機器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050202 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20070720 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070821 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071019 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080415 |