(57)【要約】【課題】情報処理装置をプリントサーバとして利用させることが可能なプリントサーバプログラムにおいて、プリンタの利用可能性を高める技術することにある。【解決手段】情報処理装置のバッテリ１８の残量やＣＰＵ１１の使用率などの稼働情報に基づいて、他の情報処理装置にプリントサーバ機能を移動させる条件を満たすか否かを判断し、条件を満たすと判断した場合、他の情報処理装置にプリントサーバ機能を移動させる。そして、他の情報処理装置において、プリントサーバ機能を稼働させ、すなわち、他の情報処理装置にプリントサーバとしての役割を切り換えることで、複数の情報処理装置からプリントサーバ機能を介してプリンタを利用するシステム全体として、プリントサーバ機能が動作しない状況を減らすことができ、プリンタの利用可能性が高まる。【選択図】図８
2020166527.tif 000002
【特許請求の範囲】
【請求項１】
情報処理装置のコンピュータによって実行可能であり、前記情報処理装置のオペレーティングシステムにプリンタとして登録可能なプリントサーバプログラムであって、
前記コンピュータに、
前記オペレーティングシステムに組み込まれた汎用印刷プログラムに対して、前記プリントサーバプログラムが出力先として指定された印刷指示があった場合に、前記印刷指示に基づく印刷ジョブを受け取る受取処理と、
前記受取処理にて受け取った前記印刷ジョブの印刷データが、前記情報処理装置と接続するプリンタで印刷可能な特定の形式の印刷データか否かを判断する第１判断処理と、
前記第１判断処理にて前記特定の形式の印刷データでないと判断した場合、前記受取処理にて受信した前記印刷ジョブの印刷データを、前記特定の形式に変換する変換処理と、
前記第１判断処理にて前記特定の形式の印刷データであると判断した場合、前記受取処理にて受信した前記印刷ジョブの印刷データを前記プリンタに送信し、前記第１判断処理にて前記特定の形式の印刷データでないと判断した場合、前記変換処理による変換後の印刷データを前記プリンタに送信する印刷データ送信処理と、
を実行させ、
さらに前記コンピュータに、
前記情報処理装置の稼働に関する情報である稼働情報を取得する取得処理と、
前記取得処理にて取得した前記稼働情報に基づいて、前記印刷ジョブを受け取る情報処理装置を、自装置から、前記情報処理装置と通信可能な他の情報処理装置であって前記プリントサーバプログラムを実行可能なコンピュータを有する前記他の情報処理装置に切り換える切換条件を満たしているか否かを判断する第２判断処理と、
を実行させ、
さらに前記コンピュータに、
前記第２判断処理にて前記切換条件を満たしていると判断した場合、
自装置の前記プリントサーバプログラムによる、前記印刷指示に基づく前記印刷ジョブの受け取りを停止させる停止処理と、
前記他の情報処理装置の前記プリントサーバプログラムによる、前記印刷指示に基づく前記印刷ジョブの受け取りを開始する開始コマンドを、前記他の情報処理装置に送信する開始コマンド送信処理と、
を実行させる、
ことを特徴とするプリントサーバプログラム。
【請求項２】
請求項１に記載するプリントサーバプログラムにおいて、
前記取得処理では、
前記稼働情報として、前記情報処理装置のバッテリの残量を取得し、
前記切換条件は、前記バッテリの残量が所定量以下であることである、
ことを特徴とするプリントサーバプログラム。
【請求項３】
請求項１に記載するプリントサーバプログラムにおいて、
前記取得処理では、
前記稼働情報として、前記コンピュータの使用負荷率を取得し、
前記切換条件は、前記コンピュータの使用負荷率が所定値以上であることである、
ことを特徴とするプリントサーバプログラム。
【請求項４】
請求項１から請求項３のいずれか１つに記載するプリントサーバプログラムにおいて、
前記停止処理では、
自プログラムを終了させることで、自装置の前記プリントサーバプログラムによる前記印刷ジョブの受け取りを停止させる、
ことを特徴とするプリントサーバプログラム。
【請求項５】
請求項１から請求項３のいずれか１つに記載するプリントサーバプログラムにおいて、
前記停止処理では、
前記受取処理の実行を停止することで、自装置の前記プリントサーバプログラムによる前記受取処理の実行を停止させ、
前記コンピュータに、
前記受取処理の実行を停止している状態で、前記他の情報処理装置から前記開始コマンドを受信した場合に、前記受取処理の実行を再開させる、
ことを特徴とするプリントサーバプログラム。
【請求項６】
請求項５に記載するプリントサーバプログラムにおいて、
前記コンピュータに、
前記他の情報処理装置が前記印刷ジョブを受け取ることが可能な期間中、前記取得処理の実行を停止させる、
ことを特徴とするプリントサーバプログラム。
【請求項７】
請求項５に記載するプリントサーバプログラムにおいて、
前記コンピュータに、
前記第２判断処理にて前記切換条件を満たしていると判断した後、前記第２判断処理にて前記切換条件を満たさなくなったと判断した場合、
前記受取処理の実行を再開させる再開処理と、
前記他の情報処理装置に対して、前記他の情報処理装置の前記プリントサーバプログラムによる前記印刷指示に基づく前記印刷ジョブの受け取りを停止させる停止コマンドを、前記他の情報処理装置に送信する停止コマンド送信処理と、
を実行させる、
ことを特徴とするプリントサーバプログラム。
【請求項８】
請求項１から請求項７のいずれか１つに記載するプリントサーバプログラムにおいて、
前記情報処理装置は、複数の前記他の情報処理装置と接続されており、
前記開始コマンド送信処理では、
前記開始コマンドの送信先となる前記他の情報処理装置の候補が複数有る場合に、商用電源と接続している装置を優先する、
ことを特徴とするプリントサーバプログラム。
【請求項９】
請求項１から請求項７のいずれか１つに記載するプリントサーバプログラムにおいて、
前記情報処理装置は、複数の前記他の情報処理装置と接続されており、
前記開始コマンド送信処理では、
前記開始コマンドの送信先となる前記他の情報処理装置の候補が複数有る場合に、前記他の情報処理装置のコンピュータの使用負荷率が低い装置を優先する、
ことを特徴とするプリントサーバプログラム。
【請求項１０】
請求項１から請求項９のいずれか１つに記載するプリントサーバプログラムにおいて、
前記コンピュータに、
前記開始コマンドの送信先となる前記他の情報処理装置に前記プリントサーバプログラムが組み込まれていない場合、前記プリントサーバプログラムを前記他の情報処理装置にインストールするインストール処理を実行させる、
ことを特徴とするプリントサーバプログラム。
【請求項１１】
請求項１から請求項１０のいずれか１つに記載するプリントサーバプログラムにおいて、
前記コンピュータに、
前記第２判断処理にて前記切換条件を満たしていると判断した場合、前記第２判断処理にて前記切換条件を満たしていると判断する前に受け取った前記印刷ジョブに対する処理が完了した後に、前記開始コマンド送信処理を実行させる、
ことを特徴とするプリントサーバプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書に開示される技術分野は、プリンタを制御するプリントサーバプログラムに関する。
【背景技術】
【０００２】
従来、プリンタドライバをインストールすることなく、オペレーティングシステム（以下、「ＯＳ」とする）の印刷機能を用いて印刷を行うドライバレス印刷技術が普及している。ここで、低価格機など、ドライバレス印刷技術に対応していないプリンタは、プリンタドライバをインストールできないＯＳ環境では、印刷を実行できない。一方、例えば、特許文献１には、情報処理装置にプリンタドライバが組み込まれていない場合に、プリンタからプリンタドライバを送信し、情報処理装置がプリンタドライバのインストールを行い、プリントサーバとして動作する構成が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−７６０６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
プリントサーバとして動作する情報処理装置は、他の情報処理装置からもプリントサーバとして利用される可能性がある。そのため、プリントサーバとして動作する情報処理装置に不具合が生じた場合に、他の情報処理装置からプリンタを利用できなくなる。
【０００５】
本明細書では、情報処理装置をプリントサーバとして利用させることが可能なプリントサーバプログラムにおいて、プリンタの利用可能性を高める技術を開示する。
【課題を解決するための手段】
【０００６】
上述した課題の解決を目的としてなされたものであり、情報処理装置のコンピュータによって実行可能であり、前記情報処理装置のオペレーティングシステムにプリンタとして登録可能なプリントサーバプログラムであって、前記コンピュータに、前記オペレーティングシステムに組み込まれた汎用印刷プログラムに対して、前記プリントサーバプログラムが出力先として指定された印刷指示があった場合に、前記印刷指示に基づく印刷ジョブを受け取る受取処理と、前記受取処理にて受け取った前記印刷ジョブの印刷データが、前記情報処理装置と接続するプリンタで印刷可能な特定の形式の印刷データか否かを判断する第１判断処理と、前記第１判断処理にて前記特定の形式の印刷データでないと判断した場合、前記受取処理にて受信した前記印刷ジョブの印刷データを、前記特定の形式に変換する変換処理と、前記第１判断処理にて前記特定の形式の印刷データであると判断した場合、前記受取処理にて受信した前記印刷ジョブの印刷データを前記プリンタに送信し、前記第１判断処理にて前記特定の形式の印刷データでないと判断した場合、前記変換処理による変換後の印刷データを前記プリンタに送信する印刷データ送信処理と、を実行させ、さらに前記コンピュータに、前記情報処理装置の稼働に関する情報である稼働情報を取得する取得処理と、前記取得処理にて取得した前記稼働情報に基づいて、前記印刷ジョブを受け取る情報処理装置を、自装置から、前記情報処理装置と通信可能な他の情報処理装置であって前記プリントサーバプログラムを実行可能なコンピュータを有する前記他の情報処理装置に切り換える切換条件を満たしているか否かを判断する第２判断処理と、を実行させ、さらに前記コンピュータに、前記第２判断処理にて前記切換条件を満たしていると判断した場合、自装置の前記プリントサーバプログラムによる、前記印刷指示に基づく前記印刷ジョブの受け取りを停止させる停止処理と、前記他の情報処理装置の前記プリントサーバプログラムによる、前記印刷指示に基づく前記印刷ジョブの受け取りを開始する開始コマンドを、前記他の情報処理装置に送信する開始コマンド送信処理と、を実行させる、ことを特徴とする。
【０００７】
上述の構成によれば、情報処理装置の稼働情報に基づいて、他の情報処理装置に印刷ジョブを受け取らせる切換条件を満たすか否かを判断し、切換条件を満たすと判断した場合、他の情報処理装置に印刷ジョブの受け取りを行わせる開始コマンドを送信して自装置での印刷ジョブの受け取りを停止する、すなわち他の情報処理装置にプリントサーバとしての役割を切り換えることで、複数の情報処理装置からプリントサーバプログラムを介してプリンタを利用するシステム全体として、プリントサーバプログラムが動作できない状況を減らすことができ、プリンタの利用可能性が高まる。
【発明の効果】
【０００８】
本明細書に開示されるアプリケーションプログラムによれば、情報処理装置からプリンタを利用する場合の、プリンタの利用可能性を高める技術が実現される。
【図面の簡単な説明】
【０００９】
【図１】実施の形態にかかる情報処理システムの概略構成図である。
【図２】情報処理装置の概略構成図である。
【図３】情報処理装置を機能的に説明する説明図である。
【図４】他の情報処理装置の概略構成図である。
【図５】プリントサーバを用いた印刷実行の手順を示すシーケンス図である。
【図６】プリントサーバの起動処理と登録処理の手順を示すシーケンス図である。
【図７】プリントサーバの移動処理の手順を示すシーケンス図である。
【図８】プリントサーバの起動処理の手順を示すフローチャートである。
【図９】プリントサーバの移動処理の手順を示すフローチャートである。
【図１０】印刷処理の手順を示すフローチャートである。
【図１１】プリントサーバの終了処理の手順を示すフローチャートである。
【図１２】プリントサーバの再起動処理の手順を示すフローチャートである。
【発明を実施するための形態】
【００１０】
以下、本実施の形態にかかる情報処理システムについて、添付図面を参照しつつ詳細に説明する。
【００１１】
本形態の情報処理システム５は、図１に示すように、３台の情報処理装置１、１００、２００と、２台のプリンタ２、３とにより構成され、それら３台の情報処理装置１、１００、２００と、２台のプリンタ２、３プリンタと、ＬＡＮ（Local  Area  Network）を介して接続されている。情報処理装置１、１００、２００は、例えば、パーソナルコンピュータ、スマートフォン、タブレットコンピュータであり、プリンタに印刷させるコンテンツの生成及び編集、各プリンタへの印刷実行指示の送信等を行う装置である。
【００１２】
本形態の情報処理装置１は、図２に示すように、ＣＰＵ１１と、ＲＯＭ１２と、ＲＡＭ１３と、不揮発性メモリ１４と、を含むコントローラ１０を備えている。さらに、ユーザインターフェース（以下、「ユーザＩＦ」とする）１５と、ＬＡＮ５に接続されたネットワークインターフェース（以下、「ネットワークＩＦ」とする）１６と、ＵＳＢインターフェース（以下、「ＵＳＢ−ＩＦ」とする）１７と、を備え、これらがコントローラ１０に電気的に接続されている。ＣＰＵ１１は、制御部の一例である。ＣＰＵ１１のバッファ、ＲＯＭ１２、ＲＡＭ１３、不揮発性メモリ１４は、メモリの一例である。ネットワークＩＦ１６とＵＳＢ−ＩＦ１７は、それぞれ通信インターフェースの一例である。
【００１３】
また、情報処理装置１は、２次電池、例えば、リチューム電池やニッケル水素電池などから構成されるバッテリ１８を備え、情報処理装置１は、バッテリ１８によって電力が供給される。また、情報処理装置１は、ＡＣ電源１９を備え、情報処理装置１は、ＡＣ電源１９からも電力が供給可能である。さらに、ＡＣ電源１９は、バッテリ１８を充電可能である。なお、ＡＣ電源１９は、情報処理装置１に内蔵されていても良いし、外付けでも差し支えない。したがって、情報処理装置１は、ＡＣ電源１９が外部のＡＣコンセント（図示せず）に接続された状態では、ＡＣ電源１９から電力が供給される。また、ＡＣ電源１９が外部のＡＣコンセントに接続されてない状態では、バッテリ１８から電力が供給される。
【００１４】
ＲＯＭ１２には、情報処理装置１を起動するための起動プログラム等が記憶されている。ＲＡＭ１３は、各種の処理が実行される際の作業領域として、あるいは、データを一時的に記憶する記憶領域として利用される。不揮発性メモリ１４は、例えば、ＨＤＤ、フラッシュメモリであり、各種のプログラムや画像データ等のデータや各種設定を記憶する領域として利用される。
【００１５】
ＣＰＵ１１は、ＲＯＭ１２や不揮発性メモリ１４から読み出したプログラムに従って、また、ユーザの操作に基づいて、各種の処理を実行する。なお、図２中のコントローラ１０は、情報処理装置１の制御に利用されるハードウェアやソフトウェアを纏めた総称であって、実際に情報処理装置１に存在する単一のハードウェアを表すとは限らない。
【００１６】
ユーザＩＦ１５は、ユーザによる操作を受け付けるとともに情報の表示を行うハードウェアである。ユーザＩＦ１５は、タッチパネル等の入力機能と出力機能との両方を備えるものであっても良いし、ディスプレイとキーボードやマウスとの組み合わせによって構成されるものであっても良い。
【００１７】
ネットワークＩＦ１６は、インターネット等のネットワークを介して外部装置と通信を行うためのハードウェアを含む。ネットワークＩＦ１６の通信規格は、例えば、イーサネット（登録商標）、Ｗｉ−Ｆｉ（登録商標）などである。ＵＳＢ−ＩＦ１７は、ＵＳＢ規格に基づく通信を行うためのハードウェアを含む。なお、ネットワークＩＦ１６やＵＳＢ−ＩＦ１７の通信の態様は、有線でも無線でもよい。
【００１８】
本形態の情報処理装置１は、プリンタドライバをインストールせずに印刷を行う機能であるドライバレス印刷機能を有する。ドライバレス印刷機能は、印刷対象のコンテンツなどに基づいて、プリンタの機種に依存しない汎用の印刷データである規格印刷データを含む印刷ジョブを作成し、プリンタに送信する印刷機能であり、例えば、AirPrint（登録商標）、Mopria（登録商標）がある。
【００１９】
そして、情報処理装置１には、図１に示すように、２台のプリンタ２、３がＬＡＮ４を介して接続されている。プリンタ２とプリンタ３とは、いずれも、印刷対象の媒体への画像の形成が可能な装置であり、例えば、ページプリンタ、コピー機、複合機、ＦＡＸ装置である。
【００２０】
プリンタ２は、ネットワークＩＦ１６を介して情報処理装置１に接続され、情報処理装置１のドライバレス印刷機能に対応可能なプリンタである。以下、プリンタ２を、「対応プリンタ２」とする。対応プリンタ２は、情報処理装置１から送信される印刷ジョブの規格印刷データに基づいて、自機にて印刷に用いる印刷用画像データを作成するプログラムを有している。対応プリンタ２は、受信した規格印刷データに基づいて印刷用画像データを作成し、作成した印刷用画像データを用いて、印刷を実行する。
【００２１】
一方、プリンタ３は、ネットワークＩＦ１６を介して情報処理装置１に接続され、情報処理装置１のドライバレス印刷機能に対応不可能なプリンタである。以下、プリンタ３を、「非対応プリンタ３」とする。なお、プリンタ３は、ＵＳＢ−ＩＦ１７を介して情報処理装置１に接続されていてもよい。非対応プリンタ３は、規格印刷データから印刷用画像データを作成する構成を有していない。そのため、非対応プリンタ３は、規格印刷データを受信しても印刷を実行できない。非対応プリンタ３は、自身にて対応可能な印刷データを受信すると、受信した印刷データを印刷用画像データとして、あるいは、受信した印刷データを印刷用画像データに変換して、印刷を実行する。また、非対応プリンタ３は、ドライバレス印刷機能に基づくプリンタ検索信号に応答しない。そのため、情報処理装置１のドライバレス印刷機能は、非対応プリンタ３を印刷装置として認識しない。非対応プリンタ３は、特定のプリンタの一例である。
【００２２】
本形態の情報処理装置１は、非対応プリンタ３に印刷を実行させるためのアプリを備えている。情報処理装置１の不揮発性メモリ１４には、図２に示すように、オペレーティングシステム（以下、ＯＳと称す）４１と、コンテンツ作成アプリ４２と、管理プログラム４３と、プリントサーバプログラム４４と、を含む、各種のプログラムが記憶されている。なお、ＯＳ４１の一部は、ＲＯＭ１２に含まれていてもよい。
【００２３】
本形態の情報処理装置１のＯＳ４１は、ドライバレス印刷機能を備え、個別の機種のプリンタに対応するプリンタドライバのインストールを受け付けないバージョンのものである。そのため、情報処理装置１の不揮発性メモリ１４には、例えば、非対応プリンタ３のプリンタドライバプログラムは記憶されていない。
【００２４】
コンテンツ作成アプリ４２は、文書、画像、図表等の印刷の対象となるコンテンツを作成するアプリである。そして、コンテンツ作成アプリ４２には、ユーザ操作に基づく印刷の指示を受け付ける機能が含まれる。なお、情報処理装置１は、例えば、複数のコンテンツ作成アプリ４２を有していてもよい。
【００２５】
また、管理プログラム４３とプリントサーバプログラム４４は、コンテンツ作成アプリ４２などにて作成されたコンテンツに基づく印刷を、情報処理装置１に接続されている非対応プリンタ３に実行させる場合に使用されるプログラムである。また、管理プログラム４３とプリントサーバプログラム４４は、情報処理装置１のバッテリ１８の残量やＣＰＵ１１の使用率に基づいて、他の情報処理装置１００、２００にプリントサーバ機能を切り換える切換条件を満たすか否かを判断し、切換条件を満たすと判断した場合、自装置でのプリントサーバ機能を他の情報処理装置１００、２００へ切り換えることで、他の情報処理装置１００、２００において印刷を実行させる機能を備える。なお、管理プログラム４３とプリントサーバプログラム４４は、プリントサーバプログラムの一例である。
【００２６】
管理プログラム４３は、非対応プリンタ３に対応するプリントサーバプログラム４４を起動させ、プリントサーバプログラム４４によって構成されるプリントサーバを、仮想プリンタとしてＯＳ４１に登録するプログラムである。ＯＳ４１にプリントサーバを仮想プリンタとして登録することにより、コンテンツ作成アプリ４２等では、その仮想プリンタを出力先として選択可能となる。プリントサーバプログラム４４は、ドライバレス印刷機能によって出力される印刷ジョブを非対応プリンタ３にて対応可能な形式に変換して、非対応プリンタ３に送信するプログラムである。
【００２７】
なお、管理プログラム４３は、一例として、情報処理装置１に１つであり、プリントサーバプログラム４４は、１台の非対応プリンタ３ごとに１つである。複数の非対応プリンタ３が接続されている情報処理装置１では、非対応プリンタ３ごとにプリントサーバが起動され、それぞれ仮想のプリンタとして登録される。一方、１つのプリントサーバプログラム４４が複数台のプリンタそれぞれの仮想プリンタとして動作するような構成であってもよい。
【００２８】
本形態の情報処理装置１は、例えば、図３に示すように、対応プリンタ２に印刷を実行させる場合と非対応プリンタ３に印刷を実行させる場合とで、異なる処理を実行する。情報処理装置１のＯＳ４１は、例えば、コンテンツ作成アプリ４２にて印刷指示を受け付けた場合、受け付けた印刷指示にて指定されたプリンタが対応プリンタ２であれば、ドライバレス印刷機能にて作成した規格印刷データを、対応プリンタ２に送信する。対応プリンタ２は、規格印刷データに基づいて、印刷を実行する。
【００２９】
一方、印刷指示にて指定されたプリンタが非対応プリンタ３に対応する仮想プリンタである場合には、情報処理装置１は、ドライバレス印刷機能にて作成した規格印刷データを、プリントサーバプログラム４４に渡す。プリントサーバプログラム４４は、規格印刷データに基づいて、非対応プリンタ３にて対応可能な形式の印刷データである個別印刷データを取得し、非対応プリンタ３に送信する。個別印刷データは、特定の形式の印刷データの一例である。
【００３０】
本形態の情報処理装置１００、２００は、図４に示すように、情報処理装置１と同じ構成であるが、不揮発性メモリ１４に、管理プログラム４３と、プリントサーバプログラム４４とが記憶されていない点で異なる。したがって、情報処理装置１００、２００において、印刷指示にて指定されたプリンタが非対応プリンタ３に対応する仮想プリンタである場合には、ドライバレス印刷機能にて作成した規格印刷データを、情報処理装置１のプリントサーバプログラム４４に渡す必要がある。情報処理装置１のプリントサーバプログラム４４は、渡された規格印刷データに基づいて、非対応プリンタ３にて対応可能な形式の印刷データである個別印刷データを取得し、非対応プリンタ３に送信する。
【００３１】
続いて、情報処理装置１にて非対応プリンタ３に印刷を実行させる動作について説明する。なお、以下の説明における処理およびフローチャートの各処理ステップは、基本的に、管理プログラム４３やプリントサーバプログラム４４などのプログラムに記述された命令に従ったＣＰＵ１１の処理を示す。ＣＰＵ１１による処理は、情報処理装置１のＯＳ４１の他のモジュールとデータ交換するためのＩＦ（ＡＰＩとも呼ばれる）を用いたハードウェア制御も含む。
【００３２】
図５〜図７のシーケンス図を参照して、動作の概要を説明する。まず、プリントサーバプログラム４４を用いた印刷動作について、図５のシーケンス図を参照して説明する。情報処理装置１は、実行中のコンテンツ作成アプリ４２にて、ユーザによるコンテンツの印刷指示を受け付ける（手順６１）。コンテンツ作成アプリ４２は、受け付けた印刷指示に基づいて印刷ジョブを作成し、ＯＳ４１に登録する（手順６２）。ＯＳ４１は、受け付けた印刷ジョブをドライバレス印刷機能にて処理し、規格印刷データを含む印刷ジョブを生成する。
【００３３】
ＯＳ４１は、出力先として非対応プリンタ３に対応する仮想プリンタが指定されている印刷ジョブを、非対応プリンタ３に対応するプリントサーバプログラム４４に渡す（手順６３）。プリントサーバプログラム４４は、出力先である非対応プリンタ３を検索し、印刷可能な状態であるか否かを判断する（手順６４）。
【００３４】
非対応プリンタ３は、印刷可能な状態であれば、プリンタ情報をプリントサーバプログラム４４に送信する（手順６５）。プリントサーバプログラム４４は、プリンタ情報に基づいて、規格印刷データから非対応プリンタ３にて対応可能な形式の個別印刷データを生成する。さらに、プリントサーバプログラム４４は、プリンタ情報に基づいて、印刷ジョブに含まれる印刷設定を引き継ぎ、非対応プリンタ３にて対応可能な形式の情報とする（手順６６）。
【００３５】
そして、プリントサーバプログラム４４は、生成した個別印刷データと印刷設定とを非対応プリンタ３に送信する（手順６７）。非対応プリンタ３は、受信した個別印刷データに基づく印刷を実行し（手順６８）、印刷完了などのステータス情報を、プリントサーバプログラム４４に送信する（手順６９）。プリントサーバプログラム４４は、受信したステータス情報をＯＳ４１に渡す（手順７０）。
【００３６】
一方、プリントサーバプログラム４４は、手順６４によるプリンタの検索によって、非対応プリンタ３を検索できなかった場合、非対応プリンタ３がオフライン状態であることを示すステータス情報をＯＳ４１に渡す（手順７１）。ＯＳ４１は、手順７０または手順７１にて受け取ったステータス情報を、例えば、コンテンツ作成アプリ４２等を介してユーザに通知する（手順７２）。
【００３７】
次に、管理プログラム４３によるプリントサーバの起動処理と登録処理について、図６のシーケンス図を参照して説明する。情報処理装置１は、例えば、情報処理装置１が起動されると、情報処理装置１に接続されている非対応プリンタ３を検索する（手順５１）。情報処理装置１による検索は、ドライバレス印刷機能による検索とは異なり、情報処理装置１は、非対応プリンタ３であれば応答可能な検索信号をマルチキャストする。
【００３８】
そして、情報処理装置１は、非対応プリンタ３が検索された場合、非対応プリンタ３にて印刷を実行させるためのプリンタ情報を取得する（手順５２）。具体的には、情報処理装置１は、検索された非対応プリンタ３の機種情報、バージョン情報などを取得する。
【００３９】
そして、情報処理装置１は、検索された非対応プリンタ３に対応するプリントサーバプログラム４４が起動していない場合、検索された非対応プリンタ３のモデル名を仮想プリントサーバ名に指定する（手順５３）。その後、プリントサーバプログラム４４を起動させる（手順５４）。なお、複数の非対応プリンタ３が検索された場合、情報処理装置１は、１台ごとに手順５２〜手順５４を行う。
【００４０】
次に、情報処理装置１は、ＯＳ４１にバッテリ１８の残量やＣＰＵ１１の使用率を問い合わせ（手順５５）、それらの情報を取得する（手順５６）。
【００４１】
さらに、情報処理装置１は、ＯＳ４１にプリントサーバプログラム４４によって構成されるプリントサーバが登録されているか否かを判断する。つまり、情報処理装置１は、ＯＳ４１に登録されているプリンタを検索し（手順５７）、ＯＳ４１からプリンタの一覧を取得する（手順５８）。取得したプリンタの一覧の中に、プリントサーバプログラム４４によって構成されるプリントサーバが含まれていない場合、情報処理装置１は、プリントサーバプログラム４４によって構成されるプリントサーバを、検索された非対応プリンタ３に対応する仮想プリンタとして、ＯＳ４１に登録する（手順５９）。
【００４２】
続いて、情報処理装置１によるプリントサーバの移動処理について、図７のシーケンス図を参照して説明する。
【００４３】
情報処理装置１は、手順５６において取得したバッテリ１８の残量が閾値以下となった場合やＣＰＵ１１の使用率が閾値以上となった場合には、ＬＡＮ４に接続された他の稼働中の情報処理装置１００、２００を検索する（手順８０）。そして、稼働中の他の情報処理装置１００、２００が存在すれば、その情報処理装置１００、２００を特定する情報やＯＳ４１の情報などを取得する（手順８１）。
【００４４】
そして、情報処理装置１は、管理プログラム４３やプリントサーバプログラム４４などのプログラムを稼働中の他の情報処理装置１００、２００の不揮発性メモリ１４に複写し（手順８２）、その後、プリントサーバを起動する（手順８３）。また、稼働中の他の情報処理装置１００、２００は、ＯＳ４１にバッテリ１８の残量やＣＰＵ１１の使用率を問い合わせ（手順８４）、それらの情報を取得する（手順８５）。一方、情報処理装置１は、プリントサーバ機能を停止させる（手順８６）。これにより、プリントサーバ機能が情報処理装置１から稼動中の他の情報処理装置１００、２００に移動する。この際、不要のプリントサーバプログラム４４を終了させることで、情報処理装置１の処理の負荷が軽減される。
【００４５】
続いて、上述した情報処理装置１の各動作について、図８〜図１２のフローチャートを参照して詳細に説明する。なお、以下の説明中に付記した手順番号は、図５〜図７のシーケンス図中に示す手順番号に対応する。
【００４６】
まず、情報処理装置１におけるプリントサーバ起動処理の手順について、図８のフローチャートを参照して説明する。このプリントサーバ起動処理は、例えば、情報処理装置１の起動時、情報処理装置１に新たにプリンタを接続した時、コンテンツ作成アプリ４２にて印刷指示を受け付けた時などを契機に、ＣＰＵ１１にて実行される。なお、対応するシーケンス図を図６に示す。
【００４７】
すなわち、まず、ＣＰＵ１１は、情報処理装置１がドライバレス印刷環境であるか否かを判断する（Ｓ１０１）。ＣＰＵ１１は、例えば、情報処理装置１のＯＳ４１のバージョン情報を取得し、ＯＳ４１がドライバレス印刷機能を備え、プリンタドライバのインストールを受け付けない動作環境であるか否かを判断する。また、ＣＰＵ１１は、プリンタドライバがインストールされているか否かを判断しても良い。ドライバレス印刷環境ではないと判断した場合（Ｓ１０１：ＮＯ）、ＣＰＵ１１は、本プリントサーバの起動処理を終了する。
【００４８】
ドライバレス印刷環境であると判断した場合（Ｓ１０１：ＹＥＳ）、ＣＰＵ１１は、情報処理装置１に接続されているプリンタを順に検索する（Ｓ１０２）。そして、ＣＰＵ１１は、検索されたプリンタがドライバレス印刷機能に非対応の非対応プリンタ３であるか否かを判断する（Ｓ１０３、手順５１）。
【００４９】
例えば、ＣＰＵ１１は、ネットワークＩＦ１６およびＬＡＮ４を介して接続されている各プリンタに問い合わせ、ドライバレス印刷機能に対応する能力を有しているか否かを判断する。また、例えば、情報処理装置１が接続されている外部機器のリストを備えていれば、ＣＰＵ１１は、Ｓ１０３にてリスト中の非対応プリンタ３の接続確認を行っても良い。
【００５０】
非対応プリンタ３が検索されたと判断した場合（Ｓ１０３：ＹＥＳ）、ＣＰＵ１１は、プリンタ情報を取得する（Ｓ１０４、手順５２）。ＣＰＵ１１は、プリンタ情報として、例えば、プリンタの機種情報やバージョン情報、プリンタにてサポートする印刷データのデータ形式を取得する。ＣＰＵ１１は、検索された非対応プリンタ３に問い合わせてプリンタ情報を取得しても良いし、外部機器のリスト等からプリンタ情報を取得しても良い。
【００５１】
次に、ＣＰＵ１１は、検索された非対応プリンタ３に対応するプリントサーバプログラム４４が起動しているか否かを判断する（Ｓ１０５）。プリントサーバプログラム４４が起動していないと判断した場合（Ｓ１０５：ＮＯ）、次に、ＣＰＵ１１は、情報処理装置１と通信可能な他の装置で、非対応プリンタ３に対応するプリントサーバプログラム４４が稼動中か否かを判断する（Ｓ１０６）。
【００５２】
本形態では、例えば、図１に示すように、複数の情報処理装置１、１００、２００はＬＡＮ４を介して互いに通信可能に接続されているので、同じ非対応プリンタ３を利用可能である。したがって、他の情報処理装置１００にてプリントサーバプログラム４４が起動している場合、情報処理装置１は、他の情報処理装置１００のプリントサーバプログラム４４を利用できる。この場合、他の情報処理装置１００のプリントサーバプログラム４４によって構成されるプリントサーバを仮想プリンタとして情報処理装置１のＯＳ４１に登録することで、情報処理装置１は、他の情報処理装置１００のプリントサーバプログラム４４を利用できる。
【００５３】
そして、他の情報処理装置１００でも、プリントサーバプログラム４４が稼動していないと判断した場合（Ｓ１０６：ＮＯ）、次にＣＰＵ１１は、非対応プリンタ３のモデル名をプリントサーバ名に指定する（Ｓ１０７、手順５３）。次にＣＰＵ１１は、検索された非対応プリンタ３に対応するプリントサーバプログラム４４を起動する（Ｓ１０８、手順５４）。次にＣＰＵ１１は、バッテリの残量およびＣＰＵ１１の使用率の監視を開始する（Ｓ１０９、手順５５、５６）。具体的には、ＣＰＵ１１は、ＯＳ４１にバッテリ１８の残量やＣＰＵ１１の使用率を問い合わせて取得できた情報に基づいて監視動作が開始される。なお、Ｓ１０９の処理が取得処理の一例であり、また、バッテリの残量やＣＰＵ１１の使用率が稼働情報の一例である。
【００５４】
一方、検索された非対応プリンタ３に対応するプリントサーバプログラム４４が他の情報処理装置１００にて起動していると判断した場合（Ｓ１０６：ＹＥＳ）、ＣＰＵ１１は、プリントサーバプログラム４４によって構成されるプリントサーバが自装置のＯＳ４１に登録されているか否かを判断する（Ｓ１１０）。具体的には、ＣＰＵ１１は、例えば、ＯＳ４１に問い合わせてＯＳ４１に登録されているプリンタの一覧を取得し（手順５７、５８）、その一覧中に、非対応プリンタ３に対応する仮想プリンタとして登録されているプリントサーバが含まれているか否かを判断する。
【００５５】
一方、Ｓ１０５にて、プリントサーバプログラム４４が起動していると判断した場合（Ｓ１０５：ＹＥＳ）、次にＣＰＵ１１は、プリントサーバプログラム４４によって構成されるプリントサーバがＯＳ４１に登録されているか否かを判断する（Ｓ１１１）。
そして、Ｓ１０９の後、または、非対応プリンタ３に対応するプリントサーバがＯＳ４１に登録されていないと判断した場合（Ｓ１１０：ＮＯ又はＳ１１１：ＮＯ）、ＣＰＵ１１は、プリントサーバプログラム４４によって構成されるプリントサーバをプリンタとしてＯＳ４１に登録する（Ｓ１１２、手順５９）。
【００５６】
Ｓ１１２では、ＣＰＵ１１は、プリントサーバプログラム４４によって構成されるプリントサーバを、検索された非対応プリンタ３のモデル名や愛称等を用いて登録する。ユーザによる名称の指定を受け付けても良い。プリントサーバプログラム４４によって構成されるプリントサーバを非対応プリンタ３としてＯＳ４１に登録することで、非対応プリンタ３が、コンテンツ作成アプリ４２等で印刷指示を行う際、印刷装置としての選択の対象となる。
【００５７】
一方、Ｓ１０３にて、非対応プリンタ３ではないと判断した場合（Ｓ１０３：ＮＯ）、または、Ｓ１１０やＳ１１１にて、他の装置のプリントサーバプログラム４４によって構成されるプリントサーバが自装置のＯＳ４１に登録されていると判断した場合（Ｓ１１０：ＹＥＳ又はＳ１１１：ＹＥＳ、）、Ｓ１１２の後、ＣＰＵ１１は、プリンタの検索が終了したか否かを判断する（Ｓ１１３）。検索が終了していないと判断した場合（Ｓ１１３：ＮＯ）、ＣＰＵ１１は、Ｓ１０２に戻って、さらに次のプリンタの検索を行う。
一方、プリンタの検索が終了したと判断した場合（Ｓ１１３：ＹＥＳ）、ＣＰＵ１１は、サーバ起動処理を終了する。
【００５８】
次に、プリントサーバプログラム４４によるプリントサーバの移動処理の手順について、図９のフローチャートを参照して説明する。このプリントサーバの移動処理は、図８に示すプリントサーバの起動処理のＳ１０８にてプリントサーバプログラム４４が起動された後、所定時間間隔をおいて定期的にＣＰＵ１１にて実行される。なお、対応するシーケンス図を図７に示す。
【００５９】
まず、ＣＰＵ１１は、コンテンツ作成アプリ４２にて印刷指示を受け付けて印刷処理中か否かを判断する（Ｓ２００）。印刷処理中であると判断した場合（Ｓ２００：ＹＥＳ）、他の処理へ移行して、印刷処理が終了するまでプリントサーバの移動処理を待機する。
【００６０】
このように本形態では、印刷処理が終了するまでプリントサーバの移動処理を待機するようにしたので、プリントサーバの移動処理が印刷処理と重複して複雑になることなく、スムースに移動処理を進めることができる。
【００６１】
一方、印刷処理中ではないと判断した場合（Ｓ２００：ＮＯ）、ＯＳ４１にバッテリ１８の残量やＣＰＵ１１の使用率を問い合わせて取得できた情報に基づいてバッテリ１８の残量が閾値以下であるか否か、および、ＣＰＵ１１の使用率が閾値以上であるか否かを判断する（Ｓ２０１）。なお、Ｓ２０１の処理が第２判断処理の一例である。
【００６２】
そして、ＣＰＵ１１は、バッテリ１８の残量が閾値以下である、或いは、ＣＰＵ１１の使用率が閾値以上であると判断した場合には（Ｓ２０１：ＹＥＳ）、ＬＡＮ４を介し接続された他の情報処理装置１００、２００を検索する（Ｓ２０２、手順８０、８１）。そして、ＣＰＵ１１は、ＬＡＮ４を介し接続された他の情報処理装置１００、２００が検出されたか否かを判断する（Ｓ２０３）。
【００６３】
そして、ＣＰＵ１１は、他の情報処理装置１００、２００が検出されたと判断した場合には（Ｓ２０３：ＹＥＳ）、プリントサーバが稼働している情報処理装置１と同じＯＳ４１か否かを判断する（Ｓ２０４）。同じＯＳ４１であると判断した場合には（Ｓ２０４：ＹＥＳ）、ＣＰＵ１１は、プリントサーバを、ＬＡＮ４を介し接続された稼働中の他の情報処理装置１００、２００へ移動する（Ｓ２０５、手順８２）。具体的には、ＣＰＵ１１は、情報処理装置１の不揮発性メモリ１４に記憶された管理プログラム４３、プリントサーバプログラム４４、設定ファイルなどを稼働中の他の情報処理装置１００、２００へ送信して不揮発性メモリ１４に複写する。
【００６４】
このように本形態では、送信先の他の情報処理装置１００、２００にプリントサーバプログラムが組み込まれていない場合、管理プログラム４３、プリントサーバプログラム４４、設定ファイルなどをインストールすることで、他の情報処理装置１００、２００においてプリントサーバ機能を代替できるようになる。
【００６５】
次にＣＰＵ１１は、他の情報処理装置１００、２００においてプリントサーバを起動する（Ｓ２０６、手順８３）。具体的には、他の情報処理装置１００、２００に対して、プリントサーバの起動指示を送信する。Ｓ２０６の処理が開始コマンド送信処理の一例である。
【００６６】
一方ＣＰＵ１１は、Ｓ２０３にて、他の情報処理装置１００、２００が検出されなかったと判断した場合には（Ｓ２０３：ＮＯ）、エラー表示を行う（Ｓ２０７）。具体的には、情報処理装置１において、バッテリ１８の残量が閾値以下である旨の注意喚起やＣＰＵ１１の使用率が閾値以上であって処理速度が低下する恐れがある旨の注意喚起をユーザＩＦ上において表示する。それに併せて、それらの状況を改善するために、ＬＡＮ４を介し接続された他の情報処理装置１００、２００を起動するなどの解決策をユーザＩＦ上において表示する。
【００６７】
そして、Ｓ２０４にて、同じＯＳ４１ではないと判断した場合（Ｓ２０４：ＮＯ）、またはＳ２０６の後、またはＳ２０７の後に、ＣＰＵ１１は、他の情報処理装置１００、２００にてプリントサーバの起動が成功したか否かを判断する（Ｓ２０８）。プリントサーバの起動が成功しなかった場合には（Ｓ２０８：ＮＯ）、ＣＰＵ１１は、Ｓ２０３の処理を再び実行し、今回対象としなかった他の情報処理装置１００、２００について、プリントサーバの移行処理を試みる。
【００６８】
一方、プリントサーバの起動が成功した場合には（Ｓ２０８：ＹＥＳ）、ＣＰＵ１１は、移動元の情報処理装置１でのプリントサーバの動作を終了させ、コンテンツ作成アプリ４２からのコンテンツの受付を終了する（Ｓ２０９、手順８６）。なお、Ｓ２０９の処理が停止処理の一例である。
【００６９】
このように本形態では、移動元の情報処理装置１でのプリントサーバの動作を終了させるようにしたので、情報処理装置１のＣＰＵ１１の負荷や不揮発性メモリ１４などのメモリの占有率をより軽減することができる。
【００７０】
そして、ＣＰＵ１１は、移動元である情報処理装置１でのバッテリ１８の残量やＣＰＵ１１の使用率の監視を終了する（Ｓ２１０）。次に、ＣＰＵ１１は、移動先の他の情報処理装置１００、２００に対して、バッテリ１８の残量やＣＰＵ１１の使用率の監視を開始させるための監視開始コマンドを送信し（Ｓ２１１、手順８４、８５）、本プリントサーバの移動処理を終了する。
【００７１】
このように本形態では、移動元である情報処理装置１でのバッテリ１８の残量やＣＰＵ１１の使用率の監視を終了するようにしたので、情報処理装置１のＣＰＵ１１の負荷をより軽減することができる。
【００７２】
次に、印刷処理の手順について、図１０のフローチャートを参照して説明する。なお、本印刷処理は、情報処理装置１が実行中のコンテンツ作成アプリ４２にて、ユーザによるコンテンツの印刷指示を受け付け（手順６１）、ＯＳ４１にて生成された印刷ジョブ（手順６２）を受信した際（手順６３）に実行される。また、対応するシーケンス図を図５に示す。
【００７３】
まず、印刷処理では、ＣＰＵ１１は、受信した印刷ジョブにより指定されたプリントサーバに対応するプリンタを検索する（Ｓ３０１、手順６４）。次に、ＣＰＵ１１は、対応するプリンタが検索されたか否かを判断する（Ｓ３０２）。ここで、対応するプリンタが検索されなかった場合には（Ｓ３０２：ＮＯ）、ステータスをオフラインとする（Ｓ３０３、手順７１）。なお、Ｓ３０１の処理が受取処理の一例である。  
【００７４】
一方、Ｓ３０１にて、対応するプリンタが検索された場合には（Ｓ３０２：ＹＥＳ）、ＯＳ４１から取得した印刷ジョブに含まれる印刷データを取得する（Ｓ３０４）。印刷ジョブに含まれる印刷データは、ドライバレス印刷機能によって作成された形式のデータであり、例えば、規格印刷データである。
【００７５】
そして、ＣＰＵ１１は、対応するプリンタのプリンタ情報をプリンタやＯＳ４１から取得する（Ｓ３０５、手順６５）。そして、ＣＰＵ１１は、プリンタがサポート可能な形式のデータであるか否かを判断する（Ｓ３０６）。つまり、非対応プリンタ３にてサポート可能な形式は、個別印刷データのみとは限らない。また、ドライバレス印刷機能にて作成される印刷データは、規格印刷データのみとは限らない。つまり、非対応プリンタ３は、ドライバレス印刷機能にて作成された印刷データであっても、印刷可能な場合もある。なお、Ｓ３０６の処理が第１判断処理の一例である。
【００７６】
印刷ジョブに含まれる印刷データが、非対応プリンタ３にてサポート不可能な形式のデータであると判断した場合（Ｓ３０６：ＮＯ）、ＣＰＵ１１は、印刷データを、非対応プリンタ３にてサポートする形式の印刷データである個別印刷データに変換する（Ｓ３０７、手順６６）。なお、Ｓ３０７の処理が変換処理の一例である。
【００７７】
なお、印刷データの変換は、プリントサーバプログラム４４にて行っても良いし、管理プログラム４３などの他のプログラムにて行っても良い。例えば、ＣＰＵ１１は、印刷ジョブに含まれる印刷データと非対応プリンタ３にて対応可能な印刷データの形式の情報とを管理プログラム４３に渡し、管理プログラム４３に印刷データの変換を要求しても良い。
【００７８】
そして、ＣＰＵ１１は、印刷設定を引き継ぐ（Ｓ３０８）。印刷設定には、例えば、印刷部数の設定や両面印刷の設定が含まれる。非対応プリンタ３は、ドライバレス印刷機能にて付加される印刷設定のコマンドに適切に対応できるとは限らない。ＣＰＵ１１は、ドライバレス印刷機能による印刷設定のコマンドを、非対応プリンタ３の印刷設定のコマンドに変更することで、非対応プリンタ３にて対応可能な印刷設定を付加した印刷ジョブを作成する。
【００７９】
そして、ＣＰＵ１１は、ネットワークＩＦ１６またはＵＳＢ−ＩＦ１７を制御し、Ｓ３０８にて引き継いだ印刷設定と、Ｓ３０４またはＳ３０７にて取得した印刷データと、を含む印刷ジョブを、非対応プリンタ３に送信する（Ｓ３０９、手順６７）。さらに、ＣＰＵ１１は、送信を完了したか否かを判断する（Ｓ３１０）。なお、Ｓ３０９の処理が印刷データ送信処理の一例である。
【００８０】
送信を完了したと判断した場合（Ｓ３１０：ＹＥＳ）、ＣＰＵ１１は、送信完了のステータス情報を正常終了と設定する（Ｓ３１１、手順６９）。一方、送信中にエラーが発生した等により、送信を完了しなかったと判断した場合（Ｓ３１０：ＮＯ）、ＣＰＵ１１は、ステータス情報を印刷エラーと設定する（Ｓ３１２、手順６９）。Ｓ３０３またはＳ３１１またはＳ３１２の後、ＣＰＵ１１は、ステータスをＯＳ４１へ送信した後（Ｓ３１３、手順７０）、本印刷処理を終了する。なお、印刷ジョブが他の情報処理装置１００、２００から受信したものである場合、Ｓ３１３では、ステータス情報を印刷ジョブの送信元の情報処理装置１００、２００へ送信するとよい。
【００８１】
次に、プリントサーバの終了処理の手順について、図１１のフローチャートを参照して説明する。なお、本プリントサーバの終了処理は、情報処理装置１が稼働中に所定の間隔で定期的に実行される。なお、本プリントサーバの終了処理に対応するシーケンス図は存在しないので、図１１に示すフローチャートを参照して説明する。  
【００８２】
まず、ＣＰＵ１１は、プリントサーバプログラム４４に対応する非対応プリンタ３を検索する（Ｓ４０１）。そして、ＣＰＵ１１は、プリンタが検索されたか否かを判断する（Ｓ４０２）。そして、検索によって非対応プリンタ３が検索されなかったと判断した場合（Ｓ４０２：ＮＯ）、ＣＰＵ１１は、エラーを通知する（Ｓ４０３）。ＣＰＵ１１は、例えば、ユーザＩＦ１５を制御して、非対応プリンタ３がオフラインであることを示すエラー情報を表示させる。非対応プリンタ３がオフラインであれば印刷を行わせることができない。本形態では、Ｓ４０２における判断が「ＮＯ」の場合に印刷処理を実行しないことで、ＣＰＵ１１の処理の負荷を軽減できる。
【００８３】
そして、ＣＰＵ１１は、プリントサーバプログラム４４を終了させることが必要か否かを判断する（Ｓ４０４）。ＣＰＵ１１は、例えば、ユーザＩＦ１５を制御して、プリントサーバプログラム４４を終了させるか否かをユーザに問い合わせる表示を行わせ、ユーザの指示を受け付ける。あるいは、ＣＰＵ１１は、非対応プリンタ３のオフライン状態が所定時間以上継続している等の条件を満たした場合、プリントサーバプログラム４４を終了させると判断してもよい。
【００８４】
Ｓ４０４にて、プリントサーバプログラム４４を終了させることが必要と判断した場合（Ｓ４０４：ＹＥＳ）、ＣＰＵ１１は、このプリントサーバプログラム４４によって構成されるプリントサーバがＯＳ４１に登録されているか否かを判断する（Ｓ４０５）。登録されていると判断した場合（Ｓ４０５：ＹＥＳ）、ＣＰＵ１１は、登録を削除する（Ｓ４０６）。
【００８５】
プリントサーバプログラム４４によって構成されるプリントサーバの登録を削除することで、通常のアプリからも非対応プリンタ３に対応する仮想プリンタが選択できなくなり、ユーザが誤って印刷指示を入力することを抑制できる。なお、情報処理装置１のプリントサーバプログラム４４によって構成されるプリントサーバが、他の装置に登録されている場合には、登録を削除するよう他の装置に通知するとよい。
【００８６】
Ｓ４０６の後、または、Ｓ４０５にて、登録されていないと判断した場合（Ｓ４０５：ＮＯ）、ＣＰＵ１１は、プリントサーバプログラム４４を終了する（Ｓ４０７）。そして、ＣＰＵ１１は、情報処理装置１でのバッテリ１８の残量やＣＰＵ１１の使用率の監視を終了した後（Ｓ４０８）、本プリントサーバの終了処理を終了する。なお、プリントサーバプログラム４４を終了する際、終了をユーザに通知しても良い。非対応プリンタ３がオフラインの場合、印刷を行わせることができない。そのため、プリントサーバプログラム４４を終了させることで、情報処理装置１の処理の負荷が軽減される。
【００８７】
次に、プリントサーバの再起動処理の手順について、図１２のフローチャートを参照して説明する。なお、本印刷処理は、情報処理装置１が稼働中、所定時間間隔をおいて定期的にＣＰＵ１１にて実行される。なお、プリントサーバの再起動処理に対応するシーケンス図は存在しないので、図１２に示すフローチャートを参照して説明する。  
【００８８】
まず、ＣＰＵ１１は、情報処理装置１でプリントサーバが稼働中か否かを判断する（Ｓ５０１）。そして、情報処理装置１でプリントサーバが稼働中ではないと判断した場合（Ｓ５０１：ＮＯ）、次に、ＣＰＵ１１は、他の情報処理装置１００、２００から送信されたところのプリントサーバ開始指示コマンドを受信したか否かを判断する（Ｓ５０２）。そして、プリントサーバ開始指示コマンドを受信したと判断した場合（Ｓ５０２：ＹＥＳ）、次に、ＣＰＵ１１は、ＯＳ４１にバッテリ１８の残量やＣＰＵ１１の使用率を問い合わせて取得する（Ｓ５０３）。
【００８９】
次に、ＣＰＵ１１は、取得した情報に基づいてバッテリ１８の残量が閾値以上であるか否か、および、ＣＰＵ１１の使用率が閾値以下であるか否かを判断する（Ｓ５０４）。ＣＰＵ１１は、バッテリ１８の残量が閾値以上であり、且つ、ＣＰＵ１１の使用率が閾値以下であると判断した場合には（Ｓ５０４：ＹＥＳ）、他の情報処理装置１００、２００に対して、プリントサーバの動作停止コマンドを送信する（Ｓ５０５）。次に、ＣＰＵ１１は、他の情報処理装置１００、２００に対して、バッテリ１８の残量やＣＰＵ１１の使用率の監視を終了させるための監視終了コマンドを送信する（Ｓ５０６）。なお、Ｓ５０５の処理が停止コマンド送信処理の一例である。
【００９０】
その後、ＣＰＵ１１は、図８に示すＳ１０１の処理に進んでプリントサーバの起動処理を実行し、情報処理装置１においてプリントサーバを再起動する。なお、図８に示すプリントサーバの起動処理が再開処理の一例である。
【００９１】
一方、Ｓ５０１にて、情報処理装置１でプリントサーバが稼働中と判断した場合（Ｓ５０１：ＹＥＳ）、または、Ｓ５０２にて、プリントサーバ開始指示コマンドを受信していないと判断した場合（Ｓ５０２：ＮＯ）、または、Ｓ５０４にて、バッテリ１８の残量が閾値以上ではない、または、ＣＰＵ１１の使用率が閾値以下ではないと判断した場合（Ｓ５０４：ＮＯ）、本プリントサーバの再起動処理を終了する。
【００９２】
このように本形態では、プリントサーバ機能を停止している際、他の情報処理装置からのプリントサーバ開始指示コマンドを受信したことを契機に、情報処理装置１自身に常駐するプリントサーバプログラム４４などを起動してプリントサーバ機能を再開することで、印刷ジョブの受け取り再開を速やかに行うことができる。
【００９３】
以上、詳細に説明したように、本形態によれば、情報処理装置のバッテリ１８の残量やＣＰＵ１１の使用率などの稼働情報に基づいて、他の情報処理装置にプリントサーバ機能を移動させる条件を満たすか否かを判断し、条件を満たすと判断した場合、他の情報処理装置にプリントサーバ機能を移動させる。そして、他の情報処理装置において、プリントサーバ機能を稼働させ、すなわち、他の情報処理装置にプリントサーバとしての役割を切り換えることで、複数の情報処理装置からプリントサーバ機能を介してプリンタを利用するシステム全体として、プリントサーバ機能が動作しない状況を減らすことができ、プリンタの利用可能性が高まる。
【００９４】
なお、本実施の形態は単なる例示にすぎず、本発明を何ら限定するものではない。したがって本明細書に開示される技術は当然に、その要旨を逸脱しない範囲内で種々の改良、変形が可能である。例えば、本形態を構成する情報処理装置やプリンタの台数は、図１の例に限らない。例えば、対応プリンタ２は、接続されていなくてもよい。
【００９５】
また、本形態では、Ｓ２０５において、ＣＰＵ１１は、情報処理装置１の不揮発性メモリ１４に記憶された管理プログラム４３、プリントサーバプログラム４４、設定ファイルなどを稼働中の他の情報処理装置１００、２００の不揮発性メモリ１４に複写するようにしたが、これに限定されるものではなく、例えば、他の情報処理装置１００、２００の不揮発性メモリ１４に、管理プログラム４３、プリントサーバプログラム４４などのプログラムを常駐させておき、設定ファイルのみを他の情報処理装置１００、２００へ送信するようにしても良い。この際、設定ファイルとプリントサーバの起動指示コマンドとを一緒に送信するようにしても良い。
【００９６】
また、Ｓ２０９において、ＣＰＵ１１は、情報処理装置１でのプリントサーバの動作を終了させ、コンテンツ作成アプリ４２からのコンテンツの受付を終了するように構成したが、情報処理装置１でのプリントサーバの動作は終了させることなく、プリントサーバがＯＳ４１からの印刷ジョブを受け付けなくするように構成しても良い。
【００９７】
また、Ｓ２０１において、ＣＰＵ１１は、ＯＳ４１にバッテリ１８の残量やＣＰＵ１１の使用率を問い合わせて取得できた情報に基づいてバッテリ１８の残量が閾値以下であるか否か、或いは、ＣＰＵ１１の使用率が閾値以上であるか否かを判断するようにしたが、バッテリ１８の残量が閾値以下か否かのみを判断するようにしても良い。この場合、バッテリ１８の残量が少ない場合には、情報処理装置が動作できなくなるリスクが高いことから、他の情報処理装置にプリントサーバとしての役割を代替させる方がより好ましくなる。
【００９８】
また、Ｓ２０１において、ＣＰＵ１１は、情報処理装置１が商用電源（ＡＣ電源１９）による駆動からバッテリ１８による駆動に切り換わったか否かを判断し、切り換ったことを条件にプリントサーバを他の情報処理装置１００、２００へ移動させるようにしても良い。
【００９９】
また、Ｓ２０１において、ＣＰＵ１１は、ＯＳ４１にバッテリ１８の残量やＣＰＵ１１の使用率を問い合わせて取得できた情報に基づいてバッテリ１８の残量が閾値以上であるか否か、および、ＣＰＵ１１の使用率が閾値以下であるか否かを判断するようにしたが、ＣＰＵ１１の使用率が閾値以下であるか否かのみを判断するようにしても良い。この場合、バッテリ１８の残量が少ない場合には、情報処理装置が動作できなくなるリスクが高いことから、他の情報処理装置にプリントサーバとしての役割を代替させる方がより好ましくなる。
【０１００】
また、Ｓ２０２において、ＣＰＵ１１がＬＡＮ４を介し接続された他の情報処理装置１００、２００を検索した際、複数の他の情報処理装置１００、２００が検索された場合、
商用電源（ＡＣ電源１９）に接続された情報処理装置を優先してプリントサーバを移動する先の情報処理装置として選択するようにしても差し支えない。この場合、商用電源と接続される情報処理装置は電力不足に陥るリスクが低いため、代替候補としてより好ましい。
【０１０１】
また、Ｓ２０２において、ＣＰＵ１１がＬＡＮ４を介し接続された他の情報処理装置１００、２００を検索した際、複数の他の情報処理装置１００、２００が検索された場合、ＣＰＵ１１の使用率が少ない情報処理装置を優先してプリントサーバを移動する先の情報処理装置として選択するようにしても差し支えない。この場合、ＣＰＵ１１の使用率が低い情報処理装置は処理遅延が生じるリスクが低いため、代替候補としてより好ましい。
【０１０２】
また、実施の形態に開示されている処理は、単一のＣＰＵ、複数のＣＰＵ、ＡＳＩＣなどのハードウェア、またはそれらの組み合わせで実行されてもよい。また、実施の形態に開示されている処理は、その処理を実行するためのプログラムを記録した記録媒体、または方法等の種々の態様で実現することができる。
【符号の説明】
【０１０３】
１  情報処理装置
３  非対応プリンタ
１１  ＣＰＵ
１４  不揮発性メモリ
１６  ネットワークＩＦ
１７  ＵＳＢ−ＩＦ
４１  ＯＳ
４３  管理プログラム
４４  プリントサーバプログラム
１００  情報処理装置
２００  情報処理装置
【図１】
2020166527.tif 000003
【図２】
2020166527.tif 000004
【図３】
2020166527.tif 000005
【図４】
2020166527.tif 000006
【図５】
2020166527.tif 000007
【図６】
2020166527.tif 000008
【図７】
2020166527.tif 000009
【図８】
2020166527.tif 000010
【図９】
2020166527.tif 000011
【図１０】
2020166527.tif 000012
【図１１】
2020166527.tif 000013
【図１２】
2020166527.tif 000014