TWI635727B - 雲端輸入頻道管理 - Google Patents
雲端輸入頻道管理 Download PDFInfo
- Publication number
- TWI635727B TWI635727B TW105103328A TW105103328A TWI635727B TW I635727 B TWI635727 B TW I635727B TW 105103328 A TW105103328 A TW 105103328A TW 105103328 A TW105103328 A TW 105103328A TW I635727 B TWI635727 B TW I635727B
- Authority
- TW
- Taiwan
- Prior art keywords
- client device
- user
- auxiliary output
- server
- data
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
- H04L43/087—Jitter
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/08—Protocols for interworking; Protocol conversion
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Environmental & Geological Engineering (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Communication Control (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本揭示案之態樣係關於用於建立一輔助輸出及將該輔助輸出自伺服器發送至用戶端裝置之系統及方法,該輔助輸出將用戶端裝置潛時資訊考慮在內。用戶端裝置資訊或該輔助輸出可包括加密資料封包之串流。
Description
本揭示案係關於經由網路之資料傳送。明確而言,本揭示案之態樣係關於用於減少經組態以在網路上操作之伺服器與用戶端裝置之間所經歷的潛時之影響的系統及方法。
隨著數位串流服務及各種基於雲端之計算解決方案的日益盛行,在遠端裝置之間快速且準確地傳遞大量資料的能力為重要之任務。經由網路(諸如網際網路、廣域網路(WAN)或區域網路(LAN))之共用資源將數位資料發送至目的地系統通常涉及將資料配置成被稱作封包之格式化區塊,該等區塊可具有固定或可變之長度。每一資料封包通常包括:有效負載或主體,該有效負載具有被遞送至目的地之基礎用戶端資料;以及用於選路及控制目的的某些補充資訊,該資訊通常至少部分容納於該資料封包之標頭內。廣泛而言,網路、發送系統及接收系統可使用此補充資訊來確保恰當選路及有效負載至既定目的地
之遞送。
然而,數位串流服務及基於雲端之計算解決方案在利用對潛時敏感之應用程式(諸如視訊遊戲)時在遠端裝置之間傳遞資料期間建立或使用的網路之品質及頻寬上可能會經歷限制。此等限制可能會在資料傳輸中導致延遲且可能會因此造成潛時,此通常在應用程式之使用期間造成不連貫性。雖然用戶端裝置將嘗試經由各種方法來達成最低潛時,但難免地,各用戶端裝置將歸因於因素(諸如所傳輸資料之解碼速度、呈現速率、輸入輪詢或甚至用戶端之網路連接)之差異而經歷不同量之潛時。
另外,在分封交換網路上傳送資料的通常不可避免之結果為封包遺失,此發生在一或多個資料封包未能正確地到達其目的地時。封包遺失可歸因於各種因素而發生,包括頻道擁塞、信號降級及其他原因。為了防止造成封包遺失之某些網路條件發生同時亦在網路頻道中有效地使用可用頻寬,已開發出各種擁塞控制技術。此外,存在可合併工具以處置封包遺失之一系列傳送協定,且在封包遺失發生時用於處置封包遺失之特定方法視在資料傳遞期間使用之特定傳送協定而定。一般而言,此等傳送協定可分在兩個類型下面,即,可靠協定及不可靠協定,其各自存在某些折衷,且在任何情況中使用之協定的特定選擇可視資料傳遞之性質而定。
可靠協定合併了以下保證:每一資料封包按順序遞送至其目的地,在封包遺失之情況下重新傳輸丟掉
之封包。可靠協定經常為但並非總是連接導向之協定,且遞送保證通常藉由針對特定通信會期建立自接收方返回至發送方之回返頻道來完成,該接收方可使用該回返頻道來發送某類型之確認收據以驗證正確地遞送了封包。發送方可使用此等確認來在指示資料封包未能正確地到達其目的地時引導重新傳輸過程。可靠協定的盛行且眾所周知之實例為傳輸控制協定(TCP),其亦為連接導向的。可靠協定(諸如TCP)非常適合於其中資料之準確傳遞為主要關心的事且為了驗證正確地遞送了資料封包可容忍某量之延遲的任務,諸如發送基於文本之電子郵件、數位內容下載及其中音訊/視訊可緩衝於目的地系統處的媒體串流服務。遺憾地,資料驗證性質及資料重新傳輸引入了比較大之額外負荷,使許多可靠協定對於時間要求嚴格之應用而言為非所要的,該等應用包括即時資料傳遞,諸如實況音訊及/或視訊串流、線上視訊遊戲及網際網路電話。
相比之下,不可靠協定通常放棄如上文所描述的針對特定封包的一定類型之資料遞送驗證,且通常藉由其既不保證每一封包到達其目的地亦不確保封包以正確之順序來遞送的事實來表徵。不可靠協定通常但並非總是無連接的,且通常在任何特定通信會期期間不建立固定頻道。可改為基於每一資料封包中包含之補充資訊來對每一資料封包獨立地選路。不可靠協定的盛行且眾所周知之實例為使用者資料報協定(UDP),其亦為無連接的。由於如UDP之不可靠協定藉由放棄上文提及之可靠性性質而
相對地減少了額外負荷,因此不可靠協定更好地適合於其中將潛時減至最少為主要關心的事的時間敏感應用,諸如上文提及之即時應用。
重要地,網路條件通常隨時間變化,使網路頻道上發送方可用之最大位元率基於該頻道上之當前負荷而變化。當發送方系統嘗試以超過頻道之目前可用頻寬的位元率發送資料封包時,其可能會造成作為回應而觸發嚴重封包遺失的擁塞狀況。此在涉及可靠資料傳送(諸如TCP)的較不時間敏感之應用中可能為可容忍的,因為保證了遺失之資料的重新傳輸;然而,此在許多即時應用及涉及不可靠傳送之其他應用中可能為不可接受的,因為封包遺失可能達到一定程度使得接收方無法重新建構遺失之資料,藉此造成非所要之結果,諸如信號之丟失。另一方面,當最大可用位元率改為遠超發送方提供之位元率時,此亦為非所要的,因為該網路頻道之完全傳輸能力被低效地利用,且因此接收側處之信號品質可能為不必要地弱。
遺憾地,以有效地利用網路頻道之可用頻寬而不會造成導致不可接受之封包遺失的擁塞狀況的方式來使用不可靠協定傳遞資料為重大挑戰。傳統擁塞控制技術通常僅適合於可靠協定,諸如TCP,該等可靠協定使至發送方之回饋建置至傳輸層中;但對於許多不可靠協定(諸如UDP)為低效的,該等不可靠協定通常缺少必要之回饋,除非藉由用戶端在傳輸層上獨立地添加。此外,針對TCP或其他可靠協定設計之擁塞控制或擁塞避免演算法通
常並非快速即時串流應用或且可能不適合於涉及不可靠協定之許多資料傳遞應用,因為回應於擁塞而導致的位元率之指數減少可能會因此使即時信號之品質受到過多影響。此外,雖然由將位元率增加至擁塞程度而導致的封包遺失在較不時間敏感之應用中可能為可容忍的,該等應用使用TCP或其他可靠協定來重新傳輸資料,但封包遺失在許多即時應用中可能為不可接受的,因為會致使接收方無法重新建構該資料。
因此,此項技術中需要找到用於減少用戶端之獨特潛時約束的替代手段,在正傳遞之資料經加密時,該等手段亦適合於與UDP及其他不可靠傳送協定一起使用。本揭示案之態樣出現在此背景下。
根據本揭示案之某些實施方案,在經組態以在網路上操作之伺服器上執行的方法可包括經由一網路連接藉由該伺服器自一用戶端裝置接收用戶端裝置資訊。該用戶端裝置資訊可包括潛時資料。該方法可包括判定將用戶端裝置潛時資訊考慮在內之一輔助輸出。該方法亦可包括將該輔助輸出自該伺服器發送至該用戶端裝置。該用戶端裝置資訊或該輔助輸出可包括加密資料封包之一串流。
根據本揭示案之某些實施方案,發送方計算系統可包括至少一個處理器單元及耦接至該至少一個處理器單元之至少一個記憶體單元。該至少一個處理器單元及
該至少一個記憶體單元可經組態以執行一方法。該方法可包括經由一網路連接藉由該伺服器自一用戶端裝置接收用戶端裝置資訊。該用戶端裝置資訊可包括潛時資料。該方法可包括判定將用戶端裝置潛時資訊考慮在內之一輔助輸出。該方法亦可包括將該輔助輸出自該伺服器發送至該用戶端裝置。該用戶端裝置資訊或該輔助輸出可包括加密資料封包之一串流。
根據本揭示案之某些實施方案,一種非暫時性電腦可讀媒體可含有包括於其中之電腦可讀指令。該等電腦可讀指令可經組態以在被執行時實施一方法。該方法可包括經由一網路連接藉由該伺服器自一用戶端裝置接收用戶端裝置資訊。該用戶端裝置資訊可包括潛時資料。該方法可包括判定將用戶端裝置潛時資訊考慮在內之一輔助輸出。該方法亦可包括將該輔助輸出自該伺服器發送至該用戶端裝置。該用戶端裝置資訊或該輔助輸出可包括加密資料封包之一串流。
202‧‧‧計算系統
204‧‧‧計算系統
252‧‧‧用戶端裝置資訊
254‧‧‧潛時資料
256‧‧‧輔助輸出
270‧‧‧處理器單元
272‧‧‧記憶體
274‧‧‧程式
276‧‧‧資料匯流排
277‧‧‧資料
278‧‧‧支持電路
279‧‧‧輸入/輸出電路
280‧‧‧電源供應器
281‧‧‧時脈
282‧‧‧快取記憶體
284‧‧‧大容量儲存裝置
286‧‧‧顯示單元
288‧‧‧使用者介面
290‧‧‧網路介面
299‧‧‧資料封包
371‧‧‧用戶端裝置平臺指令
481‧‧‧伺服器指令
藉由結合附圖來考慮以下詳細描述可容易地理解本揭示案之教示,其中:圖1為根據本揭示案之某些態樣的自用戶端裝置側之示例性輔助輸出技術的流程圖。
圖2為根據本揭示案之某些態樣的示例性系統之方塊圖。
圖3為根據本揭示案之某些態樣的自用戶端側之示例性輔助輸出技術的流程圖。
圖4為根據本揭示案之某些態樣的自伺服器側之示例性輔助輸出技術的流程圖。
雖然以下詳細描述含有許多具體細節以便進行說明,但熟習此項技術者將了解到對以下細節之許多改變及更改係在本發明之範疇內。因此,陳述下文描述的本揭示案之說明性實施方案,但決不會失去要求權利保護之發明的一般性且不會對要求權利保護之發明施加限制。
本揭示案之態樣係關於用於減少經組態以在網路上操作之伺服器與用戶端裝置之間所經歷的潛時之影響的系統及方法。
根據某些態樣,經組態以在網路上操作之一或多個伺服器可經由網路連接藉由該伺服器自一或多個用戶端裝置接收用戶端裝置資訊。該用戶端裝置資訊可包括潛時資料。該一或多個伺服器可判定將該用戶端裝置潛時資訊考慮在內之輔助輸出。該伺服器亦可將該輔助輸出自伺服器發送至用戶端裝置。該用戶端裝置資訊或該輔助輸出可包括加密資料封包之串流。
現在轉向圖1,描繪了根據本揭示案之某些態樣回應於所接收到之用戶端裝置潛時資料可如何將輔助輸出提供給用戶端裝置之說明性實例。明確而言,圖1描繪了根據本揭示案之某些實施方案的用於回應於所接收到之用戶端裝置潛時資料向用戶端裝置提供輔助輸出的示例性過程流程。應指出,圖1中的提供輔助輸出之示例性方法可具有與圖2及圖3中示出之方法共同的一或多個態樣。亦為重要的係要指出圖1之實例僅為用於實現說明根據本揭示案可如何提供輔助輸出之僅某些態樣的目的的簡化實例。
在開始時,重要的係要指出在此實例中,將輔助輸出提供給正經歷潛時之用戶端裝置。然而,在替代實施方案中,可在其他環境下發送或觸發輔助輸出。如圖1中所示,回應於藉由伺服器自一或多個用戶端裝置接收到之用戶端裝置資訊132如何提供輔助輸出148一般可視用戶端裝置資訊132是否指示潛時存在(如146處所指示)而定。
根據某些態樣,在用戶端裝置資訊132指示用戶端裝置正經歷潛時146之情況下,伺服器可判定應將輔助輸出提供給用戶端裝置144以便幫助使用者克服潛時之影響。此可藉由以下實例進行說明。假設經由正經歷抖動(例如,按照網路上之封包潛時隨時間之變化性來量測的潛時變化)之網路在該裝置與伺服器之間傳輸資料。一
旦用戶端裝置已偵測到此抖動,用戶端裝置可向伺服器報告其正經歷潛時146。在接收到此資訊后,伺服器可判定潛時之嚴重程度需要向用戶端裝置提供輔助輸出或藉由用戶端裝置實施輔助輸出144。輔助輸出之類型可視潛時之嚴重程度而定。因此,作為輔助輸出148之一個可能性的實例,伺服器可接著將輔助指令提供給用戶端裝置。或者,該等指令可預先載入於用戶端裝置上或儲存於別處,且伺服器可發送一觸發信號,該觸發信號使用戶端裝置執行預先載入之指令或自別處獲得指令且執行該等指令。此類指令可呈腳本之形式。如本文所使用且如熟習此項技術者通常所理解的,「腳本」係指針對特殊執行時間環境編寫之程式,該程式可解譯(而非編譯)任務且使任務之執行自動化,該等任務可或者藉由人類操作員逐一執行。在其中輔助指令已載入於用戶端裝置上之實施方案中,輔助輸出148可為觸發用戶端裝置實施預先載入之輔助指令的信號。該信號可含有指示潛時之量的資訊,使得用戶端裝置可視潛時之程度而選擇適當輔助來執行。
無論是預先載入於用戶端裝置上、自伺服器發送至用戶端抑或藉由用戶端自別處獲得,輔助指令均可採取許多不同形式。舉例而言且並非為了限制,來自用戶端裝置之一些輸入組合涉及若干按鈕按壓且該等按鈕必須在彼此相差16ms之內按下。輔助輸入腳本可將按鈕向下按壓之此組合映射至單個按鈕按壓。
在輔助輸出148之另一實例中,伺服器可提
供或觸發輔助指令以使用戶端裝置記錄使用者輸入之間的時間差(△T)。假定使用者接下來之三個輸入為按正方形、正方形、圓形之順序的三個按鈕按壓;各輸入隔開16ms。然而,歸因於網路抖動,伺服器在第一與第二輸入之間的滯後為16ms且第二與第三輸入之間的滯後為33ms之情況下按正方形、正方形、圓形來接收此等輸入。然而,藉由執行輔助輸出指令(例如腳本),用戶端裝置可記錄已執行之輸入之間的△T且將其發送至伺服器。因此,除了該等輸入之外,伺服器亦接收關於用戶端裝置處之△T輸入的資料。因此,與原來藉由伺服器接收之輸入定時相反,伺服器接著輸入使用者命令,其中各輸入之間有16ms的適當△T。
在一些實施方案中,用戶端裝置可自動地記錄已執行之輸入之間的△T且將其作為用戶端裝置資訊132之部分發送至伺服器。伺服器可接著將自用戶端裝置接收到之△T值與該等輸入到達伺服器之時間的差進行比較(例如,藉由取差值)且判定潛時。伺服器可接著使用所判定之潛時來選擇適當之輔助輸出148。
根據某些態樣,用戶端裝置資訊亦可經由加密資料封包134來發送。如圖1中所示,伺服器可經由安全或不安全之網路(例如UDP)來接收加密資料134之串流。若該加密資料串流係無序地接收到,則將需要實施諸如正向錯誤校正(FEC)之傳統方法以便正確地解密該資料串流。然而,根據本揭示案之某些態樣,若伺服器判定
該資料串流歸因於失序傳輸而需要重組合140,則如142中所示,伺服器可使用隨每一封包包括之標頭資訊以便維持正確之解密次序且在解密之前重組合該資料串流。
要強調的係,提供圖1中描繪之示例性技術僅為了進行說明,以便突出本揭示案之某些態樣。實際上,本揭示案之實施方案可將未藉由圖1之實例描繪的額外或替代之考慮因素考慮在內,且可能比圖1中描繪之簡化方案複雜。
自圖1之實例中將瞭解,本揭示案之某些態樣包括可提供給用戶端裝置之輔助輸出的各種方法。此可為經由藉由用戶端裝置更改使用者體驗之方式。此亦可為經由將各種腳本提供給用戶端裝置。在一實例中,腳本係組態以降低人工智慧資產吸引住該使用者之困難。在另一實例中,腳本係組態以向該使用者呈現一不同場景。在任一情況中,輔助輸出允許使用者克服潛時之影響。自圖1之實例中亦將瞭解,本揭示案之某些態樣包括將經由使用封包標頭資訊來加密及解密之各種資料串流。因此,自伺服器發送至用戶端裝置之資料亦可為加密的,且用戶端裝置可使用加密封包標頭資訊來為接收到之資料串流確定適當之解密次序。
本揭示案之態樣的某些實施方案包括針對輔助輸出組態之系統。舉例而言且並非為了限制,根據本揭示案之某些態樣,圖2描繪了分散式計算系統,該分散式計算系統包括至少一個伺服器計算系統202及至少一個用戶端裝置計算系統204,且計算系統202及204經組態以
經由網路傳遞資料。在某些實施方案中,伺服器202可經組態以執行指令,該等指令具有與關於圖1及/或圖4描述之指令共同的一或多個態樣。在某些實施方案中,用戶端裝置204可經組態以執行指令,該等指令具有與上文關於圖1或下文關於圖3描述之指令中之一或多者共同的一或多個態樣。伺服器202及用戶端裝置204中之任一者或兩者可組態有合適之軟體及/或硬體以實施本文所描述之方法的各種態樣。伺服器202及用戶端裝置204中之任一者或兩者可為伺服器、嵌入式系統、行動電話、個人電腦、膝上型電腦、平板電腦、可攜式遊戲裝置、工作站、遊戲控制臺、可穿戴裝置(諸如智慧手錶)及類似者。
根據某些實施方案,伺服器202可為雲端計算伺服器,且用戶端裝置204可為伺服器202之雲端計算用戶端,且用戶端伺服器202可經組態以使用不可靠協定經由網路299將資料串流提供給用戶端裝置。舉例而言且並非為了限制,伺服器202或用戶端裝置204可為計算系統,該計算系統經組態以經由網路299將即時資料串流(諸如即時音訊串流、即時視訊串流或即時音訊/視訊串流)提供至至少一個伺服器202或至少一個用戶端裝置204,該網路可為廣域網路(WAN),諸如網際網路。該計算系統(伺服器202或用戶端裝置204)可經組態以經由網路將資料以加密資料封包之形式發送,該加密資料封包含有被遞送至接收方系統之資料。舉例而言,根據本揭示案之各種態樣,用戶端裝置204可將此等加密封包同時發送至接收方裝置202。接收方系統202可對該等加密資料封包解密,且該等加密資料封包可包括指示封包在解密
次序中之位次的標頭。
系統202及204中之任一者(亦即,伺服器202、用戶端裝置204或兩者)可包括一或多個處理器單元270,該等處理器單元可根據眾所周知之架構進行組態,諸如單核、雙核、四核、多核、處理器-協同處理器、單元處理器及類似者。系統202及204中之任一者亦可包括一或多個記憶體單元272(例如,RAM、DRAM、ROM及類似者)。處理器單元270可執行一或多個程式274,該等程式可儲存於記憶體272中,且處理器270可操作地耦接至記憶體272,例如藉由經由資料匯流排276來存取該記憶體。記憶體單元272可包括資料277,且處理器單元270可利用資料277來實施程式274。根據本揭示案之各種態樣,用於系統202及204中任一者之資料277可包括(例如)自伺服器202傳輸至用戶端裝置204的輔助輸出資料256,及視情況地包括自用戶端裝置204至伺服器202或自伺服器202至用戶端裝置204之用戶端裝置潛時資料254的用戶端裝置資訊252。程式274可視情況地包括在藉由處理器執行時執行與不安全網路上之封包的解密或輔助輸出256之遞送相關聯的一或多個操作的指令,諸如,例如具有與圖1、圖3及/或圖4之方法共同的一或多個特徵之方法。舉例而言,根據圖1中描繪之方法的伺服器側之態樣及/或用戶端裝置潛時資料之發送,伺服器202之程式274可包括在藉由處理器270執行時使伺服器回應於來自用戶端裝置204之潛時資
料254而將資料發送至至少一個接收裝置204及/或提供輔助輸出256的指令。用戶端裝置204之程式274可包括在藉由處理器270執行時使用戶端裝置執行輔助輸出指令256的指令,該等輔助輸出指令為預先載入的或藉由伺服器202提供。
系統202及204中之任一者亦可包括眾所周知之支持電路278,諸如輸入/輸出(I/O)電路279、電源供應器(P/S)280、時脈(CLK)281及快取記憶體282,該等支持電路可(例如)經由匯流排276與該系統之其他組件通信。系統202及204中之任一者可視情況地包括大容量儲存裝置284,諸如磁碟驅動器、CD-ROM驅動器、磁帶驅動器、快閃記憶體或類似者,且大容量儲存裝置284可儲存程式及/或資料。系統202及204中之任一者亦可視情況地包括顯示單元286。顯示單元286可呈陰極射線管(CRT)、平板螢幕、觸控螢幕或顯示文本、數字、圖形符號或其他視覺物件之其他裝置的形式。系統202及204中之任一者亦可包括使用者介面288以方便系統202/204與使用者之間的交互。使用者介面288可包括鍵盤、滑鼠、光筆、遊戲控制板、觸控介面或其他裝置。使用者介面亦可包括音訊I/O裝置,諸如揚聲器及/或麥克風。
使用者可經由使用者介面288與電腦系統中之任一者交互。舉例而言,伺服器可202可為雲端遊戲伺服器,且用戶端裝置204可為雲端遊戲用戶端,且視訊遊
戲使用者可經由使用者介面288與藉由伺服器202執行且串流傳輸至用戶端204之視訊遊戲交互。資料自伺服器傳輸至用戶端之速率可根據本揭示案之態樣而最佳化以增強使用者之體驗且維持用戶端側處接收到之信號的品質。使用者介面288之部分可包括圖形使用者介面(GUI),該圖形使用者介面可顯示於顯示單元286上以便方便使用者與系統202/204之交互。系統202/204可包括網路介面290,該網路介面經組態以實現Wi-Fi、乙太網路埠或其他通信方法之使用。根據本揭示案之某些態樣,網路介面290可合併合適之硬體、軟體、韌體或其某一組合以方便經由電信網路之通信,且可支持使用不可靠協定之資料傳送。網路介面290可經組態以經由區域網路及廣域網路(諸如網際網路)實施有線或無線通信。系統202及204中之任一者可在網路上經由一或多個資料封包299發送及接收資料及/或對檔案之請求。
如圖3中所示,可(例如)藉由用戶端裝置平臺204來實施一組用戶端裝置平臺指令371。用戶端裝置平臺指令371可形成於非暫時性電腦可讀媒體(諸如記憶體272或大容量儲存裝置284)上。用戶端裝置平臺指令371亦可為過程控制程式274之部分。如373處所指示,用戶端裝置平臺指令371可包括用於判定將包括用戶端裝置資訊252之潛時資料254的指令,該用戶端裝置資訊將發送至伺服器202。指令371可包括用於將用戶端裝置資訊252遞送至伺服器202之指令374。若用戶端裝置
資訊252將以加密封包之形式發送,則此等後面之指令可視情況地包括將封包加密次序資訊插入至封包標頭中之指令,使得伺服器202可對該等封包解密,即便該等封包係無序地接收到。其後,在376處,該等指令可包括用於接收輔助輸出356之指令且隨後可包括用於執行藉由所接收到之輔助輸出256觸發或包括於所接收到之輔助輸出256中之輔助指令的指令。若輔助輸出256將以加密封包之形式接收,則此等後面之指令可視情況地包括自封包標頭提取封包加密次序資訊之指令,使得用戶端裝置204可對該等封包解密,即便該等封包係無序地接收到。
如圖4中所示,可(例如)藉由伺服器202來實施一組伺服器指令481。伺服器指令481可形成於非暫時性電腦可讀媒體(諸如記憶體272或大容量儲存裝置284)上。伺服器指令481亦可為過程控制程式274之部分。如483處所指示,指令481可包括用於自用戶端裝置204接收用戶端裝置資訊252之指令。若用戶端裝置資訊252係以加密封包之形式接收到,則此等後面之指令可視情況地包括自封包標頭擷取封包加密次序資訊之指令,使得伺服器202可對該等封包解密,即便該等封包係無序地接收到。其後,在484處,該等指令可包括用於判定用戶端裝置資訊252是否含有潛時資料254的指令。此外,如486處所指示,若潛時資料254係隨用戶端裝置資訊252一起接收到,則指令481可含有用於產生將遞送至用戶端裝置204之輔助輸出256的指令。其後,在487處,該等
指令可包括用於將輔助輸出256發送至用戶端裝置204之指令。若輔助輸出256將以加密封包之形式發送,則此等後面之指令可視情況地包括將封包加密次序資訊插入至封包標頭中之指令,使得用戶端裝置204可對該等封包解密,即便該等封包係無序地接收到。
上述組件可以硬體、軟體、韌體或其某一組合來實施。
雖然以上係本揭示案之各種說明性實施方案的完整描述,但可使用各種替代、修改及等效物。因此,本發明之範疇不應被理解為受以上描述所限制,而是應該改為參考所附申請專利範圍以及其等效物之全範疇來判定。本文所描述之任何特徵(無論是否為較佳的)可與本文所描述之任何其他特徵(無論是否為較佳的)結合。在以下之申請專利範圍中,除了另外明確指定之情況外,不定冠詞「一」或「一個」涉及跟在該冠詞後之項目中之一或多者的數量。所附申請專利範圍不被解釋為包括構件或步驟加功能限制,除了在使用片語「用於......之構件」或「用於......之步驟」的給定請求項中明確地敘述了此類限制之外。
Claims (33)
- 一種方法,在經組態以在一網路上操作之一伺服器中,該方法包括:經由一網路連接藉由該伺服器自一用戶端裝置接收用戶端裝置資訊,其中該用戶端裝置資訊包括用戶潛時資料,其中該用戶潛時資料包括使用者輸入之間的時間之一量測值;判定將該用戶潛時資料考慮在內之一輔助輸出,其中判定該輔助輸出包括利用該等輸入時間量測值來藉由該伺服器使用在該用戶端裝置處產生該等輸入時所用之相同時間差來實施該等輸入;及將該輔助輸出自該伺服器發送至該用戶端裝置。
- 如申請專利範圍第1項之方法,其中該輔助輸出含有觸發已載入於該用戶端裝置上之輔助指令之執行的一信號。
- 如申請專利範圍第1項之方法,其中該輔助輸出含有將在該用戶端裝置上執行之指令。
- 如申請專利範圍第2項之方法,其中該等指令為腳本。
- 如申請專利範圍第4項之方法,其中該等腳本經組態以幫助使用者完成一任務。
- 如申請專利範圍第4項之方法,其中該等腳本經組態以藉由該用戶端裝置更改使用者體驗的模式。
- 如申請專利範圍第6項之方法,其中藉由允許更 多時間用於使用者輸入來更改該模式。
- 如申請專利範圍第6項之方法,其中藉由降低一人工智慧資產吸引住該使用者之一困難程度來更改該模式。
- 如申請專利範圍第6項之方法,其中藉由向該使用者呈現一不同場景來更改該模式。
- 如申請專利範圍第1項之方法,其中該用戶端裝置資訊或該輔助輸出包括加密資料封包之一串流。
- 如申請專利範圍第10項之方法,其中該加密資料封包串流中之每一資料封包包括指示該封包在一解密次序中之一位次的一標頭。
- 如申請專利範圍第11項之方法,進一步包括在該等封包係無序地接收時藉由該伺服器使用該等加密封包之該解密次序來重組合該資料串流。
- 如申請專利範圍第10項之方法,其中經由一不可靠協定來發送該資料封包串流。
- 如申請專利範圍第13項之方法,其中該不可靠協定為使用者資料報協定(UDP)。
- 一種伺服器端資料傳送系統,包括:一處理器,及一記憶體,該記憶體耦接至該處理器;其中該處理器經組態以執行一方法,該方法包括:經由一網路連接藉由一伺服器自一用戶端裝置接收用戶端裝置資訊,其中該用戶端裝置資訊包括用戶潛時資 料,其中該用戶潛時資料包括使用者輸入之間的時間之一量測值;以該處理器判定將該用戶潛時資料考慮在內之一輔助輸出,其中判定該輔助輸出包括利用該等輸入時間量測值來藉由該伺服器使用在該用戶端裝置處產生該等輸入時所用之相同時間差來實施該等輸入;及將該輔助輸出自該伺服器發送至該用戶端裝置。
- 一種其中包括有處理器可執行指令之非暫時性電腦可讀媒體,其中一處理器對該等指令之執行使該處理器實施一方法,該方法包括:經由一網路連接藉由一伺服器自一用戶端裝置接收用戶端裝置資訊,其中該用戶端裝置資訊包括用戶潛時資料,其中該用戶潛時資料包括使用者輸入之間的時間之一量測值;以該處理器判定將該用戶潛時資料考慮在內之一輔助輸出,其中以該處理器判定該輔助輸出包括利用該等輸入時間量測值來藉由該伺服器使用在該用戶端裝置處產生該等輸入時所用之相同時間差來實施該等輸入;及將該輔助輸出自該伺服器發送至該用戶端裝置。
- 如申請專利範圍第16項之非暫時性電腦可讀媒體,其中該用戶端裝置資訊或該輔助輸出包括加密資料封包之一串流。
- 一種資料傳送方法,包括:經由一網路連接將用戶端裝置資訊自一用戶端裝置發 送至一伺服器,其中該用戶端裝置資訊包括用戶潛時資料,其中該用戶潛時資料包括使用者輸入之間的時間之一量測值;自該伺服器接收一輔助輸出指令,其中該輔助輸出指令將該用戶潛時資料考慮在內,其中該輔助輸出係至少基於該用戶潛時資料被選擇,其中該輔助輸出指令利用該等輸入時間量測值來藉由該伺服器使用在該用戶端裝置處產生該等輸入時所用之相同時間差來實施該等輸入;及藉由該用戶端裝置實施與該輔助輸出對應之輔助。
- 如申請專利範圍第18項之方法,其中該輔助輸出含有觸發已載入於該用戶端裝置上之輔助指令之執行的一信號。
- 如申請專利範圍第18項之方法,其中該輔助輸出含有將在該用戶端裝置上執行之指令。
- 如申請專利範圍第19項之方法,其中該等指令為腳本。
- 如申請專利範圍第20項之方法,其中該等腳本經組態以幫助使用者完成一任務。
- 如申請專利範圍第18項之方法,其中該輔助輸出指令經組態以藉由該用戶端裝置更改使用者體驗的模式。
- 如申請專利範圍第23項之方法,其中藉由允許更多時間用於使用者輸入來更改該方式。
- 如申請專利範圍第23項之方法,其中藉由降低 一人工智慧資產吸引住該使用者之一困難程度來更改該方式。
- 如申請專利範圍第23項之方法,其中藉由向該使用者呈現一不同場景來更改該方式。
- 如申請專利範圍第18項之方法,其中該用戶端裝置資訊或該輔助輸出包括加密資料封包之一串流。
- 如申請專利範圍第27項之方法,其中該加密資料封包串流中之每一資料封包包括指示該封包在一解密次序中之一位次的一標頭。
- 如申請專利範圍第28項之方法,進一步包括在該等封包係無序地接收時藉由該伺服器使用該等加密封包之該解密次序來重組合該資料串流。
- 如申請專利範圍第27項之方法,其中經由一不可靠協定來發送該資料封包串流。
- 如申請專利範圍第30項之方法,其中該不可靠協定為使用者資料報協定(UDP)。
- 一種用戶端資料傳送系統,包括:一處理器,及一記憶體,該記憶體耦接至該處理器;其中該處理器經組態以執行一方法,該方法包括:經由一網路連接將用戶端裝置資訊自一用戶端裝置發送至一伺服器,其中該用戶端裝置資訊包括用戶潛時資料,其中該用戶潛時資料包括使用者輸入之間的時間之一量測值; 自該伺服器接收一輔助輸出,其中該輔助輸出將該用戶端裝置潛時資訊考慮在內,其中該輔助輸出係至少基於該用戶潛時資料被選擇,其中該輔助輸出利用該等輸入時間量測值來藉由該伺服器使用在該用戶端裝置處產生該等輸入時所用之相同時間差來實施該等輸入;及藉由該用戶端裝置實施與該輔助輸出對應之輔助。
- 一種其中包括有處理器可執行指令之非暫時性電腦可讀媒體,其中一處理器對該等指令之執行使該處理器實施一方法,該方法包括:經由一網路連接將用戶端裝置資訊自一用戶端裝置發送至一伺服器,其中該用戶端裝置資訊包括用戶潛時資料,其中該用戶潛時資料包括使用者輸入之間的時間之一量測值;自該伺服器接收一輔助輸出,其中該輔助輸出將該用戶端裝置潛時資訊考慮在內,其中該輔助輸出係至少基於該用戶潛時資料被選擇,其中該輔助輸出利用該等輸入時間量測值來藉由該伺服器使用在該用戶端裝置處產生該等輸入時所用之相同時間差來實施該等輸入;及藉由該用戶端裝置實施與該輔助輸出對應之輔助。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/640,506 | 2015-03-06 | ||
US14/640,506 US10135890B2 (en) | 2015-03-06 | 2015-03-06 | Latency-dependent cloud input channel management |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201644237A TW201644237A (zh) | 2016-12-16 |
TWI635727B true TWI635727B (zh) | 2018-09-11 |
Family
ID=56850051
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105103328A TWI635727B (zh) | 2015-03-06 | 2016-02-02 | 雲端輸入頻道管理 |
Country Status (6)
Country | Link |
---|---|
US (2) | US10135890B2 (zh) |
EP (1) | EP3266168B1 (zh) |
JP (1) | JP6547001B2 (zh) |
CN (2) | CN114363265A (zh) |
TW (1) | TWI635727B (zh) |
WO (1) | WO2016144821A1 (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6731600B1 (en) * | 1999-02-08 | 2004-05-04 | Realnetworks, Inc. | System and method for determining network conditions |
US20060136570A1 (en) * | 2003-06-10 | 2006-06-22 | Pandya Ashish A | Runtime adaptable search processor |
US20090064248A1 (en) * | 2007-08-31 | 2009-03-05 | At&T Knowledge Ventures, Lp | System and method of monitoring video data packet delivery |
US8140646B2 (en) * | 2009-06-04 | 2012-03-20 | Microsoft Corporation | Network application performance enhancement using speculative execution |
US20130013671A1 (en) * | 2011-07-08 | 2013-01-10 | Rohan Relan | System and method for providing interactive content to non-native application environments |
US20130080641A1 (en) * | 2011-09-26 | 2013-03-28 | Knoa Software, Inc. | Method, system and program product for allocation and/or prioritization of electronic resources |
TW201408020A (zh) * | 2012-04-26 | 2014-02-16 | Qualcomm Inc | 用於處置低等待時間串流的增強型區塊請求串流系統 |
US20140189091A1 (en) * | 2012-12-27 | 2014-07-03 | Nvidia Corporation | Network adaptive latency reduction through frame rate control |
Family Cites Families (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
AU2001238430A1 (en) * | 2000-02-18 | 2001-08-27 | Cedere Corporation | Real time mesh measurement system stream latency and jitter measurements |
US7020698B2 (en) * | 2000-05-31 | 2006-03-28 | Lucent Technologies Inc. | System and method for locating a closest server in response to a client domain name request |
US7937470B2 (en) * | 2000-12-21 | 2011-05-03 | Oracle International Corp. | Methods of determining communications protocol latency |
US8144837B2 (en) * | 2001-01-22 | 2012-03-27 | Dialogic Corporation | Method and system for enhanced user experience of audio |
JP2003006127A (ja) * | 2001-06-18 | 2003-01-10 | Cyberstep Inc | 分散処理システム、分散処理方法、およびその方法を利用可能なクライアント端末 |
US8201205B2 (en) * | 2005-03-16 | 2012-06-12 | Tvworks, Llc | Upstream bandwidth management methods and apparatus |
WO2009131507A1 (en) * | 2008-04-25 | 2009-10-29 | Telefonaktiebolaget L M Ericsson (Publ) | Method for determining the round trip time |
US20090300144A1 (en) * | 2008-06-03 | 2009-12-03 | Sony Computer Entertainment Inc. | Hint-based streaming of auxiliary content assets for an interactive environment |
JP5536059B2 (ja) * | 2008-07-28 | 2014-07-02 | ヴァントリックス コーポレーション | 経時変化する容量を有する接続のフローレート適合 |
WO2010067672A1 (ja) * | 2008-12-10 | 2010-06-17 | 日本電気株式会社 | データ通信システム、無線基地局、データ通信方法 |
CN101534325B (zh) * | 2009-04-15 | 2012-11-14 | 深圳市融创天下科技股份有限公司 | 一种富媒体系统设计中媒体对象的动态调试方法 |
US9069727B2 (en) * | 2011-08-12 | 2015-06-30 | Talari Networks Incorporated | Adaptive private network with geographically redundant network control nodes |
US8189487B1 (en) * | 2009-07-28 | 2012-05-29 | Sprint Communications Company L.P. | Determination of application latency in a network node |
JP5402389B2 (ja) * | 2009-08-17 | 2014-01-29 | 株式会社リコー | 電子会議システム、配信管理サーバ、データ制御方法、プログラム、及び記録媒体 |
CN102404780A (zh) | 2010-09-09 | 2012-04-04 | 华为技术有限公司 | 用户感受测量方法、设备和系统 |
US8930979B2 (en) * | 2010-11-11 | 2015-01-06 | Time Warner Cable Enterprises Llc | Apparatus and methods for identifying and characterizing latency in a content delivery network |
US9007362B2 (en) * | 2011-01-14 | 2015-04-14 | Brian Mark Shuster | Adaptable generation of virtual environment frames |
US20130091266A1 (en) * | 2011-10-05 | 2013-04-11 | Ajit Bhave | System for organizing and fast searching of massive amounts of data |
EP2781117A4 (en) * | 2011-11-15 | 2015-12-16 | Nokia Technologies Oy | OPTIMIZING RADIO USE WITH INTERMITTENT TRAFFIC |
KR101246361B1 (ko) * | 2011-12-30 | 2013-04-04 | (주)네오위즈게임즈 | 릴레이 서버를 이용한 렉발생 어뷰징 방지 서비스를 제공하는 방법, 서버 및 기록매체 |
CN102739681B (zh) * | 2012-06-29 | 2015-11-25 | 北京奇虎科技有限公司 | 一种登录控件进行服务器登录的方法和装置 |
US9526980B2 (en) * | 2012-12-21 | 2016-12-27 | Microsoft Technology Licensing, Llc | Client side processing of game controller input |
CN105075323B (zh) * | 2013-03-29 | 2019-02-05 | Vid拓展公司 | 早期分组丢失检测和反馈 |
US9113306B2 (en) * | 2013-08-02 | 2015-08-18 | Google Inc. | Predictive assistance information |
CN103793070B (zh) * | 2014-01-27 | 2017-01-18 | 百度在线网络技术(北京)有限公司 | 一种输入请求消息的发送方法及系统 |
US9912562B2 (en) * | 2014-03-31 | 2018-03-06 | Microsoft Technology Licensing, Llc | Measuring latency in an interactive application |
CN104202119B (zh) * | 2014-08-26 | 2018-04-27 | 联想(北京)有限公司 | 一种数据发送方法、系统及电子设备 |
-
2015
- 2015-03-06 US US14/640,506 patent/US10135890B2/en active Active
-
2016
- 2016-02-02 TW TW105103328A patent/TWI635727B/zh active
- 2016-03-04 JP JP2017546994A patent/JP6547001B2/ja active Active
- 2016-03-04 CN CN202111489649.0A patent/CN114363265A/zh active Pending
- 2016-03-04 WO PCT/US2016/021056 patent/WO2016144821A1/en active Application Filing
- 2016-03-04 EP EP16762260.4A patent/EP3266168B1/en active Active
- 2016-03-04 CN CN201680012906.2A patent/CN107431662B/zh active Active
-
2020
- 2020-11-19 US US16/953,163 patent/USRE49277E1/en active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6731600B1 (en) * | 1999-02-08 | 2004-05-04 | Realnetworks, Inc. | System and method for determining network conditions |
US20060136570A1 (en) * | 2003-06-10 | 2006-06-22 | Pandya Ashish A | Runtime adaptable search processor |
US20090064248A1 (en) * | 2007-08-31 | 2009-03-05 | At&T Knowledge Ventures, Lp | System and method of monitoring video data packet delivery |
US8140646B2 (en) * | 2009-06-04 | 2012-03-20 | Microsoft Corporation | Network application performance enhancement using speculative execution |
US20130013671A1 (en) * | 2011-07-08 | 2013-01-10 | Rohan Relan | System and method for providing interactive content to non-native application environments |
US20130080641A1 (en) * | 2011-09-26 | 2013-03-28 | Knoa Software, Inc. | Method, system and program product for allocation and/or prioritization of electronic resources |
TW201408020A (zh) * | 2012-04-26 | 2014-02-16 | Qualcomm Inc | 用於處置低等待時間串流的增強型區塊請求串流系統 |
US20140189091A1 (en) * | 2012-12-27 | 2014-07-03 | Nvidia Corporation | Network adaptive latency reduction through frame rate control |
Also Published As
Publication number | Publication date |
---|---|
WO2016144821A1 (en) | 2016-09-15 |
CN114363265A (zh) | 2022-04-15 |
JP6547001B2 (ja) | 2019-07-17 |
EP3266168A4 (en) | 2018-07-25 |
TW201644237A (zh) | 2016-12-16 |
CN107431662A (zh) | 2017-12-01 |
CN107431662B (zh) | 2021-12-07 |
EP3266168A1 (en) | 2018-01-10 |
US20160261656A1 (en) | 2016-09-08 |
JP2018510568A (ja) | 2018-04-12 |
EP3266168B1 (en) | 2019-07-17 |
US10135890B2 (en) | 2018-11-20 |
USRE49277E1 (en) | 2022-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10700995B2 (en) | System and method for improving an aggregated throughput of simultaneous connections | |
US9300733B2 (en) | System and/or method for client-driven server load distribution | |
US9413830B2 (en) | Application streaming service | |
US11212334B2 (en) | Mechanisms to support adaptive constrained application protocol (CoAP) streaming for Internet of Things (IoT) systems | |
WO2019148563A1 (zh) | 一种数据发送方法、接收方法及装置 | |
Gusev et al. | Real-time streaming data delivery over named data networking | |
TWI635727B (zh) | 雲端輸入頻道管理 | |
CN107438991B (zh) | 经由多媒体广播多播服务的灵活广播服务的方法和装置 | |
KR102415156B1 (ko) | Qos 관리 방법 및 이를 수행하기 위한 수신 장치 | |
WO2024032102A1 (zh) | 数据传输方法、装置、设备、存储介质和计算机程序产品 | |
TWI506993B (zh) | 建立串流媒體對話的方法及裝置 | |
TW202327370A (zh) | 用於串流資料存取之系統、方法及電腦可讀媒體 | |
WO2023129183A1 (en) | System, method and computer-readable medium for streaming data accessing |