TWI535248B - 電子裝置之硬體資源存取系統及其存取電子裝置之硬體資源之方法及其電腦程式產品 - Google Patents
電子裝置之硬體資源存取系統及其存取電子裝置之硬體資源之方法及其電腦程式產品 Download PDFInfo
- Publication number
- TWI535248B TWI535248B TW102118583A TW102118583A TWI535248B TW I535248 B TWI535248 B TW I535248B TW 102118583 A TW102118583 A TW 102118583A TW 102118583 A TW102118583 A TW 102118583A TW I535248 B TWI535248 B TW I535248B
- Authority
- TW
- Taiwan
- Prior art keywords
- local server
- hardware
- request
- electronic device
- service
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
Description
本發明係有關於用以存取硬體資源系統之方法及其系統,特別是有關於一種適用於具有瀏覽器作業系統之電子裝置之存取硬體資源之系統及其方法。
多數的桌上型作業系統被設計為可與透過固態儲存裝置或硬碟安裝且執行在本地端的應用程式進行作業。近年來,隨著電腦技術的進步與處理器設計的發展,雲端計算技術已被廣泛應用於各種應用中。瀏覽器作業系統(browser-based OS),例如Chromium作業系統,為一種簡化的作業系統,其執行一網路瀏覽器(web browser),以便使用雲端計算技術來存取雲端上的應用程式及資料。不同於一般的作業系統開機後係以桌面作為使用者介面,瀏覽器作業系統開機後係以網路瀏覽器作為其使用者介面。瀏覽器作業系統可設計在主要用來瀏覽網際網路的電子裝置,例如網路電腦、行動上網裝置(Mobile Internet Devices)、個人電腦、行動電話等等。
這類的瀏覽器作業系統專門用來與包含網頁語言例如超連結標記語言(Hypertext Markup Language,以下簡稱HTML)或爪哇腳本語言(以下稱JavaScript)等的網路應用程式進行作業。瀏覽器作業系統可包含執行於一精簡版核心(stripped-down version of a kernel)例如Linux作業系統上的瀏覽器,而其應用程式則執行在網際網路上,而非執行在Linux作業系統中。由於瀏覽器作業系統的核心被簡化,瀏覽器作業系統開機非常快速且易於使用。然而,由於所有東西都儲存在雲端上,具有瀏覽器作業系統的電子裝置的硬體需求也相對較低,使其硬體能力也受限。此外,基於安全與技術上的限制的理由,在瀏覽器作業系統上執行的網路應用程式無法直接與裝置的驅動程式進行通訊,也無法如同一般作業系統般的存取裝置的硬體資源。
有鑑於此,本發明提供一種適用於一電子裝置之硬體資源存取系統及其存取電子裝置之硬體資源之方法。
本發明實施例提供一種存取電子裝置之硬體資源之方法,其中電子裝置具有一瀏覽器作業系統且瀏覽器作業系統包括執行於一瀏覽器中之一用戶端網路應用程式。方法包括下列步驟。首先,於電子裝置上提供一本地伺服器,其中本地伺服器具有一對應全球資源定位器以及一指定網路埠。當接收到來自用戶端網路應用程式之一服務請求時,透過本地伺服器分析服務請求之一服務類型,並且對服務類型所對應之至少一硬體資源執行一操作,其中電子裝置上之用戶端網路應用程式
係依據本地伺服器之全球資源定位器以及指定網路埠產生並導向服務請求至本地伺服器。
本發明實施例另提供一種硬體資源存取系統,適用於一電子裝置,其中電子裝置具有一瀏覽器作業系統且瀏覽器作業系統包括執行於一瀏覽器中之一使用者介面。系統包括複數硬體資源、一用戶端網路應用程式以及設置於電子裝置上之一本地伺服器。用戶端網路應用程式執行於瀏覽器中且用以產生具有一服務類型之一服務請求。本地伺服器具有一對應全球資源定位器以及一指定網路埠。當接收到具有一服務類型之一服務請求時,用戶端網路應用程式依據本地伺服器之全球資源定位器以及指定網路埠,導向服務請求至本地伺服器,致使本地伺服器判定服務類型,並且對服務類型所對應之硬體資源中之至少一硬體資源執行一操作。
本發明上述方法可以為內嵌於有形媒介中的程式碼形式。當該程式碼被載入機器並由該機器執行時,該機器成為用以實現所揭露的方法的裝置。
100‧‧‧硬體資源存取系統
110‧‧‧瀏覽器作業系統
120‧‧‧硬體資源
130‧‧‧本地伺服器
140‧‧‧用戶端網路應用程式
150‧‧‧硬體驅動程式
200‧‧‧鄰近裝置
S302、S304、S306‧‧‧執行步驟
S402、S404、S406、S408、S410‧‧‧執行步驟
500‧‧‧JavaScript網頁
502-508‧‧‧JavaScript區域
510‧‧‧使用者介面
512-516‧‧‧項目
S602、S604、S606、S608、S610‧‧‧執行步驟
第1圖顯示本發明一實施例之硬體資源存取系統之示意圖。
第2圖顯示依據本發明另一實施例之硬體資源存取系統之示意圖。
第3圖顯示依據本發明一實施例之存取硬體資源之方法流程圖。
第4A圖顯示依據本發明一實施例之存取本地硬體資源之方
法流程圖。
第4B圖顯示依據本發明一實施例之存取本地硬體資源之示範原始碼。
第5A圖顯示依據本發明一實施例之相關於用戶端網路應用程式之示範網頁。
第5B圖顯示依據本發明一實施例之用戶端網路應用程式之示範使用者介面。
第6圖顯示依據本發明一實施例之方法流程圖,用以在一瀏覽器作業系統上利用以Javascript撰寫之用戶端網路應用程式連續地監控硬體資訊。
為使本發明之上述和其他目的、特徵、和優點能更明顯易懂,下文特舉出較佳實施例,並配合所附圖式,作詳細說明如下。注意的是,雖然揭露書係依所附圖式進行說明,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
第1圖顯示本發明一實施例之硬體資源存取系統之示意圖。如第1圖所示,硬體資源存取系統100可適用於各種電子裝置,例如電腦系統如個人電腦、手持式裝置以及/或可攜式裝置例如:筆記型電腦、個人數位助理、網路電腦、迷你電腦、小型筆記型電腦(Netbook)、行動上網裝置、超極緻筆記型電腦(Ultrabook)或任何類型的類似裝置,然而,本領域熟習技藝者應可理解本發明並不限於此。
硬體資源存取系統100至少包括一瀏覽器作業系統(browser-based OS)110、多個硬體資源120以及一本地伺服器(local server)130。瀏覽器作業系統110係為一簡化的作業系統,可包含執行於一精簡版核心例如Linux作業系統上的瀏覽器(未繪示)並且於開機後顯示瀏覽器作為其使用者介面。舉例來說,於一實施例中,瀏覽器作業系統110係為Chromium作業系統,但本發明並不限於此。硬體資源120可包括週邊裝置,例如:記憶體單元、顯示單元、南橋晶片以及/或北橋晶片等、週邊裝置的各種感應器及介面,例如:通用序列匯流排(universal serial bus,簡稱USB)連接埠以及輸入/輸出(I/O)埠。舉例來說,可被監控或控制的硬體資源120可包括中央處理單元(簡稱CPU)操作電壓、CPU風扇速度、CPU溫度、CPU時脈、CPU承載情形(CPU loading)、硬碟溫度、隨機存取記憶體(RAM)中的資訊、繪圖卡相關資訊、電源控制等等,但不限於此。本地伺服器130係設置於電子裝置上,其可接收來自一用戶端網路應用程式(client-side web application)140的服務請求、與對應的硬體資源120進行通訊以執行對應於服務請求的一項操作,之後更進一步回應(reply)對應於服務請求的資訊給提出該請求的用戶端網路應用程式140。本地伺服器130具有一對應全球資源定位器(universal resource locator,簡稱URL)如”127.0.0.1”以及一指定網路埠如網路端點埠(socket port):10005。本地伺服器130可透過軟體方式或硬體方式實現。於一實施例中,本地伺服器130係透過軟體方式實現。可理解的是,每個硬體資源120可具有一對應硬體驅動程式(未繪示)用以控
制其存取,本地伺服器130則可與各個硬體資源120的驅動程式進行通訊,以自其中取得相關硬體資訊。舉例來說,本地伺服器130可與USB連接埠的USB驅動程式進行通訊以透過USB連接埠來存取資料,或者本地伺服器130可與一特定硬體驅動程式進行通訊,以便取得處理單元的相關硬體資訊。本地伺服器130係用以對硬體資源120的驅動程式(其係設置在瀏覽器作業系統的核心中)執行函式呼叫(function calls),並且藉由將接收到的硬體資訊包在一訊息中(例如:一HTML文件)並將該訊息回傳給用戶端網路應用程式140來回應硬體資訊。
用戶端網路應用程式140可於瀏覽器作業系統110之瀏覽器中執行。用戶端網路應用程式140由網頁語言例如HTML或用戶端網路瀏覽器腳本語言例如JavaScript所組成。用戶端網路應用程式140可包括一使用者介面,用以顯示以及表示關於硬體資源120的資訊。用戶端網路應用程式140可為能夠產生一個硬體存取請求至本地伺服器130的應用程式以及/或能夠從本地伺服器130中接收資料並接著執行對應所接收資料的一個操作的應用程式。
可瞭解的是,用戶端網路應用程式140、瀏覽器作業系統110以及硬體資源120的驅動程式可先被儲存於一儲存單元中(第1圖未繪示)並且可接著由處理單元(第1圖未繪示)載入至一個記憶體單元(第1圖未繪示)以進行操作。瀏覽器作業系統110可接著開機進入瀏覽器,以作為其使用者介面,用戶端網路應用程式140則可執行於此瀏覽器中。硬體資源存取系統100可執行本案之存取硬體資源之方法,其細節將於下進行說
明。
硬體資源存取系統100可進一步與鄰近於具有硬體資源存取系統100的電子裝置的一個鄰近裝置200透過一個特定硬體介面,例如USB連接埠,以及兩者之間所採用的無線技術,例如藍芽來進行通訊,用以透過此特定硬體介面以及兩者之間所採用的無線技術從鄰近裝置200中取得其硬體資源的硬體資訊,或傳送命令至鄰近裝置200以及/或自鄰近裝置200接收命令。具體來說,一個硬體裝置單元(例如:一介面板)可透過前述特定硬體介面與本地伺服器130進行通訊並且透過前述無線技術與鄰近裝置200進行通訊以傳送命令至鄰近裝置200以及/或自鄰近裝置200接收命令,其中此硬體單元可設置於電子裝置中或者可設置於電子裝置外部。鄰近裝置200可包括任何類型的電子裝置,例如行動電話、顯示裝置、家用設備、機器人等等。
第2圖顯示依據本發明另一實施例之硬體資源存取系統100之示意圖。硬體資源存取系統100可適用於一電子裝置、例如一電腦系統,但本發明並不限於此。如第2圖所示,提供硬體監控應用的用戶端網路應用程式140可透過一個既定的網路埠例如一個網路端點埠:10005與本地伺服器130進行通訊。本地伺服器130可接著與硬體驅動程式150進行通訊來擷取本地硬體資源120的硬體資訊。舉例來說,於一實施例中,本地伺服器130可透過一個函式呼叫來呼叫一硬體驅動程式150,例如:Linux作業系統下的”lm-sensors”,其可提供用來取得在硬體資源的環境條件的資料例如CPU的操作電壓、
CPU風扇速度、CPU溫度、CPU時脈、CPU承載情形、硬碟溫度、隨機存取記憶體中的資訊、繪圖卡相關資訊、電源控制等等功能的基礎軟體層,用來擷取硬體資訊。本地伺服器130隨後送出包含所要請求的硬體資訊的回應訊息,就像提供一個服務至一般的網路應用程式一樣。於一些實施例中,除了存取本地硬體資源之外,用戶端網路應用程式140也可透過一特定硬體介面例如USB連接埠與鄰近裝置200進行通訊,以自鄰近裝置200中取得硬體資源的硬體資訊。
關於用以存取具有包括執行於一瀏覽器中的用戶端網路應用程式的一瀏覽器作業系統的電子裝置之硬體資源之方法的細節將討論於下。
第3圖顯示依據本發明一實施例之存取硬體資源之方法流程圖。本發明實施例之存取硬體資源之方法可應用於一電子裝置,其具有包括執行於一瀏覽器中的用戶端網路應用程式的一瀏覽器作業系統,例如具有硬體資源存取系統100的電腦系統。
首先,如步驟S302,於電子裝置上提供一本地伺服器,其中本地伺服器具有一對應URL(如:127.0.0.1)以及一指定網路埠(如網路端點埠:10005)。接著,當使用者請求存取硬體資源(例如:欲監控或控制特定硬體資源)時,如步驟S304,電子裝置上的用戶端網路應用程式產生具有一服務類型的一服務請求,並且依據本地伺服器的URL與指定網路埠,將此服務請求導向至本地伺服器。當接收到來自用戶端網路應用程式的服務請求之後,如步驟S306,本地伺服器分析此服務請
求的服務類型,並且對至少一硬體資源執行該服務類型所對應的一操作。
於一實施例中,服務類型包括取得電子裝置的特定硬體資訊,藉此請求進行本地硬體監控。本地伺服器可更分析所接收的服務請求以取得一服務類型(例如:對應應用程式介面(application programming interface,API)的一函式呼叫),對特定硬體資源執行一操作以取得其相關硬體資訊,並且回應包含所請求的硬體資訊的一訊息至用戶端網路應用程式。
第4A圖顯示依據本發明一實施例之存取本地硬體資源之方法流程圖。本發明實施例之存取硬體資源之方法可應用於一電子裝置,其具有包括執行於一瀏覽器中的用戶端網路應用程式的一瀏覽器作業系統,例如一電腦系統。
首先,用戶端網路應用程式依據本地伺服器的URL與指定網路埠產生一服務請求,其具有請求取得電子裝置的特定硬體資訊的一服務類型,用以請求進行本地資源監控(步驟S402)。於一實施例中,此服務請求可因應網路應用程式中使用者的動作而產生;於另一實施例中,服務請求可週期性地產生,以持續地監控硬體的狀態。接著,用戶端網路應用程式可透過瀏覽器,將服務請求傳送至本地伺服器(步驟S404)。當接收到此服務請求之後,本地伺服器分析此服務請求以取得其服務類型,並且與所請求的硬體資源進行通訊來取得對應於服務請求的硬體資訊(步驟S406)。其中,服務類型,可為對應應用程式介面的一函式呼叫,可表示一硬體監控請求,因此將會對所欲監控的硬體資源執行一硬體監控操作。本地伺服器接著自
所請求的硬體資源取得一回應訊息(步驟S408),並將包含有所請求的硬體資訊的回應訊息傳送至用戶端網路應用程式,用以更新或顯示所請求硬體狀態在其使用者介面上(步驟S410)。
可瞭解的是,用戶端網路應用程式140可透過各種架構例如靜態網頁技術或動態網頁技術來執行。於一實施例中,用戶端網路應用程式140係以一動態網頁方式實現,使用者可產生請求來取得伺服器上的資料,這些資料將會依據所請求即時進行組合。動態頁面可依據使用者的操作,例如:用以產生可請求取得硬體資訊的服務請求的動作,每次改變其所載入及顯示的內容。動態網頁可藉由用戶端腳本語言(client-side scripting)或伺服器端腳本語言(server-side scripting)來建構。一般而言,於用戶端腳本語言設計中,一HTML文件中所內嵌的用戶端腳本(scripts)可由使用者的網路瀏覽器來執行,其接著顯示包含來自腳本的可視輸出的文件。用戶端腳本也可包含對應於某些使用者動作,瀏覽器所需要遵照的指令。相反地,一HTML文件中所內嵌的伺服器端腳本(scripts)可由網頁伺服器來執行,以產生輸出,這些輸出隨後會被送至使用者的網路瀏覽器。用戶端腳本對於使用者的瀏覽器內的可用資訊與函式有較大的存取能力,而伺服器端腳本則對於伺服器上可用的資訊與函式有較大的存取能力。用戶端腳本語言的優點在於,提供一個改良的使用者介面,使得使用者無需經歷網頁的惱人刷新(refreshing),而是可以看見表示例如請求已產生且網頁將會進行更新的一動態GIF圖檔。
於一些實施例中,本發明實施例之用戶端網路應
用程式140係由用戶端網路瀏覽器腳本語言例如用於動態HTML(DHTML)的JavaScript所建構出來。腳本語言也可允許遠端腳本語言的使用,其中遠端腳本語言係為一種DHTML網頁可利用(例如是可在用戶與伺服器之間傳送資料的API的XMLHttpRequest物件)來從伺服器中請求額外資訊的技術。於一採用JavaScript的實施例中,前述依據本地伺服器的URL與網路埠,將服務請求導向至本地伺服器之步驟可藉由動態JavaScript插入(dynamic JavaScript insertion)來實現。動態JavaScript插入包括了下列幾個步驟:在用戶端網路應用程式140的原始碼(例如:HTML檔案)中定義一個新<script>元件,其包含本地伺服器的URL與其指定網路埠;以及將用戶端網路應用程式140的標頭段(head section)的原始<script>元件以新<script>元件取代。於本實施例中,透過用戶端網路應用程式140所執行的依據本地伺服器130的URL與網路埠,將服務請求導向至本地伺服器來產生以JavaScript撰寫的一硬體監控請求之步驟可更包括下列步驟:(1)在用戶端網路應用程式140的原始碼(例如:HTML檔案)中定義一個新JavaScript節點<script>;(2)搜尋用戶端網路應用程式140的標頭段的<script>節點;(3)設定一回叫函式(callback function),用以接收本地伺服器130回傳的回應;(4)將在標頭段找到的<script>節點更新為包含本地伺服器130的URL與其指定網路埠的新節點;以及(5)瀏覽器傳送一請求至本地伺服器的URL。第4B圖顯示依據本發明一實施例之存取本地硬體資源之示範原始碼。
於另一實施例中,前述透過用戶端網路應用程式
140所執行的依據本地伺服器的URL與網路埠,將服務請求導向至本地伺服器之步驟可更包括建立一XMLHttpRequest物件以及將該XMLHttpRequest物件以本地伺服器130的URL與其指定網路埠打開之步驟。
若未採用用戶端腳本語言例如JavaScript時,整個網頁都必須要刷新,並且本地伺服器130必須要回傳整個網頁,如此一來將造成大量的資料必須要進行傳輸。透過採用用戶端腳本語言的方式,本地伺服器130可透過非同步傳輸方式來只對簡單的JavaScript變數進行回應即可。因此,可簡化本地伺服器130的工作量,並且精簡其為只處理必要訊息,而其他部分則由瀏覽器與用戶端網路應用程式140所處理。
於一些實施例中,若用戶端網路應用程式係以一JavaScript網頁實現時,用戶端網路應用程式的使用者介面可被切割為數個JavaScript區域且每一JavaScript區域具有一對應的JavaScript變數,並且可於本地伺服器與用戶端網路應用程式之間進行非同步傳輸來僅傳送JavaScript變數與僅更新對應JavaScript區域裡的JavaScript變數,用來代替對用戶端網路應用程式所提供的整個網頁進行更新。第5A圖顯示依據本發明一實施例之相關於用戶端網路應用程式之範例網頁。如第5A圖所示,用戶端網路應用程式140所提供的JavaScript網頁500被切割為數個JavaScript區域502-508,其中每個JavaScript區域502-508可分別具有對應的JavaScript變數且這些JavaScript區域裡的JavaScript變數可只有在網頁500需要進行更新時才被更新。第5B圖顯示依據本發明一實施例之用戶端網路應用程式
之範例使用者介面。如第5B圖所示,包含使用者介面510的網頁500可包括三個硬體監控項目512-516,其係分別為與CPU電壓、CPU風扇速度以及CPU溫度有關的資訊。每個項目512-516具有一對應JavaScript區域及其對應的相關JavaScript變數。於本地伺服器與用戶端網路應用程式之間可進行非同步傳輸來僅傳送JavaScript變數與僅更新對應JavaScript區域512-516裡的JavaScript變數。
第6圖顯示依據本發明一實施例之方法流程圖,用以在一瀏覽器作業系統上利用以Javascript撰寫之用戶端網路應用程式連續地監控硬體資訊。本發明實施例之存取硬體資源之方法可應用於一電子裝置,其具有包括執行於一瀏覽器中的用戶端網路應用程式的一瀏覽器作業系統,例如如具有如第1圖所示的硬體資源存取系統100的電腦系統。其中,可監控或控制的硬體資源可包含CPU的操作電壓、CPU風扇速度、CPU溫度、CPU時脈、CPU承載情形、硬碟溫度、隨機存取記憶體中的資訊、繪圖卡相關資訊、電源控制等等,但本發明並不限於此。
當開始執行用戶端網路應用程式140時,先定義一個新JavaScript<script>節點並且此節點被指定一個與硬體監控API對應的本地伺服器130的URL(步驟S602)。接著,用戶端網路應用程式140的標頭段裡的原始JavaScript<script>節點將會被新JavaScript<script>節點所取代(步驟S604)。舉例來說,於一實施例中,在用戶端網路應用程式140的原始碼中的標頭段裡的原始JavaScript節點<script>將會被取代為一個包含新
API請求的來源位址“http://localhost:10005/HardwareMonitor.js”,其中“localhost”與“10005”分別用以表示本地伺服器130的URL與指定網路埠,而“HardwareMonitor.js”則用以表示用以硬體監控的對應硬體監控API請求。接著,傳送一請求至本地伺服器130的URL,以請求硬體資訊(步驟S606)。因為請求係傳送至本地伺服器130的URL,本地伺服器130會接收此請求,分析此請求的服務類型,並且接著與特定硬體資源的驅動程式進行通訊(亦即:執行函式呼叫),以便自這些特定硬體資源中取得硬體資訊。接著,判斷是否有接收到任何回應(步驟S608)。假設有接收到一個回應時,將會處理此回應並且其對應的硬體資訊將會進行顯示(步驟S610)。舉例來說,參見第5B圖,假設接收到一個具有對應於項目512-516的JavaScript區域裡的JavaScript變數的資訊(“voltage=1.12”、“fan_speed=7500”以及“Temperture=35”)的回應時,項目512-516的顯示將分別更新為“1.12 V”、“7500 RPM”以及“35℃”。前述處理程序將會一直重複來持續地監控硬體資訊的變化。假設可能因為連線失敗、本地伺服器130的不正常操作等等因素而沒有接收到任何回應時(步驟S608的否),用戶端網路應用程式140可回到步驟S604,重複地傳送請求至本地伺服器130,直到接收到一個回應為止。
於一些實施例中,用戶端網路應用程式140的使用者介面可更提供額外資訊,用來表示是否有一個外部裝置插入或者是否有接收到來自外部裝置或其他硬體資源的任何資訊。
於另一實施例中,服務類型更包括用以取得鄰近裝置200(例如:一行動電話)的特定硬體資訊的服務,本地伺服器130可更傳送一命令至鄰近裝置200,以自其中取得特定硬體資訊,再接著將鄰近裝置200中所取得的特定硬體資訊傳送至用戶端網路應用程式140。舉例來說,本地主機上的用戶端網路應用程式140可依據URL與指定網路埠,例如網路端點埠:10005,透過該指定網路埠傳送一具有遠端存取的服務類型的一服務請求至本地伺服器130。在接收到服務請求之後,本地伺服器130可向特定驅動程式(例如:USB驅動程式)所提供的API執行一函式呼叫,以透過一個特定硬體介面例如USB連接埠進行讀取/寫入操作,隨後在本地端的電子裝置可透過一個無線技術例如藍芽與鄰近裝置200進行通訊。
於另一實施例中,鄰近裝置200可更透過特定硬體介面例如特定的USB連接埠來傳送表示用以監控具有硬體資源存取系統100的本地電子裝置的硬體資訊的遠端監控的服務類型至本地電子裝置。本地伺服器130可接著透過特定的USB連接埠接收到此請求,並且與對應的本地硬體資源的驅動程式進行通訊,以取得特定本地硬體資源的硬體資訊。在取得特定本地硬體資源的硬體資訊之後,本地伺服器130將會透過特定的USB連接埠與無線技術傳送包含此資訊的回應至鄰近裝置200。
除了硬體監控之外,在一瀏覽器作業系統內執行的網路應用程式也無法像其他執行在一般作業系統內執行的網路應用程式一樣容易的被一個鄰近裝置所控制。於另一實施
例中,鄰近裝置200可更透過特定硬體介面,例如指定的USB連接埠來傳送用來控制具有硬體資源存取系統100電子裝置的操作的一請求。當透過特定硬體介面以及指定的無線技術接受到來自鄰近裝置200的一請求(例如:一指令)時,本地伺服130分析此請求並且執行對應於分析結果的一項操作。當來自鄰近裝置200的請求表示一控制操作時,本地伺服器130分析此請求以取得對應於此請求的控制命令,並且傳送此控制命令至用戶端網路應用程式140,致使用戶端網路應用程式140執行對應於此控制命令的一操作。當來自鄰近裝置200的請求表示一硬體監控請求時,本地伺服器130取得電子裝置的硬體資訊,並透過特定硬體介面傳送所取得的硬體資訊至鄰近裝置200。舉例來說,鄰近裝置200可先透過藍芽無線技術以及USB連線傳送一個控制命令(例如:一個請求在本地電子裝置播放一段影片的命令)。本地伺服器130於是接收此一命令,並且瀏覽器作業系統110的用戶端網路應用程式140傳送對應的請求至瀏覽器作業系統110。在接收到對應此一命令的回應之後,用戶端網路應用程式140可隨著執行一個對應操作(例如:播放一段影片)。
另一方面,於一些實施例中,鄰近裝置200也可被在瀏覽器作業系統110中執行的用戶端網路應用程式140所控制。用戶端網路應用程式140可利用前述方式透過本地伺服器130與特定硬體介面例如USB連線來傳送命令來控制鄰近裝置200的硬體資源的操作。須注意的是,欲控制的鄰近裝置200可包含任何類型的電子裝置,例如行動電話、顯示裝置、家用設
備、機器人等等。舉例來說,用戶端網路應用程式140可用來打開/關閉或改變顯示裝置或家用設備的設定。
因此,依據本發明之硬體資源存取系統及其相關硬體資源存取之方法可在本地電子裝置上提供包含一個本地URL與一個指定網路埠的客製化伺服器來與欲控制或監控的硬體資源的驅動程式進行通訊,用以透過在一個以瀏覽器作業系統中一個設計好的用戶端網路應用程式來存取裝置驅動程式以及硬體資源。客製化本地伺服器係用以向相關硬體資源的應用程式介面(API)執行函式呼叫來向以瀏覽器作業系統的核心請求硬體相關服務,並且藉由將此接收到的硬體資訊包在一訊息(例如:一HTML文件)以及將回應的訊息傳送至用戶端網路應用程式來回應硬體資訊,致使具有以瀏覽器作業系統的電子裝置與鄰近於電子裝置的鄰近裝置之間的硬體監控或遠端控制操作可更有效地執行。
本發明之方法,或特定型態或其部份,可以以程式碼的型態存在。程式碼可以包含於實體媒體,如軟碟、光碟片、硬碟、或是任何其他機器可讀取(如電腦可讀取)儲存媒體,亦或不限於外在形式之電腦程式產品,其中,當程式碼被機器,如電腦載入且執行時,此機器變成用以參與本發明之裝置。程式碼也可透過一些傳送媒體,如電線或電纜、光纖、或是任何傳輸型態進行傳送,其中,當程式碼被機器,如電腦接收、載入且執行時,此機器變成用以參與本發明之裝置。當在一般用途處理單元實作時,程式碼結合處理單元提供一操作類似於應用特定邏輯電路之獨特裝置。
雖然本發明已以較佳實施例揭露如上,然其並非用以限定本發明,任何熟悉此項技藝者,在不脫離本發明之精神和範圍內,當可做些許更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
S302、S304、S306‧‧‧執行步驟
Claims (21)
- 一種存取電子裝置之硬體資源之方法,其中該電子裝置具有一瀏覽器作業系統(browser-based operation system)且該瀏覽器作業系統包括執行於一瀏覽器中之一用戶端網路應用程式(client-side web application),該方法包括下列步驟:於該電子裝置上提供一本地伺服器,其中該本地伺服器具有一對應全球資源定位器(universal resource locator,URL)以及一指定網路埠;以及當接收到來自該用戶端網路應用程式之一服務請求時,透過該本地伺服器分析該服務請求之一服務類型,並且對至少一硬體資源執行該服務類型所對應之一操作,其中該電子裝置上之該用戶端網路應用程式係依據該本地伺服器之該全球資源定位器以及該指定網路埠產生並導向該服務請求至該本地伺服器。
- 如申請專利範圍第1項所述之方法,其中該服務類型更包括自該電子裝置之該至少一硬體資源中取得特定硬體資訊之服務。
- 如申請專利範圍第2項所述之方法,其中該透過該本地伺服器,對該至少一硬體資源執行該服務類型所對應之該操作之步驟更包括:由該本地伺服器,自該至少一硬體資源,取得該特定硬體資訊;以及由該本地伺服器,傳送所取得之該至少一硬體資源之該特定硬體資訊至該用戶端網路應用程式。
- 如申請專利範圍第2項所述之方法,其中該本地伺服器自該電子裝置之該至少一硬體資源中取得該特定硬體資訊之方式係透過與該至少一硬體資源之驅動程式進行通訊。
- 如申請專利範圍第2項所述之方法,其中該本地伺服器自該電子裝置之該至少一硬體資源,取得該特定硬體資訊之方式係透過執行函式呼叫(function call)來向該瀏覽器作業系統之核心(kernel)請求對應於該特定硬體資訊的服務。
- 如申請專利範圍第1項所述之方法,其中該服務類型更包括取得一鄰近裝置之特定硬體資訊之服務。
- 如申請專利範圍第6項所述之方法,其中該方法更包括:由該本地伺服器傳送一命令至該鄰近裝置,用以從該鄰近裝置中取得該特定硬體資訊;以及由該本地伺服器傳送所取得之該鄰近裝置之該特定硬體資訊至該用戶端網路應用程式。
- 如申請專利範圍第1項所述之方法,更包括:當透過一特定硬體介面接收到來自一鄰近裝置之一請求時,由該本地伺服器分析該請求並執行該請求所對應之一操作。
- 如申請專利範圍第8項所述之方法,更包括:當來自該鄰近裝置之該請求表示一硬體監控請求時,由該本地伺服器自該電子裝置之該至少一硬體資源取得一特定硬體資訊,並且將該特定硬體資訊透過該特定硬體介面傳送至該鄰近裝置。
- 如申請專利範圍第8項所述之方法,更包括: 當來自該鄰近裝置之該請求表示一控制操作時,由該本地伺服器分析該請求,取得相應該請求之一控制命令,並且將該控制命令傳送至該用戶端網路應用程式,致使該用戶端網路應用程式執行該控制命令所對應之一操作。
- 如申請專利範圍第8項所述之方法,其中該特定硬體介面包括一通用序列匯流排(USB)連接埠。
- 一種硬體資源存取系統,適用於一電子裝置,其中該電子裝置具有一瀏覽器作業系統且該瀏覽器作業系統包括執行於一瀏覽器中之一使用者介面,包括:複數硬體資源;執行於該瀏覽器中之一用戶端網路應用程式,用以產生具有一服務類型之一服務請求;以及設置於該電子裝置上之一本地伺服器,其具有一對應全球資源定位器以及一指定網路埠,其中當接收到具有一服務類型之一服務請求時,該用戶端網路應用程式依據該本地伺服器之該全球資源定位器以及該指定網路埠,導向該服務請求至該本地伺服器,致使該本地伺服器判定該服務類型,並且對該等硬體資源中之至少一硬體資源執行該服務類型所對應之一操作。
- 如申請專利範圍第12項所述之硬體資源存取系統,其中該服務類型更包括自該電子裝置之該至少一硬體資源中取得特定硬體資訊之服務,並且該本地伺服器更自該至少一硬體資源取得該特定硬體資訊,並傳送所取得之該至少一硬體資源之該特定硬體資訊至該用戶端網路應用程式。
- 如申請專利範圍第13項所述之硬體資源存取系統,其中該本地伺服器自該電子裝置之該至少一硬體資源中取得該特定硬體資訊之方式係透過與該至少一硬體資源之驅動程式進行通訊。
- 如申請專利範圍第13項所述之硬體資源存取系統,其中該本地伺服器自該電子裝置之該至少一硬體資源,取得該特定硬體資訊之方式係透過執行函式呼叫來向該瀏覽器作業系統之核心請求對應於該特定硬體資訊的服務。
- 如申請專利範圍第12項所述之硬體資源存取系統,其中該服務類型更包括取得一鄰近裝置之特定硬體資訊之服務,且其中該本地伺服器更傳送由該用戶端網路應用程式所送出之一命令至該鄰近裝置,以從該鄰近裝置中取得該特定硬體資訊,並且傳送所取得之該鄰近裝置之該特定硬體資訊至該用戶端網路應用程式。
- 如申請專利範圍第12項所述之硬體資源存取系統,其中當透過一特定硬體介面接收到來自一鄰近裝置之一請求時,該本地伺服器更分析該請求並執行該請求所對應之一操作。
- 如申請專利範圍第17項所述之硬體資源存取系統,其中該本地伺服器更於來自該鄰近裝置之該請求表示一硬體監控請求時,自該電子裝置之該至少一硬體資源中取得一特定硬體資訊,並且將該特定硬體資訊透過該特定硬體介面傳送至該鄰近裝置。
- 如申請專利範圍第17項所述之硬體資源存取系統,其中該 本地伺服器更於來自該鄰近裝置之該請求表示一控制操作時,分析該請求,取得相應該請求之一控制命令,並將該控制命令傳送至該用戶端網路應用程式,致使該用戶端網路應用程式執行該控制命令所對應之一操作。
- 如申請專利範圍第17項所述之硬體資源存取系統,其中該特定硬體介面包括一通用序列匯流排(USB)連接埠。
- 一種電腦程式產品,其係被一機器載入以執行一存取電子裝置之硬體資源之方法,其中該電子裝置具有一瀏覽器作業系統且該瀏覽器作業系統包括執行於一瀏覽器中之一用戶端網路應用程式,該電腦程式產品包括:一第一程式碼,用以於該電子裝置上提供一本地伺服器,其中該本地伺服器具有一對應全球資源定位器以及一指定網路埠;以及一第二程式碼,用以於接收到來自該用戶端網路應用程式之一服務請求時,透過該本地伺服器分析該服務請求之一服務類型,並且對至少一硬體資源執行該服務類型所對應之一操作,其中該電子裝置上之該用戶端網路應用程式係依據該本地伺服器之該全球資源定位器以及該指定網路埠產生並導向該服務請求至該本地伺服器。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201261674470P | 2012-07-23 | 2012-07-23 | |
US13/835,249 US9253249B2 (en) | 2012-07-23 | 2013-03-15 | Hardware resource accessing systems and methods for accessing hardware resources in browser-based operating systems and machine-readable storage medium thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
TW201406108A TW201406108A (zh) | 2014-02-01 |
TWI535248B true TWI535248B (zh) | 2016-05-21 |
Family
ID=48874782
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW102118583A TWI535248B (zh) | 2012-07-23 | 2013-05-27 | 電子裝置之硬體資源存取系統及其存取電子裝置之硬體資源之方法及其電腦程式產品 |
TW105108410A TW201626768A (zh) | 2012-07-23 | 2013-05-27 | 存取具有作業系統之電子裝置之硬體資源之方法及相關具有作業系統之電子裝置及本地伺服器 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW105108410A TW201626768A (zh) | 2012-07-23 | 2013-05-27 | 存取具有作業系統之電子裝置之硬體資源之方法及相關具有作業系統之電子裝置及本地伺服器 |
Country Status (4)
Country | Link |
---|---|
US (2) | US9253249B2 (zh) |
EP (1) | EP2690555A3 (zh) |
CN (2) | CN106293965A (zh) |
TW (2) | TWI535248B (zh) |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2507202B (en) * | 2011-04-11 | 2014-11-19 | Bluecava Inc | Thick client and thin client integration |
US8887182B2 (en) * | 2012-10-16 | 2014-11-11 | Yahoo! Inc. | Hybrid applications |
US9331894B2 (en) * | 2013-05-31 | 2016-05-03 | International Business Machines Corporation | Information exchange in data center systems |
US9197709B2 (en) * | 2013-09-27 | 2015-11-24 | Level 3 Communications, Llc | Provisioning dedicated network resources with API services |
CN105812345B (zh) * | 2014-12-31 | 2019-08-23 | 广州市动景计算机科技有限公司 | 一种实现网页到客户端通信的方法及装置 |
US10171427B2 (en) * | 2015-01-29 | 2019-01-01 | WebCloak, LLC | Portable encryption and authentication service module |
FI125649B (en) * | 2015-03-05 | 2015-12-31 | Piceasoft Oy | Method and apparatus for streaming data between devices |
CN105897700A (zh) * | 2016-03-29 | 2016-08-24 | 努比亚技术有限公司 | 信息处理方法、终端及服务器 |
US10637930B2 (en) | 2017-08-14 | 2020-04-28 | Foundry Health | System for integrating a detectable medical module |
CN109857963A (zh) * | 2017-08-31 | 2019-06-07 | 龙芯中科技术有限公司 | 本地资源访问方法、装置及电子设备 |
CN109428925B (zh) * | 2017-08-31 | 2021-11-02 | 宏碁股份有限公司 | 电子装置与其操作方法以及伺服器主机 |
TWI668634B (zh) * | 2018-08-03 | 2019-08-11 | 廣達電腦股份有限公司 | 基於軟體容器提供雲端服務之系統及方法 |
CN111143742A (zh) * | 2019-12-24 | 2020-05-12 | 联想(北京)有限公司 | 处理方法和处理装置 |
CN113656193A (zh) * | 2021-08-11 | 2021-11-16 | 挂号网(杭州)科技有限公司 | 一种应用通信方法、系统、电子设备及存储介质 |
CN113656713B (zh) * | 2021-08-23 | 2023-07-21 | 北京奇艺世纪科技有限公司 | 一种网络资源处理方法、装置及系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6047124A (en) * | 1997-10-31 | 2000-04-04 | Sun Microsystems, Inc. | System and method for tracing device drivers using a computer |
US6446109B2 (en) * | 1998-06-29 | 2002-09-03 | Sun Microsystems, Inc. | Application computing environment |
US6330719B1 (en) * | 1999-06-30 | 2001-12-11 | Webtv Networks, Inc. | Interactive television receiver unit browser that waits to send requests |
TW564625B (en) | 2002-05-31 | 2003-12-01 | Infopower Corp | Method and system for filtering requests to a web site |
US7082526B2 (en) | 2003-03-14 | 2006-07-25 | Elegent Technologies, Inc. | Mechanism for intuitively invoking one or more auxiliary programs during a computer booting process |
US7616756B2 (en) * | 2003-12-18 | 2009-11-10 | International Business Machines Corporation | Call center first access resolution |
US7555568B2 (en) | 2004-02-28 | 2009-06-30 | Huang Evan S | Method and apparatus for operating a host computer from a portable apparatus |
US7941609B2 (en) * | 2007-02-23 | 2011-05-10 | Microsoft Corporation | HTTP acceleration by prediction and pre-fetching |
CN101216777B (zh) * | 2008-01-11 | 2010-11-03 | 华中科技大学 | 一种多虚拟机环境下的快速部署系统 |
US8924987B2 (en) * | 2008-11-21 | 2014-12-30 | Samsung Electronics Co., Ltd. | Flat or extended architecture using an integrated application and operating system component for computing systems and environments |
US20120042016A1 (en) * | 2010-08-10 | 2012-02-16 | Google Inc. | Exposing resource capabilities to web applications |
EP2544096B1 (en) * | 2011-07-06 | 2014-12-03 | GN Netcom A/S | Apparatus and method of Universal Serial Bus, USB, communication |
US9049246B2 (en) * | 2012-02-28 | 2015-06-02 | Red Hat, Inc. | Reducing web page loading time |
-
2013
- 2013-03-15 US US13/835,249 patent/US9253249B2/en active Active
- 2013-05-27 TW TW102118583A patent/TWI535248B/zh active
- 2013-05-27 TW TW105108410A patent/TW201626768A/zh unknown
- 2013-06-18 CN CN201610626978.8A patent/CN106293965A/zh active Pending
- 2013-06-18 CN CN201310240247.6A patent/CN103268257B/zh active Active
- 2013-07-16 EP EP13176652.9A patent/EP2690555A3/en not_active Withdrawn
-
2015
- 2015-12-21 US US14/976,390 patent/US9420040B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
TW201626768A (zh) | 2016-07-16 |
US20160112499A1 (en) | 2016-04-21 |
CN103268257B (zh) | 2016-08-31 |
CN103268257A (zh) | 2013-08-28 |
US20140025726A1 (en) | 2014-01-23 |
TW201406108A (zh) | 2014-02-01 |
EP2690555A3 (en) | 2016-08-17 |
US9253249B2 (en) | 2016-02-02 |
US9420040B2 (en) | 2016-08-16 |
EP2690555A2 (en) | 2014-01-29 |
CN106293965A (zh) | 2017-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI535248B (zh) | 電子裝置之硬體資源存取系統及其存取電子裝置之硬體資源之方法及其電腦程式產品 | |
US10990644B2 (en) | Systems and methods for contextual vocabularies and customer segmentation | |
US10353718B2 (en) | Providing access to a remote application via a web client | |
RU2754720C1 (ru) | Способ и устройство для отображения интерфейса | |
JP2015501029A (ja) | ウェブページのカスタム最適化 | |
US20150058713A1 (en) | Method and apparatus for sharing media content and method and apparatus for displaying media content | |
KR20130061725A (ko) | 웹 어플리케이션에 리소스 성능들의 노출 | |
JP5988402B2 (ja) | Webコンテンツ先読み制御装置、Webコンテンツ先読み制御プログラム、及びWebコンテンツ先読み制御方法 | |
WO2020251679A1 (en) | Screen reader summary with popular link(s) | |
JP2016520900A (ja) | オンライン共有のためのクラウドサービスの統合 | |
WO2017206893A1 (zh) | 界面刷新同步方法、装置、终端及存储介质 | |
CN111079048A (zh) | 一种页面加载方法及装置 | |
EP3011451A1 (en) | Synchronization points for state information | |
KR102179768B1 (ko) | 3차원 캐릭터에 기반하여 정보를 제공하는 전자 장치 및 방법 | |
US10637827B2 (en) | Security network system and data processing method therefor | |
EP3559826B1 (en) | Method and system providing contextual functionality in static web pages | |
US10996963B2 (en) | Integrating web-based tutorials into websites using a tag manager | |
CN113452738A (zh) | 页面加载方法和客户端 | |
US20190325073A1 (en) | Systems and Methods for Providing Content Items in Situations Involving Suboptimal Network Conditions | |
US20180253758A1 (en) | Simulation of messages from internet of things (iot) devices for digital signage | |
US20140139446A1 (en) | System and method for manipulating an image | |
KR102180815B1 (ko) | 어플리케이션을 위한 디자인 데이터를 제공하는 서버 및 그 방법, 그리고 어플리케이션 생성 시스템 | |
TWI464674B (zh) | 用以儲存客戶端資料之裝置及方法 | |
JP6157656B2 (ja) | リターゲティング検索サービスを提供する方法およびシステム | |
US20140181103A1 (en) | Modifying a user profile |