专利名称:无线网络计算的制作方法
技术领域:
本发明涉及无线计算机联网技术,特别涉及一种允许使用远程显示设备来使用手持式计算设备显示全部因特网内容的方法和设备。
背景技术:
因特网网络浏览器的引入和无线计算机网络的发展提供了无线电子商务和因特网接入的希望。传统地,有五种用于提供无线因特网解决方案的主要方法。
第一种解决方案是通过使用无线收发器来提供计算机之间的通信链接而简单地消除计算机网络中对电缆的需要。第二种解决方案是将计算设备连接到蜂窝式电话上,并使用该电话来连接到无线网络。第三种解决方案是使用短消息服务(SMS)或无线应用协议(WAP)来在蜂窝式电话上显示缩减的因特网内容。第四种解决方案是使移动设备(例如手持式或手掌大小的计算机)与固定的台式计算机之间的无线数据传递同步。最后一种,将蜂窝式电话的能力(capability)嵌入能够显示因特网内容的小型手持式计算设备中。
然而,这些解决方案中的每一个都需要限制其真实地递送移动电子商务的能力的折衷。
撤消“有线”连接的一种方法是使用中央收发器,其能够建立和维持计算机设备(包括个人计算机或PC、个人数字助理(PDA)、膝上型电脑和手持式计算机)与中央收发器之间的射频链接。中央收发器使用诸如通常以例如2.4GHz的非管制频率工作的802.11b、蓝牙或HomeRF的无线协议来给远程设备提供对网络资源的无线访问。计算设备必须具有无线调制解调器和收发器,以便与无线网络通信,并使用相同的无线协议以相同的频率工作。软件必须既安装在中央收发器又安装在无线设备上,以便管理这些无线设备之间的交易消息。
对于便携计算设备即平板计算机,以最新的格式来实施此模型的变体。平板计算机与为Wi-Fi(IEEE 802.11b协议的同义词)或蓝牙连接性而配备的笔记本大小的触敏屏类似。平板计算机将无线地连接到无线LAN(如上所述),以便将网络和因特网连接性提供给该平板设备。输入机构主要是通过触敏屏,由于触敏屏尺寸大于PDA和手持式设备上的显示器,因此使得用户接口比手掌大小的设备更易于使用。
另一变体采用了TV机顶盒的形式,其也可以用无线适配卡配置为允许用户使用其TV和远程控制器来无线浏览(surf)万维网。在这里,重要的差别是使用电视作为显示机构。另外,使用机顶盒来模仿前面描述的无线收发器提供网络连接性的功能性。
虽然上述每一个解决方案都不需要电缆以便将内容呈递给显示设备而在某种程度上是便携的,但是它们均受提供网络连接的无线LAN的传送范围限制。这意味着计算设备依赖于无线LAN,并且在没有它的情况下不能提供相同水平的服务。这只是“办公室内”或“家庭内”的解决方案。除了不需电缆的这一自由之外,使用该无线网络功能的每一个设备就像被直接用电线连接到网络一样而运行。
当前使用的第二模型是将PDA或手持式计算设备与蜂窝式电话相连接,以提供又一个移动解决方案。在此实施例中,实际上,如果蜂窝式电话或计算设备具有它可用的调制解调器,并且可以获得必要的软件(例如,浏览器)来支持内容显示,则可与蜂窝式电话耦接的任何计算设备均可提供因特网内容。这样的结构可以是有线的,例如,可以通过数据电缆使用RS232连接而将手持式设备连接到电话上,在其它方面则完全是便携的。可替换地,手持式设备可以使用诸如蓝牙或另一种无线协议的无线连接来连接到蜂窝式电话。也可以使用蜂窝式电话和PDA设备之间的红外收发器来建立无线连接。然而,使用红外线需要将两个设备对准,以使它们的红外收发器彼此面对以便通信。
此方案的困难在于用户必须随身携带多个设备,以便拥有对因特网内容的无线访问。在红外通信的情况中,用户必须确保这种设备的视线对准,以使其工作。另一个问题是大多数要显示的因特网内容不是为PDA或手持式设备的有限屏幕能力而设计的,因此在此配置中不能容易地查看它们。这样的设备还由于其小尺寸而具有有限的输入能力。对于移动用户来说,这些限制的总和可能是不方便的。
响应手持式计算设备和移动电话的限制,并且在致力于将因特网内容提供给用户而不管其在何位置时,定义了手持设备标记语言,其在今天被称为无线标记语言(WML),并且为称为无线应用协议(WAP)的专门协议所支持。因此,WAP不是设备而是协议。实际上,它是为通过蜂窝式电话来提供因特网内容的特定目的而开发的。事实上,WAP的开发解决了与无线通信相关的诸如信号等待时间、连接断开和设备分型(以解决每个设备有关屏幕尺寸、功率管理和输入特性的限制)的很多问题。然而,WAP的基本假设是启用WAP的设备只支持文本和基本位像。对于习惯于在他们的台式机上查看因特网内容的用户来说,WAP的这些限制可能是令人失望的。
在日本,已经以NTT DoCoMo的i-mode(i模式)浏览器形式出现了WAP的竞争标准,其显示标准的超文本标记语言(HTML)因特网内容。i-Mode由NTT的网络支持,该网络完成准备因特网内容以在用户电话的有限屏幕上显示的大部分工作。然而,i-Mode也受移动设备的屏幕尺寸约束。
可供移动电话使用的因特网内容的另一形式由短消息服务(SMS)来表示。这一变体允许通过用户在其电话上输入文本消息、拨打期望的接收者的电话号码、并将该消息转发到网络服务器以便将该消息发送给接收方,而将250个或更少字符的短文本消息发送给移动电话。服务器软件将该呼叫解释为SMS,并将该信息存储在服务器上。然后,服务器呼叫接收方,并将该消息发到他们的电话显示屏上。如果当前找不到接收方,则该消息将保留在服务器上,并且当接收方的电话开机或者他们的线路变得可用于呼叫时,将把该消息通知给接收方。
由于大多数手持式设备的有限输入能力,PDA制造商在很长时间内已经认识到需要将数据从手持式设备交换到更有能力查看和处理这样的数据的其它设备(例如PC和膝上型计算机)。因此,这些制造商开发了数据同步软件和硬件来支持从手持式设备到计算机(和其它手持式设备)以及相反方向的信息传递。实际上,为了将这样的数据同步标准化而在1999年成立的联盟已经提出了被称为SyncML的新标记语言。这一标准期望缓和由独立的厂商提供的同步解决方案之间的不兼容性。
不管使用什么同步方法,原理都保持相同。必须将数据作为文件或记录而存储在手持式设备或PC上,并且,软件需要检查该数据的状态,以确定是否由于最近的同步而发生了对文件或记录的改变或添加。如果两个设备之间的数据不同,则将把该数据复制到具有最旧的副本或副本遗失的设备(手持式设备或PC)上。删除的文件可以通过基于与该数据相关的删除标志而从两个设备中都清除文件或记录来类似地处理。
对于避免数据丢失并允许便携设备对这样的数据的可访问性,这样的同步是必要的。然而,由于这样的设备的小屏幕尺寸和有限输入特性,通过手持式设备来处理这样的数据可能是费力的。同步是手持式计算设备凭其自身能力而完全实用的弱点的反映。用户仍然负责发起和配置这种同步的特性。所以,将产生错误,并且数据可能丢失。这也将手持式设备归类为“查看器”而不是实际的计算设备。因为查看的图像通常小而且缺乏颜色或图像深度(低像素数),所以显示能力不是手持式设备最大的强项。
已经有朝着集合电话技术和手持式计算机的重大进展。这一解决方案提供了嵌入在大多数PDA中的软件实用程序,例如将与蜂窝式电话能力相结合的日历、电话本、笔记编辑器和游戏特征。蜂窝式电话和PDA制造商都已经通过借助于他们预期的设备的力量而接近该解决方案。电话制造商已经将PDA能力与他们的移动电话/寻呼机相结合,以产生很多“智能”电话。手持式设备制造商已经将蜂窝式电话附件合并在它们的设备中,以实现相同的东西。目前,所提供的这些大部分是PDA的附加组件。然而,这将有可能随着具有内置的无线连接性的新模型而改变。对于已经通过在其设备上提供更多的计算机功能性而采取了类似方案的双向寻呼机制造商来说,相同的内容也是成立的。
不管采取什么方案,结合移动电话与计算设备仍然留给用户一个两难的问题。其现在具有超便携性,但是仍然为便携设备的小可视空间和输入控制所约束。为了充分支持无线因特网能力,这些设备必须解决所意识到的这些缺点。
因此,在本领域内,存在对允许使用替换的显示设备来显示不适于手持式设备上的有限显示器的内容的方法和装置的需求。
发明内容
本发明针对用于无线网络计算的方法和装置,其中,两个或更多个设备的协作提供不可能来自单个设备的功能性。在此公开的方法可以在蜂窝式电话、PDA、手持式计算机和其它移动设备中实现,并且允许用户无线地控制其它能够显示完整的因特网内容的设备。具体地说,本发明针对使用远程显示设备和手持式计算机的无线因特网计算。
因此,在本发明的一个方面,本发明包括一种使用一级(primary)设备和次级(secondary)设备的网络计算方法,其中,所述一级设备包括中央处理单元、存储器、用户输入设备、无线网络连接部件和无线次级设备连接部件,并且其中,次级设备包括操作系统、图形用户接口和无线一级设备连接部件,该方法包括以下步骤(a)在一级设备与次级设备之间建立无线双向通信连接;(b)在一级设备与计算机网络之间建立无线网络连接;(c)从一级设备生成用于使次级设备与一级设备同步、并控制次级设备的命令数据,并将命令数据传送给次级设备;(d)接收用户输入命令,并将用户输入命令作为接口(interface)数据从一级设备传送到次级设备;(e)接收由次级设备生成的数据和数据请求,并将该数据和数据请求通过一级设备传送到计算机网络;以及(e)从计算机网络接收数据,并将该网络数据通过一级设备传送到次级设备。
在另一方面,本发明可以包括含有中央处理单元和存储器的一级计算设备,包括(a)无线计算机网络连接部件;(b)用于与包括操作系统和用户反馈部件的次级设备无线连接的部件;(c)用于从一级设备生成用来使次级设备与一级设备同步、并控制次级设备的命令数据的部件;(d)用于接受用户输入命令并生成接口数据的部件;(e)用于从次级设备接收网络数据和网络数据请求,并将它们传送到计算机网络的部件;(f)用于从计算机网络接收网络数据的部件;以及
(g)用于将控制数据、接口数据和网络数据传送到次级设备的部件。
在另一方面,本发明可以包括一种在计算机可读介质上具体化的计算机程序,当在包括无线计算机网络连接部件和用于与包括操作系统、图形用户接口和无线一级设备连接部件的次级设备无线连接的部件的一级设备上运行该程序时,其允许通过一级设备来控制次级设备,该程序包括(a)从一级设备生成用于使次级设备与一级设备同步、并控制次级设备的命令数据的代码段;(b)处理输入到一级设备的用户输入命令、并生成接口数据的代码段;(c)从次级设备接收网络数据和网络数据请求、并将它们传送到计算机网络的代码段;(d)从计算机网络接收并处理网络数据的代码段;(e)使命令数据、接口数据和网络数据传送到次级设备的代码段。
在另一方面,本发明可以包括一种含有中央处理单元和存储器的计算设备,包括(a)无线计算机网络连接部件;(b)用于与包括操作系统和图形用户接口的次级设备无线连接的部件;(c)从该计算设备生成用于使次级设备与计算设备同步、并控制次级设备的命令数据的逻辑;(d)处理命令数据的逻辑;(b)处理用户输入命令并生成接口数据的逻辑;(c)从次级设备接收网络数据和数据请求,并将它们传送给计算机网络的逻辑;(d)从计算机网络接收网络数据的逻辑;以及(e)使命令数据、接口数据和网络数据传送到次级设备的逻辑。
下面将参考简化的概略附图,通过示例实施例来描述本发明。在附图中图1A是本发明的一个实施例的示意图。
图1B是本发明的可替换实施例的示意图。
图1C是本发明的可替换实施例的示意图。
图2是可由在所实施的设备之间通信的方法使用的可能的分组结构图;
图3示出使用本发明的两个设备之间的最简单的关系。
图4示出由中间设备分隔开的两个设备之间的关系。
图5示出由转发器设备分隔开的两个设备之间的关系。
图6示出单个次级设备可以如何具有多个一级设备、以及它们之间的关系。
图7示出将单个一级设备分支到多个次级设备。
图8示出中间设备可以如何将网络访问权分配给连接到它的一级设备和次级设备两者。
图9A示出只使用单个用于传送的信号的完全多路复用数据流的数据流动。
图9B示出使用两个用于传送的信号的部分多路复用(接口和命令)数据流的数据流动。
图9C示出使用两个用于传送的信号的部分多路复用(网络和命令)数据流的数据流动。
图9D示出使用两个用于传送的信号的部分多路复用(网络和接口)数据流的数据流动。
图9E示出使用三个用于传送的信号的三个数据流的数据流动。
图10是示出会话的发起和终止的流程图。
图11是示出次级和一级设备管理的流程图。
图12是示出一级和次级设备之间的通信的流程图。
图13是示出接口数据向次级设备的流动的流程图。
图14是示出网络连接的管理和网络数据流动的流程图。
具体实施例方式
本发明提供用于无线网络计算的方法和装置。当描述本发明时,除非另外指出,下列术语具有下列含义。未在此定义的所有术语具有在其领域内公认的普通含义。
术语“网络数据”是指由网络发送或者发送到网络的数据和数据请求。
术语“接口数据”是指由用户在一级设备上输入的接口命令的变换产生的数据,其示例是指示器(pointer)的移动和键输入。
术语“命令数据”是指由一级或次级设备发送以控制会话和每个设备采取的动作的数据。
术语“BluetoothTM(蓝牙)”是指由蓝牙特殊利益集团(Bluetooth SpecialInterest Group)为提供移动计算机、移动电话、其它便携手持式设备和对因特网的连接性之间的链接的小型因素(small-form factor)、低成本无线电解决方案提出的无线协议标准。
在一个实施例中,使用诸如手持式计算机的具有无线连接性的一级移动设备来在包括显示器的次级设备上无线地显示因特网内容。这样,一级设备保持其移动特性,主要是其无线地接收内容的能力,但是能够使用最近的次级设备的功能性和连接性。这个方法不减小一级设备的独立性。当与其它设备隔离开时,其将与正常情况下所做的一样地工作。然而,在支持本发明的方法的其它设备存在时,它可以扩展它自己的能力。
图1A中示出了一个特定的实施例。在此实施例中,诸如混合蜂窝式电话/PDA的一级设备(24)与次级显示设备(38、38’)连接,其中,所述次级显示设备(38、38’)配有它自己的操作系统、CPU、视频能力、网络浏览器软件和图形用户接口。一级设备(24)控制次级设备(38、38’)来显示完整的因特网内容。由于缺乏它自己的因特网连接,次级设备使用在此描述的方法,通过一级设备(24)来接收它的内容。该次级设备可以是台式的或膝上型的通用计算机和监视器、打印机或智能监视器或者电视机,没有限制。在一个实施例中,次级设备可以包括手电筒大小的投影仪(38’),其只需要投射几英尺,以便产生对应于全尺寸计算机监视器或TV屏幕的图像。但是,蜂窝式电话和投影仪的便携性将使用户自由地去任何地方,并且仍然接收和查看相同的因特网内容。
通过提供即使不存在家庭或办公室网络时仍可建立网络的完全的灵活性,本发明的方法不同于现有技术模型。这样,它将在家庭或办公室内外同样地工作,并且在两种情况下提供相同水平的访问。它通过“按需”建立网络来实现这一点。如果存在用于次级设备的现有网络,则该方法允许在一级设备的控制下而由次级设备来使用它。在不存在网络时,该方法通过一级手持式设备而无线地提供一个网络。
本发明的定义的方法与WAP和SMS的不同之处在于其将完整的因特网访问,尤其是对万维网内容而不仅仅是文本和基本位像提供给远程用户的能力。不必从HTML“剪切”内容以供递送;只要一级手持式设备在能够显示该内容的次级显示设备附近,就可以显示原来的内容。
本发明定义的方法提供一种用于交换数据的对等机制。来自一级设备的输入被实时地传递到次级设备以供处理。以这一方式,一级设备借助了次级设备的能力。在一个实施例中,次级设备包括显示器、操作系统、集成为图形用户接口的浏览器、和用于无线地连接到一级设备的部件。在一个实施例中,次级设备可以是“智能”监视器,其包括操作系统、浏览器和无线连接性,但是可以不必包括任何用户输入设备或其它网络连接性。
一级设备配备用户输入机构和网络连接。尽管仍然可以支持同步,但是该系统具有传递与通过手持式设备包含的无线网络连接发送的数据同时的输入的能力。
本发明增强了作为手持式/PDA设备的特征的小覆盖区域和移动性的效用。它通过认识到无线方式允许查看完全“跳出框外(out-of-box)”的区域来实现这一点。当使用最接近的次级显示器来协同显示内容时,手持式设备可以保持其便携性特征。随着在诸如IMT2000(国际移动电信-2000)和UMTS(通用移动电话服务)的第2.5和第3代电话技术中无线通信速度增大,以可与宽带连接相比较的速度来递送因特网内容的能力可变为现实。
因此,本发明涉及用于在为次级设备提供对网络的同时连接的同时,允许至少一个一级设备控制至少一个次级设备的系统的方法和设备。这将使得一级设备和次级设备都能够访问独立地使用每个设备的能力可以或者不可以获得的内容和功能性。但是,此外,它允许此网络连接与一级设备一起移动,使得只要蜂窝式或卫星电话服务可用,用户就总是拥有网络连接。
在可以发起会话之前,必须将两个设备都配置为使用该方法来接受连接。单个或多个一级设备和单个或多个次级设备都必须具有支持该方法的软件和/或硬件。在任一个设备上,此软件可以被实施为在操作系统内部运行的应用、操作系统本身、嵌入式应用或者编码到处理器上的固件。硬件可以是能够运行所述软件的任何同步或异步的逻辑设备。在一个实施例中,可以设计集成电路来将所有硬件和软件合并在单个芯片内。一级设备可以是任何设备,包括,但不限于,个人数字助理(PDA)、寻呼机、手持式计算机、移动电话、手表、TV遥控器、或者能够建立有线和/或无线连接并且能够进行蜂窝式或卫星电话通信的任何其它便携设备。
所有一级和次级设备都应当优选地包含唯一的设备ID号码,其可以是包含用于该设备的人类可识别的ID的明文字符串,并且所有一级和次级设备还可以包括一个或多个加密密钥、关于它自己的能力的信息、以及允许它与其它设备共享什么能力的信息。根据当前环境中所要求的安全性,包含关于先前连接的设备的信息和通过当前设备扩展到其它这样的设备的能力的数据库可以任选地存储在该设备上的存储器中。
如果一级和次级设备已被配置为允许远程控制另一个设备或者被另一个设备控制,则一个或多个一级设备可以发起与次级设备的连接。传输介质可以是使用诸如TCP/IP的支持联网的任何协议的任何传送机构。
在本方法的一个实施例中,在由无线网络自身建立的链接(linkage)之上建立应用级链接。在一个实施例中,利用原地(in place)无线协议来处理设备之间的发现和链接。然后,充当一级设备的设备可以轮询如此链接的每个设备,以确定其是否支持本发明描述的远程控制能力。广播消息也将请求其它设备的配置状态,以确定是否可以建立到其它设备的连接。支持该方法并被这样配置的每个设备将其识别信息返回到一级设备。然后,一级设备准备所有这样的设备的列表,并将该列表以适合于一级设备的显示器的格式显示给用户。在一级设备和次级设备成功地交换了所需的连接信息之后,会话被允许-但是尚未活动(active)。
然后,用户可以选择一个或多个设备,使用一级设备支持的输入方法来激活与该设备的控制会话。这可以是键盘、指示设备、触摸板、或者要么包含在一级设备中要么通过电缆或对接机构而外部控制的可替换的输入设备(包括语音激活)。然后,用户可以通过经由一级设备的用户接口指示一级设备建立对所选择的次级设备的一个或多个的控制链接,来激活会话。在可替换的实施例中,当这样的设备在附近或彼此连接时,可以发生基于规则的自动激活,其中,发现和链接通过应用层、数据链路层和传输层而发生。
在两个设备之间的活动会话初始化期间,交换每个设备的ID信息、设备描述和网络能力。一旦交换完成,则会话活动,并且一级设备可以将控制信息(输入)传递给次级设备,以控制次级设备的功能性。一级设备和次级设备之间的连接可以加密或者可以不加密,这取决于一级设备和次级设备是否被配置为这么做。如果这样配置的话,这包括对单独的键击的加密。这是为了防止在这一信息交换时,密码和其它敏感信息被未授权的其它设备检测和记录。
次级设备可被配置为限制允许一级设备使用的资源类型。这样,次级设备可以保持不同的一级设备ID号码和每个一级设备允许使用的资源的列表的数据库。例如,可以将次级设备设置为只允许特定的(由一级设备的设备ID限定的)一级设备使用其网络连接。对于将使用多个一级和/或次级设备的环境,此数据库还将包含每个一级设备的优先级。这允许某些一级设备具有对会话较高级别的控制。
在设置过程期间,将通知未被授权使用次级设备的现有网络(如果存在的话)的一级设备次级设备没有网络连接可用,并且如果它们确实存在的话,则这种连接将对一级设备拒绝。如果次级设备被配置为接受替换的网络连接,则一级设备将通过经由一级设备自己的通信网络发送网络请求,来为次级设备提供它自己的网络连接。
一级设备也可以配置为使得在建立网络连接时只使用它自己的资源。这种情况的示例是当次级设备没有网络连接,并且必须通过一级设备来访问所有内容的时候。这种情况的另一示例将是当用户必须通过共同的网络网关来连接到专用网,以便访问保密信息的时候。如果一级设备使用了次级设备的网络连接(其很可能更快或更可靠),则将禁止该一级设备获得所希望的内容。建立它自己的网络连接将允许一级设备获得所希望的内容。
如果在设置中有冲突(即,一级设备和次级设备均被配置为只使用它们自己的网络连接),则将在会话激活之前通知用户。
当一级设备激活与次级设备的会话时,可能不会立即发起网络连接。在一个实施例中,网络连接将只在启动需要该连接的应用时,比如说打开次级设备上的浏览器时发起。由于是基于需求的网络使用结构而不是常开(always-on)结构,因此这允许额外的安全性和更低的网络使用成本。然而,使用常开结构的替换实施例也在本发明的范围内。
为了发起网络连接,用户必须在次级设备上启动诸如网络浏览器的应用,随后其将请求网络连接。然后,次级设备将检查它自己的设置和一级设备提供的会话设置,并且将决定将要使用哪个网络连接。如果次级设备不具有任何网络连接,则将通过一级设备发起连接。如果次级设备具有它自己的连接,并允许与一级设备共享这些连接,则将通过次级设备发起连接。如果一级和次级设备都没有可用的连接,则给用户错误消息。在一个实施例中,次级设备有可能同时使用它自己的连接和一级设备的连接,如果一个应用需要接入一级设备的网络而另一应用需要接入本地网络时,可能需要这样。
会话可以直接由用户使用用来结束该会话的一级设备的接口来终止。另外,如果连接被传输介质的故障、设备从网络上物理地卸下、会话中涉及的一个器件或两个器件都被切断电源;或者次级设备的设置被改变为禁止与一级设备的通信,则该会话可以终止。
参考图1A,在一个实施例中,基本系统(20)包括一级设备(24)和次级设备(38),其中,一级设备允许与因特网或另一个计算机网络的连接,并且将从因特网或其它计算机网络接收的内容传送给次级设备。次级设备允许该内容和通常将在浏览器窗中看到和交互的图形用户接口的远程可视化。
如图1B和1C中示意性地示出的,概括地说,一级设备(24)是一种手持式计算设备,其包括收发器(22)、处理单元(28)、用于输入和输出的用户接口(26)和网络连接(30)。一级收发器(22)将数据流输出到传输系统(52),并从传输系统(52)接收数据,然后,传输系统将把数据流通过次级传输系统传送到次级收发器(54)。在一个实施例中,传输系统(52)实施诸如BluetoothTM的无线协议。
一级设备用户接口(26)可既包含输入设备又包含反馈设备,其中,输入设备可以是,但不限于,指示器控制器、键盘、触摸板、语音控制器或其它一些替换输入设备,而反馈设备可以是,但不限于,诸如CRT或LCD屏幕的显示介质。在一个实施例中,输入设备和反馈设备合并在单个触敏显示屏内,如可由PDA的PalmTM家族例示的。
处理和控制单元(28)用来控制和发送通过一级设备(24)的数据。它可以是微处理器、微控制器、数字信号处理器、或集成电路;然而,它可以是能够执行实施本发明所需的控制和数据发送功能性的任何类型的同步或异步逻辑设备。一级控制单元(28)应包含存储器(其可以包括硬驱动器、RAM、ROM、闪存或这些的组合)、软件(其可以包括操作系统和网络浏览器)、和将设备(24)的全部组件相互连接所需的硬件。
网络连接(30)用来将外部内容提供给一级设备,并将其从一级设备提供给次级设备。通常,它将是通过蜂窝式或卫星网络、使用蜂窝式或卫星调制解调器的无线连接,但是也可以通过支持(carry)任何协议的任何其它网络。
次级设备(38)包括收发器(40),处理单元(34)、用户接口(36),其中,所述用户接口(36)主要是允许图形化的用户接口的显示屏。次级设备可包括网络连接(32),尽管这不是必需的。次级收发器(40)将处理三个数据流(42、44、46),该数据流随后将进入传输系统(54),然后,该传输系统将把无线信号传播到一级设备的传输系统(52)。
用户接口(36)可以包含输入设备,其可以是,但不限于,指示器控制器、键盘、触摸板、语音控制器或其它一些替换输入设备。因为可以通过一级设备来提供全部用户输入,所以次级设备不必具有任何用户输入能力。在大多数情况中,用户接口将是诸如CRT或LCD屏幕等显示介质的反馈设备。
次级处理和控制单元(34)用来控制和发送通过次级设备(38)的数据。它可以是微处理器、微控制器、数字信号处理器或集成电路,然而,它可以是能够执行实施本发明所需的控制和数据发送功能性的任何类型的同步或异步逻辑设备。次级控制单元(34)应包含存储器(其可以包括硬驱动器、RAM、ROM、闪存或这些的组合)、软件(其可以包括操作系统和网络浏览器)、和将次级设备的全部组件相互连接所需的硬件(图形驱动器、以太网芯片)。
在基本实施例中,单个一级设备与单个次级设备协同工作。然而,本发明范围内的更复杂的系统将允许多个一级设备连接到单个次级设备,单个一级设备连接到多个次级设备、或者多个一级设备连接到多个次级设备。
传输系统(52、54)与收发器(22、40)和处理单元(28、34)紧密合作,以确定需要发送哪个信息来设置一级设备(24)和次级设备(38)之间的数据流(42、44、46)。实际上,传输系统(52、54)和收发器(22、40)可以完全包含在处理单元(28、34)中,或者可以是处理单元(28、34)内部和外部的硬件和软件的组合。一个示例是蓝牙(TCP/IP),其中,大多数多路复用和数据准备在处理单元内使用蓝牙(TCP/IP)栈完成,而只有调制和连接功能性由外部蓝牙(以太网、令牌环、802.11b)硬件来处理。
在图1B中示出的一个实施例中,一级和次级设备都具有计算机网络连接。在此实施例中,根据哪一个设备具有对所希望的内容的访问权或者更好的访问权,可以通过一级设备或次级设备来递送所希望的内容。
在图1C示出的一个实施例中,次级设备不具有计算机网络连接。在此实施例中,必须通过一级设备的网络连接来递送所有外部内容。这一变体也可以适用于次级设备具有网络连接但是不具有访问所希望的内容的许可的情况。如果次级设备将所希望的内容存储在可由该次级设备访问的存储器中,则一级设备可以控制次级设备显示这样存储的内容。在此能力中,一级设备只充当远程控制器。
图1B或图1C中示出的一级设备(24)和次级设备(38)都可以具有附在其上的其它组件或设备。
有三种在收发器(22、40)之间传送的信息网络数据(42、304)、命令数据(44、306)和接口数据(46、308)。一级设备和次级设备上的传输系统(52、54)都允许为通过介质(56)的最佳传送准备数据流。尽管其它数据流动结构是可能的,但是在图9A到图9E中概述了五种主要情况。一些数据流动情况可以具有必须在介绍该情况之前描述的传输控制器(312)以及多路复用器和解复用器(310、316)。
对于图9A至图9E中示出的上述所有数据流动情况,流动都是双向的。这样,从第一收发器(300)发送到第二收发器(302)的三个传送数据流(304、306、308)经历与这三个数据流被第二收发器(302)传送到第一收发器(300)时相同的过程。在图1B中示出的系统方框图上,收发器(22、40)是与图9A-9E中示出的收发器(300、302)相同的收发器;这样,传输系统(52、54)是多路复用器/解复用器(310、316)与传输控制器(312)的结合,并且,介质(56)承载所有信号(314、318、320、322、324、326、328、330、332、334)。
传输控制器(312)可以是若干层的软件、硬件/固件中的实现、或这两个的组合。传输控制器(312)打包、组装、调制和传送数据。该控制器也将接收、解调制、解包和分解所接收的数据,以便恢复由其它设备传送的信息。打包和组装过程涉及格式化、压缩、数字签名、加密、加上纠错中的任何或全部。解包和分解过程将通过按照所需来纠错、验证、解密、解压缩和恢复所接收的数据来检索原来传送的信息。传输控制器(312)也将所接收的数据滤出,这不是本方法的一部分或者设备之间通信的一部分。除了上述内容以外,传输控制器(312)还将控制两个或更多个设备之间的连接,包括链接丢失和其它特性。传输控制器(312)也有可能根本不修改数据。
多路复用器/解复用器(310、316)可以是以软件、硬件、或软件和硬件的结合实现的任何设备,其结合(多路复用)多个输入信息流,以产生较少的输出信息流。可以将多路复用后的流分离(解复用),以获得原来的信息流。软件多路复用器(310、316)的示例是GSM TS 07.10标准,在蓝牙协议中使用其子集。
使用多路复用后的(全部或部分)数据流的设备(24、38)之间的通信可以使用基于行业标准分组(packet)结构的软件多路复用器,例如,GSM TS 07.10或蓝牙标准RFCOMM。下面的分组结构(100)作为可用来补充或代替行业标准多路复用器的实现特定多路复用器而给出。图2中示出了此分组结构(100)。分组(100)包含两部分报头(110)和包(package)(120)。
报头(110)由传输ID(130)、加密状态(175)、收信方设备ID(140)、源设备ID(150)、包类型(160)和包长度(170)组成。传输ID(130)包含传递分组(100)所用的协议所需要的传输信息。例如,此信息可以是蓝牙ID号码。加密状态(175)指示使用什么加密级别。收信方设备ID(140)是将递送此分组(100)的目的地设备的地址,其具有固定尺寸。源设备ID(150)是分组(100)起源的设备的地址,并且也具有固定尺寸。包类型(160)指示位于包(120)中的信息是命令(44)、接口信息(46)还是网络数据(42),并且尺寸仅为1字节。包长度(170)指示包(120)中的字节数目。其尺寸为2字节,并且是1和65536之间的数字。
包(120)包含将被传递的信息。在一个实施例中,定义和使用了三种不同类型的分组(100)。第一个是命令分组(44),其将包含命令,以同步和配置这两个设备;此分组是双向的。第二个是接口分组(46),其包含光标、指示器键盘命令、和语音数据;它是单向的。最后一个的分组是网络数据分组(42),并且它是双向的。
跟随在传输ID(130)之后的整个分组(100),或者仅仅包(120),可以在传输之前被加密,然后被传输,并由适当的接收器解密。在加密状态(175)中存储分组(100)、包(120)的加密级别,或者什么也不存储。这可以给整个过程,尤其在若干接收器可以接收相同数据的无线环境中,增加额外的安全层。它也可以防止改动的设备冒充作为被信任的设备(正常地允许通信的设备)而在数据库中列出的另一设备。如果使用了加密,则加密算法和硬件必须能够与到来数据速率合拍,否则可能会出现分组丢失。
以报头(180)的0位为先,随后依次每个位,而传递分组(100)。可以如接收分组(100)时一样来逐位处理分组(100),或者可以读入整个分组(100)然后处理;或者可以逐位地处理报头(110)而整体地处理包(120)。根据传输协议的要求,可以剥离并且不传递传输ID(130),该方法下的软件或固件层将检查分组(100),并确定应将该数据发送到哪里。这一层将决定是否需要剥离传输ID(130)。传输ID(130)的尺寸将根据所使用的传输协议而改变。分组的处理通过处理单元(28、34)来完成。
首先,分组(100)的接收器的处理单元(28、34)将审视加密状态(175),以检验和查看是否要求加密。然后,它将审视收信方设备ID(140),以查看其与编程到它内部的内部ID是否匹配。如果这两者不匹配,则丢弃其余的分组(100)。如果该ID确实匹配,则该设备将审视源设备ID(150),以查看是否已经启动与发送器的会话。如果会话已经活动,则处理将继续。如果接收器已经具有与另一设备的活动会话,并且不允许具有多于一个的活动会话,则丢弃分组(100)的剩余部分。如果接收器不具有活动会话,则处理将在启动会话的情况下继续。如果收信方ID(140)和源ID(150)都相同,则处理将停止,并且将丢弃分组(100)的剩余部分。
一旦证实分组(100)是从适当的发送器到该接收器的,则将继续对报头(110)的处理。现在,该设备审视包类型(160),并确定类型。如果它是命令分组(44),则它可以包含连接或断开命令、时间同步、对网络能力的描述等。如果它是接口分组(46),则它可以包含光标或接口数据,而如果它是网络分组(42),则它将包含网络数据。然后,该设备将审视包长度(170),并获取包(120)。
由于恢复了包类型(160)和包(120)两者,因此接收器处理单元(28、34)将对包(120)进行适当地动作。这可以包括在继续之前将它解密。然后,处理单元(28、34)将执行命令、将接口数据发送给设备接口(26、36)、将网络数据发送给请求它的应用,或者将通过网络连接(30、32)将网络数据发送出去。处理单元(28、34)还负责将分组转换为适于其目的地的形式。例如,可能需要将网络分组重新打包为以太网分组,或者,可能需要将鼠标移动改变为图形用户接口或应用编程接口(API)调用。传输系统(52、54)可以进行所述转换;这可以从处理单元(28、34)卸下一些工作。
图9A中示出的第一种数据流动情况包括使用通过介质传播的单个信号(314)来将信息发送给可能具有或者可能不具有活动连接的单个或多个设备。介质可以是自由空间、电线、光纤或者任何允许使用电、磁、电磁、光、机械或其它传送和接收方法的信息通信的材料。该单个信号(34)由已被多路复用(310)到一起的三个不同的数据流(304、306、308)组成。在被传播之前,还发送该单个信号通过传输控制器(312),以便被适当地调整(condition)以供传送。对于所传送的信号(314)的接收和恢复,前述过程的反过程是成立的。
第二种(图9B)数据流动情况包括使用通过介质传播的两个信号(318、320)来将信息发送到可能具有或者可能不具有活动连接的单个或多个设备。这两个信号(318、320)由三个不同的数据流(304、306、308)组成,其中,命令数据(306)和接口数据(308)被多路复用(316)到一起,而网络数据(304)流保持不变。在被传播之前,还发送这两个信号(318、320)通过一个或多个传输控制器(312),以便被适当地调整以供传送。对于所传送的信号(318、320)的接收和恢复,前述过程的反过程是成立的。
第三种(图9C)数据流动情况包括使用通过介质传播的两个信号(322、324)来将信息发送到可能具有或者可能不具有活动连接的单个或多个设备。这两个信号(322、324)由三个不同的数据流(304、306、308)组成,其中,命令数据(306)和网络数据(304)被多路复用(316)到一起,而接口数据(308)流保持不变。在被传播之前,还发送这两个信号(322、324)通过一个或多个传输控制器(312),以便被适当地调整以供传送。对于所传送的信号(322、324)的接收和恢复,前述过程的反过程是成立的。
第四种(图9D)数据流动情况包括使用通过介质传播的两个信号(326、328)来将信息发送到可能具有或者可能不具有活动连接的单个或多个设备。这两个信号(326、328)由三个不同的数据流(304、306、308)组成,其中,接口数据(308)和网络数据(304)被多路复用(316)到一起,而命令数据(306)流保持不变。在被传播之前,还发送这两个信号(326、328)通过一个或多个传输控制器(312),以便被适当地调整以供传送。对于所传送的信号(326、328)的接收和恢复,前述过程的反过程是成立的。
第五种(图9E)数据流动情况包括使用通过介质传播的三个信号(330、332、334)来将信息发送到可能具有或者可能不具有活动连接的单个或多个设备。这三个信号由未被多路复用到一起的三个不同的数据流(304、306、308)组成。在被传播之前,还发送这两个信号(326、328)通过一个或多个传输控制器(312),以便被适当地调整以供传送。对于所传送的信号(330、332、334)的接收和恢复,前述过程的反过程是成立的。
在一个实施例中,为了将一级设备连接到次级设备,应当遵循下面的连接顺序。用户将通过用户接口(26)指示处理单元(28)其想发起一个连接。必须做的第一件事情是必须开启一级处理单元(28),并且如果尚未给收发器(22)和传输系统(52)供电的话,给收发器(22)和传输系统(52)供电。然后,一级设备将广播对识别命令(44)的请求。这将被该区域中的所有次级设备接收。然后,次级设备(38)将查看它当前是否在会话中,并且,如果是在会话中,则查看它是否被允许接受另一个连接。如果次级设备(38)不被允许启动另一个会话,或者不被允许以任何理由启动与正在请求的一级设备(24)的会话,则该请求将被丢弃,并且不向正在请求的一级设备(24)发送任何信息;否则,随后,次级设备(38)将发送识别命令,该识别命令将包含用户可理解的设备描述。然后,一级设备(24)将接收所有可用的设备的列表,并在用户接口(26)上将人类可理解的描述显示给用户。然后,用户将选择尝试与哪个设备(次级设备)(38)连接。在选择之后,一级设备(24)将发起与用户选择要连接的每个设备的连接命令序列-它将从选择的第一个次级设备(38)开始这么做,并遍历该列表。
本方法的一个实施例可以包括使用次级设备(38)上的数据库,该数据库将包括被信任的一级设备(24),并且这些一级设备(24)将被自动连接。未在信任数据库中列出的一级设备(24)将必须传递加密密钥和关于第一个连接的其它信息。也可以有用于将一级设备(24)添加到信任数据库的单独的过程,以便使在不安全介质中传送加密密钥的风险最小化。
本方法的一个实施例还可以在一级设备(24)上提供快速连接方法,该方法将允许用于连接到单个或多个次级设备(38)的最少的用户互动。例如,在每天都连接到相同的次级设备(38)的办公室中,一级设备(24)可以在“工作”目录中包含次级设备(38)的列表,该列表将允许用户以最少的工作量连接到列表中的所有次级设备(38)。
连接命令序列开始于一级设备(24)将连接命令请求发送给所希望的次级设备(38)。然后,次级设备(38)接收此命令,并发回确认。然后,一级设备(24)接收此确认,并将包含所希望的网络设置的命令分组(44)发送给次级设备(38)。然后,次级设备(38)接收此命令,并检验以查看此网络设置是否与它自己的设置兼容。如果兼容,则它发回确认;否则,它发回指示它所希望的设置的命令。然后,一级设备(24)将接收此命令,并且如果该命令是确认,则一级设备(24)将继续,否则它将通过反馈设备(26)向用户显示消息,指示网络设置冲突,并且此会话将继续脱机(没有外部网络连接)。根据正被访问的资源,还可以传递诸如加密密钥、超时周期和功能性的其它一些设置;然而,在制定网络参数之后,会话为使用做好准备。无论何时,如果一级设备(24)或次级设备(38)接收到非确认命令(或事件),则将放弃连接。如果在连接命令序列期间,对于某个超时周期,没有来自其它设备的响应,则将放弃连接。
如果一级设备(24)连接到多于一个次级设备(38),则用户必须选择任何或全部将接收接口数据的次级设备(38)。实际上,用户可能只想将数据发送给一个设备,或者可能想将数据发送给若干个设备。因为一次只有一个次级设备(38)将被给予对它的访问权,所以一级设备(24)将必须选择允许哪个设备使用它的网络连接(30)。然而,用户将能够改变被允许使用不工作的(on the fly)网络连接(30)的次级设备,而不必重新连接。
为了与多个设备通信,可以采用若干不同的方法。在此描述六种用于设备之间互连的可替换情况,但是它们不是对本领域技术人员可使用的方法的限制。
如图3所示,第一种情况包括两个设备一个一级设备(200)和一个次级设备(204)。一级设备(200)和次级设备(204)具有共同的通信接口(202),并使用此接口(202)来互相通信。此接口(202)包括实现本方法的实际通信部分所必需的硬件、传输介质和协议转换的全部。
如图4所示,第二种情况在其最简单形式下包括三个设备一个一级设备(206)、一个中间设备(210)和一个次级目标设备(214)。中间设备(210)充当一级设备(24)和次级设备(38)的联结装置,并且将包含实现一级设备(24)和/或次级设备(38)所需的最少硬件和/或软件。因为中间设备(210)可以包含多个通信接口,所以这两个通信接口(208、212)不需要是共同的。因而,一级设备(206)和中间设备(210)之间的接口(208)不需要与中间设备(210)和次级设备(214)之间的接口(212)相同。
在典型结构中,一级设备(206)可以与中间设备(210)或次级目标设备(214)通信。以这种方式,中间设备(210)可以解释直接发送给它的数据,或者它可以在必要时转换一级设备(206)和次级目标设备(214)之间的分组。中间设备(210)也可以将次级设备的列表提供给其它方式下可能不可用的一级设备(206),从而给该一级设备(206)提供建立对所述次级设备的连接的能力。通过中间设备(210),次级目标设备(214)对一级设备(206)是可见的,但是一级设备(206)不需要知道中间设备(210)和次级目标设备(214)之间的实际通信接口(212)。
此外,在开头添加另一个一级设备,和/或在一级设备和次级设备之间插入一个或多个中间设备,和/或在末尾添加次级设备,则将形成链。以这一方式,可以将总共N个设备连接在一起,一级设备能够通过N-1个通信接口与N-1个次级设备通信,其中,每个通信接口可以是不同的。作为链式连接的副作用,对于一级设备,其它情况下在范围之外或者不可用的设备将变得可以访问。
如图5所示,第三种情况在其最简单形式下包括三个设备一个一级设备(216)、一个中间转发器(220)、一个次级目标设备(224)。中间转发器设备(220)充当转换/再生(regeneration)设备,并且将包含按照需要来执行任何数据转换和再生所需要的最少硬件和/或软件。因为中间转发器设备(220)可以包含多个通信接口,所以这两个通信接口(218、222)不需要是共同的。因而,一级设备(216)和中间转发器(220)之间的接口(218)不需要与中间转发器(220)和次级设备(224)之间的接口(222)相同。
在典型结构中,一级设备(216)只能与次级目标设备(224)通信。中间转发器设备(220)可以在通信接口(218、222)之间转换,或者在类似接口(218、222)的情况下,再生一级设备(216)和次级设备(224)之间的信号。中间转发器设备(220)也可以将次级设备的列表提供给其它情况下可能不可用的一级设备(216),从而给该一级设备(216)提供建立到所述次级设备的连接的能力。通过中间转发器设备(220),次级目标设备(224)对一级设备(216)是可见的,但是它不需要知道中间转发器设备(220)和次级目标设备(224)之间的实际通信接口(222)。因为中间转发器(220)可以汇编所有设备和与每个设备通信所需的接口的列表,然后使用此列表来解释和重新打包分组,以供在适当的通信接口(218、222)中传送,所以它也可以对任何一个设备来说是不可见的。
为了获得设备之间更大的距离和/或很多不同通信接口之间的转换,可以将另外的中间转发器添加到链(216)的中间。以这种方式,可以将总共N个转发器设备连接到一起,并且一级设备(216)能够通过N+1个通信接口与次级目标设备(224)通信,每个接口可以与其它接口不同。
如图6所示,第四种情况包括多个一级设备(226、228、230),其使用一个共同的通信接口(232)、很多专用的通信接口(232)或这两个的结合来与单个次级设备(234)通信。在此结构中,给建立了到次级设备(234)的连接的第一个一级设备分配了在另一个一级设备连接到次级设备(234)时对会话的指挥者角色。在第二个一级设备连接到次级设备(234)之前(即,一个一级设备(24、200)已连接到一个次级设备(38、204)),通过在情况一中指出的规则来管理会话。作为指挥者,一级设备可以在必要时将对次级设备(234)的控制权分配给另一个一级设备。作为附加的约定,一级设备(226、228、230)不需要在它们之间建立信任;然而,它们必须已经在它们自己和次级设备(234)之间建立了信任关系。由于一级设备有可能获得主动提供的对会话的指挥者角色,因此,必须在次级设备(234)处建立优先级系统。
如果次级设备(234)将通过一级设备来使用辅助网络连接,则对会话的第一个指挥者是缺省网络提供者。然后,该指挥者可以将网络提供者的职责传递给另一个一级设备,而不放弃其指挥者角色。指挥者是仅有的被允许将接口命令发送给次级设备(234)的一级设备。如果指挥者传递对接口的控制权,则指挥者角色也被传递给被给予控制权的一级设备。实质上,指挥者控制接口。当指挥者角色改变时,网络连接的提供者不改变。如果提供网络连接的一级设备被断开,或者如果网络连接丢失,则指挥者将具有通过重新分配所述职责而重新建立网络连接或者通过当前提供者请求重新连接的职责。
在优选实施例中,期望次级设备具有同时处理多个一级设备的能力,并且,在这么做的时候,必须包含被信任的不同一级设备的优先级。如果完全允许不被信任的一级设备连接,则给它们分配最低的优先级。分配优先级的能力限定了如何分配指挥者角色,并允许具有更高优先级的一级设备夺取对次级设备的指挥者角色。当建立了一级设备和次级设备之间的关系时,也可以在次级设备上设置优先级。一级设备(226、228、230)与次级设备(234)之间的互动将如下面所指出的来进行。
首先,第一个一级设备(226)建立与次级设备(234)的连接。当第二个一级设备(228)建立与次级设备(234)的连接时,次级设备(234)将指挥者角色分配给第一个一级设备(226),除非第二个一级设备(228)在连接时表明它想承担指挥者角色,并且具有与第一个一级设备(226)相等或比其更高的优先级。在连接了两个或更多一级设备之后,指挥者角色可以被任何具有比当前指挥者更高优先级的一级设备夺取。
如果非指挥者的一级设备的优先级等于或小于指挥者的优先级,则该一级设备可以向次级设备(234)发送该一级设备希望获得对会话的指挥者角色的请求。然后,可以通过来自次级设备(234)的简单消息而将此通知给当前的指挥者。实际上,次级设备(234)通过将令牌(指挥者角色)传递给希望控制整个过程的一级设备(226、228、230)之一而控制整个过程。
如果指挥者被断开连接或者希望放弃其指挥者角色,则将指挥者角色给予已经连接了最长的持续时间且不是当前指挥者的、具有最高优先级的一级设备。如果不同于指挥者的一级设备希望从该时刻起控制会话,则它可以向次级设备(234)发送它希望控制会话的请求,此时,次级设备(234)通知会话的指挥者另一个一级设备想要指挥者角色。指挥者可以随时放弃对会话的控制权。
如图7所示,第五种情况包括利用一个或几个通信接口(238),而在一次会话中使用单个一级设备(236)向多个次级设备(240、242、244)广播,或者独立地与多个次级设备(240、242、244)通信。对于广播通信,所有设备必须使用共同的通信接口(238);这是为了确保所有设备都将接收到广播消息。然而,对于非广播的会话,在一级设备和每个次级设备之间可以使用不同的通信接口(238)。
当建立与任何次级设备(240、242、244)的会话时,最初,一级设备(236)必须如它将对于设备之间的任何专有关系所做的来进行。差异在一级设备(236)建立与多于一个次级设备(240、242、244)的连接时出现。当连接到两个或更多个次级设备(240、242、244)时,一级设备(236)具有将接口信息发送给次级设备(240、242、244)的任何组合的选择权,并且可以使用来自任何次级设备(240、242、244)的任何可用的网络连接。如果该网络连接不再可用,则一级设备(236)可以在次级设备(240、242、244)之间自动切换,以维持网络会话。如果一级设备(236)的网络连接可用的话,次级设备(240、242、244)可以自动地默认为使用一级设备(236)的网络连接。
一级设备(236)还可以具有其它能力。除了接口信息(46)之外,它可以广播网络数据(42)。以这种方式,对于一级设备(236),很多次级设备(240、242、244)可以变为虚(dummy)终端,而一级设备(236)控制除了信息解释以外的会话的所有方面。
单个一级设备(206)和次级设备(214)可以具有在它们之间的中间设备(210),并且这一概念可以扩展到连接到单个一级设备(236)的多个次级设备(240、242、244)。一级设备(236)将具有通过单个或多个连接接口(238)连接的单个或多个次级设备(240、242、244)。每个次级设备(240、242、244)反过来可以通过单个或多个连接接口(246、254、258)连接到单个或多个次级设备(248、256、260)。这种分支可以继续形成P个(250)分层等级。在每个分支中,在一级设备(236)之下且最后的次级设备(248、256、260)之前的每个中间设备将能够把分组发送到适当的次级设备(248、256、260)。这些中间设备(240、242、244)还将能够把在它之上紧邻的分层等级之间的通信接口(238)转换为在它之下紧邻的通信接口(246、254、258)。
如图8所示,第六种情况包括三个或更多设备之间的连接结构,并且只有一个设备(266)具有所希望的网络连接。在此情况中,中间设备(266)为与它是典型局域网中的代理服务器的情况下相同的目的服务。每个次级设备(270、272、274)可以做出请求,以使用中间设备(266)的网络连接。一级设备(262)也可以使用中间设备(266)的网络连接,但是不需要请求许可;而是,其只须通知中间设备(266)其正使用它作为网络提供者。
在典型应用中,中间设备(266)可以是网络路由器,并且一级设备可以是由网络管理员使用的设备。利用一级设备(262),网络管理员可以配置路由器,并访问其网络资源,以调出网页或检查他的/她的电子邮件。路由器使用以太网或其它用于局域网的通信接口(268)来连接到次级网络上的很多次级机器(270、272、274);由于这种情形,假设网络管理员可以不依赖路由器而自行访问每个次级机器,并且假设通信接口(268)不成问题(non-issue),则他/她可以访问每一个次级机器(270、272、274)来检验它们的状态。
可以以各种形式来组合上述的所有情况,以获得一个或多个一级设备和一个或多个次级设备之间的最终关系。当连接多个一级和次级设备时,可以实现这些情况的一个或多个的组合。
如果用户具有作为一级设备(24)上的活动应用而运行的所述方法,则一级设备(24)将通过接口数据流(46)而把所有接口数据发送给次级设备(38)。对于按钮数据,接口数据流(46)将发送按键、键按下或键弹起事件,以及修正键(control(控制)、alternate(交替)、shift(转换)、capital lock(大小写锁定)等)和所按下的键的状态。对于指示器数据,接口数据(46)将包含移动的方向,并且将发送一个用于启动的接口命令(46)、和另一个用于停止该移动的命令(46)。如果指示器上的按钮被按下,则它将发送按钮按下事件,并且在按钮被释放时发送按钮弹起事件;此外,将发送修饰键的状态。次级设备(38)具有使这些接口数据命令(24)与所提供的接口合作的职责——这将经常通过由运行该方法的软件调用次级设备(38)上的应用编程接口来完成。存在其它可用来在一级设备和次级设备之间传递接口数据的方案和格式——前面所述的只是做这些的一个可能方式。
2002年1月29日提交的、申请人的共同未决的、题为“A Method andDevice to Provide Pointer Control and Movement Using Minimal Data(使用最少数据来提供指示器控制和运动的方法及设备)”的美国临时专利申请第60/352228号公开了在一级和次级设备之间传递命令和/或接口数据的优选方法,通过引用而将其内容合并于此。
如果次级设备(38)需要一级设备(24)的网络设施,则将发生下面的事件序列。次级设备(38)将给一级设备(24)发送命令,指示它应当准备启动网络连接(30)。然后,一级设备使提供该网络连接(30)所需的任何电路(这可以是调制解调器、以太网连接等)通电。然后,在为网络连接(30)做好所有准备之后,一级设备(24)将给次级设备(38)发送命令,指示它可以开始发送网络数据(42)。现在,次级设备(38)将通过一级设备(24)的网络连接(30)建立与网络提供者的连接。在蜂窝式电话连接的情况中,这些可以是由PPP(点对点协议)分组跟随的若干调制解调命令,它们全部都被看作网络数据(42)。然后,次级设备(38)将使用网络连接(30)而来回发送网络数据(42),就像该网络连接(30)是它自己的一样。在完成网络会话之后,次级设备(38)将发送命令到一级设备(24),以关闭该连接,并使网络连接电路(30)断电。如果在没有之前的网络发起命令的情况下发送网络数据(42),则根据一级设备(24)的设置,数据可以被丢弃,或者可以触发连接的发起。存在其它可用来在一级和次级设备之间传递网络数据并发起连接的方案和格式-前面描述的只是做这些的一个可能方式。
次级设备(38)将包含关于它所拥有的网络能力以及允许哪个设备连接它的设置。在连接序列期间,次级设备(38)将确定是否将允许一级设备(24)使用它自己的连接(32),或者一级设备(24)可以指示它的连接(30)将被独自使用。在会话已经启动,并且应用指示其需要来自外部网络的内容之后,次级设备(38)将审视其设置,并相应地发起网络会话。这种对网络连接(30、32)的完全控制允许保护内部网络资源的能力,并且还允许用户访问仅可通过它自己的连接(30)获得的专用网络服务。
如果系统利用与其它流多路复用的网络数据(42)来实现该方法,则网络数据段(42)的尺寸应当保持为小,以确保接口数据(46)可以与网络数据(42)交织,以便给出尽可能强的实时感觉。如果使用大的网络数据段(42),则可能没有足够的可用带宽来准确地发送接口(46)和命令数据(44)。于是,因为指示器将不会平滑地移动,将花费几秒钟来在接口上显示键击,语音和声音可能有间歇的停顿,所以该设备将变得难以使用。
为了断开会话,为连接服务的设备(24、38)给其它设备(38、24)发送断开命令。然后,接收设备将以确认分组(44)来响应,以便指示已经接收到断开命令。如果在两个设备之间没有通信的时间达到可以在初始连接例程期间设置的某个超时周期,则也可以发起断开序列。在完成断开序列之后,两个设备(24、38)应当处于与启动会话之前它们所处的状态相同的状态。两个设备(24、38)均可具有将允许立刻断开所有连接的设备的快速断开。
流程10、11、12、13和14图示了优选方法的一个实施例的流程图。图10图示了该方法、以及其如何为连接到单个次级设备的单个一级设备工作。当决定给一级设备通电(600)时,用户给该设备通电(602),并且在此阶段期间,将加载该方法需要的任何固件或驱动程序。然后,系统将自动启动软件以实现该方法,或者用户将自行启动该软件(604)。在加载了软件之后,该设备将检查的第一件事情是是否有任何已知设备(606),这可以通过搜索一级设备上的配置数据库来完成。如果没有已知设备,则系统将等待用户指示一个功能(612)。如果有已知设备,则该方法将确定是否应当自动启动与这些已知次级设备中的一个的会话(608)。如果不应如此,则该系统将等待用户指示一个功能(612);否则,它将尝试建立到那个次级设备的连接(610)。
当等待用户指示一个功能(612)时,系统将继续处于等待状态。当用户指示了一个功能时,系统将确定它将执行哪个功能。它将首先检查以查看它是否要搜索新设备(614)。如果是,则它将发起搜索例行程序(620);否则,它将询问用户他们是否想启动与次级设备的会话(616)。如果是,则该方法将随后检验以确保选择了设备(624),并发起与所选择的设备的会话(610);否则,系统将返回等待状态(612)。如果用户不想建立与次级设备的会话,则系统将检查用户是否想终止该方法(618)。如果用户没有指示他们想终止该方法,则该方法将返回等待状态(612);否则,它将终止它自己(622)。
如果用户想管理可访问的设备列表(620),则该方法将如图11所示来检查用户想对该设备做什么。首先,一级设备显示用户可以从中挑选的支持本方法的设备的列表(640)。如果他们想添加设备(642),则该方法将检查用户是否想手动添加设备(644)。这可以来自文件或者由用户手动指定;在任何一种情况下,这些设备将被添加到设备数据库中(652)。如果用户想自动查找任何设备,则他们可能想使用自动发现(如果该特征可用的话)(646);否则,该方法不能将任何设备添加到数据库中,并且将退出管理设备功能(662),并返回等待状态(612)。如果自动发现进程找到了设备(648),则这些设备将被添加到数据库中(650),此时,该方法返回(662)到等待循环(612)。
如果用户选择从设备数据库去除设备(654),则用户将选择他们希望去除的设备。然后,将把那些设备从数据库中去除(656)。在这之后,所述方法返回(662)到等待循环(612)。如果用户选择修改数据库中设备的参数(658),则用户将选择他们希望修改的设备。然后,用户将在数据库中修改这些设备的元数据(662)。然后,该方法返回(662)到等待循环(612)。
为了使用如图12所示的方法(680)来启动会话,首先,一级设备必须确定所希望的次级设备是否可用(682)。这可以通过发现协议或者只是通过尝试连接到该设备来完成。如果该次级设备可用,则将建立物理链接(684)(这包括诸如蓝牙、802.11b等的无线连接)。然后,一级设备上的该方法将查询次级设备,以确定它是否仍然支持该方法(686),然后将协商参数(688)(即,建立网络参数、信任关系等)。在协商参数之后,一级设备上的该方法将给用户提供一活动会话对所希望的次级设备可用的通知(690)。当用户希望断开会话(698)时,一级设备上的该方法将给次级设备发送断开命令。此命令也将终止物理链接。如果在任何时候物理链接失效,则次级和一级设备均自动断开。在断开之后,所述方法返回(704)到等待循环(612)。
在建立了会话之后,系统将等待(612)用户将数据输入到一级设备或者等待来自次级设备的网络数据或数据请求。如果用户输入接口数据(696),则系统将通过进入接口数据处理器来处理该数据(702)。在接口数据处理器(702)中,如在图13中看到的,接口命令将被打包,使得它们适合该方法(722)。然后,一级设备将把这一打包后的接口数据传递给次级设备(724)。次级设备接收这一打包后的接口数据,并将该数据解包,以接收关联的接口数据(726)。然后,次级设备将根据它自己的指令组按照此接口数据做动作(728),并且次级设备将给用户反馈(730)。然后,系统将返回输入循环(732),以等待另外的输入(692)。这一过程可以被重复很多次,直到会话断开为止。
通过由一级设备传递的接口数据,用户可以触发次级设备的网络数据请求(728)。次级设备独立地确定该网络数据必须经过一级设备还是这样的数据可以直接通过已经对于次级设备可用的网络来访问。如果该网络数据必须经过一级设备,则次级设备将把对网络数据的请求发送给一级设备(692、694;图12)。然后,一级设备将检查以查看它是否已经具有已建立的与网络的连接(742;图14)。如果没有,则它将尝试建立连接(744)。如果在超时周期之前未建立连接(746),则将通知次级设备连接不可用(754)。如果网络连接过去是可用的,或者现在是可用的,并且网络数据或请求来自次级设备,则系统将把该数据或请求中继给网络(748)。如果网络连接过去是可用的,或者现在是可用的,并且网络数据或请求从网络来到次级设备,则系统将把该数据中继给次级设备(750)。如果不再需要该网络连接,则次级设备也可以指示一级设备断开该网络连接(752)。(这可以因为用户接口数据在网络正在处理先前的数据请求时被传送到次级设备(696),由此,这样的输入向次级设备发信号通知终止会话)。
当处理完当前网络数据或请求时,系统将返回输入循环(756)。这一输入/响应过程可以重复很多次,直到会话断开为止。
示例假设如所描述的诸如监视器的显示设备有能力,则可以实现本发明来控制位于饭店、机场、工厂以及甚至人们的汽车内的监视器,以获得相同的结果。他们使用的一级设备是否是蜂窝式电话、PDA、手持式计算机、无线手表、或其它启用无线功能的设备将无关紧要,只要其使用如所描述的方法和结构就可以。
嵌入式系统将不再受它们自己的显示器限制的约束。这样的设备可以使用前面描述的微型投影仪或者无线平板计算机来显示比简单地通过它们自己的可视接口而完成的特征信息(diagnostic information)更多的特征信息。于是,工厂工人可以立即凭借甚至是在工厂的很远的区域内的嵌入式系统来通过因特网无线订购备用零件。
如目前蓝牙技术的很多支持者所提倡的,配有使用此发明的监视器的商店可以邀请人们从商店前的人行道查看它们的全部菜单、产品目录、产品成分等,而不是将内容“推”给在路过他们的商店的步行者。这给予用户对他们与之交互的内容的控制权,而不是在他们走过的时候将这样的内容不加区分地广播给他们。
人们可以通过使用前述的微型投影仪而将电影院网站投影在任何方便的表面上,而在长队后面(the back of the line)订购他们的电影票。或者,他们可以使用他们的公文包顶盖、或者一张纸作为用于显示由他们的蜂窝式电话提供给微型投影仪的内容的屏幕,来在公共汽车或火车上做生意。
即使不把本发明直接嵌入在这样的设备中,也可以想象到监视器和电视机可被制造为具有内置的端口,以接纳使用诸如蓝牙或802.11b的一种无线协议而支持无线联网的微型驱动器(小型化的盘驱动器)或闪存设备,并且,本发明可以给这样的显示设备提供无线网络。因而,用户只需要携带他们的蜂窝式电话和微型驱动器。然后,他们可以使用未连接到计算机但具有用于微型驱动器的适当对接端口的任何监视器或TV,来安装该微型驱动器,并通过蜂窝式电话建立无线网络连接,以便将因特网内容提供给监视器或TV。
对于现有的监视器和TV,即既有设备,可以按照与用于供电视机使用的游戏控制台或机顶盒的方式相同的方式,将类似的微型驱动器/无线设备连接在显示设备和任何现有的宽带业务(电缆或以太网)之间。通过无线微型驱动器而使用一级无线设备来将因特网内容提供给显示设备将优先于通过宽带业务接收到的信号——如果一级设备不仅仅充当控制器的话。然后,一级控制设备将与它同时提供给微型驱动器/显示器连接的内容互动。关掉一级控制设备、或者如本发明的所述的终止无线服务将自动恢复由现有宽带业务提供的信号。
除了显示因特网数据之外,可以使用本方法来使得蜂窝式电话能够通过无线连接到使用BluetoothTM的有线电话,而从陆上线路电话,即使用传统有线电话线路的电话,接起或拨打电话呼叫。用户可以选择有线电话作为将被控制的设备,并从蜂窝式电话发出命令以应答该有线电话。可以通过无线网络来传递音频(语音)信号,而用户使用蜂窝式电话的麦克风和扬声器来讲话和倾听进入有线电话线路的呼叫。以这一方式,当经由蓝牙而通过陆上线路讲话时,用户将不必承受蜂窝式网络上的“广播时间(air time)”。
如将对本领域技术人员清楚的,在不脱离在此要求的本发明的范围的情况下,可以进行对前述特定公开内容的各种修改、改编和变化。在不脱离本发明的范围的情况下,可以按照与在此描述或要求保护的组合不同的方式来组合所描述的本发明的各种特征和元素。
权利要求
1.一种使用一级设备和次级设备的网络计算方法,其中,所述一级设备包括中央处理单元、存储器、用户输入设备、无线网络连接部件和无线次级设备连接部件,并且其中,次级设备包括操作系统、图形用户接口和无线一级设备连接部件,该方法包括以下步骤(a)在一级设备和次级设备之间建立无线双向通信连接;(b)在一级设备和计算机网络之间建立无线网络连接;(c)从一级设备生成用于使次级设备与一级设备同步、并控制次级设备的命令数据,并将命令数据传送给次级设备;(d)接收用户输入命令,并将用户输入命令作为接口数据从一级设备传送到次级设备;(e)接收由次级设备生成的数据和数据请求,并将该数据和数据请求通过一级设备传送到计算机网络;以及(e)从计算机网络接收数据和数据请求,并将该网络数据和数据请求通过一级设备传送到次级设备。
2.如权利要求1所述的方法,其中,计算机网络是因特网,并且网络数据包括因特网内容。
3.如权利要求2所述的方法,其中,次级设备是显示设备,并且还包括浏览器,并且用户反馈部件还包括显示屏幕。
4.如权利要求3所述的方法,其中,接口数据包括指示器移动控制和点击命令、以及键输入。
5.如权利要求1所述的方法,其中,在向次级设备传送之前,在一级设备中将接口数据、控制数据和网络数据中的至少两个交织或多路复用。
6.如权利要求5所述的方法,其中,在向次级设备传送之前,在一级设备中将接口数据、控制数据和网络数据的全部三个交织或多路复用。
7.如权利要求1所述的方法,其中,将接口数据、控制数据和网络数据的全部三个作为三个截然不同的信号发送。
8.如权利要求1所述的方法,其中,一级设备可以同时或依次连接到多个次级设备。
9.如权利要求1所述的方法,其中,多个一级计算机设备可以同时或依次连接到一个或多个次级设备。
10.如权利要求1所述的方法,其中,至少一个中间设备被布置在一级计算机设备和次级设备之间,并且其中,该中间设备可以分离地与一级计算机设备和次级设备通信。
11.如权利要求10所述的方法,其中,提供至少两个中间设备,并且每个中间设备与一级设备、次级设备或在链中相邻的另一个中间设备通信。
12.如权利要求1所述的方法,其中,次级设备连接到它自己的计算机数据网络,并且次级设备可以响应于从一级设备接收的接口数据而实现它自己的数据请求。
13.如权利要求1所述的方法,其中,在一级设备和次级设备之间传送的数据被加密。
14.一种包括中央处理单元和存储器的手持式计算设备,包括(a)无线计算机网络连接部件;(b)用于与包括操作系统和用户反馈部件的次级设备无线连接的部件;(c)用于从该手持式设备生成用来使次级设备与该手持式设备同步、并控制次级设备的命令数据的部件;(d)用于接受用户输入命令并生成接口数据的部件;(e)用于从次级设备接收网络数据和数据请求、并将它们传送到计算机网络的部件;(f)用于从计算机网络接收网络数据和数据请求的部件;以及(g)用于将控制数据、接口数据和网络数据以及数据请求传送到次级设备的部件。
15.如权利要求14所述的设备,其中,无线网络连接部件包括蜂窝式或卫星调制解调器。
16.如权利要求14所述的设备,其中,次级设备连接部件包括射频传输系统。
17.如权利要求16所述的设备,其中,该传输系统使用蓝牙协议。
18.如权利要求16所述的设备,其中,该传输系统使用802.11协议。
19.如权利要求14所述的设备,其中,计算机网络是因特网。
20.如权利要求19所述的设备,其中,次级设备还包括浏览器,并且用于接受用户输入命令的部件接受根据指示器移动控制和点击命令以及键输入生成的接口数据。
21.如权利要求16所述的设备,其中,该传输系统包括用于网络数据、命令数据和接口数据的每一个的分离的传输控制器。
22.如权利要求20所述的设备,还包括多路复用器/解复用器,用于多路复用网络数据、命令数据和/或接口数据中的两个或更多个。
23.一种在计算机可读介质上具体化的计算机程序,当在包括无线计算机网络连接部件和用于与包括操作系统(和/或虚拟机、和/或解释程序)、图形用户接口和无线一级设备连接部件的次级设备无线连接的部件的一级设备上运行该程序时,其使得能够通过一级设备来控制次级设备,该程序包括(a)从一级设备生成用于使次级设备与一级设备同步、并控制次级设备的命令数据的代码段;(b)处理输入到一级设备的用户输入命令、并生成接口数据的代码段;(c)从次级设备接收网络数据和数据请求、并将它们传送给计算机网络的代码段;(d)从计算机网络接收并处理网络数据和数据请求的代码段;以及(e)使命令数据、接口数据和网络数据传送到次级设备的代码段。
24.如权利要求23所述的计算机程序,还包括多路复用命令数据、接口数据、和网络数据中的两个或更多个以传送到次级设备的代码段。
25.一种包括中央处理单元和存储器的计算设备,包括(a)无线计算机网络连接部件;(b)用于与包括操作系统和图形用户接口的次级设备无线连接的部件;(c)从该计算设备生成用于使次级设备与该计算设备同步、并控制次级计算设备的命令数据的逻辑;(d)处理命令数据的逻辑;(b)处理用户输入命令并生成接口数据的逻辑;(c)从次级设备接收网络数据和数据请求、并将它们传送给计算机网络的逻辑;(d)从计算机网络接收网络数据和数据请求的逻辑;以及(e)使命令数据、接口数据和网络数据及数据请求传送到次级设备的逻辑。
26.如权利要求25所述的设备,还包括多路复用命令数据、接口数据、和网络数据中的两个或更多个以传送到次级设备的逻辑。
全文摘要
提供了一种方法、装置和工业产品,用于使用远程次级显示器和一级手持式计算设备来获得和显示因特网内容。一级设备包括蜂窝式或卫星调制解调器,用来连接到因特网和无线数据传输系统,以与次级设备通信。一级设备从因特网检索网络数据,并将它传送给次级设备以供显示。次级设备包括图形用户接口,其可以为一级设备所控制。
文档编号H04L29/08GK1628450SQ02829174
公开日2005年6月15日 申请日期2002年5月1日 优先权日2001年5月1日
发明者米尔顿·米利, 马克·V·费多拉克, 埃德蒙·卢, 约翰-迈克尔·B·卡罗兰 申请人:Meta4hand公司