Download presentation
Presentation is loading. Please wait.
Published byたかよし えいさか Modified 約 8 年前
1
URL 短縮サービスを利用した 文字列情報圧縮の新たな試み 北海道情報大学 情報メディア学部 情報メディア学科 准教授 新井山 亮 2012/10/21 電気・情報関係学会北海道支部連合大会
2
はじめに 各種の URL 短縮サービスが提供 – Twitter を筆頭とする,投稿文字数制限を有す る短文投稿 Web サービスの普及 代表的 URL 短縮サービスを応用した文字列 情報圧縮手法を新たに提案 情報圧縮効果の視覚化 – 2 次元バーコードによる圧縮前後の情報量比 較 2
3
URL 短縮サービス http://bit.ly/Orrrhz – 支部会公式 Web サイト http://www.hokkaido.ieice.org/ shibukai/ ( / 以下)任意設定も 可 – bit.ly/hiulab129 ⇒ ゼミ公式 Web サイト – bit.ly/microsoft ⇒ www.apple.com goo.gl/fbsS ⇒ www.google.com – goo.gl/fbsS.qr ⇒ QR code http://goo.gl/fbsS.qr 3
4
文字列情報の圧縮 青空文庫 http://www.aozora.gr.jp/ 吾輩は猫である (夏目漱石) 4
5
URL 短縮サービスの応用 URL 短縮サービス/長尺文字列の短縮 長尺の文字列 – 「吾輩は猫である・・・」 URL エンコーディング – %B8%E3%C7%DA%A1%CA%A4%EF%A4 ・・・ 架空の長尺 URL の生成 – http://jpn.jp/%B8%E3%C7%DA%A1%CA%A4 ・・ ・ URL 短縮 ⇒ http://goo.gl/Xynw0 5
6
Google URL Shortener 6
7
URL 短縮サービスの応用 長尺文字列の伸張 http://jpn.jp/ (休眠中と思われる Web サーバ) http://goo.gl/Xynw0 ⇒ http://jpn.jp/ 吾輩(わがはい) は猫である・・・ 7
8
URL 短縮サービスの応用 URL 短縮サービス/コマンドラインからの伸 張 8
9
これは《情報圧縮》か?(※おことわ り) 標題は「 URL 短縮サービスを利用した文字列情報圧縮の新たな試 み」 URL 短縮 Web サーバ内 部での「ハッシュ法 」によるデータ格納 ・・・ http://goo.gl/Xynw0 – Xynw0 は 「キー」 – Xynw0 自体は圧縮前の 長尺文字列情報に由来 して生成されていない 「情報圧縮」ではな い – 標題:厳密性を欠く 9
10
情報圧縮効果の視覚化 我輩(わがはい)は~彼の掌(てのひら ) 452 bytes Version 14, 73 x 73 cells, ECC level: L http://goo.gl/Xynw0 19 bytes (5 bytes) Version 2, 25 x 25 cells, ECC level: H 10
11
URL 短縮サービスの応用 URL 内への HTML 情報の埋め込み Google App Engine ( Official ) Google App Engine Launcher 11
12
URL 短縮サービスの応用 URL 内への HTML 情報の埋め込み 中央バス時刻表 札幌ターミナル ⇒ トーメン団 地 http://bustei2.com/s.cgi?2366+2663 URL に HTML を埋め込 み http://localhost:8080/? 札幌 ターミナル (2366-07) か ら ・・・ %5B0%5D 中央バス時 刻表 TOP 短縮 – http://goo.gl/HyAyq 12
13
URL 短縮サービスの応用 URL 内への HTML 情報の埋め込み 故意の Cross Site Scripting "decoder.py" ( Python ) Google App Engine Launcher ( Stop ) 13
14
URL 短縮サービスの応用 URL 内への HTML 情報の埋め込み Google App Engine Launcher ( Run ) http://goo.gl/HyAyq ⇒ http://localhost:8080/ ・・・ 14
15
URL 短縮サービスの応用 Google URL Shortener API c/w UNIX commands URL 短縮 – http://www.google.com/ > curl https://www.googleapis.com/ urlshortener/v1/url -H 'Content- Type: application/json' -d '{"longUrl": "http://www.google.com/"}' { “kind”: “urlshortener#url”, “id”: “http://goo.gl/fbsS”, “longUrl“: http://www.google.com/ } Getting Started - URL Shortener API — Google Developers https://developers.google.com/url-shortener/v1/getting_started 15
16
URL 短縮サービスの応用 Google URL Shortener API c/w UNIX commands URL 伸張 – http://goo.gl/fbsS > curl 'https://www.googleapis.com/ urlshortener/v1/url?shortUrl=htt p://goo.gl/fbsS ' { "kind": "urlshortener#url", "id": "http://goo.gl/fbsS", "longUrl": "http://www.google.com/", "status": "OK“ } Getting Started - URL Shortener API — Google Developers https://developers.google.com/url-shortener/v1/getting_started 16
17
URL 短縮サービスの応用 Google URL Shortener API c/w UNIX commands JPEG image ↓ uuencode –m (base64) text data ↓ URL Shortner API Jyz0E,4zjNi,49CT5,75Rd E,DgcQA,…,1UHMV,mZ4 L6,YhWF3,c50Nr,9yQtL, ↓ URL Shortner API http://goo.gl/1M7d9 JPEG image, 512 x 512 pixels, 335KBytes 17
18
URL 短縮サービスの応用 Google URL Shortener API c/w UNIX commands >uuencode -m mandrill.jpg /dev/null` ; sleep $((t - 1)) ; t=$(($t * 2 )) ; done ; echo $r ) | tr -d \\n | sed -e 's|^.*goo.gl/\(.[0-9a-zA-Z]*\).*$|\1,|g' ; done ) | sed -e 's|\(.*\)|http://jpn.jp/\1|g' | ( read longUrl ; r="error"; t=1 ; while [[ $r =~ error ]] ; do r=`curl https://www.googleapis.com/urlshortener/v1/url?key=AIzaSyBlZiMR56Zn GnRQuQGP28jciLITHWqib1E -H 'Content-Type: application/json' -d '{"longUrl":"'$longUrl'"}' 2>/dev/null` ; sleep $((t - 1)) ; t=$(($t * 2 )) ; done ; echo $r ) | tr -d \\n | sed -e 's|^.*goo.gl/\(.[0-9a-zA-Z]*\).*$|\1|g' | tee mandrill.gus.b64.txt 1M7d9 18
19
uuencode (base64) format Google URL Shortener API c/w UNIX commands 7622 Lines (uuencode -m mandrill.jpg < mandrill.jpg | wc –l ) begin-base64 644 mandrill.jpg /9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAEBAQEBAQEBAQEBAQEBAQEBAQEB AQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQH/... 50VOFDki6M6dOUYU5uKacJpuc7cs06dlKVKSj0/7ZSnQh7SM8LUpRhVVKSdV TVSKnTlJVo8yqSnBJ05zXLN1abbUpP8A/9k= ==== ↓... | tr –d \\n | fold –w 1980 /9j/4AAQSkZJRgABAQAAAQABAAD/2w... O21Pwf41h/Z/1HxFoVhY6R40h0u3vY... 8d/j18BZbrUz4W+Nvwuv5YoZbRrnSP... lJVo8yqSnBJ05zXLN1abbUpP8A/9k= -> 234 Lines (... | tr –d \\n | fold –w 1980 | wc –l ) 19
20
URL 短縮サービスの応用 Google URL Shortener API c/w UNIX commands JPEG image, 512 x 512 pixels, 335KBytes http://goo.gl/1M7d9 ↓ URL Shortner API Jyz0E,4zjNi,49CT5,75Rd E,DgcQA,…,1UHMV,mZ4 L6,YhWF3,c50Nr,9yQtL, ↓ URL Shortner API text data ↓ uudecode –m (base64) JPEG image 20
21
URL 短縮サービスの応用 Google URL Shortener API c/w UNIX commands >Echo '1M7d9' | ( read shortUrl ; r="error"; t=1 ; while [[ $r =~ error ]] ; do r=`curl "https://www.googleapis.com/urlshortener/v1/url?sh ortUrl=http://goo.gl/$shortUrl&key=AIzaSyBlZiMR56Z nGnRQuQGP28jciLITHWqib1E" 2>/dev/null` ; sleep $((t - 1)) ; t=$(($t * 2 )) ; done ; echo $r ) | tr -d \\n | sed -e 's|^.*jpn.jp/\(.*\)",.*$|\1|g' | tr ',' \\n |( while read LINE ; do echo ${LINE} | ( read shortUrl ; r="error"; t=1 ; while [[ $r =~ error ]] ; do r=`curl "https://www.googleapis.com/urlshortener/v1/url?sh ortUrl=http://goo.gl/$shortUrl&key=AIzaSyBlZiMR56Z nGnRQuQGP28jciLITHWqib1E" 2>/dev/null` ; sleep $((t - 1)) ; t=$(($t * 2 )) ; done ; echo $r ) | sed -e 's|^.*jpn.jp/\(.*\)",.*$|\1|g' | tr ',' ' ' ; done ) | fold -w 60 | uudecode -o /dev/stdout > mandrill.uud.b64.jpg 21
22
まとめ URL 短縮サービス “Google URL Shortener” を 利用する新たな文字情報圧縮手法を提案 し, QR コードの生成による情報圧縮効果 の視覚化を行った. 厳密には「情報圧縮」ではなく, URL 短縮 Web サーバ内部での「ハッシュ法」による データ格納/参照手法の一例. 22
23
提案する応用例 長尺文字列からの QR コード生成 – URL 短縮を応用,文字列を短尺化 ⇒ QR コードの小型化,誤り訂正能力強化 HTML 埋め込み長尺 URL を URL 短縮 – URL 短縮サーバのみで HTML を伸張 → 閲覧 ⇒ Web サーバの省力化,信頼性の向上 バイナリ・データのテキスト化 – URL 短縮応用手法の範囲拡大(画像,音声, etc. ) ⇒ ex. 材料に 3D data QR コード → NC 工作機械 23
24
想定される課題 URL 短縮/伸張の時間 – 1 件あたり 1 ~ 2 秒 ⇒ mandrill.jpg の場合 (512 x 512 pixels, 335KBytes) ・・・ およそ 5 分以上 URL 短縮サービスの永続性 – キー文字列増加,仕様変更,サービス停止, etc. ⇒ サービスの利用方法として適正かどうか 既存のクラウド・サービスの存在 – 各種クラウド・データ・ストレージ・サービ ス ⇒ 比較 → 新規性,優位性,独自性 ・・・ ??? 24
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.