TW201322000A - 設備之鍊結 - Google Patents

設備之鍊結 Download PDF

Info

Publication number
TW201322000A
TW201322000A TW101132764A TW101132764A TW201322000A TW 201322000 A TW201322000 A TW 201322000A TW 101132764 A TW101132764 A TW 101132764A TW 101132764 A TW101132764 A TW 101132764A TW 201322000 A TW201322000 A TW 201322000A
Authority
TW
Taiwan
Prior art keywords
computing device
network connection
devices
dword
console
Prior art date
Application number
TW101132764A
Other languages
English (en)
Other versions
TWI496008B (zh
Inventor
Min Liu
Anthony V Discolo
Edmund Hon-Sum Lui
Kean Ee Lim
Ryan B Elgram
Donald F Box
Martin J Gudgin
zhang-wei Xu
Todd R Manion
Grant Gardner
Jeremy L Dewey
Shiraz J Cupala
Curt A Steeb
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of TW201322000A publication Critical patent/TW201322000A/zh
Application granted granted Critical
Publication of TWI496008B publication Critical patent/TWI496008B/zh

Links

Classifications

    • A63F13/12
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W8/00Network data management
    • H04W8/005Discovery of network devices, e.g. terminals
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/213Input arrangements for video game devices characterised by their sensors, purposes or types comprising photodetecting means, e.g. cameras, photodiodes or infrared cells
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/215Input arrangements for video game devices characterised by their sensors, purposes or types comprising means for detecting acoustic signals, e.g. using a microphone
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/323Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections between game devices with different hardware characteristics, e.g. hand-held game devices connectable to game consoles or arcade machines
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/32Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections
    • A63F13/327Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using local area network [LAN] connections using wireless networks, e.g. Wi-Fi or piconet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2807Exchanging configuration information on appliance services in a home automation network
    • H04L12/2809Exchanging configuration information on appliance services in a home automation network indicating that an appliance service is present in a home automation network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/2803Home automation networks
    • H04L12/2823Reporting information sensed by appliance or service execution status of appliance services in a home automation network
    • H04L12/2827Reporting to a device within the home network; wherein the reception of the information reported automatically triggers the execution of a home appliance functionality
    • H04L12/2829Reporting to a device within the home network; wherein the reception of the information reported automatically triggers the execution of a home appliance functionality involving user profiles according to which the execution of a home appliance functionality is automatically triggered
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/52Network services specially adapted for the location of the user terminal
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/403Connection between platform and handheld device
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/404Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network characterized by a local network connection
    • A63F2300/405Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network characterized by a local network connection being a wireless ad hoc network, e.g. Bluetooth, Wi-Fi, Pico net
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/80Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game specially adapted for executing a specific type of game
    • A63F2300/8017Driving on land or water; Flying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles

Abstract

描述了設備之鍊結。在一或多個實現中,在網路服務處維護描述複數個設備的特性的資料,其中該複數個設備與該網路服務的使用者帳戶相關聯。形成通訊以供該複數個設備中的一個設備接收,其中該通訊包括與該複數個設備中的另一個設備有關的一部分資料並且該一部分資料適於由該接收設備探索該複數個設備中的該另一設備以在該兩設備之間發起本端網路連接。

Description

設備之鍊結
相關申請案
本申請案根據專利法主張於2011年10月11日提出申請且標題為「設備之鍊結」之美國臨時專利申請案第61/545,947號之優先權,該美國臨時專利申請案之整體揭示內容以引用之方式併入本文。
本發明係關於設備之鍊結。
使用者可在給定的一天中與各種不同的設備互動。例如,使用者可與桌上型電腦、膝上型電腦、行動通訊設備(例如,行動電話)、遊戲控制台等互動。然而,與設備的傳統互動通常是不相交的,使得與一個設備的互動脫離了與另一設備的互動。此外,即使後續開發了嘗試修正此問題的技術,該等技術亦通常是複雜且低效的,並且因此使用者通常選擇放棄此功能。
描述了設備之鍊結。在一或多個實現中,在網路服務處維護描述複數個設備的特性的資料,其中該複數個設備與該網路服務的使用者帳戶相關聯。形成通訊以供該複數個設備中的一個設備接收,其中該通訊包括與該複數個設備中的另一個設備有關的一部分資料並且該一部分資料適 於由該接收設備探索該複數個設備中的該另一設備以發起該兩設備之間的本端網路連接。
在一或多個實現中,在與使用者帳戶相關聯的計算設備處從網路服務接收標識與該使用者帳戶相關聯的另一計算設備的資料。回應於該計算設備決定該另一計算設備是經由本端網路連接可用的,該計算設備形成與該另一計算設備的本端網路連接。回應於該計算設備決定該另一計算設備是經由本端網路連接不可用的,該計算設備形成與該另一計算設備的非本端網路連接。
在一或多個實現中,經由與網路服務的通訊來探索設備的可用性以支援同伴體驗,該可用性是經由該設備與使用者帳戶的關聯來決定的。作為該探索的結果,從網路服務接收到的資料被用來發起該計算設備與該設備之間的本端網路連接,其中該本端網路連接能用於傳遞同伴體驗中所涉及的資料。
提供本【發明內容】以便以簡化形式介紹將在以下【實施方式】中進一步描述的一些概念。本【發明內容】並非意欲標識所主張標的的關鍵特徵或必要特徵,亦不意欲用於幫助決定所主張標的的範圍。
概述
被用來將設備之鍊結在一起的傳統技術通常涉及由使用者執行多個手動步驟。此外,該等步驟通常是複雜的並 且因此即使在該等技術可用時使用者傳統上亦沒有從該等技術中受益。
描述了設備之鍊結技術。在一或多個實現中,描述了其中不同類型的設備可聯合工作的技術,如使用行動通訊設備來支援與遊戲控制台的互動。本文論述了可被用來將設備之鍊結在一起以例如支援此互動的各種技術。此技術的實例包括對以下進行利用:對用於執行設立的「雲端」及本端連接的使用、對本端連接及遠端連接的使用、對後退功能的支援,等等。此技術及其他技術的進一步論述可以相關以下各節找到。
在以下論述中,首先描述可採用本文描述的技術的實例環境。隨後描述可在該實例環境以及其他環境中執行的實例程序。因此,各實例程序的執行不限於該實例環境,並且該實例環境不限於執行各實例程序。
實例環境
圖1是實例實現中的可用於採用本文描述的技術的環境100的圖示。所圖示環境100包括可經由各種方式來配置的兩個計算設備102、104的實例。計算設備102、104例如可被配置成傳統電腦(例如,桌上型個人電腦、膝上型電腦等)、行動站、娛樂設備、通訊地耦合到顯示設備(例如,電視機)的遊戲控制台、行動通訊設備(例如,無線電話、平板電腦)、小筆電等,如相關於實例操作環境及設備所進一步描述的。因而,計算設備102、104的範圍可以從具有充足記憶體及處理器資源的全資源設備(如個 人電腦、遊戲控制台)到具有有限記憶體及/或處理資源的低資源設備(如傳統機上盒、手持遊戲控制台)。在所圖示實現中,計算設備102被配置成遊戲控制台而另一計算設備104被配置成行動通訊設備,但如上所述,亦構想了其他實現。
計算設備102、104各自被圖示為分別包括輸入/輸出模組106、108。輸入/輸出模組106、108表示與由相應計算設備辨識輸入及/或供應輸出相關的功能。例如,輸入/輸出模組106、108可被配置成從鍵盤、滑鼠接收輸入以標識手勢並且使得對應於該手勢的操作得以執行,等等。輸入可由輸入/輸出模組106、108以各種不同的方式來偵測。
例如,輸入/輸出模組106可被配置成經由與硬體設備(如所圖示的控制器110)的觸摸互動來接收一或多個輸入。觸摸互動可涉及按下按鈕、移動操縱桿、跨追蹤墊的移動、使用顯示設備的觸摸螢幕(例如,計算設備102偵測使用者的手的手指或觸控筆),等等。
輸入/輸出模組106、108可以利用對輸入的辨識來與相應計算設備102、104所輸出的使用者介面互動,如以與遊戲、應用程式互動,瀏覽網際網路,改變計算設備102、104的一或多個設置,等等。亦構想了涉及與設備的觸摸互動的各種其他硬體設備。此種硬體設備的實例包括游標控制設備(例如,滑鼠)、遙控器(例如,電視遙控器)、行動通訊設備(例如,被配置成控制計算設備102的一或多個操作的無線電話(被圖示為計算設備104))、及涉及 使用者或物件一方的觸摸的其他設備。
輸入/輸出模組106、108亦可支援自然使用者介面(NUI),如以辨識不涉及觸摸的互動。例如,計算設備102、104可以利用輸入設備來偵測無需使用者觸摸特定設備情況下的輸入,如經由使用話筒來辨識音訊輸入。例如,輸入/輸出模組106、108可被配置成執行語音辨識以辨識特定話語(例如,口語命令),以及辨識提供該話語的特定使用者。
在另一實例中,輸入/輸出模組106、108可被配置成經由使用相機來辨識手勢、所呈現的物件、圖像等。例如,相機可被配置成包括多個透鏡以便可擷取不同觀察點並且因而決定深度,如對遊戲控制台配置中的計算設備102所圖示的。例如,不同的觀察點可被用來決定距輸入設備的相對距離並且因而可被用來決定該相對距離的改變。各不同的觀察點可被相應的計算設備102、104用作深度感知。自然地,亦可使用其他圖像而不使用深度感測,如被配置成行動通訊設備的計算設備104的相機。該等圖像亦可被用來提供各種功能,如標識特定使用者(例如經由面部辨識)、物件,執行搜尋等的技術。
輸入輸出模組106、108可利用該等輸入來執行骨架映射連同對人體的特定點的特徵提取(例如,48個骨架點),以追蹤一或多個使用者(例如,同時追蹤4個使用者)來執行運動分析。例如,輸入/輸出模組106、108可分析擷取到的圖像來辨識使用者作出的一或多個運動,包括使用 了什麼身體部分來作出該運動以及哪一使用者作出該運動。經由辨識使用者的手112的一或多個手指的定位及移動及/或辨識使用者的手112整體的移動來圖示實例。運動可被輸入/輸出模組106、108標識為發起對應的操作的手勢。
計算設備102、104亦被圖示為包括相應的鍊結模組114、116。鍊結模組114、116表示相應設備的用於發起及管理設備之間的一或多個網路連接的功能。該等連接可被用來支援各種不同的功能,如同伴體驗。例如,被配置成行動通訊設備的計算設備104可與被配置成遊戲控制台的計算設備102互動以補充使用者體驗。此可包括將計算設備104用作遊戲控制器,輸出電子節目指南來控制計算設備102的廣播內容的輸出,等等。因而,與計算設備104的互動可被用來控制計算設備102所執行的一或多個操作,並且反之亦然。例如,計算設備102可以提供補充內容以供計算設備104輸出。
鍊結模組114、116可包括用於發起及管理網路連接的各種不同的功能。例如,鍊結模組114、116可包括用於形成設備之間的本端網路連接118(例如,本端Wi-Fi連接)的功能及/或經由利用可經由網際網路存取的服務提供者122來形成涉及網路120(例如,「經由雲端」)的遠端連接的功能。因此,在此第二實例中,服務提供者122亦被圖示為包括表示服務提供者122的亦用於支援設備之鍊結功能的功能的鍊結模組124。
例如,鍊結模組114、116可以利用網路120的遠端連接來聯絡服務提供者122以執行設備探索,例如「定位」與該服務提供者通訊的設備。此資料隨後被用來設立該等設備之間的本端網路連接118以支援以上描述的同伴體驗。在另一實例中,此連接可整體或部分地經由涉及網路120(例如網際網路或其他廣域網路)的遠端連接來維護。因而,鍊結模組114、116可利用各種不同類型的連接及技術來形成連接,該等連接之進一步論述可相關於以下附圖來找到。
一般而言,此處描述的任何功能可使用軟體、韌體、硬體(例如,固定邏輯電路)或該等實現的組合來實現。本文使用的術語「模組」、「功能」及「邏輯」一般表示軟體、韌體、硬體或以上之組合。在軟體實現的情況下,模組、功能或邏輯表示當在處理器(例如,一或多個CPU)上執行時執行指定任務的程式碼。程式碼可被儲存在一或多個電腦可讀取記憶體設備中。下文所描述的技術的特徵是平臺無關的,意味著該等技術可以在具有各種處理器的各種商用計算平臺上實現。
例如,計算設備102、104亦可包括使得計算設備102、104的硬體執行各操作的實體(例如軟體),例如處理器、功能方塊,等等。例如,計算設備102、104可包括電腦可讀取媒體,該電腦可讀取媒體可被配置為維護使得計算設備並且更具體的是計算設備102、104的硬體執行各操作的指令。因此,指令用於配置硬體來執行操作,並以此 方式致使硬體變換以執行功能。可由電腦可讀取媒體經由各種不同配置將指令提供給計算設備102。
一種此種電腦可讀取媒體配置是信號承載媒體,並因此被配置來將指令(例如,作為載波),例如經由網路,傳送到計算設備的硬體。電腦可讀取媒體亦可被配置為電腦可讀取取儲存媒體,因此不是信號承載媒體。電腦可讀取取儲存媒體的實例包括,隨機存取記憶體(RAM)、唯讀記憶體(ROM)、光碟、快閃記憶體、硬碟記憶體,及其他可使用磁、光及用於儲存指令及其他資料的其他技術的記憶體設備。
圖2圖示系統200,圖2更詳細地圖示計算設備102、104及服務提供者122。可以用各種方式來發起及維護計算設備102、104之間的用於支援同伴體驗的連接。例如,計算設備102、104中的每一個可以與服務提供者122的網路服務的使用者帳戶相關聯。因而,使用者可以經由經由網路120提供身份碼而不涉及額外登入資訊、鍵碼等來簡單地登入到服務提供者122的該使用者帳戶。該等身份碼隨後可由服務提供者122的帳戶管理器模組202處理以認證該使用者。例如,此認證可被用來經由「一次」登入來存取服務提供者122(及其他服務提供者)的各種不同服務,如音樂服務、訊息收發服務、日曆服務、聯絡服務,等等。
一旦經過認證,就可顯露鍊結模組124的功能,如用於形成設備之間的連接。例如,鍊結模組124可被配置成維 護描述可被用來形成設備之間的網路連接的網路連接細節的資料。此可包括描述本端網路連接118細節的資料,如經由使用辨識符、網路名等來支援Wi-Fi連接。此資料亦可描述供經由網路120(例如,網際網路)存取的遠端連接細節,如IP位址、所支援的頻寬、位置資訊、網路存取類型,等等。
可以用各種方式並且在各個時間將該資料傳遞給服務提供者122。例如,該資料可作為認證的一部分來傳遞,可從先前通訊中儲存,可回應於從服務提供者122接收到的請求來提供(例如,在完成了認證之後),等等。因而,鍊結模組114、116可傳遞可被用來形成連接的各種不同資料。
在一或多個實現中,可在相應的鍊結模組114、116上顯露用於控制是否提供此資料的各個設置。例如,可以顯露用於使相應的計算設備可被探索的配置設置,該配置設置可被預設地設置成「開啟」,但亦構想了其他實例。
另外,另一配置設置可被用來控制計算設備是否要維持與服務提供者122的實況連接,該另一配置設置可被預設地設置為「關閉」。此可被用來降低(例如,經由網路120及/或服務提供者的)資源消耗,使得不會迫使服務提供者122為不希望維持設備連接特徵的設備來維持設備連接特徵。例如,此設置開始可被設定為「關閉」。然而,一旦嘗試了連接,則此設置可被自動且無需使用者干預地切換成「開啟」,以維持「就緒」的打開連接來執行本文描述 的鍊結。
為了發起連接,計算設備102、104可以首先用各種方式來「探索」彼此。例如,鍊結模組114、116可被配置成首先決定另一設備是否是經由本端網路連接118可用的,如經由Wi-Fi、藍芽或其他有線或無線網路可用。此探索可被配置成利用相應的鍊結模組114、116先前儲存的資料,如相應計算設備102、104的特定網路辨識符的標識、網路及其他資訊,但亦構想了其他實例。
若沒有如此探索設備,則鍊結模組114、116可以與服務提供者112通訊來探索另一設備是否可用於連接。例如,計算設備102、104可以傳遞指示該設備的位置的資料、可用於經由本端連接來探索該設備的資料等。該資料可指示特定位置,如處於特定房間、利用GPS座標及其他位置決定功能。此外,此資訊可被用來決定要建立的連接類型,如在本端網路連接118不可用的情況下要經由網路120建立遠端連接,例如設備彼此分開的距離大於本端網路連接118所支援的距離。
例如,計算設備104可以經由網路120與服務提供者122的鍊結模組124通訊以決定註冊到該使用者的帳戶的其他設備(例如,計算設備102)是否可用於鍊結。服務提供者122隨後可返回答案,此答案可包括彼等設備的附加的本端網路連接資訊(例如,無線或有線子網)。計算設備104的鍊結模組116隨後可使用彼資訊來搜尋本端網路以嘗試發現一或多個其他設備。若找到,則計算設備102、 104可協商經由本端網路連接118的用於通訊的直接鏈路,在一或多個情況下,此可支援比經由網路120所支援的通訊更高效的通訊。例如,本端網路連接118可以支援比經由網路120的遠端連接更高的頻寬。此外,成本考慮亦可被用作與使用哪一網路有關的決策過程的一部分,例如,Wi-Fi網路對具有使用上限的行動電話網路。
若未找到,則計算設備102、104可以用各種方式來經由網路120通訊。例如,通訊可以穿過作為中介的服務提供者122。因而,在該實例中,通訊可以利用網際網路或其他廣域網路來將設備彼此連接。在遠端連接的另一實例中,可以支援隧道技術以傳遞通訊,如經由由相應的鍊結模組114、116利用其他設備的IP位址來經由網路120直接通訊而無需使服務提供者122主動擔當中介。
亦構想了各種其他實例,如其中不同的通訊經由不同的網路來傳遞的混合模式。例如,此種混合模式可被用來支援經由網路120來傳遞命令及經由本端網路連接118來傳遞內容,且反之亦然。通訊的此劃分可出於各種原因來執行,如由於相應網路所支援的特定網路連接的拓撲結構中的限制。
在一些情況下,網路連接的特性可以在使用期間改變。因此,可以用各種不同的方式來配置鍊結模組114、116、124以解決該等改變。例如,鍊結模組114、116、124可被配置成向使用者通知(例如經由使用者介面)此改變。另外,鍊結模組114、116、124可被配置成調整(例如, 禁用)在此狀態中不能良好工作的特徵,如降低解析度、通訊密集的功能、彼網路不支援的特徵,等等。
此外,鍊結模組114、116、124可被配置成將命令快取,此可被用來提高效率並處理間歇性的連接問題。此快取可以在計算設備102、104處以及在服務提供者122處執行。亦構想了各種其他實例。
例如,鍊結模組114、116、124可被配置成支援自動後退恢復。例如,本端網路連接118可能降級或變得斷開連接,如由於計算設備104移動離開計算設備102、網路干擾,等等。在該等情況下,鍊結模組114、116、124可以使得改為經由網路120來實現連接,可決定採用上述混合格式,等等。情況反過來亦一樣,因為若網路120的可靠性降低,則可自動並在無需使用者干預的情況下利用本端網路連接118來支援設備之間的通訊。
此改變亦可被用來回應於決定網路中的另一個變得可用以切換網路。例如,計算設備104最初可經由網際網路與計算設備102通訊,如在計算設備104位於不支援本端網路連接118的距離處。回應於決定計算設備104現在處於計算設備102的本端網路範圍內,鍊結模組114、116可自動經由本端網路連接118通訊。如上所述,在使用此功能時可計入各種考慮,如上述成本考慮。因而,可以利用各種不同的功能來支援設備之鍊結,此亦可被用來支援各種附加功能,如上述同伴體驗。
鍊結模組114、116、124亦可支援各種其他功能。例如, 如上所述,連接可以是雙向的,使得設備中的每一個可以向其他設備發送資料及從其他設備接收資料。此功能可按各種方式來利用。例如,計算設備102可被配置成向計算設備104通知內容輸出的當前狀態。計算設備104隨後可利用此資訊來提供功能,如定位相關內容、基於與該相關內容相關聯的一或多個場景來執行網際網路搜尋,等等。情況反過來亦一樣,因為計算設備104可向計算設備102傳遞狀態,該狀態可被該設備用來支援功能,如由計算設備102在對應於計算設備104的內容輸出的當前點處繼續重播內容。
在另一實例中,鍊結模組114、116、124亦可支援各種不同的功能加密演算法來保護經由本端網路連接118的通訊及遠端地經由網路120的通訊兩者,等等。此外,儘管相關於網路120來描述了網際網路,但本發明技術亦可支援各種不同類型的網路,如使用單個域、作為企業的一部分、網內網路,等等。對設備之鍊結技術的進一步論述可相關於以下程序找到。
實例程序
以下論述描述了可利用上述系統及設備來實現的設備之鍊結技術。可以使用硬體、韌體或軟體或以上之組合來實現每一個程序的各態樣。程序被圖示為一組方塊,該等方塊指定由一或多個設備執行的操作,不一定僅限於所圖示的用於由相應的方塊執行操作的順序。在以下論述的部分中將參考圖1的環境100及圖2的系統200。
圖3是圖示實例實現中的程序300的流程圖,其中網路服務被配置成作為設備之間的連接的中介者。在網路服務處維護描述複數個設備的特性的資料,其中該複數個設備與該網路服務的使用者帳戶相關聯(方塊302)。例如,服務提供者122的鍊結模組124可以從與使用者的帳戶相關聯的計算設備102、104接收資料。可回應於對相應設備處的設置選擇來接收此資料以准許探索該設備。
形成通訊以供該複數個設備中的一個設備接收,其中該通訊包括與該複數個設備中的另一個設備有關的一部分資料並且該一部分資料適於由該接收設備探索該複數個設備中的該另一設備以發起該兩設備之間的本端網路連接(方塊304)。例如,該通訊可包括可用於在本端定位設備的資料,例如可經由該資料來經由本端網路連接存取該另一設備的有線或無線子網。該通訊亦可包括可用於遠端地定位設備的資料,如IP位址。此資料隨後可被用來形成能用於支援各種功能的連接,如上述同伴體驗。
圖4是圖示實例實現中的程序400的流程圖,其中計算設備被配置成利用本端網路連接及/或遠端網路連接來與另一計算設備通訊。在與使用者帳戶相關聯的計算設備處從網路服務接收標識與該使用者帳戶相關聯的另一計算設備的資料(方塊402)。如上所述,該資料可以用各種方式來描述該設備,如經由網路位址、該設備的名稱,等等。
回應於該計算設備決定該另一計算設備是經由本端網路連接可用的,該計算設備形成與該另一計算設備的本端 網路連接(方塊404)。例如,在可用的情況下,計算設備102可以形成與計算設備104的本端無線連接(例如,Wi-Fi)。
回應於該計算設備決定該另一計算設備是經由本端網路連接不可用的,該計算設備形成與該另一計算設備的非本端網路連接(方塊406)。繼續先前實例,若計算設備104是經由本端網路連接118不可用的,則計算設備102可以形成經由網路120(例如,網際網路或其他廣域網路)的網路連接。亦構想了各種其他實例。
圖5是圖示實例實現中的程序500的流程圖,其中經由設備之鍊結支援了同伴體驗。經由與網路服務的通訊來探索設備的可用性以支援同伴體驗,該可用性是經由該設備與使用者帳戶的關聯來決定的(方塊502)。例如,被配置成行動通訊設備(例如,無線電話)的計算設備104可與服務提供者122通訊以決定諸如被配置成遊戲控制台的計算設備102等設備是否可用。
作為該探索的結果,從網路服務接收到的資料被用來發起該計算設備與該設備之間的本端網路連接,其中該本端網路連接能用於傳遞同伴體驗中所涉及的資料(方塊504)。例如,計算設備104可接收以下資料:該資料描述了計算設備102經由該資料可用的有線或無線子網。亦構想了各種其他實例,該各種其他實例之實例可相關於以下實現實例找到。
實現實例
下文描述先前描述的技術的實現實例。在一或多個同伴體驗場景中,使用者能夠使用設備來瀏覽視訊目錄等並隨後挑選一部影片,租借該影片並在控制台上播放該影片。在該影片期間,使用者能夠使用行動通訊設備或其他設備來控制該影片,例如播放/暫停、快進及倒帶等。遊戲控制台亦可被配置成向該設備通知控制台上所發生的事情,如當前影片狀態、控制台上的標題變化,等等。從該設備中,使用者能夠啟動控制台上的標題,例如以得到在控制台上執行的標題的標題ID。
在設備之間的通訊方面,訊息交換可落入各個類別,該等訊息交換之實例包括:
.操作:我如何觸發另一設備上的工作?
.通知:如何向我通知另一設備上的狀態改變?
存在可發生在該系統中的各種通知:
.活動標題改變:啟動了新標題。當在控制台上(無論是經由控制器輸入還是同伴命令)啟動了新標題時,此通知發生。
.媒體狀態改變:播放頭(playhead)狀態的一些態樣已經改變,如內容ID、重播速率、播放頭位置或播放/暫停狀態。此通知既週期性地發生以在各設備間保持位置變數的同步,亦在每當基於使用者輸入(例如,按下了停止按鈕)發生了改變時即時地發生。
存在可在該系統中發出的各種操作:
.啟動標題:啟動控制台標題,可任選地使用用於指示 要顯示哪一段媒體內容的命令行引數。在從指南或搜尋結果中選擇了新的一段內容時,此命令可以由同伴設備(在以下論述中亦被稱為「同伴」)發出。
.獲得活動標題:查詢控制台以尋找當前執行的標題。在同伴首先連接到控制台以獲得初始標題ID時以及每當客戶端顯式地刷新此資訊時(例如,從休眠返回),此命令可被調用。此命令的結果包含與活動標題改變通知相同的資訊。
.發送輸入:向控制台發送輸入命令。每當點擊了傳輸控制(例如,播放、暫停、停止)時,此命令由同伴發出。
.獲得媒體狀態:查詢控制台以尋找當前媒體狀態。在同伴首先連接到控制台以獲得初始媒體狀態時以及每當客戶端需要顯式地刷新此資訊時(例如,從休眠返回),此可被調用。此命令的結果包含與媒體狀態改變通知相同的資訊。
媒體狀態
在此實例中,在協定及API兩者中使用的主資料結構是媒體狀態結構。此結構表示在媒體應用程式/標題內播放的當前播放頭狀態及內容ID。媒體狀態可從控制台媒體API中匯出並包括以下欄位/屬性:
ScourTransportState(搜尋傳輸狀態)是從控制台媒體API取得的枚舉:enum ScourTransportState {//未定義SCOURTRANSPORTSTATE_INVALID=0,//接收到停止或到達內容的結尾SCOURTRANSPORTSTATE_STOPPED=1,//接收到播放/解除暫停但重播尚未開始SCOURTRANSPORTSTATE_STARTING=2,//當前正播放內容SCOURTRANSPORTSTATE_PLAYING=3,//接收到暫停且重播被掛起直至接收到播放/解除暫停SCOURTRANSPORTSTATE_PAUSED=4,//發生了內容緩衝且重播被掛起直至緩衝結束 SCOURTRANSPORTSTATE_BUFFERING=5,};用於指示沒有播放媒體(例如,正執行遊戲)的附加枚舉值可被如下配置://沒有播放媒體SCOURTRANSPORTSTATE_NOMEDIA=-1,當使用此值時,媒體狀態的其餘欄位是未定義的。
TransportCapabilities(傳輸能力)是指示媒體播放機可執行什麼操作的標誌枚舉:enum TransportCapabilities{//可對SendInput(Stop)作出回應TRANSPORTCAPABILITIES_CANSTOP=0x1,//可對SendInput(Pause)作出回應TRANSPORTCAPABILITIES_CANPAUSE=0x2,//可對SendInput(Rewind)作出回應TRANSPORTCAPABILITIES_CANREWIND=0x4,//可對SendInput(FastForward)作出回應TRANSPORTCAPABILITIES_CANFASTFORWARD=0x8,//可對SendInput(Play)作出回應TRANSPORTCAPABILITIES_CANPLAY=0x10,//可對SendInput(TogglePlayPause)作出回應TRANSPORTCAPABILITIES_CANPLAYPAUSE=0x20,//可對SendInput(SkipForward)作出回應 TRANSPORTCAPABILITIES_CANSKIPFORWARD=0x40,//可對SendInput(SkipBackward)作出回應TRANSPORTCAPABILITIES_CANSKIPBACKWARD=0x80,//可對SendInput(Seek,Positon)作出回應TRANSPORTCAPABILITIES_CANSEEK=0x100,//待做,授權:???TRANSPORTCAPABILITIES_ISLIVETRANSPORT=0x200,}
通訊
用於啟用同伴場景的通訊堆疊可以將本端低等待時間TCP及UDP訊息收發與基於雲端的服務相組合以支援安全性及設備探索以及不具有視線IP連接性的設備之間的通訊。
可經由雲端(例如,網路服務)來協調通訊。控制台向同伴服務註冊以供由同伴設備探索。同伴設備使用同伴服務來決定該同伴設備可與哪一設備通訊。若控制台與該同伴設備之間存在視線IP連接性,則該設備與該控制台之間的後續通訊可以經由本端TCP及UDP訊息收發來發生而無需服務干預。若該控制台與該同伴設備之間不存在視線IP連接性,則通訊可經由同伴服務來發生,但具有較高的等待時間。同伴應用可以基於低等待時間通訊堆疊是否可用來改編同伴應用使用者介面,從而在依賴於基於雲端的 訊息收發時禁用「沒有意義」的特徵。
設備探索/配對/授權可經由同伴服務發生。該系統可以如下執行此點:
1.同伴服務使用對應於登入ID的經認證的網路ID。
2.給定設備與彼設備上的當前使用者登入到的控制台通訊。亦可支援使用邀請碼或其他更高級的使用者介面的客配對/授權。
在登入使用者的集合改變時,控制台可以向同伴服務重新註冊。此註冊的一部分可包括一組有效使用者、控制台的IP位址及用來監聽本端同伴命令的TCP埠。在註冊後,同伴服務可以返回控制台可用來安全地簽署及加密該本端子網上的訊息的安全通信期金鑰。
在同伴設備嘗試加入通信期時,該同伴設備聯絡同伴服務,同伴服務隨後返回當前使用者登入到的控制台的網路位址以及可被用來簽署及密封該本端子網上的訊息的安全通信期金鑰兩者。
與該服務的通訊可經由HTTPS來執行。若視線IP連接性是可用的,則對於命令,後續通訊可使用TCP/IP(使用控制台的TCP/IP位址)來發生;及對於通知,後續通訊可使用UDP廣播(使用控制台的IP子網位址)來發生。若視線IP連接性是不可用的,則後續通訊可經由同伴服務發生。
在一或多個實現中,以下情況是可能的:到控制台的TCP連接性是可能的,但到該設備的UDP廣播由於控制台及該 同伴設備被IP路由器分開而是不可能的。在彼情況下,同伴設備可經由同伴服務接收通知,但仍然經由到控制台的直接TCP來發出命令(及接收該等命令的回應)。
安全性
除了本端子網上提供的安全性(例如,Wi-Fi上的WEP或WPA)之外,該系統中的通訊可被如下保護。
同伴設備到同伴服務
同伴設備與該服務之間的通訊可以經由HTTPS來執行,此可使用對應於有效控制台ID的網路ID來認證。例如,行動通訊設備可從鍊結服務(如XBL)獲得認證(例如,SAML)符記,行動通訊設備隨後將該符記呈送給同伴服務。同伴服務隨後發出用於對該服務的後續調用的一或多個安全符記。例如,符記可被用作對該服務的後續調用,並且另一符記可供控制台及行動通訊設備用來認證訊息。
控制台到同伴服務
控制台與該服務之間的通訊可經由HTTPS來執行。當登入到控制台上的XBL使用者的集合改變時,該控制台可以從XBL獲得SAML符記,該控制台隨後將該符記呈送給同伴服務。同伴服務隨後發出用於對該服務的後續調用的安全符記。
同伴設備到控制台/控制台到同伴設備
一旦同伴設備或控制台對照同伴服務進行了認證,則該等設備隨後可建立安全通信期以彼此通訊。通信期可被認 為是可由多個設備用來通訊的安全上下文。每一通信期可包括:
1.由該服務追蹤的、唯一地標識此通訊通信期的通信期ID(guid)。
2.被用來簽署及加密經由本端子網發送的訊息的128位元通信期金鑰。
每當登入到控制台的使用者的集合改變時,該控制台可向同伴服務重新認證,並且若先前使用者登出,則可為彼通信期產生新通信期金鑰。
在本端子網上的設備之間發送的訊息可以是完整性受到保護且被加密的。可以使用HMAC-SHA1來提供完整性保護,而可以使用CBC模式中的AES-128來執行加密。可以使用序號來實現重放保護。接收者可以維護‘高水位標’號並拒絕具有較低號的訊息。
控制台實現
同伴的通訊堆疊的絕大部分可以在控制台作業系統中實現,其中最小API集合被顯露給各標題。
控制台API
同伴API可被各標題調用。該API可被稱為「LrcSetMediaState(設置媒體狀態)」。LrcSetMediaState被媒體播放機標題調用來傳遞播放頭狀態或內容ID已經改變。此函數可被如下調用:
1.回應於內容ID的顯式改變(例如,在同一控制台標題/應用程式內從播放第一影片改變為播放第二影片)。
2.回應於處理傳輸控制請求(例如,按下了停止、播放速率由於FF/REW而改變)。
3.隨著播放頭狀態由於正常重播而進展來週期性地調用,包括到達串流的結尾或者緩衝開始或結束。
此API的實現可以快取在最後調用中傳遞的資料,以滿足對播放頭狀態的後續請求而不擾亂該應用程式的執行或消耗標題資源。
此API的實現可以實現試探法來基於所發生的改變的類型決定實際上何時發送媒體狀態改變通知。一般而言:
1.欄位而非位置的改變可以觸發通知在下一可用機會時發送。
2.僅對位置欄位作出的改變可以不觸發通知發送。相反,控制台作業系統可以發送週期性的媒體狀態改變通知,並且下一個可以挑選位置的最後改變。對於本端子網上的週期性改變,該等改變可以每10秒發送。對於雲端上的週期性改變,該等改變可以每30秒發送。
API的簽名如下:HRESULT WINAPI LrcSetMediaState(IN LrcMediaState *pMediaState);struct LrcMediaState{ULONGLONG duration;//內容的總持續時間,以100 ns為單位ULONGLONG minSeek;//最小搜尋位置,以100 ns為單 位ULONGLONG maxSeek;//最大搜尋位置,以100 ns為單位ULONGLONG position;//當前重播位置,以100 ns為單位float fRate;//當前重播速率(1.0f==正常播放)ScourTransportState eTransportState;//當前傳輸狀態TransportCapabilities eTransportCapabilities;//線路表示(wire rep)是「mediaType:mediaAssetId(媒體類型:媒體資產Id)」BYTE MediaAssetId[256];//以Null結束的UTF-8//待做:最小確保使用者可在控制台上從Zune得到正確的資產id};該函數在成功後返回S_OK,在失敗後返回E_FAIL。
LrcGetInput/LrcGetInputWithSeek
LrcGetInput/LrcGetInputWithSeek(獲得輸入/用搜尋獲得輸入)API被設計成作為標題的輸入輪詢常式的一部分來調用。LrcGetInput被設計成從不能支援用於從同伴設備得到控制命令的搜尋命令的標題來調用。LrcGetInputWithSeek是針對能支援「搜尋」操作的標題來設計的。
HRESULT WINAPI LrcGetInput(IN OUT DWORD* pdwUserIndex, IN DWORD dwFlags,OUT XINPUT_KEYSTROKE *pKeystroke);HRESULT WINAPI LrcGetInputWithSeek(IN OUT DWORD* pdwUserIndex,IN DWORD dwFlags,OUT XINPUT_KEYSTROKE *pKeystroke,OUT ULONGLONG *pSeekPos);若存在輸入事件,則該函數返回ERROR_SUCCESS(成功)。若不存在輸入事件,則該函數返回ERROR_EMPTY(空)。
pdwUserIndex(使用者索引指標)是指向與該設備相關聯的簽到使用者(例如,玩家)的索引的指標,該指標可以是範圍從0到XUSER_MAX_COUNT-1(最大使用者數-1)的值,或被設置成XUSER_INDEX_ANY(任何使用者索引)以取得來自任何使用者的下一可用輸入事件。
返回時,pdwUserIndex所指向的變數可包含與作為輸入事件的源的設備相關聯的玩家的索引。在pdwUserIndex所指向的變數在輸入上包含XUSER_INDEX_ANY的情況下,此是有用的。
dwFlags(標誌)參數可以是XINPUT_FLAG_ANYDEVICE(輸入_標誌_任何設備)或XINPUT_FLAG_ANYUSER(輸入_標誌_任何使用者)(在 pdwUserIndex具有值XUSER_INDEX_ANY的情況下)。
pKeystroke(按鍵)參數可以是指向XINPUT_KEYSTROKE(輸入_按鍵)結構的非空指標。
pSeekPos(搜尋位置)參數可以是指向ULONGLONG的非空指標。
對於LrcGetInput,若該函數返回ERROR_SUCCESS,則pKeystroke所引用的結構可包含此輸入事件的XINPUT_KEYSTROKE資料。
對於LrcGetInputWithSeek,若輸入是搜尋命令,則pSeekPos所引用的ULONGLONG可包含所需位置(以100 ns為單位),並且pKeystroke所引用的結構可以是未定義的。
若輸入不是搜尋命令但該函數返回了ERROR_SUCCESS,則pSeekPos所引用的ULONGLONG可以是-1並且pKeystroke所引用的結構可包含此輸入事件的XINPUT_KEYSTROKE資料。
對於該兩個API,對應於該輸入的人性化介面設備(HID)代碼是標準硬體代碼。UserIndex可基於同伴設備的當前使用者(可以是零個到三個)而被設置成正確的索引。在沒有按下新鍵的情況下(並且在GetInputWithSeek的情況下,不存在搜尋資訊),該等API返回ERROR_EMPTY。若pdwUserIndex包含有關輸入的ID,但該ID不存在對應的登入使用者,則該等API返回ERROR_DEVICE_NOT_CONNECTED(設備未連接)。
控制台內同伴組件的實現
在引導時,控制台在X與Y之間的動態埠上建立TCP監聽通訊端以支援用於命令的傳入連接。監聽佇列長度是一(1),並且控制台一次可以接收一個傳入連接以節省資源。此意味著在服務了傳入的命令請求並發送了對應的回應之後,控制台在接受該監聽通訊端上的下一調用之前可以關閉該TCP連接。
在經由本端子網發送通知時,控制台可以建立UDP通訊端、對sendto(發送到)進行調用並隨後關閉該通訊端。注意,對TCP通訊端及UDP通訊端兩者的使用被最佳化以減少打開的通訊端的數量,此是對在控制台中執行的代碼的正確最佳化。該協定可被設計成允許各實現將TCP連接保持打開超過一次訊息交換。除了上述通訊端使用之外,控制台可以消耗一個另外的通訊端來與同伴服務互動。
在涉及XBL帳戶/簡檔登入或登出的每一登入改變時,控制台聯絡同伴服務,指示彼控制台上的使用者的集合已經改變。此調用亦註冊控制台的本端IP位址及被用來監聽傳入的命令請求的TCP埠。另外,待決的COMET式HTTP請求可保持「停泊」在該服務上,以回應從非視線IP設備傳入的請求。此請求每30秒重發一次,並且在控制台上的登入集合改變時終止。
控制台資源消耗
來自控制台的總通訊端使用是:
.1個統計上分配的用於與該服務的HTTP通訊的出站TCP通訊端,該通訊端被用於登入集合註冊及COMET事件拉取兩者。
.1個統計上分配的用於本端子網請求的TCP監聽通訊端
.1個動態地分配的用於服務傳入的本端子網請求的TCP串流通訊端
.1個動態地分配的用於發送通知訊息的UDP通訊端
此意味著最小消耗兩個通訊端,並且最大消耗4個(若在發送TCP回應之前允許發送UDP通知)或3個(若通知被推遲發送直至TCP連接被拆毀為止)。
協定概述
該協定使用從同伴設備向控制台發起的直接TCP連接來支援控制台上的調用操作。該協定設計支援每TCP連接多個待決請求,以及亂序回應遞送,然而,本發明的控制台實現在發送了第一回應之後可以關閉該連接。
該協定使用從控制台到同伴設備的UDP廣播,以支援發送通知。以下訊息格式可使用下述簽署/加密規則來經由TCP或UDP安全地發送。
訊息格式
可以用網路上的二進位高位數在前格式來編碼訊息。每一訊息欄位可以按該每一訊息欄位之自然的邊界來對準(亦即,2位元組邊界上的WORD(字),4位元組邊界上的DWORD(雙字),等等)。固定長度串被編碼為以‘\0’ 結束的UTF-8文字,並且不包含前導Unicode BOM,此可被編寫者剝去。
安全分訊框協定被定義成用於TCP連接及UDP負荷兩者中。彼等訊息的格式包括:
1.包含版本資訊、安全性資料、位址資訊及訊息ID的固定長度訊息首部。
2.包含訊息類型專用資料的可變長度訊息本體。該訊息本體的長度由訊息首部中的欄位指示。
3.包含訊息首部及訊息本體上的HMAC-SHA1簽名的固定長度訊息尾部。
訊息首部
訊息以32位元組訊息首部開始,該等訊息之內容如下:DWORD HeaderSignature=0xBEDABEDA
DWORD MessageLength=<訊息其餘部分的位元組數>
DWORD SequenceNumber=<用於重放偵測、與回復相關及用於加密的初始化向量、對每一訊息遞增>
DWORD ProtocolVersion=0x00000001
DWORD To=<訊息意欲去往的設備id,0xFFFFFFFF指示廣播>
DWORD From=<訊息來自的設備id,用於定址回應>
DWORD MessageKind=<見下>
DWORD MessageType=<見下>
「To(去往)」及「From(始自)」訊息首部欄位被用來支援重放偵測,因為每一同伴設備具有該每一同伴設備自 己的序號。在請求中沒有「From」欄位的情況下,控制台將不能決定哪一客戶端發送了該訊息並且因此不能決定正確的序號。在回應中沒有「To」欄位的情況下,攻擊者能夠潛在地將意欲去往一個設備的訊息重放到不同的設備。
訊息首部中存在兩個鑑別欄位:MessageKind及MessageType。MessageKind欄位指示該訊息是:[0x00000001]請求訊息,請求訊息被用來請求執行操作(例如,命令、查詢、連接管理),還是[0x00000002]回應訊息,回應訊息傳達回應於特定請求訊息而執行的操作的結果,還是[0x00000003]通知訊息,通知訊息傳達狀態改變事件
MessageType欄位標識給定操作或通知的格式及語義。所支援的訊息類型的實例清單是:[0x80000001]JoinSession(請求及回應)
[0x80000002]LeaveSession(請求及回應)
[0x00000001]GetActiveTitleId(請求及回應)
[0x00000002]LaunchTitle(請求及回應)
[0x00000003]SendInput(請求及回應)
[0x00000004]GetMediaAndTitleState(請求及回應)
[0x00000005]NonMediaTitleStateNotification(通知)
[0x00000006]MediaTitleStateNotification(通知)
回應訊息在回應訊息的訊息首部中具有附加欄位。
DWORD ResponseTo=<此對應的請求序號>
DWORD ResultCode=<基於HRESULT的狀態碼>
「回應」訊息以被當作HRESULT來對待的四位元組結果代碼開始。具體而言,值0x00000000/S_OK指示所請求的操作的成功執行。對每一回應訊息類型定義了具體的結果代碼。
訊息尾部
訊息以20位元組結束。
BYTE[20]hmac=<首部簽名(HeaderSignature)上的HMAC-SHA1、訊息長度(MessageLength)、序號(SequenceNumber)及後續訊息首部欄位及整個訊息本體的加密版本>
訊息本體
本節定義該協定可支援的特定訊息類型的格式及語義。訊息首部欄位序號之後及訊息尾部之前的各位元組被加密。
JoinSession(加入通信期)請求訊息
本訊息從同伴設備發送到控制台以(a)確保協定版本相匹配及(b)獲得初始序號來用於入站及出站訊息。JoinSession請求/回應可以在來自同伴設備的任何附加訊息被經由本端子網發送到控制台之前發生。
DWORD HeaderSignature=0xBEDABEDA
DWORD MessageLength=<訊息其餘部分的位元組數>
DWORD SequenceNumber=0xnnnnnnnn<隨機初始值>
DWORD ProtocolVersion=0x00000001
DWORD To=<訊息意欲去往的設備id>
DWORD From=<訊息來自的設備id>
DWORD MessageKind=0x00000001<請求>
DWORD MessageType=0x80000001<JoinSession>
BYTE[20]hmac=<首部簽名上的HMAC-SHA1、訊息長度、序號及後續訊息首部欄位及整個訊息本體的加密版本>
JoinSession回應訊息
本訊息從同伴設備發送到控制台/從控制台發送到同伴設備以(a)確保協定版本相匹配及(b)傳達初始序號來用於入站及出站訊息。
DWORD HeaderSignature=0xBEDABEDA
DWORD MessageLength=<訊息其餘部分的位元組數>
DWORD SequenceNumber=0xnnnnnnnn<總是該請求的序號+1>
DWORD ProtocolVersion=0x00000001
DWORD To=<訊息意欲去往的設備id,與JoinSession請求訊息中的From相同>
DWORD From=<訊息來自的設備id>
DWORD MessageKind=0x00000002<回應>
DWORD MessageType=0x80000001<JoinSession>
DWORD ResponseTo=0xnnnnnnnn
DWORD ResultCode=<見下>
DWORD SupportedProtocolVersion=0xnnnnnnnn
DWORD ClientSequenceNumber=<客戶端可用於下一請求的序號>
DWORD NotificationSequenceNumber=<伺服器可用於下一UDP通知訊息的序號>
BYTE[20]hmac=<首部簽名上的HMAC-SHA1、訊息長度、序號及後續訊息首部欄位及整個訊息本體的加密版本>
若結果代碼(ResultCode)是S_OK(0),則所請求的協定版本是支援的。同樣:
1. SupportedProtocolVersion(支援的協定版本)包含此伺服器所支援的協定版本號。
2. ClientSequenceNumber(客戶端序號)包含客戶端可用於客戶端發送給伺服器的下一訊息的序號。
3. NotificationSequenceNumber(通知序號)包含伺服器要經由UDP發送的下一通知訊息的序號。
若結果代碼是E_VERSION_MISMATCH(0x8hhhhhhh),則尚未加入該通信期並且只有SupportedProtocolVersion欄位是有效的。若結果代碼是E_TOO_MANY_CONNECTIONS(0x8hhhhhhh),則尚未加入該通信期且SupportedProtocolVersion、ClientSequenceNumber及NotificationSequenceNumber皆不是有效的。
GetActiveTitleId(獲得活動標題Id)請求訊息
此訊息是從同伴設備發送到控制台的,以查詢控制台上 的有效標題ID。
DWORD HeaderSignature=0xBEDABEDA
DWORD MessageLength=0xnnnnnnnn
DWORD SequenceNumber=0xnnnnnnnn
DWORD ProtocolVersion=0x00000001
DWORD To=<訊息意欲去往的設備id>
DWORD From=<訊息來自的設備id>
DWORD MessageKind=0x00000001<請求>
DWORD MessageType=0x00000001<GetActiveTitleId>
BYTE[20]hmac=<首部簽名上的HMAC-SHA1、訊息長度、序號及後續訊息首部欄位及整個訊息本體的加密版本>
GetActiveTitleId回應訊息
此訊息是回應於GetActiveTitleId請求訊息來從同伴設備發送到控制台/從控制台發送到同伴設備的,並指示當前正在執行的標題。
DWORD HeaderSignature=0xBEDABEDA
DWORD MessageLength=0xnnnnnnnn
DWORD SequenceNumber=0xnnnnnnnn
DWORD ProtocolVersion=0x00000001
DWORD To=<訊息意欲去往的設備id,與GetActiveTitleId請求訊息中的From相同>
DWORD From=<訊息來自的設備id>
DWORD MessageKind=0x00000002<回應>
DWORD MessageType=0x00000001<GetActiveTitleId>
DWORD ResponseTo=0xnnnnnnnn
DWORD ResultCode=0x00000000
DWORD TitleId=0xnnnnnnnn
BYTE[20]hmac=<首部簽名上的HMAC-SHA1、訊息長度、序號及後續訊息首部欄位及整個訊息本體的加密版本>
TitleId(標題Id)是當前在控制台上執行的標題的控制台Title ID。
LaunchTitle(啟動標題)請求訊息
此訊息是從同伴設備發送到控制台的,以啟動具有指定命令列引數的標題。
DWORD HeaderSignature=0xBEDABEDA
DWORD MessageLength=0xnnnnnnnn
DWORD SequenceNumber=0xnnnnnnnn
DWORD ProtocolVersion=0x00000001
DWORD To=<訊息意欲去往的設備id>
DWORD From=<訊息來自的設備id>
DWORD MessageKind=0x00000001<請求>
DWORD MessageType=0x00000002<LaunchTitle>
DWORD TitleId
DWORD LaunchParameterLength;(未使用)
BYTE[900]LaunchParameter(以Null結束的UTF-8文字)
BYTE[20]hmac=<首部簽名上的HMAC-SHA1、訊息長度、序號及後續訊息首部欄位及整個訊息本體的加密版本>
TitleId(標題Id)是當前在控制台上執行的標題的控制台Title ID。LaunchParameter(啟動參數)欄位通常標識一旦啟動了該標題就要播放的內容。此欄位的確切解釋是標題專用的。
LaunchTitle回應訊息
此訊息從控制台發送給同伴設備/從同伴設備發送給控制台,以指示標題啟動成功/失敗。
DWORD HeaderSignature=0xBEDABEDA
DWORD MessageLength=0xnnnnnnnn
DWORD SequenceNumber=0xnnnnnnnn
DWORD ProtocolVersion=0x00000001
DWORD To=<訊息意欲去往的設備id,與LaunchTitle請求訊息中的From相同>
DWORD From=<訊息來自的設備id>
DWORD MessageKind=0x00000002<回應>
DWORD MessageType=0x00000002<Launch>
DWORD ResponseTo=0xnnnnnnnn
DWORD ResultCode=0x00000000
BYTE[20]hmac=<首部簽名上的HMAC-SHA1、訊息長度、序號及後續訊息首部欄位及整個訊息本體的加密版本>
SendInput(發送輸入)請求訊息
DWORD HeaderSignature=0xBEDABEDA
DWORD MessageLength=0xnnnnnnnn
DWORD SequenceNumber=0xnnnnnnnn
DWORD ProtocolVersion=0x00000001
DWORD To=<訊息意欲去往的設備id>
DWORD From=<訊息來自的設備id>
DWORD MessageKind=0x00000001<請求>
DWORD MessageType=0x00000003<SendInput>
DWORD ValidFields=0x01-VirtualKey,0x02-SeekPos,0x03-兩者
DWORD VirtualKey=<來自XDK的虛擬鍵碼>
ULONGLONG SeekPosition
BYTE[20]hmac=<首部簽名上的HMAC-SHA1、訊息長度、序號及後續欄位的加密版本>
ValidFields(有效欄位)欄位在請求包含按鍵的情況下具有值0x01,在請求包含搜尋命令的情況下具有值0x02,以及在請求包含該兩者的情況下具有值0x03。VirtualKey(虛擬鍵)等同於VirtualKey(虛擬鍵)在XINPUT_KEYSTROKE中的定義。SeekPosition(搜尋位置)被用來傳達搜尋命令。若此請求訊息沒有指示搜尋,則此欄位具有值0xFFFFFFFFFFFFFFFF(-1)。
SendInput(發送輸入)回應訊息
此訊息從控制台發送給同伴設備/從同伴設備發送給控 制台,以指示SendInput操作成功/失敗。
DWORD HeaderSignature=0xBEDABEDA
DWORD MessageLength=0xnnnnnnnn
DWORD SequenceNumber=0xnnnnnnnn
DWORD ProtocolVersion=0x00000001
DWORD To=<訊息意欲去往的設備id,與SendInput請求訊息中的From相同>
DWORD From=<訊息來自的設備id>
DWORD MessageKind=0x00000002<回應>
DWORD MessageType=0x00000003<SendInput>
DWORD ResponseTo=0xnnnnnnnn
DWORD ResultCode=0x00000000
BYTE[20]hmac=<首部簽名上的HMAC-SHA1、訊息長度、序號及後續首部欄位及整個訊息本體的加密版本>
GetMediaAndTitleState(獲得媒體及標題狀態)命令訊息
此訊息是從同伴設備發送到控制台的,以查詢控制台上的媒體狀態。
DWORD HeaderSignature=0xBEDABEDA
DWORD MessageLength=0xnnnnnnnn
DWORD SequenceNumber=0xnnnnnnnn
DWORD ProtocolVersion=0x00000001
DWORD To=<訊息意欲去往的設備id>
DWORD From=<訊息來自的設備id>
DWORD MessageKind=0x00000001<請求>
DWORD MessageType=0x00000004<GetMediaAndTitleState>
BYTE[20]hmac=<首部簽名上的HMAC-SHA1、訊息長度、序號及後續首部欄位及整個訊息本體的加密版本>
GetMediaAndTitleState回應訊息
DWORD HeaderSignature=0xBEDABEDA
DWORD MessageLength=0xnnnnnnnn
DWORD SequenceNumber=0xnnnnnnnn
DWORD ProtocolVersion=0x00000001
DWORD To=<訊息意欲去往的設備id,與GetMediaAndTitleState請求訊息中的From相同>
DWORD From=<訊息來自的設備id>
DWORD MessageKind=0x00000002<回應>
DWORD MessageType=0x00000004 <GetMediaAndTitleState>
DWORD ResponseTo=0xnnnnnnnn
DWORD ResultCode=0x00000000
DWORD TitleId
ULONGLONG Duration(以100 ns為單位)
ULONGLONG Position(以100 ns為單位)
ULONGLONG MinSeek(以100 ns為單位)
ULONGLONG MaxSeek(以100 ns為單位)
FLOAT Rate(重播速率,1.0==正常)
DWORD TransportState(參見以下控制台API中的ScourTransportState枚舉)
DWORD TransportCapabilities(參見以下控制台API中的TransportCapabilities枚舉)
DWORD MediaAssetIdLength;(未使用)
BYTE[256]MediaAssetId(以Null結束的UTF-8文字)
BYTE[20]hmac=<首部簽名上的HMAC-SHA1、訊息長度、序號及後續欄位的加密版本>
若結果代碼是S_OK(0)且TransportState不是SCOURTRANSPORTSTATE_NOMEDIA,則其他媒體狀態欄位(Duration,Position,...,MediaAssetId)皆是有效的。若結果代碼是S_OK(0)且TransportState是SCOURTRANSPORTSTATE_NOMEDIA,則控制台上沒有當前媒體並且其餘媒體狀態值是未定義的。
NonMediaTitleStateNotification(非媒體標題狀態通知)訊息
NonMediaTitleStateNotification訊息指示非啟用媒體的控制台標題(例如,遊戲)當前正在控制台上執行。NonMediaTitleStateNotification訊息是由控制台在以下時候經由UDP廣播來發送的:1.非啟用媒體的標題(例如,遊戲)正在執行。及2.自更新時間間隔(10秒)以來,沒有發送過NonMediaTitleStateNotification或MediaTitleStateNotification(媒體標題狀態通知)。或者非 啟用媒體的標題已被啟動。
此訊息不需要從控制台發送到雲端,因為標題改變迫使向雲端重新認證,此傳達了標題ID。此訊息可以從雲端發送給同伴設備。
DWORD HeaderSignature=0xBEDABEDA
DWORD MessageLength=0xnnnnnnnn
DWORD SequenceNumber=0xnnnnnnnn
DWORD ProtocolVersion=0x00000001
DWORD To=0xFFFFFFFF
DWORD From=<訊息來自的設備id>
DWORD MessageKind=0x00000003<通知>
DWORD MessageType=0x00000005<NonMediaTitleStateNotification>
DWORD TitleId
BYTE[20]hmac=<首部簽名上的HMAC-SHA1、訊息長度、序號及後續欄位的加密版本>
MediaTitleStateNotification(媒體標題狀態通知)訊息
MediaTitleStateNotification訊息指示啟用媒體的控制台標題(例如,與視訊串流服務有關的標題)當前正在控制台上執行。此訊息傳達控制台標題ID以及當前內容ID及播放頭狀態。
MediaTitleStateNotification訊息是由控制台在以下時候經由UDP廣播來發送的:1.啟用媒體的標題(例如,遊戲)正在執行。及 2.自更新時間間隔(10秒)以來,沒有發送過NonMediaStateTitleNotification或MediaTitleStateNotification。或者啟用媒體的標題已被啟動或傳輸控制命令已由該標題處理(例如,播放、停止)。
MediaTitleStateNotification訊息是由控制台在以下時候發送到雲端的:1.啟用媒體的標題(例如,遊戲)正在執行。及2.自更新時間間隔(30秒)以來,沒有發送過NonMediaTitleStateNotification或MediaTitleStateNotification。或者啟用媒體的標題已被啟動或傳輸控制命令已由該標題處理(例如,播放、停止)。
此訊息可以從雲端發送到計算設備。
DWORD HeaderSignature=0xBEDABEDA
DWORD MessageLength=0xnnnnnnnn
DWORD SequenceNumber=0xnnnnnnnn
DWORD ProtocolVersion=0x00000001
DWORD To=0xFFFFFFFF
DWORD From=<訊息來自的設備id>
DWORD MessageKind=0x00000003<通知>
DWORD MessageType=0x00000006 <MediaTitleNotification>
DWORD TitleId
ULONGLONG Duration(以100 ns為單位)
ULONGLONG Position(以100 ns為單位)
ULONGLONG MinSeek(以100 ns為單位)
ULONGLONG MaxSeek(以100 ns為單位)
FLOAT Rate(重播速率,1.0==正常)
DWORD TransportState(參見以下控制台API中的ScourTransportState枚舉)
DWORD TransportCapabilities(參見以下控制台API中的TransportCapabilities枚舉)
DWORD MediaAssetIdLength;(未使用)
BYTE[256]MediaAssetId(以Null結束的UTF-8文字)
BYTE[20]hmac=<首部簽名上的HMAC-SHA1、訊息長度、序號及後續欄位的加密版本>
若TransportState(傳輸狀態)不是SCOURTRANSPORTSTATE_NOMEDIA(非媒體),則其他媒體狀態欄位(Duration,Position,...,MediaAssetId)是有效的。若TransportState是SCOURTRANSPORTSTATE_NOMEDIA,則控制台上當前沒有媒體並且其餘媒體狀態值是未定義的。
控制台及雲端通訊
當使用者登入到控制台時,控制台向雲端報告使用者資訊,使得雲端可以知道誰登入到了控制台。控制台亦告訴雲端控制台的本端子網IP位址。在使用者登出時,控制台向雲端報告。
通知模型
控制台可以使用單播方法來宣告控制台上的某些改 變,像標題改變、媒體狀態改變等。設備與控制台之間建立的通訊端可被用來做到此點。
在同伴設備側,執行時庫可以提供通知能力。亦即,鍊結模組可以註冊鍊結模組感興趣的無論什麼事件,並且執行時層可以在該等事件發生時向應用程式通知該等事件。
設備側的執行時庫
執行時庫可被用在每一所支援的設備上。
此處是可被支援的實例API:
1. bool JoinSession( )
2.此API可以將設備連接到「hostIPAddress(主機IP位址)」所指定的控制台主機。
3.返回值:若連接良好則返回TRUE(真)。否則,返回false(假)。
實例使用:JoinSession( );在配對成功之後,API可從雲端得到控制台的本端子網IP位址。API亦可以從雲端得到可用來保護與控制台的通訊的安全金鑰。
4. DisconnectSession( )
5.此API可關閉使用者的設備與當前連接到的控制台之間的連接。注意:執行時使用此API來清理通信期資料;關閉與控制台的通訊端。當然,在該設備進入休眠時,控制台可以知道。所以此API可關閉通訊端。
6. TitleInfo[ ]GetAvailableTitles( )
7.此API可以向使用者提供起居室同伴體驗當前支援的標題的列表。
8. struct TitleInfo
9. {
10. uint titleId;
11. string friendlyName;
12. }
13.例如,此處是此函數的可能返回中的一個:{1481115612;「Zune」;}{「1481115605」;「Netflix」;}
1. unsigned int GetCurrentRunningTitleId( )
2.此API向使用者返回在當前連接到的控制台上當前正在執行的標題的titleID。
3. void Launch(unsigned int TitleId,string parameter)
4.此API可以使用「parameter」中指定的給定參數來啟動「TitleId「所指定的應用程式。
5. TitleId----使用者想要啟動的應用程式的標題ID。 調用者經由調用「GetListOfAvailableTitles( )」來得到友好應用程式名。
6. Parameter----使用者想要在啟動期間傳遞到該標題的參數。
7. void SendControlCommand(CommandType key)
8.此API向當前連接到的控制台發送控制台控制命令。
9.
10. CommandType
11. {
12. Play,
13. Pause,
14. FastForword,
15. Rewind,
16. Stop
17. }
18. 通知API
19. enum consoleProperty{TitleChanged,MediaStateChange,SubNetConnectionLost}; public interface IconsolePropertyChangeDelegate{void propertyChanged(Object value);}void SetPropertyChangedCallback(consoleProperty propertyType,IconsolePropertyChangeDelegate delegate)
該等API被用來使設備從控制台接收通知事件,像控制台上的狀態改變、標題改變等等。儘管描述了具體實例,但應當顯而易見的是,本論述及所附申請專利範圍不必限於彼等實例。
實例系統及設備
圖6圖示包括參考圖1描述的計算設備102的實例系統600。實例系統600實現了用於當在個人電腦(PC)、電視機設備及/或行動設備上執行應用程式時的無縫使用者體驗的普遍存在的環境。服務及應用在所有三個環境中基本相似地執行,以便當使用應用、玩視訊遊戲、看視訊等時在從一個設備轉換到下一設備時得到共同的使用者體驗。
在實例系統600中,多個設備經由中央計算設備互聯。中央計算設備可以是多個設備本端的,或者可以位於多個設備的遠端。在一個實施例中,中央計算設備是經由網路、網際網路或其他資料通訊鏈路連接到多個設備的一或多個伺服器電腦的雲端。在一個實施例中,此互聯體系結構使得功能能夠跨多個設備遞送以向多個設備的使用者提供共同且無縫的體驗。多個設備的每一個可具有不同的 實體要求及能力,且中央計算設備使用平臺來使得為設備特製且又對所有設備共同的體驗能被遞送到設備。在一個實施例中,建立目標設備的類,且為通用設備類定製體驗。設備類可由設備的實體特徵、用途類型或其他共同特性來定義。
在各種實現中,計算設備102可採取各種不同的配置,諸如用於電腦602、行動設備604及電視機606用途。該等配置中的每一個包括可具有一般不同的構造及能力的設備,並且因而計算設備102可根據不同的設備類中的一或多個來配置。例如,計算設備102可被實現為電腦類602設備,該電腦類設備包括個人電腦、桌上型電腦、多螢幕電腦、膝上型電腦、小筆電等。
計算設備102亦可被實現為行動設備類604設備,該行動類設備包括諸如行動電話、可攜式音樂播放機、可攜式遊戲設備、平板電腦、多螢幕電腦等行動設備。計算設備102亦可被實現為電視機類606設備,該電視機類設備包括在休閒觀看環境中具有或連接到一般更大的螢幕的設備。該等設備包括電視機、機上盒、遊戲控制台等。本文所描述的技術可由計算設備102的該等各種配置來支援,且不限於在本文描述的各具體實例。
雲端608包括及/或表示內容服務612的平臺610。平臺610抽象雲端608的硬體(如,伺服器)及軟體資源的底層功能。內容服務612可包括可在電腦處理在位於計算設備102遠端的伺服器上執行時使用的應用程式及/或資 料。內容服務612可作為網際網路上及/或經由諸如蜂巢或Wi-Fi網路之類的用戶網路上的服務來提供。此點的實例被圖示為在計算設備上包括鍊結模組114。如上所述,該等技術亦可利用「雲端」,例如如下所述經由將鍊結模組124實現為平臺610的一部分。
平臺610可抽象資源及功能以將計算設備102與其他計算設備相連接。平臺610亦可用於抽象資源的縮放以向經由平臺610實現的內容服務612所遇到的需求提供對應的縮放級別。因此,在互聯設備的實施例中,本文描述的功能的實現可分佈在系統600上。例如,該功能可部分地在計算設備102上以及經由抽象雲端608的功能的平臺610來實現。
圖7圖示可被實現成參考圖1、圖2及圖6所描述的用於實現本文描述技術的各實施例的任何類型的計算設備的實例設備700的各元件。設備700包括允許設備資料704(例如,接收到的資料、正被接收的資料、安排用於廣播的資料、資料的資料包等)的有線及/或無線傳遞的通訊設備702。設備資料704或其他設備內容可以包括設備的配置設置、儲存在設備上的媒體內容及/或與設備的使用者相關聯的資訊。儲存在設備700上的媒體內容可以包括任何類型的音訊、視訊及/或圖像資料。設備700包括一或多個資料輸入706,經由資料輸入可接收任何類型的資料、媒體內容及/或輸入,諸如使用者可選輸入、訊息、音樂、電視媒體內容、記錄的視訊內容及從任何內容源及/或資料來 源接收的任何其他類型的音訊、視訊及/或圖像資料。
設備700亦包括通訊介面708,通訊介面可被實現為串列及/或平行介面、無線介面、任何類型的網路介面、數據機及任何其他類型的通訊介面中的任一或多個。通訊介面708提供設備700與通訊網路之間的連接及/或通訊鏈路,其他電子、計算及通訊設備經由該連接及/或通訊鏈路來與設備700傳遞資料。
設備700包括一或多個處理器710(如,微處理器、控制器等中的任一個),該處理器處理各種電腦可執行指令來控制設備700的操作並實現此處描述的技術的各實施例。作為補充或替換,設備700可被實現為具有與在712處概括標識的處理及控制電路有關地實現的硬體、韌體或固定邏輯電路中的任何一個或組合。儘管未圖示,但是設備700可包括耦合設備內的各種元件的系統匯流排或資料傳輸系統。系統匯流排可包括不同匯流排結構中的任一個或組合,諸如記憶體匯流排或記憶體控制器、周邊匯流排、通用序列匯流排及/或利用各種匯流排架構中的任一種的處理器或本端匯流排。
設備700亦包括電腦可讀取媒體714,諸如一或多個記憶體元件,記憶體元件的實例包括隨機存取記憶體(RAM)、非揮發性記憶體(例如,唯讀記憶體(ROM)、快閃記憶體、EPROM、EEPROM等中的任一或多個)及磁碟儲存設備。磁碟儲存設備可被實現為任何類型的磁性或光學儲存設備,如硬碟驅動機、可記錄及/或可重寫壓縮光 碟(CD)、任何類型的數位多功能光碟(DVD)等等。設備700亦可包括大型儲存媒體設備716。
電腦可讀取媒體714提供資料儲存機制以儲存設備資料704,以及各種設備應用程式718及與設備700的各操作態樣相關的任何其他類型的資訊及/或資料。例如,作業系統720可以用電腦可讀取媒體714作為電腦應用程式來維護並且在處理器710上執行。設備應用程式718可包括設備管理員(例如,控制應用程式、軟體應用程式、信號處理及控制模組、特定設備本機的代碼、特定設備的硬體抽象層等)。設備應用程式718亦包括實現本文描述的技術的實施例的任何系統元件或模組。在此實例中,設備應用程式718包括被圖示為軟體模組及/或電腦應用程式的介面應用程式722及輸入/輸出模組724。輸入/輸出模組724表示用於給介面提供被配置成擷取輸入的諸如觸摸螢幕、追蹤墊、相機、話筒等設備的軟體。另選地或另外地,介面應用程式722及輸入/輸出模組724可被實現為硬體、軟體、韌體或以上之任何組合。此外,輸入/輸出模組724可被配置成支援多個輸入設備,諸如分別擷取視覺及音訊輸入的單獨設備。
設備700亦包括向音訊系統728提供音訊資料及/或向顯示系統730提供視訊資料的音訊及/或視訊輸入輸出系統726。音訊系統728及/或顯示系統730可包括處理、顯示及/或以其他方式呈現音訊、視訊及圖像資料的任何設備。視訊訊號及音訊信號可以經由RF(射頻)鏈路、S-video (S-視訊)鏈路、複合視訊鏈路、分量視訊鏈路、DVI(數位視訊介面)、類比音訊連接,或其他類似的通訊鏈路,從設備700傳遞到音訊設備及/或顯示裝置。在實施例中,音訊系統728及/或顯示系統730被實現為設備700的外部元件。或者,音訊系統728及/或顯示系統730被實現為實例設備700的整合元件。
結論
儘管已經用對結構特徵及/或方法動作專用的語言描述了本發明,但是應該理解,在所附申請專利範圍中定義的本發明不必限於所述之具體特徵或動作。相反,該等具體特徵及動作是作為實現所主張的本發明的實例形式而揭示的。
100‧‧‧環境
102‧‧‧計算設備
104‧‧‧計算設備
106‧‧‧輸入/輸出模組
108‧‧‧輸入/輸出模組
110‧‧‧控制器
112‧‧‧使用者的手
114‧‧‧鍊結模組
116‧‧‧鍊結模組
118‧‧‧本端網路連接
120‧‧‧網路
122‧‧‧服務提供者
124‧‧‧鍊結模組
200‧‧‧系統
202‧‧‧帳戶管理器模組
300‧‧‧程序
302‧‧‧方塊
304‧‧‧方塊
400‧‧‧程序
402‧‧‧方塊
404‧‧‧方塊
406‧‧‧方塊
500‧‧‧程序
502‧‧‧方塊
504‧‧‧方塊
600‧‧‧系統
602‧‧‧電腦
604‧‧‧行動設備
606‧‧‧電視機
608‧‧‧雲端
610‧‧‧平臺
612‧‧‧內容服務
700‧‧‧設備
702‧‧‧通訊設備
704‧‧‧設備資料
706‧‧‧資料輸入
708‧‧‧通訊介面
710‧‧‧處理器
712‧‧‧處理及控制
714‧‧‧電腦可讀取媒體
716‧‧‧大型儲存媒體設備
718‧‧‧設備應用程式
720‧‧‧作業系統
722‧‧‧介面應用程式
724‧‧‧輸入/輸出模組
726‧‧‧音訊及/或視訊輸入輸出系統
728‧‧‧音訊系統
730‧‧‧顯示系統
參考附圖來描述詳細描述。在附圖中,元件符號最左邊的一或多個數位辨識該元件符號首次出現的附圖。在說明書及附圖的不同實例中使用相同的元件符號可指示相似或相同的項目。附圖中所表示的各實體可指示一或多個實體並且因而在論述中可互換地作出對各實體的單數或複數形式的引用。
圖1是在實例實現中的可用於執行本文描述的設備之鍊結技術的環境的圖示。
圖2是實例實現中的系統的圖示,圖2更詳細地圖示圖1的計算設備及服務提供者。
圖3是圖示實例實現中的程序的流程圖,其中網路服務被配置成作為設備之間的連接的中介。
圖4是圖示實例實現中的程序的流程圖,其中計算設備被配置成利用本端網路連接及/或遠端網路連接來與另一計算設備進行通訊。
圖5是圖示實例實現中的程序的流程圖,其中經由設備之鍊結支援了同伴體驗。
圖6圖示包括參考圖1描述的計算設備的實例系統。
圖7圖示可被實現為參考圖1至圖4來描述的任何類型的計算設備來實現本文描述的技術的各實施例的實例設備的各個元件。
100‧‧‧環境
102‧‧‧計算設備
104‧‧‧計算設備
106‧‧‧輸入/輸出模組
108‧‧‧輸入/輸出模組
110‧‧‧控制器
112‧‧‧使用者的手
114‧‧‧鍊結模組
116‧‧‧鍊結模組
118‧‧‧本端網路連接
120‧‧‧網路
122‧‧‧服務提供者
124‧‧‧鍊結模組

Claims (20)

  1. 一種由實現一網路服務的一或多個計算設備來實現的方法,該方法包括以下步驟:在該網路服務處維護描述複數個設備的特性的資料,其中該複數個設備與該網路服務的一使用者帳戶相關聯;及形成一通訊以供該複數個設備中的一個設備接收,其中該通訊包括與該複數個設備中的另一個設備有關的一部分資料並且該一部分資料適於由該接收設備探索該複數個設備中的該另一設備以發起該兩設備之間的一本端網路連接。
  2. 如請求項1述及之方法,其中該通訊亦包括與該複數個設備中的該另一設備有關的另一部分資料並且該另一部分資料適於探索該複數個設備中的該另一設備以發起該兩設備之間的一遠端網路連接。
  3. 如請求項1述及之方法,其中該一部分資料描述一有線或無線子網,該另一設備是能經由該有線或無線子網經由該本端網路連接來存取的。
  4. 如請求項1述及之方法,其中回應於該另一設備是不能經由該本端網路連接存取的一決定,該一部分資料能由該接收設備用來形成與該另一設備的一遠端網路連接。
  5. 如請求項1述及之方法,其中該一部分資料能由該接收設備用來形成與該另一設備的、包括該本端網路連接及一遠端網路連接的一混合網路連接。
  6. 如請求項1述及之方法,其中回應於決定該本端網路連接或該遠端網路連接的不可用性的一決定,該一部分資料能由該接收設備用來執行一後退操作,以在該本端網路連接及該遠端網路連接之間切換。
  7. 如請求項1述及之方法,其中該一部分資料能由該接收設備用來支援對該接收設備與該另一設備之間的通訊的加密。
  8. 一種方法,該方法包含以下步驟:在與一使用者帳戶相關聯的一計算設備處從一網路服務接收資料,該資料標識與該使用者帳戶相關聯的另一計算設備;回應於該另一計算設備是經由一本端網路連接可用的該計算設備之一決定,由該計算設備形成與該另一計算設備的該本端網路連接;回應於該另一計算設備是經由一本端網路連接不可用的該計算設備之一決定,由該計算設備形成與該另一計算設備的一非本端網路連接。
  9. 如請求項8述及之方法,其中該資料描述一有線或無線子網,其中要使得能經由該有線或無線子網經由該本端網路連接來存取該另一計算設備。
  10. 如請求項8述及之方法,其中該資料被該另一計算設備提供給該網路服務。
  11. 如請求項8述及之方法,其中回應於一設置選擇由該另一計算設備提供該資料以准許探索該另一設備以形成該本端網路連接或該遠端網路連接。
  12. 如請求項8述及之方法,其中該非本端連接涉及一網內網路或廣域網路。
  13. 如請求項8述及之方法,其中該非本端連接涉及使用該網路服務作為一中介以執行在該計算設備與該另一計算設備之間的通訊。
  14. 如請求項8述及之方法,其中該非本端連接涉及隧道以執行在該計算設備與該另一計算設備之間的通訊。
  15. 如請求項8述及之方法,該方法進一步包含以下步驟:回應於該另一計算設備是經由一本端網路連接可用的該 計算設備之該決定,輸出與該非本端網路連接有關之一通知用於由該計算設備之一使用者觀看。
  16. 如請求項8述及之方法,該方法進一步包含以下步驟:回應於該另一計算設備是經由一本端網路連接不可用的該計算設備之該決定,調整該計算設備之一或多個特徵之可用性。
  17. 如請求項8述及之方法,該方法進一步包含以下步驟:快取要從該計算設備發送至該另一計算設備之一或多個通訊。
  18. 一種由一計算設備實現之方法,該方法包含以下步驟:經由與一網路服務的通訊來探索一設備的可用性以支援一同伴體驗,該可用性是經由該設備與一使用者帳戶的關聯來決定的;及作為該探索的結果,使用從該網路服務接收到的資料來發起該計算設備與該設備之間的一本端網路連接,其中該本端網路連接能用於傳遞該同伴體驗中所涉及的資料。
  19. 如請求項18述及之方法,其中該計算設備是一遊戲控制台或行動通訊設備且該設備是不同於該遊戲控制台或該行動通訊設備之一設備。
  20. 如請求項19述及之方法,其中該同伴體驗被配置成使用該行動通訊設備作為一遊戲控制器用於該遊戲控制台。
TW101132764A 2011-10-11 2012-09-07 設備之鍊結 TWI496008B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201161545947P 2011-10-11 2011-10-11
US13/291,354 US8469816B2 (en) 2011-10-11 2011-11-08 Device linking

Publications (2)

Publication Number Publication Date
TW201322000A true TW201322000A (zh) 2013-06-01
TWI496008B TWI496008B (zh) 2015-08-11

Family

ID=48042422

Family Applications (1)

Application Number Title Priority Date Filing Date
TW101132764A TWI496008B (zh) 2011-10-11 2012-09-07 設備之鍊結

Country Status (13)

Country Link
US (4) US8469816B2 (zh)
EP (1) EP2767033A4 (zh)
JP (1) JP6243843B2 (zh)
KR (1) KR101943139B1 (zh)
AU (1) AU2012322844B2 (zh)
BR (1) BR112014008905A2 (zh)
CA (1) CA2851507A1 (zh)
HK (1) HK1179074A1 (zh)
IN (1) IN2014CN02433A (zh)
MX (1) MX342412B (zh)
RU (1) RU2631137C2 (zh)
TW (1) TWI496008B (zh)
WO (1) WO2013055835A2 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI579711B (zh) * 2015-05-15 2017-04-21 惠普發展公司有限責任合夥企業 用以顯示伺服器能力之方法與系統及相關聯之機器可讀儲存媒體

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110252152A1 (en) * 2010-04-09 2011-10-13 Marcus Sherry Reliable messaging system and method
US8469816B2 (en) 2011-10-11 2013-06-25 Microsoft Corporation Device linking
US9026666B2 (en) 2012-02-14 2015-05-05 Avaya Inc. Communication session cloning using barcodes
US9479345B2 (en) * 2012-02-14 2016-10-25 Avaya Inc. Fixed mobile convergence for audio and web conference sessions using barcodes
KR102147237B1 (ko) * 2013-12-27 2020-08-24 삼성전자주식회사 제어 장치를 서버에 등록하는 방법 및 장치
EP3117358B1 (en) * 2014-03-12 2019-03-06 Tencent Technology (Shenzhen) Company Limited Method and device for controlling peripheral devices via a social networking platform
US20150295973A1 (en) * 2014-04-10 2015-10-15 Screenovate Technologies Ltd. Method for real-time multimedia interface management
US9509785B2 (en) * 2014-07-16 2016-11-29 Aruba Networks, Inc. Location approximation and discovery of wired servers
CN104958898A (zh) * 2014-08-13 2015-10-07 腾讯科技(深圳)有限公司 游戏控制方法、装置及系统
CN105530536B (zh) 2014-09-28 2020-03-31 阿里巴巴集团控股有限公司 提供媒体关联信息的方法及装置
KR102300435B1 (ko) 2015-01-09 2021-09-09 삼성전자주식회사 디스플레이 장치 및 디스플레이 방법
US9653075B1 (en) * 2015-11-06 2017-05-16 Google Inc. Voice commands across devices
WO2017154633A1 (en) * 2016-03-09 2017-09-14 Sharp Kabushiki Kaisha Methods and systems for usage reporting
US10305891B2 (en) * 2016-05-12 2019-05-28 Bank Of America Corporation Preventing unauthorized access to secured information systems using multi-device authentication techniques
US10700894B2 (en) * 2016-06-01 2020-06-30 At&T Intellectual Property I, L.P. Network caching of outbound content from endpoint device to prevent unauthorized extraction
WO2017219759A1 (zh) * 2016-06-23 2017-12-28 深圳市海月通信技术有限公司 一种用户签到的方法和系统
US10999331B1 (en) 2016-07-06 2021-05-04 Google Llc Reverse discovery and pairing of client devices to a media device
KR102590426B1 (ko) * 2016-10-14 2023-10-18 삼성전자주식회사 동반 장치를 관리하는 방법 및 그를 이용하는 전자 장치
US10449440B2 (en) * 2017-06-30 2019-10-22 Electronic Arts Inc. Interactive voice-controlled companion application for a video game
US10621317B1 (en) 2017-09-14 2020-04-14 Electronic Arts Inc. Audio-based device authentication system
US11394701B2 (en) * 2017-11-01 2022-07-19 Hewlett-Packard Development Company, L.P. Non-compliance event notifications to companion devices
US10629192B1 (en) 2018-01-09 2020-04-21 Electronic Arts Inc. Intelligent personalized speech recognition
JP7296475B2 (ja) * 2019-03-18 2023-06-22 グーグル エルエルシー エンドユーザデバイスのためのクラウドベースの発見サービス
US10926173B2 (en) 2019-06-10 2021-02-23 Electronic Arts Inc. Custom voice control of video game character
GB2617174A (en) * 2022-03-31 2023-10-04 Sony Interactive Entertainment Inc Processing devices, systems and methods

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU714491B2 (en) * 1995-06-07 2000-01-06 Rovi Guides, Inc. Television system with downloadable features
EP1257094B8 (en) 1997-06-25 2007-08-08 Samsung Electronics Co., Ltd. Browser based command and control network
JPH11196345A (ja) * 1997-10-07 1999-07-21 Masanobu Kujirada 表示システム
US7586398B2 (en) 1998-07-23 2009-09-08 Universal Electronics, Inc. System and method for setting up a universal remote control
ATE294480T1 (de) 1999-06-11 2005-05-15 Microsoft Corp Allgemeines api zur gerätefernsteuerung
JP2002015151A (ja) * 2000-04-27 2002-01-18 Masanobu Kujirada テレビと携帯無線端末を使用した取引方法及び装置
US6686838B1 (en) 2000-09-06 2004-02-03 Xanboo Inc. Systems and methods for the automatic registration of devices
US20020122410A1 (en) * 2001-02-13 2002-09-05 Cybiko Inc. Method of wireless data exchange amongst devices of limited range
US20030055867A1 (en) 2001-07-31 2003-03-20 Openwave Systems Inc. Inter-device linking for presentation of information on devices connected to a communication system
US6846238B2 (en) * 2001-09-28 2005-01-25 Igt Wireless game player
US7274684B2 (en) 2001-10-10 2007-09-25 Bruce Fitzgerald Young Method and system for implementing and managing a multimedia access network device
US20040068756A1 (en) 2002-10-02 2004-04-08 Koninklijke Philips Electronics N.V. Virtual link between CE devices
US8775584B2 (en) * 2003-04-29 2014-07-08 Microsoft Corporation Method and apparatus for discovering network devices
CN1838980A (zh) * 2003-09-19 2006-09-27 诺基亚公司 支持使用多人游戏集线器的无线多人游戏的方法和设备
US7136709B2 (en) 2003-11-04 2006-11-14 Universal Electronics Inc. Home appliance control system and methods in a networked environment
KR20050048414A (ko) 2003-11-19 2005-05-24 삼성전자주식회사 무선 네트워크에서 무선 디바이스간의 연결 요청 중계방법 및 장치
JP4324487B2 (ja) * 2004-01-20 2009-09-02 任天堂株式会社 無線通信ゲームシステムおよび無線通信ゲームプログラム
JP4342356B2 (ja) * 2004-03-22 2009-10-14 任天堂株式会社 ゲームシステム、ゲーム装置、およびゲームプログラム
JP2006033795A (ja) * 2004-06-15 2006-02-02 Sanyo Electric Co Ltd リモートコントロールシステム、コントローラ、コンピュータにコントローラの機能を付与するプログラム、当該プログラムを格納した記憶媒体、およびサーバ。
EP1782640B1 (en) 2004-07-16 2012-04-04 Bridgeport Networks Presence detection and handoff for cellular and internet protocol telephony
US20100081375A1 (en) 2008-09-30 2010-04-01 Apple Inc. System and method for simplified control of electronic devices
US7599915B2 (en) 2005-01-24 2009-10-06 At&T Intellectual Property I, L.P. Portal linking tool
CA2886341C (en) 2005-02-04 2015-12-22 Kabushiki Kaisha Toshiba Optimal channel assignment for multi-class, multi-channel wireless lans and the like
US20060245403A1 (en) * 2005-04-27 2006-11-02 Matsushita Electric Industrial Co., Ltd. UPnP mobility extension using session initiation protocol
US7784071B2 (en) 2005-06-01 2010-08-24 General Instrument Corporation Method and apparatus for linking a plurality of user devices to a service location
JP4600992B2 (ja) * 2005-08-17 2010-12-22 Kddi株式会社 家電機器遠隔操作システムおよびその運用方法
US20070155325A1 (en) 2005-10-11 2007-07-05 Bambic Britt B Modular communications apparatus and method
US8718620B2 (en) 2006-11-13 2014-05-06 Apple Inc. Personal media devices with wireless communication
KR20070015239A (ko) 2007-01-13 2007-02-01 (주)아루온게임즈 휴대전화와 유저 게임공통단말기가 연동된 게임시스템 및그 방법
US7940778B2 (en) 2007-06-29 2011-05-10 Intel Corporation Cross-layer approach to virtualized overlay on ad hoc networks
US7729366B2 (en) 2007-10-03 2010-06-01 General Instrument Corporation Method, apparatus and system for network mobility of a mobile communication device
FR2922398B1 (fr) 2007-10-11 2011-02-11 Stephane Perret Systeme d'interconnexion entre au moins un appareil de communication et au moins un systeme d'information distant et methode d'interconnexion
US20090248397A1 (en) * 2008-03-25 2009-10-01 Microsoft Corporation Service Initiation Techniques
JP4548503B2 (ja) 2008-04-01 2010-09-22 ソニー株式会社 サーバ装置、ネットワークシステム、データ転送方法およびプログラム
US20110287757A1 (en) * 2008-05-08 2011-11-24 Unify4Life Corporation Remote control system and method
US8750178B2 (en) 2009-06-01 2014-06-10 Qualcomm Incorporated Connection manager for a wireless communication device
US9616348B2 (en) * 2009-09-11 2017-04-11 Qualcomm Incorporated System and method of providing leaderboards for mobile gaming in a wireless network
US8937534B2 (en) 2010-12-08 2015-01-20 At&T Intellectual Property I, L.P. Remote control of electronic devices via mobile device
US8943169B2 (en) * 2011-02-11 2015-01-27 Sony Corporation Device affiliation process from second display
CN102130807A (zh) 2011-04-21 2011-07-20 中国科学技术大学苏州研究院 一种个人互联网中实现实时动态组网时的设备发现方法
US9686396B2 (en) * 2011-08-12 2017-06-20 Google Technology Holdings LLC Method and apparatus for media property of characteristic control in a media system
US9142182B2 (en) * 2011-10-07 2015-09-22 Lg Electronics Inc. Device and control method thereof
US8469816B2 (en) 2011-10-11 2013-06-25 Microsoft Corporation Device linking
CN102932428B (zh) 2011-10-11 2016-08-10 微软技术许可有限责任公司 设备链接

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI579711B (zh) * 2015-05-15 2017-04-21 惠普發展公司有限責任合夥企業 用以顯示伺服器能力之方法與系統及相關聯之機器可讀儲存媒體

Also Published As

Publication number Publication date
CA2851507A1 (en) 2013-04-18
KR101943139B1 (ko) 2019-04-17
BR112014008905A2 (pt) 2018-06-05
US10750349B2 (en) 2020-08-18
WO2013055835A3 (en) 2013-08-01
JP2015501477A (ja) 2015-01-15
US20170164180A1 (en) 2017-06-08
US8469816B2 (en) 2013-06-25
AU2012322844A1 (en) 2014-05-01
US9579570B2 (en) 2017-02-28
US20130090169A1 (en) 2013-04-11
KR20140090624A (ko) 2014-07-17
JP6243843B2 (ja) 2017-12-06
WO2013055835A2 (en) 2013-04-18
EP2767033A2 (en) 2014-08-20
IN2014CN02433A (zh) 2015-06-19
RU2631137C2 (ru) 2017-09-19
EP2767033A4 (en) 2015-02-18
US20180234831A1 (en) 2018-08-16
HK1179074A1 (zh) 2013-09-19
TWI496008B (zh) 2015-08-11
US20130318247A1 (en) 2013-11-28
AU2012322844B2 (en) 2017-02-23
MX2014004483A (es) 2014-08-01
RU2014114269A (ru) 2015-10-20
US9967730B2 (en) 2018-05-08
MX342412B (es) 2016-09-28

Similar Documents

Publication Publication Date Title
US10750349B2 (en) Device linking
US11050683B2 (en) System for providing dialog content
US8959141B2 (en) System and method for pervasive computing
US20150120813A2 (en) Pairing a media server and a media client
US20130031261A1 (en) Pairing a device based on a visual code
US10187448B2 (en) Remote application control interface
US10965972B2 (en) Method for contents playback with continuity and electronic device therefor
EP2945714B1 (en) Generic companion-messaging between media platforms
WO2016150191A1 (zh) 一种数据共享方法及装置
US9712865B2 (en) Method, device and system for switching back transferred-for-play digital media content
US20120331162A1 (en) Method for sharing contents using temporary keys and electronic device using the same
WO2020221160A1 (zh) 用于呈现背景的方法和装置
CN113038192B (zh) 视频处理方法、装置、电子设备和存储介质
CN102932428B (zh) 设备链接