关键字 |
泛在计算,服务发现,服务发现协议(SDP) |
介绍 |
普适计算(Ubiquitous computing)这个术语最初是由已故的马克·威瑟(Mark Weiser)提出的。在普适计算中,许多计算机(可能是基于计算机技术的小型对象)及其服务在世界各地都可用。人们可以使用这些服务在不同的地方执行任务,而不需要知道底层的计算机系统。与大型机和桌面计算不同,泛在计算(UbiComp)范式中的计算能力几乎是不可见的,而且无处不在。这种计算范式保护用户免受技术复杂性的影响,并为他们提供可以直观和下意识地使用的计算设备。 |
UbiComp是计算[1]的第三波浪潮,它有两个愿景:(1)减少用户在与计算设备交互时的集中注意力的需求;(2)以随时随地的方式提供计算能力。UbiComp的潜在目标是将计算机发送到后台,从而使用户能够下意识地使用它们来支持他们的日常活动[2]。这就是Russell等人所说的消失的计算机[3]。 |
在过去几年中,无线手持设备的使用呈指数级增长。它促进了用于服务供应的泛在计算基础设施的发展。移动设备喜欢从无处不在的资源中访问各种服务。此外,用户希望拥有上下文感知服务[4]。 |
在无所不在的计算范式中,信息和服务几乎可以在任何时间、任何地点通过任何设备访问——电话、掌上电脑、笔记本电脑甚至手表。无处不在的环境由智能服务组成,用户可以通过通过短距离无线链路连接的手持设备访问这些服务。 |
服务发现是指(1)发现对等设备上的硬件组件或软件实体(资源、数据或计算组件);(2)决定如何调用或利用服务。我们需要协议来发现和使用这些服务。但是,有些协议限制自己只发现服务。在这篇论文中,我们发现了一个在无处不在的环境中使用PDA的蓝牙设备。第2节概述了蓝牙,第3节讨论了我们在ubicomp环境中发现蓝牙服务的示例,第4节总结了整篇论文并给出了未来的工作。 |
蓝牙 |
A.协议栈 |
图1显示了蓝牙协议[5]和所涉及的支持实体。 |
本地设备(LocDev)中的业务发现用户应用(SrvDscApp)与蓝牙SDP客户端连接,发送业务查询,并接收远端设备(RemDevs)的SDP服务器BT_SDP_spec[5]的业务查询响应。SDP使用L2CAP中的面向连接(CO)传输服务,该服务使用基带异步无连接(ACL)链路最终在空中传输SDP pdu(协议数据单元)。 |
b .配置 |
本地设备(LocDev): |
LocDev是发起业务发现的设备。LocDev必须至少包含蓝牙SDP架构BT_SDP_spec[5]的客户端部分。LocDev包含服务发现应用程序(SrvDscApp),用户使用该应用程序发起发现并显示这些发现的结果。 |
远端设备(RemDev): |
RemDev是通过响应LocDev生成的服务查询来参与服务发现过程的任何设备。RemDev必须至少包含蓝牙SDP架构BT_SDP_spec[5]的服务器部分。RemDev包含一个服务记录数据库,SDP的服务器部分通过查询该数据库来创建对服务发现请求的响应。 |
蓝牙协议栈包含一个服务发现协议(SDP) BT_SDP_spec[5],用于定位在蓝牙启用设备附近的设备上或通过设备可用的服务。在确定设备中可用的服务之后,用户可以选择使用其中的一个或多个服务。选择、访问和使用服务超出了本文档的范围。然而,尽管SDP没有直接参与访问服务,但通过SDP检索的信息通过适当地调节本地蓝牙堆栈来访问所需的服务,从而促进了服务访问。 |
服务发现配置文件定义了设备上的服务发现应用程序使用蓝牙服务发现协议(Bluetooth service discovery Protocol, SDP)定位其他蓝牙启用设备中的服务的协议和过程。对于这个概要文件,服务发现应用程序是一个特定的用户发起的应用程序。在这方面,这个概要文件与其他概要文件形成对比,在其他概要文件中,两个支持蓝牙的设备中的两个SDP实体之间的服务发现交互是由于需要在这两个设备上启用特定的传输服务(例如RFCOMM等)或特定的使用场景(例如文件传输、无绳电话、LAN AP等)。后一种服务发现交互可以在适当的蓝牙使用场景概要文档中找到。 |
SDP为以下一组服务查询提供直接支持: |
•按服务类别搜索服务; |
•根据服务属性搜索服务;而且 |
•服务浏览。 |
图2显示了一个本地设备(笔记本)在远程设备之间查询服务。除了蓝牙,我们还有其他用于服务发现的方法。下面的表[6]总结了这些方法,并对蓝牙方法和其他方法进行了比较。在过去的十年里,研究了几种发现协议。蓝牙服务发现协议(SDP)[7]、Jini[8]、Salutation[9]、服务位置协议(SLP)[10]、UPnP简单服务发现协议(SSDP)[11]、Zeroconf[12]。 |
如何发现服务 |
通常,我们在服务发现过程中使用了各种框架。作为一个例子,我们正在讨论个性化服务发现框架[13]。该框架有三个主要组件:服务、目录和个人操作中间件(POM)。 |
服务自动发现适当的目录,将广告发送到该目录。目录索引和缓存这些服务广告。如果目录没有为查询提供适当的服务,则目录可以将查询传播到相邻的目录。其次,服务广告带有服务的上下文属性: |
class是服务的名称和类别; |
•location是一个二维坐标,表示用户或服务的物理位置; |
•受欢迎程度是指将该服务纳入其VPS的用户数量; |
quality是一个介于0和1之间的离散值,代表服务所有者指定的服务的一般质量; |
•服务负载是正在使用的容量除以服务的最大容量;而且 |
required services是指在服务运行时用户可能需要调用的服务。 |
POM提供了两个功能来帮助用户发现合适的服务:服务识别和个性化。 |
例如:发现蓝牙设备 |
在允许任何两个配备蓝牙的设备相互通信之前,可能需要以下内容: |
•设备需要上电和初始化。 |
•必须创建蓝牙链路,这可能需要通过查询过程发现其他设备的BD_ADDR,并对其他设备进行分页。 |
查询过程和寻呼超出了本文的主题。我们将展示一个蓝牙设备如何发现另一个蓝牙设备,以及它们如何相互聊天。 |
当LocDev执行服务发现搜索时,它针对三种不同类型的remdev执行: |
1.可信设备:当前没有连接到LocDev,但已经与LocDev建立了信任关系的设备。 |
2.未知(新)设备:不受信任的设备,当前未连接到LocDev。 |
3.已连接设备:已连接到LocDev的设备。 |
虽然考虑LocDev作为蓝牙主设备而RemDev作为蓝牙从设备似乎很自然,但对参与该配置文件的设备没有这样的要求。本文档中所介绍的服务发现可以由主设备或从设备在同一Piconet的任何位置发起,这些设备都是同一Piconet的成员。 |
蓝牙环境中需要一个特定的SDP,因为可用的服务集会根据移动设备的RF接近度动态变化,这与传统基于网络的环境中的服务发现有本质上的不同。我们已经在Asp中实现了这种类型的发现。Net 2008,环境使用windows应用程序。在我们的例子中,如果有蓝牙设备在范围内,或者PDA在该设备的范围内,那么PDA将找到蓝牙设备。 |
A.连接互联网 |
我们把我们的PDA连接到互联网,如果我们的PDA在Wi-Fi范围内,它会自动连接到互联网,因为它会找到Wi-Fi协议。 |
如果没有wi-fi在范围内,我们正在尝试连接互联网,它会显示wi-fi服务没有发现,无法连接互联网。 |
图3显示了一个屏幕截图,其中显示我们已经为蓝牙安装了服务发现调制解调器,以便我们可以找到在范围内的蓝牙设备。 |
B.与其他蓝牙设备通信 |
如果我们的PDA的蓝牙发现[5]范围内的任何设备,那么我们的设备将向他发送消息或与他聊天,如果在蓝牙范围内没有发现任何设备,我们的PDA无法发现特定蓝牙设备的这项服务,如果我们试图向他发送消息或试图与他们聊天,那么我们的PDA将显示特定PDA的蓝牙服务未发现。 |
图4显示了一个屏幕截图,其中显示了我们的pda在范围内没有找到任何设备,因此没有发现服务。这是因为没有安装业务发现调制解调器或蓝牙硬件。 |
图5显示了一个屏幕截图,其中显示了我们的pda在范围内找到了一个设备,从而发现了服务。 |
图6显示了发送到范围内另一个蓝牙设备的消息。 |
图7显示了我们的PDA如何同时连接到许多设备。 |
图8显示了发送到范围内所有其他蓝牙设备的消息。 |
结论 |
我们已经展示了无处不在环境中的服务是如何被发现的。我们在无所不在的环境中使用PDA实现了服务发现,它使用蓝牙来发现另一个也有蓝牙的设备。在完成的工作中,我们只能发现另一个设备的服务,在这种情况下可以完成的进一步工作是访问另一个蓝牙设备的服务。 |
鸣谢 |
非常感谢我的父母,他们一直鼓励我做这项工作,没有他们的支持是不可能的。我非常感谢我的同事们抽出时间与我讨论这篇论文的技术术语。 |
|
表格一览 |
|
表1 |
|
|
数字一览 |
|
|
参考文献 |
- M. Weiser,“二十一世纪的计算机”,科学美国人,1991年。
- “消失的计算机”,N. Streitz和P. Nixon, ACM通讯,第48卷,第33-35页,2005年
- “制造消失的计算机”,。D. Russell, N. Streitz和T. Wino grad, ACM通信,第48卷,第42-48页,2005年。
- P. Bellavista等人,无线互联网中资源管理的上下文感知中间件”,IEEE Trans。软件中。,29(12), pp.1086-1099, Dec 2003.
- 蓝牙规范,”蓝牙特殊兴趣小组,2007年7月。可从http://www.bluetooth.com/Bluetooth/Learn/Technology/Specifications/上读取。
- Reen-Cheng Wang等,“泛在计算语义服务发现的设计问题”0-7695-2777-9/07
- 蓝牙规范2.0 + EDR”,蓝牙SIG, 2004年11月。
- Jini发现和连接规范3.0版”,Jini社区,2006年9月。
- 称呼,http://www.salutation.org/
- E. Guttman, C. Perkins, J. Veizades和M. Day,服务位置协议版本2”,IETF RFC 2608, 1999年6月
- 《UPnP设备架构》,UPnP论坛,2000年6月。
- Daniel Steinberg和Stuart Cheshire,零配置网络”,O'Reilly Media, 2005年12月。
- Kyung-Lang Park等,“普适计算环境中的个性化服务发现”IEEE CS。1536-1268/09©2009 ieee
- Sun Microsystems, Jini Architecture
- 规范,1999。
- J. Veizades等人,服务位置协议,“IETF RFC-165,1997;www.javvin.com/protocol/rfc2165.pdf。
- W. Keith Edwards,普适计算中的发现系统”,IEEE普适计算,5(2),第70 - 77页,2006年4月。
- S. Helal,“服务发现和交付标准”,IEEE普适计算,第1卷,第95- 100页,2002年7月。
- G. G. Richard,服务发现协议和编程。《开发者指南》,麦格劳-希尔教育,2002年6月
- 移动点对点应用的蓝牙服务发现”,Sidath B. HandurukandeSamratGangulySudeeptBhatnagar, NECLaboratories美国公司。美国。
- D.Asha Devi, M.SureshBabu, v.l.b avani, n . geethanjali博士。
|