IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ブラザー工業株式会社の特許一覧

特開2022-47480印刷実行部に印刷を実行させるための制御装置とそのためのコンピュータプログラム
<>
  • 特開-印刷実行部に印刷を実行させるための制御装置とそのためのコンピュータプログラム 図1
  • 特開-印刷実行部に印刷を実行させるための制御装置とそのためのコンピュータプログラム 図2
  • 特開-印刷実行部に印刷を実行させるための制御装置とそのためのコンピュータプログラム 図3
  • 特開-印刷実行部に印刷を実行させるための制御装置とそのためのコンピュータプログラム 図4
  • 特開-印刷実行部に印刷を実行させるための制御装置とそのためのコンピュータプログラム 図5
  • 特開-印刷実行部に印刷を実行させるための制御装置とそのためのコンピュータプログラム 図6
  • 特開-印刷実行部に印刷を実行させるための制御装置とそのためのコンピュータプログラム 図7
  • 特開-印刷実行部に印刷を実行させるための制御装置とそのためのコンピュータプログラム 図8
  • 特開-印刷実行部に印刷を実行させるための制御装置とそのためのコンピュータプログラム 図9
  • 特開-印刷実行部に印刷を実行させるための制御装置とそのためのコンピュータプログラム 図10
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022047480
(43)【公開日】2022-03-24
(54)【発明の名称】印刷実行部に印刷を実行させるための制御装置とそのためのコンピュータプログラム
(51)【国際特許分類】
   G06F 3/12 20060101AFI20220316BHJP
   H04N 1/00 20060101ALI20220316BHJP
【FI】
G06F3/12 367
G06F3/12 320
G06F3/12 348
G06F3/12 326
G06F3/12 374
G06F3/12 344
G06F3/12 387
H04N1/00 127A
H04N1/00 912
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2021067001
(22)【出願日】2021-04-12
(31)【優先権主張番号】P 2020153115
(32)【優先日】2020-09-11
(33)【優先権主張国・地域又は機関】JP
(71)【出願人】
【識別番号】000005267
【氏名又は名称】ブラザー工業株式会社
(74)【代理人】
【識別番号】110000110
【氏名又は名称】特許業務法人快友国際特許事務所
(72)【発明者】
【氏名】齋藤 健
【テーマコード(参考)】
5C062
【Fターム(参考)】
5C062AA02
5C062AA05
5C062AA13
5C062AA29
5C062AB22
5C062AB38
5C062AB42
5C062AC04
5C062AC22
5C062AC34
5C062AE03
5C062AE07
5C062AE15
5C062AF00
5C062AF06
(57)【要約】
【課題】印刷データをキャッシュするためのメモリ容量を少なくすること。
【解決手段】制御装置は、第1種の印刷機能に従って第1の画像の印刷を実行すべきか、第2種の印刷機能に従って第1の画像の印刷を実行すべきか、を判断し、第1種の印刷機能と判断する場合に、第1の画像データを変換して第1の印刷データを生成し、第1の印刷データを印刷実行部に供給する。制御装置は、第2種の印刷機能と判断する場合に、第2の印刷データがメモリにキャッシュされているのか否かを判断し、キャッシュされていないと判断する場合に、第1の画像データを変換して第2の印刷データを生成し、第2の印刷データを印刷実行部に供給し、第2の印刷データをメモリに記憶し、キャッシュされていると判断する場合に、第1の画像データを変換することなく、メモリ内の第2の印刷データを印刷実行部に供給する。
【選択図】図3
【特許請求の範囲】
【請求項1】
印刷実行部に印刷を実行させるための制御装置であって、
メモリと、
外部装置から、印刷対象の第1の画像を表わす第1の画像データを受信する第1の画像データ受信部と、
前記外部装置から、前記制御装置がサポートしている複数個の印刷機能のうちのいずれの印刷機能に従って印刷を実行すべきかを特定するための特定情報を受信する特定情報受信部であって、前記複数個の印刷機能のそれぞれは、印刷データを前記メモリにキャッシュさせない第1種の印刷機能と、印刷データを前記メモリにキャッシュさせる第2種の印刷機能と、のどちらかに予め分類されている、前記特定情報受信部と、
受信済みの前記特定情報を利用して、前記第1種の印刷機能に従って前記第1の画像の印刷を実行すべきか、前記第2種の印刷機能に従って前記第1の画像の印刷を実行すべきか、を判断する機能判断部と、
前記第1種の印刷機能に従って前記第1の画像の印刷を実行すべきと判断される場合に、第1の制御処理を実行する第1の制御処理実行部と、
前記第2種の印刷機能に従って前記第1の画像の印刷を実行すべきと判断される場合に、前記第1の制御処理とは異なる第2の制御処理を実行する第2の制御処理実行部と、を備え、
前記第1の制御処理実行部は、
受信済みの前記第1の画像データを変換して、前記印刷実行部が解釈可能なデータ形式を有する第1の印刷データを生成する第1の印刷データ生成部と、
生成済みの前記第1の印刷データを前記印刷実行部に供給する第1の供給部と、を備え、
前記第2の制御処理実行部は、
受信済みの前記第1の画像データを利用して、第2の印刷データが前記メモリにキャッシュされているのか否かを判断するキャッシュ判断部であって、前記第2の印刷データは、受信済みの前記第1の画像データを変換することによって得られる印刷データであって、前記印刷実行部が解釈可能なデータ形式を有する前記印刷データである、前記キャッシュ判断部と、
前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、受信済みの前記第1の画像データを変換して、前記第2の印刷データを生成する第2の印刷データ生成部と、
前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、生成済みの前記第2の印刷データを前記印刷実行部に供給する第2の供給部と、
前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、生成済みの前記第2の印刷データを前記メモリに記憶させる記憶制御部と、
前記第2の印刷データが前記メモリにキャッシュされていると判断される場合に、受信済みの前記第1の画像データを変換することなく、前記メモリ内の前記第2の印刷データを前記印刷実行部に供給する第3の供給部と、を備える、
制御装置。
【請求項2】
前記第2の制御処理実行部は、さらに、
受信済みの前記第1の画像データをダイジェスト化して、ダイジェスト値を生成するダイジェスト値生成部を備え、
前記キャッシュ判断部は、生成済みの前記ダイジェスト値が前記メモリに記憶されているのか否かを判断することによって、前記第2の印刷データが前記メモリにキャッシュされているのか否かを判断し、
前記記憶制御部は、前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、生成済みの前記第2の印刷データと生成済みの前記ダイジェスト値とを対応付けて前記メモリに記憶させる、請求項1に記載の制御装置。
【請求項3】
前記制御装置は、前記印刷実行部であるプリンタとは別体に構成されているサーバである、請求項1又は2に記載の制御装置。
【請求項4】
前記メモリは、2個以上の前記特定情報のそれぞれについて、当該特定情報と、前記複数個の印刷機能のうちの1個の印刷機能を示す機能情報と、を対応付けて記憶し、
前記機能判断部は、
前記メモリから、受信済みの前記特定情報に対応付けられている前記機能情報を特定し、
特定済みの前記機能情報によって示される印刷機能が前記第1種の印刷機能であるのか前記第2種の印刷機能であるのかを判断することによって、前記第1種の印刷機能に従って前記第1の画像を印刷すべきか、前記第2種の印刷機能に従って前記第1の画像を印刷すべきか、を判断する、請求項3に記載の制御装置。
【請求項5】
前記特定情報は、アクセストークンを含む、請求項4に記載の制御装置。
【請求項6】
前記メモリは、複数個のプリンタのそれぞれについて、当該プリンタが解釈可能なデータ形式を示す形式情報を記憶し、
前記第1の印刷データ生成部は、
受信済みの前記特定情報を利用して、前記メモリから、前記第1の画像を印刷すべき第1のプリンタが解釈可能な第1のデータ形式を示す第1の形式情報を特定し、
受信済みの前記第1の画像データを変換して、特定済みの前記第1の形式情報によって示される前記第1のデータ形式を有する前記第1の印刷データを生成し、
前記第1の供給部は、生成済みの前記第1の印刷データを前記第1のプリンタに送信し、
前記第2の印刷データ生成部は、
前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、受信済みの前記特定情報を利用して、前記メモリから、前記第1の画像を印刷すべき第2のプリンタが解釈可能な第2のデータ形式を示す第2の形式情報を特定し、
受信済みの前記第1の画像データを変換して、特定済みの前記第2の形式情報によって示される前記第2のデータ形式を有する前記第2の印刷データを生成し、
前記第2の供給部は、前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、生成済みの前記第2の印刷データを前記第2のプリンタに送信し、
前記第3の供給部は、前記第2の印刷データが前記メモリにキャッシュされていると判断される場合に、受信済みの前記第1の画像データを変換することなく、前記メモリ内の前記第2の印刷データを前記第2のプリンタに送信する、請求項4又は5に記載の制御装置。
【請求項7】
前記第2種の印刷機能は、複数回に亘って印刷されることを前提とした特定画像を印刷するための機能である、請求項1から6のいずれか一項に記載の制御装置。
【請求項8】
前記特定画像は、教育コンテンツを含む、請求項7に記載の制御装置。
【請求項9】
前記第2種の印刷機能は、第1の印刷機能と、前記第1の印刷機能とは異なる第2の印刷機能と、を含み、
前記記憶制御部は、
前記第2種の印刷機能である前記第1の印刷機能に従って前記第1の画像の印刷を実行すべきと判断され、かつ、前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、前記第2の印刷データと、前記第2の印刷データを前記メモリにキャッシュしておく第1の期間を示す第1の期間情報と、を対応付けて前記メモリに記憶させ、
前記第2種の印刷機能である前記第2の印刷機能に従って前記第1の画像の印刷を実行すべきと判断され、かつ、前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、前記第2の印刷データと、前記第2の印刷データを前記メモリにキャッシュしておく第2の期間を示す第2の期間情報と、を対応付けて前記メモリに記憶させ、
前記第2の期間は、前記第1の期間よりも長い、請求項1から8のいずれか一項に記載の制御装置。
【請求項10】
前記記憶制御部は、前記第2種の印刷機能に従って前記第1の画像の印刷を実行すべきと判断され、かつ、前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、前記第2の印刷データと、前記第2の印刷データを前記メモリにキャッシュしておく期間を示す期間情報と、を対応付けて前記メモリに記憶させ、
前記第2の制御処理実行部は、さらに、
前記第2の印刷データが前記メモリにキャッシュされていると判断される場合に、前記第2の印刷データに対応付けられている前記期間情報によって示される期間を延長する延長部を備える、請求項1から9のいずれか一項に記載の制御装置。
【請求項11】
前記記憶制御部は、
前記第2種の印刷機能に従って前記第1の画像の印刷を実行すべきと判断され、かつ、前記第2の印刷データが前記メモリにキャッシュされていないと判断され、かつ、前記第1の画像が第1のコンテンツを含む場合に、前記第2の印刷データと、前記第2の印刷データを前記メモリにキャッシュしておく第3の期間を示す第3の期間情報と、を対応付けて前記メモリに記憶させ、
前記第2種の印刷機能に従って前記第1の画像の印刷を実行すべきと判断され、かつ、前記第2の印刷データが前記メモリにキャッシュされていないと判断され、かつ、前記第1の画像が前記第1のコンテンツとは異なる第2のコンテンツを含む場合に、前記第2の印刷データと、前記第2の印刷データを前記メモリにキャッシュしておく第4の期間を示す第4の期間情報と、を対応付けて前記メモリに記憶させ、
前記第4の期間は、前記第3の期間よりも長い、請求項1から10のいずれか一項に記載の制御装置。
【請求項12】
前記記憶制御部は、
前記第2種の印刷機能に従って前記第1の画像の印刷を実行すべきと判断され、かつ、前記第2の印刷データが前記メモリにキャッシュされていないと判断され、かつ、前記第1の画像データを特定する日付が所定期間内である場合に、前記第2の印刷データと、前記第2の印刷データを前記メモリにキャッシュしておく第5の期間を示す第5の期間情報と、を対応付けて前記メモリに記憶させ、
前記第2種の印刷機能に従って前記第1の画像の印刷を実行すべきと判断され、かつ、前記第2の印刷データが前記メモリにキャッシュされていないと判断され、かつ、前記第1の画像データを特定する日付が前記所定期間内でない場合に、前記第2の印刷データと、前記第2の印刷データを前記メモリにキャッシュしておく第6の期間を示す第6の期間情報と、を対応付けて前記メモリに記憶させ、
前記第2の期間は、前記第1の期間よりも長い、請求項1から11のいずれか一項に記載の制御装置。
【請求項13】
前記第1の画像データ受信部は、第1の通信方式に従って、前記外部装置から前記第1の画像データを受信し、
前記機能判断部は、前記第1の通信方式に従って前記外部装置から前記第1の画像データが受信される場合に、受信済みの前記特定情報を利用して、前記第1種の印刷機能に従って前記第1の画像の印刷を実行すべきか、前記第2種の印刷機能に従って前記第1の画像の印刷を実行すべきか、を判断し、
前記制御装置は、さらに、
前記第1の通信方式とは異なる第2の通信方式に従って、前記外部装置から、印刷対象の第2の画像を表わす第2の画像データを受信する第2の画像データ受信部を備え、
前記第1の制御処理実行部は、さらに、前記第2の通信方式に従って前記外部装置から前記第2の画像データが受信される場合に、前記第1の制御処理を実行し、
前記第1の制御処理実行部は、さらに、
受信済みの前記第2の画像データを変換して、前記印刷実行部が解釈可能なデータ形式を有する第3の印刷データを生成する第3の印刷データ生成部と、
生成済みの前記第3の印刷データを前記印刷実行部に供給する第4の供給部と、を備える、請求項1から12のいずれか一項に記載の制御装置。
【請求項14】
印刷実行部に印刷を実行させるための制御装置であって、
メモリと、
外部装置から、印刷対象の第1の画像を表わす第1の画像データを受信する第1の画像データ受信部と、
前記第1の画像データが、第1の通信方式に従って受信されたのか、前記第1の通信方式とは異なる第2の通信方式に従って受信されたのか、を判断する方式判断部と、
前記第1の画像データが前記第2の通信方式に従って受信されたと判断される場合に、第1の制御処理を実行する第1の制御処理実行部と、
前記第1の画像データが前記第1の通信方式に従って受信されたと判断される場合に、前記第1の制御処理とは異なる第2の制御処理を実行する第2の制御処理実行部と、を備え、
前記第1の制御処理実行部は、
受信済みの前記第1の画像データを変換して、前記印刷実行部が解釈可能なデータ形式を有する第1の印刷データを生成する第1の印刷データ生成部と、
生成済みの前記第1の印刷データを前記印刷実行部に供給する第1の供給部と、を備え、
前記第2の制御処理実行部は、
受信済みの前記第1の画像データを利用して、第2の印刷データが前記メモリにキャッシュされているのか否かを判断するキャッシュ判断部であって、前記第2の印刷データは、受信済みの前記第1の画像データを変換することによって得られる印刷データであって、前記印刷実行部が解釈可能なデータ形式を有する前記印刷データである、前記キャッシュ判断部と、
前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、受信済みの前記第1の画像データを変換して、前記第2の印刷データを生成する第2の印刷データ生成部と、
前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、生成済みの前記第2の印刷データを前記印刷実行部に供給する第2の供給部と、
前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、生成済みの前記第2の印刷データを前記メモリに記憶させる記憶制御部と、
前記第2の印刷データが前記メモリにキャッシュされていると判断される場合に、受信済みの前記第1の画像データを変換することなく、前記メモリ内の前記第2の印刷データを前記印刷実行部に供給する第3の供給部と、を備える、
制御装置。
【請求項15】
前記制御装置は、前記印刷実行部であるプリンタとは別体に構成されているサーバであり、
前記メモリは、複数個のプリンタのそれぞれについて、当該プリンタが解釈可能なデータ形式を示す形式情報を記憶し、
前記第1の印刷データ生成部は、
前記第1の画像データと共に受信される第1の情報を利用して、前記メモリから、前記第1の画像を印刷すべき第1のプリンタが解釈可能な第1のデータ形式を示す第1の形式情報を特定し、
受信済みの前記第1の画像データを変換して、特定済みの前記第1の形式情報によって示される前記第1のデータ形式を有する前記第1の印刷データを生成し、
前記第1の供給部は、生成済みの前記第1の印刷データを前記第1のプリンタに送信し、
前記第2の印刷データ生成部は、
前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、前記第1の画像データと共に受信される第2の情報を利用して、前記メモリから、前記第1の画像を印刷すべき第2のプリンタが解釈可能な第2のデータ形式を示す第2の形式情報を特定し、
受信済みの前記第1の画像データを変換して、特定済みの前記第2の形式情報によって示される前記第2のデータ形式を有する前記第2の印刷データを生成し、
前記第2の供給部は、前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、生成済みの前記第2の印刷データを前記第2のプリンタに送信し、
前記第3の供給部は、前記第2の印刷データが前記メモリにキャッシュされていると判断される場合に、受信済みの前記第1の画像データを変換することなく、前記メモリ内の前記第2の印刷データを前記第2のプリンタに送信する、請求項14に記載の制御装置。
【請求項16】
前記第1の通信方式は、HTTP(Hyper Text Transfer Protocol)に従った通信を実行するための通信方式であり、
前記第2の通信方式は、電子メールを通信するための通信方式である、請求項13から15のいずれか一項に記載の制御装置。
【請求項17】
前記第1の画像データ受信部は、さらに、前記外部装置から、前記第1の画像データと、前記第1の画像データに関連する関連データと、を受信し、
前記キャッシュ判断部は、受信済みの前記第1の画像データと受信済みの前記関連データとを利用して、前記第2の印刷データが前記メモリにキャッシュされているのか否かを判断する、請求項1から16のいずれか一項に記載の制御装置。
【請求項18】
前記関連データは、前記第1の画像の印刷に利用されるべき印刷設定と、前記第1の画像データのファイル名と、を含む、請求項17に記載の制御装置。
【請求項19】
印刷実行部に印刷を実行させるための制御装置のためのコンピュータプログラムであって、
前記制御装置のコンピュータを、以下の各部、即ち、
外部装置から、印刷対象の第1の画像を表わす第1の画像データを受信する第1の画像データ受信部と、
前記外部装置から、前記制御装置がサポートしている複数個の印刷機能のうちのいずれの印刷機能に従って印刷を実行すべきかを特定するための特定情報を受信する特定情報受信部であって、前記複数個の印刷機能のそれぞれは、印刷データをメモリにキャッシュさせない第1種の印刷機能と、印刷データを前記メモリにキャッシュさせる第2種の印刷機能と、のどちらかに予め分類されている、前記特定情報受信部と、
受信済みの前記特定情報を利用して、前記第1種の印刷機能に従って前記第1の画像の印刷を実行すべきか、前記第2種の印刷機能に従って前記第1の画像の印刷を実行すべきか、を判断する機能判断部と、
前記第1種の印刷機能に従って前記第1の画像の印刷を実行すべきと判断される場合に、第1の制御処理を実行する第1の制御処理実行部と、
前記第2種の印刷機能に従って前記第1の画像の印刷を実行すべきと判断される場合に、前記第1の制御処理とは異なる第2の制御処理を実行する第2の制御処理実行部と、として機能させ、
前記第1の制御処理実行部は、
受信済みの前記第1の画像データを変換して、前記印刷実行部が解釈可能なデータ形式を有する第1の印刷データを生成する第1の印刷データ生成部と、
生成済みの前記第1の印刷データを前記印刷実行部に供給する第1の供給部と、を備え、
前記第2の制御処理実行部は、
受信済みの前記第1の画像データを利用して、第2の印刷データが前記メモリにキャッシュされているのか否かを判断するキャッシュ判断部であって、前記第2の印刷データは、受信済みの前記第1の画像データを変換することによって得られる印刷データであって、前記印刷実行部が解釈可能なデータ形式を有する前記印刷データである、前記キャッシュ判断部と、
前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、受信済みの前記第1の画像データを変換して、前記第2の印刷データを生成する第2の印刷データ生成部と、
前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、生成済みの前記第2の印刷データを前記印刷実行部に供給する第2の供給部と、
前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、生成済みの前記第2の印刷データを前記メモリに記憶させる記憶制御部と、
前記第2の印刷データが前記メモリにキャッシュされていると判断される場合に、受信済みの前記第1の画像データを変換することなく、前記メモリ内の前記第2の印刷データを前記印刷実行部に供給する第3の供給部と、を備える、
コンピュータプログラム。
【請求項20】
印刷実行部に印刷を実行させるための制御装置のためのコンピュータプログラムであって、
前記制御装置のコンピュータを、以下の各部、即ち、
外部装置から、印刷対象の第1の画像を表わす第1の画像データを受信する第1の画像データ受信部と、
前記第1の画像データが、第1の通信方式に従って受信されたのか、前記第1の通信方式とは異なる第2の通信方式に従って受信されたのか、を判断する方式判断部と、
前記第1の画像データが前記第2の通信方式に従って受信されたと判断される場合に、第1の制御処理を実行する第1の制御処理実行部と、
前記第1の画像データが前記第1の通信方式に従って受信されたと判断される場合に、前記第1の制御処理とは異なる第2の制御処理を実行する第2の制御処理実行部と、として機能させ、
前記第1の制御処理実行部は、
受信済みの前記第1の画像データを変換して、前記印刷実行部が解釈可能なデータ形式を有する第1の印刷データを生成する第1の印刷データ生成部と、
生成済みの前記第1の印刷データを前記印刷実行部に供給する第1の供給部と、を備え、
前記第2の制御処理実行部は、
受信済みの前記第1の画像データを利用して、第2の印刷データがメモリにキャッシュされているのか否かを判断するキャッシュ判断部であって、前記第2の印刷データは、受信済みの前記第1の画像データを変換することによって得られる印刷データであって、前記印刷実行部が解釈可能なデータ形式を有する前記印刷データである、前記キャッシュ判断部と、
前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、受信済みの前記第1の画像データを変換して、前記第2の印刷データを生成する第2の印刷データ生成部と、
前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、生成済みの前記第2の印刷データを前記印刷実行部に供給する第2の供給部と、
前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、生成済みの前記第2の印刷データを前記メモリに記憶させる記憶制御部と、
前記第2の印刷データが前記メモリにキャッシュされていると判断される場合に、受信済みの前記第1の画像データを変換することなく、前記メモリ内の前記第2の印刷データを前記印刷実行部に供給する第3の供給部と、を備える、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書では、外部装置から受信される画像データによって表わされる画像の印刷を印刷実行部に実行させる制御装置を開示する。
【背景技術】
【0002】
特許文献1には、クライアントPCとプリンタコントローラとプリンタとを備えるシステムが開示されている。クライアントPCは、印刷ジョブをプリンタコントローラに送信する。プリンタコントローラは、クライアントPCから受信された印刷ジョブに対してRIP(Raster Image Processorの略)処理を実行してRIP済みデータを生成する。ここで、プリンタコントローラは、RIP済みデータが既にキャッシュされている場合には、RIP済みデータを再利用して、RIP済みデータをプリンタに送信する。プリンタは、プリンタコントローラから受信されたRIP済みデータを利用して印刷を実行する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2010-128941号公報
【特許文献2】特開2013-123878号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
全ての印刷データをメモリにキャッシュさせる構成を採用すると、多くのメモリ容量が必要になる。本明細書では、印刷実行部に印刷を実行させるための制御装置が、印刷データをキャッシュさせるのか否かを切り替えることによって、印刷データをキャッシュするためのメモリ容量を少なくするための技術を開示する。
【0005】
本明細書では、印刷実行部に印刷を実行させるための制御装置を開示する。制御装置は、メモリと、外部装置から、印刷対象の第1の画像を表わす第1の画像データを受信する第1の画像データ受信部と、前記外部装置から、前記制御装置がサポートしている複数個の印刷機能のうちのいずれの印刷機能に従って印刷を実行すべきかを特定するための特定情報を受信する特定情報受信部であって、前記複数個の印刷機能のそれぞれは、印刷データを前記メモリにキャッシュさせない第1種の印刷機能と、印刷データを前記メモリにキャッシュさせる第2種の印刷機能と、のどちらかに予め分類されている、前記特定情報受信部と、受信済みの前記特定情報を利用して、前記第1種の印刷機能に従って前記第1の画像の印刷を実行すべきか、前記第2種の印刷機能に従って前記第1の画像の印刷を実行すべきか、を判断する機能判断部と、前記第1種の印刷機能に従って前記第1の画像の印刷を実行すべきと判断される場合に、第1の制御処理を実行する第1の制御処理実行部と、前記第2種の印刷機能に従って前記第1の画像の印刷を実行すべきと判断される場合に、前記第1の制御処理とは異なる第2の制御処理を実行する第2の制御処理実行部と、を備えてもよい。前記第1の制御処理実行部は、受信済みの前記第1の画像データを変換して、前記印刷実行部が解釈可能なデータ形式を有する第1の印刷データを生成する第1の印刷データ生成部と、生成済みの前記第1の印刷データを前記印刷実行部に供給する第1の供給部と、を備えてもよい。前記第2の制御処理実行部は、受信済みの前記第1の画像データを利用して、第2の印刷データが前記メモリにキャッシュされているのか否かを判断するキャッシュ判断部であって、前記第2の印刷データは、受信済みの前記第1の画像データを変換することによって得られる印刷データであって、前記印刷実行部が解釈可能なデータ形式を有する前記印刷データである、前記キャッシュ判断部と、前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、受信済みの前記第1の画像データを変換して、前記第2の印刷データを生成する第2の印刷データ生成部と、前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、生成済みの前記第2の印刷データを前記印刷実行部に供給する第2の供給部と、前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、生成済みの前記第2の印刷データを前記メモリに記憶させる記憶制御部と、前記第2の印刷データが前記メモリにキャッシュされていると判断される場合に、受信済みの前記第1の画像データを変換することなく、前記メモリ内の前記第2の印刷データを前記印刷実行部に供給する第3の供給部と、を備えてもよい。
【0006】
上記の構成によると、制御装置は、第1種の印刷機能に従って第1の画像の印刷を実行すべきと判断する場合には、印刷データをキャッシュさせず、第2種の印刷機能に従って第1の画像の印刷を実行すべきと判断する場合には、印刷データをキャッシュさせる。このように、制御装置は、印刷機能に応じて、印刷データをキャッシュさせるのか否かを適切に切り替えることができる。このために、全ての印刷データをキャッシュさせる構成と比べると、印刷データをキャッシュするためのメモリ容量を少なくすることができる。
【0007】
本明細書によって開示される他の制御装置は、メモリと、外部装置から、印刷対象の画像を表わす第1の画像データを受信する第1の画像データ受信部と、前記第1の画像データが、第1の通信方式に従って受信されたのか、前記第1の通信方式とは異なる第2の通信方式に従って受信されたのか、を判断する方式判断部と、前記第1の画像データが前記第2の通信方式に従って受信されたと判断される場合に、第1の制御処理を実行する第1の制御処理実行部と、前記第1の画像データが前記第1の通信方式に従って受信されたと判断される場合に、前記第1の制御処理とは異なる第2の制御処理を実行する第2の制御処理実行部と、を備えてもよい。前記第1の制御処理実行部は、受信済みの前記第1の画像データを変換して、前記印刷実行部が解釈可能なデータ形式を有する第1の印刷データを生成する第1の印刷データ生成部と、生成済みの前記第1の印刷データを前記印刷実行部に供給する第1の供給部と、を備えてもよい。前記第2の制御処理実行部は、受信済みの前記第1の画像データを利用して、第2の印刷データが前記メモリにキャッシュされているのか否かを判断するキャッシュ判断部であって、前記第2の印刷データは、受信済みの前記第1の画像データを変換することによって得られる印刷データであって、前記印刷実行部が解釈可能なデータ形式を有する前記印刷データである、前記キャッシュ判断部と、前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、受信済みの前記第1の画像データを変換して、前記第2の印刷データを生成する第2の印刷データ生成部と、前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、生成済みの前記第2の印刷データを前記印刷実行部に供給する第2の供給部と、前記第2の印刷データが前記メモリにキャッシュされていないと判断される場合に、生成済みの前記第2の印刷データを前記メモリに記憶させる記憶制御部と、前記第2の印刷データが前記メモリにキャッシュされていると判断される場合に、受信済みの前記第1の画像データを変換することなく、前記メモリ内の前記第2の印刷データを前記印刷実行部に供給する第3の供給部と、を備えてもよい。
【0008】
上記の構成によると、制御装置は、第1の画像データが第1の通信方式に従って受信されたと判断する場合には、印刷データをキャッシュさせず、第1の画像データが第2の通信方式に従って受信されたと判断する場合には、印刷データをキャッシュさせる。このように、制御装置は、第1の画像データが受信された通信方式に応じて、印刷データをキャッシュさせるのか否かを適切に切り替えることができる。このために、全ての印刷データをキャッシュさせる構成と比べると、印刷データをキャッシュするためのメモリ容量を少なくすることができる。
【0009】
上記の制御装置のためのコンピュータプログラム、当該コンピュータプログラムを記憶するコンピュータ可読記憶媒体、及び、上記の制御装置によって実行される方法も新規で有用である。
【図面の簡単な説明】
【0010】
図1】通信システムの構成を示す。
図2】印刷仲介サーバの制御構成を示す。
図3】印刷仲介サーバによって実行される処理のフローチャートを示す。
図4】記憶処理のフローチャートを示す。
図5】ケースA及びケースBのシーケンス図を示す。
図6】ケースCのシーケンス図を示す。
図7図6の続きのシーケンス図を示す。
図8】ケースDのシーケンス図を示す。
図9図8の続きのシーケンス図を示す。
図10】第2実施例の印刷仲介サーバの制御構成を示す。
【発明を実施するための形態】
【0011】
(第1実施例)
(通信システム2の構成:図1
図1に示されるように、通信システム2は、複数個のプリンタ10,20と、複数個のPC12,22と、印刷仲介サーバ100と、複数個のコンテンツサーバ200,300と、を備える。これらの各デバイス10,12,100等は、インターネット4に接続されており、インターネット4を介して相互に通信可能である。
【0012】
プリンタ10、プリンタ20は、それぞれ、プリンタを識別する識別情報であるプリンタID「P1」、「P2」を有する。PC12は、プリンタ10に印刷を実行させるためのユーザ端末である。PC22は、プリンタ20に印刷を実行させるためのユーザ端末である。
【0013】
印刷仲介サーバ100は、各プリンタ10,20のベンダによってインターネット4上に設置される。ただし、変形例では、印刷仲介サーバ100は、当該ベンダとは異なる事業者によって設置されてもよい。印刷仲介サーバ100は、各PC12,22が各プリンタ10,20に印刷を実行させるための通信を仲介する。
【0014】
各コンテンツサーバ200,300は、各プリンタ10,20のベンダとは異なる事業者によってインターネット4上に設置される。ただし、変形例では、各コンテンツサーバ200,300は、当該ベンダによって設置されてもよい。また、本実施例では、教育コンテンツサーバ200を設置する事業者と、情報コンテンツサーバ300を設置する事業者と、は異なる。ただし、変形例では、これらの事業者が同一であってもよい。教育コンテンツサーバ200は、教育関係の画像(例えば宿題の画像)を表わす画像データを記憶し、PC12等からの指示に従って、当該画像データを印刷仲介サーバ100に送信する。情報コンテンツサーバ300は、情報の画像(例えばニュースの画像)を表わす画像データを記憶し、PC12等からの指示に従って、当該画像データを印刷仲介サーバ100に送信する。以下では、コンテンツのことを「CT(Contentsの略)」と記載する。
【0015】
(印刷仲介サーバ100の機能及び構成:図2
以下では、印刷仲介サーバ100のことを「仲介サーバ100」と短縮して記載する。仲介サーバ100は、複数個の印刷機能をサポートしている。複数個の印刷機能は、教育CT印刷機能と、情報CT印刷機能と、クラウド印刷機能と、電子メール印刷機能と、を含む。教育CT印刷機能は、教育CTサーバ200から受信される画像データに従った印刷をプリンタ10等に実行させるための機能である。情報CT印刷機能は、情報CTサーバ300から受信される画像データに従った印刷をプリンタ10等に実行させるための機能である。クラウド印刷機能は、PC12等から受信される画像データに従った印刷をプリンタ10等に実行させるための機能である。電子メール印刷機能は、PC12等から受信される電子メールに含まれる画像データに従った印刷をプリンタ10等に実行させるための機能である。
【0016】
図2に示されるように、仲介サーバ100は、通信インターフェース110と制御部130とを備える。通信インターフェース110は、インターネット4に接続されている。制御部130は、CPU132とメモリ134とを備える。CPU132は、メモリ134に格納されているプログラム140に従って、様々な処理を実行する。メモリ134は、揮発性メモリ、不揮発性メモリ等によって構成され、上記のプログラム140に加えて、複数個のテーブル150~156を記憶する。
【0017】
機能テーブル150は、印刷機能情報とキャッシュ特定情報とを対応付けて記憶する。印刷機能情報は、上記の複数個の印刷機能のうちのいずれかを示す情報である。キャッシュ特定情報は、印刷データをキャッシュすべきか否かを示す情報であり、「キャッシュ」と「非キャッシュ」とのどちらかを示す。機能テーブル150内の情報は、PC12等との通信が実行されることによって記憶される情報ではなく、予め決められている情報である。即ち、上記の複数個の印刷機能のそれぞれは、「キャッシュ」又は「非キャッシュ」に予め分類されている。
【0018】
具体的には、機能テーブル150では、教育CT印刷機能及び情報CT印刷機能に「キャッシュ」が対応付けられている。教育CTサーバ200又は情報CTサーバ300から受信される画像データによって表わされる画像は、通常、複数のユーザによって共用されるものである。即ち、当該画像は、通常、複数のユーザによって所有される複数個のプリンタによって複数回に亘って印刷されることを前提とした画像である。従って、仲介サーバ100は、教育CTサーバ200又は情報CTサーバ300から当該画像データを受信する場合に、当該画像データに対して変換処理を実行して印刷データを生成し、当該印刷データをメモリ134にキャッシュしておく。ここで、上記の変換処理は、プリンタが解釈不可能なデータ形式を有する画像データを、プリンタが解釈可能なデータ形式を有する印刷データに変換するための処理である。その後、仲介サーバ100は、同じ画像の印刷をプリンタに実行させるべき際に、キャッシュ済みの印刷データをプリンタに送信する。これにより、仲介サーバ100は、上記の変換処理を実行せずに済むので、印刷データをプリンタに迅速に送信することができる。
【0019】
また、機能テーブル150では、クラウド印刷機能及び電子メール印刷機能に「非キャッシュ」が対応付けられている。PC12等から受信される画像データによって表わされる画像は、通常、複数のユーザによって共用されるものではない。即ち、当該画像は、通常、当該画像の印刷を望むユーザによって所有される1個のプリンタのみによって1回だけ印刷されることを前提とした画像である。従って、仲介サーバ100は、PC12等から当該画像を表わす画像データを受信しても、当該画像データから生成される印刷データをメモリ134にキャッシュしない。これにより、印刷データをキャッシュするためのメモリ容量を少なくすることができる。
【0020】
アクセストークンテーブル152は、アクセストークンとプリンタIDと印刷機能情報とを対応付けて記憶する。以下では、アクセストークンのことを「AT」と記載する。ATは、仲介サーバ100を利用するための認証情報である。上記の複数個の印刷機能のうち、電子メール印刷機能を除く3個の印刷機能ではATが利用され、電子メール印刷機能ではATが利用されない。ATテーブル152では、例えば、AT「T1」と、プリンタ10のプリンタID「P1」と、教育CT印刷機能と、が対応付けられている。これは、仲介サーバ100が、AT「T1」の認証が成功することを条件として、教育CT印刷機能をプリンタ10に実行させることを意味する。ATテーブル152内の情報は、プリンタ10等、PC12等、仲介サーバ100、及び、各CTサーバ200,300の間で様々な通信が実行されることによって記憶される情報である。プリンタ10等のユーザは、教育CT印刷機能、情報CT印刷機能、又は、クラウド印刷機能を利用することを望む場合に、AT等の情報を仲介サーバ100に記憶させるための作業を予め実行しておく。
【0021】
電子メールテーブル154は、電子メールアドレスとプリンタIDとを対応付けて記憶する。電子メールアドレスは、電子メール印刷機能を利用するためのアドレスである。電子メールテーブル154では、例えば、電子メールアドレス「M1」と、プリンタ10のプリンタID「P1」と、が対応付けられている。これは、仲介サーバ100が、電子メールアドレス「M1」を宛先として含む電子メールを受信する際に、当該電子メールに含まれる画像データによって表わされる画像をプリンタ10に実行させることを意味する。電子メールテーブル154内の情報は、プリンタ10等、PC12等、及び、仲介サーバ100の間で様々な通信が実行されることによって記憶される情報である。プリンタ10等のユーザは、電子メール印刷機能の利用を望む場合に、電子メールアドレス及びプリンタIDを仲介サーバ100に記憶させるための作業を予め実行しておく。
【0022】
キャッシュテーブル156は、印刷データとハッシュ値とファイル名と印刷設定と有効期限とを対応付けて記憶する。ハッシュ値は、印刷データの元の画像データをハッシュ化することによって得られる値である。ファイル名は、当該画像データのファイル名である。印刷設定は、印刷を実行するための設定(換言すると印刷条件)を示す情報であり、本実施例では、用紙サイズ(例えばA4、A3等)と、印刷色数(例えばカラー印刷、モノクロ印刷)と、を含む。変形例では、印刷設定は、印刷解像度、印刷面(例えば片面印刷、両面印刷)等の他の情報を含んでいてもよい。有効期限は、印刷データをキャッシュしておく終期の日付を示す情報である。
【0023】
このように、本実施例では、印刷データが各プリンタ10,20とは別体に構成されている仲介サーバ100にキャッシュされ、テーブル150等も仲介サーバ100に記憶される。このために、各プリンタ10,20のメモリ容量が大きくなるのを抑制することができる。
【0024】
(仲介サーバ100によって実行される処理:図3
続いて、図3を参照して、仲介サーバ100のCPU132によって実行される処理を説明する。以下の各通信は、通信インターフェース110及びインターネット4を介して実行される。従って、以下の説明では、「通信インターフェース110を介して」及び「インターネット4を介して」という記載を省略する。
【0025】
S100では、CPU132は、PC12、PC22、又は、各CTサーバ200,300からデータを受信することを監視する。CPU132は、いずれかのデバイスからデータを受信する場合に、S100でYESと判断し、S110に進む。ここで受信され得る1つのデータは、PC(例えば12)から受信される電子メールである。この場合、CPU132は、電子メール印刷機能を実行する。他の1つのデータは、PCから受信される印刷要求である。この場合、CPU132は、クラウド印刷機能を実行する。他の1つのデータは、教育CTサーバ200から受信される印刷要求である。この場合、CPU132は、教育CT印刷機能を実行する。他の1つのデータは、情報CTサーバ300から受信される印刷要求である。この場合、CPU132は、情報CT印刷機能を実行する。
【0026】
S110では、CPU132は、S100で受信済みのデータが、電子メールであるのか、印刷要求であるのかを判断する。PCから電子メールが受信される場合には、図3とは異なる処理フローが起動される。CPU132は、当該異なる処理フローから、電子メールが受信されたことを示すパラメータを取得する。この場合、CPU132は、S110でYESと判断し、S120に進む。CPU132は、当該パラメータを取得しない場合に、S110でNOと判断し、S130に進む。
【0027】
各PC12,22又は各CTサーバ200,300から受信される印刷要求は、HTTP(Hyper Text Transfer Protocol)に従って受信されるデータである。より具体的には、当該印刷要求は、API(Application Programming Interfaceの略)に従って受信されるデータである。従って、S110の処理は、HTTP通信(換言するとAPIに基づく通信)を実行するための通信方式に従ってデータが受信されたのか、電子メールを通信するための通信方式に従ってデータが受信されたのか、を判断する処理であると言える。また、各PC12,22から受信される電子メールは、例えばPOP(Post Office Protocolの略)に従って受信されるデータである。従って、S110の処理は、HTTPに従ってデータが受信されたのか、他のプロトコル(例えばPOP)に従ってデータが受信されたのか、を判断する処理であると言える。
【0028】
S120では、CPU132は、まず、受信済みの電子メールに含まれる宛先の電子メールアドレス(例えばM1)を特定し、電子メールテーブル154(図2参照)から、特定済みの電子メールアドレスに対応付けられているプリンタID(例えばP1)を特定する。次いで、CPU132は、電子メールに含まれる画像データに対する変換処理を実行して、プリンタが解釈可能なデータ形式を有する印刷データを生成する。ここで、プリンタが解釈可能なデータ形式は、例えば、JPEG(Joint Photographic Experts Groupの略)等の広く知られているデータ形式であってもよいし、プリンタのベンダによって開発されたデータ形式であってもよい。
【0029】
S122では、CPU132は、S120で特定済みのプリンタIDによって識別されるプリンタに印刷データを送信する。この結果、当該プリンタにおいて、当該印刷データによって表わされる画像の印刷が実行される。これにより、電子メール印刷機能が実現される。
【0030】
なお、実際には、CPU132は、印刷データをプリンタに送信する前に、印刷データが生成されたことを示す通知を当該プリンタに送信し、当該プリンタから印刷データの送信要求を受信し、その後、印刷データをプリンタに送信する。ただし、本実施例では、上記の通知及び送信要求の通信を図示省略している。印刷データを送信するための以下の処理(例えばS150)でも同様である。また、説明を省略しているが、インターネット4上の仲介サーバ100からプリンタに上記の通知を送信するためには、仲介サーバ100とプリンタとの間にXMPP(Extensible Messaging and Presence Protocolの略)接続が予め確立されている必要がある。仲介サーバ100は、XMPP接続を利用することによって、プリンタが所属するLANのファイヤウォールを超えて、上記の通知をプリンタに送信することができる。S122が終了すると、印刷データをキャッシュテーブル156に記憶させることなく、S100に戻る。
【0031】
S130では、CPU132は、受信済みの印刷要求に含まれるAT(例えばT1)を特定し、ATテーブル152(図2参照)から、特定済みのATに対応付けられているプリンタID(例えばP1)と印刷機能情報(例えば教育CT印刷機能)とを特定する。
【0032】
S132では、CPU132は、特定済みの印刷機能情報によって示される印刷機能が、印刷データをキャッシュさせる機能(即ちキャッシュ対象)であるのか、印刷データをキャッシュさせない機能(即ち非キャッシュ対象)であるのか、を判断する。具体的には、CPU132は、機能テーブル150(図2参照)から、特定済みの印刷機能情報に対応付けられているキャッシュ特定情報を特定する。CPU132は、特定済みのキャッシュ特定情報が「キャッシュ」を示す場合に、キャッシュ対象であると判断し(S132でYES)、S140に進む。S132でYESと判断することは、教育CTサーバ200又は情報CTサーバ300から印刷要求が受信されたこと、即ち、教育CT印刷機能又は情報CT印刷機能を実行すべきこと、を意味する。一方、CPU132は、特定済みのキャッシュ特定情報が「非キャッシュ」を示す場合に、非キャッシュ対象であると判断し(S132でNO)、S120に進む。S132でNOと判断することは、PC(例えば12)から印刷要求が受信されたこと、即ち、クラウド印刷機能を実行すべきこと、を意味する。
【0033】
S132でNOを経て実行されるS120では、CPU132は、まず、印刷要求に含まれる画像データと、印刷要求に含まれる印刷設定と、を特定する。そして、CPU132は、特定済みの印刷設定に従って特定済みの画像データに対する変換処理を実行して、印刷データを生成する。そして、S132では、CPU132は、S130で特定済みのプリンタIDによって識別されるプリンタに印刷データを送信する。この結果、当該プリンタにおいて、当該印刷データによって表わされる画像の印刷が実行される。これにより、クラウド印刷機能が実現される。
【0034】
S140では、CPU132は、所定のハッシュ関数を利用して、印刷要求に含まれる画像データをハッシュ化する。これにより、CPU32は、画像データのハッシュ値を算出することができる。変形例では、CPU132は、画像データと印刷設定との組み合わせをハッシュ化してハッシュ値を算出してもよい。また、別の変形例では、画像データをハッシュ化して第1のハッシュ値を算出し、印刷データをハッシュ化して第2のハッシュ値を算出し、第1のハッシュ値と第2のハッシュ値とを連結して連結済みハッシュ値を算出してもよい。一般的に言うと、S140では、キャッシュテーブル156に印刷データがキャッシュされているのか否かを判断するための情報が算出されればよい。
【0035】
S142では、CPU132は、算出済みのハッシュ値を利用して、印刷データがキャッシュテーブル156(図2参照)にキャッシュ済みであるのか否かを判断する。具体的には、CPU132は、まず、印刷要求に含まれる画像データのファイル名と、印刷要求に含まれる印刷設定と、を特定する。CPU132は、算出済みのハッシュ値と特定済みのファイル名と特定済みの印刷設定とがキャッシュテーブル156に対応付けて記憶されている場合に、印刷データがキャッシュ済みであると判断し(S142でYES)、S150に進む。一方、CPU132は、これらの情報がキャッシュテーブル156に対応付けて記憶されていない場合に、印刷データがキャッシュ済みでないと判断し(S142でNO)、S160に進む。
【0036】
このように、本実施例では、仲介サーバ100は、キャッシュテーブル156が画像データそのものではなく画像データのハッシュ値を記憶する。このために、メモリ134の記憶容量が大きくなるのを抑制することができる。また、仲介サーバ100は、ハッシュ値のみならず、ファイル名及び印刷設定も利用して、印刷データがキャッシュ済みであるのか否かを判断する。このために、仲介サーバ100は、ユーザによって印刷が要求された画像と同じ画像を表わす印刷データがキャッシュされているのか否かを適切に判断することができる。
【0037】
S150では、CPU132は、まず、キャッシュテーブル156から、算出済みのハッシュ値に対応付けられている印刷データを特定する。そして、CPU132は、S130で特定済みのプリンタIDによって識別されるプリンタに特定済みの印刷データを送信する。即ち、CPU132は、画像データに対する変換処理を実行することなく、印刷データをプリンタに送信する。この結果、当該プリンタにおいて、当該印刷データによって表わされる画像の印刷が実行される。これにより、教育CT印刷機能又は情報CT印刷機能が実現される。
【0038】
S152では、CPU132は、S130で特定済みの印刷機能情報が、情報CT印刷機能を示すのか、教育CT印刷機能を示すのか、を判断する。CPU132は、特定済みの印刷機能情報が情報CT印刷機能を示す場合に、S152でYESと判断して、S154に進む。一方、CPU132は、特定済みの印刷機能情報が教育CT印刷機能を示す場合に、S152でNOと判断して、S154を実行することなく、S100に戻る。
【0039】
S154では、CPU132は、キャッシュテーブル156において、S140で算出済みのハッシュ値に対応付けられている有効期限を1日延長する。このように、仲介サーバ100は、印刷データがキャッシュ済みであると判断する場合に、有効期限を1日延長する。同じ印刷データによって表わされる画像の印刷が今後も要求される可能性が高いからである。S154が終了すると、S100に戻る。
【0040】
S160では、CPU132は、まず、印刷要求に含まれる画像データと、印刷要求に含まれる印刷設定と、を特定する。そして、CPU132は、特定済みの印刷設定に従って特定済みの画像データに対する変換処理を実行して、印刷データを生成する。
【0041】
S162では、CPU132は、S130で特定済みのプリンタIDによって識別されるプリンタに印刷データを送信する。この結果、当該プリンタにおいて、当該印刷データによって表わされる画像の印刷が実行される。これにより、教育CT印刷機能又は情報CT印刷機能が実現される。
【0042】
S170では、CPU132は、記憶処理(図4参照)を実行する。記憶処理は、印刷データを含む各種情報をキャッシュテーブル156に記憶させる処理である。S170が終了すると、S100に戻る。
【0043】
(記憶処理:図4
続いて、図4を参照して、図3のS170の記憶処理の内容を説明する。S200では、CPU132は、図3のS130で特定済みの印刷機能情報が、情報CT印刷機能を示すのか、教育CT印刷機能を示すのか、を判断する。CPU132は、特定済みの印刷機能情報が情報CT印刷機能を示す場合に、S200でYESと判断して、S202に進み、特定済みの印刷機能情報が教育CT印刷機能を示す場合に、S200でNOと判断して、S210に進む。
【0044】
S202では、CPU132は、本日から2ヵ月後の日付を有効期限として設定する。このように、情報CTについては、比較的に長い有効期限(即ち2ヵ月)が設定される。情報CTは、比較的に長期間に亘ってユーザによって印刷が要求される可能性が高いからである。S202が終了すると、S230に進む。
【0045】
S210では、CPU132は、図3のS160で特定済みの画像データのファイル名が文字列「vacation」を含むのか否かを判断する。文字列「vacation」は、長期休暇(例えば夏季休暇、冬期休暇)の宿題の画像を表わす画像データのファイル名に付される文字列である。CPU132は、ファイル名が文字列「vacation」を含む場合に、S210でYESと判断して、S212に進み、ファイル名が文字列「vacation」を含まない場合に、S210でNOと判断して、S220に進む。S210でYESと判断することは、画像データが長期休暇の宿題の画像を表わすことを意味し、S210でNOと判断することは、画像データが長期休暇ではない日々の宿題の画像を表わすことを意味する。
【0046】
S212では、CPU132は、本日から1ヵ月後の日付を有効期限として設定する。このように、教育CTについては、情報CT(即ちS202の2ヶ月)よりも短い有効期限が設定される。教育CTは、情報CTと比べると短期間内でユーザによって印刷が要求される可能性が高いからである。ただし、教育CTのうちの長期休暇の宿題は、日々の宿題と比べると長期間に亘ってユーザによって印刷が要求される可能性が高い。このために、長期休暇の宿題については、比較的に長い有効期限(即ち1ヵ月)が設定される。S212が終了すると、S230に進む。
【0047】
S220では、CPU132は、図3のS160で特定済みの画像データのファイル名に含まれる日付が、平日であるのか、休日(即ち土曜日、日曜日、祝日)であるのか、を判断する。CPU132は、日付が平日である場合に、S220でYESと判断して、S222に進み、日付が休日である場合に、S220でNOと判断して、S224に進む。S220でYESと判断することは、画像データが平日の宿題の画像を表わすことを意味し、S220でNOと判断することは、画像データが休日の宿題の画像を表わすことを意味する。
【0048】
S222では、CPU132は、本日から1日後の日付を有効期限として設定する。このように、日々の宿題については、長期休暇の宿題よりも短い有効期限(即ち1日)が設定される。日々の宿題は、長期休暇と比べると短期間内でユーザによって印刷が要求される可能性が高いからである。特に、平日の宿題は、休日の宿題と比べると短期間内にユーザによって印刷が要求される可能性が高い。このために、平日の宿題については、比較的に短い有効期限(即ち1日)が設定される。S222が終了すると、S230に進む。
【0049】
S224では、CPU132は、本日から2日後の日付を有効期限として設定する。教育CTのうちの休日の宿題は、平日の宿題と比べると長期間(例えば土曜日と日曜日の2日間)に亘ってユーザによって印刷が要求される可能性が高い。このために、休日の宿題については、比較的に長い有効期限(即ち2日)が設定される。S224が終了すると、S230に進む。
【0050】
S230では、CPU132は、図3のS160で生成済みの印刷データと、S140で算出済みのハッシュ値と、S160で特定済みの画像データのファイル名と、S160で特定済みの印刷設定と、S202、S212、S222、又は、S224で決定済みの有効期限と、を対応付けて、キャッシュテーブル156に記憶させる。S230が終了すると、図4の処理が終了する。
【0051】
(ケースA:図5
続いて、図5図9を参照して、図3及び図4の処理によって実現される具体的なケースA~Dを説明する。PC12は、各印刷機能に対応するAT「T1」~「T3」(図2のATテーブル152参照)を記憶済みである。PC22は、各印刷機能に対応するAT「T4」及び「T5」を記憶済みである。また、PC12は、電子メールアドレス「M1」(図2の電子メールテーブル154参照)を記憶済みである。まず、図5を参照して、クラウド印刷機能が実行されるケースAを説明する。
【0052】
PC12は、T100において、2020年9月1日(火曜日)に、ユーザからクラウト印刷指示を受け付ける。クラウド印刷指示は、印刷対象の画像を表わす画像データIDAの指定と、印刷設定「A4、モノクロ印刷」の指定と、を含む。この場合、PC12は、T110において、画像データIDAと印刷設定「A4、モノクロ印刷」とAT「T3」とを含む印刷要求を仲介サーバ100に送信する。
【0053】
仲介サーバ100は、T110において、PC12から印刷要求を受信すると(図3のS100でYES)、電子メールでないと判断し(S110でNO)、AT「T3」に基づいてクラウド印刷機能を特定し(S130)、キャッシュ対象でないと判断する(S132でNO)。
【0054】
次いで、仲介サーバ100は、T120において、印刷設定「A4、モノクロ印刷」に従って画像データIDAを変換して印刷データPDAを生成する(S120)。そして、仲介サーバ100は、T122において、印刷データPDAをプリンタ10に送信する(S122)。この結果、T130において、印刷データPDAによって表わされる画像がプリンタ10によって印刷され、クラウド印刷機能が実現される。クラウド印刷機能では、印刷データPDAがキャッシュされないので、仲介サーバ100のメモリ容量を少なくすることができる。
【0055】
(ケースB:図5
続いて、電子メール印刷機能が実行されるケースBを説明する。PC12は、T200において、2020年9月1日(火曜日)に、ユーザから電子メール印刷指示を受け付ける。電子メール印刷指示は、印刷対象の画像を表わす画像データIDBの指定と、宛先アドレス「M1」の指定と、を含む。この場合、PC12は、T210において、画像データIDBと宛先アドレス「M1」とを含む電子メールを仲介サーバ100に送信する。
【0056】
仲介サーバ100は、T210において、PC12から電子メールを受信すると(図3のS100でYES)、電子メールであると判断する(S110でYES)。この場合、仲介サーバ100は、T220において、画像データIDBを変換して印刷データPDBを生成する(S120)。そして、仲介サーバ100は、T222において、印刷データPDBをプリンタ10に送信する(S122)。この結果、T230において、印刷データPDBによって表わされる画像がプリンタ10によって印刷され、電子メール印刷機能が実現される。電子メール印刷機能では、印刷データPDBがキャッシュされないので、仲介サーバ100のメモリ容量を少なくすることができる。
【0057】
(ケースC:図6
続いて、図6を参照して、教育CT印刷機能が実行されるケースCを説明する。PC12は、2020年9月1日(火曜日)に、ユーザから教育CTサーバ200にアクセスするための指示を受け付けることに応じて、T300において、ログイン要求を教育CTサーバ200に送信し、T302において、教育CTサーバ200から複数個の教育CTのファイル名を含む教育CTリストを受信する。
【0058】
PC12は、T304において、教育CTリストを表示し、T306において、ユーザから1個の教育CTのファイル名「20200901_homework」の選択及び印刷指示を受け付ける。印刷指示は、印刷設定「A4、カラー印刷」の指定を含む。この場合、PC12は、T310において、選択済みのファイル名と印刷設定「A4、カラー印刷」とAT「T1」とを含む選択情報を教育CTサーバ200に送信する。
【0059】
教育CTサーバ200は、T310において、PC12から選択情報を受信すると、T320において、選択情報に含まれる各情報と、選択済みのファイル名によって特定される画像データIDCと、を含む印刷要求を仲介サーバ100に送信する。
【0060】
仲介サーバ100は、T320において、教育CTサーバから印刷要求を受信すると(図3のS100でYES)、電子メールでないと判断し(S110でNO)、AT「T1」に基づいて教育CT印刷機能を特定し(S130)、キャッシュ対象であると判断する(S132でYES)。
【0061】
次いで、仲介サーバ100は、T330において、画像データIDCをハッシュ化してハッシュ値を生成し(S140)、当該ハッシュ値とファイル名「20200901_homework」と印刷設定「A4、カラー印刷」とがキャッシュテーブル156に対応付けて記憶されていないと判断する(S142でNO)。仲介サーバ100は、さらに、印刷設定「A4、カラー印刷」に従って画像データIDCを変換して印刷データPDCを生成する(S160)。そして、仲介サーバ100は、T332において、印刷データPDCをプリンタ10に送信する(S162)。この結果、T340において、印刷データPDCによって表わされる画像がプリンタ10によって印刷され、教育CT印刷機能が実現される。
【0062】
仲介サーバ100は、さらに、教育CTであると判断し(図4のS200でNO)、ファイル名「20200901_homework」が文字列「vacation」を含まないと判断し(S210でNO)、ファイル名の日付「20200901」が平日であると判断し(S220)、本日から1日後の日付である2020年9月2日を有効期限として決定する(S222)。そして、仲介サーバ100は、T350において、印刷データPDCと、T330で算出されたハッシュ値HCと、ファイル名「20200901_homework」と、印刷設定「A4、カラー印刷」と、有効期限「2020年9月2日」と、を対応付けて、キャッシュテーブル156に記憶させる(S230)。このように、教育CT印刷機能では、印刷データPDCがキャッシュされるので、この後、同じ印刷データPDCに従った印刷が要求される場合に、仲介サーバ100は、印刷データPDCをプリンタに迅速に送信することができる。
【0063】
図6の続き:図7
続いて、図7を参照して、図6の続きを説明する。図6のPC12とは異なるPC22において、図6のT300~T306と同様の処理が実行される。この場合、PC22は、T410において、選択済みのファイル名「20200901_homework」と印刷設定「A4、カラー印刷」とAT「T4」とを含む選択情報を教育CTサーバ200に送信する。
【0064】
教育CTサーバ200は、T410において、PC22から選択情報を受信すると、T420において、選択情報に含まれる各情報と、選択済みのファイル名によって特定される画像データIDCと、を含む印刷要求を仲介サーバ100に送信する。
【0065】
仲介サーバ100は、T420において、教育CTサーバから印刷要求を受信すると(図3のS100でYES)、電子メールでないと判断し(S110でNO)、AT「T4」に基づいて教育CT印刷機能を特定し(S130)、キャッシュ対象であると判断する(S132でYES)。
【0066】
次いで、仲介サーバ100は、T430において、画像データIDCをハッシュ化してハッシュ値を生成し(S140)、当該ハッシュ値とファイル名「20200901_homework」と印刷設定「A4、カラー印刷」とがキャッシュテーブル156に対応付けて記憶されている(図6のT350参照)と判断する(S142でYES)。この場合、仲介サーバ100は、画像データIDCに対する変換処理を実行することなく、T432において、キャッシュテーブル156内の印刷データPDCをプリンタ20に送信する(S150)。このために、仲介サーバ100は、印刷データPDCをプリンタ20に迅速に送信することができる。この結果、T440において、印刷データPDCによって表わされる画像がプリンタ20によって印刷され、教育CT印刷機能が実現される。仲介サーバ100は、さらに、教育CTであると判断するので(S152でNO)、有効期限「2020年9月2日」を延長しない。教育CTは、予め決められている期間(例えば、日々の出題であれば1日、長期休暇の宿題であれば休暇中)の中で勉強されるべきもの(即ち印刷されるべきもの)であり、その期間が経過した後に利用される可能性が低いからである。
【0067】
(ケースD:図8
続いて、図8を参照して、情報CT印刷機能が実行されるケースDを説明する。PC12は、2020年9月1日(火曜日)に、ユーザから情報CTサーバ300にアクセスするための指示を受け付けることに応じて、T500において、ログイン要求を情報CTサーバ300に送信し、T302において、情報CTサーバ300から複数個の情報CTのファイル名を含む情報CTリストを受信する。
【0068】
PC12は、T504において、情報CTリストを表示し、T506において、ユーザから1個の情報CTのファイル名「2020_Sep_information」の選択及び印刷指示を受け付ける。印刷指示は、印刷設定「A3、カラー印刷」の指定を含む。この場合、PC12は、T510において、選択済みのファイル名と印刷設定「A3、カラー印刷」とAT「T2」とを含む選択情報を情報CTサーバ300に送信する。
【0069】
情報CTサーバ300は、T510において、PC12から選択情報を受信すると、T520において、選択情報に含まれる各情報と、選択済みのファイル名によって特定される画像データIDDと、を含む印刷要求を仲介サーバ100に送信する。
【0070】
仲介サーバ100は、T520において、情報CTサーバ300から印刷要求を受信すると(図3のS100でYES)、電子メールでないと判断し(S110でNO)、AT「T2」に基づいて情報CT印刷機能を特定し(S130)、キャッシュ対象であると判断する(S132でYES)。
【0071】
次いで、仲介サーバ100は、T530において、画像データIDDをハッシュ化してハッシュ値を生成し(S140)、当該ハッシュ値とファイル名「2020_Sep_information」と印刷設定「A3、カラー印刷」とがキャッシュテーブル156に対応付けて記憶されていないと判断する(S142でNO)。仲介サーバ100は、さらに、印刷設定「A3、カラー印刷」に従って画像データIDDを変換して印刷データPDDを生成する(S160)。そして、仲介サーバ100は、T532において、印刷データPDDをプリンタ10に送信する(S162)。この結果、T540において、印刷データPDDによって表わされる画像がプリンタ10によって印刷され、情報CT印刷機能が実現される。
【0072】
仲介サーバ100は、さらに、情報CTであると判断し(図4のS200でYES)、2ヵ月後の日付である2020年11月1日を有効期限として決定する(S202)。そして、仲介サーバ100は、T550において、印刷データPDDと、T530で算出されたハッシュ値と、ファイル名「2020_Sep_information」と、印刷設定「A3、カラー印刷」と、有効期限「2020年11月1日」と、を対応付けて、キャッシュテーブル156に記憶させる(S230)。このように、情報CT印刷機能では、印刷データPDDがキャッシュされるので、この後、同じ印刷データPDDに従った印刷が要求される場合に、仲介サーバ100は、印刷データPDDをプリンタに迅速に送信することができる。
【0073】
図8の続き:図9
続いて、図9を参照して、図8の続きを説明する。図8のPC12とは異なるPC22において、図8のT500~T506と同様の処理が実行される。この場合、PC22は、T510において、選択済みのファイル名「2020_Sep_information」と印刷設定「A3、カラー印刷」とAT「T5」とを含む選択情報を情報CTサーバ300に送信する。
【0074】
情報CTサーバ300は、T510において、PC22から選択情報を受信すると、T520において、選択情報に含まれる各情報と、選択済みのファイル名によって特定される画像データIDDと、を含む印刷要求を仲介サーバ100に送信する。
【0075】
仲介サーバ100は、T520において、情報CTサーバ300から印刷要求を受信すると(図3のS100でYES)、電子メールでないと判断し(S110でNO)、AT「T5」に基づいて情報CT印刷機能を特定し(S130)、キャッシュ対象であると判断する(S132でYES)。
【0076】
次いで、仲介サーバ100は、T530において、画像データIDDをハッシュ化してハッシュ値を生成し(S140)、当該ハッシュ値とファイル名「2020_Sep_information」と印刷設定「A3、カラー印刷」とがキャッシュテーブル156に対応付けて記憶されている(図8のT550参照)と判断する(S142でYES)。この場合、仲介サーバ100は、画像データIDDに対する変換処理を実行することなく、T532において、キャッシュテーブル156内の印刷データPDDをプリンタ20に送信する(S150)。このために、仲介サーバ100は、印刷データPDDをプリンタ20に迅速に送信することができる。この結果、T540において、印刷データPDDによって表わされる画像がプリンタ20によって印刷され、情報CT印刷機能が実現される。仲介サーバ100は、さらに、情報CTであると判断し(S152でYES)、T650において、有効期限「2020年11月1日」を1日延長して、有効期限「2020年11月2日」をキャッシュテーブル156に記憶させる(S154)。
【0077】
(本実施例の効果)
本実施例によると、仲介サーバ100は、クラウド印刷機能に従って印刷を実行すべきと判断する場合(図3のS132でNO)には、印刷データをキャッシュさせず、教育CT印刷機能又は情報CT印刷機能に従って印刷を実行すべきと判断する場合(S132でYES)には、印刷データをキャッシュさせる。このように、仲介サーバ100は、印刷機能に応じて、印刷データをキャッシュさせるのか否かを適切に切り替えることができる。このために、全ての印刷データをキャッシュさせる構成と比べると、印刷データをキャッシュするためのメモリ容量を少なくすることができる。
【0078】
また、本実施例によると、仲介サーバ100は、画像データを含む電子メールが受信されたと判断する場合(図3のS110でYES)には、印刷データをキャッシュさせず、画像データを含む印刷要求が受信されたと判断する場合(S110でNO)には、印刷データをキャッシュさせる。このように、仲介サーバ100は、画像データが受信された通信方式に応じて、印刷データをキャッシュさせるのか否かを適切に切り替えることができる。このために、全ての印刷データをキャッシュさせる構成と比べると、印刷データをキャッシュするためのメモリ容量を少なくすることができる。
【0079】
(対応関係)
仲介サーバ100、プリンタ10,20が、それぞれ、「制御装置」、「印刷実行部」の一例である。PC12,22、教育CTサーバ200、及び、情報CTサーバ300が、「制御装置」の一例である。教育CT印刷機能、情報CT印刷機能、及び、クラウド印刷機能が、「複数個の印刷機能」の一例である。教育CT印刷機能及び情報CT印刷機能が、「第1種の印刷機能」の一例である。教育CT印刷機能、情報CT印刷機能が、それぞれ、「第1の印刷機能」、「第2の印刷機能」の一例である。クラウド印刷機能が、「第2種の印刷機能」の一例である。ATが、「特定情報」の一例である。図3のS120及びS122の処理が、「第1の制御処理」の一例である。S130~S170の処理が、「第2の制御処理」の一例である。ハッシュ値が、「ダイジェスト値」の一例である。図4のS212、S222、又は、S224の期間が、「第1の期間」の一例である。S202の期間が、「第2の期間」の一例である。S222又はS224の期間が、「第3の期間」の一例である。S212の期間が、「第4の期間」の一例である。S222の期間、S224の期間が、それぞれ、「第5の期間」、「第6の期間」の一例である。平日が、「所定期間」の一例である。別の例では、長期休暇以外の通常期が、「所定期間」の一例である。この場合、S222又はS224の期間が、「第5の期間」の一例であり、S212の期間が、「第6の期間」の一例である。印刷設定及びファイル名が、「関連データ」の一例である。
【0080】
図3のS100が、「第1の画像データ受信部」、「第2の画像データ受信部」、及び、「特定情報受信部」によって実行される処理の一例である。S110が、「方式判断部」によって実行される処理の一例である。S130及びS132が、「機能判断部」によって実行される処理の一例である。S120及びS122が、「第1の制御処理実行部」によって実行される処理の一例である。S120が、「第1の印刷データ生成部」及び「第3の印刷データ生成部」によって実行される処理の一例である。S122が、「第1の供給部」及び「第4の供給部」の一例である。S140~S170が、「第2の制御処理実行部」によって実行される処理の一例である。S140、S142、S160、S162、S170、S150、S154が、それぞれ、「ダイジェスト値生成部」、「キャッシュ判断部」、「第2の印刷データ生成部」、「第2の供給部」、「記憶制御部」、「第3の供給部」、「延長部」によって実行される処理の一例である。
【0081】
(第2実施例:図10
本実施例では、図10に示されるように、メモリ134は、第1実施例の各テーブル152~156とは異なる各テーブル152A~156Aを記憶する。メモリ134は、さらに、モデル名テーブル158を記憶する。
【0082】
本実施例のATテーブル152Aは、ATとプリンタIDと印刷機能情報とに加えて、プリンタのモデル名も対応付けて記憶する。プリンタ10のモデル名が「AAA」であり、プリンタ20のモデル名が「BBB」である。本実施例の電子メールテーブル154Aは、電子メールアドレスとプリンタIDとに加えて、プリンタのモデル名も対応付けて記憶する。プリンタ10等のユーザは、モデル名を含む各情報をATテーブル152A及び電子メールテーブル154Aに記憶させるための作業を予め実行しておく。
【0083】
本実施例のキャッシュテーブル156Aは、印刷データ、ハッシュ値等の情報に加えて、印刷データのデータ形式を示す形式情報を対応付けて記憶する。どのようにして形式情報が記憶されるのかについては後で説明する。
【0084】
モデル名テーブル158は、プリンタのモデル名と、当該モデル名を有するプリンタが解釈可能なデータ形式を示す形式情報と、を対応付けて記憶する。本実施例では、モデル名「AAA」を有するプリンタ10がJPEG(Joint Photographic Experts Groupの略)プリントコマンドを解釈可能であり、モデル名「BBB」を有するプリンタ20がPWG(Printer Working Groupの略)ラスタを解釈可能である。
【0085】
図3のS120では、CPU132は、まず、受信済みの電子メールに含まれる宛先の電子メールアドレス(例えばM1)を特定し、電子メールテーブル154A(図10参照)から、特定済みの電子メールアドレスに対応付けられているプリンタID(例えばP1)とモデル名(例えば「AAA」)とを特定する。次いで、CPU132は、モデル名テーブル158(図10参照)から、特定済みのモデル名(例えば「AAA」)に対応付けられている形式情報(例えば「JPEGプリンタコマンド」を示す形式情報)を特定する。そして、CPU132は、電子メールに含まれる画像データに対する変換処理を実行して、特定済みの形式情報によって示されるデータ形式を有する印刷データを生成する。
【0086】
S122では、CPU132は、S120で生成済みの印刷データをS120で特定済みのプリンタIDによって識別されるプリンタに送信する。ここで、当該印刷データは、当該プリンタが解釈可能なデータ形式を有する。従って、仲介サーバ100は、当該印刷データによって表わされる画像の印刷を当該プリンタに適切に実行させることができる。
【0087】
S160では、CPU132は、まず、ATテーブル152A(図10参照)から、受信済みの印刷要求に含まれるAT(例えばT1)に対応付けられているモデル名(例えば「AAA」)を特定する。次いで、CPU132は、モデル名テーブル158(図10参照)から、特定済みのモデル名(例えば「AAA」)に対応付けられている形式情報(例えば「JPEGプリンタコマンド」を示す形式情報)を特定する。CPU132は、さらに、印刷要求に含まれる画像データと、印刷要求に含まれる印刷設定と、を特定する。そして、CPU132は、特定済みの印刷設定に従って特定済みの画像データに対する変換処理を実行して、特定済みの形式情報によって示されるデータ形式を有する印刷データを生成する。
【0088】
S162では、CPU132は、S160で生成済みの印刷データをS130で特定済みのプリンタIDによって識別されるプリンタに送信する。ここで、当該印刷データは、当該プリンタが解釈可能なデータ形式を有する。従って、仲介サーバ100は、当該印刷データによって表わされる画像の印刷を当該プリンタに適切に実行させることができる。
【0089】
図4のS230では、CPU132は、印刷データ等に対応付けて、S160で特定済みの形式情報もキャッシュテーブル156A(図10参照)に記憶させる。これにより、仲介サーバ100は、印刷データのデータ形式を示す形式情報もキャッシュしておくことができる。
【0090】
図5のケースAでは、仲介サーバ100は、T120において、ATテーブル152A(図10参照)から、印刷要求に含まれるAT「T3」に対応付けられているモデル名「AAA」を特定し、モデル名テーブル158(図10参照)から、特定済みのモデル名「AAA」に対応付けられている形式情報「JPEGプリンタコマンド」を特定する(図3のS132でNOの場合のS120)。そして、仲介サーバ100は、特定済みのJPEGプリンタコマンドを有する印刷データPDAを生成し(S120)、T122において、印刷データPDAをプリンタ10に送信する(S122)。
【0091】
図5のケースBでは、仲介サーバ100は、T220において、電子メールテーブル154A(図10参照)から、電子メールに含まれる宛先アドレス「M1」に対応付けられているモデル名「AAA」を特定し、モデル名テーブル158(図10参照)から、特定済みのモデル名「AAA」に対応付けられている形式情報「JPEGプリンタコマンド」を特定する(図3のS110でYESの場合のS120)。そして、仲介サーバ100は、特定済みのJPEGプリンタコマンドを有する印刷データPDBを生成し(S120)、T222において、印刷データPDBをプリンタ10に送信する(S122)。
【0092】
図6のケースCでは、仲介サーバ100は、T330において、ATテーブル152A(図10参照)から、印刷要求に含まれるAT「T1」に対応付けられているモデル名「AAA」を特定し、モデル名テーブル158(図10参照)から、特定済みのモデル名「AAA」に対応付けられている形式情報「JPEGプリンタコマンド」を特定する(図3のS160)。そして、仲介サーバ100は、特定済みのJPEGプリンタコマンドを有する印刷データPDCを生成し(S160)、T332において、印刷データPDCをプリンタ10に送信する(S162)。仲介サーバ100は、T350において、印刷データPDC等に対応付けて、JPEGプリンタコマンドを示す形式情報もキャッシュテーブル156Aに記憶させる(図4のS230)。
【0093】
図8のケースDでは、仲介サーバ100は、T530において、ATテーブル152A(図10参照)から、印刷要求に含まれるAT「T2」に対応付けられているモデル名「AAA」を特定し、モデル名テーブル158(図10参照)から、特定済みのモデル名「AAA」に対応付けられている形式情報「JPEGプリンタコマンド」を特定する(図3のS160)。そして、仲介サーバ100は、特定済みのJPEGプリンタコマンドを有する印刷データPDDを生成し(S160)、T532において、印刷データPDDをプリンタ10に送信する(S162)。仲介サーバ100は、T550において、印刷データPDD等に対応付けて、JPEGプリンタコマンドを示す形式情報もキャッシュテーブル156Aに記憶させる(図4のS230)。
【0094】
本実施例によると、仲介サーバ100は、印刷を実行すべきプリンタのモデル名に応じたデータ形式を有する印刷データを生成するので、クラウド印刷機能等の各印刷機能をプリンタに適切に実行させることができる。
【0095】
本実施例では、図5図6、及び、図8のケースでは、プリンタ10が、「第1のプリンタ」及び「第2のプリンタ」の一例であり、JPEGプリンタコマンドが、「第1のデータ形式」及び「第2のデータ形式」の一例である。図7及び図9のケースでは、プリンタ20が、「第2のプリンタ」の一例である。また、図5のケースBにおいて、T210の電子メールに含まれる宛先アドレスM1が、「第1の情報」の一例である。図6のケースC又は図8のケースDにおいて、T320又はT520の印刷要求に含まれるAT「T1」又は「T2」が、「第2の情報」の一例である。
【0096】
なお、JPEGプリンタコマンド及びPWGラスタは、プリンタ10等が解釈可能なデータ形式の一例である。例えば、プリンタ10は、JPEGプリンタコマンドとは異なるデータ形式(例えば、PDF、PWGラスタ、プリンタ10のベンダ特有のデータ形式等)を解釈可能であってもよい。また、例えば、プリンタ20は、PWGラスタとは異なるデータ形式(例えば、PDF、JPEGプリンタコマンドタ、プリンタ20のベンダ特有のデータ形式等)を解釈可能であってもよい。
【0097】
以上、本発明の具体例を詳細に説明したが、これらは例示にすぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には以上に例示した具体例を様々に変形、変更したものが含まれる。上記の実施例の変形例を以下に列挙する。
【0098】
(変形例1)仲介サーバ100を設けなくてもよい。例えば、プリンタ10は、各テーブル150~156を記憶するプリンタメモリを備え、PC12から、仲介サーバ100を介さずに、図5のT110の印刷要求又は図6のT320の印刷要求を受信してもよい。プリンタ10は、T110の印刷要求を受信する場合には、印刷データをプリンタメモリにキャッシュさせず、T320の印刷要求を受信する場合には、印刷データをプリンタメモリにキャッシュさせてもよい。また、プリンタ10は、PC12から、仲介サーバ100を介さずに、図5のT210の電子メール又は図6のT320の印刷要求を受信してもよい。プリンタ10は、電子メールを受信する場合には、印刷データをプリンタメモリにキャッシュさせず、印刷要求を受信する場合には、印刷データをプリンタメモリにキャッシュさせてもよい。本変形例では、プリンタの制御部、印刷エンジンが、それぞれ、「制御装置」、「印刷実行部」の一例である。また、プリンタの制御部によって実行される各処理が、「第1の画像データ受信部」、「特定情報受信部」、「機能判断部」、「方式判断部」、「第1の制御処理実行部」、及び、「第2の制御処理実行部」等によって実行される処理の一例である。
【0099】
(変形例2)「特定情報」は、ATに限られず、例えば、印刷機能の種類を示す他の情報であってもよい。当該他の情報は、例えば、印刷機能の種類を示すコマンド、印刷機能を実現するアプリケーションを識別する情報等であってもよい。
【0100】
(変形例3)「第1種の印刷機能」は、クラウド印刷機能に限らず、例えば、情報CT印刷機能であってもよい。即ち、情報CT印刷機能、教育CT印刷機能が、それぞれ、「第1種の印刷機能」、「第2種の印刷機能」の一例であってもよい。この場合、「第1種の印刷機能」は、第1種のサービス(例えば情報CT提供サービス)に従った印刷機能であり、「第2種の印刷機能」は、第1種のサービスとは異なる第2種のサービス(例えば教育CT提供サービス)に従った印刷機能である、と表現することができる。また、「第1種の印刷機能」は、第1の事業者(例えば情報CTを提供する事業者)によって提供される画像を印刷するための印刷機能であり、「第2種の印刷機能」は、第1の事業者とは異なる第2の事業者(例えば教育CTを提供する事業者)によって提供される画像を印刷するための印刷機能である、と表現することができる。また、別の変形例では、「第2種の印刷機能」は、教育CT印刷機能及び情報CT印刷機能に限らず、例えば、他のコンテンツの印刷機能であってもよいし、クラウド印刷機能であってもよい。
【0101】
(変形例4)「ダイジェスト値」は、ハッシュ値に限らず、ハッシュ関数とは異なる手法によって算出される値であってもよい。別の変形例では、図3のS140を省略し、キャッシュテーブル156には、ハッシュ値に代えて画像データそのものが記憶されてもよい。本変形例では、「ダイジェスト値生成部」を省略可能である。
【0102】
(変形例5)図4のS202で決定される期限とS212で決定される期限とが同じであってもよい。即ち、「第1の期間」と「第2の期間」とが同じであってもよい。別の変形例では、S212で決定される期限とS222で決定される期限とが同じであってもよい。即ち、「第3の期間」と「第4の期間」とが同じであってもよい。別の変形例では、S222で決定される期限とS224で決定される期限とが同じであってもよい。即ち、「第5の期間」と「第6の期間」とが同じであってもよい。また、別の変形例では、キャッシュしておく期間が決定されなくてよく、この場合、メモリ134の容量が閾値を超えると、古い印刷データが消去されてもよい。
【0103】
(変形例6)図3のS154が省略されてもよい。本変形例では、「延長部」を省略可能である。
【0104】
(変形例7)仲介サーバ100は、電子メール印刷機能をサポートしていなくてもよい。この場合、図3のS110を省略可能であり、S100でYESの場合に、S130に進めばよい。本変形例では、「第2の画像データ受信部」、「第3の印刷データ生成部」、及び、「第4の供給部」を省略可能である。別の変形例では、仲介サーバ100は、電子メール印刷機能と教育CT印刷機能のみをサポートしていてもよい。この場合、図3のS130及びS132を省略可能であり、S110でNOの場合に、S140に進めばよい。
【0105】
(変形例8)「第1の通信方式」は、HTTP通信を実行するための通信方式に限られず、他の通信方式(例えば電子メール通信を実行するための通信方式)であってもよい。「第2の通信方式」は、電子メール通信を実行するための通信方式に限られず、他の通信方式(例えばHTTP通信を実行するための通信方式)であってもよい。
【0106】
(変形例9)「関連データ」は、印刷設定及びファイル名に限らず、例えば、教育CTを利用する学校を識別するデータを含んでいてもよいし、学校内のクラスを識別するデータを含んでいてもよい。例えば、教育CT印刷機能の実行を要求する印刷要求は、画像データと、学校ID又はクラスIDと、を含み、仲介サーバ100は、当該画像データから生成される印刷データに対応付けて、当該画像データのハッシュ値と当該IDとをキャッシュテーブル156に記憶させる。この場合、仲介サーバ100は、その後に、当該画像データと当該IDとを含む印刷要求を受信する場合に、当該画像データのハッシュ値と当該IDとがキャッシュテーブル156に記憶されているので、印刷データがキャッシュされていると判断することができる。また、別の変形例では、アクセストークンテーブル152において、ATと学校ID又はクラスIDとが対応付けて予め記憶される構成を採用してもよい。この場合、仲介サーバ100は、印刷要求に含まれるATに対応付けて記憶されているIDをキャッシュテーブル156に記憶させることができる。また、別の変形例では、図3のS142において、印刷設定及びファイル名が利用されずに判断されてもよい。即ち、「キャッシュ判断部」は、関連データを利用してキャッシュされているのか否かを判断しなくてもよい。
【0107】
(変形例10)上記の実施例では、仲介サーバ100のCPU132がプログラム140(即ちソフトウェア)を実行することによって、図3図9の各処理が実現される。これに代えて、いずれかの処理は、論理回路等のハードウェアによって実現されてもよい。
【0108】
また、本明細書または図面に説明した技術要素は、単独であるいは各種の組合せによって技術的有用性を発揮するものであり、出願時請求項記載の組合せに限定されるものではない。また、本明細書または図面に例示した技術は複数目的を同時に達成するものであり、そのうちの一つの目的を達成すること自体で技術的有用性を持つものである。
【符号の説明】
【0109】
2:通信システム、10,20:プリンタ、12,22:PC、100:印刷仲介サーバ、110:通信インターフェース、130:制御部、132:CPU、134:メモリ、140:プログラム、150:機能テーブル、152,152A:アクセストークンテーブル、154,154A:電子メールテーブル、156,156A:キャッシュテーブル、158:モデル名テーブル、200:教育コンテンツサーバ、300:情報コンテンツサーバ
図1
図2
図3
図4
図5
図6
図7
図8
図9
図10