flagflag  
Page Top

情報サーバの動作 anchor.png

Page Top

情報収集サーバ anchor.png

 情報サーバ(sl_info)は,起動すると最初に情報収集サーバと呼ばれるプロセスを1個だけforkします.これは sl_cacheのキャッシュPUTサーバと同じ考え方です.
 情報収集サーバはキャッシュPUTサーバと同様にSIMの情報をDBへ保存します.情報収集サーバにSIMの情報を集約しするのは2つの理由からです.

  1. データ保存時のファイルロックの問題を避けるため(書き込むプロセスが1個だけならファイルロックの問題は生じない).
  2. 情報収集サーバへ接続できるのは localhost のみとし,これによりある程度のセキュリティを確保する.

 DBに保存されるSIMのデータは

  • SIM名(最大31文字まで)
  • SIMの GUID 40Byte
  • SIMのリージョンハンドル. 8Byte
  • SIMのIPアドレス.バイナリ4Byte
  • SIMのアクセス属性 2Byte
  • 保存されているデータの状態 2Byte
  • SIMのポジション(X座標)
  • SIMのポジション(Y座標)
  • 更新時間 (Linuxタイム)

 送られて来るSIMの情報は,現在のところ,Viewer(アバター)がハンドシェイクしたSIMの情報のみです.従って,ホワイトフィルタの制限がかかっている状態のアバターからは新しいSIMの情報が送られてくることはありません.
 なぜならば,ホワイトリストの制限がかかっている状態とは,以下のような状態のことだからです.

  • アバターが訪れることのできるSIMはデータベースにデータが存在し,かつそのSIMがホワイトリストにより許可されている場合だけである.
  • 訪れることのできないSIMは,ハンドシェイクができないということなので,それらの情報を得ることはできない.

 新しいSIMの情報を集める場合は,ホワイトリストの制限のかかっていないアバターを使用しなけばなりません.なお,sl_relayでの収集自体は特別な操作を行うことはありません.訪れたことのないSIMの辺りをアバターが飛び回っているだけで,自動的に情報が情報収集サーバに送られます.

 情報収集サーバはSIM情報の他に,sl_relayを利用しているユーザ(アバター)の情報も収集します(ただしDBには保存されません).
 収集するアバター情報は以下の通りです.

  • アバターの名前
  • アバターのエージェントID
  • ViewerのIPアドレス
  • アバターが現在いる SIMの名前
  • 情報の更新時間 (Linux時間)

 「アバターが現在いるSIMの名前」については,データベース上にそのSIMのデータがないと情報を得ることはできません.

 sl_info を -l オプションで起動した場合,収集したアバタの情報は指定されたログファイルに保存されます.
 デフォルトは /var/sl_proxy/sl_info_agent.log です.

Page Top

sl_relay とのネゴシエーション anchor.png

 リレーサーバ(sl_relay) は -is のオプション付で起動された場合,Secod Lifeへのログイン処理の途中で情報サーバ(sl_info)に接続をしてきます.sl_relayから接続を受けた情報サーバはコントロール用プロセスをforkします.forkされたコントロール用プロセスはsl_relayとネゴシエーションを行い,それぞれの使用ポート番号や接続用のパスワードを交換します.
 従って情報サーバのコントロールプロセスはsl_relayを利用するアバター毎に起動されます.

 情報サーバのコントロールプロセスはその後,情報収集サーバへ情報を転送する中継プロセスを forkします.このプロセスは sl_relayからのアバターとSIMの情報データを受信し,情報収集サーバへそのまま転送します.

 コントロールプロセスはその後ループに入り,情報提供サーバとして,(UDP/HTTPS)中継コントローラーからのリクエストを待ちます.

Page Top

情報提供サーバ anchor.png

 情報サーバのコントロールプロセスは,情報収集サーバへ情報を転送する中継プロセスをforkした後,情報提供サーバとして作動します.
 情報提供サーバは以下の情報を提供することができます.現バージョンのsl_relayでは専らホワイトリストの検索に使用します.

  1. リージョンハンドルに対応したSIMの名前
  2. SIM名によるホワイトリストの検索(ホワイトリストに該当SIMが含まれているかどうか)
  3. リージョンハンドルによるホワイトリストの検索(ホワイトリストに該当SIMが含まれているかどうか)
Page Top

リレーサーバの動作 anchor.png

Page Top

情報サーバとのネゴシエーション anchor.png

 リレーサーバ(sl_relay) は -is のオプション付で起動された場合,Secod Lifeへのログイン処理の途中で情報サーバ(sl_cache)にTCP接続を行います.その後 fork情報サーバのコントロールプロセスとネゴシエーションを行い,それぞれの使用ポート番号や接続用のパスワードを交換します.

 sl_relayはログイン処理中にアバターの情報を収集し,情報収集サーバへの中継プロセスに情報を送信します.

Page Top

情報収集サーバへのデータ転送 anchor.png

 sl_relayでは,各中継プロセスが得たSIM及びアバターに関する情報を一旦中継コントローラに集め,中継コントローラがまとめて情報収集サーバへの中継プロセスへデータを転送します.

Page Top

情報提供サーバへの接続 anchor.png

 現バージョンでは,sl_relayは sl_info のWhite Listの検索機能しか使用していません.

 ホワイトリストに関する連携については sl_infoの ホワイトリストフィルター を参照してください.


Front page   Freeze Diff Backup Copy Rename Reload   New List of Pages Search Recent changes   Help   RSS of recent changes (RSS 1.0) RSS of recent changes (RSS 2.0) RSS of recent changes (RSS Atom)
Counter: 2112, today: 1, yesterday: 1
Last-modified: 2008-12-21 (Sun) 03:29:18 (JST) (5612d) by iseki

Site Search

Login

Username:

Password:


Lost Password?
Register now!!

Sub Menu

mini Calendar

Last MonthMay 2024Next Month
Su Mo Tu We Th Fr Sa
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Today

Who's Online

105 user(s) are online (18 user(s) are browsing xpwiki)

Members: 0
Guests: 105

more...

Access Counter

Today : 9394939493949394
Yesterday : 1412914129141291412914129
Total : 2345500423455004234550042345500423455004234550042345500423455004
Powered by XOOPS Cube 2.1© 2001-2006 XOOPS Cube Project
Design by XoopsDesign.com