Mercurial > hg > Papers > 2015 > tatsuki-thresis
changeset 26:ad8c43e3d937
fix
author | tatsuki |
---|---|
date | Thu, 19 Feb 2015 09:10:25 +0900 |
parents | 454413db1bfd |
children | 712fed2f1e9d |
files | fig/sosikiTree.graffle slide/images/TreePersonJungle.png slide/images/sosikiTree.png slide/slide.html 卒論.mm |
diffstat | 5 files changed, 398 insertions(+), 98 deletions(-) [+] |
line wrap: on
line diff
--- a/fig/sosikiTree.graffle Thu Feb 19 04:16:12 2015 +0900 +++ b/fig/sosikiTree.graffle Thu Feb 19 09:10:25 2015 +0900 @@ -52,6 +52,223 @@ <key>GraphicsList</key> <array> <dict> + <key>Bounds</key> + <string>{{351, 339.2940673828125}, {92, 46}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>Vertical</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W3</string> + <key>Size</key> + <real>24</real> + </dict> + <key>ID</key> + <integer>96</integer> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.974573</string> + <key>g</key> + <string>0.998064</string> + <key>r</key> + <string>1</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.75</string> + <key>b</key> + <string>0.94523</string> + <key>g</key> + <string>0.987116</string> + <key>r</key> + <string>1</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs48 \cf0 \'90\'6c\'95\'a8}</string> + </dict> + <key>TextRelativeArea</key> + <string>{{0, 0}, {1, 1}}</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{142.5, 339.29397583007812}, {58, 46}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W3</string> + <key>Size</key> + <real>24</real> + </dict> + <key>ID</key> + <integer>95</integer> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.974573</string> + <key>g</key> + <string>0.998064</string> + <key>r</key> + <string>1</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.75</string> + <key>b</key> + <string>0.94523</string> + <key>g</key> + <string>0.987116</string> + <key>r</key> + <string>1</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs48 \cf0 \'91\'67\'90\'44}</string> + </dict> + <key>TextRelativeArea</key> + <string>{{0, 0}, {1, 1}}</string> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> + <key>Bounds</key> + <string>{{206, 109.69122314453125}, {177, 46}}</string> + <key>Class</key> + <string>ShapedGraphic</string> + <key>FitText</key> + <string>YES</string> + <key>Flow</key> + <string>Resize</string> + <key>FontInfo</key> + <dict> + <key>Font</key> + <string>HiraKakuProN-W3</string> + <key>Size</key> + <real>24</real> + </dict> + <key>ID</key> + <integer>93</integer> + <key>Shape</key> + <string>Circle</string> + <key>Style</key> + <dict> + <key>fill</key> + <dict> + <key>Color</key> + <dict> + <key>b</key> + <string>0.974573</string> + <key>g</key> + <string>0.998064</string> + <key>r</key> + <string>1</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>shadow</key> + <dict> + <key>Color</key> + <dict> + <key>a</key> + <string>0.75</string> + <key>b</key> + <string>0.94523</string> + <key>g</key> + <string>0.987116</string> + <key>r</key> + <string>1</string> + </dict> + <key>Draws</key> + <string>NO</string> + </dict> + <key>stroke</key> + <dict> + <key>Draws</key> + <string>NO</string> + </dict> + </dict> + <key>Text</key> + <dict> + <key>Text</key> + <string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140 +\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} +{\colortbl;\red255\green255\blue255;} +\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc + +\f0\fs48 \cf0 \'91\'67\'90\'44\'89\'5e\'97\'70\'83\'82\'83\'66\'83\'8b}</string> + </dict> + <key>TextRelativeArea</key> + <string>{{0, 0}, {1, 1}}</string> + <key>Wrap</key> + <string>NO</string> + </dict> + <dict> <key>AllowLabelDrop</key> <false/> <key>Class</key> @@ -65,8 +282,8 @@ <integer>92</integer> <key>Points</key> <array> - <string>{232.10952452165807, 157.11673501303437}</string> - <string>{135.14533693119637, 227.21317166781122}</string> + <string>{287.09929082216718, 184.38243113710641}</string> + <string>{160.36539651533562, 279.58803913090776}</string> </array> <key>Style</key> <dict> @@ -104,8 +321,8 @@ <integer>91</integer> <key>Points</key> <array> - <string>{232.10952452165807, 157.11673501303437}</string> - <string>{312.85466306880357, 227.21322397914486}</string> + <string>{287.09929082216718, 184.38243113710641}</string> + <string>{392.63460348466424, 279.58811018062954}</string> </array> <key>Style</key> <dict> @@ -131,7 +348,7 @@ </dict> <dict> <key>Bounds</key> - <string>{{230.70932613760721, 227.21322397914489}, {164.29067386239274, 121.78677602085516}}</string> + <string>{{285.26920696932865, 279.58811018062954}, {214.73079303067118, 165.41188981937034}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FontInfo</key> @@ -162,20 +379,13 @@ </dict> <key>Text</key> <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'90\'6c\'95\'a8}</string> <key>VerticalPad</key> <integer>0</integer> </dict> </dict> <dict> <key>Bounds</key> - <string>{{53, 227.21317166781122}, {164.29067386239274, 121.78677602085516}}</string> + <string>{{53.000000000000028, 279.58803913090776}, {214.73079303067118, 165.41188981937034}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FontInfo</key> @@ -206,20 +416,13 @@ </dict> <key>Text</key> <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'91\'67\'90\'44}</string> <key>VerticalPad</key> <integer>0</integer> </dict> </dict> <dict> <key>Bounds</key> - <string>{{149.96418759046171, 80.999999999999943}, {164.29067386239274, 76.116735013034443}}</string> + <string>{{179.73389430683159, 80.999999999999972}, {214.73079303067118, 103.38243113710645}}</string> <key>Class</key> <string>ShapedGraphic</string> <key>FontInfo</key> @@ -250,13 +453,6 @@ </dict> <key>Text</key> <dict> - <key>Text</key> - <string>{\rtf1\ansi\ansicpg932\cocoartf1343\cocoasubrtf140 -\cocoascreenfonts1{\fonttbl\f0\fnil\fcharset128 HiraKakuProN-W3;} -{\colortbl;\red255\green255\blue255;} -\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\pardirnatural\qc - -\f0\fs24 \cf0 \'91\'67\'90\'44\'89\'5e\'97\'70\'83\'82\'83\'66\'83\'8b}</string> <key>VerticalPad</key> <integer>0</integer> </dict> @@ -309,7 +505,7 @@ <key>MasterSheets</key> <array/> <key>ModificationDate</key> - <string>2015-02-18 19:06:49 +0000</string> + <string>2015-02-18 23:25:55 +0000</string> <key>Modifier</key> <string>sister_clown</string> <key>NotesVisible</key>
--- a/slide/slide.html Thu Feb 19 04:16:12 2015 +0900 +++ b/slide/slide.html Thu Feb 19 09:10:25 2015 +0900 @@ -86,7 +86,7 @@ } ); </script> -</head> +</head> <body> <div class="presentation"> @@ -98,29 +98,45 @@ </div> <div> +<font size=5> <h1>知的構造を格納するためのデータベース</h1> -<p>我々が扱っている知識は木構造であることが多い</p> -<p>RDBに木構造のデータを格納する際は表変換を行う必要があり、データ構造が煩雑になりやすい</p> -<p>分散木構造データベースJungleの開発を行っている</p> +<p>我々が扱っている知識は木構造であることが多い。</p> +<p>RDBに木構造のデータを格納する際は表変換を行う必要があり、データ構造が煩雑になりやすい。</p> +<p>木構造のデータを直接格納できるデータベースJungleの開発を行っている。</p> <p>Jungle上に組織の許認可管理アプリケーションmaTrixを実装する。</p> -<p>データベースの表現力、機能の十分性、実用的な性能実証実験を行う</p> +<p>データベースの表現力、機能の十分性、実用的な性能実証実験を行う。</p> +</font> </div> <div> -<h1>分散木構造データベースJungle</h1> -<p>新しい木構造を作成することでデータの編集を行う</p> -<p style="text-align:center;"> -<img src="./images/non_destructive_tree_edit2.png"> -<p>ロックをかける必要があるのはルートノードを入れ替えるときのみ</p> - +<font size=5> +<h1>Jungleのデータ構造</h1> +<p>JungleのTreeはNodeの集合で表現されている。</p> +<img src="./images/node.png"> +<p>Nodeは自身の子どもと、属性名と属性値の組でデータを保持しています。</p> +<p>一般的なDBと比べると、NodeがCOLUMN、TreeがTABLEに相当します。</p> +</font> </div> <div> +<font size=5> +<h1>Jungleのデータの編集</h1> +<p>新しい木構造を作成することでデータの編集を行う。</p> +<img src="./images/non_destructive_tree_edit2.png"> +<p>書き込み時に、ロックをかける必要があるのはルートノードを入れ替えるときのみ。</p> +<p>データの上書きが無いため、読み込み中にロックをかける必要がない。</p> +</font> +</div> + + + +<div> +<font size=5> <h1>組織の中の許認可管理アプリケーションmaTrix</h1> -<p>人、組織、役割等の情報を木構造として保持しており、Idでお互いに参照し組織構造を表現している</p> -<p>許認可の判断は、ポリシーファイルに記述されたルールにそって行われる</p> -<p>ポリシーファイルは組織構造を参照するため木に対する参照機能が必要になる</p> +<p>人、組織、役割等の情報を木構造として保持しており、Idでお互いに参照し組織構造を表現している。</p> +<p>許認可の判断は、アクセスルールが記述されたポリシーファイルにそって行われる。</p> +</font> </div> @@ -164,105 +180,146 @@ --> <div> +<font size=5> <h1>Jungle上でのmaTrixのデータ構造の表現</h1> -<p>以下のXMLは、maTrixの人物Treeの一部である。</p> - <p style="text-align:center;"><img src="./images/TreePersonJungle.png"> +<p>この図は、maTrixの人物Treeの一部をJungleに格納したものである。</p> +<img src="./images/TreePersonJungle.png"> <p>この様にJungleでは木構造のデータを読み込む。</p> +</font> </div> <div> -<h1>maTrixでの許認可管理</h1> -<p>maTrixを用いた許認可は、組織構造だけでは判断されない</p> -<p>アクセス可能な時間等のアクセスルールは組織構造では表現できないからである。</p> -<p>そこでアクセスルールを定義できるXACML形式で記述したポリシーファイルを用いて許認可管理を行う</p> -<p>XACMLは、subject(誰が)、Resource(何を)、Action(どうするか)を記述する。</p> - -<p>以下に許認可管理の流れを示す</p> -<ul> -<li>Aさんが、学科のノートPCの借りるために、maTrixに貸出許可を求める。</li> -<li>maTrix はリポジトリから、貸出許可を与えるかを判断するためのポリシーを取得する。</li> -<li>ポリシーファイルを元に、データにアクセスを行い許可を与えるかどうかを判断する。</li> -</ul> - +<font size=5> +<h1>maTrixの組織構造表現例</h1> +<p>maTrixの組織構造は純粋な木構造ではない</p> +<p>Idを用いて木同士が相互参照を行うことで組織構造を表現している。</p> +<img src="./images/sosikiTree.png"> +<p>この図だと、人物Treeと組織Treeがお互い参照を行い組織運用モデルを表現している。</p> +</font> </div> <div> -<h1>maTrixの組織構造表現例</h1> -<p>木同士の参照はIdの検索を用いて表現する</p> -<p style="text-align:center;"> -<img src="./images/sosikiTree.png"> -<p>例えば人物Treeと組織Treeがお互い参照を行い組織運用モデルを表現している。</p> +<font size=5> +<h1>maTrixでの許認可管理</h1> +<p>maTrixを用いた許認可は、組織構造だけでは判断されない。</p> +<p>アクセス可能な時間等のルールは組織構造では表現できないからである。</p> +<p>リソース管理を allow deny </p> +<p>そこでアクセスルールを記述したポリシーファイルを用いて許認可管理を行う。</p> +<p>ポリシーファイルには、subject(誰が)、Resource(何に対して)、Action(何が出来るか)を記述する。</p> +<p>以下に許認可管理の流れを示す</p> +<ul> +<li>Aさん(Subject)が、学科のノートPC(Resource)の借りる(Action)ために、maTrixに貸出許可を求める。</li> +<li>maTrixはリポジトリから、貸出許可を与えるかを判断するためのポリシーを取得する。</li> +<li>ポリシーファイルを元に、組織構造にアクセスを行い許可を与えるかどうかを判断する。</li> +</ul> +</font> </div> + <div> -<h1>Idを使った木の相互参照</h1> -<p>Treeの検索は、Traverserを使用する</p> +<font size=5> +<h1>Jungle上でのIdを使った木の相互参照</h1> +<p>Treeの検索は、Jungleが提供しているTraverserを使用する。</p> <div style="padding: 10px; margin-bottom: 10px; border: 1px solid #333333;"> InterfaceTraverser traverser = tree.getTraverser(boolean useIndex); </div> +<p>TraverserはTreeのNodeを走破するクラスです。</p> <p>TreeからgetTraverserで取得可能。</p> <p>第一引数で 検索を行う際にIndexを使用するかどうかを選択できる。</p> - +</font> </div> <div> +<font size=5> <h1>Idを使った木の相互参照2 </h1> <p>Traverser.findでTreeに対して検索を行う。</p> <div style="padding: 10px; margin-bottom: 10px; border: 1px solid #333333;"> - public Iterator<TreeNode> find(Query query,String key, String searchValue); + public Iterator<TreeNode> nodeIterator = traverser.find(Query query,String key, String searchValue); </div> -find関数は引数にQuery、String key、String valueの3つの引数を取り、条件に一致したNodeのIteratorを返す。 -第一引数には、探索の条件を記述する関数boolean comdition(TreeNode)を定義したQueryを。 -第二、第三引数の、String key、String valueはIndexの取得を行うために使用する。 - +<p>第一引数には、探索の条件を記述する関数boolean condition(TreeNode)を定義したQueryを受け取る。</p> +<p>第二、第三引数の、String key、String valueはIndexの取得に使用する。</p> +<p>条件に一致したNodeのIteratorを返す。</p> <div style="padding: 10px; margin-bottom: 10px; border: 1px solid #333333;"> public interface Query {<br>   boolean condition(TreeNode _node);<br> } </div> +</font> </div> <div> +<font size=5> <h1>JungleのIndex</h1> <p>Jungleは過去のTreeを全て保持しているため、Treeのversion毎にIndexを持っている必要がある。</p> -<p>FunctionalJavaのTreeMapを使用してIndexの実装を行った</p> -<p>データの更新が行われた際に、一度作られたIndexに対して更新を行わず、新しいIndexを構築する。</p> -<p>その際、過去のIndexを最大限共有している。</p> +<p>version毎にIndexを作るとメモリを多量消費してしまう。</p> +<p>FunctionalJavaのTreeMapを使用してIndexの実装を行った。</p> +<p>データの更新が行われた際に、一度作られたIndexに対して更新を行わず、新しいIndexを構築します。</p> +<p>その際、過去のIndexとデータを共有している。</p> +<p>複数のversionのIndexがあっても、データの差分しかメモリは消費されない。</p> <p>メモリの使用量を抑えつつ複数のversionでIndexを保持できる。</p> +</font> +</div> + + +<div> +<font size=5> +<h1>木構造の親を辿るQuery</h1> +<p>maTrixで許認可を判断する際に、木構造の親を辿る検索を行う必要がある。</p> +<p>以下に親を辿る検索を行う例を記す。</p> +<ol> +<li>Aさんが、maTrixに工学部の学生にのみ貸出を行っている書籍の貸出許可を求める。</li> +<li>Aさんの所属している組織の情報を取得する(情報工学科)。</li> +<li>情報工学科の親の情報を取得する(工学部)。</li> +<li>Aさんは工学部に所属しているため本の貸出を許可する。</li> +</ol> +<p>TreeNodeでgetを行うと、親Nodeを返すParentIndexを実装した。</p> +<p>3番目の処理でParentIndexを使用する。</p> +</font> </div> <div> -<h1>木構造の親を辿るQuery</h1> -<p>maTrixで許認可を判断する際に、木構造の親を辿って検索を行う必要がある。</p> -<p>以下に親を辿る検索を行う例を記す。</p> -<ul> -<li>Aさんが、maTrixに工学部の学生にのみ貸出を行っている書籍の貸出許可を求める。</li> -<li>Aさんの所属している組織の情報を取得する(情報工学科)。</li> -<li>情報工学科の親の情報を取得する(工学部)。</li> -<li>Aさんは工学部に所属しているため本の貸出を許可する。</li> -</ul> -<p>TreeNodeでgetを行うと、親Nodeを返すParentIndexを実装した。</p> -<p>3番目の処理でParentIndexを使用する。</p> +<font size=5> +<h1>maTrixのポリシーファイルのInterpreter</h1> +<p>Jungle上での許認可判断は、組織構造とポリシーファイルを参照して行う。</p> +<p>引数にポリシーファイルと、誰が(subject)、何に(Resource)、どうするか(Action)を取る。</p> +<p>返り値は、許可(Permit) or 拒否(Deny)がある。</p> +<p>実際にJungleの上で許認可判断が行えるようになった。</p> +</font> +</div> + +<div> +<font size=5> +<h1>maTrixのポリシーファイルのInterpreter</h1> +<p>Jungle上での許認可判断は、組織構造とポリシーファイルを参照して行う。</p> +<p>引数にポリシーファイルと、誰が(subject)、何に(Resource)、どうするか(Action)を取る。</p> +<p>返り値は、許可(Permit) or 拒否(Deny)がある。</p> +<p>実際にJungleの上で許認可判断が行えるようになった。</p> +</font> +</div> + +<div> +<font size=5> +<h1>今後の課題</h1> +<li>分散版の実装</li><br> +<li>maTrix専用のデータ構造の定義</li> +<p>今は、maTrixのデータ構造をそのまま格納しているため、Jungleに合ったデータ構造を設計する。</p> +</font> </div> <div> -<h1>XACMLInterpreter</h1> -<p>Jungle上での許認可判断は、組織構造の参照とポリシーファイルを使用して許認可判断を行う。</p> -<p>引数にポリシーファイルと、誰が(subject)、何に(Resource)、どうするか(Action)を引数に取る。</p> -<p>返り値は許可(Permit) or 拒否(Deny)が返ってくる</p> -<p>実際にJungleの上で許認可判断が行えるようになった</p> -</div> - -<div> -<h1>今後の課題</h1> -<li>分散板の実装</li><br> -<li>maTrix専用のデータ構造の定義</li> -<p>今は、maTrixのデータ構造をそのまま格納しているため、Jungleに合ったデータ構造を設計する。</p> +<font size=5> +<h1>まとめ</h1> +<p>Jungle上で実用アプリケーションを構築できた。</p> +<p>その際に必要だった機能をJungleに追加した。</p> +<li>Query</li> +<li>Index</li> +<p>実際にポリシーファイルを読み込み許認可を行えた。</p> +</font> </div> </div> <!-- presentation -->
--- a/卒論.mm Thu Feb 19 04:16:12 2015 +0900 +++ b/卒論.mm Thu Feb 19 09:10:25 2015 +0900 @@ -1,6 +1,6 @@ <map version="1.0.1"> <!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net --> -<node CREATED="1422784006367" ID="ID_1256000182" MODIFIED="1423561088909" TEXT="Jungle"> +<node CREATED="1422784006367" ID="ID_1256000182" MODIFIED="1424226934459" TEXT="Jungle"> <node CREATED="1423126656828" FOLDED="true" ID="ID_156901638" MODIFIED="1423593770117" POSITION="left" TEXT="ダメな目次"> <node CREATED="1422784013859" ID="ID_222788844" MODIFIED="1422784018963" TEXT="第一章"> <node CREATED="1422784019237" ID="ID_938027439" MODIFIED="1423565288081" TEXT="知識構造とは?"> @@ -305,5 +305,52 @@ </node> </node> </node> +<node CREATED="1424226934814" HGAP="44" ID="ID_1781911212" MODIFIED="1424247861368" POSITION="left" TEXT="発表資料" VSHIFT="46"> +<node CREATED="1424226939210" ID="ID_1141121898" MODIFIED="1424226944999" TEXT="研究目的"> +<node CREATED="1424227481197" ID="ID_1346410752" MODIFIED="1424227488608" TEXT="世の中の知識は木構造"> +<node CREATED="1424227489265" ID="ID_340371209" MODIFIED="1424227494152" TEXT="RDBに入れるのは大変"> +<node CREATED="1424227498993" ID="ID_1494102019" MODIFIED="1424227507016" TEXT="表構造に変換する必要がある"/> +</node> +<node CREATED="1424227512182" ID="ID_1539201643" MODIFIED="1424227518728" TEXT="もっと簡単に格納したい"> +<node CREATED="1424227521135" ID="ID_1848106001" MODIFIED="1424227524143" TEXT="そこでJngle"/> +</node> +</node> +<node CREATED="1424227532380" ID="ID_1502200520" MODIFIED="1424227537432" TEXT="スケーラビリティー大事"> +<node CREATED="1424227538009" ID="ID_38061849" MODIFIED="1424227549144" TEXT="でもRDBはデータの分散が難しい"> +<node CREATED="1424227549449" ID="ID_665584741" MODIFIED="1424227554344" TEXT="分断耐性がないから"/> +</node> +<node CREATED="1424227560598" ID="ID_360654968" MODIFIED="1424227576128" TEXT="Jungleは整合性は木ごとに閉じているからCAP定理を回避している"/> +<node CREATED="1424247867470" ID="ID_1821651487" MODIFIED="1424247875128" TEXT="今回の研究ではやってない"/> +</node> +</node> +<node CREATED="1424226945368" ID="ID_299509291" MODIFIED="1424226948992" TEXT="maTrixの説明"> +<node CREATED="1424226976333" ID="ID_756988671" MODIFIED="1424226981536" TEXT="組織構造"> +<node CREATED="1424227783749" ID="ID_1710209298" MODIFIED="1424227798223" TEXT="各Treeは参照しあってモデルを構築している"/> +<node CREATED="1424247878089" ID="ID_309587323" MODIFIED="1424247883856" TEXT="バージョン管理"/> +</node> +<node CREATED="1424227352160" ID="ID_396318361" MODIFIED="1424227358136" TEXT="Jungle上でどう表現するか"/> +<node CREATED="1424226982909" ID="ID_1588599870" MODIFIED="1424226988344" TEXT="許認可の話"> +<node CREATED="1424226988793" ID="ID_766076321" MODIFIED="1424226994760" TEXT="XACMLはちょっとだけ"/> +<node CREATED="1424226995490" ID="ID_1209865933" MODIFIED="1424227005856" TEXT="条件をつけれるとか"/> +</node> +<node CREATED="1424227372005" ID="ID_27173609" MODIFIED="1424227381088" TEXT="Jungle上でどう許認可をするか"> +<node CREATED="1424227381633" ID="ID_1000434515" MODIFIED="1424227388296" TEXT="Jungleはデータしか提供しない"/> +<node CREATED="1424227388694" ID="ID_135410658" MODIFIED="1424227407600" TEXT="Conditionとかは関与しない"/> +</node> +</node> +<node CREATED="1424226950160" ID="ID_1825539758" MODIFIED="1424226964375" TEXT="新しく実装したAPI"> +<node CREATED="1424227416489" ID="ID_1806996440" MODIFIED="1424227418391" TEXT="検索"/> +<node CREATED="1424227419287" ID="ID_1957714622" MODIFIED="1424227420959" TEXT="Index"/> +<node CREATED="1424227421365" ID="ID_374035986" MODIFIED="1424227434672" TEXT="過去のTreeに対するアクセス"/> +</node> +<node CREATED="1424226965598" ID="ID_1081047053" MODIFIED="1424226972096" TEXT="測定結果"> +<node CREATED="1424227436773" ID="ID_1144020457" MODIFIED="1424227442136" TEXT="関数の実行結果しか無い"/> +</node> +<node CREATED="1424226972542" ID="ID_1184630565" MODIFIED="1424226974567" TEXT="まとめ"> +<node CREATED="1424227454697" ID="ID_597049999" MODIFIED="1424227464392" TEXT="Jungle上で許認可アプリケーションを構築できた"> +<node CREATED="1424227466921" ID="ID_379082733" MODIFIED="1424227477616" TEXT="ここを推す論文"/> +</node> +</node> +</node> </node> </map>