SIM用データベース 
- v1.0.0 ではデータベースとしてPlaneファイル,Berkeley DBが使用できます.
- sl_info を -fdb オプション付きで起動した場合,Berkelry DB が使用されます.デフォルトは Plane ファイル
- デフォルトの Plane ファイルでも十分スピードが出ます.
- Berkeley DB を使用するには,sl_proxy, TUIS_Lib の configure で --enable-db オプションを指定する必要があります.
DBに保存されるSIMのデータは
- SIM名(最大31文字まで) 32Byte
- SIMのGUID 40Byte
- SIMのリージョンハンドラ. 8Byte
- SIMのIPアドレス.バイナリ4Byte
- SIMのアクセス属性 2Byte
- 保存されているデータの状態 2Byte
- SIMのポジション(X座標) 4Byte
- SIMのポジション(Y座標) 4Byte
- 更新時間 (Linuxタイム) 4Byte
Plane ファイル 
SIMデータベースでは,SIM名とリージョンハンドラを検索キーとするために,2種類のデータベースを作成します.実はこれらのデータベースはファイル名(キー)が違うだけで中身は同じです.
リージョンハンドラがキー(ファイル名)の場合 
作業ディレクトリ Temp_File_Dir に info/sim_handle というディレクトリを作成し,そのディレクトリ内に 000, 001, ...., 254, 255 というサブディレクトリを作成します.
これらのサブディレクトリをSIMのX座標の256に対する剰余として,SIMデータを分類し,保存します.
保存時のファイル名はSIMの X座標(6桁)-Y座標(6桁) となります.リージョンハンドラの分類にSIMの座標を使用するのは,リージョンハンドラがSIMの座標データから作成されているからです.
例: /var/sl_proxy/info/sim_handle/243/001011-000987
SIM名がキー(ファイル名)の場合 
作業ディレクトリ Temp_File_Dir に info/sim_name というディレクトリを作成し,そのディレクトリ内に @, A, B,...., Y, Z というサブディレクトリを作成します.
これらのサブディレクトリをSIM名の頭文字としてSIMデータを分類し,保存します.@ はアルファベット以外の頭文字のSIMの分類に使用します
保存時のファイル名はSIM名そのものとなります.
例: /var/sl_proxy/info/sim_name/T/TUIS
Berkeley DB 
作業ディレクトリ Temp_File_Dir に info というディレクトリを作成します.ここにリージョンハンドラをキーとするデータベース sim_info_handle.dbと SIM名をキーとする sim_info.db を作成します.
例)
/var/sl_proxy/info/sim_info.db
/var/sl_proxy/info/sim_info_handle.db