(57)【要約】      （修正有）【課題】印刷デバイスのソフトウェア管理のための技術を提供する。【解決手段】システム４００で、プリンタ管理デバイス４０２は、クライアントデバイス４０４あるいは、モバイルコンピューティングデバイス４０６から原稿ファイルを特定の印刷デバイスで印刷する要求を受信する。特定の印刷デバイス用のプリンタドライバーがプリンタ管理デバイス４０２に保存されているかどうかを判断し、保存されていない場合、インターネット４１６上のクラウドストレージ４１８からプリンタドライバーのデータを転送させる。さらに、プリンタドライバーを使用して、原稿ファイルを印刷ジョブに変換し、特定の印刷デバイスに、印刷ジョブを実行させる命令を送信する。【選択図】図４Ａ
2016189192.tif 000002
【特許請求の範囲】
【請求項１】
方法であって、
第１のコンピューティング・デバイスにおいて、第２のコンピューティング・デバイスからの原稿ファイルの印刷要求を受信する工程と、
前記第２のコンピューティング・デバイスから前記原稿ファイルを印刷する特定の印刷デバイスの選択を受信する工程と、
前記特定の印刷デバイス用のプリンタドライバーが前記第１のコンピューティング・デバイスに保存されているかどうかを判断する検索作業を実施する工程と、
前記第１のコンピューティング・デバイスに前記プリンタドライバーが保存されていないと判断されると、サーバー装置から前記第１のコンピューティング・デバイスに広域ネットワークを通じて前記プリンタドライバーのデータを転送する工程と、
前記プリンタドライバーを使用して、前記原稿ファイルを印刷ジョブに変換する工程と、
前記特定の印刷デバイスに前記印刷ジョブを実行させる命令を送信する工程と、
を備える方法。
【請求項２】
請求項１に記載の方法であって、
前記プリンタドライバーは、第１のプリンタドライバーであり、
前記方法は、さらに、
前記第１のプリンタドライバーの第１のバージョンを判断する工程と、
前記サーバー装置から前記第１のコンピューティング・デバイスに前記広域ネットワーク通じて、前記特定の印刷デバイス用の第２のプリンタドライバーのデータを転送させ、前記第２のプリンタドライバーは第２のバージョンを含む工程と、
前記第２のバージョンが前記第１のバージョンより新しいことに基づいて、前記第１のプリンタドライバーを前記第２のプリンタドライバーと交換する工程と、
を備える方法。
【請求項３】
請求項１に記載の方法であって、さらに、
前記特定の印刷デバイスにインストールされた第１のファームウェアの第１のバージョンを判断する工程と、
前記サーバー装置から前記第１のコンピューティング・デバイスに前記広域ネットワークを通じて、前記特定の印刷デバイス用の第２のファームウェアのデータを転送させ、前記第２のファームウェアは第２のバージョンを含む工程と、
前記第２のバージョンが前記第１のバージョンより新しいことに基づいて、前記特定の印刷デバイスに前記第２のファームウェアをインストールする工程と、
を備える方法。
【請求項４】
請求項１に記載の方法であって、
前記プリンタドライバーは、現在のプリンタドライバーであり、
前記方法は、さらに、
前記第１のコンピューティング・デバイスにおいて、前記サーバー装置から前記広域ネットワークを通じて、前記特定の印刷デバイス用の更新されたプリンタドライバーが利用できることを示す通知を受信する工程と、
前記通知の受信に応じて、前記サーバー装置から前記第１のコンピューティング・デバイスに前記広域ネットワークを通じて、前記更新されたプリンタドライバーのデータを転送させる工程と、
前記現在のプリンタドライバーを前記更新されたプリンタドライバーと交換する工程と、
を備える方法。
【請求項５】
請求項１に記載の方法であって、さらに、
前記第１のコンピューティング・デバイスにおいて、前記サーバー装置から前記広域ネットワークを通じて、前記特定の印刷デバイス用の更新されたファームウェアが利用できることを示す通知を受信する工程と、
前記通知の受信に応じて、前記サーバー装置から前記第１のコンピューティング・デバイスに前記広域ネットワークを通じて、前記更新されたファームウェアのデータを転送させる工程と、
前記更新されたファームウェアを前記特定の印刷デバイスにインストールする工程と、
を備える方法。
【請求項６】
請求項１に記載の方法であって、
前記要求は印刷ジョブ設定を含み、
前記方法は、さらに、
前記特定の印刷デバイスに、前記印刷ジョブ設定を使用して前記印刷ジョブを実行させる命令を送信する工程を備える方法。
【請求項７】
請求項１に記載の方法であって、
前記第１のコンピューティング・デバイスはローカルネットワークに接続され、
前記方法は、さらに、
前記ローカルネットワーク上の新しい印刷デバイスの接続を検知する工程と、
前記新しい印刷デバイスから、前記新しい印刷デバイスの機種を含む情報を受信する工程と、
前記新しい印刷デバイスの前記機種用のデバイスドライバーが前記第１のコンピューティング・デバイスに保存されているかどうか判断する工程と、
前記新しい印刷デバイスの前記機種用の前記デバイスドライバーが前記第１のコンピューティング・デバイスに保存されていないと判断したことに基づいて、前記サーバー装置から前記広域ネットワークを通じて、前記新しい印刷デバイスの前記機種用の前記デバイスドライバーを取得する工程と、
を備える方法。
【請求項８】
請求項１に記載の方法であって、
前記第１のコンピューティング・デバイスは、ローカルネットワークに接続されており、
前記方法は、さらに、
前記ローカルネットワーク上の新しい印刷デバイスの接続を検知する工程と、
前記新しい印刷デバイスから、前記新しい印刷デバイスの機種および前記新しい印刷デバイスにインストールされた前記ファームウェアのバージョンを含む情報を受信する工程と、
前記新しい印刷デバイスの前記機種の前記受信した情報に基づいて、前記新しい印刷デバイス用の最新のファームウェアを、前記サーバー装置から前記広域ネットワークを通じて取得する工程と、
前記最新のファームウェアのバージョンが前記新しい印刷デバイスにインストールされた前記ファームウェアよりも新しいことに基づいて、前記新しい印刷デバイスに前記最新のファームウェアをインストールする工程と、
を備える方法。
【請求項９】
装置であって、
ローカルネットワークおよび広域ネットワークに通信可能に接続するよう構成され、前記ローカルネットワークが１つ以上の印刷デバイスを含むネットワーク・インターフェースとを含み、
１つ以上のプリンタドライバーを保存するよう構成された記憶媒体と、
命令を実行するよう構成された少なくとも１つのプロセッサと、
を備え、
前記命令は、
前記ネットワーク・インターフェースを介して、原稿ファイルを印刷する要求を受信する工程と、
前記１つ以上の印刷デバイスの内から前記原稿ファイルを印刷する特定の印刷デバイスを決定する工程と、
前記特定の印刷デバイス用の特定のプリンタドライバーが、前記記憶媒体に保存されている前記１つ以上のプリンタドライバーの中にあるかどうかを判断する工程と、
前記特定のプリンタドライバーが前記記憶媒体に保存されていないとの判断に応じて、前記ネットワーク・インターフェースを介して、サーバー装置から前記広域ネットワークを通じて前記プリンタドライバーを取得する工程と、
前記特定のプリンタドライバーを使用して、前記原稿ファイルを印刷ジョブに変換する工程と、
前記ネットワーク・インターフェースを介して、前記特定の印刷デバイスに前記印刷ジョブを実行させる命令を送信する工程と、
を実施させる命令を含む装置。
【請求項１０】
請求項９に記載の装置であって、
前記原稿ファイルは、第１の原稿ファイルであり、前記印刷ジョブは、第１の印刷ジョブであって、
前記命令は、さらに、
前記広域ネットワークを通じて、クラウドストレージから第２の原稿ファイルを取得して印刷する要求を受信し、前記受信に応じて前記第２の原稿ファイルを取得する工程と、
前記特定のプリンタドライバーを使用して、前記第２の原稿ファイルを第２の印刷ジョブに変換する工程と、
前記ネットワーク・インターフェースを介して、前記特定の印刷デバイスに、前記第２の印刷ジョブを実行させる命令を送信する工程と、
を実施させる命令を備える装置。
【請求項１１】
請求項９に記載の装置であって、
前記要求は、ユーザー情報を含み、前記装置は、さらに操作パネルを備え、
前記命令は、さらに、
前記記憶媒体に保存された前記ユーザー情報に関連付けされたユーザーのための操作パネルのディスプレイ構成を決定し、前記操作パネルのディスプレイ構成は、前記装置上で実施可能な操作を表すグラフィカル要素のユーザー定義の配列であり、
モバイルコンピューティングデバイスに前記操作パネルのディスプレイ構成を表示させる工程を実施させる命令を含む装置。
【請求項１２】
請求項９に記載の装置であって、
前記命令は、さらに、
前記特定の印刷デバイスからステータス情報を受信する工程と、
前記特定の印刷デバイスがビジーであることを示す前記ステータス情報に基づいて、前記原稿ファイルを印刷する代替印刷デバイスを前記１つ以上の印刷デバイスのうちから決定する工程と、
前記ネットワーク・インターフェースを介して、前記代替印刷デバイスに、前記印刷ジョブを実行させる命令を送信する工程と、
を実施させる命令を含む装置。
【請求項１３】
請求項９に記載の装置であって、
前記要求はユーザー情報を含み、
前記命令は、さらに、
前記ユーザー情報に関連付けされたユーザーが印刷の実行を許可されているかどうか判断する工程と、
前記ユーザーが印刷の実行を許可されていないことに基づいて、前記印刷ジョブを実行させる前記命令の前記送信を防止する工程と、
を実施させる命令を含む装置。
【請求項１４】
請求項９に記載の装置であって、
前記命令は、さらに、
前記特定の印刷デバイスによる前記印刷ジョブの実行中にエラーが発生したという通知を受信する工程と、
前記通知の受信に応じて、前記原稿ファイルを印刷する代替印刷デバイスを前記１つ以上の印刷デバイスのうちから決定する工程と、
前記ネットワーク・インターフェースを介して、前記代替印刷デバイスに、前記印刷ジョブを実行させる命令を送信する工程と、
を実施させる命令を含む装置。
【請求項１５】
請求項９に記載の装置であって、
前記命令は、さらに、
前記１つ以上の印刷デバイスのうち所与の印刷デバイスから、前記所与の印刷デバイスによってスキャンされた原稿を表すスキャンデータおよび前記スキャンデータを保存する場所を示すスキャン先を受信する工程と、
前記受信したスキャンデータを前記スキャン先に保存する工程と、
を実施させる命令を含む装置。
【請求項１６】
システムであり、
プリンタ管理デバイスと、
前記プリンタ管理デバイスに通信可能に接続され、印刷ジョブを実行するよう構成された１つ以上の印刷デバイスと、
前記プリンタ管理デバイスに通信可能に接続され、原稿ファイルの印刷を要求するよう構成されたコンピューティング・デバイスとを備え、
前記プリンタ管理デバイスは、
前記１つ以上の印刷デバイスに対応する１つ以上のプリンタドライバーを保存し、
前記１つ以上のプリンタドライバーのうち所与のプリンタドライバーの更新バージョンが利用できるとの判断に応じて、前記所与のプリンタドライバーの前記更新バージョンをサーバー装置から広域ネットワークを通じて、取得して保存し、
前記コンピューティング・デバイスからの前記原稿ファイルを、前記保存された１つ以上のプリンタドライバーの特定のプリンタドライバーを使用して、印刷ジョブに変換し、
前記特定のプリンタドライバーに関連付けされた前記１つ以上の印刷デバイスの特定の印刷デバイスに前記印刷ジョブを実行させる命令を与えるシステム。
【請求項１７】
請求項１６に記載のシステムであって、
前記特定の印刷デバイスは、音を発するよう構成された音響トランスデューサーを備え、
前記コンピューティング・デバイスは、表示部を備えるモバイルコンピューティングデバイスであり、
前記プリンタ管理デバイスは、さらに、
前記特定の印刷デバイスに少なくとも１つの周波数を有する音を発するよう命令し、前記少なくとも１つの周波数は人間の可聴域外の周波数である工程と、
前記モバイルコンピューティングデバイスに前記表示部上にナビゲーションインターフェースを表示させ、前記ナビゲーションインターフェースは、前記発した音の振幅および前記少なくとも１つの周波数に基づいて、前記モバイルコンピューティングデバイスに対する前記特定の印刷デバイスの位置を描写する工程と、
を実行するシステム。
【請求項１８】
請求項１６に記載のシステムであって、
前記特定の印刷デバイスは、電波信号を発するように構成された無線送信器を備え、
前記コンピューティング・デバイスは、表示部を備えるモバイルコンピューティングデバイスであり、
前記プリンタ管理デバイスは、さらに、
前記特定の印刷デバイスに、少なくとも１つの周波数を有する電波信号を発するよう命令を出すように構成されており、
前記モバイルコンピューティングデバイスに前記表示部上にナビゲーションインターフェースを表示させ、前記ナビゲーションインターフェースは、前記発した電波信号の振幅および前記少なくとも１つの周波数に基づいて、前記モバイルコンピューティングデバイスに対する前記特定の印刷デバイスの位置を描写する工程と、
を実行するシステム。
【請求項１９】
請求項１６に記載のシステムであって、
前記プリンタ管理デバイスは、さらに、
デバイスが前記プリンタ管理デバイスと直接通信できる無線アクセスポイントを提供し、
前記コンピューティング・デバイスと前記無線アクセスポイント間に接続を確立するシステム。
【請求項２０】
請求項１６に記載のシステムであって、
前記コンピューティング・デバイスは表示部を備え、
前記プリンタ管理デバイスは、さらに、
前記１つ以上の印刷デバイスのステータスおよび構成情報を表示する管理アプリケーションを実行し、
前記コンピューティング・デバイスの前記表示部に、前記管理アプリケーションのグラフィカルユーザーインターフェースを表示するシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、印刷デバイスのソフトウェア管理のための技術に関する。
【背景技術】
【０００２】
本明細書において別段の指示がない限り、本セクションにおいて記述されている事項は、本出願の請求の範囲に対する先行技術ではなく、また本セクションに含めることにより先行技術と認めるものではない。
【０００３】
一般的に、コンピューティング・デバイスは、印刷デバイスとインターフェース接続するため、プリンタドライバーをインストールしておく必要がある。プリンタドライバーは、コンピューティング・デバイスが、原稿を特定の印刷デバイスの印刷できるデータに、変換できるようにする。オフィス環境等のいくつかのシナリオにおいては、多数の異なる印刷デバイスがネットワークに接続している可能性もあり、それぞれが異なるプリンタドライバーのインストールを必要とすることもある。これらのシナリオにおいて、一般的に、コンピューティング・デバイスは、それぞれの印刷デバイスのプリンタドライバーをインストールしておく必要がある。
【０００４】
大きなオフィス環境では、例えば、何十、または、ことによると何百もの印刷デバイスが１つのネットワーク内に存在することもある。全ての印刷デバイス用のプリンタドライバーを各ユーザーのコンピューティング・デバイスにインストールすることは、相当な時間と労力を要すると考えられる。１つのコンピューティング・デバイスに全てのプリンタドライバーをインストールしている場合、印刷ダイアログがユーザーに全ての印刷デバイスのリストから所望の印刷デバイスを選択するよう促すことがある。さらに、ユーザーが主に数台の印刷デバイスから原稿を印刷する場合もあり、そのため、その数台に対応するプリンタドライバーのみインストールする必要がある。しかしながら、ユーザーが異なる印刷デバイスで原稿の印刷を望む場合、そのユーザーはまず対応するドライバーをインストールしなくてはならない。
【０００５】
ゲストデバイスがネットワークに入った際、そのデバイスは任意の原稿を印刷するより先に、まずプリンタドライバーをインストールしなくてはならない。さらに、メーカーがそのメーカーのプリンタドライバーの更新を提供すると、一般的にそれぞれのコンピューティング・デバイスはその更新されたプリンタドライバーをインストールしなくてはならない。このように、各デバイスにプリンタドライバーを別々にインストールしなくてはならないことは、効率が悪く、時間がかかるおそれがある。
【発明の概要】
【０００６】
本出願は、印刷デバイスのソフトウェアの管理およびコンピューティング・デバイスと印刷デバイスの間に共通インターフェースを提供するための装置、システム、および方法に関係する実施形態を開示する。一態様では、本出願は、方法を説明する。前記方法は、第１のコンピューティング・デバイスにおいて、第２のコンピューティング・デバイスからの原稿ファイルの印刷要求を受信することを含む。前記方法は、また、前記第２のコンピューティング・デバイスから前記原稿ファイルを印刷する特定の印刷デバイスの選択を受信することも含む。前記方法は、さらに、前記第１のコンピューティング・デバイスに前記特定の印刷デバイス用のプリンタドライバーが保存されているかどうか判断する検索作業を実施することも含む。また、前記方法は、前記第１のコンピューティング・デバイスに前記プリンタドライバーが保存されていないと判断すると、サーバー装置から前記第１のコンピューティング・デバイスに広域ネットワークを通じて前記プリンタドライバーのデータを転送させることも含む。さらに、前記方法は、前記プリンタドライバーを使用して、前記原稿ファイルを印刷ジョブに変換することも含む。前記方法は、また、前記特定の印刷デバイスに前記印刷ジョブを実行させる命令を送信することも含む。
【０００７】
別の態様では、本出願は、装置について説明する。前記装置には、ネットワーク・インターフェース、記憶媒体、および少なくとも１つのプロセッサが含まれる。前記ネットワーク・インターフェースは、ローカルネットワークおよび広域ネットワークに通信可能に接続するように構成されており、前記ローカルネットワークには１つ以上の印刷デバイスが含まれる。前記記憶媒体は、１つ以上のプリンタドライバーを保存するように構成されている。前記少なくとも１つのプロセッサは、命令を実行するように構成されている。前記命令には、原稿ファイルを印刷する要求を、前記ネットワーク・インターフェースを介して受信することが含まれる。前記命令には、前記原稿ファイルを印刷する特定の印刷デバイスを前記１つ以上の印刷デバイスのうち決定することも含まれる。前記命令には、さらに、前記特定の印刷デバイス用の特定のプリンタドライバーが前記記憶媒体に保存された前記１つ以上のプリンタドライバーの中にあるかどうかを判断することも含まれる。また、前記命令には、前記記憶媒体に前記特定のプリンタドライバーが保存されていないと判断すると、前記ネットワーク・インターフェースを介して、前記広域ネットワークを通じてサーバー装置から前記プリンタドライバーを取得することも含まれる。さらに、前記命令には、前記特定のプリンタドライバーを使用して、前記原稿ファイルを印刷ジョブに変換することも含まれる。前記命令には、また、前記特定の印刷デバイスに、前記ネットワーク・インターフェースを介して、前記印刷ジョブを実行させる命令を送信することも含まれる。
【０００８】
さらに他の態様では、本出願は、システムについて説明する。前記システムには、プリンタ管理デバイス、１つ以上の印刷デバイス、およびコンピューティング・デバイスが含まれる。前記１つ以上の印刷デバイスは、前記プリンタ管理デバイスに通信可能に接続され、印刷ジョブを実行するように構成されている。前記コンピューティング・デバイスは、前記プリンタ管理デバイスに通信可能に接続され、原稿ファイルの印刷を要求するように構成されている。前記プリンタ管理デバイスは、前記１つ以上の印刷デバイスに対応する１つ以上のプリンタドライバーを保存するように構成されている。前記プリンタ管理デバイスは、また、前記１つ以上の印刷デバイスの所与のプリンタドライバーの更新バージョンが利用できると判断すると、広域ネットワークを通じてサーバー装置から前記所与のプリンタドライバーの前記更新バージョンを取得し、保存するようにも構成されている。前記プリンタ管理デバイスは、さらに、前記コンピューティング・デバイスからの前記原稿ファイルを、前記保存された１つ以上のプリンタドライバーの特定のプリンタドライバーを使用して、印刷ジョブに変換するようにも構成されている。また、前記プリンタ管理デバイスは、前記特定のプリンタドライバーに関連する前記１つ以上の印刷デバイスの特定の印刷デバイスに前記印刷ジョブを実行させる命令を出すようにも構成されている。
【０００９】
また、他の態様では、本出願は、システムについて説明する。前記システムは、第１のコンピューティング・デバイスにおいて、第２のコンピューティング・デバイスからの原稿ファイルの印刷要求を受信するための手段を含む。前記システムは、また、前記第２のコンピューティング・デバイスから前記原稿ファイルを印刷する特定の印刷デバイスの選択を受信するための手段も含む。前記システムは、さらに、前記第１のコンピューティング・デバイスに前記特定の印刷デバイス用のプリンタドライバーが保存されているかどうか判断する検索作業を実施するための手段も含む。また、前記システムは、前記第１のコンピューティング・デバイスに前記プリンタドライバーが保存されていないと判断すると、広域ネットワークを通じて前記第１のコンピューティング・デバイスにサーバー装置から前記プリンタドライバーのデータを転送させるための手段も含む。さらに、前記システムは、前記プリンタドライバーを使用して、前記原稿ファイルを印刷ジョブに変換するための手段も含む。前記システムは、また、前記特定の印刷デバイスに前記印刷ジョブを実行させる命令を送信するための手段も含む。
【００１０】
上述の発明の概要は、説明のためのみであり、決して限定することを意図したものではない。上述の例示の態様と実施形態と特徴とに加え、さらなる態様、実施形態、および特徴が、図面と以下の詳細な説明とを参照することによって明らかになる。
【図面の簡単な説明】
【００１１】
【図１】例示の実施形態に係る画像形成装置を示す概略ブロック図である。
【図２】例示の実施形態に係る印刷デバイスを示す概略ブロック図である。
【図３】例示の実施形態に係るプリンタ管理デバイスを示す概略ブロック図である。
【図４Ａ】例示の実施形態に係るシステムを示す概略ブロック図である。
【図４Ｂ】例示の実施形態に係るシステムを示す概略ブロック図である。
【図５】例示の実施形態に係る方法を示すフローチャートである。
【図６】例示の実施形態に係る方法を示すデータフロー図である。
【図７】例示の実施形態に係る屋内測位のシナリオの図示例である。
【図８】例示の実施形態に係るモバイルコンピューティングデバイスでの屋内測位を示す略線図である。
【発明を実施するための形態】
【００１２】
本明細書において方法とシステムの例を記述する。本明細書で説明する例示的な実施形態または特徴は、必ずしも、他の実施形態または特徴よりも好適または有利であると解釈されるものではない。本明細書で説明する例示的な実施形態は、限定することを意図するものではない。開示のシステムと方法とのうちの特定の態様を、多種多様な異なる構成で配置し、組み合わせることができ、それらの全部が本明細書で検討される、ということが容易に理解されるであろう。
【００１３】
さらに、図に示す特定の配置は、限定するものとして見なされるべきではない。他の実施形態が、所与の図に示す各要素をより多くまたはより少なく含むことができる、ということを理解すべきである。さらに、例示の要素のうちのいくつかを、組み合わせまたは省略することができる。その上、例示的な実施形態は、図に示さない要素を含むことができる。
［Ｉ．概要］
【００１４】
例示的な実施形態は、印刷デバイスのソフトウェアを管理すること、およびコンピューティング・デバイスと印刷デバイス間の共通インターフェースを提供することを含む。本発明に記載されるプリンタ管理デバイスのようなコンピューティング・デバイスは、ネットワーク上のコンピューティング・デバイスとネットワーク上の印刷デバイスの間に通信可能に位置してもよい。そのようなプリンタ管理デバイスは、ネットワーク内にある各印刷デバイス用のプリンタドライバーをインストールしておいてもよい。このプリンタ管理デバイスは、コンピューティング・デバイスから原稿ファイルを、その原稿ファイルを特定の印刷デバイスで印刷する要求とともに受信できる。プリンタ管理デバイスは、続いて、プリンタ管理デバイス上にインストールされた、その特定の印刷デバイスに対応したプリンタドライバーを使用して、その受信した原稿ファイルに基づいた印刷ジョブを生成し、実行される特定の印刷デバイスに当該印刷ジョブを送信する。このように、プリンタ管理デバイスを通して通信するコンピューティング・デバイスは、印刷を行なうためにプリンタドライバーをインストールする必要がない。
【００１５】
実施形態によっては、プリンタ管理デバイスは、それらドライバーの新しいバージョンが利用できるようになると、自動的にプリンタドライバーを更新してもよい。プリンタ管理デバイスは、サーバー装置から、またはメーカーのウェブサイトを通して、定期的に更新をチェックしてもよい。場合によっては、プリンタ管理デバイスは、新しいドライバーがダウンロードできるという通知を受けてもよい。実施の有無にかかわらず、プリンタ管理デバイスは、ネットワーク内の各印刷デバイスのために最新のプリンタドライバーを自動的にダウンロードして、インストールしてもよい。
【００１６】
印刷デバイスによっては、印刷デバイスの様々な動作面を制御するファームウェア、オペレーティングシステム、または他の低レベルソフトウェアを実行してもよい。プリンタ管理デバイスは、その中に、ネットワーク内の様々な印刷デバイス用の最新ファームウェアのコピーを保存してもよい。プリンタドライバーと同様に、プリンタ管理デバイスも入手できるようになるとこれらファームウェアの最新バージョンを自動的にダウンロードしてもよい。新しいファームウェア・バージョンをダウンロードすると、プリンタ管理デバイスは、対応する１台または複数台の印刷デバイスに新しいファームウェアをインストールしてもよい。「ファームウェア」とは、印刷デバイスの様々な構成要素のためのドライバー、メモリ管理ソフトウェア、ネットワーク・インターフェース・ソフトウェア、および他の任意の種類のオペレーティングシステム型ソフトウェアを含む、任意の組み合わせの低レベルソフトウェア構成要素を指す場合があることに留意する。
【００１７】
新しい印刷デバイスがネットワークに追加されると、プリンタ管理デバイスは、その新しい印刷デバイスを検知し、印刷デバイスと関連するソフトウェアがプリンタ管理デバイスにすでにインストールおよび／または保存されているか判断してもよい。プリンタドライバーおよび／またはファームウェアがまだインストールおよび／または保存されていない場合、プリンタ管理デバイスは、不足しているソフトウェアを自動的にダウンロードしてもよい。さらに、プリンタ管理デバイスは、新しい印刷デバイス上のファームウェアをチェックし、場合によっては、そのファームウェアのより新しいバージョンを自動的にインストールしてもよい。
【００１８】
プリンタ管理デバイスは、実装例によっては、ネットワーク上の様々な印刷デバイス用のステータス情報を保持してもよい。特定の印刷デバイスが動作エラーを経験すると、プリンタ管理デバイスは、そのエラーを通知され、ユーザーがその特定の印刷デバイスから印刷することを防止してもよい。
【００１９】
本出願のプリンタ管理デバイスおよび方法は、ネットワーク内のコンピューティング・デバイスと印刷デバイスの間にインターフェースを提供する。これにより、コンピューティング・デバイスは、ネットワーク内の印刷デバイスごとにプリンタドライバーをインストールする必要がない。このように、ゲストデバイスおよび／またはモバイルデバイスであっても、このようなプリンタ管理デバイスによって、任意のプリンタドライバーをインストールする必要なく、ネットワーク内の様々な印刷デバイスから印刷することが可能となる。
【００２０】
プリンタ管理デバイスは、コンピューティング・デバイスと印刷デバイスの間の中間デバイスとなることによって、様々な他の便益を提供してもよい。例えば、遠隔サーバー装置に保存された原稿ファイルの印刷を可能にするため、プリンタ管理デバイスがクラウドストレージサービスとインターフェース接続してもよい。そのような中間デバイスを提供することの様々な便益は本明細書の中で熟慮されている。
［ＩＩ．例示の画像形成装置］
【００２１】
図１は、例示の実施形態に係る画像形成装置１００を示す概略ブロック図である。画像形成装置１００は、プロセッサ１０２、命令１０６を保存しているデータ記憶部１０４、脱着自在ストレージ・インターフェース１０８、ネットワーク・インターフェース１１０、プリンタ１１２、スキャナ１１４、ファクシミリ（ＦＡＸ）ユニット１１６、制御ユニット１１８、および表示デバイス１２２並びに入力デバイス１２４を有する操作パネル１２０を含む。画像形成装置１００の各部は、バスに接続され、相互作用することが可能である。例えば、プロセッサ１０２は、データ記憶部１０４に保存された情報を要求することができる。
【００２２】
プロセッサ１０２は、画像形成装置１００に様々な動作を実施させる命令１０６などの命令を実行することが可能な１つ以上のプロセッサを含み得る。プロセッサ１０２は、汎用中央処理装置（ＣＰＵ）およびキャッシュメモリを含み得る。プロセッサ１０２は、また、特定用途向け集積回路（ＡＳＩＣ）およびフィールドプログラマブルゲートアレイ（ＦＰＧＡ）のような特定用途向けのプロセッサユニットも組み込むことができる。画像形成装置１００に特有の動作を実行するために、他のプロセッサもまた含まれてもよい。
【００２３】
データ記憶部１０４は、プロセッサ１０２によって実行可能な命令１０６を保存することが可能である。データ記憶部１０４は、また、画像形成装置１００に特有なデータだけでなく、様々なプログラムおよびアプリケーションのための情報を保存することも可能である。例えば、データ記憶部１０４は、オペレーティングシステム（ＯＳ）を実行するためのデータを含んでもよい。これに加えて、データ記憶部１０４は、任意の人数のユーザーについての様々な情報を含むユーザーデータを保存してもよい。データ記憶部１０４は、揮発性メモリと不揮発性メモリとの両方を含んでもよい。揮発性メモリは、ランダム・アクセス・メモリ（ＲＡＭ）を含んでもよい。不揮発性メモリの例として、リード・オンリー・メモリ（ＲＯＭ）、フラッシュメモリ、電気的消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、デジタルテープ、ハードディスクドライブ（ＨＤＤ）およびソリッド・ステート・ドライブ（ＳＳＤ）が挙げられる。データ記憶部１０４は、他の考えられるメモリデバイスと併せて、読み取り可能および／または書き込み可能な揮発性メモリおよび／または不揮発性メモリの任意の組み合わせを含んでもよい。
【００２４】
脱着自在ストレージ・インターフェース１０８は、外部データ記憶装置を接続することができ、そしてその外部データ記憶装置は、次にプロセッサ１０２および／または制御ユニット１１８に提供されるかまたはデータ記憶部１０４にコピーされる。脱着自在ストレージ・インターフェース１０８は、外部記憶デバイスの物理的接続を可能にする多数の接続ポート、プラグ、および／またはスロットを含み得る。脱着自在ストレージ・インターフェース１０８を介して画像形成装置１００にインターフェース接続することができる脱着自在な記憶装置の例として、ＵＳＢフラッシュドライブ、セキュアデジタル（ＳＤ）カード（様々な形状および／または大きさのＳＤカードを含む）、コンパクトディスク（ＣＤ）、デジタルビデオディスク（ＤＶＤ）および他のメモリカードまたは光記憶媒体が挙げられる。
【００２５】
ネットワーク・インターフェース１１０は、画像形成装置１００がネットワークを通じて他のデバイスに接続することを可能にする。ネットワーク・インターフェース１１０は、ローカルエリアネットワーク（ＬＡＮ）および／またはインターネットなどの広域ネットワーク（ＷＡＮ）に接続可能である。ネットワーク・インターフェース１１０は、ネットワークへの有線接続（例えば、イーサネット（登録商標））および／または無線接続（例えば、Ｗｉ−Ｆｉ）をするためのインターフェースを含んでもよい。ネットワーク・インターフェース１１０は、また、数ある無線プロトコルのうち、Ｂｌｕｅｔｏｏｔｈ（登録商標）、無線周波数識別（ＲＦＩＤ）、近距離無線通信（ＮＦＣ）、ＣＤＭＡ、ＥＶＤＯ、ＧＳＭ（登録商標）／ＧＰＲＳなどの３Ｇ移動体通信、またはＷｉＭＡＸもしくはＬＴＥなどの４Ｇ移動体通信などの他の無線プロトコルを通じて通信することもできる。加えて、ネットワーク・インターフェース１１０は、電話地上回線を通じて通信してもよい。有線および／または無線のネットワーク・インターフェースおよびプロトコルの任意の組み合わせがネットワーク・インターフェース１１０に含まれてもよい。
【００２６】
プリンタ１１２は、用紙などの印刷媒体上に、永続的に人間が読み取り可能な画像および／またはテキストを生成することができる任意のデバイスまたは周辺機器で有り得る。プリンタ１１２は、印刷のために、画像形成装置１００の他部から画像および／またはテキストを表す印刷データを受け取ることができる。プリンタ１１２は、数ある技術のうち、インクベースの印刷、トナーベースの印刷、および感熱印刷などの様々な技術を用いてもよい。印刷媒体の搬送および画像および／またはテキストの印刷媒体への転写を容易にするために、機械デバイスおよび／または電気機械デバイスを組み合わせてプリンタ１１２を構成してもよい。例えば、プリンタ１１２は、印刷媒体の保管および多段化のためのトレイおよびプリンタ１１２の中を通って印刷媒体を搬送するためのローラを含んでもよい。他のデバイスもプリンタ１１２内に組み込むことができる。プリンタ１１２は、また、印刷媒体上にインクを分配するインクヘッド、ドラムを帯電させそして印刷媒体上に転写されるトナーを引き付けるためにレーザが照射される感光体ドラム、および／または画像および／またはテキストを生成するために印刷媒体の一定の領域を加熱するための感熱ヘッドを含んでもよい。他のデバイスもまたプリンタ１１２に内蔵されてもよい。
【００２７】
スキャナ１１４は、原稿、画像または他の対象物（以下、まとめて「スキャン媒体」と呼ぶことがある）をスキャンし、当該スキャン媒体を表すデジタル画像を生成することができる任意のデバイスであり得る。スキャナ１１４は、スキャン媒体上に光（例えば、ＬＥＤによって）を照射し、スキャン媒体から反射される光を検知し得る（例えば、電荷結合素子（ＣＣＤ）ラインセンサまたは相補型金属酸化膜半導体（ＣＭＯＳ）ラインセンサを介して）。実装例によっては、スキャナ１１４は、スキャンするために原稿が載置されるプラテンガラスを含む。これに加えて、スキャナ１１４は、数ある後処理操作のうち、回転、データ圧縮、および／または光学式文字認証（ＯＣＲ）などの後処理を、スキャンされた画像に対して実行することができる。
【００２８】
ファクシミリユニット１１６は、原稿および／または画像（以下、まとめて「印刷物」と呼ぶことがある）をスキャンし、そして電話回線を通してスキャンされた印刷物を送信することが可能である（すなわち、スキャンされた印刷物をファックスする）。ファクシミリユニット１１６は、ネットワーク・インターフェース１１０を介してスキャンされた印刷物をファックスすることが可能である。ファクシミリユニット１１６は、また、ファクシミリ送信を受信し、受信したデータを印刷のためプリンタ１１２に通信することが可能である。実装例によっては、ファクシミリユニット１１６は、とりわけ、ファクシミリユニット１１６を構成し電話番号をダイヤルするためのボタンおよび前記ファクシミリ送信の状態を表示するディスプレイを含む。
【００２９】
制御ユニット１１８は、画像形成装置１００の様々な電気的および／または機械的構成要素を制御することが可能である。例えば、制御ユニット１１８は、プリンタ１１２の中を通して用紙を搬送するために、１つ以上の給紙部、搬送部、ローラおよび他の機械デバイスを動作させることが可能である。制御ユニット１１８は、また、ネットワーク通信、電子表示、および画像形成装置１００に接続された様々なセンサまたは読取部からの情報の読み取りを促進するデバイスドライバーを含んでもよい。実装例によっては、制御ユニット１１８は、プロセッサ１０２を画像形成装置１００の各部とインターフェースで接続するソフトウェア・アプリケーションまたはプログラムである。
【００３０】
操作パネル１２０は、人間と画像形成装置１００との対話を容易にするための表示デバイス１２２および入力デバイス１２４を含む。表示デバイス１２２は、液晶ディスプレイ（ＬＣＤ）などの任意の電子映像表示であってもよい。入力デバイス１２４は、ボタン、キーボード、スイッチ、および／またはダイヤルなどユーザーが操作パネル１２０に情報を入力できるデバイスの任意の組み合わせを含んでもよい。これに加えて、入力デバイス１２４は、接触を感知し、表示デバイス１２２と情報のやり取りができる表示デバイス１２２の上に重ね合わされたタッチスクリーンデジタイザを含んでもよい。
【００３１】
図２は、例示の実施形態に係る印刷デバイス２００を示す概略ブロック図である。印刷デバイス２００は、音響トランスデューサー２０２、無線トランシーバ２０４および制御ユニット２０６を含む。制御ユニット２０６は、屋内測位部２０８および近接感知部２１０を含み得る。印刷デバイス２００は、また、画像形成装置１００の各部の任意の組み合わせを含み得る。
【００３２】
音響トランスデューサー２０２は、スピーカなどの音波を生成できるデバイスであればよい。音響トランスデューサー２０２は、特定の周波数帯内で音波を発するよう構成され得る。実装例によっては、音響トランスデューサー２０２は、超音波（例えば、他の考えられる周波数のうちでも、２０ｋＨｚから８０ｋＨｚ）を発することが可能なスピーカでもよい。他の実装例では、音響トランスデューサー２０２は、超低周波（例えば、他の考えられる周波数のうちでも、５Ｈｚから２０Ｈｚ）を発することが可能なスピーカでもよい。特定の実施形態にかかわらず、音響トランスデューサー２０２は、人間が聞こえない音波を発するよう構成され得る。音響トランスデューサー２０２は、ユーザーが印刷デバイス２００の位置を確認する手助けをする屋内測位機能を提供するため、屋内測位部２０８とインターフェース接続してもよい。
【００３３】
無線トランシーバ２０４は、特定周波数の電磁波を発するよう構成されたアンテナおよび制御回路を含み得る。無線トランシーバ２０４は、任意の組み合わせのＷｉ−Ｆｉ（他の考えられるＷｉ−Ｆｉ規格のうちでも、２．４ＧＨｚおよび／または５ＧＨｚのＷｉ−Ｆｉ帯域で動作する８０２．１１ａ／ｂ／ｇ／ｎ／ａｃを含む）、Ｗｉ−Ｆｉダイレクト、および／またはＢｌｕｅｔｏｏｔｈ信号を発し得る。特定の実施形態にかかわらず、無線トランシーバ２０４は、例えば、モバイルコンピューティングデバイスで検知可能な電磁信号を発するよう構成され得る。無線トランシーバ２０４は、ユーザーが印刷デバイス２００の位置を確認する手助けをする屋内測位機能を提供するため、屋内測位部２０８および／または近接感知部２１０とインターフェース接続してもよい。
【００３４】
制御ユニット２０６は、印刷デバイス２００の電気的および／または機械的構成要素を制御するよう構成されたハードウェアおよび／またはソフトウェアの組み合わせであり得る。制御ユニット２０６は、プロセッサによって実行されるソフトウェア命令として実装され得る。実施形態によっては、制御ユニット２０６は、ファームウェアとして実装され得る。印刷デバイス２００の様々な動作態様は制御ユニット２０６を通して制御され得る。印刷デバイス２００の動作は、プリンタ管理デバイス３００などのコンピューティング・デバイスによる命令から呼び出され得る。
【００３５】
屋内測位部２０８は、屋内測位システムの基準となるために、音響トランスデューサー２０２および／または無線トランシーバ２０４を制御することができる。図７および図８に関して、本明細書内で説明されているように、印刷デバイスは、モバイルコンピューティングデバイスによって検知可能な音波および／または電磁波を発することができる。モバイルコンピューティングデバイスを操作するユーザーは、例えば、オンスクリーンユーザーインターフェースによって、そのような音波および／または電磁波を発する印刷デバイス２００に誘導され得る。操作中、プリンタ管理デバイス３００は、制御ユニット２０６から屋内測位部２０８を通して、印刷デバイス２００に命令して、音響トランスデューサー２０２に指定された周波数で音波、および／または無線トランシーバ２０４に指定された周波数またはチャネルで電磁波を発させることができる。続いて、ユーザーを印刷デバイス２００に案内するため、指定された周波数で音波を検知および／または指定された周波数またはチャネルで電磁波を検知し、これらの音波と電磁波の特定のアスペクト（すなわち、発した既知の振幅と比較した検知されたこれらの波の振幅）を使用するようモバイルコンピューティングデバイスは、通知され得る。
【００３６】
近接感知部２１０は、屋内測位を提供するため、屋内測位部２０８と連動して作動し得る。実装例によっては、無線トランシーバ２０４も、また、モバイルコンピューティングデバイスから信号を受信することができる。近接感知部２１０は、印刷デバイス２００とモバイルコンピューティングデバイスの間の距離を、交換された電磁波の相対的な振幅に基づいて推測することができる。
【００３７】
本明細書で言う「ユニット」とは、特定のタスクを行うデバイス、構成要素、モジュールまたは他の組み合わせの電気的および／または機械的要素を指すことがあることに留意する。場合によっては、ユニットは、ファクシミリユニット１１６のような、特定の作業を行う物理的デバイスを指すことがある。他の場合では、ユニットは、屋内測位部２０８のような、特定の目的のための動作を実行するソフトウェアモジュールを指すこともある。ユニットを構成するハードウェアおよびソフトウェア構成要素の組み合わせにかかわらず、ユニットは、特定のタスクを行うため操作可能で、ハードウェアおよび／またはソフトウェアインターフェースを通して他のユニットと相互に作用することが可能だと理解すべきである。
【００３８】
本明細書で記載される画像形成装置および印刷デバイスは、他の考えられる構成要素のうちでも、画像形成装置１００および／または印刷デバイス２００の構成要素の任意の組み合わせを組み込んでよい。例えば、画像形成装置は、様々な構成要素が使用できる電力に変換する電源を含み得る。他の追加の構成要素もまた、特定の画像形成装置に含まれ得ることを理解すべきである。
【００３９】
図３は、例示の実施形態に係るプリンタ管理デバイス３００を示す概略ブロック図である。プリンタ管理デバイス３００は、プロセッサ３０２、記憶部３０４、操作パネル３０６、ネットワーク・インターフェース３０８、プリンタソフトウェアメンテナンス部３１０、印刷データレンダリング部３１２およびデータ記憶部３１４を含む。データ記憶部３１４は、プリンタドライバー３１６、プリンタファームウェア３１８、プリンタステータス情報３２０、ユーザー情報３２２および印刷デバイス管理アプリケーション３２４を含み得る。
【００４０】
プロセッサ３０２は、印刷デバイス管理アプリケーション３２４のような、プリンタ管理デバイス３００に様々な動作を実施させるソフトウェアを実行することが可能な１つ以上のプロセッサを含み得る。プロセッサ３０２は、汎用中央処理装置（ＣＰＵ）およびキャッシュメモリを含み得る。プロセッサ３０２は、また、特定用途向け集積回路（ＡＳＩＣ）およびフィールドプログラマブルゲートアレイ（ＦＰＧＡ）のような特定用途向けのプロセッサユニットも組み込むことができる。プリンタ管理デバイス３００に特有の動作を実行するために、他のプロセッサもまた含まれてもよい。
【００４１】
記憶部３０４は、プリンタ管理デバイス３００で実行されるソフトウェアの一時的なストレージ場所およびメモリスペースを提供する、ランダム・アクセス・メモリ（ＲＡＭ）のような、任意の揮発性記憶デバイスであってよい。
【００４２】
操作パネル３０６は、ユーザーがプリンタ管理デバイス３００の様々な操作を行うことを可能にするインターフェースを提供するソフトウェアおよび／またはハードウェアの任意の組み合わせであってよい。実装例によっては、操作パネル３０６は、液晶ディスプレイ（ＬＣＤ）等の表示部および入力部（例えば、タッチスクリーンデジタイザ、マウス、キーボードおよび／または他のボタン）を含んでもよい。操作パネル３０６上には、様々な操作を行うことを可能にするユーザーインターフェースを表示できる。例えば、操作パネル３０６は、ユーザーがネットワーク上の様々な印刷デバイスの作業状態を見ることができるナビゲーション可能なインターフェースを提示できる。
【００４３】
実施形態によっては、操作パネル３０６は、別個のハードウェア構成要素を使用することなく、ソフトウェアに実装されてもよい。これらの実施の形態では、操作パネル３０６のユーザーインターフェース要素は、ユーザーのコンピューティング・デバイスに送信され、ユーザーのコンピューティング・デバイスに遠隔的に表示されることも可能である。場合によっては、操作パネル３０６は、ユーザー単位で設定することができ、各ユーザーに個人用操作パネル３０６を当該ユーザーのコンピューティング・デバイス上に提示することもできる。
【００４４】
実装例によっては、クライアントデバイスまたはモバイルコンピューティングデバイスは、そのような遠隔操作パネルを表示するプログラムまたはアプリケーションを実行してもよい。プリンタ管理デバイス３００は、ユーザーの傾向に関する情報をクライアントデバイスまたはモバイルコンピューティングデバイスに送信できる。操作パネルを介して行うことができる操作の例として、他の考えられる操作のうちでも、様々な印刷デバイスの状態を確認すること、特定のユーザー用の好適な印刷デバイスの設定、失敗した印刷ジョブを代替の印刷デバイスへ送ること、および保守作業の実行が挙げられる。
【００４５】
ネットワーク・インターフェース３０８は、有線イーサネット、Ｗｉ−Ｆｉ（例えば、他の考えられるＷｉ−Ｆｉ規格のうちでも、２．４ＧＨｚおよび／または５ＧＨｚのＷｉ−Ｆｉ帯域で動作する８０２．１１ａ／ｂ／ｇ／ｎ／ａｃ）、Ｗｉ−Ｆｉダイレクト、Ｂｌｕｅｔｏｏｔｈ、および／または他の任意の有線または無線通信規格の任意の組み合わせであってよい。ネットワーク・インターフェース３０８は、特定のネットワーク内のコンピューティング・デバイスおよび印刷デバイスに通信可能な接続を提供できる。プリンタ管理デバイス３００は、ネットワーク・インターフェース３０８を通して、ローカルネットワークに接続してもよい。実装例によっては、コンピューティング・デバイスは、Ｗｉ−ＦｉダイレクトまたはＢｌｕｅｔｏｏｔｈを通じて、そのようなローカルネットワークに接続されることなく、プリンタ管理デバイス３００と直接通信することもできる。
【００４６】
プリンタソフトウェアメンテナンス部３１０は、ネットワーク内のプリンタ管理デバイス３００上および／または印刷デバイス上に様々なプリンタソフトウェアのダウンロード、アップデートおよびインストールを行うことができる。プリンタソフトウェアメンテナンス部３１０は、プリンタドライバー３１６および／またはプリンタファームウェア３１８のドライバーまたはファームウェアのより新しいバージョンが利用できるようになると、プリンタドライバー３１６および／またはプリンタファームウェア３１８を更新できる。場合によっては、プリンタソフトウェアメンテナンス部３１０は、プリンタドライバー３１６および／またはプリンタファームウェア３１８のより新しいバージョンが利用可能だという通知を受け、それらドライバーまたはファームウェアのダウンロードを応答的に要求することもできる。さらに、プリンタソフトウェアメンテナンス部３１０は、ローカルネットワーク上の新たな印刷デバイスの追加を検知し、その新たな印刷デバイスに関係するプリンタドライバーおよび／またはファームウェアのダウンロードを応答的に要求することもできる。
【００４７】
印刷データレンダリング部３１２は、プリンタドライバー３１６を使用して、原稿ファイルを印刷可能なデータ（本明細書では、「印刷ジョブ」と呼ぶこともある）に変換できる。そのような変換には、色変換、ラスタライゼーションおよび原稿ファイルを解釈し、その情報を印刷デバイスによって理解可能で印刷可能なデータに変換する他の技術が含まれ得る。実装例によっては、印刷データレンダリング部３１２は、受信した印刷ジョブ設定（他の印刷ジョブ設定のうちでも、両面、色、ステープル、および／または用紙サイズオプション等）に基づいて、印刷ジョブを構成することもできる。原稿ファイルの印刷を要求するユーザーが、これらの印刷ジョブ設定の１つ以上を指定することもあり、その場合、印刷データレンダリング部３１２において受信され、印刷ジョブ用の印刷オプションの構成の基準として使用されてもよい。何も特別に指定されていない際、場合によっては、印刷データレンダリング部３１２は、特定の印刷デバイスにデフォルトの印刷ジョブ設定を適用することがある。
【００４８】
データ記憶部３１４は、プロセッサ３０２によって実行可能な命令１０６を保存することが可能である。データ記憶部３１４は、また、プリンタ管理デバイス３００に特有なデータだけでなく、様々なプログラムおよびアプリケーションのための情報を保存することも可能である。例えば、データ記憶部３１４は、オペレーティングシステム（ＯＳ）を実行するためのデータを含んでもよい。これに加えて、データ記憶部３１４は、任意の人数のユーザーについての様々な情報を含むユーザーデータを保存してもよい。データ記憶部３１４は、揮発性メモリと不揮発性メモリとの両方を含んでもよい。揮発性メモリは、ランダム・アクセス・メモリを含んでもよい。不揮発性メモリの例として、リード・オンリー・メモリ（ＲＯＭ）、フラッシュメモリ、電気的消去可能プログラマブル読み出し専用メモリ（ＥＥＰＲＯＭ）、デジタルテープ、ハードディスクドライブ（ＨＤＤ）およびソリッド・ステート・ドライブ（ＳＳＤ）が挙げられる。データ記憶部３１４は、他の考えられるメモリデバイスと併せて、読み取り可能および／または書き込み可能な揮発性メモリおよび／または不揮発性メモリの任意の組み合わせを含んでもよい。
【００４９】
プリンタドライバー３１６は、ローカルネットワークに接続された印刷デバイスに対応する１つ以上のプリンタドライバーであってよい。場合によっては、プリンタ管理デバイス３００が特定のメーカーが提供する全ての印刷デバイス用のプリンタドライバーを保存してもよい。様々な実装例において、プリンタドライバー３１６は、自動的に更新されてもよい。加えて、新たな印刷デバイスがローカルネットワークに接続した際、当該印刷デバイス用のプリンタドライバーが自動的にダウンロードされ、プリンタドライバー３１６内に含まれてもよい。
【００５０】
プリンタファームウェア３１８は、ローカルネットワークに接続された印刷デバイスに対応する１つ以上のプリンタファームウェアであってよい。場合によっては、プリンタ管理デバイス３００が特定のメーカーが提供する全ての印刷デバイス用のプリンタファームウェアを保存してもよい。様々な実装例において、プリンタファームウェア３１８は、自動的に更新されてもよい。加えて、新たな印刷デバイスがローカルネットワークに接続した際、当該印刷デバイス用のプリンタファームウェアが自動的にダウンロードされ、プリンタファームウェア３１８内に含まれてもよい。
【００５１】
実装例によっては、データ記憶部３１４は、その中にプリンタドライバー３１６およびプリンタファームウェア３１８を分類する表またはデータベースを保存してもよい。そのような表またはデータベースは、印刷デバイスの機種情報および機種ごとに現在保存されているドライバーおよびファームウェアのバージョンを含み得る。新たな印刷デバイスがネットワークに接続した際、プリンタ管理デバイス３００は、最初にプリンタドライバーおよびファームウェアがすでにデータ記憶部３１４に保存されているかどうか判断するため、表またはデータベースを照合することができる。
【００５２】
プリンタステータス情報３２０は、プリンタ管理デバイス３００によって維持され、特定の印刷デバイスが印刷のために利用できるか否かを判断するための基準として利用され得る。プリンタステータス情報３２０に含まれ得る情報の例として、印刷デバイスが現在印刷中かどうか、印刷デバイスの「スプールした」印刷ジョブの数、印刷デバイスのインクおよび／またはトナーレベル、および／または印刷デバイスにエラー（例えば、紙詰まり）が発生したかどうか、が挙げられる。この情報は、プリンタ管理デバイス３００によって、ネットワークに接続された各印刷デバイスにクエリ送信し、各印刷デバイスのステータス情報を含み持つ応答を受信することで収集することができる。印刷デバイスには、特定の状況（例えば、エラーが対処されるまで印刷ジョブの実行ができないエラーが発生した場合）において、プリンタ管理デバイス３００にステータス情報を送信するものもある。プリンタ管理デバイス３００がプリンタステータス情報３２０を受信する方法にかかわらず、プリンタ管理デバイス３００は、そのような情報を利用して、ユーザーが利用できない（例えば、ビジーまたはオフライン）印刷デバイスで印刷することを防止することができる。実施形態によっては、プリンタ管理デバイス３００は、当初指定されていた印刷デバイスが利用できない場合、印刷ジョブを自動的にリダイレクトすることもできる。
【００５３】
ユーザー情報３２２は、認可証、傾向および１人以上のユーザーと関連付けられている他の情報を含み得る。プリンタ管理デバイス３００は、登録ユーザーにカスタマイズした操作パネル３０６等の個人用サービスを提供してもよい。他の例として、ユーザー情報３２２は、他の考えられる情報のうちでも、ユーザーの印刷履歴および／またはユーザーの望む印刷デバイスに関連する情報を含み得る。ユーザー情報３２２は、ユーザーを認証する基準として利用されてもよい。実装例によっては、１つ以上のクライアントデバイスおよび／またはモバイルコンピューティングデバイスは、所与のユーザーに関連付けられることができ、ユーザーが当該クライアントデバイスまたはモバイルコンピューティングデバイスを操作する際に、個人用オプションをそこに提供することも可能である。
【００５４】
実施形態によっては、プリンタ管理デバイス３００は、印刷ジョブを実行する前にユーザーが認証を受けることを要求してもよい。状況によっては、権限のないまたは未認証のユーザーがプリンタ管理デバイスを通して印刷することを防ぐことが望ましい場合もある。このようにプリンタ管理デバイス３００は、最初に印刷ジョブの実行を要求しているユーザーが印刷することを認証または認定されているかどうか判断してもよい。ユーザーが認識されない、またはそうでなく、印刷することを認証または認定されていない場合は、プリンタ管理デバイス３００は、印刷ジョブを印刷デバイスに送信することを防ぐか、そうでない場合は、停止してもよい。
【００５５】
印刷デバイス管理アプリケーション３２４は、本明細書で説明されているプリンタ管理デバイス３００の様々な動作機能を行うよう構成されたソフトウェア、プログラム、アプリケーションおよび／またはサービスの任意の組み合わせであってよい。印刷デバイス管理アプリケーション３２４は、プリンタドライバー３１６、プリンタファームウェア３１８および／またはプリンタステータス情報３２０を更新するため、プリンタソフトウェアメンテナンス部３１０にインターフェース接続してもよい。印刷デバイス管理アプリケーション３２４は、また、受信した原稿ファイルに基づいて印刷ジョブを生成するため、プリンタドライバー３１６および印刷データレンダリング部３１２を利用してもよい。印刷デバイス管理アプリケーション３２４は、本出願で説明するプリンタ管理デバイス３００の操作および方法を実行するためのソフトウェアモジュールを含んでもよい。
【００５６】
プリンタ管理デバイス３００は、本明細書では「印刷ボックス」および／または「ユニバーサル印刷ボックス」と呼ぶこともある。「ボックス」とは、いくつかの実装例に係るプリンタ管理デバイス３００の例示的な形状因子を指すこともあると理解すべきである。また、「ユニバーサル」とは、ローカルネットワークおよび／または広域ネットワーク上のソフトウェア更新、ソフトウェアインスタレーション、印刷およびデータアクセスの任意の組み合わせを容易にするセントラルハブとしてのプリンタ管理デバイスの役割を指すこともあると理解すべきである。用語「ユニバーサル」は、単にクライアントデバイス、デスクトップコンピューター、モバイルコンピューティングデバイスおよびタブレットデバイス等の他のコンピューティング・デバイスからプリンタ管理デバイスを指定するために使用されてもよい。
［ＩＩＩ．例示のシステム］
【００５７】
図４Ａは、例示の実施形態に係るシステム４００を示す概略ブロック図である。システム４００は、プリンタ管理デバイス４０２、クライアントデバイス４０４、モバイルコンピューティングデバイス４０６、第１の印刷デバイス４１０、第２の印刷デバイス４１２、第３の印刷デバイス４１４、クラウドストレージ４１８、およびプリンタソフトウェア４２０を含む。プリンタ管理デバイス４０２、クライアントデバイス４０４、モバイルコンピューティングデバイス４０６、および印刷デバイス４１０、４１２および４１４は、ローカルネットワーク４２２内で通信可能に接続されてもよい。プリンタ管理デバイス４０２は、インターネット４１６上でクラウドストレージ４１８およびプリンタソフトウェア４２０に通信可能に接続されてもよい。
【００５８】
プリンタ管理デバイス４０２は、図３に関して上述したプリンタ管理デバイス３００と同一または同様であってもよい。プリンタ管理デバイス４０２は、コンピューティング・デバイスが印刷デバイス４１０、４１２、および４１４で、これら印刷デバイスのプリンタドライバーをインストールする必要なく、印刷ジョブを実行できる共通インターフェースを提供することができる。操作中、印刷ジョブの実行を要求するコンピューティング・デバイスは、ローカルネットワーク４２２上でプリンタ管理デバイス４０２に原稿ファイルを送信し、その後、印刷ジョブを生成し、この生成された印刷ジョブを１つ以上の印刷デバイス４１０、４１２および４１４に送信することができる。
【００５９】
クライアントデバイス４０４は、ローカルネットワーク４２２上でプリンタ管理デバイス４０２に接続されたデスクトップ・コンピューティング・デバイスでもよい。構成によっては、クライアントデバイスは、イーサネット等の有線接続でローカルネットワーク４２２に接続されてもよい。クライアントデバイス４０４は、原稿ファイルを含み持つローカルストレージを有していることもあり、ユーザーはそこから印刷される特定の原稿ファイルを選択することもあるかもしれない。クライアントデバイス４０４は、また、クラウドストレージ４１８に保存された原稿の印刷を要求することもできる。場合によっては、クライアントデバイス４０４は、その中に一切プリンタドライバーを有していないこともある。
【００６０】
モバイルコンピューティングデバイス４０６は、プリンタ管理デバイス４０２に無線で接続されるスマートフォンまたはタブレットデバイスであってよい。無線接続４０８は、他の考えられる無線通信規格のうちでも、Ｗｉ−Ｆｉ、Ｗｉ−Ｆｉダイレクトおよび／またはＢｌｕｅｔｏｏｔｈであってよい。管理者がローカルネットワーク安全に保ち、そこには信頼したユーザーのみ接続を許可したい場合などでは、モバイルコンピューティングデバイス４０６は、Ｗｉ−ＦｉダイレクトまたはＢｌｕｅｔｏｏｔｈ通じて、プリンタ管理デバイス４０２に直接接続してもよい。これは、モバイルコンピューティングデバイスが、例えば、ゲストユーザーに関連付けられている場合に望ましいかもしれない。モバイルコンピューティングデバイス４０６は、ローカルストレージに原稿ファイルを有してもよく、そのようなローカルで保存された原稿ファイルの印刷を、プリンタ管理デバイス４０２を通して、要求してもよい。場合によっては、モバイルコンピューティングデバイス４０６は、クラウドストレージ４１８に保存された１つ以上の原稿の印刷を要求してもよい。
【００６１】
構成によっては、モバイルコンピューティングデバイス４０６が、代替的および／または追加的にローカルネットワーク４２２に無線で接続されてもよい。例えば、モバイルコンピューティングデバイス４０６は、所与のオフィス環境内で通常働く従業員に関係していてもよい。本例では、モバイルコンピューティングデバイス４０６は、ローカルネットワーク４２２にアクセスすることを許可されていてもよい（すなわち、認証とローカルネットワーク４２２に接続するために必要となるネットワーク認可証を有する）。しかしながら、モバイルコンピューティングデバイス４０６が、ローカルネットワーク４２２へのアクセスを必要としないゲストユーザーに関連付けられている場合、図４Ａに示される通り、プリンタ管理デバイス４０２に無線で直接、接続されてよい。
【００６２】
印刷デバイス４１０、４１２および４１４は、印刷ジョブを実行できる各種の画像形成装置であってよい。各印刷デバイスは、その中に特定のバージョンのファームウェアをインストールしてあるかもしれない。プリンタ管理デバイス４０２は、それらのファームウェアの更新されたバージョンをダウンロードし、ダウンロードの完了に応じて印刷デバイスにインストールすることができる。印刷デバイス４１０、４１２および４１４は、ローカルネットワーク４２２を介してプリンタ管理デバイス４０２に印刷デバイスについての情報を送信するよう構成されていてもよい。例えば、プリンタ管理デバイス４０２は、印刷デバイスの機種についての情報を要求してもよいし、または印刷デバイスに現在インストールされているファームウェアのバージョン情報を要求してもよい。印刷デバイス４１０、４１２および４１４は、そのような要求に要求された情報で応答できる。さらに、実施形態によっては、１つ以上の印刷デバイス４１０、４１２および４１４は、プリンタ管理デバイス４０２に印刷デバイスの様々な動作面についてのステータス情報を送信できる。
【００６３】
第１の印刷デバイス４１０のような特定の印刷デバイスは、スキャンおよび／またはファクシミリ作業等の他の機能を実行可能な多機能周辺機器（ＭＦＰ）であってよい。実施形態によっては、スキャンされた原稿から第１の印刷デバイス４１０で作られたスキャンデータは、プリンタ管理デバイス４０２に送信されてもよい。プリンタ管理デバイス４０２は、各自の実施形態によって、スキャンデータを一時的または長期的に保存することができる。場合によっては、プリンタ管理デバイス４０２は、スキャンデータを１つ以上のクライアントデバイスおよび／またはモバイルコンピューティングデバイスに転送してもよい。
【００６４】
実装例によっては、プリンタ管理デバイス４０２は、スキャンデータの受信に応じて１つ以上のＥメールアドレスにスキャンデータをＥメール送信してもよい。実施形態によっては、プリンタ管理デバイス４０２は、スキャンデータを保存のために遠隔サーバー装置上またはクラウドストレージ４１８に送信するよう構成されていてもよい。
【００６５】
インターネット４１６は、それを通してプリンタ管理デバイス４０２、クラウドストレージ４１８およびプリンタソフトウェア４２０が通信可能に接続される任意の広域ネットワークであってよい。
【００６６】
クラウドストレージ４１８は、原稿ファイルを保存するサーバー装置の記憶デバイスであってよい。クライアントデバイス４０４および／またはモバイルコンピューティングデバイス４０６は、クラウドストレージ４１８に保存された原稿ファイルを検分し、プリンタ管理デバイス４０２を通して、１つ以上のこれらの原稿の印刷を要求してもよい。場合によっては、クラウドストレージは、私用または商用のクラウドストレージサービスであってもよい。実装例によっては、クラウドストレージ４１８の原稿ファイルの印刷を要求することは、プリンタ管理デバイス４０２に、その遠隔的に保存された原稿ファイルのリンクまたは他の参照情報を送信することを含み得る。そのような要求には、クラウドストレージ４１８に保存された原稿を取得する前に、ユーザーを認証するために必須なログイン認可証もまた含まれ得る。そして、プリンタ管理デバイス４０２は、クラウドストレージ４１８から取得した原稿ファイルに基づいて、印刷ジョブを生成してもよい。
【００６７】
プリンタソフトウェア４２０は、遠隔サーバー装置に保存されたプリンタドライバーおよび／またはプリンタファームウェアの任意の組み合わせであってよい。プリンタソフトウェア４２０は、印刷デバイスのメーカーによって提供されるサーバー装置であっても構わない。場合によっては、プリンタ管理デバイス４０２は、プリンタソフトウェア４２０からドライバーおよび／またはファームウェアのバージョン情報を要求してもよい。新しいバージョンのドライバーおよび／またはファームウェアが利用できるようになった場合、プリンタ管理デバイス４０２は、それらの新しいドライバーおよび／またはファームウェアをプリンタソフトウェア４２０からダウンロードするよう要求してもよい。実装例によっては、プリンタソフトウェア４２０は、プリンタ管理デバイス４０２に、新しいバージョンのドライバーおよび／またはファームウェアが更新されて、ダウンロード可能だと通知できる。
【００６８】
様々な実装例において、プリンタ管理デバイス４０２は、新しく接続された印刷デバイスが検知されると、応答的に、印刷デバイスのドライバーを「プル」あるいは取得するよう構成されていてもよい。以下は、プリンタドライバーの自動取得および更新を説明しているが、印刷デバイスのファームウェア等、他のプリンタソフトウェアにもまたそのような動作が適用できると理解すべきであることに留意する。新たな印刷デバイスがネットワークに接続した際、プリンタ管理デバイス４０２は、その新しく接続された印刷デバイスのＩＰアドレスを取得できる。そして、プリンタ管理デバイス４０２は、その新しく接続された印刷デバイスの型式および／または機種を検知してもよい。実装例によっては、印刷デバイスは、自身の製造番号、型番および／またはメーカー等の情報を、そのような情報の要求に応じて、提供するかもしれない。
【００６９】
プリンタ管理デバイス４０２は、続いて、当該印刷デバイス用のドライバーがすでに保存されているかどうかを判断してもよい。プリンタ管理デバイス４０２にドライバーが保存されていない場合、プリンタ管理デバイス４０２は、ダウンロードの開始またはドライバーのダウンロードの要求を行ってもよい。その新しく接続された印刷デバイス用のプリンタドライバーがすでにプリンタ管理デバイス４０２に保存されている場合、プリンタ管理デバイス４０２は、それがプリンタドライバーの最新のバージョンであることを確認するため照合することができる。より新しいバージョンが利用できる場合、プリンタ管理デバイス４０２は、実装例によっては、より新しいバージョンをダウンロードすることができる。
【００７０】
プリンタ管理デバイス４０２は、また、印刷デバイスに最新のファームウェアがインストールされているかどうか判断することもできる。現在インストールされているファームウェアのバージョンが、プリンタ管理デバイス４０２に保存されているファームウェアのバージョンより古い場合、プリンタ管理デバイス４０２は、保存されたファームウェアを新しく接続された印刷デバイスにインストールしてもよい。
【００７１】
ローカルネットワーク４２２は、クライアントデバイス４０４、（場合によっては）モバイルコンピューティングデバイス４０６および印刷デバイス４１０、４１２および４１４にローカルネットワーク４２２への接続を提供するよう構成されたルータおよび／またはネットワークスイッチの組み合わせを備えていてもよい。ローカルネットワーク４２２は、集合的にローカルネットワーク４２２を形成する様々なコンピューティングおよび／またはルーティングデバイスを含み得ると理解すべきである。クライアントデバイス４０４のような特定のデバイスは、有線接続（例えば、イーサネット）でローカルネットワーク４２２に接続されてもよい。（場合によっては）モバイルコンピューティングデバイス４０６のような他のデバイスは、無線接続（例えば、他の考えられる無線接続規格のうちでも、Ｗｉ−Ｆｉ）でローカルネットワーク４２２に接続されてもよい。ローカルネットワーク４２２は、本明細書で「ローカルエリアネットワーク」（ＬＡＮ）と呼ぶこともある。
【００７２】
システム４００は、説明の目的のために提供された例示のシステムであると理解すべきである。様々な方法で接続されるモバイルデバイス、コンピュータ、ノートパソコン、サーバー装置、記憶デバイスおよび／または他の端末装置の任意の組み合わせは、特定のシステム内に実装されてよい。図４Ａでシステム４００内に示される特定のデバイスは、本出願の様々な方法を実施する必要があるかもしれないし、ないかもしれない。つまり、本出願の方法は、図４Ａでシステム４００内に示される全てのデバイスを必要としないこともある。
【００７３】
図４Ｂは、例示の実施形態に係るシステム４３０を示す概略ブロック図である。システム４３０は、ローカルネットワーク４２２がシステム４３０では省略されているという点を除いて、図４Ａに示されるシステム４００に類似している。シナリオによっては、管理者は環境内で接続されるデバイスを安全に維持したいと望むことがあるだろう。これらのシナリオにおいて、プリンタ管理デバイス４０２は、ネットワーク内のデバイスが相互に通信を行うことができるアクセスポイントとして機能してもよい。図４Ｂに示すように、プリンタ管理デバイス４０２は、クライアントデバイス４０４およびモバイルコンピューティングデバイス４０６等のコンピューティング・デバイスと印刷デバイス４１０、４１２および４１４の間に通信可能に位置してもよい。加えて、インターネット４１６を介して、クラウドストレージ４１８および／またはプリンタソフトウェア４２０にアクセスするため、１つ以上のデバイスは最初に、プリンタ管理デバイス４０２を通して通信する必要があってもよい。このように、クライアントデバイス４０４およびモバイルコンピューティングデバイス４０６だけでなく、印刷デバイス４１０、４１２および４１４のセキュリティも向上することができる。
【００７４】
実施形態によっては、プリンタ管理デバイス４０２は、インターネット４１６上からシステム４３０内のコンピューティング・デバイスまたは印刷デバイスまでの権限のないまたは安全でない接続を除外するよう働いてもよい。このように、クラウドストレージ４１８からの原稿ファイルに基づいて印刷ジョブを実行したいシステム４３０内のコンピューティング・デバイスおよび／または印刷デバイスは、プリンタ管理デバイス４０２を通して、そうしたい旨を要求しなくてはならない。このような方法で、プリンタ管理デバイス４０２は、クラウドストレージ４１８内の要求された原稿ファイルが安全であるか否かを判断することができ、潜在的に危険な原稿ファイル（例えば、マルウェア、ウイルスまたはサイバー上の脅威を含み得るもの）をダウンロードすることを防止することができる。
【００７５】
本出願のシステムは、図４Ａのシステム４００および図４Ｂのシステム４３０内のデバイスとネットワークの任意の組み合わせであってよいと理解すべきである。例えば、プリンタ管理デバイス４０２は、直接的に１つ以上の印刷デバイス４１０、４１２および４１４に（有線および／または無線接続で）接続し、それからローカルネットワーク４２２に接続してもよい。当該ローカルネットワーク４２２は、そこに別の印刷デバイスおよび／またはコンピューティング・デバイスが接続していてもよい。このように、いかなる組み合わせのローカルネットワーク接続およびプリンタ管理デバイス４０２接続も各実施の形態に応じて存在する可能性がある。
［ＩＶ．例示の方法］
【００７６】
図５は、例示の実施形態に係る方法５００を示すフローチャートである。方法５００は、プリンタ管理デバイスを通して原稿の印刷を集合的に行う例示的な動作一式であり得る。方法５００の動作は、例えば、図３に示されるプリンタ管理デバイス３００上で実施される動作または図４Ａおよび／または図４Ｂに示されるプリンタ管理デバイス４０２上で実施される動作であってもよい。
【００７７】
ステップ５０２において、方法５００は、第１のコンピューティング・デバイスにおいて、第２のコンピューティング・デバイスから原稿ファイルを印刷する要求を受信することを含む。第１のコンピューティング・デバイスは、上述のようにプリンタ管理デバイスでもよい。第２のコンピューティング・デバイスは、他の考えられるコンピューティング・デバイスのうちでも、クライアントデバイスまたはモバイルコンピューティングデバイスでもよい。原稿ファイルを印刷する要求は、場合によっては、原稿ファイルを印刷する所望の設定を示す印刷ジョブ設定を含んでもよい。原稿ファイルは、有線または無線通信規格で受信することができる。
【００７８】
ステップ５０４において、方法５００は、第２のコンピューティング・デバイスから原稿ファイルを印刷する特定の印刷デバイスの選択を受信すること含む。場合によっては、原稿ファイルを印刷する要求は、所望の印刷デバイスの選択を含んでもよい。他の場合では、ユーザーが印刷デバイスを指定しないこともあり、その場合、第２のコンピューティング・デバイスのネットワーク内の相対的な位置、第２のコンピューティング・デバイスの印刷履歴、および／または第２のコンピューティング・デバイスに関連付けられているユーザーの傾向に基づいて、特定の印刷デバイスが自動的に選択されてもよい。
【００７９】
ステップ５０６において、方法５００は、第１のコンピューティング・デバイスに特定の印刷デバイス用のプリンタドライバーが保存されているかどうか判断することを含む。これは、保存されているプリンタドライバーを探索し特定の印刷デバイスに関連付けられているプリンタドライバーがすでに保存されているかどうか判断することを含んでもよい。実装例によっては、プリンタドライバーの表またはデータベースが第１のコンピューティング・デバイスに保存されていてもよく、ステップ５０６は、例えば、その特定の印刷デバイスの機種またはシリアル情報を使用して、その表またはデータベースのクエリを実行することも含み得る。プリンタドライバーがまだ第１のコンピューティング・デバイスに保存されていない場合、方法５００はステップ５０８に進む。プリンタドライバーが第１のコンピューティング・デバイスに保存されている場合、方法５００はステップ５０８を飛ばし、ステップ５１０に進む。
【００８０】
ステップ５０８において、方法５００は、広域ネットワーク通じてサーバー装置から第１のコンピューティング・デバイスにプリンタドライバーのデータを転送させることを含む。このステップは、サーバー装置からプリンタドライバーのコピーのダウンロードを要求することを含み得る。サーバー装置は、応答的にサーバー装置から第１のコンピューティング・デバイスにプリンタドライバーの送信を始めてもよい。一例として、プリンタドライバーの送信は、ＨＴＴＰデータ転送として行われてもよい。他の例として、プリンタドライバーの送信は、ＦＴＰデータ転送として行われてもよい。本明細書で説明されているように、「データ転送させること」とは、第１のコンピューティング・デバイスがサーバー装置からソフトウェアのダウンロードを要求すること、または開始することのどちらかを指すことを理解すべきである。様々な実施の形態において、第１のコンピューティング・デバイスは、実際的な情報の転送を容易にする場合もあれば、しない場合もある。
【００８１】
ステップ５１０において、方法５００は、プリンタドライバーを使用して、原稿ファイルを印刷ジョブに変換することを含む。上述してきたように、原稿ファイルを印刷ジョブに変換することは、プリンタドライバーを利用して、原稿ファイルデータを特定の印刷デバイスが理解し、解釈できるフォーマットに変換することを含み得る。場合によっては、このステップは、設定された印刷ジョブを生成するために、指定された印刷ジョブ設定（例えば、両面設定、色設定、ステープル設定）を適用することも、さらに含み得る。場合によっては、ユーザーが特定の印刷デバイスでは利用できない印刷ジョブ設定を指定することがあってもよい。このような場合、ユーザーは、それら印刷ジョブ設定は適用不能であると通知されるか、またはそれら設定は取り消しされることがある。実装例によっては、印刷ダイアログがユーザーに提供され、プリンタドライバーに応じて設定可能なオプションを表示し、特定の印刷デバイス用の考え得る設定可能な印刷ジョブ設定を明示することも可能である。
【００８２】
ステップ５１２において、方法５００は、特定の印刷デバイスに、印刷ジョブを実行するための命令を送信することを含む。ステップ５１２は、印刷ジョブを関連する任意の印刷設定と共に（指定されたか、または印刷ジョブ内に組み込まれたかによる）、特定の印刷デバイスに送信することを含み得る。実装例によっては、ステップ５１２は、また、印刷ジョブを実行する指令を送信することを含んでもよい。
【００８３】
実施形態によっては、プリンタ管理デバイスは、多数の印刷ジョブをスプール、または、そうでない場合は、キューに入れることもできる。これらの実施形態において、ステップ５１２は、予め要求された印刷ジョブの後に印刷ジョブをキューに入れること、そして、それらの予め要求された印刷ジョブの完了後、実行のため、印刷ジョブを送信することを含んでもよい。場合によっては、特定の印刷デバイスが、そのようなスプールまたはキュー入れを実行してもよい。
【００８４】
ステップ５０２から５１２は、図５で示される順序と異なる順序で行われてもよいと理解すべきである。様々なステップおよび操作もまた、並行して行われてもよい。描写された操作の順序は、説明的理由で提供されており、プリンタ管理デバイスを使用して印刷ジョブを実行するための操作の組み合わせの一例にすぎない。
【００８５】
図６は、例示の実施形態に係る方法を示すデータフロー図６００である。データフロー図６００は、プリンタ管理デバイス６１０、印刷デバイス６２０およびサーバー装置６３０の間を通る情報を描写する。より詳細には、データフロー図６００は、プリンタ管理デバイス６１０を使用して新しい印刷デバイスのファームウェアが印刷デバイス６２０で更新およびインストールされるプロセスを描写する。データフロー図６００は、システム内のデバイス間のデータフローの例を描写するにすぎないことに留意する。本出願で開示されたプリンタファームウェアの更新およびインストールを達成するため、様々な実装例で、図６に描写されたものと異なり、デバイスが少ないまたは追加されていることも、ステップが少ないまたは追加されていることも、あり得る。
【００８６】
はじめに、サーバー装置６３０は、新しい印刷デバイスのファームウェアが利用できることをプリンタ管理デバイス６１０に通知する。これは、例えば、印刷デバイスのメーカーが新しい印刷デバイスのファームウェアを発表したときに起こり得る。実装例によっては、メーカーが、プリンタ管理デバイス６１０等の１つ以上のコンピューティング・デバイスに、新しい印刷デバイスのファームウェアがダウンロードできると当該コンピューティング・デバイスに情報を与える通知を送信することもある。この通知は、新しく発表された印刷デバイスのファームウェアのバージョン情報を含み得る。
【００８７】
本明細書で言う「バージョン」は、アルファベットおよび／または数字の文字の任意の組み合わせを使用して表わしてよいと理解すべきである。「バージョン」は、１つのソフトウェアの特定のリリースを示す。従って、「新しい」バージョンは、前回のバージョンのリリース後に起きたソフトウェアのリリースを示す。バージョン情報の比較は、どちらが最新のバージョンかを判断する数字的な比較を含み得る。場合によっては、明白なバージョン情報が提供されない場合もあり、その場合、その特定のソフトウェアのリリースまたは発行日付がそのバージョンを成すこともある。
【００８８】
そして、プリンタ管理デバイス６１０は、サーバー装置６３０から新しい印刷デバイスファームウェアを要求する。サーバー装置６３０は、その後、新しい印刷デバイスファームウェアをプリンタ管理デバイス６１０に応答的に送信する。プリンタ管理デバイス６１０は、将来的な使用性のため、新しい印刷デバイスファームウェアのコピーをデータ記憶部に保存してもよい。
【００８９】
そして、プリンタ管理デバイス６１０は、現在印刷デバイス６２０にインストールされたファームウェアのバージョンについて、印刷デバイス６２０に要求を送信する。要求受信に応答して、印刷デバイス６２０は、続いて、現在インストールされたファームウェアのバージョン情報をプリンタ管理デバイス６１０に送信する。
【００９０】
そして、プリンタ管理デバイス６１０は、新しいファームウェア・バージョンがインストールされたファームウェアのバージョンより最近のものかどうか判断する。実装例によっては、現在インストールされたファームウェアの発行日またはリリース日が、新しい印刷デバイスのファームウェアの発行日またはリリース日と比較することも含み得る。
【００９１】
新しいファームウェア・バージョンが、印刷デバイス６２０にインストールされたファームウェアより新しいと判断したら、プリンタ管理デバイス６１０は、新しい印刷デバイスファームウェアを印刷デバイス６２０にインストールする。実施の一例として、これには、印刷デバイス６２０の一時的なストレージ場所に新しい印刷デバイスのファームウェアのコピーを送信することを含み得る。プリンタ管理デバイス６１０は、続いて、印刷デバイス６２０に「書き換える」または、そうでない場合は、新しい印刷デバイスのファームウェアをインストールするよう命令してもよい。
【００９２】
特定の実施の形態によっては、図６に描写された特定のステップは省略および／または他のステップが追加されてもよいことに留意する。実装例によっては、いくつかのステップは並行して行われても構わない。例えば、サーバー装置６３０から新しい印刷デバイスのファームウェアのダウンロードを要求することと印刷デバイス６２０からファームウェア・バージョンを要求することが同時に行われてもよい。情報の取得は、特別な実施状況に応じて、ブロッキングまたはノンブロッキングでも構わない。例えば、新しい印刷デバイスのファームウェアを受信することは、完了までに時間がかかる可能性があるため、プリンタ管理デバイス６１０は、ダウンロード中に同時に、印刷デバイス６２０からファームウェア・バージョンを要求してもよい。
［ＩＶ．例示の屋内測位］
【００９３】
図７は、例示の実施形態に係る屋内測位のシナリオ７００の図示例である。本例では、印刷デバイス７０２は、音波７０４を発するスピーカを有する。モバイルコンピューティングデバイス７０６は、印刷デバイス７０２の相対的な位置をその表示部に表示し、ユーザーを印刷デバイス７０２まで誘導する。
【００９４】
場合によっては、音波７０４は、人間の可聴域を超えた周波数であってもよい。例えば、音波７０４は、２０ｋＨｚを超える周波数の超音波であってもよい。
【００９５】
動作中、モバイルコンピューティングデバイスは、特定のプリンタで原稿を印刷するよう要求してもよい。プリンタ管理デバイスは、印刷ジョブを生成し、その印刷ジョブが印刷デバイス７０２で実行されるように送信してもよい。そして、プリンタ管理デバイスは、印刷デバイス７０２に特定の周波数で音波を発するように命令してもよい。プリンタ管理デバイスは、また、モバイルコンピューティングデバイス７０６にその特定の周波数で音波７０４を「聴く」ことを開始するように命令してもよい。モバイルコンピューティングデバイス７０６は、特定の周波数の音波を検知できる１つ以上のマイクロホンを備えていてもよい。様々なソフトウェアおよび／またはハードウェア技術を使用して、モバイルコンピューティングデバイス７０６は、周囲の音を除去して、音波７０４の特性を判別できる。これら判別された特性に基づいて、モバイルコンピューティングデバイス７０６は、印刷デバイス７０２のおおよその位置（距離および／または方向を含む）を判断し、続いて、そのおおよその位置をスクリーンに表示できる。
【００９６】
実装例によっては、モバイルコンピューティングデバイス７０６は、検知した音波７０４の振幅（すなわち、ボリューム）を判別してもよい。検知された振幅を既知の発した振幅と比較することによって、モバイルコンピューティングデバイス７０６と印刷デバイス７０２間の距離が推定できる。距離は、音波の距離に対する振幅の既知の減衰量に基づいて算出できる。
【００９７】
さらに、モバイルコンピューティングデバイス７０６は、印刷デバイス７０２のおおよその方向を判別することができる。実装例によっては、モバイルコンピューティングデバイス７０６は、既知の距離で隔てられた少なくとも２つのマイクロホンを有していることもある。各マイクロホンが音波を受けるまでにかかる時間の差を判別することで、印刷デバイス７０２の相対的な方向が判断できる。さらに、音波７０４が発せられた時刻がわかれば、印刷デバイス７０２からモバイルコンピューティングデバイス７０６の１つ以上のマイクロホンに音波７０４が伝わるまでにかかった時間を判断することを基準として利用し、印刷デバイス７０２の相対的な位置およびモバイルコンピューティングデバイス７０６から印刷デバイス７０２までの距離を判断できる。
【００９８】
場合によっては、多数の周囲の印刷デバイスが同時に音波を発して、多数のモバイルコンピューティングデバイスに屋内測位を提供している場合もある。これらの状況においては、プリンタ管理デバイスは、各印刷デバイスに分離した他とまったく別な周波数の音波を発するよう命令することもできる。そして、プリンタ管理デバイスは、関連付けられている印刷デバイスに対応する周波数を「聴く」ように各モバイルコンピューティングデバイスに命令することができる。特定の周波数を「聴く」こと、および他の周波数を除外することで、モバイルコンピューティングデバイスは、同時に多数の超音波がモバイルコンピューティングデバイスに到達している場合でも、ユーザーを正しい印刷デバイスまで誘導することができる。プリンタ管理デバイスは、様々な印刷デバイスの発する音の記録をつけ、それに応じて命令し、各印刷デバイスが異なる周波数の音波を発することを実現することができる。
【００９９】
図８は、例示の実施形態に係るモバイルコンピューティングデバイス８０２の屋内測位を示した略線図８００である。モバイルコンピューティングデバイス８０２は、屋内測位ユーザーインターフェース（本明細書では、「ナビゲーションインターフェース」と呼ぶこともある）が提供される表示部８０４を含む。屋内測位ユーザーインターフェースは、ユーザーの方向を表す矢印だけでなく、ユーザーの表示、印刷ジョブが実行される印刷デバイス８０６の位置の表示も含む。本例では、屋内測位ユーザーインターフェースは、前進し、左へ移動するようユーザーを導く矢印を表示して、ユーザーを印刷デバイス８０６に誘導する。
【０１００】
図８に示される図示例は、説明の目的のために提供されていることに留意する。屋内測位ユーザーインターフェースは、ユーザー、１つ以上の印刷デバイスおよびユーザーを印刷デバイス８０６に導く方向または経路を表示するグラフィカル要素の任意の組み合わせを使用して様々な形態を呈することができる。
［Ｖ．変形例］
【０１０１】
場合によっては、ユーザーは、印刷ジョブを行う印刷デバイスを選択しないこともあり得る。これらの場合、プリンタ管理デバイスは、印刷ジョブ行う印刷デバイスを自動的に選択してもよい。この印刷デバイスの自動選択は、１つ以上の要因に基づくことができる。一例として、ユーザーが登録された際、印刷デバイスの選択は、当該ユーザーの印刷履歴および／または当該ユーザーの設定した傾向に基づくことができる。他の例として、原稿を印刷する要求を送ったユーザーの位置が判断され、当該位置に近接範囲内の印刷デバイスが自動的に選択されることも可能である。また、別の例として、ユーザーは、特定の印刷デバイスでのみ実行できる印刷ジョブ設定を指定することもできる。そのような例においては、プリンタ管理デバイスは、自動的に選択された印刷デバイスが指定された印刷ジョブ設定を実行できることを確かにすることができる（例えば、カラー印刷が可能、両面印刷が可能、原稿をステープル可能）。
【０１０２】
他の場合において、ユーザーが、印刷ジョブを実行できない印刷デバイスを選択する可能性もある。印刷デバイスが印刷ジョブを完了できない、または、そうでない場合は、作動エラー（例えば、紙詰まり）、低量のインクおよび／またはトナーにより利用できない、または保守目的でシャットダウンあるいはオフラインにされることもある。プリンタ管理デバイスは、そのような場合、代替の印刷デバイスを選択してもよい。実施形態によっては、プリンタ管理デバイスは、ユーザーのクライアントデバイスまたはモバイルコンピューティングデバイスに、ユーザーの選択した印刷デバイスが利用できない旨を通知し、適切な代替を選択するよう促すこともできる。
【０１０３】
さらに、プリンタ管理デバイスは、ユーザーの原稿が印刷できるまで長い待機時間があることを検知できる（例えば、多数の印刷ジョブがスプールされている、またはキューにあるため）。これらの場合、プリンタ管理デバイスは、ユーザーのクライアントデバイスまたはモバイルコンピューティングデバイスに潜在的な遅れを通知し、ユーザーがそのような遅れの回避を望む場合、ユーザーに利用できる印刷デバイスを随意に選択するよう促すこともできる。
［ＶＩ．結論］
【０１０４】
上記の詳細な記述は、添付図面を参照して、開示されたシステム、デバイスおよび方法の様々な特徴および機能を説明している。本明細書において様々な態様および実施形態が開示されたが、他の態様および実施形態も明白であろう。本明細書において開示された様々な態様および実施形態は、説明の目的のためであり、限定することを意図されてはいない、そして真の範囲は以下の請求項により示されている。
符号の説明
【０１０５】
１００  画像形成装置
１０２  プロセッサ
１０４  データ記憶部
１０６  命令
１０８  脱着自在ストレージ・インターフェース
１１０  ネットワーク・インターフェース
１１２  プリンタ
１１４  スキャナ
１１６  ファクシミリユニット
１１８  制御ユニット
１２０  操作パネル
１２２  表示デバイス
１２４  入力デバイス
【図１】
2016189192.tif 000003
【図２】
2016189192.tif 000004
【図３】
2016189192.tif 000005
【図４Ａ】
2016189192.tif 000006
【図４Ｂ】
2016189192.tif 000007
【図５】
2016189192.tif 000008
【図６】
2016189192.tif 000009
【図７】
2016189192.tif 000010
【図８】
2016189192.tif 000011
【外国語明細書】
Method, Device, and System
FIELD
[0001] The present invention relates to a technique for software management of printing devices.
BACKGROUND
[0002] Unless otherwise indicated herein, the materials described in this section are not prior art to the claims in this application and are not admitted to be prior art by inclusion in this section.
[0003] Typically, a computing device requires a printer driver installed thereon in order to interface with a printing device.  The printer driver enables a computing device to convert a document into printable data for a particular printing device.  In some scenarios-such as office environments-many different printing devices may be connected to a network, each requiring installation of a different printer driver.  In these scenarios, a computing device typically needs to have installed thereon a printer driver for each of the printing devices.
[0004] Large office environments, for example, might have dozens-or perhaps hundreds-of printing devices within a single network.  Installing printer drivers for all printing devices on each user’s computing device may take considerable time and effort.  When all printer drivers are installed on a single computing device, a print dialog may prompt a user to select a desired printing device from the list of all printing devices.  Furthermore, a user may primarily print documents from a few printing devices, and thus require installation of only the few corresponding printer drivers; however, if a user wishes to print a document on a different printing device, that user must first install the corresponding driver.  
[0005] When a guest device enters the network, that device must first install a printer driver prior to printing any documents.  Moreover, as manufacturers provide updates to their printer drivers, each computing device typically must install the updated printer driver.  Thus, requiring the installation of printer drivers for each device separately may be inefficient and time consuming.
SUMMARY
[0006] The present application discloses embodiments that relate to a device, system, and method for managing printing device software and providing a common interface between computing devices and printing devices.  In one aspect, the present application describes a method.  The method involves receiving, at a first computing device, a request to print a document file from a second computing device.  The method also involves receiving a selection of a particular printing device with which to print the document file from the second computing device.  The method further involves performing a search operation to determine whether a printer driver for the particular printing device is stored on the first computing device.  Additionally, the method involves causing a data transfer of the printer driver from a server onto the first computing device over a wide area network upon determining that the printer driver is not stored on the first computing device.  Further, the method involves converting, using the printer driver, the document file into a print job.  The method also involves transmitting, to the particular printing device, instructions to execute the print job.
[0007] In another aspect, the present application describes a device.  The device includes a network interface, a storage medium, and at least one processor.  The network interface is configured to communicatively connect to a local network and a wide area network, wherein the local network includes one or more printing devices.  The storage medium is configured to store one or more printer drivers.  The at least one processor is configured execute instructions.  The instructions include receiving, via the network interface, a request to print a document file.  The instructions also include determining a particular printing device of the one or more printing devices with which to print the document file.  The instructions further include determining whether a particular printer driver for the particular printing device is among the one or more printer drivers stored on the storage medium.  Additionally, the instructions include upon determining that the particular printer driver is not stored on the storage medium, retrieving, via the network interface, the printer driver from a server over the wide area network.  Further, the instructions include converting, using the particular printer driver, the document file into a print job.  The instructions also include transmitting, to the particular printing device via the network interface, instructions to execute the print job.
[0008] In yet another aspect, the present application describes a system.  The system includes a printer management device, one or more printing devices, and a computing device.  The one or more printing devices are communicatively connected to the printer management device and configured to execute print jobs.  The computing device is communicatively connected to the printer management device and configured to request printing of a document file.  The printer management device is configured to store one or more printer drivers corresponding to the one or more printing devices.  The printer management device is also configured to retrieve and store the updated version of the given printer driver from a server over a wide area network upon determining that an updated version of a given printer driver of the one or more printer drivers is available.  The printer management device is further configured to convert the document file from the computing device into a print job using a particular printer driver of the stored one or more printer drivers.  Additionally, the printer management device is configured to instruct a particular printing device of the one or more printing devices associated with the particular printer driver to execute the print job.
[0009] In still another aspect, the present application describes a system.  The system includes a means for includes a means for receiving, at a first computing device, a request to print a document file from a second computing device.  The system also includes a means for receiving a selection of a particular printing device with which to print the document file from the second computing device.  The system further includes a means for performing a search operation to determine whether a printer driver for the particular printing device is stored on the first computing device.  Additionally, the system includes a means for causing a data transfer of the printer driver from a server onto the first computing device over a wide area network upon determining that the printer driver is not stored on the first computing device.  Further, the system includes a means for converting, using the printer driver, the document file into a print job.  The system also includes a means for transmitting, to the particular printing device, instructions to execute the print job.
[0010] The foregoing summary is illustrative only and is not intended to be in any way limiting.  In addition to the illustrative aspects, embodiments, and features described above, further aspects, embodiments, and features will become apparent by reference to the figures and the following detailed description.
BRIEF DESCRIPTION OF THE FIGURES
[0011] Figure 1 is a schematic block diagram illustrating an image forming apparatus, according to an example embodiment;
Figure 2 is a schematic block diagram illustrating a printing device, according to an example embodiment;
Figure 3 is a schematic block diagram illustrating a printer management device, according to an example embodiment;
Figure 4A is a schematic block diagram illustrating a system, according to an example embodiment;
Figure 4B is a schematic block diagram illustrating a system, according to an example embodiment;
Figure 5 is a flowchart illustrating a method, according to an example embodiment;
Figure 6 is a data flow diagram illustrating a method, according to an example embodiment;
Figure 7 is an example illustration of a scenario with indoor positioning, according to an example embodiment; and
Figure 8 is a schematic diagram illustrating indoor positioning on a mobile computing device, according to an example embodiment.
DETAILED DESCRIPTION
[0012] Example methods and systems are described herein.  Any example embodiment or feature described herein is not necessarily to be construed as preferred or advantageous over other embodiments or features.  The example embodiments described herein are not meant to be limiting.  It will be readily understood that certain aspects of the disclosed systems and methods can be arranged and combined in a wide variety of different configurations, all of which are contemplated herein.
[0013] Furthermore, the particular arrangements shown in the Figures should not be viewed as limiting.  It should be understood that other embodiments might include more or less of each element shown in a given Figure.  Further, some of the illustrated elements may be combined or omitted.  Yet further, an example embodiment may include elements that are not illustrated in the Figures.
I.    Overview
[0014] An example embodiment involves managing printing device software and providing a common interface between computing devices and printing devices.  A computing device-such as a printer management device as described herein-may be communicatively situated between computing devices on a network and printing devices on a network.  Such a printer management device may have installed thereon printer drivers for each of the printing devices within the network.  This printer management device may receive a document file from a computing device with a request to print that document file with a particular printing device.  The printer management device may then generate a print job based on that received document file using the printer driver corresponding to that particular printing device installed thereon and transmit that print job to the particular printing device to be executed.  Thus, a computing device communicating through the printer management device does not require installation of printer drivers in order to perform printing. 
[0015] In some embodiments, the printer management device may automatically update the printer drivers as new versions of those drivers become available.  The printer management device might periodically check for updates from a server or through a manufacturer’s website.  In some cases, the printer management device may receive a notification indicating that new drivers are available for download.  Regardless of the implementation, the printer management device may download and install the latest printer drivers for each printing device within the network automatically.
[0016] Some printing devices may run a firmware, operating system, or other low-level software that controls various operational aspects of the printing device.  The printer management device may store thereon copies of the latest firmware for various printing devices within the network.  Similarly to the printer drivers, the printer management device may automatically download the latest versions of these firmwares as they become available.  Upon downloading a newer firmware version, the printer management device may install the newer firmware on the corresponding printing device or devices.  Note that “firmware” may refer to any combination of low-level software components, including drivers for various components of the printing device, memory management software, network interfacing software, and any other kind of operating system-type software.
[0017] When a new printing device is added to the network, the printer management device may detect that new printing device and determine whether software associated with that printing device is already installed and/or stored on the printer management device.  If the printer driver and/or firmware is not already installed and/or stored, the printer management device may automatically download the missing software.  Additionally, the printer management device might check the firmware on the new printing device and, in some situations, install a newer version of that firmware automatically.
[0018] The printer management device may, in some implementations, maintain status information for various printing devices on the network.  When a particular printing device experiences an operational error, the printer management device may be notified of that error and prevent users from printing from that particular printing device.
[0019] The printer management device and methods of the present application provide an interface between computing devices and printing devices within a network.  In this manner, computing devices do not require installation of printer drivers for each printing device within the network.  Thus, even guest devices and/or mobile devices may be able to print from various printing devices within a network with such a printer management device, without having to install any printer drivers.  
[0020] The printer management device may provide a variety of other benefits by acting as an intermediate device between computing devices and printing devices.  For example, the printer management device might interface with cloud storage services in order to enable printing of document files stored on a remote server.  The various benefits of providing such an intermediate device are contemplated herein.
II.   Example Image Forming Apparatuses
[0021] Figure 1 is a schematic block diagram of illustrating an image forming apparatus 100, according to an example embodiment.  The image forming apparatus 100 includes processor(s) 102, data storage 104 that has stored thereon instructions 106, a removable storage interface 108, a network interface 110, a printer 112, a scanner 114, a facsimile (FAX) unit 116, a control unit 118, and an operation panel 120 that includes a display device 122 and an input device 124.  Each unit of image forming apparatus 100 may be connected to a bus, allowing the units to interact with each other.  For example, the processor(s) 102 may request information stored on data storage 104.
[0022] The processor(s) 102 may include one or more processors capable of executing instructions, such as instructions 106, which cause the image forming apparatus 100 to perform various operations.  The processor(s) 102 may include general-purpose central processing units (CPUs) and cache memory.  The processor(s) 102 may also incorporate processing units for specific purposes, such as application-specific integrated circuits (ASICs) and field-programmable gate arrays (FPGAs).  Other processors may also be included for executing operations particular to image forming apparatus 100.
[0023] The data storage 104 may store thereon instructions 106, which are executable by the processor(s) 102.  The data storage 104 may also store information for various programs and applications, as well as data specific to the image forming apparatus 100.  For example, the data storage 104 may include data for running an operating system (OS).  In addition, the data storage 104 may store user data that includes various kinds of information about any number of users.  The data storage 104 may include both volatile memory and non-volatile memory.  Volatile memory may include random-access memory (RAM).  Some examples of non-volatile memory include read-only memory (ROM), flash memory, electrically erasable programmable read only memory (EEPROM), digital tape, a hard disk drive (HDD), and a solid-state drive (SSD).  The data storage 104 may include any combination of readable and/or writable volatile memories and/or non-volatile memories, along with other possible memory devices. 
[0024] The removable storage interface 108 may allow for connection of external data storage, which may then be provided to the processor(s) 102 and/or the control unit 118 or copied into data storage 104.  The removable storage interface 108 may include a number of connection ports, plugs, and/or slots that allow for a physical connection of an external storage device.  Some example removable storage devices that may interface with image forming apparatus 100 via the removable storage interface 108 include USB flash drives, secure-digital (SD) cards (including various shaped and/or sized SD cards), compact discs (CDs), digital video discs (DVDs), and other memory cards or optical storage media. 
[0025] The network interface 110 allows the image forming apparatus 100 to connect to other devices over a network.  The network interface 110 may connect to a local-area network (LAN) and/or a wide-area network (WAN), such as the Internet.  The network interface 110 may include an interface for a wired connection (e.g. Ethernet) and/or wireless connection (e.g. Wi-Fi) to a network.  The network interface 110 may also communicate over other wireless protocols, such as Bluetooth, radio-frequency identification (RFID), near field communication (NFC), 3G cellular communication such as CDMA, EVDO, GSM/GPRS, or 4G cellular communication, such as WiMAX or LTE, among other wireless protocols.  Additionally, the network interface 110 may communicate over a telephone landline.  Any combination of wired and/or wireless network interfaces and protocols may be included in network interface 110.
[0026] The printer 112 may be any device or peripheral capable of producing persistent human-readable images and/or text on a printing medium, such as paper.  The printer 112 may receive print data from other units of image forming apparatus 100 representing images and/or text for printing.  The printer 112 may employ a variety of technologies, such ink-based printing, toner-based printing, and thermal printing, among other technologies.  An assortment of mechanical and/or electro-mechanical devices may make up the printer 112 to facilitate the transportation of printing media and the transferring of images and/or text onto the printing media.  For example, the printer 112 may include trays for the storage and staging of printing media and rollers for conveying the printing media through the printer 112.  The printer 112 may also include ink heads for dispensing ink onto a printing medium, photosensitive drums onto which lasers are shone to charge the drums and attract toner that is transferred onto a printing medium, and/or a thermal head for heating certain areas of a printing medium to generate images and/or text.  Other devices may also be incorporated within printer 112.
[0027] The scanner 114 may be any device that can scan a document, image, or other object (which may collectively be referred to as “scanning medium” hereinafter) and produce a digital image representative of that scanning medium.  The scanner 114 may emit light (e.g. via LEDs) onto the scanning medium and sense the light reflecting off the scanning medium (e.g. via a charge coupled device (CCD) line sensor or a complementary metal oxide semiconductor (CMOS) line sensor).  In some implementations, the scanner 114 includes a platen glass onto which a document may be placed to be scanned.  In addition, the scanner 114 may perform post-processing on the scanned image, such as rotation, compression of the data, and/or optical character recognition (OCR), among other post-processing operations.
[0028] The facsimile unit 116 may scan a document and/or images (which may be collectively referred to as “printed material” hereinafter) and transmit the scanned printed material over a telephone line (i.e. fax the scanned printed material).  The facsimile unit 116 may fax the scanned printed material via the network interface 110.  The facsimile unit 116 may also receive a fax transmission and communicate the received data to the printer 112 for printing.  In some implementations, the facsimile unit 116 includes buttons for configuring the facsimile unit 116 and dialling a phone number and a display for displaying the status of the fax transmission, among other things.
[0029] The control unit 118 may control various electrical and/or mechanical components of the image forming apparatus 100.  For example, the control unit 118 may operate one or more paper sheet feeders, conveyors, rollers, and other mechanical devices for transporting paper through the printer 112.  The control unit 118 may also include device drivers that facilitate network communication, electronic displays, and the reading of information from various sensors or readers coupled to the image forming apparatus 100.  In some implementations, the control unit 118 is a software application or program that interfaces the processor(s) 102 with the various units of the image forming apparatus 100.
[0030] The operation panel 120 includes a display device 122 and an input device 124 for facilitating human interaction with the image forming apparatus 100.  The display device 122 may be any electronic video display, such as a liquid-crystal display (LCD).  The input device 124 may include any combination of devices that allow users to input information into the operation panel 120, such as buttons, a keyboard, switches, and/or dials.  In addition, the input device 124 may include a touch-screen digitizer overlaid onto the display device 122 that can sense touch and interact with the display device 122.
[0031] Figure 2 is a schematic block diagram illustrating a printing device 200, according to an example embodiment.  The printing device 200 includes an acoustic transducer 202, a wireless radio transceiver 204, and a control unit 206.  The control unit 206 may include indoor positioning unit 208 and proximity sensing unit 210.  The printing device 200 may also include any combination of units of image forming apparatus 100.
[0032] The acoustic transducer 202 may be a device, such a speaker, capable of producing sound waves.  The acoustic transducer 202 may be configured to emit sound waves within a particular frequency band.  In some implementations, the acoustic transducer 202 may be a speaker capable of emitting ultrasound (e.g. 20 kHz to 80 kHz, among other possible frequencies).  In other implementations, the acoustic transducer 202 may be a speaker capable of emitting infrasound (e.g. 5 Hz to 20 Hz, among other possible frequencies).  Regardless of the particular implementation, the acoustic transducer 202 may be configured to emit human-inaudible sound waves.  The acoustic transducer 202 may interface with the indoor positioning unit 208 in order to provide indoor positioning capabilities to assist a user in locating the printing device 200.
[0033] The wireless radio transceiver 204 may include an antenna and control circuit configured to emit electromagnetic waves of a particular frequency.  The wireless radio transceiver 204 may emit any combination of Wi-Fi (including 802.11a/b/g/n/ac operating around 2.4 GHz and/or 5 GHz Wi-Fi bands, among other possible Wi-Fi standards), Wi-Fi Direct, and/or Bluetooth signals.  Regardless of the particular implementation, the wireless radio transceiver 204 may be configured to emit electromagnetic signals detectable by, for example, mobile computing devices.  The wireless radio transceiver 204 may interface with the indoor positioning unit 208 and/or the proximity sensing unit 210 in order to provide indoor positioning capabilities to assist a user in locating the printing device 200.
[0034] The control unit 206 may be a combination of hardware and/or software configured to control electrical and/or mechanical components of the printing device 200.  The control unit 206 may be implemented as software instructions executed by a processor.  In some embodiments, the control unit 206 may be implemented as firmware.  Various operational aspects of the printing device 200 may be controlled through the control unit 206.  Operations of printing device 200 may be invoked from instructions by a computing device, such as printer management device 300.
[0035] The indoor positioning unit 208 may control the acoustic transducer 202 and/or the wireless radio transceiver 204 in order to act as a basis for an indoor positioning system.  As described herein with respect to Figure 7 and Figure 8, a printing device may emit sound waves and/or electromagnetic waves detectable by a mobile computing device.  A user operating a mobile computing device may be guided to the printing device 200 emitting such sound and/or electromagnetic waves by an on-screen user interface, for example.  During operation, the printer management device 300 may instruct the printing device 200-through the control unit 206 to the indoor positioning unit 208-to cause the acoustic transducer 202 to emit sound waves at a designated frequency and/or cause the wireless radio transceiver 204 to emit electromagnetic waves at a designated frequency or channel.  A mobile computing device may then be informed to detect sound waves at that designated frequency and/or detect electromagnetic waves at that designated frequency or channel, and use certain aspects of those waves (i.e. the detected amplitude of those waves compared to a known emitted amplitude) in order to direct a user to the printing device 200.
[0036] The proximity sensing unit 210 may operate in conjunction with indoor positioning unit 208 in order to provide indoor positioning.  In some implementations, the wireless radio transceiver 204 may also receive signals from a mobile computing device.  The proximity sensing unit 210 may estimate the distance between the printing device 200 and the mobile computing device based on the relative amplitudes of exchanged electromagnetic waves.
[0037] Note that a “unit” as referred to herein may refer to a device, component, module, or other combination of electrical and/or mechanical elements that accomplish a particular task.  In some instances, a unit may refer to a physical device that performs certain activities, such as the facsimile unit 116.  In other instances, a unit may refer to a software module that executes operations for a certain purpose, such as the indoor positioning unit 208.  Regardless of the combination of hardware and software components that make up a unit, it should be understood that units are operable to accomplish certain tasks, and may interact with other units through hardware and/or software interfaces.
[0038] Image forming apparatuses and printing devices referred to herein may incorporate any combination of components from image forming apparatus 100 and/or printing device 200, among other possible components.  For instance, an image forming apparatus may include a power supply that converts electrical power for use by various components.  It should be understood that other additional components might also be included on a particular image forming apparatus.
[0039] Figure 3 is a schematic block diagram illustrating a printer management device 300, according to an example embodiment.  The printer management device 300 includes processor(s) 302, memory 304, operation panel 306, network interface(s) 308, printer software maintenance unit 310, print data rendering unit 312, and data storage 314.  The data storage 314 may include printer driver(s) 316, printer firmware(s) 318, printer status information 320, user information 322, and printing device management application 324.
[0040] The processor(s) 302 may include one or more processors capable of executing software, such as printing device management application 324, which cause the printer management device 300 to perform various operations.  The processor(s) 302 may include general-purpose central processing units (CPUs) and cache memory.  The processor(s) 302 may also incorporate processing units for specific purposes, such as application-specific integrated circuits (ASICs) and field-programmable gate arrays (FPGAs).  Other processors may also be included for executing operations particular to printer management device 300.
[0041] The memory 304 may be any volatile storage device-such as random-access memory (RAM)-that provides a temporary storage location and memory space for software executed on the printer management device 300.
[0042] The operation panel 306 may be any combination of software and/or hardware that provides an interface through which a user can perform various operations of the printer management device 300.  In some implementations, the operation panel 306 may include a display unit-such as a liquid crystal display (LCD)-and an input unit (e.g. a touch-screen digitizer, a mouse, a keyboard, and/or other buttons).  The operation panel 306 may display thereon a user interface through which various operations may be performed.  For example, the operation panel 306 may present a navigable interface through which a user can view the operational status of various printing devices on the network. 
[0043] In some embodiments, the operation panel 306 may be implemented in software without a separate hardware component.  In these embodiments, the user interface elements of the operation panel 306 may be transmitted to a user’s computing device and remotely displayed thereon.  In some cases, the operation panel 306 may be configured on a per-user basis, such that each user may be presented with a personalized operation panel 306 on that user’s computing device.   
[0044] In some implementations, a client device or a mobile computing device may run a program or application that displays such a remote operation panel.  The printer management device 300 may transmit information about the user’s preferences to the client device or mobile computing device.  Some example operations that can be performed via the operation panel include checking the status of various printing devices, configuring preferred printing devices for a particular user, directing failed print jobs to alternative printing devices, and executing maintenance operations, among other possible operations.
[0045] The network interface(s) 308 may be any combination of wired Ethernet, Wi-Fi (e.g. 802.11a/b/g/n/ac operating in the 2.4 GHz and/or 5 GHz Wi-Fi bands, among other possible Wi-Fi standards), Wi-Fi Direct, Bluetooth, and/or any other wired or wireless communication standard.  The network interface(s) may provide communicative connections to computing devices and printing devices within a particular network.  The printer management device 300 may connect to a local network through the network interface(s) 308.  In some implementations, a computing device may communicate directly to the printer management device 300 over Wi-Fi Direct or Bluetooth, without being connected to such a local network. 
[0046] The printer software maintenance unit 310 may perform downloading, updating, and installation of various printer software on the printer management device 300 and/or on printing devices within the network.  The printer software maintenance unit 310 may update the printer driver(s) 316 and/or the printer firmware(s) 318 when newer versions of those drivers or firmwares become available.  In some cases, the printer software maintenance unit 310 may receive notifications that newer versions of printer driver(s) 316 and/or the printer firmware(s) 318 are available and responsively request to download those drivers or firmwares.  Additionally, the printer software maintenance unit 310 may detect the addition of a new printing device on the local network and may responsively request to download the printer driver and/or firmware associated with that new printing device.
[0047] The print data rendering unit 312 may convert document files into printable data (which may also be referred to herein as “print jobs”) using printer driver(s) 316.  Such a conversion might involve color conversion, rasterization, and other techniques to interpret a document file and convert that information into data that can be understood and printed by a printing device.  In some implementations, the print data rendering unit 312 may also configure print jobs based on received print job settings (e.g. duplex, color, stapling, and/or paper size options, among other print job settings).  A user requesting to print a document file may specify one or more of these print job settings, which may be received at the print data rendering unit 312 and used as a basis to configure the printing options for the print job.  In some cases, the print data rendering unit 312 may apply default print job settings for a particular printing device when none are otherwise specified.
[0048] The data storage 314 may store thereon instructions 106, which are executable by the processor(s) 302.  The data storage 314 may also store information for various programs and applications, as well as data specific to the printer management device 300.  For example, the data storage 314 may include data for running an operating system (OS).  In addition, the data storage 314 may store user data that includes various kinds of information about any number of users.  The data storage 314 may include both volatile memory and non-volatile memory.  Volatile memory may include random-access memory (RAM).  Some examples of non-volatile memory include read-only memory (ROM), flash memory, electrically erasable programmable read only memory (EEPROM), digital tape, a hard disk drive (HDD), and a solid-state drive (SSD).  The data storage 314 may include any combination of readable and/or writable volatile memories and/or non-volatile memories, along with other possible memory devices.
[0049] The printer driver(s) 316 may be one or more printer drivers corresponding to printing devices connected to a local network.  In some cases, the printer management device 300 may store printer drivers for all printing devices provided by a particular manufacturer.  In various implementations, the printer driver(s) 316 may be updated automatically.  Additionally, when a new printing device connects to the local network, the printer driver for that printing device may be automatically downloaded and included within the printer driver(s) 316.
[0050] The printer firmware(s) 318 may be one or more printer firmwares corresponding to printing devices connected to a local network.  In some cases, the printer management device 300 may store printer firmwares for all printing devices provided by a particular manufacturer.  In various implementations, the printer firmware(s) 318 may be updated automatically.  Additionally, when a new printing device connects to the local network, the printer firmware for that printing device may be automatically downloaded and included within the printer firmware(s) 318.
[0051] In some implementations, the data storage 314 may store a table or database cataloguing the printer driver(s) 316 and printer firmware(s) 318 stored thereon.  Such a table or database may include information about printing device models and the version of the currently stored drivers and firmwares for each model.  When a new printing device connects to the network, the printer management device 300 may check the table or database to first determine whether the printer drivers and firmware are already stored on the data storage 314. 
[0052] The printer status information 320 may be maintained by the printer management device 300 and used as a basis to determine whether or not a particular printing device is available for printing.  Some example information that may be included within printer status information 320 includes whether a printing device is currently printing, a number of “spooled” print jobs for a printing device, the ink and/or toner levels of a printing device, and/or whether an error (e.g. a paper jam) has occurred on a printing device.  This information may be gathered by the printer management device 300 by sending queries to each printing device connected to the network and receiving responses containing each printing device’s status information.  Some printing devices may also transmit status information to the printer management device 300 in certain circumstances (e.g. when an error occurs that prohibits execution of print jobs until that error is addressed).  Regardless of the manner in which the printer management device 300 receives the printer status information 320, the printer management device 300 may use such information in order to prevent users from printing at unavailable (e.g. busy or offline) printing devices.  In some embodiments, the printer management device 300 may automatically redirect a print job if an originally-designated printing device is unavailable.
[0053] The user information 322 may include credentials, preferences, and other information associated with one or more users.  The printer management device 300 may provide personalized services to registered users, such as a customized operation panel 306.  As another example, user information 322 may include information pertaining to a user’s printing history and/or a user’s preferred printing devices, among other possible information.  The user information 322 may be used as a basis to authenticate a user.  In some implementations, one or more client devices and/or mobile computing devices may be associated with a given user, such that when a user operates those client devices or mobile computing devices, personalized options are provided thereto.
[0054] In some embodiments, the printer management device 300 may require a user to be authenticated before executing a print job.  In some circumstances, it may be desired to prevent unauthorized or unauthenticated users from printing through the printer management device.  Thus, the printer management device 300 may first determine whether a user requesting execution of a print job is authenticated or authorized to perform printing.  If a user is unrecognized or otherwise not authenticated or authorized to perform printing, the printer management device 300 may prevent or otherwise stop the transmission of the print job to a printing device.
[0055] The printing device management application 324 may be any combination of software, programs, applications, and/or services configured to perform the various operational functions of the printer management device 300 as described herein.  The printing device management application 324 may interface with the printer software maintenance unit 310 to update printer driver(s) 316, printer firmware(s) 318, and/or printer status information 320.  The printing device management application 324 may also utilize the printer driver(s) 316 and the print data rendering unit 312 in order to generate print jobs based on received document files.  The printing device management application 324 may include software modules for executing operations and methods of the printer management device 300 described in the present application.
[0056] The printer management device 300 may be referred to herein as a “printing box” and/or a “universal printing box.”  It should be understood that “box” may refer to an example form factor of such a printer management device 300, according to some implementations.  It should also be understood that “universal” refers to the printer management device’s role as a central hub that may facilitate any combination of software updates, software installations, printing, and data access over a local network and/or wide area network.  The term “universal” may simply be used to designate the printer management device from other computing devices, such as client devices, desktop computers, mobile computing devices, and tablet devices.
III.  Example Systems
[0057] Figure 4A is a schematic block diagram illustrating a system 400, according to an example embodiment.  The system 400 includes printer management device 402, client device 404, mobile computing device 406, first printing device 410, second printing device 412, third printing device 414, cloud storage 418, and printer software 420.  The printer management device 402, client device 404, mobile computing device 406, and printing devices 410, 412, and 414 may be communicatively connected within local network 422.  The printer management device 402 may also be communicatively connected to the cloud storage 418 and printer software 420 over the Internet 416.
[0058] The printer management device 402 may be the same as or similar to the printer management device 300 described above with respect to Figure 3.  The printer management device 402 may provide a common interface through which computing devices can execute print jobs on printing devices 410, 412, and 414 without requiring installation of printer drivers for those printing devices.  During operation, a computing device requesting execution of a print job may transmit a document file over the local network 422 to the printer management device 402, which may then generate the print job and transmit that generated print job over to one or more of the printing devices 410, 412, and 414.
[0059] The client device 404 may be a desktop computing device connected to the printer management device 402 over local network 422.  In some configurations, the client device may be connected to local network 422 over a wired connection, such as Ethernet.  The client device 404 might have local storage containing document files, from which a user may select a particular document file to be printed.  The client device 404 might also request printing of documents stored in the cloud storage 418.  In some cases, the client device 404 may not have any printer drivers stored thereon.
[0060] The mobile computing device 406 may be a smartphone or tablet device wirelessly connected to the printer management device 402.  The wireless connection 408 may be Wi-Fi, Wi-Fi Direct, and/or Bluetooth, among other possible wireless communication standards.  In some instances where an administrator wishes to keep a local network secure and only permit trusted users to connect thereto, the mobile computing device 406 may connect directly-over Wi-Fi Direct or Bluetooth-to the printer management device 402.  This may be desired when a mobile computing device is associated with a guest user, for example.  The mobile computing device 406 may have document files stored on local storage and request printing of such locally-stored document files through the printer management device 402.  In some instances, the mobile computing device 406 may request printing of one or more documents stored in the cloud storage 418. 
[0061] In some configurations the mobile computing device 406 may alternatively and/or additionally be wirelessly connected to the local network 422.  For example, the mobile computing device 406 may be associated with an employee that commonly works within a given office environment.  In this example, the mobile computing device 406 may be permitted access to the local network 422 (i.e. has network credentials necessary to be authenticated and connected to the local network 422).  However, if the mobile computing device 406 is associated with a guest user that does not require access to the local network 422, it may be connected wirelessly directly to the printer management device 402, as shown in Figure 4A.
[0062] The printing devices 410, 412, and 414 may be various kinds of image forming apparatuses capable of executing print jobs.  Each printing device might have installed thereon a firmware of a particular version.  The printer management device 402 may download updated version of those firmwares and install them on the printing devices upon completion of those downloads.  The printing devices 410, 412, and 414 may be configured to transmit information about the printing device to the printer management device 402 via the local network 422.  For example, the printer management device 402 may request information about the model of a printing device, or may also request the version information of the firmware currently installed on a printing device.  The printing devices 410, 412, and 414 may respond to such requests with the requested-for information.  Furthermore, in some embodiments, one or more of the printing devices 410, 412, and 414 may transmit status information about various operational aspects of the printing device to the printer management device 402.
[0063] Certain printing devices, such as the first printing device 410, may be multi-function peripherals (MFPs) capable of performing other functions, such as scanning and/or facsimile operations.  In some embodiments, scan data produced from a scanned document at the first printing device 410 may be sent to the printer management device 402.  The printer management device 402 may store the scan data temporarily or for a long duration, depending on the particular embodiment.  In some cases, the printer management device 402 may forward on the scan data to one or more client devices and/or mobile computing devices. 
[0064] In some implementations, the printer management device 402 may email the scan data to one or more email addresses upon receiving the scan data.  In some embodiments, the printer management device 402 may be configured to transmit the scan data for storage on a remote server or to cloud storage 418. 
[0065] The Internet 416 may be any wide area network through which the printer management device 402, the cloud storage 418, and the printer software 420 are communicatively connected.
[0066] The cloud storage 418 may be a storage device of a server that stores document files.  The client device 404 and/or the mobile computing device 406 may view the document files stored on the cloud storage 418 and request the printing of one or more of those documents through the printer management device 402.  In some cases, the cloud storage may be a private or commercial cloud storage service.  In some implementations, requesting to print a document file from cloud storage 418 may involve transmitting a link or other reference to the printer management device 402 to that remotely-stored document file.  Such a request may also include login credentials required to authenticate the user before retrieving documents stored the cloud storage 418.  Then, printer management device 402 may generate a print job based on the retrieved document file from the cloud storage 418. 
[0067] The printer software 420 may be any combination of printer drivers and/or printer firmware stored on a remote server.  The printer software 420 may be server provided by a printing device manufacturer.  In some cases, the printer management device 402 may request version information of drivers and/or firmware from the printer software 420.  If newer versions of the drivers and/or firmware become available, the printer management device 402 may request to download those newer drivers and/or firmware from the printer software 420.  In some implementations, the printer software 420 may notify the printer management device 402 that newer versions of drivers and/or firmware have been uploaded and are available for download.
[0068] In various implementations, a printer management device 402 may be configured to responsively “pull” or otherwise retrieve printing device drivers upon detecting a newly connected printing device.  Note that, although the following discussion describes automatic retrieval and updating of printer drivers, it should be understood that such operations may be applied to other printer software as well, such as printing device firmwares.  When a new printing device connects to the network, the printer management device 402 may obtain an IP address of that newly connected printing device.  Then, the printer management device 402 might detect the type and/or model of that newly connected printing device.  In some implementations, the printing device might provide information such as its serial number, model number, and/or manufacturer in response to a request for such information.
[0069] The printer management device 402 might then determine whether the drivers for that printing device are already stored thereon.  If the drivers are not stored on the printer management device 402, the printer management device 402 may initiate the download or request to download the drivers.  If a printer driver for that newly connected printing device is already stored on the printer management device 402, the printer management device 402 may check to ensure that it is the most current version of the printer driver.  If a newer version is available, the printer management device 402 may, in some implementations, download the newer version.
[0070]  The printer management device 402 may also determine whether the latest firmware is installed on the printing device.  If the version of the currently-installed firmware is older than the version of the firmware stored on the printer management device 402, the printer management device 402 may install the stored firmware onto the newly connected printing device.
[0071] The local network 422 may be provided with a combination of routers and/or network switches that are configured to provide a local network 422 connection for the client device 404, the mobile computing device 406 (in some cases), and the printing device 410, 412, and 414.  It should be understood that the local network 422 may include a variety of computing and/or routing devices that collectively form the local network 422.  Certain devices, such as client device 404, may be connected to the local network 422 over a wired connection (e.g. over Ethernet).  Other devices, such as mobile computing device 406 (in some cases), may connect to the local network 422 over a wireless connection (e.g. over Wi-Fi, among other possible wireless connection standards).  The local network 422 may be referred to as a “local area network” (LAN) herein.
[0072] It should be understood that the system 400 is an example system that is provided for explanatory purposes.  Any combination of mobile devices, computers, laptops, servers, storage devices, and/or other terminal apparatuses connected in a variety of ways may be implemented within a particular system.  Certain devices shown within system 400 in Figure 4A may or may not be required to carry out various methods of the present application; that is, some methods of the present application might not require every device shown in Figure 4A to be present within system 400.
[0073] Figure 4B is a schematic block diagram illustrating a system 430, according to an example embodiment.  The system 430 is similar to system 400 shown in Figure 4A, except that the local network 422 is omitted in system 430.  In some scenarios, an administrator may wish to keep devices connected within an environment secure.  In these scenarios, the printer management device 402 may serve as an access point through which devices within the network can communicate with each other.  As illustrated in Figure 4B, the printer management device 402 may be communicatively situated between the computing devices-such as the client device 404 and the mobile computing device 406-and the printing devices 410, 412, and 414.  Additionally, in order to access the cloud storage 418 and/or printer software 420 via the Internet 416, one or more of the devices may first need to communicate through the printer management device 402.  In this manner, the security of the printing devices 410, 412, and 414, as well as the client device 404 and mobile computing device 406, can be improved.
[0074] In some embodiments, the printer management device 402 may act to filter out unauthorized or unsecured connections from over the Internet 416 to a computing device or printing device within system 430.  Thus, a computing device and/or printing device within system 430 that wishes to execute a print job based on a document file from cloud storage 418 must request to do so through the printer management device 402.  In this manner, the printer management device 402 may determine whether or not requested document files within the cloud storage 418 are safe, and may prevent the downloading of potentially dangerous document files (e.g. those that might contain malware, viruses, or other cyber threats).
[0075] It should be understood that a system of the present application may be any combination of devices and networks in system 400 in Figure 4A and system 430 in Figure 4B.  For example, the printer management device 402 may directly connect (over a wired and/or wireless connection) to one or more of the printing devices 410, 412, and 414, which may then connect to local network 422.  That local network 422 may have connected therein other printing devices and/or computing devices.  Thus, any combination of local network connections and printer management device 402 connections may exist, depending upon the particular embodiment.
IV.   Example Methods
[0076] Figure 5 is a flowchart illustrating a method 500, according to an example embodiment.  The method 500 may be one example set of operations that collectively performs printing of a document through a printer management device.   Operations of method 500 may, for example, be performed on printer management device 300 shown in Figure 3 or on printer management device 402 shown in Figure 4A and/or Figure 4B. 
[0077] At step 502, the method 500 involves receiving, at a first computing device, a request to print a document file from a second computing device.  The first computing device may be a printer management device as described above.  The second computing device may be a client device or a mobile computing device, among other possible computing devices.  The request to print a document file may, in some cases, include print job settings indicative of desired settings with which to print the document file.  The document file may be received over a wired or wireless communication standard.
[0078] At step 504, the method 500 involves receiving a selection of a particular printing device with which to print the document file from the second computing device.  In some instances, the request to print the document file may contain a selection of a desired printing device.  In other instances, a user may not designate a printing device, in which case a particular printing device may be selected automatically based on the second computing device’s relative location within the network, the second computing device’s printing history, and/or preferences of a user associated with the second computing device.
[0079] At step 506, the method 500 involves determining whether a printer driver for the particular printing device is stored on the first computing device.  This may involve searching the stored printer drivers to determine if the printer driver associated with the particular printing device is already stored.  In some implementations, a table or database of printer drivers may be stored on the first computing device, and step 506 might involve querying that table or database using, for example, model or serial information of that particular printing device.  If the printer driver is not already stored on the first computing device, the method 500 advances to step 508.  If the printer driver is stored on the first computing device, the method 500 skips step 508 and advances to step 510.   
[0080] At step 508, the method 500 involves causing a data transfer of the printer driver from a server onto the first computing device over a wide area network.  This step might involve requesting to download a copy of the printer driver from the server.  The server may responsively initiate a transmission of the printer driver from the server to the first computing device.  As one example, the transmission of the printer driver may be performed as an HTTP data transfer.  As another example, the transmission of the printer driver may be performed as an FTP data transfer.  It should be understood that, as described herein, “causing a data transfer” refers to the first computing device either requesting or initiating a download of software from a server.  In various embodiments, the first computing device may or may not facilitate that actual transfer of the information.
[0081] At step 510, the method 500 involves converting, using the printer driver, the document file into a print job.  As described above, converting a document file into a print job may involve utilizing the printer driver to convert the document file data into a format that can be understood and interpreted by the particular printing device.  In some instances, this step may additionally involve applying specified print job settings (e.g. duplex settings, color settings, stapling settings, etc.) to produce a configured print job.  In some cases, a user may specify print job settings that are unavailable for a particular printing device; in these cases, the user may be notified that those print job settings cannot be applied, or those settings may be ignored.  In some implementations, a print dialog may be provided to the user that displays configurable options based on the printer driver, which may specify possible configurable print job settings for the particular printing device. 
[0082] At step 512, the method 500 involves transmitting, to the particular printing device, instructions to execute the print job.  Step 512 may involve transmitting the print job, along with any associated print settings (depending upon whether they are specified or incorporated within the print job), to the particular printing device.  In some implementations, step 512 may also involve transmitting a command to execute the print job.
[0083] In some embodiments, a printer management device may spool or otherwise queue multiple print jobs.  In these embodiments, step 512 might involve queuing the print job behind previously-requested print jobs, and transmitting the print job for execution after completion of those previously-requested print jobs.  In some cases, the particular printing device may implement such spooling or queuing.
[0084] It should be understood that the steps 502-512 might be performed in a different order than that presented in Figure 5.  Various steps and operations may be performed in parallel as well.  The order of the operations depicted is provided for explanatory reasons and is merely one example combination of operations for executing a print job using a printer management device. 
[0085] Figure 6 is a data flow diagram 600 illustrating a method, according to an example embodiment.  The data flow diagram 600 depicts information passing among the printer management device 610, printing device 620, and server 630.  More specifically, the data flow diagram 600 depicts a process through which new printing device firmware is updated and installed on the printing device 620 using printer management device 610.  Note that the data flow diagram 600 merely depicts an example of data flow among the devices in the system; in various implementations, fewer or additional devices may be present and fewer or additional steps may be performed different from those depicted in Figure 6 to accomplish the printer firmware updating and installation disclosed in the present application.
[0086] First, the server 630 notifies the printer management device 610 that a new printing device firmware is available.  This may occur when, for example, a manufacturer of the printing device publishes a new printing device firmware.  In some implementations, the manufacturer may send out notifications to one or more computing devices-such as printer management device 610-informing those computing devices that a newer printing device firmware is available for download.  This notification may include version information for the newly published printing device firmware.
[0087] It should be understood that a “version” as referred to herein may be denoted using any combination of alphabetical and/or numeric characters.  A “version” indicates a particular release of a piece of software.  Thus, a “newer” version indicates a release of software that occurs after a release of a previous version.  Comparison of the version information may involve a numerical comparison to determine which is the newest version.  In some cases, no explicit version information may be provided, in which case the release or publication date of a particular piece of software may constitute its version. 
[0088] Then, the printer management device 610 requests the new printing device firmware from the server 630.  The server 630 then responsively transmits the new printing device firmware to the printer management device 610.  The printer management device 610 may store a copy of the new printing device firmware on a data storage device for potential future use.
[0089] Then, the printer management device 610 sends a request to the printing device 620 for the version of the firmware currently installed on the printing device 620.  Responsive to receiving the request, the printing device 620 then sends the version information of the currently installed firmware to the printer management device 610.
[0090] Then, the printer management device 610 determines whether the new firmware version is more recent than the installed firmware version.  In some implementations, this may involve comparing the publication or release date of the currently installed firmware to that of the new printing device firmware.   
[0091] Upon determining that the new firmware version is more recent than the firmware installed on the printing device 620, the printer management device 610 installs the new printing device firmware onto the printing device 620.  As one example implementation, this may involve transmitting a copy of the new printing device firmware to a temporary storage location of the printing device 620.  The printer management device 610 may then instruct printing device 620 to “flash” or otherwise install the new printing device firmware.
[0092] Note that certain steps depicted in Figure 6 may be omitted and/or other steps may be added, depending on the particular embodiment.  In some implementations, some steps may be performed in parallel; for example, requesting to download the new printing device firmware from server 630 and requesting the firmware version from the printing device 620 may be performed simultaneously.  The retrieval of information may be blocking or non-blocking, depending upon the particular implementation.  For instance, because receiving the new printing device firmware might take time to complete, the printer management device 610 may simultaneously request the firmware version from printing device 620 during the download.
IV.   Example Indoor Positioning
[0093] Figure 7 is an example illustration of a scenario 700 with indoor positioning, according to an example embodiment.  In this example, printing device 702 has a speaker that is emitting sound waves 704.  The mobile computing device 706 displays the relative location of the printing device 702 on its display unit to guide the user to the printing device 702.
[0094] In some instances, the sound waves 704 may be at a frequency above the human-audible range.  For example, the sound waves 704 may be ultrasound waves at a frequency greater than 20 kHz.  
[0095] During operation, the mobile computing device may request to print a document on a particular printer.  A printer management device may generate a print job and transmit that print job to be executed on the printing device 702.  Then, the printer management device might instruct the printing device 702 to emit sound waves at a particular frequency.  The printer management device might also instruct the mobile computing device 706 to begin “listening” for sound waves 704 of that particular frequency.  The mobile computing device 706 may be equipped with one or more microphones capable of detecting sound waves at that particular frequency.  Using various software and/or hardware techniques, the mobile computing device 706 may filter out ambient sounds and determine characteristics of the sound waves 704.  Based on those determined characteristics, the mobile computing device may determine an approximate location (including distance and/or direction) of the printing device 702, and subsequently display that approximate location on screen.
[0096] In some implementations, the mobile computing device 706 may determine an amplitude (i.e. volume) of the detected wave sounds 704.  By comparing the detected amplitude to a known emitted amplitude, the distance between the mobile computing device 706 and the printing device 702 may be estimated.  The distance may be calculated based on a known attenuation of amplitude of the sound waves over a distance.  
[0097] Furthermore, the mobile computing device 706 may determine an approximate direction of the printing device 702.  In some implementations, the mobile computing device 706 may have at least two microphones separated by a known distance.  By determining a difference in time it takes for each microphone to receive the sound wave, the relative direction of the printing device 702 may be determined.  Additionally, if the time at which the sound waves 704 began emitting is known, determining a length of time taken for the sound waves 704 to travel from the printing device 702 to one or more of the microphones of mobile computing device 706 may be used as a basis for determining the relative location to and distance from the mobile device 706 to the printing device 702.
[0098] In some instances, multiple nearby printing devices may be simultaneously emitting sound waves in order to provide indoor positioning for multiple mobile computing devices.  In these situations, the printer management device may instruct each printing device to emit sound waves of separate, distinct frequencies.  Then, the printer management device may instruct each mobile computing device to “listen” for the frequency corresponding to its associated printing device.  By “listening” for a particular frequency and filtering out the other frequencies, a mobile computing device may be able to guide a user to the correct printing device, even though multiple ultrasound waves may reach the mobile computing device simultaneously.  The printer management device may keep track of the various printing devices emitting sound and instruct them accordingly to ensure that each printing device emits sound waves of different frequencies. 
[0099] Figure 8 is a schematic diagram 800 illustrating indoor positioning on a mobile computing device 802, according to an example embodiment.  The mobile computing device 802 includes a display unit 804 on which an indoor positioning user interface (which may also be referred to herein as a “navigation interface”) is provided.  The indoor positioning user interface includes a representation of the USER, a representation of the location of the printing device 806 at which the print job is being executed, as well as an arrow representative of the direction along with the USER.  In this example, the indoor positioning user interfaces directs the USER to printing device 806 by displaying an arrow direct the user to move forward and to the left.
[00100]        Note the example illustration shown in Figure 8 is provided for explanatory purposes.  The indoor positioning user interface may take on a variety of forms using any combination of graphical elements to display the USER, one or more printing devices, and a direction or path guiding the USER to the printing device 806.
V.    Variations
[00101]        In some cases, a user may not select a printing device with which to execute a print job.  In these cases, the printer management device may automatically select a printing device on which to execute the print job.  This automatic selection of a printing device may be based on one or more factors.  As one example, when the user is registered, the selection of the printing device may be based on that user’s printing history and/or preferences set by that user.  As another example, the location from which the user sent the request to print a document may be determined, and a printing device within close proximity of that location may be selected automatically.  As yet another example, the user may specify print job settings that can only be executed on certain printing devices; in such an example, the printer management device may ensure that the automatically selected printing device is capable of performing the specified print job settings (e.g. capable of printing in color, capable of two-sided printing, capable of stapling the document, etc.).
[00102]        In other cases, a user may select a printing device that is unable to execute the print job.  A printing device may be unable to complete a print job or is otherwise unavailable due to an operation error (such as a print jam), due to low ink and/or toner, or may be shut down or taken offline for maintenance purposes.  The printer management device may select an alternative printing device in such cases.  In some embodiments, the printer management device may notify the user’s client device or mobile computing device 706 that the user’s selected printing device is unavailable, and prompt the user to select a suitable alternative.  
[00103]        Furthermore, the printer management device may detect a long wait time before the user’s document can be printed (due to, for example, a large number of print jobs spooled or queued).  In these cases, the printer management device may notify the user’s client device or mobile computing device of the potential delay and prompt the user to optionally select an available printing device if the user wishes to avoid such delay.
VI.   Conclusion
[00104]        The above detailed description describes various features and functions of the disclosed systems, devices, and methods with reference to the accompanying figures.  While various aspects and embodiments have been disclosed herein, other aspects and embodiments will be apparent.  The various aspects and embodiments disclosed herein are for purposes of illustration and are not intended to be limiting, with the true scope being indicated by the following claims.
REFFERENCE SIGNS LIST
[00105]         
100    Image Forming Apparatus
102    Processor
104    Data Storage
106    Instructions
108    Removable Storage Interface
110    Network Interface
112    Printer
114    Scanner
116    Facsimile Unit
118    Control Unit
120    Operation Panel
122    Display Device
124    Input Device
What is claimed is:
1.     A method comprising:
receiving, at a first computing device, a request to print a document file from a second computing device;
receiving a selection of a particular printing device with which to print the document file from the second computing device;
performing a search operation to determine whether a printer driver for the particular printing device is stored on the first computing device; 
upon determining that the printer driver is not stored on the first computing device, causing a data transfer of the printer driver from a server onto the first computing device over a wide area network;
converting, using the printer driver, the document file into a print job; and
transmitting, to the particular printing device, instructions to execute the print job.
2.     The method of claim 1, wherein
the printer driver is a first printer driver, and wherein the method further comprises:
determining a first version of the first printer driver;
causing a data transfer of a second printer driver for the particular printing device from the server onto the first computing device over the wide area network, wherein the second printer driver includes a second version; and
based on the second version being more recent than the first version, replacing the first printer driver with the second printer driver.
3.     The method of claim 1, further comprising:
determining a first version of a first firmware installed on the particular printing device;
causing a data transfer of a second firmware for the particular printing device from the server onto the first computing device over the wide area network, wherein the second firmware includes a second version; and
based on the second version being more recent than the first version, installing the second firmware on the particular printing device.
4.     The method of claim 1, wherein
the printer driver is a current printer driver, and wherein the method further comprises:
receiving, at the first computing device, a notification from the server over the wide area network indicating that an updated printer driver for the particular printing device is available;
in response to receiving the notification, causing a data transfer of the updated printer driver from the server onto the first computing device over the wide area network; and
replacing the current printer driver with the updated printer driver.
5.     The method of claim 1, further comprising:
receiving, at the first computing device, a notification from the server over the wide area network indicating that an updated firmware for the particular printing device is available;
in response to receiving the notification, causing a data transfer of the updated firmware from the server onto the first computing device over the wide area network; and
installing the updated firmware on the particular printing device.
6.     The method of claim 1, wherein
the request includes print job settings, and wherein the method further comprises:
transmitting, to the particular printing device, instructions to execute the print job using the print job settings.
7.     The method of claim 1, wherein
the first computing device is connected to a local network, and wherein the method further comprises:
detecting a connection of a new printing device on the local network;
receiving, from the new printing device, information including a model of the new printing device;
determining whether a device driver for the model of the new printing device is stored on the first computing device; and
based on determining that the device driver for the model of the new printing device is not stored on the first computing device, retrieving, from the server over the wide area network, the device driver for the model of the new printing device.
8.     The method of claim 1, wherein
the first computing device is connected to a local network, and wherein the method further comprises:
detecting a connection of a new printing device on the local network;
receiving, from the new printing device, information including a model of the new printing device and a version of the firmware installed on the new printing device;
retrieving, from the server over the wide area network, a latest firmware for the new printing device based on the received information of the model of the new printing device; and
based on a version of the latest firmware being more recent than the firmware installed on the new printing device, installing the latest firmware on the new printing device.
9.     A device comprising:
a network interface configured to communicatively connect to a local network and a wide area network, wherein the local network includes one or more printing devices;
a storage medium configured to store one or more printer drivers; and
at least one processor configured to execute instructions comprising:
receiving, via the network interface, a request to print a document file;
determining a particular printing device of the one or more printing devices with which to print the document file;
determining whether a particular printer driver for the particular printing device is among the one or more printer drivers stored on the storage medium;
upon determining that the particular printer driver is not stored on the storage medium, retrieving, via the network interface, the printer driver from a server over the wide area network;
converting, using the particular printer driver, the document file into a print job; and
transmitting, to the particular printing device via the network interface, instructions to execute the print job.
10.    The device of claim 9, wherein
the document file is a first document file, wherein the print job is a first print job, and wherein the instructions further comprise:
receiving a request to retrieve and print a second document file from cloud storage over the wide area network and responsively retrieving the second document file;
converting, using the particular printer driver, the second document file into a second print job; and
transmitting, to the particular printing device via the network interface, instructions to execute the second print job.
11.    The device of claim 9, wherein
the request includes user information, wherein the device further comprises an operation panel, and wherein the instructions further comprise:
determining an operation panel display configuration for a user associated with the user information stored on the storage medium, wherein the operation panel display configuration is a user-specific arrangement of graphical elements representative of operations that can be performed on the device; and
causing a mobile computing device to display the operation panel display configuration.
12.    The device of claim 9, wherein
the instructions further comprise:
receiving status information from the particular printing device;
based on the status information indicating that the particular printing device is busy, determining an alternative printing device of the one or more printing devices with which to print the document file; and
transmitting, to the alternative printing device via the network interface, instructions to execute the print job.
13.    The device of claim 9, wherein
the request includes user information, and wherein the instructions further comprise:
determining whether a user associated with the user information is permitted to execute printing; and
based on the user not being permitted to execute printing, preventing the transmission of the instructions to execute the print job.
14.    The device of claim 9, wherein
the instructions further comprise:
receiving a notification that an error occurred while the particular printing device executed the print job;
upon receiving the notification, determining an alternative printing device of the one or more printing devices with which to print the document file; and
transmitting, to the alternative printing device via the network interface, instructions to execute the print job.
15.    The device of claim 9, wherein
the instructions further comprise:
receiving, from a given printing device of the one or more printing devices, scan data representative of a document scanned by the given printing device and a scan destination indicative of a location at which to store the scan data; and
storing the received scan data at the scan destination.
16.    A system comprising:
a printer management device;
one or more printing devices communicatively connected to the printer management device and configured to execute print jobs; and
a computing device communicatively connected to the printer management device and configured to request printing of a document file,
wherein the printer management device is configured to:
store one or more printer drivers corresponding to the one or more printing devices;
upon determining that an updated version of a given printer driver of the one or more printer drivers is available, retrieve and store the updated version of the given printer driver from a server over a wide area network;
convert the document file from the computing device into a print job using a particular printer driver of the stored one or more printer drivers; and
instruct a particular printing device of the one or more printing devices associated with the particular printer driver to execute the print job.
17.    The system of claim 16, wherein
the particular printing device comprises an acoustic transducer configured to emit sound, wherein the computing device is a mobile computing device comprising a display unit, and wherein the printer management device is further configured to:
instruct the particular printing device to emit a sound having at least one frequency, wherein the at least one frequency is outside of a human-audible range of frequencies; and
cause the mobile computing device to display on the display unit a navigation interface, wherein the navigation interface depicts a location of the particular printing device relative to the mobile computing device based on an amplitude and the at least one frequency of the emitted sound.
18.    The system of claim 16, wherein
the particular printing device comprises a radio transmitter configured to emit radio signals, wherein the computing device is a mobile computing device comprising a display unit, and wherein the printer management device is further configured to:
instruct the particular printing device to emit radio signals having at least one frequency; and
cause the mobile computing device to display on the display unit a navigation interface, wherein the navigation interface depicts a location of the particular printing device relative to the mobile computing device based on an amplitude and the at least one frequency of the emitted radio signals.
19.    The system of claim 16, wherein
the printer management device is further configured to:
provide a wireless access point through which devices can directly communicate with the printer management device; and
establish a connection between the computing device and the wireless access point.
20.    The system of claim 16, wherein
the computing device comprises a display unit, and wherein the printer management device is further configured to:
run a management application that displays status and configuration information of the one or more printing devices; and
cause the display unit of the computing device to display a graphical user interface of the management application.
1. Abstract
PROBLEM TO BE SOLVED
To provide a technique for software management of printing devices.
2. SOLUTION
The present disclosure is directed to a method for managing printing device software. The method includes receiving, at a computing device, a request to print a document file.  The method also includes receiving a selection of a particular printing device with which to print the document file.  The method further includes performing a search operation to determine whether a printer driver for the particular printing device is stored on the first computing device.  Additionally, the method includes causing a data transfer of the printer driver from a server onto the first computing device over a wide area network upon determining that the printer driver is not stored on the computing device.  Further, the method includes converting, using the printer driver, the document file into a print job.  The method also includes transmitting, to the particular printing device, instructions to execute the print job.
3. Representative Drawing: Fig. 1 
2016189192.tif 000012
2016189192.tif 000013
2016189192.tif 000014
2016189192.tif 000015
2016189192.tif 000016
2016189192.tif 000017
2016189192.tif 000018
2016189192.tif 000019
2016189192.tif 000020