(57)【要約】【課題】管理装置に一時的に大きな負荷がかかることを防止しつつ、適切なタイミングでデータの送受信を実行する。【解決手段】サーバ（１）は、複合機（２）からデータセット（３０３）を受信し、データセットの受信時刻と、データセットの識別情報およびデータ種別に応じて送信予定時刻を算出し、送信予定時刻と、他の複合機（２）におけるデータセットの次回の送信時刻とに基づいて、送信予定時刻における自装置の負荷を推定し、負荷が所定未満である場合、複合機（２）に送信予定時刻を次回の送信時刻として通知し、負荷が所定以上である場合、送信予定時刻に所定の補正値を加算した、補正済送信時刻を次回の送信時刻として通知する。【選択図】図１
2020149627.tif 000002
【特許請求の範囲】
【請求項１】
複数のデバイスと通信する管理装置であって、
前記デバイスから、該デバイスの識別情報と、データ種別と、データ本体とを含むデータセットを受信する受信部と、
前記データセットを受信する毎に、該データセットの受信時刻と、該データセットに含まれる前記識別情報および前記データ種別に応じて、前記デバイスにおける送信予定時刻を算出する時刻算出部と、
前記送信予定時刻と、該デバイス以外の他のデバイスにおける前記データセットの次回の送信時刻とに基づいて、前記送信予定時刻における自装置の負荷を推定する負荷推定部と、
前記負荷が所定未満である場合、前記デバイスに前記送信予定時刻を次回の送信時刻として通知し、前記負荷が所定以上である場合、前記送信予定時刻に所定の補正値を加算した、補正済送信時刻を前記次回の送信時刻として通知する通知部と、を備えることを特徴とする、管理装置。
【請求項２】
前記通知部は、前記データ種別に応じて前記補正値を決定することを特徴とする、請求項１に記載の管理装置。
【請求項３】
前記通知部は、前記識別情報に応じて前記補正値を決定することを特徴とする、請求項１または２に記載の管理装置。
【請求項４】
前記データセットには、前記デバイスの状態を示す状態情報が含まれており、
前記通知部は、前記状態情報に応じて前記補正値を決定することを特徴とする、請求項１〜３のいずれか１項に記載の管理装置。
【請求項５】
前記データセットを前記デバイス毎に記憶する記憶部と、
前記受信部が受信したデータセットと、該データセットの前記識別情報が示すデバイスの前記記憶部に記憶された前記データセットと、に応じて、該デバイスのメンテナンスのタイミングを推定するタイミング推定部と、を備え、
前記通知部は、前記タイミングまでの期間が所定期間未満である場合、前記補正値を加算しないことを特徴とする、請求項４に記載の管理装置。
【請求項６】
各デバイスの識別情報と、ユーザの識別情報とを対応付けたユーザ情報を記憶する記憶部と、
前記データセットに含まれる前記識別情報と、前記ユーザ情報とに基づいて、該データセットを送信したデバイスのユーザを特定するユーザ特定部と、を備え、
前記通知部は、前記ユーザ特定部が特定した前記ユーザに応じて前記補正値を決定することを特徴とする、請求項１〜５のいずれか１項に記載の管理装置。
【請求項７】
前記通知部は、前記次回の送信時刻が、前記管理装置が各デバイスと通信不可能な期間に含まれる場合、前記次回の送信時刻を、前記期間の終了以後の時刻に調整した調整済送信時刻を前記デバイスに通知することを特徴とする、請求項１〜６のいずれか１項に記載の管理装置。
【請求項８】
前記受信部は、前記デバイスから該デバイスの起動を示す起動情報を受信し、
前記時刻算出部は、前記起動情報の受信時刻と、該起動情報に含まれる前記デバイスの識別情報から特定されるデータ種別に応じて、前記デバイスからの前記データセットの前記次回の送信時刻を算出し、
前記通知部は、前記次回の送信時刻を前記デバイスに通知することを特徴とする、請求項１〜７のいずれか１項に記載の管理装置。
【請求項９】
前記時刻算出部は、前記受信部が、前記データセットの前記次回の送信時刻よりも前に、前記デバイスから前記起動情報を受信した場合、該起動情報の受信時刻と、前記デバイスに通知した前記データセットの前記次回の送信時刻と、に基づいて、前記データセットの次回の送信時刻を再算出し、
前記通知部は、再算出した前記データセットの前記次回の送信時刻を前記デバイスに通知することを特徴とする、請求項８に記載の管理装置。
【請求項１０】
前記時刻算出部は、前記受信部が、前記起動情報を受信した際に、前記データセットの前記次回の送信時刻が既に経過していた場合、前記データセットの前記次回の送信時刻を前記起動情報の受信時刻の直後として再算出し、
前記通知部は、再算出した前記データセットの前記次回の送信時刻を前記デバイスに通知することを特徴とする、請求項８または９に記載の管理装置。
【請求項１１】
複数のデバイスと、管理装置と、を含む負荷軽減システムであって、
前記デバイスは、
前記デバイスの識別情報と、データ種別と、データ本体とを含むデータセットを、前記管理装置から通知された時刻に前記管理装置に送信する送信部を備え、
前記管理装置は、
前記デバイスから前記データセットを受信する受信部と、
前記データセットを受信する毎に、該データセットの受信時刻と、該データセットに含まれる前記識別情報および前記データ種別に応じて、前記デバイスにおける送信予定時刻を算出する時刻算出部と、
前記送信予定時刻と、該デバイス以外の他のデバイスにおける前記データセットの次回の送信時刻とに基づいて、前記送信予定時刻における自装置の負荷を推定する負荷推定部と、
前記負荷が所定未満である場合、前記デバイスに前記送信予定時刻を次回の送信時刻として通知し、前記負荷が所定以上である場合、前記送信予定時刻に所定の補正値を加算した、補正済送信時刻を前記次回の送信時刻として通知する通知する通知部と、を備えることを特徴とする、負荷軽減システム。
【請求項１２】
複数のデバイスと通信する管理装置の制御方法であって、
前記デバイスから、該デバイスの識別情報と、データ種別と、データ本体とを含むデータセットを受信する受信ステップと、
前記データセットを受信する毎に、該データセットの受信時刻と、該データセットに含まれる前記識別情報および前記データ種別に応じて、前記デバイスにおける送信予定時刻を算出する時刻算出ステップと、
前記送信予定時刻と、該デバイス以外の他のデバイスにおける前記データセットの次回の送信時刻とに基づいて、前記送信予定時刻における自装置の負荷を推定する負荷推定ステップと、
前記負荷が所定未満である場合、前記デバイスに前記送信予定時刻を次回の送信時刻として通知し、前記負荷が所定以上である場合、前記送信予定時刻に所定の補正値を加算した、補正済送信時刻を前記次回の送信時刻として通知する通知ステップと、を含むことを特徴とする、制御方法。
【請求項１３】
請求項１に記載の管理装置としてコンピュータを機能させるための制御プログラムであって、前記受信部、前記時刻算出部、前記負荷推定部、および前記通知部としてコンピュータを機能させるための制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、管理装置、負荷軽減システム、管理装置の制御方法、および制御プログラムに関する。
【背景技術】
【０００２】
デバイス（クライアント）からサーバ（ホスト）へ定期的に接続して、データをアップロードするシステムが従来知られている。サーバには多数のデバイスが接続を要求するが、そのタイミングが重なると、接続できない、あるいは、同時に多数のデータ処理を行う必要があるため、サーバの負荷が増大するという課題がある。これを解決するため、サーバへのアクセス負荷の集中を緩和させるための技術が開発されている。例えば、特許文献１には、デバイスから送信データを受信した際に、受信時刻と送信周期決定情報に基づいて、該デバイスからの次回のデータ受信時刻を推定し、該推定受信時刻が他のデバイスの推定受信時刻と同時刻の場合、受信時刻を調整するサーバが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１７−１８２５７６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、各デバイスの送信データには種々の情報が含まれており、情報の種類によって適切なデータの送信間隔が異なる。そのため、各デバイスは、送信データの種類に応じた適切なタイミングでデータを送信している。
【０００５】
ところが、特許文献１に記載の技術では、送信データの種類を考慮せずに受信時刻を調整している。そのため、該技術を用いた場合、デバイスからサーバに、適切なタイミングでデータを送信できない虞がある。本発明は前記課題に鑑みたものであり、管理装置に一時的に大きな負荷がかかることを防止しつつ、適切なタイミングでデータの送受信を実行することを目的とする。
【課題を解決するための手段】
【０００６】
前記の課題を解決するために、本発明の一態様に係る管理装置は、複数のデバイスと通信する管理装置であって、前記デバイスから、該デバイスの識別情報と、データ種別と、データ本体とを含むデータセットを受信する受信部と、前記データセットを受信する毎に、該データセットの受信時刻と、該データセットに含まれる前記識別情報および前記データ種別に応じて、前記デバイスにおける送信予定時刻を算出する時刻算出部と、前記送信予定時刻と、該デバイス以外の他のデバイスにおける前記データセットの次回の送信時刻とに基づいて、前記送信予定時刻における自装置の負荷を推定する負荷推定部と、前記負荷が所定未満である場合、前記デバイスに前記送信予定時刻を次回の送信時刻として通知し、前記負荷が所定以上である場合、前記送信予定時刻に所定の補正値を加算した、補正済送信時刻を前記次回の送信時刻として通知する通知部と、を備える。
【０００７】
前記の構成によれば、あるデバイスの送信予定時刻において管理装置に所定以上の負荷がかかると推定される場合、該デバイスからのデータセットの次回の送信時刻を後にずらすことができる。そして、該次回の送信時刻は、データの種別に基づいて算出される。したがって、前記構成によれば、管理装置に一時的に大きな負荷がかかることを防止しつつ、データ種別に応じた適切なタイミングでデータの送受信を実行することができる。
【０００８】
前記の課題を解決するために、本発明の一態様に係る負荷軽減システムは、複数のデバイスと、管理装置と、を含む負荷軽減システムであって、前記デバイスは、前記デバイスの識別情報と、データ種別と、データ本体とを含むデータセットを、前記管理装置から通知された時刻に前記管理装置に送信する送信部を備え、前記管理装置は、前記デバイスから前記データセットを受信する受信部と、前記データセットを受信する毎に、該データセットの受信時刻と、該データセットに含まれる前記識別情報および前記データ種別に応じて、前記デバイスにおける送信予定時刻を算出する時刻算出部と、前記送信予定時刻と、該デバイス以外の他のデバイスにおける前記データセットの次回の送信時刻とに基づいて、前記送信予定時刻における自装置の負荷を推定する負荷推定部と、前記負荷が所定未満である場合、前記デバイスに前記送信予定時刻を次回の送信時刻として通知し、前記負荷が所定以上である場合、前記送信予定時刻に所定の補正値を加算した、補正済送信時刻を前記次回の送信時刻として通知する通知部と、を備える。前記の構成によれば、前記管理装置と同様の効果を奏する。
【０００９】
前記の課題を解決するために、本発明の一態様に係る制御方法は、複数のデバイスと通信する管理装置の制御方法であって、前記デバイスから、該デバイスの識別情報と、データ種別と、データ本体とを含むデータセットを受信する受信ステップと、前記データセットを受信する毎に、該データセットの受信時刻と、該データセットに含まれる前記識別情報および前記データ種別に応じて、前記デバイスにおける送信予定時刻を算出する時刻算出ステップと、前記送信予定時刻と、該デバイス以外の他のデバイスにおける前記データセットの次回の送信時刻とに基づいて、前記次回の送信時刻における自装置の負荷を推定する負荷推定ステップと、前記負荷が所定未満である場合、前記デバイスに前記送信予定時刻を次回の送信時刻として通知し、前記負荷が所定以上である場合、前記送信予定時刻に所定の補正値を加算した、補正済送信時刻を前記次回の送信時刻として通知する通知ステップと、を含む。前記の構成によれば、前記管理装置と同様の効果を奏する。
【発明の効果】
【００１０】
本発明の一態様によれば、管理装置に一時的に大きな負荷がかかることを防止しつつ、適切なタイミングでデータの送受信を実行することができる。
【図面の簡単な説明】
【００１１】
【図１】本発明の実施形態１に係る負荷軽減システムの要部構成を示すブロック図である。
【図２】データセットデータベースのデータ構造の一例を示す図である。
【図３】送信時刻データベースのデータ構造の一例を示す図である。
【図４】前記負荷軽減システムにおけるサーバおよび複合機の処理の流れの一例を示す図である。
【図５】本発明の実施形態２に係る負荷軽減システムにおけるサーバおよび複合機の処理の流れの一例を示す図である。
【図６】本発明の実施形態３に係る負荷軽減システムにおけるサーバおよび複合機の処理の流れの一例を示す図である。
【図７】本発明の実施形態４に係る負荷軽減システムにおけるサーバおよび複合機の処理の流れの一例を示す図である。
【発明を実施するための形態】
【００１２】
〔実施形態１〕
≪負荷軽減システム１００の構成≫
以下、本発明の実施形態１について、詳細に説明する。図１は、本実施形態に係る負荷軽減システム１００の要部構成を示すブロック図である。負荷軽減システム１００は、複数のデバイスと通信する管理装置のアクセス負荷を軽減するためのシステムである。負荷軽減システム１００は、管理装置の一例としてのサーバ１と、デバイスの一例としての複数の複合機２と、を含む。なお、図１の例では、各複合機２は同様の構成を備えているため、１台の内部構成のみを例示している。
【００１３】
（サーバ１）
サーバ１は、複数の複合機２と通信する管理装置である。サーバ１は、ＣＰＵ１０と、入力インタフェース（Ｉ／Ｆ）１１と、ネットワークＩ／Ｆ１２と、バス１３と、タイマー１４と、メモリ１５と、を備える。なお、サーバ１において入力Ｉ／Ｆ１１と、バス１３は必須構成ではない。また、メモリ１５はサーバ１と接続された外部記憶装置であってもよい。
【００１４】
ＣＰＵ１０は、複合機２から起動を通知されると、ネットワークＩ／Ｆ２２を介して該複合機２に、複合機２からサーバ１にアップロードするデータの種別や送信間隔等の情報であるサブスクリプション情報を送信する。また、ＣＰＵ１０は、受信部の一例として、複合機２からデータセット３０３を受信する処理を実行する。ここで、データセット３０３とは少なくとも、複合機２の識別情報と、データ種別と、データ本体と、を含む情報である。以降、複合機２の識別情報のことを、単に「識別情報」とも称する。ＣＰＵ１０はデータセット３０３をメモリ１５のデータセットＤＢ１７１に格納する。また、ＣＰＵ１０は時刻算出部の一例として、複合機２における送信予定時刻を算出する処理を実行する。ＣＰＵ１０は送信予定時刻を、データセット３０３を受信する毎に、データセット３０３の受信時刻と、データセット３０３に含まれる識別情報およびデータ種別に応じて算出する。なお、データセット３０３の受信時刻はタイマー１４が計測する時刻に基づき特定すればよい。
【００１５】
ＣＰＵ１０はさらに、負荷推定部の一例として、算出した送信予定時刻と、受信スケジュール情報１７４が示す他の複合機２のデータセットの次回の送信時刻とに基づいて、算出した送信予定時刻における自装置の負荷を推定する処理を実行する。負荷が所定未満である場合、ＣＰＵ１０は、通知部の一例として、複合機２に算出した送信予定時刻を、次回の送信時刻として通知する処理を実行する。一方、負荷が所定以上である場合、ＣＰＵ１０は、通知部の一例として、算出した送信予定時刻に所定の補正値を加算した補正済送信時刻を次回の送信時刻として複合機２に通知する処理を実行する。
【００１６】
入力Ｉ／Ｆ１１は、サーバ１に対するユーザの入力操作を受け付けるものである。入力Ｉ／Ｆ１１は入力操作を受け付けると、バス１３を介しＣＰＵ１０に該入力操作を示す情報を送る。
【００１７】
ネットワークＩ／Ｆ１２は、サーバ１と複合機２との通信インタフェースである。ネットワークＩ／Ｆ１２は、複合機２からデータセットを受信してメモリ１５に格納する。また、ネットワークＩ／Ｆ１２は、複合機２に次回の送信時刻を通知する。バス１３は、サーバ１の各部を接続する。
【００１８】
メモリ１５は、サーバ１に係る各種データを記憶する記憶部である。メモリ１５は、サーバプログラム１６と、データ記憶領域１７とを含む。サーバプログラム１６は、サーバ１の各種機能を実現するためのコンピュータプログラムである。サーバプログラム１６はＣＰＵ１０により読み出され実行される。データ記憶領域１７は、サーバ１が用いるデータおよびサーバ１において収集蓄積されるデータを記憶する記憶領域である。データ記憶領域１７には、例えば、データセットデータベース（ＤＢ）１７１と、送信時刻ＤＢ１７２と、補正値情報１７３と、受信スケジュール情報１７４とを格納する。
【００１９】
（データセットＤＢ１７１）
データセットＤＢ１７１は、ＣＰＵ１０が複合機２から受信したデータセット３０３をまとめたデータベースである。図２は、データセットＤＢ１７１のデータ構造の一例を示す図である。データセットＤＢ１７１は、「ＩＤ」と、「データ種別」と、「値」と、「受信日時」との４項目を含み、「ＩＤ」の項目のデータに他の項目のデータが対応付けられた構成である。データセットＤＢ１７１の１レコードは１つのデータセット３０３を示している。なお、データセット３０３に「受信日時」の項目は必須ではない。
【００２０】
「ＩＤ」の項目には、複合機２の識別情報を示すデータが格納される。「データ種別」の項目には、「値」の項目の値が示すデータの種類を示す情報が格納される。「値」の項目には、データセット３０３のデータ本体となる情報が格納される。なお、図２の例では、一例として「値」という項目および数値がデータ本体を示す情報としてデータセット３０３に含まれているが、データ本体は文字列等、他の形式のデータであってもよい。
【００２１】
（送信時刻ＤＢ１７２）
送信時刻ＤＢ１７２は、各デバイスおよびデータ種別毎の、データセットの送信時刻を規定するためのＤＢである。図３は、送信時刻ＤＢ１７２のデータ構造の一例を示す図である。送信時刻ＤＢ１７２は、「ＩＤ」と、「データ種別」と、「送信周期」との３項目を含み、「ＩＤ」および「データ種別」の項目のデータの組合せに、「送信周期」の項目のデータが対応付けられた構成である。「ＩＤ」の項目には、複合機２の識別情報を示すデータが格納される。「データ種別」の項目には、データの種類を示す情報が格納される。「送信周期」の項目には、識別情報毎およびデータ種別毎の、データセット３０３の送信周期を規定する情報が格納される。
【００２２】
補正値情報１７３は補正値を規定する情報である。補正値情報１７３はＣＰＵ１０により参照される。受信スケジュール情報１７４は、ＣＰＵ１０がネットワークＩ／Ｆ１２を介し各複合機２に通知した次回の送信時刻を示す情報である。すなわち、受信スケジュール情報１７４は、サーバ１が各複合機２からデータセット３０３を受信する予定を示す情報である。受信スケジュール情報１７４は、例えば複合機２毎、およびデータ種別毎に記憶されている。
【００２３】
（複合機２）
複合機２は、印刷およびスキャナ機能を備えた複合機である。複合機２は、例えば、ＣＰＵ２０と、入力Ｉ／Ｆ２１と、ネットワークＩ／Ｆ２２と、バス２３と、メモリ２４と、ディスプレイ２５と、タイマー２６と、印刷部２７と、スキャナ部２８とを備えている。なお、メモリ２４は、複合機２と接続された外部記憶装置であってもよい。
【００２４】
ＣＰＵ２０は、複合機２を統括的に制御する制御部である。ＣＰＵ２０は、メモリ２４からプリンタプログラム２９（後述）を読み出して実行することで、複合機２の各種機能を実現する。
【００２５】
例えば、ＣＰＵ２０は、データセット３０３を適宜作成する。また例えば、ＣＰＵ２０は、ネットワークＩ／Ｆ２２を介しサーバ１から次回の送信時刻を示す情報を通知される。ＣＰＵ２０は受信した次回の送信時刻を送信時刻情報３０１としてメモリ２４に記憶させる。また例えば、ＣＰＵ２０は、送信部の一例として、タイマー２６の計測時刻が、送信時刻情報３０１に記録された時刻になると、データセット３０３を、ネットワークＩ／Ｆ２２を介しＣＰＵ１０に送信する処理を実行する。
【００２６】
また例えば、ＣＰＵ２０は、複合機２の起動後、ネットワークＩ／Ｆ２２を介してサーバ１からサブスクリプション情報を受信する。ＣＰＵ２０はサブスクリプション情報を受信すると、該情報に記載されている、次回の送信時刻を読み取り、送信時刻情報３０１としてメモリ２４に格納する。
【００２７】
また、例えば、ＣＰＵ２０は入力Ｉ／Ｆ２１から入力操作を示す情報が入力されると、該入力操作の内容を特定し、該操作に応じた処理を実行してもよい。また、ＣＰＵ２０は、ディスプレイ２５に出力する画像を作成してもよい。また、ＣＰＵ２０は、印刷部２７およびスキャナ部２８に制御指示を送信することで、印刷部２７およびスキャナ部２８の動作を制御してもよい。
【００２８】
入力Ｉ／Ｆ２１は、複合機２に対するユーザの入力操作を受け付けるものである。入力Ｉ／Ｆ２１は入力操作を受け付けると、バス２３を介しＣＰＵ２０に該入力操作を示す情報を送る。
【００２９】
ネットワークＩ／Ｆ２２は、複合機２とサーバ１との通信インタフェースである。ネットワークＩ／Ｆ２２はＣＰＵ２０から出力されたデータセットをサーバ１に送信する。また、ネットワークＩ／Ｆ２２は、サーバ１から次回の送信時刻を受信してメモリ２４に格納する。バス２３は、複合機２の各部を接続する。
【００３０】
メモリ２４は、複合機２に係る各種データを記憶する記憶部である。メモリ２４は、プリンタプログラム２９と、データ記憶領域３０とを含む。プリンタプログラム２９は、複合機２の各種機能を実現するためのコンピュータプログラムである。プリンタプログラム２９はＣＰＵ２０により読み出され実行される。データ記憶領域３０は、複合機２が用いるデータおよび複合機２において収集蓄積されるデータを記憶する記憶領域である。データ記憶領域３０には、例えば、送信時刻情報３０１と、機器情報３０２と、データセット３０３とが格納される。
【００３１】
送信時刻情報３０１は、ＣＰＵ２０がサーバ１から受信した次回の送信時刻を示す情報である。機器情報３０２は、複合機２の識別情報等の複合機２自身に関する情報、および、複合機２の状態を示す状態情報等、複合機２の稼働によって得られる各種情報を示す。データセット３０３は、複合機２からサーバ１に送信する各種データを含む１まとまりのデータである。データセット３０３はＣＰＵ２０により作成され、メモリ２４に記憶される。
【００３２】
ディスプレイ２５は、ＣＰＵ２０が作成した画像を表示する。タイマー２６は時刻を計る。タイマー２６の計る時刻はＣＰＵ２０に入力される。
【００３３】
印刷部２７は、複合機２の印刷機能を実行するための機構である。印刷部２７はＣＰＵ２０の制御に従って画像およびテキスト等を印刷する。スキャナ部２８は、複合機２のスキャン機能を実行するための機構である。スキャナ部２８はＣＰＵ２０の制御に従って紙等の物体をスキャンする。
【００３４】
（複合機２以外への適用例）
なお、負荷軽減システム１００において、デバイスは複合機２以外の装置であってもよい。例えば、デバイスは、パーソナルコンピュータ（ＰＣ）であってもよいし、スマートフォン等の端末装置、ネットワークに接続可能な家電や工作機械であってもよい。この場合、これらのデバイスは、前述したＣＰＵ２０、ネットワークＩ／Ｆ２２、メモリ２４、およびタイマー２６に相当する構成を備えていればよい。換言すると、負荷軽減システム１００のデバイスとして複合機２以外のデバイスを用いる場合は、入力Ｉ／Ｆ２１と、バス２３と、ディスプレイ２５と、印刷部２７と、スキャナ部２８とは必須構成ではない。
【００３５】
≪処理の流れ≫
図４は、サーバ１および複合機２の処理の流れの一例を示すフローチャートである。なお、以降の図では、同一の処理には同一のステップ番号（Ｓ）を付与している。複合機２のＣＰＵ２０は、複合機２の起動後、ネットワークＩ／Ｆ２２を介してサーバ１からサブスクリプション情報を受信する。ＣＰＵ２０はサブスクリプション情報を受信すると、該情報に記載されている次回の送信時刻を読み取り、送信時刻情報３０１としてメモリ２４に格納する。
【００３６】
ＣＰＵ２０は、タイマー２６から入力される計時時刻が送信時刻情報３０１に記録されている時刻になると、メモリ１５からデータセット３０３を読み出して、データセット３０３を、ネットワークＩ／Ｆ１２を介しサーバ１へ送信する（Ｓ１００）。
【００３７】
サーバ１のＣＰＵ１０はネットワークＩ／Ｆ１２を介しデータセット３０３を受信する（Ｓ１０２）。ＣＰＵ１０はデータセット３０３をメモリ１５のデータセットＤＢ１７１に格納する。また、ＣＰＵ１０はデータセット３０３を受信する毎に、該データセット３０３の受信時刻と、該データセット３０３に含まれる複合機２の識別情報およびデータ種別に応じて、複合機２における送信予定時刻を算出する（Ｓ１０４）。例えば、ＣＰＵ１０は送信時刻ＤＢ１７２を参照して、識別情報およびデータ種別に対応する送信周期を特定し、受信時刻に、該送信周期を加算して送信予定時刻を算出してもよい。
【００３８】
ＣＰＵ１０はさらに、算出した送信予定時刻と、受信スケジュール情報１７４が示す他の複合機２のデータセットの次回の送信時刻とに基づいて、算出した送信予定時刻における自装置の負荷を推定する（Ｓ１０６）。負荷が所定未満である場合（Ｓ１０８でＮＯ）、ＣＰＵ１０は、複合機２に算出した送信予定時刻を、次回の送信時刻として通知する。一方、負荷が所定以上である場合（Ｓ１０８でＹＥＳ）、ＣＰＵ１０は、算出した送信予定時刻に所定の補正値を加算し（Ｓ１１０）、これを次回の送信時刻とする。
【００３９】
ＣＰＵ１０は、次回の送信時刻を、ネットワークＩ／Ｆ１２を介して複合機２に送信することで、複合機２にこれらいずれかの時刻を通知する（Ｓ１１２）。複合機２のＣＰＵ２０は、ネットワークＩ／Ｆ２２を介し該時刻の通知を受信する（Ｓ１１４）。ＣＰＵ２０は、通知された次回の送信時刻を、メモリ２４に送信時刻情報３０１として記憶させる。
【００４０】
ＣＰＵ２０は、タイマー２６が計る時刻が送信時刻情報３０１に記録された時刻、すなわち、サーバ１から通知された時刻になるまで待機する（Ｓ１１６でＮＯ）。そして、通知された時刻になると（Ｓ１１６でＹＥＳ）、ＣＰＵ２０はＳ１００の処理を再び実行する。すなわち、ＣＰＵ２０はデータセット３０３をメモリ２４から読み出して、ネットワークＩ／Ｆ１２を介しサーバ１へ送信する（Ｓ１００）。また、サーバ１のＣＰＵ１０は、ネットワークＩ／Ｆ１２を介し該データセット３０３を受信する（Ｓ１０２）。以下、Ｓ１０４以降の処理が再び実行される。
【００４１】
これにより、負荷軽減システム１００は、複合機２がデータセット３０３をサーバ１に送信する度に、複合機２にサーバ１から次回の送信時刻を通知することができる。そして、複合機２は通知された時刻になるとデータセット３０３をサーバ１に送信することができる。すなわち、Ｓ１００〜Ｓ１１６の処理が繰り返し行われる。
【００４２】
以上の処理によれば、ある複合機２の送信予定時刻においてサーバ１に所定以上の負荷がかかると推定される場合、該複合機２からのデータセット３０３の送信時刻を後にずらすことができる。そして、該送信時刻は、データセット３０３に含まれているデータの種別に基づいて算出される。したがって、以上の処理によれば、サーバ１に一時的に大きな負荷がかかることを防止しつつ、データ種別に応じた適切なタイミングでデータセット３０３の送受信を実行することができる。
【００４３】
本実施形態ではＣＰＵ１０は送信予定時刻を算出し、該時刻または補正済送信時刻を次回の送信時刻として複合機２に送信することとした。しかしながら、ＣＰＵ１０は、送信予定時刻ではなく、送信予定周期を算出してもよい。そして、該送信予定周期自体、または、該送信予定周期に補正値を加算した補正済送信周期を複合機２に送信してもよい。この場合、複合機２は次回以降のデータセット３０３の送信周期を通知される。複合機２はこの場合、タイマー２６が計測している自装置からサーバ１へのデータセット３０３の送信時刻から起算して、前述の送信周期が経過した場合に同種のデータ種別のデータセット３０３をサーバ１に送信する。なお、図４に示した通り、複合機２はデータセット３０３を送信する度に、次回の送信周期を通知されることになるため、負荷軽減システム１００全体の処理の流れは次回の送信時刻を通知される場合と同様である。
【００４４】
（変形例１）
負荷軽減システム１００のサーバ１において、ＣＰＵ１０は、複合機２から受信したデータセット３０３に含まれるデータ種別に応じて、補正値を決定してもよい。この場合、サーバ１のメモリ１５は、補正値情報１７３として、データ種別毎の補正値を格納していてもよい。そして、ＣＰＵ１０は補正値情報１７３から、データセット３０３のデータ種別に応じた補正値を読み出して、該補正値を算出した送信予定時刻に加算することで、次回の送信時刻を決定する。
【００４５】
これにより、データ種別に応じて、次回の送信時刻に適切な補正値を加算することができる。例えば、データセット３０３のデータの種類がインク等の消耗品の残量である場合、または、エラー情報である場合、複合機２からサーバ１にデータセット３０３のデータ本体の情報を速やかに通知する必要がある。ゆえに、補正値情報１７３において、データ種別が消耗品の残量を示す、またはエラー情報を示す場合、該種別に対応する補正値は、他の種別に対応する補正値よりも小さくすることが望ましい。
【００４６】
一方、データセット３０３のデータ種別が印刷枚数等の単なるカウント情報である場合、該データセット３０３のデータ本体の情報は、急いで通知する必要性が薄い。ゆえに、補正値情報１７３において、データ種別がカウント値を示す場合、該種別に対応する補正値は、他の種別に対応する補正値よりも大きくすることが望ましい。
【００４７】
（変形例２）
負荷軽減システム１００のサーバ１において、ＣＰＵ１０は、データセット３０３に含まれる識別情報に応じて補正値を決定してもよい。この場合、サーバ１のメモリ１５は、補正値情報１７３として、識別情報毎の補正値を格納していてもよい。
【００４８】
識別情報からは、複合機２の型番および種類等を特定することができる。したがって、サーバ１は、識別情報に応じて補正値を決定することで、送信予定時刻に適切な補正値を加算することができる。例えば、複合機２の種類（すなわち、モデルタイプ）が長寿命タイプの場合、補正値を他のタイプより大きく設定してもよい。これにより、長寿命タイプの複合機２において頻繁なデータの送受信によって寿命が短くなることを防ぐことができる。また、複合機２の種類がロープライスモデルの場合、補正値を無し（補正値＝０）、または他のモデルよりも小さな値に設定してもよい。
【００４９】
（変形例３）
負荷軽減システム１００において、サーバ１のメモリ１５は、複合機２それぞれの識別情報と、ユーザの識別情報とを対応付けたユーザ情報を記憶していてもよい。また、メモリ１５は、各ユーザについての複合機２のリース契約条件を示す条件情報も記憶していてよい。ＣＰＵ１０は、ユーザ特定部の一例として、データセット３０３に含まれる識別情報と、ユーザ情報とに基づいて、該データセット３０３を送信したデバイスのユーザを特定してもよい。そして、ＣＰＵ１０は、特定したユーザに応じて補正値を決定してもよい。または、ＣＰＵ１０は、特定したユーザに応じた契約条件を特定し、該契約条件に応じて補正値を決定してもよい。
【００５０】
例えば、ＣＰＵ１０は、メモリ１５のユーザ情報を参照することで、データセット３０３に含まれる識別情報に対応するユーザを特定する。さらに、ＣＰＵ１０は、条件情報を参照して、特定したユーザに対応する契約条件を特定する。
【００５１】
これにより、複合機２のユーザに応じて、送信予定時刻に適切な補正値を加算することができる。例えば、特定のユーザに対応する複合機２については、補正値を加算しない、または他のユーザの複合機２よりも少ない補正値を加算することとしてもよい。これにより、該特定のユーザの複合機２については、優先してデータセット３０３の送受信を行わせることができる。
【００５２】
また例えば、特別な契約条件で契約しているユーザの複合機２については、補正値を加算しない、または他の契約条件のユーザの複合機２よりも少ない補正値を加算することとしてもよい。これにより、特別な契約条件の場合、他の契約条件の場合よりも、複合機２のデータセット３０３の送受信を優先して行わせることができる。これにより、ユーザに応じて、または契約条件に応じて、複合機２の利便性の差をつけることができる。
【００５３】
〔実施形態２〕
本発明の実施形態２について、以下に説明する。なお、説明の便宜上、前述した実施形態にて説明した部材と同じ機能を有する部材については、同じ符号を付記し、その説明を繰り返さない。以降の実施形態についても同様である。
【００５４】
負荷軽減システム１００において、データセット３０３には、複合機２の状態を示す状態情報が含まれていてもよい。状態情報とは、例えば、インク等の消耗品の残量、印刷部２７の機構の一種であるロールの回転数等である。なお、状態情報はデータセット３０３のデータ種別およびデータ本体で示される情報であってもよいし、これらとは別にデータセット３０３に含まれているデータであってもよい。
【００５５】
そして、サーバ１のＣＰＵ１０は、受信したデータセット３０３の状態情報に応じて、補正値を決定してもよい。この場合、サーバ１のメモリ１５は、補正値情報１７３として、状態情報の内容毎の補正値を格納していてもよい。
【００５６】
例えば、補正値情報１７３において、インク残量が所定値未満の場合、所定値以上の場合に比べて小さい補正値が設定されていてもよい。また、ロールの回転数が所定値以上の場合、すなわち、印刷におけるロールの動作ロスが所定以上大きい場合、回転数が所定値未満の場合に比べて小さい補正値が設定されていてもよい。
【００５７】
例えば、インク残量が残り少ない場合、加算される補正値が小さくなるため、優先的にデータセット３０３をサーバ１に送信することができる。また、ロールの回転数が所定値以上の場合、すなわちロールの故障が近いと予測される場合、優先的にデータセット３０３をサーバ１に送信することができる。これにより、複合機２の状態に応じて、送信予定時刻に適切な補正値を加算することができる。
【００５８】
また、負荷軽減システム１００のサーバ１は、データセットＤＢ１７１において複合機２毎にデータセット３０３を格納していてもよい。そして、ＣＰＵ１０はタイミング推定部の一例として、複合機２のメンテナンスのタイミングを推定してもよい。ＣＰＵ１０は、該タイミングを、受信したデータセット３０３と、該データセット３０３の識別情報が示す複合機２についての、メモリ１５に記憶されたデータセット３０３と、に応じて推定する。そして、ＣＰＵ１０は、前述のタイミングまでの期間が所定期間未満である場合、送信予定時刻においてサーバ１の負荷が所定の閾値以上であっても、補正値を加算しないこととしてもよい。
【００５９】
図５は、本実施形態に係る負荷軽減システム１００におけるサーバ１および複合機２の処理の流れの一例を示す図である。なお、図４において説明したステップについては説明を繰り返さない。本実施形態に係る負荷軽減システム１００では、送信予定時刻におけるサーバ１の負荷が所定以上である場合（Ｓ１０８でＹＥＳ）、ＣＰＵ１０は複合機２のメンテナンス時期を推定する（Ｓ２００）。推定の方法は特に限定しないが、例えば、ＣＰＵ１０は、データセット３０３に含まれる状態情報から、該データセット３０３に含まれる識別情報が示す複合機２の、メンテナンス時期を推定してもよい。
【００６０】
そして、ＣＰＵ１０は、メンテナンスまでの期間が所定期間未満である場合（Ｓ２０２でＹＥＳ）、補正値を加算しない。一方、ＣＰＵ１０は、メンテナンスまでの期間が所定期間以上である場合（Ｓ２０２でＮＯ）、受信したデータセット３０３の状態情報に応じて、補正値を決定して、送信予定時刻に加算する（Ｓ２０４）。以降の処理は、図４と同様である。
【００６１】
以上の処理によれば、メンテナンスのタイミングが近い複合機２には、補正値を加算しないで送信予定時刻そのままを、次回の送信時刻として通知する。したがって、サーバ１は、メンテナンスの緊急度が高い複合機２からのデータセット３０３の受信を優先して行うことができる。
【００６２】
〔実施形態３〕
本発明の実施形態３について、以下に説明する。本実施形態に係る負荷軽減システム１００において、ＣＰＵ１０は、次回の送信時刻が、サーバ１が複合機２それぞれと通信不可能な期間に含まれる場合、次回の送信時刻を、通信不可能な期間の終了以後の時刻に調整した調整済送信時刻を複合機２に通知してもよい。
【００６３】
本実施形態に係るサーバ１のメモリ１５は、メンテナンス情報を記憶している。メンテナンス情報とは、サーバ１のメンテナンス期間を示す情報である。例えば、メンテナンス情報は、メンテナンスの識別情報に、メンテナンスの期間を示す情報が対応付けられていればよい。
【００６４】
図６は、本実施形態に係る負荷軽減システム１００におけるサーバ１および複合機２の処理の流れの一例を示す図である。なお、図４において説明したステップについては説明を繰り返さない。本実施形態に係る負荷軽減システム１００では、ＣＰＵ１０は、Ｓ１０８でＮＯの場合、もしくはＳ１１０の処理の後、次回の送信時刻がメンテナンス期間内か否かを判定する（Ｓ３００）。例えば、ＣＰＵ１０はメモリ１５に記憶されたメンテナンス情報を参照して、次回の送信時刻がいずれかのメンテナンス期間に含まれているか否かを判定する。
【００６５】
次回の送信時刻メンテナンス期間に含まれていない場合（Ｓ３００でＮＯ）、ＣＰＵ１０は次回の送信時刻に特に調整処理を行わない。一方次回の送信時刻がメンテナンス期間に含まれている場合（Ｓ３００でＹＥＳ）、ＣＰＵ１０は、通信不可能な期間の終了以後の時刻に調整し（Ｓ３０２）、該調整した調整済送信時刻を次回の送信時刻として複合機２に通知する（Ｓ３０４）。複合機２は次回の送信時刻を通知されると（Ｓ３０６）、図４のＳ１１６以降と同様の処理を実行する。
【００６６】
以上の処理によれば、サーバ１において、メンテナンス等で複合機２と通信できない期間が生じる場合に、データセット３０３が該期間内に送信されることを防止することができる。
【００６７】
〔実施形態４〕
本発明の実施形態４について、以下に説明する。本実施形態に係る負荷軽減システム１００において、ＣＰＵ１０は、複合機２から複合機２の起動を示す起動情報を受信してもよい。また、ＣＰＵ１０は起動情報の受信時刻と、該起動情報に含まれる複合機２の識別情報から特定されるデータ種別に応じて、複合機２からのデータセット３０３の次回の送信時刻を算出してもよい。そして、ＣＰＵ１０はその次回の送信時刻を複合機２に通知してもよい。
【００６８】
図７は、本実施形態に係る負荷軽減システム１００におけるサーバ１および複合機２の処理の流れの一例を示す図である。複合機２は起動すると起動情報をサーバ１に送信する（Ｓ４００）。サーバ１のＣＰＵ１０は、ネットワークＩ／Ｆ１２を介し起動情報を受信する（Ｓ４０２）。起動情報には、複合機２の識別情報を示す情報が含まれている。そして、複合機２においては、識別情報が特定されれば、起動の直後に送信するデータセットのデータ種別を特定することができる。
【００６９】
ＣＰＵ１０は起動情報の受信時刻と、該起動情報に含まれる識別情報から特定するデータ種別に応じて、データセット３０３の次回の送信時刻を算出する（Ｓ４０４）。ＣＰＵ１０は算出した次回の送信時刻を含むサブスクリプション情報を複合機２に向けて送信する（Ｓ４０６）。複合機２のＣＰＵ２０は該サブスクリプション情報を受信し（Ｓ４０８）、該サブスクリプション情報で指定された時刻になるまで待機する（Ｓ４１０でＮＯ）。指定された時刻になると（Ｓ４１０でＹＥＳ）、ＣＰＵ２０はデータセット３０３をサーバ１に送信し（Ｓ４１２）、サーバ１のＣＰＵ１０は該データセット３０３を受信する（Ｓ４１４）。
【００７０】
以上の処理によれば、デバイスの起動時に、データセットの次回の送信時刻を通知することができる。これにより、起動後にデータセットを適切なタイミングで取得できる。
【００７１】
なお、ＣＰＵ１０は、Ｓ４０８で受信したサブスクリプション情報で指定された時刻、すなわち、データセット３０３の次回の送信時刻よりも前に、複合機２から起動情報を受信した場合、該起動情報の受信時刻と、複合機２に通知した次回の送信時刻と、に基づいて、該次回の送信時刻を再算出してもよい。そして、ＣＰＵ１０は、再算出した次回の送信時刻を複合機２に通知してもよい。
【００７２】
これにより、複合機２の起動直後に受信するデータセット３０３を指定した時刻よりも早くに受信した場合、次回の送信時刻を再算出し通知することができる。これにより、起動直後のデータセット３０３を適切なタイミングで取得できる。
【００７３】
また、ＣＰＵ１０は、以前指定したデータセット３０３の次回の送信時刻が既に経過してから起動情報を受信した場合、データセット３０３の次回の送信時刻を起動情報の受信時刻の直後として再算出してもよい。そして、ＣＰＵ１０は再算出した次回の送信時刻を前記デバイスに通知しても良い。
【００７４】
これにより、複合機２の起動直後に受信するデータセット３０３を、指定した送信時刻が経過しても受信できていない場合、データセット３０３を直ちに送信するよう複合機２に通知することができる。これにより、データセット３０３を速やかに取得できる。
【００７５】
〔ソフトウェアによる実現例〕
ＣＰＵ１０およびＣＰＵ２０は、集積回路（ＩＣチップ）等に形成された論理回路（ハードウェア）によって実現してもよいし、ソフトウェアによって実現してもよい。
【００７６】
後者の場合、ＣＰＵ１０およびＣＰＵ２０は、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータを備えている。このコンピュータは、例えば１つ以上のプロセッサを備えていると共に、前記プログラムを記憶したコンピュータ読み取り可能な記録媒体を備えている。そして、前記コンピュータにおいて、前記プロセッサが前記プログラムを前記記録媒体から読み取って実行することにより、本発明の目的が達成される。前記プロセッサとしては、例えばＣＰＵ（Central Processing Unit）を用いることができる。前記記録媒体としては、「一時的でない有形の媒体」、例えば、ＲＯＭ（Read Only Memory）等の他、テープ、ディスク、カード、半導体メモリ、プログラマブルな論理回路などを用いることができる。また、前記プログラムを展開するＲＡＭ（Random Access Memory）などをさらに備えていてもよい。また、前記プログラムは、該プログラムを伝送可能な任意の伝送媒体（通信ネットワークや放送波等）を介して前記コンピュータに供給されてもよい。なお、本発明の一態様は、前記プログラムが電子的な伝送によって具現化された、搬送波に埋め込まれたデータ信号の形態でも実現され得る。
【００７７】
本発明は上述した各実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能であり、異なる実施形態にそれぞれ開示された技術的手段を適宜組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。
【符号の説明】
【００７８】
１  サーバ
２  複合機
１０、２０  ＣＰＵ
１１、２１  入力Ｉ／Ｆ
１２、２２  ネットワークＩ／Ｆ
１３、２３  バス
１４、２６  タイマー
１５、２４  メモリ
１６  サーバプログラム
１７、３０  データ記憶領域
２５  ディスプレイ
２７  印刷部
２８  スキャナ部
２９  プリンタプログラム
１００  負荷軽減システム
１７１  データセットＤＢ
１７２  送信時刻ＤＢ
１７３  補正値情報
１７４  受信スケジュール情報
３０１  送信時刻情報
３０２  機器情報
３０３  データセット
【図１】
2020149627.tif 000003
【図２】
2020149627.tif 000004
【図３】
2020149627.tif 000005
【図４】
2020149627.tif 000006
【図５】
2020149627.tif 000007
【図６】
2020149627.tif 000008
【図７】
2020149627.tif 000009