Share一次放流方法まとめ
久々の更新がこれかよ!という気もしなくはないですが、ファイル共有ソフト「Share」における一次放流方法まとめ(色々あってHDDを漁ってたら出てきたので超今更感なんですが「せっかく図も書いたし」ということでアップしてみます)。
Shareには「Linkキャッシュ」「Localキャッシュ」「Completeキャッシュ」という用語があり、これがファイルの拡散を分かりにくくしている要因であるように思えます。しかし、ダウンローダーから見てステータスの一部が揃わない、俗に言う「歯抜け」の発生を防ぐため、一次放流を行う人間は拡散の仕組みを理解し適切な一次放流を行う必要があります。
最初に、各キャッシュの性質とShareにおけるファイル拡散の仕組みをざっと紹介しておきます。

一次放流者は近隣のノード(他Shareユーザー)に対し、ファイルを分割してキャッシュ化しながら強制的にアップロードする。これがShareの特徴である拡散アップロード(DiffuseUP)であり、放流者の匿名性を高める要因にもなっている(ダウンローダーが放流者と直接接続しない)。拡散アップロードによって近隣ノードはLocalキャッシュを持つこととなり、このLocalキャッシュが通常の転送(ShareUP)によってダウンローダーに渡される。ダウンローダーは全ての断片(Localキャッシュ)が揃った段階で結合された完全キャッシュを「Completeキャッシュ」とし、他のダウンローダーへの二次拡散(ShareUP)に利用する。
DiffuseUPは、基本的に一つのファイルに関して一回しか行われません。新しいファイルをアップロードフォルダに入れてShareを起動するか、Share起動後に新しいファイルをアップロードフォルダに入れて「クイックスキャン」をクリックすることで、フォルダタブで当該ファイルがスキャンされ、ハッシュ値の計算が行われてLinkキャッシュが生成される。

そしてLinkキャッシュの生成後、アップロードタブでDiffuseUPが行われる。フォルダタブで行われるファイルスキャンはあくまでファイルのハッシュ値を計算するものであり、DiffuseUP時にリアルタイムで元ファイルからキャッシュが作成され送信される仕組みなので、DiffuseUPは他の転送と比べて非常に負荷が高い作業であり、これが故にターボモード(後述)に必要性が生じる。

基本的に一回しか行われないDiffuseUPを二回以上行うにはクエリを利用する。ファイル名の一部などを検索して、検索結果のLinkキャッシュの右クリックメニュー「アップロードに追加」で二回目以降のDiffuseUPが可能です。ただし、Shareの仕様として、近隣ノードがCompleteキャッシュを保有している場合はDiffuseUPが行われません。

なお、クエリの検索結果のLinkキャッシュの右クリックメニュー「変換」によって、Linkキャッシュ(とアップロードフォルダ内の元ファイル)からCompleteキャッシュを生成することも可能です。Completeキャッシュを持った一次放流者は、ダウンロードが終わったダウンローダー(上図参照)と同様に、ShareUPによって他のダウンローダーにCompleteキャッシュを転送するので、まず近隣ノードがCompleteキャッシュを持つまでDiffuseUPを繰り返し(この作業を自動的に行うためのプラグインも存在します)、近隣ノードが完全キャッシュを持った後(近隣ノードが完全キャッシュを所有している場合はクエリにおける検索結果がオレンジになります)に変換を行うと良いでしょう。ただし、Shareは起動時(ないしクイックスキャン時)アップロードフォルダに元ファイルが存在するとCompleteキャッシュを削除しLinkキャッシュを生成する仕様なので、変換を行った後はアップロードフォルダ内の元ファイルを別フォルダに退避させる必要があります。
と、いうことで、ここまでをまとめ一次放流者が行うべき作業手順は下記。灰色の四角はユーザーが行う作業で白い四角はソフトが行う処理。太い矢印が推奨手順です(経路が無数にあるが「それは割とどうでも良い」の意)。

以下補足。
手動・プラグインによる繰り返しDiffuseUPや、変換によるCompleteキャッシュ化を一切行わない、Shareデフォルトの一次放流方法とは、上図における「アップロードタブでDiffuseUP」から即「作業終了」に繋がる赤い矢印です。この記事によってまとめた一次放流方法を理解し拡散効率を高めないと、俗に言う「歯抜け」を止めるのは難しいでしょう。
なお、この記事は一次放流方法の解説であってShare自体の解説ではないので、基本的な導入方法等に関しては下記サイトを参考に自力で頑張ってみて下さい。
Share(仮称)について
NextP2P
stereozenkai
Share(仮称)について
NextP2P
stereozenkai
最初に、各キャッシュの性質とShareにおけるファイル拡散の仕組みをざっと紹介しておきます。
- Linkキャッシュ
アップロードフォルダ内ファイルのハッシュ値等を定義する小さなファイルであり、拡散アップロード(DiffuseUP)に利用される - Localキャッシュ
近隣ノードが拡散アップによって所有することになる、いわゆる「キャッシュ」であり、通常のファイル転送(ShareUP)によってダウンローダーに送信される。ダウンロードリストに入れてダウンロード中のファイルのキャッシュも「Localキャッシュ」であり区別は無い - Completeキャッシュ
ファイルを落とし終わった人が所有することになる、いわゆる「完全キャッシュ」。二次拡散(ShareUP)によって他のダウンローダーに送信される

一次放流者は近隣のノード(他Shareユーザー)に対し、ファイルを分割してキャッシュ化しながら強制的にアップロードする。これがShareの特徴である拡散アップロード(DiffuseUP)であり、放流者の匿名性を高める要因にもなっている(ダウンローダーが放流者と直接接続しない)。拡散アップロードによって近隣ノードはLocalキャッシュを持つこととなり、このLocalキャッシュが通常の転送(ShareUP)によってダウンローダーに渡される。ダウンローダーは全ての断片(Localキャッシュ)が揃った段階で結合された完全キャッシュを「Completeキャッシュ」とし、他のダウンローダーへの二次拡散(ShareUP)に利用する。
DiffuseUPは、基本的に一つのファイルに関して一回しか行われません。新しいファイルをアップロードフォルダに入れてShareを起動するか、Share起動後に新しいファイルをアップロードフォルダに入れて「クイックスキャン」をクリックすることで、フォルダタブで当該ファイルがスキャンされ、ハッシュ値の計算が行われてLinkキャッシュが生成される。
そしてLinkキャッシュの生成後、アップロードタブでDiffuseUPが行われる。フォルダタブで行われるファイルスキャンはあくまでファイルのハッシュ値を計算するものであり、DiffuseUP時にリアルタイムで元ファイルからキャッシュが作成され送信される仕組みなので、DiffuseUPは他の転送と比べて非常に負荷が高い作業であり、これが故にターボモード(後述)に必要性が生じる。
ファイルスキャン時にそのファイルの完全キャッシュが生成されている(LinkキャッシュもCompleteキャッシュと同様にファイルの内容全てを定義するものである)と誤解している人がどこかにいた記憶なんですが、何だったらキャッシュビューアツールでキャッシュフォルダを覗いてみれば、Linkキャッシュのサイズが非常に小さいことが分かると思います。

キャッシュビューアツールに関しては、特にこの記事と直接の関係もないので、すみませんが興味がある方は自力でどうにかして下さい。

キャッシュビューアツールに関しては、特にこの記事と直接の関係もないので、すみませんが興味がある方は自力でどうにかして下さい。

基本的に一回しか行われないDiffuseUPを二回以上行うにはクエリを利用する。ファイル名の一部などを検索して、検索結果のLinkキャッシュの右クリックメニュー「アップロードに追加」で二回目以降のDiffuseUPが可能です。ただし、Shareの仕様として、近隣ノードがCompleteキャッシュを保有している場合はDiffuseUPが行われません。

なお、クエリの検索結果のLinkキャッシュの右クリックメニュー「変換」によって、Linkキャッシュ(とアップロードフォルダ内の元ファイル)からCompleteキャッシュを生成することも可能です。Completeキャッシュを持った一次放流者は、ダウンロードが終わったダウンローダー(上図参照)と同様に、ShareUPによって他のダウンローダーにCompleteキャッシュを転送するので、まず近隣ノードがCompleteキャッシュを持つまでDiffuseUPを繰り返し(この作業を自動的に行うためのプラグインも存在します)、近隣ノードが完全キャッシュを持った後(近隣ノードが完全キャッシュを所有している場合はクエリにおける検索結果がオレンジになります)に変換を行うと良いでしょう。ただし、Shareは起動時(ないしクイックスキャン時)アップロードフォルダに元ファイルが存在するとCompleteキャッシュを削除しLinkキャッシュを生成する仕様なので、変換を行った後はアップロードフォルダ内の元ファイルを別フォルダに退避させる必要があります。
と、いうことで、ここまでをまとめ一次放流者が行うべき作業手順は下記。灰色の四角はユーザーが行う作業で白い四角はソフトが行う処理。太い矢印が推奨手順です(経路が無数にあるが「それは割とどうでも良い」の意)。

以下補足。
- ターボモードとは、DiffuseUPのみを行うモード。一時拡散を行う場合に利用すると短時間でDiffuseUPを行うことが可能だが、ターボモードのON/OFFによる変化は同時接続数の差(のみ)であるため、一次拡散に必須な訳ではない
- 近隣ノードがCompleteキャッシュを所有するとDiffuseUPは不可能になる。クラスタを変更することで別のノードを近隣ノードとすれば再び可能になるケースが多いが、そもそもファイルの内容によって適切なクラスタで一時拡散を行う方が拡散効率が高いため、クラスタの変更は必須ではない
- Completeキャッシュが削除されるタイミングは、キャッシュフォルダがクォータ設定量を超えた段階であり、基本的にユーザーの意志とは無関係
手動・プラグインによる繰り返しDiffuseUPや、変換によるCompleteキャッシュ化を一切行わない、Shareデフォルトの一次放流方法とは、上図における「アップロードタブでDiffuseUP」から即「作業終了」に繋がる赤い矢印です。この記事によってまとめた一次放流方法を理解し拡散効率を高めないと、俗に言う「歯抜け」を止めるのは難しいでしょう。
なお、結論としてはこの記事通りの方法で問題ないと思うんですが、以下記事中で書かなかった事実に関して。
DiffuseUPはCompleteキャッシュの右クリックメニュー「アップロードに追加」からでも可能です。従って
DiffuseUPはCompleteキャッシュの右クリックメニュー「アップロードに追加」からでも可能です。従って
- フォルダタブでLinkキャッシュを生成
- Linkキャッシュの右クリックメニュー「変換」でCompleteキャッシュを生成
- Completeキャッシュを繰り返しDiffuseUP
- メリット
- LinkキャッシュのDiffuseUPはリアルタイムで元ファイルをキャッシュ化するため負荷が大きいがCompleteキャッシュであれば負荷を抑えてDiffuseUPすることが可能
- デメリット
- Linkキャッシュはクォータによって削除されることがないがCompleteキャッシュは削除され得るため、放流作業中に自分もファイルをダウンロードしていると削除されてしまう危険性がある
- CompleteキャッシュはShareUPによってもアップロードされるため拡散が不十分な段階でダウンローダーと直接接続してしまう危険性がある(記事本文の方法なら、Completeキャッシュ生成後の一次放流者は「Completeキャッシュを持っている人間」という不特定多数の中に紛れる)

TrackBack
この記事へのトラックバック