説明

通信装置および通信方法、ならびに、プログラム

【課題】消費電力をより抑制可能な通信装置およびプログラムを提供する。
【解決手段】実施形態の通信装置は、情報処理部からネットワークに向けて送信された、ネットワーク上の第1のデータを取得する方法を示す第1の取得方法情報を受信し、受信した第1の取得方法情報に基づき、第1のデータを情報処理部に代わって取得する。取得された第1のデータから、第1のデータの取得に伴い取得するべき第2のデータを取得する方法を示す第2の取得方法情報を抽出し、さらに、第2の取得方法情報に基づき第2のデータを取得する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、通信装置および通信方法、ならびに、プログラムに関する。
【背景技術】
【0002】
通信端末が、ネットワークを介して接続される他の通信ノードから様々な種類のデータをダウンロードして取得する通信システムが知られている。例えば、通信端末からブラウザアプリケーション(以下ブラウザと略称する)により、HTTP(Hypertext Transfer Protocol)をプロトコルとして用いて、インターネット上のWebサーバ上に置かれたHTML(Hyper Text Markup Language)ファイルなどにアクセスし、ファイルの記述に従い、コンテンツデータをWebサーバからダウンロードする技術が広く普及している。コンテンツデータは、例えば画面を構成するための画像データなどである。一般的には、1のHTMLファイルから複数のコンテンツデータが要求される場合が多い。
【0003】
一方、HTTPクライアント(通信端末)と、Webサーバとの間にプロキシサーバ(代理サーバ)を設置し、HTMLファイルファイルにより取得が要求されるWebサーバ上のコンテンツデータを、予めプロキシサーバ上に格納しておき、HTTPクライアントからの実際のアクセスをこのプロキシサーバに対して行う技術も、広く知られている。
【0004】
プロキシサーバにおいては、HTTPクライアントからコンテンツデータの取得が要求されると、要求に応じて、Webサーバからコンテンツを取得する。このときに、追加で必要となるコンテンツデータがある場合、プロキシサーバは、この追加コンテンツデータもWebサーバから取得する。そして、プロキシサーバは、例えば1画面の表示に必要な全てのコンテンツデータの取得が完了すると、取得したコンテンツデータをHTTPクライアントである通信端末に渡す。
【先行技術文献】
【特許文献】
【0005】
【特許文献1】米国特許出願公開第2006/0160508号明細書
【0006】
【非特許文献1】Marcelら:「PAWP:A Power Aware Web Proxy for Wireless LAN Clients」、WMCSA ’04: Proceedings of the Sixth IEEE Workshop on Mobile Computing Systems and Applications (WMCSA’04), pages 206〜215, 2004.
【発明の概要】
【発明が解決しようとする課題】
【0007】
通信端末において、ブラウザにて例えばWebサーバ上のあるHTMLファイルによる画面を閲覧中に、他のHTMLファイルによる画面の表示に切り替える際には、切替後の画面において必要とされるコンテンツデータを取得する必要がある。この、コンテンツデータが取得され表示が切り替わるまでの間、通信端末のCPU(Central Processing Unit)などをスリープ状態にできることが求められていた。
【0008】
また、上述のプロキシサーバを用いることで、コンテンツデータの取得時間を短縮でき、それに伴い、通信端末側の消費電力を抑制できる可能性がある。しかしながら、この場合、プロキシサーバを各所に設ける必要があり、コストが嵩んでしまう。
【0009】
本発明が解決しようとする課題は、消費電力をより抑制可能な通信装置およびプログラムを提供することである。
【課題を解決するための手段】
【0010】
実施形態の通信装置は、情報処理部からネットワークに向けて送信された、ネットワーク上の第1のデータを取得する方法を示す第1の取得方法情報を受信し、受信した第1の取得方法情報に基づき、第1のデータを情報処理部に代わって取得する。取得された第1のデータから、第1のデータの取得に伴い取得するべき第2のデータを取得する方法を示す第2の取得方法情報を抽出し、さらに、第2の取得方法情報に基づき第2のデータを取得する。
【図面の簡単な説明】
【0011】
【図1】図1は、第1の実施形態に適用可能な通信システムの一例のブロック図である。
【図2】図2は、第1の実施形態によるデータ取得処理の一例を示すシーケンス図である。
【図3】図3は、通信ノードから送信されたHTMLファイルの内容の例を示す略線図である。
【図4】図4は、第2の実施形態による通信装置の機能を示す機能ブロック図である。
【図5】図5は、第2の実施形態によるデータ取得処理の一例を示すシーケンス図である。
【図6】図6は、第2の実施形態によるファイルまたはパケット群の解析処理を示すシーケンス図である。
【図7】図7は、フレーム表示を行うHTMLファイルを説明するための略線図である。
【図8】図8は、フレーム表示を行うHTMLファイルを説明するための略線図である。
【図9】図9は、各実施形態に適用可能な通信装置の一例の構成を示すブロック図である。
【図10】図10は、各実施形態に適用可能な通信I/Fの一例の構成を示すブロック図である。
【発明を実施するための形態】
【0012】
(第1の実施形態)
以下に、第1の実施形態に係る通信装置について説明する。図1は、第1の実施形態に適用可能な通信システムの一例を概略的に示す。通信装置1は、ネットワーク2を介して通信ノード3と通信可能となっている。通信ノード3は、例えばネットワーク2に接続されたサーバなどの情報処理装置である。例えば、ネットワーク2がインターネットである場合、通信ノード3の一例としてWebサーバを適用できる。
【0013】
通信装置1は、汎用処理部10と代理取得部11とを有する。汎用処理部10は、設定によって汎用的なデータ処理を実行することが可能とされる。例えば、汎用処理部10は、CPU(Central Processing Unit)、RAM(Random Access Memory)およびROMなどを有し、OS(Operating System)やアプリケーションソフトウェアといったプログラムがRAMをワークメモリとして用いて動作する。
【0014】
代理取得部11は、汎用処理部10から通信ノード3に対して送信されたデータ取得要求を受信し、汎用処理部10に代わって、通信ノード3に対してデータ取得要求を行う。また、代理取得部11は、当該データ取得要求に応じて通信ノード3から送信されたデータを受信し、保持する。保持されたこのデータは、例えば汎用処理部10からの要求に従い、汎用処理部10に渡される。
【0015】
本第1の実施形態によれば、汎用処理部10が通信ノード3に対してデータ取得要求を送信した場合に、代理取得部11がこのデータ取得要求に係る処理を、汎用処理部10に代わって実行する。そのため、通信端末1において、汎用処理部10がデータ取得要求を通信ノード3に対して送信した直後から、汎用処理部10を、消費電力が抑制された動作モードであるスリープモードに移行させることができる。
【0016】
なお、汎用処理部10のスリープモードからの復帰は、汎用処理部10におけるタイマ処理などにより自動的に実行されるようにしてもよいし、代理取得部11が汎用処理部10をスリープモードから復帰させるようにもできる。
【0017】
図2は、本第1の実施形態によるデータ取得処理の一例を示すシーケンス図である。先ず、汎用処理部10において、通信ノード3に対してデータの取得を要求するようなアプリケーションソフトウェア(以下、アプリケーションと略称する)が動作する(SEQ100)。
【0018】
汎用処理部10は、このアプリケーションにより通信ノード3が有するデータが必要とされると、通信ノード3に対して当該データの取得要求と、通信ノード3からのデータの取得方法を示すデータ取得方法識別子とを送信する(SEQ101)。汎用処理部10は、取得要求に従い取得したデータの格納方法などを含む格納情報をさらに送信してもよい。この取得要求およびデータ取得方法識別子は、代理取得部11に受信される。格納情報が送信された場合は、この格納情報も代理取得部11に受信される。汎用処理部10は、SEQ101でデータの取得要求とデータ取得方法識別子とを送信した後は、スリープモードとなることができる。
【0019】
なお、ネットワーク2がインターネットとした場合、通信ノード3はインターネット上のWebサーバ、汎用処理部10は、通信装置1上で動作するブラウザアプリケーション(以下、ブラウザと略称する)とすることができる。このとき、汎用処理部10から通信ノード3に対して要求されるデータは、例えばHTML(Hyper Text Markup Language)ファイル、データ取得方法識別子は、当該HTMLファイルのURL(Uniform Resource Locator)にそれぞれ対応付けることができる。
【0020】
一例として、HTMLファイルのURLが「http://example.com/sample.html」であるとき、スキーム名「http」は、プロトコルとしてHTTP(Hypertext Transfer Protocol)を用いるべきであることを示す。また、記号「://」から直後の記号「/」までの間の文字列は、このURLで示されるリソースが保持されるホストを示す。さらにこの直後の記号「/」以降の文字列は、当該ホスト内でのファイルなどのリソースの所在を示す。このように、URLは、インターネット上のリソースの位置と取得方法とを示す。
【0021】
代理取得部11は、汎用処理部10から受信した取得要求およびデータ取得方法識別子に基づき、汎用処理部10に代わって、通信ノード3に対してネットワーク2を介してデータの要求を行う(SEQ102)。この要求に応じて、通信ノード3は、データ取得方法識別子に示されるデータを通信装置1に送信する(SEQ103)。送信されたデータは、汎用処理部10に代わって代理取得部11に受信される。
【0022】
代理取得部11は、受信したデータを解析し、当該データに埋め込まれているデータ取得方法識別子を抽出する(SEQ104)。このとき、当該データは、複数のデータ取得方法識別子が埋め込まれている可能性がある。代理取得部11は、当該データに埋め込まれている全てのデータ取得方法識別子を抽出する。
【0023】
SEQ104で、通信ノード3から受信したデータに埋め込まれたデータ取得方法識別子を抽出した代理取得部11は、ステップS100で、データ取得方法識別子に従ったデータ取得処理を行う。より詳細には、ステップS100において、代理取得部11は、抽出したデータ取得方法識別子に従い通信ノード3に対してデータを要求する(SEQ105)。この要求に応じて通信ノード3から通信装置1に対して送信されたデータは、代理取得部11に受信される(SEQ106)。代理取得部11は、受信したデータを一時的にメモリなどに保持する。
【0024】
代理取得部11は、このステップS100によるデータ取得処理を、SEQ104で抽出したデータ取得方法識別子のそれぞれについて行う。すなわち、SEQ104で複数のデータ取得方法識別子が抽出された場合には、抽出されたデータ取得方法識別子の数だけ、このステップS100の処理が繰り返される。
【0025】
一方、汎用処理部10は、上述のSEQ101の処理の後にスリープモードに移行している場合、所定のタイミングでスリープモードから復帰する(SEQ107)。例えば、汎用処理部10は、タイマ処理によりスリープモードから自動的に復帰することができる。
【0026】
これに限らず、代理取得部11が汎用処理部10の動作モードを制御することも可能である。例えば、代理取得部11は、SEQ104で抽出された各データ取得方法識別子についてのステップS100によるデータ取得処理が全て終了した時点で、汎用処理部10の動作モードをスリープモードから復帰させる。さらに、汎用処理部10は、代理取得部11がステップS100によるデータ取得処理を実行している最中に、動作モードをスリープモードから復帰させてもよい。この場合、代理取得部11は、例えば、復帰の時点までに取得したデータを汎用処理部10に送信してもよい。
【0027】
汎用処理部10は、スリープモードから復帰すると、代理取得部11に対して、上述したSEQ101での取得要求に応じて代理取得部11が取得した結果のデータを要求する(SEQ108)。代理取得部11は、この要求に応じて、ステップS100によるデータ取得処理で取得したデータを汎用処理部10に送信する(SEQ109)。汎用処理部10では、代理取得部11から送信されたデータを、SEQ100で起動されたアプリケーションが処理する。
【0028】
なお、上述のSEQ101で取得要求およびデータ取得方法識別子と共に、格納情報が汎用処理部10から送信された場合には、SEQ109において、ステップS100によるデータ取得処理で取得したデータが、この格納情報に示される格納方法に従って、汎用処理部10のメモリなどに記憶される。
【0029】
上述の処理によれば、汎用処理部10は、通信ノード3に対してデータの取得要求を送信してから、SEQ108で代理取得部11に対して取得したデータを要求するまでの期間Aの間、スリープモードとすることができる。そのため、通信ノード3に対してデータの取得要求を行った際の、通信装置1の消費電力を抑制することができる。
【0030】
(第1の実施形態による処理の具体的な例)
本第1の実施形態による処理を、より具体的な例を用いて説明する。一例として、ネットワーク2がインターネット、通信ノード3がインターネット上のWebサーバであるものとする。そして、通信装置1が汎用処理部10においてブラウザアプリケーションを起動させ、ブラウザにより、ネットワーク2を介して通信ノード3上のコンテンツデータを閲覧する場合について考える。このコンテンツデータは、例えばHTMLファイルによるWebページとして提供され、Webページは、さらに画像データや動画データなどの他のコンテンツデータを含むことができる。
【0031】
この場合、通信装置1において、汎用処理部10でブラウザが動作し(SEQ100)、ブラウザに対して、ブックマークからの選択や直接指定などにより、データ取得方法識別子として、目的のHTMLファイルのURLが入力される。ブラウザは、データ取得方法識別子に示されるHTMLファイルの取得要求を、当該データ取得方法識別子と共にネットワーク2に向けて送信する(SEQ101)。ブラウザから送信されたこの取得要求およびデータ取得方法識別子は、一旦、代理取得部11に受信される。
【0032】
代理取得部11は、受信したHTMLファイルの取得要求とデータ取得方法識別子とを、汎用処理部10に代わって、ネットワーク2を介してWebサーバである通信ノード3に対して送信する(SEQ102)。通信ノード3は、これらHTMLファイルの取得要求とデータ取得方法識別子とを受信し、受信したHTMLファイルの取得要求とデータ取得方法識別子とに応じて、HTMLファイルを通信装置1に対して送信する(SEQ103)。
【0033】
図3は、SEQ103で通信ノード3から通信装置1に対して送信されたHTMLファイル50の内容の例を示す。なお、図3において、各行の先頭の数字は、説明のための行番号である。
【0034】
画像データや動画データといったコンテンツデータをWebページ上に表示させるタグに対して、当該コンテンツデータを取得するためのデータ取得方法識別子が埋め込まれる。このようなタグとしては、例えば、画像データの埋め込みを示すタグ<img src>、画像データを背景画像として表示させるタグ<body background>、マルチメディア要素やJava(登録商標)アプレットを埋め込むタグ<object data>などがHTMLに定義されている。これらのタグに対して、一対のダブルクォーテーション(”)で挟まれたURLとして、データ取得方法識別子が埋め込まれている。ブラウザは、HTMLファイルを読み込んだ際に、これらのタグに対して埋め込まれたデータ取得方法識別子で示されるデータを取得する取得要求を送信する。
【0035】
図3の例では、HTMLファイル50において、5行目、7行目、13〜16行目、19行目および20行目にデータ取得方法識別子が埋め込まれている。より具体的には、5行目には、タグ<body background>が記述され、背景画像の画像データを絶対パスで指定するURLが、データ取得方法識別子として埋め込まれる。7行目、13行目〜16行目、20行目には、それぞれ、タグ<img src>が記述され、画像データを指定するURLがデータ取得方法識別子として埋め込まれる。なお、これらのうち、7行目、16行目および20行目は、画像データのURLが相対パスで指定され、13行目〜15行目は、画像データのURLが絶対パスで指定される。
【0036】
また、19行目には、タグ<object data>が記述され、動画の動画データを絶対パスで指定するURLが、データ取得方法識別子として埋め込まれる。このとき、19行目において、「type」、「width」および「height」で指定される値は、当該動画データの属性を示すパラメータである。
【0037】
なお、20行目において、アンカータグ<a href ”(URL)”></a>は、タグ内のURLで示されるHTMLファイルに対するパスを示す。ブラウザ上で、このアンカータグに対して所定の操作を行うことで、当該パス先のHTMLファイルにアクセスされる。このアンカータグ内のURLは、当該HTMLファイルの読み込みに伴いブラウザにより自動的に取得要求が送信されないので、各実施形態でいうところのデータ取得方法識別子に該当しないものとする。
【0038】
代理取得部11は、このHTMLファイル50を受信すると、SEQ104で受信したHTMLファイル50を解析して、HTMLファイル50からデータ取得方法識別子を抽出する。例えば、代理取得部11は、HTMLファイル50の内容を1行ずつ解読していき、上述したタグ<img src>、タグ<body background>、タグ<object data>のような、データ取得方法識別子が埋め込まれるタグを検索し、当該タグに埋め込まれたデータ取得方法識別子を抽出する。
【0039】
代理取得部11は、SEQ104で抽出されたデータ取得方法識別子に従い、ステップS100によるデータ取得処理が実行される。この処理を、HTMLファイル50から抽出されたデータ取得方法識別子の全てについて実行する。
【0040】
図3の例では、5行目、7行目、13行目〜16行目、19行目および20行目に記述される各画像データおよび動画データがステップS100でのデータ取得処理により、順次、通信ノード3からネットワーク2を介して取得される。取得された各画像データおよび動画データは、代理取得部11が有するメモリなどに一時的に格納される。
【0041】
なお、上述では、ステップS100の処理を繰り返し行う場合のデータの取得要求先が全て同一のように説明しているが、これはこの例に限定されない。すなわち、各データ取得方法識別子は、データ取得先としてそれぞれ異なる通信ノード3を示していてもよい。
【0042】
また、ここでは、HTMLのタグに埋め込まれたファイル取得方法識別子を抽出する例を示したが、これはこの例に限定されない。例えば、HTMLファイル内に記述されるJavaScript(登録商標)などのスクリプト言語に埋め込まれたファイル取得方法識別を抽出することも可能である。また、PHP(Hypertext Preprocessor)などにより動的に生成されたHTMLデータに埋め込まれたファイル取得方法識別子を抽出することもできる。
【0043】
SEQ107で汎用処理部10の動作モードがスリープモードから復帰しSEQ108でデータ取得要求が代理取得部11に送信された場合、代理取得部11は、このデータ取得要求に応じて、ステップS100によるデータ取得処理で取得された各画像データおよび動画データを、汎用処理部10に送信する(SEQ109)。
【0044】
(第2の実施形態)
次に、第2の実施形態について説明する。図4は、本第2の実施形態による通信装置1’の一例の機能を示す。通信装置1’は、表示システム部20、代理取得部30、転送部31、解析部32、受信部33、生成部34およびインターフェイス40を有する。
【0045】
表示システム部20は、上述した汎用処理部10に対応する機能を有し、OSや各アプリケーションが動作する。本第2の実施形態では、汎用処理部10の機能のうちブラウザの機能を主に用いるため、表示システム部20としている。例えば、表示システム部20は、CPU、RAMおよびROMなどを有し、OSやアプリケーションといったプログラムがRAMをワークメモリとして用いて動作する。また、表示システム部20は、CPUからプログラムに基づき生成された表示制御信号を、LCD(Liquid Crystal Display)などの表示デバイスが表示可能な信号に変換する表示制御部を含む。表示システム部20が表示デバイスを含んでいてもよい。
【0046】
インターフェイス40は、ネットワーク2を介した通信を制御し、例えば通信装置1’とネットワーク2に接続される通信ノード(図示しない)との間の通信を可能とする。代理取得部30は、表示システム部20からネットワーク2に向けて送信されたデータ取得要求を受信し、表示システム部20に代わって、ネットワーク2に向けて当該データ取得要求の送信を行う。また、代理取得部30は、受信部33に対して受信パケットの受信要求を送信する。
【0047】
なお、インターネット2を介したファイルの転送処理は、一般的には、ファイルのデータが所定サイズに分割されてパケットに詰め込まれて行われる。パケットに格納されるデータがどのファイルのどの位置のデータであるかを示す情報は、例えばパケットのヘッダ情報として記述される。
【0048】
受信部33は、代理取得部30の受信要求に従い、ネットワーク2を介して送信され、インターフェイス40に受信された受信パケットを受け取る。受信部33は、受け取った受信パケットを保持する。
【0049】
生成部34は、受信部33からの生成要求に従い、受信部33に受け取られた受信パケットに格納されるデータを、予め定められた他のデータ形式に変換したデータを生成する。より具体的には、生成部34は、受信部33に受け取られ保持された受信パケットから、格納されたデータを取り出す。そして、受信パケットのヘッダ情報などに基づき、取り出したデータから、予め定められた形式のファイルを生成する。これに限らず、生成部34は、受信パケットに格納されたデータから、予め定められた形式のストリームデータを生成してもよい。
【0050】
このように、生成部34がパケットからファイルを生成する動作は、換言すれば、パケットをファイルに変換する動作であるといえる。同様に、生成部34がパケットからストリームデータを生成する動作は、換言すれば、パケットをストリームデータに変換する動作であるといえる。なお、生成部34がパケットを変換して生成されるデータ形式は、ファイルやストリームデータに限定されない。
【0051】
解析部32は、解析要求に従い生成部34で生成されたファイルを解析して、当該ファイルに含まれるデータ取得方法識別子を抽出する。転送部31は、転送要求に従い、生成部34で生成されたファイルを指定された場所に転送する。
【0052】
なお、一般的なコンピュータの構成を例に取ると、表示システム部20は、CPU、RAMおよびROM、ならびに、ストレージ装置などを含むコンピュータ本体側の構成に対応する。また、代理取得部30、転送部31、解析部32、受信部33、生成部34およびインターフェイス40は、コンピュータに対して接続され、ネットワーク2との通信を制御する、NIC(Network Interface Card)に対応する。この場合、代理取得部30、転送部31、解析部32、受信部33および生成部34は、NIC内部の例えばマイクロプロセッサ上で動作するプログラムにより構成される。一方、インターフェイス40は、実際にケーブルなどが接続され、電気的な処理を行うハードウェアにより構成される。勿論、これに限らず、代理取得部30、転送部31、解析部32、受信部33および生成部34をそれぞれハードウェアで構成することも可能である。
【0053】
図5は、本第2の実施形態によるデータ取得処理の一例を示すシーケンス図である。以下では、通信装置1’が表示システム部20においてブラウザを起動させ、インターネットであるネットワーク2を介して、Webサーバである通信ノード(図示しない)上のHTMLファイルによるWebページを閲覧するものとする。
【0054】
先ず、表示システム部20において、ネットワーク2に接続される通信ノード(図示しない)上にあるファイルが必要となると、表示システム部20からネットワーク2に向けて、ファイル取得要求と当該ファイル取得要求によるファイルの取得に関連する、ファイル取得関連情報とが送信される(SEQ200)。表示システム部20は、このSEQ200によるファイル取得要求の送信後、動作モードをスリープモードとすることができる。
【0055】
ファイル取得関連情報は、当該通信ノードからのファイルの取得方法を示すファイル取得方法識別子と、取得要求により取得したファイルの格納方法、格納場所などを含む格納情報と、上述した生成要求および解析要求をそれぞれ示す各要求フラグとを含む。
【0056】
ファイル取得関連情報に含まれるファイル取得方法識別子は、例えばファイルのURI(Universal Resource Identifier)またはURLを用いることができる。以下では、特に記載のない限り、URIおよびURLをURLで代表させて説明する。格納情報は、取得したファイルを格納するストレージ装置(ハードディスクドライブや不揮発性の半導体メモリなど)を特定する情報や、当該ストレージ装置におけるファイルの格納アドレス、当該ストレージ装置との通信方法などを含む。
【0057】
表示システム部20からネットワーク2に向けて送信されたファイル取得要求およびファイル取得関連情報は、一旦、代理取得部30に受信される。これにより、表示システム部20から代理取得部30に対して、ファイルの受信処理が要求される(SEQ200)。代理取得部30は、受信したファイル取得要求およびファイル取得関連情報に基づき、表示システム部20に代わって、ネットワーク2に接続される通信ノード(図示しない)に向けてファイルを要求する(SEQ202)。
【0058】
例えば、ネットワーク2を介しての通信がHTTPを用いて行われる場合には、HTTPに規定されるGETメソッドおよびPOSTメソッドを用いて、ファイルの要求および取得を行う。また例えば、ネットワーク2を介して通信がFTP(File Transfer Protocol)を用いて行われる場合、FTPに規定されるタグRETRを用いて、ファイルの要求および取得を行う。なお、代理取得部30は、ファイル取得要求を行う前にネットワーク2との間で予め実行すべき処理を、表示システム部20に代わって実行可能とされている。
【0059】
代理取得部30は、ファイル取得要求と共に、受信部33に対して、インターフェイス40から受け取る受信パケットを受信するように要求する(SEQ201)。
【0060】
SEQ202でのファイル取得要求に応じて、ネットワーク2を介して送信された受信パケットがインターフェイス40に受信される。受信された受信パケットは、受信部33に渡され、保持される。受信部33は、例えば1のファイルを構成する全ての受信パケットの受信が完了すると、代理取得部30から渡されたファイル取得関連情報に含まれる生成要求フラグおよび解析要求フラグに基づくフラグ判定を行う。
【0061】
受信部33によるフラグ判定について説明する。受信部33でのフラグ判定では、(1)生成要求フラグおよび解析要求フラグの何れも立っていない場合、(2)生成要求フラグが立っている場合、(3)生成要求フラグが立っておらず、解析要求フラグが立っている場合、の3通りについて判定がなされる。なお、(2)生成要求フラグが立っている場合には、後に、生成部34において、解析要求フラグについてのフラグ判定が行われる。
【0062】
先ず、(1)生成要求フラグおよび解析要求フラグの何れも立っていない場合について説明する。この場合には、受信部33は、転送部31に対して、SEQ203で受け取った全ての受信パケット(以下、パケット群と呼ぶ)と、当該受信パケットの転送を要求する転送要求とを渡す(図示しない)。なお、転送要求には、SEQ200で受信されたファイル関連情報に含まれる格納情報を含めることができる。この受信パケットと転送要求を受信した転送部31は、受け取ったパケット群を、例えば格納情報に示される格納先に転送する。
【0063】
次に、(2)生成要求フラグが立っている場合について説明する。この場合には、受信部33は、生成部34に対してファイルの生成要求と、生成関連情報とを渡す(SEQ204)。生成関連情報は、パケット群と、生成されたファイルの格納先や格納方法を示す格納情報と、解析要求フラグとを含む。そして、処理は、ステップS101の解析および取得処理に移行する。
【0064】
ステップS101において、生成部34は、受信部33から渡された生成要求に従い、パケット群から、各受信パケットのヘッダ情報などに基づきファイルを生成する。すなわち、生成部34は、各受信パケットに格納されたデータを、例えばヘッダ情報に格納されるデータ位置を示す情報に従い並べて元のデータを復元し、ファイルを生成する。ファイルが生成されると、生成部34は、解析部32に対してファイルの解析を要求する解析要求と、第1解析関連情報とを渡す(SEQ205)。第1解析関連情報は、生成部34で生成されたファイルと、当該ファイルおよび解析結果の格納先や格納方法を示す格納情報とを含む。また、生成部34は、生成したファイルをメモリなどに保持する。
【0065】
次に、(3)生成要求フラグが立っておらず、解析要求フラグが立っている場合について説明する。この場合には、受信部33は、解析部32に対してパケット群の解析を要求する解析要求と、第2解析関連情報とを渡す(図示しない)。第2解析関連情報は、パケット群と、パケット群および解析結果の格納先や格納方法を示す格納情報とを含む。
【0066】
図5の説明に戻り、解析部32におけるファイルまたはパケット群の解析処理について説明する。解析部32は、上述のSEQ205で生成部34から解析要求と第1解析関連情報を受け取るか、若しくは、受信部33から解析要求と第2解析関連情報とを受け取ると、ステップS102で、ファイルまたはパケット群の解析を行い、ファイルまたはパケット群に含まれる、埋め込みファイルの取得方法を示すファイル取得方法識別子を抽出する。解析部32は、ファイルまたはパケット群に含まれる、全てのファイル取得方法識別子を抽出する。
【0067】
なお、解析部32は、パケット群の解析を行う場合には、例えば各受信パケットのヘッダ情報などに基づきパケットのデータを所定の順序に並べて、元のデータを復元し、この復元されたデータに対して解析処理を行う。
【0068】
ステップS102におけるファイルまたはパケット群の解析処理は、再帰的に行われる。図6は、ステップS102の処理を、より詳細に示すシーケンス図である。ここでは、生成要求フラグおよび解析要求フラグがそれぞれ立っており、SEQ205で生成部34から受け取った解析要求と第1解析関連情報とに基づきファイルの解析を行うものとして説明する。
【0069】
なお、生成要求フラグが立っておらず、解析要求フラグが立っている場合の処理は、ファイル生成が行われるか否か以外は、下記の処理と略同様であるので、ここでの説明を省略する。
【0070】
解析部32は、解析要求に応じて、第1解析関連情報に含まれるファイルを解析して、当該ファイルに含まれる全てのファイル取得方法識別子を抽出する(SEQ210)。そして、処理がステップS103に移行する。ステップS103において、抽出したファイル取得方法識別子のそれぞれについて、ファイル取得方法識別子に示されるファイルを取得する取得要求を、当該ファイル取得方法識別子を含む第1解析関連情報と共に代理取得部30に渡す(SEQ211)。ステップS104で、代理取得部30は、受け取った取得要求に応じて、上述したSEQ201以降の処理に従い、第1解析関連情報に含まれるファイル取得方法識別子に示されるファイルの取得処理を行う。
【0071】
ステップS104の処理について、より詳細に説明する。代理取得部30は、受信部33に対して受信パケットの受信を要求する(SEQ201)と共に、ファイル取得方法識別子に示されるファイルを、ネットワーク2に接続される通信ノード(図示しない)に向けて要求する(SEQ202)。受信部30は、この要求に応じて受信された受信パケットをインターフェイス40から受け取る(SEQ203)。そして、受信部33は、例えば生成要求フラグおよび解析要求フラグをそれぞれ立てて、これら生成要求フラグおよび解析要求フラグと、パケット群と、格納情報とを含む生成関連情報を作成し、生成要求と共に生成部34に渡す(SEQ204)。
【0072】
生成部34は、生成要求に応じて、生成関連情報に含まれるパケット群からファイルを生成する。生成したファイルは、メモリなどに保持する。また、生成部34は、生成したファイルと、解析要求フラグと、格納情報とを含む解析関連情報を作成し、解析要求と共に解析部32に渡す(SEQ205)。そして、ステップS102の処理により解析部32によりファイルが解析され、ファイル取得方法識別子が抽出される。
【0073】
以上のステップS102による再帰的な解析処理は、解析により取得されたファイル取得方法識別子に示されるファイルに、ファイル取得方法識別子がさらに含まれない場合に、終了とされる。
【0074】
上述した再帰的な解析処理が終了すると、生成部34は、生成してメモリなどに保持している1または複数のファイルの転送要求を、当該ファイルとファイルの格納先や格納方法を示す格納情報とを含む転送関連情報と共に、転送部31に渡す(SEQ206)。転送部31は、転送要求に従い、転送関連情報に含まれる1または複数のファイルを、格納情報に従い転送する(SEQ207)。
【0075】
なお、上述では、解析部32は、解析要求に従い、ファイルからファイル取得方法識別子を抽出するように説明したが、実際には、当該ファイルからデータ取得方法識別子も抽出する。データ取得方法識別子の取得処理は、取得したファイルから、さらにファイル取得方法識別子を抽出する点を除いて、ファイル取得処理と略同様となる。
【0076】
例えば、図6を参照し、解析部32は、SEQ205で生成部34から解析要求および第1解析関連情報を渡されると、解析要求に応じて、第1解析関連情報に含まれるファイルを解析して、当該ファイルに含まれる全てのデータ取得方法識別子を抽出する。そして、抽出されたデータ取得方法識別子のそれぞれについて、データ取得方法識別子に示されるデータを取得する取得要求を、当該データ取得方法識別子や、取得したデータの格納場所や格納方法を示す格納情報と共に、代理取得部30に渡す(SEQ211)。ステップS104で、代理取得部30は、受け取った取得要求に応じて、上述したSEQ201以降の処理に従い、データ取得方法識別子に示されるデータの取得処理を行う。取得されたデータは、例えば生成部34によりファイルに変換されてメモリなどに保持される。
【0077】
また、表示システム部20が代理取得部30に渡すファイル取得関連情報に対して、表示システム部20の動作モードをスリープモードから復帰させる条件を示す情報と、当該復帰の方法を示す情報とをさらに含ませることができる。代理取得部30は、通信装置1’の各部の状態などがこの条件を満たす場合に、表示システム部20の動作モードをスリープモードから復帰させるように制御する。
【0078】
表示システム部20の動作モードをスリープモードから復帰させる条件は、様々に考えられる。例えば、タイマ制御により、表示システム部20の動作モードがスリープモードに移行してから予め設定された時間が経過した時点で、代理取得部30が表示システム部20の動作モードをスリープモードから復帰させる。また、インターフェイス40を介して受信された、外部からの起動命令を条件としてもよい。さらに、代理取得部30、受信部33、生成部34、解析部32および転送部31のうち少なくともつ1の部位による所定の要求を条件としてもよい。さらにまた、インターフェイス40に受信された受信パケットの総サイズや受信ファイルの総サイズを条件とすることも考えられる。また、例えば通信装置1’に接続される他の機器の動作状態を条件とすることもできる。
【0079】
なお、上述では、受信部33は、1のファイルを構成する受信パケットを全て受信してから、パケット群を生成部34に渡すように説明したが、これはこの例に限定されず、1つのファイルの受信パケットを受信中に、既に受信した受信パケットを生成部34に渡してもよい。また、上述では、生成部34でファイル生成を行った後、解析部32による解析を行い、さらにその後に、転送部31に夜転送処理を行うように説明したが、これはこの例に限定されない。例えば、生成部34によるファイル生成と、解析部32による解析処理と、転送部31による転送処理とを並列的に行うことも可能である。
【0080】
上述したように、本第2の実施形態によれば、表示システム部20は、ネットワーク2に向けてファイル所得要求とファイル取得関連情報とを送信した時点で、動作モードをスリープモードとすることができる。そのため、ネットワーク2に向けてデータの取得要求を行った際の、通信装置1’の消費電力を抑制することができる。
【0081】
また、本第2の実施形態によれば、ファイル取得方法識別子の抽出処理を再帰的に行うようにしているため、ファイル取得方法識別子に示されるファイルにさらにファイル取得方法識別子が含まれるような場合にも対応できる。
【0082】
(第2の実施形態の具体的な例)
次に、本第2の実施形態による処理を、より具体的な例を用いて説明する。一例として、第1の実施形態の場合と同様に、ネットワーク2がインターネットであり、通信装置1’が表示システム部20においてブラウザを起動させ、ブラウザによりネットワーク2に接続されるWebサーバい図示しない)に向けて、URLで示されるHTMLファイルによるWebページを閲覧する場合について考える。なお、以下では、生成要求フラグおよび解析要求フラグがそれぞれ立っており、受信パケットからのファイル生成と、ファイルに対する解析処理とをそれぞれ行うものとする。
【0083】
また、以下では、表示システム部20がネットワーク2に向けて取得を要求するHTMLファイルは、HTMLファイル中に他のHTMLファイルを自動的に呼び出すファイル取得方法識別子が含まれるファイルであるものとする。このようなHTMLファイルの代表的なものとして、フレームを使用した画面を表示するためのHTMLファイルが挙げられる。フレームは、1画面を分割し、分割されたそれぞれの領域に対し、一般的には、異なるHTMLファイルによる表示を行うものである。
【0084】
図7および図8を用いてフレーム表示のためのHTMLファイルについて説明する。フレームは、フレームを定義するためのHTMLファイル(以下、フレーム定義ファイルと呼ぶ)と、フレームの分割領域に表示を行うための2以上のHTMLファイル(以下、フレーム内ページファイルと呼ぶ)とを用いて表示される。
【0085】
図7は、フレーム定義ファイル51の一例を示す。6行目に記述されるタグ<frameset>で、フレームが定義される。この例では、7行目および8行目にそれぞれ記述されるタグ<frame name>により、フレームの分割領域のそれぞれに表示するためのフレーム内ページファイルのファイル取得方法識別子が各々埋め込まれる。すなわち、タグ<frame name>のパラメータ「src」に対して一対のダブルクォーテーションで挟まれたURL(この例では相対URL)として、フレーム内ページファイルのファイル取得方法識別子が埋め込まれる。これらタグ<frame name>に埋め込まれるファイル取得方法識別子により示されるファイルは、このフレーム定義ファイル51が表示システム部20に取得されるのに伴い、それぞれ取得される必要がある。
【0086】
なお、フレーム定義ファイル51には、一般的には、画像データや動画データといったコンテンツデータのデータ取得方法識別子を記述しない。記述した場合は、無視される(フレーム対応のブラウザの場合)。
【0087】
図8(a)および図8(b)は、それぞれ、フレーム定義ファイル51の7行目および8行目のタグ<frame name>に埋め込まれるファイル取得方法識別子が示すフレーム内ページファイル52および53の例を示す。フレーム内ページファイル52では、5行目、8行目〜10行目に、データ取得方法識別子が埋め込まれている。また、フレーム内ページファイル53では、5行目、9行目〜11行目にデータ取得方法識別子が埋め込まれている。
【0088】
図5のSEQ204での受信部33からの生成要求に応じて、生成部34は、インターフェイス40から受け取った受信パケットから、フレーム定義ファイル51を生成する。そして、ステップS101において、SEQ205で、解析部32に対して解析要求と第1解析関連情報とを渡す。解析部32は、ステップS102で、受け取った解析要求に応じてフレーム定義ファイル51を解析し、フレーム定義ファイル51に埋め込まれるファイル取得方法識別子およびデータ取得方法識別子を抽出する(図6、SEQ210)。この例では、7行目および8行目からそれぞれファイル取得方法識別子が抽出される。また、フレーム定義ファイル51からは、データ取得方法識別子は抽出されない。
【0089】
処理はステップS102に移行され、解析部32は、抽出された各ファイル取得方法識別子について、ファイル取得方法識別子に示されるファイルを取得する取得要求を、当該ファイル取得方法識別子を含む第1解析関連情報と共に代理取得部30に渡す(SEQ211)。ステップS104で、代理取得部30は、受け取った各取得要求に応じて、図5におけるSEQ201以降の処理に従い、第1解析関連情報に含まれるファイル取得方法識別子に示されるファイルのそれぞれの取得処理を行う。
【0090】
この取得処理により取得されたフレーム内ページファイル52および53の解析をそれぞれ要求する解析要求が、解析部32に対して渡される(SEQ205)。解析部32は、これらの解析要求に応じて、フレーム内ページファイル52および53をそれぞれ解析して、ファイル取得方法識別子およびデータ取得方法識別子をそれぞれ抽出する。
【0091】
例えば図8(a)に示すフレーム内ページファイル52の例では、5行目、8行目〜10行目からデータ取得方法識別子が抽出される。図8(b)に示すフレーム内ページファイル53の例では、5行目、9行目〜11行目からデータ取得方法識別子が抽出される。また、フレーム内ページファイル52および53それぞれにおいて、ファイル取得方法識別子は、抽出されない。
【0092】
解析部32は、このようにして抽出されたデータ取得方法識別子のそれぞれについて、データ取得方法識別子に示されるデータを取得する取得要求を、当該データ取得方法識別子を含む第1解析関連情報と共に代理取得部30に渡す(SEQ211)。代理取得部30は、受け取った取得要求に応じて、上述したSEQ201以降の処理に従い、第1解析関連情報に含まれるデータ取得方法識別子に示されるデータの取得処理を行う。取得されたデータは、それぞれ、例えば生成部34においてコンテンツファイルとされて、メモリなどに保持される。
【0093】
この場合、フレーム内ページファイル52および53からは、ファイル取得方法識別子が抽出されていないので、これ以上、解析部32における解析処理を行う必要が無い。例えば、解析要求フラグを下げておくことで、SEQ205以降の解析部32による解析処理を行わないようにできる。
【0094】
上述したフレーム定義ファイル51の解析処理に伴う再帰的な解析処理が終了すると、生成部34は、生成してメモリなどに保持している1または複数のファイルの転送要求を、当該ファイルとファイルの格納先や格納方法を示す格納情報とを含む転送関連情報と共に、転送部31に渡す。転送部31は、転送要求に従い、転送関連情報に含まれる1または複数のファイルを、格納情報に従い転送する(SEQ207)。
【0095】
なお、第1の実施形態および第2の実施形態では、HTMLファイルにおいてHTMLのタグに埋め込まれたファイル取得方法識別子やデータ取得方法識別子を抽出する例を示したが、これはこの例に限定されない。例えば、HTMLファイル内に記述されるJavaScript(登録商標)などのスクリプト言語に埋め込まれたファイル取得方法識別やデータ取得方法識別子を抽出することも可能である。
【0096】
(各実施形態に適用可能な通信装置の構成例)
図9は、上述の各実施形態に適用可能な通信装置100の一例の構成を示す。通信装置100は、CPU110、RAM111、ROM112、表示制御部113、ストレージ部114、入出力部115および通信I/F116を有し、これら各部がバス101で互いに通信可能に接続されている。ストレージ部114は、ハードディスクドライブ、SSD(Solid State Disk)、不揮発性の半導体メモリなど書き換え可能な大容量の記憶媒体であり、CPUが動作するためのOSや各種アプリケーションのプログラム、各種データなどが記憶される。
【0097】
CPU110は、ストレージ部114やROM112に予め記憶されたプログラムに従い、RAM111をワークメモリとして用いて、この通信装置100の全体の動作を制御する。上述した第1の実施形態における汎用処理部10や、第2の実施形態における表示システム部20は、このCPU110上で動作するプログラムにより実現される。
【0098】
表示制御部113は、例えばLCD(Liquid Crystal Display)といった表示デバイスを有する表示部117が接続され、CPU110によりプログラムに従い生成された表示制御信号を、表示デバイスが表示可能な信号に変換する。表示部117は、通信装置100に内蔵されていてもよいし、外部に接続して用いるものでもよい。
【0099】
入出力部115は、マウスなどのポインティングデバイスや、キーボードといったユーザ操作を受け付ける入力デバイスを含む。入力デバイスは、キーボードなどの個別のハードウェアに限らず、例えば表示部117の表示デバイスと一体的に構成され、押圧箇所に応じた制御信号を出力する、所謂タッチパネルでもよい。また、入出力部115は、USB(Universal Serial Bus)や、IEEE(Institute of Electrical and Electronics Engineers)1394といった、データ転送を行う通信インターフェイスをさら有していてもよい。さらにまた、入出力部115は、CD(Compact Disk)やDVD(Digital Versatile Disk)といったディスク記憶媒体の読み書きを行うドライブ装置をさらに有していてもよい。
【0100】
通信I/F116は、CPU110の指示により、インターネットやLAN(Local Area Network)といった外部のネットワークに対する通信を制御する。上述した第1の実施形態における代理取得部11は、この通信I/F116上の機能である。また、上述した第2の実施形態における代理取得部30、転送部31、解析部32、受信部33、生成部34およびインターフェイス40は、この通信I/F116上の機能および構成である。通信I/F116は、外部からネットワークを介してなされて指示や、通信I/F116自身の動作により、CPU110などの動作を抑制させることができる。
【0101】
図10は、通信I/F116の一例の構成を示す。通信I/F116は、I/F121部およびI/O部122を有すると共に、CPU130、ROM131およびRAM132を有し、これら各部がバス120で互いに通信可能に接続されている。通信I/F116は、外部のネットワークとの物理的な接続を司るもので、ネットワーク上でユニークな識別情報であるMAC(Media Access Control)アドレスを有する。I/O(Input/Output)部122は、通信装置100本体(バス101)との接続を行うポートである。
【0102】
CPU130は、ROM131に予め記憶されたプログラムに従い、RAM132をワークメモリとして用いてこの通信I/F116の動作を制御する。例えば、上述の第1の実施形態における代理取得部11の機能は、このCPU130上で動作するプログラムにより実現される。同様に、上述の第2の実施形態による代理取得部30、転送部31、解析部32、受信部33および生成部34の各部の機能は、このCPU130上で動作するプログラムにより実現される。なお、第2の実施形態による通信装置1’において、インターフェイス40は、図10のI/F部121に対応する。
【0103】
なお、通信I/F116で実行される、各実施形態の機能を実現するためのプログラムは、例えばROM131に予め組み込まれて提供される。当該プログラムは、インストール可能な形式または実行可能な形式のファイルでCD、フレキシブルディスク(FD)、DVDなどのコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0104】
さらに、通信I/F116で実行される、各実施形態の機能を実現するためのプログラムを、インターネットなどのネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、当該プログラムをインターネットなどのネットワーク経由で提供または配布するように構成してもよい。
【0105】
通信I/F116で実行される、各実施形態の機能を実現するためのプログラムは、上述した各部(第1の実施形態においては代理取得部11、第2の実施形態においては代理取得部30、転送部31、解析部32、受信部33および生成部34)を含むモジュール構成となっており、実際のハードウェアとしては、CPU130がROM131から当該プログラムを読み出して実行することにより、これら各部がRAM132上にロードされ、代理取得部11、または、代理取得部30、転送部31、解析部32、受信部33および生成部34がRAM132上に生成されるようになっている。
【0106】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0107】
1,1’ 通信装置
2 ネットワーク
3 通信ノード
10 汎用処理部
11,30 代理取得部
20 表示システム部
31 転送部
32 解析部
33 受信部
34 生成部
40 インターフェイス

【特許請求の範囲】
【請求項1】
情報処理部からネットワークに向けて送信された、該ネットワーク上の第1のデータを取得する方法を示す第1の取得方法情報を受信する受信部と、
前記受信部に受信された前記第1の取得方法情報に基づき、該第1のデータを前記情報処理部に代わって取得する取得部と、
前記取得部で取得された前記第1のデータから、該第1のデータの取得に伴い取得するべき第2のデータを取得する方法を示す第2の取得方法情報を抽出する解析部と
を有し、
前記取得部は、さらに、
前記第2の取得方法情報に基づき前記第2のデータを取得する
ことを特徴とする通信装置。
【請求項2】
前記取得部で取得した前記第1のデータおよび前記第2のデータを、前記情報処理部から指定された格納場所に転送する転送部をさらに有する
ことを特徴とする請求項1に記載の通信装置。
【請求項3】
前記解析部は、さらに、
前記第2のデータを前記第1のデータとして再帰的に前記抽出する処理を行う
ことを特徴とする請求項1に記載の通信装置。
【請求項4】
前記取得部は、
前記情報処理部から前記第1の取得方法情報と共に指定された条件に従い、該情報処理部の動作を変更する
ことを特徴とする請求項1に記載の通信装置。
【請求項5】
前記取得部が取得した前記第1のデータおよび前記第2のデータのデータ形式を予め定められた他のデータ形式に変換する変換部をさらに有する
ことを特徴とする請求項1に記載の通信装置。
【請求項6】
受信部が、情報処理部からネットワークに向けて送信された、該ネットワーク上の第1のデータを取得する方法を示す第1の取得方法情報を受信する受信ステップと、
取得部が、前記受信ステップにより受信された前記第1の取得方法情報に基づき、該第1のデータを前記情報処理部に代わって取得する取得ステップと、
解析部が、前記取得ステップにより取得された前記から、該第1のデータの取得に伴い取得するべき第2のデータを取得する方法を示す第2の取得方法情報を抽出する解析ステップと
を有し、
前記取得ステップは、さらに、
前記第2の取得方法情報に基づき前記第2のデータを取得する
ことを特徴とする通信方法。
【請求項7】
情報処理部からネットワークに向けて送信された、該ネットワーク上の第1のデータを取得する方法を示す第1の取得方法情報を受信する受信ステップと、
前記受信ステップにより受信された前記第1の取得方法情報に基づき、該第1のデータを前記情報処理部に代わって取得する取得ステップと、
前記取得ステップにより取得された前記第1のデータから、該第1のデータの取得に伴い取得するべき第2のデータを取得する方法を示す第2の取得方法情報を抽出する解析ステップと
を有し、
前記取得ステップは、さらに、前記第2の取得方法情報に基づき前記第2のデータを取得する通信方法をコンピュータに実行させるためのプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate


【公開番号】特開2013−73464(P2013−73464A)
【公開日】平成25年4月22日(2013.4.22)
【国際特許分類】
【出願番号】特願2011−212744(P2011−212744)
【出願日】平成23年9月28日(2011.9.28)
【出願人】(000003078)株式会社東芝 (54,554)
【Fターム(参考)】