搜索虚拟资源的位置的方法、装置和系统.pdf

上传人:xia****o6 文档编号:1095040 上传时间:2018-03-31 格式:PDF 页数:23 大小:687.32KB
返回 下载 相关 举报
摘要
申请专利号:

CN200910171027.6

申请日:

2009.08.28

公开号:

CN101998629A

公开日:

2011.03.30

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效IPC(主分类):H04W 64/00申请日:20090828|||公开

IPC分类号:

H04W64/00(2009.01)I; H04W84/18(2009.01)I; H04L29/08

主分类号:

H04W64/00

申请人:

国际商业机器公司

发明人:

吴玉会; 何乐; 金涬; 赵阳; 邹志乐; 王庆波

地址:

美国纽约

优先权:

专利代理机构:

中国国际贸易促进委员会专利商标事务所 11038

代理人:

宋海宁

PDF下载: PDF下载
内容摘要

本发明涉及在大规模计算系统中搜索虚拟资源的位置的方法、装置和系统。所述虚拟资源部署在至少一个服务器上,其中每个服务器都附有一个传感器并与其通信,所述传感器相互通信以组成通信网络,每个传感器获取与该传感器连接的服务器中的虚拟资源的信息,每个传感器获取该传感器的位置信息,所述方法包括:任意一个传感器接收搜索请求,搜索请求包含目标虚拟资源的标识符;在所述多个传感器组成的网络中发送所述搜索请求;存储有所述目标虚拟资源的标识符的传感器返回自身的位置信息。

权利要求书

1: 一种用于搜索虚拟资源的位置的方法, 所述虚拟资源部署在至少一个服务器上, 其 中每个服务器都附有一个传感器并与其通信, 所述传感器相互通信以组成通信网络, 每个 传感器存储有与该传感器连接的服务器中的虚拟资源的标识符以及该传感器的位置信息, 所述方法包括 : 所述至少一个传感器接收搜索虚拟资源的搜索请求, 所述搜索请求包含该虚拟资源的 标识符 ; 在所述传感器组成的通信网络中传输所述搜索请求 ; 存储有该虚拟资源的标识符的传感器返回自身的位置信息。
2: 根据权利要求 1 的方法, 其中所述多个传感器组成的是 ad-hoc 无线网络。
3: 根据权利要求 1 的方法, 还包括 : 每个传感器获取与该传感器连接的服务器中的虚拟资源的信息, 所述虚拟资源的信息 包括所述虚拟资源的标识符。
4: 根据权利要求 3 的方法, 所述虚拟资源的信息还包括指示所述虚拟资源的至少一个 以下状态的信息 : 存活、 不活跃。
5: 根据权利要求 1 的方法, 还包括每个传感器获取该传感器的位置信息, 所述每个传 感器获取该传感器的位置信息进一步包括 : 每个传感器通过接收多个基准信号源的信号来计算自己的位置, 其中所述多个基准信 号源被固定在所述服务器周围。
6: 根据权利要求 1 的方法, 还包括 : 返回所述位置信息的传感器接收要求发出可听信号或可视信号的消息, 并且根据所述 消息发出可听信号或可视信号。
7: 根据权利要求 1 的方法, 还包括 : 计算并显示到达返回所述位置信息的所述传感器的路径。
8: 一种数据计算系统, 包括 : 多个服务器, 至少一个服务器上部署有虚拟资源 ; 多个传感器, 每个传感器安装到一个服务器上 ; 其中每个传感器包括 : 通信单元, 用于与其它传感器的通信单元通信以使所述多个传感器组成通信网络, 所 述通信单元还用于接收用于搜索所述虚拟资源的搜索请求, 所述搜索请求包含该虚拟资源 的标识符 ; 位置信息计算单元, 用于计算并存储该传感器的位置信息 ; 虚拟资源信息获取单元, 用于与该传感器所安装的服务器通信, 以获取该服务器上部 署的虚拟资源的标识符 ; 虚拟资源信息存储单元, 用于存储虚拟资源信息获取单元获取的虚拟资源的标识符 ; 虚拟资源信息搜索单元, 用于搜索所述虚拟资源信息存储单元以查找该虚拟资源的标 识符, 如果搜索到该虚拟资源的标识符, 返回所述位置信息计算单元计算的位置信息。
9: 根据权利要求 8 的数据计算系统, 所述多个传感器组成 ad-hoc 无线网络。
10: 根据权利要求 8 的数据计算系统, 所述传感器还包括电池单元。
11: 根据权利要求 8 的数据计算系统, 所述虚拟资源信息存储单元还存储指示虚拟资 2 源的至少一个以下状态的信息 : 存活、 不活跃。
12: 根据权利要求 8 的数据计算系统, 还包括 : 多个基准信号源, 所述每个传感器的位置信息计算单元通过接收基准信号源的信号来 计算位置信息。
13: 根据权利要求 8 的数据计算系统, 还包括搜索装置, 其中所述搜索装置包括 : 搜索请求输入单元, 用于输入搜索请求, 所述搜索请求包括该虚拟资源的标识符, 以及 通信单元, 用于与至少一个传感器通信, 以及用于接收搜索到所述该虚拟资源的传感 器所返回的位置信息。
14: 根据权利要求 13 的数据计算系统, 所述搜索装置还包括 : 路径计算及显示单元, 用于根据所述位置信息来计算并显示到达发送所述位置信息的 传感器的路径。
15: 一种传感器, 用于被安装到服务器上, 所述服务器上部署有虚拟资源, 所述传感器 包括 : 通信单元, 用于与其它传感器的通信单元通信以使所述传感器与其它传感器组成通信 网络, 所述通信单元还用于接收用于搜索所述虚拟资源的搜索请求, 所述搜索请求包含该 虚拟资源的标识符 ; 位置信息计算单元, 用于计算并存储该传感器的位置信息 ; 虚拟资源信息获取单元, 用于与该传感器所安装在的服务器通信, 以获取该服务器上 部署的虚拟资源的标识符 ; 虚拟资源信息存储单元, 用于存储虚拟资源信息获取单元获取的虚拟资源的标识符 ; 虚拟资源信息搜索单元, 用于搜索所述虚拟资源信息存储单元以查找该虚拟资源的标 识符, 如果搜索到该虚拟资源的标识符, 返回所述位置信息计算单元计算的位置信息。
16: 根据权利要求 15 的传感器, 所述通信单元遵照 ad-hoc 无线通信协议进行通信。
17: 根据权利要求 15 的传感器, 还包括电源单元。
18: 根据权利要求 15 的传感器, 所述虚拟资源信息存储单元还存储指示虚拟资源的至 少一个以下状态的信息 : 存活、 不活跃。
19: 根据权利要求 15 的传感器, 其中传感器的位置信息计算单元通过接收多个基准信 号源的信号来计算位置信息。
20: 一种用于搜索数据计算系统中的虚拟资源的位置的终端装置, 其中所述数据计算 系统包括多个服务器, 每个服务器与一个传感器相连接, 所述传感器组成通信网络, 以及至 少一个服务器上部署有所述虚拟资源, 所述终端装置包括 : 虚拟资源搜索请求输入单元, 用于输入对虚拟资源的搜索请求, 所述搜索请求包括该 虚拟资源的标识符 ; 通信单元, 用于与所述多个传感器中的至少一个传感器通信, 以把搜索请求发送给该 传感器 ; 位置信息计算单元, 用于计算所述终端装置的位置 ; 路径计算单元, 用于基于传感器返回的该虚拟资源的位置信息, 计算从终端装置的位 置到该虚拟资源的路径 ; 显示单元, 用于显示路径计算单元所计算的路径信息。

说明书


搜索虚拟资源的位置的方法、 装置和系统

    技术领域 本发明涉及一种搜索资源的位置的方法和系统, 尤其涉及在大规模的计算系统环 境 ( 例如, 云计算环境 ) 中搜索虚拟资源的位置的方法和系统。
     背景技术 云计算是一种新的计算形式, 其在互连网上提供动态可扩展的、 往往是虚拟的资 源作为服务提供给用户。用户不需要知道、 掌握或控制支持他们的 “云” 内部的技术基础结 构。云计算的主要基础是由数据中心提供的、 使用不同层次的虚拟化技术建立在服务器上 的可靠服务构成。所述服务可以在提供网络接入的任何地方获取。对于所有的用户计算需 求而言, “云” 常常可被看作单个接入点。
     图 1 示出一个云计算中心的示例。在图 1 的示例中, 相互连接的多个服务器 101 构成一个云计算中心 100。多个终端 200 可以接入云计算中心 100, 以得到 “云” 提供的计 算服务。这种云计算中心已经在商业上有了广泛应用。例如, Amazon 提供的亚马逊弹性计
     算云 (Amazon Elastic Compute Cloud, 也称为 EC2) 是一种商业的云计算服务, 其允许用户 租用计算机来运行他们自己的计算机应用程序。 EC2 允许可扩展的应用部署, 用户可以通过 EC2 提供的网页服务界面来自己创建虚拟机, 例如创建一个服务器实例, 在服务器实例上用 户可以加载任何选择的软件。用户可以根据需要产生、 启动、 结束服务器实例, 按小时为运 行的服务器付费, 由此称之为 “弹性” 的。关于 EC2 的进一步详细内容, 可以参见 Amazon. com 提供的 Amazon Web Services(AWS)。此外, Microsoft 提供的 Azure Sevice Platform 也是一种云计算平台, 其提供了广泛的互联网服务。MicroSoft、 Salesforce 等也都提供各 自的云计算服务。
     云计算中心往往是通过集中部署在一个或者若干个数据中心中的通过网络相互 连接的大量物理服务器来实现的。例如, 提供云计算服务的某个供应商可以在一个数据中 心内部署几千甚至几万台物理服务器来实现一个云计算中心。
     在上述的大规模云计算中心中, 常常需要寻找某个物理服务器或某个虚拟机的位 置。 例如, 当为某个用户提供云计算服务的虚拟机出现故障时, 管理员希望能够知道该虚拟 机的具体位置在哪里。 还例如, 当某个物理机因故障而宕机时, 管理员也希望能够找到该物 理机的具体位置。
     然而, 云计算中心的物理服务器常常被移动以便重新部署, 物理服务器以及其上 的虚拟机的位置也会被移动。 即使管理员忠实地记录每一次移动物理服务器之后的新位置 信息, 当移动次数越来越多时, 管理员容易出错从而导致失去某个物理机的位置 ; 此外, 记 录并更新每个物理服务器的位置对于管理员来说也是个很大的负担, 尤其是数据中心的规 模很大时, 这个任务几乎是不可完成的。例如, 根据某个大型数据中心的报告, 它的数据中 心中已经有相当比例的物理服务器无法被确定其精确位置, 尽管整个云计算中心仍然在正 常工作。
     在云计算中心, 不仅物理服务器的位置可以频繁地移动, 物理服务器上的虚拟机也可以动态地建立、 已迁移、 整合等, 因此物理机和虚拟机的位置都在变化, 导致现有技术 难以令人满意地提供所需的定位服务。
     例如, 美国专利 US7180422 公开了一种资产管理方法和设备, 其中通过把逻辑标 签 (L-tag) 和物理标签 (P-tag) 附加到目标装置上来管理目标装置, 其中物理标签包括计 算机的物理地址信息等, 逻辑标签包括诸如计算机的名称、 IP 地址等, 使用 RFID 作为标签。 但是, 上述方法仅能够跟踪实体计算机的物理和逻辑属性, 并不适用于虚拟服务器, 也无法 提供关于虚拟服务器的任何信息。此外, 由于使用 RFID 作为标签, 需要使用额外的 RFID 读 取器, 而且读取器必须与 RFID 的距离不能太远, 因此工作范围受到限制。
     还例如, 美国专利 US7436303 描述了一种用来跟踪硬件设备的机架传感器控制器 设备。每一个机架传感器控制器上都有一个内存空间, 用于存储机架的位置, 以及多个传 感器的信息, 这些传感器上会安装一个 RFID 的读取器, 可以用来读取机架里每个设备上的 RFID 标识。机架传感器控制器上还有一个处理器, 用于归总整个机架的设备信息, 并附加 上机架的位置信息, 用于转发给外部应用程序读取。 但是, 上述专利中的传感器安装在机架 上, 机架的位置相对固定, 很少会出现移动改变, 因此难以适应于服务器可以随意移动的动 态数据中心机房环境 ( 例如, 云计算中心的物理服务器可以被移动 )。此外, 上述专利使用 RFID 技术, 每个 RFID 是被动的, 不具备通信和计算能力, 需要额外的 RFID 读取器, 并因此受 到 RFID 读取器的通信范围的限制。 发明内容
     本发明旨在提供一种在大规模计算环境 ( 例如云计算环境 ) 中搜索虚拟资源的位 置的方法和系统, 尤其涉及搜索虚拟机 (VM) 的位置的方法和系统, 以解决现有技术中存在 的技术问题。
     本发明提供一种用于搜索虚拟资源的位置的方法, 所述虚拟资源部署在至少一个 服务器上, 其中每个服务器都附有一个传感器并与其通信, 所述传感器相互通信以组成通 信网络, 每个传感器存储有与该传感器连接的服务器中的虚拟资源的标识符以及该传感器 的位置信息, 所述方法包括 : 所述传感器接收搜索请求, 搜索请求包含目标虚拟资源的标识 符; 在所述传感器组成的通信网络中传输所述搜索请求 ; 存储有所述目标虚拟资源的标识 符的传感器返回自身的位置信息。
     本发明还提供有一种管理数据计算系统中的虚拟资源的位置的方法, 其中数据计 算系统包括多个服务器, 至少一个服务器上部署有虚拟资源, 其中每个服务器上安装有一 个传感器, 所述多个传感器组成通信网络, 所述方法包括 : 在每个传感器中存储与该传感器 连接的服务器中的虚拟资源的信息 ; 在每个传感器中存储该传感器的位置信息 ; 基于每个 传感器的位置信息和每个传感器的虚拟资源信息, 显示每个虚拟资源的位置信息。
     本发明还提供有一种数据计算系统, 包括 : 多个服务器, 至少一个服务器上部署 有虚拟资源 ; 多个传感器, 每个传感器安装到一个服务器上 ; 其中每个传感器包括 : 通信单 元, 用于与其它传感器的通信单元通信以使所述多个传感器组成传感器网络, 所述通信单 元还用于接收搜索请求, 所述搜索请求包含目标虚拟资源的标识符 ; 位置信息计算单元, 用 于计算并存储该传感器的位置信息 ; 虚拟资源信息获取单元, 用于与该传感器所安装的服 务器通信, 以获取该服务器上部署的虚拟资源的标识符 ; 虚拟资源信息存储单元, 用于存储虚拟资源信息获取单元获取的虚拟资源信息 ; 虚拟资源信息搜索单元, 用于搜索所述虚拟 资源信息存储单元以查找目标虚拟资源的标识符, 如果搜索到目标虚拟资源的标识符, 返 回所述位置信息计算单元计算的位置信息。
     本发明还提供一种传感器, 用于被安装到服务器上, 所述服务器上部署有虚拟资 源, 所述传感器包括 : 通信单元, 用于与其它传感器的通信单元通信以使所述传感器和其它 传感器组成传感器网络, 所述通信单元还用于接收用于搜索所述虚拟资源的搜索请求, 所 述搜索请求包含目标虚拟资源的标识符 ; 位置信息计算单元, 用于计算并存储该传感器的 位置信息 ; 虚拟资源信息获取单元, 用于与该传感器所安装在的服务器通信, 以获取该服务 器上部署的虚拟资源的标识符 ; 虚拟资源信息存储单元, 用于存储虚拟资源信息获取单元 获取的虚拟资源信息 ; 虚拟资源信息搜索单元, 用于搜索所述虚拟资源信息存储单元以查 找目标虚拟资源的标识符, 如果搜索到目标虚拟资源的标识符, 返回所述位置信息计算单 元计算的位置信息。
     本发明还提供有一种用于搜索数据计算系统中的虚拟资源的位置的终端搜索装 置, 其中所述数据计算系统包括多个服务器, 每个服务器与一个传感器相连接, 所述传感器 组成通信网络, 以及至少一个服务器上部署有所述虚拟资源, 所述终端搜索装置包括 : 虚拟 资源搜索请求输入单元, 用于输入对目标虚拟资源的搜索请求, 所述搜索请求包括目标虚 拟资源的标识符 ; 通信单元, 用于与所述多个传感器中的至少一个传感器通信, 以把搜索请 求发送给该传感器 ; 位置信息计算单元, 用于计算并存储所述终端装置的位置 ; 路径计算 单元, 用于基于传感器返回的目标虚拟资源的位置信息, 计算从终端装置的位置到目标虚 拟资源的路径 ; 显示单元, 用于显示路径计算单元所计算的路径信息。 优选地, 所述多个传感器组成的是 ad-hoc 无线网络。
     优选地, 每个传感器存储与该传感器连接的服务器中的虚拟资源的信息包括, 指 示虚拟资源的至少一个以下状态的信息 : 存活、 不活跃。
     优选地, 在所述计算系统所在的建筑物内部署多个基准信号源, 通过同基准信号 源通信来计算临近基准信号源的传感器的位置信息, 其余传感器节点的位置可以通过和已 经获取位置信息的传感器节点进行通讯获取。
     附图说明
     图 1 示出一个云计算中心的示例。 图 2 示出物理服务器上部署的虚拟机。 图 3 示出部署虚拟机和本发明的传感器的物理服务器的示例。 图 4 示出本发明的传感器的基本结构。 图 5 示出本发明的传感器组成的传感器网络。 图 6 示出传感器中的虚拟机信息列表的一个示例。 图 7 示出本发明的搜索虚拟机的方法的示例流程图。 图 8 示出用于实现图 7 所示的方法流程的示例系统。 图 9 示出本发明的搜索装置的示例结构。 图 10 出本发明的管理数据计算系统中的虚拟机位置的方法的示例流程图。具体实施方式
     以下结合附图来详细说明本发明的具体实施例。
     图 2 示出一个常规的物理服务器 200 以及部署在服务器上的虚拟机 204-206。
     图 2 所示的物理服务器 200 具有硬件 201、 操作系统 202、 管理程序 203、 以及多个 虚拟机 204、 205、 206。
     硬件 201 可以包括常规的中央处理器、 存储器、 I/O 接口、 总线等。此外, 硬件提供 商也开发了提供虚拟机支持的各种硬件, 例如 AMD-V、 Alcatel-Lucent 3B20D/3B21D、 IBM System/370, System/390, zSeries mainframes、 Sun Microsystems。
     操 作 系 统 202 可 以 是 各 种 已 有 的 操 作 系 统, 例 如 Solaris Zones、 Linux OS、 FreeBSD OS 等。
     管理程序 (Hyperviser)203 是用于管理多个虚拟机 (VM) 的应用程序。 尽管在图 2 所示的示例中管理程序 203 和操作系统 202 是分离的, 但在某些直接支持虚拟机的操作系 统中, 管理程序 203 可以实现在操作系统 202 中。
     多个虚拟机 204-206 可以是系统虚拟机 (system VM), 其提供完整的系统平台以 进一步其上的操作系统的运行。系统虚拟机的一个示例是 Solaris Containers。替换地, 虚拟机 204 可以是处理虚拟机 (process VM), 其被设计为运行单个程序, 从而支持单个处 理。例如, 处理虚拟机的一个示例是 Java Virtual Machine。虚拟机的本质特征在于其中 运行的软件被限制在虚拟机所提供的资源和抽象内, 不能突破其虚拟边界。 虚拟机 204-206 可以根据需要动态地创建、 消除、 迁移、 整合等等。 应当指出, 本发明说明书中的 “虚拟机” 应当被广义理解为物理服务器上部署的任 何虚拟资源 ( 即, 软资源 ), 例如, 在同一物理服务器上部署的多个操作系统或多个用户空 间, 在物理服务器上部署的 web 服务程序、 ftp 服务程序、 email 服务程序、 提供其它服务或 代理的应用程序等。
     管理程序 203 管理虚拟机 204 的创建、 消除、 迁移等, 为虚拟机 204 分配资源、 释 放资源、 并且跟踪记录每个虚拟机的状态。例如, 在创建一个虚拟机时, 管理程序 203 为虚 拟机分配一个唯一标识符 VMID, 以用于标识该虚拟机。根据用户的需要, 管理程序 203 还可 以为每个创建虚拟机分配资源, 包括多大空间的存储器、 多少个计算单元、 多少位的处理器 ( 例如 32-bit 或 64bit)、 I/O 吞吐性能等。虚拟机 204 被消除时, 管理程序 203 释放为其 分配的资源。当虚拟机 204 从一个物理服务器迁移到另一个物理服务器时, 原始的物理服 务器释放该虚拟机 204 的资源, 新的物理服务器为该虚拟机 204 分配新的资源。根据本发 明的一个实施例, 当虚拟机 204 消除时, 为其分配的标识符 VMID 被保留, 不被其它重新创建 的虚拟机所使用。根据本发明的另一个实施例, 当虚拟机 204 从一个物理服务器迁移到另 一个物理服务器时, 新的物理服务器为虚拟机分配新的 VMID, 而不使用原始的 VMID。这样可 以保证 VMID 和虚拟机 204 之间的唯一的对应关系。
     图 3 示出部署了虚拟机和根据本发明的传感器的服务器示例。
     图 3 的 服 务 器 300 包 括 硬 件 301、 操 作 系 统 302、 管 理 程 序 303、 多个虚拟机 304-306、 传感器 310。
     图 3 所示的硬件 301、 操作系统 302、 管理程序 303、 多个虚拟机 304-306 与图 2 所 示的硬件 201、 操作系统 202、 管理程序 203、 多个虚拟机 204-206 基本相同, 在此不再赘述。
     图 3 的传感器 310 用于获取服务器 300 中关于虚拟机 304-306 的信息。 具体而言, 可以在管理程序 303 中设置代理程序 (agent)307。代理程序 307 用于监控并维护服务器 300 上的虚拟机 304-306 的相关信息, 并把与虚拟机 304-306 相关的存储信息发送给传感器 310。传感器 310 可以与硬件 301 相互通信以得到代理程序 307 发送的与虚拟机 304-306 相关的信息。根据本发明的一个优选实施方式, 传感器 310 可以定期向代理程序 307 发送 请求, 获取当前关于虚拟机的最新信息。
     根据本发明的一个优选实施方式, 传感器 310 可以以无线通信方式与硬件 301 交 互。可替换地, 传感器 310 也可以通过有线连接与硬件 301 交互。
     应当指出, 尽管在图 3 所示的实施例中, 传感器 310 被实现为服务器 300 的组成部 分。然而, 本发明不限于此。在替换实施例中, 传感器 310 与服务器 300 各自独立地实现。 传感器 310 可以被固定到服务器 300, 并通过无线通信技术与服务器 300 交互。
     图 4 示出传感器 310 的基本结构示图。
     图 4 所示的传感器 310 包括 : 通信单元 4001、 虚拟机信息搜索单元 4002、 存储器 4003、 虚拟机信息获取单元 4006、 位置信息计算单元 4007、 电源 4008。
     通信单元 4001 用于与其它传感器通信。根据本发明的优选实施方式, 多个传 感器 310 能够组成无线 ad hoc 通信网络。无线 ad hoc 网络是一种自组织的去中心化 (decentralized) 无线网络。 每个节点的位置可以动态改变, 整个网络的拓扑结构也随之动 态改变。无线 ad hoc 网络中的每个节点都可以为其它节点转发数据, 从而实现整个无线网 络的连通性。 应当指出, 通过通信单元 4001, 多个传感器 310 能够组成一个独立的网络。 即使传 感器 310 所在的服务器 300 出现故障, 也不影响传感器 310 之间的相互通信。
     图 4 所示的传感器 310 及其组成的传感器网络可以利用已有的传感器商业产品来 实现。例如, 在 Crossbow 公司开发的传感器产品 的基础上实现本发明的传感 器。此外, CAS( 中科院 )、 HIT( 哈工大 ) 也已研发出相关的传感器产品。当然本领域技术 人员完全可以选用其它现有的适合本发明的传感器产品。
     图 5 示出传感器 310 通过通信单元 4001 而组成的 ad-hoc 网络 500。
     图 5 所示的传感器网络 500 包括传感器 1-6。所述网络 500 是自适应性的, 即可以 适应各个传感器的移动而重新组网。通过相邻的一个或多个传感器转发消息, 源传感器可 以向任意目标传感器发送 / 接收消息。例如, 传感器 2 向传感器 5 发送消息时, 路由路径 : 传感器 2- 传感器 3- 传感器 4- 传感器 5。
     Ad-hoc 无线网络支持各种路由算法以实现网络内各个节点之间的通信。例如, 按 需路由 (On-demand Routing) 算法包括 : Multirate Ad-hoc On-demand Distance Vector Routing Protocol ; 预 先 路 由 (Proactive routing) 算 法 包 括 : AWDS(Ad-hoc Wireless Distribution Service)、 HSR(Hierarchical State Routing protocol) 等 ; 还可以采用自 适应 (Adaptive) 路由算法。
     优选地, 本发明采用的 ad-hoc 网络可以为无线网状网 (wireless mesh network, WMN)。WMN 是一种特殊的 ad-hoc 无线网络, 其中各个节点以网状拓扑而组织为通信网络。 WMN 中的节点可以是笔记本、 移动电话或其它无线装置, 例如传感器。WMN 可以利用各种无 线通信协议实现, 例如包括 802.11、 802.16 等或其组合。应当指出, 本发明的传感器网络
     500 并不限于任何一种特定网络, 只要能够实现传感器之间的相互通信即可。
     参见图 4, 传感器 310 包括的虚拟机信息获取单元 4006 用于管理虚拟机信息。具 体而言, 虚拟机信息获取单元 4006 与服务器 300 中的代理程序 307( 参见图 3) 通信以得到 服务器 300 上的虚拟机 304-306 的信息。虚拟机信息获取单元 4006 把获取的虚拟机信息 存储在存储器 4003。存储器 4003 中保存虚拟机信息列表 4004, 其中存储与传感器 310 对 应的服务器 300 中的所有虚拟机的相关信息。
     图 6 示出虚拟机信息列表 4004 的一个示例。
     如图 6 所示, VMID 作为虚拟机信息列表 4004 的索引。VMID 可以由管理员定义。为 了简化说明, 在本发明的实施例中, 在图 6 示出标识符为 0001、 0002、 0003、 0004、 0005 的 5 个 VMID。应当指出, VMID 的组成并不限于十进制数字, 还可以包括十六进制数字、 或字母及 其它字符以及其组合。此外, VMID 的长度也可以根据需要进行调整。例如, 根据数据中心所 包含的物理服务器的数量来设定 VMID 的长度, 以便保证每个虚拟机能够被分配唯一的标识 符。此外, 当 VMID 不能被循环使用时, 即, 当某个虚拟机被消除时其 VMID 也被保留, VMID 的空 间应该足够大。
     图 6 还示出与 VMID 对应的属性。例如, 第一列 ServerID 是服务器标识符 (Srv1), 用于标识与 VMID 对应的服务器 (Server 1)。 第二列 Status 是状态标识符, 用于标识该虚拟 机当前的状态。例如, status 可以包括至少如下状态 : Live( 存活 )、 Termintated( 终结 ) 等。Live 状态表示该虚拟机当前仍然驻留在该物理服务器上正常工作。Termintated 状态 表示该虚拟机已经从该物理服务器上消除。
     以上仅为虚拟机信息列表 4004 的虚拟机状态 status 的基本示例。本领域的技术 人员能够理解, 可以根据具体应用的需要来定义虚拟机的其它状态。
     例如, 根据替换实施例, 还可以定义 Inactive( 不活跃 ) 状态, 表示无法监测到某 个虚拟机的状态。Inactive 状态可以用于虚拟机或物理服务器故障的情况。假设传感器 310 定期地向服务器 300 发送请求来查询各个虚拟机的最新状态信息, 如果物理服务器 300 发生故障 ( 例如物理服务器宕机 ), 则传感器 310 无法得到该物理服务器 300 上的任何虚拟 机的信息。经过预定时间、 或者经过预定次数的查询后, 如果仍无法获得虚拟机的信息, 则 传感器 310 把该物理服务器 300 的所有虚拟机的状态设置为 Inactive。类似地, 当某个虚 拟机出现故障 ( 未正常地终结 ) 时, 传感器 310 也把该虚拟机的状态设置为 Inactive。
     根据替换实施例, 还可以在虚拟机信息列表 4004 中定义虚拟机的 Moved( 已迁移 ) 状态。Moved 状态表示该虚拟机已经从该物理服务器迁移到其它服务器。此外, 可以进一 步在虚拟机列表 4004 中保存该虚拟机所迁移到的目标服务器的相关信息, 例如, 目标服务 器的标识符, 迁移后为该虚拟机分配的新的标识符 VMID 等。在实际应用中, 如果管理员对 已迁移 (Moved) 的虚拟机和终结 (Terminated) 的虚拟机的位置并不感兴趣, 状态为已迁移 (Moved) 的虚拟机和终结 (Terminated) 的虚拟机的信息可以从虚拟机信息列表 4004 中删 除, 以节省存储空间。
     应当指出以上仅示例性地说明虚拟机信息列表 4004。虚拟机信息列表 4004 是可 以扩展的, 用户可以根据需要在虚拟机信息列表 4004 中保存虚拟机的更加详细的信息, 包 括: 虚拟机创建时间、 虚拟机的用户、 虚拟机占用的资源、 虚拟机的权限等级等。
     根据本发明的实施例, 为了定位虚拟机的位置, 虚拟机信息列表 4004 至少应当指示虚拟机是否驻留在相应的物理服务器上。因此, 仅需检索虚拟机信息列表 4004 的索引 VMID, 即可知晓某个虚拟机是否在该物理服务器上。
     再次参见图 4, 传感器 310 还包括虚拟机信息获取单元 4006。
     虚拟机信息获取单元 4006 与传感器 310 所连接的服务器 300 通信, 从服务器 300 接收关于服务器 300 上的虚拟机 304-306 的信息。优选地, 传感器 310 的虚拟机信息获取 单元 4006 和服务器 300 无线通信。
     虚拟机信息获取单元 4006 可以被动地接收服务器 300 中的代理程序 307 发送的 数据。可替换地, 虚拟机信息获取单元 4006 可以主动地向服务器 300 请求虚拟机的相关信 息。虚拟机信息获取单元 4006 还可以周期性地向服务器 300 发送请求, 并把服务器 300 返 回的虚拟机信息写入到虚拟机信息列表 4004, 从而虚拟机信息列表 4004 能够保持所有虚 拟机的更新信息, 包括新虚拟机的创建、 老虚拟机的消除、 迁移等。
     参见图 4, 传感器 310 还包括位置信息计算单元 4007。位置信息计算单元 4007 用 于计算并存储传感器 310 自身的位置, 从而得到包含该传感器的服务器 300 的位置。
     常规的 GPS 定位技术并不适合用于计算传感器 310 的位置, 这是因为本发明主要 应用在大规模、 高密度的数据中心。首先, GPS 定位技术需要接收卫星信号, 而数据中心被 部署在建筑物内部, 建筑物内部有些地方信号质量不理想会导致 GPS 定位失效。此外, GPS 定位技术提供的精度不足以准确地计算传感器 310 的位置。在大规模数据中心内, 单个机 架上往往可以安装成百上千台服务器 300, 因此相邻服务器 300 之间的距离很小, 需要能够 提供更高精度的定位技术。 位置信息计算单元 4007 可以采用各种方法来实现在建筑物内部的高精度定位。 例如, 定位方法的原理可以是三角测量法、 单边测量法、 或多边测量法。此外, 根据是否有 “锚点” , 可以大致地把定位方法分为两类 : 无锚点算法和有锚点算法。无锚点算法中, 无需 预先设置的位置信息, 仅根据局部距离值来定位。 已公开的此类算法有例如 AFL 算法和 ABC 算法。 有锚点算法依赖于某些已知座标位置的节点。 这种定位算法需要预先定位多个锚点。 位置信息计算单元 4007 通过计算接收信号的强度、 接收信号的到达时间差、 或通过天线估 计接收信号的到达角度等, 来计算自身的位置信息。
     根据本发明的一个优选实施方式, 在数据中心所在的建筑物内提供多个锚点 ( 基 准信号源 ), 其位置固定并且座标已知。 多个基准信号源能够覆盖整个建筑物内的传感器节 点, 从而每个传感器接收多个基准信号源的信号, 并利用基准信号源的座标来计算自己的 精确位置。 在另一种替换实施方式中, 基准信号源不必覆盖整个建筑物, 从而降低对基准信 号源的通信范围的要求。 然后, 计算基准信号源所覆盖部分的传感器的精确位置, 再以此递 推得到其它传感器的位置。
     基准信号源也可以由被固定位置且座标已知的传感器 310 来实现。
     应当指出, 本发明并不局限于任何特定的方法来来定位传感器 310 的精确位置。 例如, 本发明可以采用无锚点的定位方法, 即, 不需要固定锚点。关于 ad-hoc 无线网络中的 分布式定位方法的进一步信息可以参见 Distributed localization in wireless sensor networks : a quantitative comparison, Computer Networks 43(2003)499-518, Koen Langendoen, etc.
     尽管在图 4 所示的示例中, 每个传感器 310 通过位置信息计算单元 4007 来计算
     自身位置信息的功能, 即, 传感器 310 的位置信息计算是分布式进行的, 但是本发明不限于 此, 传感器 310 的位置信息可以在外部集中式进行计算, 然后把计算结果发送给各个传感 器 310。
     在位置信息计算单元 4007 计算出传感器 310 的位置之后, 位置信息计算单元 4007 把传感器 310 的位置信息保存在存储器 4003 中。存储器 4003 在位置信息存储单元 4005 中保存位置信息计算单元 4007 输入的位置信息。
     在服务器 300 频繁移动的情况下, 位置信息计算单元 4007 可以周期性地计算位置 信息, 这样, 即使传感器 310 随着服务器 300 移动, 位置信息存储单元 4005 也能够保存传感 器 310 和服务器 300 的更新位置信息。另一方面, 如果服务器 300 不频繁移动, 则位置信息 计算单元可以仅在初始化时计算传感器 310 的位置信息, 或者在接收到指令 ( 例如 Reset 指令 ) 时计算传感器 310 的位置信息。
     尽管在图 4 所示的示例中, 位置信息存储单元 4005 和虚拟机信息列表 4004 分离 地实现, 在替换实施方式中, 位置信息存储单元 4005 和虚拟机信息列表 4004 可以联合地实 现, 即把传感器 310( 即, 服务器 300) 的位置信息与传感器存储的虚拟机信息记录在一起。 例如, 可以在图 6 所示的虚拟机信息列表 4004 中增加一列以保存位置信息计算单元 4007 计算的位置信息。 参见图 4, 传感器 310 还包括电源 4008。 根据本发明的优选实施例, 所述电源 4008 由电池实现, 从而传感器 310 具有独立的电源, 即使服务器 300 宕机, 传感器也能正常工作。 另一方面, 传感器 310 也可以具有外接电源插口, 以从外部获取电源。例如, 某些安装服务 器的机架上提供额外的电源接口, 可以供传感器 310 使用。
     参见图 4, 传感器 310 还包括虚拟机信息搜索单元 4002。 虚拟机信息搜索单元 4002 与通信单元 4001 相连接, 从通信单元 4001 接收对某个目标虚拟机 (VMtarget) 的查询。虚拟 机信息搜索单元 4002 还与存储器 4003 相连接, 并在虚拟机信息列表 4004 中搜索目标虚拟 机 VMtarget。如果在虚拟机信息列表 4004 中找到了目标虚拟机 VMtarget, 则把搜索命中的结果 通知给通信单元 4001。随后, 通信单元 4001 通知发出搜索请求的传感器。
     图 7 示出根据本发明实施例的搜索虚拟机的方法的示例流程图 700。
     如图 1、 图 3、 图 5 所示, 虚拟机被部署在至少一个服务器上, 每个服务器都附有一 个传感器并与其通信, 所述传感器相互通信以组成通信网络。图 7 所示的方法 700 包括如 下步骤 :
     步骤 S705, 传感器获取虚拟机信息。
     具体而言, 每个传感器 310 获取并存储与该传感器连接的服务器 300 中的虚拟机 的信息。参见图 3-4 可知, 传感器 310 通过虚拟机信息获取单元 4006 与服务器 300 通信, 以获取部署在服务器 300 上的虚拟机的相关信息。
     步骤 S710, 传感器获取位置信息。
     具体而言, 每个传感器 310 计算并存储该传感器的位置信息。在图 4 的示例中, 位 置信息计算单元 4007 计算传感器 310 的位置信息, 并存储在位置信息存储单元 4005 中。 可 替换地, 位置信息不是在各个传感器 310 内计算, 而是在外部集中地计算并发送到传感器 310。
     根据本发明的一个实施例, 物理服务器的位置不被移动, 虚拟机不被动态创建、 迁
     移等, 则步骤 S705、 S710 可以仅在初始化时执行。 这种情况下, 搜索方法从以下步骤 S715 开 始。根据本发明的另一个实施例, 物理服务器的位置被频繁移动, 并且虚拟机被动态创建, 则步骤 S705 和步骤 S710 周期地执行, 以实时获取最新的信息。
     步 骤 S715, 传 感 器 接 收 搜 索 请 求, 其中搜索请求包含目标虚拟机的标识符 (VMtarget)。
     根据本发明的优选实施例, 提供了一种搜索装置 ( 以下参见图 8-9 进一步描述 )。 搜索装置用于提供输入搜索请求的界面, 所述搜索装置能够与至少一个传感器 310 通信, 以把搜索请求发送给传感器 310。 所述搜索装置可以具有固定位置, 也可以是便携式的。 当 搜索装置是便携式时, 优选地, 搜索装置能够计算并显示自己的当前位置。
     步骤 S720, 在所述多个传感器 310 组成的传感器网络 500 中传输所述搜索请求。
     可以采用多种方式来在传感器网络 500 中转发 ( 或传播 ) 搜索请求。 例如, 传感器 网络 500 是 ad-hoc 无线网络时, 每个传感器接收到搜索请求后, 搜索自身的虚拟机列表信 息, 如果没有搜索到目标虚拟机的标识符, 则以广播方式向相邻的传感器转发该搜索请求, 从而保证搜索请求能够到达传感器网络中的每一个传感器。以广播方式转发消息 ( 即搜索 请求 ) 比较简单, 而且适应于传感器网络的拓扑结构频繁变化的情景, 但是可能会导致网 络流量过大而拥堵。 可替换地, 在传感器网络的拓扑结构比较稳定时, 各个传感器可以维护 通往相邻传感器的路由信息, 根据路由表来向相邻传感器转发搜索请求。 步骤 S725, 存储所述目标虚拟机的标识符的传感器返回自身的位置信息。
     具体而言, 当传感器 310 接收到搜索请求后, 在步骤 S705 得到的虚拟机信息中进 行搜索, 当搜索到目标虚拟机时, 传感器 310 返回步骤 S710 计算得到的位置信息。
     所述位置信息可以返回给最先接收到搜索请求的传感器。 所述位置信息还可以进 一步返回到输入搜索请求的搜索装置。 所述搜索装置具有显示器, 用于显示所述位置信息。
     图 8 示出用于实现图 7 所示的方法流程的系统 800。
     图 8 所示的系统 800 包括多个传感器 801a、 802a、 803a、 804a、 805a、 806a 以及多个 服务器 801b、 802b、 803b、 804b、 805b、 806b, 每个服务器都有一个相应的传感器与其相连。 图 8 的系统 800 还包括搜索装置 810。
     图 9 显示根据本发明的优选实施例的搜索装置 810 的基本结构。
     搜索装置 810 包括 : 搜索请求输入装置 9001、 通信单元 9002、 位置信息计算单元 9003、 路径显示单元 9004、 地图存储单元 9005。
     搜索请求输入装置 9001 用于接收用户 ( 例如, 管理员 ) 的虚拟机位置搜索请求。 所述虚拟机位置搜索请求包含目标虚拟机的标识符。
     通信单元 9002 用于与传感器通信。
     参见图 7 的步骤 S715, 搜索请求输入装置 9001 接收用户输入的虚拟机位置搜索请 求后, 通过通信单元 9002 转发给传感器。例如, 参见图 8, 把虚拟机位置搜索请求传输给相 邻的传感器 804a。在图 8 所示的示例中, 目标虚拟机例如为服务器 806b 上部署的虚拟机 806c。
     参见图 7 的步骤 S725, 具有目标虚拟机的传感器 806a 的位置信息被返回到接收搜 索请求的传感器 804a, 随后传感器 804a 把位置信息返回给搜索装置 810 的通信单元 9002。
     所述搜索装置 810 的显示单元 9004 可以显示通信单元 9002 接收的位置信息。
     根据本发明的优选实施方式, 所述搜索装置 810 还包括地图存储单元 9005, 用于 存储整个数据中心的地图。这样, 基于所述位置信息和地图信息, 显示单元 9004 可以在整 个数据中心的地图上显示目标虚拟机的位置。
     根据本发明的优选实施方式, 所述搜索装置 810 还包括位置信息计算单元 9004。 当搜索装置 810 不具有固定位置, 可以便携移动时, 位置信息计算单元 9004 计算搜索装置 810 的位置。 基于搜索装置的位置信息、 目标虚拟机的位置信息、 地图存储单元 9005 存储的 地图信息, 显示单元 9004 计算并显示从当前位置到目标虚拟机的位置的路径。
     优选地, 所述搜索装置 810 还包括提示单元 ( 图 9 未示出 ), 用于向返回所述目标 虚拟机的位置信息的传感器 806a 发送消息, 使得该传感器 806a 发出可听信号或可视信号。 这是因为在高密度的数据中心, 单个服务器机架上可以安装多达几百台服务器, 即使获得 了目标虚拟机的精确位置信息 ( 即, 服务器 806b 的位置信息 ), 也难以从相邻放置的大量服 务器中迅速找到哪个服务器是目标服务器。通过使所述传感器 806a 发出声音或其它可感 知信号, 便于管理人员迅速地找到该目标服务器 806b。替换地, 可以使目标服务器 806b 发 出声音或其它可感知信号。
     根据本发明的替换实施例, 所述搜索装置也可以由传感器 310 实现, 即, 在某个传 感器 310 上增加输入装置以允许输入搜索请求、 显示装置以显示位置信息。
     图 10 示出根据本发明实施例的管理数据计算系统中的虚拟机位置的方法的示例 流程图 1000, 其中数据计算系统包括多个服务器, 至少一个服务器上部署有虚拟机, 以及每 个服务器上安装有一个传感器, 所述多个传感器组成传感器网络, 所述方法包括 :
     步骤 S1005, 传感器获取虚拟机信息。
     具体而言, 每个传感器获取并存储与该传感器连接的服务器中的虚拟机的信息, 例如, 通过图 4 的虚拟机信息管理单元 4006 从服务器获取虚拟机信息。
     步骤 S1010, 传感器获取位置信息。
     具体而言, 每个传感器计算并存储该传感器自己的位置信息。例如, 通过图 4 的位 置信息计算单元 4007 获取位置信息。
     步骤 S1015, 显示每个虚拟机的位置信息。
     具体而言, 基于每个传感器的位置信息和每个传感器的虚拟机信息, 显示每个虚 拟机的位置信息。
     虚拟机的位置信息可以显示在图 9 所示的搜索装置 810 的显示单元 9004 上。当 搜索装置 810 包括地图存储单元 9005 时, 显示单元 9004 可以在整个数据中心的地图上显 示所有虚拟机的位置。
     优选地, 每个传感器存储的与该传感器连接的服务器中的虚拟机的信息还包括指 示虚拟机的至少一个以下状态的信息 : 存活、 终结、 已迁移、 不活跃等, 如图 6 所示。 这样, 在 搜索装置 810 上显示各个虚拟机的位置时, 还可以显示各个虚拟机的各种状态信息。
     以上参照图 1-10 详细描述了在大规模计算中心中搜索以及显示虚拟机位置的方 法、 装置以及系统。
     应当指出, 本发明的方法、 装置及系统不仅限于搜索虚拟机位置, 还可以用于搜索 数据中心中的其它软件、 硬件资源。例如, 如果在服务器上部署了其它应用程序, 可以利用 传感器获取应用程序的相关信息, 从而获取该应用程序的位置信息。因此, 本发明说明书中的 “虚拟机” 应当被广义理解为物理服务器上部署的任何虚拟资源, 例如在物理服务器上 部署的 web 服务器、 ftp 服务器、 email 服务器、 或其它提供服务或代理的应用程序。例如, 传感器可以获取与之相连的物理服务器上部署的各种应用程序 ( 例如 web 服务、 ftp 服务、 email 服务等 ) 的标识符, 其中数据中心的管理员为各个应用程序分配唯一的标识符。
     此外, 本发明还可以用于搜索某个物理服务器的位置信息, 或者用于搜索与某个 服务器相连接的其它硬件设备 ( 例如打印机 ) 的位置信息。
     应当指出, 可以许多方式来实现本发明的方法和系统及装置。例如, 可通过软件、 硬件、 固件或者软件、 硬件、 固件的任何组合来实现本发明的方法和装置。用于所述方法的 步骤的上述顺序仅是为了进行说明, 本发明的方法的步骤不限于以上具体描述的顺序, 除 非以其它方式特别说明。 此外, 在一些实施例中, 还可将本发明实施为记录在记录介质中的 程序, 这些程序包括用于实现根据本发明的方法的机器可读指令。 因而, 本发明还覆盖存储 用于执行根据本发明的方法的程序的记录介质。
     虽然已经通过示例对本发明的一些特定实施例进行了详细说明, 但是本领域的技 术人员应该理解, 以上示例仅是为了进行说明, 而不是为了限制本发明的范围。 本领域的技 术人员应该理解, 可在不脱离本发明的范围和精神的情况下, 对以上实施例进行修改。 本发 明的范围由所附权利要求来限定。

搜索虚拟资源的位置的方法、装置和系统.pdf_第1页
第1页 / 共23页
搜索虚拟资源的位置的方法、装置和系统.pdf_第2页
第2页 / 共23页
搜索虚拟资源的位置的方法、装置和系统.pdf_第3页
第3页 / 共23页
点击查看更多>>
资源描述

《搜索虚拟资源的位置的方法、装置和系统.pdf》由会员分享,可在线阅读,更多相关《搜索虚拟资源的位置的方法、装置和系统.pdf(23页珍藏版)》请在专利查询网上搜索。

1、10申请公布号CN101998629A43申请公布日20110330CN101998629ACN101998629A21申请号200910171027622申请日20090828H04W64/00200901H04W84/18200901H04L29/0820060171申请人国际商业机器公司地址美国纽约72发明人吴玉会何乐金涬赵阳邹志乐王庆波74专利代理机构中国国际贸易促进委员会专利商标事务所11038代理人宋海宁54发明名称搜索虚拟资源的位置的方法、装置和系统57摘要本发明涉及在大规模计算系统中搜索虚拟资源的位置的方法、装置和系统。所述虚拟资源部署在至少一个服务器上,其中每个服务器都附有一。

2、个传感器并与其通信,所述传感器相互通信以组成通信网络,每个传感器获取与该传感器连接的服务器中的虚拟资源的信息,每个传感器获取该传感器的位置信息,所述方法包括任意一个传感器接收搜索请求,搜索请求包含目标虚拟资源的标识符;在所述多个传感器组成的网络中发送所述搜索请求;存储有所述目标虚拟资源的标识符的传感器返回自身的位置信息。51INTCL19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书11页附图9页CN101998634A1/2页21一种用于搜索虚拟资源的位置的方法,所述虚拟资源部署在至少一个服务器上,其中每个服务器都附有一个传感器并与其通信,所述传感器相互通信以组成通信网络,。

3、每个传感器存储有与该传感器连接的服务器中的虚拟资源的标识符以及该传感器的位置信息,所述方法包括所述至少一个传感器接收搜索虚拟资源的搜索请求,所述搜索请求包含该虚拟资源的标识符;在所述传感器组成的通信网络中传输所述搜索请求;存储有该虚拟资源的标识符的传感器返回自身的位置信息。2根据权利要求1的方法,其中所述多个传感器组成的是ADHOC无线网络。3根据权利要求1的方法,还包括每个传感器获取与该传感器连接的服务器中的虚拟资源的信息,所述虚拟资源的信息包括所述虚拟资源的标识符。4根据权利要求3的方法,所述虚拟资源的信息还包括指示所述虚拟资源的至少一个以下状态的信息存活、不活跃。5根据权利要求1的方法,。

4、还包括每个传感器获取该传感器的位置信息,所述每个传感器获取该传感器的位置信息进一步包括每个传感器通过接收多个基准信号源的信号来计算自己的位置,其中所述多个基准信号源被固定在所述服务器周围。6根据权利要求1的方法,还包括返回所述位置信息的传感器接收要求发出可听信号或可视信号的消息,并且根据所述消息发出可听信号或可视信号。7根据权利要求1的方法,还包括计算并显示到达返回所述位置信息的所述传感器的路径。8一种数据计算系统,包括多个服务器,至少一个服务器上部署有虚拟资源;多个传感器,每个传感器安装到一个服务器上;其中每个传感器包括通信单元,用于与其它传感器的通信单元通信以使所述多个传感器组成通信网络,。

5、所述通信单元还用于接收用于搜索所述虚拟资源的搜索请求,所述搜索请求包含该虚拟资源的标识符;位置信息计算单元,用于计算并存储该传感器的位置信息;虚拟资源信息获取单元,用于与该传感器所安装的服务器通信,以获取该服务器上部署的虚拟资源的标识符;虚拟资源信息存储单元,用于存储虚拟资源信息获取单元获取的虚拟资源的标识符;虚拟资源信息搜索单元,用于搜索所述虚拟资源信息存储单元以查找该虚拟资源的标识符,如果搜索到该虚拟资源的标识符,返回所述位置信息计算单元计算的位置信息。9根据权利要求8的数据计算系统,所述多个传感器组成ADHOC无线网络。10根据权利要求8的数据计算系统,所述传感器还包括电池单元。11根据。

6、权利要求8的数据计算系统,所述虚拟资源信息存储单元还存储指示虚拟资权利要求书CN101998629ACN101998634A2/2页3源的至少一个以下状态的信息存活、不活跃。12根据权利要求8的数据计算系统,还包括多个基准信号源,所述每个传感器的位置信息计算单元通过接收基准信号源的信号来计算位置信息。13根据权利要求8的数据计算系统,还包括搜索装置,其中所述搜索装置包括搜索请求输入单元,用于输入搜索请求,所述搜索请求包括该虚拟资源的标识符,以及通信单元,用于与至少一个传感器通信,以及用于接收搜索到所述该虚拟资源的传感器所返回的位置信息。14根据权利要求13的数据计算系统,所述搜索装置还包括路径。

7、计算及显示单元,用于根据所述位置信息来计算并显示到达发送所述位置信息的传感器的路径。15一种传感器,用于被安装到服务器上,所述服务器上部署有虚拟资源,所述传感器包括通信单元,用于与其它传感器的通信单元通信以使所述传感器与其它传感器组成通信网络,所述通信单元还用于接收用于搜索所述虚拟资源的搜索请求,所述搜索请求包含该虚拟资源的标识符;位置信息计算单元,用于计算并存储该传感器的位置信息;虚拟资源信息获取单元,用于与该传感器所安装在的服务器通信,以获取该服务器上部署的虚拟资源的标识符;虚拟资源信息存储单元,用于存储虚拟资源信息获取单元获取的虚拟资源的标识符;虚拟资源信息搜索单元,用于搜索所述虚拟资源。

8、信息存储单元以查找该虚拟资源的标识符,如果搜索到该虚拟资源的标识符,返回所述位置信息计算单元计算的位置信息。16根据权利要求15的传感器,所述通信单元遵照ADHOC无线通信协议进行通信。17根据权利要求15的传感器,还包括电源单元。18根据权利要求15的传感器,所述虚拟资源信息存储单元还存储指示虚拟资源的至少一个以下状态的信息存活、不活跃。19根据权利要求15的传感器,其中传感器的位置信息计算单元通过接收多个基准信号源的信号来计算位置信息。20一种用于搜索数据计算系统中的虚拟资源的位置的终端装置,其中所述数据计算系统包括多个服务器,每个服务器与一个传感器相连接,所述传感器组成通信网络,以及至少。

9、一个服务器上部署有所述虚拟资源,所述终端装置包括虚拟资源搜索请求输入单元,用于输入对虚拟资源的搜索请求,所述搜索请求包括该虚拟资源的标识符;通信单元,用于与所述多个传感器中的至少一个传感器通信,以把搜索请求发送给该传感器;位置信息计算单元,用于计算所述终端装置的位置;路径计算单元,用于基于传感器返回的该虚拟资源的位置信息,计算从终端装置的位置到该虚拟资源的路径;显示单元,用于显示路径计算单元所计算的路径信息。权利要求书CN101998629ACN101998634A1/11页4搜索虚拟资源的位置的方法、装置和系统技术领域0001本发明涉及一种搜索资源的位置的方法和系统,尤其涉及在大规模的计算系。

10、统环境例如,云计算环境中搜索虚拟资源的位置的方法和系统。背景技术0002云计算是一种新的计算形式,其在互连网上提供动态可扩展的、往往是虚拟的资源作为服务提供给用户。用户不需要知道、掌握或控制支持他们的“云”内部的技术基础结构。云计算的主要基础是由数据中心提供的、使用不同层次的虚拟化技术建立在服务器上的可靠服务构成。所述服务可以在提供网络接入的任何地方获取。对于所有的用户计算需求而言,“云”常常可被看作单个接入点。0003图1示出一个云计算中心的示例。在图1的示例中,相互连接的多个服务器101构成一个云计算中心100。多个终端200可以接入云计算中心100,以得到“云”提供的计算服务。这种云计算。

11、中心已经在商业上有了广泛应用。例如,AMAZON提供的亚马逊弹性计算云AMAZONELASTICCOMPUTECLOUD,也称为EC2是一种商业的云计算服务,其允许用户租用计算机来运行他们自己的计算机应用程序。EC2允许可扩展的应用部署,用户可以通过EC2提供的网页服务界面来自己创建虚拟机,例如创建一个服务器实例,在服务器实例上用户可以加载任何选择的软件。用户可以根据需要产生、启动、结束服务器实例,按小时为运行的服务器付费,由此称之为“弹性”的。关于EC2的进一步详细内容,可以参见AMAZONCOM提供的AMAZONWEBSERVICESAWS。此外,MICROSOFT提供的AZURESEVI。

12、CEPLATFORM也是一种云计算平台,其提供了广泛的互联网服务。MICROSOFT、SALESFORCE等也都提供各自的云计算服务。0004云计算中心往往是通过集中部署在一个或者若干个数据中心中的通过网络相互连接的大量物理服务器来实现的。例如,提供云计算服务的某个供应商可以在一个数据中心内部署几千甚至几万台物理服务器来实现一个云计算中心。0005在上述的大规模云计算中心中,常常需要寻找某个物理服务器或某个虚拟机的位置。例如,当为某个用户提供云计算服务的虚拟机出现故障时,管理员希望能够知道该虚拟机的具体位置在哪里。还例如,当某个物理机因故障而宕机时,管理员也希望能够找到该物理机的具体位置。00。

13、06然而,云计算中心的物理服务器常常被移动以便重新部署,物理服务器以及其上的虚拟机的位置也会被移动。即使管理员忠实地记录每一次移动物理服务器之后的新位置信息,当移动次数越来越多时,管理员容易出错从而导致失去某个物理机的位置;此外,记录并更新每个物理服务器的位置对于管理员来说也是个很大的负担,尤其是数据中心的规模很大时,这个任务几乎是不可完成的。例如,根据某个大型数据中心的报告,它的数据中心中已经有相当比例的物理服务器无法被确定其精确位置,尽管整个云计算中心仍然在正常工作。0007在云计算中心,不仅物理服务器的位置可以频繁地移动,物理服务器上的虚拟机说明书CN101998629ACN101998。

14、634A2/11页5也可以动态地建立、已迁移、整合等,因此物理机和虚拟机的位置都在变化,导致现有技术难以令人满意地提供所需的定位服务。0008例如,美国专利US7180422公开了一种资产管理方法和设备,其中通过把逻辑标签LTAG和物理标签PTAG附加到目标装置上来管理目标装置,其中物理标签包括计算机的物理地址信息等,逻辑标签包括诸如计算机的名称、IP地址等,使用RFID作为标签。但是,上述方法仅能够跟踪实体计算机的物理和逻辑属性,并不适用于虚拟服务器,也无法提供关于虚拟服务器的任何信息。此外,由于使用RFID作为标签,需要使用额外的RFID读取器,而且读取器必须与RFID的距离不能太远,因此。

15、工作范围受到限制。0009还例如,美国专利US7436303描述了一种用来跟踪硬件设备的机架传感器控制器设备。每一个机架传感器控制器上都有一个内存空间,用于存储机架的位置,以及多个传感器的信息,这些传感器上会安装一个RFID的读取器,可以用来读取机架里每个设备上的RFID标识。机架传感器控制器上还有一个处理器,用于归总整个机架的设备信息,并附加上机架的位置信息,用于转发给外部应用程序读取。但是,上述专利中的传感器安装在机架上,机架的位置相对固定,很少会出现移动改变,因此难以适应于服务器可以随意移动的动态数据中心机房环境例如,云计算中心的物理服务器可以被移动。此外,上述专利使用RFID技术,每个。

16、RFID是被动的,不具备通信和计算能力,需要额外的RFID读取器,并因此受到RFID读取器的通信范围的限制。发明内容0010本发明旨在提供一种在大规模计算环境例如云计算环境中搜索虚拟资源的位置的方法和系统,尤其涉及搜索虚拟机VM的位置的方法和系统,以解决现有技术中存在的技术问题。0011本发明提供一种用于搜索虚拟资源的位置的方法,所述虚拟资源部署在至少一个服务器上,其中每个服务器都附有一个传感器并与其通信,所述传感器相互通信以组成通信网络,每个传感器存储有与该传感器连接的服务器中的虚拟资源的标识符以及该传感器的位置信息,所述方法包括所述传感器接收搜索请求,搜索请求包含目标虚拟资源的标识符;在所。

17、述传感器组成的通信网络中传输所述搜索请求;存储有所述目标虚拟资源的标识符的传感器返回自身的位置信息。0012本发明还提供有一种管理数据计算系统中的虚拟资源的位置的方法,其中数据计算系统包括多个服务器,至少一个服务器上部署有虚拟资源,其中每个服务器上安装有一个传感器,所述多个传感器组成通信网络,所述方法包括在每个传感器中存储与该传感器连接的服务器中的虚拟资源的信息;在每个传感器中存储该传感器的位置信息;基于每个传感器的位置信息和每个传感器的虚拟资源信息,显示每个虚拟资源的位置信息。0013本发明还提供有一种数据计算系统,包括多个服务器,至少一个服务器上部署有虚拟资源;多个传感器,每个传感器安装到。

18、一个服务器上;其中每个传感器包括通信单元,用于与其它传感器的通信单元通信以使所述多个传感器组成传感器网络,所述通信单元还用于接收搜索请求,所述搜索请求包含目标虚拟资源的标识符;位置信息计算单元,用于计算并存储该传感器的位置信息;虚拟资源信息获取单元,用于与该传感器所安装的服务器通信,以获取该服务器上部署的虚拟资源的标识符;虚拟资源信息存储单元,用于存储说明书CN101998629ACN101998634A3/11页6虚拟资源信息获取单元获取的虚拟资源信息;虚拟资源信息搜索单元,用于搜索所述虚拟资源信息存储单元以查找目标虚拟资源的标识符,如果搜索到目标虚拟资源的标识符,返回所述位置信息计算单元计。

19、算的位置信息。0014本发明还提供一种传感器,用于被安装到服务器上,所述服务器上部署有虚拟资源,所述传感器包括通信单元,用于与其它传感器的通信单元通信以使所述传感器和其它传感器组成传感器网络,所述通信单元还用于接收用于搜索所述虚拟资源的搜索请求,所述搜索请求包含目标虚拟资源的标识符;位置信息计算单元,用于计算并存储该传感器的位置信息;虚拟资源信息获取单元,用于与该传感器所安装在的服务器通信,以获取该服务器上部署的虚拟资源的标识符;虚拟资源信息存储单元,用于存储虚拟资源信息获取单元获取的虚拟资源信息;虚拟资源信息搜索单元,用于搜索所述虚拟资源信息存储单元以查找目标虚拟资源的标识符,如果搜索到目标。

20、虚拟资源的标识符,返回所述位置信息计算单元计算的位置信息。0015本发明还提供有一种用于搜索数据计算系统中的虚拟资源的位置的终端搜索装置,其中所述数据计算系统包括多个服务器,每个服务器与一个传感器相连接,所述传感器组成通信网络,以及至少一个服务器上部署有所述虚拟资源,所述终端搜索装置包括虚拟资源搜索请求输入单元,用于输入对目标虚拟资源的搜索请求,所述搜索请求包括目标虚拟资源的标识符;通信单元,用于与所述多个传感器中的至少一个传感器通信,以把搜索请求发送给该传感器;位置信息计算单元,用于计算并存储所述终端装置的位置;路径计算单元,用于基于传感器返回的目标虚拟资源的位置信息,计算从终端装置的位置到。

21、目标虚拟资源的路径;显示单元,用于显示路径计算单元所计算的路径信息。0016优选地,所述多个传感器组成的是ADHOC无线网络。0017优选地,每个传感器存储与该传感器连接的服务器中的虚拟资源的信息包括,指示虚拟资源的至少一个以下状态的信息存活、不活跃。0018优选地,在所述计算系统所在的建筑物内部署多个基准信号源,通过同基准信号源通信来计算临近基准信号源的传感器的位置信息,其余传感器节点的位置可以通过和已经获取位置信息的传感器节点进行通讯获取。附图说明0019图1示出一个云计算中心的示例。0020图2示出物理服务器上部署的虚拟机。0021图3示出部署虚拟机和本发明的传感器的物理服务器的示例。0。

22、022图4示出本发明的传感器的基本结构。0023图5示出本发明的传感器组成的传感器网络。0024图6示出传感器中的虚拟机信息列表的一个示例。0025图7示出本发明的搜索虚拟机的方法的示例流程图。0026图8示出用于实现图7所示的方法流程的示例系统。0027图9示出本发明的搜索装置的示例结构。0028图10出本发明的管理数据计算系统中的虚拟机位置的方法的示例流程图。说明书CN101998629ACN101998634A4/11页7具体实施方式0029以下结合附图来详细说明本发明的具体实施例。0030图2示出一个常规的物理服务器200以及部署在服务器上的虚拟机204206。0031图2所示的物理服。

23、务器200具有硬件201、操作系统202、管理程序203、以及多个虚拟机204、205、206。0032硬件201可以包括常规的中央处理器、存储器、I/O接口、总线等。此外,硬件提供商也开发了提供虚拟机支持的各种硬件,例如AMDV、ALCATELLUCENT3B20D/3B21D、IBMSYSTEM/370,SYSTEM/390,ZSERIESMAINFRAMES、SUNMICROSYSTEMS。0033操作系统202可以是各种已有的操作系统,例如SOLARISZONES、LINUXOS、FREEBSDOS等。0034管理程序HYPERVISER203是用于管理多个虚拟机VM的应用程序。尽管在。

24、图2所示的示例中管理程序203和操作系统202是分离的,但在某些直接支持虚拟机的操作系统中,管理程序203可以实现在操作系统202中。0035多个虚拟机204206可以是系统虚拟机SYSTEMVM,其提供完整的系统平台以进一步其上的操作系统的运行。系统虚拟机的一个示例是SOLARISCONTAINERS。替换地,虚拟机204可以是处理虚拟机PROCESSVM,其被设计为运行单个程序,从而支持单个处理。例如,处理虚拟机的一个示例是JAVAVIRTUALMACHINE。虚拟机的本质特征在于其中运行的软件被限制在虚拟机所提供的资源和抽象内,不能突破其虚拟边界。虚拟机204206可以根据需要动态地创建。

25、、消除、迁移、整合等等。0036应当指出,本发明说明书中的“虚拟机”应当被广义理解为物理服务器上部署的任何虚拟资源即,软资源,例如,在同一物理服务器上部署的多个操作系统或多个用户空间,在物理服务器上部署的WEB服务程序、FTP服务程序、EMAIL服务程序、提供其它服务或代理的应用程序等。0037管理程序203管理虚拟机204的创建、消除、迁移等,为虚拟机204分配资源、释放资源、并且跟踪记录每个虚拟机的状态。例如,在创建一个虚拟机时,管理程序203为虚拟机分配一个唯一标识符VMID,以用于标识该虚拟机。根据用户的需要,管理程序203还可以为每个创建虚拟机分配资源,包括多大空间的存储器、多少个计。

26、算单元、多少位的处理器例如32BIT或64BIT、I/O吞吐性能等。虚拟机204被消除时,管理程序203释放为其分配的资源。当虚拟机204从一个物理服务器迁移到另一个物理服务器时,原始的物理服务器释放该虚拟机204的资源,新的物理服务器为该虚拟机204分配新的资源。根据本发明的一个实施例,当虚拟机204消除时,为其分配的标识符VMID被保留,不被其它重新创建的虚拟机所使用。根据本发明的另一个实施例,当虚拟机204从一个物理服务器迁移到另一个物理服务器时,新的物理服务器为虚拟机分配新的VMID,而不使用原始的VMID。这样可以保证VMID和虚拟机204之间的唯一的对应关系。0038图3示出部署了。

27、虚拟机和根据本发明的传感器的服务器示例。0039图3的服务器300包括硬件301、操作系统302、管理程序303、多个虚拟机304306、传感器310。0040图3所示的硬件301、操作系统302、管理程序303、多个虚拟机304306与图2所示的硬件201、操作系统202、管理程序203、多个虚拟机204206基本相同,在此不再赘述。说明书CN101998629ACN101998634A5/11页80041图3的传感器310用于获取服务器300中关于虚拟机304306的信息。具体而言,可以在管理程序303中设置代理程序AGENT307。代理程序307用于监控并维护服务器300上的虚拟机304。

28、306的相关信息,并把与虚拟机304306相关的存储信息发送给传感器310。传感器310可以与硬件301相互通信以得到代理程序307发送的与虚拟机304306相关的信息。根据本发明的一个优选实施方式,传感器310可以定期向代理程序307发送请求,获取当前关于虚拟机的最新信息。0042根据本发明的一个优选实施方式,传感器310可以以无线通信方式与硬件301交互。可替换地,传感器310也可以通过有线连接与硬件301交互。0043应当指出,尽管在图3所示的实施例中,传感器310被实现为服务器300的组成部分。然而,本发明不限于此。在替换实施例中,传感器310与服务器300各自独立地实现。传感器310。

29、可以被固定到服务器300,并通过无线通信技术与服务器300交互。0044图4示出传感器310的基本结构示图。0045图4所示的传感器310包括通信单元4001、虚拟机信息搜索单元4002、存储器4003、虚拟机信息获取单元4006、位置信息计算单元4007、电源4008。0046通信单元4001用于与其它传感器通信。根据本发明的优选实施方式,多个传感器310能够组成无线ADHOC通信网络。无线ADHOC网络是一种自组织的去中心化DECENTRALIZED无线网络。每个节点的位置可以动态改变,整个网络的拓扑结构也随之动态改变。无线ADHOC网络中的每个节点都可以为其它节点转发数据,从而实现整个无。

30、线网络的连通性。0047应当指出,通过通信单元4001,多个传感器310能够组成一个独立的网络。即使传感器310所在的服务器300出现故障,也不影响传感器310之间的相互通信。0048图4所示的传感器310及其组成的传感器网络可以利用已有的传感器商业产品来实现。例如,在CROSSBOW公司开发的传感器产品的基础上实现本发明的传感器。此外,CAS中科院、HIT哈工大也已研发出相关的传感器产品。当然本领域技术人员完全可以选用其它现有的适合本发明的传感器产品。0049图5示出传感器310通过通信单元4001而组成的ADHOC网络500。0050图5所示的传感器网络500包括传感器16。所述网络500。

31、是自适应性的,即可以适应各个传感器的移动而重新组网。通过相邻的一个或多个传感器转发消息,源传感器可以向任意目标传感器发送/接收消息。例如,传感器2向传感器5发送消息时,路由路径传感器2传感器3传感器4传感器5。0051ADHOC无线网络支持各种路由算法以实现网络内各个节点之间的通信。例如,按需路由ONDEMANDROUTING算法包括MULTIRATEADHOCONDEMANDDISTANCEVECTORROUTINGPROTOCOL;预先路由PROACTIVEROUTING算法包括AWDSADHOCWIRELESSDISTRIBUTIONSERVICE、HSRHIERARCHICALSTAT。

32、EROUTINGPROTOCOL等;还可以采用自适应ADAPTIVE路由算法。0052优选地,本发明采用的ADHOC网络可以为无线网状网WIRELESSMESHNETWORK,WMN。WMN是一种特殊的ADHOC无线网络,其中各个节点以网状拓扑而组织为通信网络。WMN中的节点可以是笔记本、移动电话或其它无线装置,例如传感器。WMN可以利用各种无线通信协议实现,例如包括80211、80216等或其组合。应当指出,本发明的传感器网络说明书CN101998629ACN101998634A6/11页9500并不限于任何一种特定网络,只要能够实现传感器之间的相互通信即可。0053参见图4,传感器310包。

33、括的虚拟机信息获取单元4006用于管理虚拟机信息。具体而言,虚拟机信息获取单元4006与服务器300中的代理程序307参见图3通信以得到服务器300上的虚拟机304306的信息。虚拟机信息获取单元4006把获取的虚拟机信息存储在存储器4003。存储器4003中保存虚拟机信息列表4004,其中存储与传感器310对应的服务器300中的所有虚拟机的相关信息。0054图6示出虚拟机信息列表4004的一个示例。0055如图6所示,VMID作为虚拟机信息列表4004的索引。VMID可以由管理员定义。为了简化说明,在本发明的实施例中,在图6示出标识符为0001、0002、0003、0004、0005的5个V。

34、MID。应当指出,VMID的组成并不限于十进制数字,还可以包括十六进制数字、或字母及其它字符以及其组合。此外,VMID的长度也可以根据需要进行调整。例如,根据数据中心所包含的物理服务器的数量来设定VMID的长度,以便保证每个虚拟机能够被分配唯一的标识符。此外,当VMID不能被循环使用时,即,当某个虚拟机被消除时其VMID也被保留,VMID的空间应该足够大。0056图6还示出与VMID对应的属性。例如,第一列SERVERID是服务器标识符SRV1,用于标识与VMID对应的服务器SERVER1。第二列STATUS是状态标识符,用于标识该虚拟机当前的状态。例如,STATUS可以包括至少如下状态LIV。

35、E存活、TERMINTATED终结等。LIVE状态表示该虚拟机当前仍然驻留在该物理服务器上正常工作。TERMINTATED状态表示该虚拟机已经从该物理服务器上消除。0057以上仅为虚拟机信息列表4004的虚拟机状态STATUS的基本示例。本领域的技术人员能够理解,可以根据具体应用的需要来定义虚拟机的其它状态。0058例如,根据替换实施例,还可以定义INACTIVE不活跃状态,表示无法监测到某个虚拟机的状态。INACTIVE状态可以用于虚拟机或物理服务器故障的情况。假设传感器310定期地向服务器300发送请求来查询各个虚拟机的最新状态信息,如果物理服务器300发生故障例如物理服务器宕机,则传感器。

36、310无法得到该物理服务器300上的任何虚拟机的信息。经过预定时间、或者经过预定次数的查询后,如果仍无法获得虚拟机的信息,则传感器310把该物理服务器300的所有虚拟机的状态设置为INACTIVE。类似地,当某个虚拟机出现故障未正常地终结时,传感器310也把该虚拟机的状态设置为INACTIVE。0059根据替换实施例,还可以在虚拟机信息列表4004中定义虚拟机的MOVED已迁移状态。MOVED状态表示该虚拟机已经从该物理服务器迁移到其它服务器。此外,可以进一步在虚拟机列表4004中保存该虚拟机所迁移到的目标服务器的相关信息,例如,目标服务器的标识符,迁移后为该虚拟机分配的新的标识符VMID等。。

37、在实际应用中,如果管理员对已迁移MOVED的虚拟机和终结TERMINATED的虚拟机的位置并不感兴趣,状态为已迁移MOVED的虚拟机和终结TERMINATED的虚拟机的信息可以从虚拟机信息列表4004中删除,以节省存储空间。0060应当指出以上仅示例性地说明虚拟机信息列表4004。虚拟机信息列表4004是可以扩展的,用户可以根据需要在虚拟机信息列表4004中保存虚拟机的更加详细的信息,包括虚拟机创建时间、虚拟机的用户、虚拟机占用的资源、虚拟机的权限等级等。0061根据本发明的实施例,为了定位虚拟机的位置,虚拟机信息列表4004至少应当指说明书CN101998629ACN101998634A7/。

38、11页10示虚拟机是否驻留在相应的物理服务器上。因此,仅需检索虚拟机信息列表4004的索引VMID,即可知晓某个虚拟机是否在该物理服务器上。0062再次参见图4,传感器310还包括虚拟机信息获取单元4006。0063虚拟机信息获取单元4006与传感器310所连接的服务器300通信,从服务器300接收关于服务器300上的虚拟机304306的信息。优选地,传感器310的虚拟机信息获取单元4006和服务器300无线通信。0064虚拟机信息获取单元4006可以被动地接收服务器300中的代理程序307发送的数据。可替换地,虚拟机信息获取单元4006可以主动地向服务器300请求虚拟机的相关信息。虚拟机信息。

39、获取单元4006还可以周期性地向服务器300发送请求,并把服务器300返回的虚拟机信息写入到虚拟机信息列表4004,从而虚拟机信息列表4004能够保持所有虚拟机的更新信息,包括新虚拟机的创建、老虚拟机的消除、迁移等。0065参见图4,传感器310还包括位置信息计算单元4007。位置信息计算单元4007用于计算并存储传感器310自身的位置,从而得到包含该传感器的服务器300的位置。0066常规的GPS定位技术并不适合用于计算传感器310的位置,这是因为本发明主要应用在大规模、高密度的数据中心。首先,GPS定位技术需要接收卫星信号,而数据中心被部署在建筑物内部,建筑物内部有些地方信号质量不理想会导。

40、致GPS定位失效。此外,GPS定位技术提供的精度不足以准确地计算传感器310的位置。在大规模数据中心内,单个机架上往往可以安装成百上千台服务器300,因此相邻服务器300之间的距离很小,需要能够提供更高精度的定位技术。0067位置信息计算单元4007可以采用各种方法来实现在建筑物内部的高精度定位。例如,定位方法的原理可以是三角测量法、单边测量法、或多边测量法。此外,根据是否有“锚点”,可以大致地把定位方法分为两类无锚点算法和有锚点算法。无锚点算法中,无需预先设置的位置信息,仅根据局部距离值来定位。已公开的此类算法有例如AFL算法和ABC算法。有锚点算法依赖于某些已知座标位置的节点。这种定位算法。

41、需要预先定位多个锚点。位置信息计算单元4007通过计算接收信号的强度、接收信号的到达时间差、或通过天线估计接收信号的到达角度等,来计算自身的位置信息。0068根据本发明的一个优选实施方式,在数据中心所在的建筑物内提供多个锚点基准信号源,其位置固定并且座标已知。多个基准信号源能够覆盖整个建筑物内的传感器节点,从而每个传感器接收多个基准信号源的信号,并利用基准信号源的座标来计算自己的精确位置。在另一种替换实施方式中,基准信号源不必覆盖整个建筑物,从而降低对基准信号源的通信范围的要求。然后,计算基准信号源所覆盖部分的传感器的精确位置,再以此递推得到其它传感器的位置。0069基准信号源也可以由被固定位。

42、置且座标已知的传感器310来实现。0070应当指出,本发明并不局限于任何特定的方法来来定位传感器310的精确位置。例如,本发明可以采用无锚点的定位方法,即,不需要固定锚点。关于ADHOC无线网络中的分布式定位方法的进一步信息可以参见DISTRIBUTEDLOCALIZATIONINWIRELESSSENSORNETWORKSAQUANTITATIVECOMPARISON,COMPUTERNETWORKS432003499518,KOENLANGENDOEN,ETC0071尽管在图4所示的示例中,每个传感器310通过位置信息计算单元4007来计算说明书CN101998629ACN10199863。

43、4A8/11页11自身位置信息的功能,即,传感器310的位置信息计算是分布式进行的,但是本发明不限于此,传感器310的位置信息可以在外部集中式进行计算,然后把计算结果发送给各个传感器310。0072在位置信息计算单元4007计算出传感器310的位置之后,位置信息计算单元4007把传感器310的位置信息保存在存储器4003中。存储器4003在位置信息存储单元4005中保存位置信息计算单元4007输入的位置信息。0073在服务器300频繁移动的情况下,位置信息计算单元4007可以周期性地计算位置信息,这样,即使传感器310随着服务器300移动,位置信息存储单元4005也能够保存传感器310和服务器。

44、300的更新位置信息。另一方面,如果服务器300不频繁移动,则位置信息计算单元可以仅在初始化时计算传感器310的位置信息,或者在接收到指令例如RESET指令时计算传感器310的位置信息。0074尽管在图4所示的示例中,位置信息存储单元4005和虚拟机信息列表4004分离地实现,在替换实施方式中,位置信息存储单元4005和虚拟机信息列表4004可以联合地实现,即把传感器310即,服务器300的位置信息与传感器存储的虚拟机信息记录在一起。例如,可以在图6所示的虚拟机信息列表4004中增加一列以保存位置信息计算单元4007计算的位置信息。0075参见图4,传感器310还包括电源4008。根据本发明的。

45、优选实施例,所述电源4008由电池实现,从而传感器310具有独立的电源,即使服务器300宕机,传感器也能正常工作。另一方面,传感器310也可以具有外接电源插口,以从外部获取电源。例如,某些安装服务器的机架上提供额外的电源接口,可以供传感器310使用。0076参见图4,传感器310还包括虚拟机信息搜索单元4002。虚拟机信息搜索单元4002与通信单元4001相连接,从通信单元4001接收对某个目标虚拟机VMTARGET的查询。虚拟机信息搜索单元4002还与存储器4003相连接,并在虚拟机信息列表4004中搜索目标虚拟机VMTARGET。如果在虚拟机信息列表4004中找到了目标虚拟机VMTARGE。

46、T,则把搜索命中的结果通知给通信单元4001。随后,通信单元4001通知发出搜索请求的传感器。0077图7示出根据本发明实施例的搜索虚拟机的方法的示例流程图700。0078如图1、图3、图5所示,虚拟机被部署在至少一个服务器上,每个服务器都附有一个传感器并与其通信,所述传感器相互通信以组成通信网络。图7所示的方法700包括如下步骤0079步骤S705,传感器获取虚拟机信息。0080具体而言,每个传感器310获取并存储与该传感器连接的服务器300中的虚拟机的信息。参见图34可知,传感器310通过虚拟机信息获取单元4006与服务器300通信,以获取部署在服务器300上的虚拟机的相关信息。0081步。

47、骤S710,传感器获取位置信息。0082具体而言,每个传感器310计算并存储该传感器的位置信息。在图4的示例中,位置信息计算单元4007计算传感器310的位置信息,并存储在位置信息存储单元4005中。可替换地,位置信息不是在各个传感器310内计算,而是在外部集中地计算并发送到传感器310。0083根据本发明的一个实施例,物理服务器的位置不被移动,虚拟机不被动态创建、迁说明书CN101998629ACN101998634A9/11页12移等,则步骤S705、S710可以仅在初始化时执行。这种情况下,搜索方法从以下步骤S715开始。根据本发明的另一个实施例,物理服务器的位置被频繁移动,并且虚拟机被。

48、动态创建,则步骤S705和步骤S710周期地执行,以实时获取最新的信息。0084步骤S715,传感器接收搜索请求,其中搜索请求包含目标虚拟机的标识符VMTARGET。0085根据本发明的优选实施例,提供了一种搜索装置以下参见图89进一步描述。搜索装置用于提供输入搜索请求的界面,所述搜索装置能够与至少一个传感器310通信,以把搜索请求发送给传感器310。所述搜索装置可以具有固定位置,也可以是便携式的。当搜索装置是便携式时,优选地,搜索装置能够计算并显示自己的当前位置。0086步骤S720,在所述多个传感器310组成的传感器网络500中传输所述搜索请求。0087可以采用多种方式来在传感器网络500。

49、中转发或传播搜索请求。例如,传感器网络500是ADHOC无线网络时,每个传感器接收到搜索请求后,搜索自身的虚拟机列表信息,如果没有搜索到目标虚拟机的标识符,则以广播方式向相邻的传感器转发该搜索请求,从而保证搜索请求能够到达传感器网络中的每一个传感器。以广播方式转发消息即搜索请求比较简单,而且适应于传感器网络的拓扑结构频繁变化的情景,但是可能会导致网络流量过大而拥堵。可替换地,在传感器网络的拓扑结构比较稳定时,各个传感器可以维护通往相邻传感器的路由信息,根据路由表来向相邻传感器转发搜索请求。0088步骤S725,存储所述目标虚拟机的标识符的传感器返回自身的位置信息。0089具体而言,当传感器31。

50、0接收到搜索请求后,在步骤S705得到的虚拟机信息中进行搜索,当搜索到目标虚拟机时,传感器310返回步骤S710计算得到的位置信息。0090所述位置信息可以返回给最先接收到搜索请求的传感器。所述位置信息还可以进一步返回到输入搜索请求的搜索装置。所述搜索装置具有显示器,用于显示所述位置信息。0091图8示出用于实现图7所示的方法流程的系统800。0092图8所示的系统800包括多个传感器801A、802A、803A、804A、805A、806A以及多个服务器801B、802B、803B、804B、805B、806B,每个服务器都有一个相应的传感器与其相连。图8的系统800还包括搜索装置810。0。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1