TW201528745A - 促進網路應用程序和本地周邊設備之間通過本地服務通訊的系統及方法 - Google Patents
促進網路應用程序和本地周邊設備之間通過本地服務通訊的系統及方法 Download PDFInfo
- Publication number
- TW201528745A TW201528745A TW103140034A TW103140034A TW201528745A TW 201528745 A TW201528745 A TW 201528745A TW 103140034 A TW103140034 A TW 103140034A TW 103140034 A TW103140034 A TW 103140034A TW 201528745 A TW201528745 A TW 201528745A
- Authority
- TW
- Taiwan
- Prior art keywords
- cross
- browser
- request
- domain
- computer
- 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
-
- 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/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/957—Browsing optimisation, e.g. caching or content distillation
- G06F16/9574—Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
-
- 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/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
-
- 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/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- 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)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Public Health (AREA)
- Epidemiology (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computer And Data Communications (AREA)
- Information Transfer Between Computers (AREA)
Abstract
一種促進網路應用程序和本地周邊設備之間通過本地服務通訊的系統和方法,其中本地周邊設備是本地連接到具有本地服務的電腦上。訪問與本地周邊設備相關聯的數據,一個瀏覽器可向本服務發送一跨域請求,該本地服務駐留在與為網路應用程序提供服務的域不同的域。在發送實際跨域請求之前,瀏覽器可以發送一個預檢跨域請求到本地服務。本地服務可以發送預檢請求的響應到瀏覽器。該響應可以包括跨域請求可以由本地服務提供服務的相關信息。該瀏覽器可以發送跨域請求到本地服務,該本地服務可以包括要在本地周邊設備上執行的功能。
Description
本發明係關於一種促進網路應用程序和本地周邊設備之間通過本地服務通訊的系統和方法,其中該本地周邊設備是本地連接到具有本地服務的一電腦上。
通常,網路應用程序和本地連接到個人計算設備的周邊設備之間的通訊,可以通過一個網路瀏覽器建立,通過計算設備具有瀏覽器擴展、插件或附加軟體實現。建立這樣方式的通訊,需要最終用戶在其計算設備上安裝這種瀏覽器擴展、插件或附加軟體。網路應用程序的開發人員則需要為他們打算在網路應用程序中使用的所有類型網路瀏覽器建立特定的瀏覽器擴展、插件或附加軟體,這增加了開發成本。此外,網路瀏覽器插件歷來有兼容性和安全性問題,需要用戶頻繁更新。
因此,所需要的是,不通過使用瀏覽器擴展、插件或附加軟體,而能促進網路應用程序和本地周邊設備之間的通訊。目前還存在這些和其他問題。
本揭露的一個方面涉及一種促進網路應用程序和本地周邊設備之間通過本地服務通訊的系統和方法,其中該本地周邊設備是本地連接到具有本地服務的一電腦上。
該網路應用程序可以由在電腦上運行的一瀏覽器訪問。為了訪問和本地周邊設備相關的數據,該瀏覽器可以向本地服務提出一跨域請求,該本地服務存在於給網路應用程序提供服務的域不同的一個域中。在發送實際跨域請求之前,該瀏覽器可以發送一預檢跨域請求給該本地服務。該本地服務可以向該瀏覽器發送和/或發送對預檢跨域請求的響應。該響應可以包含關於該跨域請求是否可以被該本地服務提供服務的信息。例如,該響應可以包含關於該本地服務是否在電腦上被正確安裝和運行,一個用於本地周邊設備的一合適軟體驅動是否在電腦上被正確安裝和運行,和/或其它信息。
基於從本地服務上接收的響應,該瀏覽器可以確定是否發送實際跨域請求和/或發送跨域請求給本地服務。該本地服務可以基於一授權票據,驗證該跨域請求。該跨域請求可以包含在該本地周邊設備上執行一個或多個功能。例如,該跨域請求可以造成本地服務從本地連接到電腦的一醫療周邊設備上獲得測量數據,和/或將獲得的數據通過瀏覽器發送給網路應用程序。
在一實施例中,提供一系統包括:一電腦設備,其包括一瀏覽器,該瀏覽器被配置為經由通訊網路訪問一網路
應用程序;一本地服務,其被配置為與本地連接到電腦設備上的一個或多個周邊設備進行通訊,該本地服務包括一個或多個電腦程序模組;和一個或多個處理器,其由該一個或多個電腦程序模組編程。該一個或多個電腦程序模組包括一個請求處理模組,其被配置為:接收來自瀏覽器的跨域請求,該跨域請求包括可以在一個或多個周邊設備上被執行的一個或多個功能;和在該一個或多個周邊設備中的至少一個上執行該一個或多個功能。
在另一實施例中,提供一電腦中執行的一方法,該電腦包括一個或多個處理器經配置以執行一個或多個電腦程序指令。該方法包括:在接收一個跨域請求之前,在本地服務從一瀏覽器接收一預檢跨域請求;確認該跨域請求是否可以由本地服務提供服務;基於該確認,生成對該預檢跨域請求的響應;接收來自瀏覽器的跨域請求,該跨域請求包括可以在本地連接的周邊設備上被執行的一個或多個功能;和在本地連接的周邊設備上執行該一個或多個功能。
在另一實施例中,提供一網路伺服器,其被配置為提供包括一個或多個GUI對象的一網路應用程序,該一個或多個GUI對象當與使用一電腦設備上運行的一瀏覽器的用戶相交互時,導致該瀏覽器產生一跨域請求,該跨域請求包括可在本地連接到電腦設備的一個周邊設備上執行的一個或多個功能。該網路伺服器包括一個或多個處理器,其被配置為:提供通過瀏覽器可訪問的網路應用程序,其中該網路應用程序包括GUI對象,當該GUI對象與使用瀏覽
器的用戶交互時,使得電腦設備上運行的本地應用程序在本地連接到電腦設備上的一個周邊設備上執行一個或多個功能;檢測使用瀏覽器的用戶與GUI對象的交互的時間;和在檢測得到時,導致瀏覽器產生該跨域請求,其中該跨域請求包括將在該周邊設備上執行的一個或多個功能。
在另一實施例中,提供一種在電腦中執行的方法,其中該電腦包括經配置以執行一個或多個電腦程序指令的一個或多個處理器。該方法包括:提供一網路應用程序,其可以通過在電腦設備上運行的瀏覽器訪問,其中該網路應用程序包括GUI對象,當該GUI對象和使用瀏覽器的用戶交互時,使得電腦設備上運行的本地應用程序在本地連接到電腦設備上的一個周邊設備上執行一個或多個功能;檢測使用瀏覽器的用戶與GUI對象的交互的時間;和在檢測得到時,導致瀏覽器產生該跨域請求,其中該跨域請求包括將在該周邊設備上執行的一個或多個功能。
在另一實施例中,提供一種存儲電腦可讀指令的非暫時性電腦可讀介質,當由一個或多個處理器執行指令時,使得電腦設備:由一個請求處理模組接收來自瀏覽器的跨域請求,該跨域請求包括從在本地連接到電腦設備的一醫療周邊設備上獲得測量數據的一個請求;由請求處理模組從該醫療周邊設備獲得該測量數據;和由請求處理模組發送所獲得的測量數據到該瀏覽器。
本發明的其他目的和優點將為本領域技術人員基於下面的附圖和詳細描述而顯而易見。也可以理解的是,前面
的一般描述和以下詳細描述對於實施例的範圍是示例性,而不是限制性的。
100‧‧‧系統
101‧‧‧伺服器
110‧‧‧電腦
111‧‧‧本地服務
112‧‧‧預請求模組
113‧‧‧票據模組
114‧‧‧請求處理模組
119‧‧‧其他模組
120‧‧‧處理器
121‧‧‧記憶體
122‧‧‧處理器
123‧‧‧記憶體
131‧‧‧瀏覽器
132‧‧‧數據庫
134‧‧‧其它數據庫
141‧‧‧網路應用程序
142‧‧‧票據數據庫
143‧‧‧周邊設備內容數據庫
144‧‧‧其它數據庫
150‧‧‧網路
161A‧‧‧本地周邊設備
161B‧‧‧本地周邊設備
161N‧‧‧本地周邊設備
200‧‧‧過程
201~211‧‧‧操作
400‧‧‧界面
410‧‧‧圖形用戶界面GUI元素
420‧‧‧圖形用戶界面GUI元素
430‧‧‧圖形用戶界面GUI元素
圖1顯示根據本發明的一個方面,促進網路應用程序和本地周邊設備之間通過本地服務通訊的系統。
圖2顯示根據本發明的一個方面,促進網路應用程序和本地周邊設備之間通過本地服務通訊的過程。
圖3顯示根據本發明的一個方面,促進網路應用程序、瀏覽器和一本地服務之間通訊的系統的數據流示意圖。
圖4顯示根據本發明的一個方面,用於起始一跨域請求以從一外圍醫療設備獲取測量數據的一界面屏幕截圖。
本揭露的一個方面涉及一種促進網路應用程序和本地周邊設備之間通過本地服務通訊的系統和方法,其中該本地周邊設備是本地連接到具有本地服務的一電腦上。
“跨域資源共享(CORS)”是可以在網路瀏覽器(如具有CORS功能的瀏覽器)中實現的機制,它允許訪問由第一網路伺服器提供服務的網路應用程序的瀏覽器提出請求(例如,HTTP請求等)到被網路應用程序服務的一個域(即,第一網路伺服器)以外的另一個域(例如,一個第二網路伺服器)。這樣的“跨域”請求在非此類情況下會被瀏覽器的同源策略(SOP)禁止,該同源策略要求請求應發送給與該網路應用程序提供服務的域相同的域。因此該CORS是放寬SOP同時以安全的方式處理跨域請求的
有效技術。
該“本地服務”(在本文中和“本地應用”互換使用)可包括在電腦上本地安裝並運行的軟體應用程序。在一些實施例中,本地服務可以託管(和/或充當)網路伺服器,該伺服器可以接收源於由不同域或者網路伺服器提供服務的一網路應用程序的跨域請求(例如,CORS請求)。在一些實施例中,跨域請求可包括請求從本地連接到電腦的一個或多個周邊設備上獲得(或以其他方式訪問)數據。在這些實施例中,本地服務可以代表一個或多個本地連接的周邊設備向網路應用程序認證,和/或提供訪問網路應用程序的瀏覽器與一個或多個本地連接的周邊設備之間的安全通訊信道。在一些實施例中,本地服務可以負責網路應用/瀏覽器與一個或多個本地連接的周邊設備之間進行轉換消息。在一些實施例中,本地服務可以被安裝為Windows服務,在系統啟動時自動啟動。
“本地周邊設備”(在本文中和“本地連接周邊設備”互換使用)可以包括一個周邊設備,其經由一個本地通訊網路而本地連接到電腦,該本地通訊網路包括但不限於:USB接口、藍牙、本地局域網(LAN)、無線局域網(WLAN)、WiFi無線網路、WiGig、ZigBee、射頻,和/或其他本地網路連接。在一些實施例中,本地周邊設備可包括醫療周邊設備(在本文中和“測量設備”、“監控設備”和“生物測定設備”互換使用)。該醫療周邊設備可以包括但不限於:血糖儀、脈衝血氧計、血壓袖帶、體
重秤、和/或肺活量計。
該系統的其它實現和用途基於本文的揭露內容將是顯而易見。在提供系統的使用的廣泛概述後,現在將描述各種系統部件。
圖1顯示了根據本發明的一個方面,促進網路應用程序和本地周邊設備之間的通過本地服務通訊的系統100。在一些實施例中,系統100可包括伺服器101,電腦110,本地周邊設備161(圖1中示為本地周邊設備161A,161B,...,161N),網路150,和/或其它部件。
伺服器101可以包括具有一網路應用程序141的一網路伺服器,該網路應用程序141可以由電腦110通過通訊網路,例如因特網,使用瀏覽器131訪問。在一些實施例中,瀏覽器131可以包括具有CORS功能的瀏覽器和/或能夠處理跨域請求的其他瀏覽器。
在一些實施例中,網路應用程序141可以是或包括一醫療應用程序,其可以創建、收集、維護和/或管理健康/醫療信息和/或有關患者的其他信息。例如,醫療應用程序可以從連接到電腦110的一個或多個周邊設備161中獲取健康測量值(例如,血壓、體重等)。在本實施例中,該醫療應用程序可包括網路門戶和/或一個或多個小應用程序(applet)。一個用戶(例如,患者)可通過經從電腦110的瀏覽器131訪問該網路門戶,來和伺服器101交互。該用戶可以通過網路門戶,指示醫療應用程序來執行一個或多個功能,其包括:註冊、登錄、設置和管理工作區和
賬號、設置和管理日曆和通知、執行衛生會話、審查臨床內容、和/或使用醫療周邊設備進行測量(例如,血壓,體重等)。
醫療應用程序的這些功能和/或其他功能,可以由一個或多個小應用程序(applet)提供和/或支持。一個小應用程序(applet)是能提供緊密功能性集合的特徵集合。該一個或多個小應用程序可以包括,例如,一個日程和通知小應用程序(例如,創建、接收、查看和/或管理日程事件、給日程表事件分配參與者、生成和/或發送提醒/通知等),聯連絡人小應用程序(例如,輸入、編輯、查看和刪除連絡人),測量小應用程序(例如,捕獲和/或獲得來自一個或多個醫療周邊設備的生命體徵測量),健康評估小應用程序(例如,創建、查看、和/或管理健康會話,在此期間可進行各種健康測量和健康評估,訪問會話概要和/或詳細會話歷史,創建、發送、和/或管理健康會話的提醒,請求查看受保護的健康信息(PHI)等),藥物小應用程序(例如,創建、編輯和刪除藥物、設置藥物治療的日程提醒和藥物補充的任務),工作空間/帳戶管理小應用程序(例如,創建由註冊用戶使用的個人或團體的工作空間、管理用戶帳戶、資料、工作會員、訪問權限等),瞭解更多小應用程序(例如,訪問臨床內容)和/或其他小應用程序。
在一些實施例中,電腦110可以包括配置為執行本地服務111的一個或多個電腦。本地服務111可以包括一個
或多個電腦程序模組。通過這些程序模組,電腦110可以識別一端口,該端口可用於網路應用程序141/瀏覽器131和本地服務111之間的通訊,接收可以被用來確定是否跨域請求可以通過本地服務111進行服務的預檢跨域請求,獲得可被用於向本地服務111驗證網路應用程序141(和/或源自網路應用程序141和/或向本地服務111提出的請求)的授權票據,接收可包含可以在一個或多個本地周邊設備161上執行的一個或多個功能的一個跨域請求,基於該授權票據驗證跨域請求,在該一個或多個本地周邊設備161上執行一個或多個功能,和/或執行其他功能。
網路應用程序141可以通過電腦110上運行的瀏覽器131訪問。要訪問與本地周邊設備(例如,本地周邊設備161A)相關的數據,瀏覽器131可以向本地服務111提出一個跨域請求,本地服務111可以駐留在服務於網路應用程序141的域不同的一個域中。在發送實際跨域請求之前,瀏覽器131可以發送一個預檢跨域請求到本地服務111。本地服務111可生成和/或傳送對預檢請求的響應到瀏覽器131上。響應可以包括跨域請求是否可以由本地服務111提供服務的相關信息。例如,該響應的相關信息可以包括本地服務111是否在電腦110上被正確安裝和運行,用於本地周邊設備161A的適當的軟體驅動程序是否在電腦110上被正確安裝和運行,和/或其它信息。
瀏覽器131可基於從本地服務111收到的響應來決定是否發送實際跨域請求和/或發送跨域請求到本地服務
111。本地服務111可以基於跨域請求上的授權票據來驗證跨域請求。跨域請求可以包括可在本地周邊設備161A上執行的一個或多個功能。例如,跨域請求可造成本地服務111從本地連接於電腦110的醫療周邊設備161A上獲取測量數據,和/或將獲得的測量數據通過瀏覽器131發送給網路應用程序141。
該電腦程序模組可以包括一個或多個預請求模組112,票據模組113,請求處理模組114,和/或其他模組119,用於執行本文中所描述的功能。
在一些實施例中,預請求模組112可以被配置為識別和/或確定可以被用於網路應用程序141/瀏覽器131和本地服務111之間通訊的一個端口(例如,TCP端口)。其可以開始於本地服務111最後使用的已知端口號。如果在註冊表中沒有存儲最後已知端口號,和/或最後已知端口號不再可用,瀏覽器131可以從預定義的端口範圍中協商一端口,以用於本地服務111通訊。例如,在預定義的端口範圍的開頭第一個可用的端口可被選擇用於通訊。所選的端口號可被存儲在註冊表中。一旦端口被識別和/或確定,網路應用程序141和/或瀏覽器131可以通過該識別端口發送一個或多個請求(例如,預檢跨域請求,實際跨域請求,等等)。
在一些實施例中,網路應用程序141可以發起與本地服務111的通訊,以訪問一個或多個本地周邊設備161相關聯的數據。例如,經由瀏覽器131訪問網路應用程序141
同時,通過點擊或以其他方式選擇由網路應用程序141提供的網路上顯示的一個或多個圖形用戶界面(GUI)元素(例如,GUI按鈕),用戶可以選擇從一個或多個本地周邊設備161“進行測量”。這可能會導致瀏覽器131向本地服務111發送一個跨域請求。瀏覽器131(例如,一個具有CORS功能的瀏覽器和/或能夠處理跨域請求的其他瀏覽器)可以向本地服務111發送跨域請求,該本地服務111駐留在與使用CORS技術和/或其它類似的技術給網路應用程序141提供服務的域不同的一個域中,這對本領域技術人員是顯而易見的。
在一些實施例中,在發送實際跨域請求之前,瀏覽器131可以發送一個預檢跨域請求到本地服務111。瀏覽器131(例如,一個具有CORS功能的瀏覽器和/或其他能夠處理跨域請求的瀏覽器)可以使用CORS技術和/或其它類似技術,發送預檢請求給本地服務111,這對於本領域技術人員是顯而易見的。
在一些實施例中,預檢請求可導致電腦110進行確定本地服務111是否在電腦110上被正確安裝並運行。在一些實施例中,預檢請求可導致電腦110進行確定用於一個或多個周邊設備161的合適的軟體驅動程序是否在電腦110上被正確安裝和運行。
在一些實施例中,預請求模組112可以被配置為生成和/或向瀏覽器131發送對預檢跨域請求的響應。該響應可以包括該跨域請求是否可以由本地服務111提供服務的
信息。例如,該響應可以包括本地服務111是否在電腦110上被正確安裝並運行的相關信息,用於一個或多個周邊設備161的一合適的軟體驅動程序是否在電腦110上被正確安裝和運行,和/或其它信息。瀏覽器131可基於從本地服務111所接收的響應,決定是否發送實際跨域請求,和/或通過所識別的端口發送跨域請求到本地服務111。
在一些實施例中,驗證本地服務111所收的請求,可以使用授權票據。例如,本地服務111可以使用授權票據來向本地服務111驗證網路應用程序141(和/或源自網路應用程序141的請求和/或向本地服務111提出的請求)。如果該請求基於一適當授權票據被驗證,該請求可以被授權提交給本地服務111。
在一些實施例中,瀏覽器131可以“發送信號”(ping)給本地服務111。在一些實施例中,發送信號請求可能會導致本地服務111判斷網路應用程序141/瀏覽器131是否被授權訪問本地服務111。如果網路應用程序141還未提供一個授權票據,授權票據已被提供但未能通過驗證測試,或以其他方式不可取得授權票據,票據模組113可經配置以產生一個響應,以指示該訪問不能被授權(例如,HTTP狀態401,訪問被拒絕的響應)和/或授權票據是必需的。票據模組113可經由瀏覽器131發送所生成的響應給網路應用程序141,以請求一個新授權票據。
在一些實施例中,網路應用程序141可以生成一個授權票據和/或存儲該票據於票據數據庫142和/或其它數
據庫144中。網路應用程序141可以發送包括票據信息的授權票據給本地服務111。例如,票據信息可以包括時間幀(例如,開始時間和結束時間),以指示票據應該多長時間保持有效。票據模組113,在收到票據和/或票據信息時,可以通過給授權票據分配票據ID(例如,全局唯一標識符(GUID)),以認證該票據。票據ID可與生成該票據ID的本地服務111和/或本地服務111安裝於其上的電腦110相關聯。
在一些實施例中,票據模組113可以向網路應用程序141返回包括票據認證信息的認證票據,其中票據認證信息可以包括與授權票據相關聯的票據ID和/或指示票據應該多久保持有效的時間幀。網路應用程序141可確定該票據ID是否是有效的(例如,該GUID不是“空”GUID)。網路應用程序141可確定返回的票據認證中顯示的時間幀是否與發送的票據信息所顯示的時間幀相匹配。這可以防止攻擊者把時間幀的範圍改變的比預期的範圍更廣泛。
在一些實施例中,網路應用程序141可以基於該票據認證,簽署該票據。該票據(例如,存儲在票據數據庫142)可更新簽名和/或作為有效的票據保存。網路應用程序141可經由瀏覽器131發送回簽署票據給本地服務111。在一些實施例中,簽名可以包括數字簽名,可用於驗證該票據是由被授權的程序所創建和/或可被用於登錄的密碼(如票據ID)。所簽署的票據可以包括簽名、票據ID、時間幀的信息、和/或其它信息。在一些實施例中,瀏覽
器131可以把簽署的票據的備份存儲在本地存儲中。
響應於從網路應用程序141接收的簽署票據,票據模組113可以被配置為驗證、確認、和/或存儲簽署的票據於數據庫132中,和/或其它數據庫134中。例如,票據模組113可查票據ID和時間幀,以確認它們和簽署票據的相應信息匹配。
在一些實施例中,請求處理模組114可以被配置為獲取源自網路應用程序141的跨域請求。在一些實施例中,請求處理模組114可以被配置為基於授權票據(本文所討論的相對於票據模組113)而驗證跨域請求。跨域請求可以與票據ID、簽名、時間標記和/或其他授權信息相關聯。例如,時間標記可以指示跨域請求被生成和/或發送給本地服務111的日期和時間信息。請求處理模組114可以識別一個簽署票據(例如,存儲在票據數據庫132中),其對應於與跨域請求相關的票據ID。請求處理模組114可以驗證該時間標記落在簽署票據指定和/或與簽署票據相關聯的時間範圍內。驗證跨域請求可以和簽署的授權票據中指定和/或相關聯的簽名相對比。例如,跨域請求相關聯的簽名可以和簽署的授權票據的簽名進行比較,以確定它們是否匹配。
在一些實施例中,如果該授權票據尚未由網路應用程序141提供,它已被提供但未能通過驗證測試,或因其他原因不可用,票據模組113可以請求來自網路應用程序141的新授權票據,類似本文所討論相對於票據模組113。一
旦被驗證,跨域請求和/或在請求中定義的一個或多個功能,可以由本地服務111提供服務和/或處理。
在一些實施例中,跨域請求可以包括在一個或多個本地周邊設備161中執行的一個或多個功能。跨域請求中定義的一個或多個功能可以包括提取、插入、修改、刪除或以其他方式訪問數據,該數據可與一個或多個本地周邊設備161中的至少一個相關聯和/或可存儲在耦合到一個或多個本地周邊設備161中的至少一個的數據存儲中,和/或其它功能。在一個例子中,當用戶經由瀏覽器131,從特定的醫療周邊設備161通過點擊或以其他方式選擇由網路應用程序141提供的網路上顯示的GUI按鈕而選擇“進行測量”,請求處理模組114可以由瀏覽器131得到一跨域請求,該跨域請求中定義的一個或多個功能包括訪問和/或取得醫療周邊設備設備161的測量數據。用戶可使用醫療周邊設備161來進行測量。例如,用戶可以使用血壓監測設備測量血壓。
在一些實施例中,響應於跨域請求,請求處理模組114可以從醫療周邊設備161和/或耦合到醫療周邊設備161的一個數據存儲中提取和/或獲得請求的測量數據。例如,請求處理模組114可以從所述的血壓監測設備提取和/或獲得血壓數據。所獲得的測量數據可以通過瀏覽器131發送到網路應用程序141,和/或存儲在周邊設備的內容數據庫143中和/或其他數據庫144中。
在一些實施例中,本地服務111可以被配置為可將文
本轉換為語音。例如,在獲取測量值時,瀏覽器131可以發送文本測量指令到本地服務111。接收到的文本可以由本地服務111轉換為語音,使得測量指令可以被朗讀給用戶。
電腦110的其他用途和實施例將是本領域技術人員基於本文的揭露內容而顯而易見的。
伺服器101可包括一個或多個處理器122、記憶體123、和/或其它部件。伺服器101可以包括通訊線路或端口,以便與網路和/或其他計算平台交換信息。在圖1中所顯示的伺服器101不是旨在進行限制。伺服器101可包括多個硬件、軟體、和/或固件組件,其一起操作以提供本文所歸因於伺服器101的功能。例如,伺服器101可以通過作為伺服器101而一起操作的計算平台雲來實現。基於雲的伺服器可以在公共雲、私有雲和/或混合雲中運行。
在一些實施例中,伺服器101可以包括或以其他方式訪問各種數據庫以存儲和/或提取信息。各種數據庫可以包括,例如,一個票據數據庫142、周邊設備的內容數據庫143和/或其它數據庫144。票據數據庫142可存儲一個或多個授權票據。周邊設備內容數據庫143可以存儲從一個或多個周邊設備161得到、提取和/或取得的數據、內容和/或資源。
電腦110可以包括一個或多個處理器120、記憶體121、和/或其它部件。電腦110可以包括通訊線路或端口,以便與網路和/或其他計算平台交換信息。在圖1中
所顯示的電腦110不是旨在進行限制。一個或多個處理器120可經配置以執行如本文所討論的電腦程序模組。該電腦程序模組可以被配置為能夠讓與電腦110相關聯的專家或用戶與伺服器101和/或周邊設備161接口,和/或提供本文歸因於電腦110的其他功能。
在一些實施例中,電腦110可以包括或以其他方式訪問各種數據庫以存儲和/或提取信息。各種數據庫可以包括,例如,票據數據庫132,和/或其它數據庫134。票據數據庫132可存儲一個或多個授權票據。
在一些實施例中,電腦110可包括一移動設備,具有一個或多個處理器(例如,微處理器)的一個或多個計算設備(例如,專用計算系統、桌上型電腦、個人電腦、移動計算設備、平板計算設備、智能電話、或其它計算設備),記憶體設備(例如,硬盤、RAM、EEPROM等),輸入/輸出組件,和/或其他計算部件,用於執行本文所描述的特徵和功能(和/或其他特徵和功能)。上述各設備可具有一個或多個用戶接口,諸如鍵盤、顯示器、語音識別的麥克風和揚聲器,以與用戶進行交互。在一些實施例中,每個前述的設備包括:來進行本文所描述的實施例的特徵和功能的通過總線耦合到記憶體121處理器120。在一些實施例中,每個前述的設備包括駐留在其記憶體中,並產生經由顯示器顯示給用戶的一個或多個電腦程序模組。上述各設備可具有一個天線,以無線方式通過網路150或獨立的網路150與系統100的其它組件進行通訊。
在一些實施例中,網路150可以是或者包括一個通訊網路,能夠支持一個或多個模式通訊,包括但不限於,無線、有線、和光通訊。例如,網路150可包括蜂窩電話塔或其它無線通訊基礎設施,公共交換電話網路(PSTN),有源和無源光網路,以及它們的組合。這種網路的實例可包括電腦實現的網路,如因特網,局域網(LAN),廣域網(WAN)等。
在此描述的數據庫132,134,142,143,144,和/或其他數據存儲可以是包括或接口於,例如,由Oracle公司市售的OracleTM關係數據庫。也可使用、包含,或訪問其它數據庫,如InformixTM,DB2(數據庫2)或其它數據存儲,包括基於文件、或查詢的格式,平台、或資源,例如OLAP(聯機分析處理),SQL(標準查詢語言)、SAN(存儲區域網路)、MicrosoftAccessTM或其它。數據庫可以包括駐留在一個或多個物理設備和一個或多個物理位置的一個或多個的數據庫。該數據庫可以存儲多種類型的數據和/或文件和相關聯的數據或文件的描述,行政信息,或任何其他數據。
上述說明的包含各種組件的系統100僅是示例性,不應被看作是限制性的。本文中所描述的本發明也可適用於不同的系統配置。因此,也可以在各種實現中使用和/或組合更多或更少的上述系統組件。
圖2顯示了根據本發明的一個方面,通過本地服務促進網路應用程序和本地周邊設備之間的通訊的過程200。
在圖2(以及在其它附圖)中所示各種處理操作和/或數據流程,在本文中此處有更詳細地描述。實現所描述的操作,可以使用在上面詳細描述的一些或所有系統的組件,並且在一些實施例中,各種操作可以以不同的順序來執行。附加的操作可以與所描繪的流程圖所示的一些或全部操作一起執行。一個或多個操作可以同時進行。因此,如圖(並在下面更詳細地描述)所示的操作是示例性的,因此不應該被看作是限制性的。
在操作201中,過程200可以包括識別和/或確定一個端口(例如,TCP端口),其可以被用於網路應用程序141/瀏覽器131和本地服務111之間通訊。通訊可以開始於本地服務111使用的最後已知端口。如果在註冊表中沒有存儲端口號,和/或最後已知端口號不再可用,瀏覽器131可以從預定義的端口範圍中協商一端口,以用於本地服務111通訊。例如,在預定端口範圍的開頭的第一個可用的端口可被選擇用於通訊。所選的端口號可被存儲在註冊表中。一旦端口被識別和/或確定,網路應用程序141和/或瀏覽器131可以通過識別端口發送一個或多個請求(例如,預檢跨域請求,實際跨域請求,等等)。
在操作202中,過程200可以包括接收來自瀏覽器131的預檢跨域請求。在一些實施例中,預檢請求可能導致電腦110進行確定本地服務111是否在電腦110上被正確安裝和運行。在一些實施例中,預檢請求可能導致電腦110進行確定該一個或多個周邊設備161的適當的軟體驅動程
序是否在電腦110上正確安裝並運行。
在操作203中,過程200可以包括生成和/或發送預檢跨域請求的響應給瀏覽器131。該響應可以包括該跨域請求是否可以由本地服務111提供服務的信息。例如,該響應可以包括本地服務111是否在電腦110上被正確安裝並運行的相關信息,用於一個或多個周邊設備161的一合適的軟體驅動程序是否在電腦110上被正確安裝和運行,和/或其它信息。瀏覽器131可基於從本地服務111所接收的響應,決定是否發送實際跨域請求,和/或通過操作201中所識別的端口發送跨域請求到本地服務111。
在操作204中,過程200可以包括接收來自瀏覽器131的“發送信號”請求。在操作205中,過程200可包括確定網路應用程序141/瀏覽器131是否被授權訪問本地服務111。如果網路應用程序141還未提供一個授權票據,授權票據已被提供但未能通過驗證測試,或以其他方式不可取得授權票據,過程200可以繼續進行操作206。在另一方面,如果過程200確定網路應用程序141/瀏覽器131被授權訪問本地服務111,過程200可以繼續進行操作209。
在操作206中,過程200可以包括生成一個響應,指示該訪問不能被授權(例如,HTTP狀態401,訪問被拒絕的響應)和/或授權票據是必需的。
在操作207中,過程200可以包括經由瀏覽器131發送所生成的響應給網路應用程序141,以請求一個新的授權票據。
在操作208中,過程200可包括獲得授權票據。所獲得的授權票據可以包括票據ID,可指示該授權票據應該多長時間保持有效的一個時間幀,數字簽名,和/或其他授權信息。
在操作209中,過程200可包括獲得源自網路應用程序141的跨域請求。在一些實施例中,跨域請求可以包括在一個本地周邊設備161上執行的一個或多個功能。在跨域請求中定義的該一個或多個功能可以包括提取、插入、修改、刪除或以其他方式訪問數據,該數據可與本地周邊設備161相關聯和/或可以存儲在耦合到該至少一個本地周邊設備161上的數據存儲,和/或其他功能。在一個例子中,當用戶經由瀏覽器131,將從特定的醫療周邊設備161通過點擊或以其他方式選擇由網路應用程序141提供的網路上顯示的GUI按鈕而選擇“進行測量”,請求處理模組114可以由瀏覽器131得到一跨域請求,該跨域請求中定義的一個或多個功能包括訪問和/或取得醫療周邊設備設備161的測量數據。
在操作210中,過程200可以包括驗證基於授權票據的跨域請求。跨域請求可以與票據ID、簽名、時間標記和/或其他授權信息相關聯。例如,時間標記可以指示跨域請求被生成和/或發送給本地服務111的日期和時間信息。過程200可以包括識別一個簽署票據(例如,存儲在票據數據庫132中),其對應於與跨域請求相關的票據ID。過程200可以驗證該時間標記落在指定和/或與簽署票據
相關聯的時間範圍內。驗證跨域請求可以和簽署的授權票據中指定和/或相關聯的簽名相對比。例如,跨域請求相關聯的簽名可以和簽署的授權票據的簽名進行比較,以確定它們是否匹配。
如果授權票據尚未由網路應用程序141提供,它已被提供但未能通過驗證測試,或因其他原因不可用,過程200可以返回到操作206。驗證後,過程200可以進行到操作211。
在操作211中,過程200可以包括執行在本地周邊設備161上跨域請求中定義的一個或多個功能。例如,過程200可以從醫療周邊設備161和/或耦合到醫療周邊設備161的一個數據存儲取得和/或獲得所需的測量數據。例如,過程200可以從一個血壓監測設備取得和/或獲得血壓數據。所獲得的測量數據可以通過瀏覽器131發送到網路應用程序141,和/或存儲在周邊設備的內容數據庫143和/或其他數據庫144中。
圖3顯示了根據本發明的一個方面,用於促進網路應用程序、瀏覽器、以及一個本地服務之間通訊的系統的數據流程圖。
網路應用程序141可以提供一可以由用戶通過瀏覽器131來訪問的網頁。例如,用戶可以與伺服器101交互,其交互通過經由電腦110的瀏覽器131訪問網頁。
在一些實施例中,網路應用程序141可以發起與本地服務111的通訊,以獲得與一個或多個本地周邊設備161
相關聯的數據。例如,當經由瀏覽器131訪問網路應用程序141時,用戶可以選擇從特定的醫療周邊設備161通過點擊或以其他方式選擇由網路應用程序141提供的網頁上顯示的一個或多個圖形用戶界面(GUI)元素(GUI按鈕)而“進行測量”。這可能會導致瀏覽器131向本地服務111發送一個跨域請求。瀏覽器131(例如,一個具有CORS功能的瀏覽器和/或能夠處理跨域請求的其他瀏覽器)可以向本地服務111發送跨域請求,該本地服務111駐留在一個域中,該域不同於用CORS技術和/或其它類似的技術為網路應用程序141提供服務的域,此對本領域技術人員是顯而易見的。
在一些實施例中,在發送實際跨域請求之前,瀏覽器131可以向本地服務111發送一個預檢跨域請求。瀏覽器131可以使用CORS技術和/或其它類似的技術向本地服務111發送該預檢請求,此對本領域技術人員是顯而易見的。在一些實施例中,該預檢請求可造成電腦110判斷是否在電腦110上被正確安裝和運行了本地服務111。在一些實施例中,該預檢請求可造成電腦110判斷是否用於一個或多個周邊設備161的適當的軟體驅動程序在電腦110上被正確安裝和運行。
在一些實施例中,本地服務111可經由瀏覽器131生成和/或發送預檢跨域請求的響應。該響應可以包括該跨域請求是否可以由本地服務111提供服務的信息。例如,該響應可以包括本地服務111是否在電腦110上被正確安
裝並運行,用於一個或多個周邊設備161的一合適的軟體驅動程序是否在電腦110上被正確安裝和運行的相關信息,和/或其它信息。瀏覽器131可基於從本地服務111所接收的響應,決定是否發送實際跨域請求,和/或發送跨域請求到本地服務111。
在一些實施例中,為了驗證本地服務111所收的請求,可以使用授權票據。例如,本地服務111可以使用授權票據來向本地服務111驗證網路應用程序141(和/或源自網路應用程序141的請求和/或向本地服務111提出的請求)。如果該請求基於一適當授權票據被驗證,該請求可以被授權提交給本地服務111。
在一些實施例中,瀏覽器131可以“發送信號”(ping)給本地服務111。發送信號請求可能會導致本地服務111判斷網路應用程序141/瀏覽器131是否被授權訪問本地服務111。如果網路應用程序141還未提供一個授權票據,授權票據已被提供但未能通過驗證測試,或以其他方式不可取得授權票據,本地服務111可經配置以產生一個響應,以指示該訪問不能被授權(例如,HTTP狀態401,訪問被拒絕的響應)和/或授權票據是必需的。票據模組113可經由瀏覽器131發送所生成的響應給網路應用程序141,以請求一個新授權票據。
在一些實施例中,網路應用程序141可以生成一個授權票據和/或存儲該票據於票據數據庫142和/或其它數據庫144中。網路應用程序141可以發送包括票據信息的
授權票據給本地服務111。例如,票據信息可以包括時間幀(例如,開始時間和結束時間),以指示票據應該多長時間保持有效。本地服務111,在收到票據和/或票據信息時,可以通過給授權票據分配票據ID(例如,全局唯一標識符(GUID)),以認證該票據。在一些實施例中,票據ID可與生成該票據ID的本地服務111,和/或本地服務111安裝於其上的電腦110有關。
在一些實施例中,本地服務111可以向網路應用程序141返回包括票據認證信息的認證票據,其中票據認證信息可以包括與授權票據相關的票據ID和/或指示票據應該多久保持有效的時間幀。在一些實施例中,網路應用程序141可判斷該票據ID是否是有效的(例如,該GUID不是“空”GUID)。網路應用程序141可確定返回的票據認證中顯示的時間幀是否與發送的票據信息所顯示的時間幀相匹配。這可以防止攻擊者把時間幀的範圍改變的比預期的範圍更廣泛。
在一些實施例中,網路應用程序141可以基於該票據認證,簽署該票據。該票據(例如,存儲在票據數據庫142)可更新簽名和/或作為有效的票據保存。網路應用程序141可經由瀏覽器131發送回簽署票據給本地服務111。在一些實施例中,簽名可以包括數字簽名,可用於驗證該票據是由被授權的程序所創建和/或可被用於登錄的密碼(如票據ID)。所簽署的票據可以包括簽名、票據ID、時間幀的信息、和/或其它信息。在一些實施例中,瀏覽
器131可以把簽署的票據的備份存儲在本地存儲中。
作為對從網路應用程序141接收的簽署票據的響應,本地服務111可以被配置為驗證、確認、和/或存儲簽署票據於數據庫132中,和/或其它數據庫134中。例如,本地服務111可查票據ID和時間幀,以確認它們和簽署票據的相應信息匹配。
在一些實施例中,瀏覽器131可以向本地服務111發送該跨域請求。在一些實施例中,瀏覽器131可以基於該預檢跨域請求(例如,實際跨域請求),發送跨域請求。
在一些實施例中,本地服務111可以被配置為可以基於授權票據來驗證跨域請求。跨域請求可以與票據ID、簽名、時間標記和/或其他授權信息相關聯。例如,時間標記可以指示跨域請求被生成和/或發送給本地服務111的日期和時間信息。本地服務111可以識別一個簽署票據(例如,存儲在票據數據庫132中),其對應於與跨域請求相關的票據ID。本地服務111可以驗證該時間標記落在指定和/或與簽署票據相關聯的時間範圍內。驗證跨域請求可以和簽署的授權票據中指定和/或相關聯的簽名相對比。例如,跨域請求相關聯的簽名可以和簽署的授權票據的簽名進行比較,以確定它們是否匹配。
在一些實施例中,如果該授權票據尚未由網路應用程序141提供,它已被提供但未能通過驗證測試,或因其他原因不可用,本地服務111可以請求來自網路應用程序141的新授權票據。一旦被驗證,跨域請求和/或在請求中定
義的一個或多個功能,可以由本地服務111提供服務和/或處理。
在一些實施例中,跨域請求可以包括在一個或多個本地周邊設備161中執行的一個或多個功能。跨域請求中定義的一個或多個功能可以包括提取、插入、修改、刪除或以其他方式訪問數據,該數據可與一個或多個本地周邊設備161中的至少一個相關聯和/或可存儲在耦合到一個或多個本地周邊設備161中的至少一個的數據存儲中,和/或其它功能。在一個例子中,當用戶經由瀏覽器131,將從特定的醫療周邊設備161通過點擊或以其他方式選擇由網路應用程序141提供的網路上顯示的GUI按鈕而“進行測量”,本地服務111可以由瀏覽器131得到一跨域請求,該跨域請求中定義的一個或多個功能包括訪問和/或取得醫療周邊設備設備161的測量數據。用戶可使用醫療周邊設備161來進行測量。例如,用戶可以使用血壓監測設備測量血壓。
在一些實施例中,響應於跨域請求,本地服務111可以從一個或多個醫療周邊設備設備161和/或耦合到一個或多個醫療周邊設備設備161的一個數據存儲中提取和/或獲得請求的測量數據。例如,本地服務111可以從所述的血壓監測設備提取和/或獲得血壓數據。所獲得的測量數據可以通過瀏覽器131發送到網路應用程序141和/或存儲在周邊設備的內容數據庫143中和/或其他數據庫144中。
圖4根據本發明的一個方面,顯示了用於起始一跨域請求以從一外圍醫療設備獲取測量數據的一界面屏幕截圖。在圖4和其它附圖中所示的屏幕截圖僅用於說明的目的。各種部件可以被添加、刪除、移動、或以其他方式改變,使得屏幕截圖的配置、外觀和/或內容可能與圖中所示的不同。因此,如圖(並在下面更詳細地描述)的圖形用戶界面的對象是示例性的,因此,不應該被看作是限制性。
本文中所描述的界面400和其它界面,可被實現為從伺服器101傳送到客戶端的一網頁,一應用程序,例如在接收和生成界面的客戶端基於伺服器101通訊的信息,而執行的一個移動應用程序,和/或其它界面。無論何類型的界面被使用,伺服器101可以將與界面相關的數據和/或格式化指令通訊給客戶,導致客戶端產生如圖4和其它附圖中所示的各種界面。進一步,伺服器101可以通過各種界面從客戶端獲取數據,如通常所知。
參照圖4,網路應用程序141可以提供可經由瀏覽器131進行訪問的界面400。界面400可以包括圖形用戶界面GUI元素410,420,和/或430,當其被點擊、按壓、或以其他方式選擇的時,可會導致瀏覽器131發送一個跨域請求到本地服務111。在一些實施例中,跨域請求可以包括從一個或多個醫療周邊設備161A、161B、...、161N獲取測量數據的請求。例如,用戶可以選擇從醫療周邊設備161A通過點擊或以其他方式選擇包括在界面400中的GUI
元素410,而“進行測量”。用戶可以使用醫療周邊設備161A進行測量。例如,用戶可以使用血壓監測設備測量血壓。
響應於跨域請求,所請求的測量數據可以從醫療周邊設備設備161A和/或耦合到醫療周邊設備設備161A的一個數據存儲中取得。例如,本地服務111可以從所述的血壓監測設備提取和/或獲得血壓數據。所獲得的測量數據可以通過瀏覽器131發送到網路應用程序141,和/或存儲在周邊設備的內容數據庫143中和/或其他數據庫144中。
本文中所描述的各種用戶界面組件可以包括硬按鈕(如機械)或軟按鈕(例如,觸摸屏或觸摸墊),文本輸入,圖標,選擇列表,和/或其它可以用於接收輸入和/或提供輸出的用戶界面對象。如本文所用,術語“選擇”,“進行選擇”,“被選擇的”,“選擇的”,“操縱”,“操縱的”等相對於用戶界面組件或部件,可以包括,例如,按下一硬按鈕或軟按鈕、點擊、高亮、懸停、或以其他方式表示執行與所選擇的用戶界面組件相關的一個或多個功能。
在附圖中,相同的標號表示等效的元件或特徵。本發明的其它實施例,用途和優點將是本領域技術人員考慮到本文揭露說明書和實踐中顯而易見的。本說明書應僅視為示例性,並且本發明的範圍相應地意在由所附申請專利範圍限定。
100‧‧‧系統
101‧‧‧伺服器
110‧‧‧電腦
111‧‧‧本地服務
112‧‧‧預請求模組
113‧‧‧票據模組
114‧‧‧請求處理模組
119‧‧‧其他模組
120‧‧‧處理器
121‧‧‧記憶體
122‧‧‧處理器
123‧‧‧記憶體
131‧‧‧瀏覽器
132‧‧‧數據庫
134‧‧‧其它數據庫
141‧‧‧網路應用程序
142‧‧‧票據數據庫
143‧‧‧周邊設備內容數據庫
144‧‧‧其它數據庫
150‧‧‧網路
161A‧‧‧本地周邊設備
161B‧‧‧本地周邊設備
161N‧‧‧本地周邊設備
Claims (10)
- 一種促進網路應用程序和本地周邊設備之間通過本地服務通訊的系統,包括:一電腦設備,包括:一瀏覽器,其被配置為經由通訊網路訪問一網路應用程序;一本地服務,其被配置為與本地連接到電腦設備的一個或多個周邊設備進行通訊,該本地服務包括一個或多個電腦程序模組;以及一個或多個處理器,其由該一個或多個電腦程序模組編程,該一個或多個電腦程序模組包括:一個請求處理模組,其被配置為:接收來自瀏覽器的跨域請求,該跨域請求包括一個或多個功能,其可在該一個或多個周邊設備中的至少一個上執行;以及在該一個或多個周邊設備中的至少一個上執行該一個或多個功能。
- 如請求項1的系統,其中,該一個或多個電腦程序模組還包括:一票據模組,其被配置為:獲得一授權票據,其驗證對本地服務的請求,其中該授權票據包括一個時間幀來指示該授權票據有多長時間保持有效,還包括由該網路應用程序所提供的簽名;和該請求處理模組還被配置為:基於該授權票據確定是否對該跨域請求提供服務;和基於確定該跨域請求應當被提供服務,在該一個或多個周邊設備中的至少一個上執行該一個或多個功能。
- 如請求項1的系統,其中,該一個或多個電腦程序模組還包括:一預請求模組,其被配置為:識別一端口,用於在該瀏覽器和該本地服務之間的通訊;和通過所識別的端口接收跨域請求。
- 如請求項1的系統,其中,該一個或多個電腦程序模組還包括:一預請求模組,其被配置為: 在接收跨域請求之前,從該瀏覽器接收預檢跨域請求;在接收到該預檢跨域請求時,確認(a)本地服務是否在該電腦設備上被正確安裝和運行,和(b)用於該一個或多個周邊設備中的至少一個上的一合適軟體驅動程序是否在該電腦設備上被正確安裝和運行;和基於該確認,向該瀏覽器發送對該預檢跨域請求的響應,其中該響應包括該跨域請求是否可以由該本地服務提供服務的信息,在此基礎上,該瀏覽器判斷是否可以將該跨域請求發送到該本地服務。
- 一種在電腦中執行的方法,該電腦包括一個或多個處理器經配置以執行一個或多個電腦程序指令,該方法包括以下步驟:在接收一個跨域請求之前,在本地服務從一瀏覽器接收到預檢跨域請求;確認該跨域請求是否可以由該本地服務提供服務;基於該確認,生成對該預檢跨域請求的響應;接收來自該瀏覽器的跨域請求,該跨域請求包括可以在本地連接的周邊設備上被執行的一個或多個功能;以及 在本地連接的周邊設備上執行該一個或多個功能。
- 如請求項5的方法,其中,該方法還包括:識別一個端口,用於在該瀏覽器和該本地服務之間的通訊,其中該跨域請求通過該識別端口被接收。
- 如請求項5的方法,其中,該一個或多個功能包括從本地連接的周邊設備中提取內容,該方法還包括:從本地連接的周邊設備中獲得該內容。
- 一種網路伺服器,其被配置為提供包括一個或多個GUI對象的一網路應用程序,該一個或多個GUI對象當與使用一電腦設備上運行的一瀏覽器的用戶相交互時,導致該瀏覽器產生一跨域請求,其包括一個或多個功能,將在本地連接到該電腦設備的一個周邊設備上執行;該網路伺服器包括:一個或多個處理器,其被配置為:提供通過瀏覽器可訪問的網路應用程序,其中該網路應用程序包括GUI對象,當與使用瀏覽器的用戶交互時,使得電腦設備上運行的本地應用程序在本地連接到電腦設備上的一個周邊設備上執行一個或多個功能; 檢測通過使用瀏覽器的用戶與GUI對象的交互的時間;以及在檢測得到時,導致瀏覽器產生該跨域請求,其中該跨域請求包括將在該周邊設備上執行的一個或多個功能。
- 一種在電腦中執行的方法,該電腦包括經配置以執行一個或多個電腦程序指令的一個或多個處理器,該方法包括以下步驟:提供一網路應用程序,其可以通過在電腦設備上運行的瀏覽器訪問,其中該網路應用程序包括GUI對象,當其和使用瀏覽器的用戶交互時,使得電腦設備上運行的本地應用程序,在本地連接到電腦設備上的一個周邊設備上執行一個或多個功能;檢測通過使用瀏覽器的用戶與GUI對象的交互的時間;以及在檢測得到時,導致瀏覽器產生該跨域請求,其中該跨域請求包括將在該周邊設備上執行的一個或多個功能。
- 種存儲電腦可讀指令的非暫時性電腦可讀介質,當由一個或多個處理器執行時,使得電腦設備執行以下操作:由一個請求處理模組接收來自瀏覽器的跨域請求,該跨域請求包括一個請求,以便從在本地連接到電腦設備的一醫療周邊設備上獲得測量數據; 由該請求處理模組從該醫療周邊設備獲得該測量數據;以及由該請求處理模組發送所獲得的測量數據到該瀏覽器。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US14/083,840 US20150143467A1 (en) | 2013-11-19 | 2013-11-19 | System and method for facilitating communication between a web application and a local peripheral device through a native service |
Publications (1)
Publication Number | Publication Date |
---|---|
TW201528745A true TW201528745A (zh) | 2015-07-16 |
Family
ID=53174663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW103140034A TW201528745A (zh) | 2013-11-19 | 2014-11-19 | 促進網路應用程序和本地周邊設備之間通過本地服務通訊的系統及方法 |
Country Status (3)
Country | Link |
---|---|
US (1) | US20150143467A1 (zh) |
TW (1) | TW201528745A (zh) |
WO (1) | WO2015077316A1 (zh) |
Families Citing this family (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10148495B1 (en) * | 2014-06-09 | 2018-12-04 | Amazon Technologies, Inc. | Remote configuration of wireless devices |
US10541987B2 (en) * | 2016-02-26 | 2020-01-21 | Tandem Diabetes Care, Inc. | Web browser-based device communication workflow |
UY37176A (es) | 2016-03-30 | 2017-10-31 | Convatec Technologies Inc | Apósitos modificados para heridas |
EP3550460B1 (en) * | 2016-11-30 | 2021-09-29 | Canon Denshi Kabushiki Kaisha | Information processing device, control method therefore, program, and information processing system |
EP4271018A3 (en) * | 2017-06-15 | 2024-02-14 | Baxter Healthcare Sa | A dialysis machine, external medical equipment and methods for establishing secure communication between a dialysis machine and external medical equipment |
US10637930B2 (en) | 2017-08-14 | 2020-04-28 | Foundry Health | System for integrating a detectable medical module |
CN108289100B (zh) * | 2018-01-25 | 2019-11-12 | 北京深思数盾科技股份有限公司 | 一种安全访问方法、终端设备及系统 |
US10805246B1 (en) | 2019-06-12 | 2020-10-13 | International Business Machines Corporation | Direct communication between a secure application and a local application running on the same device |
CN113395278B (zh) * | 2021-06-10 | 2022-10-18 | 北京顶象技术有限公司 | BurpSuite抓包工具抓取数据包检测方法和系统 |
US11968310B2 (en) | 2021-07-23 | 2024-04-23 | Blackberry Limited | Method and system for providing data security for micro-services across domains |
US12013957B2 (en) * | 2021-07-23 | 2024-06-18 | Blackberry Limited | Method and system for indirect sharing of sensor insights |
US11962695B2 (en) * | 2021-07-23 | 2024-04-16 | Blackberry Limited | Method and system for sharing sensor insights based on application requests |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1383575A4 (en) * | 2001-03-28 | 2010-01-20 | Televital Inc | SYSTEM AND METHOD FOR REAL-TIME MONITORING, INVESTIGATION, ANALYSIS, RECOVERY AND STORAGE OF PHYSIOLOGICAL DATA OVER A WIDE-FUTURE NETWORK (WAN) |
US8015972B2 (en) * | 2006-01-03 | 2011-09-13 | Shahzad Pirzada | System, device and process for remotely controlling a medical device |
US8323189B2 (en) * | 2006-05-12 | 2012-12-04 | Bao Tran | Health monitoring appliance |
US8572675B2 (en) * | 2009-04-03 | 2013-10-29 | The Boeing Company | System and method for facilitating the provision of web services across different internet security domains |
US9459936B2 (en) * | 2009-05-01 | 2016-10-04 | Kaazing Corporation | Enterprise client-server system and methods of providing web application support through distributed emulation of websocket communications |
EP4053760A1 (en) * | 2010-04-09 | 2022-09-07 | Zoll Medical Corporation | Systems and methods for ems device communications interface |
US8326056B2 (en) * | 2010-06-16 | 2012-12-04 | Microsoft Corporation | Cross-domain browser pre-fetching through data transcoding |
-
2013
- 2013-11-19 US US14/083,840 patent/US20150143467A1/en not_active Abandoned
-
2014
- 2014-11-19 TW TW103140034A patent/TW201528745A/zh unknown
- 2014-11-19 WO PCT/US2014/066372 patent/WO2015077316A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2015077316A1 (en) | 2015-05-28 |
US20150143467A1 (en) | 2015-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW201528745A (zh) | 促進網路應用程序和本地周邊設備之間通過本地服務通訊的系統及方法 | |
US9426156B2 (en) | System and method for facilitating federated user provisioning through a cloud-based system | |
US11019103B2 (en) | Managing security agents in a distributed environment | |
CN114726621B (zh) | 用于最终用户启动的访问服务器真实性检查的方法和系统 | |
CN105659557B (zh) | 用于单点登录的基于网络的接口集成的方法和系统 | |
US10257205B2 (en) | Techniques for authentication level step-down | |
WO2016127797A1 (zh) | 用户信息获取方法、装置及服务器 | |
US11552798B2 (en) | Method and system for authenticating a secure credential transfer to a device | |
CN103455749B (zh) | 协作系统、其协作方法以及信息处理系统 | |
US20180218121A1 (en) | System and Method for Online Identity Management | |
KR20180048600A (ko) | 법률 서면을 전자적으로 제공하는 시스템 및 방법 | |
CN104574101B (zh) | 一种用于验证电子券的方法、设备与系统 | |
TW201523318A (zh) | 生物資料辨識設備、系統、方法及電腦可讀取式媒體 | |
US12001394B1 (en) | User programmatic interface for supporting data access control in a database system | |
EP3785408B1 (en) | Auto-form fill based website authentication | |
JP2011507059A (ja) | ウェブ・ページへデータを入力するための方法およびシステム | |
US9870447B2 (en) | Medical data transfer component | |
US10021082B2 (en) | Integration of form and file services | |
US9326140B2 (en) | Method and system for implementing an advanced mobile authentication solution | |
US20170054699A1 (en) | Information processing apparatus, information processing method, program, storage medium, and password entry apparatus | |
CN111652625B (zh) | 认证方法及装置、电子设备、计算机可读存储介质 | |
US20210158910A1 (en) | Providing Secure and Seamless Authentication and Workflow for Medical Records and Affiliated Systems | |
TW201528169A (zh) | 用於在受監管的醫療應用程序與未受監管的非醫療應用程序之間提供分隔邊界的系統和方法 | |
JP5770354B1 (ja) | サーバシステム及びリクエスト実行制御方法 | |
CN109729214B (zh) | 一种负一屏显示、认证方法和设备及装置 |