JP2005244790A - 通信制御方法および通信制御装置 - Google Patents

通信制御方法および通信制御装置 Download PDF

Info

Publication number
JP2005244790A
JP2005244790A JP2004054191A JP2004054191A JP2005244790A JP 2005244790 A JP2005244790 A JP 2005244790A JP 2004054191 A JP2004054191 A JP 2004054191A JP 2004054191 A JP2004054191 A JP 2004054191A JP 2005244790 A JP2005244790 A JP 2005244790A
Authority
JP
Japan
Prior art keywords
module
printer
port
communication control
created
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.)
Withdrawn
Application number
JP2004054191A
Other languages
English (en)
Inventor
Eiji Ito
英二 伊東
Toshiharu Katada
寿治 片田
Toshiyuki Sugimoto
季之 杉本
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.)
Seiko Epson Corp
Original Assignee
Seiko Epson Corp
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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2004054191A priority Critical patent/JP2005244790A/ja
Priority to US11/060,266 priority patent/US20050190401A1/en
Publication of JP2005244790A publication Critical patent/JP2005244790A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1284Local printer device
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1211Improving printing performance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1222Increasing security of the print job
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Communication Control (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Abstract

【課題】ポートの状態を高速で確認できる通信制御方法および通信制御装置を、提供することを目的とする。
【解決手段】本発明の通信制御方法は、デバイス機器2と、情報機器1とを、情報機器1のポートを介して接続する通信制御方法であって、情報機器1の第二のモジュールがオブジェクトを作成するとともに、第一のモジュールからの接続の指示に基づきデバイス機器2との接続処理および接続終了時にオブジェクトを破棄するステップと、デバイス機器2への接続を指示する際、オブジェクトの既作成の有無を確認するステップと、オブジェクトが作成されていない場合に、ポートが閉じておりデバイス機器2が接続されていないと判断し、ポートを開いてデバイス機器2の接続を指示し、オブジェクトが既に作成されている場合に、ポートが開いておりデバイス機器2が接続されていると判断して上位層にその旨通知するステップとを有している。
【選択図】図5

Description

本発明は、ポートの状態を高速で確認するための通信制御方法および通信制御装置に関する。
従来、情報機器のポートを介して、外部デバイス機器を接続している情報機器において、ポートが使用可能かどうか、つまりポートを開くことができるかどうかを判断するために、実際にポートを開く処理を行い、処理に対するレスポンスの内容で判断している。デバイス機器が使用中である場合、ポートを開く処理を行うと、新たにポートを開くことができずエラーが返ってくる。これにより、ポートが既に開いていると判断できる。
特許文献1に、情報機器に情報機器のポートを介して外部デバイスの通信機器を接続する方法が記されている。情報機器は、接続可能な通信機器がサポートするそれぞれの通信規約に対応する複数の通信制御部を持っており、該当通信制御部と通信機器とを接続するポートが開けることを確認して、情報機器と通信機器とを接続する。
特開2003−264602号公報
しかし、従来の方法では、ポートが開けるかどうかを確認するためには、ポートを開く処理を行い、外部デバイスに直接アクセスして確認をしている。そのため、ポートを開く処理は、確認処理をしてレスポンスが返ってくるまでに、たいへん時間のかかる処理となっている。
そこで本発明は、上記課題に鑑みてなされており、ポートの状態を高速で確認できる通信制御方法および通信制御装置を、提供することを目的とする。
本発明の通信制御方法は、デバイス機器と、デバイス機器を制御する第一のモジュールおよび第二のモジュールを備えた情報機器とを、情報機器のポートを介して接続する通信制御方法であって、第一のモジュールが第二のモジュールへデバイス機器の接続を指示するステップと、第二のモジュールが第一のモジュールからの接続の指示に基づきポートを介してデバイス機器を接続していることを示すオブジェクトを作成するとともに、デバイス機器との接続処理を行い、その後接続切断時にオブジェクトを破棄するステップと、第一のモジュールがデバイス機器への接続を第二のモジュールに指示する際、オブジェクトが既に作成されているかどうかを、第一のモジュールが確認するステップと、オブジェクトが作成されていない場合に、第一のモジュールはポートが閉じておりデバイス機器が接続されていないと判断し第二のモジュールにポートを開いてデバイス機器の接続を指示し、オブジェクトが既に作成されている場合に、第一のモジュールはポートが開いておりデバイス機器が接続されていると判断してその旨を上位層に通知するステップとを有している。
この通信制御方法によれば、情報機器とデバイス機器とは、情報機器のポートを介して接続されている。この状態をポートが開いているという。第一のモジュールが第二のモジュールへ指示してポートを開くときに、情報機器のポートを介してデバイス機器を接続していることを示すオブジェクトを、第二のモジュールが作成する。情報機器からデバイス機器へ新たにアクセスするときに、デバイス機器が既に使用状態にあるかどうかは、オブジェクトが既に作成されているかどうかを第一のモジュールが確認すれば判断できる。オブジェクトが作成されていない場合、つまりポートが閉じておりデバイス機器が接続されていない場合、第一のモジュールは第二のモジュールに対し、オブジェクトの作成および接続を指示し、その結果、第二のモジュールがポートを開いてデバイス機器の接続を行う。接続が終了するとオブジェクトを破棄する。また、オブジェクトが既に作成されている場合、つまりポートが開いておりデバイス機器が接続されている場合、新たな接続はできないため上位層へその旨通知する。第一および第二のモジュールがそれぞれ役割を分担すると共に、デバイス機器へ直接アクセスして確認する手間が必要ないため、迅速な確認が可能である。
この場合、第二のモジュールがオブジェクトを作成するステップでは、オブジェクトにデバイス機器とポートとが互いに対応していることを示す固有名を付与することが好ましい。
この構成によれば、オブジェクトは、デバイス機器と情報機器のポートを表す固有名であり、オブジェクトを確認すれば、デバイス機器とポートとが特定できる。つまり、どのようなデバイス機器を接続したポートが開かれているかが、デバイス機器へアクセスせずに確認できる。
本発明の通信制御方法は、プリンタと、プリンタを制御する第一のモジュールおよび第二のモジュールを備えた情報機器とを、情報機器のポートを介して接続する通信制御方法であって、第一のモジュールが第二のモジュールへプリンタの接続を指示するステップと、第二のモジュールが第一のモジュールからの接続の指示に基づきポートを介してプリンタを接続していることを示すオブジェクトを作成するとともに、プリンタとの接続処理を行い、その後接続切断時にオブジェクトを破棄するステップと、第一のモジュールがプリンタへの接続を第二のモジュールに指示する際、オブジェクトが既に作成されているかどうかを、第一のモジュールが確認するステップと、オブジェクトが作成されていない場合に、第一のモジュールはポートが閉じておりプリンタが接続されていないと判断し第二のモジュールにポートを開いてプリンタの接続を指示し、オブジェクトが既に作成されている場合に、第一のモジュールはポートが開いておりプリンタが接続されていると判断してその旨を上位層に通知するステップとを有している。
この通信制御方法によれば、情報機器とプリンタとは、情報機器のポートを介して接続されている。この状態をポートが開いているという。第一のモジュールが第二のモジュールへ指示してポートを開くときに、情報機器のポートを介してプリンタを接続していることを示すオブジェクトを、第二のモジュールが作成する。情報機器からプリンタへ新たにアクセスするときに、プリンタが既に使用状態にあるかどうかは、オブジェクトが既に作成されているかどうかを第一のモジュールが確認すれば判断できる。オブジェクトが作成されていない場合、つまりポートが閉じておりプリンタが接続されていない場合、第一のモジュールは第二のモジュールに対し、オブジェクトの作成および接続を指示し、その結果、第二のモジュールがポートを開いてプリンタの接続を行う。接続が終了するとオブジェクトを破棄する。また、オブジェクトが既に作成されている場合、つまりポートが開いておりプリンタが接続されている場合、新たな接続はできないため上位層へその旨通知する。第一および第二のモジュールがそれぞれ役割を分担すると共に、プリンタへ直接アクセスして確認する手間が必要ないため、迅速な確認が可能である。
この場合、第二のモジュールがオブジェクトを作成するステップでは、オブジェクトにプリンタとポートとが互いに対応していることを示す固有名を付与することが好ましい。
この構成によれば、オブジェクトは、プリンタと情報機器のポートを表す固有名であり、オブジェクトを確認すれば、プリンタとポートとが特定できる。つまり、どのようなプリンタを接続したポートが開かれているかが、プリンタへアクセスせずに確認できる。
本発明の通信制御装置は、プリンタと、プリンタを制御する情報機器とを、情報機器のポートを介して接続するために情報機器に備えられた通信制御装置であって、プリンタモジュールからのプリンタとの接続の指示に基づきポートを介してプリンタを接続していることを示すオブジェクトを作成するとともに、プリンタとの接続処理を行い、その後接続切断時にオブジェクトを破棄する通信制御モジュールと、プリンタへの接続を通信制御モジュールに指示する際、オブジェクトが既に作成されているかどうかを確認し、オブジェクトが作成されていない場合に、ポートが閉じておりプリンタが接続されていないと判断し通信制御モジュールにポートを開いてプリンタの接続を指示し、オブジェクトが既に作成されている場合に、ポートが開いておりプリンタが接続されていると判断してその旨を上位層に通知するプリンタモジュールとを備えている。
この通信制御装置によれば、情報機器とプリンタとは、情報機器のポートを介して接続されている。この状態をポートが開いているという。この時、情報機器のポートを介してデバイス機器を接続していることを示すオブジェクトを、通信制御モジュールが作成する。情報機器からプリンタへ新たにアクセスするときに、プリンタが既に使用状態にあるかどうかは、ポートが開いているかどうかを確認すれば判断できる。ポートが開いているかどうかの確認は、該当するオブジェクトが既に作成されているかどうかを確認すれば判断できる。オブジェクトは情報機器の通信制御モジュールに作成されており、プリンタモジュールによって該当オブジェクトの確認を行う。オブジェクトが作成されていない場合、つまりポートが閉じておりプリンタが接続されていない場合、通信制御モジュールがポートを開いてプリンタの接続を行う。また、オブジェクトが既に作成されている場合、つまりポートが開いておりプリンタが接続されている場合、新たな接続はできないため通信制御モジュールが新たなオブジェクトの破棄を行う。プリンタモジュールおよび通信制御モジュールがそれぞれ役割を分担すると共に、プリンタへ直接アクセスして確認する手間が必要ないため、迅速な確認が可能である。
本発明のプログラムは、プリンタと、プリンタとポートを介して接続するための第一のモジュールおよび第二のモジュールとしてコンピュータを機能させるプログラムであって、第一のモジュールが第二のモジュールへプリンタの接続を指示するステップと、第二のモジュールが第一のモジュールからの接続の指示に基づきポートを介してプリンタを接続していることを示すオブジェクトを作成するとともに、プリンタとの接続処理を行い、その後接続切断時にオブジェクトを破棄するステップと、第一のモジュールがプリンタへの接続を第二のモジュールに指示する際、オブジェクトが既に作成されているかどうかを、第一のモジュールが確認するステップと、オブジェクトが作成されていない場合に、第一のモジュールはポートが閉じておりプリンタが接続されていないと判断し第二のモジュールにポートを開いてプリンタの接続を指示し、オブジェクトが既に作成されている場合に、第一のモジュールはポートが開いておりプリンタが接続されていると判断してその旨を上位層に通知するステップとを、コンピュータに実行させるためのものである。
このプログラムによれば、プログラムを搭載したコンピュータとプリンタとは、コンピュータのポートを介して接続されている。この状態をポートが開いているという。プログラムはコンピュータに第一のモジュールおよび第二のモジュールとしての機能をさせる。第一のモジュールが第二のモジュールへ指示してポートを開くときに、ポートを介してプリンタを接続していることを示すオブジェクトを、第二のモジュールが作成する。プリンタへ新たにアクセスするときに、プリンタが既に使用状態にあるかどうかは、オブジェクトが既に作成されているかどうかを第一のモジュールが確認すれば判断できる。オブジェクトが作成されていない場合、つまりポートが閉じておりプリンタが接続されていない場合、第一のモジュールは第二のモジュールに対し、オブジェクトの作成および接続を指示し、その結果、第二のモジュールがポートを開いてプリンタの接続を行う。接続が終了するとオブジェクトを破棄する。また、オブジェクトが既に作成されている場合、つまりポートが開いておりプリンタが接続されている場合、新たな接続はできないため上位層へその旨通知する。第一および第二のモジュールがそれぞれ役割を分担すると共に、プリンタへ直接アクセスして確認する手間が必要ないため、迅速な確認が可能である。このような動作をコンピュータに実行させるするためのプログラムである。
以下、図面を参照して、本発明の通信制御方法について説明する。システム構成として、ホストコンピュータ(情報機器)にそのポートを介してデバイス機器が接続されている。
図1は、ホストコンピュータ(以下ホストと記載する。)にデバイス機器を接続した構成の本実施形態に係るシステム構成図である。ホスト1は、各種目的の処理をホスト1に行わせるための上位層のアプリケーション3と、デバイス機器2を制御するデバイスドライバ4と、システム全体をコントロールするOS(Operating System)5とを備えている。
アプリケーション3は、文書作成、表計算、POS用レシート作成等の様々な処理を、ホスト1に行わせるためのものである。デバイスドライバ4は、デバイス機器2を制御し、各種の関数(メソッド)、変数(プロパティ)およびイベントの標準インタフェースを有するコントロールオブジェクトと、デバイス機器2を制御するコマンドを有するサービスオブジェクトと、を備え、アプリケーション3のコマンドを該当デバイス機器2が対応するコマンドへ変換して、アプリケーション3の指令に基づいた処理をデバイス機器に行わせる。
その際、デバイスドライバ4は、ポートを開き、ポートを介して、デバイス機器2とホスト1とを接続する。この時、すでにポートが開かれてデバイス機器2が使用中であると、ポートをさらに開くことはできず、該当アプリケーション3とデバイス機器2とは接続できない。ポートがすでに開かれているかどうかは、通常、デバイス機器2にアクセスして、デバイス機器2の状態確認の上で判断している。本実施形態は、デバイス機器2までアクセスすることなく、迅速にポートの状態を確認することができる方法である。その方法について、デバイス機器2がプリンタである場合を例にして、具体的に説明する。
(第一の実施形態)
図2は、ホストの構成を詳細に表したブロック図であって、デバイスドライバ4の構成を詳細に表している。図2ではコントロールオブジェクトとサービスオブジェクトを省略している。デバイスドライバ4は、アプリケーション3等の上位層や、以下に述べる画像展開ライブラリ11およびプリンタモジュール12との仲介を行うホストモジュール10と、ホストモジュール10から指定された画像データを作成して、ホストモジュール10へ送信する画像展開ライブラリ11と、ホストモジュール10から渡された画像データをプリンタ6のコマンドに対応するデータへ変換して、以下に述べる通信制御モジュールへ送信するプリンタモジュール(第一のモジュール)12と、プリンタモジュール12からのデータをプリンタ6へ送信する通信制御モジュール(第二のモジュール)13とを有する。
これらの構成によれば、例えば、アプリケーション3で作成されたOS5の標準文字列をコントロールオブジェクトとサービスオブジェクトとを介してホストモジュール10が受け、画像展開ライブラリ11にて各文字を画像として作成する。この文字画像による文字列は、ホストモジュール10を経てプリンタモジュール12へ送信される。プリンタモジュール12では、文字画像のデータをプリンタ6が認識するデータへ変換し、通信制御モジュール13へ送信する。通信制御モジュール13は、変換されたデータをプリンタ6へ送信し、プリンタ6は、指定された印字を行う。
また、通信制御モジュール13は、プリンタ6からのプリンタ6の状態に関する情報の受信を行い、プリンタモジュール12へ送信する。プリンタモジュール12は、プリンタ6の状態に関する情報の解析を行い、ホストモジュール10へ解析結果の通知を送信する。通知に基づき、仲介役としてのホストモジュール10は、サービスオブジェクトとコントロールオブジェクトとを介してアプリケーション3等へプリンタ6の状態を送信する。このようにプリンタ6の状態に関する情報の伝達機能も、それぞれが果たす。
次に、ホスト1とプリンタ6とを接続する場合のデバイスドライバ4の作用について、図3(a),(b)を参照して説明する。図3(a),(b)では画像展開ライブラリ11を省略している。まず、図3(a)に示すように、アプリケーション3aがプリンタ(A)6aに印字をさせようとすると、印字命令がホストモジュール10を仲介として、プリンタモジュール12へ送信される。プリンタモジュール12は、通信制御モジュール13にポート接続を指示し、プリンタ(A)6aとこれに対応するポートとを示す名称を通信制御モジュール13を作成する。この名称は、オブジェクト(同期オブジェクト)と呼ばれ、例えば「PRINTER A」というようなオブジェクト20となる。
そして、通信制御モジュール13は、プリンタ(A)6aとの接続のためのポートを開く処理を行う。なお、接続が終了すると、通信制御モジュール13は、オブジェクト20を破棄してポートを閉じる。プリンタモジュール12は、ポートの状態確認のため、「PRINTER A」というオブジェクト20が、既に、通信制御モジュール13内に存在しているかどうかを確認する。図3(a)に示すように、通信制御モジュール13内に該当するオブジェクト20が存在しなければ、ポートを開いてプリンタ(A)6aと接続が可能と判断できる。
プリンタ(A)6aの接続が可能な場合、図3(b)に示すように、通信制御モジュール13はポートを開き、ポートを介してホスト1とプリンタ(A)6aとの接続を行う。プリンタ(A)6aが接続された状態の時に、さらにプリンタ(A)6aに新たに接続しようとしても、再び作成した「PRINTER A」というオブジェクト20が、通信制御モジュール13内に既に存在しているため、通信制御モジュール13に接続指示しなくても、プリンタ(A)6aが使用中であることが判断できる。
オブジェクト20、21を「PRINTER A」と記述したが、オブジェクト20、21は、プリンタ(A)6aとプリンタ(A)6aに対応するポートとを表すものであり、実際は、より詳細が記述される。例えば、プリンタ(A)6aが、ABC社の機種コードDE−F100であり、対応するポートがPQRSであるとすると、オブジェクト20、21は、「ABC PQRS DE−F100(1)」のようになる。明細書上は「PRINTER A」を用いて説明する。
以上説明した内容を、フローチャートに基づいて、順を追って詳しく説明する。図4は、ポートを開くためのプリンタモジュール12の作用を示すフローチャートである。プリンタモジュール12は、ホストモジュール10からの画像データを変換し通信制御モジュール13へ送信する。通信制御モジュール13は、オブジェクト20を作成してポートを開き、プリンタ(A)6aとの接続を行う。
プリンタモジュール12は、ステップS1にて、プリンタ(A)6aとの接続のためのポートが、使われていないかどうかの判断を行う。ポートが使われていなければ、ステップS2において指定されたプリンタ情報をレジストリから取得する。このシステムでは、接続されているプリンタ6の各情報がOS5のレジストリに記述されている。プリンタモジュール12は、ホストモジュール10から指定されたプリンタ名(例えばDE−F100)を基に、レジストリ情報を見に行き、ポートを開くために必要なポートに関する詳細情報を取得する。
ステップS1でポートが使われていれば、プリンタ(A)6aが既に使用中であり、ステップS8でその旨を上位層へ通知する。上位層はホストモジュール10であり、さらに上位層のアプリケーション3へ通知される。ここで、ステップS1におけるポートが使われていないかどうかをプリンタモジュール12が判断するためのフローについて、さらに詳しく、図5を参照して説明する。
まず、プリンタモジュール12は、ステップS21において、指定されたプリンタ名でオブジェクト20を作成する。オブジェクト20の作成は、OS5のCreate Mutex関数を実行して作成する。このオブジェクト20は、図3(a)に示す例示としての「PRINTER A」である。次に、プリンタモジュール12は、ステップS22において、通信制御モジュール13にオブジェクト20と同じオブジェクト21が既に作成済みかどうかを確認する。確認方法としては、例えばOS5が持つ関数GetLastErrorを実行し、その戻り値によってオブジェクト21の存在を判断する。
ステップS23では、該当するオブジェクト21がないかどうかを判断する。該当するオブジェクト21がある場合(NOの判断)、ポートが既に開かれており、即ちプリンタ(A)6aが使用されていると判断できる。よって、図4のステップS8へ進み上位層のホストモジュール10へ判断内容を通知する。この場合、関数GetLastErrorの実行に対して、ERROR_ALREADY_EXISTSが返ってくることによって、該当オブジェクトが既に作成済であると判断できる。
また、ERROR_SUCCESSが返って来れば、該当オブジェクトがない場合(YESの判断)であって、ポートが開かれておらず、即ちプリンタ(A)6aが使用されていないと判断できる。この場合、図4のステップS2へ進む。
ステップS2でプリンタ情報を取得した後、プリンタモジュール12は、ステップS3においてポートを開く処理を指示する。指示する先は、通信制御モジュール13である。次のステップS4では、通信制御モジュール13のポートを開く処理の結果を受けて、プリンタモジュール12としてポートが正常に開けたかどうかの判断をする。ここで、プリンタモジュール12の指示(S3)を受けて、通信制御モジュール13が行うポートを開く処理のフローについて、図6(a)を参照して説明する。
通信制御モジュール13は、プリンタモジュール12からポートを開く処理を指示されると、ステップS31において、指定されたプリンタ名に対応したオブジェクトを作成する。このオブジェクトは、図3(b)に示すオブジェクト21が該当する。そして、ステップS32では、オブジェクト21およびステップS2で取得したプリンタ情報とにより、実際にポートを開く処理を行う。ポートを開くには、例えばOS5のCreate File関数を実行して行う。ステップS33では、ポートを開く処理の結果、ポートが正常に開けたかどうかを判断する。ポートが正常に開けた場合(YES判断)、ステップS34において、プリンタ(A)6aと通信制御モジュール13間の印字データの送信方法などを設定する初期設定を行う。初期設定後、ステップS35において、上位層のプリンタモジュール12へ処理結果を通知する。ステップS33で、Create Fileの実行に対してErrorが返ってきてポートが正常に開けなかった場合(NO判断)、ステップS36に移行して、作成したオブジェクト21を破棄して、ステップS37で、上位層のプリンタモジュール12へ処理結果を通知する。
プリンタモジュール12は、ステップS35およびS37の通知を、通信制御モジュール13から受け取って、図4のステップS4のポートが正常に開けたかどうかの判断を行う。ステップS37の通知に基づきNO判断の場合、ステップS5において、プリンタ(A)6aの電源がオフ、または通信制御モジュール13以外がプリンタ(A)6aを使用中と判断し、ステップS8で、上位層のホストモジュール10へ通知する。
また、ステップS35の通知に基づきYES判断の場合、ステップS6に移行して、プリンタ(A)6aに現在の設定状況を問い合わせる。設定状況の内容は、印字できる色の設定、レシート紙やラベル紙等の用紙の設定、装着されている自動給紙装置等のオプションに関することである。次に、ステップS7において、設定内容の問い合わせに、プリンタ(A)6aからの応答が返ってきたかどうかを判断する。応答が返ってくれば、プリンタ(A)6aが使用可能な状態と判断し(YES判断)、ステップS8で、上位層のホストモジュール10へ通知する。
応答が返ってこなければ、プリンタ(A)6aが使用不可能なオフラインの状態と判断する(NO判断)。そして、ステップS9において、プリンタ(A)6aの蓋がオープン状態でオフラインになっている等のオフライン要因解析を行い、ステップS10では、ステップS31で作成したオブジェクト21を破棄する。つまり、ポートが開けなかった場合と同じことである。プリンタモジュール12は、ステップS8へ進み、ステップS9およびS10の内容を上位層のホストモジュール10へ通知する。
オフライン要因解析結果は、上位層へエラーコードとなって返され、例えばアプリケーション3aが、プリンタ(A)6aを正常な印字可能状態へ戻すために、蓋のクローズを促す指示を出すため等に利用される。指示方法としては、LEDによる点灯あるいは点滅、表示装置による警告表示などがある。
プリンタ(A)6aが使用可になると、通信制御モジュール13は、図6(b)のステップS38にて指定された印刷または印刷データの送信が終了するまで接続を維持する。印刷または印刷データの送信が終了すると、ステップS39において、オブジェクト21を破棄して、一連のフローが終了する。
以上、第一の実施の形態について述べた。第一の実施の形態の効果をまとめる。
(1)ホスト1とホスト1のポートを介して接続されているプリンタ6を表すオブジェクト21が、ホスト1の通信制御モジュール13に作成されているため、プリンタ6へ新たなアクセスをしようとする際に、プリンタモジュール12は、通信制御モジュール13にオブジェクト21が作成されているかどうかを確認すれば、ポートの状態、つまりプリンタ6の使用可否の確認が行える。
(2)通信制御モジュール13に作成されるオブジェクト21の有無を確認することにより、ポートの状態が、プリンタ6へアクセスせずに確認できるため、確認の高速(迅速)処理が図れる。
(3)ポートの開き方の異なるプリンタ6であっても、本実施形態のシステムの中では、プリンタ6までアクセスせずにポートの状態が確認できるため、プリンタ6接続のためのポートの開き方に関係なく、種々のプリンタ6の接続状態の確認が容易にできる。
(4)ホスト1とプリンタ6の接続方法は、USB(Universal Serial Bus)接続をはじめ各種の接続方法に対応できる。
(第二の実施形態)
次に、アプリケーション3がアプリケーション3a、アプリケーション3bの2種類、および接続されているプリンタ6がプリンタ(A)6a、プリンタ(B)6bの2台の場合について、第二の実施形態として説明する。なお、図3、図7中のアプリケーションに付与されている(1),(2)は2つのアプリケーションを単に区別するためのものである。
図7は、第二の実施形態におけるオブジェクトによるポートの状態確認を示すシステム構成図である。図3の第一の実施形態とはアプリケーション3とプリンタ6の数が異なっているだけであり、重複する説明は省略する。アプリケーション3aは、図3(b)で説明したように、既にプリンタ(A)6aと接続状態にあり、通信制御モジュール13内にオブジェクト21(「PRINTER A」)が作成されている。なお、画像展開ライブラリ11は省略している。
この状態の時に、アプリケーション3bがプリンタ(A)6aへ印字処理をさせようとした場合、まず、プリンタモジュール12が接続を通信制御モジュール13へ指示し、通信制御モジュール13は、プリンタ(A)6aに対応するオブジェクト22を作成する。オブジェクト22は、プリンタ(A)6aと対応しているため、オブジェクト21と同じ「PRINTER A」となる(図5のS21)。そして、プリンタモジュール12は、オブジェクト22と同じオブジェクト「PRINTER A」が、通信制御モジュール13に作成済かどうかを確認する(図5のS22)。この場合、通信制御モジュール13には、既に同じオブジェクト「PRINTER A」が作成されており、プリンタモジュール12は、該当オブジェクトがあると判断する(図5のS23)。こうして、通信制御モジュール13の段階で、既にポートが開かれてプリンタ(A)6aが使用中であると判断できる。この方法は、プリンタ(A)6aにアクセスせずにポート状態を判断できるため、迅速な判断ができる。
また、アプリケーション3bがプリンタ(B)6bに印字処理をさせようとした場合、プリンタモジュール12は、オブジェクトとして「PRINTER B」を作成する(図5のS21に該当)。そして、通信制御モジュール13に「PRINTER B」に該当するオブジェクトが作成済みかどうかを確認する(図5のS22に該当)。この場合、通信制御モジュール13には、同じオブジェクト「PRINTER B」が作成されておらず、プリンタモジュール12は、該当オブジェクトが無いと判断する(図5のS23に該当)。こうして、ポートが開かれておらずプリンタ(B)6bが使用されていないと判断できる。以降、図4のステップS2からのフローに基づいてプリンタ(B)6bへの接続がなされる。この場合においても、プリンタ(B)6bにアクセスすることなくポート状態を判断できるため、接続可否について迅速な判断ができる。
以下に、第二の実施形態の効果を述べる。
(1)同じプリンタ6を複数接続した場合でも、それぞれ異なったオブジェクト21が作成されるため、個別に接続の状態確認ができる。
(2)複数のプリンタを、USBや無線接続などの異なった接続で接続しても、オブジェクト21の作成により、同じ確認方法でそれぞれのプリンタの接続の状態確認ができる。
また、第一および第二の実施形態に限定されず、その他の変形例を以下に述べる。
(1)デバイス機器2は、プリンタ6だけでなく、HDD(Hard Disk Drive)、FDD(Floppy(R) Disk Drive)、通信端末など情報機器のポートを介して接続されるデバイス機器であっても良い。
(2)オブジェクト20の名称は、プリンタ6とポートとを対応させた名称のほか、プリンタ6と通信制御モジュール13のバージョン名、プリンタ6と制御システム名などの外、接続確認できればオブジェクトはフラグであっても良い。
(3)ポートが使われていないことを確認する(ステップS1)ためのオブジェクト20と、実際にポートを開く(ステップS32)ためのオブジェクト21とは、オブジェクト21がオブジェクト20を包含する名称であれば、それぞれ異なった名称であっても良い。
なお、以下に請求項、実施の形態、変形例から把握される請求項以外の技術的思想を述べる。
(技術的思想1)プリンタと、該プリンタとポートを介して接続する機能をコンピュータに実行させるプログラムであって、通信制御モジュールがプリンタモジュールからの前記プリンタとの接続の指示に基づき前記ポートを介して前記プリンタを接続していることを示すオブジェクトを作成するとともに、前記プリンタとの接続処理を行い、その後接続切断時に前記オブジェクトを破棄するステップと、プリンタモジュールが前記プリンタへの接続を前記通信制御モジュールに指示する際、オブジェクトが既に作成されているかどうかを確認し、前記オブジェクトが作成されていない場合に、前記ポートが閉じており前記プリンタが接続されていないと判断し前記通信制御モジュールに前記ポートを開いて前記プリンタの接続を指示し、前記オブジェクトが既に作成されている場合に、前記ポートが開いており前記プリンタが接続されていると判断してその旨を上位層に通知するステップと、をコンピュータに実行させるためのプログラム。
本発明の実施形態のシステム構成図。 デバイスドライバの構成を詳細に表したブロック図。 第一の実施形態におけるポートを開くためのオブジェクトの状態を示すシステム構成図。 ポートを開くためのプリンタモジュールの作用を示すフローチャート。 ポートの状態確認を行うためのプリンタモジュールの作用を示すフローチャート。 ポートを開くための通信制御モジュールの作用を示すフローチャート。 第二の実施形態におけるオブジェクトによるポートの状態確認を示すシステム構成図。
符号の説明
1…情報機器としてのホストコンピュータ、2…デバイス機器、3(a)…アプリケーション、3(b)…アプリケーション、6…プリンタ、6(a)…プリンタ(A)、6(b)…プリンタ(B)、10…ホストモジュール、11…画像展開ライブラリ、12…第一のモジュールとしてのプリンタモジュール、13…第二のモジュールとしての通信制御モジュール、20、21、22…オブジェクト。

Claims (6)

  1. デバイス機器と、該デバイス機器を制御する第一のモジュールおよび第二のモジュールを備えた情報機器とを、該情報機器のポートを介して接続する通信制御方法であって、
    前記第一のモジュールが前記第二のモジュールへ前記デバイス機器の接続を指示するステップと、
    前記第二のモジュールが前記第一のモジュールからの接続の指示に基づき前記ポートを介して前記デバイス機器を接続していることを示すオブジェクトを作成するとともに、前記デバイス機器との接続処理を行い、その後接続の切断時に前記オブジェクトを破棄するステップと、
    前記第一のモジュールが前記デバイス機器への接続を前記第二のモジュールに指示する際、オブジェクトが既に作成されているかどうかを、前記第一のモジュールが確認するステップと、
    前記オブジェクトが作成されていない場合に、前記第一のモジュールは前記ポートが閉じており前記デバイス機器が接続されていないと判断し前記第二のモジュールに前記ポートを開いて前記デバイス機器の接続を指示し、前記オブジェクトが既に作成されている場合に、前記第一のモジュールは前記ポートが開いており前記デバイス機器が接続されていると判断してその旨を上位層に通知するステップと、
    を有する通信制御方法。
  2. 請求項1に記載の通信制御方法において、
    前記第二のモジュールが前記オブジェクトを作成するステップでは、前記オブジェクトに前記デバイス機器と前記ポートとが互いに対応していることを示す固有名を付与する通信制御方法。
  3. プリンタと、該プリンタを制御する第一のモジュールおよび第二のモジュールを備えた情報機器とを、該情報機器のポートを介して接続する通信制御方法であって、
    前記第一のモジュールが前記第二のモジュールへ前記プリンタの接続を指示するステップと、
    前記第二のモジュールが前記第一のモジュールからの接続の指示に基づき前記ポートを介して前記プリンタを接続していることを示すオブジェクトを作成するとともに、前記プリンタとの接続処理を行い、その後接続の切断時に前記オブジェクトを破棄するステップと、
    前記第一のモジュールが前記プリンタへの接続を前記第二のモジュールに指示する際、オブジェクトが既に作成されているかどうかを、前記第一のモジュールが確認するステップと、
    前記オブジェクトが作成されていない場合に、前記第一のモジュールは前記ポートが閉じており前記プリンタが接続されていないと判断し前記第二のモジュールに前記ポートを開いて前記プリンタの接続を指示し、前記オブジェクトが既に作成されている場合に、前記第一のモジュールは前記ポートが開いており前記プリンタが接続されていると判断してその旨を上位層に通知するステップと、
    を有する通信制御方法。
  4. 請求項3に記載の通信制御方法において、
    前記第二のモジュールが前記オブジェクトを作成するステップでは、前記オブジェクトに前記プリンタと前記ポートとが互いに対応していることを示す固有名を付与する通信制御方法。
  5. プリンタと、該プリンタを制御する情報機器とを、該情報機器のポートを介して接続するために該情報機器に備えられた通信制御装置であって、
    プリンタモジュールからの前記プリンタとの接続の指示に基づき前記ポートを介して前記プリンタを接続していることを示すオブジェクトを作成するとともに、前記プリンタとの接続処理を行い、その後接続切断時に前記オブジェクトを破棄する通信制御モジュールと、
    前記プリンタへの接続を前記通信制御モジュールに指示する際、オブジェクトが既に作成されているかどうかを確認し、前記オブジェクトが作成されていない場合に、前記ポートが閉じており前記プリンタが接続されていないと判断し前記通信制御モジュールに前記ポートを開いて前記プリンタの接続を指示し、前記オブジェクトが既に作成されている場合に、前記ポートが開いており前記プリンタが接続されていると判断してその旨を上位層に通知するプリンタモジュールと、
    を備えた通信制御装置。
  6. プリンタと、該プリンタとポートを介して接続するための第一のモジュールおよび第二のモジュールとしてコンピュータを機能させるプログラムであって、
    前記第一のモジュールが前記第二のモジュールへ前記プリンタの接続を指示するステップと、
    前記第二のモジュールが前記第一のモジュールからの接続の指示に基づき前記ポートを介して前記プリンタを接続していることを示すオブジェクトを作成するとともに、前記プリンタとの接続処理を行い、その後接続の切断時に前記オブジェクトを破棄するステップと、
    前記第一のモジュールが前記プリンタへの接続を前記第二のモジュールに指示する際、オブジェクトが既に作成されているかどうかを、前記第一のモジュールが確認するステップと、
    前記オブジェクトが作成されていない場合に、前記第一のモジュールは前記ポートが閉じており前記プリンタが接続されていないと判断し前記第二のモジュールに前記ポートを開いて前記プリンタの接続を指示し、前記オブジェクトが既に作成されている場合に、前記第一のモジュールは前記ポートが開いており前記プリンタが接続されていると判断してその旨を上位層に通知するステップと、
    をコンピュータに実行させるためのプログラム。
JP2004054191A 2004-02-27 2004-02-27 通信制御方法および通信制御装置 Withdrawn JP2005244790A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004054191A JP2005244790A (ja) 2004-02-27 2004-02-27 通信制御方法および通信制御装置
US11/060,266 US20050190401A1 (en) 2004-02-27 2005-02-17 Communication control method, communication control apparatus, and data recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004054191A JP2005244790A (ja) 2004-02-27 2004-02-27 通信制御方法および通信制御装置

Publications (1)

Publication Number Publication Date
JP2005244790A true JP2005244790A (ja) 2005-09-08

Family

ID=34879732

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004054191A Withdrawn JP2005244790A (ja) 2004-02-27 2004-02-27 通信制御方法および通信制御装置

Country Status (2)

Country Link
US (1) US20050190401A1 (ja)
JP (1) JP2005244790A (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6363871B2 (ja) * 2014-05-16 2018-07-25 キヤノン株式会社 通信装置、通信装置の制御方法およびプログラム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6473811B1 (en) * 1998-03-13 2002-10-29 Canon Kabushiki Kaisha Method and apparatus for displaying a connection status of a device based on connection information
WO2000007111A1 (fr) * 1998-07-31 2000-02-10 Matsushita Electric Industrial Co., Ltd. Systeme, appareil et technique de traitement de donnees a connexion confirmable, enregistreur, systeme et technique d'enregistrement, technique, dispositif et support d'enregistrement permettant une reconnaissance de correspondance entre un noeud et un terminal
US6925513B1 (en) * 1999-05-04 2005-08-02 Apple Computer, Inc. USB device notification
US7180626B1 (en) * 1999-11-16 2007-02-20 Seiko Epson Corporation Printer system, printer control method, and recording medium
US6742059B1 (en) * 2000-02-04 2004-05-25 Emc Corporation Primary and secondary management commands for a peripheral connected to multiple agents
US6792477B1 (en) * 2000-05-18 2004-09-14 Microsoft Corporation Discovering printers and shares
JP3685083B2 (ja) * 2001-04-05 2005-08-17 セイコーエプソン株式会社 ネットワークを介した画像、音声の出力システム
JP2003264602A (ja) * 2002-03-08 2003-09-19 Fujitsu Ltd 通信制御装置、通信制御プログラム、及び通信制御方法
US7230730B2 (en) * 2002-10-29 2007-06-12 Hewlett-Packard Development Company, L.P. Selective printing after consumable exhaustion
US6810439B2 (en) * 2003-02-18 2004-10-26 Hewlett-Packard Development Company, L.P. System and method to monitor connections to a device
US7457831B2 (en) * 2003-03-31 2008-11-25 Microsoft Corporation Peripheral device driver maintenance scheme for networked peripheral device clients
US7028125B2 (en) * 2003-08-04 2006-04-11 Inventec Corporation Hot-pluggable peripheral input device coupling system

Also Published As

Publication number Publication date
US20050190401A1 (en) 2005-09-01

Similar Documents

Publication Publication Date Title
US9075627B2 (en) Server connected to image forming apparatus and client, client, and method of remotely installing driver of image forming apparatus
US9317232B2 (en) Information processing apparatus, information processing method, and program
JP2004005417A (ja) バンドリングによるソフトウェア管理
JP2007007873A (ja) 動作要求受付装置、プログラム、記録媒体、動作要求受付装置の制御方法、通信システム及び通信システムの運用方法
US8379259B2 (en) Image forming system, device managing method thereof, and program therefor
JP2007312088A (ja) 動作要求受付装置、プログラム、記録媒体、動作要求受付装置の制御方法、通信システム及び通信システムの運用方法
JP3826009B2 (ja) 情報処理装置、印刷ジョブ出力方法、及びコンピュータプログラム
US9141321B1 (en) Configurable printer server device
CN100361089C (zh) 用于打印机的错误处理系统和方法
US10942694B2 (en) Printing system, terminal apparatus and print setting method for setting the print settings by applying specific setting data set
JP2006289690A (ja) 画像形成装置および画像形成システム
JP4521299B2 (ja) 情報処理装置、情報処理プログラム、およびコンピュータ読み取り可能な記憶媒体
JP2005028878A (ja) 導入可能データ変換機能を有する印刷装置
JP2010211706A (ja) 情報処理装置,情報処理方法,プログラム,および記録媒体
JP2005244790A (ja) 通信制御方法および通信制御装置
JPH1063451A (ja) ネットワーク印字装置システム
JP4432520B2 (ja) 通信制御装置
JP2006113968A (ja) プリンタドライバ供給ユニット
JP2009223576A (ja) 情報処理装置、情報処理方法、及びプログラム
US8161096B2 (en) Method of executing service on a network, and flow processing apparatus with document that describes a flow for controlling services on the network
US8675223B2 (en) Image forming device, image forming system and computer readable medium for installing related software to another device
WO2017159258A1 (ja) 情報処理装置及び環境設定方法
JP2012141732A (ja) 情報処理装置、制御方法、及びプログラム
JP2007323248A (ja) 印刷システム、印刷データ作成装置、印刷装置及びその識別方法
JP2012168807A (ja) 印刷指示プログラム、印刷指示方法、印刷指示装置、および印刷指示システム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060118

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20070403

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080128

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080205

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080403

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20090106

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090304

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20090313

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20090529

A761 Written withdrawal of application

Free format text: JAPANESE INTERMEDIATE CODE: A761

Effective date: 20100901