JP2021125710A - 帯域制御システム - Google Patents
帯域制御システム Download PDFInfo
- Publication number
- JP2021125710A JP2021125710A JP2020015513A JP2020015513A JP2021125710A JP 2021125710 A JP2021125710 A JP 2021125710A JP 2020015513 A JP2020015513 A JP 2020015513A JP 2020015513 A JP2020015513 A JP 2020015513A JP 2021125710 A JP2021125710 A JP 2021125710A
- Authority
- JP
- Japan
- Prior art keywords
- data
- unit
- event
- information
- bandwidth
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】一定サイズのデータを一定間隔で送信することにより帯域制限機能を実現可能であるが、装置の状態やデータ送信処理に関わる処理コストが考慮されておらず、実際に占有する帯域と帯域制限値で誤差が発生する可能性がある課題に対し、帯域制御システムを提供する。
【解決手段】装置の状態、データ送信に関わる処理コストを考量して送信間隔を調整することにより、決められた帯域制限値と実際に送信されるデータ量の誤差を極力抑えることができる。
【選択図】図8
【解決手段】装置の状態、データ送信に関わる処理コストを考量して送信間隔を調整することにより、決められた帯域制限値と実際に送信されるデータ量の誤差を極力抑えることができる。
【選択図】図8
Description
本発明は、情報処理装置のデータ転送方法に関する。
モバイル機器やプリントデバイスなどの装置の稼働状態やイベントをクラウド上のストレージに収集し、迅速な保守や障害予兆予測などの分析を行うサービスが求められている。これを実現するために、稼働している装置からインターネットを通じて、ストレージに大量のログデータが送信する必要がある。しかし、プリントデバイスなどの顧客環境内のイントラネット内の装置からクラウド上のストレージにデータを送信する場合、顧客の業務に影響を与えないように、データ送信によって占有するネットワーク帯域を制限する必要がある。ネットワーク帯域を制御する方法としては、ロードバランサを導入する方法等があるが、一般的に高価であり、顧客環境に存在しない可能性がある。
一方で、一定サイズのデータを一定間隔で送信することにより疑似的に占有するネットワーク帯域を制限する方法が提案されている(例えば、特許文献1参照)。
しかしながら、先行技術で示される方法では、理論上の帯域制限値としては実現可能であるが、装置の状態やデータ送信処理に関わる処理コストが考慮されておらず、実際に占有する帯域と帯域制限値で誤差が発生する可能性がある。帯域制限値を超えなければ、顧客の業務に影響を与えることはないが、誤差が発生するだけデータ送信処理に時間を要することになるため、可能な限り帯域制限値に近い帯域でデータ送信を行う必要がある。
本発明は、決められた帯域制限値と実際に送信されるデータ量の誤差を極力抑えることができる帯域制御システムを提供することを目的とする。
上記目的を達成するために、本発明は、クライアント機の各種状態変化をイベントとして収集する機能と、収集したイベントをストレージサーバに送付する機能を持つシステムであって、定められたネットワーク帯域となるように、ネットワークソケットへの書き込み間隔を調整する手段を有することを特徴とする。
本発明によれば、装置の状態、データ送信に関わる処理コストを考量して送信間隔を調整することにより、決められた帯域制限値と実際に送信されるデータ量の誤差を極力抑えることができる。
以下、本発明を実施するための形態について図面を用いて説明する。
[実施形態1]
図1は、本発明の実施形態におけるシステム全体を示すシステム構成図である。ネットワーク100には、本実施形態で説明する情報処理装置のストレージサーバ110、およびクライアント機120が接続されている。
図1は、本発明の実施形態におけるシステム全体を示すシステム構成図である。ネットワーク100には、本実施形態で説明する情報処理装置のストレージサーバ110、およびクライアント機120が接続されている。
クライアント機120には機器内での事象を履歴イベントの形でストレージサーバ110に対して通知する通信機能を具備しており、ストレージサーバ110には複数のクライアント機120から通知されたイベントをストレージサーバ110内のストレージに保存する機能性を具備している。ストレージに蓄積された情報は保守や障害予測のための分析に利用される。
本実施形態では、ストレージサーバ110についてはデータストレージと情報処理計算とネットワーク通信機能性を具備できるコンピュータなどの一般的な情報処理装置や、同等機能を持つクラウドサービスで実現する。
本実施形態では、情報処理装置のクライアント機120としては複数種類の機能、例えばコピーやFAX等を実現する複合機を例に説明するが、同様の機能を実現可能な装置であれば特に限定はしない。それらの機能の実行した履歴に加え、省電力状態への遷移や復帰の履歴、またエラー発生など異常状態への遷移・復帰などの履歴などをストレージサーバ110に通知する機能を具備している。
図2は、本発明の実施形態におけるストレージサーバ110が一般的なコンピュータなどの情報処理装置で実現された場合の構成を表すブロック図である。コントローラユニット200、操作部I/F205、表示部210を含んでいる。
コントローラユニット200は、CPU(Central Processing Unit)201を有する。CPU201は、ROM(Read Only Memory)202に格納されているブートプログラムによりOS(Operating System)を起動する。
CPU201は、このOS上で、HDD(Hard Disk Drive)204に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このCPU201の作業領域としてはRAM(Random Access Memory)203が用いられる。HDD204は、上記アプリケーションプログラムと設定や履歴等のデータを格納する。
CPU201には、システムバス208を介して、ROM202およびRAM203とともに、操作部I/F205、表示部I/F206、Network207が接続される。操作部I/F205は、マウス、キーボード等から成る操作部209とのインタフェースであり、操作部209によってユーザにより入力された情報をCPU201に送出する。表示部I/F206は、ディスプレイ等から成る表示部210に表示すべき画像データを表示部210に対して出力する。また、Network207は、ネットワーク100に接続され、ネットワーク100を介してネットワーク100上の各装置との間で情報の入出力を行う。
図3は、本発明の実施形態におけるクライアント機120の構成を表すブロック図である。クライアント機120は、情報処理コントローラユニット301、プリンタコントローラユニット302、スキャナコントローラユニット303、プリンタ304、スキャナ305、操作部306を含んでいる複合機である。
情報処理コントローラユニット301は、クライアント機120の動作に係る情報処理制御を統括するコントローラであり、操作部306が接続される。さらに画像出力デバイスであるプリンタ304を制御するプリンタコントローラユニット302や画像入力デバイスであるスキャナ305を制御するスキャナコントローラユニット303が接続される。
図4は、本発明の実施形態におけるクライアント機120の情報処理コントローラユニット301の構成を表すブロック図である。情報処理コントローラユニット301は、CPU401を有し、CPU401は、ROM402に格納されているブートプログラムによりOSを起動する。CPU401は、このOS上で、HDD404に格納されているアプリケーションプログラムを実行し、これによって各種処理を実行する。このCPU401の作業領域としてはRAM403が用いられる。また、RAM403は、作業領域を提供するとともに、画像データを一時記憶するための画像メモリ領域を提供する。HDD404は、上記アプリケーションプログラムや画像データ、各種設定値や履歴を格納する。
CPU401には、システムバス410を介して、ROM402およびRAM403とともに、操作部I/F406、デバイスコントローラI/F408、Network405、画像処理部407、および電源管理部409が接続される。操作部I/F406は、タッチパネルを有する操作部306とのインタフェースであり、操作部306に表示すべき画像データを操作部306に対して出力する。また、操作部I/F406は、操作部306によってユーザにより入力された情報をCPU401に送出する。
デバイスコントローラI/F408には、スキャナコントローラユニット303およびプリンタコントローラユニット302が接続され、デバイスコントローラI/F408は、画像データの同期系/非同期系の変換を行う。Network405は、ネットワーク100に接続され、ネットワーク100を介してネットワーク100上の各装置との間で情報の入出力を行う。画像処理部407では、プリンタ304への出力画像処理やスキャナ305からの入力画像処理、画像回転、画像圧縮、解像度変換、色空間変換、階調変換などの処理を行う。電源管理部409は機器全体の電源制御を行い、電源オンオフの制御の他通常通電状態以外の省電力状態への移行や、通常状態への復帰などを制御する。
図5は、本発明の実施形態におけるクライアント機120のソフトウェアブロック図である。本実施形態では、RAM403、HDD404、ROM402のいずれかの記憶手段に記憶され、CPU401により実行される。クライアント機120は複合機であり、スキャン、プリント、およびネットワークやメモリストレージを利用した各種機能性を実現するソフトウェアが動作する。
ユーザインターフェース501は、操作部306に対してユーザが操作する画面を表示したり、ユーザが操作した際にその動きをソフトウェアに伝えたりする機能を持つ。
機能アプリケーション502は、コピー、プリント、メール送信など機器内に複数あり、操作部306を経由したユーザの指示やNetwork405経由のデータ受信などをトリガにして複合機のアプリケーション機能を動作させる。
ジョブ制御部503は、機能アプリケーション502からの指示を受けてプリンタコントローラユニット302やスキャナコントローラユニット303を制御してスキャンやプリントを実行する。
電源制御部504は、装置内のソフトウェアの状態と連動して、電源管理部409を制御し通常通電状態と省電力状態の遷移をつかさどる。
エラー制御部505は、主にジョブ制御部503やプリンタコントローラユニット302やスキャナコントローラユニット303などで発生した異常状態の通知を受け、システム全体を停止したり縮退動作を指示したりの制御を実施する。
履歴・設定保持部506は、機器内における不揮発情報を管理する。複合機やジョブの制御に必要な設定を保持したり、ユーザの操作履歴やジョブ実行結果およびエラーの発生などをサマライズして保存したりする。また、システムの不具合発生時に解析デバッグ用途で残すログ情報もここに保存される。不揮発データの実体はHDD404に保持される。
イベント回収部510は、機器内の各モジュール(501~506)で発生した状態遷移を監視し、それをストレージサーバ110に送付するため、イベントの形で正規化しメッセージバッファ520に保存する機能性を持つ。メッセージバッファ520はHDD404上にあり、正規化されたイベントは不揮発領域に保存される。ここでの正規化はJSONなどの汎用のフォーマットを使う。イベント名称、発生時刻、情報処理装置のシリアル番号などの基本情報に加えてイベントの種別によって、追加でさまざまな情報が付与される。これら付与情報はイベント回収部510が履歴・設定保持部506などの不揮発情報を参照したり、機器内各モジュール(501~506)の状態などから動的に取得したりする。
イベント送付部530は、メッセージバッファ520への書き込みを検知するなどしてイベントが発行されたことを受け、メッセージバッファ520から情報を読み出してネットワーク通信部531を介してストレージサーバ110に対してイベントを送付する。ネットワーク通信部531は、Network405を利用し通信する。
図6は、本発明の実施形態におけるクライアント機120の機器内で各種事象が起きた際のストレージサーバ110へのイベント送付の流れを示したフローチャートである。
エラー発生イベントを例にフローチャート600に示す。イベント回収部510がステップS601においてエラーの発生を検知すると、ステップS602において現在時刻を取得する。そしてイベント回収部510はイベント発行のサブルーチンに対してエラーイベントである旨と、取得した現在時刻を引数にして処理を実行することでストレージサーバ110にイベントを送付する。
このサブルーチンについて次のフローチャート610で詳細に説明する。イベント回収部510はステップS611において、受信したイベント内容に応じてあらかじめ紐づけられた情報を機器内の各モジュールから収集する。例えばエラー発生のイベントであれば、エラーコードやエラーが起きた部品の名称、その時までの通紙したカウント値などが収集対象情報になる。また、例えばコピージョブの完了イベントであれば、実行ユーザ名、カラーモノクロの区別、スキャン枚数、プリント枚数などが収集対象情報になる。これら回収した情報に加えて、与えられた時刻情報を使ってJSONのような汎用フォーマットにして正規化する。その後、イベント回収部510はステップS612で正規化されたイベント情報をメッセージバッファ520に保存する。この時点でサーバへの送付内容が確定される。
この書き込みを非同期に検知したイベント送付部530がステップS613にてメッセージバッファ520からイベント情報を読み出し、イベント送付部530がステップS614でストレージサーバ110への送信動作を行う。送信動作の詳細な内容に関しては後述する(図8)。ここでは、サーバへの認証動作や通信エラー時のリトライ処理などを含めて送信完了までを実行する。送付されたストレージサーバ110は受信したイベント情報をストレージに保存する。
このようにしてクライアント機120内で発生した各種事象はストレージサーバ110に送信され収集される。
図7は、イベント送付部530のモジュール構成図である。なお、イベント送付部530の各ソフトウェアモジュールは図4で示したHDD404に記憶されており、前述したようにCPU401によってRAM403にロードされ実行される。
データ入力部701は、メッセージバッファ520にイベント情報が書き込まれたことを検知し、イベント情報を読み込む。検知方法は特に限定しないが、ファイル書き込みのイベント通知であったり、定期的にポーリングして検知するような方法が考えられる。また、検知対象となるメッセージバッファ520は複数存在してもよい。読み込んだイベント情報は、データ管理部702に渡される。
データ管理部702は、データ入力部701から渡されるデータを確認し、データの加工やフィルタリングを行う。例えば、データに個人情報等が含まれる場合、データ入力部701はデータ内の個人情報をマスクしたり、削除するような加工を行う。また、必要な情報のみを送信し、不要な情報を送信しないようにイベント情報のフィルタリングを行う。また、データ管理部702は、イベント情報の内容に従って、どのストレージサーバ110へ送信するかを判断し、送信先を決定する。イベント情報の送信先アドレスや、帯域制限設定情報などの設定は設定情報704に保持されている。
データ出力部703は、データ管理部702の指示に従って、送信先サーバの認証処理を行い、イベント情報をストレージサーバ110へ送信する。
図8は、データ出力部703の帯域制限処理を示すフローチャートである。これらの動作は、各装置のメモリに保存されたプログラムをCPU201が実行することにより実現される。
ここで、前述のステップS613をより詳細に説明すると、データ入力部701がメッセージバッファ520にイベント情報が保存されたことを検知し、イベント情報を読み出し、データ管理部702に送る。ステップS801において、データ管理部702は設定情報704に保持している帯域制限情報を取得し、帯域制限設定がされているかを判断する。帯域制限設定がされている場合はステップS802の処理を行い、帯域制限設定がされていない場合はステップS808の処理を行う。なお、ステップS801、ステップS802の処理は、一度読み込みRAM403上に保持されていれば毎回設定情報704から取得する必要は無く、省略可能である。
ステップS802において、データ管理部702は、帯域設定値を帯域制限設定から読み出し、イベント情報とともにデータ出力部703に通知する。ステップS803において、データ出力部703は、データの送信処理を行う。本実施形態において、データの送信はTCP/IPプロトコルを想定しており、一定サイズのデータをソケットに書き込むことによってデータを送信する。通常であれば全データを送信するまで繰り返し書き込みを行うが、本実施形態の場合は帯域制限を実現するため、一度の書き込み後、後述する計算されたスリープ時間分待機する。
ステップS804において、データ出力部703は、ステップS803において送信データの書き込みに要した時間を取得する。ステップS805において、データ出力部703は、帯域制限値に基づき、データ送信処理におけるスリープ時間を決定する。例えば、帯域制限値が1024Byte/Sで書き込みサイズが200KByteとした場合、スリープ時間は200msecとなる。さらに、本実施形態ではデータの書き込みに要した時間をスリープ時間から差し引く。例えばデータの書き込みに10msec要した場合は、次のデータを書き込むまでに190msec待機する。
ステップS806において、データ出力部703は未送信のデータが残っているかどうか判断し、未送信のデータが残っていた場合はステップS807の処理を行う。未送信のデータが無い場合は処理を終了する。ステップS807において、データ出力部703はステップS805において決定したスリープ時間分待機し、待機後、ステップS803の処理を行う。ステップS801において帯域制限設定がされていない場合は、ステップS808においてスリープ時間の待機は行わずに送信処理を行う。
以上の処理により、データ送信に関わる処理コストを考量することで、決められた帯域制限値と実際に送信されるデータ量の誤差を極力抑えることができる。
[実施形態2]
実施形態1では、データ送信時の書き込みに要した時間を考慮し、帯域制限処理のスリープ時間を調整する処理に関して説明した。しかし、一般的なソフトウェアで実現されるスリープの処理は、CPUの割り込み処理によって実現されているため、精度はあまり高くない。特にミリセカンド秒単位でスリープが必要な処理においては、その誤差の影響は無視できない。
実施形態1では、データ送信時の書き込みに要した時間を考慮し、帯域制限処理のスリープ時間を調整する処理に関して説明した。しかし、一般的なソフトウェアで実現されるスリープの処理は、CPUの割り込み処理によって実現されているため、精度はあまり高くない。特にミリセカンド秒単位でスリープが必要な処理においては、その誤差の影響は無視できない。
以下、スリープの誤差を考慮した帯域制限機能処理に関して説明する。なお、図中の番号および名称は特に断らない限り実施形態1と同様である。
図9は、スリープの誤差を考慮したデータ出力部703の帯域制限処理を示すフローチャートである。ステップS801〜ステップS808の処理は実施形態1と同様であるため説明は省略する。ステップS901において、ステップS807のスリープ処理において実際に経過した時間を取得し誤差を求める。ステップS902において、ステップS805で計算したスリープ時間からさらにS901で求めた時間を差し引く。
以上の処理により、スリープで発生した誤差を考量することにより、決められた帯域制限値と実際に送信されるデータ量の誤差をさらに抑えることができる。
[その他の実施形態]
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
本発明は、以下の処理を実行することによっても実現される。即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
110 ストレージサーバ
120 クライアント機
530 イベント送付部
701 データ入力部
702 データ管理部
703 データ出力部
120 クライアント機
530 イベント送付部
701 データ入力部
702 データ管理部
703 データ出力部
Claims (3)
- クライアント機の各種状態変化をイベントとして収集する機能と、収集したイベントをストレージサーバに送付する機能を持つシステムであって、
定められたネットワーク帯域となるように、ネットワークソケットへの書き込み間隔を調整する手段を有することを特徴とする帯域制御システム。 - ネットワークソケットへの書き込みに要した時間を測定し、次の書き込み間隔から差し引く手段を有することを特徴とする請求項1に記載の帯域制御システム。
- ネットワークソケットへの書き込みを待機している間に発生した誤差時間を測定し、次の書き込み間隔から差し引く手段を有することを特徴とする請求項1に記載の帯域制御システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020015513A JP2021125710A (ja) | 2020-01-31 | 2020-01-31 | 帯域制御システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2020015513A JP2021125710A (ja) | 2020-01-31 | 2020-01-31 | 帯域制御システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2021125710A true JP2021125710A (ja) | 2021-08-30 |
Family
ID=77459597
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2020015513A Pending JP2021125710A (ja) | 2020-01-31 | 2020-01-31 | 帯域制御システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2021125710A (ja) |
-
2020
- 2020-01-31 JP JP2020015513A patent/JP2021125710A/ja active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6604834B2 (ja) | 情報処理装置及びその制御方法、プログラム | |
US7630091B2 (en) | Updating resource data held in a printing apparatus | |
JP4978661B2 (ja) | 画像処理装置 | |
US9160621B2 (en) | Network system, server, information processing apparatus, log registration method, and program | |
US20070112441A1 (en) | Modular layer for abstracting peripheral hardware characteristics | |
JPH1153130A (ja) | 印刷システムおよび印刷システムの状態監視方法およびコンピュータが読み出し可能なプログラムを格納した記憶媒体 | |
JP2002149382A (ja) | 画像処理装置 | |
JP2012254561A (ja) | 画像処理装置、その制御方法、及びプログラム | |
JP2007257481A (ja) | 印刷デバイス | |
JP2004070494A (ja) | ネットワークシステム | |
JP5274203B2 (ja) | データ処理装置、方法、プログラム、並びに、データ処理システム | |
JP2021125710A (ja) | 帯域制御システム | |
JP2014041599A (ja) | プログラム、情報処理装置、システム | |
JP6724088B2 (ja) | 画像処理装置、情報処理方法及びプログラム | |
JP2023120895A (ja) | サーバ、方法およびプログラム | |
JP7379041B2 (ja) | ネットワークデバイス、ネットワークデバイスの制御方法及びプログラム | |
JP2018124777A (ja) | 情報処理装置、制御方法およびプログラム | |
JP2010050966A (ja) | ドキュメント処理装置の設定をクローン化するシステムおよび方法 | |
JP2003140867A (ja) | ネットワークプリントシステム及び情報処理装置 | |
JP2002209035A (ja) | 画像処理装置、情報処理システム、及びデータ処理方法 | |
JP2020086696A (ja) | ネットワーククライアント及びその制御方法 | |
CN103516943A (zh) | 图像形成系统以及图像形成方法 | |
US11625211B2 (en) | Printer capable of receiving print job from server and non-transitory computer-readable recording medium storing computer-readable instructions for printer | |
JP2012064184A (ja) | 印刷システムおよびプリンタ | |
JP4095291B2 (ja) | 情報処理装置、ダウンロード方法、記憶媒体、プログラム |