SlideShare a Scribd company logo
分散システムにおける
UUID(汎用一意識別子)の
利用拡大
(・∀・)キムティ♪@kimtea
第3回JAZUG静岡勉強会
2014年04月26日(土)
自己紹介
• 荒浪 一城(アラナミ カズキ)
– 1983(昭和58)年11月24日生まれ、30歳
– 静岡県島田市出身
– なぜか本名よりも、(・∀・)キムティ♪が有名
– Seasarで有名な比嘉さんに、飲み会で(・∀・)キ
ムティ♪の本名、知らないもんwwwって言わ
れたでござるorz
UUID(汎用一意識別子)
• 分散システム上で、ユニークなIDを生成し
てくれるため、IDの重複や衝突(コリジョ
ン)の心配をしなくても良い
– 8422741B-8A41-4b42-B0C4-943CE460DFB7
• UUID
–8-4-4-12の構成で、16バイトの数値
–2の122乗通り
RFC4122
• RFC4122では、 5 種類のタイプを定めている
– 1 The time-based version specified in this document.
– 2 DCE Security version, with embedded POSIX UIDs
– 3 The name-based version specified in this document that uses MD5
hashing.
– 4 The randomly or pseudo-randomly generated version specified in
this document.
– 5 The name-based version specified in this document that uses SHA-
1 hashing.
– A Universally Unique IDentifier (UUID) URN Namespace(RFC4122)
• 主に、乱数をベースとしたバージョン4が使われ
る
Algorithms for Creating a Time-Based UUID
• UUID の作成に使用されるアルゴリズムなどの詳
細については、「RFC 4122: A Universally Unique
IDentifier (UUID) URN Namespace」 のセクション
4.2「Algorithms for Creating a Time-Based UUID」
を参照
• https://tools.ietf.org/html/rfc4122#section-4.2
• 時間ベース UUID
• DCE セキュリティー UUID
• 名前ベース UUID
• ランダム生成 UUID
UUIDの具体例(1)
• マイクロソフト
– GUID(グローバル一意識別子)
– 実際に数多くのWebサービスで使用している
• 例:Outlook(Hotmail)など
– GUID生成ツール
• GUIDGen
• http://www.microsoft.com/en-us/download/details.aspx?id=17252
UUIDの具体例(2)
• Java SE 6、7、8
– J2SE5.0から導入
– java.util.UUID
• randomUUID a type 4 (pseudo randomly generated)
UUID
• nameUUIDFromBytes a type 3 (name based) UUID
なぜJavaでは、
2種類のUUIDしかサポートしていないのか?
• 個人的な見解による仮説では・・・
– UUIDの生成アルゴリズムには、ハッシュ関数が使わ
れている
– 暗号の研究者によって、MD5では異なるファイルか
ら同じハッシュ値を算出することや、MD5のハッ
シュ値から元のパスワードを求めることに成功して
いる
– SHA-1にも、同様に衝突(コリジョン)の問題がある
ことが報告されている
– 今後、10年間は安心して使用することができる暗号
技術評価プロジェクト(CRYPTREC、クリプトレッ
ク)による「電子政府推奨暗号リスト」から、MD5
やSHA-1は削除されている
• http://www.cryptrec.go.jp/
Apache CassandraのUUID
• LexicalUUIDType
– The LexicalUUIDType is used for a non-time based
comparison. It is compared lexically, by byte value.
• TimeUUIDType
– The TimeUUIDType is used for a time based
comparison. It uses a version 1 UUID.
まとめ
• UUIDは、分散システムにおける一意性を
確実に担保する手段として使われている
• マイクロソフトのGUID(グローバル一意識別
子)
• Apache Cassandraでも、使われている
• UUIDを意識しながら、URLを見ていると意外に
多い
ご静聴ありがとうございます

More Related Content

More from Kazuki Aranami

ソフトウェア開発法3
ソフトウェア開発法3ソフトウェア開発法3
ソフトウェア開発法3Kazuki Aranami
 
ソフトウェア開発法2
ソフトウェア開発法2ソフトウェア開発法2
ソフトウェア開発法2Kazuki Aranami
 
Ns総合演習 ソフトウェア開発概論
Ns総合演習 ソフトウェア開発概論Ns総合演習 ソフトウェア開発概論
Ns総合演習 ソフトウェア開発概論Kazuki Aranami
 
法学入門 資金決済法
法学入門 資金決済法法学入門 資金決済法
法学入門 資金決済法Kazuki Aranami
 
法学入門 日本経済新聞電子版 免責規定編
法学入門 日本経済新聞電子版 免責規定編法学入門 日本経済新聞電子版 免責規定編
法学入門 日本経済新聞電子版 免責規定編Kazuki Aranami
 
クラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloudクラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloudKazuki Aranami
 
20110924静岡イベント
20110924静岡イベント20110924静岡イベント
20110924静岡イベントKazuki Aranami
 
20110926 クラウドカンファレンス静岡
20110926 クラウドカンファレンス静岡20110926 クラウドカンファレンス静岡
20110926 クラウドカンファレンス静岡
Kazuki Aranami
 
20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharing20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharingKazuki Aranami
 
情報処理の高度化等に対処するための刑法等の一部を改正する法律案
情報処理の高度化等に対処するための刑法等の一部を改正する法律案情報処理の高度化等に対処するための刑法等の一部を改正する法律案
情報処理の高度化等に対処するための刑法等の一部を改正する法律案Kazuki Aranami
 
複雑ネットワークとP2Pネットワーク
複雑ネットワークとP2Pネットワーク複雑ネットワークとP2Pネットワーク
複雑ネットワークとP2Pネットワーク
Kazuki Aranami
 
クラウドの原理とパラダイム 第一章
クラウドの原理とパラダイム 第一章クラウドの原理とパラダイム 第一章
クラウドの原理とパラダイム 第一章Kazuki Aranami
 
CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛
Kazuki Aranami
 
Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24Kazuki Aranami
 

More from Kazuki Aranami (17)

ソフトウェア開発法3
ソフトウェア開発法3ソフトウェア開発法3
ソフトウェア開発法3
 
ソフトウェア開発法2
ソフトウェア開発法2ソフトウェア開発法2
ソフトウェア開発法2
 
Project erp
Project erpProject erp
Project erp
 
Project erp
Project erpProject erp
Project erp
 
Ns総合演習 ソフトウェア開発概論
Ns総合演習 ソフトウェア開発概論Ns総合演習 ソフトウェア開発概論
Ns総合演習 ソフトウェア開発概論
 
ERP FAS DESIGN
ERP FAS DESIGNERP FAS DESIGN
ERP FAS DESIGN
 
法学入門 資金決済法
法学入門 資金決済法法学入門 資金決済法
法学入門 資金決済法
 
法学入門 日本経済新聞電子版 免責規定編
法学入門 日本経済新聞電子版 免責規定編法学入門 日本経済新聞電子版 免責規定編
法学入門 日本経済新聞電子版 免責規定編
 
クラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloudクラウドカンファレンスIn静岡 r cloud
クラウドカンファレンスIn静岡 r cloud
 
20110924静岡イベント
20110924静岡イベント20110924静岡イベント
20110924静岡イベント
 
20110926 クラウドカンファレンス静岡
20110926 クラウドカンファレンス静岡20110926 クラウドカンファレンス静岡
20110926 クラウドカンファレンス静岡
 
20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharing20110924 shizuoka azure-forsharing
20110924 shizuoka azure-forsharing
 
情報処理の高度化等に対処するための刑法等の一部を改正する法律案
情報処理の高度化等に対処するための刑法等の一部を改正する法律案情報処理の高度化等に対処するための刑法等の一部を改正する法律案
情報処理の高度化等に対処するための刑法等の一部を改正する法律案
 
複雑ネットワークとP2Pネットワーク
複雑ネットワークとP2Pネットワーク複雑ネットワークとP2Pネットワーク
複雑ネットワークとP2Pネットワーク
 
クラウドの原理とパラダイム 第一章
クラウドの原理とパラダイム 第一章クラウドの原理とパラダイム 第一章
クラウドの原理とパラダイム 第一章
 
CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛CAPとBASE、ACIDの呪縛
CAPとBASE、ACIDの呪縛
 
Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24Cloud principles and paradigms kimtea-2010-04-24
Cloud principles and paradigms kimtea-2010-04-24
 

Recently uploaded

なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
ssuserfcafd1
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
Shinichi Hirauchi
 
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
iPride Co., Ltd.
 
Kotest を使って 快適にテストを書こう - KotlinFest 2024
Kotest を使って 快適にテストを書こう - KotlinFest 2024Kotest を使って 快適にテストを書こう - KotlinFest 2024
Kotest を使って 快適にテストを書こう - KotlinFest 2024
Hirotaka Kawata
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
kitamisetagayaxxx
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
ARISE analytics
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
Yuki Miyazaki
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
Takuya Minagawa
 
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
Hideo Kashioka
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
Osaka University
 
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
Seiya Shimabukuro
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
sugiuralab
 
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
Osaka University
 

Recently uploaded (13)

なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDDなぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
なぜそのDDDは効果が薄いのか?名ばかりDX案件での経験を踏まえて培った他の思考を交えた現代風?のDDD
 
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
気ままなLLMをAgents for Amazon Bedrockでちょっとだけ飼いならす
 
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
Microsoft Azureで生成AIを使ってみた話 2024/6/14の勉強会で発表されたものです。
 
Kotest を使って 快適にテストを書こう - KotlinFest 2024
Kotest を使って 快適にテストを書こう - KotlinFest 2024Kotest を使って 快適にテストを書こう - KotlinFest 2024
Kotest を使って 快適にテストを書こう - KotlinFest 2024
 
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptxiMacwoSu_Gong_de_barabaranishitaHua_.pptx
iMacwoSu_Gong_de_barabaranishitaHua_.pptx
 
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
【JSAI2024】LLMエージェントの人間との対話における反芻的返答の親近感向上効果_v1.1.pdf
 
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
無形価値を守り育てる社会における「デー タ」の責務について - Atlas, Inc.
 
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT  vol112 発表資料)
ろくに電子工作もしたことない人間がIoT用ミドルウェアを作った話(IoTLT vol112 発表資料)
 
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
実体験に基づく、成功するスクラム vs 失敗するスクラム 何が違う? 2024年6月22日
 
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
協働AIがもたらす業務効率革命 -日本企業が押さえるべきポイント-Collaborative AI Revolutionizing Busines...
 
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
20240621_AI事業者ガイドライン_セキュリティパートの紹介_SeiyaShimabukuro
 
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
ヒアラブルへの入力を想定したユーザ定義型ジェスチャ調査と IMUセンサによる耳タッチジェスチャの認識
 
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
生成AIの実利用に必要なこと-Practical Requirements for the Deployment of Generative AI
 

分散システムにおけるUUID(汎用一意識別子)の利用拡大