JPH06214920A - サーバー装置およびその通信処理方法 - Google Patents

サーバー装置およびその通信処理方法

Info

Publication number
JPH06214920A
JPH06214920A JP5021703A JP2170393A JPH06214920A JP H06214920 A JPH06214920 A JP H06214920A JP 5021703 A JP5021703 A JP 5021703A JP 2170393 A JP2170393 A JP 2170393A JP H06214920 A JPH06214920 A JP H06214920A
Authority
JP
Japan
Prior art keywords
printer
program
data
communication
scanner
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.)
Granted
Application number
JP5021703A
Other languages
English (en)
Other versions
JP4035173B2 (ja
Inventor
Yoshikazu Yokomizo
良和 横溝
Makoto Takaoka
真琴 高岡
Shigetada Kobayashi
重忠 小林
Hirohiko Hashimoto
裕彦 橋本
Yoshinobu Mita
良信 三田
Yukari Shimomura
ゆかり 下村
Osamu Yamada
修 山田
Kazuhiro Saito
和浩 齋藤
Masanari Toda
雅成 戸田
Yasuo Fukuda
康男 福田
Mitsumasa Sugiyama
光正 杉山
Jiyunichi Shishizuka
順一 宍塚
Sakuriki Negishi
作力 根岸
Susumu Sugiura
杉浦  進
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 JP02170393A priority Critical patent/JP4035173B2/ja
Publication of JPH06214920A publication Critical patent/JPH06214920A/ja
Priority to US08/657,531 priority patent/US6321266B1/en
Application granted granted Critical
Publication of JP4035173B2 publication Critical patent/JP4035173B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32358Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32502Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices
    • H04N1/32507Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of input devices
    • H04N1/32512Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of input devices of different type, e.g. internal and external devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N1/32502Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices
    • H04N1/32523Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of output devices
    • H04N1/32529Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device in systems having a plurality of input or output devices a plurality of output devices of different type, e.g. internal and external devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N1/00Scanning, transmission or reproduction of documents or the like, e.g. facsimile transmission; Details thereof
    • H04N1/00127Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture
    • H04N1/00204Connection or combination of a still picture apparatus with another apparatus, e.g. for storage, processing or transmission of still picture signals or of information associated with a still picture with a digital computer or a digital computer system, e.g. an internet server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0081Image reader
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0082Image hardcopy reproducer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/0077Types of the still picture apparatus
    • H04N2201/0087Image storage device
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3285Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N2201/3288Storage of two or more complete document pages or image frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N2201/00Indexing scheme relating to scanning, transmission or reproduction of documents or the like, and to details thereof
    • H04N2201/32Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device
    • H04N2201/3285Circuits or arrangements for control or supervision between transmitter and receiver or between image input and image output device, e.g. between a still-image camera and its memory or between a still-image camera and a printer device using picture signal storage, e.g. at transmitter
    • H04N2201/3297Simultaneous use of a single memory for different image storage purposes

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Processing Or Creating Images (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Facsimiles In General (AREA)

Abstract

(57)【要約】 【目的】 いかなる言語仕様に基づくホストがネットワ
ークに接続されても、サーバー装置がいかなる言語仕様
の画像処理装置にも整合する画像出力情報を相互に転送
処理できる。 【構成】 プリントドライバ1502が各ホスト特有の
プリンタインタフェースに基づいて変換した印刷画像情
報をサーバー装置に接続される画像処理装置のプリント
言語に基づく画像出力情報に変換すると、このプリント
ドライバ1602の下位レイヤとしてのSPクライアン
ト1503とSPサーバー1602とがネットワーク9
6を介して画像処理装置のプリント言語に基づく画像出
力情報を通信転送させる構成を特徴とする。

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】本発明は、スキャナ機能処理およ
びプリンタ機能処理を実行する入出力機器が所定のイン
タフェースを介して接続され、かつ所定のネットワーク
を介して複数のホストと通信可能に接続されたサーバー
装置およびその通信処理方法に関するものである。
【0002】
【従来の技術】従来、この種の入出力機器、特にプリン
タは、セントロニクスと呼ぶパラレルインタフェース
か、RS−232Cと呼ばれるシリアルインタフェース
を介してコンピュータに直接接続されることが多かっ
た。また、スキャナ(原稿読み取り装置)は、標準でな
いビデオインタフェースか、SCSIインタフェースで
コンピュータに直接接続されることが多かった。このよ
うな、インタフェースでは、快適な利用環境を整えるた
めには、1台1台のコンピュータにプリンタとスキャナ
を接続せざるを得ず、資源の効率的利用が図れなかっ
た。すべてのコンピュータにプリンタとスキャナを接続
することは、現実的には不可能で、従来は、フロッピ−
ディスクを持って他のコンピュータを借に行くか、キャ
ラクタベースのプリンタのプリンタならば、セントロニ
クスの分岐ボックスを共同利用することが多かった。
【0003】近年、ネットワーク技術の進展により、L
ANインタフェースを有するプリンタがいくつか販売さ
れる様になってきた。LANを介してコンピュータとプ
リンタを接続することにより、ネットワーク上のどのコ
ンピュータからでも手軽に印刷が可能となっている。
【0004】これらのネットワークプリンタは、LAN
のインタフェースに加え、米国のアドビ社が開発したポ
ストスクリプト(PostScript)というページ
記述言語を搭載した例が大部分であり、一種の業界標準
を形成している。
【0005】また、従来の通信プロトコルの構造を複数
のレイヤに分けて、各レイヤ毎にパケットの形状を独立
に定め、各レイヤ毎にタスク(プロセス)を割り当て
て、マルチタスク(マルチプロセス)でプログラムを構
築することにより、各レイヤの機能を明確化するととも
に、独立設計を容易としている。また、下位のレイヤは
上位のレイヤに対するサービスエンティティの提供に専
念させることができる等の利点があった。
【0006】さらに、単一のスキャナやプリンタは、ホ
ストコンピュータと直接接続された形態で使用されてき
た。また、一体型のスキャナプリンタは、一般的には単
体で複写機として使用されているので、このようなスキ
ャナやプリンタをネットワークに接続し、スキャナプリ
ンタサーバーとして機能させる形態では使用されていな
かった。
【0007】一方、ネットワーク上でプリンタサーバー
に接続し、プリンタを共有する構成があった。通常、こ
のようなプリンタサーバーでは、ホストコンピュータか
らプリンタの仕様に合せてデータをプリンタに送ってい
た。
【0008】また、ネットワーク上で、該ネットワーク
に接続されたリモートホストよりスキャンを行うネット
ワークスキャナという使用法はなく、スキャナ依頼を行
うホストコンピュータに画像を取り込む場合には、その
ホストコンピュータ自身に接続されたスキャナより読込
むか、あるいはネットワーク上にある他のホストコンピ
ュータに接続されたスキャナより読み込み、その画像を
ネットワークを経由して依頼を行ったホストに転送する
方法がある。また、スキャナで入力した画像を他の文
字,図形情報とともに印刷する場合、通常は印刷依頼を
行うホストコンピュータ上でスキャナ画像,文字,図形
情報を合成し、ネットワークに接続されたプリンタで出
力を行っていた。
【0009】また、従来この種のサーバー装置の形式は
大きく分けて下記のような種類があった。
【0010】ホストコンピュータから専用インタフェ
ースを通じプリンタに接続され、ホストコンピュータ内
でビットイメージに展開しプリンタに伝送する。ネット
ワーク対応は、ホストコンピュータが面倒を見る。主に
ワークステーション程度の高機能ホストコンピュータを
ベースにした形式。
【0011】ホストコンピュータからはページ記述言
語が伝送され、プリンタ側で持つインタープリタ機能に
よりビットイメージに変換する方式。ネットワークプリ
ンタと称されるもの。
【0012】ホストコンピュータから伝送されるペー
ジ記述言語を専用のビットイメージに変換する部分を通
じ、プリンタに専用インタフェースを通じ画像データを
伝送するもの。
【0013】さらに、従来のネットワーク上に存在する
サーバー装置のダウンロード方法は、下記(a),
(b)による場合が多い。
【0014】(a)サーバー装置を立ち上げる時に、必
要なプログラムをダウンロードホストからダウンロード
を行う。
【0015】(b)プリンタ等のプリント処理を依頼す
るホストコンピュータがフォント,フィルタ等のダウン
ロードを行う。
【0016】また、従来のネットワーク環境のパラメー
タ管理方式としては、ネットワーク上のホスト,ユーザ
の管理に行うものに、UNIX環境で広く使用されるN
IS(Network Infomation System )がある。このNI
Sにおいては、ネットワーク上のあるドメイン内にマス
タサーバー装置,スレーブサーバー装置,クライアント
を設定し、ドメイン内のホスト,ユーザ管理等のパラメ
ータは、通常マスタサーバーで管理されている。また、
マスタサーバーの変更情報は、スレーブサーバーに自動
的に転送される。このため、マスタサーバー装置,スレ
ーブサーバー装置を意識せずにパラメータ情報の参照を
行うことができる。
【0017】
【発明が解決しようとする課題】しかしながら、上記ペ
ージ記述言語を使用してシステムを構築して、ネットワ
ークに共有使用可能なプリンタを接続する場合、すなわ
ちネットワークプリンタインタフェースを標準化して、
どのメーカーのプリンタとも、自由に接続できるように
する場合、2つの原則がある。
【0018】アプリケーションソフトは、各プリンタ
の言語や制御方法に依存してはならない。
【0019】プリンタは、各アプリケーションの出力
するコードの違いを気にしてはならない。
【0020】このように、アプリケーションソフトとプ
リンタとの間に、両者の使用の違いを吸収する仕組、い
わゆるプリンタドライバ(プログラム)が存在しなけれ
ばならい。
【0021】しかるに、上記ポストスクリプトを使用す
る場合、アプリケーションがポストスクリプトコードを
出力し、プリンタがポストスクリプトコードを理解する
から正常に印刷できるわけであるが、逆に言えば、アプ
リケーションソフトは、プリンタの言語であるポストス
クリプトに依存しており、プリンタは、アプリケーショ
ンの出力するポストスクリプトコードに依存していると
言える。
【0022】また、ポストスクリプトはプリンタ用であ
って、スキャナには使用できない。このように、上記ポ
ストスクリプトの使用の制約から、スキャナとプリンタ
とを備えるスキャナプリンタ(複写装置)をネットワー
クの共有資源として、各ホストコンピュータからのスキ
ャナ要求,プリンタ要求を処理する場合、アプリケーシ
ョンに制約が生じ、スキャナプリンタのスペックを最大
限に発揮させることができなくなる等の問題点があっ
た。
【0023】さらに、上記のように通信ネットワーク上
のプロトコルをレイヤ構造とすると、本来のネットワー
ク間通信では使用しない、タスク(プロセス)間通信が
増大するためにCPUの処理負担が増大しデータ処理効
率が低下する。また、各タスク毎に設定するバッファメ
モリが増大して、メモリ資源を浪費する等の問題点があ
った。
【0024】また、最近では、ネットワーク化が進んで
おり、インテリジェントビル等の全体にLAN(ローカ
ル・エリア・ネットワーク)を張り巡らせた大規模なネ
ットワーク化が進んでいる。さらには、WAN(ワイド
エリアネットワーク)のような、公衆回線でLANを直
結した全国規模のネットワーク、さらにはISDN等の
高度情報網が整備されつつある。
【0025】このため、ビルの別のフロアーや、別のビ
ル、あるいは東京から大阪のホストコンピュータを利用
すること等が可能となりつつある。従って、プリンタサ
ーバーでは、従来までの比較的狭い範囲の利用に留まら
ず、非常に広域な利用が可能となった。
【0026】また、スキャナやプリンタも高機能化,高
解像度化,カラー化が進んでいる。このため、様々な形
式でのスキャナからの読み取り、プリンタへの出力が可
能となってきている。従来のホストコンピュータに直結
したスキャナやプリンタは、ホストコンピュータがそれ
ぞれの設定や画像データの入出力を行っていた。インタ
フェース(I/F),画像データ形式,通信速度等は、
1対1の関係であり、システムで独自で構築しても何ら
問題はなかった。
【0027】一方、ネットワーク上にSPサーバーシス
テムを介して接続されたスキャナ,プリンタは、複数の
ホストコンピュータで利用できるため、資源の共有化が
図れる上、異機種であるホストコンピュータに共通の利
用環境を提供できるといった利点があり、効率的であ
る。
【0028】しかしながら、ネットワークで共有化する
故、下記のような新たな問題も発生する。
【0029】第1に、利用時間もまちまちであったり、
同時に利用することもあり、それに伴って、例えば利用
者AがSPサーバーシステムを介してプリンタを利用し
ている最中に、利用者Bがプリンタ利用の要求を出した
場合、SPサーバーが同様に振る舞うかが問題となる。
【0030】第2に、利用者Aが同様に、プリンタを利
用している最中に、何らかのエラーが発生した場合、利
用者Aにどのように、通知するか、また、その際、利用
者Bが利用しようとしても、利用できないことを、どの
ように通知するかが問題となる。
【0031】第3に、SPサーバーシステムに異常が発
生した場合、あるいはホストコンピュータ側に異常が発
生した場合、お互いの通信が不能となり、どちらかがコ
マンド待ちの状態となり、システムがデットロック状態
になってしまう。そこで、SPサーバーシステム側もホ
ストコンピュータ側もそのような状態で不良となること
を避けるため、タイマ監視機能を備える場合がある。こ
の場合、お互いのコマンドに対するレスポンスをある一
定時間待ち、その時間を越えるような場合、再送要求を
何回か発行して、それでも応答がない場合は自動的に通
信を打ち切って初期状態に戻す動作を行う。
【0032】しかしながら、このような通信制御によれ
ば、以下のような新たな問題が発生する。
【0033】ネットワークが大規模化して、1つのネッ
トワークにゲートウエイあるいはルーターを設けて、他
のネットワークと結ばれている場合であって、スキャナ
やプリンタの接続されたSPサーバーシステムとホスト
コンピュータが異なるネットワークにある場合の利用の
時、どちらか一方のネットワークが遅いと、お互いコマ
ンドに対するレスポンスが正常な場合であっても、タイ
マ監視機能で設定した時間を越えてしまうことが発生す
る。このような状況では、ゲートウエイあるいはルータ
ーの遅延の大なる場合や、一方のネットワークが異常に
混雑している場合にも発生する。
【0034】このような状況が発生した場合、ネットワ
ークの通信遅延が大きいだけで、正常な通信を行ってい
る場合であっても、SPサーバーシステムやホストコン
ピュータのタイマ監視機能が作動し、自動的に再送要求
を発行してしまい、ひいては自動的に初期状態に戻って
しまう。これにより、正常な通信であっても、利用者が
スキャナやプリンタの資源を利用できないといった問題
点があった。
【0035】さらに、従来のサーバー装置におけるデー
タダウンロード方式,パラメータ管理方式では、プログ
ラム,フィルタ,フォント,パラメータ等のダウンロー
ドおよびその管理は、ネットワーク上のドメインの中
で、ある特定のサーバー装置から見た場合、上述のよう
に共通の手段(上述ではマスタとスレーブが個別に処理
を行う)によっては行われていないため、例えばスキャ
ナプリンタをネットワークに接続して、各クライアント
がスキャナ要求,プリンタ要求を処理するサーバー装置
のダウンロード,パラメータ管理が問題となる。すなわ
ち、ネットワーク上にスキャナ/プリンタ(S/P)サ
ーバー装置を設置した場合、従来のデータダウンロード
方式,パラメータ管理方式では、S/Pサーバー装置が
プログラム,フィルタ,フォント,パラメータを一元管
理できず、予期しないシステムダウンに即応できなくな
る場合がある。
【0036】また、複数のダウンロードホスト中に、マ
スタホスト,スレーブホストを設定した場合、スレーブ
ホスト同士での通信は行われておらず、マスタホストが
何らかの原因でダウンした場合、パラメータ等の変更が
できなくなり、システムサービスが行えなくなる等の幾
多の問題点があった。
【0037】本発明は、上記の問題点を解決するために
なされたもので、ネットワーク上の各ホストと各サーバ
ー装置に接続される各入出力機器との間の画像情報通信
を画一化するとともに、サーバー装置におけるデータダ
ウンロード方式,パラメータ管理等を分散処理すること
により、各ホストの言語仕様環境および各入出力機器の
言語仕様環境が相違していても何ら支障なく入出力機器
を総括的に効率よく制御できるサーバー装置およびその
通信処理方法を提供することを目的とする。
【0038】
【課題を解決するための手段】第1の本発明に係るサー
バー装置は、各ホスト特有のプリンタインタフェースに
基づいて変換した画像情報を前記サーバー装置に接続さ
れる前記入出力機器のプリンタ言語に基づく画像情報に
変換するプリントドライバと、このプリントドライバの
下位レイヤとして、変換された前記画像情報を前記サー
バー装置に前記ネットワークを介して通信転送するクラ
アント通信制御手段とを各ホストに設け、前記プリント
ドライバの下位レイヤとして、前記ネットワークを介し
て前記クラアント通信制御手段と通信しながら受信した
前記画像情報を前記サーバー装置に転送するサーバー通
信制御手段とを設けたものである。
【0039】第2の本発明に係るサーバー装置は、特定
の1台または優先度が付けられた複数台のホストから所
望の情報をダウンロードするためのホスト先指定情報,
前記所望の情報をダウンロードするため緒ダウンロード
プログラム,前記プリント機能処理の実行に必要なフォ
ント情報,前記プリント機能処理の実行に必要な印刷制
御情報を記憶する不揮発性メモリを前記ホストまたは所
定のネットワーク上に設けたものである。
【0040】第3の本発明に係るサーバー装置の通信処
理方法において、各ホストからの指示に基づいて前記サ
ーバー装置から発行される通信コマンドに対する各ホス
トからの応答時間を計時するタイマを第1の監視時間分
起動し、該第1の監視時間経過後、前記通信コマンドを
再発行し、該通信コマンドに対する応答状態を前記第1
の監視時間よりも所定時間長い第2の監視時間分継続し
て監視し、該監視結果に基づいて各ホストとの通信異常
発生状態を判定し、該判定結果に基づいて該ホストに対
して通信中断コマンドを発行し、該通信中断コマンド発
行後、前記ネットワークとの通信状態を待機状態に設定
する。
【0041】第4の本発明に係るサーバー装置の通信処
理方法において、各ホストまたはサーバー装置の何れか
一方から前記ネットワーク上での応答時間を計時するた
めのコマンドを発行し、該コマンドに対する応答時間を
サーバー装置または各ホストが計時し、該計時結果に基
づいて各ホストとサーバー装置との間の正常応答時間を
計時するタイマの監視時間を延長する。
【0042】第5の本発明に係るサーバー装置の通信処
理方法において、前記ネットワーク側を低位とし、かつ
前記ネットワークを介して各ホストから受信した画像情
報を記憶するバッファメモリを高位とする順次階層する
複数の通信プログラムを連続的に実行して前記バッファ
メモリに前記画像情報を記憶させる際に、低位の通信プ
ログラムから上位の通信プログラムに前記画像情報に対
する前記バッファメモリへの展開開始アドレスを催促
し、該催促に従って高位の通信プログラムから停止の通
信プログラムに伝達される展開開始アドレスに基づいて
低位の通信プログラムにより前記バッファメモリに前記
画像情報を展開させる。
【0043】
【作用】第1の発明においては、プリントドライバが各
ホスト特有のプリンタインタフェースに基づいて変換し
た画像情報を、サーバー装置に接続される入出力機器の
プリンタ言語に基づく画像情報に変換すると、このプリ
ントドライバの下位レイヤとしてのクライアント通信制
御手段とサーバー通信制御手段とがネットワークを介し
て入出力機器のプリンタ言語に基づく画像情報を通信転
送させるので、各ホスト特有のプリンタ言語処理体系に
従う画像情報を、サーバー装置に接続される入出力機器
のプリンタ言語処理系に制限されることなく、ホスト上
の市販アプリケーションでネットワーク上を高速に通信
させることが可能となる。
【0044】第2の発明においては、ホストまたは所定
のネットワーク上の不揮発性メモリに、特定の1台また
は優先度が付けられた複数台のホストから所望の情報を
ダウンロードするためのホスト先指定情報,前記所望の
情報をダウンロードするため緒ダウンロードプログラ
ム,前記プリント機能処理の実行に必要なフォント情
報,前記プリント機能処理の実行に必要な印刷制御情報
を記憶させるので、特定の1台または優先度が付けられ
た複数台のホストから所望の情報をダウンロードする際
のホスト先および印刷制御情報の変更処理の一元管理が
可能となる。
【0045】第3の発明においては、サーバー装置から
何れかの指示に基づいて通信コマンドを発行後の応答時
間が第1の監視時間を越えて、第2の監視時間を経過し
ても応答が得られない場合、当該ホストとの通信に異常
が発生したものと見なして、サーバー装置とネットワー
クの通信状態を待機状態に自動復帰させるので、当該通
信異常となったホストの回復を待たずに、プリンタ資
源,スキャナ資源による各機能処理実行を要求する他の
ホストとの通信を速やか、かつ正常に開始することが可
能となる。
【0046】第4の発明においては、各ホストまたはサ
ーバー装置の何れか一方から前記ネットワーク上での応
答時間を計時するためのコマンドを発行してからの応答
時間をサーバー装置または各ホストが計時し、該計時結
果に基づいて各ホストとサーバー装置との間の正常応答
時間を計時するタイマの監視時間を延長するので、ネッ
トワーク上の各ホストとの通信中における応答信号の送
出タイミングが長くなる事態が発生しても、その後の通
信処理を正常に続行することが可能となる。
【0047】第5の発明においては、低位の通信プログ
ラムから高位の通信プログラムを連続的に実行して前記
バッファメモリに前記画像情報を記憶させる際に、低位
の通信プログラムから上位の通信プログラムに前記画像
情報に対する前記バッファメモリへの展開開始アドレス
を催促し、該催促に従って高位の通信プログラムから低
位の通信プログラムに伝達される展開開始アドレスに基
づいて低位の通信プログラムにより前記バッファメモリ
に前記画像情報を展開させるので、低位の通信プログラ
ムから高位の通信プログラムを連続的に実行して前記バ
ッファメモリに前記画像情報を転送して記憶させる際の
各通信プログラム間のオーバヘッドを抑えることが可能
となる。
【0048】
【実施例】図1は本発明の第1実施例を示すサーバー装
置の概要を説明するシステムブロック図である。なお、
詳細なシステムブロック図は後述する。
【0049】図において、スキャナ/プリンタ(SP)
サーバーは後述する。本システムは、大別してメインC
PU回路1,イーサネット回路2,JPEG圧縮回路
3,スキャナ/プリンタインタフェース回路4より構成
されている。なお、スキャナ/プリンタ(SP)サーバ
ーに複数のスキャナ/プリンタを接続する場合には、そ
の台数分のスキャナ/プリンタインタフェース回路を実
装する。その台数の増減を容易にする為にスキャナ/プ
リンタインタフェース回路は独立したボード上に構成さ
れており、本体とは後述するVMEバス16で接続す
る。残りのメインCPU回路1、イーサネット回路2、
JPEG圧縮回路3は1枚のボード上に構成されてお
り、互いにローカルなバス14で結合されている。
【0050】4−1は第1のスキャナ/プリンタインタ
フェース回路(第1のSPインタフェース回路)で、例
えば商品名CLC−500等のディジタルカラー複写装
置100(レーザビームカラー複写装置)とVMEバス
16とのI/Oをインタフェースする。
【0051】4−2は第2のプリンタ/スキャナインタ
フェース(第2のSPインタフェース回路)で、例えば
商品名ピクセルジェット等のディジタルカラー複写装置
200(バブルジェットカラー複写装置)とVMEバス
16とのI/Oをインタフェースする。
【0052】メインCPU回路1は例えばR3000
(商品名)等のCPU5とメモリ6等から成り、ここで
OSである、例えば VxWorks(商品名)の管理下ですべ
てのプログラムが実行される。メモリ6の補助記憶装置
として、ハードディスク7がある。8はSCSIインタ
フェースである。イーサネット回路2はイーサネットト
ランシーバー9とデータをメモリ6にDMA転送する為
のDMAコントローラ10等とから成る。イーサネット
トランシーバー9はイーサネット(商品名)ローカルエ
リアネットワーク(LAN)11に接続する。JPEG
圧縮回路3はJPEG圧縮/伸長コントローラ12とF
IFOメモリ13等とから成る。メインCPU回路1,
イーサネット回路2,JPEG圧縮回路3を互いに結合
しているローカルバス14はVMEバストランシーバー
15−1を介してVMEバス16に接続されている。
【0053】第1のSPインタフェース回路4−1はペ
ージメモリ17と第1の制御回路18等からなる。1ペ
ージ分のメモリが必要な理由は、ディジタルカラー複写
装置100が印刷/スキャンを開始すると途中でフロー
制御する事ができないからである。ページメモリ17
は、メモリの価格が高いので圧縮メモリを構成してい
る。すなわち、このメモリ17に書き込まれるデータ
は、メモリ6でラスタライズされた画像のみである事に
着目し、メモリ17は非可逆圧縮ではあるが、高圧縮率
が得られるADCT圧縮方式を採用している。そのAD
CT圧縮チップはこの図では示していないが、前述のJ
PEG圧縮/伸長コントローラ12と同じチップを用い
ている。
【0054】ただし、このページメモリ17にADCT
圧縮方式用いる場合、圧縮データはここだけの閉じた回
路で使用されるだけで、外部には出て行かないから、標
準に則る必要はなく、実際、JPEGを改良した効率的
な方法を用いている。第1の制御回路18は例えばZ−
80(商品名)等のCPU等で構成し、複写装置100
との画像以外の制御信号のやり取りをしている。ここの
インタフェースの本数を減らすため、制御コマンドをシ
リアルで送っている。第1のSPインタフェース回路4
−1はVMEバストランシーバー15−2を介してVM
Eバス16と接続している。
【0055】第2のSPインタフェース回路4−2はデ
ータ縦横変換回路19、バッファメモリ20、画像処理
回路21及び第2の制御回路22等とから成り。VME
バストランシーバー15−3を介してVMEバス16と
接続している。データ縦横変換回路19は、プリント時
は走査方向の画像のデータ形式を走査方向に対して90
°に変換し、スキャン時は走査方向に対して90°のデ
ータ形式を走査方向に変換する。バッファメモリ20は
そのための変換用バッファとして用いる。
【0056】画像処理回路21は複写装置200に欠け
ている画像処理機能を補う為に入れている。第2の制御
回路22は第1の制御回路18と同じ機能を提供する為
のものであり、同じ例えばZ−80(商品名)等のCP
U等で構成されている。
【0057】以下、動作について説明する。
【0058】例えばネットワーク印刷を実行する場合の
例を示すと、LAN11からイサーネットトランシーバ
ー9を介して入ってきたページ記述言語(例えば商品名
CaPSL)は、DMAコントローラ10によって、直接メ
モリ6の特定領域(受信バッファ)に蓄えられる。そこ
で後述するページ記述言語インタープリタープログラム
によってラスターイメージに変換される。JPEG圧縮
画像は、ページ記述言語(以下、PDL)で伸長するこ
ともできるが、高速に伸長するためJPEG圧縮/伸長
回路3が利用される。
【0059】なお、メモリ6は価格的な理由から、1ペ
ージの画面全体をラスタライズするだけの容量を持た
ず、PDL(例えばCaPSL )を部分的に処理するバンデ
ィングという手法を用いて、何回かに分けて処理され
る。ラスタライズが完了したら、第1のSPインタフェ
ース回路4−1または第2のSPインタフェース回路4
−2に転送され、各プリンターに出力される。なお、ネ
ットワークスキャンを実行する場合の例は後述する。
【0060】図2は、図1に示したサーバー装置を含む
ネットワークシステムの概略を示すシステムブロック図
である。
【0061】本実施例におけるネットワークシステム
は、例えば Macintosh(商品名)、IBM-PC(商品名)、
SUN (商品名)の様な市販されているホストコンピュー
タのアプリケーションソフトウエアから、ネットワーク
を介して接続されている少数のスキャナーやプリンター
を共同利用する為の物である。同図に於て、大きく4つ
のブロックがあるが、左から順に Macintoshワークステ
ーションST1、IBM-PCワークステーションST2、SU
N ワークステーションST3、及びカラーSPサーバー
SP1である。 MacintoshワークステーションST1、
IBM-PCワークステーションST2、SUN ワークステーシ
ョンST3は、市販されているホストコンピューターで
あり、カラーSPサーバーSP1は発明者が設計したイ
ンタフェースユニットである。それらが、例えばEthern
et(商品名)というローカルエリアネットワーク96に
よって相互接続されている。94は第1のカラースキャ
ナ/プリンタ、95は第2のカラースキャナ/プリンタ
である。
【0062】Macintosh ワークステーションST1、IB
M-PCワークステーションST2、SUN ワークステーショ
ンST3、及びカラーSPサーバーSP1は、相互通信
の為に、共通の通信インタフェースを有する。51,6
1,71,81はローカルエリアネットワーク(LA
N)96と通信する為のイーサネットトランシーバーで
ある。52,62,72,82はLAN96上に構築し
た通信プログラム TCP/IP (商品名)で、米国国防省の
標準である。
【0063】このTCP/IPプログラムは End-to-End での
データー誤りの無い通信サービス(機能)を提供する。
53,63,73,83は第1のカラースキャナ/プリ
ンタ94,第2のカラースキャナ/プリンタ95を Mac
intosh用のステーションST1,IBM-PC用のステーショ
ンST2,SUN ワークステーションST3から共同利用
するという特別な目的のためのサービス(機能)を提供
する通信プログラムである。53,63はS/Pクライ
アントプログラムとして、クライアント型のサービスを
提供する通信プログラムであり、83はS/Pサーバー
プログラムで、サーバー型のサービスを提供する通信プ
ログラムである。
【0064】Macintosh のステーションST1から第1
のカラースキャナ/プリンタ94に印刷させる場合を説
明すると、市販アプリケーションプログラム56で作成
した原稿を印刷しようとすると、プリントマネージャ−
(Printing Manager) 55というOS(Operating Syst
em)の一部に制御が渡され、印刷のための制御を開始す
る。この時のデーターフォマットは Macintoshの場合 Q
uickDraw(商品名)タイプに標準化されている。プリン
トマネージャー55は、変換プログラム54の描画関数
群を原稿に書かれた通りにコールする。変換プログラム
54は、そのコールの中で QuickDrawを、例えばCaPSL
(Canon Prinnting System Language)コードに逐一変換
して図示しないメモリーに CaPSLコードを蓄える。変換
プログラム54は、主としてQuickDraw/CaPSL 変換プロ
グラムとして機能する。
【0065】通信プログラム53は、得られた CaPSLコ
ードをTCP/IPプログラム52に従ってイーサネッ
トトランシーバ51,LAN96,イーサネットトラン
シーバ81を介し,さらにTCP/IPプログラム8
2,通信プログラム83を介してカラーSPサーバーS
P1に伝送する。なお、上述した変換プログラム54,
64,74,通信プログラム53,63,73,スキャ
ナインタフェースプログラム57,67,TCP/IP
プログラム52,62,72等は、例えばフロッピ−デ
ィスク等でホストコンピュータに供給されても良い。ま
た、イーサネットトランシーバー、例えばボード回路と
してホストコンピュータに供給されても良い。
【0066】カラーSPサーバー(S/Pサーバー装
置)SP1全体の動作は、システム全体制御プログラム
93によって制御されている。前記 CaPSLコードの受信
も、システム全体制御プログラム93に知らされる。シ
ステム全体制御プログラム93は、後述するPDLイン
タープリタープログラム84に対して、CaPSL コード化
された原稿を、ビットマップ画像にラスタライズする様
に要求する。ビットマップ画像にラスタライズされた画
像データは、デバイスドライバ86に渡され、例えば第
1のプリンタ制御ボード91を介してビデオインタフェ
ース Video I/Fから第1のカラースキャナ/プリンタ9
4に送られ、印刷される。
【0067】IBM-PCのステーションST2から印刷する
場合も同様で、上記データの流れと同様であるが、IBM-
PCのステーションST2の場合には、印刷原稿のデータ
フォマットは GDI(商品名)に標準化されている。変換
プログラム64は、主としてGDI/CaPSL 変換プログラム
として機能する。
【0068】SUNワークステーションST3から印刷
する場合は、上記変換プログラム54,64に相当する
機能が標準化されていないため、アプリケーションプロ
グラム75が直接通信プログラム73を介して通信す
る。ただし、市販のアプリケーションプログラム、例え
ば FrameMaker (商品名)から印刷できるようにする
為、MIF/CaPSL 変換用の変換プログラム74を間に入れ
ている。
【0069】原稿をスキャン(読み取り)する場合は、
例えば MacintoshのステーションST1の場合、スキャ
ナアプリケーションプログラム58からスキャナインタ
フェースプログラム57を介して通信プログラム53に
スキャンの要求を出す。すると通信プログラム53は、
イーサネットトランシーバ51,LAN96,イーサネ
ットトランシーバ81およびTCP/IPプログラム8
2を介し、通信プログラム83との間に、End-to-End
の通信路を確保し、スキャン命令を伝達するその命令は
システム全体制御プログラム93に伝えられ、スキャナ
制御プログラムに対して第1のカラースキャナ/プリン
タ94をスキャンさせるように要求する。
【0070】スキャンされた原稿の画像データは逆に、
第1制御ボード91,デバイスドライバ86,通信プロ
グラム83,TCP/IPプログラム82,イーサネッ
トトランシーバ81,LAN96,イーサネットトラン
シーバ51,TCP/IPプログラム52,通信プログ
ラム53,デバイスドライバー57,スキャナアプリケ
ーションプログラム58の順に伝達される。
【0071】IBM-PCのステーションST2で原稿をスキ
ャンする場合も同様であるが、SUNワークステーショ
ンST3からスキャンする場合は、デバイスドライバー
57,スキャナインタフェースプログラム67に相当す
る機能が標準化されていないため、スキャナアプリケー
ションプログラム76が直接通信プログラム73を介し
て通信する。なお、スキャナインタフェースプログラム
57,67はスキャナアプリケーションと通信プログラ
ムとのデータの制御を行う。
【0072】カラーSPサーバーSP1には、もう1台
のスキャナ/プリンタである第2のカラースキャナ/プ
リンタ95が接続されており、第2の制御ボード92を
介して第2のカラースキャナ/プリンタ95を同様に制
御する。
【0073】システム全体制御プログラム93を始めと
するカラーSPサーバーSP1の全てのプログラムは、
例えばVxWorks (商品名)と言うシステムプログラム
(OS)の管理下で動作する。
【0074】このサービスの為の特別なプログラム(例
えば通信プログラム73,変換プログラム74等)を持
たない一般のUNIXワークステーションからの要求を
受け付ける為、カラーSPサーバーSP1には通信プロ
グラム83と並行して、準業界標準の lpr/lpd通信プロ
グラム90も載せている。
【0075】図3は本発明に係るサーバー装置と各ホス
トコンピュータとのネットワーク構築状態を示す図であ
る。
【0076】この図に示すように、各ホストコンピュー
タHOST1〜Nは、 Macintosh(商品名)、IBM-PC
(商品名)、SUN (商品名)等のホストコンピュータ
で、それぞれのOSによりデータ処理が制御されてい
る。これらのホストコンピュータHOST1〜Nには、
LAN96との通信を行うためのイーサネットインタフ
ェースボード97,画像圧縮伸長ボード98,CPUボ
ード99がそれぞれ設けられている。なお、画像圧縮伸
長ボード98は、メモリ上でのソフトウエア処理により
実現するものであっても良い。また、画像データを入出
力する際に、圧縮伸長を用いない場合には、画像圧縮伸
長ボード98が不要となる。さらに、本実施例ではLA
N96としてイーサネットを使用しているが、ネットワ
ークの方法は、Apple talk(商品名),Ta
ken Ring(商品名)等を利用するネットワーク
であってもいいし、通信プログラムもTCP/IPプロ
グラムに代えてOSI,IPX(商品名)等で構成され
るシステムでも本発明を適用できることは言うまでもな
い。
【0077】図4は、図1に示したメインCPU回路
1,イーサネット回路2,JPEG圧縮回路3より構成
されるボード回路の詳細構成を説明する回路ブロック図
である。
【0078】図において、101は例えばIDT79R
3051(商品名)等で構成されるCPUで、ボード回
路全体を制御する。なお、ボード回路にはリアルタイム
OSが搭載されている。このOS上で起動されている図
2に示した通信プログラム83,システム全体制御プロ
グラム93,スキャナ制御プログラム85,PDLイン
タープリタープログラム84等をCPU101が起動
し、マルチプロセスに動作を制御する。
【0079】102は主記憶メモリで、CPU101の
ワークメモリとして機能する。なお、本システムが電源
投入されると、EPROM107内に記憶されている上
記各プログラムやSCSIポート112に接続されたハ
ードディスク等の補助記憶装置またはネットワーク上の
ホストコンピュータに記憶されているプログラムを本メ
モリ上にダウンロードして配置される。このため、各プ
ロセスのプログラム自体は主記憶メモリ102上にあ
り、ここで動作する。
【0080】103はバンドメモリで、画像データをラ
スタ方法に数ライン分蓄積できるバンドメモリである。
当該バンドメモリ103は、PDLデータをビットマッ
プデータに展開するためのメモリである。PDLは通常
1ページ分のビットマップデータを作成してから、プリ
ンタエンジン側にデータを送るが、本システムでは、1
ページを数バンドに分割してビットマップ展開を行う手
法をとる。これは、PDLインタープリタープログラム
84がPDLデータの並べ替え作業を行うことにより実
現する。当該バンドメモリ103に展開されたビットマ
ップデータは、プリンタ側に送られる。その後、次のバ
ンド分の展開が行われて、再びプリンタ側に送られる。
この繰り返しにより、1ページ分のプリントが行われ
る。
【0081】また、スキャナ側から画像データを読み込
む時にも、一時的に本バンドメモリに蓄積される。CP
U101あるいは本システムでは記載していないダイレ
クトメモリアクセス(DMA)のブロック転送機能を用
いて、当該バンドメモリ103より画像データを読み出
し、SCSIポート112に接続されたハードディスク
あるいはイーサネットポート114に接続されたネット
ワークを介して、ホストコンピュータ側に転送される。
1バンド分のデータが転送されると、再び次のバンド幅
分のスキャンデータを入力して繰り返す。
【0082】104はメモリアクセスコントローラで、
主記憶メモリ102,バンドメモリ103を構築するD
RAMのアクセスとリフレッシュをコントロールする。
通常DRAMは1ワード(8,16,32ビット等)毎
アクセスする方法、ある一定長の連続アクセスする方法
(ページREAD,Write)、DRAMのバンクを
分けて交互にアクセスを繰り返し、アドレス発生は先行
して発生させるインタリーブ方法のアクセス方法がある
が、これらの方法を提供しメモリのアクセスの高速化を
図っている。ただし、主記憶メモリ102,バンドメモ
リ103がSRAMで構成された場合には、リフレッシ
ュ機能は必要はない。105はメモリクリアコントロー
ラで、バンドメモリ103のデータを高速にクリアす
る。
【0083】図5は、図4に示したメモリクリアコント
ローラ105の詳細構成を説明するブロック図である。
【0084】図において、201はアドレス発生部で、
クリアスタート信号に応じてアドレスバッファ部203
にクリアすべきアドレスを出力する。202はデータラ
ッチで、クリアデータをデータバッファ部204に出力
する。
【0085】このように構成されたボード回路(メイン
CPU回路1,イーサネット回路2,JPEG圧縮回路
3より構成される)において、先ず、CPU101がバ
ンドメモリ103内のデータを他の記憶装置あるいはイ
ンタフェースに転送されたことを確認すると、アドレス
バッファ203,データバッファ204をイネーブルに
する。それに対して、バンドメモリ103への他のアク
セス手段をディセーブルにする。データラッチ202に
は、システムの立ち上げ時のイニシャライズであるデー
タ、例えば「00」を設定しておく。CPU101は、
アドレス発生部201に対して、クリアスタート信号を
送る。これに応じて、アドレス発生部201はアドレス
を順次発生して、データラッチ部202に保持されたデ
ータをメモリアクセスコントローラ104を通して、バ
ンドメモリ103に書込む。全メモリ分の書込みが終了
したら、アドレス発生部201は、CPU101にクリ
アエンド信号を送り、クリア動作を終了する。
【0086】クリア動作は、バンドメモリ103上の画
像データがプリンタデバイスに転送されると、行われた
次のバンドの画像データがPDLインタープリタープロ
グラム84により展開される。その時、PDLインター
プリタープログラム84は、必要な部分にしかビットマ
ップ展開を行わない。例えば図6の(1)に示すバンド
の後半の画像、(2)に示すバンドの展開は、(2)に
属する画像のみが書込まれる。このため、図6の(1)
で既に転送し終った画像データは、不要データとして残
ってしまう。もし、メモリクリアをしなければ、(1)
および(2)に示した画像が混在する画像データがバン
ドメモリ103上に書込まれた状態となってしまう。そ
こで、上記メモリクリアが必要となる。105はメモリ
クリアコントローラは、上記メモリクリア処理をハード
化し、高速処理を可能としている。
【0087】画像描画処理回路106は、PDLインタ
ープリタープログラム84の描画機能をハードウエアで
補助するために構成された回路である。PDLインター
プリタープログラム84は線を描いたり、図形の塗りつ
ぶしが非常に多く、相当の時間を必要とする。例えば図
7に示すような図形(1)〜(3)に囲まれた部分の塗
りつぶしは、図中矢印で示すように塗りつぶし処理が実
行される。
【0088】図8は、図5に示した画像描画処理回路1
06の詳細構成を説明するブロック図である。
【0089】図において、106Aはアドレス発生部
で、描画スタート信号に応じてアドレスバッファ部10
6Cにクリアすべきアドレスを出力する。106Bはデ
ータラッチで、描画データをデータバッファ部106D
に出力する。
【0090】このように構成されたボード回路におい
て、先ず、CPU101がPDLインタープログラム8
4による処理結果から、現在のバンド幅内に、線の描画
や図形の塗りつぶしがある場合、画像描画処理回路10
6へ指令する。先ず、データラッチ106Bに描画デー
タをラッチさせる。次に、アドレス発生部106Aに開
始アドレスとカウント数(1ライン分の描画量)を設定
する。ただし、カウント数は終了アドレスを設定する構
成であっても良い。そして、アドレスバッファ106
C,データバッファ106Dをイネーブルにする。それ
に対して、バンドメモリ103への他のアクセス手段を
ディセーブルにする。CPU101は、アドレス発生部
106Aに対して、描画スタート信号を送る。これに応
じて、アドレス発生部106Aは開始アドレス値より順
次アドレスを発生して、データラッチ部106Bに保持
されたデータをメモリコントローラ104を通して、バ
ンドメモリ103に書き込む。カウント数部(終了アド
レス)に達したら、メモリ書き込みを止めて、描画エン
ド信号を送り、次の開始アドレスとカウント数を設定
し、再びメモリへ書き込みを行う。バンド幅分の描画を
終了すると、バンド幅分の描画を終了する。
【0091】描画動作は、クリア動作と同様にハードウ
エアによる高速化を図ったものであが、例えば専用のL
SIが描画処理をすべて受け持ち、CPU101による
補助を軽減する構成としても良い。
【0092】一方、図4において、107は電源投入時
に、CPU101が最初にアクセスするEPROMで、
本システムをコントロールする上記各種プログラムが記
憶されている。なお、EPROM107には、次の2つ
の記憶方法が可能である。第1の方法としては、プログ
ラムがそのまま実行可能な形式で記憶する場合、第2の
方法としては、プログラム全体を可逆的な圧縮方法によ
り圧縮し、その形態で記憶しておき、電源投入後、伸長
しながら、主記憶メモリ102に再配置する場合等であ
る。
【0093】しかしながら、第1の方法による場合は、
EPROM107は、そのまま実行可能なメモリとなる
ため、主記憶メモリ102に再配置されるより、主記憶
メモリ102の節約になるが、EPROM107自身の
容量を大きくすることと、アクセスが一般にEPROM
は遅いという欠点がある。また、第2の方法による場合
は、プログラム全体を圧縮するため、たくさんの量のプ
ログラムをEPROM107に記憶させることができる
ため、EPROM107の記憶容量を削減できるととも
に、主記憶上に再配置するため、アクセスが高速となる
長所を有するが、主記憶メモリ102の容量を大きくす
る必要が生じる等の欠点もある。そこで、本実施例では
第2の方法を採用している。
【0094】108はEEPROMで、電源が切られて
も記憶データを失わず、電源投入後の起動時に、データ
の書き換えが可能なデバイスである。このため、ネット
ワーク上のアドレスの記憶やスキャナ,プリンタ側の設
定パラメータの記憶等に利用される。109は時計回路
(RTC)で、時刻合せが可能であるとともに、電源O
FF時でも、内部に持つバッテリにより時間がそのまま
進行する。これにより、実時間を知ることが可能とな
り、スキャン時やプリント時の情報として利用される。
110はタイマで、インターバルタイマである。本シス
テムのプログラムはマルチプログラムで動作している
が、その管理は、リアルタイムOSが行っている。タイ
マ110は、数ミリsec 毎のインターバルタイムをCP
U101に通知しており、このタイマ110と優先順位
スケジューラにより、各プログラムにCPU101を割
り当てている。
【0095】111はSCSIコントローラで、周辺機
器インタフェースの標準規格であるSCSIの制御を行
う。112はSCSIポートで、周辺機器を接続するた
めのパラレル入出力I/Fポートである。113はイー
サネットコントローラで、本システムをネットワークの
1方式であるLAN96に接続し、データのやり取りを
行うための制御部として機能する。イーサネットコント
ローラ113は、内部に小さなバッファメモリを有し、
非同期式のCPUと同期式のネットワークとの時間的整
合性を取っている。ネットワークより転送されてくるデ
ータは、このバッファメモリに蓄えられ、逆にネットワ
ークにデータを転送する場合もここから送信される。イ
ーサネットコントローラ113は、電気的タイミングの
制御とデータの転送,転入の制御を行っている。TCP
/IPの通信プログラム82の制御は、イーサネットコ
ントローラ113を用いてCPU101が制御してい
る。
【0096】イーサネットポート114は太い同軸ケー
ブル114aを媒体として用いる。I/Fの形状は、1
5ピンのコネクタである。114bのTwistPai
rタイプポートは、4線式の媒体を持ちいる。I/Fの
形状は8ピンのモジュラジャックである。これらのポー
トを利用して、エーサネットワークに接続される。11
5はADCT圧縮/伸長回路は、RGB(RED,GR
EEN,Blue)で構成される中間調データ(各色8
ビット)を、CCITT規格JPEG方式のアルゴリズ
ムを用いた圧縮および伸長を行う回路である。スキャナ
より読み込まれたカラー中間調データを圧縮する場合
は、スキャナ側から読み込まれた生画像データをADC
T圧縮/伸長回路115を用いて圧縮し、小さなメモリ
量にする。このためネットワーク転送のスピードアップ
や蓄積メモリの削減といった効果が得られる。また、ネ
ットワークを介して転送されてきた圧縮画像データをA
DCT圧縮/伸長回路115を用いて伸長し、カラー中
間調データに戻して、バンドメモリ103に書き込み、
プリンタI/Fに転送されて、プリンタデバイスより印
字される。
【0097】116はFIFOメモリで、ADCT圧縮
/伸長回路115へ圧縮画像データを送ったり、受け取
ったりするために用いられる。FIFOメモリ116
は、圧縮動作,伸長動作時の圧縮データと伸長データ
(生画像データ)のデータ量の違いによるデータの転送
タイミングのずれを吸収するために用いられる。117
はRS232Cコントローラ部で、標準のシリアルI/
Fの制御を行う。118はRS232Cポートで、Ac
hannel118aとBchannel118bの2
ポートが用意され、一方を端末接続用にして、ディスプ
レイ表示とキーボード入力を可能としている。また、も
う一方はシリアルインタフェースを有するデバイス接続
用にしている。ここには、レーザビームプリンタのよう
なキャラクタプリンタや簡易スキャナの接続が可能とな
っている。
【0098】なお、本システムでは、Achannel
を端末接続用にしており、ここに端末を接続して、コマ
ンドの入力やパラメータの変更を行うようにしている。
ただし、本システムは疑似端末機能も有し、ネットワー
ク上のホストコンピュータより,rloginしてAc
hannelと同じ操作も可能としている。
【0099】119はセントロニクスI/Fコントロー
ラ部で、セントロニクスI/F準拠のプリンタの接続の
ためのI/Fコントロールを行う。実際には、接続先の
デバイスの状態(BUSY/non)を確認して、8ビ
ットのデータを出力する。これの繰り返しでデータを転
送する。その他セントロニクスI/Fに準拠した信号の
制御を行っている。120はセントロニクスI/Fポー
トで、実際にケーブルが接続されて、プリンタとの電気
的関係を結ぶ。121はVMEコントローラで、本シス
テムのCPU101がVMEbusの規格に準拠おした
他のボードをアクセスするためのコントロールを行う。
なお、VMEbus規格では、アドレスバスA16,A
24,A32、データバスD8,D16,D24,D3
2のバスをアクセス可能に構成されている。バスの使用
権は、アービトレーション方式より与えられる。その
他、VMEbusの規格に適合した制御を本回路で実現
する。122はVMEbusポートで、ダブルハイトの
VMEbusを電気的に接続する。当該VMEbusポ
ート122は、6ピンのコネクタ2つで構成され、この
中にアドレスバス,データバス等が配置されている。
【0100】123はリセットスイッチで、本システム
において異常が発生した場合に、最終的手段として、シ
ステムを再立ち上げする場合に押下される。なお、リセ
ットスイッチ123は、本実施例ではハード的なスイッ
チ機構であるが、上述したRS232Cポート118に
接続された端末、あるいはネットワークからrlogi
nした疑似端末から、プログラムでリセットするプログ
ラムRESET(ウオームRESET)として構成して
も良い。
【0101】124はLED部で、電源ON時を示すL
ED124a,CPU101が実行中を示すLED12
4b,各プログラムが自由に点灯可能なLED124c
等より構成されている。これにより、LED124aが
点灯中であれば、本システムが電源の入湯状態であるこ
とを操作者が視覚的に確認することができる。また、L
ED124bが点灯中であれば、CPU101が実行中
であることを、LED124bが消灯中であれば、CP
U101がウエイト状態であることを操作者が視覚的に
確認することができる。頻繁に点灯するLED124c
は、何かの処理が現在実行されていることを操作者が視
覚的に確認することができ、点灯時間,間隔,回数等の
相違により、どのプログラムによりLEDが点灯したか
等を識別可能となる。
【0102】以下、ネットワーク上のホストコンピュー
タからのプリント要求処理におけるデータの流れについ
て詳述する。
【0103】ネットワーク、すなわちLAN96に接続
されたホストコンピュータがデータをプリントしたい場
合、SPサーバシステムにデータと出力先を指定する情
報を送る。この際、SCSIポートにハードディスクが
接続されている場合、データは一旦ハードディスクに蓄
積(スプール)される。また、ハードディスクがない場
合は、主記憶メモリ102に一旦蓄積される。転送され
てくるデータ形式としては、下記(1)〜(3)の3通
りである。
【0104】(1)PDL形式のデータ (2)生画像形成のデータ (3)圧縮画像形成のデータ このうち、(1)のPDL形式のデータの場合には、P
DLインタープリタープログラム84が起動され、バン
ド幅毎のビットマップ展開が行われて、バンドメモリ1
03に書き込まれる。バンドメモリ分のデータが揃う
と、プリンタ側に転送され、次のバンド幅分のビットマ
ップ展開が行われる。
【0105】一方、(2)の生画像形成のデータの場合
は、バンドメモリ103にバンド幅分データが書き込ま
れ、指定されたプリンタ側に転送される。そして、次の
バンド幅分のデータが用意される。生画像形式の場合、
データ量が多いので、ホストコンピュータ側からは全部
のデータを一括して転送するのではなく、分割して送
る。そのため、プリントの最中もネットワークよりデー
タを受け取る作業が行われる。
【0106】さらに、(3)の画像圧縮形式のデータの
場合は、圧縮画像データをFIFOメモリ116に書き
込み、ADCT伸長回路115により生画像データに変
換する。伸長後のデータは、バンドメモリ103にバン
ド幅分データが書き込まれ、指定されたプリンタ側に転
送される。以下、同様の処理をそれぞれ繰り返す。な
お、画像データの形式が、単一形式ではなく、上記デー
タ形式が組み合わさった複合データの場合もある。すな
わち上記(1)のデータ形式と(2)のデータ形式との
組み合わせ、もしくは上記(1)のデータ形式と(3)
のデータ形式との組み合わせの場合には、それぞれ上記
の処理を行う。
【0107】画像データを転送するプリンタデバイスの
I/Fは、VMEバス122上に構成したインタフェー
スボードを介して接続する場合、RS232Cポート1
18に接続した場合、セントロニクスI/Fポート12
0に接続した場合がある。これは、ホストコンピュータ
がどのI/Fに接続されたプリンタにより印刷したかに
より行先が決定される。
【0108】バンドメモリ103上のデータは、1バン
ド幅分のデータ転送が終了すると、クリアコントローラ
105がメモリクリアを行う。その後、再びPDL展開
を行い、バンド幅が揃うと、指定されたプリンタ側のイ
ンタフェース回路にデータが転送され、デバイスドライ
バ86によるインタフェース回路(制御ボード)の制御
によりプリンタでの出力処理が行われる。この繰り返し
である。ネットワーク上のホストコンピュータがスキャ
ナより画像データを入力したい場合、本システムは、ス
キャナ起動のための指定情報をホストコンピュータから
もらい、画像入力を開始する。スキャナデバイスのイン
タフェースは、VMEバス122上に構成したI/Fボ
ードを介して接続する場合、RS232Cポート118
に接続する場合がある。この指定もホストコンピュータ
が指定する。
【0109】スキャナから入力される画像データは、バ
ンドメモリ103にバンド幅分蓄積される。スキャナか
らの画像データを指定されたホストコンピュータに転送
する場合、スキャナ制御プログラム85によって次の2
通りの加工が行われる。
【0110】第1の加工としては、生画像形式のデー
タ、ただし、画像情報のタグを付加したものを含み、第
2の加工としては、圧縮画像形式のデータである。
【0111】このうち、データ加工形式が生画像形式の
データの場合には、バンドメモリ103上のデータを、
順次ネットワークを介して指定されたホストコンピュー
タに転送する方法と、一旦SCSIポート112に接続
されたハードディスクに蓄積される場合がある。いずれ
も、ホストコンピュータよりの指定情報で選択される。
また、画像情報を記録したタグをつける場合には、それ
を付加して転送する。
【0112】一方、データ加工形式が圧縮画像形式のデ
ータの場合は、バンドメモリ103上のデータは、AD
CT圧縮回路115に送られ、圧縮されて、FIFOメ
モリ116に圧縮後のデータが書き出される。そして、
FIFOメモリ116より読み出してはホストコンピュ
ータへ転送し、次のバンド幅分の処理を繰り返し行い、
圧縮画像データを得る。ハードディスクを有する場合
は、一時的に蓄積するという点が違うだけで、他は上述
と同様である。
【0113】以下、図9に示す回路ブロック図を参照し
ながら図1に示した第1のSPインタフェース回路4−
1の詳細構成について説明する。
【0114】図9は、図1に示した第1のSPインタフ
ェース回路4−1の内部構成を説明するブロック図であ
り、図1と同一のものには同じ符号を付してある。
【0115】図において、1000はCPUで、ROM
1002に格納された上記各種制御プログラムに基づい
てボード回路の内部バス1001に接続される各デバイ
スを制御する。1003はRAMで、CPU1000の
ワークメモリ等として機能する。1004はネットワー
クコントローラで、LAN96に接続されるステーショ
ンとのアクセスを制御する。1005はバンドメモリ
で、バンド幅分のデータを記憶する。1006は標準圧
縮伸長部で、画像データの圧縮伸長を行う。1007は
SCSIコントローラで、ハードディスク1008等が
接続されている。
【0116】211は前記第1のSPインタフェース回
路4−1を総括的に制御するCPUで、ROM212に
記憶された制御プログラム(デバイスドライバ86を補
足するプログラム)に基づいてボード内部バスに接続さ
れる各デバイスを制御するとともに、各部の初期設定や
スキャナ,プリンタとのコマンドのやり取りを行う。2
13はRAMで、CPU211のワークメモリ等として
機能する。214はDPRAMで、第1のSPインタフ
ェース回路4−1とボード回路とのコマンドのやり取り
を行うRAMで、CPU211とVMEバス16を介し
てボード回路のCPU1000が共に独立してメモリア
クセス可能に構成されている。215,216はバッフ
ァメモリで、CPU211とCPU1000との衝突を
避けるために機能する。
【0117】218はリアルタイム圧縮伸長部で、多値
画像データをリアルタイムで圧縮伸長するものである。
ここで、リアルタイムとは、ビデオインタフェース22
0を通じて入力される画像データの速度、例えば約15
MHz(32ビット)で画像データのやり取りをする速度
と同時間で処理することを意味する。圧縮メモリ17
は、リアルタイム圧縮伸長部218で圧縮したデータを
格納する。219はラインバッファで、8ラインのラス
タ方向のデータを保存するメモリとして機能する。な
お、当該ラインバッファ219はリアルタイム圧縮伸長
部218からは、8×8のマトリクスでADCT圧縮に
準じたランダムアクセスが可能となっている。217は
DMAコントローラで、圧縮メモリ17とリアルタイム
圧縮伸長部218との間をCPU211を介さずにデー
タを移動させるためのものである。
【0118】ビデオインタフェース220aは、スキャ
ナ94A,プリンタ94Bとのインタフェースである。
220bは制御インタフェースである。
【0119】以下、ホストコンピュータからの指定情報
に基づく第1〜第4のモード処理について図9を参照し
ながら詳述する。なお、各モード処理は、ROM100
2に格納された画像入出力装置制御プログラム85とR
OM212に格納されたデバイスドライバ85を実行す
ることによって行われる。 〔第1のモード処理〕先ず、第1のモード処理(画像プ
リントモード処理)では、メインCPU回路1のバンド
メモリ1005内の生画像データを、VMEバス16を
経由して受け取り、リアルタイム圧縮伸長部218で圧
縮した後、圧縮メモリ17に一旦、圧縮画像の形態で蓄
えられる。この動作は、1ページ分行われ、1ページ
(1画面)分の圧縮が終了したところで、プリンタ94
Bを起動する。次に、圧縮メモリ17に一旦、圧縮画像
の形態で蓄えられた圧縮画像データをDMAコントロー
ラ217が読み出し、リアルタイム圧縮伸長部218に
送る。この際、伸長回路により、生画像データに復元す
る。伸長された生画像データは、順次ビデオインタフェ
ース220よりプリンタ94Bへ転送される。なお、そ
の際画像伸長動作はプリンタ94Bのデータ処理速度に
同期して、超高速に伸長する。また場合によっては、画
像処理を施した後にプリンタ94Bにデータを送り、プ
リンタ処理を行う。 〔第2のモード処理〕第2のモード処理(画像スキャン
モード処理)では、スキャナ94Aより、ビデオインタ
フェース220aを介して入力されてくる画像データ
を、そのスピードに同期して超高速に、リアルタイム圧
縮伸長部218の圧縮機能を用いて画像圧縮を行い、D
MAコントローラ217により、出力される圧縮画像デ
ータを圧縮メモリ17に一旦格納する。1画面分のスキ
ャンが終了したところで、ボード回路のCPU1000
は再びリアルタイム圧縮伸長部218の伸長回路により
圧縮メモリ17に蓄えられた圧縮画像データを伸長し、
生画像データに戻す。その生画像データは、VMEバス
16を経由してボード回路に送られる。ボード回路は、
ホストコンピュータ側が、生画像データを要求している
場合はそのまま指定されたホストコンピュータへ転送
し、もし、圧縮画像データを要求した場合には、ボード
回路上の圧縮機能処理により圧縮して指定されたホスト
コンピュータへ転送する。 〔第3のモード処理〕第3のモード処理(標準圧縮画像
プリントモード処理)では、ボード回路が圧縮画像デー
タをネットワーク上のホストコンピュータから受け取る
と、そこで伸長せずに、圧縮画像データのまま指定され
た第1のSPインタフェース回路4−1に送る。第1の
SPインタフェース回路4−1では、圧縮メモリ17に
圧縮画像データを蓄え、その後指定されたプリンタ94
Bを起動し、圧縮画像データをリアルタイム圧縮伸長部
218の伸長機能により、プリンタ94Bのプリントス
ピードに同期して画像伸長を行いプリントする。 〔第4のモード処理〕第4のモード処理(標準圧縮画像
スキャンモード処理)では、スキャナ94Aの走査速度
に同期して、超高速にリアルタイム圧縮伸長部218の
圧縮機能により画像圧縮を行い、圧縮メモリ17に一旦
圧縮画像データを蓄える。1画面分のスキャンが終了し
たところで、ボード回路のCPU1000は、圧縮画像
データをそのままVMEバス16を経由して取り込む。
【0120】なお、上記第1および第2のモード処理で
は、生画像データで第1のSPインタフェース回路4−
1とインタフェースするため、第1のSPインタフェー
ス回路4−1内では画像通信に必要とされる標準の圧縮
伸長処理を行うことは必ずしも必要ではなく、高速化や
その他の目的に応じた独自の圧縮伸長が行える。
【0121】また、上記第2,4のモード処理では、ス
キャナ94Aの読取りデータを直接圧縮をかける場合に
ついて記述したが、スキャナの読み取りデータに線密度
変換や色空間変換等の画像処理を施した後に、リアルタ
イム圧縮伸長部218が画像圧縮をかけても良く、制限
するものではない。また、画像処理機能は、画像圧縮伸
長部とスキャナ94A,プリンタ94Bとの間に設ける
構成であっても良いし、画像圧縮伸長部をスキャナ94
A,プリンタ94B内に設ける構成であっても良い。
【0122】以下、図10に示すブロック図を参照しな
がらリアルタイム圧縮伸長部218の構成および動作に
ついて説明する。
【0123】図10は、図9に示したリアルタイム圧縮
伸長部218の詳細構成の一例を示すブロック図であ
り、特に本実施例では圧縮伸長方式として、ADCT方
式を採用している。
【0124】データ圧縮時は、生画像データは、先ず外
部のラインバッファ219に蓄えられた後で、色空間変
換部221に入力されて、RGBデータからY,Cr,
Cb等の色空間に変換される。そして、場合によって
は、Cr,Cbは色差成分として、サブサンプリングさ
れ、画像の持つ冗長度を落される。次いで、8×8画素
毎にDCT計算部222において、周波数空間に変換さ
れる。次に、図11に示すようにDCT係数はジグザグ
スキャン部223でスキャンされ、量子化部224で量
子化される。この時に、量子化の係数は、量子化テーブ
ル225に記憶されていて、DCT係数の8×8に対応
するようになっている。次に、内部FIFOメモリ22
6に一旦蓄えられ、所望のタイミングでハフマン符号化
部227でハフマンテーブル228を参照して符号化し
た後にでき上がった圧縮画像データは、外部のホストコ
ンピュータ等からアクセスできるCODECレジスタ2
29に値が格納される。
【0125】ところで、色空間変換部221,DCT計
算部222,ジグザグスキャン部223,量子化部22
4,量子化テーブル225等でパイプライン動作部が構
成され、タイミング生成用のクロックに同期して動作
し、高速で動作する。また、ハフマン符号化部227,
ハフマンテーブル228,CODECレジスタ229等
で非同期動作部が構成され、外部CPUがCODECレ
ジスタ229をアクセスするスピードに同調して動作す
るように構成されており、CPUのスピードやDMAに
間に合う程度であって、あまり高速には動作しない部分
である。また、パイプライン動作部は、スキャナ94
A,プリンタ94Bの画像転送クロックに追従できるよ
うに高速動作が可能に構成されている。従って、内部F
IFOメモリ226は、同期系のパイプライン動作部と
非同期動作部の動作スピードの緩衝のために設けられて
いる。
【0126】また、画質を高めるために圧縮率を下げる
と圧縮データが増え、非同期動作部の処理量が多くな
り、非同期動作部の処理スピードが間に合わなくなる。
ただし、色空間変換部221の生画像データのインタフ
ェースは、スキャナ94A、プリンタ94B以外にも接
続可能で、外部にFIFOメモリを設けて、CPU等か
らの非同期アクセスを受けることが可能で、この場合は
パイプライン動作部を低速で動作させたり、一時停止さ
せることが可能である。従って、非同期動作部はスピー
ド的に問題はなくなる。
【0127】また、本実施例では画像圧縮伸長部を複数
(例えば2つ)有し、生画像データを複数に分割して、
それぞれの画像圧縮伸長部に与えることにより高速動作
するスキャナやプリンタ等に接続することが可能とな
る。このように、複数に分割された画像データの圧縮で
あるならば、伸長時にも同様にスピード問題は解決され
る。
【0128】伸長時の動作は基本的には圧縮時の逆プロ
セスになるわけであるが、図10に示すように、圧縮画
像データは、CODECレジスタ229に渡されると、
ハフマン符号化部227でハフマンテーブル228を参
照しながら逆ハフマン符号化、すなわちデコードされ
る。その値は一旦内部FIFOメモリ226でスピード
の緩衝を受けながら、量子化部224で逆量子化され
る。逆量子化は量子化テーブル225の8×8の量子化
係数を乗算することで行われる。そして、ジグザグスキ
ャン部223で逆ジグザグスキャンされて、DCT計算
部222にDCT係数として渡される。そして、色空間
変換部221において圧縮色空間であるY,Cr,Cb
等よりもとのRGB空間等に戻される。
【0129】また、DCT計算部222では、DCT計
算,逆DCT計算は、計算のパラメータを入れ替えるだ
けで同一回路で処理される。色空間変換部221でも、
その変換が線形一次変換等の場合には、同様にパラメー
タ変換で行える。
【0130】さらに、量子化部224も同様で量子化は
割り算等,逆量子化は掛け算を行うが、割り算も、割る
量子化係数を逆数で持つことにより掛け算になるので、
同一回路で圧縮伸長とも可能である。以下、図12〜図
15を参照しながら第1のSPインタフェース回路4−
1の各モードの動作を例にしてさらに詳細に説明する。
【0131】図12は、第1のSPインタフェース回路
4−1のパート構成の概略を説明するブロック図であ
る。
【0132】図において、1100は画像処理制御部
で、VMEバスインタフェース,画像圧縮伸長部,CP
U回路部等から構成され、後述する図13に詳細を示
す。1200はつなぎメモリ制御部で、後述する図14
に詳細を示す。1300は画像入出力制御部で、スキャ
ナ,プリンタを備えるカラーレーザ複写装置(CL
C),スキャナ,プリンタを備えるバブルジェットカラ
ー複写装置(BJC)とのI/Oを制御する。なお、詳
細は図15に示す。
【0133】図13〜図15は、図1に示した第1のS
Pインタフェース回路4−1の詳細内部構成を説明する
回路ブロック図であり、図1と同一のものには同じ符号
を付してある。
【0134】図9に示すボード回路のCPU1000よ
り、画面を2分割されたデータのまず右面についての処
理において、画像データはVMEインタフェース301
よりまずFIFOメモリ302にデータがバッファ30
3を介して書き込まれる。FIFOメモリ302よりは
バッファ304を介して一旦SRAM305に蓄積され
る。SRAM305の動作は、画像圧縮伸長部のパイプ
ライン部に同期して動作する。RAM305に画像の垂
直方向8ライン分のデータが蓄積されると、画像圧縮伸
長部306は水平,垂直8×8単位ずつSRAM305
より読み出して動作し、得られた圧縮データはDMAコ
ントローラ部307を介してDRAM308に順次書き
込まれる。この時、DMAコントローラ部307はアド
レスカウンタ309を操作してアドレスを発生し、また
はカウントアップしてセレクタ310を介してDRAM
308に与える。なお、第3のモードでは、VMEイン
タフェース301およびセレクタ310を介してボード
回路のCPU1000がアドレスを与え、かつインタフ
ェース変換部312を介してDRAM308とのデータ
更新を行うことになる。これにより、直接圧縮データを
DRAM308に送ることが可能であり、画面を左右に
2分割にしていない標準の圧縮データを扱うことも可能
である。ただし、低い圧縮率のデータには不向きであ
る。
【0135】また、DRAM308はリフレッシュ回路
313より常にリフレッシュが行なわれ、データの維持
がなされる。次に、DRAM308のデータをプリンタ
94Bに出力する動作を説明すると、DRAM308よ
りDMAコントローラ307により書き込み時と同様な
制御で圧縮伸長部306にデータが読み出されると、伸
長が行なわれ、生データがバッファ304からFIFO
メモリ302からの出力データはセレクタにおいて画像
の左右のいずれかの面が選択されて、ラッチ315に与
えられる。
【0136】次に、ガンマ変換部325でガンマ変換や
LOG変換される。そして、マスキング回路316でC
G用のマスキングを行ない、マスキング回路317で、
自然画用のマスキングを行ない、セレクタ321で画像
の性質に応じてどちらかを選択し、最終的に出力ガンマ
調整部322で変換されてからラインドライバ324を
介してプリンタ94Bに出力される。この時、出力ガン
マ調整部322はガンマ設定レジスタ323に調整され
る。また、マスキング回路316はROMで構成され、
マスキング回路317はロジックであって、黒生成のた
めの黒テーブルが接続されるとともに、初期値データR
OM319の値が初期にロードされるようにタイミング
コントローラ320も周辺に接続されている。プリンタ
94Bが面順次の場合は、伸長動作を面の数だけ行な
い、そのマスキング回路316,317は、出力色に応
じたマスキング処理を行なう。
【0137】以上が、画面を2分割にした場合の右面の
処理の流れであり、左面についても同様の処理の流れが
行なわれる。すなわち、バッファ325,FIFOメモ
リ302,バッファ327を経由してSRAM328に
蓄えられた8ラインの画像データは、画像伸長部329
において圧縮され、DMAコントローラ331,アドレ
スコントローラ335,セレクタ334によりコントロ
ールされて、DRAM332に圧縮データとして書き込
まれる。また、VMEインタフェース311より直接セ
レクタ334をインタフェース変換部330を介してボ
ード回路のCPU1000が圧縮データを書き込んでも
良いことは言うまでもない。また、リフレッシュ回路3
33がDRAM332のデータをリフレッシュし維持す
る。そして、画像プリント時には、DRAM332より
読み出されたデータがDMAコントローラ331等のコ
ントロール331等のコントロールを受け、画像圧縮伸
長部329で伸長され、SRAM328,バッファ32
7,FIFOメモリ326を経由してセレクタ314に
与えられ、以下上述の通り画像処理されて出力される。
以上のようにして、モード1の処理が行なわれる。
【0138】次に第2のモード処理動作について説明す
る。
【0139】スキャナ94Aより各種の処理を受けて送
出される画像データは、ラインレシーバにより受け取ら
れ、バッファ341により画像の右面がバッファ342
により画像の左面が、FIFOメモリ303,326に
順次取り込まれる。それ以降は、第1のモードと同様の
動作を行なう。すなわち、右面の処理動作について記述
すれば、FIFOメモリ302に書き込まれた画像デー
タは、バッファ304を経由してSRAM305に8ラ
イン分が読み出されて書き込まれる。次に、圧縮伸長部
306によりDRAM308に圧縮データが生成され
る。
【0140】一方、第4のモードでは、VMEインタフ
ェース311及びインタフェース変換部312,セレク
タ310を介してボード回路のCPU1000が直接圧
縮画像データを読み込むことが可能であるが、第2のモ
ードでは、DRAM308の圧縮データを伸長してから
ボード回路のCPU1000に渡す。DRAM308よ
りインタフェース変換部312およびDMAコントロー
ラ307,アドレスカウンタ309,セレクタ310に
よりコントロールされて、書き込まれた順に読み出され
た圧縮画像データは、画像圧縮伸長部306で伸長さ
れ、SRAM305に8×8単位毎に書き込まれ、8ラ
イン分すべてが書き込まれた時点でバッファ304を経
由して、水平ライン方向に連続して読み出され、FIF
Oメモリ302に書き込まれる。FIFOメモリ302
では、ボード回路のCPU1000のタイミングに従っ
て、バッファ303,VMEインタフェース301を介
して、ボード回路のCPU1000に生画像データとし
て読み出される。
【0141】ところで、セレクタ321が2つのマスキ
ング回路316,317の選択については、RAM35
1にCG画像があるか、自然画像であるかの属性が書か
れていて、水平方向カウンタ352,垂直方向カウンタ
353より、処理画素位置のアドレスが生成され、セレ
クタ355を介してRAM351に与えられ、その読み
出しデータにより、セレクタ321を制御する。従っ
て、RAM351上の属性はボード回路のCPU100
0よりVMEインタフェース301,セレクタ351を
介し、RAM351上にあらかじめ書き込まれる。ま
た、スキャナ94A,プリンタ94Bとのインタフェー
スは、S/Pタイミングコントローラ356により制御
されている。
【0142】次に、画像の左右面の切り替えの制御につ
いて説明する。
【0143】垂直方向カウンタ363は、画像の垂直方
向の有効部分について画像有効信号を送出するもので、
ディレイレジスタ364は、画像先端の余白部分をセッ
トするものである。長さレジスタ361は画像の有効長
をセットし、比較器362において有効長以内で有れ
ば、各部分に画像有効信号を送るものである。垂直方向
の画像有効区間に加えて、水平方向の余白長をセットす
るディレイレジスタ366が接続され、画像の左端をカ
ウントした後に有効信号を発する。カウンタコントロー
ラ部367は、これを受けて水平左幅カウンタ368を
起動する。この水平左幅カウンタ368は、ダウンカウ
ンタとして機能し、幅分だけカウントを行ない、その間
に左画面のイネーブル信号を発する。左画面が終了する
と、カウンタコントローラ部372に対してイネーブル
を発し、カウンタコントローラ部372は右画面の幅カ
ウンタ373で幅分のカウントを行ない、終了状態を制
御部389に与える。制御部389はセレクタ314に
対して画像有効幅の終了を知らせて出力をクリアする。
幅カウンタ368は、圧縮時にはライトパルスジェネレ
ータ369を左画面有効幅で発生してマルチプレクサ3
71を介してFIFOメモリ326に左面のスキャナデ
ータをかき込み、FIFOメモリ326はゲート381
を介して圧縮伸長部329のリードパルスをマルチプレ
クサ371を介してFIFOメモリ326に与える。
【0144】また、伸長時には、幅カウンタ368の左
面有効信号をリードパルスジェネレータ370が受け
て、マルチプレクサ371を介してFIFOメモリ32
6よりプリンタ94Bへ出力させる。
【0145】一方、画像圧縮伸長部329のライトパル
スがゲート381を介してマルチプレクサ371を介し
てFIFOメモリ326に与えられ、伸長データが書き
込まれる。
【0146】右面についても同様にライトパルスジェネ
レータ374,リードパルスジェネレータ375,マル
チプレクサ376,ゲート382が同様の動作をするこ
とは言うまでもない。また、画像圧縮伸長部329には
内部のFIFOメモリ302の状態がスタート/ストッ
プロジック386に与えられるとともに、周辺状態を検
出するレジスタ385もスタート/ストップロジック3
86に与えられ、かつ外部のFIFOメモリ326の状
態もFIFOメモリコントローラ部383を介してスタ
ート/ストップロジック386に与えられ、内部のFI
FOメモリ302及び外部のFIFOメモリ326がオ
ーバーフローしたり、アンダーフローしたりしないよう
に管理され、状態に応じて画像圧縮伸長部329のパイ
プライン部329をストップさせたり、スタートさせた
りすることができる。
【0147】同様に、状態レジスタ387,スタート/
ストップロジック386,フィホコントローラ部384
に管理され、圧縮伸長部306のパイプライン部がスタ
ートしたり、ストップしたりする。なお、スタート/ス
トップでは、圧縮時に内部のパイプライン部が速すぎて
内部のFIFOメモリ302がオーバーフローしそうな
時や、伸長時に内部のパイプライン分が速すぎて内部の
FIFOメモリ302がアンダーフローしそうな時の他
の圧縮時に画像圧縮伸長部が速すぎて外部FIFOメモ
リ326がアンダーフローしそうな時、および伸長時に
画像圧縮伸長部306が速すぎて外部FIFOメモリ3
26がオーバーフローしそうな時がある。
【0148】また、エラー対策399は、スキャナ94
A,プリンタ94Bが速すぎて画像圧縮伸長部306の
処理速度が間に合わない時に、外部のFIFOメモリ3
26や内部のFIFOメモリ302がオーバーフローや
アンダーフローを起こすので、スキャナ94A,プリン
タ94B側のビデオ信号(ビデオ=画像)を一時的に止
めるもので、スキャナ94Aでは1ライン単位でビデオ
が捨てられ、プリンタ94Bでは1ライン単位で余白が
出力されるように簡易的なエラー処理が行なわれ、FI
FOメモリをオーバーフローまたはアンダーフローされ
てビデオの流れを破壊することを防ぐ。従って、エラー
対策部は、エラー情報を制御部388に渡すと、制御部
389が1ラインの余白,左面有効部,右面有効部を把
握して、1ラインの区切り目でエラー解除をエラー対策
部399に出力する一方、エラー時にスキャナ94A,
プリンタ94Bの入出力データをクリアするように各部
に指示するとともに、エラー処理中に画像圧縮伸長部3
06がスキャナ94A,プリンタ94Bの処理速度に間
に合わなかったにもかかわらず、1水平ラインの区切り
まで圧縮または伸長動作をさせる。このことにより、1
ラインの区切りで再びエラー復帰ができるのである。た
だし、エラー処理中に圧縮では、白ラインを圧縮して圧
縮速度をかせぎ、伸長では画像データはプリンタ94B
に間に合わないために捨てられる。
【0149】以上の説明の中では、ボード回路のCPU
1000がほとんどすべての管理を行なうように説明し
たが、本実施例では第1のSPインタフェース回路4−
1の中にも内部のCPU392を有していて、第1のS
Pインタフェース回路4−1ないで処理できることは内
部のCPU392が処理を分担することが可能で有る。
また、第1のSPインタフェース回路4−1内にはデュ
アルポートRAM393を有し、両ポートはそれぞれV
EMバスインタフェース311を介してボード回路のC
PU1000が内部CPUバスを介して内部のCPU3
92に接続されている。このデュアルポートRAM39
3を介して、ボード回路のCPU1000と内部のCP
U392に情報伝達が行なわれている。
【0150】従って、第1のSPインタフェース回路4
−1内のVMEバスへの2つのCPU1000およびC
PU392からのアクセスは衝突することはない。この
時、CPU392の内部バスに接続されているバス変換
部394により画像圧縮伸長部306,329とのイン
タフェースがなされる。バス変換部394は、インタフ
ェース変換部312,330と同様の機能を有し、レジ
スタインタフェース395を介してボード内の各種のレ
ジスタとのインタフェースを行なうので、VEMバスの
インタフェースとしての機能をも合わせて有している。
【0151】さらに、内部のCPUバスには、CPU3
92のプログラムを格納するROM391,シリアル通
信部390を有している。シリアル通信部390はスキ
ャナ94A,プリンタ94Bとの動作制御をするコマン
ドが送られる。従って、本実施例では図9に示すボード
回路のCPU1000は図13に示す内部のCPU39
2を介してスキャナ94A,プリンタ94Bを制御する
か、ボード回路のCPU1000が直接スキャナ94
A,プリンタ94Bを制御する構成となっている。な
お、コントロールのコマンドとしては、実行コマンドと
してスキャナ94A,プリンタ94Bの起動命令の他
に、状態検知コマンド,状態設定コマンドがある。状態
検知コマンドは、プリンタ94Bの紙有り/紙無し,カ
セット有り/無しサイズ,その他のトナ残量,ジャム発
生等多くのコマンドとともに、現在設定されている動作
モード、すなわち単色/3色/4色や解像度、その他の
画像処理パラメータの検知等が有る。スキャナ94Aに
関しても、ほぼ同様で、その他の原稿台上の原稿有り/
無しや、ランプ切れ等を知ることが可能で有る。
【0152】一方、状態設定コマンドは、プリンタ94
Bではカセットサイズ選択,カセット上下段選択,動作
モードやプリント枚数設定や画像処理系のパラメータ設
定等である。
【0153】なお、スキャナ94Aについても同様で、
例えば変倍率設定,2値/多値化設定,標準色空間変
換,独自色空間変換,線密度(解像度変換),領域指定
設定,ガンマ変換設定等が有る。
【0154】なお、本実施例ではスキャナ94Aに多く
の画像処理機能を持つために、第1のSPインタフェー
ス回路4−1上では画像処理は行なわずに圧縮する。ま
た、スキャナ94AよりRGBデータとしてデータ受信
する。
【0155】一方、プリンタ94Bは入力がCMYK入
力であり、プリンタ部に画像処理をあまり有していない
ため、マスキング,ガンマ変換,LOG変換,CMYK
生成は第1のSPインタフェース回路4−1上で処理さ
れる構成となっている。
【0156】図16は、図1に示した第2のSPインタ
フェース回路4−2の詳細構成を説明するブロック図で
あり、図2に示したバブルジェト型のスキャナプリンタ
95(プリンタ95B,スキャナ95A)とS/Pサー
バー装置SP1とのデータ処理をインタフェースする。
また、第2のSPインタフェース回路4−2は一体とし
てインタフェースボードとして構成されている。
【0157】図において、401はCPUで、デュアル
ポートRAM403を介してVEMバスにつながってい
るボード回路からのコマンドを受け取り、解釈し、第2
のSPインタフェース回路4−2内部の制御をする。C
PU401は内蔵されたインターバルタイマによって2
ms毎の割り込みを発生させ、バブルジェト型のプリンタ
95B,スキャナ95Aとのコマンドの通信を行う。ま
た、画像処理回路部404,405,406の各種パラ
メータの初期化および変更を行う。
【0158】402はプログラム用のROMで、CPU
401が実行する制御プログラム(デバイスドライバ8
6を補足するプログラム等)を格納するとともに、画像
処理回路部404,405,406の初期値やプリセッ
ト値を格納する。
【0159】デュアルポートRAM403はCPU40
1のワークエリア等として機能するとともに、VEMバ
スによってつながれたボード回路のCPU1000と、
CPU401の両方からアクセスことで、両者間の通信
を行う。
【0160】画像処理回路部404は画像処理用ASICと
して構成され、ルックアップテーブルにより階調変換を
行う。例えばRGBデータをCMYKデータに変換する
ときは、LOG変換を行う。これはあらかじめROM4
02に変換テーブルを用意しておき、これを画像処理回
路部404内のRAMに転送することで実現する。
【0161】画像処理回路部405は画像処理用ASI
Cとして構成され、4×5のマトリックス演算とルック
アップテーブルにより階調変換を行う。このマトリック
ス演算によりスキャナ95Aのセンサの特性のRGB空
間と標準色空間としてのNTSCーRGB色空間の変換
または画像処理回路部404の変換した後のCMY
(K)からプリンタ95Bの特性に合わせたCMYKへ
の変換( マスキング処理と呼ばれる) などを行う。さら
にルックアップテーブルによってカラーバランスの調整
が行える。これらの処理も画像処理回路部404と同様
にあらかじめ様々なテーブルを用意しておき、ROMに
格納しておき、用途に合わせて、選択して設定する。
【0162】画像処理回路部406は画像処理用ASI
Cとして構成され、データの2値化処理を行う。なお、
本実施例に置ける二値化のアルゴリズムは平均濃度保存
法であるを採用している。407はシリアル/ パラレル
変換部でありスキャナ95A,プリンタ95Bへの通信
のためにCPU401からの8ビットのパラレルのデー
タをシリアルデータに変換する。
【0163】408は画像用DRAMである。プリンタ
95のヘッドの画素数に合わせたバンド形式に合わせた
大きさの画像用メモリである。スキャナ95Aまたはプ
リンタ95Bでは1回の走査の間は画像用クロックに従
ってデータが流れ、動作を止められないために、1 バン
ドの大きさでのバッファリングが必要である。このため
スキャナ95Aによってスキャンされるまたはプリンタ
95Bにプリントされる1 バンド分の画像データをバッ
ファリングを行う。
【0164】また、VMEバス側からのラスタ形式のア
クセスとスキャナ95A,プリンタ95Bよりの縦方向
のアクセスとの走査形式の変換を行う。
【0165】409はDRAMへのアドレスセレクタ、
マルチプレクサで、DRAM408へのアクセスはVE
Mバス側からとスキャナ95A,プリンタ95B側から
の2つがあり、これらからのアドレスの切り替えを行
う。さらにDRAM408へのアドレスはROWアドレ
スとCOLUMアドレスに分けて供給するのでこのマル
チプレックスを行う。
【0166】410はDRAMのタイミングコントロー
ラ部である。RAS,CAS,WE,OEなどのDRA
Mを制御する信号を作り出す。またリフレッシュ信号と
の調停を行う。
【0167】411はタイミング回路で、スキャナ95
A,プリンタ95Bのアクセスのタイミングを生成す
る。これはスキャナ95A,プリンタ95Bからの画像
クロックや同期信号をもとにアクセスのタイミングを作
り出す部分である。
【0168】412はリフレッシュタイミング制御部で
ある。DRAM408へのリフレッシュのタイミングを
作り出す。スキャナ95A,プリンタ95Bのアクセス
のすきまを使いスキャナ95A,プリンタ95Bのアク
セスとが衝突しないように制御している。
【0169】413はVMEタイミング制御部である。
VMEバスからのアクセスのための制御信号の処理をす
る。AMコードのデコードや上位アドレスのデコード、
割り込みの処理などである。
【0170】414はスキャナ95A,プリンタ95B
のアクセスアドレス生成部である。スキャナ95A,プ
リンタ95Bのアクセスは通常のラスタ形式とは異なっ
ているため、VMEバスからのアクセスのためにラスタ
形式でかかれたメモりに対して、スキャナ95A,プリ
ンタ95B用の特殊なアクセスのアドレスを生成する部
分である。これはバンドの大きさで、走査方向の縦横を
ひっくり返すものである。
【0171】415はVMEバスインタフェースデータ
バッファ部である。画像データは32ビット幅、コマン
ドは8ビット幅でアクセスをする。
【0172】416はVMEバスインタフェースアドレ
スバッファ部である。画像データは24ビットのアドレ
ス空間、コマンドは16ビットのアドレス空間でアクセ
スする。
【0173】417はVMEバスインタフェースのデー
タとアドレス以外の部分のバッファである。
【0174】418は画像処理部の入り口のバッファで
ある。VMEバスからのアクセスおよびDRAMへアク
セスは32ビット幅で行うが、画像処理部では8ビット
幅で処理がなされる。このため32ビットのR,G,
B,Xのデータを8ビットのデータとしてR,G,B,
Xの順にシリアルに変換をする。
【0175】419は画像処理部の出口のバッファで,
バッファ418とは反対に、色順次に変化する8ビット
幅のデータラインを4色分まとめて32ビットにする変
換を行う。
【0176】420は2値化処理後のバッファで、画像
処理回路部406によって2値化されたデータは1ビッ
トになっている。これを8ビットに拡張する。すなわ
ち、「0」は「0x00」に、「1」は「0xFF」に
する。
【0177】421はバッファで、画像処理回路部40
6による2値化処理をバイパスする場合用のバッファ
で、バッファ420とこのバッファ421の出力のどち
らか一方を選択して、2値と多値を切り替える。
【0178】422はスキャナ95A,プリンタ95B
のインタフェースの通信部のバッファである。
【0179】423はスキャナ95A,プリンタ95B
のインタフェースの入力データ用バッファである。
【0180】424はスキャナ95A,プリンタ95B
のインタフェースの出力データ用バッファである。
【0181】425はスキャナ95A,プリンタ95B
のインタフェースのクロック,制御信号用の入力バッフ
ァである。
【0182】426はスキャナ95A,プリンタ95B
のインタフェースのクロック、制御信号用の出力バッフ
ァである。429はクロック入力ラインである。
【0183】430は32ビットの画像用データバス,
431は24ビットのアドレスバス、432は8ビット
の画像データバス、433は8ビットの画像データバ
ス、434は16ビットのローカルアドレスバス、43
5は8ビットのローカルデータバスである。以下、プリ
ンタ95Bのプリント動作について説明する。 <プリント時の動作>まず、VMEバスを通してボード
回路より、プリントするにあたっての各種のパラメータ
がデュアルポートRAM403に書き込まれると、CP
U401はこのデータを読み出して解釈して制御を行
う。例えば、RGBデータのプリントであれば、CPU
401は画像処理回路部404のLUTデータの変化を
起こさないスルーの特性のテーブルをセットし、画像処
理回路部405のマトリックスの係数テーブルにはNT
SCーRGBからBJーRGBへの変換用の係数をセッ
トし、画像処理回路部406の2値化処理をスルーする
ように、バッファ420,421のゲートを制御する。
【0184】さらに、データのサイズ等のパラメータを
セットする。そしてデータサイズなどのパラメータはの
パラレル/ シリアル変換部407を通してプリンタ95
Bへ伝えられる。次に、1 バンド分の画像データがVM
Eバスを通して、ボード回路よりメモリ408に転送さ
れる。このときVMEバスからは32ビットアクセスで
RGBXのデータ形式でストアされる。RはRED、G
はGREEN、BはBLUEのそれぞれの色成分の画像
データであり、Xは黒文字用の情報を含んだ制御用デー
タである。次にデュアルポートRAM403を介してプ
リント動作のコマンドが伝えられる。CPU401はプ
リント動作の開始命令をプリンタ95Bへ伝える。プリ
ンタ95Bのプリンタ制御部から開始信号が帰ってくる
とタイミング発生部411メモり408へのアクセスを
始める。このときデータの読み出しはプリンタ95Bの
BJヘッドに沿った方向であるため、アドレス発生部41
4によって生成されたアドレスに従って読み出しを行
う。メモり408から読み出されたデータはバッファ4
18でR,G,B,Xの順に8ビットデータに変換され
画像処理部に入る。あらかじめ設定したパラメータによ
って、画像を処理し、NTSCーRGBデータはプリン
タ95Bの内部で使われるRGB色空間に変換され、バ
ッファ421,インタフェース424を通ってプリンタ
95Bへ伝えられる。1 バンド分のデータの処理が終わ
ったら、次のバンドのデータをVMEバスを介して受け
取り、上記動作を繰り返す。所定の回数の処理を終えた
ら1 ページの処理が終了する。以下、ROM402に格
納された制御プログラムによるスキャナ95Aの原稿読
み取り動作について説明する。 <スキャン時の動作>まず、VMEバスを通してボード
回路より、スキャンするにあたっての各種のパラメータ
がデュアルポートRAM403に書き込まれる。CPU
401はこのデータを読み取って解釈して、制御を行
う。例えば、RGBの2値データで、1024×102
4の大きさで512×512の位置からのスキャンとす
ると、CPU401は画像処理回路部404のLUTに
スルーの特性のテーブルをセットし、画像処理回路部4
06のマトリックスの係数テーブルにはBJーRGBか
らNTSCーRGBへの変換用の係数をセットし、画像
処理回路部406の2値化処理を通るようにバッファ4
20,421のゲートを制御する。さらに、スキャンす
る画像のサイズを1024×1024に、スキャンの開
始位置を512×512に設定する。これらのパラメー
タはパラレル/ シリアル変換部407を通してスキャナ
95Aへ伝えられる。次にCPU401はスキャナ95
Aへスキャンの開始のコマンドを伝える。スキャナ95
Aのスキャナ読取り部より入力された画像データはイン
タフェース423を通して画像処理回路部404,40
5,406に入力される。ここで予め設定したパラメー
タによる画像処理を行い、バッファ419によってRG
BXの32ビットの形式のデータとしてメモリ408に
ストアされる。この時、メモリ408にはRGBXのデ
ータが入っているが、この例での設定ではRGBの2値
画像をスキャンするため、Xは意味のないデータであ
り、R,G,Bの各成分は2値データであるが1画素1
バイトである。これを一般的な2値画像の要求する形式
に、例えば8画素1 バイトのパッキングをしラスタライ
ン順次にRGBを配置するといった処理はボード回路に
おいて行う。メモリ408にある画像データはVMEバ
スインタフェース415を介してボード回路へ転送され
る。上記の処理をバンドの回数分繰り返して、1 回のス
キャンの動作を終了する。
【0185】以下、図1に示したスキャナ94A,プリ
ンタ94Bの画像データ処理について説明する。
【0186】本実施例では図1に示したスキャナ94
A,プリンタ94Bと一体としてカラー画像複写装置が
形成されているため、画像処理機能は1系統しか有して
おらず、スキャナ94A,プリンタ94Bを分離する
と、1つの処理につき、どちらか一方しか有していない
構成となっている。しかも、大部分の画像処理機能はス
キャナ94Aに備えられ、プリンタ94Bは主として変
倍,領域指定,色空間変換,ガンマ変換,色マスキング
処理部等がある。
【0187】スキャナ94Aには、色空間変換部や色マ
スキング処理部等を有しているので、ビデオインタフェ
ースの切り口として、標準RGB(NTSCのRGB
等)が用意されていて、RGBのデータは点順次または
パラレル同時に得られる。従って、プリンタ94Bに対
しては、画像処理部を有していないので、C,M,Y,
Kでデータを与えなければならず、外部でC,M,Yへ
の変換や黒(K)生成,色マスキング処理,その他必要
に応じて解像度変換,トリミング等の画像処理を行なっ
てから、ビデオインタフェースに送らなければならな
い。しかもその場合は、面順次に各色ずつC,M,Y,
K4回繰り返し、画像を送出を行なわなければならな
い。また、スキャナ/プリンタともに途中で動作を停止
したり、中断するようなことはできない。
【0188】その他ビデオインタフェースには、水平同
期信号,垂直同期信号およびビデオクロックが含まれて
ビデオデータとの同期をとっている。また、スキャナや
プリンタの電源ON/OFF等のステータス情報も有し
ているので外部からの確認が可能である。また、コマン
ドインタフェースをシリアル通信で行なう機能も有して
おり、これにより、スキャナ94Aやプリンタ94Bの
状態検知や状態設定、スキャナ94Aやプリンタ94B
の起動等の実行コマンド等を発行することができる。
【0189】以下、図17及び図18を参照しながらス
キャナ95A,プリンタ95Bの動作について更に説明
する。
【0190】図17は、図2に示したスキャナ/プリン
タ95の画像記録プロセスを説明する模式図である。
【0191】図において、101Rはスキャンする原稿
を表し、102Rはプリントする用紙を表す。これら
は、例えばA4サイズである。103Rはスキャナのセ
ンサのヘッドを表し、104Rはプリンタのヘッドを表
す。プリンタのヘッド104Rはバブルジェット方式に
よってインクを吹き出すノズルが並んでおり、例えば1
28のノズルから構成されている。
【0192】一方、センサは128より多い画素をスキ
ャンできるように、例えば144画素のデータを出力で
きる。これらのヘッドはカラーの場合、スキャナのセン
サではRGBの3色分、プリンタヘッドではCMYKの
4色分が並んで構成されている。105Rは画像処理部
であり、スキャナセンサより入力したRGB信号を処理
し、プリンタヘッドに合わせた特性のCMYK2値信号
として送る。
【0193】画像処理部105Rはその画像処理系の途
中のインタフェース部106RからRGB各色8ビット
のデータを外部とやり取りすることができる。スキャナ
/プリンタ95Bではスキャナ95Aのセンサとプリン
タ95Bのヘッドが同期して動き、画像処理部105R
はパイプライン構成となっているため、大きな容量の画
像メモリを持たずに処理がなされている。このためイン
タフェース105Rでやり取りされるデータの走査形式
は特殊なものとなっている。107Rは外部機器であ
る。
【0194】図18は、図2に示したスキャナ/プリン
タ95Bのスキャナ95Aの原稿走査状態を示す模式図
である。
【0195】図において、201Rはヘッドの動きを示
している。ヘッド自体は原稿( 用紙) に対して図のよう
に横方向( 主走査方向) に動く、センサの各画素はこれ
とは垂直に配列している。このため、データ203Rが
並ぶ。一方、一般的なラスタ走査形式ではデータ204
Rのように並ぶ。
【0196】図19は、図2に示したスキャナ/プリン
タ95Bのスキャナ95Aのバンド原稿走査状態を示す
模式図である。
【0197】図において、301Rは1ページを示し、
302Rは第1のセグメントを示し、303Rは第2の
セグメントを示している。スキャナセンサから出力され
画像処理系を通り2値化されるまでの画像では、セグメ
ント304Rのようにセグメント305Rより大きな画
像が扱われ、幅306Rの大きさだけ重複して処理がな
される。
【0198】以下、図20〜図22を参照しながら本実
施例に示したS/Pサーバー装置が制御可能なプリンタ
の一例について説明する。
【0199】本実施例に示したS/Pサーバー装置が制
御可能なプリンタとしては、セントロニクス・インター
フェースを利用可能なプリンタである。セントロニクス
・インターフェースは、米国セントロニクス社が自社の
プリンタ用に開発したコンピュータからプリンタにデー
タを送るための規格で、安価でかつ高速のデータを送る
ことができる。現在のプリンタは、ほとんどこのセント
ロニクスが標準となっている。
【0200】セントロニクスのデータ伝送は、図20に
示すようにDATASTROBE信号,ACKNOWL
EDGE(ACK)信号,BUSY信号用の3本の制御
線とDATA線によって行なう。
【0201】ここで、DATASTROBE信号は、D
ATA線に、データが出力されたことを示す。BUSY
信号は、現在プリンタが動作中であり、データを受け取
れないことを示か、または、データ・バッファがフルで
あることを示す。
【0202】ACK信号は、データの読み取りが正常に
終了したことを示す。
【0203】基本的には、上記3本の制御線で十分であ
るが、プリンタの制御を考えて、紙切れなどの信号線も
定義してある。図20には、信号名,入出力,備考を示
した。ピン番号は36ピン、25ピン、14ピンとコネ
クタの種類がまちまちな事と、各社で若干定義が変わっ
ていたり、削除されている場合も多いため割愛した。
【0204】図21は、セントロニクスI/F制御回路
の一例を示す回路ブロック図である。
【0205】図において、201AはセントロニクスI
/F制御回路で、データバッファ202A,制御線バッ
ファ203Aを備え、図22に示すタイミングチャート
に従ってデータ処理が行なわれる。
【0206】図23は、図21に示したセントロニクス
I/F制御回路によるホスト−プリンタ間の信号処理手
順の一例を示すフローチャートである。なお、(1) 〜
(3) は各ステップを示し、特にホスト側の処理に対応す
る。
【0207】まず、BUSY信号が「L」で、かつAC
K信号が「H」となったら(1) 、データを設定し(2) 、
DATASTROBE信号を出力して(3) 、ステップ
(1) に戻る。
【0208】図24は、図21に示したセントロニクス
I/F制御回路によるホスト−プリンタ間の信号処理手
順の一例を示すフローチャートである。なお、(1) 〜
(6) は各ステップを示し、特にセントロニクス対応プリ
ンタ側の処理に対応する。
【0209】まず、BUSY信号が「L」となり(1) 、
BUSY信号を「H」とし(2) 、データをデータバスよ
り取り込みを開始する(3) 。次いで、データ取り込みを
終了し(4) 、ACK信号が「L」とし(5) 、BUSY信
号を「L」、かつACK信号を「H」に設定し(6) 、ス
テップ(1) に戻る。データ転送はこのようにして行なわ
れる。
【0210】セントロニクス・プリンタは上記転送条件
のもと、”ESC”(0x1B)をコマンドやデータの
先頭に付けた方法で制御される場合が多い。例えば、あ
るプリンタにデータを転送する場合、ESC ( A
COUNT COLORDATA,(1B 28 4
1 COUNT COLOR DATA)等のように送
る。
【0211】ここで、「ESC ( A」は制御用のコ
ードである。「COUNT」はデータ数である。「CO
LOR」はRGB、CMYなどの色空間定義である。
「DATA」はカラー画像データである。このようなデ
ータコマンドを連続してプリンタに送れば、プリントが
行なわれる。なお、制御コードや構成は各社のプリンタ
によって違っている。しかしながら、”ESC”を用い
た制御方法は、比較的類似している。
【0212】本システムは、セントロニクス・ポートに
セントロニクス・プリンタを接続し、制御コードを、ソ
フトウエアプログラムでサポートすることにより、各種
セントロニクス・プリンタを利用することができる。
【0213】図25は本発明に係るスキャナプリンタサ
ーバー(ネットワークサーバー)SP1とホストコンピ
ュータとのプログラム構成を説明する図である。以下、
システム全体の流れを概略的に説明する。なお、図2と
同一のものには同一の符号を付してある。また、図25
でのホストコンピュータは図2に示すMacintos
hのステーションST1を例にして説明するが、他のス
テーションST2,ST3等であっても構わない。
【0214】ホストコンピュータ(ステーション)ST
1のオペレータがアプリケーションプログラム56を用
いて作成した印刷データをプリントするため、所望とす
るスキャナプリンタネットワークサーバー,プリンタ,
紙サイズ,送出するデータ形式等を選択指示すると、ア
プリケーションプログラム56は変換プログラム54に
データ(指示情報を含む)を通信する。変換プログラム
54はアプリケーションプログラム56から送られたデ
ータを選択されたネットワークサーバーSP1が受け付
けるデータ構造に変換し、通信プログラム53,TCP
/IPプログラム52に通信する。例えばMacint
oshのステーションST1では、QuickDraw
データからCaPSLデータに変換し、IBMPCのス
テーションST2では、GDIデータからCaPSLデ
ータに変換する。
【0215】通信プログラム53は、変換プログラム5
4から送出されたデータをTCP/IPプログラムを介
してネットワークサーバーSP1に通信し、ネットワー
クサーバーSP1の通信プログラム83がTCP/IP
プログラム82を介して受信し、システム全体制御プロ
グラム93に通信する。システム全体制御プログラム9
3は、送られてきたデータを解析し、その時のネットワ
ークサーバーSP1の状態と送られてきたデータに従
い、以下の処理を行う。
【0216】システム全体制御プログラム93は、印刷
データをPDLインタープリタープログラム84に送
る。PDLインタープリタープログラム84は印刷デー
タを受け取り、指定されたプリンタ(例えばスキャナプ
リンタ95のプリンタ)が受け入れ可能なデータに変換
する。例えばプストスクリプト(商品名)やCaPSL
というPDLのデータから画像データに変換する。シス
テム全体制御プログラム93はPDLインタープリター
プログラム84が変換したデータを画像入出力装置制御
プログラムとしてのデバイスドライバ86に送り、デバ
イスドライバ86はデータを指定されたプリンタに送り
プリントさせる。
【0217】次に、ホストコンピュータST1のオペレ
ータがスキャナアプリケーション58を用いて画像入力
するため、所望とするスキャナプリンタネットワークサ
ーバー,スキャナ,画像の領域,解像度,カラーあるい
はモノカラー,圧縮の種類等を選択指示すると、スキャ
ナアプリケーション58はスキャナインタフェースプロ
グラム57を介して通信プログラム53に通信する。通
信プログラム53は、スキャナインタフェースプログラ
ム57を介して送られたデータをTCP/IPプログラ
ムを介して指定されたネットワークサーバーSP1に通
信し、ネットワークサーバーSP1に通信し、ネットワ
ークサーバーSP1の通信プログラム83がTCPIP
プログラム82を介して受信し、システム全体制御プロ
グラム93に通信する。システム全体制御プログラム9
3は、入力した選択指示命令(画像入力命令)をスキャ
ナ制御プログラム85に送り、スキャナ制御プログラム
85は、命令に従って、画像入出力装置制御プログラム
としてのデバイスドライバ86に命令を送り、デバイス
ドライバは指定されたスキャナ(例えばスキャナプリン
タ95のスキャナ)を起動して画像データを入力し、画
像データをスキャナ制御プログラム85へ送り、スキャ
ナ制御プログラム85は画像データをシステム全体制御
プログラム93へ送り、システム全体制御プログラム9
3は通信プログラム83へ送り、ネットワークサーバー
SP1の通信プログラム83がTCP/IPプログラム
82を介して指定されたホストコンピュータの通信プロ
グラム(例えば通信プログラム53)へ画像データを送
信する。通信プログラム53がTCP/IPプログラム
52を介して受信した画像データは、さらにスキャナア
プリケーションプログラム58に送られる。
【0218】次に、ワークステーションST1から指定
されたスキャナプリンタサーバーへ(例えばスキャナプ
リンタサーバーSP1へ)スキャナプリンタサーバーの
状態を問い合わせる命令が送られた場合は、システム全
体制御プログラム93がネットワークサーバーSP1の
状態(例えばネットワークサーバーSP1に接続されて
いるスキャナプリンタの種類,解像度,紙サイズ,色処
理能力等)を取得し、TCP/IPプログラム82を介
して、通信プログラム83が指定されたホストコンピュ
ータ(例えばワークステーションST1)に通信する。
【0219】また、画像入出力装置としてのスキャナプ
リンタ94,95またはネットワークサーバーSP1内
でエラーが発生した場合は、システム全体制御プログラ
ム93がエラーの状況を管理し、通信プログラム83が
TCP/IPプログラム82を介して指定されたホスト
コンピュータ(例えばホストコンピュータSP1)に通
信する。
【0220】以上のように、本実施例ではこれらのプロ
グラム構成により、ホストコンピュータのアプリケーシ
ョンプログラム(例えばDTPソフト)からホストコン
ピュータで指定したプリンタでプリントすることができ
る。また、ホストコンピュータのスキャナアプリケーシ
ョンプログラム(例えばDTPソフト)からホストコン
ピュータで指定したスキャナから画像を入力できるし、
指定したスキャナで入力した画像を別のホストコンピュ
ータへ送出することもできる。また、指定したネットワ
ークサーバーSP1の状態(接続されるスキャナプリン
タの状態)を確認することができる。
【0221】なお、図25では、LAN96に接続され
るホストコンピュータ,スキャナプリンタサーバーはい
くつ接続されていても本発明の適用を妨げるものではな
い。以下、ホストコンピュータ,ホストコンピュータと
ネットワークサーバーSP1との間のネットワーク処理
について説明する。
【0222】ホストコンピュータにおいて、プリントプ
ロセスを行なう場合、大きく分けて第1〜第3の処理、
すなわち第1はアプリケーションプログラム(例えばD
TPソフト)によるデータの作成処理、第2はアプリケ
ーションプログラムによって作成されたデータの上記C
aPSLコードへの変換処理、第3はCaPSLコード
のネットワークサーバーSP1への転送処理である。
【0223】なお、第1のデータの作成処理で作成され
たデータは、使用するマシンの機種,アプリケーション
プログラムに依存する。例えばSUNワークステーショ
ンでFrame Technology社製のDTPプ
ログラムであるFrameMaker(商品名)を使用
した場合、MIF(商品名)ファイルまたはIPL(商
品名)ファイルで出力される。また、使用するマシンの
機種がIBM社製のIBM−PCでWindows(商
品名)対応のアプリケーションプログラムを使用した場
合、GDI関数の呼び出しになる。また、アップル社製
のMacintosh(商品名)を使用した場合、Qu
ickDraw関数の呼び出しになる。
【0224】また、アプリケーションプログラムによっ
て作成されたデータの上記CaPSLコードへの変換処
理では、第1の処理で作成されたデータをCaPSLコ
ードに変換するので、マシンの機種,作成されるファイ
ル形式に依存する。例えばSUNワークステーションで
上記Frame Makerを使用した場合、MIFフ
ァイルまたはIPLファイルをCaPSLコードに変換
するプログラムとする。また、使用するマシンの機種が
IBM社製のIBM−PCでWindows対応のアプ
リケーションプログラムを使用した場合、GDI関数か
らCaPSLコードへの変換を変換プログラムで行な
う。さらに、アップル社製のMacintosh(商品
名)を使用した場合、QuickDraw関数をCaP
SLコードへの変換を変換プログラムで行なう。
【0225】さらに、第3はCaPSLコードのネット
ワークサーバーSP1への転送処理においては、送信す
るデータはCaPSLであるが、送信処理は送信する際
に使用するプログラムに依存する。例えば図2に示す通
信プログラム83を使用したり、UNIXをOSとして
いるホストコンピュータではlpq/lpdプログラム
90を使用する。
【0226】また、ホストコンピュータにおいてスキャ
ナプロセスを行なう場合、大きく第1,第2のの処理が
行なわれる。第1にイメージデータをネットワークサー
バーSP1から受信する。第2にスキャナアプリケーシ
ョンプログラムでイメージデータの表示,保存を行な
う。
【0227】第1の処理において、受け取るイメージデ
ータは、第2の処理で使用するスキャナアプリケーショ
ンプログラムが扱えるイメージデータ形式に保存する。
また、ネットワークサーバーSP1からイメージデータ
を受信する際に使用するプログラムとしては、図2に示
す通信プログラム83を使用する。
【0228】第2の処理において、スキャナアプリケー
ションプログラムの使用に依存して、扱えるイメージデ
ータ形式が決まる。入力,出力各々について扱えるイメ
ージデータ形式を定める。例えばビットマップおよびT
IFF形式を入力として許可する。また、出力としてビ
ットマップおよびTIFF形式を許可する。ファイルで
保存する場合、TIFF形式を用いる。表示する場合に
はビットマップを用いることができる。
【0229】ホストコンピュータとネットワークサーバ
ーSP1間をネットワークで接続する時は、複数のプロ
グラムを使用する。中心となるプログラムは図2に示す
通信プログラム83である。
【0230】ネットワークサーバーSP1では、例えば
図25に示す通信プログラム53とネットワークサーバ
ーSP1側の通信プログラム83がある。ホストコンピ
ュータ側の通信プログラムは、主として第1〜第3の処
理を行なう。
【0231】第1は下位レイアを介して、ネットワーク
サーバーSP1とリンクを張る。第2はCaPSLデー
タをネットワークサーバーSP1へ送信する。第3はネ
ットワークサーバーSP1からイメージデータを受信し
て上位レイヤへ送る。
【0232】一方、ネットワークサーバーSP1は、主
として第1,第2の処理を行なう。第1はTCP/IP
プログラム82を介して通信プログラム83で受信した
CaPSLデータをシステム全体制御プログラム93へ
送る。第2はシステム全体制御プログラム93から受け
取ったイメージデータを通信プログラム83へ送信す
る。
【0233】プリント処理及びスキャン処理は、ホスト
コンピュータの上位レイアからのプリントおよびスキャ
ンの要求を通信プログラム53が受け取ることで開始さ
れる。通信プログラム53は、下位レイヤを使用して、
リンクを張る。例えばイーサネットを介して接続した場
合、下位レイアとして、TCP/IPプログラム52を
使用してデータの送受信を行なう。通信プログラム53
では、リンクを張った後に、プリントおよびスキャンに
特有の情報の受け渡しをして、適合する条件にプリンタ
及びスキャナを設定する。プリンタおよびスキャナの設
定が終了後は、プリントはCaPSLをクライアントか
らサーバーへ、またスキャナの設定が終了した後は、プ
リント時はCaPSLをクライアントからサーバーへ、
またスキャン時はイメージデータをサーバからクライア
ントへ各々送信する。プログラムとして、図2に示した
lpdプログラム90も使用できる。ホストとして、U
NIXマシンを使用した場合に、UNIXの標準のプリ
ントコマンドであるlprを使用してプリントが可能と
なる。このlpdプログラム90(図2参照)はプリン
ト時のみに使用する。サーバー側にスプールディスクが
ない場合でもデフォルトの設定での出力は可能である。
【0234】システム全体制御プログラム93の基本的
な動作は、イベントを入力してイベントに応じた処理を
行なうことと、エラー中の入出力装置に状態を問い合わ
せ、エラーから回復していた場合、エラーによって中断
していたジョブがあれば再開することである。
【0235】以下、図26に示すフローチャートを参照
しながら本発明に係るサーバー装置における全体制御動
作について説明する。
【0236】図26本発明に係るサーバー装置における
全体制御手順の一例を示すフローチャートである。な
お、(1) 〜(6) は各ステップを示す。
【0237】先ず、ステップ(1) でイベントがあるかど
うかを判別し(1) 、ある場合はステップ(2) でイベント
に応じた処理を行ない、ステップ(1) でイベントが無い
場合は、ステップ(3) でエラー中の入出力装置があるか
調べ、ある場合はステップ(4) でエラー中か問い合わ
せ、ステップ(5) でエラー中か判別し、エラーから回復
していればステップ(6) でエラーにより中断していたジ
ョブがあれば再開する。システム全体制御プログラム9
3はネットワークサーバーSP1内でTCP/IPプロ
グラム82,通信プログラム83,PDLインタープリ
タープログラム84,スキャナ制御プログラム85,デ
バイスドライバ86と通信することができ、さまざまな
イベントを受けとる。通信プログラム83から送られる
イベントとして、ジョブの到着、データ転送の終了があ
り、PDLインタープリタープログラム84から送られ
るイベントとして、受信データ処理終了、画像データ描
画終了、ページ描画終了、プリントジョブ終了があり、
スキャナ制御プログラム85からのイベントとして、画
像データ転送要求、画像入力処理終了、ページプリント
終了、エラー発生、正常状態等のイベントがある。
【0238】また、システム全体制御プログラム93で
は各イベントに対する動作が定まっており、例えば、通
信プログラム83からジョブの到着が送られると、ジョ
ブの内容を解析し、プリントジョブの場合はPDLイン
タープリタープログラム84にデータを転送し、画像入
力ジョブの場合はスキャナ制御プログラム85にデータ
を転送する。
【0239】さらに、デバイスドライバ86から送られ
るエラーとしては、紙なし、インク切れ、紙詰まり、電
源OFF等がある。
【0240】なお、本実施例では、ネットワークサーバ
ーSP1では、プリンタのページ記述言語としてCaP
SLを採用している。そこで、CaPSLの機能処理等
について説明する。なお、プリンタのページ記述言語と
しては、CapSLに限定されるものではない。
【0241】CaPSLの機能は、図形,文字,イメー
ジを表現している制御コードを入力して、ネットワーク
サーバーSP1のバンドメモリと呼ばれる描画領域に画
像を展開するタスクである。
【0242】PDLインタープリタープログラム84と
直接コミュニケーションを持つプログラムは、システム
全体制御プログラム93である。コミュニケーション
は、以下の第1,第2のコミュニケーションである。
【0243】第1のコミュニケーションは、システム全
体制御プログラム93がCaPSLに引き渡すコミュニ
ケーションであり、その内容は、CaPSLコードの格
納されたファイル名,CaPSLコードが格納されてあ
るメモリの先頭アドレスおよびサイズ,バンドメモリ描
画可能性等である。
【0244】第2のコミュニケーションは、PDLイン
タープリタープログラム84がシステム全体制御プログ
ラム93に引き渡すコミュニケーションであり、その内
容は、バンドメモリ描画終了,ページ描画終了,ドキュ
メント描画終了,バンドメモリ描画領域,空バンドメモ
リの情報である。
【0245】この際、PDLインタープリタープログラ
ム84の内部では、以下の処理が行われる。
【0246】ネットワークサーバーSP1では、バンド
メモリと呼ばれる、ある幅を持ったメモリを持っている
ので、PDLインタープリタープログラム84は画像を
バンド幅分だけ部分的に展開しなければならない。PD
Lインタープリタープログラム84は、図27に示すよ
うなプリンタ制御コマンドを入力する。CaPSLコー
ドは、PDLインタープリタープログラム84内部でレ
イアウタと呼ばれるプログラム(図示しない)に基づい
て図28に示す中間コードに置き換えられる。本実施例
において、中間コードとは、いわゆる抽象的な図形の表
現を具体的なデバイスの表現にしたものである。そし
て、1ページ分の中間コードができあがると、ペインタ
と呼ばれるプログラム(図示しない)に基づいて中間コ
ードを参照しながらバンドメモリにラスタイメージを展
開する。
【0247】例えば図29に示すような図形を描くよう
なCaPSLコードをレイアウタが受け取ると、デバイ
スに依存した図28に示す中間コードに置き換える。こ
こで、レイアウタは、図形の大きさに基づいてその図形
が何バンド目から何バンド目まで描かれているかを計算
して、中間コードに登録する。図29では、円(cir
cle)が1〜2バンド、矩形(Rectangle)
が2〜4バンドに描かれる場合を示す。なお、その後に
書かれている数字は、デバイス座標系における、図形の
位置や半径等である。
【0248】次に、ペインタ(実際にメモリに描画する
プログラム)は中間コードを参照しながら、図29に示
すような図形を展開して、バンドメモリに描画する。実
際には、メモリはバンド幅分の大きさしか持っていない
ので、バンドを描画すると、そのデータをプリンタに送
り、メモリをクリアして、次のバンドのデータを描き始
める。第0番目の描画をするために、中間コードを参照
すると、第0番目のバンドに描くべきデータがないこと
が分かり、次のバンドに移る。すると、ペインタは第1
バンド目に描くデータをサーチし、円を検知して1バン
ド分だけ描画する。次に第2バンド目に移り、円と矩形
を描画することが分かるので、円の続きの部分の描画と
矩形を1バンド分だけ描画する。このようにして、ペイ
ンタは、1ページ分のデータを描画するのである。
【0249】なお、CaPSLが展開するデータの1画
素の構造は、図30に示されるように、RGBXの32
ビットになっている。これは、色のデータを表わすRG
B24ビットと、付加情報のための8ビットの付加情報
Xから構成されている。ここで、付加情報Xの中は、ビ
ット0がイメージ領域判定ビットであり、CaPSLが
イメージをバンドメモリに描画する時には、このビット
をONにする。また、ビット2は、黒情報ビットになっ
ており、CaPSLで展開された図形や文字の色がRG
Bともに0の場合は、このビットをONにする。これら
の情報は、第1のインタフェース回路4−1でプリンタ
94Bでプリントアウトする際に解析され、画質を向上
させる情報となる。
【0250】以下、図31に示すデータ処理経路図を参
照しながら、スキャナ94A,95Aの動作について説
明する。なお、図25と同一のもには同じ符号を付して
ある。
【0251】図31は、図2に示したスキャナ94A,
95Aの動作を説明するデータ処理経路図である。な
お、画像をバンド単位で切り分けてスキャンするスキャ
ナの場合と、1度に全画像をスキャンする場合のタスク
の動作が多少異なるためそれぞれを説明する。
【0252】画像をバンド単位で切り分けてスキャンす
るスキャナの場合において、先ず、クライアントマシン
としてのホストコンピュータST1から送られてきた、
スキャン命令C1をTCP/IPプログラム82を介し
て通信プログラム83が受信すると、システム全体制御
プログラム93にスキャン命令C2の到着を知らせる。
【0253】システム全体制御プログラム93は、この
装置がスプールIを持つ場合は、受信したスキャン命令
C2を元にしてスプールファイルを作って保存し、その
ファイル名C3をスキャナ制御プログラム85に送る。
スプールIを持たない場合は、スキャナコマンドC3を
直接スキャナ制御プログラム85に送る。
【0254】スキャナ制御プログラム85は、スキャナ
コマンドC3を解釈し、解像度等のスキャナ条件設定命
令C4をデバイスドライバ86に与えて指定されたスキ
ャナを起動する。デバイスドライバ86は、それぞれの
スキャナ制御プログラム85に対応して存在する関数で
ある。
【0255】スキャナ条件を設定したデバイスドライバ
86は、リターン値C5をスキャナ制御プログラム85
に返す。これを受けるとスキャナ制御プログラム85
は、スキャン開始命令C6をデバイスドライバ86に与
えて指定されたスキャナを起動する。デバイスドライバ
86は、スキャナEを作動させて画像データを読み込み
バンドメモリFに書き込む。1バンド分描き込むと、ス
キャナ制御プログラム85にスキャン終了のリターン値
C9を返す。これを受け取ったスキャナ制御プログラム
85は、バンドメモリFの画像データに画像処理、例え
ばJPEG圧縮ボードを用いることで圧縮を行ってバッ
ファ領域Hへ描きこむ。
【0256】バンドメモリF内のデータを全て処理し終
わると、スキャナ制御プログラム85は、システム全体
制御プログラム93に転送要求C11送り、また同時に
デバイスドライバ86にスキャン開始命令C6を与えて
起動する。このスキャンは、前回のスキャンの時の終了
点から読み込むようにスキャナ制御プログラム85で制
御する。
【0257】一方、転送要求C11を受けたシステム全
体制御プログラム93は、通信プログラム83に転送要
求C12を送る。これを受け取った通信プログラム83
は、指定されたクライアントマシンとしてのホストコン
ピュータにバッファ領域H内の処理された画像データを
送る。このとき通信プログラム83,システム全体制御
プログラム93は、スキャナ制御プログラム85とは、
異なったプログラムであるので、スキャナ制御プログラ
ム85内の関数であるデバイスドライバ86の制御で動
くスキャナ作動中であっても、画像データの転送を行う
ことができる。
【0258】通信プログラム83は、転送が終了すると
システム全体制御プログラム93に転送終了信号C14
を送り、これを受け取るとシステム全体制御プログラム
93は、スキャナ制御プログラム85に転送終了C15
を送る。スキャナ制御プログラム85は、デバイスドラ
イバ86からのスキャン終了を伝えるリターン値C9,
転送終了C15の両方を受けると、バンドメモリF内の
画像データを画像処理しバッファ領域Hに書き込む。以
上の処理を繰り返すことで画像データをホストコンピュ
ータST1へ送ることができる。なお、別のホストコン
ピュータ(例えばホストコンピュータST2またはホス
トコンピュータST3)を指定することで、他のホスト
コンピュータへ画像データを送ることもできる。
【0259】全ての画像データの転送をスキャナ制御プ
ログラム85が確認すると、システム全体制御プログラ
ム93を介して通信プログラム83まで終了を知らせ
る。
【0260】一方、1度に全画像をスキャンする場合
は、クライアントマシンとしての、例えばホストコンピ
ュータST1から送られてきた、スキャン命令C1を通
信プログラム83が受信すると、システム全体制御プロ
グラム93にスキャン命令C2の到着を知らせる。
【0261】システム全体制御プログラム93は、この
装置がスプールIを持つ場合は、受信したスキャン命令
C2を元にしてスプールファイルを作って保存し、その
ファイル名C3をスキャナ制御プログラム85に送る。
スプールIを持たない場合は、スキャナコマンドC3を
直接スキャナ制御プログラム85に送る。
【0262】スキャナ制御プログラム85は、スキャナ
コマンドC3を解釈し、解像度等のスキャナ条件設定C
4をデバイスドライバ86に与えて指定されたスキャナ
を起動する。スキャナ条件を設定したデバイスドライバ
86は、リターン値C5をスキャナ制御プログラム85
に返す。これを受けるとスキャナ制御プログラム85
は、スキャン開始命令C6をデバイスドライバ86に起
動する。ここでのスキャナEは、読み込み動作を途中で
止められないものとしている。
【0263】デバイスドライバ86は、命令C10によ
りスキャナEを作動させて画像データすべてを取り込
み、取り込んだ画像データに画像処理、例えばJPEG
ボードGを用いてJPEG圧縮を行なってバッファHに
描き込むことができる。
【0264】また、画像データを生のままバッファHに
書き込むことも可能である。バッファHが一杯になる
と、スキャナ制御プログラム85は、システム全体制御
プログラム93に転送要求C11を送る。これを受けた
システム全体制御プログラム93は、通信プログラム8
3に転送命令C12を出し、通信プログラム83がバッ
ファHに描かれたデータを指定されたホストコンピュー
タST1へ転送する。なお、別のホストコンピュータ
(例えばホストコンピュータST2またはホストコンピ
ュータST3)を指定することで、他のホストコンピュ
ータへ画像データを送ることができる。
【0265】通信プログラム83は、転送が終了すると
システム全体制御プログラム93に転送終了信号C14
を送り、これを受け取るとシステム全体制御プログラム
93は、スキャナ制御プログラム85に転送終了C15
を送る。スキャナ制御プログラム85は、転送終了C1
5が送られてくるとバンドメモリ内の画像データを画像
処理しバッファHに書き込む。以上の処理を繰り返すこ
とで画像データをクライアントマシンとしての指定され
たホストコンピュータへ送ることができる。
【0266】スキャナ制御プログラム85は、全ての画
像データの転送を確認すると、システム全体制御プログ
ラム93を介して通信プログラム83まで終了を知らせ
る。
【0267】以下、図32および図33を参照しながら
本発明に係るサーバー装置におけるホストコンピュータ
からS/Pサーバー装置へのデータの流れについて説明
する。
【0268】ホストコンピュータから指定されたS/P
サーバー装置(ネットワークサーバー)SP1へのデー
タの流れにおいて、先ず、例えばホストコンピュータS
T1でDTPのアプリケーションプログラム56が実行
されていてドキュメントを作成する。このドキュメント
のデータ形式は、ホストコンピュータの機種、アプリケ
ーションプログラムに依存したものである。そこで指定
されたS/Pサーバー装置SP1が解釈できる形式のデ
ータに変換する必要がある。その変換プログラムが変換
プログラム54である。DTPのアプリケーションプロ
グラム(DTPアプリ)56からはホストコンピュータ
のシステムに依存したデータが変換プログラム54に送
られる。変換プログラム54は、受けとったファイル
を、例えばCaPSLコードに変換する。さらに、Ca
PSLコードに変換したファイルは通信プログラムであ
るlpd505または通信プログラム53に送られる。
【0269】通信プログラムはホストコンピュータとS
/Pサーバー装置SP1の間でネットワークを介して接
続、通信を行なうためのものであり、ここでは2つの内
のどちらか一方のプログラムを用意する。
【0270】先ず始めに、通信プログラム53を用いた
時を説明する。
【0271】通信プログラム53に対応するプログラム
として、S/Pサーバー装置SP1側で通信を司るプロ
グラムは通信プログラム83であり、このプログラム間
ではTCP/IPプログラムを使用する。プリント時の
通信プログラム53の役割は主に2つあり、一つは下位
レイヤ(TCP/IP)を介して通信プログラム83と
リンクを張り、通信できる状態にすることである。もう
一つは、変換プログラム54が生成したCaPSLデー
タファイルをS/Pサーバー装置SP1に送信すること
である。
【0272】また、通信プログラム83の役割はリンク
を張りプリント処理に必要な情報をやりとりして最適に
プリントできるようにすること。通信プログラム53の
送ってくるデータを受けとり、システム全体制御プログ
ラム93にデータの到着を知らせる。この時、送られて
きたCaPSLデータ、およびそれに付随する情報は受
信バッファに一時的に貯められている。また、S/Pサ
ーバー装置SP1側で何らかのエラーが起こった時に、
その情報を通信プログラム53に送信するというような
役割もある。
【0273】以下、通信プログラム83からプリントア
ウトまでの処理について説明する。
【0274】ここまでで、DTPアプリケーションプロ
グラム56で作成したドキュメントデータはS/Pサー
バー装置SP1に送られたことになる。次に通信プログ
ラム83はシステム全体制御プログラム93にジョブ
(例えばカラーレーザ複写装置(CLC)からプリント
アウト)の到着のイベントを送る。システム全体制御プ
ログラム93はイベント駆動型のプログラムで通信プロ
グラム83,デバイスドライバ86,PDLインタープ
リタープログラム84から送られてくるイベントを常に
待っている。イベントが入ってくるとイベントの発信元
と内容を調べてそれに対応した処理を行なう。 今、シ
ステム全体制御プログラム93には通信プログラム83
から「ジョブが到着した」というイベントが入力されて
いる。この時、システム全体制御プログラム93はイベ
ントを解析してハードディスク519を持っている時に
は受信バッファのドキュメントデータを一旦スプールす
る。そして、ジョブが幾つかたまっている場合には、ジ
ョブの内容、プリンタ、スキャナの状態、ジョブの優先
順位などを考慮して最適にジョブを起動する。
【0275】ハードディスク519がない場合には、デ
ータを貯めておくことが出来ないので、データの格納さ
れているアドレスとサイズをPDLインタープリタープ
ログラム84に知らせてプリントアウト処理を直ちに行
なうように要求を出す。ここでは、ハードディスクがあ
るものとして説明を続ける。システム全体制御プログラ
ム93はジョブの内容を判断してPDLインタープリタ
ープログラム84にスプールファイル名を渡し、起動の
要求をする。
【0276】以下、図33に示すブロック図を参照しな
がらさらに詳述する。
【0277】図33は本発明に係るS/Pサーバー装置
SP1と、例えばカラーレーザ複写装置(CLC)との
データ処理状態を説明するブロック図である。
【0278】図32に示したPDLインタープリタープ
ログラム84はスプールファイルからCaPSLデータ
を読み込み, 解釈して、図形、文字、イメージをバンド
メモリ518に描画する。CaPSLデータの中に圧縮
符合化されたイメージデータがあった場合にはPDLイ
ンタープリタープログラム84は、標準圧縮伸長部60
6でイメージデータを伸長してバンドメモリに描画す
る。1バンド分の描画を終了すると、PDLインタープ
リタープログラム84はシステム全体制御プログラム9
3に対して「1バンド描画終了」のイベントを発行す
る。イベントを受けとったシステム全体制御プログラム
93はデバイスドライバ86に「1バンド排紙」の要求
イベントを発行する。
【0279】以下、バンドメモリ605から圧縮メモリ
615までのデータの流れについて説明する。なお、こ
こではデバイスドライバ86の動作について説明する。
【0280】「1バンド排紙」のイベントを受けとった
デバイスドライバ86は、バンドメモリ605に格納さ
れている展開データを、サブボード610Aのラインバ
ッファ617に転送する。ラインバッファ617に格納
された展開データはブロック順次でリアルタイム圧縮伸
長部616に転送される。リアルタイム圧縮伸長部61
6では、ブロック順次に得られる画像データを圧縮して
いき、順次圧縮メモリ615に格納する。圧縮メモリ6
15のアドレス生成や、ライト信号の生成はDMAコン
トローラ621が行なう。
【0281】1バンド分の圧縮が終了するとデバイスド
ライバ86はシステム全体制御プログラム93に対して
「1バンド排紙終了」のイベントを送信する。イベント
を受けとったシステム全体制御プログラム93は、PD
Lインタープリタープログラム84に対して「1バンド
描画要求」イベントを出力する。このようにバンド毎に
描画しては、圧縮するという処理を繰り返し1ページ分
の圧縮展開イメージを圧縮メモリ615に格納する。最
後のバンドの格納が終了すると、PDLインタープリタ
ープログラム84はシステム全体制御プログラム93に
対して「1ページ描画終了」のイベントを発行する。イ
ベントを受けとったシステム全体制御プログラム93
は、デバイスドライバ86に対して「1ページ排紙命
令」を発行する。
【0282】「1ページ排紙命令」を受けとったデバイ
スドライバは、圧縮メモリ615に格納されている1ペ
ージ分の展開イメージをプリントアウトするために次の
ような処理を行なう。
【0283】CPU611はDPRAM622をONに
してからリアルタイム圧縮伸長部616,DMAコント
ローラ621の初期化および指定されたプリンタ620
とのコマンドの通信を行ないリアルタイム圧縮伸長部6
16に伸長開始の命令を出す。リアルタイム圧縮伸長部
616はDMAコントローラ621にアクセスし、DM
Aコントローラ621はアドレス、リード信号の生成を
行ない、圧縮メモリ615より圧縮データがリアルタイ
ム圧縮伸長部616に入力され、伸長された後ブロック
順次でラインバッファ617に出力される。そしてライ
ンバッファ617にてブロック順次からラスタ順次の変
換をしてSPI/F618を通じて転送されプリンタ6
20に出力される。実際に、1ページ分のプリントアウ
トが終了するとデバイスドライバ86から「1ページ排
紙終了」のイベントがシステム全体制御プログラム93
に対して送られる。するとシステム全体制御プログラム
93は、PDLインタープリタープログラム84に対し
て2ページ目の描画命令」を発行する。このようにして
複数ページのドキュメントの出力が処理されて行く。
【0284】最終ページの最終バンドの描画が終了する
と、PDLインタープリタープログラム84は「ドキュ
メント終了」イベントをシステム全体制御プログラム9
3に対して発行する。システム全体制御プログラム93
はデバイスドライバ86に対して「1ページ排紙命令」
を出しデバイスドライバ86はプリント処理を行ない
「1ページ排紙終了」イベントをシステム全体制御プロ
グラム93に対し発行する。なお、プリント終了は、シ
ステム全体制御プログラム93は必要ならば通信プログ
ラム83に「プリント終了」イベントを発行する。通信
プログラム83はホストコンピュータ側の通信プログラ
ム53に対しプリント終了を知らせる。
【0285】また、エラー発生時には、例えばプリンタ
620が、紙詰まりを起こしたり、紙無しの状態になっ
た時にはデバイスドライバ86からシステム全体制御プ
ログラム93に対して「エラー発生」のイベントが送ら
れる。システム全体制御プログラム93はその旨をPD
Lインタープリタープログラム84と通信プログラム8
3に伝える。PDLインタープリタープログラム84は
プログラムの状態の退避などのエラー時の処理を行な
い、通信プログラム83はエラーの発生や、その内容を
ホストコンピュータ側の通信プログラム83に伝える。
なお、エラーが回復したかどうかを調べる方法は2つ考
えられる。一つは、ある一定期間毎にシステム全体制御
プログラム93がデバイスドライバ86に対して問い合
わせて、デバイスドライバ86が答えるという方法。
【0286】もう一つは、システム全体制御プログラム
93がエラー回復を監視していて回復時にシステム全体
制御プログラム93に対して「エラー回復」のイベント
を発行するというものである。
【0287】以下、図32,図34を参照しながらホス
トコンピュータから、例えばバブルジェットカラー複写
装置へのプリントデータ出力処理について詳述する。
【0288】図34は本発明に係るS/Pサーバー装置
SP1と,例えばバブルジェットカラー複写装置(BJ
C)とのデータ処理状態を説明するブロック図である。
【0289】ホストコンピュータからS/Pサーバー装
置SP1へのデータの流れは、図32に示すように、ま
ず、ホストコンピュータでDTPのアプリケーションプ
ログラム56が実行されていてドキュメントを作成す
る。このドキュメントのデータ形式は、ホストコンピュ
ータの機種、アプリケーションプログラムに依存したも
のである。そこでS/Pサーバー装置SP1が解釈でき
る形式のデータに変換する必要がある。その変換プログ
ラムが変換プログラム54である。DTPのアプリケー
ションプログラム56からはDTPアプリに依存したデ
ータが変換プログラム54に送られる。変換プログラム
54は、受けとったファイルをCaPSLコードに変換
する。さらに、CaPSLコードに変換したファイルは
通信プログラムであるlpd505または通信プログラ
ム53に送られる。
【0290】通信プログラムはホストコンピュータとS
/Pサーバー装置SP1の間でネットワークを介して接
続、通信を行なうためのものであり、ここでは2つのプ
ログラムを用意する。
【0291】先ず始めに、通信プログラム53を用いた
時を説明する。
【0292】通信プログラム53に対応するプログラム
として、S/Pサーバー装置SP1側で通信を司るプロ
グラムは通信プログラム83であり、このプログラム間
ではTCP/IPプログラムを使用する。
【0293】プリント時の通信プログラム53の役割は
主に2つあり、一つは下位レイヤ(TCP/IP)を介
して指定したS/Pサーバー装置SP1とリンクを張
り、通信できる状態にすることである。もう一つは、変
換プログラム54が生成したCaPSLデータファイル
を通信プログラム83に送信することである。
【0294】また、通信プログラム83の役割はリンク
を張りプリント処理に必要な情報をやりとりして最適に
プリントできるようにすること。通信プログラム53の
送ってくるデータを受けとり、システム全体制御プログ
ラムにデータの到着を知らせる。この時、送られてきた
CaPSLデータ、およびそれに付随する情報は受信バ
ッファに一時的に貯められている。
【0295】また、S/Pサーバー装置SP1側で何ら
かのエラーが起こった時に、その情報をホストコンピュ
ータ側の通信プログラム53に送信するというような役
割もある。ホストコンピュータ側の通信プログラム53
からプリントアウトする際には、DTPアプリケーショ
ンプログラム56で作成したドキュメントデータは指定
されたS/Pサーバー装置SP1に送られたことにな
る。次に通信プログラム83はシステム全体制御プログ
ラム93にジョブ(例えばBJカラー複写装置からプリ
ントアウト)の到着のイベントを送る。システム全体制
御プログラム93はイベント駆動型のプログラムで通信
プログラム83,デバイスドライバ86,PDLインタ
ープリタープログラム84から送られてくるイベントを
常に待っている。イベントが入ってくるとイベントの発
信元と内容を調べてそれに対応した処理を行なう。
【0296】今、システム全体制御プログラム93には
通信プログラム83から「ジョブが到着した」というイ
ベントが入力されている。この時システム全体制御プロ
グラム93はイベントを解析してハードディスク519
を持っている時には受信バッファのドキュメントデータ
を一旦スプールする。そして、ジョブが幾つかたまって
いる場合には、ジョブの内容、プリンタ、スキャナの状
態、ジョブの優先順位などを考慮して最適にジョブを起
動する。
【0297】ハードディスク519がない場合には、デ
ータを貯めておくことが出来ないので、データの格納さ
れているアドレスとサイズをPDLインタープリタープ
ログラム84に知らせてプリントアウト処理を直ちに行
なうように要求を出す。ここでは、ハードディスクがあ
るものとして説明を続ける。システム全体制御プログラ
ム93はジョブの内容を判断してPDLインタープリタ
ープログラム84にスプールファイル名を渡し、起動の
要求をする。PDLインタープリタープログラム84は
スプールファイルからCaPSLデータを読み込み, 解
釈して、図形、文字、イメージをバンドメモリ518に
描画する。CaPSLデータの中に圧縮符合化されたイ
メージデータがあった場合にはPDLインタープリター
プログラム84は標準圧縮伸長部606でイメージデー
タを伸長してバンドメモリに描画する。1バンド分の描
画を終了すると、PDLインタープリタープログラム8
4はシステム全体制御プログラム93に対して「1バン
ド描画終了」のイベントを発行する。イベントを受けと
ったシステム全体制御プログラム93はデバイスドライ
バ86に「1バンド排紙」の要求イベントを発行する。
【0298】一方、バンドメモリ518からプリントア
ウトする場合には、「1バンド排紙」の要求イベントを
受けたデバイスドライバ86はインタフェースボード6
10Bを制御して指定したバブルジェットカラープリン
タ(BJプリンタ)656にてプリントを行う。メイン
CPUボード610のバンドメモり605に展開されて
いる1 バンドの画像データをバンドメモり653に転送
する。バンドメモリ653のデータはBJのヘッドに合
った走査形式で読み出されバッファ651を通して画像
処理部652に入る。ここでは予め設定したパラメータ
に従って処理がなされる。通常はバンドメモりにあるN
TSC−RGBをBJプリンタ656内部のRGBに変
換する処理を行う。そしてインタフェース618を通し
てBJプリンタ656のプリンタエンジン部へ送られ
る。BJプリンタ656への制御はCPU601からの
コマンドを解釈して、CPU611が行う。なお、65
0はデュアルポートRAMである。
【0299】最終バンドまでこれらの処理を繰り返した
ら、PDLインタープリタープログラム84は「ドキュ
メント終了」イベントをシステム全体制御プログラム9
3に発行しプリントを終える。プリント終了の際、シス
テム全体制御プログラム93は必要ならば通信プログラ
ム83に「プリント終了」イベントを発行する。通信プ
ログラム83はホストコンピュータ側の通信プログラム
53に対しプリント終了を知らせる。
【0300】また、エラー発生時には、例えばプリンタ
656が、紙詰まりを起こしたり、紙無しの状態になっ
た時には、デバイスドライバ86からシステム全体制御
プログラム93に対して「エラー発生」のイベントが送
られる。システム全体制御プログラム93はその旨をP
DLインタープリタープログラム84と通信プログラム
83に伝える。PDLインタープリタープログラム84
はプログラムの状態の退避などのエラー時の処理を行な
い、通信プリンタ83はエラーの発生や、その内容をホ
ストコンピュータ側の通信プログラム53に伝える。な
お、エラーが回復したかどうかを調べる方法は2つ考え
られる。一つは、ある一定期間毎にシステム全体制御プ
ログラム93がデバイスドライバ86に対して問い合わ
せて、デバイスドライバ86が答えるという方法。
【0301】もう一つは、システム全体制御プログラム
93がエラー回復を監視していて回復時にシステム全体
制御プログラム93に対して「エラー回復」のイベント
を発行するというものである。
【0302】以下、異機種間でカラー画像の通信を行う
場合、単純にこれらの入出力機器を接続したのではお互
いの特性が異なり、最適な色再現が難しくなってしま
う。このため、現在では、各デバイス内では、固有の色
空間で、通信路上では標準の色空間で通信し合う方向で
検討が進んでいる。そこで、以下、このような要請の下
での色空間の変換処理方法について説明する。
【0303】なお、説明上、送信側の入力デバイスの色
空間をA、通信路上の色空間をB、受信プリンタの色空
間をCとする。
【0304】また、通信路上の色空間は現在では比較的
知られている色空間、例えばカラー画像符号化で良く用
いられるYCrCb色空間の場合について説明する。
【0305】一方、送信側の色空間Aは、YCrCb色
空間と異なり色域が異なるのが一般的で、通常は両色空
間間を第(1)式のような形式で結合する。
【0306】 [Ra] [a11 a12 a13][y] [Ga]=[a21 a22 a23][cr] [Ba] [a31 a32 a33][cb]……(1) ここで、Ra,Ga,Baは色空間Aの任意の1点の座
標(Ra,Ga,Ba)であり、対応するYCrCb色
空間上の1点を(y,cr,cb)とする。これらのす
べての色空間上で近似できるように、例えば最小2乗法
により、a11〜a33までの係数を求めて利用する。
従って、上記第(1)によりデバイスの入力色空間と通
信上の色空間化変換を行う。
【0307】一方、通信路上の標準色空間から記録側の
色空間に変換する場合、いくつかの方法があるが、本実
施例では以下のように処理する。
【0308】先ず、通信路上での標準色空間をYCrC
bとした場合、YCrCbからRGBに変換される。Y
CrCb空間は、NTSCと線形変換できるので、以
下、NTSC色空間として説明する。
【0309】また、NTSC標準色空間は加法混色を基
本としているが、印刷は減方混色系が用いられる。従っ
て、加法混色と減方混色の変換が必要となる。この変換
は、構成が複雑で純粋に論理的に解決するのは非常に難
しい。そこで、本実施例では記録側の色空間に近い加法
混色系色空間を記録側の内部的標準色空間とする。ここ
では、NTSC色空間より、狭いHDTV(HighD
efinitionTV)色空間を記録側標準色空間D
とする。
【0310】さらに、記録側内部標準色空間Dとデバイ
ス色空間Cとの関係は、下記第(2)で決定される。
【0311】 [Y] [A11 A12 A13][Rh] [M]=[A21 A22 A23][Gh] [C] [A31 A32 A33][Bh] [K] [A41 A42 A43] ……(2) ここで、Y,M,C,Kは印刷のための原色で、イエロ
ー,マゼンタ,シアン,ブラックの各成分である。R
h,Gh,Bhは記録側標準色空間成分である。また、
A11〜A43までは、印刷と記録内部標準色空間を複
数の点で関係付け、最小2乗法で計算される係数であ
る。
【0312】また、通信路上の標準色空間と記録内部の
標準色空間は下記のように変換する。
【0313】通信回線上のNTSC標準色空間は基礎刺
激からNTSCが表現できる色間の3次元的最外郭面代
表情報を求める。同様にして、記録側内部標準色空間H
DTVの最外郭面の代表位置情報も得られる。
【0314】今、NTSC色空間上の1点(Rn,G
n,Bn)からHDTV色空間の対応点(Rh,Gh,
Bh)を求める場合は、Rn,Gn,BnからCIEL
*** 変換し、Ln,an,bnとする。同様にし
て、Rh,Gh,BhからCIEL*** 変換し、
Lh,ah,bhとする。Ln一定でθ=atan(a
n/bn)に近いHDTV,NTSC各色空間上の最外
郭近似位置を前述テーブルから求める。そのNTSC最
外郭面位置を(Lon,aon,bon),HDTV最
外郭面位置を(Lon,aoh,boh)とすると、a
h,bhは下記第(3)式により決定される。
【0315】ah=(aoh/aon)* an bh=(boh/bon)* bn ……(3) これらのah,bhが色空間圧縮後のHDTV色空間上
での対応位置である。従って、NTSC色空間上の任意
の1点(Rn,Gn,Bn)は、記録側標準色空間上で
は、(Rh,Gh,Bn)に変換される。従って、上述
(2)式により印刷すべきY,M,C,Kの各成分量が
決定され、印刷可能となる。
【0316】なお、本実施例では記録側内部に標準色空
間を設けているが、これは通信回線上での標準色空間は
1つに絞られていないためである。従って、複数の標準
色空間が使用される可能性がある。その場合でも、本方
式を用いていれば通信上の色空間がNTSC色空間でな
くともそれ自身の色空間を規定できるものであれば、上
記方法により標準色空間変換が可能となる。
【0317】以下、図35を参照しながら周辺機器の異
常処理について説明する。
【0318】図35は本発明に係るサーバー装置とのネ
ットワークシステムの構成を説明するブロック図であ
る。
【0319】ジョブ実行中に周辺機器に異常が発生した
場合、S/Pサーバー装置SP1664は異常が発生し
た周辺機器が異常から回復するまで待つのではなく、そ
の状態で実行可能なジョブを優先的に実行していく( 実
行可能なジョブに関しては、後述する) 。また、異常が
発生したときに異常が発生した周辺機器に対して実行し
ていたジョブ( 以下エラージョブともいう) を、ジョブ
再開のために必要な情報を保存した後に、実行時にエラ
ーが発生した処理待ちのジョブとしてS/Pサーバー装
置SP1664内に登録することにより、異常が発生し
た周辺機器が異常から回復した後にジョブを再開するこ
とが可能である。エラージョブを再開可能なように登録
するか登録しないかは、発生した異常の程度や、SPサ
ーバーの設定による。
【0320】例としてサーバー装置に3台のコンピュー
タ661〜663および2台のカラースキャナプリンタ
665,666および1台のスキャナ667が接続され
ている場合で説明する。
【0321】カラースキャナプリンタ665,666
は、各々プリントとスキャンのジョブを処理することが
出来る。以下、図36に示すフローチャートを参照しな
がら異常発生ジョブ処理動作について説明する。S/P
サーバー装置664図36は本発明に係るサーバー装置
における異常発生ジョブ処理手順の一例を示すフローチ
ャートである。なお、(1) 〜(10)は各ステップを示す。
【0322】例えばホストコンピュータ661がカラー
スキャナプリンタ665に対するプリントジョブをS/
Pサーバー装置664に依頼して実行しており、ホスト
コンピュータ662がシステム全体制御プログラム93
にプリントジョブを依頼して処理待ちになっており、ホ
ストコンピュータ663がシステム全体制御プログラム
93にスキャンジョブを依頼して処理待ちになっていた
とする。このプリントジョブ実行中にカラースキャナプ
リンタ665のプリンタ部分に異常が発生したとすると
(1) 、この時、まずS/Pサーバー装置664はカラー
スキャナプリンタ665に発生した異常が回復困難な異
常かどうかを調べる(2) 。カラースキャナプリンタ66
5に発生した異常が回復困難な異常であるとS/Pサー
バー装置SP1が判断した場合、S/Pサーバー装置S
P1は直ちにエラージョブを放棄し(10)、次の処理可能
なジョブを選択し実行する(9) 。
【0323】なお、本実施例において、処理可能なジョ
ブとは、現在異常が発生しているカラースキャナプリン
タ665に対するプリントジョブ以外のジョブ、すなわ
ち、 ・カラースキャナプリンタ665に対するスキャンジョ
ブ ・カラースキャナプリンタ666に対するプリントジョ
ブ ・カラースキャナプリンタ666に対するスキャンジョ
ブ ・カラースキャナプリンタ667に対するスキャンジョ
ブ である。
【0324】処理可能なジョブが複数ある場合は、後述
する方式に従ってジョブを実行する。
【0325】カラースキャナプリンタ665に発生した
異常が回復困難な異常であるとS/Pサーバー装置66
4が判断しなかった場合、S/Pサーバー装置664は
カラースキャナプリンタ665に対してリトライ処理
(図37参照)を行なう。
【0326】リトライは、事前に定めておいたN回( 例
えば5回) まで繰り返し行なわれる(3) 。N回のリトラ
イを行なうまでにカラースキャナプリンタ665が異常
状態から回復した( リトライに成功した) 場合、ジョブ
を再開する(6) 。N回のリトライを行なってもカラース
キャナプリンタ665が異常状態から回復しなかった(
リトライに失敗した) 場合、S/Pサーバー装置664
は他の処理可能なジョブがあるかどうかを調べる(4) 。
処理可能なジョブがなかった場合、S/Pサーバー装置
664はリトライ回数とは別に定めておいたM回( 例え
ば1回) のリトライを行ない(5) 、リトライに成功した
ならば、エラージョブを再開する。リトライに失敗した
場合は、再び処理可能なジョブがあるかどうかを調べる
(4) 。処理可能なジョブがあった場合、S/Pサーバー
装置664はエラージョブのジョブ退避を行ない(7) 、
エラージョブを実行途中でエラーが発生したジョブとし
て登録し(8) 、次の処理可能なジョブを実行する(9) 。
【0327】なお、本実施例において、ジョブ退避と
は、エラージョブ実行時のS/Pサーバー装置664の
状態情報などのジョブ再開時に必要な情報を、例えば記
憶手段( 例えばハードディスク) や、例えばS/Pサー
バー装置内のメモりや、例えばS/Pサーバー装置内の
プログラムなどに保存する処理である。
【0328】図37は本発明に係るサーバー装置におけ
るリトライ処理手順の一例を示すフローチャートであ
る。なお、(1) 〜(5) は各ステップを示す。
【0329】リトライ処理とは、事前に定めておいた時
間( 例えば30秒) 待機した後に(1) 、異常が発生した
周辺機器が異常状態から回復したかどうかを調べ(2) 、
ある一定回数X(例えば5回)繰り返す(3) 。一定回数
繰り返すまでに異常が発生した周辺機器が異常状態から
回復していればリトライは成功であり(5) 、回復しなけ
ればリトライは失敗となる(4) 。
【0330】以下、本発明に係るサーバー装置によるマ
ルチプリント制御動作について詳述する。
【0331】スキャナ/プリンタネットワークサーバー
(SPネットワークサーバー)には、スキャナとプリン
タとから構成されるカラーレーザビーム複写装置(CL
C),スキャナとプリンタとから構成されるバブルジェ
ットカラー複写装置(BJC),標準インタフェースで
接続されているビットマッププリンタ,PDLプリンタ
(CaPSL,PS),市販されるスキャナ等多くのデ
バイスが接続可能になっている。また、ネットワーク上
のホストマシンからは、これらのデバイスを自由に使用
させるため、以下のように各ジョブを制御している。
【0332】例えばホストコンピュータAからカラーレ
ーザビーム複写装置に10頁のドキュメントを出力する
要求がSPネットワークサーバーに送られ、さらにホス
トコンピュータBからバブルジェットカラー複写装置
(BJC)のスキャナからカラー原稿を入力する要求が
発生し、さらにホストコンピュータCからPDLプリン
タに出力するという要求が発生するといった事態も想定
される。このように、ネットワーク上のホストコンピュ
ータからは、様々な要求がSPネットワークサーバーに
送られ、SPネットワークサーバーでは、それらの要求
(ジョブ)に対処するべく下記のようなジョブ制御を実
行する。なお、本実施例ではプリント要求,スキャン要
求をジョブと呼ぶ。例えばカラーレーザビーム複写装置
(CLC)のプリンタにCaPSLコードで記述された
3頁のドキュメントを出力する要求を1つのジョブと考
える。SPネットワークサーバーのジョブ制御では、同
時に2つまでのジョブしか走らないようにするが、3つ
以上のジョブが走る場合も制御を拡張することによりほ
ぼ同様に制御できる。
【0333】以下、図38を参照しながら本発明に係る
サーバー装置におけるジョブ制御動作について説明す
る。
【0334】図38は本発明に係るサーバー装置におけ
るジョブ制御状態を説明するタイミングチャートであ
る。なお、ジョブの処理は、SPネットワークサーバー
がスプール用のハードディスクを備えているかどうかに
より、図38の(a)〜(e)の何れかのジョブ制御1
〜5に大別される。また、説明上ジョブ1,2は3頁の
プリント要求または3頁のスキャン要求とする。 〔ジョブ制御1〕ジョブ制御1は、同図(a)に示すよ
うに、先に要求のあったジョブを実行して、次のジョブ
2は、ハードディスクにスプールして、ジョブが終了し
た時点でジョブ2を起動する。 〔ジョブ制御2〕ジョブ制御2は、同図(b)に示すよ
うに、特殊な場合であるが、1つのジョブで2つ以上の
デバイスを動かす場合の制御に対応する。例えばメモリ
に展開した画像をカラーレーザビーム複写装置(CL
C),バブルジェットカラー複写装置(BJC)にも出
力する場合である。 〔ジョブ制御3〕ジョブ制御3は、同図(c)に示すよ
うに、ジョブの中にページという概念をいれる。この場
合、プリントの場合にはドキュメントのページ単位、ス
キャナの場合には1ページの原稿のスキャンの単位とす
る。例えばジョブ1を実行中にジョブ2の要求がきた場
合には、ジョブ1をページの切れ目で中断して、ジョブ
2を行う。この場合、ジョブ1とジョブ2とは同時に動
いていることはない。 〔ジョブ制御4〕ジョブ制御4は、同図(d)に示すよ
うに、ジョブ1を実行中にジョブ2の要求がきた場合
は、ジョブ1を実行したまま、直ちにジョブ2を実行す
る。 〔ジョブ制御5〕ジョブ制御5は、同図(e)に示すよ
うに、ジョブ1を実行中にジョブ2の要求がきた場合
は、ジョブ2をリジェクトする。
【0335】なお、図1に示したサーバー装置の構成の
場合には、ジョブの種類が下記の(1)〜(7)に分類
される。
【0336】(1)カラーレーザビーム複写装置(CL
C)のプリンタにドキュメントを出力する。
【0337】(2)カラーレーザビーム複写装置(CL
C)のスキャナから原稿を読み取る。
【0338】(3)バブルジェットカラー複写装置(B
JC)のプリンタにドキュメントを出力する。
【0339】(4)バブルジェットカラー複写装置(B
JC)のスキャナから原稿を読み取る。
【0340】(5)市販のページ記述言語のインタプリ
タを内蔵するプリンタに出力する。 (6)市販のビットマッププリンタにドキュメントを出
力する。
【0341】(7)市販のスキャナから原稿を読み取
る。
【0342】以下、各ジョブの優先順位処理について説
明する。
【0343】例えばスキャンのジョブを至急行いたい
時、プリントジョブが実行中ならば、プリントジョブを
中断して、スキャナジョブを行うことができるように、
本実施例では優先順位0〜2の3段階の指定可能であ
り、優先順位0が指定なし(ファーストインファースト
アウト)の場合、優先順位1がジョブ単位で優先割込み
指定ありの場合、優先順位2がページ単位で優先割込み
指定する場合である。 以下、図39を参照しながら本
発明に係るサーバー装置におけるSPマネージャー制御
動作について説明する。
【0344】図39は本発明に係るサーバー装置におけ
るシステム全体制御プログラム93の制御処理状態を示
す図である。本実施例において、システム全体制御プロ
グラム93は、主としてホストコンピュータから送出さ
れてくるジョブの優先順位,ジョブの種類を参照してプ
リンタのジョブを最適に制御する。以下、図面に基づい
て、SPネットワークサーバに対して、ネットワーク上
のホストコンピュータから様々な要求が送出される場合
のジョブ管理について説明する。
【0345】先ず、各プログラムの概念的な構成を説明
すると、図39に示すように、通信に関する通信プログ
ラム83,SPネットワークサーバーの全体を制御する
システム全体制御プログラム93,スキャナに関するプ
ログラムのスキャナ制御プログラム85,プリント処理
(CaPSLのインタプリタ)に関するプログラムのP
DLインタープリタープログラム84,入出力機器を実
際に制御するデバイスドライバ86の5つのプログラム
に大きく分けられる。さらに、実際にデータが流れるイ
ンタフェースとして、バンドメモリ(BMEM)70−
1,セントロニクスインタフェース(CENTR)70
−2,RS232Cインタフェース(RS232)70
−3があり、これらをシステム全体制御プログラム93
が管理する構成となっている。
【0346】システム全体制御プログラム93は基本的
に他の4つのプログラムからのイベントにより動く、イ
ベント駆動型の処理を図40に示すフローチャートに従
って実行する。
【0347】図40は、図39に示したシステム全体制
御プログラム93のイベント処理手順の一例を示すフロ
ーチャートである。なお、(1) 〜(9) は各ステップを示
す。
【0348】先ず、SPネットワークサーバーの電源投
入時にシステム全体制御プログラム93は起動し、すぐ
にイベント待ちの無限ループになる。プログラムが走り
出すと、イベント待ちの状態になる(1) 。イベントか入
力されるとループから抜け出し、もし、そのイベントが
通信プログラム83からのものかどうかを判定し(2)、
YESならばイベントに応じた処理を行なう(3) 。そし
て、またステップ(1)に戻りイベント待ちのループにな
る。
【0349】一方、ステップ(2) の判定でNOの場合
は、そのイベントの発行先がPDLインタープリタープ
ログラム84のプリントジョブかどうかを判定し(4) 、
YESならばイベントに応じた処理を行なう(5) 。
【0350】一方、ステップ(4) の判定でNOの場合
は、そのイベントの発行先がスキャナ制御プログラム8
5のスキャナジョブかどうかを判定し(6) 、YESなら
ばイベントに応じた処理を行なう(7) 。
【0351】一方、ステップ(6) の判定でNOの場合
は、そのイベントの発行先がデバイスドライバ86から
かどうかを判定し(8) 、NOならばステップ(1) に戻
り、YESならばイベントに応じた処理を行い(9) 、ス
テップ(1) に戻る。
【0352】一方、通信プログラム83からは、カラー
レーザ複写装置(CLC)のプリントに関するジョブ
や、バブルジェットカラー複写装置のスキャナに関する
ジョブ等、いろいろなジョブの要求が不定期的にシステ
ム全体制御プログラム93に送られる。それら複数のジ
ョブを資源の許す限り最適に振り分けなければならな
い。以下そのアルゴリズムについて図41を参照しなが
ら説明する。
【0353】図41は本発明に係るサーバー装置におけ
るジョブの管理状態を示す図である。
【0354】この図に示されるように、ジョブの管理に
はジョブテーブルを使用する。ジョブテーブルには、ジ
ョブを識別するためのID、ジョブの状態を示すステー
タス、ジョブの実行の優先順位、ジョブの種類、終了ペ
ージ、そして割り込みジョブIDがある。
【0355】IDはシリアルの番号で、ジョブの要求の
受け付け順と考えて良い。ステータスには、実行中を示
すRUN、処理を待っているWAIT、割り込みが入っ
て中断していることを示すSTOP,エラーが発生して
回復待ちを示すESTOPがある。優先順位はLEVE
L0から2まであり0は「指定なし」で通常はこのレベ
ルを指定する。1は「ジョブ単位で優先割り込み」で幾
つかのジョブが待ち状態の時、それらのジョブより優先
して処理するというものである。また2は「ページ単位
で割り込み」を表し、現在ジョブを処理中でも、ページ
の切れ目であればそのジョブを中断してLEVEL2の
ジョブを処理する。
【0356】インタフェースは、図39に示すようにそ
のジョブが使用するハードウェアを指し、ジョブ同士が
排他的にハードウェアを利用可能にするために設けたも
のである。また,ジョブはカラーレーザ複写装置(CL
C)のプリンタからドキュメントを出力するCLCP、
カラーレーザ複写装置(CLC)のスキャナから原稿を
読みとるCLCS、バブルジェットカラー複写装置のプ
リンタにドキュメントを出力するBJP、バブルジェッ
トカラー複写装置のスキャナから原稿を読みとるBJ
S、市販のページ記述言語のインタプリタを内蔵するプ
リンタに出力するPDLP、市販のビットマッププリン
タにドキュメントを出力するBITP、市販のスキャナ
から原稿を読みとる等のジョブがある。なお、終了ペー
ジにはジョブが処理し終ったページ数を記録しておく。
これは、もしエラーが起こった時にエラー回復後、どの
ページから処理を再開すれば良いかの判断に使われる。
また最後の割り込みジョブIDは、割り込んだジョブが
終了しているかの判断に使われ、終了していれば、ST
OP中のジョブを再開する。
【0357】システム全体制御プログラム93は以上の
ような情報の格納されたジョブテーブルを参照しなが
ら、次にどのジョブを起動するかを最適に判断する。
【0358】以下、図42に示すフローチャートを参照
しながら本発明に係るサーバー装置におけるジョブ実行
処理動作について説明する。
【0359】図42は本発明に係るサーバー装置におけ
るジョブ実行処理手順の一例を示すフローチャートであ
る。なお、(1) 〜(6) は各ステップを示す。
【0360】なお、このフローに制御が移るタイミング
は、次のようになる。システム全体制御プログラム9
3にイベントが入らずアイドル状態の時にある一定の間
隔をおいてこのフローに移る。そして、ジョブテーブル
にジョブがなければまたアイドル状態になる。通信プ
ログラム83からのイベントがあった時。PDLイン
タープリタープログラム84,スキャナ制御プログラム
85から、ページ終了のイベントまたはドキュメント終
了のイベントがあった時。デバイスドライバ86から
エラー等のイベントがあった時。
【0361】先ず、ステップ(1) において、図41に示
すジョブテーブルを参照する。次いで、ステップ(2) に
おいてジョブがあるかどうかの判断をする。実行すべき
ジョブがない時にはステップ(7) に移り、システム全体
制御プログラム93はアイドル状態になる。実行すべき
ジョブがある場合にはステップ(3) で実行可能なジョブ
の候補を幾つか選び、ステップ(4) で候補に上がったジ
ョブの優先順位を見て一つのジョブに絞る。さらに、ス
テップ(5) でその絞り込まれたジョブが使用するインタ
フェースが空いているかを判断する。ステップ(6) で実
際にジョブを実行し、処理を終了する。
【0362】以下、図43に示すフローチャートを参照
しながら本発明に係るサーバー装置におけるステータス
チェック処理動作について説明する。
【0363】図43は本発明に係るサーバー装置におけ
るステータスチェック処理手順の一例を示すフローチャ
ートである。なお、(1) 〜(14)は各ステップを示す。
【0364】先ず、ステップ(1) でジョブテーブルから
一つのジョブのステータスを読みとる。ステップ(2) で
ジョブのステータスがRUNかどうかを判断し、RUN
ならばステップ(14)に移りジョブテーブルのジョブをす
べて読みとったかを判断する。もし、まだジョブが残っ
ていればステップ(1) で次のジョブのステータスを読み
に行く。RUNでなければステップ(3) に移る。ステッ
プ(3) ではジョブのステータスがWAITかどうかの判
断をする。WAITならばステップ(4) で実行可能なジ
ョブの候補としてピックアップする。そしてステップ(1
4)に移る。WAITでない場合には、ステップ(5) に移
り今度はステータスがESTOPかどうかの判断をす
る。もし、このジョブのステータスがESOPならば、
エラーを起こして中断しているので、ステップ(6) でこ
のジョブを中断した原因のエラーが回復しているかどう
かのチェックを行なう。ステップ(7) はエラー中か、そ
うでないかの判断の分岐になる。まだエラーの場合には
実行可能なジョブの候補にはピックアップせずにステッ
プ(14)に移る。エラーが回復している場合には、そのジ
ョブのステータスをESTOPからWAITにジョブテ
ーブルを書き換える。そしてステップ(9) で実行可能な
ジョブの候補としてピックアップする。またステップ
(5) でステータスがESTOPではないと判断された場
合には、他のジョブに割り込まれて中断しているSTO
Pの状態なので、ステップ(10)で割り込んだジョブのス
テータスをチェックする。ステップ(11)では割り込んだ
ジョブが実行中かどうかの判断をする。実行中ならば実
行可能なジョブの候補にはピックアップせずにステップ
(14)に移る。もし、実行中でなければステップ(12)に移
り、そのジョブのステータスをSTOPからWAITに
ジョブテーブルを書き換える。そして、ステップ(13)で
実行可能なジョブとしてピックアップする。最後に、す
べてのジョブをジョブテーブルから読み終ったら(14)、
ステータスのチェックは終了する。このようにして実行
可能なジョブの候補が複数選ばれる。
【0365】以下、図44に示すフローチャートを参照
しながら本発明に係るサーバー装置における優先順位チ
ェック処理動作について説明する。
【0366】図44は本発明に係るサーバー装置におけ
る優先順位チェック処理手順の一例を示すフローチャー
トである。なお、(1) 〜(11)は各ステップを示す。ま
た、本実施例では候補に上がったジョブの優先順位を見
て実行するジョブを一つに絞るということをする。
【0367】ステップ(1) で実行可能なジョブの候補と
してあげられた複数のジョブの内一つに対してその優先
順位をリードする。ステップ(2) でLEVEL2かどう
かの判断をする。LEVEL2ならばステップ(3) に移
りLEVEL2のジョブが存在するかどうかを表すフラ
グFLG2を立てる。LEVEL2でなければステップ
(4) に移り今度はLEVEL1であるかの判断をする。
LEVEL1ならばステップ(5) に移りLEVEL1の
ジョブが存在するかどうかを表すフラグFLG1を立て
る。もしLEVEL1でもないと判断された場合には、
LEVEL0になる。すなわちFLG2もFLG1も立
っていない場合にはLEVEL0になる。
【0368】一つのジョブの優先順位の判断が終るとス
テップ(6) に移り候補に上がったジョブをすべて調べた
かどうかを判断する。まだすべて調べ終ってない時には
ステップ(1) に戻り、次のジョブの判断に移り、調べ終
った場合にはステップ(7) に移る。フラグFLG2が立
っている時にはステップ(8) に移り、優先順位がLEV
EL2でジョブのIDが小さい(早くジョブのリクエス
トを受け付けたもの)ジョブを選択する。
【0369】同様に、ステップ(9) ,(10)では優先順位
がLEVEL1でジョブのIDが小さいジョブを選択す
る。ステップ(11)では優先順位がLEVEL0でIDの
小さいジョブが選択され、優先順位のチェックが終了す
る。
【0370】このようにして次に起動可能なジョブを一
つに絞る。起動可能なジョブが決定しても、インタフェ
ースの状態により実際に起動できるかどうかが決まって
くるのでジョブとインタフェースの関係を調べなくては
ならない。
【0371】以下、図45に示すフローチャートを参照
しながら本発明に係るサーバー装置におけるインタフェ
ースチェック処理動作について説明する。
【0372】図45は本発明に係るサーバー装置におけ
るインタフェースチェック処理手順の一例を示すフロー
チャートである。なお、(1) 〜(9) は各ステップを示
す。
【0373】先ず、ステップ(1) において、一つに絞ら
れたジョブのインタフェースをジョブテーブルからリー
ドする。ステップ(2) でそのインタフェースの状態をチ
ェックする。使用中でなければステップ(5) に移りその
ジョブを実行ジョブテーブルに登録する。実行ジョブテ
ーブルは、実際に起動するジョブを表すテーブルでマル
チでジョブを走らせることが出来るので複数のジョブが
登録可能である。
【0374】ステップ(6) のジョブ処理ではこの実行ジ
ョブテーブルを参照してジョブを起動する。
【0375】インタフェースが使用中の場合にはステッ
プ(3) に移りジョブの優先順位をチェックする。LEV
EL2でなければ、現在のジョブを中断させることは出
来ないので実行ジョブテーブルに登録することはしない
で、処理を終了する。 また、ステップ(3) でLEVE
L2の時には、ステップ(4) で現在ステータスがRUN
のジョブがLEVEL2であるかの判断をする。もしR
UNのジョブがLEVEL2であるならば中断させることは
出来ないので、選択されたジョブは実行ジョブテーブル
に登録せずに、処理を終了する。
【0376】一方、現在実行中のジョブ(ステータスが
RUN)の優先順位がLEVEL1またはLEVEL0
の場合には現在実行中のジョブを中断させて新たに選択
されたジョブを起動させる。その場合、ステップ(6) に
移り、ステップ(4) で選択されたジョブを実行ジョブテ
ーブルに登録する。ステップ(7) で現在実行中のジョブ
のステータスをSTOPにして、さらに優先順位をLE
VEL2にする。これは、ジョブが復帰した時に優先し
て実行されるようにするためである。
【0377】ステップ(8) で現在実行中のジョブが何ペ
ージまで処理したかを記録しておくために終了ページ数
をジョブテーブルに書き込む。さらにステップ(9) で現
在実行中のジョブを実行ジョブテーブルから削除する。
これで、現在実行中のジョブが起動されることはなく、
ステータスもSTOPになり再度ジョブが起動されるの
を待機することになる。このようにしてインタフェース
チェック処理を終了する。
【0378】以下、図46に示すフローチャートを参照
しながら本発明に係るサーバー装置におけるジョブ起動
処理動作について説明する。
【0379】図46は本発明に係るサーバー装置におけ
るジョブ起動処理手順の一例を示すフローチャートであ
る。なお、(1) 〜(4) は各ステップを示す。
【0380】先ず、ステップ(1) において、実行ジョブ
テーブルを参照して起動すべきジョブをリードする。ス
テップ(2) でこれから起動するジョブがステータスES
TOPでエラーストップしているジョブの種類と同じか
どうかをチェックする。もし同じであれば、起動するこ
とは出来ないのでステップ(4) に移り。実行ジョブテー
ブルをすべて読んだかを判断する。もしまだ残っていれ
ばステップ(1) に移り次のジョブの起動処理をする。も
しエラーストップしているジョブの種類と違っていれば
実行可能なので、ステップ(3) に移りジョブの起動に移
る。実際のジョブを起動する時は、ステータスをWAI
TからRUNに替え、インタフェースを確保する。逆に
エラーストップ、または割り込みで中断する時には、イ
ンターフェースを解放する。
【0381】ステップ(4) で実行ジョブテーブルにジョ
ブが残っているかを判断して、もう起動すべきジョブが
残っていなければ、ジョブ起動処理を終了する。
【0382】以下、図47〜図57を参照しながら本発
明に係るサーバー装置における具体的ジョブ処理動作に
ついて説明する。
【0383】図47は本発明に係るサーバー装置におけ
るジョブ処理状態推移を示すタイミングチャートであ
る。なお、図中の横軸右方向に時間が流れていくものと
する。図において、801〜813はジョブテーブルを
チェックするタイミングを示し、タイミング800〜8
03は通信プログラム83からジョブのイベントがシス
テム全体制御プログラム93に入るタイミングに対応
し、タイミング804〜813はジョブテーブルをチェ
ックするタイミングに対応する。
【0384】図48〜図57は本発明に係るサーバー装
置におけるジョブ処理に伴うジョブテーブルの内容を示
す図であり、図48〜図57はタイミング804〜タイ
ミング813におけるジョブテーブルに対応する。な
お、ジョブテーブルはチェック直前の内容を示してい
る。また、ジョブはカラーレーザ複写装置(CLC)の
プリンタからドキュメントを出力するCLCP、カラー
レーザ複写装置(CLC)のスキャナから原稿を読みと
るCLCS、バブルジェットカラー複写装置のプリンタ
にドキュメントを出力するBJP、バブルジェットカラ
ー複写装置のスキャナから原稿を読みとるBJS、市販
のページ記述言語のインタプリタを内蔵するプリンタに
出力するPDLP、市販のビットマッププリンタにドキ
ュメントを出力するBITP、市販のスキャナから原稿
を読みとる等のジョブがある。
【0385】タイミング800で、ジョブのイベントが
入ってくる。内容はカラーレーザ複写装置(CLC)の
プリンタにドキュメントを出力するジョブ1(内容はC
LCP)で、出力ページ数は3ページ、優先順位はLE
VEL0、インタフェースにはBMEMを用いるという
ものである。ジョブテーブルJOBTを見てみると、図
48に示すようにIDに「25」が割り当てられ、ステ
ータスはWAIT、終了ページはまだこのジョブは処理
されていないので0ページになっている。
【0386】タイミング804のジョブテーブルチェッ
クでは、ID25のジョブが選択され、起動される。こ
の時ID25のジョブのステータスをRUNに変更す
る。801のタイミングで新たなジョブが入ってくる。
ジョブID25のジョブの1ページの処理が終了すると
システム全体制御プログラム93は再度ジョブテーブル
を見に行く。その時のジョブテーブルJOBTは図49
に示される。ID25のジョブは1ページの出力が終了
して、次ページが処理されるのを待っている状態であ
る。終了ページは0ページから1ページに変化してい
る。また、新たに入ったジョブはID26が割り当てら
れ、ステータスはWAIT、優先順位はLEVEL1、
インタフェースはBMEM、ジョブはBJPになってい
る。システム全体制御プログラム93はこのジョブテー
ブルJOBTから判断して、ID25のジョブの2ペー
ジ目の処理を起動する。
【0387】この時、2ページめの途中でプリンタに紙
ジャムが発生してしまいID25のジョブを続けられな
くなってしまった。システム全体制御プログラム93は
ジョブテーブルJOBTを参照して次に起動すべきジョ
ブを探す。その時のジョブテーブルJOBTは図50の
ようになっている。ID25のステータスはESTOP
になり、優先順位は復帰した時に優先的に実行させるた
めにLEVEL2、終了ページは1ページのままになっ
ている。そこで、システム全体制御プログラム93はI
D26のジョブを起動する。ID26のジョブが1ペー
ジの処理を終了すると、システム全体制御プログラム9
3はジョブテーブルJOBTチェック807に移る。こ
の時の状態は図51に示される。ID25のジョブはは
エラーチェックをしてもエラーが回復していないので起
動されることはない。そこで、システム全体制御プログ
ラム93はID26のジョブの2ページ目を処理するこ
とをPDLインタープリタープログラム84に対して要
求する。
【0388】ID26のジョブが2ページ目を処理して
いる最中に新たなジョブのイベントがシステム全体制御
プログラム93に入ってくる。内容は、バブルジェット
カラー複写装置のスキャナから2ページ分の原稿を読み
取るものである。ID26のジョブが2ページ目の処理
を終了すると、システム全体制御プログラム93はジョ
ブテーブルJOBTをチェックする。その時のジョブテ
ーブルJOBTが図52である。
【0389】ID25はエラーが回復していないのでそ
のままの状態である。ID26のジョブは2ページの処
理が終了したので、終了ページは2に変化している。さ
らに新しいジョブがID27に割り当てられている。I
D27のジョブは優先順位がLEVEL2であるので、
システム全体制御プログラム93は現在処理中のID2
6のジョブを中断させてID27のジョブを起動する。
ID26のジョブはステータスがSTOPに、優先順位
がLEVEL2になる。
【0390】スキャナ制御プログラム85が1ページの
原稿読み込みしている最中に、システム全体制御プログ
ラム93には新たなジョブのイベントがタイミング80
3で入ってくる。1ページの読み込みが終了すると、シ
ステム全体制御プログラム93はタイミング809でジ
ョブテーブルJOBTをチェックする。この時のジョブ
テーブルJOBTは図53のようになる。ID25のジ
ョブはエラーが回復していないのでESTOPのままで
ある。また、ID26はステータスがSTOPで、割り
込みジョブIDが27であるので、ID27のジョブを
チェックするとステータスはRUNのままなので再開す
ることは出来ない。新たに入ってきたジョブはID28
が割り当てられる。ID28のジョブはセントロニクス
インタフェースを通して市販のプリンタにデータを流す
ジョブで、現在起動されているジョブと同時に走らせる
ことが出来る。そこで、システム全体制御プログラム9
3はID28のジョブとID27の2ページ目をスキャ
ンするジョブを同時に起動する。
【0391】次にシステム全体制御プログラム93はジ
ョブテーブルJOBTチェック(タイミング810)に
移る。この時のジョブテーブルJOBTは図54に示さ
れる。ジョブテーブルJOBTチェック(タイミング8
10)の前にジョブID25のエラーが解除されている
ので、エラーチェック後ステータスはWAITに戻る。
【0392】また、ID26のジョブも、割り込んだI
D27のジョブが終了したのでステータスがWAITに
戻る。ID28のジョブはRUNの状態のままである。
システム全体制御プログラム93はインタフェースBM
EMが空いているのでID25またはID26のジョブ
を起動させる。どちらのジョブともステータスはWAI
Tで、優先順位もLEVEL2と状態は同じであるので
先に受け付けたID25のジョブを起動する。この時、
ID25のジョブは終了ページが1ページであるので2
ページ目から処理するようにPDLインタープリタープ
ログラム84に要求を出さなければならない。
【0393】ジョブテーブルJOBTチェック(タイミ
ング811)では図55に従う。ID25とID28の
ジョブはステータスがRUNでID26はWAITであ
る。ID26のジョブは優先順位がLEVEL2で、現
在起動中のジョブに対して割り込むことが出来るがID
25もLEVEL2で起動されたので、この場合には割
り込むことは出来ない。
【0394】ジョブテーブルJOBTチェック(タイミ
ング812)に移る。ジョブテーブルJOBTは図56
に示される。ID25のジョブはすでに終了してジョブ
テーブルJOBTから削除されている。そこで、システ
ム全体制御プログラム93はID26のジョブを3ペー
ジ目から起動する。
【0395】ジョブテーブルJOBTチェック(タイミ
ング813)では、図57に示すようにID28のジョ
ブが走っている状態なので、新たにシステム全体制御プ
ログラム93はジョブを起動することはしない。
【0396】以上のように、システム全体制御プログラ
ム93はジョブテーブルJOBTを参照しながら最適に
ジョブ管理を行なう。
【0397】なお、上記実施例では文字,図形,イメー
ジがホストコンピュータで編集された後、ネットッワー
クを介して通信されたプリント要求をスキャナ/プリン
タをドライブするサーバー装置上で処理して、当該プリ
ンタから出力する場合について説明したが、図58に示
すように、クライアントホストコンピュータ901,9
02,スキャナプリンタ904をドライブするSPサー
バー装置903がネットワーク905を介して接続され
るシステムにおいて、クライアントホストコンピュータ
901,902から転送された文字,図形の各情報とス
キャナプリンタ904のスキャナから入力されたイメー
ジとをSPサーバー装置903が合成編集することによ
り、合体出力させるように構成しても良い。
【0398】図58は本発明の第2の実施例を示すサー
バー装置の構成を説明するブロック図である。
【0399】図において、906は記憶装置で、SPサ
ーバー装置903内に設けられ、クライアントホストコ
ンピュータ901,902から転送された文字,図形の
各情報を蓄える。
【0400】このように構成されたサーバー装置におい
て、本体またはネットワーク上に設けた記憶手段(記憶
装置906)に画像処理装置から出力される第1の画像
情報または所定のネットワークに接続される各ホストコ
ンピュータから転送される第2の画像情報を記憶させる
ことにより、各ホストコンピュータからの画像情報出力
処理負担を軽減させるとともに、記憶した画像情報を効
率よく再利用させる。
【0401】また、記憶手段(記憶装置906)に記憶
された第1および第2の画像情報を画像合成手段が合成
しながら出力画像を生成して画像処理装置(本実施例で
はスキャナプリンタ904)に出力することにより、各
ホストコンピュータ上での画像編集負担を軽減させる。
【0402】なお、本実施例においては、クライアント
ホストコンピュータ901,902上では、例えばワー
ドプロセッサ,グラフィックソフトにより、オペレータ
が文字情報,図形情報の生成を行う。生成された文字,
図形情報等(第1の画像情報)は、ネットワーク905
を経由して、SPサーバー装置903に送られる。SP
サーバー装置903で受け取った文字,図形情報は、S
Pサーバー装置903内の記憶装置906に記憶され
る。
【0403】一方、スキャナプリンタ904でスキャン
された画像情報(第2の画像情報)も、SPサーバー装
置903内の記憶装置906に記憶される。SPサーバ
ー装置903上で動作しているページ記述言語により、
SPサーバー装置903の記憶装置906内で文字情
報,図形情報,画像情報(イメージデータ)が、図59
に示すように合成される。
【0404】図59は、図58に示したSPサーバー装
置903により合成される印刷レアウトを示す模式図で
ある。
【0405】図において、911は1ページの領域を示
し、この領域911内に、クライアントホストコンピュ
ータ901,902からネットワーク905を介して転
送された文字,図形等の転送情報912およびSPサー
バー装置903が制御するスキャナプリンタ904でス
キャンされた画像情報913がレイアウト情報に従って
割付けられる。このように合成された情報がSPサーバ
ー装置903のプリンタから出力させることも可能とな
る。
【0406】なお、上記SPサーバー装置903に制御
されるスキャナプリンタ904は、スキャナとプリンタ
とが独立した単体構成であっても良い。また、SPサー
バー装置903に別の大容量記憶装置、例えば光磁気デ
ィスク装置を接続した場合、スキャナプリンタ904の
スキャナで読み取った画像情報をその都度SPサーバー
装置903内の記憶装置906に読み込み、クライアン
トホストコンピュータ901,902から転送された文
字,図形情報とを合成して印刷するのではなく、スキャ
ン画像を上記大容量記憶装置内に順次記憶させて行くこ
とにより、画像データベースを構築することで、任意に
大容量の記憶装置内から画像を取り出し、その画像を文
字,図形情報と合成しながら印刷させることもできる。
さらに、上記大容量の記憶装置をSPサーバー装置90
3の記憶装置906と別に設ける際、当該大容量の記憶
装置とSPサーバー装置903とが直接接続されていな
くても良く、例えばネットワーク905に接続されるク
ライアントホストコンピュータ901,902に配置さ
れ、これらのクライアントホストコンピュータ901,
902がSPサーバー装置903に転送できる構成であ
れば良い。
【0407】図60は、図2に示した第1のステーショ
ンST1のプログラム構成を説明する図である。
【0408】この図において、DTPアプリケーション
1500(図2に示したアプリケーション56に対応す
る)から印刷しようとすると、OSの一部のプリントマ
ネージャー1501(プリントマネージャー)がコール
される。プリントマネージャー1501は、プリンタド
ライバ1502に対し、描画メモリ領域を確保させその
ポインタを提供させる。プリントマネージャー1501
は、そのポインタをアプリケーション1500に知らせ
て、そこにクイックドロー(Quick Draw)フォーマット
で描画させる。従って、アプリケーション1500が描
画を完了すると、そのデータはすっかりプリンタドライ
バ1502に渡されている事になる。プリンタドライバ
1502は、そのクイックドロー関数を1個1個、順番
にCaPSLコードに変換してメモリに蓄え、S/Pク
ライアント(S/P Client)1503にそれをスキャナ/
プリンタサーバー(S/Pサーバー)1602側に伝送
する様に依頼をする。S/Pクライアント1503(図
2に示した通信プログラム53に対応する)とS/Pサ
ーバー1602(図2に示した通信プログラム83に対
応する)との間は、データ転送プロトコルによって結ば
れており、プリンタドライバ1502から渡された、変
換済みのCaPSLコードをS/Pサーバー1602に
転送する。なお、1504は通信プロトコル(図2に示
したTCP/IPプログラム52に対応する)、150
5はイーサネットボード、1506は圧縮(ADCT)
制御関数、1507は圧縮ボードである。また、160
0は指定されたプリンタ、1601はCaPSLインタ
プリタ(図2に示したPDLインタープリタープログラ
ム84に対応する)、1603は通信プロトコル(TC
P/IPプログラム82)、1604はイーサネットプ
ロトコルである。
【0409】図61は、図60に示した第1のステーシ
ョンST1のOSと各ドライバとの関係を示す詳細図で
あり、図60と同一のものには同じ符号を付してある。
【0410】この図に示すように、ドライバとマッキン
トッシュで構成されるステーションST1のMacOS
の関係を示す。
【0411】図において、1508はQuickDra
w/CaPSL変換ルーチン(プログラム54)で、Q
uickDrawの描画関数をCaPSLコードに変換
する。
【0412】デバイスマネージャー,プリントマネージ
ャーをアプリケーションとしてではなく、ドライバとし
て構成する。インターフェースがMac用のOSを介し
てつながるので、スペックが標準化しやすい。また、マ
ルチファインダーとは言っても、事実上シングルタスク
のMac用のOSの場合、ドライバ化する事によって、
その部分をマルチタスク化する事ができる。UNIXマ
シンの場合には、文字どおり物理デバイスとのインター
フェースのみをドライバ化し、あとはデーモンとして簡
単にバックグラウンドで走らせる事ができる。
【0413】また、プリンタドライバ機能は、Quic
kDraw/CaPSL変換ルーチン1508(図2に
示した変換プログラム54に対応する),プリンタドラ
イバ1502に分かれ、QuickDrawの全ての描
画関数をCaPSLコード(の組み合わせ)に置き換え
る。
【0414】そして、プリンタドライバ1502がLa
serWriterがプリントマネージャー1501に
対して提供しているのと同じサービスを提供する。
【0415】具体的には、アプリケーション1500
が、PrStlDialog() やPrJobDialog()等の関数を発行し
た時に、プリントマネージャー1501から要求される
パラメーターを返したり、SPClientドライバのコマンド
を制御する。
【0416】図62は、図60に示したプリンタマネー
ジャー1501とプリンタドライバ1502との機能処
理を説明する図である。
【0417】なお、プリンタドライバ1502は、La
serWriterと同じドラフトモードで動作する。
また、プリンタドライバ1502は、プリントマネージ
ャー1501によって起動され、プリントマネージャー
1501に対しプリンタドライバインターフェースを提
供する。プリンタドライバ1502はプリントマネージ
ャーに対し以下のような関数を提供する。
【0418】Open (SPClientファイルのDR
VR 28 リソースをメモリにロックし、OpenConnを起動す
る) Close Read (原稿をスキャンする) Write (CaPSLコードを印刷する) Status (SPサーバーの状態をチェックす
る) Control (SPサーバーを制御する) KillIO また、プリンタドライバ1502の基本はドライバであ
るが、[Chooser Document]の形で提供し、Laser
WriterやImageWriterとともに、Choo
ser DAから選択可能にする。また、プリンタドライバ1
502は、SPクラアント1503を介してプロトコル
(MacTCP)1504の通信機能を利用する。SPクラア
ント1503は、プリンタドライバ1502に対し標準
のドライバ形式のインターフェースを提供する。
【0419】なお、SPクラアント1503のドライバ
は、初期化処理(INIT-31 )のメカニズムによって電源
の立ち上げ時に自動的に自分自身をSystemにインストー
ルする。ドライバのメモリー占有サイズが大きくなる時
は、大部分のコードはコードリソースの形で持ち、オー
プンされた時にリソースをSystemヒープにロードする。
その場合、Close 時にメモリーを解放する。またSP Cli
ent は[コントロールパネル ドキュメント]のリソー
スも有し、コントロールパネルから、IPアドレス等の各
種パラメーターを設定できる。そのため少なくとも次の
cdevリソースを持っている。
【0420】DITL ID = -4064 mach ID = -4064 nrct ID = -4064 ICN# ID = -4064 BNDL ID = -4064 FREF ID = -4064 cdev ID = -4064 また、標準ドライバインターフェースの無いSPクラア
ント1503のサービスは、Control ルーチンが提供す
る。Control コールのパラメーターブロックの持つ csC
ode を所定の値に設定する事によって、次の様な各種の
コマンドが利用できる。以下、SPクラアント1503
とSPサーバー1602とのプロトコロルについて説明
する。
【0421】SPクラアント1503は、直接的にはTC
P プロトコル1504に全てのコマンドとデータを書き
込むが、概念上はLAN96を介して接続されたSPサ
ーバー1602のレイヤーと交信している様に振舞う。
従って、ここにEnd-to-Endのプロトコルが必要になる。
サーバーとクライアントは、互いにパケットをやり取り
する事によって、上位レイヤーに通信サービスを提供す
る。パケットは[サーバー/クライアント パケット]
と[ドキュメント制御パケット]に分かれる。これは丁
度、OSI のセッションレイヤーとドキュメントレイヤー
の関係ににている。違いは、OSI の様に明確に2つのレ
ーヤーに分けるのではなく、ひとつのレイヤーの中で、
パケットの使い方を整理したという点が異なる。
【0422】なお、MacTCPのアプリ側のインターフェー
スはTCP とUDP が用意されており、プリンタドライバは
TCP プロトコルを使う。MacTCPはデバイスドライバであ
る。また、本実施例において、ADCTは、Adaptive Discr
ete Cosine Transformの略で、JPEGという中間調画像の
圧縮技術の核をなすものである。JPEGは、Joint Photog
raphic Expert Group の略で、CCITT の下部組織(スタ
ディグループ)である。この組織が発行する中間調画像
の圧縮技術を、JPEG方式と言う。
【0423】以下に、図2に示したステーションST2
(IBM社製のパーソナルコンピュータ)をクライアン
トホストとした場合とSPサーバー1602とのデータ
通信処理状態について説明する。
【0424】先ず、Windows 環境に於けるネットワーク
プログラムの特徴について説明する。
【0425】アプリケーションプログラムが印刷しよう
とする時、従来のOS(MS-DOS)環境ではアプリケーシ
ョン自身が各社のプリンタに固有の制御コードを出力し
ていた。それが、Windows3.0(商品名)では、アプリケ
ーションとプリンタドライバがGDIで分離、標準化さ
れたために、アプリケーションの負荷は随分楽になっ
た。プリンタに固有の制御はプリンタドライバに閉じ込
めた。このため、プリンタメーカーが提供するプリンタ
ドライバをホストコンピュータ内にインストールすれ
ば、どんなアプリからでも印刷が可能になった。
【0426】また、Windows3.0では、プリンタのポート
として、RS-232C やセントロニクスだけでなく、ネット
ワークも標準でサポートしている。
【0427】ネットワークプリンタのプロトコルは、図
63に示すように構成されている。
【0428】図63は、図2に示した第2のステーショ
ンST2におけるネットワークプリンタのプロトコルを
説明する図である。
【0429】図において、アプリケーション1560
(図2に示したアプリケーションプログラム66に対応
する)は自分自身が管理するメモリエリアではなく、上
記ステーションST1(Macintosh )と同様にGDIモ
ジュールに対して描画する。GDIモジュールはGDI
関数のメタファイル1562を作ってプリンタドライバ
1563に制御を渡す。プリンタドライバ1563は、
1個1個のGDI関数をCaPSLコードに変換して、
一時ファイル1565を作り、プリントマネージャー1
566に制御を渡す。プリントマネージャー1566
(図2に示したプリンタマネージャー65に対応する)
は、通常は一時ファイル1565をシリアルポートから
ローカルプリンタに出力するが、本実施例においては、
SPクライアント1569(図2に示した通信プログラ
ム63に対応する)を介して、指定されたネットワーク
プリンタ(カラーSPサーバー)に伝送する。
【0430】ここでは、SPクライアント1569、L
ANマネージャー1568と同じレベルのネットワーク
ドライバとして機能する。1572はプロトコル(TC
P/IPプログラム62)、1573はイーサネットプ
ロトコル、1574はイーサネットボード、1610は
SPサーバー上のインタプリタ(図2に示したPDLイ
ンタープリタープログラム84に対応する)、1611
はイーサネットボード、1612はイーサネットプロト
コル、1613はプロトコル(図2に示したTCP/I
Pプログラム82に対応する)、1617はNetBIOS 用
のポート、1614はSocket用のポート、1615はS
Pサーバー(図2に示した通信プログラム83に対応す
る)である。
【0431】また、Windows 準拠のアプリケーション1
560は、GDIモジュール(描画の関数群)1561
をコールしながら1ページの文章や絵を書いて行く。こ
れを受けてGDIモジュール1561は、GDIのメタ
ファイル1562に変換してファイルにセーブする。ペ
ージの終りで、GDIプリンタドライバをロードし、起
動し、メタファイル(MF)1562のファイル名をドライ
バに引き渡す。プリンタドライバ1563では、プリン
タに固有の処理を行う。例えば、メタファイル−CaP
SLコード(MF−CaPSL)変換を行う。その結
果、CaPSLファイルがセーブされる。プリンタドラ
イバ1563は再び、GDIモジュール1564に対し
て印刷の実行を指示する。それを受けて、GDIモジュ
ール1564は以下(1)〜(3)のいずれかの処理を
する。
【0432】(1)PrintManager(スプーラ)を起動
し、その後の制御を任せ、プリンタドライバに対して印
刷(スプール)の完了を返す。
【0433】(2)PrintManagerを起動せず、直接ロー
カルプリンタかネットワークプリンタにCaPSLファ
イルを転送する。(その間アプリケーションは作業を中
断) (3)仮想プリンタ(ファイル)に印刷する。
【0434】このように構成された第1のサーバー装置
において、プリンタドライバ1563が各ホスト特有の
プリンタインタフェース(本実施例ではプリンタインタ
フェースGDI)に基づいて変換した印刷画像情報をサ
ーバー装置に接続される画像処理装置(スキャナプリン
タ)のプリント言語(本実施例ではCaPSL)に基づ
く画像出力情報に変換すると、このプリントドライバ1
563の下位レイヤとしてのSPクラアント1569と
SPサーバー1615とがネットワーク96を介して画
像処理装置のプリント言語に基づく画像出力情報を通信
転送させることにより、各ホストコンピュータ特有のプ
リンタインタフェースに基づいて変換した印刷画像情報
を、サーバー装置に接続されるいかなる言語仕様に基づ
く画像処理装置でも市販のアプリケーションプログラム
から印刷処理を高速に可能とする。なお、本実施例では
クライアント通信制御手段はSPクラアント1569に
対応し、サーバー通信制御手段はSPサーバー1615
に対応する。
【0435】なお、ネットワークプリンタに印刷する時
は、PrintManagerを使わない方が良い場合がある。
【0436】また、本実施例ではTCP/IPのサービスを利
用するためのポートとして、NetBIOS 用のポート157
1,Socket用のポート1570が用意されている。ネッ
トワークサービスプロトコル(NFS,FTP,LAN
Manager,クライアント/サーバープロトコル
等)は、これらのポート1571,1570の上に構築
される。なお、UNIXマシンにおいては、UNIXの
4.3BSDと互換性を持って通信するために、Socket
用のポート1570を使用する。
【0437】一方、マイクロソフト社製のネットワーク
サービスプロトコル(LANManager)を使用する場合は、
マイクロソフト社が開発したNetBIOS 用のポート157
1使用する。これは、Socketとは互換性が無いので、UN
IXの側にLANManaher/Xと言うプロトコルを載せる必要が
あるためである。
【0438】図64は、図2に示した第2のステーショ
ンST2による印刷プロセスの一例を示すシーケンス図
である。なお、標準のWindowsドライバは、DLL
として書かれている。
【0439】図65は、図63に示したSPクラアント
1569のプログラムの構造を示す図であり、GDIイ
ンタフェース1569A,SPクラアントプログラム1
569B,Socketコールルーチン1569C,初期設定
ダイヤログ1569D等から構成される。
【0440】なお、SPクラアント1569のプロトコ
ル1572は、Windows 3.0 においては、ネットワーク
プリンタドライバとして機能し、そのプロトコルの特徴
は、TCP/IPを用いた事によって、必然的に、クライアン
ト/サーバー型のプロトコルになることであり、Point-
to-Pointの通信を行うことを意味する。
【0441】一方、NetWareやLANManag
erは、ネットワーク分散型のプロトコル、例えばLANM
anagerの場合、ファイル名のハンドルを、ネットワーク
側からもらって、そこにデータを書き込むので、ローカ
ルにスプールファイルを作る必要が無い。これに対し
て、本実施例に示すSPクラアント1569のプロトコ
ル1572では、TCP/IPがネットワークOSをサポート
していないため、クライアント自身がファイル名のハン
ドルを返し、その結果、ローカルなスプールファイルが
下記のように作られる。
【0442】マクロのシーケンスは、例えば以下の通
り: <Windows> <Client> <Server> NetOpenJob()−−−−−−−−−−> <−−−−−−−−−− ファイル名のハンドル NetCloseJob() −−−−−−−−−> 送信開始−−−−−−−− −−−−> 以下、図66を参照しながら、図2に示したステーショ
ンST2(IBM−PC/AT)と指定されたSPサー
バーSP1との通信制御動作について説明する。
【0443】図66は、図2に示した第2のステーショ
ンST2とSPサーバーとのネットワーク接続状態を説
明する図である。
【0444】図において、1620はアプリケーション
(図2に示したアプリケーションプログラム66に対応
する)、1621はGDI、1622はCaPSL−I
Vプリンタドライバ、1623はS/Pクライアント
(図2に示した通信プログラム63に対応する)、16
24はプロトコル(図2に示したTCP/IPプログラ
ム62に対応する)、1625はイーサネットボード
で、LAN96を介して指定されたSPサーバー装置と
通信し、ネットワークプリンタとして機能する指定され
たプリンタ1630での印刷ジョブを要求する。163
1がビットマップ画像で、プリンタ1630に出力され
る。1632はCaPSLラスタイメージプロセッサ
(図2に示したPDLインタープリタープログラム84
に対応する)で、イーサネットプロトコル1635,プ
ロトコル1634(図2に示したTCP/IPプログラ
ム82に対応する),SPサーバー1633(図2に示
した通信プログラム83に対応する)を介してCaPS
Lコードをラスタイメージに変換する。
【0445】この図に示すように第2のステーションS
T2には、CaPSL−IVプリンタドライバ162
2,SPクラアント1623がインストールされてお
り、SPサーバー側にはSPサーバー1633がインス
トールされている。
【0446】プリンタドライバ1622は、IBM-PC/AT
のアプリケーションからTCP/IPプロトコル1624を介
してネットーワーク96上のスキャナープリンタサーバ
ー(SPサーバー)に印刷する為の、スキャナープリン
タドライバとして機能する。具体的には、下記(1),
(2)の処理を行う。
【0447】(1)プリント時にGDI描画サブルーチ
ンがコールされた時、プリンタドライバ1622がそれ
と等価なCaPSLコードを生成する。
【0448】(2)生成したCaPSLコードを、SP
クラアント1623がドライバを通じてSPサーバー1
633に伝送する。SPクラアント1623は、SPサ
ーバー1633に接続されているプリンタ1630にC
aPSLコードを伝送するための通信制御プログラムで
あり、TCP/IPプロトコル1624,ネットーワーク96
を介して通信する。SPクラアント1623の基本機能
は以下の通りである。
【0449】(1)TCP/IPプロトコル1624を介して
SPサーバー1633とEnd-to-Endのリンクを張る。
【0450】(2)CaPSL-IVプリンタドライバ1622
から受け取ったCaPSLデータを、SPサーバー16
33に送る。
【0451】(3)アプリケーションプログラム68を
用いてSPサーバー1633に原稿のスキャンをさせる
場合、それを受信し、スキャナアプリケーションプログ
ラム68に送り返す。なお、SPサーバー1633は、
SPサーバー装置上でデーモンとして常に走っており、
クライアントからの受信を待っている。SP サーバー
1633の基本機能は以下の通りである。
【0452】(1)SPクラアント1623から受け取
ったCaPSLデータを、CaPSLインタープリタ
(図2に示したPDLインタープリタープログラム84
に対応する)に渡す。
【0453】(2)原稿スキャンプログラムを起動し、
受け取ったデータをSPクラアント1623に送る。
【0454】以下、図65に示した初期設定ダイアログ
1503Dの構成および作成方法について説明する。
【0455】一般のアプリケーションプログラムは、印
刷に関して余り多くのパラメータを制御していない。特
に、アプリケーションプログラムがWINDOWSのG
DIインタフェースに伝えるパラメータは、下記の通り
である。
【0456】(1)GDIで描画する時のページバッフ
ァメモリ領域に関するパラメータ (2)描画データに対応したGDI関数に関するパラメ
ータ (3)印刷開始コマンドに関するパラメータ この結果、もし、GDI−CaPSL変換ドライバ(変
換プログラム64)が選択されている場合、CaPSL
のメタファイル1562が作成される。これを受けて、
WINDOWSのプリントマネージャーがプリントドラ
イバに対してダイアログボックスを開く用に要求し、オ
ペレータに対して、以下のようなパラメータ(1)〜
(3)を入力する用に催促する。
【0457】(1)ページ毎の印刷枚数(デフォルト値
は1枚) (2)印刷するページ数(デフォルト値は全ページ) (3)印刷順序(デフォルト値は逆順(印刷順序が最終
ページから先頭ページ)) そして、WINDOWSのプリントマネージャー156
6は、SPクライアント1569に対して、CaPSL
コードのメタファイル1562を指定されたローカルS
Pプリンタに伝達するように要求する。これを受けて、
SPクライアント1569は、ローカルプリンタにCa
PSLコードを送る代わりに、ネットワーク(LAN9
6)を介してS/Pサーバー1615にCaPSLコー
ドを送信する。
【0458】なお、印刷に必要なパラメータの入力方法
は、プリンタドライバに依存するが、印刷時にその都度
セットするのは煩わしいパラメータは、WINDOWS
の「印刷」メニューとは別に、「用紙設定」のメニュー
から随時設定できるように構成されている場合が多い。
この用紙設定メニューで入力するパラメータとしては、
用紙サイズ(A4/A3),紙送り方向(ポートレート
/ランドスケープ)等であり、プリンタがローカルプリ
ンタであれば、これらのパラメータで十分であるが、ネ
ットワークプリンタに出力する場合には、SPクライア
ント1569としては、さらに、SPサーバーのIPア
ドレス,ホストコンピュータ名,プリンタの種類(カラ
ーレーザ複写装置,バブルジェット(BJ)カラー複写
装置の選択)が必要となる。
【0459】そこで、本実施例における初期設定ダイア
ログ1569Dでは、下記のパラメータ設定を要求す
る。
【0460】(1)SPサーバのIPアドレス(例えば
192.9.200.101) (2)クラス (B) (3)サブネットマスク (255.255.2
55.0) (4)デフォルトプリンタの種類(CLC/BJ) (5)通信プロトコル (TCP/IP) これらのパラメータは、設定後、特定のファイルにセー
ブされなければならない。また、SPクライアントは、
起動時にこのファイルを参照し、必要なパラメータをセ
ットする。なお、初期設定ダイアログ1569Dには、
WINDOWSの様式に従い、「OK」(設定終了,フ
ァイル更新状態を指示する)ボタン,「Cancel」
(設定値は前の状態に戻し、ファイルは更新しない状態
を指示する)ボタン,「Option」(2枚目のダイ
ヤログを開く必要がある状態を指示する)ボタンを備え
ている。
【0461】以下、図67を参照しながら、図2に示し
た第2のステーションST2上のWINDOWSと各ド
ライバとの関係について説明する。
【0462】図67は、図2に示した第2のステーショ
ンST2上のウインドウズと各ドライバとの関係を説明
する図である。
【0463】この図において、DTPアプリケーション
1640(図2に示したアプリケーションプログラム6
6に対応する)から印刷しようとすると、プリントマネ
ージャー(Printing Manager)1645(図2に示した
プリントマネージャー65に対応する)がコールされ
る。プリントマネージャー1645は、プリンタドライ
バ1643に対し、描画メモリ領域を確保させそのポイ
ンタを提供させる。プリントマネージャー1645は、
そのポインタをアプリケーション1640に知らせて、
そこにGDIフォーマットで描画させる。従って、アプ
リケーション1640が描画を完了すると、そのデータ
はすっかりプリンタドライバ1643に渡されている事
になる。プリンタドライバ1643は、そのGDI関数
を1個1個、順番にCaPSLコードに変換してメモリ
に蓄え、S/Pクライアント(S/PClient)1646
(図2に示した通信プログラム63に対応する)にそれ
をS/Pサーバー1602(図2に示した通信プログラ
ム83に対応する)側に伝送する様に依頼をする。S/
Pクライアント1646(図2に示した通信プログラム
63に対応する)とS/Pサーバー1602との間は、
データ転送プロトコルによって結ばれており、プリンタ
ドライバ1643から渡された、変換済みのCaPSL
コードをS/Pサーバー1602に転送する。
【0464】なお、1650は通信プロトコル(図2に
示したTCP/IPプログラム62に対応する)、16
47は圧縮(ADCT)制御関数、1648は圧縮ボー
ドである。1642はGDI−CaPSL変換ルーチン
(図2に示した変換プログラム64に対応する)で、ア
プリケーションの出力GDIコールのすべての描画関数
をCaPSLコードに置き換える。なお、ここで、使用
するCaPSLは、CaPSL−IVをADCT拡張し
たものである。
【0465】この図において、プリンタドライバ164
3は、GDI−CaPSL変換ルーチン1642の部分
で変換されたデータの授受に関する制御行う。具体的に
は、アプリケーションプログラムがEscape(ST
ARTDOC)やEscape(ENDDOC)等の関
数を発行した時に、プリントマネージャー1652から
要求されるパラメータを返したり、SPクライアント1
646のドライバのコマンドを制御する。プリンタドラ
イバ1643は、ドラフトモード(Spoolなし)で
動作する。プリンタドライバ1643は、GDI164
1によって起動され、プリントマネージャー1652に
必要なコマンドを発行する。プリンタドライバ1643
は、後述する図68に示すGDIモジュール1644に
処理結果を通知する。
【0466】図68は、図2に示した第2のステーショ
ンST2上とSPサーバーとの各ドライバとの関係を説
明する図であり、図67と同一のものには同じ符号を付
してある。
【0467】この図において、SPクライアント164
7のドライバはプリントマネージャー1652から要求
される各種のハレベルデバイスマネージャールーチン
(DriverOpen,DriverClose,C
ontrol,FSRead,FSWrite,Sta
tus,KillIO)を提供する。
【0468】以下、図69,図70を参照しながら各ホ
ストコンピュータのプリンタインタフェースにより変換
された画像情報のSPサーバーへの通信処理について説
明する。
【0469】図69は本発明に係る各ホストコンピュー
タのネットワークプリンタ処理プロセスを説明する概念
図である。
【0470】この図に示すように、ホストコンピュータ
HOSTAは、ポストスクリプト対応のアプリケーショ
ン5000からプリドライバ5002を介してネットワ
ーク5003上のポストスクリプト対応のプリンタ50
04に印刷する場合に対応し、アプリケーションからプ
リンタ5004までがすべてポストスクリプトで統一さ
れている。この場合、アプリケーション5000とプリ
ドライバ5002とがOS5001を介在してプリント
データが処理されないため、ポストスクリプト対応のプ
リンタ以外はネットワーク5003に接続することがで
きない。
【0471】一方、ホストコンピュータHOSTBは、
クイックドロー対応のアプリケーション5010からO
S5001,プリンタドライバ5011を介してネット
ワーク5003上のポストスクリプト対応のプリンタ5
012に印刷する場合に対応し、特にポストスクリプト
のエミュレーション機能(プリンタ5012内にエミュ
レータを設ける)を用いてポストスクリプト対応のプリ
ンタ5012がクイックドロータイプのプリンタデータ
を処理する場合に対応する。
【0472】一方、ホストコンピュータHOSTCは、
クイックドロー対応のアプリケーション5020からO
S5001を介して、プリンタドライバ5021上でク
イックドローを特定のプリンタの言語に変換して、ネッ
トワーク5003上のSPサーバー5022を介してS
Pサーバー5022がドライブする特定のプリンタ50
23(本実施例ではスキャナプリンタとして、カラーレ
ーザ複写装置(CLC),バブルジェットカラー複写装
置(BJC)を採用している)に特定のプリンタ言語に
従うプリントデータを処理させる場合に対応する。な
お、プリンタ言語としては、CaPSL(商品名),L
IPS(商品名),PCL(商品名)等がある。これに
より、各プリンタ言語に対応させてプリンタドライバ5
021を構成すれば、どのようなプリンタであってもネ
ットワークプリンタとしてシステムを構築させることが
でき、プリンタ選択の余地が大幅に広がる。すなわち、
印刷目的に応じたプリンタ選択が可能となり、カラー印
刷の別,プリンタ処理速度,印刷コストに対応した最適
なプリンタをネットワークプリンタとして機能させるこ
とができる。
【0473】図70は本発明に係るサーバー装置のSP
サーバと各ホストコンピュータのSPクライアントとの
交信プロセスを説明する概念図であり、図68と同一の
ものには同じ符号を付してある。
【0474】例えば図68に示すSPクライアント16
47は直接的にはTCPプロトコル1650Bにすべて
のコマンドとデータを書込むが、概念上は、ネットワー
ク96を介して接続されたSPサーバー1602と交信
しているように処理を行う。従って、End−to−E
ndのプロトコル(クラアントプロトコル2001−サ
ーバープロトコル2004)が必要になる。この際、S
Pクライアント1647とSPサーバー1602とは、
互いにパケットをやり取りすることにより、上位レイヤ
に通信サービスを提供する。なお、パケットは、サーバ
ー/クライアントパケット,ドキュメント制御パケット
に分かれている。
【0475】特に、SPクライアント通信プログラム
は、ドライバインタフェース2002,クライアントプ
ロトコル本体2001,TCP/IPインタフェース2
003に分かれ、TCP/IPプロトコル1650とT
CP/IPプロトコル1603とは厳密に標準に合致す
る必要があるが、TCP/IPインタフェース2003
の部分は各ホストマシン(IBMホスト,Macホス
ト,SUNホスト,NeXTホスト)により異なる。
【0476】本実施例ではプリンタドライバの下位レイ
ヤとしてクラアントプロトコル2001とサーバープロ
トコル2004とをネットワーク96を介して接続して
SPサーバー装置に、例えばCaPSLに変換された画
像情報を伝送して接続されるスキャナプリンタとしての
カラーレーザ複写装置(CLC),バブルジェットカラ
ー複写装置(BJC)より印刷させている。
【0477】図71は本発明に係るサーバー装置による
パケット処理手順の一例を示す図である。
【0478】この図において、2500,2600,2
700は独立したプログラムの処理単位(タスクC〜
A)で、例えばレイヤ毎に分割された通信プログラムの
レイヤ毎のパケット処理ルーチンに対応する。なお、本
実施例においては、各レイヤを従来のレイヤ概念と識別
するためレベルと呼ぶ。また、説明上レベルが3つとす
るが、これ以上であっても同様である。
【0479】この図に示されるように、プログラムの処
理単位2700で示すタスクAがレベル3(LVEL−
3)に、プログラムの処理単位2600で示すタスクB
がレベル(2LVEL−2)に、プログラムの処理単位
2500で示すタスクCがレベル1(LVEL−1)に
対応する。
【0480】特に、レベル1は、イーサネットを介して
外部インタフェース2900と直接データをやりとりす
るためのプロトコルで、主にネットワークにまつわる仕
事のやり取りを行う。レベル2は、中間レベルのプロト
コルで、主に端末とネットワークとの間で信頼性のある
データのやり取りを行う。レベル3は、上位レベルのプ
ロトコルで、ネットワークを介してEnd−to−En
dで信頼性のある通信路を確保する。なお、実際のアプ
リケーションはレベル3の上に構築されるものとする。
【0481】このように本発明に係る第5のサーバー装
置の通信処理方法によれば、低位の通信プログラムから
高位の通信プログラムを連続的に実行してバッファメモ
リに画像情報を記憶させる際に、低位の通信プログラム
から上位の通信プログラムに画像情報に対するバッファ
メモリへの展開アドレスを催促し、該催促に従って高位
の通信プログラムから低位の通信プログラムに伝達され
る展開開始アドレスに基づいて低位の通信プログラムに
よりバッファメモリに画像情報を展開させるので、低位
の通信プログラムから高位の通信プログラムを連続的に
実行してバッファメモリに画像情報を転送して記憶させ
る際の各通信プログラム間のオーバヘッドを抑えること
が可能となる。
【0482】具体的には、先ず、タスクC(レベル1)
が外部インタフェース2900からデータを受信使用と
する時、タスクCは実際の受信バッファを確保するとこ
なく、その代わりにタスクB(レベル2)に対して実メ
モリのポインタ(アドレス)を要求する。タスクCはタ
スクBから受け取ったポインタを開始アドレスとする所
定メモリエリア(仮想メモリ)に対して受信データを書
込む。タスクBがタスクCに引き渡すポインタ2602
は、タスクBが実際に持つメモリのポインタでなくとも
良い。本実施例では、タスクAのみが実メモリ2701
を確保し、タスクBとタスクCは実メモリ2701への
ポインタ2702,2602をを知るのみである。この
ように、タスクBはタスクAから受け取ったポインタ2
702をポインタ2602として引き渡している。この
場合、タスクCが受信したデータ2800は直接タスク
Aの実メモリ2701に書込まれる。タスクB,Cも、
そのデータの中身を直接参照することができる。このよ
うに構成することにより、1回のデータ受信に関して内
部でのデータのリード/ライトは1回で済み、最小のデ
ータ伝送回数で処理できる。この結果、タスク毎に受信
バッファメモリを設ける場合に比べて、格段に処理速度
(パケット通信処理速度)が向上する。なお、本実施例
では高速化の障害となるような層構造を持たず、レベル
というプログラム処理単位でパケット通信処理を実行す
る。また、詳細は省略するが、パケットは各レベル1〜
3に共通のヘッダ、例えばprotocol,chan
nel,packet type,packet i
d,modifier,pk size[2]の8バイ
トを備える8バイト構成となって定義されている。この
うち、3つのレベルを分離するのは、「packet
type」の上位4ビットだけで行っており、その他の
要素はすべのレベルで共通に使用される。各レベルは、
自分のレベル宛に送られたパケットのみを処理する。た
だし、他のレベルのパケットは、呼ぶことは自由である
が、書込むことは禁止される。
【0483】これに対して、従来もしくは通常のプロト
コルでは、上位レイヤのパケットのすべては、下位レイ
ヤのデータパケットによって伝送されるが、例えばレベ
ル1のパケットは、レベル1〜レベル3の各ヘッダを持
つ必要があり、伝送効率が低下するばかりでなく、ヘッ
ダの解析ルーチンを持つ必要も生じ、メモリ資源の無駄
と処理時間の無駄が発生する。従って、本実施例によう
に、「packettype」が自分より上位のタイプ
であれば、すべて上位レベルに伝えることにより、各レ
ベルでのヘッダ解析処理負担を軽減することができる。
なお、上記実施例ではデータの受信処理を例にして説明
したが、送信の場合にも同様に本発明を適用できること
は言うまでもない。
【0484】以下、図72に示すフローチャートを参照
しながら本発明に係るサーバー装置に接続されるプリン
タにおけるカラー/白黒印刷制御動作について説明す
る。
【0485】図72は本発明に係るサーバー装置に接続
されるプリンタにおけるカラー/白黒印刷制御手順の一
例を示すフローチャートであり、図2に示すシステム全
体制御プログラム93によって実行される。なお、(1)
〜(11)は各ステップを示す。
【0486】先ず、ステップ(1) において、通信プログ
ラム83を介して入力された画像情報からアプリケーシ
ョンプログラムの種別がカラー/白黒のいずれかを判定
し(1) 、カラーアプリケーションプログラムである場合
には、ステップ(2) において、カラーアプリケーション
プログラムにおいて、印刷指定がカラー印刷かそれとも
白黒印刷かを判定し(2) 、カラー印刷の場合には、ステ
ップ(3) において、プリンタがカラープリンタかそれと
も白黒プリンタかを判別し(3) 、カラープリンタ(例え
ばカラーレーザ複写装置(CLC))である場合には、
ステップ(6) において、カラーアプリケーションプログ
ラムによるカラー印刷情報をカラープリンタでカラー印
刷するようにプリンタを制御する。
【0487】一方、ステップ(3) の判定で白黒プリンタ
であると判定された場合は、ステップ(7) において、カ
ラーアプリケーションプログラムによるカラー印刷情報
を白黒プリンタで白黒印刷するようにプリンタを制御す
る。
【0488】一方、ステップ(2) の判定で白黒情報であ
ると判定された場合は、プリンタがカラープリンタ指定
かそれとも白黒プリンタ指定かを判別し(4) 、カラープ
リンタ(例えばカラーレーザ複写装置(CLC))であ
る場合には、ステップ(8) において、カラーアプリケー
ションプログラムによる白黒印刷情報をカラープリンタ
で白黒印刷するようにプリンタを制御する。
【0489】一方、ステップ(4) の判定で白黒プリンタ
であると判定された場合は、ステップ(9) において、カ
ラーアプリケーションプログラムによる白黒印刷情報を
白黒プリンタで白黒印刷するようにプリンタを制御す
る。
【0490】一方、(1) の判定で白黒アプリケーション
プログラムである場合は、プリンタがカラープリンタ指
定かそれとも白黒プリンタ指定かを判別し(5) 、カラー
プリンタ(例えばカラーレーザ複写装置(CLC))で
ある場合には、ステップ(10)において、白黒アプリケー
ションプログラムによる白黒印刷情報をカラープリンタ
で白黒印刷するようにプリンタを制御する。
【0491】一方、ステップ(5) の判定で白黒プリンタ
であると判定された場合は、ステップ(11)において、白
黒アプリケーションプログラムによる白黒印刷情報を白
黒プリンタで白黒印刷するようにプリンタを制御する。
【0492】このように、最終的に白黒プリントが行わ
れる場合には、カラーアプリケーションプログラムによ
る印刷設定がカラーでプリンタが白黒プリンタ指定の
時,カラーアプリケーションプログラムにより印刷設定
が白黒で、プリンタがカラープリンタの時,カラーアプ
リケーションプログラムによる印刷設定が白黒で、プリ
ンタが白黒プリンタの時,白黒アプリによりプリンタが
カラープリンタの時,白黒アプリによりプリンタが白黒
プリンタの時である。
【0493】上記分類の中で、正常なプリントはカラー
アプリケーションプログラムによる印刷設定が白黒で、
プリンタが白黒プリンタの時,白黒アプリケーションプ
ログラムによりプリンタが白黒プリンタの時であり、そ
の他の場合は、アプリケーションプログラムの印刷設定
と、SPサーバのプリンタハードウェアにおいて、カラ
ー,白黒設定が整合していないため例外処理として処理
する。
【0494】なお、ネットワークプリンタとして接続可
能なプリンタの種類は、カラープリンタとして、上記カ
ラーレーザ複写装置(CLC),BJカラー複写装置
(BJC),市販カラープリンタであり、白黒プリンタ
としては、市販のページプリンタ,市販ラインプリンタ
等である。
【0495】以下、図73を参照しながら本発明に係る
サーバー装置における印刷ジョブの流れについて説明す
る。
【0496】図73は本発明に係るサーバー装置に接続
される各入出力機器のおける印刷ジョブの流れを説明す
る図である。
【0497】この図に示すように、ホストマシンのオペ
レータがアプリケーションプログラムにデータ入力を行
い、さらにホストコンピュータ上でプリンタ指定を行っ
て、プリント出力の指示等を行うと、アプリケーション
プログラムはPDL変換ソフト3001(例えば変換プ
ログラム54)に出力データ,プリンタ指定情報等を渡
す。これを受けて、PDL変換ソフト3001は、アプ
リケーションプログラムから受け取ったデータに対し
て、プリンタ指定情報等に基づきPDL変換を行い、P
DL変換したデータをSPサーバとのSPクライアント
ソフト3002(例えば通信プログラム53)に渡す。
これを受けて、SPクライアントソフト3002は、S
Pサーバーのサーバソフト3003(通信プログラム8
3)とネットワーク(図示しないイーサネット等)を介
して通信を行い、PDL変換されたデータをSPサーバ
ーソフト3003に送る。これを受けて、SPサーバー
ソフト3003は、SPクライアントソフト3002か
らデータを受取り、全体制御ソフト3004(システム
全体制御プログラム93)にデータが送られてきたこと
を伝える。これを受けて、全体制御ソフト3004は、
送られてきたデータと、SPサーバーの状態に基づき、
例えばPDLインタープリタープログラム84等のプリ
ント処理ソフト3005にデータの処理を依頼する。こ
れを受けて、プリント処理ソフト3005は依頼された
データを画像入力装置制御ソフト3007(デバイスド
ライバ86)が受け入れられる形に処理を行い、バンド
メモリ3006に結果を保存する。プリント処理ソフト
3005の処理が終了すると、終了を全体制御ソフト3
004に伝える。全体制御ソフト3004は、画像入力
装置制御ソフト3007にプリント出力を依頼する。こ
れを受けて、画像入出力装置制御ソフト3007は、バ
ンドメモリ3006からデータを読み取り、画像入出力
装置インターフェース3008にデータを送る。これを
受けて画像入出力装置インターフェース3008は、画
像入出力装置制御ソフト3007から送られてきたデー
タをスキャナプリンタ、例えば指定されたS/Pサーバ
装置に接続されるカラーレーザ複写装置のプリンタ部に
出力する。以上の処理により、ネットワーク上のホスト
コンピュータのアプリケーションプログラム(ネットワ
ーク上のプリンタのページ記述言語と異なるページ記述
言語のアプリケーションプログラム)からネットワーク
上の指定したプリンタに所望のデータをプリントアウト
することができる。
【0498】なお、白黒プリントが行なわれる場合、最
終的に白黒で出力されるわけであるが、アプリケーショ
ンプログラムの設定、SPサーバーの設定等の違いをど
の処理で認識し、吸収するかということが問題になる
が、本実施例ではプリントアウトする全体の処理流れの
中で、上記カラー/白黒印刷処理の設定を吸収できる箇
所として、ホスト側のアプリケーションプログラムから
の出力データを処理するPDL変換ソフト3001,S
Pサーバのプリント処理ソフト3005,SPサーバの
画像入出力装置制御ソフト3007で実行可能である。
【0499】上述したように、白黒/カラー印刷処理で
の白黒印刷は、カラーアプリケーションプログラムに
よる印刷設定がカラーでプリンタが白黒プリンタの時,
カラーアプリケーションプログラムにより印刷設定が
白黒で、プリンタがカラープリンタの時,カラーアプ
リケーションプログラムによる印刷設定が白黒で、プリ
ンタが白黒プリンタの時,白黒アプリケーションプロ
グラムによりプリンタがカラープリンタの時,白黒ア
プリケーションプログラムによりプリンタが白黒プリン
タの時であるので、場合に分けて説明する。
【0500】先ず、カラーアプリケーションプログラ
ムによる印刷設定がカラーでプリンタが白黒プリンタの
時は、オペレータのホストコンピュータ上のダイアログ
に表示する警告例は「カラー印刷設定ですが、指定した
プリンタは白黒プリンタです。このプリンタで印刷しま
すか?」となる。この場合、アプリケーションプログラ
ムからのデータはカラーデータとなる。プリンタが白黒
のため、カラー/白黒変換を行う必要がある。カラー/
白黒の吸収はPDL変換ソフト3001,プリント処理
ソフト3005で行うことが可能である。なお、画像入
出力装置制御ソフト部3007では白黒プリンタのつく
りのため、通常はカラー/白黒変換は出来ないが、白黒
プリンタ用でも、カラー入力可能な場合は別である。
【0501】そこで、PDL変換ソフト3001で吸収
する場合は、PDL変換ソフト3001は白黒プリンタ
指定を認識し、PDL変換を行なう際にカラーデータを
白黒データに変換する。
【0502】また、プリント処理ソフト3005で吸収
する場合は、カラーデータが送られてくると、全体制御
ソフト3004の指示により、バンドメモリ3006に
白黒展開をおこなう。
【0503】さらに、画像入出力装置制御ソフト300
7で吸収する場合は、自分自身は、白黒プリンタのソフ
トであるから、全体制御ソフト3004から、バンドメ
モリ3006にはカラーデータがあることを伝えられな
ければならない。そして、画像入出力装置インタフェー
ス3008にデータ転送を行うときに、カラーデータを
白黒に変換する。
【0504】一方、カラーアプリケーションプログラ
ムにより印刷設定が白黒で、プリンタがカラープリンタ
の時は、オペレータのホストコンピュータ上のダイアロ
グに表示する警告例は「白黒印刷設定ですが、指定した
プリンタはカラープリンタです。このプリンタで印刷し
ますか?」等となる。この場合、アプリケーションプロ
グラムからのデータは白黒データとなる。プリンタがカ
ラーのため、白黒/カラー変換を行う必要がある。白黒
/カラーの吸収はPDL変換ソフト3001、プリント
処理ソフト3005で行うことが可能である。画像入出
力装置制御ソフト3007ではカラープリンタのつくり
のため、通常は白黒/カラー変換は出来ない。カラープ
リンタ用でも、白黒入力可能のつくりにしていれば、可
能である。
【0505】そこで、PDL変換ソフト3001で吸収
する場合は、PDL変換ソフト3001はカラープリン
タ指定を認識し、PDL変換の際に白黒データをカラー
データに変換する。
【0506】また、プリント処理ソフト3005で吸収
する場合は、白黒データが送られてくると、全体制御ソ
フト3004の指示により、バンドメモリ3006にカ
ラー展開を行う。
【0507】さらに、画像入出力装置制御ソフト300
7で吸収する場合は、自分自身は、カラープリンタのソ
フトであるから、全体制御ソフト3004から、バンド
メモリ3006には白黒データがあることを伝えられな
ければならない。画像入出力装置インタフェース300
8にデータ転送を行うときに、白黒データをカラーに変
換する。
【0508】一方、カラーアプリケーションプログラ
ムによる印刷設定が白黒で、プリンタが白黒プリンタの
時は、警告なし(正常)で、PDL変換部3001は初
めから、白黒モードで変換を行う。プリント処理ソフト
3005も白黒モードで処理を行う。画像入出力装置制
御ソフト3007は通常通りの動作を行う。
【0509】一方、白黒アプリケーションプログラム
によりプリンタがカラープリンタの時は、オペレータの
ホストコンピュータ上のダイアログに表示する警告例は
「指定したプリンタはカラープリンタです。このプリン
タで印刷しますか?」等となる。
【0510】この場合は、以下、上記の場合と同様で
ある。
【0511】一方、白黒アプリケーションプログラム
によりプリンタが白黒プリンタの時は、警告なし(正
常)で、以下、上記の場合と同様である。
【0512】以上の実施例に関して、吸収する際の条件
を図74に示す。
【0513】図74は、図73に示した各入出力機器の
白黒印刷吸収条件を示す図である。
【0514】この図において、〇は上記〜の処理実
行箇所を示し、a〜cは処理開始位置の条件を示し、印
刷条件の指定をホストコンピュータ側に近い段階で行う
(a条件)場合、印刷条件の指定をS/Pサーバー側で
行う(b条件)場合、印刷条件の指定を全体のデータの
流れとして効率の良いところで行う(c条件)場合とが
ある。
【0515】このような条件から各処理を吸収する箇所
は以下のように分類できる。
【0516】すなわち、条件aを満たさせる場合には、
カラー(指定)/白黒(プリンタ)、白黒(指定)/カ
ラー(プリンタ)の変換は、ホストコンピュータ側のP
DL変換ソフト3001で全て行なうことになる。この
場合、S/Pサーバ側は特別な処理を必要としない。
【0517】また、条件bを満たさせる場合には、プリ
ント処理ソフト3005が全てのカラー(指定)/白黒
(プリンタ),白黒(指定)/カラー(プリンタ)の変
換を行なうか、画像入出力装置制御ソフト3007が全
てのカラー(指定)/白黒(プリンタ),白黒(指定)
/カラー(プリンタ)の変換を行なうか、プリント処理
ソフト3005がカラー(指定)/白黒(プリンタ)変
換を行ない、画像入出力装置制御ソフト3007が白黒
(指定)/カラー(プリンタ)の変換を行なうか、プリ
ント処理ソフト3005が白黒(指定)/カラー(プリ
ンタ)の変換を行ない、画像入出力装置制御ソフト30
07が白黒(プリンタ)変換を行なうかという場合があ
る。
【0518】さらに、条件cを満たさせる場合には、こ
の場合、プリンタがカラープリンタの時、つまり、上記
のようにカラーアプリケーションプログラムにより印
刷設定が白黒で、プリンタがカラープリンタの時,の
ように白黒アプリケーションプログラムによりプリンタ
がカラープリンタの時は、プリント処理ソフト3005
で白黒/カラー変換を行なう。
【0519】また、プリンタが白黒のとき、つまり、
のようにカラーアプリケーションプログラムにより、印
刷設定がカラーで、プリンタが白黒プリンタの時,の
ようにカラーアプリケーションプログラムにより印刷設
定が白黒で、プリンタが白黒プリンタの時,のように
白黒アプリケーションプログラムによりプリンタが白黒
プリンタの時で、変換の必要のある時、条件aを満たさ
せる場合には、PDL変換ソフト3001でカラー/白
黒変換を行なう。この変換の場合、通信データは全て白
黒PDL変換済みデータとなる。以上が標準アプリケー
ションプログラムから白黒プリントを行う場合の説明で
ある。
【0520】以下、図75〜図77を参照しながら図2
に示した指定されたSPサーバー装置SP1とステーシ
ョンST3(UNIXマシン)とのネットワーク処理に
ついて説明する。
【0521】図75は、図2に示したSPサーバー装置
SP1と第3のステーションST3とのネットワークシ
ステムの概要を説明するブロック図である。
【0522】図において、4001はUNIXマシンで
構成されるワークステーション(図2に示したステーシ
ョンST3に対応する)、4002はSPサーバー(図
2に示した通信プログラム83に対応する)で、ネット
ワークとしてのイーサネット4004(図2に示したイ
ーサネットLAN96)を介してワークステーション4
001と交信し、ワークステーション4001から要求
されたプリントジョブを処理してネットワークプリンタ
として指定されたプリンタ4003から印刷出力を制御
する。
【0523】図76は、図75に示したワークステーシ
ョン4001の機能を説明するブロック図である。
【0524】図において、4005はUNIXマシンで
標準のプリントコマンド(lpr)、4006はUNI
Xマシンで標準のプリント用デーモン(常駐プログラ
ム)としてのlpdプログラムであり、図2に示したl
pr/lpdプログラム90に相当する。4007はワ
ークステーション4001の外部記憶装置内に格納され
ているプリンタ管理用ファイル(/etc/print
cap)で、SPサーバー4002に接続されているプ
リンタ4003のエントリが登録登録されている。40
08はプリントするファイルの内容の複製(データファ
イル)とプリントのときの制御情報(コントロールファ
イル)を一時的に格納する外部記憶装置内のスプール領
域、4009は外部記憶装置内に保存されているファイ
ルである。
【0525】図77は、図75に示したSPサーバー4
002の機能構成を説明するブロック図である。
【0526】図において、4010は前記SPサーバー
4002内のプリント常駐プログラムであるサーバlp
dプログラム、4011はSPサーバー内の全体制御ソ
フトウエア(図2に示したシステム全体制御プログラム
93に対応する)、4012はSPネットワークサーバ
ー内のSP管理用情報記憶部で、SPサーバー4002
に接続されているプリンタ,スキャナの情報が登録され
ている。4013はSPサーバー4002内の主記憶装
置、4014はCaPSLインタプリタ(図2に示した
PDLインタープリタープログラム84に対応する)、
4015はSPコントローラ(図2に示したデバイスド
ライバ86)である。
【0527】以下、UNIXマシンで標準のプリントコ
マンドlprを用いたSPサーバー4002に接続され
たプリンタ4003への出力動作について説明する。
【0528】先ず、ワークステーション4001におい
て、出力すべきファイル4009のファイル名とプリン
タ管理用ファイル4007の中に登録されている出力先
のプリンタ4003のプリンタ名を引数で指定してプリ
ントコマンド(lpr)4005を起動する。プリント
コマンド(lpr)4005は、引数で指定されたファ
イル4009の複製をデータファイルとしてスプール領
域4008に作成する。また、プリント時の制御情報を
格納したコントロールファイルをスプール領域4008
に作成する。プリントコマンド(lpr)4005から
lpd4006に対して引数で指定されたプリンタ名を
送信する。lpd4006は、プリントコマンド(lp
r)4005からプリンタ名を受信してそのプリンタ名
がプリンタ管理用フィアル4007に登録されているこ
とを確認した後、プリントコマンド(lpr)4005
に対して応答を送信する。
【0529】プリントコマンド(lpr)4005には
応答を受信して動作を終了する。そして、lpd400
6は、SPサーバー4002と通信回線としてのイーサ
ネット4004を介してリンクした後、SPサーバー4
002上で動作しているlpd4010に対して、プリ
ンタ管理用ファイル4007に登録されている前記プリ
ンタ名を送信する。lpd4010がこのプリンタ名を
受信すると、SP管理用情報記憶部4012に登録され
ているプリンタ名と照合し、その情報を得た後、lpd
4006に対して応答を送信し、さらに全体制御ソフト
ウエア4011に対してプリンタオープン要求を送信す
る。
【0530】全体制御ソフトウエア4011は、プリン
タに関して必要な設定を行った後に、lpd4010に
対してプリンタオープン要求応答を送信する。lpd4
010は、全体制御ソフトウエア4011からプリンタ
オープン要求応答を受信したら、lpd4006からの
送信を待つ。lpd4006は、lpd4010からの
応答を受信すると、スプール領域4008に作成したデ
ータファイルのサイズと名前をlpd4010に対して
送信する。lpd4010は、lpd4006からデー
タファイルのサイズと名前を受信したら、SPサーバー
4002内の主記憶装置4013にデータファイルのサ
イズ以上のRAMディスクが獲得できるかどうかを調べ
る。RAMディスクが獲得できる場合は、データファイ
ル用のRAMディスクを獲得した後、lpd4006に
対して応答を送信する。RAMディスクを獲得できない
場合は、SP管理用情報記憶部4012に登録されてい
るプリンタ4003に関するデフォルトの設定値を得た
後、lpd4006に対して応答を送信する。lpd4
006は、lpd4010からの応答を受信すると、ス
プール領域4008に作成したデータファイルの内容を
読み出し、順次lpd4010に対して送信する。デー
タファイルをすべて送信した後に、送信終了をlpd4
010に対して送信する。lpd4010は、lpd4
006からデータファイルの内容を受信する。データフ
ァイル用のRAMディスクが獲得できている場合は、R
AMディスク内にデータファイルを作成し、受信したデ
ータファイルの内容を格納する。データファイル用のR
AMディスクが獲得できていない場合は、受信したデー
タファイルの内容を順次全体制御ソフトウエア4011
へ送信する。データファイルのサイズ分のデータを受信
した後、送信終了したら、lpd4006に対して応答
を送信する。データファイル用のRAMディスクが獲得
できていない場合は、全体制御ソフトウエア4011に
対してプリント終了を送信する。lpd4006は、l
pd4010からの応答を受信すると、スプール領域4
008に作成したコントロールファイルのサイズと名前
をlpd4010に対して送信する。lpd4010
は、lpd4006から前記コントロールファイルのサ
イズと前を受信したら、SPサーバー4002内の主記
憶装置4013にコントロールファイルのサイズ以上の
RAMディスクが獲得できるかどうかを調べる。RAM
ディスクが獲得できる場合は、コントロールファイル用
のRAMディスクを獲得した後、lpd4006に対し
て応答を送信する。RAMディスクが獲得できない場合
は、SP管理用情報記憶部4012に登録されているプ
リンタに関するデフォルトの設定値を得た後、lpd4
006に対して応答を送信する。lpd4006は、l
pd4010からの応答を受信すると、スプール領域4
008に作成したコントロールファイルの内容を読み出
し、順次lpd4010に対して送信するとともに、コ
ントロールファイルをすべて送信した後に送信終了をl
pd4010に対して送信する。
【0531】lpd4010は、lpd4006からコ
ントロールファイルの内容を受信する。コントロールフ
ァイル用のRAMディスクが獲得できている場合は、R
AMディスク内にコントロールファイルを作成し、受信
したコントロールファイルの内容を格納する。コントロ
ールファイル用のRAMディスクが獲得できていない場
合は、受信したコントロールファイルの内容を破棄す
る。コントロールファイルのサイズ分のデータを受信し
た後、送信終了を受信したら、lpd4006に対して
応答を送信する。lpd4006は、lpd4010か
らの応答を受信すると、スプール領域4008に作成し
たデータファイルおよびコントロールファイルを削除
し、SPサーバー4002とイーサネット4004を介
して張っていたリンクを切断する。
【0532】lpd4010は、コントロールファイル
用のRAMディスク内にコントロールファイルが作成さ
れている場合は、その内容を読み出しプリンタに関する
設定値を決定する。データファイル用のRAMディスク
内にデータファイルが作成されている場合は、データフ
ァイルの内容を読み出し、順次全体制御ソフトウエア4
011に対して送信する。データファイルの内容をすべ
て送信した後に、全体制御ソフトウエア4011に対し
てプリント終了を送信する。全体制御ソフトウエア40
11は、lpd4010から受信した前記データファイ
ルの内容を、CaPSLインタプリタ4014へ送信し
て、CaPSLに従ってイメージ展開を行った後、SP
コントローラ4015へプリント要求を行う。また、S
Pコントローラ4015は、全体制御ソフトウエア40
11からのプリント要求を受けて、プリンタ4003へ
出力する。
【0533】図78は本発明に係るサーバー装置と各ホ
ストとのデータロード処理状態を説明するネットワーク
図である。
【0534】図において、901はSPサーバーで、不
揮発性メモリ901Aを有し、各種のリスト,プログラ
ム等を記憶している。908はスキャナプリンタで、S
Pサーバー901と上述したインタフェースボードを介
して接続されている。902,903はダウンロードホ
ストコンピュータ(ダウンロードホスト)で、各ホスト
コンピュータに対応する、例えばハードディスク等で構
成される記憶装置902A,903Aを備えている。9
05,906はクライアントホストで、ネットワーク9
07を介してSPサーバー901にプリント要求,スキ
ャナ要求を出力する。
【0535】図79は、図78に示したSPサーバー9
01およびダウンロードホスト902,903の記憶情
報を説明するデータ構成図である。
【0536】この図に示されるように、SPサーバー9
01の不揮発性メモリ901Aには、あらかじめオペレ
ータによって作成された特定の1台または優先度を付け
た複数台のダウンロードホスト(本実施例ではダウンロ
ードホスト902,903)の情報リスト(ダウンロー
ドホストリスト)911,印刷時に必要なフィルタフォ
ントの情報リスト(フィルタフォントリスト)912,
ダウンロードプログラム913等が記憶されている。な
お、あらかじめオペレータによって作成された特定の1
台または優先度を付けた複数台のダウンロードホスト
(本実施例ではダウンロードホスト902,903)の
情報リスト(ダウンロードホストリスト)911および
印刷時に必要なフィルタフォントの情報リスト(フィル
タフォントリスト)912,ダウンロードプログラム9
13は、例えばテキストファイル形式で記憶されてい
る。
【0537】一方、ダウンロードホスト902の記憶装
置902Aには、SPサーバー901に必要な各種プロ
グラム915(図2に示すSPサーバーSP1内のシス
テム全体制御プログラム93等の各種プログラム),印
刷を行う際に必要なフィルタおよびフォントデータ(フ
ィルタフォントデータ)916,SPサーバー901の
立ち上げに必要な初期設定パラメータファイル917,
上記915〜917をSPサーバー901にアップロー
ドするためのアップロードプログラム918が記憶され
ている。
【0538】このように構成された本発明に係る第2の
サーバー装置によれば、本体上に設けられた不揮発性メ
モリ不揮発性メモリ901Aが特定の1台または優先度
が付けられた複数台のホストコンピュータから所望の情
報をダウンロードするためのホストコンピュータ先指定
情報,前記所望の情報をダウンロードするためのダウン
ロードプログラム,プリント処理機能実行に必要なフォ
ント情報,プリント処理機能実行に必要な印刷制御情報
等を記憶することにより、特定の1台または優先度が付
けられた複数台のホストコンピュータから所望の情報を
ダウンロードする際のホストコンピュータ先および印刷
制御情報の変更処理を一元管理することを可能とする。
【0539】また、特定の1台または優先度が付けられ
た複数台のホストに記憶されたサーバー装置を立ち上げ
て初期設定するためのシステムプログラムおよび所望の
情報をダウンロードすることにより、必要に応じてサー
バー装置を立ち上げて初期設定するためのシステムプロ
グラムおよび所望の情報を特定の1台または優先度が付
けられた複数台のホストコンピュータ中の1つのホスト
コンピュータから適時ダウンロードすることを可能とす
る。
【0540】また、電源投入時に、ホストコンピュータ
先指定情報に基づいて複数のホストコンピュータの動作
状態を確認して1つのホストコンピュータをマスタダウ
ンロードホストコンピュータとして登録することによ
り、ネットワーク上のホストコンピュータ動作状態が変
動しても、必要に応じてサーバー装置を立ち上げて初期
設定するためのシステムプログラムおよび所望の情報を
特定の1台または優先度が付けられた複数台のホストコ
ンピュータ中の1つのホストコンピュータから適時ダウ
ンロードすることを可能とする。
【0541】なお、SPサーバー901は後述するよう
に電源立上げ時に、ネットワーク907上のダウンロー
ドホストのチェックを行い、ダウンロードホストが複数
設定されている場合は、動作中で最優先のものをマスタ
ダウンロードホストとし、他のダウンロードホストをス
レーブホストとし、ダウンロードホストが1台のみ設定
されている場合には、そのホストコンピュータをマスタ
ダウンロードホストとする。
【0542】さらに、ダウンロードホストのチェックを
行う時に、いずれのダウンロードホストも動作していな
かった場合、後述するようにSPサーバー901のエラ
ー・ログ・ファイルに記録し、あらかじめ設定された最
大待ち時間が経過するまで、あらかじめ設定された一定
時間毎に再びダウンロードホストのチェックを行い、最
大待ち時間が経過すると、立ち上げ失敗エラーとして処
理を終了する。
【0543】また、ダウンロードホストに記憶されてい
るSPサーバー901の各種プログラム,フィルタ,フ
ォントデータ916等は、後述するようにSPサーバー
901の電源立上げ時または動作中に、SPサーバー9
01からの要求に基づき、必要に応じてSPサーバー9
01にダウンロードされる。
【0544】さらに、ダウンロードホストからSPサー
バー901にダウンロードされたフィルタ,フォントデ
ータ916はあらかじめオペレータによって作成された
フィルタ,フォントの情報リストに基づき、新しいフィ
ルタ,フォントがダウンロードされるまでSPサーバー
901上のメモリに保持されている。
【0545】また、ダウンロードホストには、あらかじ
めオペレータによってSPサーバー901の初期設定を
行うパラメータファイル917、例えばテキストファイ
ルとして、所定のディレクトリに記憶している。
【0546】さらに、ダウンロードホストにファイルと
して記憶されているSPサーバー901のパラメータ
は、SPサーバー901に接続された端末(図示しな
い)、あるいは当該スレーブダウンロードホストからパ
ラメータの設定変更を行う場合、SPサーバー901に
接続された端末の場合は、当該ダウンロードホストとS
Pサーバー901の間にEnd−to−Endのセッシ
ョン通信路を確立し、当該スレーブダウンロードホスト
の場合は、マスタダウンロードホストとスレーブダウン
ロードホストとの間にEnd−to−Endのセッショ
ン通信路を確立し、当該マスタダウンロードホストから
SPサーバー901あるいはスレーブダウンロードホス
トにパラメータファイルを転送し、もし、パラメータの
変更があれば、当該セッション通信路を通じてマスタダ
ウンロードホストに逆に転送し、所定のディレクトリに
パラメータファイルを記憶するプロトコルを有してい
る。
【0547】また、ダウンロードホストにファイルとし
て記憶されているSPサーバー901のパラメータは、
ダウンロードホスト自身からも変更することができるよ
うに構成されている。
【0548】さらに、特定の1台または複数設定されて
いるダウンロードホストのうち、特定の1台あるいはマ
スタダウンロードホストが動作していないか、ダウンロ
ード,パラメータファイル転送に失敗した場合,マスタ
ダウンロードホストが1台しかない場合あるいは残りの
スレーブホストがない場合、SPサーバー901のエラ
ーログファイルに記録後、あらかじめ設定された最大待
ち時間が経過していない場合は、あらかじめ設定されて
いる一定時間毎にダウンロード,パラメータ転送の実行
を試み、残りのスレーブホストがある場合は、次の優先
度の高いホストコンピュータをマスタダウンロードホス
トとし、ダウンロード,パラメータ転送の実行を試み、
最大待ち時間が経過した場合は、ダウンロード,パラメ
ータ転送失敗となり、エラー終了となるように制御して
いる。
【0549】また、複数台のダウンロードホストが設定
され、マスタダウンロードホストのパラメータファイル
の変更が行われた場合、マスタダウンロードホストは自
動的にスレーブホストとの間にEnd−to−Endの
セッション通信路が確立し、変更されたパラメータファ
イルの転送をすべてのスレーブダウンロードホストに行
わせるように制御している。
【0550】さらに、SPサーバー901はネットワー
ク環境下において、立上げ時ダウンロードホストの自動
チェック,ダウンロード,初期設定パラメータ変更時の
ダウンロードホスト自動変更機構,初期設定パラメータ
変更後の複数のダウンロードホストへの自動転送機能を
備えている。
【0551】図80は、図78に示したSPサーバー9
01におけるダウンロードホストチェック処理手順の一
例を示すフローチャートである。なお、(1) 〜(13)は各
ステップを示す。
【0552】SPサーバー901の電源がONされると
(1) 、SPサーバーの不揮発性メモリ901Aに記憶さ
れているダウンロードホストリスト911に基づき、先
ず特定の1台であるかまたは複数であるかというダウン
ロードホスト数が判断される(2) 。この判断で台数が複
数の場合には、ダウンロードホスト902,903が動
作中であるかどうかを判断し(3) 、YESならば動作中
で優先度の最も高いホストをマスタダウンロードホスト
とし(4) 、他のダウンロードホストをスレーブダウンロ
ードホストとして(5) 、サーバー立上げ時ダウンロード
ホストチェックを終了する(6) 。
【0553】一方、ステップ(3) の判定でNOの場合
は、SPサーバーエラーログファイルにその旨を記録し
(7) 、あらかじめ設定されている最大待ち時間が経過し
たかどうかを判定し(8) 、YESならばサーバー立上げ
時ダウンロードホストチェックを終了する(9) 。
【0554】一方、ステップ(8) の判定中に、一定時間
経過毎に(13)、ステップ(3) に戻り、ダウンロードホス
トの動作チェックを行う。
【0555】一方、ステップ(2) の判定において、1台
の場合は、当該ダウンロードホストが動作中かどうかを
判定し(10)、NOならばステップ(7) に戻り、YESな
らば指定されているダウンロードホストをマスタダウン
ロードホストとし(11)、サーバー立上げ時ダウンロード
ホストチェックを終了する(12)。
【0556】図81は、図78に示したSPサーバー9
01における各種プログラム915,フォント,フィル
タデータ916のダウンロード処理手順の一例を示すフ
ローチャートである。なお、(1) 〜(16)は各ステップを
示す。
【0557】サーバー電源立上げ時ダウンロードホスト
チェックが終了すると(1) 、SPサーバー901内のダ
ウンロードプログラムまたは動作中その他のSPサーバ
ープログラムによって各種プログラム915,フィル
タ,フォントデータ916のダウンロード要求が発生す
ると(2) 、あらかじめSPサーバー901内にあるダウ
ンロードホストの情報リスト,フィルタ,フォントの情
報リストがチェックされる(3) 。もし、SPサーバー9
01内にダウンロード要求されたものがあるかどうかを
判定し(4) 、YESならばステップ(9) に進み、当該記
憶されているプログラム,フィルタ,フォントを使用
し、ステップ(2) に戻り、次のダウンロード要求が発生
するまでダウンロードプログラムはアイドル状態とな
る。
【0558】一方、ステップ(4) の判定でNOの場合
は、現在SPサーバー901内の不揮発性メモリ901
A内に残しておくかどうかを情報リストに基づいて判定
し、すなわち消去を行うと指定されているかどうかを判
定し(5) 、NOならばステップ(7) 移行に進み、YES
ならば当該記憶されているプログラム,フィルタ,フォ
ントを消去する(6) 。
【0559】次いで、SPサーバー901からマスタダ
ウンロードホストへダウンロード要求がなされ、マスタ
ダウンロードホストからSPサーバーへターゲットのダ
ウンロードが行われる(7) 。次いで、ダウンロードが成
功したかどうかを判定し(8)、YESならばステップ(9)
移行に進み、NOならばSPサーバーエラーログファ
イルに記録し(10)、次のダウンロードホストがあるかど
うかを判断し(11)、YESならばそのホストコンピュー
タをマスタダウンロードホストとし(12)、他のダウンロ
ードホストをスレーブダウンロードホストとし(13)、ス
テップ(7) に戻る。
【0560】一方、ステップ(11)の判断でNOならば、
あらかじめ設定されている最大待ち時間が経過したかど
うかを判定し(14)、YESならばダウンロードエラーと
して処理を終了する(15)。
【0561】一方、ステップ(14)の判定中に、一定時間
経過毎に(16)、ステップ(7) に戻り、プログラム,フィ
ルタ,フォント等のダウンロードを再実行する。
【0562】図82は、図78に示したSPサーバー9
01における初期設定パラメータファイルの変更処理手
順の一例を示すフローチャートである。なお、(1) 〜(1
6)は各ステップを示す。また、初期設定パラメータファ
イル917の変更指示は、SPサーバー901またはス
レーブダウンロードホストから初期設定パラメータファ
イル917を記憶するマスタダウンロードホストに対し
て行われる。
【0563】SPサーバー901の端末からマスタダウ
ンロードホストに対して初期設定パラメータファイル9
17の変更指示がなされると(1) 、SPサーバー901
あるいはスレーブダウンロードホストとの間にセッショ
ン通進路が確立される(2) 。次いで、通信路が確立され
たか(成功)かどうかを判定し(3) 、YESならばマス
タダウンロードホストからSPサーバー901あるいは
スレーブダウンロードホストにパラメータファイルが転
送される(4) 。次いで、転送が成功したかどうかを判定
し(5) 、NOならばステップ(10)以降に進み、YESな
らばSPサーバー901あるいはスレーブダウンロード
ホストからパラメータの変更が実行される(6) 。次い
で、変更されたパラメータファイルがSPサーバー90
1またはスレーブダウンロードホストからマスタダウン
ロードホストにパラメータファイルの逆転送が行われ
(7) 、転送が成功したかどうかを判定し(8) 、YESな
らばパラメータ変更後の処理に移行する(9) 。
【0564】一方、ステップ(8) ,(3) の判定でNOの
場合ステップ(10)以降に進み、SPサーバーエラーログ
ファイルにその旨を記録し、次のダウンロードホストが
あるかどうかを判定し(11)、YESならば次のダウンロ
ードホストをマスタダウンロードホストとするとともに
(12)、他のダウンロードホストをスレーブダウンロード
ホストとし(13)、ステップ(2) に戻る。
【0565】一方、ステップ(11)の判定でNOの場合
は、あらかじめ設定されている最大待ち時間が経過した
かどうかを判定し(14)、YESならばパラメータ変更エ
ラーとして処理を終了する(15)。
【0566】一方、ステップ(14)の判定中に、一定時間
経過毎に(16)、ステップ(2) に戻り初期設定パラメータ
ファイルの変更処理を再実行する。
【0567】図83は、図78に示したマスタのダウン
ロードホストからの初期設定パラメータファイルの変更
処理手順の一例を示すフローチャートである。なお、
(1) 〜(3) は各ステップを示す。
【0568】マスタダウンロードホストから初期設定パ
ラメータファイル917の変更指示がなされると(1) 、
マスタダウンロードホストがマスタダウンロードホスト
上の初期設定パラメータファイル917を変更し(2) 、
変更後の処理に移る(3) 。
【0569】図84は、図78に示したマスタのダウン
ロードホストによる初期設定パラメータファイル変更後
処理手順の一例を示すフローチャートである。なお、
(1) 〜(8) は各ステップを示す。
【0570】初期設定パラメータファイル917が変更
されると(1) 、マスタダウンロードホストはスレーブダ
ウンロードホストがあるかどうかを判断し(2) 、NOな
らば処理を終了する(8) 。
【0571】一方、ステップ(2) の判定においてYES
ならばマスタダウンロードホストは、スレーブダウンロ
ードホストとの間に通信路を確立し(3) 、通信路が確立
されたかどうかを判定し(4) 、NOならばステップ(7)
移行に進み、YESならばマスタダウンロードホストか
らスレーブダウンロードホストに変更されたパラメータ
ファイルの転送が行われる(5) 。次いで、パラメータフ
ァイルの転送が成功したかどうかを判定し(6) 、YES
ならばステップ(2) に戻り、NOならばSPサーバーエ
ラーログファイルにその旨を記録し(7) 、ステップ(2)
に戻り、次のスレーブダウンロードホストを探しに行
く。
【0572】なお、上記実施例ではサーバー装置を、リ
モートプリント,リモートスキャンのサービスを行うS
Pサーバー901で構成する場合について説明したが、
サーバー装置としてはSPサーバー901ではなく、そ
の他の様々な処理を実行するサーバー装置、例えばOC
R処理,ファクシミリ処理,ドキュメント処理,データ
ベース処理等をクライアントに提供するサーバー装置で
あっても、ダウンロードホストを設定したネットワーク
環境であれば、同様の方法でダウンロード,パラメータ
変更等を行うことができる。
【0573】さらに、サーバー装置に限らず、各々のマ
シンがネットワーク環境にあり、各々のマシン間のコミ
ュニケーションを行うことが可能であるという条件が成
立するならば、上記ダウンロード方式を他の装置にも適
用することができる。
【0574】図85は本発明の一実施例を示すサーバー
装置の通信制御構成を説明するブロック図である。
【0575】図において、7101A,7101Bはホ
ストコンピュータ(クライアント)で、ネットワーク7
105を介してスキャナプリンタサーバー(SPサーバ
ー)7102と通信可能に構成されている。ホストコン
ピュータ7101A,7101Bは独自のデータ処理速
度に応じた通信プロトコル7106A(例えば通信プロ
グラム53),7106B(例えば通信プログラム6
3)を備えて、サーバープロトコル7107(例えば
(通信プログラム83))と相互に通信処理を後述する
フローチャートに従って実行する。SPサーバー710
2には各種のプリンタに受信したプリントデータを出力
するためのインタフェースポート(RS232C,セン
トロニクス,SCSI等)を備え、プリンタ7104
b,7104c,7104dおよびスキャナ7103b
とのI/Oを制御する。7103aはスキャナで、プリ
ンタ7104aと一体としてスキャナ機能処理およびプ
リント機能処理を実行する。7108〜7113は制御
ラインで種々の制御信号をプリンタ7104a,スキャ
ナ7103aに出力する。
【0576】この図に示されるように、ネットワーク7
105上のホストコンピュータ7101A,7101B
(クライアント)がスキャナ機能処理,プリンタ機能処
理を実行するために、すなわちスキャナやプリンタの資
源を利用するために、SPサーバー7102に問い合わ
せをする際に情報交換を行う時に、後述する通信処理実
行中の応答時間を監視する。その際、応答時間は長いが
正常に返信がある通信に対しては、ネットワーク710
5上の遅延が生じたが、正常な通信と見なして、自動的
にタイマアウトの値を長く設定し直す機能を備えてい
る。
【0577】図86は、図85に示したクラアントとサ
ーバーとの第1の通信プロトコルの一例を示す図であ
り、特にプリント処理の通信の場合である。
【0578】この図に示すように、経過時間(a)は、
ホストコンピュータ7101A側のクラアントプロトコ
ル7106Aは、SPサーバープロトコル7107から
の返答がなければ、応答時間監視のためのタイマT1が
作動し、自動的にタイマアウトする時間に対応する。ま
た、経過時間(b)は、SPサーバープロトコル710
7がクラアントプロトコル7106Aに対して次の指示
あるいはデータが来るまでの応答時間監視時間に対応す
る。
【0579】このように、本発明に係る第3の発明によ
れば、サーバー装置から何れかの指示に基づいて通信コ
マンドを発行後の応答時間が第1の監視時間を越えて、
第2の監視時間を経過しても応答が得られない場合、当
該ホストとの通信に異常が発生したものと見なして、サ
ーバー装置とネットワークの通信状態を待機状態に自動
復帰させるので、当該通信異常となったホストコンピュ
ータの回復を待たずに、プリンタ資源,スキャナ資源に
よる各機能処理実行を要求する他のホストコンピュータ
との通信を速やか、かつ正常に開始することが可能とな
る。
【0580】具体的には、各経過時間(a),(b)を
計時して所定の監視時間を延長しても、応答が無い場合
に通信を中断して、待機状態に切り換わることにより、
通信状態が互いにデットロック状態となるこを回避して
いる。
【0581】具体的には、SPサーバー7102はネッ
トワーク7105上のホストコンピュータより指示を受
け、それに対して通信コマンドを発行する。その際毎
(通信コマンド発行毎)に所定の第1のタイマ(例えば
5秒タイマ)を起動し、もし、そのタイマが計時終了後
も相手からの応答がなかった場合、該通信コマンドを再
発行し、さらに再発行が所定回数(例えば6回)または
再送コマンドが最初に発行されてからの時間を計時する
第2のタイマ(例えば30秒)が計時終了後も相手から
の応答がなかった場合に、相手に回復不可能な障害が発
生したものと見なし、通信中断コマンド(例えばAbo
rt)を発行して初期状態で待機する。
【0582】実際には、前述したようにSPサーバー7
102は、ネットワーク7105上のホストコンピュー
タ側にクラアントプロトコルが起動されており、SPサ
ーバー7102側にはSPサーバープロトコル7107
が起動されている。接続されているスキャナやプリンタ
の資源のコントロールは、この互いに通信し合うプログ
ラムによっている。
【0583】ところが、SPサーバープロトコル710
7が起動されると、図4に示したタイマ110が起動
し、所定時間を越えてもSPクライアント(ホストコン
ピュータ7106A,7106B)から返答がないと、
自動的に通信コマンドを再発行して、SPクライアント
(ホストコンピュータ7106A,7106B)に通信
コマンドに対する返信を要求しても応答がないと、SP
サーバープロトコル7107は後述するフローチャート
に従って自動的に通信処理プログラムを中断し、初期状
態に復帰する。
【0584】なお、本実施例では、上記タイマ処理をリ
アルタイムOS(VxWorks)のウオッチドックタ
イマ機能処理により達成しているが、この場合、タイマ
アウトの状態になると、リアルタイムOS(VxWor
ks)におけるシステム管理の割込み制御機構により、
一旦OS管理下におかれ、すぐにシステム管理を司るS
Pマネジャ(システム全体制御プログラム93)に通知
して、システムの異常処理を後述する図87に示すフロ
ーチャートに従って行う。なお、以上の発生する要因と
して、ネットワーク7105上のホストコンピュータ側
が通信異常やシステムダウン,メモリオーバーフロー等
があげられるが、これらのみには限定されない。
【0585】図87は本発明の一実施例を示すサーバー
装置の通信制御方法を説明するフローチャートである。
なお、(1) 〜(11)は各ステップを示し、図85に示した
SPサーバー7102のタイマ監視通信制御手順(サー
バープロトコル7107)に対応する。
【0586】ネットワーク7105を介してクライアン
トからの初期通信要求を待機し(1)、初期通信要求を受
信すると、受信した旨をクライアント側に返答し(2) 、
図4に示したタイマ110を起動して(3) 、クラアイン
トからの通信待ちとなる(4)。何らかの通信要求を受信
すると、正常通信作業を開始(5) 、終了コマンドを受信
したかどうかを判定し(6) 、NOならば(2) に戻り、Y
ESならばSPサーバー7102を初期状態に設定す
る。
【0587】一方、ステップ(4) の判定で何ら応答がな
い場合は、ステップ(3) で起動したタイマがタイムアウ
ト(本実施例では5秒)となったかどうかを判定し(7)
、NOならばステップ(4) に戻り、YESならばあら
かじめ設定された回数(n)目の再送かどうかを判定し
(8) 、YESならばOS(本実施例ではVxWork
s)の割込み機能を開始し(9) 、SPマネジャにその旨
を通知して(10)、SPサーバー7102を初期状態に設
定する。
【0588】一方、ステップ(8) の判定で、何らかの応
答要求があった場合は、再送要求をクラアントに送出し
(12)、ステップ(2) に戻る。
【0589】なお、上記実施例では、現在通信中のSP
クライアントとSPサーバー7102とが異常の状態と
なった時、本発明に係る計時手段として機能するタイマ
110,内部タイマ等を用いて異常処理を実行し、最終
的にはSPサーバー7102が初期状態に戻る場合の処
理について説明したが、異常処理を実行すると、別のタ
スクが起動されて、そのタスクがある一定時間毎にホス
トコンピュータに通信を行い、ホストコンピュータが復
帰することを確認して、通信処理を再開するように制御
しても良い。
【0590】また、上記実施例では、通信コマンドを再
発行してからの監視時間を、タイマ110がタイムアッ
プする毎に発行される通信コマンドの再送回数(例えば
6回)で計時する場合について説明したが、最初の通信
コマンド発行後、タイマ110がタイムアップした時点
で、第2のタイマ(図示しない)が第2の監視時間(例
えば30秒)を計時して、この第2の監視時間の経過時
点で、ホストコンピュータからの応答が得られない場合
には、通信中断コマンド(Abort)を発行して、通
信待機状態となるように制御しても良い。
【0591】図88は、図85に示したクラアントとサ
ーバーとの第2の通信プロトコルの一例を示す図であ
り、(a)は正常な通信状態に対応し、(b)は応答時
間が長い通信状態に対応し、特にプリント処理の通信の
場合である。
【0592】(a)に示すように正常な通信時には、経
過時間(イ)で、ホストコンピュータ7101A側のク
ライアントプロトコル7106Aは、SPサーバープロ
トコル7107からの返答がなければ、応答時間監視の
ためのタイマT1が作動し、自動的にタイマアウトす
る。また、経過時間(ロ)で、SPサーバープロトコル
7107がクライアントプロトコル7106Aに対して
次の指示あるいはデータが来るまでの応答時間監視のタ
イマT2が作動する。正常な通信処理では、ポイント
(イ),(ロ)で計時する監視時間はあらかじめ決めら
れた値が設定されている。もし、それを越える場合は、
再送要求を発行して相手からの応答を待機する。それで
も応答がない場合には、異常状態とみなして異常処理を
行い、初期状態(通信待ち状態)に移行する。
【0593】一方、(b)に示すように応答時間が長い
通信時、例えば遅いネットワークが仲介していたり、ト
ラフィックが多いようなネットワークで通信を行う場合
には、経過時間(イ),(ロ)は前述と同様のタイマ設
定値でタイマが作動する。また、経過時間は、クライア
ントプロトコル7106BがSPサーバープロトコル7
107からの応答が遅い時に、応答要求を発行して、当
該応答が帰ってきた時間に応じて、再設定されたタイマ
のタイマアウト状態に対応する。同様に、経過時間
(ニ)は、クライアントプロトコル7106Bからの要
求に応じて応答したSPサーバープロトコル7107の
次のコマンドに対してのタイマアウト値が再設定された
時間に対応する。
【0594】このように、本発明に係る第4の発明によ
れば、応答時間の長いホストコンピュータ7106Bと
の通信処理においても、各ホストコンピュータまたはサ
ーバー装置の何れか一方からネットワーク上での応答時
間を計時するためのコマンドを発行してからの応答時間
をサーバー装置または各ホストコンピュータが計時し、
該計時結果に基づいて各ホストコンピュータとサーバー
装置との間の正常応答時間を計時するタイマの監視時間
を延長するので、ネットワーク上の各ホストコンピュー
タ上の各ホストとの通信中における応答信号の送出タイ
ミングが長くなる事態が発生しても、その後の通信処理
を正常に続行することが可能となる。
【0595】これにより、相手からの応答時間が所定時
間よりも経過しても、直ちに通信異常とすることなく、
監視時間を所定時間延長して調整することにより、応答
時間が長くなる通信処理に対して、通信異常とすること
なく、正常な通信処理が可能となる。
【0596】具体的には、SPサーバー7102はネッ
トワーク7105上のホストコンピュータより指示を受
け、それに対して通信コマンドを発行する。その際毎に
所定の第1のタイマ(例えば5秒タイマ)を起動し、も
し、そのタイマが計時終了後も相手からの応答がなかっ
た場合、該通信コマンドを再発行し、さらに再発行が所
定回数(例えば6回)または再送コマンドが最初に発行
されてからの時間を計時する第2のタイマ(例えば30
秒)が計時終了後も相手からの応答がなかった場合に、
相手に回復不可能な障害が発生したものと見なし、通信
中断コマンド(例えばAbort)を発行して初期状態
で待機する。
【0597】しかしながら、ホストコンピュータとSP
サーバー7102が異なるネットワークに接続されてい
る場合は、上記タイマのタイムアウト時間(監視時間)
を長く設定する。
【0598】実際には、前述したようにSPサーバー7
102は、ネットワーク7105上のホストコンピュー
タ側にクライアントプロトコルが起動されており、SP
サーバー7102側にはSPサーバープロトコル710
7が起動されている。接続されているスキャナやプリン
タの資源のコントロールは、この互いに通信し合うプロ
グラムによっている。
【0599】本実施例では、SPサーバー7102は、
SPクライアント(ホストコンピュータ7106A,7
106B)からの資源利用要求(プリント要求/スキャ
ン要求)を常に返答を返すが、ネットワークの遅延が大
きい場合、SPクライアント側は応答要求を発行して、
ネットワークの遅延時間を調べに来る。SPサーバー7
102側はレスポンス要求を受け取ると、直ちに返答を
返す。SPクライアント側は応答要求を発行して、ネッ
トワークの遅延時間を調べに来る。SPサーバー710
2側はレスポンス応答の時間により、タイマアウトの設
定値を変更して、通常の通信を引き続き行う。SPサー
バー7102は、レスポンス要求を受け付けると、次の
通信が来るまでの時間を計時し、SPサーバー7102
側のタイマアウトの設定値の変更を行う。
【0600】以後、通常動作と同様に、SPサーバー7
102のプロトコルが起動されると、図4に示したタイ
マ110を起動して、所定時間を越えて、SPクライア
ント側のプロトコルに基づく返答がないと、自動的に再
送要求を発行し、それでも返答がないと、自動的に通信
の中断を行い、初期状態に戻る。
【0601】なお、本実施例では、上記タイマ処理をリ
アルタイムOS(VxWorks)のウオッチドックタ
イマ機能処理により達成しているが、この場合、タイマ
アウトの状態になると、リアルタイムOS(VxWor
ks)におけるシステム管理の割込み制御機構により、
一旦OS管理下におかれ、すぐにシステム管理を司るS
Pマネジャに通知して、システムの異常処理を後述する
図89,図90に示すフローチャートに従って行う。な
お、以上の発生する要因として、ネットワーク7105
上のホストコンピュータ側が通信異常やシステムダウ
ン,メモリオーバーフロー等があげられるが、これらの
みには限定されない。
【0602】図89は本発明の一実施例を示すサーバー
装置の通信制御方法を説明するフローチャートである。
なお、(1) 〜(14)は各ステップを示し、図85に示した
SPサーバー7102のタイマ監視通信制御手順(サー
バープロトコル7107)に対応する。
【0603】ネットワーク7105を介してクライアン
トからの初期通信要求を待機し(1)、初期通信要求を受
信すると、受信した旨をクライアント側に返答し(2) 、
図4に示したタイマ110を起動して(3) 、クラアイン
トからの通信待ちとなる(4)。何らかの通信要求を受信
すると、正常通信作業を開始(5) 、終了コマンドを受信
したかどうかを判定し(6) 、NOならば(2) に戻り、Y
ESならばSPサーバー7102を初期状態に設定す
る。
【0604】一方、ステップ(4) の判定で何ら応答がな
い場合は、ステップ(3) で起動したタイマがタイムアウ
トとなったかどうかを判定し(7) 、NOならばステップ
(4)に戻り、YESならばレスポンス要求有無を判定し
(8) 、要求が無い場合、 あらかじめ設定あれた回数
(n)目の再送かどうかを判定し(11)、YESならばO
S(本実施例ではVxWorks)の割込み機能を開始
し(13)、SPマネジャにその旨を通知して(14)、SPサ
ーバー7102を初期状態に設定する。
【0605】一方、ステップ(8) の判定で、何らかの応
答要求があった場合は、タイマ110の値を所定時間長
く再設定し(9) 、応答作業を継続し(10)、ステップ(2)
に戻る。また、ステップ(11)の判定でNOの場合は、再
送要求をクライアントに送出し(12)、ステップ(2) に戻
る。
【0606】図90は本発明の一実施例を示すサーバー
装置の通信制御方法を説明するフローチャートである。
なお、(1) 〜(16)は各ステップを示し、図85に示した
クライアントのタイマ監視通信制御手順(クライアント
プロトコル7106A,7106B)に対応する。
【0607】ネットワーク7105を介してSPサーバ
ー7101からの初期通信要求を待機し(1) 、初期通信
要求を受信すると、受信した旨をSPサーバー7101
側に送信し(2) 、ホストコンピュータ7106A,71
06Bの内部タイマを起動し(3) 、SPサーバー710
1からの通信待ちとなる(4) 。ここで、何らかの通信を
受信すると、受信したコマンドが終了コマンドかどうか
を判定し(5) 、NOならば次に通信作業を開始(6) 、ス
テップ(2) に戻り、YESならばSPクライアントを初
期状態とする。
【0608】一方、ステップ(4) の判定でNOの場合
は、ステップ(3) で起動したタイマがタイムアウトとな
ったかどうかを判定し(7) 、NOならばステップ(4) に
戻り、YESならば応答要求がSPサーバー側からなさ
れたかどうかを判定し(8) 、YESならば再送要求がな
されたかどうかを判定し(14)、NOならばSPクライア
ントのプロトコル7106A,7106Bに通知し(1
6)、SPクライアントを初期状態とする。
【0609】一方、ステップ(14)の判定でYESの場合
は、再送作業を開始し(15)、ステップ(2) に戻る。ま
た、ステップ(8) の判定でNOの場合は、応答要求をS
Pサーバー7102に対して発行し(9) 、応答時間の測
定を開始する(10)。次いで、SPサーバー7102から
応答待ち状態から応答を受信したかどうかを判定し(1
1)、YESならばタイマを所定時間長く再設定し(12)、
ステップ(2) に戻る。
【0610】一方、ステップ(11)の判定でNOの場合
は、応答時間を計時する内部タイマがタイムアウトした
かどうかを判断し(13)、NOならばステップ(11)に戻
り、YESならばSPクライアントを初期状態に設定す
る。
【0611】なお、上記実施例では、現在通信中のSP
クライアントとSPサーバー7102とが異常の状態と
なった時、計時手段(タイマ110,内部タイマ等)を
用いて異常処理を実行し、最終的にはSPサーバー71
02が初期状態に戻る場合の処理について説明したが、
異常処理を実行すると、別のタスクが起動されて、その
タスクがある一定時間毎にホストコンピュータに通信を
行い、ホストコンピュータが復帰することを確認して、
通信処理を再開するように制御しても良い。
【0612】
【発明の効果】以上説明したように、第1の発明によれ
ば、プリントドライバが各ホスト特有のプリンタインタ
フェースに基づいて変換した画像情報を、サーバー装置
に接続される入出力機器のプリンタ言語に基づく画像情
報に変換すると、このプリントドライバの下位レイヤと
してのクライアント通信制御手段とサーバー通信制御手
段とがネットワークを介して入出力機器のプリンタ言語
に基づく画像情報を通信転送させるので、各ホスト特有
のプリンタ言語処理体系に従う画像情報を、サーバー装
置に接続される入出力機器のプリンタ言語処理系に制限
されることなく、ホスト上の市販アプリケーションでネ
ットワーク上を高速に通信させることができる。
【0613】第2の発明によれば、ホストまたは所定の
ネットワーク上の不揮発性メモリに、特定の1台または
優先度が付けられた複数台のホストから所望の情報をダ
ウンロードするためのホスト先指定情報,前記所望の情
報をダウンロードするため緒ダウンロードプログラム,
前記プリント機能処理の実行に必要なフォント情報,前
記プリント機能処理の実行に必要な印刷制御情報を記憶
させるので、特定の1台または優先度が付けられた複数
台のホストから所望の情報をダウンロードする際のホス
ト先および印刷制御情報の変更処理を一元管理すること
ができる。
【0614】第3の発明によれば、サーバー装置から何
れかの指示に基づいて通信コマンドを発行後の応答時間
が第1の監視時間を越えて、第2の監視時間を経過して
も応答が得られない場合、当該ホストとの通信に異常が
発生したものと見なして、サーバー装置とネットワーク
の通信状態を待機状態に自動復帰させるので、当該通信
異常となったホストの回復を待たずに、プリンタ資源,
スキャナ資源による各機能処理実行を要求する他のホス
トとの通信を速やか、かつ正常に開始することができ
る。
【0615】第4の発明によれば、各ホストまたはサー
バー装置の何れか一方から前記ネットワーク上での応答
時間を計時するためのコマンドを発行してからの応答時
間をサーバー装置または各ホストが計時し、該計時結果
に基づいて各ホストとサーバー装置との間の正常応答時
間を計時するタイマの監視時間を延長するので、ネット
ワーク上の各ホストとの通信中における応答信号の送出
タイミングが長くなる事態が発生しても、その後の通信
処理を正常に続行することができる。
【0616】第5の発明によれば、低位の通信プログラ
ムから高位の通信プログラムを連続的に実行して前記バ
ッファメモリに前記画像情報を記憶させる際に、低位の
通信プログラムから上位の通信プログラムに前記画像情
報に対する前記バッファメモリへの展開開始アドレスを
催促し、該催促に従って高位の通信プログラムから低位
の通信プログラムに伝達される展開開始アドレスに基づ
いて低位の通信プログラムにより前記バッファメモリに
前記画像情報を展開させるので、低位の通信プログラム
から高位の通信プログラムを連続的に実行して前記バッ
ファメモリに前記画像情報を転送して記憶させる際の各
通信プログラム間のオーバヘッドを抑えることができ
る。
【0617】従って、サーバー装置が各ホストの言語仕
様と各画像出力装置の言語仕様の相違を整合させること
ができ、システム構築におけるホストの制限および画像
出力装置、特にプリンタ装置の制限を大幅に緩和でき、
システム構築の自由度を高めることができる。
【0618】また、ネットワーク上の複数台中の1つの
ホストをマスタダウンロードホストあるいはスレーブダ
ウンロードホストとして管理することができるととも
に、初期動作に必要なパラメータ等の変更をも一元管理
することができるので、ネットワーク上のダウンロード
エラー,パラメータ変更情報エラー等が発生しても、登
録されたホスト先指定情報を参照しながらスレーブダウ
ンロードホストより必要な情報を入手して、システム状
態を正常な状態に復帰させることが可能となる。また、
任意のホストとサーバー装置間における通信エラーによ
る他のホストへのプリントサービス,スキャナサービス
中断状態を、即座に復旧させることができるので、サー
バー装置によるプリントサービス,スキャナサービスの
耐故障性を大幅に向上させることができる。さらに、サ
ーバー装置を含むネットワーク構成を簡略化できるとと
もに、ネットワーク上に分散されている記憶資源を有効
に活用したサービスを効率よく安価に提供できる。
【0619】さらに、通信コマンドに対する各ホストか
らの応答時間が所定時間よりも長くなる事態が発生して
も、従来のようなデットロック状態を回避して、所定監
視時間経過後には当該通信を中断して待機状態に自動復
帰でき、他のホストとの通信処理開始を保証することが
できる。
【0620】また、通信処理状態に応じて返信される応
答信号の監視時間が長くなる場合にも、ネットワーク上
での正常なデータ通信処理を継続できる。
【0621】さらに、各ホストから要求されるカラー画
像情報を高速にパケット転送させながら、所望の画像処
理を効率よく行える等の幾多の優れた効果を奏する。
【図面の簡単な説明】
【図1】本発明の第1実施例を示す画像処理システムに
おけるサーバー装置の概要を説明するシステムブロック
図である。
【図2】本発明の第1実施例を閉め得巣画像処理システ
ムの一例を示す示すシステムブロック図である。
【図3】図2に示した画像処理システムにおけるサーバ
ー装置と各ホストとのネットワーク構築状態を示す図で
ある。
【図4】図1に示したメインCPUボード回路の詳細構
成を説明する回路ブロック図である。
【図5】図4に示したメモリクリアコントローラの詳細
構成を説明するブロック図である。
【図6】図5に示したバンドメモリへの画像情報のバン
ド展開処理を説明する模式図である。
【図7】図5に示したバンドメモリへの画像情報のバン
ド展開処理を説明する模式図である。
【図8】図5に示した画像描画処理回路の詳細構成を説
明するブロック図である。
【図9】図1に示した第1のインタフェース回路の内部
構成を説明するブロック図である。
【図10】図9に示したリアルタイム圧縮伸長部の詳細
構成の一例を示すブロック図である。
【図11】図10に示したジグザグスキャン部によるジ
グザグスキャン経路の一例を示す図である。
【図12】図1に示した第1のSPインタフェース回路
のパート構成の概略を説明するブロック図である。
【図13】図1に示した第1のSPインタフェース回路
の詳細内部構成を説明する回路ブロック図である。
【図14】図1に示した第1のSPインタフェース回路
の詳細内部構成を説明する回路ブロック図である。
【図15】図1に示した第1のSPインタフェース回路
の詳細内部構成を説明する回路ブロック図である。
【図16】図1に示した第2のSPインタフェース回路
の詳細内部構成を説明する回路ブロック図である。
【図17】図2に示したスキャナ/プリンタの画像記録
プロセスを説明する模式図である。
【図18】図2に示したスキャナ/プリンタのスキャナ
の原稿走査状態を示す模式図である。
【図19】図2に示したスキャナ/プリンタのスキャナ
のバンド原稿走査状態を示す模式図である。
【図20】本発明に係るサーバー装置とプリンタとのイ
ンタフェース信号の一例を示す図である。
【図21】本発明に係るサーバー装置とプリンタとのイ
ンタフェースの一例を示す回路ブロック図である。
【図22】図21の動作を説明するタイミングチャート
である。
【図23】図21に示したセントロニクスI/F回路に
よるホスト側の信号処理手順の一例を示すフローチャー
トである。
【図24】図21に示したセントロニクスI/F回路に
よるプリンタ側の信号処理手順の一例を示すフローチャ
ートである。
【図25】本発明に係るサーバー装置とホストコンピュ
ータとのプログラム構成を説明する図である。
【図26】本発明に係るサーバー装置における全体制御
手順の一例を示すフローチャートである。
【図27】本発明に係るサーバー装置におけるページ記
述言語に準拠するコード体系の要部を示す図である。
【図28】本発明に係るサーバー装置におけるレイアウ
タによる中間コードへの置換処理を説明する図である。
【図29】本発明に係るサーバー装置におけるバンドメ
モリへの図形情報展開処理状態を示す模式図である。
【図30】本発明に係るサーバー装置におけるページ記
述言語が展開するデータの1画素構造を説明する図であ
る。
【図31】図2に示したスキャナの動作を説明するデー
タ処理経路図である。
【図32】本発明に係るサーバー装置とカラーレーザ複
写装置とのデータ処理状態を説明するブロック図であ
る。
【図33】本発明に係るサーバー装置とカラーレーザ複
写装置とのデータ処理状態を説明するブロック図であ
る。
【図34】本発明に係るサーバー装置とバブルジェット
カラー複写装置とのデータ処理状態を説明するブロック
図である。
【図35】本発明に係るサーバー装置とのネットワーク
システムの構成を説明するブロック図である。
【図36】本発明に係るサーバー装置における異常発生
ジョブ処理手順の一例を示すフローチャートである。
【図37】本発明に係るサーバー装置におけるリトライ
処理手順の一例を示すフローチャートである。
【図38】本発明に係るサーバー装置におけるジョブ制
御状態を説明するタイミングチャートである。
【図39】本発明に係るサーバー装置におけるシステム
全体制御プログラム制御処理状態を示す図である。
【図40】図39に示したシステム全体制御プログラム
制御のイベント処理手順の一例を示すフローチャートで
ある。
【図41】本発明に係るサーバー装置におけるジョブ管
理状態を示す図である。
【図42】本発明に係るサーバー装置におけるジョブ実
行処理手順の一例を示すフローチャートである。
【図43】本発明に係るサーバー装置におけるステータ
スチェック処理手順の一例を示すフローチャートであ
る。
【図44】本発明に係るサーバー装置における優先順位
チェック処理手順の一例を示すフローチャートである。
【図45】本発明に係るサーバー装置におけるインタフ
ェースチェック処理手順の一例を示すフローチャートで
ある。
【図46】本発明に係るサーバー装置におけるジョブ起
動処理手順の一例を示すフローチャートである。
【図47】本発明に係るサーバー装置におけるジョブ処
理状態推移を示すタイミングチャートである。
【図48】本発明に係るサーバー装置におけるジョブ処
理に伴うジョブテーブルの内容を示す図である。
【図49】本発明に係るサーバー装置におけるジョブ処
理に伴うジョブテーブルの内容を示す図である。
【図50】本発明に係るサーバー装置におけるジョブ処
理に伴うジョブテーブルの内容を示す図である。
【図51】本発明に係るサーバー装置におけるジョブ処
理に伴うジョブテーブルの内容を示す図である。
【図52】本発明に係るサーバー装置におけるジョブ処
理に伴うジョブテーブルの内容を示す図である。
【図53】本発明に係るサーバー装置におけるジョブ処
理に伴うジョブテーブルの内容を示す図である。
【図54】本発明に係るサーバー装置におけるジョブ処
理に伴うジョブテーブルの内容を示す図である。
【図55】本発明に係るサーバー装置におけるジョブ処
理に伴うジョブテーブルの内容を示す図である。
【図56】本発明に係るサーバー装置におけるジョブ処
理に伴うジョブテーブルの内容を示す図である。
【図57】本発明に係るサーバー装置におけるジョブ処
理に伴うジョブテーブルの内容を示す図である。
【図58】本発明の第2の実施例を示すサーバー装置の
構成を説明するブロック図である。
【図59】図58に示したSPサーバー装置により合成
される印刷レイアウトを示す模式図である。
【図60】図2に示した第1のステーションのソフトウ
エア構成を説明する図である。
【図61】図60に示した第2のステーションのOSと
各ドライバとの関係を示す詳細図である。
【図62】図60に示したプリンタマネージャーとプリ
ンタドライバとの機能処理を説明する図である。
【図63】図2に示した第2のステーションにおけるネ
ットワークプリンタのプロトコルを説明する図である。
【図64】図2に示した第2のステーションによる印刷
プロセスの一例を示すシーケンス図である。
【図65】図63に示したSPクラアントのプログラム
の構造を示す図である。
【図66】図2に示した第2のステーションとSPサー
バーとのネットワーク接続状態を説明する図である。
【図67】図2に示した第2のステーション上のウイン
ドウズと各ドライバとの関係を説明する図である。
【図68】図2に示した第2のステーション上とSPサ
ーバーとの各ドライバとの関係を説明する図である。
【図69】図2に示した各ホストのネットワークプリン
タ処理プロセスを説明する概念図である。
【図70】本発明に係るサーバー装置のSPサーバと各
ホストのSPクライアントとの交信プロセスを説明する
概念図である。
【図71】図3に示したSPサーバーによるパケット処
理手順の一例を示す図である。
【図72】本発明に係るサーバー装置に接続されるプリ
ンタにおけるカラー/白黒印刷制御手順の一例を示すフ
ローチャートである。
【図73】本発明に係るサーバー装置における印刷ジョ
ブの流れを説明する図である。
【図74】図73に示した白黒印刷吸収条件を示す図で
ある。
【図75】図2に示したSPサーバー装置と第3のステ
ーションとのネットワークシステムの概要を説明するブ
ロック図である。
【図76】図75に示したワークステーションの機能を
説明するブロック図である。
【図77】図75に示したSPサーバーの機能構成を説
明するブロック図である。
【図78】本発明に係るサーバー装置と各ホストとのデ
ータロード処理状態を説明するネットワーク図である。
【図79】図78に示したSPサーバーおよびダウンロ
ードホストの記憶情報を説明するデータ構成図である。
【図80】図78に示したSPサーバーにおけるダウン
ロードホストチェック処理手順の一例を示すフローチャ
ートである。
【図81】図78に示したSPサーバーにおけるプログ
ラム,フォント,フィルタのダウンロード処理手順の一
例を示すフローチャートである。
【図82】図78に示したSPサーバーにおける初期設
定パラメータファイルの変更処理手順の一例を示すフロ
ーチャートである。
【図83】図78に示したマスタのダウンロードホスト
からの初期設定パラメータファイルの変更処理手順の一
例を示すフローチャートである。
【図84】図78に示したマスタのダウンロードホスト
からの初期設定パラメータファイルの変更後処理手順の
一例を示すフローチャートである。
【図85】本発明の一実施例を示すサーバー装置の通信
制御構成を説明するブロック図である。
【図86】図85に示したクライアントサーバー装置と
第1の通信プロトコルの一例を示す図である。
【図87】本発明の一実施例を示すサーバー装置の通信
制御方法を説明するフローチャートである。
【図88】図85に示したクライアントとサーバー装置
と第2の通信プロトコルの一例を示す図である。
【図89】本発明の一実施例を示すサーバー装置の第1
の通信制御方法を説明するフローチャートである。
【図90】本発明の一実施例を示すサーバー装置の第2
の通信制御方法を説明するフローチャートである。
【符号の説明】
96 ネットワーク 1502 プリンタドライバ 1503 S/Pクライアント 1602 S/Pサーバー
【手続補正書】
【提出日】平成5年8月25日
【手続補正1】
【補正対象書類名】図面
【補正対象項目名】図2
【補正方法】変更
【補正内容】
【図2】
フロントページの続き (72)発明者 橋本 裕彦 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 三田 良信 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 下村 ゆかり 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 山田 修 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 齋藤 和浩 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 戸田 雅成 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 福田 康男 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 杉山 光正 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 宍塚 順一 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 根岸 作力 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内 (72)発明者 杉浦 進 東京都大田区下丸子3丁目30番2号 キヤ ノン株式会社内

Claims (5)

    【特許請求の範囲】
  1. 【請求項1】 スキャナ機能処理およびプリンタ機能処
    理を実行する入出力機器が所定のインタフェースを介し
    て接続され、かつ所定のネットワークを介して複数のホ
    ストと通信可能に接続されたサーバー装置において、各
    ホスト特有のプリンタインタフェースに基づいて変換し
    た画像情報を前記サーバー装置に接続される前記入出力
    機器のプリンタ言語に基づく画像情報に変換するプリン
    トドライバと、このプリントドライバの下位レイヤとし
    て、変換された前記画像情報を前記サーバー装置に前記
    ネットワークを介して通信転送するクラアント通信制御
    手段とを各ホストに設け、前記プリントドライバの下位
    レイヤとして、前記ネットワークを介して前記クラアン
    ト通信制御手段と通信しながら受信した前記画像情報を
    前記サーバー装置に転送するサーバー通信制御手段とを
    具備したことを特徴とするサーバー装置。
  2. 【請求項2】 スキャナ機能処理およびプリンタ機能処
    理を実行する入出力機器が所定のインタフェースを介し
    て接続され、かつ所定のネットワークを介して複数のホ
    ストと通信可能に接続されたサーバー装置において、特
    定の1台または優先度が付けられた複数台のホストから
    所望の情報をダウンロードするためのホスト先指定情
    報,前記所望の情報をダウンロードするため緒ダウンロ
    ードプログラム,前記プリント機能処理の実行に必要な
    フォント情報,前記プリント機能処理の実行に必要な印
    刷制御情報を記憶する不揮発性メモリを前記ホストまた
    は所定のネットワーク上に設けたことを特徴とするサー
    バー装置。
  3. 【請求項3】 スキャナ機能処理およびプリンタ機能処
    理を実行する入出力機器が所定のインタフェースを介し
    て接続され、かつ所定のネットワークを介して複数のホ
    ストと通信可能に接続されたサーバー装置の通信処理方
    法において、各ホストからの指示に基づいて前記サーバ
    ー装置から発行される通信コマンドに対する各ホストか
    らの応答時間を計時するタイマを第1の監視時間分起動
    し、該第1の監視時間経過後、前記通信コマンドを再発
    行し、該通信コマンドに対する応答状態を前記第1の監
    視時間よりも所定時間長い第2の監視時間分継続して監
    視し、該監視結果に基づいて各ホストとの通信異常発生
    状態を判定し、該判定結果に基づいて該ホストに対して
    通信中断コマンドを発行し、該通信中断コマンド発行
    後、前記ネットワークとの通信状態を待機状態に設定す
    ることを特徴とするサーバー装置の通信処理方法。
  4. 【請求項4】 スキャナ機能処理およびプリンタ機能処
    理を実行する入出力機器が所定のインタフェースを介し
    て接続され、かつ所定のネットワークを介して複数のホ
    ストと通信可能に接続されたサーバー装置の通信処理方
    法において、各ホストまたはサーバー装置の何れか一方
    から前記ネットワーク上での応答時間を計時するための
    コマンドを発行し、該コマンドに対する応答時間をサー
    バー装置または各ホストが計時し、該計時結果に基づい
    て各ホストとサーバー装置との間の正常応答時間を計時
    するタイマの監視時間を延長することを特徴とするサー
    バー装置の通信処理方法。
  5. 【請求項5】 スキャナ機能処理およびプリンタ機能処
    理を実行する入出力機器が所定のインタフェースを介し
    て接続され、かつ所定のネットワークを介して複数のホ
    ストと通信可能に接続されたサーバー装置の通信処理方
    法において、前記ネットワーク側を低位とし、かつ前記
    ネットワークを介して各ホストから受信した画像情報を
    記憶するバッファメモリを高位とする順次階層する複数
    の通信プログラムを実行して前記バッファメモリに前記
    画像情報を記憶させる際に、低位の通信プログラムから
    上位の通信プログラムに前記画像情報に対する前記バッ
    ファメモリへの展開開始アドレスを催促し、該催促に従
    って高位の通信プログラムから停止の通信プログラムに
    伝達される展開開始アドレスに基づいて低位の通信プロ
    グラムにより前記バッファメモリに前記画像情報を展開
    させることを特徴とするサーバー装置の通信処理方法。
JP02170393A 1993-01-18 1993-01-18 制御装置および制御方法 Expired - Fee Related JP4035173B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP02170393A JP4035173B2 (ja) 1993-01-18 1993-01-18 制御装置および制御方法
US08/657,531 US6321266B1 (en) 1993-01-18 1996-06-04 Input/output apparatus connected to a plurality of host computers via a network

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP02170393A JP4035173B2 (ja) 1993-01-18 1993-01-18 制御装置および制御方法

Publications (2)

Publication Number Publication Date
JPH06214920A true JPH06214920A (ja) 1994-08-05
JP4035173B2 JP4035173B2 (ja) 2008-01-16

Family

ID=12062420

Family Applications (1)

Application Number Title Priority Date Filing Date
JP02170393A Expired - Fee Related JP4035173B2 (ja) 1993-01-18 1993-01-18 制御装置および制御方法

Country Status (2)

Country Link
US (1) US6321266B1 (ja)
JP (1) JP4035173B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7701606B2 (en) 1996-05-14 2010-04-20 Ricoh Company, Ltd. Java printer with a printer control interface in a form of a web page

Families Citing this family (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6134017A (en) * 1994-11-14 2000-10-17 Canon Kabushiki Kaisha Facsimile manager
US6771381B1 (en) 1998-11-13 2004-08-03 Laurence C. Klein Distributed computer architecture and process for virtual copying
JPH11282684A (ja) * 1998-03-27 1999-10-15 Canon Inc 画像処理装置、画像処理装置の制御方法、および記憶媒体
JP4392906B2 (ja) * 1998-08-28 2010-01-06 キヤノン株式会社 情報処理装置及び情報処理方法及び情報処理システム及び情報処理プログラムを記憶した記憶媒体及び情報処理プログラムを送出する送出装置及び情報処理プログラム製品
EP0989516B1 (en) * 1998-09-22 2005-06-15 Hewlett-Packard Company, A Delaware Corporation Image data processing method and corresponding device
JP2000222338A (ja) * 1998-11-25 2000-08-11 Canon Inc 周辺機器及び周辺機器制御方法及び周辺機器制御システム及び周辺機器制御プログラムを記憶した記憶媒体及び周辺機器制御プログラムを送出する送出装置及び周辺機器制御プログラム製品及び情報処理装置及び情報処理方法及び情報処理プログラムを記憶した記憶媒体及び情報処理プログラムを送出する送出装置及び情報処理プログラム製品
US7047292B1 (en) * 1999-05-24 2006-05-16 Cisco Technology, Inc. Prioritizing network management traffic
JP2001086361A (ja) * 1999-09-17 2001-03-30 Minolta Co Ltd 画像処理装置
JP2001117979A (ja) * 1999-10-15 2001-04-27 Fuji Photo Film Co Ltd ネットワーク用情報端末及びプリント方法
US6707568B1 (en) * 1999-11-02 2004-03-16 Ricoh Company, Ltd. Printer driver filter and method of printing with the same
US7644119B1 (en) * 2000-02-04 2010-01-05 Canon Kabushiki Kaisha Computer network scanning
US7454457B1 (en) 2000-02-07 2008-11-18 Parallel Networks, Llc Method and apparatus for dynamic data flow control using prioritization of data requests
US8256430B2 (en) 2001-06-15 2012-09-04 Monteris Medical, Inc. Hyperthermia treatment and probe therefor
JP3602036B2 (ja) * 2000-06-30 2004-12-15 シャープ株式会社 プログラム供給システム及びプログラム供給方法
US7693961B2 (en) * 2000-06-30 2010-04-06 Sharp Kabushiki Kaisha Method and system for supplying programs
US7023566B2 (en) * 2000-12-12 2006-04-04 Xerox Corporation Page description language on demand printing
US7006249B2 (en) * 2001-01-18 2006-02-28 Kabushiki Kaisha Toshiba Image forming system
JP3450830B2 (ja) * 2001-02-02 2003-09-29 パナソニック コミュニケーションズ株式会社 画情報送信システム、スキャナ装置およびユーザ端末装置、並びにスキャナ装置へのユーザ端末情報登録方法
US20020174173A1 (en) * 2001-03-30 2002-11-21 Ravindranath Gunturu Self-downloading network client
US7246177B2 (en) * 2001-05-17 2007-07-17 Cyber Ops, Llc System and method for encoding and decoding data files
JP4576071B2 (ja) * 2001-07-02 2010-11-04 パナソニックシステムネットワークス株式会社 ネットワーク画像処理装置および監視装置並びにその方法
US7086055B2 (en) * 2001-08-02 2006-08-01 Hewlett-Packard Development Company, L.P. Computer system and method for increased processing power by communicating with non-computer devices
US20030046501A1 (en) * 2001-09-04 2003-03-06 Schulz Jurgen M. Method for interleaving memory
US7102779B2 (en) * 2001-11-07 2006-09-05 Hewlett-Packard Development Company, L.P. Collective document processing by multiple printing devices
US7151745B2 (en) * 2001-11-08 2006-12-19 Broadcom Corporation Scalable synchronous packet transmit scheduler
JP2003271572A (ja) * 2002-03-14 2003-09-26 Fuji Photo Film Co Ltd 処理分散制御装置、分散処理システム、処理分散制御プログラム、処理分散制御方法
US7324229B2 (en) * 2002-04-10 2008-01-29 Texas Instruments Incorporated Rendering in a printer using bands
US20030225824A1 (en) * 2002-05-28 2003-12-04 Vincent Wu System and method for transferring image data to a server
US7102767B2 (en) 2002-07-19 2006-09-05 Kabushiki Kaisha Toshiba Print module for direct multiple image formatting and printing
US7511861B2 (en) * 2002-08-30 2009-03-31 Hewlett-Packard Development Company, L.P. Multi-page facsimile method and device
JP4329321B2 (ja) * 2002-09-27 2009-09-09 ブラザー工業株式会社 画像形成装置及び画像形成方法
JP2004140683A (ja) * 2002-10-18 2004-05-13 Ricoh Co Ltd 画像処理装置
US20040160630A1 (en) * 2003-01-20 2004-08-19 Konica Minolta Holdings, Inc. Image printing system
KR100432367B1 (ko) * 2003-04-30 2004-05-20 푸른정보기술(주) 네트웍/로컬/공유 프린터들의 관리 및 인쇄 제어시스템
US20050062986A1 (en) * 2003-09-24 2005-03-24 Che-Hung Hu Color level adjusting module and method thereof
US7515315B2 (en) * 2003-10-14 2009-04-07 Sharp Laboratories Of America, Inc. Scan description language
JP4174411B2 (ja) * 2003-10-30 2008-10-29 キヤノン株式会社 ジョブ管理装置、ジョブ管理方法、及びジョブ管理用プログラム
JP2005334110A (ja) * 2004-05-25 2005-12-08 Ziosoft Inc ボリュームレンダリング等の画像処理システム
US7791751B2 (en) * 2004-11-30 2010-09-07 Palo Alto Research Corporation Printing systems
US20060146361A1 (en) * 2004-12-30 2006-07-06 Lexmark International, Inc. Network scanning from a scanning device
EP1696655A3 (en) * 2005-02-25 2007-07-25 Canon Kabushiki Kaisha Information processor
US7568628B2 (en) 2005-03-11 2009-08-04 Hand Held Products, Inc. Bar code reading device with global electronic shutter control
US7516255B1 (en) * 2005-03-30 2009-04-07 Teradici Corporation Method and apparatus for providing a low-latency connection between a data processor and a remote graphical user interface over a network
US7770799B2 (en) 2005-06-03 2010-08-10 Hand Held Products, Inc. Optical reader having reduced specular reflection read failures
JP4577118B2 (ja) * 2005-06-24 2010-11-10 ブラザー工業株式会社 サービス提供システム、クライアント、サーバおよびプログラム
CA2633320C (en) * 2005-12-29 2014-04-22 Chad Burchett Battery box system and method
US8107758B2 (en) * 2008-04-16 2012-01-31 Microsoft Corporation Block based image processing
JP2010252060A (ja) * 2009-04-16 2010-11-04 Hitachi Ltd 送受信システムにおける送受信方法
CN102193882B (zh) * 2010-03-15 2014-09-10 京瓷办公信息系统株式会社 数据处理装置以及数据处理方法
JP2011223218A (ja) * 2010-04-07 2011-11-04 Sony Corp 画像処理装置、画像処理方法、及びプログラム
JP2012074923A (ja) * 2010-09-29 2012-04-12 Brother Ind Ltd 多機能機及びコンピュータプログラム
JP5782925B2 (ja) * 2011-08-31 2015-09-24 富士通株式会社 情報処理装置、プログラム、および制御方法
US9158480B2 (en) * 2011-12-19 2015-10-13 Hewlett-Packard Development Company, L.P. Printer application states
JP6074165B2 (ja) 2012-06-01 2017-02-01 キヤノン株式会社 情報処理装置、情報処理方法およびプログラム
EP2866723A4 (en) 2012-06-27 2016-12-14 Monteris Medical Corp GUIDED THERAPY BY IMAGE OF A FABRIC
JP5743333B2 (ja) * 2012-08-02 2015-07-01 京セラドキュメントソリューションズ株式会社 画像形成システム及び画像形成システム用プログラム
JP5316730B1 (ja) * 2013-02-25 2013-10-16 富士ゼロックス株式会社 印刷制御装置、印刷システム及びプログラム
JP6009371B2 (ja) * 2013-02-26 2016-10-19 ルネサスエレクトロニクス株式会社 画像処理lsi及び画像処理プログラム
US9492121B2 (en) 2014-03-18 2016-11-15 Monteris Medical Corporation Image-guided therapy of a tissue
US9504484B2 (en) 2014-03-18 2016-11-29 Monteris Medical Corporation Image-guided therapy of a tissue
US10675113B2 (en) 2014-03-18 2020-06-09 Monteris Medical Corporation Automated therapy of a three-dimensional tissue region
US10327830B2 (en) 2015-04-01 2019-06-25 Monteris Medical Corporation Cryotherapy, thermal therapy, temperature modulation therapy, and probe apparatus therefor
JP6638300B2 (ja) * 2015-10-08 2020-01-29 株式会社リコー 機器、情報処理方法、及びプログラム
US10429810B2 (en) 2016-06-07 2019-10-01 Funai Electric Co. Ltd. Fluidic device control
US10445042B1 (en) * 2018-03-26 2019-10-15 Toshiba Tec Kabushiki Kaisha Interface device and printer
US10834347B2 (en) * 2018-09-17 2020-11-10 Omnivision Technologies, Inc. Image sensor having separate, stacked, pixel array, DRAM, and logic/analog-digital converter integrated circuit die
JP2022049769A (ja) * 2020-09-17 2022-03-30 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4057849A (en) * 1974-09-23 1977-11-08 Atex, Incorporated Text editing and display system
US4754428A (en) * 1985-04-15 1988-06-28 Express Communications, Inc. Apparatus and method of distributing documents to remote terminals with different formats
US4713780A (en) * 1985-04-15 1987-12-15 Express Communications, Inc. Electronic mail
US5095301A (en) * 1985-11-06 1992-03-10 Texas Instruments Incorporated Graphics processing apparatus having color expand operation for drawing color graphics from monochrome data
JPS6320671A (ja) * 1986-07-15 1988-01-28 Brother Ind Ltd 文章処理装置
US5274470A (en) * 1987-09-30 1993-12-28 Sharp Kabushiki Kaisha Data converter and image reader using the same
JP2781227B2 (ja) * 1989-06-30 1998-07-30 株式会社リコー グループ4ファクシミリ通信アダプタ装置
GB9005697D0 (en) * 1990-03-14 1990-05-09 Digital Equipment Int Data format conversion
EP0447252B1 (en) 1990-03-15 1999-05-26 Canon Kabushiki Kaisha Image communication method and apparatus
JP3019358B2 (ja) * 1990-04-10 2000-03-13 ミノルタ株式会社 複写機管理装置
US5300980A (en) * 1990-04-10 1994-04-05 Minolta Camera Kabushiki Kaisha Control apparatus of copying machine with improved communication function for centralized control unit
US5216461A (en) * 1990-07-31 1993-06-01 Minolta Camera Kabushiki Kaisha Control system for copying machine with improved communication function to centralized control unit
US5220380A (en) * 1990-08-10 1993-06-15 Minolta Camera Kabushiki Kaisha Control system for copying machines with improved communication function for centralized control unit
US5544317A (en) * 1990-11-20 1996-08-06 Berg; David A. Method for continuing transmission of commands for interactive graphics presentation in a computer network
DE69126403T2 (de) 1990-11-21 1997-10-30 Canon Kk Farbbildübertragungsgerät
US5295236A (en) * 1991-03-04 1994-03-15 Aldus Corporation Applying traps to a printed page specified in a page description language format
US5933580A (en) * 1991-09-04 1999-08-03 Canon Kabushiki Kaisha Scanner printer server
JP3227744B2 (ja) * 1991-11-06 2001-11-12 ミノルタ株式会社 画像形成装置の管理システム
JP3281080B2 (ja) * 1992-03-13 2002-05-13 株式会社リコー 複写機管理システムおよびファクシミリ装置
US5657461A (en) * 1993-10-04 1997-08-12 Xerox Corporation User interface for defining and automatically transmitting data according to preferred communication channels
JP3534331B2 (ja) * 1994-08-09 2004-06-07 ゼロックス コーポレイション ネットワークインタフェースを使用して多種のローカル及びリモートソースから多セグメント印刷ジョブを構築する方法
JPH0937013A (ja) * 1995-07-25 1997-02-07 Fujitsu Ltd イメージスキャナ並びにイメージスキャナのネットワーク接続方式
US5911044A (en) * 1996-11-08 1999-06-08 Ricoh Company, Ltd. Network image scanning system which transmits image information from a scanner over a network to a client computer
US6167462A (en) * 1998-12-11 2000-12-26 Hewlett-Packard Company Remote scanning through a computer system network

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7701606B2 (en) 1996-05-14 2010-04-20 Ricoh Company, Ltd. Java printer with a printer control interface in a form of a web page

Also Published As

Publication number Publication date
US6321266B1 (en) 2001-11-20
JP4035173B2 (ja) 2008-01-16

Similar Documents

Publication Publication Date Title
JP4035173B2 (ja) 制御装置および制御方法
JP3486427B2 (ja) 制御装置および制御方法
JP3332443B2 (ja) 情報処理装置および情報処理方法
JP3792733B2 (ja) サーバー装置および制御方法
US6804016B2 (en) Control apparatus for a scanner/printer
US6587735B1 (en) Data processing apparatus and processor selection method
JP3826038B2 (ja) 印刷システム及びその印刷方法並びに印刷装置
JP2001071602A (ja) 情報処理装置、情報処理方法、および記憶媒体
JPH07271702A (ja) スキャナプリンタサーバーシステムおよびスキャナプリンタサーバーシステムの有効機能管理方法
US6226095B1 (en) Image processing apparatus, method, and system
JP3962606B2 (ja) 印刷命令生成装置及び方法、印刷装置及びその制御方法、情報処理装置及び印刷システム
JP3257895B2 (ja) スキャナプリンタサーバーシステムおよび自動画像転送方法およびスキャナプリンタサーバー
US20050219568A1 (en) Image processing apparatus and its method, and image processing system and its control method
JPH0816332A (ja) スキャナプリンタサーバーシステムおよびそのデータ処理方法
US6081347A (en) Image data transfer method and image transfer system therefor
JP4072439B2 (ja) 画像処理装置、データ通信方法、及びプログラム
JP3244138B2 (ja) サーバー装置
JPH06214923A (ja) サーバー装置
JPH06214919A (ja) サーバー装置およびその画像処理方法
JP3584247B2 (ja) 印刷制御装置及び制御方法
JP2004326266A (ja) 印刷制御方法、情報処理装置及び印刷装置
JP2003304368A (ja) 記録制御装置及び該装置における制御方法
JPH09218763A (ja) 印刷処理システム
JP3639838B2 (ja) 印刷制御装置及びその制御方法
JP2003122521A (ja) 印刷システム、情報処理装置、それらの描画方法、プログラム及び記憶媒体

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070423

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070925

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20070925

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20071029

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101102

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111102

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121102

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees