課題

@コードレベルの話

  • スレッドに関して (超重要)
    • タスクの基本的な機能 (イベント、メッセージング)
    • 役割分担 (特に通信周りに関して如何にロックせずに動くか)
  • 効率的なデータ受信方法
    • コマンドブロックをどのように受信するか
      • 大きさに関わらず1ブロックずつ完全に受信し終えるか
      • 大きなブロックは数回に分けて受信し結合するか
      • 小さなブロックは受信できるだけ一気に受信してキューに貯めるか
      • その他組み合わせなど
    • #実験が必要

@仕組みに関しての疑問

  • よりよいノード情報の拡散と収集
    • 検索にヒットしたデータを持っているノードはよいノードか
    • 検索リンク対象外のノードの情報も保持するか
    • ノード通知時にどのようなノードを教えてあげるべきか
      • 下流ノードへ教えてあげるノード情報はどれか
      • 上流ノードへ教えてあげるノード情報はどれか
      • ノードの自己申告回線速度は超重要か
      • ノードのクラスタリングキーワードは重要か
    • クラスタリングキーワードの全く一致しないノードは悪いノードか
    • よいノードと通信をしていてもある程度の時間間隔で切り離すべきか
    • 優先順位とソート、グループ分けの方法
  • よりよいファイル情報の拡散と収集
    • どのタイミングでどの種類のクエリをどのノードに対して送るか
    • 拡散クエリ要求に対してどのキーを送るか
  • 乱数が有効な場面