JP5321311B2 - 通信制御装置 - Google Patents

通信制御装置 Download PDF

Info

Publication number
JP5321311B2
JP5321311B2 JP2009169166A JP2009169166A JP5321311B2 JP 5321311 B2 JP5321311 B2 JP 5321311B2 JP 2009169166 A JP2009169166 A JP 2009169166A JP 2009169166 A JP2009169166 A JP 2009169166A JP 5321311 B2 JP5321311 B2 JP 5321311B2
Authority
JP
Japan
Prior art keywords
port
communication
driver
virtual port
virtual
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.)
Expired - Fee Related
Application number
JP2009169166A
Other languages
English (en)
Other versions
JP2011022918A (ja
JP2011022918A5 (ja
Inventor
久美 西村
雅俊 中澤
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 JP2009169166A priority Critical patent/JP5321311B2/ja
Priority to EP10168804.2A priority patent/EP2287746B1/en
Priority to US12/833,246 priority patent/US8964213B2/en
Publication of JP2011022918A publication Critical patent/JP2011022918A/ja
Publication of JP2011022918A5 publication Critical patent/JP2011022918A5/ja
Application granted granted Critical
Publication of JP5321311B2 publication Critical patent/JP5321311B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

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/1203Improving or facilitating administration, e.g. print management
    • 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/1224Client or server resources 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)
  • Information Transfer Systems (AREA)
  • Computer And Data Communications (AREA)

Description

本発明は、通信制御方法および制御プログラムに係り、特に特定の通信インターフェースに対応したアプリケーションプログラムを特定の通信インターフェースとは異なる他の通信インターフェースに接続することが可能な通信制御装置に関する。
従来、アプリケーションプログラムにおいては、オペレーティングシステム上で様々な周辺機器を利用するために、オペレーティングシステムの内部において、周辺装置を制御するためのモジュールとしてデバイスドライバーを組み込むようにされていた(例えば、特許文献1参照)。
このデバイスドライバーは、グラフィックディスプレイ、プリンターやイーサネット(登録商標)ボードなど、ある特定の入出力デバイス(拡張カードや周辺機器などのハードウェア)を制御し、アプリケーションソフトウェアに対して入出力するためのソフトウェアである。
特開2008−158785号公報
ところで、デバイスドライバーを効率的に作成したり使用するため、主に通信プロトコルの制御等を行う仮想ポートドライバーを介して、通信ポート(物理ポート)と通信を行う構成や方法がある。ここで、同一の通信ポートを使用する仮想ポートドライバーが複数存在する通信環境においては、複数の仮想ポートドライバーが同時に同一の通信ポートを使用しようとすることにより、競合が発生することとなる。あるいは、使用しようとする期間が重複してしまう場合がある。
この場合において、仮想ポートドライバーの種類や仕様によっては、一旦通信ポートを確保すると自己が接続している通信ポートを占有し続けるものがある。
具体的には、このような種類の仮想ポートドライバーとしては、通信確立した後、接続状態を常時確認するような仮想ポートドライバーが考えられる。この種の仮想ポートドライバーは、自己が対応する通信ポートに被制御装置が接続されているか否かを常時判別する必要があるため、当該通信ポートを解放することがないのである。
このように他の仮想ポートドライバーが通信ポートを占有している場合には、一の仮想ポートドライバーが当該通信ポートを使用しようとしても、当該通信ポートを使用することができず、ひいては、当該一の他の仮想ポートドライバーを介して接続するデバイスドライバー(アプリケーションプログラム)も当該通信ポートを利用することができなくなってしまうと言う不具合が生じることとなる。
そこで、本発明の目的は、同一の通信ポートを使用する仮想ポートドライバーが複数存在する通信環境において、当該通信ポートを占有している仮想ポートドライバーが存在する場合でも、当該通信ポートを占有している仮想ポートドライバー以外の仮想ポートドライバーが通信ポートを使用して通信を行うことが可能となる通信制御装置を提供することにある。
上記目的を達成するために、本発明は、複数のデバイスドライバーとそれぞれ対応するもので、同一の通信ポートを使用する仮想ポートドライバーが複数存在し、前記仮想ポートドライバーと前記通信ポートを介して被制御装置と通信を行う制御装置の通信制御方法であって、一の仮想ポートドライバーが、自己が対応する前記デバイスドライバーとの間で所定の通信ポートに対応するものとしてエミュレートし通信処理を行う過程と、少なくとも他の仮想ポートドライバーが前記通信ポートを占有している場合に、前記一の仮想ポートドライバーが、前記他の仮想ポートドライバーとの間で当該他の仮想ポートドライバーが対応する所定のデバイスドライバーとしてエミュレートし通信処理を行う過程と、を含むことを特徴としている。
また、前記一の仮想ポートドライバーは前記他の仮想ポートドライバーに対応する通信モジュールを備えており、前記通信モジュールを介して前記所定のデバイスドライバーとしてエミュレートし通信処理を行う過程と、を含むことを特徴とする。
上記構成によれば、一の仮想ポートドライバーは、自己が対応するデバイスドライバーとの間で所定の通信ポートとしてエミュレートし通信処理を行うとともに、少なくとも他の仮想ポートドライバーが通信ポートを占有している場合に、一の仮想ポートドライバーが、通信ポートを占有している他の仮想ポートドライバーとの間で当該他の仮想ポートドライバーが対応する所定のデバイスドライバーとしてエミュレートし通信処理を行う。
したがって、一の仮想ポートドライバーに対応するデバイスドライバー、ひいては、このデバイスドライバーを利用して通信ポートを介した通信を行うアプリケーションは、他の仮想ポートドライバーが当該通信ポートを占有しているか否かにより影響を受けることなく当該通信ポートを利用した通信を行うことが可能となる。
この場合において、前記一の仮想ポートドライバーが前記通信ポートに対して通信要求処理を行う過程と、前記通信要求処理に対する前記通信ポートによる通信許可の応答が得られなかった場合に、前記他の仮想ポートドライバーが前記通信ポートを占有しているものと判断して、当該他の仮想ポートドライバーが対応する所定のデバイスドライバーとしてエミュレートする通信処理に移行する過程と、を備えたことを特徴としている。
上記構成によれば、一の仮想ポートドライバーが通信ポートに対して行った通信要求処理に対する通信許可の応答が得られなかった場合に、他の仮想ポートドライバーが通信ポートを占有しているものとして、他の仮想ポートドライバーが対応する所定のデバイスドライバーをエミュレートする通信処理に移行するので、アプリケーション側、ひいては、ユーザー側では占有の有無を意識することなく、通信処理を行うことが可能となる。
また、本発明は、複数のデバイスドライバーとそれぞれ対応するもので、同一の通信ポートを使用する仮想ポートドライバーが複数存在し、前記仮想ポートドライバーと前記通信ポートを介して被制御装置と通信を行う制御装置をコンピューターにより制御するための制御プログラムであって、一の仮想ポートドライバーに、当該仮想ポートドライバーが対応する前記デバイスドライバーとの間で所定の通信ポートとしてエミュレートし通信処理を行わせる手段、少なくとも他の仮想ポートドライバーが前記通信ポートを占有している場合に、前記一の仮想ポートドライバーが、前記他の仮想ポートドライバーとの間で当該他の仮想ポートドライバーが対応する所定のデバイスドライバーとしてエミュレートし通信処理を行わせる手段、として前記コンピューターにより処理させることを特徴としている。
また、前記一の仮想ポートドライバーは前記他の仮想ポートドライバーに対応する通信モジュールを備えており、前記通信モジュールを介して前記所定のデバイスドライバーとしてエミュレートし通信処理を行わせる手段、として前記コンピューターにより処理させることを特徴とする。
上記構成によれば、一の仮想ポートドライバーに対応するデバイスドライバー、ひいては、このデバイスドライバーを利用して通信ポートを介した通信を行うアプリケーションは、他の仮想ポートドライバーが当該通信ポートを占有しているか否かにより影響を受けることなく当該通信ポートを利用した通信を行うことが可能となる。
本発明によれば、同一の通信ポートを使用する仮想ポートドライバーが複数存在する通信環境において、通信ポートを占有している仮想ポートドライバーが存在する場合でも、通信ポートを占有している仮想ポートドライバー以外の仮想ポートドライバーが当該占有されている通信ポートを介して通信を行える。
したがって、同一の通信ポートを使用する仮想ポートドライバーが複数存在する場合に、アプリケーションプログラムは、いずれかの仮想ポートドライバーを使用するデバイスドライバーのいずれを使用しても同一の通信ポートを介した通信を行うことが可能となる。
実施形態のPOSシステムの概要構成ブロック図である。 POS端末装置の概要構成ブロック図である。 POS端末装置における通信制御系の機能説明図である。 デバイスドライバーDD1と、仮想ポートドライバーVPD1の詳細構成説明図である。 仮想ポートドライバーVPD2の詳細構成説明図である。 実施形態の印刷時のシーケンスフローチャートである。
以下、図面を参照して本発明の実施形態について説明する。
図1は、実施形態のPOSシステムの概要構成ブロック図である。
POSシステム10は、例えば、スーパーマーケットなどの小売業者などに導入される販売管理システムであり、大別すると、レシートあるいはクーポンなどを印刷するプリンター11が接続された複数のPOS端末装置12と、複数のPOS端末装置12とイントラネットなどの通信ネットワーク13を介して接続され、複数のPOS端末装置12の管理およびPOS端末装置12を介して収集した販売データなどの各種データ管理を行うPOSサーバー装置14と、を備えている。
ここで、プリンター11は、被制御装置として機能し、POS端末装置12は、この被制御装置を制御する制御装置として機能している。
図2は、POS端末装置の概要構成ブロック図である。
POS端末装置12は、商品に関する情報(金額、商品コード、割引率など)や顧客に関する情報(性別、年代)などをオペレーターが手入力するためのキーボード21と、商品等に付されたバーコードを読み取り、商品に関する情報を入力するバーコードリーダー22と、顧客のクレジットカードや会員カードを読み取り、クレジット清算に関する情報や会員番号等の会員に関する情報を取得するカードリーダー23と、POSサーバー装置14から送信される商品データや、キーボード21、バーコードリーダー22あるいはカードリーダー23からの入力情報に基づいてレシート印刷情報やクーポン印刷情報を生成し、プリンター11に出力する端末装置本体24と、POSサーバー装置14から送信された商品データを元に生成した商品情報や、顧客に対して購入商品の金額等を提示するためのディスプレイ25と、を備えている。
上記構成において、端末装置本体24は、図示しないMPU、ROM、RAMなどを備えたコンピューターとして構成され、ROMに格納した制御プログラムに基づいて制御を行っている。
また、プリンター11と、POS端末装置12とは、コネクターC1、C2および通信ケーブルCAを介して接続されている。
POSサーバー装置14は、図示しないMPU、ROM、RAM、データベースを格納したハードディスク装置などを備えたコンピューターとして構成されている。
図3は、POS端末装置における通信制御系の機能説明図である。
POS端末装置12のオペレーティングシステム(OS)OPS上で動作するアプリケーションプログラムAP(例えば、POS端末制御用プログラム)を設計する段階では、POS端末装置12の周辺機器として接続されるプリンター11の具体的な種類については未定であることもある。このため、実際にプリンター11を接続した段階で、プリンター11を制御するためのプロトコルに対応したデバイスドライバーDD1を導入することもある。
この場合において、デバイスドライバーDD1は、実際の通信ポート(例えば、LPTポートやCOM1、USBポートなどの物理ポート)を制御する機能を含めたものである場合、通信可能な通信ポートは固定的に特定されており、変更に柔軟に対応することはできない。
このため、例えば、デバイスドライバーDD1が対応する通信ポートが存在しないシステムなどにおいて、デバイスドライバーDD1を組み込むような場合には、デバイスドライバーDD1が通信可能な通信ポートに対応するプロトコルを、実際に周辺機器が接続されている通信ポートに対応するプロトコルに変換するために、仮想ポートドライバーVPD1がデバイスドライバーDD1と通信ポートとの間に導入されることとなる。
また、通信ポートのサポートが変更する毎にデバイスドライバーを作成したり、また使用する場合においてもデバイスドライバーを都度変更する必要がある。通信ポートに対応するプロトコル部分は各デバイスや各通信ポート種類の間で共通化ができるため、仮想ポートドライバーとして取り出して構成すれば、デバイスドライバーの作成や使用が効率的になる。デバイスドライバーから仮想ポートドライバーへは、簡単な通信プロトコルで済む。変更も簡単である。異なる通信プロトコルが設定されていても、変換も可能である。
例えば、デバイスドライバーDD1が対応する通信ポートがLPTポートであり、実際にプリンター11が接続されている通信ポートが通信ポートCOM1である場合には、仮想ポートドライバーVPD1は、LPTポートに対応するプロトコルをCOMポートに対応するプロトコルに変換することで、すなわち、仮想ポートドライバーVPD1がデバイスドライバーDD1に対しては、LPTポートをエミュレートし、通信ポートCOM1に対しては、通信ポートCOM1に対応したデバイスドライバーをエミュレートすることにより、デバイスドライバーDD1がCOMポートを介してプリンター11を制御可能な状態とするのである。
ここで、LPTポート(通信ポート)をエミュレートするとは、通信相手(上記例の場合デバイスドライバーDD1)があたかもLPTポートと通信を行っているように“H”レベル、“L”レベルのディジタル信号の入出力を行うという意味であり、デバイスドライバーをエミュレートするとは、通信相手(上記例の場合、通信ポートCOM1)があたかもデバイスドライバーとデータのやりとりを行っているようにデータの送受信(コマンド及び実データを含む)を行うことを言う。以下、他のエミュレート動作についても同様である。
ところで、デバイスドライバーDD1の導入前に通信ポートに他の種類のプリンターあるいは他の周辺機器を接続していた場合には、当該他の種類のプリンターあるいは周辺機器に対応するデバイスドライバーDD2が既に導入されている場合がある。
この場合においても、デバイスドライバーDD2は、特定の通信ポートを制御するものであるため、通信可能な通信ポートは固定であり、変更に柔軟に対応することはできないので、デバイスドライバーDD2が通信可能な通信ポートに対応するプロトコルを、実際に周辺機器が接続されている通信ポートに対応するプロトコルに変換するために、仮想ポートドライバーVPD2がデバイスドライバーDD2と通信ポートとの間に導入されていることがある。すなわち、仮想ポートドライバーVPD2がデバイスドライバーDD2に対しては、デバイスドライバーDD2が対応する通信ポートをエミュレートし、通信ポートCOM1に対しては、通信ポートCOM1に対応したデバイスドライバーをエミュレートすることにより、デバイスドライバーDD1が通信ポートCOM1を介してプリンター11を制御可能な状態とするのである。
このような状況下において、仮想ポートドライバーVPD2が、通信ポートCOM1を占有したままとなっている場合がある。
このような状況となる原因としては、様々あるが、仮想ポートドライバーVPD2が、例えば、入出力データを送ることはないのだが、通信ポートに被制御装置が接続されているか否かを常時監視する必要があるような場合がある。
このように通信ポートCOM1が占有されたままである場合には、その後に導入(インストール)される仮想ポートドライバーVPD1は、通信ポートCOM1にアクセスすることができず、通信を行うことができず、ひいては、仮想ポートドライバーVPD1を利用するデバイスドライバーDD1、ひいては、アプリケーションプログラムAPが処理を行えなくなってしまうという不具合が生じる。
そこで、本実施形態においては、仮想ポートドライバーVPD1を導入(インストール)する時点で、すでに通信ポートを占有している仮想ポートドライバーVPD2が存在する場合には、当該仮想ポートドライバーVPD1は、仮想ポートドライバーVPD2を介して通信ポートとの間で通信を行うように動作するようにしているのである。
具体的には、仮想ポートドライバーVPD2が、デバイスドライバーDD2に対応するプロトコルを、占有している通信ポートに対応するプロトコルに変換するものである場合には、仮想ポートドライバーVPD1は、デバイスドライバーDD1に対応するプロトコルを、デバイスドライバーDD2に対応するプロトコルに変換するように動作する。
すなわち、仮想ポートドライバーVPD1がデバイスドライバーDD1に対しては、通信ポートCOM1をエミュレートし、仮想ポートドライバーVPD2に対しては、通信ポートCOM1に対応したデバイスドライバーDD2をエミュレートすることにより、デバイスドライバーDD1が通信ポートCOM1を介してプリンター11を制御可能な状態とするのである。
これにより仮想ポートドライバーVPD1は、仮想ポートドライバーVPD2からみると仮想的には、デバイスドライバーDD2と等価となり、アプリケーションプログラムAPは、仮想ポートドライバーVPD2が通信ポートを占有しているか否かに拘わらず、通信ポートを介してプリンター11を制御することが可能となるのである。
ここで、デバイスドライバーと仮想ポートドライバーの動作についてより詳細に説明する。
この場合において、仮想ポートドライバーVPD1は、デバイスドライバーDD1のドライバー制御モジュール31の制御下で、通信ポートCOM1を介して通信を行うように設定されていたとする。
アプリケーションプログラムAPから通信要求がなされると、デバイスドライバーDD1のドライバー制御モジュール31は、仮想ポートドライバーVPD1に対して、自己が対応している通信プロトコルを用いて通信要求を行う。
これにより、仮想ポートドライバーVPD1は、デバイスドライバーDD1のドライバー制御モジュール31が対応している通信プロトコルを用いる通信ポートをエミュレートする。
図4は、デバイスドライバーDD1と、仮想ポートドライバーVPD1の詳細構成説明図である。
この場合において、仮想ポートドライバーVPD1は、図4に示すように、シリアル通信を行う通信ポートCOM(COM1、COM2、…)と通信可能なCOMポート通信モジュール41、パラレル通信を行う通信ポートLPT(LPT1、LPT2、…)と通信可能なLPTポート通信モジュール42、ユニバーサルシリアルバス(USB)通信を行う通信ポートUSB(USB1、USB2、…)と通信可能なUSBポート通信モジュール43、LAN用通信規格に準じたイーサネット(登録商標)ポートと通信可能なイーサネット(登録商標)ポート通信モジュール44、無線LAN用通信規格に準じたワイヤレスポートと通信可能なワイヤレスポート通信モジュール45、及び、仮想ポートドライバーVPD2に対して、仮想ポートドライバーVPD2が対応しているデバイスドライバーDD2をエミュレートする仮想ポート通信モジュール46、を備えている。
そして、仮想ポートドライバーVPD1は、デバイスドライバーDD1のドライバー制御モジュールに対しては、通信ポートCOM1を介した通信を行うように設定されているので、本来は図4に破線矢印で示すように、COMポート通信モジュール41を介して通信を行うはずである。
しかしながら、上述したように、通信ポートCOM1は、仮想ポートドライバーVPD2により占有されているので、仮想ポートドライバーVPD1は、図4に実線矢印で示すように、仮想ポート通信モジュール46を介して仮想ポートドライバーVPD2に対して、デバイスドライバーDD2の図示しないドライバー制御モジュールをエミュレートして、通信要求を行う。
図5は、仮想ポートドライバーVPD2の詳細構成説明図である。
この場合において、仮想ポートドライバーVPD2は、図5に示すように、シリアル通信を行う通信ポートCOM(COM1、COM2、…)と通信可能なCOMポート通信モジュール51、パラレル通信を行う通信ポートLPT(LPT1、LPT2、…)と通信可能なLPTポート通信モジュール52、ユニバーサルシリアルバス(USB)通信を行う通信ポートUSB(USB1、USB2、…)と通信可能なUSBポート通信モジュール53、LAN用通信規格に準じたイーサネット(登録商標)ポートと通信可能なイーサネット(登録商標)ポート通信モジュール54、及び、無線LAN用通信規格に準じたワイヤレスポートと通信可能なワイヤレスポート通信モジュール55、を備えている。
そして、仮想ポートドライバーVPD2は、デバイスドライバーDD2の図示しないドライバー制御モジュールに対しては、通信ポートCOM1を介した通信を行うように設定されているので、図5に実線矢印で示すように、COMポート通信モジュール51及び通信ポートCOM1を介して通信を行い、ひいては、デバイスドライバーDD1がプリンター11と通信を行えるようにしている。
次に具体的な通信制御処理についてCOMポートに接続されたプリンターにより印刷を行う場合を例として説明する。
図6は、実施形態の印刷時のシーケンスフローチャートである。
まず、POS端末装置12上で動作するアプリケーションプログラムAPに対応するデバイスドライバーDD1は、アプリケーションプログラムAPが印刷開始要求を行うと(ステップS11)、当該アプリケーションプログラムが対応する通信ポート(例えば、LPTポート)のプロトコルに変換し、仮想ポートドライバーVPD1に対し印刷開始要求を転送する(ステップS12)。
印刷開始要求を転送された仮想ポートドライバーVPD1は、見かけ上、仮想ポートドライバーVPD2に対応する上位のデバイスドライバーDD2と同様に機能し、仮想ポート通信モジュール46を介して、転送された印刷開始要求をデバイスドライバーDD2が対応する通信ポート(例えば、USBポート)のプロトコルに変換し、仮想ポートドライバーVPD2に転送する(ステップS13)。すなわち、仮想ポートドライバーVPD1は、デバイスドライバーDD1に対しては当該デバイスドライバーDD1が対応する通信ポートをエミュレートし、仮想ポートドライバーVPD2に対してはデバイスドライバーDD2をエミュレートすることとなる。
これにより仮想ポートドライバーVPD2は、転送された印刷開始要求を、COMポート通信モジュールを介して通信ポートCOM1に対応する通信プロトコルに変換して通信ポートCOM1に送出し、通信ポートCOM1、コネクターC1、通信ケーブル、コネクターC2を介してプリンター11に対して印刷開始要求がなされることとなる(ステップS14)。すなわち、仮想ポートドライバーVPD2は、仮想ポートドライバーVPD1に対しては、通信ポートCOM1をエミュレートし、通信ポートCOM1に対しては、デバイスドライバーDD2をエミュレートすることとなる。
印刷開始要求を受けたプリンター11は、印刷データの受け入れが可能である場合には、印刷開始受諾をPOS端末装置12の通信ポートCOM1に対し、コネクターC2、通信ケーブル、コネクターC1を介して送信する(ステップS15)。
通信ポートCOM1を介して印刷開始受諾を受信した仮想ポートドライバーVPD2は、通信ポートCOM1に対応する通信プロトコルを仮想ポートドライバーVPD1が対応する通信プロトコルに変換し、仮想ポートドライバーVPD1に転送する(ステップS16)。すなわち、仮想ポートドライバーVPD2は、通信ポートCOM1に対しては、デバイスドライバーDD2をエミュレートし、デバイスドライバーDD1に対しては、通信ポートCOM1をエミュレートすることとなる。
これにより、見かけ上、通信ポートCOM1から印刷開始受諾を受信した仮想ポートドライバーVPD1は、通信プロトコルをデバイスドライバーDD1が対応する通信プロトコルに変換し、デバイスドライバーDD1に転送する(ステップS17)。すなわち、仮想ポートドライバーVPD1は、仮想ポートドライバーVPD2に対しては、デバイスドライバーDD2をエミュレートし、デバイスドライバーDD1に対しては、当該デバイスドライバーDD1が対応している通信ポートをエミュレートすることとなる。
デバイスドライバーDD1は、受信した印刷開始受諾をアプリケーションプログラムAPが対応するデータフォーマットに変換するプロトコル変換を行い、アプリケーションプログラムに転送する(ステップS18)。
デバイスドライバーDD1より印刷開始受諾を受信したアプリケーションプログラムAPは、印刷制御コマンド、実印刷データなどの印刷に必要な印刷データをデバイスドライバーDD1に転送する(ステップS19)。
これによりデバイスドライバーDD1は、当該アプリケーションプログラムが対応する通信ポート(例えば、LPTポート)のプロトコルに変換し、仮想ポートドライバーVPD1に対し印刷データを転送する(ステップS20)。
印刷データを転送された仮想ポートドライバーVPD1は、仮想ポート通信モジュール46を介して、転送された印刷開始要求をデバイスドライバーDD2が対応する通信ポート(例えば、USBポート)のプロトコルに変換し、仮想ポートドライバーVPD2に印刷データを転送する(ステップS21)。すなわち、仮想ポートドライバーVPD1は、デバイスドライバーDD1に対しては当該デバイスドライバーDD1が対応する通信ポートをエミュレートし、仮想ポートドライバーVPD2に対してはデバイスドライバーDD2をエミュレートすることとなる。
これにより仮想ポートドライバーVPD2は、転送された印刷データを、COMポート通信モジュールを介して通信ポートCOM1に対応する通信プロトコルに変換して通信ポートCOM1に送出し、通信ポートCOM1、コネクターC1、通信ケーブル、コネクターC2を介してプリンター11に対して印刷データが転送されることとなる(ステップS22)。すなわち、仮想ポートドライバーVPD2は、仮想ポートドライバーVPD1に対しては、通信ポートCOM1をエミュレートし、通信ポートCOM1に対しては、デバイスドライバーDD2をエミュレートすることとなる。
これらの結果、プリンター11は、転送された印刷データに含まれる印刷制御コマンドおよび印刷データを解釈して印刷処理を行うこととなる(ステップS23)。
以上の説明のように、本実施形態によれば、同一の通信ポートを使用する仮想ポートドライバーが複数存在する通信環境で、一の仮想ポートドライバーが通信を行うとし、他の仮想ポートドライバーが使用しようとする通信ポートを占有している場合に、一の仮想ポートドライバーが、占有状態にある当該他の仮想ポートドライバーとの間で当該他の仮想ポートドライバーが対応するデバイスドライバーをエミュレートして当該通信ポートを介して接続された被制御装置と通信を行うことが可能となる。
以上の説明においては、仮想ポートドライバーVPD1のインストール時に通信ポートCOM1を占有している仮想ポートドライバーVPD2の存在により、以降は仮想ポートドライバーVPD1が仮想ポートドライバーVPD2を介して通信ポートCOM1と通信を行うものとして説明したが、仮想ポートドライバーVPD1のインストール後に、一の仮想ポートドライバーである仮想ポートドライバーVPD1が通信ポートCOM1に対して、COMポート通信モジュール41を介して通信要求処理を行い、この通信要求処理に対する通信ポートCOM1による応答が得られなかった場合に、他の仮想ポートドライバーである仮想ポートドライバーVPD2が通信ポートCOM1を占有しているものとして、当該他の仮想ポートドライバーである仮想ポートドライバーVPD2が対応するデバイスドライバー(本実施形態の場合、デバイスドライバーDD2)をエミュレートする通信処理に移行するように構成することも可能である。
以上の説明においては、通信ポートとして、通信ポートCOM1を通信に用いる場合について説明したが、他の種類の通信ポート(例えば、LPTポート、USBポート、イーサネット(登録商標)ポート、ワイヤレスポート)であっても同様に適用が可能である。
10…POSシステム、11…プリンター、12…POS端末装置、13…通信ネットワーク、14…POSサーバー装置、24…端末装置本体、31…ドライバー制御モジュール、46…仮想ポート通信モジュール、51…COMポート通信モジュール、AP…アプリケーションプログラム、COM1…通信ポート、DD1、DD2…デバイスドライバー、VPD1、VPD2…仮想ポートドライバー。

Claims (2)

  1. 被制御装置と接続される通信ポートと、
    記通信ポートに対応するプロトコルに変換する第1の仮想ポートドライバー
    前記第1の仮想ポートドライバーと通信する前記通信ポートと異なる通信ポートに対応する第1のデバイスドライバーと、
    前記通信ポートに対応するプロトコルに変換する第2の仮想ポートドライバーと
    前記第2の仮想ポートドライバーと通信する第2のデバイスドライバーと、を有
    前記第1の仮想ポートドライバー
    前記第1のデバイスドライバーとの間で前記通信ポートと異なる通信ポートとしてエミュレートして前記通信ポートと通信を行う通信モジュールと
    前記第の仮想ポートドライバーが前記通信ポートを占有している場合に、前記第の仮想ポートドライバーとの間で当該第のデバイスドライバーとしてエミュレートして前記第2の仮想ポートドライバーと通信を行う仮想ポート通信モジュールと、
    を備えることを特徴とする通信制御装置
  2. 前記第の仮想ポートドライバーは、前記通信ポートに対して通信要求処理を行い、前記通信要求処理に対する前記通信ポートによる通信許可の応答が得られなかった場合に、前記第の仮想ポートドライバーが前記通信ポートを占有しているものと判断して、前記第2のデバイスドライバーとしてエミュレートする通信処理に移行する請求項1記載の通信制御装置
JP2009169166A 2009-07-17 2009-07-17 通信制御装置 Expired - Fee Related JP5321311B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2009169166A JP5321311B2 (ja) 2009-07-17 2009-07-17 通信制御装置
EP10168804.2A EP2287746B1 (en) 2009-07-17 2010-07-08 Communication control method, control program, and communication control system
US12/833,246 US8964213B2 (en) 2009-07-17 2010-07-09 Communication control method and control program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009169166A JP5321311B2 (ja) 2009-07-17 2009-07-17 通信制御装置

Publications (3)

Publication Number Publication Date
JP2011022918A JP2011022918A (ja) 2011-02-03
JP2011022918A5 JP2011022918A5 (ja) 2012-07-26
JP5321311B2 true JP5321311B2 (ja) 2013-10-23

Family

ID=43357223

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009169166A Expired - Fee Related JP5321311B2 (ja) 2009-07-17 2009-07-17 通信制御装置

Country Status (3)

Country Link
US (1) US8964213B2 (ja)
EP (1) EP2287746B1 (ja)
JP (1) JP5321311B2 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5807343B2 (ja) * 2011-02-25 2015-11-10 セイコーエプソン株式会社 印刷データを用いた機能拡張プログラム、機能拡張装置、及び、機能拡張方法
JP6035872B2 (ja) * 2012-05-29 2016-11-30 セイコーエプソン株式会社 制御装置、制御装置の制御方法、及び、プログラム
JP6065761B2 (ja) * 2013-06-20 2017-01-25 セイコーエプソン株式会社 制御装置、および、制御装置の制御方法
KR102082347B1 (ko) * 2013-08-28 2020-02-27 삼성전자주식회사 통지 정보를 전송하기 위한 전자 장치 및 방법
US9451100B2 (en) * 2013-08-28 2016-09-20 Samsung Electronics Co., Ltd. Method for transmitting notification information and electronic device thereof
JP6589870B2 (ja) * 2014-09-04 2019-10-16 セイコーエプソン株式会社 プリンター、及び、データ処理方法
KR101996896B1 (ko) * 2014-12-29 2019-07-05 삼성전자주식회사 가상 디바이스 드라이버를 이용한 리소스 공유 방법 및 그 전자 디바이스
JP6638391B2 (ja) 2015-02-12 2020-01-29 セイコーエプソン株式会社 プリンタードライバーおよびposシステム
US10289583B2 (en) * 2016-09-02 2019-05-14 American Megatrends, Inc. Techniques of emulation of serial port over USB at embedded-system device
CN106861336A (zh) * 2017-03-06 2017-06-20 赵子宁 一种矿业用空气净化装置

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04227547A (ja) 1990-05-11 1992-08-17 Seiko Epson Corp 情報処理装置
US5628030A (en) * 1994-03-24 1997-05-06 Multi-Tech Systems, Inc. Virtual modem driver apparatus and method
US6230118B1 (en) * 1997-06-30 2001-05-08 Cirrus Logic, Inc. DOS based application supports for a controllerless modem
JP2000222341A (ja) * 1998-06-30 2000-08-11 Seiko Epson Corp デバイス制御装置、デバイス制御システム、デバイス判定方法及びデバイス判定を行なうためのコンピュ―タプログラムを記録した記録媒体
US6560659B1 (en) * 1999-08-26 2003-05-06 Advanced Micro Devices, Inc. Unicode-based drivers, device configuration interface and methodology for configuring similar but potentially incompatible peripheral devices
US7464133B1 (en) * 1999-10-05 2008-12-09 Fujitsu Limited Server/client system
JP2001265610A (ja) 2000-03-22 2001-09-28 Sharp Corp デバイス制御方法
US7383555B2 (en) * 2004-03-11 2008-06-03 International Business Machines Corporation Apparatus and method for sharing a network I/O adapter between logical partitions
JP2007219711A (ja) * 2006-02-15 2007-08-30 Silex Technology Inc リモートデバイス制御プログラム
US7650444B2 (en) * 2006-09-28 2010-01-19 Digi International, Inc. Systems and methods for remotely managing an application-specific display device
JP2008158785A (ja) 2006-12-22 2008-07-10 Toshiba Corp デバイスの接続方法、情報処理装置、及びデバイス接続用プログラム

Also Published As

Publication number Publication date
EP2287746B1 (en) 2017-04-05
US20110013223A1 (en) 2011-01-20
JP2011022918A (ja) 2011-02-03
EP2287746A3 (en) 2013-02-06
EP2287746A2 (en) 2011-02-23
US8964213B2 (en) 2015-02-24

Similar Documents

Publication Publication Date Title
JP5321311B2 (ja) 通信制御装置
EP2799999B1 (en) Device control system and method for controlling device control system
EP2680243B1 (en) Data processing apparatus, POS system and control method of the POS system
KR101364808B1 (ko) 인쇄 데이터를 이용한 기능 확장 방법, 기능 확장 장치, 및 기록 매체
US6098120A (en) Peripheral sharing system using a bus bridge to emulate peripherals on a first bus to a host on a second bus
JP5807343B2 (ja) 印刷データを用いた機能拡張プログラム、機能拡張装置、及び、機能拡張方法
US11366621B2 (en) Printing apparatus to acquire print data and transmits a request to an external apparatus to close websocket communication when predetermined time period elapsed
KR20080001117A (ko) 블루투스를 통한 작업요청 정보를 표시하는 프린터 및 이프린터에서의 작업요청 정보 표시 방법
EP3211612A1 (en) Electronic receipt system
JP2002251674A (ja) Pos端末およびposデバイスの制御方法
JP5708012B2 (ja) プリンター変更用プログラム、プリンター変更方法、及び、ホスト装置
JP2015005311A (ja) 印刷データを用いた機能拡張プログラム、機能拡張装置、及び、機能拡張方法
JPH1145162A (ja) プリンタ
US10410199B2 (en) Print control system and print control method
EP3142086B1 (en) Print data processing device, print data processing method, program, and printing system
JP5925138B2 (ja) 情報処理装置及びプログラム
JP6323528B2 (ja) データ処理装置、データ処理システム、及び、データ処理装置の制御方法
CN111752621A (zh) 具有共享外围设备控制机的网页销售管理系统
JP6236943B2 (ja) 通信制御方法、及び、情報処理装置
JP5609453B2 (ja) 分散処理方法、分散処理装置、及び、プログラム
JP5842971B2 (ja) 分散処理方法、分散処理装置、及び、プログラム
TWM548839U (zh) 網頁pos系統連接週邊裝置的架構
JP2015149077A (ja) プリンター変更用プログラム、プリンター変更方法、及び、ホスト装置
JPH069066B2 (ja) カ−ド認証端末群管理装置
JP2006120033A (ja) 情報システム

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120607

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120607

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20120607

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130319

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130326

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130524

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130701

R150 Certificate of patent or registration of utility model

Ref document number: 5321311

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees