CN103493009A - 建立电子装置之间的连接 - Google Patents

建立电子装置之间的连接 Download PDF

Info

Publication number
CN103493009A
CN103493009A CN201280017905.9A CN201280017905A CN103493009A CN 103493009 A CN103493009 A CN 103493009A CN 201280017905 A CN201280017905 A CN 201280017905A CN 103493009 A CN103493009 A CN 103493009A
Authority
CN
China
Prior art keywords
electronic installation
code
background code
application program
background
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
Application number
CN201280017905.9A
Other languages
English (en)
Inventor
A·常
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Publication of CN103493009A publication Critical patent/CN103493009A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0742Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in a mobile device, e.g. mobile phones, handheld devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0769Readable error formats, e.g. cross-platform generic formats, human understandable formats
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • G06F11/0772Means for error signaling, e.g. using interrupts, exception flags, dedicated error registers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Quality & Reliability (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Stored Programmes (AREA)
  • Communication Control (AREA)

Abstract

本发明涉及用于建立电子装置之间的连接的方法、系统和计算机程序产品。本发明的实施例可以使用背景代码,举例说诸如QR代码,以利于电子装置联网。电子装置之间的连接处理是自动化的。例如,一旦抓拍到图片,通信应用程序建立装置之间的连接,通信应用程序还用作连接的装置之间的端口。联网代码可以被大大简化,允许应用程序开发者将更多的资源投入到开发应用程序代码中。

Description

建立电子装置之间的连接
相关申请交叉引用
本申请要求2011年6月3日提交的美国临时申请序号61/492,961,名称为“Establishing Connections Among Electronic Devices”的优先权,其公开内容通过引用被全部并入本文。
本申请进一步要求2012年5月25日提交的美国发明(Utility)申请序号13,481,487,名称为“Establishing Connections Among Electronic Devices”的优先权,其公开内容通过引用被全部并入本文。
技术领域
本发明涉及计算机联网,并且更具体地涉及建立电子装置之间的连接。
背景技术
过去,电子装置具有孤立运行的特征。每个装置被制造成自保持的,在不干扰其它装置的情况下能够实现其自已的个体目的。随着技术进步,装置之间的连接增加。已经发展出许多不同的连接形式,来执行涉及两个或多个电子装置的各种类型的操作。这种连接可以是有线的或无线的。例如,计算机可以通过互联网彼此连接,打印机可以通过USB电缆或以无线方式等等连接到计算机。
个人局域网,诸如蓝牙,提供在本地电子装置之间建立无线连接的机制。另外,范围更广泛的无线通信机制包括Wi-Fi、GSM、3G、4G等等。
通常,这种无线通信机制要求用户一方在建立和维护连接方面付出很大努力。对于蓝牙连接,在装置能够彼此对话之前,必须涉及“配对”过程。此外,一些用户对通过无线通信路径(诸如蓝牙)传输数据的安全性有担忧。这种局限和要求可能对技术的使用和采纳有很大障碍。
近来,已经采用能提供蜂窝网络连接、蓝牙连接、WiFi等以及提供板上照相机的许多智能手机、平板电脑、膝上计算机、上网本和其它装置。随着这种移动装置的采用,产生了移动装置与其它电子装置接口的需求。然而,现有的建立这种装置之间的无线连接的机制是有限的,冗繁的。
发明内容
本发明涉及用于建立电子装置之间的连接的方法、系统和计算机程序产品。在一些实施例中,从电子装置上的应用程序接收应用程序命令。应用程序命令与基于背景(context)代码(例如二维条形码)建立电子装置的连接有关。应用程序命令被解释成一个或多个背景代码命令的等效集合。一个或多个背景代码命令与电子装置的操作系统是兼容的。
对等效的一个或多个背景代码命令排队以由路由服务使用。路由服务被配置成将背景代码命令路由到相应的通信处理服务。从等效的一个或多个背景代码命令中选择的背景代码命令出队列到路由服务。路由服务将出队列的背景代码命令路由到适当的对应通信处理服务以进行处理。处理背景代码命令的处理状态被确定。处理状态被传送回应用程序。
更具体地,在至少一个实施例中,背景代码可以用来建立电子装置之间的连接。电子装置上的输入装置被激活以捕获背景代码(例如二维条形码)。背景代码存储用于配置电子装置之间的通信连接的编码参数。编码参数被解码成解码参数。
解码参数的一部分用来建立所述电子装置和另一电子装置之间的通信连接。解码参数的另一部分通过已建立的通信连接发送到另一电子装置。解码参数的又一部分用于将另一电子装置初始化成适当状态以结合所述电子装置操作。
在至少一个实施例中,解码参数的另外部分用来获得与另一电子装置上驻存的应用程序接口的用户界面。可以从平台服务器或从另一电子装置获得用户界面。解码参数的再一部分用来将用户界面初始化成与另一电子装置上驻存的应用程序兼容的状态。
在另外的实施例中,电子装置上的应用程序组件是同步的,使得两个应用程序可以使用背景代码建立彼此的网络连接。电子装置上的应用程序尝试以期望方式与背景代码(例如二维条形码)交互。背景代码对用来建立与其它电子装置的网络连接的参数进行编码。
如果检测到电子装置缺少用于以期望方式与背景代码交互的至少一个其它组件(例如,第三方应用程序或通信应用程序),电子装置提示在电子装置上安装至少一个其它组件。响应于该提示,在电子装置上安装至少一个其它组件。安装的至少一个其它组件被用来以期望方式与背景代码交互。
提供此发明内容部分以用简化方式介绍一批概念,这将在下文的详细描述中进一步描述。本发明内容部分不旨在确定所要求保护的主题的关键特征或基本特征,也不旨在用作帮助确定所要求保护的主题的范围。
在接下来的描述中将阐述本发明的附加特征和优点,本发明的附加特征和优点通过描述部分上是显然的,或者可通过实践本发明来获悉这些附加特征和优点。通过在所附权利要求中具体指出的仪器和组合可以实现和获得本发明的特征和优点。通过下文的描述和所附权利要求,本发明的这些和其它特征将变得更加显然,或者可通过如本文中后面阐述的本发明的实践来获悉这些和其它特征。
附图说明
附图图解说明本发明的几个实施例,并且附图连同描述一起用来解释根据实施例的本发明的原理。本领域技术人员会认识到图中图解说明的具体实施例只是示例性的,不旨在限制本发明的范围。
图1描绘了根据一个实施例的用于处理连接管理数据的示例性计算机架构。
图2描绘了根据一个实施例的用于处理连接管理数据的示例性方法的流程图。
图3描绘了根据一个实施例的用于配置电子装置之间的连接的示例性计算机架构。
图4描绘了根据一个实施例的用于配置电子装置之间的连接的示例性方法的流程图。
图5描绘了根据一个实施例的在配置电子装置之间的连接时使用的示例性QR代码。
图6A和图6B描绘了根据一个实施例的使用客户机电子装置执行QR代码捕获的用户。
图7描绘了根据一个实施例的用于配置电子装置之间的连接的另一示例性方法的流程图。
图8A描绘了根据一个实施例的用于同步电子装置之间的应用程序的示例性计算机架构。
图8B描绘了根据一个实施例的用于同步电子装置之间的应用程序的另一示例性计算机架构。
图9描绘了根据一个实施例的用于同步电子装置之间的应用程序的示例性方法的流程图。
图10描绘了根据一个实施例的用于连接的装置交换数据的示例性架构。
图11A至图11C描绘了根据一个实施例的可以在电子装置上呈现以帮助进行连接的用户界面屏幕的例子。
图12描绘了根据一个实施例的可以在电子装置上呈现以帮助选择各个通信选项的用户界面屏幕的例子。
图13描绘了根据一个实施例的在电子装置上显示QR代码的用户界面屏幕的例子。
图14A和图14B描绘了根据一个实施例的可以在电子装置上呈现以帮助捕获QR代码的用户界面屏幕的例子。
图15描绘了根据一个实施例的针对彼此连接的电子装置的用户的用户体验顺序的例子。
具体实施方式
系统架构
根据各个实施例,本发明可以在被配置成发起和/或接收电子通信的任何电子装置上实施。这种电子装置可以是例如蜂窝电话、智能手机、桌面计算机、膝上计算机、个人数字助理(PDA)、音乐播放器、手持计算机、平板电脑、一体机(kiosk)、游戏系统、电视等等。这种装置可以发起和/或接收许多模式中任何一种模式的电子通信,所述模式诸如声音、文本、电子邮件、即时消息、聊天、视频会话、SMS、MMS等等。通信可以通过任何适当的通信网络并根据任何已知的通信协议实现。例子包括互联网、蜂窝电话网络、EDGE、3G、4G、长期演进(LTE)、会话发起协议(SIP)、短消息点对点协议(SMPP)、SS7、WiFi、蓝牙、ZigBee、超文本传输协议(HTTP)、安全超文本传输协议(SHTTP)、传输控制协议/互联网协议(TCP/IP)和/或等等、和/或其任意组合。如果适当,使用任何已知的安全技术,举例说诸如虚拟专用网络(VPN),可以确保通信安全。在一个实施例中,本发明的系统可以使用任何适当的安全机制来确保用户信息是秘密的;这种(些)机制可包括例如单个的或以任何适当组合的盐(salt)、散列和/或memCaches(存储器缓存)。这种技术是领域内众所周知的。
尽管在本文中结合建立电子装置之间的连接的实现方式来描述本发明,但本领域技术人员会认识到可以在其它背景下并且实际上以能够实现电子通信的任何适当装置或服务来实现本发明。相应地,下文的描述旨在通过例子图解说明本发明的各个实施例,而不是限制所要求保护的发明的范围。
在至少一个实施例中,本发明实现为在通信装置上运行的软件。这种软件可以是可被下载(或以其它方式获得)并安装在装置上的应用程序(或“app”)形式。替代性地,本发明的功能可以包括于与装置捆绑的软件(诸如操作系统软件)中,或者作为服务传送到运行浏览器的装置中。在其它实施例中,如下文更加详细地描述的,没有在通信装置上运行的任何专用软件,也可以实现本发明的系统。
电子装置可以被配置成执行各种不同的与连接相关的活动,包括实现蓝牙命令、ZigBee命令,捕获背景代码,解码背景代码,访问连接管理数据,及对背景代码编码。宏功能可以将多个不同的连接相关的活动一起分成单个命令。
本发明的实施例包括通过应用程序接口(API)可访问的电子装置平台,以用于将一个电子装置与其它电子装置连接。“背景代码”可用来存储用于管理电子装置之间的连接的数据。电子装置可从背景代码内访问存储的数据,并使用存储的数据与其它装置连接。
背景代码可以以机器可读代码表示,举例说诸如线性条形码或二维条形码。例如,用于管理电子装置之间的连接的数据可以以快速响应(QuickResponse,简称QR)代码编码。电子装置可以使用板上照相机来捕获机器可读代码的照片,并解码在机器可读代码内编码的连接管理数据。解码的连接管理数据然后可以用来建立与其它电子装置的连接。
其它机制也可以用来表示背景代码。在一个实施例中,使用近场通信(NFC)。在另一实施例中,可以使用射频识别装置(RFID)。在又一实施例中,可以通过一些无线通信介质,诸如Wi-Fi、无线电或蜂窝可接收模式,广播背景代码。电子装置可以检测广播信号,记录消息并将其解码以获得背景代码。
实施例还包括检索连接管理数据(例如蓝牙套接字信息)并将连接管理数据编码成背景代码(举例说诸如QR代码)的电子装置。背景代码然后可以对其它电子装置可用。例如,QR代码可以被打印或显示在显示装置上以用于捕获。
处理连接管理数据
图1描绘了用于处理连接管理数据的示例性计算机架构100。如描绘的,计算机架构100包括第三方应用程序152和通信应用程序102。第三方应用程序152实际上可以是任何应用程序,举例说诸如多人游戏、社交网络应用程序、短消息应用程序等。通信包括的数据包103提供用于将应用程序命令解释成背景代码命令(例如意图(intent)或URL参数)以用于底层操作系统(例如安卓或iOS)的接口,反之亦然。通常,通信包括的数据包103可以接收应用程序命令,将应用程序命令解释成一个或多个背景代码命令,并将一个或多个背景代码命令发送到通信应用程序102。通信包括的数据包103还可以从通信应用程序102接收响应(例如作为意图或URL参数)。响应处理机104可以将响应解释成应用程序功能。
通信应用程序102包括预加载活动106、队列服务107、路由服务108、宏功能109、QR功能112、蓝牙功能113和回调114。省略号131表示其它通信功能可以连接到路由服务108。
通常,预加载活动106可从第三方应用程序152接收一个或多个背景代码命令122(例如意图或URL参数)。预加载活动106可以借助队列服务107将一个或多个背景代码命令122排队。对进入的背景代码命令122排队可以避免由于代码阻塞造成的中断。
当路由服务108是可用的,背景代码命令122可以出队列,并由路由服务108处理。路由服务108将每个背景代码命令引导到适当服务。例如,路由108可以将QR相关命令路由到QR功能112,将蓝牙命令路由到蓝牙功能113等。路由108可以将宏命令路由到宏功能109,宏功能然后接管对宏命令内的每个单独背景代码命令的处理。宏功能109包括响应处理机111,响应处理机可以基于针对之前处理的背景代码命令122的响应消息确定如何继续背景代码命令122的集合。
当背景代码命令122结束时,回调114可以将响应消息适当地传递到响应处理机111和响应处理机104。
图2描绘了用于处理连接管理数据的示例性方法200的流程图。将参照计算机架构100中的组件和数据来描述方法200。
方法200包括从电子装置上的应用程序接收应用程序命令,应用程序命令与基于背景代码建立电子装置的连接有关(201)。例如,通信包括的数据包103可接收应用程序命令119。应用程序命令119可以涉及建立电子装置之间的连接。例如,应用程序命令119可以涉及蓝牙功能、ZigBee功能、扫描QR代码、基于QR代码中包含的连接管理数据连接电子装置、创建QR代码、建立发布/订阅(pub/sub)通信、读/写外部文件等等。
应用程序命令格式
在一些实施例中,应用程序命令和相应的自变量以JavaScript ObjectNotation(JSON)对象传送。例如,命令和自变量可以是类似于以下的格式:
这是将蓝牙连接创建为主机(Host)的例子。此命令采用instanceId自变量以及onSuccess回调参数。将JSONObject写成字符串(String),并将其作为“content”附加放入对通信应用程序102的Intent调用中。
可以给主机和客户机装置之间的每个连接分配instanceId。这些instanceId允许第三方应用程序引用适当的连接通道id,并将通信应用程序102引导到特定的连接装置。
一旦成功执行命令,可以用意图请求返回通信应用程序102的功能中的至少一些功能。在至少一个实施例中,此请求形式为“com.thirdparty.app.success”,并可以发起一个活动。它的一个例子如下:
Figure BDA0000393899580000072
可以用Android-Manifest来注册Success Handler Activity,以接收进入的意图(Intents)。这些意图格式可以是与外发意图相似的方式:JSONObject可以写成字符串,并且设置成“content”附加,因此“content”附加可以被提取并剖析成JSONObject,以检索响应数据。
成功关键字可以帮助标记进入的成功响应。当从第三方应用程序(例如152)发出通信相关命令时,该命令可包含onSuccess和onSuccessKey回调参数,其一旦成功执行,会返回其中将“onSuccess”作为地址并“onSuccessKey”作为变量的意图。
OnFailure和onFailureKey可以以与onSuccess配对物类似的方式行动,除了在命令没有正确执行时被激活之外。
方法200包括将应用程序命令解释成一个或多个背景代码命令122的等效集合,一个或多个背景代码命令122与电子装置的操作系统兼容(202)。例如,通信包括的数据包103可以将应用程序命令109解释成背景代码命令122,包括背景代码命令122A和122B。背景代码命令122与计算机架构100中使用的操作系统兼容。例如,背景代码命令122可以是与安卓操作系统兼容的意图。同样,背景代码命令122可以是与由iOS使用的URL方案兼容的URL参数。
预加载和队列
方法200包括将等效的一个或多个背景代码命令122排队,以由路由服务使用,所述路由服务被配置成将背景代码命令122路由到对应的通信处理服务(203)。例如,预加载活动106可接收背景代码命令122,将它们中继到队列服务107。队列服务107可具有在后台运行的永久进程。当背景代码命令(例如Intent或URL参数)被提交到队列时,其被存储以在稍后时间(例如在路由服务108可用时)执行。当路由服务108可用时,它接收队列中待被执行的下一背景代码命令,并执行任务来完成命令。
在一些实施例中,通信应用程序102接收指定的电子地址(例如URL)的背景代码命令122。当在该地址注册背景代码命令时,它运行预加载活动106。预加载活动106将背景代码命令加载到队列中,以等待在稍后时间执行。队列允许通信应用程序102从多个应用程序来源无缝地接收调用它的异步调用,甚至是阻塞调用。由于通信应用程序102的一些功能可能阻塞,并且可占用几个周期来执行,背景代码命令122可排队等候以允许先前的背景代码命令122执行。其一个例子如下:
Figure BDA0000393899580000091
Figure BDA0000393899580000101
此预加载活动检索“content”字段中的Intent和其Extras,并在将其发送到队列服务之前预先打包。之后,关闭活动。
队列服务
在一些实施例中,队列服务107是独立于第三方应用程序和预加载活动启动、运行的永久进程。它保持已经从第三方应用程序进入并通过预加载活动进入队列中的背景代码命令122的队列(例如,Intent或URL参数)。一旦接收到路由服务108准备好执行命令的通知,队列中的下一背景代码命令被发送到路由服务108以执行。其一个例子如下:
Figure BDA0000393899580000102
Figure BDA0000393899580000111
此队列的例子包含通过OnStart方法在到达时存储的Intent的列表。队列服务是永久性的,继续在后台接收Intent。队列还检查路由的可用性,并相应地从列表中将Intent一个接一个地发送到路由。
方法200包括使背景代码命令出队列到路由服务,背景代码命令是从等效的一个或多个背景代码命令中选择的(204)。例如,队列服务107可以使背景代码命令122A出队列(例如URL参数的intent)。队列服务107可以将背景代码命令122A传送到路由服务108。
路由服务
在至少一个实施例中,路由服务108将出队列的背景代码命令路由到适当的对应通信处理服务以进行处理(205)。例如,路由服务108可以将背景代码命令122A路由到适当的功能。适当的功能可从宏功能109、QR功能112、蓝牙功能113和可用的其它任何功能中选择。如描述的,宏功能109还可以将背景代码命令122发送到路由服务108以路由到其它可用功能。
相应地,路由服务108激活对安装装置上的各个功能和硬件进行控制的命令。蓝牙功能包括使能蓝牙、启动蓝牙连接作为主机、启动蓝牙连接作为客户机、设置连接消息接收器、发送消息、检索蓝牙设置信息。QR功能包括通过照相机捕获QR代码、编码QR代码和显示QR代码。宏功能是路由服务内的其它功能的组合或连锁-这允许使用单个命令执行复杂的连接过程。路由服务的一个例子如下:
Figure BDA0000393899580000141
Figure BDA0000393899580000151
此路由器的例子将特定的蓝牙、QR和宏命令分配到单独的类文件中以便执行。这些单个的命令的实现可以基于操作系统API而变化和改变。一旦接收背景代码命令,接收功能可以执行背景代码命令。
回调功能
方法200包括确定处理背景代码命令的处理状态(206)。方法200包括将处理状态指示回送到应用程序的动作(207)。例如,当功能的执行完成时,接收功能用公式表示处理状态(例如成功,失败等)。回调114可以确定处理背景代码命令122的功能的处理状态。回调114可以将响应发送回指示处理状态的调用组件。例如,回调114可以将通信相关响应123发送到响应处理机104。替代性地,回调114可以将通信相关响应发送到响应处理机111。
示例性功能
各种不同类型的功能可以包括于宏功能109、QR功能112和蓝牙功能113中。现在描述功能的各种例子。
蓝牙连接建立
下面的例子代表如何将蓝牙功能113构造成执行命令以能够在安卓装置上实现蓝牙。为了在安卓操作系统上实现蓝牙适配器,通信应用程序102调用蓝牙适配器。ACTION_REQUEST_ENABLE–正如以下:
Intent enableBtIntent=new
Iten(BluetoothAdapter.ACTION_REQUEST_ENABLE);
startActivityForResult(enableBtIntent,BLUETOOTH_ENABLE_INT);
一旦完成此活动,返回结果,通信应用程序102重新打包结果,并将其重新引导到onSuccess地址。其一个例子如下:
Figure BDA0000393899580000181
Figure BDA0000393899580000191
Figure BDA0000393899580000201
Figure BDA0000393899580000211
Figure BDA0000393899580000221
在此蓝牙命令执行器中,Activity存储onSuccess和onFailure参数。然后,活动前进到调用ACTION_REQUEST_ENABLE,其执行使能安卓API内的蓝牙的必须操作。一旦操作完成,安卓将对请求的响应发送回Activity。命令Activity然后可以检查看执行是成功还是失败,并相应地使那些参数和关键字恢复。然后通过Intent向地址“onSuccess”或“onFailure”发送响应。
宏功能
宏功能是特别有用的,原因是它们可以将重复的系统过程和序列捆绑成单个命令。例如,捕获QR代码、解码数据和作为客户机连接到蓝牙端口可以被捆绑成单个命令“QR连接”。
QR编码
以下的例子代表QR功能112如何被构造成执行命令以对QR代码编码。例如,假如规定等待连接的蓝牙主机的instanceID,此命令检索蓝牙套接字信息,将它编码成QR代码,并在屏幕上显示新形成的代码。以下是第三方应用程序如何可以调用此命令(例如,如应用程序命令119)的例子:
Figure BDA0000393899580000222
Figure BDA0000393899580000231
此例子使用上文提到的JSON Intent命令的结构。此命令可以是
“QR_ENCODE”,参数为:instanceId、onSuccess(可选的)、onFailure(可选的)。来自通信应用程序102的命令代码的一个例子如下:
Figure BDA0000393899580000232
Figure BDA0000393899580000241
Figure BDA0000393899580000251
Figure BDA0000393899580000271
Figure BDA0000393899580000281
相应地,在至少一个实施例中,QR编码是多步骤命令。在代码的此片断,构造器首先通过存储onSuccess和onFailure参数以及instanceID来开始操作。
此顺序的第一步是用instanceID作为参数来使用“Bluetooth_SocketInfo”。系统将结果返回onSuccess,它指定为QR编码处理机活动地址。QR编码处理机活动在完成之前将结果传送到QR编码(encode)类内的响应方法。一旦在QR编码类中接收第一步的响应,响应方法使用onSuccessKey来到第二步。
第二步使用在第一步中获得的蓝牙参数,向Capture QR Encode类发送用来显示用于QR代码的图片以进行扫描的请求。系统将结果返回onSuccess,它指定为QR编码处理机活动地址。QR编码处理机活动在完成它之前将结果传送到QR编码类中的响应方法。一旦在QR编码类中接收到第二步的响应,响应方法使用onSuccessKey来到第三步。
第三步将响应返回命令调用器的onSuccess地址。这结束此命令的序列,让外部/第三方应用程序知道命令已经成功完成。
QR连接
下面的例子代表QR功能112如何可以被构造成使用QR代码执行用于连接电子装置的命令。此命令发起使用装置的照相机的QR捕获过程,解码所产生的QR代码,使用所产生的参数来完成作为客户机装置的蓝牙连接。以下是第三方应用程序如何可以调用此命令(例如,如应用程序命令119)的例子:
这是使用上文提到的JSON Intent命令的结构。命令将是“QR_DECODE”,参数是:instanceId、onSuccess(可选的)、onFailure(可选的)。来自通信应用程序102的命令代码的例子如下:
Figure BDA0000393899580000301
Figure BDA0000393899580000311
Figure BDA0000393899580000321
Figure BDA0000393899580000331
Figure BDA0000393899580000341
Figure BDA0000393899580000351
Figure BDA0000393899580000361
相应地,在至少一个实施例中,QR解码是一个多步骤命令。在代码的此片断中,构造器首先以存储onSuccess和onFailure参数以及instanceId开始。
序列的第一步是使能蓝牙。一旦完成,系统向onSuccess返回响应,它指定为QR解码处理机活动地址。QR解码处理机活动在完成它之前,将结果传送到QR解码(decode)类中的响应方法。一旦在QR解码类中接收到第一步的响应,响应方法使用onSuccessKey来到第二步。
第二步向Capture QR Capture类发送请求,其使用装置的照相机来对QR代码拍照。一旦完成,系统向onSuccess返回响应,它指定为QR解码处理机活动地址。QR解码处理机活动在完成它之前将结果传送到QR解码类中的响应方法。一旦在QR解码类中接收到第二步的响应,响应方法使用onSuccessKey来到第三步。
第三步接收第二步中的QR捕获的结果并将其解码。解码参数用来便于作为客户机的蓝牙连接。使Intent调用“Bluetooth_ConnectClient”,以结束主机和客户机之间的蓝牙连接。一旦完成,系统向onSuccess返回响应,它指定为QR解码处理机活动地址。QR解码处理机活动在完成它之前将结果传送到QR解码类中的响应方法。一旦在QR解码类中接收到第三步的响应,响应方法使用onSuccessKey来到第四步。
第四步向命令调用器的onSuccess地址返回响应。这结束了此命令的序列,使外部/第三方应用程序知道该命令已经成功完成。
连接电子装置
相应地,本发明的实施例包括解码背景代码,举例说诸如QR代码,以获得用于连接电子装置的参数。图3描绘了用于配置电子装置之间的连接的示例性计算机架构300。如描绘的,计算机架构300包括电子装置301(例如智能手机、平板电脑、膝上计算机、桌面计算机等)、电子装置302(例如、打印机、计算机、电话、电视、音频播放器等)和平台服务器303。
电子装置301进一步包括输入装置306(例如照相机)、解码器307和通信模块308。解码器307可以包括于通信模块308中。然而,为了清楚起见,将解码器307描述为与通信模块308分离。通常,解码器307被配置成将编码参数解码成解码器参数。
平台服务器303连接到UI数据库304。UI数据库304可以存储用于各种不同应用程序的用户界面数据。
图4描绘了用于配置电子装置之间的连接的示例性方法400的流程图。将参照计算机架构300中的组件和数据来描述方法400。
方法400包括激活输入装置,以捕获背景代码,背景代码存储用于配置电子装置之间的通信连接的编码参数(401)。例如,输入装置306可以被激活以捕获背景代码311。背景代码311可存储用于配置电子装置301和电子装置302之间的通信连接的编码参数312。
方法400包括将编码参数解码成解码参数(402)。例如,解码器307可以将编码参数312解码成解码参数313。解码参数313可以以任何适当格式,诸如表、JSON、或XML格式,格式化以便容易地访问其中的变量。代码还可以被加密和/或编码,以提供另外的安全性措施。如描绘的,解码参数313可包括装置连接参数314、主机装置配置参数316、用户界面检索参数317和客户机配置参数318。
通常,装置连接参数314可包括在电子装置彼此配对之前,用于安全措施的验证代码和/或标识符。在一个实施例中,这些代码可以被嵌入到背景代码中,以帮助建立客户机到主机的连接。通信模式安全约束可以通过其背景连接过程中的客户机平台应用程序来满足。
通常,主机装置配置参数316可包括发送到主机装置的参数,以便使主机装置(例如电子装置302)能够进入适当的状态以结合客户机装置(例如电子装置301)操作。客户机和主机背景可使用这些配置参数以便建立装置之间的操作连接。可通知主机装置意图或背景模式,使得它充分准备好操作。
通常,客户机配置参数318驱动客户机装置接口。客户机配置参数318允许每个应用程序开发附加层,使得用户可以进入单个主机应用程序内的特定模式。例如,当配置电视主机应用程序来建立电视和移动装置之间的连接时,标准模式可以是以“远程模式”显示客户机移动装置界面,从而客户机装置充当电视遥控器。然而,当在发起与电视平台的连接之前,视频已经显示在客户机移动装置上时,客户机装置可以被设置成“视频流模式”,从而视频立即开始流到电视显示器。
此类型的参数还可以用来确定移动装置和主机装置之间的空间和/或关系数据。一些背景代码媒介具有不同属性的额外好处,可产生计算的空间或关系数据,进一步提高主机应用程序的能力。例如,除了存储位数据之外,快速响应(QR)代码还具有物理宽度和高度。这种特征可以与所抓取的照片中的实际的QR代码相关联,使得可以计算客户机装置关于显示的QR代码的角度和距离。
通常,用户界面检索参数317可以包括用来检索对于客户机装置特定背景距离的用户界面底部的识别参数。在一个实施例中,使用索引,以允许服务器(例如平台服务器303)搜索其数据库(例如UI数据库304),将请求与其用户界面配对物匹配。为达到此目的,每个用户界面和/或应用程序提交可以标记有识别参数,该识别参数用来便利客户机装置请求。
作为服务器对用户界面底部的请求的替代方式,客户机装置(例如电子装置301)还可以从主机装置(例如电子装置302)请求用户界面。在此情况下,主机装置通过它自己和客户机之间已建立的连接传送界面。这种技术提供几个优点。例如:1)它不要求访问万维网;2)所有的通信都是本地进行的,直接从装置到装置;和3)没有来自网络的下载瓶颈-与从外部服务器相比,从本地联网装置,传输通常更快。
这些客户机配置参数还允许单个主机应用程序具有多个背景代码。此特征允许应用程序具有统一的界面代码库,同时提供和/或限制对于不同用途情形的功能或显示元件。
例如,Wi-Fi路由可以使用两个QR代码。一个QR代码允许移动装置获得SSID和/或密码以允许快速连接到Wi-Fi。另一QR代码加载提供更多控制选项的管理界面,诸如允许用户调整密码,管理IP地址,和/或配置转发和/或其它任何操作设置的端口。
作为另一例子,有线电视应用程序可以提供两个QR代码。一个QR代码用于通常用途,例如允许任何用户浏览频道。另一QR代码允许用户调节父母设置,锁定频道等。
方法400包括使用解码参数的至少第一部分,以建立电子装置和另一电子装置之间的通信连接(403)。例如,装置连接参数314可发送到通信模块308。通信模块308可使用装置连接参数314,以建立与电子装置302的连接321。
在一个实施例中,连接321是蓝牙配对。蓝牙允许两个使能装置之间的直接连接,提供满足实现本发明的数据传输速率。在其它实施例中,连接321是某个其他种类的连接,举例说诸如ZigBee、Wi-Fi、GSM、3G、4G等等。
在另外的实施例中,可以使用通信模式的组合。例如,蓝牙或ZigBee可以用于大多数通信,但如果对于特定应用程序需要更高的数据传输速率,系统可以将通信模式切换成Wi-Fi,和/或提供更高数据传输速率的某个其它机制。
方法400包括通过已建立的通信连接将解码参数的至少第二部分发送到另一电子装置,解码参数的另一部分用于将另一电子装置初始化成适当状态以与电子装置结合操作(404)。例如,电子装置301可通过连接321将主机装置配置参数316发送到电子装置302。装置配置参数用于将电子装置302初始化成适当状态,以与电子装置301结合操作。
方法400包括使用解码参数的至少第三部分来获得与另一电子装置上驻存的应用程序接口的用户界面(405)。例如,电子装置301可以使用用户界面检索参数317来获得用户界面319。用户界面319可以用来与电子装置302上驻存的应用程序接口。在一些实施例中,电子装置301将用户界面检索参数317提交到平台服务器303。平台服务器303使用用户界面检索参数317来从UI数据库304内找出用户界面322。平台服务器303然后将用户界面数据322返回到电子装置301。在其它实施例中,电子装置301将用户界面检索参数317提交到电子装置302。作为响应,电子装置302将用户界面数据322返回到电子装置301。
电子装置301使用用户界面数据322来在电子装置301上加载用户界面319。用户界面319可以包括许多个不同元件中的任何一个元件。例如,用户界面319可以使用HTML、JavaScript、CSS和/或Flash、或其任意组合。用户界面319还可以包括XML、Java和/或Objective-C,其在移动装置中可以以母语提供。用户界面还可以包括由客户机平台应用程序理解的命令和/或指令。
方法400包括使用解码参数的至少第四部分来将用户界面初始化为与另一电子装置上驻存的应用程序兼容的状态(406)。例如,电子装置301可以使用客户机配置参数318来将用户界面319初始化成与电子装置302上驻存的应用程序兼容的状态。
用移动装置捕获QR代码
图5描绘了在配置电子装置之间的连接时使用的示例性QR代码501。图6A和图6B描绘了用客户机电子装置执行条形码捕获的用户。用户使用移动装置601来捕获QR代码501的图片。
现在参照图7,示出了用于配置电子装置之间的连接的方法700。响应于捕获QR代码501的图片,可以在移动装置601上启动方法700。
图7描绘了根据一个实施例的,服务器、客户机装置和主机装置之间的交互。在初始化阶段,在主机装置上安装软件(728),以驱动捕获过程,并管理主机装置和客户机装置之间的本地交互。主机装置还访问蓝牙连接,并被配置成准备好与客户机装置连接(730)。服务器机器被初始化,使得它准备好为客户机装置提供用户界面(724)。客户机装置加载基础应用程序(726),以便于该过程。
为了开始连接过程,客户机装置捕获QR代码501(或其它任何机器可读代码)的图片(732)。客户机装置然后解码QR代码501(734),以获得许多个变量,包括例如:用于蓝牙连接的代码(738)、用于从服务器或从主机装置检索用户界面材料的索引(758)、初始化客户机装置的状态的参数(766)和/或初始化主机装置的状态的参数(750)。
客户机装置使用连接代码(738)来通过蓝牙(736)建立与主机装置的连接。在一个实施例中,装置通过使用相同的代码(744)获得连接或配对。主机装置已经具有在其准备状态可用的连接代码,客户机装置从条形码扫描中检索该连接代码。
在主机装置和客户机装置之间建立蓝牙连接(740,746)之后,初始化参数(从条形码解码)从客户机传递到主机装置(748),以启动主机装置的状态(752),使得其操作补充客户机装置的操作(768)。
在至少一个实施例中,客户机装置向服务器发送请求(754),以将用户界面材料返回到客户机。例如,这可以与蓝牙连接的建立同步地进行。在一个实施例中,请求指定用户界面的索引,用户界面的索引是从解码条形码中检索的。服务器将索引与其数据库中的适当的用户界面匹配(758),将用户界面返回客户机(760)。还可以对主机装置进行此用户界面请求;在这种变形中,在建立蓝牙连接之后,主机装置向客户机装置发送用户界面材料。
用户界面材料可以是任何适当形式。例子包括:由此技术的应用程序理解的进程或命令、网络语言(HTML、JavaScript、CSS)和/或客户机的本地操作系统命令。
在用户界面被加载到客户机装置上之后(764),初始化参数(从条形码解码的)被传送到用户界面(766),以初始化客户机装置的状态(768),使得其操作补充主机装置的操作(752)。
替代性实施例
如上文提到的,在替代性实施例中,如果主机装置允许的话,客户机装置可以从主机装置请求用户界面(754)。在此情况下,在已经完成(740)之后,请求是通过蓝牙连接线路进行的。响应于该请求,主机装置提供有关用户界面,两个装置继续操作,如上文描述的,开始步骤762和748。
在此替代性实施例中,只有主机装置和客户机装置存在。这种实施例简化并使过程本地化,潜在提高安全性并可以有更快更直接的下载。
连接的装置之间的数据交换
图10描绘了用于交换数据的连接装置的架构1000的一个例子。如描绘的,电子装置1001和1002通过网络1003彼此通信。电子装置1001和1002各自以与图1中描绘的计算机架构100类似的方式配置。因此,电子装置1001、1002各自包括应用程序152和通信应用程序102。每个应用程序152包括通信包括的数据包103及响应处理机104。每个通信应用程序102包括预加载活动106、队列和路由服务107、108、QR编码和捕获功能112、蓝牙/WiFi功能113、回调114和网络功能116。
可以在每个电子装置1001、1002上的应用程序152和通信应用程序102之间促进应用程序到应用程序的数据传输121。使用网络功能116,通信应用程序102通过网络1003交换数据。如描绘的,可以进行可视数据传输122(例如UI数据的)和点对点数据传输123。
通信应用程序用户界面
通信应用程序(例如任何通信应用程序102、804、854等)可以包括用户界面来帮助用户访问通信应用程序的功能。现在参照图11A-11C,示出了根据至少一个实施例的,可以由通信应用程序102呈现的用户界面屏幕1100、1110、1120的各个例子。因此,通信应用程序102可以呈现关于当前连接和可访问的附近连接的信息,并且还可以允许用户访问并改变应用程序设置。
在至少一个实施例中,如图11A-11C所描绘的,标签(tab)1101提供访问不同类型的信息。在图11B描绘的屏幕1110上,已经选择“当前的连接”标签1101A,引起“当前的连接”列表1110的显示(在此例子中,列表是空的)。在如图11C描绘的屏幕1120上,已经选择“附近的连接”标签1101B,引起可访问的“附近的连接”列表1120的显示。
通信应用程序还可以显示用于激活各个通信相关功能的选项。例如,现在参照图12,示出了根据至少一个实施例的显示如之前描述的各个通信选项的用户界面屏幕1200的例子。按钮1201提供关于主机连接的信息;按钮1202显示QR代码;按钮1203激活用于扫描QR代码的界面。
通信应用程序还可以在显示装置上显示QR(或其它光可读代码)。例如,现在参照图13,示出了根据至少一个实施例的用于描绘移动装置上的QR代码1301的屏幕1300的例子。例如,在已经扫描QR代码1301之后,可以呈现此屏幕1300。给用户通过轻敲Cancel(取消)按钮1302来取消扫描和连接操作的机会。
通信应用程序还可以帮助捕获QR(或其它光可读)代码。例如,现在参照图14A和图14B,示出了根据至少一个实施例的,用于帮助捕获QR代码的屏幕1400、1410的例子。此屏幕1400、1410各自描绘了通过电子装置(例如装置601)的照相机所当前看到的图像,以便提供回馈以使用户能够适当地将电子装置与QR代码1301对准。可以提供任何适当的反馈以用于帮助此操作,诸如高亮显示屏幕区域和/或其它可视、听觉和/或触觉反馈。
本领域技术人员会认识到在这里描述的屏幕只是示例性的,在不偏离本发明的基本特征下可以使用其它布局和布置。
用户序列体验
图15描绘了根据至少一个实施例的彼此连接的电子装置的用户的示例性用户体验序列1500。用户可以与相应的电子装置上的用户界面屏幕交互(包括之前描述的用户界面屏幕),以将相应的电子装置彼此连接。
用户1501可以运行应用程序,表明期望与其它装置连接。作为响应,用户1501可以主持点对点连接,在相应的电子装置上显示QR会话代码。用户1502可以运行第三方或通信应用程序。用户1502可以激活并完成相应的电子装置上的QR会话捕获。可以完成在每个相应的电子装置上的连接,在相应的电子装置之间启动活动。
扩展用户界面
如描述的,本发明的实施例可以利用安卓操作系统。对于这些实施例,用户界面可以包括Webview。当通过通信应用程序完成连接时,可以进行附加步骤,此时一个电子(例如主机)装置向另一电子(例如客户机)装置发送功能HTML/Javascript数据包。
例如,在客户机装置上的通信应用程序内,Webview可以被初始化,并加载HTML和Javascript基础结构。此基础结构可以使用AJAX加载技术修改并构造。AJAX命令可以通过将Javascript事件注入到Webview上来从Java传送到Javascript,同时地触发它们。命令可以通过在超越Webview的Java等级上的类实例传送回Java,以提供Javascript等级的出口。
一旦完成连接,主机装置的通信应用程序可以从同一装置的第三方应用程序检索HTML/Javascript数据包。一旦获得,主机装置的通信应用程序可以通过连接将数据包发送到客户机装置。一旦通过客户机装置终端上的通信应用程序接收HTML/Javascript数据包,该代码数据包通过Javascript事件被注入到Webview中,并使用AJAX网页加载来加载到Webview中。
一旦加载了界面,用户能够从扩展UI内接收关于连接的通知和动作,还能够将命令给相应的通信应用程序。例如,用户可以按按钮或输入从Javascript向下传输到Java等级的信息,然后通过点对点通信线路中继。
类似机制可以用于利用iOS的本发明的实施例。对于iOS实施例,下面的安卓机制可以映射到iOS机制,如下:
Figure BDA0000393899580000431
Figure BDA0000393899580000441
对于iOS系统,活动和服务还可以被编程为获得与安卓系统类似的结果。
本发明的特征
在各个方面,本发明提供了超过现有技术的系统的几个特征和优点。下面描述这些特征和优点的例子。
存储特征
在一个实施例中,客户机装置上的客户机平台应用程序有存储之前配对的装置的背景代码的能力。在本发明的一个实施例中,客户机装置可以重新调用连接的全部背景代码。这允许客户机装置直接地前进到之前建立初始连接的目的,包括检索用户界面。
控制方面
在一个实施例中,本发明的系统允许客户机装置控制和/或利用主机装置的功能。例如,主机装置可以提供在客户机装置自身上也许不易得到的某种服务、功能、输入或输出装置:例子包括另外的屏幕空间、音频出口、视频出口、文本打印、餐厅预订系统等等。相应地,本发明的系统允许便携式客户机装置仅仅通过捕获背景代码的照片并执行本文中描述的步骤来立即容易地访问主机装置的特征。
装置网络方面
本文中描述的技术(包括与其存储特征耦合的背景代码技术的使用)创建用于装置联网的结构。客户机装置和主机装置可以用分组或联合激活的附加可能性,搜索它们的地点内的其它背景装置。这允许多个装置获得统一的目的或任务。例如,通过使用背景技术,用户在家使用他的/她的移动装置来浏览他的/她的桌面计算机上的电影。一旦选择要播放的电影,客户机装置定位之前同步的附近的大型电视屏幕。客户机装置提示用户是否想要在该装置上播放电影输入信号。用户确认,视频输入信号以流的方式送到电视装置。客户机装置还定位家庭立体声系统和照明控制,提示用户他/她是否想要控制这些装置。用户对这两者进行确认。结果是由使用本发明的技术同步的三个单独的系统提供的家庭影院体验。
在一个实施例中,提供单独的背景代码,其中的每个代码都与许多装置同步。例如,一旦到达办公室工作空间,雇员可以用他的/她的移动装置捕获单个QR代码,以与外部监视器、键盘、鼠标、打印机和Wi-Fi连接同步。
社交方面
在一个实施例中,本发明的系统允许多个客户机装置来促成单个主机装置会话。它允许用户与软件/用户界面空间以及硬件空间内的其它人交互。基本上,多个用户可以操纵并控制一个或多个同一装置。
例如,可以创建扑克牌应用程序,使得多个客户可以使用本发明加入到一个游戏中。主机装置可以加载扑克牌应用程序,并启动游戏实例。通过实例,可以显示背景代码,使得其它客户机装置可以捕获QR代码的照片,并自动地加入可用的游戏。这可以用于多个客户机装置,并可以用来形成客户机之间的社交网络,使得可以播放扑克牌游戏。
另一例子是通用音乐播放列表。可以创建汽车立体声适配器,使得用客户机装置捕获背景代码的照片自动地引起装置与适配器同步。用户界面可以包括开放播放列表,允许用户根据需要添加、跳过、排列或移动歌曲。本发明的社交方面允许多个用户将自己的歌曲加入到队列中,根据喜好排列队列中未来歌曲的顺序,而汽车音响连续地播放该播放列表中的歌曲。
同步组件
图8A描绘了用于同步电子装置之间的应用程序的示例性计算机架构800。如描绘的,计算机架构800包括电子装置801。电子装置801进一步包括第三方应用程序802和检测器803。在电子装置801的操作期间,第三方应用程序802可以尝试获得或创建背景代码811(例如QR代码)以与其它电子装置上的第三方应用程序结合使用。如之前描述的,这些操作可以包括与通信应用程序交互以进行适当处理。
检测器803可以检测在电子装置801上没有安装通信应用程序。作为响应,检测器803可以向电子装置801的用户呈现提示812(在电子装置801的输出装置的可听或可视指示)。提示812可以提醒用户安装通信应用程序。用户然后可以访问通信应用程序安装包813以安装通信应用程序804。
图8B描绘了用于同步电子装置之间的应用程序的另一示例性计算机架构850。如描绘的,计算机架构850包括电子装置851。电子装置851进一步包括通信应用程序854和检测器853。在电子装置851的操作期间,通信应用程序854可以获得背景代码861(例如QR代码)。背景代码861可以与其它电子装置上的第三方应用程序对应。如之前描述的,此操作可以包括电子装置851上的通信应用程序854和适当的第三方应用程序之间的交互以进行处理。
检测器853可以检测在电子装置851上没有安装适当的第三方应用程序。作为响应,检测器853可以向电子装置851的用户呈现提示862(在电子装置851的输出装置的可听或可视指示)。提示862可以提醒用户安装适当的第三方应用程序。用户然后可以访问第三方应用程序安装包863以安装第三方应用程序852。
图9描绘了用于同步电子装置之间的应用程序的示例性方法900的流程图。将参照在计算机架构800和850中描绘的组件和数据来描述方法900。
根据至少一个实施例,电子装置上的应用程序尝试以期望方式与背景代码交互,背景代码编码参数用于建立与其它电子装置的网络连接(901)。例如,第三方应用程序802可以尝试获得或创建背景代码811。
替代性地,通信应用程序854可以获得背景代码861。
方法900包括检测电子装置缺少用于以期望方式与背景代码交互的至少一个其它组件(902)。例如,检测器803可以检测电子装置801缺少通信应用程序来处理背景代码811和/或有关参数。替代性地,检测器853可以检测电子装置851缺少与背景代码861对应的第三方应用程序。
方法900包括提示在电子装置上安装至少一个其它组件(903)。例如,检测器803可以发出提示812以提示安装通信应用程序。替代性地,检测器853可以发出提示862以提示安装相应的第三方应用程序。
方法900包括响应于所述提示在电子装置上安装至少一个其它组件(904)。例如,电子装置801可以访问通信应用程序安装包813以安装通信应用程序804。替代性地,电子装置851可以访问第三方应用程序安装包863以安装第三方应用程序852。
方法900包括利用安装的至少一个其它组件来以期望方式与背景代码交互(905)。例如,第三方应用程序802可以与通信应用程序804交互以处理背景代码811和/或有关参数。替代性地,通信应用程序854可以与第三方应用程序852交互以处理背景代码861。
相应地,本发明的实施例可以使用背景代码,举例说诸如QR代码,以便于电子装置联网。电子装置之间的连接过程是自动化的。例如,一旦抓拍到图片,通信应用程序建立装置之间的连接,还用作连接的装置之间的端口。联网代码可以被大大简化,允许应用程序开发人员投入更多的资源来开发应用程序代码。
电子装置配置
在本发明的各个实施例中,电子装置,举例说诸如任一电子装置301,302、801、851、1001和/或1002,可以是被配置成启动和/或接收电子通信的任何电子装置;例如,智能手机、蜂窝电话、桌面计算机、膝上计算机、个人数字助理(PDA)、音乐播放器、手持计算机、平板电脑、一体机、游戏系统、电视等等。在至少一个实施例中,电子装置是可从Apple Inc.of Cupertino,California购买的iPhone4S,运行诸如iOS的操作系统,操作系统也可以从Apple Inc.of Cupertino,California购买。
在至少一个实施例中,任一电子装置301、302、801、851、1001和/或1002包括许多个本领域技术人员已知的硬件组件。例如,任一电子装置301、302、801、851、1001和/或1002可以包括输入装置104,举例说诸如键盘、鼠标、触摸屏、跟踪球、跟踪垫、五向开关、语音输入装置、操纵杆、和/或其任意组合。在输入装置是触摸屏的实施例中,虚拟键盘和/或其它输入元件可以根据已知技术显示于其上。还提供显示屏幕,用于显示用户界面,在用户界面中可以撰写和读取文本消息,并且用户可以根据本文中描述的技术读和/或与例如QR代码交互。任一电子装置301、302、801、851、1001和/或1002还可以包括其它(一个或多个)输入/输出装置(未显示),诸如麦克风、扬声器(一个或多个)、照相机(一个或多个)、按钮(一个或多个)、伺服电机(用于使能振动警报)等。根据已知手段,可以各种方式控制电子装置,包括语音控制。
任一电子装置301、302、801、851、1001和/或1002可以包括一个或多个处理器。处理器可以是传统的微处理器,用来根据已知技术在软件的指导下对数据执行操作。任一电子装置301、302、801、851、1001和/或1002还可以包括存储器。存储器可以是具有现有技术已知的结构和架构的随机存取存储器,以在运行软件过程中由处理器使用。任一电子装置301、302、801、851、1001和/或1002还可以包括通信界面。通信界面可以包括能够通过通信网络实现通信的任何软件和/或硬件。这种界面可以包括无线电,例如用于能够通过蜂窝电话网络或其它无线网络发射和接收数据。
任一电子装置301、302、801、851、1001和/或1002还可以包括数据存储器。数据存储器可以是任何磁的、光的和/或电存储装置,以存储数字形式的数据;例子包括闪速存储器、磁性硬盘驱动器、CD-ROM等等。
本领域技术人员会认识到所描述的硬件元件的布置只是示例性的,可以使用许多不同方式中的任何一种方式配置的不同的硬件元件来实施本发明。因此,任何描述的架构只是示意性的,决不旨在以任何方式限制本发明的范围。在替代性实施例中,可以以其它方式实施本发明的系统。
本领域技术人员会认识到本文中描绘和描述的例子只是示意性的,可以使用用户界面元件的其它布置。此外,在不偏离本发明的基本特征下,可以省略或改变所描绘的元件中的一些元件,及所描述的附加元件。
已经参照可能的实施例特别详细地描述了本发明。本领域技术人员会认识到可以在其它实施例中实践本发明。首先,组件的特殊命名、术语、属性、数据结构的大写或任何其它编程或结构方面不是强制性的或重要的,实施本发明的机制或其特征可以具有不同的名字、格式、或协议。进一步地,可以通过如描述的硬件和软件的组合,或者完全以硬件元件或者完全以软件元件来实施本系统。同样,本文中描述的各个系统组件之间的功能的特定分支只是示例性的,不是强制性的;由单个系统组件执行的功能实际上可以由多个组件执行,由多个组件执行的功能实际上可以由单个组件执行。
在各个实施例中,本发明可以实施为用于单独地或以任意组合执行上述技术的系统或方法。在另一实施例中,本发明可以实施为包括非暂态计算机可读存储介质和在介质上编码的计算机程序代码的计算机程序产品,用于引起计算装置或其它电子装置中的处理器来执行上述的技术。
在本说明书中提到“一个实施例”或“实施例”的意思是结合该实施例描述的特定特性、结构或特征包括于本发明的至少一个实施例中。短语“在至少一个实施例中”出现在说明书的各个位置不一定全部指相同的一个实施例或几个实施例。
上文中的一些部分是按照算法和对计算装置的存储器内的数据位操作的符号表示来呈现的。这些算法描述和表示是由数据处理领域的技术人员使用的手段,以最有效地向本领域其他技术人员传达工作的实质。算法在此通常被设计成产生期望结果的步骤(指令)的自我一致的顺序。步骤是那些要求对物理量进行物理操纵的步骤。通常,尽管非必要,这些量采用能够被存储、传输、组合、比较及以其它方式操纵的电的、磁的或光的信号的形式。主要出于常用用途原因,有时将这些信号称为位、值、元件、符号、字符、词语、数字等等是方便的。而且,有时在不丧失普遍性时,将要求对物理量进行物理操纵的步骤的某些布置称作模块或代码装置也是方便的。
然而,应当考虑到所有的这些术语及相似术语与适当的物理量关联,只是应用于这些量的方便标记。除非明确指示为与下文讨论的明显相反,否则要认识到在描述中,使用诸如“处理”或“演算”或“计算”或“显示”或“确定”等等的词语的讨论是指计算机系统或类似电子计算模块和/或装置的动作和处理,所述电子计算模块和/或装置操纵和转换表示为计算机系统存储器或寄存器或其它此类信息存储、传输或显示装置中的物理(电子)量的数据。
本发明的某些方面包括本文中描述的形式为算法的处理步骤和指令。应当注意的是,本发明的过程步骤和指令可以具体化为软件、固件和/或硬件,当具体化为软件时,可以下载以驻存在由各种操作系统使用的不同平台,并可由这些不同平台操作。
本发明还涉及用于执行本文中的操作的设备。此设备可针对所需目的进行专门构造,或者此设备可包括在处理器执行计算装置上的计算机程序时选择性激活或重新配置的通用计算装置。这种计算机程序可存储于计算机可读存储介质中,诸如但不限于任何类型的磁盘,包括软盘、光盘、DC-ROM、磁-光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、闪速存储器、固态驱动器、磁性或光学卡、专用集成电路(ASIC)或适于存储电子指令的任何类型的介质,它们分别耦连到计算机系统总线。进一步,本文中提到的计算装置可包括单个处理器,或者可以是为了增强计算能力而采用多处理器设置的架构。
本文中呈现的算法和显示器本质上与任何特定的计算装置、虚拟化系统或其它设备不相关。根据本文中的教导,各个通用系统还可以与程序一起使用,或者构造更加专用的执行所需方法步骤的设备也行证明是方便的。通过本文中提供的描述,各种类型的这些系统所需的结构是显然的。此外,没有参照任何特定的编程语言来描述本发明。应认识到,可以使用各种编程语言来实施如本文中描述的发明的教导,上文提到特定的语言是为了公开能够实现本发明及其最佳方式。
相应地,在各个实施例中,本发明可以实施为软件、硬件和/或用于控制计算机系统、计算装置或其它电子装置的其它元件、或其任意组合或其中的多个。根据本领域已知的技术,这种电子装置可包括例如处理器、输入装置(诸如键盘、鼠标、触摸屏、跟踪垫、操纵杆、跟踪球、麦克风、和/或其任意组合)、输出装置(诸如屏幕、扬声器、和/或等等)、存储器、长期存储器(诸如磁存储、光存储和/或等等)、和/或网络连接。这种电子装置可以是便携的或非便携的。可以用来实施本发明的电子装置的例子包括:移动电话、个人数字助理、智能手机、一体机、服务器计算机、企业级计算装置、桌面计算机、膝上计算机、平板电脑、消费电子装置、电视、机顶盒等等。用于实施本发明的电子装置可以使用任何操作系统,举例说诸如:Linux;可从Microsoft Corporation of Redmond,Washington购买的Microsoft Windows;可从Apple Inc.of Cupertino,California购买的MacOS X;可从Apple Inc.of Cupertino,California购买的iOS;可从Google,Inc.of Mountain View California购买的Android;和/或适于在装置上使用的任何其它操作系统。
尽管参照有限个实施例描述了本发明,但从上文中受益的本领域技术人员会认识到可以设计其它不偏离本文中描述的本发明的范围的实施例。此外,应当注意的是,说明书中使用的语言主要是为了可读性和指导目的而选择,不可以选择用于界定或限制本发明的主题。相应地,本发明的公开旨在是示意性的,而不是限制在权利要求中阐述的本发明的范围。

Claims (58)

1.一种在电子装置上的用于处理与电子装置之间的网络连接有关的命令的方法,所述电子装置包括处理器和系统存储器,所述方法包括:
从所述电子装置上的应用程序接收应用程序命令,所述应用程序命令与基于背景代码建立电子装置的连接有关;
将所述应用程序命令解释成至少一个背景代码命令的等效集合,所述集合中的每个背景代码命令与所述电子装置的操作系统兼容;
将至少一个背景代码命令的至少一个等效集合排队,以由路由服务使用,所述路由服务被配置成将背景代码命令路由到对应的通信处理服务;
使背景代码命令出队列到所述路由服务,所述背景代码命令是从所述集合中的至少一个背景代码命令中选择的;
所述路由服务将所述出队列的背景代码命令路由到至少一个适当的对应通信处理服务以进行处理;
确定处理所述背景代码命令的处理状态;以及
指示将所述处理状态送回到所述应用程序。
2.根据权利要求1所述的方法,其中,从所述电子装置上的应用程序接收应用程序命令包括接收应用程序命令以对背景代码进行编码。
3.根据权利要求2所述的方法,其中,接收应用程序命令以对背景代码进行编码包括接收应用程序命令以使用参数对机器可读代码进行编码,所述参数可用来建立电子装置之间的网络连接。
4.根据权利要求3所述的方法,其中,接收应用程序命令以使用参数对机器可读代码进行编码包括接收应用程序命令,以对二维光可读代码进行编码。
5.根据权利要求3所述的方法,其中,接收应用程序命令以使用参数对机器可读代码进行编码包括接收应用程序命令,以对机器可读代码进行编码,所述机器可读代码通过以下当中的至少一个进行传输:
近场通信(NFC);以及
射频识别(RFID)。
6.根据权利要求1所述的方法,其中,从所述电子装置上的应用程序接收应用程序命令包括接收应用程序命令以对背景代码进行解码。
7.根据权利要求6所述的方法,其中,接收应用程序命令以对背景代码进行解码包括接收应用程序命令以对机器可读代码进行解码,所述机器可读代码具有编码参数,所述编码参数可用来建立电子装置之间的网络连接。
8.根据权利要求7所述的方法,其中,接收应用程序命令以对机器可读代码进行解码包括接收应用程序命令以对二维光可读代码进行解码的动作。
9.根据权利要求7所述的方法,其中,接收应用程序命令以对机器可读代码进行解码包括接收至少一个应用程序命令以通过近场通信(NFC)和射频识别(RFID)中的至少一个对背景代码进行解码的动作。
10.根据权利要求1所述的方法,其中,从所述电子装置上的应用程序接收应用程序命令包括接收JSON对象。
11.根据权利要求1所述的方法,其中,将所述应用程序命令解释成至少一个背景代码命令的等效集合包括将所述应用程序命令解释成与安卓操作系统兼容的至少一个意图的等效集合。
12.根据权利要求11所述的方法,其中,将所述应用程序命令解释成与安卓操作系统兼容的至少一个意图的等效集合包括将以下当中的至少一个解释成与安卓操作系统兼容的至少一个意图的等效集合:
(a)编码背景代码命令;以及
(b)解码背景代码命令。
13.根据权利要求1所述的方法,其中,将所述应用程序命令解释成至少一个背景代码命令的等效集合包括将所述应用程序命令解释成与iOS操作系统兼容的至少一个URL参数的等效集合。
14.根据权利要求13所述的方法,其中,将所述应用程序命令解释成与iOS操作系统兼容的至少一个URL参数的等效集合包括将以下当中的至少一个解释成与iOS操作系统兼容的至少一个URL参数的等效集合:
(a)编码背景代码命令;以及
(b)解码背景代码命令。
15.根据权利要求1所述的方法,其中,所述路由服务将所述出队列的背景代码命令路由到所述至少一个适当的对应通信处理服务以进行处理包括所述路由服务将所述出队列的背景代码命令路由到蓝牙处理服务和QR代码处理服务中的至少一个。
16.一种在第一电子装置上的用于配置所述第一电子装置和第二电子装置之间的连接的方法,所述第一电子装置包括处理器和系统存储器,所述第一电子装置还包括输入装置,所述方法包括:
激活所述输入装置以捕获背景代码,所述背景代码存储用于配置电子装置之间的通信连接的编码参数;
将所述编码参数解码成解码参数;
使用所述解码参数的至少第一部分,建立所述第一电子装置和所述第二电子装置之间的通信连接;以及
通过已建立的通信连接将所述解码参数的至少第二部分发送到所述第二电子装置,所述解码参数的第二部分用于将所述第二电子装置初始化为适当状态,以联合所述第一电子装置一起操作。
17.根据权利要求16所述的方法,进一步包括:
使用所述解码参数的至少第三部分,获得用户界面以用来与在所述第二电子装置上驻存的应用程序接口;以及
使用所述解码参数的至少第四部分,将所述用户界面初始化成与所述第二电子装置上驻存的应用程序兼容的状态。
18.根据权利要求17所述的方法,其中,使用所述解码参数的至少第三部分获得用户界面包括:
识别能识别所述第二电子装置上驻存的应用程序的解码参数;
将所述识别的解码参数发送到平台服务器;以及
从所述平台服务器接收所述用户界面。
19.根据权利要求17所述的方法,其中,使用所述解码参数的至少第三部分获得用户界面包括:
向所述第二电子装置请求所述用户界面;以及
从所述第二电子装置接收所述用户界面。
20.根据权利要求16所述的方法,其中,激活所述输入装置以捕获背景代码包括激活照相机以捕获光可读条形码。
21.根据权利要求16所述的方法,其中,激活所述输入装置以捕获背景代码包括使用近场通信(NFC)和射频识别(RFID)中的至少一个来捕获背景代码。
22.一种在第一电子装置上的用于将所述第一电子装置上的应用程序与第二电子装置上的应用程序同步的方法,使得两个应用程序可以使用背景代码建立彼此之间的网络连接,所述第一电子装置包括处理器和系统存储器,所述方法包括:
所述第一电子装置上的应用程序尝试以期望方式与背景代码交互,所述背景代码对用于建立与另一电子装置的网络连接的参数编码;
检测所述第一电子装置缺少用于以所述期望方式与所述背景代码交互的至少一个组件;
提示在所述第一电子装置上安装所述至少一个组件;
响应于所述提示,在所述第一电子装置上安装所述至少一个组件;以及
利用安装的至少一个组件以所述期望方式与所述背景代码交互。
23.根据权利要求22所述的方法,其中:
在所述第一电子装置上的应用程序尝试以期望方式与背景代码交互包括应用程序尝试与背景代码交互;以及
检测所述第一电子装置缺少用于与所述背景代码交互的至少一个部件包括检测所述第一电子装置缺少被配置成处理背景代码的通信应用程序。
24.根据权利要求23所述的方法,其中,应用程序尝试与背景代码交互包括所述应用程序尝试扫描光可读代码。
25.根据权利要求24所述的方法,其中,所述应用程序尝试扫描光可读代码包括所述应用程序尝试扫描QR代码。
26.根据权利要求24所述的方法,其中,响应于所述提示,在所述第一电子装置上安装所述至少一个组件包括安装所述通信应用程序。
27.根据权利要求22所述的方法,其中,应用程序尝试与背景代码交互包括所述应用程序尝试显示光可读代码。
28.根据权利要求27所述的方法,其中,所述应用程序尝试显示光可读代码包括所述应用程序尝试显示QR代码。
29.根据权利要求27所述的方法,其中,响应于所述提示,在所述第一电子装置上安装所述至少一个组件包括安装所述通信应用程序。
30.根据权利要求22所述的方法,其中,应用程序尝试与背景代码交互包括所述应用程序尝试通过近场通信(NFC)和射频识别(RFID)中的至少一个与背景代码交互。
31.根据权利要求22所述的方法,其中,在所述第一电子装置上的应用程序尝试以期望方式与背景代码交互包括所述通信应用程序尝试处理应用程序的背景代码,所述通信应用程序被配置成处理用于建立电子装置之间的网络连接的背景代码;以及
其中,检测所述第一电子装置缺少与所述背景代码交互的至少一个部件包括检测所述电子装置缺少所述应用程序。
32.根据权利要求31所述的方法,其中,通信应用程序尝试处理用于第三方应用程序的背景代码包括所述通信应用程序尝试处理用于所述应用程序的光扫描代码。
33.根据权利要求32所述的方法,其中,响应于所述提示,在所述电子装置上安装所述至少一个组件包括安装所述应用程序。
34.一种在电子装置上使用的计算机程序产品,所述计算机程序产品用于实施处理与电子装置之间的网络连接有关的命令的方法,所述计算机程序产品包括至少一个计算机可读存储介质,所述计算机可读存储介质上存储了计算机可执行指令,当所述计算机可执行指令由处理器执行时,引起所述第一电子装置:
从第三方应用程序接收至少一个背景代码命令,所述至少一个背景代码命令与所述电子装置的操作系统兼容;
对所述至少一个背景代码命令进行排队以由路由服务使用,所述路由服务被配置成将背景代码命令路由到对应的通信处理服务;
使背景代码命令出队列到所述路由服务,所述背景代码命令从所述至少一个背景代码命令中选择;
将所述出队列的背景代码命令路由到至少一个适当的对应通信处理服务以进行处理;
确定处理所述背景代码命令的处理状态;以及
指示将所述处理状态送回所述应用程序。
35.根据权利要求34所述的计算机程序产品,其中,被执行时引起所述电子装置接收至少一个背景代码命令的所述计算机可执行指令包括被执行时引起所述电子装置接收与安卓操作系统兼容的至少一个意图的计算机可执行指令。
36.根据权利要求35所述的计算机程序产品,其中,被执行时引起所述电子装置接收与安卓操作系统兼容的至少一个意图的计算机可执行指令包括被执行时引起所述电子装置接收(a)编码背景代码命令和(b)解码背景代码命令中的至少一个的计算机可执行指令。
37.根据权利要求34所述的计算机程序产品,其中,被执行时引起所述电子装置接收至少一个背景代码命令的所述计算机可执行指令包括被执行时引起所述电子装置接收与iOS操作系统兼容的至少一个URL参数的计算机可执行指令。
38.根据权利要求37所述的计算机程序产品,其中,被执行时引起所述电子装置接收与iOS操作系统兼容的至少一个URL参数的计算机可执行指令包括被执行时引起所述电子装置接收(a)编码背景代码命令和(b)解码背景代码命令中的至少一个的计算机可执行指令。
39.根据权利要求34所述的计算机程序产品,其中,被执行时引起所述电子装置将出队列的背景代码命令路由到至少一个适当的对应通信处理服务以进行处理的计算机可执行指令包括被执行时引起所述电子装置将出队列的背景代码命令路由到蓝牙处理服务和QR代码处理服务中的至少一个的计算机可执行指令。
40.一种在第一电子装置上使用的计算机程序产品,所述第一电子装置还包括输入装置,所述计算机程序产品用于实施用于配置所述第一电子装置和第二电子装置之间的连接的方法,所述计算机程序产品包括至少一个计算机存储介质,所述计算机存储介质上存储了计算机可执行指令,所述计算机可执行指令被处理器执行时引起所述第一电子装置:
激活所述输入装置以捕获背景代码,所述背景代码存储了用于配置电子装置之间的通信连接的编码参数;
将所述编码参数解码成解码参数;
使用所述解码参数的至少第一部分,建立所述第一电子装置和所述第二电子装置之间的通信连接;以及
通过已建立的通信连接将所述解码参数的至少第二部分发送到所述第二电子装置,所述解码参数的第二部分用于将所述第二电子装置初始化为适当状态,以联合所述第一电子装置一起操作。
41.根据权利要求40所述的计算机程序产品,进一步包括被执行时引起所述第一电子装置执行以下操作的计算机可执行指令:
使用所述解码参数的至少第三部分,获得用户界面以用来与在所述第二电子装置上驻存的应用程序接口;以及
使用所述解码参数的至少第四部分,将所述用户界面初始化成与所述第二电子装置上驻存的应用程序兼容的状态。
42.根据权利要求41所述的计算机程序产品,其中,被执行时引起所述第一电子装置使用所述解码参数的至少第三部分获得用户界面的计算机可执行指令包括被执行时引起所述第一电子装置执行以下操作的计算机可执行指令:
识别能识别所述第二电子装置上驻存的应用程序的解码参数;
将所述识别的解码参数发送到平台服务器;以及
从所述平台服务器接收所述用户界面。
43.根据权利要求41所述的计算机程序产品,其中,被执行时引起所述第一电子装置使用所述解码参数的至少第三部分获得用户界面的计算机可执行指令包括被执行时引起所述第一电子装置执行以下操作的计算机可执行指令:
向所述第二电子装置请求所述用户界面,以及
从所述第二电子装置接收所述用户界面。
44.根据权利要求40所述的计算机程序产品,其中,被执行时引起所述第一电子装置激活所述输入装置捕获背景代码的计算机可执行指令包括被执行时引起所述第一电子装置激活照相机以捕获光可读条形码的计算机可执行指令。
45.根据权利要求40所述的计算机程序产品,其中,被执行时引起所述第一电子装置激活所述输入装置捕获背景代码的计算机可执行指令包括被执行时引起所述第一电子装置使用近场通信(NFC)和射频识别(RFID)中的至少一个捕获背景代码的计算机可执行指令。
46.一种在第一电子装置上使用的计算机程序产品,所述计算机程序产品用于实施将所述第一电子装置上的应用程序与第二电子装置上的应用程序同步的方法,使得两个应用程序可以使用背景代码建立彼此之间的网络连接,所述计算机程序产品包括至少一个计算机存储介质,所述计算机存储介质上存储了计算机可执行指令,所述计算机可执行指令由处理器执行时,引起所述第一电子装置:
尝试以期望方式与背景代码交互,所述背景代码对用于建立与另一电子装置的网络连接的参数编码;
检测所述第一电子装置缺少用于以所述期望方式与所述背景代码交互的至少一个组件;
提示在所述第一电子装置上安装所述至少一个组件;
响应于所述提示,在所述第一电子装置上安装所述至少一个组件;以及
利用安装的至少一个组件以所述期望方式与所述背景代码交互。
47.根据权利要求46所述的计算机程序产品,其中,被执行时引起所述第一电子装置尝试与背景代码交互的计算机可执行指令包括被执行时引起所述第一电子装置尝试扫描光可读代码的计算机可执行指令。
48.根据权利要求47所述的计算机程序产品,其中,被执行时引起所述第一电子装置尝试扫描光可读代码的计算机可执行指令包括被执行时引起所述第一电子装置尝试扫描QR代码的计算机可执行指令。
49.根据权利要求46所述的计算机程序产品,其中,被执行时引起所述第一电子装置尝试与背景代码交互的计算机可执行指令包括被执行时引起所述第一电子装置尝试显示光可读代码的计算机可执行指令。
50.根据权利要求49所述的计算机程序产品,其中,被执行时引起所述第一电子装置显示光可读代码的计算机可执行指令包括被执行时引起所述第一电子装置尝试显示QR代码的计算机可执行指令。
51.根据权利要求46所述的计算机程序产品,其中,被执行时引起所述第一电子装置尝试与背景代码交互的计算机可执行指令包括被执行时引起所述第一电子装置尝试通过近场通信(NFC)和射频识别(RFID)之一与背景代码交互的计算机可执行指令。
52.根据权利要求46所述的计算机程序产品,其中,被执行时引起所述第一电子装置尝试与背景代码交互的计算机可执行指令包括被执行时引起所述第一电子装置尝试处理应用程序的背景代码的计算机可执行指令,所述应用程序被配置成处理用于建立电子装置之间的网络连接的背景代码;以及
其中,被执行时引起所述第一电子装置检测所述第一电子装置缺少与所述背景代码交互的至少一个部件的计算机可执行指令包括被执行时引起所述第一电子装置检测所述电子装置缺少所述应用程序的计算机可执行指令。
53.一种用于处理与电子装置之间的网络连接有关的命令的系统,包括:
至少一个处理器;
系统存储器,所述系统存储器可通信地耦连到所述至少一个处理器;
通信包括的数据包,所述通信包括的数据包用于与所述至少一个处理器结合工作,所述通信包括的数据包被配置成:
从电子装置上的应用程序接收应用程序命令,所述应用程序命令与基于背景代码建立电子装置的连接有关;
将所述应用程序命令转换成至少一个背景代码命令的等效集合,所述集合中的每个背景代码命令与所述电子装置的操作系统兼容;以及
将所述至少一个背景代码命令发送到通信应用程序;以及
通信应用程序,所述通信应用程序与所述至少一个处理器结合操作,所述通信应用程序包括预加载活动、队列服务和路由服务;
其中,所述预加载活动被配置成:
从所述通信包括的数据包中接收所述至少一个背景代码命令;以及
将所述至少一个背景代码命令转发到所述队列服务以进行排队;
其中,所述队列服务被配置成:
从所述预加载活动接收所述至少一个背景代码命令;
将所述至少一个背景代码命令排队以由所述路由服务使用;以及
将背景代码命令出队列到所述路由服务,所述背景代码命令是从所述至少一个背景代码命令中选择的;以及
其中,所述路由服务被配置成将所述至少一个出队列的背景代码命令路由到至少一个适当的对应通信处理服务以进行处理。
54.根据权利要求53所述的系统,其中,所述通信应用程序进一步包括回调,所述回调被配置成:
确定在所述至少一个适当的对应通信服务上处理至少一个背境代码命令的处理状态;以及
指示将所述处理状态返回所述通信包括的数据包。
55.根据权利要求54所述的系统,其中,所述通信包括的数据包进一步包括响应处理机,所述响应处理机被配置成:
接收由所述回调指示的至少一个处理状态;以及
将所述接收的至少一个处理状态解释成用于所述应用程序的至少一个应用程序功能。
56.根据权利要求53所述的系统,其中,所述通信包括的数据包被配置成基于扫描二维光代码来接收与建立电子装置的连接有关的应用程序命令。
57.根据权利要求53所述的系统,其中,所述通信包括的数据包被配置成通过以下当中的至少一个,接收与基于在所述电子装置接收的至少一个通信来建立电子装置的连接有关的应用程序命令:
近场通信(NFC);以及
射频识别(RFID)。
58.根据权利要求53所述的系统,其中,所述路由被配置成通过将所述至少一个出队列的背景代码命令路由到以下当中的至少一个,来将所述至少一个出队列的背景代码命令路由到至少一个适当的对应通信处理服务:
至少一个宏功能;
至少一个QR功能;以及
至少一个蓝牙功能。
CN201280017905.9A 2011-06-03 2012-05-29 建立电子装置之间的连接 Pending CN103493009A (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161492961P 2011-06-03 2011-06-03
US61/492,961 2011-06-03
US13/481,487 2012-05-25
US13/481,487 US8998076B2 (en) 2011-06-03 2012-05-25 Establishing connections among electronic devices
PCT/US2012/039864 WO2012166734A2 (en) 2011-06-03 2012-05-29 Establishing connections among electronic devices

Publications (1)

Publication Number Publication Date
CN103493009A true CN103493009A (zh) 2014-01-01

Family

ID=47260254

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280017905.9A Pending CN103493009A (zh) 2011-06-03 2012-05-29 建立电子装置之间的连接

Country Status (4)

Country Link
US (1) US8998076B2 (zh)
EP (1) EP2715528A2 (zh)
CN (1) CN103493009A (zh)
WO (1) WO2012166734A2 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468739A (zh) * 2014-11-20 2015-03-25 北京安奇智联科技有限公司 消息处理方法、客户端和移动终端
CN107534581A (zh) * 2015-04-17 2018-01-02 微软技术许可有限责任公司 重新配置相互连接的加速部件中间的加速部件
CN108376172A (zh) * 2018-02-27 2018-08-07 北京金和网络股份有限公司 移动客户端的网页本地化方法
US20190155669A1 (en) 2015-06-26 2019-05-23 Microsoft Technology Licensing, Llc Partially reconfiguring acceleration components
US10819657B2 (en) 2015-06-26 2020-10-27 Microsoft Technology Licensing, Llc Allocating acceleration component functionality for supporting services
US11010198B2 (en) 2015-04-17 2021-05-18 Microsoft Technology Licensing, Llc Data processing system having a hardware acceleration plane and a software plane
US11099906B2 (en) 2015-04-17 2021-08-24 Microsoft Technology Licensing, Llc Handling tenant requests in a system that uses hardware acceleration components

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9142122B2 (en) * 2010-11-25 2015-09-22 Panasonic Intellectual Property Corporation Of America Communication device for performing wireless communication with an external server based on information received via near field communication
US9323713B2 (en) * 2011-11-14 2016-04-26 Screenovate Technologies Ltd. Method for automatic establishing wireless connectivity between a mobile wireless device and a target screen for multimedia data streaming
WO2013103342A1 (en) * 2012-01-04 2013-07-11 Draeger Medical Systems, Inc. Patient identification and monitoring system
EP2815551B1 (en) 2012-02-14 2020-01-15 Intel Corporation Peer to peer networking and sharing systems and methods
US10051467B2 (en) * 2013-01-23 2018-08-14 Microsoft Technology Licensing, Llc Restricted-use authentication codes
US9124582B2 (en) * 2013-02-20 2015-09-01 Fmr Llc Mobile security fob
WO2014143776A2 (en) 2013-03-15 2014-09-18 Bodhi Technology Ventures Llc Providing remote interactions with host device using a wireless device
KR102054941B1 (ko) * 2013-05-02 2020-01-22 한국전자통신연구원 융합 서비스 제공을 위한 스마트 디바이스들의 동적 네트워킹 설정 장치 및 설정 방법
CN104219667B (zh) * 2013-05-31 2018-05-11 华为终端(东莞)有限公司 用于建立连接的方法及设备
JP6488290B2 (ja) 2013-06-28 2019-03-20 コーニンクレッカ フィリップス エヌ ヴェKoninklijke Philips N.V. Bluetooth(登録商標)パーティモードのためのシステム、方法、及び、装置
KR101514535B1 (ko) 2013-08-02 2015-04-22 주식회사 다음카카오 퍼스널 컴퓨터를 통한 모바일 디바이스 입력 방법 및 장치
US10410196B1 (en) * 2013-11-29 2019-09-10 Intuit Inc. System and method to enable payment using mark generation and mobile device
US9668131B2 (en) 2014-01-24 2017-05-30 Htc Corporation Mobile device and wireless pairing method
US20150248352A1 (en) * 2014-02-28 2015-09-03 Dell Products, L.P. Methods and systems for optimization of storage performance across multiple compute devices
TW201536098A (zh) * 2014-03-11 2015-09-16 友勁科技股份有限公司 網路裝置與網路連線建立方法
CN104144470B (zh) * 2014-03-12 2015-12-30 腾讯科技(深圳)有限公司 一种蓝牙连接方法和客户端
WO2015155384A1 (es) * 2014-04-11 2015-10-15 Scanandapp, S.L. Método establecimiento de una comunicación con usuarios de una red
US10043185B2 (en) 2014-05-29 2018-08-07 Apple Inc. User interface for payments
US9967401B2 (en) 2014-05-30 2018-05-08 Apple Inc. User interface for phone call routing among devices
JP5702493B1 (ja) * 2014-06-30 2015-04-15 グリー株式会社 制御方法、制御プログラム及びコンピュータ
TWI647608B (zh) 2014-07-21 2019-01-11 美商蘋果公司 遠端使用者介面
CA2960793A1 (en) * 2014-08-15 2016-02-18 Beam Authentic, Inc. Systems for handling media for wearable display devices
US10339293B2 (en) 2014-08-15 2019-07-02 Apple Inc. Authenticated device used to unlock another device
US10066959B2 (en) 2014-09-02 2018-09-04 Apple Inc. User interactions for a mapping application
US9547419B2 (en) * 2014-09-02 2017-01-17 Apple Inc. Reduced size configuration interface
TWI600322B (zh) 2014-09-02 2017-09-21 蘋果公司 用於操作具有整合式相機之電子器件之方法及相關電子器件,以及非暫時性電腦可讀取儲存媒體
CN104618437B (zh) * 2014-12-31 2018-01-12 成都卓影科技有限公司 一种与android终端设备系统设置接口的适配方法
US9574896B2 (en) 2015-02-13 2017-02-21 Apple Inc. Navigation user interface
RU2633181C2 (ru) * 2015-03-04 2017-10-11 Общество С Ограниченной Ответственностью "Яндекс" Способ связывания графического элемента ресурса с одним или несколькими экранами электронного устройства и электронное устройство, которое его реализует
US10254911B2 (en) 2015-03-08 2019-04-09 Apple Inc. Device configuration user interface
US20160285791A1 (en) * 2015-03-27 2016-09-29 Min-Lee Teng Method and a system for establishing a communication channel using instant messge services
US20160358133A1 (en) 2015-06-05 2016-12-08 Apple Inc. User interface for loyalty accounts and private label accounts for a wearable device
CN106714084B (zh) * 2016-12-19 2019-11-12 四川长虹电器股份有限公司 安卓智能设备快速连接蓝牙的方法
US11107367B2 (en) * 2017-03-27 2021-08-31 Apple Inc. Adaptive assembly guidance system
US11012496B2 (en) * 2017-08-10 2021-05-18 Citrix Systems, .Inc. Mobile-optimized file transfer mechanism based on QR code
US10887193B2 (en) 2018-06-03 2021-01-05 Apple Inc. User interfaces for updating network connection settings of external devices
US10938558B2 (en) * 2018-12-17 2021-03-02 Zebra Technologies Corporation Authentication for connecting a barcode reader to a client computing device
US11301130B2 (en) 2019-05-06 2022-04-12 Apple Inc. Restricted operation of an electronic device
DK201970533A1 (en) 2019-05-31 2021-02-15 Apple Inc Methods and user interfaces for sharing audio
US20240032121A1 (en) * 2022-07-20 2024-01-25 Snap Inc. Secure peer-to-peer connections between mobile devices

Family Cites Families (45)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001059569A2 (en) 2000-02-09 2001-08-16 Apriva, Inc. Communication systems, components, and methods with programmable wireless devices
US7969990B2 (en) 2002-07-25 2011-06-28 Oded Shmueli Routing of data including multimedia between electronic devices
US8639819B2 (en) 2004-02-05 2014-01-28 Nokia Corporation Ad-hoc connection between electronic devices
US20100081375A1 (en) 2008-09-30 2010-04-01 Apple Inc. System and method for simplified control of electronic devices
US20060075075A1 (en) 2004-10-01 2006-04-06 Malinen Jouni I Method and system to contextually initiate synchronization services on mobile terminals in an enterprise environment
US7426403B2 (en) 2005-01-28 2008-09-16 Intel Corporation Methods and apparatus for data communication for mobile electronic devices
EP1872564B1 (en) 2005-04-19 2010-05-05 Nokia Corporation Method, device and system for controlling application launching in a mobile terminal device
US7562383B2 (en) 2005-04-20 2009-07-14 Fuji Xerox Co., Ltd. Systems and methods for a dynamic user interface proxy using physical keys
TW200729892A (en) 2005-11-16 2007-08-01 Nokia Corp System and method for establishing bearer-independent and secure connections
US7546083B2 (en) 2006-01-24 2009-06-09 Apple Inc. Multimedia data transfer for a personal communication device
EP1832998A1 (en) 2006-03-07 2007-09-12 Hitachi, Ltd. Method of interfacing between electronic devices, method of operating a portable storage device, electronic device and electronic system
US7835736B2 (en) 2006-04-03 2010-11-16 Disney Enterprises, Inc. System and method for initializing a portable communication device within a group at a point of activation
WO2007129237A1 (en) 2006-05-08 2007-11-15 Koninklijke Philips Electronics N.V. Method of transferring application data from a first device to a second device, and a data transfer system
US20070287418A1 (en) * 2006-06-13 2007-12-13 Dell Products L.P. Establishing Data Communications
US8761664B2 (en) 2006-09-20 2014-06-24 Nokia Corporation Near field connection establishment
US8041951B2 (en) 2006-09-29 2011-10-18 Intel Corporation Code-based communication connection management
US7965981B2 (en) 2006-09-29 2011-06-21 Sony Ericsson Mobile Communications Ab Device and method for content searching between peer devices
US20080172340A1 (en) 2007-01-15 2008-07-17 Thomas Karlsson Method and system for carrying out a transaction between a mobile device and a terminal
US8543831B2 (en) 2007-11-14 2013-09-24 Qimonda Ag System and method for establishing data connections between electronic devices
WO2009079407A2 (en) 2007-12-14 2009-06-25 Jagtag Corp Apparatuses, methods, and systems for a code-mediated content delivery platform
US9047743B2 (en) 2008-03-18 2015-06-02 Sony Corporation Sophisticated automated relationship alerter
ES2386164T3 (es) 2008-03-27 2012-08-10 Motorola Mobility, Inc. Método y aparato para la selección automática de una aplicación de comunicación de campo cercano en un dispositivo electrónico
ES2436117T3 (es) 2008-03-27 2013-12-27 Motorola Mobility Llc Método y aparato para la selección automática de aplicaciones en un dispositivo electrónico utilizando múltiples administradores de descubrimiento
US8762891B2 (en) 2008-05-30 2014-06-24 T-Mobile Usa, Inc. Relationship-based and context-based user interfaces for exchanging data
US8342407B2 (en) * 2008-07-21 2013-01-01 Gilbarco, Inc. System and method for pairing a bluetooth device with a point-of-sale terminal
US8060627B2 (en) 2008-09-30 2011-11-15 Apple Inc. Device-to-device workflows
US8850052B2 (en) 2008-09-30 2014-09-30 Apple Inc. System and method for simplified resource sharing
US8215546B2 (en) 2008-09-30 2012-07-10 Apple Inc. System and method for transportation check-in
EP2211480B1 (en) 2009-01-26 2013-10-23 Motorola Mobility LLC Wireless communication device for providing at least one near field communication service
US20100222000A1 (en) 2009-02-27 2010-09-02 Research In Motion Limited Methods And Apparatus For Use In Selectively Retrieving And Displaying User Interface Information Of A Wireless Peripheral Device
US9270420B2 (en) 2009-04-24 2016-02-23 Samsung Electronics Co., Ltd. Data communication using 2D bar codes
US20100288828A1 (en) 2009-05-14 2010-11-18 Aisaku Pradhan Accessible user interface for electronic devices
US8412185B2 (en) 2009-09-14 2013-04-02 Nokia Corporation Method and apparatus for switching devices using near field communication
US8572375B2 (en) 2009-09-23 2013-10-29 Microsoft Corporation Device pairing based on graphically encoded data
US8312392B2 (en) 2009-10-02 2012-11-13 Qualcomm Incorporated User interface gestures and methods for providing file sharing functionality
US8879994B2 (en) 2009-10-02 2014-11-04 Blackberry Limited Methods and devices for facilitating Bluetooth pairing using a camera as a barcode scanner
US20110270751A1 (en) 2009-12-14 2011-11-03 Andrew Csinger Electronic commerce system and system and method for establishing a trusted session
US8666437B2 (en) 2010-01-05 2014-03-04 Iota, Inc. Mobile communications resource management system
US8438288B2 (en) * 2010-02-17 2013-05-07 Microsoft Corporation Device-pairing by reading an address provided in device-readable form
US8262000B2 (en) 2010-04-29 2012-09-11 Sd-X Interactive Method and system for encoding and decoding data
US8789131B2 (en) 2010-05-14 2014-07-22 Lg Electronics Inc. Electronic device and method of sharing contents thereof with other devices
CN103098500B (zh) 2010-07-20 2016-10-12 Lg电子株式会社 电子设备、电子系统和使用其提供信息的方法
US8358596B2 (en) 2010-09-20 2013-01-22 Research In Motion Limited Communications system providing mobile wireless communications device application module associations for respective wireless communications formats and related methods
US8823494B1 (en) 2010-11-19 2014-09-02 Logitech Europe S.A. Systems and methods for wireless device connection and pairing
US9069448B2 (en) 2010-12-03 2015-06-30 Salesforce.Com, Inc. Filtering objects in a multi-tenant environment

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104468739A (zh) * 2014-11-20 2015-03-25 北京安奇智联科技有限公司 消息处理方法、客户端和移动终端
CN107534581A (zh) * 2015-04-17 2018-01-02 微软技术许可有限责任公司 重新配置相互连接的加速部件中间的加速部件
CN107534581B (zh) * 2015-04-17 2020-12-04 微软技术许可有限责任公司 重新配置加速部件的方法、设备和计算机可读存储介质
US11010198B2 (en) 2015-04-17 2021-05-18 Microsoft Technology Licensing, Llc Data processing system having a hardware acceleration plane and a software plane
US11099906B2 (en) 2015-04-17 2021-08-24 Microsoft Technology Licensing, Llc Handling tenant requests in a system that uses hardware acceleration components
US20190155669A1 (en) 2015-06-26 2019-05-23 Microsoft Technology Licensing, Llc Partially reconfiguring acceleration components
US10819657B2 (en) 2015-06-26 2020-10-27 Microsoft Technology Licensing, Llc Allocating acceleration component functionality for supporting services
US10977104B2 (en) 2015-06-26 2021-04-13 Microsoft Technology Licensing, Llc Partially reconfiguring acceleration components
CN108376172A (zh) * 2018-02-27 2018-08-07 北京金和网络股份有限公司 移动客户端的网页本地化方法

Also Published As

Publication number Publication date
US20130134212A1 (en) 2013-05-30
US8998076B2 (en) 2015-04-07
EP2715528A2 (en) 2014-04-09
WO2012166734A3 (en) 2013-04-04
WO2012166734A2 (en) 2012-12-06

Similar Documents

Publication Publication Date Title
CN103493009A (zh) 建立电子装置之间的连接
US10257286B2 (en) Emulating a wireless connection using a wired connection
KR101921144B1 (ko) 하나 이상의 확장 애플리케이션과 상호작용하는 메시징 애플리케이션
EP2784666B1 (en) Method and device for displaying service pages for executing applications
WO2017193822A1 (zh) 一种网页运行方法及装置、终端、存储介质
CN107004413A (zh) 扩展数字个人助理动作提供者
US11204681B2 (en) Program orchestration method and electronic device
JP6258475B2 (ja) クライアントデバイスにメディアアセットを提供するための方法
KR20170024170A (ko) 소셜 네트워킹 서비스들 및 어플리케이션들로의 감각 기능성들의 통합
KR101772361B1 (ko) 메신저를 통한 컨텐츠 제공 방법과 시스템 및 기록 매체
JP2015509223A (ja) 個人用装置によるパブリックディスプレイの制御
EP3139319A1 (en) Service providing device for cancelling ticket, ticket cancel guide system comprising the same, control method thereof and non-transitory computer readable storage medium having computer program recorded thereon
KR20160136837A (ko) 메신저를 통한 컨텐츠 제공 방법과 시스템 및 기록 매체
KR20140126152A (ko) 음악 컨텐츠 이용 서비스 제공 방법 및 서버
US20170195129A1 (en) Method and device to control secondary devices
KR101602397B1 (ko) 라우터 액세스 제어 방법, 장치, 라우터, 프로그램 및 저장매체
KR20170050235A (ko) 사용자 장치, 서비스 제공 장치, 액세스 포인트, 그를 포함하는 음원 정보 제공 시스템, 그의 제어 방법 및 컴퓨터 프로그램이 기록된 기록매체
CN107535013A (zh) 一种业务处理方法及终端
KR20240095902A (ko) 리모콘으로 동작하는 구분된 컴퓨터 시스템을 통해 컴퓨터 시스템에서 실행되는 호스트 어플리케이션을 제어하는 방법 및 시스템
KR101827925B1 (ko) 음성 통화 시 시각적인 부가 서비스를 제공하기 위한 장치, 방법 및 모바일 서비스 시스템
KR101369310B1 (ko) 가상의 애인 게임 서비스 제공 방법 및 서버
CN118138845A (zh) 直播互动方法、装置、电子设备、存储介质和程序产品
Garg et al. Android Communication
JP2019041381A (ja) インターネット電話サービスの通話自動連結方法およびシステム
KR20150005371A (ko) 클라이언트-서버 환경을 이용한 호출 서비스 방법 및 그 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20140101