CN109076324B - 控制对等体中的服务发现和激活 - Google Patents
控制对等体中的服务发现和激活 Download PDFInfo
- Publication number
- CN109076324B CN109076324B CN201780027728.5A CN201780027728A CN109076324B CN 109076324 B CN109076324 B CN 109076324B CN 201780027728 A CN201780027728 A CN 201780027728A CN 109076324 B CN109076324 B CN 109076324B
- Authority
- CN
- China
- Prior art keywords
- protocol
- computing device
- service
- activation
- wireless
- 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
Links
- 230000004913 activation Effects 0.000 title claims abstract description 119
- 238000000034 method Methods 0.000 claims abstract description 58
- 238000004891 communication Methods 0.000 claims description 102
- 230000000694 effects Effects 0.000 claims description 2
- 230000003213 activating effect Effects 0.000 abstract description 11
- 238000005516 engineering process Methods 0.000 description 44
- 238000010586 diagram Methods 0.000 description 12
- 230000003247 decreasing effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000006870 function Effects 0.000 description 4
- 238000009877 rendering Methods 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000000977 initiatory effect Effects 0.000 description 3
- 230000004807 localization Effects 0.000 description 3
- 239000008186 active pharmaceutical agent Substances 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007639 printing Methods 0.000 description 2
- 230000001154 acute effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- PCHJSUWPFVWCPO-UHFFFAOYSA-N gold Chemical compound [Au] PCHJSUWPFVWCPO-UHFFFAOYSA-N 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000035515 penetration Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/005—Discovery of network devices, e.g. terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/104—Peer-to-peer [P2P] networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/03—Protocol definition or specification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/16—Discovering, processing access restriction or access information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W52/00—Power management, e.g. Transmission Power Control [TPC] or power classes
- H04W52/02—Power saving arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/14—Direct-mode setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W84/00—Network topologies
- H04W84/18—Self-organising networks, e.g. ad-hoc networks or sensor networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4505—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
- H04L61/4511—Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/45—Network directories; Name-to-address mapping
- H04L61/4541—Directories for service discovery
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D30/00—Reducing energy consumption in communication networks
- Y02D30/70—Reducing energy consumption in communication networks in wireless communication networks
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)
Abstract
提供了用于在对等环境中发布、发现、连接和激活服务的系统、方法和计算机可读存储介质。与第一计算设备相关联的可用服务被确定并编码有用于经由其相应的激活协议来访问和理解这些服务的指令。编码的服务经由发布协议发布,使得它们由至少第二计算设备可发现,而不管这些服务是否可以经由发布协议激活。第二计算设备经由发布协议来发现可用服务,并访问和理解与所期望服务相关联的指令。在经由激活协议从第二计算设备接收到请求以激活所请求的服务时,所请求的服务由第一计算设备激活。
Description
背景技术
通常期望计算设备发现和利用与其他计算设备相关联的服务。例如,进行会议并利用它们的各自的计算设备的人可以能够在房间中使用Surface Hub(可从华盛顿州雷德蒙德的微软公司获得)以用于许多服务,例如投影、文件共享、无线虚拟智能卡认证等。然而,在这种情况下,发现、连接和激活Surface Hub的服务通常是难以实现的任务。
发明内容
提供本发明内容是为了以简化的形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
在各种实施例中,提供了用于在对等环境中发布、发现、连接和/或激活服务的系统、方法和计算机可读存储介质。与第一计算设备相关联的可用服务被确定并编码有用于经由其相应的激活协议来访问和理解这些服务的指令。编码的服务经由发布协议发布,使得它们可由至少第二计算设备发现,而不管是否可以经由发布协议激活这些服务。第二计算设备经由发布协议发现可用服务,并访问和理解与所期望的服务相关联的指令。在经由激活协议从第二计算设备接收到请求以激活所请求的服务时,由第一计算设备激活所请求的服务。
本发明的实施例提供分层协议,例如,行业标准协议,使得针对场景的特定阶段(例如,发布、发现、连接和激活)的最佳(例如,最高效或最优)协议的强度被利用,并且避免了在给定场景阶段具有弱点的协议。作为示例而非限制,可以在可用的最高功率效率协议上提供服务发布和发现,并且可以通过可用的最高性能协议提供服务连接和激活。另外,经由一种协议可用的服务可以经由另一种协议发现。
附图说明
本技术通过示例而非限制的方式在附图中被图示,在附图中类似的附图标记指示类似的元件,并且在附图中:
图1是适于在实现本技术的实施例中使用的示例性计算环境的框图;
图2是在其中可以采用本技术的实施例的示例性计算系统的框图;
图3是图示了根据本技术的实施例的用于在多个服务发现场景中发布服务可用性的示例性方法的流程图;
图4是图示了根据本技术的实施例的用于在多个服务发现场景中发布服务可用性和激活所请求的服务的示例性方法的流程图;
图5是图示了根据本技术的实施例的用于多个服务发现场景中的服务发现和连接发起的示例性方法的流程图;以及
图6是图示了根据本技术的实施例的用于访问和理解期望的服务的示例性指令的示意图。
具体实施方式
本文中具体描述了本技术的主题以满足法定要求。然而,实施方式本身并不旨在限制本专利申请的范围。相反,发明人已经想到所要求保护的主题还可以以其他方式体现,结合其他现有或未来技术,以包括与本文档中描述的步骤类似的不同步骤或步骤组合。此外,尽管本文可以使用术语“步骤”和/或“框”来表示所采用的方法的不同元素,但是这些术语不应被解释为暗示本文公开的各个步骤之中或之间的任意特定顺序,除非和除了当单个步骤的顺序被显式地描述之外。
发现、连接和激活邻近计算设备的可用服务是难以实现的任务。试图解决该难以实现的问题包括特定于协议的方案、垂直配对以及由华盛顿州雷蒙德市的微软公司提供的WINDOWS 8提供的方案。协议特定方案可以大致分为两类协议。第一类是基于更高级别的因特网协议(IP)-网络的协议,其要求两个对等体已经在共享的局域网(LAN)上。此类协议特定方案的示例包括通用即插即用(UPnP)+数字生活网络联盟(DLNA)、多播域名系统(mDNS)/域名系统-服务发现(DNS-SD)、针对设备的Web服务(WSD)和AllJoyn。另一类包括类似于个人区域网络(PAN)的协议,诸如蓝牙/蓝牙LELE(BTLE)、ZigBee(802.11.4)或WiFiDirect(WFD),它们实际上可以引导他们自己的网络以支持对等连接。
所有这些协议都有其优点和缺点。当无法通过任意预先存在的网络到达对等体时,基于共享网络的协议方案会失败。此外,大多数有线协议都不能发现对等体,除非它们位于相同子网上。蓝牙和BTLE在功率高效的附近对等体发现方面表现良好;但是,它们的带宽非常有限。WiFiDirect可以执行附近对等发现,如蓝牙和BTLE,是高带宽,并且支持基于IP的服务;然而,它的功率效率远远低于蓝牙和BTLE。
一些协议包括被称为“垂直配对”的概念,其通过示例最佳地描述,在这种情况下是WFD打印机。当用户通过WFD配对打印机时,WFD堆栈采取第二步骤以将更高层协议(例如,WSD或因特网打印协议(IPP))上的打印服务与计算设备相关联。为了使用更高层协议的服务(例如,WSD打印),首先配对下层协议(WFD)。下层协议栈具有更高层堆栈的知识。它被编码到下层协议的发现机制中。垂直配对由操作系统的协议栈实现。根据本发明的实施例的服务发现和激活不需要这样的实现,并且比垂直配对方案更多样化。
可从华盛顿州雷蒙德市的微软公司获得的WINDOWS 8包括称为“PeerFinder”的应用编程接口(API)。PeerFinder允许两个对等体上的应用以通过WFD或蓝牙彼此最近地发现,然后创建对等体之间的类似套接字的连接,应用可以通过其来实现自己的协议。但是,这种高级API排除了互操作性。
本文描述的技术的各个方面一般涉及用于分层协议(例如,工业标准协议)的系统、方法和计算机可读存储介质,使得对于场景的特定阶段(例如,发布、发现、连接和激活)的最佳(例如,最有效或最佳)协议的强度被利用,并且在给定场景阶段中具有弱点的协议被避免。作为示例而非限制,可以通过可用的最功率高效协议提供服务发布和发现,并且可以通过可用的最高性能协议提供服务连接和激活。另外,经由一种协议可用的服务可以经由另一种协议发现。
已经简要描述了本技术的实施例的概述,下面描述其中可以实现本技术的实施例的示例性操作环境,以便提供针对本技术的各个方面的一般上下文。一般地参考附图并且首先具体地参考图1,用于实现本技术的实施例的示例性操作环境被图示,并且通常被指定为计算设备100。计算设备100仅是合适的计算环境的一个示例,并且是并非旨在启示对本技术的实施例的使用范围或功能提出任意限制。计算设备100也不应被解释为具有与所示组件的任意一个组件或任意组合有关的任意依赖性或要求。
示例性操作环境
一般地参考附图,并且首先具体地参考图1,用于实现本文描述的技术的各方面的示例性操作环境被图示,并且通常被指定为计算设备100。计算设备100仅是合适的计算环境的一个示例,并且并不旨在启示对本文描述的技术的使用范围的任意限制。也不应将计算设备100解释为具有与所示组件中的任意一个或组合有关的任意依赖性或要求。
可以在由移动设备执行的计算机可执行指令(例如程序模块)的一般上下文中描述本文描述的主题的各方面。通常,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等。本文描述的主题的各方面还可以在分布式计算环境中实践,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序模块可以位于包括存储器存储设备的本地和远程计算机存储介质中。计算机可用指令形成接口,以允许计算机根据输入源做出反应。指令与其他代码段协作以响应于结合所接收数据的源接收的数据来启动各种任务。
继续参考图1,计算设备100包括直接或间接耦合以下设备的总线110:存储器112、一个或多个处理器114、一个或多个呈现组件116、输入/输出(I/O)端口118、I/O组件120和示意性电源122。总线110表示可以是一个或多个总线(诸如地址总线、数据总线或其组合)。尽管为了清楚起见,图1的各个方框用线条图示,但实际上,描绘各种组件并不是那么清楚,并且比喻地,线条将更准确地是灰色和模糊的。例如,可以将诸如显示设备的呈现组件视为I/O组件。此外,处理器有存储器。发明人在此认识到这是本领域的本质并且重申图1的图仅仅是可以结合本文描述的技术的一个或多个方面使用的示例性计算设备的说明。在诸如“工作站”、“服务器”、“膝上型计算机”、“手持设备”等类别之间没有区别,因为所有这些都被想到在图1的范围内,并且指的是“计算机”或“计算设备”。
计算设备100通常包括各种计算机可读介质。计算机可读介质可以是可由计算设备100访问的任意可用介质,并且包括易失性和非易失性、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任意方法或技术实现的易失性和非易失性、可移动和不可移动介质。
计算机存储介质包括RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字通用盘(DVD)或其他光盘存储、磁带盒、磁带、磁盘存储器或其他磁存储设备。计算机存储介质不包括传播的数据信号。
通信介质通常以诸如载波或其他传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任意信息传递介质。术语“已调制数据信号”表示以对信号中的信息进行编码的方式设置或改变其特征中的一个或多个的信号。作为示例而非限制,通信介质包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、RF、红外和其他无线介质的无线介质。上述任意一个的组合也应被包括在计算机可读介质的范围内。
存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器112可以是可移除的、不可移除的或其组合。示例性存储器包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备100包括一个或多个处理器114,其从诸如总线110、存储器112或I/O组件120的各种实体读取数据。呈现组件116向用户或其他设备呈现数据指示。示例性呈现组件116包括显示设备、扬声器、打印组件、振动组件等。I/O端口118允许计算设备100在逻辑上耦合到其他设备,包括I/O组件120,其中一些可以内置于其中。
示意性I/O组件包括麦克风、操纵杆、游戏手柄、卫星天线、扫描仪、打印机、显示设备、无线设备、控制器(诸如触控笔、键盘和鼠标)、自然用户界面(NUI)等。在一些方面,提供笔式数字转换器(未图示)和伴随的输入仪器(也未图示但可以仅包括例如笔或触笔),以便数字地捕获徒手用户输入。笔式数字转换器和处理器114之间的连接可以是直接的或经由利用本领域已知的串行端口、并行端口和/或其他接口和/或系统总线的耦合。此外,数字转换器输入组件可以是与诸如显示设备的输出组件分离的组件,或者在一些方面,数字转换器的可用输入区域可以与显示设备的显示区域共存,与显示设备集成,或者可以作为覆盖或以其他方式附加到显示设备的分离设备存在。预期任意和所有这样的变体及其任意组合都被想到在本文描述的技术的方面的范围内。
NUI处理由用户生成的空中手势、语音或其他生理输入。适当的NUI输入可以被解释为用于与计算设备100相关联地呈现的墨水笔划。可以将这些请求发送到适当的网络元件以进行进一步处理。NUI实现语音识别、触摸和手写笔识别、面部识别、生物识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪以及与计算设备100上的显示相关联的触摸识别的任意组合。计算设备100可以配备有深度相机,诸如立体相机系统、红外相机系统、RGB相机系统、以及它们的组合,用于手势检测和识别。另外,计算设备100可以配备有支持运动的检测的加速度计或陀螺仪。可以将加速计或陀螺仪的输出提供给计算设备100的显示器以渲染沉浸式增强现实或虚拟现实。
计算设备可以包括无线电124。无线电124发送和接收无线电通信。计算设备可以是适于通过各种无线网络接收通信和媒体的无线终端。计算设备100可以经由无线协议(诸如码分多址(“CDMA”)、全球移动系统(“GSM”)或时分多址(“TDMA”)以及其他协议)与其他设备进行通信。无线电通信可以是短程连接、远程连接、或短程和远程无线电信连接的组合。当我们提到“短”和“长”类型的连接时,我们并不是指两个设备之间的空间关系。相反,我们通常将短距离和长距离称为连接的不同类别或类型(即,主连接和辅连接)。短程连接可以包括到设备(例如,移动热点)的连接,该设备提供对无线通信网络的接入,诸如使用802.11协议的WLAN连接。与另一计算设备的蓝牙连接是短程连接的第二示例。远程连接可以包括使用CDMA、GPRS、GSM、TDMA和802.16协议中的一个或多个的连接。
如前所述,本技术的实施例提供用于发布服务可用性、发现可用服务、与可用服务连接和/或激活可用服务的系统、方法和计算机可读存储介质。该技术的实施例采用基于混合标准的方案,该方案将协议分层,例如行业标准协议,使得针对服务发现场景的特定阶段(例如,发布、发现、连接或激活)的“最佳”(例如,最高效或最优)协议的强度被利用,并且避免了针对具有服务发现场景的特定阶段的弱点的协议。本发明的实施例还提供了用于从一个协议发现另一个协议的服务的机制。
术语“服务”在本文中广泛使用,并且可以包括与第一对等计算设备相关联的任意能力或资源,其可以由第二对等计算设备访问或使用,如本文所述。例如但不限于,服务可以包括麦克风、相机、扬声器、打印机、媒体服务器、显示组件(诸如投影仪、监视器或虚拟现实耳机)、用户接口(诸如触摸屏或触摸板、鼠标、键盘、智能板、互联网或网络连接或网络连接组件(诸如BLTE智能卡))、计算机处理或计算能力(其可用于提供比第二对等计算设备上可能的更快的绘制或更高效的计算)、存储、I/O端口、特定应用(或应用)和计算机执行的服务(例如,其可以包括虚拟助理程序或基于云的服务)、或特定设备(诸如均由华盛顿州雷德蒙德的微软公司制造的HoloLens或Smart Hub、智能装备或智能家居控制器)。特定服务可能具有关于访问和理解该服务的对应信息,其可以被利用以便于使服务可用于另一计算设备。
作为示例而非限制,对于给定配置,用于发现和发布的“最佳”协议可以是在给定服务发现场景的细节的情况下相对于其他可用协议具有优越功率效率的协议。(各种服务发现场景和与其相关联的示例性细节将在下面更全面地讨论。)例如,可以选择BTLE作为用于附近对等服务发现的最佳协议,并且对于基础设施基于IP的网络,可以选择DNS-SD。在实施例中,多于一个协议可以被选择并发布为服务发现场景的给定阶段的“最佳”协议,因为各种发现设备可以支持不同的技术。任意和所有这样的变体及其任意组合都被想到在本技术的实施例的范围内。
在对等计算设备发现彼此的服务之后,本发明的实施例提供了针对对等体的、用于在适当时将它们的连接切换到另一传输或协议的路径。作为示例而非限制,用于连接和激活的“最佳”协议可以是在给定服务发现场景的细节的情况下相对于其他可用协议具有优越性能的协议。例如,进行会议并利用其相应计算设备的人员可以能够使用房间中的、通过功率高效BTLE协议被发布和发现的Surface Hub(可从华盛顿州雷德蒙德的微软公司获得),但是可以在共享IP网络上期望连接和激活。替代地,WFD可用于在这种场景中引导共享IP网络。同样,在实施例中,多于一个协议可以被选择并发布为服务发现场景的给定阶段的“最佳”协议,因为各种设备可以支持不同的技术。
以这种方式,本技术的实施例可以例如在各种服务发现场景中同时具有功率高效和性能,因为可以利用用于服务发现场景的特定阶段的最佳协议的强度,并且协议可以在服务发现场景的阶段改变时切换。另外,在实施例中,可以利用可以在任意平台上实现的基于标准的协议。例如,开发人员可以在ANDROID或甚至允许所有人进行互操作的BTLE微控制器上发现、阅读甚至发布MICROSOFT供应商定义的BTLE服务广告。
本文讨论的一般概念可以应用于其他或不同的协议。许多组合都是有效的;例如,UPnP可以用作蓝牙、WFD或WSD上的服务的发布和发现机制。尽管所有组合都是可能的并且在本发明的范围内,但实际上,某些组合比其他组合更有效。在示例性实施例中,协议的选择可主要涉及支持对等服务发现、发布和激活,其最重要的是功率高效并且可与其他平台互操作。
现在参考图2,提供了图示其中可以采用本发明的实施例的示例性计算系统200的框图。通常,计算系统200图示了环境,其中与附近计算设备相关联的可用服务可以根据方法被发布、发现、连接和激活,例如,如图3、图4和图5所示(下面更全面地描述)。在未图示的其他组件中,计算系统200通常包括第一对等计算设备210和第二对等计算设备212,它们经由发布协议网络214和激活协议网络216彼此通信。发布协议网络214和激活协议网络216中的每一个可以包括但不限于一个或多个LAN、广域网(WAN)、UPnP网络、DLNA网络、mDNS网络、DNS-SD网络、WSD网络、蓝牙网络、BTLE网络、ZigBee(802.11.4)网络或WFD网络。这种联网环境在办公室、企业范围的计算机网络、内联网和因特网中是常见的。另外,图2中图示的去往和来自发布协议网络214和激活协议网络216的箭头仅仅是说明从一个对等计算设备流到另一个对等计算设备的信息,并且不旨在传达通信方向,在上面列出的示例协议中这两者都发生。
应当理解,在本技术的实施例的范围内,可以在计算系统200中采用任意数量的对等计算设备210、212。每个可以包括单个设备/接口或在分布式环境中协作的多个设备/接口。例如,第一对等计算设备210和第二对等计算设备212中的一个或两个可以包括布置在分布式环境中的多个设备和/或模块,其共同提供如本文所述的第一对等计算设备210和第二对等计算设备212的功能。另外,未图示的其他组件或模块也可以被包括在计算系统200内。
在一些实施例中,所示组件/模块中的一个或多个可以实现为独立应用。在其他实施例中,所示组件/模块中的一个或多个可以经由第一对等计算设备210、第二对等计算设备212来实现或者实现为基于互联网或基于网络的服务。本领域普通技术人员将理解,图2中图示的组件/模块在性质上和数量上是示例性的,并且不应被解释为限制性的。可以采用任意数量的组件/模块来实现本发明实施例范围内的所需功能。此外,组件/模块可以位于任意数量的对等计算设备上。仅作为示例,第一对等计算设备210和第二对等计算设备212中的一者或两者可以被提供为单个计算设备、计算设备集群或远离剩余组件中的一个或多个的计算设备。
应当理解的是,本文描述的这个和其他布置仅作为示例阐述。除了或代替所示和/或描述的那些之外,可以使用其他布置和元件(例如,机器、接口、功能、顺序和功能分组等),并且可以完全省略一些元件。此外,本文描述的许多元件是功能实体,其可以实现为离散或分布式组件或者与其他组件一起实现,并且可以以任意合适的组合和位置实现。本文描述的由一个或多个实体执行的各种功能可以由硬件、固件和/或软件来执行。例如,各种功能可以由执行在存储器中存储的指令的处理器执行。
第一对等计算设备210和第二对等计算设备212中的每一个可以包括任意类型的计算设备,例如诸如参考图1描述的计算设备100。第一对等计算设备210和第二对等计算设备212中的每一个通常被配置为向附近计算设备发布或从附近计算设备发现可用服务。第一对等计算设备210和第二对等计算设备212中的每一个通常还被配置为发起与附近计算设备服务的连接并激活与其相关联的服务。通常,第一对等计算设备210和第二对等计算设备212中的每一个可以是具有外部输入组件(诸如外部键盘,小键盘等)的桌面计算设备、具有与任意显示屏分开且不同的输入组件的移动计算设备、或者具有与其显示屏集成的输入组件的移动或桌面计算设备(例如,触摸屏键盘/小键盘等)。根据本发明实施例的第一对等计算设备210和第二对等计算设备212可以包括外部和集成输入设备的任意组合。在一些实施例中,适合与本技术的实施例一起使用的对等计算设备可以包括用于接受语音输入的麦克风或其他听音设备。任意和所有这样的变体及其任意组合都被想到在本技术的实施例的范围内。应当注意,本技术的实施例同样适用于移动计算设备和接受手势、触摸和/或语音输入的设备,并且因此可以具有外部和/或集成相机(未图示)、运动检测机制(未图示)等。任意一个和全部这样的变体及其任意组合都在本技术的实施例的范围内被想到。
第一对等计算设备210包括可用服务确定组件218、协议确定组件220、编码组件222、发布组件224和激活组件226。可用服务确定组件218被配置为确定第一对等计算设备210能够与附近计算设备(例如,第二对等计算设备212)共享的任意服务。如本文所使用的,“附近”设备是彼此“邻近”的那些设备。举例来说,对于基础设施网络或两个对等体已经在其上彼此连接的网络,在最直接的情况下,附近设备具有可路由连接的设备。在更有限的情况下,附近对等体是能够在彼此之间发送和接收多播消息的对等体。这是当前网络协议的最常见情况。对于无线网络,附近对等体是彼此的无线电信号广播和接收范围内的对等体。
如上所述,可用服务确定组件218被配置为确定与第一对等计算设备210相关联的任意服务。在一个实施例中,第一计算设备的一个或多个服务可以通过访问注册表或可用服务的列表来确定,诸如数据记录,其可以通过扫描第一对等计算设备210或者由第一对等计算设备210的用户手动注册或指定可用服务来确定(可以通过提供查询用户的提示来执行,诸如“您希望哪些服务可用于其他设备?”,或者通过向第一对等计算设备注册自己的特定服务来执行),或者通过访问关于第一对等计算设备的系统信息或设备的信息的记录来确定。
在一些实施例中,可用服务确定组件218(或第一对等计算设备210的其他组件)确定或标识对应于服务的信息以用于访问和理解该服务,其可以被利用以便于使服务可用于另一计算设备。例如,可用服务确定组件218可以使用规则或逻辑集合、规范或与服务相关联的API来确定该信息。该信息可以与特定服务相关联并且被提供给第一对等计算设备210的其他组件。例如,给定要访问的特定服务,协议确定组件220可以利用该信息来确定一个或多个最佳协议。
出于服务发布和发现的目的,不了解可能正在发现其服务的其他对等计算设备的对等计算设备可以始终在监听对等服务发现请求和/或主动广播其自己的服务。对于用户可以使用的另一种方案是例如经由按下服务发现按钮等在设备上物理地激活某种配对或发现模式。必须将对等计算设备置于配对或发现模式中是容易出错的并且不是特别用户友好的。然而,在对等计算设备不断地监听对等计算设备对服务的请求或主动发布其可用服务的情况下,应当考虑功率效率和对对等计算设备的正常操作的影响。对于在电池上运行的对等计算设备,此问题尤其严重。
协议确定组件220被配置为鉴于多个不同的服务发现场景,确定用于每个场景的各个阶段的最佳(例如,最功率高效或最优)协议。协议确定组件220可以确定发布协议和激活协议。发布协议用于将服务可用性传送给其他设备。激活协议用于访问服务。
为了选择发布协议,第一对等计算设备可以标识可用于第一对等计算设备的通信技术和相关联的通信协议。可用的通信协议可以基于设备上可用的技术(例如,安装的各种无线电部件)和软件而在不同设备之间变化。设备的当前上下文,例如设备当前是否与其他设备所附接的网络通信,可以在选择决策中起作用。
协议确定组件220可以能够从与计算设备相关联的数据存储库中的协议可用性文件(或存储数据的任意其他方法,诸如应用内的代码)中标识可用的通信协议。在一个方面,协议可用性文件包括每个可用协议的市场可用性分数和功率使用分类。可用性分数可以是能够使用该协议的设备的度量(例如,设备的百分比)。向第一对等计算设备提供服务的实体,诸如提供操作系统或应用的公司,可以周期性地向协议可用性文件提供更新的可用性分数和其他信息。可用性文件可以存储在计算设备上或远程存储器中,例如,存储在计算设备可访问的数据中心中。
在一个方面,第一对等计算设备的协议确定组件220确定其他设备接近并且不通过可直接路由的连接进行连接。其他设备的接近度可以通过检测源自其他设备的无线信号来确定。在另一方面,服务提供其他设备接近的通知。该服务可以确定不同设备的位置,并提供其他设备在附近的通知。例如,可以基于以下各项来确定设备位置:与每个设备相关联的GPS传感器(或GPS提供的数据)、可以包括接收信号强度指示(RSSI)的Wi-Fi定位系统(WPS)、指纹识别、到达角度、时间或飞行、或其他本地化技术、无线三角测量、IP地址的地理定位、或这些的组合。每个设备可以提供其位置信息(或者可以例如通过监视程序从设备询问该位置)。然后,位置之间的距离被确定并与用于将设备分类为彼此接近的接近阈值距离进行比较。在一个方面,接近阈值可以绑定在公共无线网络的范围内。
在一个方面,如果来自其他设备的无线信号包括发现请求,则第一对等计算设备选择在其上发送发现请求的无线信号的通信协议用于发布协议。然后可以在所选择的通信协议中传送具有用于服务的激活指令的发布消息。
如果无线信号不包括发现请求并且在可用性文件中被分类为低功率,则第一对等计算设备选择检测到的无线信号的通信协议作为发布协议。然后可以在所选择的通信协议中传送具有用于服务的激活指令的发布消息。
如果无线信号不包括发现请求并使用被分类为高功率的通信,则第一对等计算设备从可用列表中选择具有最高可用性分数的低功率通信协议作为发布协议。然后可以在所选择的通信协议中传送具有用于服务的激活指令的发布消息。
如果没有接收到对发布消息的响应,则可以选择在其他设备使用的无线信号中使用的高功率协议。然后具有用于服务的激活指令的发布消息可以在最初由无线信号使用的所选高功率通信协议中传送。
如果在发布消息被发送并且没有接收到回复之后,则可以首先从低功率组按可用性降低的顺序(例如,首先是最高可用性),然后在高功率组中按可用性降低的顺序,选择附加协议。换句话说,首先选择最低功率和最可用的通信协议。
在示例性实施例中,最佳协议是针对于发布和发现的最高功率效率并且针对连接和激活的最佳性能的协议。在其他示例性实施例中,最佳协议是针对发布和发现的最延迟敏感性的,并且针对连接和激活的最高功率效率的协议。任意和所有这样的变体及其任意组合都在本技术的实施例的范围内被想到。次要目标可以是选择将与生态系统中已有的其他设备良好互操作的协议。
如果连接对等计算设备在相同的IP网络上,无论是在相同的子网上还是在不同的子网上,包括基础设施WiFi网络,用于发布和发现服务的边际功率成本几乎为零。因此,许多基于IP网络的协议足以用于发布和发现,包括但不限于UPnP/DLNA、WSD、mDNS/DNS-SD、AllJoyn、Smartglass/连续数据保护和(CDP)。在其示例性实施例中,协议确定组件220由于其优越的互操作性以及经过本地子网发布和发现的能力而选择用于发布和发现的DNS-SD。WINDOWS和本身支持mDNS/DNS-SD,在ANDROID甚至支持IP网络的嵌入式设备上实现起来相当简单。
为了发布和发现物理上在附近或在任意公共IP网络上不可用的对等计算设备,在本发明的示例性实施例中,协议确定组件220选择BTLE用于发布。几年来,几乎所有膝上型计算机计算设备和移动计算设备都附带了BTLE无线电部件。BTLE无线电部件具有执行硬件卸载的能力,使得服务发布广告在无线电部件的固件中处理。这有效地使得服务发布广告的边际功率成本为零,因为它们不使用CPU并且无线电部件被设计为在这种场景中获得非常小的功率。例如,嵌入式设备可以在小硬币单元上发布LE广告多年。在其他示例性实施例中,协议确定组件220也可以出于功率原因选择ZigBee;然而,与蓝牙相比,其消费市场渗透率较小。对于工业IoT场景,协议确定组件220可以选择ZigBee或类似的无线网格网络协议,而不是BTLE。
另一方面,WiFiDirect在生态系统中得不到很好的支持,并且在其目前的形式中,相对于蓝牙来说,其具有更低的功率效率用于始终发布。然而,在示例性实施例中,协议确定组件220可以选择WFD用于发布和发现,作为蓝牙的替代实现。除此之外,WFD对于引导附近IP网络非常有用。如果所讨论的服务需要IP网络并且没有通过任意现有网络到发布计算设备的路由,则这尤其方便。例如,第二对等计算设备212期望利用的打印机可以允许使用WFD与其连接,但是在网络被引导之后,它实际上可以使用WSD或IPP。
编码组件222被配置为使用用于经由激活协议理解和访问服务的指令来编码由协议确定组件220标识的协议。本发明的实施例定义了编码的二进制大对象(BLOB)格式,其描述了与发布设备相关联的可用服务,例如第一对等计算设备210。服务BLOB向发现对等计算设备,例如,第二对等计算设备212,提供具有用于启动与所期望服务的连接所需的信息。作为示例而非限制,服务BLOB可以包括服务的标识、激活协议的标识、与服务相关联的友好名称、以及支持通过激活协议对连接的发起的一个或多个细节,例如,PIN号、访问码等。发布服务BLOB的计算设备提供1-N BLOBS的向量。根据所选的发布协议,此有效负载可以直接适合发现分组。然而,一些发布协议可能需要发现对等计算设备(例如,第二对等计算设备212)来进行额外连接以下载服务BLOB。
从概念上讲,每个服务BLOB将包含通过各种协议在发布对等计算设备上可用的服务的列表。在本发明的示例性实施例中,每个发布的服务记录可以包含以下信息:{protocol_guid,service_class_id_guid,service_friendly_name,和连接参数}。仅作为示例而非限制,第一对等计算设备210可以支持以下服务:WSD打印机、UPnP媒体服务器和BTLE虚拟智能卡。在这种情况下,并且根据本发明的实施例,与第一对等计算设备210相关联的BLOB可以用DNS服务记录中的以下服务进行编码:
{protocol_WSD_guid,WSD_printer_class_guid,L“打印服务,”wsd_printer_URI}
{protocol_UPnP_guid,UPnP_DMR_class_guid,L“John Doe’的媒体库,”UPnP_DMS_URI}
{protocol_BTLE_guid,virtual_smart_card_class_guid,L”虚拟智能卡,”{BTLEMAC地址,BTLE_profile_guid}}
在图6中图示了图示示例性对等计算设备的服务有效载荷的示意图600,该服务有效载荷具有多个服务BLOBS。在备选配置(未图示)中,蓝牙通用属性简档(GATT)或类似的属性协议可以被利用,而不是服务BLOB(或除服务BLOB之外)。例如,可以在充当GATT客户端的第一计算设备和充当GATT服务器的第二对等计算设备之间执行GATT事务。类似地,其他实施例可以利用DNS服务发现(DNS-SD)或多播DNS(mDNS)来发现和传送关于可用服务的信息。
利用如本文所示的示例性实施例中所示的信息对可用服务进行编码,允许对等计算设备(例如,第二对等计算设备212)发现他们本来不能够以其他方式发现的服务。例如,如果第一和第二对等计算设备210、212不在相同子网上,如果根据现有技术服务发现机制实现发现,则不会发现UPnP或WSD。另外,如果第二对等计算设备212的蓝牙无线电被关闭或者如果第一对等计算设备210没有参与蓝牙发现,则BTLE服务将不会被发现。根据本发明的实施例,所有服务都可以通过共享网络发现。
发布组件224被配置为通过协议确定组件220选择用于发布的发布协议发布编码服务BLOB。在一些实施例中,发布组件224可以被认为经由第一对等计算设备210的通信组件,诸如无线电部件(未图示),使用发布协议公开地广播或传送编码服务BLOB。例如,在一个实施例中,表示编码服务BLOB的信息可以在从第一对等计算设备210发送的、并且可以由监听第二对等计算设备212接收的通信信号上被调制。在一个实施例中,第一对等计算设备210可以接收第二对等计算设备212的附近存在的指示(例如,通过检测由第二对等计算设备212发出的信标或广播,通过检测另一设备正在共享相同的通信网络,通过检测与第二对等计算设备212或其他部件相关联的IP地址),并且在检测到附近存在时,第一对等计算设备210可以广播或以其他方式传送编码服务BLOB,使得其可以被第二对等计算设备212接收。在一些实施例中,在第一对等计算设备210和第二对等计算设备212之间建立通信会话以交换编码服务BLOB。因此,这些和已知通信连接技术的任意和所有这些变体或组合都在发布组件224的实施例的范围内可以想到。
激活组件226被配置为在接收到来自对等计算设备(例如,第二对等计算设备212)的请求时,激活所请求的服务,其可以包括在一些实施例中的初始化、加载或启动服务。
第二对等计算设备212包括发现组件228、指令理解和访问组件230以及连接组件232。发现组件228被配置为通过发布协议发起发现,即,通过第一对等计算设备210用于服务发布的协议。发现组件228还被配置为从第一对等计算设备210下载或接收与服务发布BLOB相关联的服务列表,并对服务列表进行解码。例如,在一个实施例中,由第一对等计算设备210发出的包括服务列表(或服务列表的指示)的通信由第二对等计算设备212经由诸如无线电部件(未显示)的通信接收器组件接收。例如,对应于编码服务BLOB的信息可以经由从第一对等计算设备210发送的通信信号被接收,被解调(经由无线电接收器),并且被解码(如果需要)以确定用于第一对等计算设备210的可用服务,以及用于经由它们相应的激活协议访问和理解这些服务的信息,其可以被提供给理解和访问组件230。如前所述,在一些实施例中,可以在第一对等计算设备210和和第二对等计算设备212之间简要地建立通信会话,以接收编码服务BLOB中指示的服务列表。在一些实施例中,发现组件228(或第二对等计算设备212的另一组件)可以解码服务BLOB中的信息以确定可用服务。
然后可以检查可用服务,并且可以发现第二对等计算设备212感兴趣的服务。另外,可以发现与期望服务相关联的激活协议。一旦发现组件228定位了它感兴趣的服务,连接细节以及协议和服务标识符提供关于如何发起与该服务的连接并利用激活协议激活该服务的足够的信息。指令理解和访问组件230被配置为从服务发布BLOB访问与所期望服务相关联的指令或连接细节,并理解这些指令或连接细节。
连接组件232被配置为利用在服务发布BLOB中编码的激活协议来发起与期望服务的连接。然后,服务激活将由第一对等计算设备210的激活组件完成,如上文所述。
现在转到图3,图示了根据本技术的实施例的示出用于在多个服务发现场景中发布服务可用性的示例性方法300的流程图。如框310所示,确定与第一设备(例如,图2的第一对等计算设备210)相关联的至少一个可用服务(例如,利用图2的第一对等计算设备210的可用服务确定组件218)可用于与第二计算设备共享。如前所述,术语“服务”可以包括与第一对等计算设备相关联的任意能力或资源,其可以由第二对等计算设备访问或使用。例如,服务可以包括麦克风、相机、扬声器、打印机、媒体服务器、显示组件(诸如投影仪、监视器或虚拟现实耳机)、用户界面(诸如触摸屏或触摸板、鼠标、键盘、智能板、互联网或网络连接或网络连接组件(诸如BLTE智能卡)、计算机处理或计算功能(可用于提供比第二对等计算设备更快的绘制或更高效的计算)、存储装置、I/O端口,特定应用程序(或应用)和计算机执行的服务(例如,其可以包括虚拟助手程序或基于云的服务)、或特定设备(诸如两者均由华盛顿州雷蒙德市的微软公司制造的HoloLens或Smart Hub、智能装备或智能家居控制器)。特定服务可以具有关于访问和理解该服务的对应信息,这些信息可以被利用以便于使该服务可用于另一计算设备。
该服务与激活协议相关联(例如,由图2的第一对等计算设备210的协议确定组件220确定)。激活协议可以是适合于访问服务的无线通信协议。不同的服务可能需要交换不同数量和类型的信息以便使服务被访问。在一个方面,每个服务在计算机存储器中与一个或多个合适的通信协议相关联。
如框312所示,用于访问服务的指令被编码(例如,利用图2的第一对等计算设备210的编码组件222)到消息中。该指令允许接收方设备与第一计算设备协商通信会话。指令可以指定可以作为已知无线通信协议的激活协议被用于访问服务。在实施例中,这种编码可以被规定格式为服务发布BLOB,如上所述。
如框314所示,从第一计算设备可用的可用无线通信协议中选择发布协议(例如,利用协议确定组件220)。发布协议可以与激活协议不同。该选择可以基于进行选择的计算设备的无线上下文。无线上下文可以包括第一计算设备的能力和检测到的无线信号。
为了选择发布协议,第一对等计算设备可以标识第一对等计算设备可用的通信技术和相关联的通信协议。可用的通信协议可以基于设备上可用的技术(例如,安装的各种无线电部件)和软件而在不同设备之间变化。设备的当前上下文,例如设备当前是否与其他设备所附接到的网络通信,可以在选择决策中起作用。
第一计算设备可以从与计算设备相关联的数据存储库中的协议可用性文件中标识可用的通信协议。“文件”在本文中可广泛用于表示任意类型的数据存储,包括应用中的一段代码。在一个方面,协议可用性文件包括针对每个可用协议的市场可用性分数和功率使用分类。可用性分数可以是能够使用该协议的设备的度量(例如,设备的百分比)。向第一对等计算设备提供服务的实体,诸如提供操作系统或应用的公司,可以周期性地向协议可用性文件提供更新的可用性分数和其他信息。可用性文件可以存储在计算设备上或远程存储装置中,例如,存储在计算设备可访问的数据中心中。
在一个方面,确定其他设备接近并且不通过可直接路由的连接进行连接。可以通过检测源自其他设备的无线信号来确定其他设备的接近。在另一方面,服务提供其他设备接近的通知。该服务可以确定不同设备的位置,并提供其他设备在附近的通知。例如,可以基于以下各项来确定设备位置:与每个设备相关联的GPS传感器(或GPS提供的数据)、可以包括接收信号强度指示(RSSI)的Wi-Fi定位系统(WPS)、指纹识别、到达角度、时间或飞行、或其他本地化技术、无线三角测量、IP地址的地理定位、或这些的组合。每个设备可以提供其位置信息(或者可以例如通过监视程序从设备询问该位置)。然后,位置之间的距离被确定并与用于将设备分类为彼此接近的接近阈值距离进行比较。在一个方面,接近阈值可以绑定在公共无线网络的范围内。
在一个方面,如果来自其他设备的无线信号包括发现请求,则第一对等计算设备选择发送发现请求的无线信号的通信协议用于发布协议。然后可以在所选择的通信协议中传送具有用于服务的激活指令的发布消息。
如果无线信号不包括发现请求并且在可用性文件中被分类为低功率,则第一对等计算设备选择检测到的无线信号的通信协议作为发布协议。然后可以在所选择的通信协议中传送具有用于服务的激活指令的发布消息。
如果无线信号不包括发现请求并使用被分类为高功率的通信,则第一对等计算设备从可用列表中选择具有最高可用性分数的低功率通信协议作为发布协议。然后可以在所选择的通信协议中传送具有用于服务的激活指令的发布消息。
如果没有接收到对发布消息的响应,则可以选择在其他设备使用的无线信号中使用的高功率协议。然后可以在最初由无线信号使用的所选高功率通信协议中传送具有用于服务的激活指令的发布消息。
如果在发布消息被发送并且回复没有被接收到之后,则可以首先从低功率组中以降低可用性的顺序(例如,首先是最高可用性),然后在高功率组中以降低可用性的顺序,选择附加协议。换句话说,首先选择最低功率和最可用的通信协议。
在示例性实施例中,最佳协议是针对发布和发现的最高功率效率并且针对连接和激活的最佳性能的协议。在其他示例性实施例中,最佳协议是针对发布和发现的最延迟敏感性的,并且针对连接和激活的最高功率效率的协议。任意和所有这样的变体及其任意组合都在本技术的实施例的范围内。次要目标可以是选择将与生态系统中已有的其他设备良好互操作的协议。
如框316所示,该消息经由所选择的发布协议(也由例如用图2的第一对等计算设备210的协议确定组件220来确定)来发布(例如利用图2的第一对等计算设备210的发布组件224),使得编码的服务可被至少第二设备(例如,图2的第二对等计算设备212)发现。该发布可以通过适合与发布协议一起使用的计算设备的无线电部件发送消息来发生。
如框318所示,经由激活协议(例如,通过图2的第一对等计算设备210的激活组件226)接收对可用的至少一个服务的激活请求,并且如框318所示,至少一个服务被激活。
参考图4,图示了根据本技术的实施例的示出用于在多个服务发现场景中发布服务可用性和激活所请求的服务的另一示例性方法400的流程图。如框410所示,(例如,利用图2的第一对等计算设备210的可用服务确定组件218)确定与第一设备(例如,图2的第一对等计算设备210)相关联的至少一个可用服务可用于另一计算设备使用。如前所述,术语“服务”可以包括与第一对等计算设备相关联的任意能力或资源,其可以由第二对等计算设备访问或使用。例如,服务可以包括麦克风、相机、扬声器、打印机、媒体服务器、显示组件(诸如投影仪、监视器或虚拟现实耳机)、用户界面(诸如触摸屏或触摸板、鼠标、键盘、智能板、互联网或网络连接或网络连接组件(诸如BLTE智能卡)、计算机处理或计算能力(可用于提供比第二对等计算设备更快的渲染或更高效的计算)、存储装置、I/O端口、特定应用程序(或应用)和计算机执行的服务(例如,其可能包括虚拟助手程序或基于云的服务)、或特定设备(诸如两者均由华盛顿州雷蒙德市的微软公司制造的HoloLens或Smart Hub、智能装备或智能家居控制器)。特定服务可能具有关于访问和理解该服务的相应信息,其可以被利用以使该服务可用于另一计算设备。
该服务与激活协议相关联(例如,由图2的第一对等计算设备210的协议确定组件220确定)。激活协议可以是适合于访问服务的无线通信协议。不同的服务可能需要交换不同数量和类型的信息以便使服务被访问。在一个方面,每个服务在计算机存储器中与一个或多个合适的通信协议相关联。
如框412所示,从第一计算设备可使用的可用无线通信协议中选择发布协议(例如,利用协议确定组件220)。发布协议可以与激活协议不同。该选择可以基于进行选择的计算设备的无线上下文。无线上下文可以包括第一计算设备的能力和检测到的无线信号。
为了选择发布协议,第一对等计算设备可以标识第一对等计算设备可用的通信技术和相关联的通信协议。可用的通信协议可以基于设备上可用的技术(例如,安装的各种无线电部件)和软件而在不同设备之间变化。设备的当前上下文,例如,设备当前是否与其他设备所附接的网络通信,可以在选择决策中起作用。
第一计算设备可以从与计算设备相关联的数据存储库中的协议可用性文件中标识可用的通信协议。“文件”在本文中可广泛用于表示任意类型的数据存储,包括应用中的一段代码。在一个方面,协议可用性文件包括每个可用协议的市场可用性分数和功率使用分类。可用性分数可以是能够使用该协议的设备的度量(例如,设备的百分比)。向第一对等计算设备提供服务的实体(诸如提供操作系统或应用的公司)可以周期性地向协议可用性文件提供更新的可用性分数和其他信息。可用性文件可以存储在计算设备上或远程存储器中,例如,存储在计算设备可访问的数据中心中。
在一个方面,确定其他设备接近并且不通过可直接路由的连接进行连接。可以通过检测源自其他设备的无线信号来确定其他设备的接近。在另一方面,服务提供其他设备接近的通知。该服务可以确定不同设备的位置,并提供其他设备在附近的通知。例如,可以基于以下各项来确定设备位置:与每个设备相关联的GPS传感器(或GPS提供的数据)、可以包括接收信号强度指示(RSSI)的Wi-Fi定位系统(WPS)、指纹识别、到达角度、时间或飞行、或其他本地化技术、无线三角测量、IP地址的地理定位、或这些的组合。每个设备可以提供其位置信息(或者可以例如通过监视程序从设备询问该位置)。然后,位置之间的距离被确定并与用于将设备分类为彼此接近的接近阈值距离进行比较。在一个方面,接近阈值可以绑定在公共无线网络的范围内。
在一个方面,如果来自其他设备的无线信号包括发现请求,则第一对等计算设备选择在其上发送发现请求的无线信号的通信协议用于发布协议。然后可以在所选择的通信协议中传送具有用于服务的激活指令的发布消息。
如果无线信号不包括发现请求并且在可用性文件中被分类为低功率,则第一对等计算设备选择检测到的无线信号的通信协议作为发布协议。然后可以在所选择的通信协议中传送具有用于服务的激活指令的发布消息。
如果无线信号不包括发现请求并使用被分类为高功率的通信,则第一对等计算设备从可用列表中选择具有最高可用性分数的低功率通信协议作为发布协议。然后可以在所选择的通信协议中传送具有用于服务的激活指令的发布消息。
如果没有接收到对发布消息的响应,则可以选择在其他设备使用的无线信号中使用的高功率协议。然后具有用于服务的激活指令的发布消息可以在最初由无线信号使用的所选高功率通信协议中传送。
如果在发布消息被发送并且没有接收到回复之后,则可以首先从低功率组按可用性降低的顺序(例如,首先是最高可用性),然后在高功率组中按可用性降低的顺序,选择附加协议。换句话说,首先选择最低功率和最可用的通信协议。
在示例性实施例中,最佳协议是针对发布和发现的最高功率效率并且针对连接和激活的最佳性能的协议。在其他示例性实施例中,最佳协议是针对发布和发现的最具延迟敏感性的、并且针对连接和激活的最高功率效率的协议。任意和所有这样的变体及其任意组合都在本技术的实施例的范围内。次要目标可以是选择将与生态系统中已有的其他设备良好互操作的协议。
如框414所示,该消息经由发布协议(也由例如图2的第一对等计算设备210的协议确定组件220确定)来发布(例如,利用图2的第一对等计算设备210的发布组件224),使得服务被至少第二设备(例如,图2的第二对等计算设备212)可发现。该发布可以通过适合与发布协议一起使用的计算设备的无线电部件发送消息来发生。
如框416所示,经由激活协议(例如,从图2的第二对等计算设备212的连接组件232)接收对至少一个可用的服务的激活请求。如框418所示,激活所请求的服务(例如,利用图2的第一对等计算设备210的激活组件226)。
现在转到图5,图示了根据本技术的实施例的图示用于多个服务发现场景中的服务发现和连接发起的示例性方法500的流程图。如框510所示,例如,利用图2的第二对等计算设备212的发现组件228,发现与第一设备(例如,图2的第一对等计算设备210)相关联的至少一个可用服务。可以通过接收包括用于访问服务的指令的消息来发生发现。消息可以使用无线发布协议被规定格式。即使发现请求未被传送,该发现也可以发生。如框512所示,例如,利用图2的第二对等计算设备212的指令理解和访问组件230,访问和理解用该消息编码的指令(例如,在服务出版物BLOB中,如上所述)。该指令用于经由激活协议激活至少一个可用服务。
如前所述,术语“服务”可以包括与第一对等计算设备相关联的任意能力或资源,其可以由第二对等计算设备访问或使用。例如,服务可以包括麦克风、相机、扬声器、打印机、媒体服务器、显示组件(诸如投影仪、监视器或虚拟现实耳机)、用户界面(诸如触摸屏或触摸板、鼠标、键盘、智能板、互联网或网络连接或网络连接组件(诸如BLTE智能卡)、计算机处理或计算能力(可用于提供比第二对等计算更快的绘制或更高效的计算)、存储装置、I/O端口、特定应用程序(或应用)和计算机执行的服务(例如,其可能包括虚拟助手程序或基于云的服务)、或特定设备(诸如两者均由华盛顿州雷蒙德市的微软公司制造的HoloLens或Smart Hub)、智能装备或智能家居控制器)。特定服务可能具有关于访问和理解该服务的相应信息,其可以被利用以使该服务可用于另一计算设备。
该服务与激活协议相关联(例如,由图2的第一对等计算设备210的协议确定组件220确定)。激活协议可以是适合于访问服务的无线通信协议。不同的服务可能需要交换不同数量和类型的信息以便使服务被访问。在一个方面,每个服务在计算机存储器中与一个或多个合适的通信协议相关联。
如框514所示,利用用消息编码的指令,在激活协议上启动与可用服务的连接。例如,这可以利用图2的第二对等计算设备212的连接组件232来完成。
可以理解,本技术的实施例提供用于在对等环境中发布、发现、连接和激活服务等的系统、方法和计算机可读存储介质。与第一计算设备相关联的可用服务被确定并编码有用于经由其各自的激活协议来访问和理解这些服务的指令。编码的服务经由发布协议发布,使得它们由至少第二计算设备可发现,而不管是否可以经由发布协议激活这些服务。第二计算设备经由发布协议发现可用服务,并访问和理解与所期望的服务相关联的指令。在经由激活协议从第二计算设备接收到请求以激活所请求的服务时,由第一计算设备激活所请求的服务。
实施例
实施例1.一种用于在以下多项中控制服务发现和激活的方法,所述多项包括:确定与第一计算设备相关联的服务可用于另一计算设备使用;将用于通过无线激活协议访问所述服务的指令编码到消息中;基于所述第一计算设备的无线上下文,从所述第一计算设备可使用的可用无线通信协议中选择用于传送所述消息的发布协议,其中所述发布协议与所述无线激活协议不同;使用所述发布协议从所述第一计算设备的无线电部件传送所述消息,使得所述服务由第二计算设备可发现;在所述第一计算设备的无线电部件处从接收到所述消息的所述第二计算设备接收对所述服务的激活请求,所述激活请求在无线激活协议中被规定格式;并且激活所述服务以供第二计算设备使用,其中所述服务是通过根据所述无线激活协议被规定格式的无线通信来访问的。
实施例2.根据实施例1所述的方法,其中所述选择基于与所述第一计算设备可使用的所述无线通信协议中的每一个相关联的功耗。
实施例3.根据实施例1或2之一的方法,其中所述消息包括所述无线激活协议的标识和支持通过所述无线激活协议到所述第一计算设备的连接的一个或多个细节。
实施例4.根据实施例1、2或3之一的方法,其中所述无线上下文包括源自其他计算设备的无线通信和无线通信的无线通信协议。
实施例5.根据实施例1、2、3或4之一的方法,其中所述发布协议是相对于所述第一计算设备可使用的无线通信协议中的其他无线通信协议具有优异功率效率的协议。
实施例6.根据实施例1、2、3、4或5之一的方法,其中当访问所述服务时,所述无线激活协议相对于所述第一计算设备可使用的无线通信协议中的其他无线通信协议具有优越的性能。
实施例7.根据实施例1、2、3、4、5或6之一的方法,其中所述发布协议和无线激活协议是工业标准协议。
实施例8.根据实施例1、2、3、4、5或6之一的方法,其中该方法还包括通过检测由第二计算设备以第三无线通信协议发送的无线信号,来检测第二计算设备接近第一计算设备,所述第三夺金线通信协议与发布协议和无线激活协议不同。
实施例9.一种用于在多个服务发现场景中发布服务可用性的系统,该系统包括:处理器;以及计算机存储介质,具有其上体现的计算机可执行指令,所述计算机可执行指令当由处理器执行时,配置所述系统以:确定与第一计算设备相关联的服务可用于另一计算设备以通过无线激活协议使用;基于第一计算设备的无线上下文,从第一计算设备可使用的可用无线通信协议中选择用于传送指示服务可用的消息的发布协议,其中发布协议与无线激活协议不同;使用发布协议传送消息,使得服务由第二计算设备可发现;在第一计算设备的无线部件处从接收到该消息的第二计算设备接收对该服务的激活请求,该激活请求在无线激活协议中被规定格式。
实施例10.根据实施例9之一的系统,其中无线上下文包括与第一计算设备相关联的能力和当前由第一计算设备参与的活动中的一个或多个。
实施例11.根据实施例9或10之一的系统,其中无线激活协议不同于发布协议。
实施例12.根据实施例11的系统,其中所述发布协议是相对于其他可用无线通信协议具有优异功率效率的协议。
实施例13.根据实施例11的系统,其中无线激活协议是相对于发布方案具有优越性能的协议。
实施例14.根据任一上述实施例中的一个的系统,其中无线上下文包括与其他可用无线通信协议相比的发布协议的市场可用性。
实施例15.一种用于服务发现和激活的方法,包括:
从第二计算设备接收消息,该消息包括用于访问在第二计算设备上可用的服务的指令,该消息在发布协议中传送;理解用消息编码的指令,用于经由与发布协议不同的激活协议来访问服务;利用消息中编码的指令,通过激活协议启动与服务的连接。
实施例16.根据实施例15的方法,其中所述发布协议与所述激活协议不同。
实施例17.根据实施例15或16之一的方法,其中编码有消息的指令包括激活协议的标识和支持通过激活协议与服务连接的一个或多个细节。
实施例18.根据实施例15、16或17之一所述的方法,其中第一无线通信协议和发布协议是不同的,并且发布协议是相对于第一无线通信协议具有优越功率效率的协议。
实施例19.根据实施例15、16、17或18之一的方法,其中所述激活方案是相对于发布方案具有优越性能的方案。
实施例20.根据实施例19所述的方法,其中所述方法还包括在其他计算设备上传送寻求可用服务的发现请求,所述发现请求使用第一无线通信协议从第一计算设备传送。
已经关于特定实施例描述了本技术,这些实施例在所有方面都旨在是示意性的而不是限制性的。在不脱离本发明的范围的情况下,替代实施例对于本发明所属领域的普通技术人员将变得显而易见。
虽然该技术易受各种修改和替代构造的影响,但是其某些图示的实施例在附图中被示出并且已在上面详细描述。然而,应当理解的是,不旨在将技术限制于所公开的特定形式,相反,其目的是涵盖落入本技术的精神和范围内的所有修改、替代构造和等同物。
Claims (20)
1.一种用于在多个服务发现场景中控制服务发现和激活的方法,包括:
通过从与第一计算设备相关联的服务接收传送所述服务可用于另一计算设备的注册,确定所述服务可用于所述另一计算设备使用;
将用于通过无线激活协议访问所述服务的指令编码到消息中;
基于所述第一计算设备的无线上下文,从由所述第一计算设备可用的可用无线通信协议中选择用于传送所述消息的发布协议,其中所述发布协议与所述无线激活协议不同;
使用所述发布协议从所述第一计算设备的无线电部件传送所述消息,使得所述服务由第二计算设备可发现;
在所述第一计算设备的无线电部件处从接收到所述消息的所述第二计算设备接收对所述服务的激活请求,所述激活请求在所述无线激活协议中被规定格式;以及
激活所述服务用于由所述第二计算设备使用,其中所述服务通过根据所述无线激活协议被规定格式的无线通信被访问。
2.根据权利要求1所述的方法,其中所述选择基于与所述第一计算设备可使用的所述无线通信协议中的每一个相关联的功耗。
3.根据权利要求1所述的方法,其中所述消息包括所述无线激活协议的标识和支持通过所述无线激活协议来与所述第一计算设备的连接的一个或多个细节。
4.根据权利要求1所述的方法,其中所述无线上下文包括源自其他计算设备的无线通信和所述无线通信的无线通信协议。
5.根据权利要求1所述的方法,其中所述发布协议是相对于所述第一计算设备可使用的所述无线通信协议的其他无线通信协议具有优异功率效率的协议。
6.根据权利要求1所述的方法,其中当访问所述服务时,所述无线激活协议相对于由所述第一计算设备可使用的所述无线通信协议的其他无线通信协议具有优越的性能。
7.根据权利要求1所述的方法,其中所述发布协议和所述无线激活协议是工业标准协议。
8.根据权利要求1所述的方法,其中所述方法还包括:通过检测由所述第二计算设备以第三无线通信协议发送的无线信号,检测所述第二计算设备接近所述第一计算设备,所述第三无线通信协议与所述发布协议和所述无线激活协议不同。
9.一种用于在多个服务发现场景中发布服务可用性的系统,所述系统包括:
处理器;以及
计算机存储介质,具有其上体现的计算机可执行指令,所述计算机可执行指令当由所述处理器执行时,配置所述系统以:
通过从与第一计算设备相关联的服务接收传送所述服务可用于另一计算设备的注册,确定所述服务可用于所述另一计算设备通过无线激活协议使用;
基于所述第一计算设备的无线上下文,从所述第一计算设备可用的可用无线通信协议中选择用于传送指示所述服务可用的消息的发布协议,其中所述发布协议与所述无线激活协议不同,所述消息包括所述服务的标识、所述无线激活协议的标识,与所述服务相关联的友好名称、以及用于所述无线激活协议的访问码;
使用所述发布协议传送消息,使得所述服务由第二计算设备可发现;以及
在所述第一计算设备的无线电部件处从接收到所述消息的所述第二计算设备接收针对所述服务的激活请求,所述激活请求在所述无线激活协议中被规定格式。
10.根据权利要求9所述的系统,其中所述无线上下文包括与所述第一计算设备相关联的能力和当前由所述第一计算设备参与的活动中的一项或多项。
11.根据权利要求9所述的系统,其中所述无线激活协议不同于所述发布协议。
12.根据权利要求11所述的系统,其中所述发布协议是相对于其他可用无线通信协议具有优越功率效率的协议。
13.根据权利要求11所述的系统,其中所述无线激活协议是相对于所述发布协议具有优越性能的协议。
14.根据权利要求10所述的系统,其中所述无线上下文包括与其他可用无线通信协议相比的所述发布协议的市场可用性。
15.一种用于服务发现和激活的方法,包括:
从第二计算设备接收消息,所述消息包括用于访问在第二计算设备上可用的服务的指令,所述消息在发布协议中被传送,其中所述服务通过接收来自所述服务的注册而被确定为可用;
理解用所述消息编码的指令,以用于经由与所述发布协议不同的激活协议来访问服务,所述指令包括所述服务的标识、所述激活协议的标识,与所述服务相关联的友好名称、以及用于所述激活协议的访问码;以及
利用被编码在所述消息中的所述指令,启动通过所述激活协议与所述服务的连接。
16.根据权利要求15所述的方法,其中所述发布协议与所述激活协议不同。
17.根据权利要求15所述的方法,其中用所述消息编码的所述指令包括激活协议的标识和支持通过所述激活协议与所述服务连接的一个或多个细节。
18.根据权利要求15所述的方法,其中所述激活协议是相对于所述发布协议具有优越性能的协议。
19.根据权利要求15所述的方法,其中所述方法还包括在其他计算设备上传送寻求可用服务的发现请求,所述发现请求使用第一无线通信协议从第一计算设备被传送。
20.根据权利要求19所述方法,其中所述第一无线通信协议和所述发布协议不同,并且所述发布协议是相对于所述第一无线通信协议具有优越功率效率的协议。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/144,349 US10873637B2 (en) | 2016-05-02 | 2016-05-02 | Controlling service discovery and activation among peers |
US15/144,349 | 2016-05-02 | ||
PCT/US2017/029991 WO2017192364A1 (en) | 2016-05-02 | 2017-04-28 | Controlling service discovery and activation among peers |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109076324A CN109076324A (zh) | 2018-12-21 |
CN109076324B true CN109076324B (zh) | 2021-07-16 |
Family
ID=58692653
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780027728.5A Active CN109076324B (zh) | 2016-05-02 | 2017-04-28 | 控制对等体中的服务发现和激活 |
Country Status (4)
Country | Link |
---|---|
US (1) | US10873637B2 (zh) |
EP (1) | EP3453195B1 (zh) |
CN (1) | CN109076324B (zh) |
WO (1) | WO2017192364A1 (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10440570B2 (en) * | 2016-12-21 | 2019-10-08 | Silicon Laboratories Inc. | Systems and methods for initial authentication of wireless communication |
US11895200B2 (en) * | 2017-03-24 | 2024-02-06 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Access to an operator panel over an out-of-band local network domain |
US11334388B2 (en) * | 2018-09-27 | 2022-05-17 | Amber Solutions, Inc. | Infrastructure support to enhance resource-constrained device capabilities |
US11349296B2 (en) | 2018-10-01 | 2022-05-31 | Intelesol, Llc | Solid-state circuit interrupters |
US11086358B2 (en) * | 2018-10-02 | 2021-08-10 | Google Llc | Systems, devices, and methods of wireless communication for wearable computing devices |
US11051154B2 (en) | 2018-10-03 | 2021-06-29 | Google Llc | Systems and methods for wirelessly coupling a wearable computing device |
WO2021072417A1 (en) * | 2019-10-11 | 2021-04-15 | Theta Labs, Inc. | Methods and systems for decentralized data streaming and delivery network |
CN111629371B (zh) * | 2020-05-06 | 2021-09-03 | 上海幻电信息科技有限公司 | 投屏方法和系统 |
EP4197086A4 (en) | 2020-08-11 | 2024-09-04 | Amber Semiconductor, Inc. | INTELLIGENT POWER SOURCE SELECTION AND MONITORING CONTROL SYSTEM |
US11743234B2 (en) | 2021-04-06 | 2023-08-29 | Vmware, Inc. | Upgrading firewall module on port-by-port basis |
US11740887B2 (en) | 2021-04-06 | 2023-08-29 | Vmware, Inc. | Upgrading SDN software by dual-loading modules |
US12113525B2 (en) | 2021-09-30 | 2024-10-08 | Amber Semiconductor, Inc. | Intelligent electrical switches |
US11539783B1 (en) * | 2021-12-09 | 2022-12-27 | Citrix Systems, Inc. | Efficient downloading of files to multiple users in proximity of one another |
US11876675B2 (en) | 2022-02-03 | 2024-01-16 | VMware LLC | Migrating software defined network |
US11588689B1 (en) * | 2022-02-03 | 2023-02-21 | Vmware, Inc. | Migrating software defined network |
US20240012766A1 (en) * | 2022-07-08 | 2024-01-11 | Dell Products, L.P. | Managing peripheral device connectivity based on context |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001071983A1 (en) * | 2000-03-20 | 2001-09-27 | At & T Corp. | Service selection in a shared access network using dynamic host configuration protocol |
US6963552B2 (en) * | 2000-03-27 | 2005-11-08 | Adc Telecommunications, Inc. | Multi-protocol distributed wireless system architecture |
CN1925447A (zh) * | 2005-08-30 | 2007-03-07 | 阿尔卡特公司 | 自组织分配服务的方法、服务系统和计算机软件产品 |
CN102077622A (zh) * | 2008-06-27 | 2011-05-25 | 高通股份有限公司 | 基于接近度的多速率对等体发现方法和装置 |
CN102077621A (zh) * | 2008-06-27 | 2011-05-25 | 高通股份有限公司 | 对等体发现协助方法和装置 |
CN102547443A (zh) * | 2012-01-16 | 2012-07-04 | 广州视源电子科技公司 | 一种多终端系统资源共享及互动实现方法 |
CN102640540A (zh) * | 2009-10-30 | 2012-08-15 | 三星电子株式会社 | 用于确定通信协议的移动终端和通信方法 |
CN104079544A (zh) * | 2013-03-29 | 2014-10-01 | 联想(北京)有限公司 | 服务发布方法及装置、服务发现方法及装置 |
CN105308932A (zh) * | 2013-06-17 | 2016-02-03 | 高通股份有限公司 | 通过一个或多个服务的中介内容分发 |
CN105409258A (zh) * | 2013-05-05 | 2016-03-16 | Lg电子株式会社 | 用于邻近服务发现以提供邻近服务的方法和设备 |
Family Cites Families (28)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB0124190D0 (en) * | 2001-10-09 | 2001-11-28 | Panaghe Stylianos | Printed heating element electric toaster |
US7525928B2 (en) | 2003-06-16 | 2009-04-28 | Microsoft Corporation | System and process for discovery of network-connected devices at remote sites using audio-based discovery techniques |
US20050026593A1 (en) * | 2003-07-29 | 2005-02-03 | Anderson Jeff M. | Accessing public printers from mobile electronic devices |
ATE429107T1 (de) | 2003-12-10 | 2009-05-15 | Sony Deutschland Gmbh | Protokoll für multi-hop ad-hoc-netzwerke |
WO2007005131A2 (en) | 2005-05-19 | 2007-01-11 | Matsushita Electric Industrial Co., Ltd. | System and method for multiprotocol service discovery in a computer network |
US7613426B2 (en) | 2005-12-20 | 2009-11-03 | Microsoft Corporation | Proximity service discovery in wireless networks |
US20160112262A1 (en) * | 2014-10-18 | 2016-04-21 | Weaved, Inc. | Installation and configuration of connected devices |
US20080086370A1 (en) * | 2006-10-06 | 2008-04-10 | International Business Machines Corporation | Environmental services broker for mediating collaborative computing sessions |
US8616976B2 (en) | 2006-11-07 | 2013-12-31 | Core Wireless Licensing S.A.R.L. | Gaming via peer-to-peer networks |
US20080171561A1 (en) * | 2007-01-11 | 2008-07-17 | Texas Instruments Incorporated | Apparatus for and method of radio link establishment between two communication devices |
EP2001188A1 (en) * | 2007-06-08 | 2008-12-10 | F.Hoffmann-La Roche Ag | Method for authenticating a medical device and a remote device |
US20100011527A1 (en) * | 2008-07-18 | 2010-01-21 | Josh Lawlor | Channel guard protector for a squeegee |
US8285860B2 (en) | 2009-03-16 | 2012-10-09 | Apple Inc. | Efficient service discovery for peer-to-peer networking devices |
US20100274874A1 (en) | 2009-04-24 | 2010-10-28 | Nokia Corporation | Service discovery protocol enhancement |
US8819219B2 (en) | 2009-12-23 | 2014-08-26 | Apple Inc. | Efficient service advertisement and discovery in multiple wireless networks |
US20130029712A1 (en) | 2011-07-26 | 2013-01-31 | Samsung Electronics Co., Ltd. | Device/service discovery and channel access control for proximity device-to-device wireless communication |
US9445305B2 (en) | 2011-09-12 | 2016-09-13 | Microsoft Corporation | Low energy beacon encoding |
US9008658B2 (en) * | 2012-06-06 | 2015-04-14 | Welch Allyn, Inc. | Using near-field communication both for out-of-band pairing and physiological data transfer |
US9474094B2 (en) * | 2012-08-07 | 2016-10-18 | Intel Corporation | Methods and arrangements to establish peer-to-peer link |
US10284659B2 (en) | 2013-01-25 | 2019-05-07 | Apple Inc. | Hybrid unicast/multicast DNS-based service discovery |
US9191209B2 (en) * | 2013-06-25 | 2015-11-17 | Google Inc. | Efficient communication for devices of a home network |
US9762562B2 (en) * | 2013-09-13 | 2017-09-12 | Facebook, Inc. | Techniques for multi-standard peer-to-peer connection |
US9661445B2 (en) | 2014-05-02 | 2017-05-23 | Qualcomm Incorporated | Methods and apparatus for integrating bluetooth devices into neighbor aware networks |
US10516740B2 (en) * | 2014-05-30 | 2019-12-24 | Apple Inc. | Dynamic transport switching in inter-device communication |
US10681591B2 (en) * | 2014-07-31 | 2020-06-09 | Lg Electronics Inc. | Method and apparatus for controlling electronic device in wireless communication system supporting Bluetooth communication |
US9674880B1 (en) * | 2014-11-04 | 2017-06-06 | Dell Products, Lp | Method and apparatus for a smart vehicle gateway with connection context aware radio communication management and multi-radio technology |
US9591582B1 (en) * | 2015-09-10 | 2017-03-07 | Qualcomm Incorporated | Smart co-processor for optimizing service discovery power consumption in wireless service platforms |
US10148769B2 (en) * | 2015-09-11 | 2018-12-04 | Blackberry Limited | Pre-association discovery of services |
-
2016
- 2016-05-02 US US15/144,349 patent/US10873637B2/en active Active
-
2017
- 2017-04-28 CN CN201780027728.5A patent/CN109076324B/zh active Active
- 2017-04-28 WO PCT/US2017/029991 patent/WO2017192364A1/en unknown
- 2017-04-28 EP EP17722632.1A patent/EP3453195B1/en active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001071983A1 (en) * | 2000-03-20 | 2001-09-27 | At & T Corp. | Service selection in a shared access network using dynamic host configuration protocol |
US6963552B2 (en) * | 2000-03-27 | 2005-11-08 | Adc Telecommunications, Inc. | Multi-protocol distributed wireless system architecture |
CN1925447A (zh) * | 2005-08-30 | 2007-03-07 | 阿尔卡特公司 | 自组织分配服务的方法、服务系统和计算机软件产品 |
CN102077622A (zh) * | 2008-06-27 | 2011-05-25 | 高通股份有限公司 | 基于接近度的多速率对等体发现方法和装置 |
CN102077621A (zh) * | 2008-06-27 | 2011-05-25 | 高通股份有限公司 | 对等体发现协助方法和装置 |
CN102640540A (zh) * | 2009-10-30 | 2012-08-15 | 三星电子株式会社 | 用于确定通信协议的移动终端和通信方法 |
CN102547443A (zh) * | 2012-01-16 | 2012-07-04 | 广州视源电子科技公司 | 一种多终端系统资源共享及互动实现方法 |
CN104079544A (zh) * | 2013-03-29 | 2014-10-01 | 联想(北京)有限公司 | 服务发布方法及装置、服务发现方法及装置 |
CN105409258A (zh) * | 2013-05-05 | 2016-03-16 | Lg电子株式会社 | 用于邻近服务发现以提供邻近服务的方法和设备 |
CN105308932A (zh) * | 2013-06-17 | 2016-02-03 | 高通股份有限公司 | 通过一个或多个服务的中介内容分发 |
Non-Patent Citations (1)
Title |
---|
基于概率主题模型的物联网服务发现;魏强;《软件学报》;20140815;全文 * |
Also Published As
Publication number | Publication date |
---|---|
US20170318098A1 (en) | 2017-11-02 |
US10873637B2 (en) | 2020-12-22 |
EP3453195B1 (en) | 2021-01-13 |
WO2017192364A1 (en) | 2017-11-09 |
CN109076324A (zh) | 2018-12-21 |
EP3453195A1 (en) | 2019-03-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109076324B (zh) | 控制对等体中的服务发现和激活 | |
JP5985767B2 (ja) | 近接場通信を用いたピア・ツー・ピアWi−Fiレンジングのための方法および装置 | |
KR101630505B1 (ko) | 소셜 네트워크를 통해 접속 설정을 공유하는 방법 및 장치 | |
CN102791043B (zh) | 接触查询 | |
US8806023B2 (en) | Auto-connect in a peer-to-peer network | |
US9736767B2 (en) | Identification-assisted wireless network connections | |
EP3563614B1 (en) | Wireless communication system | |
US20150205747A1 (en) | Host device, client device and method for wireless docking in a dynamic environment for mutliple clients | |
US11057360B2 (en) | Electronic device performing reconnection of short-range communication and method for operating the same | |
US9730255B1 (en) | Room-specific pairing via a combined ultrasonic beacon/bluetooth approach | |
JP2016534428A (ja) | 近接度ベースのピアツーピア通信および支払い意図ジェスチャーを使用するモバイル支払い | |
EP2939494B1 (en) | Communication apparatus, control method, and computer-readable storage medium | |
JP2014523557A5 (zh) | ||
EP3531669B1 (en) | Electronic device and method for connecting short range communication | |
CN112867935A (zh) | 共享位置数据以减少功耗 | |
US10095451B2 (en) | Printing device proximity beacon identifications | |
CN104471910A (zh) | 用于本地发现的方法、服务器和计算机程序 | |
JP2017167597A (ja) | 情報処理装置及びプログラム | |
JP6645323B2 (ja) | 通信装置 | |
JP6387748B2 (ja) | 通信機器 | |
US20170103009A1 (en) | Monitoring a device status for an application | |
EP4398662A1 (en) | Electronic device for selecting channel between electronic device and external electronic device on basis of characteristics of application, and operation method thereof | |
JP2019075833A (ja) | 通信装置及び携帯端末 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |