CN102067560B - 用于在替换传输上提供服务发现的装置和方法 - Google Patents

用于在替换传输上提供服务发现的装置和方法 Download PDF

Info

Publication number
CN102067560B
CN102067560B CN200980123623.5A CN200980123623A CN102067560B CN 102067560 B CN102067560 B CN 102067560B CN 200980123623 A CN200980123623 A CN 200980123623A CN 102067560 B CN102067560 B CN 102067560B
Authority
CN
China
Prior art keywords
equipment
service
computing equipment
agreement
transmission
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
CN200980123623.5A
Other languages
English (en)
Other versions
CN102067560A (zh
Inventor
M·J·贾尔斯
B·布拉德利
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.)
Apple Inc
Original Assignee
Apple Computer 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 Apple Computer Inc filed Critical Apple Computer Inc
Publication of CN102067560A publication Critical patent/CN102067560A/zh
Application granted granted Critical
Publication of CN102067560B publication Critical patent/CN102067560B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W48/00Access restriction; Network selection; Access point selection
    • H04W48/08Access restriction or access information delivery, e.g. discovery data delivery
    • H04W48/10Access restriction or access information delivery, e.g. discovery data delivery using broadcasted information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B7/00Radio transmission systems, i.e. using radiation field
    • H04B7/24Radio transmission systems, i.e. using radiation field for communication between two or more posts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/24Negotiation of communication capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/18Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
    • H04W8/183Processing at user equipment or user record carrier
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W88/00Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
    • H04W88/02Terminal devices
    • H04W88/06Terminal devices adapted for operation in multiple networks or having at least two operational modes, e.g. multi-mode terminals

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Communication Control (AREA)
  • Telephonic Communication Services (AREA)

Abstract

本发明涉及用于在替换传输上提供服务发现的装置和方法。用于在一个或多个替换传输上提供主传输服务发现信息的方法和装置,所述替换传输通常不与主传输服务相关联。在一个实施例中,主传输包括第一无线接口(例如,蓝牙),并且替换传输包括第二无线接口(例如,WiFi或WiMAX)。关于主传输的服务简档信息在替换传输上使用与在主传输上可获得的方式相比更有效且更简化的方式被广播给其它用户。其它用户存储这种服务简档信息,从而随后可以针对这些其它设备对传输设备的服务简档发现访问该信息,从而避免了在任意传输(主或替换传输)上的后续数据传输。

Description

用于在替换传输上提供服务发现的装置和方法
优先权
本申请要求相同题目的提交于2008年6月23日的共同待决并且共同所有的美国专利申请序列号No.12/214,969的优先权,通过引用将其内容完整结合在此。
版权声明
本专利文献公开内容的一部分包含受版权保护的内容。版权所有者不反对任何人复制专利文献或专利公开内容,如其在专利和商标局递交和记录的那样,但是无论如何保留所有版权权利。
技术领域
本发明一般地涉及通信协议和数据网络领域。更具体地,在一个示例方面,本发明涉及在替换传输上和/或使用替换协议进行有效传输,特别是有效传输服务简档信息。
背景技术
通信协议,诸如例如已知的蓝牙协议和空中接口规范,包括提供关于打算如何使用设备以及其预期操作方式的特定信息的简档。大部分简档规范最少包含关于如下内容的信息:(1)简档之间的相关性;(2)建议的用户接口格式;和(3)该简档使用的协议栈的特定部分。为了执行其任务,每个简档在协议栈的每一层使用特定选项和参数。
在蓝牙的示例环境中,作为一个或多个蓝牙规范的一部分,包括用于蓝牙协议栈的大量不同协议。这些简档包括但不限于:高级音频分发简档(A2DP);音频/视频远程控制简档(AVRCP);基本成像简档(BIP);基本打印简档(BPP);公共ISDN接入简档(CIP);无绳电话简档(CTP);设备ID简档(DID);拨号联网简档(DUN);传真简档(FAX);文件传输简档(FTP);一般音频/视频分发简档(GAVDP);通用访问简档(GAP);通用对象交换简档(GOEP);硬拷贝电缆更换简档(HCRP);免提简档(HFP);人性化接口设备简档(HID);耳机简档(HSP);对讲机简档(ICP);LAN接入简档(LAP);对象推送简档(OPP);个人局域联网简档(PAN);电话簿访问简档(PBAP);串口简档(SPP);服务发现应用简档(SDAP);SIM访问简档(SAP,SIM);同步简档(SYNCH);视频分发简档(VDP);和无线应用协议载体(WAPB)。图1示出了用于确定由给定蓝牙设备提供的可用简档的现有技术。
图1示出了无线网络100内的两个蓝牙设备120、130,这两个蓝牙设备正试图发现由这两个设备中的另一设备提供的可用服务简档。设备A 120启动设备发现处理,同时设备B 130在154确保其可以接受连接。设备120、130必须首先在156通过链路建立过程建立物理连接。在当前环境中,这个物理连接可以包括两个设备的收发器之间的无线链路。在建立物理链路之后,两个设备120、130然后必须在158执行通道建立过程,以便在设备120、130之间建立逻辑连接。在建立链路和逻辑通道之后,这两个设备然后可以在160启动服务发现会话,此后设备120、130可以分别在162、164可选择地拆除其逻辑和物理链路。
图1A示出了一种典型情况,其中两(2)个蓝牙设备在服务发现会话期间交换服务简档信息。通常,在客户端应用102和服务器应用104之间交换这些服务简档。客户端应用102通过逻辑通道106向服务发现简档(SDP)客户端108发送请求。SDP客户端108向SDP服务器112发送SDP请求114,SDP服务器112将该请求转发到服务器应用104。SDP服务器112通过SDP响应116进行响应,并且在设备之间交换能力。
虽然发现蓝牙设备中的可用简档的现有方法在没有时间约束并且给定地理区域内的电磁干扰小的情况下是足够的,但它们可能表现为一种繁重的任务,尤其是在存在大量设备有待发现的情况下。特别地,传统的蓝牙服务发现机制是一种主动的按需运行的系统,并且必须在设备“连接时”被执行。有时这种机制仅被用于查明设备不支持用户感兴趣的特征。在服务发现处理可被执行之前还存在多个步骤,包括图1和1A一般所示的设备发现和远程名称解析。这种服务发现处理可能是费时的处理,并且当大量设备彼此接近时,可能淹没无线网络,导致不希望的延迟。另外,如果蓝牙无线电设备由于电磁干扰不能正确“同步”,这种服务发现处理还易于出错。一种典型的有问题场合存在于用户正在同时操作蓝牙I/O诸如键盘和鼠标,同时尝试与另一个蓝牙设备进行SDP会话的情况。由于靠近正在尝试SDP会话的设备使用蓝牙键盘和鼠标而引起的干扰,这种给定场合中的蓝牙设备甚至不能建立服务发现会话。
更一般地,在蓝牙之外还存在其它服务发现协议。这些协议包括但不限于,由受让人(苹果公司)开发的BonjourTM协议,其被用于尤其是苹果公司的10.2版以上的Mac OS X操作系统,以及微软的Windows操作系统(当被安装时)。示例Bonjour协议旨在用于局域网(LAN)上,以便定位设备诸如打印机和其它计算机以及文件共享服务器,以及这些设备提供的服务。除了其它用途之外,Bonjour还被Apple
Figure BDA0000040071950000031
用于寻找共享的音乐,被
Figure BDA0000040071950000032
用于寻找共享的照片,被
Figure BDA0000040071950000033
用于寻找局域网上的其它用户,并且被TiVo Desktop用于寻找数字摄像机和共享的媒体库。因此,Bonjour包括适用于发现局域网上的服务的一个示例应用。
还可以构想现有技术中的用于在给定通信体系结构或协议内执行各种服务发现协议的其它解决方案。例如,2007年3月13日授权的、题目为“Information processing apparatus and informationprocessing method”的Takayama的美国专利No.7,191,245公开了一种信息处理装置,该信息处理装置用于允许非联网单元作为布置在网络环境内的一个单元。网络适配器根据从外部获得的简单简档数据获得Internet上的详细简档数据。网络适配器将根据这些简档数据产生的服务数据输入服务发现服务器。然后,网络适配器从服务发现服务器读取服务数据,并且根据该数据执行操作,以便通过使用与未联网单元的接口,执行由服务数据指示的服务。从而,可以通过网络适配器给予非联网单元在非联网单元未连接到网络的情况下不能实现的功能。
2005年1月13日公开的、题目为“Method and apparatus fordynamically delivering service profiles to clients”的Edwards等的美国专利公开No.20050010655公开了一种便于向客户端动态传递服务简档的系统。在操作过程中,该系统执行发现操作,以便允许客户端发现网络上的新服务。如果发现了新的服务,而对于该新的服务,客户端不拥有服务简档,那么客户端从该新的服务处获得服务简档,并且随后安装该简档,从而使得客户端能够与该新的服务交互。
2005年6月16日公开的、题目为“Protocol for wireless multi-hopad-hoc networks”的Hamdan的美国专利公开No.20050128958公开了根据存储转发消息发送原理组织的无线对等网络中的服务提供,尤其是一种服务发现协议,该协议用于提供确定所请求的远程服务在无线多跳自组织网络(wireless multi-hop ad-hoc)内的可获得性所需的低简档、低开销服务发现信息。
2007年5月24日公开的、题目为“System for responsive todetection,acoustically signaling desired nearby devices and serviceson a wireless network”的Elixmann的美国专利公开No.20070117510公开了一种具有能够被感知的至少一个设备G1以及能够感知的至少一个设备G2的分布式电子系统,设备G2具有声音输出。为了使得正被用户查找的一类设备可被更容易地感知到,G1和G2以这样的方式通过自动的相互通信彼此协作,从而用户在任意时刻借助于可听到的信号得知哪些类型的设备位于他周围的区域内。在一个实施例中,G2包括存储用于在蓝牙服务发现处理中进行比较的所希望设备类型的感知简档。G2可以是耳机或助听器的一部分,并且可以通过经自组织接口链接到G2的应用编辑该声音序列。
尽管有这些各种技术,现有技术不能在不同的或异类的平台、传输和网络接口上提供服务发现协议,尤其是在使用这些不同平台、传输和网络接口可以加速服务简档发现处理的情况下也是如此。因此,需要允许排它地或仅在某些操作条件下在替换通信传输上发现远程设备服务简档的改进的装置和方法。另外,这些改进的装置和方法允许发现有助于利用这些服务简档的附加信息。与现有技术的服务发现技术相比,这些改进的装置和方法还理想地提供设备之间更快并且更有效的服务简档传输。
发明内容
本发明通过提供用于在多传输系统上进行服务数据传输的改进的装置和方法满足上述需求。
在本发明的第一个方面,公开了一种减小第一和第二用户设备之间的服务简档发现延迟的方法。在一个实施例中,每个设备包括与该服务简档相关联的第一传输,以及第二传输,并且该方法包括:使用第二传输将与至少一个服务简档有关的数据从第一用户设备传输到第二用户设备;在第二设备存储所传输的数据;和当需求针对第一设备的服务发现时,随后访问在第二设备处存储的数据。为了服务发现访问存储的数据基本上避免了用于服务发现在第一传输上的协商和通信。
在一种变型中,第一传输包括蓝牙传输,并且第二传输包括能够使用TCP/IP的传输。
在本发明的第二个方面中,公开了一种通过第二协议在网络上提供第一协议的一个或多个服务简档的方法。在一个实施例中,该方法包括:在第一计算设备上本地存储第一协议的一个或多个服务简档,该一个或多个服务简档与第一计算设备相关联;和通过第二协议将该一个或多个服务简档传输给第二计算设备。第一和第二协议不同,并且第二计算设备支持第一和第二协议两者。
在一种变型中,第一协议包括蓝牙,并且该传输操作大体消除了蓝牙服务发现会话。
在另一个变型中,一个或多个服务简档被存储在可被服务发现应用访问的位置,该服务发现应用能够通过第二协议与其它类似应用通信。
在另一个变型中,从包括IEEE标准802.3(Ethernet)、802.11(WiFi)或802.16(WiMAX)协议的组中选择第二协议,并且该方法还包括在第二计算设备处存储第一计算设备的一个或多个服务简档。
在另一个变型中,该方法还包括将与第二计算设备相关联的一个或多个服务简档传输给第一计算设备,该一个或多个服务简档与第二计算设备的第一协议相关联,并且在第一计算设备处存储与第二计算设备相关联的一个或多个服务简档。
在另一个变型中,该方法还包括在第二计算设备处存储第一计算设备的一个或多个服务简档;并且在第二计算设备对与第一计算设备相关联的服务简档数据的至少一个后续请求中,访问第二设备处的一个或多个存储简档中的至少一个,而不是向第一设备传输服务简档请求。
在本发明的第三个方面,公开了一种包括存储介质的计算机可读装置。在一个实施例中,该介质包括指令,当被处理设备执行时,这些指令引发通过第二传输,传输与第一传输相关联的一个或多个服务简档,第二传输不与该一个或多个服务简档相关联,所述指令包括:第一指令,适用于收集一个或多个服务简档;和第二指令,适用于引发通过第二传输传输所述一个或多个服务简档。
在一个变型中,第一传输包括蓝牙传输,并且该传输操作引发终止或阻止蓝牙服务发现会话。
在另一个变型中,该装置还包括第三指令,当被处理设备执行时,第三指令本地存储该一个或多个服务简档,从而可以通过服务发现应用访问该一个或多个服务简档。
在另一个变型中,第二传输包括与IEEE 802.11兼容的传输。
在本发明的第四个方面中,公开了一种计算机化设备。在一个实施例中,该设备包括:数字处理器;与第一协议相关联的第一无线网络接口;与第二协议相关联的第二无线网络接口;和包括指令的存储器,当被数字处理器执行时:所述指令接收对关于该计算机化设备的第一协议的服务简档数据的请求;收集与第一协议相关联的一个或多个服务简档;和通过第二无线网络接口,向另一个计算机化设备传输该一个或多个服务简档。
在一个变型中,第一协议包括蓝牙协议,并且所述指令使得否则将被运行的蓝牙服务发现会话不运行。
在另一个变型中,该设备还包括驻留在存储器内的服务发现应用,其中一个或多个服务简档被存储在存储器内,从而它们可被服务发现应用访问,服务发现应用能够通过第二网络接口与其它类似应用通信。第二网络接口包括例如无线局域网(WLAN)或WiMAX接口。
在另一个变型中,该计算机化设备还包括这样的指令,当被数字处理器执行时,该指令从远程用户设备请求服务简档信息;并且当通过第二网络接口接收时,本地存储关于远程用户的简档信息。
在另一个变型中,该设备包括显示元件,该显示元件向用户呈现图形用户界面,该图形用户界面显示远程用户简档信息。该远程用户简档信息包括支持通过第一协议的通信的至少一个服务简档,并且远程用户简档信息还包括关于远程用户的第一协议操作的状态信息。
在另一个变型中,该计算机化设备包括蜂窝电话接口和触摸屏控制系统。
在本发明的第五个方面,公开了一种系统,该系统包括:第一传输;第二传输;以及第一和第二用户设备,第一和第二用户设备中的每一个可以使用第一和第二传输;其中这些设备中的至少一个包括计算机程序,该计算机程序适合于:从其它设备请求关于第一传输的服务信息;通过第二传输从其它设备接收服务信息;和存储收到的信息以便在至少一个后续服务请求中访问,该访问避免了对第一传输上的服务信息传输的需要。
在本发明的第六个方面,公开了基于上述方法和/或装置进行业务处理的方法。
参考附图和下面给出的示例实施例的详细描述,本领域的技术人员将立刻认识到本发明的其它特征和优点。
附图说明
图1是示例蓝牙服务发现过程的现有技术的控制信息流的图示;
图1A是示出了现有技术的服务发现会话的方框图;
图2是示出了根据本发明的一个实施例,用于执行替换传输服务发现过程的示例系统体系结构的方框图;
图3是示出了用于图2的系统的设备体系结构的一个实施例的功能方框图;
图4是示出了根据本发明,使用替换传输向远程设备传输本地设备能力的示例方法的逻辑流程图;
图4A是示出了根据本发明,用于使用通过替换传输接收的能力建立逻辑链路的示例方法的逻辑流程图;
图5是示出了使用替换传输向远程设备传输本地设备能力的方法的另一个实施例的逻辑流程图,其中可以获得多个替换传输;
图6示出了根据本发明,用于显示设备和与之相关联的服务简档的示例GUI界面(窗口)。
具体实施方式
如此处使用的,术语“蓝牙”指示但不限于符合一个或多个蓝牙技术标准的任意设备、软件、接口或技术,所述蓝牙技术标准包括Bluetooth Core Specification Version 1.2、Version 2.0以及Version2.1+EDR,通过引用将前面每个标准完整结合在此。
如此处使用的,术语“客户端设备”和“最终用户设备”包括但不限于蜂窝电话、智能电话(诸如例如iPhoneTM)、个人计算机(PC),诸如例如,iMacTM、Mac ProTM、Mac MiniTM或MacBookTM,以及微型计算机,不论是台式机、膝上计算机或其它,以及移动设备,诸如手持计算机、PDA、摄像机、机顶盒、个人媒体设备(PMD),诸如例如iPodTM,或前面设备的任意组合。
如此处使用的,术语“计算机程序”或“软件”意味着包括执行某种功能的任意序列或人或机器可识别的步骤。这种程序可以几乎任意编程语言或环境呈现,包括例如C/C++、Fortran、COBOL、PASCAL、汇编语言、标记语言(例如,HTML,SGML,XML,VoXML)等,以及面向对象环境,诸如公用对象请求代理程序体系结构(CORBA)、JavaTM(包括J2ME、javaBean等)、二进制运行时环境(BREW)等。
如此处使用的,术语“集成电路(IC)”指具有任意集成程度的任意类型的设备(包括但不限于ULSI、VLSI和LSI),并且与工艺或基体材料无关(包括但不限于Si、SiGe、CMOS和GaAs)。IC可以包括例如存储器设备(例如,DRAM,SRAM,DDRAM,EEPROM/Flash和ROM)、数字处理器、SoC设备、FPGA、ASIC、ADC、DAC、收发器、存储器控制器和其它设备,以及它们的任意组合。
如此处使用的,术语“存储器”包括适用于存储数字数据的任意类型的集成电路或其它存储设备,包括但不限于ROM、PROM、EEPROM、DRAM、SDRAM、DDR/2SDRAM、EDO/FPMS、RLDRAM、SRAM、“闪速”存储器(例如,NAND/NOR)和PSRAM。
如此处使用的,术语“微处理器”和“数字处理器”一般意指包括所有类型的数字处理设备,包括但不限于数字信号处理器(DSP)、精简指令集计算机(RISC)、通用(CISC)处理器、微处理器、门阵列(例如,FPGA)、PLD、可重新配置计算构造(RCF)、阵列处理器、安全微处理器和专用集成电路(ASIC)。这些数字处理器可被包含在单个整体IC芯片上,或被分布在多个组件上。
如此处使用的,术语“网络”和“载体网络”一般指任意类型的数据、电信或其它网络,包括但不限于数据网络(包括MAN,PAN,WAN,LAN,WLAN,微型网络(micronet),微微网络(piconet),因特网和内联网)、光纤同轴电缆混合(HFC)网络、卫星网络、蜂窝网络和电信(Telco)网络。这些网络或其部分可以利用任意一种或多种拓扑(例如,环形、总线、星形、环等)、传输介质(例如,有线/RF电缆、RF无线、毫米波、光学介质等)和/或通信或联网协议(例如,SONET、DOCSIS、IEEE标准802.3、802.11、ATM、X.25、帧中继、3GPP、3GPP2、WAP、SIP、UDP、FTP、RTP/RTCP、H.323等)。
如此处使用的,术语“网络接口”或“接口”通常指与组件、网络或处理之间的任意信号、数据或软件接口,包括但不限于Firewire(例如,FW400,FW800等),USB(例如,USB2),以太网(例如,10/100,10/100/1000(吉比特以太网),10-Gig-E等),MoCA,串行ATA(例如,SATA、e-SATA、SATAII),Ultra-ATA/DMA,Coaxsys(例如,TVnetTM),射频调谐器(例如,带内或OOB、缆线调制解调器等),WiFi(802.11a,b,g,n),WiMAX(802.16),PAN(802.15),IrDA或其它无线族。
如此处使用的,术语“服务”意味着包括但不限于由设备或网络提供的任意能力或功能(或能力或功能的集合),包括蓝牙服务发现简档(SDP)。
如此处使用的,术语“传输”指示但不限于能够在物理接口(PHY)上传输数据的任意传输协议,诸如例如传输控制协议(TCP)、用户数据报协议(UDP)、数据报拥塞控制协议(DCCP)、实时传输协议/实时传输控制协议(RTP/RTCP)和流控制传输协议(SCTP)。
如此处使用的,术语“无线”意指任意无线信号、数据、通信或其它接口,包括但不限于Wi-Fi,Bluetooth,3G(例如,3GPP、3GPP2和UMTS),HSDPA/HSUPA,TDMA,CDMA(例如,IS-95A、WCDMA等),FHSS,DSSS,GSM,PAN/802.15,WiMAX(802.16),802.20,窄带/FDMA,OFDM,PCS/DCS,模拟蜂窝,CDPD,卫星系统,毫米波或微波系统,声音和红外线(即,IrDA)。
概述
本发明公开了,尤其是用于在通常不与服务相关联的替换传输路径上提供服务发现信息的方法和装置。在一种示例实现中,在通常与无线LAN网络接口相关联的传输上提供关于蓝牙服务简档的信息。现有技术的蓝牙实现使用服务发现简档(SDP)寻找远程设备服务(例如,打印、对象交换等);SDP是蓝牙规范定义的协议,通常在两个设备可以被一起用于交换数据之前执行该协议。然而诸如当大量设备和设备简档需要被发现时,SDP可能是繁重的。
因此,本发明提供了在两个或更多个最终用户设备之间实现更快的改进的通信协议体验的方法和装置。在一个实施例中,采用服务发现协议(诸如示例Bonjour协议)的用户能够在其它通信传输和协议上,诸如通过802.11(WiFi)或802.16(WiMAX)网络接口在普遍存在的TCP/IP上通告其蓝牙设备服务。在可能的情况下,以预期方式执行这种信息通告和传送。通过在替换传输路径上提供服务简档信息,最小化了与建立和交换BT协议服务简档信息的现有技术相关联的延迟,导致了改进的用户体验。
另外,一旦发生了从一个设备到第二个设备的服务简档数据传输,则本地处理对传输的服务简档数据的任意后续请求,从而避免了通常使用的协商、链路建立和传输过程(不论在主传输形态还是替换传输形态上)。以这种方式,每个设备“学习”并且记忆该设备已经联系的其它设备的服务简档能力。另外,在第一和第二设备之间周期地更新服务简档数据。在一个实施例中,这被通过采用时间戳方案处理。设备分析服务简档数据,并且如果服务简档数据已经改变,设备将更新服务简档数据,以便包括包含带有最新时间戳数据的信息。
有利地,本发明的方法和装置还可适用于任意数目的有线或无线协议/服务组合。
示例实施例的详细描述
现在详细描述本发明的示例实施例。虽然主要以在替换传输诸如局域网(LAN)或无线局域网(WLAN)上传输蓝牙服务简档的上下文讨论这些实施例,但是本领域的普通技术人员将认识到本发明不受这种限制。事实上,本发明的原理可被容易地应用于其它通信协议和传输,不论是有线的还是无线的。例如,本发明可被应用于在WiMAX,MWBA(IEEE标准802.20),IEEE标准802.15或蜂窝(例如,UMTS/3GPP/3GPP2等)PHY/传输上传输蓝牙服务简档数据。另外,本发明不限于蓝牙服务简档数据在替换传输上的传输;实际上,可以容易地调整本发明,从而可以通过替换传输获得关于在特定地理位置处提供的服务的信息。例如,用户可以通过iPhone的蜂窝服务(例如,CDMA、GSM等)使用其iPhone访问并且本地缓存特定咖啡店的WiFi或蓝牙能力。
装置
现在参考图2,示出了用于执行本发明的方法的示例系统体系结构200。系统体系结构200最少需要两个设备202、204之间的通信。还可以同时发生给定设备和多个其它设备之间的通信。在一个实施例中,这些设备202、204有利地包括客户端设备,诸如例如由MacBookTMAir的受让人制造的MacBookTM Air。可替换地,这些设备202中的一个可以包括由iPhoneTM的受让人制造的iPhoneTM,虽然其它设备例如可以包括能够在多个传输上通信的照片打印机。根据本公开,本领域的普通技术人员将认识到同类(即,类似或相同)和/或异类(不同)设备的任意数目的其它组合。
图2所示的每个设备还包括多个不同的通信传输206、208、210。这些通信传输206、208、210可以使用任意数目的不同通信协议和相关联的下层物理层(PHY)硬件,不论是无线的还是有线的。当前在拥有LAN或WLAN网络接口的计算设备中使用的某些更流行的通信传输包括TCP/IP和UDP。其它通信传输包括现在普遍存在的蓝牙传输,其被广泛用于各种客户端设备,诸如蜂窝电话或智能电话、移动或膝上计算机等。在一个示例实施例中,这些通信传输206、208、210分别包括LAN网络接口上的TCP/IP传输、WLAN网络接口上的TCP/IP传输和蓝牙网络接口上的蓝牙传输。另外,虽然图2示出了三(3)个传输,本发明可被以少至两(2)个传输实施。
图3示出了客户端设备202、204的示例体系结构。可用于实现本发明的客户端设备通常共享某些公共的体系结构特征。这些特征包括处理设备,诸如微处理器220、存储器230和耦连到多个网络接口250、260和270的一个或多个数据总线240。这些网络接口中的至少两个采用不同传输,从而如此处下面更详细描述的,允许在不同传输上传输关于一种协议的服务或简档数据。虽然图3示出了特定的体系结构,应当认识到根据本公开,本领域的普通技术人员可以容易地实现任意数目的设备体系结构。因此,示出的体系结构仅是对能够执行下面讨论的方法的示例设备的共同之处的说明。
方法
现在参考图4,示出了用于将本地设备能力传输给远程设备,以便解决现有技术的上述不足的处理400的第一示例实施例。
在步骤410,本地设备在可通过第二通信协议容易地访问的存储介质内存储能力(诸如与第一通信协议相关联的服务简档)。在一个实施例中,第一和第二通信协议分别包括蓝牙和WiFi。优选地,以驻留在本地设备上的软件应用处理能力发现,该软件应用可以查询例如位于该本地设备处的蓝牙硬件/软件,并且最终确定蓝牙硬件/软件实现所支持的服务简档。这种处理可被以任意数目的方式处理。例如,第一变型可以拥有将服务简档与给定通信协议相关联的列表(在我们的例子中,蓝牙和与蓝牙相关联的已知服务简档)。该软件应用然后可以在服务简档列表中循环,并且查询蓝牙硬件/软件设备,以便确定该设备是否支持被查询的服务简档。可替换地,该软件应用可以发出主要询问“What service profiles do you support(你支持什么服务简档)?”的覆盖查询命令。本地驻留在该设备上的蓝牙硬件/软件然后通过提供所支持的服务简档列表对该软件应用进行响应。
作为前面的一个例子,查询可以揭示该本地设备的蓝牙设备在其本地蓝牙实现中支持基本打印简档(BPP)。这种服务简档能力被存储在蓝牙协议栈之外,从而其可容易地通过替换通信传输被访问(本文中别处描述的TCP/IP等)。在一个实施例中,这种访问包括软件应用诸如苹果公司的Bonjour服务发现协议应用的可访问性,虽然将会认识到可以使用其它应用和类型(例如,以便包括客户端-服务器应用、分布式应用(DA)等)。如前面讨论的,Bonjour有利地旨在用于局域网,从而便于对存储位置中的服务简档信息的所希望的访问和发现。
虽然服务简档信息的存储被认为尤其有利,但本发明不限于此。实际上,本发明可被容易地调整为包括对附加信息的查询,以便便于设备之间的服务能力的确定。例如,在蓝牙环境中,存储的能力可被扩展为包括其它蓝牙状态信息。这种状态信息可以包括有用的信息,诸如本地设备当前是否打开了其蓝牙无线电设备,它是否请求配对以便建立连接、蓝牙设备寻址信息、安全模式(例如,模式0、1或2)信息等。还参见下面提供的针对图6的讨论。
在步骤420,存储的本地设备能力通过替换传输被传送给远程设备;即,通过不与存储的能力或其主传输相关联的网络接口。传输的服务简档和能力可以是基于拉(pull)的或基于推送(push)的;本地设备可以启动数据向一个或多个远程设备的传输,或可替换地可由远程设备启动数据传输,并且随后传输数据。在一个示例实现中,在替换传输上周期地广播服务简档和设备能力。网络上其它类似的设备将在这个替换传输上侦听这些周期广播。在另一个变型中,在发生一种事件之后传输服务简档和设备能力;例如,替换链路建立或通道设立。根据本公开,本领域的普通技术人员将认识到无数其它方案。
在上面讨论的基于Bonjour示例实现的上下文中,传输包括通过Bonjour应用访问存储在存储器内的蓝牙简档信息,并且通过无线LAN(WLAN)、LAN(例如,以太网)或其它网络接口传输该简档信息。应当认识到,如此处使用的,术语“网络”可以指与访问介质,诸如例如直接在两个设备之间的WLAN、USB或FireWire接口耦连或数据通信的少至两个设备,虽然还可以构想包括中间设备的更复杂的拓扑。
在一个示例实现中,远程设备还包括示例Bonjour软件或兼容的软件代理程序或处理,以便在设备之间提供兼容性。可替换地,Bonjour软件可被容易地调整为在任意数目的已知软件应用上通信,从而可以由不拥有上述Bonjour软件的远程设备利用简档信息。
在另一个变型中,本发明包括一种实际上为“被动”的系统,即,本地设备简档可被广播,并且被给定通信传输内的所有参与设备共享。例如,在一个这种变型中,连接到特定无线接入点(AP)的所有设备可以周期地接收关于该给定AP内的服务简档和能力的信息。这种实现具有这样的优点,即,不论固有的蓝牙限制或蓝牙标准操作过程如何,都可以传输服务简档和能力。
在步骤430,传输的服务简档信息和能力被存储在远程设备处的存储器内。在一个实施例中,这种信息被存储在Bonjour数据记录内,并且随后可被远程设备的蓝牙软件和/或硬件在远程设备缓存中访问。另外,如果通过420的传输的能力,使得可以获得可用于链路建立和通道建立的信息,则存储这种信息,从而当建立通信链路时,本地和远程设备的相应蓝牙无线电设备可以利用这种信息,以便帮助进行常规链路和通道建立过程。
在步骤440,远程设备和本地设备根据传输的服务简档和能力进行操作。在一个实施例中,这通过远程设备处的图形用户界面(图6)上的用户选择完成。如从图4A可见,在远程设备上本地登录的用户在步骤460访问以前传输的存储在存储器内的能力。在示例实现中,这被通过对驻留在远程设备上的服务发现软件应用的用户选择启动。此处要强调本发明的另一个突出的优点;即,一旦两个特定设备(或甚至相同种类的设备,在假设一种“模板”服务简档配置的情况下)已被设置进行通信,并且服务简档数据已从本地传输到远程设备,并且接收到对“远程”设备(即,以前的“本地”设备)的服务简档数据的后续访问或请求,取代必须通过例如蓝牙传输或替换传输启动从远程设备对服务简档数据的新的请求,可以使用进行请求的设备处的存储数据。这种对本地存储的信息的访问对发生在两个设备初次接触之后的这两个设备之间的任何传输上的通信都是相当经济的。
在启动服务发现软件应用之后,将向远程设备处的用户呈现信息(见图6的示例GUI),诸如关于网络上存在的设备的信息602、这些设备提供的服务604和每个设备的操作或能力的状态606。可替换地,这些信息可被保持在下层,以便由其它处理使用,而不必必须将其呈现给用户。
在用户(或认知软件处理)选择了运行用户希望的服务简档的设备之后,远程设备在步骤470将建立与具有所希望服务的设备的逻辑链路。在蓝牙环境中,这例如可以包括正常执行链路和通道建立过程(图1)。然而应当注意,由于远程设备已经知道本地设备的能力和简档,服务发现会话不是必需的。这可通过应用软件完成,该应用软件向蓝牙模块传输信息,使其知道SDP是不必要的,并且缓存的SDP数据是最新的。如果设备之间存在后续故障(例如,由于已经变得陈旧的SDP信息),设备可以使用常规方法或可替换地采用用于获得这种信息的另一个方法,启动标准SDP会话。
附录I提供了实现上述方法的一个实施例的示例Bonjour代码。
附录II提供了根据本发明的蓝牙Bonjour记录的示例实施例。
应当理解,本发明还可以构想使用“许可”模式或控制功能,其有些类似于在用于蓝牙发现和信息传输的当代设备中提供的控制。例如,在一个实施例中,在通过替换传输传送服务简档数据(或其它数据)之前,本地设备的用户应用的控制准则将评估来自远程设备的服务请求。用户可以规定,例如某些其它设备/用户,或设备/用户种类不能访问简档数据。作为替换传输上的服务简档传输的先决条件,还可以涉及蓝牙配对或结合或其它验证机制(例如,802.1x)。
另外,在允许传输服务简档数据之前,可以根据一个或多个评估准则,对替换传输的足够性进行评估(见此处给出的对图5的讨论);例如,替换传输是否具有足够的安全性、QoS、带宽等,以便以完整的无错误的和/或足够及时的方式向请求方提供服务简档数据。
例子#1
在一种使用场合,若干人出席组织X的周会。每个参与者带着他们的Mac膝上计算机,每个这些膝上计算机具有内置的蓝牙硬件和安装在他们各自机器上的软件。所有膝上计算机加入相同的无线局域网(例如,苹果的42net)。蓝牙软件以前安装了其自己的指示它具有哪些蓝牙服务的Bonjour记录。每个膝上计算机自动通过Bonjour以及经过苹果42net的无线局域网连接接收这种信息。然后如果需要,存储这种信息以便由蓝牙软件使用。在会议过程中,一个用户希望将一个文件通过蓝牙发送给房间内的一个(或多个)人。该用户选择该用户希望向其发送文件的蓝牙设备的一个或多个目的地,并且不是必须执行询问以寻找具有文件共享服务(SOP)的设备的传统步骤,发送方计算机已经具有关于一个或多个远程设备的信息以及可发送文件而不必执行传统的服务发现处理。相对于在某些方面可能有缺陷的常规服务发现过程(即,易于出错或否则具有与其相关联的显著延迟),这允许高效实时地进行文件传输。当相同用户希望向会议中的多个人发送文件时,这种减小延迟的益处得以进一步倍增。
多传输方法
现在参考图5,描述用于在一种传输上传输服务或设备数据的一种替换方法。在方法500的这个实施例中,首先评估和选择适当的传输。可选择地(或可替换地),如现在更详细讨论的,还选择适当的PHY。
特别地,如图5所示,该方法的第一个步骤502包括为给定用户设备202、204内更高级别处理的可能使用,确定给定设备可获得的所有传输。例如,一种操作以便在用户设备上运行的软件处理可以包括查找表或填充了用户设备整体上当前可获得的传输的列表,例如:(i)TCP/IP;(ii)UDP;和(iii)RTP/RTCP的其它这种机制。
根据步骤504,上述软件处理然后确定该设备可获得的PHY或空中接口,诸如例如:(i)Bluetooth;(ii)WLAN(802.11);(iii)WiMAX(802.16);和(iv)FireWire(IEEE 1394)。这些步骤502、504中还可以可选择地包括确定哪些传输和/或PHY是物理可获得的(例如,建立并且可以操作与一个或多个其它用户设备202、204的链路)。一种选择准则可以包括例如当前是否建立了物理链路和逻辑通道(从而,避免设置这种链路/通道的附加延迟)。
接着,根据步骤506,该软件处理评估在步骤502发现的各种可获得传输和在步骤504发现的PHY,以便选择最适合传输的组合。在一个实施例中,仅可获得某些允许的组合,从而允许软件处理基于一个或多个准则,诸如例如QoS、延迟或可用带宽,简单地评估一组预定传输/PHY组合。例如,如上所述,一种简单选择准则可以包括当前是否建立了PHY链路/通道。作为另一个例子,如果服务数据传输需要QoS,并且给定的传输/PHY组合不支持这个必需的QoS级别,将选择另一个组合。或者,如果一种组合当前正被另一个处理100%使用(例如,宽带数据流化传输等),则将选择一种替换组合。
另一种准则可以包括建立到远处用户设备处理的链路和逻辑通道的所需协商的复杂性。如此处前面在蓝牙协议上下文中所述,本发明中使用替换传输的一个主要推动是避免与现有技术的蓝牙SDP相关联的冗长费时的协商和设置过程。因此,可以按照与不同传输的设置和传输过程相关联的延迟或复杂性给不同传输分级或评分,上述软件处理利用这种分级或评分,以便选择最小化延迟的传输(或优化某些其它参数,诸如带宽消耗或QoS)。
用于评估不同传输和/或PHY的另一个准则是成本。例如,诸如由于用户采用提供其网络(例如,Internet)连接的服务提供商或运营商所收取的附加收费,用户使用一种组合可能比使用另一种组合花费更多。
根据本公开,本领域的普通技术人员将认识到无数不同的评估准则和情形。
在另一个实现中,可以获得多个不同的传输/PHY组合,并且该软件处理可以基于一个或多个评估准则,单独评估每个组合或传输和/或PHY的所选择的子集。
根据步骤508,选择一个传输/PHY组合,并且根据步骤510,将相关服务简档数据传输给远处的用户设备。
图形用户界面
现在参考图6,示出了用于向用户呈现服务简档信息的图形用户界面(GUI)600的示例实施例。GUI窗口600显示关于网络内的其它设备的信息。在一个实施例中,用户从下拉菜单中选择该用户希望了解其网络信息的通信协议。在示出的实施例中,用户关注的通信协议是蓝牙。在选择了蓝牙协议之后,GUI窗口600在设备列602中呈现用户可获得的蓝牙设备的信息。在图6所示的实施例中,存在用户可获得的三(3)个设备:打印机设备;和两(2)个膝上计算机(例如,Mac book膝上计算机设备)。
在一种示例实现中,用户可以对设备的默认名称重新命名,从而用户将来更容易知道他们希望连接哪个设备。例如,Mac book1可能属于用户的同事Frank。因此,用户可以对Mac book1重新命名,从而将来其被显示为“Frank’Laptop”。在另一个实施例中,可由设备的操作者自己控制显示在GUI窗口600上的名称。在上述使用场合中,Frank可以为其Mac book挑选名称,从而当与该AP相关联的其它用户查看时,所选择的名称Frank将显示在GUI窗口600中的设备列602内。
GUI窗口600还包括服务提供列604。这个列允许用户迅速确认特定设备支持哪些服务简档,而不用首先如图1所示建立服务发现会话。在示出的实施例中,名称为“打印机”的设备拥有基本打印简档(BPP)蓝牙简档。其它服务简档也与该网络内可访问的其它设备相关联。在一个实施例中,一个附加列(未示出)示出由该用户设备支持的服务简档。因此,用户能够将他/她的能力与网络内的其它设备的能力相关联。其它方法包括高亮显示或显示服务提供列604内的服务简档(例如,粗体或彩色字体),以便用户迅速评估用户设备和网络上其它设备之间的兼容性。
可替换地,显示在列604中的服务简档仅在这些简档也被用户的计算设备支持的情况下被显示。因此,服务提供列604不是被设备列602中的设备实际支持的无遗漏的服务简档,而是列于列604中的服务简档仅是用户的计算设备也支持的那些服务简档。在一个实施例中,这种方案还具有这样的优点,即,在服务发现会话过程中,用户的计算设备仅需要查询网络上被用户的计算机支持的那些服务简档的设备。
示例GUI窗口600还包括活跃状态列606,其提供关于该设备是否是活跃的以便接收连接的信息。在蓝牙环境中,列606可以指示蓝牙无线电设备当前是否开启,或该设备是否能够接受附加的蓝牙微微网参与者。在一个替换实施例中,活跃列606还可以指示可能影响用户连接到网络上的设备的能力的其它参数,诸如例如接收信号强度指示(RSSI)等。
应当理解,虽然在图6的示例实施例中示出并且描述了GUI“窗口”,可以与本发明相符地使用其它用户界面(不论是图形的还是别的方式)。例如,可以使用基于非窗口GUI诸如图标表示、工具条中的状态条指示器等,以便指示各种状态或功能。可替换地,可以采用声讯用户接口,其中使用不同声音或音调与不同传输、状态等相关联。根据本公开,本领域的普通技术人员将认识到无数其它替换方案。
应当认识到,虽然以一种方法的特定步骤序列描述了本发明的某些方面,这些描述仅是对本发明的更宽泛方法的说明,并且如果需要可以被特定应用修改。某些步骤的呈现可能是不必要的,或在某些情况下是可选择的。另外,某些步骤或功能可被添加到公开的实施例中,或可以改变两个或更多步骤的执行顺序。所有这些改变被认为包括在此处公开和提出的发明内。
商业方法
在本发明的另一个方面,公开了一种基于上述服务发现能力的商业方法。特别地,在一个实施例中,客户端或最终用户设备制造商可以出于增强服务发现的目的,基于使用设备内的替换传输的能力,区分他们的产品系列(以及如果希望的话,区分价格)。例如,现有技术的具有蓝牙和WiFi能力的设备将根据此处前面讨论的传统方法执行蓝牙服务简档发现,而相同设备的“增强”版本将使用本发明的改进的技术和装置执行更迅速的服务发现,尤其是在多用户服务发现的环境中(见例如上面给出的会议室的例子)。因此,设备购买者可能愿意为这种能力多付费用,或可替换地,制造商可以免费提供这种能力(例如,作为超越竞争者产品的刺激或区分因素)。
类似地,制造商可以给现存产品提供翻新或升级(例如,通过软件下载或固件安装),以提供上述替换传输能力。
在另一个方面,WiFi接入点(AP)/热点的运营商或类似的网络运营商可以为使用WiFi AP作为蓝牙或其它“主”传输服务发现的次要传输的能力收取附加费用(或作为一种刺激或促销来提供)。例如,在前面的会议室例子的上下文中,会议室提供者或管理者可能仅允许某些类型的顾客访问WiFi AP(例如,支付了附加费用以便具有针对会议中的许多个人的增强服务发现的人)等。
在另一个方面,可以利用本发明访问与一个设备相关联的附加能力或设备之间的附加能力,和/或提供增强的网络安全性。例如,在一个示例实施例中,用户可能具有拥有蓝牙和WiFi联网能力的设备;然而,设备需要口令以便用户使用设备的蓝牙能力。用户必须购买Bonjour应用(或拥有Bonjour应用的设备),从而用户可以访问包含操作他们的蓝牙无线电设备所必需的口令的Bonjour服务记录。这种口令将被用于与其它类似设备配对。
在安全上下文中,通过利用从Bonjour服务记录获得的口令提供增强的安全性。由于从不在蓝牙传输上传递使用蓝牙无线电设备所必需的口令,截获蓝牙口令传输的传统方法是无效的。以这种方式,使用替换传输,以便不仅获得对一个或多个蓝牙服务简档的访问从而为用户设备提供附加能力,而且在某种程度上,当在蓝牙上交换数据时,还为用户提供增强的安全特性。
虽然上面的详细说明已经示出、描述并且指出了本发明的应用于各种实施例的新颖特征,但是应当理解,本领域的普通技术人员可以对示出的设备或处理做出形式和细节上的各种忽略、替代和改变,而不脱离本发明。上面的描述具有当前构想的执行本发明的最佳模式。本描述不意味着是限制,而是应当被作为对本发明的一般原理的说明。应当参考权利要求书确定本发明的范围。
附录I---示例BonjourTM代码
Figure BDA0000040071950000231
Copyright 2008Apple Inc.All rights reserved.
#include<dlfcn.h>
#include<CoreServices/CoreServices.h>
#include<dns_sd.h>
#include<IOBluetooth/IOBluetoothUserLib.l
typedef void(*IOBluetoothReadAddressCallback)(void*inContext,OSStatus
inStatus,BluetoothDeviceAddress*inAddr);
typedef IOReturn
       (*IOBluetoothLocalDeviceReadAddress_func)(
             BluetoothDeviceAddress*         outAddr,
             IOBluetoothReadAddressCallback  inCallback,
             void*                                       inUserRefCon,
             void*                                       inReserved);
int main(int argc,const char*argv[])
{
        OSStatus                                                        err;
        IOBluetoothLocalDevi ceReadAddress_func       func;
        BluetoothDeviceAddress                                    addr;
        BluetoothDeviceName
        name;
        BluetoothHCIVersionInfo                                   info;
        uint8_t*                                                        a;
        TXTRecordRef                                                    txt;
        uint8_t                                                         buf[
256];
        char                                                            str[
256];
        int
        n;
        DNSServiceRef
        sdRef;
//从Mac OS X蓝牙栈获取本地计算机的蓝牙设备地址
     func=(IOBluetoothLocalDeviceReadAddress_func)dlsym(
RTLD_DEFAULT,″IOBluetoothLocalDeviceReadAddress″);
     require_action(func,exit,err=-1);
     err=func(&addr,NULL,NULL,NULL);
     require_noerr(err,exit);
     a=addr.data;
   //创建B0njour记录
   TXTRecordCreate(&txt,(uint16_t)sizeof(buf),buf);
   //将蓝牙地址填充到记录中
   n=snprintf(str,sizeof(str),″%02X:%02X:%02X:%02X:%02X:%02X″,a[0],a[1],a[2],a[3],a[4],a[5]);
   err=TXTRecordSetValue(&txt,″bdaddr″,(uint16_t)n,str);
   require_noerr(err,exit);
   //获取本地计算机的蓝牙名称并将其填充到记录中
   err=IOBluetoothLocalDeviceReadName(name,NULL,NULL,NULL);
   require_noerr(err,exit);
   n=snprintf(str,sizeof(str),″%s″,(char*)name);
   err=TXTRecordSetValue(&txt,″name″,(uint16_t)n,str);
   require_noerr(err,exit);
   //获取本地计算机的蓝牙版本信息并将其填充到记录中
   err=IOBluetoothLocalDeviceReadVersionInformation(&info,NULL,NULL,NULL);
   require_noerr(err,exit);
   n=snprintf(str,sizeof(str),″lmp:%d.%d/hci:%d.%d″,info.lmpVersion,info.lmpSubVersion,info.hciVersion,info.hciRevision);
   err=TXTRecordSetValue(&txt,″lmp version″,(uint16_t)n,str);
   require_noerr(err,exit);
   if(info.manufacturerName==15)n=snprintf(str,sizeof(str),″Broadcom″);
   else if(info.manufacturerName==10)n=snprintf(str,sizeof(str),″CSR″);
   err=TXTRecordSetValue(&txt,″mfg″,(uint16_t)n,str);
   require_noerr(err,exit);
     //使记录公开以便所有Bonjour客户端都能够看到所述记录
   sdRef=NULL;
   err=DNSServiceRegister(&sdRef,0,0,NULL,″_bluetooth._tcp″,NULL,NULL,htons(1234),
        TXTRecordGetLength(&txt),TXTRecordGetBytesPtr(&txt),NULL,NULL);
   require_noerr(err,exit);
     //一直等待
    for(;;)
    {
             sleep(1);
    }
exit:
    return(err?1:0);
}
附录II---示例蓝牙BonjourTM记录
Figure BDA0000040071950000261
Copyright 2008Apple Inc.All rights reserved.
Figure BDA0000040071950000262
_bluetooth._tcp.-1
Figure BDA0000040071950000263
Bubba′s Mac Pro 8Core
17.206.46.131:1234
[fe80::219:e3ff:fe66:aela]:1234
192.168.222.1:1234
192.168.73.1:1234
bdaddr=00:1F:5B:FF:87:04
name=Bubba′s Mac Pro 8Core
lmp version=lmp:4.8596/hci:4.222
mfg=Broadcom

Claims (28)

1.一种计算机化设备,包括:
存储装置;
与第一协议相关联的第一无线网络接口装置;
与第二协议相关联的第二无线网络接口装置;和
数字处理器,用于接收对关于所述计算机化设备的所述第一协议的服务简档数据的请求;用于收集与所述第一协议相关联的一个或多个服务简档;和用于通过所述第二无线网络接口装置,将所述一个或多个服务简档传输给另一个计算机化设备;
其中所传输的一个或多个服务简档被配置为允许所述另一个计算机化设备与所述计算机化设备仅通过与第一协议相关联的第一无线网络来建立直接连接。
2.如权利要求1所述的计算机化设备,其中所述第一协议包括蓝牙协议,并且所述数字处理器使得蓝牙服务发现会话不运行。
3.如权利要求2所述的计算机化设备,还包括驻留在所述存储装置内的服务发现应用,其中所述一个或多个服务简档被存储在所述存储装置内,从而它们可被所述服务发现应用访问,所述服务发现应用配置为通过所述第二无线网络接口装置与其它类似的应用通信。
4.如权利要求3所述的计算机化设备,所述数字处理器还用于:
从远程用户设备请求服务简档信息;和
当在所述第二无线网络接口装置上接收时,本地存储关于所述远程用户的所述简档信息。
5.如权利要求4所述的计算机化设备,还包括用于显示的装置,所述用于显示的装置向用户呈现图形用户界面,所述图形用户界面显示所述远程用户简档信息。
6.如权利要求5所述的计算机化设备,其中所述远程用户简档信息包括通过所述第一协议进行的至少一个服务简档支持通信。
7.如权利要求6所述的计算机化设备,其中所述远程用户简档信息还包括关于所述远程用户的第一协议操作的状态信息。
8.如权利要求1所述的计算机化设备,其中所述计算机化设备包括蜂窝电话接口和触摸屏控制系统。
9.如权利要求1所述的计算机化设备,其中通过与所述第二协议相关联的所述第二无线网络接口装置,接收对关于所述计算机化设备的所述第一协议的服务简档数据的所述请求。
10.一种通过第二协议在网络上提供第一协议的一个或多个服务简档的方法,所述方法包括:
在第一计算设备上本地存储所述第一协议的所述一个或多个服务简档,所述一个或多个服务简档与所述第一计算设备相关联;和
通过所述第二协议将所述一个或多个服务简档传输给第二计算设备;和
仅使用所述第一协议根据所传输的所述一个或多个服务简档在所述第一和第二计算设备之间建立直接连接;
其中所述第一和第二协议不同,并且所述第二计算设备支持所述第一和第二协议两者。
11.如权利要求10所述的方法,其中所述第一协议包括蓝牙,并且所述传输操作消除蓝牙服务发现会话。
12.如权利要求11所述的方法,其中所述一个或多个服务简档被存储在它们可被服务发现应用访问的位置,所述服务发现应用能够通过所述第二协议与其它类似应用通信。
13.如权利要求12所述的方法,还包括在所述第二计算设备存储所述第一计算设备的所述一个或多个服务简档。
14.如权利要求13所述的方法,还包括向所述第一计算设备传输与所述第二计算设备相关联的一个或多个服务简档,所述一个或多个服务简档与所述第二计算设备的所述第一协议相关联。
15.如权利要求14所述的方法,还包括在所述第一计算设备存储与所述第二计算设备相关联的所述一个或多个服务简档。
16.如权利要求10所述的方法,还包括在所述第二计算设备存储所述第一计算设备的所述一个或多个服务简档;和
在所述第二计算设备对与所述第一计算设备相关联的服务简档数据的至少一个后续请求期间,访问在所述第二设备存储的所述一个或多个简档中的至少一个而不是向所述第一设备传输服务简档请求。
17.如权利要求10所述的方法,其中所述传输操作避免所述第一协议上的针对与所述第一协议相关联的所述一个或多个服务简档的协商和通信。
18.一种无线装置,包括:
处理装置;和
与该处理装置进行数据通信的逻辑模块,该逻辑模块被配置为引发通过第二传输装置传输与第一传输装置相关联的一个或多个服务简档,所述第二传输装置不与所述一个或多个服务简档相关联,所述逻辑模块包括:
第一逻辑模块,适用于收集一个或多个服务简档;和
第二逻辑模块,适用于引发通过所述第二传输装置传输所述一个或多个服务简档;和
第三逻辑模块,用于基于所传输的所述一个或多个服务简档中的至少一个服务简档,仅使用所述第一传输装置来建立服务。
19.如权利要求18所述的无线装置,其中第一传输装置包括个人局域网PAN传输,并且传输操作引发PAN服务发现会话的终止或阻止。
20.如权利要求18所述的无线装置,还包括第四逻辑模块,用于本地存储所述一个或多个服务简档,从而可以通过服务发现应用访问所述一个或多个服务简档。
21.一种通过第二协议在网络上提供第一协议的一个或多个服务简档的设备,所述设备包括:
用于在第一计算设备上本地存储所述第一协议的所述一个或多个服务简档的装置,所述一个或多个服务简档与所述第一计算设备相关联;和
用于通过所述第二协议将所述一个或多个服务简档传输给第二计算设备的装置;和
用于仅使用所述第一协议根据所传输的所述一个或多个服务简档在所述第一和第二计算设备之间建立直接连接的装置;
其中所述第一和第二协议不同,并且所述第二计算设备支持所述第一和第二协议两者。
22.如权利要求21所述的设备,其中所述第一协议包括蓝牙,并且所述传输操作消除蓝牙服务发现会话。
23.如权利要求22所述的设备,其中所述一个或多个服务简档被存储在它们可被服务发现应用访问的位置,所述服务发现应用能够通过所述第二协议与其它类似应用通信。
24.如权利要求23所述的设备,还包括用于在所述第二计算设备存储所述第一计算设备的所述一个或多个服务简档的装置。
25.如权利要求24所述的设备,还包括用于向所述第一计算设备传输与所述第二计算设备相关联的一个或多个服务简档的装置,所述一个或多个服务简档与所述第二计算设备的所述第一协议相关联。
26.如权利要求25所述的设备,还包括用于在所述第一计算设备存储与所述第二计算设备相关联的所述一个或多个服务简档的装置。
27.如权利要求21所述的设备,还包括用于在所述第二计算设备存储所述第一计算设备的所述一个或多个服务简档的装置;和
在所述第二计算设备对与所述第一计算设备相关联的服务简档数据的至少一个后续请求期间,用于访问在所述第二计算设备存储的所述一个或多个简档中的至少一个而不是向所述第一计算设备传输服务简档请求的装置。
28.如权利要求21所述的设备,其中用于传输的装置避免所述第一协议上的针对与所述第一协议相关联的所述一个或多个服务简档的协商和通信。
CN200980123623.5A 2008-06-23 2009-06-23 用于在替换传输上提供服务发现的装置和方法 Active CN102067560B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/214,969 US8499079B2 (en) 2008-06-23 2008-06-23 Apparatus and methods for providing service discovery over alternate transports
US12/214,969 2008-06-23
PCT/US2009/048322 WO2010008861A2 (en) 2008-06-23 2009-06-23 Apparatus and methods for providing service discovery over alternate transports

Publications (2)

Publication Number Publication Date
CN102067560A CN102067560A (zh) 2011-05-18
CN102067560B true CN102067560B (zh) 2014-04-02

Family

ID=41432405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980123623.5A Active CN102067560B (zh) 2008-06-23 2009-06-23 用于在替换传输上提供服务发现的装置和方法

Country Status (8)

Country Link
US (3) US8499079B2 (zh)
EP (1) EP2291981B1 (zh)
JP (1) JP5135472B2 (zh)
KR (1) KR101202094B1 (zh)
CN (1) CN102067560B (zh)
AU (1) AU2009271269B2 (zh)
BR (1) BRPI0914681B1 (zh)
WO (1) WO2010008861A2 (zh)

Families Citing this family (51)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3973986B2 (ja) * 2002-07-12 2007-09-12 株式会社エヌ・ティ・ティ・ドコモ ノード探索方法、ノード、通信システム及びノード探索プログラム
US8499079B2 (en) * 2008-06-23 2013-07-30 Apple Inc. Apparatus and methods for providing service discovery over alternate transports
US9131008B2 (en) * 2008-09-30 2015-09-08 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Discovery profile based unified credential processing for disparate security domains
US8428244B2 (en) * 2008-12-12 2013-04-23 Cisco Technology, Inc. Cross-call agent extension mobility with call admission control and emergency calling
US9900779B2 (en) 2008-12-30 2018-02-20 Qualcomm Incorporated Centralized control of peer-to-peer communication
ES2351565B1 (es) * 2009-01-19 2011-12-12 Vodafone España, S.A.U. Metodo para compartir y registrar logros obtenidos en servicios web.
JP5448489B2 (ja) * 2009-02-10 2014-03-19 キヤノン株式会社 情報処理装置及びその制御方法、情報処理システム、及び、プログラム
US20110019650A1 (en) * 2009-07-21 2011-01-27 Sabine Van Niekerk Methods and apparatus for optimization of device capability exchange in a network
US8621098B2 (en) * 2009-12-10 2013-12-31 At&T Intellectual Property I, L.P. Method and apparatus for providing media content using a mobile device
US11243093B2 (en) 2010-09-30 2022-02-08 Fitbit, Inc. Methods, systems and devices for generating real-time activity data updates to display devices
US10004406B2 (en) 2010-09-30 2018-06-26 Fitbit, Inc. Portable monitoring devices for processing applications and processing analysis of physiological conditions of a user associated with the portable monitoring device
US9542203B2 (en) 2010-12-06 2017-01-10 Microsoft Technology Licensing, Llc Universal dock for context sensitive computing device
US8923770B2 (en) 2010-12-09 2014-12-30 Microsoft Corporation Cognitive use of multiple regulatory domains
US8792429B2 (en) 2010-12-14 2014-07-29 Microsoft Corporation Direct connection with side channel control
US8948382B2 (en) 2010-12-16 2015-02-03 Microsoft Corporation Secure protocol for peer-to-peer network
US9294545B2 (en) 2010-12-16 2016-03-22 Microsoft Technology Licensing, Llc Fast join of peer to peer group with power saving mode
US8971841B2 (en) 2010-12-17 2015-03-03 Microsoft Corporation Operating system supporting cost aware applications
JP2012205251A (ja) * 2011-03-28 2012-10-22 Panasonic Corp 無線通信端末及び無線通信端末の制御方法
US20140064229A1 (en) * 2011-04-19 2014-03-06 Lg Electronics Inc. Method and apparatus for transmitting discovery signal in wireless communication system
US8804527B2 (en) 2011-04-21 2014-08-12 Empire Technology Development Llc Locative social networking using a mobile device
US9565708B2 (en) * 2011-05-20 2017-02-07 Microsoft Technology Licensing, Llc Auto-connect in a peer-to-peer network
DE102012011232A1 (de) * 2011-06-10 2012-12-13 Mediatek Inc. Verfahren zum Übertragen und Empfangen von Daten einer Anwendung für ein Kommunikationsprotokoll durch ein anderes Kommunikationsprotokoll und dazugehöriges nicht-flüchtiges, maschinenlesbares Medium
US9184779B2 (en) * 2011-07-22 2015-11-10 Texas Instruments Incorporated Dynamic medium switch in co-located PLC and RF networks
US20130051277A1 (en) * 2011-08-30 2013-02-28 Renesas Mobile Corporation Method and apparatus for allocating resources for device-to-device discovery
GB2499803B (en) * 2012-02-28 2014-05-07 Broadcom Corp Method and apparatus for providing a discovery resource
US8867514B2 (en) * 2012-03-20 2014-10-21 Qualcomm Incorporated System and method of infrastructure service discovery
CN103379197B (zh) * 2012-04-28 2016-01-20 安富科技股份有限公司 自动开关无线通讯的方法及其系统
US9641239B2 (en) 2012-06-22 2017-05-02 Fitbit, Inc. Adaptive data transfer using bluetooth
US9426229B2 (en) * 2012-06-29 2016-08-23 Nokia Technologies Oy Apparatus and method for selection of a device for content sharing operations
JP6008617B2 (ja) * 2012-06-29 2016-10-19 キヤノン株式会社 通信装置およびその制御方法、並びにプログラム
US9313641B2 (en) 2012-09-17 2016-04-12 Qualcomm Incorporated System and method for advertising and communicating within a neighborhood aware network
KR101719934B1 (ko) * 2012-12-20 2017-03-24 아마데우스 에스.에이.에스. 이동 디바이스들을 고정 통신 인프라구조에 통합
US10091720B2 (en) * 2012-12-26 2018-10-02 Sony Corporation Connecting wireless communication apparatuses in a wireless network based on a user input
US9728059B2 (en) 2013-01-15 2017-08-08 Fitbit, Inc. Sedentary period detection utilizing a wearable electronic device
WO2014115923A1 (ko) * 2013-01-23 2014-07-31 주식회사 포키비언 입출력 신호 송수신 장치 및 입출력 신호 송수신 방법
US9942515B2 (en) * 2013-03-14 2018-04-10 Microsoft Technology Licensing, Llc Smart device pairing and configuration for meeting spaces
CN104218976B (zh) * 2013-06-03 2019-01-08 飞比特公司 使用蓝牙的自适应数据传送设备和方法
ITTO20130974A1 (it) * 2013-11-29 2015-05-30 Magneti Marelli Spa Sistema per sottoporre a test l'interazione wireless fra un sistema di riproduzione di segnali audio e un telefono mobile, relativo procedimento e prodotto informatico
US10455400B2 (en) * 2014-06-02 2019-10-22 Qualcomm Incorporated Peer discovery in neighbor awareness networking (NAN) aided data link networks
US9596098B1 (en) * 2014-07-31 2017-03-14 iDevices, LLC Systems and methods for communication between devices and remote systems with a power cord
US20160036637A1 (en) * 2014-08-04 2016-02-04 Qualcomm Incorporated Signaling change in link configuration
EP3195619B1 (en) 2014-09-15 2018-03-21 Sonova AG Hearing assistance system and method using bluetooth profiles
US9668204B2 (en) * 2014-09-19 2017-05-30 Qualcomm Inc. Collaborative demand-based dual-mode Wi-Fi network control to optimize wireless power and performance
JP6413691B2 (ja) * 2014-11-20 2018-10-31 株式会社リコー データ通信装置、データ通信方法、及びデータ通信プログラム
US9538468B2 (en) 2014-12-23 2017-01-03 Fortinet, Inc. Power saving in Wi-Fi devices utilizing bluetooth
US10455401B2 (en) * 2015-02-24 2019-10-22 Apple Inc. Neighbor awareness networking datapath—reciprocation and coexistence
US9794867B2 (en) 2015-04-27 2017-10-17 Apple Inc. Reconfiguration of wireless devices for wireless network access
US20180343672A1 (en) * 2017-05-25 2018-11-29 Microsoft Technology Licensing, Llc Wireless infrastructure service
CN109041034B (zh) * 2018-09-18 2021-11-30 歌尔科技有限公司 一种基于蓝牙的信息交互方法、系统、蓝牙设备及介质
EP3930347A3 (en) 2020-06-02 2022-03-16 Oticon A/s Hearing aid system with internet protocol
CN113162997B (zh) * 2021-04-02 2022-04-12 深圳市网旭科技有限公司 数据传输方法、装置、电子设备及可读存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1608128A1 (en) * 2004-06-15 2005-12-21 Mitel Networks Corporation Spontaneous discovery of remote service profiles

Family Cites Families (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3707414B2 (ja) * 2001-10-04 2005-10-19 ソニー株式会社 情報処理装置、情報処理方法
KR100657258B1 (ko) * 2002-07-02 2006-12-14 삼성전자주식회사 블루투스 무선 랜 연결 장치 및 방법
US7684754B2 (en) * 2003-06-03 2010-03-23 Microsoft Corporation Capacitive bonding of devices
US20070117510A1 (en) * 2003-07-04 2007-05-24 Koninklijke Philips Electronics, N.V. System for responsive to detection, acoustically signalling desired nearby devices and services on a wireless network
US7668903B2 (en) * 2003-07-07 2010-02-23 Xerox Corporation Method and apparatus for dynamically delivering service profiles to clients
US7398327B2 (en) * 2003-11-25 2008-07-08 Robert Bosch Gmbh Apparatus, method and system for providing automated services to heterogenous devices across multiple platforms
ATE429107T1 (de) * 2003-12-10 2009-05-15 Sony Deutschland Gmbh Protokoll für multi-hop ad-hoc-netzwerke
JP4074274B2 (ja) * 2004-08-06 2008-04-09 ソフトバンクモバイル株式会社 移動体通信端末と通信可能な外部リモート装置、及び移動体通信端末と外部リモート装置とを備えたシステム
US20070002868A1 (en) * 2005-06-29 2007-01-04 Haibo Qian Location based quality of service (QoS) control
JP4649295B2 (ja) * 2005-08-30 2011-03-09 株式会社東芝 通信機器及び通信方法
US7333464B2 (en) * 2006-02-01 2008-02-19 Microsoft Corporation Automated service discovery and wireless network set-up
CN101611609B (zh) * 2006-12-28 2012-11-14 艾利森电话股份有限公司 用于服务发现的方法和装置
US8499079B2 (en) * 2008-06-23 2013-07-30 Apple Inc. Apparatus and methods for providing service discovery over alternate transports

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1608128A1 (en) * 2004-06-15 2005-12-21 Mitel Networks Corporation Spontaneous discovery of remote service profiles

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Liscano 等.SIP session-based access to bluetooth application profiles.《Proceedings of the Iasted International Conference on Wireless and Optical Communications》.2003,第349-354页.
SIP session-based access to bluetooth application profiles;Liscano 等;《Proceedings of the Iasted International Conference on Wireless and Optical Communications》;20030702;第349至354页 *

Also Published As

Publication number Publication date
EP2291981B1 (en) 2020-10-07
US20130316651A1 (en) 2013-11-28
US20160301464A1 (en) 2016-10-13
BRPI0914681B1 (pt) 2021-09-28
BRPI0914681A2 (pt) 2015-10-20
JP5135472B2 (ja) 2013-02-06
KR101202094B1 (ko) 2012-11-16
US9667340B2 (en) 2017-05-30
WO2010008861A2 (en) 2010-01-21
KR20110036057A (ko) 2011-04-06
US8499079B2 (en) 2013-07-30
AU2009271269B2 (en) 2013-11-21
JP2011525756A (ja) 2011-09-22
EP2291981A2 (en) 2011-03-09
US20090319663A1 (en) 2009-12-24
US9374153B2 (en) 2016-06-21
WO2010008861A3 (en) 2010-03-11
CN102067560A (zh) 2011-05-18
AU2009271269A1 (en) 2010-01-21

Similar Documents

Publication Publication Date Title
CN102067560B (zh) 用于在替换传输上提供服务发现的装置和方法
US7656847B2 (en) Method and apparatus for utilizing bluetooth for WLAN service authentication and discovery
US8027293B2 (en) Communication channel selection and use
US7346370B2 (en) Enabling interoperability between distributed devices using different communication link technologies
JP4892884B2 (ja) 無線lan内蔵型携帯電話端末、携帯電話システムおよびその個人情報保護方法
CN1969569B (zh) 接口协商设备及方法
CN1578240A (zh) 建立短程服务会话的方法和系统
US20090170521A1 (en) Seamless hand-off of bluetooth pairings
KR20040018367A (ko) 근거리 무선 신호를 사용하는 관리 무선망을 제공하기위한 시스템, 장치 및 컴퓨터 판독 가능한 매체
TW200642359A (en) Wireless communication method and apparatus for preventing network access by mobile stations which support an incompatible internet protocol version
US20110105024A1 (en) Transport independent service discovery
EP1947818B1 (en) A communication system and a communication method
EP1942455A1 (en) A contact device and a network of contact devices
CN102299963A (zh) 文件下载系统
CN101651473B (zh) 通信装置,制造芯片的方法以及提供无线通信规范的方法
US20060153221A1 (en) Methods for IP configuration negotiation and related devices
US8401523B2 (en) Apparatus and method for controlling quality of service of master bluetooth terminal in piconet
NO338828B1 (no) Forbedret løsning for konnektivitet
JP3785394B2 (ja) 移動端末、通信制御方法及び通信システム
CN112996137A (zh) 一种在多操作系统终端上建立数据连接的方法
WO2005022935A3 (de) Verfahren zur zulassungsanfrage zu einem datenzugriff auf nutzungs- und zustandsdaten von mobilfunkteilnehmern in einem mobilfunknetz
CN1890997B (zh) 移动终端网关
KR101412205B1 (ko) 블루투스 기기를 이용한 인스턴트 메시징 서비스 시스템 및그 방법 그리고 이에 적용되는 블루투스 기기
JP2004260727A (ja) ゲートウェイサーバ間通信方法とシステム
Ghosh et al. Short Range Radio Protocols: Bluetooth and IR

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant