一种远程唤醒方法及装置制造方法

文档序号:7997622阅读:216来源:国知局
一种远程唤醒方法及装置制造方法
【专利摘要】本发明实施例公开了一种远程唤醒方法及装置,用于通过网络实现对远程网络终端的唤醒。本发明实施例方法包括:在主控程序中加载网络唤醒插件;所述网络唤醒插件获取目标终端的网络地址;所述网络唤醒插件根据所述网络地址生成唤醒封包;所述网络唤醒插件在网络中发送所述唤醒封包,使得所述目标终端在收到并验证所述唤醒封包后启动。
【专利说明】一种远程唤醒方法及装置

【技术领域】
[0001]本发明涉及计算机控制领域,尤其涉及一种远程唤醒方法及装置。

【背景技术】
[0002]在日常生活中,常常遇到这样的情况:家里的计算机中存有重要且急用的文件,但人在外地,一旦家里没人的话,就得从远处折腾回家拷贝文件,费时费力。
[0003]目前,用户的家庭计算机一般通过一个无线/有线路由器连接非对称数字用户环路(ADSL, Asymmetric Digital Subscriber Line)调制解调器(Modem)到因特网(Internet),在这种模式下,路由器由于能耗小,一般都是常开的;若家中的计算机是开启的,则可以使用现有的远程控制技术对家中的计算机进行操作。
[0004]但是,在许多情况下,人是无法预知自己在什么情况下需要用到家中的计算机,而在一般情况下,家庭的计算机不用时是都是出于关机状态的,这样,如果人不在家时,要想从远程访问家里的计算机中的资料,一个首要的问题就是要实现计算机的开机启动。


【发明内容】

[0005]本发明实施例提供了一种远程唤醒方法及装置,用于通过网络实现对远程网络终端的唤醒。
[0006]本发明实施例提供的远程唤醒方法,包括:在主控程序中加载网络唤醒插件;所述网络唤醒插件获取目标终端的网络地址;所述网络唤醒插件根据所述网络地址生成唤醒封包;所述网络唤醒插件在网络中发送所述唤醒封包,使得所述目标终端在收到并验证所述唤醒封包后启动。
[0007]可选的,所述主控程序包括:
[0008]即时通讯程序和浏览器。
[0009]可选的,若所述主控程序为即时通讯程序,则所述在主控程序中加载网络唤醒插件之前,还包括:
[0010]将所述网络唤醒插件安装到所述即时通讯程序的插件(plugin)目录下,安装所述网络唤醒插件的目录中包括:根(bin)目录和描述所述网络唤醒插件的信息的数据库文件,所述bin目录保存有执行唤醒逻辑的动态连接库文件。
[0011]可选的,所述在主控程序中加载网络唤醒插件,包括:
[0012]获取用户的调用指示;
[0013]根据所述调用指示调用所述网络唤醒插件的动态连接库文件,启动所述动态连接库文件的StartPlugin接口。
[0014]可选的,若所述主控程序为移动终端浏览器,则所述在主控程序中加载网络唤醒插件之前,还包括:
[0015]将所述网络唤醒插件作为动态链接库文件安装在所述移动终端浏览器plugin目录下,在所述移动终端浏览器的全局窗口(window)对象中生成扩展项。
[0016]可选的,所述在主控程序中加载网络唤醒插件,包括:
[0017]获取用户的调用指示;
[0018]根据所述调用指示调用所述网络唤醒插件的动态连接库文件,启动所述动态连接库文件的Initialize接口。
[0019]可选的,所述网络地址包括:
[0020]因特网协议(IP,Internet Protocol)地址、和媒体接入控制(MAC,Media AccessControl)地址和端口信息。
[0021]可选的,所述根据所述网络地址生成唤醒封包,包括:
[0022]提取所述网络地址中的MAC地址;
[0023]在唤醒封包中使用十六进制数标记所述MAC地址。
[0024]可选的,所述唤醒封包还包括:
[0025]唤醒密码、和/或唤醒时间;
[0026]所述根据所述网络地址生成唤醒封包,还包括:
[0027]获取所述用户输入的唤醒密码、和/或唤醒时间;
[0028]在唤醒封包中使用十六进制数标记所述唤醒密码、和/或所述唤醒时间。
[0029]可选的,所述网络唤醒插件在网络中发送所述唤醒封包之后,包括:
[0030]启动对所述目标终端的远程操控。
[0031]本发明实施例提供的远程唤醒装置,包括:
[0032]主控程序和网络唤醒插件;
[0033]所述主控程序用于管理所述网络唤醒插件,并为所述网络唤醒插件提供操作界面;
[0034]所述网络唤醒插件用于获取目标终端的网络地址;根据所述网络地址生成唤醒封包;在网络中发送所述唤醒封包。
[0035]可选的,所述主控程序具体为:
[0036]即时通讯程序和浏览器。
[0037]可选的,所述主控程序包括:
[0038]第一插件安装单元,用于将所述网络唤醒插件安装到所述即时通讯程序的plugin目录下,安装所述网络唤醒插件的目录中包括:根目录和描述所述网络唤醒插件的信息的数据库文件,所述根目录保存有执行唤醒逻辑的动态连接库文件。
[0039]可选的,所述主控程序具体用于获取用户的调用指示;根据所述调用指示调用所述网络唤醒插件的动态连接库文件,启动所述动态连接库文件的StartPlugin接口。
[0040]可选的,所述主控程序包括:
[0041]第二插件安装单元,用于将所述网络唤醒插件作为动态链接库文件安装在所述移动终端浏览器Plugin目录下,在所述移动终端浏览器的全局window对象中生成扩展项。
[0042]可选的,所述主控程序具体用于获取用户的调用指示;根据所述调用指示调用所述网络唤醒插件的动态连接库文件,启动所述动态连接库文件的Initialize接口。
[0043]从以上技术方案可以看出,本发明实施例具有以下优点:
[0044]在本发明实施例中,主控程序可以通过主控程序中内嵌的网络唤醒插件获取目标终端的网络地址;再根据网络地址生成唤醒封包,并在网络中发送所述唤醒封包,目标终端收到所述唤醒封包之后,验证所述唤醒封包中标记的网络地址是否与目标终端的网络地址相匹配,若是,则该目标终端则可以开机启动,从而实现对远程网络终端的唤醒。

【专利附图】

【附图说明】
[0045]为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
[0046]图1是本发明实施例远程唤醒方法的一个流程示意图;
[0047]图2是本发明实施例远程唤醒方法的另一个流程示意图;
[0048]图3是本发明实施例远程唤醒方法的另一个流程示意图;
[0049]图4是本发明实施例远程唤醒装置的逻辑结构示意图。

【具体实施方式】
[0050]本发明实施例提供了一种远程唤醒方法及装置,用于通过网络实现对远程网络终端的唤醒。
[0051]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0052]请参阅图1,本发明实施例中远程唤醒方法的一个实施例包括:
[0053]101、在主控程序中加载网络唤醒插件;
[0054]当用户在主控程序中点击了所述网络唤醒插件时,所述主控程序加载网络唤醒插件。具体的,在所述网络唤醒插件加载之后,在所述主控程序中会显示所述网络唤醒插件的管理和控制界面,用户可以根据自身的需要进行相应的远程唤醒操作。所述主控程序用于管理所述网络唤醒插件,并为所述网络唤醒插件提供操作界面。
[0055]具体的,所述网络唤醒插件是以功能单元的形式内嵌在所述主控程序的插件;可选的,所述网络唤醒插件可以为所述主控程序自带的功能单元,也可以为附加安装在所述主控程序上的插件,所述网络唤醒插件的具体形式此处不作限定。
[0056]102、通过网络唤醒插件获取目标终端的网络地址;
[0057]主控程序通过网络唤醒插件获取目标终端的网络地址;所述目标终端为用户需要进行远程唤醒的网络终端,可以为计算机或具有MAC地址的网络设备。
[0058]示例性的,用户可以在该主控程序中调用该网络唤醒插件,并根据所述网络唤醒插件的操作界面的提示,输入所述目标终端的网络地址。
[0059]可选的,所述网络地址可以包括:IP地址、媒体接入控制MAC地址和端口信息。其中,所述IP地址用于确定目标终端在哪个局域网上,具体可以为目标终端的域名,该网络唤醒插件可以用域名实现对常见ADSL网络上的浮动IP寻址;所述MAC地址用于在网络中唯一的确定需要进行唤醒的目标终端;所述端口信息用于区分不同的网络应用或服务。
[0060]可选的,所述主控程序即时通讯程序(如,QQ)和浏览器,进一步的,该浏览器还可以包括计算机浏览器或移动终端浏览器。
[0061]103、通过网络唤醒插件根据所述网络地址生成唤醒封包;
[0062]主控程序通过网络唤醒插件根据所述网络地址生成唤醒封包;示例性的,所述唤醒封包具体可以为魔法封包(Magic Packet),所述魔法封包是在网络中以广播形式发送的特定数据包,可以被处于关机或休眠状态的目标终端侦测到。
[0063]具体的,网络唤醒插件可以从用户输入的网络地址中提取所述网络地址中的MAC地址;再使用十六进制数在唤醒封包中标记所述MAC地址,使得接收到该唤醒封包的网络设备可以通过识别所述MAC地址来确认该唤醒封包是否是发给它的。
[0064]104、通过网络唤醒插件在网络中发送所述唤醒封包。
[0065]主控程序通过网络唤醒插件在网络中发送所述唤醒封包;具体的,该唤醒封包是以广播的形式再网络中发送的,该唤醒封包广播的范围可以根据上述网络地址中的IP地址决定,可以是整个局域网路(LAN, Local Area Network),也可以是特定的子网络(Subnet)。
[0066]当目标终端接收到该唤醒封包之后,该目标终端解读该唤醒封包中标记的MAC地址,若确认该唤醒封包中标记的MAC地址与本地的MAC地址相同,则会通知目标终端内的主板、电源供应器,开始进行启动。
[0067]在实际应用中,目标终端需要在目标终端的高级配置和电源管理接口(ACPI,Advanced Configurat1n and Power Management Interface)中,将电源管理事件(PME,Power Management Event)的一项设置标为“启用”,是否目标终端允许在APM电源管理模式下使用唤醒封包进行唤醒。
[0068]不例性的,在现有的计算机中,MicrosoftffindowsNT和Windows95不支持ACPI。Microsoftffindows98> WindowsMe> Windows2000> WindowsXP 及其之后的操作系统都支持ACPI功能。ACPI功能支持从待机状态唤醒,在这些计算机系统的在设备管理器中,适配器属性将会显示一个选项卡标有“电源管理”,应选中“允许此设备使计算机脱离待机状态”设置。
[0069]在本发明实施例中,主控程序可以通过主控程序中内嵌的网络唤醒插件获取目标终端的网络地址;再根据网络地址生成唤醒封包,并在网络中发送所述唤醒封包,目标终端收到所述唤醒封包之后,验证所述唤醒封包中标记的网络地址是否与目标终端的网络地址相匹配,若是,则该目标终端则可以开机启动,从而实现对远程网络终端的唤醒。
[0070]为了便于理解,下面以主控程序为即时通讯程序的具体应用场景对上述实施例中描述的远程唤醒方法再进行描述,请参考图2,本发明实施例中远程唤醒方法的另一个实施例包括:
[0071]201、在即时通讯程序中安装所述网络唤醒插件;
[0072]将所述网络唤醒插件安装到所述即时通讯程序的插件(plugin)目录下,安装所述网络唤醒插件的目录中包括:bin目录和描述所述网络唤醒插件的信息的数据库文件,所述bin目录保存有执行唤醒逻辑的动态连接库文件(如,后缀为“.dll”的文件)。
[0073]示例性的,所述网络唤醒插件可以为一个独立的安装包,假设所述即时通讯程序为QQ程序,用户将网络唤醒插件的安装包下载到电脑上后,执行安装,在安装的过程中就会把插件文件安装到即时通讯程序目录plugin目录的子目录com.Tencent.WOL下,然后生成bin目录和后缀为“.rdb”的数据库文件。QQ程序启动时,就会去扫描Plugin目录下的文件夹,将此文件夹下各目录的动态链接库加载到即时通讯程序中,并为每一个插件在QQ程序的面板上显示一个图标,这个图标可以通过调用插件的dll文件的GetPluginIcon (功能为“返回插件的图标”的接口)得到,加载成功后,用户可以点击网络唤醒插件的这个图标,进入网络唤醒插件。
[0074]示例性的,dll文件为即时通讯程序提供的接口包括:
[0075]GetPluginDesc () //返回插件的名称;
[0076]GetPluginIcon O //返回插件的图标;
[0077]StartPluginO //启动插件;
[0078]ReleasePlugin () //释放插件。
[0079]202、在即时通讯程序中加载网络唤醒插件;
[0080]当用户在即时通讯程序中点击了所述网络唤醒插件时,所述即时通讯程序加载网络唤醒插件。具体的,在所述网络唤醒插件加载之后,在所述即时通讯程序中会显示所述网络唤醒插件的管理和控制界面,用户可以根据自身的需要进行相应的远程唤醒操作。
[0081]示例性的,当用户点击了所述网络唤醒插件之后,即时通讯程序就会获取到用户的调用指示;然后根据所述调用指示调用所述网络唤醒插件的动态连接库文件,启动所述动态连接库文件的StartPluginO接口,即时通讯程序就会显示所述网络唤醒插件的操作界面。
[0082]203、网络唤醒插件获取目标终端的网络地址;
[0083]网络唤醒插件获取目标终端的网络地址;所述目标终端为用户需要进行远程唤醒的网络终端,可以为计算机或具有MAC地址的网络设备。
[0084]示例性的,用户可以在该即时通讯程序中调用该网络唤醒插件,并根据所述网络唤醒插件的操作界面的提示,输入所述目标终端的网络地址。
[0085]可选的,所述网络地址可以包括:IP地址和MAC地址。其中,所述IP地址用于确定目标终端在哪个局域网上,具体可以为目标终端的域名,该网络唤醒插件可以用域名实现对常见ADSL网络上的浮动IP寻址;所述MAC地址用于在网络中唯一的确定需要进行唤醒的目标终端;进一步的,还可以包括端口信息,所述端口信息用于区分不同的网络应用或服务。
[0086]204、获取唤醒密码、和/或唤醒时间;
[0087]可选的,为提高远程唤醒应用的安全性,避免被非授权者唤醒目标终端,网络唤醒插件还可以获取唤醒密码、和/或唤醒时间(即可以单独增加唤醒密码,或单独增加唤醒时间,或同时增加唤醒密码和唤醒时间)。
[0088]示例性的,用户使用即时通讯程序中的远程唤醒功能时,即时通讯程序可以向用户推送一些信息输入的界面,提醒用户:若目标终端侧设置了唤醒密码,则进行远程唤醒时,用户需要输入相应的唤醒密码。进一步的,为了防止用户在使用完目标终端后忘了关闭,则可以在唤醒封包中设置唤醒时间,当目标终端的开启时间超过了该唤醒时间之后,目标终端可以自动关闭,以节省用电。
[0089]205、网络唤醒插件根据所述网络地址生成唤醒封包;
[0090]网络唤醒插件根据所述网络地址生成唤醒封包;示例性的,所述唤醒封包具体可以为魔法封包(Magic Packet),所述魔法封包是在网络中以广播形式发送的特定数据包,可以被处于关机或休眠状态的目标终端侦测到。
[0091]具体的,网络唤醒插件可以从用户输入的网络地址中提取所述网络地址中的MAC地址、唤醒密码或唤醒时间等信息,使用十六进制数在唤醒封包中标记所述MAC地址、唤醒密码或唤醒时间等信息,使得接收到该唤醒封包的网络设备可以通过识别所述MAC地址和唤醒密码来确认该唤醒封包是否是发给它的,并且,通过该唤醒时间来确定所述目标终端处于开机状态的时间。
[0092]206、网络唤醒插件在网络中发送所述唤醒封包;
[0093]网络唤醒插件在网络中发送所述唤醒封包;具体的,该唤醒封包是以广播的形式再网络中发送的,该唤醒封包广播的范围可以根据上述网络地址中的IP地址决定,可以是整个局域网路(LAN),也可以是特定的子网络(Subnet)。
[0094]当目标终端接收到该唤醒封包之后,该目标终端解读该唤醒封包中标记的MAC地址,若确认该唤醒封包中标记的MAC地址与本地的MAC地址相同,则会通知目标终端内的主板、电源供应器,开始进行启动。
[0095]207、启动对所述目标终端的远程操控。
[0096]用户在唤醒了所述目标终端之后,还可以通过该即时通讯程序对所述目标终端的远程操控,在目标终端上执行用户想用进行的操作。
[0097]示例性的,用户在登录了 QQ程序后,可以打开所述QQ上的网络唤醒插件;在操作界面中输入目标中的IP地址、MAC地址、端口信息(可选)、唤醒密码(可选)和唤醒时间(可选)等信息;在输入了需要输入的信息之后,点击操作界面中的“唤醒”按钮,即可向目标终端所在的局域网广播所述唤醒封包。在目标终端被唤醒之后,用户可以使用QQ程序与目标终端上启动的QQ程序进行视频通信,通过视频查看目标终端所在地的周围的环境。
[0098]在本发明实施例中,用户在使用即时通讯程序时,可以使用即时通讯程序的管理界面直接操作网络唤醒插件,提高了用户使用的便捷性。
[0099]为了便于理解,下面以主控程序为浏览器的具体应用场景对上述实施例中描述的远程唤醒方法再进行描述,请参考图3,本发明实施例中远程唤醒方法的另一个实施例包括:
[0100]301、在浏览器中安装所述网络唤醒插件;
[0101]将所述网络唤醒插件作为动态链接库文件安装在所述浏览器plugin目录下,在所述浏览器的全局window对象中生成扩展项。
[0102]示例性的,在浏览器的情形下,假设移动终端的浏览器是在Iinux系统下开放的安卓应用,网络唤醒插件以一个浏览器的网景插件应用程序接口(NPAPI,Netscape PluginApplicat1n Programming Interface)插件的形式提供。具体的,用户可以访问一个浏览器的插件应用AppStore (应用商店),找到网络唤醒插件,将此该网络唤醒插件安装到用户的移动终端上;其中,该网络唤醒插件的主要程序模块作为一个so”文件(Iinux系统的一种动态链接库文件)的形式安装到浏览器的Plugin目录下,浏览器启动后,就会去搜索plugins目录下的so”库文件,并将这些库文件加载到浏览器中,加载过程中,浏览器调用插件的NP_Initialize函数将把自己作为全局window对象的子对象(网络唤醒对象)绑定到window对象下,网络唤醒对象提供唤醒远程计算机的WakeRemoteComputer API (API为应用程序编程接口 Applicat1n Programming Interface)来唤醒远程计算机,具体的参数由用户通过网页表单输入。用户可以编写网页,在网页中用(JS,JavaScript)代码来调用这个网络唤醒对象提供的API来唤醒远程计算机。
[0103]示例性的,插件与浏览器之间采用NPAPI插件的标准接口,提供的接口如下:
[0104]NP_GetEntryPoints // 调用接入点;
[0105]NP_Initialize // 初始化;
[0106]NP_Shutdown// 关闭。
[0107]302、在浏览器中加载网络唤醒插件;
[0108]当用户在浏览器中点击了所述网络唤醒插件时,所述浏览器加载网络唤醒插件。具体的,在所述网络唤醒插件加载之后,在所述浏览器中会显示所述网络唤醒插件的管理和控制界面,用户可以根据自身的需要进行相应的远程唤醒操作。
[0109]示例性的,当用户点击了所述网络唤醒插件之后,浏览器就会获取到用户的调用指示;然后根据所述调用指示调用所述网络唤醒插件的动态连接库文件,启动所述动态连接库文件的Initializ接口,浏览器就会显示所述网络唤醒插件的操作界面。
[0110]303、网络唤醒插件获取目标终端的网络地址;
[0111]网络唤醒插件获取目标终端的网络地址;所述目标终端为用户需要进行远程唤醒的网络终端,可以为计算机或具有MAC地址的网络设备。
[0112]示例性的,用户可以在该浏览器中调用该网络唤醒插件,并根据所述网络唤醒插件的操作界面的提示,输入所述目标终端的网络地址。
[0113]可选的,所述网络地址可以包括:IP地址和MAC地址。其中,所述IP地址用于确定目标终端在哪个局域网上,具体可以为目标终端的域名,该网络唤醒插件可以用域名实现对常见ADSL网络上的浮动IP寻址;所述MAC地址用于在网络中唯一的确定需要进行唤醒的目标终端;进一步的,还可以包括端口信息,所述端口信息用于区分不同的网络应用或服务。
[0114]304、获取唤醒密码、和/或唤醒时间;
[0115]可选的,为提高远程唤醒应用的安全性,避免被非授权者唤醒目标终端,网络唤醒插件还可以获取唤醒密码、和/或唤醒时间(即可以单独增加唤醒密码,或单独增加唤醒时间,或同时增加唤醒密码和唤醒时间)。
[0116]示例性的,用户使用浏览器中的远程唤醒功能时,浏览器可以向用户推送一些信息输入的界面,提醒用户:若目标终端侧设置了唤醒密码,则进行远程唤醒时,用户需要输入相应的唤醒密码。进一步的,为了防止用户在使用完目标终端后忘了关闭,则可以在唤醒封包中设置唤醒时间,当目标终端的开启时间超过了该唤醒时间之后,目标终端可以自动关闭,以节省用电。
[0117]305、网络唤醒插件根据所述网络地址生成唤醒封包;
[0118]网络唤醒插件根据所述网络地址生成唤醒封包;示例性的,所述唤醒封包具体可以为魔法封包,所述魔法封包是在网络中以广播形式发送的特定数据包,可以被处于关机或休眠状态的目标终端侦测到。
[0119]具体的,网络唤醒插件可以从用户输入的网络地址中提取所述网络地址中的MAC地址、唤醒密码或唤醒时间等信息,使用十六进制数在唤醒封包中标记所述MAC地址、唤醒密码或唤醒时间等信息,使得接收到该唤醒封包的网络设备可以通过识别所述MAC地址和唤醒密码来确认该唤醒封包是否是发给它的,并且,通过该唤醒时间来确定所述目标终端处于开机状态的时间。
[0120]306、网络唤醒插件在网络中发送所述唤醒封包;
[0121]网络唤醒插件在网络中发送所述唤醒封包;具体的,该唤醒封包是以广播的形式再网络中发送的,该唤醒封包广播的范围可以根据上述网络地址中的IP地址决定,可以是整个局域网路,也可以是特定的子网络。
[0122]当目标终端接收到该唤醒封包之后,该目标终端解读该唤醒封包中标记的MAC地址,若确认该唤醒封包中标记的MAC地址与本地的MAC地址相同,则会通知目标终端内的主板、电源供应器,开始进行启动。
[0123]307、启动对所述目标终端的远程操控。
[0124]用户在唤醒了所述目标终端之后,还可以通过该浏览器对所述目标终端的远程操控,在目标终端上执行用户想用进行的操作,如,在浏览器上浏览目标终端上的图片、视频等内容。
[0125]可选的,本发明实施例中的浏览器可以为计算机浏览器或移动终端浏览器;若为计算机浏览器,在实际应用中,由于计算机浏览器为计算机终端的必备软件,因此,用户仅需要下载一个插件程序,安装在浏览器中,即可实现远程唤醒功能的扩展,网络唤醒插件的文件占用的存储空间小,且其远程唤醒功能可以直接在用户操作浏览器时实现,方便快捷;若为移动终端浏览器,在实际应用中,由于移动终端的便携性,用户使用远程唤醒功能就更不需要受场景限制,可以随时随地的对目标终端进行远程唤醒,进一步提高了远程唤醒功能应用的便捷性。
[0126]下面以用户操作的角度再对上述远程唤醒方法再进行详细的描述,以主控程序为QQ,目标终端为计算机为例,本发明实施例中远程唤醒方法的另一个实施例包括:
[0127]一、远程唤醒目标计算机;
[0128]在QQ程序中运行网络唤醒插件,出现Magic Packet主窗口。
[0129]在"MagicPackets"菜单中单击"Power On One Host"(启动某一计算机)命令,显示"Send a Magic Packet to One Host"(向计算机发送唤醒封包)。
[0130]在"Destinat1n Ethernet Address"(目标以太网地址)中输入目标计算机网卡的MAC地址,单击[Send](发送)按钮。
[0131 ] 远程计算机自动启动,稍候片刻后即可对其进行操作。
[0132]二、远程唤醒多台计算机;
[0133]在QQ程序中运行网络唤醒插件,出现Magic Packet主窗口。
[0134]点击唤醒封包的对话框;
[0135]在"MagicPackets"菜单中单击"Create a List of Hosts"(创建计算机列表)命令,显示"Create a List of Hosts on LAN"(在局域网上创建计算机列表)对话框。
[0136]创建计算机列表对话框;
[0137]在"Filename-Save List of"保存(列表的文件名)栏中键入欲建立的目标计算机组的文件名,单击[0K]按钮,系统开始自动搜索网络中的计算机。
[0138]搜索完毕,显示"MagicPacket Utility " (Magic Packet 应用)窗口,利用"Edit"(编辑)菜单中"Cut"(剪切)命令,从该列表中删除那些不欲远程唤醒的计算机,而后在"File"(文件)菜单中单击"Save"(保存)命令保存该远程启动文件。
[0139]Magic Packet 应用窗口在"Magic Packets "菜单中单击"Group PowerOn"(群组开机)命令,显示"Set Alarm for Groups"(设置群组唤醒)对话框。
[0140]单击(浏览)按钮,查找并打开组远程唤醒文件。
[0141]设置群组唤醒对话框;
[0142]若欲实现计算机的自动定时唤醒,可分别选中相应日期的复选框并设置具体唤醒时间。
[0143]依次单击[Add](添加)和[0K](确认)按钮,实现一组计算机的定时远程启动。
[0144]三、自动关机;
[0145]当资源共享或管理完毕,如果任由远程启动的计算机一直运行,不仅会影响计算机的寿命,也会造成能源的浪费,因此,当计算机闲置一定时间之后,应当让它自动关机。
[0146]"电源管理属性"对话框;
[0147]操作过程如下:依次选择"开始/设置/控制面板/电源管理",显示"电源管理属性"对话框。将"电源方案"一项设置为"始终打开",在"系统等待状态"下拉列表中选择一个时间值。例如,选择的时间值为"15分钟之后",那么,当计算机空闲时间达到15分钟时,系统便自动关机。按[确定]完成设置。
[0148]上面仅以一些例子对本发明实施例中的应用场景进行了说明,可以理解的是,在实际应用中,还可以有更多的应用场景,具体此处不作限定。
[0149]下面对用于执行上述远程唤醒方法的本发明远程唤醒装置的实施例进行说明,其逻辑结构请参考图4,本发明实施例中的远程唤醒装置一个实施例包括:
[0150]主控程序401和网络唤醒插件402 ;
[0151]所述主控程序401用于管理所述网络唤醒插件,并为所述网络唤醒插件提供操作界面;
[0152]所述网络唤醒插件402用于获取目标终端的网络地址;根据所述网络地址生成唤醒封包;在网络中发送所述唤醒封包。
[0153]可选的,本发明实施例中的主控程序401可以为即时通讯程序,计算机浏览器或移动终端浏览器。
[0154]可选的,本发明实施例中的所述主控程序包括:
[0155]第一插件安装单元4011,用于将所述网络唤醒插件安装到所述即时通讯程序的插件plugin目录下,安装所述网络唤醒插件的目录中包括:bin目录和描述所述网络唤醒插件的信息的数据库文件,所述bin目录保存有执行唤醒逻辑的动态连接库文件。
[0156]可选的,所述主控程序具体用于获取用户的调用指示;根据所述调用指示调用所述网络唤醒插件的动态连接库文件,启动所述动态连接库文件的StartPluginO接口。
[0157]或,
[0158]第二插件安装单元4012,用于将所述网络唤醒插件作为动态链接库文件安装在所述移动终端浏览器plugin目录下,所述移动终端浏览器的全局窗口 window对象中的扩展项。
[0159]可选的,所述主控程序具体用于获取用户的调用指示;根据所述调用指示调用所述网络唤醒插件的动态连接库文件,启动所述动态连接库文件的Initialize接口。
[0160]具体的,上述各个单元/模块的具体操作过程,包括:
[0161]可选的,若主控程序401为即时通讯程序,则由第一插件安装单元4011将所述网络唤醒插件安装到所述即时通讯程序的插件(Plugin)目录下,安装所述网络唤醒插件的目录中包括:bin目录和描述所述网络唤醒插件的信息的数据库文件,所述bin目录保存有执行唤醒逻辑的动态连接库文件(如,后缀为dll”的文件)。
[0162]示例性的,所述网络唤醒插件可以为一个独立的安装包,假设所述即时通讯程序为QQ程序,用户将网络唤醒插件的安装包下载到电脑上后,执行安装,在安装的过程中就会把插件文件安装到即时通讯程序目录plugin目录的子目录com.Tencent.WOL下,然后生成bin目录和后缀为“.rdb”的数据库文件。QQ程序启动时,就会去扫描Plugin目录下的文件夹,将此文件夹下各目录的动态链接库加载到即时通讯程序中,并为每一个插件在QQ程序的面板上显示一个图标,这个图标可以通过调用插件的dll文件的GetPluginIcon (功能为“返回插件的图标”的接口)得到,加载成功后,用户可以点击网络唤醒插件的这个图标,进入网络唤醒插件。
[0163]示例性的,dll文件为即时通讯程序提供的接口包括:
[0164]GetPluginDesc () //返回插件的名称;
[0165]GetPluginIcon O //返回插件的图标;
[0166]StartPluginO //启动插件;
[0167]ReleasePlugin () //释放插件。
[0168]进一步的,当用户在主控程序401中点击了所述网络唤醒插件时,所述即时通讯程序加载网络唤醒插件。具体的,在所述网络唤醒插件加载之后,在所述主控程序401中会显示所述网络唤醒插件的管理和控制界面,用户可以根据自身的需要进行相应的远程唤醒操作。
[0169]示例性的,当用户点击了所述网络唤醒插件之后,即时通讯程序就会获取到用户的调用指示;然后根据所述调用指示调用所述网络唤醒插件的动态连接库文件,启动所述动态连接库文件的StartPluginO接口,即时通讯程序就会显示所述网络唤醒插件的操作界面。
[0170]再由网络唤醒插件402获取目标终端的网络地址;所述目标终端为用户需要进行远程唤醒的网络终端,可以为计算机或具有MAC地址的网络设备。
[0171]示例性的,用户可以在该即时通讯程序中调用该网络唤醒插件,并根据所述网络唤醒插件的操作界面的提示,输入所述目标终端的网络地址。
[0172]可选的,所述网络地址可以包括:IP地址和MAC地址。其中,所述IP地址用于确定目标终端在哪个局域网上,具体可以为目标终端的域名,该网络唤醒插件可以用域名实现对常见ADSL网络上的浮动IP寻址;所述MAC地址用于在网络中唯一的确定需要进行唤醒的目标终端;进一步的,还可以包括端口信息,所述端口信息用于区分不同的网络应用或服务。
[0173]可选的,若主控程序401为浏览器,则由第二插件安装单元4012将所述网络唤醒插件作为动态链接库文件安装在所述浏览器plugin目录下,在所述浏览器的全局window对象中生成扩展项。
[0174]示例性的,在浏览器的情形下,假设移动终端的浏览器是在Iinux系统下开放的安卓应用,网络唤醒插件以一个浏览器的网景插件应用程序接口(NPAPI,Netscape PluginApplicat1n Programming Interface)插件的形式提供。具体的,用户可以访问一个浏览器的插件应用AppStore (应用商店),找到网络唤醒插件,将此该网络唤醒插件安装到用户的移动终端上;其中,该网络唤醒插件的主要程序模块作为一个so”文件(Iinux系统的一种动态链接库文件)的形式安装到浏览器的Plugin目录下,浏览器启动后,就会去搜索plugins目录下的so”库文件,并将这些库文件加载到浏览器中,加载过程中,浏览器调用插件的NP_Initialize函数将把自己作为全局window对象的子对象(网络唤醒对象)绑定到window对象下,网络唤醒对象提供唤醒远程计算机的WakeRemoteComputer API (API为应用程序编程接口 Applicat1n Programming Interface)来唤醒远程计算机,具体的参数由用户通过网页表单输入。用户可以编写网页,在网页中用(JS,JavaScript)代码来调用这个网络唤醒对象提供的API来唤醒远程计算机。
[0175]示例性的,插件与浏览器之间采用NPAPI插件的标准接口,提供的接口如下:
[0176]NP_GetEntryPoints // 调用接入点;
[0177]NP_Initialize // 初始化;
[0178]NP_Shutdown// 关闭。
[0179]进一步的,当用户在主控程序401中点击了所述网络唤醒插件时,所述主控程序401加载网络唤醒插件。具体的,在所述网络唤醒插件加载之后,在所述主控程序401中会显示所述网络唤醒插件的管理和控制界面,用户可以根据自身的需要进行相应的远程唤醒操作。
[0180]示例性的,当用户点击了所述网络唤醒插件402之后,主控程序401就会获取到用户的调用指示;然后根据所述调用指示调用所述网络唤醒插件402的动态连接库文件,启动所述动态连接库文件的Initializ接口,主控程序401就会显示所述网络唤醒插件的操作界面。
[0181]网络唤醒插件402获取目标终端的网络地址;所述目标终端为用户需要进行远程唤醒的网络终端,可以为计算机或具有MAC地址的网络设备。
[0182]可选的,为提高远程唤醒应用的安全性,避免被非授权者唤醒目标终端,网络唤醒插件还可以获取唤醒密码、和/或唤醒时间(即可以单独增加唤醒密码,或单独增加唤醒时间,或同时增加唤醒密码和唤醒时间)。
[0183]示例性的,用户使用主控程序401中的远程唤醒功能时,主控程序401可以向用户推送一些信息输入的界面,提醒用户:若目标终端侧设置了唤醒密码,则进行远程唤醒时,用户需要输入相应的唤醒密码。进一步的,为了防止用户在使用完目标终端后忘了关闭,则可以在唤醒封包中设置唤醒时间,当目标终端的开启时间超过了该唤醒时间之后,目标终端可以自动关闭,以节省用电。
[0184]示例性的,用户可以在该主控程序401中调用该网络唤醒插件402,并根据所述网络唤醒插件的操作界面的提示,输入所述目标终端的网络地址。
[0185]可选的,为提高远程唤醒应用的安全性,避免被非授权者唤醒目标终端,网络唤醒插件还可以获取唤醒密码、和/或唤醒时间(即可以单独增加唤醒密码,或单独增加唤醒时间,或同时增加唤醒密码和唤醒时间)。
[0186]示例性的,用户使用主控程序401中的远程唤醒功能时,主控程序401可以向用户推送一些信息输入的界面,提醒用户:若目标终端侧设置了唤醒密码,则进行远程唤醒时,用户需要输入相应的唤醒密码。进一步的,为了防止用户在使用完目标终端后忘了关闭,则可以在唤醒封包中设置唤醒时间,当目标终端的开启时间超过了该唤醒时间之后,目标终端可以自动关闭,以节省用电。
[0187]网络唤醒插件在网络中发送所述唤醒封包;具体的,该唤醒封包是以广播的形式再网络中发送的,该唤醒封包广播的范围可以根据上述网络地址中的IP地址决定,可以是整个局域网路,也可以是特定的子网络。
[0188]当目标终端接收到该唤醒封包之后,该目标终端解读该唤醒封包中标记的MAC地址,若确认该唤醒封包中标记的MAC地址与本地的MAC地址相同,则会通知目标终端内的主板、电源供应器,开始进行启动。
[0189]在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0190]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0191]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
[0192]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM, Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
[0193]以上所述,仅为本发明的【具体实施方式】,但本发明的保护范围并不局限于此,任何熟悉本【技术领域】的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。
【权利要求】
1.一种远程唤醒方法,其特征在于,包括: 在主控程序中加载网络唤醒插件; 通过所述网络唤醒插件获取目标终端的网络地址; 通过所述网络唤醒插件根据所述网络地址生成唤醒封包; 通过所述网络唤醒插件在网络中发送所述唤醒封包,使得所述目标终端在收到并验证所述唤醒封包后启动。
2.根据权利要求1所述的方法,其特征在于,所述主控程序包括: 即时通讯程序和浏览器。
3.根据权利要求2所述的方法,其特征在于,若所述主控程序为即时通讯程序,则所述在主控程序中加载网络唤醒插件之前,还包括: 将所述网络唤醒插件安装到所述即时通讯程序的插件目录下,安装所述网络唤醒插件的目录中包括:根目录和描述所述网络唤醒插件的信息的数据库文件,所述根目录保存有执行唤醒逻辑的动态连接库文件。
4.根据权利要求3所述的方法,其特征在于,所述在主控程序中加载网络唤醒插件,包 括: 获取用户的调用指示; 根据所述调用指示调用所述网络唤醒插件的动态连接库文件,启动所述动态连接库文件的 StartPlugin 接口。
5.根据权利要求2所述的方法,其特征在于,若所述主控程序为浏览器,则所述在主控程序中加载网络唤醒插件之前,还包括: 将所述网络唤醒插件作为动态链接库文件安装在所述浏览器插件目录下,在所述浏览器的全局窗口对象中生成扩展项。
6.根据权利要求5所述的方法,其特征在于,所述在主控程序中加载网络唤醒插件,包括: 获取用户的调用指示; 根据所述调用指示调用所述网络唤醒插件的动态连接库文件,启动所述动态连接库文件的 Initialize 接口。
7.根据权利要求1所述的方法,其特征在于,所述网络地址包括: 因特网协议地址和媒体接入控制地址。
8.根据权利要求1所述的方法,其特征在于,所述根据所述网络地址生成唤醒封包,包括: 提取所述网络地址中的媒体接入控制地址; 在唤醒封包中使用十六进制数标记所述媒体接入控制地址。
9.根据权利要求8所述的方法,其特征在于,所述唤醒封包还包括: 唤醒密码、和/或唤醒时间; 所述根据所述网络地址生成唤醒封包,还包括: 获取所述用户输入的唤醒密码、和/或唤醒时间; 在唤醒封包中使用十六进制数标记所述唤醒密码、和/或所述唤醒时间。
10.根据权利要求1所述的方法,其特征在于,所述网络唤醒插件在网络中发送所述唤醒封包之后,包括: 启动对所述目标终端的远程操控。
11.一种远程唤醒装置,其特征在于,包括: 主控程序和网络唤醒插件; 所述主控程序用于管理所述网络唤醒插件,并为所述网络唤醒插件提供操作界面; 所述网络唤醒插件用于获取目标终端的网络地址;根据所述网络地址生成唤醒封包;在网络中发送所述唤醒封包。
12.根据权利要求11所述的装置,其特征在于,所述主控程序具体为: 即时通讯程序和浏览器。
13.根据权利要求11所述的装置,其特征在于,所述主控程序包括: 第一插件安装单元,用于将所述网络唤醒插件安装到所述即时通讯程序的插件目录下,安装所述网络唤醒插件的目录中包括:根目录和描述所述网络唤醒插件的信息的数据库文件,所述根目录保存有执行唤醒逻辑的动态连接库文件。
14.根据权利要求 13所述的装置,其特征在于,所述主控程序具体用于获取用户的调用指示;根据所述调用指示调用所述网络唤醒插件的动态连接库文件,启动所述动态连接库文件的StartPlugin接口。
15.根据权利要求11所述的装置,其特征在于,所述主控程序包括: 第二插件安装单元,用于将所述网络唤醒插件作为动态链接库文件安装在所述浏览器插件目录下,在所述浏览器的全局窗口对象中生成扩展项。
16.根据权利要求15所述的装置,其特征在于,所述主控程序具体用于获取用户的调用指示;根据所述调用指示调用所述网络唤醒插件的动态连接库文件,启动所述动态连接库文件的Initialize接口。
【文档编号】H04L12/12GK104079596SQ201310100885
【公开日】2014年10月1日 申请日期:2013年3月26日 优先权日:2013年3月26日
【发明者】张保华 申请人:腾讯科技(深圳)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1