(57)【要約】【課題】ネットワーク帯域を考慮してクロック周波数を制御することで無駄な消費電力を抑えることが出来るクライアント端末及びシンクライアントシステムを提供する。【解決手段】ネットワークを介して受信したデータを処理する処理部を備えるクライアント端末であって、前記ネットワークの帯域に合わせて、前記処理部を動作させるクロック周波数を判別する判別手段と、前記処理部のクロック周波数を、前記判別されたクロック周波数に変更するクロック制御手段と、を備えることを特徴とする。【選択図】図１
2011070565.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して受信したデータを処理する処理部を備えるクライアント端末であって、
前記ネットワークの帯域に合わせて、前記処理部を動作させるクロック周波数を判別する判別手段と、
前記処理部のクロック周波数を、前記判別されたクロック周波数に変更するクロック制御手段と、
を備えることを特徴とするクライアント端末。
【請求項２】
前記判別手段は、前記受信したデータを前記処理部で処理するにかかる時間を、前記処理部のクロック周波数の値を一定値ずつ下げながら比較し、処理にかかる時間が最短で、かつ前記クロック周波数が最も低くなる値を判別することを特徴とする請求項１記載のクライアント端末。
【請求項３】
前記判別手段による判別を行う際に利用するデータは、前記ネットワークを介して計測用に送られた計測用データであることを特徴とする請求項１又は２記載のクライアント端末。
【請求項４】
前記計測用データに基づいて、前記判別手段によりクロック周波数が判別した場合は、前記ネットワークを介して前記計測用データを送った装置に対して、データ送信要求を行うことを特徴とする請求項３記載のクライアント端末。
【請求項５】
前記受信したデータは、エンコードされたものであり、
前記処理部で行う処理として、前記エンコードされたデータをデコードすることを特徴とする請求項１記載のクライアント端末。
【請求項６】
前記クライアント端末は、前記ネットワークを介してサーバと接続し、前記サーバに処理実行コマンドを送信し、前記サーバから前記コマンドに応じた処理実行後の画面データを表示する画像データを受信し、前記画像データを表示部に表示するシンクライアントシステムにおけるシンクライアント端末であることを特徴とする請求項１から５のいずれか１項記載のクライアント端末。
【請求項７】
サーバと、前記サーバに処理実行コマンドを送信し、前記サーバから前記コマンドに応じた処理実行後の画面データを表示する画像データを受信し、前記画像データを表示部に表示するシンクライアント端末と、がネットワークを介して接続されるシンクライアントシステムであって、
前記シンクライアント端末は、請求項５記載のクライアント端末であることを特徴とするシンクライアントシステム。
【請求項８】
前記サーバは、前記シンクライアント端末から送信された前記クロック周波数に基づく前記シンクライアント端末の処理量情報を取得し、前記処理量に応じた量のデータを送信することを特徴とする請求項７記載のシンクライアントシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クライアント端末及びシンクライアントシステムに関し、特に、ネットワーク帯域を考慮してクロック周波数を制御することで無駄な消費電力を抑えるクライアント端末及びシンクライアントシステムに関する。
【背景技術】
【０００２】
近年、シンクライアント端末とサーバとがネットワークを介して接続されたシンクライアントシステムが知られている。シンクライアントシステムにおいて、シンクライアント端末自身は、必要最小限の機能を有するのみで、ほとんどの処理を、ネットワーク経由でサーバに処理させ、シンクライアント端末は、その処理結果を受信するものである。
【０００３】
ここで、シンクライアントシステムの一形態として、シンクライアント端末の画面に、サーバから送信された映像を表示する形態がある。この形態では、シンクライアント端末を操作するユーザには、あたかも、表示の制御を含めたほとんどの処理がサーバ側でなされ、シンクライアント端末は、サーバにコマンドを送信する程度の処理しかしない。サーバは、映像を例えばＭＰＥＧ２等の方式で圧縮（エンコード）して送信し、シンクライアント端末にて、伸張（デコード）して表示している。
【０００４】
映像を受信する端末（シンクライアント端末）は、通常、外出先で使用される等、持ち運ばれて、ネットワークに接続することで、どこからでも自宅にあるサーバ内のデータを処理することが出来ることがメリットとなる。従って、シンクライアント端末の軽量化や、長時間駆動のため消費電力の軽減が求められる。
【０００５】
上述のようにシンクライアント端末で映像をデコードする際のプロセッサに注目すると、プロセッサは常に一定の周波数、すなわち最大動作周波数でデコード処理を行っている。通常、プロセッサは周波数が高くなるほどその消費電力は高くなり、この消費電力の上がり方は、周波数が高くなるほど急になる。高クロック時はプロセッサの発熱量が増加し、プロセッサを構成する金属の電気抵抗は一般的に温度に比例し、温度が高くなるほど抵抗は大きくなり、さらに抵抗値が大きくなると、発熱量が増加するという特性を一般的なプロセッサは持っているからである。
【０００６】
サーバから送信された映像を表示する形態のシンクライアントシステムでは、クライアント端末は、受信したフレームをデコードする毎に表示していくが、あるフレームのデコードを終えたプロセッサは、次のデコードを待つ時間がしばしばあり、デコード処理時のプロセッサの周波数が常に高いと、常に消費電力が高く、さらに、待ち時間の消費電力を無駄にしていることになっていた。
【０００７】
そこで、クライアント端末がデコードする際のクロックをフレーム毎に予め指定することで、プロセッサの稼動時間は長くなっても、周波数を抑えることで消費電力を軽減する情報処理システムが提案されている（特許文献１参照）。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００９−１７０８０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１記載の情報処理システムは、エンコード前のフレームのデータサイズ及びエンコード後のフレームのデータサイズ、エンコード方式、クライアント端末のプロセッサのモデル名やアーキテクチャに基づき、クロックを決定している。
【００１０】
クライアント端末では、上記決定されたクロックに従って、プロセッサ周波数を変更して、エンコードされたデータをデコードするが、これはサーバとクライアント端末とのネットワーク接続が順調に継続していることが前提となっている。実際、クライアント端末は持ち運ばれて外出先で使用されることがほとんどと想定されるが、屋外でのネットワーク環境において、常に満足できるだけのネットワーク帯域（データ通信量）を得られるとは限られず、使用中にネットワーク帯域が変化していくことや、場所によってネットワーク帯域が異なり、データ通信量に変化があることは十分に考え得る。
【００１１】
そうすると、ネットワーク環境の悪化（ネットワーク帯域が十分に確保できない状況）により、クライアント端末側において、デコードされたデータの受信が滞り、受信に時間がかかる場合もある。このような場合に画像データ（デコードされたデータ）の遅延が発生するが、特許文献１では特に考慮されていない。また、画像データが遅延しても、クライアント端末のプロセッサが指定された周波数に従って処理を続けると、オーバースペックとなってしまう。すなわち、ネットワーク環境に合わせるならば４０％の処理量で十分なところを、特許文献１記載のクライアント端末では、ネットワーク環境を全く考慮せずに決定された周波数に従って動作するために、５０％の処理量を実現してしまうこともあり、無駄な消費電力が発生してしまう。
【００１２】
また、ネットワーク帯域の処理量（データ通信量）に合わせるならば４０％の処理量で十分なところを、通常、プロセッサはＭａｘの状態で稼動しようとするため、このような場合も、クライアント端末の性能（プロセッサ稼動量）がオーバースペックとなってしまう。図６は、クライアント性能がオーバースペックになっていることを説明するための模式図である。
【００１３】
さらに、長時間駆動のための消費電力軽減策としては、クライアント端末の稼動性能に一定制限（液晶画面の輝度を制限、稼動率を制限等）を行う省電力モードを設けることも一般的に行われている。例えば、ＣＰＵ（Central Processing Unit）の処理量を５０％に抑える、というような制限である。しかしながら、上述したようにネットワーク環境の悪化で、ネットワーク帯域を十分に確保できず、サーバから送られたデータ量が少なくなってしまうこともある。少ないデータ量のためＣＰＵの処理量は例えば４０％で十分なところを、設定された５０％で処理しようとし、ＣＰＵは無駄な電力を消費していることになる。
【００１４】
本発明はこのような状況に鑑みてなされたものであり、ネットワーク帯域を考慮してクロック周波数を制御することで無駄な消費電力を抑えることを目的とする。
【課題を解決するための手段】
【００１５】
本発明に係るクライアント端末は、ネットワークを介して受信したデータを処理する処理部を備えるクライアント端末であって、前記ネットワークの帯域に合わせて、前記処理部を動作させるクロック周波数を判別する判別手段と、前記処理部のクロック周波数を、前記判別されたクロック周波数に変更するクロック制御手段と、を備えることを特徴とする。
【００１６】
本発明に係るシンクライアントシステムは、サーバと、前記サーバに処理実行コマンドを送信し、前記サーバから前記コマンドに応じた処理実行後の画面データを表示する画像データを受信し、前記画像データを表示部に表示するシンクライアント端末と、がネットワークを介して接続されるシンクライアントシステムであって、前記シンクライアント端末は、上記本発明に係るクライアント端末であることを特徴とする。
【発明の効果】
【００１７】
本発明によれば、ネットワーク帯域を考慮してクロック周波数を制御することで無駄な消費電力を抑えることが出来る。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態に係るクライアント端末２００とネットワーク３００を介して接続されるサーバ１００とから成る情報処理システムである。
【図２】本発明の実施形態に係る情報処理システムの動作処理を示すフローチャートである。
【図３】実施例１に係る動作処理を示すフローチャートである。
【図４】実施例２に係る動作処理を示すフローチャートである。
【図５】実施例２において、定期的にクロック最適化を行っている場合の計測結果の一例を示す図である。
【図６】クライアント性能がオーバースペックになっていることを説明するための模式図である。
【発明を実施するための形態】
【００１９】
以下に、本発明の実施形態について図面を用いて詳細に説明する。なお、以下に述べる実施形態は、本発明の好適な実施形態であるから、技術的に好ましい種々の限定が付されているが、本発明の範囲は、以下の説明において特に本発明を限定する旨の記載がない限り、これらの態様に限られるものではない。
【００２０】
（構成）
図１は、本発明の実施形態に係るクライアント端末２００とネットワーク３００を介して接続されるサーバ１００とから成る情報処理システムである。
【００２１】
図１に示す情報処理システムは、いわゆるシンクライアントシステムの一形態であり、端末２００は、サーバ１００から映像を受信して表示する。サーバ１００は、画像データをエンコードして端末に送信する。
【００２２】
サーバ１００は、ＣＰＵ１０１、ＲＯＭ（Read Only Memory）１０２、ＲＡＭ（Random Access Memory）１０３、ＨＤＤ（Hard Disk Drive）１０４、ネットワークＩ／Ｆ（Inter Face）１０５から構成される（ハードウェア構成）。ＣＰＵ１０１は、ＲＯＭ１０２及びＲＡＭ１０３と連帯して、サーバ１００全体を制御する。ＲＯＭ１０３には、サーバ１の制御プログラム、各種アプリケーションプログラム等が予め記憶されている。ＣＰＵ１０１は、ＲＯＭ１０３に記憶された制御プログラムに基づいて各機能ブロックの制御を行う。また、ＲＯＭ１０３に記憶されている各種アプリケーションプログラムの起動／停止及び制御等を行う。
【００２３】
次に、サーバ１００の機能について説明する。サーバ１００は、画像データをエンコード（圧縮）するエンコード部１１１と、エンコードした画像データを端末２００に送る通信部１１２を備える。通信部１１２は、端末２００からのコマンドの受信も行う。具体的には、ネットワークI/F１１５を介して通信を行う。これらの機能は、ＣＰＵ１０１により実現される。
【００２４】
端末２００は、ＣＰＵ２０１、メモリ２０２、ネットワークＩ／Ｆ２０３を備える。ＣＰＵ２０１は、メモリ２０２と連帯して端末２００全体を制御するよう処理する処理部である。サーバ１００から受信したデータの処理（例えばデコード、デコードしたデータの表示等）も行う。
【００２５】
次に、端末２００の機能について説明する。端末２００は、ネットワーク帯域に最適なクロック周波数を判別する判別部２１１と、判別部２１１で決定されたクロック周波数でＣＰＵクロックを制御するクロック制御部２１２と、サーバ１００から送られたデータをデコードするデコード部２１３を備える。これらの機能は、ＣＰＵ２０１により実現される。
【００２６】
（動作）
次に、本実施形態に係る情報処理システムの動作処理について説明する。図２は、本実施形態に係る情報処理システムの動作処理を示すフローチャートである。
【００２７】
サーバ１００は、端末２００から処理実行指示（コマンド）（ステップＳ２００）を受けるまで待機状態にあり（ステップＳ１００）、端末２００からのコマンドに従い、データ処理を実行する（ステップＳ２０１）。具体的には、例えばコマンドに従ってサーバ１００上で実行しているＡＰ（アプリケーション）の画面データをエンコードする処理である。処理した（エンコードした）データを端末２００に送信する（ステップＳ１０２）。サーバ１００は以上の動作を繰り返す。
【００２８】
ここで、データを端末２００に送信するタイミングについては、サーバ１００側でのデータ処理が完了した時点での送信（Ｓ１０２Ａ）や、後述するように端末２００側でＣＰＵクロックの周波数が決定され、クロック制御された後、端末２００から送信要求を受けた場合に送信する（Ｓ１０２Ｂ）ことが考え得る。
【００２９】
Ｓ１０２Ａの場合は、送信された処理データ（最初のフレームデータ）に基づき、端末２００側でクロック周波数の判別が行われる（Ｓ２０１）。
【００３０】
Ｓ１０２Ｂの場合は、まず、処理データの送信に先行して、計測用のデータを端末２００に送信する（図示せず；計測用データの送信タイミングについては特に限定せず、少なくとも処理実行指示（Ｓ２００）後であれば良い）。端末２００は、計測用データに基づき、クロック周波数の判別を行う（Ｓ２０１）。端末２００側で決定されたＣＰＵクロックの周波数で、クロック制御された後、送信要求をサーバ１００に送信する。サーバ１００は、データ処理完了後、送信要求を端末２００から受けるまで処理データの送信を待機する（Ｓ１０２Ｂ）。
【００３１】
次に、端末２００側の処理について説明する。端末２００は、サーバ１００と接続するネットワーク帯域に応じたＣＰＵクロック周波数を判別し（ステップＳ２０１）、ＣＰＵクロックの周波数を決定し、変更する（ステップＳ２０２）。変更された周波数で動作するＣＰＵにおいて、サーバ１００から受信したデータの処理（デコードし、表示）を行う（ステップＳ２０３）。
【００３２】
ＣＰＵクロックの周波数の変更を行うタイミングは、サーバ１００から送られる、端末２００に表示させる画像データのフレームデータ毎に行っても良いし、ネットワーク帯域を（常に／一定時間毎に）監視し、ネットワーク帯域が変化した場合に変更処理を行っても良い。
【００３３】
ここで、ネットワーク帯域に応じたＣＰＵクロックの周波数決定の手法の実施例を説明する。なお、以下に説明する実施例は一例であり、ネットワーク帯域に応じたＣＰＵクロックの周波数決定の手法は様々考え得る。
【００３４】
〔実施例１〕
例えば、エンコードされたデータがサーバから送られた場合に、該データをデコードする展開時間に基づいて判別する。サーバと接続するネットワークを介して実際に送信されたデータに基づいて判断するため、ネットワーク帯域に合わせたＣＰＵクロック周波数を決定出来る。
【００３５】
図３は、本実施例に係る動作処理を示すフローチャートである。まず、ＭａｘのＣＰＵクロック周波数で（"Ｍａｘ"と表記して説明するが、省電力モードにより５０％等に制限されている場合はその制限値をＭａｘとしても良い。いずれも、現在動作している状態でまずは計測すれば良い。）、サーバ１００から送信されたデータを展開し、展開に要した時間を測定する（測定結果Ａ）（ステップＳ３００）。
【００３６】
次に、ＣＰＵクロック周波数を一定量落とし（ステップＳ３０１）、再度データ展開時間を測定する（測定結果Ｂ）（ステップＳ３０２）。
【００３７】
測定結果ＡとＢを比較し、Ａ＜ＢとなるまでステップＳ３０１とＳ３０２を繰り返す。Ａ＜Ｂとなった場合は（ステップＳ３０３／Ｙｅｓ）、測定結果Ｂを出した周波数に落とす前の段階の周波数を、ＣＰＵクロック周波数として確定する（ステップＳ３０４。）
【００３８】
図３の処理により周波数を確定する手法について、以下の表１を参照して具体的に説明する。
【００３９】
【表１】
2011070565.tif 000003
【００４０】
サーバ１００から送信された、ある大きさの画像データ（例えばＢｉｔ Ｍａｐデータ）の展開（デコード）時間を比較する。まず、現在ＣＰＵがＭａｘで稼動していると想定し、Ｍａｘの周波数で展開時間を計測する（１回目）。次に、例えば周波数を−１０％下げ、No.1と同じデータを展開する（２回目）。１回目と２回目に計測した時間が同じ（ｎ）場合は、さらに周波数を−１０％下げ、同様に展開時間を計測する。周波数を下げて計測した時間が、その前に計測した時間よりも長くなるまで行う。ここでは、４回目に計測した時間ｍが、ｎ＜ｍの関係にあるため、３回目の周波数を、ＣＰＵクロック周波数として確定する。すなわち、同じデータを展開する時間が、ＣＰＵの周波数がＭａｘでも−２０％下げた状態でも同じであるならば、なるべく抑えたＣＰＵ周波数で動作させた方が、消費電力も抑えることができ、長時間駆動が可能となる。
【００４１】
〔実施例２〕
なお、ＣＰＵ周波数クロックを確定するために展開する対象とするデータは、サーバから計測データとして、処理データの送信（図２、Ｓ１０２）に先行して送られたものでも良い。計測データを用い、変動するネットワーク帯域のあるポイントでのクロック最適化を定期的又はユーザの指定する任意のタイミング（例えば１分おき、利用開始時、午前・正午・午後、など）により実行することで、無駄な処理を軽減し消費電力の低減を図る。
【００４２】
図４は、本実施例に係る動作処理を示すフローチャートである。クライアント端末２００からサーバ１００に対し、計測データの送信指示を行い（Ｓ４００）、サーバからネットワークを介して計測データが送信される（Ｓ４０１）。計測データを受信すると（Ｓ４０２）、展開時間の計測を開始する（Ｓ４０３）。展開時間とは、デコード開始（Ｓ４０４）からデコード完了（Ｓ４０５）までの時間である。
【００４３】
計測を完了すると（Ｓ４０６）、計測結果の比較を行う（Ｓ４０７）。計測時間データが１つ（T1）の場合は（Ｓ４０７／Ｙｅｓ）、クライアント端末のクロックを制御し、例えば−１％低減する（Ｓ４０８）。その状態で再度、計測データ送信指示を行い、計測を行う（Ｓ４００〜Ｓ４０６）。かかる２回目の計測結果（T2）が、T1と同じ場合は、さらにクロックを低減制御（−１％）し、３回目の計測を行う。
【００４４】
計測を繰り返し、Tn＞T1の場合に（Ｓ４０７／Ｎｏ）、クロック周波数最適化完了となる（Ｓ４０９）。
【００４５】
以上のクロック周波数最適化処理を、定期的又はユーザの指定する任意のタイミングにより実行し、最適なクロックを維持する。
【００４６】
図５は、定期的にクロック最適化を行っている場合の計測結果の一例を示す図である。
【００４７】
〔実施例３〕
データの展開時間の測定方法の異なる実施例として、サーバからのデータ送出時刻から、デコード完了時刻までにかかる時間を、クロック数を低減しながら繰り返しながら比較し、最適クロック数を決定しても良い。ネットワーク伝送にかかる時間が遅いということは、帯域が細いということになる。
【００４８】
〔実施例４〕
クライアント端末２００は、実施例１〜３で最適化した周波数と、ネットワーク帯域（速度）とを対応付けて記憶しておき、以降はネットワーク帯域を判別するのみで、最適な周波数を決定するよう処理することも可能である。
【００４９】
〔実施例５〕
サーバ１００は、所定の画像データをサーバ１００から送出してクライアント端末２００に伝送されるまでの時間（ネットワーク伝送時間、通信時間）が、予め設定されている時間以上かかった場合は、その時間に合わせてビットレートを落とした画像データを送出する。クライアント端末２００が行う最適化クロック数は、上述した実施例に記載のように、展開時間で決定しても良い。サーバ１００から送出するデータ量を少なくすることで、クライアント端末２００側で決定するクロック数もより低い値になり、消費電力の低減を図ることが出来る。
【００５０】
次に、本発明に係る他の実施形態について説明する。端末２００側で受信したフレームをデコードする毎に表示していく場合、ネットワーク環境が悪化し、データ受信が滞る場合も考え得る。例えば特許文献１記載の情報処理システムでは、エンコードされたフレームデータの先頭に付加されたクロック情報に基づき、端末のプロセッサの周波数を変更している。これによりフレーム毎に異なる周波数で動作している。しかしながら、これはネットワーク環境が順調に継続していることが前提となっており、データ受信が滞った場合の周波数制御や対処は考慮されていない。
【００５１】
そこで、本実施形態においては、上述したようにネットワーク帯域に合わせた周波数制御を行っているため、抑えた周波数でＣＰＵを動作させたまま、データ受信が滞った場合はフレームを飛ばして（例えば１個おきで落として）平準化しても良い。これにより、省電力の効果と共に、ネットワーク遅延による処理データの遅延にも対処出来る。
【００５２】
具体的には、クライアント端末２００が、ネットワーク帯域を測定し、帯域が閾値未満の場合は、処理する（デコード対象とする）フレーム数を落とす。閾値を複数定め、閾値に応じて落とすフレーム数を決定しても良い。例えば１個おきでフレームを落とした場合、１フレームのデコードを２フレーム分の時間で行うことが出来る。すなわち高速に処理する必要がなくなり、フレーム数の低減に合わせて、クロック数もさらに落とすことが出来る。これにより消費電力を抑えると共に、ネットワーク遅延による処理データの遅延にも対処出来る。
【００５３】
特許文献１記載の情報処理システムでは、前フレームのクロック周波数情報が付与されている。例えば、本実施形態のように１フレーム飛びで再生する場合には、該付与されたクロック周波数情報だけを抜き取って、その周波数情報を基に１フレームではなく２フレームで再生した場合のクロック周波数に補正することで、適切なクロック周波数が求まることになる。
【００５４】
さらに、他の実施形態として、端末２００側で判別されたＣＰＵクロック周波数の程度により端末２００の現在の処理量（性能）が判明するため、サーバ１００が端末２００の処理量情報を取得することにより、サーバ１００側からもネットワーク帯域に合わせたデータ量を送信することが可能となる。
【００５５】
なお、各図のフローチャートに示す処理を、ＣＰＵが実行するためのプログラムは本発明によるプログラムを構成する。このプログラムを記録する記録媒体としては、半導体記憶部や光学的及び／又は磁気的な記憶部等を用いることができる。このようなプログラム及び記録媒体を、前述した各実施形態とは異なる構成のシステム等で用い、そこのＣＰＵで上記プログラムを実行させることにより、本発明と実質的に同じ効果を得ることができる。
【００５６】
以上、本発明を好適な実施形態に基づき具体的に説明したが、本発明は上記のものに限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることは言うまでもない。
【符号の説明】
【００５７】
１００    サーバ
１０１、２０１    ＣＰＵ
１０２    ＲＯＭ
１０３    ＲＡＭ
１０４    ＨＤＤ
１０５、２０３    ネットワークＩ／Ｆ
１１１    通信部
１１２    通信部
２００    クライアント端末
２０２    メモリ
２１１    判別部
２１２    クロック制御部
２１３    デコード部
３００    メモリ
【図１】
2011070565.tif 000004
【図２】
2011070565.tif 000005
【図３】
2011070565.tif 000006
【図４】
2011070565.tif 000007
【図５】
2011070565.tif 000008
【図６】
2011070565.tif 000009