专利名称:动态的操作系统运行前的广告牌服务的制作方法
技术领域:
本公开涉及在引导前(pre-boot)环境中动态内容的显示。
背景技术:
提供对互联网的公开访问的互联网网吧是很普遍的,尤其是在亚洲国 家中,数以千计的互联网网吧通过上百万的计算机提供对互联网的访问。 例如,中国有超过BO,OOO个互联网网吧,其包含超过6百万台计算机。通 常,互联网网吧的顾客买不起个人计算机。顾客支付费用来在互联网网吧 中使用计算机。
为了支付购买用以提供对互联网的访问的计算机的花费,并从而减少 由顾客所付的费用,互联网网吧的所有者通常提供基于付费的广告服务。 这些广告是通过使用在顾客访问互联网的运行时刻(run-time)期间进行的弹
出(p叩-up)来递送的。然而,广告使用了运行时刻的资源,并引起顾客的厌 烦,因为它们打断了顾客对互联网的使用,并且它们持续进行显示直到由 用户将其终止为止。
随着以下进行的详细说明,依据对附图的参考,所要求权利的主题的 实施例的特征会变得显而易见,在附图中,相同的数字描述类似的部分, 并且其中
图1是示出根据本发明原理的互联网网吧系统的一个实施例的框图,
该互联网网吧系统包含多个客户系统,其在引导前环境中显示动态内容; 图2是图1所示任一客户系统的一个实施例的框图; 图3是可以包含于图1所示的任一客户系统中的可扩展固件接口(EFI)
的一种实现(架构)的框图4是示出具有基于架构的固件的系统在通电或重引导(reboot)时所经过的各个阶段的时间线;以及
图5A-5D是示出广告牌(billboard)服务的一个实施例的操作的流程图, 该广告牌服务用于显示广告的动态内容,所述广告可以在引导客户系统的 操作系统之前从服务器下载到客户系统。
尽管以下详细说明是参考所要求权利的主题的多个说明性实施例来进 行的,但其许多可选方案、变型和变化对于本领域技术人员都是显而易见 的。因此,其意图是所要求权利的主题被认为是概括的,并仅按所附权利 要求中所阐明的来定义。
具体实施例方式
根据本发明的一个实施例,诸如屏幕图像之类的动态内容可以在引导 操作系统之前通过通信网络取得并在一个可选择的时间期间内进行显示。 在一个实施例中,所述屏幕图像是显示在互联网网吧的客户系统上的广告。 通过在引导操作系统之前显示广告,来限制广告的时间期间,以便使其不 会使用户感到厌烦。此外,广告在运行时刻之前用户还不能使用计算机系 统时进行显示。而且,用户不必终止广告,因为其借助于操作系统的引导 过程而在所选时间期间之后自动终止。 图1是示出根据本发明原理的互联网网吧系统100的一个实施例的框 图,该互联网网吧系统包含多个客户系统102,所述客户系统102在引导前 环境中显示动态内容。客户系统包括耦合到交换机/路由器/集线器104上的 服务器102,交换机/路由器/集线器104提供对通信网络106的访问,通信 网络106可以是局域网(LAN)。服务器102可以建立初始化路径和远程开机 /关机,以及重启所有耦合到通信网络106上的客户系统108。
在一个实施例中,每一个客户系统108都包含存储在非易失性存储器 中的固件以及存储在诸如磁盘驱动器之类的次级存储设备中的一个或多个 操作系统。所述固件执行初始化功能,以允许客户系统108访问通信网络 106。在客户系统108引导了操作系统之后,服务器102可以通过通信网络 将应用程序下载到客户系统中。
图2是图1所示任一客户系统108的一个实施例的框图。在所示实施 例中,客户系统108包括处理器(中央处理单元(CPU))200、存储器202、网络接口 204、存储器接口 206和存储设备208。客户系统108还包括输入/ 输出接口 210,其为诸如显示器212之类的输出设备和诸如键盘214之类的 输入设备提供接口。操作系统216可以存储在存储设备208中。
图3是可扩展固件接口(EFI)300的一种实现(架构)的框图,其可以包含 于图1所示的任何一个客户系统108中。EFI是可以公开获得的规范,其定 义了在固件和操作系统之间的接口。该接口包括数据表,其存储了与硬件 相关的信息,以及对于操作系统和操作系统装入程序而言可用的、引导和 运行时刻的服务调用。除了提供引导和运行时刻的服务之外,该架构还提 供有序的EFI驱动器加载和执行。
在2002年12月1日的"Extensible Firmware Interface Specification" Versionl.10 中描述了 EFI 的一个版本,该文件可在 www.inter.com/technology/efi.上获得。硬件层是该架构的最底层。在一个实 施例中,硬件层可以包括CPU模块308和芯片组模块310,其提供了图2 所示的客户系统108的功能。
"引导(boot)"指的是通过打开电源、按下计算机上的复位(reset)按钮 或者发出用于重启的软件命令来启动或复位计算机的过程。该计算机执行 用来加载并启动操作系统且准备操作系统来进行使用的软件。
EFI架构包括顺序执行的两个主要部分,Pre-EFI(PEI)阶段306和驱动 器执行环境(DXE)阶段304。 Pre-EFI(PEI)阶段査找并初始化存储器。驱动器 执行环境(DXE)初始化客户系统中的其它部件,并为EFI驱动器302提供支 持。PEI阶段306、 DXE阶段304和EFI驱动器302 —起提供用于引导操作 系统并运行引导前应用程序的标准环境。在PEI阶段306和DXE阶段304 期间所执行的代码可以与驱动器一起存储在非易失性存储器中,以访问存 储EFI存储器302的存储设备。
EFI驱动器302是在DXE阶段运行的代码模块件(modular piece of code)。 EFI驱动器可以管理客户系统108中的设备或为引导前环境提供服 务。EFI驱动器是单线程的,并为控制台提供基础支持,为引导前环境提供 网络支持,即支持在引导前环境中引导操作系统并管理客户系统108。最少 的支持包括对控制单元的支持,例如用户用以与计算机进行通信的终端(控 制台)。控制台包括诸如键盘之类的输入设备和诸如显示器之类的输出设备。控制台可以提供阴极射线管(CRT)终端,如在视频图形阵列(VGA)或通用图 形适配器(UGA)设备上的文本支持或图形支持。还可以提供用于安全、无线 和音频驱动器的其他EFI驱动器。
图4是示出具有基于架构的固件的客户系统在通电或重引导时所经过 的各个阶段的时间线。对于重引导,操作系统被再次加载,无需对客户系 统进行电力重启(power cycling)。
在以通电为开端的安全(SEC)阶段期间,检査将要在客户系统中执行的 第一个操作码,以确定固件是否已被篡改。
在pre-EFI初始化环境(PEI)阶段期间,査找在该平台中的存储器,并为 DXE阶段准备资源图。
在驱动器执行环境(DXE)阶段期间,加载引导管理器和EFI驱动器。 DXE阶段提供一组引导服务、运行时刻服务和DXE服务。DXE分派程序 (dispatcher)负责査找并执行DXE驱动器和EFI驱动器。这些驱动器可以以 预定义顺序执行。EFI驱动器可以符合EFIVersionl.lO驱动器模型,其可在 www.inter.com/technology/efi.获得。引导管理器确定加载什么操作系统以及 所需的引导设备。可以加载所有EFI驱动器,或者仅加载引导操作所需的 那些EFI驱动器。引导服务为在引导时刻期间可以使用的设备和系统功能 提供了接口。
在用于网络的EFI驱动器、控制台和广告牌服务驱动器400被初始化 之后,客户系统108准备好通过通信网络106接收从服务器102发送的内 容,并在控制台的显示器上显示该内容。要显示的内容可以包括文本、图 形和视频,即,通常经由可以在互联网上访问的万维网(www)页面提供的任 何内容。在一个实施例中,除了要显示的内容之外,所下载的内容还可以 包括音频,其包括语音和音乐。可以由广告牌服务驱动器400管理对要显 示的内容的接收以及在可控制时间期间中对所接收内容的显示,稍后将结 合图5更详细描述广告牌服务驱动器400。
在显示器上显示屏幕图像的时间期满之后,引导分派程序402选择要 在引导设备选择阶段(BDS)期间引导的操作系统。BDS阶段定位并加载在引 导前环境中执行的应用程序。例如,该应用程序可以包括操作系统引导装 入程序,或者扩展的引导前服务,例如设置配置、扩展的诊断程序,快速更新支持和操作系统引导码。
在该阶段的开始,操作系统获得控制台设备上的显示器的控制,并且
通常通过复位存储屏幕图像的显示器缓冲器来清空(blank)显示器。
过渡系统加载(transient system load)(TSL)阶段允许在平台被操作系统
内核接管之前服务接口对于操作系统装入程序可用。在过渡系统加载(TSL)
阶段期间,操作系统被操作系统引导装入程序所引导。
运行时刻(RT)阶段提供了用于在操作系统执行期间提供EFI驱动器的
装置,以支持操作系统。在运行时刻期间,最终的操作系统环境运行,且
可以执行应用程序。客户系统保持在运行时刻阶段中,直到检测到关机为止。
运行后(afterlife)(AL)阶段,即,操作系统运行之后(post operating system),允许固件在操作系统终止之后执行(自动的或非自动的)。
图5A-5D是示出一个广告牌服务的实施例的操作的流程图,该广告牌 服务用于显示广告的动态内容,所述广告可以在引导客户系统的操作系统 之前从服务器102下载到客户系统108。在一个实施例中,广告牌服务可以 在DXE阶段期间由广告牌服务驱动器400提供。要在控制台的显示器上显 示的内容或部分内容可以在先前的引导前阶段中下载完毕,并存储在非易 失性存储器中,部分内容可以存储在非易失性存储器中,或者可以在当前 引导前阶段期间下载新的内容。
在块500,对客户系统108通电或重引导。在互联网网吧环境中,在给 予用户对客户系统的访问权之前,在常规基础上重引导客户系统。重引导 或"通电"命令可以从服务器102远程发送到客户系统108。通过对客户系 统108进行电力重启或重引导,由先前用户存储在客户系统的易失性存储 器中的任何数据都可以在给予下一个用户对客户系统的访问权之前删除。
在块502,客户系统108中的硬件(平台)在PEI阶段和DXE阶段期间 初始化,如在结合图4所示的时间线所论述的。在初始化期间,对硬件(平 台)进行诊断测试,以确定其是否是可操作的,以及用于输入/输出设备(例 如网络装置和控制台)的固件驱动器是否被初始化。在平台被初始化之后, 处理继续到块504。
在块504,检查设置或配置参数,以确定是否开启了广告牌服务。开启或关闭广告牌服务可以由终端用户来定制,例如互联网网吧所有者。配置
参数可以存储在非易失性存储器中,例如客户系统108的快擦式存储器中。
可以使用配置实用程序来修改配置参数,以开启广告牌服务。如果广告牌
服务被开启,处理就继续到块506。如果未开启,处理就继续到块536。
在块506,获得控制台要显示的最后更新的广告并进行显示。如果这是 第一次初始化平台,则将会显示存储在客户系统108中的默认标志。如果 广告以前已经下载过,则其可以存储在客户系统108中的非易失性存储器 或存储设备上。在此情况下,在控制台上显示以前下载并存储的广告。存 储以前下载的、用以在引导前时间期间显示的广告,确保了引导前广告时 间期间的有效使用。该广告可以在从服务器下载新广告的同时进行显示。 处理继续到块508。
在块50S,设置网络接口,以允许通过通信网络从服务器下载要在客户 系统上显示的内容。相关的DXE网络驱动器被加载到存储器中。在使用传 输控制协议/网际协议(TCP/IP)的实施例中,建立网络堆栈。处理继续到块 510。
在块510,如果网络设置失败,则处理就继续到块536,以显示存储在 客户系统中的标志,并引导操作系统。如果没有失败,则处理就继续到块 512,通过通信网络连接到服务器。
在块512,客户系统108通过通信网络106连接到服务器102,以获得 要在引导操作系统之前显示的内容。用于通过通信网络连接服务器的方法 对于本领域技术人员是公知的。
在块514,如果到通信网络的连接失败,则处理就继续到块536,反之, 则处理继续到块516。
在块516,以一个默认值初始化计时器,其用于计数在引导操作系统之 前显示通过通信网络从服务器接收的内容的时间期间。这个默认值是可控 制的,并可以由客户系统的终端用户通过使用配置实用程序进行修改。
在块518,广告牌服务进行检査,以査明是否有可以用于显示的新内容。 广告存储在服务器的数据库中,并在作为DXE阶段一部分的引导前广告阶 段期间被下载到客户系统。在一个实施例中,广告是屏幕图像,其被存储 在服务器中。如果存在要被下载到该客户系统中的新广告,则处理就继续到块520,下载该新广告,用以在引导前广告阶段期间在客户系统的控制台 上进行显示。如果不存在,则处理继续到块534。
在块520,广告牌服务确定是否存在断点,所述断点是在广告的先前下 载期间所存储的,表示先前的下载还没有完成。如果由于在引导操作系统 之前用于显示广告的时间期间期满而造成广告的下载不能完成,就设置断 点并将其存储在客户系统中。断点表示在广告文件中的数据偏移,在下一 个引导前阶段期间下载应在该数据偏移处开始。断点存储了第一次数据传 输停止处的数据偏移点,并且下一次数据传输从该记录点开始。例如,如 果广告存储在总长度为1024个八比特组的文件中,但第一次数据传输仅下 载了 500个八比特组,则就为该文件记录断点500。当下一次下载开始时, 下载文件的下一个请求从文件内的偏移501处的下一个八比特组开始。
客户系统下一次被引导时,对于要在控制台上显示的内容的下载从该 断点继续进行。通过减少下载时间,增加了广告在控制台上的显示时间。 从非易失性存储器中取回广告的先前下载的部分,以便与广告的当前下载 的部分一起在控制台上进行显示。这减少了在当前引导阶段期间该广告的 下载时间。如果存在先前未完成的下载期间所设置的断点,则处理就继续 到块523。如果不存在,则处理就继续到块522。
在块522,获得与要显示的广告相关的名称。处理继续到块523。
在块523,通过通信网络从服务器下载要显示的广告。处理继续到块
524。
在块524,检查计时器,以确定显示内容的时间期间是否已经期满。如 果是,则处理就继续到块528。如果不是,处理就继续到块526。
在块526,检査下载过程,以确定要显示的新广告的下载是否已完成。 如果是,则处理就继续到块528,以显示该新广告。如果不是,则处理就继 续到块523,继续下载要显示的新广告。
在块52S,在控制台上显示新广告。处理继续到块530。
在块530,将新广告设定为在下一次引导前阶段期间要显示的默认广 告。处理继续到块532。
在块532,显示所下载的内容,直到该时间期间期满为止。在检测到该 时间期间已经期满时,处理就继续到块538,以引导操作系统。在块534,计时器已经期满,将所下载的广告存储在客户系统中。广告 存储在非易失性存储器或存储设备中。设置断点,以便在下一个重引导或 "通电"重启期间,能够从该点处继续进行内容的下载。处理继续到块538, 以开始引导操作系统。
在块536,广告牌服务对于客户系统是关闭的,在开始引导操作系统之 前,可以在控制台上显示存储在客户系统中非易失性存储器中的静态内容。 所述静态内容可以是特定标志,即,为易于明确识别而设计的名称、符号 或商标。在开始块538的引导过程之前,静态内容可以在硬件初始化的同 时进行显示。
在块53S,操作系统引导过程开始。这可以通过选择一个从中引导操作 系统的设备来开始。在控制被传递到操作系统引导过程之后,显示内容就 不再处于广告牌服务的控制之下。
为了与具体操作系统相适应,例如,为了接收Microsoft windows操作
系统的认证,客户系统必须在指定时间段内开始操作系统的引导。在计算 机中的固件必须在指定时间期间内开始启动操作系统,以通过硬件资格测 试,以便接收Microsoft windows操作系统的认证。然而,该时间限制仅用 于在终端用户购买计算机之前。在售出之后,计算机所有者可以定制引导 前环境,例如所有者可以改变引导前时间,以允许额外的时间用于动态内 容(例如广告)的显示。
在一个实施例中,该时间期间可以由互联网网吧的所有者来选择。该 时间期间可以通过在操作系统运行前(pre-operating system)的配置实用程序
中的设置选项来选择。例如,设置页面可以是系统配置实用程序的一部分, 其可以通过选择键盘上的特定功能键而在个人计算机上进行调用。
在一个实施例中,用于显示所下载的广告的所选时间期间是10秒。在 这10秒期间,广告吸引了用户的注意力,但不会引起用户厌烦,因为它不 是在运行时刻期间出现的。由于该时间期间可以对于每个用户进行配置, 因此该时间期间可以比10秒更短或更长。例如,该时间期间对于普通用户 可以是10秒,对于不同类型的用户可以更短。
广告的显示是不依赖于操作系统的,因为它在操作系统的引导之前执 行的。此外,因为在系统初始化时间期间显示广告,因此它不耗费运行时刻的资源。
可以针对当前访问客户系统的特定用户来制作在引导操作系统之前所 显示的广告。例如,在提供对客户系统的访问权之前,互联网网吧运营者 可以以人口统计学信息(例如年龄、职别、或专业)来登记每一个用户,以便 使所显示的广告针对该类用户。
已经针对EFI接口描述了本发明的实施例,其包括允许在引导操作系 统之前下载动态内容的网络能力。本发明的实施例还可以包含于支持在引 导操作系统之前通过网络进行动态下载的其它系统中。例如, 一个实施例 可以包含于在引导操作系统之前提供网络能力的一种传统BIOS系统中。
已经针对在引导操作系统之前下载广告用以进行显示而描述了本发明 的实施例。本发明的其它实施例可以在引导操作系统之前下载其它要显示 的内容。例如,在非互联网网吧的环境中,可以将公司web页面下载到公 司内的每一个客户系统,或者家庭用户可以选择在每次系统通电或重置时 要下载到用户的系统中的特定web页面。用户还可以对在开始引导操作系 统之前显示web页面的时间期间进行选择,以便提供足够的时间来阅读该 内容。
在引导操作系统之前显示动态内容的能力还允许原始设备制造商 (OEM),即销售为特定应用而定制的计算机的厂商,以及独立BIOS厂商 (IBV)与用户交流。
对于本领域普通技术人员显而易见的是,本发明的实施例中所涉及的 各种方法可以采用包括计算机可用介质的计算机程序产品来体现。例如这 种计算机可用介质可以包括只读存储器设备,例如CD ROM盘片或常规 ROM设备,或者计算机磁盘,其包含存储在其上的计算机可读程序代码。
尽管参考本发明的各个实施例具体示出并描述了本发明的实施例,本 领域技术人员会理解,可以在对此做出形式和细节上的各种变化,而不会 脱离包含于所附权利要求中的本发明实施例的范围。
权利要求
1、一种设备,包括广告牌模块,其能够在引导操作系统之前,通过通信网络取得用于在控制台上显示的屏幕图像。
2、 如权利要求l所述的设备,其中,所述屏幕图像在可控制的时间期 间内进行显示。
3、 如权利要求l所述的设备,其中,所述屏幕图像是从耦合到所述通 信网络上的服务器取得的。
4、 如权利要求l所述的设备,其中,待取得的所述屏幕图像可以由服 务提供商通过耦合到所述通信网络上的服务器来选择。
5、 如权利要求4所述的设备,其中,所述屏幕图像是针对用户制做的。
6、 如权利要求l所述的设备,其中,所述屏幕图像可由用户选择。
7、 如权利要求l所述的设备,其中,所述广告牌模块是可扩展固件接 口的一部分。
8、 一种方法,包括 通过通信网络取得屏幕图像;以及 在引导操作系统之前,在控制台上显示所述屏幕图像。
9、 如权利要求8所述的方法,其中,所述屏幕图像在由耦合到所述通 信网络的系统所控制的时间期间内显示。
10、 如权利要求8所述的方法,其中,待取得的所述屏幕图像可以由服务提供商通过耦合到所述网络的服务器来选择。
11、 如权利要求10所述的方法,其中,所述屏幕图像是针对用户制做的
12、 如权利要求8所述的方法,其中,所述屏幕图像在可控制的时间 期间内显示。
13、 一种产品,包括包含相关信息的机器可访问介质, >其中,所述信息在被访问时,使得机器执行 通过通信网络取得屏幕图像;以及 在引导操作系统之前,在控制台上显示所述屏幕图像。
14、 如权利要求13所述的产品,其中,所述屏幕图像在可控制的时间 期间内显示。
15、 如权利要求13所述的产品,其中,待取得的所述屏幕图像可以由 服务提供商选择。
16、 如权利要求13所述的产品,其中,所述屏幕图像是针对用户制做的。
17、 一种系统,包括磁盘驱动器,其能够存储操作系统;以及广告牌模块,其能够在引导操作系统之前,通过通信网络取得用于在 控制台上显示的屏幕图像。
18、 如权利要求17所述的系统,其中,所述屏幕图像在可控制的时间 期间内显示。
19、 如权利要求17所述的系统,其中,所述屏幕图像是针对用户制做的。
20、 如权利要求17所述的系统,其中,所述屏幕图像从耦合到所述通 信网络的服务器取得。
全文摘要
提供了一种方法和设备,用于在引导操作系统之前通过通信网络取得动态内容。所述内容可以包括用于在控制台上显示的屏幕图像。用于显示内容的时间期间可以由耦合到通信网络的另一个计算机来控制。所述内容可以是广告,其在引导操作系统之前,在可控制的时间期间内显示在互联网网吧的计算机系统上。
文档编号G06F15/177GK101583941SQ200680038981
公开日2009年11月18日 申请日期2006年11月13日 优先权日2005年11月21日
发明者C·陈, J·赵, M·A·罗思曼, R·李, X·吴 申请人:英特尔公司