为网络上的服务实现休眠代理的方法和装置的制作方法

文档序号:7607163阅读:143来源:国知局
专利名称:为网络上的服务实现休眠代理的方法和装置的制作方法
技术领域
本发明涉及计算机网络。更具体地,本发明涉及为网络上的服务实现休眠代理的方法和装置。
背景技术
近年来,大量的设备(例如打印机)已经出现在市场上,这些设备带有各种标志,表示设备符合某种能量节省标准。同时,这些数量日益增加的设备被连接到计算机网络,以允许工作组使用它们的服务。为了使这些设备能够在网络上执行它们的服务,它们需要能够响应网络上的请求。但是,许多设备如果在指定的一段时间没有被使用的话,它们就会进入节能模式。为了使设备恢复到正常操作模式,可向该设备发送一个数据包,该数据包包含有用于唤醒设备的特定的比特序列。这个数据包通常被称为“魔术数据包(magic packet)”或“唤醒数据包(wakeup packet)”,并且这整个技术被称为“局域网唤醒”(wake-on-LAN)。
由于当设备处于节能模式时一般不会响应请求,而且客户一般也不知道启动该设备的魔术数据包的比特序列,因此节能模式可能会成为一个问题。因此,如果设备处于节能模式,它就不会对网络上设备所提供的服务的请求进行响应,并且该设备因此对网络上的客户表现为离线。
在许多情况下,用户人工走到该设备跟前、按下按钮来唤醒它,或者他们根本就不能够使用该设备。此外,如果设备处于节能模式,用户可能甚至不知道该设备的存在或可用。当设备处于节能模式时,它们不会在网络上广播它们的服务,因此它们可能不会出现在可用服务列表或清单(list)中。如果设备已经处于节能模式一段较长的时间,那么情况就更是如此。
因此,需要一种允许设备进入节能模式,同时仍然在网络上保持可见性和可用性的方法和装置。

发明内容
本发明的一个实施例提供了一种用于实现休眠代理的系统。所述系统的工作始于在休眠代理处接收一个对关于设备提供的服务的信息的请求。响应这个请求,所述系统确定所述设备是否是休眠代理为之采取行动的设备列表中的成员。如果是,所述系统就确定休眠代理是否能应答这个请求。如果能,休眠代理服务器就代表所述设备发送对该请求的响应。
在这个实施例的一个变化中,如果所述系统不能代表所述设备应答请求,那么所述系统就向所述设备发送一个唤醒数据包,其中该唤醒数据包会使所述设备退出电源节省模式,以致所述设备能够直接响应该请求。
在这个实施例的一个变化中,在接收请求之前,所述系统从一个设备接收注册,其中所述注册包含足够的信息,以允许休眠代理产生能够唤醒该设备的唤醒数据包,并且包含休眠代理能够应答的请求列表。然后,所述系统将该设备加入休眠代理能够应答的设备列表。
在又一个变化中,所述注册额外包含可用期满时间,其中在到达该可用期满时间时,休眠代理就取消设备注册。
在另一变化中,设备中的内部计时器唤醒设备,以使该设备能够在注册到期之前利用休眠代理更新它的注册。
在这个实施例的一个变化中,所述系统从所述设备接收一个所述设备正在进入节能状态的通知;并且响应这个通知,将所述休眠代理配置成为所述设备应答。
在这个实施例的一个变化中,所述系统从所述设备接收一个所述设备已经退出节能状态通知;并且响应这个通知,将所述休眠代理配置成不为所述设备应答。
在这个实施例的一个变化中,出于故障容错的目的,所述系统包含一个第二休眠代理,其对所述休眠代理的功能进行镜像。
在又一个变化中,所述系统在为设备应答之前等待一段随机的时间。这抑制了多个休眠代理之间的重复应答。


图1根据本发明的一个实施例说明了计算机网络。
图2是一个流程图,其根据本发明的一个实施例说明了休眠代理的过程。
具体实施例方式
给出的以下描述使得本领域的任何技术人员能够实现和使用本发明,并且是在特定应用及其要求的背景中提供以下描述的。对于本领域技术人员而言,对所公开的实施例作出各种修改是十分明显的,并且在不脱离本发明精神和范围的情况下,本文所限定的一般原理可应用于其他的实施例和应用。因此,本发明并无意被限于所示的实施例,而应符合与本文公开的原理和特征一致的最广泛范围。
在这个详细描述中介绍的数据结构和代码典型地存储在计算机可读介质上,其可以是能够存储计算机系统所用代码和/或数据的任何设备或介质。这包括,但不限于磁存储和光存储设备,例如磁盘驱动器、磁带、CD(压缩光盘)和DVD(数字通用光盘或数字视频光盘),以及体现在传输介质中(利用或未利用载波,信号被调制在其上)的计算机指令信号。例如传输介质可包括通信网络,例如因特网。
计算机网络图1示出了根据本发明一个实施例的计算机网络100。网络100一般包括能够将计算节点连接到一起的任何类型的有线或无线通信信道。这包括但不限于局域网、广域网或者组合型网络。在本发明的一个实施例中,网络100包括因特网。
网络100包括计算机系统102和104,打印机106和108,以及休眠代理110。计算机系统102和104一般包括任何类型的计算机系统,包括但不限于基于微处理器的计算机系统、大型计算机、数字信号处理器、便携式计算设备、个人记事本(personal organizer)、设备控制器以及在某种设备中的计算引擎。
在本发明的一个实施例中,网络100上的设备遵循即插即用协议,例如苹果计算机公司(Apple Computer,Inc.)的集结(Rendezvous)技术。在操作过程中,打印机106和108自配置到网络100,并且通过广播消息向网络100上的所有节点通告它们的服务。
休眠代理110可被包括在网络100上任何类型的设备中。优选地,休眠代理110应该是一直连接到网络并且总是处于全功率状态的设备。休眠代理110的某些示例性位置是在集线器、交换机和无线接入点内,因为这些设备通常总是连接在网络上的,并且总是处于全功率状态中。
休眠代理图2是一个流程图,根据本发明的一个实施例说明了休眠代理110的操作。当休眠代理110从网络100上的一个设备(例如打印机108)中接收到一个注册请求时(步骤202),所述系统开始工作。例如,打印机108可以向休眠代理110发送一个注册请求,指明与其所提供的服务相关的信息,以及休眠代理110应该为该信息中的哪些进行应答。特别地,休眠代理110可为打印机108进行应答的信息包括主机名字、主机地址、端口号码、当前状态和可用服务的类型。所有这些例子的情况都是客户(例如计算机系统102)只请求信息,而不请求设备除了提供基本信息之外还执行某种动作。通过为打印机108进行应答,休眠代理110允许打印机108继续被列为网络上的可用资源,同时允许打印机108停留在节能状态。打印机108也向休眠代理110发送足够的信息,以允许它产生将打印机108带出节能状态的魔术数据包。注意,这个最后的步骤,即发送足够信息以允许休眠代理产生魔术数据包,能够在打印机108进入节能状态时被执行,如下文所述。
然后,休眠代理110收到通知(步骤204)打印机108正在进入节能状态。注意,这个步骤可能不是必要的,因为休眠代理110能够被配置成,如果没有检测到来自打印机108的立即应答,那么它就为打印机108进行应答。一旦接收到对网络100上的设备所提供的服务的信息的请求(步骤206),休眠代理就确定这是否是它能够为该设备应答的请求(步骤208)。如果是,休眠代理110就响应该请求(步骤210),似乎休眠代理110就是其正为之应答的设备一样。如果不是,休眠代理110就向该设备发送魔术数据包,以将该设备带出节能状态(步骤212)。在这种实例中,休眠代理110不是必须为该设备应答,因为根据通常的网络协议设计方案,请求者在放弃之前还会重试请求几次。休眠代理110也能够被配置成,将对该设备的请求进行缓冲,并且一旦该设备返回全功率状态就将请求传给设备。当设备退出节能模式时,其会向网络100上的休眠代理110广播信息,指示休眠代理110停止为设备应答。
在某些情况下,在同一网络上设置一个以上的休眠代理以提供故障容错是有利的。如果休眠代理110为打印机106应答,那么第二休眠代理就忽略请求。在休眠代理110和第二休眠代理都为打印机106应答的情况下,来自第二休眠代理的应答能够被忽略或仅仅使得网络100上的其他设备再次更新它们的本地缓存。在本发明的一个实施例中,休眠代理在对请求进行应答之前等待一段随机的时间,从而减少重复应答的可能性。
在这个实施例的一个例子中,一个网络上存在多个休眠代理,每个休眠代理都具有一个处于休眠模式中的特定打印机的注册。当网络上传来了对关于那个打印机所提供的服务的信息的请求时,而且该请求属于休眠代理需要为该打印机进行应答的类型时,每个休眠代理就通过等待一段随机的时间来启动对该请求的响应。当第一个休眠代理在网络上广播了对该请求的答复时,网络上所有剩下的休眠代理将收到对该请求的响应,并且取消它们自己的即将发生的响应,因此节约了网络带宽。
给出本发明各个实施例的前述介绍仅仅式为了说明和描述的目的。并无意对它们进行穷举或者用它们来将本发明限制为所公开的形式。因此,许多修改和变化对于本领域的技术人员而言是明显的。此外,上述公开并无意限制本发明。本发明的范围是由所附的权利要求确定的。
权利要求
1.一种用于实现休眠代理的方法,其包括在所述休眠代理处接收一个对关于设备提供的服务的信息的请求;确定所述设备是否是所述休眠代理能够为之应答的设备列表中的成员;如果所述设备是所述休眠代理能够为之应答的设备列表中的成员,那么就确定所述请求是否是所述休眠代理能够应答的请求;而且如果所述请求是所述休眠代理能够应答的请求,那么就代表所述设备发送对所述请求的响应。
2.根据权利要求1所述的方法,其中如果所述请求不是所述休眠代理能够应答的请求,那么所述方法进一步包括向所述设备发送一个唤醒数据包,其中所述唤醒数据包是一个导致所述设备退出节能模式的数据包。
3.根据权利要求1所述的方法,其中在接收所述请求之前,所述方法进一步包括接收来自所述设备的注册请求,其中所述注册请求包含足够的信息,以允许所述休眠代理产生能够唤醒所述设备的唤醒数据包,和所述休眠代理能够应答的请求列表;并且将所述设备加入所述休眠代理为之应答的设备列表中。
4.根据权利要求3所述的方法,其中所述注册还包含一个可用期满时间,其中当达到所述可用期满时间,所述休眠代理就取消所述设备注册。
5.根据权利要求4所述的方法,其中所述设备中的一个内部计时器唤醒所述设备,以使所述设备能够在所述注册到期之前利用所述休眠代理更新它的注册。
6.根据权利要求1所述的方法,进一步包括从所述设备接收一个所述设备正在进入节能状态的通知;并且响应这个通知,将所述休眠代理配置成为所述设备应答。
7.根据权利要求1所述的方法,进一步包括从所述设备接收一个所述设备已经退出节能状态通知;并且响应这个通知,将所述休眠代理配置成不为所述设备应答。
8.根据权利要求1所述的方法,进一步包括实现一个第二休眠代理,其与所述休眠代理的功能相同,用于故障容错。
9.根据权利要求1所述的方法,其中发送对所述请求的响应进一步包括在发送所述响应之前,等待一段随机的时间,其中等待这段随机的时间利于抑制休眠代理之间的重复应答。
10.一种存储指令的计算机可读存储介质,当所述指令由计算机执行时,其使所述计算机执行一种用于实现休眠代理的方法,所述方法包括在所述休眠代理处接收一个对关于设备提供的服务的信息的请求;确定所述设备是否是所述休眠代理能够为之应答的设备列表中的成员;如果所述设备是所述休眠代理能够为之应答的设备列表中的成员,那么就确定所述请求是否是所述休眠代理能够应答的请求;而且如果所述请求是所述休眠代理能够应答的请求,那么就代表所述设备发送对所述请求的响应。
11.根据权利要求10所述的计算机可读存储介质,其中如果所述请求不是所述休眠代理能够应答的请求,那么所述方法进一步包括向所述设备发送一个唤醒数据包,其中所述唤醒数据包是一个导致所述设备退出节能模式的数据包。
12.根据权利要求10所述的计算机可读存储介质,其中在接收所述请求之前,所述方法进一步包括接收来自所述设备的注册请求,其中所述注册请求包含足够的信息,以允许所述休眠代理产生能够唤醒所述设备的唤醒数据包,和所述休眠代理能够应答的请求列表;并且将所述设备加入所述休眠代理为之应答的设备列表中。
13.根据权利要求12所述的计算机可读存储介质,其中所述注册还包含一个可用期满时间,其中当达到所述可用期满时间,所述休眠代理就取消所述设备注册。
14.根据权利要求13所述的计算机可读存储介质,其中所述设备中的一个内部计时器唤醒所述设备,以使所述设备能够在所述注册到期之前利用所述休眠代理更新它的注册。
15.根据权利要求10所述的计算机可读存储介质,其中所述方法进一步包括从所述设备接收一个所述设备正在进入节能状态的通知;并且响应这个通知,将所述休眠代理配置成为所述设备应答。
16.根据权利要求10所述的计算机可读存储介质,其中所述方法进一步包括从所述设备接收一个所述设备已经退出节能状态通知;并且响应这个通知,将所述休眠代理配置成不为所述设备应答。
17.根据权利要求10所述的计算机可读存储介质,其中所述方法进一步包括实现一个第二休眠代理,其与所述休眠代理的功能相同,用于故障容错。
18.根据权利要求10所述的计算机可读存储介质,其中发送对所述请求的响应进一步包括在发送所述响应之前,等待一段随机的时间,其中等待这段随机的时间利于抑制休眠代理之间的重复应答。
19.一种实现休眠代理的装置,包括接收装置,其被配置成在所述休眠代理处接收一个对设备提供的服务的信息的请求;确定装置,其被配置成确定所述设备是否是所述休眠代理为之应答的设备列表中的成员;第二确定装置,其被配置成,如果所述设备是所述休眠代理能够为之应答的设备列表中的成员,那么就确定所述请求是否是所述休眠代理能够应答的请求;以及响应装置,其被配置成,如果所述请求是所述休眠代理能够应答的请求,就代表所述设备发送对所述请求的响应。
20.根据权利要求19所述的装置,其中如果所述请求不是所述休眠代理能够应答的请求,那么所述装置就进一步包括唤醒装置,其被配置成,向所述设备发送唤醒数据包,其中所述唤醒数据包会导致所述设备退出节能模式。
21.根据权利要求19所述的装置,进一步包括注册装置,其被配置成接收来自所述设备的注册请求,其中所述注册请求包含足够的信息,以允许所述休眠代理产生能够唤醒所述设备的唤醒数据包,和所述休眠代理能够应答的请求列表;以及列表增加装置,其被配置成将所述设备加入所述休眠代理为之应答的所述设备列表。
22.根据权利要求21所述的装置,其中所述注册额外包含一个可用期满时间,且其中所述装置进一步包括取消装置,其被配置成当达到所述可用期满时间时,取消所述设备注册。
23.根据权利要求22所述的装置,其中所述设备中的一个内部计时器唤醒所述设备,以使所述设备能够在所述注册到期之前更新它在所述休眠代理的注册。
24.根据权利要求19所述的装置,进一步包括通知装置,其被配置成从所述设备接收一个所述设备正在进入节能状态的通知;以及配置装置,其被配置成响应这个通知,将所述休眠代理配置成为所述设备应答。
25.根据权利要求19所述的装置,进一步包括通知装置,其被配置成从所述设备接收一个所述设备已经退出节能状态通知;以及配置装置,其被配置成响应这个通知,将所述休眠代理配置成不为所述设备应答。
26.根据权利要求19所述的装置,进一步包括一个第二休眠代理,其与所述休眠代理的功能相同,用于故障容错。
27.根据权利要求19所述的装置,其中所述响应装置被进一步配置成在发送所述响应之前,等待一段随机的时间,其中等待这段随机的时间利于休眠抑制代理之间的重复应答。
全文摘要
本发明的一个实施例提供了一种实现休眠代理的系统。该系统的工作始于在休眠代理接收一个对关于设备提供的服务的信息的请求。响应这个请求,该系统确定所述设备是否是休眠代理为之采取行动的设备列表中的成员。如果是,该系统就确定休眠代理是否能应答这个请求。如果能,休眠代理服务器就代表所述设备向该请求发送响应。在这个实施例的一个变化中,如果该系统不能代表所述设备应答该请求,那么该系统就向所述设备发送一个唤醒数据包,其中该唤醒数据包导致所述设备退出电源节省模式,使得所述设备能够直接响应该请求。
文档编号H04L12/40GK1823495SQ200480020167
公开日2006年8月23日 申请日期2004年4月29日 优先权日2003年8月20日
发明者S·D·切舍尔 申请人:苹果计算机公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1