JPH09270795A - ネットワークにおいてプリンタを発見しエージングする方法 - Google Patents

ネットワークにおいてプリンタを発見しエージングする方法

Info

Publication number
JPH09270795A
JPH09270795A JP8184899A JP18489996A JPH09270795A JP H09270795 A JPH09270795 A JP H09270795A JP 8184899 A JP8184899 A JP 8184899A JP 18489996 A JP18489996 A JP 18489996A JP H09270795 A JPH09270795 A JP H09270795A
Authority
JP
Japan
Prior art keywords
printer
socket
information
network
data
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
JP8184899A
Other languages
English (en)
Other versions
JP3666619B2 (ja
Inventor
Kevin Agatone
アガトーン ケビン
Orzol Roman
オーゾル ローマン
Tim Deppa
デッパ ティム
Hopkins Jon
ホプキンス ジョン
Ponna Arumgam
アルムガム ポーナ
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.)
Oki Semiconductor America Inc
Original Assignee
Oki America 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
Priority claimed from US08/665,627 external-priority patent/US5852744A/en
Priority claimed from US08/666,706 external-priority patent/US6249821B1/en
Application filed by Oki America Inc filed Critical Oki America Inc
Publication of JPH09270795A publication Critical patent/JPH09270795A/ja
Application granted granted Critical
Publication of JP3666619B2 publication Critical patent/JP3666619B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks

Abstract

(57)【要約】 (修正有) 【課題】 オブジェクト指向技術を用いて、ネットワー
クにおいて特定のプリンタ・タイプのプリンタを発見す
る。 【解決手段】 プリンタ・タイプに関するソケット・ア
イデンティファイアー(ID)を設ける。ソケットは、
ポーリング・モードにおいて、ソケットIDが付けられ
たネットワークの出力データを待って受信してプリンタ
に送信し、リスン・モードでは、プリンタからの入力デ
ータを待って受信してネットワークに送信する。プリン
タは周期的にポーリングされ、ソケットはリスン・モー
ドに置かれ、ポーリング・データに対するプリンタから
のプリンタ・データを受信したかどうかの判断がなされ
る。プリンタ・データが受信されたならば、プリンタ情
報オブジェクトがプリンタのためのプリンタ情報を記憶
したかどうかに基づいて、プリンタが以前に発見された
ものかどうかが判断される。以前に発見されたものでな
かったならば、プリンタ情報がプリンタ情報オブジェク
トとして生成され記憶される。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、コンピュータ・ネ
ットワーク環境におけるプリンタ管理設定及び制御に関
する。特に、本発明は、ネットワークにおいてプリンタ
・デバイスの位置を付き止め又は「発見し」、この発見
されたプリンタ・デバイスの状態を測定及び追跡し、こ
の発見されたプリンタ・デバイスが動作を終えたとき又
はネットワーク上でもはやサービスを提供しなくなると
きを決定することに関する。
【0002】
【従来の技術】プリンタ・デバイス又はプリンタがコン
ピュータ・ネットワーク環境において発見されるために
は、プリンタは、その存在をアドバタイジングし又はブ
ロードキャストしなければならない。一般には、サービ
ス・アドバタイジング・プロトコル(SAP)がそのよ
うなブロードキャストに用いられ、ネットワーク上で動
作しているネットワーク・サーバーがSAPブロードキ
ャストを集め、SAPをネットワーク・データベース内
に取り込んでいる。ネットワーク・アプリケーション
は、そのようなプリンタの存在を検索することが必要な
ときに、ネットワーク・データベースを読むことができ
る。ネットワーク・データベースは、直接にプリンタと
通信するために使用されるネットワーク・アドレシング
のような情報を提供することもできる。一旦、プリンタ
がアプリケーションに知られたならば、そのアプリケー
ションは、プリンタに関する広範な情報を引き出すこと
ができる。
【0003】ご存じのように、プリンタのようなネット
ワーク・デバイスを定義する変数を読み取り及び書き込
むために、コンピュータ・ネットワーク環境において一
般的な管理プロトコルが使用されてもよい。管理プロト
コルの一つのタイプは、読み出されること又は書き込ま
れることができるデバイスの変数を定義するために管理
情報ベース(MIB)を用いる簡易ネットワーク管理プ
ロトコル(SNMP)である。そのようなプロトコルを
用いると、アプリケーションは、プリンタのようなネッ
トワーク・デバイスと両方向に通信できる。
【0004】ネットワークに接続されたデバイス間の通
信は、チャンネル、ポート、又は「ソケット」を生成す
ることによって可能になる。それぞれのソケットは、第
1のデバイスと第2のデバイスとの間の論理接続を定め
る。当該技術分野の専門家によって理解されるように、
ソケットによって接続された第1及び第2のデバイス
は、ソケットによって又はソケットを通してのみ互いに
通信することができる。ネットワーク媒体を通して互い
に通信しているソフトウェア・タスクにも、同じ説明が
当てはまる。ソケット上で接続されたタスクは、互いに
信号又はメッセージを送信することを保証される。
【0005】メッセージは、メッセージが正しい着信先
タスクを終端とし、ソケットのそれぞれのエンドが、通
信されようとしている情報又はデータを解読することが
できるようにパケット化されているデータの流れであ
る。パケット化された情報は、通信チャンネルの状態を
変えることができるアイデンティファイア及びインデッ
クスを含む。
【0006】当該技術分野の専門家が認めるように、オ
ブジェクト指向分析及び設計(OOA&D)は、オブジ
ェクト・コンポーネント間のインタラクションをクラス
分けし(分類し)及び記述し、その後、そのようなオブ
ジェクト・コンポーネントをカプセル化及びモデル化す
るためのアプローチである。クラスィフィケーション
(クラス分け又は分類)は、オブジェクト・コンポーネ
ントを一般化することによって定義される。オブジェク
ト・コンポーネントは、個々の構成要素(エンティテ
ィ)として振る舞い、そして固有の振る舞い及び記述的
な属性(アトリビュート)を持つ特徴及び機能を認識す
ることによって識別される。以下に説明される本発明に
おいては、クラスィフィケーション、オブジェクト・コ
ンポーネント、及びオブジェクト・コンポーネント間の
インタラクションのセットが定義される。図面に見られ
るように、本発明のOOA&Dは、クラスィフィケーシ
ョン及びオブジェクト・コンポーネント図を用いること
によって完全に説明することができる。
【0007】OOA&Dオブジェクト技術、オブジェク
ト分析、設計理論、及び用語は、「アプリケーションを
用いるオブジェクト指向分析及び設計(Object-Oriente
d Analysis and Design with Application)」、グラデ
ィ ブーチ(Grady Booch)、[レッドウッド シテ
ィ、 カリフォルニア、 ベンジャミン/カミングス、
1993]において詳細に論じられており、言及されて
いる。互いの上に作られるオブジェクト設計により(即
ち、新オブジェクトは、一般に、旧オブジェクトから作
られるので)、いくつかのクラス・ライブラリが、新し
い分析及び設計を始めるために利用できる。本発明のオ
ブジェクト設計は、ロウグ・ウェイブ・ファウンデイシ
ョン・クラス・ライブラリ(Rogue Wave Foundation Cla
ss Libraries) のツールズ・エイチ・プラスプラス(T
OOLS.H++)上に作られる。理解されるように、
TOOLS.H++は、文字列(ストリングス)、マル
チバイト文字列、ローカライズド日時、ハッシュ・セッ
ト(hash sets)、2進木(二分木)、辞書、分類され
たリスト、リンクされたリスト等のようなオブジェクト
のクラスィフィケーションを有する。
【0008】モデル・ビュー・コントローラ(MVC)
のアーキテクチャ(構造)は、OOA&Dアプリケーシ
ョンによって使用される有用なアーキテクチャである。
MVCは本質的に、物理データ収集(モデル)を容易に
し、データ・プレゼンテーションの表示又は構成(ビュ
ー)を容易にし、プレゼンテーションと使用者又は外部
の影響との間のインタラクション又はインタフェース
(コントローラ)を容易にする、オブジェクト及びクラ
スィフィケーションの3つの組である。
【0009】モデルは、フィジカル・デバイス(物理装
置)の物理データ収集又は内容であり、システムによっ
て記述される振る舞い又はデバイスが、オブジェクトを
作り上げる。それぞれのモデルは、使用者又は外部の影
響にとって知る又は知ることができない生データを追跡
している。ビューは、モデルに直接インタラクトし、そ
の第1の目的がモデルの生データを形成し又は提供する
ことであるオブジェクトである。それぞれのモデルが、
いくつかのビューの例を含むことができ、それぞれのビ
ューは、1つのモデルのためにのみ存在することができ
る。
【0010】それぞれのビューの例は、異なる方法でモ
デルを提供することができ、又は、モデルに関するセク
ション、サブセクション、或いは情報を提供することの
みができる。ビューは、情報を生データとしてモデル内
に書き込むこともできる。MVCの実行において、もし
少なくとも1つのビューがそのようなモデルのために存
在するならば、生情報はモデルによって周期的に集めら
れる。モデルのために生成された全てのビューのモデル
にリファレンスが登録される。ビューが破壊されたとき
に、個々のリファレンスは、個々のモデルによって解放
される。
【0011】モデル及びビューは、コントローラ・オブ
ジェクト(ユーザー・インターフェース・オブジェクト
とも呼ばれる。)の動作によって操作され処理される。
コントローラ・オブジェクトは、関連するモデルにおい
てリアクションを交互に生じさせることができるビュー
の方法を呼び出させる。従って、コントローラ・オブジ
ェクトは、MVCアーキテクチャをおおいに事象駆動
(イベント駆動)させる傾向がある。それゆえ、マイク
ロソフト社からのマイクロソフト・ウィンドウズ・オペ
レーティング・システムのような事象駆動オペレーティ
ング・システムは、MVCアーキテクチャの完全な存在
を許可する。
【0012】
【発明が解決しようとする課題】以下に説明される本発
明においては、最少のステップとネットワーク・トラフ
ィックによって、プリンタの存在及びプリンタの状態を
発見する方法が開示されている。その方法は、専用ソケ
ットを越えてネットワーク・ブロードキャスト・メッセ
ージを利用する。専用ソケットは、ネットワーク・コミ
ュニティーに登録されるか、いかなる現存のソケットと
も対立しない一時的に割当てられたソケットとして、ネ
ットワーク・オペレーティング・システムから入手され
る。ブロードキャスト・レスポンスにおいて使用される
プロトコルは、プリンタ状態情報を含む。プリンタ状態
情報は、実際のプリンタ・デバイスを生成するコンポー
ネント・オブジェクトに維持される。本発明において
は、タスク間通信状態情報をカプセル化し、アプリケー
ションとデバイスとの間の実際の通信チャンネルを提供
するために、デバイス・モデルが用いられる。
【0013】
【課題を解決するための手段】簡単に言えば、本発明
は、ネットワークにおいて特定のプリンタ・タイプを持
つプリンタを発見することに関する。そのプリンタ・タ
イプに関するソケット・アイデンティファイア(ID)
を持つソケットは、ネットワークによって設定され、ネ
ットワークは、そのソケットを通してプリンタと通信す
る。ソケットは、ポーリング・モードとリスン・モード
とを有する。ポーリング・モードにおいては、ソケット
は、ソケットIDが付けられたネットワークからの出力
データを待って受信し、この受信された出力データをプ
リンタに送信する。リスン・モードにおいては、ソケッ
トは、プリンタから入力データを待って受信し、この入
力データをネットワークに送信する。
【0014】ネットワークは、一旦プリンタが発見され
たならば、プリンタに関するプリンタ情報を記憶するた
めのプリンタ情報オブジェクトを設定する。ネットワー
クは、プリンタ情報オブジェクトを持つプリンタ情報を
維持及び更新する。加えて、ネットワークは、周期的な
タイミング信号TICKを提供するタイマーを設定す
る。
【0015】プリンタは、N個のタイミング信号TIC
Kごとに1度、周期的にポーリングされる。それぞれの
ポーリングは、ソケットをポーリング・モードに置き、
ソケットIDが付けられたポーリング・データをプリン
タによる受信のためにソケットに送信し、ソケットをリ
スン・モードに置き、ソケットがプリンタからプリンタ
・データを受信したかどうかを判断するために待つステ
ップを含む。
【0016】もしソケットがプリンタからプリンタ・デ
ータを入手したならば、ネットワークは、プリンタ情報
オブジェクトがプリンタのプリンタ情報を記憶している
かどうかに基づいて、プリンタが以前に発見されたかど
うかを、プリンタ情報オブジェクトから判断する。もし
プリンタが以前に発見されていなかったならば、プリン
タのプリンタ情報が、プリンタ情報オブジェクトにおい
て生成され、記憶される。
【0017】
【発明の実施の形態】以上の概要及び本発明の好ましい
実施の形態の以下の詳細な説明は、添付図面とともに読
まれたときに、よりよく理解されるであろう。本発明を
説明するために、現在好ましい実施の形態が図面に示さ
れる。しかし、本発明は、図示される配置、形状、及び
機器そのものには限定されない。
【0018】本発明の好ましい実施の形態は、ネットワ
ーク・プリンティング・デバイスを設定し制御するため
に、コンピュータ・ネットワーク環境において生み出さ
れた。好ましい実施の形態は、発明されたクラスィフィ
ケーションの点から説明されている。クラスィフィケー
ションの多くのものについて、責任(自ら行うこと(re
sponsibilities))及び協力(協同して行うこと(coll
aborations))の説明がなされる。説明の目的のために
必要とされる方法が、クラスィフィケーションを理解す
るために必要とされるところに掲載されている。あるも
のは、ロウグ・ウェイブ(RogueWave)のTOOLS.
H++クラス・ライブラリーのような外部クラス・ライ
ブラリーから現われ、また、あるものは、振る舞いが自
明である例示されたクラスィフィケーション又はパラメ
ータ化されたクラスとして存在するので、好ましい実施
の形態を最終的に実行するクラスィフィケーションのす
べてが、ここで説明されているわけではない。
【0019】詳細に図面を参照すると、図1に、本発明
の好ましい実施の形態によるネットワーク・クラスィフ
ィケーション図が示されている。 図1及び全ての他の
オブジェクト指向図を説明するに際して、グラディ・ブ
ーチのオブジェクト指向分析及び設計(OOA&D)方
法論が用いられる。OOA&Dの技術分野において通常
の技量を有する者は、以下の説明において及び図面にお
いて用いられる用語及び記号を思い出し、理解するであ
ろう。クラス及びオブジェクト名のいくつかは、他の類
似した名称が付けられたオブジェクトと区別されるため
に、接頭辞OVxxx(オーブイ…)を使用する。もち
ろん、当該技術分野における専門家は、いかなる名称
も、限定を意図したものではなく、実質的には、本発明
の精神及び範囲から離れることなく、いかなる名称が使
用されてもよいことを認識するでしょう。図1に現われ
るクラスとそれらの関係を説明する。
【0020】[OVモデル(オーブイモデル:OVMo
del)]OVモデルは、オキビュー(OkiVie
w)MVCデザインのためのベース・クラス・モデルで
あり、ベース・オキビュー・モデリング図を説明する。
そのような図は、オブジェクト指向設計の大部分におい
て明白なMVCアーキテクチャに非常に類似している。
【0021】責任: 1.情報を更新するためにモデルとビュー(以下に説明
されるOVビュー)との間の関係を維持する。
【0022】2.ビューを登録し及びリストからビュー
を削除することを含むモデルにアクセスするために構成
されたビューのリストを維持する。
【0023】3.モデル状態及び情報を更新するために
同期方法「スキャン」を提供する。「スキャン」は、も
し現在登録されているビューがなければ、更新を禁止す
るメカニズムを提供する。
【0024】協力: 1.モデルが内容又は状態の変更があったことを検出し
たときに、OVビュー法「更新」にアクセスする。
【0025】[OVビュー(オーブイビュー:OVVi
ew)(図示せず)]OVビューは、オキビューMVC
デザインのためのベース・クラス・ビューである。
【0026】責任: 1.ビューと、ビューによってモニターされたモデルと
の間の関係を維持する。
【0027】2.全体ビューの一部として構成された子
ビューのリストを維持する。それぞれの子ビューは、親
ビューとは異なるモデルを持ってもよい。
【0028】3.新しい情報が利用可能になったとき
に、いかなる現存の親ビューをも更新する。
【0029】4.表示されるべきモデルからの新しい情
報を許可する方法「更新」を提供する。
【0030】5.破壊されたときにモデルが呼び出すこ
とができる方法「リタイア(引退)」を提供する。
【0031】協力: 1.親ビューは、新しい情報が利用できるときに、互い
に通知するため、存在する子ビューと共に動作する。
【0032】[タイマー(Timer)(図1には示さ
れず、図5に示される。)]このクラスは、周期的に
「ウェイク・アップする(目覚める)」能力を備えたオ
ブジェクトを記述し、シンクタスク型のオブジェクトの
リストを含む。タイマーは、オペレーティング・システ
ムとインタフェースで接続され、タイマー法にコールバ
ックする手段を提供する。コールバックはシンクタスク
・オブジェクトのリストをトラバース(走査)し、それ
ぞれの「ティック(TICK)」法を呼び出す。シンク
タスク・オブジェクトの形成中にシンクタスクは、タイ
マーに登録される(即ち、タイマー・リストにシンクタ
スク・リファレンスを記憶させる。)。シンクタスク・
オブジェクトの破壊の間に、リファレンスが取り除かれ
る。
【0033】責任: 1.タイマーが始動したときに設定された周期的な間隔
でウェイク・アップする。
【0034】2.シンクタスク型のタスクのリストを維
持する。シンクタスクは、ウェイク・アップ期間に、タ
イマーによって呼ばれたティックと呼ばれる方法を提供
する。
【0035】3.タイマーを始動させ停止させる方法を
提供する。
【0036】協力: 1.ティック法を呼び出すために、すべての登録された
シンクタスク・オブジェクトへのリファレンスを維持す
る。
【0037】[シンクタスク(SynchTask)]
このクラスは、ティックと呼ばれる単一の機能を周期的
にウェイク・アップし実行することができるタスクを記
述する。この能力を受け継ぐいかなるクラスも、ティッ
ク機能を提供する。シンクタスク・オブジェクトは、タ
イマー・クラスに登録される。タイマー・クラスは、オ
ペレーティング・システム内のタイマーの用い方を知る
単一のインスタント・オブジェクトを生成する。
【0038】責任: 1.導出されたクラスが、一定の周期でアクセスされな
ければならない情報を処理するために、定義することが
できる実際のティック法を提供する。
【0039】2.周期的な更新インターバルを始動し停
止する方法を提供する。
【0040】協力: 1.タイマー・リストからのシンクタスク・オブジェク
トの追加及び削除を許可するため、タイマーへのリファ
レンスを維持する。
【0041】[オキビューユーティリティ(OkiVi
ewUtility)]このクラスは、すべての他のク
ラスの所有権を定める。理解されるように、システムを
構築しアプリケーション内にそれらの存在を記憶するす
べての個々のクラスの例を生成するより、オキビューユ
ーティリティのオブジェクト又はタイプの例をもたらす
方が簡単なので、「所有権」は、アプリケーション開発
者にとって便利な方策である。
【0042】責任: 1.オブジェクト・タイマとOVネットワークの集合体
を維持する。多くの他のオブジェクトが、タイマ及びO
Vネットワークの集合体として保有される。
【0043】2.オブジェクトの動作のためのプレファ
ランス情報にアクセスするための動作環境へのインタフ
ェースをカプセル化する。
【0044】協力: 1.オブジェクトを生成及び破壊するために、タイマー
へのリファレンスを維持する。
【0045】2.オブジェクトを生成し、初期化し、破
壊するためにOVネットワークへのリファレンスを維持
する。
【0046】[OVネットワーク(オーブイネットワー
ク:OVNetwork)]このクラスは、ネットワー
ク・サービスを構築するすべてのプライマリー・クラス
の集合体を含み、すべてのそのような集合体オブジェク
トの生成と破壊の責任を負う。OVネットワークは、O
Vモデルとシンクタスクから多重に受け継がれる。OV
モデルは、OVネットワークにビュー・クラス(OVビ
ュー)を更新させ、モデルの振る舞いを維持する。シン
クタスクは、OVネットワークに、ネットワークに関す
る新しい情報を周期的に開示させ、集合体オブジェクト
の少なくともいくつかをそれら自身の新しい情報として
開示させる。もしモデルに登録されたビューがなけれ
ば、OVネットワーク又はいかなる集合体によっても正
式な動作が実行されないという点において、更新された
情報は、インテリジェントに実行される。OVモデル
は、登録されたビューの活動中のリストを提供する。ア
プリケーション開発者は、OVネットワークに直接メッ
セージを送信することができ、又は、必要とされれば集
合体オブジェクトにメッセージを送信することをOVネ
ットワークに要求することができる。
【0047】責任: 1.ネットワークAPI(アプリケーション・プログラ
ム・インターフェース)へのアクセスを開始するために
IPX(インターネット・パケット・イクスチェンジ)
サービスを生成する。
【0048】2.NWサーバー型のネットウェア・サー
バー・オブジェクトのリストを維持する。
【0049】3.ネットワーク上において現在サービス
を提供しているネットウェア・サーバーのリストを更新
するために、ネットワークAPIからのメカニズムをカ
プセル化する。
【0050】4.アプリケーションとプリンタ・デバイ
スとの間の通信のためのソケット接続を維持する。
【0051】5.ネットワーク上に存在し、事前に定義
されたソケット接続に応答する新プリンタ・デバイスを
発見する手段を提供する。これは、OVネットワークに
よって提供されるティック法の間に起こる。
【0052】6.サーバーに新しい状態情報をスキャン
させる手段を提供する。これは、OVネットワークによ
って提供されたティック法の期間に起こる。
【0053】7.ネットワーク上で発見されたプリンタ
・デバイスのリストを維持する。
【0054】協力: 1.プリファランス情報にアクセスするためオキビュー
ユティリティへのリファレンスを維持する。
【0055】2.クライアント・ステーション・ネット
ワーク・APIパラメータに関する情報にアクセスする
ためIPXサービスへのリファレンスを維持する。
【0056】3.プリンタ・デバイスからの情報にアク
セスするため、生成されたソケットへのリファレンスを
維持する。
【0057】[IPXサービス(アイピーエックスサー
ビス:IPXService)]このクラスは、ネット
ウェア IPX APIのためのIPXバインディン
グ、開始、及び終了を提供する。これは、ネットウェア
API関数呼び出し(コール)のカプセル化である。ア
プリケーション開発者によって要求されるいかなる追加
のステップをも用いることなく、IPXサービスの例
は、ネットワーク環境及び他のネットワーク・デバイス
と通信を開始するために、クライアント・ステーション
のすべての必要な操作を提供する。もし必要があれば、
アプリケーション開発者が、クライアント・ワークステ
ーション及びネットワーク環境の操作及び他のリファレ
ンスのためのIPXサービスについて言及してもよい。
IPXサービス・クラスは、ネットウェアAPIを初期
化する責任を持つので、それは単一のインスタンス・オ
ブジェクトである。IPXサービスはまた、IPXソケ
ットの非公開のリストをも含んでいる。IPXサービス
は、アプリケーションによって生成されるすべてのIP
Xソケット、NWソケットへのリファレンスを保持す
る。もしアプリケーションがソケットを破壊するなら
ば、リファレンスがIPXサービス・リストから削除さ
れる。もしアプリケーションがソケットを破壊し忘れて
アプリケーションを閉じたならば、IPXサービスはそ
のリストにおいて発見されたいかなる開いているソケッ
トをも破壊させる。もしアプリケーションが存在しなく
なった後にソケットが閉じていなければ、未知のソケッ
ト通信がクライアント・ステーションを未使用にするこ
とができるので、そのような安全な特徴が、クラス・ラ
イブラリーをより信頼性の高いものにする。
【0058】責任: 1.ネットウェアAPIを初期化する。
【0059】2.アプリケーションをAPIに結合さ
せ、アプリケーション・タスク・ハンドルを検索する。
【0060】3.アプリケーション終了の間にネットウ
ェアAPIを消去し、すべてのNWソケットが適切に破
壊されることを保証する。
【0061】4.アプリケーションためのソケット・オ
ープンのリストを維持する。
【0062】5.ネットウェア・シェルの設定を維持す
る。
【0063】6.ネットウェア状態を維持する。
【0064】協力: 1.アプリケーションが終了する前に、すべての適切な
ネットウェア・ソケットが破壊されることを保証するた
めに、それぞれのNWソケットへのリファレンスを維持
する。
【0065】[イーシービー(ecb又はECB)(図
1に示されず、図2に示される。)]これは、ECB
(事象制御ブロック)構造のクラス形式である。このE
CB構造は、ネットウェアAPIにデータ・バッファを
伝えるために使用されるメカニズムであり、APIによ
って定義される。
【0066】責任: 1.ヘッダとデータバッファを初期化する。
【0067】2.データバッファ及びECB状態情報へ
の便利なアクセスを提供する。
【0068】3.ECBデータ・メンバーを操作する。
【0069】4.物理送信及び受信データ・バッファを
生成及び破壊する。
【0070】協力: 1.このクラスは、ECB構造から公開的に導出され
る。
【0071】[NWソケット(エヌダブリュソケット:
NWSocket)]このクラスは、IPXサービス・
ソケットのAPI関数呼び出しのカプセル化である。そ
のようなソケットは、クライアント・ワークステーショ
ンと、ソケット・アイデンティファイアを認識すること
ができる他のネットワーク・デバイスとの間の通信チャ
ンネルを生成するために使用される。NWソケットは、
特有のアイデンティファイア又はID(ソケットナンバ
ー)によって生成され、通信に必要な情報をデータ・メ
ンバーとして、記憶する。IPXサービスは、アプリケ
ーションをネットウェア・ソケット・インタフェース内
のフックに与えるために、タスクアイディー(task
Id)・アイデンテイフィケーションを提供する。NW
ソケットは、ネットワーク・データ・パケット・バッフ
ァの送信及び受信を管理する集合体オブジェクトを含
む。NWソケットは、シンクタスクから引き継がれ、受
信されたデータ・パケット・バッファのためのAPIイ
ンターフェースをポーリングし、受信に失敗したデータ
・パケット・バッファを再送信するティック機能を提供
する。データ・パケット・バッファは、ECB構造によ
って説明される。
【0072】責任: 1.必要なAPI関数呼び出しを用いるソケットを生成
する。
【0073】2.ネットワーク外のデータ・パケットを
受信するために必要なリスン・バッファを提供する。こ
のリスン・バッファは、NWソケットによって維持され
たリストに保持される。
【0074】3.ecbがデータを受信したかどうかを
判断する。ecbが、受信リスト上に置かれる。新デー
タを処理しようとするときに、リストがアプリケーショ
ンによってアクセスされる。
【0075】4.ネットワーク上におけるデータ・パケ
ットの送信を許可する。必要なAPI関数呼び出しが、
この責任を提供するのに使用される。
【0076】5.送信及び受信のために使用されるec
bオブジェクトをフォーマットするための援助を提供す
る。
【0077】6.クライアント・ステーションのための
ローカル・アドレスを決定する。
【0078】協力: 1.情報に特有なクライアント・ワークステーションに
アクセスするためIPXサービスへのリファレンスを維
持する。
【0079】2.送信、受信、又はエラー状態の間に、
いつデータが処理されたかを判断するためecb法にア
クセスする。
【0080】3.IPXサービスにそれ自身のリファレ
ンスを登録する。
【0081】[NWサーバー(エヌダブリュサーバー:
NWServer)]このクラスは、実際のネットウェ
ア・サーバーを表わす。サーバー、サーバーのタイプ、
サーバーのバージョン等の扱いに関する情報は、生成さ
れたときにNWサーバー・オブジェクトによって検索さ
れ、記憶される。NWサーバーは、実際のユーザー・リ
スト及び接続情報を記憶する。もしアプリケーションが
サーバーへの物理接続を持つていれば、NWサーバー
は、すべての接続情報を表わすNWアタッチメント(エ
ヌダブリュアタッチメント(NWAttachmen
t))を生成する。クライアント・ステーションをネッ
トウェア・サーバーに物理的にログインさせるNWサー
バーのためのNWアッタチメントを生成することもでき
る。NWサーバーは、ネットウェア・サーバーによって
管理されるプリント・キュー(NWキュー(エヌダブリ
ュキュー:NWQueue))、プリント・サーバー
(NWプリントサーバー(エヌダブリュプリントサーバ
ー:NWPrintServer))、及び遠隔プリン
タ(NWプリンターズ(エヌダブリュプリンターズ:N
WPrinters))のリストをも含む。アプリケー
ションは、適切なAPI呼び出しを交互に起こさせるこ
れらオブジェクトのそれぞれを生成し、破壊し、又は修
正することができる。NWサーバーは、OVモデルを受
け継ぎ、周期的なベース上の情報を機敏に更新すること
ができる。OVネットワークのティック関数は、ネット
ワーク上に発見されたすべてのNWサーバーを呼び出
す。情報の更新のための物理API呼び出しは、NWサ
ーバーがビューを登録したときのみに、実行される。
【0082】責任: 1.接続タイプに関する情報を維持する。
【0083】2.もし必要ならば、ワークステーション
から物理ネットウェア・サーバーへのアタッチメント
(接続機構)であるNWアタッチメントを生成し、維持
する。
【0084】3.サーバーのバージョン情報を検索す
る。
【0085】4.アタッチメントから、特権情報を検索
する。
【0086】5.ネットウェア・サーバーのために定義
されたすべてのユーザー及びグループ情報を検索し、情
報をリストに集める。
【0087】6.ネットウェア・サーバーで定義された
すべてのキュー(待ち行列)であるNWキュー(NWQ
ueue)を検索し、OVネットワークのティック期間
に更新されたキューをリスト内に集める。
【0088】7.要求されたときにNWキュー・オブジ
ェクトを生成し、破壊する。
【0089】8.アプリケーションをリストに記憶され
たNWキュー・オブジェクトにアクセスさせる。
【0090】9.ネットウェア・サーバー上に定義され
たすべてのプリント・サーバーであるNWプリントサー
バー(NWPrintServer)を検索し、リスト
内にプリント・サーバーを集める。そのリストは、OV
ネットワークのティック期間に更新される。
【0091】10.要求されたときにNWプリントサー
バー・オブジェクトを生成し、破壊する。
【0092】11.アプリケーションをリストに記憶さ
れNWプリントサーバー・オブジェクトにアクセスさせ
る。
【0093】協力: 1.もしアプリケーションが、現在ネットウェア・サー
バー内にログされているならば、NWアタッチメント・
オブジェクトにリファレンスが保持される。アプリケー
ションは、NWアタッチメントを生成又は破壊すること
によってサーバーにログイン又はサーバーからログアウ
トされることもある。
【0094】[サーバーリスト(serverLis
t)]この例示されたクラスは、OVネットワークによ
って発見されるすべてのNWサーバー・オブジェクトの
リストを含む。このリストは、ハッシュ・セットのよう
に振る舞うパラメータ化されたクラスから導出される。
サーバーリストは、対応する情報を更新する機会をそれ
ぞれのNWサーバーに提供するため、ティック期間に、
OVネットワークによってトラバース(走査)される。
【0095】[プリンタ(Printer)]このクラ
スは、クライアント・ワークステーションとネットワー
ク上に存在するプリンタ・デバイスとの間のすべての処
理をカプセル化する。アプリケーションは、対応するプ
リンタ・オブジェクトから直接にプリンタ・デバイス上
の情報を獲得し、プリンタ・オブジェクトにアクセスす
ることによって、プリンタ・デバイスの設定を変更す
る。OVネットワークは、新しいプリンタ・デバイスを
発見し、ティック機能の間に、対応するプリンタ・オブ
ジェクトを生成する。また、OVネットワークは、ティ
ック期間に、プリンタ・デバイスが消滅したかどうかを
も判断する。OVネットワークは、プリンタ・オブジェ
クトと物理プリンタ・デバイスとの間の通信を容易にす
るためNWソケットを生成する。プリンタ・クラスは、
情報を周期的及び機敏に、即ち、ビューが存在するとき
のみ、検索させるOVモデルをも受け継ぐ。
【0096】責任: 1.物理プリンタ・デバイスに関する全ての統計値及び
状態情報を維持する。
【0097】2.物理プリンタ・デバイスのネットウェ
ア・プリント・サーバー容量をモニターし、制御する。
【0098】3.物理プリンタ・オブジェクトのネット
ワーク・インタフェースに関するすべての設定情報を維
持する。
【0099】4.受信されたプリンタ・パケットが現存
するプリンタからのものか、新しいプリンタからのもの
かを判断する。もしパケットが、新しいプリンタに属す
るならば、OVネットワークは通知を受け、新プリンタ
・オブジェクトが生成する。
【0100】5.プリンタ又はプリンタ群に送信するた
め、NWソケットのためのデータ・パケットを生成す
る。
【0101】6.OVネットワークによって呼び出され
たときに、プリンタにおけるデータを有効のまま残すた
めに、非常に長い時間が経過したかどうかを判断する。
もしデータがもはや有効でなければ、プリンタ・オブジ
ェクトは破壊される。
【0102】協力: 1.新しいプリンタの存在を判断し、もはや応答しない
プリンタを破壊するためにOVネットワークとともに動
作する。
【0103】2.データ・パケットを物理プリンタ・デ
バイスに又はそこから受信及び送信するためNWソケッ
トとともに動作する。
【0104】[プリンタリスト(PrinterLis
t)]この例示されたクラスは、OVネットワークによ
って発見されたすべてのプリンタ・オブジェクトのリス
トを含む。OVネットワークは、そのティック期間に更
新を許可するためにリストを使用し、いかなるビュー・
オブジェクトにもそのリストを提供する。リストは、単
一のリンクされたリストとして振る舞うパラメータ化さ
れたクラスから導出される。
【0105】[プリンタDB(プリンタディービー:P
rinterDB)]このクラスは、過去に存在したプ
リンタ・デバイスのために作られた不揮発性の情報のた
めのデータベース保持領域である。新しいプリンタ・オ
ブジェクトを生成する間に必要とされる可能な情報のた
めのプリンタDBが言及される。
【0106】責任: 1.全ての不揮発性のプリンタ設定情報を維持する。そ
のような情報は、プリンタ記述、管理者ノート、プリン
ト・ドライバの配付、及びプリンタ配置の記述を含む。
【0107】2.そのような情報を、ネットワーク上の
遠隔アプリケーションにおいて存在することができるプ
リンタDBオブジェクトに配布させる。
【0108】協力: 1.新情報が検索され及び/又は記憶される必要がある
かどうかを判断するためプリンタ・オブジェクトととも
に動作する。
【0109】図2は、本発明の好ましい実施の形態によ
り実施されるソケット・インプリメンテーション(実
現)を概説している。この図の説明において、グラディ
・ブーチのオブジェクト指向分析及び設計の方法論が用
いられる。図2に現われるクラス及びそれらの関係を、
以下に論じる。
【0110】[NWソケット(エヌダブリュソケット:
NWSocket)]先に論じられたように、このクラ
スは、クライアント・ワークステーションとネットワー
ク・デバイスとの間のソケット通信をカプセル化する。
ソケット番号(ソケットナンバー)は、オブジェクトを
生成するために必要とされる特有のアイデンティフィケ
ーションを提供する。タスクアイディー(taskI
d)は、アプリケーションにネットウェア・ソケット・
インタフェース内のフックを与えるために、IPXサー
ビスによって提供されるアイデンティフィケーションで
ある。NWソケットは、受信されたデータ・パケット・
バッファのためのAPIインタフェースをポーリング
し、受信に失敗したデータ・パケット・バッファを再送
信するティック機能を提供する。
【0111】[IPXサービス(アイピーエックスサー
ビス:IPXService)]先に論じられたよう
に、このクラスは、クライアント・ワークステーション
を使ってIPX状態を維持する単一のインスタンス・オ
ブジェクトである。IPXサービスは、クリーンナップ
を安全に起こすことができるように、すべての現存する
ソケットのリストを維持する。
【0112】[ソケット(sockets)]これは、
IPXサービスによって含まれるNWソケットの例示さ
れたクラス・リストである。ソケットのクラスは、単一
のリンクしたリストのように振る舞うパラメーター化さ
れたクラスから導出される。
【0113】[イーシービー(ecb又はECB)]先
に論じられたように、これはECB構造の形態のクラス
化である。ecbクラスは、ECBデータ要素の取扱
い、並びに、物理送信及び受信データ・バッファの生成
及び破壊に責任を持つ。
【0114】[センドECBs(センドイーシービー
ズ:SendECBs)]これは、送信されたecbオ
ブジェクトの例示されたクラスのリストである。それぞ
れの送信されたオブジェクトの状態は、ティック期間に
周期的に確認される。もし状態確認が失敗したならば、
失敗した送信オブジェクトが再送信される。もし状態確
認が成功したならば、成功した送信オブジェクトが破壊
され、又は、もし存在すれば所有者に戻される。センド
ECBsは、単一のリンクされたリストのように振る舞
うパラメータ化されたクラスから生じる。
【0115】[リスンECBs(リスンイーシービー
ズ:ListenECBs)]これは、ネットワークか
ら新データ・パケットの到着を待っているecbオブジ
ェクトの例示されたクラス・リストである。それぞれの
リスンecbは、ティック期間に受信されたデータのた
めに確認される。もしデータが受信されたならば、リス
ンecbは、レシーブドEcbs(RecvEcbs)
のリスト(以下に論じる。)に送信され、新ecbは、
リスンecbsリストに新ecbを入れるように生成さ
れる。リスンecbsは、単一のリンクされたリストの
ように振る舞うパラメータ化されたクラスから導出され
る。
【0116】[レシーブドEcbs(RecvEcb
s)]これは、ネットワークからデータを受信したレシ
ーブドEcbsオブジェクトの例示されたクラスのリス
トである。OVネットワークは、ティック期間にレシー
ブドEcbsをポーリングし、受信されたデータに従っ
て動作する。レシーブドEcbsは、単一のリンクされ
たリストのように振る舞うパラメータ化されたクラスか
ら導出される。
【0117】図3は、情報を発見しプリンタ状態を更新
するためのオブジェクト間のインタラクションを示して
いる。このインタラクションは、OVネットワークのテ
ィック期間中に起こる。「ネットワーク」オブジェクト
は、OVネットワークの具体例である。図示されるよう
に、タイマー・オブジェクト「シスタイマー(sysT
imer)」は、OVネットワークのティック法を呼び
出す。「ネットワーク」オブジェクトは、新プリンタの
覆いを取り、現在のプリンタ情報を更新しようと試み
る。
【0118】これは、1つのティック期間中に、プリン
タ・クラス・スタティック法である「クエリープリンタ
(queryPrinter)」を呼び出すことによっ
て達成される。そのような方法は、所定のネットワーク
・ソケットによって、プリンタにポーリング・メッセー
ジを構成させ、ブロードキャストさせる。そのようなブ
ロードキャストに対する応答は、他のティック期間中に
確認される。もし「ネットワーク」が、以前のティック
期間がブロードキャストを発行したと判断したならば、
次のいくつかのティック期間は、ネットワークからのプ
リンタ応答を集めるためにあてられる。「ネットワー
ク」オブジェクトは、NWソケット・オブジェクトであ
る「ソケット」を介して新データ・パケットを検索す
る。
【0119】「ピーアールティー(Prt)」オブジェ
クトは、局所的なビジビリティ(visivility)を有し、
ティック期間にのみ存在するプリンタ・クラスの例示で
ある。図1に関連して示されるように、プリンタのリス
トは、OVネットワークの「ピーリスト(plis
t)」によって保持される。それぞれのプリンタは、
「ピーリスト」から1度に1つ検索され、「ピーアール
ティー」に一時的に記憶される。それぞれの新たに到達
したデータ・パケットは、「アップデートプリンタ(u
pdatePrinter)」を用いて「プリンタ」オ
ブジェクトに与えられる。新たに到達したデータが自ら
定められてたものであるかどうかを判断することは、
「プリンタ」オブジェクトの責任である。もし自ら定め
られたものでないなら、データ・パケットは拒絶され、
OVネットワークは、「ピーリスト」において発見され
た次のプリンタ・オブジェクトに進む。
【0120】もしいずれのプリンタ・オブジェクトもデ
ータ・パケットを要求していないならば、クラス・スタ
ティック法である「ニュープリンタ(newPrint
er)」が呼び出される。「プリンタ」オブジェクトは
その後、「ニュープリンタ」がネットワーク上にだけ現
われるプリンタから始められたかどうかを判断する。も
し、そうであるなら、OVネットワークは、新しい「プ
リンタ」のオブジェクトを、「ピーリスト」内に置く。
【0121】プリンタ・デバイスが消えたかどうかを判
断するために、OVネットワークは、対応する「プリン
タ」オブジェクトがもはや有効でないデータを含むかど
うかを確認する。即ち、「ネットワーク」が、「ピーリ
スト」からそれぞれの「プリンタ」オブジェクトを検索
し、「イクスパイアード(expired)」法が呼び
出される。「プリンタ」オブジェクトは、プリンタ・デ
ータが満了したかどうかを判断する責任を持つ。もし満
了したならば、「ネットワーク」は、プリンタ・オブジ
ェクトを破壊する。
【0122】図4は、ネットワーク・ソケットを通す通
信チャンネルを維持するオブジェクト間のインタラクシ
ョンを示す。オブジェクトである「ソケット」は、NW
ソケットの例示である。図示されるように、タイマー・
オブジェクトである「シスタイマー(sysTime
r)」は、NWソケットのティック法を呼び出す。「ソ
ケット」オブジェクトは、そのときリスンEcbsオブ
ジェクトである「エルリング(Lring)」において
発見されたそれぞれのecbエントリーを確認する。理
解されるように、「エルリング」におけるそれぞれのe
cbエントリーは、ネットワークからの新しいメッセー
ジを待っている。
【0123】「ソケット」は、「ソケット」に対する局
所的ビジビリティを持つecbオブジェクトである「ピ
ーイーシービー(pecb)」を生成し、「エルリン
グ」におけるそれぞれの調査されたecbオブジェクト
を保持する。もし「ピーイーシービー」がネットワーク
外の新しい情報を受信したならば、関連するecbオブ
ジェクトが、レシーブドEcbsオブジェクトである
「レシーブキュー(RecvQueue)」に追加され
る。ネットワークが、新しいネットワークにアクセスし
ようとするときに、ecbオブジェクトを「レシーブキ
ュー」から検索することは、OVネットワーク・オブジ
ェクトである「ネットワーク」の責任である。アプリケ
ーションは、NWソケット法である「レシーブ(rec
eive)」を通して新データにアクセスする。
【0124】次に、「ソケット」は、センドEcbsオ
ブジェクトである「センドキュー(SendQueu
e)」に存在するいかなるecbオブジェクトをも確認
する。ecbオブジェクトは、アプリケーションによっ
て生成され、NWソケット法である「センド(sen
d)」を通して「センドキュー」に送られる。ecbオ
ブジェクトは、ピーイーシービーにおいて局所的に記憶
される。もしecbオブジェクトが送信されるなら、適
切なAPI呼び出しがなされる。もしecbオブジェク
トが送信されたが現在エラー状態であるならば、エラー
状態が記憶され、ecbオブジェクトが破壊される。
【0125】図5は、本発明の好ましい実施の形態にお
いてタイマーとシンクタスクのために使用されるクラス
ィフィケーションの実行を概説し、タイマー・オブジェ
クトがシンクタスク型オブジェクトのリストをどのよう
に保持するかを示している。説明されるように、これら
のタスクは、MVCの同期的振る舞いに責任を持ってい
る。
【0126】[タイマー(Timer)]先に論じられ
たように、このクラスは、周期的にウェィク・アップす
ることができるオブジェクトを説明している。このクラ
スは、シンクタスク型のオブジェクトのリストを含んで
いる。タイマーは、オペレーティング・システムとイン
タフェースで接続されており、タイマー法の中にコール
バックする手段を提供する。このコールバックは、シン
クタスク・オブジェクトのリストをトラバース(走査)
し、それぞれのティック法を呼び出す。シンクタスク・
オブジェクは、シンクタスク・オブジェクの形成の間
に、タイマーに登録される(即ち、リストに記憶され
る)。登録されたオブジェクトは、シンクタスク・オブ
ジェクの破壊の間に、消去される。
【0127】[シンクタスク(SynchTask)]
先に論じられたように、このクラスは、ティックと呼ば
れる単一の機能を周期的に呼び起こし(ウェイクアップ
し)、実行することができるタスクを説明する。この能
力を本来的に備えたいかなるクラスもティック機能を提
供する。
【0128】[タイムドアイテムズ(TimedIte
ms)]これは、ウェィクアップ周期の間に呼び出すた
めに、タイマーのためのティック処理を提供するシンク
タスク・オブジェクトの例示されたクラスのリストであ
る。このクラスは、単一のリンクされたリストのように
振る舞うパラメータ化されたクラスから導出される。
【0129】先に説明されたアーキテクチャを用いる
と、ネットワークにおいて特別なプリンタ・タイプを持
つプリンタは、以下の方法で発見される。最初に、プリ
ンタ・タイプに関するソケット・アイデンティファイア
(ID)を持つソケットが、ネットワークにより設定さ
れ、ネットワークはソケットを通してプリンタと通信す
る。理解されるように、ソケットはポーリング・モード
とリスン・モードとを有する。ポーリング・モードにお
いて、ソケット・アイデンティファイア(ID)が付け
られたネットワークからの出力データを待って受信し、
この受信された出力データをプリンタに送信する。リス
ン・モードにおいては、ソケットは、プリンタからの入
力データを待って受信し、この受信された入力データを
ネットワークに送信する。
【0130】ネットワークは、プリンタを一旦発見した
ならば、そのプリンタに関するプリンタ情報を記憶する
ためのプリンタ情報オブジェクトの設定をも行う。ここ
で理解されるように、ネットワークは、プリンタ情報オ
ブジェクトを持つプリンタ情報を維持及び更新する。加
えて、ネットワークは、周期的なタイミング信号である
ティックを提供するタイマーを設定する。
【0131】プリンタは、N個のティック(TICK)
ごとに1度、周期的にポーリングされる。それぞれのポ
ーリングは、ソケットをポーリング・モードに置くこ
と、プリンタによる受信のためにソケット・アイデンテ
ィファイア(ID)が付けられたポーリング・データを
ソケットに送信すること、リスン・モードにソケットを
置くこと、ソケットがプリンタからプリンタ・データを
入手したどうかを判断するために待機することを含む。
【0132】もしソケットがプリンタからプリンタ・デ
ータを入手したならば、ネットワークは、プリンタのプ
リンタ情報を記憶したかどうかに基づいてプリンタが以
前に発見されたかどうかを、プリンタ情報オブジェクト
から判断する。もしプリンタが以前に発見されなかった
ならば、プリンタのプリンタ情報は、プリンタ情報オブ
ジェクトにおいて生成され記憶される。
【0133】プリンタ情報の生成は、プリンタのプリン
タ・モデル・オブジェクトの生成、プリンタに関する実
際のプリンタ情報の生成、及びプリンタ・モデル・オブ
ジェクトにおいて生成されたプリンタ情報の記憶を含む
ことが望ましい。
【0134】もしソケットがプリンタからプリンタ・デ
ータを入手しなかったならば、プリンタ・モデル・オブ
ジェクトにおける実際のプリンタ情報は、それぞれのポ
ーリングの間に増大されるエージング・カウンタを含む
ことが望ましい。しかし、もしソケットがプリンタから
プリンタ・データを入手したならば、エージング・カウ
ンタはゼロになる。従って、エージング・カウンタが所
定のレベルに到達したかどうかを判断し、もしエージン
グ・カウンタが所定のレベルに到達したならばプリンタ
のプリンタ・モデル・オブジェクトが破壊され得る。理
解されるように、そのような判断は、それぞれのポーリ
ングに1度の間隔で又はより長い間隔で生じることがで
きる。
【0135】プリンタ情報オブジェクトにおけるプリン
タ情報は、プリンタの記憶された状態に関する記憶され
たプリンタ状態情報を含み、プリンタからのプリンタ・
データは、プリンタの現在の状態に関する現在のプリン
タ状態情報を含むことが望ましい。従って、もしプリン
タが前もって発見されたならば、プリンタの現在の状態
情報がプリンタの記憶された状態と異なるかどうかを判
断するため、記憶されたプリンタ状態情報は、現在のプ
リンタ状態情報と比較される。もし現在の状態が記憶さ
れている状態と異なるならば、プリンタ情報オブジェク
トに記憶されているプリンタ状態情報は、現在のプリン
タ状態情報と置き換えられる。
【0136】もし現在の状態が記憶されている状態と異
なるならば、プリンタ・モデル・オブジェクトを見るア
プリケーションが、現在の状態が変更されたことを通知
されることがより望ましい。
【0137】以上に説明されたように、ネットワークに
おいてプリンタを発見しエージングするアーキテクチャ
及び方法を用いると、ネットワーク・プリンタが、オブ
ジェクト指向法においてモニターされ、制御され得る。
本発明の広い概念から逸脱することなく先に説明された
実施の形態に変更が可能であることは当該技術の専門家
にとって予測できるであろう。それゆえ、本発明は、開
示された特定の実施の形態に限定されず、特許請求の範
囲において定義された本発明の概念及び範囲内における
変更を包括することを意図している。
【図面の簡単な説明】
【図1】 本発明の好ましい実施の形態による、ネット
ワーク・クラスの関係を示すOOA&Dクラスィフィケ
ーション図である。
【図2】 本発明の好ましい実施の形態による、ネット
ワーク・ソケットの関係を示すOOA&Dクラスィフィ
ケーション図である。
【図3】 本発明の好ましい実施の形態による、プリン
タ情報を発見し、プリンタ状態を更新するプロセスを示
すOOA&Dインタラクション図である。
【図4】 本発明の好ましい実施の形態による、ネット
ワーク・ソケットを通して行なう通信を維持するプロセ
スを示すOOA&Dインタラクション図である。
【図5】 本発明の好ましい実施の形態による、タイマ
ー・クラスの関係を示すOOA&Dクラスィフィケーシ
ョン図である。
───────────────────────────────────────────────────── フロントページの続き (31)優先権主張番号 08/666706 (32)優先日 1996年6月18日 (33)優先権主張国 米国(US) (72)発明者 ローマン オーゾル アメリカ合衆国 ニュージャージー州 08053、 マールトン、 スモールウッド コート 14 (72)発明者 ティム デッパ アメリカ合衆国 ニュージャージー州 08003、 チェリー ヒル、 バクストン ロード 18 (72)発明者 ジョン ホプキンス アメリカ合衆国 ウィスコンシン州 53005、 ブルックフィールド、 ダブリ ュ ブルーマウンド ロード 16535 (72)発明者 ポーナ アルムガム アメリカ合衆国 ニュージャージー州 08055、 メドフォード、 バーク ドラ イブ 9

Claims (6)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークにおいてあるプリンタ・タ
    イプのプリンタを発見する方法において、 上記方法が、上記プリンタ・タイプに関するソケット・
    アイデンティファイア(ID)を持つソケットを設定す
    るステップを有し、 上記ネットワークは上記ソケットを通して上記プリンタ
    と通信し、上記ソケットはポーリング・モード及びリス
    ン・モードを有し、上記ポーリング・モードのときに、
    上記ソケットは上記ソケット・アイデンティファイア
    (ID)が付けられた上記ネットワークからの出力デー
    タを待って受信し、そして上記受信された出力データを
    上記プリンタに送信し、上記リスン・モードのときに、
    上記ソケットは上記プリンタからの入力データを待って
    受信し、そして上記受信された入力データを上記ネット
    ワークに送信し、 上記方法が、一旦プリンタが発見されたならば、上記プ
    リンタに関するプリンタ情報を記憶するプリンタ情報オ
    ブジェクトを設定するステップを有し、 上記ネットワークは、上記プリンタ情報を維持及び更新
    し、 上記方法が、周期的なタイミング信号(TICK)を供
    給するタイマーを設定するステップを有し、 上記方法が、N個のタイミング信号(TICK)ごとに
    1度、上記プリンタのために周期的にポーリングするス
    テップを有し、 上記ポーリングするステップのそれぞれが、上記ソケッ
    トを上記ポーリング・モードに置くステップと、上記ソ
    ケット・アイデンティファイア(ID)が付けられたポ
    ーリング・データを上記プリンタによる受信のための上
    記ソケットに送信するステップと、上記ソケットを上記
    リスン・モードに置くステップと、上記ソケットが上記
    プリンタからプリンタ・データを受信したかどうかを判
    断するために待つステップとを有し、 上記方法が、もし上記ソケットが上記プリンタからプリ
    ンタ・データを受信したならば、上記プリンタ情報オブ
    ジェクトが上記プリンタのためのプリンタ情報を記憶し
    ているかどうかに基づいて、上記プリンタが以前に発見
    されたものであるかどうかを、上記プリンタ情報オブジ
    ェクトから判断するステップを有し、 上記方法が、もし上記プリンタが以前に発見されたプリ
    ンタでなかったならば、上記プリンタのためのプリンタ
    情報を生成し、上記プリンタ情報オブジェクトに上記生
    成されたプリンタ情報を記憶させるステップを有するこ
    とを特徴とするネットワークにおいてプリンタを発見す
    る方法。
  2. 【請求項2】 上記プリンタ情報を生成するステップ
    が、上記プリンタのプリンタ・モデル・オブジェクトを
    生成するステップと、上記プリンタのプリンタ情報を生
    成するステップと、上記プリンタ・モデル・オブジェク
    トに上記生成されたプリンタ情報を記憶させるステップ
    とを含むことを特徴とする請求項1に記載の方法。
  3. 【請求項3】 上記プリンタ・モデル・オブジェクトに
    おける上記プリンタ情報が、エージング・カウンタを含
    み、 上記ポーリングするステップが、さらにもし上記ソケッ
    トが上記プリンタからプリンタ・データを受信しなかっ
    たならば、上記エージング・カウンタを一定量増加させ
    るステップと、 もし上記ソケットが上記プリンタからプリンタ・データ
    を受信したならば、上記エージング・カウンタをゼロに
    するステップとを有し、 上記方法が、さらに、 上記エージング・カウンタが所定のレベルに到達したか
    どうかを判断するステップと、 もし上記エージング・カウンタが上記所定のレベルに到
    達したならば、上記プリンタの上記プリンタ・モデル・
    オブジェクトを破壊するステップとを有することを特徴
    とする請求項2に記載の方法。
  4. 【請求項4】 上記プリンタ・モデル・オブジェクトに
    おける上記プリンタ情報が、エージング・カウンタを含
    み、 上記ポーリングするステップが、さらに、 もし上記ソケットが上記プリンタからプリンタ・データ
    を受信しなかったならば、上記エージング・カウンタを
    一定量増加させるステップと、 もし上記ソケットが上記プリンタからプリンタ・データ
    を受信したならば、上記エージング・カウンタをゼロに
    するステップと、 上記エージング・カウンタが所定のレベルに到達したか
    どうかを判断するステップと、 もし上記エージング・カウンタが上記所定のレベルに到
    達したならば、上記プリンタの上記プリンタ・モデル・
    オブジェクトを破壊するステップとを有することを特徴
    とする請求項2に記載の方法。
  5. 【請求項5】 上記プリンタ情報オブジェクトにおける
    上記プリンタ情報が、上記プリンタの記憶された状態に
    関する記憶されたプリンタ状態情報を含み、上記プリン
    タからのプリンタ・データが、上記プリンタの現在の状
    態に関する現在のプリンタ状態情報を含み、 もし上記プリンタが以前に発見されていたならば、上記
    方法が、さらに、 上記プリンタの現在の状態が上記プリンタの記憶された
    状態と異なるかどうかを判断するために、記憶されたプ
    リンタ状態情報を現在のプリンタ状態情報と比較するス
    テップと、 もし現在の状態が記憶された状態と異なるならば、上記
    プリンタ情報オブジェクトにおいて記憶されたプリンタ
    状態情報を現在のプリンタ状態情報と置き換えるステッ
    プとを有することを特徴とする請求項1に記載の方法。
  6. 【請求項6】 アプリケーションが、上記プリンタのた
    めの上記プリンタ・モデル・オブジェクトを観測してお
    り、 上記方法がさらに、もし現在の状態が記憶された状態と
    異なるならば、上記現在の状態を変更したことを上記ア
    プリケーションに知らせるステップを有することを特徴
    とする請求項5に記載の方法。
JP18489996A 1995-07-14 1996-07-15 ネットワークにおいてプリンタを発見しエージングする方法 Expired - Lifetime JP3666619B2 (ja)

Applications Claiming Priority (8)

Application Number Priority Date Filing Date Title
US120795P 1995-07-14 1995-07-14
US117095P 1995-07-14 1995-07-14
US08/666706 1996-06-18
US08/665,627 US5852744A (en) 1995-07-14 1996-06-18 Method for discovering a network printer by assigning dedicated sockets to different printer types and polling the dedicated sockets to learn the corresponding state
US08/665627 1996-06-18
US08/666,706 US6249821B1 (en) 1995-07-14 1996-06-18 Network object frameworks
US60/001207 1996-06-18
US60/001170 1996-06-18

Publications (2)

Publication Number Publication Date
JPH09270795A true JPH09270795A (ja) 1997-10-14
JP3666619B2 JP3666619B2 (ja) 2005-06-29

Family

ID=27485067

Family Applications (1)

Application Number Title Priority Date Filing Date
JP18489996A Expired - Lifetime JP3666619B2 (ja) 1995-07-14 1996-07-15 ネットワークにおいてプリンタを発見しエージングする方法

Country Status (3)

Country Link
EP (1) EP0756400B1 (ja)
JP (1) JP3666619B2 (ja)
DE (1) DE69623084T2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0872792A3 (en) * 1997-04-17 2000-04-26 Adobe Systems, Inc. Network communication with printing systems
EP0918412A3 (en) * 1997-11-21 1999-06-02 Hewlett-Packard Company Automatic discovery of networked devices
US6839755B1 (en) * 1998-09-30 2005-01-04 Hewlett-Packard Development Company, L.P. Network peripheral server discovery method
US10360565B2 (en) 2012-05-18 2019-07-23 Kofax, Inc. System and method for providing a universal endpoint address schema to route documents and manage document workflows

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5237693A (en) * 1990-04-04 1993-08-17 Sharp Kabushiki Kaisha System for accessing peripheral devices connected in network
US5185853A (en) * 1991-01-03 1993-02-09 Acer Incorporated Expandable printer buffer system
US5647056A (en) * 1992-11-18 1997-07-08 Canon Information Systems, Inc. Method and apparatus for managing access to a networked peripheral
ES2170085T3 (es) * 1993-12-09 2002-08-01 Canon Kk Impresora con funcion de ahorro de energia.

Also Published As

Publication number Publication date
DE69623084T2 (de) 2003-04-24
EP0756400A2 (en) 1997-01-29
EP0756400A3 (en) 1999-06-09
JP3666619B2 (ja) 2005-06-29
EP0756400B1 (en) 2002-08-21
DE69623084D1 (de) 2002-09-26

Similar Documents

Publication Publication Date Title
US5852744A (en) Method for discovering a network printer by assigning dedicated sockets to different printer types and polling the dedicated sockets to learn the corresponding state
US5845081A (en) Using objects to discover network information about a remote network having a different network protocol
US6522654B1 (en) Method for hosting the internet protocol suite on the IEEE-1394 high speed serial bus
JP3901806B2 (ja) 情報管理システム及び二次サーバ
US7519598B2 (en) Prioritizing network management traffic
EP0751656A2 (en) Protocol independent and adaptive network interface
US20030118353A1 (en) Method and apparatus for managing intelligent assets in a distributed environment
US6249821B1 (en) Network object frameworks
EP1349324A2 (en) Integrated managing method for local area network switching devices
US6718377B1 (en) Telecommunications network management system interface
US6967734B1 (en) System for automatically installing digital printers on a network
JP3666619B2 (ja) ネットワークにおいてプリンタを発見しエージングする方法
US8516094B2 (en) Method and network management apparatus for implementing information service level inheritance in network management system
US7331050B2 (en) System and method for communicating information between application programs
JP4683587B2 (ja) 通信制御装置及び方法
KR100451721B1 (ko) 이동통신 시스템에서의 프로세서간 정합 방법
EP1479192B1 (en) Method and apparatus for managing configuration of a network
JP2003099341A (ja) ネットワークデバイス管理装置、管理システム及び管理方法、並びにネットワークデバイス
US7260621B1 (en) Object-oriented network management interface
EP1081900A2 (en) System for tracking the history of channel based network devices
JP3505412B2 (ja) ソケット管理装置およびソケット管理方法
CN101390074B (zh) 面向对象发现框架
US20030163556A1 (en) Management apparatus, interconnecting device, communication system, program and management method
JP2000347962A (ja) ネットワーク分散管理システム及びネットワーク分散管理方法
JP2001142811A (ja) ネットワーク管理システム及びネットワーク管理方法

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041119

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050315

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050330

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: 20080415

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20090415

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090415

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090415

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090415

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090415

Year of fee payment: 4

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

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

Free format text: PAYMENT UNTIL: 20090415

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20100415

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100415

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100415

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100415

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100415

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100415

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110415

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110415

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110415

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20110415

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20130415

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20140415

Year of fee payment: 9

EXPY Cancellation because of completion of term