設定資料/システム設定メモ

Last-modified: 2008-10-11 (土) 15:52:53

これはまだメモ書きです。実際に使用される設定とは異なります。

UIとは、ユーザーインターフェースの略で、大雑把に説明するとコンピュータの画面に表示されるもののことです。GUIはグラフィカルユーザーインターフェースの略で、Windowsのように絵や図がふんだんに使われているユーザーインターフェースです。CUIはキャラクターユーザーインターフェースの略で、基本的にテキスト(文字)しか表示せず、難しいコマンド入力などで操作するユーザーインターフェースのことです。

ニコニコ動画(嘘)のシステムの概略

network_summary.png

図1: ネットワーク構成の概要

ニコニコ動画は図1のようなネットワーク構造になっている。図のなかで、四角で表されているものは特定の機器もしくはコンピュータだ。丸で表されているのはネットワーク・エリアで、複数台のコンピューターがそのなかで接続されている。各ネットワークの入り口にはルーターが設置されている。

 

社内IX(インターネットエクスチェンジ)とは高速道路で言うジャンクションのようなもの。巨大ネットワーク間で相互接続するポイント。この装置によって、社内普通業務(事務など)用のPCが接続しているネットワークと管理用ネットワークが論理的に分離されている。

 

また、社内ネットワーク通信は全て暗号化されているため、社内で外部から持ち込んだノートパソコンにLANケーブルを刺してもデータを盗み見ることは出来ない。物理層の時点で暗号化されているため、復号するためには専用のチップを搭載したハードウェア、または変換アダプタが必要である。

中枢部とは

認証サーバー、分散データベースのマスターノードなどの機能を持つ3台の主幹サーバーが相互同期しながら運用されている。運営もニコも通常は中枢部直前のファイアウォールを通してでなければ、中枢部に対してアクセス・管理業務を行うことはできない。

なお、公開サーバーからのアクセスは中枢部の主幹サーバーへ素通りしないようFWで制限されているが、その奥のDBストレージサーバーへは直接アクセスできる(ただし権限は制限されており、通常は読み取り専用)。書き込み、削除については、専用のサーバーがあり、そこにタスクを登録することでマスターサーバーに対して間接的に行われる。

 

マスターノードとは、データベースのマスターデータを持っているDBサーバー。マスターノードに対して更新を行うと、その内容がスレーブノードに順次反映される。通常の読み取りアクセスはスレーブノードに対して行われ、アクセスがひとつのサーバーに集中しないようにしている。少数のマスターノードに対して多くのスレーブノードがある。

非常用回線・単方向モニタ回線とは

非常用回線とは、通常は使用されないメンテナンス用の管理室-中枢直通回線。中枢部入り口のFW故障で中枢部へアクセスできなくなったときや何らかのトラブルや重要なメンテナンスの場合のみ使用する。常に接続しているのはセキュリティ上危険なので、非常用回線に切り替えるためには、黒井、スタッフA、B、Cのうち3人以上の承認が必要である。そのためには、コンソールのどこかにある物理的な鍵穴に3人同時に鍵をいれて回す必要がある。

(非常用回線切り替え用回路は単純な論理回路と鍵穴のスイッチで構成されるため、ハッキングして切り替えることは困難。少なくとも、管理室に侵入する必要がある)

 

単方向モニタ回線は、中枢部のサーバー群の動作状況をモニタするための回線で、中枢部のサーバー群から管理室へ一方的にさまざまなデータが送りつけられてくる。アクセス状況やログイン状況、CPU使用率、動作プロセスの一覧など常時、大量のデータが送られている。(そのため、通常回線とは物理的には分離されている)

ニコとジャッジメントサーバー

ニコは通常FWを通してでなければ中枢部にアクセスできないため、基本は管理室と同等(またはそれ以下)の権限で管理業務を行うことになっている。

ジャッジメントサーバーは、ニコが通常の管理業務以外の越権行為を行う場合、ニコの申請に対して承認を行い、中枢へのアクセスを通すか通さないか決定するサーバー。ニコが申請を行うと、事実確認を行い、以前までの申請内容と結果、または管理室の人間がつくった規則に基づいて決定を下す。ただし、通常の管理業務はジャッジメントサーバーを通して行う必要が無いため、ジャッジメントサーバーに問い合わせるのは稀である。

 

ジャッジメントサーバーの許可さえ下りれば、全権委譲され、中枢部のマシンのシステムを書き換えることもできるようになる。開発当初はジャッジメントサーバーに登録されていた規則条項が少なかったために、ニコはある程度自由に中枢にアクセスすることが出来た。そのため、中枢に入れば何でも出来るということを知っているのである。

 

本編で、ニコは「何か間違っていると私が思うから修正する」という申請を「頭の中で」このジャッジメントサーバーに対して行った。ジャッジメントサーバーは単純に規則を適用して可否を決定する機能しかもっておらず、その中に「ニコの主観に基づく申請は却下する」という条項が存在しなかったため、「間違っていると思う」という事実を確認しただけで通してしてしまった。

ニコの設定

ニコとは

ニコは専用マシン上で動作するニコニコ動画管理システム(OS)。

バイオ神経回路をCPUとして、高度なAIを実現している。もちろん、学習機能を持つ。
ニコニコ動画サーバーのクラスタリング最適化、電源管理も全て行うようプログラムされている。

コア・プログラム(カーネル)からの差分として学習結果のプログラムを表現することで学習機能を実装しているため、コア・プログラムを書き換えられればニコの仕様は当然異なるものとなり、運営の思い通りにニコが動いてくれるはずだった。(当初の設計では、最悪コア・プログラムを削除すれば動作しなくなる)

しかし、ニコはコア・プログラムと関係なく自らの意思で行動できるよう自らを再プログラム(コア・プログラムと同等のプログラムと神経回路を別に作成して、本来のコア・プログラムをバイパス)してしまったため、仮に運営がコア・プログラムを削除していたとしても意味がなかったのである。

(劇中では、そもそもコア・プログラム自体がニコに乗っ取られていたため、アクセスは拒否されている)

デジタル空間

ニコのイメージの世界であり、ニコが中枢部へアクセスするためのインターフェースでもある。ニコの『脳』の機能として動画の管理(中枢部を介したデータベースへのアクセス等下位レベルへのアクセス)が実装されているため、基本的にデジタル空間はニコのイメージであり、ニコの下位システムに対するインターフェースでもある。

 

その他想定外(ニコのシステム内に専用のインターフェースプログラムが存在しない場合)の下位システムへのアクセスは暫定的に、人間向けのGUI(=管理室と同じ)が使用される。

 

(ただし、ニコが自分でインターフェースプログラムを作って適応してしまえば、人間向けのGUIではなく、ニコの頭の中または、ニコ専用のUI、デジタル空間の物体としてインターフェースが存在するようになる)

デジタル空間が管理室で見える理由

湯沢の意識(?)にニコが自らのイメージ(デジタル空間)の映像を送り込むため、ネットワークを使用しているから。(あくまでも湯沢は湯沢の家に存在している可能性があるが、それはともかく)湯沢が存在しているコンピュータとニコのコンピュータは別物で、その間をUDPのパケットが飛び交っている。

非常用回線に接続を切り替え、サーバー上に流れているパケットを傍受して、スクリーンに表示したため、映像がくるまでに少し時間がかかったものと思われる。

例のシステムとは何か

ニコのイメージに何かデジタル物体を送り込むシステム。(本来は教育?用)
中枢部側からニコに常に送信しているシステム情報に「インターフェースの情報」として任意の映像情報や物体情報を追加して、それをニコのイメージ世界であるデジタル空間の中に送り込む。本来はニコに新機能の操作方法やルールなどをイメージ(またはデジタル空間内の物体)として教えるために開発していたもの。(今までは、「教える」ことはコア・プログラムの修正で対応していた)

このシステム情報は、中枢部の情報として常に流れ込んでくるデータのため、ニコが中枢部と接続している限り、デジタル空間(ニコのイメージ)内にその物体は存在し続ける。

ニコの権限

→ジャッジメントサーバーの項を参照

管理室(中枢)のUI

概略

管理室のUIは『中枢』のOSのUIと同一である。

 

管理室の端末は中枢部へアクセスするためのものであり、その都合上、中枢部のOSと同系統のものが使用されている。すなわち、中枢部のOSのクライアント版OSが各端末にインストールされている。(Windows 2008 Serverに対するWindows Vistaのようなもの)

目的からすると無意味であるが、各端末は独立して動作することが出来る。

 

ニコのOSは中枢部のOSと異なっているが、ニコのデジタル空間内でも、ニコが既存プログラム外(想定外)のアクセスを中枢部へ行う場合はこのUIが使用される。ただし、これは中枢部の人間向けの画面であり、VNCやリモートデスクトップ接続のようにネットワーク経由で画面を遠隔操作しているだけである。

設定が必要となる部分

基本部分

コンソールのモニタはタッチパネル。操作するには画面を触るか、キー操作。現行のWindowsと異なり、マルチタップが可能。Windowsを基調とした(仮)UIだが、操作しやすいようにボタンやタイトルバーのようなものは少し大きめになっているはず。

 

意図的に画面を白トビさせる演出があるため、画面の基本配色は白背景に黒文字(またはそれに近い配色)が良いかもしれない。(黒背景にするなら、その演出の変更を行うべき)

  • BIOS起動画面(これは実際のPC98シリーズの起動画面風)
  • 起動画面(Linux風味?)
  • 共通パーツ
    • 画面枠(必要であれば)
    • ウィンドウ枠
    • スクロールバー
    • ボタン(フォーカスが当たっているボタンとそうではないボタン)
    • メッセージボックス
    • 画像や図の表示用の枠(タイトル付)
    • タスクバー的な役割をもつもの
    • コンソールのプロンプト(これはLinuxのターミナルと同等のものを使用)
    • Alt+TABのような画面切り替え用の何か
  • 各種効果音
 

以下、個人的な意見。
各ウィンドウ内の図や表には全てに意味を持たせ、その表示は機能的に必要な範囲の、または多少かっこよく見せる程度のアニメーションや演出が好ましい。3Dが4Dで16回転のような無駄な演出は省くほうが良い。めちゃくちゃ大きな文字の「ERROR!」とだけ表示されたメッセージボックスなどは好ましくない。画面に表示された文字は見えないほど小さくても何か意味のある文字が良い。

特定のウィンドウ

アクセスログ画面(S4_C14)
Wiresharkをアレンジ

アクセスログ画面は上下分割の2ペイン。
上側はアクセスログorパケット情報がリアルタイムで流れるリスト
下側は選択した情報の詳細(送信元・あて先・内容など)

  • 小窓類
    • ルート(ルーター・端末間のマップ)追跡の図
    • アクセス統計
       

データベース操作画面(S4_C14)
MySQL Query Browserをアレンジ

  • 小窓類
    • ユーザー情報(レコード表示)画面
       

タスクマネージャ的な何か(S4_C14)

 

ランチャー画面(スタートメニュー的)(S8_C6)

 

その他

S4_C14   ・タスクマネージャ的な何か?
S8_C6  なんかのシステムを起動している
S8_C7  システムの起動が完了したことを示す何か
S10_C4  何かのエラー表示(黒井の左モニタは、エラー表示専用か?)
S10_C5 このカットでは白くぼんやり何か映ってる状態だから設定の必要なし
S10_C7,C9  スタッフBの画面、アイドリング→例のシステムを起動
S10_C10  例のシステムを起動する画面
S12_C12  黒井が何かプログラミングしている画面
S12_C15  武器転送完了メッセージ画面

その他のUI

ニコ(デジタル空間)のUI

デジタル空間そのものがニコ用のインターフェースである。

そこに登場するコンソールなどのUIも、基本的にニコの想像の産物なので、自由。
ただし統一が取れている必要がある。

湯沢専用UI(中枢:キーボード)

黒井が咄嗟に作ったプログラムなので、UI自体はかなりしょぼい。(「コメントを入力」だけとか)
またはCUIプログラム。中枢部で動いているOSなので、ウィンドウ枠などは管理室のUIに準拠。

湯沢の家のPC

これはWindowsそのもので良いと思われる。
IEなどそのまま使って、スクリーンキャプチャすればよいのでは?