(57)【要約】【課題】  多機能周辺機器が、複数のクライアントと同時に通信する構造。【解決手段】  共有メモリが、複数のクライアントからデータを受信する。チャネルマルチプレクサは周辺機器に転送するデータを選択し、ＳＣＳＩエミュレータは論理的に周辺機器を選択するのに使用される。その後データは、ＳＣＳＩエミュレータを介してマルチプレクサから周辺機器のエンジンと物理的に接続しているＰＣＩバスへ転送される。周辺機器からクライアントにデータを送信する必要がある場合、それはＰＣＩブリッジからＳＣＳＩエミュレータへ転送され、非マルチプレクサを介して適切なクライアントによって検索がなされる共有メモリに転送される。多機能周辺機器は第１の周辺機器を使用して、第１のタスクを実行している間は中断することができ、第２の周辺機器が必要な第２のタスクに切り替えて、完了後に第１のタスクに復帰する。【選択図】  図１
2004166244.tif 000002
【特許請求の範囲】
【請求項１】
以下を含む多機能周辺機器。
複数のクライアントに連結された通信可能な共有メモリと、
前記共有メモリから入力を受信し、前記共有メモリから選択されたデータを出力する切替え可能なスイッチ装置、および
複数の周辺機器から選択された周辺機器を選択するためのロジカルデバイスセレクタ、
そして、前記複数のクライアントから選択されたクライアントが前記その共有メモリにデータを入力し、前記切替え可能なスイッチ装置および前記ロジカルデバイスセレクタが前記選択されたクライアントから前記選択された周辺機器にデータを転送する操作が可能である。
【請求項２】
請求項１に記載の多機能周辺機器であって、
前記複数のクライアントは、プリントクライアント、スキャンクライアント、パネルクライアント、ファクスクライアント、コピークライアントおよび装置メンテナンスクライアントからなるグループから選択された少なくとも２つのクライアントである。
【請求項３】
請求項１に記載の多機能周辺機器であって、
前記共有メモリは複数のセグメントで構成され、各セグメントは複数のクライアントの１つに関連している。
【請求項４】
請求項１に記載の多機能周辺機器であって、
前記切替え可能なスイッチ装置は前記ロジカルデバイスセレクタからデータを受信し、そのデータを前記共有メモリへ転送する。
【請求項５】
請求項１に記載の多機能周辺機器であって、
前記切替えスイッチ装置は、チャネルマルチプレクサおよびチャネル非マルチプレクサからなる。
【請求項６】
請求項１に記載の多機能周辺機器であって、
さらに前記ロジカルデバイスセレクタと前記選択された周辺機器との間は、ＰＣＩブリッジからなる。
【請求項７】
請求項１に記載の多機能周辺機器であって、
前記ロジカルデバイスセレクタは、ＳＣＳＩエミュレータである。
【請求項８】
請求項１に記載の多機能周辺機器であって、
さらに複数の通信チャネルを含み、複数の各クライアントは前記共有メモリに対して単独の通信チャネルを持つ。
【請求項９】
請求項１に記載の多機能周辺機器であって、
前記ロジカルデバイスセレクタは選択された周辺機器から周辺機器データを受信でき、前記ロジカルデバイスセレクタおよび前記切替えスイッチ装置は、前記周辺機器データを前記共有メモリに転送し、前記選択された周辺機器が前記共有メモリからデータを検索する。
【請求項１０】
以下を含む多機能周辺機器。
独自の通信経路を有する複数のクライアントに連結された通信可能な共有メモリと、
前記共有メモリからの入力を受信し、前記共有メモリからデータを出力する切替え可能なスイッチ装置、および
複数の周辺機器から選択された周辺機器を選択するためのロジカルデバイスセレクタ、
そして前記複数のクライアントは、同時に前記共有メモリと通信でき、また切替え可能なスイッチ装置およびロジカルデバイスセレクタは前記共有メモリから適切な周辺機器にデータを転送する操作が可能である。
【請求項１１】
請求項１０に記載の多機能周辺機器であって、
前記複数のクライアントは、プリントクライアント、スキャンクライアント、パネルクライアント、ファクスクライアント、コピークライアントおよび装置メンテナンスクライアントからなるグループから選択された少なくとも２つのクライアントである。
【請求項１２】
請求項１０に記載の多機能周辺機器であって、
前記共有メモリは複数のセグメントで構成され、各セグメントは複数のクライアントの１つに関連している。
【請求項１３】
請求項１０に記載の多機能周辺機器であって、
前記切替え可能なスイッチ装置は、前記ロジカルデバイスセレクタからデータを受信し、そのデータを前記共有メモリへ転送する。
【請求項１４】
請求項１０に記載の多機能周辺機器であって、
前記切替えスイッチ装置は、チャネルマルチプレクサおよびチャネル非マルチプレクサを含む。
【請求項１５】
請求項１０に記載の多機能周辺機器器であって、
さらに前記ロジカルデバイスセレクタと前記選択された周辺機器との間は、ＰＣＩブリッジからなる。
【請求項１６】
請求項１０に記載の多機能周辺機器であって、
前記ロジカルデバイスセレクタは、ＳＣＳＩエミュレータである。
【請求項１７】
請求項１０に記載の多機能周辺機器であって、
前記ロジカルデバイスセレクタは選択された周辺機器から周辺機器データを受信でき、前記ロジカルデバイスセレクタおよび前記切替えスイッチ装置は、前記周辺機器データを前記共有メモリに転送し、前記選択された周辺機器が前記共有メモリからデータを検索する。
【請求項１８】
複数のクライアントから多機能周辺機器の複数の周辺機器へデータを転送する方法であって、以下のステップを含む。
前記複数のクライアントから共有メモリプールへデータを転送し、
前記複数のクライアントのうちの１人から選択されたデータを前記メモリプールから選択し、その選択されたデータをロジカルデバイスセレクタに転送し、
前記ロジカルデバイスセレクタにより前記複数の周辺機器から目的の周辺機器を選択し、
そして、前記選択されたデータを前記ロジカルデバイスセレクタから複数の周辺機器のうちの１つである目的の周辺機器に転送する。
【請求項１９】
請求項１８に記載の方法であって、
データは、前記複数のクライアントから前記共有メモリプールに同時に転送される。
【請求項２０】
請求項１８に記載の方法であって、さらに以下を含む。
前記目的の周辺機器から前記ロジカルデバイスセレクタに周辺機器データを転送させ、
前記共有メモリプールへ前記周辺機器データを転送し、
そして、複数のクライアントのうちの１つから選ばれた目的のクライアントによって前記共有メモリプールから前記周辺機器データを検索する。
【請求項２１】
多機能周辺機器が複数のクライアントから複数の周辺機器へデータを転送する方法であって、以下のステップを含む。
前記複数のクライアントの最初の１人から第１のデータを共有メモリプールに受信し、
前記メモリプールから第１のデータを選択し、その選択されたデータをロジカルデバイスセレクタに転送し、
前記ロジカルデバイスセレクタにより前記複数の周辺機器から第１の目的の周辺機器を選択し、
前記選択されたデータを前記ロジカルデバイスセレクタから第１の目的の周辺機器へ転送し、
割込みを発生させ、前記ロジカルデバイスセレクタへの第１のデータの転送を中断させ、
複数のうちの第２のクライアントから第２のデータを前記共有メモリプールに転送し、
前記メモリプールから前記第２のデータを選択し、前記ロジカルデバイスセレクタへ前記第２のデータを転送し、
前記複数の周辺機器から第２の目的の周辺機器を選択し、
そして、前記ロジカルデバイスセレクタによって前記第２の選択されたデータを前記選択された周辺機器に転送する。
【請求項２２】
請求項２１に記載の方法であって、
割り込みステップを発生させると、第１のクライアントは前記共有メモリプールへ前記第１のデータを送信し続ける。
【請求項２３】
請求項２１に記載の方法であって、
割り込みステップを発生させると第１のクライアントに前記共有メモリプールへのデータ送信を中止するよう通知する。
【請求項２４】
請求項２１に記載の方法であって、さらに以下を含む。
前記第２のデータが前記第２の周辺機器に転送されるまで待機し、
前記複数のクライアントのうちの前記第１のクライアントから前記第１のデータを前記共有メモリプールへ受信し、
前記メモリプールから前記第１のデータを選び、前記ロジカルデバイスセレクタへ選択されたデータを転送し、
前記ロジカルデバイスセレクタにより複数の周辺機器から第１の目的の周辺機器を選択し、
そして、前記ロジカルデバイスセレクタから前記第１のデータを前記第１の目的の周辺機器に転送し、
割込みステップで送信が中断したところから第１のデータの送信が続行される。
【請求項２５】
多機能周辺機器が複数のクライアントから複数の周辺機器にデータを転送するシステムであって、以下を含む。
前記複数のクライアントのうち第１のクライアントから第１のデータを共有メモリプールへ受信するための手段、
前記メモリプールから前記第１のデータを選択するための手段、
前記複数の周辺機器から１つの周辺機器を選択するための手段、
前記選択されたデータは前記共有メモリから前記第１の目的の周辺機器に送信される、
そして前記第１の目的の周辺機器への前記第１のデータの送信を中断する割込みを起こすための手段、
割込みが発生した際、１つの周辺機器を選択する前記手段が第２の周辺機器を選択し、第２のデータが前記メモリプールから第２の周辺機器へ送信される。
【請求項２６】
多機能周辺機器の複数の周辺機器間でデータを転送する方法であって、以下のステップを含む。
ロジカルデバイスセレクタにより複数の周辺機器のうち第１の周辺機器から第１のデータを受信し、
前記第１のデータを非マルチプレクサ装置に転送し、
前記第１のデータを非マルチプレクサ装置から共有メモリのあらかじめ決められた部分に転送し、そこで複数のクライアントのうち第１のクライアントが前記第１のデータを検索し、
割り込みを発生させ、前記ロジカルデバイスセレクタによる前記第１のデータの受信を中断させ、
前記ロジカルデバイスセレクタにより複数の中の第２の周辺機器からのデータを受信し、
前記第２のデータを非マルチプレクサ装置に転送し、
そして、前記第２のデータを非マルチプレクサ装置から前記共有メモリの第２のあらかじめ決められた部分に転送し、そこで複数のクライアントのうち第２のクライアントが前記第２のデータを検索する。
【請求項２７】
請求項２６に記載のデータ転送方法であって、さらに以下のステップを含む。
前記第２のデータが完了するまで待機し、
前記ロジカルデバイスセレクタにより複数の周辺機器のうち前記第１の周辺機器から前記第１のデータを受信し、
メッセージを前記非マルチプレクサ装置に転送し、
前記非マルチプレクサ装置から前記共有メモリのあらかじめ決められた部分にメッセージを転送し、そこで複数のクライアントのうち第１のクライアントが前記第１のデータを検索し、
第１のデータが割込みステップで送信を中断したところから第１のデータの送信を続行する。
【請求項２８】
多機能周辺機器の複数の周辺機器間でデータを転送するシステムであって、以下を含む。
複数のクライアントからデータを受信する手段、
共有メモリのあらかじめ決められた部分にデータを送信し、第１のデータは前記受信手段によって受信され、メモリの第１のあらかじめ決められた部分に転送し、前記複数のクライアントのうち第１のクライアントが第１のデータを検索する非マルチプレクサ装置へデータを転送するための手段、
前記第１のデータの受信を中断する割込みを発生させる手段、そして前記受信手段は複数の周辺機器の中の第２の周辺機器から第２のデータを受信するよう適切に切り替えられ、非マルチプレクサ手段はメモリの第２のあらかじめ決められた部分にデータを送信するよう適切に対応し、複数のクライアントのうち第２のクライアントが第２のデータを検索する。
【請求項２９】
請求項２８に記載のデータ転送システムであって、さらに以下のステップを含む。
前記第２のデータが完了するまで待機するための手段、
前記第１のデータの送信は、前記第１のデータが割込みステップで送信を中断したところから送信を続行する。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、全般的に多機能情報処理システムに関連し、特に複合機能を同時に実行する多機能情報処理システムに関する。
【背景技術】
【０００２】
一般的に、複数のユーザは、ネットワーク上の周辺機器を共有する傾向にある。その結果、前もって専用装置により操作される機能を組み合わせた装置が開発されている。これら開発済みの多機能周辺機器は、複数の機能を含んでおり、またコンピュータのための周辺機器として動作する。これらの多機能周辺機器は、印刷、スキャニング、ファクス、および他の機能を、低価格でアドレス指定が可能な一台の装置に組み合わせている。そのような多機能周辺機器の例は、印刷機能を持っているファクシミリ装置、あるいは印刷機能を持っているスキャニング装置を含む。
【０００３】
複数のユーザが同時に同じ装置にアクセスしようとする場合、これらの多機能周辺機器には問題が起きる。例えば、２人のユーザがローカルＰＣから同一のネットワーク周辺機器でプリントジョブを開始することがある。あるいは、１人のユーザが同一の装置へ複数のジョブを同時に送ることがある。例えば、あるユーザはドキュメントをスキャンし、次にプリントジョブを始めることがあり得る。スキャンジョブは、印刷サービスのための同一周辺機器に依存するいかなる装置による印刷を実質的に遅らせるかなりの量のデータを生成する。
【０００４】
全般的に、コンピュータと多機能周辺機器間の通信操作は、コンピュータによって起動されるプリンタドライバとスキャナドライバのプログラム、および多機能周辺機器によって実行されるデータ通信プログラムによって実行される。
【０００５】
前述の操作は、ユーザがコンピュータのディスプレイに表示された指示に基づいてコマンドと設定を出すと実行することができる。しかし、これらの前述のシステムでは、コンピュータの各ドライバプログラムと多機能周辺機器のデータ通信プログラムの間の通信操作は、いかなる時も１つのドライバプログラムしか実行できない。このように、上記の操作は同時に実行することができない。
【０００６】
すなわち、従来のシステムでは多機能周辺機器がプリンタドライバプログラムがプリントデータを送っているコンピュータによりプリンタとして使用されている場合、コンピュータのスキャナドライバプログラムは、印刷操作を実行している時にコンピュータのスキャナユニットでデータ通信操作を実行することができない。同様に、多機能スキャナのデータは、印刷操作を実行している時に外部スキャナ装置へのスキャナ送信を実行することができない。
【０００７】
したがって、複数の機能を同時に実行することができる多機能周辺機器の要求がある。
【０００８】
本発明の追加目的、利点および新規の機能は、後述する内容に一部分述べられ、一部は、以下の実験してその技術に熟練した人により明らかになる、あるいは発明の実行によって確認されることがある。発明の目的および利点は、添付された特許請求の範囲に特に指摘された手段と組合せによって実現、達成される。
【発明の開示】
【発明が解決しようとする課題】
【０００９】
前述の要求を考慮して、本発明は複数のクライアントによる通信用の共有メモリを含む多機能周辺機器を検討する。チャネルマルチプレクサは、適切な周辺機器を選択し、その周辺機器へデータを送る順路を決めるロジカルデバイスセレクタに転送するためにメモリからデータを選ぶ。周辺機器がクライアント用データを持っている場合、データはロジカルデバイスセレクタを通ってチャネル非マルチプレクサへ送られ、その後クライアントがデータを検索する共有メモリにデータを格納する。多機能周辺機器は、プリントクライアント、スキャンクライアント、パネルクライアント、ファクスクライアント、コピークライアントおよび装置メンテナンスクライアントからなるグループから選ばれた少なくとも２つのクライアントを含む。好ましい実施例において、ロジカルデバイスセレクタはＳＣＳＩエミュレータおよび、どちらの周辺機器のデータが送信あるいは受信されたか選択する各周辺機器のエンジンに接続されたＰＣＩブリッジを含む。複数のクライアントと共有メモリ間の通信は、１チャネルで調整されるか、あるいはクライアントが各々単独のチャンネルを持ってもよい。
【課題を解決するための手段】
【００１０】
本発明の１実施例は、複数のクライアントのうちの１人から、複数の周辺機器のうちの１つへのデータ転送方法である。
【００１１】
その手順は、複数のクライアントから共有メモリプールへデータを転送し、複数のクライアントのうちの１人から選択されたデータをメモリプールから選びロジカルデバイスセレクタへの選択されたデータを転送し、ロジカルデバイスセレクタは複数の周辺機器から目的の周辺機器を選択し、さらに、選択されたデータをロジカルデバイスセレクタから複数の周辺機器のうちの１つである目的の周辺機器へ転送するステップからなる。
【００１２】
方法は、さらに、周辺機器データを目的の周辺機器からロジカルデバイスセレクタへの転送、共有メモリプールへの周辺機器データの転送、および共有メモリプールから転送先クライアントによる周辺機器データの検索を含む。
【００１３】
本発明の別の実施例は、多機能周辺機器が複数のクライアントからのデータを複数の周辺機器に転送する方法であり、手順は、複数のクライアントの最初の１人から第１のデータを共有メモリプールに受信し、メモリプールから第１のデータを選択し、できればマルチプレクスタイプの切替え装置を通して選択データをロジカルデバイスセレクタに転送し、ロジカルデバイスセレクタにより複数個の周辺機器から目的の周辺機器最初を選択し、選択されたデータをロジカルデバイスセレクタから第１の目的の周辺機器へ転送するステップからなる。その方法はさらに、ロジカルデバイスセレクタへの第１のデータの転送を止め、次に複数のクライアントの第２の人からデータを転送させる割込みを発生させ、メモリプールから第２のデータを選択し、ロジカルデバイスセレクタへ第２のデータを転送し、複数の周辺機器から第２の目的の周辺機器を選択し、そしてロジカルデバイスセレクタによって第２の選択されたデータを選択された周辺機器に転送するステップからなる。割込みが発生する場合、第１のクライアントは利用可能なメモリが満たされるまで共有メモリプールへ第１のデータを送ることになるか、あるいは、第１のクライアントに割込みの通知をすることにより、共有メモリプールへデータを送ることをやめさせることになるだろう。その方法は、第２のデータが第２の周辺機器に転送されるまで待機し、共有メモリプールへ複数のクライアントの最初の１人から第１のデータを受信し、メモリプールから第１のデータを選びロジカルデバイスセレクタへ選択されたデータを転送し、ロジカルデバイスセレクタによる複数の周辺機器から第１の目的の周辺機器を選択し、そしてロジカルデバイスセレクタから第１のデータを第１１の目的の周辺機器に転送し、割込み工程で送信が中断したときから、第１のデータの送信を続行するステップからなる。
【００１４】
さらに、また本発明の別の実施例は、１台の多機能周辺機器が複数のクライアントから複数の周辺機器にデータを転送するシステムであり、複数の中の第１のクライアントから第１のデータを共有メモリプールに受信するための手段、そのメモリプールから第１のデータを選択するための手段、およびその共有メモリプールから選択されたデータを、第１の目的の周辺機器へ送信する複数の周辺機器から第１の目的の周辺機器を選択するための手段とからなる。さらにそのシステムは、割込みを発生させ、第１のデータの第１の周辺機器への転送を中断する手段を含み、割込みが発生した場合に周辺機器の選択手段が第２の周辺機器を選択する手段を有し、第２のデータはメモリプールから第２の周辺機器に送信される。
【００１５】
またさらに、本発明の別の実施例では、データを多機能周辺機器の周辺機器間で送受信する方法があり、その手順は、ロジカルデバイスセレクタにより複数の中の第１の周辺機器から第１のデータを受信し、第１のデータを非マルチプレクサ装置へ転送し、第１のデータを非マルチプレクサ装置から共有メモリのあらかじめ決められた部分に転送し、そこで複数のクライアントのうち第１のクライアントが第１のデータを検索し、割込みを発生させ、ロジカルデバイスセレクタによる第１のデータの受信を中断させ、ロジカルデバイスセレクタにより複数個の中の第２の周辺機器からのデータを受信し、第２のデータを非マルチプレクサ装置へ転送し、および第２のデータを非マルチプレクサ装置から共有メモリの第２のあらかじめ決められた部分に転送し、そこで複数のクライアントのうち、第２のクライアントが第２のデータを検索する。この方法は、更に第２のデータが完了するまで待機すること、そして再び第１のデータを複数の中の第１の周辺機器か受信すること、非マルチプレクサ装置へメッセージを転送すること、および、非マルチプレクサ装置から共有メモリのあらかじめ決められた部分にメッセージを転送し、そこで複数のクライアントのうち第１のクライアントが第１のデータを検索し、第１のデータの送信は第１のデータが割込み工程で送信を中断したところから送信を続行することを含む。
【００１６】
またさらに、本発明の別の実施例では、複数のクライアントの複数の多機能周辺機器の周辺機器間でのデータの送受信のためのシステムがあり、それは複数の周辺機器からデータを受信する手段、非マルチプレクサ装置へデータを転送するための手段で、非マルチプレクサ装置は、共有メモリのあらかじめ決められた部分にデータを送信し、第１のデータは受信手段によって受信され、メモリの第１のあらかじめ決められた部分に転送し、複数のクライアントのうち第１のクライアントが第１のデータを検索することを含む。さらにそのシステムは、第１のデータの受信を中断する割込み発生手段を含み、受信手段は複数の中の第２の周辺機器から第２のデータを受信するために適切に適応され、非マルチプレクサ手段は、データを第２のあらかじめ決められた部分に送信するのに適切に適応され、複数のクライアントのうちの第２のクライアントがそこで第２のデータを検索する。
【００１７】
前述のシステムおよび方法が、ソフトウェア、ハードウェアあるいはそれらの組合せで実施されることを意図している。
【００１８】
開示された利点および改良の中の本発明の他の目的および利点は、添付の図面に関連して得られる以下の記述から明白になるだろう。図面はこの明細書の一部を構成し、本発明の典型的な実施例を含んでおり、またその様々な目的および特徴を図示する。
【発明を実施するための最良の形態】
【００１９】
この説明の全体にわたり、示された好ましい実施例および具体例は、本発明の制限ではなく例と見なされるものとする。
【００２０】
本発明は、多機能周辺機器（ＭＦＰ）による同時に並行して複数の機能を実行するためのシステムおよび方法に導かれる。技術的によく理解されているように、多機能周辺機器は、少なくとも２つの周辺機器からなるが、プリンタ、スキャナ、ファクス、およびコピーに限定されることはない。以下の開示で理解されるように、本発明は２つ以上周辺機器を同時に操作することができる。
【実施例】
【００２１】
まず、特に図１を参照すると、１００に指定した本発明の好ましい実施例のシステムのブロック図が示されている。多機能周辺機器は、複数のクライアントおよびチャネルマルチプレクサ／非マルチプレクサ１０６間に接続された共有メモリプールを使用するプロセスコントローラ（ＩＰＣ）中のＩＰＣ共有メモリ１０１（以下共有メモリ）からなる。図１は、プリントクライアント１０２ａ、スキャンクライアント１０２ｂ、パネルクライアント１０２ｃ、ファクスクライアント１０２ｄおよび装置メンテナンスクライアント１０２ｅを示す。各々のクライアントは、自分の通信チャネル１０４ａ、１０４ｂ、１０４ｃ、１０４ｄおよび１０４ｅをそれぞれ持っているとして図１中で示されている。しかし、クライアントがさらに共有の通信チャネルを使用することも予想される。共有メモリ１０１は、各クライアントが別々にまた他のクライアントの干渉なしに共有メモリ１０１にデータを送信することを可能にしつつ、メモリセグメントを割り当てられるようなセグメントに分割されることが好ましい。
【００２２】
共有メモリ１０１とチャネルマルチプレクサ／非マルチプレクサ１０６の間に、別々の通信チャネル１０４ａ、１０４ｂ、１０４ｃ、１０４ｄおよび１０４ｅが示されている。これらの通信チャネルは、クライアント１０２ａ、１０２ｂ、１０２ｃ、１０２ｄおよび１０２ｅのそれぞれに割り当てられる。データがクライアントから周辺機器へ送信されている時、チャネルマルチプレクサ／非マルチプレクサ１０６はマルチプレクサの役割をし、共有メモリ１０１から通信チャネルを選択する。データが周辺機器からクライアントに送信されている時、チャネルマルチプレクサ/非マルチプレクサ１０６は非マルチプレクサの役割をし、多機能周辺機器インタフェース（ＭＦＰＩ）結果サービス１２４からのデータを受信し、またデータを共有メモリ１０１及び後に適切なクライアントに配信するために最適な通信チャネル１０５ａ、１０５ｂ、１０５ｃ、１０５ｄあるいは１０５ｅをひとつ選択する。
【００２３】
共有メモリ１０１は、データの周辺機器への送信および周辺機器からの受信について、セグメント（図示しない）に分割されることも可能である。例えば、ファクスを送る場合、データは、ファクスクライアント１０２ｄからファクスエンジン（図示しない）に転送される。一方、ファクスが受信されている時、データは反対方向に転送される。同様に、データがプリンタエンジン（図示しない）に送信されるとき、プリントコマンド、テキストおよびデータがプリントクライアント１０２ａから送信されるが、プリンタが用紙切れのように整備を必要とする場合、プリントクライアント１０２ａと通信するための手段を必要とする。周辺機器から共有メモリ１０１中のクライアントまでのメッセージ専用の一部分のメモリを備えることにより、データ衝突の危険を減少させ、周辺機器が必要に応じてメッセージをチェックすることが可能になる。各クライアントは、周辺機器からのメッセージをチェックするのに、タイマ、割込み、また周知の技術である他の手段を使用できる。
【００２４】
多機能周辺機器インタフェース（ＭＦＰＩ）要求サービス１０８はチャネルマルチプレクサ／非マルチプレクサ１０６からデータを受信する。その後、データはトランスポートプロセッサ１１０へ転送される。トランスポートプロセッサ１１０は、エンジン（図示しない）とコントローラ（図示しない）間のＳＣＳＩレベル通信を扱う。コントローラはエンジンに接続されたＰＣＩブリッジ１１８によってエンジンと接続する。コントローラのスタートアップタイムで、ＳＣＳＩ（エミュレートされた）レベル初期化を開始し、ＭＦＰはＳＣＳＩ（エミュレートされた）およびその中の関連する構成要素を初期化する。一旦、ＳＣＳＩ通信がエンジンとコントローラ間に確立されれば、伝送サービスは通常ＳＥＮＤおよびＧＥＴ要求を含んでいる要求制御ブロック（ＣＢ）を処理する。
【００２５】
ＭＦＰＩ要求サービス１０８のサービスがＭＦＰ言語ベースの要求コマンドの発生原因である一方、トランスポートプロセッサ１１０サービスは、反対側のＰＣＩブリッジ１１８の適切なサブシステムにデータを移動させるために必要なものを扱っている。
【００２６】
ＳＥＮＤデータ操作：
１．データが１つのパケットについて指定された最大サイズより大きい場合は、データをいくつかのチャンクに分割する。
２．ＭＦＰヘッダを追加する。
３．データを送信するためにＡＰＳＩエミュレート方法を呼び出す。
４．ＡＳＰＩがコールバック関数を呼び出すのを待つ。コールバック関数が呼び出される場合、伝送サービスは次の操作（ＧＥＴ）に移る。
【００２７】
ＧＥＴデータ操作：
１．特定の論理ユニット番号（ＬＵＮ）からデータを得るためにＡＳＰＩエミュレート方法を呼び出す。
２．ＡＳＰＩがコールバック関数を呼び出すのを待つ。
３．コールバック関数が呼び出される場合、データは伝送サービスがＡＳＰＩ関数呼出しの前に割り付けた仮バッファ中のＡＳＰＩによってコピーされる。
４．仮バッファ中のデータのＭＦＰヘッダを読んで、どのＣＢがデータを要求しているか決めるためにヘッダの参照パケット番号をチェックする。
５．ＣＢを見つけ、ＣＢの入力バッファにデータをコピーする。
６．ＭＦＰＩ結果サービス１２４にＣＢを戻す。
【００２８】
トランスポートプロセッサ１１０は、ＳＣＳＩエラーおよびパケットプロトコルレベルエラーの両方をチェックする。エラーを検知する場合、エラーステータスのＣＢを戻す前に操作を数回再試行することができる。
【００２９】
モニタ１１４および論理ユニット番号（ＬＵＮ）サービス１１２は、トランスポートプロセッサ１１０に連結される。モニタ１１４は、エンジンとコントローラの接続をモニタする単なるトランスポートプロセッサ１１０の補助サービスである。ＬＵＮサービス１１２は、目的の周辺機器の適切なＳＣＳＩデバイス番号を決定する。ＬＵＮサービス１１２およびモニタ１１４は両方ともＳＣＳＩエミュレータ１１６に連結される。ＳＣＳＩエミュレータ１１６は、ＰＣＩブリッジ１１８に操作しやすく連結され、ＳＣＳＩインターフェースをエミュレートし、受信したＬＵＮ番号に基づき、ＰＣＩブリッジ１１８を介して、適切な周辺機器にデータを送る。好ましい実施例において、ＳＣＳＩ・ＬＵＮの０〜７は、クライアントから周辺機器へのメッセージに使用され、また、ＬＵＮの８〜１５は、周辺機器からクライアントへのメッセージに使用される。しかし、他のＬＵＮ割り当ても使用可能である。
【００３０】
メッセージは、またＰＣＩブリッジ１１８および適切なクライアントに転送されたＳＣＳＩエミュレータ１１６を介して周辺機器に受信される。アドバンストＳＣＳＩプログラミングインターフェース（ＡＳＰＩ）ポートプロセッサ１２０はＳＣＳＩエミュレータ１１６に接続される。ＡＳＰＩポストプロセッサ１２０は、トランスポートプロセッサ１１０によってＳＣＳＩエミュレータ１１６に提供されたコールバック方法である。コントローラ要求用のＰＣＩブリッジ１１８を介してＳＣＳＩエミュレータ１１６がエンジンからのレスポンスを受信する場合はいつでも、レスポンスを扱うためにＡＳＰＩポストプロセッサ１２０を呼び出す。その後、ＡＳＰＩリプライプロセッサ１２２に対してレスポンスを取り扱うためにさらに待ち行列に入れる。これはコールバック方法が長期に渡ってＳＣＳＩ通信を妨害しないことを保証するために行われる。ＡＳＰＩリプライプロセッサ１２２は、レスポンスのタイプおよびステータスを決定するサービスである。
【００３１】
ＧＥＴあるいはＳＥＴ要求の応答に基づき、ＭＦＰＩ結果サービス１２４に対するレスポンスの提供、あるいはトランスポートプロセッサ１１０の別の要求を起こし、適切な行動を開始する。ＭＦＰＩ結果サービス１２４は、チャネルマルチプレクサ／非マルチプレクサ１０６に受信メッセージを転送する。チャネルマルチプレクサ／非マルチプレクサ１０６がＭＦＰＩ結果サービス１２４からメッセージを受信する場合、チャネルマルチプレクサ／非マルチプレクサ１０６は非マルチプレクサの役割をし、共有メモリ１０１へメッセージを転送するために適切な通信チャネル１０５ａ、１０５ｂ、１０５ｃ、１０５ｄあるいは１０５ｅを選択する。
【００３２】
図２はクライアントから周辺機器に通信するために本発明によって使用された方法２００のブロック図である。クライアント１０２ａ、１０２ｂ、１０２ｃ、１０２ｄあるいはステップ２０２の１０２ｅは、周辺機器にデータ（図示しない）を生成する。その後、データは、ステップ２０４で示されるようにクライアントから共有メモリ１０１に送信される。この工程でチャネルマルチプレクサ／非マルチプレクサ１０６はマルチプレクサの役割をし、その後、ステップ２０６で示されるように共有メモリからデータを検索する。その後、ステップ２０８で示されるようにデータの行き先が決定される。一般的にステップ２０８はＭＦＰＩ要求サービス１１０により実行される。ステップ２１０で、適切な周辺機器がＳＣＳＩ論理エミュレーションを使用して選択され、そこでＬＵＮサービス１１２は周辺機器に適切なＳＣＳＩユニット番号を選択する。最終的に、ステップ２１２で示されるように、データは周辺機器（図示しない）にＰＣＩブリッジ１１８を介して送信される。
【００３３】
図３は、周辺機器から適切なクライアントへデータ（図示しない）を転送するために本発明によって使用された方法３００を示す。周辺機器がクライアント用データを生成する場合、その処理はステップ３０２から始まる。ステップ３０４で、データはＰＣＩブリッジ１１８およびＳＣＳＩエミュレータ１１６にＰＣＩバスを介して送信される。ＡＳＰＩポストプロセッサ１２０、ＡＳＰＩリプライプロセッサおよびＭＦＰＩ結果サービス１２４は、ＳＣＳＩユニット番号に基づいて適切なクライアントを決定し、この工程ではステップ３０６で示されるような非マルチプレクサの役割をしているチャネルマルチプレクサ／非マルチプレクサ１０６へデータを転送する。その後、チャネルマルチプレクサ／非マルチプレクサ１０６は、ステップ３０８で示されるように適切な通信チャネル１０５ａ、１０５ｂ、１０５ｃ、１０５ｄあるいは１０５ｅを通って共有メモリ１０１へメッセージを転送する。ステップ３１０でデータはクライアントによって検索される。
【００３４】
割込みの使用を通して、本発明のシステムは複数の周辺機器を同時に実行することができる。各クライアントは、共有メモリ１０１中の領域を指定されることにより、あるクライアントが周辺機器と通信している場合でも、他のクライアントは共有メモリ１０１へのデータ送信を継続できる。もし、１つの通信チャネルだけがクライアント１０２ａ、１０２ｂ、１０２ｃ、１０２ｄ、１０２ｅ、および共有メモリ１０１の間で使用される場合、一人のクライアントは、共有メモリ１０１がチャネルマルチプレクサ／非マルチプレクサ１０６によりアクセスされている間、共有メモリ１０１に読み書きが可能になる。しかし、各クライアントに、図１の中で示されるような各自単独の通信チャネルがあることが好ましい。
【００３５】
ＬＵＮサービス１１２、ＳＣＳＩエミュレータ１１６およびＰＣＩブリッジ１１８は、クライアントがチャネルマルチプレクサ／非マルチプレクサ１０６が検索しているメッセージを送信するのに最適な周辺機器を選択するためのロジカルデバイスセレクタの役割をする。これは、チャネルマルチプレクサ／非マルチプレクサ１０６にこれらの装置を操作しやすいように連結することにより、あるいはヘッダまたはデータパケットの他の部分が適切な周辺機器を表示するプロトコルを使用することにより行われる。
【００３６】
例えば、ユーザはプリントクライアント１０２ａを介してＭＦＰのプリンタにプリントジョブを送ることができる。データは、プリントクライアント１０２ａから通信チャネル１０４ａを介して共有メモリ１０１に送信される。チャネルマルチプレクサ／非マルチプレクサ１０６は通信チャネル１０５ａを介して印刷データを検索し、適切な周辺機器にそれを転送する。ＳＣＳＩエミュレータ１１６は、印刷データがプリンタのエンジン（図示しない）にＰＣＩブリッジ１１８を介して送られるプリンタに適切な論理ユニットを選択する。
【００３７】
第２のユーザが、パネルクライアント１０２ｃを介して複写機を使用する必要がある場合、あるいはパネルクライアント１０２ｃにさらに高い優先度をもつトラフィックがある場合、パネルクライアント１０２ｃは割込みを発生させる。これにより、チャネルマルチプレクサ／非マルチプレクサ１０６は、パネルクライアント１０２ｃからのデータを共有メモリ１０１から検索する。その後、このデータはＳＣＳＩエミュレータ１１６および複写機のＰＣＩブリッジ１１８を介してエンジンへ転送される。コピージョブが完了する時、チャネルマルチプレクサ／非マルチプレクサ１０６が共有メモリ１０１から印刷データの検索を再開する場合、ＳＣＳＩエミュレータ１１６およびＰＣＩブリッジ１１８はプリンタエンジン（図示しない）へのデータ転送を再開する。共有メモリ１０１がセグメントに分割される場合、チャネルマルチプレクサ／非マルチプレクサ１０６がパネルクライアント１０２ｃと通信している間、プリントクライアント１０２ａは共有メモリ１０１にデータを送信し続けることができる。
【００３８】
同様の工程で、データは周辺機器からクライアントに送られる。周辺機器がデータを持っている場合、割込みを起こすことができる。ＳＣＳＩエミュレータ１１６およびＰＣＩブリッジ１１８は周辺機器と通信し、またチャネルマルチプレクサ／非マルチプレクサ１０６は周辺機器から共有メモリ１０１にデータを転送する。共有メモリ１０１へのメッセージ配信の完成に際して、チャネルマルチプレクサ／非マルチプレクサ１０６、ＳＣＳＩエミュレータ１１６、およびＰＣＩブリッジ１１８は、割込み受信前に取り扱っていたトラフィックの取扱いを再開する。
【００３９】
上記の例は、クライアントから周辺機器に、あるいは周辺機器からクライアントにという一方向に進むデータの切替えを示しているのに対し、本発明はさらに２つの方向で作動できる。例えば、データがクライアントから周辺機器に転送されており、周辺機器がデータをクライアントに送信する必要がある場合、あるいは別の周辺機器が別のクライアントにデータを送信する必要がある場合、チャネルマルチプレクサ／非マルチプレクサ１０６およびＳＣＳＩエミュレータ１１６およびＰＣＩブリッジ１１８は割込みを発生させることにより、データフローの方向を周辺機器からクライアントに切り替える。
【００４０】
本発明は一定の好ましい実施例に関して示され記述されたが、本明細書の解釈と理解において技術に熟練した人により均等な変更および修正が発生することは明白である。本発明はそのような均等な変更および修正をすべて含んでおり、記載された特許請求の範囲の適用内によってのみ制限されている。
【図面の簡単な説明】
【００４１】
【図１】本発明のシステムの好ましい実施例のブロック図である。
【図２】クライアントから周辺機器にデータを送るために使用される手順を図示するブロック図である。
【図３】周辺機器からクライアントにデータを送るために使用される手順を図示するブロック図である。
【図１】
2004166244.tif 000003
【図２】
2004166244.tif 000004
【図３】
2004166244.tif 000005
【外国語明細書】
１  Title of Invention  
SYSTEM FOR PERFORMING MULTIPLE FUNCTIONS IN  PARALLEL TIME
２  Detailed Description of Invention 
2004166244.tif 000006
2004166244.tif 000007
2004166244.tif 000008
2004166244.tif 000009
2004166244.tif 000010
2004166244.tif 000011
2004166244.tif 000012
2004166244.tif 000013
2004166244.tif 000014
2004166244.tif 000015
2004166244.tif 000016
2004166244.tif 000017
３  Brief Description of Drawings    
2004166244.tif 000018
Claims
2004166244.tif 000019
2004166244.tif 000020
2004166244.tif 000021
2004166244.tif 000022
2004166244.tif 000023
2004166244.tif 000024
2004166244.tif 000025
１  Abstract    
2004166244.tif 000026
２  Representative Drawing   FIG1
FIG1
2004166244.tif 000027
FIG２
2004166244.tif 000028
FIG３
2004166244.tif 000029