インターネットの情報を確実に伝えることに役立っている技術の1つとして、TCPがある。TCPとはTransmission Control Protocolの略で、伝送制御プロトコル、次々に伝えて送るために送り方・受け方をどのように調節するかを決めた約束事である。
TCPのおかげで正確に、なるべく速く送ることができる。インターネットが混雑している時にもなんとかやり取りができるのも、TCPのおかげだ。
このTCPの仕組みを擬人化するネタがわりと面白いので、いくつか考えてみようと思う。思いついたのが教育的なものだったので、TCP教師で。
正確に漏れなく教える
TCP教師は1対1で教育するときに絶大な信頼を得ている。
TCP教師は正確に教育する。彼は教育する内容に関して、全てに番号をつける。(シーケンス番号)
TCP教師が生徒に対して教えた内容について、生徒はTCP教師へ一定時間内に分かったということを伝えなければならない。そのとき、生徒は分かった内容が何か、番号で伝えることになる。(ACK)
生徒は教えられた内容が理解できるかどうか、確認をする(チェックサム)。往々にして生徒は、分からなかった内容についてTCP教師に伝えることはしないものだ。生徒は分からなかった内容はそのままにして黙っている。
TCP教師は抜け目がない。自身が教えた内容を番号で把握している。自身が教えた内容について、一定時間の反応がなければ、再度、教育を行う。また理解しなければ延々と再教育を行う。しぶとい。(ARQ, タイムアウト再送)
しかしTCP教師にも温情はある。一度、理解できなかった内容についての再教育までの猶予は2倍に伸ばされる。(TCPタイムアウト時間)
だが彼にも限界はある。彼の定める時間以上は待ってはくれないのだ。その時間になると再教育が始まる。(最大TCPタイムアウト時間)
TCP教師以外の再教育
再教育の方法にはいくつかの方法がある。
1つの教育内容について、ある方面、別の角度からの情報を付け加えることで、勘違いが発生しても、正しい方向に導けるような布石を打つ方法がある。必要最低限の教育では、1つの勘違いから理解できないということが多い。はじめから効率を犠牲にして、情報多めにした方が、1回の教育で理解できる確率が高いはずだ。(FEC)
TCP教師のやり方は、個人授業や数人とのやり取りではうまくいく方法かもしれない。しかし、教室や講堂で50人~100人単位で伝えなければならなくなったらどうだろうか。一人ひとりから、理解したかどうかの確認をもらっても処理しきれない。理解できない生徒がぽろぽろ出てくると、何度も同じ話をすることになる。さすがのTCP教師もお手上げだ。(マルチキャスト, ACK爆発問題, マルチキャスト再送問題)
この場合は、理解できない人間が数人が出てきても仕方がないという割り切りが必要なのだ。
また別の組み合わせるべき方法として、分からなかった人は挙手をする、という手法がある。(NAK)
分かった人が分かったということを伝えるケースと、分からなかった人だけが挙手をするケースを比べれば、後者のほうが多人数の場合には効率がよさそうだ。再教育の回数を制限すれば、何とか時間内に教育することが可能になりそうだ。(再送回数の制限)
しかし考えてみると、なぜ、TCP教師は「分からなかった人は挙手をする」という方法をとらなかったのか。それは、TCP教師が1対1で教育をしていても、分からなかった生徒がTCP教師に分からなかったという事実を伝えない(伝えられない)ことがあるからだ。生徒には生徒なりの事情があるものだ。シャイな生徒もいるのだろう。
だから、TCP教師は、生徒からの「分かった報告」が来るまでは再教育を続ける。「余分な情報を付け加える」方法も「分からなかった人は挙手をする」方法も採用しないのは、それらの方法が完璧に教育内容を伝えられることが保証されていないからなのだ。潔癖なTCP先生は完璧に教育することを誇りに思っている。
この世界の生徒は、分からなかった内容に関して「分かりました」と嘘をつくことはない。TCP教師が聞き間違いをしなければ、だが、その確率は著しく低い。
TCP教師以外の教師の中には、「分かった生徒が分かったことを伝える」方法と、「余分な情報を付け加える」方法を組み合わせた方がよいのではないかと考えている人もいる。彼らはTCP教師よりも、低年齢の生徒を扱っているようだ。低年齢の生徒の中には、頻繁に勘違いするものもいる。そういった配慮が必要なのだろう。そういった生徒に対してTCP教師が直接教えようとしても効率が悪いのだが、組み合わせの方法を使う彼らの教育方針の賜物で、TCP教師の教育が効率よく行えることもある。(無線伝送の問題, H-ARQ)
1対1の教育でもTCP教師にはお手上げの生徒がいるのだ。しかしTCP教師は日夜、教育方法について研究している。いつの日か、彼も、そういった生徒を克服できる日が来るのかもしれない。
後書き
この話を読んだ人には、TCP教師はどのような風貌、人格に見えるのだろうか。
『分からなかった内容に関して「分かりました」と嘘をつくことはない』、とのくだりは、チェックサムを行っているので、逐一理解をしているのかテストを行っている、という表現でもよかったのかもしれない。
元ネタとなったTCPな仕事論が書かれたページが見つからん…
次に書く気力があったら、「3ウェイハンドシェーク」「フロー制御」「輻輳制御」についてのテーマで。