CN101502080A - 用于通过简化的套接字接口来支持广播/多播因特网协议包的设备和方法 - Google Patents

用于通过简化的套接字接口来支持广播/多播因特网协议包的设备和方法 Download PDF

Info

Publication number
CN101502080A
CN101502080A CNA2007800292563A CN200780029256A CN101502080A CN 101502080 A CN101502080 A CN 101502080A CN A2007800292563 A CNA2007800292563 A CN A2007800292563A CN 200780029256 A CN200780029256 A CN 200780029256A CN 101502080 A CN101502080 A CN 101502080A
Authority
CN
China
Prior art keywords
address
local interface
local
interface
dispose
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.)
Pending
Application number
CNA2007800292563A
Other languages
English (en)
Inventor
马尔切诺·利奥伊
乌品德尔·辛格·巴巴尔
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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN101502080A publication Critical patent/CN101502080A/zh
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • H04L69/161Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields
    • H04L69/162Implementation details of TCP/IP or UDP/IP stack architecture; Specification of modified or new header fields involving adaptations of sockets based mechanisms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/50Address allocation
    • H04L61/5092Address allocation by self-assignment, e.g. picking addresses at random and testing if they are already in use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)

Abstract

本发明描述一种用于配置IP地址以接收广播或多播数据流的方法,所述方法修改绑定()应用程序编程接口(API)以:调查可用的本地接口,以确定其将经配置以从特定IP地址接收数据的能力;配置接口以接收所述IP地址(如果其可经如此配置);将所述IP地址绑定到所述接口。所述经修改的绑定*()API可与一个或一个以上接口交互,以查看是否每一接口均能够被配置到所述IP地址。或者,所述经修改的绑定*()API通过咨询存取控制列表来确定接口的可配置性。可实施基于政策的路由规则,使得经修改的绑定*()操作基于政策参数来配置最高优先级接口。

Description

用于通过简化的套接字接口来支持广播/多播因特网协议包的设备和方法
本申请案主张2006年8月9日申请的第60/836,780号美国临时专利申请案的权益,所述临时专利申请案的全部在此以引用的方式并入本文中。
技术领域
本发明涉及用于建立到达客户端处理器的IP连接的应用程序编程接口工具和方法。
背景技术
因特网技术使得能够将高质量音频和视频内容传递到先前为电视、无线电和其它形式的音频和视频分布所不能到达的位置和装置。此已导致开发出用于经由因特网来分布广播音频和视频串流的许多新应用程序和装置。举例来说,现在有可能在蜂窝式电话上接收视频,例如,电视片段。此技术具有彻底改革视觉媒体、电视和电影产业的潜力。因此,存在对经由因特网将广播串流传递到广泛装置的应用程序的不断增长的需要。
将经由因特网来接收广播或多播视频串流的应用程序必须与因特网建立连接,其被系到视频串流的源。在现代操作系统中用于连接到因特网的标准接口被称为伯克利(Berkeley)套接字应用程序编程接口(API),也称作BSD套接字API。(BSD代表伯克利软件分布(Berkeley Software Distribution),其有时被称作Berkeley Unix)。API是计算机系统或程序库所提供的用以支持对通过计算机程序(应用程序)而将要由其产生的标准服务的请求的源代码接口。伯克利套接字API包含可用于以C编程语言来开发计算机网络连接应用程序的例行程序库。尽管伯克利套接字API并非为使用中的唯一此类API,但适合于开发因特网应用程序的大多数编程语言使用在所包括的例行程序和其功能性方面为类似的接口。另外,许多编程语言已采用BSD套接字API的版本。因此,本文中API的描述是基于BSD套接字API的格式和功能性。
为了使应用程序经由因特网来接收广播或多播视频串流,必须创建到达源的连接(被称作“套接字”)。套接字为客户端与服务器之间的因特网连接的端点。创建套接字会确保由服务器发送的包将被传递到客户端应用程序。为了创建套接字,应用程序调用套接字()API。当以此方式来创建套接字时,其被给予地址族,但未被指派给客户端装置中的特定本地接口。因此,在套接字可接受来自服务器的传入数据之前,必须将所述套接字指派给将用作与因特网的装置接口的特定本地接口。通过绑定()API来实现一种将特定本地地址指派给套接字的方法。
对于收听广播或多播串流的应用程序来说,所述应用程序必须调用ioct1()或套接字_opt()调用。当调用ioct1()或套接字_opt()调用时,必须已知将接收有IP广播串流的特定接口。然而,典型装置具有可经由其接收数据的许多接口。先前,为了确定将通过其接收IP数据串流的特定本地接口,应用程序必须执行复杂的指令集。此添加的复杂性导致不必要的程序额外开销、应用程序开发成本和在建立到达广播串流的连接时的处理延迟。
发明内容
各种实施例提供一种用于配置IP地址以接收广播数据流的流线型方法。修改且扩展绑定()API以调查可用本地接口、确定接口是否能够经配置以从特定IP地址接收数据、在所述接口能够被如此配置的情况下配置所述接口且接着将IP地址绑定到所述接口。在一实施例中,绑定()API与一个或一个以上接口明确地交互以查看每一接口是否均能够被配置到IP地址。在另一实施例中,绑定()API通过咨询路由查找表来确定接口的可配置性。在此实施例的变化形式中,可实施基于政策的路由规则,使得绑定()操作基于政策参数来配置最高优先级接口。
附图说明
并入本文中并构成本说明书的部分的附图说明本发明的示范性实施例,且连同上文给出的概括描述和下文给出的详细描述一起用以阐释本发明的特征。
图1A和图1B为说明当前绑定()API的功能性的流程图。
图2为说明对绑定()API的第一实施例修改的过程流程图。
图3为说明对绑定()API的第二实施例修改的过程流程图。
图4为说明对图2中所说明的实施例的替代方案的过程流程图。
图5为说明对图3中所说明的实施例的替代方案的过程流程图。
图6为说明实施图2中所说明的实施例的经修改的绑定()API的功能性的过程流程图。
图7为说明实施图3中所说明的实施例的经修改的绑定()API的功能性的过程流程图。
图8为说明实施图4中所说明的实施例的经修改的绑定()API的功能性的过程流程图。
图9为说明实施图5中所说明的实施例的经修改的绑定()API的功能性的过程流程图。
图10为用于与以上实施例一起使用的移动装置。
具体实施方式
将参看附图来详细地描述各种实施例。只要可能,将在整个图式中使用相同的参考标号来指代相同或相似的部分。本文中对绑定()API的参考意欲指代本文中所描述和各图中所说明的功能性的任何和所有实施方案,且并不意欲将本发明或权利要求书的范围限于任一特定函数调用、API实施、软件编程语言或应用程序。
当前,广泛的电子装置能够经由有线和无线网络来接收因特网数据,且因此能够实施广播和多播应用程序。此些装置包括个人计算机、膝上型计算机和工作站。最近,例如蜂窝式电话、具有无线调制解调器的个人数字助理(PDA)、无线电子邮件接收器(例如,黑莓
Figure A200780029256D0010105336QIETU
和Treo
Figure A200780029256D0010105336QIETU
装置)和多媒体因特网启用的蜂窝式电话(例如,iPhone
Figure A200780029256D0010105336QIETU
)的移动装置已成为因特网的入口。预期用于移动装置的广播和多播视频IP应用程序的开发总有一天可能会超越传统的个人计算机器的开发。
一般来说,如果只是用于最小化功率消耗以便延长电池寿命,则移动装置(例如,PDA、蜂窝式电话)与个人计算机和膝上型计算机相比具有有限的计算能力和存储器。因此,在移动装置上所执行的应用程序需为有效的且应尽可能地消除不必要的处理额外开销。为此,本发明的各种实施例提供一种用于建立用于接收广播IP包的套接字连接的简化方法。
各种实施例修改绑定()API或提议新的绑定_广播()API。因此,在描述所述实施例之前,检视典型绑定()API实施方案的机能为有用的。
绑定()API将套接字指派给本地接口,使得可通过应用程序来接收经由所述套接字从源服务器流动的数据。绑定()API调用需要三个自变量。第一,所述调用必须包括表示套接字的描述符,其为在出于读取和写入数据的目的而执行被用作套接字的把手的套接字()API之后所接收的值。第二,所述调用必须指定数据结构,所述数据结构界定将要用于完成对已被配置于系统上的IP地址的绑定的本地IP地址和本地端口数。或者,可提供一通配符值(其在许多API实施方案中为“0”或INADDR_ANY)作为第二自变量。在此状况下,API将绑定被配置有IP地址的任何接口。然而,为了简化各种实施例的描述,此函数自变量将在本文中被称作所指示的IP地址或简单地为IP地址。第三,所述调用必须指定本地地址的长度,此允许函数适应不同的IP版本。
如果IP地址包括于绑定()API调用中(即,非INADDR_ANY选项),则函数评估装置或系统上的每一本地接口以查看所述接口是否经配置以与所述IP地址连接。如果其发现针对IP地址而配置的本地接口,则绑定()函数指派所指定的本地端口数作为传出数据报上的源端口和用于经由套接字而接收的传入数据报的目的地端口。所述函数也返回旗标值“0”以指示绑定操作得以成功地完成。在某些实施方案(例如,Unix)中,此成功旗标值为“0”,因此,为了说明的目的,各图和论述将“0”用作成功旗标值。然而,不应将本发明和权利要求书解释为限于使用成功旗标值“0”。如果无任何本地接口是针对绑定()API调用中所指定的IP地址而被配置,则产生错误代码且返回失败旗标值以指示操作失败。在某些实施方案(例如,Unix)中,此失败旗标值为“-1”,因此,为了说明的目的,各图和论述将“-1”用作失败旗标值。然而,不应将本发明和权利要求书解释为限于使用失败旗标值“-1”。因此,如果无任何本地接口已经针对IP地址而被配置,则绑定()函数调用将失败。可将所产生的错误代码存储到寄存器(例如,被标记为“errno”的寄存器)以供应用程序存取。由于错误代码可能会在不同API实施方案中变化且被充分证明,所以此些错误代码的细节对于本发明来说并非必要的。
如果将INADDR_ANY通配符或“0”指定为绑定()API调用中的本地地址,则函数将绑定到经配置以存取所指示的套接字的任何和所有本地接口,且如果无任何接口经如此配置,则产生错误代码且返回旗标值(-1)以指示操作失败。
图1A中说明当指示IP地址(即,排除INADDR_ANY功能性)时绑定()API的基本功能步骤。此流程图意在说明函数的顶级功能性,且未必反映由API实施的实际软件处理。在绑定()调用10内的是所指示的套接字的描述符、待绑定到套接字的IP地址和IP地址的长度。由于绑定()函数在成功绑定的情况下返回“0”且在绑定不成功的情况下返回“-1”,所以在起始所述函数后便可将此旗标值设定于-1(步骤12),或可在稍后时间基于一测试而将此旗标值设定到“-1”。绑定()函数也测试调用自变量以确定是否已指示IP地址或是否指定通配符值(例如,“0”)(步骤14)。如果在函数调用中请求特定IP地址(即,测试14的结果为“是”),则绑定()函数可(例如)通过执行一循环例行程序而一次一个地测试接口的配置,在步骤16、18、20、28、30中说明所述循环例行程序的一实例。可将计数器初始化以指示或指向第一接口(步骤16)。接着,通过使用计数值,函数选择一接口(步骤18),且查询选定接口以确定是否已针对所指示的IP地址而将其配置(步骤20)。如果其经如此配置,则函数将所指示的套接字或IP地址绑定到所指定的本地接口(步骤22),且将状态旗标设定到“0”,从而指示绑定()操作是成功的(步骤24),且返回到作出绑定()调用的应用程序(步骤26)。如果尚未针对所指示的IP地址而配置选定接口(即,测试20的结果为“否”),则函数可测试计数器(例如,通过将计数器与装置接口的总数进行比较)以确定是否还有待评估的接口(步骤28),且如果是,则在循环回到步骤18以继续所述过程之前递增计数器以指向下一接口(步骤30)。如果已评估最后接口(即,测试28的结果为“否”),则将错误代码值存储于寄存器中(例如,errno)(步骤34),且函数返回到作出绑定()调用的应用程序(步骤26)。函数在此情形中返回“-1”值,从而指示绑定()操作失败。
如果所指定的本地接口值为例如INADDR_ANY或“0”的通配符(即,测试14的结果为“否”),则函数将调查装置中的所有接口,以确定是否任何接口均可经配置以通过执行图1B中所说明的INADDR_ANY功能性来支持任何IP地址。函数可(例如)通过执行一循环例行程序而一次一个地测试所有接口,在步骤38、40、42、44、46、48中说明所述循环例行程序的一实例。可将计数器初始化以指示或指向第一接口(步骤36)。接着,通过使用计数值,函数选择一接口(步骤38),且查询选定接口以确定是否已针对任何IP地址而将其配置(测试40)。如果是,则将选定接口绑定到套接字(步骤42),且将状态旗标设定到“0”以指示成功绑定(步骤44)。但此时并非返回,而是函数通过测试是否还有接口将被评估来继续执行循环而继续评估每一接口(测试46),且如果否,则在循环回到步骤38之前递增计数器(步骤48)。一旦已评估所有接口(即,测试46的结果为“否”),函数便确定是否应产生错误代码(例如,通过测试状态旗标是等于“0”还是等于“-1”)(测试32)。应了解,状态旗标的测试可呈许多格式,且各图中所示的针对“-1”对“0”的测试仅用于说明性目的。如果状态旗标=-1,则无任何接口被绑定,且因此,在函数返回到调用绑定()API的过程(步骤26)之前需要产生且张贴错误代码(步骤34)。然而,如果一地址被绑定(即,测试32的结果为“否”),则在函数返回到调用绑定()API的过程(步骤26)之前张贴错误代码(34)。(应注意,图1A中并未说明测试32,因为在那个过程中,回答将总是为“是”,因此,出于说明的简单性,图1A直接展示从测试28到步骤34的流程)。
如图1A和图1B中所说明的功能性所显示,常规绑定()API仅评估是否已经针对所请求的IP地址而配置选定接口。目前通过额外应用程序软件步骤来克服绑定()API的此限制,所述应用程序软件步骤确保在作出绑定()API调用之前,针对广播或多播数据串流的IP地址而配置特定接口。然而,此些软件指令向软件应用程序添加了额外开销和不必要的复杂性。
图2说明意欲克服常规绑定()API的限制且简化套接字接口的建立的一实施例。在此实施例中,对操作调查系统接口所凭借的过程进行修改,从而添加了新的功能性200,所述功能性200确定是否可针对所指示的IP地址而配置一接口。出于简化此实施例的描述起见,图2仅描绘且对应的描述仅陈述用于特定IP地址被请求绑定的情况的绑定()API功能性包括于绑定()调用10*中。
可提供图2中所说明的实施例的功能性以作为新的API函数,例如,绑定_广播()(即,对API库的补充,而非对绑定()API的修改)。添加新的绑定_广播()API以与广播、多播和其它相关视频和/或音频应用程序一起使用可为优选的,因为那些应用程序将无需图1B中所说明的INADDR_ANY通配符功能性。为了反映可将所述实施例实施为新的API,将调用标记为10*且在图2至图5中将其识别为绑定*()。另外,在专用于广播的新的API中将不需要IP地址的测试14,因此,此步骤在图2至图5中以虚线加以展示,以指示其为可选的且不包括于那些图的描述中。在替代实施例中,可修改绑定()API以添加本文中所描述的功能性,同时保持旧版绑定()的INADDR_ANY通配符功能性。在图6至图9中说明且在下文中描述了此些替代实施例。
参看图2,经修改的绑定*()函数的函数以类似于上文参考图1A所描述的方式而进行,直到已评估所有本地接口。具体来说,在起始所述函数后便可将旗标值设定到-1(步骤12)(或可在稍后时间基于一测试而将旗标值设定到“-1”)。依据特定API实施方案,绑定()函数可(例如)通过执行一循环例行程序而一次一个地测试所有接口,在步骤16、18、20、28、30中说明所述循环例行程序的一实例。可将计数器初始化以指示或指向第一接口(步骤16)。接着,通过使用计数值,函数选择一接口(步骤18),且查询选定接口以确定是否已针对所指示的IP地址而将其配置(步骤20)。如果其经如此配置,则绑定*()函数将所指示的套接字或IP地址绑定到所指定的本地接口(步骤22),且将状态旗标设定到“0”,从而指示绑定*()操作是成功的(步骤24),且返回到作出绑定()调用的应用程序(步骤26)。如果尚未针对所指示的IP地址而配置选定接口(即,测试20的结果为“否”),则函数可测试计数器(例如,通过比较计数器与装置接口的总数)以确定是否还有待评估的接口(步骤28),且如果是,则在循环回到步骤18以继续所述过程之前递增计数器以指向下一接口(步骤30)。
如果已评估最后接口(即,测试28的结果为“否”),则此意味着未针对所指示的IP地址配置任何接口。不是返回且指示绑定失败,而是实施新的功能性200。此新的功能性200(例如)通过实施第二循环(例如,步骤214、216、218、224、226)来第二次评估每一接口,以确定接口是否能够被配置到所要IP地址。举例来说,可将计数器初始化以指示或指向第一本地接口(步骤214),接着选择所述接口以供评估(步骤216)。所述功能接着评估选定接口以确定是否可针对所指示的IP地址而将其配置(218),且如果是,则接着针对所述IP地址而配置所述接口(步骤220)。一旦已配置接口,便将套接字绑定到所述接口(步骤22),此类似于常规绑定()API的正常功能性。在成功地完成绑定操作之后,可将状态旗标改变到“0”(步骤24),且通过返回到作出绑定*()调用的应用程序而完成所述功能(步骤26)。
存在经修改的绑定*()函数可测试-接口针对特定IP地址的可配置性的至少两种方式。在第一方式中,绑定*()函数可明确地与选定接口交互以确定是否能够针对所指示的地址而配置选定接口。此可涉及使用所指示的IP地址而对选定接口执行配置操作API或类似函数调用,且测试是否返回成功值。此不仅证实配置是否为可能的(此信息由返回的值表达),而且其也在相同步骤中实现所述配置。因此,可在单一过程调用中组合或实现各图中所示的步骤218和220。如果使用仅报告回对所指示的IP地址的配置是可能的过程调用,则一单独操作(步骤220)将被包括于绑定*()函数中以实现所述配置。
在第二方式中,新的绑定*()函数可使用路由查找方法(例如,通过存取系统存取控制列表(ACL)或包括关于接口配置参数的信息的另一数据库)以确定选定接口的配置参数。如果装置或系统已实施基于政策的路由,则ACL可列举已针对其来配置每一接口的地址以及每一接口的输入/输出配置能力。因此,通过进行ACL查找(例如,通过执行考虑ACL中所列举的每一接口值的循环),函数可快速确定是否已针对所指示的IP地址或套接字而配置所述接口中的任一者或是否可针对所指示的IP地址或套接字而配置所述接口中的任一者。
如果在已评估所有装置或系统接口(即,测试224的结果为“否”)之后,无任何接口被绑定到所指示的IP地址,则此指示无任何接口能够针对所指示的IP地址而被配置。因此,经修改的绑定*()函数已失败,因此,所述函数向错误寄存器张贴错误代码(步骤34),且返回到调用绑定*()API的应用程序(步骤26)。在图2中所说明的实例过程中,状态旗标未改变到“0”,因为未实现任何绑定操作,因此,返回“-1”值,从而指示绑定*()操作失败。所属领域的技术人员应了解,可以任何数目的方式并在过程流期间的若干点处来设定绑定*()返回值。
图3说明用于实施本发明的替代实施例,其仅需要通过系统或装置的本地接口的单一循环。类似于上文参考图2所描述的实施例,函数以类似于常规绑定()函数的方式开始,直到确定并未针对所指示的IP地址而配置选定接口(测试20)。具体来说,在起始函数后便可将旗标值设定到-1(步骤12)(或可在稍后时间基于一测试而将旗标值设定到“-1”)。依据特定API实施方案,绑定()函数可(例如)通过执行一循环例行程序而一次一个地测试所有接口,在步骤16、18、20、28、30中说明所述循环例行程序的一实例。可将计数器初始化以指示或指向第一接口(步骤16)。接着,通过使用计数值,绑定*()函数选择一接口(步骤18),且查询选定接口以确定是否已针对所指示的IP地址而将其配置(步骤20)。如果其经如此配置,则函数将所指示的套接字或IP地址绑定到所指定的本地接口(22),且将状态旗标设定到“0”,从而指示绑定*()函数是成功的(24),且返回到作出绑定*()调用的应用程序(步骤26)。
然而,如果尚未针对所指示的IP地址而配置选定接口(即,测试20的结果为“否”),则函数接着评估所述接口以确定是否可针对所指示的IP地址而将其配置(步骤218)。如上文所论述,存在可进行此评估的至少两种方式。如果确定接口可被配置到所指示的IP地址,则将其如此配置(步骤220),其后,将选定接口绑定到套接字(步骤22)。在成功地将接口绑定到IP地址之后,可将状态旗标设定到“0”(步骤24),其后,函数返回到调用绑定*()API的应用程序。如果选定接口不能够被配置到所指示的IP地址(即,测试218的结果为“否”),则函数可测试计数以确定是否还有待评估的接口(步骤28),且如果是,则在循环回到步骤18之前递增计数器(步骤30)。如果已没有待评估的接口(即,测试28的结果为“否”),则此意味着无任何接口被绑定,因此,在函数返回到调用绑定*()API的应用程序(步骤26)之前将向错误寄存器张贴错误代码(步骤34)。
图4中说明第三实施例,其包括对每一接口所进行的关于其是否能够接收广播或多播数据串流的额外测试。在此实施例中,绑定*()函数以与上文参考图2所描述的方式相同的方式而进行,除了新步骤400以外。因此,图2的描述针对相似步骤而在此处以引用的方式被并入以避免需要冗余描述。当绑定*()函数选择一接口以用于评估其针对指示符IP地址的可配置性时,所述函数首先测试选定接口以确定其是否具有接收IP数据的广播或多播串流的能力(步骤400)。可通过存取ACL以确定接口参数或通过进行接口的直接查询而实现此测试。在针对特定接口的可配置性而评估所述特定接口之前评估选定接口的用于接收IP数据的广播或多播串流的能力可更有效,因为可经由ACL而快速地作出此确定,同时确定接口的可配置性可能会由于处理能力而花费更多时间。如果此评估证实接口能够接收IP数据的广播或多播串流(即,测试400的结果为“是”),则绑定*()函数进行以测试选定接口是否能够被配置到所指示的IP地址(步骤218)。然而,如果选定接口不能够接收IP数据的广播或多播串流,则绑定*()函数进行以递增循环来评估下一接口,例如,通过测试额外接口是否可用于评估(步骤224),且如果是,则递增计数器(步骤226)。除了评估接口接收IP数据的广播或多播串流的能力以外,图4中所说明的实施例的功能性的其余部分与图2中所说明和上文参考那个图所描述的实施例的其余部分相同。
以类似方式,图5说明替代实施例,其与图3中所说明的实施例相同,除了选定接口的用以确定其是否具有接收IP数据的广播或多播串流的能力的添加测试(步骤400)以外。图3的描述针对相似步骤而在此处以引用的方式被并入以避免需要冗余描述。当绑定*()函数已确定尚未针对所指示的IP地址而配置接口(测试20)时,评估所述接口以确定其是否能够接收广播数据串流(400)。如果其能够接收广播数据串流,则接着评估选定接口以确定是否可针对所指示的IP地址而将其配置(步骤230)。然而,如果选定接口不能够接收IP数据的广播或多播串流,则递增循环,例如,通过测试额外接口是否可用于评估(步骤28),且如果是,则在循环回到步骤18之前递增计数器(步骤30)。除了评估接口接收IP数据的广播或多播串流的能力以外,图5中所说明的实施例的功能性的其余部分与图3中所说明和上文参考那个图所描述的实施例的其余部分相同。
如上文所提及,可将各种实施例实施为保留所有旧版功能性的经修改的绑定()API。图6说明此实施例,其中上文参考图2所描述的额外功能性200被并入绑定*()API的完整功能性中。在此实施例中,如果IP地址包括于绑定*()调用10*自变量中,则函数如上文参考图2所描述而进行。如果绑定*()调用10*自变量包括用于IP地址的INADDR_ANY或“0”,则调用INADDR_ANY绑定任何功能性,测试14的结果为“否”,因此,函数接着进行以执行步骤38、40、42、44、46、48的循环来测试每一接口,以确定所述接口是否被配置有IP地址(测试40)。具体来说,可将计数器初始化以指示或指向第一接口(步骤36)。接着,通过使用计数值,函数选择一接口(步骤38),且查询选定接口以确定是否已针对任何IP地址而将其配置(测试40)。如果针对IP地址而配置选定接口,则绑定所述接口(步骤42),且设定成功状态旗标“0”(步骤44)。无论是未针对IP地址而配置选定接口还是其在步骤42中被成功地绑定,均(例如)通过测试是否保持评估额外接口(测试46)来递增循环,且如果是,则在函数循环回到步骤38之前递增计数器(步骤48)。然而,如果已没有待评估的接口(即,测试46的结果为“否”),则绑定*()函数可测试状态旗标以确定其是仍等于“-1”还是已由于一接口被绑定到任一IP地址而将其设定到“0”(测试32)。如果此测试的结果为“否”(即,状态旗标等于“0”),则函数返回到调用绑定*()API的应用程序(步骤26),从而返回“0”状态值。然而,如果状态旗标等于“-1”(即,测试32的结果为“是”),则此指示绑定操作并不成功,因此,在函数返回到调用绑定*()API(步骤26)的应用程序之前向错误寄存器张贴错误代码(步骤34)。经修改的绑定*()功能性的在图6中所说明的剩余步骤基本上与上文参考图2所描述的步骤相同。
以类似方式,图7说明一实施例,其中上文参考图3所描述的添加功能性300被并入绑定*()API的完整功能性中。在此实施例中,如果IP地址包括于绑定*()调用10*自变量中,则函数如上文参考图2所描述而进行。如果绑定*()调用10*自变量包括用于IP地址的INADDR_ANY或“0”,则调用INADDR_ANY绑定任何功能性,此基本上与上文在图6中针对步骤36-48所描述的功能性相同。经修改的绑定*()功能性的在图7中所说明的剩余步骤基本上与上文参考图3所描述的步骤相同。
以类似方式,图8说明一实施例,其中上文参考图2所描述的添加功能性200和上文参考图4所描述的选定接口的额外测试400被并入绑定()API的完整功能性中。在此实施例中,如果IP地址包括于绑定*()调用10*自变量中,则函数如上文参考图2所描述而进行。如果绑定*()调用10*自变量包括用于IP地址的INADDR_ANY或“0”,则调用INADDR_ANY绑定任何功能性,此基本上与上文在图6中针对步骤36-48所描述的功能性相同。经修改的绑定功能性的在图8中所说明的剩余步骤基本上与上文参考图4所描述的步骤相同。
类似地,图9说明一实施例,其中上文参考图3所描述的添加功能性300和上文参考图5所描述的选定接口的额外测试400被并入绑定*()API的完整功能性中。在此实施例中,如果IP地址包括于绑定*()调用10*自变量中,则函数如上文参考图3所描述而进行。如果绑定*()调用自变量包括用于IP地址的INADDR_ANY或“0”,则调用INADDR_ANY绑定任何功能性,此基本上与上文在图6中针对步骤36-48所描述的功能性相同。经修改的绑定功能性的在图9中所说明的剩余步骤基本上与上文参考图5所描述的步骤相同。
在最适用于图2、图4、图6和图8中所说明的实施例的另一实施例中,可以优先级的次序来查询接口,例如,可基于政策规则来建立。为了实现此情形,可创建接口的优先级次序列表以用于评估所述接口且按次序通过包含步骤214、216、218、224、226的循环。通过以优先级的次序来预备此列表,使得根据政策规则,第一接口具有最高优先级且最后接口具有最低优先级,上文中所描述的用于评估接口的可配置性的过程将确保根据政策规则,经配置和经绑定的接口将为最高优先级。为了创建此优先级列表,接口分级应用程序(例如,基于政策的路由引擎)需要知晓政策参数、规则或优先化标准的集合。此些政策参数可包括成本、服务质量、标准协议偏好和与个别接口有关的其它因素。接口分级应用程序接着可针对每一接口而存取存储于ACL中的信息,且应用政策参数、规则或优先化标准,以便开发分级值或标准。一旦已针对所有接口而完成从ACL获得的接口特征对照政策参数、规则或优先化标准的此评估,便可以分级值或标准的次序来布置接口。为了实施此实施例,经修改的绑定*()API需要使用等级次序列表,以便在上文参考图2所描述的新的功能性200中通过接口来进行循环。
在另一替代实施例中,可在选择一接口以供评估(图2、图4、图6和图8中的步骤216)的时间将基于政策的规则应用于接口特征(例如,可从API获得)。类似地,可在测试选定接口以确定是否能够针对所指示的IP地址而将其配置之前进行额外的基于政策的规则测试。举例来说,上文参考图4、图5、图8和图9所描述的实施例在测试选定接口的可配置性之前通过评估接口是否能够接收IP数据的广播或多播IP串流来实施一类型的基于政策的测试。如上文所描述,如果不满足此基于政策的测试,则不针对可配置性来评估接口。可将此概念进一步应用于其它政策参数(例如,成本、服务质量、安全性和SP偏好)。
可将上文所描述的各种实施例实施于移动装置中,所述移动装置配置有用于经由蜂窝式电话或无线网络连接来接收因特网广播或多播因特网数据串流的电路和软件。图10中说明此移动装置100的一实例实施例,其可为蜂窝式电话、多媒体因特网启用的蜂窝式电话、个人数字助理和/或无线电子邮件接收器中的任一者。此移动装置100可包括耦合到存储器104和显示器106的处理器102。移动装置100也可包括许多数据输入/输出接口,例如,蜂窝式电话数据接收器、有线(例如,火线)数据链路、蓝牙无线数据链路和红外数据链路。蜂窝式电话数据接收器可包括用于从无线网络传输器/接收器(未图标)接收电磁信号的天线120,和连接到天线120以用于接收无线信号且将所述信号转换为被中继到处理器102的数字数据的无线收发器122。类似地,蓝牙或类似的本地无线数据链路可包括连接到蓝牙收发器124的天线120(或未单独展示的另一天线),所述蓝牙收发器124将所接收的无线信号转换为被中继到处理器102的数字数据。也可通过有线数据链路(例如,火线、USB、串行(例如,RS-232)或以太网数据链路)而将数据传输到移动装置100或从移动装置100传输数据。举例来说,可借助于耦合到火线调制解调器电路132的火线数据连接器130来传输数据,所述火线调制解调器电路132将从连接器130接收的数据转换为被中继到处理器102的数字数据。如在此项技术中已知的,其它有线数据链路将涉及适合于特定数据链路的类似电路。也可通过红外(IR)数据链路(例如,借助于耦合到IR数据链路调制解调器电路142的IR数据传输器/接收器140)而将数据传输到移动装置100和从移动装置100传输数据,所述IR数据链路调制解调器电路142将从IR传输器/接收器140接收的数据转换为被中继到处理器102的数字数据。
蜂窝式电话数据接收器120、122、有线数据链路130、132、蓝牙无线数据链路120、124和IR数据链路140、142中的每一者均为处理器可进行存取以接收数据的接口。另外,可将其它接口实施于移动装置100内以用于在其它模块与协处理器之间转移数据。因此,为了接收IP数据的广播或多播串流,移动装置100必须将这些接口中的一者绑定到广播或多播数据流的IP地址。此可通过执行上文所描述的实施例方法中的一者(例如,通过执行经配置以实施所述方法中的一者的软件指令)的处理器102来实现。可将此些软件指令存储于存储器104中以作为API或作为实施一实施例方法的汇编软件。
处理器102可为经设计以执行本文中所描述的功能的通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑装置、离散门或晶体管逻辑、离散硬件组件,或其任何组合。通用处理器可为微处理器,但在替代方案中,处理器可为任何常规处理器、控制器、微控制器或状态机。也可将处理器实施为计算装置的组合,例如,DSP与微处理器的组合、多个微处理器的组合、一个或一个以上微处理器结合DSP核心的组合,或任何其它此类配置。
为了实施各种实施例的经修改的绑定*()API,需要修改提供绑定()API功能性的基础软件,以添加与本文中所描述的软件类似的软件或提供类似功能性的软件。另外,将需要更新API,使得可向应用程序开发者通知新的功能性和经修改的绑定()API的行为。
图2至图9中所说明和上文所描述的各种实施例具有以下优势:在尚未经针对所要IP地址而配置任何接口的情况下,绑定*()API将负责选择合适接口、对其进行配置且接着绑定到所要IP地址(均在一个API调用中)。如此,不需要额外应用程序复杂性来针对所述IP而配置特定接口。另外,由于接口选择配置和绑定是在单一API调用中实现的,所以可通过较低级软件来调用绑定*()API。此允许使用新的或经修改的绑定*()API通过传递较低层(即,在应用程序层下方的软件层)需要识别数据流输入并对其进行解调的信息来触发所述较低层处的因特网广播或多播串流的配置和解调。此也允许较低层软件配置用于接收IP数据流的接口。因此,新的或经修改的绑定*()API消除了使额外API调用来选择、识别、配置接口和将其绑定到IP地址的需要,从而简化了应用程序开发者的任务。
各种实施例在用于接收广播或多播IP内容的应用程序的情况下尤其有利。这是因为在此些情形中,未预期将在相反方向上存在通信,此为其它类型的因特网应用程序中的情况。因此,可通过实施各种实施例的经修改的绑定*()API而避免与接合IP地址相关联的复杂性(其一定需要接合和脱离操作)。
用于实施上述实施例的事件的硬件可为经配置以执行指令集的处理元件和存储器元件,其中所述指令集用于执行对应于以上事件的方法步骤。或者,可通过给定函数专用的电路来执行某些事件。
所属领域的技术人员应了解,可将结合本文中所揭示的实施例而描述的各种说明性逻辑区块、模块、电路和算法步骤实施为电子硬件、计算机软件或两者的组合。为了清楚地说明硬件与软件的此互换性,已在上文大体上就其功能性而描述了各种说明性组件、区块、模块、电路和步骤。将此功能性实施为硬件还是软件取决于特定应用和强加于整个系统的设计约束。所属领域的技术人员可以用于每一特定应用的不同方式来实施所描述的功能性,但此些实施决策不应被解释为导致脱离本发明的范围。
结合本文中所揭示的实施例而描述的方法或算法的步骤可直接包含于硬件中、由处理器执行的软件模块中或所述两者的组合中。软件模块可驻留于处理器可读存储器中,所述处理器可读存储器可为RAM存储器、快闪存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移除盘、CD-ROM或此项技术中已知的任何其它形式的存储媒体中的任一者。将示范性存储媒体耦合到处理器,以使得所述处理器可从所述存储媒体读取信息以及将信息写入到所述存储媒体。在替代方案中,存储媒体可整合到处理器。处理器和存储媒体可驻留于ASIC中。ASIC可驻留于使用者终端中。在替代方案中,处理器和存储媒体可作为离散组件而驻留于使用者终端中。
提供各种实施例的上述描述以使任何所属领域的技术人员能够制作或使用本发明。所属领域的技术人员将容易明白对这些实施例的各种修改,且在不脱离本发明的精神或范围的情况下,可将本文中所界定的一般原理应用于其它实施例。因此,并不希望将本发明限于本文中所示的实施例,而是,应赋予权利要求书与本文中所揭示的原理和新颖特征一致的最广泛范围。

Claims (21)

1.一种用于将多个本地接口中的一者绑定到IP地址以用于经由因特网来接收数据的方法,其包含:
确定是否针对所述IP地址而配置所述多个本地接口中的一者;
如果确定针对所述IP地址而配置所述多个本地接口中的所述一者,则将所述多个本地接口中的所述一者绑定到所述IP地址;
重复所述确定是否针对所述IP地址而配置所述多个本地接口中的一者的步骤,直到所述多个本地接口中的至少一者被绑定到所述IP地址或所有所述多个本地接口已被评估;
如果所述多个本地接口中无本地接口已被绑定到所述IP地址,则选择所述多个本地接口中的一者;
确定是否可针对所述IP地址而配置所述多个本地接口中的所述选定者,
如果确定可针对所述IP地址而配置所述多个本地接口中的所述选定者,则针对所述IP地址而配置所述多个本地接口中的所述选定者,以及
如果确定可针对所述IP地址而配置所述多个本地接口中的所述选定者,则将所述多个本地接口中的所述选定者绑定到所述IP地址;
重复所述选择所述多个本地接口中的一者的步骤和所述确定是否可针对所述IP地址而配置所述多个本地接口中的所述选定者的步骤,直到所述多个本地接口中的至少一者被绑定到所述IP地址或所有本地接口已被评估;以及
如果所述多个本地接口中无本地接口被绑定到所述IP地址,则指示绑定失败。
2.根据权利要求1所述的方法,其进一步包含确定所述多个本地接口中的所述选定者是否能够接收因特网数据的广播或多播串流,其中仅在所述多个本地接口中的所述选定者被确定为能够接收因特网数据的广播或多播串流的情况下,才实现确定是否可针对所述IP地址而配置所述多个本地接口中的所述选定者。
3.根据权利要求1所述的方法,其中所述选择所述多个本地接口中的一者的步骤包含:根据确定的优先级次序而从所述多个本地接口中进行选择。
4.根据权利要求1所述的方法,其中所述选择所述多个本地接口中的一者的步骤包含:基于应用于所述多个本地接口中的每一者的特征的政策规则,而根据确定的优先级次序从所述多个本地接口中进行选择。
5.一种用于将多个本地接口中的一者绑定到IP地址以用于经由因特网来接收数据的方法,其包含:
选择所述多个本地接口中的一者;
确定是否针对所述IP地址而配置所述多个本地接口中的所述选定者;
如果确定不针对所述IP地址而配置所述多个本地接口中的所述选定者,则确定是否可针对所述IP地址而配置所述多个本地接口中的所述选定者;
如果确定可针对所述IP地址而配置所述多个本地接口中的所述选定者,则针对所述IP地址而配置所述多个本地接口中的所述选定者;
如果针对所述IP地址而配置所述选定接口,则将所述多个本地接口中的所述选定者绑定到所述IP地址;
重复所述上述步骤,直到所述多个本地接口中的至少一者被绑定到所述IP地址或所述多个本地接口中的每一者已被评估;以及
如果所述多个本地接口中无本地接口被绑定到所述IP地址,则指示绑定失败。
6.根据权利要求5所述的方法,其进一步包含确定所述多个本地接口中的所述选定者是否能够接收因特网数据的广播或多播串流,其中仅在所述多个本地接口中的所述选定者被确定为能够接收因特网数据的广播或多播串流的情况下,才实现确定是否可针对所述IP地址而配置所述多个本地接口中的所述选定者。
7.根据权利要求5所述的方法,其中仅在不针对所述IP地址而配置所述多个本地接口中的所述选定者的情况下,才执行所述评估是否可针对所述IP地址而配置所述多个本地接口中的所述选定者的步骤和所述针对所述IP地址而配置所述多个本地接口中的所述选定者的步骤。
8.一种处理器可读存储器,所述处理器可读存储器在其上存储有用于应用程序编程接口函数的处理器可执行软件指令,所述处理器可执行软件指令包含以下步骤:
确定是否针对所述IP地址而配置所述多个本地接口中的一者;
如果确定针对所述IP地址而配置所述多个本地接口中的所述一者,则将所述多个本地接口中的所述一者绑定到所述IP地址;
重复所述确定是否针对所述IP地址而配置所述多个本地接口中的一者的步骤,直到所述多个本地接口中的至少一者被绑定到所述IP地址或所述多个本地接口中的每一者已被评估;
如果所述多个本地接口中无本地接口已被绑定到所述IP地址,则选择所述多个本地接口中的一者;
确定是否可针对所述IP地址而配置所述多个本地接口中的所述选定者;
如果确定可针对所述IP地址而配置所述多个本地接口中的所述选定者,则针对所述IP地址而配置所述多个本地接口中的所述选定者;
如果针对所述IP地址而配置所述多个本地接口中的所述选定者,则将所述选定者绑定到所述IP地址;
重复所述选择所述多个本地接口中的一者的步骤和所述确定是否可针对所述IP地址而配置所述多个本地接口中的所述选定者的步骤,直到所述多个本地接口中的至少一者被绑定到所述IP地址或所述多个本地接口中的每一者已被评估;以及
如果所述多个本地接口中无本地接口被绑定到所述IP地址,则指示绑定失败。
9.根据权利要求8所述的处理器可读存储器,其中所述软件指令进一步包含评估所述多个本地接口中的所述选定者是否能够接收因特网数据的广播或多播串流的步骤,且
其中仅在所述多个本地接口中的所述选定者被评估为能够接收因特网数据的广播或多播串流的情况下,才实现所述评估是否可针对所述IP地址而配置所述多个本地接口中的所述选定者的步骤。
10.根据权利要求8所述的处理器可读存储器,其中所述软件指令经配置以使得所述选择所述多个本地接口中的一者的步骤包含:根据确定的优先级次序从所述多个本地接口中进行选择。
11.根据权利要求8所述的处理器可读存储器,其中所述软件指令经配置以使得所述选择所述多个本地接口中的一者的步骤包含:基于应用于所述多个本地接口中的每一者的特征的政策规则,根据确定的优先级次序从所述多个本地接口中进行选择。
12.一种处理器可读存储器,所述处理器可读存储器在其上存储有用于应用程序编程接口函数的处理器可执行软件指令,所述处理器可执行软件指令包含以下步骤:
选择所述多个本地接口中的一者;
评估是否针对所述IP地址而配置所述多个本地接口中的所述选定者;
如果确定未针对所述IP地址而配置所述多个本地接口中的所述选定者,则评估是否可针对所述IP地址而配置所述多个本地接口中的所述选定者;
如果确定可针对所述IP地址而配置所述多个本地接口中的所述选定者,则针对所述IP地址而配置所述多个本地接口中的所述选定者;
如果针对所述IP地址而配置所述选定接口,则将所述多个本地接口中的所述选定者绑定到所述IP地址;
重复所述上述步骤,直到所述多个本地接口中的至少一者被绑定到所述IP地址或所述多个本地接口中的每一者已被评估;以及
如果所述多个本地接口中无本地接口被绑定到所述IP地址,则指示绑定失败。
13.根据权利要求12所述的处理器可读存储器,其中所述软件指令进一步包含确定所述多个本地接口中的所述选定者是否能够接收因特网数据的广播或多播串流的步骤,其中所述软件指令经配置以使得仅在所述多个本地接口中的所述一者能够接收因特网数据的广播或多播串流的情况下才实现所述确定是否可针对所述IP地址而配置所述多个本地接口中的所述选定者的步骤。
14.根据权利要求12所述的处理器可读存储器,其中所述软件指令经配置以使得仅在不针对所述IP地址而配置所述多个本地接口中的所述选定者的情况下,才执行所述选择所述多个本地接口中的一者的步骤、所述确定是否可针对所述IP地址而配置所述多个本地接口中的所述选定者的步骤,以及所述针对所述IP地址而配置所述多个本地接口中的所述选定者的步骤。
15.一种移动装置,其包含:
处理器;以及
耦合到所述处理器的存储器,所述存储器在其中存储有软件指令,所述软件指令经配置以致使所述处理器执行以下步骤:
确定是否针对所述IP地址而配置所述多个本地接口中的一者;
如果针对所述IP地址而配置所述多个本地接口中的所述一者,则将所述多个本地接口中的所述一者绑定到所述IP地址;
重复所述确定是否针对所述IP地址而配置所述多个本地接口中的一者的步骤,直到所述多个本地接口中的至少一者被绑定到所述IP地址或所述多个本地接口中的每一者已被评估;
如果所述多个本地接口中无本地接口已被绑定到所述IP地址,则选择所述多个本地接口中的一者;
确定是否可针对所述IP地址而配置所述多个本地接口中的所述选定者;
如果确定可针对所述IP地址而配置所述多个本地接口中的所述选定者,则针对所述IP地址而配置所述多个本地接口中的所述选定者;
如果针对所述IP地址而配置所述多个本地接口中的所述选定者,则将所述多个本地接口中的所述选定者绑定到所述IP地址;
重复所述选择所述多个本地接口中的一者的步骤和所述确定是否可针对所述IP地址而配置所述多个本地接口中的所述选定者的步骤,直到所述多个本地接口中的至少一选定者被绑定到所述IP地址或所述多个本地接口中的每一选定者已被评估;以及
如果所述多个本地接口中无本地接口被绑定到所述IP地址,则指示绑定失败。
16.根据权利要求15所述的移动装置,其中所述软件指令进一步经配置以致使所述处理器执行所述确定所述多个本地接口中的所述选定者是否能够接收因特网数据的广播或多播串流的步骤,
其中所述软件指令进一步经配置以使得仅在所述多个本地接口中的所述选定者被确定为能够接收因特网数据的广播或多播串流的情况下才实现所述确定是否可针对所述IP地址而配置所述多个本地接口中的所述选定者的步骤。
17.根据权利要求15所述的移动装置,其中所述软件指令进一步经配置以致使所述处理器根据确定的优先级次序来选择所述多个本地接口中的一者。
18.根据权利要求15所述的移动装置,其中所述软件指令进一步经配置以致使所述处理器基于应用于所述多个本地接口中的每一选定者的特征的政策规则而根据确定的优先级次序来选择所述多个本地接口中的一者。
19.一种移动装置,其包含:
处理器;以及
耦合到所述处理器的存储器,所述存储器在其中存储有软件指令,所述软件指令经配置以致使所述处理器执行以下步骤:
选择所述多个本地接口中的一者;
确定是否针对所述IP地址而配置所述多个本地接口中的所述选定者;
如果确定未针对所述IP地址而配置所述多个本地接口中的所述选定者,则确定是否可针对所述IP地址而配置所述多个本地接口中的所述选定者;
如果确定可针对所述IP地址而配置所述多个本地接口中的所述选定者,则针对所述IP地址而配置所述多个本地接口中的所述选定者;
如果针对所述IP地址而配置所述选定接口,则将所述多个本地接口中的所述选定者绑定到所述IP地址;
重复所述上述步骤,直到所述多个本地接口中的至少一者被绑定到所述IP地址或所述多个本地接口中的每一者已被评估;以及
如果所述多个本地接口中无本地接口被绑定到所述IP地址,则指示绑定失败。
20.根据权利要求19所述的移动装置,其中所述软件指令进一步经配置以致使所述处理器执行确定所述多个本地接口中的所述选定者是否能够接收因特网数据的广播或多播串流的步骤,且
其中所述软件指令进一步经配置以使得仅在所述多个本地接口中的所述选定者被确定为能够接收因特网数据的广播或多播串流的情况下,才实现所述选择所述多个本地接口中的一者的步骤和所述确定是否可针对所述IP地址而配置所述多个本地接口中的所述选定者的步骤。
21.根据权利要求19所述的移动装置,其中所述软件指令进一步经配置以致使所述处理器执行以下步骤:仅在不针对所述IP地址而配置所述多个本地接口中的所述选定者的情况下,才实现选择所述多个本地接口中的一者和确定是否可针对所述IP地址而配置所述多个本地接口中的所述选定者。
CNA2007800292563A 2006-08-09 2007-08-07 用于通过简化的套接字接口来支持广播/多播因特网协议包的设备和方法 Pending CN101502080A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US83678006P 2006-08-09 2006-08-09
US60/836,780 2006-08-09

Publications (1)

Publication Number Publication Date
CN101502080A true CN101502080A (zh) 2009-08-05

Family

ID=39387163

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2007800292563A Pending CN101502080A (zh) 2006-08-09 2007-08-07 用于通过简化的套接字接口来支持广播/多播因特网协议包的设备和方法

Country Status (7)

Country Link
US (1) US8180899B2 (zh)
EP (1) EP2060093A2 (zh)
JP (1) JP2010500832A (zh)
KR (1) KR20090047518A (zh)
CN (1) CN101502080A (zh)
TW (1) TW200818817A (zh)
WO (1) WO2008070217A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035657A (zh) * 2009-10-02 2011-04-27 佳能株式会社 具有多个网络接口的通信设备及该通信设备的通信方法
CN105191480A (zh) * 2013-03-05 2015-12-23 高通股份有限公司 移动设备中的动态接口选择

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080186971A1 (en) * 2007-02-02 2008-08-07 Tarari, Inc. Systems and methods for processing access control lists (acls) in network switches using regular expression matching logic
US8427943B2 (en) * 2008-01-28 2013-04-23 Cisco Technology, Inc. Bandwidth-aware multicast load balancing on a multi-interface host
CN103377261A (zh) * 2012-04-28 2013-10-30 瑞昱半导体股份有限公司 管理存取控制清单的装置、执行装置以及方法
US20160142219A1 (en) * 2014-11-13 2016-05-19 Qualcomm Incorporated eMBMS Multicast Routing for Routers
CN108390777A (zh) * 2018-02-05 2018-08-10 深圳壹账通智能科技有限公司 通信接口的调用方法、装置、设备及计算机可读存储介质
CN110099403B (zh) * 2019-05-17 2022-07-19 腾讯科技(深圳)有限公司 一种数据传输方法、装置、设备及存储介质
CN111800824A (zh) * 2020-05-28 2020-10-20 上海诺行信息技术有限公司 智能仪表的数据传输系统、驱动接口封装装置及方法

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01106883A (ja) 1987-10-20 1989-04-24 Sumitomo Chem Co Ltd カルバモイルトリアゾール誘導体、その製造法およびそれを有効成分とする除草剤
US5493282A (en) 1992-05-29 1996-02-20 Motorola, Inc. Addressing method for conserving power in distributed information receivers
KR19980034552A (ko) * 1996-11-07 1998-08-05 김광호 소켓기능을 이용한 통신시스템의 소켓바인딩 방법
JPH1168839A (ja) * 1997-08-08 1999-03-09 Sony Corp データ伝送方法およびデータ伝送装置
US7174393B2 (en) * 2000-12-26 2007-02-06 Alacritech, Inc. TCP/IP offload network interface device
US6181697B1 (en) * 1998-03-31 2001-01-30 At&T Corp. Method for a unicast endpoint client to access a multicast internet protocol (IP) session and to serve as a redistributor of such session
US6954784B2 (en) * 2000-08-17 2005-10-11 International Business Machines Corporation Systems, method and computer program products for cluster workload distribution without preconfigured port identification by utilizing a port of multiple ports associated with a single IP address
US7230921B2 (en) 2001-04-02 2007-06-12 Telefonaktiebolaget Lm Ericsson (Publ) Concurrent use of communication paths in a multi-path access link to an IP network
US20040249957A1 (en) * 2003-05-12 2004-12-09 Pete Ekis Method for interface of TCP offload engines to operating systems
JP2006050515A (ja) 2004-06-30 2006-02-16 Ntt Docomo Inc 移動ノードおよび移動ノードの制御方法並びに移動ノード制御プログラム
US7835743B2 (en) * 2005-08-03 2010-11-16 Toshiba America Research, Inc. Seamless network interface selection, handoff and management in multi-IP network interface mobile devices

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102035657A (zh) * 2009-10-02 2011-04-27 佳能株式会社 具有多个网络接口的通信设备及该通信设备的通信方法
CN102035657B (zh) * 2009-10-02 2014-06-25 佳能株式会社 具有多个网络接口的通信设备及该通信设备的通信方法
CN105191480A (zh) * 2013-03-05 2015-12-23 高通股份有限公司 移动设备中的动态接口选择

Also Published As

Publication number Publication date
TW200818817A (en) 2008-04-16
WO2008070217A2 (en) 2008-06-12
JP2010500832A (ja) 2010-01-07
US20080040487A1 (en) 2008-02-14
US8180899B2 (en) 2012-05-15
WO2008070217A3 (en) 2008-12-24
KR20090047518A (ko) 2009-05-12
EP2060093A2 (en) 2009-05-20

Similar Documents

Publication Publication Date Title
CN101502080A (zh) 用于通过简化的套接字接口来支持广播/多播因特网协议包的设备和方法
US8788565B2 (en) Dynamic and distributed queueing and processing system
US11159647B2 (en) Image distribution in an edge computing system
CN101405993B (zh) 使用计算上下文的网络接口路由
CN102035828B (zh) 使用家庭通信网络中的节点的方法
US9411647B2 (en) Hierarchical routing and interface selection for multi-processor multimode network devices
CA2629230A1 (en) Optimizing communication using scaleable peer groups
US7864703B2 (en) Packet communication device
WO2022067829A1 (zh) 动态触发边缘应用服务器实例化的方法及装置
US7483952B2 (en) System transmitting unsolicited and unconfirmed computing platform service information to wireless devices
US20120089731A1 (en) Terminal apparatus and method of registering the same
EP1843550A1 (en) Transport medium selection to optimize device operation
EP1542404A1 (en) Sharing services on a network
CN111309691A (zh) 基于总线架构的数据共享交换系统和交换方法
CN101889470B (zh) 用于多连接的末端终端的内容提供系统、方法、业务服务器、存储单元、转发方法、应用服务器及蜂窝电话
WO2022083281A1 (zh) 消息传输方法、系统、电子设备和存储介质
CN113329042B (zh) 消息处理方法及系统、车联网系统、服务器、电子设备
CN116881040A (zh) 一种业务操作处理方法、装置、电子装置和存储介质
Bashah et al. Service discovery in future open mobile environments
CN106790632B (zh) 一种流数据的并发传输方法和装置
US7143313B2 (en) Support interface module bug submitter
CN106331051A (zh) 文件传输方法和系统以及接收文件装置、发送文件装置
JP2010518527A5 (zh)
US20030093536A1 (en) Support interface module
CN117336348A (zh) 一种应用调用方法、装置、电子装置和存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Open date: 20090805