SlideShare a Scribd company logo
1 of 8
第5回 分散システム本読書会
名前付け / Naming 後半
@nishio_dens
2013/05/31	
   第5回 分散システム本読書会	
  
5.4 属性ベース名前付け
•  フラットな名前付け、構造化された名前付け	
  
–  多くの場合一つのエンティティを参照するために利用される	
  
	
  
•  属性ベース名前付けシステムの特徴	
  
–  エンティティを(属性,	
  値)	
  の組で記述する	
  
–  エンティティは探索に利用可能な属性セットを保持している
–  ユーザが興味のあるエンティティの属性を指定することで、	
  
エンティティを絞り込む	
  
–  ユーザの検索条件に一致した一つ以上のエンティティを返す	
  
名前付けシステム	
  
	
  
	
  
属性ベース名前付けシステムは	
  
ディレクトリサービスとも呼ばれる	
  
2013/05/31	
   第5回 分散システム本読書会	
   2	
  /	
  8	
  
5.4.2 階層化された実装: LDAP (1)
•  特徴	
  
–  構造化された名前付けと属性ベース名前付けを組み合わせている	
  
	
  
2013/05/31	
   第5回 分散システム本読書会	
   3	
  /	
  8	
  
5.4.2 階層化された実装 : LDAP (2)
•  LDAPの特徴	
  
–  基本的にはDNSのような名前付けサービスと同じ	
  
–  DNSと異なる点は、数多くの探索エペレーションをサポートしている	
  
•  探索の例	
  
–  Vrije	
  大学における、すべての主要なサーバのリストが欲しい	
  
•  探索条件	
  
–  Country	
  (C)	
  =	
  NL	
  
–  Organization	
  (O)	
  =	
  Vrije	
  Universiteit	
  
–  Organization	
  Unit	
  (OU)	
  =	
  *	
  
–  Common	
  Name	
  (CN)	
  =	
  Main	
  Server	
  
•  [Howes,	
  1997]	
  において定義されている表記法での記述	
  
–  Answer	
  =	
  search(“&(C=NL)(O	
  =	
  Vrije	
  Universiteit)(OU=*)	
  
(CN=Main	
  Server)”)	
  
2013/05/31	
   第5回 分散システム本読書会	
   4	
  /	
  8	
  
LDAPの課題: スケーラビリティ
•  大規模なディレクトリを対象とする場合	
  
–  ディレクトリ情報木(DIT)を分割し、複数サーバへ分割する	
  
–  検索条件によっては、一つの結果を得るために複数のノードに
アクセスする必要があり、スケーラビリティに問題がある	
  
•  Active	
  Directoryが行っている解決策	
  
–  最初に探索されるグローバルなインデックスサーバ(グローバル
カタログ)を配置している	
  
–  インデックスサーバに最初にアクセスし、どのLDAPドメインを
次に探索すればよいかを決定する	
  
※	
  Active	
  Directory	
  
•  Microsoftのディレクトリサービスシステム	
  
2013/05/31	
   第5回 分散システム本読書会	
   5	
  /	
  8	
  
5.4.3 非集中型の実装 (1)
•  P2Pシステムによる属性ベース名前付けシステムの実装	
  
–  スケーラビリティの問題を解決したい	
  
–  課題は、探索オペレーションが効率的に行われるように、	
  
(属性,	
  値)	
  の組を効率的にマッピングすること	
  
•  分散ハッシュテーブル(DHT)へのマッピング	
  
–  DHTを用いることで、特定のサーバ(インデックスサーバ等)を	
  
用いること無く探索が行える	
  
–  属性をDHTシステムで検索可能なキーの集合に変換する	
  
	
  
2013/05/31	
   第5回 分散システム本読書会	
   6	
  /	
  8	
  
5.4.3 分散ハッシュテーブルへのマッピング
•  各経路に対するハッシュの割当	
  
–  h1	
  :	
  hash(type-­‐book)	
  
–  h2:	
  hash(type-­‐book-­‐author)	
  
–  h3:	
  hash(type-­‐book-­‐author-­‐Tolkien)	
  
–  h4:	
  hash(type-­‐book-­‐title)	
  
–  h5:	
  hash(type-­‐book-­‐title-­‐LOTR)	
  
–  h6:	
  hash(genre-­‐fantasy)	
  
•  上記で割り当てられたハッシュに対応するノードが、リソースを	
  
保持している(6ノードが実際のデータを保持)	
  
•  探索の例	
  
2013/05/31	
   第5回 分散システム本読書会	
   7	
  /	
  8	
  
h1:	
  hash(type-­‐book)	
  
h2:	
  hash(type-­‐book-­‐author)	
  
h3:	
  hash(type-­‐book-­‐author-­‐Tolkien)	
  
h1,	
  h2,	
  h3	
  のhash値を持つノードにアクセスして、
データ取得
検索条件:	
  
	
  	
  	
  	
  Tolkien	
  によって	
  
	
  	
  	
  	
  書かれた書籍名を返せ	
  
5.4.4 セマンティックオーバーレイネットワーク
•  非構造化オーバーレイネットワークで効率的な探索を実現	
  
するには?	
  
–  ノードに、意味的に近い情報を持つ近隣ノードへのリンクを持たせる	
  
(クラスタリング?)	
  
–  情報を検索するときは、まずその情報を持っているであろうノード群に
問い合わせる	
  
•  意味的に近いノードのリストを構築するには?	
  
–  [Voulgaris	
  and	
  van	
  Steen,	
  2005]	
  では、単純なセマンティック近傍関数を
用いる手法が提案されている	
  
–  単に互いのノードが保持している共通のファイル数をカウントして、そ
の値を元に近傍ノードとするかどうかを判定している	
  
2013/05/31	
   第5回 分散システム本読書会	
   8	
  /	
  8	
  

More Related Content

What's hot

フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)NTT DATA Technology & Innovation
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Emma Haruka Iwao
 
Introduction to pig & pig latin
Introduction to pig & pig latinIntroduction to pig & pig latin
Introduction to pig & pig latinknowbigdata
 
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민XpressEngine
 
ネットワーク自動化の課題 - グラフデータベースによる解決
ネットワーク自動化の課題 - グラフデータベースによる解決ネットワーク自動化の課題 - グラフデータベースによる解決
ネットワーク自動化の課題 - グラフデータベースによる解決ApstraJapan
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介AdvancedTechNight
 
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜Hyperleger Tokyo Meetup
 
Active Directory をInternetから使用するための4つのシナリオ
Active Directory をInternetから使用するための4つのシナリオActive Directory をInternetから使用するための4つのシナリオ
Active Directory をInternetから使用するための4つのシナリオjunichi anno
 
Kafka Security 101 and Real-World Tips
Kafka Security 101 and Real-World Tips Kafka Security 101 and Real-World Tips
Kafka Security 101 and Real-World Tips confluent
 
マイクロサービスと Red Hat Integration
マイクロサービスと Red Hat Integrationマイクロサービスと Red Hat Integration
マイクロサービスと Red Hat IntegrationKenta Kosugi
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみましたShuntaro Saiba
 
Sql server パーティション 概要
Sql server パーティション 概要Sql server パーティション 概要
Sql server パーティション 概要Masayuki Ozawa
 
Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2...
Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2...Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2...
Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2...confluent
 
パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016Atsushi Odagiri
 
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)NTT DATA Technology & Innovation
 
パスワードのいらない世界へ
パスワードのいらない世界へパスワードのいらない世界へ
パスワードのいらない世界へKeiko Itakura
 

What's hot (20)

フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
 
Ceph アーキテクチャ概説
Ceph アーキテクチャ概説Ceph アーキテクチャ概説
Ceph アーキテクチャ概説
 
Introduction to pig & pig latin
Introduction to pig & pig latinIntroduction to pig & pig latin
Introduction to pig & pig latin
 
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
XECon+PHPFest2014 발표자료 - ElasticSearch를 이용한 통합검색 구축방법 - 김훈민
 
ネットワーク自動化の課題 - グラフデータベースによる解決
ネットワーク自動化の課題 - グラフデータベースによる解決ネットワーク自動化の課題 - グラフデータベースによる解決
ネットワーク自動化の課題 - グラフデータベースによる解決
 
単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介単なるキャッシュじゃないよ!?infinispanの紹介
単なるキャッシュじゃないよ!?infinispanの紹介
 
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
Hyperledger Fabric 簡単構築ツール minifabricのご紹介 〜productionへの移行をminifabricで加速〜
 
Active Directory をInternetから使用するための4つのシナリオ
Active Directory をInternetから使用するための4つのシナリオActive Directory をInternetから使用するための4つのシナリオ
Active Directory をInternetから使用するための4つのシナリオ
 
Kafka Security 101 and Real-World Tips
Kafka Security 101 and Real-World Tips Kafka Security 101 and Real-World Tips
Kafka Security 101 and Real-World Tips
 
いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理いまさら聞けないPostgreSQL運用管理
いまさら聞けないPostgreSQL運用管理
 
PostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もうPostgreSQLコミュニティに飛び込もう
PostgreSQLコミュニティに飛び込もう
 
マイクロサービスと Red Hat Integration
マイクロサービスと Red Hat Integrationマイクロサービスと Red Hat Integration
マイクロサービスと Red Hat Integration
 
kube-system落としてみました
kube-system落としてみましたkube-system落としてみました
kube-system落としてみました
 
Sql server パーティション 概要
Sql server パーティション 概要Sql server パーティション 概要
Sql server パーティション 概要
 
Fluent Bit
Fluent BitFluent Bit
Fluent Bit
 
Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2...
Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2...Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2...
Apache kafka meet_up_zurich_at_swissre_from_zero_to_hero_with_kafka_connect_2...
 
パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016パッケージングを支える技術 pyconjp2016
パッケージングを支える技術 pyconjp2016
 
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
 
FAPI 最新情報 - OpenID BizDay #15
FAPI 最新情報 - OpenID BizDay #15FAPI 最新情報 - OpenID BizDay #15
FAPI 最新情報 - OpenID BizDay #15
 
パスワードのいらない世界へ
パスワードのいらない世界へパスワードのいらない世界へ
パスワードのいらない世界へ
 

Viewers also liked

ChordアルゴリズムによるDHT入門
ChordアルゴリズムによるDHT入門ChordアルゴリズムによるDHT入門
ChordアルゴリズムによるDHT入門Hiroya Nagao
 
Introduction to DHT with Chord
Introduction to DHT with ChordIntroduction to DHT with Chord
Introduction to DHT with ChordHiroya Nagao
 
Photo album latest slideshow1
Photo album latest slideshow1Photo album latest slideshow1
Photo album latest slideshow1hussain56
 
Early national literature
Early national literatureEarly national literature
Early national literaturems_faris
 
Centro de desarrollo_infantil_kamelot_original
Centro de desarrollo_infantil_kamelot_originalCentro de desarrollo_infantil_kamelot_original
Centro de desarrollo_infantil_kamelot_originalfermontalvo
 
10G Verhagen deel 1.1
10G Verhagen deel 1.110G Verhagen deel 1.1
10G Verhagen deel 1.1Dewiix3x3
 
дорога к храму
дорога к храмудорога к храму
дорога к храмуSHTERN850715
 
Internal CSR communication sucks
Internal CSR communication sucksInternal CSR communication sucks
Internal CSR communication sucksWayne Dunn
 
Τα δημογραφικά δεδομένα του μεταεπαναστατικού Ελληνικού Πολεμικού Ναυτικού πα...
Τα δημογραφικά δεδομένα του μεταεπαναστατικού Ελληνικού Πολεμικού Ναυτικού πα...Τα δημογραφικά δεδομένα του μεταεπαναστατικού Ελληνικού Πολεμικού Ναυτικού πα...
Τα δημογραφικά δεδομένα του μεταεπαναστατικού Ελληνικού Πολεμικού Ναυτικού πα...leonvit2005
 
Presentazione Per Delegazione Metro Quing Dao
Presentazione Per Delegazione Metro Quing DaoPresentazione Per Delegazione Metro Quing Dao
Presentazione Per Delegazione Metro Quing Daogifanta
 
Our GBU bioepistemological educational project (BEEMP)
Our GBU bioepistemological educational project (BEEMP)Our GBU bioepistemological educational project (BEEMP)
Our GBU bioepistemological educational project (BEEMP)gbgupresentations
 

Viewers also liked (20)

ChordアルゴリズムによるDHT入門
ChordアルゴリズムによるDHT入門ChordアルゴリズムによるDHT入門
ChordアルゴリズムによるDHT入門
 
Introduction to DHT with Chord
Introduction to DHT with ChordIntroduction to DHT with Chord
Introduction to DHT with Chord
 
Getting into things
Getting into thingsGetting into things
Getting into things
 
Photo album latest slideshow1
Photo album latest slideshow1Photo album latest slideshow1
Photo album latest slideshow1
 
Early national literature
Early national literatureEarly national literature
Early national literature
 
Nltrv55
Nltrv55Nltrv55
Nltrv55
 
Centro de desarrollo_infantil_kamelot_original
Centro de desarrollo_infantil_kamelot_originalCentro de desarrollo_infantil_kamelot_original
Centro de desarrollo_infantil_kamelot_original
 
C 10
C 10C 10
C 10
 
10G Verhagen deel 1.1
10G Verhagen deel 1.110G Verhagen deel 1.1
10G Verhagen deel 1.1
 
дорога к храму
дорога к храмудорога к храму
дорога к храму
 
Internal CSR communication sucks
Internal CSR communication sucksInternal CSR communication sucks
Internal CSR communication sucks
 
ทดลอง
ทดลองทดลอง
ทดลอง
 
World Renaissance Nov 2011
World Renaissance Nov 2011World Renaissance Nov 2011
World Renaissance Nov 2011
 
Field name
Field nameField name
Field name
 
KVH DCNet 資料
KVH DCNet 資料KVH DCNet 資料
KVH DCNet 資料
 
Business Analyst Training
Business Analyst TrainingBusiness Analyst Training
Business Analyst Training
 
Τα δημογραφικά δεδομένα του μεταεπαναστατικού Ελληνικού Πολεμικού Ναυτικού πα...
Τα δημογραφικά δεδομένα του μεταεπαναστατικού Ελληνικού Πολεμικού Ναυτικού πα...Τα δημογραφικά δεδομένα του μεταεπαναστατικού Ελληνικού Πολεμικού Ναυτικού πα...
Τα δημογραφικά δεδομένα του μεταεπαναστατικού Ελληνικού Πολεμικού Ναυτικού πα...
 
Presentazione Per Delegazione Metro Quing Dao
Presentazione Per Delegazione Metro Quing DaoPresentazione Per Delegazione Metro Quing Dao
Presentazione Per Delegazione Metro Quing Dao
 
Our GBU bioepistemological educational project (BEEMP)
Our GBU bioepistemological educational project (BEEMP)Our GBU bioepistemological educational project (BEEMP)
Our GBU bioepistemological educational project (BEEMP)
 
Guión ingles
Guión inglesGuión ingles
Guión ingles
 

Naming 2

  • 1. 第5回 分散システム本読書会 名前付け / Naming 後半 @nishio_dens 2013/05/31   第5回 分散システム本読書会  
  • 2. 5.4 属性ベース名前付け •  フラットな名前付け、構造化された名前付け   –  多くの場合一つのエンティティを参照するために利用される     •  属性ベース名前付けシステムの特徴   –  エンティティを(属性,  値)  の組で記述する   –  エンティティは探索に利用可能な属性セットを保持している –  ユーザが興味のあるエンティティの属性を指定することで、   エンティティを絞り込む   –  ユーザの検索条件に一致した一つ以上のエンティティを返す   名前付けシステム       属性ベース名前付けシステムは   ディレクトリサービスとも呼ばれる   2013/05/31   第5回 分散システム本読書会   2  /  8  
  • 3. 5.4.2 階層化された実装: LDAP (1) •  特徴   –  構造化された名前付けと属性ベース名前付けを組み合わせている     2013/05/31   第5回 分散システム本読書会   3  /  8  
  • 4. 5.4.2 階層化された実装 : LDAP (2) •  LDAPの特徴   –  基本的にはDNSのような名前付けサービスと同じ   –  DNSと異なる点は、数多くの探索エペレーションをサポートしている   •  探索の例   –  Vrije  大学における、すべての主要なサーバのリストが欲しい   •  探索条件   –  Country  (C)  =  NL   –  Organization  (O)  =  Vrije  Universiteit   –  Organization  Unit  (OU)  =  *   –  Common  Name  (CN)  =  Main  Server   •  [Howes,  1997]  において定義されている表記法での記述   –  Answer  =  search(“&(C=NL)(O  =  Vrije  Universiteit)(OU=*)   (CN=Main  Server)”)   2013/05/31   第5回 分散システム本読書会   4  /  8  
  • 5. LDAPの課題: スケーラビリティ •  大規模なディレクトリを対象とする場合   –  ディレクトリ情報木(DIT)を分割し、複数サーバへ分割する   –  検索条件によっては、一つの結果を得るために複数のノードに アクセスする必要があり、スケーラビリティに問題がある   •  Active  Directoryが行っている解決策   –  最初に探索されるグローバルなインデックスサーバ(グローバル カタログ)を配置している   –  インデックスサーバに最初にアクセスし、どのLDAPドメインを 次に探索すればよいかを決定する   ※  Active  Directory   •  Microsoftのディレクトリサービスシステム   2013/05/31   第5回 分散システム本読書会   5  /  8  
  • 6. 5.4.3 非集中型の実装 (1) •  P2Pシステムによる属性ベース名前付けシステムの実装   –  スケーラビリティの問題を解決したい   –  課題は、探索オペレーションが効率的に行われるように、   (属性,  値)  の組を効率的にマッピングすること   •  分散ハッシュテーブル(DHT)へのマッピング   –  DHTを用いることで、特定のサーバ(インデックスサーバ等)を   用いること無く探索が行える   –  属性をDHTシステムで検索可能なキーの集合に変換する     2013/05/31   第5回 分散システム本読書会   6  /  8  
  • 7. 5.4.3 分散ハッシュテーブルへのマッピング •  各経路に対するハッシュの割当   –  h1  :  hash(type-­‐book)   –  h2:  hash(type-­‐book-­‐author)   –  h3:  hash(type-­‐book-­‐author-­‐Tolkien)   –  h4:  hash(type-­‐book-­‐title)   –  h5:  hash(type-­‐book-­‐title-­‐LOTR)   –  h6:  hash(genre-­‐fantasy)   •  上記で割り当てられたハッシュに対応するノードが、リソースを   保持している(6ノードが実際のデータを保持)   •  探索の例   2013/05/31   第5回 分散システム本読書会   7  /  8   h1:  hash(type-­‐book)   h2:  hash(type-­‐book-­‐author)   h3:  hash(type-­‐book-­‐author-­‐Tolkien)   h1,  h2,  h3  のhash値を持つノードにアクセスして、 データ取得 検索条件:          Tolkien  によって          書かれた書籍名を返せ  
  • 8. 5.4.4 セマンティックオーバーレイネットワーク •  非構造化オーバーレイネットワークで効率的な探索を実現   するには?   –  ノードに、意味的に近い情報を持つ近隣ノードへのリンクを持たせる   (クラスタリング?)   –  情報を検索するときは、まずその情報を持っているであろうノード群に 問い合わせる   •  意味的に近いノードのリストを構築するには?   –  [Voulgaris  and  van  Steen,  2005]  では、単純なセマンティック近傍関数を 用いる手法が提案されている   –  単に互いのノードが保持している共通のファイル数をカウントして、そ の値を元に近傍ノードとするかどうかを判定している   2013/05/31   第5回 分散システム本読書会   8  /  8