JP2014075122A - 処理装置およびその方法 - Google Patents

処理装置およびその方法 Download PDF

Info

Publication number
JP2014075122A
JP2014075122A JP2013184421A JP2013184421A JP2014075122A JP 2014075122 A JP2014075122 A JP 2014075122A JP 2013184421 A JP2013184421 A JP 2013184421A JP 2013184421 A JP2013184421 A JP 2013184421A JP 2014075122 A JP2014075122 A JP 2014075122A
Authority
JP
Japan
Prior art keywords
information
unit
response
acquired
request
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
Application number
JP2013184421A
Other languages
English (en)
Inventor
Yuichiro Oyama
山 裕一郎 大
Takeshi Ishihara
原 丈 士 石
Hiroshi Nishimoto
本 寛 西
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2013184421A priority Critical patent/JP2014075122A/ja
Priority to US14/024,470 priority patent/US9400547B2/en
Publication of JP2014075122A publication Critical patent/JP2014075122A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3296Power saving characterised by the action undertaken by lowering the supply or operating voltage
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/329Power saving characterised by the action undertaken by task scheduling
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】装置の消費電力を低減する。
【解決手段】本発明の一態様としての処理装置は、処理部と、通知部とを備える。前記処理部は、要求元から第1情報の取得要求を受信し、前記第1情報の取得先から前記第1情報を取得する必要があるか否かを、あらかじめ決められた条件に基づき判定する。 前記通知部は、前記処理部が前記第1情報を取得する必要があると判定した場合に、前記要求元に低消費電力状態への遷移指示を含む第1応答を通知する。
【選択図】図1

Description

本発明の実施形態は、処理装置およびその方法に関する。
ネットワーク上で公開されている種々の情報を一時的に蓄積し、端末装置からの要求に対して代理応答するキャッシュプロキシの技術が普及している。例えば、端末装置で動作するWebブラウザがWebサーバから情報を取得する際に、まずキャッシュプロキシにアクセスして、キャッシュプロキシから情報の取得を試みる。キャッシュプロキシが情報を保持していれば、Webサーバから直接取得するよりも早く情報を取得できる。キャッシュプロキシが情報を保持していなければ、キャッシュプロキシが端末装置に代わってWebサーバにアクセスし、情報を取得する。キャッシュプロキシは、取得した情報を蓄積した上で、応答として端末装置に返す。このようなWebページに対するキャッシュプロキシは、複数の端末装置から発生した同じ情報取得要求に対して、速やかに情報を提供する機能を提供する。
さらに、キャッシュプロキシが蓄積する情報を端末装置からの要求に先立ち集めておく技術が知られている。この技術を用いることで情報を速やかに取得できる場合が増え、キャッシュプロキシの効果を増進されることが可能である。
ところが上記の技術を用いたとしても、キャッシュプロキシが全ての情報を事前に蓄積することは不可能である。キャッシュプロキシが情報を保持していない場合には、端末装置は取得するまで待ち時間が生じてしまう。
特開2005-266929号公報 特開平第11-219313号公報
本発明の一側面は、要求元が情報を取得するまでの待ち時間を有効に活用し、装置の消費電力を削減することを目的とする。
本発明の一態様としての処理装置は、処理部と、通知部とを備える。
前記処理部は、要求元から第1情報の取得要求を受信し、前記第1情報の取得先から前記第1情報を取得する必要があるか否かを、あらかじめ決められた条件に基づき判定する。
前記通知部は、前記処理部が前記第1情報を取得する必要があると判定した場合に、前記要求元に低消費電力状態への遷移指示を含む第1応答を通知する。
第1の実施形態に係る通信装置の機能ブロック図を示す。 図1の通信装置の動作フローチャートを示す。 通信装置が受信する要求とその応答の例を示す。 第2の実施形態に係る通信装置の機能ブロック図を示す。 第2の実施形態の動作シーケンスを示す。 スリープ・リダイレクト応答に対する端末装置の動作シーケンスを示す。 リダイレクト応答に対してスリープ時間を追加した例を示す。 第3の実施形態における通信装置の機能ブロック図を示す。 第3の実施形態の動作シーケンスを示す。 図9Aに続くシーケンスを示す。 抽出する対象となるタグの一例を示す。 第4の実施形態における通信装置の機能ブロック図を示す。 応答生成部が生成する応答の例を示す。 第5の実施形態における端末装置の機能ブロック図を示す。 第6の実施形態における端末装置とサーバ装置の機能ブロック図を示す。 サーバ装置の動作シーケンスを示す。 通信情報保持部に保持されている情報の例を示す。 第6の実施形態の変形例における端末装置とサーバ装置の機能ブロック図を示す。 第1の実施形態の通信装置のハードウェア構成例を示す。 図18の構成の変形例を示す。 第2の実施形態の通信装置のハードウェア構成例を示す。 第5の実施形態の端末装置のハードウェア構成例を示す。 図21の構成の変形例を示す。 図21の構成の別の変形例を示す。 第8の実施形態に係るシステムを示す。 代理取得装置と状態制御装置の構成例を示す。
以下、本発明の実施の形態について、図面を参照しながら説明する。尚、各図において同一箇所には同一の符号を付すとともに、重複した説明は省略する。
<第1の実施形態>
《第1の実施形態:構成要素の説明》
図1に本発明の第1の実施形態に係る通信装置100の構成を示す。なお、通信装置100の構成要素は本発明の実施に対して必要な構成要素に限定して記載しており、他の構成要素を搭載していても良い。また、同図には本装置を使用するネットワーク構成の代表例を含む。
通信装置100は、情報取得要求を発する端末装置110とサーバ装置111の間に設置される。図1では通信装置100とサーバ装置111とはネットワーク112を介して接続しているが、必ずしもこの限りではない。
通信装置100の構成は次の通りである。
要求処理部101は、端末装置110から情報取得要求を受信する受信機能、要求された情報をサーバ装置から取得する必要があるかをあらかじめ定めた条件に基づき判断する処理機能、取得する必要がある場合には当該情報をサーバ装置111から取得する取得機能、取得する必要がある場合に後述するスリープ応答を返す通知機能、サーバ装置111から情報を取得する際に必要となる通信処理機能、取得した情報を端末装置110に応答として返す出力機能を具備する。要求された情報をサーバ装置から取得する必要があるかを判定する条件としては、一例として、要求された情報が取得済みであるか否か、すなわち後述する情報保持部102に蓄積されているか否かがある。蓄積されていない場合は取得する必要があり、蓄積されている場合は取得する必要がないと判断する。要求処理部101は、蓄積されていると判断した場合(情報を取得する必要がないと判断した場合)に当該蓄積済みの情報を端末装置110へ応答として返す出力機能を備える。また、他の条件の例として、当該情報を取得済みであるものの、当該取得済みの情報が有効期限切れであるか否か、あるいは、取得してから一定時間以上経過しているか否か等がある。有効期限が切れているまたは一定期間以上経過している場合は、当該情報が更新されている可能性があるとして、当該情報を取得する必要があり、そうでない場合は、取得する必要がないと判断する。また、さらに別の条件の例として、当該要求された情報を端末装置110に送信することが許容されているか否かもある。たとえば端末装置またはユーザごとにセキュリティ基準が設定されており、要求された情報がセキュリティ基準を満たすかを当該情報の取得要求(URI等)から判断し、満たさない場合には要求された情報をユーザに送信する必要はないとして、端末装置に要求された情報は送信できない旨の通知を返しても良い。この場合、当該要求された情報を蓄積済みでなくても、サーバ装置から取得する必要はないと判断してもよいし、別のユーザから要求される可能性が高いとして事前に取得して蓄積しても良い。これらはあくまで一例であり、本実施形態はこれに限定されない。以下の説明では、要求された情報が情報保持部102に取得済みであるか否かにより、当該情報を取得する必要があるかを判断する場合を想定する。要求処理部101は、例えば、プロセッサ上で動作するソフトウェアや1つ以上の機能を実現する専用回路で実現される。
情報保持部102は、要求取得部101がサーバ装置111から取得した情報を蓄積する。情報保持部102は、例えばハードディスクやSSDなどで実現される。
情報確認部103は、情報保持部102に、要求された情報が蓄えられているかどうか、蓄えられた情報が有効な情報かどうかを確認する。ここで情報が有効とは、事前にサーバ装置111が各情報に対して設定した有効期限を経過していない状態、もしくは本装置100が設定した有効期限が経過していない状態を指す。なお、この機能は必ずしも搭載している必要は無く、有効期限以外の方法で管理しても良い。たとえば情報の蓄積を開始してから一定期間を経過したものは無効であると判断してもよい。情報確認部103は、例えば、プロセッサや専用回路で実現され、その際、要求処理部101と合わせて実現してもよい。
通信情報保持部104は、本装置100とサーバ装置111との間のネットワーク112や通信に関する情報を保存する。例えば、揮発性メモリ、ハードディスクやSSDといった記憶媒体で実現される。
スリープ時間算出部106は、通信情報保持部104に保存された情報を使って、端末装置110を通常動作時よりも消費電力が低い任意の状態(以下、この状態をスリープ状態という)に遷移させてもよい時間(スリープ時間)を特定するための特定情報を算出する。特定情報として、たとえばスリープ時間そのものを算出してもよいし、後述するように端末110に送信する情報のサイズ等でもよい(この場合、サイズを受信した端末110が自らスリープ時間を決定する)。ここではスリープ時間を算出するとして説明を続ける。スリープ時間算出部106は、例えば、プロセッサや専用回路で実現され、他の要求処理部101や情報確認部103と一緒に実現してもよい。なお、スリープ状態は、本実施の形態では、通常よりも消費電力が低いという特徴を具備し、具体的な実現手段として、端末装置110内の一部の構成要素、または当該一部の構成要素の中のさらに一部の回路への電力供給を停止する、動作周波数を下げる、ネットワークから情報を受信できない状態にするなどが考えられる。
応答生成部105は要求処理部101からの指示に基づいて、端末装置110に返す応答を生成する。その応答にはスリープ時間算出部106にて生成したスリープ時間が含まれる。応答生成部105は、例えば、プロセッサや専用回路で実現され、他の要求処理部101や情報確認部103と一緒に実現してもよい。応答にはスリープ時間そのものを含めずに、スリープ時間の識別情報を含めても良い。この場合、端末110では、識別情報からスリープ時間を導出可能なルックアップテーブルまたは関数を保持しているものとする。このような識別情報も、端末装置110をスリープ状態に遷移させる時間を特定するための特定情報の一例に相当する。
《第1の実施形態:動作シーケンスの説明》
図2に本通信装置100の動作フローチャートを示す。通常、本通信装置100は、端末装置110から、情報の取得要求を待ち受けている(S201)。所定のタイミングで要求の受信状況を確認し、要求を受信していなければ引き続き待ち受ける(S202-NO)。要求を受信していた場合(S202-YES)、受信した要求を解析する(S203)。ここまでの一連の処理はすべて要求処理部101にて行う。
要求処理部101は解析結果を情報確認部103に通知し、情報確認部103は情報保持部102を参照して当該情報を保持しているかどうかを確認する(S204)。確認の結果、情報を保持している場合には(S205-YES)、その旨を要求処理部101に返す。要求処理部101は要求された情報を情報保持部102から取り出し、その情報と共に応答生成部105に「情報応答」(ここでは「要求された情報を含む応答メッセージ」と定義する)の生成を依頼する。応答生成部105は情報応答を生成し、要求処理部101に返す(S206)。要求処理部101は、受け取った応答を端末装置110に送り返す。
情報保持部102が情報を保持していなかった場合(S205-NO)、要求処理部101は応答生成部105に「スリープ応答」(情報を保持していない時にスリープ時間を通知するための応答)の生成を依頼する。それを受け、応答生成部105はスリープ時間の算出をスリープ時間算出部106に依頼する。スリープ時間算出部106は、通信情報保持部104に蓄積されている情報からスリープ時間を算出する(S208)。なお、算出の方法については後述する。
応答生成部105は算出されたスリープ時間を受け取るとスリープ応答を生成し(S209)、生成した応答を要求処理部101に返す。要求処理部101は受けとったスリープ応答を端末装置110に返す(S210)。
このスリープ応答を受け取った端末装置110は、同応答に含まれる所定時間、スリープ状態に遷移して良い。当然、前記所定時間が経過したらネットワークを介して情報を受信できる状態に復帰すると仮定する。
なお、本実施形態ではスリープ時間を算出し、スリープ時間をスリープ応答に含めたが、スリープ時間を算出せずに、スリープ応答には、単にスリープ指示(スリープ状態への遷移指示)を含めるだけでもよい。この場合、端末装置110は、スリープ指示を検出すると、任意の方法でスリープする時間を決定し、スリープしてもよい。たとえば、事前に定めた一定時間、スリープしてもよいし、ランダムに決定した時間、スリープしてもよいし、取得要求した情報のサイズを取得可能なときは当該サイズに基づきスリープする時間を決定してもよい。あるいは、端末装置110の起動は、通信装置100からの起動指示で行っても良い。たとえば通信装置100で上記のようにスリープ時間を算出し、スリープ指示を含むスリープ応答を端末装置110に送信後、スリープ時間が経過したら、起動指示を端末装置110に送信してもよい。
要求処理部101はスリープ応答を送信した後、当該要求に指定される情報をサーバ装置111から取得する(S211)。この時、通信に関する情報(詳細はスリープ時間算出方法に関連して後述する)を記録しておく。正常に取得できた場合には、通信情報保持部104に保持されている通信情報を更新する(S212)。また、サーバ装置111から取得した情報を情報保持部102に保持しておく(S213)。取得処理が完了すると、通信処理部101は応答生成部105を用いて情報応答を生成して端末装置110に返す(S206〜S207)。
以上が、通信装置100の基本動作である。
《第1の実施形態に対してHTTPを使った具体例》
続いて通信装置100が受信する要求とその応答について、HTTPを例にして述べる。
図3‐(A)は端末装置110が送信する要求の例である。この要求に対して、サーバ装置111が送信する情報は概ね図3(B)か図3(C)のいずれかである。図3(B) は情報が存在する場合であり、図3(C)は情報が存在しない場合である。本通信装置100が端末装置110およびサーバ装置111との間で透過的に処理を行う場合には、これらの形式に従う要求と応答とを扱う。
一方、端末装置110とサーバ装置111との間に明示的なHTTPプロキシを設置す
る場合には、端末装置110は図3(D)のような要求を送信する。これに対して、先ほどと同様に、図3(B)または(C)の応答をHTTPプロキシから受け取る。本通信装置100が明示的なHTTPプロキシとして機能する場合には、この形式の要求と応答を扱う。通信装置100はどちらの形式であっても適用可能である。
以下、本通信装置100は前記説明の透過的もしくは明示的なHTTPプロキシとして機能する。そして、前記応答メッセージに加え、『スリープ応答』を扱う。スリープ応答の例を図3(E)に示す。スリープ応答は、その旨を示す専用のコード番号(この例では103)が割り当てられ、HTTPヘッダにスリープ時間(Sleep-Timeヘッダ、時間はT1)が含まれる点が特徴である。さらに、スリープ応答を受信した端末装置110がスリープ状態に遷移した際に通信が切断される可能性を考慮し、本スリープ応答と後続の情報応答とを対応づける識別情報を付加してもよい。
また、図3(B)の形式の応答は、通信装置100が情報を保持している場合(S205-YES)に返す『情報応答』として扱う。これにも、先に述べたスリープ応答と情報応答とを関連づける識別情報を付加してもよい。
《第1の実施形態に対してHTTPを使った具体例: S203〜S204の処理》
続いて、ステップS203の要求解析について述べる。本通信装置100が端末装置110からの要求を受信すると、その対象を特定する。すなわち、図3(A)の形式であれば“GET / HTTP/1.1”から”/”で囲まれた部分を取り出し、“Host: www.example.com”から“www.example.com”を取り出す。その後、両者を組み合わせて要求先のURLを特定(“http://www.example.com/”)する。図3(D)の形式であれば、“GET http://www.example.com/ HTTP/1.1”から“http://www.example.com/”を取り出す。
S204では前記方法により特定したURLで決定される情報が情報保持部102にあるか否かを確認する処理である。情報保持部102はデータベースとして機能しており、URLもしくはURLから導出できる値をキーとして検索をすることで判定する。情報保持部102における情報の管理方法については、任意の形式を用いてよい。
《第1の実施形態に対してHTTPを使った具体例: S211の処理》
取得するべき情報を特定した本通信装置100は、その情報を情報保持部102に保持していない場合に、ステップS211において、サーバ装置111からその情報を取得する。この処理は通常のHTTPプロキシとして実行するものと同一である。
《第1の実施形態に対してHTTPを使った具体例: 通信情報保持部の例》
続いて、ステップS208にて行うスリープ時間算出の際に使用する通信情報保持部104について述べる。
通信情報保持部104は情報をサーバ装置111から取得する際に要した通信時間、取得した情報のサイズ、取得時のスループットやRTTなどの通信情報を保存するデータベースである。これは一例であり、その他の通信情報を保持していてもよい。これら通信情報は適切な粒度で保持する。例えばURLごと、URLによって特定されるサーバ装置111ごと、同一ネットワークごとなどの形に整理したうえで保持してもよい。加えて、要求されている情報の種類を加味して分類しても良い。すなわち、「サーバ装置Aから取得するテキストデータ」と「サーバ装置Aから取得するJPEG画像データ」のように整理しても良い。
先に述べたとおり、これらの情報はサーバ装置111から取得した際に適切に更新される(ステップS212)。その際、最新の通信に関する値だけを保持しても良いし、過去の通信結果を考慮した値(例えば単純な平均値や、新しい通信情報ほど割合が高くなるように重み付けした値など)であってもよい。
加えて、スループットやRTTは任意の方法で取得してよい。既に述べたように各通信における転送サイズと転送時間とからスループットを独自に求めても良いし、スループット測定用のパケットを対象となるサーバ装置111との間で交換してスループットを計測しても良い。同様にRTTについても、TCPの輻輳制御アルゴリズムにてRTTを管理している場合にはその値を使用しても良いし、RTT測定用に時刻情報を含むパケット(例えばICMP Echo Request/Reply)をサーバ装置111との間で投げ合うようにしても良い。
《第1の実施形態に対してHTTPを使った具体例: S208の処理》
スリープ時間算出部106は、前述の方法により通信情報保持部104に蓄積された通信情報を利用して、サーバ装置111から情報を取得するのに要する時間を算出する。ここでは、その算出方法について述べる。
第1の方法は、蓄積された通信情報を用いない例外的な方法である。何らかの固定的な値が通信情報保持部に保持されており、その値に基づいてどのような要求に対しても固定的なスリープ時間を返す。この固定値は、例えば通信装置100の使用者が任意に決定しても良いし、周辺の通信装置が動作する間隔にあわせて設定しても良い。例えば、通信処理部101が通信処理の発生する間隔を検出し、その値を設定することで実現できる。
第2の方法は、保持されているRTTをスリープ時間として返す方法である。この方法では、最初の応答パケットが戻るまでの時間だけがスリープ時間となる。
第3の方法は、情報の想定サイズとスループットを用いる方法である。情報の想定サイズとは、過去に取得した情報から得た平均サイズ、もしくは設計時に決めた典型的なサイズである。これを対象とするサーバ装置111までのスループットで割ることで、転送に必要な時間を算出する。この値をスリープ時間とする。なお、スループットは過去の情報取得により記録された値(転送時間と転送サイズから算出)を使用すればよい。なお、情報の想定サイズとしてサーバ装置111から通知された値を用いてもよい。例えば、取得する情報が非常に大きいと事前に予想される場合に、応答を返す前にHTTPヘッダ部分を処理し、その中に含まれる長さ情報(Content−Lengthヘッダ)を使うようにしてもよい。
第4の方法は、あらかじめ保持した通信時間をそのままスリープ時間とする方法である。通信時間は取得する情報のサイズや通信路の品質に大きく依存する。そのため、この方法を採用する場合には、スリープ時間はサーバごとや情報の種類ごとのように細かく蓄積していることが好ましい。
ここでは4つの方法を述べたが、必ずしもこれらの方法に限定されない。類似する情報並びに算出方法を用いるものであれば、本発明の範囲は逸脱しない。
《第1の実施形態:その他の補足事項》
先の説明にて透過的なHTTPプロキシと明示的なHTTPプロキシがあることを述べたが、両者の違いのひとつは、送受信するメッセージに本通信装置100のIPアドレスを用いるか否かである。透過的なHTTPプロキシでは通信装置100のIPアドレスは用いない。そのため、新たに追加したスリープ応答を返す際にも、サーバ装置111のIPアドレスを装って応答を返してもよい。一方、明示的なHTTPプロキシとして動作する場合には、本通信装置100のIPアドレスを用いて応答を返す。
また、本実施形態の説明においてHTTPを使った実現方法を例に述べた。しかし、使用する通信プロトコルはHTTPに限定されない。例えば、FTPやSIPなど他の通信プロトコルを使っても良い。加えて、情報を取得する通信プロトコルとスリープ応答の送信に使用する通信プロトコルとは必ずしも同じである必要は無い。例えば、HTTPで情報を取得し、ICMPでスリープ応答を伝えるようにすることも可能である。ICMPを使う場合には新たなICMPタイプ・コードを定義すればよい。
また本実施形態では、端末装置110から取得要求された情報が情報保持部102に保持されていない場合は、当該情報を取得する必要があるとして、当該情報をサーバ装置111から取得するとともに、スリープ応答を端末装置に通知した。別の例として、前述したように、当該情報が情報保持部102に保持されているものの、有効期限が過ぎている場合、または取得後一定期間が経過しているなど、当該情報がサーバ装置111で更新されている可能性があると判断される場合は、当該情報を取得する必要があるとして、当該情報をサーバ装置111から取得するとともに、スリープ応答を端末装置に通知してもよい。また、要求された情報が端末装置110に返すことが許容されていない場合は、当該情報が蓄積されていなくても、当該情報を取得する必要がないと判断してもよい。このように、本実施形態では、端末装置から取得要求された情報をサーバ装置から取得する必要があるか否かをあらかじめ定められた条件に基づき判定し、取得する必要がある場合は、当該情報をサーバ装置111から取得するとともに、スリープ応答を端末装置に通知する。
以上が、本通信装置100の第1の実施形態である。
<第2の実施形態>
《第2の実施形態:構成要素の説明》
続いて、第2の実施形態について述べる。第2の実施形態は、第1の実施形態で示した機能に加え、端末装置110に対して特定の情報へのアクセスを促す応答を送信する機能を具備する。本実施形態における通信装置400の機能ブロック図を図4に示す。なお、図1と同じ機能を備える要素には同一番号を付し、説明は省略する。
新たに追加された情報変換部403は、サーバ装置111より取得した情報を端末装置110に適した形式へと変換する機能を備える。ここで『適した』とは、表示サイズを小さくしたり、一部の情報を圧縮などの操作により、端末装置110が表示できるもしくは処理できるデータ量もしくはデータ形式になっていることを指す。変換した情報は他の情報と同様に情報保持部402に蓄えられる。なお、情報変換部403は、格納された情報(変換した情報)を区別するためのキーも生成する。キーは情報のURLと端末装置110 の情報(IPアドレスやポート番号、使用する通信プロトコル、さらに端末装置の画面サイズなども使用できる)、変換条件から導出するものとし、オリジナルのキー(変換前の情報のキー)とは異なるようにする。生成したキーは情報保持部402で使うとともに、スリープ応答に含めるため要求処理部401にも伝えられる。なお、オリジナルのキーと生成したキー、さらに端末装置110に関連した情報とを関連付け、適切な形で保持する記憶部(図示せず)を備えていても良い。
情報保持部402はオリジナルの情報に加えて、情報変換部403で変換された情報を合わせて保存することを特徴とする。
要求処理部401は、第1の実施形態における要求処理部101の機能に加え、端末装置110の種類(たとえば端末装置110がスマートフォン等の所定の移動体端末に該当するか否か)を判断して、情報変換の要否を決定する機能を備える。情報変換が必要と判断された場合には、情報変換部403に対して指示を出す。この指示には、変換後の情報を特徴づけるパラメータ(例えば画像サイズ、情報分割の要否、情報分割時に1回の取得要求に対して送信するデータサイズ、など)を含んでもよい。また、変換が必要と判断した場合には、応答生成部405に対してスリープ応答の生成を指示する際に、変換後の情報を参照するような応答を生成するように指示を出す。
《第2の実施形態:動作シーケンスの説明》
図5に本実施形態の動作シーケンスを示す。ただし、第1の実施形態と共通の部分については省略すると共に、処理内容が変わらないステップには同じ番号を付している。
通信装置400が要求された情報を保持していない場合(ステップS205−NO)、端末装置110の特徴を推定する処理を行う(S500)。この処理は、HTTPを例にすればヘッダ中に含まれるUser−Agentの情報を用いればよい。
推定に基づいて、変換が必要か否かを判断する(ステップS501)。この判断条件は静的に記憶部(図示せず)に保存されているものとする。変換が不要と判断された場合(S501−NO)、第1の実施形態と同じ処理を行って終了する。変換が必要と判断された場合(S501−YES)は、変換に必要な各種処理を実施する。
最初に要求処理部401から情報変換部403に対して、新たなキーの生成を要求する。情報変換部403は対象の情報を特定するURLと端末装置110の情報と変換条件(変換方法)とに基づいて、変換後の情報を特定する新たなキーを生成する(ステップS502)。生成したキーは要求処理部401に返す。要求処理部401は通知されたキーとともに応答生成部405に対して『スリープ・リダイレクト応答』を生成するように指示を出す。応答生成部405はスリープ時間算出部106を用いてスリープ時間を求め(S208)、その情報を用いてスリープ・リダイレクト応答を生成する(S504)。生成したスリープ・リダイレクト応答は要求処理部401に返され、要求処理部401から端末装置110に送信される(ステップS505)。
スリープ・リダイレクト応答を送信した後、第1の実施形態と同様にしてサーバ装置111から情報を取得する。情報取得後、変換が不要と判断されている場合には(S506−NO)、第1の実施形態と同様に応答を返して終了する(S206、S207)。一方、変換が必要と判断されている場合には(S506−YES)、要求処理部401は情報変換部403に変換の指示を出して受信した情報を変換する指示を出す。情報変換部403はステップS502で参照した変換条件に基づいて変換する(S507)。変換した情報は、オリジナルの情報と共に情報保持部402に保存される(ステップS508)。その後、第1の実施形態とは異なり、動作を終了する。スリープ・リダイレクト応答を送信した場合、同応答で通知した情報に対する取得要求を端末装置110から新たに受信することを想定している。そのため、オリジナルの情報や変換した情報を直接送信する必要がない。スリープ・リダイレクト応答に対する端末装置110の動作シーケンスを図6に示す。スリープ・リダイレクト応答を受信した(S510)端末装置110は、当該応答に含まれる時間だけスリープし(S511)、その後、起動して、変換された情報への取得要求を通信装置400に送信する(S512)。
《第2の実施形態:スリープ・リダイレクト応答の説明》
本実施形態にて使用する『スリープ・リダイレクト応答』について、HTTPを使用する場合を例にして説明する。スリープ・リダイレクト応答は、HTTPのリダイレクト応答(ステータスコード:303)に対して、図3(E)のようなスリープ時間を追加したものである。図7にこの一例を示す。
《第2の実施形態:その他の補足事項》
本実施形態の説明において、情報保持部402はオリジナルの情報と端末装置110向けに変換された情報の両方を保存するとした。しかし、情報保持に必要なサイズを考慮してどちらか一方の情報だけを保持するようにしても良い。例えば、オリジナルだけを情報保持部に蓄積し、応答生成の際に毎回変換処理を行うようにしてもよい。逆に、変換された情報だけを保持し、後続する情報取得要求には無条件に変換された情報を返すようにしても良い。なお、変換された情報だけ格納し、送信時に逆変換(たとえば元のサイズに戻す。画質は低下する可能性もある)することも可能である。
本実施形態の説明においては、スリープ・リダイレクト応答を生成し、必ず新しい情報取得要求を受信するものとして説明した。しかし、再要求にかかるコスト(時間や電力等)を鑑み、再要求することなく直接変換された情報を応答として送信するように実装しても良い。その場合、ステップS508の後に応答生成(ステップS206)と送信処理(ステップS207)が続くことになる。
本実施形態の説明においては、端末装置110が要求する全ての情報を変換する場合について述べた。しかし、一部の情報は変換せず、一部の情報を変換するように実現してもよい。例えば、HTMLファイルは変換することなく、画像ファイルのみを変換するような処理を行ってもよい。HTMLファイルを変換しない場合、HTMLファイルにはスリープ応答を返しておき、個々の画像ファイルが要求された時に変換後の画像ファイルを返すようにすればよい。また、HTMLファイルを変換する場合にも、同ファイルに記載された画像ファイルに対するURLを、変換後の画像を取得するように書き換えるという方法も可能である。
<第3の実施形態>
続いて第3の実施形態について述べる。本実施形態は第1もしくは第2の実施形態に対して、ウェブページの構成要素を事前に取得するプリフェッチ機能を追加するものである。なお、ここで述べるプリフェッチ機能とは、最初に要求したHTMLファイルから参照されている埋め込みオブジェクト(画像ファイル、スクリプトファイル、スタイルシートなど)を事前に取得する機能を指す。無条件に情報を取得するわけではない。
《第3の実施形態:構成要素の説明》
本実施形態における通信装置800の機能ブロック図を図8に示す。第2の実施形態に比べ、プリフェッチ部802が追加されている。プリフェッチ部802は端末装置110に代わって情報取得要求を生成する。その際生成する要求は、要求処理部801にて受け付けた要求に基づいてサーバ装置111から取得した情報から再帰的に要求される情報に対する要求である。
例えばHTTPを用いてウェブページを要求する場合を考える。ウェブページはその構成と文字情報を提供するHTMLファイル、ページのデザインに関する情報を提供するスタイルシート、スクリプトファイル、画像ファイルなどで構成されている。端末装置110はこれらのファイルをすべて取得しなければウェブページを正確に表示できない。通常、端末装置110は最初にHTMLファイルを取得し、その内容を解析して初めてスタイルシートやスクリプトファイル、画像ファイルが参照されていることを把握する。このため、多数の取得要求が順次生成され、通信効率が悪くなってしまう。
本プリフェッチ部802は、要求処理部801にて受信した要求がHTMLファイルに対するものだった場合に機能する。当該HTMLファイルを要求処理部801から受け取り、同ファイルを解析する。そして参照されている他のファイルを特定し、端末装置110の要求とは独立に、順次それらのファイルに対する取得要求を生成する。取得要求は要求処理部801を介してサーバ装置111に送信され、第1もしくは第2の実施形態と同様にして処理される。
《第3の実施形態:動作シーケンスの説明》
図9Aおよび図9Bに本実施形態の動作シーケンスを示す。この図は第1の実施形態に対して機能を追加したものであるが、第2の実施形態に対しても同様に追加できる。なお、これまでと同じ機能を実現するものについては同じ番号を付している。
情報保持部403が要求された情報を保持していない場合(S205-NO)、
ステップS901において、サーバ装置111から取得する情報が再帰的な情報取得が必要なものであるかどうかを判断する。例えば、取得要求された情報が、HTMLファイルかどうかを判断する(先に述べたようにHTMLファイルに含まれる画像等のファイルを再帰的に取得する必要がある)。
再帰的な取得が不要と判断した場合(S901-NO)かつプリフェッチ部からの要求ではない場合(S910−NO)に限り、第1の実施形態と同様の処理を行う(S208〜S210)。その後、第1の実施形態と同様に、要求された情報を取得する(S211〜S213)。また、再帰的な取得が必要な場合(S901−YES)またはプリフェッチ部からの要求である場合(S910のYES)も、第1の実施形態と同様に、要求された情報を取得する(S211〜S213)。S901−YESの場合(再帰的な取得が必要な場合)としては、たとえば取得要求がHTMLファイルにかかるものである場合が挙げられる。また、S910−YESの場合(プリフェッチ部からの要求である場合)としては、本フローが、再帰的に取得される情報に対する取得要求がプリフェッチ部から受信された場合がある。
情報を取得した後は、再帰的な取得の要不要で処理が異なる。再帰的な取得の処理が不要の場合(S902-NO)には、当該要求がプリフェッチ部802により発せられたかを確認する(S908)。プリフェッチ部802からではない場合(S908-NO)、第1の実施形態と同様にして応答を返し(S206、S207)、処理を終了する。一方、プリフェッチ部802からの要求だった場合(S908-YES)、情報そのものを返す必要が無いので、取得が完了した旨をプリフェッチ部802に通知し(S909)、処理を終了する。
再帰的な情報取得が必要と判断した場合(S902-YES)、要求処理部801はS211により取得した情報(第1の情報)をプリフェッチ部802に通知する。プリフェッチ部802は第1の情報を解析して、再帰的に取得すべき情報(第2の情報)を抽出する(S903)。その後、抽出した第2の情報を要求処理部801に返す。
要求処理部801はプリフェッチ部802から受け取った第2の情報を応答生成部803に通知し、スリープ応答の生成を依頼する。応答生成部803は通知された第2の情報をスリープ時間算出部804に通知し、スリープ時間の算出を依頼する。スリープ時間算出部804は通知された第2の情報(複数の場合にはすべての情報)を取得する際の合計取得時間を算出し、応答生成部803に返す(S904)。
応答生成部803は受け取ったスリープ時間を用いてスリープ応答を生成し、要求処理部801に返す(S905)。要求処理部801は受け取ったスリープ応答を端末装置110に送信する(S906)。その後、第2の情報に対するプリフェッチ処理を実行する(S907)。なお、本通信装置が複数の処理を並行して実行できる場合、スリープ応答に関する処理(S904〜S906)とプリフェッチ処理とは並行して実行してもよい。プリフェッチ処理の詳細については後述する。
プリフェッチ処理が完了したら、後処理を実行する。最初に要求された第1の情報に対する情報応答を生成し(S206)、端末装置110に向けて送信する(S207)。なお、第2の情報については、端末装置110からの第2の情報の取得要求を受けて、送信する(S201〜S205のYES、S908のNO、S206、S207)。
なお、上記フローの変形例として、ステップS901がYESのときにステップS20 8〜S210と同様の処理を実行してスリープ応答(たとえば第1の情報を取得するのに要する時間に基づいたスリープ時間を含める)を返すようにしてもよい。これにより、第2の情報を取得する間のみならず、第1の情報を取得する間も、端末をスリープ状態にして、さらなる低消費電力化を図ることができる。
《第3の実施形態:プリフェッチ処理の説明》
続いて本実施形態のプリフェッチ処理(S907)について詳細に述べる。ここでは理解を助けるためウェブページを例に説明するが、再帰的に情報を取得する必要がある他の形式でも同様に扱うことができる。他の形式として、例えば、取得すべき情報のURLが1つ以上記載されたテキストファイル、RSSなどの更新情報を記載したファイルやそれに基づくウェブサービス、などがある。
端末装置110からウェブページを取得する要求を受け付けた場合、第1の情報はHTMLファイルとなる。HTMLファイルには多数のタグが含まれており、その中には外部のファイル(スタイルシート、スクリプトファイル、画像ファイルなど)を参照するタグがある。ステップS903ではこれらのタグに含まれるURLを抽出し、適切にリスト化しておく。抽出する対象となるタグの一例として図10を挙げる。
プリフェッチ部は抽出したURLのリストに対して、事前に定められた基準に従って、取得要求を生成し、要求処理部801に通知する。要求処理部801は端末装置110からの取得要求と同様に、前記要求を処理する。すなわち、情報保持部402に適切に情報が蓄積されていく。ただし、ステップS910の分岐やステップS908の分岐にある通り、プリフェッチ部804からの要求であればスリープ応答(スリープ・リダイレクト応答)や情報応答は送信しない。また、要求を生成する前に情報確認部103を介して情報保持部402への蓄積状態を確認し、既に蓄積されていれば取得要求を生成しないようにしてもよい。
抽出した全てのURLに対して情報を取得・蓄積したらプリッフェッチ処理は終了となる。
《第3の実施形態:プリフェッチする順序》
抽出した第2の情報に対してプリフェッチを実行する順序は、例えば以下の方法が適用できる。他の方法を用いたとしても本発明の範囲は逸脱しない。また、これらの方法は情報を提供するサーバ装置111ごとやURLごとに変更してもよい。これらを実現するために必要な条件は、図示しない記憶部に適切に保存されているものとする。
・ 抽出元の情報に出現した順
・ 情報の種類ごとに事前に決められた順(例:スタイルシート→スクリプトファイル→画像ファイル→動画ファイル)
・ 情報の推定ファイルサイズが小さい順(推定ファイルサイズとは、過去の取得情報等に基づいて情報の種類ごとに決めたサイズ。過去に取得した情報のサイズは、図示しない記憶部に適切に保存されているものとする。)
《第3の実施形態:プリフェッチを実行する場合のスリープ時間算出方法》
本実施形態はスリープ時間の算出方法が第1もしくは第2の実施形態と異なる。第1・第2の実施形態では1つの情報を取得するために必要なおおよその時間をスリープ時間として算出していた。本実施の形態では、プリフェッチを行うため、再帰取得が必要な全情報の取得に要する時間をスリープ時間とみなして算出する。
基本的な算出方法は第1の実施形態で述べた方法に準じ、取得すべき情報の数だけ足し合わせる。ただし、プリフェッチ部802が複数の情報を同時に取得する場合には単純に足すことができない。例えば、第1の実施形態で述べた第1の方法(固定値を使用する方法)に対しては、取得する情報の総数に応じていくつかのスリープ時間を定義するようにしてもよい。また、
{Σ(各情報に対する固定値)}÷(並列度)+α
としても良い。第1の実施形態で述べた第2の方法(RTTを使用する方法)に対しては、
(RTT×取得する情報の数)÷(並列度)+α
とする方法が考えられる。(第1の実施形態で述べた)第3の方法(想定サイズとスループットを使用する方法)に対しては、スループットが一定であることを考慮して、
Σ(各情報に対する想定サイズ)÷{(スループット)÷(並列度)}+α
とすればよい。第1の実施形態で述べた第4の方法(保持されている通信時間をそのままスリープ時間とする方法)に対しては、既に並列度を考慮した通信時間が蓄積されていると考えられるので、単純に足し算すればよい。
《第3の実施形態:第2の実施形態と組み合わせる場合》
先の説明では第1の実施形態と組み合わせる場合について述べたが、第2の実施形態と組み合わせることも可能である。その場合、図9BのS211で取得した情報を適宜変換する処理を追加すると共に、S904〜S906で生成する応答をスリープ・リダイレクト応答にすればよい。また、プリフェッチ部802により取得する第2の情報についても適宜変換処理を実行したうえで、情報保持部402に蓄積すればよい。
《第3の実施形態:その他の補足》
これまでの説明では全ての情報を取得するまでの時間をスリープ時間として算出するとした。しかし、全ての情報を取得すると非常に長い時間を要する場合(例えば動画ファイル等が含まれると考えらえる場合)や、情報保持部1307の記憶容量が不足すると考えられる場合(情報保持部1307の容量が限定的な実装の場合)には、全ての情報を取得するまでの時間とは異なる値をスリープ時間として用いてもよい。すなわち、事前に決められた上限時間や、想定されるスループットで利用可能な記憶領域のサイズ(情報保持部の空き領域サイズ、またはフレームの送受信等の通信処理で使用するバッファの残量)に相当するデータを受信した場合に必要となる時間などである。
なお、このようなスリープ時間を通知した場合、本通信装置800は一部の情報を含む情報応答を端末装置110に送信し、後続の情報応答があることを示せばよい。例えば、各データ転送の間でTCP接続を切ることなく保持し続けて転送だけを一時的に停止する方法や、細かな単位になるようにHTTPの応答を分割するなどの方法が考えられる。また、各情報応答に対してスリープ時間に関する情報を追加し、端末装置110が情報取得ごとにスリープ状態に遷移するのを促してもよい。
<第4の実施形態>
これまでの実施形態では、スリープ応答やスリープ・リダイレクト応答にスリープ可能な時間を含めてきた。本実施形態では総データサイズを返すようにする。この応答を受信した端末装置1104では、受信したデータサイズに基づき、スリープ時間を決定する。たとえば、データサイズとスリープ時間との対応を保持した関数またはテーブルを用意しておき、このテーブルと、受信したデータサイズとからスリープ時間を決定してもよい。当該テーブルは、通信装置からもらうようにしてもよいし、ユーザが登録してもよい。または、端末装置自身の過去の通信から、データサイズと、当該データサイズのデータ受信に要した時間とを記録しておき、この記録をもとにスリープ時間を算出してもよい。
《第4の実施形態:構成要素の説明》
本実施形態を実現する通信装置1100の構成を図11に示す。変更点は要求処理部1101、応答生成部1102、通信情報保持部1103である。
要求処理部1101の変更点は、スリープ応答もしくはスリープ・リダイレクト応答に総データサイズを含む形式の応答を送信することである。また、総データサイズの算出に過去の情報を利用する場合には、通信で取得した情報のデータサイズを逐次記録する機能が必要である。
応答生成部1102の変更点は、スリープ時間に代わり、総データサイズを含む応答を生成することである。データサイズに関する情報は、要求処理部1101から通知される第2の情報(プリフェッチすべき情報)のリストを用いて通信情報保持部1103から取得する。
通信情報保持部1103は、データサイズに関する情報を保持することが必須となる。この情報は第1の実施形態などで述べているとおり、通信を行うたびに更新してもよいし、設計時に決めた値を固定的に使用してもよい。
《第4の実施形態:構成要素の説明》
本応答生成部1102が生成する応答の例を図12に示す。図12上は変換機能を利用しない場合(第1の実施形態+プリフェッチ機能に相当)であり、図12下は変換機能を利用する場合(第2の実施形態+プリフェッチ機能に相当)である。どちらの場合も、“Total−Length”というヘッダが追加され、その値としてSが設定されている。先に述べたとおり、
S=ΣSi (Siは各第2の情報のサイズ)
である。
<第5の実施形態>
第5の実施形態では、これまでに述べてきた通信装置の機能を端末装置内に組み込んだ形態を示す。なお、ここでは第3の実施形態で示した通信装置の機能を端末装置に組み込む場合を説明するが、他の実施形態であっても同様に組み込める。
《第5の実施形態:構成要素の説明》
図13に本実施形態における端末装置1300の構成を示す。本端末装置は大きく4つの部分で構成される。演算部1301、記憶部1502、ネットワークインタフェース1303、その他のデバイス1304である。
演算部1301は、端末装置を司るOSやアプリケーションソフトウェア(例えばウェブブラウザ)などが動作するプロセッサである。記憶部1302は演算部1301が使用する情報やプログラムなどを格納するメモリ並びに大容量記憶装置である。ネットワークインタフェース1303は第3の実施形態の通信装置の要素と同様の要素を搭載したネットワークインタフェースである。その他デバイス1304はこの図に含まれないその他のデバイスであり、例えばディスプレイコントローラやUSBコントローラなどである。演算部1301は、記憶部1302からプログラムを読み出して実行することにより、ネットワークインタフェースの制御を含む、端末全体の制御を行う。
ネットワークインタフェース1303の内部構造ならびに動作は第3の実施形態に準ずる。ただし、以下の点が異なる。
第1の変更点は、端末装置110からネットワークを介して取得要求を受信していたのに対して、本実施形態では演算部から直接指示されることである。演算部1301からの指示は、一般に、演算部1301がネットワークインタフェース1303のデバイスドライバに指示を出し、同デバイスドライバが適切な形に変換してネットワークインタフェース1303に指示を出す形で実現される。
第2の変更点は、要求処理部1305からの応答をネットワーク経由で送信せず、内部バス等を介して送信することである。この対象はスリープ応答、スリープ・リダイレクト応答、情報応答のいずれもが対象である。
上記第2の変更点について補足する。これまで述べた他の実施形態では、スリープ時間を情報応答と同じ通信プロトコルを使って送信するケースを中心とした。しかし、本実施形態では演算部1301とネットワークインタフェース部1303が内部バス等で接続しているため、スリープ時間はレジスタを用いて通知し、情報応答は内部バスを用いて返すなどの方法が可能である(従来の方法でも可能である)。レジスタはたとえば要求処理部1305に組み込むことができる。この方法を取る場合、スリープ通知は通信プロトコルの動作とは独立に通知することができる。よって、一度スリープ時間を通知した後にもその時間を更新することが可能である。例えばネットワークの状態が変化し、ネットワークインタフェース1303による情報取得に時間を要したとしても、都度最適なスリープ時間に更新することができる。演算部1301は一時的に動作状態になるがレジスタの値を確認し、再びスリープ状態に遷移することができる。ここでは演算部1301がスリープ状態に遷移する場合を示したが、記憶部1302、その他のデバイス1304がスリープ状態に遷移してもよい。
第3の変更点は、要求処理部1305からの応答が存在することを、割り込み信号線やレジスタ等を介して演算部1301に通知することである。
上記第3の変更点について補足する。第3の実施形態における補足で述べたように、全情報の取得に非常に長い時間を要する場合や利用できる情報取得部1307のサイズが少ない場合には、それを考慮したスリープ時間を含むスリープ応答を演算部1301に返すことができる。また、一部の情報を取得した段階で、情報応答を返すことができる。この際、演算部1301に対してネットワークインタフェース1303から割り込み処理を要求する方法や、通知したスリープ時間で起動した演算部1301がネットワークインタフェース部1303の特定レジスタの状態をポーリングする方法等によって、情報応答を返せる状態になったことを検出することができる。
《第5の実施形態:その他の説明》
本実施形態の動作シーケンス等は第3の実施形態に準じるため省略する。
また、本実施形態ではスリープ・リダイレクト応答が必ずしも必要ない。内部バスで直結しているため、アプリケーションに対して動作の変更を外部から指示することなく、変換後のデータを直接利用すればよい。その場合、スリープ・リダイレクト応答によるスリープ時間の通知についてはレジスタ等を用いて行えばよい。
<第6の実施形態>
第6の実施形態では、第5の実施形態で端末装置内に組み込んだ機能の一部をサーバ装置側で実行する場合について述べる。
《第6の実施形態:構成要素の説明》
図14に本実施形態における端末装置1400とサーバ装置1410を示す。なお、サーバ装置1410は本実施形態に直接関与しない部分は省略している。
端末装置1400は、応答の生成にかかわる部分が削除されたことを除き、第5の実施形態と同じである(サーバ装置が登場する関係で番号は振りなおしている)。サーバ装置1410の構成は次の通りである。
記憶部1415はサーバ装置1410が保有する情報を保持する大容量記憶装置である。
通信処理部1411は、端末装置1400との間の通信処理を行う。すなわち、情報の取得要求を受信し、その内容に適した情報が記憶部1415に保持されていれば、それを応答として送り返す。
応答生成部1412は、端末装置に送信する応答を生成する。生成に必要な情報は記憶部1415またはスリープ時間算出部1413から取得する。
スリープ時間算出部1413は、要求を送信した端末装置1400がスリープできると思われる時間を算出し、応答生成部1412に通知する。スリープ時間の算出方法については後述する。
通信情報保持部1413は、スリープ時間の算出に必要な各種通信情報を保持する。例えば、過去に端末装置1400と行った通信から算出したRTTやスループット等である。ただし、第1の実施形態にて述べたように、通信情報保持部に保持する情報はネットワーク毎にまとめて平均値を記録するなどしてもよい。スループットについては、要求された情報のサイズとそれを端末装置に送信するのに要した時間からサーバ装置1410側で算出する。
なお本実施形態ではサーバ装置1410は、記憶部1415に情報を大量に蓄積して、端末装置から要求された情報を記憶部1415から読み出して返すサーバ機能(Webサーバ等)を備えているとしたが、通信処理部、スリープ時間算出部、応答生成部および通信情報保持部を格納した、Webサーバ等とは独立した別個のサーバを実現することも可能である。この場合、当該別個のサーバは、端末装置からの取得要求を1次受けし、当該取得要求にかかる情報をWebサーバ等のサーバ装置から取得し、内部の情報保持部に蓄積し、端末装置に返す。別個のサーバは、サーバ装置と端末装置とのそれぞれの通信特性等を考慮して、スリープ時間を算出する。
《第6の実施形態:動作シーケンス》
端末装置1400の動作については、第5の実施形態とほぼ同様である。ただし、スリープ時間の算出は端末装置1400では行わない。本実施形態では、スリープ時間はサーバ装置1410からの応答に含まれている。演算部1401は、受信した応答を直接解釈してスリープ時間を把握してスリープ状態へと遷移するように制御する。もしくは、演算部1401は、要求処理部1409が応答から抽出したスリープ時間をレジスタ経由で入手してスリープ状態へと遷移するように制御する。それ以外の部分については、第5の実施形態と同じである。
続いて、サーバ装置1410の動作を述べる。そのシーケンスを図15に示す。サーバ装置1410は端末装置1400から取得要求を受信するまで待機する(S1501)。取得要求を受信すると(S1502−YES)、通信処理部1411にてその要求を解析し(S1503)、適切な応答の生成を応答生成部1412に依頼する。スリープ時間算出部1413がスリープ時間を算出し(S1504)、応答生成部1412はスリープ時間算出部1413からスリープ時間を受け取ると共に、記憶部1415から要求された情報を取り出す(S1505)。そして、応答生成部1412は、応答を生成して通信処理部1411に返す。通信処理部1411は生成された応答を端末装置1400に返す。たとえばスリープ時間を含む応答と、情報を含む応答を端末装置400に返す。端末装置1400ではたとえば演算部1401がスリープ時間だけスリープ状態に遷移し、その間、ネットワークインタフェース1403が、サーバ装置1410からの情報を含む応答を受信し、情報を情報保持部1406に蓄積する。
通信情報保持部1414に保持されている情報の例を図16に示す。列S1601はHTMLファイルを要求された場合の例であり、総サイズが300KBであることを示している。この300KBはHTMLファイルから静的に参照されている情報の総サイズである。例えば、HTMLファイルから参照されるJavaScriptファイルに記載されたスクリプトを、端末装置1400が実行することで参照されるファイルの情報は含まれない。これはスクリプトを実行するタイミングまでファイルの要否が分からないからである。一方、列S1602はサーバ側で動的に実行されるスクリプトに対する例である。総サイズ756KBは、スクリプトから必ず参照される情報の総サイズである。HTMLファイルの場合と同様に端末装置1400側で実行するまで要否が分からないファイルは、このサイズには含まれない。
図17に本実施形態の変形例にかかる端末装置1700とサーバ装置1712を示す。なお、サーバ装置1712は本実施形態に直接関与しない部分は省略している。図14と異なり、スリープ時間算出部1710が、サーバ装置1712ではなく、端末装置1700のネットワークインタフェース1703内に設けられている。また通信情報保持部が、サーバ装置1712だけでなく、端末装置1700のネットワークインタフェース170 3にも設けられている。本変形例では、スリープ時間の算出を、サーバ装置1712ではなく、端末装置1700で行う点が、図14の構成と大きく異なる。以下、変更部分についてのみ説明する。
応答生成部1714は、通信情報保持部1715に格納された情報を用いて、スリープ応答を作成する。たとえば、取得要求された情報のサイズを通信情報保持部1715から取得して、スリープ応答に含める。端末装置1700の通信情報保持部1711は、スリープ時間の算出に必要な情報を保持する。たとえばサイズとスリープ時間との対応テーブルでもよいし、過去に行った通信から算出した通信特性情報でもよい。スリープ時間算出部1710は、通信情報保持部1711に格納された情報と、スリープ応答に含まれるサイズ情報に基づきスリープ時間を算出する。要求処理部1705は、スリープ時間をレジスタ経由または内部バス上のメッセージ交換で、演算部1401に通知する。
<第7の実施形態:第1〜第6の実施形態の具体的なハードウェア構成>
図18は、第1の実施形態の通信装置のハードウェア構成例を示す。
図1の情報確認部103、要求処理部101、応答生成部105およびスリープ時間算出部106は演算部1801としてまとめられ、たとえばCPU上のソフトウェアとして表現される。情報保持部102および通信情報保持部104は、メモリ1802aやディスク1802b等の記憶装置として実現される。ネットワークI/F1は端末装置11 0側のネットワークインタフェースであり、ネットワークI/F2はサーバ装置111側のネットワークインタフェースである。
図19は、図18の構成の変形例を示す。ネットワークI/F1およびネットワークI/F2を1つのネットワークI/F1805にまとめたものである。端末装置100とサーバ装置111は同じネットワークに接続されている場合の構成である。
図20は、第2の実施形態の通信装置のハードウェア構成例を示す。
図4の情報処確認部103、要求処理部401、応答生成部405およびスリープ時間算出部106は演算部1811としてまとめられ、たとえばCPU上のソフトウェアとして表現される。情報変換部403は、単独の専用回路である演算部1819として構成される。図18のように情報変換部403も演算部1811にまとめて構成してもよい。情報保持部402および通信情報保持部104は、メモリ1812aやディスク1812b 等の記憶装置として実現される。ネットワークI/F1815は、端末装置110およびサーバ装置111が接続されるネットワークとのインタフェースである。
第3および第4実施形態の通信装置(図8、図11)も、図18〜図20と同様にして構成できる。プリフェッチ部は演算部1801または演算部1811にまとめてもよいし、演算部1819のように単独の演算回路として構成してもよい。
図21は、第5の実施形態の端末装置のハードウェア構成例を示す。
図13に示したネットワークインタフェース1303内の構成を、図1と同様の物理構成とすることができる。要求処理部1305、情報確認部1306、情報変換部1308、応答生成部1309、スリープ時間算出部1310およびプリフェッチ部1312を演算部1831としてまとめて、たとえばCPU上のソフトウェアとして表現される。ネットワークI/F1835はサーバ装置111側のネットワーク112に接続され、内部バスI/F1836は内部バスに接続されている。情報保持部1307および通信情報保持部1311は、メモリ1837aや不揮発性メモリ1837b等の記憶装置として表現される。
図22は、図21の構成の変形例を示す。演算部1831からプリフェッチ部1312の機能を分離させて、単独の回路(演算部)1845として構成した例を示す。プリフェッチ部1312以外の部分は、演算部1841とする。このようにネットワークインタフェース1303内の機能を複数の演算部として実装することもできる。
図23は、図21の構成の別の変形例を示す。図21の演算部1831が備えていた通信処理機能(図13では要求処理部1305が備えていた通信処理機能)を分離させて、単独の回路として通信処理部1838を配置したものである。CPU等の演算部1831が行っていた通信処理(TCP/IPなど)の一部または全部を通信処理部1838がCPU等に代わって実行することで、CPU等の負荷を下げ、別の処理に集中することができる。
<第8の実施形態>
図24は本発明の実施形態に係るシステムを示す。代理取得装置2004ならびに状態制御装置2005が、インターネット等のバックボーンを構成する有線ネットワークである第1ネットワーク2007に接続され、第1ネットワーク2007上のサーバ装置2006と通信可能である。代理取得装置2004ならびに状態制御装置2005は、第2ネットワーク2002にも接続され、第2ネットワーク2002上の基地局を介して、端末装置2001と通信可能である。なお、代理取得装置2004は、ネットワーク2007に直接接続される他、第2ネットワーク2002および第1ネットワーク2007間を接続するゲートウェイを配置し、このゲートウェイを介して第1ネットワーク2007と接続してもよい。また、代理取得装置2004ならびに状態制御装置2005は、基地局を介して端末装置2001と接続する他、端末装置2001と直接、無線接続する構成も可能である。代理取得装置2004は、端末装置2001からの取得要求を受信して、必要な情報を第1ネットワーク2007上のサーバ装置2006から取得する装置である。サーバ装置2006は第1の実施形態で述べたサーバ装置と同様のものである。状態制御装置2005は、代理取得装置2004と第1ネットワーク2007または第2ネットワーク2002を介して通信可能である。状態制御装置2005は、端末装置の状態を制御する装置であり、一例として、端末装置2001に対してスリープ状態への遷移指示を送信する。
図25は、代理取得装置2004と状態制御装置2005の構成を示したものである。
代理取得装置2004は、要求処理部2101と、情報保持部2102と、情報確認部2103と、応答生成部2104と、スリープ時間算出部2105と、通信情報保持部2106とを備える。状態制御装置2005は、要求処理部2107を備える。本実施形態では、情報保持部2102、情報確認部2103、応答生成部2104、スリープ時間算出部2105、通信情報保持部2106は第1の実施形態と同様であるが、要求処理部2101の機能の一部が異なる。
要求処理部2101は、第1の実施形態で述べた要求処理部101(図1参照)と同様に、端末装置から情報の取得を要求する取得要求を受信する機能、要求された情報をサーバ装置から取得する必要があるかを判定する機能、取得する必要がある場合には要求された情報を取得する機能、取得した情報を端末装置に送信する出力機能、情報の取得に必要なネットワーク処理を行う通信処理機能などの機能を備えるが、応答生成部2104が生成したスリープ応答を端末装置に返す機能は備えない。第1の実施形態では、応答生成部からスリープ応答を受け取った要求処理部が端末装置にそのスリープ応答を送信していたが、本実施形態では、要求処理部2101は、応答生成部2104が生成したスリープ応答を、端末装置2001ではなく、状態制御装置2005に第2ネットワーク2002を介して端末装置2001の識別子と共に通知する。
状態制御装置2005の要求処理部2107は、代理取得装置2004から送信されたスリープ応答および対象となる端末装置の識別子を受信する。状態制御装置2005の要求処理部2107は、代理取得装置2004から通知されたスリープ応答と対象となる端末装置の識別子を受け取ると、該識別子で特定される端末装置に対してスリープ応答を第2ネットワーク2002を介して送信する。すなわち、第1の実施形態で述べた要求処理部の機能のうち、端末装置にスリープ応答を送信する通知機能は、本実施形態では代理取得装置2004とは別の状態制御装置2005に備えられる。
なお、状態制御装置2005は、該端末装置の識別子に対して自身が管理する別の識別子を対応づけて管理する記憶部を備えていても良い。また、状態制御装置2005は、端末装置の識別子ごとに、端末装置の状態を維持管理する記憶部を備えていてもよい。さらに、状態制御装置2005は、スリープ応答を、端末装置が解釈可能な方式に変換する機能を具備していてもよい。変換機能の一例として、HTTPの応答メッセージとして代理取得装置2004から通知されたスリープ応答を、セルラーネットワークで使用される制御信号や無線LANで使用される制御信号に変換する機能などが該当する。
以上のように、第1の実施形態で述べた要求処理部の機能は、単一の装置内で実現される場合のみならず、複数の装置に分離して実現することが可能である。つまり、第1の実施形態で述べた要求処理装置が備える機能のうちスリープ応答を通知する機能を単独の装置として配置することで、端末装置(要求元)の状態を制御する装置を実現可能である。
尚、本実施形態の通信装置は、例えば、汎用のコンピュータ装置を基本ハードウェアとして用いることでも実現することが可能である。すなわち通信装置内の各処理部は、上記のコンピュータ装置に搭載されたプロセッサにプログラムを実行させることにより実現することが出来る。このとき、通信装置は、上記のプログラムをコンピュータ装置にあらかじめインストールすることで実現してもよいし、CD-ROMなどの記憶媒体に記憶して、あるいはネットワークを介して上記のプログラムを配布して、このプログラムをコンピュータ装置に適宜インストールすることで実現してもよい。また、通信装置内の各記憶部は、上記のコンピュータ装置に内蔵あるいは外付けされたメモリ、ハードディスクもしくはCD-R 、CD-RW、DVD-RAM、DVD-R等の記憶媒体などを適宜利用して実現することが出来る。
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。

Claims (17)

  1. 要求元から第1情報の取得要求を受信し、前記第1情報の取得先から前記第1情報を取得する必要があるか否かを、あらかじめ決められた条件に基づき判定する処理部と、
    前記処理部が前記第1情報を取得する必要があると判定した場合に、前記要求元に低消費電力状態への遷移指示を含む第1応答を通知する通知部と、
    を備えた処理装置。
  2. 前記処理部は、前記第1情報が取得済みか否かを確認し、取得済みでなければ、前記第1情報を取得する必要があると判定する
    請求項1に記載の処理装置。
  3. 前記処理部は、前記取得済みの第1情報の有効期限が過ぎている場合、または前記第1情報の取得から一定時間が経過した場合は、前記第1情報を取得する必要があると判定する
    請求項2に記載の処理装置。
  4. 前記処理部は、前記第1情報が取得済みである場合は、前記第1情報を取得する必要がないと判定し、
    前記通知部は、前記取得済みの第1情報を含む第2応答を前記要求元に送信する
    請求項1ないし3のいずれか一項に記載の処理装置。
  5. 前記処理部は、前記第1情報が取得済みでない場合は、前記第1情報を前記取得先から取得し、
    前記通知部は、前記処理部により取得された第1情報を含む第3応答を前記要求元に通知する
    請求項1ないし4のいずれか一項に記載の処理装置。
  6. 前記第1情報を前記要求元に適合した形式に変換する変換部をさらに備え、
    前記通知部は、前記変換部により前記第1情報を変換した情報の取得要求の送信指示を含む前記第1応答を前記要求元に通知し、
    前記通知部は、前記要求元から第1取得要求が受信されると、前記変換部により前記第1情報を変換した情報を含む第4応答を前記要求元に出力する
    ことを特徴とする請求項1ないし5のいずれか一項に記載の処理装置。
  7. 前記通知部は、前記要求元が低消費電力状態に遷移している時間を特定するための特定情報を含む前記第1応答を前記要求元に通知する
    ことを特徴とする請求項1ないし6のいずれか一項に記載の処理装置。
  8. 前記第1情報を取得するのに要する時間情報に基づいて、前記要求元が低消費電力状態に遷移している時間を特定するための特定情報を算出する算出部
    をさらに備えたことを特徴とする請求項7に記載の処理装置。
  9. 前記算出部は、前記第1の情報の取得先との間の通信特性と前記第1情報のサイズ情報の少なくとも1つに基づいて、前記第1情報を取得するのに要する時間情報を算出する
    ことを特徴とする請求項8に記載の処理装置。
  10. 前記第1情報を解析し、前記第1情報から参照されている第2情報を前記第2情報の取得先から取得するプリチェッチ部と、
    前記第2情報を取得するのに要する時間情報、または前記第2情報のサイズ情報に基づき、前記要求元が低消費電力状態に遷移している時間を特定するための特定情報を算出する算出部と、を備え、
    前記通知部は、前記算出部が算出した特定情報を含む前記第1応答を前記要求元に通知する
    ことを特徴とする請求項1ないし9のいずれか一項に記載の処理装置。
  11. 前記算出部は、前記第2情報の取得先との間の通信特性、前記第2情報のサイズ情報、および前記第2情報の個数の少なくとも1つに基づき、前記第2情報を取得するのに要する時間情報を算出する
    請求項10に記載の処理装置。
  12. 前記第1情報を解析し、前記第1情報から参照されている第2情報を前記第2情報の取得先から取得するプリチェッチ部と
    前記第1情報および前記第2情報を記憶する記憶部の残量、通信処理に関するバッファの残量、またはあらかじめ決められた上限時間、に基づいて、前記要求元が低消費電力状態に遷移している時間を特定するための特定情報を算出する算出部と、を備え、
    前記通知部は、前記特定情報を含む前記第1応答を前記要求元に通知する
    ことを特徴とする請求項1ないし11のいずれか一項に記載の処理装置。
  13. 前記処理部は、ネットワークを介して前記要求元から前記第1情報の取得要求を受信し、
    前記通知部は、前記ネットワークを介して前記第1応答を前記要求元に送信する
    請求項1ないし12のいずれか一項に記載の処理装置。
  14. 前記処理部は、内部バスを介して前記要求元から前記第1情報の取得要求を受信し、
    前記通知部は、前記第1応答を、レジスタ、または前記内部バス上のメッセージ交換により、前記要求元に通知する
    請求項1ないし12のいずれか一項に記載の処理装置。
  15. 要求元から第1情報の取得要求を受信し、前記第1情報の取得先から前記第1情報を取得する必要があるか否かをあらかじめ決められた条件に基づき判定する処理部と、前記処理部が前記第1情報を取得する必要があると判定した場合に、前記要求元に低消費電力状態への遷移指示を含む第1応答を通知する通知部と、を含むネットワークインタフェースと、
    プログラムを記憶する記憶部と、
    前記ネットワークインタフェースおよび前記記憶部と内部バスを介して接続され、前記記憶部からプログラムを読み出して実行することにより前記ネットワークインタフェース部を制御する演算部と、
    を備えた端末装置。
  16. 前記要求元は、前記演算部である
    請求項15に記載の端末装置。
  17. 要求元から第1情報の取得要求を受信するステップと、
    前記第1情報の取得先から前記第1情報を取得する必要があるか否かをあらかじめ決められた条件に基づき判定するステップと、
    前記第1情報を取得する必要があると判定された場合に、前記要求元に低消費電力状態への遷移指示を含む第1応答を通知するステップと
    を備えた情報通信方法。
JP2013184421A 2012-09-12 2013-09-05 処理装置およびその方法 Pending JP2014075122A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2013184421A JP2014075122A (ja) 2012-09-12 2013-09-05 処理装置およびその方法
US14/024,470 US9400547B2 (en) 2012-09-12 2013-09-11 Processing device and method thereof

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012200848 2012-09-12
JP2012200848 2012-09-12
JP2013184421A JP2014075122A (ja) 2012-09-12 2013-09-05 処理装置およびその方法

Publications (1)

Publication Number Publication Date
JP2014075122A true JP2014075122A (ja) 2014-04-24

Family

ID=50234631

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013184421A Pending JP2014075122A (ja) 2012-09-12 2013-09-05 処理装置およびその方法

Country Status (2)

Country Link
US (1) US9400547B2 (ja)
JP (1) JP2014075122A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016063422A (ja) * 2014-09-18 2016-04-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America デバイス、デバイス管理装置、中継装置、端末装置、および通信方法
JP2019053350A (ja) * 2017-09-12 2019-04-04 住友電気工業株式会社 配信装置、再生装置、配信方法、再生方法、再生プログラムおよびデータ構造

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016131312A (ja) * 2015-01-14 2016-07-21 国立大学法人京都大学 通信制御方法、及び、通信装置
US9264564B1 (en) * 2015-02-09 2016-02-16 Kabushiki Kaisha Toshiba Printing data collection and distribution server, printing data collection and distribution method and computer-readable medium recorded with printing data collection and distribution program
US20170024243A1 (en) * 2015-07-22 2017-01-26 Microsoft Technology Licensing, Llc Background task management

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11219313A (ja) 1998-02-02 1999-08-10 Mitsubishi Electric Corp コンテンツ先読み方法
JP2005266929A (ja) 2004-03-16 2005-09-29 Canon Inc 情報処理方法及び装置
CN101578571A (zh) * 2007-07-09 2009-11-11 索尼株式会社 电子设备及其控制方法
US8910169B2 (en) * 2008-09-30 2014-12-09 Intel Corporation Methods and systems to perform a computer task in a reduced power consumption state
US8451471B2 (en) * 2009-04-07 2013-05-28 Kabushiki Kaisha Toshiba Image forming apparatus, power saving control method, and computer-readable recording medium having recorded therein power saving control program
KR101638799B1 (ko) * 2009-11-05 2016-07-13 삼성전자주식회사 무선통신 시스템에서 기지국과 단말 간 슬립 사이클 설정을 협상하기 위한 장치 및 방법
US8744450B2 (en) * 2011-04-04 2014-06-03 Kyocera Corporation Mobile communication method
JP5774429B2 (ja) * 2011-09-28 2015-09-09 株式会社東芝 通信装置および通信方法、ならびに、プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016063422A (ja) * 2014-09-18 2016-04-25 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカPanasonic Intellectual Property Corporation of America デバイス、デバイス管理装置、中継装置、端末装置、および通信方法
JP2019053350A (ja) * 2017-09-12 2019-04-04 住友電気工業株式会社 配信装置、再生装置、配信方法、再生方法、再生プログラムおよびデータ構造

Also Published As

Publication number Publication date
US9400547B2 (en) 2016-07-26
US20140075228A1 (en) 2014-03-13

Similar Documents

Publication Publication Date Title
US11216612B2 (en) Size-optimized data interchange method and system
JP6419173B2 (ja) プッシュメッセージ制御による適応型データストリーミング方法
JP4276895B2 (ja) 計測システム
US10630758B2 (en) Method and system for fulfilling server push directives on an edge proxy
US9083743B1 (en) Managing request routing information utilizing performance information
JP2014075122A (ja) 処理装置およびその方法
JP6047794B2 (ja) 中継装置、中継システム及び中継方法
JP2013016209A (ja) ウェブページの表示方法およびシステム
WO2016029650A1 (zh) 基于路由器的联网控制方法及装置
WO2012072041A1 (zh) 页面展示方法、系统和装置
JP2015052821A (ja) 通信装置および通信方法
JP2011039899A (ja) Web情報取得方法および装置
CN103546829A (zh) 一种视频业务处理方法及设备
US20140244790A1 (en) Communication apparatus, communication method and non-transitory computer readable medium
US9270776B2 (en) Dynamically adjusting delivery of content between terminal device and server
KR101650829B1 (ko) 대상을 획득하는 방법, 장치, 및 시스템
WO2012119496A1 (zh) 预读方法和装置
JP5898132B2 (ja) 広告選択装置、広告処理システム、広告選択方法、及びプログラム
CN107872498B (zh) 一种业务数据订阅方法、装置及系统
KR101498920B1 (ko) 오프라인 실행을 위한 웹 페이지 사전 캐싱 시스템 및 방법
KR101997986B1 (ko) 상호 작용하는 IoT 어플리케이션을 위한 클라우드-포그-클라이언트 삼각 컴퓨팅 방법 및 장치
KR20120111598A (ko) 웹 환경에서 캐싱 효율을 높인 서버, 단말기 및 그 방법
KR100937853B1 (ko) 센서 네트워크 시스템
JP2010182243A (ja) 端末装置、データ収集ノード、データ収集システムおよびデータ収集方法
JP2009288970A (ja) 情報端末、情報提供方法及び情報提供プログラム