(57)【要約】【課題】印刷データ配信装置が印刷データを送信可能となった後、情報処理装置が印刷データを受信するまでに生じる時間を短くする。【解決手段】印刷データ処理システムは、印刷データ配信サーバーと、印刷データ配信サーバーから印刷データを受信する通信処理部４０ａを有する制御プリンターと、を備え、制御プリンターの通信処理部４０ａは、印刷データに基づく印刷が完了しているか否かにかかわらず、間隔をあけて印刷データ配信サーバーに印刷データの有無を問い合わせ、印刷データ配信サーバーに印刷データが存在する場合は受信する非同期処理を実行する。【選択図】図６
2016004513.tif 000002
【特許請求の範囲】
【請求項１】
印刷データ配信装置と、
前記印刷データ配信装置から印刷データを受信する通信処理部を有する情報処理装置と、を備え、
前記情報処理装置の通信処理部は、
受信した前記印刷データに基づく印刷が完了しているか否かにかかわらず、所定の間隔をあけて前記印刷データ配信装置に前記印刷データの有無を問い合わせ、当該問い合わせに対する応答が、前記印刷データが存在することを示す場合、前記印刷データ配信装置に前記印刷データの送信を要求して前記印刷データを受信する第１処理を実行する
ことを特徴とする印刷データ処理システム。
【請求項２】
前記情報処理装置の前記通信処理部は、
受信した前記印刷データに基づく印刷が完了した場合、そのことを通知する印刷完了通知を前記印刷データ配信装置に送信し、
前記印刷データ配信装置は、
前記印刷完了通知を受信した場合、対応する前記印刷データと、印刷が完了したことを示す情報とを対応付けて記憶し、また、
前記情報処理装置から前記印刷データの有無の問い合わせがあった場合、印刷が完了したことを示す情報と対応付けられていない前記印刷データが存在する場合には、前記印刷データが存在することを示す応答を送信し、
前記情報処理装置の前記通信処理部は、
前記印刷データ配信装置から前記印刷データが存在することを示す応答を受信した場合、前記印刷データ配信装置に前記印刷データの送信を要求して前記印刷データを受信し、新たに受信した前記印刷データと、前に受信した前記印刷データとを比較してデータが一致する場合、新たに受信した前記印刷データを破棄することを特徴とする請求項１に記載の印刷データ処理システム。
【請求項３】
前記情報処理装置の前記通信処理部は、
前記印刷データを破棄する頻度に応じて、前記印刷データの有無を問い合わせる間隔を変化させることを特徴とする請求項２に記載の印刷データ処理システム。
【請求項４】
前記情報処理装置の前記通信処理部は、
受信した前記印刷データを所定の記憶領域に格納し、前記記憶領域の状態に応じて前記印刷データの有無を問い合わせる間隔を変化させることを特徴とする請求項１乃至３のいずれか１項に記載の印刷データ処理システム。
【請求項５】
前記情報処理装置の前記通信処理部は、
前記印刷データを受信した後、前記印刷データに基づく印刷が完了するまでの間は、前記印刷データの有無の問い合わせを行わず、印刷が完了した後に問い合わせを行う第２処理を実行可能であり、
前記第１処理と、前記第２処理とを切り替え可能であることを特徴とする請求項１乃至４のいずれか１項に記載の印刷データ処理システム。
【請求項６】
前記情報処理装置と通信する印刷機器を備え、
前記情報処理装置は、
受信した前記印刷データを前記印刷機器に送信する出力部を有し、
前記情報処理装置の前記通信処理部は、
受信した前記印刷データに基づく前記印刷機器による印刷が完了しているか否かにかかわらず、所定の間隔をあけて前記印刷データ配信装置に前記印刷データの有無を問い合わせることを特徴とする請求項１乃至５のいずれか１項に記載の印刷データ処理システム。
【請求項７】
前記情報処理装置は、
前記印刷データに基づいて印刷する印刷部を有し、
前記情報処理装置の前記通信処理部は、
受信した前記印刷データに基づく前記印刷部による印刷が完了しているか否かにかかわらず、所定の間隔をあけて前記印刷データ配信装置に前記印刷データの有無を問い合わせることを特徴とする請求項１乃至６のいずれか１項に記載の印刷データ処理システム。
【請求項８】
外部装置から受信した印刷データに基づく印刷が完了しているか否かにかかわらず、所定の間隔をあけて前記外部装置に前記印刷データの有無を問い合わせ、当該問い合わせに対する応答が、前記印刷データが存在することを示す場合、前記外部装置に前記印刷データの送信を要求して前記印刷データを受信することを特徴とする情報処理装置。
【請求項９】
印刷データに基づいて印刷する印刷部と、
外部装置から受信した前記印刷データに基づく前記印刷部による印刷が完了しているか否かにかかわらず、所定の間隔をあけて前記外部装置に前記印刷データの有無を問い合わせ、当該問い合わせに対する応答が、前記印刷データが存在することを示す場合、前記外部装置に前記印刷データの送信を要求して前記印刷データを受信する通信処理部と、を有することを特徴とする印刷装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷データを処理する印刷データ処理システム、当該印刷データ処理システムに用いることが可能な情報処理装置、及び、当該印刷データ処理システムに用いることが可能な印刷装置に関する。
【背景技術】
【０００２】
従来、複合機が、ネットワークを介して接続されたサーバーからコンテンツを受信するシステムが知られている（例えば、特許文献１参照）。特許文献１では、上記システムにおいて、複合機が備えるパネルからの指示によるプルプリントを高速に行なえる技術が提案されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００７−１３５０４７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ここで、上述したシステムと同様に、印刷データを送信する印刷データ配信装置と、印刷データ配信装置から印刷データを受信する情報処理装置とがネットワークを介して接続された印刷データ処理システムについては、印刷データ配信装置が印刷データを送信可能な状態となった後、できるだけタイムラグを生じさせることなく情報処理装置によって印刷データを受信できるようにしたいとするニーズがある。
本発明は、上述した事情に鑑みてなされたものであり、印刷データ配信装置と、印刷機器が接続された情報処理装置とを備える印刷データ処理ステムについて、印刷データ配信装置が印刷データを送信可能となった後、情報処理装置が印刷データを受信するまでに生じる時間を短くすることを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の印刷データ処理システムは、印刷データ配信装置と、前記印刷データ配信装置から印刷データを受信する通信処理部を有する情報処理装置と、を備え、前記情報処理装置の通信処理部は、受信した前記印刷データに基づく印刷が完了しているか否かにかかわらず、所定の間隔をあけて前記印刷データ配信装置に前記印刷データの有無を問い合わせ、当該問い合わせに対する応答が、前記印刷データが存在することを示す場合、前記印刷データ配信装置に前記印刷データの送信を要求して前記印刷データを受信する第１処理を実行することを特徴とする。
本発明の構成によれば、情報処理装置は、受信した印刷データに基づく印刷が完了しているか否かにかかわらず、印刷データ配信装置に印刷データの有無を問い合わせ、印刷データがある場合は、受信する。このため、情報処理装置は、印刷データに基づく処理の状況にかかわらず、印刷データの有無を問い合わせることができ、印刷データ配信装置が印刷データを送信可能となった後、情報処理装置が印刷データを受信するまでに生じる時間を短くすることができる。
【０００６】
また、本発明の印刷データ処理システムは、前記情報処理装置の前記通信処理部は、受信した前記印刷データに基づく印刷が完了した場合、そのことを通知する印刷完了通知を前記印刷データ配信装置に送信し、前記印刷データ配信装置は、前記印刷完了通知を受信した場合、対応する前記印刷データと、印刷が完了したことを示す情報とを対応付けて記憶し、また、前記情報処理装置から前記印刷データの有無の問い合わせがあった場合、印刷が完了したことを示す情報と対応付けられていない前記印刷データが存在する場合には、前記印刷データが存在することを示す応答を送信し、前記情報処理装置の前記通信処理部は、前記印刷データ配信装置から前記印刷データが存在することを示す応答を受信した場合、前記印刷データ配信装置に前記印刷データの送信を要求して前記印刷データを受信し、新たに受信した前記印刷データと、前に受信した前記印刷データとを比較してデータが一致する場合、新たに受信した前記印刷データを破棄することを特徴とする。
本発明の構成によれば、印刷データ配信装置は、印刷データの問い合わせがあった場合、印刷完了通知が来ていない印刷データを情報処理装置に送信する。このため、印刷データ配信装置が、同一の印刷データを重複して送信する可能性がある。情報処理装置は、印刷データを受信した場合、新たに受信した印刷データと、前に受信した印刷データが一致する場合、新たに受信した印刷データを破棄するため、重複して受信した印刷データに基づいて、重複して処理が実行されることを防止できる。
【０００７】
また、本発明の印刷データ処理システムは、前記情報処理装置の前記通信処理部は、前記印刷データを破棄する頻度に応じて、前記印刷データの有無を問い合わせる間隔を変化させることを特徴とする。
本発明の構成によれば、印刷データに基づく印刷に要する時間と比して、印刷データを問い合わせる間隔が短く、印刷データが頻繁に破棄される状態となっている場合に、間隔を調整して、当該状態を解消できる。
【０００８】
また、本発明の印刷データ処理システムは、前記情報処理装置の前記通信処理部は、受信した前記印刷データを所定の記憶領域に格納し、前記記憶領域の状態に応じて前記印刷データの有無を問い合わせる間隔を変化させることを特徴とする。
本発明の構成によれば、記憶領域の空き領域の状態等、記憶領域の状態に応じて、印刷データを問い合わせる時間を調整でき、オーバーフローの発生等を抑制できる。
【０００９】
また、本発明の印刷データ処理システムは、前記情報処理装置の前記通信処理部は、前記印刷データを受信した後、前記印刷データに基づく印刷が完了するまでの間は、前記印刷データの有無の問い合わせを行わず、印刷が完了した後に問い合わせを行う第２処理を実行可能であり、前記第１処理と、前記第２処理とを切り替え可能であることを特徴とする。
本発明の構成によれば、印刷データ処理システムの仕様等に応じて、第１処理と、第２処理とを切り替えることができる。
【００１０】
また、本発明の印刷データ処理システムは、前記情報処理装置と通信する印刷機器を備え、前記情報処理装置は、受信した前記印刷データを前記印刷機器に送信する出力部を有し、前記情報処理装置の前記通信処理部は、受信した前記印刷データに基づく前記印刷機器による印刷が完了しているか否かにかかわらず、所定の間隔をあけて前記印刷データ配信装置に前記印刷データの有無を問い合わせることを特徴とする。
本発明の構成によれば、情報処理装置は、接続された印刷機器による処理の状況にかかわらず、印刷データ配信装置に印刷データの有無を問い合わせるため、印刷データ配信装置が印刷データを送信可能となった後、情報処理装置が印刷データを受信するまでに生じる時間を短くすることができる。
【００１１】
また、本発明の印刷データ処理システムは、前記情報処理装置は、前記印刷データに基づいて印刷する印刷部を有し、前記情報処理装置の前記通信処理部は、受信した前記印刷データに基づく前記印刷部による印刷が完了しているか否かにかかわらず、所定の間隔をあけて前記印刷データ配信装置に前記印刷データの有無を問い合わせることを特徴とする。
本発明の構成によれば、情報処理装置は、印刷部による処理の状況にかかわらず、印刷データ配信装置に印刷データの有無を問い合わせるため、印刷データ配信装置が印刷データを送信可能となった後、情報処理装置が印刷データを受信するまでに生じる時間を短くすることができる。
【００１２】
また、上記目的を達成するために、本発明の情報処理装置は、外部装置から受信した印刷データに基づく印刷が完了しているか否かにかかわらず、所定の間隔をあけて前記外部装置に前記印刷データの有無を問い合わせ、当該問い合わせに対する応答が、前記印刷データが存在することを示す場合、前記外部装置に前記印刷データの送信を要求して前記印刷データを受信することを特徴とする。
本発明の構成によれば、情報処理装置を、印刷データ配信装置に対応する外部装置に接続した場合、情報処理装置は、受信した印刷データに基づく印刷が完了しているか否かにかかわらず、外部装置に印刷データの有無を問い合わせ、印刷データがある場合は、受信する。このため、情報処理装置は、印刷データに基づく処理の状況にかかわらず、印刷データの有無を問い合わせることができ、外部装置が印刷データを送信可能となった後、情報処理装置が印刷データを受信するまでに生じる時間を短くすることができる。
【００１３】
また、上記目的を達成するために、本発明の印刷装置は、印刷データに基づいて印刷する印刷部と、外部装置から受信した前記印刷データに基づく前記印刷部による印刷が完了しているか否かにかかわらず、所定の間隔をあけて前記外部装置に前記印刷データの有無を問い合わせ、当該問い合わせに対する応答が、前記印刷データが存在することを示す場合、前記外部装置に前記印刷データの送信を要求して前記印刷データを受信する通信処理部と、を有することを特徴とする。
本発明の構成によれば、情報処理装置に対応する印刷装置を、印刷データ配信装置に対応する外部装置に接続した場合、印刷装置は、受信した印刷データに基づく印刷が完了しているか否かにかかわらず、外部装置に印刷データの有無を問い合わせ、印刷データがある場合は、受信する。このため、印刷装置は、印刷データに基づく処理の状況にかかわらず、印刷データの有無を問い合わせることができ、外部装置が印刷データを送信可能となった後、印刷装置が印刷データを受信するまでに生じる時間を短くすることができる。
【図面の簡単な説明】
【００１４】
【図１】本実施形態に係る印刷データ処理システムの構成を示す図。
【図２】印刷データ処理システムのネットワーク図。
【図３】印刷データ処理システムを構成する装置の機能ブロック図。
【図４】印刷データ処理システムを構成する装置の機能ブロック図。
【図５】印刷データ格納データベースのデータ構造を示す図。
【図６】制御プリンターの要部の機能ブロック図。
【図７】ユーザーインターフェースを示す図。
【図８】非同期処理を実行する場合の制御プリンターの動作を示すフローチャート。
【図９】（Ａ）は非同期処理を実行する場合の制御プリンターの動作を示し、（Ｂ）は印刷データ配信サーバーの動作を示すフローチャート。
【図１０】（Ａ）は非同期処理を実行する場合の制御プリンターの動作を示し、（Ｂ）は印刷データ配信サーバーの動作を示すフローチャート。
【図１１】（Ａ）は同期処理を実行する場合の制御プリンターの動作を示し、（Ｂ）は印刷データ配信サーバーの動作を示すフローチャート。
【図１２】（Ａ）、（Ｂ）は制御プリンターの動作を示し、（Ｃ）は第１プリンターの動作を示すフローチャート。
【図１３】制御プリンターの動作を示すフローチャート。
【図１４】制御プリンターの動作を示すフローチャート。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態について説明する。
図１は、本実施形態に係る印刷データ処理システム１の一部の使用態様の一例を示す図である。
図１は、来店した顧客に飲み物、及び、食べ物を提供する飲食店Ｔに印刷データ処理システム１（図２、図３参照。）が適用された様子を模式的に示す。
図１に示す飲食店Ｔは、ホールＴ１と、キッチンＴ２とに分かれている。
ホールＴ１は、来店した顧客が滞在し、ホールＴ１の担当者（以下、「ホール担当者」という。）が飲み物の提供等のサービスを顧客に提供するエリアである。ホールＴ１には、料理等を載置可能な複数のテーブルＴＢが設けられ、各テーブルＴＢに対応して顧客が着座可能なイスＣＨが設けられる。
ホール担当者には、顧客からの注文を受け付ける際に使用するタブレット端末１０（図２、図３参照。）が、事前に、付与される。ホールＴ１において、顧客からの注文を受け付ける際、ホール担当者は、顧客の近くに行き、顧客から注文を聞き、タブレット端末１０に注文に対応する入力を行う。タブレット端末１０の構成、及び、処理については後述する。
【００１６】
また、ホールＴ１において、出入口ＤＧの近傍には、顧客が会計を行う会計カウンターＬＣが設けられる。会計カウンターＬＣには、レシートを発行可能なプリンターである制御プリンターＳＰ（情報処理装置、印刷装置）と、レシートを発行可能なプリンターである第１プリンターＫＰ１（印刷機器）とが設けられる。会計カウンターＬＣには、制御プリンターＳＰ、及び、第１プリンターＫＰ１のそれぞれに対応して、第１ＰＯＳ端末ＰＴ１と、第２ＰＯＳ端末ＰＴ２とが設けられる。会計カウンターＬＣで、ホール担当者は、顧客の会計に応じて、第１ＰＯＳ端末ＰＴ１、又は、第２ＰＯＳ端末ＰＴ２に会計に対応する入力を行う。ホール担当者による会計に対応する入力に応じて、制御プリンターＳＰ、又は、第１プリンターＫＰ１から会計に関する情報が印刷されたレシートが発行される。ホール担当者は、制御プリンターＳＰ、又は、第１プリンターＫＰ１から発行されたレシートを、顧客に引き渡す。制御プリンターＳＰ、第１プリンターＫＰ１、第１ＰＯＳ端末ＰＴ１、及び、第２ＰＯＳ端末ＰＴ２の構成、及び、処理の詳細については後述する。
【００１７】
キッチンＴ２は、キッチンＴ２の担当者（以下、「キッチン担当者」という。）が飲み物や食べ物（以下、総称して「飲食物」という。）を作るエリアであり、ドリンクサーバーや、ガスコンロ、冷蔵庫等が設けられる。キッチンＴ２には、第２プリンターＫＰ２（印刷機器）、及び、第３プリンターＫＰ３（印刷機器）が設けられる。ホール担当者が、顧客の注文に応じて、タブレット端末１０に注文に対応する入力を行った場合、第２プリンターＫＰ２、又は、第３プリンターＫＰ３から、注文された飲食物に関する情報が印刷された注文伝票が発行される。飲食物に関する情報は、注文された飲食物の種類や、注文された飲食物の数量を示す情報である。キッチン担当者は、第２プリンターＫＰ２、又は、第３プリンターＫＰ３が発行した注文伝票を参照して、顧客が注文した飲食物を作る。第２プリンターＫＰ２、及び、第３プリンターＫＰ３の構成、及び、処理の詳細については後述する。
【００１８】
図２は、本実施形態に係る印刷データ処理システム１のネットワーク図である。
図２に示すように、印刷データ処理システム１が備える制御プリンターＳＰは、インターネットや、電話網等のネットワークを含むワイドエリアネットワークＷＮと接続する。
また、ホール担当者に付与されるタブレット端末１０は、ワイドエリアネットワークＷＮと接続する。
また、印刷データ処理システム１は、印刷データ配信サーバーＳＶ（印刷データ配信装置）を備える。印刷データ配信サーバーＳＶは、ワイドエリアネットワークＷＮと接続する。
制御プリンターＳＰ、タブレット端末１０、及び、印刷データ配信サーバーＳＶは、それぞれ、ワイドエリアネットワークＷＮを介して互いに通信可能である。
図２に示すように、制御プリンターＳＰは、イーサネット（登録商標）に従ったローカルエリアネットワークＬＮと接続する。ローカルエリアネットワークＬＮには、第１プリンターＫＰ１、第２プリンターＫＰ２、及び、第３プリンターＫＰ３が接続される。制御プリンターＳＰと、第１プリンターＫＰ１、第２プリンターＫＰ２、及び、第３プリンターＫＰ３のそれぞれとは、ローカルエリアネットワークＬＮを介して互いに通信可能である。
【００１９】
図３は、印刷データ配信サーバーＳＶ、タブレット端末１０、第１ＰＯＳ端末ＰＴ１、及び、第２ＰＯＳ端末ＰＴ２の機能的構成を示すブロック図である。
図３に示すように、印刷データ配信サーバーＳＶは、サーバー制御部２０と、サーバー通信部２１と、サーバー記憶部２２と、を備える。
サーバー制御部２０は、ＣＰＵや、ＲＯＭ、ＲＡＭ等を備え、印刷データ配信サーバーＳＶを制御する。
サーバー通信部２１は、サーバー制御部２０の制御で、所定の通信規格に従って、ワイドエリアネットワークＷＮに接続された他の機器と通信する。
サーバー記憶部２２は、不揮発性メモリーを備え、データを記憶する。サーバー記憶部２２は、印刷データ格納データベース２２ａを記憶する。当該データについては後述する。
【００２０】
タブレット端末１０は、前面にタッチパネル３１が設けられたタブレット型のモバイルコンピューターである。
図３に示すように、タブレット端末１０は、端末制御部３０と、タッチパネル３１と、端末記憶部３２と、端末通信部３３とを備える。
端末制御部３０は、ＣＰＵや、ＲＯＭ、ＲＡＭ等を備え、タブレット端末１０を制御する。端末制御部３０は、機能ブロックとしてアプリケーション実行部３０ａを有する。アプリケーション実行部３０ａの機能については、後述する。
タッチパネル３１は、表示パネル３１ａと、タッチセンサー３１ｂとを備える。表示パネル３１ａは、液晶表示パネルや、有機ＥＬ表示パネル等を備え、端末制御部３０の制御で、画像を表示する。タッチセンサー３１ｂは、表示パネル３１ａに重ねて配置され、ユーザー（本例では、ホール担当者。）によるタッチ操作を検出し、端末制御部３０に出力する。
端末記憶部３２は、不揮発性メモリーを備え、データを記憶する。
端末通信部３３は、端末制御部３０の制御で、所定の通信規格に従って、ワイドエリアネットワークＷＮに接続された他の機器と通信する。
【００２１】
第１ＰＯＳ端末ＰＴ１、及び、第２ＰＯＳ端末ＰＴ２は、以下の機能を有するコンピューターである。第１ＰＯＳ端末ＰＴ１、及び、第２ＰＯＳ端末ＰＴ２は、ワイドエリアネットワークＷＮに接続された他の機器と通信する機能を備える。また、第１ＰＯＳ端末ＰＴ１、及び、第２ＰＯＳ端末ＰＴ２は、会計に対応する入力を受け付け、入力に基づいて、会計に関する情報を生成する機能を備える。
【００２２】
図４は、制御プリンターＳＰ、第１プリンターＫＰ１、第２プリンターＫＰ２、及び、第３プリンターＫＰ３の機能的構成を示すブロック図である。
制御プリンターＳＰ、第１プリンターＫＰ１、第２プリンターＫＰ２、及び、第３プリンターＫＰ３は、サーマル式のプリンターである。
図４に示すように、制御プリンターＳＰは、制御プリンター制御部４０と、制御プリンター印刷部４１（印刷部）と、制御プリンター記憶部４２と、ワイドエリアネットワーク通信部４３と、ローカルエリアネットワーク通信部４４と、を備える。
制御プリンター制御部４０は、ＣＰＵや、ＲＯＭ、ＲＡＭ等を備え、制御プリンターＳＰを制御する。制御プリンター制御部４０は、機能ブロックとして、通信処理部４０ａと、出力部４０ｂと、印刷制御部４０ｃとを備える。これら機能ブロックについては後述する。
制御プリンター印刷部４１は、感熱ロール紙を収容する収容部と、収容部に収容された感熱ロール紙を搬送する搬送部と、搬送部に搬送される感熱ロール紙にドットを形成するサーマルヘッドと、感熱ロール紙を切断する切断部とを備える。
制御プリンター記憶部４２は、不揮発性メモリーを備え、データを記憶する。制御プリンター記憶部４２は、受信印刷データ識別情報テーブル４２ａを記憶する。当該データについては後述する。
ワイドエリアネットワーク通信部４３は、制御プリンター制御部４０の制御で、所定の通信規格に従って、ワイドエリアネットワークＷＮに接続された他の機器と通信する。
ローカルエリアネットワーク通信部４４は、制御プリンター制御部４０の制御で、所定の通信規格に従って、ローカルエリアネットワークＬＮに接続された第１プリンターＫＰ１、第２プリンターＫＰ２、及び、第３プリンターＫＰ３と通信する。
【００２３】
第１プリンターＫＰ１は、第１制御部５０１と、第１通信部５１１と、第１印刷部５２１と、を備える。
第１制御部５０１は、ＣＰＵや、ＲＯＭ、ＲＡＭ等を備え、第１プリンターＫＰ１を制御する。
第１通信部５１１は、第１制御部５０１の制御で、所定の通信規格に従って、ローカルエリアネットワークＬＮに接続された制御プリンターＳＰと通信する。
第１印刷部５２１は、感熱ロール紙を収容する収容部と、収容部に収容された感熱ロール紙を搬送する搬送部と、搬送部に搬送される感熱ロール紙にドットを形成するサーマルヘッドと、感熱ロール紙を切断する切断部とを備える。
第２プリンターＫＰ２、及び、第３プリンターＫＰ３の構成は、第１プリンターＫＰ１の構成と同様である。第２プリンターＫＰ２は、第２制御部５０２と、第２通信部５１２と、第２印刷部５２２と、を備える。第３プリンターＫＰ３は、第３制御部５０３と、第３通信部５１３と、第３印刷部５２３と、を備える。
【００２４】
以下の説明では、第１プリンターＫＰ１、第２プリンターＫＰ２、及び、第３プリンターＫＰ３を区別せずに表現する場合、「プリンターＫＰ」と表現する。
【００２５】
次に、ユーザー（本例では、ホール担当者）が、顧客の会計に応じて、第１ＰＯＳ端末ＰＴ１に会計に対応する入力を行った場合の、第１ＰＯＳ端末ＰＴ１、及び、印刷データ配信サーバーＳＶの動作について説明する。
第１ＰＯＳ端末ＰＴ１は、会計に対応する入力があった場合、入力に基づいて、会計に関する情報（以下、「会計関連情報」という。）を生成する。会計関連情報は、顧客が注文した飲食物の名称や、単価、注文数量、合計支払金額、お釣り、税に関する情報等のレシートに印刷される情報を含む。つまり、第１ＰＯＳ端末ＰＴ１は、会計が行われ、会計が確定する度に、会計関連情報を生成する。
次いで、第１ＰＯＳ端末ＰＴ１は、生成した会計関連情報、及び、制御プリンターＳＰの識別情報を、印刷データ配信サーバーＳＶに送信する。制御プリンターＳＰの識別情報とは、制御プリンターＳＰの製造段階で制御プリンターＳＰに割り当てられるシリアル番号等の、制御プリンターＳＰを識別する情報である。上述したように、第１ＰＯＳ端末ＰＴ１に会計に対応する入力が行われた場合、制御プリンターＳＰにより対応するレシートが発行される。第１ＰＯＳ端末ＰＴ１は、会計関連情報を送信する場合、会計関連情報が印刷されたレシートを発行させるプリンター（本例では、制御プリンターＳＰ）の識別情報を、会計関連情報と共に送信する。レシートを発行させるプリンターの識別情報は、事前に登録される。なお、印刷データ配信サーバーＳＶのアドレスや、通信に用いる各種プロトコル、送信するデータのフォーマット等、第１ＰＯＳ端末ＰＴ１が、印刷データ配信サーバーＳＶと通信するために必要な情報は、事前に、第１ＰＯＳ端末ＰＴ１に登録されている。第１ＰＯＳ端末ＰＴ１は、印刷データ配信サーバーＳＶとの間で所定の通信規格に従ったコネクションを確立し、コネクションを利用して、会計関連情報を送信する。
【００２６】
印刷データ配信サーバーＳＶのサーバー制御部２０は、サーバー通信部２１を制御して、会計関連情報、及び、制御プリンターＳＰの識別情報を受信する。
次いで、サーバー制御部２０は、受信した会計関連情報、及び、制御プリンターＳＰの識別情報に基づいて、レシート印刷データ（印刷データ）を生成する。
レシート印刷データは、会計関連情報が印刷されたレシートの発行を指示するＸＭＬ（Extensible Markup Language）ファイルである。レシート印刷データは、ＸＭＬのプロトコルに従って、少なくとも、印刷を実行させるプリンターの識別情報、レシート印刷データを識別する識別情報、会計関連情報、会計関連情報に含まれる情報を印刷する位置に関する情報、その他の印刷に必要な情報が記述される。サーバー制御部２０は、レシート印刷データの生成に際し、所定の規則に従ってレシート印刷データを識別する情報を生成し、レシート印刷データに記述する。以下、レシート印刷データや、後述する注文伝票印刷データを識別する情報を「印刷データ識別情報」という。
【００２７】
レシート印刷データを生成後、サーバー制御部２０は、生成したレシート印刷データを、サーバー記憶部２２の印刷データ格納データベース２２ａに格納する。
図５は、印刷データ格納データベース２２ａのデータ構造を示す図である。
図５に示すように、印刷データ格納データベース２２ａの１件のレコードは、データを格納するフィールドとして、少なくとも、印刷データフィールドＦ１、印刷データ識別情報フィールドＦ２、及び、印刷状態情報フィールドＦ３を有する。
印刷データフィールドＦ１は、レシート印刷データ、及び、後述する注文伝票印刷データを格納するフィールドである。
印刷データ識別情報フィールドＦ２は、印刷データ識別情報を格納するフィールドである。
印刷状態情報フィールドＦ３は、印刷状態情報を格納するフィールドである。印刷状態情報とは、対応する印刷データに基づく印刷が完了したか否かを示す情報であり、印刷が完了したことを示す印刷完了情報ＫＪ（印刷が完了したことを示す情報）と、印刷が完了していないことを示す印刷未完了情報ＭＪとがある。
【００２８】
レシート印刷データを生成した後、サーバー制御部２０は、印刷データ配信サーバーＳＶに１件のレコードを生成する。サーバー制御部２０は、生成した１件のレコードの印刷データフィールドＦ１にレシート印刷データを格納する。サーバー制御部２０は、生成した１件のレコードの印刷データ識別情報フィールドＦ２に、印刷データ識別情報を格納する。サーバー制御部２０は、生成した１件のレコードの印刷状態情報フィールドＦ３に、印刷状態情報として、印刷未完了情報ＭＪを格納する。
ここで、後述するように、印刷データ格納データベース２２ａに格納されたレシート印刷データは、制御プリンターＳＰによる問い合わせに応じて、随時、制御プリンターＳＰに送信される。印刷データ配信サーバーＳＶから制御プリンターＳＰに印刷データが送信されると、対応する所定の装置により、レシート印刷データに基づく印刷が行われる。レシート印刷データに基づく印刷が完了すると、制御プリンターＳＰは、印刷データ識別情報と共に、印刷が完了したことを通知する印刷完了通知データを印刷データ配信サーバーＳＶに送信する。印刷完了通知を受信すると、サーバー制御部２０は、対応するレコードの印刷状態情報フィールドＦ３に格納された印刷状態情報について、印刷未完了情報ＭＪから、印刷完了情報ＫＪに書き換える。つまり、レシート印刷データが生成された後、印刷完了通知データを受信するまでは、印刷状態情報フィールドＦ３に、印刷未完了情報ＭＪが格納され、印刷完了通知データを受信すると、当該情報が、印刷完了情報ＫＪに書き換えられる。従って、１件のレコードにおける印刷状態情報フィールドＦ３に格納された印刷状態情報を参照することにより、対応するレシート印刷データに基づく印刷が完了したか否かを取得できる。
【００２９】
このように、印刷データ配信サーバーＳＶは、第１ＰＯＳ端末ＰＴ１から会計関連情報を受信した場合、会計関連情報に基づいてレシート印刷データを生成し、記憶する。
【００３０】
ユーザー（本例では、ホール担当者）が、顧客の会計に応じて、第２ＰＯＳ端末ＰＴ２に会計に対応する入力を行った場合の、第２ＰＯＳ端末ＰＴ２、及び、印刷データ配信サーバーＳＶの動作も同様である。
すなわち、第２ＰＯＳ端末ＰＴ２は、会計に応じて会計関連情報を生成し、生成した会計関連情報と、レシートを発行させるプリンターである第１プリンターＫＰ１の識別情報とを印刷データ配信サーバーＳＶに送信する。印刷データ配信サーバーＳＶのサーバー制御部２０は、レシート印刷データの印刷データ識別情報を生成し、生成した印刷データ識別情報、及び、受信した会計関連情報、第１プリンターＫＰ１の識別情報に基づいてレシート印刷データを生成する。サーバー制御部２０は、印刷データ格納データベース２２ａに１件のレコードを生成し、生成したレシート印刷データ、印刷データ識別情報、及び、印刷未完了情報ＭＪを、それぞれ、対応するフィールドに格納する。
なお、サーバー記憶部２２に記憶されたレシート印刷データの利用方法については後述する。
【００３１】
次に、ユーザー（本例では、ホール担当者）が、タブレット端末１０に顧客の注文に対応する入力を行った場合の、タブレット端末１０、及び、印刷データ配信サーバーＳＶの動作について説明する。
本実施形態では、複数のホール担当者に、複数のタブレット端末１０が付与される。タブレット端末１０には、専用のアプリケーションＡＰが事前にインストールされる。ホール担当者は、顧客から注文を聞く前に、アプリケーションＡＰを起動する。
タブレット端末１０の端末制御部３０のアプリケーション実行部３０ａは、ＣＰＵ等のハードウェア資源がアプリケーションＡＰを読み出して実行することにより、その機能が実現される機能ブロックである。
タブレット端末１０の端末制御部３０のアプリケーション実行部３０ａは、ユーザーが注文に対応する入力を行うユーザーインターフェース（以下、「注文ＵＩ」という。）を表示パネル３１ａに表示する。注文ＵＩは、顧客が注文した飲食物を選択するエリアや、注文された飲食物の数量を選択するエリアが設けられており、ユーザーは、タッチパネル３１をタッチ操作して、顧客が注文した飲食物、及び、数量を入力できる。
注文ＵＩに注文に対応する入力があった場合、アプリケーション実行部３０ａは、入力に基づいて、注文に関する情報（以下、「注文関連情報」という。）を生成する。注文関連情報は、少なくとも、顧客が注文した１又は複数の飲食物について、飲食物の名称を示す情報と、注文数量とを含む。
【００３２】
次いで、アプリケーション実行部３０ａは、生成した注文関連情報、及び、注文関連情報に基づいて注文伝票を発行させるプリンターの識別情報を、印刷データ配信サーバーＳＶに送信する。
ここで、アプリケーション実行部３０ａは、注文関連情報の内容に基づいて、第２プリンターＫＰ２、及び、第３プリンターＫＰ３のいずれに注文伝票を発行させるのかを決定する。アプリケーション実行部３０ａは、決定したプリンターの識別情報を、注文関連情報と共に送信する。このほか、タブレット端末１０ごとに、注文伝票を発行させるプリンターを予め定める構成であってもよく、また、プリンターの状態を所定の手段で取得し、プリンターの状態に応じて、注文伝票を発行させるプリンターを決定する構成であってもよい。
【００３３】
印刷データ配信サーバーＳＶのサーバー制御部２０は、サーバー通信部２１を制御して、タブレット端末１０が送信した注文関連情報、及び、プリンターの識別情報を受信する。
次いで、サーバー制御部２０は、受信した注文関連情報、及び、プリンターの識別情報に基づいて、注文伝票印刷データ（印刷データ）を生成する。
注文伝票印刷データは、注文関連情報が印刷された注文伝票の発行を指示するＸＭＬファイルである。注文伝票印刷データは、ＸＭＬのプロトコルに従って、注文伝票を発行させるプリンターの識別情報、注文伝票印刷データの印刷データ識別情報、注文関連情報、注文関連情報に含まれる情報を印刷する位置に関する情報、及び、その他の印刷に必要な情報が記述される。サーバー制御部２０は、注文伝票印刷データを生成する際、当該データを識別する印刷データ識別情報を生成する。
次いで、サーバー制御部２０は、印刷データ格納データベース２２ａに１件のレコードを生成し、注文伝票印刷データ、印刷データ識別情報、及び、印刷未完了情報ＭＪを、それぞれ、対応するフィールドに格納する。
このように、印刷データ配信サーバーＳＶは、タブレット端末１０から注文関連情報を受信した場合、注文関連情報に基づいて注文伝票印刷データを生成し、記憶する。
【００３４】
以下の説明で、レシート印刷データ、及び、注文伝票印刷データを区別せずに表現する場合、「印刷データ」と表現する。印刷データは、ＸＭＬファイルである。
【００３５】
次に、制御プリンターＳＰの制御プリンター制御部４０が備える機能ブロックについて詳細に説明する。
図６は、制御プリンター制御部４０の構成を詳細に示す図である。
図６に示すように、制御プリンター制御部４０は、機能ブロックとして、通信処理部４０ａと、出力部４０ｂと、印刷制御部４０ｃとを備える。
本実施形態では、制御プリンターＳＰが、電源の投入やリセットにより起動されたときに、タスク（スレッド、又は、プロセスであってもよい。）として、通信処理タスクが起動される。そして、通信処理部４０ａは、ＣＰＵによる通信処理タスクの実行に基づく処理を行う機能ブロックである。
【００３６】
図６に示すように、出力部４０ｂは、管理部ＫＢと、第１出力用処理部ＳＳ１と、第２出力用処理部ＳＳ２と、第３出力用処理部ＳＳ３と、印刷出力用処理部ＳＳ４と、を備える。
管理部ＫＢは、制御プリンターＳＰが起動されたときに起動する管理タスクに対応する機能ブロックである。すなわち、管理部ＫＢは、ＣＰＵによる管理タスクの実行に基づく処理を行う。後述するように、管理部ＫＢは、所定の条件が成立した場合に、タスク（スレッド、又は、プロセスであってもよい。）として、第１出力用タスク、第２出力用タスク、第３出力用タスク、又は、印刷出力用タスクを起動する。そして、第１出力用処理部ＳＳ１は、ＣＰＵによる第１出力用タスクの実行に基づく処理を行う機能ブロックである。また、第２出力用処理部ＳＳ２は、ＣＰＵによる第２出力用タスクの実行に基づく処理を行う機能ブロックである。また、第３出力用処理部ＳＳ３は、ＣＰＵによる第３出力用タスクの実行に基づく処理を行う機能ブロックである。また、印刷出力用処理部ＳＳ４は、ＣＰＵによる印刷出力用タスクの実行に基づく処理を行う機能ブロックである。管理部ＫＢ、第１出力用処理部ＳＳ１、第２出力用処理部ＳＳ２、第３出力用処理部ＳＳ３、及び、印刷出力用処理部ＳＳ４が実行する処理については後述する。
以下、第１出力用処理部ＳＳ１、第２出力用処理部ＳＳ２、及び、第３出力用処理部ＳＳ３を区別しない場合「送信処理部Ｓ」と表現する。また、第１出力用処理部ＳＳ１、第２出力用処理部ＳＳ２、第３出力用処理部ＳＳ３、及び、印刷出力用処理部ＳＳ４を区別しない場合「出力用処理部ＳＳ」と表現する。
【００３７】
通信処理部４０ａ、及び、出力部４０ｂが備える機能ブロックは、印刷キューＱ（記憶領域）にデータを書き込むことができ、また、印刷キューＱに書き込まれたデータを読み出すことができる。
印刷キューＱは、ＲＡＭ等の一時記憶領域のワークエリアに形成されたバッファーである。
【００３８】
印刷制御部４０ｃは、後述する所定の場合に印刷データが入力される。印刷制御部４０ｃは、入力された印刷データ（ＸＭＬファイル）を、制御プリンター印刷部４１のコマンド体系に従った制御コマンドに変換し、制御コマンドに基づいて、制御プリンター印刷部４１に処理を実行させる。
【００３９】
次に、制御プリンターＳＰの設定について説明する。
上述したように、制御プリンターＳＰの起動時に通信処理部４０ａが起動する。本実施形態では、ブラウザーがインストールされた装置から、ワイドエリアネットワークＷＮを介して、制御プリンターＳＰにアクセスし、通信処理部４０ａに関する設定をできる構成となっている。
本実施形態では、制御プリンターＳＰには、ウェブサーバーソフトウェア（例えば、Ａｐａｃｈｅ  ＨＴＴＰ  Ｓｅｒｖｅｒ）がインストールされている。制御プリンターＳＰは、クライアントからの要求に応じて、ＨＴＴＰ等の所定のプロトコルに従った表示データを生成し、送信するウェブサーバーの機能を有する。
本実施形態では、タブレット端末１０にはブラウザーがインストールされている。以下、タブレット端末１０から制御プリンターＳＰにアクセスして、通信処理部４０ａの設定を行う場合を例にして説明する。
【００４０】
ユーザーは、タブレット端末１０のブラウザーを起動し、制御プリンターＳＰが管理する所定のＵＲＬにアクセスする。所定のＵＲＬへのアクセスに応じて、制御プリンターＳＰの制御プリンター制御部４０は、通信処理部４０ａの設定用のユーザーインターフェース（以下、「設定ＵＩ」という。）を表示させる表示ファイルを生成し、送信する。タブレット端末１０の端末制御部３０は、受信した表示ファイルに基づいて、表示パネル３１ａに、設定ＵＩを表示する。
【００４１】
図７は、設定ＵＩの一例を示す図である。
図７に示すように、設定ＵＩは、印刷データ配信サーバーＳＶのＵＲＬを入力するＵＲＬ入力欄Ｒ１を有する。後述するように、通信処理部４０ａは、印刷データ配信サーバーＳＶに印刷データの有無を問い合わせるが、ＵＲＬ入力欄Ｒ１には、問い合わせを行うサーバーのＵＲＬが入力される。
また、設定ＵＩは、処理選択用ラジオボタンＲ２を有する。処理選択用ラジオボタンＲ２は、非同期処理（第１処理）、及び、同期処理（第２処理）のうち、通信処理部４０ａに実行させる処理を選択するラジオボタンである。非同期処理、及び、同期処理については後述する。ユーザーは、非同期処理に対応するボタン、及び、同期処理に対応するボタンのうち、いずれかのボタンにチェックを入れて、非同期処理、及び、同期処理のうち、通信処理部４０ａに実行させる１の処理を選択する。
また、設定ＵＩは、非同期処理時間隔入力欄Ｒ３を有する。非同期処理時間隔入力欄Ｒ３は、通信処理部４０ａが、非同期処理を実行する場合に、印刷データ配信サーバーＳＶに印刷データの有無の問い合わせを行うときの間隔を設定する欄である。後述するように、通信処理部４０ａは、非同期処理を実行する場合、所定時間ごとに、印刷データの有無の問い合わせを行う。非同期処理時間隔入力欄Ｒ３には、当該所定時間の値が入力される。
また、設定ＵＩは、間隔自動調整設定欄Ｒ４を有する。間隔自動調整設定欄Ｒ４では、ラジオボタンにより、後述する間隔自動調整処理の実行を有効とするか、無効とするかが設定される。
また、設定ＵＩは、同期処理時間隔入力欄Ｒ５を有する。同期処理時間隔入力欄Ｒ５は、通信処理部４０ａが、同期処理を実行する場合に、印刷データ配信サーバーＳＶに印刷データの有無の問い合わせを行うときの間隔を設定する欄である。後述するように、通信処理部４０ａは、同期処理を実行する場合、所定の期間を除く期間、所定時間ごとに、印刷データの有無の問い合わせを行う。同期処理時間隔入力欄Ｒ５には、所定時間の値が入力される。
また、設定ＵＩは、適用ボタンＢ１を有する。
適用ボタンＢ１が選択された場合、設定ＵＩへの入力が確定し、入力された情報が、制御プリンターＳＰに送信される。
制御プリンターＳＰの制御プリンター制御部４０は、受信した情報を、設定ファイルや、プログラムの変数等に書き込み、入力に基づく設定を反映する。
【００４２】
次に、制御プリンターＳＰの動作について詳細に説明する。
まず、非同期処理（第１処理）を実行する場合の、制御プリンターＳＰの動作について説明する。上述したように、通信処理部４０ａは、非同期処理（第１処理）と、同期処理（第２処理）の２つの処理を実行可能であり、ユーザーは、設定ＵＩを用いて、いずれの処理を通信処理部４０ａに実行させるかを選択できる。
図８は、非同期処理を実行する場合の制御プリンターＳＰの動作を示すフローチャートである。
図８に示すように、非同期処理を実行する場合、通信処理部４０ａは、印刷データ配信サーバーＳＶに対して、印刷データの有無を問い合わせるタイミングとなったか否かを監視する（ステップＳＡ１）。非同期処理において、通信処理部４０ａは、既に受信した印刷データに基づく処理の状態にかかわらず、設定ＵＩの非同期処理時間隔入力欄Ｒ３に入力された間隔、又は、後述する間隔自動調整処理により調整された間隔で、定期的に、印刷データ配信サーバーＳＶに、印刷データの有無を問い合わせる。以下、非同期処理を行う場合において、印刷データの有無を問い合わせる間隔を、「第１間隔」という。ステップＳＡ１で、通信処理部４０ａは、前回、問い合わせを行ってから、第１間隔に対応する時間が経過したか否かを監視し、経過した場合、印刷データの有無を問い合わせるタイミングとなったと判別する。
印刷データの有無を問い合わせるタイミングとなった場合（ステップＳＡ１：ＹＥＳ）、通信処理部４０ａは、印刷データの有無を問い合わせるデータを生成し、ワイドエリアネットワーク通信部４３を制御して、当該データを印刷データ配信サーバーＳＶに送信する（ステップＳＡ２）。
上述したように、ＵＲＬ入力欄Ｒ１に入力されたＵＲＬ（本例では、印刷データ配信サーバーＳＶのＵＲＬ）は、設定ファイルに書き込まれる等しており、通信処理部４０ａは、当該ＵＲＬを管理する。ステップＳＡ２で、通信処理部４０ａは、管理するＵＲＬに基づいて、印刷データ配信サーバーＳＶにアクセスし、所定の通信規格に従ってコネクションを確立し、コネクションを利用してデータを送信する。
印刷データの有無の問い合わせ後、通信処理部４０ａは、処理手順をステップＳＡ１へ戻し、印刷データの有無を問い合わせるタイミングとなったか否かを監視する。
このように、非同期処理を行う場合、通信処理部４０ａは、受信した印刷データに基づく処理の状況にかかわらず、第１間隔で、印刷データ配信サーバーＳＶに対して、印刷データの有無を問い合わせる。このような構成のため、制御プリンターＳＰは、印刷データに基づく処理の状況にかかわらず、印刷データの有無を問い合わせることができる。従って、印刷データ配信装置が印刷データを送信可能となった後、制御プリンターＳＰが印刷データを受信するまでに生じる時間を短くすることができる。
【００４３】
図９は、非同期処理を実行する場合において、通信処理部４０ａが印刷データの有無の問い合わせを行った後の制御プリンターＳＰ、及び、印刷データ配信サーバーＳＶの動作を示すフローチャートである。図９（Ａ）は制御プリンターＳＰの動作を示し、図９（Ｂ）は印刷データ配信サーバーＳＶの動作を示す。
図９（Ａ）に示すように、制御プリンターＳＰの制御プリンター制御部４０の通信処理部４０ａは、印刷データの有無を問い合わせるデータを生成し、ワイドエリアネットワーク通信部４３を制御して、当該データを印刷データ配信サーバーＳＶに送信する（ステップＳＢ１）。上述したように、制御プリンター制御部４０は、印刷データ配信サーバーＳＶとの間で、所定の通信規格に準拠したコネクションを確立し、確立したコネクションを利用して、データを送信する。
【００４４】
図９（Ｂ）に示すように、印刷データ配信サーバーＳＶのサーバー制御部２０は、サーバー通信部２１を制御して、データを受信する（ステップＳＣ１）。
次いで、サーバー制御部２０は、印刷データ格納データベース２２ａを参照し、送信可能な印刷データの有無を判別する（ステップＳＣ２）。
詳述すると、上述したように、印刷データ格納データベース２２ａの各レコードは、印刷状態情報フィールドＦ３を有する。ステップＳＣ２で、サーバー制御部２０は、印刷状態情報フィールドＦ３に印刷未完了情報ＭＪが格納されているレコードが１件でも存在する場合、「送信可能な印刷データ」が有ると判別する。ステップＳＣ２で、サーバー制御部２０は、当該レコードが１件も無い場合、「送信可能な印刷データ」が無いと判別する。
次いで、サーバー制御部２０は、判別結果に基づいて、送信可能な印刷データの有無を示す情報を含むデータを、サーバー通信部２１を制御して、ステップＳＢ１で確立したコネクションを利用して送信する（ステップＳＣ３）。
【００４５】
図９（Ａ）に示すように、制御プリンターＳＰの通信処理部４０ａは、ワイドエリアネットワーク通信部４３を制御して、印刷データ配信サーバーＳＶが送信したデータを受信する（ステップＳＢ２）。
次いで、通信処理部４０ａは、受信したデータに基づいて、印刷データ配信サーバーＳＶに送信可能な印刷データが有るか無いかを判別する（ステップＳＢ３）。
印刷データが無い場合（＝受信したデータが、送信可能な印刷データが無いことを示す情報を含む場合）（ステップＳＢ３：ＮＯ）、通信処理部４０ａは、処理を終了する。
印刷データが有る場合（＝受信したデータが、送信可能な印刷データが有ることを示す情報を含む場合）（ステップＳＢ３：ＹＥＳ）、通信処理部４０ａは、確立したコネクションを利用して、印刷データの送信を要求するデータを送信する（ステップＳＢ４）。
【００４６】
図９（Ｂ）に示すように、印刷データ配信サーバーＳＶのサーバー制御部２０は、サーバー通信部２１を制御して、制御プリンターＳＰが送信したデータを受信する（ステップＳＣ４）。
次いで、サーバー制御部２０は、確立したコネクションを利用して、印刷データ格納データベース２２ａにおいて、印刷未完了情報ＭＪと対応付けられた印刷データ（＝送信可能な印刷データ）を送信する（ステップＳＣ５）。印刷未完了情報ＭＪと対応付けられた印刷データは、印刷データが生成された後、印刷データに基づく印刷が完了した旨を通知する印刷完了通知データを受信していないデータである。印刷未完了情報ＭＪと対応付けられた印刷データが複数ある場合、サーバー制御部２０は、複数の印刷データを、順次、送信する。
【００４７】
図９（Ａ）に示すように、印刷データ配信サーバーＳＶによる印刷データの送信に応じて、制御プリンターＳＰの通信処理部４０ａは、印刷データの受信を開始する（ステップＳＢ５）。通信処理部４０ａは、印刷データを受信中、受信したデータを、順次、ＲＡＭ等のワークエリアに形成された受信バッファーに格納する。
印刷データの受信の開始後、通信処理部４０ａは、印刷データの受信が完了したか否かを監視する（ステップＳＢ６）。受信する印刷データが複数ある場合、ステップＳＢ６で、通信処理部４０ａは、複数の印刷データの全てについて、受信が完了したか否かを監視する。
【００４８】
印刷データの受信が完了した場合（ステップＳＢ６：ＹＥＳ）、通信処理部４０ａは、比較処理を行う（ステップＳＢ７）。以下、比較処理について詳述する。通信処理部４０ａは、受信バッファーに格納された印刷データの内容を参照し、印刷データに記述された印刷データ識別情報を取得する。通信処理部４０ａは、複数の印刷データを受信した場合、複数の印刷データのそれぞれの印刷データ識別情報を取得する。
次いで、通信処理部４０ａは、制御プリンター記憶部４２が記憶する受信印刷データ識別情報テーブル４２ａを参照する。受信印刷データ識別情報テーブル４２ａは、受信が完了し、印刷キューＱへの書き込みが行われた印刷データの印刷データ識別情報を累積して記憶するテーブルである。後述するように、通信処理部４０ａは、印刷データを印刷キューＱに格納した場合、格納した印刷データの印刷データ識別情報を受信印刷データ識別情報テーブル４２ａに書き込む。
次いで、通信処理部４０ａは、取得した印刷データ識別情報の値と同一の値の印刷データ識別情報が、受信印刷データ識別情報テーブル４２ａに書き込まれているか否かを判別する。取得した印刷データ識別情報の値と同一の値の印刷データ識別情報が受信印刷データ識別情報テーブル４２ａに書き込まれている場合、同一の印刷データが、既に、受信され、印刷キューＱに格納されている。
通信処理部４０ａは、複数の印刷データを受信した場合、複数の印刷データの印刷データ識別情報のそれぞれについて、受信印刷データ識別情報テーブル４２ａに書き込まれた印刷データ識別情報との比較を行う。
【００４９】
以上説明したステップＳＢ７の比較処理で、通信処理部４０ａは、印刷データ配信サーバーＳＶから新たに受信した印刷データが、当該サーバーから既に受信した印刷データと同一であるか否かを判別している。印刷データ配信サーバーＳＶから同一のデータを、複数回、受信する事態が発生し得る理由は、以下である。図５に示すように、印刷データ配信サーバーＳＶが記憶する印刷データ格納データベース２２ａでは、生成した印刷データと、印刷データに基づく印刷が完了したか否かを示す印刷状態情報（印刷未完了情報ＭＪ、又は、印刷完了情報ＫＪ）とを対応付けて記憶する。そして、ステップＳＣ５で説明したように、印刷データ配信サーバーＳＶは、サーバー制御部２０は、印刷データの有無の問い合わせを受けた場合、印刷データ格納データベース２２ａにおいて、印刷未完了情報ＭＪと対応付けられた印刷データを送信する。このような構成のため、印刷データ配信サーバーＳＶが１の印刷データを送信した後、当該１の印刷データに対応付けられた印刷未完了情報ＭＪが印刷完了情報ＫＪに書き換えられる前に、制御プリンターＳＰから印刷データの有無の問い合わせがあった場合、印刷データ配信サーバーＳＶは、当該１の印刷データを送信する。このような理由により、制御プリンターＳＰが印刷データ配信サーバーＳＶから同一のデータを、複数回、受信する事態が発生し得る。
【００５０】
なお、印刷データ格納データベース２２ａにおいて、印刷データと、送信が完了したか否かを示す情報とを対応付けて記憶し、印刷データ配信サーバーＳＶが、当該情報に基づいて、送信する印刷データを選択することも可能である。しかしながら、この場合、本実施形態と比較して、印刷データ格納データベース２２ａのデータ量が多くなるとともに、印刷データ配信サーバーＳＶが実行すべき処理が多くなる。特に、当該情報は、後述する同期処理（第２処理）では、不要な情報である。このため、後に明らかとなるとおり、制御プリンターＳＰが実行する処理を非同期処理と同期処理とに切り替え可能であることを鑑みた場合、印刷データ格納データベース２２ａにおいて、当該情報を対応付けて記憶させないことによりデータ量の増大の抑制、処理負荷の軽減を図ることのメリットは大きい。
【００５１】
次いで、通信処理部４０ａは、受信した１又は複数の印刷データの中に、受信印刷データ識別情報テーブル４２ａに書き込まれた印刷データ識別情報の値と同一の値の印刷データ識別情報の印刷データがある場合、当該印刷データを破棄する（ステップＳＢ８）。破棄するとは、印刷キューＱへの書き込みを行わないことをいう。このステップＳＢ８の処理により、制御プリンターＳＰが、複数回、同一の印刷データを受信した場合であっても、最初に受信した印刷データ以外の印刷データは、印刷キューＱに書き込まれず、したがって、処理されない。
次いで、通信処理部４０ａは、受信した１又は複数の印刷データの中に、印刷データ識別情報の値が、受信印刷データ識別情報テーブル４２ａに書き込まれた印刷データ識別情報の値と一致しない印刷データがある場合、以下の処理を行う。すなわち、通信処理部４０ａは、当該印刷データを、印刷キューＱに書き込む（ステップＳＢ９）。
次いで、通信処理部４０ａは、印刷キューＱに書き込んだ印刷データがある場合、当該印刷データの印刷データ識別情報を、受信印刷データ識別情報テーブル４２ａに書き込む（ステップＳＢ１０）。通信処理部４０ａは、印刷キューＱに書き込んだ印刷データが複数ある場合は、複数の印刷データの印刷データ識別情報を、受信印刷データ識別情報テーブル４２ａに書き込む。
【００５２】
次に、非同期処理を実行する場合であって、設定ＵＩで、間隔自動調整処理の実行が有効とされた場合に、通信処理部４０ａが実行する間隔自動調整処理について説明する。
上述したように、非同期処理を実行する場合、通信処理部４０ａは、受信した印刷データに基づく処理の状況にかかわらず、間隔をあけて印刷データ配信サーバーＳＶに印刷データの有無を問い合わせる。間隔自動調整処理は、印刷データを問い合わせる間隔を自動で調整する処理である。
詳述すると、通信処理部４０ａは、ステップＳＢ８で印刷データの破棄が頻繁に行われる状態の場合、問い合わせを行う間隔を長くする。一例として、通信処理部４０ａは、所定の単位時間あたりに、所定の閾値以上の回数で印刷データの破棄が行われる状態となった場合、そのときに設定されている間隔を、Ｘ秒長くする。上記状態が解消した場合、通信処理部４０ａは、間隔をＸ秒短くする。このような処理を実行することにより、以下の効果を奏する。すなわち、印刷データの破棄が頻繁に行われるということは、受信した印刷データを処理するペースと比較して、制御プリンターＳＰが印刷データの有無を問い合わせるペースが速い状態である。そして、上記処理を実行することにより、受信した印刷データを処理するペースと、印刷データの有無を問い合わせるペースとの乖離を抑制でき、受信した印刷データが破棄される頻度を低下させることができる。
【００５３】
さらに、間隔自動調整処理において、通信処理部４０ａは、印刷キューＱの状態に応じて、印刷データの有無を問い合わせる間隔を変化させる。より詳細には、通信処理部４０ａは、印刷キューＱにおける新たなデータの書き込み可能領域が小さくなってきた場合、問い合わせを行う間隔を長くする。一例として、通信処理部４０ａは、印刷キューＱにおける新たなデータの書き込み可能領域の容量を監視し、容量が所定の閾値以下となった場合、そのときに設定されている間隔を、Ｙ秒長くする。上記状態が解消した場合、通信処理部４０ａは、間隔をＹ秒短くする。このような処理を実行することにより、以下の効果を奏する。すなわち、印刷キューＱにおける新たなデータの書き込み可能領域が設定された閾値を下回るということは、受信した印刷データを処理するペースと比較して、制御プリンターＳＰが印刷データの有無を問い合わせるペースが速い状態である。そして、上記処理を実行することにより、受信した印刷データを処理するペースと、印刷データの有無を問い合わせるペースとの乖離を抑制でき、印刷キューＱの空き領域不足により、印刷データの書き込みが行えない事態が発生する可能性を低減できる。
【００５４】
図１０は、非同期処理を実行する場合において、通信処理部４０ａが、上述した図８、図９の処理と並行して実行する処理を説明するフローチャートである。図１０（Ａ）は制御プリンターＳＰの動作を示し、図１０（Ｂ）は印刷データ配信サーバーＳＶの動作を示す。
図１０（Ａ）に示すように、制御プリンターＳＰの通信処理部４０ａは、管理部ＫＢから処理結果通知が入力されたか否かを監視する（ステップＳＤ１）。後述するように、管理部ＫＢは、印刷キューＱに書き込まれた印刷データに基づく印刷が完了した場合、印刷データの印刷データ識別情報を含む処理結果通知を通信処理部４０ａに出力する。
処理結果通知が入力された場合（ステップＳＤ１：ＹＥＳ）、通信処理部４０ａは、確立したコネクションを利用して印刷完了通知データを送信し（ステップＳＤ２）、処理手順をステップＳＤ１へ戻す。印刷完了通知データとは、処理結果通知に含まれる印刷データ識別情報を含み、当該識別情報に対応する印刷データに基づく印刷が完了したことを示すデータである。
【００５５】
図１０（Ｂ）に示すように、印刷データ配信サーバーＳＶのサーバー制御部２０は、印刷完了通知データを受信する（ステップＳＥ１）。
次いで、サーバー制御部２０は、印刷データ格納データベース２２ａを参照し、受信した印刷完了通知データに含まれる印刷データ識別情報が印刷データ識別情報フィールドＦ２に格納されたレコードを特定する（ステップＳＥ２）。
次いで、サーバー制御部２０は、特定したレコードの印刷状態情報フィールドＦ３に格納された印刷未完了情報ＭＪを、印刷完了情報ＫＪへと書き換える（ステップＳＥ３）。ステップＳＥ３の処理により、対応付けられた印刷状態情報の書き換えが行われた印刷データは、問い合わせがあった場合であっても、制御プリンターＳＰに送信されない。
【００５６】
次に、同期処理（第２処理）を実行する場合の制御プリンターＳＰの動作について説明する。上述したように、ユーザーは、設定ＵＩを利用して、制御プリンターＳＰに実行させる処理として同期処理を選択する。
図１１は、同期処理を実行する場合の制御プリンターＳＰ、及び、印刷データ配信サーバーＳＶの動作を示すフローチャートである。図１１（Ａ）は制御プリンターＳＰの動作を示す。図１１（Ｂ）は印刷データ配信サーバーＳＶの動作を示す。
【００５７】
図１１（Ａ）に示すように、制御プリンターＳＰの制御プリンター制御部４０の通信処理部４０ａは、印刷データ配信サーバーＳＶに対して、印刷データの有無を問い合わせるタイミングとなったか否かを監視する（ステップＳＦ１）。
同期処理を実行する場合、通信処理部４０ａは、後述する印刷データ処理期間を除き、設定ＵＩの同期処理時間隔入力欄Ｒ５に入力された間隔で、印刷データ配信サーバーＳＶに、印刷データの有無を問い合わせる。ステップＳＦ１で、通信処理部４０ａは、前回、問い合わせを行ってから、設定された間隔に対応する時間が経過したか否かを監視し、経過した場合、印刷データの有無を問い合わせるタイミングとなったと判別する。
タイミングとなった場合（ステップＳＦ１：ＹＥＳ）、通信処理部４０ａは、印刷データの有無を問い合わせるデータを生成し、ワイドエリアネットワーク通信部４３を制御して、当該データを印刷データ配信サーバーＳＶに送信する（ステップＳＦ２）。
【００５８】
図１１（Ｂ）に示すように、印刷データ配信サーバーＳＶのサーバー制御部２０は、サーバー通信部２１を制御して、データを受信する（ステップＳＧ１）。
次いで、サーバー制御部２０は、印刷データ格納データベース２２ａを参照し、送信可能な印刷データの有無を判別する（ステップＳＧ２）。上述したように、送信可能な印刷データとは、印刷データ格納データベース２２ａで対応付けられた印刷状態情報が、印刷未完了情報ＭＪである印刷データである。後に明らかとなる通り、同期処理を実行する場合、印刷データ配信サーバーＳＶから制御プリンターＳＰへと送信されていない印刷データの印刷状態情報は、印刷未完了情報ＭＪである。
次いで、サーバー制御部２０は、判別結果に基づいて、送信可能な印刷データの有無を示す情報を含むデータを、サーバー通信部２１を制御して、確立したコネクションを利用して送信する（ステップＳＧ３）。
【００５９】
図１１（Ａ）に示すように、制御プリンターＳＰの通信処理部４０ａは、ワイドエリアネットワーク通信部４３を制御して、印刷データ配信サーバーＳＶが送信したデータを受信する（ステップＳＦ３）。
次いで、通信処理部４０ａは、受信したデータが、送信可能な印刷データが無いことを示す情報を含む場合（ステップＳＦ４：ＮＯ）、処理手順をステップＳＦ１へ戻す。
受信したデータが、送信可能な印刷データがあることを示す情報を含む場合（ステップＳＦ４：ＹＥＳ）、通信処理部４０ａは、確立したコネクションを利用して、印刷データの送信を要求するデータを送信する（ステップＳＦ５）。
【００６０】
図１１（Ｂ）に示すように、印刷データ配信サーバーＳＶのサーバー制御部２０は、データを受信する（ステップＳＧ４）。
次いで、サーバー制御部２０は、確立したコネクションを利用して、印刷データ格納データベース２２ａにおいて、印刷未完了情報ＭＪと対応付けられた印刷データ（＝送信可能な印刷データ）を送信する（ステップＳＧ５）。印刷未完了情報ＭＪと対応付けられた印刷データが複数ある場合、サーバー制御部２０は、複数の印刷データを、順次、送信する。
【００６１】
図１１（Ａ）に示すように、印刷データ配信サーバーＳＶによる印刷データの送信に応じて、制御プリンターＳＰの通信処理部４０ａは、印刷データの受信を開始する（ステップＳＦ６）。通信処理部４０ａは、印刷データを受信中、受信したデータを、順次、受信バッファーに格納する。
印刷データの受信の開始後、通信処理部４０ａは、印刷データの受信が完了したか否かを監視する（ステップＳＦ７）。受信する印刷データが複数ある場合、ステップＳＦ７で、通信処理部４０ａは、複数の印刷データの全てについて、受信が完了したか否かを監視する。
【００６２】
印刷データの受信が完了した場合（ステップＳＦ７：ＹＥＳ）、通信処理部４０ａは、受信した印刷データ（複数の印刷データを受信した場合は、複数の印刷データ）を、印刷キューＱに書き込む（ステップＳＦ８）。
後に明らかとなる通り、同期処理では、同一の印刷データを複数回受信することがないため、非同期処理で行われるステップＳＢ７の比較処理を実行する必要がない。
次いで、通信処理部４０ａは、ステップＳＦ８で印刷キューＱに書き込んだ印刷データに基づく印刷が完了したことを示す処理結果通知が入力されたか否かを監視する（ステップＳＦ９）。「印刷キューＱに書き込んだ印刷データに基づく印刷が完了したことを示す処理結果通知」とは、印刷キューＱに書き込んだ印刷データの印刷データ識別情報を含む処理結果通知のことである。印刷キューＱに書き込んだ印刷データが複数ある場合、ステップＳＦ９で、通信処理部４０ａは、全ての印刷データに対応する処理結果通知の入力があったか否かを監視する。
処理結果通知の入力があった場合、通信処理部４０ａは、確立したコネクションを利用して印刷完了通知データを送信する（ステップＳＦ１０）。上述したように、印刷完了通知データとは、処理結果通知に含まれる印刷データ識別情報を含み、当該識別情報に対応する印刷データに基づく印刷が完了したことを示すデータである。印刷キューＱに書き込んだ印刷データが複数ある場合、ステップＳＦ１０で、通信処理部４０ａは、それぞれの印刷データの印刷データ識別情報を含む印刷完了通知データを送信する。
次いで、通信処理部４０ａは、所定期間の間、待機し（ステップＳＦ１１）、その後、処理手順をステップＳＦ１へ戻し、印刷データの有無の問い合わせを開始する。待機する期間は、後述するステップＳＧ８における印刷データ配信サーバーＳＶによる印刷状態情報の書き換えが完了するのに必要な十分な時間とされる。
このように、同期処理では、制御プリンターＳＰは、印刷データの有無の問い合わせに応じて印刷データを受信してから、当該印刷データに基づく印刷が完了するまでの期間（印刷データ処理期間）は、印刷データの有無の問い合わせを行わない。このような構成のため、非同期処理と比較して、印刷データ配信サーバーＳＶが印刷データを送信可能な状態となってから、制御プリンターＳＰが印刷データを受信するまでの時間は長くなる可能性があるものの、上述した比較処理や、印刷データの破棄を実行する必要がなく、印刷データの受信、印刷データに基づく印刷を、順番に、実行できる。
【００６３】
図１１（Ｂ）に示すように、印刷データ配信サーバーＳＶのサーバー制御部２０は、印刷完了通知データを受信する（ステップＳＧ６）。
次いで、サーバー制御部２０は、印刷データ格納データベース２２ａを参照し、受信した印刷完了通知データに含まれる印刷データ識別情報が印刷データ識別情報フィールドＦ２に格納されたレコードを特定する（ステップＳＧ７）。受信した印刷完了通知データが複数の場合は、サーバー制御部２０は、対応する複数のレコードを特定する。
次いで、サーバー制御部２０は、特定した１又は複数のレコードの印刷状態情報フィールドＦ３に格納された印刷未完了情報ＭＪを、印刷完了情報ＫＪへと書き換える（ステップＧ８）。ステップＳＧ８の処理により、対応付けられた印刷状態情報の書き換えが行われた印刷データは、問い合わせがあった場合であっても、制御プリンターＳＰに送信されない。
【００６４】
次に、制御プリンターＳＰによる受信し、印刷キューＱに格納された印刷データの処理について説明する。
印刷キューＱに格納された印刷データの処理は、非同期処理を実行する場合であっても、同期処理を実行する場合であっても、同じである。すなわち、実行する処理が非同期処理であるか同期処理であるかにかかわらず、以下で説明する方法によって印刷データが処理される。
上述したように、第１出力用処理部ＳＳ１、第２出力用処理部ＳＳ２、及び、第３出力用処理部ＳＳ３を区別しない場合、「送信処理部Ｓ」と表現する。また、第１出力用処理部ＳＳ１、第２出力用処理部ＳＳ２、第３出力用処理部ＳＳ３、及び、印刷出力用処理部ＳＳ４を区別しない場合、「出力用処理部ＳＳ」と表現する。
上述したように、管理部ＫＢは、所定の条件が成立した場合に、第１出力用処理部ＳＳ１、第２出力用処理部ＳＳ２、第３出力用処理部ＳＳ３、又は、印刷出力用処理部ＳＳ４を起動する。そして、送信処理部Ｓ（第１出力用処理部ＳＳ１、第２出力用処理部ＳＳ２、及び、第３出力用処理部ＳＳ３）が実行する処理と、印刷出力用処理部ＳＳ４が実行する処理とは、異なっている。
以下、図１２を用いて、第１出力用処理部ＳＳ１の処理を説明し、次いで、図１３を用いて、印刷出力用処理部ＳＳ４の処理を説明する。
【００６５】
図１２（Ａ）は管理部ＫＢの動作を示すフローチャートであり、図１２（Ｂ）は第１出力用処理部ＳＳ１の動作を示すフローチャートであり、図１２（Ｃ）は第１プリンターＫＰ１の動作を示すフローチャートである。
図１２（Ａ）に示すように、管理部ＫＢは、印刷データの印刷キューＱへの書き込みが行われたか否かを監視する（ステップＳＨ１）。印刷データの書き込みが行われたとは、印刷キューＱへの書き込みが開始された後、一連の印刷データの書き込みが完了したことをいい、複数の印刷データの書き込みが行われる場合は、複数の印刷データの書き込みが完了したことをいう。
印刷キューＱへの印刷データの書き込みが行われた場合（ステップＳＨ１：ＹＥＳ）、管理部ＫＢは、印刷データの内容を参照し、印刷データに含まれるプリンターの識別情報を取得する（ステップＳＨ２）。複数の印刷データが書き込まれた場合は、管理部ＫＢは、複数の印刷データに含まれるプリンターの識別情報を取得する。
次いで、管理部ＫＢは、取得したプリンターの識別情報に対応する出力用処理部ＳＳ（送信処理部Ｓ、又は、印刷出力用処理部ＳＳ４）が起動しているか否かを判別する（ステップＳＨ３）。ステップＳＨ２で取得したプリンターの識別情報が複数ある場合、管理部ＫＢは、複数のプリンターの識別情報のそれぞれについて、対応する出力用処理部ＳＳが起動しているか否かを判別する。
【００６６】
ここで、第１プリンターＫＰ１の識別情報に対応する出力用処理部ＳＳは、第１出力用処理部ＳＳ１である。第２プリンターＫＰ２の識別情報に対応する出力用処理部ＳＳは、第２出力用処理部ＳＳ２である。第３プリンターＫＰ３の識別情報に対応する出力用処理部ＳＳは、第３出力用処理部ＳＳ３である。また、制御プリンターＳＰの識別情報に対応する出力用処理部ＳＳは、印刷出力用処理部ＳＳ４である。
ステップＳＨ２で取得したプリンターの識別情報に対応する出力用処理部ＳＳが起動している場合（ステップＳＨ３：ＹＥＳ）、管理部ＫＢは、処理手順をステップＳＨ１に戻す。この場合、後に明らかとなるとおり、既に起動している出力用処理部ＳＳによって、印刷キューＱに書き込まれた印刷データが処理される。
ステップＳＨ２で取得したプリンターの識別情報に対応する出力用処理部ＳＳについて、起動していないものが１つでもある場合（ステップＳＨ３：ＮＯ）、管理部ＫＢは、起動していない出力用処理部ＳＳの識別情報に対応する出力用処理部ＳＳを起動する（ステップＳＨ４）。例えば、取得したプリンターの識別情報が、第１プリンターＫＰ１の識別情報であり、第１出力用処理部ＳＳ１が起動していない場合、管理部ＫＢは、第１出力用タスクを起動することにより、第１出力用処理部ＳＳ１を起動する。
以下の図１２を用いた説明では、ステップＳＨ４で管理部ＫＢが第１出力用処理部ＳＳ１を起動したものとして、第１出力用処理部ＳＳ１の処理について説明する。第２出力用処理部ＳＳ２、及び、第３出力用処理部ＳＳ３の処理についての詳細な説明は省略するが、これら出力用処理部ＳＳは、起動後、以下で説明する処理と同様の処理を実行する。
【００６７】
図１２（Ｂ）に示すように、第１出力用処理部ＳＳ１は、印刷キューＱに格納された印刷データであって、読み出しが行われていない印刷データのうち、時間的に最も早く書き込まれた印刷データの内容を参照し、印刷データに含まれるプリンターの識別情報を取得する（ステップＳＩ１）。
次いで、第１出力用処理部ＳＳ１は、取得したプリンターの識別情報と、第１プリンターＫＰ１の識別情報（対応する識別情報）とが一致するか否かを判別する（ステップＳＩ２）。なお、第２出力用処理部ＳＳ２は、取得したプリンターの識別情報が第２プリンターＫＰ２の識別情報と一致するか否かを判別する。また、第３出力用処理部ＳＳ３は、ステップＳＩ２に対応する処理において、取得したプリンターの識別情報が第３プリンターＫＰ３の識別情報と一致するか否かを判別する。
一致しない場合（ステップＳＩ２：ＮＯ）、第１出力用処理部ＳＳ１は、印刷キューＱに、読み出しが行われていない印刷データであって、ステップＳＩ１の識別情報の取得、及び、ステップＳＩ２の比較を行っていない印刷データがあるか否かを判別する（ステップＳＩ３）。
印刷データがある場合（ステップＳＩ３：ＹＥＳ）、第１出力用処理部ＳＳ１は、読み出しが行われていない印刷データのうち、前回、識別情報の取得、及び、比較を行った印刷データの次に格納されている印刷データの識別情報を取得し（ステップＳＩ４）、処理手順をステップＳＩ２へ移行する。
印刷データがない場合（ステップＳＩ３：ＮＯ）、第１出力用処理部ＳＳ１は、第１出力用タスクを停止することにより、停止する（ステップＳＩ５）。
【００６８】
一方、ステップＳＩ２で、取得したプリンターの識別情報と、第１プリンターＫＰ１の識別情報とが一致する場合（ステップＳＩ２：ＹＥＳ）、第１出力用処理部ＳＳ１は、プリンターの識別情報を取得した印刷データを、印刷キューＱから読み出す（ステップＳＩ６）。
次いで、第１出力用処理部ＳＳ１は、ローカルエリアネットワーク通信部４４を制御して、読み出した印刷データを、第１プリンターＫＰ１に送信（出力）する（ステップＳＩ７）。第１出力用処理部ＳＳ１は、第１プリンターＫＰ１のＩＰアドレスや、マックアドレス等の第１プリンターＫＰ１にデータを送信するために必要な情報を、事前に取得し、管理する。
【００６９】
図１２（Ｃ）に示すように、第１プリンターＫＰ１の第１制御部５０１は、第１通信部５１１を制御して、印刷データを受信する（ステップＳＪ１）。
次いで、第１制御部５０１は、受信した印刷データを、第１印刷部５２１のコマンド体系に従った制御コマンドに変換し、制御コマンドに基づいて、第１印刷部５２１に制御コマンドに基づく処理を実行させる（ステップＳＪ２）。印刷データは、レシート印刷データであるため、ステップＳＪ２の処理の結果、第１プリンターＫＰ１によりレシートが発行される。
次いで、第１制御部５０１は、印刷データの処理結果を示すデータ（以下、「処理結果通知データ」という。）を生成し、第１通信部５１１を制御して、制御プリンターＳＰに送信する（ステップＳＪ３）。
【００７０】
図１２（Ｂ）に示すように、制御プリンターＳＰの第１出力用処理部ＳＳ１は、印刷データの送信後、処理結果通知データを受信したか否かを監視する（ステップＳＩ８）。
処理結果通知データを受信した場合（ステップＳＩ８：ＹＥＳ）、第１出力用処理部ＳＳ１は、割り込み等の手段により、処理結果を示す情報を管理部ＫＢに出力する（ステップＳＩ９）。処理結果を示す情報には、処理が行われた印刷データの印刷データ識別情報が含まれている。管理部ＫＢによる処理結果を示す情報の利用方法については、後述する。
次いで、第１出力用処理部ＳＳ１は、処理手順をステップＳＩ３へ移行する。
【００７１】
以上のように、第１出力用処理部ＳＳ１は、第１プリンターＫＰ１に対して、印刷データを送信する機能を有する機能ブロックである。第１出力用処理部ＳＳ１は、第１プリンターＫＰ１の識別情報を含む印刷データの印刷キューＱへの格納をトリガーとして起動される。第１出力用処理部ＳＳ１は、起動後、印刷キューＱに格納されている印刷データのうち、読み出されていない印刷データについて、格納された順番に、換言すれば、受信した順番に、印刷データに含まれる識別情報が第１プリンターＫＰ１の識別情報と一致するか否かを判別する。そして、第１出力用処理部ＳＳ１は、識別情報が一致する場合、識別情報が一致する印刷データを読み出して、第１プリンターＫＰ１に送信する。
このような構成のため、第１出力用処理部ＳＳ１は、第１プリンターＫＰ１の処理対象の印刷データについて、印刷キューＱに格納された順番に、換言すれば、受信した順番に送信することができる。例えば、第１プリンターＫＰ１に対応して印刷データを送信する機能を有する複数の処理部を起動し、複数の処理部が独立して、印刷データの読み出し、送信を実行する構成とした場合、印刷データを受信した順番に、印刷データの送信が行われないという事態が発生し得る。一方、本実施形態によれば、当該事態の発生を防止できる。
また、第１出力用処理部ＳＳ１は、印刷キューＱに、第１プリンターＫＰ１の処理対象の印刷データであって、読み出されていない印刷データが無くなった場合、停止する。つまり、第１出力用処理部ＳＳ１は、処理を行う必要がなくなった場合、停止する。この構成のため、第１出力用処理部ＳＳ１が不必要に起動された状態が維持されることを抑制でき、ＣＰＵ等のハードウェア資源、その他の資源の有効活用を実現できる。
以上のことは、第２出力用処理部ＳＳ２、及び、第３出力用処理部ＳＳ３についても同様である。
【００７２】
次に、管理部ＫＢが印刷出力用処理部ＳＳ４を起動した後の印刷出力用処理部ＳＳ４、及び、印刷制御部４０ｃの動作について説明する。
図１３（Ａ）は印刷出力用処理部ＳＳ４の動作を示すフローチャートであり、（Ｂ）は印刷制御部４０ｃの動作を示すフローチャートである。
管理部ＫＢは、制御プリンターＳＰの識別情報が含まれた印刷データが印刷キューＱに格納された場合であって、印刷出力用処理部ＳＳ４が起動していない場合、印刷出力用タスクを起動することにより、印刷出力用処理部ＳＳ４を起動する（ステップＳＸ１）。
図１３（Ａ）に示すように、印刷出力用処理部ＳＳ４は、印刷キューＱに格納された印刷データであって、読み出しが行われていない印刷データのうち、時間的に最も早く書き込まれた印刷データの内容を参照し、印刷データに含まれるプリンターの識別情報を取得する（ステップＳＫ１）。
印刷出力用処理部ＳＳ４は、取得したプリンターの識別情報と、制御プリンターＳＰの識別情報（対応する識別情報）とが一致するか否かを判別する（ステップＳＫ２）。
一致しない場合（ステップＳＫ２：ＮＯ）、印刷出力用処理部ＳＳ４は、印刷キューＱに、読み出しが行われていない印刷データであって、ステップＳＫ２の識別情報の取得、及び、比較を行っていない印刷データがあるか否かを判別する（ステップＳＫ３）。
印刷データがある場合（ステップＳＫ３：ＹＥＳ）、印刷出力用処理部ＳＳ４は、読み出しが行われていない印刷データのうち、前回、識別情報の取得、及び、比較を行った印刷データの次に格納されている印刷データを読み出し（ステップＳＫ４）、処理手順をステップＳＫ２へ移行する。
印刷データがない場合（ステップＳＫ３：ＮＯ）、印刷出力用処理部ＳＳ４は、印刷出力用タスクを停止することにより、停止する（ステップＳＫ５）。
【００７３】
一方、ステップＳＫ２で、取得したプリンターの識別情報と、制御プリンターＳＰの識別情報とが一致する場合（ステップＳＫ２：ＹＥＳ）、印刷出力用処理部ＳＳ４は、プリンターの識別情報を取得した印刷データを、印刷キューＱから読み出す（ステップＳＫ６）。
次いで、印刷出力用処理部ＳＳ４は、読み出した印刷データを、印刷制御部４０ｃに出力する（ステップＳＫ７）。
【００７４】
図１３（Ｂ）に示すように、印刷制御部４０ｃは、印刷データを、制御プリンター印刷部４１のコマンド体系に従った制御コマンドに変換し、制御コマンドに基づいて、制御プリンター印刷部４１に制御コマンドに基づく処理を実行させる（ステップＳＬ１）。印刷データは、レシート印刷データであるため、ステップＳＬ１の処理の結果、制御プリンターＳＰによりレシートが発行される。
次いで、印刷制御部４０ｃは、印刷データの処理結果を示す情報を印刷出力用処理部ＳＳ４に出力する（ステップＳＬ２）。
【００７５】
図１３（Ａ）に示すように、印刷出力用処理部ＳＳ４は、印刷データの出力後、処理結果を示す情報が入力されたか否かを監視する（ステップＳＫ８）。
処理結果を示す情報が入力された場合（ステップＳＫ８：ＹＥＳ）、印刷出力用処理部ＳＳ４は、割り込み等の手段により、処理結果を示す情報を管理部ＫＢに出力する（ステップＳＫ９）。処理結果を示す情報には、処理が行われた印刷データの印刷データ識別情報が含まれている。管理部ＫＢによる処理結果を示す情報の利用方法については、後述する。
次いで、印刷出力用処理部ＳＳ４は、処理手順をステップＳＫ３へ移行する。
【００７６】
以上のように、印刷出力用処理部ＳＳ４は、制御プリンターＳＰの識別情報を含む印刷データの印刷キューＱへの格納をトリガーとして起動される。印刷出力用処理部ＳＳ４は、起動後、印刷キューＱに格納されている印刷データのうち、読み出されていない印刷データについて、格納された順番に、換言すれば、受信した順番に、印刷データに含まれる識別情報が制御プリンターＳＰの識別情報と一致するか否かを判別する。そして、印刷出力用処理部ＳＳ４は、識別情報が一致する場合、識別情報が一致する印刷データを読み出して、印刷制御部４０ｃに出力する。印刷制御部４０ｃは、印刷データに基づいて印刷する。
このような構成のため、印刷出力用処理部ＳＳ４は、制御プリンターＳＰの処理対象の印刷データについて、印刷キューＱに格納された順番に、換言すれば、受信した順番に処理することができる。また、印刷出力用処理部ＳＳ４は、印刷キューＱに、制御プリンターＳＰの処理対象の印刷データであって、読み出されていない印刷データが無くなった場合、停止する。つまり、印刷出力用処理部ＳＳ４は、処理を行う必要がなくなった場合、停止する。この構成のため、印刷出力用処理部ＳＳ４が不必要に起動された状態が維持されることを抑制でき、ＣＰＵ等のハードウェア資源、その他の資源の有効活用を実現できる。
【００７７】
次に、管理部ＫＢの別の処理について説明する。
図１４は、管理部ＫＢの動作を示すフローチャートである。
管理部ＫＢは、処理結果を示す情報が入力されたか否かを監視する（ステップＳＭ１）。上述したように、処理結果を示す情報には、処理が行われた印刷データの印刷データ識別情報が含まれている。
処理結果を示す情報が入力された場合（ステップＳＭ１）、管理部ＫＢは、印刷データ識別情報を含み、印刷データに基づく印刷が完了したことを通知する処理結果通知を生成し、割り込み等の手段により、通信処理部４０ａに出力する（ステップＳＭ２）。その後、通信処理部４０ａは、処理手順をステップＳＭ１へ戻す。
【００７８】
以上説明したように、本実施形態にかかる印刷データ処理システム１は、印刷データ配信サーバーＳＶ（印刷データ配信装置）と、印刷データ配信サーバーＳＶから印刷データを受信する通信処理部４０ａを有する制御プリンターＳＰ（情報処理装置）と、を備える。
制御プリンターＳＰの通信処理部４０ａは、印刷データに基づく印刷が完了しているか否かにかかわらず、間隔をあけて印刷データ配信サーバーＳＶに印刷データの有無を問い合わせ、印刷データ配信サーバーＳＶに印刷データが存在する場合は受信する非同期処理（第１処理）を実行する。
この構成によれば、制御プリンターＳＰは、受信した印刷データに基づく印刷が完了しているか否かにかかわらず、印刷データ配信サーバーＳＶに印刷データの有無を問い合わせ、印刷データがある場合は、受信する。このため、制御プリンターＳＰは、印刷データに基づく処理の状況にかかわらず、印刷データの有無を問い合わせることができ、印刷データ配信サーバーＳＶが印刷データを送信可能となった後、制御プリンターＳＰが印刷データを受信するまでに生じる時間を短くすることができる。
【００７９】
また、本実施形態では、制御プリンターＳＰの通信処理部４０ａは、受信した印刷データに基づく印刷が完了した場合、そのことを通知する印刷完了通知データ（印刷完了通知）を印刷データ配信サーバーＳＶに送信する。印刷データ配信サーバーＳＶは、印刷完了通知データを受信した場合、対応する印刷データと、印刷完了情報ＫＪ（印刷が完了したことを示す情報）とを対応付けて記憶し、また、制御プリンターＳＰから印刷データの有無の問い合わせがあった場合、印刷完了情報ＫＪと対応付けられていない印刷データを送信する。制御プリンターＳＰの通信処理部４０ａは、印刷データ配信サーバーＳＶから印刷データを受信した場合、新たに受信した印刷データと、前に受信した印刷データとを比較し、データが一致する場合、新たに受信した印刷データを破棄する。
この構成によれば、制御プリンターＳＰは、印刷データを受信した場合、新たに受信した印刷データと、前に受信した印刷データが一致する場合、新たに受信した印刷データを破棄するため、重複して受信した印刷データに基づいて、重複して処理が実行されることを防止できる。
【００８０】
また、本実施形態では、制御プリンターＳＰの通信処理部４０ａは、印刷データを破棄する頻度に応じて、印刷データの有無を問い合わせる間隔を変化させることを特徴とする。
この構成によれば、印刷データに基づく印刷に要する時間と比して、印刷データを問い合わせる間隔が短く、印刷データが頻繁に破棄される状態となっている場合に、間隔を調整して、当該状態を解消できる。
【００８１】
また、本実施形態では、制御プリンターＳＰの通信処理部４０ａは、受信した印刷データを印刷キューＱ（所定の記憶領域）に格納し、印刷キューＱの状態に応じて印刷データの有無を問い合わせる間隔を変化させる。
この構成によれば、印刷キューＱの空き領域の状態等、印刷キューＱの状態に応じて、印刷データを問い合わせる時間を調整でき、オーバーフローの発生等を抑制できる。
【００８２】
また、本実施形態では、制御プリンターＳＰの通信処理部４０ａは、印刷データを受信した後、受信データに基づく印刷が完了するまでの間は、印刷データの有無の問い合わせを行わず、印刷が完了した後に問い合わせを行う同期処理（第２処理）を実行可能である。制御プリンターＳＰに非同期処理、及び、同期処理のいずれを実行させるかは、設定ＵＩによって設定できる。
この構成によれば、印刷データ処理システム１の仕様等に応じて、非同期処理と、同期処理とを切り替えることができる。
【００８３】
また、本実施形態に係る印刷データ処理システム１は、制御プリンターＳＰと通信するプリンターＫＰを備える。制御プリンターＳＰは、受信した印刷データをプリンターＫＰに送信する出力部４０ｂを有する。制御プリンターＳＰの通信処理部４０ａは、受信した印刷データに基づくプリンターＫＰによる印刷が完了しているか否かにかかわらず、間隔をあけて印刷データ配信サーバーＳＶに印刷データの有無を問い合わせる。
この構成によれば、制御プリンターＳＰは、接続されたプリンターＫＰによる処理の状況にかかわらず、印刷データ配信サーバーＳＶに印刷データの有無を問い合わせるため、印刷データ配信サーバーＳＶが印刷データを送信可能となった後、制御プリンターＳＰが印刷データを受信するまでに生じる時間を短くすることができる。
【００８４】
また、本実施形態では、制御プリンターＳＰの通信処理部４０ａは、受信した印刷データに基づく制御プリンター印刷部４１による印刷が完了しているか否かにかかわらず、間隔をあけて印刷データ配信サーバーＳＶに印刷データの有無を問い合わせる。
この構成によれば、制御プリンターＳＰは、制御プリンター印刷部４１による処理の状況にかかわらず、印刷データ配信サーバーＳＶに印刷データの有無を問い合わせるため、印刷データ配信サーバーＳＶが印刷データを送信可能となった後、制御プリンターＳＰが印刷データを受信するまでに生じる時間を短くすることができる。
【００８５】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、非同期処理を実行する場合において、印刷データ配信サーバーＳＶから重複して印刷データを受信したか否かを判別するために、通信処理部４０ａは、既に受信した印刷データの印刷データ識別情報と、新たに受信した印刷データの印刷データ識別情報とを比較していた。これに限らず、通信処理部４０ａは、例えば、過去に受信した印刷データを記憶し、過去に受信した印刷データと、新たに受信した印刷データとの全部、又は、一部を比較してもよく、また、ハッシュ値等を算出し、ハッシュ値等を比較してもよい。
上述した実施形態では、印刷データ処理システム１が、飲食物を提供する店舗に用いられた場合を例にしたが、他の施設に設けられてもよい。
また、図３、４、５に示す各機能ブロックはハードウェアとソフトウェアにより任意に実現可能であり、特定のハードウェア構成を示唆するものではない。
【符号の説明】
【００８６】
１…印刷データ処理システム、４０ａ…通信処理部、４０ｂ…出力部、４１…制御プリンター印刷部、ＳＰ…制御プリンター（情報処理装置、印刷装置）、ＳＶ…印刷データ配信サーバー（印刷データ配信装置）、Ｑ…印刷キュー（記憶領域）、ＫＰ１…第１プリンター（印刷機器）、ＫＰ２…第２プリンター（印刷機器）、ＫＰ３…第３プリンター（印刷機器）。
【図１】
2016004513.tif 000003
【図２】
2016004513.tif 000004
【図３】
2016004513.tif 000005
【図４】
2016004513.tif 000006
【図５】
2016004513.tif 000007
【図６】
2016004513.tif 000008
【図７】
2016004513.tif 000009
【図８】
2016004513.tif 000010
【図９】
2016004513.tif 000011
【図１０】
2016004513.tif 000012
【図１１】
2016004513.tif 000013
【図１２】
2016004513.tif 000014
【図１３】
2016004513.tif 000015
【図１４】
2016004513.tif 000016