以下、本発明を具現化した実施形態について、図面を参照して説明する。尚、参照する図面は、本発明が採用しうる技術的特徴を説明するために用いられるものである。記載されている装置の構成、各種処理のフローチャートなどは、単なる説明例である。本発明をそれのみに限定する趣旨ではない。
<印刷システム10の概略>
図1を参照して、本発明を具現化した第1実施形態である印刷システム10の概略について説明する。印刷システム10は、複数のプリンタ100とウェブサーバ200とを備える。図1に示す例では、プリンタ100A、プリンタ100B、プリンタ100Cの3つのプリンタ100が配置されている。プリンタ100A、プリンタ100B、プリンタ100Cは、いずれも同じ構成である。尚、本実施形態の説明において、プリンタ100A、プリンタ100B、プリンタ100Cのいずれかについて説明する場合、単にプリンタ100と称して説明する。
プリンタ100、ウェブサーバ200、PC500、サービス装置600、及び、サービス装置700は、それぞれインターネット網400を介して互いに接続されている。プリンタ100と、ウェブサーバ200と、PC500と、サービス装置600と、サービス装置700とは互いに、TCP/IPのプロトコルに従ってデータの送受信を行う。PC500は、利用者が所有するいわゆるパーソナルコンピュータである。PC500にはウェブブラウザーがインストールされている。
プリンタ100は、印刷機能を備えている。また、プリンタ100は、ウェブサーバ200から印刷データを取得して、プリンタ100の印刷機能により印刷することが出来る。
ウェブサーバ200は周知のウェブサーバ機能を持った装置であればよい。ウェブサーバ200は、プリンタ100のメーカーが自前で用意しても良いが、周知のレンタルサーバや、AmazonのEC2に代表されるようなヴァーチャルマシンを利用することも考えられる。ウェブサーバ200は、物理的に単一のひとつの装置で構成されてもよいが、互いにネットワークで接続された複数の装置から構成されてもよい。尚、本実施形態においては、物理的に単一のひとつの装置であるものとして説明する。
サービス装置600は、インターネット網400に接続された他の装置から住所検索要求を受信すると、住所検索要求を送信した装置に対して、その装置の住所情報を送信する住所検索サービスを実行する装置である。サービス装置600は、IPアドレスと、そのIPアドレスに対応する住所情報とを対応付けて記憶した住所テーブルを記憶している。住所検索要求には、IPアドレスが含まれている。サービス装置600は、住所検索要求に含まれているIPアドレスに対応する住所情報を、住所テーブルから検索する。そして、住所テーブルから抽出した住所情報を、住所検索要求の送信元の装置に送信する。
サービス装置700は、インターネット網400に接続された他の装置から緯度・経度変換要求を受信すると、緯度・経度返還要求を送信した装置に対して、その装置に対応する緯度情報と経度情報とを送信する緯度・経度変換サービスを実行する装置である。サービス装置700は、住所情報と、その住所情報に対応する緯度情報と経度情報とを対応付けて記憶した緯度・経度テーブルを記憶している。緯度・経度変換要求には、住所情報が含まれている。サービス装置700は、緯度・経度変換要求に含まれている住所情報に対応する緯度情報と経度情報とを、緯度・経度テーブルから検索する。そして、緯度・経度テーブルから抽出した緯度情報と経度情報とを、緯度・経度変換要求の送信元の装置に送信する
<印刷システム10のハードウェア構成>
図2を参照して、印刷システム10のハードウェア構成について説明する。上述したように、プリンタ100と、ウェブサーバ200と、PC500と、サービス装置600と、サービス装置700とは、互いに、インターネット網400を介して接続されている。
プリンタ100のハードウェア構成について説明する。プリンタ100は、通信部110と、制御部120と、記憶部130と、表示部150と、印刷部160と、操作部180とを備えている。
通信部110は、ネットワークに接続された他の装置と通信を行うための機器である。通信部110としては、周知のネットワークカードを採用することが出来る。
制御部120は、図示しないCPUと、CPUに接続されたROM及びRAMを備えている。CPUは、ROMに記憶されたプログラムにしたがって、プリンタ100の動作を制御する。ROMには、ウェブサーバ200とインターネット網400を介して各種のデータの送受信を行うためのプログラム等が記憶されている。RAMは、各種データを一時的に記憶する記憶装置である。
記憶部130は、NAND型フラッシュメモリー等の不揮発性の記憶装置である。図3に示すように、記憶部130は、プリンタ識別子記憶領域131と、機種コード記憶領域132と、アドレス記憶領域133と、プログラム記憶領域134とを備える。
プリンタ識別子記憶領域131は、プリンタ識別子が記憶される領域である。プリンタ識別子は、プリンターメーカが自社製品を管理するために割り当てた通し番号である。
機種コード記憶領域132は、機種コードが記憶される領域である。機種コードは、プリンターメーカがプリンタの機種を一意に特定するために割り当てたコードである。
アドレス記憶部133は、ウェブサーバ200のアドレスが記憶される領域である。具体的には、ウェブサーバ200のURLが記憶される。
プログラム記憶領域134は、プリンタ100の動作を制御するプログラムが記憶される領域である。具体的には、プログラム記憶領域134には、後述の印刷システム10としての動作を制御するプログラムや、XMPP(Extensible Messaging and Presence Protocol)のクライアントプログラム等が記憶される。
表示部150は、周知のLCD等のディスプレイを備えた表示装置である。表示部150は、制御部120からの指示に従って、各種の情報を表示出力する。
印刷部160は、制御部120の指示に従って、画像の印刷を行う装置である。
操作部180は、利用者により操作される複数の操作ボタン、および、表示部150のLCDに重ねて配置したタッチパネルを備え、利用者の押下操作に応じた信号を制御部120へ送信する装置である。利用者は、操作部180を操作することにより所望の指示を入力することが出来る。
ウェブサーバ200についてのハードウェア構成について説明する。本実施形態の説明では、ウェブサーバ200は、物理的に存在する一つのサーバであるものとして説明するが、上述したようにウェブサーバ200は、複数の物理的な装置が協働して一つのサーバとして機能するEC2のようなヴァーチャルマシンであっても良い。
ウェブサーバ200は、通信部210、制御部220、記憶部230を備える。
通信部210は、ネットワークに接続された他の装置と通信を行うための機器である。通信部210としては、周知のネットワークカードを採用することが出来る。
制御部220は、図示しないCPUと、CPUに接続されたROM及びRAMを備えている。CPUは、ROM及び記憶部230に記憶されたプログラムにしたがって、ウェブサーバ200の動作を制御する。RAMは、各種データを一時的に記憶する記憶装置である。
記憶部230は、ハードディスクドライブのような不揮発性の記憶装置である。図4に示すように、記憶部230は、プリンタ管理テーブル記憶領域231と、印刷ジョブ管理テーブル記憶領域232と、作成方法管理テーブル記憶領域233と、プレビューデータ記憶領域235と、印刷データ記憶領域236と、アドレス記憶領域237と、プログラム記憶領域238と、を備える。
プリンタ管理テーブル記憶領域231は、プリンタ管理テーブルが記憶される領域である。プリンタ管理テーブルの一例を図5に示す。図5に示すようにプリンタ管理テーブルには、プリンタIDと、PINコードと、プリンタ識別子と、機種コードと、ステータスと、IPアドレスと、緯度情報と、経度情報と、登録日と、を対応づけて記憶するテーブルである。プリンタIDは、プリンタ100を特定するためにウェブサーバ200が、プリンタ100に対して割り当てたIDである。PINコードは、後述の処理にて利用者により入力されたPINコードである。プリンタ識別子は、後述の処理にてプリンタ100からウェブサーバ200が取得するプリンタ識別子である。機種コードは、後述の処理にてプリンタ100からウェブサーバ200が取得する機種コードである。ステータスは、プリンタ100がウェブサーバ200と通信可能な状態であるか否かを示す情報である。プリンタ100が、ウェブサーバ200と通信が可能な状態にある場合、ステータスとして“ONLINE”という情報が記憶される。また、プリンタ100が、ウェブサーバ200と通信できない状態にある場合、ステータスとして“OFFLINE”という情報が記憶される。IPアドレスは、プリンタ100のIPアドレスである。緯度情報は、プリンタ100が設置された位置の緯度を示す情報である。経度情報は、プリンタ100が設置された位置の経度を示す情報である。登録日は、プリンタ100がウェブサーバ200に登録された日時を示す情報が記憶される。
印刷ジョブ管理テーブル記憶領域232は、印刷ジョブ管理テーブルが記憶される領域である。印刷ジョブ管理テーブルの一例を図6に示す。図6に示すように、印刷ジョブ管理テーブルは、ジョブIDと、プレビューデータのパスと、印刷データのパスと、登録日と、プリンタIDと、を対応付けて記憶するテーブルである。尚、以下の説明において、ジョブIDと、プレビューデータのパスと、印刷データのパスと、登録日と、プリンタIDと、により構成される一組の情報を印刷ジョブと称す。本発明における印刷ジョブは、印刷指示データに含まれる電子ファイルから作成される印刷データを特定するための情報と、印刷指示データに含まれる識別情報との少なくとも2種類の情報を備えた情報である。本実施形態の印刷ジョブは、印刷データを特定するための情報として、印刷データのパスを備えているが、印刷データを特定するための情報として印刷データのバイナリデータそのものを備えてもよい。
ジョブIDは、利用者が印刷の指示を行う毎に、その印刷の指示に対してウェブサーバ200が割り当てるIDである。プレビューデータのパスは、記憶部230におけるプレビューデータの格納位置を示す情報である。印刷データのパスは、記憶部230における印刷データの格納位置を示す情報である。登録日は、ウェブサーバ200が利用者の印刷の指示を受け付けた日時を示す情報である。プリンタIDは、利用者が印刷を行うプリンタとして指定したプリンタ100のプリンタIDである。
作成方法管理テーブル記憶領域233は、作成方法管理テーブルが記憶される領域である。作成方法管理テーブルは、プリンタ100の機種コードと、印刷データの作成方法を特定するための情報と、プレビューデータの作成方法を特定するための情報とを対応付けて記憶する領域である。作成方法管理テーブルにより、ウェブサーバ200は、印刷を実行させるプリンタ100に対応する印刷データの作成方法と、プレビューデータの作成方法とを特定することができる。
プレビューデータ記憶領域235は、ウェブサーバ200が作成したプレビューデータが記憶される領域である。
印刷データ記憶領域236は、ウェブサーバ200が作成した印刷データが記憶される領域である。
アドレス記憶領域237は、サービス装置600のアドレスと、サービス装置700のアドレスとが記憶される領域である。具体的には、サービス装置600のURLと、サービス装置700のURLとが記憶される。
プログラム記憶領域238は、ウェブサーバ200の動作を制御するプログラムが記憶される領域である。具体的には、プログラム記憶領域238には、後述の印刷システム10としての動作を制御するプログラムや、XMPP(Extensible Messaging and Presence Protocol)のサーバプログラム等が記憶される。
次に、PC500についてのハードウェア構成について説明する。PC500は、ウェブブラウザーがインストールされた周知のパーソナルコンピュータであればよい。
PC500は、通信部510、制御部520、記憶部530、表示部550、操作部580を備える。
通信部510は、ネットワークに接続された他の装置と通信を行うための機器である。通信部510としては、周知のネットワークカードを採用することが出来る。
制御部520は、図示しないCPUと、CPUに接続されたROM及びRAMを備えている。CPUは、ROM及び記憶部530に記憶されたプログラムにしたがって、PC500の動作を制御する。RAMは、各種データを一時的に記憶する記憶装置である。
記憶部530は、ハードディスクドライブのような不揮発性の記憶装置である。記憶部530は、ウェブブラウザーなどのアプリケーションプログラムなどを記憶している。
表示部550は、周知のLCD等のディスプレイを備えた表示装置である。表示部550は、制御部520からの指示に従って、各種の情報を表示出力する。
操作部580は、利用者により操作される複数の操作ボタンを備え、利用者の押下操作に応じた信号を制御部520へ送信する装置である。利用者は、操作部580を操作することにより所望の指示を入力することが出来る。
<印刷システム10の動作>
次に、図7から図21を参照して印刷システム10の動作について説明する。以下に説明するプリンタ100の動作は、ROMに記憶されたプログラムを制御部120が実行し、プリンタ100のハードウェアを制御することにより実行される。また、ウェブサーバ200の動作は、ROM、または、記憶部230に記憶されたプログラムを制御部220が実行し、ウェブサーバ200のハードウェアを制御することにより実行される。また、PC500の動作は、ROM及び記憶部530に記憶されたプログラムを制御部520が実行し、PC500のハードウェアを制御することにより実行される。
<印刷実行時の動作>
図7、図8を参照して利用者が印刷システム10を利用して、印刷を実行する際の印刷システム10の動作を説明する。
利用者は、ウェブサーバ200により提供される印刷ページにより、プリンタ100への印刷の指示を行うことができる。印刷システム10を利用するためには、利用者は、PC500のウェブブラウザーを起動する必要がある。
ウェブブラウザーが起動されると、先ず、PC500は、印刷ページのアクセス操作を受け付ける(S100)。印刷ページのアクセス操作は、利用者が印刷ページを表示させるために行う操作である。具体的に利用者が行う操作は、たとえば、印刷ページのURLをウェブブラウザーに入力する操作などである。
印刷ページのアクセス操作を受け付けたあと、PC500は、印刷ページ要求をウェブサーバ200に送信する(S101)。
PC500が送信した印刷ページ要求は、ウェブサーバ200が受信する(S102)。
印刷ページ要求を受信したウェブサーバ200は、印刷ページのHTMLドキュメントを、PC500に送信する(S103)。
ウェブサーバ200が送信した印刷ページのHTMLドキュメントは、PC500が受信する(S104)。
印刷ページのHTMLドキュメントを受信したPC500は、印刷ページを表示する(S105)。印刷ページの一例を図9に示す。印刷ページには、入力ボックス90と、検索ボタン91と、入力ボックス92と、入力ボックス93と、参照ボタン94と、入力ボックス95と、入力ボックス96と、入力ボックス97と、送信ボタン98と、キャンセルボタン99と、が配置される。
入力ボックス90は、利用者がプリンタIDを入力するための入力ボックスである。プリンタIDは、プリンタ100に対してウェブサーバ200が割り当てたIDである。検索ボタン91は、利用者の近くにあるプリンタ100を検索するときに、利用者が押下するボタンである。尚、以下の説明において、利用者が検索ボタン91を押下する操作を、プリンタ検索操作と称す。
入力ボックス92は、利用者がPINコードを入力するための入力ボックスである。利用者は、プリンタ100を印刷システム10に登録したときに、プリンタ100に対して設定したPINコードを入力する必要がある。
入力ボックス93は、利用者が印刷したい電子ファイルのパスを入力するための入力ボックスである。参照ボタン94は、ファイル選択ダイアログを表示するときに利用者が押下するボタンである。ファイル選択ダイアログは図示しないが、ファイル選択ダイアログでは、利用者は、所望の電子ファイルを選択することができる。ファイル選択ダイアログでファイルが選択されると、入力ボックス93には利用者に選択された電子ファイルのパスが入力される。
入力ボックス95は、印刷する記録紙のサイズを入力することができる。利用者が、入力ボックス95を押下すると、記録紙のサイズの候補の一覧のプルダウンメニューが表示される。利用者が、記録紙のサイズの一覧の中から所望のサイズを選択すると、入力ボックス95には、利用者に選択された記録紙のサイズが入力される。
入力ボックス96は、利用者が印刷範囲を入力するための入力ボックスである。利用者が入力ボックス96を押下すると、「すべて」、「ページ指定」の2つのメニュー項目が並べられたプルダウンメニューが表示される。利用者が、いずれかのメニュー項目を選択すると、「すべて」又は「ページ指定」のいずれかが印刷範囲として、入力ボックス96に入力される。「すべて」のメニュー項目は、印刷させる電子ファイルから作成される印刷データのすべてのページを印刷させる場合に選択されるメニュー項目である。「ページ指定」のメニュー項目は、印刷させる電子ファイルから作成される印刷データの所定のページのみを印刷させる場合に選択されるメニュー項目である。入力ボックス97は、利用者が印刷範囲として「ページ指定」を選択した場合に、利用者が印刷するページを入力するための入力ボックスである。
送信ボタン98は、利用者がウェブサーバ200に印刷指示データを送信するために押下するボタンである。利用者は各入力ボックスに必要な情報を入力した後、印刷指示データを送信するために送信ボタン98を押下する。尚、以下の説明において、利用者が各入力ボックスに必要な情報を入力した後、送信ボタン98を押下する操作を、印刷指示データ送信操作と称す。
キャンセルボタン99は、利用者が各入力ボックスに入力された情報を一括して削除するために押下するボタンである。キャンセルボタン99が押下されると、入力ボックスに入力された情報はすべて消去される。
上述のような印刷ページを表示したPC500は、入力操作を受け付ける(S106)。S106において、利用者は、操作部580を利用して印刷ページの入力ボックスに所望の情報を入力することができる。PC500は、利用者の入力操作に応じて、印刷ページの入力ボックスの表示を更新する。S106において、PC500は、プリンタ検索操作、または、印刷指示データ送信操作を受け付けた場合は、次のS107の処理を行う。
入力操作を受け付けたPC500は、利用者に入力された操作が、プリンタ検索操作であるか否かを判断する(S107)。上述したが、プリンタ検索操作は、利用者がプリンタ検索ボタン91を押下する操作である。
プリンタ検索操作である場合は(S107:Yes)、印刷システム10は、検索処理を行い(S108)、S105に戻る。検索処理の詳細については、後述する。
プリンタ検索操作でない場合、すなわち、利用者に入力された操作が印刷指示データ送信操作である場合は(S107:No)、印刷指示をウェブサーバ200に送信する(S109)。このとき送信される印刷指示データは、入力ボックス90に入力されたプリンタIDと、入力ボックス93に入力されたパスにより特定される電子ファイルと、入力ボックス92に入力されたPINコードと、入力ボックス95に入力された記録紙のサイズと、入力ボックス96に入力された印刷範囲と、入力ボックス97に入力されたページ数と、が含まれるデータである。尚、利用者が印刷範囲として「すべて」を指定した場合は、印刷指示に含まれるページ数は、NULL値となる。
PC500が送信した印刷指示データは、ウェブサーバ200が受信する(S110)。
印刷指示データを受信したウェブサーバ200は、受信した印刷指示データに含まれるプリンタIDをキーに、プリンタ管理テーブルから、PINコードと、機種コードと、ステータスを検索する(S111)。具体的には、受信したプリンタIDに対応するPINコードと、機種コードと、ステータスとを、プリンタ管理テーブルから抽出し、RAMに記憶する。
次に、ウェブサーバ200は、S110においてPC500から受信したPINコードと、S111においてプリンタ管理テーブルから抽出したPINコードとに基づいて、認証が成功したか否かを判断する(S112)。ウェブサーバ200は、S110において受信したPINコードとS111において抽出したPINコードとが一致した場合は認証が成功したと判断し、S110において受信したPINコードとS111において抽出したPINコードとが異なる場合は認証が失敗したと判断する。
認証が失敗した場合(S112:No)、ウェブサーバ200は、認証失敗ページのHTMLドキュメントをPC500に送信する(S113)。
ウェブサーバ200が送信した認証失敗ページのHTMLドキュメントは、PC500が受信する(S114)。
認証失敗ページのHTMLドキュメントを受信したPC500は、認証失敗ページを表示する(S115)。認証失敗ページの一例を図10に示す。認証失敗ページには、「PINコードの認証に失敗しました」という認証が失敗したことを利用者に報知するためのメッセージが配置される。
認証が成功した場合(S112:Yes)、ウェブサーバ200は、印刷データを作成し、新たなジョブIDを発行する(S116)。ウェブサーバ200は、S110において受信した電子ファイルの印刷データを作成する。尚、ここでいう印刷データとは、プリンタ100が印刷可能な形式のデータをいう。プリンタ100が印刷できる形式であれば、いかなる形式のデータであってもかまわない。たとえば、プリンタ100が所定のプリンタ言語で記載されたデータでしか印刷できない場合は、ウェブサーバ200は、添付された電子ファイルに基づいてプリンタ100が理解可能なプリンタ言語の印刷データを作成する。このため、ウェブサーバ200は、プリンタ100の各機種に対応するプリンタドライバを備えている。また、プリンタ100がPDF形式などの所定のファイル形式のデータから印刷を実行できる機能を有している場合、ウェブサーバ200は、画像の電子ファイルに基づいてPDF形式の電子ファイルを印刷データとして作成してもよい。もちろん、この場合、添付ファイルが元々PDF形式の電子ファイルであればウェブサーバ200は、新たなPDF形式の電子ファイルは作成しなくてもよい。
ウェブサーバ200は、印刷データを作成するとき上述のS111で抽出した機種コードに対応する印刷データの作成方法で、印刷データを作成する。機種コードに対応する印刷データの作成方法は、作成方法管理テーブル記憶領域233に記憶された作成方法管理テーブルにより特定することができる。ウェブサーバ200は、作成方法管理テーブルにより、いずれのプリンタドライバで印刷データを作成すればよいか、または、PDF等のいずれの形式の電子ファイルに変換すればよいか、を特定することができる。よって、ウェブサーバ200は、各プリンタ100に対応する印刷データを作成することができる。尚、印刷データを作成するためのプリンタドライバや、電子ファイルの形式を変換するためのプログラム等は、記憶部230に記憶されている。
また、ウェブサーバ200は、印刷データを作成するときS110で受信した印刷範囲及びページ数で特定される範囲の印刷データを作成する。
印刷データを作成したウェブサーバ200は、作成した印刷データを印刷データ記憶領域236に保存する(S117)。印刷データを保存した後、ウェブサーバ200は、図8に示すS130の処理を行う。
印刷データを保存したウェブサーバ200は、プリンタ100がオンラインであるか否かを判断する(S130)。ウェブサーバ200は、上述のS111でプリンタ管理テーブルから抽出したステータスに基づいて、プリンタ100がオンラインであるか否かを判断する。抽出したステータスが“ONLINE”である場合は、プリンタ100がオンラインであると判断する。抽出したステータスが“OFFLINE”である場合は、プリンタ100がオフラインであると判断する。尚、後述するがプリンタ100が印刷システム10に登録された後、プリンタ100は、XMPPのクライアントとして動作する。XMPPサーバとして動作するウェブサーバ200は、プリンタ100と通信可能か否かをXMPPのプロトコルに従って管理しており、プリンタ管理テーブルのステータスを随時更新している。
プリンタ100がオンラインである場合(S130)、ウェブサーバ200は、プレビューデータの作成を行う(S131)。ウェブサーバ200は、上述のS111で抽出した機種コードに対応する作成方法で、プレビューデータを作成する。ウェブサーバ200は、作成方法管理テーブル記憶領域233に記憶された作成方法管理テーブルに基づいて、機種コードに対応する作成方法を特定することができる。尚、各機種に応じたプレビューデータを作成するためのプログラムは、記憶部230に記憶されている。尚、プレビューデータとは、実際に紙に印刷されたときのイメージを示す印刷イメージの画像データである。本実施形態では、印刷が実行されたときに出力されるすべてのページの印刷イメージは作成せず、一枚目に印刷されるページのみの印刷イメージをプレビューデータとして作成する。ただし、本発明はこれに限定されるものではない。たとえば、特徴的な画像が印刷されるページのみの印刷イメージをプレビューデータとして作成してもよいし、複数ページもしくは印刷される全ページの印刷イメージをプレビューデータとして作成してもよい。
プレビューデータの作成を行ったウェブサーバ200は、プレビューデータの保存を行う(S132)。ウェブサーバ200は、プレビューデータ記憶領域236に、作成したプレビューデータを記憶する。
プレビューデータの保存を行ったウェブサーバ200は、保存したプレビューデータと、上述のS116において発行した新規のジョブIDとをプリンタ100に送信する(S133)。尚、ウェブサーバ200が送信したジョブIDと、プレビューデータとは、プリンタ100が受信する。利用者は、プレビューデータを受信したプリンタ100において印刷指示を行うことができる。プレビューデータを受信したプリンタ100の動作については後述する。
S133においてジョブIDと、プレビューデータとを送信した後、もしくは、上述のS130においてプリンタ100がオンラインでないと判断した場合(S130:No)、ウェブサーバ200は印刷ジョブ管理テーブルを更新する(S134)。具体的には、ウェブサーバ200は、ジョブIDと、プレビューデータのパスと、印刷データのパスと、登録日と、プリンタIDとの組み合わせからなる印刷ジョブを、印刷ジョブ管理テーブルに追加する。追加されるジョブIDは、ウェブサーバ200がS116にて新規に発行したIDである。また、追加されるプレビューデータのパスは、上述のS132においてプレビューデータ記憶領域235に記憶したプレビューデータの格納位置を示すパスである。また、追加される印刷データのパスは、上述のS117において印刷データ記憶領域236に記憶された印刷データの格納位置を示すパスである。また、追加される登録日は、その時点の日時である。また、追加されるプリンタIDは、上述のS110において、PC500から受信したプリンタIDである。
印刷キューを作成したウェブサーバ200は、印刷キューページのHTMLドキュメントをPC500に送信する(S135)。上述の説明では、利用者がプレビューデータを受信したプリンタ100において、ウェブサーバ200が作成した印刷データの印刷を指示できるものとして説明したが、印刷システム10の利用者は、印刷キューページを受信したPC500を利用して印刷データの印刷を指示することもできる。印刷キューページは、利用者が印刷データの印刷を指示するためのページである。ウェブサーバ200は、上述のS110で受信したプリンタIDに対応する印刷キューページのHTMLドキュメントを作成して、作成した印刷キューページのHTMLドキュメントをPC500に送信する。
図11に、印刷キューページの一例を示す。図11は、図6のように印刷ジョブ管理テーブルが記憶されている場合に、プリンタIDとして「xxxxxxx」が割り当てられたプリンタ100に対応する印刷キューページの例である。図11に示すように、印刷キューページには、「ジョブID:2000124」との文字列111と、「印刷内容確認」との文字列112と、印刷ボタン113とが配置されている。利用者は、印刷ボタン113を押下することで、ウェブサーバ200が作成した印刷データの印刷指示を行うことができる。尚、以下の説明において、利用者が印刷ボタン113を押下する操作を印刷指示操作と称す。文字列111は、利用者にジョブIDを報知するための文字列である。文字列112は、利用者が印刷内容を確認するために押下するための文字列である。文字列112には、下線が引かれている。文字列112の下線は、文字列112が押下することができる文字列であることを、利用者が識別するためのものである。利用者が文字列112を押下すると、PC500はウェブサーバ200からプレビューデータを取得して表示する。ここで表示するプレビューデータは、ウェブサーバ200がプリンタ100に送信したプレビューデータと同じものであっても良いし、ウェブサーバ200がPC500のプレビューのために作成した別のデータであっても良い。尚、PC500に表示するためのプレビューデータを作成するためのプログラム、及び、そのプログラムにより作成されたプレビューデータは、記憶部230に記憶されている。
図11に示す例では、文字列111と、文字列112と、印刷ボタン113と、の組み合わせが一組表示されている。印刷ジョブ管理テーブルに、同じプリンタIDの印刷ジョブがN個登録されている場合は、印刷キューページには、文字列111と、文字列112と、印刷ボタン113との組が、印刷ジョブの個数にあわせてN個配置される。尚、印刷キューページのHTMLドキュメントには、文字列112が押下された場合に表示するプレビューデータの所在を示すURLが含まれている。
次に、利用者が印刷データの印刷指示を行う際の印刷システム10の動作について説明する。ここでは先ず、上述のS133においてウェブサーバ200が送信したプレビューデータを受信するプリンタ100の動作を説明する。上述のような印刷キューページのHTMLドキュメントを受信した後のPC500の動作については後述する。
S133においてウェブサーバ200が送信したジョブIDとプレビューデータは、プリンタ100が受信する(S136)。
プレビューデータを受信したプリンタ100は、プレビュー画面を表示する(S137)。プレビュー画面の一例を図14に示す。プリンタ100は、表示部150にプレビュー画面を表示する。プレビュー画面では、プリンタ100が受信したプレビューデータが表示される。また、プレビュー画面には、印刷ボタン141が配置される。印刷ボタンは、ウェブサーバ200が作成した印刷データの印刷を実行させるために、利用者が押下するためのボタンである。尚、以下の説明において、利用者が印刷ボタン141を押下する操作を印刷指示操作と称す。
プレビュー画面を表示したプリンタ100は、印刷指示操作を受け付ける(S138)。
印刷指示操作を受け付けたプリンタ100は、印刷指示をウェブサーバ200に送信する(S139)。このときの印刷指示には、上述のS136で受信したジョブIDが含まれる。
次に、利用者がPC500を利用して印刷データの印刷の指示を行う場合のPC500の動作について説明する。
S135においてウェブサーバ200が送信した印刷キューページのHTMLドキュメントは、PC500が受信する(S140)。尚、印刷キューページのHTMLドキュメントには、ジョブIDと、PC500で表示するためのプレビューデータのURLと、が含まれる。
印刷キューページのHTMLドキュメントを受信したPC500は、上述の印刷キューページを表示する(S141)。
印刷キューページを表示したPC500は、印刷指示操作を受け付ける(S142)。尚、このときの印刷指示操作は、利用者が印刷ボタン113を押下する操作である。
印刷指示操作を受け付けたPC500は、印刷指示をウェブサーバ200に送信する(S143)。印刷指示には、押下された印刷ボタン113に対応して表示されているジョブIDが含まれる。
上述のS139でプリンタ100が送信した印刷指示、又は、S143でPC500が送信した印刷指示は、ウェブサーバ200が受信する(S150)。
印刷指示を受信したウェブサーバ200は、受信した印刷指示に含まれるジョブIDに対応する印刷データを検索する(S151)。具体的には、ウェブサーバ200は、受信したジョブIDに対応する印刷データのパスを、印刷ジョブ管理テーブルからRAMに取得する。
印刷データを検索したウェブサーバ200は、ステータスを検索する(S152)。具体的には、ウェブサーバ200は、先ず、印刷ジョブ管理テーブルから、S150で受信したジョブIDに対応するプリンタIDを取得する。次に、取得したプリンタIDに対応するプリンタ100のステータスを、プリンタ管理テーブルからRAMに取得する。
ステータスを検索したウェブサーバ200は、プリンタ100がオンラインであるか否かを判断する(S153)。具体的には、S152においてRAMに取得したステータスが“ONLINE”である場合は、ウェブサーバ200はプリンタ100がオンラインであると判断する。また、S152においてRAMに取得したステータスが“OFFLINE”である場合は、ウェブサーバ200はプリンタ100がオフラインでないと判断する。
プリンタ100がオンラインでない場合(S153:No)、ウェブサーバ200は、プリンタ起動お願いページのHTMLドキュメントをPC500に送信する(S154)。
ウェブサーバ200が送信したプリンタ起動お願いページのHTMLドキュメントは、PC500が受信する(S155)。
プリンタ起動お願いページのHTMLドキュメントを受信したPC500は、プリンタ起動お願いページを表示する(S156)。図12に、プリンタ起動お願いページの一例を示す。図12に示すように、プリンタ起動お願いページには、「プリンタを起動してください」という利用者へプリンタ100の起動を促すメッセージが含まれる。PC500でプリンタ起動お願いページを確認することで、利用者は、プリンタ100が正常に起動され、プリンタ100がインターネット網400に接続されているか否かを確認することができる。
プリンタ100がオンラインである場合(S153:Yes)、ウェブサーバ200は印刷データをプリンタ100に送信する(S157)。具体的には、ウェブサーバ200は、上述のS151において、RAMに取得したパスに格納されている印刷データを、プリンタ100に送信する。
印刷データを送信したウェブサーバ200は、送信した印刷データと、送信した印刷データに対応するプレビューデータと、印刷ジョブとを削除する(S158)。具体的には、ウェブサーバ200は、印刷データ記憶領域236から、プリンタ100に送信した印刷データを削除する。また、ウェブサーバ200は、送信した印刷データに対応するプレビューデータをプレビューデータ記憶領域235から削除する。また、ウェブサーバ200は、上述のS150で受信したジョブIDの印刷ジョブを、印刷ジョブ管理テーブルから削除する。
印刷データ等を削除したウェブサーバ200は、印刷完了ページのHTMLドキュメントをPC500に送信する(S159)。
ウェブサーバ200が送信した印刷完了ページのHTMLドキュメントは、PC500が受信する(S160)。
印刷完了ページのHTMLドキュメントを受信したPC500は、印刷完了ページを表示する(S161)。印刷完了ページの一例を、図13に示す。図13に示すように、印刷完了ページには、「プリンタへ印刷指示を出しました」という、ウェブサーバ200がプリンタ100にたいして印刷データを送信したことを利用者に報知するためのメッセージが含まれる。これにより、利用者がプリンタ100において印刷が行われることを、PC500で確認することができる。
上述のS157において、ウェブサーバ200が送信した印刷データはプリンタ100が受信する(S162)。
印刷データを受信したウェブサーバ200は、受信した印刷データに従って印刷を行う(S163)。これにより、利用者はPC500に格納されていた電子ファイルを、所望のプリンタ100で印刷させることができる。
<プリンタ検索時の動作>
次に、図15を参照して、利用者がプリンタ検索操作を行ったときの、印刷システム10の動作について説明する。上述のS107(図7参照)において、プリンタ検索操作が行われたと判断した場合(S107:Yes)、PC500は図15のS200を行う。
印刷システム10は、プリンタ検索処理を開始すると、先ず、PC500が、ウェブサーバ200にプリンタ検索要求を送信する(S200)。
PC500が送信したプリンタ検索要求は、ウェブサーバ200が受信する(S201)。
プリンタ検索要求を受信したウェブサーバ200は、住所検索要求をサービス装置600に送信する(S202)。住所検索要求には、プリンタ検索要求を送信したPC500のIPアドレスが含まれる。尚、ウェブサーバ200は、S201で受信したプリンタ検索要求の送信元アドレスを、PC500のIPアドレスとして利用する。尚、サービス装置600のアドレスは、アドレス記憶領域237に予め記憶されているため、ウェブサーバ200は、住所検索要求の送信先を特定することができる。
ウェブサーバ200が送信した住所検索要求はサービス装置600が受信する(S203)。
住所検索要求を受信したサービス装置600は、住所検索要求に含まれるPC500のIPアドレスに対応する住所検索を行う(S204)。具体的には、サービス装置600は、上述した住所テーブルから、受信したIPアドレスに対応する住所情報を抽出する。
住所検索を行ったサービス装置600は、住所テーブルから抽出した住所情報をウェブサーバ200に送信する(S205)。
サービス装置600が送信した住所情報は、ウェブサーバ200が受信する(S206)。
住所情報を受信したウェブサーバ200は、緯度・経度変換要求を、サービス装置700に送信する(S207)。緯度・経度変換要求には、サービス装置600から受信した住所情報が含まれる。尚、サービス装置700のアドレスは、アドレス記憶領域237に予め記憶されているため、ウェブサーバ200は、緯度・経度変換要求の送信先を特定することができる。
ウェブサーバ200が送信した緯度・経度変換要求は、サービス装置700が受信する(S208)。
緯度・経度変換要求を受信したサービス装置700は、受信した緯度・経度変換要求に含まれる住所情報を緯度情報と経度情報とに変換する(S209)。具体的には、サービス装置700は、緯度・経度変換要求に含まれている住所情報に対応する緯度情報と経度情報とを、上述した緯度・経度テーブルから抽出する。
緯度情報と経度情報とを抽出したサービス装置700は、抽出した緯度情報と経度情報とをウェブサーバ200に送信する(S210)。
サービス装置700が送信した緯度情報と経度情報とは、ウェブサーバ200が受信する(S211)。
緯度情報と経度情報とを受信したウェブサーバ200は、受信した緯度情報と経度情報とに基づいて、PC500の近くに設置されているプリンタ100を検索する(S212)。具体的には、ウェブサーバ200は、印刷システム10に登録された各プリンタ100の座標と、利用者の利用しているPC500の座標との距離を算出する。そして、この距離が所定値以内に収まるプリンタ100のプリンタIDを、プリンタ管理テーブルから抽出する。尚、印刷システム10に登録された各プリンタ100の座標は、プリンタ管理テーブルに記憶された緯度情報と経度情報とから求めることができる。また、利用者が利用しているPC500の座標は、S211において受信した緯度情報と経度情報とから求めることができる。
PC500の近くに設置されているプリンタ100を検索した後、ウェブサーバ200は、プリンタ一覧ページのHTMLドキュメントをPC500に送信する(S213)。図16にプリンタ一覧ページの一例を示す。プリンタ一覧ページには、検索結果を表示するプリンタ一覧141が配置される。プリンタ一覧は、“プリンタID”と、“ステータス”との二つの項目を表示する一覧である。“プリンタID”には、上述のS212で抽出したプリンタIDが表示される。“ステータス”には、そのプリンタ100がオンラインである否かを示すため、“ONLINE”または“OFFLINE”のいずれかの文字列が表示される。尚、プリンタ一覧141の“ステータス”に表示する情報は、上述のプリンタ管理テーブルの“ステータス”を参照することにより特定できる。また、プリンタ一覧141には、抽出したプリンタ100に対応して複数の選択ボタン142が配置される。利用者は、選択ボタン142を押下することにより、利用したいプリンタ100を選択することができる。利用者が選択中のプリンタ100がいずれであるかを明示するため、利用者により押下された選択ボタン142は、他の選択ボタン142と異なる表示態様で表示される。また、プリンタ一覧141の下には、選択決定ボタン143が配置される。選択決定ボタン143は、選択ボタン142により選択中のプリンタ100を、印刷させるプリンタとして決定するために利用者が押下するボタンである。選択決定ボタン143が押下されると、選択ボタン142により選択されたプリンタ100のプリンタIDが、上述の入力ボックス90に入力される(図9参照)。尚、以下の説明において、利用者が選択ボタン142を押下し、選択決定ボタン143を押下する操作を、プリンタ選択操作と称す。ウェブサーバ200は上述のようなプリンタ一覧ページのHTMLドキュメントを作成し、PC500に送信する。
ウェブサーバ200が送信したプリンタ一覧ページのHTMLドキュメントは、PC500が受信する(S214)。
プリンタ一覧ページのHTMLドキュメントを受信したPC500は、プリンタ一覧ページを表示する(S215)。
プリンタ一覧ページを表示したPC500は、上述のプリンタ選択操作を受け付ける(S216)。プリンタ選択操作を受け付けた後、PC500は、上述のS105に戻り印刷ページを再度表示する(図7参照)。尚、このとき表示される印刷ページの入力ボックス90には、利用者により選択されたプリンタ100のプリンタIDが入力されていることになる。
このように、利用者は自分の現在位置の近くに設置されているプリンタ100を、容易に検索することができ、利用したいプリンタ100のプリンタIDを容易に入力することができる。
<利用者が再度印刷を指示する時の印刷システム10の動作>
図7、図8を参照して説明したように、利用者が印刷ページで印刷指示を行ったときに、利用者が所望するプリンタ100がインターネット網400に接続されていない場合は、利用者は印刷をすることができない。プリンタ100がインターネット網400に接続されていない場合は、PC500にプリンタ起動お願いページが表示されることになる(図8のS155参照)。この場合、利用者はプリンタ100を起動して、インターネット網400と接続をした後、再度、PC500を利用して印刷キューページから印刷を指示することができる。図17を参照して、利用者が再度印刷を指示する際の印刷システム10の動作について説明する。
PC500を利用して再度印刷指示を行うためには、利用者はPC500のウェブブラウザーを起動して、上述の印刷キューページ(図11参照)を表示させる必要がある。このため、再度印刷指示を行う場合、利用者はウェブブラウザーを予め起動しておく必要がある。ウェブブラウザーが起動されると、PC500は、入力ページのアクセス操作を受け付ける(S300)。入力ページは利用者が所望のプリンタ100の印刷キューページを表示させるために、所望のプリンタ100のプリンタIDを入力するためのページである。入力ページのアクセス操作は、利用者が入力ページを表示させるために行う操作である。具体的に利用者が行う操作は、たとえば、入力ページのURLをウェブブラウザーに入力する操作などである。
入力ページのアクセス操作を受け付けたあと、PC500は、入力ページ要求をウェブサーバ200に送信する(S301)。
PC500が送信した入力ページ要求は、ウェブサーバ200が受信する(S302)。
入力ページ要求を受信したウェブサーバ200は、入力ページのHTMLドキュメントを、PC500に送信する(S303)。
ウェブサーバ200が送信した入力ページのHTMLドキュメントは、PC500が受信する(S304)。
入力ページのHTMLドキュメントを受信したPC500は、入力ページを表示する(S305)。入力ページは図示しないが、印刷キューページを表示させたいプリンタ100のプリンタIDを入力するための入力ボックスと、入力されたプリンタIDの送信を指示するための送信ボタンが配置される。以下の説明において、利用者が入力ボックスにプリンタIDを入力した後、送信ボタンを押下する操作を、ID入力操作と称す。
上述のような入力ページを表示したPC500は、ID入力操作を受け付ける(S306)。
ID入力操作を受け付けたPC500は、S306で利用者に入力されたプリンタIDを、ウェブサーバ200に送信する(S307)。
PC500が送信したプリンタIDは、ウェブサーバ200が受信する(S308)。
プリンタIDを受信したウェブサーバ200は、上述のS135と同様、受信したプリンタIDに対応する印刷キューページのHTMLドキュメントを作成して、作成した印刷キューページのHTMLドキュメントをPC500に送信する(S309)。ウェブサーバ200は、図11に示すような印刷キューページのHTMLドキュメントを送信する。
ウェブサーバ200が送信した印刷キューページのHTMLドキュメントは、PC500が受信する(S310)。尚、印刷キューページのHTMLドキュメントには、ジョブIDと、PC500で表示するためのプレビューデータのURLと、が含まれる。
印刷キューページのHTMLドキュメントを受信したPC500は、上述の印刷キューページを表示する(S311)。
印刷キューページを表示したPC500は、上述のS142と同様、印刷指示操作を受け付ける(S312)。
印刷指示操作を受け付けたPC500は、印刷指示をウェブサーバ200に送信する(S313)。印刷指示には、押下された印刷ボタン113に対応して表示されているジョブIDが含まれる。
PC500が送信した印刷指示は、ウェブサーバ200が受信する(S314)。
印刷指示を受信したウェブサーバ200は、上述のS151と同様、受信した印刷指示に含まれるジョブIDに対応する印刷データを検索する(S315)。
印刷データを検索したウェブサーバ200は、上述のS152と同様、ステータスを検索する(S316)。
ステータスを検索したウェブサーバ200は、上述のS153と同様、プリンタ100がオンラインであるか否かを判断する(S317)。
プリンタ100がオンラインでない場合(S317:No)、ウェブサーバ200は、プリンタ起動お願いページのHTMLドキュメントをPC500に送信する(S318)。
ウェブサーバ200が送信したプリンタ起動お願いページのHTMLドキュメントは、PC500が受信する(S319)。
プリンタ起動お願いページのHTMLドキュメントを受信したPC500は、S156と同様、プリンタ起動お願いページを表示する(S320)。
プリンタ100がオンラインである場合(S317:Yes)、ウェブサーバ200は印刷データをプリンタ100に送信する(S321)。具体的には、ウェブサーバ200は、上述のS315において、RAMに取得したパスに格納されている印刷データを、プリンタ100に送信する。
印刷データを送信したウェブサーバ200は、送信した印刷データと、送信した印刷データに対応するプレビューデータと、印刷ジョブとを削除する(S322)。具体的には、ウェブサーバ200は、印刷データ記憶領域236から、プリンタ100に送信した印刷データを削除する。また、ウェブサーバ200は、送信した印刷データに対応するプレビューデータをプレビューデータ記憶領域235から削除する。また、ウェブサーバ200は、上述のS314で受信したジョブIDの印刷ジョブを、印刷ジョブ管理テーブルから削除する。
印刷データ等を削除したウェブサーバ200は、印刷完了ページのHTMLドキュメントをPC500に送信する(S323)。
ウェブサーバ200が送信した印刷完了ページのHTMLドキュメントは、PC500が受信する(S324)。
印刷完了ページのHTMLドキュメントを受信したPC500は、図13に示すような印刷完了ページを表示する(S325)。
上述のS321において、ウェブサーバ200が送信した印刷データはプリンタ100が受信する(S326)。
印刷データを受信したウェブサーバ200は、受信した印刷データに従って印刷を行う(S327)。これにより、利用者はPC500に格納されていた電子ファイルを、所望のプリンタ100で印刷させることができる。
<プリンタ登録時の動作>
次に、図18を参照して利用者が新規のプリンタ100を、印刷システム10に登録する際の印刷システム10の動作を説明する。利用者がプリンタ100を起動して、プリンタ100をインターネット網400に接続すると、プリンタ100は、図18に示すS500を開始する。
プリンタ100がインターネット網400と接続されると、プリンタ100は初期登録が完了しているか否かを判断する(S500)。尚、初期登録が完了している場合、記憶部130には初期登録が完了していることを示す情報が記憶されている。プリンタ100は、記憶部130に初期登録が完了していることを示す情報が記憶されているか否かに基づいて、初期登録が完了しているか否かを判断することができる。
初期登録が完了している場合は(S500:Yes)、プリンタ100は、図18に示す処理を終了する。尚、図18に示す処理を終了した後、プリンタ100は、後述の図21に示す動作を行う。
初期登録が完了していない場合は(S500:No)、プリンタ100は、PINコード入力画面を表示する(S501)。PINコード入力画面の一例を図19に示す。図19に示すように、PINコード入力画面には、入力ボックス191と、複数の入力ボタン192と、文字変更ボタン193と、削除ボタン194と、確定ボタン195とが配置される。入力ボックス191には、入力ボタン192により利用者に入力されたPINコードが表示される。入力ボタン192は、利用者が所望のPINコードを入力するためのボタンである。文字変更ボタン193は、入力ボタン192で入力できる文字の種類を変更するためのボタンである。図19に示す例では、入力ボタン192で入力できる文字は「0」〜「9」までの数字である。削除ボタン194は、入力ボタン192により入力ボックス191に入力した文字を一文字だけ削除するときに押下するボタンである。確定ボタン195は、入力ボックス191に入力された文字列を、PINコードとして確定するときに利用者が押下するためのボタンである。
PINコード入力画面を表示したプリンタ100は、PINコードの入力操作を受け付ける(S502)。プリンタ100は、各種のボタン192〜194の押下操作に応じて、PINコード入力画面の表示を更新する。確定ボタン195が押下されたことを検知すると、プリンタ100は、次のS503の動作を行う。利用者は、任意の文字列をPINコードとして入力することができる。
PINコードの入力操作を受け付けたプリンタ100は、PINコードと、プリンタ識別子と、機種コードとをウェブサーバ200に送信する(S503)。具体的には、プリンタ100は、入力ボックス191に入力されたPINコードと、プリンタ識別子記憶領域131に記憶されたプリンタ識別子と、機種コード記憶領域132に記憶された機種コードとを、ウェブサーバ200に送信する。尚、ウェブサーバ200のアドレスは、アドレス記憶領域133に予め記憶されている。このため、プリンタ100は、送信先を特定することができる。
プリンタ100が送信したPINコード、プリンタ識別子、機種コードは、ウェブサーバ200が受信する(S504)。
PINコード、プリンタ識別子、機種コードを受信したウェブサーバ200は、新規のプリンタIDを発行する(S505)。ウェブサーバ200は、未だプリンタ管理テーブルに記憶されていないプリンタIDを、新規のプリンタIDとして発行する。
プリンタIDを発行したウェブサーバ200は、新規に発行したプリンタIDと、S504で受信したPINコードと、S504で受信したプリンタ識別子と、S504で受信した機種コードとをプリンタ管理テーブルに記憶する(S506)。尚、ウェブサーバ200は、IPアドレスと、登録日とについても、この時点でプリンタ管理テーブルに記憶する。ウェブサーバ200は、S504で受信したIPパケットの送信元のアドレスを、プリンタ100のIPアドレスとして、プリンタ管理テーブルに記憶する。そして、このときの日時を示す情報を、登録日として、プリンタ管理テーブルに記憶する。
プリンタ管理テーブルを更新した後、ウェブサーバ200は、S506でプリンタ管理テーブルに記憶した新規のプリンタIDをプリンタ100に送信する(S507)。
ウェブサーバ200が送信したプリンタIDは、プリンタ100が受信する(S508)。
プリンタIDを受信するとプリンタ100は、受信したプリンタIDを表示する(S509)。具体的には、図20に示すようなプリンタID表示画面を、表示部150に表示させる。
以上の処理により、新規のプリンタ100に対するプリンタIDと、PINコードと、プリンタ識別子と、機種コードとが、ウェブサーバ200に登録されることになる。尚、この時点では、プリンタ管理テーブルに記憶される情報のうち、新規のプリンタ100については、ステータスと、緯度情報と、経度情報と、登録日との4種の情報については、未だ記憶されていない。これらの情報については、後述の図21のS600以降の処理によりプリンタ管理テーブルに記憶される。
<プリンタ100の緯度情報、経度情報の更新時の動作>
次に、図21を参照して、プリンタ100の緯度情報、及び、経度情報を更新する際の、印刷システム10の動作を説明する。図21に示す処理の開始は、上述のS509を行った後、もしくは、前回、図21に示す一連の動作を行った後、所定期間が経過した後に開始される。たとえば、10分経過するたびに、図21の動作を開始しても良い。これにより、プリンタ管理テーブルには、各プリンタ100について、最新の緯度情報と経度情報とが記録されることになる。
図21の動作を開始すると、プリンタ100は、プリンタ識別子記憶領域131に予め記憶されているプリンタ識別子をウェブサーバ200に送信する(S600)。
プリンタ100が送信したプリンタ識別子は、ウェブサーバ200が受信する(S601)。
プリンタ識別子を取得したウェブサーバ200は、プリンタ100のIPアドレスが更新されているか否かを判断する(S602)。具体的には、ウェブサーバ200は、S601で受信したプリンタ識別子の送信元アドレスと、プリンタ管理テーブルに記憶されているIPアドレスが一致するか否かに基づいて、IPアドレスが更新されているか否かを判断する。
送信元アドレスと、プリンタ管理テーブルに記憶されているIPアドレスが一致している場合には、ウェブサーバ200は、IPアドレスが更新されていないと判断し(S602:No)、後述のS614の動作を行う。
送信元アドレスと、プリンタ管理テーブルに記憶されているIPアドレスが一致していない場合には、ウェブサーバ200は、IPアドレスが更新されていると判断し(S602:Yes)、サービス装置600に住所検索要求を送信する(S603)。この住所検索要求には、プリンタ識別子を送信したプリンタ100のIPアドレスが含まれる。ウェブサーバ200は、S601で受信したプリンタ識別子の送信元アドレスを、プリンタ100のIPアドレスとして利用する。
ウェブサーバ200が送信した住所検索要求はサービス装置600が受信する(S604)。
住所検索要求を受信したサービス装置600は、上述のS204と同様に住所検索を行う(S605)。
住所検索を行ったサービス装置600は、住所情報をウェブサーバ200に送信する(S606)。
サービス装置600が送信した住所情報は、ウェブサーバ200が受信する(S607)。
住所情報を受信したウェブサーバ200は、緯度・経度変換要求を、サービス装置700に送信する(S608)。緯度・経度変換要求には、S607でサービス装置600から受信した住所情報が含まれる。
ウェブサーバ200が送信した緯度・経度変換要求は、サービス装置700が受信する(S609)。
緯度・経度変換要求を受信したサービス装置700は、上述のS209と同様に、受信した住所情報を緯度情報と経度情報とに変換する(S610)。
住所情報を変換したサービス装置700は、緯度情報と経度情報とをウェブサーバ200に送信する(S611)。
サービス装置700が送信した緯度情報と経度情報とは、ウェブサーバ200が受信する(S612)。
緯度情報と経度情報とを受信したウェブサーバ200は、プリンタ管理テーブルを更新する(S613)。具体的には、S602において受信したプリンタ識別子に対応するプリンタ100のIPアドレスと、緯度情報と、経度情報とを更新する。このときプリンタ管理テーブルに記憶されるIPアドレスは、S602で受信したプリンタ識別子の送信元のIPアドレスである。また、このときプリンタ管理テーブルに記憶される緯度情報と経度情報は、S612で受信した緯度情報と経度情報である。
プリンタ管理テーブルを更新したウェブサーバ200は、プリンタ100がオンラインであるか否かを判断する(S614)。ウェブサーバ200は、プリンタ100がオンラインであるか否かを、プリンタ管理テーブルのステータスを参照して判断する。対応するプリンタ100のステータスが“ONLINE”である場合は、オンラインであると判断する。一方、ステータスが“OFFLINE”、若しくは、NULL値の場合は、オフラインであると判断する。尚、新規のプリンタ100の場合、すなわち、プリンタ100とウェブサーバ200とがはじめて接続される場合は、この時点でステータスはNULL値である。
オンラインであると判断した場合は(S614:YES)、ウェブサーバ200は、プリンタ管理テーブルを更新する処理を一旦終了する。
オンラインでないと判断した場合は(S614:NO)、ウェブサーバ200は、プリンタ100のステータスを“ONLINE”に更新し、プリンタ100とXMPPの通信を開始する(S615)。そして、ウェブサーバ200は、プリンタ管理テーブルを更新する処理を一旦終了する。
尚、上述の処理を終了した後、ウェブサーバ200は、プログラム記憶領域に記憶されたXMPPのサーバプログラムにしたがって、プリンタ100とXMPPの通信を行い、プリンタ100と通信が可能か否かを監視する。そして、その通信可能か否かの監視結果に基づいて、ウェブサーバ200はプリンタ管理テーブルのステータスを、“ONLINE”、または、“OFFLINE”のいずれかに更新する。プリンタ100は、上述のXMPPのクライアントプログラムにしたがって、ウェブサーバ200と通信を行い、ウェブサーバ200と通信可能であることを示す通知をウェブサーバ200に送信する。
以上の処理により、プリンタ100に対するIPアドレスと、緯度情報と、経度情報と、ステータスとが、ウェブサーバ200に登録、または、更新される。
<第2実施形態の説明>
次に、本発明の第2実施形態について説明する。第1実施形態と同様の事項については説明を省略し、第1実施形態と同じ構成については第1実施形態と同じ符号を用いて説明する。第2実施形態のハードウェアの構成は、第1実施形態と同じである。上述の第1実施形態の印刷システム10では、利用者が印刷ページで印刷指示を行ったときに、利用者が所望するプリンタ100がインターネット網400に接続されていない場合は、利用者はプリンタ100を起動した後、PC500を利用して印刷キューページから印刷を指示することができるものとして説明した。第2実施形態の印刷システム10では、印刷キューページから印刷指示をすることはできない。第2実施形態の印刷システム10では、後述のジョブID入力ページに、ジョブIDを入力することで、再度印刷指示を行うことができる。上述の第1実施形態の印刷キューページでは、利用者が入力したプリンタIDにひもづけられた印刷ジョブがすべて表示されるため、他の利用者が指示した印刷ジョブを誤って実行してしまう恐れがある。これに対して、第2実施形態のジョブID入力ページでは、利用者が自分の作成した印刷ジョブに割り当てられたジョブIDを直接入力するため、他人の印刷ジョブを誤って実行してしまうという不具合を防止することができる。
図22を参照して、利用者が再度印刷指示を行う際の、第2実施形態の印刷システム10の動作について説明する。尚、第2実施形態の印刷システム10の他の動作は、図7、図8、図15、図18、図21を参照して説明した第1実施形態の動作と略同様である。第2実施形態では、図8に示す一部の動作(S135、S140、及び、S141)のみが異なる。この第1実施形態と異なる部分については後述するが、第1実施形態と同様の動作については、説明を省略する。
第1実施形態と同様、ウェブブラウザーが起動されると、第2実施形態のPC500は、ジョブID入力ページのアクセス操作を受け付ける(S400)。ジョブID入力ページは利用者が所望のジョブIDを入力するためのページである。ジョブID入力ページのアクセス操作は、利用者がジョブID入力ページを表示させるために行う操作である。具体的に利用者が行う操作は、たとえば、ジョブID入力ページのURLをウェブブラウザーに入力する操作などである。
ジョブID入力ページのアクセス操作を受け付けたあと、PC500は、ジョブID入力ページ要求をウェブサーバ200に送信する(S401)。
PC500が送信したジョブID入力ページ要求は、ウェブサーバ200が受信する(S402)。
ジョブID入力ページ要求を受信したウェブサーバ200は、ジョブID入力ページのHTMLドキュメントを、PC500に送信する(S403)。
ウェブサーバ200が送信したジョブID入力ページのHTMLドキュメントは、PC500が受信する(S404)。
ジョブID入力ページのHTMLドキュメントを受信したPC500は、ジョブID入力ページを表示する(S405)。ジョブID入力ページは図示しないが、利用者が所望のジョブIDを入力するための入力ボックスと、入力されたジョブIDの送信を指示するための送信ボタンが配置される。以下の説明において、利用者が入力ボックスにジョブIDを入力した後、送信ボタンを押下する操作を、ジョブID入力操作と称す。
利用者は、上述のS141において表示される印刷キューページにより、自分の印刷ジョブのジョブIDを確認することができる(図8参照)。尚、第2実施形態においてS141で表示される印刷キューページは、第1実施形態の印刷キューページとは少し異なる。上述の第1実施形態では、印刷ジョブ管理テーブルに、同じプリンタIDの印刷ジョブがN個登録されている場合は、印刷キューページには、文字列111と、文字列112と、印刷ボタン113との組が、印刷ジョブの個数にあわせてN個配置されるものとして説明した。しかし、第2実施形態における印刷キューページで表示される文字列111と、文字列112と、印刷ボタン113との組は、同じプリンタIDのすべての印刷ジョブに対応する組み合わせがすべて表示されるとは限らない。第2実施形態の印刷キューページで表示される文字列111と、文字列112と、印刷ボタン113との組は、上述のS134において印刷ジョブ管理テーブルに追加された新たな印刷ジョブに対応するもののみである。即ち、S135でウェブサーバ200が送信する印刷キューページのHTMLドキュメント、及び、S140でPC500が受信する印刷キューページのHTMLドキュメントも、第1実施形態と少し異なる。このような第1実施形態と異なる動作により、他人の印刷ジョブのジョブIDを利用者に通知することが防止される。利用者は、このような印刷キューページにより自分の印刷ジョブのジョブIDを確認することができるので、これを利用して上述のジョブID入力ページに、所望のジョブIDを入力できる。
ジョブID入力ページを表示したPC500は、ジョブID入力操作を受け付ける(S412)。
ジョブID入力操作を受け付けたPC500は、印刷指示をウェブサーバ200に送信する(S413)。印刷指示には、利用者により入力されたジョブIDが含まれる。
PC500が送信した印刷指示は、ウェブサーバ200が受信する(S414)。
印刷指示を受信したウェブサーバ200は、上述のS151と同様、受信した印刷指示に含まれるジョブIDに対応する印刷データを検索する(S415)。
印刷データを検索したウェブサーバ200は、上述のS152と同様、ステータスを検索する(S416)。
ステータスを検索したウェブサーバ200は、上述のS153と同様、プリンタ100がオンラインであるか否かを判断する(S417)。
プリンタ100がオンラインでない場合(S417:No)、ウェブサーバ200は、プリンタ起動お願いページのHTMLドキュメントをPC500に送信する(S418)。
ウェブサーバ200が送信したプリンタ起動お願いページのHTMLドキュメントは、PC500が受信する(S419)。
プリンタ起動お願いページのHTMLドキュメントを受信したPC500は、S156と同様、プリンタ起動お願いページを表示する(S420)。
プリンタ100がオンラインである場合(S417:Yes)、ウェブサーバ200は印刷データをプリンタ100に送信する(S421)。具体的には、ウェブサーバ200は、上述のS415において、RAMに取得したパスに格納されている印刷データを、プリンタ100に送信する。
印刷データを送信したウェブサーバ200は、送信した印刷データと、送信した印刷データに対応するプレビューデータと、印刷ジョブとを削除する(S422)。具体的には、ウェブサーバ200は、印刷データ記憶領域236から、プリンタ100に送信した印刷データを削除する。また、ウェブサーバ200は、送信した印刷データに対応するプレビューデータをプレビューデータ記憶領域235から削除する。また、ウェブサーバ200は、上述のS414で受信したジョブIDの印刷ジョブを、印刷ジョブ管理テーブルから削除する。
印刷データ等を削除したウェブサーバ200は、印刷完了ページのHTMLドキュメントをPC500に送信する(S423)。
ウェブサーバ200が送信した印刷完了ページのHTMLドキュメントは、PC500が受信する(S424)。
印刷完了ページのHTMLドキュメントを受信したPC500は、図13に示すような印刷完了ページを表示する(S425)。
上述のS421において、ウェブサーバ200が送信した印刷データはプリンタ100が受信する(S426)。
印刷データを受信したウェブサーバ200は、受信した印刷データに従って印刷を行う(S427)。これにより、利用者はPC500に格納されていた電子ファイルを、所望のプリンタ100で印刷させることができる。
<特許請求に範囲に記載の構成要素との対応関係>
上述の第1実施形態および第2実施形態における各構成要素と特許請求の範囲に記載の各構成要素との対応関係は次のとおりである。印刷システム10が、印刷システムに相当する。プリンタ100が、印刷装置に相当する。ウェブサーバ200が、ウェブサーバに相当する。プリンタ管理テーブル記憶領域231を備えた記憶部230が、認証情報記憶手段に相当する。上述のS103において印刷ページを送信するウェブサーバ200の制御部220が、第1ページ送信手段に相当する。上述のS110において印刷指示データを受信するウェブサーバ200の制御部220が、第1取得手段に相当する。上述のS112において認証が成功したか否かを判断するウェブサーバ200の制御部220が、認証手段に相当する。上述のS116において印刷データを作成するウェブサーバ200の制御部220が、印刷データ作成手段に相当する。上述のS157において印刷データを送信するウェブサーバ200の制御部220が、印刷データ送信手段に相当する。上述のS162において印刷データを受信するプリンタ100の制御部120が、印刷データ取得手段に相当する。上述のS163において印刷を行うプリンタ100の制御部120が、印刷制御手段に相当する。
また、上述のS111において機種コードを検索するウェブサーバ200の制御部220が、機種特定手段に相当する。
また、プリンタ管理テーブル記憶手段231を備えた記憶部230が、機種情報記憶手段に相当する。
また、表示部150が、表示部に相当する。上述のS131においてプレビューデータを作成するウェブサーバ200の制御部220が、表示データ作成手段に相当する。上述のS133においてプレビューデータを送信するウェブサーバ200の制御部220が、表示データ送信手段に相当する。上述のS136においてプレビューデータを受信するプリンタ100の制御部120が、表示データ取得手段に相当する。上述のS137においてプレビュー画面を表示するプリンタ100の制御部120が、表示制御手段に相当する。上述のS138において印刷指示操作を受け付けるプリンタ100の制御部120が、印刷指示受付手段に相当する。
また、上述のS134において印刷ジョブ管理テーブルを更新するウェブサーバ200の制御部220が、リスト作成手段に相当する。上述のS135、または、上述のS309において印刷キューページを送信するウェブサーバ200の制御部220が、第2ページ送信手段に相当する。上述のS150、または、上述のS314において印刷指示を受信するウェブサーバ200の制御部220が、第1検知手段に相当する。
また、上述のS309において印刷キューページを送信するウェブサーバ200の制御部220が、ジョブ識別情報送信手段に相当する。上述のS403においてジョブID入力ページを送信するウェブサーバ200の制御部220が、第3ページ送信手段に相当する。上述のS414において印刷指示を受信するウェブサーバ200の制御部220が、第2検知手段に相当する。
また、上述のS601においてプリンタ100のIPアドレスを取得するウェブサーバ200の制御部220が、第1IPアドレス取得手段に相当する。上述のS201においてPC500のIPアドレスを取得するウェブサーバ200の制御部220が、第2IPアドレス取得手段に相当する。上述のS212においてプリンタ100を検索するウェブサーバ200の制御部220が、特定手段に相当する。上述のS213においてプリンタ一覧ページを送信するウェブサーバ200の制御部220が、第4ページ送信手段に相当する。
また、上述のS504においてPINコードを受信するウェブサーバ200の制御部220が、認証情報受信手段に相当する。上述のS506においてプリンタIDとPINコードとを対応付けて記憶するウェブサーバ200の制御部220が、記憶制御手段に相当する。上述のS507においてプリンタIDを送信するウェブサーバ200の制御部220が、識別情報送信手段に相当する。
<変形例>
本発明は、上記した実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内において種々の変更を加え得ることは勿論である。
上述の実施形態では、ウェブサーバ200は、S111においてプリンタIDに基づいて機種を特定し、S116においてその機種に応じた印刷データを作成するものとして説明したが、本発明はこれに限るものではない。例えば、印刷ページにおいて利用者が印刷させる印刷装置100の機種コードを入力できるようにして、ウェブサーバ200が利用者に入力された機種コードに基づいて、その機種に応じた印刷データを作成するようにしても良い。
また、上述の実施形態では、プリンタ100が、S137でプレビュー画面を表示して、利用者の印刷指示操作が行われた場合に、ウェブサーバ200から印刷データを取得して印刷を実行するものとして説明したが、本発明はこれに限るものではない。例えば、ウェブサー200は、プリンタ100に対してプレビューデータは送信せずに、S116で印刷データを作成した後、すぐに印刷データをプリンタ100へ送信するようにしても良い。この場合、プリンタ100は、ウェブサーバ200から印刷データを取得すると、利用者に印刷を実行させるか否かを確認する確認画面を表示し、利用者が操作部180を操作して印刷の実行を許可した場合に、プリンタ100が受信した印刷データに基づいて印刷を実行するようにしてもよい。
また、上述の実施形態では、プリンタID、PINコード、電子ファイルのパス等の情報を、ひとつの印刷ページ(図9参照)で、入力できるものとして説明したが、本発明はこれに限るものではない。これらの情報を複数のウェブページで、それぞれ個別に入力できるようにしても良い。この場合、この複数のウェブページが、本発明の第1ページに相当する。
また、上述の実施形態では、S110で印刷指示データを受信した後、S116で予め印刷データを作成するものとして説明したが、本発明はこれに限るものではない。例えば、S150で印刷指示を受信した後、S110で受信した電子ファイルに基づいて印刷データを作成するようにしても良い。この場合、S110で受信した電子ファイルは、記憶部230に記憶され、印刷ジョブ管理テーブルには、印刷データのパスの代わりに、記憶部230に記憶された電子ファイルのパスを記憶すればよい。この電子ファイルのパスは、本発明の「印刷指示データに含まれる電子ファイルから作成される印刷データを特定するための情報」に相当する。