CN104025512A - 用于通过网络安全唤醒计算机系统的系统和方法 - Google Patents

用于通过网络安全唤醒计算机系统的系统和方法 Download PDF

Info

Publication number
CN104025512A
CN104025512A CN201180074574.8A CN201180074574A CN104025512A CN 104025512 A CN104025512 A CN 104025512A CN 201180074574 A CN201180074574 A CN 201180074574A CN 104025512 A CN104025512 A CN 104025512A
Authority
CN
China
Prior art keywords
computer system
nic
message
network
registration message
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201180074574.8A
Other languages
English (en)
Other versions
CN104025512B (zh
Inventor
F·张
C·F·李
K-F·陈
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104025512A publication Critical patent/CN104025512A/zh
Application granted granted Critical
Publication of CN104025512B publication Critical patent/CN104025512B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3234Power saving characterised by the action undertaken
    • G06F1/3287Power saving characterised by the action undertaken by switching off individual functional units in the computer system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/26Power supply means, e.g. regulation thereof
    • G06F1/32Means for saving power
    • G06F1/3203Power management, i.e. event-based initiation of a power-saving mode
    • G06F1/3206Monitoring of events, devices or parameters that trigger a change in power modality
    • G06F1/3209Monitoring remote activity, e.g. over telephone lines or network connections
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/12Arrangements for remote connection or disconnection of substations or of equipment thereof
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D30/00Reducing energy consumption in communication networks
    • Y02D30/50Reducing energy consumption in communication networks in wire-line communication networks, e.g. low power modes or reduced link rate

Abstract

公开一种用于通过网络安全唤醒计算机系统的系统和方法。服务器可以通过网络从第一计算机系统中的网络接口控制器(NIC)接收注册消息。所述第一计算机系统可以处于睡眠模式。所述服务器可以对所述第一计算机系统进行注册:可以将针对所述第一计算机系统的识别信息存储在存储器中。可以通过所述网络从第二计算机系统接收唤醒消息。所述唤醒消息可以包括识别所述第一计算机系统的信息和验证信息。可以通过所述网络将所述唤醒消息发送到所述第一计算机系统。所述唤醒消息可以向所述NIC指示唤醒所述第一计算机系统。在唤醒所述第一计算机系统之前,所述验证信息可以由所述服务器或者所述NIC中的任意一个或者二者进行验证。

Description

用于通过网络安全唤醒计算机系统的系统和方法
技术领域
本发明通常涉及计算机系统,具体地说,本发明涉及用于通过网络安全唤醒计算机系统的系统和方法。
背景技术
在当今社会,计算机系统无处不在。计算机系统的共同特征是进入“睡眠”(或者“待机”或“低功率”)状态以便节约功率的能力。通常,当人们离计算机系统很近时,“唤醒”这种状态下的计算机系统是简单的:按下电源键、“唤醒”键、或者触发另一本地输入设备(例如,键盘或鼠标)是用于本地唤醒计算机系统的典型方式。
然而,随着计算机系统的移动性和连通性的不断增长,远程访问计算机系统也变为一种期望的能力。例如经由网络接口控制器的网络连接能够使计算机系统通过局域网和/或广域网进行通信。然而,如果计算机处于睡眠状态,则该计算机系统会经由这样的网络对于其它计算机系统不可访问。
已经提出了用于通过网络唤醒计算机系统的解决方案,但是这些解决方案通常具有明显的相关联的问题。例如,如果睡眠计算机设备经历网络地址转换(NAT)(例如,如果该计算机设备在路由器之后),则这会干扰唤醒命令的传输。在一些情况下,这样的睡眠设备可能不能够接收唤醒命令,除非在NAT路由器处设置正确的非军事区(DMZ)/端口转发和静态地址解析协议(ARP)。这是复杂的和不期望的(例如,出于安全原因),或者在商业情形下,是公司策略所不允许的。
此外,现有的解决方案不提供安全性。使用现有技术,如果IP地址或MAC地址已知,则任何人都可以唤醒睡眠计算设备。结果,睡眠计算机会由于接收到与唤醒命令一致匹配的分组而被偶然唤醒或者例如被黑客出于恶意目的唤醒。
因此,该领域的改进是期望的。
发明内容
提出本公开的实施例以便提供用于通过网络安全唤醒睡眠计算机系统的安全系统和方法。本发明的一些实施例涉及一种用于服务器促进通过网络(例如以互联网为例的广域网)的计算机系统的安全唤醒的计算机实现的方法、配置为实现所述方法的服务器、以及包括在存储介质上的能够由计算机系统(例如,服务器)执行以便实现所述方法的程序指令。本公开的实施例还涉及一种用于网络接口控制器(NIC)使能通过网络的计算机系统的安全唤醒的方法,以及配置用于在计算机系统中使用并且配置为实现所述方法的NIC。
本文公开的系统和方法的一个优点是当计算机系统受支配于网络地址转换(NAT)时唤醒该计算机系统的能力。例如,通常用于提供局域网并且提供该局域网到广域网的连接的许多路由器向该局域网中的计算设备提供NAT。这样的计算设备可能具有接收唤醒命令的麻烦,除非在提供NAT的路由器处设置了正确的非军事区(DMZ)/端口转发和静态地址解析协议(ARP)。这是一个复杂过程,并且在一些情形下(例如,商业设置中),公司IT策略可能并不允许。
根据一些实施例,本文公开的系统和方法可以有利地包括睡眠客户端发起向唤醒促进服务器的注册。通过发起与该服务器的联系,并且周期性地更新该联系,例如,通过周期性地发送新的注册消息,可以在该睡眠计算机系统和服务器之间维持实时连接。这可以允许服务器在不需要导航NAT的情况下向睡眠计算机系统发送唤醒消息。
本文公开的系统和方法的另一优点是提供了安全性。在没有安全性的情况下,在给定基本信息(例如,IP地址)的情况下,任何人都可能唤醒睡眠计算机系统。这可能会例如通过黑客恶意地发生,或者由于向该睡眠客户端发送的分组与指定的唤醒模式(例如,LAN唤醒技术(WOL)模式)偶然匹配而发生。
根据一些实施例,本文公开的系统和方法可以有利地包括由唤醒服务器和睡眠计算机系统本身中的一个或两个对唤醒消息进行验证。此外,在一些实施例中,出于安全层的附加层面,该系统和方法中提供的唤醒消息和其它消息可以被加密。
可以按照下面来执行用于配置用于在计算机系统中使用以便促进通过网络的计算机系统的安全唤醒的服务器和NIC的方法的实施例。
可以通过网络从第一计算机系统接收注册消息。所述第一计算机系统可以包括网络接口控制器(NIC),当所述第一计算机系统处于睡眠模式中时,可以从所述NIC接收所述注册消息。所述注册消息可以包括针对所述第一计算机系统的用户选择的人类可读的识别信息。可以对所述第一计算机系统进行注册,其中所述注册可以包括将针对所述第一计算机系统的识别信息(可以包括所述用户选择的人类可读的识别信息)存储在存储器中。在一些实施例中,所述注册消息还可以包括随机数和加密算法,其中所述随机数和所述加密算法也可以存储在所述存储器中。
在一些实施例中,可以通过所述网络从第二计算机系统接收查询请求。所述查询请求可以包括针对所述第一计算机系统的所述识别信息。
在从所述第二计算机系统接收查询请求的这些实施例中,可以通过所述网络向所述第二计算机系统发送查询答复。取决于所述实施例,所述查询答复可以包括针对所述第一计算机系统的所述识别信息、所述随机数以及所述加密算法和/或其它信息。
可以通过所述网络从所述第二计算机系统接收唤醒消息。所述唤醒消息可以包括识别所述第一计算机系统的信息。在一些实施例中,识别所述第一计算机系统的所述信息可以包括针对所述第一计算机系统的所述用户选择的人类可读的识别信息,和/或在所述第一计算机系统的注册期间存储在存储器中的其它识别信息。所述唤醒消息还可以包括验证信息。在一些实施例中,所述验证信息可以包括所述随机数,所述随机数可以根据所述加密算法进行加密。在一些实施例中,另外地或者替代地,可以将密码或者其它预共享密钥(例如,其对于第一计算机系统和第二计算机系统已知)用作对所述随机数进行加密的一部分,和/或用作另一种类型的验证信息。
可以向所述第一计算机系统发送所述唤醒消息。在一些实施例中,所述服务器可以基于包括在所述唤醒消息中的所述验证信息对所述唤醒消息进行验证。在这样的实施例中,向所述第一计算机系统发送所述唤醒消息可以基于对所述唤醒消息中的所述验证信息的成功验证。替代地,所述服务器可以简单地向所述第一计算机系统发送所述唤醒消息,并且允许所述第一计算机系统中的所述NIC对所述唤醒消息进行验证。
所述NIC可以接收所述唤醒消息。所述NIC可以基于所述验证信息对所述唤醒消息进行验证。应当注意的是,在一些实施例中,所述NIC可以配置为对所述唤醒消息进行验证,而无论所述服务器是否也对所述唤醒消息执行验证,例如,出于额外的安全。如果对所述唤醒消息进行了成功验证,则所述NIC可以唤醒所述第一计算机系统。
在一些实施例中,基于所述NIC向所述服务器发送所述注册消息并且所述服务器从所述NIC接收到所述注册消息,可以在接收到所述注册消息之后,在所述NIC和所述服务器之间将连接维持预定的时间段。如上所述,在一些实施例中,这一活动维持的连接可以有利地允许所述服务器向所述NIC发送唤醒消息,而不管所述服务器和所述第一计算机系统之间的任何NAT如何。因而,根据一些实施例,在维持与所述NIC的所述连接时,执行注册所述第一计算机系统、接收所述查询请求和发送所述查询答复、以及接收和发送所述唤醒消息。换言之,仅当与所述第一计算机系统的所述连接仍然活动时,才将所述服务器从计算机系统接收的唤醒消息转发到所述第一计算机系统。
如果在所述预定的时间段结束之前,在所述服务器和所述NIC之间没有交换进一步的消息,则维持所述连接的所述预定的时间段可以到期。因此,在一些实施例中,可以从所述NIC周期性地接收新的注册消息(例如,在与所述NIC的所述连接到期之前,以便维持连续的连接)。基于接收到每一个新的注册消息,可以对所述NIC和所述服务器之间的所述连接进行延长。例如,取决于所述实施例,可以建立新的预定的时间段,或者可以将额外的预定的时间段增加到剩余的预定的时间段。
附图说明
当结合下面的附图来阅读下面的实施例的详细描述时,可以获得本发明的更好理解,其中:
图1说明了根据一个实施例包括几个联网的计算机系统的示例性系统;
图2是说明根据一个实施例的计算机系统的可能部件的方框图;
图3是说明用于通过网络安全唤醒计算机系统的方法的实施例的流程图;
图4说明了根据一个实施例包括各种联网的设备并且包括所述设备之间的示例性消息流的示例性系统;并且
图5是说明根据一个实施例的典型消息格式的图。
尽管本发明容许各种修改和替代形式,但是在附图中通过示例的方式示出了其具体实施例并且在本文中对其进行了详细描述。然而,应当理解的是,这些附图及其详细描述并不意在将本发明局限到所公开的特定形式,而是相反,本发明意在覆盖落入在所附权利要求中限定的本发明的精神和范围内的所有修改、等同物和替代物。
具体实施方式
术语
下面是在本申请中使用的术语的词汇表:
存储介质-各种类型的存储器设备或者存贮设备中的任意一种。术语“存储器”和“存储介质”意在包括诸如CD-ROM、软盘或者磁带设备的安装介质;诸如DRAM、DDR RAM、SRAM、EDO RAM、Rambus RAM等等的计算机系统存储器或者随机存取存储器;或者诸如闪存、硬件寄存器、磁介质(例如,硬驱)或者光学存储的非易失性存储器。存储介质也可以包括其它类型的存储器或者其组合。术语“存储介质”可以包括两种或更多种存储介质。
计算机系统-各种类型的移动或静止计算或处理系统中的任意一种,包括个人计算机系统(PC)、大型计算机系统、工作站、网络设备、互联网设备、移动电话、智能电话、膝上型计算机、笔记本、上网本或者平板计算机系统、个人数字助理(PDA)、多媒体设备或者其它设备或者设备的组合。通常,术语“计算机系统”可以被广泛地定义为涵盖具有至少一个处理器的任何设备(或者设备的组合),所述至少一个处理器执行来自存储介质的指令。
随着互联网的不断扩大的影响以及静止和移动计算设备的数量的爆炸式增长,从另一计算机系统远程地访问一个计算机系统变成一种司空见惯的活动。然而,通常为了远程访问计算机系统,该计算机系统必须被加电。因此,如果正在旅行(或者甚至在它们的办公室)的用户想要从它们的膝上型计算机访问位于家中的他们的个人计算机,似乎该个人计算机必须在用户离开的整个时间都保持打开。然而,使个人计算机保持打开这么长时间,是对于能量的浪费,并且增加了该个人计算机的损耗。此外,还可以容易地想象到各种其它这样有问题的场景。
几乎每一个计算机系统都具有进入“睡眠”(或者“待机”或“低功率”)状态以便节约功率的能力。如果人们离计算机系统很近,则“唤醒”这种状态下的计算机系统是简单的:按下电源键、“唤醒”键、或者触发另一本地输入设备(例如,键盘或者鼠标)是用于本地唤醒计算机系统的典型方式。
然而,假定用户可能想要远程访问计算机的越来越普遍的可能性(但是可能不太频繁),则也应当使能远程唤醒睡眠计算机系统。这将允许用户使计算机系统睡眠,从而节约功率和该计算机系统上的损耗,同时仍然保持随后例如通过互联网远程访问该计算机系统的能力。
但是,应当注意的是,由于相同的前述的互联网的不断扩大的影响,在没有安全性的情况下,提供通过网络(例如以互联网为例的广域网)唤醒计算机系统的方式将使该计算机系统容易受到攻击或者偶然唤醒。然后,在设计用于远程唤醒睡眠计算机系统的系统和方法时,安全性应当是主要考虑。
图1
因此,本公开的实施例涉及通过网络安全唤醒睡眠计算机系统。图1说明了包括各种联网的设备的示例性系统100,其中的一些或者全部可以用于实现本发明的实施例。
系统100可以包括网络102,网络102提供耦接到网络102的各种设备之间的通信耦接。在一些实施例中,网络102可以是诸如互联网的广域网。因此,网络102可以包括诸如一个或多个局域网的多个其它网络和/或可通信地耦接到所述多个其它网络。网络102(包括任何“子网络”)可以包括根据各种标准和版本中的任意一种的有线网络和/或无线网络(例如,以太网、电力线通信系统、光纤网络、IEEE102.11(WiFi)、IEEE102.16(WiMAX)等等),该有线网络和/或无线网络包括各种通信介质中的任意一种,如本领域普通技术人员所认识到的。
包括计算机系统104、106和108的各种计算机系统可以耦接到网络102。计算机系统104、106和108可以直接或者间接地耦接到网络102,例如经由类似网络102的一个或多个中间网络,计算机系统104、106和108也可以包括根据各种标准和版本中的任何一种的有线网络和/或无线网络。在一些实施例中,其它计算机系统和/或设备也可以耦接到网络102。
根据一组实施例,计算机系统104可以是配置为由终端用户计算机系统106经由服务器计算机系统108通过网络102安全唤醒的睡眠客户端计算机系统。例如,计算机系统104、106和108可以配置为实现下面参照图3描述的方法的方面。
如本领域普通技术人员应当理解的,计算机系统104、106和108中的每一个可以按照各种方式实现。图2说明了根据一组实施例可以用于实现计算机系统104、106和108中的一个或多个的基本部件。对于计算机系统104、106和108的其它系统配置也是可能的。
图2
图2是说明计算机系统200的各种部件的简化框图。根据各种实施例,计算机系统200可以用于实现图1中示出的计算机系统104、106和/或108中的一个或多个;因而,计算机系统200的一个或多个元件可以配置为实现下面参照图3描述的方法的一个或多个方面。
计算机系统200可以包括处理器202,处理器202可以耦接到存储介质204。计算机系统200可以进一步包括耦接到处理器202的网络接口控制器(NIC)206。NIC206可以使计算机系统200能够通过网络进行通信。例如,如图所示,NIC206可以包括端口210和逻辑208,逻辑208配置为独立地和/或结合处理器202来控制端口210。端口210可以是有线的(例如,以太网、电力线、电话线、同轴电缆或者其它有线连接)或者无线的(例如,IEEE102.11(WiFi)、IEEE102.16(WiMAX)、蓝牙或者其它无线连接)。在一些实施例中,NIC可以包括多个端口和/或经由多个通信介质(例如,多个有线和/或无线连接)支持网络通信。
控制逻辑208可以使用各种类型的逻辑中的任意一种实现,例如,模拟逻辑、数字逻辑、处理器(例如,CPU、DSP、微控制器等等)、ASIC(专用集成电路)、FPGA(现场可编程门阵列)或者上面的任意组合。在一个实施例中,控制逻辑208可以部分地或者全部地实现为基于硬件的状态机。例如,在其中计算机系统200用于实现图1的睡眠客户端计算机系统104的实施例中,NIC206可以包括配置用于向服务器计算机系统108发送注册消息并且从服务器计算机系统108接收唤醒消息、以及用于验证这些唤醒消息并且唤醒睡眠客户端计算机系统104的有限状态机。
在一些实施例中,处理器202可以是通用处理器。例如,处理器202可以配置为执行存储在存储介质204上的各种程序指令中的任意一种(例如,软件)。替代地或者另外地,计算机系统200可以包括一个或多个专用(例如,特殊用途)处理单元,例如微控制器、数字信号处理器和/或其它嵌入式系统。在一组实施例中,例如,在其中计算机系统200用于实现图1的服务器计算机系统208的实施例中,存储介质204可以包括用于例如根据下面参照图3描述的方法实施例来促进通过网络102的睡眠客户端计算机系统104的安全唤醒的程序指令。还应当注意的是,处理器202可以根据期望包括单个处理器或者多个处理器(例如,以便增加计算机系统200的计算能力)。
根据各种实施例,计算机系统200可以是各种类型的设备中的任意一种,并且可以实现各种功能中的任意一种。例如,计算机系统200可以是移动电话或者智能电话、平板电脑、上网本、膝上型计算机、桌面型计算机、服务器或者其它计算机系统、便携式媒体播放器、个人数字助理、或者通常可以用于按照有线或者无线方式通过网络进行通信的任何其它类型的计算设备。
如上面简述的,根据各种实施例,计算机系统200可以按照各种方式实现。因而,例如,上面将示例性计算机系统200描述为代表图1中示出的计算机系统104、106和108中的任意一个;本领域普通技术人员应当认识到,该方面不应该被理解为意味着计算机系统104、106和108中的每一个必须相同。在实践中,通常典型的是计算机系统104、106和108包括不同的部件和相区别的配置。例如,客户端计算机系统/终端用户设备与服务器计算机系统相比较,可以在能力和功能方面具有显著的差别。
而且,如本领域普通技术人员在了解本发明之后应当理解的,取决于实现,计算机系统200还可以包括所期望的各种其它部件中的任意一种(例如,显示器、用户输入设备、扬声器、附加的输入/输出能力等等),例如,用于实现其它功能。为了避免对本发明的细节造成模糊,没有示出这些部件。
图3
图3是说明用于通过网络安全唤醒计算机系统的方法的实施例的流程图。该方法的实施例可以由服务器计算机系统、睡眠客户端计算机系统(在本文被称为第一计算机系统)和/或终端用户计算机系统(在本文被称为第二计算机系统)实现。例如,图3的方法的方面可以典型地由本公开的图1-2中的设备实现。
因而,第一计算机系统可以包括网络接口控制器(NIC),该网络接口控制器包括配置为向服务器进行注册和通过该服务器接收唤醒消息、验证这些唤醒消息并且唤醒第一计算机系统的端口和逻辑,所有这些操作都是在第一计算机系统处于睡眠模式中时进行的。
此外,服务器计算机系统可以包括处理器和存储介质,该存储介质包括该处理器可执行以便促进第二计算机系统通过网络对第一计算机系统的唤醒的程序指令。
尽管以某种顺序示出了下面参照图3描述的步骤,但是应当注意的是,根据各种实施例,可以省略、重复或者按照与所示出的顺序不同的顺序执行这些步骤中的一个或多个。另外地或者替代地,也可以根据期望来添加或者可选地添加一个或多个附加的步骤。该方法可以按照下面来执行。
在步骤302,服务器可以接收注册消息。该注册消息可以由第一计算机系统的NIC经过网络进行发送。该网络可以是诸如互联网的广域网。该注册消息可以由NIC在第一计算机系统睡眠时发送。例如,该NIC会继续消耗少量的功率,以便保持发送注册消息并且执行与用于维持接收和验证唤醒消息以及唤醒计算机系统的能力有关的其它功能所需的有限功能,即使在该计算机系统处于睡眠模式中时。取决于实施例,这可以通过在NIC中实现负责将安全唤醒能力维持为诸如状态机的简单硬件逻辑系统的逻辑来实现,因为这样的系统与其它系统相比可以具有较低的功率需求。然而,各种其它实施例也是可能的,包括其中将“唤醒”逻辑实现为执行存储在存储介质上的程序指令的处理器(例如,嵌入式处理器)的那些实施例。
所述注册消息可以包括识别第一计算机系统的信息。例如,在一些实施例中,该注册消息可以包括第一计算机的主机名称和/或网络输入输出系统共享文件夹。在一些实施例中,第一计算机的IP地址可以(例如,隐式地或者显式地)包括在该注册消息中。根据一些实施例,可以支持IPv4和IPv6中的任意一种或者两种。另外地(或者替代地),该注册消息可以包括用于第一计算机系统的用户选择的人类可读的识别信息。例如,用户可以配置第一计算机系统(例如,在进入睡眠模式之前)以便具有该用户选择的识别名称和/或号码(例如,“home123”或者“bobs工作站”)。
在一些实施例中,所述注册消息还可以包括可以用于验证目的的信息。例如,在一个实施例中,该注册消息可以包括随机数(例如,随机数字或者伪随机数字,例如随机八位字节),以及可以用于对该随机数(和/或其它信息)进行加密的加密方法。另外地或者替代地,可以在该注册消息中包括密码或者其它验证信息(例如,取决于实现)。在一些实施例中,该验证信息(例如,随机数和/或加密方法)可以由第一计算机系统生成和/或由用户选择。
在步骤304,第一计算机可以由服务器进行注册。对第一计算机系统进行注册可以包括:将包括在来自第一计算机系统的注册消息中的信息的一些或者全部存储在存储器中。例如,可以将对于第一计算机系统的主机名称、网络输入输出系统共享文件夹、IP地址、用户选择的人类可读的ID和/或验证信息中的任意一个或者全部存储在存储器中。
在一些实施例中,在第一计算机系统向服务器发送注册消息之后,第一计算机系统的NIC和服务器可以在预定时间段内维持活动连接。例如,在接收到注册消息时,服务器可以初始化具有预定长度的超时定时器。在该预定时间段(其可以是5、15、30或者60秒)或者任意其它长度的时间之后,该连接可以到期。如果该连接超时,则服务器不能够向该NIC发送消息(例如,唤醒消息)。替代地,服务器能够向该NIC发送消息,但是注册信息中的一些或者全部(例如,随机数和/或加密算法)可能不再有效。
因此,可以期望第一计算机系统周期性地向该服务器发送新的注册消息,以便维持与该服务器的活动连接,并且从而维持通过网络接收唤醒消息的能力,只要第一计算机系统保持在睡眠模式中。因而,在一些实施例中,服务器可以周期性地从NIC接收新的注册消息。每一个新的注册消息可以包括与原始注册消息中包括的信息类型相类似的信息类型。在一些实施例中,每一个新的注册消息可以与先前的注册消息相同。替代地,在一些或者所有新的注册消息中,可以对某一信息进行更新或者改变;例如,在一些实施例中,出于安全原因,可以对随机数进行周期性地更新。可以以某个周期来发送新的注册消息,以使得在与NIC的连接到期之前,服务器接收每一个新的注册消息。由于接收到每一个新的注册消息,服务器可以将与NIC的连接延长附加的预定时间段,或者简单地重新开始所述超时定时器,以使得第一计算机系统的NIC和服务器之间的连接可以保持连续活动,只要该第一计算机系统处于睡眠模式。
在步骤306,服务器可以接收查询请求。该查询请求可以由第二计算机系统发送。在一些实施例中,作为旨在通过网络唤醒第一计算机系统的第一步骤,第二计算机系统的用户(例如,第一计算机系统和第二计算机系统二者共同的用户)可以发起该查询请求。该查询请求可以包括针对第一计算机系统的识别信息。例如,该查询请求可以包括第一计算机的主机名称、IP地址和/或用户选择的人类可读的ID。在一个实施例中,该查询请求可以仅包括第一计算机的用户选择的人类可读的ID。在一些实施例中,这可以是优选的,因为它可以允许用户仅使用他们(或者另一人类用户)已经选择的ID(假定该ID更加容易记忆)来做出该查询请求。
在其它实施例中,在该查询请求中可以另外地或者替代地包括其它信息。例如,在一些实施例中,该查询请求可以包括验证信息(例如,取决于实现,可以包括密码、对称或者非对称密钥加密信息、和/或其它验证信息),服务器可以在对该查询请求做出响应之前来对该验证信息进行验证。
在步骤308,服务器可以向第二计算机系统发送查询答复。该查询答复可以包括第二计算机系统生成并且向第一计算机系统发送唤醒消息所需要的信息。例如,该查询答复可以包括注册消息中服务器从第一计算机系统接收的信息中的一些或者全部。作为一个示例,在上面描述的其中注册消息包括随机数和加密算法的实施例中,该查询答复可以包括第一计算机的用户选择的人类可读的ID、该随机数和该加密算法。在一些实施例中,该查询答复可以另外地或者替代地包括第一计算机系统的主机名称和/或网络输入输出接口共享文件夹。该查询答复可以由第二计算机系统进行接收。
在步骤310,服务器可以接收唤醒消息。该唤醒消息可以由第二计算机系统生成并且发送。该唤醒消息可以包括针对第一计算机系统的识别信息和验证信息。
在一些实施例中,包括在唤醒消息中的识别信息可以再次包括第一计算机的用户选择的人类可读的ID。另外地或者替代地,可以在唤醒消息中包括用于第一计算机系统的一种或多种其它形式的识别信息。例如,在一些实施例中,唤醒消息中可以包括第一计算机系统的主机名称、网络输入输出系统共享文件夹和/或IP地址中的一个或多个。
在一些实施例中,第二计算机系统可以使用在查询答复中接收的信息,以便生成将包括在所述唤醒消息中的验证信息。例如,如果该查询答复包括前述的随机数和加密算法,则第二计算机系统可以使用该加密算法以便对该随机数进行加密,并且将加密的随机数包括在唤醒消息中。替代地或者另外地,该唤醒消息可以包括预共享密钥。换言之,该唤醒消息可以包括对于第一计算机系统和第二计算机系统(例如,其用户)均已知的信息,第一计算机系统可以使用该信息来验证唤醒消息。在一些实施例中使用的示例是密码,例如,用户选择的字母数字字符的序列。其它实施例可以包括其它类型的预共享密钥。
应当注意的是,在一些实施例中,可以省略步骤306和308(查询请求和查询答复)。例如,在一些实施例中,第二计算机系统处的用户可能已经具有用于生成并且向第一计算机系统发送唤醒消息(即,经由服务器)的所有必要信息。例如,根据一些实施例,第二计算机的用户能够提供第一计算机的用户选择的人类可读的ID和用户选择的预共享密钥作为输入,基于该输入,第二计算机系统可以生成并且向服务器发送该唤醒消息,从而跳过查询请求和查询答复步骤。
在步骤312,服务器可以向第一计算机系统发送该唤醒消息。在一些实施例中,随着从第二计算机系统接收到唤醒消息,服务器可以将该唤醒消息发送到第一计算机系统。替代地,在向第一计算机系统发送该唤醒消息之前,服务器可以修改或者验证该唤醒消息。
第一计算机系统可以从服务器计算机系统接收该唤醒消息。该唤醒消息可以具体地由第一计算机系统的NIC接收(例如,由于该计算机系统通常处于睡眠模式)。NIC可以验证该唤醒消息(例如,除了或者代替服务器),并且如果该唤醒消息被成功验证,则该NIC可以唤醒第一计算机系统。在唤醒之后,第一计算机系统可以处于完全开启状态,并且能够通过网络与其它计算机系统(例如,第二计算机系统)进行交互。
取决于实施例,NIC配置为对唤醒消息进行验证的方式可以变化。例如,如果唤醒消息包括根据加密算法进行加密的随机数,则对唤醒消息进行验证可以包括:对该唤醒消息中包括的加密的随机数进行解密,并且将其与原始随机数进行比较,或者将接收的加密的随机数与预先配置的加密的随机数(例如,第一计算机基于该加密算法生成)进行比较。如果比较结果指示它们是相同的,则该唤醒消息可以被验证,并且NIC可以唤醒第一计算机系统。可以根据由第二计算机系统提供的密钥(例如,使用该加密算法)对包括在该唤醒消息中的随机数进行加密。该密钥可以是密码、来自预共享x.509证书的密钥、或者某种其它类型的预共享密钥。因而,在一些实施例中,可以通过使用预共享密钥对随机数进行加密来包括该预共享密钥。换言之,在一些实施例中,出于安全原因,预共享密钥可能不以纯文本方式进行传送;然而,在其它实施例中,如果期望,可以对密码进行这样的传送。
尽管上面给出了验证系统的具体示例(例如,密码、预共享密钥),但是应当注意的是,在一些实施例中,可以另外地或者替代地实现各种其它验证系统中的任意一种。例如,可以实现任何对称或者非对称密码系统。而且,如果期望,可以使用诸如Kerberos、RADIUS、域验证或者另一验证服务器的验证服务器。
而且,还考虑其中对上面描述的消息中的一些或者全部(例如,注册消息、查询请求、查询答复、唤醒消息)进行加密(例如,使用对称、非对称或者其它加密系统)的实施例,以便防止未授权的用户获得到将允许他们唤醒第一计算机系统的信息的访问。
与用于远程唤醒睡眠计算机系统的现有方法相比较,该方法的实施例可以包括一些优点。例如,大部分现有方法涉及用于通过局域网唤醒睡眠计算机的方法。示例包括通过LAN的唤醒(WOL)模式(在该模式中,指定的偏移和匹配模式指示唤醒命令)、魔术WOL(其中,分组包含睡眠计算机系统的16个连续MAC地址)和链路改变(其中连接诸如网络线缆的介质)。这些方法并不意在经过NAT执行。即使能够经过NAT使用的那些方法也要求扩展的配置,这会具有降低目标计算机系统的安全性的不期望的副作用。而且,这些方法都不包括安全性。因而,与现有解决方案相比较,能够在没有任何特殊配置的情况下经过NAT执行并且包括安全/验证特征的图3的方法的实施例代表一种显著的改善。
图4
图4是根据一个实施例其中可以实现上面参照图3描述的方法的示例性系统400的说明。本文示出并且描述了图4的系统400以便提供其中可以实现本公开的实施例的系统和方式的更加具体的示例。然而,如本领域普通技术人员应当理解的,对于图4的系统的具体细节的许多修改和替代是可能的,并且无论是图4还是对其的描述都不应当在整体上被认为是对本发明的限制。
如图所示,系统400可以包括网络402,网络402可以是诸如互联网的广域网(WAN)。服务器计算机系统404可以在第一位置耦接到WAN402。终端用户计算机系统406可以在第二位置耦接到WAN402。睡眠客户端计算机系统408和410可以经由局域网(LAN)412耦接到WAN402。LAN412可以由路由器414(例如,无线地)提供,路由器414可以在防火墙416的LAN412侧上提供网络地址转换(NAT)。
睡眠客户端408可以经由LAN412和WAN402向服务器404进行注册。在图4的实施例中,注册可以由睡眠客户端408中的NIC(未示出)执行,并且注册可以包括发送包括下面各项的消息:睡眠客户端408的编码的主机名称和网络输入输出系统共享文件夹、睡眠客户端408的编码的ID(可以是例如在睡眠客户端408进入睡眠模式之前用户选择的)、随机数(可以是由睡眠客户端408随机生成的八位字节)和加密算法。服务器可以存储所有这一信息。
在睡眠客户端408向服务器404进行注册之后,终端用户406可以生成并且向服务器404发送查询请求。该查询请求可以简单地包括睡眠客户端408的编码的ID。
基于从终端用户406接收到查询请求,服务器404可以向终端用户406发送查询答复。该查询答复可以包括睡眠客户端408的编码的ID、来自注册消息的随机数和加密算法。
在从服务器404接收到查询答复之后,终端用户406可以使用安全密钥生成唤醒消息。该唤醒消息可以包括睡眠客户端408的编码的ID、以及根据终端用户的密钥输入进行加密的随机数。换言之,可以根据终端用户的密钥输入(例如,密码或者其它预共享密钥),使用包括在注册消息中的加密算法来对随机数进行加密。
终端用户406可以向服务器404发送唤醒消息,服务器404可以将该唤醒消息转发到睡眠客户端408。睡眠客户端408中的NIC可以接收该唤醒消息,并且检查加密的随机数。如果该加密的随机数是使用正确的密钥进行加密的,则NIC可以唤醒该睡眠客户端408。
图5
图5说明了根据一个实施例可以作为用于通过网络安全唤醒计算机系统的系统和方法的一部分使用的示例性消息格式。所说明的消息格式可以采取用户数据报协议(UDP)分组的形式。
如图所示,该消息可以包括媒体访问控制(MAC)报头、互联网协议(IP)报头和UDP报头。在可以如本领域中已知地根据UDP协议实现的这些报头之后,可以包括“互联网安全唤醒”(“SWOI”)报头。根据一个实施例,该SWOI报头可以包括版本信息、命令(CMD)指示符、长度字段、XID和错误码。版本字段可以指示该消息格式的版本。CMD字段可以指示SWOI消息的类型,例如,注册消息、查询请求、查询答复或者唤醒消息。长度字段可以指示之后的选项列表的长度(例如,以字节为单位)。在一些实施例中,还可以包括纠错编码信息和/或其它信息。在一些实施例中,消息格式的一部分可以保留用于改变,用于该消息格式的未来改变。尽管针对SWOI报头字段示出了以字节为单位的具体长度(例如,1个字节用于版本、1个字节用于CMD、2个字节用于长度、4个字节用于XID、并且2个字节用于错误码),但是这些只是示例性的,并且也可以考虑其它长度。
选项列表可以包括消息的实质内容。例如,潜在地取决于消息类型,可能的选项可以包括编码的主机名称、用户选择的ID、随机数、加密算法或者各种其它选项中的任意一种。根据一个实施例,每一个选项可以包括三个字段:选项类型(例如,识别该选项的类型)、选项长度(例如,识别该选项数据字段的长度)、以及该选项数据本身。根据一个实施例,选项类型字段可以是1个字节长,选项长度字段可以是2个字节长,选项数据字段可以与由选项长度字段指示的一样长;其它字段长度也是可能的。在一些实施例中,单个分组可以包括选项列表中的多个选项。在一些其它实施例中,每一个分组可以仅包括单个选项。
尽管图5中示出的消息格式是一种可能的基于UDP的消息格式,但是本领域普通技术人员应当认识到,根据期望,可以使用其它基于UDP的消息格式、或者各种其它类型的分组中的任意一种(例如,使用诸如TCP的其它协议)。因而,尽管图5中示出的消息格式代表实现本文描述的消息的一种可能方式,但是无论图5还是对其的描述都不应当在整体上被认为是对本公开的限制。
尽管已经相当详细地描述了上面实施例,但是对于本领域普通技术人员来说,一旦完全理解了上面的公开内容,各种变型和修改将变得显而易见。所附的权利要求书意在被解释为涵盖所有这样的变型和修改。
权利要求书(按照条约第19条的修改)
1.一种用于服务器促进通过网络的计算机系统的安全唤醒的计算机实现的方法,所述方法包括:
通过所述网络从第一计算机系统接收注册消息,其中,所述第一计算机系统包括网络接口控制器(NIC),并且其中,当所述第一计算机系统处于睡眠模式中时,从所述NIC接收所述注册消息;
对所述第一计算机系统进行注册,其中,所述注册包括将针对所述第一计算机系统的识别信息存储在存储器中;
通过所述网络从第二计算机系统接收唤醒消息,其中,所述唤醒消息包括识别所述第一计算机系统的信息和验证信息;
通过所述网络向所述第一计算机系统发送所述唤醒消息,其中,所述唤醒消息向所述NIC指示唤醒所述第一计算机系统;并且
在从所述NIC接收所述注册消息之后,将与所述NIC的连接维持预定的时间段,其中,在维持与所述NIC的所述连接时,执行所述对所述第一计算机系统进行注册、接收所述唤醒消息和发送所述唤醒消息。
2.根据权利要求1所述的计算机实现的方法,进一步包括:
从所述NIC周期性地接收新的注册消息,其中,在与所述NIC的所述连接到期之前接收所述新的注册消息;并且
基于接收到各自新的注册消息,在接收每一个各自新的注册消息之后,将与所述NIC的所述连接维持额外的预定的时间段。
3.根据权利要求1所述的计算机实现的方法,
其中,所述注册消息包括针对所述第一计算机系统的用户选择的人类可读的识别信息,
其中,所述存储针对所述第一计算机系统的识别信息包括存储针对所述第一计算机系统的所述用户选择的人类可读的识别信息;并且
其中,位于所述唤醒消息中的识别所述第一计算机系统的信息包括针对所述第一计算机系统的所述用户选择的人类可读的识别信息。
4.根据权利要求1所述的计算机实现的方法,其中,所述验证信息包括预共享密钥,并且其中,所述预共享密钥对于所述第一计算机系统和所述第二计算机系统已知。
5.根据权利要求1所述的计算机实现的方法,其中,所述网络是广域网,并且其中,所述方法由服务器计算机系统实现。
6.根据权利要求1所述的计算机实现的方法,
其中,所述注册消息包括针对所述第一计算机系统的识别信息、随机数和加密算法;
其中,所述注册进一步包括将所述随机数和所述加密算法存储在所述存储器中;
其中,所述方法进一步包括:
从所述第二计算机系统接收查询请求,其中,所述查询请求包括针对所述第一计算机系统的所述识别信息;并且
向所述第二计算机系统发送查询答复,其中,所述查询答复包括针对所述第一计算机系统的所述识别信息、所述随机数和所述加密算法;并且
其中,位于所述唤醒消息中的所述验证信息包括所述随机数,并且所述随机数根据所述加密算法进行加密。
7.根据权利要求1所述的计算机实现的方法,进一步包括:
基于位于所述唤醒消息中的所述验证信息,对所述唤醒消息进行验证;其中,向所述第一计算机系统发送所述唤醒消息基于对所述唤醒消息中的所述验证信息进行了成功验证。
8.一种包括程序指令的计算机可读存储介质,所述程序指令用于服务器促进通过网络的第一计算机系统的安全唤醒,其中,所述程序指令能够由处理器执行以便执行下列操作:
通过所述网络从所述第一计算机系统接收注册消息,其中,所述第一计算机系统包括网络接口控制器(NIC),并且其中,当所述第一计算机系统处于睡眠模式中时,从所述NIC接收所述注册消息;
对所述第一计算机系统进行注册,其中,所述注册包括将针对所述第一计算机系统的识别信息存储在存储器中;
通过所述网络从第二计算机系统接收唤醒消息,其中,所述唤醒消息包括识别所述第一计算机系统的信息和验证信息;
通过所述网络向所述第一计算机系统发送所述唤醒消息,其中,所述唤醒消息向所述NIC指示唤醒所述第一计算机系统;并且
在从所述NIC接收所述注册消息之后,将与所述NIC的连接维持预定的时间段,其中,所述程序指令能够执行以便用于在所述预定的时间段内对所述第一计算机系统进行注册、接收所述唤醒消息并且发送所述唤醒消息。
9.根据权利要求8所述的计算机可读存储介质,其中,所述程序指令进一步能够执行以便执行下列操作:
从所述NIC周期性地接收新的注册消息,其中,在与所述NIC的所述连接到期之前接收所述新的注册消息;并且
基于接收到各自新的注册消息,在接收每一个各自新的注册消息之后,将与所述NIC的所述连接维持额外的预定的时间段。
10.根据权利要求8所述的计算机可读存储介质,其中,所述注册消息包括针对所述第一计算机系统的用户选择的人类可读的识别信息,其中,所述程序指令能够进一步执行以便执行下列操作:
存储针对所述第一计算机系统的所述用户选择的人类可读的识别信息,其中,位于所述唤醒消息中的识别所述第一计算机系统的所述信息包括针对所述第一计算机系统的所述用户选择的人类可读的识别信息。
11.根据权利要求8所述的计算机可读存储介质,其中,所述验证信息包括预共享密钥,并且其中,所述预共享密钥对于所述第一计算机系统和所述第二计算机系统已知。
12.根据权利要求8所述的计算机可读存储介质,其中,所述网络是广域网。
13.根据权利要求8所述的计算机可读存储介质,
其中,所述注册消息包括针对所述第一计算机系统的识别信息、随机数和加密算法;
其中,所述注册进一步包括将所述随机数和所述加密算法存储在所述存储器中;
其中,所述程序指令能够进一步执行以便执行下列操作:
从所述第二计算机系统接收查询请求,其中,所述查询请求包括针对所述第一计算机系统的所述识别信息;
向所述第二计算机系统发送查询答复,其中,所述查询答复包括针对所述第一计算机系统的所述识别信息、所述随机数和所述加密算法;并且
其中,位于所述唤醒消息中的所述验证信息包括所述随机数,并且所述随机数根据所述加密算法进行加密。
14.根据权利要求8所述的计算机可读存储介质,其中,所述程序指令能够进一步执行以便执行下列操作:
基于所述唤醒消息中的所述验证信息,对所述唤醒消息进行验证,其中,向所述第一计算机系统发送所述唤醒消息基于对所述唤醒消息中的所述验证信息的成功验证。
15.一种配置用于计算机系统中的网络接口控制器(NIC),所述NIC包括:
用于通过网络进行通信的第一端口;
配置为促进通过网络安全唤醒所述计算机系统的逻辑单元,其中,所述逻辑单元配置为当所述计算机系统处于睡眠模式中时进行操作,其中,所述逻辑单元进一步配置为:
经由所述网络向服务器发送注册消息;
经由所述网络从所述服务器接收唤醒消息,其中,所述唤醒消息包括验证信息;
基于所述验证信息对所述唤醒消息进行验证;
唤醒所述计算机系统;并且
在发送所述注册消息之后,将与所述服务器的连接维持预定的时间段,其中,所述逻辑单元配置为在与所述服务器的所述连接到期之前从所述服务器接收所述唤醒消息。
16.根据权利要求15所述的NIC,其中,所述逻辑单元进一步配置为:
在与所述服务器的所述连接到期之前,周期性地向所述服务器发送新的注册消息;
基于发送各自新的注册消息,在发送每一个各自新的注册消息之后,将与所述服务器的所述连接维持额外的预定的时间段。
17.根据权利要求15所述的NIC,其中,所述注册消息包括针对所述第一计算机系统的用户选择的人类可读的识别信息,并且其中,所述唤醒消息包括针对所述第一计算机系统的所述用户选择的人类可读的识别信息。
18.根据权利要求15所述的NIC,其中,所述验证信息包括预共享密钥,其中,所述预共享密钥对于所述第一计算机系统和第二计算机系统已知,并且其中,所述唤醒消息源自所述第二计算机系统。
19.根据权利要求15所述的NIC,其中,所述网络是广域网。

Claims (22)

1.一种用于服务器促进通过网络的计算机系统的安全唤醒的计算机实现的方法,所述方法包括:
通过所述网络从第一计算机系统接收注册消息,其中,所述第一计算机系统包括网络接口控制器(NIC),其中,当所述第一计算机系统处于睡眠模式中时,从所述NIC接收所述注册消息;
对所述第一计算机系统进行注册,其中,所述注册包括将针对所述第一计算机系统的识别信息存储在存储器中;
通过所述网络从第二计算机系统接收唤醒消息,其中,所述唤醒消息包括识别所述第一计算机系统的信息和验证信息;
通过所述网络向所述第一计算机系统发送所述唤醒消息,其中,所述唤醒消息向所述NIC指示唤醒所述第一计算机系统。
2.根据权利要求1所述的计算机实现的方法,进一步包括:
基于从所述NIC接收到所述注册消息,在从所述NIC接收所述注册消息之后,将与所述NIC的连接维持预定的时间段;
其中,在维持与所述NIC的所述连接时,执行所述对所述第一计算机系统进行注册、接收所述唤醒消息和发送所述唤醒消息。
3.根据权利要求1所述的计算机实现的方法,进一步包括:
基于接收到所述注册消息,在接收所述注册消息之后,将与所述NIC的连接维持预定的时间段;
从所述NIC周期性地接收新的注册消息,其中,在与所述NIC的所述连接到期之前接收所述新的注册消息;
基于接收到各自新的注册消息,在接收每一个各自新的注册消息之后,将与所述NIC的所述连接维持额外的预定的时间段。
4.根据权利要求1所述的计算机实现的方法,
其中,所述注册消息包括针对所述第一计算机系统的用户选择的人类可读的识别信息,其中,所述存储针对所述第一计算机系统的识别信息包括存储针对所述第一计算机系统的所述用户选择的人类可读的识别信息;
其中,位于所述唤醒消息中的识别所述第一计算机系统的信息包括针对所述第一计算机系统的所述用户选择的人类可读的识别信息。
5.根据权利要求1所述的计算机实现的方法,其中,所述验证信息包括预共享密钥,其中,所述预共享密钥对于所述第一计算机系统和所述第二计算机系统已知。
6.根据权利要求1所述的计算机实现的方法,其中,所述网络是广域网,其中,所述方法由服务器计算机系统实现。
7.根据权利要求1所述的计算机实现的方法,
其中,所述注册消息包括针对所述第一计算机系统的识别信息、随机数和加密算法;
其中,所述注册进一步包括将所述随机数和所述加密算法存储在所述存储器中;
其中,所述方法进一步包括:
从所述第二计算机系统接收查询请求,其中,所述查询请求包括针对所述第一计算机系统的所述识别信息;
向所述第二计算机系统发送查询答复,其中,所述查询答复包括针对所述第一计算机系统的所述识别信息、所述随机数和所述加密算法;
其中,位于所述唤醒消息中的所述验证信息包括所述随机数,其中,所述随机数根据所述加密算法进行加密。
8.根据权利要求1所述的计算机实现的方法,进一步包括:
基于位于所述唤醒消息中的所述验证信息,对所述唤醒消息进行验证;
其中,向所述第一计算机系统发送所述唤醒消息基于对所述唤醒消息中的所述验证信息进行了成功验证。
9.一种包括程序指令的计算机可读存储介质,所述程序指令用于服务器促进通过网络的第一计算机系统的安全唤醒,其中,所述程序指令能够由处理器执行以便执行下列操作:
通过所述网络从所述第一计算机系统接收注册消息,其中,所述第一计算机系统包括网络接口控制器(NIC),其中,当所述第一计算机系统处于睡眠模式中时,从所述NIC接收所述注册消息;
对所述第一计算机系统进行注册,其中,所述注册包括将针对所述第一计算机系统的识别信息存储在存储器中;
通过所述网络从第二计算机系统接收唤醒消息,其中,所述唤醒消息包括识别所述第一计算机系统的信息和验证信息;
通过所述网络向所述第一计算机系统发送所述唤醒消息,其中,所述唤醒消息向所述NIC指示唤醒所述第一计算机系统。
10.根据权利要求9所述的计算机可读存储介质,其中,所述程序指令进一步能够执行以便执行下列操作:
基于从所述NIC接收到所述注册消息,在从所述NIC接收所述注册消息之后,将与所述NIC的连接维持预定的时间段;
其中,所述程序指令能够执行以便用于在所述预定的时间段内对所述第一计算机系统进行注册、接收所述唤醒消息并且发送所述唤醒消息。
11.根据权利要求9所述的计算机可读存储介质,其中,所述程序指令进一步能够执行以便执行下列操作:
基于接收到所述注册消息,在接收所述注册消息之后,将与所述NIC的连接维持预定的时间段;
从所述NIC周期性地接收新的注册消息,其中,在与所述NIC的所述连接到期之前接收所述新的注册消息;
基于接收到各自新的注册消息,在接收每一个各自新的注册消息之后,将与所述NIC的所述连接维持额外的预定的时间段。
12.根据权利要求9所述的计算机可读存储介质,其中,所述注册消息包括针对所述第一计算机系统的用户选择的人类可读的识别信息,其中,所述程序指令能够进一步执行以便执行下列操作:
存储针对所述第一计算机系统的所述用户选择的人类可读的识别信息;
其中,位于所述唤醒消息中的识别所述第一计算机系统的所述信息包括针对所述第一计算机系统的所述用户选择的人类可读的识别信息。
13.根据权利要求9所述的计算机可读存储介质,其中,所述验证信息包括预共享密钥,其中,所述预共享密钥对于所述第一计算机系统和所述第二计算机系统已知。
14.根据权利要求9所述的计算机可读存储介质,其中,所述网络是广域网。
15.根据权利要求9所述的计算机可读存储介质,
其中,所述注册消息包括针对所述第一计算机系统的识别信息、随机数和加密算法;
其中,所述注册进一步包括将所述随机数和所述加密算法存储在所述存储器中;
其中,所述程序指令能够进一步执行以便执行下列操作:
从所述第二计算机系统接收查询请求,其中,所述查询请求包括针对所述第一计算机系统的所述识别信息;
向所述第二计算机系统发送查询答复,其中,所述查询答复包括针对所述第一计算机系统的所述识别信息、所述随机数和所述加密算法;
其中,位于所述唤醒消息中的所述验证信息包括所述随机数,其中,所述随机数根据所述加密算法进行加密。
16.根据权利要求9所述的计算机可读存储介质,其中,所述程序指令能够进一步执行以便执行下列操作:
基于所述唤醒消息中的所述验证信息,对所述唤醒消息进行验证;
其中,向所述第一计算机系统发送所述唤醒消息基于对所述唤醒消息中的所述验证信息的成功验证。
17.一种配置用于计算机系统中的网络接口控制器(NIC),所述NIC包括:
用于通过网络进行通信的第一端口;
配置为促进通过网络安全唤醒所述计算机系统的逻辑单元,其中,所述逻辑单元配置为当所述计算机系统处于睡眠模式中时进行操作,其中,所述逻辑单元配置为:
经由所述网络向服务器发送注册消息;
经由所述网络从所述服务器接收唤醒消息,其中,所述唤醒消息包括验证信息;
基于所述验证信息对所述唤醒消息进行验证;
唤醒所述计算机系统。
18.根据权利要求17所述的NIC,其中,所述逻辑单元进一步配置为:
在发送所述注册消息之后,将与所述服务器的连接维持预定的时间段;
其中,所述逻辑单元配置为在与所述服务器的所述连接到期之前从所述服务器接收所述唤醒消息。
19.根据权利要求17所述的NIC,其中,所述逻辑单元进一步配置为:
在发送所述注册消息之后,将与所述服务器的连接维持预定的时间段;
在与所述服务器的所述连接到期之前,周期性地向所述服务器发送新的注册消息;
基于发送所述各自新的注册消息,在发送每一个各自新的注册消息之后,将与所述服务器的所述连接维持额外的预定的时间段。
20.根据权利要求17所述的NIC,
其中,所述注册消息包括针对所述第一计算机系统的用户选择的人类可读的识别信息;
其中,所述唤醒消息包括针对所述第一计算机系统的所述用户选择的人类可读的识别信息。
21.根据权利要求17所述的NIC,其中,所述验证信息包括预共享密钥,其中,所述预共享密钥对于所述第一计算机系统和第二计算机系统已知,其中,所述唤醒消息源自所述第二计算机系统。
22.根据权利要求17所述的NIC,其中,所述网络是广域网。
CN201180074574.8A 2011-11-01 2011-11-01 用于通过网络安全唤醒计算机系统的系统和方法 Expired - Fee Related CN104025512B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2011/081627 WO2013063758A1 (en) 2011-11-01 2011-11-01 System and method for securely waking a computer system over a network

Publications (2)

Publication Number Publication Date
CN104025512A true CN104025512A (zh) 2014-09-03
CN104025512B CN104025512B (zh) 2017-10-13

Family

ID=48191190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180074574.8A Expired - Fee Related CN104025512B (zh) 2011-11-01 2011-11-01 用于通过网络安全唤醒计算机系统的系统和方法

Country Status (7)

Country Link
US (1) US9746907B2 (zh)
EP (1) EP2774325B1 (zh)
JP (1) JP5823627B2 (zh)
KR (1) KR101599695B1 (zh)
CN (1) CN104025512B (zh)
IN (1) IN2014CN02454A (zh)
WO (1) WO2013063758A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI646799B (zh) * 2016-08-29 2019-01-01 物聯智慧科技(深圳)有限公司 遠端喚醒方法、連線伺服器及具有休眠模式的連網裝置
CN113039836A (zh) * 2018-09-28 2021-06-25 搜诺思公司 改变电源状态时对便携式电子设备的网络识别

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10756918B2 (en) * 2008-12-02 2020-08-25 ioBridge, Inc. Activating a device via a module-based device interaction system
EP2817755B1 (en) * 2012-02-20 2021-03-24 Intel Corporation Directed wakeup into a secured system environment
US9152195B2 (en) * 2013-01-21 2015-10-06 Lenovo (Singapore) Pte. Ltd. Wake on cloud
US10488909B2 (en) * 2014-02-14 2019-11-26 Hewlett-Packard Development Company, L.P. Communicating commands to an embedded controller of a system
JP6373087B2 (ja) * 2014-06-20 2018-08-15 キヤノン株式会社 情報処理装置と、その制御方法及びプログラム
EP3513601A4 (en) * 2016-09-13 2020-05-20 Link II, Charles M. METHOD AND SYSTEM FOR LOW-POWER INTER-NETWORK COMMUNICATION WITH MACHINE DEVICES
US11382174B2 (en) * 2017-03-31 2022-07-05 Interdigital Ce Patent Holdings, Sas Method to awaken a network access device from the internet
US10771439B2 (en) * 2017-06-28 2020-09-08 Microsoft Technology Licensing, Llc Shielded networks for virtual machines

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311276B1 (en) * 1998-08-25 2001-10-30 3Com Corporation Secure system for remote management and wake-up commands
US6678728B1 (en) * 1999-12-03 2004-01-13 3Com Corporation Method and apparatus for automatically loading device status information into a network device
WO2009104828A1 (en) * 2008-02-22 2009-08-27 Logicplant Method for remote wake-up a computer connected to a network
CN101953117A (zh) * 2008-02-18 2011-01-19 微软公司 高效且透明的远程唤醒

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6493824B1 (en) * 1999-02-19 2002-12-10 Compaq Information Technologies Group, L.P. Secure system for remotely waking a computer in a power-down state
US7082129B2 (en) * 2002-04-29 2006-07-25 International Business Machines Corporation Secure method and system to prevent external unauthorized remotely initiated power up events in computer
JP2004199543A (ja) 2002-12-20 2004-07-15 Fuji Xerox Co Ltd サーバ、クライアントおよびネットワークシステム
US7574600B2 (en) * 2004-03-24 2009-08-11 Intel Corporation System and method for combining user and platform authentication in negotiated channel security protocols
US7594116B2 (en) * 2005-04-28 2009-09-22 Proofpoint, Inc. Mediated key exchange between source and target of communication
JP4741292B2 (ja) 2005-06-09 2011-08-03 株式会社日立製作所 デバイス管理システム
JP2007036624A (ja) 2005-07-26 2007-02-08 Matsushita Electric Ind Co Ltd 通信管理装置、機器、および通信システム
US20070067445A1 (en) * 2005-09-16 2007-03-22 Smart Link Ltd. Remote computer wake-up for network applications
US20080025279A1 (en) 2006-07-31 2008-01-31 Motorola, Inc. Synchronization of multi-system wakeup
US8369254B2 (en) * 2007-06-28 2013-02-05 Intel Corporation Network interface apparatus
US20090073481A1 (en) * 2007-09-17 2009-03-19 Ferlitsch Andrew R Method and system for external preprocessing of service requests directed to a sleeping node
US8095667B1 (en) 2008-02-19 2012-01-10 Marvell International Ltd. Methods and apparatus for remotely waking up a computer system on a computer network
US8533506B2 (en) * 2010-06-04 2013-09-10 Lenovo (Singapore) Pte. Ltd. System wakeup on wireless network messages
US8498229B2 (en) * 2008-12-30 2013-07-30 Intel Corporation Reduced power state network processing
US8291258B2 (en) * 2010-01-08 2012-10-16 Juniper Networks, Inc. High availability for network security devices
US8286011B2 (en) * 2010-02-28 2012-10-09 Freescale Semiconductor, Inc. Method of waking processor from sleep mode
US8379540B2 (en) * 2010-05-03 2013-02-19 Microsoft Corporation System for synchronous and asynchronous gaming modes
US8850219B2 (en) * 2010-05-13 2014-09-30 Salesforce.Com, Inc. Secure communications
US9223583B2 (en) * 2010-12-17 2015-12-29 Oracle International Corporation Proactive token renewal and management in secure conversations
US20160192403A1 (en) * 2014-12-30 2016-06-30 Qualcomm Incorporated Mechanism to provide lte voice, internet and embms services over ethernet for connected home architecture

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6311276B1 (en) * 1998-08-25 2001-10-30 3Com Corporation Secure system for remote management and wake-up commands
US6678728B1 (en) * 1999-12-03 2004-01-13 3Com Corporation Method and apparatus for automatically loading device status information into a network device
CN101953117A (zh) * 2008-02-18 2011-01-19 微软公司 高效且透明的远程唤醒
WO2009104828A1 (en) * 2008-02-22 2009-08-27 Logicplant Method for remote wake-up a computer connected to a network

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI646799B (zh) * 2016-08-29 2019-01-01 物聯智慧科技(深圳)有限公司 遠端喚醒方法、連線伺服器及具有休眠模式的連網裝置
CN113039836A (zh) * 2018-09-28 2021-06-25 搜诺思公司 改变电源状态时对便携式电子设备的网络识别
CN113039836B (zh) * 2018-09-28 2023-08-22 搜诺思公司 改变电源状态时对便携式电子设备的网络识别

Also Published As

Publication number Publication date
JP5823627B2 (ja) 2015-11-25
EP2774325A1 (en) 2014-09-10
WO2013063758A1 (en) 2013-05-10
US9746907B2 (en) 2017-08-29
CN104025512B (zh) 2017-10-13
EP2774325B1 (en) 2018-02-28
US20140298066A1 (en) 2014-10-02
EP2774325A4 (en) 2015-06-24
JP2015504544A (ja) 2015-02-12
KR20140088896A (ko) 2014-07-11
IN2014CN02454A (zh) 2015-08-07
KR101599695B1 (ko) 2016-03-14

Similar Documents

Publication Publication Date Title
CN104025512A (zh) 用于通过网络安全唤醒计算机系统的系统和方法
US9832173B2 (en) System and method for securely connecting network devices
US7809386B2 (en) Local network proxy for a remotely connected mobile device operating in reduced power mode
US20120278636A1 (en) Remote wake mechanism for a network system and remote wake method thereof
EP1998528B1 (en) Method and apparatus to provide secure communication
TWI646799B (zh) 遠端喚醒方法、連線伺服器及具有休眠模式的連網裝置
US9104406B2 (en) Network presence offloads to network interface
CN107111515B (zh) 物联网平台、设备和方法
US9288269B2 (en) Network presence offload
US7882255B2 (en) Method and apparatus for maintaining local area network (“LAN”) and wireless LAN (“WLAN”) security associations
CN101953117A (zh) 高效且透明的远程唤醒
US20150051717A1 (en) Methods and system for joining a smart energy device to a zigbee network
US11522840B2 (en) Automatic client device registration
Akintade et al. Development of an MQTT-based IoT architecture for energy-efficient and low-cost applications
US11799825B2 (en) Updating parameters in a mesh network
US11785089B2 (en) Updating communication parameters in a mesh network
Gupta et al. The energy cost of ssl in deeply embedded systems
US20190238447A1 (en) Systems and Methods Implementing an Autonomous Network Architecture and Protocol
Lin et al. A dynamic cluster-based key management protocol in wireless sensor networks
Benze et al. Open system for energy services (OS4ES): An EU-funded research project to establish a non-discriminatory, multivendor-capability service delivery platform for smart grid services
CN115514587A (zh) 一种通信设备、方法、电子设备及存储介质
CN116527417A (zh) 一种设备唤醒方法、系统、装置、电子设备及存储介质
Tschofenig et al. RFC 6574: Report from the Smart Object Workshop
ITUB20154749A1 (it) Apparecchiatura di interfaccia

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171013

Termination date: 20181101