TWI537827B - 應用軟體試用系統、方法及其伺服器與使用者裝置 - Google Patents

應用軟體試用系統、方法及其伺服器與使用者裝置 Download PDF

Info

Publication number
TWI537827B
TWI537827B TW103134817A TW103134817A TWI537827B TW I537827 B TWI537827 B TW I537827B TW 103134817 A TW103134817 A TW 103134817A TW 103134817 A TW103134817 A TW 103134817A TW I537827 B TWI537827 B TW I537827B
Authority
TW
Taiwan
Prior art keywords
application software
server
data
user device
virtual machine
Prior art date
Application number
TW103134817A
Other languages
English (en)
Other versions
TW201614489A (en
Inventor
羅尹聰
丁俊宏
李旭恩
Original Assignee
第五代虛擬科技股份有限公司
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 第五代虛擬科技股份有限公司 filed Critical 第五代虛擬科技股份有限公司
Priority to TW103134817A priority Critical patent/TWI537827B/zh
Priority to KR1020150137314A priority patent/KR101709017B1/ko
Priority to JP2015197926A priority patent/JP2016076216A/ja
Priority to US14/876,161 priority patent/US20160100036A1/en
Priority to CN201510644615.2A priority patent/CN105487882A/zh
Publication of TW201614489A publication Critical patent/TW201614489A/zh
Application granted granted Critical
Publication of TWI537827B publication Critical patent/TWI537827B/zh

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors

Description

應用軟體試用系統、方法及其伺服器與使用者裝置
本發明係關於一種應用軟體試用系統、方法及其伺服器與使用者裝置。
受惠於智慧型手機、平板電腦的普及化,搭配這些行動使用者裝置的行動應用程式(mobile application,簡稱mobile app、app)有若雨後春筍地冒出。這類特別適合在行動使用者裝置上安裝的軟體,可由使用者透過應用程式商店(例如Google的play商店、Apple的APP Store)下載即可安裝執行,非常迅速便捷,滿足了不同使用者間相異的需求。
然而,現行的應用程式商店僅能提供靜態的文字敘述,以及圖片或影片作為使用者購買前的參考,若要真正了解應用程式是否符合使用需求,使用者別無選擇地只有承擔風險來付費下載安裝。當然,也有部分的使用者會因害怕購買後不符合需求,進而選擇放棄。
為克服此一問題,已有廠商提供免費版本供使用者試用。這種免費版本雖然克服付費的心理障礙,但是免不了要經過下載、安裝等繁瑣步驟。另外,若對軟體內容不滿意,還要額外再進行手動刪除,不僅令人厭煩,同時也浪費裝置的儲存空間及運算資源。
有鑒於此,本發明人思及一種應用軟體試用系統、方法及其伺服器與使用者裝置,可協助使用者在不需下載與安裝應用軟體,甚至試用軟體,即可於自己的裝置上進行試用,不僅可以降低,甚至避免花費,也可以減少網路或硬體資源的虛耗,此外,也同時免除了多餘的操作步驟與下載之等待時間,更重要的是,因為能提高使用者嘗試的意願,提高廣告或推銷的效果。
本發明之目的為提供一種應用軟體試用系統、方法及其伺服器與使用者裝置,可協助使用者在不需下載與安裝應用軟體,甚至試用軟體,即可於自己的裝置上進行試用,不僅可以降低,甚至避免花費,也可以減少硬體資源的虛耗,此外,也同時免除了多餘的操作步驟與下載之等待時間,更重要的是,因為能提高使用者嘗試的意願,提高廣告或推銷的效果。
為達上述目的,依據本發明的一種應用軟體試用系統。應用軟體試用系統包括至少一使用者裝置以及一伺服器。伺服器與使用者裝置通訊連接。伺服器接收試用一應用軟體之一請求資料,請求資料係對應於使用者裝置上之一輸入而產生。伺服器依據請求資料執行應用軟體之至少一部分,並與使用者裝置建立一雙向通訊連接。伺服器與使用者裝置透過雙向通訊連接傳輸至少一影像資料與至少一控制資料。
在一實施例中,伺服器包括至少一叢集運算單元,叢集運算單元包括至少一叢集節點,伺服器係以叢集節點執行應用軟體。
在一實施例中,叢集節點包括至少一個虛擬機器,伺服器係以虛擬機器執行應用軟體。
在一實施例中,虛擬機器係執行對應應用軟體之一作業系統,並於作業系統上執行應用軟體。
在一實施例中,叢集節點包括多數個虛擬機器,分別執行不同之作業系統。
在一實施例中,包括另一使用者裝置,伺服器接收試用另一應用軟體之另一請求資料,另一請求資料係對應於另一使用者裝置上之一輸入而產生,伺服器依據另一請求資料以相同之虛擬機器執行另一應用軟體。
在一實施例中,虛擬機器執行一輸入輸出代理程式,以透過雙向通訊連接而與使用者裝置傳輸資料。
在一實施例中,虛擬機器執行之輸入輸出代理程式的數量係對應虛擬機器執行之應用軟體的數量。
在一實施例中,伺服器包括一記憶單元,儲存伺服器執行應用軟體之一快照資料。
在一實施例中,伺服器係依據快照資料執行應用軟體。
在一實施例中,伺服器包括一應用程式介面單元、一工作管理單元以及一資源分配單元,應用程式介面單元接收請求資料,工作管理單元依據請求資料產生一工作管理資料,資源分配單元依據工作管理資料取得產生一應用軟體執行相關資料,伺服器依據應用軟體執行相關資料執行應用軟體。
為達上述目的,依據本發明的一種伺服器,應用於一應用軟體試用系統,應用軟體試用系統包括該伺服器以及至少一使用者裝置,伺服器與使用者裝置通訊連接,伺服器包括至少一記憶單元、至少一傳輸單元以及一或多數個運算單元,一或多數個運算單元分別與記憶單元及傳輸單元通訊連接,傳輸單元接收一請求資料,請求資料係對應於使用者裝置上之一輸入而產生,一或多數個運算單元依據請求資料執行儲存於記憶單元中之應用軟體之至少一部分,並透過傳輸單元與使用者裝置建立一雙向通訊連接,伺服器與使用者裝置透過雙向通訊連接傳輸至少一影像資料與至少一控制資料。
在一實施例中,包括至少一叢集運算單元,叢集運算單元包括至少一叢集節點,伺服器係以叢集節點執行應用軟體。
在一實施例中,叢集節點包括至少一個虛擬機器,伺服器係以虛擬機器執行應用軟體。
在一實施例中,虛擬機器係執行對應應用軟體之一作業系統,並於作業系統上執行應用軟體。
在一實施例中,叢集節點包括多數個虛擬機器,分別執行不同之作業系統。
在一實施例中,接收試用另一應用軟體之另一請求資料,另一請求資料係對應於另一使用者裝置上之一輸入而產生,伺服器依據另一請求資料以相同之虛擬機器執行另一應用軟體。
在一實施例中,虛擬機器執行一輸入輸出代理程式,以透過雙向通訊連接而與使用者裝置傳輸資料。
在一實施例中,虛擬機器執行之輸入輸出代理程式的數量係對應虛擬機器執行之應用軟體的數量。
在一實施例中,記憶單元儲存伺服器執行應用軟體之一快照資料。
在一實施例中,伺服器係依據快照資料執行應用軟體。
在一實施例中,包括一應用程式介面單元、一工作管理單元以及一資源分配單元,應用程式介面單元接收請求資料,工作管理單元依據請求資料產生一工作管理資料,資源分配單元依據工作管理資料取得產生一應用軟體執行相關資料,伺服器依據應用軟體執行相關資料執行應用軟體。
為達上述目的,依據本發明的一種使用者裝置,應用於一應用軟體試用系統,應用軟體試用系統包括一伺服器以及該使用者裝置,伺服器與使用者裝置通訊連接,使用者裝置包括至少一記憶元件以及一或多數個運算元件,記憶元件儲存多數個指令並耦接一或多數個運算元件,一或多數個運算元件執行該些指令而有以下作動:接收一輸入;依據輸入送出試用一應用軟體之一請求資料至伺服器;與伺服器建立一雙向通訊連接;以及透過雙向通訊連接與伺服器傳輸至少一影像資料與至少一控制資料,影像資料係由伺服器執行應用軟體之至少一部分產生,且控制資料係與應用軟體互動。
在一實施例中,於執行應用軟體之一部分前,由伺服器確認使用者裝置之試用環境。
在一實施例中,於執行應用軟體之一部分前,由伺服器確認儲存之應用軟體之狀態。
在一實施例中,一或多數個運算元件執行該些指令而有以下作動:於影像資料傳輸結束後,載入一應用軟體下載資料。
為達上述目的,依據本發明的一種應用軟體之試用方法,係應用於一應用軟體試用系統,應用軟體試用系統包括至少一使用者裝置以及一伺服器,伺服器與使用者裝置通訊連接,試用方法包括以下步驟:由使用者裝置對應一輸入而產生試用一應用軟體之一請求資料;由伺服器接收請求資料;由伺服器依據請求資料執行應用軟體之至少一部分;由伺服器與使用者裝置建立一雙向通訊連接;以及由伺服器與使用者裝置透過雙向通訊連接傳輸至少一影像資料與至少一控制資料。
在一實施例中,包括以下步驟:由使用者裝置於影像資料傳輸結束後,載入一應用軟體下載資料。
綜合而言,在本發明之應用軟體試用系統、方法及其伺服器與使用者裝置中,因為應用軟體是在伺服器上執行,再透過網路與使用者裝置進行影像畫面與控制動作的傳輸,從而可讓使用者在無需下載或安裝的情況下進行試用,免除了費用的顧慮,也可以減少網路或硬體資源的虛耗。當然,因為不需要下載或安裝,同時免除了多餘的操作步驟與下載之等待時間,所以本發明之試用方式更勝於試用軟體,更能提高使用者嘗試的意願,提高廣告或推銷的效果。
又由於應用軟體是在伺服器上執行,所以不受限於使用者裝置的硬體規格,就可以讓使用者順暢試用。尤其是應用軟體中屬大宗的遊戲軟體,其普遍需要高規格的硬體配備,藉由本發明則可以免除此項困擾。
以下將參照相關圖式,說明本發明較佳實施例的應用軟體試用系統、方法及其伺服器與使用者裝置。
首先,以下實施例所稱之「應用軟體」包括各種針對使用者的某種應用目的所撰寫的軟體或程式,可例如但不限於行動應用程式(mobile application,簡稱mobile app、app,又可稱之為手機應用程式、行動應用程式、手機app)或是個人電腦執行的程式。
圖1為本發明應用軟體試用系統之一實施例的系統架構示意圖,如圖1所示,本實施例的應用軟體試用系統1包括一使用者裝置2以及一伺服器32用者裝置﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽﷽l,較佳是包括多數個使用者裝置2。使用者裝置2可以為智慧型手機、平板電腦、行動數位助理、具聯網功能之攝錄影機、穿戴式裝置、桌上型電腦、筆記型電腦或任何具有聯網功能之裝置。在本實施例中,使用者裝置2係以智慧型手機為例說明,並以無線通訊的方式,透過網際網路與伺服器3通訊連接。
當使用者於使用者裝置2上進行一輸入動作,觸碰一個與試用該應用軟體相關的圖標(icon)或物件(object)時,使用者裝置2會對應產生一個希望試用應用軟體的請求資料,並將該請求資料送至伺服器3。
在本實施例中,伺服器3為單一實體主機。圖2為圖1所示之伺服器的架構示意圖,如圖2所示,伺服器3具有至少一記憶單元31、至少一傳輸單元32以及一運算單元33。當然,在本實施例之其他態樣中,伺服器3亦可具有多個運算單元,以提升運算效能。伺服器3透過傳輸單元32接收請求資料,並依據請求資料的內容,由運算單元33執行對應之應用軟體311之至少一部分。應用軟體311是預先透過上傳的方式儲存在記憶單元31內,且較佳地,記憶單元31內儲存有多個不同的應用軟體311,其來源是不同的應用軟體開發商或廣告商,以供提供使用者試用不同的應用軟體311。
特別說明的是,在本實施例中,執行應用軟體311之至少一部分包括執行全部應用軟體311內容之一個片段,例如應用軟體311是有十關關卡的遊戲,執行一部分係僅執行第三關的內容。但在其他實施例中,執行一部分也可以是執行一部分的功能。當然,伺服器3也可以執行應用軟體311之全部,以供使用者完整地是用一次應用軟體。
運算單元33依據請求資料的內容,控制傳輸單元32與使用者裝置2建立一個雙向通訊連接。具體來說,傳輸單元32可以透過Websocket通訊協定與使用者裝置2建立雙向通訊連接。除Websocket通訊協定外,其他可以達成的手段還包括透過UDP網路通訊協定、TCP網路通訊協定、或其他基於此二通訊協定之媒體傳輸協定,如 RTP、RTMP、RTSP 等。藉由雙向通訊連接,使用者裝置2可以與伺服器3之間進行實時 (real-time) 資料交換,使得伺服器3執行應用軟體311所產生的影像資料可以傳送至使用者裝置2顯示,而使用者在使用者裝置2上的輸入控制也可以以控制資料的形式傳輸至伺服器3。輸入控制可例如但不限於觸控輸入或語音輸入。由於應用軟體311是在伺服器3上執行,使用者裝置2只需接收影像畫面,以及將輸入動作回饋給伺服器3作為對應用軟體311的輸入指令,所以可以達成在使用者裝置端不需下載與安裝,即可試用應用軟體311的效果。
當然,雙向通訊連接之間傳輸的資料還可以包括多種,例如執行應用軟體產生的音響資料,或使用者裝置2之感應器感應的感應資料等,均可加強使用者試用應用軟體的真實感。具體來說,可以傳輸的資料還包括藍牙訊號、三軸加速器或陀螺儀等動作感應訊號、麥克風語音輸入訊號或相機擷取的影像訊號。
另外對影像資料補充說明。在此,影像資料可以至少為二種不同形態。其一是幀緩衝(framebuffer)的內容,其為由伺服器3已經渲染(render)完成之一張或多張影像。幀緩衝內容的傳輸又可以透過直接傳送圖像達成,又或者透過編碼與串流(streaming)的方式達成,也就是利用伺服器3將影像進行編碼,傳送到使用者裝置2後再進行解碼的方式。第二種影像資料可以是繪圖指令,其由伺服器3傳送到使用者裝置2,當使用者裝置2接受到繪圖指令後,再進行渲染運算而顯示出來。當然,上述的傳輸手段也可用於其他各種在伺服器3與使用者裝置2之間被傳輸的資料,例如音響資料。
因為使用者裝置2接收到影像資料後可顯示出一個影像畫面,且在該影像畫面上的輸入動作也都會產生對應的效果,例如觸碰影像畫面上的目錄圖標,即會呼叫出多個選項組成之列表。因此,可以視為應用軟體試用系統在使用者裝置2上形成了一個互動影像介面,而有別於一般僅播放影片的試用感受。
圖3為圖1所示之伺服器的另一實施態樣。在本實施態樣中,伺服器3a同樣具有記憶單元、傳輸單元以及運算單元的硬體架構,但是更進一步地將記憶單元與運算單元進行資源分配,從而形成多數個虛擬機器312(圖3中係以三個為例)。每一個虛擬機器312係使用一部分之運算單元資源,執行儲存於記憶單元中之作業系統3121,從而在該作業系統3121的環境下執行所欲試用之應用軟體3122。作業系統3121與所欲試用之應用軟體3122要有相對應的關係,也就是當應用軟體3122為Android版本時,虛擬機器312運作時就必須產生Android的作業環境;當應用軟體3122為iOS版本時,則虛擬機器312運作時就必須產生iOS的作業環境。另外,虛擬機器312還執行有一輸入輸出代理程式3123(Input/Output agent,簡稱I/O agent),用於與傳輸單元32(請同時參考圖2)傳輸資料,以達到透過傳輸單元32與使用者裝置2(請同時參考圖1)交換資料的目的。又在本實施態樣中,每一虛擬機器312執行之輸入輸出代理程式3123的數量係對應同一虛擬機器312執行之應用軟體3122的數量,且能相互配對。具體來說,若一個虛擬機器312內需要執行二個應用軟體3122,則其需要執行二個輸入輸出代理程式3123。據此,使用者裝置2與伺服器3a之虛擬機器312之間的資料交換不會混淆,而能夠讓單一一個虛擬機器312執行多個應用軟體3122,達到多工的效果,也更進一步地提高資源利用效率。
請同樣參考圖3,伺服器3a還運行有一虛擬基礎架構313,其可以對硬體資源的虛擬化,讓多個虛擬機器312能夠共享實體硬體資源,從而作為各個虛擬機器312運作的平台,以讓多個虛擬機器312之間能夠溝通或資料交換,克服個別獨立時的整合障礙。在本實施例中,虛擬基礎架構313係為基於運作軟體KVM(Kernel-based Virtual Machine)之類似運作原理之軟體,而將伺服器3a之運算單元、記憶單元等硬體資源虛擬化而產生。當然,在其他的實施例中,透過Xen或VMware等軟體,亦可以達到產生虛擬基礎架構的效果,本發明在此不限。
圖4為本發明應用軟體試用系統之伺服器之另一實施例的架構示意圖,如圖4所示,本實施例之伺服器3b係由多台實體主機透過網路協定而相互通訊連接所組成,藉以有效率地利用資源。伺服器3b包括一應用程式介面單元(或稱之為API server)34b、一工作管理單元(service session manager)35b、一資源分配單元(resource pool manager)36b、至少一運算單元33b、至少一記憶單元31b以及一傳輸單元32b。上述單元與實體主機之間的關係可以有各種組合,並且彼此透過網路協定通訊連接,而分別運作特定的功能。例如本實施例中,應用程式介面單元34b、工作管理單元35b與資源分配單元36b位於一個實體主機之內,而一個運算單元33b則由多數台實體主機所構成。由於運算單元33b包括多數台實體主機,是以本實施例中之運算單元33b可以稱之為叢集運算單元(cluster computing unit),而其中的每一實體主機可以稱之為叢集節點(cluster node)331。當然,在其他實施例中,上述各單元也可以為各自獨立的實體主機,本發明不以此為限。
由於應用程式介面單元34b執行應用程式介面341,其係與一個被使用者裝置2(請同時參考圖1)執行,而可供觸碰發出試用請求的應用程式相對應(兩者之間為app與API的關係),所以伺服器3b可以透過應用程式介面單元34b接收使用者裝置2透過應用程式送出之請求資料。
請求資料會被傳送至工作管理單元35b。工作管理單元35b控管與伺服器3b相關的運作資訊,包含請求資料內容的解讀、應用軟體狀態確認、資訊導向、應用軟體執行時間管理以及連線狀態管理等。工作管理單元35b分析請求資料的內容後產生一工作管理資料,並透過該工作管理資料向資源分配單元36b詢問準備執行該應用軟體之狀態。若狀態異常,則回傳一異常訊息至使用者裝置2,並同時透過資源分配單元36b調整資源,及透過運算單元33b修復應用程式;若為狀態正常,則工作管理單元35b透過工作管理資料通知資源分配單元36b指派至少一個運算單元33b之中的一個叢集節點331,並由資源分配單元36b依據工作管理資料產生應用軟體執行相關資料,據以通知該叢集節點331進行應用軟體執行。上述之工作管理資料或應用軟體執行相關資料可以是一個命令指令,或多個命令指令的集合。
在本實施例中,叢集節點331執行應用軟體的方式可參考前述實施例之伺服器3、3a的二種態樣,也就是直接利用硬體資源執行應用軟體,或者是以虛擬機器的方式執行,在此僅是以虛擬機器為例代表說明,但非限制性者。詳細實施方法可參考前述,於此不再贅述。
在本實施例中,伺服器3b之記憶單元31b為獨立的一個實體主機,且記憶單元31b儲存一快照資料(snapshot data)314,該快照資料314是伺服器3b在被請求試用應用軟體之前,以虛擬機器3311預先執行應用軟體,而被在一特定時間點上快照(system snapshot)下來之映像資料。快照資料314內包括作業系統映像(OS image)3141以及應用軟體映像(application software image)3142。另外,記憶單元31b還可以儲存一應用軟體記錄資料315,以記錄在被請求試用應用軟體之前,該應用軟體已經被執行過的歷程。
藉此,應用軟體的開發者或伺服器管理者可以先上傳應用軟體並儲存於記憶單元31b中,並使用虛擬機器3311執行該應用軟體。當虛擬機器3311執行到開發者或伺服器管理者希望給使用者試用的開端時,則進行快照,並產生快照資料314儲存起來。所以,當叢集節點331要在虛擬基礎架構3312上產生執行應用軟體的虛擬機器3311時,因為資源分配單元36b會指示叢集節點331取得記憶單元31b中的特定一筆快照資料314,所以使用者試用時,可以直接從開發者或伺服器管理者希望的地方開始,而不用從頭開始,更能增加對使用者試用時的吸引程度。另外說明的是,由於工作管理單元35b可以管理運算單元33b的工作時間,所以可以設定特應用軟體要試用的時間長短,藉以設定使用者試用應用軟體時的結束位置。
在本實施例中,傳輸單元32b係為傳輸閘道器,用於在工作管理單元35b確認應用軟體可以正常執行後,負責執行工作管理單元35b指派與使用者裝置2建立雙向通訊連接的任務,以讓包括產生之影像資料,以及使用者的輸入資料在內之各種輸入/輸出能於伺服器3b與使用者裝置2之間交換。也因為傳輸單元32b具有此功能,因此又可稱之為輸入/輸出閘道器(I/O gateway)。傳輸單元32b與使用者裝置2建立雙向通訊連接的方式可以透過Websocket通訊協定,或透過UDP網路通訊協定、TCP網路通訊協定、或其他基於此二通訊協定之媒體傳輸協定,如 RTSP 等,本發明在此不限,至於傳輸單元32b可以是一個單一實體主機或多個實體主機之組成,或者通訊協定的實施細節均為本發明所屬技術領域中俱有通常知識者所能理解,在此不再贅述。
當雙向通訊連接建立,且伺服器3b透過叢集節點331執行應用軟體後如何讓使用者試用則可參考前述說明。
在本實施例中,伺服器3b可以同時接受多個不同使用者裝置2的請求資料,且每一請求資料可能是請求試用不同的應用軟體。然而,只要是在相同作業系統環境下執行的應用軟體,叢集節點331可以利用同一個虛擬機器3311同時執行,以達多工且節省資源的效果。換言之,一個虛擬機器3311可以運行一個作業系統,並在該環境下執行二個或二個以上不同應用程式。
在本發明又一實施例中,伺服器可以開發板(development board)為核心運作,硬體搭配上更具有彈性。
以下以一個使用者實際操作使用者裝置而提出試用請求開始,進一步說明本發明之實施細節。至於搭配的系統架構請同時參考圖1與圖4所示。
圖5為本發明一實施例的實施情境示意圖,如圖5所示,當使用者在操作使用者裝置2並使用瀏覽器21時,瀏覽器21頁面顯示有一廣告物件22,該廣告物件22是用來向使用者推銷一個應用軟體。當使用者觸碰廣告物件22後,使用者裝置2會發送出請求資料至伺服器3b(請同時參考圖4)。伺服器3b的應用程式介面單元34b接收請求資料,並傳送請求資料至工作管理單元35b。工作管理單元35b透過資源分配單元36b確認應用程式狀態,狀態正常時指示資源分配單元36b分配一個虛擬機器3311執行應用軟體。虛擬機器3311是在伺服器3b接到請求資料前一段時間就預先準備完成的,即虛擬機器3311是預先掛載快照資料314(包括作業系統映像3141以及應用軟體映像3142)而隨時可以執行應用軟體的。較佳地,工作管理單元35b可依設定預先指示叢集節點331產生多個虛擬機器3311。
另外,工作管理單元35b也分析請求資料中所攜帶的使用者裝置2位置資料,並指派傳輸單元32b與使用者裝置2建立雙向通訊連接。當雙向通訊連接建立後,應用軟體執行所產生的影像資料與音響資料即可以及時串流的方式傳輸至使用者裝置2上,並顯示為一個互動影像介面23,如圖6,其所示為本發明一實施例的實施情境示意圖。
基於雙向通訊連接,使用者於使用者裝置2上的輸入動作也可以回饋給虛擬機器3311,並產生對應的輸入效果。圖7為本發明一實施例的實施情境示意圖,如圖7所示,使用者在互動影像介面23上進行拖曳輸入,該輸入產生對應切斷繩子的效果,達到試用的目的。
當試用結束後,使用者裝置2上載入軟體下載資料,並顯示一下載畫面24,如圖8所示,其為本發明一實施例的實施情境示意圖,以供使用者觸碰後連結至可以下載該應用軟體的頁面,或者觸碰後直接進行應用軟體的下載。若使用者無意下載,可以關閉下載畫面24,使用者裝置2即可恢復至試用前之狀態,接續執行未完成之工作,例如試用前使用瀏覽器查詢資料。
在本實施例的其他態樣中,伺服器3b(請同時參考圖4)可以於執行應用軟體前,先行確認使用者裝置2之試用環境。試用環境包括但不限於設備硬體規格及/或網路連線狀態。確認使用者裝置2之試用環境的方式可以至少有二種,其一是由伺服器3b接收到請求資料後,發出一詢問資料至使用者裝置,以要求使用者裝置2提供目前硬體環境及/或連線狀態的相關資料;或者,也可以將使用者裝置2之硬體環境及/或連線狀態的相關資料包含在請求資料中一併送出,由伺服器3b進行分析。伺服器3b了解使用者裝置2之試用環境可以決定是否要執行應用軟體讓使用者試用,如果不適合,則會送出一例外資料給使用者裝置,告知無法進行試用,以避免使用者因為試用環境不佳,產生不好的試用體驗。
又在本實施例的其他態樣中,伺服器於執行應用軟體之前,可先行確認記憶單元31b中儲存之應用軟體之狀態,若該應用軟體沒有被儲存或損壞,則同樣會向使用者裝置2送出一例外資料,告知無法進行試用。
另外,廣告物件22也可以顯示在使用中之應用程式(Application,即為app)的畫面下方,又或者是跳出的廣告畫面中。其中,使用者可以在執行原生應用程式(Native application)時在畫面下方或是跳出畫面中觸碰廣告物件22。原生應用程式為直接運行在使用者裝置上的本地應用軟體,其能使用使用者裝置中所有的功能,例如相機、定位系統等,且具有更快的執行速度及優化品質,並可進行離線狀態的操作。在執行時,因為原生應用程式中已經嵌入廣告物件22,使用者觸碰該廣告物件22時,會讓使用者試用例如相關企業的應用軟體。但值得說明的是,即便將軟體下載資料的畫面關閉,原生應用程式仍可接續執行,並不會因試用而中斷。
本發明亦揭露一種應用軟體之試用方法,該試用方法係應用於一應用軟體試用系統,應用軟體試用系統包括至少一使用者裝置以及一伺服器,且伺服器與使用者裝置通訊連接。圖9所示為本發明一實施例之應用軟體之試用方法的步驟流程圖,如圖9所示,試用方法包括以下步驟:由使用者裝置對應一輸入而產生試用一應用軟體之一請求資料(S1);由伺服器接收請求資料(S2);由伺服器依據請求資料執行應用軟體之一部分(S3);由伺服器與使用者裝置建立一雙向通訊連接(S4);以及由伺服器與使用者裝置透過雙向通訊連接傳輸至少一影像資料與至少一控制資料(S5)。
本發明亦揭露一種伺服器,其應用於一應用軟體試用系統。應用軟體試用系統包括伺服器以及至少一使用者裝置,伺服器與使用者裝置通訊連接。伺服器包括至少一記憶單元、至少一傳輸單元以及一或多數個運算單元。一或多數個運算單元分別與記憶單元及傳輸單元通訊連接。傳輸單元接收一請求資料,且請求資料係對應於使用者裝置上之一輸入而產生。一或多數個運算單元依據請求資料執行儲存於記憶單元中之應用軟體之至少一部分,並透過傳輸單元與使用者裝置建立一雙向通訊連接。伺服器與使用者裝置透過雙向通訊連接傳輸至少一影像資料與至少一控制資料。
本發明又揭露一種使用者裝置,其應用於一應用軟體試用系統。應用軟體試用系統包括一伺服器以及使用者裝置。伺服器與使用者裝置通訊連接。使用者裝置包括至少一記憶元件以及一或多數個運算元件。記憶元件儲存多數個指令並耦接一或多數個運算元件,且一或多數個運算元件執行指令而有以下作動:由接收一輸入;依據該輸入送出試用一應用軟體之一請求資料至伺服器;與伺服器建立一雙向通訊連接;以及透過雙向通訊連接與伺服器傳輸至少一影像資料與至少一控制資料,影像資料係由伺服器執行應用軟體之一部分產生,且控制資料係與應用軟體互動。
惟上述之試用方法、伺服器以及使用者裝置之實施細節與詳細說明均可參考前述,於此不再贅述。
綜上所述,在本發明之應用軟體試用系統、方法及其伺服器與使用者裝置中,因為應用軟體是在伺服器上執行,再透過網路與使用者裝置進行影像畫面與控制動作的傳輸,從而可讓使用者在無需下載或安裝的情況下進行試用或試用,免除了費用的顧慮,也可以減少網路或硬體資源的虛耗。當然,因為不需要下載或安裝,所以本發明之試用方式更勝於試用軟體,更能提高使用者嘗試的意願,提高廣告或推銷的效果。
又由於應用軟體是在伺服器上執行,所以不受限於使用者裝置的硬體規格,就可以讓使用者順暢試用。尤其是應用軟體中屬大宗的遊戲軟體,其普遍需要高規格的硬體配備,藉由本發明則可以免除此項困擾。
以上所述僅為舉例性,而非為限制性者。任何未脫離本發明之精神與範疇,而對其進行之等效修改或變更,均應包含於後附之申請專利範圍中。
1:應用軟體試用系統 2:使用者裝置 21:瀏覽器 22:廣告物件 23:互動影像介面 24:下載畫面 3、3a、3b:伺服器 31、31b:記憶單元 311、3122:應用軟體 312、3311:虛擬機器 3121:作業系統 3123:輸入輸出代理程式 313、3312:虛擬基礎架構 314:快照資料 3141:作業系統映象 3142:應用軟體映象 315:應用軟體記錄資料 32、32b:傳輸單元 33、33b:運算單元 331:叢集節點 341:應用程式介面 34b:應用程式介面單元 35b:工作管理單元 36b:資源分配單元 S1~S5:步驟
圖1為本發明應用軟體試用系統之一實施例的系統架構示意圖。 圖2為圖1所示之伺服器的架構示意圖。 圖3為圖1所示之伺服器的另一實施態樣。 圖4為本發明應用軟體試用系統之伺服器之另一實施例的架構示意圖。 圖5至圖8為本發明一實施例的實施情境示意圖。 圖9為本發明一實施例之應用軟體之試用方法的步驟流程圖。
1:應用軟體試用系統 2:使用者裝置 3:伺服器

Claims (24)

  1. 一種應用軟體試用系統,包括:至少一使用者裝置;以及一伺服器,與該使用者裝置通訊連接,其中,該伺服器接收試用一應用軟體之一請求資料,該請求資料係對應於該使用者裝置上之一輸入而產生,該伺服器依據該請求資料執行該應用軟體之至少一部分,並與該使用者裝置建立一雙向通訊連接,該伺服器與該使用者裝置透過該雙向通訊連接傳輸至少一影像資料與至少一控制資料,其中該伺服器包括至少一叢集運算單元,該叢集運算單元包括至少一叢集節點,該叢集節點包括至少一個虛擬機器,該虛擬機器執行一輸入輸出代理程式,以透過該雙向通訊連接而與該使用者裝置傳輸資料,且該虛擬機器執行之該輸入輸出代理程式的數量係對應該虛擬機器執行之該應用軟體的數量。
  2. 如申請專利範圍第1項所述之應用軟體試用系統,其中該該伺服器係以該叢集節點執行該應用軟體。
  3. 如申請專利範圍第2項所述之應用軟體試用系統,其中該伺服器係以該虛擬機器執行該應用軟體。
  4. 如申請專利範圍第3項所述之應用軟體試用系統,其中該虛擬機器係執行對應該應用軟體之一作業系統,並於該作業系統上執行該應用軟體。
  5. 如申請專利範圍第4項所述之應用軟體試用系統,其中該叢集節點包括多數個該虛擬機器,分別執行不同之作業系統。
  6. 如申請專利範圍第3項所述之應用軟體試用系統,其包括另一使用者裝置,該伺服器接收試用另一應用軟體之另一請求資料,該另一請求資料係對應於該另一使用者裝置上之一輸入而產生,該伺服器依據該另一請求資料以相同之該虛擬機器執行該另一應用軟體。
  7. 如申請專利範圍第1項所述之應用軟體試用系統,其中該伺服器包括一記憶單元,儲存該伺服器執行該應用軟體之一快照資料。
  8. 如申請專利範圍第7項所述之應用軟體試用系統,其中該伺服器係依據該快照資料執行該應用軟體。
  9. 如申請專利範圍第1項所述之應用軟體試用系統,其中該伺服器包括一應用程式介面單元、一工作管理單元以及一資源分配單元,該應用程式介面單元接收該請求資料,該工作管理單元依據該請求資料產生一工作管理資料,該資源分配單元依據該工作管理資料取得產生一應用軟體執行相關資料,該伺服器依據該應用軟體執行相關資料執行該應用軟體。
  10. 一種伺服器,應用於一應用軟體試用系統,該應用軟體試用系統包括該伺服器以及至少一使用者裝置,該伺服器與該使用者裝置通訊連接,該伺服器包括:至少一記憶單元;至少一叢集運算單元,該叢集運算單元包括至少一叢集節點,該叢集節點包括至少一個虛擬機器;至少一傳輸單元;以及一或多數個運算單元,分別與該記憶單元及該傳輸單元通訊連接,其中,該傳輸單元接收一請求資料,該請求資料係對應於該使用者裝置上之一輸入而產生,該一或多數個運算單元依據該請求資料執行儲存於該記憶單元中之該應用軟體之至少一部分,並透過該傳輸單元與該使用者裝置建立一雙向通訊連接,該伺服器與該使用者裝置透過該雙向通訊連接傳輸至少一影像資料與至少一控制資料,該虛擬機器執行一輸入輸出代理程式,以透過該雙向通訊連接而與該使用者裝置傳輸資料,該虛擬機器執行之該輸入輸出代理程式的數量係對應該虛擬機器執行之該應用軟體的數量。
  11. 如申請專利範圍第10項所述之伺服器,該伺服器係以該叢集節點執行該應用軟體。
  12. 如申請專利範圍第11項所述之伺服器,其中該伺服器係以該虛擬機器執行該應用軟體。
  13. 如申請專利範圍第12項所述之伺服器,其中該虛擬機器係執行對應該應用軟體之一作業系統,並於該作業系統上執行該應用軟體。
  14. 如申請專利範圍第13項所述之伺服器,其中該叢集節點包括多數個該虛擬機器,分別執行不同之作業系統。
  15. 如申請專利範圍第12項所述之伺服器,其接收試用另一應用軟體之另一請求資料,該另一請求資料係對應於該另一使用者裝置上之一輸入而產生,該伺服器依據該另一請求資料以相同之該虛擬機器執行該另一應用軟體。
  16. 如申請專利範圍第10項所述之伺服器,其中該記憶單元儲存該伺服器執行該應用軟體之一快照資料。
  17. 如申請專利範圍第16項所述之伺服器,其中該伺服器係依據該快照資料執行該應用軟體。
  18. 如申請專利範圍第10項所述之伺服器,其包括一應用程式介面單元、一工作管理單元以及一資源分配單元,該應用程式介面單元接收該請求資料,該工作管理單元依據該請求資料產生一工作管理資料,該資源分配單元依據該工作管理資料取得產生一應用軟體執行相關資料,該伺服器依據該應用軟體執行相關資料執行該應用軟體。
  19. 一種使用者裝置,應用於一應用軟體試用系統,該應用軟體試用系統包括一伺服器以及該使用者裝置,該伺服器與該使用者裝置通訊連接,該使用者裝置包括至少一記憶元件以及一或多數個運算元件,該記憶元件儲存多數個指令並耦接該一或多數個運算元件,該一或多數個運算元件執行該些指令而有以下作動:接收一輸入;依據該輸入送出試用一應用軟體之一請求資料至該伺服器;與該伺服器建立一雙向通訊連接;以及透過該雙向通訊連接與該伺服器傳輸至少一影像資料與至少一控制資料,該影像資料係由該伺服器執行該應用軟體之至少一部分產生,且該控制資 料係與該應用軟體互動,其中該伺服器包括至少一叢集運算單元,該叢集運算單元包括至少一叢集節點,該叢集節點包括至少一個虛擬機器,該虛擬機器執行一輸入輸出代理程式,以透過該雙向通訊連接而與該使用者裝置傳輸資料,且該虛擬機器執行之該輸入輸出代理程式的數量係對應該虛擬機器執行之該應用軟體的數量。
  20. 如申請專利範圍第19項所述之使用者裝置,該一或多數個運算元件執行該些指令而有以下作動:於該影像資料傳輸結束後,載入一應用軟體下載資料。
  21. 一種應用軟體之試用方法,係應用於一應用軟體試用系統,該應用軟體試用系統包括至少一使用者裝置以及一伺服器,該伺服器與該使用者裝置通訊連接,該試用方法包括以下步驟:由該使用者裝置對應一輸入而產生試用一應用軟體之一請求資料;由該伺服器接收該請求資料;由該伺服器依據該請求資料執行該應用軟體之至少一部分;由該伺服器與該使用者裝置建立一雙向通訊連接;以及由該伺服器與該使用者裝置透過該雙向通訊連接傳輸至少一影像資料與至少一控制資料,其中該伺服器包括至少一叢集運算單元,該叢集運算單元包括至少一叢集節點,該叢集節點包括至少一個虛擬機器,該虛擬機器執行一輸入輸出代理程式,以透過該雙向通訊連接而與該使用者裝置傳輸資料,且該虛擬機器執行之該輸入輸出代理程式的數量係對應該虛擬機器執行之該應用軟體的數量。
  22. 如申請專利範圍第21項所述之試用方法,包括以下步驟:於執行該應用軟體之一部分前,由該伺服器確認該使用者裝置之試用環境。
  23. 如申請專利範圍第21項所述之試用方法,包括以下步驟:於執行該應用軟體之一部分前,由該伺服器確認儲存之該應用軟體之狀態。
  24. 如申請專利範圍第21項所述之試用方法,包括以下步驟:由該使用者裝置於該影像資料傳輸結束後,載入一應用軟體下載資料。
TW103134817A 2014-10-06 2014-10-06 應用軟體試用系統、方法及其伺服器與使用者裝置 TWI537827B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
TW103134817A TWI537827B (zh) 2014-10-06 2014-10-06 應用軟體試用系統、方法及其伺服器與使用者裝置
KR1020150137314A KR101709017B1 (ko) 2014-10-06 2015-09-30 응용 소프트웨어 시용 시스템, 방법 및 그 서버와 사용자 장치
JP2015197926A JP2016076216A (ja) 2014-10-06 2015-10-05 アプリケーション試用システム、方法及びそのサーバとユーザデバイス
US14/876,161 US20160100036A1 (en) 2014-10-06 2015-10-06 System, method, server and device for trial use of application software
CN201510644615.2A CN105487882A (zh) 2014-10-06 2015-10-08 应用软件试用系统、方法及其服务器与使用者装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW103134817A TWI537827B (zh) 2014-10-06 2014-10-06 應用軟體試用系統、方法及其伺服器與使用者裝置

Publications (2)

Publication Number Publication Date
TW201614489A TW201614489A (en) 2016-04-16
TWI537827B true TWI537827B (zh) 2016-06-11

Family

ID=55633692

Family Applications (1)

Application Number Title Priority Date Filing Date
TW103134817A TWI537827B (zh) 2014-10-06 2014-10-06 應用軟體試用系統、方法及其伺服器與使用者裝置

Country Status (5)

Country Link
US (1) US20160100036A1 (zh)
JP (1) JP2016076216A (zh)
KR (1) KR101709017B1 (zh)
CN (1) CN105487882A (zh)
TW (1) TWI537827B (zh)

Families Citing this family (87)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9146764B1 (en) 2014-09-30 2015-09-29 Amazon Technologies, Inc. Processing event messages for user requests to execute program code
US9715402B2 (en) 2014-09-30 2017-07-25 Amazon Technologies, Inc. Dynamic code deployment and versioning
US9600312B2 (en) 2014-09-30 2017-03-21 Amazon Technologies, Inc. Threading as a service
US9678773B1 (en) 2014-09-30 2017-06-13 Amazon Technologies, Inc. Low latency computational capacity provisioning
US9830193B1 (en) 2014-09-30 2017-11-28 Amazon Technologies, Inc. Automatic management of low latency computational capacity
US10048974B1 (en) 2014-09-30 2018-08-14 Amazon Technologies, Inc. Message-based computation request scheduling
US9323556B2 (en) 2014-09-30 2016-04-26 Amazon Technologies, Inc. Programmatic event detection and message generation for requests to execute program code
US9537788B2 (en) 2014-12-05 2017-01-03 Amazon Technologies, Inc. Automatic determination of resource sizing
US9733967B2 (en) 2015-02-04 2017-08-15 Amazon Technologies, Inc. Security protocols for low latency execution of program code
US9588790B1 (en) 2015-02-04 2017-03-07 Amazon Technologies, Inc. Stateful virtual compute system
US9930103B2 (en) 2015-04-08 2018-03-27 Amazon Technologies, Inc. Endpoint management system providing an application programming interface proxy service
US9785476B2 (en) 2015-04-08 2017-10-10 Amazon Technologies, Inc. Endpoint management system and virtual compute system
US10042660B2 (en) * 2015-09-30 2018-08-07 Amazon Technologies, Inc. Management of periodic requests for compute capacity
US10013267B1 (en) 2015-12-16 2018-07-03 Amazon Technologies, Inc. Pre-triggers for code execution environments
US9811434B1 (en) 2015-12-16 2017-11-07 Amazon Technologies, Inc. Predictive management of on-demand code execution
US10754701B1 (en) 2015-12-16 2020-08-25 Amazon Technologies, Inc. Executing user-defined code in response to determining that resources expected to be utilized comply with resource restrictions
US9910713B2 (en) 2015-12-21 2018-03-06 Amazon Technologies, Inc. Code execution request routing
US10002026B1 (en) 2015-12-21 2018-06-19 Amazon Technologies, Inc. Acquisition and maintenance of dedicated, reserved, and variable compute capacity
US10067801B1 (en) 2015-12-21 2018-09-04 Amazon Technologies, Inc. Acquisition and maintenance of compute capacity
US20170269916A1 (en) * 2016-03-21 2017-09-21 Microsoft Technology Licensing, Llc Selective Application Installation Or Application Running Without Installation
US10891145B2 (en) 2016-03-30 2021-01-12 Amazon Technologies, Inc. Processing pre-existing data sets at an on demand code execution environment
US11132213B1 (en) 2016-03-30 2021-09-28 Amazon Technologies, Inc. Dependency-based process of pre-existing data sets at an on demand code execution environment
US10162672B2 (en) 2016-03-30 2018-12-25 Amazon Technologies, Inc. Generating data streams from pre-existing data sets
TWI603204B (zh) * 2016-05-18 2017-10-21 群邁通訊股份有限公司 雲端裝置、終端裝置及異常處理方法
US10282229B2 (en) 2016-06-28 2019-05-07 Amazon Technologies, Inc. Asynchronous task management in an on-demand network code execution environment
US10102040B2 (en) 2016-06-29 2018-10-16 Amazon Technologies, Inc Adjusting variable limit on concurrent code executions
US10203990B2 (en) 2016-06-30 2019-02-12 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
US10277708B2 (en) 2016-06-30 2019-04-30 Amazon Technologies, Inc. On-demand network code execution with cross-account aliases
KR101707552B1 (ko) * 2016-07-27 2017-02-16 주식회사 티맥스 소프트 클라우드 환경에서 사용자로 하여금 애플리케이션을 체험할 수 있도록 체험 환경을 제공하는 방법 및 이를 이용한 서버
US10884787B1 (en) 2016-09-23 2021-01-05 Amazon Technologies, Inc. Execution guarantees in an on-demand network code execution system
US10061613B1 (en) 2016-09-23 2018-08-28 Amazon Technologies, Inc. Idempotent task execution in on-demand network code execution systems
US11119813B1 (en) 2016-09-30 2021-09-14 Amazon Technologies, Inc. Mapreduce implementation using an on-demand network code execution system
CN106549824B (zh) * 2016-10-09 2020-08-04 武汉斗鱼网络科技有限公司 一种用于测试软件与服务器连接稳定性的系统和方法
CN106790404A (zh) * 2016-11-25 2017-05-31 珠海市魅族科技有限公司 一种应用试用的处理方法以及移动终端
JP6897136B2 (ja) * 2017-02-10 2021-06-30 富士フイルムビジネスイノベーション株式会社 情報処理装置及びプログラム
CN107203398B (zh) * 2017-05-26 2020-11-13 北京小米移动软件有限公司 应用分发方法及装置
CN107506230B (zh) * 2017-07-27 2020-10-27 努比亚技术有限公司 一种应用程序试用方法、设备及计算机可读存储介质
CN107728918A (zh) * 2017-09-27 2018-02-23 北京三快在线科技有限公司 浏览连续页面的方法、装置及电子设备
CN107911418B (zh) * 2017-10-27 2020-09-25 努比亚技术有限公司 一种应用试用控制方法、服务器及计算机可读存储介质
US10564946B1 (en) 2017-12-13 2020-02-18 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10303492B1 (en) 2017-12-13 2019-05-28 Amazon Technologies, Inc. Managing custom runtimes in an on-demand code execution system
US10831898B1 (en) 2018-02-05 2020-11-10 Amazon Technologies, Inc. Detecting privilege escalations in code including cross-service calls
US10353678B1 (en) 2018-02-05 2019-07-16 Amazon Technologies, Inc. Detecting code characteristic alterations due to cross-service calls
US10733085B1 (en) 2018-02-05 2020-08-04 Amazon Technologies, Inc. Detecting impedance mismatches due to cross-service calls
US10572375B1 (en) 2018-02-05 2020-02-25 Amazon Technologies, Inc. Detecting parameter validity in code including cross-service calls
US10725752B1 (en) 2018-02-13 2020-07-28 Amazon Technologies, Inc. Dependency handling in an on-demand network code execution system
US10776091B1 (en) 2018-02-26 2020-09-15 Amazon Technologies, Inc. Logging endpoint in an on-demand code execution system
US10853115B2 (en) 2018-06-25 2020-12-01 Amazon Technologies, Inc. Execution of auxiliary functions in an on-demand network code execution system
US10649749B1 (en) 2018-06-26 2020-05-12 Amazon Technologies, Inc. Cross-environment application of tracing information for improved code execution
US11146569B1 (en) 2018-06-28 2021-10-12 Amazon Technologies, Inc. Escalation-resistant secure network services using request-scoped authentication information
US10949237B2 (en) 2018-06-29 2021-03-16 Amazon Technologies, Inc. Operating system customization in an on-demand network code execution system
US11099870B1 (en) 2018-07-25 2021-08-24 Amazon Technologies, Inc. Reducing execution times in an on-demand network code execution system using saved machine states
US11099917B2 (en) 2018-09-27 2021-08-24 Amazon Technologies, Inc. Efficient state maintenance for execution environments in an on-demand code execution system
US11243953B2 (en) 2018-09-27 2022-02-08 Amazon Technologies, Inc. Mapreduce implementation in an on-demand network code execution system and stream data processing system
US11943093B1 (en) 2018-11-20 2024-03-26 Amazon Technologies, Inc. Network connection recovery after virtual machine transition in an on-demand network code execution system
US10884812B2 (en) 2018-12-13 2021-01-05 Amazon Technologies, Inc. Performance-based hardware emulation in an on-demand network code execution system
US20210264390A1 (en) * 2019-01-15 2021-08-26 Square Enix Holdings Co., Ltd. Electronic content utilization system, computer-readable recording medium, and electronic content utilization method
US11010188B1 (en) 2019-02-05 2021-05-18 Amazon Technologies, Inc. Simulated data object storage using on-demand computation of data objects
US11861386B1 (en) 2019-03-22 2024-01-02 Amazon Technologies, Inc. Application gateways in an on-demand network code execution system
US11119809B1 (en) 2019-06-20 2021-09-14 Amazon Technologies, Inc. Virtualization-based transaction handling in an on-demand network code execution system
US11190609B2 (en) 2019-06-28 2021-11-30 Amazon Technologies, Inc. Connection pooling for scalable network services
US11159528B2 (en) 2019-06-28 2021-10-26 Amazon Technologies, Inc. Authentication to network-services using hosted authentication information
US11115404B2 (en) 2019-06-28 2021-09-07 Amazon Technologies, Inc. Facilitating service connections in serverless code executions
US11386230B2 (en) 2019-09-27 2022-07-12 Amazon Technologies, Inc. On-demand code obfuscation of data in input path of object storage service
US11394761B1 (en) 2019-09-27 2022-07-19 Amazon Technologies, Inc. Execution of user-submitted code on a stream of data
US11106477B2 (en) 2019-09-27 2021-08-31 Amazon Technologies, Inc. Execution of owner-specified code during input/output path to object storage service
US10908927B1 (en) 2019-09-27 2021-02-02 Amazon Technologies, Inc. On-demand execution of object filter code in output path of object storage service
US11023416B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. Data access control system for object storage service based on owner-defined code
US11055112B2 (en) 2019-09-27 2021-07-06 Amazon Technologies, Inc. Inserting executions of owner-specified code into input/output path of object storage service
US11023311B2 (en) 2019-09-27 2021-06-01 Amazon Technologies, Inc. On-demand code execution in input path of data uploaded to storage service in multiple data portions
US11550944B2 (en) 2019-09-27 2023-01-10 Amazon Technologies, Inc. Code execution environment customization system for object storage service
US11250007B1 (en) 2019-09-27 2022-02-15 Amazon Technologies, Inc. On-demand execution of object combination code in output path of object storage service
US10996961B2 (en) 2019-09-27 2021-05-04 Amazon Technologies, Inc. On-demand indexing of data in input path of object storage service
US11656892B1 (en) 2019-09-27 2023-05-23 Amazon Technologies, Inc. Sequential execution of user-submitted code and native functions
US11416628B2 (en) 2019-09-27 2022-08-16 Amazon Technologies, Inc. User-specific data manipulation system for object storage service based on user-submitted code
US11263220B2 (en) 2019-09-27 2022-03-01 Amazon Technologies, Inc. On-demand execution of object transformation code in output path of object storage service
US11360948B2 (en) 2019-09-27 2022-06-14 Amazon Technologies, Inc. Inserting owner-specified data processing pipelines into input/output path of object storage service
US10942795B1 (en) 2019-11-27 2021-03-09 Amazon Technologies, Inc. Serverless call distribution to utilize reserved capacity without inhibiting scaling
US11119826B2 (en) 2019-11-27 2021-09-14 Amazon Technologies, Inc. Serverless call distribution to implement spillover while avoiding cold starts
US11714682B1 (en) 2020-03-03 2023-08-01 Amazon Technologies, Inc. Reclaiming computing resources in an on-demand code execution system
US11188391B1 (en) 2020-03-11 2021-11-30 Amazon Technologies, Inc. Allocating resources to on-demand code executions under scarcity conditions
US11775640B1 (en) 2020-03-30 2023-10-03 Amazon Technologies, Inc. Resource utilization-based malicious task detection in an on-demand code execution system
CN111966275B (zh) * 2020-09-15 2021-07-30 腾讯科技(深圳)有限公司 程序试用方法、系统、装置、设备及介质
US11550713B1 (en) 2020-11-25 2023-01-10 Amazon Technologies, Inc. Garbage collection in distributed systems using life cycled storage roots
US11593270B1 (en) 2020-11-25 2023-02-28 Amazon Technologies, Inc. Fast distributed caching using erasure coded object parts
US11388210B1 (en) 2021-06-30 2022-07-12 Amazon Technologies, Inc. Streaming analytics using a serverless compute system
US11861330B2 (en) 2022-03-25 2024-01-02 Vivun Inc. Machine mediated requirement management in a software trial management system

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63205211A (ja) * 1987-02-20 1988-08-24 Star Seiki:Kk 取出機におけるチヤツク交換方法
US7693961B2 (en) * 2000-06-30 2010-04-06 Sharp Kabushiki Kaisha Method and system for supplying programs
JP2004062515A (ja) * 2002-07-29 2004-02-26 Nec Soft Ltd 性能実体験サービスシステム及びサービス方法
US7574695B2 (en) * 2003-12-23 2009-08-11 Ntt Docomo, Inc. Performing checks on the resource usage of computer programs
JP2006259893A (ja) * 2005-03-15 2006-09-28 Oki Electric Ind Co Ltd 物体認識システム,コンピュータプログラム,および端末装置
EP1768346A1 (en) * 2005-09-23 2007-03-28 Microsoft Corporation Provision of game applications across a network according to the display characteristics of a user terminal
KR100936239B1 (ko) * 2007-12-18 2010-01-12 한국전자통신연구원 스트리밍 기반 이동형 소프트웨어 제공 시스템 및 방법
US8621069B1 (en) * 2010-09-03 2013-12-31 Adobe Systems Incorporated Provisioning a computing application executing on a cloud to a client device
CN105955767B (zh) * 2011-06-22 2020-05-26 联想(北京)有限公司 模式切换方法以及终端设备
US20130219280A1 (en) * 2012-02-17 2013-08-22 Numira Biosciences Systems and Methods for Software Evaluation in a Cloud Computing Environment
US8997093B2 (en) * 2012-04-17 2015-03-31 Sap Se Application installation management by selectively reuse or terminate virtual machines based on a process status
KR101551706B1 (ko) * 2012-10-30 2015-09-09 삼성에스디에스 주식회사 고가용성 가상머신 구성 시스템 및 방법, 이를 기록한 기록매체

Also Published As

Publication number Publication date
CN105487882A (zh) 2016-04-13
JP2016076216A (ja) 2016-05-12
KR101709017B1 (ko) 2017-02-21
TW201614489A (en) 2016-04-16
US20160100036A1 (en) 2016-04-07
KR20160040999A (ko) 2016-04-15

Similar Documents

Publication Publication Date Title
TWI537827B (zh) 應用軟體試用系統、方法及其伺服器與使用者裝置
KR101356453B1 (ko) 편재형 컴퓨팅 시스템 및 방법
US10976981B2 (en) Remote desktop exporting
US11082490B2 (en) Method and apparatus for execution of applications in a cloud system
JP6226394B2 (ja) インスタンス化可能なジェスチャオブジェクト
CN104536802B (zh) 一种实现应用调用的方法及虚拟机
US9451043B2 (en) Remote virtualization of mobile apps
US9292319B2 (en) Global computing interface
JP6144346B2 (ja) 仮想計算機インスタンスのスケーリング
JP5620506B2 (ja) アプリケーション画像の表示方法及び装置
US20150082239A1 (en) Remote Virtualization of Mobile Apps with Transformed Ad Target Preview
US20140143305A1 (en) Apparatus and system for providing software service using software virtualization and method thereof
US8850090B2 (en) USB redirection for read transactions
US9699262B2 (en) Integrated viewing of local and remote applications in various multiplatform environments
US20170374130A1 (en) Virtual machine pixel remoting
JP2011134024A (ja) 計算機システム、情報処理装置、仮想計算機運用方法及びプログラム
WO2019201340A1 (zh) 处理器核心调度方法、装置、终端及存储介质
CN105453097A (zh) 受约束驱动程序平台在用户模式下在沙箱中运行驱动程序
KR101680702B1 (ko) 클라우드 기반 웹 호스팅 시스템
US9392047B1 (en) Facilitating application compatibility across devices
US10416855B2 (en) Integrating remote assets from content management service with content developed by content creation applications
US20230205566A1 (en) Dynamic connection switching in virtual desktops under nested mode
US20230195548A1 (en) Bridging virtual desktops under nested mode
TWI520065B (zh) 在可攜式裝置上動態載入客製化人機介面及服務設定之系統及其方法
EP2908499A1 (en) Method, system and software product for delivering interactive invitational content into mobile phone applications

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees