TWI381314B - 中介軟體橋接系統及方法 - Google Patents
中介軟體橋接系統及方法 Download PDFInfo
- Publication number
- TWI381314B TWI381314B TW097132488A TW97132488A TWI381314B TW I381314 B TWI381314 B TW I381314B TW 097132488 A TW097132488 A TW 097132488A TW 97132488 A TW97132488 A TW 97132488A TW I381314 B TWI381314 B TW I381314B
- Authority
- TW
- Taiwan
- Prior art keywords
- space
- function
- core
- call
- bridging
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Telephonic Communication Services (AREA)
- Computer And Data Communications (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Description
本發明關於一種中介軟體橋接系統及方法,尤指一用於支援自一核心空間模組使用一使用者空間中介軟體的一中介軟體橋接系統。
中介軟體為一種在Linux式作業系統中使用的支援軟體,其用於支援應用系統的開發。
但是,該中介軟體通常用於使用者空間中。例如,高可用性(HA,“High Availability”)中介軟體係用於使用者空間中,以支援用於Linux式作業系統的一高可用性功能,其提供一高速、穩定及連續的網路通訊。其中,HA中介軟體係可被建造成為具有服務可用性論壇(SA“Service Availability”Forum)所建立的AIS(應用介面規格,”Application Interface Specification”)標準之形式。
一些核心空間模組,例如第2層HA(高可用性)網路通訊模組,其不能直接使用HA中介軟體。來自該核心空間模組的功能呼叫請求必須轉換成一使用者空間可支援的命令,然後傳送到HA中介軟體。因此,該核心空間模組與HA中介軟體之間的通訊往來是不方便而且複雜的。
該核心空間模組必須針對每個特定模組及中介軟體採用特定的橋接系統來進行開發,其並不方便且浪費許多成本去針對每個核心空間模組與中介軟體來開發特定的橋接系統。
本發明之目的、精神及優點將可藉由以下的詳細說
明而易於瞭解。
本發明為關於一種中介軟體的橋接系統與方法,其係用於橋接核心空間模組與使用者空間中介軟體,且更進一步延伸一使用者空間中介軟體的支援到一核心空間模組之中。
本發明之一具體實施例提供一中介軟體橋接系統,用於橋接一核心空間模組與具有一使用者空間介面之一使用者空間中介軟體,其包含:一核心空間橋接管理器,用於提供一核心空間介面以接收來自該核心空間模組的功能呼叫請求;一使用者空間橋接管理器,用於經由該使用者空間介面橋接關於該功能呼叫請求的一功能呼叫以帶至該使用者空間中介軟體,並接收來自該使用者空間中介軟體之傳回資料;其中該核心空間介面的結構與該使用者空間介面的結構相同。
本發明之具體實施例亦提供一中介軟體橋接方法,用於橋接一核心空間模組與具有一使用者空間介面之一使用者空間中介軟體,其包含以下步驟:模擬該使用者空間介面成為在核心空間中的一核心空間介面;經由該核心空間介面接收來自該核心空間模組的一功能呼叫請求;經由該使用者空間介面橋接關於該功能呼叫請求的一功能呼叫以帶至該使用者空間中介軟體;經由該使用者空間介面接收來自該使用者空間中介軟體的一傳回資料;且經由該核心空間介面傳送該傳回資料到該核心空間模組。
本發明提供一種程式開發者的環境以便在核心空
間模組中能良好地使用該中介軟體,並對於多個核心空間模組之應用情境提供一通用解決方案。
本發明係用於擴充在使用者空間中之中介軟體的功能,可用於在Linux式作業系統之下的核心空間模組。本發明包括一種中介軟體橋接系統,用於橋接該核心空間模組與使用者空間中介軟體,藉此延伸一使用者空間中介軟體的支援到一核心空間模組之中。
在本發明一具體實施例中,該中介軟體橋接系統係用於做為一HA(高可用性)中介軟體的代理者,其中HA中介軟體經由API(應用程式介面)提供相對功能或服務,其可符合由SA論壇所建立的AIS(應用介面規格)標準。但是,HA中介軟體的標準並非實施本發明的限制。
請參照第一圖,所示為在本發明一具體實施例中之一中介軟體橋接系統10的系統架構。中介軟體橋接系統10係用來橋接一使用者空間HA(高可用性)中介軟體20,以便能於核心空間中來使用。中介軟體橋接系統10包括一核心空間橋接管理器11,用於接收來自複數個核心空間HA模組30之功能呼叫請求,及一使用者空間橋接管理器12,用於經由一使用者空間API 21向一HA中介軟體20叫喚引發有關於該功能呼叫請求的功能呼叫,以在該使用者空間中執行相對應功能。
在HA中介軟體20執行相對應功能之後,使用者空間橋接管理器12接收由HA中介軟體20執行後之一傳回資料,並傳到核心空間橋接管理器11,然後核心空間
橋接管理器11傳送該傳回資料到核心空間HA模組30。
請參照第二圖,所示為在本發明一具體實施例中之中介軟體橋接系統10的功能方塊圖。核心空間橋接管理器11負責傳送來自核心空間HA模組30之功能呼叫請求到使用者空間橋接管理器12,並傳送其傳回資料到核心空間HA模組30,其包括具有一核心空間API 112之一核心空間介面模組111、一核心空間前攝器(Proactor)113、一請求處理器114及一核心空間資料傳遞器115。
核心空間介面模組111接收來自核心空間模組30的功能呼叫請求,並包含核心空間API 112做為一虛擬介面來為核心空間HA模組30模擬成使用者空間API 21,藉此提供與使用者空間API 21相同的功能給核心空間HA模組30。核心空間介面模組111包括了一群對應於HA中介軟體20所支援之各個API功能的虛擬功能函式,且每個虛擬功能函式在經由核心空間API 112接收到功能呼叫請求時,會解譯其中的每個變數,這些變數可以是直接數值或是指示一間接數值的指標。其中,核心空間API 112之結構與使用者空間API 21之結構是相同的。然後,該等虛擬功能函式取得關於該功能呼叫請求之必要資料,然後傳送到核心空間前攝器113或是當核心空間前攝器113不存在時即傳送到請求處理器114。再者,當核心空間介面模組111得到傳回資料傳回時,會經由核心空間API 112傳送該傳回資料到核心空間HA模組30。
核心空間前攝器113係用於決定如何處理所收到之功能呼叫請求。當已經存在有該功能呼叫請求已預先透過前攝處理而得到的傳回資料時,則由該核心空間前攝
器113直接去處理該功能呼叫請求;或是如果該功能呼叫請求需要在HA中介軟體20中被處理時,即傳送該功能呼叫請求到請求處理器114。請求處理器114係用於收集來自複數個核心空間HA模組30之功能呼叫請求以形成為呼叫資料而置於呼叫佇列中,並以聚集或快取的方式傳送該呼叫資料。再者,請求處理器114傳送所收到的傳回資料到核心空間介面模組111。核心空間資料傳遞器115係位於核心空間中負責中介軟體橋接系統10的內部通訊,例如傳送其呼叫資料或接收傳回資料。
使用者空間橋接管理器12係用於管理及處理其呼叫資料,提供功能呼叫給HA中介軟體20、並傳送傳回資料回到核心空間橋接管理器11。其中,使用者空間橋接管理器12包括一使用者空間資料傳遞器121、一呼叫代理員122、一回呼功能(Callback)管理器123及一使用者空間前攝器124。
使用者空間資料傳遞器121係位於使用者空間中負責中介軟體橋接系統10的內部通訊,例如接收其呼叫資料或傳送傳回資料。呼叫代理員122用於分析及辨識其呼叫資料,以一末端使用者的角色向HA中介軟體20進行該呼叫資料中所含的功能呼叫,並接收來自HA中介軟體20之傳回資料。回呼功能管理器123負責回呼功能函式之處理,其包括一虛擬回呼代理機制,會以一虛擬的回呼函式來註冊。當一回呼功能函式呼叫被HA中介軟體20所叫用時,該虛擬回呼代理機制將被觸發而會要求核心空間資料傳遞器115去找尋真正擁有該回呼功能函式之對應的核心空間HA模組30來執行它。使用者空間前攝器124用於事先進行一功能函式的預呼
叫,並傳送該傳回資料給核心空間橋接管理器11。
中介軟體橋接系統10另包括一前攝性機制,以對一些持續地被執行以獲得或參照資料之功能呼叫予以前攝性的程序處理,藉以改善中介軟體橋接系統10之效率,並減少核心空間橋接管理器11與使用者空間橋接管理器12之間的通訊。該前攝性機制包含核心空間前攝器113、使用者空間前攝器124、一規則表13及一前攝性資訊資料庫14。其中,規則表13及前攝性資訊資料庫14皆具有兩個部份,分別在使用者空間與核心空間中。
該前攝性機制在核心空間HA模組30傳送某些功能呼叫請求之前,可事先或主動地叫用功能呼叫,並儲存該執行結果的傳回資料成為前攝性資訊資料庫14中的前攝性資訊。如此,當核心空間HA模組30送出該功能呼叫請求時,核心空間前攝器113可立即回答來自核心空間HA模組30之功能呼叫請求,而不需藉助及等待使用者空間管理器12及HA中介軟體20之處理。
該前攝性機制係基於預先定義的規則表13來運作運作的。核心空間前攝器113在當接收來自核心空間HA模組30的功能呼叫請求時,首先查看該功能呼叫請求是否在前攝性資訊資料庫14中具有一相對應的前攝性資訊,然後根據規則表13決定是否要傳回該前攝性資訊或繼續地傳送及橋接該功能呼叫請求到使用者空間橋接管理器12。其中,適用於前攝性處理之功能呼叫請求通常是有關於對系統資料去Get/Read之類型的功能函式,且該資料必須是持久、被保留、穩定或固定的。
當該等功能呼叫請求是重複時,核心空間前攝器113會
自動進行一循環式的呼叫,以確保可取得最新的資料。因而,該前攝性處理可有效率地提供一精確的資料結果。
因此,在核心空間橋接管理器11的程序步驟中,核心空間介面模組111首先接收來自核心空間HA模組30之功能呼叫請求,然後核心空間前攝器113檢查關於該功能呼叫請求之前攝性資訊是否已經儲存在前攝性資訊資料庫14中。如果該前攝性資訊為存在並且有效,則核心空間前攝器113傳送該前攝性資訊做為一傳回資料給核心空間HA模組30,否則核心空間前攝器113傳送該功能呼叫請求到請求處理器114。請求處理器114包裝該功能呼叫請求成為一呼叫資料,並傳送該呼叫資料到核心空間資料傳遞器115。因此,核心空間資料傳遞器115可傳送該呼叫資料到使用者空間橋接管理器12。
在接下來的程序中,使用者空間資料傳遞器121用來接收來自核心空間資料傳遞器115之呼叫資料,並傳送該呼叫資料到呼叫代理員122,使呼叫代理員122可檢查在該呼叫資料中的功能呼叫請求。如果該功能呼叫請求是有關於一回呼函式的註冊功能時,呼叫代理員122便傳送該功能呼叫請求到回呼功能管理器123,否則呼叫代理員122會經由使用者空間API 21將該功能呼叫請求的功能呼叫帶給HA中介軟體20。在將該功能呼叫帶給HA中介軟體20之後,呼叫代理員122會接收來自HA中介軟體之傳回資料,並經由使用者空間資料傳遞器121傳送該傳回資料到核心空間橋接管理器11。然後,核心空間橋接管理器11會傳送該接收的傳回資料
給核心空間HA模組30。
如果回呼功能管理器123接收關於一回呼函式註冊功能的功能呼叫請求時,回呼功能管理器123會藉由虛擬回呼代理機制向HA中介軟體20註冊一個相對於該功能呼叫請求之虛擬回呼功能函式。當HA中介軟體20引發叫喚一回呼功能函式時,該虛擬回呼代理機制會負責尋找真正的目標核心空間HA模組30,並傳送此一回呼功能函式之呼叫請求給該目標核心空間HA模組30。然後,該目標核心空間HA模組30就執行關於該回呼功能函式呼叫請求的回呼功能函式,並傳送一傳回資料到回呼功能管理器123,然後再到HA中介軟體20。
中介軟體橋接系統10之前攝性機制具有兩種具體實施例,可為一核心應用請求者型式或為或一HA中介軟體請求者型式,以分別處理來自核心空間HA模組30與HA中介軟體20之功能呼叫請求。請參照第三圖,所示為核心應用請求者型式的系統架構,其中使用者空間前攝器124會進行預呼叫或主動循環呼叫來獲得包括來自HA中介軟體20之傳回資料的前攝性資訊給核心空間前攝器113。再者,使用者空間前攝器124可利用快取的方式運作,以比較目前取得的資料與先前取得的資料之間是否有差異。如果目前取得的資料與先前取得的資料之間沒有差異,則使用者空間前攝器124不需要傳送目前取得的資料到核心空間前攝器113。核心空間前攝器113當接收來自核心空間HA模組30的一功能呼叫請求時,首先檢查前攝性資訊資料庫14。如果該傳回資料已儲存在前攝性資訊資料庫14中,核心空間前攝器113可藉由傳送該儲存的傳回資料來回答該功能呼叫請
求,而不需要對使用者空間前攝器124要求任何資訊。因此,於使用者空間前攝器124與核心空間前攝器113之間的傳送次數可以減少,並可加速反應時間。
大部份而言,功能呼叫請求是由核心空間HA模組30所發起的。但是,HA中介軟體20有時候需要產生功能呼叫請求給核心空間HA模組30,例如回呼功能函式,以詢問核心空間HA模組30之狀態。請參照第四圖,所示為HA中介軟體請求者型式之系統架構,其中核心空間前攝器113會進行預呼叫或主動循環呼叫,以取得包括來自核心空間HA模組30之傳回資料的前攝性資訊給使用者空間前攝器124。再者,核心空間前攝器113可使用快取方法來改善該前攝性機制的效率。
再者,該前攝性機制可安排用在特定HA中介軟體中的服務,例如可用性服務(Availability Service),叢集會員服務(CLM,“Cluster Membership Service”)。特別是,該等服務中的一些功能係用於檢查HA中介軟體20所提供之狀態或資料,例如在可用性服務中Get HA State及Get Component Readiness State功能,或是CLM服務中的Get Membership功能。舉例而言,透過Get Membership功能可取得叢集成員資訊,其描述該叢集中每個節點中的狀態,所以,當有複數個核心空間HA模組30以Get Membership功能來持續地檢查所有叢集成員的資訊時,它們所取得的所有傳回資料必定是都相同的。因此,核心空間前攝器113可做為一代理者(Proxy)角色來分享相同的資訊給所有核心空間HA模組30,如第五圖所示。
另一種運用情形,是屬於HA中介軟體請求者型式
之案例。前攝性機制的HA中介軟體請求者可用於透過回呼功能函式的方式來發出來自HA中介軟體20之Get/Read類型的功能呼叫,例如HA中介軟體20可固定地對每個核心空間HA模組30進行一健康狀態檢查(Health Check)之功能呼叫來Get/Read其健康狀態資訊,以作為故障切換的依據基準。請參照第六圖,HA中介軟體20對於每個核心空間HA模組30進行健康狀態檢查,而且假如該等核心空間HA模組30都保持在預設之良好健康狀態時,核心空間前攝器便可以不需要傳送其傳回資料到使用者空間前攝器124。使用者空間前攝器124可直接傳送儲存在前攝性資訊資料庫14中的前攝性健康檢查資訊,以回答來自HA中介軟體20的功能呼叫請求。此外,使用者空間前攝器124也可涵蓋運用於核心空間HA模組30之某些情形,如其有時會以固定的確認訊息來回覆某些回呼功能呼叫等,即可運用此前攝機制來處理。
本發明之中介軟體橋接系統10進一步提供一種以規則為基礎(rule-based)的管理方法,以選用的規則來管理該前攝性機制的決策,其中該等規則是以系統資源決定如何管理,例如記憶體的可用空間、佔用的處理時間、遞迴、CPU負載等等。為了藉由那些規則來管理該決策,中介軟體橋接系統10必須隨時監控該等系統資源來決定要採用那一個規則。所以,中介軟體橋接系統10可選擇適當的方式以管理及平衡該等系統資源。
該前攝器機制基於預先定義的規則表13來運作。規則表之具體實施例請參照第七圖,所示為屬於Get/Read類型之功能的一些功能特性及規則之列表,其
包括功能名稱、屬性、優先性基準及規則之等欄位。該屬性欄位用於表達該功能的特徵,進一步決定是否該功能適用於前攝性處理。在該屬性欄位中,一請求者(Requeester)變數係用於辨識該功能呼叫的發動者,其值可為如分別代表核心應用請求者或HA中介軟體請求者等前攝型式的KRN_AP或HAMW等值。一規律性(Regularity)變數用於顯示該功能呼叫的穩定性及不變性,其中每個功能僅在當其規律性變數標示為YES時才適用於前攝性處理。一重覆性(Repetition)變數用於辨識該功能呼叫的可重覆特性,其中當一功能呼叫的重覆性變數標示為YES時則可適用於前攝性處理。一Loop_Rate變數用於設定該可重覆功能呼叫的執行頻率。群組化/群組(Grouping/Group)變數係用於設定非重覆性功能可進行社群處理的群組,如此該非重覆性功能的群組便可允許在前攝性處理中被進行處理。此外還有順序(Sequence)變數可用於表達一連串功能呼叫序列的順序,以啟動該前攝性機制去主動地前攝執行該序列中的下一個功能。
優先性基準欄位為用於決定該功能的優先性層級之主要因子,代表該功能的重要性及該功能之前攝性執行的預期效益,如此該前攝性機制可在當該等系統資源不足時,選擇具有較高優先性之功能進行前攝性執行。該優先性基準欄位可設定為高、中、低或預設值,且該前攝性機制在當該優先性基準欄位設定為預設值時,根據重覆性及Loop_Rate變數自動地設定該功能的優先性基準。如果重覆性變數標示為YES時,且若Loop_Rate標示為CONT以表示連續性的功能請求時,則該功能的
優先性基準將被設定為高,否則該功能的優先性基準即設定為中。但是,當重覆性變數標示為NO時,該功能的優先性基準將設定為低。
規則欄位係用於表明前攝性機制的作業及管理規則。基於該等系統資源,該前攝性機制將依照Select_Rule變數來決定及選擇所要前攝性執行的功能呼叫之優先性等級,並依照UsersNO_Rule變數來決定在初始化時對該功能呼叫啟用前攝性執行的數目大小,即在本具體實施例中為核心空間HA模組30所保留的執行規模。
Select_Rule變數可設定成SYS_MEM、NONE或預設值,其中SYS_MEM代表該前攝性機制會根據該系統記憶體之可用記憶體空間來管制優先性基準的選用,NONE代表該前攝性機制不管制該優先性基準的選用,而預設值等於SYS_MEM。UsersNO_Rule變數可設定成SYS_MEM、NONE或預設值,其中SYS_MEM代表該前攝性機制會根據該系統記憶體之可用記憶體空間來管制其執行規模,NONE代表該前攝性機制不管制該執行規模,即採用最大的執行規模,而預設值等於SYS_MEM。不論如何,該前攝性機制必須檢查該等系統資源,並依照Select_Rule及UsersNO_Rule變數進行運作。
同時,該前攝性機制將保持監視該等功能的使用狀態,並依照一Tuning_Rule變數來對於各個功能去調動其在前攝性時程中Enable/Disable的管控,以在前攝性時程中加入或移除該等功能的前攝性執行。Tuning_Rule變數可設定為USE_TIMES或EFFICIENCY,其中
USE_TIMES代表該前攝性機制是依據運作期間的各功能之使用次數來調整,而EFFICIENCY代表該前攝性機制是依各功能之前攝性執行的效率來調整。
請參照第八圖,所示為前攝性機制用以鑑別那些功能適用於前攝性執行的流程圖800。在步驟801中,該前攝性機制首先由規則表13中的屬性欄位取得所列選的各Get/Read類型之功能的屬性;在步驟802中,檢查該列選功能的重覆性(Repetition)變數,如果重覆性變數標示為YES,則流程進行到步驟803,否則其進行到步驟804;在步驟803中,該功能會被檢查規律性(Regularity)變數,如果規律性定期性變數標示為YES,則流程進行到步驟806,否則其進行到步驟805;在步驟804中,該功能會被檢查群組化(Grouping)變數,如果群組化變數標示為YES,則流程進行到步驟806,否則進行到步驟805;在步驟805中,該列選功能之前攝性模式將設定為N/A,以代表該功能不能夠納入前攝性執行;在步驟806中,該功能之前攝性模式將可設定為“可應用”;且在步驟807中,該前攝性機制根據該功能之系統資源耗用率(如處理時間)來決定該功能之優先性基準。
請參照第九圖,所示為前攝性機制的流程圖900,顯示了其前攝性執行的流程。在步驟901中,該前攝性機制首先辨識每一個所列選功能的前攝性模式及優先性基準;在步驟902中,前攝性機制將由規則表13之Select_Rule變數與系統資源耗用率,如記憶體空間等,來決定及選擇要進行前攝性執行及預呼叫之功能的優先性層級;在步驟903中,前攝性機制預呼叫該等所選
擇之優先性層級所涵蓋的功能,並儲存該傳回資料;在步驟904中,接收到來自如核心空間HA模組30之客戶端之關於該等功能的功能呼叫;在步驟905中,檢查該功能呼叫的前攝性模式,如果該前攝性模式為可應用時,流程進行到步驟906,否則進行到步驟907;在步驟906中,檢查該功能呼叫的有效傳回資料,如果有效傳回資料已獲得時,流程進行到步驟908,否則進行到步驟909;在步驟907中,該功能呼叫被轉送到如HA中介軟體20之伺服端,;而在步驟908中,前攝性機制取得該有效傳回資料並用以直接回應給客戶端;在步驟909中,該前攝性機制持續監視及記錄該等功能之前攝性執行的使用狀況,以決定是否重新選定那些功能要執行前攝性處理;以及在步驟910中,前攝性機制可進行重新選擇後續要予以前攝性處理的功能。
請參照第十圖,本發明在應用此前攝性機制時可減少核心空間橋接管理器11與使用者空間橋接管理器12之間的通訊。使用者空間橋接管理器12偵測來自HA中介軟體20的傳回資料的變化,並僅在當該傳回資料有改變或系統在初始化時才傳送該傳回資料到該核心空間橋接管理器。因此,核心空間橋接管理器11與使用者空間橋接管理器12的通訊頻率可以降低,且核心空間橋接管理器11可直接回答來自核心空間HA模組30之功能呼叫請求。
請參照第十一圖,本發明在應用此前攝性機制於可用性服務的健康狀態檢查功能中可減少核心空間橋接管理器11與使用者空間橋接管理器12之間的通訊。當HA中介軟體20請求如健康狀態檢查功能之回呼功能
時,使用者空間橋接管理器12可立即取得來自核心空間橋接管理器11所事先得到的資料。再者,核心空間橋接管理器11偵測來自核心空間HA模組30的傳回資料的變化,並僅在當該傳回資料有改變或系統在初始化時才傳送該傳回資料到該使用者空間橋接管理器。因此,核心空間橋接管理器11與使用者空間橋接管理器12的通訊頻率可以降低,且使用者空間橋接管理器12可直接回答來自HA中介軟體20之功能呼叫請求。
本發明對程式開發者提供一個可在核心空間模組中良好地使用中介軟體的環境,並針對多個核心空間模組之運用情境提供一通用的解決方案。
利用本發明多種具體實施例的詳細說明,本技術專業人士將可容易地瞭解到有多種修正及變化可應用到前述之本發明的具體實施例中,其皆不背離在附屬申請專利範圍中所定義之本發明的範圍。此外,該等具體實施例皆不應視為本發明之實際可應用說明的限制。
10‧‧‧中介軟體橋接系統
11‧‧‧核心空間橋接管理器
12‧‧‧使用者空間橋接管理器
13‧‧‧規則表
14‧‧‧前攝性資訊資料庫
111‧‧‧核心空間介面模組
112‧‧‧核心空間API
113‧‧‧核心空間前攝器
114‧‧‧請求處理器
115‧‧‧核心空間資料傳遞器
121‧‧‧使用者空間資料傳遞器
122‧‧‧呼叫代理員
123‧‧‧回呼功能管理器
124‧‧‧使用者空間前攝器
20‧‧‧HA中介軟體
21‧‧‧使用者空間API
30‧‧‧核心空間HA模組
40‧‧‧使用者空間HA應用
800,900‧‧‧流程圖
801~807,901~910‧‧‧步驟與流程
第一圖為根據本發明之一具體實施例的一中介軟體橋接系統的系統架構圖。
第二圖為根據本發明之一具體實施例之中介軟體橋接系統的功能方塊圖。
第三圖為該中介軟體橋接系統之一具體實施例之圖。
第四圖為該中介軟體橋接系統之一具體實施例之圖。
第五圖為該中介軟體橋接系統之一具體實施例之圖。
第六圖為該中介軟體橋接系統之一具體實施例之圖。
第七圖為該規則表的一具體實施例之圖。
第八圖為該前攝性機制鑑別那些功能適用於前攝性執行的流程圖。
第九圖為該前攝性執行之流程圖。
第十圖所示為該核心空間橋接管理器與該使用者空間橋接管理器之間的通訊之圖。
第十一圖所示另為該核心空間橋接管理器與該使用者空間橋接管理器之間的通訊之圖。
10‧‧‧中介軟體橋接系統
20‧‧‧HA中介軟體
11‧‧‧核心空間橋接管理器
21‧‧‧使用者空間API
30‧‧‧核心空間HA模組
12‧‧‧使用者空間橋接管理器
40‧‧‧使用者空間HA應用
Claims (21)
- 一種中介軟體橋接系統,用於橋接一核心空間模組與具有一使用者空間介面之一使用者空間中介軟體,包含:一核心空間橋接管理器,用於提供一核心空間介面以接收來自該核心空間模組的功能呼叫請求;一使用者空間橋接管理器,用於經由該使用者空間介面橋接關於該功能呼叫請求之一功能呼叫以帶至該使用者空間中介軟體,並接收來自該使用者空間中介軟體的一傳回資料;其中該核心空間介面之結構與該使用者空間介面之結構相同;該使用者空間橋接管理器包含一使用者空間前攝器,以事先或主動地預呼叫該使用者空間中介軟體之一預先定義的功能呼叫,然後接收來自該使用者空間中介軟體的傳回資料,並傳送所接收的傳回資料到該核心空間橋接管理器。
- 如申請專利範圍第1項之中介軟體橋接系統,其中該使用者空間前攝器判定一功能呼叫所被儲存的傳回資料與該功能呼叫之後續傳回資料之間的差異,並當存在有差異時傳送該後續傳回資料到該核心空間橋接管理器。
- 如申請專利範圍第1項之中介軟體橋接系統,另包含一規則表,用於儲存該使用者空間前攝器之運作規則,以管理該預先定義的功能呼叫之預呼叫。
- 如申請專利範圍第3項之中介軟體橋接系統,該中介軟體橋接系統隨時監控系統資源,以決定對於該使用 者空間前攝器要採用那一規則來執行運作。
- 如申請專利範圍第4項之中介軟體橋接系統,該系統資源包括一記憶體的可用空間,佔用的處理時間及CPU之負載。
- 如申請專利範圍第1項之中介軟體橋接系統,其中該預先定義的功能呼叫為有關於取得或讀取(Get/Read)具不變及可保存特徵的系統資料之功能。
- 如申請專利範圍第1項之中介軟體橋接系統,其中該核心空間橋接管理器包含一核心空間前攝器以接收該傳回資料,並儲存該傳回資料做為前攝性資訊。
- 如申請專利範圍第7項之中介軟體橋接系統,另包含一前攝性資訊資料庫來儲存該前攝性資訊。
- 如申請專利範圍第7項之中介軟體橋接系統,其中該核心空間前攝器在接收來自核心空間模組的功能呼叫請求時,其立即傳送具有關於該功能呼叫請求之一傳回資料的前攝性資訊至該核心空間模組。
- 如申請專利範圍第1項之中介軟體橋接系統,其中該使用者空間橋接管理器包含一虛擬回呼代理機制,用於當接收來自該核心空間模組有關於回呼函式註冊功能之一功能請求時,其註冊一回呼功能函式至該使用者空間中介軟體。
- 如申請專利範圍第10項之中介軟體橋接系統,其中該虛擬回呼代理機制當接收來自該使用者空間中介軟體的一回呼功能請求時,將尋找一用以執行該回呼功能函式之真正核心空間模組。
- 一種中介軟體橋接方法,用於橋接一核心空間模組與具有一使用者空間介面之一使用者空間中介軟體,該 方法包含以下步驟:模擬該使用者空間介面成為在核心空間中的一核心空間介面;經由該核心空間介面接收來自該核心空間模組之一功能呼叫請求;經由該使用者空間介面橋接關於該功能呼叫請求之一功能呼叫以帶至該使用者空間中介軟體;經由該使用者空間介面接收來自該使用者空間中介軟體之一傳回資料;及經由該核心空間介面傳送該傳回資料到該核心空間模組;所述之方法還包含:事先或主動地預呼叫一預先定義的功能呼叫,然後接收來自該使用者空間中介軟體的該傳回資料,並傳送所接收的傳回資料到該核心空間模組之步驟。
- 如申請專利範圍第12項之中介軟體橋接方法,另包含判定一功能呼叫所被儲存傳回資料與該功能呼叫之後續傳回資料之間的差異,並當存在有差異時傳送該後續傳回資料到該核心空間橋接管理器之步驟。
- 如申請專利範圍第12項之中介軟體橋接方法,另包含利用一以規則為基礎的方式以管理該預先定義的功能呼叫之預呼叫的步驟。
- 如申請專利範圍第14項之中介軟體橋接方法,其中該以規則為基礎的方式包括多項規則,且系統資源被隨時監控以決定要採用那一個規則來管理該預先定義的功能呼叫之預呼叫。
- 如申請專利範圍第15項之中介軟體橋接方法,該系 統資源包括一記憶體的可用空間,佔用的處理時間及CPU之負載。
- 如申請專利範圍第12項之中介軟體橋接方法,其中該預先定義的功能呼叫為有關於取得或讀取(Get/Read)具不變及可保存特徵的系統資料之功能。
- 如申請專利範圍第12項之中介軟體橋接方法,另包含儲存該傳回資料做為前攝性資訊的步驟。
- 如申請專利範圍第18項之中介軟體橋接方法,另包含當接收來自核心空間模組的功能呼叫請求時,其立即傳送具有關於該功能呼叫請求之一傳回資料的前攝性資訊至該核心空間模組之步驟。
- 如申請專利範圍第12項之中介軟體橋接方法,另包含當接收來自該核心空間模組有關於回呼函式註冊功能之一功能請求時,其註冊一回呼功能函式至該使用者空間中介軟體的步驟。
- 如申請專利範圍第20項之中介軟體橋接方法,另包含當接收來自該使用者空間中介軟體的一回呼功能請求時,將尋找一用以執行該回呼功能函式之真正核心空間模組的步驟。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/972,300 US8549537B2 (en) | 2008-01-10 | 2008-01-10 | Middleware bridge system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
TW200931317A TW200931317A (en) | 2009-07-16 |
TWI381314B true TWI381314B (zh) | 2013-01-01 |
Family
ID=40758343
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW097132488A TWI381314B (zh) | 2008-01-10 | 2008-08-26 | 中介軟體橋接系統及方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US8549537B2 (zh) |
CN (1) | CN101482816B (zh) |
DE (1) | DE102008001536A1 (zh) |
TW (1) | TWI381314B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB2526088B (en) * | 2014-05-12 | 2016-03-30 | Sony Comp Entertainment Europe | Apparatus and method of data capture |
CN111447046B (zh) * | 2020-03-26 | 2023-04-25 | 广州市百果园信息技术有限公司 | 业务数据传输方法、装置、设备和存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6212574B1 (en) * | 1997-04-04 | 2001-04-03 | Microsoft Corporation | User mode proxy of kernel mode operations in a computer operating system |
TW505863B (en) * | 2000-11-24 | 2002-10-11 | Mellanox Technolgies Ltd | Software interface between a parallel bus and a packet network |
US20030167270A1 (en) * | 2000-05-25 | 2003-09-04 | Werme Paul V. | Resource allocation decision function for resource management architecture and corresponding programs therefor |
TW200713055A (en) * | 2005-09-19 | 2007-04-01 | Atlas Dev Corp | Health-care related database middleware |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6871350B2 (en) | 1998-12-15 | 2005-03-22 | Microsoft Corporation | User mode device driver interface for translating source code from the user mode device driver to be executed in the kernel mode or user mode |
US7194652B2 (en) | 2002-10-29 | 2007-03-20 | Brocade Communications Systems, Inc. | High availability synchronization architecture |
-
2008
- 2008-01-10 US US11/972,300 patent/US8549537B2/en not_active Expired - Fee Related
- 2008-05-02 DE DE102008001536A patent/DE102008001536A1/de not_active Withdrawn
- 2008-08-26 TW TW097132488A patent/TWI381314B/zh active
- 2008-10-15 CN CN200810149912XA patent/CN101482816B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6212574B1 (en) * | 1997-04-04 | 2001-04-03 | Microsoft Corporation | User mode proxy of kernel mode operations in a computer operating system |
US20030167270A1 (en) * | 2000-05-25 | 2003-09-04 | Werme Paul V. | Resource allocation decision function for resource management architecture and corresponding programs therefor |
TW505863B (en) * | 2000-11-24 | 2002-10-11 | Mellanox Technolgies Ltd | Software interface between a parallel bus and a packet network |
TW200713055A (en) * | 2005-09-19 | 2007-04-01 | Atlas Dev Corp | Health-care related database middleware |
Also Published As
Publication number | Publication date |
---|---|
CN101482816A (zh) | 2009-07-15 |
CN101482816B (zh) | 2011-09-14 |
TW200931317A (en) | 2009-07-16 |
DE102008001536A1 (de) | 2009-07-16 |
US8549537B2 (en) | 2013-10-01 |
US20090183172A1 (en) | 2009-07-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109981716B (zh) | 一种微服务调用方法及装置 | |
CN100382021C (zh) | 用于提供上下文感知服务的设备和方法 | |
CN109976667B (zh) | 一种镜像管理方法、装置及*** | |
US7673029B2 (en) | Grid automation bus to integrate management frameworks for dynamic grid management | |
US9002932B2 (en) | Cloud computing access gateway and method for providing a user terminal access to a cloud provider | |
WO2017107018A1 (zh) | 应用拓扑关系发现的方法、装置和*** | |
WO2016184175A1 (zh) | 数据库处理方法及装置 | |
WO2019047911A1 (zh) | 一种物联网资源订阅的方法、设备和*** | |
KR20070027613A (ko) | 디바이스상의 공유된 리소스의 동적 중재 시스템 | |
WO2019047821A1 (zh) | 业务路由的方法、装置及存储介质 | |
CN109522055B (zh) | 基于分布式服务调用的连接预热方法及*** | |
US7979867B2 (en) | Managing a device in a distributed file system, using plug and play | |
CN111510330B (zh) | 接口管理装置、方法及存储介质 | |
US7580989B2 (en) | System and method for managing access points to distributed services | |
CN112351077A (zh) | 一种应用服务运行方法、***、装置及存储介质 | |
JPH1049384A (ja) | マルチスレッド環境内でオブジェクトを処分する方法および装置 | |
EP2336902B1 (en) | A method and system for improving information system performance based on usage patterns | |
TWI381314B (zh) | 中介軟體橋接系統及方法 | |
CN111240760B (zh) | 基于注册中心的应用发布方法、***、存储介质及设备 | |
US8656448B2 (en) | Providing policy-based application services to an application running on a computing system | |
CN111831402A (zh) | 用于管理软件功能的方法、设备和计算机程序产品 | |
US10684898B2 (en) | In-line event handlers across domains | |
CN109120692B (zh) | 用于处理请求的方法和装置 | |
EP1475706A1 (en) | Method and apparatus for providing a client-side local proxy object for a distributed object-oriented system | |
US20240089339A1 (en) | Caching across multiple cloud environments |