CN104160668B - 用于无线对接自动配置和优化的系统和方法 - Google Patents

用于无线对接自动配置和优化的系统和方法 Download PDF

Info

Publication number
CN104160668B
CN104160668B CN201380012959.0A CN201380012959A CN104160668B CN 104160668 B CN104160668 B CN 104160668B CN 201380012959 A CN201380012959 A CN 201380012959A CN 104160668 B CN104160668 B CN 104160668B
Authority
CN
China
Prior art keywords
data element
communication
block
interface
connection
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201380012959.0A
Other languages
English (en)
Other versions
CN104160668A (zh
Inventor
K.J.G.霍尔特曼
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN104160668A publication Critical patent/CN104160668A/zh
Application granted granted Critical
Publication of CN104160668B publication Critical patent/CN104160668B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/16Constructional details or arrangements
    • G06F1/1613Constructional details or arrangements for portable computers
    • G06F1/1632External expansion units, e.g. docking stations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/12Shortest path evaluation
    • H04L45/127Shortest path evaluation based on intermediate node capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/02Arrangements for optimising operational condition

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer And Data Communications (AREA)
  • Small-Scale Networks (AREA)

Abstract

本发明提供根据连接协商过程在对接过程中对多个对接方与固定对接环境的有效负荷连接进行预规划的系统、方法和装置,该连接协商过程为参与对接过程的各方平衡需求和能力。根据一个公开的方面,连接协商系统在位于通信系统中的设备中的一对或多对端点之间建立一个或多个通信路径。

Description

用于无线对接自动配置和优化的系统和方法
对相关申请的交叉引用
本申请要求2012年3月6日在USPTO提交的序号为61/607,114、标题为“用于无线对接的连接协商”的美国临时申请的权益。
技术领域
本发明总体涉及不同计算机设备之间的无线数据通信,且具体来说,涉及用于自动配置最优网络拓扑和用于该网络的设备驱动设置的对接系统和方法。
背景技术
无线对接采用无线技术来将诸如移动电话、膝上型计算机之类的典型便携设备连接到典型固定对接环境。这样的便携设备典型地被称为对接方(dockee)或无线对接方(WD)。在无线对接中,对接方无线地连接到对接环境以便获得访问对接环境中的诸如该对接环境提供的大屏幕、键盘、鼠标和输入/输出端口之类的外围设备的权限,该对接环境可以是一个或多个对接站(WDS)或对接主机(WDH)。在典型的应用中,当与运行在移动电话上的应用(例如,电子邮件客户端、网络浏览器)进行交互时,移动电话用户被提供了使用比该移动电话上所提供的屏幕更大的屏幕的能力。更大屏幕的使用改善了最终用户在与运行在对接方上的应用进行交互时的体验和生产率。
当前和未来设想的正处于开发中的无线对接标准设想:对接环境可以以分布式的方式来实现,由若干设备和通信链路组成。
鉴于前面提及的限制和考虑,清楚的是,设置对接系统中最优连接的过程(在此被称为连接协商)至少涉及以针对参与对接过程的所有各方平衡需求和能力的方式来组合通信协议、芯片设置、信道分配和路由拓扑。此外,评估不同可能的解决方案的优点就其本身而言可能是困难的任务。理想情况下,存在应当被优化的若干指标。它们是网络拓扑吞吐量和时延,尤其是关于屏幕外围功能的发送到对接方和从对接方发送的屏幕更新的吞吐量。
鉴于以上缺点和顾虑,应当显然的是,打算与无线对接环境对接的对接方面临着直接的问题:如何执行以平衡参与对接过程的所有各方的需求和能力的方式来组合通信协议、芯片设置、信道分配和路由拓扑的连接协商过程。如上面讨论的,这个问题不是微不足道的,因为系统的一个部分中的某些设置的选择影响系统另一部分中的性能。在一些设置中,甚至找到创建完全连接的通信图的设置的单个组合可能是复杂的。
WO 2009/141761 A1描述一种方法,包括:选择用于在无线网络中调度并发传输的介质存取槽(MAS)类型;将预留分配给所选择的MAS;以及将所选择的MAS应用到无线网络的源节点和信宿节点。
因此,需要的是用于提供连接规划策略的系统、方法和计算机程序产品,该连接规划策略实现连接协商过程以将无线对接方连接到无线对接环境。
发明内容
提供本发明内容以介绍概念的选择。下面在具体实施方式中进一步描述这些概念。本发明内容不旨在标识要求保护的主题的关键特征或必要特征,也不旨在将本发明内容作为确定要求保护的主题的范围的辅助。
在各个实施例中,本发明通过提供根据连接协商过程对对接过程中对对接方与固定对接环境的有效负荷连接进行预规划的系统和方法来解决现有技术中的缺陷,该连接协商过程平衡参与该对接过程的所有各方的需求和能力。
根据一个公开的方面,公开了包括用于在位于通信系统的设备中的一对或多对端点之间建立一个或多个通信路径的连接协商系统的通信系统,其中该通信系统包括:两个或更多设备、位于该两个或更多设备之间的至少一个通信介质、能够被用于实现要建立的该一个或多个通信路径的一部分的多个系统元件、表示以下各项之一的多个接口数据元件:系统元件之间的连接点;系统元件与要建立的该一个或多个通信路径的端点之间的连接点,其中连接协商系统包括至少一个处理器,其可操作来:作为第一处理器输入,接收要建立的该一个或多个通信路径的一对或多对端点,所述端点位于通信系统的设备中,其中每个端点由该多个接口数据元件中的一个表示;作为第二处理器输入,接收对于该至少两个设备和可选地通信介质的能力和约束的描述,其中能力和约束由块数据元件的集合B定义,其中块数据元件的集合B中的块数据元件由表示被配置成执行某个通信任务的单个系统元件、或者不能被配置的单个系统元件、或者总是以相同的方式被配置而不管其支持的该一个或多个通信路径如何的单个系统元件的数据组成;基于第一和第二输入找到满足至少第一准则的块数据元件的集合B的子集Tx,并且作为代表通信系统中要建立的该一个或多个通信路径的连接规划而输出子集Tx;通过至少配置由子集Tx指定的一个或多个系统元件以在通信系统中建立该一个或多个通信路径来执行该连接规划。
根据本发明的第二方面,公开了一种用于在位于通信系统的设备中的一对或多对端点之间建立一个或多个通信路径的方法,该通信系统包括:两个或更多设备、位于该两个或更多设备之间的至少一个通信介质、能够被用于实现要建立的该一个或多个通信路径的一部分的多个系统元件、表示系统元件之间的连接点以及系统元件与要建立的通信路径的端点之间的连接点的多个接口数据元件,该方法包括:作为第一输入,接收要建立的该一个或多个通信路径的该一对或多对端点,所述端点位于通信系统的设备中,其中每个端点由该多个接口数据元件中的一个表示;作为第二输入,接收对于该至少两个设备和可选地通信介质的能力和约束的描述,其中能力和约束由块数据元件的集合B定义,其中块数据元件的集合B中的块数据元件由表示被配置成执行某个通信任务的单个系统元件、或者不能被配置的单个系统元件、或者总是以相同的方式被配置而不管其支持的该一个或多个通信路径如何的单个系统元件的数据组成;基于第一和第二输入找到满足至少第一准则的块数据元件的集合B的子集Tx,并且作为代表通信系统中要建立的该一个或多个通信路径的连接规划而输出子集Tx;以及通过配置由子集Tx指定的一个或多个系统元件以在通信系统中建立该一个或多个通信路径来执行该连接规划。
根据本发明的第三方面,公开了通信系统系统中的对接方,该对接方托管连接协商系统以用于在位于通信系统的设备中的一对或多对端点之间建立一个或多个通信路径,其中该通信系统包括:两个或更多设备、位于该两个或更多设备之间的至少一个通信介质、能够被用于实现要建立的该一个或多个通信路径的一部分的多个系统元件、表示以下各项之一的多个接口数据元件:(a)系统元件之间的连接点;(b)系统元件与该一个或多个通信路径的端点之间的连接点,其中由所述对接方托管的连接协商系统包括至少一个处理器,其可操作操作来:a)作为第一处理器输入,接收要建立的该一个或多个通信路径的一对或多对端点,所述端点位于通信系统的设备中,其中每个端点由该多个接口数据元件中的一个表示;作为第二处理器输入,接收对该至少两个设备和可选地通信介质的能力和约束的描述,其中能力和约束由块数据元件的集合B定义,其中块数据元件的集合B中的块数据元件由表示被配置成执行某个通信任务的单个系统元件、或者不能被配置的单个系统元件、或者总是以相同的方式被配置而不管其支持的该一个或多个通信路径如何的单个系统元件的数据组成;基于第一和第二输入找到满足至少第一准则的块数据元件的集合B的子集Tx,并且作为代表通信系统中要建立的该一个或多个通信路径的连接规划而输出子集Tx;启动该连接规划的执行,该执行包括配置由子集Tx指定的一个或多个系统元件以在通信系统中建立该一个或多个通信路径。
根据本发明的第四方面,公开了通信系统中的对接主机,该对接主机托管用于在位于通信系统的设备中的一对或多对端点之间建立一个或多个通信路径的连接协商系统,其中该通信系统包括:两个或更多设备、位于该两个或更多设备之间的至少一个通信介质、能够被用于实现要建立的该一个或多个通信路径的一部分的多个系统元件、表示(a)系统元件之间的连接点和(b)系统元件与该一个或多个通信路径的端点之间的连接点的多个接口数据元件,其中由所述对接主机托管的连接协商系统包括至少一个处理器,其可操作来:作为第一处理器输入,接收要建立的该一个或多个通信路径的一对或多对端点,所述端点位于通信系统的设备中,其中每个端点由该多个接口数据元件中的一个表示;作为第二处理器输入,接收对该至少两个设备和可选地通信介质的能力和约束的描述,其中能力和约束由块数据元件的集合B定义,其中块数据元件的集合B中的块数据元件由表示(a)被配置成执行某个通信任务的单个系统元件、或者(b)不能被配置的单个系统元件、或者(c)总是以相同的方式被配置而不管其支持的该一个或多个通信路径如何的单个系统元件的数据组成;基于第一和第二输入找到满足至少第一准则的块数据元件的集合B的子集Tx,并且作为代表通信系统中要建立的该一个或多个通信路径的连接规划而输出子集Tx;启动该连接规划的执行,该执行包括配置由子集Tx指定的一个或多个系统元件以在通信系统中建立该一个或多个通信路径。
附图说明
通过对结合附图考虑下面的具体实施方式的关注,本发明的这些和其他目的、特征和优点将是显而易见的,在附图中:
图1- 是根据一个实施例的本发明可以在其中实现的示例性对接环境。
图2 - 是根据一个实施例的由连接无线对接方“A”的应用软件模块与无线对接主机的屏幕硬件模块的本发明的连接规划模块创建的示例性通信路径的图示。
图3a-3e - 是根据一个实施例的由本发明的连接规划模块使用的接口数据元件和块数据元件的示例性表示的图示。
图4 - 是根据一个实施例的在对接方和无线对接主机之间进行的连接协商的示例性协商结果的图示。
图5a和5b - 图示了根据一个实施例的由典型的对接方(5a)和对接主机(5b)托管的耦合到处理器和存储器的连接规划模块。
图6图示了根据一个实施例的本发明的连接规划模块的输入和输出。
图7描绘了计算机系统形式的机器的说明性图解表示,在该计算机系统中一组指令在被执行时可以使得该机器执行在此讨论的方法中的任一个或多个。在一些实施例中,该机器作为单机设备运行。在一些实施例中,该机器可以(使用网络)被连接到其他机器。在网络化部署中,该机器在服务器-客户端用户网络环境中以服务器或客户端用户机器的能力运行,或者在对等(或分布式)网络环境中作为对等机器运行。
具体实施方式
现在将参照附图通过示例来详细公开本发明的非限制性实施例。在描述该些实施例时,为了清楚起见,将采用特定术语。然而,本发明不旨在限于如此选择的特定术语,并且应当理解,每个特定术语都包括以类似方式操作从而实现类似目的的所有技术等同物。
本描述阐明本公开的原理。因此将会理解,尽管在此并未明确描述或示出,本领域技术人员将能够设计体现本公开的原理并被包括在其精神和范围内的各种布置。
在此具体地描述本发明的主题以满足法定要求。然而,描述本身不旨在限制本专利的范围。相反,发明人已经构思,所要求保护的主题还可能结合其他目前或将来的技术以其他方式来体现,以包括与本文档中所描述的步骤类似的不同步骤或步骤的组合。此外,尽管术语“步骤”和/或“块”在此可以被用于意指所采用的方法的不同模块,但是该术语不应当被解释为暗示在此公开的各个步骤之间的任何特定顺序,除非并且除了当各个步骤的顺序被明确地描述时。
在此叙述的所有示例和条件语言都意在为了教导的目的以帮助读者理解本公开的原理和发明人所贡献的概念从而改进技术,并且应当被解释为不限于这样具体叙述的示例和条件。
此外,在此叙述本公开的原理、方面和实施例及其特定示例的所有陈述都旨在包含其结构和功能上两者的等同物。此外,这样的等同物意在包括当前已知的等同物以及将来开发的等同物,即,任何被开发的执行相同功能的元件,而不管结构如何。
本发明的实施例可以包括专用或通用计算机,该计算机包括各种其他计算机硬件和/或软件模块和如下面被更详细地讨论的模块。
本发明可以以许多方式来实现,包括实现为过程、装置、系统、物品的组合、诸如计算机可读存储介质之类的计算机可读介质或其中在光学或通信链路上发送程序指令的计算机网络。在本说明书中,这些实现方式或本发明可能采取的任何其他形式可以被称为技术。被描述为被配置成执行任务的诸如处理器或存储器之类的部件包括被临时配置成在给定时间执行任务的通用部件或被制造成执行任务的特定部件。一般来说,所公开的过程的步骤的顺序在本发明范围内可以被改变。
如在此提及的术语‘连接规划模块’表示包括在耦合到存储器的至少一个处理器上被执行的可执行代码的一个或多个相关模块。连接规划模块被配置成通过建立连接规划来解决连接协商问题。更具体来说,连接规划模块对对接过程中一个或多个对接方与一个或多个固定对接环境的“有效负荷”连接进行预规划,其中有效负荷连接被用于与对接环境中的外围功能进行交互。连接规划模块通过平衡参与对接过程的所有各方的需求和能力,来计算既是最优或近似最优的又是可实现的通信路径的集合。
如在此提及的术语‘连接协商’是指其中将在对接方和一个或多个对接主机之间将构建连接的系统。对接方和对接主机共同被称为设备,它们可能首次相互遭遇。
示例性应用环境
现在参照图1,示出了多个便携设备(例如,移动电话、膝上型计算机,等等),其在此通常被称为无线对接方,无线对接方“A”120、无线对接方“B”122、无线对接方“C”123、无线对接方“D”124。本发明的一个目的是找到用于无线对接方中的一个或多个与一个或多个无线对接主机(比如无线对接主机121)之间的有效负荷连接的最优或近似最优设置。
在连接协商过程中,无线对接系统中的各方进行通信并就用于有效负荷连接的最优或近似最优设置达成一致以支持应用软件与对接方和外围功能硬件之间的交互。更一般地说,有效负荷连接是通信路径的示例。通信路径是有效负荷连接的一般化,因为它包括无线对接范围之外的连接,例如两个应用程序之间的连接。通信路径能够描述应用和外围设备之间的连接。
现在参照图2,示出了作为由图5的连接规划模块550管理和执行的连接协商过程的结果而被创建的通信路径500。通信路径500由第一和第二相应的端点502、504组成。第一端点502与无线对接方“A”120的应用软件程序422相关联,并且第二端点504与屏幕硬件423相关联,该屏幕硬件423与无线对接主机121相关联。通信路径遍历五个系统元件,包括设备驱动器411、网络IF 413、无线网络415、网络IF 414和设备驱动器412。
通信路径500实现了应用软件程序422与屏幕硬件423之间的双向数据流动。将在这两个设备之间通信的数据还可以例如通过无损或有损(视频)压缩、由通信路径中的一个或多个系统元件(诸如,例如,与对接方A 120相关联的设备驱动器411)来变换。通信路径500作为由连接规划模块550(未示出,参见图5)执行的计算的结果通过连接规划模块550创建的连接规划而被建立,并因而满足连接规划模块550创建的连接规划。
无线对接设想:作为连接规划模块550的输出的结果,像415那样的网络最常见的将是被特别建立以优化通信的基于Wifi直连的网络。类似地,本发明还设想:像设备驱动器412、网络IF 414、网络IF 413那样的系统元件可以被特别配置以建立由连接规划模块550规划的路径。在一些实施例中,除了建立路径之外,作为由连接规划模块550计算的结果,可以创建一个或多个新的WIFI直连网络。
根据本发明,通信路径端点对的每一个端点典型地位于不同设备中。举例来说,参照图2,通信对端点位于无线对接方“A”120中的应用软件模块422和无线对接主机121中的屏幕硬件模块423的边缘处。这些端点需要经由通信路径(诸如通信路径500)而被连接,其中每个通信路径典型地包括至少一个网络连接,比如图4中所示的网络415。
典型的网络连接可以是例如在特定信道上经由WiFi网络的无线连接,或者有线连接。通信路径典型地包括诸如设备驱动器411、412之类的设备驱动器。当与特定无线网络连接一起使用时,设备驱动器有时可以被特别选择成最优的。举例来说,实现驱动器在更低级别传输协议之上的更高级别的设备访问协议的设备驱动器。另外,通信路径可选地使用一个设备来在位于两个其他设备中的端点之间进行中继。
给定通信系统中的设备的能力和约束,连接规划模块550计算既是最优或近似最优的又是可实现的通信路径的集合。可以使用下面将被更充分描述的编码方案来编码通信系统中每个设备的能力和约束。在优选实施例中,该编码方案具有性质:每个单独设备的能力和约束可以被独立地编码为设备特定的信息包。编码可以在设备正被创建时在设备设计时或在工厂完成,、或者由包含在该设备内的专门代码来完成。可选地,设备之间的无线介质的性质和/或使用约束还可以使用该编码方案而被编码为信息包。
连接规划模块550提供各种能力,包括但不限于组合系统中所有设备的设备特定的信息包、关于要被配对的系统元件的端点的信息、可选地关于无线介质的信息和用于计算通信路径的附加的可选信息。
典型地,连接规划模块550在系统中的设备中的一个内的处理器上运行。在一些实施例中,构思使用连接规划模块550的分布式实现方式。
将设备特定的信息包构建为连接规划模块550的一个输入预先假定:已经建立了设备中的监督模块之间的通信。连接规划模块550规划‘有效负荷’连接以支持与外围功能进行交互,并且不建立依照发现和握手协议的设备之间的初始通信。
在各个实施例中,假设没有要求连接规划模块550 位于特定设备中,则连接规划模块550可以位于通信系统中的设备中的任意一个中。
在连接协商过程中,在优选实施例中,无线对接方承担托管并运行连接规划模块550的角色以用于确定对接方与对接主机之间的通信路由规划。在其他实施例中,对接主机可以承担托管并运行连接规划模块550的角色。在图5中通过示例示出这些不同实施例。举例来说,图5a图示了承担运行连接规划模块550的角色的无线对接方,而在图5b中,无线对接主机承担托管连接规划模块550的角色。
在一个实施例中,实现无线对接标准的所有设备可以包括以下能力:运行连接规划模块550并且为每个新的会话共同决定通信系统中的哪一个特定设备将运行连接规划模块550。
关于由连接规划模块550计算的通信路径的信息被从托管连接规划模块550的设备传送到参与连接协商的每个设备。每个设备使用该信息来实现其对于所计算的通信路径的贡献,并建立设备之间的任何要求的网络连接。
如前所述,连接规划模块550计算位于不同通信系统设备(例如,如图2和4中所示的无线对接方“A”120和无线对接主机121)中的端点对之间的通信路径的最优或近似最优的集合的表示。如下面描述的,连接规划模块550通过在块和接口数据元件上进行操作来计算端点对之间的通信路径的最优或近似最优的集合。
接口数据元件
接口数据元件(在此有时被称为‘接口’)是沿着诸如通信路径500之类的通信路径的实际单个接口点的表示或模型。在一些实施例中,接口数据元件可以担任多于一个的表示角色。在一个角色中,接口数据元件可以表示或模拟沿着通信路径的实际单个接口点。在不同的角色中,接口数据元件可以被用于以不直接对应于沿着通信路径的单个接口点的方式来编码通信系统中的设备的设备能力或约束。
在其他实施例中,接口数据元件可以被用于担任单个独有角色以表示或模拟单个接口点。在这些实施例中,创建附加的数据元件类型以编码设备能力或约束。
在一个实施例中,接口数据元件可以被编码为ASCII字符串。举例来说,图4图示了位于对接方420中的461、463和位于对接主机421中的462、464四个接口,及其相关联的接口数据元件,该些接口数据元件表示它们,并被编码为在椭圆形451、452、453和454内示出的ASCII字符串。所描绘的ASCII字符串对接口数据元件的性质进行编码。性质可以包括例如接口表示沿着哪一种通信路径的哪一种点。在优选实施例中,只有与连接规划的目的相关的性质被编码。对接口(数据元件)的性质进行编码的ASCII字符串因此可以被视为对系统元件能力和约束进行编码的模型的元件,使得该模型可以由连接规划模块550操作来生成涉及系统元件的可实现的最优或近似最优的通信路径。
根据本发明的有益方面,编码方案有几分灵活性。即,不同的实施例可以选择不同的编码方案,而无需改变连接规划模块550。
在一个实施例中,接口数据元件的集合是所有ASCII字符串的集合。如果来自该集合的两个接口数据元件的表示是同ASCII字符串,则它们被认为是等同的,其中等同关系是字符串等同。在其他实施例中,可以使用更复杂的等同性测试来确定两个接口数据元件是否至少基本相似。基本的相似性在此被定义为两个接口元件表示沿着可能的通信路径的同一点。在特定实施例中被用于接口数据元件的编码方案典型地不具有以下性质:每个可能的ASCII字符串表示接口的有效或有意义的编码。
通信路径的端点总是由接口数据元件表示。因此,要由连接规划模块550计算的通信路径的集合被指定为表示要连接的端点的接口数据元件对的集合。再次参照图2,通信路径500的边缘包括作为可由接口数据元件表示的接口的端点502、504。参照图4,接口数据元件451和452表示分别由接口461和462指示或者可替换地由元件422和423的边缘指示的通信路径端点。
块数据元件
第二类型的数据元件(有时在此被称为“块”数据元件)被用于表示或模拟通信系统元件,诸如,例如图2的设备驱动器411或图2的网络IF 414。名称“块”源自于系统图和协议栈图中典型地用于表示设备或模块或其他系统元件的形状。一般来说,系统元件是参与实际通信路径的实现的真实世界对象。本发明还将‘无线网络频谱’构思为真实世界对象。
再次参照图2,通信系统元件411、412、413、414和415由块数据元件模拟。然而,在通信路径的端点处的图2中所示的某些对象(诸如,例如设备420和屏幕硬件423)并不由块数据元件表示或模拟,因此在此不被称为系统元件。在优选实施例中,提供关于进入连接规划器中的期望的(各)通信路径的端点的输入,作为接口数据元件(例如图4中的451和452)的集合。在可替换实施例中,作为替代,该输入可能被给定为表示图4中的元件422和423的块数据元件,这些块数据元件中的每一个都具有与其相关联的接口,对于第一个元件是451,并且对于第二个元件是452。
应当理解,通信系统的通信系统元件与模拟该通信系统的系统元件的协商系统的块数据元件之间并不总是具有一一对应。在“简单”情况下,系统元件确实与正好一个块数据元件具有一一对应。然而,在“非简单”情况下,单个系统元件由许多块数据元件表示。在这种情况下,每个块数据元件不仅仅表示系统元件,而是表示已应用了某个特定配置的系统元件,该配置确保系统元件在实现通信路径的一部分时执行某个功能。该许多块数据元件在这种情况下全部表示同一系统元件,但是每个块在其所表示的配置设置方面都不相同。举例来说,在“非简单”情况下,单个块表示‘配置的系统元件’,即,具有已经向其应用了的一些配置数据的系统元件。应当注意,像网络接口那样的复杂系统元件可能能够同时执行配置数据的若干集合,例如建立到第一设备的网络连接的第一配置数据集合和并发地建立到第二设备的网络连接的第二配置数据集合。系统元件的这两个不同配置(数据集合)中的每一个都可以由两个不同块数据元件表示。
术语“块数据元件”可以包括像设备、(软件)模块和(某些情况下)网络云415那样的系统元件的表示。元数据典型地与块数据元素相关联,用于描述块的类型。举例来说,元数据云可以描述该块表示具有用于创建某些连接的设置的网络接口,或具有某些设置的设备驱动器,或具有某些性质的网络“云”。
块数据元件和接口数据元件的各种组合共同表示(可实现的、不可实现的和部分的)通信路径,连接规划模块550生成和分析该通信路径以标识那些可实现的通信路径。
块数据元件当被输入到连接规划模块550时最低限度地包括相关接口数据元件(有时在此被称为“块的接口”)的集合。块数据元件因此可以最低限度地表示为记录的集合,每条单个记录描述:1)与该块相关的特定接口数据元件,例如该记录可以通过包含对接口数据元件进行编码的ASCII字符串来描述该接口数据元件;和2)块数据元件与该特定接口数据元件之间的关系,例如通过该记录包含对关系的类型进行编码的整数。为了例示说明本发明的目的,通过使用数字(例如比方说“块数据元件数字7”)来引用块数据元件也是便利的。
现在参照图3a-3e,通过示例示出了如上描述的普遍可应用的接口数据元件和块数据元件。
首先参照图3a,示出了两个通信路径21、22,其可以在连接协商过程期间通过耦合各个通信系统部件(例如,如图2中所示的422、411、413、414、412、423)而基于连接规划模块550的输出来创建。
参照图3b,示出了接口数据元件1-6的集合,其中每个接口表示或模拟图3a的两个通信路径21、22中的一个上的唯一点。接口1-4被模拟为成对,其中每个接口对(1,4)和(2,3)表示通信路径的第一和第二端点,其中该路径的剩余部分将由连接规划模块550进行规划。举例来说,输入对(1,4)表示通信路径22的相应的端点。如图6所示,这两个端点对(1,4)和(2,3)作为到连接规划模块550的输入而被提供,作为第一输入,即,输入“A”。
连接规划模块550被配置成确定使用所提供的输入对(1,4)和(2,3)作为起点是否可以建立(可实现的)一个或多个通信路径。为了这样做,连接规划模块550必须计算可以如何使用和配置系统元件(诸如,例如元件411、412、413、414和415)以实现通信路径21、22。
图3b利用接口数据元件5和6进一步图示了,接口除了表示通信路径中的端点之外还能表示沿着通信路径的中间点。
现在参照图3c,通过利用块数据元件7-11取代由通信路径21、22更早前捕获的接口之间的关系,示出了对于图3a和3b的更抽象的描述。如前所讨论的,块数据元件表示或模拟被配置成实现两个或更多接口(即,沿着通信路径的两个或更多点)之间的连接的真实世界通信系统元件。在此绘出每个块数据元件,其相关联接口的相应集合被描绘为内部具有数字的椭圆。从上面的讨论回顾,块数据元件最低限度包括相关联的接口数据元件(有时在此被称为“块的接口”)的集合。
现在参照图3d,示出了对于图3c中所图示的块数据元件的可替换描述。图3d图示提供关于图3c中未示出的块的附加信息。该附加信息包括对于块所具有的与该块的所谓接口的关系的类型的描述。更具体来说,使用箭头术语,图3d进一步描述该块与其“接口集合”中的接口具有类型1还是类型2的关系。举例来说,远离接口指向的箭头(如此远离椭圆接口1-4而朝向矩形块7-10)描述该接口与该块之间的类型2的关系。又举一例,接口1与块7具有类型2的关系。指向接口的箭头(诸如从块7和8分别指向接口5和从块9和10分别指向接口6的箭头)描述该接口和该块之间为类型1的关系。
典型地,块和接口之间类型1的关系定义如下情况:该接口块/块对是经由该接口提供的通信服务的用户或“需求者”。块与接口之间类型2的关系定义如下情况:该块是经由该接口提供的通信服务的提供者或实现者。在图3d中,块11与两个接口5和6具有类型2的关系,而块7和9与接口5和6具有类型1的关系。块11可以表示在该两个接口5和6之间的IP分组路由的服务--块11提供该服务。块7和9可以是需要经由路由的IP分组进行相互通信的软件模块。以此方式,块7和9是由块11提供的服务的用户。
如前所讨论的,“块的接口”与“块”之间的关系可以具有至少两种类型,即,类型1的关系和类型2的关系。在优选实施例中,仅使用类型1和类型2的关系。其他实施例可以定义不同于类型1和类型2的关系的更多关系类型或子类型。
在关于接口的使用的其他情况下,两个块之间共享的接口可以模拟在系统中的同一协议层工作的两个块之间的客户端-服务器类型的关系。该客户端-服务器关系可以被模拟为接口,其中该关系的一侧与该接口具有类型1的关系,而另一侧与该接口具有类型2的关系。下面联系图4进一步解释这样的客户端-服务器关系的示例。
在其他实施例中,可以使用块与接口之间的附加关系(例如,类型3和类型4的关系)来指示客服端服务器关系。在其他实施例中,可以通过引入与接口数据元件不同的其他类型的数据元件来模拟客户端-服务器配对。
在一些实施例中,在块与特别选择的接口之间可以使用类型2的关系来对硬件或软件限制进行编码。在其他实施例中,代替使用类型2的关系,可以使用诸如类型5的关系之类的附加关系类型来模拟块与特别选择的接口之间的关系以对硬件或软件限制进行编码。
在优选实施例中,块数据元件还具有相关接口和与其相关联的关系类型之外的一些元数据。举例来说,以人类可读的形式描述其模拟的块或系统元件的元数据。可以使用与块相关联的其他元数据来支持对性能指标的计算,或相反,对将连接规划模块550的输出实现为真实连接做出贡献。
现在参照图3e,其图示了对于图3d中所示的块的集合的可替换描述。在图3e中,每个接口仅被绘出一次,以试图模仿协议栈图的外观和感觉。
连接规划模块输入/输出
现在参照图6,示出连接规划模块550具有两个输入以执行连接规划过程从而标识块数据元件的集合,该块数据元件被用于指明如何实现如例如图1和2中所示的一个或多个对接方与一个或多个对接主机之间的一个或多个可实现的通信路径。
在优选实施例中,连接规划模块550计算由块数据元件组成的输出Tx。该输出建立一个或多个可实现的通信路径,鉴于所考虑的通信系统中的设备的能力和约束,该通信路径既是最优或近似最优的又是可实现的。建立该一个或多个可实现的通信路径包括激活和配置由块Tx所表示的系统元件。
在所描述的实施例中,连接规划模块550被示出接收两个输入,被标记为“A”的第一输入,被标记为“B”的第二输入。第一输入“A”表示作为对而被提供的接口数据元素M的集合,其中每个对标识要由连接规划模块550实现的多个规划的通信路径的相应的第一和第二端点。举例来说,在无线对接的情况下,要由连接规划模块550实现的通信路径在对接过程中被标识为将对接方中的应用软件与该对接方希望对接的无线对接环境中存在的所有外围功能连接的路径。
如前所讨论的,连接规划模块550基于已知所规划的通信路径的起点和终点对通信路径进行规划。因此,接口数据元件M的对表示这些起点和终点。
被标记为“B”的被提供到连接规划模块550的第二输入表示除通信系统中任何无线和/或有线通信介质(例如,wifi网络)的能力和约束之外的该通信系统中的设备的能力和约束。第二输入“B”作为如上定义的块数据元件的集合B而被提供给通信规划模块550。
继续参照图6,被标记为“C”的连接规划模块550的输出是块数据元件的集合Tx,Tx为来自表示通信系统中的设备的能力和约束的集合“B”的块数据元件的输入集合的子集。该集合Tx表示‘连接规划’,从该‘连接规划’将创建由第一输入“A”描述的所有端点对之间的可行的候选通信路径的集合。该连接规划可以被用于实现该通信系统中的各个端点之间的真实世界连接。
有益的是,现在考虑连接规划模块550的输出Tx可以如何被协商系统用来创建实现由连接规划模块550选择的规划通信路径必需的连接。如上所描述的,块数据元件的输出集合Tx源自于输入集合“B”并且由块数据元件的集合B的子集组成。回顾,单个块数据元件表示通信系统中的系统元件,可选地与配置数据配对。该配置数据特别指导由块数据元件表示的系统元件(例如,硬件或软件通信系统元件)关于如何在特定接口之间进行连接。换句话说,块数据元件包括配置数据,该配置数据包括指导通信系统中的设备关于如何形成到通信系统中的其他系统元件的连接的特定信息。
使用元数据创建路径连接
在优选实施例中,除配置数据之外,每个块具有相关联的元数据以支持规划连接的创建。该元数据描述系统为激活通信系统中由块表示的实际系统元件所必须采取的动作。
图4通过示例示出连接规划模块550输出Tx 400,该Tx 400由许多块数据元件401-405组成,系统将从该数据元件401-405创建实际的通信路径。图4中示出五个块数据元件401-405以及它们相关联的接口数据元件451-456,根据图3d和3e中所描绘的方案,箭头示出接口数据元件与块数据元件之间的类型1和2的关系。Tx 401-405这五个块数据元件共同构成创建单个通信路径的规划,描述从与对接方420的对接方应用软件422相关联、来自输入“A”的集合“M”的第一端点502到与外围设备、对接主机421的屏幕硬件“Smain”423相关联、来自输入“A”的集合“M”的第二端点504的数据流。该单个通信路径在图2中也被示出为通信路径500。
该五个块数据元件Tx 401-405表示通信系统中的各个系统元件。每个块数据元件Tx 401-405将被更详细地描述如下。
块401表示对接方420中的设备驱动器411,其能够在IP连接上发送屏幕内容(例如,屏幕内容更新)。块401具有三个相关联的接口数据元件451、453和457。第一接口数据元件451表示操作系统接口461,从该操作系统接口461将获得由对接方中运行的应用软件所创建并且意在用于屏幕“Smain”423(主屏幕)的屏幕内容更新。第二接口数据元件453表示到实现IP连接的对接方子系统的接口463。将块401连接到块数据元件402的第三接口数据元件457表示对接方中的系统元件411与位于对接主机“b”中的412之间的客户端-服务器关系。
块401进一步包括可由对接方中的无线对接软件执行以创建设备驱动器411的、计算机可读指令形式的元数据。该元数据被用于将该设备驱动器配置成连接到接口461以获得用于“Smain”423的屏幕更新。该元数据进一步将驱动器411配置成通过IP网络连接到位于对接主机421中的设备驱动器412,其中该设备驱动器将其自身标识为与“Smain”423相关联。元数据指令可以例如使用XML语言表示为ASCII字符串,以使得在连接规划模块550未位于对接方自身的情况下,该指令能够通过网络连接被发送到对接方软件。
块数据元件402表示对接主机421中的设备驱动器412,其通过IP连接接收屏幕内容更新并随后将它们应用到真实的屏幕设备。
用于块402的元数据包括计算机可读指令,该计算机可读指令可由对接主机421中的无线对接软件执行以:创建上面所描述类型的设备驱动器412,将其配置成连接到如用于由对接主机中的操作系统提供的真实屏幕“Smain”423的接口462,并且进一步将其配置成当设备驱动器411请求与关联于“Smain”的设备驱动器相连接时,通过IP网络从位于对接方420中的设备驱动器411接受连接请求。
上面描述的元数据指令是必要的,但还不足以建立所需要的通信路径。上面描述的与块数据元件401、402有关的两个设备驱动器411、412假定:对接方420与对接主机421之间存在快速无线网络连接,通过该快速无线网络连接可以实现IP连接。然而,在无线对接中,这样的快速无线连接通常从一开始就不存在。相反,快速无线连接(典型地为WiFi直连)必须也由连接规划模块550进行规划。如连接规划模块550所规划的,图4的Tx中的其余块数据元件403、404和405表示在创建对接方420与对接主机421之间的快速网络连接时涉及的系统元件。
块数据元件403表示对接方420中的WiFi网络接口硬件413,该WiFi网络接口硬件被配置成在802.11n模式中通过5GHz信道工作,并且进一步被配置成连接到由对接主机421中的接口硬件414托管的WiFi直连网络415。
用于块403的元数据包括可由对接方中的无线对接软件执行的计算机可读指令,以激活所标识的wifi网络硬件413并将其配置成在所描述的模式中工作并且进一步将其配置成经由WiFi直连网络415连接到对接主机421。
块数据元件404表示对接主机421中的对应WiFi硬件414,该WiFi硬件414被配置成创建WiFi直连网络415,并且接受来自对接方的连接。块数据元件404包含可由对接主机421执行以相应地配置414的计算机可读指令。
块数据元件405表示5GHz波段的WiFi频谱,其能够在该两个WiFi接口之间传输无线电分组。该块在连接规划模块550的输入中的存在指明对接方420和对接主机421处在彼此的5GHz WiFi范围内。该块不具有含有计算机可读指令的任何元数据,因为频谱已经存在,并且不需要被创建、激活或配置以支持网络415。
应当理解,用于由连接规划模块550创建通信路径的方法不依赖于Tx中被单独表示的每个通信路径。相反,如果需要,块元数据中全部指令的执行使得当该执行过程以逐块为基础工作时多个通信路径全部被创建。
在一些实施例中,设置系统元件的指令的一些或全部不会被包含在元数据中,而作为替代,将通过一些自动的过程全部或部分地从接口名称中导出。
在一些实施例中,将元数据还包括在每个块中可能是有利的,该元数据将导致系统把一定的顺序应用于不同块的元数据中包含的指令的执行。举例来说,整数值‘实例化的顺序’的元数据元件可以利用每个块编码,并且设备中的软件可以被设置,成使得具有最低实例化顺序的块的指令被首先执行。
继续参照图4,示例性的实例化顺序可以如下:块404,然后是块403,然后是块402,然后是块401。该实例化顺序确保需要发起到对应系统元件的连接的系统元件通常将找到准备并愿意接受该连接的它们的对应方。尽管这样的示例性顺序或实例化优化可能是有益的,但这不是绝对必要的,只要系统元件在它们最初失败的情况下被配置成重新尝试建立连接。
连接规划细节
如上所讨论的,连接规划模块550创建在图6中被标记为C的输出,该输出包括来自其相应输入的作为‘连接规划’的集合Tx,该集合Tx包括在图6中被标记为A的表示端点对的集合M的第一输入和在图6中被标记为B的表示块数据元件的集合B的第二输入。连接规划模块550的输出Tx总是输入B的子集,其中B是共同描述系统的全部能力和约束的全部可用块的集合。连接规划Tx必须满足一些约束以可实现并因而表示B的子集。当根据它们的元数据中的计算机可读指令而被“激活”时,构成Tx的块数据元件必须实际地创建由输入A定义的通信路径端点(即,端点对的集合M)之间的通信路径的集合中的所有中间段。除了满足一定的其他约束之外,Tx中所有块一起的激活也应当是可行的,这些块在此被限定为Tx中的两个块,其可以不表示用于某个系统元件的互斥的配置。
连接规划在一个方面可以被视为搜索过程,其中探寻作为输入B的块数据元件的集合的不同候选子集以找到B的块数据元件的子集,其在此被称为最佳地满足多个准则的可实现的连接规划Tx。为了使连接规划模块550检验这些准则以确定该连接规划Tx是否是可实现的,该准则必须就代表性块、其相关联的接口数据元件和元数据而言是可计算的。
在优选实施例中,连接规划模块550使用四个准则来标识可实现的连接规划Tx,该连接规划Tx由来自输入集合B的块的特定子集构成。其他实施例可以使用更多或更少或不同的准则。
第一准则
为了标识可实现的连接规划Tx,要满足的第一准则包括:标识包含在输入“A”中或者相反与所考虑的输出集合“Tx”中的至少一个块数据元件具有类型1的关系的那些接口数据元件,并且进一步确定所标识的接口数据元件中的每一个都与“Tx”的至少一个块数据元件具有类型2的关系。
第二准则
要满足的第二准则包括:首先标识“Tx”中的任何特定块数据元件是否与特定接口数据元件具有类型2的关系,并且当满足该第一个标识时,确定所标识的块数据元件是否为“Tx”中与该特定接口数据元件具有类型2的关系的唯一块数据元件。
第三准则
满足第三准则包括:确定不可能从“Tx”中移除一个或多个块而得到仍然满足第一准则的“Tx-”。
在某些实施例中可以省略第三准则。第三准则防止以下情况:连接规划器输出具有多余块(即,为了根据第一输入来实现通信路径所不必要包括的块)的Tx。多余块的示例将是表示网络接口的多余配置(例如允许该接口将分组发送到为建立通信路径而从不需要被发送到的地方的配置)的块。
第四准则
第四准则涉及选择最优的连接规划,即具有最高性能指标的那一个连接规划。可以以两种方式之一来实现第四准则。
实现第四准则的一个方法包括:从满足第一到第三准则的B的所有子集“T1, T2,…, Tn”中,确定“Tx”为具有最高性能指标的那一个,其中集合的性能指标部分地根据利用该集合中的块编码的元数据信息来计算。
实现第四准则的另一方法包括:从满足连接规划器迄今已考虑的第一到第三准则的B的那些可替换子集“T1、T2、…Tn”中,确定“Tx”为具有最高性能指标的那一个,其中集合的性能指标部分地根据利用该集合中的块编码的元数据信息来计算。
第四准则确保最优的Tx被找到,该最优Tx最佳地优化根据已使用的性能指标而实现的连接规划的性能。在优选实施例中,通过使用附加到Tx中的块的元数据来计算上面讨论的实现方式的任一方法中的性能指标。对于性能指标的更完整的讨论,参见通过整体引用合并于此的序号为61/607,114的临时申请的第22节。
根据第四准则的第一实现方式,保证找到最优的Tx。根据第四准则的第二实现方式,典型地与在使用第一版本时相比,可以在更少的时间内找到近似最优的Tx。
应当注意,对于输入集合B,可能需要由连接规划器检查的可能的子集Tx的数目以2Size_of_B呈指数方式增长。本领域技术人员将认识到,使用第四准则的第一版本找到满足上面描述的第四准则的Tx的计算属于NP-完全问题类。如处理NP-完全问题方面的实践者所公知的,当问题的规模变得如此大以致于无法在合理计算时间内找到保证最佳的解Tx时,可以放松某些准则以标识可实现的非理想解。举例来说,第四准则的第二版本是第一版本的放松版本,其允许连接规划器在合理的时间量内停止搜索。
原型算法实现
在原型实现方式时,连接规划模块550首先生成满足第一到第三准则的所有集合T1、T2、…Tn,并随后应用第四准则的第一版本或实现方式以选择可实现的且最优的连接规划Tx。
为了生成所有集合T1、T2、…Tn,使用递归(回溯)算法,该算法通过从空集开始并递归地将某些块添加到其中来(潜在地)访问B的所有子集。举例来说,如果块X与E中“缺失”的接口I具有类型2的关系,并且如果在迭代中执行递归步骤之后E+X仍然满足准则2,则该块X仅仅被递归地添加到块E的现有集合中。如果Y中还没有块与接口I具有类型2的关系,而同时I在M中,或者E中有块与接口I具有类型1的关系,则确定接口I在E中“缺失”。如果得到的集合E+X满足准则1(意味着它不再具有“缺失”接口),则它被添加到集合T1、T2、…Tn,并且不对E+X进行进一步的递归--进一步递归的这种省略意味着T1、T2、…Tn中的每个集合自动地满足准则3。
应当理解,上面描述的原型实现方式仅仅是可以从用于求解或逼近与本发明相关的NP-完全问题的解的许多公知算法实现方式中选择的一种算法实现方式。
连接规划器输入及其与四个准则的关系
再次参照图4,其图示了协商系统的两个块数据元件401和403,其分别表示通信系统中两个对应和相邻的系统元件411和413。块数据元件401、403都与接口数据元件453有关系,该接口数据元件453表示两个通信系统元件411和413之间的真实世界连接463。如上所描述的,作为对于块(其作为一个输入B被提供到连接规划模块)的准备,当使用前在预备编码阶段期间对块进行编码时,如果特定块(例如块403)表示实现通过连接463而被访问的服务的系统元件,则块403与块453之间的关系被定义为类型2的关系。如果另一个块(例如,块401)表示使用通过连接463而被访问的服务的系统元件,则块401与块453之间的关系被定义为类型1的关系。
基于到连接规划模块的第一和第二输入,块数据元件的集合B的子集Tx必须满足以声明该子集Tx可实现的第一准则的应用要求:表示使用服务的系统元件的块无论在何时存在,都必须有对应的块存在,该块表示提供该服务的系统元件。块401(其为Tx的元件)使用服务。因此,为了满足第一准则,块403必须在Tx中存在以将服务提供或实现到块401,从而为接口453提供所需的类型2的关系。即,块403提供或实现由该接口所描述的系统功能。
此外,第一准则还确保必须由Tx中的块提供的输入集合M(其为到连接规划模块的输入中的一个)中存在的所有接口。连接规划模块的正确工作要求使用用于将能力和约束编码到组成输入集合B的块中的指南。换句话说,每当由来自集合B的块表示的系统元件需要经由B中的其他系统元件的接口提供的附加服务时,这些附加服务必须被编码为该块的类型1的接口。提供这样的服务的块必须将它们编码为类型2的接口。
对于表示块(该块表示通信系统中的非相邻系统元件)之间的客户端-服务器关系的那些接口来说,第一准则能够确保对于连接规划中的每个客户端都有满足第一准则并且作为输出的服务器。为确保这一点,要求使用用于将能力和约束编码到块中的指南。该指南为:每当由两个块表示的系统元件之间存在客户端-服务器关系时,当对输入B中的该块进行编码时表示该关系的接口数据元件应当被放置于它们之间,该接口与块中的一个之间为类型1的关系,并且该接口和另一个块之间为类型2的关系。
第二准则确保连接规划模块550输出的通信路径是无歧义的。该第二准则保证单个特定接口将仅由单个块实现或提供,并且客户端将仅有单个服务器要连接。如果省略第二准则,那么可能需要对Tx(连接规划模块550的输出)执行后处理步骤,以便消除一些歧义,尤其是告知系统元件建立到特定对应方的连接的配置信息中的歧义。
第二准则的执行具有进一步的优点:块数据元件的创作者可以利用它来不仅对系统能力而且还对约束进行编码。回顾一下,块能够表示已经被应用了一定的配置数据的系统元件。如果有两个互斥的方式来配置系统元件,则优选的方法是通过创建两个块数据元件而不是一个来表示该系统元件,以表示该系统元件的互斥的配置,由此两个块数据元件与单个给定接口都具有类型2的关系。块数据元件的创作者随后可以放置这两个在输入B中具有不同配置的块数据元件,预期连接规划模块将应用第二准则,从而有效地防止连接规划模块550将两个块数据元件包括在同一输出连接规划Tx中,因为将两个块数据元件包括在Tx中将不能满足第二准则。
用于对约束进行编码的类型2的接口不一定需要是在输入集合M中出现的接口,或者作为任何其他块中的类型1的关系接口。作为这个的示例,参见序号为61/607,114的临时申请的第20节,该临时申请通过整体引用合并于此。
注意第二准则并不是方便按照块来对系统约束进行编码的唯一可行方式。本发明还构思可替换的手段。举例来说,可以引入第三接口类型(例如,接口类型3),以及着眼于类型3接口而非类型2接口的唯一性的修改的第二准则,使得对于每个接口,Tx中仅单个块与该接口可能具有类型3的关系。
在一个实施例中,连接规划模块550可以省略第二准则并且作为替代计算具有尽可能多的冗余分支的通信路径的集合。此处,任何得到的包含用于建立连接的两个可替代的选择形式的冗余分支的输出Tx解都可以通过使用算法来解出,当路径被首先实现时该算法沿着一个优选分支做出选择,但是每当通信失败在第一分支上发生时就切换到另一个分支。在这个实现方式中,连接规划模块550省略第二准则并利用不同准则来取代它以实现对系统约束的编码。
在优选实施例中,接口被表示为ASCII字符串并且上面概述的准则1-4在ASCII字符串之间使用等同性测试以及针对类型1和2的关系的测试,以做出它们的确定。应当理解,在接口名称之间使用放松的等同性测试,例如,‘匹配’测试而非等同性测试。举例来说,可以使用的一个匹配测试是忽略大写字母/小写字母的ASCII字符匹配测试。在一些实施例中,接口类型关系(诸如类型1或类型2的关系)可能被编码在接口名称内,匹配规则和准则相应地被修改。
应当理解,本发明使用块和接口的编码系统为其用户提供了有意义的开放式自由。本发明不要求提供精确描述来描述应如何将设备的能力和约束编码到块中。这个不精确性构成了优势,因为它允许系统通过采用可以添加新的编码的开放式编码方案(如例如在通过整体引用合并于此的序号为61/607,114的临时申请的第26节中所公开的)来处理新型的创新性系统架构。通过整体引用合并于此的序号为61/607,114的临时申请的第17-19节公开了适于对用于公知类型的系统元件的块数据元件和相关联的接口数据元件进行编码的特定编码方案。
本发明具有进一步的优点:像“设备驱动器”和“网络接口”那样的传统系统架构概念(它们的边界为被充分理解的操作系统接口和/或协议栈层边界)简洁地映射到系统元件和块中。背离常规系统架构,单个设备内部的边界也可以被灵活地编码,而不影响表示另一个设备的能力和约束的块如何编码。
传统接口的过载(例如使用IP分组递送接口,该接口还将一些额外的实时性能保证提供给专门的设备驱动器,如在例如用于支持HDMI和USB类型功能的WiGig绑定中所设想的)也可以被编码。这在序号为61/607,114的临时申请的第18节中被例示说明。
本发明的一个新颖的特征涉及使用块来表示设备之间的无线介质的能力的方式。对于更详细的讨论,参见序号为61/607,114的临时申请的第18节。
图7描绘了对于计算机系统700形式的机器的说明性图表表示,在该机器中,一组指令在被执行时可以使得该机器执行上面讨论的方法中的任意一个或多个。在一些实施例中,该机器作为单机设备运行。在一些实施例中,该机器可以(使用网络)被连接到其他机器。在网络化部署中,该机器可以以客户端-服务器用户网络环境中的服务器或客户端用户机器的能力运行,或者作为对等(或分布式)网络环境中的对等机器运行。
该机器可以包括服务器计算机、客户端用户计算机、个人计算机(PC)、平板PC、膝上型计算机、桌面型计算机、控制系统、网络路由器、开关或桥、个人数字助理(PDA)、智能电话、手持PC、蜂窝电话和MP3播放器,或者能够执行指定要由该机器采取的动作的一组指令(顺序的或相反)的任何机器。应当理解,本公开的设备宽泛地包括提供语音、视频或数据通信的任何电子设备。进一步地,当例示说明单个机器时,术语“机器”还应当认为包括单独或联合执行一组(或多组)指令以执行在此讨论的方法中的任意一个或多个的机器的任何集合。
计算机系统700可以包括处理器702(诸如中央处理单元CPU)、图形处理单元(GPU,或两者)、主存储器704和静态存储器706,它们经由总线708相互进行通信。计算机系统700可以进一步包括视频显示单元710(诸如液晶显示器(LCD))、平面板、固态显示器或阴极射线管(CRT)。计算机系统700可以包括输入设备712(诸如键盘)、光标控制设备714(诸如鼠标)、盘驱动单元716、信号生成设备718(诸如扬声器或遥控器)和网络接口设备720。
盘驱动单元716可以包括计算机可读介质722,其上存储一组或多组指令(诸如软件724),该指令体现在此描述的方法或功能中的任何一个或多个,包括上面例示说明的那些方法。指令724在其被计算机系统700执行期间也可以完全或至少部分地驻留在主存储器704、静态存储器706中和/或处理器702中。主存储器704和处理器702还可以构成计算机可读介质。指令组(诸如软件724)在被计算机系统700执行期间还可以完全或至少部分地驻留在主存储器704、静态存储器706中和/或处理器702中。主存储器704和处理器702还可以构成计算机可读介质。
专用硬件实现方式包括但不限于专用集成电路、可编程逻辑阵列和能够类似地被构建成实现在此描述的方法的其他硬件设备。可以包括各个实施例的装置和系统的应用宽泛地包括各种各样的电子和计算机系统。一些实施例在两个或更多特定互连的硬件模块或设备中实现功能,其中相关的控制和数据信号在该模块之间且通过该模块被传送,或者将功能实现为专用集成电路的一部分。因此,示例系统适用于软件、固件和硬件实现方式。
根据本公开的各个实施例,在此描述的方法旨在用于当软件程序在计算机处理器上运行时的操作。此外,软件实现方式可以包括但不限于分布式处理或部件/对象分布式处理、并行处理,或者也可以构建虚拟机处理以实现在此描述的方法。
本公开构思包含指令724的机器可读介质,或者接收和执行来自传播信号的指令724以便连接到网络环境726的设备能够发送或接收语音、视频或数据,并且使用指令724通过网络726进行通信的事物。指令724可以进一步经由网络接口设备720通过网络726被传输或接收。
虽然在示例实施例中计算机可读介质722被示出为单个介质,但是术语“计算机可读介质”应当被认为包括存储一组或多组指令的单个介质或多个介质(诸如集中式或分布式数据库,和/或相关联的高速缓存和服务器)。术语“计算机可读介质”还应当被认为包括能够存储、编码或携带用于由机器执行的一组指令并且使得该机器执行本公开的方法中的任意一个或多个的任何介质。
因此,术语“计算机可读介质”应当被认为包括但不限于:固态存储器,诸如存储卡或容纳一个或多个只读(非易失性)存储器的其他封装、随机存取存储器,或其他可重写(易失性)存储器;磁光式或光学介质,诸如盘或磁带;和/或电子邮件或其他自包含信息存档的数字文件附件或者存档的集合被认为是等同于有形存储介质的分发介质。因此,本公开被认为包括如在此列举的且包括技术上认可的等同物和后继介质的计算机可读介质或分发介质中的任意一个或多个,其中存储了此处的软件实现方式。
尽管本说明书参考特定标准和协议描述在实施例中实现的部件和功能,但是本公开不限于这样的标准和协议。用于因特网和其他分组交换网络传输的标准(诸如TCP/IP、UDP/IP、HTML、HTTP)中的每一个都表示本领域最新发展水平的示例。这样的标准被具有基本上相同功能的更快或更高效的等同物周期性地代替。因此,具有相同功能的替代标准和协议被认为是等同物。
在此描述的实施例的例示说明旨在提供对于各个实施例的结构的总体理解,它们不旨在充当可能利用在此描述的结构的装置和系统的所有元件和特征的完整描述。本领域技术人员在审阅上面的描述后,许多其他的实施例将是显而易见的。其他的实施例可以被使用或者被从中导出,使得可以做出结构和逻辑上的取代和改变而不偏离本公开的范围。附图也仅仅是表示性的并且可能没有按比例绘制。其某些比例可能被夸大,而其余比例可能被最小化。因此,说明书和附图应在说明性的而非限制性的意义下看待。
本发明主题的这样的实施例仅为了方便起见可以在此单独和/或共同地由术语“发明”来指代,并且如果事实上公开了多于一个发明或发明概念,不旨在自愿将本申请的范围限制于任何单个发明或发明概念。因此,尽管在此已经例示说明和描述了特定的实施例,但是应当理解,被计算用来达到相同目的的任何布置可以取代所示的特定实施例。本公开旨在覆盖对于各个实施例的任何和所有改动或变型。本领域技术人员在审阅上面的描述后,上面的实施例的组合和在此未被特别描述的其他实施例将是显而易见的。
本领域技术人员在实践所要求保护的发明时,通过研究附图、公开内容和所附的权利要求书,能够理解和实施对于所公开的实施例的其他变型。在权利要求中,词语“包括”不排除其他元件或步骤,并且不定冠词“一”不排除多个。单个处理器或其他单元可以完成权利要求中记载的若干项目的功能。在相互不同的从属权利要求中记载了某些措施的仅有事实并不表明这些措施的组合不能被用于获益。

Claims (14)

1.一种在对接方(420)与一个或多个对接主机(421)之间的对接过程中使用的连接协商系统(550),该连接协商系统被设置用于在位于通信系统的设备中的一对或多对端点之间建立一个或多个通信路径,其中所述通信系统包括:包括对接方(420)和所述一个或多个对接主机(421)的两个或更多设备(420,421)、位于所述两个或更多设备之间的至少一个通信介质(415)、能够被用于实现要建立的所述一个或多个通信路径的一部分的多个系统元件、表示以下各项之一的多个接口数据元件:(a)系统元件之间的连接点;(b)系统元件与要建立的所述一个或多个通信路径的端点之间的连接点,
其中所述连接协商系统(550)包括至少一个处理器,其可操作来:
a) 作为第一处理器输入,接收要建立的所述一个或多个通信路径的一对或多对端点,所述端点位于所述通信系统的设备中,其中每个端点由所述多个接口数据元件(451-456)中的一个表示;
b) 作为第二处理器输入,接收对所述至少两个设备和可选地所述通信介质的能力和约束的描述,其中所述能力和约束由块数据元件(401-405)的集合B定义,其中块数据元件的所述集合B中的块数据元件由表示以下各项的数据组成:(a)被配置成施行某个通信任务的单个系统元件,或者(b)不能被配置的单个系统元件,或者(c)总是以相同的方式被配置而不管其支持的所述一个或多个通信路径如何的单个系统元件,
c) 基于所述第一处理器输入和第二处理器输入找到满足至少第一准则的块数据元件(401-405)的所述集合B的子集Tx,以及
d) 作为代表所述通信系统中要建立的所述一个或多个通信路径(500)的连接规划(400)而输出子集Tx,
e) 通过至少配置由所述子集Tx指定的一个或多个系统元件以在所述通信系统中建立所述一个或多个通信路径来执行所述连接规划。
2.根据权利要求1所述的连接协商系统(550),其中系统元件是以下各项之一:与所述两个或更多设备中的一个相关联的元件、与所述至少一个通信介质相关联的元件、与所述两个或更多设备中的一个相关联的元件和所述至少一个通信介质。
3.根据权利要求1所述的连接协商系统(550),其中所述集合B中的每一个块数据元件进一步包括标识从所述通信系统中的所述多个接口数据元件中选择的一个或多个接口数据元件的数据,其中标识所述接口数据元件的所述数据与所述块数据元件具有关系,并且所述数据进一步为每一个接口数据元件对所述接口数据元件和所述块数据元件之间的关系的类型进行编码,其中所述类型的关系包括将块数据元件定义为经由接口数据元件提供的通信服务的用户的类型1的关系或将块数据元件定义为经由所述接口数据元件提供的所述通信服务的提供者的类型2的关系中的一个。
4.根据权利要求3所述的连接协商系统(550),其中所述子集Tx必须满足的所述第一准则包括:
标识包含在所述第一处理器输入中或与Tx中的至少一个块数据元件具有类型1的关系的那些接口数据元件,以及
确定所标识的接口数据元件中的每一个与至少一个接口数据元件相同或基本相似,所述至少一个接口数据元件与Tx的至少一个块数据元件具有类型2的关系,其中两个接口数据元件之间基本相似被定义为这两个接口数据元件表示沿着可能的通信路径的同一点。
5.根据权利要求3所述的连接协商系统(550),其中所述通信系统和所述连接协商系统满足一定的特性,所述特性包括:
I.在所述通信系统中:
第二系统元件将所需的服务提供给第一系统元件,
II.在所述连接协商系统中:
a) 块数据元件的所述集合B包括至少第一块数据元件,和第二块数据元件,
b) 所述第一块数据元件表示所述通信系统中的所述第一系统元件,并且所述第二块数据元件表示所述通信系统中的所述第二系统元件,以及
c) 所述第一和第二块数据元件与单个接口数据元件具有相应的类型1和类型2的关系。
6.根据权利要求1所述的连接协商系统(550),
I. 其中在所述通信系统中:系统元件可以在第一配置中被配置成执行第一通信任务并且还可以在第二配置中被配置成执行第二通信任务,其中所述系统元件具有限制,因为所述第一和第二通信任务不能由所述系统元件同时执行,以及
II. 其中在所述连接协商系统中:块数据元件的所述集合B中的第一块数据元件表示所述第一配置中的系统元件,并且第二块数据元件表示所述第二配置中的系统元件。
7.根据权利要求1所述的连接协商系统(550),其中配置由所述子集Tx指定的所述一个或多个系统元件来在所述通信系统中建立所述一个或多个通信路径进一步包括:执行与Tx中的某些块数据元件相关联的计算机可读指令以实施所述一个或多个系统元件的配置。
8.一种托管根据权利要求1的连接协商系统(550)的对接方(420)或对接主机(421)。
9.如权利要求1中限定的通信系统,所述通信系统包括根据权利要求1的连接协商系统(550)。
10.一种用于在对接方与一个或多个对接主机之间的对接过程中在位于通信系统的设备中的一对或多对端点之间建立一个或多个通信路径的方法,该通信系统包括:包括所述对接方和一个或多个对接主机的两个或更多设备、位于所述两个或更多设备之间的至少一个通信介质、能够被用于实现要建立的所述一个或多个通信路径的一部分的多个系统元件、表示以下各项的多个接口数据元件:(a)系统元件之间的连接点和(b)系统元件与要建立的通信路径的端点之间的连接点,所述方法包括:
a)作为第一输入,接收要建立的所述一个或多个通信路径的所述一对或多对端点,所述端点位于所述通信系统的设备中,其中每个端点由所述多个接口数据元件中的一个表示;
b)作为第二输入,接收对所述至少两个设备和可选地所述通信介质的能力和约束的描述,其中所述能力和约束由块数据元件的集合B定义,其中块数据元件的所述集合B中的块数据元件由表示以下各项的数据组成:(a)被配置成执行某个通信任务的单个系统元件,或者(b)不能被配置的单个系统元件,或者(c)总是以相同的方式被配置而不管其支持的所述一个或多个通信路径如何的单个系统元件,
c)基于所述第一输入和所述第二输入找到满足至少第一准则的块数据元件的所述集合B的子集Tx,以及
d)作为代表所述通信系统中要建立的所述一个或多个通信路径的连接规划而输出所述子集Tx,以及
e)通过配置由所述子集Tx指定的一个或多个系统元件以在所述通信系统中建立所述一个或多个通信路径来执行所述连接规划。
11.根据权利要求10所述的方法,其中所述集合B中的每一个块数据元件进一步包括标识从所述通信系统中的所述多个接口数据元件中选择的一个或多个接口数据元件的数据,识别所述接口数据元件的所述数据与所述块数据元件具有关系,并且所述数据进一步为每一个接口数据元件对所述接口数据元件和所述块数据元件之间的关系的类型进行编码,其中所述类型的关系包括将块数据元件定义为经由接口数据元件提供的通信服务的用户的类型1的关系或将块数据元件定义为经由所述接口数据元件提供的所述通信服务的提供者的类型2的关系中的一个。
12.根据权利要求10所述的方法,其中所述子集Tx必须满足的所述第一准则包括:
标识包含在所述第一输入中或与Tx中的至少一个块数据元件具有类型1的关系的那些接口数据元件,以及
确定所标识的接口数据元件中的每一个与至少一个接口数据元件相同或基本相似,所述至少一个接口数据元件与Tx的至少一个块数据元件具有类型2的关系,其中两个接口数据元件之间基本相似被定义为这两个接口数据元件表示沿着可能的通信路径的同一点。
13.根据权利要求10所述的方法,其中在所述通信系统中:系统元件可以在第一配置中被配置成执行第一通信任务并且还可以在第二配置中被配置成执行第二通信任务,其中所述系统元件具有限制,因为所述第一和第二通信任务不能由所述系统元件同时执行,以及在所述方法中:块数据元件的所述集合B中的第一块数据元件表示所述第一配置中的系统元件,并且第二块数据元件表示所述第二配置中的系统元件。
14.根据权利要求10所述的方法,其中配置由所述子集Tx指定的所述一个或多个系统元件来在所述通信系统中建立所述一个或多个通信路径进一步包括:执行与Tx中的某些块数据元件相关联的计算机可读指令以实施所述一个或多个系统元件的配置。
CN201380012959.0A 2012-03-06 2013-03-05 用于无线对接自动配置和优化的系统和方法 Active CN104160668B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201261607114P 2012-03-06 2012-03-06
US61/607114 2012-03-06
US61/607,114 2012-03-06
US201261718228P 2012-10-25 2012-10-25
US61/718,228 2012-10-25
US61/718228 2012-10-25
PCT/IB2013/051720 WO2013132421A1 (en) 2012-03-06 2013-03-05 Wireless docking automatic configuration and optimization system

Publications (2)

Publication Number Publication Date
CN104160668A CN104160668A (zh) 2014-11-19
CN104160668B true CN104160668B (zh) 2018-09-07

Family

ID=48227351

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380012959.0A Active CN104160668B (zh) 2012-03-06 2013-03-05 用于无线对接自动配置和优化的系统和方法

Country Status (7)

Country Link
US (1) US9320065B2 (zh)
EP (1) EP2823606B1 (zh)
JP (1) JP6165785B2 (zh)
CN (1) CN104160668B (zh)
BR (1) BR112014021772B1 (zh)
RU (1) RU2623723C2 (zh)
WO (1) WO2013132421A1 (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9131335B2 (en) 2013-08-22 2015-09-08 Nokia Technologies Oy Method, apparatus, and computer program product for management of connected devices, such as in a wireless docking environment
US9497787B2 (en) 2013-11-25 2016-11-15 Nokia Technologies Oy Method, apparatus, and computer program product for managing concurrent connections between wireless dockee devices in a wireless docking environment
US9883045B2 (en) * 2013-12-20 2018-01-30 Koninklijke Philips N.V. Wireless docking system
DE102014202071A1 (de) * 2014-02-05 2015-08-06 Robert Bosch Gmbh Verfahren und Einrichtung zum Betrieb eines Kommunikationsnetzwerks insbesondere eines Kraftfahrzeugs
US9591554B2 (en) * 2014-09-10 2017-03-07 Microsoft Technology Licensing, Llc Management capabilities for a wireless docking experience
CN107071865B (zh) * 2016-12-07 2019-09-06 Oppo广东移动通信有限公司 一种无线保真快速连接的方法及装置

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009141761A1 (en) * 2008-05-19 2009-11-26 Koninklijke Philips Electronics, N.V. Techniques for improving the spatial reuse of wireless networks

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020071416A1 (en) * 2000-12-13 2002-06-13 Greg Carlson Ad hoc wide area network access method and system
EP1606958A4 (en) * 2003-03-24 2011-04-13 Strix Systems Inc LOCAL, WIRELESS, SELF CONFIGURATION AND SELF-OPTIMIZATION NETWORK SYSTEM
US7480248B2 (en) * 2003-08-22 2009-01-20 Samsung Electronics Co., Ltd. Apparatus and method for determining aggregated link costs in a mobile ad hoc network
JP2005079979A (ja) * 2003-09-01 2005-03-24 Toshiba Corp 情報通信システムとその通信経路設定方法
US7539507B2 (en) * 2003-11-21 2009-05-26 Qualcomm Incorporated Peer-to-peer communications
US9888393B2 (en) * 2005-03-10 2018-02-06 Qualocmm Incorporated Method and apparatus for automatic configuration of wireless communication networks
US7590075B2 (en) * 2005-04-15 2009-09-15 Dell Products L.P. Systems and methods for managing wireless communication
US20070214286A1 (en) * 2005-11-10 2007-09-13 Olympus Communication Technology Of America, Inc. Network access control
US20080159144A1 (en) * 2006-12-29 2008-07-03 Lucent Technologies Inc. Quality of service aware routing over mobile ad hoc networks (manets)
US20090122753A1 (en) * 2007-10-01 2009-05-14 Hughes Timothy J Dynamic data link segmentation and reassembly
US8194600B2 (en) * 2008-11-24 2012-06-05 Qualcomm Incorporated Air interface selection between nodes in peer-to-peer/ad-hoc networks

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009141761A1 (en) * 2008-05-19 2009-11-26 Koninklijke Philips Electronics, N.V. Techniques for improving the spatial reuse of wireless networks
CN102037778A (zh) * 2008-05-19 2011-04-27 皇家飞利浦电子股份有限公司 用于改善无线网络的空间复用的技术

Also Published As

Publication number Publication date
US9320065B2 (en) 2016-04-19
BR112014021772B1 (pt) 2022-08-16
EP2823606B1 (en) 2021-08-18
RU2623723C2 (ru) 2017-06-28
BR112014021772A2 (zh) 2017-06-20
JP6165785B2 (ja) 2017-07-19
CN104160668A (zh) 2014-11-19
JP2015519766A (ja) 2015-07-09
RU2014140160A (ru) 2016-04-27
US20150072614A1 (en) 2015-03-12
EP2823606A1 (en) 2015-01-14
WO2013132421A1 (en) 2013-09-12

Similar Documents

Publication Publication Date Title
CN104160668B (zh) 用于无线对接自动配置和优化的系统和方法
Muhammad Overlay Network Technologies in SDN: Evaluating Performance and Scalability of VXLAN and GENEVE
Oki Linear programming and algorithms for communication networks: a practical guide to network design, control, and management
Ding et al. Incentive mechanism design for federated learning with multi-dimensional private information
JP2021192291A (ja) 量子もつれ状態処理方法、装置、電子デバイス、記憶媒体、及びプログラム
CN106664584A (zh) 通信端点之间的合成事务
CN110537348A (zh) 用于通信会话的端点配置
Lin et al. Applying genetic algorithms for multiradio wireless mesh network planning
Vilasini et al. Composable security in relativistic quantum cryptography
CN104702387B (zh) 导频信号发送、接收方法及装置
CN109446171A (zh) 一种数据处理方法和装置
CN107241254A (zh) 一种网络连接设备、网络系统和组网方法
CN105721021A (zh) 紧邻传送配置
Dawadi et al. Migration cost optimization for service provider legacy network migration to software‐defined IPv6 network
CN102202259B (zh) 神经网络路径匹配实现gps轨迹交友的方法
RU2749444C1 (ru) Способ моделирования виртуальной сети связи на остаточных ресурсах физической сети
CN108924032A (zh) 基于即时通信行为数据的电子资源发放方法、介质、装置和计算设备
Zhou et al. Virtualized resource sharing in cloud radio access networks: An auction approach
Shim et al. The transformative effect of 5G on business and society in the age of the Fourth Industrial Revolution
CN106453084A (zh) 一种基于拥塞系数的混合数据中心网络流调度方法
EP3580914B1 (en) Localizing traffic using network topology
US10043522B2 (en) Method, apparatus, and system for processing numerical value in sending message using sound waves
Nofal et al. A framework for managing device association and offloading the transport layer’s security overhead of WiFi device to access points
Baya et al. The capacitated m two node survivable star problem
Haatanen Self-organizing routing protocol for Bluetooth Low Energy sensor networks

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant