(57)【要約】【課題】汎用性の高い機器で実行されるプログラムの不正なコピーや流用を防止または抑制する。【解決手段】印刷装置１は、プリンターユニット１５と、ＵＳＢＩ／Ｆ３３、記憶部３１、及びＣＰＵ２１を有するメイン制御基板３５とを備える。記憶部３１はデバイス制御プログラム３１ａ及び識別情報を記憶する。ＣＰＵ２１はデバイス制御プログラム３１ａを実行したときに記憶部３１に記憶された識別情報を取得して、識別情報に基づいてデバイス制御プログラム３１ａの機能を制御する。【選択図】図１
2015044291.tif 000002
【特許請求の範囲】
【請求項１】
印刷を行う印刷部と、
前記印刷部と接続する接続部、前記印刷部を制御する制御プログラムと識別情報とを記憶する記憶部、及び前記制御プログラムを実行したときに前記記憶部に記憶された前記識別情報を取得して前記識別情報に基づいて前記制御プログラムの機能を制御する制御部を有する制御基板と、
を備えることを特徴とする印刷装置。
【請求項２】
前記識別情報は、前記制御基板に係る情報である請求項１に記載の印刷装置。
【請求項３】
前記識別情報は、前記印刷部に係る情報である請求項１に記載の印刷装置。
【請求項４】
前記制御基板は、データの送受信を行う第２の接続部を有し、
前記制御部は、
前記識別情報が前記制御プログラムに含まれる予め設定された実行条件に対応するとき、前記制御プログラムを実行して前記第２の接続部に受信した前記データに基づき、前記印刷部を制御して印刷を実行させ、
前記識別情報が前記制御プログラムに含まれる予め設定された実行条件に対応しないとき、前記第２の接続部で受信した前記データに基づいて前記印刷部に印刷させない請求項１乃至３のいずれか１項に記載の印刷装置。
【請求項５】
前記制御部は、前記識別情報が前記制御プログラムに含まれる予め設定された実行条件に対応しないとき、前記制御プログラムの機能を制限する請求項１乃至３のいずれか１項に記載の印刷装置。
【請求項６】
制御基板に配設された記憶部に記憶された制御プログラムを実行し、
制御プログラムに前記制御基板の識別情報もしくは前記制御基板に接続される印刷部の識別情報を取得させ、
所得した前記識別情報が前記制御プログラムに含まれる予め設定された実行条件に対応するか否かを判別し、
判別した結果に基づいて、前記制御プログラムの機能を制御することを特徴とする印刷装置の制御方法。
【請求項７】
前記識別情報が前記実行条件に対応するとき、前記制御プログラムを実行して前記印刷部で印刷を実行し、
前記識別情報が前記実行条件に対応しないとき、前記印刷部に印刷を実行させない請求項６に記載の印刷装置の制御方法。
【請求項８】
接続部を有する制御基板により実行され、前記制御基板が前記接続部に接続された印刷部を制御するプログラムであって、
前記プログラムを実行するコンピューターにより、
前記印刷部または前記コンピューターに係る情報を取得する機能と、
取得した情報が予め設定された実行条件に対応しない場合に、前記プログラムの少なくとも一部の機能を実行不能とした状態で、前記プログラムを実行可能とする機能と、
取得した情報が予め設定された実行条件に対応する場合に、前記プログラムの機能を制限なく実行可能とする機能と、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷装置、印刷装置の制御方法、及び、プログラムに関する。
【背景技術】
【０００２】
従来、機器を制御するプログラムが不正にコピーされ流用されることを防止する技術が提案されている（例えば、特許文献１参照）。特許文献１記載の技術によれば、複合機がＳＤカードに記録されたファームウェアプログラムを実行する構成において、複合機の識別情報をファームウェアファイルに書き込む。複合機は、ファームウェアを実行する際に、複合機の機能によりファームウェアファイル中の識別情報を読み込んで照合を行い、情報が整合している場合にファームウェアを起動する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００５−４０９７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１記載の構成では、識別情報の照合を行ってファームウェアの不正な流用を防止する機能を、複合機により実行しているが、この種の方法を、汎用性の高い機器で実行されるプログラムに適用することは難しい。すなわち、汎用性の高い機器で実行可能なプログラムは、実行する機器の仕様を絞り込むことが難しいため、例えば情報の照合等を行う機能を持たない機器でも実行できる。このようなプログラムの実行ファイルやスクリプトファイルがコピーされ、他の機器で実行された場合に、これを阻止することは困難であった。
本発明は、上述した事情に鑑みてなされたものであり、汎用性の高い機器で実行されるプログラムについても不正なコピーや流用を防止または抑制することを目的とする。
【課題を解決するための手段】
【０００５】
上記目的を達成するために、本発明の印刷装置は、印刷を行う印刷部と、接続部、前記印刷部を制御する制御プログラムと識別情報とを記憶する記憶部、及び前記制御プログラムを実行したときに前記記憶部に記憶された前記識別情報を取得して前記識別情報に基づいて前記制御プログラムの機能を制御する制御部を有する制御基板と、を備えることを特徴とする。
本発明によれば、印刷部を制御する制御プログラムを実行する制御部が、制御プログラムを実行したときに、識別情報に基づき制御プログラムの機能が制御される。このため、例えば制御プログラムが不正にコピーされた場合に機能を制限する等の処理を、制御プログラムを実行する制御部によって実行できる。従って、汎用性の高い機器で実行されるプログラムの不正なコピーや流用を、このプログラムの機能を制御することによって防止または抑制できる。
【０００６】
また、上記印刷装置において、前記識別情報は、前記制御基板に係る情報であってもよい。
この場合、制御基板が有する制御部が制御プログラムを実行したときに、この制御基板が制御プログラムの正規の実行環境であるか否かを判定し、正規の実行環境でない場合には制御プログラムの機能を制御できる。これにより、汎用的な制御基板により実行可能な制御プログラムの不正なコピーや流用を、防止または抑制できる。
【０００７】
また、上記印刷装置において、前記識別情報は、前記印刷部に係る情報であってもよい。
この場合、制御部が制御プログラムを実行したときに、制御対象の印刷部が正規の実行環境であるか否かを判定し、正規の実行環境でない場合には制御プログラムの機能を制御できる。これにより、印刷部を制御する汎用的な制御プログラムの不正なコピーや流用を、防止または抑制できる。
【０００８】
また、上記印刷装置において、前記制御基板は、データの送受信を行う第２の接続部を有し、前記制御部は、前記識別情報が前記制御プログラムに含まれる予め設定された実行条件に対応するとき、前記制御プログラムを実行して前記第２の接続部に受信した前記データに基づき、前記印刷部を制御して印刷を実行させ、前記識別情報が前記制御プログラムに含まれる予め設定された実行条件に対応しないとき、前記第２の接続部で受信した前記データに基づいて前記印刷部に印刷させない。
本発明によれば、印刷部を制御する制御プログラムの不正なコピーや流用がされ、識別情報が予め設定された実行条件に対応しない場合には、制御プログラムが実行されても印刷部による印刷がされない。このため、制御プログラムを不正に流用した場合の実用性を低下させて、効果的に不正な流用を防止または抑制できる。
【０００９】
また、本発明は、上記印刷装置において、前記制御部は、前記識別情報が前記制御プログラムに含まれる予め設定された実行条件に対応しないとき、前記制御プログラムの機能を制限する。
本発明によれば、印刷部を制御する制御プログラムの不正なコピーや流用がされ、識別情報が予め設定された実行条件に対応しない場合に、制御プログラムの機能が制限される。このため、制御プログラムを不正に流用した場合の実用性を低下させ、効果的に不正な流用を防止または抑制できる。
【００１０】
また、上記目的を達成するために、本発明の印刷装置の制御方法は、制御基板に配設された記憶部に記憶された制御プログラムを実行し、制御プログラムに前記制御基板の識別情報もしくは前記制御基板に接続される印刷部の識別情報を取得させ、所得した前記識別情報が前記制御プログラムに含まれる予め設定された実行条件に対応するか否かを判別し、判別した結果に基づいて、前記制御プログラムの機能を制御することを特徴とする。
本発明によれば、制御プログラムが実行される際に、制御基板もしくは印刷部の識別情報が予め設定された実行条件に対応するか否かが判別され、制御プログラムの機能が制御される。このため、例えば制御プログラムが不正にコピーされた場合に機能を制限する等の処理が、制御プログラムを実行する際に実行されるので、汎用性の高い機器で実行されるプログラムの不正なコピーや流用を防止または抑制できる。
【００１１】
また、本発明は、上記印刷装置の制御方法において、前記識別情報が前記実行条件に対応するとき、前記制御プログラムを実行して前記印刷部で印刷を実行し、前記識別情報が前記実行条件に対応しないとき、前記印刷部に印刷を実行させない。
本発明によれば、識別情報が予め設定された実行条件に対応しない場合には、制御プログラムが実行されても印刷部による印刷がされない。このため、制御プログラムを不正に流用した場合の実用性を低下させて、効果的に不正な流用を防止または抑制できる。
【００１２】
また、上記目的を達成するために、本発明のプログラムは、接続部を有する制御基板により実行され、前記制御基板が前記接続部に接続された印刷部を制御するプログラムであって、前記プログラムを実行するコンピューターにより、前記印刷部または前記コンピューターに係る情報を取得する機能と、取得した情報が予め設定された実行条件に対応しない場合に、前記プログラムの少なくとも一部の機能を実行不能とした状態で、前記プログラムを実行可能とする機能と、取得した情報が予め設定された実行条件に対応する場合に、前記プログラムの機能を制限なく実行可能とする機能と、を実行させるためのプログラムである。
本発明によれば、印刷部またはコンピューターに係る情報が実行条件に対応しない場合に、プログラムの少なくとも一部の機能が実行不能となるので、プログラムの不正なコピーや流用を防止または抑制できる。この制御は、印刷部を制御するプログラムを実行したコンピューターが行うため、プログラムの実行を制御する機能を他の機能部に持たせる必要がない。また、プログラムの少なくとも一部の機能を実行不能とした状態で、プログラムを実行可能とする機能により、例えばプログラムが不正にコピーや流用された場合に、コンピューターの故障や不具合等と明確に区別可能な態様で、プログラムの機能を制限する。従って、汎用性の高い機器で実行されるプログラムの不正なコピーや流用を効果的に防止または抑制できる。
【００１３】
本発明によれば、汎用性の高い機器で実行されるプログラムの不正なコピーや流用を防止または抑制できる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る印刷システムの機能ブロック図である。
【図２】印刷装置のメイン制御基板における構成を詳細に示すブロック図である。
【図３】印刷装置の動作を示すフローチャートである。
【図４】印刷システムの動作を示すフローチャートである。
【図５】印刷システムの動作を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の実施形態について説明する。
図１に示す印刷システム２は、印刷装置１と、タブレット端末３（端末）と、管理サーバー４と、を備えている。
印刷装置１とタブレット端末３とは、ＬＡＮ（ローカルエリアネットワーク）等のネットワークを介して無線通信可能に構成され、同様に、タブレット端末３と管理サーバー４とは、ＬＡＮ等を介して無線通信可能に構成されている。各装置間の通信方式は、上記方式に限らず、どのような方式であってもよい。
【００１６】
印刷装置１は、制御部３０、記憶部３１、インターフェース部３２、ＵＳＢＩ／Ｆ（インターフェース）３３、及び、プリンターユニット１５を備えている。
制御部３０は、ＣＰＵ、ＲＯＭ、ＲＡＭ、及び、その他の周辺回路等を備え、印刷装置１の各部を制御する。制御部３０が備える機能ブロックについては後述する。制御部３０を構成する集積回路や回路素子、これらの回路に付随する構成部材を含むハードウェアは、メイン制御基板３５に実装されている。
記憶部３１は、ＥＥＰＲＯＭや、ハードディスク等の不揮発性メモリーを備え、各種プログラムやデータを記憶部３１により読み取り可能な状態で記憶する。
インターフェース部３２（第２の接続部）は、制御部３０の制御の下、タブレット端末３との間で、所定の通信規格に準拠して通信する。
【００１７】
ＵＳＢＩ／Ｆ３３（接続部）は、ＵＳＢポート３３ａ、３３ｂ、３３ｃを備えている。各ＵＳＢポート３３ａ、３３ｂ、３３ｃのうち少なくとも１つのＵＳＢポートは内部接続のポートである。ＵＳＢＩ／Ｆ３３が備えるＵＳＢポートの数、及び内部接続のＵＳＢポートの数は任意であり、本実施形態では内部接続のＵＳＢポート３３ａにプリンターユニット１５が接続されている。また、ＵＳＢＩ／Ｆ３３が有するＵＳＢポート３３ｂ、３３ｃは、外部コネクター１１、１１に接続される。外部コネクター１１ａ、１１ｂには印刷装置１の外部の装置がＵＳＢケーブル（図示略）を介して接続される。プリンターユニット１５は印刷装置１に内蔵されるユニットであるが、制御部３０には、外部コネクター１１ａ、１１ｂに接続される機器と同様に、ＵＳＢ接続された装置として認識される。
ＵＳＢＩ／Ｆ３３は、ＵＳＢポート３３ａ、３３ｂ、３３ｃを、ポートＩＤにより識別する。ポートＩＤは、ＵＳＢＩ／Ｆ３３が備えるＵＳＢポート３３ａ、３３ｂ、３３ｃに予め付された個別の識別情報である。ＵＳＢＩ／Ｆ３３は、いわゆるＵＳＢルートハブを構成し、このＵＳＢルートハブのＵＳＢポート３３ａ、３３ｂ、３３ｃには固有のポートＩＤが付与されている。また、例えば外部コネクター１１ａ、１１ｂにＵＳＢハブが接続され、ＵＳＢＩ／Ｆ３３が管理する論理上のＵＳＢポート数が増加した場合、ＵＳＢＩ／Ｆ３３は、ＵＳＢＩ／Ｆ３３に繋がる各ＵＳＢポートにポートＩＤを付与する。従って、内部接続のＵＳＢポート３３ａを含む、ＵＳＢＩ／Ｆ３３に繋がるＵＳＢポートにはポートＩＤが付与され、これらのポートＩＤは制御部３０により識別できる。
【００１８】
プリンターユニット１５は、図示しないロール紙等の印刷媒体に文字や画像を印刷するユニットである。プリンターユニット１５は、メイン制御基板３５のＵＳＢＩ／Ｆ３３に接続されるＩ／Ｆ（インターフェース）１９を備えている。Ｉ／Ｆ１９は、ＵＳＢＩ／Ｆ３３のＵＳＢポート３３ａに接続され、ＵＳＢ規格に準拠した通信を実行する。
プリンターユニット１５は、プリンターユニット１５の各部を制御するプリンター制御部１７を備えている。プリンター制御部１７は、プリンター制御基板１６に実装され、Ｉ／Ｆ１９に接続されている。また、プリンター制御部１７には、印刷ヘッド、印刷媒体を搬送する搬送機構等を有する印刷機構部１８が接続されている。プリンター制御部１７は、Ｉ／Ｆ１９を介してメイン制御基板３５から入力されるコマンド及びデータに基づいて印刷機構部１８を駆動し、印刷媒体に文字や画像を印刷させる。ここで、印刷機構部１８は、インクジェット式、ドットインパクト式、或いはサーマル式の印刷ヘッドを有する構成とすることができ、その印刷方式は特に限定されない。また、印刷機構部１８が印刷する印刷媒体は、ロール形状に巻き回されたロール紙のほか、所定サイズのカット紙やファンフォールド紙を用いる構成としてもよい。また、印刷媒体は普通紙、感熱紙、ラベル紙等が挙げられ、印刷機構部１８の印刷方式に合わせて適宜選択できる。
プリンター制御部１７は、プリンターユニット１５のハードウェアの仕様、型式、製造番号、固有のＩＤ等を含む、プリンターユニット１５の識別情報を、プリンターユニット１５が備えるＲＯＭ（図示略）やフラッシュメモリー（図示略）に記憶する。プリンターユニット１５の識別情報はプリンターユニット１５に固有であって、この識別情報をもとに、プリンターユニット１５を他の印刷装置等と区別できる。
【００１９】
一方、タブレット端末３は、タブレット型（板状）のコンピューターであり、前面にタッチパネル４０が設けられ、タッチパネル４０に対するタッチ操作によって各種入力を行うことが可能である。
タブレット端末３は、タッチパネル４０と、端末制御部４１と、インターフェース部４２と、を備えている。
タッチパネル４０は、タブレット端末３の前面に配置された表示パネル４４と、この表示パネル４４に重ねて配置されたタッチセンサー４５とが一体となって構成されている。表示パネル４４は、液晶表示パネル、有機ＥＬパネル、電子ペーパー等のディスプレイである。タッチセンサー４５は、表示パネル４４に重ねて配置された静電容量式もしくは感圧式のセンサーであり、ユーザーの手指やペン型操作デバイスによるタッチ操作を検出し、端末制御部４１に出力する。
端末制御部４１は、ＣＰＵや、ＲＯＭ、ＲＡＭ、その他の周辺回路等を備え、タブレット端末３の各部を制御する。端末制御部４１は、機能ブロックとして、ブラウザー実行部４１ａを備えている。ブラウザー実行部４１ａは、インストールされたブラウザープログラムを実行することにより、その機能が実現される機能ブロックである。ブラウザー実行部４１ａは、「ウェブブラウザー」として機能する。
インターフェース部４２は、端末制御部４１の制御の下、印刷装置１、及び、管理サーバー４と、所定の通信規格に準拠して通信を行う。
【００２０】
管理サーバー４は、クライアントとしてのタブレット端末３のブラウザー実行部４１ａからの要求に応じて、ＨＴＴＰ等の所定のプロトコルに準拠した表示ファイルを生成して出力するウェブサーバーとして機能する。
管理サーバー４では、インストールされたウェブアプリケーションＡＰが動作している。管理サーバー４は、ウェブアプリケーションＡＰの機能により、タブレット端末３のブラウザー実行部４１ａからの所定のＵＲＬへのアクセスに応じて、対応する表示ファイルをブラウザー実行部４１ａに送信する。また、管理サーバー４は、ウェブアプリケーションＡＰの機能により、タブレット端末３のブラウザー実行部４１ａからの要求に応じて、所定の演算処理を実行し、処理結果を示すデータをブラウザー実行部４１ａに送信する。
【００２１】
印刷装置１の制御部３０が備える通信制御部３０ａは、タブレット端末３のブラウザー実行部４１ａとの間でＷｅｂＳｏｃｋｅｔ（ウェブソケット）等の所定の通信規格に準拠してコネクションを張り、ブラウザー実行部４１ａとの間で通信経路を確立する機能を有する。さらに、通信制御部３０ａは、確立した通信経路を介してブラウザー実行部４１ａとの間で、データの送受信を実行する機能を有している。
通信制御部３０ａは、タブレット端末３のブラウザー実行部４１ａから制御データを受信した場合、受信した制御データをデバイス制御部３０ｂに出力する。制御データは、タブレット端末３のブラウザー実行部４１ａが生成した印刷の指示及び印刷する文字や画像のデータを含む。これらのデータはタブレット端末３が表示するウェブページの表示に基づき、タッチパネル４０で行われる操作に基づいて生成される。
【００２２】
デバイス制御部３０ｂは、通信制御部３０ａから制御データが入力された場合、制御データに含まれる印刷の指示及び印刷データをプリンターユニット制御部３０ｃに出力する。また、デバイス制御部３０ｂは、プリンターユニット制御部３０ｃからデータが入力された場合、入力されたデータを通信制御部３０ａに出力する。通信制御部３０ａは、デバイス制御部３０ｂからデータが入力された場合、確立した通信経路を介して入力されたデータをタブレット端末３のブラウザー実行部４１ａに送信する。
【００２３】
また、デバイス制御部３０ｂは、プリンターユニット制御部３０ｃを制御することによって、プリンターユニット１５を動作させる。これにより、プリンターユニット１５が、タブレット端末３における操作に対応して、文字や画像を印刷媒体に印刷し、印刷物を出力できる。
【００２４】
プリンターユニット制御部３０ｃは、インストールされたプリンタードライバーの機能により以下の処理を実行する。すなわち、プリンターユニット制御部３０ｃは、デバイス制御部３０ｂから制御データが入力された場合、制御データに含まれる印刷の指示及び印刷データを抽出する。プリンターユニット制御部３０ｃは、プリンターユニット１５のコマンド体系に準拠したコマンド及びデータに変換する。次いで、プリンターユニット制御部３０ｃは、生成したコマンド及びデータを、所定のタイミングでプリンターユニット１５に出力し、印刷を実行させる。
また、プリンターユニット制御部３０ｃは、プリンターユニット１５から印刷結果や動作状態等を示すデータが入力された場合、入力されたデータを、ブラウザー実行部４１ａが処理可能なデータ（ウェブアプリケーションＡＰが処理可能なデータ）に変換する。次いで、プリンターユニット制御部３０ｃは、変換後のデータをデバイス制御部３０ｂへと出力する。
【００２５】
図２は、印刷装置１のメイン制御基板３５における構成を詳細に示すブロック図である。
メイン制御基板３５は、ＣＰＵ２１、バスコントローラー２２、Ｉ／Ｏコントローラー２３、ＲＡＭ２４、Ｉ／Ｏ２５、ＲＯＭ２６、グラフィックスコントローラー２７、及び、ＵＳＢＩ／Ｆ３３を備えている。これらの各部は、メイン制御基板３５に実装されたＩＣ（集積回路）で構成される。ＣＰＵ２１は、ＲＯＭ２６や記憶部３１に記憶されたプログラムを読み出して実行し、各種データを処理する。バスコントローラー２２は、データバスを介して接続されたＣＰＵ２１とＲＡＭ２４との間のデータの送受信を制御する。ＲＡＭ２４は、ＣＰＵ２１が実行するプログラムや処理対象のデータ等を一時的に記憶する。
【００２６】
また、バスコントローラー２２は、記憶部３１との間でデータバスを介して接続され、記憶部３１にアクセスして、ＣＰＵ２１と記憶部３１との間のデータの送受信を制御する。また、Ｉ／Ｏコントローラー２３には、Ｉ／Ｏ２５、ＲＯＭ２６、グラフィックスコントローラー２７、及びＵＳＢＩ／Ｆ３３が接続されている。Ｉ／Ｏコントローラー２３は、これらの各部とＣＰＵ２１との間のデータの送受信を制御する。Ｉ／Ｏ２５はメイン制御基板３５の外部の機器との間でデータを入出力するインターフェースを構成する。また、ＲＯＭ２６は、ＣＰＵ２１が実行する基本制御プログラムやデータを不揮発的に記憶する。グラフィックスコントローラー２７は、ＣＰＵ２１が処理したデータ等に基づき表示データを生成する。このグラフィックスコントローラー２７が生成する表示データは、Ｉ／Ｏ２５に接続される図示しないモニター装置により表示される。ここで、バスコントローラー２２、Ｉ／Ｏコントローラー２３、ＲＡＭ２４、及びＩ／Ｏ２５が処理するデータはプログラムを含む。
【００２７】
バスコントローラー２２及びＩ／Ｏコントローラー２３は、チップセットと呼ばれる１つのＬＳＩ（大規模集積回路）または複数のＬＳＩにより構成される。ＲＡＭ２４は、ＤＲＡＭ素子やＳＲＡＭ素子等の半導体記憶素子により構成され、ＲＯＭ２６はＥＥＰＲＯＭやフラッシュメモリー等の不揮発性の半導体記憶素子により構成される。また、Ｉ／Ｏ２５及びグラフィックスコントローラー２７は、Ｉ／Ｏコントローラー２３とともに１つのＬＳＩに集積して実装することも可能であるし、各々を独立したＩＣにより構成してもよい。また、図２に示したＣＰＵ２１、バスコントローラー２２、Ｉ／Ｏコントローラー２３、ＲＡＭ２４、Ｉ／Ｏ２５、ＲＯＭ２６、及びグラフィックスコントローラー２７のうち一部または全部を、ＳｏＣ（System on Chip）として１つのＬＳＩに集積してもよい。
【００２８】
ＲＯＭ２６は、メイン制御基板３５に実装されたハードウェアの仕様、型式、製造番号、固有のＩＤ等を含む、各ハードウェアに付与された識別情報を記憶する。この識別情報は、メイン制御基板３５に実装されたハードウェア毎に記憶していてもよいし、メイン制御基板３５に実装された一部のハードウェアについて、識別情報を記憶していてもよい。
【００２９】
図２に示すメイン制御基板３５の各ハードウェアは、ＣＰＵ２１が記憶部３１に記憶されたデバイス制御プログラム３１ａを実行することにより、通信制御部３０ａ、デバイス制御部３０ｂ、及び、プリンターユニット制御部３０ｃの機能を実現する。
ここで、タブレット端末３のウェブブラウザーで動作するウェブアプリケーションＡＰは、印刷装置１に、所定の処理を実行するオブジェクトを生成する機能を備えている。オブジェクトとは、本実施形態では、オブジェクト指向プログラミングにおけるインスタンス、すなわち、データ、及び、メソッドの集合として定義されたソフトウェアの機能ブロックを意味する。ただし、オブジェクトは、オブジェクト指向プログラミングにおけるインスタンスに限らず、所定の処理を実行するソフトウェアであればよい。
そして、本実施形態では、通信制御部３０ａ、デバイス制御部３０ｂ、及び、プリンターユニット制御部３０ｃは、タブレット端末３のウェブブラウザーで動作するウェブアプリケーションＡＰにより生成されたオブジェクトに対応している。すなわち、ＣＰＵ２１がデバイス制御プログラム３１ａを実行し、ウェブアプリケーションＡＰの要求に応じて、オブジェクトとして通信制御部３０ａ、デバイス制御部３０ｂ及びプリンターユニット制御部３０ｃを生成する。
【００３０】
制御部３０は、タブレット端末３から送信されるＸＭＬ（Extensible Markup Language）形式のデータを受信し、このデータに基づく処理を実行する。例えば制御部３０は、印刷の指示と印刷データとを含む制御データが、ＸＭＬ形式のデータとしてタブレット端末３から送信されると、このＸＭＬデータに基づいてデバイス制御部３０ｂがプリンターユニット制御部３０ｃを制御する。プリンターユニット制御部３０ｃは、デバイス制御部３０ｂの制御に従い、ＸＭＬデータからコマンド及びデータを生成する処理を行い、コマンド及びデータをプリンターユニット１５に出力する。
また、プリンターユニット制御部３０ｃは、プリンターユニット１５から入力されたデータをＸＭＬ形式のデータに変換してデバイス制御部３０ｂに出力し、デバイス制御部３０ｂは、このＸＭＬデータを通信制御部３０ａによりタブレット端末３へ送信する。
【００３１】
制御部３０の通信制御部３０ａ、デバイス制御部３０ｂ、及びプリンターユニット制御部３０ｃの機能の一部は、印刷装置１のオペレーティングシステムの機能により実現されてもよい。すなわち、制御部３０は、オペレーティングシステムを実行し、このオペレーティングシステムのアプリケーションプログラムとして、デバイス制御プログラム３１ａを実行することもできる。この場合も、デバイス制御部３０ｂ及びプリンターユニット制御部３０ｃにより、ＸＭＬデータに基づきプリンターユニット１５を制御して印刷させる機能は、デバイス制御プログラム３１ａにより実現される。
【００３２】
ここで、制御部３０が実行するオペレーティングシステムとしては、パーソナルコンピューター、ウェブサーバー、或いは組み込み機器等で実行可能な、汎用的なオペレーティングシステムを用いることができる。この場合、制御部３０と同じオペレーティングシステムで動作する機器が多数存在することになる。デバイス制御プログラム３１ａは、制御部３０のオペレーティングシステムで動作するプログラムである。このため、デバイス制御プログラム３１ａを構成する１つのファイルまたは複数のファイルを、制御部３０と同じオペレーティングシステムで動作する他の機器にコピーした場合、この機器でデバイス制御プログラム３１ａを実行できる可能性がある。すると、例えばデバイス制御部３０ｂ及びプリンターユニット制御部３０ｃにより、ＸＭＬデータに基づいてプリンターユニット１５を動作させて印刷を実行する機能を、他の機器でも実行できる可能性がある。プリンターユニット１５は上述のように、ＵＳＢ規格に準拠したＵＳＢＩ／Ｆ３３を介して接続されるため、プリンターユニット１５も汎用性を有する。このように、記憶部３１に記憶されたデバイス制御プログラム３１ａを構成するファイルの不正なコピー、及び、他の機器への不正な流用が起こり得る。
【００３３】
そこで、本実施形態では、デバイス制御プログラム３１ａをＣＰＵ２１が実行した場合に、実行環境の認証を行う機能を備えている。この機能は、デバイス制御プログラム３１ａを構成する１つのファイルまたは複数のファイルの機能として実装される。このため、デバイス制御プログラム３１ａを他の機器で実行した場合、この機器において、デバイス制御プログラム３１ａの起動時に実行環境の認証が実行される。デバイス制御プログラム３１ａによる実行環境の認証は、下記（１）〜（３）の少なくともいずれかの判定を含む。
（１）デバイス制御プログラム３１ａを実行する制御部３０が備えるチップセット（図２のバスコントローラー２２及びＩ／Ｏコントローラー２３）の識別情報を取得し、取得した識別情報が、予め設定された識別情報と一致または適合する。
（２）制御対象のプリンターユニット１５が接続されたＵＳＢポート３３ａのポートＩＤを取得し、取得したポートＩＤ（識別情報）が、予め設定された識別情報と一致または適合する。
（３）制御対象のプリンターユニット１５の識別情報を取得し、取得した識別情報が、予め設定された識別情報と一致または適合する。
【００３４】
上記（１）〜（３）の判定に用いる、予め設定された識別情報（実行条件）とは、事前に記憶部３１に記憶されている情報である。この識別情報は、ＣＰＵ２１がデバイス制御プログラム３１ａを実行したときに、ＣＰＵ２１によって参照可能な形態で、記憶されていればよい。例えば、実行条件としての上記識別情報が、記憶部３１に、デバイス制御プログラム３１ａに対応付けられて記憶されていてもよく、デバイス制御プログラム３１ａを構成するファイルに含まれて記憶されていてもよい。具体的には、デバイス制御プログラム３１ａを構成する１つのファイルに上記識別情報が書き込まれている形態、或いは、デバイス制御プログラム３１ａを構成する複数のファイルの中に識別情報を記述したファイルが含まれる形態とすることができる。また、これらの識別情報が、印刷装置１に外部接続される可搬型の記録媒体や、印刷装置１と通信可能な他の装置が備える記憶部に記憶されていてもよい。ＣＰＵ２１が実行するデバイス制御プログラム３１ａに、記憶部３１または記録媒体若しくは他の装置の記憶部から、実行条件としての上記識別情報を取得する機能が実装されていればよい。
【００３５】
また、印刷装置１において、チップセットの識別情報、制御対象のプリンターユニット１５が接続されたＵＳＢポート３３ａのポートＩＤ、及び、制御対象のプリンターユニット１５の識別情報のいずれか又は全てが、記憶部３１に記憶されていてもよい。この識別情報は、ＣＰＵ２１がデバイス制御プログラム３１ａを実行したときに、上記（１）〜（３）の判定により、実行条件に対応するか否か判定される、判定対象の情報である。例えば、制御部３０が有するチップセットの識別情報はＲＯＭ２６に記憶されていてもよいし、この識別情報が記憶部３１に記憶されていてもよい。この場合、ＣＰＵ２１が実行するデバイス制御プログラム３１ａに、識別情報を取得する場合に記憶部３１から、これらの識別情報を取得する機能が実装されていればよい。本発明の記憶部は、記憶部３１に限定されず、判定対象の識別情報を記憶する記憶部３１、ＲＯＭ２６、プリンターユニット１５が備えるＲＯＭ（図示略）やフラッシュメモリー（図示略）等が相当する。
【００３６】
デバイス制御プログラム３１ａを実行するＣＰＵ２１は、上記（１）〜（３）の判定の少なくともいずれかを実行する。判定により、取得した識別情報が予め設定された識別情報と一致または適合する場合に、デバイス制御プログラム３１ａの機能を実行する。また、取得した識別情報が予め設定された識別情報と一致しない又は適合しない場合には、デバイス制御プログラム３１ａの機能のうち少なくとも一部の機能を制限する。本実施形態では、デバイス制御プログラム３１ａにより実現される機能のうち、プリンターユニット１５を制御する機能の実行を禁止する。
また、（１）〜（３）のうち複数の判定を行う場合には、いずれか１つの判定において、取得した識別情報が予め設定された識別情報（実行条件）と一致しない又は適合（対応）しない場合に、機能を制限するようにしてもよい。言い換えれば、全ての判定において、取得した識別情報が予め設定された識別情報と一致又は適合した場合に、デバイス制御プログラム３１ａの機能を制限することなく実行可能としてもよい。或いは、いずれか１つの判定において、取得した識別情報が予め設定された識別情報と一致又は適合した場合に、デバイス制御プログラム３１ａの機能を制限することなく実行してもよい。
【００３７】
このように、デバイス制御プログラム３１ａは、デバイス制御プログラム３１ａをＣＰＵ２１が実行した場合に最初に実行環境を認証するために識別情報を判定し、判定に失敗した場合に、デバイス制御プログラム３１ａの少なくとも一部の機能の実行を制限する。このため、デバイス制御プログラム３１ａを構成するファイルが不正にコピーされ、他の機器で不正に流用されることを防止できる。また、デバイス制御プログラム３１ａの機能の一部を制限する場合には、制限を受けない他の機能が実行可能となるので、コンピューターの故障や不具合、或いはコピーの失敗が発生したときとは明らかに異なる動作が行われる。このため、デバイス制御プログラム３１ａの不正なコピーや流用を防止する機能により、一部の機能が制限されていることが明らかになる。このため、不正なコピーや流用を牽制する効果があり、より確実に不正なコピーや流用を防止または抑制できる。
【００３８】
図３は、印刷装置１の起動時の動作を示すフローチャートである。
印刷装置１の電源がオンされると（ステップＳ１１）、ＣＰＵ２１は記憶部３１に記憶されたオペレーティングシステムを起動し（ステップＳ１２）、予め設定されたスタートアップシーケンスを実行する（ステップＳ１３）。このスタートアップシーケンスには、印刷装置１の各部の初期化に係る処理、及び、デバイス制御プログラム３１ａの起動が含まれる。また、オペレーティングシステムの起動に先だって、ＣＰＵ２１は、ＲＯＭ２６に記憶された基本制御プログラムを実行してもよい。
【００３９】
制御部３０は、デバイス制御プログラム３１ａの実行を開始し（ステップＳ１４）、メイン制御基板３５に実装されたチップセットの識別情報を取得する（ステップＳ１５）。ＣＰＵ２１は、ステップＳ１５で取得したチップセットの識別情報が、予め設定されたチップセットの識別情報（実行条件）と一致するか否かを判定する（ステップＳ１６）。識別情報が一致した場合（ステップＳ１６；Ｙｅｓ）、ＣＰＵ２１は、ＵＳＢＩ／Ｆ３３を介してプリンターユニット１５にアクセスし、プリンターユニット１５が有する識別情報を取得する（ステップＳ１７）。
【００４０】
ＣＰＵ２１は、ステップＳ１７でプリンターユニット１５から取得した識別情報が、予め設定されたプリンターの識別情報（実行条件）と一致するか否かを判定する（ステップＳ１８）。ここで、識別情報が一致した場合（ステップＳ１８；Ｙｅｓ）、ＣＰＵ２１は、ＵＳＢＩ／Ｆ３３においてプリンターユニット１５が接続されたＵＳＢポート３３ａのポートＩＤを取得する（ステップＳ１９）。ＣＰＵ２１は、ステップＳ１９で取得したポートＩＤが、予め設定されたポートＩＤ認証の識別情報（実行条件）と一致するか否かを判定する（ステップＳ２０）。ポートＩＤが一致した場合（ステップＳ２０；Ｙｅｓ）、ＣＰＵ２１は、デバイス制御プログラム３１ａを制限なしで実行する状態に移行し（ステップＳ２１）、スタートアップシーケンスの残りを実行する（ステップＳ２２）。
【００４１】
一方、チップセットの識別情報が予め設定された識別情報と一致しない場合（ステップＳ１６；Ｎｏ）、ＣＰＵ２１は、デバイス制御プログラム３１ａを制限付きで実行する状態に移行し（ステップＳ２３）、ステップＳ２２に移行する。また、プリンターユニット１５の識別情報が予め設定された情報と一致しない場合（ステップＳ１８；Ｎｏ）、及び、ステップＳ１９で取得したポートＩＤが予め設定された情報と一致しない場合（ステップＳ１２０；Ｎｏ）も、ステップＳ２３に移行する。この図３の動作では、チップセットの識別情報、プリンターユニット１５の識別情報、及び、ＵＳＢポートのポートＩＤのいずれかが一致しない場合に、デバイス制御プログラム３１ａが制限付きで実行される。デバイス制御プログラム３１ａが制限付きで実行された場合、後述するように、タブレット端末３の操作に応じてプリンターユニット１５が印刷する機能の実行が禁止される。
【００４２】
図４は、印刷システム２の動作を示すフローチャートであり、特に、図３のステップＳ２１でデバイス制御プログラム３１ａが実行された場合の動作を示す。図４（Ａ）はタブレット端末３の動作を示し、図４（Ｂ）は印刷装置１の動作を示す。
タブレット端末３においてウェブページが表示された状態で（ステップＳ３１）、タッチパネル４０の操作により入力が行われ、印刷すべきデータが生成される（ステップＳ３２）。タブレット端末３は、ウェブブラウザーの機能により、印刷の指示と印刷するデータとを含むＸＭＬデータを印刷装置１に送信し（ステップＳ３３）、印刷装置１の通信制御部３０ａはＸＭＬデータを受信する（ステップＳ４１）。
【００４３】
デバイス制御部３０ｂは、通信制御部３０ａにより受信されたＸＭＬデータに基づき、プリンターユニット制御部３０ｃを制御して、プリンターユニット１５に適した印刷コマンド及び印刷データを生成し、プリンターユニット１５に出力する（ステップＳ４２）。ここで、プリンターユニット１５は印刷を実行した後、印刷結果を示すステータスを出力し、プリンターユニット制御部３０ｃはプリンターユニット１５からステータスを取得する（ステップＳ４３）。プリンターユニット制御部３０ｃは取得したステータスをデバイス制御部３０ｂに出力し、デバイス制御部３０ｂはプリンターユニット１５の印刷結果を示すＸＭＬデータを生成する。生成されたＸＭＬデータが通信制御部３０ａによりタブレット端末３に送信される（ステップＳ４４）。
タブレット端末３は、印刷装置１から送信された印刷結果を受信して（ステップＳ３４）、例えばウェブページに印刷結果を表示する。
【００４４】
図５は、印刷システム２の動作を示すフローチャートであり、特に、図３のステップＳ２３でデバイス制御プログラム３１ａが制限付きで実行された場合の動作を示す。図５（Ａ）はタブレット端末３の動作を示し、図５（Ｂ）は印刷装置１の動作を示す。また、図５（Ａ）、（Ｂ）において図４（Ａ）、（Ｂ）と同様の処理には同じステップ番号を付して説明を省略する。
印刷装置１の通信制御部３０ａは、ＸＭＬデータを受信し（ステップＳ４１）、その後に、デバイス制御プログラム３１ａの機能が制限されていることを確認する（ステップＳ４５）。通信制御部３０ａは、デバイス制御部３０ｂ及びプリンターユニット制御部３０ｃの機能が制限されているため、受信したＸＭＬデータの変換等を行わずに、このＸＭＬデータを読み捨てる処理を行う（ステップＳ４６）。ここで、通信制御部３０ａは受信したＸＭＬデータに関する処理を終了し、タブレット端末３へのステータスの送信等を行わない。タブレット端末３は、印刷装置１からステータス等が送信されないため、印刷装置１に送信した印刷の指示に関する動作を停止する。
なお、ステップＳ４６でデータを読み捨てた後、通信制御部３０ａが、タブレット端末３に対してエラーを通知しても良い。
【００４５】
以上説明したように、本発明を適用した実施形態に係る印刷装置１は、プリンターユニット１５と、ＵＳＢＩ／Ｆ３３、記憶部３１、及びＣＰＵ２１を有するメイン制御基板３５とを備える。記憶部３１は、プリンターユニット１５を制御するデバイス制御プログラム３１ａを記憶する。また、印刷装置１は、記憶部３１または他の記憶部に、識別情報を記憶する。ＣＰＵ２１は、デバイス制御プログラム３１ａを実行したときに、記憶部に記憶された識別情報を取得して、この識別情報に基づいてデバイス制御プログラム３１ａの機能を制御する。例えば、条件を満たさない装置によりデバイス制御プログラム３１ａが実行された場合に、デバイス制御プログラム３１ａの機能が制限される。このように、デバイス制御プログラム３１ａが不正にコピーや流用された場合に機能を制限する等の処理を、このデバイス制御プログラム３１ａを実行するＣＰＵ２１によって実行できる。従って、汎用性の高い機器で実行されるプログラムの不正なコピーや流用を、このプログラムの機能を制御することによって防止または抑制できる。
【００４６】
また、印刷装置１が記憶部に記憶する識別情報は、メイン制御基板３５に係る情報であってもよく、この場合、メイン制御基板３５がデバイス制御プログラム３１ａの正規の実行環境であるか否かが判定される。また、印刷装置１が記憶部に記憶する識別情報は、プリンターユニット１５に係る情報であってもよい。この場合、制御対象のプリンターユニット１５が正規の実行環境であるか否かが判定される。そして、判定結果に基づきデバイス制御プログラム３１ａの機能が制御されるので、実行環境を適切に判定して、デバイス制御プログラム３１ａの不正なコピーや流用を防止または抑制できる。
【００４７】
また、メイン制御基板３５は、データの送受信を行うインターフェース部３２を備えている。ＣＰＵ２１は、識別情報が予め設定された実行条件に対応するとき、例えば取得した識別情報が実行条件である識別情報に一致または適合するときに、インターフェース部３２で受信したデータに基づき、プリンターユニット１５を制御して印刷させる。また、識別情報が予め設定された実行条件に対応しないとき、インターフェース部３２で受信したデータに基づく印刷をさせない。このため、デバイス制御プログラム３１ａの機能のうち印刷に係る制御が制限されるので、デバイス制御プログラム３１ａを不正にコピーや流用した場合の実用性を低下させて、不正なコピーや流用を防止または抑制できる。
【００４８】
なお、上述した実施の形態は、あくまでも本発明の一態様を示すものであり、本発明の範囲内で任意に変形および応用が可能である。
例えば、上述した実施形態では、図３において予め設定された識別情報と取得した識別情報またはポートＩＤが一致しない場合に、デバイス制御プログラム３１ａを制限付きで実行していた。本発明はこれに限定されず、実行条件が、複数の識別情報や複数のポートＩＤに対応する条件であってもよい。この場合、実行条件に対応する識別情報が複数存在するため、デバイス制御プログラム３１ａの機能を制限する条件を緩和できるので、デバイス制御プログラム３１ａを、複数の実行環境で実行できる。
また、図１に示す各機能ブロックはハードウェアとソフトウェアの協働により任意に実現可能であり、特定のハードウェア構成を示唆するものではない。また、デバイス制御プログラム３１ａが印刷装置１に外部接続される記憶媒体に記憶され、このデバイス制御プログラムを印刷装置１にダウンロードして実行する構成としてもよい。
【符号の説明】
【００４９】
１…印刷装置、３…タブレット端末、４…管理サーバー、１５…プリンターユニット（印刷部）、２１…ＣＰＵ（制御部）、２２…バスコントローラー、２３…Ｉ／Ｏコントローラー、３０…制御部、３０ａ…通信制御部、３０ｂ…デバイス制御部、３０ｃ…プリンターユニット制御部、３１…記憶部、３１ａ…デバイス制御プログラム（制御プログラム、プログラム）、３２…インターフェース部（第２の接続部）、３３…ＵＳＢＩ／Ｆ、３３ａ、３３ｂ、３３ｃ…ＵＳＢポート、３５…メイン制御基板（制御基板）。
【図１】
2015044291.tif 000003
【図２】
2015044291.tif 000004
【図３】
2015044291.tif 000005
【図４】
2015044291.tif 000006
【図５】
2015044291.tif 000007