JP2015023372A - 通信制御プログラム、情報処理装置、及び、通信制御方法 - Google Patents

通信制御プログラム、情報処理装置、及び、通信制御方法 Download PDF

Info

Publication number
JP2015023372A
JP2015023372A JP2013149175A JP2013149175A JP2015023372A JP 2015023372 A JP2015023372 A JP 2015023372A JP 2013149175 A JP2013149175 A JP 2013149175A JP 2013149175 A JP2013149175 A JP 2013149175A JP 2015023372 A JP2015023372 A JP 2015023372A
Authority
JP
Japan
Prior art keywords
data
application
unit
output
communication control
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
JP2013149175A
Other languages
English (en)
Other versions
JP2015023372A5 (ja
JP6236949B2 (ja
Inventor
明男 高本
Akio Takamoto
明男 高本
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 JP2013149175A priority Critical patent/JP6236949B2/ja
Priority to US14/327,043 priority patent/US9047209B2/en
Priority to CN201410328304.0A priority patent/CN104298607B/zh
Publication of JP2015023372A publication Critical patent/JP2015023372A/ja
Publication of JP2015023372A5 publication Critical patent/JP2015023372A5/ja
Application granted granted Critical
Publication of JP6236949B2 publication Critical patent/JP6236949B2/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
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/10Program control for peripheral devices
    • G06F13/102Program control for peripheral devices where the programme performs an interfacing function, e.g. device driver
    • 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
    • G06F3/1206Improving or facilitating administration, e.g. print management resulting in increased flexibility in input data format or job format or job type
    • 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
    • G06F3/1209Improving or facilitating administration, e.g. print management resulting in adapted or bridged legacy communication protocols, e.g. emulation, protocol extension
    • 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/1237Print job management
    • G06F3/1244Job translation or job parsing, e.g. page banding
    • G06F3/1247Job translation or job parsing, e.g. page banding by conversion to printer ready format
    • 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/1293Printer information exchange with computer
    • 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/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1236Connection management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Cash Registers Or Receiving Machines (AREA)
  • Communication Control (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】電子機器間の通信制御において、ホスト装置側のアプリケーションを変更することなく、通信パフォーマンスの改善を適切に且つ容易に行う。【解決手段】OSカーネル層のオペレーティングシステムによって動作し、接続される電子機器に動作を実行させるコマンド群のデータを第一単位毎に出力するアプリケーションをアプリケーション層に備え、アプリケーションから出力されるデータを電子機器へ送信する通信ポートを物理層に備えるコンピューターにおいて、アプリケーションから出力されるデータを通信ポートが受け取る前に、OSカーネル層で受信する受信工程と、受信されたデータを蓄積し、第一単位よりも大きい第二単位のデータとする生成工程と、生成されたデータを第二単位毎に通信ポートへ出力する出力工程を実行する。【選択図】 図3

Description

本発明は、電子機器間の通信制御に関し、特に、ホスト装置側のアプリケーションを変更することなく、通信パフォーマンスの改善を適切に且つ容易に行うことのできる通信制御に関する。
スーパーマーケットなどの小売販売業においては販売管理システムであるPOSシステムが普及しており、当該システムでは、サーバーとネットワークで接続される複数の端末装置(レジ)が当該装置に備えられるアプリケーションに従って動作し各種の処理を実行する。また、通常、当該端末装置には、それぞれ、プリンターが設けられ、上記アプリケーションの指示によりレシートやクーポンの出力を実行する。また、このような出力を伴うPOSシステムと類似した構成のシステムとしては、病院で用いられるシステム、運送会社で用いられるシステムなどがある。
このようなシステムにおいても、導入後の技術向上や業務改善要望に伴って、ハードウェアの更新や機能拡張の必要が出てくるが、かかるシステムは一般に業務の中枢として常時利用されているものであり、また、他のシステムとも複雑に連携している場合も多いため、そのアプリケーションを改変することは通常容易ではない。例えば、上記端末装置に使用されているコンピューターやプリンターを新装置に変更しようとする場合にも既存のアプリケーションやドライバーの変更が必要となる。
かかる課題については、出力処理系の機能に関し、従来、以下のような提案がなされている。
下記特許文献1では、すでに存在するアプリケーションプログラムを修正する必要なしに、従来のモデムに必要とされていたマイクロプロセッサおよびメモリを除去することが可能なパーソナルコンピューター中でモデム機能を実行する装置について記載されている。
また、下記特許文献2には、アプリケーションを変更することなく、1つの通信ポートにアクセスすることにより、他の通信ポートに接続されているプリンターへも同時に印刷を実行させることができ、複製印刷を可能にする装置について記載されている。
特開平8−69427号公報 特開2006−338443号公報
しかしながら、上述のようにコンピューターやプリンターを更新し、新ハードウェアの仕様に従ってこれら電子機器間の通信パフォーマンスを改善したい、といったケースについては、通信のフロー制御の仕方を含め適切な提案がなされていない。
また、上記特許文献2では、OSカーネル層で処理が行われるが、一般にOSカーネル層では機能構築(プログラム開発等)が容易ではなく機能も限られてしまうという課題がある。
そこで、本発明の目的は、電子機器間の通信制御において、ホスト装置側のアプリケーションを変更することなく、通信パフォーマンスの改善を適切に且つ容易に行うことである。
上記の目的を達成するために、本発明の一つの側面は、OSカーネル層のオペレーティングシステムによって動作し、接続される電子機器に動作を実行させるコマンド群のデータを第一単位毎に出力するアプリケーションをアプリケーション層に備え、前記アプリケーションから出力されるデータを前記電子機器へ送信する通信ポートを物理層に備えるコンピューターに、通信制御の処理を実行させる通信制御プログラムが、前記アプリケーションから出力されるデータを、前記通信ポートが受け取る前に、前記OSカーネル層で受信する受信工程と、前記受信されたデータを蓄積し、前記第一単位よりも大きい第二単位のデータとする生成工程と、前記生成されたデータを前記第二単位毎に前記通信ポートへ出力する出力工程と、を前記コンピューターに実行させる、ことである。
更に、上記発明において、その好ましい態様は、前記第一単位は、1バイトであり、前記第二単位は、1コマンドである、ことを特徴とする。
また、上記発明において、好ましい態様は、前記第二単位は、前記コマンドが画像の描画を指示するコマンドである場合には、前記電子機器に備えられるデータ記憶容量に基づいて決定されたデータ量とする、ことを特徴とする。
更に、上記発明において、その好ましい態様は、更に、前記生成工程の後、前記アプリケーションに前記データの出力を停止させる信号を送信する工程と、前記出力工程で出力されたデータが前記電子機器に送信された後、前記アプリケーションに前記データの出力を再開させる信号を送信する工程と、を前記コンピューターに実行させる、ことを特徴とする。
また、上記発明において、その好ましい態様は、更に、前記アプリケーションからの前記データの出力中に、前記電子機器からビジー信号が発せられた場合に、前記アプリケーションに前記データの出力を停止させる信号を送信し、前記受信工程で受信された後、前記出力工程での出力がなされていないデータを前記通信ポートへ出力する工程を、前記コンピューターに実行させる、ことを特徴とする。
更に、上記発明において、一つの態様は、前記コンピューターと前記電子機器間の通信がUSBに則って行われる、ことを特徴とする。
また、上記発明において、一つの態様は、前記電子機器は、プリンターである、ことを特徴とする。
上記の目的を達成するために、本発明の別の側面は、OSカーネル層のオペレーティングシステムによって動作し、接続される電子機器に動作を実行させるコマンド群のデータを第一単位毎に出力するアプリケーションをアプリケーション層に備え、前記アプリケーションから出力されるデータを前記電子機器へ送信する通信ポートを物理層に備える情報処理装置が、前記アプリケーションから出力されるデータを、前記通信ポートが受け取る前に、前記OSカーネル層で受信する受信部と、前記受信されたデータを蓄積し、前記第一単位よりも大きい第二単位のデータとする生成部と、前記生成されたデータを前記第二単位毎に前記通信ポートへ出力する出力部と、を有する、ことである。
上記の目的を達成するために、本発明の更に別の側面は、OSカーネル層のオペレーティングシステムによって動作し、接続される電子機器に動作を実行させるコマンド群のデータを第一単位毎に出力するアプリケーションをアプリケーション層に備え、前記アプリケーションから出力されるデータを前記電子機器へ送信する通信ポートを物理層に備えるコンピューターにおいて、通信制御の処理を実行する通信制御方法が、前記アプリケーションから出力されるデータを、前記通信ポートが受け取る前に、前記OSカーネル層で受信する受信工程と、前記受信されたデータを蓄積し、前記第一単位よりも大きい第二単位のデータとする生成工程と、前記生成されたデータを前記第二単位毎に前記通信ポートへ出力する出力工程と、を有する、ことである。
本発明の更なる目的及び、特徴は、以下に説明する発明の実施の形態から明らかになる。
本発明を適用したPOS端末装置の実施の形態例に係る概略構成図である。 POS端末装置の概略機能構成図である。 通信制御プログラムによって行われる通信制御の処理の手順を例示したフローチャートである。
以下、図面を参照して本発明の実施の形態例を説明する。しかしながら、かかる実施の形態例が、本発明の技術的範囲を限定するものではない。なお、図において、同一又は類似のものには同一の参照番号又は参照記号を付して説明する。
図1は、本発明を適用したPOS端末装置の実施の形態例に係る概略構成図である。また、図2は、当該POS端末装置の概略機能構成図である。図1及び図2に示すPOS端末装置2(情報処理装置)が本発明を適用した装置であり、当該装置では、POSアプリケーション201から出力されるデータを通信ポート208が受信する前にOSカーネル層230の仮想ポート203(受信部)で受信(取得)し、受信したデータがアプリケーション層220のデータ解析部204(生成部)に転送される。転送されたデータは、データ蓄積部207(生成部)に蓄積され、1コマンド分のデータが蓄積された時点で、その1コマンド分のデータをデータ出力部206(出力部)が通信ポート208へ出力する。本POS端末装置2は、かかる処理を実行することにより、POSアプリケーション201やプリンター用ドライバー202のプログラムを変更することなく、プリンター3との通信パフォーマンスを改善する。
本実施の形態例では、スーパーマーケットなどで用いられるPOSシステムを想定しており、図1に示すように、POSサーバー1にネットワーク4を介して複数のPOS端末装置2が接続される構成をしている。POSサーバー1は、コンピューターシステムで構成され、上記複数のPOS端末装置2の管理とそれらのPOS端末装置2から取得される各種データの集計、管理等の処理を実行する。
POS端末装置2は各レジに設置され、それぞれ、プリンター3と接続される。プリンター3は、POS端末装置2から出力される印刷データに従って、レシートやクーポンを出力する。従って、POS端末装置2はプリンター3のホスト装置と位置づけられる。
各POS端末装置2は、図1に示すように、POS端末本体21、ディスプレイ22、キーボード23、バーコードリーダー24、及びカードリーダー25等を備える。ディスプレイ22は、顧客に商品の金額等を表示し、キーボード23は、価格や商品コードなどの商品情報、性別、年代などの顧客情報をオペレーターが入力するために用いられる。ま
た、バーコードリーダー24は、商品に付されたバーコードを読み取って商品情報を取得し、カードリーダー25は、各種カードに記憶された情報を読み取って、清算に必要な情報などを取得する。
POS端末本体21は、上述したキーボード23、バーコードリーダー24、及びカードリーダー25から取得される情報に基づいて、レシートやクーポンに印刷する情報を生成して、プリンター3へ出力する。当該POS端末本体21は、コンピューターで構成され、図示していないが、CPU、RAM、ROM、HDDなどを備えている。後述するPOSアプリケーション201のプログラムや通信制御処理のためのプログラムは、ROMに記憶され、それらのプログラムに従ってCPUが動作することにより各処理が実行される。
また、POS端末装置2は、図2に示すような機能構成となっている。POSアプリケーション201は、上述したレシートやクーポンに印刷する情報を生成し、それらを印刷データとして接続されるプリンター3に出力し、プリンター3に印刷処理を実行させる処理を行う。なお、上記生成される印刷データは、そのままプリンター3へ出力できる形式のデータ、あるいは、プリンター用ドライバー202に渡す形式のデータである。前者は、テキストだけの印刷など簡単な印刷データの場合に生成される。
また、プリンター用ドライバー202は、プリンター用のプリンタードライバーであり、POSアプリケーション201から出力されたデータを、プリンターの機種(デバイス)に依存したコマンドによる、プリンターが受信して印刷可能な印刷データとして出力する。
なお、上記印刷データは、プリンター3に印刷処理を実行させるための複数のコマンド(コマンド群)によって構成されている。
また、これらPOSアプリケーション201とプリンター用ドライバー202は、本POSシステムにおけるPOS端末装置2を構成するコンピューター及びプリンター3が設置される(更新される)前に設けられたものであり、旧コンピューターと旧プリンターとの通信仕様に合わせた状態で上記印刷データを出力する。具体的には、1バイト(1文字)毎にデータを通信ポート208に向けて出力する。
また、POSアプリケーション201とプリンター用ドライバー202は、図2に示すように、コンピューターのオペレーティングシステム(OS)に基づきその上でプログラムが各処理を実行するアプリケーション層220に位置する。また、両者は、それぞれの処理内容を指示する上記ROMに格納されたプログラムと当該プログラムに従って処理を実行する上記CPU等によって構成される。
次に、仮想ポート203は、POSアプリケーション201又はプリンター用ドライバー202から出力された印刷データを、通信ポート208が受け取る前に上記オペレーティングシステムが位置するOSカーネル層230で受け取る。そして、仮想ポート203は、取得したデータをデータ解析部204へ引き渡す。
次に、データ解析部204は、仮想ポート203から転送されたデータをデータ蓄積部207に蓄積すると共にそのデータを解析する。解析処理では、これまでに蓄積した印刷データを通信ポート208へ出力するタイミングであるか否かを判断し、出力すべきタイミングであると判断した場合には、その旨をデータ出力部206に通知する。
データ出力部206は、上記通知に基づいて、データ蓄積部207に蓄積された印刷デ
ータを通信ポート208に出力する。
データ格納部205は、データ解析部205が上記解析の際に使用するデータを記憶する。例えば、コマンドを識別する情報、コマンドの終了を把握するための情報等が記憶される。なお、当該データ格納部205は上記HDD等で構成される。
データ蓄積部207は、データ解析部204が受信しデータ出力部206によって出力されていない印刷データを一時的に記憶し、上記RAM等で構成される。
なお、仮想ポート203、データ解析部204、及び、データ出力部206は、それぞれ、各部が行う処理を指示するプログラムと当該プログラムに従って処理を実行する上記CPU等によって構成される。また、これらの部分に係るプログラムが本発明の通信制御プログラムに相当する。
次に、POS端末装置2には、物理層240に通信ポート208が備えられ、プリンター3に接続される。ここでは、POS端末装置2とプリンター3との通信は、一例として、USB規格で行われるものとする。
また、プリンター3は、一例として、インクジェット方式のカラープリンターであり、POSアプリケーション201の指示に従ってレシートやクーポンを印刷する。なお、当該プリンターは、前述の通り、POSアプリケーション201が設けられた際に接続されていたプリンターではなく、それとは通信条件の異なる別のプリンターである。また、プリンター3には、POS端末装置2から送信される印刷データを印刷処理前に一時的に保持する、所定容量のデータバッファ(データ記憶部)がある。
以上、説明したような構成を有する本POS端末装置2では、印刷データの送信処理に特徴があり、以下、その具体的な処理内容について説明する。
POS端末装置2のPOSアプリケーション201がプリンター3に印刷を指示するタイミングになると、上述の通り、印刷データを生成し、1バイト(1文字)毎に通信ポート208へ向けて出力する。
図3は、上記通信制御プログラムによって行われる通信制御の処理の手順を例示したフローチャートである。
まず、仮想ポート203は、上記出力された印刷データを、通信ポート208が受信する前に、POSアプリケーション201又はプリンター用ドライバー202から受信し、受信した印刷データをデータ解析部204に転送する(図3のステップS1)。
当該受信の処理は、通信ポート208へ向けたデータが、まず、仮想ポート203で受け取られるように、レジストリーの(優先度の)設定を変更しておくことで実現され、かかる設定変更はOS(オペレーティングシステム)の起動時に実行される。
次に、データ解析部204は、仮想ポート203から転送された印刷データを受信し、そのデータをデータ蓄積部207に蓄積(記憶)する(図3のステップS2)。本POSシステムでは、上述の通り、POS端末装置2とプリンター3との通信がUSB規格で行われるので、上記1バイトの単位でそのままデータ送信を行うと、実データの前後に付加されるヘッダー、フッターなどのデータ量が大きいため、非常に非効率な通信となり、かえって通信パフォーマンスを落としてしまうことになる。
そこで、データ解析部204は、POSアプリケーション201からデータを受信する度にデータを送信せず、所定の条件でデータをまとめてから送信するように処理を行う。具体的には、受信したデータを解析し、まず、そのデータがグラフィックコマンド(画像コマンド)に係るものであるか否かを判断する。
その判断の結果、グラフィックコマンドに係るものでない場合には、データ解析部204は、データ蓄積部207に蓄積されたデータで1コマンドが成立したか否かを判断する(図3のステップS3)。換言すれば、今回受信したデータがコマンドの最後のデータであるか否かを判断する。
また、グラフィックコマンドに係るものである場合には、これまでにデータ蓄積部207に蓄積されたデータの量が、予め定めたデータ量に達したか否かを判断する(図3のステップS3)。ここで、予め定めたデータ量は、例えば、プリンター3の上述したデータバッファの容量の半分とする。
なお、これら解析の処理には、データ格納部205に記憶されたデータが用いられる。
上述したステップS3の判断において、条件が満たされていない場合には、すなわち、1コマンドが成立していない、又は、予め定めたデータ量に達していない場合には(図3のステップS3のNo)、処理がステップS1に移行し、未だ通信ポート208への送信は行わずに、POSアプリケーション201からの受信を続ける。
その後、データ蓄積部207にデータが蓄積され、ステップS3の判断において、条件が満たされた場合には、すなわち、1コマンドが成立した、又は、予め定めたデータ量に達した場合には(図3のステップS3のYes)、データ解析部204は、POSアプリケーション201にビジーである旨を伝えるビジー信号を送信し、POSアプリケーション201からのデータ送信を停止させる(図3のステップS4)。また、合わせて、データ解析部204は、データ出力部206に対してデータ送信タイミングであることを通知する。
当該通知を受けて、データ出力部206は、データ蓄積部207に蓄積されているデータを一固まりとして通信ポート208へ出力する(図3のステップS5)。グラフィックコマンドでない場合には、1コマンド分のデータが送信される。その後、データ出力部206は、データ蓄積部207に記憶されているデータを消去する。
次に、通信ポート208へ出力された印刷データが通信ポート208を介してプリンター3へ送信される。プリンター3への送信が完了(成功)すると、その旨の信号がプリンター3から送信され、当該送信完了信号が、通信ポート208、データ出力部206を介して、データ解析部204に受信される(図3のステップS6)。
当該信号を受けて今回の送信が成功したことが確認されると、データ解析部204は、ビジー状態が解除された旨を伝えるビジー解除信号をPOSアプリケーション201に送信し、停止していたデータの送信を再開させる(図3のステップS7)。
その後は、処理がステップS1に戻って、POSアプリケーション201からの印刷データの出力(1ジョブのデータ送信)が終了するまで、同様の処理を繰り返し実行する。
以上説明したように、本POS端末装置2では、1バイト単位で送信されるデータを1コマンド単位、又は、所定容量単位にまとめて出力する。
なお、上記送信処理中に、プリンター3からビジー信号が発せられた場合には、その信号をデータ解析部204が受けて、上述したステップS4の処理と同様に、データ解析部204がPOSアプリケーション201にビジー信号を送信し、POSアプリケーション201からのデータ送信を停止させる。この場合、データ蓄積部207にデータが残っていれば、データ解析部204の指示により、データ出力部206がその残データをプリンター3へ出力する。これにより、プリンター3でビジー状態が発生する前にPOSアプリケーション201から出力されたデータは全てプリンター3に送信されるので、POSアプリケーション201から出力されたデータとプリンター3が受信したデータの整合性が保たれる。
また、上述の実施形態では、POS端末装置2とプリンター3との通信がUSB規格であったが、データをまとめて送信することで通信パフォーマンスの改善が図れる他の通信方式であってもよい。
以上説明したように、本POS端末装置2では、遅い通信方式に合わせて1バイト単位で送信されるデータを1コマンド単位などにまとめてから送信するので、USB規格などの通信方式に適した効率的な通信を行うことができ、通信パフォーマンスを向上させることができる。
また、これにより、既存のPOSシステムについて、POS端末装置2のコンピューター及びプリンター3が新しい装置に更新され、双方の通信が新しい方式(USB等)で行われるようになった際に、既存のPOSアプリケーション201を変更することなく、上述の通信制御プログラムを追加することにより、容易に通信パフォーマンスを向上させることができる。
また、データをまとめた後のデータ送信中には、POSアプリケーション201にビジー信号を出してPOSアプリケーション201からのデータ出力を停止させ、プリンター3へのデータ送信が成功した後にそのデータ出力を再開させるので、適切なフロー制御がなされる。
また、データは、1コマンド又はプリンター3のデータバッファ容量を考慮した量でプリンター3へ送信されるので、そのデータバッファをオーバーフローさせてしまうことがない。
また、プリンター3で物理的なビジー状態が発生した場合にも、上述の通り、適切な処理がなされ、POSアプリケーション201から出力されたデータとプリンター3が受信したデータの整合性を保つことができる。
また、POSアプリケーション201から出力されたデータの識別、通信タイミングの判断等をアプリケーション層220で行うことにより、より高度な処理を比較的容易に実現することができる。
なお、本実施の形態例では、POSサーバー1が複数のPOS端末装置2と接続されるシステムであったが、本発明は、当該構成に限らず、POS端末装置とプリンターが接続される環境に対して適用することができる。
また、本実施の形態例ではPOSシステムの例を示したが、本発明は、POSシステムに限らず、病院や運送会社で使用されるシステムなど、プリンターからの印刷物の出力を含む所定のアプリケーションを備えたシステムに適用可能であり、特に、既存のアプリケーションプログラムの改変が困難である場合に有効である。
また、本実施の形態例では、POS端末装置とプリンターが接続される構成であったが、プロジェクター、モニターなどプリンター以外の電子機器とその機器と接続されるホスト装置に対して本発明を適用することができる。
また、本実施の形態例では、POSアプリケーションのプログラムや通信制御のためのプログラムがROMに記憶されている例を示したが、これらプログラムはROMに限らず、RAMやHDD等の記憶媒体に記憶されていてもよい。また、これらプログラムは別々の記憶媒体に記憶されていてもよい。
本発明の保護範囲は、上記の実施の形態に限定されず、特許請求の範囲に記載された発明とその均等物に及ぶものである。
1 POSサーバー、 2 POS端末装置(情報処理装置)、 3 プリンター、 4 ネットワーク、 21 POS端末本体、 22 ディスプレイ、 23 キーボード、 24 バーコードリーダー、 25 カードリーダー、 201 POSアプリケーション、 202 プリンター用ドライバー、 203 仮想ポート、 204 データ解析部、 205 データ格納部、 206 データ出力部、 207 通信ポート、
220 アプリケーション層、 230 OSカーネル層、 240 物理層

Claims (9)

  1. OSカーネル層のオペレーティングシステムによって動作し、接続される電子機器に動作を実行させるコマンド群のデータを第一単位毎に出力するアプリケーションをアプリケーション層に備え、前記アプリケーションから出力されるデータを前記電子機器へ送信する通信ポートを物理層に備えるコンピューターに、通信制御の処理を実行させる通信制御プログラムであって、
    前記アプリケーションから出力されるデータを、前記通信ポートが受け取る前に、前記OSカーネル層で受信する受信工程と、
    前記受信されたデータを蓄積し、前記第一単位よりも大きい第二単位のデータとする生成工程と、
    前記生成されたデータを前記第二単位毎に前記通信ポートへ出力する出力工程と、を前記コンピューターに実行させる
    ことを特徴とする通信制御プログラム。
  2. 請求項1において、
    前記第一単位は、1バイトであり、
    前記第二単位は、1コマンドである
    ことを特徴とする通信制御プログラム。
  3. 請求項1あるいは2において、
    前記第二単位は、前記コマンドが画像の描画を指示するコマンドである場合には、前記電子機器に備えられるデータ記憶容量に基づいて決定されたデータ量とする
    ことを特徴とする通信制御プログラム。
  4. 請求項1乃至3のいずれか一項において、更に、
    前記生成工程の後、前記アプリケーションに前記データの出力を停止させる信号を送信する工程と、
    前記出力工程で出力されたデータが前記電子機器に送信された後、前記アプリケーションに前記データの出力を再開させる信号を送信する工程と、を前記コンピューターに実行させる
    ことを特徴とする通信制御プログラム。
  5. 請求項4において、更に、
    前記アプリケーションからの前記データの出力中に、前記電子機器からビジー信号が発せられた場合に、前記アプリケーションに前記データの出力を停止させる信号を送信し、前記受信工程で受信された後、前記出力工程での出力がなされていないデータを前記通信ポートへ出力する工程を、前記コンピューターに実行させる
    ことを特徴とする通信制御プログラム。
  6. 請求項1乃至5のいずれか一項において、
    前記コンピューターと前記電子機器間の通信がUSBに則って行われる
    ことを特徴とする通信制御プログラム。
  7. 請求項1乃至6のいずれか一項において、
    前記電子機器は、プリンターである
    ことを特徴とする通信制御プログラム。
  8. OSカーネル層のオペレーティングシステムによって動作し、接続される電子機器に動作を実行させるコマンド群のデータを第一単位毎に出力するアプリケーションをアプリケ
    ーション層に備え、前記アプリケーションから出力されるデータを前記電子機器へ送信する通信ポートを物理層に備える情報処理装置であって、
    前記アプリケーションから出力されるデータを、前記通信ポートが受け取る前に、前記OSカーネル層で受信する受信部と、
    前記受信されたデータを蓄積し、前記第一単位よりも大きい第二単位のデータとする生成部と、
    前記生成されたデータを前記第二単位毎に前記通信ポートへ出力する出力部と、を有する
    ことを特徴とする情報処理装置。
  9. OSカーネル層のオペレーティングシステムによって動作し、接続される電子機器に動作を実行させるコマンド群のデータを第一単位毎に出力するアプリケーションをアプリケーション層に備え、前記アプリケーションから出力されるデータを前記電子機器へ送信する通信ポートを物理層に備えるコンピューターにおいて、通信制御の処理を実行する通信制御方法であって、
    前記アプリケーションから出力されるデータを、前記通信ポートが受け取る前に、前記OSカーネル層で受信する受信工程と、
    前記受信されたデータを蓄積し、前記第一単位よりも大きい第二単位のデータとする生成工程と、
    前記生成されたデータを前記第二単位毎に前記通信ポートへ出力する出力工程と、を有する
    ことを特徴とする通信制御方法。
JP2013149175A 2013-07-18 2013-07-18 通信制御方法、及び、情報処理装置 Expired - Fee Related JP6236949B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2013149175A JP6236949B2 (ja) 2013-07-18 2013-07-18 通信制御方法、及び、情報処理装置
US14/327,043 US9047209B2 (en) 2013-07-18 2014-07-09 Controlling communication between a point of sale terminal and a printer without changing an application on the point of sale terminal
CN201410328304.0A CN104298607B (zh) 2013-07-18 2014-07-10 通信控制方法、信息处理装置以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013149175A JP6236949B2 (ja) 2013-07-18 2013-07-18 通信制御方法、及び、情報処理装置

Publications (3)

Publication Number Publication Date
JP2015023372A true JP2015023372A (ja) 2015-02-02
JP2015023372A5 JP2015023372A5 (ja) 2016-05-19
JP6236949B2 JP6236949B2 (ja) 2017-11-29

Family

ID=52318342

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013149175A Expired - Fee Related JP6236949B2 (ja) 2013-07-18 2013-07-18 通信制御方法、及び、情報処理装置

Country Status (3)

Country Link
US (1) US9047209B2 (ja)
JP (1) JP6236949B2 (ja)
CN (1) CN104298607B (ja)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0519983A (ja) * 1991-07-16 1993-01-29 Fujitsu Ltd 印刷制御方式
JPH07105107A (ja) * 1993-10-08 1995-04-21 Canon Inc ダウンロード方法
JP2001353936A (ja) * 2000-06-16 2001-12-25 Seiko Epson Corp 印刷装置
JP2011227562A (ja) * 2010-04-15 2011-11-10 Kyocera Mita Corp 印刷システム、印刷システム用プログラム及び印刷装置
JP2012058810A (ja) * 2010-09-06 2012-03-22 Seiko Epson Corp 印刷データを用いた機能拡張プログラム、機能拡張装置、及び、機能拡張方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5678059A (en) 1994-02-18 1997-10-14 Lucent Technologies Inc. Technique for time-sharing a microprocessor between a computer and a modem
US7012709B2 (en) * 2000-06-16 2006-03-14 Seiko Epson Corporation Printer having controller transmitting commands to print engine responsive to commands
JP2006338443A (ja) 2005-06-03 2006-12-14 Seiko Epson Corp フィルタデバイスドライバ、複製印刷制御方法及びその制御プログラム
JP2010238042A (ja) 2009-03-31 2010-10-21 Nec Corp 情報処理装置、情報処理用プログラム、情報処理システム及び情報処理方法
JP2012068783A (ja) * 2010-09-22 2012-04-05 Seiko Epson Corp 印刷データの価値付加プログラム、価値付加装置、及び、価値付加方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0519983A (ja) * 1991-07-16 1993-01-29 Fujitsu Ltd 印刷制御方式
JPH07105107A (ja) * 1993-10-08 1995-04-21 Canon Inc ダウンロード方法
JP2001353936A (ja) * 2000-06-16 2001-12-25 Seiko Epson Corp 印刷装置
JP2011227562A (ja) * 2010-04-15 2011-11-10 Kyocera Mita Corp 印刷システム、印刷システム用プログラム及び印刷装置
JP2012058810A (ja) * 2010-09-06 2012-03-22 Seiko Epson Corp 印刷データを用いた機能拡張プログラム、機能拡張装置、及び、機能拡張方法

Also Published As

Publication number Publication date
US20150022853A1 (en) 2015-01-22
CN104298607B (zh) 2018-04-20
CN104298607A (zh) 2015-01-21
JP6236949B2 (ja) 2017-11-29
US9047209B2 (en) 2015-06-02

Similar Documents

Publication Publication Date Title
KR101364808B1 (ko) 인쇄 데이터를 이용한 기능 확장 방법, 기능 확장 장치, 및 기록 매체
JP5807343B2 (ja) 印刷データを用いた機能拡張プログラム、機能拡張装置、及び、機能拡張方法
JP2012068783A (ja) 印刷データの価値付加プログラム、価値付加装置、及び、価値付加方法
JP6337778B2 (ja) データ変換システム、データ変換装置、及びデータ変換方法
US9001342B2 (en) POS system, POS system control method, and recording media processing system
JP5708012B2 (ja) プリンター変更用プログラム、プリンター変更方法、及び、ホスト装置
JP6236949B2 (ja) 通信制御方法、及び、情報処理装置
JP5867563B2 (ja) 印刷データを用いた機能拡張プログラム、機能拡張装置、及び、機能拡張方法
JP5867564B2 (ja) 出力先を分散するための印刷データ処理プログラム、印刷データ処理装置、及び、印刷データ処理方法
JP2012058846A (ja) 出力先を分散するための印刷データ処理プログラム、印刷データ処理装置、及び、印刷データ処理方法
JP5736851B2 (ja) 印刷データを用いた売上分析用プログラム、売上情報取得装置、及び、売上情報取得方法
JP6236943B2 (ja) 通信制御方法、及び、情報処理装置
EP3142086B1 (en) Print data processing device, print data processing method, program, and printing system
JP6075427B2 (ja) 印刷制御方法、及び、プリンタードライバー
JP2015015053A (ja) 印刷データの価値付加プログラム、価値付加装置、及び、価値付加方法
JP2012185635A5 (ja)
JP2012208766A (ja) 遠隔保守用プログラム、遠隔保守方法、及び、ホスト装置
JP5609453B2 (ja) 分散処理方法、分散処理装置、及び、プログラム
JP2015149077A (ja) プリンター変更用プログラム、プリンター変更方法、及び、ホスト装置
JP2014182691A (ja) 印刷制御プログラム、印刷制御装置、及び、印刷制御方法
JP2015026381A (ja) 分散処理方法、分散処理装置、及び、プログラム

Legal Events

Date Code Title Description
RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20150113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160328

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160328

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20160616

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20160624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170314

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170417

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171016

R150 Certificate of patent or registration of utility model

Ref document number: 6236949

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees