巨大な作業をスムーズに進める「直前のちょっとした相談」
はげ山にたくさんのボランティアが苗木を植える大掛かりなプロジェクトがあります。もし、ふもとの本部が「あなたはここを掘って」と一人ひとりに無線で指示を出していたらどうなるでしょう。回線はパンクし、みんな指示待ちで立ち尽くしてしまいます。コンピューターの世界でも同じことが起きます。中心となる機械がすべての細かい作業を割り当てようとすると、そこが渋滞の原因になってシステム全体が遅くなってしまうんです。
で、作業を早くするために、現場のリーダーたちに空き地を見つけて自由にチームを向かわせる権限を与えたとします。ところが別の問題が起きます。山の反対側にいる二人のリーダーが、偶然まったく同じ空き地にチームを派遣してしまうことがあるんです。人が一箇所に密集して、せっかくの土を荒らしてしまいます。コンピューターでも、個々の機械が勝手に予定を組むと、偶然一つの機械に仕事が集中してフリーズすることがあります。
そこで、出発前に計画をチェックする安全担当者を置くことにしました。リーダーたちはチームを動かす前に、どこへ向かうかを伝えます。もし地図上で鉢合わせしそうなら、担当者がすぐに別の空き地を案内します。新しいコンピューターのシステムも、これとまったく同じ仕組みで動きます。作業が始まる直前に、デジタルの安全装置がすべての予定を見守り、どこか一つがパンクしそうになったら、すかさず別の場所へ仕事を振り分けるんです。
最初は山全体をひとりの担当者で見渡していましたが、人が増えると、予定の確認だけで担当者がパンクしてしまいます。面白いのがここからの工夫です。山をいくつかの谷に分け、谷ごとに担当者を配置しました。そして、チームが谷の境界線に近づいたときだけ、担当者同士が連絡を取り合うようにしたんです。デジタルの世界でも同じように、安全装置をエリアごとに分割することで、ネットワークが巨大になっても高速に保てるようになりました。
谷ごとの担当者のおかげで、混雑は一切なくなり、過去最速で山に木が植えられました。私たちの生活を支える複雑なデジタルネットワークでも、この仕組みを使うと処理にかかる時間が半分になり、使う電力もずっと少なくなります。膨大な仕事をこなすのに、動きの鈍い司令塔も、無秩序な個人プレーも必要ありません。行動を起こす直前に、ほんの少しだけ周りとコミュニケーションを取る。それだけで、全体が驚くほどスムーズに動き出すんです。