国产精品1024永久观看,大尺度欧美暖暖视频在线观看,亚洲宅男精品一区在线观看,欧美日韩一区二区三区视频,2021中文字幕在线观看

  • <option id="fbvk0"></option>
    1. <rt id="fbvk0"><tr id="fbvk0"></tr></rt>
      <center id="fbvk0"><optgroup id="fbvk0"></optgroup></center>
      <center id="fbvk0"></center>

      <li id="fbvk0"><abbr id="fbvk0"><dl id="fbvk0"></dl></abbr></li>

      接口模塊的制作方法

      文檔序號:6420562閱讀:138來源:國知局
      專利名稱:接口模塊的制作方法
      技術領域
      本發(fā)明涉及一種接口模塊。
      背景技術
      一種計算設備,如服務器、路由器、以及其它設備,其具有處理器邏輯和存儲器,包括操作系統(tǒng)層和應用層以使設備能夠執(zhí)行各種功能或任務。操作系統(tǒng)層包括運行計算設備的主控制程序。主控制程序提供任務管理、設備管理、以及數(shù)據(jù)管理(除了別的以外)。操作系統(tǒng)層包含設定在計算設備上運行的應用程序標準的操作系統(tǒng)。操作系統(tǒng)層具有包括應用程序接口(API)集合的軟件程序。API包括由應用程序所使用的用來與操作系統(tǒng)通信的語言和/或消息格式。例如,API的語言和/或消息格式允許操作系統(tǒng)來解釋從應用層中的程序應用所接收的可執(zhí)行指令并且將結果返回到應用中。
      通過在程序中寫功能調用,API被加以執(zhí)行,其提供到所要求的用于執(zhí)行的子程序的鏈接。在成熟的操作系統(tǒng),如Windows,Mac或Unix中存在多于一千個的API調用。
      在軟件編程領域中,程序經常被建立用于在特定的操作系統(tǒng)中使用。換句話說,程序應用通常被建立用來提供這樣的指令,所述指令處以由與特定操作系統(tǒng)相聯(lián)系的API可識別的語言和/或格式。因此,為在Microsoft Windows下使用而建立的程序將有可能不能夠在另一操作系統(tǒng)如Linux上運行。為了使Windows基程序在Linux基系統(tǒng)上被使用,程序將有可能不得不基本上被重寫且將有可能不得不被寫在Linux基系統(tǒng)上。通過這種方法,基于一個操作系統(tǒng)而用在另一操作系統(tǒng)中的程序的適應實際上建立了兩個截然不同的程序,所述程序完成類似的功能,但卻在兩個不同的操作系統(tǒng)上。通過寫程序以與許多不同操作系統(tǒng)的API進行接口可是昂貴的且可花費大量時間。
      在電信領域,更新的程序連續(xù)地被寫以提供附加的電信應用服務。許多這些較新的程序被寫以和與較新的和更魯棒的操作系統(tǒng)相聯(lián)系的特定API發(fā)揮作用。即,程序可被寫,以在較大、較快速或更專業(yè)化的計算設備上執(zhí)行,所述計算設備具有比存在于較早代的電信設備硬件中的那些更先進的操作系統(tǒng)和不同的API集合。照那樣地,程序應用總體上可能不能夠在不同的或較早的操作系統(tǒng)上執(zhí)行,或由這些程序所提供的特征和/或功能可能不能夠在與這些程序為此而寫的操作系統(tǒng)不同的或者較早代的操作系統(tǒng)上執(zhí)行。因此,這些應用的新的或不同的服務或能力總體上并未由較早代的設備所得到。
      一個替代選擇是用具有容納新程序類型的操作系統(tǒng)的計算設備取代較早代的設備和與其相聯(lián)系的操作系統(tǒng)。然而,當取代高端計算設備時,這個替代選擇并不總是可行的經濟性替代選擇。世界上許多商業(yè)性電信骨干系統(tǒng)具有傳統(tǒng)的硬件,取代其并不是經濟的。例如,在中美洲和南美洲的電信市場,大量的電信設備是較舊代的設備,其在其它市場上退休之后才被購買。在這些環(huán)境下,使計算設備硬件升級以適應新的軟件應用可能并不是可能的。因而,新的軟件應用或者不可用于具有較舊操作系統(tǒng)的硬件,或者將具有在較舊操作系統(tǒng)上不正確地執(zhí)行的某些特征和/或功能,且由此不能夠被使用到它們最完全的能力。為了提供較新或不同軟件程序的一些或全部更新的或不同的特征和/或功能,程序將不得不被重寫以執(zhí)行在現(xiàn)存硬件的操作系統(tǒng)上的API,或如果操作系統(tǒng)并不具有用以執(zhí)行那個特征或功能性的API則除去所述特征或功能。如上所注解,這個選項對于軟件制造商是所不希望的,因為制造商不得不花費大量努力來重寫軟件。

      發(fā)明內容
      提供了一種計算設備,包括應用層,具有第一類型操作系統(tǒng)和相聯(lián)系的應用程序接口(API)的操作系統(tǒng)層以及被耦合在應用層和操作系統(tǒng)層之間的接口模塊,其中所述接口模塊從應用層中為第二類型操作系統(tǒng)而寫的程序中接收程序指令并且通過將指令導引到正確執(zhí)行指令的API來處理所述指令。


      圖1是示例設備實施例的方框圖。
      圖2是示例接口模塊實施例的詳細視圖的方框圖。
      圖3是示例接口模塊另一實施例的詳細視圖的方框圖。
      圖4是網絡實施例的方框圖。
      圖5是用于在選擇性平臺上執(zhí)行應用的方法實施例的方框圖。
      圖6是用于在選擇性平臺上執(zhí)行應用的另一方法實施例的方框圖。
      具體實施例方式
      本發(fā)明的實施例提供這樣的設備、系統(tǒng)和方法,其允許針對第二類型(即,特定類型)操作系統(tǒng)而寫的程序應用(即,在應用層中的軟件)要被使用在第一類型操作系統(tǒng)(即,與程序應用為此而被寫的操作系統(tǒng)完全不同的操作系統(tǒng)或較早或較遲代的操作系統(tǒng))上。本發(fā)明的各種實施例可以在一個或更多個計算設備和/或計算設備的系統(tǒng),如電信系統(tǒng)(除了別的以外)中被執(zhí)行。
      在本應用中,在電信領域中的計算設備被示例為較新程序應用和較舊代傳統(tǒng)硬件所面對議題的實例。然而,本發(fā)明的實施例并不局限于這個示例性的實施。
      作為參考,電信系統(tǒng)(除了別的以外)可以包括計算設備的網絡。計算設備包括其上具有操作系統(tǒng)的計算設備。電信程序通常被寫以在特定的操作系統(tǒng)軟件下執(zhí)行,使設備針于系統(tǒng)或網絡結構能夠在不同的任務中發(fā)揮作用。例如,各種電信計算設備可以包括使給定的計算設備能夠起到歸屬位置寄存器(HLR)作用的程序。HLR包括具有用于在蜂窩網絡提供商的家用服務區(qū)域內跟蹤訂戶的程序和數(shù)據(jù)庫。作為另一實例,電信計算設備可以包括使給定的計算設備能夠在無線電信網絡中起到Mobile Switching Center(移動交換中心)(MSC)作用的程序。MSC包括將Public Switched Telephone Network(公用交換的電話網絡(PSTN)中的陸上通訊線連接到無線電話系統(tǒng)上的計算設備。作為另一實例,電信計算設備可以包括使給定的計算設備起到Intelligent NetworkServers(智能網絡服務器)(INS)作用的程序。智能網絡服務器可以充當介質平臺以提供附加的電話服務,如免費的800個呼叫選擇路由和/或虛擬私人網絡呼叫選擇路由。每個HLR、MSC和INS程序被寫以在特定的操作系統(tǒng)中執(zhí)行,所述操作系統(tǒng)駐存于在其上程序將要被運行的計算設備上。
      圖1是示例計算設備110的方框圖。計算設備110可以用作一段電信設備,以起到HLR,MSC或INS(除了別的以外)的作用。圖1示例計算設備110包括應用層116,所述應用層116可以包括具有可執(zhí)行指令的程序應用以致使計算設備110來完成某些功能以為了服務于計算設備110的預期任務,例如,作為HLR,MSC,INS或其它。計算設備進一步包括操作系統(tǒng)層120。如上面所提到的,操作系統(tǒng)層具有包括應用程序接口(API)集合的軟件程序。API的語言和/或消息格式允許操作系統(tǒng)來解釋從應用層中的程序應用所接收到的可執(zhí)行指令并且將結果返回到應用中。當程序指令并不處以正確的語言或消息格式用來與操作系統(tǒng)層120中的API通信時,可以在程序執(zhí)行中出現(xiàn)錯誤。
      如圖1的實施例中所示,計算設備可以被提供有被耦合在應用層116和操作系統(tǒng)層120之間的接口模塊118。將如下面更詳細地加以解釋地那樣,接口模塊118將使應用層116中的程序應用在第一操作系統(tǒng)層120中的第一類型操作系統(tǒng)中適當?shù)貓?zhí)行,所述第一類型操作系統(tǒng)不同于第二類型操作系統(tǒng),程序應用針對所述第二操作系統(tǒng)而被寫。如此處所使用的,第一類型和第二類型的指定標識出存在于操作系統(tǒng)層120中的操作系統(tǒng)與程序應有為此被設計用來執(zhí)行的操作系統(tǒng)的差別。在各種實施例中,所述差別可以是兩個是完全不同的操作系統(tǒng)(例如,Linux操作系統(tǒng)對UNIX操作系統(tǒng))或者所述差別可以是一個操作系統(tǒng)是相同類型操作系統(tǒng)的不同版本(例如,在計算設備上的操作系統(tǒng)是來自UNIX操作系統(tǒng)的較早或較遲代的UNIX操作系統(tǒng),程序應用為此UNIX操作系統(tǒng)而寫。)第一類型和/或第二類型的操作系統(tǒng)中的任何一個可以是Linux,UNIX和/或Windows操作系統(tǒng)(除了別的以外)。然而,實施例并不局限于這些實例。
      接口模塊118可以從應用層116中的程序應用中接收指令并且可以處理這些指令,如下面更加詳細地加以解釋,以返回正確的結果,甚至當程序應用并不針對與操作系統(tǒng)層120中的操作系統(tǒng)軟件相聯(lián)系的特定API而被寫時。
      接口模塊118在許多情形中有用。例如,如較早所提到的,有時取代具有不同或較早代操作系統(tǒng)的某些設備或硬件從經濟性上并不可行。
      較舊的電信計算設備是在此所說明的實施例實施的一個實例。例如,預期充當HLR角色的較舊計算設備可具有某一版本的UNIX操作系統(tǒng)軟件,使相聯(lián)系的API運行在其操作系統(tǒng)層120中。HLR設備將典型地包含在其應用層116中的程序應用,所述程序應用針對某一版本的UNIX操作系統(tǒng)軟件和其相聯(lián)系的API而被寫。這些API將具有由程序應用所使用的語言和消息格式以與操作系統(tǒng)或一些控制程序,如數(shù)據(jù)庫管理系統(tǒng)(DBMS)或通信協(xié)議進行通信。
      程序應用具有可執(zhí)行的指令以致使計算設備完成其預期的任務。對于運行在其為此而被寫的特定操作系統(tǒng)上的程序,程序應用可以訪問操作系統(tǒng)軟件中的適當API以正確地執(zhí)行程序應用的指令。這允許計算設備起到其預期角色的作用,例如在HLR的情況下,用來在提供商的家用服務區(qū)域內維持蜂窩電話網絡提供商的訂戶的數(shù)據(jù)庫。
      根據(jù)各種實施例,接口模塊118可以允許并不是針對上述UNIX操作系統(tǒng)的實例版本而寫的程序應用正確地在計算設備110上被執(zhí)行。正如下面將更詳細地所解釋的那樣,通過提供在UNIX操作系統(tǒng)層120中并未被發(fā)現(xiàn)的適當API的訪問,接口模塊118獲得這個能力。照那樣的,具有與程序應用為其而被寫的操作系統(tǒng)不同類型的操作系統(tǒng)的計算設備110也可以正確地執(zhí)行這些程序應用指令。因而,不同的程序應用可以被提供在應用層116中,所述程序應用針對不同版本的UNIX操作系統(tǒng)軟件而被寫,或者針對不同類型的操作系統(tǒng)軟件,例如Linux操作系統(tǒng)軟件而被寫,并且借助于接口模塊118可以正確地在計算設備110上被執(zhí)行。接口模塊118可以處理來自這樣的程序應用的可執(zhí)行指令,以使這些指令能夠正確地在不同的操作系統(tǒng)上執(zhí)行。處理的實例包括對接口模塊118的解釋、翻譯及轉換操作,并且下面更詳細地加以說明。
      例如,通過解釋哪些指令可以從將必須被進一步加以處理的API進行到操作系統(tǒng)中的原始API,接口模塊118可以處理來自程序應用的指令。這可以通過使用清單、表、矩陣、或可以具有其中列有將處理的指令的其它組織性結構。清單中的指令可以被鏈接到有關指令要做什么的方向上。然后從程序應用被發(fā)送的指令可以與這些所列的指令加以比較。例如,如果從程序應用所發(fā)送的指令并不與清單上的指令相匹配,則所述指令可以被傳遞到操作系統(tǒng)層上。然而,如果從程序應用所發(fā)送的指令與清單中的指令相匹配,則方向可以被用來處理指令。然后指令可以以各種方法被加以處理,例如,通過翻譯指令以從原始的API接收正確的結果,通過轉換來自原始API的結果,或通過將指令導引到經修改的或新的API(除了別的以外)。
      接口模塊118中的清單或查詢表可以包括與計算設備上的第一類型操作系統(tǒng)相聯(lián)系的碼或文件名結構。通過這種方式,當所接收的程序應用指令并不與清單中的碼或文件名結構匹配時,接口模塊118將解釋到指令不得不被翻譯或代用API(例如,新的或經修改的)即將被使用。當所接收到的程序應用指令的確與清單中的碼或文件名結構匹配時,接口模塊118可以將程序應用指令傳遞到第一類型的操作系統(tǒng)。作為選擇地,仿真模塊可以包括與第二類型操作系統(tǒng)相聯(lián)系的碼或文件結構,當在第一類型操作系統(tǒng)上運行程序應用時針對所述第二類型操作系統(tǒng)的API相關錯誤已經被加以識別。通過這種方式,當所接收到的程序應用指令與清單中的碼或文件名匹配時,接口模塊118將指令解釋成需要一代用API并且將程序應用指令導引到代用API。相反地,當所接收到的程序應用指令并不與清單中的任何碼或文件名匹配時,接口模塊118可以將程序應用指令直接發(fā)送到第一類型操作系統(tǒng)。
      如上所陳述,接口模塊118可以翻譯來自應用層116內的程序應用的指令。例如,在一些情況下,第一操作系統(tǒng)將能夠把正確的結果從第二操作系統(tǒng)提供到程序應用,但是由程序應用所使用的指令并不被正確地格式化以要求信息。例如,程序應用指令被設計以通過使用指令READCLOCK從操作系統(tǒng)請求時間,并且期望結果的格式成為例如1:00P.M.July 19,2003。然而,駐留在計算設備上的操作系統(tǒng)并不理解指令READCLOCK,但是如果要求GETTIME,則將以正確的格式(即1:00P.M.July19,2003)返回數(shù)據(jù)。在這種情況下,通過用GETTIME指令代替READCLOCK指令,接口模塊可以翻譯來自程序應用的指令。通過這種方法,指令可以被改變并且在第一操作系統(tǒng)中的原始API可以被使用。
      其中接口模塊118可以采用來處理指令的另一方法是通過轉換從API所接收到的信息。當例如第一操作系統(tǒng)將不能夠將正確的結果從第二操作系統(tǒng)提供到程序應用時,這個類型的處理是有用的,但是來自操作系統(tǒng)的結果可被轉換以提供正確的結果。例如,通過使用與上面所示實例相類似的實例,通過使用指令READCLOCK程序應用請求時間并且期望結果的格式成為1:00P.M.July 19,2003。然而,在這種情況下,操作系統(tǒng)理解指令READCLOCK,但是當被要求時則返回不正確的結果,如130007/19/2003。在這種情況下,通過將結果的格式改變成正確的格式(即1:00P.M.July 19,2003),接口模塊可以轉換來自程序應用的結果。為了實現(xiàn)信息的轉換,軟件算法可以被加以設計以采取軍事時間(即1300)并且將它改變成標準的時鐘時間(即,1:00P.M.)。通過這種方法,結果可以被改變并且在第一操作系統(tǒng)中的原始API可以被使用。
      在一些情形下,操作系統(tǒng)可能不能夠提供可以被程序應用所使用的結果。例如,通過使用與上面所示那些實例類似的實例,第一操作系統(tǒng)并不具有返回時間的功能性,或者可以被返回的時間結果不能夠被轉換。在這些情形下,新的API可以被提供,其將使操作系統(tǒng)能夠提供正確的結果。在其中來自第一操作系統(tǒng)中原始API的結果不能夠被轉換的情況下,接口模塊118可以將指令,如上所說明導引到新的API。
      簡單地說,識別出這樣的API,其使程序應用能夠正確地運行和發(fā)揮作用,但是其并不以另一格式呈現(xiàn)在或存在于計算設備110的操作系統(tǒng)層120,例如第一類型的操作系統(tǒng)上。一旦被識別,則在第一類型操作系統(tǒng),例如在操作系統(tǒng)層120上的現(xiàn)存API可以被拷貝并且被修改或與程序為此而被寫的第二類型操作系統(tǒng)相聯(lián)系的新API可以被添加到接口模塊118以使所需要的API可用于程序應用。通過這種方式,新的API被提供而沒有影響第一類型操作系統(tǒng)內的原始API。原始API可以被保留在操作系統(tǒng)層120中的第一類型操作系統(tǒng)中。如下面更詳細所解釋,當原始的API不適合于特定的程序應用時,接口模塊118可以導引程序指令以繞過原始的API。將API留在第一類型操作系統(tǒng)中的優(yōu)點是第一類型操作系統(tǒng)可以繼續(xù)服務于為那個特定類型操作系統(tǒng)而寫的程序應用。
      通過在接口模塊118中提供新的且經修改的API,計算設備上的操作系統(tǒng)(例如第一類型操作系統(tǒng),其不同于其中程序應用為此而寫的第二類型操作系統(tǒng))并不是不得不被改變。通過使用根據(jù)此處所說明的實施例的接口模塊118,API可以被修改、刪除、以及或被添加而沒影響第一類型的操作系統(tǒng)。
      作為實例且并不作為限制,HLR、MSC和/或INS程序應用(除了別的以外)可以在具有這樣操作系統(tǒng)軟件的計算設備上運行,所述操作系統(tǒng)軟件不同于給定的HLR、MSC和/或INS程序應用為此而寫的軟件。通過這種方法,程序應用,包括為較新的和更魯棒的操作系統(tǒng)而寫的較新電信程序應用,可以被利用在不同類型的操作系統(tǒng)中,而無需不得不重寫整個程序。為在較新的、不同的、和/或更魯棒的操作系統(tǒng)上發(fā)揮作用而寫的較新的或不同的電信程序應用包括所寫的程序應用,以在具有同存在于較早代或不同的電信設備硬件上的操作系統(tǒng)相比更先進的操作系統(tǒng)的較大、較快速、或更專業(yè)的計算設備上執(zhí)行。
      圖2是示例接口模塊218另一實施例的方框圖。接口模塊218可以充當圖1中所示為118的接口模塊。
      如圖2的實施例所示,接口模塊218可以被分成分立的段。在這個實施例中,接口模塊218被分成仿真模塊222和抽象模塊224。仿真模塊222可以包含待被處理的某些程序應用指令的清單或查詢表。仿真模塊222還可以包括用于將這些某些程序應用指令從在操作系統(tǒng)層,例如在圖1中的120中所發(fā)現(xiàn)的那些程序應用指令發(fā)送到API的指令。
      不同的API可以被提供在抽象模塊224中。通過這種方法,操作系統(tǒng)層,例如圖1中的120中的API可以被保留原封不動并且將使用不同API的那些程序應用指令可以被仿真模塊222發(fā)送到抽象模塊224中的不同API。這個實施例還允許程序應用指令用于其它的程序應用,其可以與操作系統(tǒng)層,例如圖1中的120中的API發(fā)揮作用以具有對其的入口。
      在圖2的實施例中,仿真模塊222可以使用軟件和/或固件以接收程序應用指令、將那些指令與清單或查詢表比較、并且當程序應用指令,例如來自于圖1中的應用層116中的程序應用,將不得不被處理或應該使用不同于操作系統(tǒng)軟件(例如在圖1的操作系統(tǒng)層120)中原始API的API時進行識別。仿真模塊222還包括軟件和/或固件,以提供用于將所接收的程序應用指令發(fā)送到其適當?shù)腁PI的方向,不管所述API是在操作系統(tǒng)層,例如圖1中的120中的操作系統(tǒng)軟件中,或當作為抽象模塊224中新的或經修改的API而被提供時。
      仿真模塊222可以提供處理功能如解釋和翻譯程序應用指令并且轉換結果,如就圖1所討論的。在各種實施例中,仿真模塊222可以將程序應用指令發(fā)送到可以處理指令的抽象模塊224中的API。因此,這些API可以正確地執(zhí)行指令,如在應用程序為其而寫的操作系統(tǒng)中的API那樣。
      為了提供抽象模塊224并且給仿真模塊222提供查詢表或清單,為第二類型操作系統(tǒng)而寫的應用程序可以運行在第一類型操作系統(tǒng)(例如駐存在圖1的操作系統(tǒng)層120中用于計算設備110的操作系統(tǒng),在其上需要使用應用程序),以為了優(yōu)先地識別在執(zhí)行應用程序指令中錯誤可能出現(xiàn)在哪里??梢詫Τ霈F(xiàn)在這個演習中的錯誤進行程序分析,以識別哪些錯誤可歸因于對不正確API的訪問。正如本領域中一個普通技術人員所知,當程序應用運行在并不是為它而被加以設計的操作系統(tǒng)上時,API相關的錯誤可以通過對數(shù)據(jù)和操作結果的人工回顧而被識別。即,當程序應用運行在其為此而寫的第二類型操作系統(tǒng)中時,返回的數(shù)據(jù)和/或所執(zhí)行的操作可以與已知的正確數(shù)據(jù)和所接收的操作結果進行比較。軟件還可以被用來監(jiān)視程序應用指令的執(zhí)行并且跟蹤哪些指令被返回而沒有結果(例如被觸發(fā)錯誤)或返回不正確的結果,從而產生數(shù)據(jù)錯誤以及計算設備在別處的故障。
      一旦被識別,為第二類型操作系統(tǒng)而寫的程序應用指令的清單可以被編輯且被存儲在組織結構,如仿真模塊222中的查詢表或清單中,當所述程序應用指令運行在第一類型的操作系統(tǒng)上時其具有API相關的錯誤。同樣,當運行在第一類型操作系統(tǒng)上時具有API相關錯誤的那些程序應用指令的代用API可以被存儲到抽象模塊224中的特定位置。抽象模塊224可以包括軟件、固件和/或其組合以訪問抽象模塊224中的特定存儲器位置。本領域中的普通技術人員將理解代用API可以被提供的方式。例如,存在于程序應用為此而寫的第二類型操作系統(tǒng)中的API可以被拷貝且存儲到抽象模塊224中的特定存儲器位置。同樣,存在于計算設備上的第一類型操作系統(tǒng),例如在圖1的操作系統(tǒng)層120中的API,可以被拷貝、被修改并且被存儲到抽象模塊224中的特定存儲器位置。修改可以包括寫附加的計算機碼以改變API的語言和/或格式或其結果,以便于API不同于加以執(zhí)行。然而,實施例并不取決于API被修改的方式,或代用API被存儲到抽象模塊224中的存儲器位置的方式。
      例如,在一些實施例中,通過向API的編程中添加if-then格式的語句,API的修改可以被實現(xiàn)。if-then語句可以提供如果來自應用的指令請求處以不同于操作系統(tǒng)將提供格式的格式的時間印記,則在將結果返回到程序應用之前,將從操作系統(tǒng)所獲得的時間印記轉換成正確的格式。然而,本發(fā)明并不局限于添加if-then語句,并且各種方法可以被用來改變API的編程以做修改。
      本發(fā)明的實施例包括為那些程序應用指令在仿真模塊222中提供清單或查詢表,其中當運行針對計算設備的第二類型操作而寫的程序應用時已經識別出所述那些程序應用指令的API相關錯誤。一旦被識別,實施例還包括使代用API可用于計算設備,不管計算設備將被用作HLR、MSC、INS或其它什么。不管代用API是從其中特定的應用為此而寫的第二類型操作系統(tǒng)中,還是從第一類型的操作系統(tǒng)中被拷貝,且然后被修改,或是新的API,它們均被存儲到抽象模塊224中特定的存儲器位置。然后仿真模塊222被提供有路由選擇方向,以便于當為第二類型操作系統(tǒng)而寫的且當運行在第一類型操作系統(tǒng)中時具有API相關錯誤的程序的程序應用指令被仿真模塊222接收時,仿真模塊222可以將這些特定的程序應用指令發(fā)送到抽象模塊224中的代用API中。換句話說,當程序應用指令被仿真模塊222所接收時,模塊222上面的軟件和/或固件可以將所接收的指令與清單或查詢表進行比較以查明程序應用指令是否已經在抽象模塊224中被提供有代用API。本發(fā)明的實施例并不局限于用于執(zhí)行查閱并且比較功能的特定軟件程序,并且本領域中的一個普通技術人員將理解這樣的功能可以被加以執(zhí)行的方式。然而,一旦從代用API存在的清單或查詢表中被識別,則仿真模塊222將這些程序應用指令導引到抽象模塊224中代用API的正確位置。
      就圖1中接口模塊118所說明,圖2中的接口模塊218可以處理指令,如通過解釋、翻譯以及/或轉換程序應用指令。使用圖2中接口模塊218來解釋指令的實例被提供如下。當來自應用層,例如圖1中的應用層116的程序應用指令被仿真模塊222所接收時,仿真模塊222將指令與其清單或查詢表進行比較并且可發(fā)現(xiàn)這個指令是這樣的一個指令,在操作系統(tǒng)層,例如圖1中的操作系統(tǒng)層120中并不存在所述指令的適當API。照那樣地,仿真模塊222將這個程序應用指令解釋為需要代用API。因而,仿真模塊222使用清單或查詢表來為這個程序應用指令發(fā)現(xiàn)到可以處理所述指令的抽象模塊224中代用API的適當路由選擇方向。
      因此,本發(fā)明的實施例包括接口模塊218,其可以被添加在應用層,例如圖1中的應用層116與操作系統(tǒng)層,例如圖1中的操作系統(tǒng)層120的數(shù)據(jù)路徑之間。根據(jù)實施例,如上所說明,包括仿真模塊222和抽象模塊224的接口模塊218被添加到較早代的計算設備上,所述計算設備具有與某些類型的程序應用并不為此而寫的操作系統(tǒng)不同類型的操作系統(tǒng)。通過如此做,則這些某些類型的程序應用可以正確地在較早代的計算設備上執(zhí)行。
      圖3是示例接口模塊另一實施例的方框圖。接口模塊318可以代替在如圖1中所示設備中的接口模塊118。
      圖3實施例中的接口模塊318以附加的方法被分割。例如,接口模塊318的功能可以被分成獨立的主題模塊,如操作系統(tǒng)仿真模塊322以處理與計算設備的操作系統(tǒng)功能相聯(lián)系的API語言和格式,以及網絡服務器仿真模塊以處理與計算設備的網絡服務器功能相聯(lián)系的API語言和格式。然而,本發(fā)明并不局限于此(例如,一個模塊可執(zhí)行幾個模塊的功能或一個模塊可被包括在另一模塊中等)。對于圖2的實施例,圖3的實施例提供將功能分割成截然不同的模塊,其允許模塊被添加、被編輯、或被去除而不影響其中的其它模塊。在圖3中,接口模塊318被分割成幾個模塊,其包括操作系統(tǒng)仿真模塊322、抽象模塊324、網絡服務器仿真模塊326及部件模塊328。
      在圖3中所示的實施例中,網絡服務器仿真模塊326可以將有關網絡功能性的指令導引到API用于執(zhí)行網絡功能。API可以在操作系統(tǒng)層中,在抽象模塊324中,或抽象模塊324可以被分割成用于網絡服務器功能和操作系統(tǒng)功能(除了別的以外)的單獨模塊。
      例如,在電信網絡中,網絡服務器如HLR保持對網絡用戶的跟蹤。這典型地通過識別具有標識號的用戶而完成。一些類型的標識號包括移動標識號(MIN)、電子序列號、以及國際移動設備標識符(IMEI)。在一些情況下,被設計用于第二類型操作系統(tǒng)的網絡服務器應用通過使用由使用第二類型操作系統(tǒng)的API而建立的數(shù)據(jù)庫來跟蹤標識號,以指令操作系統(tǒng)正確地將新的數(shù)據(jù)格式化進入數(shù)據(jù)庫。當應用運行在具有第一類型操作系統(tǒng)的設備上時,用于建立標識號數(shù)據(jù)庫的API可以是不同的,因此,信息可能被丟失、被不正確地定位、或更新可能不被執(zhí)行。
      在這些情況下,用于在第一類型操作系統(tǒng)中數(shù)據(jù)庫管理的現(xiàn)存API可以被修改或者提供可以將進入的數(shù)據(jù)格式化并且/或將其放置在接口模塊318內的正確位置中的新API。這些經修改的和/或新的API可以被提供在接口模塊318內,如在抽象模塊324內。到經修改的和/或新的API的方向可以被提供在網絡服務器仿真模塊326中。通過這種方法,網絡服務器功能可以被網絡服務器仿真模塊,例如圖3中的NS模塊326所賦址,而同時其它功能性如操作系統(tǒng)功能可以被一個或更多個其它模塊如操作系統(tǒng)仿真模塊322所尋址。
      附加地,部件模塊328可以被提供,其中部件可以由可以被插入來提供特定特點的第一方加以設計或提供。這個實施例還示例可以使設備適應于利用組裝軟件模塊,所述組裝軟件模塊提供必要的功能而無需不得不將整個碼重寫進設備中。例如,如果時間印記模塊已經被設計,則模塊可以作為部件模塊328被插入并且操作系統(tǒng)仿真模塊322可以將時間印記請求導引到部件模塊328中。
      在各種實施例中,接口模塊318可以被用來解釋、翻譯、和/或轉換來自應用層或操作系統(tǒng)層的指令或結果。附加地,接口模塊318的各種模塊,如模塊322、324、326和328可以將信息在彼此之間傳遞以為了執(zhí)行來自應用程序的指令并且提供正確的結果。
      實施例可以由在此處或其它地方所示的系統(tǒng)和設備上可操作的計算可執(zhí)行指令、軟件、和應用模塊來執(zhí)行。然而,本發(fā)明的實施例并不局限于任何特定的操作環(huán)境或以特定編程語言而寫的軟件。適合于執(zhí)行本發(fā)明實施例的軟件、應用模塊和/或計算機可執(zhí)行指令可以駐留在一個或更多個設備或位置中或在幾個甚至許多位置中。
      圖4是移動網絡實施例的方框圖,其示例與移動交換中心(MSC)404進行通信的移動設備402。一種類型的移動網絡包括與本領域中一個普通技術人員所知且理解相同的IS-41/CDMA網絡。就可以得益于本發(fā)明實施例的計算設備環(huán)境的類型,圖4的實施例被提供以作為參考。
      在典型的無線電信系統(tǒng)中,MSC被連接到由系統(tǒng)所服務的貫穿于地理區(qū)域而分散的多個基站。由無線電信系統(tǒng)所服務的地理區(qū)域被分割成若干被稱為“單元”的空間上截然不同的區(qū)域。每個MSC負責(除了別的以外)建立且維護移動設備之間以及移動設備與無線終端之間的呼叫,所述無線終端經由當?shù)睾?或長途網絡被連接到系統(tǒng)上。MSC是專門用于無線和移動支持的電話交換。MSC執(zhí)行各種功能,包括移動管理、呼叫傳接(handoff)、呼叫允許、呼叫控制、資源分配等。然后呼叫被從MSC中繼到基站并且經由無線通信到移動設備。
      在圖4中,每當移動設備402觸發(fā)或漫游進入新的MSC覆蓋區(qū)域(即,MSC所負責的“單元”),新的MSC變成服務MSC。移動設備將其所存儲的身份經由基站406傳遞到新的服務MSC。如圖4中所示,訂戶身份信息以應允空氣接口(air interface)(例如ANSI/IS-41)的格式被傳遞經過無線通道408并且被基站406的天線410所檢測?;?06反過來將訂戶身份信息傳遞到服務MSC 404,如例如經由通信線412。
      為了向最新登記的移動設備402提供移動服務,服務MSC 404經由發(fā)信號鏈路如信號傳遞點(STP)414將移動應用部件基信號,如登記通知信號(IS-41消息)或位置更新信號(GSM消息)傳遞到歸屬位置寄存器(HLR)416。STP是發(fā)信號系統(tǒng)7(SS7)電話網絡中的節(jié)點,所述網絡在交換之間以及交換與支撐訂戶與路由選擇信息的數(shù)據(jù)庫之間發(fā)送消息。HLR是在蜂窩系統(tǒng)中的一個這樣的數(shù)據(jù)庫,其包含在提供商的家用服務區(qū)域內的所有訂戶。在HLR中的數(shù)據(jù)被請求且經由SS7被傳輸?shù)叫聟^(qū)域中的VLR。
      在圖4的實施例中,STP 414將MAP基信號發(fā)送到網關MSC 418。如圖4中所示,網關418可以充當網絡交換用于連接到公用交換的電話網絡(PSTN)420。SS7是用在PSTN中用于建立呼叫且提供服務的協(xié)議。SS7網絡建立且拆毀呼叫、自理所有路由選擇決定且支持所有現(xiàn)代的電話服務,如當?shù)靥柎a可移植性(LNP)(local number portability)。當訂戶重新安置在國家的不同地區(qū)時,甚至在當?shù)貐^(qū)域碼可不同時,LNP允許電話訂戶持有他/她的電話號碼。通過使用被已知為信號傳輸點(STP)的分組交換(packet switch),被已知為服務交換點(SSP)的語音交換問詢服務控制點(SCP)數(shù)據(jù)庫。
      MAP基信號通知HLR 416與目前服務于移動設備402的MSC 404相聯(lián)系的網絡地址,并且還請求必要的訂戶信息用于將移動服務提供到漫游移動設備402。HLR 416更新其基站以存儲表示服務MSC 404的網絡地址并且將所請求的訂戶信息拷貝到與服務MSC 404相聯(lián)系的VLR 422。存儲于HLR 416中的表示服務MSC 404的網絡地址隨后被移動網絡所利用,以將打算供移動設備402使用的任何進入呼叫改道發(fā)送到服務MSC404。
      因而,每當電信訂戶撥打移動服務402的電話號碼,HLR 416被移動網絡問詢以確定移動設備402的當前位置。通過利用在HLR 416中所存儲的表示服務MSC 404的網絡地址,響應于問詢信號的接收HLR 416從服務MSC 404請求漫游號碼。然后由服務MSC 404所提供的漫游號碼被電信網絡使用以將進入的信號發(fā)送到服務MSC 404。然后服務MSC 404傳呼移動設備402并且因而建立了與移動設備402的語音連接,如果可獲得的話。
      如果移動設備402漫游出服務MSC 404的覆蓋區(qū)域并且進入到另一MSC 424的覆蓋區(qū)域,則MSC 404將通信傳接到MSC 424和基站426。在電信網絡的這個實施例中,在網絡內的MSC、HLR、VLR和其它計算機設備可以使用接口模塊,如就圖1-3所詳細說明的那些模塊,以使設備能夠運行來自不同的或其它版本操作系統(tǒng)的程序應用。通過這種方法,網絡可以使用可以改善網絡的性能而不改變網絡硬件的不同軟件。
      正如人們從學習上述所說明的實施例中所理解的,MSC、HLR和/或VLR等全部是可以被接口模塊加以補充的計算設備。當根據(jù)在此處所說明實施例的接口模塊被耦合在應用層和操作系統(tǒng)層之間時,為第二類型操作系統(tǒng)而寫的程序應用將能夠運行在計算設備上的第一類型操作系統(tǒng)中且正確地加以執(zhí)行,即使所述第一類型的操作系統(tǒng)不同于程序為此而寫的操作系統(tǒng)。
      圖5-6示例用于在選擇性平臺上執(zhí)行應用的方法實施例。除非明確地加以陳述,在此所說明的方法實施例并不限制于特定的次序或順序。附加地,一些所說明的方法實施例和其要素可以在相同的時間出現(xiàn)或被加以執(zhí)行。附加地,本領域中的普通技術人員將理解到在本發(fā)明實施例內的一個或更多個各種部件可以包括計算可讀取介質,在所述介質上可以驗留計算機可執(zhí)行的指令集合。計算機可執(zhí)行的介質的形式包括閃存儲器、RAM、ROM和DDRAM,除了別的以外。
      圖5是用于在選擇性平臺上執(zhí)行應用的方法實施例的方框圖。在圖5中,所述方法包括在塊510處的提供身為第一類型的操作系統(tǒng),為第二類型操作系統(tǒng)而配置的應用以及接口模塊。在各種實施例中,為第二類型操作系統(tǒng)而配置的應用可以包括不間斷的核心型操作系統(tǒng)。第二和/或第一類型的操作系統(tǒng)可以包括Linux,Windows,或UNIX基的操作系統(tǒng),除了別的以外。
      圖5的方法還包括在塊520處的將指令從應用通信到接口模塊。所述實施例還包括在塊530處的如通過解釋、翻譯或轉換來處理指令以能夠在第一類型操作系統(tǒng)發(fā)揮作用。處理指令可以包括使用待被處理的指令清單。
      圖6是用于在選擇性平臺上執(zhí)行應用的另一方法實施例的方框圖。在圖6的實施例中,所述方法包括在塊610處的將指令從應用通信到接口模塊,所述應用為第一系統(tǒng)操作系統(tǒng)而配置。在各種實施例中,將指令從應用通信到接口模塊可以包括通信到操作系統(tǒng)仿真模塊、網絡服務器仿真模塊、抽象模塊、或在接口模塊內的部件模塊。
      被示例于圖6中的方法還包括在塊620處的利用接口模塊,如通過解釋、翻譯或轉換指令來處理來自應用的指令。解釋指令可以包括將來自操作系統(tǒng)仿真模塊的指令導引到應用程序接口。圖6的方法還包括在塊630處的將來自接口模塊的指令通信到第二類型操作系統(tǒng)。所述方法還包括識別待被翻譯和/或轉換的指令。
      在此已經示例且說明了特定的實施例,在領域中的那些普通技術人員將理解到為取得相同技術而加以計算的任何裝置可以替代所示的具體實施例。這個公開內容旨在覆蓋本發(fā)明各種實施例的適應或變型。要理解到已經以示例性型式而不是以限制性型式做出上述說明。
      在回顧上述說明時,上述實施例與在此未加以特別說明的其它實施例的組合對本領域中的普通技術人員將是顯而易見的。本發(fā)明各種實施例的范圍包括其中使用上述結構和方法的任何其它應用。因此,本發(fā)明各種實施例的范圍應該參考所附的權利要求,連同這種權利要求所賦予的全范圍等效物被加以確定。
      在上述詳細的說明中,出于簡化公開內容的目的,各種特點被共同集合在單個實施例中。這種公開內容的方法并不被解釋成反映這樣的旨意,即本發(fā)明的實施例要求比在每個權利要求中所明確敘述的特征還要多的特片。相反,如下面的權利要求所反映,發(fā)明性的主題在于少于單個所公開的實施例中的全部特征。因此,下面的權利要求在此被引入到詳細說明中,使每個權利要求本身獨自作為單獨的實施例。
      權利要求
      1.一種計算設備110,包括應用層116;具有第一類型操作系統(tǒng)和相聯(lián)系的應用程序接口(API)的操作系統(tǒng)層120;以及被耦合在應用層116和操作系統(tǒng)層120之間的接口模塊118,其中所述接口模塊118從應用層116中為第二類型操作系統(tǒng)而寫的程序中接收程序指令并且通過將指令導引到正確執(zhí)行指令的API來處理所述指令。
      2.根據(jù)權利要求1的計算設備110,其中所述接口模塊118包括用于仿真若干操作系統(tǒng)功能的操作系統(tǒng)仿真模塊322。
      3.根據(jù)權利要求1的計算設備110,其中所述接口模塊118仿真操作系統(tǒng)功能和網絡服務器功能。
      4.根據(jù)權利要求1的計算設備110,其中所述接口模塊118仿真歸屬位置寄存器的功能。
      5.根據(jù)權利要求1的計算設備110,其中所述接口模塊118仿真智能網絡服務器功能。
      6.根據(jù)權利要求1的計算設備110,其中所述接口模塊118在位于接口模塊118內的分立模塊中具有用于仿真操作系統(tǒng)功能和網絡服務器功能的部分。
      7.根據(jù)權利要求1的計算設備110,其中接口模塊118通過解釋指令是否必須被進一步處理來處理程序指令。
      8.根據(jù)權利要求7的計算設備110,其中接口模塊118轉換從操作系統(tǒng)層120所接收的結果,以便于所轉換的結果處以應用程序可以使用以執(zhí)行指令的格式。
      9.根據(jù)權利要求7的計算設備110,其中應用接口模塊118翻譯所接收的指令以便于操作系統(tǒng)層120可以執(zhí)行指令。
      全文摘要
      用于進行程序接口的一種方法、系統(tǒng)和設備實施例被公開。計算設備110可以包括應用層116、操作系統(tǒng)層120和接口模塊118。操作系統(tǒng)層120可以包括第一類型的操作系統(tǒng)和相聯(lián)系的應用程序接口(API)。接口模塊118可以被耦合在應用層116和操作系統(tǒng)層120之間。接口模塊118可以從應用層116中為第二類型操作系統(tǒng)而寫的程序中接收程序指令并且通過將指令導引到正確執(zhí)行指令的API可以處理所述指令。
      文檔編號G06F9/455GK1609791SQ200410064418
      公開日2005年4月27日 申請日期2004年8月24日 優(yōu)先權日2003年10月24日
      發(fā)明者J·A·林布, J·G·吉布勒爾, J·M·卡梅倫 申請人:惠普開發(fā)有限公司
      網友詢問留言 已有0條留言
      • 還沒有人留言評論。精彩留言會獲得點贊!
      1