S03-P01 異世界SLA99.99% ~元SEは今日も魔法インフラを落とさない~

第19話: 帯域不足はロードバランサーで

第2アーク · 5,977文字 · revised

朝食の席で、三通の伝書が届いた。

工房のテーブルに並べた羊皮紙を、リオンは順番に読み上げる。

「ブラント村。『通信魔法陣の伝送が遅く、隣村への連絡に半日かかる。至急確認されたし』」

「ミルデ村。『先日修繕いただいた農地魔法陣は好調だが、通信魔法陣の応答が極端に遅い。返信が届くまで丸一日かかることがある』」

「カーレン村。『通信が途絶することがある。魔獣の目撃情報を共有できず困っている』」

三通を並べて、リオンは腕を組んだ。

「……三つの村から、同時に通信障害の報告」

エルナがパンをかじりながら首を傾げた。

「同時、ですか? 偶然じゃなくて?」

「偶然で三つの村が同じタイミングに同じ症状を出すことは、まずない」

リオンは巻物を広げ、以前描いた辺境の魔法陣ネットワーク図を指でなぞった。ルーンフェル村を中心に、ブラント村、ミルデ村、カーレン村、ハーゼル村が魔力パスで繋がっている。各村の通信魔法陣が発した信号は、中継ノードを経由して目的地に届く仕組みだ。

「三つの村に共通する経路がある。ここ、ブラント村の中継ノード」

リオンの指が、図の一点を叩いた。

「全部の通信が、ここを通ってる」


三人でブラント村へ向かう畦道。秋の風が黄金色の麦畑を撫でていく。

「リオンさん、中継ノードってなんですか?」

エルナが隣を歩きながら聞いてきた。工房で座学を受けるようになってから、わからないことを素直に聞くようになった。

「通信魔法陣は直接遠くの村に信号を飛ばせない。途中に中継地点を置いて、バケツリレーのように信号を渡していくんだ」

「じゃあ中継地点が詰まると、全部の通信が遅れる?」

「正解」

後ろを歩いていたドルクが、ぼそりと口を開いた。

「道が一本しかないところに荷馬車が集中してる、ってことか」

「ドルクさん、その例え完璧です」

「……ふん」


ブラント村に着いたのは昼前だった。

村の広場にある通信魔法陣の前で、リオンは【診断(ダイアグノーシス)】を発動した。

目の前に、魔力の流れが可視化される。

通信魔法陣から伸びる魔力パスが四方に走り、各村へと繋がっている。中継ノード——村の広場の地下に埋め込まれた石板の集合体——が、すべての通信を一手に受けて処理している。

「……やっぱりか」

リオンは目を細めた。

中継ノードの負荷は、処理限界の九割を超えていた。魔力の流れが滞り、信号の伝送に著しい遅延が発生している。前世の言葉で言えば——。

「ボトルネックだ」

「ぼとるねっく?」

エルナが復唱した。

「瓶の首。液体を瓶から出すとき、首のところが細いから流れが制限される。それと同じで、このノードの処理能力が足りなくて、全体の通信速度がここで頭打ちになってる」

「でもリオンさん、この魔法陣が作られた頃は問題なかったんですよね?」

「この中継ノードが設計された時代は、通信量が今よりずっと少なかった。でも最近は工房の業務で村同士の連絡が増えた。つまり……僕たちのせいでもある」

「え!?」

「インフラが通信量の増加についていけてないんだ」

ドルクが腕を組んで石板を見下ろした。

「で、どうする」


リオンは白紙の羊皮紙を地面に広げ、図を描き始めた。

「今の構成はこう。全部の通信がブラント村の中継ノード一箇所を通っている。スター型トポロジーの」

エルナとドルクが揃って怪訝(けげん)な顔をしている。

「……一箇所に集中してる、ってことです」

「最初からそう言ってください」

リオンは苦笑しつつ、解決策の図を描いていく。中継ノードを複数に分散させ、通信の行き先に応じて最も負荷の少ないノードに振り分ける。描きながら、手が加速していった。

「まずラウンドロビンで振り分けて……いや、各ノードの処理能力が違うなら重み付けが要る。ウェイテッドラウンドロビンにして……でも通信の種類によって処理負荷が変わるから、L4スイッチ的な振り分けロジックも——」

「リオンさん」

「リアルタイムの負荷監視も入れて、レイテンシベースのルーティングで最適な」

「リオンさん!」

エルナの声で我に返った。

見ると、エルナもドルクも、完全に置いてけぼりの表情だった。

「……何語ですかそれ」

エルナが半眼で言った。

「さっぱりわからん」

ドルクが腕を組んだまま、淡々と追い打ちをかけた。

リオンは赤くなって頭を掻いた。

「すみません……興奮すると前の世界の言葉が出ちゃうんです」


深呼吸。

リオンは羊皮紙の余白に、改めて図を描き直した。今度は二人にわかる言葉で。

「いいですか。今の問題を荷馬車で例えます」

ドルクが「おう」と頷いた。彼にはこの例えが一番通じる。

「今、辺境の全部の荷馬車が一つの橋を渡ってる。橋は一本しかない。荷馬車が増えたから、橋の上が渋滞してる。これが今の状態」

「だったら橋を増やせばいい」

「そう。でも、ただ橋を増やすだけだと、全員が新しい橋のほうに殺到して、今度はそっちが渋滞する。だから」

リオンはペンで図を叩いた。

「振り分け役が必要なんだ。橋の手前に立って、『こっちの橋は空いてますよ』『あっちは混んでるからこっちへ回ってください』って案内する人。それが——」

言葉を選ぶ。IT用語を抑えて、この世界の言葉で。

魔力分散陣(まりょくぶんさんじん)。通信の流れを見て、空いているほうの中継ノードに自動で振り分ける魔法陣です」

エルナの目が輝いた。

「つまり、交通整理をしてくれる魔法陣……!」

「そういうこと」

「なるほどな」ドルクが顎を撫でた。「で、その分散陣ってのは、どうやって作る」

リオンはペンを止めた。

ここからが本題だ。


「まず、中継ノードを追加で二つ作ります。一つはルーンフェル村とミルデ村の中間地点。もう一つはカーレン村寄りの丘の上。これでブラント村のノードと合わせて三つになる」

「石板は要るのか」

「要ります。ドルクさんに刻印板を三枚追加で打ってもらいたい。あと、振り分けの制御用に小さい刻印板が一枚」

ドルクは「ふむ」と低く唸った。

「図面は」

「これから描きます。今日中に」

「なら明日には打てる」

職人の返事は潔い。リオンは心の中で感謝しながら、エルナに向き直った。

「エルナ、振り分けの仕組みを魔法陣に実装する方法なんだけど」

「はい」

「各中継ノードの魔力残量を、分散陣がリアルタイムで感知する必要がある。魔力操作で、各ノードとの間に細い魔力パスを通してもらえるか? 常時接続で、ノードの負荷状態を流してくる感知用の回線」

エルナは少し考え込んでから、手を握ったり開いたりした。彼女が魔力の感覚を確かめるときの癖だ。

「……できると思います。ノードの魔力の揺らぎを拾って、分散陣に戻すんですよね。感覚的には——各ノードの脈拍を測るような感じ」

「その例え、すごくいい。まさにそう。ヘルスチェックだ」

「へるすちぇっく?」

「各ノードが元気かどうか、定期的に確認する仕組み。それを基に、元気なノードに多く振り分けて、調子が悪いノードには少なく振り分ける」

エルナはぱあっと表情を明るくした。

「わかります! 感覚的にはわかります! ノードが疲れてたら休ませて、元気なほうに回す——」

「完璧。それを魔法陣の仕組みとして組み込む」


設計は午後いっぱいかかった。

集会所を借りて図面を引くリオンの隣で、エルナが魔力の流れを感覚で確かめる。「ここのパスは細すぎます」「この角度だと魔力が減衰(げんすい)します」。理論と感覚が噛み合う瞬間だった。

図面を受け取ったドルクが、黙って眺めてから赤を入れた。

「刻印の深さ、ここは0.3ミルのほうがいい。石板の目に沿って刻めば、同じ深さでも伝導率が変わる」

リオンは目を見張った。【診断】では見えない領域。素材を何十年も触ってきた職人だけが持つ知見だ。

「ドルクさん、それ、すごく重要です。図面に反映させてください」

「おう」


翌日。ドルクが仕上げた四枚の刻印板に【診断】をかける。精度、伝導率、設計との一致、すべて問題なし。修正箇所はむしろ当初の設計より性能が上がっている。

「完璧です、ドルクさん」

「当然だ」

午後、設置作業。既存中継ノードに分散制御板を追加し、二箇所に新設ノードを埋設する。エルナが各ノード間に魔力パスを通していく。

「感知用パス、接続完了です。各ノードの魔力状態が分散陣に流れ込んでます」

「よし。じゃあテスト通信を送る」

リオンはブラント村の通信魔法陣から、試験信号を三つ同時に送出した。ルーンフェル村宛、ミルデ村宛、カーレン村宛。

【診断】で魔力の流れを追う。

信号が分散陣に到達し——三つの中継ノードに振り分けられていく。ブラント村のノードにルーンフェル村宛が、新設の中間ノードにミルデ村宛が、丘の上のノードにカーレン村宛が、それぞれ流れていく。

「分散してる……!」

エルナが声を上げた。彼女の目にも魔力の流れが見えているのだろう。感覚派の魔術師にとって、魔力の動きは肌で感じ取れるものだ。

「各ノードの負荷は……」リオンは【診断】の数値を読み上げた。「ブラント村ノード、負荷35%。中間ノード、負荷28%。丘上ノード、負荷31%」

以前は90%超だった負荷が、三分の一に分散されている。

「ドルクさん、刻印板の状態は」

「問題ない。振動もない。安定してる」

リオンは深く息を吐いた。

「——成功です」


夕暮れ。

ブラント村の集会所で、村長に報告をした。

「通信の遅延は解消されるはずです。今後は三つの中継ノードで分散処理されるので、一箇所に負荷が集中することはなくなります」

村長は目を丸くした。

「もう直ったのか? 昨日来たばかりじゃないか」

「原因の切り分けができていれば、対応は早いんです。手順書は後日お届けします」

エルナが「また手順書……」と小声で呟いたが、リオンは聞こえないふりをした。

集会所を出ると、秋の夕空が橙色に染まっていた。三人で畦道を歩く。

「リオンさん」

「ん?」

「さっきの……らうんどろびん? とか、えるよんすいっち? とか。あれ、全部前の世界の言葉なんですか?」

「ああ、うん」リオンは照れくさそうに頭を掻いた。「ロードバランサーっていう仕組みがあって——交通整理係みたいなものなんだけど、その振り分け方にいくつか種類があるんだ」

「種類?」

「ラウンドロビンは順番に振り分ける方式。一番目はAへ、二番目はBへ、三番目はCへ、四番目はまたAへ……って」

「それだと、重い荷物も軽い荷物も同じに扱っちゃいません?」

リオンは足を止めた。

「……エルナ、君もう僕の説明いらないんじゃない?」

「え? いや、感覚で思っただけで」

「それが正しいんだよ。だからウェイテッド——重み付けの仕組みが必要になる。各ノードの処理能力に応じて、振り分ける量を変えるんだ。今回はそれを採用した」

エルナは「へえ」と感心した声を上げた。それから少し誇らしげに笑った。

「私、ちょっとわかるようになってきたかもしれません」

「座学の成果だな」

「リオンさんの説明が上手いからですよ」

ドルクが後ろから、短く鼻を鳴らした。

「……何ですか、ドルクさん」

「何も言ってない」


帰り道、ミルデ村とカーレン村にも立ち寄った。どちらも通信の応答速度が劇的に改善していた。

カーレン村では、農夫が魔獣の目撃情報を送信して目を丸くした。

「おお、速い! 送ったらすぐ返事が来たぞ!」

「今までの十分の一くらいの遅延に抑えられてるはずです」

「ありがてぇ……! これで魔獣の情報がすぐ共有できる」

通信インフラの改善は日常の安全に直結する。地味だが、現場では切実に必要とされる仕事だ。


工房に戻ったのは、日がすっかり暮れてからだった。

エルナがスープの入った器を差し出す。リオンは一口すすって、ほっと息をついた。

「明日、手順書を仕上げます。各ノードの点検方法と、分散陣の設定変更手順」

「もう明日の仕事の話してる……」エルナが呆れたように笑った。

「定時で帰るんじゃなかったんですか?」

「帰ってますよ。ここが工房兼自宅なので、帰宅済みです」

「それは屁理屈です」

ドルクがスープを啜りながら、ぼそりと言った。

「嬢ちゃんの言う通りだな。手順書は明後日でいい。十分やった」

リオンは口を閉じた。前世の自分なら「今日中に」と思っただろう。でもそれが、過労死への道だった。

「……わかりました。明後日にします」

エルナが嬉しそうに微笑んだ。


夜。自室のベッドで天井を見つめる。

前世なら、ロードバランサーの導入に提案書、承認、発注、検証、本番反映で三ヶ月はかかる案件だ。それを二日でやった。しかも一人じゃない。エルナが魔力パスを通し、ドルクが刻印板を打ち、三人で設置した。

「……いいチームだな」

前世の九条諒は、一人で抱え込んで倒れた。今は違う。エルナは感覚で核心を突き、ドルクは素材の知見で設計を補正する。リオンにはない力を持つ二人がいる。

一人に依存しない体制。前世でずっと目指していたものに、少しずつ近づいている。

定時で帰るために、今日はもう寝よう。


翌朝。

リオンが工房に降りると、エルナがすでに来ていた。テーブルの上に羊皮紙を広げて、何かを書いている。

「おはよう。早いね」

「あ、おはようございます。えっと、これ」

エルナが差し出した羊皮紙には、昨日の作業内容が箇条書きで記されていた。中継ノードの設置場所、魔力パスの接続方法、分散陣の動作確認手順。

「……手順書?」

「あの、まだ全然ちゃんと書けてないんですけど……リオンさんがいつもやってるのを見て、私もやってみようかなって」

リオンは羊皮紙を受け取り、目を通した。

書式は我流で、用語も怪しい。でも——必要な情報は網羅(もうら)されていた。感覚派のエルナが、論理的に手順を整理しようとしている。

「エルナ」

「は、はい。ダメですか?」

「すごくいい。骨格は十分だ。特に魔力パスの接続手順は、僕が書くより実践的だ」

「ほ、本当ですか!?」

「本当。ありがとう」

エルナは耳まで赤くなって視線を()らした。

「べ、別に……リオンさんが『手順書は?』ってうるさいから」

「うるさくて結構」

リオンは笑いながらペンを取り、エルナの手順書に赤字を入れていく。鍛冶場からドルクの金槌の音が聞こえてくる。

穏やかな朝だった。辺境の小さな工房で、魔法インフラを支える三人の日常。

リオンはふと窓の外を見た。秋の空は高く、澄んでいた。

——だが、この穏やかな日々がいつまでも続くとは限らない。

工房のテーブルの隅に、まだ開封していない伝書が一通あった。差出人はベルクハルト辺境伯の執事。内容は——「防壁魔法陣の挙動がおかしい。至急相談したい」。

リオンはまだ、その伝書に気づいていなかった。


【あとがき】
IT用語ダダ漏れ回。ロードバランサーを「橋の交通整理係」に翻訳するリオンの苦労は、エンジニアなら共感できるはず。

文字数: 5,977