专利名称:客户端设备配置的制作方法
技术领域:
本发明的领域是数据处理,或者,更具体地说,是用于配置客户端设备的方法、系统和产品。
背景技术:
通常,当购买了联网客户端设备并安装到诸如家庭网络之类的网络上时,必须对客户端设备进行配置以便正确运行。当使用不同协议的完全不同的客户端设备被联网在一起时,配置这些客户端设备通常需要配置参数,所述配置参数特定于用户、客户端设备将在其上运行的网络以及客户端设备。当前的配置技术通常非常繁重并且要求用户的大量参与。实际上,在某些复杂环境中,配置需要技术安装人员上门服务。许多传统的配置技术要求用户从家用计算机访问复杂的文本指令并费力地读完大量技术数据以便完成配置过程。
发明内容
相应地,本发明在第一方面中提供了一种用于配置客户端设备的方法,所述方法包括以下步骤从制造商处接收用于客户端设备的配置捆绑包;从供应商处接收供应商提供的用于所述客户端设备的配置参数;从用户处接收用户提供的用于所述客户端设备的配置参数;以及将所述供应商提供的配置参数和所述用户提供的配置参数与用于所述客户端设备的所述配置捆绑包相关联;由此为所述客户端设备产生关联的配置捆绑包。
优选地,提供了一种配置客户端设备的改进的方法。
本发明的示例性实施例包括将所述关联的配置捆绑包下载到所述用户的服务网关。典型实施例包括执行所述关联的配置捆绑包。某些实施例包括检测所述客户端设备。此类实施例包括为所述客户端设备请求关联的配置捆绑包。
在本发明的示例性实施例中,从制造商处接收用于客户端设备的配置捆绑包包括将所述配置捆绑包存储到数据库中。在此类实施例中,根据用于所述客户端设备的客户端设备标识符对所述数据库进行索引。在典型实施例中,从用户处接收用户提供的用于所述客户端设备的配置参数包括将所述配置参数存储到数据库中。在示例性实施例中,将所述供应商提供的配置参数和所述用户提供的配置参数与用于所述客户端设备的所述配置捆绑包相关联包括根据客户端设备标识符从数据库检索所述配置捆绑包以及根据用户标识符从数据库检索所述用户配置参数。
根据另一个方面,提供了一种用于配置客户端设备的系统,所述系统包括一装置,所述装置用于从制造商处接收用于客户端设备的配置捆绑包;一装置,所述装置用于从供应商处接收供应商提供的用于所述客户端设备的配置参数;一装置,所述装置用于从用户处接收用户提供的用于所述客户端设备的配置参数;以及一装置,所述装置用于将所述供应商提供的配置参数和所述用户提供的配置参数与用于所述客户端设备的所述配置捆绑包相关联;由此为所述客户端设备产生关联的配置捆绑包。
根据另一个方面,提供了一种用于配置客户端设备的计算机程序产品,所述计算机程序产品包括记录介质;一装置,所述装置记录在所述记录介质上,用于从制造商处接收用于客户端设备的配置捆绑包;一装置,所述装置记录在所述记录介质上,用于从供应商处接收供应商提供的用于所述客户端设备的配置参数;一装置,所述装置记录在所述记录介质上,用于从用户处接收用户提供的用于所述客户端设备的配置参数;以及一装置,所述装置记录在所述记录介质上,用于将所述供应商提供的配置参数和所述用户提供的配置参数与用于所述客户端设备的所述配置捆绑包相关联;由此为所述客户端设备产生关联的配置捆绑包。
根据另一个方面,提供了一种用于配置客户端设备的计算机程序,所述计算机程序包括当在计算机上执行时,适合执行以下方法步骤的程序代码装置从制造商处接收用于客户端设备的配置捆绑包;从供应商处接收供应商提供的用于所述客户端设备的配置参数;从用户处接收用户提供的用于所述客户端设备的配置参数;以及将所述供应商提供的配置参数和所述用户提供的配置参数与用于所述客户端设备的所述配置捆绑包相关联;由此为所述客户端设备产生关联的配置捆绑包。
现在将仅通过实例的方式并参考附图对本发明的诸优选实施例进行说明,这些附图是图1是示出根据本发明的各种实施例的方法,在实现配置客户端设备的方法中有用的信息处理架构和各种实体的方框图;图2是示出配置客户端设备的示例性方法的数据流程图;图3是示出检测客户端设备以及请求关联的配置捆绑包的示例性方法的数据流程图;图4是示出从制造商处接收配置捆绑包以及从用户处接收用户提供的配置参数的示例性方法的数据流程图;图5是示出将供应商提供的配置参数和用户提供的配置参数与用于客户端设备的配置捆绑包相关联的示例性方法的数据流程图。
具体实施例方式
简介本说明书中很大程度上就用于配置客户端设备的方法对本发明进行了描述。但是,本领域的技术人员将认识到,任何包含适合按照所披露的方法运行的编程装置的计算机系统都落入本发明的范围之内。
适合的编程装置包括任何用于指导计算机系统执行本发明的实施例的方法的诸步骤的装置,包括例如,包括连接到计算机存储器的处理单元和算术逻辑电路的系统,所述系统具有在计算机存储器中存储的能力,所述计算机存储器包括电子电路,所述电子电路配置成存储数据和程序指令、由处理单元执行的本发明的实施例的方法的诸编程的步骤。本发明也可以被包含在诸如软盘或其他记录介质之类的计算机程序产品中,以便与任何适合的数据处理系统一起使用。
计算机程序产品的实施例可以通过使用用于计算机可读信息的任何记录介质来实现,所述记录介质包括磁介质、光介质或其他适合的介质。本领域的技术人员将立刻认识到,任何具有适当编程装置的计算机系统都将能够执行包含在程序产品中的本发明的方法的诸步骤。本领域的技术人员将立刻认识到,尽管本说明书中描述的大多数示例性实施例都面向安装在计算机硬件上并在其上运行的软件,但是,作为固件或硬件实现的替代实施例同样在本发明的范围之内。
定义“字段”-在本说明书中,除非文中另有说明,否则术语“字段”和“数据元”一般用作同义词,指数字数据的单个元素。数据元的集合称为“记录”或“数据结构”。记录的集合称为“表”或“文件”。“文件”或“表”的集合称为“数据库”。包含成员方法、函数或软件例程以及数据元的复杂数据结构称为“类”。类的实例称为“对象”或“类对象”。
“802.11”指IEEE针对无线局域网技术开发的一系列规范。802.11规定了无线客户端与基站之间或两个无线客户端之间的空中接口。
“API”是“应用程序接口”的缩写。API是一组用来构建软件应用程序的例程、协议和工具。
“蓝牙”指一种用于在客户端设备之间或者在客户端设备与局域网或其他网络上的资源之间进行射频连接的短距离无线电技术的工业规范。一个称为蓝牙特别兴趣小组的管理实体测试和检验设备是否与蓝牙兼容。蓝牙技术规范包括“基础核心”(其规定设计技术规范)和“基础配置”(其规定互操作性原则)。
“浏览器”指Web浏览器,一种用于查找和显示网页的通信应用程序。浏览器通常包括标记语言解释器、网页显示例程和HTTP通信客户端。目前典型的浏览器可以显示文本、图形、音频和视频。浏览器可在启用Web的设备中运行,包括启用Web的无线设备。启用Web的无线设备中的浏览器通常是称为“微浏览器”的缩减的浏览器。启用Web的无线设备中的微浏览器通常支持HTML以外的标记语言,包括例如WML(无线标记语言)。
“数据通信连接”指任何形式的数据通信,无线、802.11b、蓝牙、红外、无线电、互联网协议、HTTP协议、电子邮件协议、联网、直接连接、专线、拨号、使用RS-232(EIA232)或通用串行总线的串行连接、硬布线并口连接、根据电力线协议的网络连接以及本领域技术人员将想到的其他形式的数据通信连接。数据通信连接包括联网的数据通信连接。可用于本发明的各实施例的网络的实例包括有线网络、企业内部互联网、企业外部互联网、因特网、局域网、广域网以及本领域技术人员将想到的其他网络布置。在电视频道、有线频道、视频提供商、电信源等之间使用任何联网的连接都在本发明的范围之内。
“驱动程序”指控制设备的程序。设备(打印机、磁盘驱动器、键盘)通常具有驱动程序。驱动程序用作设备与使用该设备的软件程序之间的转换器。每个设备都具有一组其驱动程序所懂得的专用命令。软件程序一般通过使用通用命令来访问设备。因此,驱动程序从程序接受通用命令,然后将它们转换成设备专用命令。
“HAVi”代表“家用音频视频互操作性”,一种特别用于家庭娱乐环境的与供应商无关的音频-视频标准的名称。HAVi允许不同的家庭娱乐和通信设备(诸如VCR、电视、立体声系统、安全系统和视频监视器)被联网在一起并从一个主设备(诸如PC或电视)来控制。使用IEEE 1394(“火线”技术规范)作为互连介质,HAVi允许来自不同供应商的产品在定义的连接、通信协议以及API的基础上相互兼容。HAVi的分布式应用系统所提供的服务包括寻址方案和消息传递、查找发现资源、发布和接收本地或远程事件、成流和控制同步数据流。
“HomePlug”代表HomePlug电力线联盟。HomePlug是一个非盈利性的公司,它的形成为创建用于高速家用电力线联网产品和服务的开放技术规范提供了论坛。HomePlug技术规范被设计成使用电力线联网标准,通过家用电源插座将因特网通信和多媒体传送到家庭。
“ID”是“标识”的缩写,指“标识码”或标识字段。在本公开中引用风格是将用户标识码称为“用户ID”。根据本公开的惯例,字段名称“UserID”用于存储用户ID。
“IEEE 1394”是一个外部总线标准,支持最高400Mbps(400兆比特每秒)的数据传输速率。根据公司的不同,支持1394标准的产品具有不同的名称。最初开发IEEE 1394的苹果公司使用商标名称“FireWire”。其他公司使用其他名称(例如i.Link和Lynx)来描述他们的1394产品。
单个1394端口可用于连接多达63个外部设备。除了高速之外,1394还支持同步数据-以有保证的速率来传送数据。这使得它非常适合于需要实时传送高水平数据(例如视频)的设备。
“因特网”是一个全球性网络,连接着数百万使用“网际协议”或“IP”作为其联网协议堆栈的网络层的计算机。因特网采用分散式设计。因特网上的每台计算机都是独立的。因特网上每台计算机的操作者都可以选择使用何种因特网服务,以及将何种本地服务提供给全球因特网社区。接入因特网的方式可以有多种。很多在线服务,如美国在线,提供对某些因特网服务的接入。也可以通过商业的因特网服务提供商(ISP)来获得接入。“互联网”(internet,未大写)是任何使用IP作为其联网协议堆栈中的网络层的网络。
“IP”指“网际协议”,一种用于计算机数据通信的网络层联网协议。
“IP地址”指IP网络中计算机或设备的标识符。使用IP协议的网络基于目的地IP地址来路由消息。IP地址的格式是一个32位数字地址,写成用句号隔开的4个数字。每个数字可以从0到225。IP地址的一个实例是1.160.10.240。
“ISP”指“因特网服务提供商”,一种提供因特网接入的公司。对于每月收费的情况,ISP提供用户标识码(通常称作“用户名”)、密码以及接入电话号码,或者对于宽带服务来说,提供网际协议地址,通过所提供的这些项来接入因特网。配备了诸如调制解调器或电缆调制解调器之类的适当数据通信连接器,用户和公司然后可以登录因特网、浏览万维网以及访问其他因特网相关的服务,例如USENET和电子邮件。为公司提供服务时,ISP还提供从公司的网络到因特网的直接连接。
“JAR”是“Java archive”的缩写。JAR是一种用于捆绑Java applet所用组件的文件格式。由于许多组件(.class文件、图像、声音等)能够被打包成单个文件,JAR文件简化了applet的下载。JAR还支持数据压缩,这进一步减少了下载时间。按照惯例,JAR文件以.jar扩展名结尾。
“JES”代表Java嵌入式服务器。JES是OSGi的一种商业实现,它为到嵌入式设备的应用和服务的开发、部署和安装提供了框架。
“LAN”是“局域网”的缩写。局域网是一种跨相对较小区域的计算机网络。许多局域网被限制在单个建筑物或一组建筑物之内。但是,通过电话线和无线电波,一个局域网可以在任何距离上被连接到其他局域网。以这种方式连接的局域网系统被称作广域网(WAN)。因特网是广域网的一个实例。
“OSGI”指开放服务网关联盟,一个开发用于服务网关的技术规范的行业组织,包括用于通过服务网关传送服务捆绑包、软件中间件(提供兼容数据通信和服务)的技术规范。开放服务网关技术规范是一种基于Java的应用层框架,它提供服务提供商、网络运营设备制造商以及家电制造商的与供应商无关的应用、设备层API以及功能。
在本说明书中,“服务器”指包括网络上自动计算机器的计算机或设备,它管理资源和资源访问请求。“Web服务器”或“HTTP服务器”特指借助HTTP与浏览器进行通讯以便管理和向联网的计算机提供文档(以诸如HTML的标记语言的形式)、数字对象和其他资源的服务器。“DMS服务器”特指与服务网关进行通信以向服务网关提供服务捆绑包的服务器。
“SMF”代表可从IBM获得的“Service Management FrameworkTM”(服务管理框架)。SMF是一种基于标准的体系结构,被设计成符合由跨行业开放服务网关联盟(OSGi)所开发的技术规范。SMF是OSGi的一种商业实现,用于管理服务网关上的网络传送应用。
“TCP”指“传输控制协议”,一种用于联网计算机数据通信的传输层联网协议。TCP提供了一种所谓的“可靠”通信协议,其中消息被分成多个分组,这些分组被传送到消息的目的地,并被重新组装成完整和正确顺序的消息。TCP通常将IP用作其底层网络协议层,以致它们通常一起被称为TCP/IP协议集。
“TCP/IP”指传输控制协议(TCP)和网际协议(IP)一起运行。TCP/IP一个是分组交换协议集。TCP在数据源与数据目的地之间建立虚拟连接。IP规定了数据将以分组的形式从源发送到目的地,IP还规定了源和目的地的寻址方案。TCP监视数据的传送以及分组被传送的顺序。
“USB”是“通用串行总线”的缩写。USB是一个外部总线标准,支持12Mbps的数据传输速率。单个USB端口可用于连接多达127个诸如鼠标、调制解调器以及键盘之类的外围设备。USB还支持“即插即用”安装以及“热插拔”。
“WAP”指无线应用协议,一种与手持无线设备一起使用的协议。使用WAP的无线设备的实例包括移动电话、寻呼机、双向无线电设备以及手持计算机。WAP支持许多无线网络,并且许多操作系统支持WAP。专为手持设备设计的操作系统包括PalmOS、EPOC、WindowsCE、FLEXOS、OS/9以及JavaOS。使用显示装置并接入因特网的WAP设备运行“微浏览器”。微浏览器使用可以适应手持设备的低存储器限制和无线网络的低带宽限制的很小的文件大小。(Windows是Microsoft Corporation在美国和/或其他国家/地区的商标。)“万维网”,或更简单地,“Web”,指一种支持特殊格式文档的网际协议(“IP”)服务器系统。所述文档以诸如HTML(超文本标记语言)、XML(可扩展标记语言)、WML(无线标记语言)或HDML(手持设备标记语言)之类的标记语言来编排格式。在本说明书中,术语“Web”也用来指实现诸如HTML(超文本标记语言)或WAP(无线访问协议)之类的超链接协议以支持URI和使用标记语言编写的文档的任何服务器、连接的服务器组或相互连接的服务器组,与此类服务器或服务器组是否被如此连接到万维网无关。
详细说明图1是示出根据本发明的各种实施例,在实现配置客户端设备的方法中有用的示例性信息处理架构和各种实体的方框图。图1的示例性架构包括将被配置的客户端设备(120)。客户端设备(120)可以是任何可配置的设备,尽管在本发明的许多典型实施例中,客户端设备(120)是能够在诸如家庭网络之类的局域网或本领域技术人员将想到的任何其他网络上被联网的设备。将被配置的客户端设备(120)的实例包括打印机、洗碗机、DVD播放机、咖啡壶或本领域技术人员将想到的任何其他设备。
在图1的示例性架构中,客户端设备(120)与服务网关(130)相连以便进行数据通信。服务网关(130)与互联网(108)相连以便进行数据通信。服务网关(130)为客户端设备(120)以及客户端设备(120)正在其上运行的任何局域网提供了对诸如因特网之类的广域网的接入。
在某些示例性架构中,服务网关(130)是兼容OSGi的服务网关(130)。虽然在本说明书中使用OSGi描述了用于配置客户端设备的方法的示例性实施例,但是许多其他应用和框架也能够实现根据本发明的配置客户端设备的方法,并且因此在本发明的范围之内。OSGi的商业实现,诸如JES和SMF,也可以用于实现本发明的各实施例的方法。
OSGi代表“开放服务网关联盟”。OSGi技术规范是一种基于JavaTM的应用层框架,为使用在家庭网络、汽车和其他环境内运行的任意通信协议的各种设备提供与供应商无关的应用、设备层API以及功能。OSGi可以与各种联网技术一起使用,例如以太网、蓝牙、家用音频和视频互操作性(HAVi)标准、IEEE 1394、通用串行总线(USB)、WAP以及电力线通信系统(包括家用电力线联盟(HomePlug))。OSGi技术规范可以从OSGi网站www.osgi.org免费下载。(Java和所有基于Java的商标都是SunMicrosystems,Inc.在美国和/或其他国家/地区的商标。)图1的服务网关包括服务框架(126)。在许多示例实施例中,服务框架是OSGi服务框架(126)。OSGi服务框架(126)是用Java编写的,因此一般在Java虚拟机(JVM)上运行。在OSGi中,图1的服务框架(126)是用来运行“服务”(124)的主平台。
服务(124)是用于在OSGi中创建应用的主要构建块。服务(124)是一组实现特定功能的Java类和接口。OSGi技术规范提供了许多标准服务。例如,OSGi提供了标准的HTTP服务,所述HTTP服务可以创建能够响应来自HTTP客户端的请求的Web服务器。
OSGi还提供了一组称为设备接入技术规范的标准服务。设备接入技术规范(“DAS”)提供服务以标识连接到服务网关的设备、搜索用于该设备的驱动程序以及安装该设备的驱动程序。
OSGi中的服务(124)被与服务(124)在诸如图1的捆绑包(121)之类的“捆绑包”内执行时所需的其他文件、图像和资源打包在一起。捆绑包(121)是包括一个或多个服务(124)、激活器(activator)类(127)以及清单文件(125)的Java档案(JAR)文件。激活器类(127)是服务框架(126)用来启动和停止捆绑包的Java类。清单文件(125)是描述捆绑包(121)的内容的标准文本文件。
OSGi中的服务框架(126)还包括服务注册表(128)。服务注册表(128)包括服务的名称和类的实例,所述类实现用于每个安装在框架(126)上并使用服务注册表(128)来注册的捆绑包(121)的服务。捆绑包(121)可以请求没有被包括在捆绑包(121)中,但在框架服务注册表(128)上已注册的服务。为了找到服务,捆绑包(121)对框架的服务注册表(128)执行查询。
图1的示例性实体还包括通过互联网(108)、万维网或任何广域网与服务网关(130)相连以进行数据通信的设备管理服务器(’DMS’)(106)。DMS是一种专门设计成向服务网关(130)提供、检索或以其他方式部署捆绑包的服务器。在许多典型实例中,DMS代理提供协议,所述协议用于接收来自网关的对捆绑包的请求、验证网关、检索被请求的捆绑包以及将所请求的捆绑包提供给服务网关。
图1的示例性实体包括配置服务提供商(’CSP’)(104)。CSP(104)是一个获得用于客户端设备的配置捆绑包并将它们提供给用户的服务提供商。用户是CSP的订户或客户。CSP接收来自用户的配置参数。当用户或供应商通知CSP购买了需要进行配置的客户端设备时,CSP(104)提供用于该客户端设备的关联的配置捆绑包。关联的配置捆绑包是一种用于客户端设备的配置捆绑包,其中具有配置用户服务网关(130)所需的捆绑包配置参数。图1的CSP通过DMS将配置捆绑包下载到用户的服务网关。关联的配置捆绑包在服务网关上执行以便配置客户端设备。
图1的示例性实体包括供应商(102)。供应商(102)出售或以其他方式将客户端设备(120)提供给用户。在配置客户端设备的方法的实例中,供应商(102)还向用户出售或以其他方式向用户提供用于客户端设备的配置捆绑包。在本发明的某些实例实施例中,供应商从配置捆绑包的制造商(132)处获得配置捆绑包。
图1的示例性实体还包括制造商(132)。图1的制造商(132)是配置捆绑包的制造商,所述配置捆绑包用于与根据本发明的实施例的配置客户端设备(120)的方法一起使用。用于客户端设备的配置捆绑包的制造商(132)在某些情况下是客户端设备(120)本身的制造商。但是,配置捆绑包的制造商(132)可以是配置捆绑包的第三方制造商,其并不制造客户端设备。
图2是示出配置客户端设备的示例性方法的数据流程图。图2的方法包括从制造商(132)处接收(202)用于客户端设备(120)的配置捆绑包(122)。制造商(132)是用于客户端设备(120)的配置捆绑包(122)的制造商。在根据本发明的实施例的许多配置客户端设备的示例性方法中,配置捆绑包(122)的制造商(132)是客户端设备(120)的制造商。但是,在其他实例中,配置捆绑包的制造商(132)可能并不制造客户端设备(120)。
在图2的实例中,配置捆绑包(122)包括服务、计算机代码以及用于配置客户端设备(120)的其他资源。在某些情况下,配置捆绑包(122)可以包括用于客户端设备(120)的驱动程序。在配置客户端设备的某些实例中,配置捆绑包(122)是一个OSGi捆绑包,该OSGi捆绑包包括用于配置客户端设备的服务。OSGi配置捆绑包在OSGi服务网关上执行以配置客户端设备。由于配置捆绑包(122)被设计成配置特定的客户端设备(120),在许多实例中,不同的配置捆绑包(122)具有各种设计,具体取决于配置捆绑包被设计成对其进行配置的客户端设备、客户端设备(120)将在其上运行的网络、将部署和执行配置捆绑包(122)的服务网关以及本领域技术人员将想到的任何其他因素。
在图2的方法中,接收(202)用于客户端设备(120)的配置捆绑包(122)由CSP(104)来执行。CSP从制造商(132)处为用户(210)接收用于客户端设备(120)的配置捆绑包(122)。用户(210)一般是CSP(104)的订户。当用户(210)购买或获得将要进行配置的客户端设备(120)时,CSP(104)将适当的配置捆绑包(122)提供给用户。用户(210)可以通过打电话给CSP、向CSP发送电子邮件或任何其他请求要配置的新客户端设备的CSP的方法,从CSP(104)请求用于客户端设备的配置捆绑包。可替代地,客户端设备(120)的供应商(102)通知用户的CSP(104),用户购买了客户端设备(120)。
在图2的方法的某些实例中,从制造商(132)处接收(202)用于客户端设备(120)的配置捆绑包(122)包括从例如制造商的网站单独下载配置捆绑包(122)。可替代地,从制造商(132)处接收(202)用于客户端设备(120)的配置捆绑包(122)包括接收作为配置捆绑包的完整数据库的配置捆绑包,所述数据库根据例如厂家、型号或客户端设备序列号进行索引。在许多情况下,该数据库存储在光盘或其他形式的非易失性计算机存储器中。从制造商(132)处接收(202)用于客户端设备(120)的配置捆绑包(122)还包括接收对先前由CSP(104)接收的配置捆绑包(122)的更新。
图2的方法包括从供应商(102)处接收(204)供应商提供的用于客户端设备(120)的配置参数(206)。供应商(102)是提供给用户的客户端设备(120)的销售商、零售商或提供商。在本发明的各种实施例中,供应商所提供的配置参数(206)包括客户端设备标识符。客户端标识符充分地标识客户端设备,以便可以由例如CSP接收到适合的配置捆绑包。客户端设备标识符的实例为制造商的名称和制造商的型号、序列号或本领域技术人员将想到的任何其他客户端设备标识符。
在图2的方法中,从供应商(102)处接收(204)供应商提供的用于客户端设备(120)的配置参数(206)由CSP(104)来执行。在一个实例中,CSP(104)通过接收电子邮件、电话或本领域技术人员将想到的任何其他接收供应商提供的配置参数(206)的方法,在销售时从供应商(102)处接收供应商提供的配置参数(206),例如标识用户(210)所购买的客户端设备(120)的客户端标识符。
考虑运行网站的供应商(102)的实例。用户(210)通过供应商的网站从供应商(102)处购买了客户端设备(120)。在购买过程中,供应商(102)的网站包括一个屏幕,请求用于用户的CSP(104)的联系信息。在完成购买时,供应商(102)将供应商提供的配置参数(206)提供给CSP(104)。这样,当用户购买客户端设备(120)时,供应商(102)自动地将供应商提供的配置参数(206)提供给CSP(104)。
图2的方法包括从用户(210)处接收(208)用于客户端设备(120)的用户提供的配置参数(212)。用户提供的配置参数(212)通常包括用户(134)了解或可用且涉及用户的服务网关、网络的配置参数,或其他定义了客户端设备(120)将在其中运行的环境的配置参数。用户提供的配置参数(212)的实例包括用户的局域网掩码、用户的IP默认网关地址、用户的IP地址、用户的局域网名称、用户的DMS名称、用户链路类型(以太网、蓝牙、802.11)、无线网络名称、无线加密密钥或本领域技术人员将想到的任何其他用户提供的配置参数。
根据本发明的许多实施例,从用户(210)处接收(208)用户提供的配置参数(212)由CSP(104)来执行。CSP(104)一次性接收用户提供的配置参数并将其存储在数据库中。CSP为用户维护用户提供的配置参数。当用户(210)以后购买客户端设备(120)时,在CSP的数据库中的用户提供的配置参数(212)可供使用。因此,无需额外的用户提供的配置参数,便可执行客户端设备的配置。
图2的方法包括将供应商提供的配置参数(206)和用户提供的配置参数(212)与用于客户端设备(120)的配置捆绑包(122)相关联(214)。关联(214)供应商提供的配置参数(206)和用户提供的配置参数(212)产生了关联的配置捆绑包(216)。关联的配置捆绑包(214)是一个具有适合的配置参数的配置捆绑包,以便当被部署到用户的服务网关和被执行时,关联的配置捆绑包将配置客户端设备。
当用户提供的配置参数(212)和供应商提供的配置参数已经被与配置捆绑包相关联时,关联的配置捆绑包即可部署到用户的服务网关。在许多情况下,多个配置捆绑包被关联以创建一组完整的关联配置捆绑包,以便当该组配置捆绑包被部署到用户的服务网关并被执行时,用户的客户端设备被配置。
在图2的方法中,将供应商提供的配置参数(206)和用户提供的配置参数(212)与用于客户端设备(120)的配置捆绑包(122)进行关联(214)由CSP来执行。在某些实例中,CSP接收用户(210)已购买或以其他方式获得了客户端设备(120)的通知。CSP接收诸如客户端设备标识符之类的供应商提供的配置参数(206)。CSP从制造商处接收用于客户端设备(120)的适合的配置捆绑包(122)。然后,CSP可以从由其维护的数据库来检索用户提供的配置参数(212)。然后,CSP将供应商提供的配置参数(206)和用户提供的配置参数(212)与用于客户端设备(120)的配置捆绑包(122)进行关联。
图2的方法包括将关联的配置捆绑包(216)下载(218)到用户(210)的服务网关(130)。在图2的方法的某些实例中,下载(218)关联的配置捆绑包(216)包括当用户提供的配置参数(212)和供应商提供的配置参数(206)被与配置捆绑包(122)相关联时,将关联的配置捆绑包(216)发送到用户的服务网关(130)。在这些实例中,关联的配置捆绑包(216)随时准备在用户的服务网关(130)上执行。在某些实例中,通过专门被设计成将捆绑包提供给服务网关的DMS,关联的配置捆绑包(216)被发送给服务网关。
在一个替代实例中,关联的配置捆绑包被下载到DMS,DMS存储关联的配置捆绑包(216)或者关联的配置捆绑包(216)被存储在CSP中,直到用户或用户的服务网关(130)请求该关联的配置捆绑包(216)。在某些实例中,当服务网关检测到客户端设备(120)被连接到服务网关(130)时,用户的服务网关将请求关联的配置捆绑包。
图2的方法包括执行(220)关联的配置捆绑包(216)。执行(220)关联的配置将产生已配置的客户端设备(222)。在许多情况下,当在服务网关上检测到客户端设备时,将自动地执行配置捆绑包。在其他实例中,执行(220)关联的配置捆绑包(216)包括从用户处接收指令以执行配置捆绑包。使用安装在连接到服务网关的计算机上的Web浏览器,用户可以通过一系列指令屏幕指示服务网关执行关联的配置捆绑包。在本发明的许多实施例中,服务网关直接安装在其上,没有用户接口硬件、没有终端屏幕、没有键盘、没有鼠标,尽管此类服务网关通常确实支持网关上的HTTP服务接口。在此类实施例中,通过登录到个人计算机或其他客户端设备(其确实支持用户接口硬件并通过局域网被连接到网关)上的浏览器并将浏览器引导到服务网关在局域网上的IP地址,用户可以访问网关上的HTTP屏幕。
图3是示出检测(250)客户端设备(120)以及请求(242)用于客户端设备(120)的关联配置捆绑包(242)的示例性方法的数据流程图。在图3的方法中,检测客户端设备(120)包括轮询(240)用于连接客户端设备(120)的串行接口(118)。轮询(240)串行接口(118)指周期性地检查用于连接设备的串行接口。
在图3的方法中,检测(250)客户端设备(250)通过轮询捆绑包(246)来执行。在某些实例实施例中,轮询捆绑包(246)是一个OSGi捆绑包。OSGi框架在DAS中提供了标准服务以检查服务网关(130)上的设备的连接。在某些实例中,轮询捆绑包(246)包括捆绑包中专门编程的轮询服务。在一个替代实例中,轮询捆绑包查询服务网关上运行的OSGi框架上的服务注册表以标识标准的OSGi服务,以便检查服务网关上的设备的连接。在图3的实例中,轮询捆绑包(246)使用OSGi标准服务来轮询(240)串行接口(118)并检测客户端设备(120)。
图3的方法包括当轮询检测到客户端设备被连接到串行接口时,从客户端设备(120)读取(254)客户端设备标识符(254)。客户端设备标识符(254)是任何这样的标识所述标识可以充分地标识客户端设备以便可以获得和执行用于该客户端设备的适合的配置捆绑包。示例性客户端设备标识符包括制造商名称、型号名称、序列号或本领域技术人员将想到的任何其他客户端设备标识符。
通过诸如图3的客户端设备标识符记录(254)之类的记录,可以以数据来表示客户端设备标识符。客户端设备标识符记录(254)被存储在客户端设备(120)的非易失性存储器中。客户端设备标识符记录(254)包括代表序列号的deviceID字段(255)、厂家和型号或本领域技术人员将想到的任何其他设备标识。
在图3的方法中,轮询捆绑包(246)执行从客户端设备(120)读取客户端设备标识符(254)。在某些实例实施例中,轮询捆绑包(246)是一个OSGi捆绑包。OSGi框架在DAS中提供标准服务以便从连接到服务网关的设备读取设备标识符。在检测客户端设备和请求配置捆绑包的某些示例性方法中,轮询捆绑包(246)包括捆绑包中专门编程的服务以便读取客户端设备标识符。在一个替代实施例中,轮询捆绑包查询服务网关上运行的OSGi框架上的服务注册表以标识标准OSGi服务,以便读取客户端设备标识符。在此类实施例中,轮询捆绑包(246)随后使用OSGi标准服务来从客户端设备读取客户端设备标识符。
OSGi框架中的DAS通常还提供标准服务以标识和安装客户端设备的驱动程序。在利用此类DAS服务的实施例中,当轮询捆绑包(246)检测到客户端设备(120)并标识了客户端设备(120)时,轮询捆绑包将查询服务网关的服务框架上的服务注册表以标识标准服务,以获得和安装驱动程序,以便促进服务网关与客户端设备之间的通信。
在检测客户端设备和请求配置捆绑包的某些示例性方法中,用于客户端设备的关联的配置捆绑包被发送到用户的服务网关(120)上。在此类示例性实施例中,请求(256)关联的配置捆绑包包括请求存储在服务网关中的关联的配置捆绑包。在其他示例性实施例中,关联的配置捆绑包没有被发送到服务网关(130)上,请求(256)关联的配置捆绑包包括从DMS请求关联的配置捆绑包。
对关联配置捆绑包的请求可以以数据的形式被表示为诸如例如图3的捆绑包请求记录(810)之类的记录。捆绑包请求记录(810)包括标识要进行配置的客户端设备的deviceID字段(255)。捆绑包请求记录(810)还包括标识请求关联的配置捆绑包的网关的gatewayID字段(261)。在某些实例中,gatewayID与deviceID一起唯一地标识了设备的关联的配置捆绑包。在其他实例中,捆绑包请求记录包括标识用户的userID。
在本发明的许多实施例中,请求关联的配置是由诸如图3的请求捆绑包(242)之类的请求捆绑包来执行的。在根据本发明的某些示例性实施例中,请求捆绑包(242)是一个OSGi捆绑包,其包括能够将对关联的配置捆绑包的请求发送到DMS的服务。OSGi提供了标准的HTTP服务。在某些实例中,请求捆绑包(242)将捆绑包请求作为HTTP消息中的HTML文档发送给DMS。
图3的方法包括验证(280)服务网关(130)。可以通过将捆绑包请求记录(810)的gatewayID字段(261)与网关数据库(286)进行比较(284)来执行验证网关。在图3的方法中,验证(280)服务网关(130)由DMS来执行。DMS通过将服务网关标识符与已向DMS注册的网关标识符的数据库进行比较来验证服务网关。
当服务网关被验证时,DMS标识用于存储在DMS上的客户端设备的关联配置捆绑包。DMS根据捆绑包请求记录(810)的deviceID字段(255)和gatewayID字段(261)来标识客户端设备的关联的配置捆绑包。DMS将已标识的关联配置捆绑包下载到服务网关以便执行。可替代地,DMS从用户的CSP来请求关联的配置捆绑包。DMS从CSP处接收关联的配置捆绑包并将关联的配置捆绑包下载到用户的服务网关。
图4是示出从制造商(132)处接收(202)配置捆绑包(132)以及从用户(210)处接收(208)用户提供的用于客户端设备的配置参数(212)的方法的数据流程图。在图4的方法中,从制造商(132)处接收(202)用于客户端设备的配置捆绑包(132)包括将配置捆绑包(132)存储(302)到数据库(304)中。
在图4的方法中,将配置捆绑包存储(302)到数据库中由CSP(104)来执行。CSP(104)从制造商(132)处接收(202)配置捆绑包并将配置捆绑包存储到数据库(304)中。在一个实例中,CSP从许多制造商处接收配置捆绑包,而不考虑CSP的用户。CSP为服务提供商所支持的所有制造商维护所有配置捆绑包的当前数据库。
在图4的数据库(304)中,根据客户端设备标识符(308)对配置捆绑包(122)进行索引。客户端设备标识符(308)的实例包括制造商名称和型号、序列号或本领域技术人员将想到的任何其他客户端设备标识符。通过根据客户端设备标识符(308)来索引数据库(304),当CSP被通知客户端设备需要进行配置时,CSP可以为要进行配置的客户端设备检索适合的配置捆绑包。
在图4的方法中,从用户(210)处接收(208)用户提供的用于客户端设备的配置参数(212)包括将配置参数(212)存储(310)到数据库(304)中。在本发明的方法的许多实例中,将配置参数(212)存储(310)到数据库(304)中由CSP来执行。CSP从配置服务的用户处接收配置参数。CSP一次性接收用户提供的配置参数并存储用户提供的配置参数。
通过存储(310)用户提供的配置参数(212),CSP使用户的配置自动化,减少了用户在配置用户网关上的每个附加客户端设备(120)中的参与。在收到供应商提供的配置参数(例如,客户端设备标识符)时,CSP可以在无需用户进一步干预的情况下检索适合的配置捆绑包和用户提供的配置参数。
图5是示出将供应商提供的配置参数(206)和用户提供的配置参数(212)与配置捆绑包(122)相关联(214)的方法的数据流程图。在图5的方法中,将供应商提供的配置参数(206)和用户提供的配置参数(212)与用于客户端设备(120)的配置捆绑包(122)进行关联(214)包括根据客户端设备标识符(308)从数据库(304)中检索(402)配置捆绑包(122)以及根据用户标识符(310)从数据库(304)中检索(404)用户配置参数(212)。
在图5的方法中,将供应商提供的配置参数(206)和用户提供的配置参数(212)与配置捆绑包(122)进行关联(214)包括将用户提供的配置参数(212)输入(213)从制造商(134)处接收的配置捆绑包中。将供应商提供的配置参数(206)和用户提供的配置参数(212)与配置捆绑包(122)进行关联(214)还包括将供应商提供的配置参数(206)输入(215)从制造商(132)处接收的配置捆绑包(122)中。
在图5的方法中,将供应商提供的配置参数(206)和用户提供的配置参数(212)与配置捆绑包(122)进行关联(214)由CSP(104)来执行。在一个实例中,将用户提供的配置参数(212)输入(213)从制造商(134)处接收的配置捆绑包中以及将供应商提供的配置参数(206)输入(215)从制造商(132)处接收的配置捆绑包(122)中通过由CSP(104)运行的网站来执行。在购买客户端设备(120)时,供应商登录到CSP的网站。供应商(102)通过该网站提供供应商提供的配置参数(206),并且CSP(104)将供应商提供的配置参数(206)输入到用于客户端设备(120)的配置捆绑包(122)中。供应商(102)还通过userID、名称或任何其他用户标识符(310)来标识用户。CSP(104)检索存储在数据库(根据userID、名称或任何其他用户标识符进行索引)中的用户提供的配置参数(212),并且将用户提供的配置参数(212)输入用于客户端设备(120)的配置捆绑包(122)中。
如果CSP(104)没有收到来自用户(210)的用户提供的配置参数(212),则CSP可以通过CSP的网站接收来自用户的用户提供的配置参数(212)。CSP(104)通过该网站接收用户提供的配置参数(212),并且将用户提供的配置参数(212)输入用于客户端设备(120)的配置捆绑包(122)中。
权利要求
1.一种用于配置客户端设备的方法,所述方法包括以下步骤从制造商处接收用于客户端设备的配置捆绑包;从供应商处接收供应商提供的用于所述客户端设备的配置参数;从用户处接收用户提供的用于所述客户端设备的配置参数;以及将所述供应商提供的配置参数和所述用户提供的配置参数与用于所述客户端设备的所述配置捆绑包进行关联;由此为所述客户端设备产生关联的配置捆绑包。
2.根据权利要求1的方法,进一步包括将所述关联的配置捆绑包下载到所述用户的服务网关。
3.根据权利要求1的方法,进一步包括执行所述关联的配置捆绑包。
4.根据权利要求1的方法,进一步包括检测所述客户端设备。
5.根据权利要求4的方法,进一步包括请求用于所述客户端设备的关联的配置捆绑包。
6.根据权利要求1的方法,其中从制造商处接收用于客户端设备的配置捆绑包包括将所述配置捆绑包存储到数据库中。
7.根据权利要求6的方法,其中根据用于所述客户端设备的客户端设备标识符来索引所述数据库。
8.根据权利要求1的方法,其中从用户处接收用户提供的用于所述客户端设备的配置参数包括将所述配置参数存储到数据库中。
9.根据权利要求1的方法,其中将所述供应商提供的配置参数和所述用户提供的配置参数与用于所述客户端设备的所述配置捆绑包进行关联包括根据客户端设备标识符从数据库中检索所述配置捆绑包以及根据用户标识符从数据库中检索所述用户配置参数。
10.一种用于配置客户端设备的系统,所述系统包括一装置,所述装置用于从制造商处接收用于客户端设备的配置捆绑包;一装置,所述装置用于从供应商处接收供应商提供的用于所述客户端设备的配置参数;一装置,所述装置用于从用户处接收用户提供的用于所述客户端设备的配置参数;以及一装置,所述装置用于将所述供应商提供的配置参数和所述用户提供的配置参数与用于所述客户端设备的所述配置捆绑包进行关联;由此为所述客户端设备产生关联的配置捆绑包。
11.一种用于配置客户端设备的计算机程序产品,所述计算机程序产品包括记录介质;一装置,所述装置记录在所述记录介质上,用于从制造商处接收用于客户端设备的配置捆绑包;一装置,所述装置记录在所述记录介质上,用于从供应商处接收供应商提供的用于所述客户端设备的配置参数;一装置,所述装置记录在所述记录介质上,用于从用户处接收用户提供的用于所述客户端设备的配置参数;以及一装置,所述装置记录在所述记录介质上,用于将所述供应商提供的配置参数和所述用户提供的配置参数与用于所述客户端设备的所述配置捆绑包进行关联;由此为所述客户端设备产生关联的配置捆绑包。
12.一种用于配置客户端设备的计算机程序,当在计算机上执行时,所述计算机程序包括适合于执行权利要求1至9中任一权利要求的方法的程序代码装置。
全文摘要
配置客户端设备,包括从制造商处接收用于客户端设备的配置捆绑包;从供应商处接收供应商提供的用于所述客户端设备的配置参数;从用户处接收用户提供的用于所述客户端设备的配置参数;以及将所述供应商提供的配置参数和所述用户提供的配置参数与用于所述客户端设备的所述配置捆绑包相关联;由此为所述客户端设备产生关联的配置捆绑包。
文档编号H04L12/24GK1720542SQ200380104838
公开日2006年1月11日 申请日期2003年11月28日 优先权日2002年12月12日
发明者W·K·博丁, M·J·伯克哈特 申请人:国际商业机器公司