JPH09282116A - データ処理装置 - Google Patents

データ処理装置

Info

Publication number
JPH09282116A
JPH09282116A JP8091321A JP9132196A JPH09282116A JP H09282116 A JPH09282116 A JP H09282116A JP 8091321 A JP8091321 A JP 8091321A JP 9132196 A JP9132196 A JP 9132196A JP H09282116 A JPH09282116 A JP H09282116A
Authority
JP
Japan
Prior art keywords
communication
data
port
driver
control unit
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
JP8091321A
Other languages
English (en)
Inventor
Takanori Masui
隆徳 益井
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
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 Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP8091321A priority Critical patent/JPH09282116A/ja
Publication of JPH09282116A publication Critical patent/JPH09282116A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Communication Control (AREA)

Abstract

(57)【要約】 【課題】 外部装置からのデータ受信待機中における処
理制御命令を、高速に検知して処理可能とする。 【解決手段】 ポート40は外部装置からのデータを受
信し、UI制御部35はデータに対する処理制御命令を
指示し、通知ドライバ32はその処理制御命令をポート
40に出力し、通信制御部34は、データ解釈部37に
対し、ポート40に出力された処理制御命令に基づく処
理を受信データに対し実行するように制御する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、外部装置からのデ
ータを受信して処理を実行するデータ処理装置に関し、
特に、外部装置からのデータを所定のポートで受信し、
その待機中に、指示された処理制御命令を前記ポートか
ら検知して処理を実行するデータ処理装置に関する。
【0002】
【従来の技術】従来より、イーサネットなどの通信イン
タフェースを備えたプリンタや、ワークステーション、
パーソナル・コンピュータ等のデータ処理装置が知られ
ている。これらのデータ処理装置は、例えば、図11に
示すようなネットワークシステムを構成する。この図に
おいては、データ処理装置としてのプリンタ11や、ワ
ークステーション12、パーソナル・コンピュータ13
などが、互いにイーサネット14を介して接続され、相
互に通信を行なうことができる。
【0003】この場合、例えば、プリンタ11は、主に
次のような各部により構成される。すなわち、プリンタ
11は、イーサネットのインタフェース部15、通信ア
プリケーション18、および各種アプリケーション19
から構成され、このうち通信アプリケーション18は、
各種通信プロトコルとの通信口(ポート)を介して通信
を行ない、また、各種アプリケーション19は、受信し
たデータやジョブ処理、装置全体などの制御を行なう。
ここで、通信プロトコルには、イーサネットにおけるA
ppleTalk−16(米国アップル・コンピュータ
社商標)やTCP/IP17等がある。通常、通信アプ
リケーション18は、1以上のプロセス(タスクまたは
スレッドの場合もある)で構成され、各プロセスは1以
上のポートに対してデータの送受信処理を行なう。
【0004】このように、異なるプロトコルのポートか
らの通信要求に対して、それぞれ対応するプロセスを起
動してデータ通信処理を行なう装置は、例えば特開平7
−64885公報に記載されている。かかるデータ処理
装置(通信装置)は、外部装置からのデータの受信に対
しては効果的に処理を実行することができる。しかしな
がら、このデータ処理装置は、外部装置からのデータ受
信だけでなく、自身の操作パネルから指示されるよう
な、例えば、通信の中止や一時停止等のような、外部装
置から受信されるデータ以外の処理制御命令を、外部装
置からのデータ受信待機中にも検知し、これを処理しな
ければならない。
【0005】そこで、従来、データ処理装置では、この
ような外部装置から受信されるデータ以外の処理制御命
令を通信アプリケーションに通知する場合、次に示す方
法が使用されていた。すなわち、通信アプリケーション
のプロセスは、データ受信待機中においては、外部装置
からデータが受信されるまでCPUを放棄してブロック
しているため、(a)シグナルを用いてプロセスのデー
タ受信待機を終了させてからプロセスを起こし、処理制
御命令の通知の有無を検知させて処理するか、あるいは
(b)データ受信待機にタイムアウト時間を設定し、一
定時間で受信待機からタイムアウトさせて、処理制御命
令の通知の有無を検知させて処理していた。
【0006】
【発明が解決しようとする課題】しかしながら、(a)
シグナルを利用する場合、シグナルの用途が限定されて
いて使用できる通信の種類が限られているために、通知
する処理制御命令が多数ある場合には利用できない、と
いう問題があった。また、1つのプロセスが、複数のポ
ートの通信を処理しているときは、シグナルではポート
の指定ができないため、シグナルによりデータ受信待機
を終了しても、どの通信に対する処理制御命令か判断で
きないので、別の通知手段を用意してポートを指定する
必要があった。さらに、シグナルは、カーネルの機能で
あるため、オペレーティング・システムによっては、シ
グナルを利用できない、という問題もあった。
【0007】また、(b)受信待機のタイムアウトを利
用する場合には、通信アプリケーションが処理制御命令
を検知するタイミングが、設定したタイムアウト時間の
間隔(例えば1秒)であるため、処理制御命令が通知さ
れてからこれを検知するまでの検知時間が長くなり、処
理制御命令に対する応答速度が遅い、という問題があっ
た。もちろんタイムアウト設定時間を短くすれば、検知
時間は短縮されるが、通信アプリケーションのプロセス
がCPUを占有する時間が増加していまうので、他のア
プリケーションのプロセスに影響がでない程度にしか、
タイムアウト時間(1〜2秒など)を短縮できない。ま
た、データ受信待機がタイムアウトする都度、処理制御
命令が通知されていないか、別の通知手段を検査しなけ
ればならないので、処理制御命令が通知されていない場
合は、無駄な処理が発生してしまう、という問題もあっ
た。
【0008】本発明は、上記問題に鑑みてなされたも
の、その目的とするところは、外部装置からのデータ受
信待機中でも、処理制御命令を高速に検知して処理可能
なデータ処理装置を提供することにある。
【0009】
【課題を解決するための手段】上記の目的を達成するた
め、請求項1に記載の発明にあっては、外部装置からの
データを受信するポートと、前記データに対する処理制
御命令を、前記ポートに出力する出力手段と、前記出力
手段によってポートに出力された処理制御命令に基づく
処理を、前記データに実行する処理実行手段とを具備す
ることを特徴としている。請求項2に記載の発明によれ
ば、請求項1に記載の発明において、前記ポートは複数
であり、これらポートの中からいずれか1つを選択する
選択手段を備え、前記出力手段は、選択手段により選択
されたポートに処理制御命令を出力することを特徴とし
ている。
【0010】(作用)請求項1に記載の発明によれば、
外部装置からのデータをポートで受信待機中に、出力手
段が外部装置からのデータ以外の処理制御命令を前記ポ
ートに出力し、処理実行手段が当該処理制御命令に対応
する処理を実行する。したがって、通信にかかるデータ
以外の多数の処理制御命令を高速に検知して処理するこ
とが可能となる。請求項2に記載の発明によれば、選択
手段が、処理制御命令を出力する複数ポートを選択し、
選択されたポートに対して処理制御命令が出力されるの
で、選択したポート以外のポートで実行されている通信
に影響を与えることなく、選択したポートの通信に対し
てのみ処理制御命令を通知し、これを処理することがで
きる。このため、データ処理装置全体のパフォーマンス
を向上することも可能となる。
【0011】
【発明の実施の形態】以下、本発明によるデータ処理装
置をプリンタサーバに適用した実施形態について、図面
を参照して説明する。図1は、本実施形態のプリンタサ
ーバの構成を示すブロック図である。この図に示すよう
に、プリンタサーバ21は、イーサネット・インタフェ
ース24を介してイーサネット23と接続され、イーサ
ネット23に接続されたワークステーション22と通信
を行なう。また、プリンタサーバ21は、プリンタ25
とはSCSIインタフェース26を介して接続され、ワ
ークステーション22から受信したプリント・データを
解釈して画像を生成し、プリンタ25に出力する。これ
により、プリンタ25が、ワークステーション22によ
るプリント・データに基づく画像を、実際に印刷するよ
うになっている。
【0012】プリンタサーバ21における、ソフトウエ
アプログラムは、カーネル39上で動作している。かか
るカーネルは通信機構としてUNIX SytemVに
おいて採用されている標準的なストリーム(STREA
MS)機構をもっている。イーサネット・ドライバ27
およびSCSIドライバ32の各々は、それぞれ、デバ
イス・ドライバであり、デバイスであるイーサネット・
インタフェース24やSCSIインタフェース26から
の割込処理や動作制御処理を行なう。ELAP(Eth
erTalk・リンク・アクセス・プロトコル)ドライ
バ27、DDP(データグラム・デリバリー・プロトコ
ル)ドライバ29、ATP(AppleTalk・トラ
ンザクション・プロトコル)ドライバ30、PAP(プ
リンタ・アクセス・プロトコル)ドライバ31の各々
は、それぞれAppleTalkの各レイヤにおけるプ
ロトコルを処理するストリーム機構ドライバであり、ス
トリーム機構によって動作する。
【0013】通知ドライバ32は、本発明で新たに追加
されるストリーム機構のドライバであり、通信制御部3
4がAppleTalkプロトコルでワークステーショ
ン22と通信を行なっているポート40に対し、UI制
御部35が指示する通信データ以外の処理制御命令を通
知する。かかる通知ドライバ32は、通信制御部34と
PAPドライバ31との通信についてはバイパスするだ
けであり、従来、PAPドライバ31に対して通信アク
セスしていた通信制御部34の通信処理について、変更
を加えなくてもよいようになっている。
【0014】通信API(アプリケーション・プログラ
ム・インターフェース)33は、プロトコル・スタック
を形成するストリーム機構ドライバに対して、アプリケ
ーションである通信制御部34や、UI制御部35がア
クセスを取るためのインタフェースである。各種アプリ
ケーションと、ストリーム機構ドライバとのアクセス
は、すべて通信API33を介して実行される。通信制
御部34は、プロトコル・スタック上位のアプリケーシ
ョンであり、プロトコルからのデータ受信やプロトコル
に対するデータ送信等の通信に関する処理を実行する一
方、ポート40から受信されるデータや、UI制御部3
5から通知される処理制御命令等に応じた処理も実行す
る。通信制御部34は、また、ワークステーション22
から印刷要求を受信した場合、ジョブ制御部36に対し
プリント・ジョブをジョブ要求する。
【0015】UI制御部35は、図示しないUI(ユー
ザー・インターフェース)部から入力される通信やジョ
ブ等に関する各種の操作指示命令を処理するとともに、
通信制御部34が通信中において当該通信に対する中止
やジョブ受信の一時停止等の命令を入力した場合には、
通信API33の関数を呼出し、選択したポート40を
介し通信制御部34に処理制御命令を通知する。
【0016】ジョブ制御部36は、ジョブ要求されたジ
ョブのスケジュールおよびジョブの制御を行なう。デー
タ解釈部37は、ジョブがスケジュールされた場合に、
通信制御部34が受信したジョブデータを読み出し、解
釈処理を実行して、出力すべき画像の生成を行なう。プ
リンタ制御部38は、データ解釈部37が解釈処理を実
行して生成された画像を、SCSIドライバ32を介し
て、プリンタ25に出力する。
【0017】次に、通信制御部34の動作について説明
する。はじめに、通信制御部34の親プロセスの動作に
ついて説明する。図2は、通信制御部34における親プ
ロセスの動作を示すフローチャートである。この図に示
すように、まず、通信制御部34の親プロセスは、ステ
ップS101において、ストリーム機構ドライバのEL
APドライバ28、DDPドライバ29、ATPドライ
バ30、PAPドライバ31、および通知ドライバ32
をオープンするとともに、各ドライバをリンクして、A
ppleTalkプロトコルの組立てを行ない、App
leTalkプロトコルを始動する。次に、通信制御部
34の親プロセスは、ステップS102において、ワー
クステーションからの印刷要求であるコネクション開設
要求を受信するため、SLS(セッション・リスニング
・ソケット)を開設し、さらに、SLSにサーバ名を登
録するため、SLSInit通信APIをコールする。
すると、SLSInit通信APIは、通知ドライバ3
2をオープンし、コマンドPAP_CREATE_SL
Sをputmsgシステム・コールによって通知ドライ
バ32に通知し、通知ドライバ32からの応答をget
msgシステム・コールによって受信する。通知ドライ
バ32は、該コマンドを書込キューに受信すると、それ
を下位のPAPドライバ31にそのまま通知する。コマ
ンドPAP_CREATE_SLSを受信したPAPド
ライバ31は、SLSを開設して、サーバ名をこれに登
録し、コマンドに対する応答値を、上位の通知ドライバ
32に通知する。通知ドライバ32は、コマンド応答値
をそのまま、ストリーム・ヘッドに送信するため、SL
SInit通信API内のコマンド応答待ちにあるge
tmsgシステム・コールに通知する。
【0018】通知ドライバ32は、図4に示すようなポ
ート番号管理テーブル201を有している。このポート
番号管理テーブル201は、通知ドライバ32における
ストリームのキュー(ポインタ)とポート番号とを対応
づけて管理するテーブルである。通知ドライバ32が通
信API33からオープンされると、ポート番号が割当
てられるとともに、該当する書込キューのポインタと一
緒にポート番号管理テーブル201に登録される一方、
通知ドライバ32が通信APIからクローズされると、
そのキューに該当するエントリがポート番号管理テーブ
ル201から削除される。
【0019】通信制御部34は、図5に示すような通信
管理テーブル202を有している。通信管理テーブル2
02は、現時点においてアクティブなポートのポート番
号、そのポートタイプ、および通信プロトコルを登録す
るものであり、後述するように、UI制御部35が特定
の通信ポートに対する処理制御命令の通知を行なう場
合、この通信管理テーブル202からその通信ポートの
ポート番号等を取得できるようになっている。
【0020】さて、通信制御部34の親プロセスは、ス
テップS103において、GetPortNum通信A
PIをコールして、SLSポートのポート番号を獲得
し、ポート番号を通信管理テーブル202に登録する。
GetPortNum通信APIは、コマンドGET_
PORT_NUMをputmsgシステム・コールによ
って通知ドライバ32に通知する。かかるコマンドを通
知ドライバ32が受信すると、当該コマンド受信した書
込キューに対応するポート番号をポート番号管理テーブ
ル201から見つけ、そのポート番号をストリーム・ヘ
ッドに送信するため、getmsgシステム・コールで
応答待ちしているGetPortNum通信APIに通
知する。
【0021】次に、通信制御部34の親プロセスは、ス
テップS104において、pollシステム・コールに
よってデータ受信待ちを行なう。データが受信される
と、通信制御部34の親プロセスは、ステップS105
において、当該受信データが、ioctl(I_PEE
K)システム・コールによって、ワークステーション2
2からのコネクション開設要求か否かを判定し、判定結
果が「Yes」であれば、ステップS106において、
ジョブ処理用の子プロセスを生成する。一方、ステップ
S105の判定結果が「No」であれば、通信制御部3
4の親プロセスは、ステップS107において、当該受
信データが処理制御命令であるか否かをさらに判定し、
判定結果が「Yes」であれば、ステップS108にお
いて、当該処理制御命令の処理を実行する。例えば、処
理制御命令が一時停止命令の場合は、親プロセスは、再
開命令を検知するまでジョブ受信一時停止状態とし、コ
ネクション開設要求に対しては拒絶応答するような処理
を実行する。なお、ステップS105、S107の判定
結果がいずれも「No」であれば、処理手順はステップ
S104に戻り、再びデータ受信待ちが行なわれる。
【0022】このように、通信制御部34の親プロセス
は、ワークステーションからの印刷要求を示すコネクシ
ョン開設要求を受信するため、SLSポートを開設して
データ受信し、さらに、当該データがコネクション開設
要求であれば、ジョブ処理用の子プロセスを生成する一
方、当該データが処理制御命令であれば、その命令の処
理を実行する。
【0023】次に、上述したステップS106において
生成された子プロセスの動作について説明する。図3
は、通信制御部34における子プロセスの動作を示すフ
ローチャートである。この図に示すように、通信制御部
34の子プロセスは、まず、ステップS111におい
て、ワークステーション22とのコネクションを開設し
てジョブを受信するために、GetNextJob通信
APIをコールする。すると、GetNextJob通
信APIは、通知ドライバ32をオープンし、PAP_
GET_NEXT_JOBコマンドを、putmsgシ
ステム・コールを使って通知ドライバ32に通知する。
通知ドライバ32は、当該コマンドをそのまま下位のP
APドライバ31に送信し、当該コマンドを受信したP
APドライバ31は、コネクション開設の処理を実行し
て、このコマンドに対する応答値を上位の通知ドライバ
32に送信する。通知ドライバ32は、この応答値をそ
のままストリーム・ヘッドに送信するので、getms
gシステム・コールで応答待ちになっているGetNe
xtJob通信APIに通知される。
【0024】次に、通信制御部34の子プロセスは、ス
テップS112において、GetPortNum通信A
PIをコールして、通信するJOBポートのポート番号
を獲得し、ポート番号を通信管理テーブル202に登録
する。
【0025】そして、通信制御部34の子プロセスは、
ステップS113において、pollシステム・コール
によってデータ受信待ちを行なう。データが受信される
と、通信制御部34の子プロセスは、ステップS114
において、当該受信データが、ioctl(I_PEE
K)システム・コールによって、ジョブデータであるか
否かを判定する。判定結果が「Yes」であれば、ステ
ップS115において、PAPRead通信APIをコ
ールして、受信したジョブデータをハードディスク等の
蓄積装置にスプールする。一方、ステップS114の判
定結果が「No」であれば、通信制御部34の子プロセ
スは、ステップS116において、当該受信データがク
ライアント22からのコネクション解放要求か否かをさ
らに判定する。この判定結果が「Yes」ならば、通信
制御部34の子プロセスは、ステップS117におい
て、スプールしたジョブデータに対するジョブ要求をジ
ョブ管理部に対して行ない、次のステップS118にお
いて、PAPClose通信APIをコールして、コネ
クションの解放とJOBポートの解放とを行なう。この
際、子プロセスは、通信管理テーブル202から、本通
信に関するエントリも削除する。さらに、ステップS1
16の判定結果が「No」であれば、通信制御部34の
子プロセスは、ステップS119において、当該受信デ
ータが処理制御命令か否かを判定する。この判定結果が
「Yes」ならば、通信制御部34の子プロセスは、ス
テップS120において、その処理制御命令に対応する
処理を実行する。例えば、処理制御命令が中断命令の場
合に、通信制御部34の子プロセスは、ジョブデータ受
信の途中でコネクション解放を行なうとともに、スプー
ルファイルを削除して、当該ジョブをアボートする。
【0026】このように、通信制御部34の子プロセス
は、JOBポートを開設してデータ受信し、さらに、当
該データがジョブデータであればそれをスプールし、コ
ネクション解放要求であれば、コネクションの解放とJ
OBポートの解放とを行ない、処理制御命令であれば、
当該処理制御命令に対応する処理を実行する。
【0027】次に、UI制御部35の動作について説明
する。図6は、UI制御部35の動作を示すフローチャ
ートである。この図に示すように、まず、UI制御部3
5は、ステップS211において、図示しない操作パネ
ルや表示パネル等から構成されるUI部への操作入力待
ちを行なう。ここで、操作入力がユーザにより行なわれ
ると、UI制御部35は、ステップS212において、
操作入力が一時停止指示であるか否かを判定する。この
判定結果が「Yes」ならば、UI制御部35は、ステ
ップS213において、第1に、通信管理テーブル20
2を参照して、SLSポートのポート番号を獲得し、第
2に、NotifyControl通信APIを使っ
て、獲得したSLSのポート番号を指定し、そこに一時
停止命令PAUSEを通知する。ここで、Notify
Control通信APIは、putmsgシステム・
コールを用いて、図7に示すような、メッセージ・ブロ
ックがリンクしたメッセージを、通知ドライバ32に通
知する。
【0028】一方、ステップS212の判定結果が「N
o」ならば、UI制御部35は、ステップS214にお
いて、操作入力が再開指示であるか否かを判別する。こ
の判定結果が「Yes」ならば、UI制御部35は、ス
テップS215において、第1に、通信管理テーブル2
02を参照して、SLSポートのポート番号を獲得し、
第2に、NotifyControl通信APIを使っ
て、獲得したSLSのポート番号を指定し、そこに再開
命令RESUMEを通知する。ここで、NotifyC
ontrol通信APIは、putmsgシステム・コ
ールを用いて、図8に示すような、メッセージ・ブロッ
クがリンクしたメッセージを、通知ドライバ32に通知
する。
【0029】また、ステップS214の判定結果が「N
o」でならば、UI制御部35は、ステップS216に
おいて、操作入力が中止指示であるか否かを判別する。
この判定結果が「Yes」ならば、UI制御部35は、
ステップS217において、第1に、通信管理テーブル
202を参照して、JOBポートのポート番号を獲得
し、第2に、NotifyControl通信APIを
使い、獲得したJOBのポート番号を指定して、そこに
中止命令ABORTを通知する。ここで、Notify
Control通信APIは、putmsgシステム・
コールを用いて、図9に示すような、メッセージ・ブロ
ックがリンクしたメッセージを通知ドライバ32に通知
する。さらに、中止指示の場合、UI制御部35は、通
信管理テーブル202のJOBポートの通信情報をUI
部に表示し、その中からユーザーが選択した特定の通信
に対してのみ中止操作を行なったり、または、現在アク
テイブなJOBポートの通信全てに対して中止操作を行
なったりすることができる。
【0030】このように、UI制御部35は、特定の通
信ポートに対する処理制御命令が指示された場合、通信
管理テーブル202(図5参照)からその通信ポートの
ポート番号を取得するとともに、取得したポート番号に
当該処理制御命令の通知を行なう。すなわち、処理制御
命令は、データが受信されるSLSあるいはJOBポー
トに出力されるので、通信管理部34にとってみれば、
データと処理制御命令とを同レベルで扱うことができ、
その結果、一定時間間隔で処理制御命令の有無を確認す
る必要がなくなる。このため本実施形態のデータ処理装
置によれば、処理制御命令を高速に検知し、当該処理制
御命令の処理を迅速に実行することができるのである。
さらに、特定の処理制御命令の場合(本実施形態では中
止指示の場合)、UI制御部35は、ユーザが選択した
JOBポートに当該処理制御命令を通知する。このた
め、それ以外のポートで実行されている通信に影響を与
えることなく、選択した特定のポートでの通信に対して
のみ、当該処理制御命令にかかる処理を実行することも
できる。
【0031】次に、通知ドライバ32の動作について説
明する。図10は、通知ドライバ32の書込キューのメ
ッセージ処理の動作を示すフローチャートである。この
図に示すように、まず、通知ドライバ32は、ステップ
S301において、メッセージの受信待機を書込キュー
にて行なう。ここで、メッセージが受信されると、通知
ドライバ32は、ステップS302において、受信した
メッセージのメッセージタイプがM_PROTOである
か否かを判定する。この判定結果が「Yes」ならば、
通知ドライバ32は、ステップS303において、メッ
セージ内のデータに設定されているコマンドを参照す
る。
【0032】そして、通知ドライバ32は、ステップS
304において、参照したコマンドが、GET_POR
T_NUMコマンドであるか否かを判定する。この判定
結果が「Yes」ならば、通知ドライバ32は、ステッ
プS305において、当該メッセージを受信した書込キ
ューのキューポインタを持つストリームのポート番号
を、ポート番号管理テーブル201から獲得し、次のス
テップS306において、そのキューの読出キューに対
して、獲得したポート番号を通知する。
【0033】一方、ステップS304の判定結果が「N
o」ならば、通知ドライバ32は、ステップS307に
おいて、当該コマンドがNOTIFY_CONTROL
であるか否かを判定する。この判定結果が「Yes」な
らば、通知ドライバ32は、ステップS308におい
て、当該メッセージ内のデータ内に設定されいる指定ポ
ート番号に対応する書込キューのポインタを、ポート番
号管理テーブル201から獲得し、次のステップS30
9において、獲得した書込キューに対応する読出キュー
に、メッセージ内のコマンド・データを送信する。
【0034】なお、ステップS302の判定結果が「N
o」の場合(すなわち、受信したメッセージのメッセー
ジタイプがM_PROTOでない場合)、あるいはステ
ップS304、S307の判定結果がいずれも「No」
の場合(すなわち、コマンドがGET_PORT_NU
Mコマンドでも、NOTIFY_CONTROLでもな
い場合)、通知ドライバ32は、ステップS310にお
いて、受信したメッセージあるいコマンドを、そのま
ま、下位のストリーム機構ドライバであるPAPドライ
バ31の書込キューに送信する。通知ドライバ32の読
出キューのメッセージ処理は、読出キューにて受信され
たメッセージを、そのまま、上位のストリーム・ヘッド
に送信して実行される。
【0035】このように、通知ドライバ32は、受信し
たメッセージのコマンドを参照し、それがGET_PO
RT_NUMコマンドであれば、当該メッセージを受信
した書込キューのキューポインタを有するストリームの
ポート番号を、そのキューの読出キューに対して通知す
る一方、コマンドがNOTIFY_CONTROLコマ
ンドであれば、当該メッセージ内のデータ内に設定され
いる指定ポート番号に対応する書込キューのポインタを
獲得し、それに対応する読出キューに、メッセージ内の
コマンド・データを送信する。それ以外では、通知ドラ
イバ32は、受信したメッセージをそのまま下位のドラ
イバに送信する。
【0036】以上によって、通信制御以外のアプリケー
ションが選択したポートの通信に対して、任意の処理制
御命令を通信制御アプリケーションに通知することが可
能となる。
【0037】なお、上述の実施形態では、通信インタフ
ェースをイーサネットとし、プロトコルをAppleT
alkとしたが、本発明は、これらに限定されるわけで
なく、他の通信インタフェース(赤外線インタフェース
や、セントロニクス等)や、他のプロトコル(NetW
areやTCP/IPなど)に対しても適用できるのは
いうまでもない。
【0038】また、本実施形態では、処理制御命令を通
知するための通知ドライバをストリーム機構ドライバと
したが、本発明は、これに限定されるわけでなく、スト
リーム機構モジュールや、他の通信機構であるソケット
等を使って実現する場合にも本発明を適用できるのは明
らかである。さらに、本実施形態では、処理制御命令の
選択ポートへの通知処理を通知ドライバによって行なっ
たが、通知ドライバを設けずに、処理制御命令の選択ポ
ートへの通知処理を直接プロトコル・ドライバ(例え
ば、PAPドライバ)で実行する場合にも、適用できる
のは明らかである。。
【0039】
【発明の効果】以上説明したように、本発明によれば、
多種類の処理制御命令を、通信を行なっているポートに
対して通知することができるので、他の処理に影響を及
ぼすことなく、多種類の処理制御命令を高速に検知して
処理することが可能となる(請求項1)。また、通信を
行なっているポートを選択して、処理制御命令を通知す
ることができるので、無関係な通信のポートに対する処
理を実行している通信制御部のプロセスに影響を及ぼす
ことなく、処理制御命令を処理することが可能となる
(請求項2)。
【図面の簡単な説明】
【図1】 本発明による実施形態の構成を示すブロック
図である。
【図2】 同実施形態における通信制御部の親プロセス
の動作を示すフローチャートである。
【図3】 同実施形態における通信制御部の子プロセス
の動作を示すフローチャートである。
【図4】 同実施形態におけるポート管理テーブルの説
明図である。
【図5】 同実施形態における通信管理テーブルの説明
図である。
【図6】 同実施形態におけるUI制御部の動作を示す
フローチャートである。
【図7】 同実施形態における一時停止命令通知用のメ
ッセージを説明する図である。
【図8】 同実施形態における再開命令通知用のメッセ
ージを説明する図である。
【図9】 同実施形態における中止命令通知用のメッセ
ージを説明する図である。
【図10】 同実施形態における通知ドライバの動作を
示すフローチャートである。
【図11】 従来のデータ処理装置の構成を示すブロッ
ク図である。
【符号の説明】
21……プリンタサーバ、22……ワークステーショ
ン、23……イーサネット、24……イーサネット・イ
ンタフェース、25……プリンタ、26……SCSIイ
ンタフェース、27……イーサネット・ドライバ、28
……ELAPドライバ、29……DDPドライバ、30
……ATPドライバ、31……PAPドライバ、32…
…通知ドライバ、33……通信API、34……通信制
御部、35……UI制御部、36……ジョブ制御部、3
7……データ解釈部、38……プリンタ制御部、39…
…カーネル、40……ポート

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】 外部装置からのデータを受信するポート
    と、 前記データに対する処理制御命令を、前記ポートに出力
    する出力手段と、 前記出力手段によってポートに出力された処理制御命令
    に基づく処理を、前記データに実行する処理実行手段と
    を具備することを特徴とするデータ処理装置。
  2. 【請求項2】 前記ポートは複数であり、これらポート
    の中からいずれか1つを選択する選択手段を備え、 前記出力手段は、選択手段により選択されたポートに処
    理制御命令を出力することを特徴とする請求項1記載の
    データ処理装置。
JP8091321A 1996-04-12 1996-04-12 データ処理装置 Pending JPH09282116A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP8091321A JPH09282116A (ja) 1996-04-12 1996-04-12 データ処理装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8091321A JPH09282116A (ja) 1996-04-12 1996-04-12 データ処理装置

Publications (1)

Publication Number Publication Date
JPH09282116A true JPH09282116A (ja) 1997-10-31

Family

ID=14023200

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8091321A Pending JPH09282116A (ja) 1996-04-12 1996-04-12 データ処理装置

Country Status (1)

Country Link
JP (1) JPH09282116A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014517951A (ja) * 2011-04-13 2014-07-24 コンパーニュ・アンデュストリエル・エ・フィナンシエール・ダンジェニエリ・“インジェニコ” メッセージを多重送信する方法、ディバイス及び対応するプログラム
JP2015045906A (ja) * 2013-08-27 2015-03-12 三菱電機ビルテクノサービス株式会社 動作検証装置及びプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014517951A (ja) * 2011-04-13 2014-07-24 コンパーニュ・アンデュストリエル・エ・フィナンシエール・ダンジェニエリ・“インジェニコ” メッセージを多重送信する方法、ディバイス及び対応するプログラム
JP2015045906A (ja) * 2013-08-27 2015-03-12 三菱電機ビルテクノサービス株式会社 動作検証装置及びプログラム

Similar Documents

Publication Publication Date Title
US5640495A (en) Computer-printer interface control for bidirectional/undirectional data communications
US7404193B2 (en) Method, system, and program for accessing device driver functions
JPH0887390A (ja) 印刷装置を有するネットワークシステム,ネットワークシステム用印刷装置,ネットワークシステム用サーバ装置およびネットワークシステム用端末装置
JP3363707B2 (ja) 周辺装置からシステム管理責任者のメッセージ送信方法、ネットワーク・インターフェース装置、プリンタからのメッセージ送信操作方法およびプリンタ
JP3963057B2 (ja) プリンタシステム
JP2005309982A (ja) ポート設定変更装置、ポート設定変更制御プログラム及びポート設定変更方法
JP2001309104A (ja) ステータス監視装置
JPH09282116A (ja) データ処理装置
JPWO2004077287A1 (ja) 印刷制御プログラムを格納した電子計算機、そのプログラム及びプログラムの記録媒体
JP3261233B2 (ja) 印刷装置および処理方法
JP2000163345A (ja) デバイス制御システムおよび情報登録方法、デバイス利用方法、並びにコンピュータプログラムを記録した記録媒体
JP2000322227A (ja) プリント指示装置およびプリンタ状態監視モジュール
JP4307952B2 (ja) ステータス監視方法
JPH07311688A (ja) システム資源管理方法及び装置
JP2005084888A (ja) 印刷システム
JPH04278661A (ja) 入出力装置管理方式
JP2002149517A (ja) ネットワークデバイス制御方法
JP3295295B2 (ja) 印刷装置、印刷システム、及び印刷方法
JP2009217560A (ja) ソフトウェア無線機システム
JPH1098504A (ja) データ処理装置
JPH0398143A (ja) 非同期端末監視
JPH11149384A (ja) プロセス間通信制御装置
JPH0519992A (ja) 情報処理装置の印刷制御方式
JPH11167474A (ja) 印刷装置
JPH11154132A (ja) サーバ/クライアント通信システム

Legal Events

Date Code Title Description
A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20040106