図1は本発明の実施形態を示す一般的なコンピューターを用いたシステムのブロック構成図である。なお、特に断らない限り、本発明の機能が実行されるのであれば、単体の機能であっても、複数の機器からなるシステムであっても、ネットワークを介して接続がなされ処理が行われるシステムであっても、本発明を適用できることは言うまでもない。
クライアントコンピューター(情報処理装置)100は図1−aで示されるシステムで構成されている。以下に詳細な説明を記載する。
CPU101は主記憶装置102のROM1021あるいはRAM1022あるいは補助記憶装置105に格納されたプログラムに従って装置全体の制御を行う。RAM1022はCPU101が各種処理を行う際のワークエリアとしても使用される。補助記憶装置105はオペレーティングシステム(OS)1053やアプリケーションソフト1051等を記録する。以降の説明では主記憶装置102と補助記憶装置105を合わせて記憶装置と記載する。
マウス・タッチパネルなどに代表されるポインティングデバイス1032やキーボード1031などの入力機器は、入力I/F103を通じて接続され、ユーザーがコンピューターに対して各種指示を与えるためのデバイスである。
出力I/F104は、データを外部に出力するためのインターフェースであり、モニタ1041やプリンター1042(MFP、周辺機器とも言う)などの出力機器に対してデータを出力する。プリンター1042との接続は出力I/Fによる直接接続でなくても良い。すなわち、通信I/F106を通じて接続されるネットワーク1061を通して接続されていてもよい。
また、107は共通データシステムバスで、I/Fやモジュール間でデータのやりとりを行う。
加えて、CPU101が記憶装置に記憶されているプログラムに基づき処理を実行することによって、図1−bに示されるようなクライアントコンピューター100のソフトウェア構成及び後述するフローチャートの各ステップの処理が実現される。
デバイスドライバ1054とプリントキュー1055は接続されるプリンターに対応するデバイスIDを保持している。またデバイス管理制御ファイル1058には前記デバイスIDとデバイス管理システム1056およびデバイス管理アプリ1057との関連付けが記述されている(詳細は後述の表A及び図5を参照)。ここでデバイス管理アプリ1057とはクライアントコンピュータ100に接続されたプリンターを管理するためのアプリケーションである。
オペレーティングシステム(OS)1053はデバイス管理制御ファイルを参照する。この参照により、OSは、デバイスドライバ1054とプリントキュー1055とデバイス管理システム1056とデバイス管理アプリケーション1057がデバイスIDを介してどのように関連付けられているかの判断を行うことが可能である。なお、デバイス管理アプリケーション1057は、デバイス管理アプリ1057と呼ばれることもある。
なお、デバイス管理制御ファイル1058は機種ごとにファイルを作成してもよいし、全機種を一つのファイルで作成してもよい。
図2は本発明の実施の形態におけるネットワーク1061の環境を簡略した図である。印刷を行う文書や画像を作成するクライアントコンピューター100/201/202が単体もしくは複数ネットワークに接続されている。また、クライアントのユーザーやプリンターを管理するサーバーコンピュータ203が接続されていることもある。プリンター204/205が単体もしくは複数ネットワークに接続されており、プリンター205のように物理的に接続されていても実際には使用できないオフライン状態であることもある。ネットワークにはPAN(Personal Area Network)、LAN(Local Area Network)、MAN(Metropolitan Area Network)、WAN(WIDe Area Network)などの小規模から大規模までのネットワークがあり、これらの機器が全てのネットワークに接続されている。なお、クラウドなど、サーバーやプリンターがインターネットを越えて接続されていてもかまわない。なお、図2でもプリンター204−205が記載されているが、上述したようにMFP、周辺機器とも言う。
図3は、デバイス管理アプリの表示例である。
図3−aで示されるようにOS1053がそれぞれの機能を動作するためのタイルを並べて表示する。OS1053はデバイス管理アプリ1057のタイル301も表示する。つまり、タイル301がユーザーにより選択された場合、デバイス管理アプリ1057が動作する。なお、タイルを単にオブジェクトと呼んでも良い。つまり、本願の情報処理装置は、上述したようなタイルを表示可能である。また、本願のOSは、例えば、複数のアプリケーションがアクティブな状態であっても表示されるアプリケーションは1つに限られ、そのアプリケーションのUIのみが表示される環境を提供する。よって、その他のアクティブなアプリケーションのUIは表示されない。ここで、表示対象のアプリケーションが変更された場合、変更後のアプリケーションのUIが表示される。本明細書では便宜上図3−aの画面300をホーム画面と呼ぶ。ホーム画面300はOS1053にインストールされた各種アプリが提供する情報を表示したり、ユーザーからクリック操作(タッチ操作)により動作指示を受け付けてアプリを起動したりするためにOS1053が提供する画面である。つまり、タイルは、動作指示を受け付けるために表示される。
また、タイル301をクリックすることでそのデバイス管理アプリ1057が管理している(デバイス管理アプリ1057に関連付けされている)複数の周辺機器のデバイスオブジェクトを含む画面350が表示される(図3−b)。デバイス管理アプリ1057の画面350に、デバイス管理アプリと関連付けられた複数の周辺機器を示すデバイスオブジェクト(351、352)が表示される。なお、後述するようにデバイス管理アプリには、異なるアドレス情報を持つ複数の周辺機器が関連づけられている。そしてユーザーがデバイスオブジェクトを選択することで、そのデバイスオブジェクトに対応付いている周辺機器の現在の状況や消耗品等に関する情報を含む画面が表示される。なお、デバイスオブジェクトは、OSが管理しているプリントキューと関連づけられている。また、本願では、デバイスオブジェクトが表示されると説明しているが、プリントキューがデバイス管理アプリ1057の画面に表示されても良い。 図4は、プリントキュー1055が作成された際のデバイス管理アプリ1057のインストール手順を示したフロー図である。
ステップS401において、OS1053はプリンターが出力I/F104に接続されたことを検知する。これは、OS1053に標準搭載されたプラグアンドプレイ(PnP:Plug and Play)の機能によって実現される。また、通信I/F106を通じて接続されるネットワーク1061を通してプリンターが接続されたことを検知した際も同様である。この際のネットワーク接続でのPnPはネットワークプラグアンドプレイ(N−PnP:Network Plug and Play)の機能によって実現される。
ステップS402において、OS1053はS401で検知されたプリンターに対応するデバイスドライバ1054が存在するか、クライアントコンピューター100の記憶装置内を検索する。ステップS402の検索の結果、対応するデバイスドライバ1054が存在しなかった場合、OS1053はデバイスドライバ1054の取得を行う(ステップS403)。デバイスドライバ1054は、クライアントコンピューター100に挿入されたCD−ROM等の記憶媒体、LAN接続されたサーバーコンピュータの記憶装置、インターネット経由でクラウドサーバー等から取得される。検索の結果、対応するデバイスドライバ1054が存在した場合はステップS404に進む。
ステップS404において、OS1053はS403で取得したデバイスドライバ1054をクライアントコンピューター100にインストールする。
次にステップS405において、OS1053は接続されたプリンターに対応するプリントキュー1055を作成する。
そして、ステップS406において、OS1053はクライアントコンピューター100に接続されたプリンターに対応するデバイス管理システム1056が存在するか、クライアントコンピューター100の記憶装置内を検索する。検索の結果、対応するデバイス管理システム1056が存在した場合はステップS408に進む。一方、検索の結果、対応するデバイス管理システム1056が存在しなかった場合、ステップS407において、OS1053は対応するデバイス管理システム1056の取得を行う。デバイス管理システム1056は、クライアントコンピューター100に挿入されたCD−ROM等の記憶媒体、LAN接続されたサーバーコンピュータの記憶装置、インターネット経由でクラウドサーバー等から取得される。なお、デバイス管理システム1056を取得する際に、同時にデバイス管理制御ファイル1058も取得される。デバイス管理制御ファイル1058は、接続されたプリンターとデバイス管理システムとデバイス管理アプリの関連を記述したものであり、後述する表Aに示す情報を保持する。
次にステップS408において、OS1053はデバイス管理システム1056のインストールを行う。そして、ステップS409において、OS1053はデバイス管理制御ファイル1058にデバイス管理アプリに関する記述が存在するかを検索する。検索の結果、デバイス管理アプリに関する記述が存在しない場合は処理を終了する。
一方、ステップS409において、デバイス管理アプリについての記述が存在する場合はステップS410に進む。ステップS410において、OS1053はクライアントコンピューター100に接続されたプリンターに対応するデバイス管理アプリ1057が存在するかをクライアントコンピューター100の記憶装置内を検索する。
検索の結果、対応するデバイス管理アプリ1057が存在しなかった場合は、ステップS411において、OS1053は対応するデバイス管理アプリ1057の取得を行う。デバイス管理アプリ1057は、クライアントコンピューター100に挿入されたCD−ROM等の記憶媒体、LAN接続されたサーバーコンピュータの記憶装置、インターネット経由でクラウドサーバー等から取得される。
そして、ステップS412において、OS1053はデバイス管理アプリ1057のインストールを行う。インストールされたデバイス管理アプリ1057は図3で示されるように、タイル301として表示される。
図5はプリンターのデバイスIDとデバイス管理アプリ1057・デバイス管理システム1056・デバイスドライバ1054・プリントキュー1055の関係を示すUML(Unified Modeling Language)図である。
プリンターはデバイスIDを有している。ここでプリンターは複数のデバイスIDを有していても構わない。例えばMFPなどでスキャナやプリンターなどの機能ごとにデバイスIDを有するように構成してもよい。
また、デバイスIDとデバイスドライバ1054は一意に関連付けられる。
デバイスドライバ1054に対するプリントキュー1055の関係では、プリントキューに対して一つのデバイスドライバを関連付けることが可能である。
さらにデバイスIDに対してデバイス管理システム1056・デバイス管理アプリ1057それぞれが関連付けられる。
すなわち、デバイスIDを介してデバイス管理アプリ1057・デバイス管理システム1056がデバイスドライバ1054・プリントキュー1055と関連付けられている。
次にデバイスIDとデバイス管理アプリ・デバイス管理システムを具体的にどのように関連付けるのかを表Aを用いて説明する。
表Aは、デバイス管理制御ファイル1058で示されるプリンターのデバイスIDとデバイス管理システム1056とデバイス管理アプリ1057の関連を表した図である。
デバイスIDは製造元(MFG)、モデル(MDL)、クラス(CLS)、コマンド(CMD)、デスクリプション(DES)などを示す情報である。例えば表Aで示されるプリンター1は製造元:ABC、モデル:プリンター1、クラス:PRINTER、コマンド:PDL1(ABC社プライベートの印刷制御用コマンド)、デスクリプション:ABC プリンター1を示すデバイスIDを有する。また表Aによりプリンター1のデバイスIDがデバイス管理システム:DevMg1、デバイス管理アプリ:App1に関連付けられていることがわかる。
前記図4のフローに当てはめれば、プリンター1がクライアントコンピューター100に接続された場合、プリンター1のデバイスドライバがインストールされ、製造元とモデルに応じた名称のプリントキューが作成される。そして、プリンター1のデバイスドライバのインストールに連動して、デバイス管理システム:DevMg1とデバイス管理アプリ:App1が自動的にインストールされる。つまり、デバイスドライバに連動してデバイス管理アプリがインストールされるため、デバイス管理アプリをインストールするためのユーザーの操作は不要となる。またデバイス管理システム:DevMg1とデバイス管理アプリ:App1はプリンター1を管理する。なお、表Aには、デバイス管理アプリ:App1が、プリンター1と共にプリンター2を管理することが記述されている。そのため、プリンター1がクライアントコンピューター100に接続された後にプリンター2が接続され、かつ、プリンター1と関連付けられているデバイス管理アプリ:App1が既にインストールされている場合は新たにApp1がインストールされることはない。
また、デバイス管理システムは1つの周辺機器の異なる機能に対応するプリントキューを管理して、両方のプリントキューが削除された場合にOSはデバイス管理システムを削除する。例としてプリンターとFAXの機能を有する1つの周辺機器がクライアントコンピューター100に接続されることで、プリンターのプリントキューとFAXのプリントキューを1つのデバイス管理システムが管理する。
但し、デバイス管理システムは異なるIPアドレスが割り当てられた複数の周辺機器の機能に対応するプリントキューを管理することはできない。例えば、1つのデバイス管理システムは、第1のIPアドレスが割り当てられた第1の周辺機器に対応するプリントキューと第1のIPアドレスとは異なる第2のIPアドレスが割り当てられた第2の周辺機器に対応するプリントキューの両者を管理できない。つまり、1つのデバイス管理システムは、第1(または第2)のIPアドレスが割り当てられた第1(または第2)の周辺機器に対応するプリントキューを管理できる。または、1つのデバイス管理システムは、第1(または第2)のIPアドレスが割り当てられた第1(または第2)の周辺機器に対応する複数のプリントキューを管理できる。
なお、本明細書ではFAXドライバに対応するキューもプリントキューと呼ぶ。
一方、デバイス管理アプリは異なるIPアドレスが割り当てられた複数の周辺機器の各機能に対応するプリントキューも管理できる。例えば、1つのデバイス管理アプリは、第1のIPアドレスが割り当てられた第1の周辺機器に対応するプリントキューと第1のIPアドレスとは異なる第2のIPアドレスが割り当てられた第2の周辺機器に対応するプリントキューの両者を管理できる。つまり、デバイス管理アプリは別筐体の周辺装置の各機能に対応するプリントキューも管理できる。
あるいはOS1053が周辺機器のMACアドレスを保持している場合、デバイス管理システムは異なるMACアドレスが割り当てられた複数の周辺機器の機能に対応するプリントキューを管理することはできない。一方、デバイス管理アプリは、異なるMACアドレスが割り当てられた複数の周辺機器の各機能に対応するプリントキューも管理できる。このIPアドレスとMACアドレスを総称してアドレスという。
以下で、ユーザーは自分が使用したい周辺機器のタイルをタイル301とは別にホーム画面300上に表示するためのデバイス管理アプリ1057のタイル表示処理を図6のフローチャートを用いて説明する。なお、本願では、ホーム画面を単に表示画面と呼ぶこともある。なお、図6のフローチャートは、例えば図3のホーム画面300でデバイス管理アプリのタイル301が選択された時に実行される。
タイル301からデバイス管理アプリ1057が起動された場合、デバイス管理アプリ1057は、OS1053にインストールされているデバイスドライバ1054のプリントキュー1055の情報をOS1053から取得する(S601)。
次にS602において、デバイス管理アプリ1057は前記S601で取得したプリントキューの情報からデバイス管理アプリ1057に関連付けられているプリントキューのデバイスオブジェクトをデバイス管理アプリ1057の画面350に表示する。S602におけるデバイス管理アプリ1057の表示の一例を図3−bに示す。具体的には、デバイス管理アプリ1057は、OSから取得されたプリントキューの情報とデバイス管理制御ファイル1058に基づいて、デバイス管理アプリ1057に関連づけられているプリントキューを特定する。例えば、OSからプリントキューとして、デバイス名がプリンター1、プリンター2、プリンター4という情報が得られた場合、デバイス管理アプリ1057は、表Aの情報を参照する。そして、OSから取得したプリントキューの情報と表Aに基づいて、デバイス管理アプリ1057は、自分(デバイス管理アプリ1057)に関連づけられるプリンターとしてプリンター1とプリンター2を特定する。そして、プリンター1とプリンター2のデバイスオブジェクトが、S602で表示される。
S603において、デバイス管理アプリ1057は、図3−bの画面350を介して選択されたデバイスオブジェクト810のプリントキューの情報を取得する。そして、S604において、デバイス管理アプリ1057は図3−bの画面350を使ってユーザーにより選択されたデバイスオブジェクトに対応するプリントキューのタイルが既にホーム画面300上に表示されているか否かを判断する。なお、ホーム画面300上にタイルを生成する際にタイルにはデバイス管理アプリ1057によりタイルIDが振られる。このタイルIDには、タイルの生成元のデバイス管理アプリ1057やプリントキューに関する情報が含まれている。ここで、タイルIDについて説明する。デバイス管理アプリ1057は、タイルを生成する際にタイルIDを付与することができる。この際、例えば、デバイス管理アプリ1057が、自分のアプリの識別情報(アプリの名称やID)と、自分が作成した何番目かのタイルかを示す情報と、タイルの属性に基づいてタイルIDを作成し、そのタイルIDが付与されたタイルを生成する。例えば、デバイス管理アプリ1057のアプリ名称が「App 1」であり、デバイスオブジェクト810が選択された状態でタイルが生成された場合、「App 1−2−プリンタ AAA」というタイルIDが生成される。このように、タイルの属性としてプリントキューの情報が記述されたタイルIDがタイルに付与される。また、実施例3で後述するようにデフォルトプリンタタイルの表示が指示された場合、デバイス管理アプリ1057は、「App 1−1−デフォルトプリンタタイル」というタイルIDが付与されたタイルを生成する。つまり、このタイルIDのタイルは、Appが初めて作ったタイルで、デフォルトプリンタタイル表示ボタン812が選択されることで作られたことを示す。
デバイス管理アプリ1057はOS1053から自分(デバイス管理アプリ1057)に関するタイルIDを取得する。そして、取得したタイルIDに選択されているデバイスオブジェクト810のプリントキューの情報が含まれる場合、デバイス管理アプリ1057は、選択されているデバイスオブジェクト810のタイルが既にホーム画面300上に表示されていると判断する。一方、取得したタイルIDに選択されているデバイスオブジェクト810のプリントキューの情報がなければ、デバイス管理アプリ1057は、まだホーム画面300上にタイルが表示されていないと判断する。
S604において、ホーム画面300上にタイルが表示されていないと判断された場合、S605において、デバイス管理アプリ1057は、図8−aのように画面350上にタイル表示ボタン811を表示する。一方、S604において、既にホーム画面300上にタイルが表示されていると判断された場合、S606において、デバイス管理アプリ1057は、図8−bのように画面350上にタイル非表示ボタン821を表示する。
次に本実施形態におけるデバイス管理アプリ1057の動作処理を図7のフローチャートを用いて説明する。
図7−aのフローはタイル表示ボタン811が押下されたときのデバイス管理アプリ1057の動作処理である。
S701において、デバイス管理アプリ1057はタイル表示ボタン811が押下されたか否かを判断する。S701において、タイル表示ボタン811が押下されたと判断すると、S702においてデバイス管理アプリ1057はタイル表示詳細設定値があるか否かを判断する。ここでタイル表示詳細設定値の一例について図9を用いて説明する。図9はタイルを生成する際に使用される情報の1つであり、タイル生成情報901とタイル表示詳細設定値910が含まれる。タイル表示詳細設定値910の中にはデフォルトプリンタ用のタイル生成情報911や最近使ったプリンター用のタイル生成情報912等のような所定の条件におけるタイル生成情報の設定値が保持されている。この設定値はデバイス管理アプリ1057が事前に設定値を持っておいても良いし、図9−bのようにデバイス管理アプリ画面350上にタイル表示詳細設定画面951を表示してユーザーに設定値を入力してもらっても良い。また、本実施例では設定項目の一例としてタイルサイズとプリンタピクチャがあるが、タイル関する設定値なら何でも良くタイルの色などの設定値でも構わない。なお、タイル生成情報901は、デバイス管理アプリ1057が予め保持している情報である。
S702においてタイル表示詳細設定値910がないと判断された場合、S703において、デバイス管理アプリ1057はタイル生成情報901を取得する。そして、S708において、デバイス管理アプリ1057は前記S703で取得したタイル生成情報901を基に画面350で選択されたデバイスオブジェクトのタイル310をホーム画面300上に生成する(図10−a)。なお、本実施例ではデバイス管理アプリ1057がホーム画面300にタイル1001を生成するとしている。しかしながら、デバイス管理アプリ1057がタイル生成情報901と画面350で選択されたデバイスオブジェクトの情報をOS1053に通知し、OS1053がホーム画面300上にタイル1001を生成しても良い。つまり、デバイス管理アプリ1057のタイル作成指示に従って、OS1053がタイルを生成しても良い。このように生成されたタイルを表示したり、タイルの様態を変更する処理を表示制御処理と呼ぶ。
一方、前記S702においてタイル表示詳細設定値910があると判断された場合、S704においてデバイス管理アプリ1057はOS1053からデフォルトプリンタに関する情報を取得する。なお、デフォルトプリンタは、通常使うプリンターとも呼ばれる。そして、S705において、デバイス管理アプリ1057は、タイル表示ボタンが操作された時に選択されているデバイスオブジェクト810がデフォルトプリンタか否かを判断する。前記S705において、選択されているデバイスオブジェクト810がデフォルトプリンタであると判断された場合、S706に進む。S706において、デバイス管理アプリ1057はデフォルトプリンタ用のタイル生成情報911を取得する。そして、S708において、デバイス管理アプリ1057は前記S706で取得したデフォルトプリンタ用のタイル生成情報911と画面350で選択されたデバイスオブジェクトの情報を基にホーム画面300上にタイル1002を生成する(図10−b)。なお、本実施例ではデバイス管理アプリ1057がホーム画面300にタイル1002を生成するとしている。しかしながら、デバイス管理アプリ1057がタイル生成情報911と選択されたデバイスオブジェクトの情報をOS1053に通知し、OS1053がホーム画面300上にタイル1002を生成しても良い。つまり、デバイス管理アプリ1057のタイル作成指示に従って、OS1053がタイル1002を生成しても良い。
一方、前記S705において、選択されているデバイスオブジェクトがデフォルトプリンタでないと判断された場合、S707に進む。S707において、デバイス管理アプリ1057はタイル生成情報901を取得する。そして、S708において、デバイス管理アプリ1057は前記S707で取得したタイル生成情報901と選択されたデバイスオブジェクトの情報を基にホーム画面300上にタイル1001を生成する。
図7−bのフローはタイル非表示ボタン821が押下されたときのデバイス管理アプリ1057の動作処理である。
S751において、デバイス管理アプリ1057はタイル非表示ボタン821が押下されたか否かを判断する。そして、前記S751において、タイル非表示ボタン821が押下されたと判断するとS752に進む。S752において、デバイス管理アプリ1057は、デバイス管理アプリ1057の画面350で選択されたデバイスオブジェクト810のタイル(1001または1002)を削除する。なお、本実施例ではデバイス管理アプリ1057がホーム画面300上のタイルを削除するとしているが、デバイス管理アプリ1057が削除するタイル情報をOS1053に通知し、OS1053がホーム画面300上のタイルを削除しても良い。つまり、デバイス管理アプリ1057のタイル削除指示に従って、OS1053がタイルを削除しても良い。
次に本実施形態において、OSが管理するデフォルトプリンタが変わった場合のデバイス管理アプリ1057のタイルの更新処理を図11のフローチャートを用いて説明する。なお、図11のフローチャートは、例えば図3のホーム画面300でデバイス管理アプリのタイル301が選択された時に実行される。または、OSが管理するデフォルトプリンタが変更された時に実行されても良い。
図11のS1101からS1102までは、図6のS601からS602までのステップと同様であるので、説明を省略する。また、図11のS1109からS1112までのステップは、図6のS603からS606までのステップと同様であるので、説明を省略する。
図11のS1103において、デバイス管理アプリ1057はホーム画面300上に自分(デバイス管理アプリ1057)が管理するデバイスのプリントキューのタイル(1001または1002)が存在するか否かを判断する。デバイス管理アプリ1057はOS1053から自分(デバイス管理アプリ1057)に関するタイルIDを取得する。そして、デバイス管理アプリ1057はタイルIDを一つでも取得できれば、自分(デバイス管理アプリ1057)が管理するデバイスのプリントキューのタイルは存在すると判断する。一方、タイルIDを一つも取得できなければ、自分(デバイス管理アプリ1057)が管理するデバイスのプリントキューのタイルは存在しないと判断する。
前記S1103において、存在しないと判断された場合はS1109に進む。一方、前記S1103において存在すると判断された場合、S1104において、デバイス管理アプリ1057はタイル表示詳細設定値910があるか否かを判断する。前記S1104において、存在しないと判断された場合はS1109に進む。一方、前記S1104において存在すると判断された場合、S1105においてデバイス管理アプリ1057はOS1053からデフォルトプリンタに関する情報を取得する。そして、S1106において、デバイス管理アプリ1057はホーム画面300上の自分(デバイス管理アプリ1057)が管理するデバイスのタイル(1001または1002)の情報を取得する。S1107において、デバイス管理アプリ1057は前記S1105で取得したデフォルトプリンタの情報と前記S1106で取得したタイル情報を比較して、デフォルトプリンタのタイル表示は正しいか否かを判断する。S1107の一例として、デバイス管理アプリ1057は、S1105にて取得されたデフォルトプリンタのタイルがS1106にて取得されたタイルの情報に含まれるかを判定する。そして、含まれると判定された場合、デフォルトプリンタのタイルが図9のデフォルトプリンタ用タイル生成情報911に基づいて生成されているかを判定する。この判定は、デフォルトプリンタに対応するタイルのタイルIDを参照することで実現される。ここで、デフォルトプリンタのタイルが図9のデフォルトプリンタ用タイル生成情報に基づいて生成されていると判定された場合、デバイス管理アプリ1057はS1107において正しいと判定する。上記に当てはまらない場合、デバイス管理アプリは、正しくないと判定する。例えば、S1105にて取得されたデフォルトプリンタのタイルがS1106にて取得されたタイルの情報に含まれない。しかしながら、S1105にて取得されたデフォルトプリンタがデバイス管理アプリの管理対象プリンターである場合、デバイス管理アプリ1057はS1107において正しくないと判定する。
S1107において、デバイス管理アプリ1057はデフォルトプリンタのタイル表示は正しいと判断した場合はS1109へ進む。一方、前記S1107において、デバイス管理アプリ1057はデフォルトプリンタのタイル表示は正しくないと判断した場合はS1108へ進む。S1108において、デバイス管理アプリ1057はデフォルトプリンタの変更に合わせてホーム画面300上の管理対象のタイルを更新する。
具体的には、図8−aにおいてデバイスオブジェクト810が選択された状態でタイル表示ボタン811が選択される。ここで、当初「Printer AAA」がデフォルトプリンタではなかった場合、デバイス管理アプリ1057は、図9のタイル生成情報901に従って図10−aの「Printer AAA」タイル1001を作成し、表示する。しかし、OSが管理しているデフォルトプリンタが他のプリンターから「Printer AAA」に変更された場合、デバイス管理アプリ1057は、タイル1001をタイル1002へ更新する。具体的には、デバイス管理アプリ1057は、図9のデフォルトプリンタ用タイル生成情報911に従って図10−bのように「Printer AAA」のタイル1002を作成し、表示する。なお、上記の例では、既にタイル生成情報901に基づいて生成されたタイルを、デフォルトプリンタ用タイル生成情報911に基づいて更新する処理について説明した。ここで、選択されたデバイスオブジェクトのタイルが既に作られておらず、かつ、変更後のデフォルトプリンタがデバイス管理アプリの管理対象である場合、デバイス管理アプリ1057は、タイル生成情報911に基づいて新規タイルを作成し、表示する。
以上の手順より、図6、図7と図11のフローチャートに従って処理すると、デバイス管理アプリ1057のタイル301とは別にユーザーは自分が望むプリンターのタイル(1001または1002)をホーム画面300上に表示することができる。また、ユーザーは、デフォルトプリンタのタイルを他のプリンターのタイルとは容易に識別することができる。そのため、例えばデフォルトプリンタのアイコン(タイル)をユーザーが選択したいと考えた場合、容易にユーザーが所望とするアイコン(タイル)を探すことが可能となる。
また、OSが管理するデフォルトプリンタを変更することに従って、デバイス管理アプリ1057が自動的にデフォルトプリンタ用のタイルに更新するため、ユーザーの操作負荷が軽減される。
実施例1ではデフォルトプリンタを用いて説明したが、本実施例ではデフォルトプリンタの代わりに「最近使ったプリンター」を使用する場合について説明する。なお、本実施におけるデバイス管理アプリ1057のタイル表示処理は図6のフローチャートと同様なので説明を省略する。
本実施形態におけるタイル表示ボタン811が押下された場合のデバイス管理アプリ1057の動作処理を図12のフローチャートを用いて説明する。なお、タイル非表示ボタン821が押下された場合のデバイス管理アプリ1057の動作処理は図7−bのフローチャートと同様なので説明を省略する。
なお、本実施例2の説明において、実施例1と同じ内容はその説明を適宜省略する。
図12のS1201からS1203までのステップは、図7−aのS701からS703までのステップと同様であるので、説明を省略する。また、図11のS1109からS1112までのステップは、図6のS603からS606までのステップと同様であるので、説明を省略する。
S1202においてタイル表示詳細設定値910があると判断された場合、S1204において、デバイス管理アプリ1057はOS1053から最近使ったプリンターに関する情報を取得する。そして、S1205において、デバイス管理アプリ1057は、タイル表示ボタン811が押される際に選択されていたデバイスオブジェクトが最近使ったプリンターか否かを判断する。S1205において、選択されているデバイスオブジェクトが最近使ったプリンターであると判断された場合、S1206において、デバイス管理アプリ1057は最近使ったプリンター用のタイル生成情報912を取得する。そして、S1208において、デバイス管理アプリ1057は前記S1206で取得した最近使ったプリンター用のタイル生成情報912を基にホーム画面300上にタイル1002を生成する(図10−b)。つまり、タイル1002は、最近使ったプリンタ用タイル生成情報912に基づいて生成される。
一方、前記S1205において、選択されているデバイスオブジェクト810が最近使ったプリンターでないと判断された場合、S1207に進む。S1207において、デバイス管理アプリ1057はタイル生成情報901を取得する。そして、S1208において、デバイス管理アプリ1057は前記S1207で取得したタイル生成情報901を基にホーム画面300上にタイル1001を生成する。
次に本実施形態においてOSが管理する最近使ったプリンターが変わった場合のデバイス管理アプリ1057のタイルの更新処理を図13のフローチャートを用いて説明する。図13のS1301からS1304までのステップは、図11のS1101からS1104までのステップと同様であるので、説明を省略する。また、図13のS1309からS1312までのステップは、図11のS1109からS1112までのステップと同様であるので、説明を省略する。
S1304において、存在すると判断された場合はS1305に進む。S1305においてデバイス管理アプリ1057はOS1053から最近使ったプリンターに関する情報を取得する。そして、S1306において、デバイス管理アプリ1057はホーム画面300上の自分(デバイス管理アプリ1057)が管理するデバイスのプリントキューのタイル(1001または1002)の情報を取得する。S1307において、デバイス管理アプリ1057は前記S1305で取得した最近使ったプリンターの情報と前記S1306で取得したタイル情報を比較して、最近使ったプリンターのタイル表示は正しいか否かを判断する。
具体的には、デバイス管理アプリ1057は、S1305にて取得された情報から特定された最近使ったプリンターのタイルがS1306にて取得されたタイルの情報に含まれるかを判定する。そして、含まれると判定された場合、最近使ったプリンターのタイルが図9の最近使ったプリンタ用タイル生成情報912に基づいて生成されているかを判定する。ここで、最近使ったプリンターのタイルが図9のタイル生成情報912に基づいて生成されていると判定された場合、デバイス管理アプリ1057はS1307において正しいと判断する。
前記S1307において、デバイス管理アプリ1057は最近使ったプリンターのタイル表示は正しいと判断した場合はS1309へ進む。一方、前記S1307において、デバイス管理アプリ1057は最近使ったプリンターのタイル表示は正しくないと判断した場合はS1308へ進む。S1308において、デバイス管理アプリ1057は最近使ったプリンターのタイルを更新して、S1309に進む。
なお、図13では、既に生成されたタイルを最近使ったプリンタ用タイル生成情報912に基づいて更新する処理について説明した。しかしながら、デバイス管理アプリ1057の画面で選択されたデバイスオブジェクトのタイルが作られていなかった場合、デバイス管理アプリ1057は、最近使ったプリンタ用タイル生成情報912に基づいて新規タイルを作成することになる。
以上の手順より、図12と図13のフローチャートに従って処理すると、デバイス管理アプリ1057のタイル301とは別にユーザーは最近使ったプリンターのプリントキューのタイル(1001または1002)をホーム画面300上に表示することができる。また、ユーザーは、最近使ったプリンターのタイルを他のプリンターのタイルとは容易に識別することができる。また、OSが管理する最近使ったプリンターが変更された場合、デバイス管理アプリ1057が自動的に最近使ったプリンタ用のタイルに更新するため、ユーザーの操作負荷が軽減される。
実施例1と実施例2ではデバイス管理アプリの画面で選択したデバイスオブジェクトのタイルをホーム画面300上に表示できた。しかし、デフォルトプリンタはユーザーの指示により切り替えることができるので、デフォルトプリンタのプリントキューのタイルをホーム画面300上に表示したい場合、デフォルトプリンタを切り替える度に新しくタイルを生成する必要がある。具体的には、例えば、実施例1ではデフォルトプリンタとしてPrinter AAAが選択されているとする。そして、「Printer AAA」のプリンタオブジェクト810を選択してタイル表示ボタン811が選択されることによりPrinter AAAのタイル1002が生成される。ここで、デフォルトプリンタが「Printer CCC」に変更された場合、Printer CCCのタイルを生成するためには、ユーザーがデバイス管理アプリ1057の画面から「Printer CCC」のオブジェクトを選択してタイル表示ボタン811を選択する操作が必要となる。
そこで本実施例では、OSが管理するデフォルトプリンタが切り替えられるとデフォルトプリンタ用のタイルの表示内容が自動的に変更後のデフォルトプリンタに更新されることを目的とする。本実施形態におけるデバイス管理アプリ1057のタイル表示処理を図14を用いて説明する。
なお、本実施例3の説明において、実施例1、2と同じ内容はその説明を適宜省略する。
図14のS1401からS1402までのステップは、図6のS601からS602までのステップと同様であるので説明を省略する。S1403において、デバイス管理アプリ1057はデフォルトプリンタタイルの設定がされているか否かを判断する。
なお、「デフォルトプリンタタイルの設定」とは図17に後述するデフォルトプリンタタイル表示ボタン812に関するフラグのことであり、デバイス管理アプリ1057内に保持されていて初期値はオフである。デバイス管理アプリ1057はデフォルトプリンタタイル表示ボタン812が押下されたときに、このフラグ(「デフォルトプリンタタイルの設定」)をオンにする。一方、デフォルトプリンタタイル非表示ボタン822が押下されたときには、このフラグ(「デフォルトプリンタタイルの設定」)をオフにする。
前記S1403において、デフォルトプリンタタイルの設定がオフであると判断された場合はS1404に進む。S1404において、デバイス管理アプリ1057は、デバイス管理アプリ1057の画面350上にデフォルトプリンタタイル表示ボタン812を表示する。デフォルトプリンタタイル表示ボタンの一例を図17−aに示す。一方、デフォルトプリンタタイルの設定がONであると判断された場合はS1405に進む。S1405において、デバイス管理アプリ1057は、デバイス管理アプリ1057の画面350上にデフォルトプリンタタイル非表示ボタン822を表示する。デフォルトプリンタタイル非表示ボタンの一例を図17−bに示す。
次に本実施形態におけるデバイス管理アプリ1057の動作処理を図15のフローチャートを用いて説明する。
図15−aのフローはデフォルトプリンタタイル表示ボタン812が押下されたときのデバイス管理アプリ1057の動作処理である。
S1501において、デバイス管理アプリ1057はデフォルトプリンタタイル表示ボタン812が押下されたか否かを判断する。前記S1501において、デフォルトプリンタタイル表示ボタン812が押下されたと判断すると、S1502において、デバイス管理アプリ1057はOS1053からデフォルトプリンタに関する情報を取得する。そして、S1503において、デバイス管理アプリ1057は自分(デバイス管理アプリ1057)が管理しているプリントキューの中にデフォルトプリンタあるか否かを判断する。S1503の処理についてさらに詳細に説明する。デバイス管理アプリ1057は、OSが管理している全てのプリントキューの情報をOSから取得する。そして、取得された全てのプリントキューの情報と上述したデバイス管理制御ファイル1058とを比較し、デバイス管理アプリ1057は、自分(デバイス管理アプリ1057)が管理すべきプリントキューを特定する。その後、デバイス管理アプリ1057は、OSからデフォルトプリンタの情報を取得し、先ほど特定された自分(デバイス管理アプリ1057)が管理すべきプリントキューの中にデフォルトプリンタが含まれているかを判定する。以上の処理によりS1503が実現される。
前記S1503において、管理しているプリントキューの中にデフォルトプリンタがないと判断された場合、動作処理を終了する。この場合、タイル生成処理が行われないため、例えば、デバイス管理アプリ1057は「管理しているプリンターにデフォルトプリンターが含まれないため、デフォルトプリンタタイルを生成しませんでした」等のメッセージを表示する。
一方、前記S1503において、管理しているプリントキューの中にデフォルトプリンタがあると判断された場合、S1504に進む。S1504において、デバイス管理アプリ1057はデフォルトプリンタ用タイル生成情報911を取得する。
そして、S1505において、デバイス管理アプリ1057はS1504で取得したタイル生成情報911に基づいてホーム画面300上にデフォルトプリンタタイル1002を生成する(図10−b)。例えば、図3−aの状態で、図15−aのフローチャートが実行され、かつ、デフォルトプリンタとして「Printer AAA」が設定されている場合、デバイス管理アプリ1057は、図10−bのようにタイル1002を表示する。なお、本実施例では、デフォルトプリンタタイル表示ボタンが押下された後、デバイス管理アプリ1057は、関連デバイスの中にデフォルトプリンタがあるかを判定している。しかしながら、デバイス管理アプリ1057の画面が表示される際に、デバイス管理アプリ1057は、関連デバイスの中にデフォルトプリンタがあるかを判定する。そして、関連デバイスの中にデフォルトプリンタがないと判定された場合、デバイス管理アプリ1057は、デフォルトプリンタタイル表示ボタンを非表示にしても良い。
図15−bのフローはデフォルトプリンタタイル非表示ボタン822が押下されたときのデバイス管理アプリ1057の動作処理である。S1551において、デバイス管理アプリ1057はデフォルトプリンタタイル非表示ボタン822が押下されたか否かを判断する。そして、前記S1551において、デフォルトプリンタタイル非表示ボタン822が押下されたと判断するとS1552に進む。S1552において、デバイス管理アプリ1057はホーム画面300上にデフォルトプリンタタイル1002が既に表示されているか否かを判断する。S1552の処理についてさらに詳細に説明する。上述したように、タイルIDは、自分のアプリの識別情報(アプリの名称やID)と、自分が作成した何番目かのタイルかを示す情報と、タイルの属性に基づいて生成される。本願のデバイス管理アプリ1057が生成したタイルには共通のアプリ名称が付与されているため、デバイス管理アプリ1057は、自らのアプリ名称を含むタイルIDをOSから取得する。そして、デバイス管理アプリ1057は、OSから取得されたタイルIDに「デフォルトプリンタタイル」という属性が含まれているか否かを判定することにより、S1552の処理が実現される。
前記S1552において、デフォルトプリンタタイル1002が表示されていると判断された場合はS1553に進む。S1553において、デバイス管理アプリ1057はホーム画面300上にあるデフォルトプリンタタイル1002を削除する。なお、本実施例ではデバイス管理アプリ1057がホーム画面300上のタイルを削除するとしているが、デバイス管理アプリ1057が削除するタイル情報をOS1053に通知し、OS1053がホーム画面300上のタイルを削除しても良い。
そして、S1554に進み、デバイス管理アプリ1057はデフォルトプリンタタイル設定をOFFにし、処理を終了する。
一方、前記S1552において、デフォルトプリンタタイル1002が表示されていないと判断された場合はS1554に進む。
次に本実施形態におけるデフォルトプリンタが変わった場合のデバイス管理アプリ1057のタイルの更新処理を図16のフローチャートを用いて説明する。なお、図16のフローチャートは、例えば図3のホーム画面300でデバイス管理アプリのタイル301が選択された時に実行される。または、OSが管理するデフォルトプリンタが変更された時に実行されても良い。
図16のS1601からS1605までのステップは、図6のS1401からS1405までのステップと同様であるので説明を省略する。
S1606においてデバイス管理アプリ1057はOS1053からデフォルトプリンタに関する情報を取得する。そして、S1607において、デバイス管理アプリ1057は自分(デバイス管理アプリ1057)が管理しているプリントキューの中にデフォルトプリンタあるか否かを判断する。前記S1607において、管理しているプリントキューの中にデフォルトプリンタがあると判断された場合、S1608に進む。S1608において、デバイス管理アプリ1057はデフォルトプリンタ用タイル生成情報911を取得する。そして、S1609において、デバイス管理アプリ1057は前記S1608で取得したタイル生成情報911を基にホーム画面300上にタイル1002を生成する(図10−b)。
一方、前記S1607において、管理しているプリントキューの中にデフォルトプリンタがないと判断された場合、S1610に進む。S1610において、デバイス管理アプリ1057はホーム画面300上にデフォルトプリンタタイル1002が既に表示されているか否かを判断する。前記S1610において、デフォルトプリンタタイル1002が既にホーム画面300上に表示されていると判断された場合はS1611のステップに進む。S1611において、デバイス管理アプリ1057はホーム画面300上のデフォルトプリンタタイル1002を削除する。つまり、デバイス管理アプリ1057の管理対象外のプリントキューに対してデフォルトプリンタの属性が設定された場合、デバイス管理アプリ1057は、デフォルトプリンタタイル1002を削除する。
一方、前記S1610において、デフォルトプリンタタイル1002が表示されていないと判断された場合はそのまま処理を終了する。
以上の手順より、図14−図16のフローチャートに従って処理すると、ユーザが、OSが管理するデフォルトプリンタを切り替えるとデフォルトプリンタ用のタイルの表示内容が自動的にデフォルトプリンタに更新される。具体的にはデフォルトプリンタがPrinter AAAの場合は図10−bのタイル1002のように表示されるが、デフォルトプリンタがPrinter BBBに切り替えられた場合、タイル1002が図18のタイル1801に自動的に更新される。また、例えば、デフォルトプリンタがPrinter BBBからデバイス管理アプリ1057が管理していないプリンターに変更された場合、図18から図3−aのようにタイル1801が削除される。
なお、図17の例ではデフォルトプリンタタイル表示ボタン812のみがデバイス管理アプリ1057の画面350に表示されている。しかしながら、上述したタイル表示ボタンとデフォルトプリンタタイル表示ボタンの両者がデバイス管理アプリ1057の画面350に表示されても良い。その場合、例えば、デフォルトプリンタがPrinter AAAの状況でデバイスオブジェクト810が選択され、かつ、タイル表示ボタンが選択されることにより図10−bのようにタイル1002が表示される。その後、デフォルトプリンタがPrinter BBBに変更され、かつ、デフォルトプリンタタイル表示ボタンが選択された場合、図10−bのタイル1002が図19のタイル1901に変更される。さらに、図19のタイル1902がデフォルトプリンタタイルとして新たに表示される。また、この内容は後述する一番最近使ったプリンターの時も同様である。
さらに、図19において、デフォルトプリンタがPrinter AAAのプリントキューに設定された場合、複数の同じタイルが表示されることになるので、どちらか一方が表示されれば良い。例えば、デバイス管理アプリ1057は、タイル生成情報911に基づいてタイル1901を更新すると共に、デフォルトプリンタタイル1902を削除する。その後、デフォルトプリンタが、デバイス管理アプリ1057が管理する他のプリンターに変更された場合、デバイス管理アプリ1057は、デフォルトプリンタタイル1902を復活させて表示しても良い。
本実施例では、デフォルトプリンタを用いて説明したが、デフォルトプリンタの代わりに一番最近使ったプリンターを適用しても良い。その場合、図17−aには、一番最近使ったプリンタタイル表示ボタンが表示される。この一番最近使ったプリンタタイル表示ボタンが選択された場合、デバイス管理アプリ1057は、自らが管理するプリントキューに、OSから取得した一番最近使ったプリンタが含まれるか判定する。ここで含まれると判定した場合、デバイス管理アプリ1057は、一番最近使ったプリンタのプリンタ名と図9のタイル生成情報912に基づいて、一番最近使ったプリンタタイルを例えば図10−bのタイル1002のように表示する。また、OSが管理する一番最近使ったプリンタが例えばPrinterAAAからPrinterBBBに変更された場合、一番最近使ったプリンタタイル1002は、図18のタイル1801へ自動的に更新される。
つまり、実施例1、2で生成されるタイルは、特定のデバイス専用のタイルであるが、本実施例3で生成されるタイルは複数のデバイスで共有されるタイルである。
本実施例によりユーザーは容易にデフォルトプリンタや一番最近使ったプリンタを認識できる。なお、図20のようにタイル表示ボタン、デフォルトプリンタタイル表示ボタンと共に一番最近使ったプリンタタイル表示ボタンが表示されても良い。また、3つのボタンのうち、少なくとも1つが表示されても良い。
また、本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。