JP4208920B2 - BitTorrentプロトコルによるファイルのダウンロード方法 - Google Patents

BitTorrentプロトコルによるファイルのダウンロード方法 Download PDF

Info

Publication number
JP4208920B2
JP4208920B2 JP2006517880A JP2006517880A JP4208920B2 JP 4208920 B2 JP4208920 B2 JP 4208920B2 JP 2006517880 A JP2006517880 A JP 2006517880A JP 2006517880 A JP2006517880 A JP 2006517880A JP 4208920 B2 JP4208920 B2 JP 4208920B2
Authority
JP
Japan
Prior art keywords
super
file
cedar
client
address
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
JP2006517880A
Other languages
English (en)
Other versions
JPWO2006080083A1 (ja
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 株式会社グリッド・ソリューションズ
Publication of JPWO2006080083A1 publication Critical patent/JPWO2006080083A1/ja
Application granted granted Critical
Publication of JP4208920B2 publication Critical patent/JP4208920B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Description

この発明は、P2Pプロトコル(ピアツーピア、サーバを介さずクライアント同士が通信する方式)のひとつであるBitTorrentプロトコルの改良に関する。
<従来の技術(1)>
インターネットを用いた映像ファイルのデータ配信サービスが提供されている。このシステムを模式的に表現したものが図1であり、複数の配信サーバ100からインターネット102を介してクライアントPC(パソコン)101へ直接データを配信している。
図1のシステムでデータを配信するのためのプロトコルとして次のようなものが一般的である。
(1)httpプロトコル(wwwサーバで利用されている形式)
(2)ftpプロトコル(ファイルサーバ等で利用されている形式)
(3)rtspプロトコル(リアルタイムストリーミングプロトコル。ストリーミング形式で利用されている形式。)
映像ファイルのサイズは非常に大きい。ギガバイトサイズのファイルになると、配信サーバの負荷と、ネットワーク回線の帯域消費が大きいため、従来の技術で同時に多数の人に配信するには莫大な設備投資とランニングコストを必要とする。
上記従来の技術(プロトコル)は、いずれもサーバとクライアントPC(パソコン:視聴者、ユーザ)を直結するものであり、その間でサーバと回線のリソースを占有するため、ユーザ数に比例したコストがかかる。
<従来の技術(2)>
上記問題点を解消するために開発された一つの方式に「BitTorrentプロトコル」という一種のP2Pプロトコル(ピアツーピア、サーバを介さずクライアント同士が通信する方式)がある。この方式の発想は、図2に示すように、スーパーシーダー(オリジン(原本)サーバともいわれる)110と呼ばれる原本ファイルを保有するサーバを起点に、バケツリレー式にファイルを渡していくというものである。各受信者はリーチャー111と呼ばれ、受信した部分からピースシーダーとして受信した部分を他のピアに配信していく。少なくとも一部のファイルを受信したクライアントは当該部分を配信する役目も果たし、ピースシーダーと呼ばれる。完全に受信のみのピアはリーチャーヒル112と呼ばれる。リーチャーヒル112は、図1のクライアントPC101に相当するものであり、ピースシーダー(リーチャー)111は、図1のクライアントPC101であるが他方配信サーバ100にも相当する。ピースシーダー(リーチャー)111は、受信と同じ回数だけ送信すれば最後のクライアントまでピースが行き渡る。(以後、類似の方式を総称して「BitTorrent方式」と称することとする。また「バケツリレー式配信」を、以後「グリッド配信」と称することとする。)
BitTorrent方式に係るURLには「.torrent」という拡張子がつけられている。この.torrentファイルをBitTorrent対応ファイル共有ソフトに読み込ませるとファイル共有(ファイルのダウンロード・アップロード)が開始される。ファイルのダウンロード中であっても自分(クライアント)がいままでダウンロードした部分は要求に応じてアップロードされる。
理論的には、シーダーサーバ110はクライアント数によらず1回だけ配信すればすべてのクライアント111,112にファイルが行き渡るため、一つのファイルに関して言えばクライアント数によらずシーダーサーバ110の負荷がほぼ一定になるという利点がある。(実際には1回だけではなく複数の配信を複数のピアに対して行うことによりネットワーク全体の配信効率を向上させている)
図3にBitTorrent方式のシステムの概要を示す。BitTorrent方式を実現するために、実際にはグリッド配信に参加するピア(クライアントPC)Pのアドレスを登録管理するトラッカー120という中央制御サーバが存在する。トラッカーサーバ120は、各ピアPからのネットワーク参加要求を受け付けてそのリクエストを発したピアPのアドレス(IPアドレス及びポート)の一覧を、当該ピアPが欲しがっているファイルを一意に特定する識別子(ファイルID)ごとに作成する。当該一覧をアクティブピアテーブル120aという(図4)。
図3のネットワーク121に参加するためには、先ず、ピアPは、グリッド配信の接続先クライアントを知るために、トラッカーサーバ120に対して問い合わせ、接続先のピアPのアドレスを知る事ができる。その際、問い合わせ元のピアPのアドレス(IPアドレス及びポート)、及び当該ピアPが欲しがっているファイルを一意に特定する識別子(ファイルID)が、アクティブピアテーブル120aに登録される。トラッカーサーバ120からの応答により接続先のアドレスを知ったピアPは、対応するピアPに接続し、以後は図2に示すようなピア同士でのバケツリレー的な通信(グリッド配信)が行われる。図3において太線はデータ通信を示し、細い線はアクティブピアテーブル120aへの登録のためのトラッカーサーバ120との通信を示す。
ピアPはクライアントPCであるが、同時にシーダー(シーダー又はピースシーダー)にもなる。すなわち、特定のファイルを100%ダウンロードしたとき(ひとつのコンテンツのファイルAとBの2つからなるときはA又はBを100%ダウンロードしたとき)、クライアントPCはシーダーになり、そのようにアクティブピアテーブル120aで管理される。図3のネットワーク121において各ノードはシーダーであるかどうか個々に異なるのでピアPと表現している。ネットワーク121の各ピアPは特定のファイルについてシーダーであるか、又は単なるクライアント(リーチャー)であるかどちらか一方である。その状態はファイルごとに異なり一定ではないが、アクティブピアテーブル120aを参照することにより、特定のファイルについて、どのピアPがシーダーであるかを知ることができる。
BitTorrent方式では、ネットワーク上に、原本ファイルを保持するピアが常に存在するとは限らないので、リーチャーがいる限りネットワーク上のどこかに「完全な原本を持った」シーダー(スーパーシーダー)が起動している必要がある。「完全な原本」を確保するためにはスーパーシーダーが少なくとも1台か、あるいは複数のピースシーダーを集めた結果が完全な原本になるのに十分な量のピースシーダーが起動している必要がある。ピースシーダーの起動数を保証することは不可能なので、実際にはひとつのファイル(コンテンツ)についてスーパーシーダーが常時1台必要となる。サービス提供業者はそのようなスーパーシーダーを用意しなければならない。
従って、スーパーシーダーの負荷は、ピア数(ユーザ数)ではなく原本ファイルの種類に比例して増大する(2種類のファイルを一人に配信するシーダーは、1種類のファイルを二人に配信するシーダーの約2倍の負荷がかかる)ことになる。このため、BitTorrent方式は少数の大型ファイルを配信するには向いているが、ファイル数が多くなるとスーパーシーダーの負荷が増えることになり、設備投資や運用コストの増大要因となっている。
本発明は上記課題を解決するためになされたもので、BitTorrent方式において、ファイル数が増えた際のスーパーシーダーの負荷を軽減する方法を提案する。
この発明に係るファイルのダウンロード方法は、少なくとも1つのクライアントと、予め記憶しているファイルを要求に応じて送信するスーパーシーダーと、少なくともクライアント及び/又はスーパーシーダーのアドレス、当該アドレスのコンピュータが記憶しているファイルを要求に応じて送信可能であるかどうかを示すシーダーフラグ及び記憶しているファイルを要求に応じて送信可能であるコンピュータの数を記憶するテーブルであってファイルごとに生成されるアクティブピアテーブルと、スーパーシーダーのアドレスを記憶するスーパーシーダーテーブルとを含むトラッカーと、を備えるコンピュータネットワークにおいてファイルをダウンロードする方法であって、
クライアントからトラッカーへイベント開始通知及びファイルのダウンロード希望通知を送る第1ステップと、
前記ダウンロード希望通知を受けて当該クライアントを前記ファイルに対応するアクティブピアテーブルに登録する第2ステップと、
前記アクティブピアテーブルで前記ファイルを送信可能なコンピュータの数が予め設定した所定の値m以下であるとき、前記ファイルに対応するスーパーシーダーのアドレスを前記スーパーシーダーテーブルから検索する第3ステップと、
トラッカーから前記第3ステップで検索されたスーパーシーダーへプロセス起動指示を送る第4ステップと、
前記プロセス起動指示を受けて当該スーパーシーダーでプロセスを起動する第5ステップと、
当該スーパーシーダーからトラッカーへシーディング開始通知を送る第6ステップと、
前記シーディング開始通知を受けて当該スーパーシーダーを前記アクティブピアテーブルに登録する第7ステップと、
前記アクティブピアテーブルに基づき当該スーパーシーダーから当該クライアントへ前記ファイルをダウンロードする第8ステップと、
クライアントからトラッカーへ受信完了通知を送る第9ステップと、
前記受信完了通知を受けて前記ファイルに対応するアクティブピアテーブルの当該クライアントのシーダーフラグをセットするとともに、前記ファイルを送信可能なコンピュータの数を更新する第10ステップと、
前記ファイルを送信可能なコンピュータの数を予め定められた閾値nと比較する第11ステップと、
前記ファイルを送信可能なコンピュータの数が閾値nを超えたときにプロセス停止要求を生成する第12ステップと、
前記プロセス停止要求を前記アクティブピアテーブルに含まれるスーパーシーダーへ送る第13ステップと、
前記プロセス停止要求を受けてスーパーシーダーでプロセスを停止する第14ステップと、を備えるものである。
上記方法を実現するためのプログラムは、例えば、記録媒体に記録される。
記録媒体は、例えば、EPROMデバイス、フラッシュメモリデバイス、フレキシブルディスク、ハードディスク、磁気テープ、光磁気ディスク、CD(CD−ROM、Video−CDを含む)、DVD(DVD−Video、DVD−ROM、DVD−RAMを含む)、ROMカートリッジ、バッテリバックアップ付きのRAMメモリカートリッジ、フラッシュメモリカートリッジ、不揮発性RAMカートリッジ等を含む。
記録媒体とは、何等かの物理的手段により情報(主にデジタルデータ、プログラム)が記録されているものであって、コンピュータ、専用プロセッサ等の処理装置に所定の機能を行わせることができるものである。
<用語の説明>
ピア:P2Pネットワークを構成するコンピュータである。ひとつのピアがP2Pネットワークのノードになる。スーパーシーダー、ピースシーダー(リーチャー、リーチャーヒル)はそれぞれノードの種類である。なお、トラッカーはピアに含まれない。
サーバ:コンピュータネットワークにおいて、クライアントコンピュータに対し、自身の持っている機能やデータを提供するコンピュータのことである。サーバもピアとなり得る(例えばスーパーシーダー)。
クライアント:コンピュータネットワークにおいて、サーバコンピュータの提供する機能やデータを利用するコンピュータのことである。クライアントもピアとなり得る(例えば、ピースシーダー(リーチャー))。
本発明の実施の形態に係るP2Pネットワークを構成するクライアントは、上記のようなデータの受けるクライアントと同時に、ピースシーダーのようにサーバとして動作することがある。以下の説明において、ネットワークの構成を説明するときはピアという言葉を用い(例えば図3)、その機能について説明するときは、データ送信等のサービスを提供するピアをサーバ、スーパーシーダー又はシーダーという言葉で表現し、サービスを受けるピアをクライアントという言葉で表現する。
BitTorrent固有の用語について簡単に説明する。
(1)トレントファイル(Torrent File)
ファイル情報やトラッカーのアドレス等が記載されているファイルである。BitTorrentによるP2Pネットワークに参加する際に、最初に取得すべきものである。
(2)トラッカー(Tracker)
ファイルの持ち主を教えてくれる重要なコンピュータ(サーバ)である。BitTorrentクライアントは、.torrentファイル内に記載されているトラッカーに接続し、ファイルの持ち主のアドレスを取得する。
(3)シーダー(Seeder)
ダウンロード完了したクライアントのことで、アップロード可能なピアのことである。BitTorrentでは、ファイルの一部をダウンロードしたクライアントも当該ダウンロード部分についてアップロード可能である。このようなピアのことをピースシーダーと呼ぶ。
(4)リーチャー(Leecher)
まだダウンロードを完了していないクライアントのことである。
本発明の実施の形態に係るシステム/方法は、映画の映像ファイルのような大きなサイズの(いわゆる重い)ファイルのダウンロードサービスを提供するものである。従来、映像ファイルはストリーミング型で提供されているが、本発明の実施の形態に係るシステム/方法はダウンロード型で提供するものであり、ファイル配信サーバ・クライアントシステムである。本発明の実施の形態に係るシステム/方法で提供する映像ファイルは、例えば、WMV9という形式の圧縮形式による、ビットレート(動画像データの時間あたり情報量)1.5Mbps以上の画像ファイルである。
トラッカーサーバのアクティブピアテーブルを改良した改良版アクティブピアテーブル(図5参照)、および新規に考案したスーパーシーダーテーブル(図6参照)を、次のように定義する。
(1)改良版アクティブピアテーブルは、当該ファイルを保有しているか、または受信を希望しているピア(シーダーまたはリーチャー)の一覧である。各ピアは、トラッカーに対しバケツリレーの接続先のアドレスを問い合わせたとき、このテーブル内のピアを所定の方法(ランダム選択でもよい)で選択して、問い合わせのあったピアに回答することでグリッド配信ネットワーク(バケツリレーの輪)を広げていくように動作する。
(2)スーパーシーダーテーブルは、ファイルごとにスーパーシーダーのアドレスを対応づけた一覧である。スーパーシーダーにより提供されるファイルの種類はサービスID(ファイルの識別情報)で特定される。
図7〜図10の説明図、及び、図11〜図13のフローチャートを参照して、本発明の実施の形態に係るシステム/方法を説明する。
先ず初期設定を行う(図11のST0、SC0,SC1)。
初期状態ではアクティブピアテーブルは空である(図5)。
スーパーシーダーテーブルには、サービスIDごとにスーパーシーダーのアドレスを少なくとも1つ登録しておく。例としてサービスIDはCorp1、Corp2と定義し、Corp1のサービスではファイルA,Bを、Corp2のサービスではファイルC,Dを配信しているものとする(図6)。サービスIDは、原本ファイルの出典ごとに管理される。サービスIDは、原本ファイルの配信元(スーパーシーダー)を特定するためのIDである。
クライアントは、ファイルAを持っていない状態で起動される。起動すると、トラッカーに対しイベント通知(セッションスタート)をするとともに(図11のSC2)、「サービスID=Corp1、ファイルA」のダウンロードを希望している旨を、例えば次のように通知する(図11のSC3)。この通知は例えばHTTP(S)プロトコルである。
GET http://trackerserver/track.cgi?event=sessionstart&FILE=ファイルA&サービスID=Corp1&Seeder=0
「&サービスID=Corp1&Seeder=0」は本発明の実施の形態に係る新規な部分である。
ここで末尾につけたSeeder=0というフラグは、自己がファイルAをまだ保持していないことを示す。サービスIDが1つしかない場合はサービスIDを省略してもよい。
これを受けたトラッカーは、クライアント1のIPアドレスとポート番号をIPパケットヘッダから読み取ってアクティブピアテーブルに次のように登録する(図7、図11及び図12のST1)。
Seederフラグの合計値を調べる。Seederフラグの合計値(ファイルを送信可能なコンピュータの数)が予め設定した所定の値m(例えば2)より小さいとき、スーパーシーダーを起動する。例えば、Seederフラグの合計値=0つまりシーダーとなるべきピアが全く存在しない場合には当然にスーパーシーダーを起動する。なお、プログラムで所定の値mを変数として設定変更可能としてもよい。なぜなら、「m=1」のときには理論上はスーパーシーダーの起動は不要であるが、ネットワークの状況にもよるが、「Seederフラグ=1のピア」に送信要求が集中して過負荷になる可能性が想定され、そのためのバッファとしてシーダーが(ゼロに限らずとも)少ないときはスーパーシーダーの起動を行い、送信リクエストを分散させることが好ましいからである。
アクティブピアテーブルのSeederフラグの合計値が0であるので(図12のST2で<m)、トラッカーはスーパーシーダーの起動を行う。
具体的には図6のスーパーシーダーテーブルからサービスID=Corp1となっているスーパーシーダーを探して、そのアドレスをスーパーシーダーテーブルから読み取る(図11及び図12のST3)。ここで、複数のスーパーシーダーが登録されているときは、ラウンドロビン(round−robin scheduling:ユーザーのリストを繰り返し見通して,各ユーザーが順に中央処理装置を使う機会をえるようにするスケジューリング用アルゴリズム。例えば、前回の選択値を記憶しておき、順番に次の欄を選択していく)を行う。ここでは例として200.0.0.2が選択されたとする。
つづいてトラッカーは、選択されたスーパーシーダーのアドレスに対し、HTTPプロトコル等を用いて次のようなプロセス起動指示を行う(図11及び図12のST4)。
GET http://200.0.0.2/seeder.cgi?event=seedingstart&FILE=ファイルA
これを受けたスーパーシーダーサーバ(200.0.0.2)は、シーダーのプロセスを起動し(図11のSS1)、ファイルAのシーディング(原本供給)を開始する。具体的には、先のクライアント1と同じ手順で、Seederフラグを1としてトラッカーに要求を送る(図11のSS2)。
GET http://trackerserver/track.cgi?event=sessionstart&サービスID=Corp1&FILE=ファイルA&Seeder=1
サービスIDはスーパーシーダーごとにあらかじめ決めて設定しておけばよい。
これを受けたトラッカーは、アクティブピアテーブルに図8のように登録する。
これにより、ネットワーク上にはシーダーが存在するため、クライアント1は完全な原本を取得することができるようになる。
クライアント1が完全に受信を完了すると、クライアント1はトラッカーに対し、次のような受信完了通知を行う(図11のSC10)。
GET http://trackerserver/track.cgi?event=sessioncomplete&サービスID=Corp1&FILE=ファイルA&Seeder=1
末尾のSeeder=1は、自己が完全なファイルを持っていることを示している。
トラッカーはこれを受けてアクティブピアテーブルを図9のように更新する(図11及び図13のST10)。
同様に続けていくと、いずれ受信を完了したピアが増えていき、Seederフラグの合計値がある一定値nを超えるようになる(図10)。nの値は、あらかじめトラッカーサーバに設定しておけばよい。
Seederフラグの合計値が一定数以上あるということは、ネットワーク上に完全な原本ファイルを保有するシーダー(スーパーシーダーに限らず、一般のピースシーダーが受信完了したものも含まれる)が、スーパーシーダー以外にも存在することを示す。こうなるともうスーパーシーダーが無くても、任意のクライアントは完全な元本を他のシーダーから受信することができるので、スーパーシーダーは停止しても構わない。
従って、トラッカーはSeederフラグの合計値がnを超えると(図13のST11でSeederフラグの合計値>閾値n)、起動済みのスーパーシーダーに対して次のようなプロセス停止要求を送る(図11及び図13のST12)。
GET http://200.0.0.2/seeder.cgi?FILE=ファイルA&event=seedingstop
スーパーシーダーはこれを受信すると、ファイルAのシーディングプロセスを停止する(図11のSS20)。
また、スーパーシーダーは一定期間(例えば120秒)以上の間、どのクライアントからもファイルAに関する送信要求がなければ、トラッカーからの指示がなくても自動的にファイルAのシーディングプロセスを停止する。この際、トラッカーに対し、自己がシーディングを停止したことを次のように通知する(図11のSS21)。
GET http://trackerserver/track.cgi?event=sessionstop&サービスID=Corp1&FILE=ファイルA&Seeder=1
トラッカーは、シーダーあるいは任意のクライアントから「event=sessionstop」を受けると、アクティブピアテーブルからそのピアを削除する。
本発明の実施の形態では、改良版アクティブピアテーブルにSeederフラグを設け、その合計値が一定水準にあるかないかでスーパーシーダーの起動停止を行うことで、あるファイルAの完全な原本を保有しているシーダーが、ネットワーク上に不足している場合にのみスーパーシーダーを動的に起動し、余剰になれば動的に停止することができるので、全体でみればスーパーシーダーの必要起動プロセス数を削減することができ、結果的にスーパーシーダーの負荷を削減することができる。
スーパーシーダーテーブルに複数のシーダーを登録しておき、それらをラウンドロビンすることで、別途の負荷分散装置を用いなくてもスーパーシーダーの負荷を複数のサーバーに分散することができる。
スーパーシーダーテーブルにサービスIDごとの識別子をもうけておき、サービスIDに対してそれぞれのスーパーシーダーのアドレスを登録しておくことで、サービスIDつまりコンテンツの供給者ごとにシーダーを動的に切り替えることができ、スーパーシーダーの物理的な所在地を世界中に分散させることができる。
本発明は、以上の実施の形態に限定されることなく、特許請求の範囲に記載された発明の範囲内で、種々の変更が可能であり、それらも本発明の範囲内に包含されるものであることは言うまでもない。
[図1]従来のファイルダウンロードの説明図である。
[図2]BitTorrentプロトコルの説明図である。
[図3]BitTorrentプロトコルによるP2Pネットワークの説明図である。
[図4]従来のBitTorrentプロトコルのアクティブピアテーブルの説明図である。
[図5]発明の実施の形態に係るアクティブピアテーブルの説明図である。
[図6]発明の実施の形態に係るスーパーシーダーテーブルの説明図である。
[図7]発明の実施の形態に係るプロトコルを説明するためのアクティブピアテーブルの一例である。
[図8]発明の実施の形態に係るプロトコルを説明するためのアクティブピアテーブルの一例である。
[図9]発明の実施の形態に係るプロトコルを説明するためのアクティブピアテーブルの一例である。
[図10]発明の実施の形態に係るプロトコルを説明するためのアクティブピアテーブルの一例である。
[図11]発明の実施の形態に係るファイルのダウンロード方法のフローチャートである。
[図12]発明の実施の形態に係るトラッカーの処理方法のフローチャートである。
[図13]発明の実施の形態に係るトラッカーの処理方法のフローチャートである。

Claims (9)

  1. 少なくとも1つのクライアントと、予め記憶しているファイルを要求に応じて送信するスーパーシーダーと、少なくともクライアント及び/又はスーパーシーダーのアドレス、当該アドレスのコンピュータが記憶しているファイルを要求に応じて送信可能であるかどうかを示すシーダーフラグ及び記憶しているファイルを要求に応じて送信可能であるコンピュータの数を記憶するテーブルであってファイルごとに生成されるアクティブピアテーブルと、スーパーシーダーのアドレスを記憶するスーパーシーダーテーブルとを含むトラッカーと、を備えるコンピュータネットワークにおいてファイルをダウンロードする方法であって、
    クライアントからトラッカーへイベント開始通知及びファイルのダウンロード希望通知を送る第1ステップと、
    前記ダウンロード希望通知を受けて当該クライアントを前記ファイルに対応するアクティブピアテーブルに登録する第2ステップと、
    前記アクティブピアテーブルで前記ファイルを送信可能なコンピュータの数が予め設定した所定の値m以下であるとき、スーパーシーダーのアドレスを前記スーパーシーダーテーブルから検索する第3ステップと、
    トラッカーから前記第3ステップで検索されたスーパーシーダーへプロセス起動指示を送る第4ステップと、
    前記プロセス起動指示を受けて当該スーパーシーダーでプロセスを起動する第5ステップと、
    当該スーパーシーダーからトラッカーへシーディング開始通知を送る第6ステップと、
    前記シーディング開始通知を受けて当該スーパーシーダーを前記アクティブピアテーブルに登録する第7ステップと、
    前記アクティブピアテーブルに基づき当該スーパーシーダーから当該クライアントへ前記ファイルをダウンロードする第8ステップと、
    クライアントからトラッカーへ受信完了通知を送る第9ステップと、
    前記受信完了通知を受けて前記ファイルに対応するアクティブピアテーブルの当該クライアントのシーダーフラグをセットするとともに、前記ファイルを送信可能なコンピュータの数を更新する第10ステップと、
    前記ファイルを送信可能なコンピュータの数を予め定められた閾値nと比較する第11ステップと、
    前記ファイルを送信可能なコンピュータの数が閾値nを超えたときにプロセス停止要求を生成する第12ステップと、
    前記プロセス停止要求を前記アクティブピアテーブルに含まれるスーパーシーダーへ送る第13ステップと、
    前記プロセス停止要求を受けてスーパーシーダーでプロセスを停止する第14ステップと、を備えるファイルのダウンロード方法。
  2. 当該スーパーシーダーからトラッカーへシーディング停止通知を送る第15ステップと、
    前記シーディング停止通知を受けて当該スーパーシーダーを前記アクティブピアテーブルから削除する第16ステップと、を更に備える請求項1記載のファイルのダウンロード方法。
  3. 前記スーパーシーダーテーブルにスーパーシーダーが複数登録されているとき、前記第3ステップにおいて、複数のスーパーシーダーのアドレスをラウンドロビンスケジューリングに従い選択することを特徴とする請求項1記載のファイルのダウンロード方法。
  4. 前記スーパーシーダーテーブルは、スーパーシーダーのアドレスとともにスーパーシーダーが記憶しているファイルの識別情報を記憶しており、
    前記第3ステップにおいて、前記識別情報に基づき前記ファイルに対応するスーパーシーダーのアドレスを前記スーパーシーダーテーブルから検索することを特徴とする請求項1記載のファイルのダウンロード方法。
  5. 少なくともクライアント及び/又はスーパーシーダーのアドレス、当該アドレスのコンピュータが記憶しているファイルを要求に応じて送信可能であるかどうかを示すシーダーフラグ及び記憶しているファイルを要求に応じて送信可能であるコンピュータの数を記憶するテーブルであってファイルごとに生成されるアクティブピアテーブルと、予め記憶しているファイルを要求に応じて送信するスーパーシーダーのアドレスを記憶するスーパーシーダーテーブルとを用意し、
    クライアントからファイルのダウンロード希望通知を受けて当該クライアントを前記ファイルに対応するアクティブピアテーブルに登録するステップと、
    前記アクティブピアテーブルから前記ファイルを送信可能なコンピュータの数を取得するステップと、
    前記コンピュータの数が予め設定した所定の値m以下であるとき、スーパーシーダーのアドレスを前記スーパーシーダーテーブルから検索するステップと、
    検索されたスーパーシーダーへプロセス起動指示を送るステップと、
    当該スーパーシーダーからシーディング開始通知を受けて当該スーパーシーダーを前記アクティブピアテーブルに登録するステップと、
    前記クライアントから受信完了通知を受けて前記ファイルに対応するアクティブピアテーブルの当該クライアントのシーダーフラグをセットするとともに、前記ファイルを送信可能なコンピュータの数を更新するステップと、
    前記コンピュータの数を予め定められた閾値nと比較するステップと、
    前記コンピュータの数が閾値nを超えたときにプロセス停止要求を生成するステップと、
    前記プロセス停止要求を前記アクティブピアテーブルに含まれるスーパーシーダーへ送るステップと、を備えるトラッカーサーバの処理方法。
  6. 前記スーパーシーダーテーブルにスーパーシーダーが複数登録されているとき、スーパーシーダーのアドレスを前記スーパーシーダーテーブルから検索するステップにおいて、複数のスーパーシーダーのアドレスをラウンドロビンスケジューリングに従い選択することを特徴とする請求項5記載のトラッカーサーバの処理方法。
  7. 前記スーパーシーダーテーブルは、スーパーシーダーのアドレスとともにスーパーシーダーが記憶しているファイルの識別情報を記憶しており、
    スーパーシーダーのアドレスを前記スーパーシーダーテーブルから検索するステップにおいて、前記識別情報に基づき前記ファイルに対応するスーパーシーダーのアドレスを前記スーパーシーダーテーブルから検索することを特徴とする請求項5記載のトラッカーサーバの処理方法。
  8. BitTorrentプロトコルのトラッカーサーバを構成するためのプログラムであって、コンピュータに、
    少なくともクライアント及び/又はスーパーシーダーのアドレス、当該アドレスのコンピュータが記憶しているファイルを要求に応じて送信可能であるかどうかを示すシーダーフラグ及び記憶しているファイルを要求に応じて送信可能であるコンピュータの数を記憶するテーブルであってファイルごとに生成されるアクティブピアテーブルと、予め記憶しているファイルを要求に応じて送信するスーパーシーダーのアドレスを記憶するスーパーシーダーテーブルとを用意し、
    クライアントからファイルのダウンロード希望通知を受けて当該クライアントを前記ファイルに対応するアクティブピアテーブルに登録するステップと、
    前記アクティブピアテーブルから前記ファイルを送信可能なコンピュータの数を取得するステップと、
    前記コンピュータの数が予め設定した所定の値m以下であるとき、スーパーシーダーのアドレスを前記スーパーシーダーテーブルから検索するステップと、
    検索されたスーパーシーダーへプロセス起動指示を送るステップと、
    当該スーパーシーダーからシーディング開始通知を受けて当該スーパーシーダーを前記アクティブピアテーブルに登録するステップと、
    前記クライアントから受信完了通知を受けて前記ファイルに対応するアクティブピアテーブルの当該クライアントのシーダーフラグをセットするとともに、前記ファイルを送信可能なコンピュータの数を更新するステップと、
    前記コンピュータの数を予め定められた閾値nと比較するステップと、
    前記コンピュータの数が閾値nを超えたときにプロセス停止要求を生成するステップと、
    前記プロセス停止要求を前記アクティブピアテーブルに含まれるスーパーシーダーへ送るステップと、を実行させるためのプログラム。
  9. 少なくともクライアント及び/又はスーパーシーダーのアドレス、当該アドレスのコンピュータが記憶しているファイルを要求に応じて送信可能であるかどうかを示すシーダーフラグ及び記憶しているファイルを要求に応じて送信可能であるコンピュータの数を記憶するテーブルであってファイルごとに生成されるアクティブピアテーブルと、予め記憶しているファイルを要求に応じて送信するスーパーシーダーのアドレスを記憶するスーパーシーダーテーブルと、処理部とを備え、
    前記処理部は、
    クライアントからファイルのダウンロード希望通知を受けて当該クライアントを前記ファイルに対応するアクティブピアテーブルに登録し、
    前記アクティブピアテーブルから前記ファイルを送信可能なコンピュータの数を取得し、
    前記コンピュータの数が予め設定した所定の値m以下であるとき、スーパーシーダーのアドレスを前記スーパーシーダーテーブルから検索し、
    検索されたスーパーシーダーへプロセス起動指示を送り、
    当該スーパーシーダーからシーディング開始通知を受けて当該スーパーシーダーを前記アクティブピアテーブルに登録し、
    前記クライアントから受信完了通知を受けて前記ファイルに対応するアクティブピアテーブルの当該クライアントのシーダーフラグをセットするとともに、前記ファイルを送信可能なコンピュータの数を更新し、
    前記コンピュータの数を予め定められた閾値nと比較し、
    前記コンピュータの数が閾値nを超えたときにプロセス停止要求を生成し、
    前記プロセス停止要求を前記アクティブピアテーブルに含まれるスーパーシーダーへ送ることを特徴とするBitTorrentプロトコルのトラッカーサーバ。
JP2006517880A 2005-01-28 2005-01-28 BitTorrentプロトコルによるファイルのダウンロード方法 Expired - Fee Related JP4208920B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2005/001254 WO2006080083A1 (ja) 2005-01-28 2005-01-28 BitTorrentプロトコルによるファイルのダウンロード方法

Publications (2)

Publication Number Publication Date
JPWO2006080083A1 JPWO2006080083A1 (ja) 2008-10-23
JP4208920B2 true JP4208920B2 (ja) 2009-01-14

Family

ID=36740118

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006517880A Expired - Fee Related JP4208920B2 (ja) 2005-01-28 2005-01-28 BitTorrentプロトコルによるファイルのダウンロード方法

Country Status (3)

Country Link
US (1) US7379967B2 (ja)
JP (1) JP4208920B2 (ja)
WO (1) WO2006080083A1 (ja)

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7490140B2 (en) * 2005-05-12 2009-02-10 International Business Machines Corporation Peer data transfer orchestration
US20060265371A1 (en) * 2005-05-20 2006-11-23 Andrew Edmond Grid network for distribution of files
US20060282421A1 (en) * 2005-06-10 2006-12-14 International Business Machines Corporation Unilaterally throttling the creation of a result set in a federated relational database management system
US20060294022A1 (en) * 2005-06-22 2006-12-28 Dayan Richard A Apparatus, system, and method for enabling a service
US7542992B1 (en) * 2005-08-01 2009-06-02 Google Inc. Assimilator using image check data
US20070055862A1 (en) * 2005-09-08 2007-03-08 Interdigital Technology Corporation Method and system for distributing data
US7920572B2 (en) * 2005-09-20 2011-04-05 Cisco Technology, Inc. Modifying operation of peer-to-peer networks based on integrating network routing information
US7764683B2 (en) * 2005-12-16 2010-07-27 Oracle America, Inc. Reliable multicast operating system (OS) provisioning
US7761503B2 (en) * 2006-01-06 2010-07-20 Microsoft Corporation Peer distribution point feature for system management server
ATE463917T1 (de) * 2006-02-21 2010-04-15 Microsoft Corp Topologieverwaltung in peer-to-peer datenverteilungswolken
US20070204003A1 (en) * 2006-02-28 2007-08-30 Maven Networks, Inc. Downloading a file over HTTP from multiple servers
US20070260546A1 (en) * 2006-05-03 2007-11-08 Batalden Glenn D Apparatus and Method for Serving Digital Content Across Multiple Network Elements
US7945689B2 (en) * 2007-03-23 2011-05-17 Sony Corporation Method and apparatus for transferring files to clients using a peer-to-peer file transfer model and a client-server transfer model
BRPI0621786A2 (pt) * 2006-06-27 2011-12-20 Thomson Licensing solicitação de conteúdo entre parcerias com desempenho monitorado
US7953713B2 (en) * 2006-09-14 2011-05-31 International Business Machines Corporation System and method for representing and using tagged data in a management system
WO2008043092A1 (en) * 2006-10-05 2008-04-10 Bittorrent, Inc. Peer-to-peer streaming of non-live content
US20080091763A1 (en) * 2006-10-13 2008-04-17 Quipa Holdings Limited method for sharing functionality and/or data between two or more linked entities
KR100836619B1 (ko) * 2006-11-24 2008-06-10 엔에이치엔(주) P2p 시스템에서 피어 관리 서버 및 피어 관리 방법
US20080160911A1 (en) * 2006-12-27 2008-07-03 Goosean Media Inc. P2P-based broadcast system and method using the same
US9009234B2 (en) 2007-02-06 2015-04-14 Software Ag Complex event processing system having multiple redundant event processing engines
KR101409991B1 (ko) * 2007-04-16 2014-06-20 삼성전자주식회사 P2p 통신 환경에서의 데이터 전송 방법 및 장치
TWI402698B (zh) * 2007-05-24 2013-07-21 Via Tech Inc 資料分散存取方法與系統
CN101146110B (zh) * 2007-09-25 2011-06-29 深圳市迅雷网络技术有限公司 一种播放流媒体的方法
US8606846B2 (en) * 2007-10-15 2013-12-10 Nbcuniversal Media, Llc Accelerating peer-to-peer content distribution
US20090100128A1 (en) * 2007-10-15 2009-04-16 General Electric Company Accelerating peer-to-peer content distribution
CN101141627A (zh) * 2007-10-23 2008-03-12 深圳市迅雷网络技术有限公司 一种流媒体文件的存储系统及方法
US7835286B2 (en) * 2008-01-11 2010-11-16 Alcatel Lucent Dynamic multi-objective grid resources access
EP2283435B1 (en) * 2008-05-14 2017-01-11 Sony Interactive Entertainment Inc. Broadcast seeding for peer-to-peer networks
US9037657B2 (en) * 2008-05-23 2015-05-19 The Trustees Of Columbia University In The City Of New York Systems and methods for peer-to-peer bandwidth allocation
EP2321950A1 (en) * 2008-08-27 2011-05-18 Telefonaktiebolaget L M Ericsson (publ) Peer to peer network
US9386089B2 (en) * 2008-11-11 2016-07-05 Nbcuniversal Media, Llc Early detection of high volume peer-to-peer swarms
US8924460B2 (en) * 2008-12-19 2014-12-30 International Business Machines Corporation Method and system of administrating a peer-to-peer file sharing network
ATE531180T1 (de) * 2009-02-10 2011-11-15 Alcatel Lucent Verfahren und vorrichtung zur wiederherstellung von torrent inhaltsmetadaten
CN101610289A (zh) * 2009-07-21 2009-12-23 腾讯科技(深圳)有限公司 下载数据的方法、装置和系统及节点
CN101969459B (zh) * 2009-09-30 2013-07-10 突触计算机系统(上海)有限公司 数据块分布控制方法及其装置
WO2011072678A1 (en) 2009-12-18 2011-06-23 Eovendo ApS Peer-to-peer system with censorship
US8458172B2 (en) * 2009-12-24 2013-06-04 At&T Intellectual Property I, L.P. Method and apparatus for automated end to end content tracking in peer to peer environments
KR101591534B1 (ko) * 2009-12-30 2016-02-04 주식회사 알티캐스트 계층적 트랙커를 이용한 p2p 전송 시스템 및 이를 위한 트랙커 장치
US8832281B2 (en) * 2010-01-08 2014-09-09 Tangome, Inc. Utilizing resources of a peer-to-peer computer environment
US8560633B2 (en) 2010-01-11 2013-10-15 Tangome, Inc. Communicating in a peer-to-peer computer environment
US9094527B2 (en) * 2010-01-11 2015-07-28 Tangome, Inc. Seamlessly transferring a communication
US9386093B2 (en) * 2010-02-17 2016-07-05 Deutsche Telekom Ag Price-aware neighborhood selection for peer-to-peer networks
EP2572495B1 (en) * 2010-05-20 2016-07-06 Telefonaktiebolaget LM Ericsson (publ) System and method for managing data delivery in a peer-to-peer network
WO2013069329A1 (ja) * 2011-11-10 2013-05-16 株式会社スクウェア・エニックス データ送受信システム
JP2015517698A (ja) * 2012-05-04 2015-06-22 トムソン ライセンシングThomson Licensing ファイル共有システムにおけるピア滞留時間の制御
US8719345B2 (en) * 2012-05-11 2014-05-06 Oracle International Corporation Database replication using collaborative data transfers
KR20130139431A (ko) * 2012-05-21 2013-12-23 알서포트 주식회사 단말 간 연결을 위한 방법
KR101420108B1 (ko) 2012-05-31 2014-07-16 삼성에스디에스 주식회사 순차적 p2p 다운로드 시스템 및 방법
US9544366B2 (en) 2012-12-19 2017-01-10 Hive Streaming Ab Highest bandwidth download request policy in a live streaming P2P network
US9591070B2 (en) * 2012-12-19 2017-03-07 Hive Streaming Ab Multiple requests for content download in a live streaming P2P network
US9680926B2 (en) 2012-12-19 2017-06-13 Hive Streaming Ab Nearest peer download request policy in a live streaming P2P network
US9900384B2 (en) * 2013-07-12 2018-02-20 Adobe Systems Incorporated Distributed caching in a communication network
US10116740B2 (en) * 2013-12-27 2018-10-30 Microsoft Technology Licensing, Llc Peer-to-peer network prioritizing propagation of objects through the network
US10198737B2 (en) * 2014-03-19 2019-02-05 Parrot Analytics, Ltd. Peer-to-peer data collector and analyzer
KR101630276B1 (ko) * 2014-10-21 2016-06-24 에스케이텔레콤 주식회사 단말간 컨텐츠 제공 방법 및 이를 위한 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
GB2532039B (en) * 2014-11-06 2016-09-21 Ibm Secure database backup and recovery
US10404781B2 (en) * 2015-01-14 2019-09-03 Cisco Technology, Inc. Flow characteristic based peer-to-peer system
KR102346689B1 (ko) * 2015-08-28 2022-01-04 한국전자통신연구원 P2p 네트워크 관리 시스템의 동작 방법 및 p2p 네트워크 관리 시스템
CN109716731A (zh) * 2016-05-31 2019-05-03 埃克申铁克电子公司 用于提供可靠和高效数据传送的系统和方法
US10257152B2 (en) * 2017-03-10 2019-04-09 Nicira, Inc. Suppressing ARP broadcasting in a hypervisor

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0993163A1 (en) 1998-10-05 2000-04-12 Backweb Technologies Ltd. Distributed client-based data caching system and method
WO2001013201A2 (en) 1999-08-12 2001-02-22 Sarnoff Corporation Peer-to-peer network user authentication protocol
JP2002269461A (ja) 2001-03-07 2002-09-20 Nippon Telegraph & Telephone East Corp コンテンツ流通管理装置、コンテンツ流通方法、及びコンテンツ流通処理プログラム
JP2003006087A (ja) 2001-06-19 2003-01-10 Sony Corp 情報処理装置および方法、プログラム、並びに記録媒体
JP2003099315A (ja) 2001-09-20 2003-04-04 Hitachi Ltd 情報端末、文書情報送受信システム及び文書取得用プログラム
JP2003187101A (ja) 2001-12-19 2003-07-04 Sony Corp 情報処理装置および情報処理方法、記録媒体、情報処理システム、並びに、プログラム
JP2003228668A (ja) 2002-02-06 2003-08-15 Hitachi Ltd リソース管理方法
JP2003273898A (ja) 2002-03-14 2003-09-26 Ricoh Co Ltd 通信システム及び通信方法
JP3682439B2 (ja) 2002-03-22 2005-08-10 株式会社ジャストシステム データ通信システム及び方法、サーバ装置、クライアント装置、並びにプログラム
US7051102B2 (en) 2002-04-29 2006-05-23 Microsoft Corporation Peer-to-peer name resolution protocol (PNRP) security infrastructure and method
JP2003323329A (ja) 2002-05-07 2003-11-14 Fujitsu Ltd 分散ファイル管理方法及びプログラム
US20040117376A1 (en) * 2002-07-12 2004-06-17 Optimalhome, Inc. Method for distributed acquisition of data from computer-based network data sources
JP3855909B2 (ja) 2002-10-23 2006-12-13 株式会社日立製作所 ポリシ設定可能なピアツーピア通信システム
US7096230B2 (en) * 2003-08-01 2006-08-22 Sap Aktiengesellschaft Computer-implemented method and system to support in developing a process specification for a collaborative process

Also Published As

Publication number Publication date
JPWO2006080083A1 (ja) 2008-10-23
US7379967B2 (en) 2008-05-27
WO2006080083A1 (ja) 2006-08-03
US20070028133A1 (en) 2007-02-01

Similar Documents

Publication Publication Date Title
JP4208920B2 (ja) BitTorrentプロトコルによるファイルのダウンロード方法
US8726327B2 (en) System and method for peer-to-peer live streaming
US8090813B2 (en) Methods and apparatus for data transfer
US7908362B2 (en) Method and apparatus for the delivery of digital data
US20080016201A1 (en) Methods and apparatus for transferring data
KR101980129B1 (ko) 관리 기능이 부여된 피투피 네트워크 시스템
AU2011274249B2 (en) Systems and methods for storing digital content
US20080037438A1 (en) Content delivery system for digital object
US8028019B2 (en) Methods and apparatus for data transfer in networks using distributed file location indices
US20070180079A1 (en) Method and system for peer-to-peer stream
EP2057823B1 (en) Cache structure
JP2006079606A5 (ja)
CN103597471A (zh) 用于对计算机网络上的数据通信进行缓存的方法和系统
US20060236386A1 (en) Method and apparatus for cooperative file distribution in the presence of firewalls
JP2010538590A (ja) 目標データ配信レートによる協同ファイル配布のための方法および装置
TWI351849B (en) Apparatus and method for transmitting streaming se
WO2019200630A1 (zh) 一种流媒体资源的传输方法及系统
KR101520519B1 (ko) 디지털 데이터 전달 방법 및 장치와, 데이터 소스 선택 방법 및 장치와, 현물 시장 트레이딩 디바이스
US20090222890A1 (en) Method and apparatus for providing streaming service based on p2p and streaming service system using the same
US20100293172A1 (en) Method and system for storing and distributing electronic content
JP4729549B2 (ja) 負荷制御方法及び装置及びプログラム
KR101553394B1 (ko) 모바일 메시징 서비스에서의 파일 전송을 지원하는 파일 전송 관리 시스템 및 파일 전송 관리 방법
JP5536742B2 (ja) P2p基盤のストリーミングサービスのサーバ使用量を調整するシステムおよび方法
US9386056B1 (en) System, method and computer readable medium for providing media stream fragments
JP5287851B2 (ja) コンテンツ配信システム及びそれに用いるコンテンツ配信方法

Legal Events

Date Code Title Description
A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050908

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20061004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20061004

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20061211

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050902

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070124

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

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

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20111031

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees