TW201502787A - 使用配件協定經由無線傳輸之主機與配件裝置間之通信 - Google Patents

使用配件協定經由無線傳輸之主機與配件裝置間之通信 Download PDF

Info

Publication number
TW201502787A
TW201502787A TW103119840A TW103119840A TW201502787A TW 201502787 A TW201502787 A TW 201502787A TW 103119840 A TW103119840 A TW 103119840A TW 103119840 A TW103119840 A TW 103119840A TW 201502787 A TW201502787 A TW 201502787A
Authority
TW
Taiwan
Prior art keywords
accessory
host device
message
agreement
protocol
Prior art date
Application number
TW103119840A
Other languages
English (en)
Other versions
TWI561990B (en
Inventor
Lawrence G Bolton
Jason J Yew
Robert J Walsh
Awartika Pandey
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Apple Inc filed Critical Apple Inc
Publication of TW201502787A publication Critical patent/TW201502787A/zh
Application granted granted Critical
Publication of TWI561990B publication Critical patent/TWI561990B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W80/00Wireless network protocols or protocol adaptations to wireless operation
    • H04W80/02Data link layer protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/382Information transfer, e.g. on bus using universal interface adapter
    • G06F13/385Information transfer, e.g. on bus using universal interface adapter for adaptation of a particular data processing system to different peripheral devices
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup
    • H04W76/14Direct-mode setup
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2213/00Indexing scheme relating to interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F2213/38Universal adapter
    • G06F2213/3814Wireless link with a computer system port
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W76/00Connection management
    • H04W76/10Connection setup

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Small-Scale Networks (AREA)

Abstract

一種配件可與諸如一攜帶型電子裝置之一主機裝置無線通信。可不加修改地使用經開發用於有線通信之現有配件協定,且連接兩個裝置之一無線網路可提供連接該兩個裝置之一傳輸器或頻道。建立一無線頻道可涉及兩個裝置之主動參與。舉例而言,該主機裝置可建立及識別待由該配件使用之虛擬埠,其後該配件可在彼虛擬埠上起始通信。一主機裝置可經組態以在各種特定條件下在於一無線網路上偵測到某些配件時自動連接至彼配件。亦提供一配件與一主機裝置之間的配件協定通信之加密。

Description

使用配件協定經由無線傳輸之主機與配件裝置間之通信 [相關申請案之交叉引用]
本申請案主張於2014年6月4日申請之名為「Communication Between Host and Accessory Devices Using Accessory Protocols via Wireless Transport」之美國申請案第14/296,302號之優先權,該美國申請案主張於2013年6月7日申請之美國臨時申請案第61/832,650號之優先權。以上兩個申請案之各別揭示內容以全文引用之方式併入本文中。
本發明大體而言係關於主機裝置與配件裝置之間的通信,且特定而言係關於使用配件協定經由無線傳輸之主機與配件裝置間之通信。
攜帶型電子裝置可儲存資料物件及為使用者提供對資料物件之互動式存取,該等資料物件包括各種格式之媒體檔案(音訊、視訊、影像)、文件、藝術品檔案、個人資料(例如聯繫人、行事曆)、表格等。因此,使用者可操作攜帶型電子裝置來聽音樂、看電影、檢視及管理個人資訊等。在一些情況下,攜帶型電子裝置亦可(例如)經由音訊或視訊記錄、使用靜態相機照相、收集及處理使用者輸入或類似方 式建立資料物件。
一些攜帶型電子裝置亦可與各種配件通信以增強使用者與裝置之互動。舉例而言,攜帶型電子裝置可連接至配件,其具有相較於攜帶型電子裝置更大的顯示器或更大功率的揚聲器或更方便的使用者介面。此等配件可用於呈現儲存於攜帶型電子裝置上之媒體內容及其他資訊及與該媒體內容及其他資訊互動。
本發明之某些實施例係關於允許配件(亦稱為配件裝置)與諸如攜帶型電子裝置之主機裝置(亦稱為主機)無線通信。可不加修改地使用經開發用於有線通信之現有配件協定,且連接兩個裝置之無線網路可提供連接兩個裝置之傳輸器或頻道。建立無線頻道可涉及兩個裝置之主動參與。舉例而言,如下文所述,建立主機裝置與配件之間的無線頻道之前提條件可包括主機裝置建立及識別待由配件使用之虛擬埠,其後配件可在彼虛擬埠上起始通信。主機裝置可經組態以在於無線網路上偵測到某些配件時自動(亦即,無使用者介入)連接至彼配件。可以匹配使用者期望之方式管理自動連接功能性。在一些實施例中,可在配件協定內選擇性地加密配件與主機裝置之間的配件協定通信。
以下實施方式連同隨附圖式將提供對本發明之本質及優點之更好的理解。
100‧‧‧主機裝置
102‧‧‧配件
104‧‧‧顯示區域
106‧‧‧帶槽框
108‧‧‧控制按鈕
110‧‧‧無線通信介面
112‧‧‧揚聲器
114‧‧‧顯示器
116‧‧‧使用者可操作控制項
118‧‧‧無線通信介面
120‧‧‧插圖
122‧‧‧程式
124‧‧‧工作階段層
126‧‧‧連結層
128‧‧‧埠
130‧‧‧插圖
132‧‧‧系統功能
134‧‧‧工作階段層
136‧‧‧連結層
138‧‧‧埠
140‧‧‧訊息/資料
200‧‧‧系統
202‧‧‧主機裝置
204‧‧‧配件
210‧‧‧處理子系統
212‧‧‧儲存裝置
214‧‧‧使用者介面
216‧‧‧網路介面
218‧‧‧配件輸入/輸出(I/O)介面
230‧‧‧控制器
232‧‧‧使用者介面裝置
233‧‧‧儲存媒體
234‧‧‧配件特定硬體
236‧‧‧主機I/O介面
300‧‧‧協定堆疊
302‧‧‧實體傳輸
304‧‧‧協定精靈協助程式
306‧‧‧埠
307‧‧‧自動連接清單
308‧‧‧協定管理器
309‧‧‧加密模組
310‧‧‧連結層
312‧‧‧工作階段層
314‧‧‧控制工作階段
316‧‧‧訊息工作階段
318‧‧‧資料傳送工作階段
330‧‧‧支援層
332‧‧‧應用程式
400‧‧‧用於將配件連接至網路之程序
402‧‧‧區塊
404‧‧‧區塊
406‧‧‧區塊
408‧‧‧區塊
410‧‧‧區塊
412‧‧‧區塊
414‧‧‧區塊
416‧‧‧區塊
500‧‧‧用於建立配件協定通信頻道之程序
502‧‧‧區塊
504‧‧‧區塊
506‧‧‧區塊
508‧‧‧區塊
510‧‧‧區塊
512‧‧‧區塊
514‧‧‧區塊
516‧‧‧區塊
518‧‧‧區塊
520‧‧‧區塊
522‧‧‧區塊
600‧‧‧用於建立配件協定通信頻道之程序
602‧‧‧區塊
604‧‧‧區塊
606‧‧‧區塊
608‧‧‧區塊
610‧‧‧區塊
612‧‧‧區塊
614‧‧‧區塊
616‧‧‧區塊
700‧‧‧用於測試連接之程序
701‧‧‧區塊
702‧‧‧區塊
704‧‧‧區塊
706‧‧‧區塊
708‧‧‧區塊
710‧‧‧區塊
712‧‧‧區塊
714‧‧‧區塊
716‧‧‧區塊
800‧‧‧用於判定是否要使用連結層加密之程序
802‧‧‧區塊
804‧‧‧區塊
806‧‧‧區塊
808‧‧‧區塊
810‧‧‧區塊
812‧‧‧區塊
814‧‧‧區塊
816‧‧‧區塊
818‧‧‧區塊
820‧‧‧區塊
圖1展示根據本發明之一實施例之主機裝置及配件。
圖2為根據本發明之一實施例之包括主機裝置及配件之系統的簡化方塊圖。
圖3為展示根據本發明之一實施例之主機裝置內之程序的進一步細節的方塊圖。
圖4為根據本發明之一實施例之用於將配件連接至網路之程序的 流程圖。
圖5為根據本發明之一實施例之用於建立配件協定通信頻道之程序的流程圖。
圖6為根據本發明之一實施例之用於建立配件協定通信頻道之程序的流程圖。
圖7為根據本發明之一實施例之用於測試連接之程序的流程圖。
圖8為根據本發明之一實施例之用於判定是否要使用連結層加密之程序的流程圖。
本發明之某些實施例係關於允許配件(亦稱為配件裝置)與諸如攜帶型電子裝置之主機裝置(亦稱為主機)無線通信。可不加修改地使用經開發用於有線通信之現有配件協定,且連接兩個裝置之一無線網路可提供連接該兩個裝置之一傳輸器或頻道。建立一無線頻道可涉及兩個裝置之主動參與。舉例而言,如下文所述,建立主機裝置與配件之間的無線頻道之前提條件可包括主機裝置建立及識別待由配件使用之虛擬埠,其後配件可在彼虛擬埠上起始通信。主機裝置可經組態以在於無線網路上偵測到某些配件時自動(亦即,無使用者介入)連接至彼配件。可以匹配使用者期望之方式管理自動連接功能性。在一些實施例中,可在配件協定內選擇性地加密配件與主機裝置之間的配件協定通信。
圖1展示根據本發明之一實施例之主機裝置100及配件102。
主機裝置100可為(例如)手持裝置(諸如媒體播放器、智慧型電話或個人數位助理)、平板電腦、膝上型電腦、桌上型電腦或能夠發送資料及與其他裝置通信之任何其他電子裝置。在一些實施例中,主機裝置100可為攜帶型裝置(意謂易於由使用者攜帶至各處以在不同位置使用的裝置),但此並非必需。在所示實例中,主機裝置100為一平板 電腦,其具有由帶槽框106環繞之顯示區域104及控制按鈕108。主機裝置100可具有無線通信介面110。(儘管介面110在圖1中由外部天線表示,但應理解,任何天線或介面110之其他硬體組件之全部或部分可實體地位於主機裝置100之殼體內部。)無線通信介面110可支援由主機裝置100界定之虛擬埠與各種外部裝置之間的資料傳送。可使用習知或其他無線協定。在一些實施例中,主機裝置100亦可(例如)經由多接腳插座連接器(未展示)提供實體連接。
配件102可為能夠與主機裝置100互動之任何配件,諸如揚聲器銜接座或揚聲器系統、媒體控制台、汽車音響主機、按摩椅、燈、車庫開門器或類似物。配件102可具有各種使用者介面組件,諸如揚聲器112、顯示器114及使用者可操作控制項116。配件102可具有無線通信介面118。(儘管在圖1中介面118由外部天線表示,但應理解,任何天線或介面118之其他硬體組件之全部或部分可實體地位於配件102之殼體內部。)無線通信介面118可支援由配件102界定之虛擬埠與各種外部裝置之間的資料傳送。可使用習知或其他無線協定。在一些實施例中,配件102亦可(例如)經由多接腳插頭連接器(未展示)提供實體連接。
無線介面110及118可(例如)使用射頻通信技術(諸如Wi-Fi或藍芽、近場通信技術、紅外線通信或類似物)支援主機裝置100與配件102之間的無線通信。在一些實施例中,亦可(例如)使用可存在於兩個裝置中之互補連接器提供有線訊號路徑。在一些實施例中,多個通信路徑或頻道可並行建立於主機裝置100與配件102之間,其中不同類型之資訊被選擇性地經由不同路徑路由。
如插圖120中所示,主機裝置100可提供協定堆疊以支援與配件102之通信。協定堆疊可包括各種應用程式及作業系統程式122,其可實施主機裝置之功能性,包括可與配件102互通之功能性。工作階段 層124可介於程式122與下部層之間以最佳化程式122與配件102之間的不同類型之資訊之通信。連結層126可將資料傳輸及接收之細節與工作階段層124分離或隱藏該等細節,且埠128可(經由有線及/或無線頻道)傳輸及接收訊號以實現資料及/或訊息140之通信。
如插圖130中所示,配件102可提供協定堆疊以支援與主機裝置100之通信。此堆疊可與主機側堆疊類似或相同。在此情況下,系統功能132可在硬體及/或軟體中(例如作為應用程式或作業系統程式、配件韌體及/或專用邏輯電路)實施。工作階段層134可介於功能132與下部層之間以最佳化系統功能132與主機裝置100之間的不同類型之資訊的通信。連結層136可將資料傳輸及接收之細節與工作階段層134分離或隱藏該等細節,且埠138可(經由有線及/或無線頻道)傳輸及接收訊號以實現資料及/或訊息140之通信。通信可為雙向的。
主機側及配件側協定堆疊可實施相同配件協定,其可界定訊息及/或封包格式、訊息參數及回應於協定之具體訊息待採取之行動或產生之效應。下文描述配件協定及協定堆疊之實例。
將瞭解,圖1之主機裝置及配件係說明性的,且變化及修改係可能的。主機裝置及/或配件可實施任何功能性組合。在一些實施例中,主機裝置及/或配件可(例如)使用多個實體埠或邏輯埠並行連接至多個裝置。
圖2為根據本發明之一實施例之包括主機裝置202及配件204之系統200的簡化方塊圖。在此實施例中,主機裝置202(例如實施圖1之主機裝置100)可提供計算、通信及/或媒體播放能力。主機裝置202可包括處理子系統210、儲存裝置212、使用者介面214、網路介面216及配件輸入/輸出(I/O)介面218。主機裝置202亦可包括其他組件(未明確展示),諸如電池、電源控制器及可操作以提供各種增強能力之其他組件。
儲存裝置212可(例如)使用磁碟、快閃記憶體或任何其他非暫時性儲存媒體或媒體之組合實施,且可包括揮發性及/或非揮發性媒體。在一些實施例中,儲存裝置212可儲存資料物件,諸如音訊檔案、視訊檔案、影像或藝術品檔案、關於使用者之聯繫人之資訊(姓名、地址、電話號碼等)、關於使用者之經排程約會及事件之資訊、備註及/或其他類型之資訊。在一些實施例中,儲存裝置212亦可儲存待由處理子系統210執行之一或多個應用程式(例如,視訊遊戲程式、個人資訊管理程式、媒體播放程式等)及/或一或多個作業系統程式或其他韌體以實施及支援各種裝置層級能力,包括協定堆疊,以根據配件協定支援與配件的通信。
使用者介面214可包括:輸入裝置,諸如觸控板、觸控螢幕、滾輪、點按選盤(click wheel)、撥號盤、按鈕、開關、小鍵盤、麥克風或類似物;以及輸出裝置,諸如視訊螢幕、指示燈、揚聲器、耳機插孔或類似物;以及支援電子器件(例如,數位至類比轉換器或類比至數位轉換器、訊號處理器或類似物)。使用者可操作使用者介面214之輸入裝置以調用主機裝置202之功能性,及可經由使用者介面214之輸出裝置檢視及/或收聽來自主機裝置202之輸出。
處理子系統210可實施為一或多個積體電路,例如一或多個單核心或多核心微處理器或微控制器,其實例在此項技術中已知。在操作中,處理子系統210可控制主機裝置202之操作。在各種實施例中,處理子系統210可回應於程式碼執行各種程式,及可維持多個並行執行之程式或程序。在任一給定時間,待執行之一些或所有程式碼可駐留於處理子系統210中及/或諸如儲存裝置212之儲存媒體中。
經由合適之程式化,處理子系統210可提供主機裝置202之各種功能性。舉例而言,處理子系統210可控制無線收發器(例如,網路介面216及/或配件I/O介面218之部分)以偵測可無線連接至主機裝置202 之配件(例如配件204)。回應於偵測到來自配件204之連接,處理子系統210可起始各種工作階段以與配件204(或其他配件)通信,且此種通信可包括剖析自配件204接收之訊息。處理子系統210亦可設置及維持用於管理工作階段與一或多個配件之間的通信之連結層。下文描述工作階段及連結層之實例。處理子系統210亦可執行其他程式以控制主機裝置202之其他功能,該等程式包括可儲存於儲存裝置212中之應用程式;在一些實施例中,該等應用程式可包括導致與配件204之互動之指令,且處理子系統210可使用協定堆疊(例如,如下文所述)執行此等互動。
網路介面216可為主機裝置202提供語音及/或資料通信能力。在一些實施例中,網路介面216可包括:用於(例如使用蜂巢式電話技術、進階資料網路技術(諸如3G或EDGE)、Wi-Fi(IEEE 802.11系列標準)或其他行動通信技術或其任何組合)存取無線語音及/或資料網路之射頻(RF)收發器組件;用於(例如使用藍芽標準)進行近程無線網路連接之組件;支援專屬無線網路連接技術(諸如定製網狀網路、直接無線連結或類似物)之組件、GPS接收器組件;及/或其他組件。在一些實施例中,除無線介面之外,網路介面216亦可提供有線網路連接性(例如,乙太網路)。網路介面216可使用硬體組件(例如,驅動電路、天線、調變器/解調變器、編碼器/解碼器及其他類比及/或數位訊號處理電路)及軟體組件之組合實施。
配件I/O介面218可允許主機裝置202與各種配件通信。舉例而言,配件I/O介面218可支援與以下各者之連接:電腦、外部鍵盤、揚聲器銜接座或媒體播放站、數位相機、無線電調諧器、車載娛樂系統或音響主機、外部視訊裝置、記憶卡讀取器等。在一些實施例中,配件I/O介面218可(例如,經由Wi-Fi、藍芽或其他無線傳輸)支援無線通信。與網路介面216相同之無線收發器硬體可用於網路連接及配件通 信兩者;例如,如下文所述,Wi-Fi網路或其他無線網路可用作配件協定訊息之傳輸器。另外,在一些實施例中,配件I/O介面218可包括連接器(諸如對應於用於各種iPod®、iPhone®及iPad®產品中之連接器的連接器)以及支援電路。因此,配件I/O介面218可支援多個通信頻道,且給定配件可使用任何或所有該等頻道。
配件204(例如,實施圖1之配件102)可包括控制器230、使用者介面裝置232、儲存媒體233、其他配件特定硬體234及主機I/O介面236。配件204代表可與主機裝置互通之廣泛類別之配件,且此等配件在能力、複雜性及外觀尺寸方面可大為不同。各種配件可包括圖2中未明確展示之組件,包括(但不限於):具有固定或可卸除式儲存媒體之儲存裝置(磁碟、快閃記憶體等);視訊螢幕、揚聲器或用於連接至外部音訊/視訊裝置之埠;相機組件,諸如透鏡、影像感測器及其控制項(例如,孔徑、變焦、曝光時間、圖框率等);用於記錄音訊之麥克風(單獨地抑或結合視訊記錄)等。另外,一些配件可提供可連接至並與另一配件通信的額外介面(未展示)。
控制器230可包括(例如)一或多個單核心或多核心微處理器及/或微控制器,其執行程式碼以執行與配件204相關聯之各種功能。舉例而言,在配件204併入有使用者可操作控制項(例如圖1之控制項116)之情況下,控制器230可解譯使用者對控制項之操作及作為回應調用配件202之功能性;在一些情況下,所調用功能性可包括發送資訊至主機裝置202及/或自主機裝置202接收資訊。控制器230亦可實施協定堆疊,以根據配件協定支援與主機裝置之通信。
使用者介面232可包括:使用者可操作輸入裝置,諸如觸控板、觸控螢幕、滾輪、點按選盤、撥號盤、按鈕、開關、小鍵盤、麥克風或類似物;以及輸出裝置,諸如視訊螢幕、指示燈、揚聲器、耳機插口或類似物;以及支援電子器件(例如數位至類比轉換器或類比至數 位轉換器、訊號處理器或類似物)。視特定配件202之實施而定,使用者可操作使用者介面232之輸入裝置以調用配件202之功能性。
儲存媒體233可併入有任何類型之資料儲存媒體,包括(但不限於)磁碟、快閃記憶體或任何其他非暫時性儲存媒體或媒體之組合,且可包括揮發性及/或非揮發性媒體。儲存媒體233可用於儲存待由控制器230執行之程式碼、自主機裝置202接收之資料物件及可在配件204之操作中產生及/或使用之任何其他資料或指令。在一些實施例中,儲存媒體233可僅包括揮發性儲存器,(例如)對於可藉由以點對點方式抑或經由網路自另一裝置接收程式碼而啟動之配件而言。
配件特定硬體234可包括可存在於配件204中的任何其他組件,以啟用其功能性。舉例而言,在各種實施例中,配件特定硬體234可包括使用固定或可卸除式儲存媒體之一或多個儲存裝置、GPS接收器、網路介面、電源供應器及/或功率管理電路、環境感測器(例如,溫度感測器、壓力感測器、加速計、化學品感測器等)等。應理解,可藉由提供適當之配件特定硬體234來支援任何類型之配件功能性。
主機I/O介面236可允許配件204與主機裝置202通信。在一些實施例中,主機I/O介面236可(例如,經由Wi-Fi、藍芽或其他無線傳輸)支援無線通信,且可包括適當收發器及訊號處理電路及軟體或韌體。另外,在一些實施例中,主機I/O介面236可包括直接與包括在主機裝置202中之連接器配對之連接器,諸如與用於各種iPod®、iPhone®及iPad®產品中之連接器互補之連接器。
配件204可為與主機裝置202互動之任何電子設備。在一些實施例中,配件204可提供對主機裝置202之操作之遠端控制或可提供遠端使用者介面,其可包括輸入及輸出控制項(例如,顯示自主機裝置202獲得之當前狀態資訊之顯示器螢幕)。在各種實施例中,配件204可控制主機裝置202之任何功能,且亦可接收來自主機裝置202之資料及/ 或控制訊號。在其他實施例中,主機裝置202可控制配件204之操作,諸如自配件204之儲存媒體擷取所儲存之資料,藉由併入至配件204中之相機起始影像捕獲操作等。在一些實施例中,配件204可按需要並行具有使用相同協定或不同協定之與主機裝置202及一或多個其他裝置之通信頻道。
將瞭解,本文中所描述之系統組態及組件係說明性的,且變化及修改係可能的。主機裝置及/或配件可具有未在本文中具體描述之其他能力(例如,行動電話、全球定位系統(GPS)、寬頻資料通信、網際網路連接性等)。
進一步地,雖然在本文中參閱特定區塊描述主機裝置及配件,但應理解,該等區塊係為了方便描述而界定且該等區塊不意欲暗示組件部分之特定實體配置。進一步地,區塊不需要對應於實體上不同之組件且相同實體組件可用於實施多個區塊之態樣。區塊可經組態以(例如)藉由程式化處理器或提供適當的控制電路來執行各種操作,且視獲得初始組態之方式而定,各種區塊可能為可重新組態或不可重新組態的。可在包括使用電路及軟體之任何組合來實施的電子裝置之各種設備中實現本發明之實施例。
主機裝置202之配件I/O介面218及配件204之主機I/O介面236允許主機裝置202與配件204連接且隨後與配件204斷開連接。如本文中所使用,主機裝置及配件每當在其各別介面之間建立了特別指定用於配件協定通信之通信頻道時「連接」,而在頻道終止時「斷開連接」。此種連接可經由直接實體連接(例如,使用配對連接器)、間接實體連接(例如,經由纜線)及/或無線連接(例如,經由Wi-Fi或藍芽)達成。在一些實施例中,用於配件協定通信之通信頻道可附掛(piggyback)於另一傳輸器(例如,有線或無線電力傳輸器)上或可包括使配件協定通信在另一協定(例如,HTTP或HTTPS協定)內穿隧。
在一些實施例中,主機裝置及配件可在連接之同時藉由根據「配件協定」交換訊息及資料而進行通信,該「配件協定」可為由主機裝置之製造商開發之專屬或開放協定(例如,由Apple公司開發之iPod配件協定(「iAP」))。可(例如)使用由相關I/O介面提供之無線傳輸媒體傳達訊息及資料。配件協定可大部分或完全與傳輸器無關(transport-agnostic);亦即,可在不考慮傳輸媒體(例如,有線或無線)或傳輸層級協定之情況下使用相同訊息及資料格式,該傳輸媒體或傳輸層級協定提供藉以交換配件協定訊息及資料的頻道。在一些情況下,配件協定可指定用以建立頻道之操作序列,且一些或所有該等操作可特定針對特定傳輸媒體或傳輸層級協定。下文描述用以建立用於配件協定通信之無線通信頻道之操作序列之實例。
配件協定可界定訊息之「總體(universe)」,該等訊息可在主機裝置202與連接至主機裝置之配件(諸如配件204)之間交換。訊息格式可包括:(例如)開始位元或位元序列以指示之後為訊息碼,接著為可由接收端解譯及處理之實際訊息碼。至少一些訊息碼可具有由協定界定之一或多個相關聯參數,且除了訊息碼之外,訊息亦可包括任何此等參數之值。在一些情況下,協定可進一步指定在未接收到與訊息碼相關聯之特定參數之情況下或在隨訊息碼接收到非預期參數之情況下接收端之行為。參數數目對於不同訊息可能不同,且在一些情況下,參數可具有可變長度。在一些實施例中,訊息碼可經界定以使得給定訊息碼在僅一個方向上有效。亦可使用其他訊息結構。
配件協定亦可界定用於在連結層處封包化訊息之格式。舉例而言,配件協定可指定訊息係使用一或多個封包發送,每一封包具有標頭及有效負載。標頭提供基本資訊(例如,開始指示符、封包長度、封包序列號、與封包相關聯之工作階段之識別符,如下所述),而有效負載提供所有或部分的訊息資料。封包亦可包括如此項技術中已知 之錯誤偵測或錯誤校正碼。連結層可記錄所發送及/或接收之封包,及可實施用以核對封包遞送之操作。舉例而言,對於接收之封包,連結層可發送應答、執行錯誤檢查及在偵測到不可校正之錯誤時請求重傳輸。對於傳輸之封包,連結層可接收應答,及可重傳輸未經應答及/或接收裝置請求重傳輸的封包。該等及其他連結層操作可與封包內容無關。
在一些實施例中,由配件協定界定之訊息之總體可在邏輯上分組成「通用」訊息集及「選用之」訊息集。可要求使用配件協定之每一配件及每一主機裝置至少支援通用訊息集。此訊息集可包括使主機裝置及配件能夠互相識別及鑑認自身及提供關於其各別能力之資訊的訊息,該等能力包括各自支援的選用之集中之那些訊息(若存在)。舉例而言,通用訊息集可包括配件可發送至主機裝置以起始配件協定通信之「偵測」訊息、主機可回應於該偵測訊息而發送至配件以請求配件識別自身之「請求識別」訊息(或偵測訊息),及配件可發送至主機以提供識別資訊之識別訊息(或訊息序列)。識別可包括(例如):提供關於配件裝置之基本資訊,諸如製造商、型號名稱、序列號、韌體版本、裝置類別資訊;列出選用之訊息集中的裝置能夠發送及/或接收之特定訊息;提供關於輸入/輸出能力、加密能力之資訊等。通用訊息集亦可包括主機裝置可使用以核對配件之所聲稱的身分及能力(或反之亦然)之鑑認訊息,且在鑑認不成功時,可阻止配件(或主機裝置)調用某些(或全部)選用之訊息。
選用之訊息集可包括與可能或可能不在給定配件中得到支援之各種功能性相關之訊息。舉例而言,選用之訊息集可包括:簡單遠端控制訊息,其允許配件識別待調用之主機裝置之功能;遠端使用者介面訊息,其可用於獲得與在配件上複製主機裝置之所有或部分使用者介面(從而支援更進階遠端控制)相關之資訊;允許使用者藉由操作主 機裝置來控制配件中之無線電調諧器及/或藉由操作配件來控制主機裝置中之無線電調諧器之訊息;促進資料物件在主機裝置與配件之間的傳送之訊息等。可在配件協定中界定選用之訊息之任何組合,且不要求給定配件或主機裝置支援所有(或甚至任一)選用之訊息。
圖3為展示根據本發明之一實施例之主機裝置202(或主機裝置101)內之程序之進一步細節的方塊圖。所示各種程序可對應於在圖2之處理子系統210中執行之程式,且可提供協定堆疊300(例如實施圖1之插圖120中之協定堆疊)。類似協定堆疊可在配件204中實施(例如,實施圖1之插圖130中之協定堆疊)。在一些實施例中,多個處理器晶片或單個晶片內之多個處理器核心可用於實施各種程序。一些或所有處理器可為執行軟體及/或韌體程式之可程式化通用處理器,或一些或所有處理器可為數位訊號處理器、具有內建功能性之狀態機或其任何組合。協定堆疊300可用於配件協定通信。
實體傳輸器302可包括:天線、訊號接腳、驅動器、數位至類別轉換器、編碼器、RF電路及可操作以在實體傳輸器(諸如接腳、導線或光纖)、無線傳輸器(例如RF載波)或類似者上發送及接收訊號之其他組件。特定細節視傳輸器而定,且可使用習知或其他傳輸器。在一些實施例中,實體傳輸器302實施Wi-Fi傳輸器,且能夠將傳入及傳出之Wi-Fi通信路由至主機裝置上之多個不同埠(包括圖3中所示之埠306)及自該等埠路由通信;在相同主機裝置內,不同埠可具有不同相關聯之協定堆疊。因此,例如,實體傳輸器302可自一配件向埠306路由任何傳入之通信(已與該配件建立至埠306之配件協定連接),且實體傳輸器302可自其他裝置(例如,諸如路由器之無線網路存取點)將通信路由至主機裝置之其他埠(圖3中未展示)。下文描述建立至埠306之連接之實例。
協定精靈協助程式304可藉由管理各種實體埠或虛擬埠來控制配 件協定通信。在一些實施例中,協定精靈協助程式304可界定對應於每一所建立之至配件之連接的埠306。儘管僅展示一個埠306,但一些實施例允許至配件之多個並行連接,且可能存在連接至同一配件或不同配件之多個埠306。每一埠306可與實體傳輸器302(對於不同埠306,其可為同一傳輸器或不同傳輸器)互動以發送訊號至連接於彼埠306上之配件及自該配件接收訊號。在一些情況下,虛擬埠306可實施為軟體物件(例如裝置韌體之部分);在其他情況下,埠306可連接至合適之通信硬體或與合適之通信硬體相關聯。舉例而言,在無線通信之情況下,埠306可實施為軟體物件,實體傳輸器302可選擇性地將定址至埠306之傳入無線訊號遞送至該軟體物件,且實體傳輸器302可自該軟體物件接收傳出訊號以無線遞送至其他裝置。
協定精靈協助程式304可提取在埠306(或任何其他作用中埠)上接收之入埠配件協定訊息,及將其遞送至協定管理器308。協定精靈協助程式304亦可自協定管理器308接收出埠配件協定訊息,及將該等訊息提供至埠306(或另一作用中埠)以便遞送至連接至彼埠306之配件。
更具體而言,協定精靈協助程式304可包括連結層310,其可實施為在適當硬體上執行之軟體物件(例如,裝置韌體之部分)。在一些實施例中,連結層310操作以建立、發送、接收及讀取遵循配件協定(例如,如上文所描述)之封包。對於出埠通信,連結層310可自協定管理器308接收訊息、將該訊息囊封為一或多個封包及經由埠306發送該等封包至實體傳輸器302。在一些情況下,例如在實體傳輸器302實施Wi-Fi通信之情況下,實體傳輸器302可將連結層封包(或其一部分)囊封為遵循Wi-Fi或另一無線協定之資料封包之有效負載。
對於入埠通信,連結層310可經由埠306接收封包、提取訊息及將該訊息提供至協定管理器308以進行處理。在連接多個埠306之情況下,連結層310可管理在不同所連接埠306之間之通信的交錯,尤其在 多個埠共用共同實體傳輸器302(例如使用所有埠共同之天線之無線傳輸器)之情況下。
協定精靈協助程式304可提供額外功能性。舉例而言,協定精靈協助程式304可維持自動連接清單307,其含有配件之輸入項,在各種條件下應起始與該等配件之配件協定通信,下文描述自動連接清單之實例。作為另一實例,協定精靈協助程式304可包括加密模組309,其支援在連結層處對配件協定訊息之加密及解密。
協定管理器308可自協定精靈協助程式304接收配件協定訊息,且開始解譯該等訊息之程序。協定管理器308可在不考慮埠之情況下以相同格式接收所有訊息;因此,圖3中所示之程序堆疊之上部層級可與傳輸機構隔離。協定管理器308可遞送訊息至充當協定管理器308(及視需要,其他低層級裝置功能)與應用程式332之間的中介的支援層330,或在一些情況下直接遞送訊息至應用程式332。
協定管理器308可包括工作階段層312,其可實施為在適當硬體上執行之軟體物件(例如,裝置韌體之部分)。工作階段層312可操作以建立及讀取遵循配件協定(例如,上文描述之協定)之訊息。對於出埠通信,工作階段層312可(例如)基於來自支援層330或直接來自應用程式332之函式呼叫建立訊息,且將該訊息提供至連結層310以待發送。對於入埠通信,連結層310可提供自封包提取之訊息至工作階段層312以進行處理。工作階段層312可解譯訊息,及發送適當函式呼叫至支援層330或直接發送適當函式呼叫至應用程式332。
在一些實施例中,工作階段層312可建立及界定多個不同類型之工作階段,每一工作階段經調適以處置不同類型之訊息及資料交換。實例在圖3中展示為工作階段314、316、318。每一工作階段可被指派唯一工作階段識別符(未展示),以使得工作階段層312中不會有兩個並行存在之工作階段具有相同工作階段識別符。在一些實施例中,在 建立工作階段時,工作階段識別符由主機裝置指派,且主機裝置可將所指派之工作階段識別符(例如,經由已存在的工作階段上之訊息)傳達至配件。可界定不同工作階段類型以處理配件協定中之不同訊息子集,且在一些實施例中,子集可重疊。
控制工作階段314可經組態以處理與配件協定之通用訊息集相關聯之所有訊息,諸如所連接配件之識別及鑑認;控制工作階段314亦可判定允許哪些其他類型之工作階段與配件通信。此判定可基於配件識別及鑑認、主機裝置之能力等。在一些實施例中,控制工作階段314具有固定識別符,其具有由配件協定指定之值;此可允許主機及配件建立具有匹配工作階段識別符之控制工作階段,而無須專門傳達將使用之識別符值。
可建立訊息工作階段316以處置來自配件協定之選用之訊息集之至少一些訊息。舉例而言,許多訊息可包括相對少量之參數及/或其他資料,且訊息工作階段316可用於建立及讀取此等訊息。
可回應於在主機裝置與配件之間傳送資料之請求而建立資料傳送工作階段318。可使用不同類型之資料傳送工作階段,包括(例如):用於離散資料物件(諸如檔案)之緩衝傳送工作階段,該等離散資料物件之大小在開始傳送前已知;及用於開端式資料傳送之串流資料工作階段,在開端式資料傳送中,大小並未提前知曉(例如,轉發至應用程式332及自應用程式332轉發之串流媒體或應用程式特定訊息)。
應理解,本文所描述之特定工作階段類型係說明性的,且除了圖3中所示之彼等工作階段類型之外或替代圖3中所示之彼等工作階段類型,亦可界定其他工作階段類型。在一些實施例中,與同一配件之多個工作階段可並行操作,共用經由連結層310對埠306之存取。
在具有多個埠306之一些實施例中,工作階段層312可界定用於每一經連接埠之不同工作階段集。每一工作階段可具有全球唯一工作 階段識別符(例如,與第一埠相關聯之控制工作階段及與第二埠相關聯之控制工作階段可具有不同識別符)。在一些實施例中,每一接收之封包含有工作階段識別符,且連結層310可基於工作階段識別符將提取之訊息路由至特定工作階段;同樣地,連結層310可基於訊息源之工作階段識別符將不同傳出訊息路由至不同埠。連結層310可維持工作階段識別符至埠之映射,且工作階段層312可進行操作而無需知曉當前界定了哪些埠或哪些埠正用於特定工作階段。應理解,多個工作階段識別符可映射至同一埠。在多個工作階段識別符映射至同一埠之情況下,連結層310可以對工作階段層312透明之方式管理至不同工作階段及來自不同工作階段之通信之交錯。
對於入埠通信,協定管理器308內之工作階段314至318中之一者可自協定精靈協助程式304接收配件協定訊息且開始解譯該等訊息之程序。協定管理器308可在不考慮埠之情況下以相同格式接收所有訊息;因此,圖3中所示之程序堆疊之上部層級可與傳輸機構隔離。協定管理器308可遞送訊息至充當協定管理器308(及視需要,其他低層級裝置功能)與應用程式332之間的中介的支援層330,或在一些情況下,直接遞送訊息至應用程式332。
應用程式332可包括實施主機裝置202之各種功能之一或多個應用程式。實例包括用於導覽媒體資產之資料庫及用於播放各種類型之資產(例如,音訊、視訊、諸如照片之靜態影像等)之介面。其他實例包括全球資訊網(World Wide Web)瀏覽器、電子郵件程式、個人資訊管理應用程式(例如,用於管理行事曆、任務、聯繫人等)、地理導航程式(例如,在存在之情況下使用GPS能力)及類似物。視實施而定,應用程式332可為主機裝置202之作業系統之部分、預載入至主機裝置202上之單獨程式,或由使用者載入至主機裝置202上之程式。
可按需要起始及終止工作階段層312中之一些或所有工作階段。 舉例而言,可在偵測到新連接及初始化埠306時起始控制工作階段314。控制工作階段314可用於處理自配件接收之識別及鑑認訊息及判定是否應建立訊息工作階段316。在一些實施例中,控制工作階段314可保持在作用中,直至發生埠306之斷開連接或終止之時。可回應於控制工作階段314(例如)在成功識別及/或鑑認了配件時判定應建立訊息工作階段316而建立訊息工作階段316。一經建立,訊息工作階段316可保持在作用中,直至發生埠306之斷開連接或終止之時,或直至控制工作階段314判定應終止訊息工作階段316(例如,因為在埠306上自配件接收到新識別訊息)之時。
可回應於特定事件稍後起始(或建立)其他工作階段。舉例而言,訊息工作階段316可自配件或請求傳送資料物件之應用程式接收訊息。作為回應,訊息工作階段316可起始資料傳送工作階段318以傳送資料物件。在一些實施例中,若控制工作階段314判定所連接配件未經授權執行所請求資料傳送,則可防止訊息工作階段316起始資料傳送工作階段318。資料傳送工作階段318一經建立就可開始資料物件之傳送,且資料傳送工作階段318可在傳送完成時終止。若隨後請求另一傳送,則可建立另一資料傳送工作階段。
將瞭解,本文中所描述之協定堆疊係說明性的,且變化及修改係可能的。主機裝置202可支援任何類型之應用程式,且可在使用者或另一程序之控制下啟動或退出應用程式。預期較低層級之程序(包括支援層330、協定管理器308及協定精靈協助程式304)可在軟體及/或韌體中實施,且可經組態以在裝置開機時自動開始,且僅在關機或偵測到各種異常狀況時終止。在一些實施例中,協定管理器308及協定精靈協助程式304始終操作,但工作階段層312、連結層310及埠306僅在偵測到相容配件時才被起始,且在未連接配件時終止。程序在未使用時可進入非作用中狀態以最小化資源消耗。進一步地,並非本文 中示出之所有層級及程序均係必要的;例如,在一些實施例中,應用程式可能直接與協定管理器或協定精靈協助程式通信。在其他實施例中,在圖3中獨立地示出之程序可經組合,或者圖3中之單一區塊可對應於在裝置上執行之多個程序。
亦應理解,配件204可實施類似協定堆疊。通信要求主機裝置202及配件204兩者具有適當組態之硬體及/或軟體組件,以發送及接收可互相被理解(例如在連結層及工作階段層兩者處皆遵循配件協定)之訊息,但實施可按需要變化。
在圖1之實施例中,主機裝置100及配件102可使用無線通信協定(諸如Wi-Fi)作為傳輸器來交換遵循配件協定之訊息及資料。實際上,訊息及資料可流經主機埠128(例如,對應於圖3之埠306)與配件埠138之間的無線頻道。
在一些實施例中,主機裝置(或配件)可針對使用單一無線傳輸器的不同類型之通信提供多個埠。在此等實施例中,通信發送者(視情況而定可為主機或配件)可能需要指示通信應遞送至之在接收端裝置上的特定埠。在使用圖3之堆疊300的配件協定通信之情況下,配件將需要提供埠306之埠識別符;因此,配件需要在發送配件協定訊息之前知曉埠306之埠識別符。
一個選項為靜態處置埠識別。舉例而言,主機裝置之製造商可指定將特定埠號指派給經由無線傳輸器的配件協定通信,且配件開發商可程式化其配件以使用所指派之埠號。然而,此種靜態識別可限制主機裝置提供多個並行通信工作階段之能力。因此,在一些實施例中,主機裝置可動態指派埠識別符。亦即,在建立或開啟埠時,為埠指派來自可用識別符(例如,自0至255之數值識別符)之集區的一識別符。當埠被終止或關閉時,其識別符可返回至集區。
在主機裝置使用動態埠識別符之情況下,配件可被告知出於配 件協定通信之目的其應連接至之埠識別符。在一些實施例中,在起始主機裝置100與配件102之間的配件協定通信之前,Wi-Fi頻道經建立及組態,以使得配件102可接收關於主機裝置之埠識別資訊。配件102隨後可(例如)藉由發送偵測訊息至經識別之埠而起始與主機100之配件協定通信。現將描述用於建立至埠306之連接之程序之具體實例。
圖4為根據本發明之一實施例之用於將配件連接至網路之程序400之流程圖。程序400之主機側態樣可(例如)在圖3之傳輸模組302及/或協定精靈協助程式304中實施,且程序400之配件側態樣可在配件之協定堆疊中實施。
在程序400之開始(區塊402),假定主機裝置100已連接至具有存取點(例如,路由器)之無線(例如,Wi-Fi)網路,且假定存取點可(例如)藉由僅對提供正確存取認證(例如,密碼)之裝置授予存取權來限制對網路之存取。進一步假定配件102仍未經組態有網路存取認證。在程序400中,配件102可使用網路連接服務(例如,由加利福利亞庫帕提諾(Cupertino,California)之Apple公司提供之Bonjour®服務或其他零組態網路連接服務)自主機裝置100獲得網路存取認證;同時,主機裝置100可新增配件102至已知配件清單(諸如圖3之自動連接清單307)。
在區塊404處,配件102可進入廣播模式及發出遵循網路連接服務規範之信標訊號。信標訊號可包括配件識別符(例如,MAC位址及其他唯一識別符)及指示配件支援與特定類型之主機裝置的配件協定通信之資訊元素。主機類型可被廣泛地指定,例如,支援特定配件協定之任何版本之任何主機,或主機類型可被指定在較狹窄的範圍內,例如特定種類(平板電腦、電話等)或具有特定能力(GPS、蜂巢式資料網路連接性、支援特定配件協定版本或功能性等)之主機裝置。在區塊406處,主機裝置100可偵測信標訊號。
基於資訊元素,在區塊408處,主機裝置100可判定是否回應於 信標。舉例而言,主機裝置100可判定配件102是否為可與其互通之配件。在一些實施例中,在區塊408處,主機裝置100亦可通知使用者配件102正試圖加入無線網路,及提示使用者確認應允許配件102加入,其中僅在使用者確認時網路存取認證才被發送至配件。
若主機裝置100判定其應回應於信標,則在區塊410處,主機裝置100可提供網路存取認證至配件102,且配件102可在區塊412處接收網路存取認證。網路存取認證之發送可根據由網路連接服務(例如,Bonjour)指定之程序進行管理,且可涉及在主機100與配件102之間交換多個通信。在區塊414處,配件102可使用網路存取認證以加入無線網路。
在區塊416處,主機裝置100可新增配件的識別符至主機裝置100所維持之自動連接清單307,以用於控制對配件的配件協定堆疊300之存取。在一些實施例中,自動連接清單307可由協定精靈協助程式304或由主機裝置100之其他作業系統組件維持。自動連接清單307可包括關於許多配件之輸入項。每一輸入項可包括唯一配件識別符(例如,配件之MAC位址或配件名稱及序列號或類似物)。儘管自動連接清單係選用的,但維持此類清單可促進在無使用者介入之情況下建立配件協定通信工作階段,例如,如下所述。
在程序400完成時,主機裝置100及配件102兩者均連接至同一無線網路。然而,在配件協定通信可經由無線傳輸器發生之前,兩個裝置需要在無線網路上找到彼此及識別用於配件協定通信之特定目的地埠,從而界定用於配件協定通信之頻道。
圖5為根據本發明之一實施例之用於建立配件協定通信頻道之程序500之流程圖。程序500之主機側態樣可(例如)在圖3之傳輸模組302及/或協定精靈協助程式304中實施,且程序500之配件側態樣可在配件之協定堆疊中實施,該協定堆疊可與圖3之協定堆疊300類似或相 同。
假定可發現主機,則程序500可在已加入無線網路之配件102判定應建立配件協定通信頻道之任何時間開始(區塊502)。在此階段,假定配件102並不知曉哪些主機裝置(若存在)可用於連接。在一些實施例中,此情況可在配件加入無線網路時(例如在程序400完成時)自動發生;在其他實施例中,可涉及使用者輸入,諸如按下配件102上之「連接」按鈕。在區塊504處,配件102可在無線網路上廣播服務資訊記錄,該服務資訊記錄指示其支援配件協定。此記錄可由恰好在無線網路上之任何主機裝置(諸如主機裝置100)以及由管理無線目錄且可維持關於無線網路上之裝置之資訊的儲存器之網路存取點接收。
在區塊506處,主機裝置100可偵測來自配件102之服務資訊記錄及核對配件係在自動連接清單上(例如其先前在程序400之區塊416處經新增)。舉例而言,主機裝置100可將與服務資訊記錄相關聯之MAC位址(或其他配件識別符)與在其自動連接清單上之MAC位址(或其他配件識別符)進行比較,且判定是否發現匹配。在一些實施例中,主機裝置100可忽略來自不在自動連接清單上之配件之廣播。可手動連接此等配件,如下文所描述。
假定配件102在自動連接清單上,在區塊508處,主機裝置100可初始化配件協定埠(例如,埠306)以與配件102通信。初始化埠306可包括建立虛擬埠306、動態指派埠識別符至埠306及/或建立通信端(socket)以提供傳輸器302至埠306之連接性。在區塊510處,主機裝置100可發送邀請訊息至配件102,指示主機裝置100支援配件通信協定且可用於連接至配件102。邀請訊息可包括指派至埠306之埠識別符。
在區塊512處,配件102可接收邀請,且在區塊514處,配件102可判定是否接受邀請及起始與主機100之配件協定通信。可應用各種決策規則。舉例而言,配件102可回應於廣播而接收來自多個主機之 邀請,配件102可自該等邀請中選擇一邀請來接受。作為另一實例,配件102可在自另一主機裝置接收到邀請時已與一個主機裝置通信,且可決定是接受新邀請還是繼續與首個主機裝置通信。
特定決策規則為設計選擇問題且可考慮使用者預期及特定配件之性質。舉例而言,若配件為播放自主機接收之音訊的揚聲器銜接座,則可能需要使配件接受最新之邀請。此舉可有助於不同使用者正使用其主機裝置經由揚聲器銜接座播放音樂之情境。相比之下,若配件為可由主機裝置控制之按摩椅,則在配件已連接至一個主機時,可能需要使配件拒絕邀請,以防止其他使用者中斷首個使用者之按摩。若兩個或兩個以上主機在配件未連接至任何主機之時發佈邀請,則配件可使用優先權規則選擇主機(例如,首個邀請獲勝、最後一個邀請獲勝、最新連接之主機獲勝)。在一些情況下,具有充分使用者介面能力之配件可提示使用者選擇邀請應被接受之主機。
若配件102判定不接受邀請,則其可發送通知主機之回應抑或直接忽略該邀請。在區塊516處,主機裝置100可等待重試事件,其可為導致發佈新邀請之任何事件。舉例而言,使用者可起始手動連接嘗試,如下文所描述。在一些實施例中,某些事件可導致主機100試圖再次自動連接;下文描述實例。在一些實施例中,若在逾時期間未發生重試事件,則主機裝置100可關閉在區塊508處初始化之埠且程序500可結束。
若在區塊514處,配件102判定要接受邀請,則在區塊518處,配件102可初始化連結層及一或多個工作階段(例如,類似於圖3)以與主機100通信。在區塊520處,配件102可使用在邀請中指定之主機埠識別符起始配件協定通信。舉例而言,在上文描述之實施例中,配件可藉由發送「偵測」訊息至主機而起始配件協定通信,且區塊518可包括發送此訊息至經指定之主機埠。
在一些實施例中,配件102可實施動態埠指派。在此種情況下,配件102可在廣播其服務資訊記錄之前初始化用於配件協定通信之埠,且主機裝置100可將邀請(區塊510)引導至彼埠。或者,配件102可回應於判定(區塊514)要接受邀請而初始化用於配件協定通信之埠,且可以將配件協定埠識別為發送者之方式發送起始訊息(區塊520)。在任一情況下,主機裝置100接收配件之埠識別符且可將後續配件協定通信自主機埠306引導至指定之配件埠。
在區塊522處,主機裝置100可初始化其自有連結層及工作階段以使用配件協定來與配件102通信。此時,建立配件協定通信頻道且通信可使用由配件協定界定之各種訊息發生,其中無線網路用作傳輸媒體。舉例而言,主機及配件可繼續進行識別及鑑認,隨後藉由交換額外訊息開始互通。
如上文所述,在一些實施例中,可藉由主機裝置100之使用者手動起始配件協定通信頻道之建立。圖6為根據本發明之一實施例之用於建立配件協定通信頻道之程序600之流程圖。程序600可實施於(例如)主機裝置100之協定堆疊300中。程序600可在主機裝置100連接至無線網路之任何時間開始(區塊602)。
在區塊604處,主機裝置100可接收使用者的連接至無線配件之請求。舉例而言,主機裝置100可包括提供「設置」選單之使用者介面,且在該設置選單中可具有用以連接至無線配件之使用者可選擇選項。在區塊606處,主機裝置100可偵測存在於其當前所屬之無線網路上及支援配件協定通信之任何配件。舉例而言,主機裝置100可收聽由配件在網路上進行之服務資訊記錄廣播(例如,類似於程序500之區塊504處之廣播),或主機裝置100可查詢維持關於網路上之裝置之服務資訊的目錄的網路存取點。
在區塊608處,主機裝置100可向使用者呈現經偵測配件之清 單。在此實例中,配件可包括在清單中,而無關於其是否在主機裝置100之自動連接清單上。在區塊610處,主機裝置100可接收使用者選擇的特定配件(例如配件102)作為應連接至之配件。在區塊612處,主機裝置100可在還未列出配件102之輸入項的情況下將該輸入項新增至其自動連接清單,以使得後續重新連接可在無使用者介入之情況下(例如,藉由使用程序500)發生。在一些實施例中,區塊612可包括提示使用者確認配件102應被新增至自動連接清單。
在區塊614處,主機裝置100可類似於程序500之區塊508來初始化埠,且在區塊616處,主機裝置100可類似於程序500之區塊510來發送邀請訊息至配件102。自此點起,建立連接可如程序500中一樣繼續進行,其中配件判定是否回應於邀請及僅在配件接受邀請時建立配件協定通信頻道。在一些實施例中,主機裝置100可將新增配件102之輸入項至其自動連接清單的操作推遲至已接受邀請及進行連接。
將瞭解,圖4至圖6之組態及連接程序係說明性的,且變化及修改係可能的。可並行地執行被描述為依序之步驟,步驟之次序可變化,且可修改、組合、新增或省略步驟。可獨立於其他程序實施任何程序。舉例而言,可在特定主機與配件之間執行圖5及/或圖6之頻道建立程序而不考慮配件先前是否自彼主機裝置或某一其他來源獲得網路存取認證。一旦配件已獲得及儲存用於特定網路之網路存取認證,則配件可使用所儲存之認證(只要其保持有效)隨意離開及重新加入網路。因此,預期可獨立於程序500或程序600執行程序400。
參照程序500描述之自動連接可用於在主機裝置與配件兩者存在於同一網路上之任何時間允許主機裝置自動與配件重新連接。此對使用者而言係方便的,因為使用者可使用配件而無須每次皆手動建立連接。舉例而言,當使用者之電話(主機裝置之實例)加入其家用Wi-Fi網路時,電話可自動連接至無線揚聲器系統、TV、按摩椅或「居住 (live)」(存在於)家中之其他配件,從而允許使用者播放媒體內容或執行其他操作而無須首先進行連接。雖然自動連接可為有用特徵,但自動連接清單及至配件之任何自動重新連接之使用係選用的。在一些實施例中,使用者可能能夠全域地或基於每一配件來啟用或停用特定主機裝置之自動連接功能性(例如,使用適當組態之設置選單來指定所要行為)。
自動連接可回應於各種事件發生。上文描述之一個實例為以下情況:加入網路之配件被主機辨識為在主機之自動連接清單上。另一實例可在主機裝置開機或重新啟動時發生;作為啟動序列之部分,主機裝置可自動加入較佳無線網路(假定此網路係可用的)且尋找該網路上的在其自動連接清單上之配件。作為另一實例,主機裝置可尋找在主機裝置加入無線網路(例如,在具有家用Wi-Fi網路之使用者將主機裝置帶回家時)或在無線收發器在關機後經開機時將自動連接至之配件。
應注意,在程序500及程序600中,配件102等待自主機裝置100接收到邀請而非主動搜尋主機裝置(或者搜尋主機裝置上之配件通信埠)。此允許主機裝置100維持對是否建立連接之控制,即使是配件102起始配件協定通信亦然。因此,配件協定通信僅在兩個裝置同意連接時發生:藉由發送識別待使用之埠的邀請至特定配件,主機「同意」,且藉由回應於該邀請起始與埠之配件協定通信,配件「同意」。
在一些實施例中,可關於邀請訊息是否係基於自動連接規則(例如程序500)或明確的使用者請求(例如程序600)產生而對每一邀請訊息加旗標。若基於明確之使用者請求的邀請被配件拒絕,則主機裝置可警告使用者。若基於自動連接產生之邀請被拒絕,則主機裝置可判定不警告使用者。因此,若使用者特別請求之連接未能建立,則通知使用者,而自動連接之失敗可為對使用者透明的。若使用者希望主機裝 置與並非經由自動連接程序(例如程序500)連接之配件互通,則使用者可起始手動連接(例如,程序600)。
在上文描述之實施例中,可選擇性地實施自動連接。此舉可降低主機裝置進行使用者不希望之連接的可能性,以及避免主機裝置不斷提示使用者連接至可與主機裝置一起出現在網路上之各種配件的情況(其可減損使用者體驗)。舉例而言,若程序400包括主機裝置獲得使用者的對應將配件新增至網路之確認,則此確認可充當使用者意欲將主機裝置連接至配件之指示,且不需要使主機裝置在程序500中再次提示使用者。若使用者未向特定主機裝置確認應將配件新增至網路,則主機裝置可假定使用者對將該主機裝置連接至配件不感興趣。類似地,如上文參照程序600描述,在使用者手動地命令主機裝置連接至特定配件時,主機裝置可將彼配件新增至自動連接清單,以使得至彼配件之未來連接可在沒有來自使用者之手動指令之情況下發生。此類型之自動連接行為可提供愉快的使用者體驗。舉例而言,使用者不會被反覆提示連接至各種配件,此係因為此等提示在預期相對不常發生之狀況下發生(例如,僅針對新配件之初始組態)。當前在網路上之配件之使用者可存取選單允許使用者決定何時要起始至未自動連接的配件的連接。同時,不需要使用者反覆命令主機裝置連接至同一配件。進一步地,如上所述,一些實施例可提供定製選單,其允許使用者在希望的情況下詳細指定所要自動連接行為。
一旦建立配件協定通信頻道,則通信可無限期地繼續,直至頻道關閉之時。舉例而言,頻道可在主機100抑或配件102出於任何原因離開無線網路時關閉。作為另一實例,使用者可命令主機100或配件102關閉頻道(例如,經由提供「斷開連接」控制項之使用者介面)。當頻道關閉時,可執行清除操作以釋放資源及/或阻止不希望之連接。清除操作可包括終止或關閉埠306及/或其相關聯通信端。在一些 實施例中,若連結層實施基於連接之協定,諸如TCP,則易於在連結層偵測到連接丟失,且可採取適當清除動作。然而,連結層可使用無連接協定,諸如UDP或類似物,且可並非如此易於偵測到連接丟失。舉例而言,配件可與主機裝置斷開連接,同時保持在同一無線網路上(例如,因為配件接受來自不同主機裝置之連接邀請)。
在一些實施例中,有意關閉頻道之主機或配件可在關閉頻道之前發送配件協定之「終止連接」訊息至另一裝置。舉例而言,若主機100進入休眠狀態或若使用者已操作「斷開連接」控制項,則該主機可能發送「終止連接」訊息;若配件102關機或若其決定接受來自不同主機裝置之連接(及無法維持兩個連接),則該配件可能發送「終止連接」訊息。「終止連接」訊息之接收可指示頻道正被關閉,從而允許接收端裝置執行清除操作。應理解,視具體情況而定,時常可能的是,頻道可能在未發送「終止連接」訊息之情況下關閉,或者發送之「終止連接」訊息可能未被接收。因此,主機或配件不必僅因為未接收到「終止連接」訊息就假定頻道保持連接。
圖7為根據本發明之一實施例之用於測試連接之程序700的流程圖。程序700可(例如,在主機裝置100中)在協定堆疊300或類似物內實施。程序700可在主機裝置100具有連接至配件102之配件協定通信頻道之時開始(區塊701)。在區塊702處,主機裝置100可偵測頻道之可能的關閉或丟失。舉例而言,主機裝置100可監視網路連接服務(例如,Bonjour服務),且至此服務之連接性的丟失亦可指示至其他裝置之連接的丟失。當發生可能的頻道丟失時,主機裝置100可在區塊704處暫時中止與配件之通信;在此實例中,不終止埠及任何相關聯通信端以防要恢復連接。
在區塊706處,主機裝置100可偵測連接性復原。在區塊708處,主機裝置100可經由配件102連接至之埠(例如,埠306)發送「驗證連 接」訊息至配件102。「驗證連接」訊息可在配件協定內界定且經發送作為任何其他配件協定訊息。配件協定可要求接收「驗證連接」訊息之配件應在特定時間(例如,5秒)內藉由發送應答回應而進行回應。在一些實施例中,應答回應可包括配件識別符、數位憑證、數位簽名資料或可用於確認配件係先前所連接之同一配件之其他資訊。
在區塊710處,主機裝置100可判定是否自配件102接收到有效回應。若是,則在區塊712處,主機裝置100可恢復執行與配件102之工作階段。若接收到無效回應(或在逾時期間內沒有回應),則在區塊714處,主機裝置100可關閉或終止虛擬埠及任何相關聯通信端。若配件102存在於網路上,則在區塊716處,主機裝置100可(例如)藉由建立新埠及發送連接至配件102之新邀請而嘗試重新連接。在一些實施例中,僅在配件102在由主機裝置100維持之自動連接清單上時,才自動嘗試區塊716處之重新連接。
將瞭解,程序700係說明性的,且變化及修改係可能的。可並行地執行被描述為依序之步驟,步驟之次序可變化,且可修改、組合、新增或省略步驟。舉例而言,許多事件可觸發主機裝置100發送驗證連接訊息,包括使頻道狀態不確定之任何事件。在一些實施例中,若配件102懷疑頻道可能已斷開連接,則其亦可產生至主機裝置100之驗證連接訊息。
在一些情況下,連接性丟失可自動觸發關閉埠而不首先嘗試驗證連接。舉例而言,若配件停止回應於由主機發送之應用程式協定訊息(或反之亦然),則主機(或配件)可終止連接且關閉其埠。在一些實施例中,在任一端處之連結層可發送對接收之訊息之應答,且在某一數目之經發送訊息之後仍未能接收到應答的情況可指示另一裝置已停止在頻道上進行通信。
作為另一實例,主機裝置之無線收發器可歸因於以下各種事件 而關機:諸如裝置進入休眠狀態或關閉狀態或「飛行」模式(RF收發器關閉)或其類似者;在一些情況下,收發器亦可關機或以其他方式撤銷啟動,以允許使用其他RF通信協定(例如,行動電話網路)。在發生收發器關機時,可終止所有虛擬埠及相關聯通信端。當再次使無線收發器開機時,主機裝置可自動建立新虛擬埠及嘗試重新建立與任何配件之連接,其在關機時具有至該等配件之作用中頻道。在一些實施例中,主機裝置僅在配件在主機之自動連接清單上時才自動嘗試重新建立連接;在其他實施例中,主機裝置可儲存關於其在收發器關機時具有哪些配件連接之資訊,且可嘗試重新建立彼等連接而不考慮配件是否在主機之自動連接清單上。
作為又一實例,配件協定可提供用於在執行於主機裝置100上之應用程式(例如,圖3之應用程式332)與所連接配件之間遞送任意通信的框架。此等通信可(例如)使用圖3之資料傳送工作階段318予以遞送,該資料傳送工作階段使用協定管理器308及協定精靈協助程式304提供與內容無關之資料傳送。通信內容可遵循由應用程式332及配件102(或其某一組件)理解之應用程式特定協定。舉例而言,應用程式特定協定可能與合適之應用程式332一起使用以在主機裝置100上提供用於控制諸如按摩椅之專用配件之使用者介面。
在一些實施例中,當主機裝置100啟動使用應用程式特定協定之應用程式332時,主機裝置100可自動判定網路上是否存在支援同一應用程式特定協定之任何配件及可嘗試連接至該等配件。舉例而言,由配件102使用配件協定提供之識別資訊可包括識別配件所支援或偏好之任何應用程式特定協定或特定應用程式之資訊。主機裝置100可(例如)在用於配件102之自動連接清單輸入項中儲存此資訊。當啟動支援應用程式特定協定之應用程式時,主機裝置100可使用自動連接清單來識別偏好或支援彼應用程式或應用程式特定協定之已知配件。若此 種配件存在於無線網路上,則主機裝置100可(例如,藉由發送如上文所描述之邀請訊息)而嘗試連接至配件。
諸如Wi-Fi網路之無線網路可實施各種安全措施(例如,資料加密及需要網路存取認證),且該等安全措施可有助於保護無線發送之配件協定通信的安全以免於攔截、詐騙及其他危害。在一些實施例中,可在配件協定內實施額外安全層。舉例而言,連結層可(例如)使用圖3之加密模組309支援對其發送之封包內容之加密(及相應地對其接收之封包內容之解密)。可每一連接地實施或不實施加密,且加密可取決於配件及主機兩者是否支援連結層加密。
圖8為根據本發明之一實施例之用於判定是否要使用連結層加密之程序800之流程圖。程序800可在主機100及配件102已(例如,使用上文描述之程序500或600)建立配件協定通信頻道之後開始(區塊802)。在區塊804處,作為配件之識別資訊之部分,配件102可發送連結層組態資訊,包括對其是否具有連結層加密能力之指示。在區塊806處,主機裝置100可接收此資訊。在區塊808處,主機裝置100可發送其自有連結層組態資訊,該資訊可包括對其是否具有連結層加密能力之指示。藉由任一或兩個裝置發送之連結層組態資訊亦可指定連結層之其他性質,諸如,接收訊息之緩衝器之大小(其可由發送者用以防止溢位)、將在發送應答前接收之訊息之最大數目等。
在區塊810處,主機裝置100可判定是否啟用連結層處之加密。在一些實施例中,在主機裝置100及配件102兩者均支援連結層加密之情況下,主機裝置100實施對於任何連接啟用連結層加密之策略。在其他實施例中,額外準則可併入至此決策中。可使用有關於評估與未加密通信相關聯之風險的任何準則,且決策可涉及權衡風險與使用加密之處理資源成本。相關準則之實例包括關於配件102意欲使用之特定訊息之資訊(其可在如上文所描述之配件識別期間提供),或關於所 連接配件102之類型之資訊。
直至及除非主機裝置100判定應啟用連結層加密,在區塊812處,配件102(及主機裝置100)可預設式地以未加密模式操作。在區塊810處,若主機裝置100判定不啟用連結層加密,則配件102(及主機裝置100)可繼續以未加密模式進行通信。(在此上下文中,「未加密模式」意謂並未使用連結層加密;可在其他層處(諸如)由充當傳輸器之無線網路使用加密。)
若主機裝置100判定應啟用連結層加密,則在區塊814處,主機裝置100可發送遵循配件協定之「開始加密」訊息至配件102,且在區塊816處,配件102可接收該訊息。此後,在區塊818、區塊820處,兩個裝置可切換為以加密模式進行操作。在一些實施例中,以加密模式進行操作可包括交換允許每一裝置建立共用秘密之資訊。共用秘密可用於產生工作階段密鑰,且工作階段密鑰可用於加密後續通信。在配件協定提供使用數位憑證及公共/私用密鑰對之配件鑑認之實施例中,此密鑰對可用於加密經交換以建立共用秘密之一些或所有資訊。習知或其他加密演算法可用於產生工作階段密鑰及使用該工作階段密鑰來加密訊息;可在需要時使用對稱或不對稱演算法。此等演算法可在(例如)圖3之加密模組309內實施且由連結層310調用。
將瞭解,本文所述之程序800係說明性的,且變化及修改係可能的。可並行地執行描述為依序之步驟,步驟之次序可變化,且可修改、組合、新增或省略步驟。主機裝置100可決定隨時而不僅僅是在組態加密層時起始加密。在一些實施例中,一旦對於給定連接啟用了加密,則其在該連接之持續時間內保持啟用;在其他實施例中,可在單一連接內開始及停止(及重新開始)加密。只要兩個裝置皆知曉哪些訊息被加密或未被加密,連結層處之加密就可應用於所有配件協定訊息或選擇性地應用於某些訊息(例如,應用於意欲用於特定工作階段 而非其他工作階段之訊息)。
在一些實施例中,若配件102不支援連結層加密,則主機裝置100可限制配件102具有存取權之功能性。舉例而言,可允許不支援連結層加密之配件發送遠端控制命令以開始及停止儲存於主機裝置100上或以其他方式由主機裝置100存取之媒體資產之媒體播放,但不允許其接收數位媒體內容或關於該等媒體資產之其他資訊(例如,描述性後設資料,諸如標題、藝術家識別符、相關聯藝術品或類似物)。
進一步地,程序800不依賴於任何特定通信頻道,且可在需要時與無線及/或有線通信頻道一起使用。
如上文所描述,配件及主機裝置可使用經由無線通信網路(諸如Wi-Fi網路)傳輸之配件協定進行通信。網路可充當主機裝置之虛擬埠與配件之對應埠之間的傳輸器或頻道。頻道係基於兩個裝置之協議而建立:例如,主機裝置可提供埠識別符至配件;且配件可用起始與彼埠之配件協定通信之訊息進行回應。主機裝置可選擇性地自動進行至配件之連接且可自動地重新連接至配件。另外,可選擇性地在連結層處加密訊息以提供增強之安全性,尤其在訊息被無線傳輸時如此。
雖然已關於特定實施例描述了本發明,但熟習此項技術者將認識到,眾多修改係可能的。
在一些情況下,主機裝置可(例如)藉由建立多個虛擬埠而具有至配件之多個並行無線連接。不同虛擬埠可連接至不同配件或相同配件之不同埠。在一些實施例中,主機可至少部分地基於已連接哪些配件(若存在)判定是否要連接至配件。舉例而言,若主機一次僅可支援一個輸出媒體串流,則可能不希望使主機並行連接至接收媒體串流之兩個不同配件;或者由於使所接收之控制指令相衝突之風險,可能不希望使主機並行連接至兩個不同遠端控制配件。
進一步地,由於資源約束,可並行存在於主機裝置上之虛擬埠 之數目可受到限制。若主機已使用最大數目之虛擬埠,則其可忽略來自尋找將連接至之主機之其他配件之任何廣播,或主機可提示使用者選擇將斷開連接之配件以便允許新的連接。
儘管以上描述假定配件一次連接至一個主機裝置,但配件亦可能具有多個並行操作之埠及至同一主機及/或不同主機之多個並行連接。可並行地與多個主機互動之配件可包括能夠管理來自多個埠及/或主機之通信的控制邏輯。具有多埠能力之配件可部分地基於已連接何種主機(若存在)而判定是否要接受來自主機之邀請。
可使用專用組件及/或可程式化處理器及/或其他可程式化裝置的任何組合來實現本發明之實施例。本文所描述之各種程序可以任何組合實施於同一處理器或不同處理器上。在組件被描述為經組態以執行某些操作之情況下,可(例如)藉由設計執行操作之電子電路、藉由程式化用以執行操作之可程式化電子電路(諸如微處理器)或其任何組合來實現此種組態。進一步地,雖然上文描述之實施例可參照特定硬體及軟體組件,但熟習此項技術者將瞭解,亦可使用硬體及/或軟體組件之不同組合,且被描述為以硬體實施之特定操作亦可能以軟體來實施,或反之亦然。
併入本發明之各種特徵之電腦程式可經編碼及儲存於各種電腦可讀儲存媒體上;合適的媒體包括:磁碟或磁帶;光學儲存媒體,諸如壓縮光碟(CD)或DVD(數位多功能光碟);快閃記憶體;及其他非暫時性媒體。(應理解,資料之「儲存」與使用諸如載波之暫時性媒體之資料傳播不同。)編碼有程式碼之電腦可讀媒體可與相容電子裝置包裝在一起;或者可與電子裝置分開提供程式碼(例如,經由網際網路下載或作為單獨包裝之電腦可讀儲存媒體)。
因此,雖然已關於特定實施例描述了本發明,但將瞭解,本發明意欲涵蓋在以下申請專利範圍之範疇內的所有修改及等效物。
100‧‧‧主機
102‧‧‧配件
500‧‧‧用於建立配件協定通信頻道之程序
502‧‧‧區塊
504‧‧‧區塊
506‧‧‧區塊
508‧‧‧區塊
510‧‧‧區塊
512‧‧‧區塊
514‧‧‧區塊
516‧‧‧區塊
518‧‧‧區塊
520‧‧‧區塊
522‧‧‧區塊

Claims (20)

  1. 一種建立一主機裝置與一配件之間的一無線通信頻道之方法,該方法包含:由該主機裝置加入一無線網路;由該主機裝置偵測經由該無線網路來自該配件之一廣播記錄,該廣播記錄包括一配件識別符及對該配件支援一配件協定之一指示;由該主機裝置判定是否應與該配件建立一配件協定通信頻道;及在應與該配件建立一配件協定通信頻道之情況下:由該主機裝置經由該無線網路發送一邀請訊息至該配件,該邀請包括該主機裝置之一位址及該主機裝置之將用於配件協定通信之一虛擬埠之一動態指派埠識別符;在該虛擬埠處接收來自該配件的一偵測訊息,該偵測訊息遵循該配件協定且指示該配件意欲使用該配件協定與該主機裝置通信;及回應於該偵測訊息,由該主機裝置初始化用於與該配件之配件協定通信之一協定堆疊。
  2. 如請求項1之方法,其進一步包含:在應與該配件建立一配件協定通信頻道之情況下:由該主機裝置建立該虛擬埠;及由該主機裝置指派該埠識別符至該虛擬埠。
  3. 如請求項1或2之方法,其中判定是否應與該配件建立該配件協定通信頻道包括:判定該配件是否在由該主機裝置維持之一自動連接清單上。
  4. 如請求項3之方法,其進一步包含:在偵測該廣播訊息前:由該主機裝置偵測來自該配件之一信標傳輸,該信標傳輸請求一網路存取認證,該信標傳輸進一步包括一配件識別符及對該配件支援該配件協定之一指示;及回應於該信標傳輸:由該主機裝置將用於該無線網路之該網路存取認證傳達至該配件;及由該主機裝置將該配件識別符新增至該自動連接清單。
  5. 如請求項1或2之方法,其中判定是否應與該配件建立該配件協定通信頻道包括:由該主機裝置接收指示該主機裝置應連接至該配件的一使用者輸入。
  6. 如請求項5之方法,其進一步包含:由該主機裝置呈現存在於該無線網路上之配件之一使用者可讀清單,其中接收該使用者輸入包括接收自該使用者可讀清單之一使用者選擇。
  7. 如請求項5之方法,其進一步包含:回應於該使用者輸入,由該主機裝置將該配件之一識別符新增至由該主機裝置維持之一自動連接清單。
  8. 如請求項1或2之方法,其中用於配件協定通信之該協定堆疊包括一連結層,該方法進一步包含:在初始化該協定堆疊後:在該虛擬埠處接收來自該配件的遵循該配件協定之一識別訊息,該識別訊息指示該配件是否支援在該協定堆疊之該連結層處對配件協定訊息之加密;由該主機裝置判定是否以一加密模式操作,該判定係基於該識別訊息;及 回應於判定該主機裝置將以該加密模式操作:由該主機裝置發送一開始加密訊息至該配件,該開始加密訊息遵循該配件協定;及在發送該開始加密訊息後,由該主機裝置加密發送至該配件之一或多個傳出配件協定訊息,該加密係在該協定堆疊之該連結層處執行。
  9. 如請求項8之方法,其進一步包含:在發送該開始加密訊息之後,由該主機裝置忽略在該埠處接收之未經加密之一傳入配件協定訊息。
  10. 如請求項8之方法,其進一步包含:回應於判定該主機裝置將不以該加密模式操作:由該主機裝置判定配件協定訊息之一總體之呈未加密形式的可接受之一子集;及由該主機裝置忽略不在該子集中之一接收之配件協定訊息。
  11. 一種建立一主機裝置與一配件之間的一無線通信頻道之方法,該方法包含:由該配件加入一無線網路;由該配件經由該無線網路發送一廣播訊息,該廣播訊息包括一配件識別符及對該配件支援一配件協定之一指示;由該配件在該無線網路上接收來自一主機裝置之一邀請訊息,該邀請訊息包括該主機裝置之一位址及該主機裝置上之該主機裝置上的將用於配件協定通信一虛擬埠之一埠識別符;由該配件判定是否應接受該邀請訊息;及回應於判定應接受該邀請訊息:由該配件發送一偵測訊息至該主機裝置之該虛擬埠,該偵測訊息遵循該配件協定且指示該配件意欲使用該配件協定與 該主機裝置通信;及由該配件初始化用於與該主機裝置之配件協定通信之一協定堆疊。
  12. 如請求項11之方法,其中判定是否應接受該邀請訊息包括:由該配件判定該配件是否已使用該配件協定與另一主機裝置通信,其中若該配件已與另一主機裝置通信,則不接受該邀請。
  13. 如請求項11或12之方法,其中判定是否應接受該邀請訊息包括由該配件判定該配件是否已使用該配件協定與另一主機裝置通信,該方法進一步包含:若該配件已與另一主機裝置通信:中止與該另一主機裝置之通信;及判定應接受該邀請訊息。
  14. 如請求項11或12之方法,其進一步包含:回應於判定不應接受該邀請訊息,由該配件發送一拒絕訊息至該主機裝置。
  15. 如請求項11或12之方法,其進一步包含:由該配件發送一識別訊息至該主機裝置之該埠,該識別訊息遵循該配件協定,該識別訊息指示該配件是否支援在一協定堆疊之一連結層處對配件協定訊息之加密,該配件堆疊由該配件使用於配件協定通信;自該主機裝置接收遵循該配件協定之一開始加密訊息;及在接收到該開始加密訊息後,由該配件加密發送至該主機裝置之該埠的一或多個傳出配件協定訊息,該加密係在該協定堆疊之該連結層處執行。
  16. 一種主機裝置,其包含:一無線通信介面;一使用者介面;及 一處理器,其耦接至該無線通信介面及該使用者介面,該處理器經組態以:經由該無線通信介面使該主機裝置加入至一無線網路;偵測經由該無線網路來自配件之一廣播記錄,該廣播記錄包括一配件識別符及對該配件支援一配件協定之一指示;至少部分地基於該廣播記錄判定應與該配件建立一配件協定通信頻道;經由該無線網路發送一邀請訊息至該配件,該邀請包括該主機裝置之一位址及該主機裝置之將用於配件協定通信之一虛擬埠之一動態指派埠識別符;在該虛擬埠處接收來自該配件的一偵測訊息,該偵測訊息遵循該配件協定且指示該配件意欲使用該配件協定與該主機裝置通信;及回應於該偵測訊息,初始化用於與該配件之配件協定通信之一協定堆疊。
  17. 如請求項16之主機裝置,其中該處理器經進一步組態以回應於判定應建立該配件協定通信頻道而建立該虛擬埠及產生該埠識別符。
  18. 如請求項16或17之主機裝置,其中該處理器經進一步組態以使得判定應與該配件建立該配件協定通信頻道包括:經由該使用者介面接收指示該主機裝置應連接至該配件的一使用者輸入。
  19. 一種配件,其包含:一無線通信介面;及一控制器,其耦接至該無線通信介面,該控制器經組態以:經由該無線通信介面使該配件加入至一無線網路;在該無線網路上發送一廣播訊息,該廣播訊息包括一配件 識別符及對該配件支援一配件協定之一指示;在該無線網路上接收來自一主機裝置之一邀請訊息,該邀請訊息包括該主機裝置之一位址及該主機裝置上的將用於配件協定通信之一虛擬埠之一埠識別符;發送一偵測訊息至該主機裝置之該虛擬埠,該偵測訊息遵循該配件協定且指示該配件意欲使用該配件協定與該主機裝置通信;及初始化用於與該主機裝置之配件協定通信之一協定堆疊。
  20. 如請求項19之配件,其中該控制器經進一步組態以判定是否要接受來自該主機裝置之該邀請訊息,該判定至少部分地基於該配件是否已使用該配件協定與另一主機裝置通信。
TW103119840A 2013-06-07 2014-06-06 Communication between host and accessory devices using accessory protocols via wireless transport TWI561990B (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201361832650P 2013-06-07 2013-06-07
US14/296,302 US9730268B2 (en) 2013-06-07 2014-06-04 Communication between host and accessory devices using accessory protocols via wireless transport

Publications (2)

Publication Number Publication Date
TW201502787A true TW201502787A (zh) 2015-01-16
TWI561990B TWI561990B (en) 2016-12-11

Family

ID=52006472

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103119840A TWI561990B (en) 2013-06-07 2014-06-06 Communication between host and accessory devices using accessory protocols via wireless transport

Country Status (6)

Country Link
US (1) US9730268B2 (zh)
KR (1) KR20160007576A (zh)
CN (1) CN105393564B (zh)
DE (1) DE112014002697B4 (zh)
TW (1) TWI561990B (zh)
WO (1) WO2014197700A2 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI588676B (zh) * 2016-03-07 2017-06-21 Walton Advanced Eng Inc 裝置配對方法
TWI723268B (zh) * 2018-06-07 2021-04-01 佳世達科技股份有限公司 可共享周邊裝置之電子系統

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9674331B2 (en) * 2012-06-08 2017-06-06 Apple Inc. Transmitting data from an automated assistant to an accessory
US10592187B2 (en) 2014-09-02 2020-03-17 Apple Inc. Accessory device operation with user mobile device over network connection
US9420087B2 (en) * 2014-09-02 2016-08-16 Apple Inc. Notifications with custom user interface
US9769301B2 (en) 2014-09-02 2017-09-19 Apple Inc. Accessory device application bundling
KR101568335B1 (ko) * 2014-11-26 2015-11-12 현대자동차주식회사 차량에서의 블루투스 페어링 제공 방법 및 장치
US10630647B2 (en) 2015-02-05 2020-04-21 Apple Inc. Secure wireless communication between controllers and accessories
US20160338120A1 (en) * 2015-05-14 2016-11-17 Smart Technologies, Ulc System And Method Of Communicating Between Interactive Systems
US10075516B2 (en) 2015-08-06 2018-09-11 Intel IP Corporation Responding to a ranging request from a peer device in a wireless network
US10065657B2 (en) * 2015-08-17 2018-09-04 Honda Motor Co., Ltd. System and method for applying vehicle settings to a vehicle
US10411829B2 (en) * 2015-08-17 2019-09-10 Facebook, Inc. Apparatus for free-space optical communications at high data rates
EP3190747B1 (en) 2016-01-08 2018-11-14 Apple Inc. Secure wireless communication between controllers and accessories
US10819418B2 (en) 2016-04-29 2020-10-27 Honeywell International Inc. Systems and methods for secure communications over broadband datalinks
US20170337900A1 (en) * 2016-05-17 2017-11-23 Google Inc. Wireless user interface projection for vehicles
KR101808513B1 (ko) * 2017-06-22 2018-01-18 임철수 한대의본체로 다수가 사용하는 컴퓨터장치 및 그 운영방법
US11310029B2 (en) * 2017-08-28 2022-04-19 Mitsubishi Electric Corporation Communication apparatus, operation procedure management method, and computer readable medium
US10486646B2 (en) * 2017-09-29 2019-11-26 Apple Inc. Mobile device for communicating and ranging with access control system for automatic functionality
KR102469568B1 (ko) * 2018-01-23 2022-11-22 삼성전자주식회사 전자 장치의 방송 수신 방법 및 장치
KR102414927B1 (ko) * 2018-03-21 2022-06-30 삼성전자 주식회사 무선랜 서비스를 사용하는 기기의 인증 방법 및 장치
US10819689B2 (en) 2018-05-03 2020-10-27 Honeywell International Inc. Systems and methods for encrypted vehicle data service exchanges
US10715511B2 (en) 2018-05-03 2020-07-14 Honeywell International Inc. Systems and methods for a secure subscription based vehicle data service
CN109116998B (zh) * 2018-06-11 2022-09-02 苏州佳世达电通有限公司 可共享周边装置的电子系统
US11516674B2 (en) * 2019-01-02 2022-11-29 Samsung Electronics Co., Ltd. Framework of secure ranging without PHY payload
US11805419B2 (en) * 2019-04-22 2023-10-31 Google Llc Automatically paired devices
KR102260779B1 (ko) * 2019-07-18 2021-06-07 주식회사 아이센스 연속 혈당 측정 시스템의 근거리 통신 연결 방법
WO2021087324A1 (en) * 2019-11-01 2021-05-06 Hach Company Dynamic wireless information transmission
US11467848B2 (en) * 2020-05-07 2022-10-11 Capital One Services, Llc Portable operating system and portable user data
WO2022098349A1 (en) * 2020-11-04 2022-05-12 Hewlett-Packard Development Company, L.P. Communication protocol tests

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5734820A (en) * 1996-03-11 1998-03-31 Sterling Commerce, Inc. Security apparatus and method for a data communications system
JP3045985B2 (ja) * 1997-08-07 2000-05-29 インターナショナル・ビジネス・マシーンズ・コーポレイション 接続確立方法、通信方法、状態変化伝達方法、状態変化実行方法、無線装置、無線デバイス、及びコンピュータ
GB2350971A (en) 1999-06-07 2000-12-13 Nokia Mobile Phones Ltd Security Architecture
GB2411494B (en) 2004-02-27 2006-04-12 Toshiba Res Europ Ltd Protocol stack with modification facility
US7823214B2 (en) 2005-01-07 2010-10-26 Apple Inc. Accessory authentication for electronic devices
US7616594B2 (en) * 2005-04-22 2009-11-10 Microsoft Corporation Wireless device discovery and configuration
KR100770914B1 (ko) * 2006-09-11 2007-10-26 삼성전자주식회사 비접촉식 근거리통신의 피어투피어 통신 방법
US8472874B2 (en) 2007-03-14 2013-06-25 Apple Inc. Method and system for pairing of wireless devices using physical presence
US8078787B2 (en) * 2007-06-22 2011-12-13 Apple Inc. Communication between a host device and an accessory via an intermediate device
KR101405919B1 (ko) 2007-07-20 2014-06-12 삼성전자주식회사 폴더 공유 서비스 설정을 위한 호스트 장치, 디바이스 및폴더 공유 서비스 설정방법
US8681691B2 (en) 2007-07-25 2014-03-25 Microsoft Corporation Base station initiated proximity service discovery and connection establishment
EP2185992B1 (en) * 2007-09-04 2013-07-17 Apple Inc. Smart dock for chaining accessories
EP2201721A2 (en) 2007-09-05 2010-06-30 OCE-Technologies B.V. Self-installing network computer-peripheral device
US8473325B2 (en) 2007-10-12 2013-06-25 Pie Digital, Inc. System and method for automatic configuration and management of home network devices using a hierarchical index model
US8006023B1 (en) 2008-05-15 2011-08-23 Marvell International Ltd. Driver based wireless USB
WO2010007578A1 (en) 2008-07-17 2010-01-21 Jungo Ltd. Cableless usb connectivity over ieee 802.11 networks
US8452903B2 (en) 2009-03-16 2013-05-28 Apple Inc. Mobile computing device capabilities for accessories
US8554924B2 (en) 2009-03-16 2013-10-08 Apple Inc. Connection to multiple accessories with multiple accessory-specific protocols
US8760265B2 (en) * 2009-05-08 2014-06-24 Apple Inc. Remote control signal learning and processing by a host device and accessory
US20110022916A1 (en) 2009-07-24 2011-01-27 Prasanna Desai Method and system for saving power for packet re-transmission in an encrypted bluetooth low power link layer connection
US9338276B2 (en) 2010-01-26 2016-05-10 Apple Inc. Gating accessory connection
US8464061B2 (en) * 2010-08-30 2013-06-11 Apple Inc. Secure wireless link between two devices using probes
CN102130768B (zh) * 2010-12-20 2012-11-07 西安西电捷通无线网络通信股份有限公司 一种具有链路层加解密能力的终端设备及其数据处理方法
US8775533B2 (en) 2011-05-20 2014-07-08 Microsoft Corporation Auto connect in peer-to-peer network
US20120309289A1 (en) 2011-06-06 2012-12-06 Apple Inc. Techniques for facilitating interoperation between an accessory and multiple devices
US8813198B2 (en) * 2011-07-05 2014-08-19 Apple Inc. Configuration of accessories for wireless network access

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI588676B (zh) * 2016-03-07 2017-06-21 Walton Advanced Eng Inc 裝置配對方法
TWI723268B (zh) * 2018-06-07 2021-04-01 佳世達科技股份有限公司 可共享周邊裝置之電子系統
US11029751B2 (en) 2018-06-07 2021-06-08 Qisda Corporation Electronic system capable of sharing peripheral device

Also Published As

Publication number Publication date
KR20160007576A (ko) 2016-01-20
US9730268B2 (en) 2017-08-08
US20140365694A1 (en) 2014-12-11
DE112014002697B4 (de) 2020-06-18
CN105393564A (zh) 2016-03-09
CN105393564B (zh) 2019-03-19
TWI561990B (en) 2016-12-11
DE112014002697T5 (de) 2016-03-03
WO2014197700A4 (en) 2015-04-02
WO2014197700A2 (en) 2014-12-11
WO2014197700A3 (en) 2015-01-29

Similar Documents

Publication Publication Date Title
US9730268B2 (en) Communication between host and accessory devices using accessory protocols via wireless transport
US10299307B2 (en) Apparatus, system, and method of wirelessly transmitting and receiving data
US10285127B2 (en) Wireless communication device, information processing device, and communication method
US8634771B2 (en) Simple peer-to-peer network formation
US8925069B2 (en) Accessory device authentication using list of known good devices maintained by host device
AU2011343943B2 (en) Direct connection with side channel control
US20150095933A1 (en) Device Pairing
JP5766875B2 (ja) アクセサリと複数のデバイスとの相互動作を促進するための技術
US20130332632A1 (en) Holistic identification of an electronic device
CN104378801A (zh) 接入无线网络的方法及装置
GB2494062A (en) Establishing pairing between two devices using probes
US20170033989A1 (en) Shareable code objects for accessories and user devices
US8880770B2 (en) Protocol translating adapter
WO2019125758A1 (en) Cloud assisted accessory pairing
WO2015139401A1 (zh) 无线网络的建立方法、系统及无线路由装置
KR20120034338A (ko) 무선 액세스 포인트의 보안 운용 방법 및 시스템