JP4374094B2 - Information processing apparatus, information processing method, and computer-readable recording medium recording a program for causing a computer to execute the method - Google Patents

Information processing apparatus, information processing method, and computer-readable recording medium recording a program for causing a computer to execute the method Download PDF

Info

Publication number
JP4374094B2
JP4374094B2 JP16705499A JP16705499A JP4374094B2 JP 4374094 B2 JP4374094 B2 JP 4374094B2 JP 16705499 A JP16705499 A JP 16705499A JP 16705499 A JP16705499 A JP 16705499A JP 4374094 B2 JP4374094 B2 JP 4374094B2
Authority
JP
Japan
Prior art keywords
file
cache
type
information processing
cache file
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.)
Expired - Fee Related
Application number
JP16705499A
Other languages
Japanese (ja)
Other versions
JP2000357113A (en
Inventor
淳 竹内
Original Assignee
株式会社ジャストシステム
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 株式会社ジャストシステム filed Critical 株式会社ジャストシステム
Priority to JP16705499A priority Critical patent/JP4374094B2/en
Publication of JP2000357113A publication Critical patent/JP2000357113A/en
Application granted granted Critical
Publication of JP4374094B2 publication Critical patent/JP4374094B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、複数の情報処理装置間で送受信されたファイルをキャッシュファイルとして記憶しておき、ある情報処理装置に対するあるファイルの送信要求を発信するのに先だって、または、他の情報処理装置から受信したある情報処理装置に対するあるファイルの送信要求を別の他の情報処理装置に転送するのに先だって、前記キャッシュファイルの中に前記送信要求の対象となるファイルと同一のファイルがあるかどうかを調査する、いわゆるキャッシュ機能を有する情報処理装置、情報処理方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体に関する。
【0002】
【従来の技術】
文書、画像、音声等を電子化されたファイルとしてホストコンピュータ、パーソナルコンピュータ等の情報処理装置に保持しておき、ネットワークにより接続されている他の情報処理装置からの要求に応じて、当該要求の対象となっているファイル(正確にはその複製であるが、以下では特に区別する必要のある場合を除き、ファイルもファイルの複製もともにファイルという。)を当該要求の発信元となっている情報処理装置に対して送信することが従来からおこなわれている。
【0003】
このようなシステムの代表的なものが、世界各地のネットワークを中継してなるいわゆるインターネットであり、またそこでもちいられている技術を組織内のネットワークに応用した種々のイントラネットである。
【0004】
このようなシステムにおいては、現在利用中の情報処理装置にはないファイルであっても、ネットワーク接続されているいずれかの情報処理装置で管理されているファイルであれば、当該装置に対してその送信を要求するのみで、その閲覧等が可能となる。
【0005】
しかし、同じファイルが何度も必要となる場合で、特にその保管元の情報処理装置が物理的、または経路的に遠方にある場合は、ファイルの送受信等に時間を要するため、必要のたびごとに保管元から取り寄せていたのでは作業効率が悪い。保管元としても、その都度要求に応じる負荷は大きなものとなってしまう。また、ネットワーク全体の混雑を引き起こす原因ともなってしまう。
【0006】
このような問題を解消するために、ファイルを必要とする情報処理装置(以下「クライアント」という)からそのファイルを保持している情報処理装置(以下「サーバ」という)までの通信路上の情報処理装置において、またはクライアント自身において、当該情報処理装置が過去にサーバから受信したファイルの複製を、「キャッシュファイル」(または単に「キャッシュ」)として保存しておくことが考えられている。
【0007】
なお、ファイルの複製をキャッシュファイルとして保存しておくことを、一般に「ファイルをキャッシュする」あるいは「ファイルのキャッシュをおこなう」などという。また、ファイルのキャッシュをおこなうのがサーバとクライアントとの間の経路上の情報処理装置であるときは、当該情報処理装置はとくに「キャッシュコンピュータ」ということがある。
【0008】
ファイルのキャッシュをおこなうのがサーバとクライアントとの間の経路上の情報処理装置である場合は、当該キャッシュコンピュータは、あるクライアントからのあるサーバに対するファイルの送信要求を受信した際、当該送信要求の対象となっているサーバ上のファイルの複製が、キャッシュファイルとして自己の管理する記憶領域内に記憶されていないかどうかを調べる。
【0009】
そして、記憶されていないときは、受信したファイル送信要求をそのまま転送(中継)するが、記憶されているときは、自己が当該要求の宛先となっているサーバに代わって、自己の保持するキャッシュファイルを当該要求の発信元であるクライアントに対して送信してもよいかどうかを判断する。
【0010】
具体的には、キャッシュコンピュータは、当該要求の宛先となっているサーバに対して、当該キャッシュファイルの取得日時、すなわち、その元となったファイルが当該キャッシュコンピュータを介して送受信された日時を通知し、その日時以降にサーバにおいて元のファイルが変更されていれば、変更後のそのファイルを自己に対して送信し、また変更されていなければ、変更がない旨の応答のみを自己に対して通知するよう要求する。
【0011】
上記要求を受信したサーバは、受信したキャッシュファイルの取得日時と自装置における元ファイルの最終更新日時とを比較して、ファイルの変更有無を判断する。具体的には、キャッシュファイルの取得日時が元ファイルの最終更新日時より早ければ、変更があったと判断する。逆に遅ければ、変更がなかったと判断する。そして、変更があったときは変更後のそのファイルを、変更がなかったときはその旨の応答を、キャッシュコンピュータに対して送信する。
【0012】
キャッシュコンピュータでは、ファイルが送信されてきたときは受信したファイルを要求したクライアントに対して送信する。また変更のない旨が通知されてきたときは、自己の保持するキャッシュファイルを要求したクライアントに対して送信する。
【0013】
また、ファイルのキャッシュをおこなうのがクライアント自身である場合は、当該クライアントはサーバに対してファイルの送信を要求する前に、当該要求の対象となるサーバ上のファイルの複製が、キャッシュファイルとして自己の管理する記憶領域内に記憶されていないかどうかを調べる。
【0014】
そして記憶されていないときは、通常のファイル送信要求をサーバに対して送信するが、記憶されているときは当該キャッシュファイルの取得日時を示して、その日時以降にサーバにおいて元ファイルが変更されていれば、変更後のそのファイルを自己に対して送信し、また変更されていなければ、変更がない旨の応答のみを自己に対して通知するよう要求する。
【0015】
サーバは上記と同様にファイルの変更有無を判断して、変更後のファイルまたは変更がない旨の応答をクライアントに対して送信する。クライアントでは、ファイルが送信されてきたときは受信したファイルを、また変更のない旨が通知されてきたときは、自己の保持するキャッシュファイルを、以後の閲覧・編集等の各種作業に使用する。
【0016】
このように、サーバ上の元ファイルとキャッシュファイルとが完全に同一であるときは、サーバからの元ファイルの送信をおこなわないことにより、クライアントにとっての作業効率の悪化、サーバにとっての負荷の増大、およびネットワーク全体の混雑等を防止しようとしている。
【0017】
ところで、キャッシュをおこなう情報処理装置の記憶容量は有限であるため、キャッシュファイルを無限に蓄積しておくことはできない。したがって、ファイルが次々と送受信された結果、キャッシュファイルを保存するためのハードディスク等の空き容量が少なくなってきたときには、なんらの基準にもとづいて、すでに記憶されているキャッシュファイルのいずれかを順次削除していく必要がある。
【0018】
その基準の一つとして、取得日時の早い(古い)ファイルから順に削除する方式、具体的にはLRU(Least Recently Used)等がある。このLRU等による方式においては、たとえば一つのホームーページの一部を構成する複数のファイルは、それらの複製がキャッシュとして取得された時期が同一である限り(通常、あるホームページを構成する種々のファイルは同時にサーバからクライアントへ送信されるため、キャッシュファイルの取得時期も同一となる)、同時にキャッシュ用の記憶領域から削除される。
【0019】
ここで、たとえばホームページの記事などの文章を格納したファイルと、アイコンやマークなどの小さな画像を格納したファイルとを比較すると、一般には文章を格納したファイルの方が更新される可能性が高く、小さな画像を格納したファイルはあまり変更されないと考えられる。
【0020】
したがって、文章を格納したファイルの複製をキャッシュファイルとして保存しておいても、つぎに同じファイルに対する閲覧等の要求が生じた場合、その時点ではサーバ上の元ファイルに変更が加えられた結果、当該ファイルとそのキャッシュファイルとの間には差異が生じているために、結局再度サーバから変更後のファイルを取得しなければならない可能性が高い。
【0021】
これに対して、画像を格納したファイルの複製をキャッシュファイルとして保存しておけば、つぎに同じファイルに対する要求が生じた場合、サーバから当該ファイルを取得する必要なく、キャッシュファイルをその代わりとして再利用できる可能性が高くなる。
【0022】
【発明が解決しようとする課題】
しかしながら、上記従来技術においては、キャッシュファイルを破棄する際に、キャッシュファイルの取得時期のみが考慮され、ファイルの種類ごとの上記のような特性を考慮せず、同時に取得されたものであれば再利用可能性の高いキャッシュファイルも低いキャッシュファイルも同時に削除してしまうために、ファイルの送受信にファイルのキャッシュの有効活用を図ることができず、システム全体としての効率を低下させてしまうという問題点があった。
【0023】
本発明は上述した従来技術による問題点を解決するため、個々のファイルの特性に考慮し、ファイルのキャッシュを有効活用することにより、システム全体としての処理効率を向上させることが可能な情報処理装置、情報処理方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体を提供することを目的とする。
【0024】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するため、この発明に係る情報処理装置は、複数の情報処理装置間で送受信されたファイルをキャッシュファイルとして記憶するキャッシュ機能を有する情報処理装置において、前記キャッシュファイルを記憶する記憶手段と、前記記憶手段に記憶されたキャッシュファイルの種類を判断する判断手段と、前記キャッシュファイルの種類ごとに定められた前記記憶手段からの削除の順序にもとづいて、前記記憶手段に記憶されたキャッシュファイルの中から所定個数のキャッシュファイルを選択する選択手段と、前記選択手段により選択されたキャッシュファイルを前記記憶手段から削除する削除手段と、を備えたことを特徴とする。
【0025】
この発明によれば、キャッシュファイルとして保存しておく価値が低い種類に属するファイルの削除順序を早く定めておくことにより、それらのファイルは優先的に前記記憶手段から削除される。
【0026】
また、この発明に係る情報処理装置は、複数の情報処理装置間で送受信されたファイルをキャッシュファイルとして記憶するキャッシュ機能を有する情報処理装置において、前記キャッシュファイルを記憶する記憶手段と、前記記憶手段に記憶されたキャッシュファイルの種類を判断する判断手段と、前記キャッシュファイルの種類ごとに定められた前記記憶手段からの削除の期限にもとづいて、前記記憶手段に記憶されたキャッシュファイルの中から所定個数のキャッシュファイルを選択する選択手段と、前記選択手段により選択されたキャッシュファイルを前記記憶手段から削除する削除手段と、を備えたことを特徴とする。
【0027】
この発明によれば、キャッシュファイルとして保存しておく価値が低い種類に属するファイルの削除期限を短く定めておくことにより、それらのファイルは取得後早期に前記記憶手段から削除される。
【0028】
また、この発明に係る情報処理装置は、上記の発明において、前記判断手段が、前記記憶手段に記憶されたキャッシュファイルに格納されているデータの種類にもとづいて当該キャッシュファイルの種類を判断することを特徴とする。
【0029】
この発明によれば、キャッシュファイルは当該ファイルに格納されているデータの種類という、容易に把握可能な要素にもとづく簡易な処理により分類される。
【0030】
また、この発明に係る情報処理装置は、上記の発明において、前記判断手段が、前記記憶手段に記憶されたキャッシュファイルに格納されているデータの種類および大きさにもとづいて当該キャッシュファイルの種類を判断することを特徴とする。
【0031】
この発明によれば、キャッシュファイルは当該ファイルに格納されているデータの種類および大きさという、容易に把握可能な要素にもとづく簡易な処理により分類される。
【0032】
また、この発明に係る情報処理装置は、上記の発明において、さらに、キャッシュファイルの種類を設定する第一の設定手段を備え、前記判断手段は、前記第一の設定手段により設定されたキャッシュファイルの種類にもとづいて前記記憶手段に記憶されたキャッシュファイルの種類を判断することを特徴とする。
【0033】
この発明によれば、キャッシュファイルは操作者により任意に設定された、個々の状況に即した分類によって各々の種類に分類される。
【0034】
また、この発明に係る情報処理装置は、上記の発明において、さらに、キャッシュファイルの種類ごとに前記記憶手段からの削除の順序を設定する第二の設定手段を備え、前記選択手段が、前記第二の設定手段により設定された削除の順序にもとづいて、前記記憶手段に記憶されたキャッシュファイルの中から所定個数のキャッシュファイルを選択することを特徴とする。
【0035】
この発明によれば、キャッシュファイルは操作者により任意に設定された、個々の状況に即した順序によって前記記憶手段から削除される。
【0036】
また、この発明に係る情報処理装置は、上記の発明において、さらに、キャッシュファイルの種類ごとに前記記憶手段からの削除の期限を設定する第二の設定手段を備え、前記選択手段が、前記第二の設定手段により設定された削除の期限にもとづいて、前記記憶手段に記憶されたキャッシュファイルの中から所定個数のキャッシュファイルを選択することを特徴とする。
【0037】
この発明によれば、キャッシュファイルは操作者により任意に設定された、個々の状況に即した時期に前記記憶手段から削除される。
【0038】
また、この発明に係る情報処理方法は、複数の情報処理装置間で送受信されたファイルをキャッシュファイルとして記憶するキャッシュ機能を有する情報処理方法において、前記キャッシュファイルの種類を判断する判断工程と、前記キャッシュファイルの種類ごとに定められた削除の順序にもとづいて、前記キャッシュファイルの中から所定個数のキャッシュファイルを選択する選択工程と、前記選択工程により選択されたキャッシュファイルを削除する削除工程と、を含んだことを特徴とする。
【0039】
この発明によれば、キャッシュファイルとして保存しておく価値が低い種類に属するファイルの削除順序を早く定めておくことにより、それらのファイルは優先的に削除される。
【0040】
また、この発明に係る情報処理方法は、複数の情報処理装置間で送受信されたファイルをキャッシュファイルとして記憶するキャッシュ機能を有する情報処理方法において、前記キャッシュファイルの種類を判断する判断工程と、前記キャッシュファイルの種類ごとに定められた削除の期限にもとづいて、前記キャッシュファイルの中から所定個数のキャッシュファイルを選択する選択工程と、前記選択工程により選択されたキャッシュファイルを削除する削除工程と、を含んだことを特徴とする。
【0041】
この発明によれば、キャッシュファイルとして保存しておく価値が低い種類に属するファイルの削除期限を短く定めておくことにより、それらのファイルは取得後早期に削除される。
【0042】
また、この発明に係る情報処理方法は、上記の発明において、前記判断工程が、前記キャッシュファイルに格納されているデータの種類にもとづいて当該キャッシュファイルの種類を判断することを特徴とする。
【0043】
この発明によれば、キャッシュファイルは当該ファイルに格納されているデータの種類という、容易に把握可能な要素にもとづく簡易な処理により分類される。
【0044】
また、この発明に係る情報処理方法は、上記の発明において、前記判断工程が、前記キャッシュファイルに格納されているデータの種類および大きさにもとづいて当該キャッシュファイルの種類を判断することを特徴とする。
【0045】
この発明によれば、キャッシュファイルは当該ファイルに格納されているデータの種類および大きさという、容易に把握可能な要素にもとづく簡易な処理により分類される。
【0046】
また、この発明に係る情報処理方法は、上記の発明において、さらに、キャッシュファイルの種類を設定する第一の設定工程を含み、前記判断工程は、前記第一の設定工程により設定されたキャッシュファイルの種類にもとづいて前記キャッシュファイルの種類を判断することを特徴とする。
【0047】
この発明によれば、キャッシュファイルは操作者により任意に設定された、個々の状況に即した分類によって各々の種類に分類される。
【0048】
また、この発明に係る情報処理方法は、上記の発明において、さらに、キャッシュファイルの種類ごとに削除の順序を設定する第二の設定工程を含み、前記選択工程が、前記第二の設定工程により設定された削除の順序にもとづいて、前記キャッシュファイルの中から所定個数のキャッシュファイルを選択することを特徴とする。
【0049】
この発明によれば、キャッシュファイルは操作者により任意に設定された、個々の状況に即した順序によって削除される。
【0050】
また、この発明に係る情報処理方法は、上記の発明において、さらに、キャッシュファイルの種類ごとに削除の期限を設定する第二の設定工程を含み、前記選択工程が、前記第二の設定工程により設定された削除の期限にもとづいて、前記キャッシュファイルの中から所定個数のキャッシュファイルを選択することを特徴とする。
【0051】
この発明によれば、キャッシュファイルは操作者により任意に設定された、個々の状況に即した時期に削除される。
【0052】
また、この発明に係る記憶媒体は、上記に記載された方法をコンピュータに実行させるプログラムを記録したことを特徴とする。
【0053】
この発明によれば、上記のいずれか一つに記載された方法をコンピュータに実行させるプログラムを記録したことで、そのプログラムを機械読み取り可能となり、これによって、上記の動作をコンピュータによって実現することが可能である。
【0054】
【発明の実施の形態】
以下に添付図面を参照して、この発明に係る情報処理装置、情報処理方法、およびその方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体の好適な実施の形態を詳細に説明する。
【0055】
(実施の形態1)
まず、本発明の実施の形態1による情報処理装置を含む、ファイルの送受信システムのシステム構成について説明する。図1は、実施の形態1による情報処理装置であるキャッシュコンピュータを備えた、ファイルの送受信システムのシステム構成を示すブロック図である。
【0056】
図1において、101,102,103および104はファイルを保持し、要求に応じてそれらを送信するサーバであり、105,106および107は、上記サーバ101,102,103および104のいずれかに対してファイルの送信を要求するクライアントである。サーバ101,102,103,104およびクライアント105,106,107は、キャッシュコンピュータ108を介して、ネットワーク100により接続されている。
【0057】
なお、ここでは説明の便宜上、クライアント105,106および107とは別にキャッシュコンピュータ108を設ける構成としているが、クライアント105,106および107自身が受信したファイルのキャッシュをおこなう構成としてもよい。
【0058】
サーバ101はホームページAを構成するファイルA1,A2,A3およびA4を、サーバ102はホームページBを構成するファイルB1およびB2を、サーバ103はホームページCを構成するファイルC1,C2およびC3を、サーバ104はホームページDを構成するファイルD1およびD2を、それぞれ保持している。なお、ファイルA1,B1,C1およびD1は文字列(テキスト)データを格納し、その他のファイルは画像(イメージ)データを格納しているものとする。
【0059】
また、108はファイルのキャッシュをおこなうキャッシュコンピュータである。キャッシュコンピュータ108には、サーバ101,102,103のいずれかとクライアント105,106,107のいずれかとの間でホームページA,B,Cを構成するファイルの送受信が順におこなわれた結果、ホームページAを構成するファイルA1,A2,A3,A4のキャッシュファイルa1,a2,a3,a4、Bを構成するファイルB1,B2のキャッシュファイルb1,b2、およびCを構成するファイルC1,C2,C3のキャッシュファイルc1,c2,c3が蓄積されているものとする。
【0060】
つぎに、本発明の実施の形態1による情報処理装置のハードウェア構成について説明する。図2は、実施の形態1による情報処理装置のハードウェア構成を示すブロック図である。図2において、201はシステム全体を制御するCPUを、202はブートプログラム等を記憶したROMを、203はCPU201のワークエリアとして使用されるRAMをそれぞれ示している。
【0061】
また、204はCPU201の制御にしたがってHD(ハードディスク)205に対するデータのリード/ライトを制御するHDD(ハードディスクドライブ)を、205はHDD204の制御で書き込まれたデータを記憶するHDを、206はCPU201の制御にしたがってFD(フロッピーディスク)207に対するデータのリード/ライトを制御するFDD(フロッピーディスクドライブ)を、207はFDD206の制御で書き込まれたデータを記憶する着脱自在のFDをそれぞれ示している。
【0062】
また、208はカーソル、アイコンあるいはツールボックスをはじめ、文書、画像、機能情報等のデータに関するウインドウを表示するディスプレイを、209は通信回線210を介して図1のネットワーク100に接続され、そのネットワーク100と内部とのインターフェイスを司るインターフェイス(I/F)をそれぞれ示している。
【0063】
また、211は文字、数値、各種指示等の入力のための複数のキーを備えたキーボードを、212はカーソルの移動や範囲選択、あるいはウインドウの移動やサイズの変更、アイコンの選択、移動等をおこなうマウスをそれぞれ示している。また、200は上記各部を接続するためのバスを示している。
【0064】
つぎに、本発明の実施の形態1による情報処理装置の機能的構成について説明する。図3は、実施の形態1による情報処理装置の機能的構成を示すブロック図である。
【0065】
図3のブロック図において、情報処理装置は、ファイル記憶部300と、ファイル種類判断部301と、ファイル選択部302と、ファイル削除部303とを含む構成である。また、ファイル種類判断部301はファイル種類テーブル301aを、ファイル選択部302は削除順序テーブル302aを、それぞれ含む構成である。
【0066】
ファイル記憶部300は、この情報処理装置を介してファイルが送受信された際、その複製をとってその取得日時、すなわち、この情報処理装置を経由して当該ファイルが送受信された日時等とともに記憶する。このとき、新たなキャッシュファイルを記憶するだけの十分な空き領域がない場合は、後述するファイル種類判断部301、ファイル選択部302およびファイル削除部303により、すでに記憶されているキャッシュファイルのいずれかを削除させて、必要な記憶領域を確保する。
【0067】
ファイル種類判断部301は、あるキャッシュファイルがある種類に分類されるための諸条件を示したファイル種類テーブル301aを参照して、ファイル記憶部300に記憶されたキャッシュファイルの種類を判断する。そして、各々のキャッシュファイルとその属する種類とを対応づけた作業用のテーブルを作成する。
【0068】
ここでキャッシュファイルは、当該キャッシュファイルの元となったファイルの、サーバでの変更可能性の大小にもとづいていくつかの種類に分類される。ただしキャッシュコンピュータにおいて、サーバ上の元ファイルが変更されるか、変更されるとしていつ変更されるかを厳密に把握することは困難である。
【0069】
すなわち、ファイルの送受信時に、たとえば当該ファイルの次回更新予定日時を付加するようにすれば正確であるが、現在普及しているシステムではファイルに更新予定情報を付加することは一般的ではない。したがって、本実施の形態1においては、ファイルに格納されているデータの種類および/または大きさから、当該ファイルの変更可能性を近似的に求め、その近似的な変更可能性の大小によって、キャッシュファイルの種類を区別するようにしている。
【0070】
つぎに、より具体的な例を挙げて、キャッシュファイルの種類について説明する。図4は、サーバ101に保持されているホームページAの外観の一例を示す説明図である。
【0071】
図4において、「○×△株式会社ホームページ」などの文字列や、下記に説明する各種画像を格納したファイルA2,A3およびA4に対するリンク情報などは、文字列(テキスト)データを格納したファイルA1に記述されている。
【0072】
また、図4において401は当該ホームページを提供している会社のシンボルマークであり、ファイルA2に格納されている。402は記事の項目が新しいことを示す更新マークであり、ファイルA3に格納されている。また403は飾りのための単なるシンボルであり、ファイルA4に格納されている。
【0073】
図4の例において、ファイルA1に格納されている文章は比較的頻繁に更新されることが予想されるが、シンボルマークなどの画像を格納したファイルA2,A3およびA4の内容はほとんど変更されることがないと考えられる。そこで、キャッシュファイルを、当該キャッシュファイルの元となったファイルの、サーバにおける変更可能性の大小にもとづいて、文字列(テキスト)データを格納したファイルと画像(イメージ)データを格納したファイルとの二種類に分類する。
【0074】
図5は、この場合のファイル種類テーブル301aの一例を示す説明図である。図5において「ID」の項目は、それぞれのファイルの種類を区別し特定するために付与された通し番号を表す。また「条件」の項目は、あるファイルがそのファイル種類に該当するための諸条件を表す。
【0075】
また図6は、サーバ101に保持されているホームページAの外観の他の一例を示す説明図である。図6において、「概況:低気圧は北海道の東海上に抜け、・・・」などの文字列や、下記に説明する各種画像を格納したファイルA2,A3およびA4に対するリンク情報などは、文字列(テキスト)データを格納したファイルA1に記述されている。
【0076】
601および602はボタンであり、それぞれファイルA2,ファイルA3に格納されている。また603は天気図であり、ファイルA4に格納されている。
【0077】
同じ画像データを格納したファイルであっても、マークやボタンのような小さな(データ量の少ない)画像のファイルはあまり変更されないが、天気図のような大きな画像のファイルは、比較的頻繁に更新される場合がある。
【0078】
そこで図6の例においては、ファイルの種類を、たとえば文字列データを格納したファイル、100KB以上の画像データを格納したファイル、および100KB未満の画像データを格納したファイル、の三種類に分類する。図7は、この場合のファイル種類テーブル301aの一例を示す説明図である。
【0079】
ファイルの種類分けは上記に限らず、たとえばGIF形式の画像データを格納したファイルとJPEG形式の画像データを格納したファイルとを区別したり、あるいは文字列や画像に加えて、音声を格納したファイル、動画を格納したファイル等のファイル種類を設けたりしてもよい。
【0080】
ファイル種類判断部301は、ファイル記憶部300に記憶されたキャッシュファイルを一つずつ取り出して、図5や図7に示したファイル種類テーブル301aを参照しながら、当該キャッシュファイルがどのファイル種類に該当するかを判断する。
【0081】
なお、あるキャッシュファイルに格納されているデータの種類(文字列であるか、画像であるか等)は、その元となったファイルの名称に含まれる拡張子や、あるいは当該元ファイルの送信時に通信プロトコルにより付与されたヘッダ部分の情報を参照して判断する。たとえば、拡張子が「.htm」であったりヘッダに「text/plain」と記述されていたりするファイルには、文字列データが格納されている。
【0082】
そしてファイル種類判断部301は、個々のキャッシュファイルとそれが属する種類とを対応づけた作業用のテーブルを作成する。図8は、ファイル種類テーブル301aが図5のようであったときの、上記作業用テーブルの一例を示す説明図である。
【0083】
図8において、「ID」の項目はファイル種類のIDを、また「ファイル」の項目はその種類に該当するキャッシュファイルを、それぞれ示している。たとえば、そのキャッシュファイルに格納されているのが文字列データであることを条件とする、「1」というIDにより示されるファイル種類には、記憶部300に記憶されたキャッシュファイルのうち、a1,b1およびc1が分類されている。
【0084】
また、図9は、ファイル種類テーブル301aが図7のようであったときの、上記作業用テーブルの他の一例を示す説明図である。図9において、たとえば100KB以上の画像データが格納されていることを条件とする、2というIDにより示されるファイル種類には、記憶部300に記憶されたキャッシュファイルのうちa4のみが分類されている。
【0085】
ファイル選択部302は、削除順序テーブル302aを参照して、ファイル記憶部300のキャッシュファイルの中から削除すべきキャッシュファイルを選択する。ここで削除順序テーブル302aには、ファイルの種類ごとにファイル記憶部300からの削除の順序が定められている。より具体的には、変更可能性の大きいファイル種類から変更可能性の小さいファイル種類の順に、削除する順番が定められている。
【0086】
図10は、ファイルの種類が図5に示した二種類であったときの、削除順序テーブル302aの一例を示す説明図である。図10において「ID」の項目は、図5における「ID」の項目と共通であり、それぞれのファイルの種類を区別し特定するために付与された通し番号を表す。
【0087】
また「順序」の項目は、IDにより特定される各種類のファイルが、どのような順序でファイル記憶部300から削除されるかを示している。図10においては、文字列データを格納したファイルは、画像データを格納したファイルよりも先に削除されるように定められている。
【0088】
また図11は、ファイルの種類が図7に示した三種類であったときの、削除順序テーブル302aの一例を示す説明図である。図11においては、まず100KB以上の画像データを格納したファイルが削除され、そのつぎに文字列データを格納したファイルが削除され、最後に100KB未満の画像データを格納したファイルが削除されるように定められている。
【0089】
このように、ファイルに格納されているデータの種類だけでなく、その大きさも考慮することにより、ファイルをその変更可能性にもとづいてよりきめ細かに分類することができる(したがって、各々のファイルの特性により沿った順序でファイルを削除することができる)とともに、データ量の大きいファイルによってファイル記憶部300の容量が圧迫されるのを防ぐことができる。
【0090】
ファイル削除部303は、ファイル選択部302により選択されたファイルを、ファイル記憶部300から削除する。
【0091】
なお、ファイル記憶部300、ファイル種類判断部301、ファイル選択部302およびファイル削除部303は、それぞれROM202、RAM203またはハードディスク205、フロッピーディスク207等の記録媒体に記録されたプログラムに記載された命令にしたがってCPU201等が命令処理を実行することにより、各部の機能を実現するものである。
【0092】
つぎに、本発明の実施の形態1による情報処理装置の処理の流れについて説明する。図12は、実施の形態1による情報処理装置の一連の動作を示すフローチャートである。
【0093】
まず、ステップS1201において、ファイル記憶部300の空き容量が十分であるかどうかを調べ、十分であるときは(ステップS1201肯定)処理を終了し、十分でないときは(ステップS1201否定)、ステップS1202に移行する。
【0094】
ステップS1202において、ファイル記憶部300に記憶されているキャッシュファイルのいずれか一つを示す変数mに1を設定する。つぎに、ステップS1203において、変数mで示されるキャッシュファイルについて、その種類をファイル種類テーブル301aを参照して判断する。そして当該キャッシュファイルの名称とファイル種類のIDとを、作業用のテーブルに対応づけて記憶する。
【0095】
ステップS1204において、mを一つインクリメントし、続くステップS1205において、mがファイル記憶部300に記憶されているキャッシュファイルの総数M以下かどうかを判定する。
【0096】
ここで、mがM以下であれば(ステップS1205肯定)、まだ種類の判断されていないキャッシュファイルがあるということなので、ステップS1203に移行して、残余のキャッシュファイルについて上記処理を繰り返す。一方、mがMを上回っていれば(ステップS1205否定)、ファイル記憶部300に格納されているキャッシュファイルのすべてについてその種類を判断したということなので、ステップS1206に移行する。
【0097】
ステップS1206において、何番目の削除順序のファイル種類に属するファイルを削除するかを示す変数nに1を設定する。つぎにステップS1207において、ファイル記憶部300に記憶されたキャッシュファイルのうち、削除順序がnとなっているファイル種類に属するものをすべて選択する。
【0098】
たとえばファイル種類テーブル301aが図5、削除順序テーブルが図10、またステップS1203においてファイル種類判断部301により作成された作業用テーブルが図8のようであったとする。
【0099】
ここで、nは1であるので、図10において削除順序が1に設定されているファイル種類、すなわちIDが1で、図5によればファイルに格納されているデータが文字列であることを条件とするファイル種類に属するファイルをすべて選択することになる。図8に示した作業用テーブルを参照すると、具体的にはそのファイルとはa1,b1およびc1である。
【0100】
そしてステップS1208において、ステップS1207で選択されたキャッシュファイルをファイル記憶部300から削除する。その後、ステップS1209において、上記処理によって、ファイル記憶部300に十分な空き領域が確保できたかどうかを判定する。
【0101】
そして十分な空き領域が確保できているときは(ステップS1209肯定)処理を終了する。十分な空き領域が確保できていないときは(ステップS1209否定)、ステップS1210においてnを一つインクリメントしてから、ステップS1207に戻って上記処理を繰り返す。
【0102】
すなわち、上記と同様の例で、再度ステップS1207およびステップS1208の処理をおこなうときは、nが2になっているので、削除順序が2に設定されているファイル種類に属するファイル、具体的にはa2,a3,a4,b2,c2およびc3がファイル記憶部300から削除されることになる。このようにして、ファイル記憶部300に十分な空き領域が確保できるまで、所定の削除順序の順にキャッシュファイルを削除してゆく。
【0103】
上記処理の前後においてファイル記憶部300の内部の状態がどのように変化するかを、具体例をもちいて説明する。図13は、実施の形態1におけるファイル記憶部300の内部の状態の変化を示す説明図である。
【0104】
図13(a)は、上記処理がおこなわれる前のファイル記憶部300の状態を示す説明図である。
【0105】
キャッシュコンピュータ108のファイル記憶部300には、前述のように、サーバ101,102,103のいずれかとクライアント105,106,107のいずれかとの間でホームページA,B,Cを構成するファイルの送受信が順におこなわれた結果、ホームページAを構成するファイルA1,A2,A3,A4のキャッシュファイルa1,a2,a3,a4、Bを構成するファイルB1,B2のキャッシュファイルb1,b2、およびCを構成するファイルC1,C2,C3のキャッシュファイルc1,c2,c3が蓄積されている。なお図13において、斜線部分は空き領域を表す。
【0106】
この状態で、たとえばクライアント105からサーバ104に対するファイルD1およびD2の送信要求が発せられ、その要求に応じて、サーバ104から、ファイルD1およびD2がキャッシュコンピュータ108を経てクライアント105に送信されたとする。
【0107】
ファイルD1のキャッシュファイルd1、およびファイルD2のキャッシュファイルd2の大きさが図13(b)のようであったとすると、図13(a)の状態のファイル記憶部300には、d1およびd2を新たに格納できるだけの十分な空き領域がない。
【0108】
そこで、ファイル種類テーブルが図5、削除順序テーブルが図10のようであったとすると、ファイル記憶部300からは、前述のように削除順序が最も早いファイル種類に属するファイルa1,b1およびc1が削除される。そしてこれにより得られた空き領域に、d1およびd2を格納する。
【0109】
なおこの例では、a1,b1およびc1を削除するのみでd1およびd2の格納に必要な記憶領域が得られるため、削除順序が2以下のファイル種類に属するファイル、具体的にはa2,a3,a4,b2,c1およびc2は削除されない。
【0110】
図13(c)は、上記処理がおこなわれた後のファイル記憶部300の内部の状態を示す説明図である。なお、ファイルd2はそれ全体を格納できるだけの連続した空き領域が得られなかったため、d2−1およびd2−2の二つの部分に分けて格納されている。
【0111】
この状態で、たとえばクライアント106においてホームページAの閲覧要求が発生したとすると、a2,a3およびa4はまだキャッシュコンピュータ108に残っており、しかもA2,A3およびA4がサーバ104で変更されている可能性は低い、換言すれば、キャッシュファイルa2,a3およびa4とその元となったファイルA2,A3およびA4とは、この時点でも完全に同一である可能性が高いと判断することができる。
【0112】
したがって、サーバ104からA2,A3およびA4を送信するのでなく、キャッシュコンピュータ108からa2,a3およびa4を送信することで、クライアント106からのファイル送信要求を簡易に処理できる可能性が高いと判断することができる。
【0113】
すなわち、クライアント106からのファイル送信要求を受信したキャッシュコンピュータ108が、サーバ104に対して、自己がそのキャッシュを取得した後に元ファイルに変更がなされたのであれば更新後のそのファイルを、なんらの変更がなければその旨の応答を、それぞれ送るように要求すると、A2,A3およびA4については当該ファイルには変更がない旨の応答を得られる可能性が高いと判断することができる。
【0114】
この応答のデータ量は、一般にファイル本体のデータ量よりも小さいため、サーバ104とキャッシュコンピュータ108との間の通信量を抑えることができ、これによりネットワークの混雑やコンピュータの負荷を低減させることができる。
【0115】
なお、ファイルA1はあらためてサーバ104から取得しなければならないが、かりにそのキャッシュファイルa1がまだキャッシュコンピュータ108に残っていたとしても、クライアント106からの要求時にはA1とa1との内容には差異が生じており(サーバ104においてA1に変更が加えられたために)、再度サーバ104からA1を取り寄せなければならない可能性の高かったものである。
【0116】
従来技術と比較すると、従来技術においてはキャッシュファイルをその取得日時順に削除するため、新たなキャッシュファイルd1およびd2を格納できるだけの十分な空き領域がないときは、取得日時の最も早いキャッシュファイルa1,a2,a3およびa4が削除される。
【0117】
したがって、再度クライアント106がサーバ104に対してホームページAを構成するファイルの送信を要求した場合、キャッシュコンピュータ108からはすでにそれらのキャッシュが削除されているため、再度サーバ104からA1,A2,A3およびA4のすべてを取得してこなければならない。
【0118】
しかも、その結果としてキャッシュコンピュータ108に再度蓄積されるキャッシュファイルa1,a2,a3およびa4のうち、マーク等の画像のファイルであるa2,a3およびa4は、サーバ104においてその元ファイルA2,A3およびA4になんらの変更も加えられていないために、d1およびd2の格納時に削除されたa2,a3およびa4と完全に同一である可能性が高い。すなわち従来技術においては、キャッシュコンピュータ108において、同じファイルを記憶し削除しまた記憶するという作業の無駄が発生していることになる。
【0119】
以上説明したように、本発明の実施の形態1によれば、キャッシュファイルはその元となったサーバ上のファイルの変更可能性に配慮した順序で削除される。より具体的には、元ファイルの変更可能性が高いために将来その代わりとして利用できる可能性が低く、キャッシュファイルとして保存しておく価値が低い種類に属するファイルは、優先的にファイル記憶部300から削除される。
【0120】
これによって、キャッシュとしての価値の高いファイルのみがファイル記憶部300に残されることとなり、より効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能である。
【0121】
また、キャッシュファイルの種類分けの根拠となる元ファイルの変更可能性は、当該ファイルに格納されているデータの種類や大きさによって近似的に推定される。
【0122】
したがって、サーバにおいて個々のファイルに変更予定情報を設定したり、ファイルの送信時に当該変更予定情報を付加したり、あるいはキャッシュコンピュータにおいて、ファイルに含まれる文字列の解析等により当該ファイルの変更予定日時を推定したりといった、煩雑で複雑な処理を要することなく、ファイルに格納されているデータの種類および/または大きさという、容易に把握可能な要素にもとづく簡易な処理で、キャッシュファイルを分類しそれに応じた順序によって削除することが可能である。
【0123】
(実施の形態2)
さて、上述した実施の形態1にあっては、ファイルの種類ごとにファイル記憶部300からの削除の順序を定めるようにしたが、以下に説明する実施の形態2のように、順序に代えてその削除の期限を定めるようにしてもよい。
【0124】
実施の形態2による情報処理装置を含む、情報処理システムのシステム構成は、図1に示した実施の形態1のシステム構成と同様であるので説明を省略する。また、実施の形態2による情報処理装置のハードウェア構成も、図2に示した実施の形態1のハードウェア構成と同様であるので説明を省略する。
【0125】
図14は、実施の形態2による情報処理装置の機能的構成を示すブロック図である。図14において、ファイル記憶部1400、ファイル種類判断部1401、ファイル種類テーブル1401aおよびファイル削除部1403は、それぞれ図3のファイル記憶部300、ファイル種類判断部301、ファイル種類テーブル301aおよびファイル削除部303と同様であるので、その説明を省略する。
【0126】
図14において、ファイル選択部1402は削除期限テーブル1402aと、残期間算出部1402bとを含む構成である。削除期限テーブル1402aは、ファイルの種類ごとにその削除の期限を定めたテーブルである。ファイル種類テーブル1401aが図5のようであったときの、削除期限テーブル1402aの一例を図15に示す。
【0127】
図15において、IDが1で示されるファイル種類に属するファイル、具体的には文字列データを格納したファイルは、削除期限がその取得日時から2日後と定められている。またIDが2で示されるファイル種類に属するファイル、具体的には画像データを格納したファイルは、削除期限がその取得日時から20日後と定められている。
【0128】
なお期限は一日単位である必要はなく、取得時から48時間後、のように時間単位等で指定するようにしてもよい。また取得時からの期間でなく、5月3日午前10時、のような絶対日時で指定するようにしてもよい。
【0129】
残期間算出部1402bは、ファイル記憶部1400に記憶されたキャッシュファイルのそれぞれについて、図15に示した削除期限テーブル1402aを参照しながら、現在日時からその削除期限までの期間(すなわち削除期限までの残期間)Tを算出する。
【0130】
たとえば、ファイル記憶部1400に記憶されているキャッシュファイルa1,a2,a3およびa4は5月1日に取得されたものであり、b1およびb2は5月10日に取得されたものであり、c1,c2およびc3は5月20日に取得されたものであるとする。ここで、5月21日に、新たなキャッシュファイルd1およびd2を格納するために、すでに記憶されているキャッシュファイルのいずれかを削除するとする。
【0131】
文字列データを格納したファイルであるa1は、図5に示したファイル種類テーブル1401aにより、IDが1で示されるファイル種類に分類される。そして図15の削除期限テーブル1402aによれば、IDが1で示されるファイル種類の削除期限は取得日時から2日後である。したがって、a1の削除期限は5月1日から2日後の5月3日であり、現在日時の5月21日から当該削除期限までの残期間Tは−(マイナス)18日である。
【0132】
また、画像データを格納したファイルであるc3は、図5のファイル種類テーブル1401aにより、IDが2で示されるファイル種類に分類される。そして図15の削除期限テーブル1402aによれば、IDが2で示されるファイル種類の削除期限は取得日時から20日後である。したがって、c3の削除期限は5月20日から20日後の6月9日であり、現在日時の5月21日から当該削除期限までの残期間Tは19日である。
【0133】
残期間算出部1402bは、個々のキャッシュファイルと、上記のようにして算出されたその残期間Tとを対応づけた作業用のテーブルを作成する。図16は、残期間算出部1402bにより作成される作業用テーブルの一例を示す説明図である。なお図16のテーブルは、この後に続く処理の便宜のため、残期間Tの値の小さいものの順にソート(並び替え)がおこなわれている。
【0134】
ファイル選択部1402は、まず、残期間算出部1402bにより算出された期間Tが負の値となる(すなわち削除期限を過ぎている)キャッシュファイルをすべて選択する。上の例ではa1およびb1が期限切れのキャッシュファイルに該当する。
【0135】
そしてこれらのファイルの削除によっても、ファイル記憶部1400に必要な空き領域が確保できないときは、Tの値の小さいものから順にキャッシュファイルを選択する。上記の例では、a1およびb1のつぎに選択されるのは、画像データを格納したファイルであって、削除期限が5月21日(取得日時5月1日の20日後)であり、Tの値が0となるファイルa2,a3およびa4である。
【0136】
実施の形態1と実施の形態2とを比較すると、実施の形態1においてはたとえば文字列データを格納したキャッシュファイルであれば、5月1日に取得されたa1も5月20日に取得されたc1も同時に削除されることになるが、実施の形態2においては当該ファイルの取得時期を考慮しているため、期限切れのa1は削除されるが、期限までまだ間のあるc1は原則的に削除されない。すなわち、期限切れのファイルの削除によってファイル記憶部1400に必要な記憶領域が確保できる限り、削除されない。
【0137】
なお、ファイル記憶部1400、ファイル種類判断部1401、ファイル選択部1402およびファイル削除部1403は、それぞれROM202、RAM203またはハードディスク205、フロッピーディスク207等の記録媒体に記録されたプログラムに記載された命令にしたがってCPU201等が命令処理を実行することにより、各部の機能を実現するものである。
【0138】
つぎに、本発明の実施の形態2による情報処理装置の処理の流れについて説明する。図17は、実施の形態2による情報処理装置の一連の動作を示すフローチャートである。
【0139】
まずステップS1701において、ファイル記憶部1400の空き領域が十分であるかどうかを調べ、十分であるときは(ステップS1701肯定)処理を終了し、十分でないときは(ステップS1701否定)、ステップS1702に移行する。
【0140】
ステップS1702において、ファイル記憶部1400に記憶されているキャッシュファイルのいずれか一つを示す変数mに1を設定する。つぎにステップS1703において、変数mで示されるキャッシュファイルについて、その種類をファイル種類テーブル1401aを参照して判断する。
【0141】
ステップS1704において、変数mで示されるキャッシュファイルについて、ステップS1703において判断されたその種類、および削除期限テーブル1402aを参照して、現在日時からその削除期限までの期間Tを算出する。
【0142】
ステップS1705において、mを一つインクリメントし、続くステップS1706において、mがファイル記憶部1400に記憶されているキャッシュファイルの総数M以下かどうかを判定する。
【0143】
ここで、mがM以下であれば(ステップS1706肯定)、まだ種類の判断と期間Tの算出とがおこなわれていないキャッシュファイルがあるということなので、ステップS1703に移行して、残余のキャッシュファイルについて上記処理を繰り返す。一方、mがMを上回っていれば(ステップS1706否定)、ファイル記憶部1400に格納されているキャッシュファイルのすべてについてその種類を判断し、期間Tを算出したということなので、ステップS1707に移行する。
【0144】
ステップS1707において、Tの値が負となるキャッシュファイルをすべて選択し、ステップS1708において、これらのファイルをファイル記憶部1400から削除する。
【0145】
そしてステップS1709において、上記処理によって、ファイル記憶部1400に十分な空き領域が確保できたかどうかを判定する。ファイル記憶部1400に十分な空き領域が確保できているときは(ステップS1709肯定)処理を終了し、十分な空き領域が確保できていないときは(ステップS1709否定)、ステップS1710に移行する。
【0146】
ステップS1710において、ファイル記憶部1400に残っているキャッシュファイルのうち、Tの値が最小となるものを選択する。そしてステップS1711において、ステップS1710で選択されたファイルをファイル記憶部1400から削除し、ステップS1709に移行して、ファイル記憶部1400に必要な空き領域が確保できるまで、ステップS1710およびステップS1711の処理を繰り返す。
【0147】
なお、上記ではファイル記憶部1400の空き容量が足りなくなったときに期限切れのキャッシュファイルを削除するようにしているが、これとあわせて、定期的にファイル記憶部1400を調査して、期限を過ぎたキャッシュファイルを削除するようにしてもよい。
【0148】
このようにすれば、サーバ上の元ファイルがいつ変更されるかが分かっている場合は、その変更時期をキャッシュファイルの削除期限として定めておくことで、元ファイルが変更されたためにその代わりとして利用することができなくなったキャッシュファイルを、その代替可能性が失われた時点で確実にファイル記憶部1400から削除することができる。すなわち、再利用可能性のないキャッシュファイルによってファイル記憶部1400の記憶領域が無駄に占有されるのを防ぐことができる。
【0149】
以上説明したように、本発明の実施の形態2によれば、キャッシュファイルは原則的にその取得時から所定期間を経過した後にファイル記憶部1400から削除される。したがって、キャッシュファイルとして保存しておく価値が低い種類に属するファイルの所定期間を短く定めておくことにより、それらのファイルは取得後間もない時期にファイル記憶部1400から削除される。
【0150】
これによって、キャッシュとしての価値の高いファイルのみがファイル記憶部1400に残されることとなり、より効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能である。
【0151】
(実施の形態3)
さて、上述した実施の形態1にあっては、ファイルの種類およびその削除順序はあらかじめ定められたものをもちいることとしたが、以下に説明する実施の形態3のように、ファイルの種類やその削除順序を操作者が任意に設定または変更できるようにしてもよい。
【0152】
実施の形態3による情報処理装置を含む、情報処理システムのシステム構成は、図1に示した実施の形態1のシステム構成と同様であるので説明を省略する。また、実施の形態3による情報処理装置のハードウェア構成も、図2に示した実施の形態1のハードウェア構成と同様であるので説明を省略する。
【0153】
図18は、実施の形態3による情報処理装置の機能的構成を示すブロック図である。図18において、ファイル記憶部1800、ファイル種類判断部1801、ファイル種類テーブル1801a、ファイル選択部1802、削除順序テーブル1802aおよびファイル削除部1803は、それぞれ図3のファイル記憶部300、ファイル種類判断部301、ファイル種類テーブル301a、ファイル選択部302、削除順序テーブル302aおよびファイル削除部303と同様であるので説明を省略する。
【0154】
入力部1804は、あるファイル種類に該当するための条件やファイル種類ごとの削除順序を設定する旨の指示、および具体的なその条件や削除順序等を入力する。また表示部1805は、ファイル種類テーブル1801aや削除順序テーブル1802aの内容等を画面表示する。
【0155】
ファイル種類・削除順序設定部1806は、ファイル種類テーブル1801aおよび/または削除順序テーブル1802aの内容を設定(変更を含む)する。ファイル種類・削除順序設定部1806は、図19に示すような設定画面によりファイル種類テーブル1801aおよび削除順序テーブル1802aの内容を表示し、操作者に入力部1804を介して各種設定情報を入力させる。
【0156】
図19はファイル種類・削除順序設定部1806により表示される設定画面の一例を示す説明図である。図19において、1901はファイル種類テーブル1801aと削除順序テーブル1802aとを合成して作成されたテーブルである。
【0157】
1902は新しいファイル種類の追加を指示するためのボタン(追加ボタン)であり、1903はすでにあるファイル種類の条件の変更を指示するためのボタン(変更ボタン)である。また、1904はこの画面により設定された内容をファイル種類テーブル1801aおよび/または削除順序テーブル1802aに書き込んでリターンすべき旨を指示するボタン(OKボタン)であり、1905は設定情報の書き込みをおこなわず、そのままリターンすべき旨を指示するボタン(キャンセルボタン)である。
【0158】
図20は、図19のボタン1902(追加ボタン)が押下された際に表示される設定画面の一例を示す説明図である。図20において、円、または黒丸を円で囲んだ図形で示されるのはラジオボタンであり、複数の項目から一つの項目のみを選択することができる。ここで、選択されている項目のボタンは黒丸を円で囲んだ図形、選択されていない項目は円によりそれぞれ示されている。
【0159】
また2001は、この画面により設定された内容を図19の画面に書き込んでリターンすべき旨を指示するボタン(OKボタン)であり、2002は設定内容の書き込みをおこなわず、そのままリターンすべき旨を指示するボタン(キャンセルボタン)である。
【0160】
図20の設定画面においては、音声データ(大きさはとくに問わない)を格納していることを条件とする、新たなファイル種類が設定されている。この状態でボタン2001を押下すると、図19に示した設定画面は図21のように変更される。なお新しく設定されたファイル種類には、使用されていないIDのうち最も若い番号(この例では3)を付与し、またその削除順序は最後尾(この例では3番目)に設定する。この削除順序は後から変更可能である。
【0161】
なお図19の設定画面において、いずれかのファイル種類を選択する。選択されたファイル種類は反転表示等される。そして、ボタン1903(変更ボタン)を押下すると、図20に示したのと同様の設定画面が表示され、選択されたファイル種類に該当するための条件を変更することができる。
【0162】
また、削除順序の変更は、図19のテーブル1901の「順序」の項目の値を直接書き換えることによりおこなう。たとえば図19の設定画面において、IDが1で示されるファイル種類の「順序」項目の値1にカーソルをあわせ、キーボードから数値2を入力する。
【0163】
このとき、それ以外のファイル種類の削除順序も、前後関係を保持しながら「順序」項目内で同じ数値が重複しないように変更する。この例では、IDが1で示されるファイル種類の削除順序を2に変更すると、IDが2で示されるファイル種類の削除順序は1に変更される。
【0164】
図19の設定画面のボタン1904を押下することにより、この画面により設定された内容をファイル種類テーブル1801aおよび/または削除順序テーブル1802aに反映することができる。
【0165】
すなわち、ファイル種類・削除順序設定部1806は、ボタン1904が押下されたのを検出すると、図19の画面から設定情報を抜き出してファイル種類テーブル1801aおよび/または削除順序テーブル1802aの所定の領域に書き込む。このようにして変更されたファイル種類テーブル1801aを図22に、また削除順序テーブル1802aを図23に、それぞれ示す。
【0166】
なお、ファイル記憶部1800、ファイル種類判断部1801、ファイル選択部1802およびファイル削除部1803は、それぞれROM202、RAM203またはハードディスク205、フロッピーディスク207等の記録媒体に記録されたプログラムに記載された命令にしたがってCPU201等が命令処理を実行することにより、各部の機能を実現するものである。
【0167】
つぎに、本発明の実施の形態3による情報処理装置の処理の流れについて説明する。図24は、実施の形態3による情報処理装置の一連の動作を示すフローチャートである。
【0168】
まずステップS2401において、入力部1804からファイル種類やその削除順序を設定する旨の指示が入力されるのを待ち、指示が入力されたときは(ステップS2401肯定)ステップS2402に移行する。
【0169】
ステップS2402において、図19に示した設定画面を表示部1805により表示する。そしてステップS2403において、当該設定画面上のボタン1902(追加ボタン)が押下されたかどうかを判定する。ボタン1902が押下されたときは(ステップS2403肯定)、ステップS2404においてファイル種類の追加処理をおこなう(その詳細は後述する)。ボタン1902が押下されなかったときは(ステップS2403否定)ステップS2405に移行する。
【0170】
ステップS2405において、前記設定画面上のボタン1903(変更ボタン)が押下されたかどうかを判定する。ボタン1903(変更ボタン)が押下されたときは(ステップS2405肯定)、ステップS2406において条件変更処理をおこなう(その詳細は後述する)。ボタン1903が押下されなかったときは(ステップS2405否定)ステップS2407に移行する。
【0171】
ステップS2407において、前記設定画面上のテーブル1901の、「順序」項目のいずれかの値が変更されたかどうか(すなわち、いずれかのファイル種類の削除順序の値が変更されたかどうか)を判定する。
【0172】
いずれかのファイル種類の削除順序が変更されたときは(ステップS2407肯定)、ステップS2408において、「順序」項目内で同じ値が重複しないようにその他のファイル種類について削除順序の再付与をおこなう。
【0173】
そしてステップS2409において、前記設定画面上のテーブル1901の「順序」項目を、ステップS2408で再付与された値に書き換え、ステップS2403に移行する。また、いずれのファイル種類の削除順序も変更されていないときは(ステップS2407否定)ステップS2410に移行する。
【0174】
ステップS2410において、前記設定画面上のボタン1904(OKボタン)が押下されたかどうかを判定する。ボタン1904が押下されたときは(ステップS2410肯定)、ステップS2411において前記設定画面に示された設定内容をファイル種類テーブル1801aおよび/または削除順序テーブル1802aに書き込む。
【0175】
そしてステップS2412において、ステップS2402で表示した図19の設定画面を消去し、処理を終了する。また、ボタン1904が押下されなかったときは(ステップS2410否定)ステップS2413に移行する。
【0176】
ステップS2413において、前記設定画面上のボタン1905(キャンセルボタン)が押下されたかどうかを判定する。ボタン1905が押下されたときは(ステップS2413肯定)ステップS2412に移行する。ボタン1905が押下されなかったときは(ステップS2413否定)ステップS2403に移行して、操作者による設定情報の入力を受け付ける。
【0177】
図25は、図24におけるステップS2404のファイル種類追加処理の詳細を示すフローチャートである。
【0178】
ステップS2501において、図20に示した設定画面を表示部1805により表示する。そしてステップS2502において、当該設定画面上のボタン2001(OKボタン)が押下されたかどうかを判定する。
【0179】
ボタン2001が押下されたときは(ステップS2502肯定)、新しく設定されたファイル種類に対して、ステップS2503において新たなIDを、またステップS2504において最終の削除順序を、それぞれ付与する。
【0180】
つぎにステップS2505において、図19に示した設定画面のテーブル1901の最下行に新たな行を追加し、「条件」の項目に図20の設定画面により設定された条件を、また「ID」および「削除順序」の項目に、それぞれステップS2503、ステップS2504で付与されたIDと削除順序とを書き込む。そしてステップS2506において、ステップS2501で表示した図20の設定画面を消去し、処理を終了する。
【0181】
また、ボタン2001が押下されなかったときは(ステップS2502否定)、ステップS2507に移行して、ボタン2002(キャンセルボタン)が押下されたかどうかを判定する。ボタン2002が押下されたときは(ステップS2502肯定)ステップS2506に移行し、ボタン2002が押下されなかったときは(ステップS2502否定)ステップS2502に移行して操作者による設定情報の入力を受け付ける。
【0182】
また図26は、図24におけるステップS2406の条件変更処理の詳細を示すフローチャートである。
【0183】
ステップS2601において、図20に示した設定画面を表示部1805により表示する。そしてステップS2602において、当該設定画面上のボタン2001(OKボタン)が押下されたかどうかを判定する。
【0184】
ボタン2001が押下されたときは(ステップS2602肯定)、ステップS2603において、図19に示した設定画面のテーブル1901の、選択されたファイル種類の「条件」の項目に、図20の設定画面により設定された条件を書き込む。そしてステップS2604において、ステップS2601で表示した図20の設定画面を消去し、処理を終了する。
【0185】
また、ボタン2001が押下されなかったときは(ステップS2602否定)、ステップS2605に移行して、ボタン2002(キャンセルボタン)が押下されたかどうかを判定する。ボタン2002が押下されたときは(ステップS2605肯定)ステップS2604に移行し、ボタン2002が押下されなかったときは(ステップS2605否定)ステップS2602に移行して操作者による設定情報の入力を受け付ける。
【0186】
以上説明したように、実施の形態3によれば、キャッシュファイルは操作者により任意に設定された、個々の状況に即した分類と削除順序とにしたがって削除される。これによって、個々の状況に即したより効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能である。
【0187】
(実施の形態4)
さて、上述した実施の形態2にあっては、ファイルの種類およびその削除期限はあらかじめ定められたものをもちいることとしたが、以下に説明する実施の形態4のように、ファイルの種類やその削除期限を操作者が任意に設定または変更できるようにしてもよい。
【0188】
実施の形態4による情報処理装置を含む、情報処理システムのシステム構成は、図1に示した実施の形態1のシステム構成と同様であるので説明を省略する。また、実施の形態4による情報処理装置のハードウェア構成も、図2に示した実施の形態1のハードウェア構成と同様であるので説明を省略する。
【0189】
図27は、実施の形態4による情報処理装置の機能的構成を示すブロック図である。図27において、ファイル記憶部2700、ファイル種類判断部2701、ファイル種類テーブル2701a、ファイル選択部2702、削除期限テーブル2702a、残期間算出部2702bおよびファイル削除部2703は、それぞれ図14のファイル記憶部1400、ファイル種類判断部1401、ファイル種類テーブル1401a、ファイル選択部1402、削除期限テーブル1402a、残期間算出部1402bおよびファイル削除部1403と同様であるので、その説明を省略する。
【0190】
入力部2704は、あるファイル種類に該当するための条件やファイル種類ごとの削除期限を設定する旨の指示、および具体的なその条件や削除期限等を入力する。また表示部2705は、ファイル種類テーブル2701aや削除期限テーブル2702aの内容等を画面表示する。
【0191】
ファイル種類・削除期限設定部2706は、ファイル種類テーブル2701aおよび/または削除期限テーブル2702aの内容を設定(変更を含む)する。ファイル種類・削除期限設定部2706は、図28に示すような設定画面によりファイル種類テーブル2701aおよび削除期限テーブル2702aの内容を表示し、操作者に入力部2704を介して各種設定情報を入力させる。
【0192】
図28はファイル種類・削除期限設定部2706により表示される設定画面の一例を示す説明図である。図28において、2801はファイル種類テーブル2701aと削除期限テーブル2702aとを合成して作成されたテーブルである。
【0193】
なお、ボタン2802,2803,2804および2805は、それぞれ図19のボタン1902,1903,1904および1905と同様であるので説明を省略する。また、これらのボタンによる新たなファイル種類の追加や、既存のファイル種類の条件の変更方法も、実施の形態3と同様であるので説明を省略する。
【0194】
削除期限の変更は、図28のテーブル2801の「期限」の項目の値を直接書き換えることによりおこなう。たとえば、図28の設定画面において、IDが1で示されるファイル種類の「期限」項目の値2にカーソルをあわせ、キーボードから数値3を入力する。この状態でボタン2804を押下することにより、新たな期限3(日後)を削除順序テーブル2702aの所定の領域に書き込むことができる。このようにして変更された削除期限テーブル2702aを図29に示す。
【0195】
なお、ファイル記憶部2700、ファイル種類判断部2701、ファイル選択部2702およびファイル削除部2703は、それぞれROM202、RAM203またはハードディスク205、フロッピーディスク207等の記録媒体に記録されたプログラムに記載された命令にしたがってCPU201等が命令処理を実行することにより、各部の機能を実現するものである。
【0196】
つぎに、本発明の実施の形態4による情報処理装置の処理の流れについて説明する。図30は、実施の形態4による情報処理装置の一連の動作を示すフローチャートである。
【0197】
図30において、ステップS3001からステップS3006までは図24のステップS2401からステップS2406までと、またステップS3009からステップS3012まではステップS2410からステップS2413までと、それぞれ同様であるので説明を省略する。
【0198】
ステップS3007において、図28の設定画面上のテーブル2801の、「期限」項目のいずれかの値にカーソルが位置した状態で数値が入力されたかどうか(すなわち期限が変更されたかどうか)を判定する。ここで、期限が変更されたときは(ステップS3007肯定)、ステップS3008において設定画面上の変更前の値を変更後の値で置き換え、ステップS3003に移行する。期限が変更されていないときは(ステップS3007否定)、ステップS3009に移行する。
【0199】
以上説明したように、実施の形態4によれば、キャッシュファイルは操作者により任意に設定された、個々の状況に即した分類と削除期限とにしたがって削除される。これによって、個々の状況に即したより効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能である。
【0200】
【発明の効果】
以上説明したように、この発明によれば、記憶手段が前記キャッシュファイルを記憶し、判断手段が前記記憶手段に記憶されたキャッシュファイルの種類を判断し、選択手段が前記キャッシュファイルの種類ごとに定められた前記記憶手段からの削除の順序にもとづいて、前記記憶手段に記憶されたキャッシュファイルの中から所定個数のキャッシュファイルを選択し、削除手段が前記選択手段により選択されたキャッシュファイルを前記記憶手段から削除するため、キャッシュファイルとして保存しておく価値が低い種類に属するファイルは優先的に前記記憶手段から削除され、これによってより効率的なファイルのキャッシュをおこない、システム全体の処理効率を向上させることが可能な情報処理装置が得られるという効果を有する。
【0201】
また、この発明によれば、記憶手段が前記キャッシュファイルを記憶し、判断手段が前記記憶手段に記憶されたキャッシュファイルの種類を判断し、選択手段が前記キャッシュファイルの種類ごとに定められた前記記憶手段からの削除の期限にもとづいて、前記記憶手段に記憶されたキャッシュファイルの中から所定個数のキャッシュファイルを選択し、削除手段が前記選択手段により選択されたキャッシュファイルを前記記憶手段から削除するため、キャッシュファイルとして保存しておく価値が低い種類に属するファイルは取得後早期に前記記憶手段から削除され、これによってより効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能な情報処理装置が得られるという効果を有する。
【0202】
また、この発明によれば、上記の発明において、前記判断手段は、前記記憶手段に記憶されたキャッシュファイルに格納されているデータの種類にもとづいて当該キャッシュファイルの種類を判断するため、キャッシュファイルは当該ファイルに格納されているデータの種類という、容易に把握可能な要素にもとづく簡易な処理により分類され、これによって処理負荷の増大を抑えながら、より効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能な情報処理装置が得られるという効果を有する。
【0203】
また、この発明によれば、上記の発明において、前記判断手段は、前記記憶手段に記憶されたキャッシュファイルに格納されているデータの種類および大きさにもとづいて当該キャッシュファイルの種類を判断するため、キャッシュファイルは当該ファイルに格納されているデータの種類および大きさという、容易に把握可能な要素にもとづく簡易な処理により分類され、これによって処理負荷の増大を抑えながら、より効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能な情報処理装置が得られるという効果を有する。
【0204】
また、この発明によれば、上記の発明において、さらに、キャッシュファイルの種類を設定する第一の設定手段を備え、前記判断手段は、前記第一の設定手段により設定されたキャッシュファイルの種類にもとづいて前記記憶手段に記憶されたキャッシュファイルの種類を判断するため、キャッシュファイルは操作者により任意に設定された、個々の状況に即した分類によって各々の種類に分類され、これによってより効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能な情報処理装置が得られるという効果を有する。
【0205】
また、この発明によれば、上記の発明において、さらに、キャッシュファイルの種類ごとに前記記憶手段からの削除の順序を設定する第二の設定手段を備え、前記選択手段は、前記第二の設定手段により設定された削除の順序にもとづいて、前記記憶手段に記憶されたキャッシュファイルの中から所定個数のキャッシュファイルを選択するため、キャッシュファイルは操作者により任意に設定された、個々の状況に即した順序によって前記記憶手段から削除され、これによってより効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能な情報処理装置が得られるという効果を有する。
【0206】
また、この発明によれば、上記の発明において、さらに、キャッシュファイルの種類ごとに前記記憶手段からの削除の期限を設定する第二の設定手段を備え、前記選択手段は、前記第二の設定手段により設定された削除の期限にもとづいて、前記記憶手段に記憶されたキャッシュファイルの中から所定個数のキャッシュファイルを選択するため、キャッシュファイルは操作者により任意に設定された、個々の状況に即した時期に前記記憶手段から削除され、これによってより効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能な情報処理装置が得られるという効果を有する。
【0207】
また、この発明によれば、前記キャッシュファイルの種類を判断する判断工程と、前記キャッシュファイルの種類ごとに定められた削除の順序にもとづいて、前記キャッシュファイルの中から所定個数のキャッシュファイルを選択する選択工程と、前記選択工程により選択されたキャッシュファイルを削除する削除工程と、を含んだため、キャッシュファイルとして保存しておく価値が低い種類に属するファイルは優先的に削除され、これによってより効率的なファイルのキャッシュをおこない、システム全体の処理効率を向上させることが可能な情報処理方法が得られるという効果を有する。
【0208】
また、この発明によれば、前記キャッシュファイルの種類を判断する判断工程と、前記キャッシュファイルの種類ごとに定められた削除の期限にもとづいて、前記キャッシュファイルの中から所定個数のキャッシュファイルを選択する選択工程と、前記選択工程により選択されたキャッシュファイルを削除する削除工程と、を含んだため、キャッシュファイルとして保存しておく価値が低い種類に属するファイルは取得後早期に削除され、これによってより効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能な情報処理方法が得られるという効果を有する。
【0209】
また、この発明によれば、上記の発明において、前記判断工程は、前記キャッシュファイルに格納されているデータの種類にもとづいて当該キャッシュファイルの種類を判断するため、キャッシュファイルは当該ファイルに格納されているデータの種類という、容易に把握可能な要素にもとづく簡易な処理により分類され、これによって処理負荷の増大を抑えながら、より効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能な情報処理方法が得られるという効果を有する。
【0210】
また、この発明によれば、上記の発明において、前記判断工程は、前記キャッシュファイルに格納されているデータの種類および大きさにもとづいて当該キャッシュファイルの種類を判断するため、キャッシュファイルは当該ファイルに格納されているデータの種類および大きさという、容易に把握可能な要素にもとづく簡易な処理により分類され、これによって処理負荷の増大を抑えながら、より効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能な情報処理方法が得られるという効果を有する。
【0211】
また、この発明によれば、上記の発明において、さらに、キャッシュファイルの種類を設定する第一の設定工程を備え、前記判断工程は、前記第一の設定工程により設定されたキャッシュファイルの種類にもとづいて前記キャッシュファイルの種類を判断するため、キャッシュファイルは操作者により任意に設定された、個々の状況に即した分類によって各々の種類に分類され、これによってより効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能な情報処理方法が得られるという効果を有する。
【0212】
また、この発明によれば、上記の発明において、さらに、キャッシュファイルの種類ごとに削除の順序を設定する第二の設定工程を含み、前記選択工程は、前記第二の設定工程により設定された削除の順序にもとづいて、前記キャッシュファイルの中から所定個数のキャッシュファイルを選択するため、キャッシュファイルは操作者により任意に設定された、個々の状況に即した順序によって削除され、これによってより効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能な情報処理方法が得られるという効果を有する。
【0213】
また、この発明によれば、上記の発明において、さらに、キャッシュファイルの種類ごとに削除の期限を設定する第二の設定工程を含み、前記選択工程は、前記第二の設定工程により設定された削除の期限にもとづいて、前記キャッシュファイルの中から所定個数のキャッシュファイルを選択するため、キャッシュファイルは操作者により任意に設定された、個々の状況に即した時期に削除され、これによってより効率的なファイルのキャッシュがおこなえるとともに、システム全体の処理効率を向上させることが可能な情報処理方法が得られるという効果を有する。
【0214】
また、この発明によれば、上記の方法をコンピュータに実行させるプログラムを記録したため、これによって、上記の処理をコンピュータに実行させることが可能となるという効果を有する。
【図面の簡単な説明】
【図1】本発明の実施の形態1による情報処理装置を含む、ファイルの送受信システムのシステム構成を示すブロック図である。
【図2】実施の形態1による情報処理装置のハードウェア構成を示すブロック図である。
【図3】実施の形態1による情報処理装置の機能的構成を示すブロック図である。
【図4】実施の形態1によるサーバ101に保持されているホームページAの外観の一例を示す説明図である。
【図5】実施の形態1によるファイル種類テーブル301aの一例を示す説明図である。
【図6】実施の形態1によるサーバ101に保持されているホームページAの外観の他の一例を示す説明図である。
【図7】実施の形態1によるファイル種類テーブル301aの他の一例を示す説明図である。
【図8】実施の形態1によるファイル種類判断部301により作成される、作業用のテーブルの一例を示す説明図である。
【図9】実施の形態1によるファイル種類判断部301により作成される、作業用のテーブルの他の一例を示す説明図である。
【図10】実施の形態1による削除順序テーブル302aの一例を示す説明図である。
【図11】実施の形態1による削除順序テーブル302aの他の一例を示す説明図である。
【図12】実施の形態1による情報処理装置の一連の動作を示すフローチャートである。
【図13】実施の形態1におけるファイル記憶部300の内部の状態の変化を示す説明図である。
【図14】実施の形態2による情報処理装置の機能的構成を示すブロック図である。
【図15】実施の形態2による削除期限テーブル1402aの一例を示す説明図である。
【図16】実施の形態2による残期間算出部1402bにより作成される、作業用のテーブルの一例を示す説明図である。
【図17】実施の形態2による情報処理装置の一連の動作を示すフローチャートである。
【図18】実施の形態3による情報処理装置の機能的構成を示すブロック図である。
【図19】実施の形態3によるファイル種類・削除順序設定部1806により表示される、設定画面の一例を示す説明図である。
【図20】実施の形態3によるファイル種類・削除順序設定部1806により表示される、設定画面の他の一例を示す説明図である。
【図21】実施の形態3によるファイル種類・削除順序設定部1806により表示される、設定画面の他の一例を示す説明図である。
【図22】実施の形態3によるファイル種類・削除順序設定部1806により変更された、ファイル種類テーブル1801aの一例を示す説明図である。
【図23】実施の形態3によるファイル種類・削除順序設定部1806により変更された、削除順序テーブル1802aの一例を示す説明図である。
【図24】実施の形態3による情報処理装置の一連の動作を示すフローチャートである。
【図25】図24におけるステップS2404のファイル種類追加処理の詳細を示すフローチャートである。
【図26】図24におけるステップS2406の条件変更処理の詳細を示すフローチャートである。
【図27】実施の形態4による情報処理装置の機能的構成を示すブロック図である。
【図28】実施の形態4によるファイル種類・削除期限設定部2706により表示される、設定画面の一例を示す説明図である。
【図29】実施の形態4によるファイル種類・削除期限設定部2706により変更された、削除期限テーブル2702aの一例を示す説明図である。
【図30】実施の形態4による情報処理装置の一連の動作を示すフローチャートである。
【符号の説明】
100 ネットワーク
101、102、103、104 サーバ
105、106、107 クライアント
108 キャッシュコンピュータ
200 バス
201 CPU
202 ROM
203 RAM
204 HDD
205 HD
206 FDD
207 FD
208 ディスプレイ
209 I/F
210 通信回線
211 キーボード
212 マウス
300、1400、1800、2700 ファイル記憶部
301、1401、1801、2701 ファイル種類判断部
301a、1401a、1801a、2701a ファイル種類テーブル
302、1402、1802、2702 ファイル選択部
302a、1802a 削除順序テーブル
303、1403、1803、2703 ファイル削除部
1402a、2702a 削除期限テーブル
1402b、2702b 残期間算出部
[0001]
BACKGROUND OF THE INVENTION
The present invention stores a file transmitted / received between a plurality of information processing apparatuses as a cache file, and receives a file transmission request from a certain information processing apparatus or from another information processing apparatus. Prior to transferring a transmission request for a certain information processing apparatus to another information processing apparatus, the cache file is examined to determine whether there is a file that is the same as the target of the transmission request. The present invention relates to an information processing apparatus having a so-called cache function, an information processing method, and a computer-readable recording medium storing a program for causing a computer to execute the method.
[0002]
[Prior art]
Documents, images, sounds, etc. are stored as electronic files in an information processing device such as a host computer or personal computer, and in response to a request from another information processing device connected via a network, the request Information that is the source of the request for the target file (exactly a copy of it, but in the following, both files and file copies are referred to as files unless otherwise required) Conventionally, transmission to a processing apparatus has been performed.
[0003]
A typical example of such a system is the so-called Internet that relays networks all over the world, and various intranets that apply the technologies used there to networks in an organization.
[0004]
In such a system, even if the file is not in the currently used information processing device, if the file is managed by any of the information processing devices connected to the network, the file is By simply requesting transmission, browsing or the like becomes possible.
[0005]
However, when the same file is required many times, especially when the information processing device that stores it is physically or far away in the path, it takes time to send and receive files. If you ordered from the source, work efficiency is poor. Even as a storage source, the load corresponding to the request becomes large each time. In addition, it may cause congestion of the entire network.
[0006]
In order to solve such problems, information processing on a communication path from an information processing apparatus that requires a file (hereinafter referred to as “client”) to an information processing apparatus that holds the file (hereinafter referred to as “server”). It is considered that a copy of a file received by the information processing apparatus in the past from the server is stored as a “cache file” (or simply “cache”) in the apparatus or the client itself.
[0007]
Note that storing a copy of a file as a cache file is generally referred to as “cache the file” or “cache the file”. In addition, when an information processing device on a path between a server and a client performs file caching, the information processing device may be particularly called a “cache computer”.
[0008]
When the information processing apparatus on the path between the server and the client performs file caching, when the cache computer receives a file transmission request from a client to a server, the cache computer It checks whether a copy of the file on the target server is stored as a cache file in the storage area managed by the server.
[0009]
When the file transmission request is not stored, the received file transmission request is transferred (relayed) as it is. When the file transmission request is stored, the cache is held by itself instead of the server that is the destination of the request. It is determined whether the file can be transmitted to the client that is the source of the request.
[0010]
Specifically, the cache computer notifies the server that is the destination of the request of the acquisition date and time of the cache file, that is, the date and time when the original file was transmitted and received via the cache computer. If the original file has been changed on the server after that date, the changed file is sent to itself, and if it has not been changed, only a response indicating that there is no change is sent to itself. Request to be notified.
[0011]
The server that has received the request compares the acquisition date and time of the received cache file with the last update date and time of the original file in its own device, and determines whether or not the file has been changed. Specifically, if the acquisition date / time of the cache file is earlier than the last update date / time of the original file, it is determined that there has been a change. Conversely, if it is late, it is determined that there was no change. When there is a change, the file after the change is sent to the cache computer, and when there is no change, a response to that effect is sent to the cache computer.
[0012]
In the cache computer, when a file is transmitted, the received file is transmitted to the requesting client. When it is notified that there is no change, the cache file held by itself is transmitted to the requesting client.
[0013]
In addition, if the client caches the file itself, before the client requests the server to send the file, the copy of the file on the server that is the target of the request is copied as a cache file. It is checked whether it is stored in the storage area managed by.
[0014]
When it is not stored, it sends a normal file transmission request to the server, but when it is stored, it indicates the acquisition date and time of the cache file, and the original file has been changed on the server after that date and time. If the file has not been changed, only the response indicating that the file has not been changed is requested.
[0015]
The server determines whether or not the file has been changed in the same manner as described above, and sends a response indicating that there is no change or the file after the change to the client. The client uses the received file when the file is transmitted, and uses the cache file held by itself for various operations such as browsing and editing when it is notified that there is no change.
[0016]
In this way, when the original file on the server and the cache file are completely the same, by not sending the original file from the server, the work efficiency for the client deteriorates, the load on the server increases, And trying to prevent congestion of the entire network.
[0017]
By the way, since the storage capacity of an information processing apparatus that performs caching is finite, cache files cannot be stored indefinitely. Therefore, when the free space on the hard disk to store the cache file is reduced as a result of the file being sent and received one after another, any of the cache files that have already been stored will be deleted sequentially based on any criteria There is a need to continue to.
[0018]
As one of the standards, there is a method of deleting files in order from the earliest (old) file, specifically, LRU (Least Recently Used). In this LRU method, for example, a plurality of files constituting a part of one home page have the same time when their duplicates are acquired as a cache (normally, various files constituting a certain homepage are Since it is transmitted from the server to the client at the same time, the cache file acquisition time is also the same), and is simultaneously deleted from the cache storage area.
[0019]
Here, for example, when comparing a file that stores text such as articles on a homepage with a file that stores small images such as icons and marks, in general, the file that stores text is more likely to be updated. Files that contain small images are not likely to change much.
[0020]
Therefore, even if a copy of the file storing the text is saved as a cache file, if the next request for browsing the same file occurs, the original file on the server is changed at that time, Since there is a difference between the file and the cache file, there is a high possibility that the file after the change must be obtained from the server again.
[0021]
On the other hand, if a copy of the file containing the image is saved as a cache file, the next time a request for the same file occurs, the cache file can be replayed instead, without having to obtain the file from the server. More likely to be available.
[0022]
[Problems to be solved by the invention]
However, in the above prior art, when discarding a cache file, only the acquisition time of the cache file is considered, and the above characteristics for each file type are not taken into consideration, Since the cache file with high availability and the cache file with low availability are deleted at the same time, the file cache cannot be effectively used for sending and receiving files, and the efficiency of the entire system is lowered. was there.
[0023]
In order to solve the above-described problems caused by the prior art, the present invention considers the characteristics of individual files and effectively uses a file cache to improve the processing efficiency of the entire system. An object of the present invention is to provide an information processing method and a computer-readable recording medium on which a program for causing a computer to execute the method is recorded.
[0024]
[Means for Solving the Problems]
In order to solve the above-mentioned problems and achieve the purpose, this The information processing apparatus according to the invention is an information processing apparatus having a cache function for storing a file transmitted / received between a plurality of information processing apparatuses as a cache file, and is stored in the storage means for storing the cache file and in the storage means A predetermined number of cache files out of the cache files stored in the storage means based on a determination means for determining the type of the cache file and a deletion order from the storage means determined for each cache file type. It comprises selection means for selecting a file, and deletion means for deleting the cache file selected by the selection means from the storage means.
[0025]
this According to the present invention, by predetermining the deletion order of files belonging to a type having a low value stored as a cache file, these files are deleted from the storage means preferentially.
[0026]
Also, this The information processing apparatus according to the invention is an information processing apparatus having a cache function for storing a file transmitted / received between a plurality of information processing apparatuses as a cache file, and is stored in the storage means for storing the cache file and in the storage means A predetermined number of cache files out of the cache files stored in the storage means based on a determination means for determining the type of the cache file and a time limit for deletion from the storage means determined for each type of the cache file It comprises selection means for selecting a file, and deletion means for deleting the cache file selected by the selection means from the storage means.
[0027]
this According to the invention, by setting the deletion deadline of files belonging to a type having a low value to be stored as a cache file, these files are deleted from the storage means early after acquisition.
[0028]
Also, this An information processing apparatus according to the invention includes: the above In the invention, the determination unit determines the type of the cache file based on the type of data stored in the cache file stored in the storage unit.
[0029]
this According to the invention, the cache file is classified by a simple process based on an easily understandable element such as the type of data stored in the file.
[0030]
Also, this An information processing apparatus according to the invention includes: the above In the invention, the determination unit determines the type of the cache file based on the type and size of data stored in the cache file stored in the storage unit.
[0031]
this According to the invention, cache files are classified by simple processing based on easily understandable elements such as the type and size of data stored in the files.
[0032]
Also, this An information processing apparatus according to the invention includes: the above In the invention, further comprising first setting means for setting a cache file type, wherein the determination means is stored in the storage means based on the cache file type set by the first setting means. It is characterized by determining the type of cache file.
[0033]
this According to the invention, the cache file is classified into each type according to the classification according to the individual situation arbitrarily set by the operator.
[0034]
Also, this An information processing apparatus according to the invention includes: the above In the invention of claim 1, further comprising second setting means for setting the order of deletion from the storage means for each type of cache file, wherein the selection means follows the deletion order set by the second setting means. Basically, a predetermined number of cache files are selected from the cache files stored in the storage means.
[0035]
this According to the invention, the cache file is deleted from the storage means in an order according to each situation arbitrarily set by the operator.
[0036]
Also, this An information processing apparatus according to the invention includes: the above In the invention, further comprising second setting means for setting a deletion deadline from the storage means for each type of cache file, wherein the selection means sets the deletion deadline set by the second setting means. Basically, a predetermined number of cache files are selected from the cache files stored in the storage means.
[0037]
this According to the invention, the cache file is deleted from the storage means at a time that is arbitrarily set by the operator and according to each situation.
[0038]
Also, this An information processing method according to the invention includes a determination step of determining a type of the cache file in an information processing method having a cache function of storing a file transmitted / received between a plurality of information processing apparatuses as a cache file, A selection step of selecting a predetermined number of cache files from the cache files based on a deletion order determined for each type, and a deletion step of deleting the cache files selected by the selection step. It is characterized by that.
[0039]
this According to the present invention, by predetermining the deletion order of files belonging to a type having a low value stored as a cache file, these files are deleted preferentially.
[0040]
Also, this An information processing method according to the invention includes a determination step of determining a type of the cache file in an information processing method having a cache function of storing a file transmitted / received between a plurality of information processing apparatuses as a cache file, A selection step of selecting a predetermined number of cache files from the cache files based on a deletion deadline determined for each type, and a deletion step of deleting the cache files selected by the selection step. It is characterized by that.
[0041]
this According to the invention, by setting the deletion deadline of files belonging to a type that is low in value to be stored as a cache file, these files are deleted early after acquisition.
[0042]
Also, this An information processing method according to the invention includes: the above In the invention, the determining step determines the type of the cache file based on the type of data stored in the cache file.
[0043]
this According to the invention, the cache file is classified by a simple process based on an easily understandable element such as the type of data stored in the file.
[0044]
Also, this An information processing method according to the invention includes: the above In the invention, the determining step determines the type of the cache file based on the type and size of the data stored in the cache file.
[0045]
this According to the invention, cache files are classified by simple processing based on easily understandable elements such as the type and size of data stored in the files.
[0046]
Also, this An information processing method according to the invention includes: the above The invention further includes a first setting step of setting a cache file type, wherein the determining step determines the cache file type based on the cache file type set by the first setting step. It is characterized by doing.
[0047]
this According to the invention, the cache file is classified into each type according to the classification according to the individual situation arbitrarily set by the operator.
[0048]
Also, this An information processing method according to the invention includes: the above In the invention of claim 1, further comprising a second setting step for setting a deletion order for each type of cache file, wherein the selection step is based on the deletion order set by the second setting step. A predetermined number of cache files are selected from the files.
[0049]
this According to the invention, the cache file is deleted in an order according to each situation arbitrarily set by the operator.
[0050]
Also, this An information processing method according to the invention includes: the above In the invention of claim 1, further comprising a second setting step for setting a deletion deadline for each type of cache file, wherein the selecting step is based on the deletion deadline set by the second setting step. A predetermined number of cache files are selected from the files.
[0051]
this According to the invention, the cache file is deleted at a time that is arbitrarily set by the operator and according to each situation.
[0052]
Also, this The storage medium according to the invention is: the above A program for causing a computer to execute the method described in 1) is recorded.
[0053]
this According to the invention, the above By recording a program that causes a computer to execute the method described in any one of the above, the program can be machine-readable, the above Can be realized by a computer.
[0054]
DETAILED DESCRIPTION OF THE INVENTION
Exemplary embodiments of an information processing apparatus, an information processing method, and a computer-readable recording medium recording a program for causing a computer to execute the method will be described below in detail with reference to the accompanying drawings. .
[0055]
(Embodiment 1)
First, a system configuration of a file transmission / reception system including the information processing apparatus according to the first embodiment of the present invention will be described. FIG. 1 is a block diagram illustrating a system configuration of a file transmission / reception system including a cache computer that is an information processing apparatus according to the first embodiment.
[0056]
In FIG. 1, reference numerals 101, 102, 103, and 104 denote servers that hold files and transmit them in response to requests, and 105, 106, and 107 correspond to any of the servers 101, 102, 103, and 104, respectively. Client requesting file transmission. Servers 101, 102, 103, 104 and clients 105, 106, 107 are connected by a network 100 via a cache computer 108.
[0057]
For convenience of explanation, the cache computer 108 is provided separately from the clients 105, 106, and 107. However, the files received by the clients 105, 106, and 107 themselves may be cached.
[0058]
The server 101 has files A1, A2, A3 and A4 constituting the homepage A, the server 102 has files B1 and B2 which constitute the homepage B, the server 103 has files C1, C2 and C3 which constitute the homepage C, and the server 104. Holds the files D1 and D2 constituting the home page D, respectively. The files A1, B1, C1, and D1 store character string (text) data, and the other files store image (image) data.
[0059]
Reference numeral 108 denotes a cache computer that caches files. The cache computer 108 forms the home page A as a result of the sequential transmission and reception of files constituting the home pages A, B, and C between any of the servers 101, 102, and 103 and any of the clients 105, 106, and 107. Cache files a1, a2, A3, a4 of files A1, A2, A3, A4 to be executed, files B1, B2 of files B1, B2 constituting B, and a cache file c1 of files C1, C2, C3 constituting C , C2, and c3 are stored.
[0060]
Next, the hardware configuration of the information processing apparatus according to the first embodiment of the present invention will be described. FIG. 2 is a block diagram illustrating a hardware configuration of the information processing apparatus according to the first embodiment. In FIG. 2, 201 indicates a CPU that controls the entire system, 202 indicates a ROM that stores a boot program and the like, and 203 indicates a RAM that is used as a work area of the CPU 201.
[0061]
Reference numeral 204 denotes an HDD (hard disk drive) that controls reading / writing of data with respect to the HD (hard disk) 205 according to the control of the CPU 201, 205 denotes an HD that stores data written by the control of the HDD 204, and 206 denotes the CPU 201. Reference numeral 207 denotes an FDD (floppy disk drive) that controls reading / writing of data with respect to the FD (floppy disk) 207 according to the control, and 207 denotes a removable FD that stores data written by the control of the FDD 206.
[0062]
Reference numeral 208 denotes a display for displaying a window related to data such as a document, an image, and function information including a cursor, an icon or a tool box, and 209 is connected to the network 100 in FIG. 2 shows an interface (I / F) that controls the interface with the inside.
[0063]
211 is a keyboard having a plurality of keys for inputting characters, numerical values, various instructions, and 212 is a cursor movement, range selection, window movement, size change, icon selection, movement, etc. Each mouse is shown. Reference numeral 200 denotes a bus for connecting the above-described units.
[0064]
Next, a functional configuration of the information processing apparatus according to the first embodiment of the present invention will be described. FIG. 3 is a block diagram illustrating a functional configuration of the information processing apparatus according to the first embodiment.
[0065]
In the block diagram of FIG. 3, the information processing apparatus includes a file storage unit 300, a file type determination unit 301, a file selection unit 302, and a file deletion unit 303. The file type determination unit 301 includes a file type table 301a, and the file selection unit 302 includes a deletion order table 302a.
[0066]
When a file is transmitted / received via the information processing apparatus, the file storage unit 300 takes a copy of the file and stores it along with the acquisition date / time, that is, the date / time when the file was transmitted / received via the information processing apparatus. . At this time, if there is not enough free space to store a new cache file, any of the cache files already stored by the file type determination unit 301, the file selection unit 302, and the file deletion unit 303, which will be described later, is stored. To secure the necessary storage area.
[0067]
The file type determination unit 301 determines the type of cache file stored in the file storage unit 300 with reference to a file type table 301a indicating various conditions for classifying a certain cache file into a certain type. Then, a work table is created in which each cache file is associated with its type.
[0068]
Here, the cache file is classified into several types based on the possibility of change in the server of the file that is the source of the cache file. However, in the cache computer, it is difficult to accurately grasp when the original file on the server is changed or when it is changed.
[0069]
In other words, it is accurate if, for example, the next scheduled update date and time of the file is added at the time of transmission / reception of the file, but it is not common to add the update schedule information to the file in a currently popular system. Therefore, in the first embodiment, the change possibility of the file is approximately obtained from the type and / or size of the data stored in the file, and the cache is determined according to the approximate change possibility. Different types of files are distinguished.
[0070]
Next, the types of cache files will be described with more specific examples. FIG. 4 is an explanatory diagram showing an example of the appearance of the home page A held in the server 101.
[0071]
In FIG. 4, a character string such as “XX homepage” and link information for files A2, A3, and A4 storing various images described below are a file A1 storing character string (text) data. It is described in.
[0072]
In FIG. 4, 401 is a symbol mark of the company providing the home page, and is stored in the file A2. An update mark 402 indicates that the article item is new, and is stored in the file A3. Reference numeral 403 denotes a simple symbol for decoration, which is stored in the file A4.
[0073]
In the example of FIG. 4, the text stored in the file A1 is expected to be updated relatively frequently, but the contents of the files A2, A3 and A4 storing images such as symbol marks are almost changed. It seems that there is nothing. Therefore, the cache file is divided into a file storing character string (text) data and a file storing image (image) data based on the possibility of change in the server of the file that is the source of the cache file. Classify into two types.
[0074]
FIG. 5 is an explanatory diagram showing an example of the file type table 301a in this case. In FIG. 5, an item “ID” represents a serial number assigned to distinguish and specify the type of each file. The item “condition” represents various conditions for a certain file to correspond to the file type.
[0075]
FIG. 6 is an explanatory diagram showing another example of the appearance of the home page A held in the server 101. In FIG. 6, a character string such as “Overview: Low pressure falls over the East Sea of Hokkaido,...” And link information for files A2, A3 and A4 storing various images described below are character strings. It is described in the file A1 storing (text) data.
[0076]
Reference numerals 601 and 602 denote buttons, which are stored in file A2 and file A3, respectively. A weather map 603 is stored in the file A4.
[0077]
Even if the file contains the same image data, small (small data) image files such as marks and buttons are not changed much, but large image files such as weather maps are updated relatively frequently. May be.
[0078]
Therefore, in the example of FIG. 6, the file types are classified into three types, for example, a file storing character string data, a file storing image data of 100 KB or more, and a file storing image data of less than 100 KB. FIG. 7 is an explanatory diagram showing an example of the file type table 301a in this case.
[0079]
File classification is not limited to the above, for example, a file storing GIF format image data and a file storing JPEG format image data, or a file storing audio in addition to character strings and images A file type such as a file storing a moving image may be provided.
[0080]
The file type determination unit 301 takes out the cache files stored in the file storage unit 300 one by one and refers to the file type table 301a shown in FIGS. 5 and 7 to which file type the cache file corresponds. Judge whether to do.
[0081]
Note that the type of data stored in a cache file (whether it is a character string or an image, etc.) depends on the extension included in the name of the original file or when the original file is transmitted. Judgment is made by referring to the information of the header part given by the communication protocol. For example, character string data is stored in a file whose extension is “.htm” or whose header describes “text / plain”.
[0082]
Then, the file type determination unit 301 creates a work table in which each cache file is associated with the type to which it belongs. FIG. 8 is an explanatory diagram showing an example of the work table when the file type table 301a is as shown in FIG.
[0083]
In FIG. 8, an item “ID” indicates an ID of a file type, and an item “file” indicates a cache file corresponding to the type. For example, the file type indicated by the ID “1” on condition that the cache file stores character string data includes a1, a1 among the cache files stored in the storage unit 300. b1 and c1 are classified.
[0084]
FIG. 9 is an explanatory diagram showing another example of the work table when the file type table 301a is as shown in FIG. In FIG. 9, for example, only a4 of the cache files stored in the storage unit 300 is classified as the file type indicated by the ID of 2 on condition that image data of 100 KB or more is stored. .
[0085]
The file selection unit 302 refers to the deletion order table 302a and selects a cache file to be deleted from the cache files in the file storage unit 300. Here, in the deletion order table 302a, the order of deletion from the file storage unit 300 is determined for each file type. More specifically, the order of deletion is determined in the order from the file type with the highest possibility of change to the file type with the low possibility of change.
[0086]
FIG. 10 is an explanatory diagram showing an example of the deletion order table 302a when the file types are the two types shown in FIG. In FIG. 10, the item “ID” is the same as the item “ID” in FIG. 5 and represents a serial number assigned to distinguish and specify the type of each file.
[0087]
In addition, the item “order” indicates in what order each type of file specified by the ID is deleted from the file storage unit 300. In FIG. 10, a file storing character string data is determined to be deleted before a file storing image data.
[0088]
FIG. 11 is an explanatory diagram showing an example of the deletion order table 302a when the file types are the three types shown in FIG. In FIG. 11, first, a file storing image data of 100 KB or more is deleted, then a file storing character string data is deleted, and finally a file storing image data less than 100 KB is deleted. It has been established.
[0089]
In this way, by considering not only the type of data stored in the file but also its size, it is possible to classify the file more finely based on its changeability (thus, the characteristics of each file) And the file storage unit 300 can be prevented from being compressed by a file having a large amount of data.
[0090]
The file deletion unit 303 deletes the file selected by the file selection unit 302 from the file storage unit 300.
[0091]
Note that the file storage unit 300, the file type determination unit 301, the file selection unit 302, and the file deletion unit 303 are in accordance with instructions described in programs recorded in a recording medium such as the ROM 202, the RAM 203 or the hard disk 205, the floppy disk 207, respectively. Therefore, the function of each unit is realized by the CPU 201 and the like executing instruction processing.
[0092]
Next, a processing flow of the information processing apparatus according to the first embodiment of the present invention will be described. FIG. 12 is a flowchart showing a series of operations of the information processing apparatus according to the first embodiment.
[0093]
First, in step S1201, it is checked whether or not the free space of the file storage unit 300 is sufficient. If it is sufficient (Yes in step S1201), the process is terminated. Transition.
[0094]
In step S1202, 1 is set to a variable m indicating any one of the cache files stored in the file storage unit 300. Next, in step S1203, the type of the cache file indicated by the variable m is determined with reference to the file type table 301a. Then, the cache file name and the file type ID are stored in association with the work table.
[0095]
In step S1204, m is incremented by one, and in subsequent step S1205, it is determined whether m is equal to or less than the total number M of cache files stored in the file storage unit 300.
[0096]
Here, if m is equal to or less than M (Yes at step S1205), it means that there is a cache file whose type has not been determined yet, so the process proceeds to step S1203 and the above processing is repeated for the remaining cache files. On the other hand, if m exceeds M (No in step S1205), it means that the types of all cache files stored in the file storage unit 300 have been determined, and the process proceeds to step S1206.
[0097]
In step S1206, 1 is set to a variable n indicating the order of the file belonging to the file type in the deletion order to be deleted. In step S1207, the cache files stored in the file storage unit 300 are all selected that belong to the file type whose deletion order is n.
[0098]
For example, assume that the file type table 301a is as shown in FIG. 5, the deletion order table is as shown in FIG. 10, and the work table created by the file type determining unit 301 in step S1203 is as shown in FIG.
[0099]
Here, since n is 1, the file type in which the deletion order is set to 1 in FIG. 10, that is, the ID is 1, and according to FIG. 5, the data stored in the file is a character string. All files belonging to the file type as a condition are selected. Referring to the work table shown in FIG. 8, specifically, the files are a1, b1, and c1.
[0100]
In step S1208, the cache file selected in step S1207 is deleted from the file storage unit 300. Thereafter, in step S1209, it is determined whether or not sufficient free space has been secured in the file storage unit 300 by the above processing.
[0101]
If sufficient free space is secured (Yes at step S1209), the process is terminated. When a sufficient free area cannot be secured (No at Step S1209), n is incremented by one at Step S1210, and the process returns to Step S1207 to repeat the above processing.
[0102]
That is, in the same example as above, when the processing of step S1207 and step S1208 is performed again, since n is 2, files belonging to the file type in which the deletion order is set to 2, specifically, a2, a3, a4, b2, c2 and c3 are deleted from the file storage unit 300. In this way, cache files are deleted in the order of a predetermined deletion order until a sufficient free area can be secured in the file storage unit 300.
[0103]
A specific example will be used to explain how the internal state of the file storage unit 300 changes before and after the above processing. FIG. 13 is an explanatory diagram illustrating changes in the internal state of the file storage unit 300 according to the first embodiment.
[0104]
FIG. 13A is an explanatory diagram illustrating a state of the file storage unit 300 before the above processing is performed.
[0105]
As described above, the file storage unit 300 of the cache computer 108 transmits and receives the files constituting the home pages A, B, and C between any of the servers 101, 102, and 103 and any of the clients 105, 106, and 107. As a result, the cache files a1, a2, a3, a4 constituting the home page A, the cache files a1, a2, a3, a4, and the files B1, B2 constituting the cache file b1, b2, and C are constructed. Cache files c1, c2, and c3 of files C1, C2, and C3 are accumulated. In FIG. 13, the shaded area represents an empty area.
[0106]
In this state, for example, it is assumed that the client 105 issues a transmission request for the files D1 and D2 to the server 104, and the files D1 and D2 are transmitted from the server 104 to the client 105 via the cache computer 108 in response to the request.
[0107]
If the size of the cache file d1 of the file D1 and the size of the cache file d2 of the file D2 are as shown in FIG. 13B, the file storage unit 300 in the state of FIG. There is not enough free space to store
[0108]
Therefore, if the file type table is as shown in FIG. 5 and the deletion order table is as shown in FIG. 10, the files a1, b1 and c1 belonging to the file type with the earliest deletion order as described above are deleted from the file storage unit 300. Is done. Then, d1 and d2 are stored in the free space thus obtained.
[0109]
In this example, since the storage area necessary for storing d1 and d2 can be obtained simply by deleting a1, b1 and c1, files belonging to the file types whose deletion order is 2 or less, specifically a2, a3, a4, b2, c1 and c2 are not deleted.
[0110]
FIG. 13C is an explanatory diagram illustrating an internal state of the file storage unit 300 after the above processing is performed. The file d2 is stored separately in two parts d2-1 and d2-2 because a continuous free area sufficient to store the file d2 was not obtained.
[0111]
In this state, for example, if a request to browse homepage A is generated in the client 106, a2, a3 and a4 are still left in the cache computer 108, and there is a possibility that A2, A3 and A4 have been changed by the server 104. In other words, it can be determined that the cache files a2, a3, and a4 and the files A2, A3, and A4 that are the original files are highly likely to be completely the same at this time.
[0112]
Therefore, it is determined that it is highly likely that the file transmission request from the client 106 can be easily processed by transmitting a2, a3, and a4 from the cache computer 108 instead of transmitting A2, A3, and A4 from the server 104. be able to.
[0113]
In other words, if the cache computer 108 that has received the file transmission request from the client 106 has changed the original file to the server 104 after the cache computer 108 has acquired the cache, If there is no change, if it is requested to send a response to that effect, it can be determined that for A2, A3 and A4, there is a high possibility of obtaining a response that there is no change in the file.
[0114]
Since the amount of data in this response is generally smaller than the amount of data in the file body, the amount of communication between the server 104 and the cache computer 108 can be suppressed, thereby reducing network congestion and computer load. it can.
[0115]
The file A1 must be obtained again from the server 104, but even if the cache file a1 still remains in the cache computer 108, there is a difference between the contents of A1 and a1 when requested by the client 106. (Because a change was made to A1 in the server 104), there is a high possibility that A1 must be obtained from the server 104 again.
[0116]
Compared with the prior art, in the prior art, cache files are deleted in the order of their acquisition date and time, so when there is not enough free space to store new cache files d1 and d2, the cache file a1, which has the earliest acquisition date and time. a2, a3 and a4 are deleted.
[0117]
Therefore, when the client 106 requests the server 104 to transmit the file constituting the home page A again, since the cache has already been deleted from the cache computer 108, the server 104 again receives A1, A2, A3 and You must get all of A4.
[0118]
Moreover, among the cache files a1, a2, a3, and a4 that are stored again in the cache computer 108 as a result, a2, a3, and a4 that are image files such as marks are stored in the server 104 in their original files A2, A3 and Since no change has been made to A4, there is a high possibility that a2, a3, and a4 deleted when storing d1 and d2 are completely the same. That is, in the prior art, the cache computer 108 has a waste of work of storing, deleting, and storing the same file.
[0119]
As described above, according to the first embodiment of the present invention, cache files are deleted in an order that takes into consideration the possibility of changing the file on the server that is the origin of the cache file. More specifically, a file belonging to a type that is unlikely to be used as a substitute in the future due to a high possibility of changing the original file and that is of low value to be stored as a cache file is preferentially stored in the file storage unit 300 Deleted from.
[0120]
As a result, only files having a high value as a cache are left in the file storage unit 300, so that more efficient file caching can be performed and the processing efficiency of the entire system can be improved.
[0121]
In addition, the possibility of changing the original file, which is the basis for classifying the cache file, is approximately estimated by the type and size of data stored in the file.
[0122]
Therefore, the scheduled change date and time of the file is set by setting the scheduled change information for each file on the server, adding the scheduled change information when sending the file, or analyzing the character string included in the file on the cache computer. Classifying cache files with simple processing based on easily understandable elements such as the type and / or size of data stored in the file, without the need for complicated and complicated processing. It is possible to delete in the order according to it.
[0123]
(Embodiment 2)
In the first embodiment described above, the order of deletion from the file storage unit 300 is determined for each file type, but instead of the order as in the second embodiment described below. You may make it define the time limit of the deletion.
[0124]
The system configuration of the information processing system including the information processing apparatus according to the second embodiment is the same as the system configuration of the first embodiment shown in FIG. Also, the hardware configuration of the information processing apparatus according to the second embodiment is the same as the hardware configuration of the first embodiment shown in FIG.
[0125]
FIG. 14 is a block diagram illustrating a functional configuration of the information processing apparatus according to the second embodiment. 14, a file storage unit 1400, a file type determination unit 1401, a file type table 1401a, and a file deletion unit 1403 are respectively a file storage unit 300, a file type determination unit 301, a file type table 301a, and a file deletion unit 303 in FIG. Since this is the same, the description thereof is omitted.
[0126]
In FIG. 14, the file selection unit 1402 includes a deletion time limit table 1402a and a remaining period calculation unit 1402b. The deletion time limit table 1402a is a table in which the deletion time limit is determined for each file type. FIG. 15 shows an example of the deletion time limit table 1402a when the file type table 1401a is as shown in FIG.
[0127]
In FIG. 15, a file belonging to the file type whose ID is 1, specifically a file storing character string data, has a deletion deadline of 2 days after the acquisition date. Further, a file belonging to the file type indicated by ID 2, specifically, a file storing image data, has a deletion deadline of 20 days after the acquisition date.
[0128]
The time limit need not be in units of one day, but may be specified in units of time, such as 48 hours after acquisition. Moreover, you may make it designate with absolute dates, such as 10:00 am on May 3, instead of the period from the time of acquisition.
[0129]
The remaining period calculation unit 1402b refers to the deletion deadline table 1402a shown in FIG. 15 for each cache file stored in the file storage unit 1400, and refers to the period from the current date and time to the deletion deadline (that is, up to the deletion deadline). (Remaining period) T is calculated.
[0130]
For example, the cache files a1, a2, a3, and a4 stored in the file storage unit 1400 are acquired on May 1, b1 and b2 are acquired on May 10, c1 , C2 and c3 are acquired on May 20. Here, on May 21, it is assumed that one of the cache files already stored is deleted in order to store new cache files d1 and d2.
[0131]
The file a1 that stores the character string data is classified into the file type indicated by ID 1 by the file type table 1401a shown in FIG. According to the deletion time limit table 1402a in FIG. 15, the deletion time limit of the file type indicated by ID 1 is two days after the acquisition date. Therefore, the deletion deadline for a1 is May 3, two days after May 1, and the remaining period T from May 21 to the deletion deadline is-(minus) 18 days.
[0132]
Further, the file c3 that stores the image data is classified into the file type indicated by ID 2 by the file type table 1401a of FIG. According to the deletion time limit table 1402a in FIG. 15, the deletion time limit of the file type whose ID is 2 is 20 days after the acquisition date. Therefore, the deletion deadline for c3 is June 9th, 20 days after May 20, and the remaining period T from May 21 of the current date and time to the deletion deadline is 19 days.
[0133]
The remaining period calculation unit 1402b creates a work table in which each cache file is associated with the remaining period T calculated as described above. FIG. 16 is an explanatory diagram illustrating an example of a work table created by the remaining period calculation unit 1402b. Note that the table of FIG. 16 is sorted (rearranged) in order of increasing remaining value of the remaining period T for convenience of subsequent processing.
[0134]
The file selection unit 1402 first selects all cache files for which the period T calculated by the remaining period calculation unit 1402b has a negative value (that is, the deletion period has passed). In the above example, a1 and b1 correspond to expired cache files.
[0135]
If the necessary free space cannot be secured in the file storage unit 1400 even by deleting these files, the cache files are selected in order from the smallest value of T. In the above example, a file storing image data is selected next to a1 and b1, and the deletion deadline is May 21 (20 days after acquisition date May 1). Files a2, a3, and a4 whose values are 0.
[0136]
Comparing the first embodiment and the second embodiment, in the first embodiment, for example, if the cache file stores character string data, a1 acquired on May 1 is also acquired on May 20. Although c1 is also deleted at the same time, in the second embodiment, since the acquisition time of the file is taken into consideration, a1 that has expired is deleted, but c1 that is still in time until the expiration is in principle Not deleted. That is, as long as a necessary storage area can be secured in the file storage unit 1400 by deleting an expired file, the file is not deleted.
[0137]
Note that the file storage unit 1400, the file type determination unit 1401, the file selection unit 1402, and the file deletion unit 1403 are in accordance with instructions described in programs recorded in a recording medium such as the ROM 202, the RAM 203, the hard disk 205, and the floppy disk 207, respectively. Therefore, the function of each unit is realized by the CPU 201 and the like executing instruction processing.
[0138]
Next, a processing flow of the information processing apparatus according to the second embodiment of the present invention will be described. FIG. 17 is a flowchart showing a series of operations of the information processing apparatus according to the second embodiment.
[0139]
First, in step S1701, it is checked whether or not the free space in the file storage unit 1400 is sufficient. If it is sufficient (Yes in step S1701), the process is terminated. To do.
[0140]
In step S1702, 1 is set to a variable m indicating one of the cache files stored in the file storage unit 1400. In step S1703, the type of the cache file indicated by the variable m is determined with reference to the file type table 1401a.
[0141]
In step S1704, the cache file indicated by the variable m is calculated with reference to the type determined in step S1703 and the deletion deadline table 1402a to calculate a period T from the current date to the deletion deadline.
[0142]
In step S1705, m is incremented by one, and in subsequent step S1706, it is determined whether m is equal to or less than the total number M of cache files stored in the file storage unit 1400.
[0143]
Here, if m is equal to or less than M (Yes in step S1706), it means that there is a cache file for which the type determination and the period T have not been calculated yet, so the process proceeds to step S1703, and the remaining cache files. Repeat the above process. On the other hand, if m exceeds M (No in step S1706), the type of all cache files stored in the file storage unit 1400 is determined, and the period T is calculated. Therefore, the process proceeds to step S1707. .
[0144]
In step S1707, all cache files having a negative value of T are selected, and in step S1708, these files are deleted from the file storage unit 1400.
[0145]
In step S1709, it is determined whether sufficient free space has been secured in the file storage unit 1400 by the above processing. If a sufficient free area can be secured in the file storage unit 1400 (Yes at Step S1709), the process is terminated. If a sufficient free area cannot be secured (No at Step S1709), the process proceeds to Step S1710.
[0146]
In step S1710, the cache file having the smallest value of T is selected from the cache files remaining in the file storage unit 1400. In step S 1711, the file selected in step S 1710 is deleted from the file storage unit 1400, the process proceeds to step S 1709, and the processes in steps S 1710 and S 1711 are performed until the necessary free space can be secured in the file storage unit 1400. repeat.
[0147]
In the above description, an expired cache file is deleted when the free space of the file storage unit 1400 runs out. In conjunction with this, the file storage unit 1400 is periodically inspected and the expiration date has passed. The cache file may be deleted.
[0148]
In this way, if you know when the original file on the server will be changed, set the change time as the cache file deletion deadline so that the original file has been changed instead. A cache file that can no longer be used can be surely deleted from the file storage unit 1400 when its replacement possibility is lost. That is, it is possible to prevent the storage area of the file storage unit 1400 from being unnecessarily occupied by a cache file that is not reusable.
[0149]
As described above, according to the second embodiment of the present invention, a cache file is deleted from the file storage unit 1400 after a predetermined period of time has elapsed since its acquisition. Therefore, by predetermining a predetermined period of files belonging to a type that is low in value to be stored as a cache file, these files are deleted from the file storage unit 1400 shortly after acquisition.
[0150]
As a result, only a file having a high value as a cache is left in the file storage unit 1400, so that more efficient file caching can be performed and the processing efficiency of the entire system can be improved.
[0151]
(Embodiment 3)
In the first embodiment described above, the file type and the deletion order are determined in advance, but as in the third embodiment described below, the file type and The deletion order may be arbitrarily set or changed by the operator.
[0152]
The system configuration of the information processing system including the information processing apparatus according to the third embodiment is the same as the system configuration of the first embodiment shown in FIG. Also, the hardware configuration of the information processing apparatus according to the third embodiment is the same as the hardware configuration of the first embodiment shown in FIG.
[0153]
FIG. 18 is a block diagram illustrating a functional configuration of the information processing apparatus according to the third embodiment. 18, a file storage unit 1800, a file type determination unit 1801, a file type table 1801a, a file selection unit 1802, a deletion order table 1802a, and a file deletion unit 1803 are the file storage unit 300 and the file type determination unit 301 in FIG. The file type table 301a, the file selection unit 302, the deletion order table 302a, and the file deletion unit 303 are the same as the file type table 301a.
[0154]
The input unit 1804 inputs conditions for corresponding to a certain file type, an instruction to set a deletion order for each file type, specific conditions, a deletion order, and the like. The display unit 1805 displays the contents of the file type table 1801a and the deletion order table 1802a on the screen.
[0155]
The file type / deletion order setting unit 1806 sets (including changes) the contents of the file type table 1801a and / or the deletion order table 1802a. The file type / deletion order setting unit 1806 displays the contents of the file type table 1801a and the deletion order table 1802a on a setting screen as shown in FIG. 19, and allows the operator to input various setting information via the input unit 1804.
[0156]
FIG. 19 is an explanatory diagram showing an example of a setting screen displayed by the file type / deletion order setting unit 1806. In FIG. 19, reference numeral 1901 denotes a table created by combining a file type table 1801a and a deletion order table 1802a.
[0157]
Reference numeral 1902 denotes a button (add button) for instructing addition of a new file type, and reference numeral 1903 denotes a button (change button) for instructing change of conditions of an existing file type. Reference numeral 1904 denotes a button (OK button) for instructing to return the contents set on this screen to the file type table 1801a and / or the deletion order table 1802a, and 1905 does not write the setting information. This is a button (cancel button) for instructing to return as it is.
[0158]
FIG. 20 is an explanatory diagram showing an example of a setting screen displayed when the button 1902 (add button) in FIG. 19 is pressed. In FIG. 20, a circle or a black circle encircled by a circle is a radio button, and only one item can be selected from a plurality of items. Here, the button of the selected item is indicated by a figure in which a black circle is surrounded by a circle, and the item not selected is indicated by a circle.
[0159]
Reference numeral 2001 denotes a button (OK button) for instructing that the contents set on this screen should be written on the screen of FIG. 19 and returning, and 2002 indicates that the setting contents should not be written and should be returned as it is. This is an instruction button (cancel button).
[0160]
In the setting screen of FIG. 20, a new file type is set on condition that audio data (the size is not particularly limited) is stored. When the button 2001 is pressed in this state, the setting screen shown in FIG. 19 is changed as shown in FIG. The newly set file type is assigned the youngest number (3 in this example) among the unused IDs, and the deletion order is set to the last (third in this example). This deletion order can be changed later.
[0161]
Note that one of the file types is selected on the setting screen of FIG. The selected file type is highlighted. When a button 1903 (change button) is pressed, a setting screen similar to that shown in FIG. 20 is displayed, and the conditions for corresponding to the selected file type can be changed.
[0162]
Further, the deletion order is changed by directly rewriting the value of the item “order” in the table 1901 in FIG. For example, on the setting screen of FIG. 19, the cursor is placed on the value 1 of the “order” item of the file type indicated by ID 1, and the numerical value 2 is input from the keyboard.
[0163]
At this time, the deletion order of other file types is also changed so that the same numerical value does not overlap in the “order” item while maintaining the context. In this example, when the deletion order of the file type indicated by ID 1 is changed to 2, the deletion order of the file type indicated by ID 2 is changed to 1.
[0164]
By pressing a button 1904 on the setting screen in FIG. 19, the contents set on this screen can be reflected in the file type table 1801a and / or the deletion order table 1802a.
[0165]
That is, when the file type / deletion order setting unit 1806 detects that the button 1904 is pressed, the file type / deletion order setting unit 1806 extracts the setting information from the screen of FIG. 19 and writes it in a predetermined area of the file type table 1801a and / or the deletion order table 1802a. . The file type table 1801a changed in this way is shown in FIG. 22, and the deletion order table 1802a is shown in FIG.
[0166]
Note that the file storage unit 1800, the file type determination unit 1801, the file selection unit 1802, and the file deletion unit 1803 are in accordance with instructions described in programs recorded in a recording medium such as the ROM 202, the RAM 203, the hard disk 205, and the floppy disk 207, respectively. Therefore, the function of each unit is realized by the CPU 201 and the like executing instruction processing.
[0167]
Next, a processing flow of the information processing apparatus according to the third embodiment of the present invention will be described. FIG. 24 is a flowchart showing a series of operations of the information processing apparatus according to the third embodiment.
[0168]
First, in step S2401, it waits for an instruction to set a file type and its deletion order from the input unit 1804. When the instruction is input (Yes in step S2401), the process proceeds to step S2402.
[0169]
In step S2402, the setting screen shown in FIG. In step S2403, it is determined whether or not a button 1902 (add button) on the setting screen has been pressed. When the button 1902 is pressed (Yes at Step S2403), file type addition processing is performed at Step S2404 (details will be described later). When the button 1902 is not pressed (No at Step S2403), the process proceeds to Step S2405.
[0170]
In step S2405, it is determined whether or not a button 1903 (change button) on the setting screen has been pressed. When a button 1903 (change button) is pressed (Yes at step S2405), a condition change process is performed at step S2406 (details will be described later). When the button 1903 is not pressed (No at Step S2405), the process proceeds to Step S2407.
[0171]
In step S2407, it is determined whether any value of the “order” item in the table 1901 on the setting screen has been changed (that is, whether the value of the deletion order of any file type has been changed).
[0172]
When the deletion order of any of the file types is changed (Yes at step S2407), the deletion order is reassigned to other file types so that the same value does not overlap in the “order” item in step S2408.
[0173]
In step S2409, the “order” item in the table 1901 on the setting screen is rewritten with the value reassigned in step S2408, and the process proceeds to step S2403. If the deletion order of any file type has not been changed (No at step S2407), the process proceeds to step S2410.
[0174]
In step S2410, it is determined whether or not a button 1904 (OK button) on the setting screen has been pressed. When the button 1904 is pressed (Yes at step S2410), the setting contents shown on the setting screen at step S2411 are written into the file type table 1801a and / or the deletion order table 1802a.
[0175]
In step S2412, the setting screen of FIG. 19 displayed in step S2402 is deleted, and the process ends. If the button 1904 is not pressed (No at step S2410), the process proceeds to step S2413.
[0176]
In step S2413, it is determined whether or not a button 1905 (cancel button) on the setting screen has been pressed. When the button 1905 is pressed (Yes at step S2413), the process proceeds to step S2412. When the button 1905 is not pressed (No at Step S2413), the process proceeds to Step S2403 and accepts input of setting information by the operator.
[0177]
FIG. 25 is a flowchart showing details of the file type addition processing in step S2404 in FIG.
[0178]
In step S2501, the setting screen shown in FIG. In step S2502, it is determined whether or not the button 2001 (OK button) on the setting screen has been pressed.
[0179]
When the button 2001 is pressed (Yes at step S2502), a new ID is assigned to the newly set file type in step S2503, and the final deletion order is assigned in step S2504.
[0180]
In step S2505, a new line is added to the bottom line of the table 1901 of the setting screen shown in FIG. 19, and the condition set on the setting screen of FIG. The ID and the deletion order assigned in steps S2503 and S2504 are written in the item “deletion order”, respectively. In step S2506, the setting screen shown in FIG. 20 displayed in step S2501 is deleted, and the process ends.
[0181]
If the button 2001 has not been pressed (No at step S2502), the process proceeds to step S2507 to determine whether the button 2002 (cancel button) has been pressed. When the button 2002 is pressed (Yes at Step S2502), the process proceeds to Step S2506, and when the button 2002 is not pressed (No at Step S2502), the process proceeds to Step S2502, and input of setting information by the operator is accepted.
[0182]
FIG. 26 is a flowchart showing details of the condition changing process in step S2406 in FIG.
[0183]
In step S2601, the setting screen shown in FIG. In step S2602, it is determined whether or not the button 2001 (OK button) on the setting screen has been pressed.
[0184]
When the button 2001 is pressed (Yes in step S2602), in step S2603, the “condition” item of the selected file type in the setting screen table 1901 shown in FIG. 19 is set on the setting screen in FIG. Write the specified condition. In step S2604, the setting screen shown in FIG. 20 displayed in step S2601 is deleted, and the process ends.
[0185]
If the button 2001 is not pressed (No at step S2602), the process proceeds to step S2605 to determine whether the button 2002 (cancel button) is pressed. When the button 2002 is pressed (Yes at Step S2605), the process proceeds to Step S2604, and when the button 2002 is not pressed (No at Step S2605), the process proceeds to Step S2602, and input of setting information by the operator is accepted.
[0186]
As described above, according to the third embodiment, the cache file is deleted according to the classification and the deletion order that are arbitrarily set by the operator and adapted to each situation. This makes it possible to cache files more efficiently in accordance with individual situations and improve the processing efficiency of the entire system.
[0187]
(Embodiment 4)
In the second embodiment described above, the file type and the deletion deadline are determined in advance, but as in the fourth embodiment described below, the file type and The deletion time limit may be arbitrarily set or changed by the operator.
[0188]
The system configuration of the information processing system including the information processing apparatus according to the fourth embodiment is the same as the system configuration of the first embodiment shown in FIG. Also, the hardware configuration of the information processing apparatus according to the fourth embodiment is the same as the hardware configuration of the first embodiment shown in FIG.
[0189]
FIG. 27 is a block diagram illustrating a functional configuration of the information processing apparatus according to the fourth embodiment. 27, a file storage unit 2700, a file type determination unit 2701, a file type table 2701a, a file selection unit 2702, a deletion time limit table 2702a, a remaining period calculation unit 2702b, and a file deletion unit 2703 are respectively stored in the file storage unit 1400 of FIG. The file type determination unit 1401, the file type table 1401a, the file selection unit 1402, the deletion time limit table 1402a, the remaining period calculation unit 1402b, and the file deletion unit 1403 are the same and will not be described.
[0190]
The input unit 2704 inputs conditions for corresponding to a certain file type, an instruction to set a deletion deadline for each file type, and specific conditions, deletion deadline, and the like. The display unit 2705 displays the contents of the file type table 2701a and the deletion time limit table 2702a on the screen.
[0191]
The file type / deletion time limit setting unit 2706 sets (including changes) the contents of the file type table 2701a and / or the deletion time limit table 2702a. The file type / deletion time limit setting unit 2706 displays the contents of the file type table 2701a and the deletion time limit table 2702a on a setting screen as shown in FIG. 28, and allows the operator to input various setting information via the input unit 2704.
[0192]
FIG. 28 is an explanatory diagram showing an example of a setting screen displayed by the file type / deletion time limit setting unit 2706. In FIG. 28, 2801 is a table created by combining a file type table 2701a and a deletion time limit table 2702a.
[0193]
The buttons 2802, 2803, 2804 and 2805 are the same as the buttons 1902, 1903, 1904 and 1905 of FIG. Further, the method for adding a new file type using these buttons and the method for changing the condition of an existing file type are the same as those in the third embodiment, and thus the description thereof is omitted.
[0194]
The deletion time limit is changed by directly rewriting the value of the “time limit” item in the table 2801 of FIG. For example, on the setting screen of FIG. 28, the cursor is placed on the value 2 of the “expiration date” item of the file type indicated by ID 1, and the numerical value 3 is input from the keyboard. By pressing a button 2804 in this state, a new time limit 3 (days later) can be written in a predetermined area of the deletion order table 2702a. FIG. 29 shows the deletion deadline table 2702a changed in this way.
[0195]
Note that the file storage unit 2700, the file type determination unit 2701, the file selection unit 2702, and the file deletion unit 2703 are in accordance with instructions described in programs recorded in a recording medium such as the ROM 202, the RAM 203, the hard disk 205, and the floppy disk 207, respectively. Therefore, the function of each unit is realized by the CPU 201 and the like executing instruction processing.
[0196]
Next, a processing flow of the information processing apparatus according to the fourth embodiment of the present invention will be described. FIG. 30 is a flowchart showing a series of operations of the information processing apparatus according to the fourth embodiment.
[0197]
In FIG. 30, steps S3001 to S3006 are the same as steps S2401 to S2406 in FIG. 24, and steps S3009 to S3012 are the same as steps S2410 to S2413, respectively.
[0198]
In step S3007, it is determined whether or not a numerical value has been input (that is, whether or not the time limit has been changed) while the cursor is positioned on any value of the “time limit” item in the table 2801 on the setting screen of FIG. If the time limit is changed (Yes at step S3007), the value before the change on the setting screen is replaced with the value after the change at step S3008, and the process proceeds to step S3003. When the time limit has not been changed (No at Step S3007), the process proceeds to Step S3009.
[0199]
As described above, according to the fourth embodiment, the cache file is deleted in accordance with the classification and the deletion deadline that are arbitrarily set by the operator and adapted to each situation. This makes it possible to cache files more efficiently in accordance with individual situations and improve the processing efficiency of the entire system.
[0200]
【The invention's effect】
As explained above, this According to the invention, the storage unit stores the cache file, the determination unit determines the type of the cache file stored in the storage unit, and the selection unit determines from the storage unit determined for each type of the cache file. A predetermined number of cache files are selected from the cache files stored in the storage means on the basis of the deletion order, and the deletion means deletes the cache files selected by the selection means from the storage means. Information that can be preferentially deleted from the storage means as a file that is of low value to be stored as a cache file, thereby enabling more efficient file caching and improving the processing efficiency of the entire system. It has the effect that a processing apparatus is obtained.
[0201]
Also, this According to the invention, the storage unit stores the cache file, the determination unit determines the type of the cache file stored in the storage unit, and the selection unit determines from the storage unit determined for each type of the cache file. A predetermined number of cache files are selected from the cache files stored in the storage means based on the deletion deadline, and the deletion means deletes the cache files selected by the selection means from the storage means, Files belonging to a type that is less valuable to be stored as a cache file are deleted from the storage means at an early stage after acquisition, thereby enabling more efficient file caching and improving the processing efficiency of the entire system. Advantageous information processing apparatus can be obtained.
[0202]
Also, this According to the invention, the above In this invention, since the determination means determines the type of the cache file based on the type of data stored in the cache file stored in the storage means, the cache file is data stored in the file. It is classified by simple processing based on easily understandable elements, such as the type of file, thereby enabling more efficient file caching while improving the processing efficiency of the entire system while suppressing an increase in processing load. There is an effect that a possible information processing apparatus is obtained.
[0203]
Also, this According to the invention, the above In this invention, since the determination means determines the type of the cache file based on the type and size of the data stored in the cache file stored in the storage means, the cache file is stored in the file. The data is categorized by simple processing based on easily understandable elements such as the type and size of the data being stored, which enables more efficient file caching while suppressing an increase in processing load and processing of the entire system. There is an effect that an information processing apparatus capable of improving efficiency can be obtained.
[0204]
Also, this According to the invention, the above In the invention, further comprising first setting means for setting a cache file type, wherein the determination means is stored in the storage means based on the cache file type set by the first setting means. In order to determine the type of cache file, the cache file is classified into each type according to the classification according to the individual situation, which is arbitrarily set by the operator. There is an effect that an information processing apparatus capable of improving the overall processing efficiency is obtained.
[0205]
Also, this According to the invention, the above In the invention, further comprising second setting means for setting the order of deletion from the storage means for each type of cache file, wherein the selection means follows the deletion order set by the second setting means. In order to select a predetermined number of cache files from among the cache files stored in the storage means, the cache files are deleted from the storage means in an order set in accordance with individual circumstances arbitrarily set by the operator. Thus, it is possible to obtain an information processing apparatus that can cache files more efficiently and improve the processing efficiency of the entire system.
[0206]
Also, this According to the invention, the above In the invention, further comprising second setting means for setting a deletion deadline from the storage means for each type of cache file, wherein the selection means sets the deletion deadline set by the second setting means. In order to select a predetermined number of cache files from among the cache files stored in the storage means, the cache files are arbitrarily set by the operator and deleted from the storage means at a time according to each situation. Thus, it is possible to obtain an information processing apparatus that can cache files more efficiently and improve the processing efficiency of the entire system.
[0207]
Also, this According to the invention, the determination step of determining the type of the cache file and the selection step of selecting a predetermined number of cache files from the cache file based on the order of deletion determined for each type of the cache file And a deletion step of deleting the cache file selected in the selection step, files belonging to a type that is less valuable to be stored as a cache file are preferentially deleted, thereby more efficient. There is an effect that an information processing method capable of caching files and improving the processing efficiency of the entire system can be obtained.
[0208]
Also, this According to the invention, a determination step of determining the type of the cache file, and a selection step of selecting a predetermined number of cache files from the cache file based on a deletion deadline determined for each type of the cache file. And a deletion step of deleting the cache file selected in the selection step, files belonging to a type that is not worth saving as a cache file are deleted early after acquisition, thereby more efficiently. It is possible to cache information files and to obtain an information processing method capable of improving the processing efficiency of the entire system.
[0209]
Also, this According to the invention, the above In this invention, since the determining step determines the type of the cache file based on the type of data stored in the cache file, the cache file is easily referred to as the type of data stored in the file. There is an information processing method that can be categorized by simple processing based on comprehensible elements, thereby enabling more efficient file caching while suppressing an increase in processing load and improving the overall processing efficiency of the system. It has the effect of being obtained.
[0210]
Also, this According to the invention, the above In the invention, the determination step determines the type of the cache file based on the type and size of the data stored in the cache file. It is categorized by simple processing based on an easily understandable element called size, which makes it possible to cache files more efficiently while suppressing an increase in processing load and improve the processing efficiency of the entire system. There is an effect that a possible information processing method is obtained.
[0211]
Also, this According to the invention, the above The invention further comprises a first setting step for setting a cache file type, wherein the determining step determines the cache file type based on the cache file type set by the first setting step. Therefore, the cache file is classified into each type according to the classification according to the individual situation, which is arbitrarily set by the operator, thereby enabling more efficient file caching and improving the processing efficiency of the entire system. An information processing method that can be performed is obtained.
[0212]
Also, this According to the invention, the above In the invention of claim 1, further comprising a second setting step of setting a deletion order for each type of cache file, wherein the selection step is based on the deletion order set by the second setting step. Since a predetermined number of cache files are selected from among the files, the cache files are deleted in an order set in accordance with individual situations arbitrarily set by the operator, thereby enabling more efficient file caching, There is an effect that an information processing method capable of improving the processing efficiency of the entire system is obtained.
[0213]
Also, this According to the invention, the above In the invention, the method further includes a second setting step of setting a deletion deadline for each type of cache file, wherein the selection step is based on the deletion deadline set by the second setting step. Since a predetermined number of cache files are selected from among the files, the cache files are arbitrarily deleted by the operator according to the individual situation, which enables more efficient file caching, There is an effect that an information processing method capable of improving the processing efficiency of the entire system is obtained.
[0214]
Also, this According to the invention, above Since we have recorded a program that causes a computer to execute the method, the above It is possible to cause the computer to execute the process.
[Brief description of the drawings]
FIG. 1 is a block diagram showing a system configuration of a file transmission / reception system including an information processing apparatus according to a first embodiment of the present invention.
FIG. 2 is a block diagram showing a hardware configuration of the information processing apparatus according to the first embodiment.
FIG. 3 is a block diagram illustrating a functional configuration of the information processing apparatus according to the first embodiment.
FIG. 4 is an explanatory diagram showing an example of the appearance of a homepage A held in the server 101 according to the first embodiment.
FIG. 5 is an explanatory diagram showing an example of a file type table 301a according to the first embodiment.
FIG. 6 is an explanatory diagram showing another example of the appearance of the home page A held in the server 101 according to the first embodiment.
FIG. 7 is an explanatory diagram showing another example of the file type table 301a according to the first embodiment.
FIG. 8 is an explanatory diagram illustrating an example of a work table created by the file type determination unit 301 according to the first embodiment.
FIG. 9 is an explanatory diagram showing another example of a work table created by the file type determination unit 301 according to the first embodiment.
FIG. 10 is an explanatory diagram showing an example of a deletion order table 302a according to the first embodiment.
FIG. 11 is an explanatory diagram showing another example of the deletion order table 302a according to the first embodiment.
FIG. 12 is a flowchart showing a series of operations of the information processing apparatus according to the first embodiment.
13 is an explanatory diagram showing changes in the internal state of the file storage unit 300 according to Embodiment 1. FIG.
14 is a block diagram showing a functional configuration of an information processing apparatus according to Embodiment 2. FIG.
15 is an explanatory diagram showing an example of a deletion time limit table 1402a according to Embodiment 2. FIG.
FIG. 16 is an explanatory diagram illustrating an example of a work table created by a remaining period calculation unit 1402b according to the second embodiment;
FIG. 17 is a flowchart showing a series of operations of the information processing apparatus according to the second embodiment.
FIG. 18 is a block diagram showing a functional configuration of an information processing apparatus according to a third embodiment.
FIG. 19 is an explanatory diagram showing an example of a setting screen displayed by the file type / deletion order setting unit 1806 according to the third embodiment.
FIG. 20 is an explanatory diagram showing another example of the setting screen displayed by the file type / deletion order setting unit 1806 according to the third embodiment.
FIG. 21 is an explanatory diagram showing another example of the setting screen displayed by the file type / deletion order setting unit 1806 according to the third embodiment.
FIG. 22 is an explanatory diagram showing an example of a file type table 1801a changed by the file type / deletion order setting unit 1806 according to the third embodiment.
FIG. 23 is an explanatory diagram showing an example of a deletion order table 1802a changed by the file type / deletion order setting unit 1806 according to the third embodiment.
FIG. 24 is a flowchart showing a series of operations of the information processing apparatus according to the third embodiment.
FIG. 25 is a flowchart showing details of file type addition processing in step S2404 in FIG. 24;
FIG. 26 is a flowchart showing details of the condition changing process in step S2406 in FIG.
FIG. 27 is a block diagram showing a functional configuration of an information processing apparatus according to Embodiment 4;
FIG. 28 is an explanatory diagram showing an example of a setting screen displayed by the file type / deletion time limit setting unit 2706 according to the fourth embodiment.
FIG. 29 is an explanatory diagram showing an example of a deletion time limit table 2702a changed by the file type / deletion time limit setting unit 2706 according to the fourth embodiment.
FIG. 30 is a flowchart showing a series of operations of the information processing apparatus according to the fourth embodiment.
[Explanation of symbols]
100 network
101, 102, 103, 104 servers
105, 106, 107 clients
108 Cache computer
200 buses
201 CPU
202 ROM
203 RAM
204 HDD
205 HD
206 FDD
207 FD
208 display
209 I / F
210 Communication line
211 keyboard
212 mouse
300, 1400, 1800, 2700 File storage unit
301, 1401, 1801, 2701 File type determination unit
301a, 1401a, 1801a, 2701a File type table
302, 1402, 1802, 2702 File selection unit
302a, 1802a Deletion order table
303, 1403, 1803, 2703 File deletion section
1402a, 2702a Deletion time limit table
1402b, 2702b Remaining period calculation unit

Claims (13)

複数の情報処理装置間で送受信されたファイルをキャッシュファイルとして記憶するキャッシュ機能を有する情報処理装置において、
前記キャッシュファイルを記憶する記憶手段と、
前記記憶手段に記憶されたキャッシュファイルの種類を当該キャッシュファイルに格納されているデータの種類にもとづいて判断する判断手段と、
前記キャッシュファイルの種類ごとに定められた前記記憶手段からの削除の順序にもとづいて、前記記憶手段に記憶されたキャッシュファイルの中から所定個数のキャッシュファイルを選択する選択手段と、
前記選択手段により選択されたキャッシュファイルを前記記憶手段から削除する削除手段と、
を備えたことを特徴とする情報処理装置。
In an information processing apparatus having a cache function for storing a file transmitted and received between a plurality of information processing apparatuses as a cache file,
Storage means for storing the cache file;
Determining means for determining the type of the cache file stored in the storage means based on the type of data stored in the cache file ;
Selection means for selecting a predetermined number of cache files from the cache files stored in the storage means based on the order of deletion from the storage means determined for each type of the cache file;
Deleting means for deleting the cache file selected by the selecting means from the storage means;
An information processing apparatus comprising:
複数の情報処理装置間で送受信されたファイルをキャッシュファイルとして記憶するキャッシュ機能を有する情報処理装置において、
前記キャッシュファイルを記憶する記憶手段と、
前記記憶手段に記憶されたキャッシュファイルの種類を当該キャッシュファイルに格納されているデータの種類にもとづいて判断する判断手段と、
前記キャッシュファイルの種類ごとに定められた前記記憶手段からの削除の期限にもとづいて、前記記憶手段に記憶されたキャッシュファイルの中から所定個数のキャッシュファイルを選択する選択手段と、
前記選択手段により選択されたキャッシュファイルを前記記憶手段から削除する削除手段と、
を備えたことを特徴とする情報処理装置。
In an information processing apparatus having a cache function for storing a file transmitted and received between a plurality of information processing apparatuses as a cache file,
Storage means for storing the cache file;
Determining means for determining the type of the cache file stored in the storage means based on the type of data stored in the cache file ;
Selection means for selecting a predetermined number of cache files from among the cache files stored in the storage means based on the expiration date of deletion from the storage means determined for each type of the cache file;
Deleting means for deleting the cache file selected by the selecting means from the storage means;
An information processing apparatus comprising:
前記判断手段は、前記記憶手段に記憶されたキャッシュファイルに格納されているデータの種類および大きさにもとづいて当該キャッシュファイルの種類を判断することを特徴とする請求項1または2に記載の情報処理装置。  3. The information according to claim 1, wherein the determination unit determines the type of the cache file based on the type and size of data stored in the cache file stored in the storage unit. Processing equipment. さらに、キャッシュファイルの種類を設定する第一の設定手段を備え、
前記判断手段は、前記第一の設定手段により設定されたキャッシュファイルの種類にもとづいて前記記憶手段に記憶されたキャッシュファイルの種類を判断することを特徴とする請求項1または2に記載の情報処理装置。
Furthermore, the first setting means for setting the type of the cache file is provided,
3. The information according to claim 1, wherein the determination unit determines the type of the cache file stored in the storage unit based on the type of the cache file set by the first setting unit. Processing equipment.
さらに、キャッシュファイルの種類ごとに前記記憶手段からの削除の順序を設定する第二の設定手段を備え、
前記選択手段は、前記第二の設定手段により設定された削除の順序にもとづいて、前記記憶手段に記憶されたキャッシュファイルの中から所定個数のキャッシュファイルを選択することを特徴とする請求項に記載の情報処理装置。
Furthermore, it comprises a second setting means for setting the order of deletion from the storage means for each type of cache file,
Said selecting means, wherein based on the second deletion of order set by the setting means, according to claim 1, characterized in that selecting a cache file in a predetermined number from among the cache file stored in the storage means The information processing apparatus described in 1.
さらに、キャッシュファイルの種類ごとに前記記憶手段からの削除の期限を設定する第二の設定手段を備え、
前記選択手段は、前記第二の設定手段により設定された削除の期限にもとづいて、前記記憶手段に記憶されたキャッシュファイルの中から所定個数のキャッシュファイルを選択することを特徴とする請求項に記載の情報処理装置。
Furthermore, it comprises a second setting means for setting a time limit for deletion from the storage means for each type of cache file,
Said selecting means, based on said second set configured deleted deadlines by means claim 2, characterized in that selecting a cache file in a predetermined number from among the cache file stored in the storage means The information processing apparatus described in 1.
複数の情報処理装置間で送受信されたファイルをキャッシュファイルとして記憶するキャッシュ機能を有する情報処理方法において、
前記キャッシュファイルの種類を当該キャッシュファイルに格納されているデータの種類にもとづいて判断する判断工程と、
前記キャッシュファイルの種類ごとに定められた削除の順序にもとづいて、前記キャッシュファイルの中から所定個数のキャッシュファイルを選択する選択工程と、
前記選択工程により選択されたキャッシュファイルを削除する削除工程と、
を含んだことを特徴とする情報処理方法。
In an information processing method having a cache function of storing a file transmitted and received between a plurality of information processing devices as a cache file,
A determination step of determining the type of the cache file based on the type of data stored in the cache file ;
A selection step of selecting a predetermined number of cache files from the cache files based on the order of deletion determined for each type of the cache files;
A deletion step of deleting the cache file selected by the selection step;
An information processing method comprising:
複数の情報処理装置間で送受信されたファイルをキャッシュファイルとして記憶するキャッシュ機能を有する情報処理方法において、
前記キャッシュファイルの種類を当該キャッシュファイルに格納されているデータの種類にもとづいて判断する判断工程と、
前記キャッシュファイルの種類ごとに定められた削除の期限にもとづいて、前記キャッシュファイルの中から所定個数のキャッシュファイルを選択する選択工程と、
前記選択工程により選択されたキャッシュファイルを削除する削除工程と、
を含んだことを特徴とする情報処理方法。
In an information processing method having a cache function of storing a file transmitted and received between a plurality of information processing devices as a cache file,
A determination step of determining the type of the cache file based on the type of data stored in the cache file ;
A selection step of selecting a predetermined number of cache files from the cache file based on a deletion deadline determined for each type of the cache file;
A deletion step of deleting the cache file selected by the selection step;
An information processing method comprising:
前記判断工程は、前記キャッシュファイルに格納されているデータの種類および大きさにもとづいて当該キャッシュファイルの種類を判断することを特徴とする請求項7または8に記載の情報処理方法。9. The information processing method according to claim 7 , wherein the determination step determines the type of the cache file based on the type and size of data stored in the cache file. さらに、キャッシュファイルの種類を設定する第一の設定工程を備え、
前記判断工程は、前記第一の設定工程により設定されたキャッシュファイルの種類にもとづいて前記キャッシュファイルの種類を判断することを特徴とする請求項7または8に記載の情報処理方法。
In addition, a first setting step for setting the type of cache file is provided,
9. The information processing method according to claim 7 , wherein the determining step determines the type of the cache file based on the type of the cache file set by the first setting step.
さらに、キャッシュファイルの種類ごとに削除の順序を設定する第二の設定工程を含み、
前記選択工程は、前記第二の設定工程により設定された削除の順序にもとづいて、前記キャッシュファイルの中から所定個数のキャッシュファイルを選択することを特徴とする請求項に記載の情報処理方法。
Furthermore, a second setting step for setting the deletion order for each type of cache file is included,
8. The information processing method according to claim 7 , wherein the selecting step selects a predetermined number of cache files from the cache file based on the deletion order set by the second setting step. .
さらに、キャッシュファイルの種類ごとに削除の期限を設定する第二の設定工程を含み、
前記選択工程は、前記第二の設定工程により設定された削除の期限にもとづいて、前記キャッシュファイルの中から所定個数のキャッシュファイルを選択することを特徴とする請求項に記載の情報処理方法。
In addition, it includes a second setting step for setting a deletion deadline for each type of cache file,
9. The information processing method according to claim 8 , wherein the selecting step selects a predetermined number of cache files from the cache files based on the deletion deadline set by the second setting step. .
前記請求項7〜12のいずれか一つに記載された方法をコンピュータに実行させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。A computer-readable recording medium having recorded thereon a program for causing a computer to execute the method according to any one of claims 7 to 12 .
JP16705499A 1999-06-14 1999-06-14 Information processing apparatus, information processing method, and computer-readable recording medium recording a program for causing a computer to execute the method Expired - Fee Related JP4374094B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP16705499A JP4374094B2 (en) 1999-06-14 1999-06-14 Information processing apparatus, information processing method, and computer-readable recording medium recording a program for causing a computer to execute the method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP16705499A JP4374094B2 (en) 1999-06-14 1999-06-14 Information processing apparatus, information processing method, and computer-readable recording medium recording a program for causing a computer to execute the method

Publications (2)

Publication Number Publication Date
JP2000357113A JP2000357113A (en) 2000-12-26
JP4374094B2 true JP4374094B2 (en) 2009-12-02

Family

ID=15842553

Family Applications (1)

Application Number Title Priority Date Filing Date
JP16705499A Expired - Fee Related JP4374094B2 (en) 1999-06-14 1999-06-14 Information processing apparatus, information processing method, and computer-readable recording medium recording a program for causing a computer to execute the method

Country Status (1)

Country Link
JP (1) JP4374094B2 (en)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002203142A (en) * 2000-12-28 2002-07-19 Toshiba Corp Electronic commerce system
JP2005521950A (en) * 2002-03-28 2005-07-21 プリキャッシュ インコーポレイテッド Method and apparatus for reliable, efficient content-based routing, queries and responses in publish-subscribe networks
US7076611B2 (en) * 2003-08-01 2006-07-11 Microsoft Corporation System and method for managing objects stored in a cache
JP2008282428A (en) * 2008-08-11 2008-11-20 Murata Mach Ltd Content data providing apparatus and network system
WO2010058790A1 (en) * 2008-11-21 2010-05-27 日本電気株式会社 Content distribution device, content distribution control method, content distribution control program, and cache control device
JP5699619B2 (en) * 2011-01-17 2015-04-15 日本電気株式会社 Cache device, data management method, program, and cache system

Also Published As

Publication number Publication date
JP2000357113A (en) 2000-12-26

Similar Documents

Publication Publication Date Title
US10909151B2 (en) Distribution of index settings in a machine data processing system
US9152631B2 (en) Document management system, method for controlling the same, and storage medium
JP4687803B2 (en) Communication terminal device
JP3832077B2 (en) Document management device
JP4251645B2 (en) Information processing method and apparatus
JP3918230B2 (en) Data update monitoring server
JP4935413B2 (en) Upload add-in program, upload auxiliary program, and upload method
WO2010150277A2 (en) A method and system for directory management
US8676880B2 (en) Server apparatus, communication apparatus, and method for generating navigation information
JP2017073591A (en) Image processing apparatus, control method, and program
JP2006285526A (en) Information retrieval according to image data
JP4374094B2 (en) Information processing apparatus, information processing method, and computer-readable recording medium recording a program for causing a computer to execute the method
JP2014182653A (en) Log management system, log management method, image forming apparatus and control method thereof, and program
KR20050016407A (en) Data searching method and information data scrapping method using internet
JP4374093B2 (en) Information processing apparatus, information processing method, and computer-readable recording medium recording a program for causing a computer to execute the method
JP5210098B2 (en) Digital content browsing management system
JP5337317B2 (en) Digital content browsing apparatus and digital content browsing management system
US20020078162A1 (en) Program generation system, network system and agent system
JP4995001B2 (en) Image processing apparatus, information processing apparatus, log processing method, method, program
JP2010061200A (en) Document management system and operation history display method
JP4285535B2 (en) COMMUNICATION TERMINAL DEVICE, COMPUTER PROGRAM, AND COMMUNICATION METHOD
JP4241757B2 (en) Communication terminal device
JP2005339333A (en) Form management system
JP2019106629A (en) Information processing system, control method, and program thereof
JP4241889B2 (en) Network visual information management device

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060517

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090421

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090622

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: 20090818

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20090907

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120911

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees