信息處理裝置、方法、以及程序的制作方法
【技術領域】
[0001] 本發(fā)明涉及信息處理裝置、方法、以及程序。
【背景技術】
[0002] 在遠程桌面中,在服務器裝置配置有虛擬化的桌面環(huán)境(以下,稱為虛擬桌面)。 客戶端裝置能夠遠程訪問服務器,來利用使用服務器裝置的計算資源而提供的虛擬桌面。 近年來,隨著智能手機等的移動設備的高功能化和普及,從移動環(huán)境利用提供遠程桌面的 服務的需求增大。另外,從數(shù)據(jù)的安全對策、個人計算機的運用管理的成本的觀點來看,提 供遠程桌面的服務也被關注。
[0003] 另一方面,進行數(shù)據(jù)的發(fā)送和接收的通信裝置彼此的距離通過事業(yè)的全球化等 而越來越長。對通信對象發(fā)出信號、數(shù)據(jù)后,到響應返回來所需要的時間亦即往返延遲時 間(RoundTripTime:RTT)被與對象的物理距離、在路徑上進行中繼、轉送的裝置等的個 數(shù)所左右。例如,發(fā)送側的通信裝置與接收側的通信裝置之間的距離越長,發(fā)送側的通信 裝置與接收側的通信裝置之間的路徑的往返延遲時間越長。而且,在通過肯定響應(ACK: ACKnowledgement)保證數(shù)據(jù)到達的例如TCP等的方式中,若往返延遲時間變長則到肯定響 應返回的時間也變慢。其結果,等待時間變大,通信的吞吐量降低。
[0004] 進一步,存在客戶端裝置中正在工作的其他的應用程序占具通信帶寬,可利用于 構建遠程桌面環(huán)境的通信帶寬被限制的狀況。在這種狀況下,通信速度變得更慢。
[0005] 對于此,公知有提供減少或者阻止由于從服務器裝置向客戶端裝置傳輸動畫信息 的傳輸路徑的傳輸量不均勻而產(chǎn)生信息的缺少、傳輸信息的延遲等的動畫信息傳輸方法以 及裝置的技術。另外,公知有減少動態(tài)圖像數(shù)據(jù)的傳輸錯誤的技術。(例如,參照專利文獻 1以及專利文獻2)
[0006] 專利文獻1 :日本特開2005 - 260302號公報
[0007] 專利文獻2 :日本特開2009 - 49529號公報
[0008] 在遠程桌面的一個例子中,服務器裝置將捕獲虛擬桌面的畫面而得到的圖像數(shù)據(jù) 發(fā)送至客戶端裝置??蛻舳搜b置將接收到的圖像數(shù)據(jù)顯示在顯示畫面??蛻舳搜b置的用戶 能夠根據(jù)顯示于顯示畫面的圖像數(shù)據(jù)掌握虛擬桌面的狀態(tài)。另外,客戶端裝置將用戶對于 虛擬桌面輸入的操作通知給服務器裝置。服務器裝置根據(jù)所輸入的用戶的操作更新虛擬桌 面的畫面。因此,即使是未配置有桌面環(huán)境的客戶端裝置,也能夠利用桌面環(huán)境。例如,在 這種安裝中,通信速度影響客戶端裝置中的遠程桌面的畫面的更新間隔。而且,若畫面的更 新間隔變長,則導致遠程桌面的可用性降低。該可用性的降低例如能夠通過加快通信速度 而改善,但根據(jù)網(wǎng)絡環(huán)境,存在難以充分地加快通信速度的狀況。因此,期望提供例如在給 定的通信速度中,也能夠使遠程桌面的可用性提高的技術。
【發(fā)明內(nèi)容】
[0009] 本發(fā)明的一個方式的信息處理裝置所執(zhí)行的方法包括計算的工序、設定為空余大 小的工序、設定為發(fā)送間隔的工序、減法的工序、以及加法的工序。計算的工序?qū)υ谂c客戶 端裝置之間的通信中可利用的帶寬乘以通信的往返延遲時間,來計算客戶端裝置所具有的 緩沖區(qū)的緩沖區(qū)大小。設定為空余大小的工序,將通過緩沖區(qū)大小除以對于客戶端裝置設 定的發(fā)送數(shù)據(jù)大小而得到的實數(shù)整數(shù)化來計算整數(shù)值,并將整數(shù)值設定到空余大小。設定 為發(fā)送間隔的工序,將往返延遲時間除以整數(shù)值而得到的值、或者發(fā)送數(shù)據(jù)大小除以帶寬 而得到的值設定為發(fā)送間隔。減法的工序在每當經(jīng)過發(fā)送間隔時,均判定空余大小是否大 于第一值,在大于第一值的情況下生成遠程桌面的畫面的圖像數(shù)據(jù)并發(fā)送至客戶端裝置, 從空余大小減去第二值。加法的工序在每次從客戶端裝置接收到針對通過減法的工序發(fā)送 的圖像數(shù)據(jù)的響應時,均對空余大小加上第二值。
[0010] 使遠程桌面的可用性提高。
【附圖說明】
[0011]圖1是例示提供遠程桌面的系統(tǒng)中的服務器裝置與客戶端裝置之間的數(shù)據(jù)的發(fā) 送和接收的流程的圖。
[0012] 圖2是例示不等待來自客戶端裝置的肯定響應的到達就發(fā)送下一個畫面的圖像 數(shù)據(jù)的情況的數(shù)據(jù)的發(fā)送和接收的流程的圖。
[0013] 圖3是例示利用丟幀和滑動窗口的畫面數(shù)據(jù)的發(fā)送數(shù)的控制的圖。
[0014] 圖4是例示畫面的更新間隔的偏差的圖。
[0015] 圖5是例示針對用戶輸入的操作的顯示畫面的響應性的圖。
[0016] 圖6是例示通過使用實施方式所涉及的發(fā)送間隔而抑制畫面的更新間隔的偏差 的圖。
[0017] 圖7是例示通過使用實施方式所涉及的發(fā)送間隔而改善針對畫面的用戶操作的 響應性的圖。
[0018] 圖8是例示服務器裝置的虛擬桌面的畫面和客戶端裝置的顯示畫面的圖。
[0019]圖9是例示提供實施方式所涉及的遠程桌面的系統(tǒng)的圖。
[0020] 圖10是例示實施方式所涉及的服務器裝置的功能模塊構成的圖。
[0021] 圖11是例示實施方式所涉及的客戶端裝置的功能模塊構成的圖。
[0022] 圖12是例示實施方式所涉及的設定信息的圖。
[0023] 圖13是例示實施方式所涉及的畫面信息的圖。
[0024] 圖14是例示實施方式所涉及的肯定響應的圖。
[0025] 圖15是例示第一實施方式所涉及的畫面數(shù)據(jù)的發(fā)送和接收處理的圖。
[0026] 圖16是例示第二實施方式所涉及的畫面數(shù)據(jù)的發(fā)送和接收處理的圖。
[0027] 圖17是例示第三實施方式所涉及的畫面數(shù)據(jù)的發(fā)送和接收處理的圖。
[0028] 圖18是例示重新設定處理的圖。
[0029] 圖19是例示用于實現(xiàn)實施方式所涉及的服務器裝置的信息處理裝置的硬件構成 的圖。
[0030] 圖20是例示用于實現(xiàn)實施方式所涉及的客戶端裝置的信息處理裝置的硬件構成 的圖。
【具體實施方式】
[0031] 以下,參照附圖對本發(fā)明的幾個實施方式詳細地進行說明。此外,對在多個附圖中 對應的要素標注了相同的符號。
[0032] 如上所述,在遠程桌面的一個例子中,在服務器裝置配置有虛擬桌面環(huán)境。而且, 服務器裝置將例如捕獲虛擬桌面的畫面而得到的圖像數(shù)據(jù)發(fā)送至客戶端裝置。此外,所謂 捕獲虛擬桌面的畫面例如也可以是服務器裝置生成虛擬桌面的畫面的圖像數(shù)據(jù)。在客戶端 裝置中,若從服務器裝置接收到圖像數(shù)據(jù),則將表示能夠接收該圖像數(shù)據(jù)的信號亦即肯定 響應(ACKACKnowledgement)回信給服務器裝置。接著,客戶端裝置通過將接收到的圖像 數(shù)據(jù)例如顯示在客戶端裝置所具備的顯示裝置的顯示畫面,從而服務器裝置的虛擬桌面的 狀態(tài)顯示于客戶端裝置的顯示畫面。若服務器裝置接收到來自客戶端裝置的肯定響應,則 將再次捕獲虛擬桌面的畫面而得到的下一個畫面的圖像數(shù)據(jù)發(fā)送至客戶端裝置。通過反復 進行以上的處理,用戶能夠通過客戶端裝置的顯示畫面確認虛擬桌面的畫面的狀態(tài),所以 能夠在客戶端裝置中操作虛擬桌面。
[0033] 圖1是例示提供以上例示的遠程桌面的系統(tǒng)中的服務器裝置與客戶端裝置之間 的數(shù)據(jù)的發(fā)送和接收的流程的圖。此外,在以下的說明中,為了按時間序列區(qū)別被服務器裝 置捕獲到的一系列的虛擬桌面的畫面的每一個,而使用在"畫面"的術語后標注編號η的例 如"畫面η"這樣的記載。所標注的編號η表示畫面被服務器裝置捕獲的時間序列的順序。 例如,附加了編號"1"的"畫面1"表示在某時刻以后第1個被服務器裝置捕獲的虛擬桌面 的畫面。而且,"畫面2"表示"畫面1"的下一個被服務器裝置捕獲的畫面。另外,在以下的 說明中,將捕獲畫面而得到的圖像數(shù)據(jù)稱為畫面數(shù)據(jù)。并且,在表示從某時刻開始第η個被 服務器裝置捕獲的畫面的圖像數(shù)據(jù)的情況下記載為"畫面η數(shù)據(jù)"。即,"畫面1數(shù)據(jù)"是捕 獲"畫面1"而得到的圖像數(shù)據(jù)。另外,"畫面2數(shù)據(jù)"是捕獲"畫面2"而得到的圖像數(shù)據(jù)。
[0034] 如圖1所示,若服務器裝置開始對客戶端裝置提供遠程桌面,則捕獲虛擬桌面的 畫面(畫面1),獲取其圖像數(shù)據(jù)(畫面1數(shù)據(jù))(圖1的(1))。服務器裝置對捕獲到的畫 面1數(shù)據(jù)進行例如壓縮處理等之后將該畫面1數(shù)據(jù)發(fā)送至客戶端裝置(圖1的(2))。若客 戶端裝置接收到畫面1數(shù)據(jù),則將表示能夠接收到畫面1數(shù)據(jù)的信號亦即肯定響應回信給 服務器裝置(圖1的(3))。接著,客戶端裝置通過將接收到的畫面1數(shù)據(jù)例如顯示在客戶 端裝置所具備的顯示裝置的顯示畫面(圖1的(4)),來對用戶提供顯示于虛擬桌面的畫面。 若服務器裝置接收到來自客戶端裝置的肯定響應,則再次捕獲虛擬桌面的畫面并獲取下一 個畫面(畫面2)的圖像數(shù)據(jù)(畫面2數(shù)據(jù))(圖1的(5))。與畫面1的情況相同地,服務 器裝置對捕獲到的畫面2的畫面2數(shù)據(jù)進行例如壓縮處理等之后將該畫面2數(shù)據(jù)發(fā)送至客 戶端裝置(圖1的(6))。若客戶端裝置接收到畫面2數(shù)據(jù),則將表示能夠正常地接收到畫 面2數(shù)據(jù)的肯定響應回信給服務器裝置(圖1的(7)),將接收到的畫面2數(shù)據(jù)例如顯示在 客戶端裝置所具備的顯示裝置的顯示畫面(圖1的(8))。通過例如反復進行以上的處理, 從而在客戶端裝置的顯示畫面依次顯示顯示于服務器裝置的虛擬桌面的畫面,提供了遠程 桌面環(huán)境。
[0035] 在以上的圖1所示的例子中,服務器裝置通過肯定響應確認了發(fā)送的畫面的圖像 數(shù)據(jù)能夠在客戶端裝置正常地接收之后,生成下一個畫面的圖像數(shù)據(jù)并發(fā)送。因此,在客戶 端裝置的顯示畫面以與被服務器裝置捕獲的畫面的順序相同的順序顯示了畫面的圖像數(shù) 據(jù),用戶能夠通過客戶端裝置的顯示畫面而知曉虛擬桌面的畫面的隨時間的變化。因此,用 戶能夠通過客戶端裝置的顯示畫面而知曉例如針對對于虛擬桌面執(zhí)行的自身的操作的響 應。
[0036] 然而,在等待來自客戶端裝置的肯定響應后發(fā)送下一個畫面的圖像數(shù)據(jù)的上述的 方式中,往返延遲時間直接被反映在畫面的更新間隔。因此,在往返延遲時間較長的網(wǎng)絡環(huán) 境中,針對用戶的操作的響應性顯著地降低。此外,所謂針對用戶的操作的響應性,例如是 在用戶操作鼠標、鍵盤(例如光標的移動、文字的輸入等)時該操作被反映到客戶端裝置的 顯示畫面為止的時間,該時間越短響應性越高。
[0037] 為了抑制這種由于往返延遲時間而引起的畫面的更新間隔的長期化,而考慮到服 務器裝置不等待來自客戶端裝置的肯定響應的到達就發(fā)送下一個畫面的圖像數(shù)據(jù)。圖2是 例示服務器裝置不等待來自客戶端裝置的肯定響應的到達就發(fā)送下一個畫面的圖像數(shù)據(jù) 的情況的數(shù)據(jù)的發(fā)送和接收的流程的圖。
[0038] 在圖2的例子中,若服務器裝置開始對客戶端裝置提供遠程桌面,則捕獲虛擬桌 面的畫面并獲取作為畫面1的圖像數(shù)據(jù)的畫面1數(shù)據(jù)(圖2的(1))。而且,服務器裝置在 對獲取到的畫面1數(shù)據(jù)進行了例如壓縮處理等之后將該畫面1數(shù)據(jù)發(fā)送至客戶端裝置(圖 2的(2))。接著,服務器裝置不等待針對已發(fā)送的畫面1數(shù)據(jù)的來自客戶端裝置的肯定響 應的接收,就捕獲下一個虛擬桌面的畫面并獲取作為畫面2的圖像數(shù)據(jù)的畫面2數(shù)據(jù)(圖 2的(3))。而且,與畫面1的情況相同地,服務器裝置對獲取到的畫面2數(shù)據(jù)進行了例如壓 縮處理等之后將該畫面2數(shù)據(jù)發(fā)送至客戶端裝置(圖2的(4))。以后,服務器裝置不等待 針對已發(fā)送的圖像數(shù)據(jù)的來自客戶端裝置的肯定響應的接收,就以規(guī)定的時間間隔捕獲虛 擬桌面的畫面,并進行了壓縮處理等之后將該圖像數(shù)據(jù)依次發(fā)送至客戶端裝置。
[0039]另一方面,若客戶端裝置接收到從服務器裝置發(fā)送來的畫面1數(shù)據(jù),則將表示能 夠正常地接收的信號亦即肯定響應回信給服務器裝置(圖2的(5))。接著,客戶端裝置將 接收到的畫面1數(shù)據(jù)顯示在例如客戶端裝置所具備的顯示裝置的顯示畫面(圖2的(6))。 相同地,若客戶端裝置接收到畫面2數(shù)據(jù),則將表示能夠正常地接收的肯定響應回信給服 務器裝置(圖2的(7)),將接收到的畫面2數(shù)據(jù)顯示在顯示畫面(圖2的(8))。以后,若 客戶端裝置接收到從服務器裝置發(fā)送來的圖像數(shù)據(jù),則將針對接收到的圖像數(shù)據(jù)的肯定響 應回信給服務器裝置,將接收到的圖像數(shù)據(jù)依次顯示在顯示畫面。
[0040] 通過例如以上的處理,服務器裝置不等待來自客戶端裝置的肯定響應就將捕獲畫 面而得到的圖像發(fā)送至客戶端裝置,所以在往返延遲時間較長的情況下,也能夠抑制客戶 端裝置中的圖像數(shù)據(jù)的更新間隔的長期化。
[0041] 此外,在這種服務器裝置不等待來自客戶端裝置的肯定響應就發(fā)送畫面數(shù)據(jù)的構 成的情況下,根據(jù)發(fā)送方式,存在畫面數(shù)據(jù)實際被捕獲的順序和在客戶端裝置接收的順序 更換的情況。即,例如,在圖2中,存在從先發(fā)送的畫面1數(shù)據(jù)之后發(fā)送的畫面2數(shù)據(jù)先被客 戶端裝置接收的情況。在遠程桌面中,優(yōu)選在客戶端裝置中也以在服務器裝置中被捕獲的 畫面的順序顯示畫面數(shù)據(jù)。這例如為用戶進行鼠標光標的移動的操作。在該情況下,若捕 獲到的畫面數(shù)據(jù)的順序被更換顯示,則產(chǎn)生用戶能夠看到光標向與實際移動的光標的移動 方向相反的方向移動這樣的問題。這種問題成為使可用性降低的重要因素,所以在遠程桌 面中,優(yōu)選在客戶端裝置中也以服務器裝置捕獲到的畫面的順序顯示畫面數(shù)據(jù)。因此,在客 戶端裝置設置有用于積蓄從服務器裝置接收到的圖像數(shù)據(jù)的緩沖區(qū)。而且,服務器裝置對 發(fā)送的圖像數(shù)據(jù)附加表示捕獲到畫面的順序的序列號后發(fā)送至客戶端裝置。在客戶端裝置 中,將接收到的畫面數(shù)據(jù)積蓄到緩沖區(qū),根據(jù)所附加的序列號在顯示裝置的顯示畫面顯示, 所以能夠按照順序顯示畫面數(shù)據(jù)。
[0042] 然而,即使成為以上那樣的構成,也由于客戶端裝置的緩沖區(qū)的大小有限,因而例 如在發(fā)送緩沖區(qū)能夠積蓄的個數(shù)以上的畫面數(shù)據(jù)的情況下,有可能引起溢出?;?