CN109219155A - 移动环境设备中的连接状态优化 - Google Patents
移动环境设备中的连接状态优化 Download PDFInfo
- Publication number
- CN109219155A CN109219155A CN201810689582.7A CN201810689582A CN109219155A CN 109219155 A CN109219155 A CN 109219155A CN 201810689582 A CN201810689582 A CN 201810689582A CN 109219155 A CN109219155 A CN 109219155A
- Authority
- CN
- China
- Prior art keywords
- equipment
- connection type
- connection
- network
- highest level
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000005457 optimization Methods 0.000 title abstract description 3
- 238000012545 processing Methods 0.000 claims abstract description 71
- 230000008859 change Effects 0.000 claims abstract description 68
- 238000000034 method Methods 0.000 claims abstract description 39
- 230000004044 response Effects 0.000 claims abstract description 25
- 230000001413 cellular effect Effects 0.000 claims description 8
- 230000000295 complement effect Effects 0.000 claims description 7
- 238000001514 detection method Methods 0.000 abstract description 7
- 238000004891 communication Methods 0.000 description 20
- 230000015654 memory Effects 0.000 description 19
- 238000007726 management method Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000004422 calculation algorithm Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004590 computer program Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 235000013399 edible fruits Nutrition 0.000 description 2
- 230000005611 electricity Effects 0.000 description 2
- 238000007689 inspection Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 238000004886 process control Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 238000004851 dishwashing Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000003973 irrigation Methods 0.000 description 1
- 230000002262 irrigation Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012805 post-processing Methods 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
- 238000005406 washing Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W48/00—Access restriction; Network selection; Access point selection
- H04W48/18—Selecting a network or a communication service
-
- 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/22—Alternate routing
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/14—Reselecting a network or an air interface
- H04W36/144—Reselecting a network or an air interface over a different radio air interface technology
- H04W36/1446—Reselecting a network or an air interface over a different radio air interface technology wherein at least one of the networks is unlicensed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/24—Reselection being triggered by specific parameters
- H04W36/30—Reselection being triggered by specific parameters by measured or perceived connection quality data
- H04W36/304—Reselection being triggered by specific parameters by measured or perceived connection quality data due to measured or perceived resources with higher communication quality
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W36/00—Hand-off or reselection arrangements
- H04W36/24—Reselection being triggered by specific parameters
- H04W36/30—Reselection being triggered by specific parameters by measured or perceived connection quality data
- H04W36/305—Handover due to radio link failure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/24—Connectivity information management, e.g. connectivity discovery or connectivity update
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W40/00—Communication routing or communication path finding
- H04W40/34—Modification of an existing route
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/20—Manipulation of established connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/20—Manipulation of established connections
- H04W76/25—Maintenance of established connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/54—Store-and-forward switching systems
- H04L12/56—Packet switching systems
- H04L12/5691—Access to open networks; Ingress point selection, e.g. ISP selection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/10—Connection setup
- H04W76/15—Setup of multiple wireless link connections
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
- H04W88/06—Terminal 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)
- Telephonic Communication Services (AREA)
- Telephone Function (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
本发明涉及移动环境设备中的连接状态优化。一种方法,包括通过第一设备的处理设备与第二设备建立第一连接。所述第一连接包括第一连接类型。所述方法包括检测网络改变事件。所述网络改变事件包括所述第一连接类型和第二连接类型中的至少一者的连接状态的改变。所述方法包括响应于检测到所述网络改变事件,确定具有最高等级的可用连接类型。响应于确定所述具有最高等级的可用连接类型是所述第二连接类型或第三连接类型,所述方法包括与所述第二设备建立第二连接。所述第二连接包括所述具有最高等级的可用连接类型。所述方法包括使用所述具有最高等级的可用连接类型经由所述第二连接与所述第二设备进行通信。
Description
背景技术
将具有嵌入式***的多种设备连接到计算设备有多种方式。例如,具有嵌入式***(例如智能电器)的设备可以通过局域网(LAN)、蓝牙、ZigBee等直接连接到计算设备(例如,智能手机)。此外,具有嵌入式***的设备可以通过在基于云的环境中可用的广域网(WAN)服务间接连接到计算设备。通常,一旦在具有嵌入式***的设备和计算设备之间建立连接,连接就不会改变为不同的连接。然而,设备之间建立的一些连接可能包括与延迟、带宽、安全性等有关的一个或多个缺点。
附图说明
现在将参考示出本申请的示例实施方式的附图,并且其中:
图1是描绘包括可远程访问的嵌入式***的示例网络架构的框图;
图2A是具有设备管理器应用的示例计算设备的框图;
图2B是示例设备管理器应用的框图;
图3是响应于网络改变事件而建立到设备的连接的示例方法的流程图,其中连接包括具有最高等级的可用连接类型;
图4是实例化用于设备的虚拟表示的接收器的示例方法的流程图;
图5是响应于附加的网络改变事件而建立到设备的连接的示例方法的流程图,其中连接包括具有最高等级的可用连接类型;
图6是管理到设备的两个连接的示例方法的流程图,其中连接具有不同的连接类型;和
图7示出了计算设备的一个实施方式的框图。
具体实施方式
实施方式旨在自动识别将计算设备连接到具有嵌入式***的设备的最佳手段并使用所识别的手段建立连接。在一些实施方式中,计算设备可以是移动设备(例如,智能电话),并且可以在移动环境中进行到设备的连接(例如,可以是无线连接)。计算设备可以包括远程控制应用和设备管理器应用。远程控制应用可用于从计算设备监视和/或控制设备。与设备相关联的远程控制应用的实例可以被包括在设备管理器应用中。设备管理器应用可以生成计算设备连接到的每个设备的虚拟表示。虚拟表示可以访问包括在用于设备的远程控制应用中的多种设备数据和/或操作。设备管理器应用可以使用设备的虚拟表示以自动控制建立哪个连接并将连接用于计算设备与设备之间的通信。
在一些实施方式中,运行在计算设备上的设备管理器应用可以动态地建立并使用与具有嵌入式***的设备的连接,其中连接包括具有最高等级的可用连接类型。设备管理器应用能够检测针对用于连接到计算设备的设备的每个可用连接类型的网络改变事件。网络改变事件可能指的是用于连接的设备的连接类型的连接状态改变。连接类型可以包括局域网(LAN)会话、广域网(WAN)可访问服务(例如,网络服务或“云”服务)、蜂窝网络、或等。一旦检测到网络改变事件,设备管理器应用可以确定具有最高等级的可用连接类型。设备管理器应用可以与设备建立新连接,其中新连接具有最高等级的可用连接类型。可替代地,如果具有最高等级的连接类型对应于当前连接,则可以维持当前连接。
应该理解的是,设备管理器应用可以管理计算设备与各自具有彼此独立的不同连接类型的多个设备之间的连接。此外,在某些时间可能有多个(例如,2、3、4、5、6等)用于每个设备的可用连接类型。相应地,在一些实施方式中,设备管理器应用可以为每个设备维持连接类型等级列表。当确定选择哪个连接类型以响应于指示多个连接类型可用的网络改变事件而建立到设备的新连接时,可以使用等级列表。
为了说明,计算设备可以是包括在用户的个人(例如口袋)上的智能手机,并且可以移出用于连接到设备(例如电器)的LAN的范围。设备管理器应用可以接收指示LAN不再可用但WAN可访问服务可能可用的一个或多个网络改变事件。设备管理器应用可以检查等级列表以确定WAN可访问服务具有最高的可用连接类型等级并且可以通过WAN可访问服务自动建立与设备的连接。
当智能手机再次进入LAN范围时,设备管理器应用可以检测指示LAN可用并且WAN可访问服务也可用的一个或多个网络改变事件。设备管理器应用可检查等级列表并确定LAN具有最高等级并通过LAN自动与设备连接。应该理解,当具有嵌入式***的设备被移动时,可以使用相同的技术。例如,可穿戴设备(诸如智能手表)可以离开LAN范围,并且智能手机可以检测指示LAN不可用并且蓝牙连接类型可用的一个或多个网络改变事件。在这种情况下,智能手机可以使用蓝牙连接类型建立与智能手表的连接(如果其为最高等级的可用连接类型)。
由于一个或多个特征(例如,延迟、带宽、安全性等),一些连接类型的等级可以高于其他选项。例如,直接LAN连接可以具有高等级,这是因为它可以在远程控制应用处接收用户命令和由设备执行这些命令之间提供减少的延迟。通过WAN可访问服务的间接连接的等级可能低于直接LAN连接,这是因为WAN可访问服务不是直接连接类型。因此,鉴于网络改变事件和建立所识别的连接类型,自动识别最佳可用连接类型增强了用户体验、最小化延迟、最大化安全性等。
现在参考附图,图1是描绘示例网络架构100的框图,网络架构100包括远程可访问的嵌入式***和与嵌入式***交互的计算设备。网络架构100包括连接到局域网(LAN)165的多个设备135、140、145和计算设备105-110。设备135-145是具有嵌入式***150-155、160的设备,并且可以包括电器,例如冰箱、烤箱、洗衣机、干燥器、洗碗机、恒温器、警报器、空调、电视机、收音机、接收器、放大器等。设备135-145还可以包括消费类设备,诸如数字手表、音乐播放器、游戏控制台、数码相机、打印机等。设备135-145的其它示例包括固定装置,诸如HVAC***、交通信号灯、工厂控制器、标牌、电子广告牌、喷水灭火***、和灌溉控制***以及医疗设备。设备135-145也可以是包括嵌入式***150、155、160的任何其他类型的设备。
嵌入式***150-160是嵌入到另一设备135-145中作为设备135-145的一个部件的一类计算设备。设备135-145通常还包括可以与嵌入式***交互的其他硬件、电气和/或机械部件。嵌入式***150-160通常被配置为处理特定的任务或任务组,对于特定的任务或任务组嵌入式***150-160可以被优化。因此,与通用计算设备相比,嵌入式***150-160可具有最小的成本和尺寸。
嵌入式***150-160可以各自包括通信模块(未示出),通信模块使得嵌入式***150-160(并且因此使得设备135-145)能够连接到LAN 165。通信模块可以被配置为管理安全性、管理会话、管理与外部设备的通信等。在一个实施方式中,通信模块被配置为使用进行通信。可替代地,通信模块可以被配置为通过低功率无线区域网络(6LowPAN)、电力线通信(PLC)、以太网(例如,10兆字节(Mb),100Mb和/或1吉字节(Gb)以太网)或其他通信协议使用蓝牙、Zigbee、因特网协议版本6进行通信。
LAN 165可以包括使得连接到LAN 165的多个设备(例如,设备135-145,计算设备110,计算设备105等)之间的通信能够进行的路由器、交换机、桥接器或其他网络设备(未示出)。网络设备可以使用例如以太网端口、通用串行总线(USB)端口和/或端口提供到LAN的有线连接。网络设备可以使用例如WiFi收发器附加地提供到LAN的无线连接。
一些嵌入式***150可能不支持由网络设备所支持的任何通信类型。例如,设备135可以支持Zigbee,并且设备140可以支持蓝牙。为了使这样的设备能够连接到LAN 165,LAN 165可以包括网关设备(未示出),网关设备通过由网络设备所支持的连接类型之一(例如,通过以太网或WiFi)连接到网络设备。网关设备可以附加地支持其他通信协议,诸如Zigbee、PLC和/或蓝牙,并且可以在支持的通信协议之间转换。相应地,一些设备135-145可以通过网关设备连接到LAN。
LAN 165连接到广域网(WAN)170。WAN 170可以是专用WAN(例如内联网)或公共WAN(诸如因特网),或者可以包括专用和公共网络的组合。LAN 165可以包括提供到WAN 170的连接的路由器和/或调制解调器(例如电缆调制解调器、直接串行链路(DSL)调制解调器、全球微波接入互操作性调制解调器、长期演进调制解调器等)。
WAN 170可以包括或连接到服务器计算设备125。服务器计算设备125可以包括物理机和/或由物理机托管的虚拟机。物理机可以是机架式服务器、台式计算机或其他计算设备。在一个实施方式中,服务器计算设备125包括由云提供商***管理和提供的虚拟机。云服务提供商提供的每个虚拟机可以托管在配置为云的一部分的物理机上。这些物理机通常位于数据中心。云提供商***和云可以作为基础设施即服务(IaaS)层来提供。这种云计算的一个例子是 弹性计算云
服务器计算设备125托管WAN可访问服务130,WAN可访问服务130可以是基于web的服务和/或云服务(例如,托管在云计算平台中的基于web的服务)。WAN可访问服务130可以维持与一个或多个嵌入式***150-160的会话(例如,通过连续或间歇连接)。替选地,WAN可访问服务130可以周期性地建立与嵌入式***150-160的会话。经由与嵌入式***150-160的会话,WAN可访问服务130可向嵌入式***发出命令和/或从嵌入式***接收状态更新。命令可以是用于改变可由嵌入式***控制的设备的一个或多个参数的状态的命令。例如,如果嵌入式***嵌入在加热器或恒温器中,则命令可以包括增加或降低温度的命令。在另一个示例中,如果嵌入式***嵌入在家庭自动化***中,则命令可以包括打开灯或关闭灯的命令。
从嵌入式***150-160接收到的状态更新可以识别包括嵌入式***的设备135-145的一些或全部可检测参数的值或状态。这些值或状态可以基于直接的用户与设备的交互而改变。这些值或状态还可以响应于由WAN可访问服务130和/或由计算设备105、110发送到嵌入式***150-160的命令而改变。通过维持或定期建立与嵌入式***150-160的会话,WAN可访问服务130可以维持关于设备135-145的状态的最新信息。
计算设备105、110可以包括便携式设备,诸如电子书阅读器、便携式数字助理、移动电话、笔记本计算机、便携式媒体播放器、平板电脑、相机、摄像机、上网本、笔记本等。计算设备105、110还可以包括传统固定设备,诸如台式计算机、游戏控制台、数字视频光盘(DVD)播放器、媒体中心等。
根据在任意特定时间点哪个可用连接类型最高等级,计算设备105、110可以经由WAN 170(例如经由WAN可访问服务130)、经由LAN 165、经由蜂窝网络、经由另一WAN或LAN、经由蓝牙、经由Zigbee、或者经由任何合适的连接类型连接到嵌入式***150-160。考虑计算设备105、110接收到的网络改变事件,连接可以随着可用连接类型改变而动态地改变。例如,当计算设备105、110进入LAN 165附近并足以和与LAN 165相关联的网络设备交换数据并且LAN 165被等级划分为最高可用连接类型时,计算设备105、110可以连接到LAN 165。在这种情况下,计算设备105、110可以使用LAN 165与设备135-145通信。
计算设备105、110各自包括远程控制应用115、120和设备管理器应用122、124。远程控制应用115、120被配置为通过设备的嵌入式***150-160与一个或多个设备135-145接口连接和/或控制一个或多个设备135-145。在一个实施方式中,计算设备105、110包括用于嵌入式***150-160中的每一者的单独的远程控制应用。可替代地,计算设备105、110可包括能够与用于多个不同设备135-145的嵌入式***150-160通信并控制该嵌入式***150-160的单个远程控制应用。
设备管理器应用122、124可以维持用于连接的设备135-145的相应的远程控制应用115、124中的每一者的示例。这些示例可以包括连接的设备135-145的虚拟表示。这样,虚拟表示可以包括可以由设备管理器应用122、124操纵的连接的设备135-145的某些设备数据和/或状态。一个参数是到实际设备135-145的虚拟连接状态(例如,连接)。当某些(例如最高等级的)连接类型变得可用或不可用时,设备管理器应用可以改变到设备135-145的连接状态。在一个实施方式中,虚拟设备是维持所支持的连接类型的状态的简单的虚拟设备,但其不包括设备135-145的其他信息。
在一个实施方式中,设备管理器应用122、124中的设备135-145的虚拟表示还可以包括多个异步接收器,异步接收器是应用模块,每个应用模块被配置为监听不同的相应网络改变事件和/或监听与特定连接类型相关联的网络改变事件。计算设备105可以包括许多无线电(例如,蜂窝、LAN、蓝牙等)。根据由连接的设备135-145和/或计算设备105-110支持的连接类型,设备135-145的每个虚拟表示可以包括不同的异步接收器,异步接收器监听来自支持的连接类型的无线电的网络改变事件。
当计算设备105-110接收到任何网络改变事件时,设备管理器应用122、124可以确定用于连接到设备135-145的最高等级的连接类型。这可以包括确定包括在网络改变事件中的连接类型是否是用于设备135-145的最高等级的可用连接类型。设备管理器应用122、124可以维持用于每个设备135-145的连接类型的等级列表,并且可以识别等级列表中的可用连接类型。在一些实施方式中,连接类型的等级列表包括具有最高等级的LAN、具有第二高等级的蓝牙连接、具有第三高等级的到WAN可访问服务130的WAN连接(例如,WebSocket、HTTP)、以及具有第四高等级的蜂窝连接的预配置等级划分(ranking)。应该理解,连接类型可以按多种不同的顺序分等级。
如果包括在网络改变事件中的连接类型与等级列表中的最高等级可用连接类型相匹配并且网络改变事件是连接类型的可用性的指示,则设备管理器应用122、124可以使用变得可用的最高等级可用连接类型建立与设备的连接。如果包括在网络改变事件中的连接类型不是最高等级的可用连接类型,则设备管理器应用122、124可以维持与设备的当前连接。如果包括在网络改变事件中的连接类型匹配等级列表中的最高等级的可用连接类型并且网络改变事件是连接类型的可用性丢失的指示,则设备管理器应用122、124可以使用下一个最高等级的可用连接类型与设备建立连接,因为先前等级划分的最高的连接类型变为不可用。
在一些情况下,当WAN 170是最高等级的可用连接时,计算设备105、110可以选择经由WAN 170连接到嵌入式***150-160。当计算设备105、110连接到WAN 170时,设备管理器应用122、124可以为每个连接的设备135-145(例如,经由设备的虚拟表示)建立与WAN可访问服务130的会话。WAN可访问服务130可以使用远程控制应用115和120提供用于间接控制和监视设备135-140的接口。如果用户希望改变设备的状态,则用户可以经由远程控制应用发出命令,并且该命令可以被发送到WAN可访问服务130。然后WAN可访问服务130可以将命令转发到适当的嵌入式***。另外,当WAN可访问服务130从嵌入式***接收到用于设备的更新状态信息时,WAN可访问服务130可以将状态信息转发到远程控制应用。这可以使得用户能够从他们可以访问因特网的任何地方连接到设备135-145并控制设备135-145。
当计算设备105、110或设备135-145进入特定连接类型(例如,LAN 165)的范围时,设备管理器应用122、124可以检测一个或多个网络改变事件,网络改变事件包括该特定连接类型的可用性。设备管理器应用122、124可以确定最高等级的可用连接类型,并确定最高等级的可用连接类型是否与包括在网络改变事件中的连接类型相同。如果连接类型匹配,则设备管理器应用122、124可以使用变为可用的特定连接类型来建立到一个或多个嵌入式***150-160的新连接。在一些实施方式中,计算设备105、110可以维持WAN连接,同时还经由另一种连接类型(例如,经由LAN 165、蓝牙、Zigbee、蜂窝网络等)连接到嵌入式***150-160。因此,在其他连接故障的情况下,计算设备105、110可以经由WAN连接维持通信。此外,当计算设备105、110经由其他连接类型165连接时,即使在没有到WAN 170的连接的情况下,计算设备105、110也可以维持与一个或多个嵌入式***150-160的会话并且控制一个或多个嵌入式***150-160(例如,如果LAN 165失去宽带互联网连接)。计算设备105、110还可以使用连接类型的其他组合(例如,蓝牙和LAN、Zigbee和LAN等)来维持多个连接。
在一个示例中,计算设备105被示出为最初连接到WAN 170,然后移动108到计算设备105可以连接到LAN 165的区域。设备管理器应用122可以检测指示LAN 165是用于一个或多个设备135-145的可用连接类型的网络改变事件。响应于设备管理器应用122确定LAN165是用于一个或多个设备135-145的最高等级的可用连接类型,设备管理器应用122可以经由LAN 165建立到设备135-145的连接,即使计算设备105已经经由WAN 170连接到设备。一旦在设备管理器应用122和嵌入式***之间建立了直接LAN会话,则远程控制应用115可以将命令直接发送到嵌入式***并且直接从嵌入式***接收状态更新而不使用WAN可访问服务130作为中介。这种直接连接在远程控制应用115和嵌入式***150-160之间提供了低延迟(例如,接近即时)的通信。因此,嵌入式***可以响应并执行用户命令而不会有任何用户可感知的延迟。
当计算设备105、110与LAN 165断开连接时,设备管理器应用122、124可以接收一个或多个网络改变事件。例如,网络改变事件可以指示LAN 165不再可用。设备管理器应用122、124可以确定新的最高等级的可用连接类型(例如,WAN 170)。设备管理器应用122、124可以经由新的最高等级的连接类型(例如,经由WAN 170)自动建立与嵌入式***150-160的连接。例如,如果计算设备是移动电话,那么计算设备可以使用WiFi无线电连接到LAN 165。一旦计算设备超出LAN 165的范围,则计算设备可以通过与无线运营商***的连接(例如,通过全球移动通信***(GSM)、码分多址(CDMA)、宽带码分多址(WCDMA)、时分多址(TDMA)、通用移动电信***(UMTS)、长期演进(LTE)、全球微波接入互操作性(WiMAX)、或其他无线通信协议连接)连接到WAN 170和WAN可访问服务130。因此,设备管理器应用122可以根据网络改变事件和最高等级的可用连接类型自动选择用于与嵌入式***150-160进行通信的最佳连接类型,然后为所确定的连接类型建立适当的会话。这种连接的建立和连接与会话之间的转换可以由设备管理器应用122、124自动执行(不需要用户交互),并且对于用户和/或远程控制应用115、120可以是未察觉的。
图2A是根据一个实施方式的具有远程控制应用210和设备管理器应用215的示例计算设备205的框图。计算设备可以包括任何前述类型的计算设备,并且在一个实施方式中对应于图1的计算设备105、110。在一个实施方式中,计算设备205包括网络适配器220、处理设备225、总线230、以及存储器235。网络适配器220、处理设备225、和存储器235可以经由总线230可通信地联接。存储器235可以存储数据和计算机指令,计算机指令在由处理设备225执行时使处理设备225执行一个或多个操作。计算设备205还可以包括在此未示出的许多其他部件。这些附加部件的示例可以包括显示器、电源、输入/输出端口、发光二极管(LED)、熔丝、数模(D/A)转换器、模数(A/D)转换器、现场可编程门阵列(FPGA)、专用集成电路(ASIC)等。
处理设备可以是本文讨论的任何类型的处理设备(例如,参考图7)。存储器235可以包括随机存取存储器(RAM)、只读存储器(ROM)、一次可编程(OTP)ROM、闪存(例如,NOR闪存)、或其他类型的存储器。存储器235可以另外包括与远程控制应用210相关联的设备的设备状态。设备状态可以包括当前设备状态、历史设备状态、和/或在特定时段对设备状态所做的改变。
网络适配器220可以是有线网络适配器(例如,以太网适配器)或无线网络适配器(例如,WiFi适配器或其他无线局域网(WLAN)适配器)。网络适配器220还可以被配置为使用Zigbee、PLC、蓝牙、6LowPAN、或其他通信协议来提供到网络或其他设备的连接。网络适配器220可以接收来自WAN可访问服务和/或远程控制应用的通知和其他消息。网络适配器220可以附加地将输出消息发送到WAN可访问服务和/或远程控制应用。
网络适配器220可以包括一个或多个无线电240。另外或可替代地,计算设备205可以包括多个不同的网络适配器,其中每个网络适配器220支持特定的连接类型(或多个连接类型)。对于计算设备205所支持的每种连接类型可以有单独的无线电。例如,无线电240可以包括蓝牙无线电、蜂窝无线电、WiFi无线电、WAN无线电、Zigbee无线电、或者用于由计算设备205支持的连接类型的任何合适的无线电。每个无线电可以接收根据与相应无线电相关联的连接类型的通信协议格式化的不同消息。这些消息可能是或包括网络改变事件。如下所述,设备管理器应用215可以解析不同的消息以识别网络改变事件的连接类型。可替代地,可根据从其接收消息的网络适配器事先知道连接类型,并且可使用已知的连接类型和/或网络适配器220来确定解析规则以解析消息。
远程控制应用210和设备管理器应用215可以是由存储在存储器235中的计算机指令实现的程序、插件、或库。处理设备225可以执行远程控制应用210和设备管理器应用215。远程控制应用210和设备管理器应用215可被编程为在多种操作***上运行,诸如操作***、操作***、操作***、操作***和操作***等。远程控制应用210和/或设备管理器应用215也可以被配置为固件,或配置为硬件,或配置为软件、固件和/或硬件的某种组合。
在一个实施方式中,远程控制应用210和/或设备管理器应用215可以包括图形用户界面(GUI)245、250。远程控制应用210的GUI 245可以使得用户能够以直观和用户友好的方式与连接的设备交互并且控制连接的设备。远程控制应用210的GUI 245可以提供表示设备的不同参数的状态和值图形图标、视觉指示符、按钮、开关(toggle)、滑动器等以及用于改变这些状态和值的控件的集合。用户可以与GUI 245交互以使远程控制应用210生成用于GUI 245中表示的设备的通知、命令、属性更新和其他消息。设备管理器应用215的GUI 250可以使得用户能够配置某些设备的连接类型和/或能够为连接类型分等级。此外,设备管理器应用215的GUI 250可以显示连接到计算设备205的每个设备以及在与每个设备的一个或多个连接中使用的一个或多个当前连接类型。
远程控制应用210还可以访问设备数据,设备数据可以包括远程控制应用210注册的设备的设备ID、设备的最后已知IP地址和设备的最后已知设备状态。在一个实施方式中,设备ID包括嵌入式***的介质访问控制(MAC)地址。可替代地,设备ID可以是分配给与MAC地址分开的嵌入式***(或嵌入式***中的通信模块)的唯一标识符。
当远程控制应用210被登录到向包括嵌入式***的设备注册的用户帐户时,设备255的虚拟表示可以由设备管理器应用215生成。设备255的虚拟表示可以包括关于远程控制应用210可访问的连接的设备的设备数据。附加地或可替代地,设备255的虚拟表示可以包括到与虚拟表示相关联的设备的一个或多个连接260。一个或多个连接260中的每一者可以包括连接类型指示符265。连接类型指示符可以针对特定连接类型指示该连接类型对于连接到设备是可用还是不可用。
设备255的虚拟表示还可以包括一个或多个接收器270。接收器270可以是异步的,因为它仅检测输入消息。包括在设备255的虚拟表示中的每个接收器270可以被配置为监听经由不同无线电240接收到的特定网络改变事件。也就是说,可以设置单独的接收器270来监听针对由连接的设备支持的每个连接类型的网络改变事件。
设备管理器应用215还可以包括连接选择器275,连接选择器275选择特定连接类型并且经由设备255的虚拟表示来与连接的设备建立具有该连接类型的连接260。在一个实施方式中,接收器270可以检测由无线电240接收的网络改变事件,并且连接选择器275可以识别在连接类型列表280中具有最高等级的可用连接类型。然后,连接选择器275可以建立与设备的连接,其中连接260包括具有最高等级的可用连接类型。计算设备205可以使用适当的网络适配器220并使用所选择的连接类型与设备进行通信。
随着运行设备管理器应用215的计算设备205改变位置或连接到计算设备205的设备改变位置,接收器270可以检测针对不同连接类型的网络改变事件。例如,如果LAN或WAN发生网络故障、如果计算设备205的特定无线电240被关闭、如果流媒体服务变得不可用、如果另一个WAN可访问服务变得不可用等,网络变化事件也可能发生。例如,如果已经为建立的连接260选择了LAN连接类型并且更好的连接类型(例如,蓝牙)变得可用,则接收器270可以接收指示这样的情况的一个或多个网络改变事件。连接选择器275可以确定与网络改变事件相关联的更好的连接类型现在是连接类型列表280中最高等级的可用连接类型并且利用更好连接类型建立新连接。
如果连接选择器275选择LAN连接类型用于与设备通信,则设备管理器应用215建立与设备的嵌入式***的直接LAN连接和会话。如果WAN连接类型已经被连接选择器275选择用于与设备通信,则可以建立到WAN可访问服务的连接260。计算设备205可以向WAN可访问服务提供用户和/或远程控制应用210的证书。响应于接收到适当的证书,WAN可访问服务可以建立与设备管理器应用215的会话。在一个实施方式中,安全套接字层(SSL)或其他安全协议用于安全会话。一旦会话建立,WAN可访问服务可以向远程控制应用210提供设备的更新的IP地址和/或设备状态。
设备管理器应用215可以具有其自己的超文本传输协议(HTTP)会话并且可以接收多个设备(例如,用户拥有的每个设备)的更新。HTTP会话可以是特定连接类型(例如,提供信息流)。此外,例如,如果一个远程控制应用210正在控制两个设备,则如果设备是不同类型的,那么设备管理器应用215可以包括用于特定连接类型(例如,LAN)的两个不同接收器270。如果设备具有相同类型,则可以为两个设备都实例化单个接收器270。
图2B是示例设备管理器应用215的框图。设备管理器应用215可以由计算设备205的处理设备执行。如上所述,设备管理器应用215包括连接选择器275,连接选择器275为每个设备选择连接类型列表280中最高等级的可用连接类型。尽管描绘了一个连接类型列表280,但应该理解的是,可以为连接到计算设备的每个不同设备维持单独的连接类型列表280。列表可以包括由按等级排序的特定设备所支持的连接类型。例如,一个设备可以具有LAN(最高等级)、蓝牙(第二高等级)和WAN(第三高等级)的等级列表。另一个设备可以具有Zigbee(最高等级)、LAN(第二高等级)的等级列表。
另外,设备管理器应用215包括设备275的虚拟表示。尽管描绘了设备275的一个虚拟表示,但应该理解的是,可以为连接到计算设备205的每个设备生成和维持单独的虚拟表示。设备管理器应用205可以使用设备275的虚拟表示来管理计算设备205与由虚拟表示表示的物理设备之间的连接260。
在一个实施方式中,对于设备支持的每个不同连接类型,可以实例化任何合适数量的接收器270A、270B、270N。接收器270A、270B、270N可以与设备275的虚拟表示相关联。例如,接收器270A可以被配置为检测针对第一连接类型(例如,LAN)的网络改变事件,接收器270B可以被配置为检测针对第二连接类型(例如,WAN)的网络改变事件,并且接收器270N可以被配置为检测针对第N连接类型(例如,蓝牙)的网络改变事件。
设备275的虚拟表示还可以包括任何合适数量的相关联的连接类型指示符265A、265B、265N。连接类型指示符265A、265B、265N可以针对特定连接类型指示该连接类型对于连接到设备是可用还是不可用。例如,连接类型指示符265A可以指示第一连接类型(例如,LAN)可用或不可用,指示符265B可以指示第二连接类型(例如,WAN)可用或不可用,并且指示符265N可以指示第N连接类型(例如Zigbee)可用或不可用。可以根据由接收器270A、270B、270N检测到的网络改变事件来动态地更新连接类型指示符265A、265B、265N。随着连接类型指示符265A、265B、265N被更新并且连接类型变得可用或不可用,连接选择器275可以检查连接类型列表280以确定选择哪个连接类型并与设备建立连接。
设备管理器应用215和可用连接类型对于远程控制应用210是未察觉的。远程控制应用210不知道计算设备205如何连接到远程设备。此外,远程控制应用210也不知道何时断开现有连接并建立具有不同连接类型的新连接。在一个实施方式中,远程控制应用210可以仅知道是否存在到与远程控制应用210相关联的设备的连接。
图3-6是示出与建立与嵌入式***的连接以及与嵌入式***进行通信有关的多种方法的流程图。方法可以由处理逻辑来执行,处理逻辑可以包括硬件(例如,电路、专用逻辑、可编程逻辑、微码等)、软件(例如,在处理设备上运行以执行硬件模拟的指令)、或其组合。在一个实施方式中,这些方法的至少一些操作由执行设备管理器应用(诸如图2的设备管理器应用215)的计算设备执行。
图3是响应于网络改变事件而建立到设备的连接的示例方法300的流程图,其中连接包括具有最高等级的可用连接类型。在块305处,处理逻辑建立与设备的第一连接。设备可以包括建立连接的嵌入式***。第一连接可以包括第一连接类型(例如,LAN、WAN、蓝牙、Zigbee等)。在一些实施方式中,一旦建立了第一连接,处理逻辑就可以经由第一连接与第二设备通信。下面参考图4阐述生成设备的虚拟表示并实例化接收器以管理与设备的连接的一个实施方式。
在块310处,处理逻辑检测网络改变事件。网络改变事件包括第一连接类型和第二连接类型中的至少一者(例如,LAN、WAN、蓝牙、Zigbee)的连接状态的改变。第二连接类型与第一连接类型不同。连接状态的改变可以包括第二连接类型变得可用或第一连接类型变得不可用。在一些实施方式中,网络改变事件可以包括用于与连接类型相关联的通信协议的特定消息格式。
在块315处,响应于检测到网络改变事件,处理逻辑确定具有最高等级的可用连接类型。处理逻辑可以使用对由连接的设备所支持的连接类型分等级的连接类型列表210。应该注意的是,设备管理器应用215所维持的不同设备可能有不同的列表。处理逻辑可以识别一个或多个可用连接类型在连接类型列表中的位置以识别具有最高等级的可用连接类型。包括在列表中的连接类型可以包括LAN、蓝牙、WAN、Zigbee、蜂窝、流媒体服务等。
在块320处,处理逻辑确定具有最高等级的可用连接类型是否与到设备的当前连接的连接类型相同。例如,处理逻辑可以确定检测到的网络改变事件中所包括的连接类型是否是最高等级的可用连接类型。如果当前连接具有为最高等级的连接类型的连接类型(例如,包括在网络改变事件中的连接类型不同于具有最高等级的可用连接类型),则在块325处,处理逻辑维持第一连接。此外,在块330处,处理逻辑使用第一连接类型经由第一连接与设备进行通信。
如果在块320处确定当前连接类型不是最高等级的可用连接类型(例如,与网络改变事件相关联的连接类型与具有最高等级的可用连接类型相同),则在块335处,处理逻辑以具有最高等级的可用连接类型与设备建立第二连接。例如,如果网络改变事件指示具有比与第一连接相关联的连接类型更高等级的连接类型的可用性,则方法可以前进到块335。参考图6在下文中阐述在建立第二连接之后处理第一连接的一个实施方式。此外,在块340处,处理逻辑使用具有最高等级的可用连接类型经由第二连接与设备进行通信。参考图5在下文中阐述检测附加网络改变事件和建立具有最高等级可用连接类型的连接的一个实施方式。
图4是实例化用于设备的虚拟表示的接收器的示例方法400的流程图。在块405处,处理逻辑可以生成连接的设备(例如,具有连接到WAN可访问服务的嵌入式***的设备)的虚拟表示。虚拟表示可以包括一组连接类型指示符。每个连接类型指示符可以针对特定连接类型指示该连接类型对于连接到设备是可用连接类型还是不可用连接类型。每个连接类型指示符可以与不同的连接类型相关联。此外,连接的设备的虚拟表示可以包括用于连接的设备的设备状态和任何合适的设备数据。另外,连接的设备的虚拟表示可以指示用于到连接的设备的当前活动连接的特定连接类型。
在块410处,处理逻辑可以实例化与虚拟表示相关联的一个或多个接收器。每个接收器都与连接类型相关联,并且用于检测与相应连接类型相关联的网络改变事件。接收器可以是异步接收器。可以经由一个或多个网络适配器220的一个或多个无线电240接收网络改变事件。一旦被实例化,接收器可以监听无线电直到检测到网络改变事件,并且可以继续监听设备的虚拟表示的生命周期。
在块415处,处理逻辑经由接收器检测与相应的关联连接类型相关联的网络改变事件。处理逻辑可以继续确定网络改变事件中的连接类型是否是最高等级的可用连接类型,并且可以以最高等级的可用连接类型建立连接,如上文中参考图3所解释的。
图5是响应于在初始网络改变事件之后发生的附加网络改变事件而建立到设备的连接的示例方法500的流程图,其中连接包括具有最高等级的可用连接类型。方法500可以在建立第一连接和/或第二连接期间或之后发生,如上文中参考图3所解释的。
在块505处,处理逻辑检测附加网络改变事件。设备的虚拟表示的接收器可以检测与不同连接类型相关联的网络改变事件。对于不同连接类型的每个网络改变事件可以作为针对与那些特定连接类型相关联的特定通信协议而格式化的消息来发送。例如,第一网络改变事件可以包括第一消息格式(例如,蓝牙)并且第二网络改变事件可以包括第二消息格式(例如Zigbee)。
相应地,在块510处,处理逻辑可以使用解析规则解析网络改变事件。例如,处理逻辑可以使用第一解析规则解析第一网络改变事件,并且可以使用第二解析规则解析第二网络改变事件。可以根据接收网络改变事件的接收器来确定用于解析网络改变事件的解析规则。每个接收器可以被配置为使用与和接收器相关联的连接类型相关联的特定解析规则来解析接收到的网络改变事件。因此,即使消息具有不同的格式,包含在网络改变事件中的数据也可以被标准化。可以解析网络改变事件以识别包括在特定网络改变事件中的连接类型和/或该连接类型的状态。可替代地,根据接收网络改变事件的接收器,连接类型可以是已知的。解析规则可以将希望的信息从第一格式转换为设备管理器应用可读的另一种格式。
在块515处,处理逻辑再次确定具有最高等级的可用连接类型。可以响应于接收器之一检测到附加网络改变事件来做出确定。在一些实施方式中,处理逻辑引用用于设备的连接类型列表以确定具有最高等级的可用连接类型。在块520处,处理逻辑选择具有最高等级的可用连接类型以连接到设备,并利用具有最高等级的可用连接类型建立新的连接以用于与设备通信。
在块525处,处理逻辑可以向与设备关联并在设备上执行的远程控制应用隐藏从使用先前的连接类型与设备进行通信到使用具有最高等级的连接类型与设备进行通信的改变。也就是说,连接的变化对于远程控制应用是未察觉的。这种功能可以通过在任何给定时间点从最高等级的可用连接类型中受益而实现远程控制应用的无缝操作以及提升用户体验。
图6是管理到设备的两个连接(其中连接具有不同的连接类型)的示例方法600的流程图。方法600可以在处理逻辑与设备建立具有第一连接类型的第一连接之后发生,如上文中参考图3所解释的。
现在参考图6,在块605处,处理逻辑响应于检测到网络改变事件来确定具有最高等级的可用连接类型。在块610处,响应于确定具有最高等级的可用连接类型与包括在网络改变事件中的连接类型相同,处理逻辑以最高等级的可用连接类型与设备建立第二连接。
在块615处,处理逻辑确定是否维持具有第一连接类型的第一连接。在一些情况下,诸如当第一连接类型是WAN时,可能期望在第二连接可能失败的情况下维持第一连接,以避免数据传输中断。这样,处理逻辑可以确定维持第一连接,并且在块630处,处理逻辑可以阻止来自第一连接的消息。处理逻辑还可以阻止消息经由第一连接被发送。此外,在块635处,处理逻辑从第二连接接收消息。
在一些情况下,可能期望维持第一连接。这样,处理逻辑可以在块615处确定不维持第一连接,并且在块620处,处理逻辑终止第一连接。此外,在块625处,处理逻辑可以从具有最高等级的可用连接类型的第二连接接收消息。
图7示出了以计算设备700的示例形式的机器的图解表示,在计算设备700中可以执行用于使机器执行这里讨论的任何一个或多个方法的指令集。在替代的实施方式中,机器可以连接(例如联网)到局域网(LAN)、内联网、外联网、或因特网中的其他机器。机器可以作为客户端-服务器网络环境中的服务器或客户端机器运行,或作为对等(或分布式)网络环境中的对等机器运行。机器可以是个人计算机(PC)、平板电脑、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或桥接器、或者任何能够执行指定机器要执行的动作的(顺序的或其他方式的)指令集的机器。此外,虽然仅示出单个机器,但术语“机器”也应被理解为包括单独或联合执行一各(或多个)指令集以执行任何一个或多个本文讨论的方法的任何机器(例如,计算机)的集合。
示例计算设备700包括处理设备702、主存储器704(例如,只读存储器(ROM)、闪存、动态随机存取存储器(DRAM),诸如同步DRAM(SDRAM)或Rambus DRAM(RDRAM)等)、静态存储器706(例如,闪存、静态随机存取存储器(SRAM)等)和二级存储器(例如,数据存储设备718),这些存储器经由总线730彼此通信。
处理设备702表示一个或多个通用处理器,例如微处理器、中央处理单元等。更具体地说,处理设备702可以是复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器、实现其他指令集的处理器或实现指令集组合的处理器。处理设备702还可以是一个或多个专用处理设备,诸如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理设备702被配置为执行用于执行这里讨论的操作和步骤的处理逻辑(指令722)。
计算设备700还可以包括网络接口设备708。计算设备700还可以包括视频显示单元710(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入设备712(例如键盘)、光标控制设备714(例如鼠标)、和信号生成设备716(例如扬声器)。
数据存储设备718可以包括机器可读存储介质(或更具体地,计算机可读存储介质)728,在机器可读存储介质728上存储有一个或多个指令集722,指令集722体现了本文描述的任何一个或多个方法或功能。指令722还可以在由计算机***700执行期间完全或至少部分地驻留在主存储器704内和/或处理设备702内,主存储器704和处理设备702也构成计算机可读存储介质。
计算机可读存储介质728还可以用于存储设备管理器应用(如参考图2A和2B所描述的)和/或包含调用设备管理器应用的方法的软件库。虽然计算机可读存储介质728在示例实施方式中被示出为单个介质,但术语“计算机可读存储介质”应该被认为包括存储一个或多个指令集的单个介质或多个介质(例如,集中式或分布式数据库和/或关联的高速缓存和服务器)。术语“计算机可读存储介质”还应当被理解为包括能够存储或编码由机器执行并且使机器执行本文描述的任何一个或多个方法的指令集的任何介质。因此,术语“计算机可读存储介质”应被理解为包括但不限于固态存储器以及光学和磁性介质。
这里描述的模块、部件和其他特征(例如关于图1、图2A和图2B)可以被实现为分立的硬件部件或集成在硬件部件的功能中,诸如ASICS、FPGA、DSP或类似的设备。另外,这些模块可以被实现为硬件设备内的固件或功能电路。此外,模块可以以硬件设备和软件部件的任意组合或仅以软件来实现。
已经关于计算机存储器内的数据位上的操作的算法和符号表示呈现了详细描述的一些部分。这些算法描述和表示是数据处理领域的技术人员用来将他们工作的实质最有效地传达给该领域其他技术人员的手段。算法在本文中以及通常地被认为是导致期望结果的自我一致的步骤序列。步骤是需要对物理量进行物理操纵的步骤。通常,但不一定,这些量采用能够被存储、传输、组合、比较、和以其他方式操纵的电或磁信号的形式。主要由于通常用法,有时将这些信号称为比特、值、元素、符号、字符、术语、数字等被证明是方便的。
但应该记住,所有这些和类似的术语都与适当的物理量相关联,并且仅仅是适用于这些数量的方便的标签。除非另外特别指出,否则从以下讨论中显而易见的是,应该理解,在整个说明书中,使用诸如“接收”、“连接”、“确定”、“建立”、“通信”等术语的讨论是指计算机***或相似的电子计算设备的动作或处理,这些动作或处理操纵表示为计算机***的寄存器和存储器中的物理(电子)量的数据并将其转换为相似地表示为计算机***存储器或寄存器或其他这样的信息存储、传输或显示设备中的物理量的其他数据。
本发明的实施方式还涉及用于执行本文中的操作的设备。该设备可以出于讨论的目的而专门构造,或者它可以包括由存储在计算机***中的计算机程序选择性编程的通用计算机***。这样的计算机程序可以存储在计算机可读存储介质中,诸如但不限于任何类型的磁盘(包括软盘、光盘、CD-ROM、和磁光盘)、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁盘存储介质、光学存储介质、闪存设备、其他类型的机器可访问的存储介质、或适于存储电子指令的任何类型的介质,每个介质连接到到计算机***总线。
应该理解的是,以上描述意图是说明性的而不是限制性的。在阅读和理解以上描述之后,许多其他实施方式对于本领域技术人员将是显而易见的。虽然已经参考具体示例实施方式描述了本发明,但应该认识到,本发明不限于所描述的实施方式,而是可以在所附权利要求的精神和范围内进行修改和变更而实施的。因此,说明书和附图应被认为具有说明意义而不是限制意义。因此,本发明的范围应该参考所附权利要求以及这些权利要求的等同的全部范围来确定。
Claims (21)
1.一种方法,包括:
通过第一设备的处理设备与第二设备建立第一连接,所述第一连接包括第一连接类型:
通过所述处理设备检测网络改变事件,所述网络改变事件包括所述第一连接类型和第二连接类型中的至少一者的连接状态的改变;
响应于检测到所述网络改变事件,确定具有最高等级的可用连接类型;
响应于确定所述具有最高等级的可用连接类型是所述第二连接类型或第三连接类型,通过所述处理设备与所述第二设备建立第二连接,所述第二连接包括所述具有最高等级的可用连接类型;以及
使用所述具有最高等级的可用连接类型经由所述第二连接与所述第二设备进行通信。
2.根据权利要求1所述的方法,还包括:
响应于确定所述具有最高等级的可用连接类型是所述第一连接类型,维持所述第一连接。
3.根据权利要求1所述的方法,还包括:
生成所述第二设备的虚拟表示,其中所述虚拟表示包括多个连接类型指示符,所述多个连接类型指示符中的每一者针对特定连接类型指示所述特定连接类型对于所述第一设备和所述第二设备之间的连接是可用连接类型还是不可用连接类型。
4.根据权利要求3所述的方法,还包括:
实例化与所述虚拟表示相关联的多个接收器,其中所述多个接收器中的每一者与连接类型相关联并用于检测与相应的关联连接类型相关联的网络改变事件。
5.根据权利要求1所述的方法,还包括:
响应于确定所述具有最高等级的可用连接类型是所述第二连接类型或所述第三连接类型,终止具有所述第一连接类型的所述第一连接。
6.根据权利要求1所述的方法,其中所述第一连接类型被维持,并且其中来自所述第一连接的消息被阻止并且来自所述第二连接的消息被允许。
7.根据权利要求1所述的方法,还包括:
检测第二网络改变事件,所述第二网络改变事件与所述第二连接类型或所述第三连接类型相关联;
响应于检测到所述第二网络改变事件,再次确定所述具有最高等级的可用连接类型;
选择所述具有最高等级的可用连接类型以连接到所述第二设备。
8.根据权利要求7所述的方法,其中所述网络改变事件包括第一消息格式并且所述第二网络改变事件包括第二消息格式,所述方法还包括:
使用第一解析规则解析所述网络改变事件;以及
使用第二解析规则解析所述第二网络改变事件。
9.根据权利要求1所述的方法,其中确定所述具有最高等级的可用连接类型包括识别一个或多个可用连接类型在连接类型等级列表中的位置。
10.根据权利要求9所述的方法,其中所述连接类型等级列表包括具有最高等级的局域网(LAN)连接、具有第二高等级的蓝牙连接、具有第三高等级的到流媒体服务的广域网(WAN)WebSocket连接、以及具有第四高等级的蜂窝连接的预配置等级划分。
11.根据权利要求1所述的方法,还包括:
在检测所述网络改变事件之前,使用所述第一连接类型经由所述第一连接与所述第二设备进行通信,其中向在所述第一设备上执行的与所述第二设备相关联的应用隐藏从使用所述第一连接类型与所述第二设备进行通信到使用所述具有最高等级的可用连接类型与所述第二设备进行通信的改变。
12.根据权利要求1所述的方法,其中所述网络改变还包括所述第二连接类型变得可用和所述第一连接类型变得不可用中的至少一者。
13.一种计算设备,包括:
连接到一个或多个设备的接口;以及
连接到所述接口的处理设备,所述处理设备用于:
经由所述接口与所述一个或多个设备中的第一设备建立第一连接,所述第一连接包括第一连接类型;
检测网络改变事件,所述网络改变事件包括所述第一连接类型和第二连接类型中的至少一者的连接状态的改变;
响应于检测到所述网络改变事件,确定具有最高等级的可用连接类型;
响应于确定所述具有最高等级的可用连接类型是所述第二连接类型或第三连接类型,与所述第一设备建立第二连接,所述第二连接包括所述具有最高等级的可用连接类型;以及
使用所述具有最高等级的可用连接类型经由所述第二连接与所述第一设备进行通信。
14.根据权利要求13所述的设备,其中所述处理设备还用于:
响应于确定所述具有最高等级的可用连接类型是所述第一连接类型,维持所述第一连接。
15.根据权利要求13所述的设备,其中所述处理设备还用于:
生成所述第一设备的虚拟表示,其中所述虚拟表示包括多个连接类型指示符,所述多个连接类型指示符中的每一者针对特定连接类型指示所述特定连接类型对于所述计算设备和所述第一设备之间的连接是可用连接类型还是不可用连接类型。
16.根据权利要求15所述的设备,其中所述处理设备还用于:
实例化与所述虚拟表示相关联的多个接收器,其中所述多个接收器中的每一者与连接类型相关联并用于检测与相应的关联连接类型相关联的网络改变事件。
17.根据权利要求13所述的设备,其中所述处理设备还用于:
检测附加网络改变事件,所述附加网络改变事件与所述第二连接类型或所述第三连接类型相关联;
响应于检测到所述附加网络改变事件,再次确定所述具有最高等级的可用连接类型;
选择所述具有最高等级的可用连接类型以连接到所述第一设备。
18.一个或多个有形的非暂时性计算机可读介质,包括指令,所述指令当被执行时使一个或多个处理设备:
与第一设备建立第一连接,所述第一连接包括第一连接类型:
检测网络改变事件,所述网络改变事件包括所述第一连接类型和第二连接类型中的至少一者的连接状态的改变;
响应于检测到所述网络改变事件,确定具有最高等级的可用连接类型;
响应于确定所述具有最高等级的可用连接类型是所述第二连接类型或第三连接类型,与所述第一设备建立第二连接,所述第二连接包括所述具有最高等级的可用连接类型;以及
使用所述具有最高等级的可用连接类型经由所述第二连接与所述第一设备进行通信。
19.根据权利要求18所述的计算机可读介质,其中所述一个或多个处理设备还用于:
响应于确定所述具有最高等级的可用连接类型是所述第一连接类型,维持所述第一连接。
20.根据权利要求18所述的计算机可读介质,其中确定所述具有最高等级的可用连接类型包括所述一个或多个处理设备进一步识别一个或多个可用连接类型在连接类型等级列表中的位置。
21.根据权利要求18所述的计算机可读介质,其中所述一个或多个处理设备还用于:
在检测所述网络改变事件之前,使用所述第一连接类型经由所述第一连接与所述第一设备进行通信,其中向在所述一个或多个处理设备上执行的与所述第一设备相关联的应用隐藏从使用所述第一连接类型与所述第一设备进行通信到使用所述具有最高等级的可用连接类型与所述第一设备进行通信的改变。
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201762526929P | 2017-06-29 | 2017-06-29 | |
US62/526,929 | 2017-06-29 | ||
US15/869,982 US10694455B2 (en) | 2017-06-29 | 2018-01-12 | Connectivity state optimization to devices in a mobile environment |
US15/869,982 | 2018-01-12 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109219155A true CN109219155A (zh) | 2019-01-15 |
Family
ID=62975835
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810689582.7A Pending CN109219155A (zh) | 2017-06-29 | 2018-06-28 | 移动环境设备中的连接状态优化 |
Country Status (3)
Country | Link |
---|---|
US (1) | US10694455B2 (zh) |
EP (1) | EP3422773A1 (zh) |
CN (1) | CN109219155A (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11556884B1 (en) * | 2019-06-24 | 2023-01-17 | Amazon Technologies, Inc. | Privacy-preserving identity-validated transactions |
US10972548B2 (en) * | 2019-09-09 | 2021-04-06 | International Business Machines Corporation | Distributed system deployment |
WO2022140853A1 (en) * | 2020-12-30 | 2022-07-07 | Mastercard Technologies Canada ULC | Systems, methods, computer-readable media, and devices for authenticating users |
US20230030168A1 (en) * | 2021-07-27 | 2023-02-02 | Dell Products L.P. | Protection of i/o paths against network partitioning and component failures in nvme-of environments |
CN116866727A (zh) * | 2022-03-25 | 2023-10-10 | 北京小米移动软件有限公司 | 图像处理方法、装置、设备及存储介质 |
US12047425B1 (en) * | 2023-05-17 | 2024-07-23 | Cisco Technology, Inc. | Cognitive networking using a device endpoint agent |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111853A (zh) * | 2009-12-25 | 2011-06-29 | 联想(北京)有限公司 | 一种自动切换网络连接的方法、装置及移动终端 |
US20160072674A1 (en) * | 2014-09-08 | 2016-03-10 | Intel Corporation | Automatic device configuration |
CN105450482A (zh) * | 2014-07-29 | 2016-03-30 | 青岛海尔智能家电科技有限公司 | 一种设备连接方法和装置 |
WO2016069099A1 (en) * | 2014-10-27 | 2016-05-06 | Ayla Networks | Flexible device templates for connected consumer devices |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2001082098A1 (en) | 2000-04-27 | 2001-11-01 | Fortress Technologies, Inc. | Network interface device having primary and backup interfaces for automatic dial backup upon loss of a primary connection and method of using same |
US10237757B2 (en) * | 2009-01-28 | 2019-03-19 | Headwater Research Llc | System and method for wireless network offloading |
US8615236B2 (en) * | 2010-06-04 | 2013-12-24 | Palm, Inc. | System and method for dynamically managing connections using feature prioritization |
US8830858B2 (en) * | 2012-03-30 | 2014-09-09 | Verizon Patent And Licensing Inc. | Utilizing scanned radio access technology information |
US20150188971A1 (en) * | 2013-07-31 | 2015-07-02 | Been, Inc. | Data stream monitoring |
WO2015067994A1 (en) * | 2013-11-08 | 2015-05-14 | Nokia Technologies Oy | Method and apparatus for automatic detection and selection of an alternative roaming provider |
US9681370B2 (en) * | 2014-06-20 | 2017-06-13 | Apple Inc. | Co-located network selection algorithm |
FR3030992B1 (fr) | 2014-12-23 | 2016-12-23 | Thales Sa | Systeme et procede de transmission de donnees utilisant conjointement une liaison terrestre et une liaison satellitaire |
US9775089B2 (en) * | 2015-11-03 | 2017-09-26 | Qualcomm Incorporated | Received signal strength indicator (RSSI) realizing cellular radio access technology type measurements in a wireless local area network domain |
-
2018
- 2018-01-12 US US15/869,982 patent/US10694455B2/en active Active
- 2018-06-28 CN CN201810689582.7A patent/CN109219155A/zh active Pending
- 2018-06-29 EP EP18180902.1A patent/EP3422773A1/en not_active Withdrawn
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102111853A (zh) * | 2009-12-25 | 2011-06-29 | 联想(北京)有限公司 | 一种自动切换网络连接的方法、装置及移动终端 |
CN105450482A (zh) * | 2014-07-29 | 2016-03-30 | 青岛海尔智能家电科技有限公司 | 一种设备连接方法和装置 |
US20160072674A1 (en) * | 2014-09-08 | 2016-03-10 | Intel Corporation | Automatic device configuration |
CN106576216A (zh) * | 2014-09-08 | 2017-04-19 | 英特尔公司 | 自动设备配置 |
WO2016069099A1 (en) * | 2014-10-27 | 2016-05-06 | Ayla Networks | Flexible device templates for connected consumer devices |
Also Published As
Publication number | Publication date |
---|---|
US10694455B2 (en) | 2020-06-23 |
US20190007949A1 (en) | 2019-01-03 |
EP3422773A1 (en) | 2019-01-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109219155A (zh) | 移动环境设备中的连接状态优化 | |
Chen et al. | Reinforcement learning–based QoS/QoE‐aware service function chaining in software‐driven 5G slices | |
US8751420B2 (en) | Generic reasoner distribution of resources using a plurality of shallow reasoners, and a predictor server | |
US9680726B2 (en) | Adaptive and extensible universal schema for heterogeneous internet of things (IOT) devices | |
CN103297468B (zh) | 针对群组资源的操作方法、群组服务器 | |
Khamphanchai et al. | Conceptual architecture of building energy management open source software (BEMOSS) | |
CN104601695A (zh) | 智能设备管控方法、装置和*** | |
CN109743259B (zh) | 一种网络的流量调度方法及装置 | |
EP2989545A1 (en) | Defining interdependent virtualized network functions for service level orchestration | |
EP2878103A1 (en) | Forwarding tables for hybrid communication networks | |
US10320605B2 (en) | Rapid gateway swap | |
CN107210607A (zh) | 用于提供能量服务的方法和*** | |
US20170116526A1 (en) | Automatic triggering of linear programming solvers using stream reasoning | |
CN109495383A (zh) | 一种数据处理方法、装置、通信***及网络设备 | |
JP5256406B2 (ja) | ネットワーク可視化方法およびネットワーク可視化装置 | |
US20140156820A1 (en) | Configuration information selection based on extracted information | |
EP3478022A1 (en) | Roaming of a device between stationary devices and mobil devices | |
US20160352577A1 (en) | Multiple gateway virtualization | |
Ok et al. | A Survey of Industrial Internet of Things Platforms for Establishing Centralized Data‐Acquisition Middleware: Categorization, Experiment, and Challenges | |
CN112994936B (zh) | 一种组网信息展示方法、装置、***及路由设备 | |
CN108347362A (zh) | 一种发现新设备的方法及桥接设备和***中设备 | |
CN114253197B (zh) | 基于sdn网络的供电设备管理***、方法、设备及介质 | |
US20210184892A1 (en) | Method of controlling communication system, communication system, and relay device | |
KR20190114126A (ko) | 메시지의 처리 완료 지연 시간을 기초로 스위치로의 메시지 송신을 제어하는 sdn 컨트롤러 및 그 방법 | |
Hanggoro et al. | Design and implementation of multi-protocol gateway for Internet of Things |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20200616 Address after: 1501, building B, innovation building, 198 Daxin Road, majialong community, Nantou street, Nanshan District, Shenzhen City, Guangdong Province Applicant after: ELA IOT network (Shenzhen) Co.,Ltd. Address before: California, USA Applicant before: AYLA NETWORKS Inc. |
|
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20190115 |