具有到外围设备的直接连接的无线对接服务

申请号 CN201380070265.2 申请日 2013-12-13 公开(公告)号 CN104919436B 公开(公告)日 2017-09-22
申请人 高通股份有限公司; 发明人 X·黄; P·K·巴米迪帕蒂; V·R·拉韦恩德朗; R·德韦格特;
摘要 在一个示例中,一种方法包括:从用户应用并且利用在计算设备上执行的无线对接通信栈的无线对接服务,来接收发现所述计算设备的无线通信范围内的一个或多个外围功能的 请求 。所述方法还包括:响应于接收到所述请求,利用无线对接服务来发现所述一个或多个外围功能,而不需要与无线对接中心进行通信。所述方法还包括:将外围功能合并到用于用户应用的对接会话中。所述方法还包括:响应于接收到所述请求,向用户应用发送对接会话标识符以及与所述一个或多个外围功能相对应的一个或多个相应的引用。
权利要求

1.一种无线对接的方法,所述方法包括:
从用户应用并且利用在计算设备上执行的无线对接通信栈的无线对接服务,来接收用于发现所述计算设备的无线通信范围内的一个或多个外围功能的请求
响应于接收到所述请求,利用所述无线对接服务来发现所述一个或多个外围功能,而不需要与无线对接中心进行通信;
利用所述无线对接服务,将所述一个或多个外围功能合并到用于所述用户应用的对接会话中;
响应于接收到所述请求,从所述无线对接服务向所述用户应用发送对接会话标识符以及与所述一个或多个外围功能相对应的一个或多个各自的引用。
2.根据权利要求1所述的方法,还包括:
利用所述无线对接服务,来接收用于对所述一个或多个外围功能中的至少一个外围功能进行配置的请求;以及
响应于接收到用于对所述一个或多个外围功能中的至少一个外围功能进行配置的所述请求并且通过所述无线对接服务,来对所述一个或多个外围功能中的所述至少一个外围功能进行配置。
3.根据权利要求1所述的方法,还包括:
利用所述无线对接服务并且从所述用户应用,来接收用于使用所述一个或多个外围功能中的至少一个外围功能的请求;以及
响应于接收到用于使用所述一个或多个外围功能中的至少一个外围功能的所述请求,利用所述无线对接服务来与所述一个或多个外围功能中的所述至少一个外围功能建立各自相应的无线连接。
4.根据权利要求1所述的方法,其中,所述无线对接通信栈包括与所述无线对接服务具有直接通信接口的以下层中的一个或多个层:应用服务平台层、Wi-Fi直连层、Miracast层、Wi-Fi串行总线层、蓝牙层、打印服务层和显示服务层。
5.根据权利要求1所述的方法,还包括:
利用所述无线对接服务并且从所述用户应用,来接收用于创建无线对接环境的请求,所述无线对接环境包括所述一个或多个外围功能中的至少一个外围功能;
响应于接收到用于创建所述无线对接环境的所述请求,利用无线对接服务并且不需要与无线对接中心进行通信,来创建包括所述一个或多个外围功能中的所述至少一个外围功能的所述无线对接环境;以及
向所述用户应用发送用于所述无线对接环境的句柄。
6.根据权利要求5所述的方法,还包括:
利用所述无线对接服务并且从所述用户应用,来接收用于使用所述无线对接环境的请求;
响应于接收到用于使用所述无线对接环境的所述请求,与至少一个外围设备建立各自相应的无线连接,其中,所述至少一个外围设备提供所述无线对接环境的所述一个或多个外围功能中的至少一个外围功能;以及
响应于用于使用所述无线对接环境的所述请求,向所述用户应用发送所述对接会话标识符以及与所述一个或多个外围功能相对应的所述一个或多个各自的引用。
7.根据权利要求1所述的方法,还包括:
利用所述无线对接服务并且从所述用户应用,来接收用于发现无线通信范围内的任何无线对接环境的请求;
响应于接收到所述请求,利用所述无线对接服务并且不需要与无线对接中心进行通信,来发现一个或多个无线对接环境,所述一个或多个无线对接环境均包括一个或多个外围功能;以及
向所述用户应用发送对所述无线对接环境中的无线对接环境的引用。
8.根据权利要求7所述的方法,还包括:
利用所述无线对接服务并且从所述用户应用,来接收用于使用所述无线对接环境的请求;
响应于接收到用于使用所述无线对接环境的所述请求,与至少一个外围设备建立各自相应的无线连接,其中,所述至少一个外围设备提供所述无线对接环境的所述一个或多个外围功能中的至少一个外围功能;以及
响应于用于使用所述无线对接环境的所述请求,向所述用户应用发送所述对接会话标识符以及与所述一个或多个外围功能相对应的所述一个或多个各自的引用。
9.根据权利要求1所述的方法,还包括:
利用所述无线对接服务并且从所述用户应用,来接收用于使用所述一个或多个外围功能中的至少一个外围功能的请求;
响应于接收到用于使用所述一个或多个外围功能中的至少一个外围功能的所述请求,来针对所述一个或多个外围功能中的第一外围功能和所述一个或多个外围功能中的第二外围功能,建立公共的应用服务平台ASP会话;以及
针对所述一个或多个外围功能中的所述第一外围功能和所述一个或多个外围功能中的所述第二外围功能,建立各自相应的有效载荷连接,其中,所述相应的有效载荷连接中的每个有效载荷连接使用所述ASP会话。
10.根据权利要求9所述的方法,还包括:
从所述无线对接服务并且向所述无线对接通信栈的应用服务平台层,发送用于对所述一个或多个外围功能中的所述第一外围功能和所述一个或多个外围功能中的第二外围功能进行配置的配置凭证。
11.一种用于无线对接的设备,所述设备包括被配置为进行以下操作的一个或多个处理器:
从用户应用并且利用在所述设备上执行的无线对接通信栈的无线对接服务,来接收用于发现所述设备的无线通信范围内的一个或多个外围功能的请求;
响应于接收到所述请求,利用所述无线对接服务来发现所述一个或多个外围功能,而不需要与无线对接中心进行通信;
利用所述无线对接服务,将所述一个或多个外围功能合并到用于所述用户应用的对接会话中;
响应于接收到所述请求,从所述无线对接服务向所述用户应用发送对接会话标识符以及与所述一个或多个外围功能相对应的一个或多个各自的引用。
12.根据权利要求11所述的设备,其中,所述一个或多个处理器还被配置为:
利用所述无线对接服务,来接收用于对所述一个或多个外围功能中的至少一个外围功能进行配置的请求;以及
响应于接收到用于对所述一个或多个外围功能中的至少一个外围功能进行配置的所述请求并且通过所述无线对接服务,来对所述一个或多个外围功能中的所述至少一个外围功能进行配置。
13.根据权利要求11所述的设备,其中,所述一个或多个处理器还被配置为:
利用所述无线对接服务并且从所述用户应用,来接收用于使用所述一个或多个外围功能中的至少一个外围功能的请求;以及
响应于接收到用于使用所述一个或多个外围功能中的至少一个外围功能的所述请求,利用所述无线对接服务来与至少一个外围设备建立各自相应的无线连接,其中,所述至少一个外围设备提供所述一个或多个外围功能中的至少一个外围功能。
14.根据权利要求11所述的设备,其中,所述无线对接通信栈包括与所述无线对接服务具有直接通信接口的以下层中的一个或多个层:应用服务平台层、Wi-Fi直连层、Miracast层、Wi-Fi串行总线层、蓝牙层、打印服务层和显示服务层。
15.根据权利要求11所述的设备,其中,所述一个或多个处理器还被配置为:
利用所述无线对接服务并且从所述用户应用,来接收用于创建无线对接环境的请求,所述无线对接环境包括所述一个或多个外围功能中的至少一个外围功能;
响应于接收到用于创建所述无线对接环境的所述请求,利用无线对接服务并且不需要与无线对接中心进行通信,来创建包括所述一个或多个外围功能中的所述至少一个外围功能的所述无线对接环境;以及
向所述用户应用发送用于所述无线对接环境的句柄。
16.根据权利要求15所述的设备,其中,所述一个或多个处理器还被配置为:
利用所述无线对接服务并且从所述用户应用,来接收用于使用所述无线对接环境的请求;
响应于接收到用于使用所述无线对接环境的所述请求,与至少一个外围设备建立各自相应的无线连接,其中,所述至少一个外围设备提供所述无线对接环境的所述一个或多个外围功能中的至少一个外围功能;以及
响应于用于使用所述无线对接环境的所述请求,向所述用户应用发送所述对接会话标识符以及与所述一个或多个外围功能相对应的所述一个或多个各自的引用。
17.根据权利要求11所述的设备,其中,所述一个或多个处理器还被配置为:
利用所述无线对接服务并且从所述用户应用,来接收用于发现无线通信范围内的任何无线对接环境的请求;
响应于接收到所述请求,利用所述无线对接服务并且不需要与无线对接中心进行通信,来发现一个或多个无线对接环境,所述一个或多个无线对接环境均包括一个或多个外围功能;以及
向所述用户应用发送对所述无线对接环境中的无线对接环境的引用。
18.根据权利要求17所述的设备,其中,所述一个或多个处理器还被配置为:
利用所述无线对接服务并且从所述用户应用,来接收用于使用所述无线对接环境的请求;
响应于接收到用于使用所述无线对接环境的所述请求,与至少一个外围设备建立各自相应的无线连接,其中,所述至少一个外围设备提供所述无线对接环境的所述一个或多个外围功能中的至少一个外围功能;以及
响应于用于使用所述无线对接环境的所述请求,向所述用户应用发送所述对接会话标识符以及与所述一个或多个外围功能相对应的所述一个或多个各自的引用。
19.根据权利要求11所述的设备,其中,所述一个或多个处理器还被配置为:
利用所述无线对接服务并且从所述用户应用,来接收用于使用所述一个或多个外围功能中的至少一个外围功能的请求;
响应于接收到用于使用所述一个或多个外围功能中的至少一个外围功能的所述请求,来针对所述一个或多个外围功能中的第一外围功能和所述一个或多个外围功能中的第二外围功能,建立公共的应用服务平台ASP会话;以及
针对所述一个或多个外围功能中的所述第一外围功能和所述一个或多个外围功能中的所述第二外围功能,建立各自相应的有效载荷连接,其中,所述相应的有效载荷连接中的每个有效载荷连接使用所述ASP会话。
20.根据权利要求19所述的设备,其中,所述一个或多个处理器还被配置为:
从所述无线对接服务并且向所述无线对接通信栈的应用服务平台层,发送用于对所述一个或多个外围功能中的所述第一外围功能和所述一个或多个外围功能中的第二外围功能进行配置的配置凭证。
21.一种用于无线对接的装置,包括:
用于从用户应用并且利用在所述装置上执行的无线对接通信栈的无线对接服务,来接收用于发现所述装置的无线通信范围内的一个或多个外围功能的请求的单元;
用于响应于接收到所述请求,利用所述无线对接服务来发现所述一个或多个外围功能,而不需要与无线对接中心进行通信的单元;
用于利用所述无线对接服务,将所述一个或多个外围功能合并到用于所述用户应用的对接会话中的单元;
用于响应于接收到所述请求,从所述无线对接服务向所述用户应用发送对接会话标识符以及与所述一个或多个外围功能相对应的一个或多个各自的引用的单元。
22.根据权利要求21所述的装置,还包括:
用于利用所述无线对接服务,来接收用于对所述一个或多个外围功能中的至少一个外围功能进行配置的请求的单元;以及
用于响应于接收到用于对所述一个或多个外围功能中的至少一个外围功能进行配置的所述请求并且通过所述无线对接服务,来对所述一个或多个外围功能中的所述至少一个外围功能进行配置的单元。
23.根据权利要求21所述的装置,还包括:
用于利用所述无线对接服务并且从所述用户应用,来接收用于使用所述一个或多个外围功能中的至少一个外围功能的请求的单元;以及
用于响应于接收到使用所述一个或多个外围功能中的至少一个外围功能的所述请求,利用所述无线对接服务来与至少一个外围设备建立各自相应的无线连接的单元,其中,所述至少一个外围设备提供所述一个或多个外围功能中的至少一个外围功能。
24.根据权利要求21所述的装置,其中,所述无线对接通信栈包括与所述无线对接服务具有直接通信接口的以下层中的一个或多个层:应用服务平台层、Wi-Fi直连层、Miracast层、Wi-Fi串行总线层、蓝牙层、打印服务层和显示服务层。
25.根据权利要求21所述的装置,还包括:
用于利用所述无线对接服务并且从所述用户应用,来接收用于创建无线对接环境的请求的单元,所述无线对接环境包括所述一个或多个外围功能中的至少一个外围功能;
用于响应于接收到用于创建所述无线对接环境的所述请求,利用无线对接服务并且不需要与无线对接中心进行通信,来创建包括所述一个或多个外围功能中的所述至少一个外围功能的所述无线对接环境的单元;以及用于向所述用户应用发送用于所述无线对接环境的句柄的单元。
26.根据权利要求25所述的装置,还包括:
用于利用所述无线对接服务并且从所述用户应用,来接收用于使用所述无线对接环境的请求的单元;
用于响应于接收到用于使用所述无线对接环境的所述请求,与至少一个外围设备建立各自相应的无线连接的单元,其中,所述至少一个外围设备提供所述无线对接环境的所述一个或多个外围功能中的至少一个外围功能;以及
用于响应于用于使用所述无线对接环境的所述请求,向所述用户应用发送所述对接会话标识符以及与所述一个或多个外围功能相对应的所述一个或多个各自的引用的单元。
27.根据权利要求21所述的装置,还包括:
用于利用所述无线对接服务并且从所述用户应用,来接收用于发现无线通信范围内的任何无线对接环境的请求的单元;
用于响应于接收到所述请求,利用所述无线对接服务并且不需要与无线对接中心进行通信,来发现一个或多个无线对接环境的单元,所述一个或多个无线对接环境均包括一个或多个外围功能;以及
用于向所述用户应用发送对所述无线对接环境中的无线对接环境的引用的单元。
28.根据权利要求27所述的装置,还包括:
用于利用所述无线对接服务并且从所述用户应用,来接收用于使用所述无线对接环境的请求的单元;
用于响应于接收到用于使用所述无线对接环境的所述请求,与至少一个外围设备建立各自相应的无线连接的单元,其中,所述至少一个外围设备提供所述无线对接环境的所述一个或多个外围功能中的至少一个外围功能;以及
用于响应于用于使用所述无线对接环境的所述请求,向所述用户应用发送所述对接会话标识符以及与所述一个或多个外围功能相对应的所述一个或多个各自的引用的单元。
29.根据权利要求21所述的装置,还包括:
用于利用所述无线对接服务并且从所述用户应用,来接收用于使用所述一个或多个外围功能中的至少一个外围功能的请求的单元;
用于响应于接收到用于使用所述一个或多个外围功能中的至少一个外围功能的所述请求,来针对所述一个或多个外围功能中的第一外围功能和所述一个或多个外围功能中的第二外围功能,建立公共的应用服务平台ASP会话的单元;以及
用于针对所述一个或多个外围功能中的所述第一外围功能和所述一个或多个外围功能中的所述第二外围功能,建立各自相应的有效载荷连接的单元,其中,所述相应的有效载荷连接中的每个有效载荷连接使用所述ASP会话。
30.根据权利要求29所述的装置,还包括:
用于从所述无线对接服务并且向所述无线对接通信栈的应用服务平台层,发送用于对所述一个或多个外围功能中的所述第一外围功能和所述一个或多个外围功能中的第二外围功能进行配置的配置凭证的单元。
31.一种计算机可读存储介质,所述计算机可读存储介质包括存储在其上的用于无线对接的指令,当所述指令被执行时,将一个或多个处理器配置为:
从用户应用并且利用在计算设备上执行的无线对接通信栈的无线对接服务,来接收用于发现所述计算设备的无线通信范围内的一个或多个外围功能的请求;
响应于接收到所述请求,利用所述无线对接服务来发现所述一个或多个外围功能,而不需要与无线对接中心进行通信;
利用所述无线对接服务,将所述一个或多个外围功能合并到用于所述用户应用的对接会话中;
响应于接收到所述请求,从所述无线对接服务向所述用户应用发送对接会话标识符以及与所述一个或多个外围功能相对应的一个或多个各自的引用。
32.根据权利要求31所述的计算机可读存储介质,其中,所述指令还将所述一个或多个处理器配置为:
利用所述无线对接服务,来接收用于对所述一个或多个外围功能中的至少一个外围功能进行配置的请求;以及
响应于接收到用于对所述一个或多个外围功能中的至少一个外围功能进行配置的所述请求并且通过所述无线对接服务,来对所述一个或多个外围功能中的所述至少一个外围功能进行配置。
33.根据权利要求31所述的计算机可读存储介质,其中,所述指令还将所述一个或多个处理器配置为:
利用所述无线对接服务并且从所述用户应用,来接收用于使用所述一个或多个外围功能中的至少一个外围功能的请求;以及
响应于接收到用于使用所述一个或多个外围功能中的至少一个外围功能的所述请求,利用所述无线对接服务来与至少一个外围设备建立各自相应的无线连接,其中,所述至少一个外围设备提供所述一个或多个外围功能中的至少一个外围功能。
34.根据权利要求31所述的计算机可读存储介质,其中,所述无线对接通信栈包括与所述无线对接服务具有直接通信接口的以下层中的一个或多个层:应用服务平台层、Wi-Fi直连层、Miracast层、Wi-Fi串行总线层、蓝牙层、打印服务层和显示服务层。
35.根据权利要求31所述的计算机可读存储介质,其中,所述指令还将所述一个或多个处理器配置为:
利用所述无线对接服务并且从所述用户应用,来接收用于创建无线对接环境的请求,所述无线对接环境包括所述一个或多个外围功能中的至少一个外围功能;
响应于接收到用于创建所述无线对接环境的所述请求,利用无线对接服务并且不需要与无线对接中心进行通信,来创建包括所述一个或多个外围功能中的所述至少一个外围功能的所述无线对接环境;以及
向所述用户应用发送用于所述无线对接环境的句柄。
36.根据权利要求35所述的计算机可读存储介质,其中,所述指令还将所述一个或多个处理器配置为:
利用所述无线对接服务并且从所述用户应用,来接收用于使用所述无线对接环境的请求;
响应于接收到用于使用所述无线对接环境的所述请求,与至少一个外围设备建立各自相应的无线连接,其中,所述至少一个外围设备提供所述无线对接环境的所述一个或多个外围功能中的至少一个外围功能;以及
响应于用于使用所述无线对接环境的所述请求,向所述用户应用发送所述对接会话标识符以及与所述一个或多个外围功能相对应的所述一个或多个各自的引用。
37.根据权利要求31所述的计算机可读存储介质,其中,所述指令还将所述一个或多个处理器配置为:
利用所述无线对接服务并且从所述用户应用,来接收用于发现无线通信范围内的任何无线对接环境的请求;
响应于接收到所述请求,利用所述无线对接服务并且不需要与无线对接中心进行通信,来发现一个或多个无线对接环境,所述一个或多个无线对接环境均包括一个或多个外围功能;以及
向所述用户应用发送对所述无线对接环境中的无线对接环境的引用。
38.根据权利要求37所述的计算机可读存储介质,其中,所述指令还将所述一个或多个处理器配置为:
利用所述无线对接服务并且从所述用户应用,来接收用于使用所述无线对接环境的请求;
响应于接收到用于使用所述无线对接环境的所述请求,与至少一个外围设备建立各自相应的无线连接,其中,所述至少一个外围设备提供所述无线对接环境的所述一个或多个外围功能中的至少一个外围功能;以及
响应于用于使用所述无线对接环境的所述请求,向所述用户应用发送所述对接会话标识符以及与所述一个或多个外围功能相对应的所述一个或多个各自的引用。
39.根据权利要求31所述的计算机可读存储介质,其中,所述指令还将所述一个或多个处理器配置为:
利用所述无线对接服务并且从所述用户应用,来接收用于使用所述一个或多个外围功能中的至少一个外围功能的请求;
响应于接收到用于使用所述一个或多个外围功能中的至少一个外围功能的所述请求,来针对所述一个或多个外围功能中的第一外围功能和所述一个或多个外围功能中的第二外围功能,建立公共的应用服务平台ASP会话;以及
针对所述一个或多个外围功能中的所述第一外围功能和所述一个或多个外围功能中的所述第二外围功能,建立各自相应的有效载荷连接,其中,所述相应的有效载荷连接中的每个有效载荷连接使用所述ASP会话。
40.根据权利要求39所述的计算机可读存储介质,其中,所述指令还将所述一个或多个处理器配置为:
从所述无线对接服务并且向所述无线对接通信栈的应用服务平台层,发送用于对所述一个或多个外围功能中的所述第一外围功能和所述一个或多个外围功能中的第二外围功能进行配置的配置凭证。

说明书全文

具有到外围设备的直接连接的无线对接服务

[0001] 本申请要求享有于2013年1月15日递交的美国临时申请No.61/752,792的权益,故以引用方式将其全部内容并入本文。

技术领域

[0002] 本公开内容涉及用于电子设备之间的无线对接的技术。

背景技术

[0003] 对接站(其还可以被称为“坞(dock)”)有时用于将诸如膝上型计算机之类的电子设备耦合到诸如监视器、键盘鼠标打印机或其它类型的输入或输出设备之类的外围设备(peripheral)。这些对接站通常要求电子设备和对接站之间的物理连接。另外,电子设备和对接站通常在可以使用对接功能之前建立对接通信。发明内容
[0004] 概括地说,本公开内容描述了用于无线对接系统的技术,在该无线对接系统中,诸如移动计算设备之类的无线对接方(dockee)可以使用无线对接服务来与一个或多个外围设备无线地并且直接地对接,其中无线对接服务提供了用于控制外围设备和/或与外围设备交换数据的统一接口。更具体地说,无线对接服务可以向在无线对接方上执行的应用提供一种接口以用于:发现并获得对外围设备的引用;对所发现的外围设备中的一个或多个外围设备进行配置;以及根据特定于外围设备的功能来使用所发现的外围设备中的一个或多个外围设备。
[0005] 在一些示例中,本公开内容描述了一种无线对接方,该无线对接方包括:处理器;以及耦合到所述处理器的存储器。所述存储器存储用于使所述处理器执行包括无线对接服务(WDS)的软件栈的指令。WDS提供用于由所述处理器执行的应用的应用编程接口(API)。
WDS的API将应用服务平台(ASP)通信与诸如WiFi串行总线(WSB)、蓝牙或Miracast之类的外围功能协议(PFP)的通信进行合并,来向无线对接方所执行的应用提供接口。WDS可以使得应用能够发现、配置并选择外围设备,其中使用不经无线对接中心(WDC)进行中介的无线对接会话来与所述外围设备直接地对接。该无线对接方可以通过WDS直接地连接到所选择的外围设备,并且利用API来接合(engage)PFP,以便控制对应的所选择的外围设备并与其交换数据。也就是说,一旦无线对接方和所选择的外围设备通过WDS直接地连接,无线对接方就可以操作无线对接会话,以利用用于外围设备的无线对接ASP和PFP。以此方式,无线对接方可以直接地控制外围设备并与外围设备交换数据,而不需要依赖于由WDC提供的合并的无线对接会话连接。
[0006] 在一些示例中,WDS另外提供API以允许应用创建无线对接环境(WDN),其中该WDN包括一个或多个外围设备的集合。该API还可以使得应用能够发现先前创建的一个或多个WDN,并选择所发现的WDN中的一个WDN来操作对接会话,以利用用于外围设备的ASP和PFP。WDS还可以管理用于一个或多个直接的无线对接会话连接的拓扑结构和/或WDN的拓扑结构。
[0007] 本公开内容的技术可以提供一个或多个优势。例如,一种无需由WDC进行通信中介来进行操作的无线对接系统,不需要实现可与无线对接方和外围设备二者互操作的WDC。这可以加快无线对接系统协议的开发,减少用于另外的WDC设备的费用,和/或消除实现标准化的对接协议以用于无线对接方的需求。此外,许多传统的无线外围设备可以因此不经WDC和伴随协议进行中介、直接地连接到无线对接方。
[0008] 在一些示例中,一种方法包括:从用户应用并且利用在计算设备上执行的无线对接通信栈的无线对接服务,来接收用于发现所述计算设备的无线通信范围内的一个或多个外围功能的请求。所述方法还包括:响应于接收到所述请求,利用所述无线对接服务来发现所述一个或多个外围功能,而不需要与无线对接中心进行通信。所述方法还包括:将所述外围功能合并到用于所述用户应用的对接会话中。所述方法还包括:响应于接收到所述请求,向所述用户应用发送对接会话标识符以及与所述一个或多个外围功能相对应的一个或多个各自的引用。
[0009] 在另一个示例中,一种设备包括一个或多个处理器。所述一个或多个处理器被配置为:从用户应用并且利用在所述设备上执行的无线对接通信栈的无线对接服务,来接收用于发现所述设备的无线通信范围内的一个或多个外围功能的请求。所述一个或多个处理器还被配置为:响应于接收到所述请求,利用所述无线对接服务来发现所述一个或多个外围功能,而不需要与无线对接中心进行通信。所述一个或多个处理器还被配置为:将所述外围功能合并到用于所述用户应用的对接会话中。所述一个或多个处理器还被配置为:响应于接收到所述请求,向所述用户应用发送对接会话标识符以及与所述一个或多个外围功能相对应的一个或多个各自的引用。
[0010] 在另一个示例中,一种装置包括:用于从用户应用并且利用在所述装置上执行的无线对接通信栈的无线对接服务,来接收用于发现所述装置的无线通信范围内的一个或多个外围功能的请求的单元。所述装置还包括:用于响应于接收到所述请求,利用所述无线对接服务来发现所述一个或多个外围功能而不需要与无线对接中心进行通信的单元。所述装置还包括:用于将所述外围功能合并到用于所述用户应用的对接会话中的单元。所述装置还包括:用于响应于接收到所述请求,向所述用户应用发送对接会话标识符以及与所述一个或多个外围功能相对应的一个或多个各自的引用的单元。
[0011] 在另一个示例中,一种计算机可读存储介质包括存储在其上的指令,当所述指令被执行时,将一个或多个处理器配置为:从用户应用并且利用在计算设备上执行的无线对接通信栈的无线对接服务,来接收用于发现所述计算设备的无线通信范围内的一个或多个外围功能的请求。所述指令还将所述一个或多个处理器配置为:响应于接收到所述请求,利用所述无线对接服务来发现所述一个或多个外围功能,而不需要与无线对接中心进行通信。所述指令还将所述一个或多个处理器配置为:将所述外围功能合并到用于所述用户应用的对接会话中。所述指令还将所述一个或多个处理器配置为:响应于接收到所述请求,向所述用户应用发送对接会话标识符以及与所述一个或多个外围功能相对应的一个或多个各自的引用。
[0012] 在附图和下面的描述中阐述了一个或多个示例的细节。通过该描述和附图以及权利要求书,其它的特征、目标和优势将是显而易见的。

附图说明

[0013] 图1是示例性无线对接系统的概念图,在该示例性无线对接系统中,无线对接方使用无线对接服务在一个或多个无线通信信道上与多个外围设备进行通信。
[0014] 图2是示出了示例性无线对接系统的概念图,在该示例性无线对接系统中,无线对接方使用无线对接服务来创建并使用或者发现并使用包括一个或多个外围设备的无线对接环境。
[0015] 图3是示出了包括无线对接服务的示例性无线对接通信栈的概念图,其中无线对接方可以通过该无线对接服务来与一个或多个外围设备直接地通信。
[0016] 图4A-图4D根据本公开内容的技术,示出了用于由计算设备使用的各种外围设备的示例性软件栈,其中该计算设备实现无线对接通信栈来与这些外围设备建立不经中介的对接会话,以便将一个或多个外围功能合并到公共对接会话中。
[0017] 图5A-图5C根据本公开内容的一个或多个示例,描绘了针对示例性呼叫流程的流程图,在计算设备上执行的用户应用通过该呼叫流程,使用无线对接服务来与外围设备交换通信而不经无线对接中心进行中介,以便发现、配置并选择外围设备来建立并操作合并的对接会话。
[0018] 图6A-图6C根据本公开内容的一个或多个示例,描绘了针对示例性呼叫流程的呼叫流程图,在计算设备上执行的用户应用通过该呼叫流程,使用无线对接服务来与外围设备交换通信而不经无线对接中心进行中介,以便发现、配置并选择外围设备来建立并操作合并的对接会话。
[0019] 图7根据本公开内容中所描述的技术,描绘了针对用于创建持久无线对接环境的示例性呼叫流程的呼叫流程图。
[0020] 图8根据本公开内容中所描述的技术,描绘了针对用于发现可用的外围设备并且使用所发现的外围设备来创建持久无线对接环境的示例性呼叫流程的呼叫流程图。
[0021] 图9根据本公开内容中所描述的技术,描绘了针对用于发现可用的外围设备并且使用所发现的外围设备来创建持久无线对接环境的示例性呼叫流程的呼叫流程图。
[0022] 图10根据本公开内容中所描述的技术,描绘了针对用于使用包括一个或多个外围功能的、先前的持久无线对接环境的示例性呼叫流程的呼叫流程图。
[0023] 图11根据本公开内容中所描述的技术,描绘了针对用于使用包括一个或多个外围功能的、先前的持久无线对接环境的示例性呼叫流程的呼叫流程图。
[0024] 图12是示出了根据本公开内容中所描述的技术来进行操作的一种计算设备的示例性实例的框图
[0025] 贯穿附图和全文,相似的附图标记表示相似的要素。

具体实施方式

[0026] 本公开内容描述了一种用于在无需无线对接中心的情况下进行无线对接的架构。无线对接特殊兴趣组(SIG)已在开发可互操作的无线对接解决方案,其中无线对接中心(WDC)管理其外围设备并且提供合并连接,以便移动设备容易地连接到外围设备并使用外围设备。本文所描述的是一种无线对接解决方案,其中移动设备直接地连接到无线外围设备而不需要WDC。无WDC的对接系统不需要任何供应商实现可互操作的WDC。此外,无WDC的对接系统可以不需要在移动设备或者其它计算设备上实现任何标准化的对接协议。
[0027] 如在下面更加详细描述的,本公开内容描述了适用于无线对接系统的无线通信技术、协议、方法和设备,其中诸如移动计算设备之类的无线对接方可以使用无线对接服务来与一个或多个外围设备无线地并且直接地对接,其中该无线对接服务提供了用于控制外围设备和/或与外围设备交换数据的接口。无线对接服务(WDS)可以将应用服务平台(ASP)通信与诸如WiFi串行总线(WSB)和Miracast通信之类的外围功能协议(PFP)通信进行合并,以便向无线对接方所执行的应用提供接口。WDS可以作为包括用于Wi-Fi通信的接口的软件协议栈的一部分来执行,并且在ASP和PFP上方执行的WDS可以实现为Wi-Fi对接服务或者使用Wi-Fi对接的子集的无线对接服务。例如,无线对接服务可以通常根据由Wi-Fi联盟推广为“Wi-Fi直连(Wi-Fi Direct)”的标准集,来使用针对于对等(P2P)拓扑结构的Wi-Fi对接标准的子集。
[0028] ASP通常是可以使得设备能够在无线网络上(例如,Wi-Fi直连认证网络)容易地通告、寻求和提供服务的无线通信栈。形成ASP的无线栈可以被实现为符合Wi-Fi直连认证。本公开内容的剩余部分引用了被实现用于通过Wi-Fi直连ASP(即,被实现为符合Wi-Fi直连认证的无线ASP)来进行操作的无线对接服务(WDS)的示例,作为本公开内容的无线对接服务的一个说明性示例。这是基于这样的理解,通过Wi-Fi直连ASP的WDS仅是一个示例,还可以根据各种无线标准、协议和技术来实现WDS。例如,还可以根据WiGig和/或电气与电子工程师协会(IEEE)802.11标准集中的一个或多个标准(例如,802.11、802.11a、802.11b、802.11g、802.11n、802.11ac、802.11ad等)、或者Wi-Fi、WiGig和/或一个或多个802.11标准的扩展来实现WDS。
[0029] 在ASP和PFP上方进行操作的无线对接服务可以使得外围设备能够直接地向无线对接方通告其特定的对接服务。在ASP和PFP上方进行操作的WDS还可以使得无线对接方能够发现提供对接服务的外围设备。在ASP和PFP上方进行操作的WDS还可以使得外围设备和无线对接方能够互相连接并且互相建立无线对接会话。无线对接会话可以实现由通过WDS耦合到无线对接方的外围设备所提供的服务。例如,外围设备可以包括显示器、投影仪、扬声器、键盘、鼠标、操纵杆、数据存储设备、网络接口设备、其它对接主机、遥控设备、照相机、麦克、打印机或其它设备。在不同的示例中,这种外围设备可以包括单独的设备或者诸如其它计算机之类的设备的组件。在一些示例中,诸如移动手持装置之类的无线对接方设备可以使用通过ASP进行操作的WDS来与无线对接中心无线地对接,从而使得无线对接方设备能够访问由外围设备中的任何外围设备提供的服务。
[0030] 图1是示例性无线对接系统的概念图,在该示例性无线对接系统中,无线对接方使用无线对接服务在一个或多个无线通信信道上与多个外围设备进行通信。在所示出的示例中,无线对接系统100包括无线对接方(WD)110,WD 110表示被配置用于无线对接的计算设备,并且在无线对接系统100的背景下被称为无线对接方。无线对接方110可以是移动设备,例如智能电话或其它移动手持装置、平板计算机、膝上型计算机或其它计算设备。无线对接方110可以是诸如台式计算机之类的固定设备。无线对接方110还可以是较大的设备或系统的组件。例如,无线对接方110可以是处理器、处理内核芯片组、或者其它一个或多个集成电路
[0031] 无线对接系统100的外围设备140、142、144可以包括显示器、投影仪、扬声器、键盘、鼠标、操纵杆、数据存储设备、网络接口设备、其它对接主机、遥控设备、照相机、麦克风、打印机,或者能够与WD 110进行无线通信的各种其它设备中的任何设备。WD 110可以接合由外围设备140、142、144提供的服务。WD 110可以经由无线通信信道耦合到外围设备140、142、144,以便根据WD 110可访问的服务来操作外围设备140、142、144或者与外围设备140、
142、144交换数据。
[0032] 无线通信信道130、132、134可以是能够在WD 110和各个外围设备140、142、144之间传播通信信号的任何信道。在一些示例中,可以用诸如2.4千兆赫兹(GHz)频带、5GHz频带、60GHz频带或其它频带之类的频带中的射频通信来实现无线通信信道130、132、134。在一些示例中,无线通信信道130、132、134可以符合Wi-Fi(如Wi-Fi联盟所推广的)、WiGig(如无线吉比特联盟所推广的)和/或电气与电子工程师协会(IEEE)802.11标准集(例如,802.11、802.11a、802.11b、802.11g、802.11n、802.11ac、802.11ad等)中的一个或多个标准集、协议或技术,或者符合其它标准、协议或技术。用于无线通信信道130、132、134的频带(例如,2.4GHz、5GHz和60GHz),可以如按照它们在Wi-Fi、WiGig、任意一个或多个IEEE802.11协议的标准、和/或其它适用的标准或协议中所理解的来进行定义,以用于本公开内容的目的。在一些示例中,无线通信信道130、132、134可以表示在外围设备140、142、
144之间复用的单个无线通信信道。
[0033] 在不同的示例中,一旦无线对接方110和外围设备140、142、144的任何子集进入彼此的操作通信范围内,WD 110就可以自动地与该子集建立通信,或者WD 110可以响应于用户输入而手动地建立通信。在图5A-图5C、图6A-图6C中描绘了在彼此之间建立对接通信的WD 110和外围设备140、142、144之间的示例性呼叫流程。无线对接方110和外围设备140、142、144可以使用应用服务平台(ASP)和/或外围功能协议(PFP)(例如,WiFi串行总线(WSB)和Miracast),来管理彼此的通信以用于各种服务,包括无线对接服务(WDS),如图5A-图5C、图6A-图6C中所示出的。
[0034] 图2是示出了示例性无线对接系统的概念图,在该示例性无线对接系统中,无线对接方使用无线对接服务来创建并使用或者发现并使用包括一个或多个外围设备的无线对接环境。在所示出的示例中,无线对接系统150包括:WD 110和外围设备140、142、144,其可以对应于图1的WD 110和外围设备140、142、144。
[0035] 在一些示例中,WD 110使用无线对接服务来创建包括外围设备140、142、144的无线对接环境(WDN)152。在一些示例中,WD 110使用无线对接服务来发现已经由WD 110或另一个无线对接方创建的无线对接环境152。WD 110可以使用无线对接服务来选择WDN 152以建立无线对接会话,通过该无线对接会话WD 110可以接合由外围设备140、142、144提供的服务。无线对接方110可以经由无线通信信道182耦合到WDN 152,以便根据WD 110可访问的服务来操作外围设备140、142、144和/或与外围设备140、142、144交换数据。无线通信信道182可以与图1的无线通信信道130、132、134类似。
[0036] 在图1-图2的示例中,WD 110可以使用无线对接服务将与一个或多个外围设备的连接合并到公共上下文中,或“对接会话(docking session)”中,执行WD 110的一个或多个应用可以使用该对接会话来容易地连接到外围设备并使用外围设备。
[0037] 图3是示出了包括无线对接服务的示例性无线对接通信栈的概念图,其中无线对接方可以通过该无线对接服务来与一个或多个外围设备直接地通信。在所示出的示例中,计算设备200包括在无线对接通信栈201上执行的用户应用216。计算设备200可以表示图1-图2的无线对接方100。无线对接通信栈201包括无线对接服务214,无线对接服务214向用户应用216提供应用编程接口(API)226。API 226包括方法、数据字段和/或事件,用户应用216可以通过这些方法、数据字段和/或事件来发现、配置并选择外围设备以便由WD 110使用。在一些示例中,API 226包括一个接口,用户应用216通过该接口可以创建和/或发现包括外围设备的WDN,以便由WD 110选择和使用。本文对“方法”、“消息”和“信号”的引用(例如,针对通信栈的不同层之间的通信)应当被认为是可互换的,因为这些不同构造中的每一个可以由通信栈的各层用来提供/接收数据、请求动作或数据或相应地进行响应,或者用来发送/接收命令。所描述的方法、消息和信号可以表示多个不同形式的通信中的任何通信,包括消息传送服务、共享存储、管道、网络通信等等。
[0038] 在一些示例性实现中,API 226包括表1的示例性方法。
[0039] 表1:示例性应用编程接口
[0040]方法 参数 返回
发现外围设备() 无 [外围设备]
配置外围设备() [外围设备]的子集 无
使用外围设备() [外围设备]的子集 [对接会话]
创建WDN() [外围设备]的子集 [WDN句柄(handle)]
发现WDN() 无 [WDN句柄]
使用WDN() [对接会话] [对接会话]
解除对接 [对接会话] 无
[0041] 因此,用户应用216可以使用API 226来指导无线对接服务214发现(“发现外围设备(DiscoverPeripherals)”)、配置(“配置外围设备(ConfigurePeripherals)”)并且直接地选择(“使用外围设备(UsePeripherals)”)外围设备来建立对接会话,以及对对接会话进行解除对接(“解除对接(Undock)”)。替代地,或者另外地,用户应用216可以使用API 226来指导无线对接服务214通过外围设备的集合来创建无线对接环境(“创建WDN(CreateWDN)”)、发现现有的WDN(“发现WDN(DiscoverWDN)”)并选择包括外围设备的WDN来使用(“使用WDN(UseWDN)”)。
[0042] 在本示例中,无线对接被实现为在无线应用服务平台层204(“ASP204”)上进行操作的无线对接服务(WDS)214,其中ASP 204在Wi-Fi直连无线通信层202(“Wi-Fi直连202”)上进行操作。Wi-Fi直连通信202是ASP 204可以在其上进行操作的无线通信的示例性实现。
[0043] 在一些示例中,各种无线服务可以被实现为ASP 204上的接口层,包括打印服务206、显示服务208和其它服务。无线对接服务214在打印服务206和显示服务208中的每个服务上进行操作,以提供与用户应用216的接口。在一些示例中,打印服务206和显示服务208可以由计算设备200可直接访问的一个或多个外围设备来提供,并且经由ASP通信层204来管理。
[0044] WDS 214可以作为Wi-Fi直连服务来提供,并且被称为Wi-Fi直连对接服务。Wi-Fi直连对接服务可以是Wi-Fi对接的子集,特别是,在Wi-Fi直连实现的示例中,可以是在P2P Wi-Fi直连拓扑结构上进行操作的Wi-Fi对接的子集。WDS 214可以例如实现为可以被加载到或者存储在设备(例如,无线对接方110)中的软件模。在一些示例中,WDS 214的各方面还可以与硬件集成在一起、预先封装在硬件中,或者用硬件来实现。例如,WDS 214可以存储在集成电路或包含一个或多个集成电路和一个或多个存储组件的芯片组上、与所述集成电路或芯片组集成在一起、或者由所述集成电路或芯片组来实现。
[0045] 基于分组的传输层协议栈(未示出)可以在ASP 204、Miracast 210和/或WiFi串行总线(WSB)212上方运行。基于分组的传输层可以包括互联网协议(IP)通信层和各种传输层通信层中的一个或多个。IP通信层可以在ASP 204上方运行,或者直接在Wi-Fi直连202上运行。传输层通信层可以包括传输控制协议(TCP)、用户数据报协议(UDP)、流控制传输协议(SCTP)或其它传输层通信协议中的一个或多个。
[0046] 无线通信栈201包括无线通信栈201的不同组件之间的几个另外的通信接口。ASP 204和WDS 214之间的WDS接口224充当为用于ASP方法和事件的无线对接接口。WDS接口224可以将在ASP 204上直接地运行的WDS 214实现为直接地管理与一个或多个外围设备的无线对接通信。
[0047] 各种其它的通信接口也可以包括在无线对接通信栈201中。Miracast210和WDS 214之间的通信接口220充当为用于控制并使用Miracast操作的接口。WiFi串行总线(WSB)
212和WDS 214之间的通信接口222充当为用于控制并使用WiFi串行总线操作的接口。打印服务206和WDS 214之间的通信接口217充当为用于控制并使用打印服务206操作的接口。显示服务208和WDS 214之间的通信接口218充当为用于控制并使用显示服务208操作的接口。
[0048] 图4A-图4D根据本公开内容的技术,示出了用于由计算设备使用的各种外围设备的示例性软件栈,其中该计算设备实现无线对接通信栈来与这些外围设备建立不经中介的对接会话,以便将一个或多个外围功能合并到公共对接会话中。外围设备300、310、320和330均可以表示图1的外围设备140、142、144中的任何外围设备。
[0049] 图4A描绘了具有通信栈301的外围设备300,其中通信栈301包括在Wi-Fi直连302上进行操作的Wi-Fi串行总线(WSB)集线器/外围设备层304。Wi-Fi直连302可以与图3的Wi-Fi直连202进行通信,而WSB集线器/外围设备层304可以通过WSB 212与计算设备200进行通信。
[0050] 图4B描绘了具有通信栈311的外围设备310,其中通信栈310包括在Wi-Fi直连312上进行操作的Miracast宿314。Wi-Fi直连312可以与图3的Wi-Fi直连202进行通信,而Miracast宿314可以通过Miracast 210(Miracast源)与计算设备200进行通信。
[0051] 图4C描绘了具有通信栈321的外围设备320,其中通信栈321包括在打印服务326上进行操作的、可选的无线对接服务(WDS)层328。WDS层328可以向图3的WDS 214通告打印服务326。打印服务326可以在Wi-Fi直连322以及图3的Wi-Fi直连202上与图3的打印服务206进行通信。
[0052] 图4D描绘了具有通信栈331的外围设备330,其中通信栈331包括在显示服务336上进行操作的、可选的无线对接服务(WDS)层338。WDS层338可以向图3的WDS 214通告显示服务336。显示服务336可以在Wi-Fi直连332以及图3的Wi-Fi直连202上与图3的显示服务208进行通信。
[0053] 图5A-图5C根据本公开内容的一个或多个示例,描绘了针对示例性呼叫流程的流程图,在计算设备上执行的用户应用通过该呼叫流程,使用无线对接服务来与外围设备交换通信而不经无线对接中心进行中介,以便发现、配置并选择外围设备来建立并操作合并的对接会话。计算设备200包括图3中所示出的示例性无线对接通信栈201的组件,具体地说,包括无线对接服务214、打印服务206、应用服务平台(ASP)204和Wi-Fi直连层202。在计算设备200上执行的应用216可以调用无线对接服务214,来建立包括一个或多个外围设备(例如,外围设备320)的合并的对接会话。
[0054] 在所示出的示例中,计算设备200的用户应用216通过调用发现外围设备()方法400,来对计算设备200的无线对接通信栈201的WDS 214进行查询以发现外围设备。发现外围设备()(DiscoverPeripherals())方法400可以表示上面用于计算设备200的无线对接通信栈201的API 226的、表1中所列出的发现外围设备()方法。
[0055] WDS 214可以发出针对与不同的外围服务相对应的不同子层的通信。在本示例中,WDS 214执行设备发现。作为设备发现的一部分,WDS 214可以向子层发送一个或多个通信,所述一个或多个通信包括用于发现可用外围设备的指示。在本示例中,WDS 214通过通信接口217使用发现(Discover)消息402以请求打印服务206针对一个或多个打印机外围设备来请求服务发现(对应于打印机外围功能类型)。这仅是针对外围设备的设备发现的一个示例。还考虑了针对其它类型的外围功能(例如,显示器(参见计算设备200的显示服务208)、鼠标、键盘等)的其它示例。
[0056] 通过向ASP 204发出寻求服务()(SeekService())消息404,打印服务206通过ASP 204来请求针对符合打印机外围功能类型的外围功能的服务发现。由ASP 204响应于寻求服务()消息404而执行的服务发现,即Wi-Fi直连服务(WFDS)打印机发现406,可以表示预关联服务发现,因为该服务发现发生于计算设备200(计算设备200是无线对接方)和外围计算设备320之间的无线对接会话发起之前。
[0057] 作为WFDS打印机发现406的一部分,ASP 204可以针对关于外围功能的信息来查询外围计算设备320的ASP 324,其中所述外围功能包括例如符合打印机外围功能类型并且经由ASP 324可用的外围功能。WFDS打印机发现406可以包括用于通信流的多个通信。例如,ASP 204和ASP 324可以初始地交换设备发现通信。ASP 204可以进一步发送服务发现查询,以便针对外围功能信息或关于可用于ASP 324的外围设备的信息来查询ASP324。通过也在外围计算设备320上执行的应用(例如,打印服务326),适用的外围功能可用于ASP 324。
[0058] 充当为无线对接主机的ASP 324可以发送服务发现响应,该服务发现响应提供ASP 324的外围功能信息。ASP 324由此可以在与计算设备200的ASP 204的预关联服务发现通信中通告其外围功能。这些通信是预关联的,因为它们发生于ASP 204和ASP 324之间的无线对接会话发起之前。通过作为WFDS打印机发现406的预关联服务发现通信的一部分的服务发现响应,ASP 204从而可以发现与ASP 324相关联的外围功能。下面提供了这些预关联服务发现通信的另外的细节。
[0059] 可以在数据链路层或层2(L2)通信中实现服务发现通信。可以在各种类型的物理层(PHY)通信信道中的任何信道上传送L2通信,包括如上面所讨论的Wi-Fi或WiGig标准和/或IEEE 802.11协议中的任何一种。ASP 204所发送的服务发现查询和ASP 324所发送的服务发现响应可以使用服务发现动作。示例性的动作帧可以包括介质访问控制(MAC)报头、帧类别、动作细节和帧校验序列(FCS)。ASP 204所发送的服务发现查询中的动作细节可以包括对象标识符(OI)字段和查询数据字段。ASP 204可以将服务发现动作帧中的OI字段设置为0x506F9A,即,Wi-Fi联盟(WFA)的组织唯一标识符(OUI)。ASP 204还可以在服务发现动作帧中设置另外的字段,例如,OUI子类型字段和服务协议类型字段。ASP 204可以将服务发现查询动作帧的查询数据字段设置为包括对接子元素标识符(ID)的列表,以便查询关于可用的对接子元素的信息。在一些示例中,ASP 204可以使用明文有效载荷来与ASP 324进行通信,其中这些明文有效载荷包括SOAP请求和响应(例如,根据在www.w3.org/TR/soap12-part1处定义的SOAP规范)以及在基于分组的传输层协议栈上运行的GENA(通用事件通知架构)通知,而在其它示例中,ASP 204可以使用在基于分组的传输层协议栈上运行的二进制协议来与对接ASP 324进行通信,如下面进一步描述的。ASP 204还可以在查询数据字段中设置服务事务标识符(ID)。如下在表2和表3中示出了针对使用SOAP和GENA有效载荷的示例的、查询数据字段和对接子元素ID的示例。
[0060] 表2:查询数据字段
[0061]
[0062] 表3:对接子元素ID
[0063]对接子元素ID 说明
… …
7 外围功能信息
8 对接主机(ASP)SOAP URL
9 对接主机(ASP)GENA URL
10–255 保留
[0064] 在可以使用二进制协议而不是SOAP和GENA有效载荷的一些示例中,ASP 204可以不需要使用如表2中所列出的对接子元素ID 8和ID 9来与ASP 324进行通信。
[0065] ASP 324可以通过发送服务发现响应,来对从ASP 204接收到服务发现查询进行响应。ASP 324可以在服务发现响应中包括具有服务响应数据字段的服务发现动作帧,其中服务响应数据字段包括所请求的对接子元素的列表。ASP 324可以在服务响应类型-长度-值(TLV)元素中包括服务事务ID,其中服务事务ID与来自ASP 204的服务发现查询的查询数据字段中的服务事务ID相匹配,以确保ASP 240可以将服务发现响应与先前的服务发现查询进行关联。ASP 324可以在服务发现响应中所包括的对接服务发现动作帧中设置对接信息元素(IE)。在一些示例中,ASP 204可以将对接IE设置为包括如下面表4中所示出的子元素。
[0066] 表4:对接服务发现响应中的对接IE中的信息子元素
[0067]
[0068] 服务发现响应中ASP 324所提供的这些对接信息子元素,即,外围功能信息子元素、对接主机(ASP)SOAP统一资源定位符(URL)子元素和对接主机(ASP)通用事件通知架构(GENA)URL子元素,如下进行进一步描述。在使用二进制协议的示例中,ASP 324可以从对接服务发现响应中的对接信息元素的信息子元素中省略对接主机(ASP)SOAP URL和对接主机(ASP)GENA URL。在使用SOAP和GENA有效载荷的一些示例中,计算设备200和外围设备320二者可以互相发送SOAP请求和响应,并且计算设备200可以向外围设备320发送GENA通知,其中SOAP和GENA有效载荷二者可以根据诸如传输控制协议/互联网协议(TCP/IP)或用户数据报协议/IP(UDP/IP)之类的规范,在基于分组的传输层协议栈上发送给例如指定的URL,并且潜在地还发送给指定的端口号,例如,TCP端口号80(通常与HTTP相关联)。
[0069] 外围功能信息子元素可以提供由外围设备320(具体地说,在本示例中,打印服务326)承载(host)的外围设备的外围功能(PF)信息。外围功能信息子元素可以具有如表5中所示出的数据结构,其后具有关于所列出字段的另外的信息。
[0070] 表5:外围功能信息子元素
[0071]字段 长度(八位字节) 类型
n_PFs 1 uimsbf
for(i=0;iPF_ID 2 uimsbf
PF_类型 2 uimsbf
PF_名称 可变 UTF-8_字符串()
PF_能 可变 UTF-8_字符串()
PF_状态 1 uimsbf
n_PFPs 1 uimsbf
for(i=0;IPFP_ID 1 uimsbf
}    
}    
[0072] 字段“n_PFs”可以包含生成该PF状态信息数据结构的外围设备320所承载的外围功能(PF)的数量。耦合到无线对接方110的任意一个或多个外围设备(例如,图1的外围设备140、142、144)可以提供一个或多个外围功能。
[0073] 字段“PF_ID”可以包含特定的外围功能(PF)的ID。如行“for(i=0;i
[0074] 字段“PF_类型(PF_type)”可以指示外围功能的外围功能类型。下面在表6中列出了说明性的外围功能类型集合。
[0075] 字段“PF_名称(PF_name)”可以包含外围功能的用户友好的名称。该外围功能名称对于可用于ASP 324的所有PF可以是唯一的。在一些示例中,外围功能名称的格式可以是UTF-8_字符串()(UTF-8_String())结构。
[0076] 字段“PF_能力(PF_capability)”可以包含如ASP 324所报告的外围功能的能力。在一些示例中,外围功能能力的格式也可以是UTF-8_字符串()结构。
[0077] 字段“n_PFPs”可以包含外围功能协议的数量,其中外围功能协议能够用于支持对给定的PF_ID所引用的特定外围设备的使用。字段“PFP_ID”可以包含能够用于支持对特定外围设备的使用的外围功能协议的标识符(ID)。下面在表7中列出了说明性的外围功能协议集合。字段“PF_状态(PF_state)”可以包含外围功能的状态,例如下面在表7中所定义的示例性状态。
[0078] 表6:外围功能类型
[0079]PF类型 说明
0 鼠标
1 键盘
2 遥控装置
3 显示器
4 扬声器
5 麦克风
6 存储装置
7 打印机
8–65535 保留
[0080] 表7:外围功能协议标识符
[0081]PFP ID 说明
0 Miracast
1 WiFi串行总线(WSB)
2 蓝牙
3 WiGig显示扩展(WDE)
4 WiGig串行扩展(WSE)
5–255 保留
[0082] 表8:PF_状态值
[0083]
[0084] 对接服务SOAP URL子元素提供用于ASP 324所提供的对接协议的、SOAP命令服务的URL。对接服务SOAP URL子元素可以具有如下面表9中所示出的数据结构。
[0085] 表9:对接服务SOAP URL子元素
[0086]
[0087] 对接服务GENA URL子元素提供用于ASP 324所提供的对接协议的、GENA通知服务的URL。对接服务GENA URL子元素可以具有如下面表10中所示出的数据结构。
[0088] 表10:对接主机GENA URL子元素
[0089]
[0090] 在接收到外围设备320和ASP 324所承载的外围设备的外围功能信息后,ASP 324可以在搜索结果()(SearchResults())消息408中并且向打印服务206返回在具有打印机外围功能类型(例如,表6中所列出的说明性外围功能类型集合中的类型7)的外围功能信息中所包括的外围设备子集。通过作为预关联服务发现通信的一部分的服务发现响应,打印服务206从而可以发现与外围计算设备320相关联的外围功能。打印服务206可以在结果(Results)消息410中向WDS 214提供接收到的外围设备子集。
[0091] WDS 214可以对通过ASP 204的操作所发现的外围功能,以及可以使用诸如WSB、蓝牙和Mirast(下面针对图6A-图6C进一步详细描述)之类的各种其它外围功能协议(PFP)来进行通信的其它外围功能进行合并,并且在消息412中向应用216返回外围功能的表示,应用216然后可以选择外围功能的子集来进行配置并使用,如下面针对图5B进一步详细描述的。以此方式,WDS 214可以向应用216提供统一接口,应用216可以通过该统一接口来发现由外围设备(例如,外围设备320)提供的一个或多个外围功能,作为无线对接方的计算设备200可以使用未经无线对接中心进行中介的无线对接会话来与这些外围设备直接地对接。
[0092] 现在转向图5B,应用216可以选择所发现的外围功能的子集来使用。应用216然后可以使用配置外围设备()(ConfigurePeripherals())方法420,来指导WDS 214对供应用216使用的、所发现的外围功能的子集进行配置。配置外围设备()方法420可以包括参数,以用于列出供应用216使用的、所发现的外围功能的子集。配置外围设备()方法420可以表示上面用于计算设备200的无线对接通信栈201的API 226的、表1中所列出的配置外围设备()方法。
[0093] 无线对接服务214可以配置有连接配置信息,该连接配置信息用于外围设备建立计算设备200的数据(或“有效载荷”)连接。在一些实例中,有效载荷连接可以包括Wi-Fi对等(P2P)连接,并且连接配置信息可以包括P2P群组凭证。对于在持久P2P群组不可用的实例中建立Wi-Fi P2P连接,连接配置信息可以包括群组拥有者意图、操作信道、目标P2P接口地址、信道列表、P2P群组ID和前面提到的P2P群组凭证。对于在持久P2P群组可用的实例中建立Wi-Fi P2P连接,连接配置信息可以包括操作信道、P2P群组BSSID、信道列表和P2P群组ID。
[0094] WDS 214可以使用配置凭证()(ConfigurationCredential())方法422来向ASP 204提供用于由计算设备200建立有效载荷连接的连接配置信息,其中ASP 204针对潜在的多个外围功能以及用于对应的外围功能的选定的外围功能协议,来合并会话建立。具体而言,WDS 214可以使用配置凭证()方法422来向ASP 204提供P2P群组凭证。
[0095] WDS 214还可以使用配置凭证()方法422来提供与有效载荷连接协商有关的额外信息,例如,有效载荷连接协议,用于外围功能的选定子集中的每个子集的选定的外围功能协议,以及用于所选定的外围功能(其使用有效载荷连接协议和有效载荷功能协议)的标识符。
[0096] 应用216随后调用WDS 214的使用外围设备()(UsePeripherals())方法424来请求使用外围设备和统一对接会话,其中该统一对接会话是用于应用216的多个所选择的外围功能的公共上下文。使用外围设备()方法424可以包括参数,以用于列出所寻求的供应用216使用的、所选择的外围功能的子集。在一些实例中,可以使用表6的示例性外围功能类型标识符来识别所选择的外围功能。使用外围设备()方法424可以表示上面用于计算设备200的无线对接通信栈201的API 226的、表1中所列出的使用外围设备()方法。
[0097] 在所示出的示例中,相应地,WDS 214将打印服务206识别为所选择的外围功能之一。WDS 214可以使用表6中所列出的打印机外围功能类型标识符的示例性标识符来识别打印服务206。WDS 214相应地使用开始(Start)消息426来指导打印服务206发起与提供打印机外围功能的外围设备320的打印机外围功能会话。打印服务206通过调用ASP 204的连接会话()(ConnectSession())方法428来请求连接到应用服务平台会话。
[0098] ASP 204根据WDS 214所提供的连接配置信息,使用ASP会话建立过程430来与外围设备320的ASP 324建立应用服务平台会话。应用服务平台会话可以充当为用于多个外围功能和对应的外围功能协议的公共ASP会话。
[0099] 在与外围设备320的ASP 324成功建立ASP会话后,ASP 204可以通过调用会话已连接()(SessionConnected())方法432来通知打印服务206已建立ASP会话。相应地,打印服务206通过响应于开始(Start)消息426(其发起了与外围设备320的打印机外围功能会话)而向WDS 214返回成功(Success)消息434,来向WDS 214通知成功建立ASP会话。
[0100] 随后,WDS 214可以通过调用获得连接配置()(GetConnectionConfiguration())方法436,来从ASP 204请求ASP 204可能已在ASP会话建立过程430期间与ASP 324协商的连接配置信息。ASP204可以通过返回连接配置信息来对获得连接配置()方法436的调用进行响应。连接配置信息可以包括例如,有效载荷连接协议、计算设备200的ASP204和外围设备320的ASP 324一致同意的有效载荷连接的连接配置信息、外围功能协议、以及针对打印服务206数据有效载荷连接所建立的ASP会话的外围功能类型的标识符(在本示例中“打印机”,参见表6)。对于不使用持久P2P群组的Wi-Fi P2P连接,有效载荷连接的连接配置信息可以包括例如操作信道、信道列表和P2P群组ID。对于使用持久P2P群组的Wi-Fi P2P连接,有效载荷连接的连接配置信息可以包括例如操作信道、P2P群组BSSID和信道列表。
[0101] WDS 214将一个或多个外围功能和对应的有效载荷连接合并到可通过对接会话标识符来识别的公共上下文中。在一些情况下,如图5A-图5C的示例中,ASP 204可以组织一个或多个外围功能协议,以用于与向计算设备200提供外围功能的外围设备进行通信。WDS 214然后可以使用通过对接会话标识符而识别的公共上下文,来寻址该一个或多个合并的外围功能。由于应用216发起对由WDS 214合并的一个或多个外围功能的选择和配置,因此WDS 214在消息440中向应用216提供对接会话标识符(“[对接会话]”)。
[0102] 随后,应用216可以使用对接会话标识符来寻址由ASP 204与ASP 324建立的有效载荷连接,以便使用经协商的外围功能协议,通过数据消息交换442,来与外围打印服务326交换数据以及在一些情况下交换控制信息。以此方式,WDS 214可以向应用216提供统一接口,通过该统一接口,应用216可以发现、配置并选择由外围设备(例如,外围设备320)提供的一个或多个外围功能的子集,计算设备200可以使用不经无线对接中心进行中介的无线对接会话来与这些外围设备直接地对接。
[0103] 图5C示出了用于建立用于打印机外围功能的有效载荷连接的、外围设备320的另外的示例性操作。外围设备320的通信栈321包括可选的无线对接服务328层,以便使用通告对接内容(Advertise Docking Content)消息450来通告对接内容。对接内容可以包括外围功能集合和关联的状态信息。外围设备320的打印服务326可以使用通告外围设备()(AdvertisePeripheral())方法452来通知ASP 324关于外围设备320上打印机外围功能类型的可用性。因此,ASP 324可以有利地响应WFDS打印机发现过程406,因为ASP 324可以利用打印机外围功能的外围功能信息来对计算设备200的ASP 204所发出的服务发现消息进行响应。
[0104] 如上面针对图5B所描述的,ASP 204和ASP 324执行ASP会话建立过程430。在ASP 204和ASP 324之间的ASP会话成功连接后,ASP 324可以通过调用会话已连接()方法454来向打印服务326通知已建立ASP会话。
[0105] 图6A-图6C根据本公开内容的一个或多个示例,描绘了针对示例性呼叫流程的呼叫流程图,在计算设备上执行的用户应用通过该呼叫流程,使用无线对接服务来与外围设备交换通信而不经无线对接中心进行中介,以便发现、配置并选择外围设备来建立并操作合并的对接会话。在本示例中,操作成无线对接方的计算设备200与使用Miracast外围功能协议(参见表7)来进行通信的外围功能进行接合。
[0106] 计算设备200包括图3中所示出的示例性无线对接通信栈201的组件,具体地说,包括无线对接服务214、Miracast主机210、应用服务平台(ASP)204和Wi-Fi直连层202。在计算设备200上执行的应用216可以调用无线对接服务214来建立包括一个或多个外围设备(例如,包括Miracast宿314的外围设备310)的合并的对接会话。
[0107] 在所示出的示例中,计算设备200的用户应用216通过调用发现外围设备()方法500,来对计算设备200的无线对接通信栈201的WDS 214进行查询以发现外围设备。发现外围设备()方法500可以表示上面用于计算设备200的无线对接通信栈201的API 226的、表1中所列出的发现外围设备()方法。此外,发现外围设备()方法400和发现外围设备()方法
500可以表示相同的操作,因为应用216寻求一次发现多个外围功能。
[0108] WDS 214可以发出针对与不同的外围服务相对应的不同子层的通信。在本示例中,WDS 214执行设备发现。作为设备发现的一部分,WDS 214可以向子层发送一个或多个通信,所述一个或多个通信包括用于发现可用外围设备的指示。这里,WDS 214通过通信接口220使用发现(Discover)消息502以请求Miracast主机210针对Miracast服务来请求服务发现,即,使用Miracast外围功能协议的具有Miracast能力的外围功能类型(例如,显示器)。再次,这仅是针对外围设备的设备发现的一个示例。
[0109] Miracast主机210执行Miracast发现过程504来发现可用的Miracast服务,在本示例中由具有Miracast宿314的外围设备310来提供这些可用的Miracast服务。Miracast宿314可以在Miracast发现过程504期间向Miracast主机210返回外围功能信息。Miracast主机210可以在结果(Results)消息506中并且向WDS 214返回外围功能信息中所包括的外围设备子集,其中该外围功能信息具有类型为Miracast的外围功能协议。虽然图6A中示出了仅有一个外围设备310具有Miracast宿314,但是在一些情况下,多个这种外围设备可用于使用Miracast外围功能协议的宿数据。
[0110] WDS 214可以对使用通过Miracast主机210的操作而发现的Miracast外围功能协议的外围功能,以及可以使用各种其它外围功能协议(PFP)(例如,WSB和蓝牙)来进行通信的其它外围功能进行合并,并且在消息508中向应用216返回外围功能的表示(“[外围设备]”),应用216然后可以选择外围功能的子集来进行配置并使用。在一些情况下,图6A的消息508和图5A的消息42可以表示相同的消息,因为WDS可以一次发现多个外围功能并且在单个消息中返回所发现的外围功能的表示。以此方式,WDS 214可以向应用216提供统一接口,通过该统一接口,应用216可以发现由外围设备(例如,外围设备310)提供的一个或多个外围功能,作为无线对接方的计算设备200可以使用不经无线对接中心进行中介的无线对接会话来与这些外围设备直接地对接。
[0111] 现在转向图6B,应用216可以选择所发现的外围功能的子集来使用。应用216然后可以使用配置外围设备()方法510,来指导WDS 214对供应用216使用的、所发现的外围功能的子集进行配置。配置外围设备()方法510可以包括参数,以用于列出供应用216使用的、所发现的外围功能的子集,在该情况下,该子集包括使用Miracast外围功能协议的外围功能。配置外围设备()方法510可以表示上面用于计算设备200的无线对接通信栈201的API 226的、表1中所列出的配置外围设备()方法。此外,配置外围设备()方法510可以表示图5B的配置外围设备方法420,但包括用于列出利用Miracast外围功能协议的外围功能的任何参数。
[0112] 无线对接服务214可以配置有连接配置信息,该连接配置信息用于外围设备建立计算设备200的数据(或“有效载荷”)连接。在一些实例中,有效载荷连接可以包括Wi-Fi对等(P2P)连接,并且连接配置信息可以包括P2P群组凭证。对于在持久P2P群组不可用的实例中建立Wi-Fi P2P连接,连接配置信息可以包括群组拥有者意图、操作信道、目标P2P接口地址、信道列表、P2P群组ID和前面提到的P2P群组凭证。对于在持久P2P群组可用的实例中建立Wi-Fi P2P连接,连接配置信息可以包括操作信道、P2P群组BSSID、信道列表和P2P群组ID。
[0113] WDS 214可以使用配置凭证(Configuration Credential)消息512来向Wi-Fi直连202提供用于由计算设备200建立有效载荷连接的连接配置信息,Wi-Fi直连202可以配置专用的WFD信道用于Miracast连接(下面进行描述)。应用216随后调用WDS 214的使用外围设备()方法514来请求统一对接会话,该统一对接会话是用于应用216的多个所选择的外围功能的公共上下文。使用外围设备()方法424可以包括参数,以用于列出所寻求的供应用
216使用的、所选择的外围功能子集。在一些实例中,可以使用表6的示例性外围功能类型标识符来识别所选择的外围功能。使用外围设备()方法514可以表示上面用于计算设备200的无线对接通信栈201的API 226的、表1中所列出的使用外围设备()方法。此外,使用外围设备()方法514可以表示图5B的使用外围设备()方法424。
[0114] 在所示出的示例中,相应地,WDS 214将所选择的外围功能中的一个功能识别为使用Miracast外围功能协议。WDS 214可以使用表7中所列出的用于Miracast的外围功能协议标识符(“PFP_ID”)的示例性标识符来识别所选择的外围功能中的所述一个功能。WDS 214相应地使用设置连接配置()(SetConnectionConfiguration())方法516来指导Wi-Fi直连202建立WFD信道,以用于建立Miracast连接。WDS 214进一步向Miracast主机210发出开始(Start)消息517,来指导Miracast主机210执行与Miracast宿314的Miracast连接建立过程
518,以建立使用Miracast外围功能协议的有效载荷连接。
[0115] 在与外围设备310的Miracast宿314成功建立Miracast连接后,Miracast主机210可以通过响应于开始(Start)消息517(其发起了与外围设备310的Miracast连接)而向WDS 214返回成功(Success)消息520,来向WDS214通知成功建立Miracast连接。
[0116] WDS 214将一个或多个外围功能和对应的有效载荷连接合并到可通过对接会话标识符来识别的公共上下文中。WDS 214然后可以使用通过对接会话标识符而识别的公共上下文,来寻址该一个或多个合并的外围功能。由于应用216发起对由WDS 214合并的一个或多个外围功能的选择和配置,因此WDS 214在消息522中向应用216提供对接会话标识符(“[对接会话]”)。消息522可以表示图5B的消息440,并且在WDS 214并行地建立用于打印机外围功能和具有Miracast能力的外围功能的多个有效载荷连接的实例中,消息522可以包括相同的标识符。
[0117] 随后,应用216可以使用对接会话标识符来寻址由Miracast主机210与Miracast宿314建立的有效载荷连接,以便使用有效载荷连接,通过数据消息交换524,来与Miracast宿交换数据以及在一些情况下交换控制信息。以此方式,WDS 214可以向应用216提供统一接口,通过该统一接口,应用216可以发现、配置并选择由外围设备(例如,外围设备310)提供的一个或多个外围功能的子集,作为无线对接方的计算设备200可以使用不经无线对接中心进行中介的无线对接会话来与这些外围设备直接地对接。
[0118] 图6C示出了用于与计算设备200的Miracast主机210建立Miracast有效载荷连接的、外围设备310的Miracast宿314的示例性操作。在Miracast发现504期间,Miracast宿314进行响应以指示可用的Miracast服务。此外,在与计算设备200的Miracast连接建立过程518期间,Miracast宿314参加与Miracast主机210建立Miracast有效载荷连接。
[0119] 计算设备200可以创建持久WDN以便由应用216将来使用,其可以包括例如对建立和操作计算设备200和外围设备(例如,图1和图2的外围设备140、142和144)之间将来的无线对接会话的过程进行简化和加速。WDN配置数据可以包括特定的无线对接会话(其不涉及无线对接中心)中所使用的外围功能(PF)、以及用于每个外围功能的外围功能协议(PFP)和有效载荷连接协议(PCP)信息。在一些示例中,持久P2P群组可以与持久WDN相关联,虽然持久WDN不一定与持久P2P群组相关联。
[0120] 在一些示例中,计算设备200的WDS 214可以存储持久无线对接环境(WDN)以便由应用216将来使用。在预关联服务发现过程期间,外围设备可以在服务发现响应中包括对接信息元素(IE),其中该对接IE可以包括无线对接(WDCK)能力子元素。WDS 214可以部分地设置对应的WDCK能力子元素,以指示其具有用于存储持久WDN以便由应用216将来使用的能力。如果WDS 214具有用于存储持久WDN的能力,那么应用216可以与WDS 214发起用于存储持久WDN的事务。图7-图11中示出了用于建立和使用持久WDS的示例性呼叫流程图。
[0121] 图7根据本公开内容中所描述的技术,描绘了针对用于创建持久无线对接环境的示例性呼叫流程的呼叫流程图。用于发现并配置外围设备的过程600在许多方面可以与用于使用到外围设备的直接连接(即,不需要无线对接控制器)来发现和配置外围功能的过程相对应。也就是说,过程600可以并入针对图5A-图5C和图6A-图6C所描述的、分别用于发现并配置打印机外围功能类型的外围功能和具有Miracast能力的外围功能的特征。
[0122] 在指导WDS 214对WDS 214所发现的、选择的外围设备进行配置之后,应用216可以通过调用创建无线对接环境()(CreateWirelessDockingEnvironment())方法602来请求WDS 214创建持久WDN(替代地被称为“无线对接环境”)。创建无线对接环境()方法602可以表示上面用于计算设备200的无线对接通信栈201的API 226的、表1中所列出的创建WDN()方法。
[0123] WDS 214可以通过至少基于所发现的、所选择的和所配置的用于对接会话的外围设备,按照所请求的来创建并存储持久WDN,来对其公开的创建无线对接环境()方法602的调用进行响应。为了创建并存储持久WDN,WDS 214可以存储针对所选择的外围功能的外围功能配置信息,对于所选择的外围功能中的每一个,该外围功能配置信息可以包括外围功能类型、对应的外围功能协议以及有效载荷连接类型(例如,IEEE 802.11n、802.11ac、802.11ad中的一个)。在一些实例中,WDS 214还可以存储应用216的标识符和/或持久WDN的对接会话标识符。对于由WDS 214来存储的持久WDN,将理解的是,在其它示例中,持久WDN和/或持久WDN配置数据可以等效地由计算设备200可访问的另一设备来存储,在各种示例中其可以包括附近的或远程的存储资源。
[0124] 在响应于创建无线对接环境()方法602的调用而创建并存储持久无线对接环境后,WDS  214向应用216返回持久WDN的句柄(“[无线对接环境(Wireless Docking Environment)]”)。如下面针对图10和图11所描述的,应用216可以使用该句柄来避免发现、选择和配置持久WDN所包含的外围功能。
[0125] 图8根据本公开内容中所描述的技术,描绘了针对用于发现可用的外围设备并使用所发现的外围设备来创建持久无线对接环境的示例性呼叫流程的呼叫流程图。在本示例中,应用216调用WDS 214的发现无线对接环境()(DiscoverWirelessDockingEnvironment())方法612,来指导WDS 214发现可用的外围设备并将这些外围设备作为无线对接环境返回给应用216。发现无线对接环境()方法612可以表示上面用于计算设备220的无线对接通信栈201的API 226的、表1中所列出的发现WDN()方法。
[0126] 作为响应,WDS 214结合打印服务206和ASP 204来执行服务发现过程,以发现由外围设备320提供的打印机外围功能。服务发现过程包括:从WDS 214到打印服务206的发现(Discover)消息614;由打印服务206调用的ASP 204的寻求服务()方法616;ASP 204和ASP 324之间的WFDS打印机发现过程618;搜索结果()方法620,用于向打印服务206返回寻求服务()方法616的结果;以及结果(Results)消息622,用于向WDS 214返回发现消息614的结果。服务发现过程可以大致类似于如针对图5A所示出的和所描述的发现消息402、寻求服务()消息404、WFDS打印机发现过程406、搜索结果()消息408以及结果消息410过程。
[0127] 在接收到结果消息622后,WDS 214可以通过创建并存储包括针对所发现的外围功能(在本示例中,打印机外围功能)的外围功能信息的持久WDN,来对接收到的外围功能信息进行存储。WDS 214然后可以使用消息624来向应用216返回持久WDN的句柄(“[无线对接环境]”)。如下面针对图10和图11所描述的,应用216可以使用该句柄来避免再次发现、选择并配置由持久WDN包含的外围功能。
[0128] 图9根据本公开内容中所描述的技术,示出了针对用于发现可用的外围设备并使用所发现的外围设备来创建持久无线对接环境的示例性呼叫流程的呼叫流程图。在本示例中,应用216调用WDS 214的发现无线对接环境()方法650,来指导WDS 214发现可用的外围设备并将这些外围设备作为无线对接环境返回给应用216。发现无线对接环境()方法650可以表示上面用于计算设备200的无线对接通信栈201的API 226的、表1中所列出的发现WDN()方法。此外,发现无线对接环境()方法650可以表示图8的发现无线对接环境()方法612,因为应用可以调用WDS 214的发现无线对接环境()方法612来并行地发现多个外围功能。
[0129] 作为响应,WDS 214结合Miracast主机210来执行服务发现过程,以发现由外围设备310提供的具有Miracast能力的外围功能。服务发现过程包括:从WDS 214到Miracast主机210的发现消息652;Miracast发现过程654;以及结果消息656,用于向WDS 214返回Discover消息656的结果。服务发现过程可以大致类似于如针对图6A所示出的和所描述的发现消息502、Miracast发现过程504以及结果消息506过程。
[0130] 在接收到结果消息656后,WDS 214可以通过创建并存储包括针对所发现的外围功能(在本示例中,具有Miracast能力的Miracast主机210)的外围功能信息的持久WDN,来对接收到的外围功能信息进行存储。WDS214然后可以使用消息658来向应用216返回持久WDN的句柄(“[无线对接环境]”)。在一些实例中,消息658可以表示图8的消息624。
[0131] 图10根据本公开内容中所描述的技术,描绘了针对用于使用包括一个或多个外围功能的、先前的持久无线对接环境的示例性呼叫流程的呼叫流程图。应用216可以从持久存储装置、从计算设备200的存储器中读取WDN的句柄,或者以其它方式获得WDN的句柄。为了请求使用WDN,应用216然后可以通过调用WDS  214的使用无线对接环境()(UseWirelessDockingEnvironment())方法630,来向WDS 214提供WDN的句柄。使用无线对接环境()方法630可以表示上面用于计算设备200的无线对接通信栈201的API 226的、表1中所列出的使用WDN()方法。
[0132] 作为响应,WDS 214针对与WDN句柄所标识的WDN相关联的外围功能,建立有效载荷连接。如针对图5B所描述的和所示出的,WDS 214使用ASP 204来与ASP 324建立ASP会话,并且建立用于应用216到打印服务326的有效载荷连接。WDS 214使用对接会话消息646来返回对接会话(“[对接会话]”),通过该对接会话,用户应用可以接合外围设备所提供的外围功能,其可以包括在用户应用216和外围设备320之间交换用于外围功能的数据。通过以此方式实现使用持久WDN,WDS 214可以与关联于持久WDN的外围功能重复地建立有效载荷连接,而不需要执行预关联服务发现过程和外围功能配置过程,因为原本通过这些过程来交换的信息已经存储在持久WDN中。WDS 214还可以避免向无线对接通信栈201的适当通信层重复地提供用于配置外围功能的配置凭证。
[0133] 图11根据本公开内容中所描述的技术,描绘了针对用于使用包括一个或多个外围功能的、先前的持久无线对接环境的示例性呼叫流程的呼叫流程图。应用216可以从持久存储装置、从计算设备200的存储器中读取WDN的句柄,或者以其它方式获得WDN的句柄。应用216然后可以通过调用WDS 214的使用无线对接环境()方法660,来向WDS 214提供WDN的句柄。使用无线对接环境()方法660可以表示上面用于计算设备200的无线对接通信栈201的API 226的、表1中所列出的使用WDN()方法。此外,使用无线对接环境()方法660可以表示图10的使用无线对接环境()方法630,因为持久WDN可以包括通过对WDS 214的使用无线对接环境()方法的单次调用可使用的多个不同的外围功能。
[0134] 作为响应,WDS 214针对与WDN句柄所标识的WDN相关联的外围功能,建立有效载荷连接。如针对图6B所描述的和所示出的,WDS 214建立用于应用216到Miracast宿314的Miracast连接。WDS 214使用对接会话消息670来返回对接会话(“[对接会话]”),通过该对接会话,用户应用可以接合外围设备所提供的外围功能,其可以包括在用户应用216和外围设备310之间交换用于外围功能的数据。通过以此方式实现使用持久WDN,WDS 214可以与关联于持久WDN的外围功能重复地建立有效载荷连接,而不需要执行预关联服务发现过程和外围功能配置过程,因为原本通过这些过程来交换的信息已经存储在持久WDN中。WDS 214还可以避免向无线对接通信栈201的适当通信层重复地提供用于配置外围功能的配置凭证。
[0135] 图12是示出了根据本公开内容中所描述的技术来进行操作的计算设备200的示例性实例的框图。图12仅示出了计算设备200的一个特定示例,并且在其它实例中可以使用计算设备200的其它示例。虽然为了示例的目的在图12中作为单独的计算设备200来示出,但是计算设备可以是包括一个或多个处理器或用于执行软件指令的其它适当的计算环境的任意组件或系统,并且例如不一定需要包括图12中所示出的一个或多个单元(例如,输入设备704、用户接口设备710、输出设备712)
[0136] 如图12的特定示例中所示出的,计算设备700包括一个或多个处理器702、一个或多个输入设备704、一个或多个通信单元706、一个或多个输出设备712、一个或多个存储设备708、用户接口(UI)设备710,以及无线通信模块726。在一个示例中,计算设备700还包括无线对接通信栈718、授权模块720、一个或多个应用722,以及可由计算设备700执行的操作系统716。组件702、704、706、708、710、712和726彼此(物理地、通信地和/或操作地)耦合以用于组件间通信。在一些示例中,通信信道714可以包括系统总线、网络连接、进程间通信数据结构、或用于传送数据的任何其它方法。举图12中的一个示例,可以通过一个或多个通信信道714来耦合组件702、704、706、708、710、712和726。无线对接通信栈718、授权模块720和一个或多个应用722也可以互相传送信息,以及与计算设备700中的其它组件传送信息。虽然作为单独的模块来示出,但是模块718或720中的任意一个或多个可以实现为应用722中的任意一个应用722的一部分。
[0137] 在一个示例中,处理器702被配置为实现功能和/或处理用于在计算设备700内执行的指令。例如,处理器702能够处理在存储设备708中存储的指令。处理器702的示例可以包括微处理器、控制器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程阵列(PFGA)或等效的分立或集成逻辑电路中的任意一个或多个。
[0138] 一个或多个存储设备708可以被配置为在操作期间存储计算设备700内的信息。在一些示例中,存储设备708被描述为计算机可读存储介质。在一些示例中,存储设备708是临时性存储器,意指存储设备708的主要目的不是长期存储。在一些示例中,存储设备708被描述为易失性存储器,意指当计算机关闭时存储设备708不保持所存储的内容。易失性存储器的示例包括随机存取存储器(RAM)、动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM),以及本领域公知的其它形式的易失性存储器。在一些示例中,存储设备708用于存储用于由处理器702执行的程序指令。在一个示例中,由在计算设备700上运行的软件或应用来使用存储设备708,以便在程序执行期间临时地存储信息。
[0139] 在一些示例中,存储设备708还包括一个或多个计算机可读存储介质。存储设备708可以被配置为与易失性存储器相比存储更大量的信息。存储设备708还可以被配置用于信息的长期存储。在一些示例中,存储设备708包括非易失性存储单元。这种非易失性存储单元的示例包括磁性硬盘、光盘、软盘、闪存、或者各种形式的电可编程存储器(EPROM)或电可擦除可编程(EEPROM)存储器。
[0140] 在一些示例中,计算设备700还包括一个或多个通信单元706。在一个示例中,计算设备700利用通信单元706来经由一个或多个网络(例如,一个或多个无线网络)与外部设备进行通信。通信单元706可以是网络接口卡(例如,以太网卡)、光收发机、射频收发机、或能够发送并接收信息的任意其它类型的设备。这种网络接口的其它示例可以包括蓝牙、7G和Wi-Fi无线计算设备以及通用串行总线(USB)。在一些示例中,计算设备700利用通信单元706与诸如服务器之类的外部设备无线地通信。
[0141] 此外,计算设备700可以包括无线通信模块726。如本文所描述的,无线通信模块726可以是被配置为与其它无线通信设备进行通信的、活动的硬件。这些无线通信设备可以根据蓝牙、超宽带无线、Wi-Fi或其它类似协议来进行操作。在一些示例中,无线通信模块
726可以是经由总线(例如,经由通用串行总线(USB)端口)与计算设备700耦合的外部硬件模块。在一些示例中,无线通信模块726还可以包括软件,在一些示例中,该软件可以独立于操作系统716,并且在一些其它示例中,该软件可以是操作系统716的子例程。
[0142] 在一个示例中,计算设备700还包括一个或多个输入设备704。在一些示例中,输入设备704被配置为通过触觉、音频或视频反馈从用户接收输入。输入设备704的示例包括存在敏感显示器、鼠标、键盘、语音响应系统、摄像机、麦克风或用于检测来自用户的命令的任意其它类型的设备。
[0143] 一个或多个输出设备712也可以被包括在计算设备700中。在一些示例中,输出设备712被配置为使用触觉、音频或视频刺激来向用户提供输出。在一个示例中,输出设备712包括存在敏感显示器、声卡、视频图形适配器卡、或者用于将信号转换为人或机器可理解的适当形式的任意其它类型的设备。输出设备712的另外的示例包括扬声器、阴极射线管(CRT)监视器、液晶显示器(LCD)、或者能够向用户生成智能输出的任意其它类型的设备。在一些示例中,用户接口(UI)设备710可以包括输入设备704和/或输出设备712的功能。
[0144] 计算设备700可以包括操作系统716。在一些示例中,操作系统716对计算设备700的组件的操作进行控制。例如,在一个示例中,操作系统716有助于无线对接通信栈718和应用722与处理器702、通信单元706、存储设备708、输入设备704、用户接口设备710、无线通信模块726以及输出设备712的通信。无线对接通信栈718和应用722还可以包括可由计算设备700执行的程序指令和/或数据。举一个示例,模块718、720和722可以包括以下的指令:这些指令使计算设备700执行本公开内容中所描述的操作和动作中的一个或多个操作和动作。
例如,无线对接通信栈718和应用722可以表示图3的无线对接通信栈201和应用216。
[0145] 在一个或多个示例中,可以用硬件、软件、固件或者其任意组合来实现所描述的功能。如果用软件实现,则所述功能可以作为一个或多个指令或代码存储在计算机可读介质上或者通过计算机可读介质进行传输,并且由基于硬件的处理单元来执行。计算机可读介质可以包括计算机可读存储介质或通信介质,其中计算机可读介质对应于诸如数据存储介质之类的有形介质,通信介质包括有助于将计算机程序从一个地方传输到另一地方(例如,根据通信协议)的任何介质。以此方式,计算机可读介质通常可以对应于:(1)非暂时性的、有形的计算机可读存储介质或者(2)诸如信号或载波波形之类的通信介质。数据存储介质可以是能够由一个或多个计算机或者一个或多个处理器存取来获取指令、代码和/或数据结构以用于实现本公开内容中所描述的技术的任何可用介质。计算机程序产品可以包括计算机可读介质。
[0146] 通过举例而非限制性的方式,这种计算机可读存储介质可以包括RAM、ROM、EEPROM、CD-ROM或其它光盘存储、磁盘存储或其它磁性存储设备、闪存,或能够用于以指令或数据结构形式存储期望的程序代码并可由计算机来存取的任何其它介质。此外,将任何连接适当地称为计算机可读介质。例如,如果使用同轴电缆、光纤光缆、双绞线、数字用户线(DSL)或诸如红外线、无线电和微波之类的无线技术从网站、服务器或者其它远程源传输指令,则同轴电缆、光纤光缆、双绞线、DSL或诸如红外线、无线电和微波之类的无线技术包括在所述介质的定义中。然而,应当理解的是,计算机可读存储介质和数据存储介质不包括连接、载波波形、信号或其它暂态介质,而是替代地针对非暂态、有形的存储介质。如本文所使用的,磁盘(disk)和光盘(disc)包括压缩光盘(CD)、激光光盘、光盘、数字多功能光盘(DVD)、软盘和蓝光光盘,其中磁盘通常磁性地复制数据,而光盘使用激光来光学地复制数据。上面各项的组合也应当包括在计算机可读介质的范围内。
[0147] 可以由一个或多个处理器(例如一个或多个数字信号处理器(DSP)、通用微处理器、专用集成电路(ASIC)、现场可编程逻辑阵列(PFGA),或其它等效的集成或分立逻辑电路)来执行指令。因此,如本文所使用的,术语“处理器”可以是指前述结构中的任意一个或者适合于实现本文所描述的技术的任何其它结构。此外,在一些方面中,本文所描述的功能可以在被配置用于编码和解码的专用硬件和/或软件模块中提供,或者并入到组合的编解码器中。此外,可以用一个或多个电路或逻辑单元来充分实现所述技术。
[0148] 可以用各种各样的设备或装置(包括无线手持装置、集成电路(IC)或者一组IC(例如,芯片组))来实现本公开内容的技术。在本公开内容中描述各种组件、模块或单元是为了对被配置为执行所公开的技术的设备的功能性方面进行强调,而不一定要求由不同的硬件单元来实现。更确切地说,如上面所描述的,各种单元可以组合到编解码器硬件单元中,或者由可互操作的硬件单元的集合(包括如上面所描述的一个或多个处理器)结合适当的软件和/或固件来提供。
[0149] 已描述了各种示例。这些示例和其它示例在所附权利要求书的范围内。
QQ群二维码
意见反馈