家庭联网 相关专利申请的交叉参考
本专利申请提出对2000年3月17日提交的题为“家庭联网”的美国临时专利申请60/389977的权利要求,该临时专利申请在此引作参考。技术领域
本发明涉及把多个家庭联网客户机联接到主机系统。背景技术
拥有多于一个个人计算机的家庭越来越多。随着家庭内个人计算机数量增加,有必要并且顾客要求这些机器之间互联并且把这些机器与家庭外部的主机系统联接。例如,在包括多于一个个人计算机的家庭内,希望能实现每个机器与互联网服务供应商(ISP)之间的联接。有可能把家庭内的几台机器简单地联网,以实现这些机器之间的互联并实现与外部主机系统的互联。然而,对于联网在一起的机器,主机系统可以把这整个网络视为一个机器,而不是识别此网络内的单台机器或者所述单台机器的用户。
由于不能识别和区分这些机器的单台机器或机器的单个用户,因此妨碍主机系统在单个机器或用户之间实施或采用其它可区分的首选参数或特征,如母体访问控制。相似地,如果不能识别或区分所述机器和它们的用户,单台客户机和客户机用户就不能访问主机和从主机接收某些主机保存的首选参数,如个人识别设置、个人网页、帐户信息、工具袋信息以及财务信息。发明内容
在一个总的方面中,家庭联网客户机使用联接到家庭联网客户机的家庭网关通过网络联接到主机系统,主机系统分配独立的互联网地址给客户机。家庭网关物理上位于个人住所内,一般包括通信设备,所述通信设备在建立于家庭网关和主机系统之间的单个通信通道上与主机系统通信。家庭联网客户机在单个通信通道上通过家庭网关而与主机系统通信。系统配置使主机系统能在单个通信通道上建立与家庭联网客户机地单独通信对话,并且使主机系统分配独立的互联网地址给家庭联网客户机。
实施例包括一个或多个以下特征。例如,家庭网关和家庭联网客户机物理上位于个人住所内。个人住所包括单身家庭住处。家庭联网客户机包括经无线网络联接到家庭网关的无线客户机,从而无线客户机可在个人住所外部操作。
这些家庭联网客户机在单个通信通道上与主机系统建立同时发生的单独通信对话。每个家庭联网客户机被主机系统分配独立的互联网地址,主机系统包括互联网服务供应商。
家庭网关使用第一协议与家庭联网客户机进行通信,使用第二协议与主机系统通信。第一协议和第二协议可以是相同的协议,或者第二协议与第一协议不同。
家庭网关包括一个或多个模块,所述模块构造并布置成在第一协议和第二协议之间转换。第一协议包括PPPoE,第二协议包括L2TP。家庭联网客户机采用PPP。家庭网关模仿PPPoE访问集中器和L2TP访问集中器。通信设备包括调制解调器,如电缆调制解调器、卫星调制解调器或DSL调制解调器。
家庭联网客户机包括装有计算机软件的客户机,所述软件使客户机能与家庭网关连接并且通过家庭网关与主机系统通信,从而主机系统能识别独立的客户机。在已建立的通信对话过程中,主机系统通过使用由主机系统分配给每个客户机的唯一标识符来识别独立的客户机。唯一标识符对于客户机和/或客户机用户而言是唯一的。唯一标识符包括独立的互联网地址,并且还包括对于客户机用户而言是唯一的标识符,所述标识符结合有分配给客户机的独立互联网地址。另外,唯一标识符包括客户机用户的屏幕名称。
当用户具有结合独立互联网地址的唯一标识符时,其中独立互联网地址由主机系统分配给客户机,用户能访问主机系统为特定用户保存的单独信息。另外,主机系统能实施基于主机的母体控制或其它控制。由主机系统保存的单独信息包括工具袋信息、日历信息、和个性化网页信息。
家庭网关包括个人计算机和/或服务器。家庭网关和家庭联网客户机之间的网络包括有线网络、无线网络、和/或有线和无线网络的任意组合。网络包括以太网。
在一个实施例中,家庭网关包括动态主机配置协议模块和L2TP访问集中器。家庭联网客户机使用动态主机配置协议模块与家庭网关通信。家庭网关和家庭联网客户机使用DHCP在网络上通信,而且,家庭联网客户机被分配单一的地址,所述地址用于与家庭网关和主机系统的通信。建立于家庭网关和主机系统之间的单个通信通道可在宽带网络上建立。动态主机配置模块配置成有利于主机系统和家庭联网客户机之间的通信,以使主机系统能实施基于主机的母体控制。在客户机启动时向家庭联网客户机分配唯一地址。
在一个实施例中,家庭网关包括网络地址翻译模块。网络地址翻译模块包括基于端口或基于地址的网络地址翻译模块。家庭网关使用TCP/IP与家庭联网客户机通信,并使用L2TP与主机系统通信。网络地址翻译模块与家庭联网客户机和主机系统对接,通过翻译主机系统分配给家庭联网客户机的独立互联网地址和在家庭网关与家庭联网客户机之间网络上使用的属于家庭联网客户机的局部地址,而规定主机系统与家庭联网客户机之间的通信路线。主机系统通过使用唯一标识符而通常把多个家庭联网客户机识别为独立的客户机。
这些通用的和专用的方面用系统、方法、或计算机程序、或者所述系统、方法和计算机程序的任意组合实施。
从以下的描述和附图以及权利要求中,其它特征和优点将是显而易见的。附图说明
图1为家庭联网系统的框图。
图2为图1系统中客户机的框图。
图3为图1系统中主机系统的框图。
图4为图1家庭联网系统的实施例的框图。
图5为示出一个协议实施例的图1家庭联网系统的框图。
图6为包括在图1系统的客户机中的组件的框图。
图7为包括在图1系统的家庭网关中的组件的框图。
图8为图7家庭网关的更详细框图。
图9a为用于实现家庭网络的流程图。
图9b为用于实现家庭网络的流程图。
图10a-10d为在家庭联网系统的部件之间实现通信的协议的框图。
图11为包括NAT模块的家庭网关的框图。
图12为使用NAT模块的家庭联网系统的框图。
图13为包括DHCP模块的家庭网关的框图。
图14为用于实现家庭网络的流程图。
在不同的附图中,相同的参考号表示相同的部件。具体实施方式
参照图1,家庭联网系统100一般包括多个通过网络110相互联接并且联接到家庭网关115的家庭联网客户机105(“客户机”)。家庭网关115一般通过通信链125上的通信设备120联接到主机系统130。家庭联网系统100使客户机105能使用单个通信设备120通过家庭网关115与主机系统130通信。客户机105、家庭网关115和通信设备120可以物理上位于个人住所内,如图1中虚线所示。
家庭联网系统100使得主机系统130能在家庭网关115和主机系统130之间建立的单个通信链125上,通过家庭网关115向每个客户机105分配唯一的标识符(如,独立的互联网地址)。家庭联网系统100还使客户机105能访问主机系统130为特定客户机105或客户机105的特定单个用户保存的信息。另外,家庭联网系统100使主机系统130能通过使用主机分配的唯一标识符和/或主机分配的唯一标识符与其它标识符(如登录名、帐号、屏幕名称和密码)的一些组合,保存和实施与特定客户机105或客户机105的用户有关的单独首选参数。
客户机105和家庭网关115一般位于使家庭网关115能与客户机105联网的物理位置内。例如,在一个实施例中,家庭网关115物理上位于个人住所(如单身家庭住处、住宅、市政厅、公寓或公寓楼)内。客户机105的物理定位使得能在网络110上实现并维持与家庭网关115的通信。例如,当家庭网关115物理上位于个人住所内时,客户机105也物理上位于个人住所内。然而,家庭网关115位于个人住所内并不排斥一个或多个客户机105与远程的家庭网关115联网。也不排斥使用在个人住所外的一个或多个客户机105或者不排斥这些客户机经家庭网关115与主机系统130的通信。例如,客户机105包括一个或多个可从个人住所携带出但仍然通过无线网络110保持与个人住所内家庭网关115的联接的便携式计算机。
客户机105包括一个或多个通用计算机(如个人计算机)、一个或多个专用计算机(如专门为与家庭网关115和/或主机系统130通信而编程的机器)、或者一个或多个通用计算机和一个或多个专用计算机的组合。客户机105的其它实例包括工作站、服务器、电器(如电冰箱、微波炉和烤箱)、智能家庭机器(如自动调温器、安全系统、HVAC系统和立体音响系统)、机器、组件、其它物理的或虚拟的设备、或这些部件的组合,所述组合在系统架构内能响应和执行指令
参照图2,示出客户机205的组件,举例说明图1中客户机105的一个可能的实施例。客户机205包括通用计算机240,通用计算机240包括用于储存数据和程序的内部或外部存储器242,所述数据和程序例如为操作系统244(如DOS、WindowsTM、Windows 95TM、Windows98TM、Windows 2000TM、Windows NTTM、OS/2或Linux)和一个或多个应用程序。应用程序的实例包括:能产生文档或其它电子内容的编辑应用软件246(如字处理软件、数据库软件、电子制表软件和图形软件);能与其它计算机用户通信、访问各种计算机资源、并且观看、创建或操作电子内容的客户应用软件248(如AOL客户软件、COMPUSERVE客户软件、AIM客户软件、AOL TV客户软件或ISP客户软件);以及能再现标准互联网内容的浏览器应用软件250(如Netscape的Navigator和Microsoft的Internet Explorer)。
通用计算机240还包括执行响应客户机控制器要求的指令的中央处理单元(CPU)252。在一个实施例中,客户机控制器包括一个或多个安装在通用计算机240的内部或外部存储器242中的应用程序。在另一个实施例中,客户机控制器包括由通用计算机240的一个或多个外部器件在外部储存和执行的应用程序。
通用计算机240一般包括用于发送和接收数据的通信设备254。通信设备254的一个实例是调制解调器。其它实例包括收发器、机顶盒、通信卡、xDSL调制解调器(如ADSL、CDSL、DSL Lite、HDSL、IDSL、RADSL、SDSL、UDSL和VDSL)、电缆调制解调器、卫星调制解调器、卫星抛物面天线、天线、或其它能通过有线或无线数据通道在网络上发送和接收数据的网络适配器。
除了通信设备254以外,或作为通信设备254的替换,通用计算机240包括网络接口卡(NIC)256,NIC 256可提供与网络的全部时间的专用联接。NIC类型的实例包括ISA、EISA、PCMCIA、PCI、Sbus、MCA、NuBus和USB,这些实例可支持各种类型的网络、总线和连通性。
通用计算机240还包括用于接收电视节目的电视(TV)调谐器258,电视节目的形式为广播、卫星、和/或有线TV信号。结果,客户机205可以有选择性地和/或同时地显示从通信设备254接收的网络内容以及从TV调谐器258接收的电视节目内容。
通用计算机一般包括能有线或无线地联接到各种外围器件的输入/输出界面260。外围器件的实例包括但不局限于鼠标262、移动电话264、个人数字助理(PDA)266、键盘268、具有或没有触摸屏输入的监视器270、和/或用于从订户接收信息并再现信息的遥控器272。其它实例包括声音识别和合成器件(未示出)。
尽管诸如移动电话264、PDA 266和TV遥控器272的器件可考虑作为通用计算机240的外围器件,但在另一实施例中,这些器件本身就包括通用计算机的功能,并且用作可独立应用的客户机205。例如,移动电话264或PDA 266包括计算和联网功能,并可用作客户机205。
再参照图1,客户机105一般通过网络110如局域网(LAN)互相联接并且联接到家庭网关115。网络110包括有线的和/或无线的网络。例如,一个或多个客户机105可经有线网络110联接到家庭网关115,同时,,一个或多个客户机105可经无线网络110联接到家庭网关115。网络110类型的实例包括令牌网、以太网、快速以太网、千兆位以太网、HomePNA和输电线网络。
如上所述,客户机105通过家庭网关115访问并与主机系统130通信。例如,家庭网关115包括通用计算机(如个人计算机)、或专用计算机。家庭网关115的其它实例包括工作站、服务器、器件、组件、其它物理的或虚拟的设备、或能以定义成用作家庭网关的方式响应和执行指令的一些器件组合。
家庭网关115包括用于储存以上结合客户机105描述的数据和程序的内部或外部存储器,所述数据和程序例如为操作系统、应用软件、客户应用软件和浏览器应用软件。除了这些程序和应用软件之外,家庭网关115包括一个或多个特殊的模块和程序(如网络地址翻译器模块、PPPoE访问集中器模块、L2TP访问集中器模块、拨号器模块、和DHCP模块)、或者这些模块和程序的组合,这些模块和程序设计得允许家庭网关115通过网络110与客户机105通信并有利于客户机105和主机系统130通过家庭网关115进行通信。另外或可替换地,家庭网关115具体为客户机105的一部分,此部分具有用作家庭网关115的功能性。
家庭网关115一般包括或具有对通信设备120的访问。通信设备120的实例包括以上结合图2中通信设备254描述的通信设备。另外或可替换地,家庭网关115一般包括网络接口卡,如以上结合图2中网络接口卡256描述的接口卡。
家庭网关115一般通过通信链125与主机系统130通信。通信链125一般包括在家庭网关115和主机系统130之间进行直接或间接通信的传输网络,此通信与家庭网关115和主机系统130的物理分离无关。传输网络的实例包括互联网、环球网、WAN、LAN、模拟或数字的有线和无线电话网络(如PSTN、ISDN和xDSL)、收音机、电视、电缆、卫星、和/或任何其它用于承载数据的传输机构。
参照图3,示出主机系统330的组件,举例说明图1中主机系统130的一个可能的实施例。主机系统330一般包括一个或多个主机360。主机360包括硬件和/或软件,如一个或多个通用计算机(如个人计算机)、一个或多个专用计算机(如专门为与家庭网关115和/或客户机105通信编程的器件)、或者一个或多个通用计算机与一个或多个专用计算机的组合。主机360的其它实施例包括工作站、服务器、组件、器件、其它物理的或虚拟的设备、或这些部件的一些组合,所述组合在系统架构内能响应和执行指令。
更具体地,主机系统330内的主机360包括用于实现订户访问并规定其它系统(如图1的客户机105和家庭网关115)与主机系统330内其它部件之间通信路线的登录服务器。主机系统330还包括各种主机联合体,如OSP(“在线服务供应商”)主机联合体370和IM(“即时消息”)主机联合体380。为了能实现订户对这些主机联合体的访问,客户机(如图1的105)和家庭网关(如图1的115)包括通信软件,如OSP客户应用软件和IM客户应用软件。OSP和IM通信应用软件设计得有利于订户和各个服务的互动,并且具体地,提供对各个主机联合体内现有的部分或全部服务的访问。例如,即时消息允许订户使用IM客户应用软件查看特定订户(“伙伴”)是否在线,与特定订户交换即时消息,参与集体聊天室,交换诸如图象、邀请函或文档的文件,寻找其它有相似兴趣的订户,获得定制的新闻和股票价格,以及搜索Web。
一般而言,OSP主机联合体370支持不同的服务,如电子邮件、讨论群体、聊天、新闻服务和互联网访问。OSP主机联合体370一般设计成具有这样的架构,它使OSP主机联合体370之内的机器可以互相通信并且使用一定的协议(即标准、格式、约定、规则和结构)以便传输数据。OSP主机联合体370通常使用一个或多个OSP协议和定制拨号器,实现所选客户应用软件的访问。OSP主机联合体370基于公共的和基础的通用协议为每个服务确定一个或多个特定的协议。
IM主机联合体380独立于OSP主机联合体370,并且支持与订户网络或互联网访问无关的即时消息服务。因而,IM主机联合体380可配置成允许订户发送和接收即时消息,无论他们是否访问任何特定的ISP。IM主机联合体380支持相关的服务,如行政事务、广告、电话号码服务、聊天、以及与即时消息有关的利益群体。IM主机联合体380具有使IM主机联合体内所有机器互相通信的架构。为了传送数据,IM主机联合体380使用一个或多个标准的或排它的IM协议。
主机系统330包括联接并因此链接联合体的一个或多个网关,如OSP主机联合体网关375和IM主机联合体网关385。OSP主机联合体375网关和IM主机联合体网关385通过有线或无线通道直接或间接地链接OSP主机联合体370与IM主机联合体380。通常,当用于促进联合体之间的链接时,OSP主机联合体网关375和IM主机联合体网关385对于与目标联合体所预期的协议有关的信息是隐蔽的,这使得将要执行的任何必要的协议转换对于从一个联合体到另一个的数据传送是容易的。例如,OSP主机联合体370与IM主机联合体380使用不同的协议,从而在联合体之间的数据传送,被OSP主机联合体网关375和IM主机联合体网关385要求或应它们的请求,而进行协议转换。
在一个实施例中,主机系统130保存与客户机105或客户机105的用户有关的信息。例如,此信息包括母体访问设置、工具袋设置、个人网页、即时消息用户清单、以及与具体客户机105或客户机105的用户有关的任何其它类型的个人设置或特征或信息。在此实施例中,重要的是能在访问主机系统的不同客户机105和/或用户之间进行识别或区分,从而储存的信息不会无用地再现、或变糟、或不准确地应用。
图4示出几个实施例以及在家庭联网系统420内使用的器件和系统的可能组合。客户机405、网络410、家庭网关415、通信设备420、通信链425以及主机系统430一般对应图1所示的各个部件105、110、115、120、125、和130。图4中的部件具有与图1相应的部件,这不是意味着限制前面结合图1所述的部件的范围,相反,这只是这些部件几个可能的实例。
客户机405的实例包括但不限于:装有WindowsTM操作系统的个人计算机405a、装有基于LinuxTM的操作系统的个人计算机405b、MacintoshTM个人计算机405c、电视机顶盒405d、PDA 405e、以及智能家电405f。如结合图1所述,客户机405通过网络410联接到家庭网关415。
家庭网关415一般包括通信设备420。通信设备420的实例包括卫星调制解调器420a、模拟调制解调器420b、电缆调制解调器420c、xDSL调制解调器420d。家庭网关415使用通信设备420通过通信链425与主机系统430通信。通信链425包括与所用通信设备420类型相应的各类通信传输系统。例如,如果家庭网关415包括卫星调制解调器420a,那么客户机405和家庭网关415的通信就用卫星天线425a和卫星425b发送到主机系统430。模拟调制解调器420b使用几种通信链425的一种,如卫星天线425a和卫星425b、普通老式电话服务(POTS)425c、以及电缆调制解调器终端系统(CMTS)425d。电缆调制解调器420c一般使用CMTS 425d发送和接收与主机系统430的通信。xDSL调制解调器420d一般通过数字订户线路访问多路复用器(DSLAM)425e和异步传输模式(ATM)网络425f发送和接收与主机系统430的通信。
家庭联网系统400在客户机405与家庭网关415之间以及在家庭网关415与主机系统430之间使用不同的协议进行通信。例如,第一协议用于在客户机405与家庭网关415之间进行通信,第二协议用于在家庭网关415与主机系统430之间进行通信。在一个实施例中,第一协议和第二协议是相同的。在另一实施例中,第一协议和第二协议是不同的。家庭网关415可包括不同的硬件和/或软件模块以执行不同的家庭联网系统协议。家庭联网系统架构的各种实施例和替代例在以下讨论。
PPPoE
参照图5,部件505、510、515、520、525和530一般对应于图1中的各个部件105、110、115、120、125和130以及图4中的各个部件405、410、415、420、425和430。在一个实施例中,客户机505使用以太网点对点协议(PPPoE)通过网络510与家庭网关515通信。家庭网关515通过通信链525上的通信设备520与主机系统530通信。对于客户机505和主机系统530之间的通信,家庭网关515从客户机505使用的PPPoE通报剥离“oE”报头,在第二层通道协议(L2TP)中压缩PPP通报,然后在用户数据报协议(UDP)压缩L2TP通报,并把压缩的PPP通信传递给主机系统530。此架构使多个客户机505能在建立于家庭网关515和主机系统530之间的单个通信通道上同时与主机系统530通信,同时允许主机系统530识别每个客户机505的独立互联网地址。此架构也能实现PPPoE对话到L2TP对话的一对一映射。
参照图6,在一个实施例中,客户机605包括一个或多个硬件和/或软件模块,如客户应用软件602、TCP/IP接口模块604、TCP/IP协议执行模块606、PPP协议执行模块608、PPP WAN驱动器SHIM模块612、PPPoE协议模块613、实时操作系统(OS)614、协议接口模块616、标准以太网器件驱动器接口模块618以及标准以太网硬件适配器620。客户机使用这些模块中的一个或多个,以促进与其它器件的通信(例如通过图5的家庭网关515与家庭网关515和主机系统530的通信)。
例如,客户应用软件602产生启动与家庭网关(如图5中的515)通信并发送出站通报(如从客户机605向图5中家庭网关515发送的TCP/IP通报)的请求。此请求从客户应用软件602经过TCP/IP接口模块604,最终传送到TCP/IP协议执行模块606,TCP/IP接口模块604允许同时支持在客户应用软件层(如用户模式或环3)和操作系统层(如核心模式或环0)之间的多个协议。TCP/IP协议执行模块606一般结合PPP协议执行模块608和PPP WAN驱动器SHIM模块612进行操作,在协议中准备并压缩通报(如在PPP中压缩TCP/IP通报)。
实时OS 614管理在各种协议之间(如在PPPoE和L2TP之间以及在用户和核心模式模块之间)的实时工序间通信,包括缓冲器管理和任务调度。PPPoE协议模块613向通报(如压缩在PPP中的TCP/IP通报)增加报头(如以太网报头和PPPoE报头),使得家庭网关(如图5中的515)能识别产生通报的具体客户机605。因而,通报可考虑PPPoE。更具体地,在一个实例中,报头包括在PPPoE寻找阶段中知道的地址信息,这在以下详细讨论,并且把“oE”报头附加在PPP压缩的通报上。实时OS 614一般调用协议接口模块616,协议接口模块616一般是网络接口卡(NIC)(如图2中的256)并允许在NIC和PPPoE协议模块613之间交换通报。然后,所述通报一般使用NIC、标准以太网驱动器模块618和以太网适配器620与家庭网关通信。
对于入站通报(如,从家庭网关发向客户机605的PPP通报),从标准以太网驱动器模块618接收到的通报传给协议接口模块616。PPPoE协议模块613经实时OS 614从协议接口模块616接收通报。PPPoE协议模块613从通报剥离所有报头(如,从PPPoE通报除去“oE”报头),并且把此通报传给PPP WAN驱动器SHIM模块612。然后,PPP WAN驱动器SHIM模块612把此通报传给PPP协议执行模块608,以便传送给TCP/IP协议执行模块606。客户应用软件602经TCP/IP接口模块604从TCP/IP协议执行模块606接收通报。
参照图7,在一个实施例中,家庭网关715包括PPPoE访问集中器717、L2TP访问集中器719以及拨号器模块721。家庭网关715使用L2TP把PPP通报从每个客户PPPoE对话传送给主机系统。由于L2TP提供在单个通道内多路复用多个PPP对话(如多个L2TP对话)的方法,因此,在家庭网关和主机系统之间建立单个L2TP通道以承载多个PPP对话。因而,在此实施例中,在客户机和家庭网关715之间使用第一协议,在家庭网关715和主机系统之间使用第二协议,以便能在客户机和主机系统之间进行单独的通信对话。具体地,第一协议包括PPPoE,第二协议包括L2TP。拨号器模块721配置得具有唯一的标识符(如,结合密码的登录名),此标识符使主机系统能识别家庭网关715。
图8示出典型家庭网关815的更详细的框图。在此实施例中,PPPoE访问集中器817和L2TP访问集中器819包括可作为用户模式/环3应用的硬件和/或软件。
家庭网关815包括能与客户机(如图5中的505)通信的PPPoE访问集中器817。PPPoE访问集中器817能处理与客户机所用PPPoE的多个同时发生的PPP对话。使每个客户机具有各自的PPP对话允许客户机从主机系统接收各自的唯一标识符。唯一标识符例如包括互联网地址。
当家庭网关815与客户机505通信时,标准以太网驱动器823用于在家庭网关815和客户机505之间交换以太网帧。家庭网关815使用标准协议驱动器823,标准协议驱动器823通过结合实时操作系统(OS)825,允许把客户机505的以太网通报与PPPoE访问集中器817进行交换。协议驱动器823结合以太网驱动器827有利于通报在家庭网关815和PPPoE访问集中器817之间的交换。实时OS 825一般提供在协议驱动器823和PPPoE访问集中器817之间的工序间通信能力。当家庭网关包括多于一个以太网驱动器827时,PPPoE访问集中器817使用PPPoE寻找阶段,以识别哪个具体的以太网驱动器823将用于与特定客户机505交换通报。
在家庭网关815内的L2TP访问集中器模块819使用IP上的UDP,以便用标准TCP/IP模块829与主机系统(如图5中的530)交换L2TP通报。当需要与主机系统530建立连通性时,在L2TP访问集中器模块819和主机系统530之间交换L2TP通报之前,拨号器模块821建立与主机系统530的连通性。另外,拨号器模块821计算主机系统530的地址,允许家庭网关815能在家庭网关815路线选择表中增加到主机系统530的静态路线。这避免新的缺省路线干涉家庭网关815和主机系统530之间的通道通报。实时OS 825用于在PPPoE访问集中器817和L2TP访问集中器模块819之间提供工序间通信。另外或可替换地,PPPoE访问集中器817和L2TP访问集中器模块819可合并在相同的模块内,如虚线840所示。
图9a示出一个通过家庭网关在客户机和主机系统之间建立通信的流程实施例。例如,客户机一般通过装入应用软件(如浏览器或客户应用软件)或通过发送命令和/或请求,启动表示希望与主机系统通信的动作。
判断在客户机和家庭网关之间是否建立通信(步骤901a)。如果在客户机和家庭网关之间还未建立通信(步骤901a),那么客户机和家庭网关建立通信(步骤901-905)。例如,客户机和家庭网关使用PPPoE建立通信(步骤901-905)。
一旦在客户机和家庭网关之间建立通信(步骤901-905),或者如果在客户机和家庭网关之间已经建立通信(步骤901a),那么判断在家庭网关和主机系统之间是否建立通信(步骤907a)。如果在家庭网关和主机系统之间还未建立通信(步骤907a),那么家庭网关激活家庭网关拨号器模块(步骤907和909)。随后,家庭网关使用家庭网关拨号器模块建立与主机的通信(步骤911-915)。例如,家庭网关通过设置L2TP通道而用L2TP建立通信,在L2TP通道上可建立多个单独的L2TP对话。
一旦在家庭网关和主机系统之间建立通信(步骤911-915),或者如果在家庭网关和主机系统之间已经建立通信(步骤907a),那么家庭网关为客户机建立通信对话,以便客户机与主机系统通信(步骤917-925)。通信对话例如包括在已建立的L2TP通道上产生的L2TP对话。因而,客户机和主机系统能够在已建立的通信对话上通信(步骤927)。
更具体地,结合图9b描述图9a中示出的一个特定实施例。参照图9b,客户机通过启动PPPoE寻找阶段而启动与主机系统的通信。寻找开始于客户机的PPPoE有源寻找启动(PADI)数据包对家庭网关的广播(步骤901)。如果网关存在并且服务器软件正在运行,家庭网关就响应包含PPPoE有源寻找提供(PADO)数据包的直接以太网帧(步骤903)。客户机一般响应具有有源寻找请求(PADR)数据包的PADO数据包(即,使用服务器的介质访问控制(MAC)地址作为目标地址的直接以太网帧)(步骤905)。
当家庭网关接收PADR数据包时,主机系统需要L2TP通道以便客户机能开始发送PPP通报,所述通报将在经L2TP对话传送至主机系统时结束。L2TP通道一般在家庭网关和LNS之间产生,它是主机系统的组成部分。当家庭网关接收PADR数据包时,家庭网关内的拨号器模块被触发,发送命令以建立与主机系统的联接(步骤907)。联接类型基于可配置家庭网关拨号器的客户机配置。例如,家庭网关拨号器支持各种类型的联接,如拨号上网调制解调器、xDSL、电缆、卫星、和任何其它类型的联接。以下进一步讨论一个使用或通过家庭网关拨号器建立联接的流程。
一旦拨号器被联接(步骤909),家庭网关就开始向主机系统发送消息,以产生L2TP通道。产生L2TP通道的流程始于开始-控制-请求(sCCRQ)消息(步骤911)。LNS用开始-控制-联接-答复(SCCRP)消息响应(步骤913)。SCCRP消息表示LNS能提出并建立L2TP通道。当家庭网关发送开始-控制-联接-已联接(SCCCN)消息时,完成通道建立(步骤915)。
在家庭网关发送SCCCN消息的同时或差不多同时,家庭网关还向客户机发送PPPoE有源寻找对话确认(PADS)消息(步骤917)。PADS消息指示客户机开始向主机系统发送PPP通报。当家庭网关从客户机接收PPP通报(步骤919)时,家庭网关打开L2TP通道上的L2TP对话,此通道刚刚在家庭网关和主机系统之间建立。
当家庭网关发送引入调用请求(ICRQ)时,启动L2TP对话(步骤921)。主机系统内的LNS用引入调用答复(ICRP)响应(步骤923)。最后,家庭网关通过发送引入调用联接(ICCN)消息而完成握手(步骤925)。在此时,家庭网关传送PPP通报,用于客户机和主机系统之间的终端对终端交换(步骤927)。因而,PPPoE用于从客户机向家庭网关发送PPP通报。更具体地,PPP通报发送给家庭网关(图8中的815)内的PPPoE访问集中器(图8中的817)。家庭网关815剥离PPPoE报头,保留PPP通报。然后,家庭网关815用有效的L2TP对话报头替代PPPoE报头,从而原始PPP通报在L2TP通道中经L2TP访问集中器(图8中的819)发送给主机系统。在相同的L2TP通道上可同时建立多个L2TP对话。
图10a举例说明用于实现客户机(未示出)、家庭网关1015和主机系统1030之间通信的协议的更详细讨论。在客户机用家庭网关1015启动PPP寻找阶段之后,家庭网关1015启动与主机系统1030的通信。如上所述,家庭网关1015使用通信设备1020与主机系统1030通信,通信设备1020例如为调制解调器(如模拟调制解调器或拨号上网调制解调器)、电缆调制解调器、卫星调制解调器、或DSL调制解调器。家庭网关1015内的拨号器模块(如图8中的拨号器模块821)通过调入采用L2TP的POP(存在点)而启动与主机系统1030的通信,POP可以或不驻留在主机系统1030内。具体地,拨号器模块用L2TP访问集中器(LAC)1032启动调用,LAC 1032位于POP之内并且可以或不驻留在主机系统1030内(图10a的步骤1000-1)。
参照图10b,在LAC 1032调用拨号器模块之后,PPP一般通过拨号器模块与LAC 1032的拨号网络联接进行部分协商(图10b中的步骤1000-2)。协商PPP链接控制协议(LCP)层,并且通过从家庭网关1015向LAC 1032发送登录序列而开始验证的流程。
参照图10c,LAC 1032通知L2TP网络服务器(LNS)1036,登录序列和验证流程已由家庭网关1015启动,其中LNS 1036一般是主机系统1030的组件。LAC 1032进行径向查找以识别与之通信的具体LNS。然后,LNS重新开始与拨号器模块的LCP协商(图10c中的步骤1000-3a)。如图10c所示,在再次进行LCP协商之后,LNS 1036和拨号器模块协商验证和互联网协议控制协议(IPCP)(图10c中的步骤1000-3b)。
参照图10d,对于完成此PPP协商的LNS 1036,POP的LAC 1032首先产生通道1038,然后在此通道上开始对话。如图10d所示,一旦建立通道1038,家庭网关1015就产生它自己到LNS 1036的通道。如图所示,在家庭网关1015和LNS 1036之间建立终端对终端PPP对话1040,此对话在LAC/LNS L2TP通道1038上。因此,对于请求联接到主机系统1030的每个客户机,家庭网关1015将在它已建立的通道1040上打开新的L2TP对话。
在家庭网关1015内的拨号器模块与主机系统1030之间的连通过程中,主机系统1030分配给拨号器模块唯一的标识符,如分配的互联网协议地址。拨号器模块一般包括执行此项功能的软件代码。例如,拨号器模块可配置有唯一的标识符,此标识符允许拨号器模块通过验证过程访问主机系统1030。唯一的标识符包括屏幕名称和相关的密码。
网络地址翻译
参照图11,在另一个实施例中,家庭网关1115包括:与主机系统通信的L2TP访问集中器1119;有助于与客户机通信的网络地址翻译器(NAT)模块1121;以及TCP/IP模块1123。包括NAT模块1121的家庭网关1115使得主机系统能分配与在单个通信通道上的每个家庭联网客户机有关的独立互联网地址,所述通信通道在家庭网关和主机系统之间建立。在一个实施例中,家庭网关1115使用NAT模块1121把主机分配的地址映射到与每个客户机有关的局部地址。这使客户机或客户机用户能访问主机系统保存的单独信息。这也使主机系统能对每个单独的客户机或每个客户机的用户实施基于主机的控制(如母体控制)。
如上所述,家庭网关1115一般使用L2TP访问集中器1119建立与主机系统的联接。如结合图10a-10d所述的,L2TP访问集中器1119用主机系统内的LNS建立L2TP通道。
在一个实施例中,家庭网关1115分配局部地址给客户机,以识别和促进家庭网关1115与客户机之间的单独通信。家庭网关包括动态主机配置协议(DHCP)模块1127,此模块向客户机分配局部地址(如局部IP地址)。客户机一般包括DHCP客户模块(如WindowsTMDHCP),此模块从家庭网关1115(如在启动时或在其它时候)寻找局部地址。DHCP模块1127也指定家庭网关1115作为每个客户机的缺省路线。
另外或可替换地,客户机可配置有人工分配的局部地址(如静态IP地址),此地址被家庭网关1115识别并且对于家庭网关1115是已知的。家庭网关1115用于把在客户机和家庭网关1115之间局部分配的地址映射到在主机系统和客户机之间由主机分配的地址。以此方式,主机系统能识别与主机系统通信的单独客户机。
参照图12,客户机1205一般包括能从客户机1205向外部实体产生IP通报的软件。客户机1205尝试与主机系统1230通信。此尝试从客户机1205向主机系统1230产生IP通报。包含在IP通报内的信息一般包括指定主机系统1230内位置的目标地址。客户机1205配置成在缺省路线表中规定用于主机系统1230的通报的路线或规定用于家庭局部网络1210外部的通报的路线。因而,用于主机系统1230的通报发送给家庭网关1215。家庭网关1215一般检查客户机1205的通报并且监视新来源的通报。当家庭网关1215识别从新来源用于主机系统1230的通报时,家庭网关1215例如通过产生与LNs(未示出)的L2TP通道并获得家庭网关1215的IP地址而建立与主机系统1230的通信。以此方式,家庭网关1215和主机系统1230在通信链1225上建立L2TP通道。
在已建立L2TP通道之后,家庭网关1215和主机系统1230在L2TP通道上建立L2TP对话,此对话与客户机1205请求访问主机系统1230有关。一旦建立L2TP对话,主机系统1230就向家庭网关1215分配用于具体L2TP对话的IP地址。家庭网关1215把主机分配的IP地址映射到客户机1205的局部地址,因而,允许用主机分配的独立互联网地址在客户机1205和主机系统1230之间发生通信。只要L2TP对话保持联接,家庭网关1215就继续把主机系统1230提供的互联网地址映射到客户机1205的局部地址。
例如,如图12所示,如果客户机A 1205具有10.0.0.2的局部地址,并且由主机系统1230分配给客户机A的地址为10.2.114.13,那么,家庭网关1215就把10.0.0.2映射到10.2.114.13。从客户的观点出发,对于客户机A 1205的所有出站通报,家庭网关1215用主机分配的有效地址(10.2.114.13)取代客户机A的源IP地址(10.0.0.2)。对于入站通报,家庭网关1215用(10.0.0.2)取代目标地址(10.2.114.13),然后把在家庭网关1215和客户机之间的网络1210上的通报发送给客户机A 1205。因而,在IP地址10.0.0.2和10.2.114.13之间存在一对一映射。从主机系统1230的观点出发,主机系统1230识别客户机A 1205为10.2.114.13。
网络地址翻译映射方案使主机系统1230能向客户机提供对主机系统为具体客户机保存的信息的访问。映射方案还使客户机1205的用户能访问主机系统1230保存的用户特定信息。主机系统1230保存的此种信息例如包括母体控制设置、工具袋设置和个人网页设置。
另外,在家庭网关1215内的网络地址翻译模块使家庭网关1215能在单个通信通道1225上对多个客户机1205使用此映射方案(例如通过在单个L2TP通道上建立多个L2TP对话)。家庭网关1215处理许多唯一地址的映射方案,所述唯一地址是家庭网关1215在客户机1205和家庭网关1215之间网络1210上检测到的。另外或可替换地,家庭网关1215限制它所允许的同时进行的L2TP对话数量。
在此实施例中,客户机一般采用TCP/IP,并且使用各种能实现TCP/IP通信的软件组件(如MicrosoftTM TCP/IP堆)。当在家庭网关1215内使用NAT模块时,客户机1205不需要采用PPP。
动态主机配置协议
参照图13,在另一个实施例中,家庭联网系统可用家庭网关1315实施,此系统包括使主机系统能识别单个客户机(如图5中的505)的动态主机配置协议(DHCP)模块1327。家庭网关1315还包括L2TP访问集中器1319和TCP/IP模块1323,这有利于与主机系统(图5中的530)的通信。
在此实施例中,家庭网关1315和主机系统530一般在宽带通信链(如xDLS、卫星和电缆)(图5中的525)上通信,从而在家庭网关1315和主机系统530之间的连续联接是有可能的。
参照图14,在一个实例中,当启动采用DHCP的客户机505(步骤1405)之后,判断在家庭网关1315和主机系统530之间是否已建立联接(步骤1410)。如果已建立联接,客户机505由主机系统530分配独立的互联网地址(步骤1415)。主机分配的独立地址作为用于客户机505和家庭网关1315之间网络(如图5中的510)上的局部地址,并作为用于客户机505和家庭网关1315之间的外部地址。多个采用DHCP的客户机505使用家庭网关1315和主机系统530之间的单个通信通道525从主机系统530接收独立的互联网地址。
如果家庭网关1315和主机系统530之间的联接未建立(步骤1410),那么客户机505的启动触发家庭网关1315建立与主机系统530的连续联接(步骤1420)。一旦在家庭网关1315和主机系统530之间建立联接,主机系统530给客户机505分配独立的IP地址(步骤1415)。
所述系统、方法和技术可用数字电路、计算机硬件、固件、软件或这些部件的组合来实施。体现这些技术的装置包括适当的输入和输出器件、计算机处理器、以及真实体现在机器可读存储器中的计算机程序产品,所述存储器由可编程处理器执行。体现这些技术的流程由执行指令程序的可编程处理器来执行,通过输入数据和产生适当的输出来执行所需的功能。所述技术可用一个或多个在可编程系统上可执行的计算机程序来执行,此系统包括至少一个可编程处理器、至少一个输入器件以及至少一个输出器件,所述可编程处理器耦合成从数据存储系统接收数据和指令并向数据存储系统发送数据和指令。每个计算机程序可用高级程序语言或面向目标的编程语言、或以所希望的汇编语言或机器语言来执行;并且在任何情况下,所述语言可以是编译语言或翻译语言。合适的处理器例如包括通用和专用的微处理器。一般而言,处理器从只读存储器和/或随机存取存储器接收指令和数据。适用于真实体现计算机程序指令和数据的存储器包括所有形式的不易丢失的存储器,例如包括:半导体存储器,如可擦除可编程只读存储器(EPROM)、可电擦除可编程只读存储器(EEPROM)和闪存器件;诸如内部硬盘和可移动磁盘的磁盘;磁光盘;以及光盘只读存储器(CD-ROM)。前述任何器件都可补充或包含专门设计的ASIC(专用集成电路)。
已经描述大量的实施例。然而,应该理解,只要不偏离权利要求的精神和范围就可作各种变化。例如,如果所述技术的步骤以不同的次序执行和/或如果在所述系统中的部件以不同的方式结合和/或被其它部件取代,仍然可实现有利的结果。相应地,其它实施例在后附权利要求的范围之内。