JP2014052868A - 情報処理装置、プログラム及び制御方法 - Google Patents
情報処理装置、プログラム及び制御方法 Download PDFInfo
- Publication number
- JP2014052868A JP2014052868A JP2012197269A JP2012197269A JP2014052868A JP 2014052868 A JP2014052868 A JP 2014052868A JP 2012197269 A JP2012197269 A JP 2012197269A JP 2012197269 A JP2012197269 A JP 2012197269A JP 2014052868 A JP2014052868 A JP 2014052868A
- Authority
- JP
- Japan
- Prior art keywords
- file
- push
- received
- data
- deletion
- 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
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/162—Delete operations
Abstract
【課題】 1つのリクエストで複数のファイルを受信するPush受信方法を想定した場合には、Push受信方法で受信して保存したファイルが、1つのリクエストで1つのファイルを受信するGet受信方法で受信して保存するファイルを圧迫する虞がある。
【解決手段】 条件に従ってPush受信方法で受信して保存したファイルを、Get受信方法で受信して保存したファイルよりも優先して削除する。
【選択図】 図9
【解決手段】 条件に従ってPush受信方法で受信して保存したファイルを、Get受信方法で受信して保存したファイルよりも優先して削除する。
【選択図】 図9
Description
本発明は受信して保存したファイルを削除する技術に関する。
一度取得したファイルを再度利用することに備えてキャッシュして保持しておく技術が存在する。特許文献1は、サーバ側が動的に生成するオブジェクトをクライアントが記憶し、動的なオブジェクトを静的なオブジェクトと区別して扱うことが可能である。
ここで1つのリクエストで1つのファイルを受信するGet受信方法と、1つのリクエストで複数のファイルを受信するPush受信方法でファイルを受信することができる環境を想定したとする。
一方で、特許文献1はPush受信方法については開示がない。よって、前述した環境を想定した場合にはPush受信方法で受信して保存したファイルがGet受信方法で受信して保存するファイルを圧迫する虞がある。
よって、本発明は条件に従ってPush受信方法で受信して保存したファイルを、Get受信方法で受信して保存したファイルよりも優先して削除することにより、キャッシュを有効に管理する技術を提供することを目的とする。
上記の目的を達成するための本発明に係る情報処理装置は、
1つのリクエストで1つのファイルを受信するGet受信方法により受信するファイルを保存するGet保存手段と、
前記Get保存手段が保存したファイルを含む受信ファイルの合計が所定の容量を超えてかつ新たにファイルを受信したと判断した場合に前記Get保存手段が保存したファイルを削除するGet削除手段と、
1つのリクエストで複数のファイルを受信する、前記Get受信方法とは異なる受信方法であるPush受信方法により受信するファイルを保存するPush保存手段と、
前記Push保存手段が保存したファイルを含む受信ファイルの合計が所定の容量を超えてかつ新たにファイルを受信したと判断した場合に前記Push保存手段が保存したファイルを前記Get削除手段の前記Get保存手段が保存したファイルの削除よりも優先して削除するPush削除手段と、を有する。
1つのリクエストで1つのファイルを受信するGet受信方法により受信するファイルを保存するGet保存手段と、
前記Get保存手段が保存したファイルを含む受信ファイルの合計が所定の容量を超えてかつ新たにファイルを受信したと判断した場合に前記Get保存手段が保存したファイルを削除するGet削除手段と、
1つのリクエストで複数のファイルを受信する、前記Get受信方法とは異なる受信方法であるPush受信方法により受信するファイルを保存するPush保存手段と、
前記Push保存手段が保存したファイルを含む受信ファイルの合計が所定の容量を超えてかつ新たにファイルを受信したと判断した場合に前記Push保存手段が保存したファイルを前記Get削除手段の前記Get保存手段が保存したファイルの削除よりも優先して削除するPush削除手段と、を有する。
本発明によれば、条件に従ってPush受信方法で受信して保存したファイルを、Get受信方法で受信して保存したファイルよりも優先して削除することによりキャッシュを有効に管理することができる。
実施形態を説明する前に、説明に用いる用語および、本明細書が対象とする通信プロトコルについて定義する。
ソケットとは、TCPレイヤにおいて、通信を識別、分類するための表記である。多くの場合IPプロトコルを下位レイヤとして用いるのが一般的であり、この場合、IPアドレスとポート番号の組のことである。
TCPコネクションとはTCPレイヤにおけるひとつの通信路を意味する。具体的には受信側ソケットと送信側ソケットの組のことである。
受信ウィンドウサイズとは、受信側の空きバッファの容量のことである。TCPプロトコルもウィンドウサイズを用いた処理を行うが、以降ウィンドウサイズと書く場合、対象とする上位通信プロトコルで用いるウィンドウサイズを意味する。
ストリームとは対象とする上位通信プロトコルにおける論理チャネルのことである。
フレーム301とは、実際にデータを送信する際に、データを細切れにした最小単位のブロックのことである。ただし、ここでのフレーム301は、ISOによって提唱されているOSI7階層モデルで用いるデータリンク層のフレームと関係は無く、対象とする通信プロトコルにおける最小のデータ単位を指す。
ここで、本明細書が対象とする通信プロトコルについて説明する。以降対象プロトコルと記述する。対象プロトコルはTCPプロトコルを利用する。ただし、TCPプロトコルとの透過性を維持する中間プロトコル(TLC、SSL等)が存在しても良い。対象プロトコルはTCPコネクション300上をフレーム301と呼ばれるデータを送受信することで通信を行う(図3)。フレーム301はヘッダにフレームサイズを持つ。
ここで、対象プロトコルのデータ構造図を図4に示す。対象プロトコルは該当するひとつのTCPコネクション300上におけるセッション400として管理する。また、ひとつのセッション400上にはひとつのコントロールフレーム401があり、セッション400に関する通信は、このコントロールフレーム401を用いて行われる。対象プロトコルは、コントロールフレーム401以外に、任意の数のデータストリーム402を保持しても良い。
なお本明細書においては、データストリームとストリームは同義である。
実際の上位アプリケーションおよび上位プロトコルのデータ通信は、このデータストリーム402を用いて行われる。このデータストリーム402はそれぞれ優先順位を設定できる。優先順位の数は説明のために、最も高い0から最も低い7の8段階とするが、実際の運用では、この8段階でなく、任意の優先順位数でも良い。
さらに、データストリームはそれぞれを特定できるストリームIDを持つ。
また、データストリーム402は依存関係を持たせることができる。データストリーム402は親がいれば、その親ストリームのストリームIDを持つことによって依存関係を表現できる。この際、もし依存関係がなく親ストリームを持たない場合は、0またはnull等ブランクを表すデータを持つか、あるいはストリームIDの格納領域そのものを持たないことで表現できる。
この対象プロトコルはサーバ、クライアントの主従関係は無く、対等に通信を行う。この際、本明細書ではクライアントがHTTPプロトコルのGETコマンドを用いて、ファイル取得要求を出すことをGet要求、または単にGetと呼称し、Get要求で得られたファイルをGetファイル又はGetデータと呼称する。Getではクライアントは1つのリクエストで1つのファイルを受信する(Get受信方法)。また、サーバ側がクライアントに対してファイルの転送要求を出すことをPush要求、または単にPushと呼称し、Push要求で得られたファイルをPushファイル又はPushデータと呼称する。Pushではクライアントは1つのリクエストで1つ以上のファイルを受信する(Push受信方法)。このようにGetとPushでは受信方法が異なる。
以上で、対象プロトコルデータ構造の説明を終了する。
以上で、対象プロトコルデータ構造の説明を終了する。
次に、対象プロトコルの簡単な通信手順について説明する。ここでは、通信開始から、何らかのデータ通信を行い、通信が終了するまでの手順を説明する。
まず、TCPコネクションが確立されたとする。この時点でサーバとクライアントは双方向の通信チャネルを保持している。次にコントロールフレーム401を用いてデータストリーム402の作成を行う。サーバ側でもクライアント側からでもデータストリーム402を作成することができる。ここでは、Webのコンテンツ取得を例として挙げる。
Webのコンテンツを取得するためにクライアントはサーバに対してGet要求を行う必要がある。そのため、クライアントはコンテンツストリームを用いてデータストリーム402の作成要求を行う。この際、クライアントは作成したいデータストリームの優先順位と依存関係も設定する。サーバが作成要求を受け入れる場合はコントロールフレーム401を通して受け入れ許可を返信する。この際、サーバ側はデータストリーム402の作成を拒否することもできる。データストリーム402作成後、サーバとクライアントは作成したデータストリーム402を利用してGet要求、またその返信を行うことができる。ここでは、全てのデータがデータストリーム402を介して送受信される。クライアントがサーバから必要データの受信を終えた場合、ストリームを閉じる必要がある。ストリームの終了要求は、クライアント側、サーバ側のいずれからでも行うことができる。ストリームの終了要求を受けた側は、送信するデータが無くなり次第、ストリームの終了要求を出し、ストリームを終了する。この際、意図的に片側が終了要求を出さないことで片方向通信を行うこともできる。
また、サーバ側からデータストリーム402を作成する例としてクライアント側からGet要求に対して、動的にコンテンツをクライアントにPushするために新たなデータストリーム402を作成することが考えられる。ここで、対象プロトコルの通信において、ストリームの数は時間に応じて動的に変動する。
本明細書の情報処理装置の一実施形態としてのコンピュータについて説明する。図2は本実施形態のコンピュータの構成を説明するブロック図である。なお、特に断らない限り、本明細書に記載の機能が実行されるのであれば、単体の機器であっても、複数の機器から成るシステムであっても、本明細書の技術を利用できることは言うまでもない。また、特に断らない限り、本明細書に記載の機能が実行されるのであれば、LAN、WAN、インターネット等のネットワークを介して接続が為され、処理が行われるシステムであっても本明細書に記載の技術を適用できることは言うまでもない。
図2はコンピュータ200の構成を示し、クライアントコンピュータ103の構成及び、サーバコンピュータ102の構成はコンピュータ200の構成と同一である。コンピュータ200はROM202のプログラム用ROMあるいは外部記憶装置205に記憶された文書処理プログラムに基づいて、図形、イメージ文字、表(表計算等を含む)等が混在した処理を実行するCPU201を備える。さらに、システムバス204に接続される各デバイスをCPU201が統括的に制御する。また、これら以外に入出力装置を備えていても良い。
また、このROM202のプログラム用ROMあるいは外部記憶装置205には、CPU201の制御プログラムであるオペレーションシステム等を記憶する。また、ROM202のデータ用ROMあるいは外部記憶装置205には各種データを記憶する。
203はRAMで、CPU201の主メモリ、ワークエリア等として機能し、ネットワークI/F制御部206は、LAN207とのデータの送受信を制御する。
図1において、LAN207は、上述の各装置の間で情報をやり取りするための通信回線である。インターネット101は、ファイアウォールを越えて上述の各装置間で情報をやり取りするための通信回線である。インターネット101により、サーバコンピュータ102とクライアントコンピュータ103が属するLAN207とは、ファイアウォールを越えて通信が可能である。LAN207、インターネット101は、例えば、TCP/IPプロトコルなどをサポートする通信回線網であり有線・無線は問わない。図1において、サーバコンピュータ102は、1台のサーバとして示されているが複数台のサーバコンピュータで構成されていても構わない。また、仮想PCとして構成されていても構わない。
加えて、CPU201が外部記憶装置205に記憶されているプログラムに基づき処理を実行することによって、後述するフローチャートの各ステップの処理が実行される。
なお、以降の説明でコンピュータ200はクライアントコンピュータ103を例として記述するが、プリント機能等を持つデバイス104やモバイル端末105、携帯電話106を始め、通信機能とデータをやり取りする端末であれば基本的に何でも構わない。また、仮想PCとして構成されていても同じであるものとする。ここで、本明細書ではデータの取得要求を行う側をクライアント、データの提供を行う側をサーバと、役割で呼称している。このため、サーバ用途のコンピュータがクライアントとしてデータの取得要求を行い、クライアントコンピュータがサーバとしてデータ提供を行っても良いものとする。
この際、コンピュータ200におけるソフトウェア構成は図5の構成から成る。まず、ネットワークI/F 501はLAN207から外部ネットワークと直接通信を行う部分でありネットワークI/F制御部206のソフトウェア処理部を示す。通信を行う際のデータの送受信キューはTCPレイヤが管理しており、データの送受信キューにデータパケットが積まれた段階で、TCP管理処理部502が必要に応じて通信を行う。SSL/TLS管理処理部503はSSL、TLSレイヤを管理する処理部である。本対象プロトコルにおいて、SSL、TLSを利用することは必須ではないが、現実的にはセキュリティやファイアウォールの問題からSSL、TLSを利用する場合が多いため記述した。
SSL/TLS管理処理部503は、規格(RFC2246、RFC4346)に準拠した実施になっていれば、どのような実施方法でも構わない。また、この処理部がSSL、TLS以外の中間プロトコルであっても構わない。データ送受信部制御部504はデータ送受信の際の待ち合わせや同期、通信ストリームの開始や終了処理を行う。キャッシュ管理部505は受信したデータのキャッシュテーブルへの登録や更新、削除、問い合わせ処理を行う。ここで取り扱うデータは物理ファイルのデータでも構わないし、機器のアドレス・状態・設定や属性等の一時的に用いるデータでも構わないものとする。キャッシュ格納部506はキャッシュ管理部505で扱うデータを実際に格納しておく領域であり、プログラム等の処理部ではない。本実施例では、外部記憶装置205を例として挙げるが、CPU201のプロセッサ内のレジスタやRAM203、あるいはネットワークI/F制御部で用いるARPキャッシュも対象として含まれる。
図6はデータの送受信の制御を行うクライアント側の処理のフローである。S601ではサーバ側にデータのリクエスト、すなわちGet要求を出す。ここでは、コントロールフレーム401を用いてストリームの生成を行う。この際の、コントロールフレームにはデータの識別名やデータ長を始めとする通信に必要な情報の他に、ストリームのIDと関連するストリームのIDやストリームの優先度情報が含まれる。Get要求を出した後、実際にデータを受信するまで待ち合わせを行う(S602)。データの受信ステップS603では、データの受信と、受信データ(受信ファイル)を解析、キャッシュ領域にデータの格納を行う。ステップS604ではストリームが終了条件を満たしているかどうかの判定を行う。本明細書で対象プロトコルにおいてはサーバとクライアントが共にストリームの終了要求を行えば対象ストリームが終了するものとする。しかし、この他にもストリームの受付拒否やプロトコル違反等でのエラーでも通信を終了する。この場合についてもストリームが終了したものとみなす。
図7はデータの受信部分のクライアント側の処理を表すフローである。ここで、図8をデータ格納の際のキャッシュテーブルの一例として用いる。まず、ステップS701では受信データのヘッダ部分の解析を行う。ここでは、データの送受信に必要な情報はもちろんであるが、受信データをキャッシュ領域に格納するためのストリームのIDや関連するストリームのID、ストリームの優先度情報の抽出がこれに相当する。ステップS702ではサーバからの転送データがどうかの判別を行う。すなわち、受け取ったデータがPushされてきたものかどうかの判定を行う。本明細書では受け取ったデータを今までGetしていないデータであるか判定し、受け取ったデータがGetしていないデータである場合にPushされたデータであると判定する。受け取ったデータが今までGetしていないデータであるか判定は、Getしたデータの一覧を保持しておくことにより実現できる。判定の結果、サーバからの転送データとされた場合はステップS703でPushされてきたデータであることを示すフラグを設定し、RAM203に格納する。ユーザが要求を出して取得したデータであるとされた場合はステップS704でGetしたデータであることを示すフラグを設定し、RAM203に格納する。こうしたフラグの設定はプッシュされてきたデータかどうかを示すPushフラグ情報803としてキャッシュテーブルに登録することで実現される。ここでは、Getしたデータは0、Pushされてきたデータは1として登録している。ステップS705ではストリームの優先順位情報804を登録する。ここでの優先順位とは通信の際にストリームに設定されている値を指すが、クライアントアプリケーション側であらかじめ優先順位の段階が指定されている場合、例えば低・中・高の3段階が指定されている場合は、その値に丸めて登録を行っても良い。ステップS706ではストリームのグループ情報、つまり該当するストリームと該当するストリームに関連するストリームの情報の登録を行う。関連するストリームID806の情報はサーバがクライアントに送信する情報である。よって、クライアントは取得した関連するストリームID806を図8のキャッシュテーブルにそのまま登録する。ステップS707では、キャッシュテーブルに受信したデータが登録済みかどうかの判定を行う。登録されていない新規データであった場合はステップS708に移行し、キャッシュテーブルに受信データ情報の行を追加する。登録済みのデータであった場合はステップS709に移行し差分データの更新を行う。この際、データとしての変更が無くともPushフラグ情報がPushからGetに移行する場合に関してはPushフラグ情報をGetしてきたもの(0)として更新を行う。
ステップS710ではPush又はGetにより受信したデータの保存(Push保存又はGet保存)を行う。この際、PushとGetは別のディレクトリに保存しても構わないし、あるいはPushとGetを保存するステップをそれぞれ1つずつ設けることで実現しても構わない。ステップS710の処理が終了することにより図7の処理が終了する。
図9はキャッシュテーブル内に登録されたデータの削除を行う処理のフローである。この処理はキャッシュ容量がユーザ、ないしアプリケーションで設定されている既定の容量を超えた場合に呼び出される。例えばデータの受信の際のデータ解析S701を行った直後に呼び出される。キャッシュの削除処理が呼び出されると、まずステップS901でキャッシュへの追加対象データ、つまり受信したデータの情報解析を行う。ここで行うのはステップS702のGetデータかPushデータかの判別と同じ処理である。既に判定できている場合は、既存の判定結果を用いても良い。
ステップS902はキャッシュを削除する必要があるかどうかの判定を行う。
キャッシュを削除する必要があるかどうかの判定は例えば、キャッシュの空き領域が受信中のファイルサイズ以下であった場合、物理的にキャッシュにファイルを格納することができないため、キャッシュを削除する必要がある判定となる。これは追加対象データ(新たに受信したデータ)とキャッシュの合計容量が所定の容量を超えたかどうかを判断するのと同じである。この時に合計容量はGetデータとPushデータの合計であっても良い。
あるいは合計容量をGetデータとPushデータで別々に計算しても良い。このように構成した際は、追加対象データがGetである場合にはGetの合計容量が所定の容量を超えたかどうか判断し、追加対象データがPushである場合にはPushの合計容量が所定の容量を超えたかどうか判断してもよい。GetデータとPushデータで別々に計算するように構成することでGetデータとPushデータをバランス良く削除することが出来る。
その他にもユーザないしシステムが予め指定した空き容量になるまでキャッシュを削除する判定としても良い。
ステップS903は、ステップS901での結果に基づき、受信したデータがGetで得たものかPushで得たものかを判断する。受信データがPushされてきた場合はステップS904に移行し、キャッシュテーブル内のPushフラグが有効な(値が1となっている)ものの中で最も削除優先順位が高いものを削除する。図8を例とし、まず通常のキャッシュ削除に関して説明する。単に有効期限情報801のみに基づきデータを削除する判断を行うと、有効期限812が最も古く設定されているため、通常の削除対象はキャッシュデータ810となる。それに対し、ステップS904の処理で削除対象となるのは、Pushフラグ情報803が有効な(値が1となっている)中で最も有効期限812が古く設定されているキャッシュデータ808となる。受信データがGetして得たものだった場合はステップS905に移行し、Pushフラグ情報803が無効な(値が0となっている)中で削除優先順位が最も古いデータを削除する。図8の例ではキャッシュデータ810が削除対象となる。
なお、S905は設けないように構成しても構わない。このように構成した場合はGetデータをPushデータとは異なる条件(例えばGetデータを取得後の経過時間)で削除する方法が考えられる。S905を設けないことでPushデータのみを優先的に削除する構成にすることが可能となる。
さらにはS903とS904とS905の各ステップをS904のステップに置き換える構成としてもよい。このように構成した場合は特に追加対象データがGetデータであるかPushデータであるかの判定は行われない。その代わりにS902でキャッシュを削除する必要があると判断された場合にはS904でPushデータのキャッシュを削除する。これにより前述の構成と同じくPushデータのみを優先的に削除する構成にすることが可能となる。
以上の処理を行うことで、キャッシュ領域中のGetデータとPushデータを互いに干渉しないよう別々に管理することができる。なお、図8の例では削除優先順位の決定に有効期限情報801を用いて説明を行ったが、実際にはデータのサイズ、参照回数、最後に参照されてからの期間、データの取得日時等のパラメータを基に削除優先順位を決めても良い。また、それら各パラメータに重みを付け、組み合わせて削除優先順位を決めても良いものとする。
実施例1におけるキャッシュ管理方法では、キャッシュ領域内のデータから最も使用する可能性の低いものを選定し、削除を行っていた。しかし対象プロトコルの通信方法におけるPushデータは本来ユーザが取得要求を出したものではなく、関連したデータのやり取りが無くなった場合、即不要となる可能性が高い。本実施例では、例えば図4のセッション400が終了(例えばGetデータの取得のキャンセルを含む)した場合、終了したセッション内のストリーム1からストリームnにおいて取得したデータを一括して削除する方法について記載する。
図10は他のキャッシュと関連付いたキャッシュデータを削除する処理を示したフローである。この時の関連付けとは通信時にストリーム同士につけられた関連を指す。また、図8を例として説明を行う。
このフローで表された処理は、通信セッションが終了してユーザが取得要求を出したデータが不要になった際に呼び出される。ユーザが取得要求を出したデータが、例えばキャッシュデータ810であった場合、キャッシュデータ810をキャッシュデータAとして図10のフローを呼び出す。
ステップS1001では、指定されたキャッシュデータAに関連するキャッシュデータが存在するかどうかを判定する。図8では例えば、キャッシュデータ810のストリームID814が関連するストリームID816として登録されているキャッシュデータ811が存在するためステップS1002の処理に移行する。ステップS1002では未処理の関連キャッシュデータを取得する。図8の例では、キャッシュデータ811が取得される。
取得したキャッシュデータに対し、ステップS1003では再帰的に図10のフローを呼び出し、処理をさせている。こうすることでキャッシュデータ811が、さらに関連キャッシュを持つ多階層構造であったとしても再帰的に処理を呼び出し、キャッシュを削除することが可能となる。図8の例では、キャッシュデータ811と、それに関連したキャッシュデータがこの処理で削除される。ステップS1001で未処理のキャッシュデータが存在しなくなった段階でステップS1004に移行する図10のフローに渡されたキャッシュデータが削除される。図8の例では、キャッシュデータ810が削除される。
なお、S1003ではPushデータのみを削除するか、Getデータのみを削除するか、あるいは両方を削除するかのどのように構成しても構わない。
以上の処理を行うことで、関連したデータのやり取りが無くなった場合に関連するストリームのキャッシュデータを削除することができる。
対象プロトコルでは通信の際、ストリームに優先度を設定することが可能である。よって、本実施例ではストリームの優先度を、キャッシュデータを保存する優先順位とみなして処理を行う例について説明する。図11に削除優先順位の計算にストリームの優先度情報を利用したフローを示す。
なお、図11のフローに基づいて処理をせずとも図9のS904とS905の削除優先順位をストリームの優先順位を用いて決定しても構わない。
図8ではキャッシュデータの有効期限情報801が最も古い有効期限812を持つキャッシュデータ810が削除対象として選択されることを説明した。ここで本実施例では、さらに優先順位情報804を用いて判断を行い、最も低い優先度813を持つキャッシュデータ809が削除対象として選択される。
ステップS1101ではキャッシュを削除する必要があるかどうかの判定を行う。この判定は図9のステップS902の処理と同様であるため詳細は省略する。ステップS1102ではキャッシュテーブルの先頭データを削除対象として選択する。図8の例ではキャッシュデータ807が、まず削除対象として選択される。ステップS1103ではキャッシュテーブル内に未参照のデータが存在しているかどうかを判定し、全データが参照されるまでステップS1104からS1107までの処理を繰り返す。ここで未参照のデータS1104でまだ取得されていないデータを意味する。
ステップS1104ではキャッシュテーブルから現在参照中のデータの次のデータを取得する。図8の例では現在、キャッシュデータ807が参照されているためキャッシュデータ808が取得される。ステップS1105では取得データの優先順位情報804と現在削除対象のデータの優先度を比較している。図8の例では、取得したキャッシュデータ808の優先度は3であり、現在削除対象として選択されているキャッシュデータ807の優先度0よりも低い。このため、ステップS1107では選択されたキャッシュデータ808を新たな削除対象データとして設定する。また、取得したデータの優先度と削除対象データとして選択されているデータの優先度が同じ場合は、さらにステップS1106の判定で、削除優先順位がより高いものが削除対象として選択される。これらの処理を繰り返し、最終的に最も優先度が低く、削除優先順位の高いデータがステップS1108の処理で削除される。
これによりキャッシュデータを保存する優先順位としてストリームの優先度を用いた通信を行った際に適切な処理を行うことができる。
(その他の実施例)
また、本発明は、以下の処理を実行することによっても実現される。
また、本発明は、以下の処理を実行することによっても実現される。
即ち、上述した実施形態の機能を実現するソフトウェア(プログラム)を、ネットワーク又は各種記憶媒体を介してシステム或いは装置に供給し、そのシステム或いは装置のコンピュータ(またはCPUやMPU等)がプログラムを読み出して実行する処理である。
Claims (12)
- 1つのリクエストで1つのファイルを受信するGet受信方法により受信するファイルを保存するGet保存手段と、
前記Get保存手段が保存したファイルを含む受信ファイルの合計が所定の容量を超えてかつ新たにファイルを受信したと判断した場合に前記Get保存手段が保存したファイルを削除するGet削除手段と、
1つのリクエストで複数のファイルを受信する、前記Get受信方法とは異なる受信方法であるPush受信方法により受信するファイルを保存するPush保存手段と、
前記Push保存手段が保存したファイルを含む受信ファイルの合計が所定の容量を超えてかつ新たにファイルを受信したと判断した場合に前記Push保存手段が保存したファイルを前記Get削除手段の前記Get保存手段が保存したファイルの削除よりも優先して削除するPush削除手段と、を有することを特徴とする情報処理装置。 - 前記Push削除手段及び前記Get削除手段は、受信するファイルの、有効期限情報又はファイルのサイズ、参照回数、最後に参照されてからの期間、取得日時、ストリームの優先順位の少なくとも1つに基づいて前記Push保存手段又は前記Get保存手段が保存したファイルを削除することを特徴とする請求項1に記載の情報処理装置。
- 前記Push削除手段及び前記Get削除手段の受信ファイルの合計は前記Push受信方法により受信するファイルと前記Get受信方法により受信するファイルの合計であることを特徴とする請求項1又は請求項2に記載の情報処理装置。
- 前記Push削除手段は、前記Get受信方法によるファイルの取得をキャンセルした場合に前記キャンセルしたファイルのセッション内で前記Push受信方法により受信したファイルを削除することを特徴とする請求項1乃至3のいずれか1項に記載の情報処理装置。
- コンピュータを、
1つのリクエストで1つのファイルを受信するGet受信方法により受信するファイルを保存するGet保存手段、
前記Get保存手段が保存したファイルを含む受信ファイルの合計が所定の容量を超えてかつ新たにファイルを受信したと判断した場合に前記Get保存手段が保存したファイルを削除するGet削除手段、
1つのリクエストで複数のファイルを受信する、前記Get受信方法とは異なる受信方法であるPush受信方法により受信するファイルを保存するPush保存手段、
前記Push保存手段が保存したファイルを含む受信ファイルの合計が所定の容量を超えてかつ新たにファイルを受信したと判断した場合に前記Push保存手段が保存したファイルを前記Get削除手段の前記Get保存手段が保存したファイルの削除よりも優先して削除するPush削除手段、として機能させることを特徴とするプログラム。 - 前記Push削除手段及び前記Get削除手段は、受信するファイルの、有効期限情報又はファイルのサイズ、参照回数、最後に参照されてからの期間、取得日時、ストリームの優先順位の少なくとも1つに基づいて前記Push保存手段又は前記Get保存手段が保存したファイルを削除することを特徴とする請求項5に記載のプログラム。
- 前記Push削除手段及び前記Get削除手段の受信ファイルの合計は前記Push受信方法により受信するファイルと前記Get受信方法により受信するファイルの合計であることを特徴とする請求項5又は請求項6に記載のプログラム。
- 前記Push削除手段は、前記Get受信方法によるファイルの取得をキャンセルした場合に前記キャンセルしたファイルのセッション内で前記Push受信方法により受信したファイルを削除することを特徴とする請求項5乃至7のいずれか1項に記載のプログラム。
- 1つのリクエストで1つのファイルを受信するGet受信方法により受信するファイルを保存するGet保存工程と、
前記Get保存工程が保存したファイルを含む受信ファイルの合計が所定の容量を超えてかつ新たにファイルを受信したと判断した場合に前記Get保存工程が保存したファイルを削除するGet削除工程と、
1つのリクエストで複数のファイルを受信する、前記Get受信方法とは異なる受信方法であるPush受信方法により受信するファイルを保存するPush保存工程と、
前記Push保存工程が保存したファイルを含む受信ファイルの合計が所定の容量を超えてかつ新たにファイルを受信したと判断した場合に前記Push保存工程が保存したファイルを前記Get削除工程の前記Get保存工程が保存したファイルの削除よりも優先して削除するPush削除工程と、を有することを特徴とする制御方法。 - 前記Push削除工程及び前記Get削除工程は、受信するファイルの、有効期限情報又はファイルのサイズ、参照回数、最後に参照されてからの期間、取得日時、ストリームの優先順位の少なくとも1つに基づいて前記Push保存工程又は前記Get保存工程が保存したファイルを削除することを特徴とする請求項9に記載の制御方法。
- 前記Push削除工程及び前記Get削除工程の受信ファイルの合計は前記Push受信方法により受信するファイルと前記Get受信方法により受信するファイルの合計であることを特徴とする請求項9又は請求項10に記載の制御方法。
- 前記Push削除工程は、前記Get受信方法によるファイルの取得をキャンセルした場合に前記キャンセルしたファイルのセッション内で前記Push受信方法により受信したファイルを削除することを特徴とする請求項9乃至11のいずれか1項に記載の制御方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012197269A JP2014052868A (ja) | 2012-09-07 | 2012-09-07 | 情報処理装置、プログラム及び制御方法 |
US14/019,189 US9218351B2 (en) | 2012-09-07 | 2013-09-05 | Information processing apparatus, storage medium, and control method |
CN201310403356.5A CN103685449B (zh) | 2012-09-07 | 2013-09-06 | 信息处理装置及控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012197269A JP2014052868A (ja) | 2012-09-07 | 2012-09-07 | 情報処理装置、プログラム及び制御方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014052868A true JP2014052868A (ja) | 2014-03-20 |
Family
ID=50234464
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012197269A Pending JP2014052868A (ja) | 2012-09-07 | 2012-09-07 | 情報処理装置、プログラム及び制御方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US9218351B2 (ja) |
JP (1) | JP2014052868A (ja) |
CN (1) | CN103685449B (ja) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10176182B2 (en) | 2015-08-31 | 2019-01-08 | International Business Machines Corporation | File deletion in storage devices based on the deletion priority rules |
CN108280902A (zh) * | 2018-01-19 | 2018-07-13 | 京东方科技集团股份有限公司 | 车载监控设备的文件处理方法及装置、车载监控设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102123178B (zh) | 2005-01-24 | 2014-04-09 | 茨特里克斯系统公司 | 在网络中对动态产生的对象执行缓存的系统和方法 |
EP1885094B1 (en) * | 2006-07-31 | 2010-08-25 | Toshiba TEC Kabushiki Kaisha | Quadrature demodulator |
US20110295798A1 (en) * | 2010-05-27 | 2011-12-01 | Joseph Shain | Mobile mirror drive and remote access system |
-
2012
- 2012-09-07 JP JP2012197269A patent/JP2014052868A/ja active Pending
-
2013
- 2013-09-05 US US14/019,189 patent/US9218351B2/en not_active Expired - Fee Related
- 2013-09-06 CN CN201310403356.5A patent/CN103685449B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US20140074897A1 (en) | 2014-03-13 |
US9218351B2 (en) | 2015-12-22 |
CN103685449B (zh) | 2017-03-01 |
CN103685449A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5624973B2 (ja) | フィルタリング装置 | |
CN105812351B (zh) | 实现会话共享的方法和系统 | |
CN104038528B (zh) | 中继装置、系统及方法 | |
KR101985772B1 (ko) | M2m 데이터 처리 방법, 디바이스, 및 시스템 | |
US20170193416A1 (en) | Reducing costs related to use of networks based on pricing heterogeneity | |
CN101729598A (zh) | 提高Web服务响应速率的方法和系统及网络处理器 | |
KR102034736B1 (ko) | M2m 통신용 관리 장치 및 방법 | |
EP2851813A1 (en) | Methods for servicing web service requests using parallel agile web services and devices thereof | |
JP2002108671A (ja) | コンピュータ処理システムにおいてカスタマイズした情報を提供する方法とシステム | |
US20150006622A1 (en) | Web contents transmission method and apparatus | |
JP6287401B2 (ja) | 中継装置、システム及びプログラム | |
CN103973764A (zh) | 网络服务器装置及其控制方法 | |
JP5460139B2 (ja) | データ処理装置及び方法、並びにプログラム | |
CN103269353A (zh) | Web缓存回源优化方法及Web缓存系统 | |
JP2014052868A (ja) | 情報処理装置、プログラム及び制御方法 | |
US20130132552A1 (en) | Application-Aware Quality Of Service In Network Applications | |
WO2022057131A1 (zh) | 数据拥塞处理方法、装置、计算机设备和存储介质 | |
JP5984552B2 (ja) | 負荷分散システム、負荷分散システムの制御方法、およびコンピュータプログラム | |
CN105339906B (zh) | 控制对永久存储设备的数据写入的方法 | |
JP6591700B2 (ja) | システム、データ管理方法、及びファイルサーバ | |
EP3687122B1 (en) | Access management device, access management method and access management program | |
JP2017215745A (ja) | データ処理装置、データ処理方法およびプログラム | |
CN103313285A (zh) | 网络资源传输处理装置和网络资源传输处理方法 | |
CN106067865B (zh) | 数据报文的转发方法和装置 | |
US20220284039A1 (en) | Asynchronous replication of linked parent and child records across data storage regions |