用于对象交换网桥的装置、方法和系统的制作方法

文档序号:7918119阅读:161来源:国知局
专利名称:用于对象交换网桥的装置、方法和系统的制作方法
技术领域
本发明通常涉及到对来自跨接通信网络的无线装置的进行路由选择的装置、方法和系统。特别地,公开的发明涉及到一种装置、方法和系统,它使短距离射频(RF)无线点到点的通信能够越过通信网络建立网桥。
因特网因特网是由多个网络构成的网络系统。它是所布置用来相互通信的各种分散网络的互联。通过使用通用发送协议很大程度地促进了因特网所提供的互联和相互通信。
随着因特网使用量的增加,在因特网中可用的信息和/或服务的数量也增加了。这就使得因特网成为非常有价值的信息传输工具。
传输控制协议和网际协议(TCP/IP)通过在通常被称为因特网的无疆界通信网络中的这些系统和网络的互联可促进了计算机系统、数据库和计算机网络的增殖与膨胀。因特网已经发展并大规模采用了传输控制协议-网际协议(TCP-IP)。TCP/IP由国防部(DoD)研究方案所开发,将各个网络商制作的网络相互连接作为一个网络的网络即因特网的基础。TCP/IP的开发是由DoD的要求所驱动,它们要求具有一种网络即使在战争期间遭到损坏也可以持续运行,这样允许信息绕过被破坏的通信网络进行到目的地址的路由选择。
因特网是一个分组交换网络,这样,因特网上的信息被分成若干部分,称之为分组,并以分组的形式发送。分组包含了称为报头的IP地址信息,路由器使用它通过因特网中的中间节点促进从源向目的的分组发送。一旦到达目的,这些分组被重新组合形成原始信息,并重新请求任何丢失的分组。
协议的IP部分根据四位寻址机制负责对信息分组进行路由选择,地址由圆点分隔的四个数字来表达,每个数字的范围是从0到255,例如“123.255.0.123”。IP地址是由因特网权威及注册机构所指定,IP地址是唯一的。
协议的TCP部分用来检验从源发出的信息分组是否被目标计算机正确地接收了,如果没有,重新发送遭到破坏的分组。另外通常也使用不能确保发送正确的其它传输控制协议,诸如用户数据报协议(UDP)。TCP/IP协议在1991年1月IEEE/RFC1190中被规定。
对象交换(OBEX)协议对象交换是会话层协议,它可以被描述成二进制的HTTP协议。OBEX服务器实现的例子可以是OpenOBEX,这可以在站点sourceforge.net/projects/openobex中找到。
OBEX协议和说明书可以在微软公司1999年3月18日出版的“对点系统建立”(1.2版本)的IrOBEX,IrDA对象交换协议中找到。
蓝牙协议(BT)蓝牙是工作在未许可的2.4GHz工业、科学、医疗(ISM)频段的无线技术。蓝牙技术包括许多允许支持蓝牙的装置运行在构成微微网的对等环境中的协议。
蓝牙协议和说明书可以在2001年2月22日出版的“核心和协议子集”第1.1版第一卷和第二卷说明部分-蓝牙系统中找到。
在本发明的一个实施例中,OBEX网桥装置包含处理器;与处理器连接进行通信的存储器;存储在存储器中的程序,它包括在支持短距离RF(比如蓝牙)的OBEX网桥上从OBEX客户机接收OBEX编码信息的模块,对所接收的OBEX编码信息确定目的IP地址的模块,以及按照所确定的目的IP地址通过IP从支持近距离RF的OBEX网桥向OBEX服务器发送所接收的OBEX编码信息的模块。
在本发明的另一个实施例中,OBEX网桥装置包含处理器;与处理器连接进行通信的存储器;存储在存储器中的程序,它包括获得OBEX编码信息的模块,使用蓝牙GOEP协议子集在OBEX客户机和支持蓝牙的OBEX网桥之间建立基带通信信道的模块,将OBEX编码的信息封装成基带信息的模块,向OBEX网桥提供封装的基带信息的模块,在OBEX网桥内指定内部IP地址的模块,将IP地址与基带信息通信信道捆绑在一起的模块,在OBEX网桥和远程OBEX服务器之间建立TCP/IP通信信道的模块,从基带信道向TCP/IP信道对OBEX编码数据选择路由的模块。
在本发明的另一个实施例中,OBEX网桥装置包括处理器;与处理器连接进行通信的存储器;在存储器中存储的程序,它包括根据上传基带信息的OBEX网桥存储器中的存储空间创建客户机基带句柄的模块,在OBEX网桥内创建内部IP地址使信息通过IP地址进出通信网络的模块,在存储器中创建入口用来存储客户机基带句柄数据类型的模块,在存储器中创建入口用来存储IP地址数据类型的模块,将客户机基带句柄数据类型和各自IP地址数据类型捆绑在一起的模块。
在本发明的另一个实施例中,OBEX网桥装置包含处理器,与处理器连接进行通信的存储器,在存储器中存储的程序,它包括通过近距离无线链路接收从OBEX客户机发送的OBEX网桥编码信息的模块;在OBEX网桥处向OBEX客户机分配内部地址的模块;在OBEX网桥处将OBEX客户机与所分配的内部地址进行结合的模块;在OBEX网桥处选择特定的OBEX服务器用来发送所接收编码信息的模块;确定所选择的OBEX服务器目的IP地址的模块;通过该IP从OBEX网桥向所选择的OBEX服务器发送所接收的OBEX编码信息的模块。
上述的优点和特征仅仅是代表性的实施例的优点和特征,它不是全部的和/或专有的特征。它们的出现仅仅是为了帮助了解本发明。需要理解的是它们不代表权利要求中所定义的本发明的全部,不应该被认为是限制由权利要求定义的发明,或者是限制按照权利要求的相应产品。例如,这些优点中某些可能是相互矛盾的,它们不能在同一个实施例中出现。同样,有的优点对本发明的某个方面适用,对本发明的其它方面就不适用了。此外,所阐述的发明的某些方面在此没有进行讨论。然而,对于此处所讨论的那些与没有在此讨论的部分有关的内容不应该进行推论,除了是为了减小空间和减少重复之外。这样,在确定相应产品的时候这些特征和优点的简述不应该被认为是决定性的。参照附图和权利要求,在下面的介绍中本发明的其它特征和优点是显而易见的。


图1为根据本发明的一个实施例支持短距离RF和对象交换(OBEX)的客户机终端的示意图;附图2根据本发明的一个实施例详细介绍了支持短距离RF的OBEX网桥的示意图;附图3为根据本发明的一个实施例OBEX服务器的示意图;附图4根据本发明的一个实施例介绍了客户机-服务器-网桥的连接400,并提供了示意性的数据流程图;以及附图5详细介绍了示意性的OBEX客户机、OBEX网桥和OBEX服务器之间示意性的信息流的流程图。
客户机的系统在一个非限制性的实施例中,客户终端可以包含时钟103,中央处理单元(CPU)102,电源104,输入装置108,109,输出装置110,111,(I/O)部分112,105和107。电源104向客户机供电。I/O部件之一最好是能够发送和接收蓝牙协议信息的蓝牙芯片106诸如剑桥硅无线通信公司的蓝核IC和蓝牙收发两用机107。需要理解的是在这个示意性的实施例中使用蓝牙部件/协议的目的是介绍而不是限制,因此相应地可以采用其它短距离射频技术。作为选择,客户机可以采用其它无线协议收发两用机112,诸如在蜂窝远程通信中采用的那样。通常,尽管没有必要,但是客户机部件通过系统总线177全部互联和/或进行通信。系统时钟103通常带有石英振荡器并提供基带信号。时钟通常和系统总线以及各种装置结合在一起,这些装置用来增加或减小客户机中相互连接的其它部件的基带频率。在客户机中的时钟和其它部件在整个客户机中驱动代表信息的信号。在整个客户机中那些代表信息的信号的发送和接收通常被称为通信。这些通信信号还可以被发送,接收,并且成为瞬时客户机上向通信网络、输入装置,微机系统(例如服务器),网桥、其它客户端、外围装置等等返回信号和/或应答信号的通信根据。当然,上述装置任何一种都可以直接和其它装置以及和CPU连接,并且可以按照各种变型来组装,诸如各种支持无线短距离RF的装置如便携式电话,便携式数字助理(PDA),便携式电脑等等,但是不限于这些。作为选择客户机可以包括各种输入/输出装置,其中它们通过系统总线被安排直接/间接和CPU进行通信。这样的输入装置可以包括话筒108,输入键盘109,感光触摸屏(未画出)等等。输出装置包括液晶显示器110和扬声器111。
CPUCPU102至少包含一个运行程序模块所必需的数据处理器,该程序模块用来执行用户和/或系统产生的请求。CPU可以是诸如英特尔奔腾处理器等的微处理器。根据常规的数据处理技术,CPU通过经过传输导线的信号和存储器交互用来执行所存储的程序代码。这种传输的信号在通信网络内促进了通信并且向上通过了各种接口。
存储器需要理解的是客户机可以采用各种形式的存储器。在通常的结构中,存储器105包含ROM,RAM并可能是固定存储装置例如硬盘驱动器。同样,蓝牙芯片106在其自己的存储器内可以包含各种蓝牙协议提供给CPU102和/或存储器105。通常,任何允许处理器影响信息存储和/或检索的装置和/或装置都可以被认为是存储器105。这样,客户机通常需要和使用存储器。然而,存储器是可替代的技术和资源,这样可以使用彼此一致或者相互替代的各种存储器实施例。
模块集存储器105可以包含程序模块和/或数据,比如操作系统模块130(操作系统);OBEX客户机应用程序121;通用对象交换协议子集(GOEP),它也用作蓝牙协议子集服务;缓冲存储器123;蜂窝通信协议;蓝牙协议堆栈124;其它短距离射频协议等等。蓝牙协议堆栈可以包括链路管理器(LM)174,逻辑链路控制和适配协议(L2CAP)175,服务搜索协议(DSP)176,RFCOMM177(串行线模拟协议)等等,但不限于此。虽然在存储器105中通常并最好存储非常规软件模块诸如那些在模块集内的模块,但是它们也可以在其它存储器中装入和/或存储,比如外围装置,ROM,通过通信网络的远程存储装置,各种形式的存储器等等。
操作系统操作系统模块130是使客户机运行的可执行程序代码。通常,操作系统促进访问I/O,网络接口,外围装置,存储装置等。操作系统还可以提供用户接口功能使用户和客户机进行交互。所示的客户机操作系统是Linux。操作系统可以和模块集内其它的模块以及自身或者类似的模块进行通信。通常,操作系统可以向/与其它程序模块,用户接口等等进行通信。例如,操作系统可以包含、产生、获得并提供程序模块,系统,用户,通信数据,请求和/或响应并进行通信。一旦被CPU执行,操作系统就会产生与通信网络、数据、I/O、外围装置、程序模块、存储器、用户输入装置等的交互作用。最好操作系统提供通信协议允许客户机和其它实体通过通信网络144进行通信。客户机可以使用各种通信协议作为副载波输送机制用来和其它支持短距离RF的装置进行交互,比如TCP/IP122,蓝牙(通过RFCOMM),OBEX121等等,但不限于这些。
蓝牙协议在存储器105中存储了各种蓝牙协议124和/或其它短距离RF协议。蓝牙协议可以包括链路管理器协议174(以后称为LM)。链路管理软件在客户机的CPU上运行用来管理自身和其它蓝牙装置之间的通信。另外一个协议是服务搜索协议176(以后称为SDP)。当蓝牙客户机和其它装置连接之后,服务搜索协议对其它蓝牙装置的能力进行查询和识别。另一个协议是逻辑链路控制和适配协议175(以后称之为L2CAP)。当数据在客户机和其它支持蓝牙的装置之间通信时,L2CAP提供数据的多路复用、分组和组合。存储在存储器105中的另一个协议是RFCOMM,它是一个串行线模拟协议,通过模拟串行线使蓝牙装置相互间进行通信。各种协议相互作用,通过基带107用来对CPU提供的数据进行编码和解码。LM和L2CAP在直接在基带107的上层运行,而RFCOMM和SDP在L2CAP的上层运行。
此外,对象交换(以后称为OBEX)客户机应用程序121在RAM105中。客户机应用程序根据用户向客户机装置的输入建立OBEX请求,接收和翻译来自OBEX服务器199的响应。OBEX是一个会话层协议,它使得对象的交换以简单和同步的方式进行。OBEX产生与在万维网中使用的HTTP类似的对象交换服务,但是OBEX的运行需要的资源更少。OBEX客户机应用程序使客户机在RFCOMM上交换对象和通信。此外,存储器可以包含通用对象交换协议子集(以后称为“GOEP”或者“协议子集”)125。GOEP说明了一种方式,其中蓝牙装置可以支持包含文件传输子协议、对象推入协议和同步子协议的对象交换装置。GOEP说明部分通过定义应用层和蓝牙协议中的高层(例如L2CAP,RFCOMM等)互操作能力来允许蓝牙装置相互操作。此外,存储器105还提供一个区域用作缓冲器123。
客户机101可以通过通信网络144以无线的方式133通信,最终到达OBEX服务器199。这一点通过OBEX网桥150得以促进。
短距离RF通信的OBEX网桥附图2根据本发明的一个实施例详细介绍了支持短距离RF的OBEX网桥(以后称为“网桥”)的示意图。
OBEX网桥系统在非限制性的实施例中,网桥250可以包含时钟203,中央处理单元(CPU)202,存储器205,电源204,I/O部件220,207。电源104向网桥供电。I/O部件之一是能够发送和接收蓝牙协议信息的蓝牙芯片206比如剑桥硅无线电通信公司的蓝核IC和蓝牙收发两用机107。正如上面与“客户机系统”(附图1)相关的部分所讨论的,在示意性的实施例中使用蓝牙部件/协议的目的是介绍而不是限制,因此可以相应地采用其它短距离RF技术。通常,尽管没有必要,但是客户机的部件都是通过系统总线277全部互联和/或进行通信。系统时钟203通常带有石英振荡器并提供基带信号。时钟通常和系统总线以及各种装置结合在一起,这些装置用来增加或减小网桥中相互连接的其它部件的基带频率。在客户机中的时钟和其它部件在整个客户机中驱动代表信息的信号。在整个客户机中代表信息的信号的发送和接收通常称为通信。这些通信信号还可以被发送,接收,并且成为在瞬时客户机上向通信网络、输入装置,微机系统(例如服务器),网桥、其它客户端、外围装置等等返回和/或应答信号的通信根据。当然,上述装置任何一种都可以直接和其它装置以及和CPU连接,并且可以按照各种变型来组装,诸如各种支持无线短距离RF的装置如便携式电话,便携式数字助理(PDA),便携式电脑等等。作为选择,客户机可以包括各种输入/输出装置,它们被安排通过系统总线直接/间接和CPU进行通信。蓝牙模块206通过无线电收发两用机207进行无线通信,而网络接口诸如以太网卡、ISDN卡、DSL卡等等激活与通信网络244的通信266。这样,网桥250在短距离RF通信233,207和网络通信220,266,244之间建立了网桥。
CPUCPU102至少包含一个运行程序模块所必需的数据处理器,该程序模块用来执行用户和/或系统产生的请求。CPU可以是诸如英特尔奔腾处理器等的微处理器。根据常规的数据处理技术,CPU通过经过传输导线的信号和存储器交互用来执行所存储的程序代码。这种传输的信号在通信网络内促进了通信并且在上面通过了各种接口。
存储器需要理解的是网桥可以采用各种形式的存储器。在典型的结构中,存储器205包含ROM,RAM并可能是固定存储装置例如硬盘驱动器。同样,蓝牙芯片206可以在其自己的存储器内包含各种蓝牙协议提供给CPU102和/或存储器105。通常,任何允许处理器影响信息存储和/或检索的装置和/或装置可以被认为是存储器105。这样,网桥通常需要和使用存储器。然而,存储器是可替代的技术和资源,这样可以使用彼此一致或者相互替代的任意数目的存储器实施例。
模块集存储器205可以包含程序模块和/或数据,比如操作系统模块230(操作系统);OBEX客户机应用程序221;TCP/IP堆栈222;普通对象交换协议子集(GOEP),它也用作蓝牙协议子集;缓冲存储器223;蜂窝通信协议;蓝牙协议堆栈224;其它短距离射频协议等等,但不限于这些。蓝牙协议堆栈可以包括链路管理器(LM)274,逻辑链路控制和适配协议(L2CAP)275,服务搜索协议(DSP)276,RFCOMM277(串行线模拟协议)等等。虽然在存储器205中通常并最好存储非常规软件模块诸如那些在模块集内的模块,但是它们也可以在其它存储器中装入和/或存储,比如外围装置,ROM,通过通信网络的远程存储装置,各种形式的存储器,等等。
操作系统操作系统模块230是使客户机运行的可执行程序代码。通常,操作系统促进访问I/O,网络接口,外围装置,存储装置等等。操作系统还可以提供用户接口功能使用户和客户机进行交互。所示的客户机操作系统是Linux。操作系统可以向/和模块集内其它的模块包括自身或者类似的模块进行通信。通常,操作系统和其它程序模块,用户接口等等进行通信。例如,操作系统可以包含、产生、获得并提供程序模块,系统,用户,通信数据,请求和/或响应并与之通信。一旦被CPU执行,操作系统就会产生与通信网络、数据、I/O、外围装置、程序模块、存储器、用户输入装置等等的交互作用。最好操作系统提供通信协议允许客户机和其它实体通过通信网络244进行通信。网桥可以使用各种通信协议作为副载波传输机制用来和其它支持短距离RF的装置进行交互,比如蓝牙(通过RFCOMM),多点传送,OBEX 121,TCP/IP 122,UDP,单点传送等等,但不限于这些。TCP/IP堆栈通过网络接口220进行TCP/IP通信。
蓝牙协议在存储器205中存储了各种蓝牙协议224和/或其它短距离RF协议。蓝牙协议可以包括链路LM274,SDP276,L2CAP275,RFCOMM277以及已经在上面讨论过的基带。链路管理器软件在客户机的CPU上运行用来管理自身和其它蓝牙装置诸如客户机101之间的通信。当蓝牙网桥和其它装置连接之后,服务搜索协议对其它蓝牙装置能力进行查询和识别。各种协议相互作用,通过基带207用来对CPU提供的数据进行编码和解码。LM和L2CAP在直接在基带207的上层运行,而RFCOMM和SDP在L2CAP的上层运行。
此外,对象交换(以后称为OBEX)客户机应用程序221在RAM205中。网桥应用从OBEX客户机101中获取信息并将这些信息进行中继提供给OBEX服务器299。
OBEX网桥250可以通过蓝牙收发两用机207以无线的方式133和客户机101进行通信266。此外,OBEX网桥通过网络接口220被安排与通信网络244进行通信,该网络产生和OBEX服务器299的通信298。
OBEX服务器附图3为根据本发明的一个实施例OBEX服务器的示意图。
OBEX服务器系统在一个非限制性的实施例中,OBEX服务器399可以包含时钟303,中央处理单元(CPU)302,存储器305,电源304,I/O部件380,381,382和320。电源304向OBEX服务器供电。I/O接口可以是任意数目的总线,允许外围装置和输入输出装置的互联,比如键盘382,监视器381,网络接口320等等,但是并不限于这些。通常,尽管没有必要,但是客户部件通过系统总线377全部互联和/或进行通信。系统时钟303通常带有石英振荡器并提供基带信号。时钟通常和系统总线以及各种装置结合在一起,这些装置用来增加或减小网桥中互联的其它部件的基带频率。在客户机中的时钟和其它部件在整个客户机中驱动代表信息的信号。这种代表信息的信号在整个客户机中的发送和接收通常被称为通信。这些通信信号还可以被发送,接收,并且成为在瞬时客户机上向通信网络、输入装置,其它微机系统(例如服务器),网桥、其它客户端、外围装置等等返回信号和/或应答信号的通信的原因。当然,上述装置任何一种都可以直接和其它装置以及和CPU连接,并且可以按照变型来组装,诸如所示的各种计算机系统和服务器。作为选择,客户机可以包括各种输入/输出装置,它们通过系统总线被安排直接/间接和CPU进行通信。网络接口320可以使以太网卡、ISDN卡、DSL卡等等用来产生和通信网络344之间的通信398。
CPUCPU102至少包含一个运行程序模块所必需的数据处理器,该程序模块用来执行用户和/或系统产生的请求。CPU可以是诸如英特尔奔腾处理器等微处理器。根据常规的数据处理技术,CPU通过经过传输导线的信号和存储器交互用来执行所存储的程序代码。这种传输的信号在通信网络内促进了通信并且向上通过了各种接口。
存储器需要理解的是OBEX服务器可以采用各种形式的存储器305。在通常的结构中,存储器305包含ROM,RAM并可能是固定存储装置340例如硬盘驱动器。通常,任何允许处理器影响信息存储和/或检索的装置和/或装置可以被认为是存储器305。这样,OBEX服务器通常需要和使用存储器。然而,存储器是可替代的技术和资源,这样可以使用彼此一致或者相互替代的任意数目的存储器实施例。
模块集存储器305可以包含程序模块和/数据集,比如操作系统模块330(操作系统);OBEX服务器应用程序321;TCP/IP堆栈322;OBEX文件内容341,它可以在存储装置340中存储并按照需要在存储器305中检索。
OBEX服务器应用程序OBEX服务器应用程序模块321是所存储的由CPU执行的程序代码。OBEX服务器可以是常规的OBEX信息服务器,如openOBEX,但并不限于此。作为选择,信息服务器允许通过诸如C++、Java、JavaScript、Active X、公共网关接口(CGI)脚本、动态服务器页面(ASP)等等执行程序模块。为了产生动态内容(相当于用作网络服务器)需要执行这些程序模块。作为选择,信息服务器支持安全通信协议,诸如文件传输协议(FTP)、超文本传输协议(HTTP)、对象交换(OBEX)协议,安全超文本传输协议(HTTPS),加密套接字协议层(SSL)等等,但并不限于这些。通常,OBEX服务器以交换对象的形式提供结果,通过和其它程序模块的相互作用供给受控的一类交换目标使用。OBEX服务器可以和模块集中其它的模块包括自己和类似的装置进行通信。更经常的是OBEX服务器和操作系统、其它程序模块、用户接口等等进行通信。信息服务器可以包含、产生、获得并提供程序模块,系统,用户,通信数据,请求和/或响应并进行通信。
操作系统操作系统模块330是使客户机运行的可执行程序代码。通常,操作系统促进访问I/O,网络接口,外围装置,存储装置等等。操作系统还可以提供用户接口功能使用户和网桥进行交互。操作系统最好是一般的产品例如AppleMacintosh OS X服务器,AT&T Plan 9,Microsoft Windows NT Server,Unix等操作系统。操作系统最好是高容错、可升级和安全的操作系统。操作系统可以和模块集内其它的模块以及自身或者类似的模块进行通信。通常,操作系统和其它程序模块,用户接口等等进行通信。例如,操作系统可以包含、产生、获得或者提供程序模块,系统,用户,通信数据,请求和/或响应并进行通信。一旦被CPU执行,操作系统就会产生与通信网络、数据、I/O、外围装置、程序模块、存储器、用户输入装置和/或类似装置的交互作用。最好操作系统提供通信协议允许客户机和其它实体通过通信网络344进行通信。网桥可以使用各种通信协议作为副载波输送机制用来和其它装置进行交互,比如多点传送,OBEX121,TCP/IP 122,UDP,单点传送等协议,但不限于这些。TCP/IP堆栈通过网络接口320产生TCP/IP通信。
通过网络接口320OBEX服务器被安排和通信网络344进行通信398。这就产生了和OBEX网桥250的通信366,该网桥被安排和OBEX客户机101进行通信333。
OBEX客户机-网桥-服务器连接附图4根据本发明的一个实施例介绍了OBEX客户机-网桥-服务器连接400并提供了示意性的数据流程图。数据在OBEX客户机401,OBEX网桥450以及OBEX服务器499之间流动。OBEX客户机在OBEX网桥450附近通过基带406建立诸如蓝牙等短距离RF通信连接433。OBEX客户机运行OBEX客户机应用程序121。OBEX客户机应用程序以OBEX格式建立特定的数据请求。这些请求采用短距离RF协议诸如蓝牙协议被客户机的CPU处理成RFCOMM数据块423a。链接管理器428a和L2CAP475a帮助携带RFCOMMM编码的OBEX信息并将其提供给基带收发两用机406a作为数据,它使用蓝牙协议通过和OBEX网桥的基带收发两用机406b建立连接来向OBEX网桥450通信。接收的数据信号在OBEX网桥中采用相反的路线;在OBEX网桥基带装置406b中由OBEX网桥450接收的来自OBEX客户机的RF信息由LM478b和L2CAP 475b经过RFCOMM 423b解码成连续的数据格式,产生了来自客户机401的原始OBEX信息。
对于每个建立连接433的OBEX客户机,OBEX网桥450对经过RFCOMM423b信道提供的信息建立句柄(通常句柄是一个指针,表明缓冲存储器223的存储区域),并对该句柄分配内部唯一的IP地址并将该IP与句柄结合。这样,OBEX网桥建立并保持一个至少两列(网桥表)的表式的数据结构,它包括从客户机通信连接建立的RFCOMM信道的句柄487(客户机RFCOMM句柄)以及一个所产生有关的内部IP地址488(客户机IP地址)。网桥表可以使用各种标准数据结构来实现,比如数组、散列、(连接)列表、结构体等等。这些数据结构可以存储在存储器和/或(结构)文件中。
OBEX网桥应用程序421通过客户机RFCOMM句柄获得最初由客户机121产生的OBEX数据请求(对于从特定的客户机401获得的数据)。一旦从缓冲存储器中获得OBEX数据请求,OBEX网桥应用程序421将OBEX数据请求封装成TCP/IP分组。然后这些分组传送给TCP/IP层422a,该层提供TCP/TP信息作为数据链路407a,它最终通过物理载体介质诸如以太网420a传送。在产生TCP/IP分组报头的时候,OBEX网桥立刻附加上原始的IP地址作为所产生的与特定客户机RFCOMM句柄487相关的客户机IP地址488;OBEX网桥应用程序可以通过查询网桥表489来做到这一点。在确定OBEX数据请求的目的IP地址时,OBEX网桥应用程序421可以查询内部的OBEX服务器查询列表。该查询列表由IP地址组成。列表可以包含单独的入口或者大量的IP地址。在查询列表中选择使用哪个OBEX服务器的决策可以通过任意数目的负荷平衡和/或者前后关系敏感性试探法来确定。例如,根据客户机GOEP协议和擅长于文件传输协议的OBEX服务器,可以确定对象推进协议或同步协议。在另外一个非限制性的实施例中,可以使用低使用负荷的OBEX服务器。查询列表可以使用各种标准数据结构来实现,比如数组、散表、(连接)列表、结构体等等。这些数据结构可以存储在存储器和/或(结构)文件中。一旦在所产生的TCP/IP分组中附加了源IP地址和目的IP地址,通过OBEX网桥网络接口420a使来自OBEX网桥的TCP/IP信息进行通信。来自OBEX网桥421的OBEX信息466通过通信网络344发送给OBEX服务器499上的网络接口420。这些信息依次提供给OBEX服务器499的数据链路407b并以TCP/IP分组的形式提供,这些分组被OBEX服务器应用软件221翻译。OBEX服务器应用软件221然后处理OBEEX编码数据和请求,并通过网桥450向客户机401返回结果和响应。这样,来自OBEX服务器应用程序221的OBEX响应信号可以沿着来路相反的方向返回。
这样,概念上的RFCOMM信道423,433b提供了OBEX客户机和OBEX网桥433之间的连接,该连接是通过基带406RF信号产生。此外,概念上的TCP/IP连接466b提供了OBEX网桥和OBEX服务器466之间的TCP连接,该连接是通过网络接口420和通信网络344产生。这样,客户机和网桥之间的RFCOMM信道以及网桥和服务器之间的TCP/IP连接产生了概念上的OBEX连接400。需要指出是,可以通过通信网络产生OBEX连接并且OBEX服务器没有必要放置在OBEX客户机附近的地方,相反可以通过网桥在诸如因特网之类的通信网络中产生通信,这一点是很重要的。
OBEX服务器附图5详细介绍了OBEX客户机、OBEX网桥和OBEX服务器之间信息流的流程图示例。方框501说明OBEX客户机应用程序121被初始化的情况。通过输入键盘、语音或者其它输入装置产生命令可以将应用初始化,这些输入装置产生被客户机CPU所执行的应用程序。在一个非限制性的实施例中,当客户机启动时OBEX客户机应用程序被初始化。方框502说明一旦OBEX客户机应用程序被初始化,客户机按照附图4所讨论的那样与OBEX网桥建立短距离RF连接的情况,例如蓝牙等。
方框503介绍了当在客户机和OBEX网桥应用之间建立通信时,客户机使用服务搜索协议来查询其它短距离RF装置的容量和相关的GOEP参数(在这种情况下是访问点(AP),即包括OBEX网桥的AP,它包含网桥应用程序)。方框504介绍了使用服务搜索协议的OBEX应用网桥响应,它给出了GOEP协议所需的参数。方框505介绍了客户机根据GOEP协议初始化协议,它通过OBEX网桥从服务器中接收。方框506介绍了在客户机和OBEX网桥应用之间形成RFCOMM信道的情况。
方框507介绍了当在客户机和网桥之间形成RFCOMM信道时,网桥内部指定IP以及将它和RFCOMM绑定的情况。方框508介绍了当产生并将内部IP地址绑定到客户机RFCOMM句柄上时,其后OBEX网桥和远程OBEX服务器建立TCP/IP连接的情况。方框509介绍了当和OBEX服务器建立TCP/IP后,OBEX客户机接着通过RFCOMM连接开始向OBEX网桥发送数据的情况。方框510介绍了网桥通过RFCOMM连接从客户机接收数据并将其封装成TCP/IP分组的情况。因此OBEX应用网桥421从客户机的RFCOMM通信系统433中向OBEX网桥中的TCP/IP网络接口对数据选择路由。这些封装的TCP/IP分组向OBEX网桥网络接口420a发送。当OBEX应用网桥421将数据编码成TCP/IP分组后,数据发送给OBEX服务器,其中OBEX服务器应用程序221此后获得这些数据并处理OBEX请求。任何来自OBEX服务器的响应将通过TCP/IP通信系统经过OBEX服务器网络接口420b回送给网桥。
方框511介绍了按照OBEX网桥产生的相应的TCP/IP地址OBEX网桥450接收来自OBEX服务器499去往OBEX客户机401的响应的情况。OBEX网桥使用网桥列表489来查询RFCOMM句柄487,它和从OBEX服务器接收信息的客户机IP地址488相关。接着,网桥将从OBEX服务器以TCP/IP形式接收的数据封装,对来自TCP/IP网络接口的数据选择到RFCOMM句柄的路由。这种路由选择通过附图4和方框507中所示的在建立RFCOMM句柄的基础上建立的查询表来实现的。这样,网桥列表489充当路由选择列表以保证信息合理地在每个客户机数据请求和来自于OBEX服务器任何相应的结果之间流动。在布置有多个和OBEX网桥进行通信的支持近距离RF的客户机和多个OBEX的环境下这是非常重要的。这样当在查找正确的RFCOMM时,从OBEX服务器获得的TCP/IP信息被封装成RFCOMM分组。OBEX网桥然后通过无线基带信道向客户机回送RFCOMM编码的数据。
方框512介绍了客户机通过RFCOMM信道接收数据的情况。方框513说明方框509、510、511和512可以被重复直到客户机和RFCOMM链路或者短距离RF链路(例如蓝牙)解除连接。
方块514介绍了网桥对远程服务器中止TCP/IP连接并且释放指定的IP的情况。
根据上面详细的介绍,显然本发明可以用于实践或者产生下面之一在OBEX客户机和OBEX服务器之间通过通信网络的无线通信方法,包含获得OBEX编码信息;使用蓝牙GOEP协议在OBEX客户机和支持蓝牙的OBEX网桥之间建立基带通信信道;将OBEX编码的信息封装成基带信息;向OBEX网桥提供封装的基带信息;在OBEX网桥内指定内部IP地址;将该IP地址与基带通信信道绑定在一起;在OBEX网桥和远程OBEX服务器之间建立TCP/IP通信信道;对来自基带信道的编码数据选择到TCP/IP信道的路由。
这种方法还进一步包括通过TCP/IP信道接收来自远程服务器的OBEX编码数据的响应;参照IP地址将OBEX编码数据响应选择到基带信道的路由。
通过通信网络在OBEX客户机和OBEX服务器之间无线通信的系统,包括获得OBEX编码信息的装置;使用蓝牙GOEP协议在OBEX客户机和支持蓝牙的OBEX网桥之间建立基带通信的装置;将OBEX编码信息封装成基带信息的装置;向OBEX网桥提供基带封装信息的装置;在OBEX网桥内指定内部IP地址的装置;将IP地址和基带通信信道绑定在一起的装置;在OBEX网桥和远程OBEX服务器之间建立TCP/IP通信信道的装置;对来自基带信道的OBEX编码数据选择到TCP/IP信道的路由的装置。
这种系统还进一步包括通过TCP/IP信道从远程服务器接收OBEX编码数据响应的装置;参照IP地址对OBEX编码数据响应选择到基带信道的路由的装置。
存储在计算机可读介质上的计算机程序,该程序包括获得OBEX编码信息的模块;使用蓝牙GOEP协议在OBEX客户机和支持蓝牙的OBEX网桥之间建立基带通信的模块;将OBEX编码信息封装成基带信息的模块;向OBEX网桥提供基带封装信息的模块;在OBEX网桥内指定内部IP地址的模块;将IP地址和基带通信信道绑定在一起的模块;在OBEX网桥和远程OBEX服务器之间建立TCP/IP通信信道的模块;对来自基带信道的OBEX编码数据选择到TCP/IP信道的路由的模块。
介质还包括通过TCP/IP信道从远程服务器接收OBEX编码数据响应的模块;参照IP地址为OBEX编码数据响应选择到基带信道的路由的模块。
OBEX网桥装置,包括处理器,与处理器相连通信的存储器;在存储器中存储的程序,包括获得OBEX编码信息的模块;使用蓝牙GOEP协议在OBEX客户机和支持蓝牙的OBEX网桥之间建立基带通信的模块;将OBEX编码信息封装成基带信息的模块;向OBEX网桥提供基带封装信息的模块;在OBEX网桥内指定内部IP地址的模块;将IP地址和基带通信信道绑定在一起的模块;在OBEX网桥和远程OBEX服务器之间建立TCP/IP通信信道的模块;对来自基带信道的OBEX编码数据选择到TCP/IP信道的路由的模块。
这种装置还包括通过TCP/IP信道从远程服务器接收OBEX编码数据响应的模块;参照IP地址为OBEX编码数据响应选择到基带信道的路由的模块。
建立数据结构将IP地址绑定到RFCOMM信道的方法,包括根据上传基带信息的OBEX网桥的存储器中的存储空间来建立客户机基带句柄;在OBEX网桥内建立内部IP地址,通过IP地址供信息流入流出通信网络;在存储器中建立一个入口用来存储客户机基带句柄数据类型;在存储器中建立入口用来存储IP地址数据类型;将客户机基带句柄数据类型和各自的IP地址数据类型绑定在一起。
建立数据结构将IP地址和RFCOMM通信信道绑定在一起的系统,包括根据上传基带信息的OBEX网桥的存储器中的存储空间来建立客户机基带句柄的装置;在OBEX网桥内建立内部IP地址,通过IP地址供信息流入流出通信网络的装置;在存储器中建立一个入口用来存储客户机基带句柄数据类型的装置;在存储器中建立入口用来存储IP地址数据类型的装置;将客户机基带句柄数据类型和各自的IP地址数据类型绑定在一起的装置。
存储在计算机可读介质上的计算机程序,该程序包括根据上传基带信息的OBEX网桥的存储器中的存储空间来建立客户机基带句柄的模块;在OBEX网桥内建立内部IP地址,通过IP地址供信息流入流出通信网络的模块;在存储器中建立一个入口用来存储客户机基带句柄数据类型的模块;在存储器中建立入口用来存储IP地址数据类型的模块;将客户机基带句柄数据类型和各自的IP地址数据类型绑定在一起的模块。
OBEX网桥装置,包括处理器,与处理器相连通信的存储器;在存储器中存储的程序,它包括根据上传基带信息的OBEX网桥的存储器中的存储空间来建立客户机基带句柄的模块;在OBEX网桥内建立内部IP地址,通过IP地址供信息流入流出通信网络的模块;在存储器中建立一个入口用来存储客户机基带句柄数据类型的模块;在存储器中建立入口用来存储IP地址数据类型的模块;将客户机基带句柄数据类型和各自的IP地址数据类型绑定在一起的模块。
由处理器所执行的程序模块所访问的存储器,包含在存储器中存储的数据结构,数据结构包括客户机基带句柄数据类型;IP地址数据类型;在客户机基带句柄数据类型和IP地址数据类型之间的绑定的相关参考。
需要理解的是上面的描述只是介绍性的实施例的代表。为了读者的方便,上面的介绍集中在所有可能的实施例的代表性样品,即能够说明本发明原理的样品。介绍中不想全部列举出所有可能的变型。可替代的实施例可能没有在本发明的特定部分提出或者没有介绍的可替代实施例可以用于某一部分并不能认为是放弃对那些可替代实施例的权利要求。需要注意的是很多没有介绍的实施例包含了本发明相同的原理,另外的一些实施例是相当的。这样,需要理解的是这里所示和介绍的实施例和其变型仅仅是介绍本发明的原理,在不偏离本发明的范围和精神的条件下可以进行各种改进。
权利要求
1.在OBEX客户机和OBEX服务器之间通过通信网络进行无线通信沟方法,包括在支持射频的OBEX网桥处接收来自OBEX客户机的OBEX编码信息;确定用来发送所接收的OBEX编码信息的目的IP地址;按照确定的IP地址通过IP从支持射频的OBEX网桥向OBEX服务器发送OBEX编码数据。
2.权利要求1的方法,还包括从OBEX服务器通过IP接收OBEX编码数据的响应;为OBEX编码的数据响应选择到OBEX客户机的路由。
3.通过通信网络在OBEX客户机和OBEX服务器之间进行无线通信的系统,包括在支持射频的OBEX网桥处从OBEX客户机接收OBEX编码的信息的装置;确定用来发送OBEX编码信息的目的IP地址的装置;按照所确定的目的IP地址通过IP从支持射频的OBEX网桥向OBEX服务器发送所接收的OBEX编码信息的装置。
4.权利要求3的系统,还包括从OBEX服务器通过IP接收OBEX编码数据的响应的装置;为OBEX编码数据响应选择到OBEX客户机的路由的装置。
5.存储在计算机可读介质上的计算机程序,该程序包括在支持射频的OBEX网桥处从OBEX客户机接收OBEX编码信息的模块;确定目的IP地址以便发送OBEX编码信息的模块;按照所确定的目的IP地址通过IP从支持射频的OBEX网桥向OBEX服务器发送所接收的OBEX编码信息的模块。
6.权利要求5的介质,还包括从OBEX服务器通过IP接收OBEX编码数据的模块;为OBEX编码数据响应选择到OBEX客户机的路由的模块。
7.OBEX网桥装置,包括处理器;与处理器连接用来通信的存储器;存储在存储器中的程序,包括在支持射频的OBEX网桥处从OBEX客户机接收OBEX编码信息的模块;确定目的IP地址以便发送OBEX编码信息的模块;按照所确定的目的IP地址通过IP从支持射频的OBEX网桥向OBEX服务器发送所接收的OBEX编码信息的模块。
8.权利要求7的装置,还包括从OBEX服务器通过IP接收OBEX编码数据的模块;为OBEX编码数据响应选择到OBEX客户机的路由的模块。
9.通过通信网络在OBEX客户机和OBEX服务器之间进行无线通信的方法,包括在OBEX网桥处通过短距离无线链路接收从OBEX客户机发送的OBEX编码信息;在OBEX网桥处分配一个内部地址给OBEX客户机;在OBEX网桥处将OBEX客户机与所分配的内部内部地址关联;在OBEX网桥处选择特定的OBEX服务器用来发送所接收的OBEX编码信息;确定所选择的OBEX服务器的目的IP地址;通过IP从OBEX网桥向所选的OBEX服务器发送所接收的OBEX编码信息。
10.权利要求9的方法,还包括通过IP从所选的OBEX服务器接收OBEX编码数据;通过使用上述的OBEX客户机与内部地址的关联在OBEX网桥处对OBEX编码数据响应选择路由;通过射频无线链路向OBEX客户机发送OBEX编码的数据响应。
11.通过通信网络在OBEX客户机和OBEX服务器之间进行无线通信的系统,包括在OBEX网桥处通过短距离无线链路接收从OBEX客户机发送的OBEX编码信息的装置;在OBEX网桥处对OBEX客户机分配内部地址的装置;在OBEX网桥处将OBEX客户机和所分配的内部地址相关联的装置;在OBEX网桥处选择特定OBEX服务器用来发送所接收的OBEX编码信息的装置;确定所选OBEX服务器的目的IP地址的装置;通过IP从OBEX网桥向所选OBEX服务器发送所接收的编码信息的装置。
12.权利要求11的系统,还包括通过IP从所选的OBEX服务器中接收OBEX编码数据响应的装置;使用上述的OBEX客户机与内部地址的关联在OBEX网桥处对OBEX编码的数据响应选择路由的装置;通过短距离无线链路向OBEX客户机发送OBEX编码数据响应的装置。
13.存储在计算机可读介质上的计算机程序,该程序包括在OBEX网桥处通过短距离无线链路接收从OBEX客户机发送的OBEX编码信息的模块;在OBEX网桥处对OBEX客户机分配内部地址的模块;在OBEX网桥处将OBEX客户机和所分配的内部地址相关联的模块;在OBEX网桥处选择特定的OBEX服务器用来发送所接收的OBEX编码信息的模块;确定所选OBEX服务器的目的IP地址的模块;通过IP从OBEX网桥向所选的OBEX服务器发送所接收OBEX编码信息的模块。
14.权利要求13的介质,还包括通过IP从所选的OBEX服务器接收OBEX编码数据响应的模块;使用上述的OBEX客户机与内部地址的关联在OBEX网桥处对OBEX编码数据响应选择路由的模块;通过短距离无线链路向OBEX客户机发送OBEX编码数据响应的模块。
15.OBEX网桥装置,包括处理器;与处理器相连用来通信的存储器;存储在存储器中的程序,包括在OBEX网桥处通过短距离无线链路接收从OBEX客户机发送的OBEX编码信息的模块;在OBEX网桥处对OBEX客户机分配内部地址的模块;在OBEX网桥处将OBEX客户机和所分配的内部地址相关联的模块;在OBEX网桥处选择特定的OBEX服务器用来发送所接收的OBEX编码信息的模块;确定所选OBEX服务器的目的IP地址的模块;通过IP从OBEX网桥向所选的OBEX服务器发送所接收OBEX编码信息的模块。
16.权利要求15的装置,还包括通过IP从所选的OBEX服务器接收OBEX编码数据响应的模块;使用上述的OBEX客户机与内部地址的关联在OBEX网桥处对OBEX编码数据响应选择路由的模块;通过短距离无线链路向OBEX客户机发送OBEX编码数据响应的模块。
全文摘要
在彼此相距很近的客户机和对象交换(OBEX)服务器上对所交换的对象选择路由的装置,方法和系统。本公开物还提供了一种通过诸如因特网等通信网络对OBEX通信选择路由的能力。本公开物还说明了网桥装置可以同时支持诸如蓝牙的短距离RF通信以及TCP/IP通信。本公开物还跟踪并使OBEX支持的客户机在无线发送的区域之外向远程服务器发送和接收信息。
文档编号H04L29/08GK1407775SQ02128608
公开日2003年4月2日 申请日期2002年6月28日 优先权日2001年6月29日
发明者A·福斯塔迪乌斯 申请人:诺基亚有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1