JP6300497B2 - 通信装置およびその制御方法 - Google Patents

通信装置およびその制御方法 Download PDF

Info

Publication number
JP6300497B2
JP6300497B2 JP2013244121A JP2013244121A JP6300497B2 JP 6300497 B2 JP6300497 B2 JP 6300497B2 JP 2013244121 A JP2013244121 A JP 2013244121A JP 2013244121 A JP2013244121 A JP 2013244121A JP 6300497 B2 JP6300497 B2 JP 6300497B2
Authority
JP
Japan
Prior art keywords
header
session
header list
list
unit
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.)
Active
Application number
JP2013244121A
Other languages
English (en)
Other versions
JP2015103085A (ja
JP2015103085A5 (ja
Inventor
睦 池田
睦 池田
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2013244121A priority Critical patent/JP6300497B2/ja
Publication of JP2015103085A publication Critical patent/JP2015103085A/ja
Publication of JP2015103085A5 publication Critical patent/JP2015103085A5/ja
Application granted granted Critical
Publication of JP6300497B2 publication Critical patent/JP6300497B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)

Description

本発明は、通信データのヘッダ圧縮するための技術に関する。
一般的に使われているHTTPのバージョンは1.1であり、HTTP/1.1やHTTP1.1と表記される。HTTP1.1は広く普及した通信プロトコルであるが、既知の問題がある。それは、セッションの中でリクエストを出してレスポンスを受け取るまで、次のリクエストを出すことが出来ない点である。また、HTTPのヘッダは何度も同じ内容をくり返しているため、クライアントとサーバ間で冗長なデータのやりとりが多い点もある。
そこで、HTTP1.1の問題点を解決するために、HTTPの次期バージョンであるHTTP2.0の策定が開始された。HTTP2.0では、クライアントとサーバ間でヘッダを送受信する際の冗長なデータを低減するために、ヘッダのデータを圧縮する機能が盛り込まれている。
ヘッダを圧縮する手法として、クライアントとサーバ間のデータのやりとりには差分方式が提案されている(非特許文献1)。差分方式とは、クライアントとサーバ間でデータのやりとりした後、次のやりとりには、それまでにやりとりしたデータと異なる部分だけをやりとりする方式である。さらに、非特許文献1は、ヘッダリストを参照して、ヘッダ情報を別の記号や符号の列に置き換えることで、クライアントとサーバ間でやりとりする情報量を削減している。
http://tools.ietf.org/html/draft−rpeon−httpbis−header−compression−03
非特許文献1は、ヘッダリストを参照して、ヘッダ情報を記号列に置き換えて、クライアントとサーバ間でやりとりするが、このヘッダリストはセッション毎に管理される。つまり、ある装置で、同時に確立されるセッションが増えると、セッション数分のヘッダテーブルを保持しなければならず、結果として、メモリ使用量が増えてしまうという課題があった。
本発明では、このような事情を鑑みてなされたものであり、ヘッダリストを用いてヘッダ圧縮するプロトコルを使用する際の、セッション増加に伴うメモリ使用の低減を可能とすることを目的とする。
上記課題を解決するために、本発明の通信装置は、他の通信装置との間で通信のためのセッションを確立する確立手段と、前記確立手段により新たに確立されたセッションに基づいて受信される圧縮済みヘッダの伸張処理のために用いられるヘッダリストを、複数のセッションで共通して用いられるヘッダリストとするか否かを決定する決定手段と、前記確立手段により前記新たに確立されたセッションに基づいて受信される圧縮済みヘッダの伸張処理を、前記決定手段による決定に応じて、前記複数のセッションで共通して用いられるヘッダリストを用いて行う伸張手段とを有することを特徴とする。
本発明によれば、ヘッダリストを用いてヘッダ圧縮するプロトコルを使用する際の、セッション増加に伴うメモリ使用の低減を可能となる。
通信装置100のブロック図 HeaderDiffを用いたヘッダ圧縮を説明するための図 通信装置100のデータ受信時のフローチャート S302の詳細フローチャート S306の詳細フローチャート S308の詳細フローチャート 通信装置100のデータ送信時のフローチャート ヘッダリストの例 テーブルの例 本実施形態を説明するための概念図
以下、本発明の実施形態について、図面を参照して説明する。なお、以下の実施の形態は特許請求の範囲に関る本発明を限定するものではなく、また、本実施例の形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。なお、同一な構成、同一なステップについては、同じ符号を付して説明する。
<第1の実施形態>
本実施形態では、ユーザがWebブラウザを備えたクライアント端末上において、複数のWebページを同時に閲覧する事例を考える。ここでは、サーバとクライアント端末はどちらも非特許文献1に記載のHeaderDiff仕様を元に、ヘッダ情報を圧縮することとする。HeaderDiffは、クライアントとサーバ間のデータのやりとりには差分方式が用いられる。差分方式は、クライアントとサーバ間でデータのやりとりした後、次のやりとりには、それまでにやりとりしたデータと異なる部分だけをやりとりする。さらに、ヘッダテーブル(ヘッダリスト)を用いて、ヘッダ情報を別の記号や符号の列(インデックス番号)に置き換えて、置き換えられた符号列(インデックス番号)を、送信側に送信する。送信側では、受信側と同じルールで、ヘッダテーブルを作成することで、ヘッダを復号する。同じセッション内で、送受信したヘッダ情報については、インデックス番号を送受信し、かつ、同じセッション内で、送受信していないヘッダ情報については、ヘッダ情報を送る。
図2は、HeaderDiffを用いたヘッダ圧縮を説明するための図である。
図2(a)は、セッションが確立された後、最初に、クライアントから、サーバに、「AAA」というヘッダ情報が送信される例を示している。その際、クライアントは、図2(c)のように、ヘッダリストのインデックス番号「1」に、「AAA」という値を記録する。尚、ヘッダリストのインデックス番号が、例えば、37まで使用されていた場合は、ヘッダリストのインデックス番号「38」に、「AAA」という値を記録する。また、ここでは説明のために、「AAA」という情報を用いたが、HeaderDiffでは、header nameとheader valueである。
図2(b)は、サーバが、クライアントから、「AAA」というヘッダ情報が受信した例を示している。サーバは、受信した後、クライアントの処理と同様に、図2(c)のヘッダリストを生成する。
図2(d)は、クライアントが、サーバに、再度、「AAA」というヘッダ情報を送信する例である。クライアントは、図2(c)のヘッダリストを参照して、「AAA」というヘッダ情報があるかを確認する。ヘッダリストに「AAA」というヘッダ情報があれば、それに対応するインデックス番号「1」を、サーバに送信する。つまり、「AAA」というヘッダ情報を、再度送信するのではなく、インデックス番号「1」を送信することで、情報量を削減している。
図2(e)は、サーバが、クライアントから、インデックス番号「1」を受信した例を示している。サーバは、サーバが保持している図2(c)のヘッダリストから、インデックス番号「1」に対応する「AAA」を取得する。
図2では、クライアントからサーバにデータを送信する例を説明したが、サーバからクライアントにデータを送信する場合も同様に処理される。その際、クライアントは、送信用のヘッダリストと受信用のヘッダリストを生成する。
図1(a)は、本実施形態における通信装置100のブロック図である。図1において、101は通信装置100全体を制御するCentral Processing Unit(CPU)である。102は変更を必要としないプログラムやパラメータを格納するRead Only Memory(ROM)である。103は外部装置などから供給されるプログラムやデータを一時記憶するRandom Access Memory(RAM)である。104は保持するデータや供給されたデータを表示するためのインタフェースである。105は101〜104の各ユニットを通信可能に接続するシステムバスである。ユーザからの操作を受けてデータを入力するマウスなどのポインティングデバイスやキーボードなどの入力デバイスとのインタフェース等があってもよい。また通信装置100に固定して設置されたハードディスクやメモリカード等があってもよい。あるいは通信装置100から着脱可能なフレキシブルディスク(FD)やCompact Disk(CD)等の光ディスク、磁気や光カード、ICカード、メモリカードなどを含む外部記憶装置等があってもよい。さらにインターネットなどのネットワーク回線に接続するためのネットワークインターフェイス等があってもよい。尚、本実施形態における通信装置100は、サーバと通信を行うクライアント端末であるとする。
図1(b)は、本実施形態における通信装置100の機能ブロック図である。
セッション管理部201は、セッションの開始や終了を検知したり、開始されたセッション以外に、別のセッションが確立しているかを判定する。データ送受信部202は、データの受信や送信を行う。また、受信したデータからヘッダを抽出したり、送信するためのデータを生成する。ヘッダ復号・符号化部203は、ヘッダリストを用いて、受信したヘッダの復号を行ったり、送信するヘッダの符号化を行う。ヘッダリスト管理部204は、ヘッダリスト保持部206に保持されているヘッダリストの取得、更新、破棄などを行う。ヘッダリスト保持部206には、共通のヘッダリストや、セッション用のヘッダリストが保持される。
テーブル管理部205は、テーブル保持部207に保持されているテーブルの更新を行う。テーブル保持部207に保持されているテーブルは、確立しているセッションを特定するセッション情報、そのセッションで使用しているヘッダリストを特定するヘッダリスト情報、ヘッダリストで使用しているindex番号(インデックス番号)が記録される。セッション情報は、例えば、セッションを特定するセッション名である。ヘッダリスト情報は、例えば、共通のヘッダリストを使用しているのか、セッション用のヘッダリストを使用しているのかを示し、ヘッダリストを特定するためのヘッダリスト名である。index番号(インデックス番号)は、使用しているヘッダリストで、そのセッションで、どのindex番号まで使用したかを示す情報である。
図3は、通信装置100のデータ受信時のフローチャートである。
S301で、セッション管理部201が、セッション開始を検知する。S302で、ヘッダリスト管理部204が、ヘッダリスト保持部206から、このセッションで使用するヘッダリストを取得する。S303で、データ送受信部202が、通信相手(サーバ)からデータを受信する。S304で、データ送受信部202が、受信したデータから、ヘッダを抽出する。S305で、抽出したヘッダを、ヘッダ復号・符号化部203が、S302で取得したヘッダリストを用いて、復号する。S306で、ヘッダリスト管理部204が、ヘッダリスト保持部206に保持されている、このセッションで使用しているヘッダリストを更新する。S307で、セッション管理部201が、セッション終了を検知する。S308で、ヘッダリスト管理部204が、ヘッダリスト保持部206に保持されている、このセッションに関連するヘッダリストを破棄する。
図4(a)は、S302の詳細フローチャートである。
S401で、セッション管理部201が、S301で開始したセッション以外に、別のセッションが確立されているかを判定する。S401でYesの場合は、S402に進み、S401でNoの場合は、S404に進む。S402で、ヘッダリスト管理部204が、新規に、ヘッダリストを取得する。S402で取得するヘッダリストは、セッションによらず、共通に決められている部分からなるヘッダリストを取得する。例えば、HeaderDiffは、ヘッダリストのindex番号が0から37までは予め決められている。これは、セッションによらず、よく使用される部分が予め決めておくことで、ヘッダリストを作る手間を軽減している。HeaderDiffの場合は、S402で、ヘッダリストのindex番号が0から37は共通部分であるヘッダリストを取得する。ヘッダリストは、予め装置内(例えば、ヘッダリスト保持部206)に保持しておいてもよいし、別の装置から取得してもよい。尚、セッションによらず、予め決められている、共通に用いるヘッダリストがないプロトコルを用いる場合は、S402において、ヘッダリストを取得する必要はない。また、S402で新規に取得されたヘッダリストは、共通のヘッダリストであると設定する。図8(a)は、S402が取得したヘッダリストの例である。
S403で、テーブル管理部205が、テーブル保持部207に保持されているテーブルを更新する。テーブルに、セッション名とヘッダリスト名とヘッダリストの使用番号を記録する。図9(a)は、テーブルの例である。図9(a)は、第1セッションは、共通のヘッダリストを使用し、ヘッダリストのindex番号が37まで使用されていることを示す。
S404で、ヘッダリスト管理部204が、ヘッダリスト保持部206から、別のセッションで生成済みの共通ヘッダリストを取得する。図8(b)は、S404が取得したヘッダリストの例である。生成済みの共通ヘッダリストには、別のセッションで、ヘッダリストのindex番号が38に、header nameに、「:path」、header valueに、「/example/index.html」が追加されているリストである。
S405で、テーブル管理部205が、テーブル保持部207に保持されているテーブルを更新する。テーブルには、セッション名とヘッダリスト名とヘッダリストの使用番号を記録する。図9(b)は、テーブルの例である。予め、第2セッションと第3セッションの情報が記録されている場合、S405で、テーブルに、第1セッションを特定する情報、共通のヘッダリストを使用していることを示す情報、ヘッダリストのindex番号が37まで使用されていること示す情報を追加する。
図5は、S306の詳細フローチャートである。
S500で、データ送受信部202が、受信したデータのヘッダを用いて、ヘッダリストに追加すべきデータがあるかどうかを判定する。受信したデータのヘッダに、header nameとheader valueがある場合は、追加すべきデータがあると判定する。受信したデータのヘッダに、index番号だけの場合は、追加すべきデータがないと判定してもよい。S500でYesの場合は、S501に進み、S500でNoの場合は、処理を終了する。
S501で、データ送受信部202が、受信したデータのヘッダから、追加すべきデータを取得する。具体的には、ヘッダから、header nameとheader valueを取得する。S502で、テーブル管理部205が、テーブルを参照して、このセッションで使用しているヘッダリストが、共通のヘッダリストかどうかを判定する。S502でYesの場合は、S505に進み、S502でNoの場合は、S503に進む。
S503で、ヘッダリスト管理部204が、セッション用のヘッダリストに、S501で取得した追加すべきデータを追加する。具体的には、index番号、header nameとheader valueを、ヘッダリストに追加する。ヘッダリストで、index番号37まで既に使用されていたら、index番号38に、header nameとheader valueを追加する。S504で、テーブル管理部205が、テーブル保持部207に保持されているテーブルを更新する。対応するセッション名の、使用しているヘッダリストのindex番号を書き換える。具体的には、S503において、index番号が38にヘッダリストを追加した場合は、テーブルにおける使用しているヘッダリストのindex番号を38に書き換える。
S505で、テーブル管理部205が、共通のヘッダリストにおける最後のindex番号と、テーブルに記録されているindex番号が同じかどうかを判定する。具体的には、ヘッダリストで、index番号37まで既に使用されていたら、37と、テーブルに記録されているindex番号が同じかどうかを判定する。S505でYesの場合は、S506に進み、S505でNoの場合は、S508へ進む。
S506で、ヘッダリスト管理部204が、共通のヘッダリストに、S501で取得した追加すべきデータを追加する。具体的には、index番号、ヘッダにあるheader nameとheader valueを、ヘッダリストに追加する。ヘッダリストで、index番号37まで既に使用されていたら、index番号38に、header nameとheader valueを追加する。
S507で、テーブル管理部205が、対応するセッション名の、使用しているヘッダリストのindex番号を書き換える。具体的には、S506において、index番号が38にヘッダリストを追加した場合は、テーブルにおける使用しているヘッダリストのindex番号を38に書き換える。
S508で、テーブル管理部205が、テーブルにおける使用しているヘッダリストのindex番号の次のindex番号に対応する、共通のヘッダリストのindex番号に、S501で取得した追加すべきデータが入っているかを判定する。例えば、テーブルにおける使用しているヘッダリストのindex番号が37の場合を説明する。この場合、ヘッダリストのindex番号38のheader nameとheader valueのペアが、追加すべきデータであるheader nameとheader valueのペアと同じであるかを判定する。header nameとheader valueのペアと同じである必要があるので、header nameだけが同じ、あるいは、header valueだけが同じである場合は、S508の判定は、Noと判定される。S508でYesの場合は、S511に進み、S508でNoの場合は、S509へ進む。
S509で、ヘッダリスト管理部204が、セッション用のヘッダリストを生成する。セッション用のヘッダリストの生成は、共通のヘッダリストのうち、テーブルに記載されているindex番号までのデータをコピーし、さらに、S501で取得した追加すべきデータを追加する。図8(c)は、S509が生成したヘッダリストの例である。使用していたヘッダリストが図8(b)のヘッダリストで、index番号38に、追加すべきデータが、header name「user−agent」、header value「user−agent」である場合、図8(c)のヘッダリストを生成する。図8(b)のヘッダリストのうち、index番号37までのデータをコピーし、index番号38に、header name「user−agent」、header value「user−agent」を追加する。
S510で、テーブル管理部205が、テーブル保持部207に保持されているテーブルを更新する。対応するセッション名の、使用しているヘッダリスト名を、セッション用のヘッダテーブルを示す情報に変更し、使用しているヘッダリストのindex番号を変更する。図9(c)は、テーブルの例である。更新前のテーブルが、図9(b)の場合で、S509で、第1セッション用のヘッダリストを生成した場合、図9(c)のように、使用しているヘッダリストを、第1セッション用のヘッダリストを示す情報に変更する。
S511で、テーブル管理部205が、テーブル保持部207に保持されているテーブルを更新する。対応するセッション名の、使用しているヘッダリストのindex番号を書き換える。
図6は、S308の詳細フローチャートである。S601で、テーブル管理部205が、セッション用のヘッダリストを使用しているかを判定する。S601で、Yesの場合は、S602へ進み、S601でNoの場合は、S604へ進む。S602で、ヘッダリスト管理部204が、セッション用のヘッダリストを破棄する。S603で、テーブル管理部205が、テーブル保持部207に保持されているテーブルを更新する。テーブルに、セッションを終了したセッション名と、セッション用のヘッダリストを用いていることを示す情報、ヘッダリストの使用番号を削除する。S604で、セッション管理部201が、別のセッションがあるかどうかを判定する。S604で、Yesの場合は、処理を終了し、S604でNoの場合は、S605へ進む。S605で、共通のヘッダリストを破棄する。S606で、テーブル管理部205が、テーブル保持部207に保持されているテーブルを更新する。テーブルに、セッションを終了したセッション名と、共通のヘッダリストを用いていることを示す情報、ヘッダリストの使用番号を削除する。
図7は、通信装置100のデータ送信時のフローチャートである。S701、S702、S703以外は、図3で説明したステップと同じであるので、説明は省略する。S701で、ヘッダ復号・符号化部203が、S302で取得したヘッダリストを用いて、ヘッダ符号化を行う。S702で、データ送受信部202が、S701で符号化したヘッダを含めて、送信するデータを生成する。S703で、データ送受信部202が、S702で生成したデータを、通信相手(サーバ)に送る。
図10(b)は、本実施形態を適用した場合の概念図である。セッション1とセッション2では、共通のヘッダリストを用いており、セッション3では、セッション3用のヘッダリストを用いている。図10(a)は、本実施形態を適用する前の概念図である。セッション1、セッション2、セッション3いずれも、セッション毎のヘッダリストを用いている。
<変形例>
変形例では、ヘッダリストが同じになる可能性のあるセッションについては、最初は、共通のヘッダリストを用いるが、ヘッダリストが同じにならない可能性のあるセッションについては、最初から、セッション用のヘッダリストを使う例である。
図4(b)は、S302の詳細フローチャートである。S401〜S405は、図4(a)と同じであるので、説明は省略する。
S401でYesの場合は、S406に進み、S406では、セッション管理部201が、通信相手が同じセッションがあるかを判定する。具体的には、テーブル保持部207に保持しているテーブルを参照し、通信相手が同じであるセッションがあるか判定する。通信相手が同じセッションがある場合は、同じヘッダをやりとりする可能性が高いので、ヘッダリストが同じになる可能性が高い。S406でYesの場合は、S409に進み、S406でNoの場合は、S407に進む。
S407では、ヘッダリスト管理部204が、ヘッダリストを取得する。S407が取得するヘッダリストは、S402で取得するヘッダリストと同じであるが、取得したヘッダリストをセッション用のヘッダリストとして設定する。
S408では、テーブル管理部205が、テーブル保持部207に保持されているテーブルを更新する。テーブルには、セッション名と、通信相手、セッション用のヘッダリストを使用していること、ヘッダリストの使用番号を記録する。S409で、ヘッダリスト管理部204が、通信相手が同じセッションで用いられている生成済みの共通ヘッダリストを取得する。具体的には、通信相手が、サーバAの場合は、サーバAの共通ヘッダリストを取得する。
S410で、テーブル管理部205が、テーブル保持部207に保持されているテーブルを更新する。セッション名と、通信相手、共通のヘッダリストを使用していること、ヘッダリストの使用番号を記録する。図9(d)は、テーブルの例である。図9(a)〜(c)などのテーブルと異なるのは、通信相手が記録されている点と、通信相手毎に共通のヘッダリストを用いる点である。
上記変形例のS406では、通信相手が同じかどうかで判定を行ったが、通信相手が同じかどうかでなく、ドメインが同じかで判定を行ってもよい。ドメインが同じ場合も、同じヘッダをやりとりする可能性が高いので、ヘッダリストが同じになる可能性が高い。
また、過去にセッション用のヘッダリストを作成したかの履歴と残しておき、S406の代わりに、通信相手が同じであるか、かつ、履歴を用いて、過去にセッション用のヘッダリストを作成しなかったかを判定してもよい。履歴を用いることで、通信相手が同じであっても、ヘッダリストが同じになる可能性が高い場合にのみ、共通ヘッダリストを用いることができる。
変形例によれば、ヘッダリストが同じになる可能性が高くない場合は、予めセッション用のヘッダリストを作成することで、後から、セッション用のヘッダリストを作成する必要がなくなる。また、図5におけるS505やS508の判定も不要になるので、処理負荷を軽減できる。
本実施形態では、通信装置100がクライアント端末である例を説明したが、クライアント端末の代わりに、同様の処理をサーバで行ってもよい。サーバで行った場合は、サーバのメモリ使用が削減可能となる。
本実施形態では、HeaderDiff仕様をもとに実施する例を示したが、他の仕様、例えば、Delta2などを用いてもよい。特に、クライアントとサーバ間で、差分方式を用いてデータのやりとりを行い、かつ、ヘッダリストを用いて、ヘッダ圧縮を行うプロトコルであれは適用可能である。
以上の実施形態によれば、ヘッダリストが共通できる場合においては、共通のヘッダリストも用いることで、メモリ使用量を低減することが可能である。
以上の実施形態によれば、クライアントとサーバ間の通信において、HTTP2.0プロトコルで複数セッション同時にヘッダ情報をやりとりする場合、通信装置のメモリ使用量を低減することが可能である。
<その他の変形例>
以上本発明にかかる実施形態を説明したが、先に説明したように、通信装置は、通常のパーソナルコンピュータ等の汎用情報処理装置であって、それ上で動作するコンピュータプログラムで実現できるものである。よって、本発明はコンピュータプログラムをその範疇とすることは明らかである。また、通常、コンピュータプログラムは、CDROM等のコンピュータ読み取り可能な記憶媒体に格納されており、それをコンピュータの対応するドライブにセットしてシステムにコピーやインストール処理することで実行可能となる。よって、本発明は当然にそのようなコンピュータ可読記憶媒体をもその範疇とすることも明らかである。

Claims (11)

  1. 他の通信装置との間で通信のためのセッションを確立する確立手段と、
    前記確立手段により新たに確立されたセッションに基づいて受信される圧縮済みヘッダの伸張処理のために用いられるヘッダリストを、複数のセッションで共通して用いられるヘッダリストとするか否かを決定する決定手段と、
    前記確立手段により前記新たに確立されたセッションに基づいて受信される圧縮済みヘッダの伸張処理を、前記決定手段による決定に応じて、前記複数のセッションで共通して用いられるヘッダリストを用いて行う伸張手段とを有することを特徴とする通信装置。
  2. 他のセッションが確立済みであるかを前記確立手段による新たなセッションの確立に応じて判定する判定手段を有し、
    前記決定手段は、前記他のセッションが確立済みであると前記判定手段により判定された場合、前記新たなセッションと前記他のセッションとでヘッダリストを共通して用いて伸張処理を行うことを決定することを特徴とする請求項1に記載の通信装置。
  3. 前記決定手段は、前記他のセッションが確立済みでないと前記判定手段により判定された場合、前記新たなセッションのための新規のヘッダリストを用いて伸張処理を行うことを決定することを特徴とする請求項2に記載の通信装置。
  4. 前記確立手段により確立されたセッションに基づいて他の通信装置へ送信されるべきヘッダを、前記ヘッダリストを用いて圧縮する圧縮手段を有することを特徴とする請求項1乃至3のうち、何れか1項に記載の通信装置。
  5. 前記ヘッダリストは、前記確立手段により確立された1又は複数のセッションに基づく通信済みのヘッダのデータと、インデックスとを対応付けた情報であることを特徴とする請求項1乃至4のうち、何れか1項に記載の通信装置。
  6. 前記確立手段により確立されたセッションに基づいて受信したデータに基づいて、前記ヘッダリストにデータを追加すべきか判定する追加判定手段と、
    前記追加判定手段による判定結果に従って前記ヘッダリストにデータを追加する追加手段とを有することを特徴とする請求項1乃至5のうち、何れか1項に記載の通信装置。
  7. 前記追加判定手段は、前記確立手段により確立されたセッションに基づいて受信したデータのヘッダにヘッダ名が含まれている場合、前記当該ヘッダに関するデータを前記ヘッダリストに追加すべきと判定することを特徴とする請求項6に記載の通信装置。
  8. 前記追加判定手段は、前記確立手段により確立されたセッションに基づいて受信したデータのヘッダが前記ヘッダリストに登録されていない場合、当該ヘッダに関するデータを追加すべきと判定することを特徴とする請求項6又は7に記載の通信装置。
  9. 前記確立手段により確立されたセッションが終了された場合、前記ヘッダリストを破棄する破棄手段を有することを特徴とする請求項1乃至8のうち、何れか1項に記載の通信装置。
  10. 他の通信装置との間で通信のためのセッションを確立する確立工程と、
    前記確立工程により新たに確立されたセッションに基づいて受信される圧縮済みヘッダの伸張処理のために用いられるヘッダリストを、複数のセッションで共通して用いられるヘッダリストとするか否かを決定する決定工程と、
    前記確立工程により前記新たに確立されたセッションに基づいて受信される圧縮済みヘッダの伸張処理を、前記決定工程による決定に応じて、前記複数のセッションで共通して用いられるヘッダリストを用いて行う伸張工程と、
    を有することを特徴とする通信装置の制御方法。
  11. コンピュータを請求項1乃至のうち、何れか1項に記載の通信装置の各手段として動作させるためのプログラム。
JP2013244121A 2013-11-26 2013-11-26 通信装置およびその制御方法 Active JP6300497B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013244121A JP6300497B2 (ja) 2013-11-26 2013-11-26 通信装置およびその制御方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013244121A JP6300497B2 (ja) 2013-11-26 2013-11-26 通信装置およびその制御方法

Publications (3)

Publication Number Publication Date
JP2015103085A JP2015103085A (ja) 2015-06-04
JP2015103085A5 JP2015103085A5 (ja) 2017-01-12
JP6300497B2 true JP6300497B2 (ja) 2018-03-28

Family

ID=53378725

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013244121A Active JP6300497B2 (ja) 2013-11-26 2013-11-26 通信装置およびその制御方法

Country Status (1)

Country Link
JP (1) JP6300497B2 (ja)

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013079999A1 (en) * 2011-12-02 2013-06-06 Canon Kabushiki Kaisha Methods and devices for encoding and decoding messages

Also Published As

Publication number Publication date
JP2015103085A (ja) 2015-06-04

Similar Documents

Publication Publication Date Title
Grigorik Making the web faster with HTTP 2.0
US20150032804A1 (en) Method and server device for exchanging information items with a plurality of client entities
JP5792850B2 (ja) ネットワーク上でのファイルフォルダ送信
US8589484B2 (en) Method for optimizing a web content proxy server and devices thereof
US9338258B2 (en) Methods and network devices for communicating data packets
JP2009518755A (ja) 無線装置と通信するためにデータを圧縮/解凍するための方法及び装置
US20130227004A1 (en) Methods for optimizing a web content proxy server and devices thereof
JP5753946B2 (ja) フォントファイルをダウンロードする方法およびシステム
US9807205B2 (en) Header compression for CCN messages using dictionary
JP6112874B2 (ja) 通信装置、通信装置の制御方法、および、プログラム
CN112153042A (zh) Web端音频在线播放防止下载的方法、系统、设备及介质
EP2787454A1 (en) Methods for optimizing a web content proxy server and devices thereof
TWI673983B (zh) 一種資料壓縮傳輸方法和系統、及其終端和伺服器
KR20170052475A (ko) 사전을 사용한 ccn 메시지들에 대한 비트 정렬 헤더 압축
JP6300497B2 (ja) 通信装置およびその制御方法
JP2016038750A (ja) 情報処理装置およびその方法、並びに、情報処理システム
KR20170051283A (ko) 사전 학습을 사용한 ccn 메시지들에 대한 헤더 압축
Yoshino Compression extensions for websocket
JP2017033221A (ja) Apiリクエスト処理装置、apiリクエスト処理方法およびapiリクエスト処理プログラム
JP2008211515A (ja) 携帯を利用した自動ログインシステム
JP2015135630A (ja) Usbデバイスサーバ
WO2016132538A1 (ja) 通信システム、通信装置、情報処理方法、及び、情報処理プログラム
JP2011023878A (ja) ネットワーク接続方法、ネットワークゲートウェイ
JP4739369B2 (ja) ウェブコンテンツ変換編集システム
JP2017134539A (ja) 中継装置、ルータ、配信システム、中継方法及び中継プログラム

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161125

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20161125

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20171114

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180112

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20180130

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180227

R151 Written notification of patent or utility model registration

Ref document number: 6300497

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151