(57)【特許請求の範囲】
【請求項１】
コンテンツの提供元装置の提供元ディレクトリに属するコンテンツの複製を保持し、利用者が当該保持されているコンテンツを要求する事象をヒットと定義するときに、ヒットが発生した場合に当該コンテンツを当該利用者に配信する手段を備えた
コンテンツ配信装置において、
前記配信する手段は、
複製コンテンツを蓄積するためのディレクトリであるコンテンツディレクトリを提供元ディレクトリ毎に保持するコンテンツ蓄積手段と、
前記提供元装置からコンテンツを受信するコンテンツ受信手段と、
前記提供元ディレクトリに属するコンテンツそれぞれについてコンテンツ識別子、コンテンツサイズを含む属性情報を保持する提供元コンテンツリスト記憶手段と、
前記提供元装置から当該提供元コンテンツリストまたは当該提供元コンテンツリストの更新情報を受信し前記提供元コンテンツリスト記憶手段の内容を更新する提供元コンテンツリスト受信手段と、
前記コンテンツディレクトリの識別子と、同一の前記提供元ディレクトリに属するコンテンツ間の優先順序を前記提供元コンテンツリストが示す各コンテンツの属性情報に基づいて決定するポリシ（方法）の識別子と、蓄積容量の識別子とを入力として受け付けて前記入力が示す前記ポリシにしたがい前記入力が示すコンテンツディレクトリに属するコンテンツ間の優先順位を決定しコンテンツサイズの総和が前記入力が示す蓄積容量を超えないことを条件として優先順位の高いものから選択可能な限りコンテンツを選択し、選択したコンテンツのリストである蓄積コンテンツリストを出力するコンテンツ選択手段と、
前記コンテンツディレクトリそれぞれについて当該コンテンツディレクトリに対して割り当てられた蓄積容量である割当容量を記憶する割当容量記憶手段と、前記コンテンツディレクトリそれぞれについて前記ポリシを記憶するポリシ記憶手段と、
ある前記コンテンツディレクトリについて当該コンテンツディレクトリの識別子と、前記割当容量記憶手段が当該コンテンツディレクトリについて記憶する割当容量と、前記ポリシ記憶手段が当該コンテンツディレクトリについて記憶するポリシとを前記コンテンツ選択手段に入力し、当該コンテンツ選択手段により出力される蓄積コンテンツリストに前記コンテンツ受信手段が受信したコンテンツが含まれている場合に当該コンテンツを当該コンテンツディレクトリに格納し、当該コンテンツディレクトリ中のコンテンツのうち当該蓄積コンテンツリストに含まれていないものを削除するコンテンツ蓄積ディレクトリ更新手段と、
ヒットが発生する毎に値が増加される変数であるヒット量を前記割当容量の候補と前記ポリシの候補との組合せそれぞれについて記憶するヒットテーブルを前記コンテンツディレクトリそれぞれについて保持するヒット情報記憶手段と、
要求コンテンツの識別子を含むコンテンツ要求を利用者から受信し要求コンテンツが前記コンテンツディレクトリに蓄積されている場合に当該要求コンテンツを配信するコンテンツ配信手段と、
前記コンテンツ配信手段がコンテンツ要求を受信したときに要求コンテンツが属するコンテンツディレクトリの割当容量の候補とポリシの候補の組合せそれぞれについて当該候補の組合せと当該コンテンツディレクトリの識別子とを前記コンテンツ選択手段に入力し当該コンテンツ選択手段により出力される蓄積コンテンツリストが当該要求コンテンツを含む場合に前記ヒットテーブルの当該候補の組合せに対応するヒット量を増加させるヒットテーブル更新手段と、
各コンテンツディレクトリのポリシ、割当容量に対応した前記ヒットテーブル中のヒット量をＨとしてすべてのコンテンツディレクトリのＨの総和がより大きくなるように各コンテンツディレクトリのポリシ、割当容量の変更を決定し前記割当容量記憶手段の内容と前記ポリシ記憶手段の内容とを更新するポリシ・割当容量更新手段と
を備えたことを特徴とするコンテンツ配信装置。
【請求項２】
コンテンツの提供元装置の提供元ディレクトリに属するコンテンツの複製を保持し、利用者が当該保持されているコンテンツを要求する事象をヒットと定義するときに、ヒットが発生した場合に当該コンテンツを当該利用者に配信する手段を備えた
コンテンツ配信装置において、
前記配信する手段は、
複製コンテンツを蓄積するためのディレクトリであるコンテンツディレクトリを提供元ディレクトリ毎に保持するコンテンツ蓄積手段と、
前記提供元装置からコンテンツを受信するコンテンツ受信手段と、
前記提供元ディレクトリに属するコンテンツそれぞれについてコンテンツ識別子、コンテンツサイズ、最終更新時刻、最終要求受信時刻を含む属性情報を保持する提供元コンテンツリスト記憶手段と、
前記提供元装置から当該提供元コンテンツリストまたは当該提供元コンテンツリストの更新情報を受信し前記提供元コンテンツリスト記憶手段の内容を更新する提供元コンテンツリスト受信手段と、
前記コンテンツディレクトリの識別子と、同一の前記提供元ディレクトリに属するコンテンツ間の優先順序を前記提供元コンテンツリストが示す各コンテンツの属性情報に基づいて決定するポリシ（方法）の識別子と、蓄積容量の識別子とを入力として受け付けて前記入力が示す前記ポリシにしたがい前記入力が示すコンテンツディレクトリに属するコンテンツ間の優先順位を決定しコンテンツサイズの総和が前記入力が示す蓄積容量を超えないことを条件として優先順位の高いものから選択可能な限りコンテンツを選択し、選択したコンテンツのリストである蓄積コンテンツリストを出力するコンテンツ選択手段と、
前記コンテンツディレクトリそれぞれについて当該コンテンツディレクトリに対して割り当てられた蓄積容量である割当容量を記憶する割当容量記憶手段と、
前記コンテンツディレクトリそれぞれについて前記ポリシを記憶するポリシ記憶手段と、
ある前記コンテンツディレクトリについて、当該コンテンツディレクトリの識別子と、前記割当容量記憶手段が当該コンテンツディレクトリについて記憶する割当容量と、前記ポリシ記憶手段が当該コンテンツディレクトリについて記憶するポリシとを前記コンテンツ選択手段に入力し、当該コンテンツ選択手段により出力される蓄積コンテンツリストに前記コンテンツ受信手段が受信したコンテンツが含まれている場合に当該コンテンツを当該コンテンツディレクトリに格納し、当該コンテンツディレクトリ中のコンテンツのうち当該蓄積コンテンツリストに含まれていないものを削除するコンテンツ蓄積ディレクトリ更新手段と、
ヒットが発生する毎に値が増加される変数であるヒット量を前記ポリシの候補それぞれについて記憶するヒットテーブルを前記コンテンツディレクトリそれぞれについて保持するヒット情報記憶手段と、
要求コンテンツの識別子を含むコンテンツ要求を利用者から受信し要求コンテンツが前記コンテンツディレクトリに蓄積されている場合に当該要求コンテンツを配信するコンテンツ配信手段と、
前記コンテンツ配信手段がコンテンツ要求を受信したときに要求コンテンツが属するコンテンツディレクトリのポリシの候補それぞれについて当該候補と当該コンテンツディレクトリの識別子と当該コンテンツディレクトリに対する割当容量とを前記コンテンツ選択手段に入力し当該コンテンツ選択手段により出力される蓄積コンテンツリストが当該要求コンテンツを含む場合に前記ヒットテーブルの当該候補に対応するヒット量を増加させるヒットテーブル更新手段と、
前記ヒットテーブル中のポリシの候補からヒット量がより大きいものを選択することとして各コンテンツディレクトリのポリシを決定し前記ポリシ記憶手段の内容を更新するポリシ更新手段と
を備えたことを特徴とするコンテンツ配信装置。
【請求項３】
コンテンツの提供元装置の提供元ディレクトリに属するコンテンツの複製を保持し、利用者が当該保持されているコンテンツを要求する事象をヒットと定義するときに、ヒットが発生した場合に当該コンテンツを当該利用者に配信する手段を備えた
コンテンツ配信装置において、
前記配信する手段は、
複製コンテンツを蓄積するためのディレクトリであるコンテンツディレクトリを提供元ディレクトリごとに保持するコンテンツ蓄積手段と、
前記提供元装置からコンテンツを受信するコンテンツ受信手段と、
前記提供元ディレクトリに属するコンテンツそれぞれについてコンテンツ識別子、コンテンツサイズ、最終更新時刻、最終要求受信時刻を含む属性情報を保持する提供元コンテンツリスト記憶手段と、
前記提供元装置から当該提供元コンテンツリストまたは当該提供元コンテンツリストの更新情報を受信し前記提供元コンテンツリスト記憶手段の内容を更新する提供元コンテンツリスト受信手段と、
前記コンテンツディレクトリの識別子と、蓄積容量の識別子とを入力として受け付けてあらかじめ定められたポリシにしたがい前記入力が示すコンテンツディレクトリに属するコンテンツ間の優先順位を決定しコンテンツサイズの総和が前記入力が示す蓄積容量を超えないことを条件として優先順位の高いものから選択可能な限りコンテンツを選択し、選択したコンテンツのリストである蓄積コンテンツリストを出力するコンテンツ選択手段と、
前記コンテンツディレクトリそれぞれについて当該コンテンツディレクトリに対して割り当てられた蓄積容量である割当容量を記憶する割当容量記憶手段と、
ある前記コンテンツディレクトリについて、当該コンテンツディレクトリの識別子と、前記割当容量記憶手段が当該コンテンツディレクトリについて記憶する割当容量とを前記コンテンツ選択手段に入力し、当該コンテンツ選択手段により出力される蓄積コンテンツリストに前記コンテンツ受信手段が受信したコンテンツが含まれている場合に当該コンテンツを当該コンテンツディレクトリに格納し、当該コンテンツディレクトリ中のコンテンツのうち当該蓄積コンテンツリストに含まれていないものを削除するコンテンツ蓄積ディレクトリ更新手段と、
ヒットが発生する毎に値が増加される変数であるヒット量を前記割当容量の候補それぞれについて記憶するヒットテーブルを前記コンテンツディレクトリそれぞれについて保持するヒット情報記憶手段と、
要求コンテンツの識別子を含むコンテンツ要求を利用者から受信し要求コンテンツが前記コンテンツディレクトリに蓄積されている場合に当該要求コンテンツを配信するコンテンツ配信手段と、
前記コンテンツ配信手段がコンテンツ要求を受信したときに要求コンテンツが属するコンテンツディレクトリの割当容量の候補それぞれについて当該候補と当該コンテンツディレクトリの識別子とを前記コンテンツ選択手段に入力し当該コンテンツ選択手段により出力される蓄積コンテンツリストが当該要求コンテンツを含む場合に前記ヒットテーブルの当該候補に対応するヒット量を増加させるヒットテーブル更新手段と、
各コンテンツディレクトリの割当容量に対応した前記ヒットテーブル中のヒット量をHとしてすべてのコンテンツディレクトリのHの総和がより大きくなるように各コンテンツディレクトリの割当容量の変更を決定し前記割当容量記憶手段の内容を更新する割当容量更新手段と
を備えたことを特徴とするコンテンツ配信装置。
【請求項４】
前記ヒット量はヒットの発生回数であり、前記ヒットテーブル更新手段はヒット量を増加させる際にヒット量を1だけ増加させる手段を含む請求項１ないし３のいずれかに記載のコンテンツ配信装置。
【請求項５】
前記ヒット量はヒットが発生したときの要求コンテンツのサイズの累積和であり、前記ヒットテーブル更新手段はヒット量を増加させる際にヒット量を当該要求コンテンツのサイズ分だけ増加させる手段を含む請求項１ないし３のいずれかに記載のコンテンツ配信装置。
【請求項６】
前記提供元コンテンツリストの各コンテンツの属性情報が当該コンテンツが最後に更新された時刻である最終更新時刻を含み、当該最終更新時刻がより新しいコンテンツをより上位とすることを前記ポリシ候補の一つとする請求項１または２記載のコンテンツ配信装置。
【請求項７】
前記提供元コンテンツリストの各コンテンツの属性情報が当該コンテンツが最後の利用者から要求された時刻である最終要求受信時刻を含み、当該最終要求受信時刻がより新しいコンテンツをより上位とすることを前記ポリシ候補の一つとする請求項１または２記載のコンテンツ配信装置。
【請求項８】
前記割当容量更新手段は各コンテンツディレクトリについて割当容量を一定量増加させた場合のヒット量の増分量をＧとして求め、最大のＧを有するコンテンツディレクトリと最小のＧを有するコンテンツディレクトリとのＧの差があるしきい値を超える場合に、最大のＧを有するコンテンツディレクトリの割当容量を前記一定量増加させ、最小のＧを有するコンテンツディレクトリの割当容量を前記一定量減少させる手段を含む請求項１または３記載のコンテンツ配信装置。
【請求項９】
コンテンツの提供元装置の提供元ディレクトリに属するコンテンツの複製を保持し、利用者が当該保持されているコンテンツを要求する事象をヒットと定義するときに、ヒットが発生した場合に当該コンテンツを当該利用者に配信するコンテンツ配信方法において、
複製コンテンツを蓄積するためのディレクトリであるコンテンツディレクトリを提供元ディレクトリ毎に保持するコンテンツ蓄積を行い、前記提供元装置からコンテンツを受信するコンテンツ受信を行い、前記提供元ディレクトリに属するコンテンツそれぞれについてコンテンツ識別子、コンテンツサイズを含む属性情報を保持する提供元コンテンツリスト記憶を行い、前記提供元装置から当該提供元コンテンツリストまたは当該提供元コンテンツリストの更新情報を受信し前記提供元コンテンツリスト記憶の内容を更新する提供元コンテンツリスト受信を行い、前記コンテンツディレクトリの識別子と、同一の前記提供元ディレクトリに属するコンテンツ間の優先順序を前記提供元コンテンツリストが示す各コンテンツの属性情報に基づいて決定するポリシ（方法）の識別子と、蓄積容量の識別子とを入力として受け付けて前記入力が示す前記ポリシにしたがい前記入力が示すコンテンツディレクトリに属するコンテンツ間の優先順位を決定しコンテンツサイズの総和が前記入力が示す蓄積容量を超えないことを条件として優先順位の高いものから選択可能な限りコンテンツを選択し、選択したコンテンツのリストである蓄積コンテンツリストを出力するコンテンツ選択を行い、前記コンテンツディレクトリそれぞれについて当該コンテンツディレクトリに対して割り当てられた蓄積容量である割当容量を記憶する割当容量記憶を行い、前記コンテンツディレクトリそれぞれについて前記ポリシを記憶するポリシ記憶を行い、ある前記コンテンツディレクトリについて当該コンテンツディレクトリの識別子と、前記割当容量記憶により当該コンテンツディレクトリについて記憶する割当容量と、前記ポリシ記憶により当該コンテンツディレクトリについて記憶するポリシとを前記コンテンツ選択の際に入力し、当該コンテンツ選択の際に出力される蓄積コンテンツリストに前記コンテンツ受信により受信したコンテンツが含まれている場合に当該コンテンツを当該コンテンツディレクトリに格納し、当該コンテンツディレクトリ中のコンテンツのうち当該蓄積コンテンツリストに含まれていないものを削除するコンテンツ蓄積ディレクトリ更新を行い、ヒットが発生する毎に値が増加される変数であるヒット量を前記割当容量の候補と前記ポリシの候補との組合せそれぞれについて記憶するヒットテーブルを前記コンテンツディレクトリそれぞれについて保持するヒット情報記憶を行い、要求コンテンツの識別子を含むコンテンツ要求を利用者から受信し要求コンテンツが前記コンテンツディレクトリに蓄積されている場合に当該要求コンテンツを配信するコンテンツ配信を行い、コンテンツ要求を受信したときに要求コンテンツが属するコンテンツディレクトリの割当容量の候補とポリシの候補の組合せそれぞれについて当該候補の組合せと当該コンテンツディレクトリの識別子とを前記コンテンツ選択の際に入力し当該コンテンツ選択により出力される蓄積コンテンツリストが当該要求コンテンツを含む場合に前記ヒットテーブルの当該候補の組合せに対応するヒット量を増加させるヒットテーブル更新を行い、各コンテンツディレクトリのポリシ、割当容量に対応した前記ヒットテーブル中のヒット量をＨとしてすべてのコンテンツディレクトリのＨの総和がより大きくなるように各コンテンツディレクトリのポリシ、割当容量の変更を決定し前記割当容量記憶の内容と前記ポリシ記憶の内容とを更新するポリシ・割当容量更新を行うことを特徴とするコンテンツ配信方法。
【請求項１０】
コンテンツの提供元装置の提供元ディレクトリに属するコンテンツの複製を保持し、利用者が当該保持されているコンテンツを要求する事象をヒットと定義するときに、ヒットが発生した場合に当該コンテンツを当該利用者に配信するコンテンツ配信方法において、
複製コンテンツを蓄積するためのディレクトリであるコンテンツディレクトリを提供元ディレクトリ毎に保持するコンテンツ蓄積を行い、前記提供元装置からコンテンツを受信するコンテンツ受信を行い、前記提供元ディレクトリに属するコンテンツそれぞれについてコンテンツ識別子、コンテンツサイズ、最終更新時刻、最終要求受信時刻を含む属性情報を保持する提供元コンテンツリスト記憶を行い、前記提供元装置から当該提供元コンテンツリストまたは当該提供元コンテンツリストの更新情報を受信し前記提供元コンテンツリスト記憶の内容を更新する提供元コンテンツリスト受信を行い、前記コンテンツディレクトリの識別子と、同一の前記提供元ディレクトリに属するコンテンツ間の優先順序を前記提供元コンテンツリストが示す各コンテンツの属性情報に基づいて決定するポリシ（方法）の識別子と、蓄積容量の識別子とを入力として受け付けて前記入力が示す前記ポリシにしたがい前記入力が示すコンテンツディレクトリに属するコンテンツ間の優先順位を決定しコンテンツサイズの総和が前記入力が示す蓄積容量を超えないことを条件として優先順位の高いものから選択可能な限りコンテンツを選択し、選択したコンテンツのリストである蓄積コンテンツリストを出力するコンテンツ選択を行い、前記コンテンツディレクトリそれぞれについて当該コンテンツディレクトリに対して割り当てられた蓄積容量である割当容量を記憶する割当容量記憶を行い、前記コンテンツディレクトリそれぞれについて前記ポリシを記憶するポリシ記憶を行い、ある前記コンテンツディレクトリについて、当該コンテンツディレクトリの識別子と、前記割当容量記憶により当該コンテンツディレクトリについて記憶する割当容量と、前記ポリシ記憶により当該コンテンツディレクトリについて記憶するポリシとを前記コンテンツ選択の際に入力し、当該コンテンツ選択により出力される蓄積コンテンツリストに前記コンテンツ受信により受信したコンテンツが含まれている場合に当該コンテンツを当該コンテンツディレクトリに格納し、当該コンテンツディレクトリ中のコンテンツのうち当該蓄積コンテンツリストに含まれていないものを削除するコンテンツ蓄積ディレクトリ更新を行い、ヒットが発生する毎に値が増加される変数であるヒット量を前記ポリシの候補それぞれについて記憶するヒットテーブルを前記コンテンツディレクトリそれぞれについて保持するヒット情報記憶を行い、要求コンテンツの識別子を含むコンテンツ要求を利用者から受信し要求コンテンツが前記コンテンツディレクトリに蓄積されている場合に当該要求コンテンツを配信するコンテンツ配信を行い、コンテンツ要求を受信したときに要求コンテンツが属するコンテンツディレクトリのポリシの候補それぞれについて当該候補と当該コンテンツディレクトリの識別子と当該コンテンツディレクトリに対する割当容量とを前記コンテンツ選択の際に入力し当該コンテンツ選択により出力される蓄積コンテンツリストが当該要求コンテンツを含む場合に前記ヒットテーブルの当該候補に対応するヒット量を増加させるヒットテーブル更新を行い、前記ヒットテーブル中のポリシの候補からヒット量がより大きいものを選択することとして各コンテンツディレクトリのポリシを決定し前記ポリシ記憶の内容を更新するポリシ更新を行うことを特徴とするコンテンツ配信方法。
【請求項１１】
コンテンツの提供元装置の提供元ディレクトリに属するコンテンツの複製を保持し、利用者が当該保持されているコンテンツを要求する事象をヒットと定義するときに、ヒットが発生した場合に当該コンテンツを当該利用者に配信するコンテンツ配信方法において、
複製コンテンツを蓄積するためのディレクトリであるコンテンツディレクトリを提供元ディレクトリごとに保持するコンテンツ蓄積を行い、前記提供元装置からコンテンツを受信するコンテンツ受信を行い、前記提供元ディレクトリに属するコンテンツそれぞれについてコンテンツ識別子、コンテンツサイズ、最終更新時刻、最終要求受信時刻を含む属性情報を保持する提供元コンテンツリスト記憶を行い、前記提供元装置から当該提供元コンテンツリストまたは当該提供元コンテンツリストの更新情報を受信し前記提供元コンテンツリスト記憶の内容を更新する提供元コンテンツリスト受信を行い、前記コンテンツディレクトリの識別子と、蓄積容量の識別子とを入力として受け付けてあらかじめ定められたポリシにしたがい前記入力が示すコンテンツディレクトリに属するコンテンツ間の優先順位を決定しコンテンツサイズの総和が前記入力が示す蓄積容量を超えないことを条件として優先順位の高いものから選択可能な限りコンテンツを選択し、選択したコンテンツのリストである蓄積コンテンツリストを出力するコンテンツ選択を行い、前記コンテンツディレクトリそれぞれについて当該コンテンツディレクトリに対して割り当てられた蓄積容量である割当容量を記憶する割当容量記憶を行い、ある前記コンテンツディレクトリについて、当該コンテンツディレクトリの識別子と、前記割当容量記憶により当該コンテンツディレクトリについて記憶する割当容量とを前記コンテンツ選択の際に入力し、当該コンテンツ選択により出力される蓄積コンテンツリストに前記コンテンツ受信により受信したコンテンツが含まれている場合に当該コンテンツを当該コンテンツディレクトリに格納し、当該コンテンツディレクトリ中のコンテンツのうち当該蓄積コンテンツリストに含まれていないものを削除するコンテンツ蓄積ディレクトリ更新を行い、ヒットが発生する毎に値が増加される変数であるヒット量を前記割当容量の候補それぞれについて記憶するヒットテーブルを前記コンテンツディレクトリそれぞれについて保持するヒット情報記憶を行い、要求コンテンツの識別子を含むコンテンツ要求を利用者から受信し要求コンテンツが前記コンテンツディレクトリに蓄積されている場合に当該要求コンテンツを配信するコンテンツ配信を行い、コンテンツ要求を受信したときに要求コンテンツが属するコンテンツディレクトリの割当容量の候補それぞれについて当該候補と当該コンテンツディレクトリの識別子とを前記コンテンツ選択の際に入力し当該コンテンツ選択により出力される蓄積コンテンツリストが当該要求コンテンツを含む場合に前記ヒットテーブルの当該候補に対応するヒット量を増加させるヒットテーブル更新を行い、各コンテンツディレクトリの割当容量に対応した前記ヒットテーブル中のヒット量をHとしてすべてのコンテンツディレクトリのHの総和がより大きくなるように各コンテンツディレクトリの割当容量の変更を決定し前記割当容量記憶の内容を更新する割当容量更新を行うことを特徴とするコンテンツ配信方法。
【請求項１２】
前記ヒット量はヒットの発生回数であり、前記ヒットテーブル更新はヒット量を増加させる際にヒット量を1だけ増加させる請求項９ないし１１のいずれかに記載のコンテンツ配信方法。
【請求項１３】
前記ヒット量はヒットが発生したときの要求コンテンツのサイズの累積和であり、前記ヒットテーブル更新はヒット量を増加させる際にヒット量を当該要求コンテンツのサイズ分だけ増加させる請求項９ないし１１のいずれかに記載のコンテンツ配信方法。
【請求項１４】
前記提供元コンテンツリストの各コンテンツの属性情報が当該コンテンツが最後に更新された時刻である最終更新時刻を含み、当該最終更新時刻がより新しいコンテンツをより上位とすることを前記ポリシ候補の一つとする請求項９または１０記載のコンテンツ配信方法。
【請求項１５】
前記提供元コンテンツリストの各コンテンツの属性情報が当該コンテンツが最後の利用者から要求された時刻である最終要求受信時刻を含み、当該最終要求受信時刻がより新しいコンテンツをより上位とすることを前記ポリシ候補の一つとする請求項９または１０記載のコンテンツ配信方法。
【請求項１６】
前記割当容量更新は各コンテンツディレクトリについて割当容量を一定量増加させた場合のヒット量の増分量をＧとして求め、最大のＧを有するコンテンツディレクトリと最小のＧを有するコンテンツディレクトリとのＧの差があるしきい値を超える場合に、最大のＧを有するコンテンツディレクトリの割当容量を前記一定量増加させ、最小のＧを有するコンテンツディレクトリの割当容量を前記一定量減少させる請求項９または１１記載のコンテンツ配信方法。
【請求項１７】
所定のハードウェアと、このハードウェアにインストールされた所定の基本ソフトウェアとを備えたコンピュータ装置に、さらにインストールすることによりそのコンピュータ装置を請求項１ないし８のいずれかに記載のコンテンツ配信装置に相応する装置とするソフトウェアが記録された記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータネットワークに関し、より詳細には電子化された情報を蓄積し利用者の要求に応じて配信する装置に関する。
【０００２】
【従来の技術】
電子化された情報（コンテンツ）を蓄積し利用者の要求に応じてネットワークを用いて配信するコンテンツ配信サービスが普及している。コンテンツ配信サービスにおいてコンテンツを配信する装置をコンテンツ配信装置と呼ぶ。コンテンツの配信形態には、ＦＴＰ(File Transfer Protocol)やＨＴＴＰ(Hyper Text Transfer Protocol)のように転送レートについて制約を定めずにコンテンツを転送するファイル配信と、ＲＴＰ(Real-Time Transport Protocol)のようにコンテンツをあらかじめ定められたレートにしたがってコンテンツを転送するストリーム配信とがある。
【０００３】
コンテンツ要求の到着頻度についてコンテンツ間の差は大きく、要求到着頻度の高いコンテンツの配信は繰り返し実行されることが多い。同じコンテンツを繰り返し転送するのはネットワーク資源の無駄遣いとなるので、解決手段としてキャッシュサーバやミラーサーバを用いたコンテンツ配信が行われる。ミラーサーバもキャッシュサーバもコンテンツの複製を保持するコンテンツ配信装置である。ミラーサーバは、複製対象のコンテンツ配信装置（提供元装置）と複製対象の当該複製元装置のディレクトリ（提供元ディレクトリ）をあらかじめ設定情報として受け付けて、当該ディレクトリの複製を保持する。ミラーサーバ蓄積手段には各提供元ディレクトリ毎に複製コンテンツを保持するためのディレクトリが存在する。このディレクトリをコンテンツディレクトリと呼ぶ。ミラーサーバの場合には、コンテンツディレクトリの内容は提供元ディレクトリの内容と等しい。一方、キャッシュサーバは、提供元ディレクトリの設定を必要とせず、利用者端末が要求したコンテンツの複製を記憶する。
【０００４】
蓄積手段に保持されたコンテンツに対する要求をコンテンツ配信装置が受信する事象を「ヒット」と呼ぶ。ミラーサーバやキャッシュサーバの導入効果を高めるには、ヒットの発生回数がなるべく多くなるようにミラーサーバやキャッシュサーバを配置することが望ましい。また、ネットワーク上のトラヒック削減の観点からは、サイズの大きいコンテンツについてヒットが発生するほど導入効果が高いといえるので、ヒットが発生したときの要求コンテンツのサイズの累積和がなるべく大きくなるようにミラーサーバやキャッシュサーバを配置することが望ましい。
【０００５】
キャッシュサーバを用いたコンテンツ配信では、各キャッシュサーバがどのコンテンツの複製を保持しているかを把握することが難しい。このために、コンテンツ提供者がコンテンツの配信履歴などを正確に把握できなくなる、といった問題が発生する。一方で、ミラーサーバを用いたコンテンツ配信では、同一ディレクトリに属するコンテンツの間の要求頻度の差が大きい場合でも、要求頻度の少ないコンテンツまでもが複製されてしまう。このために、蓄積資源の有効活用が難しいといった問題点を持つ。
【０００６】
上記の問題点を解決するものとして特願２０００−１３８６９８号（本願出願時に未公開）に記載された発明（以下、既存発明と呼ぶ）がある。この発明によるコンテンツ配信装置は、ミラーサーバと同様に提供元ディレクトリをあらかじめ設定情報として受け付けて動作する。蓄積手段に複製コンテンツを保持するディレクトリであるコンテンツディレクトリが提供元ディレクトリ毎に作成される点もミラーサーバと同様である。しかし、当該提供元ディレクトリに属するすべてのコンテンツの複製を保持することはしない。ミラーサーバと異なり次の特徴を有する。
【０００７】
すなわち、各コンテンツディレクトリについて、当該ディレクトリに対して割り当てられた蓄積容量である割当容量と、当該ディレクトリに蓄積すべきコンテンツを選択するポリシ（方法）の識別子が定められている。また、提供元ディレクトリに属するコンテンツ各々についてコンテンツ識別子とコンテンツサイズを含む属性情報を示す提供元コンテンツリストとを各コンテンツディレクトリ毎に保持する提供元コンテンツリスト記憶手段を備える。さらに、前記提供元コンテンツリストが示す各コンテンツの属性情報を参照しながら前記提供元コンテンツリストが示すコンテンツの間の優先順序を前記ポリシにしたがって決定し、コンテンツサイズの総和が前記割当容量を超えないことを条件として優先順序の高いコンテンツからコンテンツを選択し蓄積すべきコンテンツのリストである蓄積コンテンツリストを決定する手段としてのコンテンツ選択手段を備える。
【０００８】
コンテンツディレクトリにはコンテンツ選択手段によって選択されたコンテンツのみが蓄積される。ポリシによって、最後に更新された時刻である最終更新時刻が新しいコンテンツを優先させたり、最後に利用者に要求された時刻である最終要求受信時刻が新しいコンテンツを優先させたりしながら、限られた蓄積容最のディレクトリに一部のコンテンツのみが複製される。この結果、ミラーサーバと比較して蓄積資源をより有効に活用できる、といった長所を持つ。
【０００９】
また、各サーバがどのコンテンツ複製を保持しうるかがあらかじめ定まっているので、キャッシュサーバと比較して、以下の長所を持つ。第一に、コンテンツ提供者がコンテンツの配信履歴を正確に把握できる。第二に、コンテンツが更新された旨をそのコンテンツの複製を保持しうるサーバに通知することが可能となるので、更新時刻が最も新しいコンテンツを優先的に蓄積する、など多様なコンテンツ選択ポリシが可能となる。
【００１０】
既存発明にもとづくコンテンツ配信装置の構成例を図１３に示す。前記割当容量と前記ポリシはそれぞれ割当容量記憶手段１６、ポリシ記憶手段１５によって記憶される。コンテンツ受信手段１２は前記提供元装置からコンテンツを受信する。コンテンツ蓄積手段１１はコンテンツディレクトリを含む。提供元コンテンツリスト受信手段１４は前記提供元装置から提供元コンテンツリストまたは提供元コンテンツリストの更新情報を受信し、提供元コンテンツリスト記憶手段１８が記憶する提供元コンテンツリストを更新する。コンテンツディレクトリ更新手段１３は、コンテンツ選択手段１７によって決定された蓄積コンテンツリストに含まれるコンテンツのうちコンテンツ蓄積手段１１に蓄積されていないコンテンツをコンテンツ受信手段１２によって受信してコンテンツ蓄積手段１１に蓄積し、コンテンツ蓄積手段１１に蓄積されているコンテンツのうち前記蓄積コンテンツリストに含まれていないコンテンツを削除する。コンテンツ配信手段１０は、利用者から要求コンテンツの識別子を含むコンテンツ要求メッセージを受信し、要求されたコンテンツがコンテンツ蓄積手段１１に蓄積されている場合に、当該コンテンツを利用者に配信する。コンテンツ選択手段１７は、コンテンツディレクトリ更新手段１３から、ポリシ、割当容量、コンテンツディレクトリの識別子を入力として受け付け、蓄積コンテンツリストを出力する。
【００１１】
既存発明にもとづくコンテンツ配信装置を導入する場合にも、その導入効果を高めるにはヒットの発生回数やヒット時の要求コンテンツのサイズの累積和が高くなるように各種パラメータ（割当容量、ポリシ）を設定することが望ましい。
【発明が解決しようとする課題】
既存発明によるコンテンツ配信装置では、あらかじめ各コンテンツディレクトリについての設定情報として、ポリシと割当容量を決定する必要があった。しかし、コンテンツに対する要求頻度の特性を事前に正確に把握することはできないため、どのディレクトリにはどのポリシが適しているかを装置管理者が特定するのは困難である。また、同じ理由で、各コンテンツディレクトリに対する割当容量を装置管理者が最適に設定するのは困難である。
【００１２】
そこで、本発明は、各コンテンツディレクトリについてのポリシと割当容量を自律的に決定する機構を既存発明によるコンテンツ配信装置に備えさせることによって、装置管理者が各コンテンツディレクトリについてポリシと割当容量を決定することを不要とすることを目的とする。
【００１３】
【課題を解決するための手段】
本発明によるコンテンツ配信装置には、ポリシのみを自律的に決定するもの、割当容量のみを自律的に決定するもの、ポリシと割当容量を自律的に決定するもの、が考えられる。説明のため、ポリシ、割当容量のうち適応的に決定されるものを自律決定パラメータと呼ぶ。自律決定パラメータとして選択しうる値を候補と呼ぶ。
【００１４】
本発明によるコンテンツ配信装置の特徴は、既存発明のコンテンツ配信装置に、自律決定パラメータの各候補に対応したヒット量を記憶するヒットテーブルを各コンテンツディレクトリについて記憶するヒット情報記憶手段と、利用者から受信したコンテンツ要求にしたがって前記ヒットテーブルを更新するヒットテーブル更新手段と、前記ヒットテーブルを参照してヒット量が多くなるように自律決定パラメータを決定する手段とが追加されている点である。本発明によるコンテンツ配信装置の構成を図１に示す。コンテンツ選択手段１７は、コンテンツディレクトリ更新手段１３からだけでなく、ヒットテーブル更新手段２０からも入力を受け付ける。ヒットテーブル更新手段２０は、次の処理によりヒットテーブル中の各候補に対応したヒット量を更新する。すなわち、自律決定パラメータの候補と自律決定パラメータでないパラメータの組合せによってできるポリシと割当容量の組み合わせとコンテンツ要求が示す要求コンテンツが属するコンテンツディレクトリの識別子をコンテンツ選択手段１７に入力し、コンテンツ選択手段１７から出力される蓄積コンテンツリストにコンテンツ要求が示すコンテンツが含まれる場合に、当該自律決定パラメータの候補に対応したヒット量を増分させる。
【００１５】
ポリシと割当容量の両方が自律決定パラメータである場合には、ポリシと割当容量の候補の組み合わせそれぞれに対応するヒット量をヒットテーブル中に保持し、ヒットテーブル更新手段２０は候補の組み合わせそれぞれについて蓄積コンテンツリストを求め、ヒット量の更新処理を行う。
【００１６】
ポリシのみが自律決定パラメータである場合には、ポリシの各候補に対応するヒット量をヒットテーブル中に保持し、ヒットテーブル更新手段２０はポリシの各候補とあらかじめ定められた割当容量に対する蓄積コンテンツリストを求め、ヒット量の更新処理を行う。割当容量のみが自律決定パラメータである場合には、割当容量の各候補に対応するヒット量をヒットテーブル中に保持し、ヒットテーブル更新手段２０は割当容量の各候補とあらかじめ定められたポリシに対応する蓄積コンテンツリストを求め、ヒット量の更新処理を行う。
【００１７】
上記構成の技術的意義を述べる。ヒットテーブル更新手段２０は、自律決定パラメータの候補が選択されていたと仮定してヒットが発生したか否かを判定し、ヒットが発生した場合にはヒット量を増加させている。この結果、ヒットテーブルは各自律決定パラメータの候補に対応するヒット量は、当該候補が選択されていたと仮定した場合のヒット量を利用者からのコンテンツ要求に基づいて求めた値となる。このため、ヒットテーブル中のヒット量がより高いポリシを選択することで利用者からのコンテンツ要求に適応しながら適切なポリシ選択が実現される。また自律決定パラメータに割当容量が含まれる場合には各割当容量に想定したヒット量がヒットテーブルに保持されている。コンテンツ配信装置の蓄積容量からすべてのコンテンツディレクトリの割当容量の総和が決まっている場合には、ヒットテーブル中のヒット量の総和がより大きくなるように各コンテンツディレクトリに対する割当容量を決定することで、利用者からのコンテンツ要求に適応しながら蓄積容量の各コンテンツディレクトリへの配信を決定できる。
【００１８】
割当容量とポリシを自律的に決定するコンテンツ配信装置の構成を図２に示す。自律決定パラメータを決定する手段としてポリシ・割当容量更新手段２２を備える。このコンテンツ配信装置のヒット情報記憶手段２４が記憶するヒットテーブルは割当容量の候補とポリシの侯補の組み合わせそれぞれについてヒット量を保持する。ヒットテーブル更新手段２３は、前記候補の組み合わせそれぞれについて蓄積コンテンツリストを求め、当該蓄積コンテンツリストにコンテンツ要求が示すコンテンツが含まれる場合に当該候補の組み合わせに対応したヒット量を増分させる。ポリシ・割当容量更新手段２２は、各コンテンツディレクトリのポリシ、割当容量に対応した前記ヒットテーブル中のヒット量をＨとして、すべてのコンテンツディレクトリのＨの総和がより大きくなるように各コンテンツディレクトリのポリシ、割当容量の変更を決定し、ポリシ記憶手段１５、割当容量記憶手段１６の記憶内容を更新する。
【００１９】
ポリシのみを自律的に決定するコンテンツ配信装置の構成を図３に示す。自律決定パラメータを決定する手段としてポリシ更新手段２５を備える。このコンテンツ配信装置のヒット情報記憶手段２７が記憶するヒットテーブルはポリシの候補それぞれについてヒット量を保持する。ヒットテーブル更新手段２６は、前記ポリシの候補それぞれについて蓄積コンテンツリストを求め、当該蓄積コンテンツリストにコンテンツ要求が示すコンテンツが含まれる場合に当該候補に対応したヒット量を増分させる。ポリシ更新手段２５は、前記ヒットテーブル中のヒット量がより大きいポリシを各コンテンツディレクトリについて選択し、ポリシ記憶手段１５の記憶内容を更新する。
【００２０】
割当容量のみを自律的に決定するコンテンツ配信装置の構成を図４に示す。自律決定パラメータを決定する手段として割当容量更新手段２８を備える。このコンテンツ配信装置のヒット情報記憶手段３０が記憶するヒットテーブルは割当容量の候補それぞれについてヒット量を保持する。ヒットテーブル更新手段２９は、前記割当容量の候補それぞれについて蓄積コンテンツリストを求め、当該蓄積コンテンツリストにコンテンツ要求が示すコンテンツが含まれる場合に当該侯補に対応したヒット量を増分させる。割当容量更新手段２８は、各コンテンツディレクトリの割当容量に対応した前記ヒットテーブル中のヒット量をＨとして、すべてのコンテンツディレクトリのＨの総和がより大きくなるように各コンテンツディレクトリの割当容量の変更を決定し、割当容量記憶手段２８の記憶内容を更新する。
【００２１】
前記ヒット量とはヒットが発生するごとに増加される変数である。ヒット量の具体的定義の一例としてヒットの発生回数がある。別の定義としては、要求コンテンツのサイズの累積和がある。この定義では、ヒットが発生したときに要求コンテンツのサイズだけヒット量が増加される。
【００２２】
前記ポリシの一例としては最終更新時刻が新しいコンテンツを優先させるものが考えられる。このポリシを実現する場合には、前記提供元コンテンツリストの各コンテンツの属性情報に最終更新時刻が含まれる。また、別のポリシの例として最終要求受信時刻が新しいコンテンツを優先させるものが考えられる。このポリシを実現する場合には、前記提供元コンテンツリストの各コンテンツの属性情報に最終要求受信時刻が含まれる。
【００２３】
また、割当容量を自律的に決定する場合の具体的方法としては、各コンテンツディレクトリについて割当容量の増加に対するヒット量の増加割合をＧとして求め、最大のＧを有するコンテンツディレクトリと最小のＧを有するコンテンツディレクトリとのＧの差があるしきい値を超える場合に、最大のＧを有するコンテンツディレクトリの割当容量を一定長増加し、最小のＧを有するコンテンツディレクトリの割当容量を前記一定量削減する方法がある。
【００２４】
また、本発明の別の観点は、所定のハードウェアと、このハードウェアにインストールされた所定の基本ソフトウェアとを備えたコンピュータ装置に、さらにインストールすることによりそのコンピュータ装置を本発明のコンテンツ配信装置に相応する装置とするソフトウェアが記録された記録媒体である。
【００２５】
この記録媒体によりコンピュータ装置に当該ソフトウェアをインストールすることにより本発明のコンテンツ配信装置を実現することができる。また、ネットワークを介したソフトウェア配信によってもコンピュータ装置に当該ソフトウェアをインストールすることができる。この場合には、実際には記録媒体を用いないサービス形態も実現し得るが、このようなサービス形態では、本発明の記録媒体は、ソフトウェア配信者側と、これを受け取るソフトウェア受信者側との双方にあると解釈することにする。
【００２６】
【発明の実施の形態】
（第一実施例）
本発明実施例におけるネットワーク構成を図５に示す。この実施例で、”ＭｕｓｉｃＳｈｏｐ”というディレクトリに格納されたコンテンツを本発明によるコンテンツ配信装置を用いて配信する。コンテンツの提供元装置２、本発明によるコンテンツ配信装置１、利用者端末３のいずれもＩＰネットワーク４に接続されていて、お互いに通信可能であるとする。
【００２７】
本発明によるコンテンツ配信装置１は、ハードディスクを用いた蓄積手段とＩＰ通信を行うネットワークインターフェースカードを備えたコンピュータにプログラムを起動することによって実現される。コンテンツ蓄積手段１１、提供元コンテンツリスト記憶手段１８、ポリシ記憶手段１５は当該ハードディスク上に実現される。当該ハードディスクのディレクトリ構成を図６に示す。各ディレクトリやファイルについては後で説明する。
【００２８】
図２に示す本発明第一実施例のコンテンツ配信装置の各手段の具体的実現方法を述べる。
【００２９】
コンテンツ蓄積手段１１の実現方法を述べる。当該コンピュータのハードディスクに“ＣｏｎｔｅｎｔｓＤｉｒｅｃｔｏｒｉｅｓ”というディレクトリを生成する。そして“ＣｏｎｔｅｎｔｓＤｉｒｅｃｔｏｒｉｅｓ”ディレクトリの配下にコンテンツを格納するディレクトリを生成する。これらのディレクトリをコンテンツディレクトリと呼ぶ。コンテンツディレクトリの一つが“ＭｕｓｉｃＳｈｏｐ”である。コンテンツは当該コンテンツが属するコンテンツディレクトリの配下に格納される。コンテンツ配信装置の設定パラメータの一つとして、すべてのコンテンツディレクトリの割当容量の総和が定められていることとする。この値を総ディレクトリサイズと呼ぶ。この値は当該コンテンツ配信装置の蓄積装置の容量から決定される。
【００３０】
また、コンテンツディレクトリ配下に“Ｃｏｎｔｒｏｌ”という名前のディレクトリを生成する。このディレクトリを当該コンテンツディレクトリの制御ディレクトリと呼ぶ。制御ディレクトリには、当該コンテンツディレクトリの制御情報を示すファイルが格納される。
【００３１】
提供元コンテンツリスト記憶手段１８の実現方法を述べる。各コンテンツディレクトリの制御ディレクトリの中に“ＳｏｕｒｃｅＣｏｎｔｅｎｔｓＬｉｓｔ”というファイルを作成する。このファイルの構成は図８に示す構成とする。すなわち、各行が一つのコンテンツの属性を示す。その属性には、コンテンツ名、コンテンツサイズ、最終更新日時、最終要求受信日時が含まれる。
【００３２】
コンテンツ受信手段１２は当該コンピュータにインストールされたＨＴＴＰファイルダウンロード実行ソフトウェアによって実現される。
【００３３】
コンテンツ受信手段１２はＨＴＴＰ  ＧＥＴメッセージをコンテンツの提供元装置２に送信し、ＨＴＴＰプロトコルにしたがいコンテンツの提供元装置２からコンテンツを受信する。
【００３４】
また、提供元コンテンツリスト受信手段１４は当該コンピュータにインストールされたソフトウェアによって実現される。当該ソフトウェアは、あらかじめ定められたＴＣＰ(Transmission Control Protocol)ポート番号によってコンテンツの提供元装置２からのＴＣＰコネクション生成要求の受信を待機する。そして、コンテンツの提供元装置２からＴＣＰコネクション生成要求を受信したら、ＴＣＰコネクションを生成し、リスト更新メッセージを受信する。
【００３５】
リスト更新メッセージの形式を図７に示す。ディレクトリ中のコンテンツが更新または作成された場合には、図７に示すとおり、ディレクトリ名、コンテンツ名、コンテンツサイズ、更新日時を含むファイル更新通知メッセージがリスト更新メッセージとなる。また、ディレクトリ中のコンテンツが削除された場合には、ディレクトリ名、コンテンツ名を含むファイル削除通知メッセージがリスト更新メッセージとなる。当該ソフトウェアは、コンテンツ更新通知メッセージを受信したら次の手順により当核メッセージが示すディレクトリの“ＳｏｕｒｃｅＣｏｎｔｅｎｔｓＬｉｓｔ”ファイルを更新する。
【００３６】
すなわち、当該メッセージが示すコンテンツ名を含む行が当該“ＳｏｕｒｃｅＣｏｎｔｅｎｔｓＬｉｓｔ”ファイルに存在したら、当該行のコンテンツサイズ、最終更新日時を当該メッセージが示す値に置き替える。この場合には、さらに当該コンテンツディレクトリに当該コンテンツ名のファイルが存在していればこれを削除する。当該メッセージが示すコンテンツ名を含む行が当該“ＳｏｕｒｃｅＣｏｎｔｅｎｔｓＬｉｓｔ”ファイルに存在しない場合には、当該ファイルに当該コンテンツ名を含む行を追加し、当該行のコンテンツサイズ、最終更新日時を当該メッセージが示す値に設定する。
【００３７】
割当容量記憶手段１６は各コンテンツディレクトリの制御ディレクトリに“ＤｉｒｅｃｔｏｒｙＳｉｚｅ”というファイルを保持することによって実現する。“ＤｉｒｅｃｔｏｒｙＳｉｚｅ”の形式は図９の例に示すとおりとする。すなわち、当該ファイルは容量をＭＢ（メガバイト）単位で表した文字列を先頭に含むこととする。なお、ある値を単位ディレクトリ容量として定め、容量はその単位ディレクトリ容量の整数倍とすることとする。割当容量の初期値は総ディレクトリサイズをコンテンツディレクトリの数で割った値とする。
【００３８】
ポリシ記憶手段１５は各コンテンツディレクトリの制御ディレクトリに“ＳｅｌｅｃｔｉｏｎＰｏｌｉｃｙ”というファイルを保持することによって実現する。“ＳｅｌｅｃｔｉｏｎＰｏｌｉｃｙ”の形式は図１０の例に示すとおりとする。すなわち、当該ファイルは選択ポリシを表す文字列を先頭に含むこととする。ここで“ＬａｓｔＵｐｄａｔｅ”は、最終更新日時が新しいコンテンツほど優先的に選択するポリシを示し、“ＬａｓｔＲｅｑｕｅｓｔ”は最終要求受信日時が新しいコンテンツほど優先的に選択するポリシを示す。ポリシの初期値は“ＬａｓｔＵｐｄａｔｅ”とする。
【００３９】
コンテンツディレクトリ更新手段１３は、当該コンピュータ上で動作するソフトウェアによって実現される。当該ソフトウェアは周期的に次の動作を実行する。すなわち、各コンテンツディレクトリについて、当該コンテンツディレクトリの識別子と、当該コンテンツディレクトリのポリシと、当該コンテンツディレクトリに対する割当容量を該蓄積コンテンツ選択手段に入力し、蓄積すべきコンテンツのリストである蓄積コンテンツリストを求める。このとき、ポリシは当該コンテンツディレクトリの制御ディレクトリの“ＳｅｌｅｃｔｉｏｎＰｏｌｉｃｙ”ファイルから取得する。また、割当容量は当該コンテンツディレクトリの制御ディレクトリの“ＤｉｒｅｃｔｏｒｙＳｉｚｅ”から取得する。そして、当該コンテンツディレクトリの中に当該蓄積コンテンツリストに含まれていないコンテンツがあれば当該コンテンツを削除する。次に、当該蓄積コンテンツリストに含まれているが当該コンテンツディレクトリに存在しないコンテンツがあれば、当該コンテンツをコンテンツ受信手段１２を用いて受信し、受信したコンテンツを当該コンテンツディレクトリに保存する。
【００４０】
コンテンツ選択手段１７は、当該コンピュータ上で動作するソフトウェアとして実現される。当該ソフトウェアはコンテンツディレクトリ更新手段１３により起動される。当該ソフトウェアは起動時に対象コンテンツディレクトリ、ポリシ、割当容量を引数として受け付ける。当該ソフトウェアは次のとおり動作する。
【００４１】
まず、対象コンテンツディレクトリの提供元コンテンツリストが示すコンテンツに対して入力されたポリシにしたがった順位付けを行う。入力ポリシが“ＬａｓｔＵｐｄａｔｅ”である場合には、最終更新時刻が新しいコンテンツを上位として順位付けを行う。入力ポリシが“ＬａｓｔＲｅｑｕｅｓｔ”である場合には、最終要求受信時刻が新しいコンテンツを上位として順位付けを行う。このとき、提供元コンテンツリストは当該コンテンツディレクトリの制御ディレクトリの“ＳｏｕｒｃｅＣｏｎｔｅｎｔｓＬｉｓｔ”ファイルから取得する。
【００４２】
次に、選択されたコンテンツのコンテンツサイズの総和が入力されたディレクトリ容量を超えないことを条件として、１位のコンテンツから選択可能数だけのコンテンツを選択して蓄積コンテンツリストを決定する。決定された蓄積コンテンツリストを出力する。
【００４３】
例えば、“ＳｏｒｃｅＣｏｎｔｅｎｔｓＬｉｓｔ”が図８のとおりで、“ＤｉｒｅｃｔｏｒｙＳｉｚｅ”が図９のとおりであると仮定する。この場合には、“ＳｅｌｅｃｔｉｏｎＰｏｌｉｃｙ”ファイルの内容が“ＬａｓｔＵｐｄａｔｅ”となっていれば、“Ｍｕｓｉｃ１０．ｍｐ３”，“Ｍｕｓｉｃ９．ｍｐ３”，“Ｍｕｓｉｃ８．ｍｐ３”，“Ｍｕｓｉｃ７．ｍｐ３”，“Ｍｕｓｉｃ６．ｍｐ３”を選択する。“ＳｅｌｅｃｔｉｏｎＰｏｌｉｃｙ”ファイルの内容が“ＬａｓｔＲｅｑｕｅｓｔ”となっていれば、“Ｍｕｓｉｃ６．ｍｐ３”，“Ｍｕｓｉｃ１０．ｍｐ３”，“Ｍｕｓｉｃ４．ｍｐ３”，“Ｍｕｓｉｃ８．ｍｐ３”，“Ｍｕｓｉｃ２．ｍｐ３”を選択する。
【００４４】
ヒット情報記憶手段２１、２４、２７、３０は、各コンテンツディレクトリの制御ディレクトリに“ＨｉｔＴａｂｌｅ”というファイルを保持することによって実現する。このファイルをヒットテーブルファイルと呼ぶ。各ファイルの形式は図１１の例に示すとおりとする。各行は、割当容量の侯補値とポリシの候補の組み合わせの一つに対応し、割当容量の候補値（ＤｉｒｅｃｔｏｒｙＳｉｚｅと呼ぶ）を一番目の単語として、ポリシの候補（Ｐｏｌｉｃｙと呼ぶ）を二番目の単語として、ヒット量（ＨｉｔＡｍｏｕｎｔと呼ぶ）を三番目の単語として含む。各単語はスペースで区切られている。各行のヒット量の初期値は０とする。
【００４５】
コンテンツ配信手段１０は当該コンピュータ上で動作するソフトウェアによって実現される。当該ソフトウェアは、あらかじめ定められたＴＣＰポート番号によって利用者端末３からのＴＣＰコネクション生成要求の受信を待機する。そして、利用者端末３からＴＣＰコネクション生成要求を受信したら、利用者端末３とＴＣＰコネクションを生成し、利用者端末３からＨＴＴＰにしたがったコンテンツ要求メッセージを受信する。
【００４６】
要求されたコンテンツがコンテンツ蓄積手段１１に保持されていた場合には、コンテンツを含むＨＴＴＰ応答メッセージを送信する。要求されたコンテンツがコンテンツ蓄積手段１１に保持されていない場合には、コンテンツの提供元装置２に対して再要求することを指示するＨＴＴＰ応答メッセージを送信する。また、コンテンツ配信手段１０はヒットテーブル更新手段２０、２３、２６、２９を起動して、ヒット情報記憶手段２１、２４、２７、３０が保持する情報を更新する。
【００４７】
ヒットテーブル更新手段２０、２３、２６、２９は当該コンピュータ上で動作するソフトウェアによって実現される。当該ソフトウェアは、コンテンツ配信手段１０がコンテンツ要求を受信する毎に、コンテンツ配信手段１０によって起動される。起動時の引数として、要求されたコンテンツのディレクトリ、コンテンツ識別子、要求受信日時を受け付ける。当該ソフトウェアは次の手順によって、入力コンテンツディレクトリのヒットテーブルファイル中の各行を更新する。まず、当該行のＤｉｒｅｃｔｏｒｙＳｉｚｅ，Ｐｏｌｉｃｙとコンテンツディレクトリを入力としてコンテンツ選択手段１７を起動し、出力される蓄積コンテンツリストを収得する。入力されたコンテンツ識別子が当該蓄積コンテンツリストに含まれる場合には、当該行のＨｉｔＡｍｏｕｎｔの値を１増加する。
【００４８】
ポリシ・割当容量更新手段２２は当該コンピュータ上で動作するソフトウェアによって実現される。当該ソフトウェアは周期的に次のディレクトリ更新処理を実行する。図１２はディレクトリ更新処理手順を示すフローチャートである。
【００４９】
まず、各コンテンツディレクトリについて次の手順により利得Ｇを求める。まず、コンテンツディレクトリの“ＤｉｒｅｃｔｏｒｙＳｉｚｅ”ファイルを参照し、その時点での割当容量を取得する。取得した容量をＳ０とする。次に、当該コンテンツディレクトリのヒットテーブルファイルを参照し、ＤｉｒｅｃｔｏｒｙＳｉｚｅがＳ０である行のうちＨｉｔＡｍｏｕｎｔが最も大きいものを選択する。選択された行のＰｏｌｉｃｙの値をＰとし、ＨｉｔＡｍｏｕｎｔの値をＨ０とする。ポリシＰが“ＳｅｌｅｃｔｉｏｎＰｏｌｉｃｙ”ファイルに記入されたポリシと異なる場合には、“ＳｅｌｅｃｔｉｏｎＰｏｌｉｃｙ”ファイルの内容をＰに書き替えることにより、ポリシ記憶手段１５を更新する。次に、ヒットテーブルファイルにおいて、Ｐｏｌｉｃｙの値がＰでＨｉｔＡｍｏｕｎｔがＨ０よりも小さい行の中で、容量がＳ０に最も近い行を探索する。当該条件に一致した行が存在する場合には、当該行のＨｉｔＡｍｏｕｎｔをＨｄ、容量をＳｄとする。存在しない場合には、Ｈｄ＝Ｓｄ＝０とする。さらに、同ファイルにおいて、Ｐｏｌｉｃｙの値がＰでＨｉｔＡｍｏｕｍｔがＨ０よりも大きい行の中で、容量がＳ０に最も近い行を探索する。当該条件に一致した行が存在する場合には、当該行のＨｉｔＡｍｏｕｎｔの値をＨｕ、容量をＳｕとする。存在しない場合には、Ｈｕ＝Ｈ０、Ｓｕ＝Ｓ０とする。そして、
（Ｈｕ−Ｈｄ）／（Ｓｕ−Ｓｄ）
をＧとする。
【００５０】
次に、当該ソフトウェアは、Ｇの値が最も大きいディレクトリを求めこのディレクトリをＵＰ＿ＤＩＲとする。Ｇの値が最も小さいディレクトリを求め、このディレクトリをＤＯＷＮ＿ＤＩＲとする。ＵＰ＿ＤＩＲのＧをＧｕとし、ＤＯＷＮ＿ＤＩＲのＧをＧｄとする。あるしきい値Ｇｔｈをあらかじめ定め、Ｇｕ−Ｇｄ＞Ｇｔｈの場合には、ＵＰ＿ＤＩＲ、ＤＯＷＮ＿ＤＩＲそれぞれの“ＤｉｒｅｃｔｏｒｙＳｉｚｅ”ファイルを更新することによりＵＰ＿ＤＩＲのディレクトリ容量を単位容量増加しＤＯＷＮ＿ＤＩＲのディレクトリ容量を単位容量削減し、各コンテンツディレクトリについて利得Ｇを求める処理からの手順を繰り返す。Ｇｕ−Ｇｄ＞Ｇｔｈでない場合にはディレクトリ容量更新処理を終了する。更新処理が終了したら、０以上１以下のある定数値（Ｋとする）を各行のＨｉｔＡｍｏｕｎｔの値に乗じる。Ｋは利用者からのコンテンツ要求の頻度の時間変動に対する自律決定パラメータ更新処理の敏感さを調整するパラメータである。Ｋが０に近いほど自律決定パラメータは要求頻度の時間変動に対して敏感となる。Ｋが１に近いほど自律決定パラメータは要求頻度の時間変動に対して鈍感となる。
【００５１】
（第二実施例）
本発明第二実施例のコンテンツ配信装置を図３を参照して説明する。第一実施例との違いは、ポリシ・割当容量更新手段２２がポリシ更新手段２５に置き換えられる点と、ヒットテーブルファイルの各行はＰｏｌｉｃｙとＨｉｔＡｍｏｕｎｔのみを保持する点である。ポリシ更新手段２５は、上記のポリシ・割当容量更新手段２２の処理のうち、ポリシＰを決定する処理と、ポリシＰが“ＳｅｌｅｃｔｉｏｎＰｏｌｉｃｙ”ファイルが示すポリシと異なる場合に“ＳｅｌｅｃｔｉｏｎＰｏｌｉｃｙ”ファイルの内容をポリシＰに置き替える処理のみを行う。
【００５２】
（第三実施例）
本発明第三実施例のコンテンツ配信装置を図４を参照して説明する。第一実施例との違いは、ポリシ・割当容量更新手段２２が割当容量更新手段２８に置き換えられる点と、ヒットテーブルファイルの各行はＤｉｒｅｃｔｏｒｙＳｉｚｅとＨｉｔＡｍｏｕｎｔのみを保持する点である。割当容量更新手段２８は上記のポリシ・割当容量更新手段２２の処理からポリシＰを決定する処理とポリシ記憶手段１５を更新する処理とを除いた処理を行う。
【００５３】
（第四実施例）
本発明第四実施例を説明する。第四実施例は、第一〜第三実施例の各構成にそれぞれ適用できる。第四実施例では、ヒットテーブル更新手段２３、２６、２９が、ＨｉｔＡｍｏｕｎｔの値を、１増加させる処理の代わりに、要求コンテンツのサイズだけ増加させる処理を行う。この際、要求コンテンツのサイズは提供元コンテンツリスト（ＳｏｕｒｃｅＣｏｔｅｎｔｓＬｉｓｔ）から取得する。
【００５４】
【発明の効果】
本発明によって、利用者からのコンテンツ要求に適応しながら、自律的に割当容量、ポリシを決定するコンテンツ配信装置が実現される。装置管理者が適切な割当容量、ポリシを設定することが困難である点が解決される。また、自律な割当容量、ポリシの決定の結果、ヒットの発生回数が高められる。この結果、複製を保持するコンテンツ配信装置の導入効果を高められ、効率的なコンテンツ配信が実現される。
【図面の簡単な説明】
【図１】本発明によるコンテンツ配信装置の構成例を示す図。
【図２】ポリシと割当容量を自律的に決定するコンテンツ配信装置の構成を示す図。
【図３】ポリシのみを自律的に決定するコンテンツ配信装置の構成を示す図。
【図４】割当容量のみを自律的に決定するコンテンツ配信装置の構成を示す図。
【図５】本発明の実施例を示す図。
【図６】ファイルシステムの構造を示す図。
【図７】リスト更新メッセージの形式を示す図。
【図８】提供元コンテンツリストの構成を示す図。
【図９】“ＤｉｒｅｃｔｏｒｙＳｉｚｅ”ファイルの形式例を示す図。
【図１０】“ＳｅｌｅｃｔｉｏｎＰｏｌｉｃｙ”ファイルの例を示す図。
【図１１】“ＨｉｔＴａｂｌｅ”ファイルの例を示す図。
【図１２】ディレクトリ更新処理手順を示すフローチャート。
【図１３】既存発明のコンテンツ配信装置の構成例を示す図。
【符号の説明】
１  コンテンツ配信装置
２  提供元装置
３  利用者端末
４  ＩＰネットワーク
１０  コンテンツ配信手段
１１  コンテンツ蓄積手段
１２  コンテンツ受信手段
１３  コンテンツディレクトリ更新手段
１４  提供元コンテンツリスト受信手段
１５  ポリシ記憶手段
１６  割当容量記憶手段
１７  コンテンツ選択手段
１８  提供元コンテンツリスト記憶手段
１９  自律決定パラメータ更新手段
２０、２３、２６、２９  ヒットテーブル更新手段
２１、２４、２７、３０  ヒット情報記憶手段
２２  ポリシ・割当容量更新手段
２５  ポリシ更新手段
２８  割当容量更新手段
【図１】
0003672483.tif 000002
【図２】
0003672483.tif 000003
【図３】
0003672483.tif 000004
【図４】
0003672483.tif 000005
【図５】
0003672483.tif 000006
【図６】
0003672483.tif 000007
【図７】
0003672483.tif 000008
【図８】
0003672483.tif 000009
【図９】
0003672483.tif 000010
【図１０】
0003672483.tif 000011
【図１１】
0003672483.tif 000012
【図１２】
0003672483.tif 000013
【図１３】
0003672483.tif 000014