サーバ及びプログラム
【課題】エイリアスによってセッションを管理すると共に、コンテンツへのアクセス制限を細かく設定することができるコンテンツ配信システムを提供する。
【解決手段】サーバは、コンテンツリクエストに基づいてセッション管理情報を生成し、記憶する。さらに、サーバは、当該セッションを識別する識別子と、コンテンツルートディレクトリを基準とした相対パスとを含んだ仮想URLを端末装置にリダイレクトする。サーバは、端末装置から取得した仮想URLに基づいて特定したセッションによって、セッション管理情報を参照することで、端末装置からのリクエストが正当であるか否かを判定する。そして、サーバは、正当なリクエストであると判定した場合に限り、利用者が要求したコンテンツの格納位置を確定する。サーバは、確定した格納位置からコンテンツ情報を読み出し、端末装置に返信する。
【解決手段】サーバは、コンテンツリクエストに基づいてセッション管理情報を生成し、記憶する。さらに、サーバは、当該セッションを識別する識別子と、コンテンツルートディレクトリを基準とした相対パスとを含んだ仮想URLを端末装置にリダイレクトする。サーバは、端末装置から取得した仮想URLに基づいて特定したセッションによって、セッション管理情報を参照することで、端末装置からのリクエストが正当であるか否かを判定する。そして、サーバは、正当なリクエストであると判定した場合に限り、利用者が要求したコンテンツの格納位置を確定する。サーバは、確定した格納位置からコンテンツ情報を読み出し、端末装置に返信する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを利用してコンテンツを配信する技術に関する。
【背景技術】
【0002】
インターネット等のネットワークにおいて、クッキー等既存のユーザ識別あるいはセッション管理方法が利用できない環境でセッション管理を実現する方法として、従来から、仮想ディレクトリを利用する仕組みが存在する(例えば、特許文献1)。この場合、コンテンツ配信サーバは、仮想ディレクトリを有するリクエストに基づいて、実際にコンテンツが格納されているディレクトリ(以下、「実ディレクトリ」と呼ぶ。)にクライアント端末をアクセスさせる処理を行う。これにより、クライアント端末を使用するユーザは、実ディレクトリ以下のコンテンツを全て閲覧することが可能となる。
【0003】
具体的に、従来の方法では、ウェブサーバ上に自由にアクセスできないディレクトリを用意し、そのディレクトリを実ディレクトリとしている。つまり、アクセス制限がなされているディレクトリにコンテンツを格納して実ディレクトリとし、コンテンツ配信サーバは、仮想ディレクトリを実ディレクトリに置換する処理を行っている。この置換により、クライアント端末は、実ディレクトリ以下のコンテンツにアクセスすることが可能となり、ユーザは当該コンテンツを閲覧することができる。
【0004】
しかし、このような従来の方法では、アクセス制限がなされているとはいえ、実ディレクトリがウェブ上に公開されている。そのため、セキュリティ的に全く問題がないとはいえない。また、置換した実ディレクトリ以下のコンテンツは全て閲覧できるようになっており、実ディレクトリ内でさらにユーザの閲覧を制限することはできない。つまり、コンテンツへのアクセス制限を細かく設定することができないという問題が生じていた。
【0005】
【特許文献1】特開2003−58498号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、以上の点に鑑みてなされたものであり、クッキー等既存のユーザ識別あるいはセッション管理方法が利用できないクライアント端末においても、セッション管理ができると共に、コンテンツへのアクセス制限を細かく設定することができるコンテンツ配信システムを提供することを課題とする。
【課題を解決するための手段】
【0007】
本発明の1つの観点では、ネットワークを介して利用者端末装置と通信可能であり、前記端末装置にコンテンツを配信するサーバであって、コンテンツ情報やセッション管理情報などを記録する記憶手段と、認証された利用者からの新たなコンテンツリクエストを受付けて、このリクエストに基づいて当該利用者に関わるセッションを管理するセッション管理情報を生成して前記記憶手段に記録し、このセッションを一意に識別する識別子と、利用者の知らない前記記憶手段上のあるディレクトリを基準とした相対パスを含んだ仮想URLを利用者端末装置にリダイレクトするセッション生成手段と、前記仮想URLに基づいてリクエストされたコンテンツリクエストを受けて、このリクエストに関わるセッションを特定し、前記セッション管理情報を参照して、前記コンテンツリクエストが正当なリクエストか否かを判定し、正当なリクエストである場合に限り要求されたコンテンツの格納位置を確定するコンテンツ認証手段と、前記確定されたコンテンツの格納位置からコンテンツ情報を読み出し、利用者端末装置に返信するコンテンツ配信手段と、セッションが消滅したかどうかを監視し、不要なセッション管理情報を削除するセッション管理手段と、を備える。
【0008】
上記のように構成されたサーバは、インターネットをはじめとするネットワークにより端末装置と通信可能に接続されており、当該端末装置にコンテンツを配信するものである。ここで、端末装置とは、利用者が使用するPC(Personal Computer)、PDA(Personal Digital Assistants)、携帯電話等であって、ブラウザ機能を有するものである。利用者がコンテンツ閲覧を希望した場合、端末装置は、サーバにコンテンツ閲覧のリクエストであるコンテンツリクエストを送信する。サーバは、コンテンツリクエストを取得すると、当該コンテンツリクエストに基づいて利用者に関わるセッションを管理するセッション管理情報を生成し、メモリ上に記憶する。セッションとは、同一利用者からの一連のアクセスのひとまとまりのことである。さらに、サーバは、当該セッションを識別する識別子と、利用者の知らない記憶手段上にあるディレクトリを基準とした相対パスとを含んだ仮想URLを端末装置にリダイレクトする。ここで、「利用者の知らない記憶手段上にあるディレクトリ」について説明する。通常、URLのドメイン名(ホスト名)の右側に続く文字列であるパスは、HTTP(Hyper Text Transfer Protocol)サーバの設定するディレクトリ(以下、「ドキュメントルートディレクトリ」と呼ぶ。)を基準とした相対位置を表す。この場合、URLによりドキュメントルートディレクトリ以下の実際に存在するファイルを正しく指定することができたならば、HTTPサーバは、アクセス制限が設定されていない限り、このファイルの内容をそのまま要求元に返信する。その意味でドキュメントルートディレクトリは、外部からアクセスする者にとって、それがどこであるか実際に知らなくても、「知っている」ことと実質的にかわらない。これに対し、本発明のサーバは、仮想URLに含まれる相対パスを、ドキュメントルートディレクトリとは全く別であって、ネットワーク上で公開されていないディレクトリ(以下、「コンテンツルートディレクトリ」と呼ぶ。)を基準として解釈している。即ち、利用者の知らない記憶手段上にあるディレクトリとは、HTTPサーバがWEB公開用の基準ディレクトリとして設定するドキュメントルートディレクトリとは別のディレクトリのことである。
【0009】
サーバは、端末装置から仮想URLに基づくリクエストを取得し、当該リクエストに関わるセッションを特定する。さらに、サーバは、特定したセッションに基づいて、記憶手段に記録されたセッション管理情報を参照することにより、端末装置からのリクエストが正当であるか否かを判定する。そして、サーバは、正当なリクエストであると判定した場合に限り、利用者が要求したコンテンツの格納位置を確定する。サーバは、確定した格納位置からコンテンツ情報を読み出し、端末装置に返信する。なお、サーバは、セッションが消滅したか否かを監視し、休止または消滅した背所ンを確認すると、不要なセッション管理情報を削除する。
【0010】
これによれば、サーバは、仮想URLを利用して、端末装置のセッションを管理することができる。よって、サーバは、クッキー等が利用できない携帯電話のような端末装置であっても、エイリアスを利用してセッションを管理することができる。
【0011】
上記サーバの一態様では、前記サーバは、利用者に与えた閲覧許可と、その閲覧許可の内容である閲覧許可の識別情報及び対象コンテンツの識別情報とを記憶するライセンス情報記憶手段と、コンテンツである個々の商品について、利用者には知りえない前記記憶手段の所定のディレクトリからの相対パスとして、そのトップページの格納場所情報と、そのコンテンツの情報が格納され得る前記記憶手段上の記憶領域を示す閲覧可能領域情報とを対応付けて記憶する商品情報記憶手段と、を備え、前記利用者端末装置は、前記閲覧許可の識別情報を含んだコンテンツリクエストを発信するものであって、前記セッション生成手段は、コンテンツリクエストに含まれる閲覧許可の識別情報がライセンス情報記憶手段に記憶されているならば、対応するコンテンツ識別情報から、要求されているコンテンツを特定し、前記商品情報記憶手段を参照して、要求コンテンツのトップページと閲覧可能領域を読み出し、それらの情報と新たに生成したセッションを一意に特定する識別子を組にした認証トークンをセッション管理情報として記憶手段に記憶し、さらに、該識別子を含み前記トップページの格納場所情報を特定する仮想URLを生成して利用者端末にリダイレクトするものである。
【0012】
上記のように構成されたサーバは、予めライセンス情報及び商品情報を記憶している。サーバは、端末装置から取得したコンテンツリクエストに含まれる閲覧許可の識別情報がライセンス情報記憶手段に記憶されているか否かを判定する。記憶されている場合、サーバは、対応するコンテンツ識別情報からコンテンツを特定する。さらに、サーバは、特定したコンテンツに基づいて商品情報記憶手段を参照し、要求コンテンツのトップページと閲覧可能領域を読み出す。また、サーバは、読み出した情報と、新たに生成したセッションを識別する識別子とを組にした認証トークンをセッション管理情報として記憶する。そして、サーバは、当該識別子を含みトップページの格納場所情報を特定する仮想URLを生成し、端末装置にリダイレクトする。これによれば、サーバは、セッション管理情報として認証トークンを作成し、メモリ上に記憶しておくことができる。また、サーバは、仮想URLに要求コンテンツのトップページの格納場所を示す情報を含めることができる。
【0013】
上記サーバの他の一態様では、前記サーバは、利用者ごとに閲覧許可されているコンテンツを特定可能な表を記憶するライセンス情報記憶手段と、コンテンツである個々の商品について、利用者には知りえない前記記憶手段の所定のディレクトリからの相対パスとして、そのトップページの格納場所情報と、そのコンテンツの情報が格納され得る前記記憶手段上の記憶領域を示す閲覧可能領域情報とを対応付けて記憶する商品情報記憶手段と、を備え、前記利用者端末装置は、利用者を特定可能な情報と所望のコンテンツを特定する情報を含んだコンテンツリクエストを発信するものであって、前記セッション生成手段は、前記ライセンス情報記憶手段を参照することにより要求コンテンツが当該利用者に閲覧許可されているならば、その要求コンテンツのコンテンツ識別情報から、前記商品情報記憶手段を参照して、要求コンテンツのトップページと閲覧可能領域を読み出し、それらの情報と新たに生成したセッションを一意に特定する識別子を組にした認証トークンをセッション管理情報として記憶手段に記憶し、さらに、該識別子を含み前記トップページの格納場所情報を特定する仮想URLを生成して利用者端末にリダイレクトする。
【0014】
上記のように構成されたサーバは、予めライセンス情報及び商品情報を記憶している。ライセンス情報は、利用者ごとに閲覧許可されているコンテンツを特定可能な表である。一方、商品情報は、コンテンツである個々の商品について、利用者には知りえない所定のディレクトリからの相対パスとして、そのトップページの格納場所と、そのコンテンツの閲覧可能領域情報を対応付けたものである。サーバは、端末装置から取得したコンテンツリクエストに含まれる利用者及びコンテンツを特定する情報に基づいて、ライセンス情報記憶手段を参照することにより、要求コンテンツが利用者に閲覧許可されているか否かを判定する。閲覧許可されている場合、サーバは、要求コンテンツのコンテンツ識別情報に基づいて、商品情報記憶手段を参照することにより、要求コンテンツのトップページと閲覧可能領域を読み出す。また、サーバは、読み出した情報と、新たに生成したセッションを識別する識別子とを組にした認証トークンをセッション管理情報として記憶する。そして、サーバは、当該識別子を含みトップページの格納場所情報を特定する仮想URLを生成し、端末装置にリダイレクトする。これによれば、サーバは、セッション管理情報として認証トークンを作成し、メモリ上に記憶しておくことができる。また、サーバは、仮想URLに要求コンテンツのトップページの格納場所を示す情報を含めることができる。
【0015】
上記サーバの他の一態様では、前記仮想URLに含まれるセッション識別子は、ランダムな文字列で表わされるエイリアスである。これによれば、サーバは、ランダムな文字列で表されるエイリアスを仮想URLに含めることができる。
【0016】
上記サーバの他の一態様では、前記コンテンツ認証手段は、前記仮想URLに基づくコンテンツリクエストを受付けて、その中に含まれるセッション識別子からこれをキーにしてセッション管理情報を参照して、要求コンテンツの閲覧可能領域を特定し、これと、前記仮想URLに含まれるパスを、利用者には知られない前記記憶手段の所定の格納場所からの相対パスとして特定した位置を照合して、特定した位置が要求コンテンツの閲覧可能領域に含まれる場合のみ、該特定した位置を要求コンテンツの格納位置として確定し、そうでない場合は、エラーを通知するものである。
【0017】
上記のように構成されたサーバは、端末装置から仮想URLに基づくコンテンツリクエストを取得し、仮想URLに含まれるセッション識別子に基づいて、セッション管理情報を参照することで要求コンテンツの閲覧可能領域を特定する。また、サーバは、仮想URLに含まれるパスを、コンテンツルートディレクトリを基準とした相対パスとしてコンテンツの格納位置を特定する。そして、サーバは、特定した格納位置が要求コンテンツの閲覧可能領域に含まれているか否かを判定する。含まれている場合、サーバは、特定した格納位置を要求コンテンツの格納位置として確定する。一方、含まれていないと確定した場合、サーバは、エラーを通知する。これによれば、端末装置からコンテンツ閲覧のリクエストを取得した際に、仮想URLに基づいて要求コンテンツの実際の格納場所を特定するだけでなく、特定した格納場所がそのセッションに対して許可されている閲覧可能領域内であるか否かを判定する。よって、リクエストの要求コンテンツのパスの解釈が、結果的に実際に存在するコンテンツのパスと一致すればそのコンテンツが閲覧可能となってしまう従来の問題を解消することができる。
【0018】
上記サーバのさらに他の一態様では、前記セッション情報あるいは認証トークンは、セッションごとに最新のアクセス時刻をも併せて記録するものであって、前記セッション管理手段は、直近のアクセス時刻から一定時間以上経過したセッションを消滅した不要なセッションと認定するものである。これによれば、サーバは、直近のアクセス時刻が現在時刻から一定時間以上経過している認証トークンに係るセッションを休止又は消滅したセッションとして認定し、当該認証トークンを削除することができる。
【0019】
本発明の別の観点では、ネットワークを介して利用者端末装置と通信可能であり、前記端末装置にコンテンツを配信するコンピュータにより実行されるプログラムであって、前記プログラムは、コンテンツ情報やセッション管理情報などを記録する記憶手段、認証された利用者からの新たなコンテンツリクエストを受付けて、このリクエストに基づいて当該利用者に関わるセッションを管理するセッション管理情報を生成して前記記憶手段に記録し、このセッションを一意に識別する識別子と、利用者の知らない前記記憶手段上のあるディレクトリを基準とした相対パスを含んだ仮想URLを利用者端末装置にリダイレクトするセッション生成手段、前記仮想URLに基づいてリクエストされたコンテンツリクエストを受けて、このリクエストに関わるセッションを特定し、前記セッション管理情報を参照して、前記コンテンツリクエストが正当なリクエストか否かを判定し、正当なリクエストである場合に限り要求されたコンテンツの格納位置を確定するコンテンツ認証手段、前記確定されたコンテンツの格納位置からコンテンツ情報を読み出し、利用者端末装置に返信するコンテンツ配信手段、セッションが消滅したかどうかを監視し、不要なセッション管理情報を削除するセッション管理手段、として前記コンピュータを機能させる。
【0020】
上記プログラムをコンピュータにより実行することで、上述のサーバを実現することができる。また、上述のサーバの各態様も同様に実現することができる。
【発明の効果】
【0021】
本発明によれば、クッキー等既存のユーザ識別あるいはセッション管理方法が利用できないクライアント端末にコンテンツを配信する場合であっても、当該コンテンツへのアクセス制限を細かく設定することができる。また、本発明によれば、コンテンツの保護を強化し、コンテンツ配信システムにおいてより高いセキュリティを実現することができる。
【発明を実施するための最良の形態】
【0022】
以下、図面を参照して本発明の好適な実施の形態について説明する。
【0023】
[コンテンツ配信システム]
まず、コンテンツ配信システムについて、図1乃至図8を参照して説明する。図1は、コンテンツ配信システム100の概略構成を示す。図2は、端末装置及びサーバの内部構成を示す。
【0024】
コンテンツ配信システム100は、クッキー等既存のユーザ識別あるいはセッション管理方法が利用できない端末装置にコンテンツを配信するシステムである。そのため、本発明は、クッキーが使用できない携帯電話等、ハードウェア資源に乏しい端末装置に適して有用なものである。しかし、クッキーの使用有無に関わらず本発明は適用することができる。つまり、コンテンツ閲覧のリクエストを送信することが可能であり、サーバからのレスポンスを処理できる端末装置であれば本発明を適用することが可能である。なお、ユーザとは利用者のことである。
【0025】
具体的に、コンテンツ配信システム100は、ランダムな英数字や記号から構成されるエイリアスによる仮想パスを生成することで、セッション管理を実現する。また、コンテンツ配信システム100は、各コンテンツに閲覧可能領域を設定し、正規のユーザに対して購入したコンテンツのみを配信することで、コンテンツの保護を実現する。
【0026】
図1に示すように、コンテンツ配信システム100は、クライアントシステム及びサーバシステムから構成され、ネットワーク2を介して、クライアントシステムの端末装置10とサーバシステムのサーバ5が通信可能に接続されている。ネットワーク2の好適な1つの例は、インターネットである。本実施形態においてインターネットは、企業等グループ内で閉じたネットワークを構成するイントラネットを含むものとする。
【0027】
端末装置10は、ユーザが使用するPC(Personal Computer)やPDA(Personal Digital Assistants)、携帯電話等である。サーバ5は、所定の処理を実行する端末であり、ライセンスDB6及び商品DB7に接続されている。
【0028】
端末装置10を構成要素とするクライアントシステムは、サーバシステムへコンテンツ閲覧のリクエストを送信し、サーバシステムからレスポンスを取得するシステムである。図2に示すように、端末装置10は、ブラウザ20を有している。ブラウザ20は、一般的なウェブブラウザあるいは携帯電話のようにコンパクトHTML(Hyper Text Markup Language)文書を表示できる専用または汎用のブラウザである。具体的に、ブラウザ20は、HTML等ページ記述言語で記述された文書を解析し、これを表示する機能を持つ。なお、本実施形態では、端末装置10がブラウザ20を有することとしているが、本発明はこれに限定されるものではなく、端末装置10は、ブラウザ20の代わりに同様の機能を持つソフトウェアやシステムを有することとしてもよい。
【0029】
一方、サーバ5を構成要素とするサーバシステムは、クライアントシステムからのリクエストを取得し、当該リクエストに基づいて実行した処理結果をレスポンスとしてクライアントシステムに送信する情報処理システムである。図2に示すように、サーバ5は、記憶手段12、セッション生成手段13、コンテンツ認証手段14、コンテンツ配信手段15及びセッション管理手段16を有している。記憶手段12は、コンテンツやセッション管理に関する情報を記録する手段である。セッション生成手段13は、詳細は後述するが、ユーザからのリクエストに基づいて、認証トークンを生成して記憶し、エイリアス及びコンテンツディレクトリを基準とした相対パスを含む仮想URLを端末装置10にリダイレクトする手段である。コンテンツ認証手段14は、ユーザからのリクエストが正当であるか否かを判定し、正当なリクエストである場合に限り要求されたコンテンツの格納位置を確定する手段である。コンテンツ配信手段15は、確定されたコンテンツの格納位置から読み出したコンテンツを端末装置10に配信する手段である。セッション管理手段16は、セッションが消滅したかどうかを監視し、不要な認証トークンを削除する手段である。
【0030】
ここで、本システムによるコンテンツ配信方法の概要を述べておく。なお、本実施形態において、ユーザは端末装置10を使用し、ネットワーク2を介してサーバシステムから所定の有料コンテンツを購入する。コンテンツ配信システム100は、ユーザが購入した又は購入済みのコンテンツを、端末装置10からのリクエストに応じて配信するシステムである。コンテンツの購入方法は、周知の技術であるため、便宜上説明は省略する。
【0031】
ユーザが使用する端末装置10は、まず、ユーザを識別するユーザID及びパスワードに基づいて、サーバシステムへのログインを行う。サーバ5は、端末装置10からのログイン要求を取得すると、ユーザIDに基づいてライセンスDB6から対応する商品ID及びライセンスIDを抽出する。
【0032】
ここで、ライセンスDB6について、図3を参照して説明する。図3は、ライセンスDB6のデータ構造を模式的に示す図である。ライセンスDB6は、図示のように、ライセンスID、ユーザID及び商品IDから構成されている。ライセンスIDとは、ライセンスDB6の主キーであり、システムが与えたライセンス(コンテンツの閲覧許可)の1つ1つの内容を記述するためにそれらに付した識別情報である。個々のライセンスの内容は、ライセンスIDに関係付けられたユーザIDと商品IDにより記述される。すなわち、ユーザIDは、当該ライセンスを購入したユーザを、商品IDは当該ライセンスの購入者に与えられる閲覧許可の対象となる商品を、それぞれ指し示す。このように、ライセンスDB6は、ライセンスIDをキーとして、商品であるコンテンツの商品IDと、その商品を購入したユーザのユーザIDとを対応付けて記憶している。このことから、サーバ5は、ユーザIDをキーにして検索することにより、同一ユーザに購入された全てのライセンスIDとそれによって閲覧許可される全ての商品IDを抽出することができる。
【0033】
サーバ5は、ライセンスDBから抽出した商品ID及びライセンスIDに基づいて、図5に示すようなコンテンツ一覧を作成する。図示のように、コンテンツ一覧は、商品ID、商品名及びライセンスIDから構成されている。サーバ5は、作成したコンテンツ一覧を端末装置10へ送信し、端末装置10は、当該コンテンツ一覧を画面に表示する。これによれば、ユーザは、画面に表示されたコンテンツ一覧を参照することにより、自身が購入した商品であるコンテンツやその名称を容易に確認することができる。そして、ユーザは、所定の操作により、閲覧を希望するコンテンツに対応する商品を指定する。このとき、端末装置10は、ユーザが指定した商品に対応するライセンスIDをコンテンツ閲覧のリクエストとして、ネットワーク2を介し、サーバ5へ送信する。
【0034】
なお、サーバ5は、ログイン要求を取得した際に、ユーザID及びパスワードに基づいてユーザ認証を行うこととしてもよい。また、サーバ5は、ユーザIDのみに基づいてログインを行うこととしてもよい。つまり、サーバ5によるログインの方法は任意に設定することができる。
【0035】
また、図5に示すコンテンツ一覧は一例であり、デザインは任意に設定することができる。本実施形態において、サーバ5は、商品IDに対応する商品名を予め記憶しており、図示のようなコンテンツ一覧を作成可能であるものとする。
【0036】
また、本実施形態では、コンテンツ一覧を利用して端末装置10がライセンスIDを含むコンテンツ閲覧のリクエストを送信することとしているが、本発明はこれに限定されるものではなく、サーバ5が端末装置からライセンスIDを含むコンテンツ閲覧のリクエストを取得することができれば、その方法は任意である。
【0037】
セッション生成手段13は、実際には、例えば、Apache等の、httpリクエストに対して応答を返すソフトウェアモジュールの集合体であるHTTPサーバ(「Webサーバ」とも呼ばれる。)と、認証したユーザから新たなコンテンツ閲覧リクエストをそのHTTPサーバが受け付けることによってそのHTTPサーバから呼び出されるコンピュータプログラムであるリンクアップモジュール21により実現される。サーバ5のリンクアップモジュール21は、端末装置10からコンテンツ閲覧のリクエストを取得する。リンクアップモジュール21は、リクエストからライセンスIDを抽出し、ライセンスDB6に当該ライセンスIDが存在するか否かを判定する。つまり、ライセンスIDに基づいてライセンスDB6を参照することにより、ユーザがコンテンツの閲覧権限を有するか否かを判定する。ライセンスIDが存在しない場合、サーバ5は、エラー処理を実行する。
【0038】
ライセンスIDが存在する場合、即ち、ユーザがコンテンツの閲覧権限を有する場合、リンクアップモジュール21は、ライセンスIDに基づいて、ライセンスDB6から対応する商品IDを抽出する。さらに、リンクアップモジュール21は、認証トークンを生成して記録することでセッションを生成する。また、セッション生成手段13は、商品IDに基づいて、商品DB7から対応するトップページ及び閲覧可能領域を抽出する。
【0039】
ここで、商品DB7について、図4を参照して説明する。図4(a)は、商品DB7のデータ構造を模式的に示す図である。商品DB7は、図示のように、商品ID、トップページ及び閲覧可能領域から構成されている。商品IDは、商品であるコンテンツを識別する情報である。トップページ、閲覧可能領域はともに所定の基準ディレクトリ(コンテンツルートディレクトリ)を基準とした相対パスで設定される。トップページは、商品であるコンテンツのトップページの格納位置をこの相対パスで表示したものである。閲覧可能領域は、商品であるコンテンツの格納場所の範囲を1つ以上の相対パス表示で設定している。即ちコンテンツは、閲覧可能領域で指定される相対パス表示で解釈される格納位置及びそれ以下のディレクトリツリーに存在することになる。
【0040】
なお、閲覧可能領域の相対パスは、予めプログラムに設定された基準ディレクトリ(コンテンツルートディレクトリ)を基準にして解釈される。例えば、図4(b)に示すように、閲覧可能領域としてパス「:/item1/index.html」が記録されている場合は、サーバ5は、基準ディレクトリ「:/contents」を「/item1/index.html」の頭に付けて解釈する。
【0041】
このような商品DB7によれば、各商品には閲覧可能領域として複数の相対パスを設定することが可能であり、図示のように、1つの商品IDには1つ以上の相対パスから構成される閲覧可能領域が設定されている。このように、商品DB7は、商品であるコンテンツと、トップページ及び閲覧可能領域とを対応付けて記憶しており、このことから、セッション生成手段13は、商品IDに基づいて、商品DB7から容易に対応するトップページ及び閲覧可能領域を抽出することができる。
【0042】
また、リンクアップモジュール21は、コンテンツリクエストを受けると、図6(a)に示すような、ランダムな24文字の英数字や記号から構成されるエイリアスを生成する。エイリアスは、実体のないファイルやフォルダの分身のようなものである。さらに、リンクアップモジュール21は、図7(a)に示すように、エイリアス、ユーザID、閲覧可能領域、最終アクセス日時等を有する認証トークン30を生成する。つまり、リンクアップモジュール21は、生成したエイリアス、ユーザのユーザID、商品IDに基づいて商品DB7から抽出した閲覧可能領域、コンテンツへの最終アクセス日時等を格納した認証トークン30を生成する。換言すると、本発明においてセッションを生成することは、認証トークン30を1つ生成することである。認証トークン30は、図7(b)に示すように、サーバ5のメモリ上に保持される。
【0043】
リンクアップモジュール21は、エイリアスを用いて、図6(b)に示すような仮想URLを生成する。仮想URLは、コンテンツの仮想的な格納場所を示す情報であり、実際のコンテンツの格納場所であるURLとは異なるものである。また、仮想URLは、図示のように、エイリアス及び相対パスを有している。つまり、リンクアップモジュール21は、URLのホスト名とユーザが閲覧を要求したコンテンツのトップページへの相対パスの間に、エイリアスを挿入することにより仮想URLを生成する。そして、リンクアップモジュール21は、ネットワーク2を介して、生成した仮想URLを端末装置10へリダイレクトする。リダイレクトとは、アクセスされたURLとは別のURLを通知することである。つまり、端末装置10は、リダイレクトに伴うブラウザ20の再リクエストにより、自動的に仮想URLにリクエストを行う。これにより、サーバ5のコンテンツ認証手段14は、端末装置10からの再リクエストによる仮想URLへのリクエストを受け付ける。コンテンツ認証手段14は、実際には、HTTPサーバと、仮想URLによるリクエストをそのHTTPサーバが受け付けることによってそのHTTPサーバから呼び出されるコンピュータプログラムであるコンテンツ認証モジュール22により実現される。
【0044】
コンテンツ認証モジュール22は、受け付けた仮想URLからエイリアスを抽出する。また、コンテンツ認証モジュール22は、受け付けた仮想URLからコンテンツの格納位置を特定する。そして、コンテンツ認証モジュール22は、抽出したエイリアスに一致する認証トークン30がメモリ上に存在するか否かを判定する。さらに、コンテンツ認証モジュール22は、特定したコンテンツの格納位置が認証トークン30に格納された閲覧可能領域内であるか否かを判定する。具体的には、パスの文字列を比較することにより特定したパスが、設定された閲覧可能領域が表すディレクトリツリーに含まれているか否かを判定する。エイリアスに一致する認証トークン30がメモリ上に存在しない場合や特定したコンテンツの格納位置が閲覧可能領域内ではない場合、コンテンツ認証モジュール22は、エラー処理を実行する。
【0045】
一方、エイリアスに対応する認証トークン30がメモリ上に存在し、且つ、特定したコンテンツの格納位置が閲覧可能領域内である場合、コンテンツ配信手段15は、現在時刻を、該認証トークンの最終アクセス日時として更新し、コンテンツの格納位置に基づいて保護ディレクトリからファイルを読み込む。保護ディレクトリは、ネットワーク2上に公開されていないため、端末装置10やその他端末装置からネットワーク2を介してアクセスすることは不可能である。
【0046】
ここで、図8を参照し、保護ディレクトリについて説明する。図8は、通常URL、仮想URL及びディレクトリ構造の例である。商品であるコンテンツが実際に格納されている保護ディレクトリとは、図8のコンテンツルート(Contents Root)以下のディレクトリを指す。コンテンツルートディレクトリは、HTTP(Hyper Text Transfer Protocol)サーバの設定とは別にリンクアップモジュールおよびコンテンツ認証モジュールにより定められているディレクトリである。商品であるコンテンツファイルの格納位置は仮想URLの相対パスをコンテンツルートを基準に解釈することにより特定される。一方、通常URLでは、相対パスをHTTPサーバに設定されるドキュメントルート(Document Root)ディレクトリを基準にして格納位置が解釈される。図8に示すように、コンテンツルートをドキュメントルートを頂点とするディレクトリツリーの外部に設定すれば、保護ディレクトリはネットワーク(Web)に公開されない。
【0047】
コンテンツ配信手段15は、読み込んだファイルの内容、即ちコンテンツを端末装置10にレスポンスする。このようにサーバ5から配信されたコンテンツを端末装置10が画面上に表示することで、ユーザは、コンテンツを閲覧することができる。
【0048】
このように、本発明のコンテンツ配信システム100では、エイリアスを含む仮想URL及び認証トークン30を生成することでセッションを管理している。具体的には、URLに認証トークン30に記録されているエイリアスが含まれていれば、その間はセッションが維持され、ユーザは購入済のコンテンツを閲覧することができる。
【0049】
さらに、本発明のコンテンツ配信システム100では、生成した認証トークンの中に、セッションにおける閲覧可能領域を格納している。ここで、認証トークンに格納すべき適切な閲覧可能領域に関する情報は、予め商品DB6に記憶されており、コンテンツ閲覧のリクエストに含まれるライセンスIDにより特定した商品IDに基づいて、容易に抽出することができる。従来のコンテンツ配信システムでは、ユーザからコンテンツ閲覧のリクエストを取得すると、リクエストに含まれる仮想ディレクトリを対応する保護ディレクトリに置換し、当該保護ディレクトリにより特定される目的コンテンツを端末装置に配信していた。従って、ユーザが端末装置のブラウザに直接URLを打ち込むことで発生させたコンテンツ閲覧のリクエストであっても、そのリクエストの目的コンテンツのパスの解釈が、結果的に実際に存在するコンテンツのパスと一致すればそのコンテンツが閲覧可能となってしまう問題が発生していた。しかし、本発明のコンテンツ配信システム100では、ユーザからコンテンツ閲覧のリクエストを取得した際に、エイリアスを削除することで仮想URLをコンテンツの格納位置に変換するだけでなく、当該コンテンツの格納位置がそのセッションに対して許可されている閲覧可能領域内であるか否かを判定する。そのため、結果的に直接打ち込まれたURLと一致するコンテンツのパスが存在していたとしても、そのセッションの閲覧可能領域外であれば、リクエストは拒絶され、コンテンツ配信がなされることはない。よって、本発明のコンテンツ配信システム100によれば、従来の問題を解消することができる。
【0050】
また、本発明のコンテンツ配信システム100では、コンテンツが格納される保護ディレクトリ即ちコンテンツルート以下のディレクトリツリーをドキュメントルート以下のディレクトリツリーの範囲外におくことにより、保護ディレクトリがネットワーク上に公開されていない。従来のコンテンツ配信システムでは、端末装置10等がウェブからコンテンツに不正アクセスを試みた場合、「ファイルが存在するがアクセスすることができない」旨の警告が表示される。そのため、コンテンツを格納したファイルが存在することを知らせてしまうと共に、端末装置10等がセキュリティを破ればウェブからコンテンツに不正アクセスすることが可能であった。しかし、本発明のコンテンツ配信システム100では、端末装置10等がウェブからコンテンツに不正アクセスを試みた場合、実際にコンテンツが格納されている保護ディレクトリはネットワーク2上に公開されていないため、「ファイルが存在しない」旨の警告が表示される。そのため、端末装置10等がセキュリティを破ってネットワーク2からコンテンツに不正アクセスすることは不可能であり、従来と比較してセキュリティを強化することが可能となる。
【0051】
[機能ブロック]
次に、サーバシステムを構成するサーバ5の機能について、図9を参照して詳しく説明する。図9は、コンテンツ配信システム100におけるサーバ5の機能ブロック図である。
【0052】
図示のように、サーバ5は、HTTPサーバ25、リンクアップモジュール21、コンテンツ認証モジュール22、コンテンツ配信モジュール23及びセッション管理モジュール24を有する。
【0053】
HTTPサーバ25は、Apache等の、httpリクエストに対して応答を返すソフトウェアモジュールの集合体である。なお、HTTPサーバ25は、予め用意していたファイルを送出する機能のみならず、要求に応じてプログラムを実行し、結果をクライアントに送信する動的ページ生成の機能も有している。
【0054】
リンクアップモジュール21は、ライセンスID判定機能101、商品ID抽出機能102、仮想URL生成機能103、リダイレクト機能104、セッション生成機能105及びエイリアス生成機能106を有する。
【0055】
ライセンスID判定機能101は、端末装置10からのリクエストに含まれるライセンスIDが、ライセンスDB6に記憶されているか否かを判定する機能である。
【0056】
商品ID抽出機能102は、ライセンスID判定機能101によりライセンスIDが記憶されていると判定された場合に、ライセンスDB6から当該ライセンスIDに対応する商品IDを抽出する機能である。
【0057】
仮想URL生成機能103は、新たに生成したセッションを一意に特定するエイリアスを含み、商品ID抽出機能102により抽出された商品IDに対応するコンテンツのトップページの格納場所を特定する仮想URLを生成する機能である。仮想URLは、トップページの相対パスに基づいて、URLのドメイン名とこの相対パスの間に/contents/及びエイリアスをこの順で挿入したものである。
【0058】
リダイレクト機能104は、仮想URL生成機能105が生成した仮想URLを端末装置10にリダイレクトする機能である。
【0059】
セッション生成機能105は、商品ID抽出機能102により抽出された商品IDに対応するコンテンツの閲覧可能領域と、新たに生成したセッションを一意に特定するエイリアスとを組にした認証トークンを生成し、記憶する機能である。
【0060】
エイリアス生成機能106は、ランダムな24文字の英数字や記号から構成されるエイリアスを生成する機能である。なお、本実施形態では、エイリアスを24文字としているが、本発明はこれに限定されるものではなく、文字数や構成する英数字及び記号は任意に設定することができる。
【0061】
コンテンツ認証モジュール22は、閲覧可能領域抽出機能111、エイリアス抽出機能112、格納位置特定機能113、認証トークン判定機能114及び格納位置判定機能115を有する。
【0062】
閲覧可能領域抽出機能111は、商品ID抽出機能102が抽出した商品IDに基づいて、商品DB7から対応する閲覧可能領域及びトップページを抽出する機能である。
【0063】
エイリアス抽出機能112は、端末装置10からリクエストとして取得した仮想URLに含まれるエイリアスを抽出する機能である。
【0064】
格納位置特定機能113は、端末装置10からリクエストとして取得した仮想URLのパス部分からエイリアスを除いたパスを評価して、目的コンテンツの格納位置を特定する機能である。その際、パスの先頭となる/contents/が指し示す実際のディレクトリは、コンテンツ認証モジュール22のプログラムの設定により予め決められている。
【0065】
認証トークン判定機能114は、エイリアス抽出機能112が抽出したエイリアスを含む認証トークン30がメモリ上に存在するか否かを判定する機能である。
【0066】
格納位置判定機能115は、閲覧可能領域抽出機能111が抽出した閲覧可能領域と、格納位置特定機能113が特定した目的コンテンツの格納位置とを照合して、目的コンテンツの格納位置が閲覧可能領域に含まれる場合のみ、当該特定した格納位置を目的コンテンツの格納位置として確定する機能である。なお、目的コンテンツの格納位置が閲覧可能領域に含まれない場合、サーバ5は、エラーを通知する。
【0067】
コンテンツ配信モジュール23は、格納位置判定機能115により確定された目的コンテンツの格納位置に基づいて保護ディレクトリからコンテンツを読み出し、端末装置10に配信するモジュールである。これにより、端末装置10はコンテンツを画面上に表示することができ、ユーザは購入したコンテンツを閲覧することができる。なお、コンテンツは、静的コンテンツ及び動的コンテンツのいずれであってもよい。
【0068】
セッション管理モジュール24は、一定時間間隔でその時点に存在する認証トークン30を順に読み出し、最近のアクセス時刻が現在時刻から一定時間以上経過している認証トークン30に係るセッションを休止又は消滅したセッションとして認定し、当該認証トークン30を削除するモジュールである。
【0069】
[仮想URL生成処理]
次に、図10を参照して、上記コンテンツ配信システム100により実行される仮想URL生成処理について説明する。図10は、仮想URL生成処理のフローチャートである。なお、ログインは完了し、端末装置10がサーバ5にコンテンツ閲覧のリクエストを送信した状態であるとする。
【0070】
サーバ5は、端末装置10からコンテンツ閲覧のリクエストを取得し、当該リクエストからライセンスIDを抽出する(ステップS1)。さらに、サーバ5は、抽出したライセンスIDに基づいてライセンスDB6を参照する(ステップS2)。これにより、サーバ5は、抽出したライセンスIDがライセンスDB6に含まれているか否かを判定する(ステップS3)。抽出したライセンスIDがライセンスDB6に含まれていない場合(ステップS3;No)、サーバ5は、エラー処理を実行し、仮想URL生成処理を終了する(ステップS9)。一方、抽出したライセンスIDがライセンスDB6に含まれている場合(ステップS3;Yes)、サーバ5は、当該ライセンスIDに基づいてライセンスDB6から対応する商品IDを抽出する(ステップS4)。
【0071】
サーバ5は、抽出した商品IDに基づいて、商品DB7から対応するトップページ及び閲覧可能領域を抽出する(ステップS5)。また、サーバ5は、ランダムな24文字の英数字及び記号から構成されるエイリアスを生成する(ステップS6)。さらに、サーバ5は、生成したエイリアスと抽出した閲覧可能領域、最終アクセス日時としての現在時刻の組み合わせを1つの新しい認証トークンとしてメモリに記録する(ステップS7)。また、サーバ5は、生成したエイリアス及び抽出したトップページの相対パスに基づいて、URLのドメイン名とこの相対パスの間に/contents/及びエイリアスをこの順で挿入された仮想URLを生成し、端末装置10にリダイレクトする(ステップS8)。このとき生成される仮想URLは図6(b)に示した。これにより、仮想URL生成処理は完了する。
【0072】
[コンテンツ配信処理]
次に、図11を参照して、上記コンテンツ配信システム100により実行されるコンテンツ配信処理について説明する。図11は、コンテンツ配信処理のフローチャートである。なお、コンテンツ配信処理は、上述の仮想URL生成処理により生成された仮想URLに基づいて端末装置10がリクエストすることにより、サーバ5がコンテンツを配信する処理である。
【0073】
サーバ5は、端末装置10から仮想URLのリクエストを取得する(ステップS11)。さらに、サーバ5は、仮想URLからエイリアスを抽出する(ステップS12)。また、サーバ5は、仮想URLのパス部分からエイリアスを除いたパスを評価して、目的コンテンツの格納位置を特定する(ステップS13)。その際パスの先頭となる/contents/が指し示す実際のディレクトリはコンテンツ認証モジュールのプログラムの設定により予め決められている。そして、サーバ5は、抽出したエイリアスを含む認証トークンがメモリ上に存在するか否かを判定する(ステップS14)。認証トークンがメモリ上に存在しない場合(ステップS14;No)、サーバ5は、エラー処理を実行し、コンテンツ配信処理を終了する(ステップS19)。
【0074】
一方、認証トークンがメモリ上に存在する場合(ステップS14;Yes)、サーバ5は、抽出したエイリアスを含む認証トークンを取得する(ステップS15)。そして、サーバ5は、仮想URLから特定したコンテンツの格納位置が、取得した認証トークンに格納された閲覧可能領域内であるか否かを判定する(ステップS16)。閲覧可能領域外であると判定された場合(ステップS16;No)、サーバ5は、エラー処理を実行し、コンテンツ配信処理を終了する(ステップS19)。一方、閲覧可能領域内であると判定された場合(ステップS16;Yes)、サーバ5は、特定したコンテンツの格納位置を目的コンテンツの格納位置として確定し、保護ディレクトリからファイルを読み込み、現在時刻を該認証トークンの最終アクセス日時として更新する(ステップS17)。そして、サーバ5は、読み込んだファイルに格納されたコンテンツを端末装置10に配信する(ステップS18)。これにより、コンテンツ配信処理は完了する。端末装置10がサーバ5から取得したコンテンツを画面に表示することにより、ユーザはコンテンツを閲覧することができる。
【0075】
なお、セッション管理モジュールは一定時間間隔でその時点に存在する認証トークンを順に読み出し、最近のアクセス時刻が現在時刻から一定時間以上経過している認証トークンに係るセッションを休止又は消滅したセッションとして認定し、当該認証トークンを削除する。
【0076】
このように、本発明のコンテンツ配信システム100によれば、クッキー等が利用できない端末装置10において、セッション管理を実現できるだけでなく、閲覧可能領域を商品毎に設定できるため、細かいアクセス管理を実現できる。また、実際に存在するコンテンツは、ネットワーク2上で全く公開されていないため、より高いセキュリティを実現できる。
【0077】
なお、上記実施形態では、ライセンスDB6を図3に示すようなデータ構造としているが、本発明はこれに限定されるものではなく、ライセンスDB6が、ユーザ毎に閲覧許可されているコンテンツを特定可能な表を記憶していることとしてもよい。つまり、ライセンスDB6は、ユーザを特定するユーザIDと、そのユーザに閲覧許可されているコンテンツを特定する商品IDとを対応付けた表を記憶していることとしてもよい。この場合、サーバ5が端末装置10から取得するコンテンツ閲覧のリクエストには、ユーザを特定可能な情報(例えば、ユーザID)と閲覧を要求するコンテンツを特定する情報(例えば、商品ID)が含まれている。サーバ5は、コンテンツ閲覧のリクエストに基づいてライセンスDB6を参照することにより、閲覧を要求するコンテンツが当該ユーザに閲覧許可されているか否かを判定することができる。閲覧許可されている場合、サーバ5は、上記実施形態と同様に、仮想URLを生成し、端末装置10にリダイレクトする。
【産業上の利用可能性】
【0078】
本発明は、クッキー等既存のユーザ識別あるいはセッション管理方法が利用できないクライアント端末においても、エイリアスによってセッション管理ができると共に、コンテンツへのアクセス制限を細かく設定することができるコンテンツ配信システムとして利用することができる。
【図面の簡単な説明】
【0079】
【図1】本発明におけるコンテンツ配信システムの概略構成を示す図である。
【図2】端末装置及びサーバの内部構成を示す。
【図3】ライセンスDBのデータ構造を模式的に示す図である。
【図4】商品DBのデータ構造を模式的に示す図である。
【図5】コンテンツ一覧の例である。
【図6】エイリアス及び仮想URLの例である。
【図7】認証トークンを説明する図である。
【図8】通常URL、仮想URL及びディレクトリ構造を説明する図である。
【図9】コンテンツ配信システムを構成するサーバの機能ブロック図である。
【図10】仮想URL生成処理のフローチャートである。
【図11】コンテンツ配信処理のフローチャートである。
【符号の説明】
【0080】
2…ネットワーク
5…サーバ
6…ライセンスDB
7…商品DB
10…端末装置
【技術分野】
【0001】
本発明は、ネットワークを利用してコンテンツを配信する技術に関する。
【背景技術】
【0002】
インターネット等のネットワークにおいて、クッキー等既存のユーザ識別あるいはセッション管理方法が利用できない環境でセッション管理を実現する方法として、従来から、仮想ディレクトリを利用する仕組みが存在する(例えば、特許文献1)。この場合、コンテンツ配信サーバは、仮想ディレクトリを有するリクエストに基づいて、実際にコンテンツが格納されているディレクトリ(以下、「実ディレクトリ」と呼ぶ。)にクライアント端末をアクセスさせる処理を行う。これにより、クライアント端末を使用するユーザは、実ディレクトリ以下のコンテンツを全て閲覧することが可能となる。
【0003】
具体的に、従来の方法では、ウェブサーバ上に自由にアクセスできないディレクトリを用意し、そのディレクトリを実ディレクトリとしている。つまり、アクセス制限がなされているディレクトリにコンテンツを格納して実ディレクトリとし、コンテンツ配信サーバは、仮想ディレクトリを実ディレクトリに置換する処理を行っている。この置換により、クライアント端末は、実ディレクトリ以下のコンテンツにアクセスすることが可能となり、ユーザは当該コンテンツを閲覧することができる。
【0004】
しかし、このような従来の方法では、アクセス制限がなされているとはいえ、実ディレクトリがウェブ上に公開されている。そのため、セキュリティ的に全く問題がないとはいえない。また、置換した実ディレクトリ以下のコンテンツは全て閲覧できるようになっており、実ディレクトリ内でさらにユーザの閲覧を制限することはできない。つまり、コンテンツへのアクセス制限を細かく設定することができないという問題が生じていた。
【0005】
【特許文献1】特開2003−58498号公報
【発明の開示】
【発明が解決しようとする課題】
【0006】
本発明は、以上の点に鑑みてなされたものであり、クッキー等既存のユーザ識別あるいはセッション管理方法が利用できないクライアント端末においても、セッション管理ができると共に、コンテンツへのアクセス制限を細かく設定することができるコンテンツ配信システムを提供することを課題とする。
【課題を解決するための手段】
【0007】
本発明の1つの観点では、ネットワークを介して利用者端末装置と通信可能であり、前記端末装置にコンテンツを配信するサーバであって、コンテンツ情報やセッション管理情報などを記録する記憶手段と、認証された利用者からの新たなコンテンツリクエストを受付けて、このリクエストに基づいて当該利用者に関わるセッションを管理するセッション管理情報を生成して前記記憶手段に記録し、このセッションを一意に識別する識別子と、利用者の知らない前記記憶手段上のあるディレクトリを基準とした相対パスを含んだ仮想URLを利用者端末装置にリダイレクトするセッション生成手段と、前記仮想URLに基づいてリクエストされたコンテンツリクエストを受けて、このリクエストに関わるセッションを特定し、前記セッション管理情報を参照して、前記コンテンツリクエストが正当なリクエストか否かを判定し、正当なリクエストである場合に限り要求されたコンテンツの格納位置を確定するコンテンツ認証手段と、前記確定されたコンテンツの格納位置からコンテンツ情報を読み出し、利用者端末装置に返信するコンテンツ配信手段と、セッションが消滅したかどうかを監視し、不要なセッション管理情報を削除するセッション管理手段と、を備える。
【0008】
上記のように構成されたサーバは、インターネットをはじめとするネットワークにより端末装置と通信可能に接続されており、当該端末装置にコンテンツを配信するものである。ここで、端末装置とは、利用者が使用するPC(Personal Computer)、PDA(Personal Digital Assistants)、携帯電話等であって、ブラウザ機能を有するものである。利用者がコンテンツ閲覧を希望した場合、端末装置は、サーバにコンテンツ閲覧のリクエストであるコンテンツリクエストを送信する。サーバは、コンテンツリクエストを取得すると、当該コンテンツリクエストに基づいて利用者に関わるセッションを管理するセッション管理情報を生成し、メモリ上に記憶する。セッションとは、同一利用者からの一連のアクセスのひとまとまりのことである。さらに、サーバは、当該セッションを識別する識別子と、利用者の知らない記憶手段上にあるディレクトリを基準とした相対パスとを含んだ仮想URLを端末装置にリダイレクトする。ここで、「利用者の知らない記憶手段上にあるディレクトリ」について説明する。通常、URLのドメイン名(ホスト名)の右側に続く文字列であるパスは、HTTP(Hyper Text Transfer Protocol)サーバの設定するディレクトリ(以下、「ドキュメントルートディレクトリ」と呼ぶ。)を基準とした相対位置を表す。この場合、URLによりドキュメントルートディレクトリ以下の実際に存在するファイルを正しく指定することができたならば、HTTPサーバは、アクセス制限が設定されていない限り、このファイルの内容をそのまま要求元に返信する。その意味でドキュメントルートディレクトリは、外部からアクセスする者にとって、それがどこであるか実際に知らなくても、「知っている」ことと実質的にかわらない。これに対し、本発明のサーバは、仮想URLに含まれる相対パスを、ドキュメントルートディレクトリとは全く別であって、ネットワーク上で公開されていないディレクトリ(以下、「コンテンツルートディレクトリ」と呼ぶ。)を基準として解釈している。即ち、利用者の知らない記憶手段上にあるディレクトリとは、HTTPサーバがWEB公開用の基準ディレクトリとして設定するドキュメントルートディレクトリとは別のディレクトリのことである。
【0009】
サーバは、端末装置から仮想URLに基づくリクエストを取得し、当該リクエストに関わるセッションを特定する。さらに、サーバは、特定したセッションに基づいて、記憶手段に記録されたセッション管理情報を参照することにより、端末装置からのリクエストが正当であるか否かを判定する。そして、サーバは、正当なリクエストであると判定した場合に限り、利用者が要求したコンテンツの格納位置を確定する。サーバは、確定した格納位置からコンテンツ情報を読み出し、端末装置に返信する。なお、サーバは、セッションが消滅したか否かを監視し、休止または消滅した背所ンを確認すると、不要なセッション管理情報を削除する。
【0010】
これによれば、サーバは、仮想URLを利用して、端末装置のセッションを管理することができる。よって、サーバは、クッキー等が利用できない携帯電話のような端末装置であっても、エイリアスを利用してセッションを管理することができる。
【0011】
上記サーバの一態様では、前記サーバは、利用者に与えた閲覧許可と、その閲覧許可の内容である閲覧許可の識別情報及び対象コンテンツの識別情報とを記憶するライセンス情報記憶手段と、コンテンツである個々の商品について、利用者には知りえない前記記憶手段の所定のディレクトリからの相対パスとして、そのトップページの格納場所情報と、そのコンテンツの情報が格納され得る前記記憶手段上の記憶領域を示す閲覧可能領域情報とを対応付けて記憶する商品情報記憶手段と、を備え、前記利用者端末装置は、前記閲覧許可の識別情報を含んだコンテンツリクエストを発信するものであって、前記セッション生成手段は、コンテンツリクエストに含まれる閲覧許可の識別情報がライセンス情報記憶手段に記憶されているならば、対応するコンテンツ識別情報から、要求されているコンテンツを特定し、前記商品情報記憶手段を参照して、要求コンテンツのトップページと閲覧可能領域を読み出し、それらの情報と新たに生成したセッションを一意に特定する識別子を組にした認証トークンをセッション管理情報として記憶手段に記憶し、さらに、該識別子を含み前記トップページの格納場所情報を特定する仮想URLを生成して利用者端末にリダイレクトするものである。
【0012】
上記のように構成されたサーバは、予めライセンス情報及び商品情報を記憶している。サーバは、端末装置から取得したコンテンツリクエストに含まれる閲覧許可の識別情報がライセンス情報記憶手段に記憶されているか否かを判定する。記憶されている場合、サーバは、対応するコンテンツ識別情報からコンテンツを特定する。さらに、サーバは、特定したコンテンツに基づいて商品情報記憶手段を参照し、要求コンテンツのトップページと閲覧可能領域を読み出す。また、サーバは、読み出した情報と、新たに生成したセッションを識別する識別子とを組にした認証トークンをセッション管理情報として記憶する。そして、サーバは、当該識別子を含みトップページの格納場所情報を特定する仮想URLを生成し、端末装置にリダイレクトする。これによれば、サーバは、セッション管理情報として認証トークンを作成し、メモリ上に記憶しておくことができる。また、サーバは、仮想URLに要求コンテンツのトップページの格納場所を示す情報を含めることができる。
【0013】
上記サーバの他の一態様では、前記サーバは、利用者ごとに閲覧許可されているコンテンツを特定可能な表を記憶するライセンス情報記憶手段と、コンテンツである個々の商品について、利用者には知りえない前記記憶手段の所定のディレクトリからの相対パスとして、そのトップページの格納場所情報と、そのコンテンツの情報が格納され得る前記記憶手段上の記憶領域を示す閲覧可能領域情報とを対応付けて記憶する商品情報記憶手段と、を備え、前記利用者端末装置は、利用者を特定可能な情報と所望のコンテンツを特定する情報を含んだコンテンツリクエストを発信するものであって、前記セッション生成手段は、前記ライセンス情報記憶手段を参照することにより要求コンテンツが当該利用者に閲覧許可されているならば、その要求コンテンツのコンテンツ識別情報から、前記商品情報記憶手段を参照して、要求コンテンツのトップページと閲覧可能領域を読み出し、それらの情報と新たに生成したセッションを一意に特定する識別子を組にした認証トークンをセッション管理情報として記憶手段に記憶し、さらに、該識別子を含み前記トップページの格納場所情報を特定する仮想URLを生成して利用者端末にリダイレクトする。
【0014】
上記のように構成されたサーバは、予めライセンス情報及び商品情報を記憶している。ライセンス情報は、利用者ごとに閲覧許可されているコンテンツを特定可能な表である。一方、商品情報は、コンテンツである個々の商品について、利用者には知りえない所定のディレクトリからの相対パスとして、そのトップページの格納場所と、そのコンテンツの閲覧可能領域情報を対応付けたものである。サーバは、端末装置から取得したコンテンツリクエストに含まれる利用者及びコンテンツを特定する情報に基づいて、ライセンス情報記憶手段を参照することにより、要求コンテンツが利用者に閲覧許可されているか否かを判定する。閲覧許可されている場合、サーバは、要求コンテンツのコンテンツ識別情報に基づいて、商品情報記憶手段を参照することにより、要求コンテンツのトップページと閲覧可能領域を読み出す。また、サーバは、読み出した情報と、新たに生成したセッションを識別する識別子とを組にした認証トークンをセッション管理情報として記憶する。そして、サーバは、当該識別子を含みトップページの格納場所情報を特定する仮想URLを生成し、端末装置にリダイレクトする。これによれば、サーバは、セッション管理情報として認証トークンを作成し、メモリ上に記憶しておくことができる。また、サーバは、仮想URLに要求コンテンツのトップページの格納場所を示す情報を含めることができる。
【0015】
上記サーバの他の一態様では、前記仮想URLに含まれるセッション識別子は、ランダムな文字列で表わされるエイリアスである。これによれば、サーバは、ランダムな文字列で表されるエイリアスを仮想URLに含めることができる。
【0016】
上記サーバの他の一態様では、前記コンテンツ認証手段は、前記仮想URLに基づくコンテンツリクエストを受付けて、その中に含まれるセッション識別子からこれをキーにしてセッション管理情報を参照して、要求コンテンツの閲覧可能領域を特定し、これと、前記仮想URLに含まれるパスを、利用者には知られない前記記憶手段の所定の格納場所からの相対パスとして特定した位置を照合して、特定した位置が要求コンテンツの閲覧可能領域に含まれる場合のみ、該特定した位置を要求コンテンツの格納位置として確定し、そうでない場合は、エラーを通知するものである。
【0017】
上記のように構成されたサーバは、端末装置から仮想URLに基づくコンテンツリクエストを取得し、仮想URLに含まれるセッション識別子に基づいて、セッション管理情報を参照することで要求コンテンツの閲覧可能領域を特定する。また、サーバは、仮想URLに含まれるパスを、コンテンツルートディレクトリを基準とした相対パスとしてコンテンツの格納位置を特定する。そして、サーバは、特定した格納位置が要求コンテンツの閲覧可能領域に含まれているか否かを判定する。含まれている場合、サーバは、特定した格納位置を要求コンテンツの格納位置として確定する。一方、含まれていないと確定した場合、サーバは、エラーを通知する。これによれば、端末装置からコンテンツ閲覧のリクエストを取得した際に、仮想URLに基づいて要求コンテンツの実際の格納場所を特定するだけでなく、特定した格納場所がそのセッションに対して許可されている閲覧可能領域内であるか否かを判定する。よって、リクエストの要求コンテンツのパスの解釈が、結果的に実際に存在するコンテンツのパスと一致すればそのコンテンツが閲覧可能となってしまう従来の問題を解消することができる。
【0018】
上記サーバのさらに他の一態様では、前記セッション情報あるいは認証トークンは、セッションごとに最新のアクセス時刻をも併せて記録するものであって、前記セッション管理手段は、直近のアクセス時刻から一定時間以上経過したセッションを消滅した不要なセッションと認定するものである。これによれば、サーバは、直近のアクセス時刻が現在時刻から一定時間以上経過している認証トークンに係るセッションを休止又は消滅したセッションとして認定し、当該認証トークンを削除することができる。
【0019】
本発明の別の観点では、ネットワークを介して利用者端末装置と通信可能であり、前記端末装置にコンテンツを配信するコンピュータにより実行されるプログラムであって、前記プログラムは、コンテンツ情報やセッション管理情報などを記録する記憶手段、認証された利用者からの新たなコンテンツリクエストを受付けて、このリクエストに基づいて当該利用者に関わるセッションを管理するセッション管理情報を生成して前記記憶手段に記録し、このセッションを一意に識別する識別子と、利用者の知らない前記記憶手段上のあるディレクトリを基準とした相対パスを含んだ仮想URLを利用者端末装置にリダイレクトするセッション生成手段、前記仮想URLに基づいてリクエストされたコンテンツリクエストを受けて、このリクエストに関わるセッションを特定し、前記セッション管理情報を参照して、前記コンテンツリクエストが正当なリクエストか否かを判定し、正当なリクエストである場合に限り要求されたコンテンツの格納位置を確定するコンテンツ認証手段、前記確定されたコンテンツの格納位置からコンテンツ情報を読み出し、利用者端末装置に返信するコンテンツ配信手段、セッションが消滅したかどうかを監視し、不要なセッション管理情報を削除するセッション管理手段、として前記コンピュータを機能させる。
【0020】
上記プログラムをコンピュータにより実行することで、上述のサーバを実現することができる。また、上述のサーバの各態様も同様に実現することができる。
【発明の効果】
【0021】
本発明によれば、クッキー等既存のユーザ識別あるいはセッション管理方法が利用できないクライアント端末にコンテンツを配信する場合であっても、当該コンテンツへのアクセス制限を細かく設定することができる。また、本発明によれば、コンテンツの保護を強化し、コンテンツ配信システムにおいてより高いセキュリティを実現することができる。
【発明を実施するための最良の形態】
【0022】
以下、図面を参照して本発明の好適な実施の形態について説明する。
【0023】
[コンテンツ配信システム]
まず、コンテンツ配信システムについて、図1乃至図8を参照して説明する。図1は、コンテンツ配信システム100の概略構成を示す。図2は、端末装置及びサーバの内部構成を示す。
【0024】
コンテンツ配信システム100は、クッキー等既存のユーザ識別あるいはセッション管理方法が利用できない端末装置にコンテンツを配信するシステムである。そのため、本発明は、クッキーが使用できない携帯電話等、ハードウェア資源に乏しい端末装置に適して有用なものである。しかし、クッキーの使用有無に関わらず本発明は適用することができる。つまり、コンテンツ閲覧のリクエストを送信することが可能であり、サーバからのレスポンスを処理できる端末装置であれば本発明を適用することが可能である。なお、ユーザとは利用者のことである。
【0025】
具体的に、コンテンツ配信システム100は、ランダムな英数字や記号から構成されるエイリアスによる仮想パスを生成することで、セッション管理を実現する。また、コンテンツ配信システム100は、各コンテンツに閲覧可能領域を設定し、正規のユーザに対して購入したコンテンツのみを配信することで、コンテンツの保護を実現する。
【0026】
図1に示すように、コンテンツ配信システム100は、クライアントシステム及びサーバシステムから構成され、ネットワーク2を介して、クライアントシステムの端末装置10とサーバシステムのサーバ5が通信可能に接続されている。ネットワーク2の好適な1つの例は、インターネットである。本実施形態においてインターネットは、企業等グループ内で閉じたネットワークを構成するイントラネットを含むものとする。
【0027】
端末装置10は、ユーザが使用するPC(Personal Computer)やPDA(Personal Digital Assistants)、携帯電話等である。サーバ5は、所定の処理を実行する端末であり、ライセンスDB6及び商品DB7に接続されている。
【0028】
端末装置10を構成要素とするクライアントシステムは、サーバシステムへコンテンツ閲覧のリクエストを送信し、サーバシステムからレスポンスを取得するシステムである。図2に示すように、端末装置10は、ブラウザ20を有している。ブラウザ20は、一般的なウェブブラウザあるいは携帯電話のようにコンパクトHTML(Hyper Text Markup Language)文書を表示できる専用または汎用のブラウザである。具体的に、ブラウザ20は、HTML等ページ記述言語で記述された文書を解析し、これを表示する機能を持つ。なお、本実施形態では、端末装置10がブラウザ20を有することとしているが、本発明はこれに限定されるものではなく、端末装置10は、ブラウザ20の代わりに同様の機能を持つソフトウェアやシステムを有することとしてもよい。
【0029】
一方、サーバ5を構成要素とするサーバシステムは、クライアントシステムからのリクエストを取得し、当該リクエストに基づいて実行した処理結果をレスポンスとしてクライアントシステムに送信する情報処理システムである。図2に示すように、サーバ5は、記憶手段12、セッション生成手段13、コンテンツ認証手段14、コンテンツ配信手段15及びセッション管理手段16を有している。記憶手段12は、コンテンツやセッション管理に関する情報を記録する手段である。セッション生成手段13は、詳細は後述するが、ユーザからのリクエストに基づいて、認証トークンを生成して記憶し、エイリアス及びコンテンツディレクトリを基準とした相対パスを含む仮想URLを端末装置10にリダイレクトする手段である。コンテンツ認証手段14は、ユーザからのリクエストが正当であるか否かを判定し、正当なリクエストである場合に限り要求されたコンテンツの格納位置を確定する手段である。コンテンツ配信手段15は、確定されたコンテンツの格納位置から読み出したコンテンツを端末装置10に配信する手段である。セッション管理手段16は、セッションが消滅したかどうかを監視し、不要な認証トークンを削除する手段である。
【0030】
ここで、本システムによるコンテンツ配信方法の概要を述べておく。なお、本実施形態において、ユーザは端末装置10を使用し、ネットワーク2を介してサーバシステムから所定の有料コンテンツを購入する。コンテンツ配信システム100は、ユーザが購入した又は購入済みのコンテンツを、端末装置10からのリクエストに応じて配信するシステムである。コンテンツの購入方法は、周知の技術であるため、便宜上説明は省略する。
【0031】
ユーザが使用する端末装置10は、まず、ユーザを識別するユーザID及びパスワードに基づいて、サーバシステムへのログインを行う。サーバ5は、端末装置10からのログイン要求を取得すると、ユーザIDに基づいてライセンスDB6から対応する商品ID及びライセンスIDを抽出する。
【0032】
ここで、ライセンスDB6について、図3を参照して説明する。図3は、ライセンスDB6のデータ構造を模式的に示す図である。ライセンスDB6は、図示のように、ライセンスID、ユーザID及び商品IDから構成されている。ライセンスIDとは、ライセンスDB6の主キーであり、システムが与えたライセンス(コンテンツの閲覧許可)の1つ1つの内容を記述するためにそれらに付した識別情報である。個々のライセンスの内容は、ライセンスIDに関係付けられたユーザIDと商品IDにより記述される。すなわち、ユーザIDは、当該ライセンスを購入したユーザを、商品IDは当該ライセンスの購入者に与えられる閲覧許可の対象となる商品を、それぞれ指し示す。このように、ライセンスDB6は、ライセンスIDをキーとして、商品であるコンテンツの商品IDと、その商品を購入したユーザのユーザIDとを対応付けて記憶している。このことから、サーバ5は、ユーザIDをキーにして検索することにより、同一ユーザに購入された全てのライセンスIDとそれによって閲覧許可される全ての商品IDを抽出することができる。
【0033】
サーバ5は、ライセンスDBから抽出した商品ID及びライセンスIDに基づいて、図5に示すようなコンテンツ一覧を作成する。図示のように、コンテンツ一覧は、商品ID、商品名及びライセンスIDから構成されている。サーバ5は、作成したコンテンツ一覧を端末装置10へ送信し、端末装置10は、当該コンテンツ一覧を画面に表示する。これによれば、ユーザは、画面に表示されたコンテンツ一覧を参照することにより、自身が購入した商品であるコンテンツやその名称を容易に確認することができる。そして、ユーザは、所定の操作により、閲覧を希望するコンテンツに対応する商品を指定する。このとき、端末装置10は、ユーザが指定した商品に対応するライセンスIDをコンテンツ閲覧のリクエストとして、ネットワーク2を介し、サーバ5へ送信する。
【0034】
なお、サーバ5は、ログイン要求を取得した際に、ユーザID及びパスワードに基づいてユーザ認証を行うこととしてもよい。また、サーバ5は、ユーザIDのみに基づいてログインを行うこととしてもよい。つまり、サーバ5によるログインの方法は任意に設定することができる。
【0035】
また、図5に示すコンテンツ一覧は一例であり、デザインは任意に設定することができる。本実施形態において、サーバ5は、商品IDに対応する商品名を予め記憶しており、図示のようなコンテンツ一覧を作成可能であるものとする。
【0036】
また、本実施形態では、コンテンツ一覧を利用して端末装置10がライセンスIDを含むコンテンツ閲覧のリクエストを送信することとしているが、本発明はこれに限定されるものではなく、サーバ5が端末装置からライセンスIDを含むコンテンツ閲覧のリクエストを取得することができれば、その方法は任意である。
【0037】
セッション生成手段13は、実際には、例えば、Apache等の、httpリクエストに対して応答を返すソフトウェアモジュールの集合体であるHTTPサーバ(「Webサーバ」とも呼ばれる。)と、認証したユーザから新たなコンテンツ閲覧リクエストをそのHTTPサーバが受け付けることによってそのHTTPサーバから呼び出されるコンピュータプログラムであるリンクアップモジュール21により実現される。サーバ5のリンクアップモジュール21は、端末装置10からコンテンツ閲覧のリクエストを取得する。リンクアップモジュール21は、リクエストからライセンスIDを抽出し、ライセンスDB6に当該ライセンスIDが存在するか否かを判定する。つまり、ライセンスIDに基づいてライセンスDB6を参照することにより、ユーザがコンテンツの閲覧権限を有するか否かを判定する。ライセンスIDが存在しない場合、サーバ5は、エラー処理を実行する。
【0038】
ライセンスIDが存在する場合、即ち、ユーザがコンテンツの閲覧権限を有する場合、リンクアップモジュール21は、ライセンスIDに基づいて、ライセンスDB6から対応する商品IDを抽出する。さらに、リンクアップモジュール21は、認証トークンを生成して記録することでセッションを生成する。また、セッション生成手段13は、商品IDに基づいて、商品DB7から対応するトップページ及び閲覧可能領域を抽出する。
【0039】
ここで、商品DB7について、図4を参照して説明する。図4(a)は、商品DB7のデータ構造を模式的に示す図である。商品DB7は、図示のように、商品ID、トップページ及び閲覧可能領域から構成されている。商品IDは、商品であるコンテンツを識別する情報である。トップページ、閲覧可能領域はともに所定の基準ディレクトリ(コンテンツルートディレクトリ)を基準とした相対パスで設定される。トップページは、商品であるコンテンツのトップページの格納位置をこの相対パスで表示したものである。閲覧可能領域は、商品であるコンテンツの格納場所の範囲を1つ以上の相対パス表示で設定している。即ちコンテンツは、閲覧可能領域で指定される相対パス表示で解釈される格納位置及びそれ以下のディレクトリツリーに存在することになる。
【0040】
なお、閲覧可能領域の相対パスは、予めプログラムに設定された基準ディレクトリ(コンテンツルートディレクトリ)を基準にして解釈される。例えば、図4(b)に示すように、閲覧可能領域としてパス「:/item1/index.html」が記録されている場合は、サーバ5は、基準ディレクトリ「:/contents」を「/item1/index.html」の頭に付けて解釈する。
【0041】
このような商品DB7によれば、各商品には閲覧可能領域として複数の相対パスを設定することが可能であり、図示のように、1つの商品IDには1つ以上の相対パスから構成される閲覧可能領域が設定されている。このように、商品DB7は、商品であるコンテンツと、トップページ及び閲覧可能領域とを対応付けて記憶しており、このことから、セッション生成手段13は、商品IDに基づいて、商品DB7から容易に対応するトップページ及び閲覧可能領域を抽出することができる。
【0042】
また、リンクアップモジュール21は、コンテンツリクエストを受けると、図6(a)に示すような、ランダムな24文字の英数字や記号から構成されるエイリアスを生成する。エイリアスは、実体のないファイルやフォルダの分身のようなものである。さらに、リンクアップモジュール21は、図7(a)に示すように、エイリアス、ユーザID、閲覧可能領域、最終アクセス日時等を有する認証トークン30を生成する。つまり、リンクアップモジュール21は、生成したエイリアス、ユーザのユーザID、商品IDに基づいて商品DB7から抽出した閲覧可能領域、コンテンツへの最終アクセス日時等を格納した認証トークン30を生成する。換言すると、本発明においてセッションを生成することは、認証トークン30を1つ生成することである。認証トークン30は、図7(b)に示すように、サーバ5のメモリ上に保持される。
【0043】
リンクアップモジュール21は、エイリアスを用いて、図6(b)に示すような仮想URLを生成する。仮想URLは、コンテンツの仮想的な格納場所を示す情報であり、実際のコンテンツの格納場所であるURLとは異なるものである。また、仮想URLは、図示のように、エイリアス及び相対パスを有している。つまり、リンクアップモジュール21は、URLのホスト名とユーザが閲覧を要求したコンテンツのトップページへの相対パスの間に、エイリアスを挿入することにより仮想URLを生成する。そして、リンクアップモジュール21は、ネットワーク2を介して、生成した仮想URLを端末装置10へリダイレクトする。リダイレクトとは、アクセスされたURLとは別のURLを通知することである。つまり、端末装置10は、リダイレクトに伴うブラウザ20の再リクエストにより、自動的に仮想URLにリクエストを行う。これにより、サーバ5のコンテンツ認証手段14は、端末装置10からの再リクエストによる仮想URLへのリクエストを受け付ける。コンテンツ認証手段14は、実際には、HTTPサーバと、仮想URLによるリクエストをそのHTTPサーバが受け付けることによってそのHTTPサーバから呼び出されるコンピュータプログラムであるコンテンツ認証モジュール22により実現される。
【0044】
コンテンツ認証モジュール22は、受け付けた仮想URLからエイリアスを抽出する。また、コンテンツ認証モジュール22は、受け付けた仮想URLからコンテンツの格納位置を特定する。そして、コンテンツ認証モジュール22は、抽出したエイリアスに一致する認証トークン30がメモリ上に存在するか否かを判定する。さらに、コンテンツ認証モジュール22は、特定したコンテンツの格納位置が認証トークン30に格納された閲覧可能領域内であるか否かを判定する。具体的には、パスの文字列を比較することにより特定したパスが、設定された閲覧可能領域が表すディレクトリツリーに含まれているか否かを判定する。エイリアスに一致する認証トークン30がメモリ上に存在しない場合や特定したコンテンツの格納位置が閲覧可能領域内ではない場合、コンテンツ認証モジュール22は、エラー処理を実行する。
【0045】
一方、エイリアスに対応する認証トークン30がメモリ上に存在し、且つ、特定したコンテンツの格納位置が閲覧可能領域内である場合、コンテンツ配信手段15は、現在時刻を、該認証トークンの最終アクセス日時として更新し、コンテンツの格納位置に基づいて保護ディレクトリからファイルを読み込む。保護ディレクトリは、ネットワーク2上に公開されていないため、端末装置10やその他端末装置からネットワーク2を介してアクセスすることは不可能である。
【0046】
ここで、図8を参照し、保護ディレクトリについて説明する。図8は、通常URL、仮想URL及びディレクトリ構造の例である。商品であるコンテンツが実際に格納されている保護ディレクトリとは、図8のコンテンツルート(Contents Root)以下のディレクトリを指す。コンテンツルートディレクトリは、HTTP(Hyper Text Transfer Protocol)サーバの設定とは別にリンクアップモジュールおよびコンテンツ認証モジュールにより定められているディレクトリである。商品であるコンテンツファイルの格納位置は仮想URLの相対パスをコンテンツルートを基準に解釈することにより特定される。一方、通常URLでは、相対パスをHTTPサーバに設定されるドキュメントルート(Document Root)ディレクトリを基準にして格納位置が解釈される。図8に示すように、コンテンツルートをドキュメントルートを頂点とするディレクトリツリーの外部に設定すれば、保護ディレクトリはネットワーク(Web)に公開されない。
【0047】
コンテンツ配信手段15は、読み込んだファイルの内容、即ちコンテンツを端末装置10にレスポンスする。このようにサーバ5から配信されたコンテンツを端末装置10が画面上に表示することで、ユーザは、コンテンツを閲覧することができる。
【0048】
このように、本発明のコンテンツ配信システム100では、エイリアスを含む仮想URL及び認証トークン30を生成することでセッションを管理している。具体的には、URLに認証トークン30に記録されているエイリアスが含まれていれば、その間はセッションが維持され、ユーザは購入済のコンテンツを閲覧することができる。
【0049】
さらに、本発明のコンテンツ配信システム100では、生成した認証トークンの中に、セッションにおける閲覧可能領域を格納している。ここで、認証トークンに格納すべき適切な閲覧可能領域に関する情報は、予め商品DB6に記憶されており、コンテンツ閲覧のリクエストに含まれるライセンスIDにより特定した商品IDに基づいて、容易に抽出することができる。従来のコンテンツ配信システムでは、ユーザからコンテンツ閲覧のリクエストを取得すると、リクエストに含まれる仮想ディレクトリを対応する保護ディレクトリに置換し、当該保護ディレクトリにより特定される目的コンテンツを端末装置に配信していた。従って、ユーザが端末装置のブラウザに直接URLを打ち込むことで発生させたコンテンツ閲覧のリクエストであっても、そのリクエストの目的コンテンツのパスの解釈が、結果的に実際に存在するコンテンツのパスと一致すればそのコンテンツが閲覧可能となってしまう問題が発生していた。しかし、本発明のコンテンツ配信システム100では、ユーザからコンテンツ閲覧のリクエストを取得した際に、エイリアスを削除することで仮想URLをコンテンツの格納位置に変換するだけでなく、当該コンテンツの格納位置がそのセッションに対して許可されている閲覧可能領域内であるか否かを判定する。そのため、結果的に直接打ち込まれたURLと一致するコンテンツのパスが存在していたとしても、そのセッションの閲覧可能領域外であれば、リクエストは拒絶され、コンテンツ配信がなされることはない。よって、本発明のコンテンツ配信システム100によれば、従来の問題を解消することができる。
【0050】
また、本発明のコンテンツ配信システム100では、コンテンツが格納される保護ディレクトリ即ちコンテンツルート以下のディレクトリツリーをドキュメントルート以下のディレクトリツリーの範囲外におくことにより、保護ディレクトリがネットワーク上に公開されていない。従来のコンテンツ配信システムでは、端末装置10等がウェブからコンテンツに不正アクセスを試みた場合、「ファイルが存在するがアクセスすることができない」旨の警告が表示される。そのため、コンテンツを格納したファイルが存在することを知らせてしまうと共に、端末装置10等がセキュリティを破ればウェブからコンテンツに不正アクセスすることが可能であった。しかし、本発明のコンテンツ配信システム100では、端末装置10等がウェブからコンテンツに不正アクセスを試みた場合、実際にコンテンツが格納されている保護ディレクトリはネットワーク2上に公開されていないため、「ファイルが存在しない」旨の警告が表示される。そのため、端末装置10等がセキュリティを破ってネットワーク2からコンテンツに不正アクセスすることは不可能であり、従来と比較してセキュリティを強化することが可能となる。
【0051】
[機能ブロック]
次に、サーバシステムを構成するサーバ5の機能について、図9を参照して詳しく説明する。図9は、コンテンツ配信システム100におけるサーバ5の機能ブロック図である。
【0052】
図示のように、サーバ5は、HTTPサーバ25、リンクアップモジュール21、コンテンツ認証モジュール22、コンテンツ配信モジュール23及びセッション管理モジュール24を有する。
【0053】
HTTPサーバ25は、Apache等の、httpリクエストに対して応答を返すソフトウェアモジュールの集合体である。なお、HTTPサーバ25は、予め用意していたファイルを送出する機能のみならず、要求に応じてプログラムを実行し、結果をクライアントに送信する動的ページ生成の機能も有している。
【0054】
リンクアップモジュール21は、ライセンスID判定機能101、商品ID抽出機能102、仮想URL生成機能103、リダイレクト機能104、セッション生成機能105及びエイリアス生成機能106を有する。
【0055】
ライセンスID判定機能101は、端末装置10からのリクエストに含まれるライセンスIDが、ライセンスDB6に記憶されているか否かを判定する機能である。
【0056】
商品ID抽出機能102は、ライセンスID判定機能101によりライセンスIDが記憶されていると判定された場合に、ライセンスDB6から当該ライセンスIDに対応する商品IDを抽出する機能である。
【0057】
仮想URL生成機能103は、新たに生成したセッションを一意に特定するエイリアスを含み、商品ID抽出機能102により抽出された商品IDに対応するコンテンツのトップページの格納場所を特定する仮想URLを生成する機能である。仮想URLは、トップページの相対パスに基づいて、URLのドメイン名とこの相対パスの間に/contents/及びエイリアスをこの順で挿入したものである。
【0058】
リダイレクト機能104は、仮想URL生成機能105が生成した仮想URLを端末装置10にリダイレクトする機能である。
【0059】
セッション生成機能105は、商品ID抽出機能102により抽出された商品IDに対応するコンテンツの閲覧可能領域と、新たに生成したセッションを一意に特定するエイリアスとを組にした認証トークンを生成し、記憶する機能である。
【0060】
エイリアス生成機能106は、ランダムな24文字の英数字や記号から構成されるエイリアスを生成する機能である。なお、本実施形態では、エイリアスを24文字としているが、本発明はこれに限定されるものではなく、文字数や構成する英数字及び記号は任意に設定することができる。
【0061】
コンテンツ認証モジュール22は、閲覧可能領域抽出機能111、エイリアス抽出機能112、格納位置特定機能113、認証トークン判定機能114及び格納位置判定機能115を有する。
【0062】
閲覧可能領域抽出機能111は、商品ID抽出機能102が抽出した商品IDに基づいて、商品DB7から対応する閲覧可能領域及びトップページを抽出する機能である。
【0063】
エイリアス抽出機能112は、端末装置10からリクエストとして取得した仮想URLに含まれるエイリアスを抽出する機能である。
【0064】
格納位置特定機能113は、端末装置10からリクエストとして取得した仮想URLのパス部分からエイリアスを除いたパスを評価して、目的コンテンツの格納位置を特定する機能である。その際、パスの先頭となる/contents/が指し示す実際のディレクトリは、コンテンツ認証モジュール22のプログラムの設定により予め決められている。
【0065】
認証トークン判定機能114は、エイリアス抽出機能112が抽出したエイリアスを含む認証トークン30がメモリ上に存在するか否かを判定する機能である。
【0066】
格納位置判定機能115は、閲覧可能領域抽出機能111が抽出した閲覧可能領域と、格納位置特定機能113が特定した目的コンテンツの格納位置とを照合して、目的コンテンツの格納位置が閲覧可能領域に含まれる場合のみ、当該特定した格納位置を目的コンテンツの格納位置として確定する機能である。なお、目的コンテンツの格納位置が閲覧可能領域に含まれない場合、サーバ5は、エラーを通知する。
【0067】
コンテンツ配信モジュール23は、格納位置判定機能115により確定された目的コンテンツの格納位置に基づいて保護ディレクトリからコンテンツを読み出し、端末装置10に配信するモジュールである。これにより、端末装置10はコンテンツを画面上に表示することができ、ユーザは購入したコンテンツを閲覧することができる。なお、コンテンツは、静的コンテンツ及び動的コンテンツのいずれであってもよい。
【0068】
セッション管理モジュール24は、一定時間間隔でその時点に存在する認証トークン30を順に読み出し、最近のアクセス時刻が現在時刻から一定時間以上経過している認証トークン30に係るセッションを休止又は消滅したセッションとして認定し、当該認証トークン30を削除するモジュールである。
【0069】
[仮想URL生成処理]
次に、図10を参照して、上記コンテンツ配信システム100により実行される仮想URL生成処理について説明する。図10は、仮想URL生成処理のフローチャートである。なお、ログインは完了し、端末装置10がサーバ5にコンテンツ閲覧のリクエストを送信した状態であるとする。
【0070】
サーバ5は、端末装置10からコンテンツ閲覧のリクエストを取得し、当該リクエストからライセンスIDを抽出する(ステップS1)。さらに、サーバ5は、抽出したライセンスIDに基づいてライセンスDB6を参照する(ステップS2)。これにより、サーバ5は、抽出したライセンスIDがライセンスDB6に含まれているか否かを判定する(ステップS3)。抽出したライセンスIDがライセンスDB6に含まれていない場合(ステップS3;No)、サーバ5は、エラー処理を実行し、仮想URL生成処理を終了する(ステップS9)。一方、抽出したライセンスIDがライセンスDB6に含まれている場合(ステップS3;Yes)、サーバ5は、当該ライセンスIDに基づいてライセンスDB6から対応する商品IDを抽出する(ステップS4)。
【0071】
サーバ5は、抽出した商品IDに基づいて、商品DB7から対応するトップページ及び閲覧可能領域を抽出する(ステップS5)。また、サーバ5は、ランダムな24文字の英数字及び記号から構成されるエイリアスを生成する(ステップS6)。さらに、サーバ5は、生成したエイリアスと抽出した閲覧可能領域、最終アクセス日時としての現在時刻の組み合わせを1つの新しい認証トークンとしてメモリに記録する(ステップS7)。また、サーバ5は、生成したエイリアス及び抽出したトップページの相対パスに基づいて、URLのドメイン名とこの相対パスの間に/contents/及びエイリアスをこの順で挿入された仮想URLを生成し、端末装置10にリダイレクトする(ステップS8)。このとき生成される仮想URLは図6(b)に示した。これにより、仮想URL生成処理は完了する。
【0072】
[コンテンツ配信処理]
次に、図11を参照して、上記コンテンツ配信システム100により実行されるコンテンツ配信処理について説明する。図11は、コンテンツ配信処理のフローチャートである。なお、コンテンツ配信処理は、上述の仮想URL生成処理により生成された仮想URLに基づいて端末装置10がリクエストすることにより、サーバ5がコンテンツを配信する処理である。
【0073】
サーバ5は、端末装置10から仮想URLのリクエストを取得する(ステップS11)。さらに、サーバ5は、仮想URLからエイリアスを抽出する(ステップS12)。また、サーバ5は、仮想URLのパス部分からエイリアスを除いたパスを評価して、目的コンテンツの格納位置を特定する(ステップS13)。その際パスの先頭となる/contents/が指し示す実際のディレクトリはコンテンツ認証モジュールのプログラムの設定により予め決められている。そして、サーバ5は、抽出したエイリアスを含む認証トークンがメモリ上に存在するか否かを判定する(ステップS14)。認証トークンがメモリ上に存在しない場合(ステップS14;No)、サーバ5は、エラー処理を実行し、コンテンツ配信処理を終了する(ステップS19)。
【0074】
一方、認証トークンがメモリ上に存在する場合(ステップS14;Yes)、サーバ5は、抽出したエイリアスを含む認証トークンを取得する(ステップS15)。そして、サーバ5は、仮想URLから特定したコンテンツの格納位置が、取得した認証トークンに格納された閲覧可能領域内であるか否かを判定する(ステップS16)。閲覧可能領域外であると判定された場合(ステップS16;No)、サーバ5は、エラー処理を実行し、コンテンツ配信処理を終了する(ステップS19)。一方、閲覧可能領域内であると判定された場合(ステップS16;Yes)、サーバ5は、特定したコンテンツの格納位置を目的コンテンツの格納位置として確定し、保護ディレクトリからファイルを読み込み、現在時刻を該認証トークンの最終アクセス日時として更新する(ステップS17)。そして、サーバ5は、読み込んだファイルに格納されたコンテンツを端末装置10に配信する(ステップS18)。これにより、コンテンツ配信処理は完了する。端末装置10がサーバ5から取得したコンテンツを画面に表示することにより、ユーザはコンテンツを閲覧することができる。
【0075】
なお、セッション管理モジュールは一定時間間隔でその時点に存在する認証トークンを順に読み出し、最近のアクセス時刻が現在時刻から一定時間以上経過している認証トークンに係るセッションを休止又は消滅したセッションとして認定し、当該認証トークンを削除する。
【0076】
このように、本発明のコンテンツ配信システム100によれば、クッキー等が利用できない端末装置10において、セッション管理を実現できるだけでなく、閲覧可能領域を商品毎に設定できるため、細かいアクセス管理を実現できる。また、実際に存在するコンテンツは、ネットワーク2上で全く公開されていないため、より高いセキュリティを実現できる。
【0077】
なお、上記実施形態では、ライセンスDB6を図3に示すようなデータ構造としているが、本発明はこれに限定されるものではなく、ライセンスDB6が、ユーザ毎に閲覧許可されているコンテンツを特定可能な表を記憶していることとしてもよい。つまり、ライセンスDB6は、ユーザを特定するユーザIDと、そのユーザに閲覧許可されているコンテンツを特定する商品IDとを対応付けた表を記憶していることとしてもよい。この場合、サーバ5が端末装置10から取得するコンテンツ閲覧のリクエストには、ユーザを特定可能な情報(例えば、ユーザID)と閲覧を要求するコンテンツを特定する情報(例えば、商品ID)が含まれている。サーバ5は、コンテンツ閲覧のリクエストに基づいてライセンスDB6を参照することにより、閲覧を要求するコンテンツが当該ユーザに閲覧許可されているか否かを判定することができる。閲覧許可されている場合、サーバ5は、上記実施形態と同様に、仮想URLを生成し、端末装置10にリダイレクトする。
【産業上の利用可能性】
【0078】
本発明は、クッキー等既存のユーザ識別あるいはセッション管理方法が利用できないクライアント端末においても、エイリアスによってセッション管理ができると共に、コンテンツへのアクセス制限を細かく設定することができるコンテンツ配信システムとして利用することができる。
【図面の簡単な説明】
【0079】
【図1】本発明におけるコンテンツ配信システムの概略構成を示す図である。
【図2】端末装置及びサーバの内部構成を示す。
【図3】ライセンスDBのデータ構造を模式的に示す図である。
【図4】商品DBのデータ構造を模式的に示す図である。
【図5】コンテンツ一覧の例である。
【図6】エイリアス及び仮想URLの例である。
【図7】認証トークンを説明する図である。
【図8】通常URL、仮想URL及びディレクトリ構造を説明する図である。
【図9】コンテンツ配信システムを構成するサーバの機能ブロック図である。
【図10】仮想URL生成処理のフローチャートである。
【図11】コンテンツ配信処理のフローチャートである。
【符号の説明】
【0080】
2…ネットワーク
5…サーバ
6…ライセンスDB
7…商品DB
10…端末装置
【特許請求の範囲】
【請求項1】
ネットワークを介して利用者端末装置と通信可能であり、前記端末装置にコンテンツを配信するサーバであって、
コンテンツ情報やセッション管理情報などを記録する記憶手段と、
認証された利用者からの新たなコンテンツリクエストを受付けて、このリクエストに基づいて当該利用者に関わるセッションを管理するセッション管理情報を生成して前記記憶手段に記録し、このセッションを一意に識別する識別子と、利用者の知らない前記記憶手段上のあるディレクトリを基準とした相対パスを含んだ仮想URLを利用者端末装置にリダイレクトするセッション生成手段と、
前記仮想URLに基づいてリクエストされたコンテンツリクエストを受けて、このリクエストに関わるセッションを特定し、前記セッション管理情報を参照して、前記コンテンツリクエストが正当なリクエストか否かを判定し、正当なリクエストである場合に限り要求されたコンテンツの格納位置を確定するコンテンツ認証手段と、
前記確定されたコンテンツの格納位置からコンテンツ情報を読み出し、利用者端末装置に返信するコンテンツ配信手段と、
セッションが消滅したかどうかを監視し、不要なセッション管理情報を削除するセッション管理手段と、を備えることを特徴とするサーバ。
【請求項2】
前記サーバは、
利用者に与えた閲覧許可と、その閲覧許可の内容である閲覧許可の識別情報及び対象コンテンツの識別情報とを記憶するライセンス情報記憶手段と、
コンテンツである個々の商品について、利用者には知りえない前記記憶手段の所定のディレクトリからの相対パスとして、そのトップページの格納場所情報と、そのコンテンツの情報が格納され得る前記記憶手段上の記憶領域を示す閲覧可能領域情報とを対応付けて記憶する商品情報記憶手段と、を備え、
前記利用者端末装置は、前記閲覧許可の識別情報を含んだコンテンツリクエストを発信するものであって、
前記セッション生成手段は、コンテンツリクエストに含まれる閲覧許可の識別情報がライセンス情報記憶手段に記憶されているならば、対応するコンテンツ識別情報から、要求されているコンテンツを特定し、前記商品情報記憶手段を参照して、要求コンテンツのトップページと閲覧可能領域を読み出し、それらの情報と新たに生成したセッションを一意に特定する識別子を組にした認証トークンをセッション管理情報として記憶手段に記憶し、さらに、該識別子を含み前記トップページの格納場所情報を特定する仮想URLを生成して利用者端末にリダイレクトするものであることを特徴とする請求項1に記載のサーバ。
【請求項3】
前記サーバは、
利用者ごとに閲覧許可されているコンテンツを特定可能な表を記憶するライセンス情報記憶手段と、
コンテンツである個々の商品について、利用者には知りえない前記記憶手段の所定のディレクトリからの相対パスとして、そのトップページの格納場所情報と、そのコンテンツの情報が格納され得る前記記憶手段上の記憶領域を示す閲覧可能領域情報とを対応付けて記憶する商品情報記憶手段と、を備え、
前記利用者端末装置は、利用者を特定可能な情報と所望のコンテンツを特定する情報を含んだコンテンツリクエストを発信するものであって、
前記セッション生成手段は、前記ライセンス情報記憶手段を参照することにより要求コンテンツが当該利用者に閲覧許可されているならば、その要求コンテンツのコンテンツ識別情報から、前記商品情報記憶手段を参照して、要求コンテンツのトップページと閲覧可能領域を読み出し、それらの情報と新たに生成したセッションを一意に特定する識別子を組にした認証トークンをセッション管理情報として記憶手段に記憶し、さらに、該識別子を含み前記トップページの格納場所情報を特定する仮想URLを生成して利用者端末にリダイレクトするものであることを特徴とする請求項1に記載のサーバ。
【請求項4】
前記仮想URLに含まれるセッション識別子は、ランダムな文字列で表わされるエイリアスであることを特徴とする請求項2又は請求項3に記載のサーバ。
【請求項5】
前記コンテンツ認証手段は、前記仮想URLに基づくコンテンツリクエストを受付けて、その中に含まれるセッション識別子からこれをキーにしてセッション管理情報を参照して、要求コンテンツの閲覧可能領域を特定し、これと、前記仮想URLに含まれるパスを、利用者には知られない前記記憶手段の所定の格納場所からの相対パスとして特定した位置を照合して、特定した位置が要求コンテンツの閲覧可能領域に含まれる場合のみ、該特定した位置を要求コンテンツの格納位置として確定し、そうでない場合は、エラーを通知するものである請求項1乃至請求項4のいずれか一項に記載のサーバ。
【請求項6】
前記セッション情報あるいは認証トークンは、セッションごとに最新のアクセス時刻をも併せて記録するものであって、
前記セッション管理手段は、直近のアクセス時刻から一定時間以上経過したセッションを消滅した不要なセッションと認定するものであることを特徴とする請求項1乃至請求項5のいずれか一項に記載のサーバ。
【請求項7】
ネットワークを介して利用者端末装置と通信可能であり、前記端末装置にコンテンツを配信するコンピュータにより実行されるプログラムであって、
前記プログラムは、
コンテンツ情報やセッション管理情報などを記録する記憶手段、
認証された利用者からの新たなコンテンツリクエストを受付けて、このリクエストに基づいて当該利用者に関わるセッションを管理するセッション管理情報を生成して前記記憶手段に記録し、このセッションを一意に識別する識別子と、利用者の知らない前記記憶手段上のあるディレクトリを基準とした相対パスを含んだ仮想URLを利用者端末装置にリダイレクトするセッション生成手段、
前記仮想URLに基づいてリクエストされたコンテンツリクエストを受けて、このリクエストに関わるセッションを特定し、前記セッション管理情報を参照して、前記コンテンツリクエストが正当なリクエストか否かを判定し、正当なリクエストである場合に限り要求されたコンテンツの格納位置を確定するコンテンツ認証手段、
前記確定されたコンテンツの格納位置からコンテンツ情報を読み出し、利用者端末装置に返信するコンテンツ配信手段、
セッションが消滅したかどうかを監視し、不要なセッション管理情報を削除するセッション管理手段、として前記コンピュータを機能させることを特徴とするプログラム。
【請求項8】
前記プログラムは、
利用者に与えた閲覧許可と、その閲覧許可の内容である閲覧許可の識別情報及び対象コンテンツの識別情報とを記憶するライセンス情報記憶手段、
コンテンツである個々の商品について、利用者には知りえない前記記憶手段の所定のディレクトリからの相対パスとして、そのトップページの格納場所情報と、そのコンテンツの情報が格納され得る前記記憶手段上の記憶領域を示す閲覧可能領域情報とを対応付けて記憶する商品情報記憶手段、としてさらに前記コンピュータを機能させ、
前記利用者端末装置は、前記閲覧許可の識別情報を含んだコンテンツリクエストを発信するものであって、
前記セッション生成手段は、コンテンツリクエストに含まれる閲覧許可の識別情報がライセンス情報記憶手段に記憶されているならば、対応するコンテンツ識別情報から、要求されているコンテンツを特定し、前記商品情報記憶手段を参照して、要求コンテンツのトップページと閲覧可能領域を読み出し、それらの情報と新たに生成したセッションを一意に特定する識別子を組にした認証トークンをセッション管理情報として記憶手段に記憶し、さらに、該識別子を含み前記トップページの格納場所情報を特定する仮想URLを生成して利用者端末にリダイレクトするものであることを特徴とする請求項7に記載のプログラム。
【請求項9】
前記プログラムは、
利用者ごとに閲覧許可されているコンテンツを特定可能な表を記憶するライセンス情報記憶手段、
コンテンツである個々の商品について、利用者には知りえない前記記憶手段の所定のディレクトリからの相対パスとして、そのトップページの格納場所情報と、そのコンテンツの情報が格納され得る前記記憶手段上の記憶領域を示す閲覧可能領域情報とを対応付けて記憶する商品情報記憶手段、として前記コンピュータを機能させ、
前記利用者端末装置は、利用者を特定可能な情報と所望のコンテンツを特定する情報を含んだコンテンツリクエストを発信するものであって、
前記セッション生成手段は、前記ライセンス情報記憶手段を参照することにより要求コンテンツが当該利用者に閲覧許可されているならば、その要求コンテンツのコンテンツ識別情報から、前記商品情報記憶手段を参照して、要求コンテンツのトップページと閲覧可能領域を読み出し、それらの情報と新たに生成したセッションを一意に特定する識別子を組にした認証トークンをセッション管理情報として記憶手段に記憶し、さらに、該識別子を含み前記トップページの格納場所情報を特定する仮想URLを生成して利用者端末にリダイレクトするものであることを特徴とする請求項7に記載のプログラム。
【請求項10】
前記仮想URLに含まれるセッション識別子は、ランダムな文字列で表わされるエイリアスであることを特徴とする請求項8又は請求項9に記載のプログラム。
【請求項11】
前記コンテンツ認証手段は、前記仮想URLに基づくコンテンツリクエストを受付けて、その中に含まれるセッション識別子からこれをキーにしてセッション管理情報を参照して、要求コンテンツの閲覧可能領域を特定し、これと、前記仮想URLに含まれるパスを、利用者には知られない前記記憶手段の所定の格納場所からの相対パスとして特定した位置を照合して、特定した位置が要求コンテンツの閲覧可能領域に含まれる場合のみ、該特定した位置を要求コンテンツの格納位置として確定し、そうでない場合は、エラーを通知するものである請求項7乃至請求項10のいずれか一項に記載のプログラム。
【請求項12】
前記セッション情報あるいは認証トークンは、セッションごとに最新のアクセス時刻をも併せて記録するものであって、
前記セッション管理手段は、直近のアクセス時刻から一定時間以上経過したセッションを消滅した不要なセッションと認定するものであることを特徴とする請求項7乃至請求項11のいずれか一項に記載のプログラム。
【請求項1】
ネットワークを介して利用者端末装置と通信可能であり、前記端末装置にコンテンツを配信するサーバであって、
コンテンツ情報やセッション管理情報などを記録する記憶手段と、
認証された利用者からの新たなコンテンツリクエストを受付けて、このリクエストに基づいて当該利用者に関わるセッションを管理するセッション管理情報を生成して前記記憶手段に記録し、このセッションを一意に識別する識別子と、利用者の知らない前記記憶手段上のあるディレクトリを基準とした相対パスを含んだ仮想URLを利用者端末装置にリダイレクトするセッション生成手段と、
前記仮想URLに基づいてリクエストされたコンテンツリクエストを受けて、このリクエストに関わるセッションを特定し、前記セッション管理情報を参照して、前記コンテンツリクエストが正当なリクエストか否かを判定し、正当なリクエストである場合に限り要求されたコンテンツの格納位置を確定するコンテンツ認証手段と、
前記確定されたコンテンツの格納位置からコンテンツ情報を読み出し、利用者端末装置に返信するコンテンツ配信手段と、
セッションが消滅したかどうかを監視し、不要なセッション管理情報を削除するセッション管理手段と、を備えることを特徴とするサーバ。
【請求項2】
前記サーバは、
利用者に与えた閲覧許可と、その閲覧許可の内容である閲覧許可の識別情報及び対象コンテンツの識別情報とを記憶するライセンス情報記憶手段と、
コンテンツである個々の商品について、利用者には知りえない前記記憶手段の所定のディレクトリからの相対パスとして、そのトップページの格納場所情報と、そのコンテンツの情報が格納され得る前記記憶手段上の記憶領域を示す閲覧可能領域情報とを対応付けて記憶する商品情報記憶手段と、を備え、
前記利用者端末装置は、前記閲覧許可の識別情報を含んだコンテンツリクエストを発信するものであって、
前記セッション生成手段は、コンテンツリクエストに含まれる閲覧許可の識別情報がライセンス情報記憶手段に記憶されているならば、対応するコンテンツ識別情報から、要求されているコンテンツを特定し、前記商品情報記憶手段を参照して、要求コンテンツのトップページと閲覧可能領域を読み出し、それらの情報と新たに生成したセッションを一意に特定する識別子を組にした認証トークンをセッション管理情報として記憶手段に記憶し、さらに、該識別子を含み前記トップページの格納場所情報を特定する仮想URLを生成して利用者端末にリダイレクトするものであることを特徴とする請求項1に記載のサーバ。
【請求項3】
前記サーバは、
利用者ごとに閲覧許可されているコンテンツを特定可能な表を記憶するライセンス情報記憶手段と、
コンテンツである個々の商品について、利用者には知りえない前記記憶手段の所定のディレクトリからの相対パスとして、そのトップページの格納場所情報と、そのコンテンツの情報が格納され得る前記記憶手段上の記憶領域を示す閲覧可能領域情報とを対応付けて記憶する商品情報記憶手段と、を備え、
前記利用者端末装置は、利用者を特定可能な情報と所望のコンテンツを特定する情報を含んだコンテンツリクエストを発信するものであって、
前記セッション生成手段は、前記ライセンス情報記憶手段を参照することにより要求コンテンツが当該利用者に閲覧許可されているならば、その要求コンテンツのコンテンツ識別情報から、前記商品情報記憶手段を参照して、要求コンテンツのトップページと閲覧可能領域を読み出し、それらの情報と新たに生成したセッションを一意に特定する識別子を組にした認証トークンをセッション管理情報として記憶手段に記憶し、さらに、該識別子を含み前記トップページの格納場所情報を特定する仮想URLを生成して利用者端末にリダイレクトするものであることを特徴とする請求項1に記載のサーバ。
【請求項4】
前記仮想URLに含まれるセッション識別子は、ランダムな文字列で表わされるエイリアスであることを特徴とする請求項2又は請求項3に記載のサーバ。
【請求項5】
前記コンテンツ認証手段は、前記仮想URLに基づくコンテンツリクエストを受付けて、その中に含まれるセッション識別子からこれをキーにしてセッション管理情報を参照して、要求コンテンツの閲覧可能領域を特定し、これと、前記仮想URLに含まれるパスを、利用者には知られない前記記憶手段の所定の格納場所からの相対パスとして特定した位置を照合して、特定した位置が要求コンテンツの閲覧可能領域に含まれる場合のみ、該特定した位置を要求コンテンツの格納位置として確定し、そうでない場合は、エラーを通知するものである請求項1乃至請求項4のいずれか一項に記載のサーバ。
【請求項6】
前記セッション情報あるいは認証トークンは、セッションごとに最新のアクセス時刻をも併せて記録するものであって、
前記セッション管理手段は、直近のアクセス時刻から一定時間以上経過したセッションを消滅した不要なセッションと認定するものであることを特徴とする請求項1乃至請求項5のいずれか一項に記載のサーバ。
【請求項7】
ネットワークを介して利用者端末装置と通信可能であり、前記端末装置にコンテンツを配信するコンピュータにより実行されるプログラムであって、
前記プログラムは、
コンテンツ情報やセッション管理情報などを記録する記憶手段、
認証された利用者からの新たなコンテンツリクエストを受付けて、このリクエストに基づいて当該利用者に関わるセッションを管理するセッション管理情報を生成して前記記憶手段に記録し、このセッションを一意に識別する識別子と、利用者の知らない前記記憶手段上のあるディレクトリを基準とした相対パスを含んだ仮想URLを利用者端末装置にリダイレクトするセッション生成手段、
前記仮想URLに基づいてリクエストされたコンテンツリクエストを受けて、このリクエストに関わるセッションを特定し、前記セッション管理情報を参照して、前記コンテンツリクエストが正当なリクエストか否かを判定し、正当なリクエストである場合に限り要求されたコンテンツの格納位置を確定するコンテンツ認証手段、
前記確定されたコンテンツの格納位置からコンテンツ情報を読み出し、利用者端末装置に返信するコンテンツ配信手段、
セッションが消滅したかどうかを監視し、不要なセッション管理情報を削除するセッション管理手段、として前記コンピュータを機能させることを特徴とするプログラム。
【請求項8】
前記プログラムは、
利用者に与えた閲覧許可と、その閲覧許可の内容である閲覧許可の識別情報及び対象コンテンツの識別情報とを記憶するライセンス情報記憶手段、
コンテンツである個々の商品について、利用者には知りえない前記記憶手段の所定のディレクトリからの相対パスとして、そのトップページの格納場所情報と、そのコンテンツの情報が格納され得る前記記憶手段上の記憶領域を示す閲覧可能領域情報とを対応付けて記憶する商品情報記憶手段、としてさらに前記コンピュータを機能させ、
前記利用者端末装置は、前記閲覧許可の識別情報を含んだコンテンツリクエストを発信するものであって、
前記セッション生成手段は、コンテンツリクエストに含まれる閲覧許可の識別情報がライセンス情報記憶手段に記憶されているならば、対応するコンテンツ識別情報から、要求されているコンテンツを特定し、前記商品情報記憶手段を参照して、要求コンテンツのトップページと閲覧可能領域を読み出し、それらの情報と新たに生成したセッションを一意に特定する識別子を組にした認証トークンをセッション管理情報として記憶手段に記憶し、さらに、該識別子を含み前記トップページの格納場所情報を特定する仮想URLを生成して利用者端末にリダイレクトするものであることを特徴とする請求項7に記載のプログラム。
【請求項9】
前記プログラムは、
利用者ごとに閲覧許可されているコンテンツを特定可能な表を記憶するライセンス情報記憶手段、
コンテンツである個々の商品について、利用者には知りえない前記記憶手段の所定のディレクトリからの相対パスとして、そのトップページの格納場所情報と、そのコンテンツの情報が格納され得る前記記憶手段上の記憶領域を示す閲覧可能領域情報とを対応付けて記憶する商品情報記憶手段、として前記コンピュータを機能させ、
前記利用者端末装置は、利用者を特定可能な情報と所望のコンテンツを特定する情報を含んだコンテンツリクエストを発信するものであって、
前記セッション生成手段は、前記ライセンス情報記憶手段を参照することにより要求コンテンツが当該利用者に閲覧許可されているならば、その要求コンテンツのコンテンツ識別情報から、前記商品情報記憶手段を参照して、要求コンテンツのトップページと閲覧可能領域を読み出し、それらの情報と新たに生成したセッションを一意に特定する識別子を組にした認証トークンをセッション管理情報として記憶手段に記憶し、さらに、該識別子を含み前記トップページの格納場所情報を特定する仮想URLを生成して利用者端末にリダイレクトするものであることを特徴とする請求項7に記載のプログラム。
【請求項10】
前記仮想URLに含まれるセッション識別子は、ランダムな文字列で表わされるエイリアスであることを特徴とする請求項8又は請求項9に記載のプログラム。
【請求項11】
前記コンテンツ認証手段は、前記仮想URLに基づくコンテンツリクエストを受付けて、その中に含まれるセッション識別子からこれをキーにしてセッション管理情報を参照して、要求コンテンツの閲覧可能領域を特定し、これと、前記仮想URLに含まれるパスを、利用者には知られない前記記憶手段の所定の格納場所からの相対パスとして特定した位置を照合して、特定した位置が要求コンテンツの閲覧可能領域に含まれる場合のみ、該特定した位置を要求コンテンツの格納位置として確定し、そうでない場合は、エラーを通知するものである請求項7乃至請求項10のいずれか一項に記載のプログラム。
【請求項12】
前記セッション情報あるいは認証トークンは、セッションごとに最新のアクセス時刻をも併せて記録するものであって、
前記セッション管理手段は、直近のアクセス時刻から一定時間以上経過したセッションを消滅した不要なセッションと認定するものであることを特徴とする請求項7乃至請求項11のいずれか一項に記載のプログラム。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【公開番号】特開2008−83906(P2008−83906A)
【公開日】平成20年4月10日(2008.4.10)
【国際特許分類】
【出願番号】特願2006−262029(P2006−262029)
【出願日】平成18年9月27日(2006.9.27)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
【公開日】平成20年4月10日(2008.4.10)
【国際特許分類】
【出願日】平成18年9月27日(2006.9.27)
【出願人】(000002897)大日本印刷株式会社 (14,506)
【Fターム(参考)】
[ Back to top ]