[go: up one dir, main page]

JP5725873B2 - 印刷システム、情報処理装置、及びその方法 - Google Patents

印刷システム、情報処理装置、及びその方法 Download PDF

Info

Publication number
JP5725873B2
JP5725873B2 JP2011005953A JP2011005953A JP5725873B2 JP 5725873 B2 JP5725873 B2 JP 5725873B2 JP 2011005953 A JP2011005953 A JP 2011005953A JP 2011005953 A JP2011005953 A JP 2011005953A JP 5725873 B2 JP5725873 B2 JP 5725873B2
Authority
JP
Japan
Prior art keywords
port
unit
driver
information processing
printer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2011005953A
Other languages
English (en)
Other versions
JP2012018664A (ja
Inventor
杉山 秀樹
秀樹 杉山
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Canon Inc filed Critical Canon Inc
Priority to JP2011005953A priority Critical patent/JP5725873B2/ja
Priority to US13/154,313 priority patent/US9170765B2/en
Publication of JP2012018664A publication Critical patent/JP2012018664A/ja
Application granted granted Critical
Publication of JP5725873B2 publication Critical patent/JP5725873B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1278Dedicated interfaces to print systems specifically adapted to adopt a particular infrastructure
    • G06F3/1285Remote printer device, e.g. being remote from client or server
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1202Dedicated interfaces to print systems specifically adapted to achieve a particular effect
    • G06F3/1203Improving or facilitating administration, e.g. print management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management
    • G06F3/1225Software update, e.g. print driver, modules, plug-ins, fonts
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/4401Bootstrapping
    • G06F9/4411Configuring for operating with peripheral devices; Loading of device drivers

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Accessory Devices And Overall Control Thereof (AREA)

Description

この発明は、印刷システムにおける技術に関するものである。
近年、企業のオフィス等にプリンターが普及し、誰でも簡単に印刷ができるようになった。PC(パーソナルコンピュータ)からプリンターに印刷するには、プリンターを制御し印刷データを生成するプリンタードライバーをPCにインストールする必要がある。一般的にプリンタードライバーは、PCのオペレーティングシステム(OS)や印刷するプリンター毎に用意され、プリンターと同梱されたCD−ROMやFD等の記憶媒体によって提供されている。また、管理者は最新のプリンタードライバーを、公衆ネットワークを介してプリンターの製造元が開設したホームページからダウンロードにより入手することが一般的である。さらに、入手したプリンタードライバーとインストール時に使用する設定情報とを、ネットワーク上で共有されている記憶装置に配置しておき、一般ユーザーに配置場所をアナウンスしてプリンターを利用させるといった運用が行われている。一般ユーザーはアナウンスを元に、その配置場所から取得した情報に従い、PCにプリンタードライバーをインストールする。
また、従来から、プリンタードライバーをインストールする方法として、インストーラが使用する設定情報を定義ファイルとして管理者が作成し、定義ファイルとインストーラを1つの実行ファイルから呼び出す技術が提案されている。(特許文献1参照。)
特開2010−092158号公報
特許文献1で開示される方法では、ユーザーはプリンタードライバーのインストール時に使用する設定情報として、論理プリンター名、ポート名を自由に設定した実行ファイルを生成できる。ユーザーが実行ファイルを実行すると、設定情報で指定された論理プリンターがPCに存在する場合は、既存の論理プリンターを設定情報で上書きする。具体的には、設定情報で指定されたポート名が既存のポート名と異なる場合は、新たに指定されたポート名でポートを作成する。さらに、印刷データを送信する際に用いるように設定し、PCにインストール済みのプリンタードライバーが古ければ、プリンタードライバーを更新する。
バージョンアップしたプリンタードライバーがプリンターベンダーからリリースされた等の理由により、ユーザーはプリンタードライバーだけ更新をしたくても、特許文献1に開示される方法では、ポートも新規に作成されてしまう。すなわち、論理プリンターの接続ポートに、既存のポート名とは異なるポート名を指定してしまうことが発生する。従って、プリンタードライバーの更新する度に、システムに使われない古いポートが残ることがあった。
また、ユーザーに任意のポート名を指定させず、プリンターのIPアドレスのみ指定させる方法がある。ポート名のフォーマットを固定し、同じIPアドレスは同じポート名とすることで、同一IPアドレスに対しては複数のポートを作成させない。例えば、印刷実行するプリンターのIPアドレスとして“172.10.10.10”を指定したときは、ポート名を“IP_172.10.10.10”にするとする。既に、ポート名が“IP_172.10.10.10”のポートが存在するときは、新規にポートを作成せずに、既存のポートを流用する。
OSに標準搭載されている標準TCP/IPポートでは、OSのバージョンによって自動で作成されるポート名が異なる。例えば、印刷実行するデバイスのIPアドレスとして“172.10.10.10”を指定したとき、あるOS(第1のOS)では、そのOSの標準TCP/IPポートでポートを作成すると、ポート名が“IP_172.10.10.10”となる。一方で、他のOS(第2のOS)では、同ポートを作成するとポート名が“172.10.10.10”となる。
ここで、第2のOS上で、ポート名“IP_172.10.10.10”のポートが作成済みであった際を考える。この際に、ポート名のフォーマットを固定してしまうと、IPアドレス“172.10.10.10”を指定すると、新たにポート名“172.10.10.10”のポートを作成してしまうことになる。つまり、同じ印刷先となるIPアドレスに対して、使用されないポートを含む2つのポートを作成してしまう。
従って、本発明は、上述した環境を考慮して、PCへプリンタードライバーをインストールする際に、適切に論理プリンターを登録するための手法の提供を目的としている。
上述の課題を解決するために、本発明は、プリンターと情報処理装置を含む印刷システムであって、前記プリンターの記憶部において、前記情報処理装置にプリンタードライバーをインストールするためのセットアッププログラムを記憶しており、前記情報処理装置が、前記プリンターからセットアッププログラムを取得して、前記情報処理装置の記憶部に記憶する記憶手段と、前記記憶部に記憶されたセットアッププログラムを起動して、前記プリンターを制御するためのプリンタードライバーをインストールするに際して、前記情報処理装置で動作するOSの属性を特定する特定手段と、前記特定手段により特定されたOSの属性に応じて、インストールされるプリンタードライバーのために作成されるポートのポート名のフォーマットを決定する決定手段と、前記決定手段により決定されたフォーマットに従うポート名のポートを作成し、プリンタードライバーをインストールする制御手段と、前記制御手段により作成されるポートと、前記情報処理装置の既存のポートとのデータの送信先が一致するかを判定する判定手段と、を有し、前記判定手段により一致しないと判定された場合に、前記制御手段は作成されたポートが設定されたデバイスドライバーをインストールすることを特徴とする。
本発明によれば、PCへプリンタードライバーをインストールする際に、適切に論理プリンターを登録などいった設定処理を行うための手法を提供できる。
本発明の印刷システムの構成の一例を示すブロック図である。 本発明の印刷システムの詳細な構成の一例を示すブロック図である。 本発明のデバイス選択画面の一例である。 本発明のドライバーアップロード画面の一例である。 本発明の一般者用ドライバーダウンロード画面の一例である。 本発明のシステム構成の例を示す図である。 本発明のデバイスの選択処理を説明するためのフローチャートである。 本発明のアップロード条件設定処理を説明するためのフローチャートである。 本発明のプリンタードライバーの取得処理を説明するためのフローチャートである。 本発明のアップロード処理の基本フローである。 本発明のセットアッププログラムの作成処理を説明するためのフローチャートである。 本発明の監視処理を説明するためのフローチャートである。 本発明のセットアッププログラムの更新処理を説明するためのフローチャートである。 本発明のWebサーバー処理を説明するためのフローチャートである。 本発明のインストーラを結合前後のセットアッププログラムの構成図。 本発明のセットアッププログラム起動時に必要な情報ファイルの一例である。 本発明のインストーラが必要な情報ファイルの一例である。 実施例1における、セットアッププログラムに基づく処理を説明するためのフローチャートである。 実施例1における、使用するポート名の判定処理を説明するためのフローチャートである。 実施例1における、削除ドライバーの指定処理を説明するためのフローチャートである。 実施例1における、実ドライバーの削除処理を説明するためのフローチャートである。 本発明の削除ドライバーの指定画面の一例である。 実施例2における、判定処理を説明するためのフローチャートである。 本発明の、管理者用のドライバーダウンロード画面の一例である。
以下、本発明を実施するために最良の形態について図面を用いて説明する。
なお、本発明では特に断りの無い限り、「プリンタードライバー」とは、アプリケーションからの印刷指示に応じて、OSから呼び出されて印刷データを生成するソフトウェアを意味する。また、「論理プリンター」とは、OSのスプーラー上の印刷キューのことであり、ソフトウェアとしてのプリンターを意味する。「論理プリンター名」は論理プリンターを識別する名称である。「ポート」とは、論理プリンターが物理デバイスに印刷データを送付するネットワークポートあるいはローカルポートの総称を意味する。1つのポートには印刷データの送信先(例えば、IPアドレス)が1つだけマッピングされているのが普通である。また、「ポート名」とはポートを識別する名称である。「インストーラ」とはプリンタードライバーをインストールするアプリケーションであり、インストールプログラムとインストール情報を記載した情報ファイルからなる。また、インストーラはプリンタードライバーのインストールと同時に論理プリンターの登録、ポートの作成も行うことができるものとする。
(実施例1)
本発明に係る一実施形態としてのシステムについて説明する。
図1は、本発明を適用可能な印刷システムの構成の一例を示すブロック図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機器であっても、複数の機器からなるシステムであっても、本発明を適用できることは言うまでもない。また、特に断らない限り、本発明の機能が実行されるのであれば、LAN,WAN等のネットワークを介して接続が為され処理が行われるシステムであっても本発明を適用できることは言うまでもない。
101〜104は、情報処理装置であり、イーサネット(登録商標)などのネットワークケーブルによって、ネットワーク106に接続されている。さらに、アプリケーションプログラム等の各種のプログラムを実行可能であり、ネットワーク106に接続されている他の機器と双方向に通信可能な通信装置を備えている。
101は、管理装置としての情報処理装置であって、以下、他の情報処理装置と区別するため管理装置101と呼ぶ。管理装置101は、プリンター105に関する様々な情報を保持し、プリンターの印刷ログ、動作ログ等を集計して保持する機能を備えている。102〜104は、パーソナルクライアントコンピュータとしての情報処理装置であって、以下、他の情報処理装置と区別するため、クライアントと呼ぶ。
105はプリンターであり、図示省略したネットワークインターフェィスを介してネットワーク106に接続されている。さらに、クライアント102、103、104から送信される印刷データを含むジョブを解析して1ページずつイメージに変換して、1ページ毎に印刷する。また、プリンターは、電子写真方式を採用したレーザービームプリンター、インクジェット方式を採用したインクジェットプリンター、熱転写方式を利用したプリンター等の様々な方式のもののうち何れであってもよい。
図2において、200は情報処理装置における処理を制御するCPUである。CPU200は、ハードディスク(HD)205に格納されているアプリケーションプログラム、プリンタードライバープログラム、OSや制御プログラム等を実行する。さらに、RAM202にプログラムの実行に必要な情報、ファイル等を一時的に格納する制御を行う。
201は記憶手段であるROMであり、内部には基本I/Oプログラム等のプログラム、文書処理の際に使用するフォントデータ、テンプレート用データ等の各種データが記憶される。202は一時記憶手段であるRAMであり、CPU200の主メモリ、ワークエリア等として機能する。203は記憶媒体読み込み手段としてのフロッピー(登録商標)ディスク(FD)ドライブである。このFDドライブ203を介して、記憶媒体としてのフロッピー(登録商標)ディスク(FD)204に記憶されたプログラム等をクライアントである本コンピュータシステムにロードすることができる。なお、記憶媒体はFDに限らず、CD−ROM、CD−R、CD−RW、PCカード、DVD、ICメモリカード、MO、メモリスティック等、任意である。FD204には、コンピュータによって読み取り可能なプログラムが格納されている。
205は外部記憶手段の一つであり、大容量メモリとして機能するハードディスク(HD)であり、アプリケーションプログラム、プリンタードライバープログラム、OS、制御プログラム、関連プログラム等が格納されている。さらにスプーラーがここに確保される。スプーラーは、クライアントにおいてはクライアントスプーラーと呼び、プリントサーバーではサーバスプーラーと呼ぶ。また、プリントサーバーでは、クライアントから受けたジョブ情報を格納し、順序制御を行うためのテーブルもこの外部記憶手段に生成されて格納される。
206はユーザーの入力を受け付ける入力手段としてのキーボードである。207はディスプレイ(表示手段)であり、キーボード206から入力されたコマンドや、後述するアプリケーション等に関する表示を行うものである。208はシステムバスであり、クライアントであるコンピュータ内のデータの流れを司るものである。209はインターフェィスであり、該インターフェィス209を介してクライアントは外部装置とのデータのやり取りを行う。
次にプリンターの詳細構成を説明する。プリンター105は、詳細を後述するハードディスク(HD)228、接続部226、データ制御部(プリンターエンジン)225、操作部224、外部メモリ223、PCPU220、PRAM222、及びPROM221を主要な構成要素する。これらの構成要素がシステムバス227を介して互いに接続されている。
プリンターCPU(PCPU)220は、プリンター105の全体制御を司るものである。PCPU220は、後述するPROM221或いは外部メモリ223に記憶された制御プログラムに基づいて、接続部226で受信したプリンター制御コマンドより、画像信号をデータ制御部225に送信する。HD228は、大容量の記憶装置である。フォントデータや印刷データなどの保存先として利用される。またHD228は図示しない外部装置としての記憶装置と置き換えが可能である。外部の記憶装置と置き換える場合は、プリンターは接続部226を介し、データの送受信を行う。PRAM222は、PCPU220の主メモリとして、PCPU220による制御実行時、ワークデータエリアとして使用される各種データの一時記憶領域を備えている。外部メモリ223は、オプションとしても接続され、フォントデータ、エミュレーションプログラム、フォームデータ等を記憶する。PROM221はプリンター内部メモリであり、外部メモリと同様に、各種データや本プリンターを制御するプリンター制御プログラム等を記憶している。データ制御部225はプリンターエンジンであり、PCPU220により制御され、PROM221、或いは外部メモリ223に記憶された制御プログラムよりシステムバス227を介して出力された画像信号を受け、実際の印刷処理を行う。操作部224は、操作パネルや操作スイッチ等の入力部、及びLED、液晶パネル等の表示部等から構成され、オペレータの操作を受け、結果を表示するものである。オペレータは操作部224を介して本実施の形態例プリンターの設定を指示や、確認することが可能である。226は接続部であり、前述の双方向インターフェィス209を介して情報処理装置の接続部210に接続し、印刷制御コマンドを受信や、プリンター内部の状態等を通知する事も可能である。
図3は、本実施例における管理装置101上で実行される管理アプリケーションにより提供される画面の一例を示している。管理アプリケーションは、ユーザー操作によりデバイスを管理下に追加登録することが出来る。図3で示すように、管理下のデバイスを、状態、IPアドレス等の付属情報と共にリストで一覧表示することができる。なお、管理下となるデバイスとは、印刷機能を有するプリンター、スキャナ、FAX機能やコピー機能を併せ持つ複合機等を含む。さらに、ユーザーによって一覧表示されたデバイスを選択し、「ドライバー登録」ボタンを押下されることで、図4に図示するアップロード条件の設定画面を開くことができる。また、ユーザーによって「ドライバー削除」ボタンを押下されると、図22の削除ドライバーを指定する指定画面を表示する。
図4は、本実施例における管理装置101上で実行される管理アプリケーションにより提供されるアップロード条件の設定画面の一例である。この設定画面は、ユーザーによって「参照」ボタンを押下されることで、図示しないファイル選択ダイアログが表示する。ユーザーによってファイル選択ダイアログからインストーラの“setup.exe”ファイルが指定されることで、指定されたsetup.exeや付随するファイルからインストーラのドライバー種類、バージョンを読み込む。読み込んだドライバー種類、バージョンはそれぞれ、設定画面のテキストエリア「ドライバー種類:」、「バージョン:」に反映される。さらに、インストーラが保持するドライバーモデルのリストから、図3で図示された管理アプリケーションで指定されたデバイスのモデル名を比較し、一致するものを「ドライバーモデル」コンボボックスに表示する。この画面で“OK”を押下することで、ファイル選択ダイアログで指定されたインストーラに、後述の表示名やアップロード番号等の設定を反映したものがセットアッププログラムとして構築される。そして、該プログラムがプリンターの記憶装置にアップロードされる。
さらに、「ドライバーモデル」コンボボックスに設定したドライバーモデル名を「表示名」テキストボックスの初期値として設定する。「表示名」テキストボックスはユーザーによって任意の文字列に編集可能である。「表示名」テキストボックスで指定された文字列は、ダウンロードを行うユーザーが目的ドライバーを認識しやすいように、後述のドライバーダウンロードページに表示される。
「アップロードNo.」コンボボックスは、アップロードするセットアッププログラムを格納するアップロード番号の指定を、ユーザーに許可する。このアップロード番号は1から3を指定可能である。デバイスの記憶装置には、アップロード番号に対応した格納領域が予め確保されている。既にデバイスにセットアッププログラムが格納済みのアップロード番号を指定してアップロードを実行すると、既存のセットアッププログラムは無効化され、新規にアップロードされたセットアッププログラムが有効になる。
「コメント」テキストボックスでは、ユーザーに任意のコメントを入力させる。ここで指定された文字列は、ダウンロードを行うユーザーが目的ドライバーを認識しやすいように、後述のドライバーダウンロードページに表示される。さらに、クライアントに作成された論理プリンターのプロパティにコメントとして追加される。
「ポート」では、ユーザーに論理プリンターに接続するポートの種類を「IPアドレス」、「ホスト名」、「ポート名を指定する」ラジオボタンから選択可能とする。さらに、ユーザーによって「ポート名を指定する」ラジオボタンを指定した場合は、「ポート名」テキストボックスが入力可能になり、ユーザーに任意のポート名の入力を許可する。
「ボックスパス」テキストボックスでは、ユーザーにセットアッププログラムをアップロードする記憶装置のパスを指定させる。「ユーザー名」テキストボックスでは、ユーザーに「ボックスパス」テキストボックスで指定されたパスへのアクセス権のあるユーザー名を指定させる。「パスワード」テキストボックスでは、ユーザーに「ボックスパス」テキストボックスで指定されたパスへのアクセス権のあるユーザーのパスワードを指定させる。
図22は、管理アプリケーションにより提供される削除ドライバーを指定する指定画面の一例を示している。この画面上で、ユーザーによって、「アップロードNo.」コンボボックスでアップロード番号の指定後、削除ボタン押下されると、デバイスの記憶装置に確保されたそのアップロード番号を用いてアップロードされたセットアッププログラムが削除される。
図5は、本実施例におけるプリンター105の備えるWebサーバーに対して、一般ユーザーがクライアント102のWebブラウザー620からアクセスしたときに、クライアント102の表示部に表示される一般ユーザー用ドライバーダウンロード画面の一例である。Webサーバー機能部605は、図示しないログイン画面をWebブラウザー620に表示し、ユーザーにユーザー名入力を受付ける。さらにWebサーバー機能部605は、Webサーバー機能部に予め設けられた権限判定手段により前述のログイン画面から取得したユーザー名を判断し、取得ユーザー名が一般ユーザーの場合は図5に図示する管理者用ダウンロード画面を表示する。このダウンロード画面は、デバイスにアップロードされたセットアッププログラムの一覧を、「No.」「表示名」、「ドライバー種類」、「バージョン」、「コメント」および「ダウンロード」ボタンと共に表示する。
「No.」は、図4の画面の「アップロードNo.」で指定されたアップロード番号を表示する。「表示名」は、図4の画面の「表示名」で指定された文字列を表示する。「ドライバー種類」は、図4の画面の「ドライバー種類:」で設定した文字列を表示する。「コメント」は、図4の画面の「コメント」で指定された文字列を表示する。「バージョン」は、図4の画面の「バージョン:」で設定した文字列を表示する。
ここで、何れか行の「ダウンロード」ボタンをユーザーによって押下されると、図示しないダウンロードダイアログを表示し、セットアッププログラムのダウンロードを開始する。セットアッププログラムをダウンロードは、ユーザーによって前述のダウンロードダイアログに指定されたダウンロードディレクトリに行われる。
図24は、本実施例におけるプリンター105の備えるWebサーバーに対して、管理者ユーザーがクライアント102のWebブラウザー620からアクセスしたときに、クライアント102の表示部に表示されるドライバーダウンロード画面の一例である。Webサーバー機能部605は、前述の権限判定手段により管理者ユーザーと判定した場合は図24に図示するダウンロード画面を表示する。このダウンロード画面は、デバイスにアップロードされたセットアッププログラムの一覧を、「No.」「表示名」、「ドライバー種類」、「バージョン」、「パス」、「コメント」および「ダウンロード」ボタンと共に表示する。
「No.」、「表示名」、「ドライバー種類」、「バージョン」、「コメント」および「ダウンロード」ボタンは、図5に図示した一般ユーザー用ダウンロード画面と同等である。「パス」はセットアッププログラムが格納されたファイルパスを表示する。
ここで、何れか行の「削除」ボタンをユーザーによって押下されると、該当行のセットアッププログラムが削除される。
図6は、本実施例の印刷システムにおける主要なモジュール構成を示す図である。これらモジュールは、システム内の各装置においてCPUがプログラムを実行することで実現される機能を提供するための論理的な構成になる。
プリンター105は、記憶部601、監視部603、プログラム更新部604、Webサーバー機能部605を持つ。
記憶部601は、管理装置101のアップロード部615からセットアッププログラムを受け取り、記憶装置に予め確保された格納領域に格納する。さらに、記憶部601は、管理装置101の削除部617から、削除要求として、格納済みのセットアッププログラムを識別する情報を受け取り、該当するセットアッププログラムを削除する。セットアッププログラム602は、インストーラと論理プリンター作成時に必要となる各種設定を含む実行プログラムである。監視部603は、プリンターの構成情報を監視し、変更が発生した場合はプログラム更新部604にセットアッププログラム602の更新を依頼する。構成情報とは、プリンターに設定された情報、例えばIPアドレス、ホスト名、機器名、設置場所情報などである。また、監視部603は、情報処理装置101からセットアッププログラムのアップロードや登録済みセットアッププログラムの削除指示を監視する。プログラム更新部604は、監視部603からの指示基づき、セットアッププログラム602の内部情報を書き換える。Webサーバー機能部605は、Webサーバーとして動作するもので、図5および図24に図示するドライバーダウンロード画面を含む、各種Webページを提供するものである。
管理装置101は、ドライバー取得部611、選択部612、条件設定部613、作成部614、アップロード部615、ドライバー指定部616、削除部617からなる。
ドライバー取得部611は、アップロード条件の設定画面(図4)から起動され、インストーラを取り込む。選択部612は、管理アプリケーションが提供する画面(図3)を表示部207に表示する。条件設定部613は、設定画面(図4)を表示部207に表示する。作成部614は、ドライバー取得部611が取得したインストーラに、条件設定部613から論理プリンター登録に必要な設定情報を取得し、セットアッププログラムを作成する。アップロード部615は、セットアッププログラムを記憶部602に送信する。ドライバー指定部616は、図22に図示する削除ドライバー指定画面を表示部207に表示する。削除部617は、ドライバー指定部616から削除するセットアッププログラムが格納されているアップロード番号を取得し、記憶部602から該当アップロード番号のセットアッププログラムを削除するための要求を行う。
クライアント102は、Webブラウザー620を持ち、ユーザーの指示によりプリンター105のWebサーバーにアクセスして、セットアッププログラム602のダウンロードなどを行う。
図7のフローチャートを用いて、選択部612が行う処理をについて説明する。本処理のためのプログラムは予め、管理装置101のHD205にインストールされ、RAM202に呼びだされ、CPU200によって実行されているものとする。また、図3で示す画面に登録されているデバイスは、全てプリンターとする。
S701で、選択部612はイベントが発生したか確認する。例えば、Microsoft社のMSDN Library(登録商標)で開示されている方法では、マウスによるクリックやキーボード入力等の操作と、ウィンドウ内のボタンやリストボックス等の各リソースを一意に決定するIDが、イベントとして通知される。イベント発生しないと判断した場合は、S701を繰り返す。S701でイベントが発生したと判断したきは、S702で、選択部612はイベントがデバイスの選択が行われたかを判断する。すなわち、発生したイベントにおいて、図3に図示したデバイス選択画面のデバイスリストのレコードの示すIDと、左マウスボタン操作が含まれるときは、「デバイス選択」が行われたと判断する。S702でイベントがデバイス選択と判断したときは、S703で、選択部612は予めRAM202やHD205等の記憶装置に確保しているワーク領域のデバイスのリストにレコードを追加する。デバイスのリストには、デバイスモデル名、IPアドレス、シリアルナンバー等のプリンター固有の情報が含まれる。次に、S701に戻る。
S702でイベントがデバイス選択と判断しなかったときは、S704で、選択部612はイベントが「ドライバー登録」ボタン押下かを判断する。すなわち、イベントに図3に図示したデバイス選択画面の「ドライバー登録」ボタンを示すIDと、左マウスボタン操作が含まれるときは、「ドライバー登録」のボタン押下と判断する。S704でイベントが「ドライバー登録」のボタン押下と判断されたときは、S705で、選択部612はS703で作成したデバイスリストを条件設定部613に渡す。そして、デバイスリストを渡された条件設定部613は、後述のアップロード条件設定を行う。次にS706で、選択部612はデバイスリストと、ドライバー取得部611が取得したインストーラと、S705で設定したアップロード条件をアップロード部615に渡す。アップロード部615は、後述のアップロード処理を行う。次に、S701へ戻る。
S704でイベントが「ドライバー登録」ボタン押下と判断しなかったときは、S707で、選択部612はイベントが「ドライバー削除」のボタン押下かを判断する。すなわち、イベントに図3に図示したデバイス選択画面の「ドライバー削除」ボタンを示すIDと、左マウスボタン操作が含まれるときは、「ドライバー削除」ボタン押下と判断する。S707でイベントが「ドライバー削除」ボタン押下と判断したときはS708で、選択部612は後述の削除ドライバーの指定処理を行う。次にS709で、選択部612はS708で指定された削除ドライバーの情報を取得し、削除部617に渡す。削除部617は後述のドライバー削除処理を行う。次にS701へ戻る。
S707で「ドライバー削除」のボタン押下と判断しなかったときは、S710で、選択部612はイベントが「終了」か判断する。すなわち、イベントに図3に図示したデバイス選択画面の「終了」アイコンを示すIDと、左マウスボタン操作が含まれるときは、終了アイコン押下と判断し、「終了」と判断する。S710で「終了」と判断したときは、選択部612は所定の手続きに基づき、RAM202やHD205等の記憶装置に確保しているワーク領域を開放し、終了処理を行う。S710で「終了」と判断しなかったときは、他の操作が行われものとして、S701へ戻る。ここでは、この他の操作に関しては説明を省略する。
図8を用いて、図7のS705のアップロード条件の設定処理を説明する。本設定処理では、図4に図示するような設定画面を表示部に表示する。
S801で、条件設定部613はイベントが発生したか確認する。S801でイベントが発生していないと判断された場合は、S802で、条件設定部613は設定が完了したか判断する。すなわち、図4に図示したアップロード条件の設定画面を検索し、全項目に値が設定済の場合は設定が完了したと判断する。S802で設定完了と判断された場合は、S803で、条件設定部613は図4に図示した設定画面の「OK」ボタンを有効化する。次にS801へ戻る。S802で設定完了と判断されなかった場合は、S804で、条件設定部613は図4に図示した設定画面の「OK」ボタンを無効化する。次にS801へ戻る。
S801でイベントが発生したと判断されたときはS805で、条件設定部613はイベントがファイルパスの設定か判断する。すなわち、イベントに図4に図示した設定画面の「参照」ボタンを示すIDと、左マウスボタン操作が含まれるときは、「ファイルパスの設定」と判断し、S806に進む。S806で、条件設定部613はドライバー取得部611を呼び出す。ドライバー取得部611は後述のプリンタードライバー取得処理を行う。次にS801に戻る。
S805でファイルパスの設定と判断しなかったときはS807で、条件設定部613は「OK」ボタン押下か判断する。すなわち、イベントに図4に図示した設定画面の「OK」ボタンを示すIDと、左マウスボタン操作が含まれるときは、「OK」ボタンを押下されたと判断する。S807で「OK」のボタン押下と判断されなかったときは、S801へ戻る。S807で「OK」のボタン押下と判断されたときは、設定画面上で設定されたアップロード条件を選択部612に返して、設定処理を終了する。
図9を用いて、S806のプリンタードライバーの取得処理を説明する。
S901で、ドライバー取得部611はドライバー情報ファイルを読み込む。CPU200を用い、ユーザーによって図示しないファイル選択ダイアログから指定された“setup.exe”のパス情報を取得し、同パス以下からドライバー情報ファイル(setup.inf)を検索する。ドライバー情報ファイルが見つかったら、所定のフォーマットに従いファイルを検索し、バージョン情報及びドライバー種類を読み出し、RAM202等の記憶装置に所定のワーク領域に保存する。
次にS902で、ドライバー取得部611は、S901で取得したバージョン情報、及びドライバーの種類を、表示部に表示しているアップロード条件の設定画面(図4)の「バージョン情報:」「ドライバー種類:」テキストエリアに書き込む。次にS903で、ドライバー取得部611は、ドライバーモデル名を設定する。ドライバー情報ファイルを検索し、デバイスに相応しいドライバーモデル名を検索する。例えば、Microsoft社のMSDN Library(登録商標)で開示されている方法では、INFファイルのモデルセクションに、ドライバーモデル名とハードウェアIDを1つのエントリーとして記載する方法が開示されている。その記載に従い、S901で見つけたドライバー情報ファイルから、デバイスの持つハードウェアIDと同一の記載を全検索する。見つけたドライバーモデル名を、表示部に表示しているアップロード条件の設定画面(図4)の「ドライバーモデル名」コンボボックスにおけるリストのエントリーに登録する。画面上ではリストの先頭候補となるドライバーモデル名が選択状態に設定される。ドライバーモデル名が見つからないときは、ドライバー情報ファイルに記載されている全てのドライバーモデル名を「ドライバーモデル名」コンボボックスにおけるリストのエントリーに登録する。この場合、初期状態ではどのドライバーモデルも選択されていない状態で設定画面に表示される。なお、本ステップで用いるドライバーモデル名は、図3の管理アプリケーションが表示しているデバイスリストから選択された先頭のデバイス用のドライバーモデル名とする。次にS904で、ドライバー取得部611はS903で設定された「ドライバーモデル名」コンボボックスの情報を表示名テキストボックスに設定し、本処理を終了する。
図10を用いて、S706のセットアッププログラムのアップロード処理を説明する。アップロード対象とするデバイスのリストおよびアップロードに必要とする情報は、選択部612からアップロード部に渡され、RAM202等の記憶領域に確保したワーク領域に保持しているものとする。
S1001で、アップロード部615は作成部614を呼び出し、必要な情報およびアップロード対象のインストーラを渡す。作成部614は後述のセットアッププログラム作成処理を行う。
次にS1002で、アップロード部615はモデル名が一致しているか判断する。すなわち、アップロード部615はRAM202等の記憶領域に確保したワーク領域に保持されたデバイスリストから1レコードを取り出す。次に、取り出したレコード中のデバイスのモデル名と後述の作成部614が作成したセットアッププログラムのドライバーのモデル名を比較する。比較の結果が一致しているときは、モデル名が一致していると判断する。例えば、デバイスのモデル名が“C_iR−ADV C5051”のとき、ドライバーのモデル名“C_iR−ADV C5051/5041”のようにデバイスモデル名を含む場合は、ドライバーモデル名が一致していると判断する。
S1002でモデル名が一致していると判断されたときは、S1003で、アップロード部615はセットアッププログラムを送信する。すなわち、アップロード部615は、後述の作成部が作成したセットアッププログラムを、アップロード条件の設定画面(図4)の設定値に従い、プリンターの記憶部601に配置する。
次にS1004で、アップロード部615はプリンター105にアップロードを通知する。すなわち、アップロード部615は所定の手続きに基づき、予め用意された通信手段を用いて、プリンター105にアップロード番号、パス、ファイル名、および、プリンターが保持するダウンロードページの作成に必要な情報を通知する。
次にS1005で、アップロード部615は全デバイスへの処理が終了したか判断する。すなわち、アップロード部615はRAM202等の記憶領域に確保したワーク領域に保存されているデバイスのリストを検索し、未処理のレコードが存在しない場合は全デバイスへの処理が終了したと判断する。S1005で全デバイスへの処理が終了したと判断されたときはアップロード処理を終了する。S1005で全デバイスへの処理が終了したと判断されなかったときはS1002へ戻り、他のデバイスに関する同様の処理を行う。また、S1002でモデル名が一致していると判断されなかったときは、S1005へ進む。
図11、図15〜17を用いて、S1001のセットアッププログラムの作成処理を、説明する。なお、セットアッププログラム作成に必要な情報、および、インストーラは、アップロード部615から適宜渡されているものとする。
S1101で、作成部614は、一時フォルダを作成する。例えば、OSが提供している機能を利用し、RAM202、HD205等の記憶領域に確保されているワーク領域にフォルダを作成する。
次にS1102で、作成部614はS1101で作成した一時フォルダに、図15(a)に示す初期セットアッププログラムを作成する。初期セットアッププログラムはヘッダー部と、プログラム部から構成される。
ヘッダー部には、プログラム部の動作を決定するための様々なパラメータが格納されている。一例として以下のようなものが含まれている。
・Offset_to_entry:結合ファイルの情報を格納している領域を格納している先頭からのオフセット
・Size_of_all_entry:結合ファイルの情報を格納している領域の合計サイズ
・size_of_file_entry:結合ファイルの情報を格納している領域のサイズ
・num_of_entry:結合ファイルの情報を格納している領域の総数
初期セットアッププログラムでは、結合されているファイルがないので、上記のパラメータは0にセットされている。プログラム部には、ヘッダーを参照し結合ファイルの位置を特定し、結合されているインストーラを分離し、インストーラを起動するためのプログラムが格納されている。
次にS1103で、作成部614はS1101で作成した一時フォルダに図16(a)、図17(a)に図示する情報ファイルを作成する。図16(a)はセットアッププログラム起動時に必要な情報、および、後述のダウンロードページ作成に必要な情報を記載したファイルで、ファイル名は“setup.ini”とする。“setup.ini”ファイルには、[DriverUploadInfo]セクションを持ち、以下の設定が可能である。
・DriverModelName:ドライバーモデル名
・PrinterName:PCにインストールする論理プリンター名
・Comments:PCにインストールした論理プリンターに設定するコメント
・PortType:ポートの種類(1:IPアドレス、2:ホスト名、3:ポート名)
・PortName:ポート名(PortType=3のときのみ有効)
図16(a)の例では、ドライバーモデルは“C_iR−ADV C5045/5051”、論理プリンター名は、“C_iR−ADV C5051”、コメントは“3F share printer”、ポートの種類は“1”でIPアドレスを意味している。
図17(a)は結合されたセットアッププログラムから分離されたインストーラが必要な情報を記載したファイルであり、ファイル名は“silent.ini”である。“silent.ini”ファイルは、[InstallComplete]、[SelectJob]、及び[PrinterInfo]のセクションを持ち、以下の設定が可能である。
・Reboot:インストール終了後にPCのリブートを制御するフラグ(0:リブートなし、1:リブート)
・SelectJob:プリンタードライバーのインストールモード(0:新規インストール、1:上書きインストール、2:インストールしない)
・PRT1:論理プリンター名/ドライバーモデル/接続ボートを指定する。
図17(a)の例では、リブートなし、上書きインストールを指定している。論理プリンター名、ドライバーモデル、接続ポートは初期状態では未設定である。これら未設定項目は後述のセットアッププログラム更新処理で設定する。
次にS1104で、作成部614はS1102で作成した初期セットアッププログラムに、S1103で作成した情報ファイルと、S806で取得したインストーラを結合する。
次にS1105で、作成部614はS1104で作成したセットアッププログラムのヘッダーを書き換え、図15(b)に図示するセットアッププログラムを作成する。ヘッダー部の“Offset_to_entry”には結合ファイルの情報を格納している領域のセットアッププログラム先頭からのオフセット“4096”を設定する。ヘッダー部の“Size_of_all_entry”には、結合ファイルの情報を格納している領域の合計サイズ“1536”を設定する。ヘッダー部の“size_of_file_entry”には、結合ファイルの情報を格納している領域のサイズ“512”を設定する。ヘッダー部の“num_of_entry”には、結合ファイルの情報を格納している領域の総数“3”を設定する。
さらに、結合ファイルの情報を格納する3つ領域を“Offset_to_entry”で指定される領域に確保する。3つの領域に結合したファイルの情報を格納する。先頭から、S1103で作成した“setup.ini”ファイル、ドライバー取得部611が取得し、アップロード部615から渡されたインストーラ、S1103で作成した“silent.ini”ファイルである。それぞれの領域に各ファイルの以下の情報をセットする。
・OFFSET:結合されたファイルが位置するセットアッププログラム先頭からのオフセット
・Size:結合されたファイルのサイズ
・Type:結合されたファイルのタイプ(1:実行ファイル、2:テンポラリファイル、3:情報ファイル、4:その他)
・FILENAME:結合されたファイル名
作成部614は、セットアッププログラムのヘッダー書き換えが終了したら、セットアッププログラムの作成処理を終了する。
図12を用いて、プリンター105の監視部603が行う処理を説明する。監視部603はプリンター105の稼動と共に起動され、プリンター105が稼動終了するまで起動するものとする。
S1201で、監視部603は管理装置101からのセットアッププログラムのアップロード通知があるか判断する。すなわち、所定の手続きに基づき双方向インターフェース209を介し、接続部226を通り受信するパケットを検索し、所定フォーマットのアップロード通知を見つけたときは、アップロード通知があったと判断する。S1201でアップロード通知があったと判断された場合はS1202で、監視部603はプログラム更新部604を呼び出す。同時に、監視部603は、アップロード通知により得たアップロード番号、パス、ファイル名、およびダウンロードページの作成に必要な情報に加え、後述の構成情報、登録指示をプログラム更新部604に渡す。そして、プログラム更新部604は後述のセットアッププログラムの更新処理を行う。次にS1203で、監視部603はアップロード結果通知を行う。監視部603は、所定の方法に基づき、接続部226を介し、所定のフォーマットで作成したアップロード結果通知を、S1201でアップロード通知の送信元(管理装置)に送付する。次にS1201に戻る。
S1201でアップロード通知があったと判断されなかったときはS1204で、監視部603は構成情報に変化があったか判断する。すなわち、監視部603は、PRAM222等の記憶装置の特定領域に保持されている構成情報を順次読み出し、前回判定時と比べて変化があったときは構成情報に変更があったと判断する。構成情報に変更があった場合は、次回判定時の比較対象のために、PRAM222等の記憶装置の予め用意されているワーク領域に構成情報を保存する。構成情報とは、管理者が変更可能なIPアドレス、機器名などを例とする。
S1204で構成情報に変化があったと判断したときはS1205で、監視部603はセットアッププログラムがアップロードされているかを判断する。ここでは、監視部603は、セットアッププログラムの管理装置からのアップロードがあった場合にその旨が管理情報として書き込まれるHD228等の記憶装置に予め用意された領域から、その管理情報を読み出す。読み出した結果、セットアッププログラムの情報が1つ以上存在する場合は、セットアッププログラムが管理装置からアップロードされていると判断する。S1205でアップロードされたセットアッププログラムが存在しないと判断されたときはS1201に進む。
S1205でセットアッププログラムがアップロード済であったと判断されたときはS1206で、監視部603はプログラム更新部604を呼び出す。同時に、監視部603は前述のセットアッププログラムの管理情報から、まだ更新処理をしていいないセットアッププログラムの情報を1件読み出す。そして、読み出したアップロード番号、パス、ファイル名、およびダウンロードページの作成等に必要な情報に加え、更新指示とS1204で取得した構成情報をプログラム更新部604に渡す。そして、プログラム更新部604は後述のセットアッププログラムの更新処理を行う。
次にS1207で、監視部603は管理装置からアップロードされたすべてのセットアッププログラムの更新処理が終了したかを判断する。すなわち、監視部603は前述のセットアッププログラムの管理情報を検索し、更新が行われていないセットアッププログラムが存在しないときは、すべてのセットアッププログラムの更新処理が終了したと判断する。S1207で更新処理が終了したと判断されなかったときはS1206に戻る。S1207で更新処理が終了したと判断されたときはS1201に戻る。
S1204で構成情報に変化があったと判断しなかったときはS1208で、監視部603は削除通知があったか判断する。すなわち、所定の手続きに基づき双方向インターフェース209を介し、接続部226を通り受信するパケットを検索し、所定フォーマットの削除通知を見つけたときは、管理装置101からの削除通知があったと判断する。また、所定の手続きに基づき、Webサーバー機能部605からの通知を検索し、削除通知があったときは、Webサーバー機能部605から削除通知があったと判断する。
S1208で削除通知があったと判断された場合は、S1209で、監視部603はプログラム更新部604を呼び出す。同時に、監視部603は、削除通知により得たアップロード番号および削除指示をプログラム更新部604に渡す。そして、プログラム更新部604は後述のセットアッププログラムの更新処理を行う。次にS1210で、監視部603は削除結果通知を行う。監視部603は、所定の方法に基づき、接続部226を介し、所定のフォーマットで作成した削除結果通知を、S1208で判断された削除通知の送信元(管理装置)に送付する。次にS1201に戻る。S1208で削除通知があったと判断されなかったときもS1201に戻る。
図13を用いて、プリンター105のプログラム更新部604によるセットアッププログラムの更新処理を説明する。監視部603からの(更新または削除を示す)指示、アップロード番号、パス、ファイル名、及びダウンロードページの作成に必要な情報などといった更新処理に用いる情報は、PRAM222等に確保されたワークエリアに保存されているものとする。以下、本処理ではこのワークエリアに保存されている情報に応じた処理について説明する。
S1301で、プログラム更新部604は削除指示か判断する。すなわち、監視部603から渡されワークエリアの情報を検索し、削除指示が含まれていれば、削除指示があったと判断する。S1301で削除指示と判断したときは、S1302で、プログラム更新部604は削除指示で指定されたアップロード番号にセットアッププログラムがアップロードされているか判断する。すなわち、プログラム更新部604は、ワークエリアの情報を検索し、アップロード番号を取り出す。次にHD228等の記憶装置に配置されたセットアッププログラム格納領域に、取り出したアップロード番号に該当するセットアッププログラムが存在する場合は、アップロード済みと判断する。S1302でアップロード済みと判断されたときは、S1303で、プログラム更新部604はHD228等の記憶装置に配置されたセットアッププログラム格納領域の該当セットアッププログラムを消去する。次にS1307へ進む。S1302でアップロード済みと判断されなかったときはS1301へ戻る。
S1301で削除指示と判断されなかったときは、S1304で、プログラム更新部604はHD228等の記憶装置に配置された該当のセットアッププログラムを、PRAM222等の記憶装置に確保したワークエリアにコピーする。
次にS1305で、プログラム更新部604はS1304でコピーしたセットアッププログラムに、監視部603から渡された構成情報を反映させる。例えば、ポートが“IP_172.10.10.10”、機器名が「Color Printer」といった情報を反映させる場合を想定する。この場合は、S1304でコピーしたセットアッププログラムに連結された“setup.ini”ファイル、“silent.ini”ファイルをそれぞれ更新し、保存する。図16(b)、図17(b)が更新されたファイルを示しており、機器名などが変更されていることがわかる。次にS1306で、プログラム更新部604はS1305で更新したセットアッププログラムを、S1304でコピーした元のファイルに上書き保存する。
S1307で、プログラム更新部604は、ダウンロード情報をページに書き込む。ダウンロード情報をクライアント102のWebブラウザー602から読み込むと、ログインユーザによって図5または図24に示す図を表示する。その後、ワークエリアを開放し、セットアッププログラム更新処理を終了する。なお、この際に更新完了、または削除完了など、本処理の結果を外部通知などするために監視部603に渡す。
図14を用いて、プリンター105のWebサーバー機能部605による処理を説明する。
S1401で、Webサーバー機能部605はユーザーによってリロードを指示されたか判断する。すなわち、Webサーバー機能部605は、接続部226を介し受信したパケットを検索し、Webブラウザーなどからのリロードのリクエストがあるか判断する。リロードのリクエストが見つかったときは、リロードを指示されたと判断する。S1401でリロード指示された判断された場合は、S1402で、Webサーバー機能部はページを再構築し、所定の手続きに基づき、Webブラウザー620に再構築したページを送出する。
S1401でリロード指示されたと判断されなかった場合は、S1403で、Webサーバー機能部605はユーザーによってダウンロードを指示されたか判断する。すなわち、Webサーバー機能部605は、接続部226を介し受信したパケットを検索し、ダウンロードのリクエストがあるか判断する。ダウンロードのリクエストが見つかったときは、ダウンロードを指示されたと判断する。S1403でダウンロード指示があったと判断された場合は、S1404で、Webサーバー機能部605はダウンロードリクエストに指定されたセットアッププログラムをHD228等の記憶装置から取り出す。次にS1405で、Webサーバー機能部はS1403で取り出したセットアッププログラムをダウンロード指示したクライアント102に対して送信する。S1403でダウンロードの指示があったと判断されなかった場合は、S1406で、Webサーバー機能部605は、ユーザーによって削除を指示されたか判断する。すなわち、Webサーバー機能部605は、接続部226を介し受信したパケットを検索し、削除のリクエストがあるか判断する。削除のリクエストが見つかったときは、削除を指示されたと判断する。S1406で削除指示があったと判断された場合は、S1407でWebサーバー機能部605は、所定の手続きに基づき監視部603に削除通知を行う。S1406でダウンロードの指示があったと判断されなかった場合はS1401へ戻る。
図18を用いて、セットアッププログラム602の実行により実現されるセットアップモジュールにより行われる処理について説明する。セットアッププログラム602は、ユーザーによってクライアント102へダウンロードされ、実行指示されることで起動される。起動されると、RAM202等の記憶装置に確保されたプログラム領域にロードされCPU200によって実行される。
S1801で、セットアップモジュールは一時フォルダを作成する。例えば、OSが提供している機能を利用し、RAM202、HD205等の記憶領域に確保されているワーク領域にフォルダを作成する。次にS1802で、セットアップモジュールはS1801でフォルダ作成が成功したか判断する。S1802でフォルダ作成が失敗したと判断されたときは、S1811に進み、エラーを表示する。S1802でフォルダ作成が成功したと判断されたときは、S1803で、セットアップモジュールは結合されているファイルを分離する。すなわち、図15(b)に図示する“silent.ini”ファイル、“setup.exe”ファイル、“setup.ini”ファイルを、S1801で作成した一時フォルダに作成する。次にS1804で、セットアップモジュールはS1803のファイル分離処理が成功したか判断する。例えば、一時フォルダが書き込み禁止になっていた等の理由でファイル分離処理に失敗したと判断した場合は、S1811に進み、エラーを表示する。
S1804でファイル分離処理が成功したと判断されたときはS1805で、セットアップモジュールは、分離した情報ファイルからポート名を取得取り出す。すなわち、“silient.ini”のPRT欄に記載のポート名を取り出し、RAM202等の記憶装置に所定のワーク領域に保存する。
次に、S1806で、セットアップモジュールは、後述の使用ポート名判定処理を行う。
次に、S1807で、セットアップモジュールはS1803で分離した“silent.ini”ファイルを更新する。例えば、S1806で“silent.ini”ファイルに記載のポート名以外のポートを使用する判定をしたときは、“silent.ini”ファイルのPRT欄に記載のポート名を、S1806で得られたポート名に変更する。また、図示しない処理でインストール後にPC再起動が必要になることが分かったときは、[InstallComplete]セクションを“Reboot=1”に書き換える。次にS1808で、セットアップモジュールはインストーラを起動する。すなわち、S1803で分離したインストーラに、例えば以下のコマンドによって“silent.ini”ファイルを渡し、起動する。
『setup.exe/s silent.in/log silent.log』
上記コマンドは、情報ファイルとして“silent.ini”ファイルを指定し、結果格納ファイルとして“silent.log”ファイルを指定している。インストーラは、“silent.ini”ファイルの指示を読み、“silent.ini”に記載がない項目はデフォルト動作をし、その結果を“silent.log”に記載する。
次にS1809で、セットアップモジュールはS1808で起動したインストーラの処理が完了したか判断する。例えば、インストーラの戻り値が“0”のときは完了、“0”以外はエラーで終了したと判断する。S1809でインストーラの処理が完了したと判断したときは、S1812で、セットアップモジュールは論理プリンターのプロパティを設定する。例えば、Microsoft社のWindows(登録商標)
に用意されているWin32関数SetPrinter()を用いる。この関数のPRINTTER_INFO_2構造体のメンバー“pComment”にS1803で分離した“setup.ini”ファイルに記載の“Comments”を指定する。
S1809で、インストーラの処理が完了したと判断されなかったときは、S1810で、セットアップモジュールはインストーラが作成した“silent.log”からエラー内容を取り出す。次に、S1811に進む。S1811で、セットアップモジュールはS1810で取り出したエラー内容や、OSから取得できるエラー情報からから適宜エラーメッセージを作成し、表示部207にそのエラーメッセージを表示して処理を終了する。
図19を用いて、図18のS1806の使用ポート名の判定処理について説明する。ここで、S1804で分離した“seilent.ini”ファイルに記載のポート名はRAM202等の記憶装置に所定のワーク領域に保存されているものとする。
なお、前述されたようにクライアントのOSに標準搭載されている標準TCP/IPポートでは、インストール時に該OSのバージョンによって自動で作成されるポート名が異なる。例えば、印刷実行するデバイスのIPアドレスとして“172.10.10.10”を指定した場合を想定する。この際に、第1のOSでは、標準TCP/IPポートとして、ポート名に“IP_172.10.10.10”を設定し、ポート作成を行う。一方で、第2のOSでは、同ポートを作成するとポート名が“172.10.10.10”となる。ここで、第1のOSの具体例としては、Windows(登録商標) XPが挙げられ、第2のOSの具体例としては、Windows(登録商標) Vistaが挙げられる。以下では、第1のOSと第2のOSにおける、これらの動作を考慮したセットアップモジュールの処理に関して説明を行うことになる。
S1901で、セットアップモジュールは、クライアント上で動作するOSの属性(種別やバージョン)の判定を行う。ここでは第2のOSであるか否かの判断を行っている。例えば、OSがWindows(登録商標) Vistaであるか否かを判断する場合には、標準搭載のWin32関数GetOSVersion()によりOSの情報を取得することで判断を行う。S1901でOSが第2のOSと判断されたときは、S1902で、セットアップモジュールはポート名を第2のOS用のフォーマットに整形する。例えば、RAM202等の記憶装置に所定のワーク領域に保存されているポート名が“IP_172.10.10.10”の場合は、“172.10.10.10”に変更する。次にS1904に進む。
S1901でOSが第2のOSと判断されなかったときは、S1903で、セットアップモジュールはポート名を第1のOS用のフォーマットに整形する。例えば、RAM202等の記憶装置に所定のワーク領域に保存されているポート名が“IP_172.10.10.10”の場合は変更を行う必要は無く、そのまま用いることになる。次にS1904に進む。
S1904で、セットアップモジュールは、S1902または、S1903で整形したポート名が、セットアッププログラムを起動しているPC上に既に存在するか判断する。例えば、Microsoft社のWindows(登録商標)に用意されているWin32関数EnumPorts()等で、PCに登録済のポートおよびポート情報の一覧を取得する。ここで取得したポートの一覧からポート名を検索し、S1902またはS1903で整形したポート名と同名のポートが存在するかを判断する。S1904で整形したポート名が既に存在すると判断されなかったときは、S1905で、セットアップモジュールは、OSに標準で用意されている手法に従い、前述の整形したポート名を用いてポート作成を行う。S1904で、整形したポート名が既に存在すると判断されたときは、本判定処理を終了する。
ここで、S1902またはS1903で整形されたポート名が、セットアップモジュールがS1807で“silent.ini”ファイルの更新で用いるポート名となる。
図20を用いて、図7のS708における、削除ドライバーの指定処理について説明する。削除ドライバー指定処理は、表示部に表示される削除ドライバー指定画面(図22)への入力などに従う処理になる。
S2001で、ドライバー指定部616はイベントが発生したか確認する。S2001でイベントが発生したと判断されなかった場合は、S2002で、ドライバー指定部616はユーザーによる削除するドライバーの指定が完了したか判断する。すなわち、指定画面(図22)を検索し、「アップロードNo.」コンボボックスが空欄でない場合は、削除するドライバーの指定が完了したと判断する。S2002で削除するドライバーの指定が完了と判断した場合は、S2003で、ドライバー指定部616は指定画面(図22)の「削除」ボタンを有効化する。次にS2001へ戻る。S2002で削除するドライバーの指定が完了したと判断されなかったときは、S2004で、ドライバー指定部616は指定画面(図22)の「削除」ボタンを無効化する。次にS2001へ戻る。
S2001でイベントが発生したと判断されたきは、S2005で、ドライバー指定部616はイベントが「アップロードNo.」コンボボックスの操作かを判断する。すなわち、イベントに図22に図示した削除ドライバー指定画面の「アップロードNo.」コンボボックスを示すIDと、左マウスボタン操作が含まれるときは、「アップロードNo.」コンボボックスの操作と判断し、S2006に進む。S2006で、ドライバー指定部616は、削除するドライバーが格納されているアップロード番号を取得する。すなわち、イベントに指定画面(図22)の「アップロードNo.」コンボボックスに設定された数値を読み取り、RAM202等の記憶装置に所定のワーク領域に保存する。次にS2001に戻る。
S2005で「アップロードNo.」コンボボックスの操作と判断されなかったときは、S2007で、ドライバー指定部616は「削除」ボタンが押下されたか判断する。すなわち、すなわち、イベントに図22に図示した削除ドライバー指定画面の「削除」ボタンを示すIDと、左マウスボタン操作が含まれるときは、「削除」ボタンを押下されたと判断する。S2007で「削除」ボタン押下と判断されたときは、S2008で、ドライバー指定部616は、現在「アップロードNo.」で選択され、保存された数値を選択部612に対して返す。
S2007で「削除」ボタン押下と判断されなかったときは、S2009で、ドライバー指定部616は「キャンセル」ボタン押下か判断する。すなわち、イベントに指定画面(図22)の「キャンセル」ボタンを示すIDと、左マウスボタン操作が含まれるときは、「キャンセル」ボタンを押下されたと判断する。S2009で「キャンセル」ボタン押下と判断されなかったときは、S2001へ戻る。S2009で「キャンセル」ボタン押下と判断されたときは、ドライバー指定部616は、所定の手続きに基づき、RAM202やHD205等の記憶装置に確保しているワーク領域を開放し、終了処理を行う。
図21を用いて、図7のS709のドライバー削除処理を説明する。削除対象とするとセットアッププログラムのアップロード番号及び、削除対象とするデバイスのリストは選択部612から削除部617に渡され、RAM202等の記憶領域に確保したワーク領域に保持しているものとする。
S2101で、ドライバー削除部617はCPU200を用い、RAM202等の記憶領域に確保したワーク領域からアップロード番号を取得する。次にS2102で、削除部617は、プリンター105に削除を通知する。すなわち、削除部617は、デバイスリストの中から削除処理の対象となるデバイスの情報を取り出し、所定の手続きに基づき通信手段を用いて、該デバイスにセットアッププログラムの削除の指示とともに、アップロード番号を通知する。その後、削除部617はRAM202等の記憶領域に確保したワーク領域に保存されている情報などを削除し、本処理を終了する。
(実施例2)
以下、本発明の別の実施の形態について説明する。前述の実施例1の図19における処理では、新規に作成しようとするポートのポート名をOSの属性(種別やバージョン)に応じて可変としていた。また、既存のポート名と比較する処理についても説明した。
しかしながら、OSに標準搭載されている標準TCP/IPポートは、ユーザーがポート名を自由に変更できるため、ポート名とその送信先が想定と異なる場合がある。例えば、あるポートに関して、ポート名が“IP_172.10.10.10”で、印刷データの送信先のIPアドレスが“172.20.20.20”となっている場合もあり得る。よって、同一の送信先のポートを重複作成することは、ポート名を基準にした判定では防げないことがある。また、第1のOSから第2のOSへ、OSのアップグレードをする等の理由で、古い環境が残っていることがある。具体的には、第2のOSに登録済みポートとして、第1のOSのフォーマットで作成された、ポート名が“IP_172.10.10.10”とするポートが存在することも考えられる。
従って、本実施例においては、ポートにマッピングされている印刷データの送信先を基準に、クライアント上でのポートの重複判定を行うといった手法を説明する。なお、説明の簡便のために、実施例1と異なる点のみ説明する。
図18のフローにおけるS1805の使用ポート名の判定処理を、本実施例においては図23を用いて説明する。なお、S1804で分離した“seilent.ini”ファイルに記載のポート名は、RAM202等の記憶装置に所定のワーク領域に保存されているものとする。
S2301で、セットアップモジュールはPCに登録済みのポートのリストを取得する。例えば、Microsoft社のWindows(登録商標)に用意されているWin32関数EnumPorts()等で、PCに登録済のポートおよびポート情報の一覧を取得する。次にS2302で、セットアップモジュールは、取得したポートの一覧からポート名および印刷データの送信先を含む1レコードを取り出し、RAM202等の記憶装置に所定のワーク領域に保存する。次にS2303で、セットアップモジュールは、保存したレコードの印刷データの送信先と、RAM202等の記憶装置に所定のワーク領域に保存されている“seilent.ini”ファイルに含まれる情報とを比較する。
例えば、“seilent.ini”ファイルにポート名が“IP_172.10.10.10”のポートが含まれており、その場合はそのポートの印刷データの送信先を“172.10.10.10”であると特定する。この特定された送信先と、保存したレコードの印刷データの送信先が、“172.10.10.10”で同じ場合に、S2303でセットアップモジュールは送信先が一致していると判断する。
S2303で印刷データの送信先が一致すると判断されたときは、S2309で、セットアップモジュールは、RAM202等の記憶装置に所定のワーク領域に保存されている“seilent.ini”ファイルに記載のポート名を変更する。すなわちワーク領域に保存されている“seilent.ini”ファイルに記載のポート名を、S2302で取り出したレコードに記載されているポート名で上書きする。そして、使用ポート名の判定処理を終了する。
S2303で印刷データの送信先が一致すると判断されなかったときは、S2304で、セットアップモジュールは、S2301で取得したポートのリストの全ポートに対してS2303の判定を終了したかを判断する。S2304で、全件終了したと判断されなかったときはS2302へ戻る。
S2304で全件終了したと判断されたときは、S2305で、セットアップモジュールは、プログラムを起動してPCのOSの属性(種別やバージョン)を判定する。ここでは、クライアントで動作するOSが第2のOSか否かを判断する。S2305で第2のOSと判断されたときは、S2306で、セットアップモジュールはポート名を第2のOSのフォーマットに整形する。例えば、RAM202等の記憶装置に所定のワーク領域に保存されている“seilent.ini”ファイルに記載のポート名が“IP_172.10.10.10”の場合は、“172.10.10.10”に変更する。次にS3208に進む。S2305で第2のOSと判断されなかったときは、S2307で、セットアップモジュールはポート名を第1のOSのフォーマットに整形する。例えば、RAM202等の記憶装置に所定のワーク領域に保存されている“seilent.ini”ファイルに記載のポート名が“IP_172.10.10.10”の場合は変更しない。次にS2308に進む。S2308で、セットアップモジュールは、S2306または、S2307で整形したポート名とするポートを、OSに標準装備された手段を用いて作成する。
最終的には、S2306、S2307、S2309の何れかによるポート名が、セットアップモジュールが、S1807で“silent.ini”ファイルの更新で用いるポート名となる。
以上の説明において、ポートのマッピングされている印刷データの送信先として、“Internet Protocol Ver.4”形式のIPアドレスを例にとり説明した。しかしながら、その他の形式のIPアドレスにも適用される。また、ネットワークアドレス以外の、ローカルポート(例えば、LPT、COM、USB、IrDA)やホスト名にも適用される。また、デバイスの例としてプリンターを代表して説明したが、プリンターに限定されるものでなく、印刷機能を持つ複合機や、プリンタードライバーと同等の仕組みのFAXドライバーで動作するFAXにおいても本発明は適用される。
以上、説明した手順において、論理プリンターのインストール時にOS毎に自動でポート名を決定することにより、ユーザーはポート名を指定する手間を省くことができる。入力ミス等による不注意によって、同一IPアドレスに複数ポートを作成する等の資源の浪費を防ぐことができる。さらに、既存のポート名のフォーマットがOS標準と異なっていてもポートが使用中のIPアドレスを自動判定することによって、同一IPアドレスに対し重複してポートを作成することを回避できる。よって、ユーザーは重複回避のために、ポート毎に使用IPアドレスを目視確認し、重複しているか判断する手間が省ける。プリンターインストール時のユーザーの負荷が軽減し、利便性が向上する。

Claims (8)

  1. プリンターと情報処理装置を含む印刷システムであって、
    前記プリンターの記憶部において、前記情報処理装置にプリンタードライバーをインストールするためのセットアッププログラムを記憶しており、
    前記情報処理装置が、
    前記プリンターからセットアッププログラムを取得して、前記情報処理装置の記憶部に記憶する記憶手段と、
    前記記憶部に記憶されたセットアッププログラムを起動して、前記プリンターを制御するためのプリンタードライバーをインストールするに際して、前記情報処理装置で動作するOSの属性を特定する特定手段と、
    前記特定手段により特定されたOSの属性に応じて、インストールされるプリンタードライバーのために作成されるポートのポート名のフォーマットを決定する決定手段と、
    前記決定手段により決定されたフォーマットに従うポート名のポートを作成し、プリンタードライバーをインストールする制御手段と
    前記制御手段により作成されるポートと、前記情報処理装置の既存のポートとのデータの送信先が一致するかを判定する判定手段と、を有し、
    前記判定手段により一致しないと判定された場合に、前記制御手段は作成されたポートが設定されたデバイスドライバーをインストールすることを特徴とする印刷システム。
  2. 記憶部を備える情報処理装置であって、
    デバイスを制御するためのデバイスドライバーをインストールするに際して、前記情報処理装置で動作するOSの属性を特定する特定手段と、
    前記特定手段により特定されたOSの属性に応じて、インストールされるデバイスドライバーのために作成されるポートのポート名のフォーマットを決定する決定手段と、
    前記決定手段により決定されたフォーマットに従うポート名と、前記記憶部に記憶された設定情報に含まれるデータの送信先の情報とが設定されたポートを作成し、該ポートが設定されたデバイスドライバーをインストールの制御を行う制御手段と
    前記制御手段により作成されるポートと、前記情報処理装置の既存のポートとのデータの送信先が一致するかを判定する判定手段と、を有し、
    前記判定手段により一致しないと判定された場合に、前記制御手段は作成されたポートが設定されたデバイスドライバーをインストールすることを特徴とする情報処理装置。
  3. 前記特定手段は、OSの属性としてバージョンを特定することを特徴とする請求項2に記載の情報処理装置。
  4. 前記設定情報は、前記デバイスから取得され記憶部に記憶されることを特徴とする請求項2または3に記載の情報処理装置。
  5. 前記デバイスはプリンターであって、デバイスドライバーはプリンタードライバーであることを特徴とする請求項2乃至の何れか1項に記載の情報処理装置。
  6. 前記デバイスには、当該デバイスと接続された管理装置の指示に応じて作成された、デバイスドライバーをインストールするためのセットアッププログラムが記憶され、
    前記制御手段は、前記制御手段によるインストールの制御は、デバイスから取得されたセットアッププログラムを実行することにより実現されることを特徴とする請求項2乃至の何れか1項に記載の情報処理装置。
  7. 記憶部を備える情報処理装置における情報処理方法であって、
    デバイスを制御するためのデバイスドライバーをインストールするに際して、前記情報処理装置で動作するOSの属性を特定する特定工程と、
    前記特定されたOSの属性に応じて、インストールされるデバイスドライバーのために作成されるポートのポート名のフォーマットを決定する決定工程と、
    前記決定されたフォーマットに従うポート名と、前記記憶部に記憶された設定情報に含まれるデータの送信先の情報とが設定されたポートを作成し、該ポートが設定されたデバイスドライバーをインストールする制御工程と
    前記制御工程で作成されるポートと、前記情報処理装置の既存のポートとのデータの送信先が一致するかを判定する判定工程と、を有し、
    前記判定工程で一致しないと判定された場合に、前記制御工程では作成されたポートが設定されたデバイスドライバーがインストールされることを特徴とする情報処理方法。
  8. 請求項2乃至の何れか1項に記載の手段としてコンピュータを機能させるためのプログラム。
JP2011005953A 2010-06-09 2011-01-14 印刷システム、情報処理装置、及びその方法 Expired - Fee Related JP5725873B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2011005953A JP5725873B2 (ja) 2010-06-09 2011-01-14 印刷システム、情報処理装置、及びその方法
US13/154,313 US9170765B2 (en) 2010-06-09 2011-06-06 Printing system, information processing apparatus, and method to be used therein

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2010132136 2010-06-09
JP2010132136 2010-06-09
JP2011005953A JP5725873B2 (ja) 2010-06-09 2011-01-14 印刷システム、情報処理装置、及びその方法

Publications (2)

Publication Number Publication Date
JP2012018664A JP2012018664A (ja) 2012-01-26
JP5725873B2 true JP5725873B2 (ja) 2015-05-27

Family

ID=45096022

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011005953A Expired - Fee Related JP5725873B2 (ja) 2010-06-09 2011-01-14 印刷システム、情報処理装置、及びその方法

Country Status (2)

Country Link
US (1) US9170765B2 (ja)
JP (1) JP5725873B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6161314B2 (ja) * 2013-02-18 2017-07-12 キヤノン株式会社 画像形成装置、制御方法およびコンピュータプログラム
JP6988421B2 (ja) * 2017-12-11 2022-01-05 ブラザー工業株式会社 制御プログラム
JP7188031B2 (ja) * 2018-11-30 2022-12-13 ブラザー工業株式会社 情報処理プログラムおよび情報処理装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5828855A (en) * 1995-06-06 1998-10-27 Apple Computer, Inc. Socket simulation protocol for network printing systems
JP2001117834A (ja) * 1999-10-19 2001-04-27 Fuji Xerox Co Ltd ネットワーク通信環境設定システム、ネットワーク通信環境設定方法、及び、ネットワーク通信環境設定プログラムを記録したコンピュータ読取可能な記録媒体
JP2004102344A (ja) * 2002-09-04 2004-04-02 Kyocera Mita Corp 文書処理装置におけるソフトウェアの配信および管理方法
JP4082256B2 (ja) * 2003-03-25 2008-04-30 ブラザー工業株式会社 情報処理装置及びプログラム
JP4011045B2 (ja) * 2004-06-25 2007-11-21 キヤノンマーケティングジャパン株式会社 印刷制御装置および印刷制御方法およびプログラムおよび記録媒体
JP2008203930A (ja) * 2007-02-16 2008-09-04 Canon Inc サーバ装置、ドライバ処理方法、記憶媒体、プログラム
JP4753321B2 (ja) 2008-10-06 2011-08-24 キヤノンマーケティングジャパン株式会社 情報処理装置及びインストーラセット作成方法、プログラム、記憶媒体、並びに印刷システム
JP5316078B2 (ja) * 2009-02-25 2013-10-16 株式会社リコー 通信機器、該通信機器の制御方法およびそのプログラムならびにシステム

Also Published As

Publication number Publication date
US9170765B2 (en) 2015-10-27
US20110304883A1 (en) 2011-12-15
JP2012018664A (ja) 2012-01-26

Similar Documents

Publication Publication Date Title
JP5783679B2 (ja) 印刷装置、印刷システム、制御方法、及び、プログラム
JP5911212B2 (ja) 印刷装置及びその制御方法、及びプログラム
KR100991555B1 (ko) 연계 잡 흐름 작성 장치, 연계 잡 흐름 작성 방법, 서비스 처리 장치, 서비스 처리 방법, 관리 서버, 흐름 변환 방법, 잡 흐름 실행 방법, 및 기억 매체
JP3639821B2 (ja) 印刷制御方法及び印刷制御装置及び情報処理装置が実行可能な印刷制御プログラム並びにコンピュータが読み出し可能なプログラムを格納した記憶媒体
JP7433940B2 (ja) 情報処理装置、印刷装置および当該情報処理装置の制御方法、プログラム
JP2013218445A (ja) 管理装置、システム、管理装置の制御方法、プログラム。
US20070044009A1 (en) Information processing apparatus and method
JP4649324B2 (ja) 情報処理装置および情報処理方法およびプログラム
JP3774684B2 (ja) 情報処理装置および情報処理装置のプリンタ設定方法およびプログラムおよび記録媒体
US8842321B2 (en) Information processing apparatus, printer driver, print setting method and data structure
JP2008203929A (ja) サーバ装置、クライアント装置、ドライバ処理方法、記憶媒体、プログラム
JP4974783B2 (ja) 情報処理装置、情報処理方法、記録媒体、プログラム
JP5725873B2 (ja) 印刷システム、情報処理装置、及びその方法
JP2003296079A (ja) データ処理装置及びデータ処理方法
JP6202081B2 (ja) 情報処理装置、プログラム、画像処理システム
JP5804919B2 (ja) 画像形成装置、画像形成装置の制御方法、及びプログラム
JP4208528B2 (ja) 情報処理装置、機能拡張プログラム、それをコンピュータ読み取り可能に記憶した記憶媒体、情報処理方法
JP2010033360A (ja) 情報処理装置、ジョブ処理方法、記憶媒体及びプログラム
JP5791467B2 (ja) 管理装置、管理装置の制御方法、及びプログラム
JP2013206084A (ja) 管理装置、情報処理装置、印刷システム、制御方法、及びプログラム
JP2021190956A (ja) 情報処理システム、設置データ管理装置の制御方法、デバイスの制御方法及びプログラム
JP2006011950A (ja) インストーラ作成装置及びその方法、そのプログラム
JP2011248729A (ja) 印刷制御装置、画像処理装置、印刷制御システム、印刷制御方法、印刷制御プログラム、及びそのプログラムを記録した記録媒体
JP2018112817A (ja) プリンタードライバーアンインストーラー
JP2014074962A (ja) 画像処理装置、情報処理方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140114

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140917

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140924

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150303

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150331

R151 Written notification of patent or utility model registration

Ref document number: 5725873

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151

LAPS Cancellation because of no payment of annual fees