新四季網

用於有限能力作業系統的api重定向的製作方法

2023-05-04 14:35:21 2

用於有限能力作業系統的api重定向的製作方法
【專利摘要】公開了用於通過動態重定向某些API調用來促進應用程式在具有有限能力作業系統的計算設備上的執行的系統、方法和電腦程式產品。這樣的系統、方法和電腦程式產品提供了促進在如何處理特定API調用上做出動態決策的能力的一個或多個API攔截層和規則引擎。可針對任何數量的與計算設備有關的使作業系統被認為是「有限能力」的原因/因素/特性來發起重定向,該原因/因素/特性比如例如是缺少本地API實施、電力水平、位置、中央處理器單元使用、以及確定將API調用重定向到另一實體是更有效的任何其他模式。這樣的實體可以是硬體組件、分區的或虛擬化的作業系統鏡像、基於網絡的鏡像或基於雲的服務。
【專利說明】用於有限能力作業系統的API重定向

【背景技術】
[0001] 在今天的技術環境中,作業系統(管理到計算設備的硬體的接口、調度任務、分配 儲存、並且通常提供用於在計算機上執行的應用軟體的公共服務的低層軟體)通常被構建 和部署有固定且良好定義的作業系統應用程式接口(API)。即,作業系統的API提供了接 口(即調用協定集),通過該接口,應用程式訪問特定計算設備(例如桌面型計算機、膝上型 計算機、筆記本、平板計算機、個人數字助理(PDA)、行動電話、智慧型電話等)上的作業系統和 其它服務。例如Windows,作業系統(可從華盛頓州雷德蒙德(Redmond,WA)的微軟公司獲 得)提供了 "Windows SDK" API,該API給予應用開發者固定和公知的API表面,該API表 面被用來開發應用程式。這對於消費者希望運行應用程式(即任何非作業系統軟體應用或 "app")的所有其他計算設備也是如此。
[0002] 在常規作業系統API模型中,作業系統提供商/製造商推出具有在作業系統鏡像 (image)內實施的整個底層作業系統API的計算設備。這是因為將一致的API表面暴露給 開發者提供了在設備之間的應用兼容性。然而可能存在若干情形,其中由於位置、電力約束 或其它因素,本地實施整個API沒有意義。然而,如果不在計算設備上實施整個API,那麼當 執行的應用程式對未實施的API調用做出特定調用時,將發生運行時間錯誤。


【發明內容】

[0003] 提供該
【發明內容】
來介紹對概念的選擇。下面在【具體實施方式】中進一步描述這些概 念。該
【發明內容】
既非旨在標識所要求保護的主題的關鍵特徵或必要特徵,也非旨在幫助確 定所要求保護的主題的範圍。
[0004] 本公開的實施例通過提供系統、方法和電腦程式產品來滿足上述需求,所述系 統、方法和電腦程式產品通過動態重定向某些API調用來促進應用程式在具有有限能力 作業系統("0/S")的計算設備上的執行。
[0005] 本公開的實施例包括這樣的技術,其提供促進在如何處理特定的API調用上做出 動態決策的能力的API攔截層和底層規則引擎。在各個實施例中,可針對任何數量的與致 使作業系統被認為是"有限能力"的計算設備有關的原因/因素/特性來發起重定向,該原 因/因素/特性比如例如是缺少本地API實施(S卩,作業系統不包含或支持用於處理一個或 多個API調用的一個或多個組件)、當前的(低)電力水平、位置、中央處理器單元(CPU)使用 以及確定由於規章和/或安全約束(例如醫療、遊戲、金融、軍事等應用)、硬體卸載等而導致 的將API調用重定向到另一實體(例如硬體、分區或虛擬化的作業系統鏡像、基於網絡的鏡 像、基於雲的服務等)將更加有效的任何其它模式。
[0006] 將參考附圖在下文詳細描述本公開的各個實施例的另外的特徵和優點,以及本公 開的各個方面的結構和操作。

【專利附圖】

【附圖說明】
[0007] 在結合圖時,根據下文闡述的詳細描述,本公開的特徵和優點將變得更加顯而易 見,在圖中同樣的附圖標記表示等同的或功能上類似的元素。
[0008] 圖1是可用於實施本公開的實施例的示例性計算系統的框圖。
[0009] 圖2是圖示常規作業系統實施環境的框圖。
[0010] 圖3-6是圖示根據本公開的實施例的各種作業系統實施環境的框圖。
[0011] 圖7是圖示根據本公開的實施例的API重定向過程的流程圖。

【具體實施方式】
[0012] 本公開的實施例針對用於通過動態重定向某些API調用來促進應用程式在具有 有限能力作業系統的計算設備上的執行的系統、方法和電腦程式產品。
[0013] 在各個實施例中,這樣的系統、方法和電腦程式產品提供了一種API攔截層和 底層規則引擎,該API攔截層和底層規則引擎促進在如何處理由計算設備上的執行應用做 出的特定的、未實施的API調用上做出動態決策的能力。
[0014] 在一個實施例中,本公開提供了基於利用API攔截和基於規則的引擎的動態API 重定向的解決方案。在這樣的實施例中,API重定向通過調用進到良好定義的API表面來允 許應用以未修改的方式運行,該良好定義的API表面將調用重定向到圖形處理單元(GPU) (或其它硬體加速技術)以加速該調用。在這樣的實施例中,基本作業系統鏡像將包括API 處理程序的基於軟體的實施。
[0015] 在另一實施例中,本公開提供了基於動態API重定向的解決方案,其中將由執行 應用做出的API調用從第一計算設備重定向到在與第一計算設備相同的網絡上的另一、第 二計算設備以處理該API調用,在第一計算設備中,該調用是未實施的(即不是作業系統的 一部分)。
[0016] 在另一實施例中,本公開提供了基於電力簡況(profile)的動態API重定向解決方 案。例如,基於電池電力運行的本地設備可能需要處理複雜的、CPU受限的任務/API調用。 然而,基於當前的電力簡況,使這樣的API調用由另一計算設備或雲服務處理(S卩,計算資 源作為服務而不是產品的輸送,由此提供共享的資源、軟體和信息給計算機和其它設備作 為在網絡上的計量的服務--該網絡通常是全球的、公共網際網路)可能是更加有效的。
[0017] 在又一實施例中,本公開提供了基於計算設備的當前位置的動態API重定向解決 方案。例如,可以確定的是遠程計算設備處理API調用比起讓其被本地處理更加高效。這 樣的確定將基於本地機器的位置和可用的聯網技術(例如家、機場或辦公室網絡等)。
[0018] 在又一實施例中,本公開提供了基於虛擬化的作業系統鏡像的動態API重定向解 決方案。即,很多計算設備需要安全的和基於用戶的模式(例如支付終端、遊戲設備等)。然 而,計算設備的基於用戶的部分可以暴露應當由虛擬化作業系統處理的API調用。在這樣 的實施例中,API看起來對於用戶作業系統來說是本地的,但是實際上被重定向到了虛擬化 的第二作業系統鏡像(或者在同一硬體上執行,或者在另一、更強大的計算設備或雲服務上 執行)。
[0019] 在另一實施例中,本公開提供了基於硬體的動態API重定向解決方案。在這樣的 實施例中,例如,可將API調用從本地USB外設重定向到虛擬化的或其它的硬體組件。
[0020] 在一個實施例中,本公開針對能夠執行本文描述的實施例的功能的一個或多個計 算機系統或計算設備。圖1中示出計算機系統100的示例。
[0021] 計算機系統100包括一個或多個處理器,例如處理器104。處理器104連接到通信 基礎結構106 (例如通信總線或網絡)。依據該示例性計算機系統來描述各個軟體方面。在 閱讀該描述之後,相關領域技術人員應當變得顯而易見的是,如何使用其他計算機系統和/ 或架構來實施本公開。
[0022] 計算機系統100可包括轉送來自通信基礎結構106 (或來自未示出的幀緩衝器)的 圖形、文本和其它數據以便在顯示單元130上顯示的顯示接口 102。
[0023] 計算機系統100還包括主存儲器108 (優選是隨機存取存儲器(RAM))並且還可包 括輔助存儲器110。輔助存儲器110可包括例如硬碟驅動器112和/或可移除儲存驅動器 114 (表示軟盤驅動器、磁帶驅動器、光碟驅動器等)。可移除儲存驅動器114以公知的方式 從可移除儲存單元118讀取和/或寫入可移除儲存單元118。可移除儲存單元118表示由 可移除儲存驅動器114讀和寫的軟盤、磁帶、光碟等。如將認識到的,可移除儲存單元118 包括具有存儲在其中的計算機軟體和/或數據的計算機可使用儲存介質。
[0024] 在替代的方面中,輔助存儲器110可包括用於允許電腦程式或其它代碼或指 令被裝載在計算機系統100中的其它類似設備。這樣的設備可例如包括可移除儲存單元 122和接口 120。這樣的示例可包括程序磁片盒和磁片盒接口(例如在視頻遊戲設備中找到 的那些)、可移除存儲器晶片(例如可擦除可編程只讀存儲器(EPROM)或可編程只讀存儲器 (PROM))和相關聯的插座,以及其它可移除儲存單元122和允許軟體和數據被從可移除儲 存單元122傳輸到計算機系統100的接口 120。
[0025] 計算機系統100還可包括通信接口 124。通信接口 124允許軟體和數據在計算機 系統100和外部設備之間的傳輸。通信接口 124的示例可包括數據機、網絡接口(例如 乙太網卡)、通信埠、個人計算機存儲卡國際協會(PCMCIA)槽和卡等。經由通信接口 124 傳輸的軟體和數據是以信號128的形式,信號128可以是電子的、電磁的、光學的或能夠由 通信接口 124接收的其它信號。這些信號128經由通信路徑(例如信道)126被提供到通信 接口 124。該信道126承載信號128並且可使用導線或電纜、光纖光學、電話線、蜂窩鏈路、 射頻(RF)鏈路和其它通信信道來實施。
[0026] 在該文檔中,術語"電腦程式介質"和"計算機可使用介質"被用於一般地指代 例如可移除儲存驅動器114、安裝在硬碟驅動器112中的硬碟和信號128之類的介質。這些 電腦程式產品提供軟體給計算機系統100。本公開針對這樣的電腦程式產品。
[0027] 電腦程式(也被稱為計算機控制邏輯)存儲在主存儲器108和/或輔助存儲器 110中。電腦程式還可經由通信接口 124來接收。這樣的電腦程式當被執行時,使能計 算機系統100執行如本文討論的本公開的特徵。特別地,電腦程式當被執行時,使能處理 器104執行本公開的特徵。相應地,這樣的電腦程式表示計算機系統100的控制器。
[0028] 在其中使用軟體實施本公開的實施例中,可將軟體存儲在電腦程式產品中並且 可使用可移除儲存驅動器114、硬碟驅動器112或通信接口 124將軟體裝載到計算機系統 100中。控制邏輯(軟體)當由處理器104執行時,使得處理器104執行如本文描述的本公 開的功能。
[0029] 在另一實施例中,主要使用例如硬體組件(例如專用集成電路(ASIC)在硬體中實 施本公開。實施硬體狀態機以致執行本文描述的功能對於相關領域技術人員來說將是顯而 易見的。
[0030] 如對於在閱讀本文的描述之後的相關領域技術人員來說將顯而易見的是,圖1中 所示的計算機架構可被配置為任何數量的計算設備,例如遊戲控制臺、便攜媒體播放器、桌 面型計算機、膝上型計算機、伺服器、筆記本計算機、平板計算機、PDA、移動計算機、智能電 話、行動電話、智能通信設備等。
[0031] 在又一實施例中,使用硬體和軟體二者的組合來實施本公開。
[0032] 參考圖2,示出了圖示由很多常規計算系統利用的作業系統實施環境200的框圖。 如在閱讀本文的描述之後的相關領域技術人員將認識到的,環境200將存在於其中計算機 程序(軟體)應用202正在執行的計算設備100上。
[0033] 如相關領域技術人員公知的,因為應用202在環境200內執行,其可利用作業系統 的共享庫文件中的一個或多個。在其中計算設備100使用可從華盛頓州雷德蒙德的微軟公 司獲得的Windows?作業系統的示例中,這樣的共享庫文件是動態連結庫文件(DLL)(如圖2 中的DLL 204a-c所示)。轉而,DLL204a-c在應用202執行時可利用一個或多個作業系統 組件(如圖2中的0/S服務(A) - (D)所示)206。如上文所提到的,現有的作業系統通常裝 有固定的API表面。軟體應用(例如應用202)的開發者依賴於這樣的一致的API表面來使 能在不同計算設備100上的應用兼容性。然而,如果通常處理特定API調用的作業系統組 件(例如"0/S服務(D)"206d)並不存在於特定的作業系統實施環境200內,則應用202的 執行將產生運行時間錯誤並失敗。
[0034] 現在參考圖3,示出了圖示根據本公開的實施例的作業系統實施環境300的框圖。 在這樣的實施例中,其中應用202產生運行時間錯誤的情況通過環境300來克服,環境300 包括API攔截層302a、API攔截層302b和API重定向規則引擎304, API攔截層302a、API 攔截層302b和API重定向規則引擎304促進在如何處理對於處理由在計算設備100上執 行的應用202做出的API調用而言是必需的特定的、未實施的作業系統組件上做出動態決 策的能力。
[0035] 如在閱讀本文的描述之後的相關領域技術人員將認識到的,環境300內的操作系 統可以是多層作業系統,其中API攔截層302和規則引擎304可在一個或多個層處工作以 攔截由應用202對在特定作業系統實施環境300內部不存在的作業系統組件做出的API調 用,從而避免應用202的執行產生運行時間錯誤並失敗。
[0036] 為了說明上述點,假定在環境300內執行的應用202做出利用(即訪問)DLL204C 的API調用,該DLL204c轉而需要利用作業系統組件206d。然而,環境300的作業系統具 有"有限的能力",因為組件206d (即"0/S服務(D)")未被實施(如由圖3中的虛線所指示 的)。因此,API攔截層302a包括控制邏輯來攔截API/模塊/特徵調用並且把對0/S組件 206的這樣的"接觸"(即使用API調用、服務、驅動器或資源)記入日誌(即存儲)。在本發 明的實施例中,由API攔截層302a採集和存儲的信息促進規則引擎304重定向由應用202 對組件206d做出的API調用。然後可以將該API調用重定向到作業系統的另一層以由另 一實體(例如在計算設備100上實際實施的作業系統組件206e-f)處理。通過作業系統組 件206e-f的這樣的處理將包含位於計算設備100上的CPU306或GPU308對一個或多個指 令的執行。
[0037] 如在閱讀本文的描述之後的相關領域技術人員將認識到的,在一實施例中,API重 定向規則引擎304包括在作業系統環境300內的規則表(或其它數據結構),其使用表1中 所示的一個或多個規則類別來引導API攔截層302動態重定向一個或多個API調用,表I 可由設備100的製造商來預設或稍後由系統管理員配置。

【權利要求】
1. 一種用於促進應用程式在具有有限能力作業系統的計算設備上的執行的系統,包 括: 第一應用編程接口(API)攔截層,其能夠攔截來自在所述計算設備上執行的應用的 API調用;其中所述API調用旨在針對所述有限能力作業系統的組件;以及 API重定向規則引擎,其能夠指示所述第一 API攔截層將所述API調用遠離所述有限能 力作業系統的所述組件而重定向到實體;其中所述規則引擎應用至少一個重定向規則。
2. 根據權利要求1所述的系統,其中由所述API重定向規則引擎應用的所述至少一個 重定向規則與所述計算設備的以下特性中的一個有關: 中央處理器單元負載; 硬體加速; 丟失的API處理程序; 安全要求; 網絡連接速度;以及 電力水平。
3. 根據權利要求1所述的系統,其中所述第一 API攔截層被配置為在來自在所述計算 設備上執行的所述應用的所述API調用訪問所述有限能力作業系統的共享庫文件之後攔 截所述API調用。
4. 根據權利要求1所述的系統,其中所述計算設備是以下中的一個:支付終端;以及遊 戲控制臺。
5. -種用於促進應用程式在具有有限能力作業系統的計算設備上的執行的方法,所述 方法在所述計算設備的處理器上執行,包括以下步驟: 通過第一應用編程接口(API)攔截層攔截來自在所述計算設備上執行的應用的API調 用;其中所述API調用旨在針對所述有限能力作業系統的組件;以及 通過API重定向規則引擎指示所述第一 API攔截層將所述API調用遠離所述有限能力 作業系統的所述組件而重定向到實體;其中所述規則引擎應用至少一個重定向規則。
6. 根據權利要求5所述的方法,其中所述第一 API攔截層被配置為在所述有限能力操 作系統的第一層處攔截所述API調用。
7. 根據權利要求5所述的方法,其中所述第一 API攔截層被配置為在來自在所述計算 設備上執行的所述應用的所述API調用訪問所述有限能力作業系統的共享庫文件之後攔 截所述API調用。
8. -種電腦程式產品,包括被編碼在具有有限能力作業系統的計算機中的計算機可 使用介質和被存儲在其中用於使得所述計算機促進應用程式的執行的控制邏輯,所述控制 邏輯包括: 第一計算機可讀程序代碼模塊,其用於使得所述計算機通過第一應用編程接口(API) 攔截層攔截來自在所述計算機上執行的應用的API調用;其中所述API調用旨在針對所述 有限能力作業系統的組件;以及 第二計算機可讀程序代碼模塊,其用於使得所述計算機通過API重定向規則引擎指示 所述第一 API攔截層將所述API調用遠離所述有限能力作業系統的所述組件而重定向到實 體;其中所述規則引擎應用至少一個重定向規則。
9. 根據權利要求8所述的電腦程式產品,其中由所述API重定向規則引擎應用的所 述至少一個重定向規則與所述計算機的以下特性中的一個有關: 中央處理器單元負載; 硬體加速; 丟失的API處理程序; 安全要求; 網絡連接速度;以及 電力水平。
10. 根據權利要求8所述的電腦程式產品,其中所述第一API攔截層被配置為在來自 在所述計算機上執行的所述應用的所述API調用訪問所述有限能力作業系統的共享庫文 件之後攔截所述API調用。
【文檔編號】G06F9/44GK104364758SQ201380032907
【公開日】2015年2月18日 申請日期:2013年6月18日 優先權日:2012年6月22日
【發明者】M.霍爾 申請人:微軟公司

同类文章

一種新型多功能組合攝影箱的製作方法

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有LED脫影板,LED脫影板放置在底板上;移動式光源盒包括上蓋,上蓋內設有光源,上蓋部設有磨沙透光片,磨沙透光片將光源封閉在上蓋內;所述LED脫影

壓縮模式圖樣重疊檢測方法與裝置與流程

本發明涉及通信領域,特別涉及一種壓縮模式圖樣重疊檢測方法與裝置。背景技術:在寬帶碼分多址(WCDMA,WidebandCodeDivisionMultipleAccess)系統頻分復用(FDD,FrequencyDivisionDuplex)模式下,為了進行異頻硬切換、FDD到時分復用(TDD,Ti

個性化檯曆的製作方法

專利名稱::個性化檯曆的製作方法技術領域::本實用新型涉及一種檯曆,尤其涉及一種既顯示月曆、又能插入照片的個性化檯曆,屬於生活文化藝術用品領域。背景技術::公知的立式檯曆每頁皆由月曆和畫面兩部分構成,這兩部分都是事先印刷好,固定而不能更換的。畫面或為風景,或為模特、明星。功能單一局限性較大。特別是畫

一種實現縮放的視頻解碼方法

專利名稱:一種實現縮放的視頻解碼方法技術領域:本發明涉及視頻信號處理領域,特別是一種實現縮放的視頻解碼方法。背景技術: Mpeg標準是由運動圖像專家組(Moving Picture Expert Group,MPEG)開發的用於視頻和音頻壓縮的一系列演進的標準。按照Mpeg標準,視頻圖像壓縮編碼後包

基於加熱模壓的纖維增強PBT複合材料成型工藝的製作方法

本發明涉及一種基於加熱模壓的纖維增強pbt複合材料成型工藝。背景技術:熱塑性複合材料與傳統熱固性複合材料相比其具有較好的韌性和抗衝擊性能,此外其還具有可回收利用等優點。熱塑性塑料在液態時流動能力差,使得其與纖維結合浸潤困難。環狀對苯二甲酸丁二醇酯(cbt)是一種環狀預聚物,該材料力學性能差不適合做纖

一種pe滾塑儲槽的製作方法

專利名稱:一種pe滾塑儲槽的製作方法技術領域:一種PE滾塑儲槽一、 技術領域 本實用新型涉及一種PE滾塑儲槽,主要用於化工、染料、醫藥、農藥、冶金、稀土、機械、電子、電力、環保、紡織、釀造、釀造、食品、給水、排水等行業儲存液體使用。二、 背景技術 目前,化工液體耐腐蝕貯運設備,普遍使用傳統的玻璃鋼容

釘的製作方法

專利名稱:釘的製作方法技術領域:本實用新型涉及一種釘,尤其涉及一種可提供方便拔除的鐵(鋼)釘。背景技術:考慮到廢木材回收後再加工利用作業的方便性與安全性,根據環保規定,廢木材的回收是必須將釘於廢木材上的鐵(鋼)釘拔除。如圖1、圖2所示,目前用以釘入木材的鐵(鋼)釘10主要是在一釘體11的一端形成一尖

直流氧噴裝置的製作方法

專利名稱:直流氧噴裝置的製作方法技術領域:本實用新型涉及ー種醫療器械,具體地說是ー種直流氧噴裝置。背景技術:臨床上的放療過程極易造成患者的局部皮膚損傷和炎症,被稱為「放射性皮炎」。目前對於放射性皮炎的主要治療措施是塗抹藥膏,而放射性皮炎患者多伴有局部疼痛,對於止痛,多是通過ロ服或靜脈注射進行止痛治療

新型熱網閥門操作手輪的製作方法

專利名稱:新型熱網閥門操作手輪的製作方法技術領域:新型熱網閥門操作手輪技術領域:本實用新型涉及一種新型熱網閥門操作手輪,屬於機械領域。背景技術::閥門作為流體控制裝置應用廣泛,手輪傳動的閥門使用比例佔90%以上。國家標準中提及手輪所起作用為傳動功能,不作為閥門的運輸、起吊裝置,不承受軸向力。現有閥門

用來自動讀取管狀容器所載識別碼的裝置的製作方法

專利名稱:用來自動讀取管狀容器所載識別碼的裝置的製作方法背景技術:1-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀