发明内容
本文中讨论的实施例指用于使用非接触式通信接口建立EHF非接触式通信链路的系统、方法和电路。EHF非接触式通信链路可以用作常规板到板连接器和设备到设备连接器的替代方案。该链路可以是能够支持一定范围的数据速率的低延迟协议透明通信链路。该链路可以通过设备之间的近距离耦合而建立,其中每个设备包括至少一个EHF通信单元。当每个设备包括EHF通信单元的多个实例时,链路可以支持多个通道。跨链路传送的数据可以由耦合设备商定的接口协议管控。
非接触式通信接口可以启用软件定义的连接性,该软件定义的连接性对非接触式通信数据通道的使用进行管理,以根据多个接口协议中的选定一个接口协议启用数据通信。非接触式通信接口可以用作协议转换器和虚拟化层,以使得第一设备的较高级别软件(诸如操作系统)能够与第二设备通信而不需要特定于接口协议的硬件和软件。因此,无论选择哪个接口协议来管控设备之间的通信,非接触式通信接口可以将由较高级别软件使用的选定协议映射到与至少一个EHF通信单元通信的虚拟协议。该虚拟协议可以是能够与EHF通信单元接口的虚拟化层的一部分。这使得非接触式通信接口能够是接口协议不可知的(interface protocol agnostic)。不可知性质可以被实现,这是因为EHF通信单元不受使用相同接口协议的常规有线连接和无线连接的相同电气需求和软件需求约束。作为结果,虚拟化层能够支持多个接口协议而不需要冗余的硬件和软件部件。
另外,因为较高级别软件与EHF通信单元之间的通道被虚拟化,所以非接触式通信接口可以管理这些通道的使用。例如,接口可以基于哪个接口协议被选择而选择性地激活和去激活(deactivate)通道。在一些方法中,接口可以实施服务质量算法,该服务质量算法在控制通道的使用时考虑各种准则。例如,服务质量算法可以改变一个或多个通道的方向以更好地适应带宽需求。
在一个实施例中,提供一种系统,该系统包括第一组非接触式通信收发器单元(CCTU),第一组CCTU可操作以与和第二系统相关联的第二组CCTU非接触式地传送数据,其中为在第一组与第二组之间建立的每个CCTU耦合对形成数据通道。系统可以包括操作系统,该操作系统操作以使用至少一个非非接触式(non-contactless)接口协议与第二系统通信,其中该至少一个非非接触式接口协议中的每一个非非接触式接口协议以运输层、链路层和物理层为特征。系统也可以包括耦合到第一组CCTU和操作系统的非接触式通信接口(CCI),该CCI通过将操作系统正在使用的任何非非接触式接口协议转换成非接触式协议而使得操作系统能够使用任何接口协议经由第一组CCTU与第二系统通信。
在另一个实施例中,提供一种用于对非接触式通信通道进行管理的方法,其中该非接触式通信通道存在于被包括在第一系统和第二系统中的CCTU耦合对之间。该方法可以包括确定第一系统特性、确定第二系统特性、基于所确定的第一系统特性和第二系统特性识别可以用来对经由存在于第一系统与第二系统之间的非接触式通信通道的数据通信进行管控的所有潜在的接口协议、以及决定使用所识别的潜在的接口协议中的至少一个。
在还有的另一个实施例中,系统可以包括第一组CCTU,第一组CCTU可操作以与和第二系统相关联的第二组CCTU非接触式地传送数据,其中,为在第一组与第二组之间建立的每个CCTU耦合对形成非接触式通信数据通道。系统可以包括耦合到第一组CCTU的CCI,该CCI启用软件定义的连接性,该软件定义的连接性对非接触式通信数据通道的使用进行管理,以根据非接触式协议和多个非非接触式接口协议中的选定一个来启用数据通信。
提供一种在第一系统中实现的方法。第一系统可以包括第一组CCTU,第一组CCTU可操作以与和第二系统相关联的第二组CCTU非接触式地传输数据,其中为在第一组与第二组之间建立的每个CCTU耦合对形成数据通道。该方法可以包括从第二系统接收定义第二系统的通信能力的消息、将第一系统配置为根据第二系统的通信能力进行通信、监控数据通道的使用、以及响应于需要访问数据通道的应用以及服务质量中的至少一个来动态地调整数据通道的使用。
提供用于管理非接触式通信通道的另一种方法。该方法可以在第一系统中实现,并且可以包括与第二系统建立非接触式通信连接,该非接触式通信连接的特征在于跨至少一个非接触式通信通道运输数据的能力。该方法可以包括监控与正跨至少一个非接触式通信通道传送的数据有关的系统使用准则、基于所监控的系统使用准则来管理对至少一个非接触式通信数据通道的控制,该管理包括将每个非接触式通信通道指派为下游通道、上游通道、双向通道和空通道中的一个。
提供一种用于在具有至少一个非接触式EHF收发器的系统中使用的CCI。该CCI可以包括转换层模块以及至少一个通信接口通道(CIL),该转换层模块耦合以接收与至少一个非非接触式运输层相关联的数据,该转换层模块将该至少一个非非接触式接口运输层转换到非接触式层,该至少一个通信接口通道(CIL)耦合以从转换层模块接收与非接触式层相关联的数据,其中每个CIL耦合到至少一个非接触式EHF收发器中的一个非接触式EHF收发器。
本文中讨论的实施例的性质和优点的进一步理解可以参考说明书的剩余部分以及附图而实现。
具体实施方式
现在参考附随附图在下文更加充分地描述例示性实施例,在附图中示出代表性示例。实际上,所公开的通信系统和方法可以以许多不同的形式实施并且不应当解释为局限于本文中陈述的实施例。类似的编号自始至终指代类似的元素。
在下面的详细描述中,为了说明的目的,陈述许多具体的细节以提供对各种实施例的透彻理解。本领域那些普通技术人员将认识到,这些各种实施例仅是例示性的并且不旨在以任何方式进行限制。其他实施例将容易由受益于本公开的这些技术人员想到。
另外,为了清晰的目的,并没有示出或者描述在本文中描述的实施例的所有例行特征。本领域普通技术人员将容易领会到,在任何这种实际实施例的开发中,可能需要许多特定于实施例的决定以实现特定的设计目标。这些设计目标将因实施例而异以及因开发者而异。而且,应当领会到,这种开发工作可能是复杂并且耗时的,但是不过是受益于本公开的本领域那些普通技术人员承担的例行工程。
在现今的社会以及无所不在的计算环境中,正在越来越多地使用高带宽模块化和便携式电子设备。这些设备之间以及这些设备内的通信的安全和稳定对于它们的操作是重要的。为了提供改进的安全高带宽通信,可以在革新性的和有用的布置中使用电子设备之间以及每个设备内的子电路之间的无线通信的独特能力。
这种通信可以在射频通信单元之间发生,并且可以在EHF通信单元中使用EHF频率(典型地,30-300GHz)实现非常近距离的通信。EHF通信单元的示例是EHF通信链路(comm-link)芯片。贯穿本公开,术语通信链路芯片和通信链路芯片封装用来指嵌入在IC封装中的EHF天线。通信链路芯片是通信部件的示例,也称作非接触式通信单元、CCU或者EHF收发器(EHF XCVR)。
术语“收发器”可以指诸如IC(集成电路)的部件,该IC(集成电路)包括传输器(Tx)和接收器(Rx)使得集成电路可以用来传输和接收诸如数据的信息。这种收发器可以在本文中称作非接触式通信单元(CCU)或者EHF XCVR。通常,收发器可以以半双工模式(在传输与接收之间交替)、全双工模式(同时传输和接收)操作,或者被配置为传输器或者接收器。收发器可以包括用于传输和接收功能的单独的集成电路。如本文中使用的,术语“非接触式”、“耦合对”和“近距离耦合”指在诸如电子设备之类的实体之间实现电磁连接而不是(有线的、基于接触的)电气连接以及信号的运输。如本文中使用的,术语“非接触式”可以指载波协助的介电耦合系统。连接可以由包含在不同中的CCU的接近而生效。多个非接触式传输器和接收器可以占据小空间。与典型地广播到若干个点的无线链路相比,使用电磁建立的非接触式链路可以是点到点的。
由本文中描述的EHF收发器输出的RF能量可以被设计为遵守由一个或多个政府或者他们的代理命令的各种需求。例如,FCC可以颁布针对在RF频带中传输数据的认证的需求。
“标准”以及相关术语(诸如“基于标准的”、“基于标准的接口”、“基于标准的协议”、“接口协议”等)可以指遗留接口标准,其可以包括但不局限于USB(例如,USB 2、USB 3、USB 3/2或者USB OTG)、DisplayPort(DP)、Thunderbolt(雷电)、HDMI、SATA/SAS、PCIe、以太网SGMII、Hypertransport(超传输)、Quickpath(快速路径)、I2S、GPIO、I2C以及它们的扩展或者修订。例如,术语“接口协议”可以指正由一个系统用来与另一个系统通信的协议。作为具体的示例,正由系统使用的接口协议可以是USB接口协议;照此,该系统可以根据管控USB通信的规则进行通信。
每个接口协议可以需要它自己的栈(stack),包括例如协议层(PROTO层)、链路层(LINK层)和物理层(PHY层)。在有线接口协议中,PHY层可以包括连接器。连接器可以代表与伙伴端口或者连接器交互的端口的物理大小、形状和引脚输出。PHY层指定接口的电气特性。更具体地,PHY层提供到传输介质的电气接口、定义物理和电气特性(诸如连接、电压电平和时序)、以及定义经由物理链路传输原始位而不是逻辑数据分组的手段。位流可以被组织成代码字或者符号,并且被转换成经由传输介质传输的物理信号。LINK层可以负责在主机与设备之间建立并维护可靠信道。更具体地,LINK层可以在传输之前将位编码成分组并且然后在目的地处将分组解码回到位,可以通过传输带有必要的同步、错误控制和流动控制的分组而提供可靠的数据传送,以及可以提供逻辑链路控制、介质访问控制、硬件寻址、错误检测和与PHY的接口。LINK层可以划分成子层,包括但不局限于介质访问控制(MAC)子层和逻辑链路控制(LLC)子层。PROTO层可以管理设备之间数据的流动,并且指定不同的分组结构是如何被使用的。
因此,基于前述,USB接口可以例如具有它自己的USB PROTO层、特定于USB的LINK层、特定于USB的PHY层以及特定于USB的连接器。作为另一个示例,DisplayPort接口可以具有它自己的DisplayPort PTOTO层、特定于DisplayPort的LINK层、特定于DisplayPort的PHY层以及特定于DisplayPort的连接器。
图1示出结合非接触式连接器收发器单元一起使用的常规协议及其相应的层。如所示的,物理连接器由非接触式连接器收发器单元取代,但是每个接口需要它自己特定的层。例如,接口1包括PROTO 1层、EHF LINK 1层、EHF PHY 1层和EHF XCVR。PROTO 1层可以代表正由操作系统用来与另一个系统通信的接口协议。EHF LINK 1层可以是特别设计为与PROTO 1层和EHF PHY 1层通信的LINK层,并且PHY 1层可以被特别设计为与EHF XCVR通信。图1还示出用于接口2和3的单独的PROTO层、LINK层和PHY层。
图1的方法的缺点在于每个接口需要它自己的定制层以便启用针对该接口的通信。这实现起来会是高成本的,并且可能需要太多的集成电路和/或板基板面(board realestate)。本文中讨论的实施例通过采用使得EHF LINK层和EHF PHY层能够用作可以与EHFXVCR接口的非接触式层的非接触式接口,来消除对于特定于冗余接口的层的需求。使用非接触式层消除了具有用于每个接口协议的专用层的需求。即,不管正被访问的接口如何,都仅需要一组非接触式层(例如,孤立的非接触式LINK层和非接触式PHY层可以结合任何接口一起使用)。这被例示在图2中。
图2示出例示在根据任何接口协议启用通信而不需要用于每个接口协议的特定于协议的LINK层和PHY层时非接触式接口的使用的图。具体而言,图2示出系统200,系统200可以包括操作系统(OS)210、非接触式接口212和EHF XCVR 280。非接触式接口212可以包括转换层模块220和非接触式接口通道(CIL)228,CIL 228可以包括非接触式LINK层和非接触式PHY层。转换模块220可以用作使得OS 210在与系统290通信时能够使用它期望的任何接口协议的转换层。例如,如果OS 210根据第一接口协议进行通信,那么它可以使用与该接口相当的运输层。转换模块220可以将该运输层转换到可以与非接触式LINK层和PHY层(或者CIL228之一)接口的非接触式协议。更具体而言,模块220可以使用映射层模块222之一将传入协议映射到非接触式协议。映射层模块222针对需要被转换到非接触式层的每个运输层而存在。例如,OS 210可以根据第一非非接触式协议与模块220通信,并且映射层#1可以将第一非非接触式协议的运输层映射到非接触式层。映射层#2可以将第二非非接触式协议的运输层转换到非接触式层。可以包括任意数量的附加的映射层以适应任何另外数量的非非接触式运输层。在任何非非接触式接口协议被映射到非接触式层之后,与该传入协议相关联的数据可以与非接触式LINK层(“CLINK层”)224接口,非接触式LINK层224与非接触式PHY层(“CPHY层”)226接口。CPHY层226可以与EHF XCVR 280接口。CLINK 224是与EHF XCVR 280兼容并且执行链路层功能性的非接触式链路层。CPHY 226是与EHF XCVR 280兼容并且执行物理层功能性的非接触式物理层。
CLINK 224和CPHY 226可以集体地称作CIL 228。可以提供CIL 228的多个实例以服务EHF XCVR 280的多个实例。换言之,每个EHF XCVR 280可以与它自己的CIL 228相关联。因此,如图2中所示,三个CIL 228被示出为存在于模块220与EHF XCVR 280之间。应当领会到,如果存在更少的或者附加的EHF XCVR,那么也可以存在相当数量的CIL。在另一个实施例中,EHF XCVR的数量可以超过CIL的数量。因此,这可以潜在地创建活动EHF XCVR的数量超过CIL的数量的使用场景。在这些场景中,CIL可以多路复用以便服务活动EHF XCVR。
转换层模块220的使用使得OS 210能够在将数据传送到系统290或者在反过来时使用它期望与其接口的运输层。接口协议的转换对于OS 210是透明的,并且不要求OS 210否则将正常操作的方式的改变。例如,如上所讨论的,当OS 210正根据第一非非接触式接口协议操作时,它在与模块220接口时使用该协议栈的运输层。进入模块220的数据被转换到非接触式层并且经由CIL 228传递到EHF XCVR 280。
系统200可以根据任何接口协议与系统290通信。在一个实施例中,用来在系统200与290之间通信的接口协议可以基于两个系统之间的交换,其中系统决定应当使用哪一个或多个可用的协议。接口协议可以是非接触式接口协议或者非非接触式接口协议。如本文中定义的,非接触式接口协议指原生(native)于CIL并且因此使得OS 210能够直接访问CIL而不需要通过转换层220传递以便经由(一个或多个)EHF XCVR传送数据的协议。根据非接触式协议而传送的数据被示为从OS 210直接流动到CIL中的一个。如本文中定义的,非非接触式协议指非原生于CIL并且需要在转换层模块220中转换到非接触式层以便经由(一个或多个)EHF XCVR进行通信的协议。根据若干个不同的非非接触式接口协议传送的数据(被示为编号1至N)被示为从OS 210流动到转换模块220。
应当领会到,可以经由(一个或多个)EHF XCVR 280从系统290接收数据。在(一个或多个)EHF XCVR 280处接收的数据可以从非接触式层转换到指派的运输层,如果OS 210期望数据根据该特定的运输层被接收的话。如果OS 210期望数据根据非接触式层被接收,那么该数据可以从(一个或多个)CIL 228直接传递到OS 210。而且,数据可以经由(一个或多个)EHF XCVR 280同时在系统200与290之间交换。取决于OS 210正在使用哪些协议,可以需要或者可以不需要模块220。应当领会到,即使OS 210被示为与转换模块220进行通信的部件,其他层(例如,应用层)可以取代OS 210或者除了OS 210之外也使用其他层(例如,应用层)。
图3示出根据实施例的例示使用非接触式通信接口的系统的图。图3与图2中相类似,但是包括关于非接触式接口的附加细节。如所示,系统300可以包括OS 310、非接触式通信接口330和非接触式通信通道370。OS 310可以与图2的OS 210相类似。非接触式接口330可以用作使得OS 310能够经由非接触式通信通道370与系统390进行通信的接口。非接触式接口330可以包括转换层模块320(其可以与图2的模块220相类似)、CIL 328、服务质量模块332、通道使用模块334、通道状态模块336和带宽分配模块338。非接触式通信通道370可以包括若干个EHF XCVR 380,每个EHF XCVR 380可以与系统390中的对等EHF XCVR(未示出)形成非接触式通信通道。取决于形成通道的对等EHF XCVR的配置和能力,每个通道可以是双向或者单向的。例如,如果一个XCVR被配置为仅用于传输并且它的对等XCVR被配置为仅接收器或者被配置为传输器和接收器二者,那么通信通道实际上是单向的。例如,如果两个对等XCVR都具有传输器和接收器功能性的能力,那么通信通道可以是双向的。如下面将更详细描述的,通信通道的知识可以由非接触式接口330使用以做出关于通道使用的决定。
非接触式接口330可以使得系统300能够在用于系统间通信的任意数量的接口中进行选择以及能够从一个接口协议切换成另一个接口协议。例如,在系统300与390之间的连接事件期间,一个或全部两个系统可以决定根据第一接口协议(其可以是非接触式协议)或者任何数量的不同的非非接触式协议进行通信。当使用非非接触式协议时,在系统300与390之间流动的任何数据可以传递通过转换层模块320、通道使用模块334和CIL 328。非接触式接口330可以启用这种通信而不需要被特别设计用于第一非非接触式接口协议的LINK层和PHY层。当使用非接触式协议时,数据可以绕过模块320并且直接传递到通道使用模块334。如果期望的话,在随后的时间,系统300和390二者可以决定根据第二接口协议进行通信。如果第二接口协议是非非接触式,那么非接触式接口330可以启用这种通信而不需要被特别设计用于第二接口协议的专用LINK层和PHY层。
非接触式接口330可以使得系统300能够关于通信通道使用做出动态改变。这种动态通道使用可以使用通道使用模块334、通道状态模块336、带宽分配模块338和服务质量模块332而运作(exercise)。例如,可以动态地控制通道使用以适应用户偏好、系统要求、服务质量保证、总体和可用系统带宽、下游带宽需求、上游带宽需求、通道状态、通道周转时间、接口设置以及任何其他适当的准则。这些准则可以被提供为被供给到(例如由通道使用模块334实现的)通道使用算法的(例如来自OS 310、模块332、336和338的)输入,其中通道使用算法可以最终控制非接触式通信通道370的使用。
通道使用模块334可以操作作为基于通道使用算法而控制跨越通道370的数据流动的调度器。例如,通道使用模块334可以决定激活多少通道,并且在这些被激活的通道内,模块334可以决定使用哪些通道向下游发送数据、使用哪些通道向上游发送数据、使用哪些通道在下游和上游传输之间交替。由模块334做出的决定可以基于被供给到算法的准则而动态地改变。准则中的一些可以由模块332、336和338提供,现在讨论所有这些模块。
服务质量模块332可以操作以确保对于特定的应用或者服务提供最低级别的性能而不管其他系统要求和限制如何。例如,第一服务可以需要最小固定下游带宽以便提供期望的性能。模块332可以将这个下游带宽准则提供到模块334使得模块334能够适当地控制通道使用以确保维持最小下游带宽。因此,即使其他服务需要访问下游带宽,模块334可以适当地为其他服务调度带宽使用,同时维护用于第一服务的最小下游带宽。
带宽分配模块338可以知道关于下游和上游带宽使用的系统要求,并且也可以知道系统的总体可用带宽。总体可用系统带宽可以取决于在系统310与390之间存在的通道的数量。例如,如果每个通道可以运载6Gb/s,并且存在四个通道,那么总体系统带宽是24Gb/s。下游和上游带宽需求定义在任何给定的时间多少数据需要向下游传输以及从上游接收。例如,在一个时间实例中,下游带宽需求可以是8Gb/s并且上游带宽需求可以是6Gb/s。这些需求可以被提供到模块334使得它能够控制使用哪些通道来适应需求。假设系统具有四个通道,每个通道能够运载6Gb/s,模块334可以决定使用两个通道用于下游流量并且一个通道用于上游流量。作为替代,模块334可以决定仅使用两个通道并且交替一个或两个通道的传输方向以适应两个流的需求。
通道状态模块336可以监控通道328的当前状态并且将该状态信息提供到通道使用模块334。例如,模块336可以监控哪些通道是活动的、多少数据正跨这些通道被传送以及在哪个方向上被传送。实际上,模块336可以提供关于通道370的当前状态的相对实时的信息。
图4示出根据实施例的示出可以由非接触式通信接口用来控制非接触式通信通道的使用的各种准则的图。如所示,非接触式接口430可以接收以第一系统特性402、第二系统特性404、访问非接触式通信通道的应用和/或电路系统406、用户偏好408、服务质量需求410、系带宽需求412、通道性能特性414以及通道状态472的形式的输入,并且可以提供通道控制432的形式的输出。第一系统特性402包括与和第二系统(例如,系统390)通信的第一系统(例如,系统300)密切相关的各种准则。准则包括但不局限于EHF XVCR单元的数量以及它们的能力和配置、接口需求以及功率可用性。第二系统特性404可以包括与第一系统特性402相类似的准则。基于特性402和404,非接触式接口430可以确定多少通道可供使用以及总体可用带宽。访问非接触式通信通道的应用和/或电路系统406可以指使用通信通道的一个或多个应用或者电路系统。例如,数据传送应用可能需要访问通信通道以将数据从一个系统传送到另一个系统。作为另一个示例,图形处理器可能需要访问通信通道以将显示数据从一个系统传输到另一个系统。在一些实施例中,应用可以使得电路系统访问通信通道。用户偏好408可以定义用户希望如何利用通信通道。例如,假设特定的用户希望在观看电影时享受极高质量的声音体验。基于这个偏好,非接触式接口430可以分配附加的通信通道来运载附加的音频数据来满足用户的偏好。在一些实施例中,用户偏好可以实施在访问通信通道准则的应用406中。
服务质量需求410可以定义针对特定服务的最小性能度量。在一些实施例中,服务质量需求410可以基于用户偏好408(如由连接二者的线所指示的那样)。在其他实施例中,服务质量需求410可以由在设备上操作的操作系统或者应用定义。在还有的其他实施例中,需求410可以由硬件需求定义。
系统带宽需求412可以指定系统的当前上游和下游带宽需求。例如,OS或者其他数据处理程序可以知道在任何给定时间有多少数据需要向下游和上游传输。
通道性能特性412可以指定通道的各种特性。例如,特性412可以指定通道改变方向要花费多长时间。即,通道从下游通道切换成上游通道或者反过来要花费多长时间。
通道状态472可以指定通信通道的使用。例如,通道状态472可以指定哪些通道被指派为在两个系统之间根据所决定的一个或多个接口而被使用,以及哪些通道正在活动地传输数据。它也可以指定数据正在哪个方向上流动。通道状态472也可以指定EHF XCVR什么时候完成在传输器模式和接收器模式之间的切换。
通道控制432可以指定如何基于接收到的准则输入来利用一个或多个通道。例如,通道控制432可以指定哪些通道被用来传输数据以及哪些通道被用来接收数据。作为另一个示例,如果非接触式接口430确定一个或多个通道应当改变数据流动的方向,那么它可以经由通道控制432发送命令来指示该一个或多个通道改变方向。
图5示出根据实施例的可以执行以管理非接触式通信通道的使用的步骤的例示性流程图。图5可以结合图6一起描述,图6示出可以与第二系统610、620和630的任何一个结成伙伴的第一系统600。照此,讨论可以联合参考两个图。在图6中,系统600可以包括OS、非接触式接口以及一个或多个EHF XCVR。系统610可以包括处理器以及一个或多个EHF XCVR,并且操作以仅根据第一接口进行操作。系统620可以包括处理器以及一个或多个EHF XCVR,并且操作以仅根据第二接口进行操作。系统630可以包括处理器、动态接口选择器以及一个或多个EHF XCVR。系统630可以根据接口1-N中的任何一个进行操作,并且可以使用例如动态接口选择器动态地从一个接口改变到另一个接口。
从步骤510开始,可以确定第一系统特性。例如,可以确定定义第一系统600的操作容量的特性。这些特性可以包括上面定义的准则,诸如功率、接口能力以及EHF XCVR的数量和它们相应的能力。作为具体的示例,第一系统特性可以指示系统600能够同时支持十二个非接触式通信通道以及任何可用的接口。
在步骤520,可以确定第二系统特性。这些特性可以包括上面定义的准则,诸如功率、接口能力以及EHF XCVR的数量和它们相应的能力。例如,第二系统610可以具有四个EHFXCVR并且根据第一接口进行通信。系统620可以具有六个EHF XCVR并且根据第二接口进行通信。系统630可以包括十个EHF XCVR并且根据许多接口的任何一个进行通信。第二系统可以在非接触式链路设立过程的部分期间将它的系统特性提供给第一系统。
在步骤530,可以基于第一系统特性和第二系统特性来识别在第一系统与第二系统之间存在的非接触式通信通道的所有潜在的使用。在步骤540,一个或者全部两个系统可以决定使用通信通道的所识别的潜在使用中的一个。例如,因为第二系统610局限于仅根据第一接口进行操作,所以第一系统610可以决定根据第一接口来使用非接触式通信通道。作为另一个示例,因为第二系统630能够根据许多不同的接口动态地操作,所以第一系统610可以确认多个通道使用范例可用,但是可以决定根据第二系统当前选择的接口来使用通道。
在步骤550,可以动态地管理非接触式通信通道的使用。在一种方法中,通道可以被重新利用(repurpose)以适应不同的接口。例如,假设第二系统630原始地根据第一接口进行操作,但是然后决定开始根据第二接口进行操作。响应根据第二接口进行操作的决定,通信通道可以被重新利用为适应第二接口。重新利用可以涉及改变一个或多个通道的数据流动方向、激活一个或多个附加的通道、关闭一个或多个通道等等。
在另一种方法中,可以基于通道控制算法来管理通道的使用,通道控制算法在决定动态地管理通道时考虑不同的准则。例如,通道控制算法可以在管理通道的使用时考虑用户偏好、服务质量需求、系统带宽需求、应用需求、通道特性需求、总体可用带宽、通道状态以及其他准则。
根据各种实施例,在图7A-图7E中示出动态通道管理的例示,每个图可以代表通道控制算法管理四个不同通道的使用的期间时间上的不同快照。在图7A中,通道控制算法可以指派四个通道中的三个作为出站(outbound)通道并且指派通道中的一个作为入站(inbound)通道。在图7B中,通道控制算法指派两个通道作为出站通道并且指派两个通道作为入站通道。该通道改变可以是例如系统带宽需求的改变的结果。图7C示出通道的还有的另一个动态改变,其中仅一个通道是出站的并且剩余三个通道是入站的。图7D示出通道控制算法已经委派两个通道为专用下游通道并且另一个为专用上游通道的示例。第四通道被用作取决于系统的带宽需要而在上游模式和下游模式之间切换的双向通道。图7E示出通道控制算法已经关闭四个通道中的一个并且委派两个通道为专用下游通道以及一个通道为专用上游通道的示例。如果期望的话,三个活动通道中的任何一个可以用作双向通道。
应当理解,图5中所示的步骤仅是例示性的并且可以修改或者省略现有步骤,可以添加附加的步骤,以及可以更改某些步骤的次序。
图8示出根据实施例的例示性通道控制过程800。过程800可以在第一系统中实现。从步骤810开始,可以建立与第二系统的非接触式通信连接。该非接触式通信连接可以以跨至少一个非接触式通信通道运输数据的能力为特征。每个非接触式通信通道可以在第一系统中的EHF XCVR与第二系统中的对等EHF XCVR之间形成。例如,在一个实施例中,仅一个非接触式通信通道可以在两个系统之间存在。在其他实施例中,可以存在两个或更多个通道。在还有的其他实施例中,可以存在多个通道但是在任何给定时间可以使用少于所有通道的通道。
在步骤820,可以监控与跨至少一个非接触式通信通道传送的数据有关的系统使用准则。系统使用准则可以包括例如当前带宽使用需求、服务质量需求、用户偏好、功率等等。在步骤830,可以至少部分地基于所监控的系统使用准则来管理对至少一个非接触式通信数据通道的控制。作为该管理的一部分,每个非接触式通信通道可以被指派为下游通道、上游通道、双向通道和空通道中的一个。空通道是作为非接触式通信连接的一部分而存在、但是当前没有用来运输数据的非活动通道。双向通道是选择性地向上游和下游运输数据的通道。用于确定它什么时候在下游方向或者上游方向进行运输的时序参数可以由非接触式接口控制,但是在调度通道使用时它可以考虑诸如通道优先级、通道性能特性(例如,周转时间)以及系统要求之类的因素。
应当理解,图8中所示的步骤仅是例示性的,并且可以修改或者省略现有步骤,可以添加附加的步骤,或者可以更改某些步骤的次序。例如,管理可以基于例如所监控的至少一个非接触式通信通道的状态。例如,非接触式接口可以监控到上游通道是空闲的,但是所有下游通道是活动的。非接触式接口可以将上游通道切换成下游通道,使得下游吞吐量可以增加。照此,至少一个非接触式通信通道可以根据下游通道、上游通道、双向通道和空通道中的不同一个而被重新指派。
应当相信,本文中所陈述的公开涵盖具有独立效用的多个不同发明。虽然已经以其优选形式公开了这些发明中的每一个,但是如本文中所公开和例示的它的具体实施例不在限制的意义上考虑,因为许多变化是可能的。每个示例定义在前述公开中公开的实施例,但是任何一个示例不一定涵盖可以最终要求保护的所有特征或者组合。在描述记载“一个”或者“第一”元素或者其等同物的情况下,这种描述包括一个或多个这种元素,既不要求也不排除两个或者更多个这种元素。而且,用于所识别元素的次序指示符(诸如第一、第二或者第三)被用来在元素之间进行区分,并且不指示这种元素的必需或者有限的数量,并且不指示这种元素的特定位置或者次序,除非另外具体地陈述。
而且,关于图2-图8描述的任何过程以及本发明的任何其他方面可以各自由软件实现,但是也可以在硬件、固件或者软件、硬件和固件的任何组合中实现。它们各自也可以被实施为记录在机器或者计算机可读介质上的机器或者计算机可读代码。计算机可读介质可以是可以存储数据或者指令的任何数据存储设备,此后该数据或者指令可以由计算机系统读取。计算机可读介质的示例可以包括但不局限于只读存储器、随机存取存储器、闪存、CD-ROM、DVD、磁带和光学数据存储设备。计算机可读介质也可以分布在网络耦合的计算机系统上,使得计算机可读代码以分布式方式被存储和执行。例如,计算机可读介质可以使用任何适当的通信协议从一个电子子系统或者设备传送到另一个电子子系统或者设备。计算机可读介质可以在调制数据信号(诸如载波或者其他运输机制)中实施计算机可读代码、指令、数据结构、程序模块或者其他数据,并且可以包括任何信息递送介质。调制数据信号可以是使得它的特性中的一个或多个以这种方式被设置或者改变以便在信号中编码信息的信号。
应当理解,本文中所讨论的任何或者每个模块或者状态机可以作为软件构造、固件构造、一个或多个硬件部件或者其组合而被提供。例如,状态机或者模块中的任何一个或多个可以在可以由一个或多个计算机或者其他设备执行的计算机可执行指令(诸如程序模块)的一般背景下描述。通常,程序模块可以包括一个或多个例程、程序、对象、部件和/或数据结构,其可以执行一个或多个特定的任务或者可以实现一个或多个特定的抽象数据类型。同样应当理解,模块或者状态机的数量、配置、功能性和互连仅是例示性的,并且可以修改或者省略现有模块的数量、配置、功能性和互连,可以添加附加的模块,以及可以更改某些模块的互连。
虽然在阅读前述描述之后,本发明的许多更改和修改无疑将变得对本领域普通技术人员显然,但是应当理解,经由例示的方式示出和描述的特定实施例绝不旨在被看作限制。因此,对于优选实施例的细节的参考不打算限制它们的范围。