專利名稱:使設(shè)備驅(qū)動(dòng)可跨操作系統(tǒng)平臺(tái)移植的抽象設(shè)備驅(qū)動(dòng)模型的制作方法
背景技術(shù):
本發(fā)明是關(guān)于數(shù)字視頻轉(zhuǎn)換軟件/固件領(lǐng)域,用于有線電視或衛(wèi)星電視這樣的用戶網(wǎng)絡(luò)。它特別為機(jī)頂終端的設(shè)備驅(qū)動(dòng)程序提供了抽象接口模型。
最近,數(shù)字機(jī)頂終端的出現(xiàn)刺激了有線電視網(wǎng)絡(luò)/衛(wèi)星電視網(wǎng)絡(luò)這樣的用戶電視網(wǎng)絡(luò)的成長(zhǎng)。這些終端可以使節(jié)目服務(wù)的層增加,并支持許多軟件應(yīng)用程序和功能,如電子節(jié)目單、股票或天氣條幅(banner)、家中購(gòu)物和銀行服務(wù)、游戲等等。此外,這種趨勢(shì)有望繼續(xù)發(fā)展,與電話、電視和計(jì)算機(jī)網(wǎng)絡(luò)匯合并促進(jìn)家中計(jì)算機(jī)網(wǎng)絡(luò)的增長(zhǎng)。
每個(gè)終端包括多種硬件設(shè)備,例如,調(diào)諧器、解調(diào)器、MPEG-2譯碼器(如音頻、視頻和數(shù)據(jù))、視頻編碼器、音頻混合器等等,他們分別由各自的驅(qū)動(dòng)過程控制。
另外,每個(gè)終端使用一個(gè)操作系統(tǒng)平臺(tái)控制終端功能。操作系統(tǒng)有一個(gè)分層結(jié)構(gòu)(hierarchical structure),其中的功能根據(jù)抽象層的不同是獨(dú)立的。在結(jié)構(gòu)的底部,最低的抽象層(abstract level)或?qū)哟?layer)是硬件層。上一層是設(shè)備驅(qū)動(dòng)程序?qū)?。在結(jié)構(gòu)的頂部,典型的最高抽象層是客戶層。此外,每個(gè)層管理一組對(duì)象(object),可以是硬件對(duì)象也可以是軟件對(duì)象,并定義在對(duì)象上進(jìn)行的操作。
但是,傳統(tǒng)上必須對(duì)每個(gè)操作系統(tǒng)平臺(tái)(例如,不同的視頻轉(zhuǎn)換廠商,或者同一廠商的不同視頻轉(zhuǎn)換模型)分別實(shí)現(xiàn)設(shè)備驅(qū)動(dòng)程序。另外,為支持不同操作系統(tǒng)平臺(tái)可能還會(huì)需要一個(gè)單獨(dú)的硬件平臺(tái)。甚至有可能同一網(wǎng)絡(luò)的不同終端要有不同的操作系統(tǒng)。
機(jī)頂終端中操作系統(tǒng)的連續(xù)變更通常是由改進(jìn)、成本降低、新組件以及第二來源廠商引起的。這就存在一個(gè)問題,因?yàn)榧词姑總€(gè)網(wǎng)絡(luò)都只使用單一的操作系統(tǒng)平臺(tái),終端廠商也必須為不同網(wǎng)絡(luò)的不同操作系統(tǒng)生成不同的設(shè)備驅(qū)動(dòng)程序。一個(gè)網(wǎng)絡(luò)的操作系統(tǒng)的設(shè)備驅(qū)動(dòng)程序不能很容易地移植(migrate)到另一個(gè)網(wǎng)絡(luò)的操作系統(tǒng)中。
開發(fā)并提供更新的終端設(shè)備驅(qū)動(dòng)程序軟件/固件會(huì)額外增加終端廠商和網(wǎng)絡(luò)供貨商的費(fèi)用。
具體地講,特定操作系統(tǒng)的設(shè)備驅(qū)動(dòng)程序與操作系統(tǒng)結(jié)合得十分緊密,這就意味著驅(qū)動(dòng)程序在整個(gè)實(shí)現(xiàn)過程中包含了操作系統(tǒng)特定的詳細(xì)信息,因此在每個(gè)操作系統(tǒng)平臺(tái)下開發(fā)驅(qū)動(dòng)程序都需要一個(gè)完整的開發(fā)周期。
隨著技術(shù)的進(jìn)步,終端不斷的升級(jí)和更新,這個(gè)問題變得更加復(fù)雜。
因此,提供一個(gè)設(shè)備驅(qū)動(dòng)程序抽象接口模型是符合需要的。此模型使我們能夠開發(fā)單一一組設(shè)備驅(qū)動(dòng)程序代碼(code)和多種視頻轉(zhuǎn)換操作系統(tǒng)下編譯并執(zhí)行的設(shè)備用戶代碼。該接口應(yīng)該可以讓多個(gè)操作系統(tǒng)和視頻轉(zhuǎn)換平臺(tái)下的設(shè)備驅(qū)動(dòng)程序僅實(shí)現(xiàn)一次。DCT5000系列終端就是這樣的一個(gè)合適的平臺(tái),由本文中的專利擁有人通用儀器公司(General Instrument Corporation)生產(chǎn)。
接口應(yīng)該允許設(shè)備驅(qū)動(dòng)程序與客戶之間的雙向通信。
無論硬件設(shè)備運(yùn)行何種操作系統(tǒng),接口應(yīng)該保證硬件設(shè)備對(duì)終端客戶看上去是相同的(例如,無論何種應(yīng)用程序或其它實(shí)體(entity)與設(shè)備進(jìn)行通信)。相似地,無論使用何種操作系統(tǒng),對(duì)于實(shí)際設(shè)備驅(qū)動(dòng)程序來說,客戶看上去也應(yīng)該是相同的。
接口應(yīng)該可以使跨越操作系統(tǒng)平臺(tái)和硬件平臺(tái)的體系結(jié)構(gòu)(architecture)和代碼共享。
接口應(yīng)該對(duì)所有操作系統(tǒng)可用,無論該系統(tǒng)是否具有專用的(操作系統(tǒng)特定的)設(shè)備驅(qū)動(dòng)程序接口。
接口應(yīng)該可以使用面向?qū)ο蠡蛎嫦蜻^程的編程語(yǔ)言實(shí)現(xiàn)。
本發(fā)明提供的設(shè)備驅(qū)動(dòng)程序抽象接口模型就具有以上優(yōu)點(diǎn)以及其它優(yōu)勢(shì)。
發(fā)明概要本發(fā)明討論的是機(jī)頂終端中設(shè)備驅(qū)動(dòng)程序的抽象接口模型。
本發(fā)明使驅(qū)動(dòng)程序核心邏輯(core logic)只需開發(fā)一次。核心需要針對(duì)每個(gè)操作系統(tǒng)平臺(tái)分別進(jìn)行編譯。
在一特別實(shí)施例中,本發(fā)明提供一種客戶與終端的設(shè)備驅(qū)動(dòng)程序之間進(jìn)行通信的方法,在這里終端有相關(guān)特定的操作系統(tǒng),設(shè)備驅(qū)動(dòng)程序運(yùn)行在該系統(tǒng)下。該方法包含提供第一抽象接口的步驟,該接口將具有與操作系統(tǒng)無關(guān)的格式的客戶服務(wù)請(qǐng)求轉(zhuǎn)換為具有兼容于特定操作系統(tǒng)格式的設(shè)備驅(qū)動(dòng)程序的調(diào)用(call)。
特別地,第一抽象接口適配為可以為設(shè)備驅(qū)動(dòng)程序提供任何格式(每種格式兼容于各自相應(yīng)的操作系統(tǒng))的調(diào)用。
有了專用(操作系統(tǒng)特定)的設(shè)備驅(qū)動(dòng)程序接口以后,設(shè)備驅(qū)動(dòng)程序接口經(jīng)過修改可以接收直接來自于其它客戶(具有兼容于特定操作系統(tǒng)的格式)的第二調(diào)用。第二調(diào)用不通過第一抽象接口傳遞。進(jìn)一步講,設(shè)備驅(qū)動(dòng)程序接口通過第二抽象接口向設(shè)備驅(qū)動(dòng)程序提供第二調(diào)用。
使客戶與終端的設(shè)備驅(qū)動(dòng)程序之間能夠進(jìn)行通信的一種相關(guān)方法(在這里終端有相關(guān)的特定的操作系統(tǒng),設(shè)備驅(qū)動(dòng)程序運(yùn)行于該系統(tǒng)下)包含提供第一抽象接口的步驟,該接口將來自于設(shè)備驅(qū)動(dòng)程序的信息(具有特定操作系統(tǒng)格式)轉(zhuǎn)換為客戶使用的相應(yīng)信息(與操作系統(tǒng)無關(guān)的格式)。
第一抽象接口經(jīng)過修改可以將信息從任何一種格式(每種格式兼容于各自相應(yīng)的操作系統(tǒng))轉(zhuǎn)換為客戶使用的與操作系統(tǒng)無關(guān)的格式。
本發(fā)明還說明相應(yīng)的儀器。
圖1示例了本發(fā)明描述的帶有專用設(shè)備驅(qū)動(dòng)程序接口的操作系統(tǒng)使用的設(shè)備驅(qū)動(dòng)程序抽象接口模型。
圖2示例了本發(fā)明描述的不帶有專用設(shè)備驅(qū)動(dòng)程序接口的操作系統(tǒng)使用的設(shè)備驅(qū)動(dòng)程序抽象接口模型。
具體實(shí)施例方式
本發(fā)明討論的是機(jī)頂終端中設(shè)備驅(qū)動(dòng)程序的抽象接口模型。
著名的面向?qū)ο笤O(shè)計(jì)技術(shù)提供了一種抽象創(chuàng)建對(duì)象的方法。設(shè)計(jì)者可以創(chuàng)建提供抽象接口的對(duì)象而不需要直接了解對(duì)象例示(instantiation)的詳細(xì)信息。這是在軟件運(yùn)行時(shí)動(dòng)態(tài)發(fā)生的。
本發(fā)明按以下方式延伸或修改了這個(gè)概念。為所有的操作系統(tǒng)只創(chuàng)建一個(gè)驅(qū)動(dòng)程序接口。這在編譯源代碼時(shí)完成并僅進(jìn)行一次(靜態(tài)地)。
因此,當(dāng)開發(fā)一個(gè)新的操作系統(tǒng)平臺(tái)時(shí),僅需要開發(fā)代理(proxy)、操作系統(tǒng)特定的驅(qū)動(dòng)程序以及操作系統(tǒng)特定的驅(qū)動(dòng)程序支持。典型情況下這只需要開發(fā)周期的十分之一或更少,因此會(huì)節(jié)約大量的時(shí)間和成本。
具體地講,所有的設(shè)備驅(qū)動(dòng)程序邏輯都位于設(shè)備驅(qū)動(dòng)程序核心控制中或在其中實(shí)現(xiàn)。此模塊(module)或子系統(tǒng)緊靠硬件設(shè)備層并與硬件設(shè)備直接通信,或者在操作系統(tǒng)特定的驅(qū)動(dòng)程序支持子系統(tǒng)的協(xié)助下與硬件設(shè)備通信。注意,核心控制包括此體系結(jié)構(gòu)中的大部分代碼。
設(shè)備驅(qū)動(dòng)程序核心控制實(shí)現(xiàn)在設(shè)備驅(qū)動(dòng)程序抽象接口中定義的邏輯。此接口定義驅(qū)動(dòng)程序必須提供的服務(wù)。核心控制包括需要提供這些服務(wù)的所有代碼。
圖1示例了本發(fā)明描述的帶有專用設(shè)備驅(qū)動(dòng)程序接口的操作系統(tǒng)使用的設(shè)備驅(qū)動(dòng)程序抽象接口模型。該專用設(shè)備程序接口130可能是Microsoft(tm)的Windows CE。
分層的設(shè)備驅(qū)動(dòng)程序模型100包括110、120、130、140、150和160等層次。典型情況下操作系統(tǒng)僅需要為其接口在一層上實(shí)現(xiàn)一個(gè)驅(qū)動(dòng)程序。底層160是最低的抽象層,它包括機(jī)頂終端中硬件設(shè)備本身162。
下一抽象層150包括第二設(shè)備驅(qū)動(dòng)程序抽象接口152、設(shè)備驅(qū)動(dòng)程序核心控制154和操作系統(tǒng)特定的驅(qū)動(dòng)程序支持156。下一個(gè)抽象層140包括操作系統(tǒng)特定的驅(qū)動(dòng)程序?qū)崿F(xiàn)142。下一個(gè)抽象層130包括操作系統(tǒng)設(shè)備驅(qū)動(dòng)程序接口132。
下一抽象層120包括第一設(shè)備驅(qū)動(dòng)程序抽象接口122和設(shè)備驅(qū)動(dòng)程序代理124。
下一抽象層110是最高層,它包括使用設(shè)備驅(qū)動(dòng)程序抽象接口122的客戶112和使用操作系統(tǒng)設(shè)備驅(qū)動(dòng)程序接口132的用戶114。
注意,雖然圖中只顯示了一個(gè)設(shè)備,本發(fā)明適用于機(jī)頂終端中任意數(shù)量的設(shè)備。
在圖1的體系結(jié)構(gòu)中,操作系統(tǒng)特定設(shè)備驅(qū)動(dòng)程序142使用第二設(shè)備驅(qū)動(dòng)程序抽象接口152來控制或驅(qū)動(dòng)設(shè)備驅(qū)動(dòng)程序核心控制154。特別地,帶有操作系統(tǒng)特定設(shè)備驅(qū)動(dòng)程序142的140這一層將操作系統(tǒng)特定的設(shè)備驅(qū)動(dòng)程序調(diào)用(與特定的操作系統(tǒng)結(jié)合),轉(zhuǎn)換或變換為設(shè)備驅(qū)動(dòng)程序抽象接口152定義的抽象設(shè)備驅(qū)動(dòng)程序調(diào)用。
操作系統(tǒng)本身通過操作系統(tǒng)定義的驅(qū)動(dòng)程序接口132調(diào)用(invoke)操作系統(tǒng)特定的設(shè)備驅(qū)動(dòng)程序142內(nèi)的服務(wù)。例如,操作系統(tǒng)可能是Microsoft(tm)Windows CE。此操作系統(tǒng)調(diào)用Windows CE設(shè)備驅(qū)動(dòng)程序內(nèi)格式為″xxx_IOCTL″的調(diào)用,其中″xxx″代表WindowsCE設(shè)備名稱。
Windows CE是一個(gè)關(guān)于驅(qū)動(dòng)過程調(diào)用的例子,其中代理調(diào)用″設(shè)備輸入輸出控制″(″DeviceIoControl″)調(diào)用來傳遞Win CE設(shè)備名稱。
對(duì)于客戶112,設(shè)備驅(qū)動(dòng)程序代理124使用抽象接口122代替了設(shè)備驅(qū)動(dòng)程序154,該抽象接口在功能上與設(shè)備驅(qū)動(dòng)程序核心控制154實(shí)現(xiàn)的設(shè)備驅(qū)動(dòng)程序接口152相同。這些客戶包括中間件(middleware)和應(yīng)用程序等等。因此,看起來客戶好象是與驅(qū)動(dòng)程序核心本身之間直接存在接口。另外,代理124將來自客戶112的接口服務(wù)請(qǐng)求轉(zhuǎn)換或變換到與其關(guān)聯(lián)的操作系統(tǒng)特定的系統(tǒng)設(shè)備。
此外,抽象接口122、152處理由驅(qū)動(dòng)程序到客戶的通信數(shù)據(jù),該數(shù)據(jù)可以是同步的(synchronous),也可以是異步的(asynchronous)。對(duì)于同步通信,驅(qū)動(dòng)程序154僅在客戶110、114請(qǐng)求時(shí)為其提供數(shù)據(jù)。在客戶到驅(qū)動(dòng)程序的通信連接中,數(shù)據(jù)像描述的那樣跨過操作系統(tǒng)驅(qū)動(dòng)程序邊界進(jìn)行傳遞。
異步通信在客戶沒有請(qǐng)求,而驅(qū)動(dòng)程序又要發(fā)送客戶數(shù)據(jù)(例如信息)時(shí)發(fā)生。注意驅(qū)動(dòng)程序只通知客戶它有這些數(shù)據(jù),然后客戶必須同步檢索數(shù)據(jù)??梢愿爬橐韵聨撞?.驅(qū)動(dòng)程序要向客戶傳遞數(shù)據(jù)。
2.驅(qū)動(dòng)程序通過一個(gè)事件異步地向客戶發(fā)送信號(hào)。
3.客戶發(fā)出同步操作來檢索(retrieve)數(shù)據(jù)或讀取數(shù)據(jù)。
概括地講,設(shè)備驅(qū)動(dòng)程序代理124將來自于客戶110的抽象接口請(qǐng)求轉(zhuǎn)換為操作系統(tǒng)特定的設(shè)備驅(qū)動(dòng)程序系統(tǒng)調(diào)用。然后操作系統(tǒng)接著調(diào)用(invoke)操作系統(tǒng)特定的驅(qū)動(dòng)程序。操作系統(tǒng)特定的驅(qū)動(dòng)程序142將請(qǐng)求轉(zhuǎn)換回驅(qū)動(dòng)程序接口請(qǐng)求,即與客戶初始執(zhí)行的調(diào)用相同的接口調(diào)用。在設(shè)備驅(qū)動(dòng)程序核心154中執(zhí)行此請(qǐng)求。
最后,外部客戶在訪問驅(qū)動(dòng)程序時(shí)可以選擇兩個(gè)接口路徑。首先,抽象接口122、152可以以內(nèi)部客戶(例如視頻轉(zhuǎn)換廠商開發(fā)的客戶)的方式使用,例如圖1中的客戶112。其次,可以直接使用操作系統(tǒng)驅(qū)動(dòng)程序接口,如圖1中的客戶114。
外部客戶是指視頻轉(zhuǎn)換廠商的外部。外部客戶包括需要使用廠商驅(qū)動(dòng)程序的實(shí)體,例如像Liberate Technologies(tm)、美國(guó)加州的SanCarlos這樣的中間件開發(fā)商或像Microsoft這樣的操作系統(tǒng)開發(fā)商。
圖2示例了本發(fā)明描述的不帶有專用設(shè)備驅(qū)動(dòng)程序接口的操作系統(tǒng)使用的設(shè)備驅(qū)動(dòng)程序抽象接口模型。
分層結(jié)構(gòu)模型200包括層210、250和260。底層260包括硬件設(shè)備262。下一抽象層250包括設(shè)備驅(qū)動(dòng)程序抽象接口252、設(shè)備驅(qū)動(dòng)程序核心控制254和操作系統(tǒng)特定的驅(qū)動(dòng)程序支持256。
下一層210包括使用抽象接口252的客戶212。
特別地,圖2指的是包含不帶設(shè)備驅(qū)動(dòng)程序接口的操作系統(tǒng)的視頻轉(zhuǎn)換系統(tǒng)。例如美國(guó)Oregon州Wilsonville的Mentor Graphics公司的VRTX操作系統(tǒng)。
當(dāng)操作系統(tǒng)不需要使用專用操作系統(tǒng)特定接口時(shí),這個(gè)分層的體系結(jié)構(gòu)壓縮了(例如,需要的層數(shù)更少)。在這里,又是客戶212使用設(shè)備驅(qū)動(dòng)程序抽象接口252檢視設(shè)備驅(qū)動(dòng)程序254。但是,客戶直接與驅(qū)動(dòng)程序核心254連接。不帶專用驅(qū)動(dòng)程序接口的操作系統(tǒng)下只有抽象接口252是可用的。
相似地,設(shè)備驅(qū)動(dòng)程序254借助于接口252來檢視(view)客戶,實(shí)現(xiàn)雙向通信。
因此可以看出,本發(fā)明為機(jī)頂終端的設(shè)備驅(qū)動(dòng)程序提供了一個(gè)抽象接口模型。
本發(fā)明的優(yōu)點(diǎn)如下。對(duì)于使用抽象接口的客戶,設(shè)備驅(qū)動(dòng)程序看上去是相同的。不需要為每個(gè)操作系統(tǒng)重新開發(fā)客戶。另外,客戶不能分辨或看到兩個(gè)不同操作系統(tǒng)實(shí)現(xiàn)的區(qū)別(見圖1和圖2)。驅(qū)動(dòng)程序看上去是相同的。關(guān)鍵的問題是驅(qū)動(dòng)程序支持只開發(fā)一次客戶的抽象接口,并可以跨越操作系統(tǒng)使用。
此外,對(duì)于驅(qū)動(dòng)程序核心控制,客戶看上去是相同的。核心邏輯不能分辨使用抽象接口/代理的客戶、使用不帶抽象接口/代理的操作系統(tǒng)驅(qū)動(dòng)程序接口的客戶或者直接存取核心的客戶之間的不同,如圖2。
驅(qū)動(dòng)程序核心控制子系統(tǒng)是以獨(dú)立于操作系統(tǒng)的方式實(shí)現(xiàn)的。典型情況下,這個(gè)子系統(tǒng)需要大量的開發(fā)工作(例如,全部驅(qū)動(dòng)程序開發(fā)需要多達(dá)90%的工時(shí))。但是,因?yàn)楸景l(fā)明的驅(qū)動(dòng)程序核心控制子系統(tǒng)僅需要開發(fā)一次并可以跨越操作系統(tǒng)平臺(tái)使用,所以此抽象設(shè)備驅(qū)動(dòng)程序模型可以大大地縮短新視頻轉(zhuǎn)換產(chǎn)品進(jìn)入市場(chǎng)的時(shí)間。
另外,本發(fā)明允許替代設(shè)備驅(qū)動(dòng)程序用戶接口的使用。
雖然關(guān)于本發(fā)明的描述是各種特定的具體方式,但是本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)了解,可以根據(jù)在本發(fā)明權(quán)利要求中闡明的發(fā)明范圍和實(shí)質(zhì)內(nèi)進(jìn)行多種額外的修改和修正。
例如,雖然發(fā)明討論的是關(guān)于有線電視或衛(wèi)星電視寬帶通信網(wǎng)絡(luò),但它也可以用于其它網(wǎng)絡(luò),如局域網(wǎng)(LAN)、城域網(wǎng)(MAN)、廣域網(wǎng)(WAN)、網(wǎng)際網(wǎng)(internet)、內(nèi)部網(wǎng)(intranet)以及國(guó)際互聯(lián)網(wǎng)(Internet)或它們的組合。
此外,發(fā)明可以使用任何已知的硬件、固件和/或軟件技術(shù)來實(shí)現(xiàn)。
權(quán)利要求
1.一種使一客戶和一終端中的設(shè)備驅(qū)動(dòng)程序之間能夠通信的方法,其中該終端有相關(guān)特定的操作系統(tǒng),該設(shè)備驅(qū)動(dòng)程序運(yùn)行在該系統(tǒng)下,該方法包含以下步驟提供第一抽象接口,將來自該客戶具有與操作系統(tǒng)無關(guān)的格式的服務(wù)請(qǐng)求,轉(zhuǎn)換為一個(gè)對(duì)具有兼容于該特定操作系統(tǒng)的格式的設(shè)備驅(qū)動(dòng)程序的調(diào)用。
2.根據(jù)權(quán)利要求1的方法,包含進(jìn)一步的步驟使用該第一抽象接口,該接口將來自于設(shè)備驅(qū)動(dòng)程序具有該特定操作系統(tǒng)格式的信息,轉(zhuǎn)換為該客戶使用的一與操作系統(tǒng)無關(guān)的格式的相應(yīng)信息。
3.根據(jù)權(quán)利要求1的方法,其中該終端是網(wǎng)絡(luò)中的一用戶電視終端。
4.根據(jù)權(quán)利要求1的方法,其中該終端在寬帶通信網(wǎng)路中。
5.根據(jù)權(quán)利要求1的方法,其中該第一抽象接口適配為為設(shè)備驅(qū)動(dòng)程序以兼容于各自相應(yīng)的不同操作系統(tǒng)的多個(gè)格式的任何一種格式提供該調(diào)用。
6.根據(jù)權(quán)利要求1的方法,包含進(jìn)一步的步驟通過該根據(jù)特定操作系統(tǒng)運(yùn)行的設(shè)備驅(qū)動(dòng)程序接口向該設(shè)備驅(qū)動(dòng)程序提供該調(diào)用。
7.根據(jù)權(quán)利要求6的方法,其中該設(shè)備驅(qū)動(dòng)程序接口適配為接收直接來自于其它客戶一個(gè)具有兼容于該特定操作系統(tǒng)的格式的第二調(diào)用;以及該設(shè)備驅(qū)動(dòng)程序接口通過一第二抽象接口向該設(shè)備驅(qū)動(dòng)程序提供該第二調(diào)用。
8.根據(jù)權(quán)利要求6的方法,其中該第一抽象接口適配為通過該設(shè)備驅(qū)動(dòng)程序接口為設(shè)備驅(qū)動(dòng)程序以兼容于各自相應(yīng)的不同操作系統(tǒng)的多個(gè)格式的任何一種格式提供該調(diào)用。
9.根據(jù)權(quán)利要求6的方法,包含進(jìn)一步的步驟提供一第二抽象接口,將來自于設(shè)備驅(qū)動(dòng)程序一具有兼容于特定操作系統(tǒng)的格式的信息,轉(zhuǎn)換為客戶使用的與操作系統(tǒng)無關(guān)的格式的相應(yīng)信息。
10.根據(jù)權(quán)利要求9的方法,包含進(jìn)一步的步驟通過該第一抽象接口提供該客戶使用的與該操作系統(tǒng)無關(guān)的該信息。
11.根據(jù)權(quán)利要求9的方法,其中該第二抽象接口適配為將給該客戶的信息從兼容于各自相應(yīng)的不同操作系統(tǒng)的多個(gè)不同格式的任何一種格式,轉(zhuǎn)換為客戶使用的與操作系統(tǒng)無關(guān)的格式。
12.一種使一客戶與一終端的設(shè)備驅(qū)動(dòng)程序之間能夠進(jìn)行通信的儀器,該終端有相關(guān)的特定的操作系統(tǒng),設(shè)備驅(qū)動(dòng)程序運(yùn)行于該系統(tǒng)下,包含 提供第一抽象接口將來自該客戶具有與操作系統(tǒng)無關(guān)的格式的服務(wù)請(qǐng)求,轉(zhuǎn)換為具有兼容于該特定操作系統(tǒng)格式的設(shè)備驅(qū)動(dòng)程序的調(diào)用的裝置。
13.一種使客戶與終端的設(shè)備驅(qū)動(dòng)程序之間能夠進(jìn)行通信的方法,該終端有相關(guān)的特定的操作系統(tǒng),設(shè)備驅(qū)動(dòng)程序運(yùn)行于該系統(tǒng)下,包含以下步驟提供第一抽象接口,將來自于該設(shè)備驅(qū)動(dòng)程序一具有特定操作系統(tǒng)格式的信息,轉(zhuǎn)換為客戶使用的與操作系統(tǒng)無關(guān)的格式的相應(yīng)信息。
14.根據(jù)權(quán)利要求13的方法,其中該第二抽象接口適配為將給該客戶的信息從兼容于各自相應(yīng)的不同操作系統(tǒng)的多個(gè)不同格式的任何一種格式,轉(zhuǎn)換為客戶使用的與操作系統(tǒng)無關(guān)的格式。
15.一種使一客戶與一終端的設(shè)備驅(qū)動(dòng)程序之間能夠進(jìn)行通信的儀器,該終端有相關(guān)的特定的操作系統(tǒng),設(shè)備驅(qū)動(dòng)程序運(yùn)行于該系統(tǒng)下,包含提供第一抽象接口將來自于設(shè)備驅(qū)動(dòng)程序具有該特定操作系統(tǒng)格式的信息,轉(zhuǎn)換為客戶使用的與操作系統(tǒng)無關(guān)的格式的相應(yīng)信息。
全文摘要
機(jī)頂終端中設(shè)備驅(qū)動(dòng)程序的抽象接口模型,用于有線電視或衛(wèi)星電視這樣的用戶網(wǎng)絡(luò)。在分層的軟件結(jié)構(gòu)體系中,設(shè)備驅(qū)動(dòng)程序抽象接口模型可以使客戶(112,212)與設(shè)備驅(qū)動(dòng)程序(154,254)之間進(jìn)行通信,而不需要考慮設(shè)備驅(qū)動(dòng)程序操作于何種操作系統(tǒng)(OS)下。在第一實(shí)施例中,該體系結(jié)構(gòu)包括了專用的(操作系統(tǒng)特定的)設(shè)備驅(qū)動(dòng)程序接口(132),一個(gè)代理使用一個(gè)第一抽象接口(122)將來自客戶(112)的接口服務(wù)請(qǐng)求轉(zhuǎn)換為操作系統(tǒng)特定的對(duì)設(shè)備驅(qū)動(dòng)程序(154)的調(diào)用。對(duì)于直接存取專用(操作系統(tǒng)特定的)設(shè)備驅(qū)動(dòng)程序接口(132)的客戶,使用一個(gè)第二抽象接口(152)將接口服務(wù)請(qǐng)求轉(zhuǎn)換為操作系統(tǒng)特定的對(duì)設(shè)備驅(qū)動(dòng)程序(154)的調(diào)用。因此保留了對(duì)操作系統(tǒng)特定的設(shè)備驅(qū)動(dòng)程序接口(132)的直接存取。
文檔編號(hào)G06F13/10GK1434942SQ00819068
公開日2003年8月6日 申請(qǐng)日期2000年12月6日 優(yōu)先權(quán)日1999年12月21日
發(fā)明者R·加茲達(dá), C·戴爾索爾多, D·A·普雷朱黑, J·M·伯恩鮑姆 申請(qǐng)人:通用儀器公司