• 沒有找到結果。

中 華 大 學 碩 士 論 文

N/A
N/A
Protected

Academic year: 2022

Share "中 華 大 學 碩 士 論 文"

Copied!
83
0
0

加載中.... (立即查看全文)

全文

(1)

中 華 大 學 碩 士 論 文

植 基 於 OSGi 之 異 質 網 路 服 務 搜 尋 與 控 制 架 構

系 所 別 :資 訊 工 程 學 系 碩 士 班 學 號 姓 名 :M09502015 曾 則 勤 指 導 教 授 :陳 旻 秀 博 士

中 華 民 國 九 十 七 年 七 月

(2)

摘要

近 年 來 , 數 位 家 庭 網 路 逐 漸 興 起 , 家 庭 、 辦 公 室 、 醫 院 裡 分 佈 著 許 多 使 用 不 同 網 路 機 制 的 設 備,這 些 設 備 提 供 各 式 各 樣 的 服 務。針 對 遠 端 使 用 者 如 何 得 知 家 庭 網 路 中 的 設 備 有 提 供 哪 些 服 務 可 以 控 制 、 在 得 知 服 務 後 如 何 控 制 、 以 及 不 同 網 路 機 制 的 設 備 要 如 何 互 相 連 通 存 取 都 是 備 受 矚 目 的 研 究 議 題。因 此 本 篇 論 文 所 研 究 重 點 將 針 對 遠 端 使 用 者 與 數 位 家 庭 網 路 中 的 設 備 之 間 , 透 過 O p e n S e r v i c e G a t e w a y i n i t i a t i v e ( O S G i) 、 S e r v i c e L o c a t io n P r o t o c o l ( S L P ) 、 S e s s io n I n it i a t io n P r o t o c o l ( S I P ) 等 通 訊 協 定 , 來 達 到 讓 使 用 者 能 遠 端 動 態 取 得 數 位 家 庭 網 路 中 各 式 設 備 所 提 供 的 服 務 資 訊 , 並 進 而 來 控 制 各 式 使 用 不 同 網 路 機 制 的 家 用 設 備 。

(3)

Abstract

A b s t r a c t : I n r e c e n t f e w y e a r s , a lo t o f s t a n d a r d s a n d p r o t o c o l s h a d b e e n p r o p o s e d fo r h o m e n e t w o r k s , b u t t h o s e s t a n d a r d s a n d p r o t o c o ls d o n o t o p e r a t e e a s i l y w it h e a c h o t h e r s . T h i s p a p e r d e s c r i b e s t h e s e r v i c e d i s c o v e r y a n d i n t e r a c t io n o f d e v i c e s o v e r t h e h e t e r o g e n e o u s s t a n d a r d s a n d p r o t o c o l s o f h o m e n e t w o r k . O S G i ( O p e n S e r v i c e G a t e w a y I n i t i a t i v e ) h a d b e e n p r o p o s e d t o a l l o w k i n d s o f s e r v i c e s c o m i n g f r o m d i f f e r e n t p r o v id e r s t o b e lo a d e d a n d r u n o n a s e r v i c e g a t e w a y. O S G i a l s o d e f i n e s o p e n s p e c i f i c a t io n s a n d s t a n d a r d s fo r t h e d e l i v e r y o f m a n a g e d s e r v i c e s t o n e t w o r k e d e n v i r o n m e n t s . I n t h i s p a p e r, w e p r e s e n t a n O S G i b a s e d c o n t r o l a r c h it e c t u r e fo r s m a r t h o m e n e t w o r k . We u s e O S G i a s a p l a t fo r m , o n w h i c h t o c o m b i n e t h e c o m p o n e n t o f S L P ( S e r v i c e L o c a t io n P r o t o c o l) S A / D A , U P n P ( U n i v e r s a l P l u g a n d P l a y ) c o n t r o l p o i n t a n d S I P ( S e s s i o n I n it i a t io n P r o t o c o l) U A , i n o r d e r t o a c h i e v e a u t o m a t io n o f d e v i c e s d i s c o v e r y, r e g i s t r y, a n d m a n a g e m e n t . F i n a l l y, a p p l i c a t io n e x a m p l e s a r e i n t r o d u c e d a n d t h e i m p l e m e n t a t io n r e s u lt s s h o w t h a t b a s e d o n o u r p r o p o s e d a r c h it e c t u r e , t h e O S G i g a t e c a n p r o v i d e d y n a m i c s e r v i c e p r o v i s io n i n g , a n d i n t e g r a t io n o f h e t e r o g e n e o u s d e v i c e s , m a n a g e m e n t .

I n d e x T e r m s : H o m e N e t w o r k , O p e n S e r v i c e G a t e w a y i n it i a t i v e , S e r v i c e L o c a t io n P r o t o c o l, S e s s i o n I n i t i a t io n P r o t o c o l, U n i v e r s a l P lu g a n d P l a y.

(4)

誌 謝

感 謝 實 驗 室 的 學 弟 詠 程 、 秉 陽 、 哲 禎 , 在 我 撰 寫 這 篇 論 文 的 時 候 提 供 我 許 多 援 助,感 謝 父 母 的 關 愛 讓 我 能 無 後 顧 之 憂 的 全 心 投 入 論 文 的 撰 寫 , 感 謝 陳 旻 秀 老 師 的 諄 諄 教 誨 , 在 我 遇 上 研 究 瓶 頸 時 提 供 我 許 多 意 見 , 並 不 厭 其 煩 的 再 三 協 助 我 校 稿 , 使 得 這 篇 論 文 能 夠 順 利 問 世。另 外 誠 摯 的 感 謝 兩 位 口 試 委 員 劉 懷 仁 教 授 與 嚴 力 行 教 授 在 百 忙 中 撥 空 蒞 臨 指 導 , 並 給 予 論 文 的 指 正 與 提 議 , 使 這 篇 論 文 更 趨 於 完 善 。

有 你 們 的 協 助 讓 我 在 研 究 所 期 間 成 長 茁 壯 , 謝 謝 你 們 。

(5)

目 錄

第一章 序論... 8

1 . 1 動 機 . . . 8

1 . 2 論 文 架 構 . . . 1 1

第二章 相關協定與研究 ... 13

2 . 1 S L P 簡 介 . . . 1 3 2 . 1 . 1 S L P 元 件 . . . 1 3 2 . 1 . 2 S L P 元 件 運 作 模 式 . . . 1 4 2 . 1 . 3 S L P 服 務 位 置 . . . 1 6 2 . 1 . 4 S L P 服 務 範 圍 . . . 1 7 2 . 1 . 5 S L P 訊 息 . . . 1 8 2 . 2 U P n P 簡 介 . . . 2 1 2 . 3 J X TA 簡 介 . . . 2 4 2 . 4 L D A P 簡 介 . . . 2 4 2 . 5 N A P T R 簡 介 . . . 2 5 2 . 6 S I P 簡 介 . . . 2 6 2 . 7 O S G i 簡 介 . . . 2 9

2 . 8 相 關 研 究 . . . 3 7

第三章 系統架構流程 ... 40

3 . 1 系 統 架 構 . . . 4 0 3 . 2 O S G i 架 構 流 程 . . . 4 2 3 . 3 S L P 架 構 流 程 . . . 4 7

3 . 4 S I P 架 構 流 程 . . . 5 4

第四章 系統實作... 61

4 . 1 實 作 環 境 . . . 6 1

4 . 2 實 作 結 果 . . . 6 1

第五章 實驗結果... 71

5 . 1 實 驗 環 境 . . . 7 1

5 . 2 實 驗 結 果 . . . 7 2

第六章 結論與未來工作 ... 80 參考文獻 ... 81

(6)

圖 片 目 錄

圖 2-1 UA 向多個 SA 查詢並取得服務資訊的過程... 14

圖 2-2 UA 和 SA 如何發現 DA 的過程 ... 15

圖 2-3 多個 SA 向一或多個 DA 註冊服務,UA 向 DA 取得服務 ... 16

圖 2-4 UA 設定 DA 和 SA 所支援的 Scope 進行查詢 ... 18

圖 2-5 UPnP 元件 ... 23

圖 2-6 UPnP 協定堆疊 ... 24

圖 2-7 SIP 通訊流程... 27

圖 2-8 SIP 訊息格式... 29

圖 2-9 OSGi 標準發展概況 ... 30

圖 2-10 OSGi 服務平台連接各式網路... 30

圖 2-11 OSGi 服務平台的架構 ... 31

圖 2-12 Bundle Class Loading... 32

圖 2-13 Bundle Life Cycle ... 32

圖 2-14 Service Registry ... 33

圖 2-15 Bundle Export and Import Services ... 33

圖 2-16 OSGi Bundle ... 36

圖 2-17 Oscar OSGi ... 37

圖 3-1 系統架構 ... 42

圖 3-2 SLP 運作流程... 48

圖 3-3 SLP SA 註冊服務給 DA 流程 ... 51

圖 3-4 SLP UA 向 DA 查詢取得服務流程... 54

圖 3-5 SIP 控制 UPnP Device 流程 ... 60

圖 4-1 SIP Communicator、Oscar OSGi、jSLP 的實作架構 ... 61

圖 4-2 Oscar OSGi ... 62

圖 4-3 UPnP Control Point ... 63

圖 4-4 UPnP TV... 63

圖 4-5 SISUA 登入 SIP Proxy Server... 64

圖 4-6 SIP Register 訊息 ... 64

圖 4-7 SISUA GUI 與 SISUA UPnP Page ... 64

圖 4-8 查詢 SIP 服務與加上 LDAP 術語查詢 ... 65

圖 4-9 SLP Multicast 訊息 ... 65

圖 4-10 查詢 UPnP 服務與查詢到的 UPnP 服務按鈕開啟 ... 66

圖 4-11 關 閉 u p n p w e bc a m B u n d l e ... 66

圖 4-12 再次查詢 UPnP 服務與 UPnPWebcam 按鈕關閉 ... 67

圖 4-13 開啟 UPnP TV 與 UPnP TV 開啟 ... 67

圖 4-14 SIP 控制訊息... 68

(7)

圖 4-15 SIP 控制標頭訊息 ... 68

圖 4-16 channel 按鈕開啟與切換電視頻道為 2 ... 68

圖 4-17 UPnP TV 切換頻道... 68

圖 4-18 SIP 控制標頭訊息 ... 69

圖 4-19 關閉 UPnP TV 與 UPnP TV 關閉 ... 69

圖 4-20 開啟 UPnP Webcam 電源與顯示影像按鈕開啟... 69

圖 4-21 顯示影像與關閉 UPnP Webcam 電源 ... 70

圖 4-22 確認訊息通知... 70

圖 5-1 實驗場景 ... 71

圖 5-2 註冊服務時間量測 ... 73

圖 5-3 查詢取得服務時間量測 ... 74

圖 5-4 控制訊息送收時間量測 ... 75

圖 5-5 註冊服務時間量測數據 ... 76

圖 5-6 查詢取得服務時間量測數據... 77

圖 5-7 控制訊息送收時間量測數據... 78

圖 5-8 三段數據總和... 79

(8)

表 格 目 錄

表 2-1 SIP 相關 RFC 文件...26

表 2-2 SIP Request Method...28

表 2-3 SIP Response Status Code ...29

表 5-1 實驗電腦設備...71

表 5-2 註冊服務時間量測分析 ...76

表 5-3 查詢取得服務時間量測分析...77

表 5-4 控制訊息送收時間量測分析...78

表 5-5 三段數據總和分析 ...78

(9)

第 一 章 序 論

1 . 1 動 機

近 十 餘 年 間 通 訊 技 術 的 蓬 勃 發 展 帶 來 顯 著 的 進 步 與 革 新,隨 著 通 訊 設 備 售 價 降 低 與 傳 輸 速 率 的 增 加,而 導 致 網 際 網 路 應 用 科 技 呈 現 爆 炸 性 的 成 長 , 也 加 速 了 各 種 類 型 的 網 路 服 務 應 用 普 及 。 隨 著 網 路 頻 寬 的 快 速 增 加,許 多 網 路 應 用 服 務 也 逐 漸 跟 著 被 發 展 出 來 , 從 早 期 網 頁 瀏 覽 的 W W W 與 H T T P 、 檔 案 傳 輸 F T P , 到 現 今 大 家 常 常 在 使 用 的 即 時 通 訊 ( I M ) 如 雅 虎 即 時 通 、 G o o g l e Ta l k 、 M S N 等 等 , 我 們 可 以 發 現 網 路 與 日 常 生 活 早 已 緊 密 的 結 合 在 一 起 。 以 即 時 通 為 例 , 過 去 即 時 通 服 務 必 須 透 過 電 信 網 路 來 進 行 , 而 人 們 需 透 過 手 機 或 有 線 電 話 來 互 相 通 訊 、 聯 絡 感 情 , 而 現 在 使 用 者 只 需 借 由 即 時 通 軟 體 和 網 際 網 路 便 可 立 即 與 對 方 通 話 、 傳 檔 、 甚 至 玩 線 上 遊 戲 , 可 見 得 網 際 網 路 服 務 已 經 與 日 常 生 活 互 相 結 合 了 。

另 外 一 方 面 , 隨 著 寬 頻 網 際 網 路 、 數 位 家 庭 網 路 時 代 的 來 臨,人 們 不 再 只 是 想 單 純 的 使 用 個 人 電 腦 透 過 網 際 網 路 來 和 其 它 電 腦 交 換 彼 此 的 資 訊,而 是 想 將 各 式 各 樣 的 電 子 電 器 設 備 都 加 上 網 路 化,使 得 使 用 者 無 論 走 到 哪 裡 皆 可 以 透 過 網 路 來 取 得 這 些 設 備 所 分 享 出 來 的 資 源 。

在 未 來 , 當 我 們 走 到 辦 公 室 、 醫 院 、 或 是 在 自 己 家 中 , 這 些 網 路 化 的 設 備 會 是 隨 處 可 見 的 。 但 在 這 麼 多 的 設 備 中 , 並 不 一 定 都 會 使 用 相 同 的 通 訊 協 定 而 存 在 於 相 同 的 網 路 架 構 中 , 像 是 B l u e t o o t h、 U P n P、 1 3 9 4、 J i n i 等 等 。 一 般 的 使 用 者 若 是 想 要 操 作 這 些 使 用 各 式 各 樣 通 訊 協 定 的 設 備,一 定 會 感 到 相 當 的 困 惑 以 及

(10)

不 方 便 。 因 此 若 是 在 一 個 範 圍 的 區 域 網 路 中 , 存 在 著 一 台 閘 道 器 , 設 備 只 要 一 連 上 它 便 可 以 不 用 安 裝 驅 動 程 式 而 直 接 使 用 , 並 且 可 以 彼 此 互 相 連 通 、 交 換 訊 息 和 資 源 、 連 接 至 網 際 網 路 中 , 使 用 起 來 即 會 變 得 非 常 的 方 便 有 彈 性。有 關 跨 通 訊 協 定 整 合 平 台 介 面 的 設 計 有 許 多 的 架 構 被 提 出, 其 中 又 以 O p e n S e r v i c e s G a t e w a y I n it i a t i v e ( O S G i ) 這 個 組 織 所 提 出 的 開 放 式 服 務 閘 道 器 引 起 多 家 廠 商 與 研 究 團 隊 的 注 意 。 O S G i 所 定 義 的 開 放 式 服 務 平 台 目 的 是 要 使 得 遠 端 軟 體 服 務 供 應 商 所 提 供 的 應 用 程 式 與 加 值 服 務,能 視 使 用 者 需 求 , 隨 時 下 載 至 靠 近 使 用 者 的 閘 道 器 上 , 並 且 自 動 安 裝 執 行 。 此 閘 道 器 通 常 設 置 在 家 用 網 路 、 辦 公 室 網 路 與 廣 域 網 路 之 間 , 對 內 ( L AN P o r t ) 區 域 網 路 與 家 用 網 路 、 辦 公 室 網 路 連 接 , 對 外 ( WA N P o r t ) 則 與 廣 域 網 路 服 務 供 應 商 連 接 。 因 此 使 用 者 可 以 透 過 O S G i 遠 端 控 制 家 庭 網 路 中 的 家 用 設 備 。 另 外 使 用 者 所 購 買 的 設 備 只 要 符 合 O S G i 規 格 之 產 品 , 可 從 遠 端 服 務 供 應 商 下 載 其 對 應 的 服 務 包 ( B u n d l e ) 至 O S G i 上 , 即 可 不 用 自 行 安 裝 驅 動 程 式 就 可 以 使 用 。 此 外 , 尚 可 藉 由 服 務 包 與 服 務 包 在 O S G i 平 台 上 的 互 動 , 將 各 種 設 備 統 一 看 成 是 O S G i 的 服 務 , 來 達 成 不 同 網 路 架 構 下 的 設 備 能 夠 彼 此 互 相 溝 通 存 取 。

當 這 些 各 式 各 樣 的 設 備 能 夠 藉 由 O S G i 服 務 平 台 來 互 相 的 溝 通 存 取 後 , 我 們 發 現 在 家 庭 網 路 、 辦 公 室 網 路 中 , 存 在 著 大 大 小 小 非 常 多 的 設 備 , 這 些 設 備 們 本 身 所 提 供 的 服 務 可 能 不 只 一 種 , 我 們 怎 麼 有 辦 法 能 掌 握 且 牢 記 整 個 網 路 的 設 備 有 提 供 哪 些 服 務 ? 哪 些 功 能 ? 怎 麼 進 行 存 取 呢 ? 甚 至 當 我 們 來 到 一 個 非 常 陌 生 的 地 方 , 我 們 根 本 完 全 不 知 道 當 地 有 哪 些 裝 置 可 以 使 用 時 , 即 便 當 地 有 O S G i 服 務 平 台 , 我 們 也 無 從 得 知 該 如 何 下 手 。

網 路 服 務 ( S e r v i c e L o c a t io n) 資 源 動 態 管 理 就 是 為 了 解 決 這

(11)

類 問 題 所 產 生 的 解 決 方 案 。 S e r v i c e L o c a t io n 顧 名 思 議 就 是 指 服 務 的 位 址 , 在 此 表 示 為 網 路 上 能 夠 使 用 的 服 務 資 源 , 供 應 人 們 完 成 各 式 各 樣 的 工 作 , 像 是 線 上 影 片 觀 賞 、 網 路 印 表 機 、 視 訊 監 控 等 等 。 在 網 路 中 的 設 備 若 是 要 提 供 服 務 , 必 須 至 少 要 有 一 個 位 址 ( I P 或 是 H o s t n a m e ) , 做 為 服 務 傳 遞 、 封 包 繞 送 的 動 作 , 以 讓 人 使 用 。 在 現 今 有 許 多 方 案 皆 能 做 到 動 態 管 理 網 路 服 務 的 機 制 , 像 是 U P nP 、 J X TA 、 L D AP 、 N AP T R 、 S L P 等 等 , 它 們 皆 能 幫 助 使 用 者 來 動 態 的 尋 找 、 更 新 、 提 供 、 刪 除 、 與 控 制 目 前 在 網 路 中 的 服 務 。 而 其 中 又 以 S e r v i c e L o c a t io n P r o t o co l ( S L P ) 用 途 最 為 多 元 廣 泛 , 它 是 由 I E T F 所 制 定 的 標 準 通 訊 協 定 , 透 過 其 中 不 同 角 色 的 元 件 可 以 適 用 於 各 式 各 樣 的 網 路 架 構 與 不 同 範 圍 的 網 路 中。另 外 , S L P 除 了 提 供 完 備 的 通 訊 機 制 外 , 更 具 備 有 獨 特 的 U R I 格 式 能 將 不 同 網 路 架 構 中 設 備 的 網 路 服 務 位 址 抽 象 化,並 為 此 網 路 服 務 位 址 提 供 一 系 列 的 描 述 屬 性,分 門 別 類 的 提 供 給 使 用 者 查 詢 過 濾 使 用 , 達 到 統 一 表 現 所 有 動 態 服 務 管 理 機 制 的 目 的 。

儘 管 不 同 廠 商 所 開 發 出 來 的 設 備 期 望 能 透 過 O S G i 來 互 相 溝 通 存 取 , 但 是 目 前 要 讓 使 用 者 能 在 遠 端 透 過 O S G i 來 控 制 家 庭 網 路 中 的 設 備 , 仍 舊 還 是 個 需 要 研 究 的 議 題 。 S e s s io n I n it i a t io n P r o t o c o l ( S I P ) 可 用 來 做 為 使 用 者 遠 端 連 線 至 O S G i 來 控 制 家 庭 網 路 設 備 的 依 據 。 近 年 來 , S I P 靠 著 其 簡 單 、 高 擴 充 、 高 移 動 的 特 性 , 已 經 被 廣 泛 的 應 用 在 電 信 網 路 領 域 中 。 Vo i c e o v e r I P ( Vo I P ) 與 T h i r d G e n e r a t io n P a r t ne r s h i p P r o j e c t ( 3 G P P ) 等 組 織 決 定 採 用 S I P 為 信 號 溝 通 方 面 的 通 訊 協 定 , 因 此 可 以 預 期 未 來 大 部 分 的 行 動 設 備 以 及 網 路 家 電 也 都 會 支 援 S I P 。

因 此 透 過 [ 1 ] 和 [ 2 ] 我 們 希 望 , 在 不 同 的 區 域 中 , 設 置 一 台 O S G i 服 務 平 台 , 來 連 接 各 類 的 家 庭 網 路 設 備 , 橋 接 彼 此 互 相 存

(12)

取 , 並 在 O S G i 中 增 加 S L P 的 動 態 服 務 提 供 機 制 , 先 透 過 O S G i 中 不 同 網 路 設 備 服 務 包 之 間 的 溝 通 , 來 取 得 這 些 設 備 的 服 務 資 訊 。 進 一 步 , 由 S L P 來 蒐 集 並 整 合 這 些 各 式 各 樣 的 服 務 資 訊 為 S L P 的 服 務 位 址 以 及 服 務 屬 性 , 以 讓 使 用 者 能 透 過 S L P 來 取 得 O S G i 服 務 平 台 當 地 所 有 網 路 設 備 所 提 供 的 服 務 資 訊 。 為 了 要 讓 使 用 者 能 在 遠 端 操 作 就 可 以 取 得 O S G i 中 S L P 所 提 供 到 的 服 務 資 訊 並 對 該 設 備 做 控 制 , 我 們 在 使 用 者 的 行 動 裝 置 中 , 同 時 加 入 S L P 動 態 查 詢 取 得 服 務 以 及 S I P 控 制 服 務 的 能 力 。 透 過 使 用 者 行 動 裝 置 中 的 S L P 機 制 與 O S G i 中 的 S L P 機 制 溝 通 取 得 所 需 要 的 服 務 資 訊 , 再 交 由 使 用 者 行 動 裝 置 中 的 S I P 控 制 機 制 向 O S G i 發 出 控 制 信 號 , 即 可 存 取 此 區 域 中 任 何 異 質 網 路 的 設 備 , 我 們 將 S L P 和 S I P 的 結 合 機 制 稱 之 為 S e s s i o n I nt e g r a t e d S e r v i c e s U s e r A g e nt ( S I S U A ) 。

1 . 2 論 文 架 構

本 篇 論 文 將 在 第 二 章 簡 介 相 關 協 定 與 研 究 的 課 題,相 關 協 定 分 別 為 S e r v i c e L o c a t io n P r o t o co l ( S L P ) 、 U n i v e r s a l P l u g a nd P l a y ( U P n P )、J u x t a p o s e ( J X TA )、L i g h t w e i g h t D ir e c t o r y A c c e s s P r o t o c o l ( L D A P ) 、 N a m i n g A u t h o r it y P o i n t e r ( N A P T R ) 、 S e s s io n I n it i a t io n P r o t o c o l ( S I P ) 、 O p e n S e r v i c e s G a t e w a y I n i t i a t i v e ( O S G i ) , 前 面 五 者 為 [ 3 ] 關 於 S e r v i c e L o c a t io n 的 應 用 方 案 。 第 三 章 為 本 篇 論 文 的 系 統 架 構 流 程 介 紹 , 將 細 部 的 說 明 S L P 、 O S G i、 S I P 之 間 是 如 何 做 結 合 運 作 使 用 , 由 O S G i 扮 演 異 質 網 路 設 備 溝 通 的 橋 樑 , 並 將 偵 測 的 所 有 服 務 資 訊 交 給 S L P 統 一 整 合 公 告 家 庭 網 路 中 的 所 有 服 務 位 址 , 以 提 供 給 使 用 者 查 詢 。 最 後 透 過 信 號 控 制 協 定 S I P 來 與 O S G i 溝 通 協 調 , 以 控 制 異 質 網 路 的 設 備 。 在 第 四 章 裡 , 我 們 將 呈 現 整 個 系 統 實 作 的 介 面 。 而 第 五 章 則 是 實 驗 結 果 , 所 做 的

(13)

實 驗 是 以 一 個 虛 擬 的 設 備 不 停 的 在 每 秒 鐘 發 送 不 同 次 數 的 R e q u e s t 來 向 O S G i 服 務 平 台 做 干 擾 , 以 測 試 它 的 穩 定 程 度 。 最 後 在 第 六 章 中 , 我 們 將 為 本 篇 論 文 做 總 結 , 並 討 論 未 來 的 目 標 。

(14)

第 二 章 相 關 協 定 與 研 究

2 . 1 S L P 簡 介

S e r v i c e L o c a t io n P r o t o c o l ( S L P ) 是 由 I E T F 所 制 定 的 標 準 協 定 , 它 提 供 了 一 種 可 擴 展 、 有 彈 性 的 架 構 , 讓 使 用 者 無 論 走 到 何 地,皆 可 以 透 過 S L P 在 網 路 上 動 態 的 找 尋 可 用 的 服 務 位 址 及 其 相 關 資 訊 , 這 樣 的 彈 性 , 大 大 提 升 了 電 腦 設 備 的 可 攜 性 。 S L P 可 讓 使 用 者 自 行 設 定 想 要 提 供 的 服 務 類 型 , 並 設 定 屬 性 描 述 此 服 務 , 再 使 用 S L P 發 佈 在 網 路 上 , 以 供 他 人 取 用 。 此 外 , 當 使 用 者 想 取 得 特 定 服 務 時, 亦 可 使 用 S L P 過 濾 篩 選,以 取 得 所 需 要 使 用 的 服 務 。

S L P 的 應 用 環 境 除 了 在 企 業 區 域 網 路 外, 一 些 商 用 區 域 網 路 也 很 適 用 。 而 S L P 在 提 供 網 路 服 務 時 , 是 採 用 C l i e nt / S e r v e r 的 架 構 , C l i e nt 向 S e r ve r 提 出 所 要 尋 找 的 服 務 需 求 , 以 取 得 S e r ve r 回 應 的 服 務 資 訊 。 另 一 方 面 , S e r v e r 則 是 負 責 蒐 集 網 路 下 各 種 不 同 的 服 務 資 訊 , 以 提 供 給 C l i e nt 查 詢 使 用 。

2 . 1 . 1 S L P 元 件

根 據 [ 4 ] 和 [ 5 ] , S L P 的 元 件 主 要 分 成 三 個 部 份 :

1 . U s e r A g e n t ( 使 用 者 代 理 人 U A ) : 為 一 個 應 用 程 式 , 用 來 替 使 用 者 向 S e r v i c e Ag e nt 或 是 D i r e c t o r y A g e nt 查 詢 所 需 要 服 務 的 位 址 以 及 相 關 資 訊 。 多 半 為 一 台 P D A、 手 機 、 或 是 N o t e B o o k 等 可 移 動 的 電 腦 設 備 。

2 . S e r v i c e A g e n t ( 服 務 代 理 人 S A ) : 為 一 個 應 用 程 式 , 部 屬 於 一 個 區 域 中 , 用 來 向 U A 或 D A 宣 傳 一 或 多 種 的 服 務 , 較 適 用 於 一 般 小 型 區 域 網 路 。

(15)

3 . D ir e c t o r y A g e n t ( 目 錄 代 理 人 D A ) : 為 一 個 應 用 程 式 , 用 來 蒐 集 多 個 S A 所 宣 傳 的 服 務 , 以 供 U A 查 詢 使 用 。

2 . 1 . 2 S L P 元 件 運 作 模 式

U A 、 S A 、 與 D A 的 搭 配 運 作 , 可 分 為 兩 種 , 分 別 是 分 散 式 互 動 與 集 中 式 互 動 。 分 散 式 互 動 環 境 適 用 於 小 型 的 區 域 網 路 裡 , 可 為 一 或 多 個 S A 以 及 一 或 多 個 U A 所 構 成 。 而 集 中 式 互 動 環 境 較 適 用 於 中 型 或 大 型 的 企 業 網 路 裡 , 通 常 都 會 擁 有 較 多 個 S A , 相 對 的 網 路 負 載 也 會 比 較 重 , 因 此 可 使 用 一 或 多 個 D A 來 當 作 服 務 資 訊 的 集 中 地 , c a c he 多 個 S A 所 註 冊 的 服 務 , 並 定 時 從 S A 取 得 更 新 或 註 銷 的 訊 息 , 使 U A 不 再 需 要 向 多 個 S A 進 行 查 詢 , 以 降 低 網 路 負 載 , 提 高 速 率 。 而 多 個 D A 可 儲 存 相 同 的 S A 資 訊 , 以 免 某 個 D A 壞 了 導 致 癱 瘓 , 容 錯 力 高 。 以 下 即 將 介 紹 上 述 兩 種 互 動 環 境 的 過 程 。

圖 2 - 1 所 示 之 架 構 為 S L P 分 散 式 互 動 的 環 境。為 一 個 小 型 區 域 網 路 , 由 多 個 S A 負 責 宣 傳 本 身 提 供 的 服 務 , 供 U A 做 查 詢 。 首 先 , 由 U A 主 動 向 多 個 S A 發 出 M u l t i c a s t S e r v i c e R e q u e s t 的 請 求 訊 息 , 以 取 得 所 需 服 務 資 訊 。 之 後 每 個 S A 便 核 對 適 當 的 服 務 資 訊 , 分 別 回 應 U n i c a s t S e r v i c e R e p l y 訊 息 給 U A 。 如 果 說 該 網 路 沒 有 支 援 M u lt i c a s t 的 話 , 即 採 用 B r o a d c a s t 。

圖 2-1 UA 向多個 SA 查詢並取得服務資訊的過程

在 圖 2 - 2 中 說 明 了 U A 以 及 S A 如 何 發 現 D A 的 所 在 位 址 。

(16)

D A 有 兩 種 方 式 可 以 被 U A 以 及 S A 發 現。第 一 種 是 由 D A 主 動 定 時 發 出 M u lt i c a s t D A Ad v e r t i s e m e nt 訊 息 給 U A 和 S A 。 第 二 種 是 當 U A 或 S A 剛 連 上 網 路 時 錯 過 了 某 時 段 的 D A A d ve r t i s e m e nt 訊 息 , 卻 又 想 立 即 使 用 D A , 則 U A 或 S A 將 主 動 發 出 M u lt i c a s t S e r v i c e R e q u e s t 的 請 求 訊 息 , 其 查 詢 服 務 類 型 為 s e r v i c e ︰ d i re c t o r y - a g e n t , 用 以 表 示 要 尋 找 D A 這 項 服 務 。

當 網 路 上 多 個 D A 收 到 之 後 , 即 會 分 別 回 應 U n i c a s t D A A d v e r t i s e m e n t 訊 息 給 U A 或 S A, 告 知 其 所 在 。 而 U A 要 發 現 S A 也 跟 上 述 U A 或 S A 發 現 D A 的 方 式 一 致 , 只 是 將 請 求 訊 息 中 的 查 詢 服 務 類 型 改 為 s e rv i c e ︰ s e r v i c e - a g e n t 即 可 。

圖 2-2 UA 和 SA 如何發現 DA 的過程

圖 2 - 3 所 示 之 架 構 為 S L P 集 中 式 互 動 的 環 境。通 常 為 中 型 或 較 大 型 的 企 業 網 路 , 多 個 S A 向 一 或 多 個 D A 註 冊 本 身 所 提 供 的 服 務 資 訊 , 供 U A 做 查 詢 。 首 先 由 每 個 S A 發 出 U n i c a s t S e r v i c e R e g i s t e r 的 訊 息 , 向 D A 註 冊 自 己 所 提 供 的 服 務 資 訊 , 接 著 D A 回 應 U n i c a s t S e r v i c e A c k no w l e d g e m e nt 訊 息 給 S A , 用 以 確 認 註 冊 是 否 順 利 完 成。之 後 U A 只 需 向 單 一 個 D A 發 出 U n i c a s t S e r v i c e R e q u e s t 訊 息 , 索 取 所 需 服 務 資 訊 , 等 待 D A 回 傳 U n i c a s t S e r v i c e

(17)

R e p l y 訊 息 , 當 中 挾 帶 服 務 資 訊 給 U A 即 可 。

圖 2-3 多個 SA 向一或多個 DA 註冊服務,UA 向 DA 取得服務 2 . 1 . 3 S L P 服 務 位 置

在 S L P 裡 , 服 務 的 位 置 格 式 為 s e r v i c e ︰ < s r v t y p e > ︰ / / < a d d r s p e c >, < s r v t y p e > 即 為 S L P 服 務 類 型 , 可 分 為 一 般 類 型 以 及 抽 象 類 型 。 在 一 般 類 型 上 , 通 常 為 任 何 標 準 網 路 通 訊 的 協 定 , 如 ht t p、 lp r , 例 如 ︰ s e r v i c e ︰ h t t p。 而 在 抽 象 類 型 方 面 , 其 格 式 為 s e r v i c e ︰ < a b s t r a c t - t y p e > ︰ < c o n c re t e - t y p e >, < a b s t r a c t - t yp e >

代 表 抽 象 的 服 務 類 型 , 如 p r i nt e r , < c o nc r e t e - t yp e > 則 表 示 實 際 的 服 務 類 型 , 如 ht t p , 例 如 ︰ s e r v i c e ︰ p r i n t e r: h t t p 。 < a d d r s p e c >

則 為 H o s t n a m e 或 是 I P Ad d r e s s 。

在 一 般 類 型 以 及 抽 象 類 型 之 後 可 加 入 特 殊 的 子 字 串 , 以 ". "

字 元 做 為 區 隔 , 此 子 字 串 稱 為 N a m i n g Au t ho r it y。 同 樣 的 服 務 類 型 使 用 不 同 的 N a m i n g A u t ho r it y 代 表 不 同 的 服 務 類 型 。 例 如 ︰ s e r v i c e ︰ p r i n t e r. o n e ︰ l p r 和 s e r v i c e ︰ p r i n t e r. t w o ︰ l p r , 兩 者 代 表 不 同 的 服 務 類 型 。

(18)

以 下 為 S L P 服 務 位 置 的 範 例 。假 設 U A 發 出 S e r v i c e R e q u e s t 訊 息 給 D A , 要 求 服 務 型 態 為 s e r v i c e ︰ p r i nt e r , 則 經 配 對 過 濾 之 後,找 出 兩 個 符 合 此 服 務 類 型 需 求 的 服 務 位 址,分 別 為 s e r v i c e ︰ p r i n t e r ︰ l p r ︰ / / m y p r i n t e r. c o m 、 s e r v i c e ︰ p r i n t e r ︰ h t t p ︰ / / h o s t p r i n t e r. c o m 。

2 . 1 . 4 S L P 服 務 範 圍

S A 和 D A 通 常 在 使 用 時 , 都 會 涵 蓋 一 或 多 個 有 效 範 圍 ( S c o p e ) , 像 是 一 層 樓 、 一 棟 建 築 、 一 間 實 驗 室 裡 有 哪 些 服 務 資 訊 , 用 以 群 組 方 式 管 理 , 方 便 在 查 詢 時 過 濾 使 用 。 S c o p e 預 設 則 以 D E FA U LT 表 示 。 至 於 U A 則 是 可 有 可 無 , 可 以 設 定 一 或 多 個 S c o p e , 也 可 以 不 用 設 定 。

在 不 用 設 定 S c o p e 的 情 形 下 , 表 示 U A 在 查 詢 時 能 發 現 網 路 上 任 何 有 效 S c o p e 裡 所 提 供 的 服 務 資 訊 。 在 此 有 兩 個 例 外 , 當 U A 發 出 S e r v i c e R e q u e s t 訊 息 中 , 其 服 務 類 型 分 別 為 s e r v i c e : d i r e c t o r y- a g e n t 和 s e r v i c e : s e r v i c e - a g e n t 時 , 也 就 是 要 發 現 D A 或 S A 時 , S c o p e - L i s t 為 0 。

圖 2 - 4 為 假 設 U A 要 找 尋 X 和 Y 兩 個 S c o p e 裡 的 服 務 資 訊 , 因 為 X S c o p e 的 網 路 環 境 為 分 散 式 互 動 網 路 , 因 此 U A 則 使 用 M u lt i c a s t S e r v i c e R e q u e s t 給 多 個 S A 。 而 Y S c o p e 為 集 中 式 互 動 網 路 , 因 此 使 用 U n i c a s t S e r v i c e R e q u e s t 給 一 個 D A 。

(19)

圖 2-4 UA 設定 DA 和 SA 所支援的 Scope 進行查詢 2 . 1 . 5 S L P 訊 息

S L P H e a d e r: 所 有 S L P 訊 息 開 頭 皆 帶 有 一 個 標 頭 , 用 以 得 知 S L P 的 版 本、標 頭 後 面 緊 跟 著 是 何 種 訊 息、訊 息 總 長、控 制 旗 標 、 連 線 序 號 、 以 及 訊 息 發 出 需 求 以 及 回 應 所 要 使 用 的 共 同 語 言 ( 如 e n 、 d e ) 。 而 控 制 旗 標 共 有 三 個 , 分 別 為 :

< O > : O V E R F L O W F l a g ( 0 x 8 0 )。 表 示 訊 息 是 否 有 超 過 資 料 包 的 長 度 限 制 。 U A 一 般 發 佈 S e r v i c e R e q u e s t 訊 息 , 通 常 是 使 用 U D P 資 料 包 來 發 送 , 除 了 U D P 以 及 其 他 標 頭 以 外 , 在 此 預 設 最 大 的 傳 輸 單 元 為 1 4 0 0 b yt e s。若 是 U A 向 D A 查 詢 某 個 服 務 類 型 的 資 訊 , 則 當 D A 回 傳 給 U A 符 合 的 服 務 資 訊 大 於 最 大 傳 輸 單 元 時 , 會 將 此 回 傳 訊 息 縮 減 為 符 合 最 大 傳 輸 單 元 長 度 , 將 O V E R F L O W F l a g 設 定 之 後 回 傳 。 此 時 U A 收 到 之 後 , 就 會 改 以 T C P 連 線 的 方 式 , 重 新 傳 輸 。

< F >: F R E S H F l a g ( 0 x 4 0 )。 當 S A 向 D A 重 新 註 冊 某 服 務 時 , 若 設 定 此 旗 標 , 則 蓋 過 原 先 的 服 務 訊 息 , 若 沒 設 定 則 代 表 更 新 原 先 服 務 訊 息 的 某 些 內 容 。

< R > : R E Q U E S T M C A S T F l a g ( 0 x 2 0 ) 。 用 來 決 定 發 佈 的 訊 息 是 否 要 使 用 M u lt i c a s t 。 S L P 用 來 監 聽 收 到 訊 息 的 慣 用 埠 號 為

(20)

4 2 7 , 以 提 供 回 應 及 確 認 訊 息 使 用 。 而 傳 送 訊 息 則 使 用 非 慣 用 臨 時 性 的 埠 號 。 M u lt i c a s t Ad d r e s s 為 2 3 9 . 2 5 5 . 2 5 5 . 2 5 3 , 預 設 T T L 值 為 2 5 5 。

以 下 為 S L P H e a d e r 之 後 , 所 接 的 11 種 訊 息 :

1 . S e r v i c e R e q u e s t : 為 U A 向 S A 或 D A 發 出 查 詢 服 務 需 求 以 及 U A 或 S A 尋 找 D A 時 使 用 。 使 用 者 可 依 照 個 人 的 喜 好 , 設 定 想 搜 尋 的 服 務 類 型 、 服 務 範 圍 、 以 及 設 定 某 些 服 務 的 屬 性 , 透 過 L D A P v 3 S e a r c h F i l t e r 進 行 查 詢 過 濾 。 而 在 S e r v i c e R e q u e s t 比 較 特 別 的 欄 位 是 P r e v io u s R e s p o n d e r L i s t, 當 U A 使 用 M u lt i c a s t 傳 送 時 , 可 能 會 因 為 傳 送 途 中 發 生 某 些 錯 誤 , 而 導 致 傳 送 的 群 組 中 只 有 某 幾 個 S A 或 D A 有 收 到 訊 息 而 回 應 。 因 此 U A 可 由 回 應 訊 息 中,得 知 哪 幾 個 S A 或 D A 有 收 到 訊 息,

而 將 它 們 的 I P Ad d r e s s 紀 錄 至 此 欄 位 。 當 再 次 發 送 M u lt i c a s t 重 傳 時 , 可 用 來 分 辨 哪 個 I P A d d r e s s 之 前 已 經 傳 送 過 ,不 需 要 再 次 傳 送 。 若 要 求 訊 息 使 用 U n i c a s t , 則 此 欄 位 總 是 為 空 。 以 下 為 三 個 U A 發 出 S e r v i c e R e q u e s t 進 行 查 詢 服 務 的 簡 單 例 子,

其 中 < t > 代 表 S e r v i c e Typ e,< s > 代 表 S c o p e,< p > 代 表 P r e d i c a t e。

 < t > = s e r v i c e : h t t p < s > = D E FA U LT < p > = ( e m p t y s t ri n g ) 此 S e r v i c e R e q u e s t 查 詢 在 D E FA U LT S c o p e 裡 , 所 有 ht t p 服 務 類 型 的 資 訊 。

 < t > = s e r v i c e : p o p 3 < s > = S A L E S , D E FA U LT < p > = ( u s e r = w u m p )

此 S e r v i c e R e q u e s t 查 詢 在 S A L E S 或 D E FA U LT S c o p e 裡,

所 有 p o p 3 服 務 類 型 中 , 擁 有 屬 性 為 u s e r , 其 值 為 w u m p 的 資 訊 。

 < t > = s e r v i c e : d i re c t o r y - a g e n t < s > = D E FA U LT < p > =

(21)

此 S e r v i c e R e q u e s t 查 詢 在 D E FA U LT S c o p e 裡 , 所 有 D A 服 務 類 型 中 的 資 訊 , 也 就 是 上 述 提 到 搜 尋 D A 的 方 法 。 當 D E FA U LT S c o p e 裡 的 D A 收 到 此 訊 息 時 , 皆 會 回 傳 D A A d v e r t i s e m e n t 給 U A 或 S A 。

2 . S e r v i c e R e p l y : 為 S A 或 D A 回 傳 查 詢 結 果 ( U R L E n t r i e s ) 或 錯 誤 訊 息 給 U A 。 U R L E nt r y 為 S L P 實 際 上 傳 輸 服 務 資 訊 的 基 本 單 元 , 其 中 包 含 了 服 務 位 置 、 服 務 有 效 的 存 活 時 間 、 以 及 安 全 認 證 等 等 。

3 . S e r v i c e R e g i s t r a t io n : 為 S A 向 一 或 多 個 D A 註 冊 所 提 供 的 服 務 訊 息,包 括 U R L E nt r y、服 務 類 型、服 務 範 圍 以 及 相 關 屬 性 。 4 . S e r v i c e D e r e g i s t e r: S A 發 出 註 銷 訊 息 至 D A, 告 訴 D A 它 所 註

冊 的 哪 個 服 務 或 是 服 務 的 哪 些 屬 性 需 要 註 銷 , 若 是 D A 回 傳 S e r v i c e A c k n o w l e d g m e n t 確 認 訊 息 的 話 , 代 表 註 銷 成 功 。 5 . S e r v i c e A c k n o w l e d g e : 為 D A 回 應 S A 註 冊 訊 息 是 否 成 功 。 6 . A t t r i b u t e R e q u e s t:U A 可 以 使 用 此 訊 息 來 得 知 某 個 服 務 所 提 供

的 屬 性 ( 如 s e r v i c e: ht t p:/ / m yho s t . c o m ) 或 某 服 務 類 型 範 圍 內 , 所 有 服 務 的 屬 性 ( 如 s e r v i c e : ht t p ) 。 並 可 依 Ta g - l i s t 來 取 得 所 需 要 的 幾 個 屬 性 值 , 不 需 全 部 取 得 。

7 . A t t r i b u t e R e p l y : 為 S A 或 D A 回 傳 符 合 的 屬 性 資 訊 給 U A 。 以 下 為 At t r i bu t e R e q u e s t 和 At t r i bu t e R e p l y 範 例 , 假 設 S A 向 D A 註 冊 兩 個 服 務 分 別 為 :

 U R L = s e r v i c e : p r i n t e r : l p r : / / m y h o s t . c o m/ p r i n t e r S c o p e - L i s t = L a b o r a t o r y

L a n g . Ta g = e n

A t t r i b u t e s = ( N a m e = P r i n t e r 1 ) , ( D e s c r i p t io n = P u b l i c ) , ( P r o t o c o l = L P R ) , ( L o c a t io n - D e s c r i p t io n = E 5 0 2 b ) , x - O K

(22)

 U R L = s e r v i c e : p r i n t e r : h t t p : / / m y h o s t . c o m/ s u b - p r i n t e r S c o p e - L i s t = L a b o r a t o r y

L a n g . Ta g = e n

A t t r i b u t e s = ( N a m e = P r i n t e r 2 ) , ( D e s c r i p t io n = P u b l i c ) , ( P r o t o c o l = h t t p ) , ( L o c a t io n - D e s c r i p t io n = E 5 0 2 a ) , x - B U S Y U A 向 D A 發 出 A t t r i b u t e R e q u e s t 為 :

 U R L = s e r v i c e : p r i n t e r S c o p e - L i s t = L a b o r a t o r y L a n g . Ta g = e n

Ta g - L i s t = N a m e , P r o t o c o l , x - * D A 回 應 U A 的 A t t r i b u t e R e p l y 為 :

( N a m e = P r i n t e r 1,P r i n t e r 2 ),( P r o t o c o l= l p r,h t t p ),x - O K,x - B U S Y 註 : x- 為 非 標 準 制 定 的 屬 性 。

8 . D A A d v e r t i s e m e n t : 告 知 U A 或 S A 本 身 的 U R L ( s e r v i c e : d ir e c t o r y- a g e n t: / / < a d d r s p e c > )、 S c o p e s、 A t t r i b u t e s ( 如 改 變 S A 重 新 註 冊 的 間 隔 時 間 ) 、 發 送 此 訊 息 的 時 間 等 資 訊 。

9 . S e r v i c e Ty p e R e q u e s t : U A 可 以 使 用 此 訊 息 來 得 知 目 前 網 路 上 的 S A 或 D A 提 供 了 哪 些 服 務 類 型 ( 可 查 詢 N a m i n g Au t ho r it y)。

1 0 . S e r v i c e Typ e R e p l y:為 S A 或 D A 回 傳 所 有 的 服 務 類 型 給 U A。

1 1 . S A A d v e r t i s e m e n t : 為 告 知 U A 或 D A 本 身 的 U R L ( s e r v i c e : s e r v i c e - a g e n t : / / < a d d r s p e c > ) 、 S c o p e s 、 A t t r i b u t e s 。

2 . 2 U P n P 簡 介

根 據 [ 9 ] U P nP 全 名 為 U n i v e r s a l P l u g a n d P la y, 是 由 微 軟 所 提 出 , 做 為 隨 插 即 用 週 邊 設 備 模 型 的 延 伸 , 由 一 群 標 準 協 定 所 構 成 , 像 是 H T T P 、 T C P 、 U D P 、 I P 、 X M L 等 , 用 於 P e e r - t o - P e e r 架 構 的 網 路 環 境 下,任 何 設 備 不 需 要 安 裝 驅 動 程 式 即 可 彼 此 互 相

(23)

通 訊 。 此 構 想 源 自 於 D H C P , 希 望 除 了 讓 設 備 的 網 路 位 址 自 動 取 得 之 外 , 其 它 設 定 也 能 自 動 化 取 得 , 以 達 到 操 作 容 易 、 有 彈 性 , 只 要 設 備 一 連 上 網 路 , 無 論 是 在 家 裏 或 是 在 公 司 等 任 何 地 點 , 皆 能 和 其 他 設 備 互 相 發 現 、 連 結 、 使 用 以 及 控 制 , 一 切 都 不 需 要 做 任 何 的 設 定 。

U P n P 的 基 本 元 件 有 三 個 , 如 圖 2 - 5 所 示 :

1 . 服 務 ( S e r v i c e ) : 在 U P n P 裡 , 一 個 服 務 提 供 了 一 組 記 錄 此 服 務 目 前 狀 態 的 變 數 , 以 表 現 服 務 的 動 作 。 例 如 : 印 表 機 列 印 服 務 , 它 可 能 包 含 了 像 是 開 始 、 停 止 列 印 的 動 作 , 以 及 目 前 是 否 為 空 閒 或 忙 碌 的 狀 態 變 數 資 訊 。

2 . 裝 置 ( D e v i c e ): 存 放 上 述 服 務 和 巢 狀 裝 置 的 容 器 , 稱 為 裝 置 。 像 是 印 表 機 提 供 列 印 服 務 。

3 . 控 制 點 ( C o n t r o l P o i n t ): 用 來 取 得 某 裝 置 的 描 述 說 明 、 服 務 資 訊 、 傳 送 動 作 訊 息 來 控 制 服 務 、 向 有 興 趣 的 服 務 訂 閱 其 狀 態 資 訊 , 當 服 務 狀 態 發 生 改 變 時 , 事 件 伺 服 器 便 會 回 傳 事 件 給 控 制 點 。

(24)

圖 2-5 UPnP 元件

以 下 為 U P nP 的 協 定 堆 疊 , 如 圖 2 - 6 所 示 , 由 於 U P nP 沿 用 既 有 的 標 準 通 訊 協 定 ( H T T P 、 U D P 、 T C P 、 I P 、 X M L ) , 所 以 能 夠 達 到 輕 易 的 跨 平 台。,以 下 將 簡 單 描 述 比 較 少 見 協 定 的 基 本 功 能。

1 . H T T P M U ( M u lt i c a s t ) 和 H T T P U ( U n i c a s t ) : 為 H T T P 的 延 伸 , 以 U D P / I P 傳 送 訊 息 , 被 S S D P 所 使 用 。

2 . S S D P ( S i m p l e S e r v i c e D i s c o v e r y P r o t o c o l) : 簡 單 服 務 發 現 協 定 , 內 建 於 H T T P M U 和 H T T P U 裡 , 使 裝 置 宣 傳 本 身 有 提 供 哪 些 服 務 , 以 及 控 制 點 如 何 發 現 網 路 上 有 哪 些 服 務 , 並 進 而 取 得 服 務 的 資 訊 。

3 . G E N A ( G e n e r i c E v e n t N o t i f i c a t io n A r c h i t e c t u r e ): 一 般 事 件 通 知 結 構 , 用 來 處 理 如 何 傳 送 訂 閱 的 訊 息 以 及 如 何 接 收 通 知 訊 息 。

4 . S O A P ( S i m p l e O b j e c t A c c e s s P r o t o c o l) : 簡 單 物 件 存 取 協 定 ,

(25)

定 義 如 何 使 用 X M L 和 H T T P 來 執 行 遠 端 程 序 呼 叫 的 方 式,為 網 際 網 路 上 進 行 R P C 通 訊 的 標 準 , 主 要 功 能 用 來 控 制 裝 置 。

圖 2-6 UPnP 協定堆疊 2 . 3 J X TA 簡 介

根 據 [ 1 0 ] J X TA 為 j u xt a p o s e 的 簡 寫 , 源 自 於 2 0 0 1 年 S u n M i c r o s y s t e m s 的 構 想 , 為 一 個 開 放 式 原 始 碼 的 計 畫 , 由 許 多 P e e r - t o - P e e r 的 協 定 所 構 成 , 這 些 協 定 定 義 了 一 組 X M L 訊 息 , 允 許 任 何 網 路 設 備 ( 蜂 巢 式 行 動 電 話 、 P D A、 大 型 電 腦 、 伺 服 器 ) 視 為 一 個 P e e r 來 彼 此 互 相 通 訊 、 監 控 、 組 成 群 體 、 發 現 、 宣 傳 服 務 , 以 達 成 分 散 式 的 網 路 架 構 。 使 用 J X TA 所 開 發 出 來 的 P 2 P 應 用 程 式 可 以 具 備 以 下 幾 個 特 點 : 1 . 可 以 動 態 的 找 尋 其 他 P e e r , 而 不 受 到 防 火 牆 以 及 N AT 的 限 制 2 . 簡 單 的 分 享 服 務 , 不 需 在 意 網 路 拓 撲 3 . 可 找 尋 網 路 位 址 資 訊 4 . 創 造 P e e r 群 體 來 提 供 服 務 5 . 遠 端 監 控 6 . P e e r 間 通 訊 相 當 安 全 可 靠 。

2 . 4 L D A P 簡 介

一 個 目 錄 是 由 許 多 個 物 件 所 構 成 , 而 在 這 些 物 件 中 , 包 含 了

(26)

許 多 個 屬 性 。 像 是 電 話 簿 由 許 多 人 名 所 構 成 , 而 每 個 人 名 中 又 存 取 了 許 多 的 相 關 資 訊 ( 電 話 號 碼、地 址 )。L D A P 全 名 為 L i g ht w e i g ht D ir e c t o r y A c c e s s P r o t o c o l, 輕 量 級 目 錄 存 取 協 定 , 用 來 查 詢 以 及 修 改 目 錄 服 務 ( R F C 1 7 7 7 ), 運 作 於 T C P / I P 之 上 , 為 C l i e nt / S e r v e r 的 網 路 架 構 , 首 先 由 密 西 根 大 學 所 實 作 出 來 , 因 為 基 於 X . 5 0 0 ( H e a v y w e i g h t S e r v i c e ) 此 目 錄 服 務 功 能 過 於 複 雜 , 而 從 中 移 去 某 些 功 能 , 使 其 簡 化 , 較 為 廣 泛 的 使 用 。 根 據 [ 11 ] 目 前 L D AP 所 使 用 的 版 本 為 L D A P v3 , 詳 述 細 節 記 載 於 R F C 4 5 1 0 。

當 資 料 ( E nt r y) 儲 存 至 L D AP S e r ve r 中 時 , L D A P C l i e nt 可 以 向 S e r ve r 查 詢 所 需 要 的 E nt r y 資 訊,而 L D A P S e a r c h F i lt e r s 即 是 提 供 此 方 面 的 功 能 。 由 C l i e nt 端 下 屬 性 及 其 值 的 術 語 向 S e r v e r 端 做 查 詢,經 過 濾 之 後,S e r ve r 端 回 傳 符 合 的 E nt r y 資 訊 給 C l i e nt 端 。 目 前 較 為 大 眾 所 熟 悉 的 標 準 為 R F C 2 2 5 4 L D AP v 3 S e a r c h F i lt e r s 。 S e a r c h F i lt e r s 可 以 使 用 的 運 算 子 像 是 & ( a n d ) 、

| ( o r )、! ( n o t )、~ = ( a p p r o x e q u a l )、> = ( g r e a t e r t h a n o r e q u a l)、< = ( l e s s t h a n o r e q u a l ) 、 * ( a n y ) 等 等 。

以 下 為 S e a r c h F i lt e r s 的 簡 單 例 子 :

 ( o b j e c t c l a s s = p o s i x A c c o u n t ) ( c n = M i c k e y M * )

( | ( u id = f r e d ) ( u i d = b i l l ) )

( & ( | ( u i d = j a c k ) ( u i d = j i l l ) ) ( o b j e c t c l a s s = p o s i x A c c o u n t ) ) 2 . 5 N A P T R 簡 介

根 據 [ 1 2 ] N AP T R 全 名 為 N a m i n g A u t h o r it y P o i nt e r , 出 自 於 R F C 2 9 1 5 , 為 D N S 紀 錄 的 一 種 類 型 , 可 將 一 個 網 域 名 稱 對 應 到 一 個 或 多 個 U R I 上 , 並 有 其 優 先 順 序 , 而 使 用 不 同 的 服 務 。 為 E N U M 服 務 中 一 項 重 要 的 功 能,定 義 電 話 號 碼 與 服 務 選 項 之 間 的

(27)

對 應 關 係 , 即 一 個 電 話 號 碼 可 以 對 應 多 個 服 務 項 目 。 2 . 6 S I P 簡 介

S e s s io n I n it i a t io n P r o t o c o l ( S I P ) 為 一 種 使 用 來 連 線 服 務 管 理 的 通 訊 協 定,起 初 是 由 哥 倫 比 亞 大 學 H e n n i n g S c h u l z r i n n e 教 授 和 其 研 究 小 組 於 西 元 1 9 9 6 年 向 I E T F 所 提 出 的 草 案,並 於 西 元 2 0 0 1 年 正 式 發 佈 R F C 3 2 6 1 規 範 [ 8 ], 其 後 於 數 份 R F C 中 , 新 增 加 強 了 許 多 關 於 安 全 性 以 及 身 份 認 證 等 領 域 的 內 容 , 如 表 2 - 1 。

表 2-1 SIP 相關 RFC 文件

在 每 個 S I P 帳 號 中 , 皆 以 獨 一 無 二 固 定 不 變 的 S I P U R I 位 址 來 表 示 , 以 達 到 終 端 連 線 的 目 的 。 S I P U R I 的 格 式 相 似 於 E - m a i l 位 址 , 其 格 式 為 s i p : u s r @ ho s t , 例 如 s i p : ha r r y @ c hu . e d u . t w 。

在 [ 8 ] 中 所 定 義 的 S I P 主 要 運 作 的 元 件 有 四 種 , 分 別 為 U s e r A g e n t 、 R e g i s t r a r S e r v e r 、 P r o x y S e r v e r 、 以 及 R e d i r e c t S e r v e r 。 每 一 個 U s e r A g e nt 皆 擁 有 一 個 S I P U R I, 並 可 扮 演 C l i e nt 端 的 角 色 來 發 送 S I P 訊 息 或 是 扮 演 S e r v e r 端 的 角 色 來 接 收 S I P 訊 息,以 建 立 連 線 彼 此 互 相 通 訊 。 R e g i s t r a r S e r v e r 負 責 管 理 並 維 護 U s e r A g e n t 的 S I P U R I 資 訊 , 當 使 用 者 輸 入 了 S I P 身 份 認 證 帳 號 和 密 碼 登 入 至 R e g i s t r a r S e r ve r 中 時 , 便 會 將 S I P U R I 對 應 I P 位 址 儲 存 到 資 料 庫 裡 , U s e r A g e nt 必 須 隨 時 的 向 R e g i s t r a r S e r ve r 更 新 S I P U R I 所 對 應 的 I P 位 址 , 以 讓 其 他 U s e r A g e n t 能 透 過 S I P U R I

(28)

輕 易 的 找 到 受 話 方 的 U s e r A g e nt 。 P r o x y S e r v e r 負 責 轉 送 U s e r A g e n t 以 及 其 它 P r o x y S e r v e r 所 發 出 的 S I P 訊 息 , 通 常 設 置 在 一 區 域 中。R e d i r e c t S e r ve r 則 是 紀 錄 每 個 區 域 P r o x y S e r v e r 的 資 訊。

如 圖 2 - 7 所 描 述 , 當 U s e r Ag e nt 想 與 某 個 受 話 方 U s e r A g e nt 通 話 時 , 便 將 S I P 訊 息 先 傳 送 給 當 地 的 P r o x y S e r v e r , 由 P r o x y S e r v e r 向 R e g i s t r a r S e r v e r 查 詢 受 話 方 U s e r A g e n t 的 S I P U R I 所 對 應 的 I P 位 址 , 若 是 R e g i s t r a r S e r ve r 中 有 存 在 此 筆 紀 錄 , 則 表 示 為 同 一 區 域 , P r o x y S e r v e r 便 直 接 轉 送 S I P 訊 息 至 受 話 方 。 若 紀 錄 不 存 在 , 則 表 示 受 話 方 可 能 不 在 同 一 區 域 中 , 此 時 P r o x y S e r v e r 改 向 R e d i r e c t S e r v e r 查 詢 其 他 區 域 的 P r o x y S e r v e r 位 址 資 訊 , 再 將 S I P 訊 息 轉 送 給 其 他 P r o x y S e r ve r , 最 後 傳 送 給 受 話 方 進 行 通 話 。

圖 2-7 SIP 通訊流程

S I P 訊 息 包 含 三 個 部 份 , 分 別 為 s t a r t - l i n e、 m e s s a g e - h e a d e r 、

(29)

以 及 m e s s a g e - bo d y, 如 圖 2 - 8。 s t a r t - l i n e 的 格 式 根 據 訊 息 類 型 為 R e q u e s t 或 R e s p o n s e 有 所 不 同 。 在 訊 息 類 型 為 R e q u e s t 時 , s t a r t - l i n e 的 格 式 為 R e q u e s t M e t h o d ( 需 求 目 的 )、 S I P U R I、 在 加 上 S I P 的 版 本 , 基 本 的 R e q u e s t M e t h o d 分 為 6 種 , 如 表 2 - 2 。 在 訊 息 類 型 為 R e s p o n s e 時 , s t a r t - l i n e 的 格 式 為 S I P 的 版 本 、 S t a t u s C o d e ( R e q u e s t 執 行 情 況 ) 、 S t a t u s C o d e 的 簡 短 描 述 , 基 本 的 R e s p o n s e S t a t u s C o d e 分 為 6 種 , 如 表 2 - 3 。 在 [ 8 ] 中 定 義 了 許 多 個 S I P 的 m e s s a g e - h e a d e r , 例 如 Vi a 、 F r o m 、 To 、 C a l l - I D 、 C o n t e n t - Ty p e 、 C o n t e n t - L e n g t h 等 等 。 總 共 分 成 四 類 , 分 別 為 G e n e r a l - h e a d e r 、 E n t it y - h e a d e r 、 R e q u e s t - h e a d e r 、 R e s p o n s e - h e a d e r。而 在 m e s s a g e - b o d y 訊 息 主 題 部 份,是 透 過 S D P 協 定 攜 帶 協 商 訊 息 進 行 溝 通 。

表 2-2 SIP Request Method

(30)

表 2-3 SIP Response Status Code

圖 2-8 SIP 訊息格式 2 . 7 O S G i 簡 介

根 據 [ 6 ] 得 知 O p e n S e r v i c e G a t e w a y i n it i a t i v e ( O S G i ) 起 源 於 1 9 9 9 年 三 月 , 為 O S G i A l l i a n c e 所 制 定 的 一 個 開 放 式 的 標 準 以 及 服 務 平 台 , 其 組 織 成 員 包 括 世 界 各 大 廠 商 如 I B M 、 I nt e l 、 S u n M i c r o s y s t e m s 、 B M W 、 M o t o r o la 、 N o k i a 、 S o n y 等 等 。 至 今 , 最 新 的 標 準 為 O S G i S p e c i f i c a t io n 4 . 1 , 如 圖 2 - 9 所 示 。 各 大 廠 商 只 要 遵 循 此 標 準 所 開 發 出 來 的 應 用 程 式 , 皆 可 在 同 一 個 O S G i 平 台 上 運 行。此 服 務 平 台 即 扮 演 著 住 宅 閘 道 器 的 角 色,像 是 一 台 A D S L 數 據 機 、 纜 線 數 據 機 、 機 上 盒 、 P C、 路 由 器 等 等 , 當 做 遠 端 服 務 供 應 者與 本 地 端 設 備 的 橋 樑,在 外 部 廣 域 網 路 與 內 部 區 域 網 路 之 間 , 做 點 對 點 服 務 傳 送 。 透 過 O S G i 平 台 可讓 使 用 者 視 其 需 求 取 得 遠 端 服 務 供 應 商 所 提 供 的 應 用 程 式 和 加 值 服 務 , 而 下 載 到

(31)

O S G i 平 台 的 軟 體 會 自 動 的 安 裝 、 執 行 。 目 前 此 服 務 平 台 多 半 應 用 在 家 庭 、 汽 車 以 及 小 型 設 備 ( 手 機 、 P D A) 裡 , 如 圖 2 - 1 0 所 示 。

圖 2-9 OSGi 標準發展概況

圖 2-10 OSGi 服務平台連接各式網路

O S G i 服 務 平 台 提 供 一 個 應 用 程 式 運 算 的 環 境 稱 為 O S G i F r a m e w o r k, 此 框 架 為 輕 量 級 J a v a 語 言 容 器 , 執 行 在 此 容 器 中 的

(32)

應 用 程 式 稱 為 B u nd l e , B u n d l e 可 被 動 態 的 安 裝 、 更 新 、 移 除 , 皆 不 需 要 重 新 啟 動 O S G i 服 務 平 台 。 而 B u n d l e 與 B u n d l e 之 間 可 透 過 O S G i F r a m e w o r k 互 相 溝 通 使 用 , 提 供 一 或 多 個 服 務 。 一 個 擁 有 O S G i 機 制 的 閘 道 器 稱 為 O S G i S e r v i c e G a t e w a y。 如 圖 2 - 11 所 示 為 O S G i 服 務 平 台 的 架 構 圖 。

圖 2-11 OSGi 服務平台的架構

J V M: J a v a 的 執 行 環 境 ,提 供 跨 平 台、 可 攜 式 、安 全 等 好 處 。 事 實 上 , O S G i F r a m e w o r k 本 身 也 是 以 一 個 B u n d l e 形 式 存 在 , 因 此 O S G i F r a m e w o r k 和 其 他 B u nd l e 皆 運 行 於 J V M 之 上 。

C l a s s L o a d i n g : B u n d l e 為 J a r 檔 案 , 其 中 包 含 了 許 多 C l a s s 可 執 行 檔 , 這 些 C l a s s 可 執 行 元 件 依 照 命 名 空 間 的 不 同 , 被 裝 入 到 不 同 的 P a c k a g e 中 。 如 圖 2 - 1 2 所 示 , B u n d l e 可 以 E xp o r t 自 己 的 C l a s s P a c k a g e 分 享 給 其 他 B u n d l e 使 用 , 亦 可 I m p o r t 其 他 B u n d l e 所 分 享 的 C l a s s P a c k a g e 給 自 己 使 用 , 以 及 擁 有 私 有 的 C l a s s 供 自 身 使 用 , 隱 藏 在 內 部 , 這 樣 可 節 省 程 式 的 開 發 時 間 , 增 加 效 能。而 O S G i F r a m e w o r k 則 是 用 來 管 控 B u nd l e 所 分 享 出 來

(33)

的 C l a s s , 以 及 辨 別 哪 個 B u nd l e 的 版 本 比 較 新 。

圖 2-12 Bundle Class Loading

L i f e C y c l e M a n a g e m e n t : 如 圖 2 - 1 3 所 示 , 運 行 在 O S G i F r a m e w o r k 上 的 B u n d l e 被 O S G i F r a m e w o r k M a n a g e m e n t A g e n t 所 控 管 , 有 其 生 命 週 期 , 可 分 成 六 種 狀 態 , 分 別 為 安 裝 ( I n s t a l l ) 、 等 待 啟 動 ( R e s o l v e d ) 、 啟 動 ( S t a r t i n g ) 、 執 行 ( A c t i v e ) 、 停 止 ( S t o p p i n g ) 、 以 及 移 除 安 裝 ( U n i n s t a l l ) 。

圖 2-13 Bundle Life Cycle

S e r v i c e R e g i s t r y: 如 圖 2 - 1 4 和 2 - 1 5 所 示 , O S G i 提 供 了 一 個 服 務 註 冊 機 制 , 當 B u nd l e 啟 動 時 , 可 動 態 的 註 冊 所 提 供 的 服 務

(34)

至 S e r v i c e R e g i s t r y 中 , 使 得 其 他 B u nd l e 能 依 據 服 務 介 面 向 S e r v i c e R e g i s t r y 取 得 所 需 服 務 物 件 來 使 用 , 以 達 到 B u n d l e 與 B u n d l e 之 間 能 夠 共 用 某 些 物 件 來 互 相 合 作 ,完 成 更 複 雜 的 任 務 。

圖 2-14 Service Registry

圖 2-15 Bundle Export and Import Services

S e r v i c e s : O S G i 制 定 了 四 種 類 型 的 S t a n d a r d S e r v i c e s , 分 別 為 F r a m e w o r k S e r v i c e s 、 S ys t e m S e r v i c e s 、 P r o t o c o l S e r v i c e s 、 M i s c e l l a n e o u s S e r v i c e s 。 其 介 紹 如 下 所 述 :

1 . F r a m e w o r k S e r v i c e s

 P e r m i s s io n A d m i n: 此 服 務 是 用 來 管 理 使 用 者 操 作 B u n d l e 的 許 可 權 。

 C o n d i t io n a l P e r m i s s io n Ad m i n: 為 P e r m i s s io n A d m i n 的 延

(35)

伸 。 在 某 段 時 間 下 , 一 些 條 件 成 立 時 , 許 可 權 將 會 被 檢 查 。 像 是 移 動 裝 置 移 動 到 某 個 地 點 範 圍 時 , 即 可 被 允 許 某 些 操 作 。

 P a c k a g e Ad m i n : 管 理 B u n d l e 的 E x p o r t P a c k a g e 以 及 I mp o r t P a c k a g e 中 的 相 關 資 源 。

 S t a r t L e v e l : 管 理 B u n d l e 的 啟 動 順 序 。

 U R L H a n d l e r s:可 以 使 B u n d l e 動 態 的 分 散 新 的 內 容 方 案 , 以 處 理 U R L C l a s s 。

2 . S y s t e m S e r v i c e s

 L o g S e r v i c e : 紀 錄 警 告 、 錯 誤 資 訊 , 並 可 分 送 這 些 資 訊 給 有 訂 閱 的 B u nd l e s 。

 C o n f i g u r a t io n Ad m i n: 提 供 有 彈 性 、 動 態 的 組 態 模 組 來 設 定 取 得 系 統 資 訊 。

 E v e n t Ad m i n : 提 供 一 般 、 有 彈 性 的 公 告 以 及 訂 閱 事 件 的 技 術 , 並 支 援 同 步 和 非 同 步 的 事 件 傳 送 。

 D e v i c e Ac c e s s: 當 有 一 新 的 設 備 加 到 O S G i 中 時 , 便 會 為 它 配 置 驅 動 程 式 , 以 進 行 管 理 。

 U s e r A d m i n : 用 來 管 理 使 用 者 的 權 限 。

 I O C o n n e c t o r : 允 許 B u n d l e 提 供 新 的 設 備 連 線 方 案 , 像 是 j a va x. m i c r o e d it i o n. io P a c k a g e 。

 P r e f e r e n c e S e r v i c e : 提 供 個 人 化 設 定 的 服 務 。

 D e v i c e M a n a g e m e n t Tr e e : 提 供 抽 象 樹 來 管 理 服 務 資 訊 。

 D e p lo y m e n t Ad m i n:提 供 從 一 個 檔 案 中 部 屬 多 個 製 品 的 服 務 。

 A p p l i c a t io n Ad m i n:提 供 一 模 組 可 依 照 需 求 來 註 冊 取 得 應 用 程 式 。

(36)

 M o n it o r i n g : 對 B u n d l e 提 供 一 套 標 準 方 法 , 讓 它 們 能 提 供 自 身 的 性 能 資 訊 。

 F o r e i g n A p p l i c a t io n s : 提 供 其 他 的 應 用 程 式 模 組 來 存 取 O S G i 的 函 式 。

3 . P r o t o c o l S e r v i c e s

 H t t p S e r v i c e : 為 一 S e r v l e t 執 行 環 境 , 即 We b S e r v e r , 可 透 過 H t t p 協 定 進 行 存 取 。

 U P n P S e r v i c e: 提 供 U P n P - t o - O S G i 以 及 O S G i - t o - U P n P 的 轉 換 功 能 。

 J i n i S e r v i c e: 提 供 J i n i - t o - O S G i 以 及 O S G i - t o - J i n i 的 轉 換 功 能 。

4 . M i s c e l l a n e o u s S e r v i c e s

 Wir e Ad m i n: 將 不 同 的 服 務 聯 繫 在 一 起 , 使 得 服 務 物 件 像 是 在 同 一 條 線 上 , 互 相 交 換 使 用 。

 X M L P a r s e r : 允 許 B u n d l e 透 過 解 析 器 取 得 屬 性 , 相 容 於 J A X P 。

S e c u r it y : 提 供 J a v a 程 式 碼 安 全 機 制 , 像 是 C l a s s 、 F i e l d 、 F u n c t io n 加 上 修 飾 詞 P r i v a t e。 另 外 O S G i 還 提 供 了 安 全 服 務 註 冊 機 制 , 使 得 服 務 被 合 適 的 B u nd l e 索 取 使 用 。

圖 2 - 1 6 為 O S G i B u n d l e 以 J a r 壓 縮 檔 的 方 式 部 屬 在 O S G i 服 務 平 台 上 , 其 中 包 含 的 主 要 元 件 如 下 所 述 :

 m a n i f e s t . m f : 用 來 描 述 B u n d l e 資 訊 的 檔 案 , 像 是 B u n d l e 的 名 稱、版 本、描 述、哪 個 C l a s s 為 啟 動 類 別、C l a s s P a t h、

以 及 想 要 I m p o r t 和 E xp o r t 的 P a c k a g e 或 是 S e r v i c e 。

 啟 動 類 別 ( B u n d l e A c t i v a t o r C l a s s ) : 此 C l a s s 會 實 作 B u n d l e A c t i v a t o r 介 面 所 制 定 的 S t a r t 和 St o p 方 法 , 當

(37)

B u n d l e 啟 動 或 停 止 時 , 即 會 依 照 此 方 法 來 執 行 程 式 。

 許 多 的 C l a s s 可 執 行 檔 、 說 明 文 件 、 H t m l 檔 、 圖 檔 、 以 及 原 生 碼 。

圖 2-16 OSGi Bundle O S G i 在 設 計 上 具 有 以 下 幾 個 優 點 :

1 . 與 作 業 平 台 無 關 : O S G i A P I 可 以 在 任 何 硬 體 平 台 以 及 作 業 系 統 中 實 作 出 來 , 與 傳 統 閘 道 器 只 能 侷 限 在 單 一 作 業 系 統 中 使 用 有 所 不 同 。

2 . 與 應 用 程 式 無 關 : 軟 體 開 發 廠 商 只 要 根 據 O S G i 所 開 發 出 來 的 標 準 AP I 去 實 作 不 同 的 應 用 程 式 , 即 可 提 供 多 樣 化 的 服 務 , 不 必 侷 限 於 某 個 領 域 中 。

3 . 安 全 性 : O S G i 制 定 了 許 多 不 同 等 級 的 安 全 性 , 像 是 物 件 存 取 權 、 下 載 模 組 簽 署 等 , 可 依 不 同 需 求 來 使 用 。

4 . 多 重 服 務 : 使 用 者 可 依 照 個 人 喜 好 來 選 擇 安 裝 不 同 服 務 供 應 商 所 提 供 的 服 務 。

5 . 多 重 區 域 網 路 技 術 : O S G i 整 合 了 各 式 各 樣 的 區 域 網 路 技 術 , 像 是 B l u e t o o t h、 H AVi 、 I E E E 8 0 2 . 11 、 I E E E 1 3 9 4 、 H o me R F 、 U P n P 、 J i n i 等 等 , 並 強 化 補 足 了 各 種 缺 點 。

6 . 多 重 設 備 存 取 技 術 : O S G i 實 作 了 服 務 導 向 的 概 念 , 可 透 過

(38)

B r i d g e B u n d l e 的 轉 換 , 將 不 同 技 術 的 裝 置 註 冊 至 S e r v i c e R e g i s t r y 中,成 為 O S G i D e v i c e S e r v i c e ( I m p o r t ),供 其 他 O S G i 上 的 S e r v i c e 使 用 。 亦 可 將 S e r v i c e 經 由 設 定 某 些 屬 性 之 後 , 註 冊 至 S e r v i c e R e g i s t r y 中 , 再 透 過 B r i d g e B u n d l e 轉 換 , 成 為 Vi r t u a l D e v i c e ( E x p o r t ) 。 此 動 作 的 好 處 像 是 讓 U P n P 網 路 中 的 D e v i c e 可 透 過 O S G i 與 J i n i 網 路 中 的 D e v i c e 做 溝 通 使 用。

7 . 與 既 有 的 標 準 相 容:O S G i 所 制 定 的 規 格 輔 助 了 現 有 的 網 路 技 術 , 使 它 們 能 夠 互 相 的 溝 通 使 用 。 此 好 處 讓 各 家 服 務 供 應 商 能 專 心 開 發 設 備 , 不 需 考 慮 相 容 性 問 題 。

目 前 實 作 O S G i 服 務 平 台 的 開 放 式 原 始 碼 有 O s c a r 、 K n o p f l e r f i s h 、 E q u i n o x 等 等 , 其 中 以 規 範 [ 7 ] O p e n S e r v i c e C o n t a i n e r A r c h it e c t u r e ( O s c a r ) 最 為 被 普 遍 的 使 用 。 如 圖 2 - 1 7 所 示,O s c a r 目 前 已 在 O S G i R e l e a s e 3 中 停 止 開 放,並 更 名 為 F e l i x,

轉 由 Ap a c he 來 開 發 , 實 作 O S G i R e l e a s e 4 。

圖 2-17 Oscar OSGi 2 . 8 相 關 研 究

在 全 域 無 所 不 在 的 計 算 環 境 中,提 供 了 許 多 的 服 務 位 址 資 訊 以 及 多 媒 體 資 源 , 因 此 在 [ 1 ] 中 提 出 了 一 個 智 慧 系 統 , 它 運 用 了

(39)

藍 芽 、 G P S 相 關 裝 置 來 做 位 置 感 測 , 而 S L P 來 做 服 務 資 源 的 發 現 , 最 後 經 由 S I P 來 控 制 服 務 資 源 的 目 的 。

而 [ 2 ] 與 [ 1 ] 所 提 出 的 架 構 相 似 , 皆 是 以 S L P 來 做 服 務 資 源 的 發 現 , S I P 做 控 制 多 媒 體 設 備 。 透 過 S L P S A/ D A 來 宣 傳 家 庭 網 路 裡 的 多 媒 體 服 務 資 訊 , 提 供 給 使 用 者 行 動 裝 置 裡 的 S L P U A 做 查 詢 使 用。另 外 使 用 者 行 動 裝 置 裡 的 S I P U A 發 送 R e f e r S I P 訊 息 給 家 庭 網 路 裡 的 M u lt i - D e v i c e S ys t e m M a n a g e r ( M D S M ) , 透 過 M D S M 中 介 角 色 以 t h i r d - p a r t y c a l l c o n t r o l 的 方 式 來 做 會 議 的 轉 換 。

[ 3 ] 則 是 將 S L P 的 服 務 發 現 機 制 透 過 變 更 S I P 功 能 來 實 現,像 是 註 冊 服 務 資 訊 就 是 以 S I P R e g i s t e r 方 法 來 達 成 , 內 容 包 含 U R L 以 及 At t r i b u t e s 等 標 頭。而 取 得 服 務 資 訊 使 用 S I P O p t io n s 方 法 來 達 成 , 查 詢 術 語 則 是 包 含 在 標 頭 檔 中 。

[ 1 3 ] 主 要 是 提 到 O S G i 服 務 平 台 如 何 結 合 各 種 服 務 發 現 協 定 , 像 是 U P nP 以 及 J i n i, 透 過 它 們 的 B r i d g e B u n d l e 來 達 到 像 是 U P n P 網 路 中 的 服 務 或 裝 置 轉 換 成 O S G i 服 務,與 O S G i 上 的 其 它 服 務 互 相 溝 通 使 用 , 或 是 O S G i 服 務 轉 換 成 U P nP 網 路 中 的 虛 擬 服 務 或 裝 置 等 , 以 達 成 橋 接 異 質 網 路 的 功 能 。

[ 1 4 ] 提 出 了 一 個 擁 有 S I P 能 力 的 行 動 裝 置 如 何 與 O S G i 內 部 的 設 備 ( 像 是 U P nP ) 做 連 結 , 它 們 在 O S G i 服 務 平 台 中 建 置 了 S I P B r i d g e B u n d l e 、 U P n P B r i d g e B u n d l e 來 分 別 解 析 轉 換 S I P 、 U P n P 網 路 的 訊 息 , 以 及 使 S I P B r i d g e B u n d le 和 U P nP B r i d g e B u n d l e 互 相 溝 通 的 B r i d g e B u n d l e。 使 用 者 行 動 裝 置 發 送 S I P M e s s a g e 方 法 的 控 制 訊 息 至 O S G i 服 務 平 台 中 , 透 過 O S G i 中 的 S I P B r i d g e B u n d l e 來 解 析 S I P 訊 息 。 再 將 解 析 完 成 的 控 制 訊 息 交 給 S I P B r i d g e B u n d l e 和 U P n P B r i d g e B u n d l e 互 相 溝 通 的 B r i d g e

(40)

B u n d l e , 再 傳 給 U P n P B r i d g e B u n d l e 轉 換 成 U P n P 訊 息 傳 送 到 U P n P 網 路 中 , 以 達 到 控 制 U P n P 網 路 設 備 的 目 的 。

最 後 [ 1 5 ] 與 [ 1 4 ] 相 似,皆 為 行 動 裝 置 使 用 S I P 透 過 O S G i 去 控 制 家 庭 網 路 設 備 的 議 題 , 但 是 它 將 在 O S G i 服 務 平 台 中 的 S I P 中 介 B u nd l e 細 分 成 更 明 確 的 模 組 , 像 是 S I P 模 組 負 責 解 析 S I P 訊 息 , C o nt r o l 模 組 負 責 接 收 由 S I P 模 組 傳 送 過 來 的 控 制 訊 息 來 控 制 家 庭 網 路 設 備 。

由 上 述 幾 篇 相 關 研 究 可 知 , 目 前 沒 有 議 題 是 將 S L P 、 S I P 、 O S G i 等 技 術 做 個 整 合 , 將 S L P 建 置 於 O S G i 中 來 統 整 所 有 服 務 發 現 協 定 的 服 務 資 訊 供 使 用 者 查 詢 , 再 透 過 S I P 與 O S G i 中 的 B r i d g e B u n d l e 溝 通 以 達 成 異 質 網 路 控 制 的 目 的 。 因 此 我 們 將 在 第 三 章 論 述 我 們 所 提 出 的 動 態 服 務 發 現 、 整 合 、 與 控 制 架 構 。

(41)

第 三 章 系 統 架 構 流 程

3 . 1 系 統 架 構

在 系 統 架 構 方 面 主 要 分 成 兩 個 部 份 : C l i e nt 與 S e r ve r 。 如 圖 3 - 1 所 示,C l i e n t 端 為 S I S U A,由 L o c a t o r ( S L P U A ) 以 及 C o n t r o l l e r ( S I P U A ) 所 組 成 。 S L P U A 扮 演 查 詢 服 務 的 角 色 , 而 S I P U A 則 是 扮 演 控 制 服 務 的 角 色 。 S e r v e r 端 為 O S G i S e r v i c e G a t e w a y, 由 一 群 模 組 和 S e r v i c e R e g i s t r y 組 成。每 個 模 組 包 含 一 或 多 個 B u n d l e,

B u n d l e 與 B u n d l e 之 間 可 透 過 S e r v i c e R e g i s t r y 來 註 冊 分 享 或 取 得 彼 此 的 O S G i 服 務 物 件 以 及 類 別 套 件 。

接 下 來 簡 介 圖 3 - 1 S I S U A 與 O S G i 運 作 流 程 。 首 先 由 S e r ve r 端 O S G i 上 的 J S L P 、 U P nP T V 、 U P nP We b c a m 模 組 先 註 冊 服 務 物 件 至 S e r v i c e R e g i s t r y 中 , 接 著 由 S A C P 模 組 向 S e r v i c e R e g i s t r y 監 聽 並 取 得 J S L P 、 U P nP T V 、 U P n P We b c a m 模 組 所 註 冊 服 務 物 件 , 接 著 S A C P 模 組 使 用 J S L P 模 組 所 註 冊 服 務 物 件 A d v e r t i s e r ( S L P S A ) 來 將 U P n P T V 、 U P n P We b c a m 模 組 所 註 冊 服 務 物 件 向 S L P D A 註 冊 為 S L P S e r v i c e U R L 。

在 C l i e nt 端 S I S U A 方 面 , 由 L o c a t o r ( S L P U A) 向 S e r v e r 端 S L P D A 查 詢 並 取 得 U P n P T V、U P n P We b c a m 的 S L P S e r v i c e U R L。

當 取 得 S L P S e r v i c e U R L 後 ,便 由 C o n t r o l l e r ( S I P U A) 發 送 S I P 控 制 訊 息 至 S e r ve r 端 S I S U A 模 組 , 透 過 S I S U A 模 組 來 控 制 U P n P T V 、 U P n P We b c a m 模 組 所 提 供 的 服 務 。

以 下 為 圖 3 - 1 更 細 部 的 說 明。首 先 步 驟 一 由 S e r ve r 端 的 O S G i J S L P S e r v i c e 模 組 向 S e r v i c e R e g i s t r y 註 冊 一 個 A d v e r t i s e r 物 件 提 供 給 其 他 B u n d l e 使 用。步 驟 二 由 U P n P T V 模 組 向 S e r v i c e R e g i s t r y

(42)

註 冊 一 個 U P nP D e v i c e 服 務 物 件 和 一 個 S i m p l e T V 服 務 物 件 。 步 驟 三 由 U P n P We b c a m 模 組 向 S e r v i c e R e g i s t r y 註 冊 一 個 U P n P D e v i c e 服 務 物 件 和 一 個 S e n d B u f f e r e d I m a g e 服 務 物 件 。

當 服 務 物 件 都 註 冊 完 成 後 , 步 驟 四 由 S A C P 模 組 向 S e r v i c e R e g i s t r y 取 得 A d v e r t i s e r 服 務 物 件 和 所 有 U P n P D e v i c e 的 服 務 參 考 ( S e r v i c e R e f e r e n c e ) , 並 將 所 有 U P n P D e v i c e 的 S e r v i c e R e f e r e n c e 名 稱 製 作 成 U P n P 服 務 類 型 的 S L P S e r v i c e U R L。步 驟 五 使 用 A d v e r t i s e r 服 務 物 件 將 S L P S e r v i c e U R L 註 冊 給 S L P D A ( J S L P 模 組 所 分 享 套 件 中 的 類 別 )。而 S A C P 模 組 將 持 續 監 聽 S e r v i c e R e g i s t r y 中 是 否 有 新 的 U P n P D e v i c e 類 型 的 服 務 物 件 被 註 冊 或 註 銷 , 以 動 態 使 用 A d v e r t i s e r 服 務 物 件 來 註 冊 或 註 銷 暫 存 在 S L P D A 上 U P nP 服 務 類 型 的 S L P S e r v i c e U R L 。

步 驟 六 由 C l i e nt 端 的 S I S U A 透 過 其 中 的 L o c a t o r 發 送 查 詢 訊 息 給 S e r ve r 端 的 O S G i S L P D A , 以 取 得 U P nP 服 務 類 型 的 S L P S e r v i c e U R L 。 步 驟 七 由 S L P D A 將 查 詢 結 果 回 傳 給 L o c a t o r 。

當 取 得 U P n P 服 務 類 型 的 S L P S e r v i c e U R L 後 , 步 驟 八 由 S I S U A 的 C o n t r o l l e r 發 送 S I P 控 制 訊 息 到 O S G i 上 , 由 S I S U A 模 組 進 行 接 收 處 理 。 步 驟 九 由 O S G i 上 的 S I S U A 模 組 向 S e r v i c e R e g i s t r y 取 得 S i m p l e T V 服 務 物 件 和 S e n d B u f f e r e d I m a g e 服 務 物 件。步 驟 十 和 步 驟 十 一 由 O S G i 上 的 S I S U A 模 組 根 據 接 收 的 控 制 訊 息 來 操 作 S i m p l e T V 服 務 物 件 或 S e nd B u f f e r e d I m a g e 服 務 物 件,以 控 制 U P n P T V 或 U P nP We b c a m 模 組。最 後 步 驟 十 二 由 O S G i 上 的 S I S U A 模 組 發 送 回 傳 確 認 訊 息 給 C l i e n t 端 S I S U A C o n t r o l l e r 。

(43)

圖 3-1 系統架構 3 . 2 O S G i 架 構 流 程

以 下 為 上 圖 3 - 1 O S G i 中 的 每 個 模 組 所 提 供 的 功 能 簡 介 , 分 別 為 O S G i S e r v i c e、 J S L P S e r v i c e、 U P nP D r i v e r、 U P n P U t i l it i e s 、 U P n P T V 、 U P n P We b c a m 、 U P n P C P 、 S I S U A 、 S A C P 模 組 。

O S G i S e r v i c e : 此 模 組 實 際 上 由 o s g i. j a r B u n d l e 以 及 o s g i- s e r v i c e . j a r B u n d l e 組 成 。 o s g i. j a r B u n d l e 提 供 了 許 多 O S G i 基 本 的 AP I,像 是 B u nd l e A c t i v a t o r ( 提 供 啟 動 和 停 止 B u n d l e 的 方 法 ) 、 B u nd l e C o nt e xt ( 與 S e r v i c e R e g i s t r y 溝 通 的 環 境 ) 、 S e r v i c e R e f e r e n c e ( 用 來 取 得 服 務 屬 性 或 是 服 務 物 件 ) 、 S e r v i c e L i s t e n e r ( 監 聽 是 否 有 B u n d l e 向 S e r v i c e R e g i s t r y 註 冊 、 修

(44)

改 、 或 註 銷 服 務 物 件 ) 、 S e r v i c e F a c t o r y ( 製 作 不 同 服 務 類 型 的 服 務 物 件 ) 、 S e r v i c e R e g i s t r a t io n ( 紀 錄 註 冊 的 服 務 類 型 ) 等 等 。

一 個 B u nd l e 的 起 始 類 別 必 須 實 作 B u n d l e A c t i v a t o r 介 面 所 定 義 的 啟 動 和 終 止 方 法 , 以 定 義 一 個 B u n d l e 的 程 式 起 始 點 與 結 束 點 。 並 透 過 啟 動 方 法 的 參 數 B u n d l e C o nt e xt 的 r e g i s t e r S e r v i c e 方 法 來 向 S e r v i c e R e g i s t r y 註 冊 B u nd l e 本 身 提 供 的 服 務 類 型 、 服 務 物 件 、 以 及 服 務 屬 性 。 另 外 可 透 過 B u n d l e C o n t e x t 的 g e t S e r v i c e R e f e r e n c e s 方 法 來 向 S e r v i c e R e g i s t r y 取 得 其 他 B u n d l e 所 提 供 的 服 務 參 考 , 並 依 照 服 務 參 考 的 g e t S e r v i c e 方 法 取 得 所 需 使 用 的 服 務 物 件 和 g e t P r o p e r t y 方 法 取 得 服 務 屬 性 。

B u n d l e 可 透 過 B u n d l e C o n t e x t 的 a d d S e r v i c e L i s t e n e r 方 法 , 將 實 作 S e r v i c e L i s t e n e r 介 面 的 物 件 以 及 所 要 監 聽 的 服 務 類 型 屬 性 當 成 引 數 加 入 其 中 , 來 得 知 S e r v i c e R e g i s t r y 中 是 否 有 其 他 B u n d l e 註 冊 、 修 改 、 或 註 銷 特 定 的 服 務 物 件 。 當 有 其 他 B u n d l e 向 S e r v i c e R e g i s t r y 註 冊 、 修 改 、 或 註 銷 特 定 的 服 務 物 件 時 , 便 會 產 生 S e r v i c e E ve nt 物 件 , 由 實 作 S e r v i c e L i s t e ne r 介 面 物 件 的 s e r v i c e C h a n g e d 方 法 所 捕 獲 , 並 依 照 此 S e r v i c e E v e n t 物 件 來 判 別 是 在 進 行 註 冊 、 修 改 、 還 是 註 銷 動 作 , 以 做 相 對 應 的 處 理 。

當 B u nd l e 中 的 類 別 實 作 了 S e r v i c e F a c t o r y 介 面 後,可 多 次 呼 叫 B u nd l e C o nt e xt 的 r e g i s t e r S e r v i c e 方 法 向 S e r v i c e R e g i s t r y 註 冊 同 一 個 S e r v i c e F a c t o r y 服 務 物 件 , 但 提 供 不 同 種 的 服 務 類 型 。 假 設 當 名 稱 為 A 的 B u n d l e 想 要 取 得 S e r v i c e F a c t o r y 服 務 物 件 所 提 供 的 其 中 一 種 服 務 類 型 的 物 件 時 , 在 S e r v i c e F a c t o r y 服 務 物 件 中 的 g e t S e r v i c e 方 法 , 便 會 透 過 S e r v i c e R e g i s t r a t io n 參 數 來 得 知 A B u n d l e 所 需 的 服 務 類 型,之 後 便 會 生 成 所 需 的 服 務 物 件 並 提 供 給 A B u n d l e 使 用 。

參考文獻

相關文件

L.(1998) Strategic brand management: Building, Measuring and Managing Brand Equity., Inc., Upper Saddle River,NJ: Prentice-Hall. L.(2003)Strategic Brand Management: Building,

Therefore this research was analyzed the budget information of the Ministry of Transportation and Communications (including 13 departments) the major construction

(1999), &#34;Mining Association Rules with Multiple Minimum Supports,&#34; Proceedings of ACMSIGKDD International Conference on Knowledge Discovery and Data Mining, San Diego,

It’s based on the PZB service quality gap model and SERVQUAL scale, and together with the reference to other relevant research and service, taking into account

Y., (1997), “Resource recovery of sludge as building and construction materials — a future trend in sludge management,” Journal of Water Science and Technology, Vol. (2000)

The study found that (1) from 2006 to 2009, the rising rate for single item is, 23.3% for sand, 36.5% for aggregate, 7.7% for cement and 9.5% for concrete, (2) for sand, the price on

The research data are collected by questionnaire survey and analysed in electors’ opinion with political party of candidate, application of information technology media,

C., &#34;Prediction of pollutant emission through electricity consumption by the hotel industry in Hong Kong&#34;, International Journal of Hospitality Management..