(57)【要約】      （修正有）【課題】外部装置からコンテンツを取得する特定の時刻において、負荷を低減できる中継装置を提供する。【解決手段】判断部と、第１の取得部と、第１の送信部と、第２の送信部と、を備える。判断部は、第１の時刻に取得すべきコンテンツのデータ量が閾値以上であるかを判断する。第１の取得部は、判断部によって、データ量が閾値未満であると判断される場合に、第１の時刻Ｔ９７に、コンテンツ情報を用いて外部装置からコンテンツを取得する。第１の送信部は、第１の取得部がコンテンツを取得したことに応じて、コンテンツに基づくコンテンツ関連データを、出力装置に送信する。第２の送信部は、判断部によって、データ量が閾値以上であると判断される場合に、外部装置からコンテンツを取得させるための取得依頼情報を、第１の時刻より前の第２の時刻Ｔ９３に、出力装置に送信する。【選択図】図５
2016186684.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して、コンテンツを格納する外部装置からコンテンツを取得可能な中継装置であって、
第１の時刻に取得すべきコンテンツのデータ量が閾値以上であるか否かを判断する判断部と、
前記判断部によって、前記データ量が閾値未満であると判断される場合に、前記第１の時刻に、前記中継装置によって管理されるコンテンツ情報を用いて外部装置からコンテンツを取得し、前記判断部によって、前記データ量が閾値以上であると判断される場合に、前記外部装置からコンテンツを取得しない第１の取得部と、
前記第１の取得部が前記コンテンツを取得したことに応じて、前記コンテンツに基づくコンテンツ関連データを、出力装置に送信する第１の送信部と、
前記判断部によって、前記データ量が閾値以上であると判断される場合に、前記コンテンツ情報に基づく情報であって、前記外部装置からコンテンツを取得させるための取得依頼情報を、前記第１の時刻より前の第２の時刻に、前記出力装置に送信する第２の送信部と、
を備える中継装置。
【請求項２】
請求項１に記載の中継装置であって、
前記中継装置は、第１の出力装置と第２の出力装置とを含む複数の出力装置と接続され、
前記判断部によって、前記データ量が閾値以上であると判断される場合に、
前記第１の取得部は、
前記コンテンツ情報を用いて、前記第１の出力装置に送信されるべき第１のコンテンツ関連データのための第１のコンテンツを、前記第１の時刻に取得し、
前記第２の出力装置に送信されるべき第２のコンテンツ関連データのための第２のコンテンツを取得せず、
前記第１の送信部は、前記第１の取得部が前記第１のコンテンツを取得したことに応じて、前記第１のコンテンツ関連データを、前記第１の出力装置に送信し、
前記第２の送信部は、前記外部装置から前記第２のコンテンツを取得させるための取得依頼情報を、前記第２の時刻に、前記第２の出力装置に送信する、中継装置。
【請求項３】
請求項２に記載の中継装置であって、
前記複数の出力装置は、前記第１の出力装置を含む第１の出力装置群と、前記第２の出力装置を含む第２の出力装置群と、に分類され、
前記第１の出力装置群に含まれる出力装置は、前記中継装置から、前記第１の出力装置群に属する全ての出力装置と、前記第２の出力装置群に属する全ての出力装置とを含む、前記複数の出力装置に対して、前記第１の時刻に取得されるべき全てのコンテンツに基づくコンテンツ関連データのうち、閾値分のデータ量のコンテンツ関連データが送信されるべき出力装置であり、
前記第２の出力装置群に含まれる出力装置は、前記中継装置から、前記第１の出力装置群に属する全ての出力装置と、前記第２の出力装置群に属する全ての出力装置とを含む、前記複数の出力装置に対して、前記第１の時刻に取得されるべき全てのコンテンツに基づくコンテンツ関連データのうち、閾値分のデータ量のコンテンツ関連データを除いた前記コンテンツ関連データが送信されるべき出力装置である、中継装置。
【請求項４】
請求項２又は３に記載の中継装置であって、
第１の出力装置と第２の出力装置とを含む複数の前記出力装置は、それぞれ、前記出力装置固有の能力値を示す能力情報を記憶部に記憶し、
前記第２の送信部は、前記第１の出力装置の能力値よりも高い能力値を持つ前記第２の出力装置に、前記取得依頼情報を送信する、中継装置。
【請求項５】
請求項２から４のいずれか一項に記載の中継装置であって、
前記第２の送信部は、前記第１の出力装置に送信されるべきコンテンツ関連データのデータ量よりも、少ないデータ量のコンテンツ関連データが送信されるべき前記第２の出力装置に、前記取得依頼情報を送信する、中継装置。
【請求項６】
請求項１から５のいずれか一項に記載の中継装置であって、
前記第１の取得部は、前記外部装置にアクセスするための認証情報を用いて、前記外部装置からコンテンツを取得し、
前記第２の送信部は、前記第１の時刻を示す情報と、前記認証情報とを含む前記取得依頼情報を前記出力装置に送信する、中継装置。
【請求項７】
請求項１から６のいずれか一項に記載の中継装置であって、
さらに、ユーザの指示に基づいて、前記出力装置とコンテンツの取得時刻とを関連付けた前記コンテンツ情報を登録する登録部を備え、
前記判断部は、前記登録部によって登録された前記コンテンツ情報に基づき、前記データ量が閾値以上であるか否かを判断する、中継装置。
【請求項８】
中継装置と出力装置とを含む通信システムであって、
前記中継装置は、
第１の時刻に取得すべきコンテンツのデータ量が閾値以上であるか否かを判断する判断部と、
前記判断部によって、前記データ量が閾値未満であると判断される場合に、前記第１の時刻に前記中継装置によって管理されるコンテンツ情報を用いて外部装置からコンテンツを取得し、前記判断部によって、前記データ量が閾値以上であると判断される場合に、前記外部装置からコンテンツを取得しない第１の取得部と、
前記第１の取得部が前記コンテンツを取得したことに応じて、前記コンテンツに基づくコンテンツ関連データを、前記出力装置に送信する第１の送信部と、
前記判断部によって、前記データ量が閾値以上であると判断される場合に、前記コンテンツ情報に基づく情報であって、前記外部装置からコンテンツを取得させるための取得依頼情報を、前記第１の時刻より前の第２の時刻に、前記出力装置に送信する第２の送信部と、
を備え、
前記出力装置は、
前記中継装置から前記コンテンツ関連データを受信した場合に、前記外部装置からコンテンツを取得せず、前記中継装置から前記取得依頼情報を受信した場合に、前記第１の時刻に、前記取得依頼情報を用いて、前記外部装置からコンテンツを取得する第２の取得部と、
前記中継装置から前記コンテンツ関連データを受信した場合に、受信した前記コンテンツ関連データに基づいて出力処理を制御し、前記中継装置から前記取得依頼情報を受信した場合に、前記第２の取得部によって取得されたコンテンツに基づいて出力処理を制御する出力制御部と、
を備える、通信システム。
【請求項９】
中継装置と管理装置と出力装置とを含む通信システムであって、
前記中継装置は、
第１の時刻に取得すべきコンテンツのデータ量が閾値以上であるか否かを判断する判断部と、
前記判断部によって、前記データ量が閾値未満であると判断される場合に、前記第１の時刻に、前記中継装置によって管理されるコンテンツ情報を用いて外部装置からコンテンツを取得し、前記判断部によって、前記データ量が閾値以上であると判断される場合に、前記外部装置からコンテンツを取得しない第１の取得部と、
前記第１の取得部が前記コンテンツを取得したことに応じて、前記コンテンツに基づくコンテンツ関連データを、前記管理装置に送信する第１の送信部と、
前記判断部によって、前記データ量が閾値以上であると判断される場合に、前記コンテンツ情報に基づく情報であって、前記外部装置からコンテンツを取得させるための取得依頼情報を、前記第１の時刻より前の第２の時刻に、前記管理装置に送信する第２の送信部と、
を備え、
前記管理装置と前記出力装置とは、前記中継装置が前記管理装置を介して前記出力装置にコンテンツを送信することに先行して、特定のプロトコルによる接続が確立され、
前記管理装置は、
前記中継装置から前記コンテンツ関連データを受信した場合に、前記特定のプロトコルにしたがって確立済みの接続を用いて、前記コンテンツ関連データを前記出力装置に送信し、前記中継装置から前記取得依頼情報を受信した場合に、前記特定のプロトコルにしたがって確立済みの接続を用いて、前記取得依頼情報を前記出力装置に送信する第３の送信部を備え、
前記出力装置は、
前記管理装置から前記コンテンツ関連データを受信した場合に、前記外部装置からコンテンツを取得せず、前記管理装置から前記取得依頼情報を受信した場合に、前記第１の時刻に、前記取得依頼情報を用いて、前記外部装置からコンテンツを取得する第２の取得部と、
前記管理装置から前記コンテンツ関連データを受信した場合に、受信した前記コンテンツ関連データに基づいて出力処理を制御し、前記管理装置から前記取得依頼情報を受信した場合に、前記第２の取得部によって取得された前記コンテンツに基づいて出力処理を制御する出力制御部と、
を備える、通信システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザの指定するコンテンツを所定のタイミングで印刷装置に送信する管理装置、及び通信システムに関する。
【背景技術】
【０００２】
従来、サーバが、インターネットを介して、外部のサーバからコンテンツを取得し、取得したコンテンツをプリンタに配信して、プリンタが、コンテンツを印刷する技術が存在する。特許文献１には、プリンタが定期的にコンテンツの配信を配信サーバに要求し、要求されたコンテンツが配信されるべき時刻であった場合に、配信サーバがプリンタにコンテンツを配信する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−８７２３７号公報
【特許文献２】特開２００７−１８１９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１の技術では、配信サーバが、コンテンツの配信時刻に、コンテンツサーバから取得したコンテンツをプリンタに配信できる。しかしながら、特許文献１の技術では、配信時間にコンテンツサーバから取得すべきコンテンツのデータ量が多い場合について考慮されておらず、コンテンツの配信時に配信サーバの負荷が大きくなるという問題があった。
【０００５】
本発明は、上記のような事情に基づいて完成されたものであって、外部装置からコンテンツを取得する特定の時刻において、中継装置の負荷が大きい場合に、中継装置の負荷を低減できる技術を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、本発明の中継装置は、コンテンツを格納する外部装置からコンテンツを取得可能な中継装置であって、判断部と、第１の取得部と、第１の送信部と、第２の送信部と、を備える。判断部は、第１の時刻に取得すべきコンテンツのデータ量が閾値以上であるか否かを判断する。第１の取得部は、判断部によって、データ量が閾値未満であると判断される場合に、第１の時刻に、中継装置によって管理されるコンテンツ情報を用いて外部装置からコンテンツを取得し、判断部によって、データ量が閾値以上であると判断される場合に、外部装置からコンテンツを取得しない。第１の送信部は、第１の取得部がコンテンツを取得したことに応じて、コンテンツに基づくコンテンツ関連データを、出力装置に送信する。第２の送信部は、判断部によって、データ量が閾値以上であると判断される場合に、コンテンツ情報に基づく情報であって、外部装置からコンテンツを取得させるための取得依頼情報を、第１の時刻より前の第２の時刻に、出力装置に送信する。
【０００７】
上記の構成によると、本発明の中継装置は、中継装置から第１の時刻に取得すべきコンテンツのデータ量が閾値以上である場合に、外部装置からコンテンツを取得せず、出力装置にコンテンツを取得させるための取得依頼情報を送信する。これによって、出力装置にコンテンツを取得させることができるため、中継装置が取得するコンテンツのデータ量が減り、中継装置の負荷が低減する。例えば、中継装置から第１の時刻に送信すべきコンテンツ関連データのデータ量が閾値以上である場合は、中継装置の負荷が大きいことが想定される。したがって、本発明の中継装置は、外部装置からコンテンツを取得する第１の時刻において、中継装置の負荷が大きい場合に、中継装置の負荷を低減することができる。
【０００８】
また、上記の中継装置は、第１の出力装置と第２の出力装置とを含む複数の出力装置と接続されてもよい。さらに、判断部によって、データ量が閾値以上であると判断される場合に、第１の取得部が、コンテンツ情報を用いて、第１の出力装置に送信されるべき第１のコンテンツ関連データのための第１のコンテンツを、第１の時刻に取得し、第２の出力装置に送信されるべき第２のコンテンツ関連データのための第２のコンテンツを取得しなくてもよい。さらに、第１の送信部は、第１の取得部が第１のコンテンツを取得したことに応じて、第１のコンテンツ関連データを、第１の出力装置に送信してもよい。さらに、第２の送信部は、外部装置から第２のコンテンツを取得させるための取得依頼情報を、第２の時刻に、第２の出力装置に送信してもよい。
【０００９】
これによって、中継装置は、第１の時刻に取得すべきコンテンツのデータ量が閾値以上である場合に、第１の出力装置に第１のコンテンツ関連データを送信し、第２の出力装置に取得依頼情報を送信する。したがって、中継装置の負荷が大きい場合に、中継装置の負荷を低減することができる。
【００１０】
また、上記の中継装置は、複数の出力装置が、第１の出力装置を含む第１の出力装置群と、第２の出力装置を含む第２の出力装置群と、に分類されてもよい。さらに、第１の出力装置群に含まれる出力装置は、中継装置から、第１の出力装置群に属する全ての出力装置と、第２の出力装置群に属する全ての出力装置とを含む、複数の出力装置に対して、第１の時刻に取得されるべき全てのコンテンツに基づくコンテンツ関連データのうち、閾値分のデータ量のコンテンツ関連データが送信されるべき出力装置であってもよい。さらに、第２の出力装置群に含まれる出力装置は、中継装置から、第１の出力装置群に属する全ての出力装置と、第２の出力装置群に属する全ての出力装置とを含む、複数の出力装置に対して、第１の時刻に取得されるべき全てのコンテンツに基づくコンテンツ関連データのうち、閾値分のデータ量のコンテンツ関連データを除いたコンテンツ関連データが送信されるべき出力装置であってもよい。
【００１１】
これによって、中継装置は、第１の時刻に取得すべきコンテンツのデータ量が閾値以上である場合に、コンテンツに基づくコンテンツ関連データのうち、閾値分のデータ量のコンテンツ関連データを除いたコンテンツ関連データが送信されるべき出力装置に取得依頼情報を送信する。したがって、中継装置の負荷が大きい場合に、中継装置の負荷を低減することができる。
【００１２】
また、上記の中継装置に接続される第１の出力装置と第２の出力装置とを含む複数の出力装置は、それぞれ、出力装置固有の能力値を示す能力情報を記憶部に記憶してもよい。さらに、上記の中継装置は、第２の送信部が、第１の出力装置の能力値よりも高い能力値を持つ第２の出力装置に、取得依頼情報を送信してもよい。
【００１３】
これによって、中継装置から、能力値の高い出力装置に取得依頼情報が送信される。したがって、能力値の高い出力装置に、優先的にコンテンツを取得させることができる。
【００１４】
また、上記の中継装置は、第２の送信部が、第１の出力装置に送信されるべきコンテンツ関連データのデータ量よりも、少ないデータ量のコンテンツ関連データが送信されるべき第２の出力装置に、取得依頼情報を送信してもよい。
【００１５】
これによって、中継装置から、送信されるべきコンテンツ関連データが少ない出力装置に取得依頼情報が送信される。したがって、送信されるべきコンテンツ関連データが少ない出力装置に、優先的にコンテンツを取得させることができる。
【００１６】
また、上記の中継装置は、第１の取得部が、外部装置にアクセスするための認証情報を用いて、外部装置からコンテンツを取得してもよい。さらに、第２の送信部が、第１の時刻を示す情報と、認証情報とを含む取得依頼情報を出力装置に送信してもよい。
【００１７】
これによって、出力装置は、コンテンツを取得すべき第１の時刻と、外部装置にアクセスするための認証情報とを取得する。したがって、出力装置に、第１の時刻に、認証情報を用いて外部装置からコンテンツを取得させることができる
また、上記の中継装置は、さらに、ユーザの指示に基づいて、出力装置とコンテンツの取得時刻とを関連付けたコンテンツ情報を登録する登録部を備えてもよい。さらに、判断部が、登録部によって登録されたコンテンツ情報に基づき、データ量が閾値以上であるか否かを判断してもよい。
【００１８】
これによって、ユーザは、コンテンツデータの取得時刻と、コンテンツデータを印刷する出力装置と、を中継装置に登録することができる。
【００１９】
本発明の通信システムは、上記の中継装置と、出力装置と、を含む。出力装置は、第２の取得部と、出力制御部と、を備える。第２の取得部は、中継装置からコンテンツ関連データを受信した場合に、外部装置からコンテンツを取得せず、中継装置から取得依頼情報を受信した場合に、第１の時刻に、取得依頼情報を用いて、外部装置からコンテンツを取得する。出力制御部は、中継装置からコンテンツ関連データを受信した場合に、受信したコンテンツ関連データに基づいて出力処理を制御し、中継装置から取得依頼情報を受信した場合に、第２の取得部によって取得されたコンテンツに基づいて出力処理を制御する。
【００２０】
また、本発明の通信システムは、上記の中継装置と、管理装置と、上記の出力装置と、を含む。管理装置と出力装置とは、中継装置が管理装置を介して出力装置にコンテンツを送信することに先行して、特定のプロトコルによる接続が確立される。管理装置は、第３の送信部を備える。第３の送信部は、中継装置からコンテンツ関連データを受信した場合に、特定のプロトコルにしたがって確立済みの接続を用いて、コンテンツ関連データを出力装置に送信し、中継装置から取得依頼情報を受信した場合に、特定のプロトコルにしたがって確立済みの接続を用いて、取得依頼情報を出力装置に送信する。
【００２１】
上記の構成によると、本発明の通信システムは、中継装置から第１の時刻に取得すべきコンテンツのデータ量が閾値以上である場合に、中継装置が、出力装置にコンテンツを取得させるための取得依頼情報を送信し、出力装置が、取得依頼情報を用いてコンテンツを取得する。これによって、中継装置が取得するコンテンツのデータ量が減り、中継装置の負荷が低減する。例えば、中継装置から第１の時刻に送信すべきコンテンツ関連データのデータ量が閾値以上である場合は、中継装置の負荷が大きいことが想定される。したがって、本発明の通信システムは、外部装置からコンテンツを取得する第１の時刻において、中継装置の負荷が大きい場合に、中継装置の負荷を低減することができる。
【００２２】
さらに、本発明の中継装置、管理装置、及び出力装置のそれぞれの機能を実現するための制御方法、コンピュータプログラム、及び、当該コンピュータプログラムを格納するためのコンピュータ読み取り可能記憶媒体も新規で有用である。
【図面の簡単な説明】
【００２３】
【図１】通信システムの構成図である。
【図２】中継サーバのメモリに格納されるテーブルを示す図である。
【図３】デバイス登録処理のシーケンス図である。
【図４】中継サーバの負荷が小さい場合のコンテンツデータ印刷処理のシーケンス図である。
【図５】中継サーバの負荷が大きい場合のコンテンツデータ印刷処理のシーケンス図である。
【図６】コンテンツデータ印刷処理のフローチャートである。
【発明を実施するための形態】
【００２４】
（実施例）
図１〜６を参照して実施例を説明する。図１は、本発明の管理サーバが中継サーバを介してプリンタへコンテンツデータを送信する際の通信システムの構成図である。図１に示すように、通信システム２は、中継サーバ１０と、プリンタ５０と、プリンタ８０と、デバイス管理サーバ９０と、サービスサーバ１１０と、サービスサーバ１２０と、端末装置２１０と、端末装置２２０と、を備える。
【００２５】
プリンタ５０と端末装置２１０とは、同一のローカルエリアネットワーク５（以下ではＬＡＮ５と呼ぶ）に所属している。したがって、プリンタ５０はインターネット４を介さずに、ＬＡＮ５を介して端末装置２１０と通信可能である。また、プリンタ８０と端末装置２２０とは、ＬＡＮ５とは別のＬＡＮ６に所属している。同様にして、プリンタ８０は、インターネット４を介さずに、ＬＡＮ６を介して端末装置２２０と通信可能である。
【００２６】
中継サーバ１０と、デバイス管理サーバ９０と、サービスサーバ１１０と、サービスサーバ１２０と、はＬＡＮ５内やＬＡＮ６内に存在せず、インターネット４上に設置され、インターネット４を介して互いに通信可能である。したがって、中継サーバ１０と、デバイス管理サーバ９０と、サービスサーバ１１０と、サービスサーバ１２０とは、インターネット４及びＬＡＮ５を介してプリンタ５０及び端末装置２１０と通信可能であり、インターネット４及びＬＡＮ６を介してプリンタ８０及び端末装置２２０と通信可能である。なお、通信システム２を構成するプリンタ、ＰＣ、サービスサーバのそれぞれは２台ずつに限定されるものではなく、何台接続されてもよい。
【００２７】
（中継サーバ１０の構成）
中継サーバ１０は、サービスサーバ１１０，１２０から提供されるコンテンツデータを管理するとともに、プリンタ５０，８０に対して所定の時刻に所定のコンテンツデータを送信する。サービスサーバ１１０，１２０からコンテンツデータを取得する取得時刻、送信されるコンテンツデータ、コンテンツデータを印刷するプリンタの指定はあらかじめ端末装置２１０，２２０を介してユーザによって行われる。
【００２８】
中継サーバ１０は、ネットワークインターフェース（ネットワークＩ／Ｆ）２０と、制御部３０と、を備える。ネットワークＩ／Ｆ２０は、ＬＡＮやインターネット等のネットワークを介して信号のやり取りを行うためのＩ／Ｆである。
【００２９】
制御部３０は、ＣＰＵ３２と、メモリ３４と、を備える。ＣＰＵ３２は、メモリ３４に格納されるプログラム３６にしたがって、後述するデバイス登録処理とコンテンツデータ印刷処理とを実行する。メモリ３４には、プログラム３６と、ユーザ情報テーブル３８と、コンテンツ情報テーブル４０と、が格納されている。メモリ３４は、例えばＲＡＭやＲＯＭ等である。
【００３０】
図２は、メモリ３４に格納されるテーブルを示す図である。図２（ａ）は、ユーザ情報テーブル３８を示す図であり、図２（ｂ）は、コンテンツ情報テーブル４０を示す図である。
【００３１】
ユーザ情報テーブル３８には、ユーザを識別するユーザＩＤと、コンテンツデータを識別するコンテンツＩＤと、が記憶されている。コンテンツ情報テーブル４０には、コンテンツＩＤと、コンテンツデータの取得時刻と、コンテンツデータを提供するサービスサーバのサービス名と、サービスサーバのサービスを利用するためのアカウントと、パスワードと、認証情報であるトークンと、コンテンツデータを印刷するプリンタのデバイスＩＤと、プリンタの能力を数値化したプリンタ固有の能力値と、が記憶されている。
【００３２】
（サービスサーバ１１０，１２０の構成）
サービスサーバ１００，１２０は、中継サーバから受信したコンテンツデータ取得要求に基づき、作成したコンテンツデータを中継サーバ１０に送信する。
【００３３】
（デバイス管理サーバ９０の構成）
デバイス管理サーバ９０は、中継サーバ１０がプリンタ５０，８０に対してデータを送信する際に、データを中継する。
【００３４】
（プリンタ５０の構成）
プリンタ５０は、取得したコンテンツデータを印刷する。プリンタ５０は、操作部５２と、表示部５４と、印刷実行部５６と、制御部７０と、ネットワークＩ／Ｆ６０と、を備える。
【００３５】
操作部５２は、複数のキーを備える。ユーザは、操作部５２を操作することによって、さまざまな指示をプリンタ５０に入力することができる。表示部５４は、さまざまな情報を表示するためのディスプレイである。制御部７０は、ＣＰＵ７２と、メモリ７４と、を備える。ＣＰＵ７２は、メモリ７４に格納されるプログラム７６にしたがって、さまざまな処理を実行する。メモリ７４は、例えばＲＡＭやＲＯＭ等である。ネットワークＩ／Ｆ６０は、ＬＡＮやインターネット等のネットワークを介して信号のやり取りを行うためのＩ／Ｆである。
【００３６】
（端末装置２１０，２２０の構成）
端末装置２１０，２２０は、取得するコンテンツデータと、コンテンツデータの取得時刻と、コンテンツデータを印刷するプリンタと、を設定し中継サーバ１０に送信する。端末装置２１０，２２０は、例えばＰＣ、携帯電話、スマートフォン、タブレット端末である。
【００３７】
（システムの動作）
図３〜５を参照して、通信システム２の動作を説明する。通信システム２の動作には、デバイス登録処理とコンテンツデータ印刷処理とを含む。
【００３８】
（デバイス登録処理）
図３を参照して、通信システム２によって行われる、プリンタ５０とプリンタ８０とをデバイス管理サーバ９０に登録するデバイス登録処理について説明する。図３は、デバイス登録処理のシーケンス図である。なお、本実施例では、端末装置２１０と端末装置２２０とが中継サーバ１０にアクセスするためのユーザＩＤＵＳ１，ＵＳ２は、あらかじめ中継サーバ１０に登録されている。初めに、プリンタ５０をデバイス管理サーバ９０に登録する処理について説明する。
【００３９】
まず、Ｔ１０において、端末装置２１０は、ユーザからの指示に応じて、中継サーバ１０に対してユーザＩＤＵＳ１を含むＰＩＮコード発行依頼を送信する。ＰＩＮコード発行依頼は、ＰＩＮコードＰＣ１をデバイス管理サーバ９０に発行させるための要求を送信することを、中継サーバ１０に依頼するためのコマンドである。ＰＩＮコードは、デバイス管理サーバ９０が、プリンタ５０と接続するために、プリンタ５０から受信すべき情報である。
【００４０】
次に、Ｔ１２において、中継サーバ１０は、端末装置２１０からＰＩＮコード発行依頼を受信することに応じて、デバイス管理サーバ９０に対して、ユーザＩＤＵＳ１を含むＰＩＮコード発行要求を送信する。ＰＩＮコード発行要求は、ＰＩＮコードＰＣ１の発行をデバイス管理サーバ９０に要求するためのコマンドである。
【００４１】
次に、Ｔ１３において、デバイス管理サーバ９０は、ＰＩＮコード発行要求を受信することに応じて、ＰＩＮコードＰＣ１を生成する。デバイス管理サーバ９０は、ユーザＩＤＵＳ１とＰＩＮコードＰＣ１とを対応付けてメモリ（図示せず）に登録する。
【００４２】
次に、Ｔ１４において、デバイス管理サーバ９０は、中継サーバ１０に対して、Ｔ１３で生成したＰＩＮコードＰＣ１を送信する。
【００４３】
次に、Ｔ１６において、中継サーバ１０は、デバイス管理サーバ９０からＰＩＮコードＰＣ１を受信することに応じて、端末装置２１０に対して、ＰＩＮコードＰＣ１を送信する。
【００４４】
次に、Ｔ１７において、端末装置２１０は、中継サーバ１０からＰＩＮコードＰＣ１を受信することに応じて、ディスプレイ（図示せず）にＰＩＮコードＰＣ１を表示する。これにより、ユーザは、ＰＩＮコードを知ることができる。
【００４５】
次に、Ｔ１８において、プリンタ５０は、ユーザによるＰＩＮコードＰＣ１とユーザＩＤＵＳ１との入力を受け付ける。
【００４６】
次に、Ｔ２０において、プリンタ５０は、ユーザによってユーザＩＤＵＳ１とＰＩＮコードＰＣ１とが入力されることに応じて、デバイス管理サーバ９０に対して、ユーザＩＤＵＳ１と、ＰＩＮコードＰＣ１と、プリンタ５０に対応するデバイスＩＤＤＶ１と、プリンタ５０の能力値と、を送信する。デバイスＩＤはプリンタの種別を示すデバイス名である。能力値は、プリンタのベンダが、プリンタに搭載されるＣＰＵの性能やメモリ容量に応じて、プリンタの種別ごとに決定する仮想的な値であり、プリンタの出荷時にプリンタのメモリ内に記憶される。
【００４７】
デバイス管理サーバ９０は、ユーザＩＤＵＳ１とＰＩＮコードＰＣ１とデバイスＩＤＤＶ１と能力値を受信することに応じて、ユーザＩＤＵＳ１とデバイスＩＤＤＶ１と能力値とを対応付けてメモリに記憶する。ユーザＩＤＵＳ１に対応付けられていたＰＩＮコードＰＣ１は破棄される。これにより、プリンタ５０とデバイス管理サーバ９０との間に常時接続と呼ばれるＸＭＰＰ接続が確立される。
【００４８】
プリンタ５０が所属するＬＡＮ５は、通常、インターネット４からの不正なアクセスを制限するためのファイアーウォール等を備える。このために、デバイス管理サーバ９０は、ＬＡＮ５に所属するプリンタ５０からの要求がなされることなく、インターネット４を介してプリンタ５０にデータを送信することはできない。したがって、プリンタ５０からの要求なしに、デバイス管理サーバ９０がインターネット４を介してプリンタ５０にデータを送信するためには、デバイス管理サーバ９０とプリンタ５０の間で、あらかじめＸＭＰＰ接続を確立しておく必要がある。
【００４９】
また、プリンタ８０をデバイス管理サーバ９０に登録する処理も、前述した、プリンタ５０をデバイス管理サーバ９０に登録する処理と同様にして実行される。Ｔ２２からＴ３２の処理は、Ｔ１０からＴ２０の処理に対応する。
【００５０】
（コンテンツデータ印刷処理）
図４及び図５を参照して、通信システム２によって行われる、コンテンツデータ印刷処理について説明する。なお、本実施例では、サービスサーバ１１０のサービスを利用可能なアカウントはあらかじめサービスサーバ１１０に登録されている。
【００５１】
図４は、特定の時刻において中継サーバの負荷が小さい場合のコンテンツデータ印刷処理のシーケンス図である。図４のコンテンツデータ印刷処理は、図３のデバイス登録処理の後に実行される。
【００５２】
まず、Ｔ５０の処理に先行して、端末装置２１０は、ユーザからの指示に応じて、ユーザＩＤＵＳ１を中継サーバ１０に送信し、中継サーバ１０に対する認証を行う。認証が完了した場合に、中継サーバ１０は、デバイス管理サーバ９０からユーザＩＤＵＳ１に対応するデバイスＩＤＤＶ１を取得し、取得したデバイスＩＤＤＶ１を端末装置２１０に送信する。
【００５３】
Ｔ５０において、端末装置２１０は、ユーザからの指示に応じて、中継サーバ１０に対してコンテンツ情報を送信する。コンテンツ情報には、ユーザＩＤＵＳ１と、サービスサーバ１１０からコンテンツデータＣＤ１を取得する取得時刻ＴＭ１と、コンテンツデータＣＤ１を提供するサービスサーバ１１０のサービス名ＳＮ１と、サービスサーバ１１０のサービスを利用するためのアカウントＡＣ１と、パスワードＰＷ１と、コンテンツデータＣＤ１を印刷するプリンタのデバイスＩＤＤＶ１と、が含まれる。
【００５４】
中継サーバ１０は、端末装置２１０から受信したコンテンツ情報に基づいて、ユーザ情報テーブル３８と、コンテンツ情報テーブル４０と、に情報を追加する。具体的には、まず、中継サーバ１０は、受信したコンテンツ情報に対応するコンテンツデータＣＤ１のコンテンツＩＤＣＴ１を生成する。次に、中継サーバ１０は、ユーザ情報テーブル３８において、受信したユーザＩＤＵＳ１に生成したコンテンツＩＤＵＳ１を対応付けて登録する。次に、中継サーバ１０は、コンテンツ情報テーブル４０において、生成したコンテンツＩＤＣＴ１を追加する。中継サーバ１０は、追加したコンテンツＩＤＣＴ１に、取得時刻ＴＭ１と、サービス名ＳＮ１と、アカウントＡＣ１と、パスワードＰＷ１と、デバイスＩＤＤＶ１と、を対応付けて登録する。
【００５５】
次に、Ｔ５２において、中継サーバ１０は、デバイス管理サーバ９０に対して、デバイスＩＤＤＶ１を含む、能力値取得要求を送信する。能力値取得要求は、デバイスＩＤＤＶ１に対応するプリンタ５０の能力値の取得を、デバイス管理サーバ９０に要求するコマンドである。
【００５６】
次に、Ｔ５３において、デバイス管理サーバ９０は、中継サーバ１０から能力値取得要求を取得することに応じて、中継サーバ１０に対して、デバイスＩＤＤＶ１に対応するプリンタ５０の能力値を送信する。中継サーバ１０は、デバイス管理サーバ９０から能力値を取得したことに応じて、デバイスＩＤＤＶ１と能力値とをコンテンツ情報テーブル４０に登録する。Ｔ５３までの処理が完了すると、中継サーバ１０へのコンテンツ情報の登録が完了する。
【００５７】
その後、Ｔ５４において、中継サーバ１０は、サービスサーバ１１０からコンテンツデータを取得する取得時刻における、中継サーバ１０の負荷を、定期的に確認する。中継サーバ１０は、負荷を所定期間ごと（例えば１時間ごと）に確認する。このとき、コンテンツデータ情報テーブル４０において、負荷を確認する時刻から所定期間後までの間に設定されているコンテンツデータの取得時刻を抽出する。中継サーバ１０は、抽出した取得時刻ごとの負荷を、抽出した取得時刻ごとのコンテンツデータのデータ量にしたがって特定する。なお、所定期間内の各取得時刻の負荷は、負荷を確認する時刻にまとめて確認する。
【００５８】
取得時刻における中継サーバ１０の負荷は、取得すべきコンテンツデータが多いほど大きくなると想定される。したがって、中継サーバ１０は、取得時刻における中継サーバ１０の負荷を、コンテンツ情報テーブル４０に記憶されているコンテンツＩＤの数によって確認する。
【００５９】
具体的には、中継サーバ１０は、コンテンツ情報テーブル４０において、取得時刻ＴＭ１に取得が予定されているコンテンツＩＤの数を算出する。次に、中継サーバ１０は、算出したコンテンツＩＤの数が閾値以上であるか否かを判断する。閾値は、中継サーバ１０の管理者が、取得時刻に中継サーバ１０に取得させることができると推定するコンテンツＩＤの数から、あらかじめ設定する値である。したがって、例えば、取得時刻ＴＭ１に取得が予定されているコンテンツＩＤの数が閾値以上である場合は、取得時刻ＴＭ１における中継サーバ１０の負荷が大きいと想定され、閾値未満である場合は、負荷が小さいと想定される。図４では、取得時刻ＴＭ１に取得が予定されているコンテンツＩＤの数が閾値未満であり、負荷が小さいと想定される場合を図示している。
【００６０】
次に、Ｔ５６において、中継サーバ１０は、サービス名ＳＮ１に対応するサービスサーバ１１０に対して、アカウントＡＣ１とパスワードＰＷ１とを含むトークン発行要求を送信する。Ｔ５６の処理は取得時刻ＴＭ１に実行される。トークン発行要求は、トークンの発行をサービスサーバ１１０に要求するためのコマンドである。
【００６１】
次に、Ｔ５７において、サービスサーバ１１０は、中継サーバ１０からトークン発行要求を受信することに応じて、トークンＴＫ１を生成する。
【００６２】
次に、Ｔ５８において、サービスサーバ１１０は、中継サーバ１０に対して、Ｔ５７で生成したトークンＴＫ１を送信する。中継サーバ１０は、サービスサーバ１１０からトークンＴＫ１を受信することに応じて、トークンＴＫ１をアカウントＡＣ１に対応付けて、コンテンツ情報テーブル４０に登録する。
【００６３】
次に、Ｔ６０において、中継サーバ１０は、サービスサーバ１１０に対して、トークンＴＫ１を含むコンテンツデータ取得要求を送信する。コンテンツデータ取得要求は、サービスサーバ１１０によって提供されるコンテンツデータＣＤ１の取得を要求するためのコマンドである。
【００６４】
次に、Ｔ６２において、サービスサーバ１１０は、コンテンツデータ取得要求を受信することに応じて、中継サーバ１０に対して、コンテンツデータＣＤ１を送信する。コンテンツデータＣＤ１は、ＰＤＬによって記述された描画コマンドである。
【００６５】
次に、Ｔ６４において、中継サーバ１０は、サービスサーバ１１０からコンテンツデータＣＤ１を受信することに応じて、デバイス管理サーバ９０に対して、コンテンツデータＣＤ１と、コンテンツデータＣＤ１を印刷するプリンタ５０に対応するデバイスＩＤＤＶ１と、を送信する。
【００６６】
次に、Ｔ６６おいて、デバイス管理サーバ９０は、中継サーバ１０からコンテンツデータＣＤ１とデバイスＩＤＤＶ１とを受信することに応じて、デバイスＩＤＤＶ１に対応するプリンタ５０に対して、コンテンツデータＣＤ１を送信する。
【００６７】
次に、Ｔ６８において、プリンタ５０は、コンテンツデータＣＤ１を受信することに応じて、コンテンツデータＣＤ１を印刷する。具体的には、ＣＰＵ３２は、コンテンツデータＣＤ１に含まれる各画素に対して、ＲＧＢ値をＣＭＹＫ値に変換する色変換処理を実行する。これによって、各画素に０〜２５５のＣＭＹＫ値が付与されたＣＭＹＫ出力データを生成する。次に、ＣＰＵ２２は、ＣＭＹＫ出力データに対して、二値化処理を実行する。二値化処理には、例えば、ディザ法や誤差拡散法が用いられる。これによって、各画素が、１又は０の二階調の画素値を持つ印刷データを生成する。ここで、１は、印刷媒体上にドットを形成することを示し、０は、印刷媒体上にドットを形成しないことを示す。プリンタ５０は、生成した印刷データを印刷する。
【００６８】
図５は、特定の時刻において中継サーバの負荷が大きい場合のコンテンツデータ印刷処理のシーケンス図である。図５のコンテンツデータ印刷処理は、図３のデバイス登録処理の後に実行される。
【００６９】
まず、Ｔ８０において、端末装置２１０は、ユーザからの指示に応じて、中継サーバ１０に対してコンテンツ情報を送信する。具体的な処理は、Ｔ５０と同様である。
【００７０】
次に、Ｔ８１，Ｔ８２において、中継サーバ１０は、デバイス管理サーバ９０からプリンタ５０の能力値を取得し、コンテンツ情報テーブル４０に登録する。Ｔ８１，Ｔ８２の具体的な処理は、Ｔ５２，Ｔ５３と同様である。
【００７１】
次に、Ｔ８３において、端末装置２２０は、ユーザからの指示に応じて、中継サーバ１０に対してコンテンツ情報を送信する。コンテンツ情報には、ユーザＩＤＵＳ２と、サービスサーバ１１０からコンテンツデータＣＤ２を取得する取得時刻ＴＭ１と、コンテンツデータＣＤ２を提供するサービスサーバ１１０のサービス名ＳＮ１と、サービスサーバ１１０のサービスを利用するためのアカウントＡＣ２と、パスワードＰＷ２と、コンテンツデータＣＤ２を印刷するプリンタに対応するデバイスＩＤＤＶ２と、が含まれる。これらの情報は、Ｔ５０と同様にして、ユーザ情報テーブル３８と、コンテンツ情報テーブル４０と、に登録される。
【００７２】
次に、Ｔ８４，Ｔ８５において、中継サーバ１０は、デバイス管理サーバ９０からプリンタ８０の能力値を取得し、コンテンツ情報テーブル４０に登録する。Ｔ８４，Ｔ８５の具体的な処理は、Ｔ５２，Ｔ５３と同様である。
【００７３】
コンテンツ情報テーブル４０において、コンテンツＩＤＣＴ３，ＣＴ４に対応する情報も前述の処理と同様にして登録される。コンテンツＩＤＣＴ３に対応するコンテンツデータＣＤ３は、コンテンツデータＣＤ１を登録したユーザＩＤＵＳ１のユーザによって登録される。コンテンツＩＤＣＴ４に対応するコンテンツデータＣＤ４は、ユーザＩＤＵＳ３のユーザによって登録される。
【００７４】
次に、Ｔ８６において、中継サーバ１０は、特定の時刻におけるコンテンツサーバの印刷の負荷を確認する。具体的な処理は、Ｔ５４と同様である。図５では、取得時刻ＴＭ１に取得が予定されているコンテンツＩＤの数が閾値以上であり、中継サーバ１０の負荷が大きいと想定される場合を図示している。
【００７５】
次に、Ｔ８７，Ｔ８８において、中継サーバ１０は、中継サーバ１０の負荷が大きいと判断されることに応じて、後述するＴ９２，Ｔ９３でコンテンツデータ取得依頼を送信するプリンタを決定する。コンテンツデータ取得依頼を受信したプリンタは、中継サーバ１０に代わって、自らサービスサーバからコンテンツデータを取得する。したがって、中継サーバ１０が取得時刻ＴＭ１に取得すべきコンテンツデータが減るため、中継サーバ１０の負荷を減らすことができる。
【００７６】
まず、Ｔ８７において、中継サーバ１０は、取得時刻ＴＭ１に取得されるコンテンツデータを印刷するすべてのプリンタのうち、能力値が最も高いプリンタを抽出する。能力値は、前述したように、プリンタのベンダが、プリンタに搭載されるＣＰＵの性能やメモリ容量に応じて決定する仮想的な値である。ＣＰＵの性能が高いプリンタは、ＣＰＵの性能が低いプリンタに比べて、コンテンツデータを取得するためにかかる時間が短いことが想定される。また、メモリ容量が大きいプリンタは、メモリ容量が小さいプリンタに比べて、一時的にコンテンツデータを記憶しておくための領域が大きいことが想定される。そのため、取得したコンテンツデータのデータ量が大きい場合でも、取得したコンテンツデータ記憶しておくことができる。したがって、能力値が高いプリンタにコンテンツデータ取得依頼を送信することで、すべてのコンテンツデータがサービスサーバから取得時刻に取得され、プリンタによって印刷される可能性が高くなる。
【００７７】
Ｔ８７では、具体的には、中継サーバ１０は、コンテンツ情報テーブル４０から、取得時刻ＴＭ１に取得が予定されているコンテンツデータを印刷するプリンタの能力値を抽出する。中継サーバ１０は、抽出した能力値のうち、最も高い能力値８のデバイスＩＤＤＶ１，ＤＶ２に対応するプリンタを抽出する。
【００７８】
次に、Ｔ８８において、中継サーバ１０は、能力値の高いプリンタが抽出されたことに応じて、能力値が最も高いプリンタのうち、印刷すべきコンテンツデータが最も少ないプリンタを抽出する。印刷すべきコンテンツデータが少ないプリンタは、印刷すべきコンテンツデータが多いプリンタに比べて、コンテンツデータを取得するためにかかる時間が短いことが想定される。さらに、一時的に記憶しておくべきコンテンツデータのデータ量も小さいことが想定される。したがって、印刷すべきコンテンツデータが少ないプリンタにコンテンツ取得依頼を送信することで、すべてのコンテンツデータが、サービスサーバから取得時刻に取得され、プリンタによって印刷される可能性が高くなる。なお、Ｔ８７で抽出されたプリンタが１台であった場合は、Ｔ８８の処理はスキップされる。
【００７９】
Ｔ８８では、具体的には、中継サーバ１０は、コンテンツ情報テーブル４０から、Ｔ８７で抽出したデバイスＩＤごとに、対応するコンテンツＩＤを抽出し、抽出したコンテンツＩＤの数を算出する。デバイスＩＤＤＶ１に対応するコンテンツＩＤは、ＣＴ１，ＣＴ３であるため、コンテンツＩＤの数は２である。デバイスＩＤＤＶ２に対応するコンテンツＩＤは、ＣＴ２であるため、コンテンツＩＤの数は１である。次に、ＣＰＵ３２は、対応するコンテンツＩＤの数が最も少ないデバイスＩＤに対応するプリンタを抽出する。したがって、対応するコンテンツＩＤの数が１である、デバイスＩＤＤＶ２に対応するプリンタ８０が抽出される。
【００８０】
したがって、後述の処理において、中継サーバ１０は、デバイスＩＤＤＶ１に対応するプリンタ５０に対しては、中継サーバ１０がサービスサーバ１１０から取得したコンテンツデータＣＤ１，ＣＤ３を送信する。また、中継サーバ１０は、デバイスＩＤＤＶ３に対応するプリンタ（図示せず）に対しても、中継サーバ１０がサービスサーバ１１０から取得したコンテンツデータＣＤ４を送信する。一方、中継サーバ１０は、デバイスＩＤＤＶ２に対応するプリンタ８０に対しては、コンテンツデータ取得依頼を送信する。ここで、コンテンツデータ取得依頼を受信したプリンタ８０は、自らサービスサーバ１１０からコンテンツデータＣＤ２を取得する。これによって、中継サーバ１０はコンテンツデータＣＤ２を取得せずに済むため、中継サーバ１０の負荷が減少する。
【００８１】
ただし、プリンタ８０にコンテンツデータ取得依頼を送信しても、中継サーバ１０の負荷が大きいと判断される場合には、再度Ｔ８７，Ｔ８８の処理によってプリンタを抽出し、新たに抽出したプリンタに対してもコンテンツデータ取得依頼を送信する。例えば、このとき新たにコンテンツデータ取得依頼が送信されるプリンタは、最も高い能力値８を有するデバイスＩＤＤＶ１に対応するプリンタ５０である。
【００８２】
次に、Ｔ８９からＴ９１において、中継サーバ１０は、サービスサーバ１１０からトークンＴＫ２を取得し、コンテンツ情報テーブル４０に登録する。Ｔ８９からＴ９１の具体的な処理は、Ｔ５６からＴ５８の処理と同様である。
【００８３】
次に、Ｔ９２において、中継サーバ１０は、デバイス管理サーバ９０に対して、コンテンツデータ取得依頼を送信する。コンテンツデータ取得依頼は、コンテンツデータを取得するためのコンテンツデータ取得要求を、プリンタからサービスサーバに送信させるためのコマンドである。コンテンツデータ取得依頼には、サービスサーバ１１０からコンテンツデータＣＤ２を取得する取得時刻ＴＭ１と、コンテンツデータＣＤ２を提供するサービスサーバ１１０のサービス名ＳＮ１と、コンテンツデータＣＤ２を取得するためのトークンＴＫ２と、コンテンツデータ取得要求を送信すべきプリンタ８０に対応するデバイスＩＤＤＶ２と、が含まれる。
【００８４】
次に、Ｔ９３において、デバイス管理サーバ９０は、中継サーバ１０からコンテンツデータ取得依頼を受信することに応じて、プリンタ８０にコンテンツデータ取得依頼を送信する。コンテンツデータ取得依頼には、中継サーバ１０から受信した、取得時刻ＴＭ１と、サービス名ＳＮ１と、トークンＴＫ２と、が含まれる。
【００８５】
次に、Ｔ９４からＴ９６において、中継サーバ１０は、サービスサーバ１１０からトークンＴＫ１を取得し、コンテンツ情報テーブル４０に登録する。Ｔ９４からＴ９６の具体的な処理は、Ｔ５６からＴ５８の処理と同様である。Ｔ９４の処理は取得時刻ＴＭ１に実行される。
【００８６】
次に、Ｔ９７からＴ１０４において、中継サーバ１０は、サービスサーバ１０からコンテンツデータＣＤ１を取得し、プリンタ５０に送信する。コンテンツデータＣＤ１を受信したプリンタ５０は、コンテンツデータＣＤ１を印刷する。Ｔ９７からＴ１０４の具体的な処理は、Ｔ６０からＴ６８と同様である。
【００８７】
また、Ｔ１０６において、プリンタ８０は、取得時刻ＴＭ１に、サービスサーバ１１０に対して、トークンＴＫ２を含むコンテンツデータ取得要求を送信する。コンテンツデータ取得要求は、サービスサーバ１１０によって提供されるコンテンツデータＣＤ２の取得を要求するためのコマンドである。
【００８８】
次に、Ｔ１０８において、サービスサーバ１１０は、プリンタ８０からコンテンツデータ取得要求を受信したことに応じて、プリンタ８０に対して、コンテンツデータＣＤ２を送信する。コンテンツデータＣＤ２は、ＰＤＬによって記述された描画コマンドである。
【００８９】
次に、Ｔ１１０において、プリンタ８０は、コンテンツデータＣＤ２を受信することに応じて、コンテンツデータＣＤ２を印刷する。具体的な処理は、Ｔ６８と同様である。
【００９０】
（中継サーバの動作）
図６を参照して、中継サーバ１０のＣＰＵ３２によって実行されるコンテンツデータ印刷処理について説明する。前述した図４及び図５は、図６の処理によって実現される具体的なケースを示している。図６は、コンテンツデータ印刷処理のフローチャートである。コンテンツデータ印刷処理は定期的に実行される。
【００９１】
まず、Ｓ２００において、ＣＰＵ３２は、特定の時刻において取得が予定されているコンテンツＩＤの数が閾値以上であるかを判断する（Ｔ５４，Ｔ８６）。具体的には、ＣＰＵ３２は、まず、コンテンツ情報テーブル４０において、取得時刻ＴＭ１に取得が予定されているコンテンツＩＤの数を算出する。次に、ＣＰＵ３２は、算出したコンテンツＩＤの数が閾値以上であるか否かを判断する。例えば、取得時刻ＴＭ１に取得が予定されているコンテンツＩＤの数が閾値以上である場合は、取得時刻ＴＭ１におけるＣＰＵ３２の負荷が大きいことが想定され、閾値未満である場合は、負荷が小さいことが想定される。
【００９２】
Ｓ２００で、ＣＰＵ３２は、コンテンツＩＤの数が閾値未満であると判断する場合（Ｓ２００でＮＯ）は、Ｓ６００へ移る。一方、Ｓ２００で、ＣＰＵ３２は、コンテンツＩＤの数が閾値以上であると判断する場合（Ｓ２００でＹＥＳ）は、Ｓ３００へ移る。
【００９３】
Ｓ３００において、ＣＰＵ３２は、取得時刻ＴＭ１に取得されるコンテンツデータを印刷するすべてのプリンタのうち、能力値が最も高いプリンタを抽出する（Ｔ８７）。具体的には、ＣＰＵ３２は、コンテンツ情報テーブル４０から、取得時刻ＴＭ１に取得が予定されているコンテンツデータを印刷するプリンタの能力値を抽出する。ＣＰＵ３２は、抽出した能力値のうち、最も高い能力値８に対応するデバイスＩＤＤＶ１，ＤＶ２から、対応するプリンタ５０，８０を抽出する。
【００９４】
次に、Ｓ３５０において、ＣＰＵ３２は、能力値が最も高いプリンタのうち、印刷すべきコンテンツＩＤの数が最も少ないプリンタを抽出する（Ｔ８８）。具体的には、ＣＰＵ３２は、コンテンツ情報テーブル４０から、Ｓ３００で抽出したデバイスＩＤごとに、対応するコンテンツＩＤを抽出し、抽出したコンテンツＩＤの数を算出する。デバイスＩＤＤＶ１に対応するコンテンツＩＤは、ＣＴ１，ＣＴ３であるため、コンテンツＩＤの数は２である。デバイスＩＤＤＶ２に対応するコンテンツＩＤは、ＣＴ２であるため、コンテンツＩＤの数は１である。次に、ＣＰＵ３２は、対応するコンテンツＩＤの数が最も少ないデバイスＩＤに対応するプリンタを抽出する。したがって、対応するコンテンツＩＤの数が１である、デバイスＩＤＤＶ２に対応するプリンタ８０が抽出される。ただし、Ｓ３００で抽出されたプリンタが１台であった場合はＳ３５０の処理は行わずにＳ４００に移る。
【００９５】
次に、Ｓ４００において、ＣＰＵ３２は、Ｓ３００において抽出したプリンタ８０に、コンテンツデータ取得依頼を送信する（Ｔ９２）。コンテンツデータ取得依頼は、プリンタ８０とＸＭＰＰでの接続が確立しているデバイス管理サーバ９０を介して、プリンタ８０に送信される。
【００９６】
具体的には、ＣＰＵ３２は、デバイス管理サーバ９０に対して、コンテンツデータ取得依頼を送信する。コンテンツデータ取得依頼には、取得時刻ＴＭ１と、サービス名ＳＮ１と、トークンＴＫ２と、デバイスＩＤＤＶ２と、が含まれる。ただし、ＣＰＵ３２は、サービスサーバ１１０から初めてコンテンツデータＣＴ２を取得する場合、及びデバイス管理サーバ９０に対して初めてコンテンツデータＣＴ２のコンテンツデータ取得依頼を送信する場合は、トークンＴＫ２がコンテンツ情報テーブル４０に記憶されていない。この場合は、アカウントＡＣ２とパスワードＰＷ２を用いてサービスサーバ１１０からトークンＴＫ２を取得してから（Ｔ８９）、コンテンツデータ取得依頼を送信する。
【００９７】
コンテンツデータ取得依頼を受信したデバイス管理サーバ９０は、デバイスＩＤＤＶ２に対応するプリンタ８０に対して、デバイスＩＤＤＶ２を除く、コンテンツデータ取得依頼を送信する（Ｔ９３）。これによって、ＣＰＵ３２からプリンタ８０に対してコンテンツデータ取得依頼が送信される。
【００９８】
コンテンツデータ取得依頼を取得したプリンタ８０は、取得時刻ＴＭ１にトークンＴＫ２を用いてサービス名ＳＮ１に対応するサービスサーバからコンテンツデータＣＤ２を取得できる。したがって、中継サーバ１０のＣＰＵ３２は、取得時刻ＴＭ１にコンテンツデータＣＤ２を取得しない。
【００９９】
次に、Ｓ５００において、ＣＰＵ３２は、再度、取得時刻ＴＭ１において取得が予定されているコンテンツＩＤの数が閾値以上であるかを判断する。具体的には、ＣＰＵ３２は、Ｓ２００において算出したコンテンツＩＤの数のうち、ＣＰＵ３２が取得しないコンテンツＩＤの数を除いたコンテンツＩＤの数を算出する。
【０１００】
Ｓ５００で、ＣＰＵ３２は、算出したコンテンツＩＤの数が閾値以上であると判断する場合（Ｓ５００でＹＥＳ）は、Ｓ３００へ移り、コンテンツＩＤの数が閾値未満になるまでＳ３００からＳ５００を繰り返す。
【０１０１】
一方、Ｓ５００で、ＣＰＵ３２は、算出したコンテンツＩＤの数が閾値未満であると判断する場合（Ｓ５００でＮＯ）は、Ｓ６００へ移る。
【０１０２】
Ｓ６００において、ＣＰＵ３２は、現在の時刻が取得時刻ＴＭ１であるかを判断する。Ｓ６００で、ＣＰＵ３２は、現在の時刻が取得時刻ＴＭ１でないと判断した場合（Ｓ６００でＮＯ）は、Ｓ７００へ移る。
【０１０３】
Ｓ７００において、ＣＰＵ３２は、所定時間待機する。例えば、所定時間は５分である。ＣＰＵ３２は、所定時間待機したら、Ｓ６００へ移る。
【０１０４】
一方、Ｓ６００で、ＣＰＵ３２は、現在の時刻が取得時刻ＴＭ１であると判断した場合（Ｓ６００でＹＥＳ）は、Ｓ８００へ移る。
【０１０５】
Ｓ８００において、ＣＰＵ３２は、サービスサーバ１１０からコンテンツデータＣＤ１を取得する。具体的には、ＣＰＵ３２は、サービスサーバ１１０に対して、トークンＴＫ１を含むコンテンツデータ取得要求を送信し（Ｔ６０，Ｔ９７）、サービスサーバ１１０から、トークンＴＫ１に対応するコンテンツデータＣＤ１を取得する（Ｔ６２，Ｔ９８）。ここで、Ｓ４００と同様に、トークンＴＫ１がコンテンツ情報テーブル４０に記憶されていない場合は、アカウントＡＣ１とパスワードＰＷ１を用いて、サービスサーバ１１０からトークンＴＫ１を取得してから（Ｔ５６，Ｔ９４）、コンテンツデータ取得要求を送信する。
【０１０６】
次に、Ｓ９００において、ＣＰＵ３２は、コンテンツデータＣＤ１の取得が成功したか否かを判断する。ＣＰＵ３２は、コンテンツデータＣＤ１の取得が失敗したと判断した場合（Ｓ９００でＮＯ）は、Ｓ１１００へ移る。具体的には、ＣＰＵ３２は、サービスサーバ１１０から、コンテンツデータ取得要求の応答として、エラーコードを取得した場合に、コンテンツデータＣＤ１の取得が失敗したと判断する。エラーコードは、例えば、サービス名ＳＮ１とアカウントＡＣ１に基づくサービスサーバ１１０のＵＲＬが、サービスのアップデート等によって変更されたことによって、送信される。
【０１０７】
一方、Ｓ９００で、ＣＰＵ３２は、コンテンツデータＣＤ１の取得が成功したと判断した場合（Ｓ９００でＹＥＳ）は、Ｓ１０００へ移る。
【０１０８】
Ｓ１０００において、ＣＰＵ３２は、プリンタ５０とＸＭＰＰでの接続が確立しているデバイス管理サーバ９０を介して、プリンタ５０にコンテンツデータＣＤ１を送信する。具体的には、ＣＰＵ３２は、デバイス管理サーバ９０に対して、コンテンツデータＣＤ１と、コンテンツデータＣＤ１の送信先であるプリンタ５０に対応するデバイスＩＤＤＶ１と、を送信する（Ｔ６４，Ｔ１００）。
【０１０９】
コンテンツデータＣＤ１と、デバイスＩＤＤＶ１と、を受信したデバイス管理サーバ９０は、デバイスＩＤＤＶ１に対応するプリンタ５０に対して、コンテンツデータＣＤ１を送信する（Ｔ６６，Ｔ１０２）。これによって、ＣＰＵ３２からプリンタ５０にコンテンツデータＣＤ１が送信される。
【０１１０】
次に、Ｓ１１００において、ＣＰＵ３２は、取得時刻ＴＭ１に取得すべきすべてのコンテンツデータを取得したか否かを判断する。Ｓ１１００で、ＣＰＵ３２は、すべてのコンテンツデータを取得していないと判断した場合（Ｓ１１００でＮＯ）は、Ｓ８００へ移る。一方、Ｓ１１００で、ＣＰＵ３２は、すべてのコンテンツデータを取得したと判断した場合（Ｓ１１００でＹＥＳ）は、コンテンツデータ印刷処理を終了する。
【０１１１】
以上説明したように、本実施例では、中継サーバから特定の時刻に取得すべきコンテンツデータのデータ量が閾値以上である場合に、サービスサーバからコンテンツデータを取得せず、プリンタにコンテンツデータを取得させるための取得依頼情報を送信する。また、取得依頼情報を受信したプリンタは、中継サーバに代わって、サービスサーバからコンテンツデータを取得する。
【０１１２】
例えば、本発明は、スケジュール印刷のサービスで利用することができる。スケジュール印刷は、以下のようなサービスである。中継サーバは、スケジュール管理サービスを提供するサービスサーバから、スケジュールデータ（上述のコンテンツデータの一例）をユーザの指定する時刻（上述の特定の時刻の一例）に取得し、プリンタにスケジュールデータを送信する。プリンタは、受信したスケジュールデータをカレンダー形式の印刷フォーマットに整形して印刷する。スケジュールデータは、例えば一日分のスケジュールを示すデータを含む。
【０１１３】
スケジュール印刷のサービスにおいては、通常、ユーザの指定する時刻は午後の時間帯（例えば午後１時）よりも午前の時間帯（例えば午前８時）が多いと想定される。そのため、中継サーバは、午前の時間帯にサービスサーバからスケジュールデータを取得する負荷が大きくなることが想定される。このように、スケジュール印刷のサービスにおいては、時刻ごとに取得すべきスケジュールデータのデータ量が異なるため、時刻ごとに中継サーバの負荷の大きさが変わることが想定される。
【０１１４】
ここで、中継サーバの負荷が過大であるか否かは、指定された時刻に取得すべきスケジュールデータのデータ量が閾値以上であるか否かによって判断できると想定される。したがって、本発明の構成では、中継サーバがサービスサーバからコンテンツデータを取得する特定の時刻において、中継サーバの負荷が大きい場合に、プリンタが中継サーバに代わって、サービスサーバからスケジュールを取得するため、中継サーバの負荷を低減することができる。
【０１１５】
（対応関係）
中継サーバ１０が「中継装置」の一例である。プリンタ５０が「第１の出力装置」の一例であり、プリンタ８０が「第２の出力装置」の一例である。デバイス管理サーバ９０が「管理装置」の一例である。サービスサーバ１１０，１２０が「外部装置」の一例である。コンテンツ情報テーブル４０が「コンテンツ情報」の一例である。コンテンツデータＣＤ１〜ＣＤ４が「コンテンツ」および「コンテンツ関連データ」の一例である。トークンＴＫ１〜ＴＫ４が「認証情報」の一例である。
【０１１６】
図４のＴ５４、図５のＴ８６、図６のＳ２００，Ｓ５００が「判断部」によって実行される処理の一例である。図４のＴ６０、図５のＴ９７、図６の８００が「第１の取得部」によって実行される処理の一例である。図４のＴ６４、図５のＴ１００、図６のＳ１０００が「第１の送信部」によって実行される処理の一例である。図５のＴ９２、図６のＳ４００が「第２の送信部」によって実行される処理の一例である。図４のＴ５０、図５のＴ８０，Ｔ８３が「登録部」によって実行される処理の一例である。
【０１１７】
図４のＴ５６〜Ｔ６２、図５のＴ９４〜９８、図６のＳ８００を実行する時刻が「第１の時刻」の一例である。図４のＴ８９〜９３、図６のＳ４００を実行する時刻が「第２の時刻」の一例である。
【０１１８】
デバイスＩＤＤＶ１に対応するプリンタ５０と、デバイスＩＤＤＶ３に対応するプリンタ（図示せず）と、が「第１の出力装置群」に含まれるプリンタの一例である。デバイスＩＤＤＶ２に対応するプリンタ８０が「第２の出力装置群」に含まれるプリンタの一例である。
【０１１９】
図５のＴ１０６が「第２の取得部」によって実行される処理の一例である。図４のＴ６８、図５のＴ１０４，Ｔ１１０が「出力制御部」によって実行される処理の一例である。図４のＴ６６、図５のＴ９３，Ｔ１０２が「第３の送信部」によって実行される処理の一例である。
【０１２０】
（変形例１）
上記の実施例では、能力値は、あらかじめ決定されているプリンタ固有の値であるが、それに代えて、中継サーバ１０やデバイス管理サーバ９０が、プリンタが備えるＣＰＵの性能やメモリの容量に基づいて算出してもよい。
【０１２１】
（変形例２）
上記の実施例では、図４のＴ６８、図５のＴ１０４において、プリンタ５０がコンテンツデータＣＤ１から印刷データを生成するが、それに代えて、中継サーバ１０やデバイス管理サーバ９０が印刷データを生成してもよい。
【０１２２】
（変形例３）
上記の実施例では、中継サーバ１０は、デバイス管理サーバ９０を介してプリンタ５０，８０にデータを送信するが、それに代えて、中継サーバ１０は、デバイス管理サーバ９０を介さずにプリンタ５０，８０にデータを送信してもよい。
【０１２３】
（変形例４）
上記の実施例では、コンテンツＩＤの数が閾値以上か否かで中継サーバ１０の負荷を確認したが、それに代えて、コンテンツデータを取得する際の推定パケット量が閾値以上か否かによって中継サーバ１０の負荷を確認してもよい。コンテンツデータのパケット量は、コンテンツデータの形式（例えば、画像、テキスト等）によって異なることが想定される。コンテンツデータの形式は、サービスサーバごとにあらかじめ決定されている場合がある。したがって、推定パケット量は、中継サーバ１０の管理者によって、コンテンツデータを提供するサービスサーバごとに、あらかじめ設定されてもよい。この場合に、中継サーバ１０は、コンテンツＩＤに対応するサービスサーバと対応付けられる推定パケット量を積算して、積算された推定パケット量が閾値以上か否かを特定してもよい。
【０１２４】
（変形例５）
上記の実施例では、図５のＴ８７，Ｔ８８、図６のＳ３００，Ｓ３５０において、能力値が最も高いプリンタを抽出してから、印刷すべきコンテンツデータが最も少ないプリンタを抽出する。しかし、それに代えて、印刷すべきコンテンツデータが最も少ないプリンタを抽出してから、能力値が最も高いプリンタを抽出してもよい。また、印刷すべきコンテンツデータが最も少ないプリンタを抽出せず、能力値が最も高いプリンタのみを抽出してもよい。また、能力値が最も高いプリンタを抽出せず、印刷すべきコンテンツデータが最も少ないプリンタのみを抽出してもよい。
【０１２５】
（変形例６）
上記の実施例では、図３のＴ２０，Ｔ３２において、プリンタがあらかじめ記憶する能力値をデバイス管理サーバ９０に送信し、デバイス管理サーバ９０がメモリに能力値を記憶する。しかし、それに代えて、プリンタが能力値をあらかじめ記憶せず、デバイス管理サーバ９０の管理者が、デバイス管理サーバ９０にあらかじめプリンタの能力値を記憶させておいてもよい。
【０１２６】
また、中継サーバ１０の管理者が、中継サーバ１０にあらかじめプリンタの能力値を記憶させておいてもよい。その場合は、デバイス管理サーバ９０に能力値が記憶されていないため、図４のＴ５２、図５のＴ８１，Ｔ８４の処理は実行されない。
【０１２７】
（変形例７）
なお、上記の実施例の各処理は、中継サーバ１０のＣＰＵ３２がソフトウェア（すなわちプログラム３６）にしたがって処理を実行することによって実現されるが、それに代えて、論理回路等のハードウェアによって実現されてもよい。
【０１２８】
以上、本発明の具体例について、詳細に説明したが、これらは例示に過ぎず、特許請求の範囲を限定するものではない。特許請求の範囲に記載の技術には、以上に例示した具体例を様々に変形、変更したものが含まれる。
【符号の説明】
【０１２９】
１０： 中継サーバ、５０，８０：プリンタ、９０：デバイス管理サーバ、１１０，１２０：サービスサーバ、２１０，２２０：端末装置、ＵＳ１，ＵＳ２，ＵＳ３：ユーザＩＤ、ＣＤ１，ＣＤ２，ＣＤ３，ＣＤ４：コンテンツデータ、ＣＴ１，ＣＴ２，ＣＴ３，ＣＴ４：コンテンツＩＤ、ＴＭ１：取得時刻、ＳＮ１，ＳＮ２：サービス名、ＡＣ１，ＡＣ２，ＡＣ３，ＡＣ４：アカウント、ＰＷ１，ＰＷ２、ＰＷ３，ＰＷ４：パスワード、ＴＫ１，ＴＫ２，ＴＫ３，ＴＫ４：トークン、ＤＶ１，ＤＶ２，ＤＶ３：デバイスＩＤ
【図１】
2016186684.tif 000003
【図２】
2016186684.tif 000004
【図３】
2016186684.tif 000005
【図４】
2016186684.tif 000006
【図５】
2016186684.tif 000007
【図６】
2016186684.tif 000008