新四季網

在網絡內傳送嵌入式應用的系統的製作方法

2023-10-30 05:04:57 1

專利名稱:在網絡內傳送嵌入式應用的系統的製作方法
技術領域:
本發明一般涉及客戶機和伺服器的網絡,尤其涉及允許客戶機對某些伺服器的操作進行控制的網絡。
本發明是對當前網絡提供的複合文檔(compound document)傳送能力的改善。
對這一文檔來說,「網絡」被理解為具有協同的相互作用的多個互連的計算機控制設備。在大多數網絡(例如Internet(互連網))中,被連網的設備不是客戶機(client文檔的使用者))就是伺服器(server文檔的提供者))。在這種網絡結構中,客戶機能夠下裝文檔並通過向負責執行服務或存儲所需文檔的某一(些)「伺服器」傳送恰當的信息來使服務被遠程地執行。當然,為了使客戶機能夠對下裝的文檔進行處理,必需以能允許客戶機顯示或執行這些文檔的格式來提供這些文檔。
在Internet的開頭,這種兼容性沒有提出大的挑戰。存儲在伺服器中的許多文檔是簡單的平面文本(flat text即ASCII))文件,在利用例如TCP/IP這樣的標準協議被下裝之後,可以利用公用文本編輯程序或查看程序(viewer)將它們顯示在客戶機上。後來,在Internet伺服器上可得到各種格式(TIFF、GIF、JPEG等)的平面圖象文件,它們要求在客戶機上應有專門的圖形查看程序。隨著存儲在Internet上的文檔的數量和文檔格式的類型的增多,顯然需要使用戶能夠無痛苦地瀏覽各種Internet文檔、甚至混合格式(例如包含ASCII文本和格式化不同的圖形的複合文檔)的Internet文檔和容易地找出並觀看與剛下裝的文檔有關的其它文檔。「全球網(World-Wide Web)」滿足了這種需要。
「全球網」(world wide web(「WWW」))連結組成了Internet的許多伺服器,每一伺服器存儲由唯一的全球資源定位符(URL)標識的文檔。存儲在Web伺服器上的許多文檔是用稱為HTML(超級正文標記語言)的標準文檔描述語言來書寫的。利用HTML,Web文檔的設計者能夠使超級正文連結或注釋而與文檔中特定的字或短語相連繫(這些超級正文連結識別其它Web文檔的URL或提供與字或短語有關的信息的同一文檔的其它部分)並規定可視狀況和Web頁(pages)的內容。
用戶利用運行在與Internet連接的Web客戶機上的Web瀏覽程序(Webbrower用來顯示HTML文檔並與Web伺服器通信的電腦程式))來存取文檔。一般來說,這是由用戶進入所需文檔的URL或在由利用該Web瀏覽程序觀看的文檔內選擇(由該Web瀏覽程序作為強亮度的字或短語進行顯示的)超級正文連結來實現的。Web瀏覽程序然後將該被請求文檔的HTTP(超級正文傳送協議)請求發送給由被請求文檔的URL標識的Web伺服器。作為響應,被指定的Web伺服器也利用HTTP向Web瀏覽程序返回被請求的文檔,Web瀏覽程序局部地顯示該文檔,包括與該文檔相關的任何文本和圖象。Web和Web瀏覽程序所提供的文檔輸送能力和易於使用的特點是非常寶貴的。但是,如果HTML和Web能為HTML文檔中的嵌入式應用提供支持,則它們將更加有用。
目前沒有辦法在HTML Web頁內嵌入可執行代碼段或與可執行代碼段的連結,以使該代碼段在Web客戶機上可執行。由於被嵌入的代碼段的範圍從交互地運行在Web頁內的模擬、聲音剪輯或圖象剪輯到可由嵌入複合文檔的Web瀏覽程序的用戶進行觸發的通信例行程序或應用程式,所以這種功能將是非常有用的。此外,這些功能可用來使用戶能夠從Web伺服器下裝數據,不必考慮使合適類型的處理程序駐留在它們的Web客戶機上。即嵌入某一類數據的Web文檔還可以包括用於該數據的合適的處理程序的地址,所以如果需要的話,用戶的Web瀏覽程序能夠找出、下裝並執行該數據所需的處理程序。
除了Web頁(page)中嵌入式應用(embedded applications)的使用外,在計算機控制設備的網絡內被嵌入文檔的其它使用也是顯而易見的。例如,在家庭娛樂系統中,在這種系統中有多個部件,每一部件有唯一的命令集(有時非常複雜)和唯一的用戶接口(通常是非直觀的),可以用具有嵌入應用能力的文檔來提供非常適用的通用遙控。這種系統將使用戶能夠利用與視覺有關的遙控設備來與各種部件相互作用,與視覺有關的遙控設備顯示用戶控制任選項(遠程方對此一無所知)和其它信息,例如從被控的部件下裝的上下文有助於感受信息和圖形。即這種通用遙控將能夠對沒有關於其功能的預編程知識的設備進行控制。
因此,需要有一種通過網絡在計算機控制的網絡設備之間傳送的文檔中嵌入應用或代碼段的系統和方法。這種系統和方法應當允許客戶機請求和從伺服器接收可執行程序,客戶機然後能夠在被嵌入了應用的文檔的範圍內執行該可執行的程序。可執行程序應當至少有四種類型(1)輸出代碼,一旦被執行就產生可視或可聞的表示(例如圖形或聲音模擬),(2)元知識(meta-knowledge)代碼,能夠勸告用戶考慮與被嵌入了代碼段的文檔合法地相互作用,(3)上下文代碼,能夠檢測和顯示被嵌入了代碼段的複合文檔的上下文處理,以及(4)用於被嵌入數據的處理程序。
總而言之,本發明的在計算機網絡內傳送嵌入文檔的系統和方法滿足了以上所提出的要求。
具體來說,本發明是在包括至少一臺伺服器和至少一臺客戶機的網絡內傳送嵌入文檔的系統,各伺服器和客戶機包括一計算機控制器和一存儲器,並具有唯一的網絡ID(標識)。系統包括了在客戶機的計算機控制器上可執行的請求程序(requestor),它被配置來控制該客戶機利用網絡發送的信息。這些信息之一是指示某一伺服器向該客戶機傳送特定複合文檔的文檔請求信息,複合文檔是引用或包括可以是可執行的代碼段、平面文檔或其它複合文檔的多個嵌入文檔的文檔。
本發明的另一個方面是在伺服器的計算機控制器上可執行的一供給程序(provider)。該供給程序對傳送給該伺服器的信息作出響應。例如,該供給程序被配置來對文檔請求信息作出響應,使伺服器向客戶機傳送特定的被請求複合文檔。一旦接收到特定的複合文檔,請求程序就被配置來檢索至少被該特定的複合文檔引用的、沒有存儲在客戶機的存儲器內的嵌入文檔的一子集,並產生包括平面文檔和可執行代碼段的組合的複合文檔。
本發明還提供在網絡內傳送嵌入文檔的方法,該網絡包括與之連接的至少一臺伺服器和至少一臺客戶機,各伺服器和客戶機包括一計算機控制器和一存儲器,並具有唯一的網絡ID。作為該方法的第一個步驟,一客戶機通過網絡向特定伺服器發送文檔請求信息,該文檔請求信息指定將由該特定伺服器返回給該客戶機的特定複合文檔。然後,響應該文檔請求信息,該特定伺服器將該特定的複合文檔返回給該客戶機。該複合文檔包括對多個嵌入文檔(embedded document)的引用,每一嵌入文檔具有選自可執行代碼段、平面文檔和其它複合文檔的類型。一旦從伺服器接收到複合文檔,客戶機就發出多條文檔請求信息,以便通過網絡檢索被該複合文檔引用的、沒有存儲在客戶機的存儲器內的任何平面文檔和可執行代碼段。最後,客戶機產生包括檢索的平面文檔和可執行代碼段的組合的複合文檔。
通過參考附圖結合實施例對本發明進行的詳細描述,將使本發明的其它目的及特點更加清楚。


圖1是最佳實施例的方框圖;圖2是圖1最佳實施例的更詳細的方框圖;圖3是表示最佳實施例如何響應用戶的設備控制選擇和來自顯示預設文檔的初始化任選項的數據流的圖示;圖4是表示最佳實施例如何將複合文檔變換為組合文檔,然後變換為具有嵌入應用的輸出文檔的數據流的圖示;圖5是表示最佳實施例的步驟的流程圖;圖6是一另一實施例的表示,在該實施例中,圖1的客戶機、伺服器和網絡分別是Web客戶機、Web伺服器和Internet。
參看圖1,該圖表示最佳實施例的方框圖,圖1中多個設備外殼110a-c(enclosoure-110a-c(此後稱為「外殼」))利用通過設置在各相應外殼110a-c和遙控設備120中的射頻(RF)接收器/發射器118a-c、128接收和發送的RF傳輸與遙控設備120連網。在該最佳實施例中,遙控設備120起網絡客戶機(即文檔的使用者)的作用,而外殼110a-c起網絡伺服器(即文檔的供給者)的作用,每一個都具有唯一的網絡地址。
每一外殼相當於家庭娛樂系統中的一臺典型設備。例如,外殼110a、110b分別相當於一臺TV(電視機)和一臺VCR(錄像機)。其它類型的外殼在圖1中用一般外殼110c來表示。除RF接收器/發射器118外,每一外殼110a-c還包括計算機控制器112a-c、特性設備114a-c和存儲器116a-c(它們中的一些是非易失的),它們全都與控制器112連接。
每一特性設備執行人們利用外殼標識的功能。例如,在外殼110a、110b分別是電視機外殼和錄像機外殼的場合中,相應特性設備就是電視機調諧器/顯示器114a和錄像機調諧器/記錄器/播放器114b。一般來說,可以利用設置在外殼110中的前面板手動地控制這些設備。或者在最佳實施例所討論的遙控模式中,根據遙控設備120通過RF網絡發送的正確控制信息利用設備的本地控制器112來控制各特性設備114。本發明的關鍵之一是這些控制信息以及如何控制一特定設備的知識沒有預先存儲在遙控設備120內。相反地,遙控設備120要動態地從被控制的外殼110中下裝其所需的任何信息,包括可執行代碼段和平面文件。對於每一外殼110a-c,這一控制信息和控制器112a-c的作業系統被非易失地存儲在存儲器116a-c中。
遙控設備120(此後稱為「遠程」(「remote」)或「遙控」(「remote control」))是能夠控制任一外殼110a-c並利用程序引導用戶控制外殼110a-c的適應性強的通用遠程。遙控設備120的主要部件包括RF發射器/接收器128、計算機控制器122、存儲器126(它們中的一些是非易失的)、多重模態(multimode)輸出設備130、用戶輸入設備132和名字伺服器(name sever)134,它是一段在控制器122中運行的軟體,所有這些部件相互連接。計算機控制器122會同存儲器126協調遙控設備120的部件的所有操作,存儲器126存儲了控制器122的作業系統、初始化程序及文件以及從外殼110a-c下裝的信息。用戶利用能夠顯示靜止圖象或視頻圖象和能夠輸出聲音的用戶輸入設備132和輸出設備130與遠程120相互作用。用戶輸入設備132可以與輸出設備130不同(例如鍵盤),或者它可以是覆蓋了輸出設備130的顯示及圖象部分的觸敏(touch sensitive)矩陣,它使用戶能夠與該輸出設備上的圖象相互作用。在用戶輸入的基礎上,控制器122發送不同的控制信息給外殼,在先遙控設備120已從正在被控制的外殼下裝了這些信息和確定要發送哪一條信息的步驟。
現在參看圖2討論外殼110、遙控120以及它們之間交換的信息的其它詳情。
參看圖2,該圖是表示遙控設備120正在與一個設備外殼110相互作用的最佳實施例的詳細方框圖。它表示了現在被描述的輸出設備130和存儲器126、116的其它詳情。
輸出設備130包括兩個不同的部分,能夠顯示視頻或靜止圖象的顯示部分130a和能夠播放聲音剪輯(clips)的音頻部分130b。這兩種不同的輸出方式由輸出設備130來提供,以便能夠完全實現由控制器122提供的輸出文檔170的所有特性。
遙控設備120的存儲器126提供非易失和易失存儲能力,非易失存儲能力被提供來存儲在初始化時遙控設備120所需的程序和數據項目。這些非易失地存儲的項目包括初始化程序126.1、預設文檔(default document)126.2、名字伺服器登記(name sever registry)126.3(即設備110a-c的網絡地址)和作業系統126.5,作業系統126.5包含實時作業系統內核(kernel)126.4。作業系統126.5是每當遙控設備120被加電和正在工作時在控制器122中執行的程序。它的任務包括處理控制器122與外部設備、例如用戶輸入設備132、顯示器130和RF發射器/接收器128的相互作用,管理正在由控制器122執行的程序(例如將程序裝入存儲器126用於執行和處理對外部設備存取的程序請求)。作業系統126.5能夠按照兩種方式中的至少一種進行工作。當作業系統126.5按照單任務模式起作用時,就一次完成一個地執行軟體作業,不考慮外界時間約束。作業系統126.5也能夠按照在外界施加的時間約束下同時執行多個作業的多任務實時模式進行工作。這些實時能力由實時內核126.4提供,實時內核126.4確定作業系統如何在多個作業之間分配控制器122的處理時間,以便各個作業實時地運行。如以後將要說明的那樣,這些實時能力是最佳實施例所必需的,在最佳實施例中,多個代碼段、它們中的一些提供了用戶的交互性,能夠同時在控制器122上運行。現在來說明控制器122如何被初始化,這一處理由初始化程序126.1來驅動。
參看圖3,所示的數據流的圖示表示控制器112和122響應某些典型的用戶與初始化程序126.1的相互作用而執行的數據變換/傳輸動作。該圖示把數據對象表示為矩形,把對數據對象起作用的部件表示為菱形。某些菱形出現多次,代表執行多次動作的部件,例如遠程控制器122。每當遠程120被加電就由作業系統126.5執行初始化程序126.1,在把遠程120的控制交給用戶之前執行某些內務處理(housekeeping)例行程序。在這些內務處理任務中,初始化程序126.1使控制器122向多模態輸出設備130輸出預設文檔126.2,使用戶能夠獲得一組可選擇的遠程任選項(option)。這個預設文檔126.2定義了不必首先在網絡上發送信息就可被控制器122執行的一組用戶可選擇的外殼控制任選項210(被連結到顯示的控制任選項210′)和遠程設置任選項(被連接到顯示的設置任選項212′)。在該最佳實施例中,每一外殼控制任選項210包括規定要被控制的設備110的本地名字的第一欄位,該本地名字與在名字伺服器登記126.3中註冊的設備的名字相關,還包括當用戶從顯示器130選擇該控制任選項時規定給在第一欄位中被命名的設備發送信息的名字的第二欄位。例如,參看圖3,預設文檔項目210a的兩個欄位是device=TV_enclosure;andmessage=req_doc(control TV)。
這一特定的項目被連結到由控制器122顯示為「control_TV」210a′的用戶可選擇的外殼控制任選項。
當用戶從顯示器130選擇控制任選項210′之一時,控制器122通過查詢名字伺服器登記126.3確定合適設備的網絡ID,然後向該被指定設備發送相關的信息。例如,如圖3所示,當用戶選擇被顯示任選項210a′(「control_TV」)時,控制器122就確定TV外殼具有網絡地址110a,然後向該地址發送要求「control_TV」文檔的文檔請求信息150。一旦接收到文檔請求信息,控制器112就在其作業系統116.1的控制下處理該信息並相應地作出響應。這一響應可以是實施如在TV信道中進行調諧這樣的動作或將複合文檔140返回給遙控120。例如,在圖3的情況下,TV控制器112a簡單地將複合文檔「control_TV」140a的內容返回給控制器122,該內容規定了控制器122在多重模態顯示器130上顯示用於控制TV114a的一組基本操作。
如上所述,預設文檔126.1還提供用戶可從用戶輸入設備132選擇系統配置任選項212(被連結到被顯示系統任選項212′)的表。注意這些任選項不包括允許用戶「安裝新網絡設備」的任選項。這是因為最佳實施例自動地執行網絡安裝的緣故。在這一自動安裝過程中,只要用戶插入新的外殼110,該新外殼的控制器112就「喚醒」,在其作業系統161.1的控制下開始工作。因為識別了其「新」狀態,所以作業系統116.1要求其相關的名字伺服器119登記該外殼。作為響應,該名字伺服器119通過網絡向與網絡連結的其它外殼通報該新外殼的名字和地址。一旦接收到這一信息,在其它外殼的控制器112和122上運行的名字伺服器就通過以該新設備的網絡地址和名字更新它們的名字伺服器登記來記錄該新外殼。例如,如果用戶將雷射盤播放機110c、調諧器110d和CD播放機110e加入至網絡,則在控制器122上運行的名字伺服器就將如圖3所示地把雷射盤播放機、調諧器和CD播放機的項目加入到名字伺服器登記126.3。在記錄了新外殼110c-e之後,控制器122從每一外殼下裝初始信息的名字(例如control_TV信息)和控制器122把這些引用加到預設文檔126.2作為控制任選項210c′-e′。
如果遠程120丟失其存儲器(包括名字伺服器登記126.4)或如果一新的遠程120被加入到網絡,就編程該空白區或新的遠程120來通投要求外殼110進行自我登記的請求信息,如果這樣做合適的話(某些外殼可能不與該遠程兼容)。作為響應,外殼將如上所述地進行自我登記。在網絡領域中眾所周知的防衝突程序保證了每一進行了登記的外殼都被允許對網絡進行存取。
除存儲在網絡上的所有外殼的地址外,每一名字伺服器119、134列出存儲在其存儲器116、126中的所有文檔(包括複合文檔、平面文件和代碼段)以及存儲在其它網絡節點上的其它可能相關文檔的名字及內部地址。這一信息使控制器122能夠容易地定位文件(以進行傳送或顯示)。Sanjay Radia、Michael N.Nelson和Michael L. Powell發表於1994年9月的SunSoft公司的關於Spring Distributed Object-Oriented Operating System的論文彙編「SpringCollection」上的論文「The Spring Name Service」描述了名字伺服器的這些及其它方面的其它信息,該論文在此作為參考文獻。
再參看圖2,設備110的存儲器116包括複合文檔140、平面文件142、代碼段144和每當設備110被加電作業系統116.1就控制控制器112的操作。這些對象140、142和144封裝了遠程120控制存儲這些對象的設備110的操作所需的所有信息。在最佳實施例中,每一複合文檔140包含要被控制器122以坐標的方式、通常在顯示器130的一個窗口中進行顯示/執行的平面文件引用(FF_refs)、代碼段引用(CF_refs)和其它複合文檔(CD_refs)引用。例如,根(root)複合文檔、例如上述control_TV文檔,包含了對當被控制器122將其一起進行顯示時呈現TV的基本控制任選項的頂層列表的對象140、142、144的引用。在這一方法中,平面文件引用(FF_refs)涉及將要被控制器122輸出的文本、圖形或聲音文件,代碼段引用(CF_refs)涉及將要被控制器在顯示複合文檔140時執行的嵌入式應用或涉及在複合文檔140中被引用的平面文件142的處理程序。
在最佳實施例中,每一CD_ref、FF_ref或CF_ref包括兩個欄位「addr」(文檔地址);和「posn」(顯示位置,不用於聲音文件)。
除一般把正在被引用的對象存儲在與引用文檔相同的網絡節點上的最佳實施例外,「addr」欄位按照WWW超連結的方式規定被引用對象的唯一地址。「posn」欄位向控制器122指出當控制器122顯示複合文檔140時該對象將位於何處。
平面文件142封裝了兩類信息,內容和屬性。內容是相當於平面文件表示什麼的數據,例如文本、聲音或圖象數據。屬性定義關於內容的元知識(meta-knowledge),包括如何格式化數據(這隱含有其處理程序的類型的意思)和應如何顯示/發聲。例如,一般的平面文件屬性可以指出內容是ASCII、HTML或Postscript格式化的文本、MIDI或WAV格式化的聲音或JPEG格式化的圖形。由於這種屬性信息向控制器122指出了在內容被輸出給多重模態輸出設備130之前應如何對其進行處理,所以它是必不可少的。
代碼段144也封裝了兩類信息,在控制器122上是可執行的嵌入式應用的二進位代碼和與該二進位代碼相關的屬性。例如,假如代碼段144a是在視覺上模擬某些設備控制處理的程序,則該代碼段的屬性就可以在代碼段144a應當運行時以引用的複合文檔定義窗口的屬性。在最佳實施例中,嵌入式應用可以包括運行仿真序列的程序表示用戶如何利用被顯示在顯示器130上的任選項選擇複雜設備的功能、確定當用戶選定一具體任選項時要被發出的一系列文檔請求信息的程序、或者甚至能夠回答用戶關於編程設備110的問題的專家系統。
但是,通常在公用複合文檔140的上下文情況下,大多數從外殼110傳送至遠程120的一般的嵌入式應用144都是與從同一外殼110傳送至遠程120的平面文件142兼容的處理程序。這是因為為了實現真正的通用性(遠程120能夠顯示/執行由任何外殼110提供的任何信息的概念),最佳實施例假定了控制器122對關於顯示由不同外殼110提供的任何類型的平面文件一無所知的緣故。在這一假定下進行操作,則對於要在遠程顯示器130上顯示的被引用平面文件142,控制器122必需能夠存取到與該被引用平面文件142兼容的處理程序的代碼段。它一旦被控制器122裝入,該處理程序就將顯示/處理該被引用平面文件142並管理在該平面文件將要被顯示的顯示器130上的實時狀態。
例如,按鈕型(button-type)的平面文件可以包括小說《戰爭與和平》的封面的數位化的JPEG圖象以及包含該小說全部正文的平面文件的網絡地址。並需要該平面文件的相關處理程序以使在顯示器130上按照合適的大小和在合適的屏幕位置處顯示該封面。該平面文件的處理程序還可以包括每當用戶選定了顯示器130上的顯示該封面的區域就被觸發的方法,使控制器122利用該平面文件內包含的地址發送請求《戰爭與和平》的正文的網絡信息。
在最佳實施例中,處理程序的可執行代碼不要與被處理的平面文件一道被封裝(packaged),而是通過引用其相關平面文件的複合文檔中的CF_ref被經常引用。或者,當僅利用被引用平面文件的屬性就能夠明確地表明處理程序的標識時(例如,如果該文件是MIDI聲音,為了播放該文件,控制器122將簡單地請求網絡上的MIDI設備驅動器),就不需要該處理程序的CF_ref。這樣做(數據和處理程序的可執行代碼分離)的一個優點是由於數據文件被典型地構成(即數據文件、例如WAV文件通常不與它們的處理程序一道被封裝),所以遠程控制器120保持與數據文件的後向(backward)兼容,同時能夠無縫隙地處理未知數據文件的所有樣式。這樣做還避免了需要遠程120不必要地多次下裝同一處理程序的低效。
在最佳實施例中,即使平面文件的最簡單的類型(例如捲動ASCII文本)也需要在遠程120上運行的相應的處理程序代碼段。在引用許多不同格式的平面文件的複雜複合文檔的情況下,假定沒有相應的處理程序在局部上可為控制器122所用,則這種狀況將導致處理程序代碼段的大量下裝。最佳實施例通過在存儲器126中預先存儲用於公用平面文件的數據格式、例如WAV和MIDI聲音、ASCII文本和JPEG圖形的處理程序代碼段而大大地減少了這種危險。
參看圖4,它是說明被控制器請求的一特定複合文檔140a在正被輸出給多重模態顯示器130之前如何被處理的數據流圖示。如圖3所示,該圖示把數據對象表示為矩形而把對這些數據對象起作用的部件表示為菱形。某些菱形出現多次,代表在數據流中執行多次動作的部件,例如遠程控制器122。
如以前參看圖3所進行的描述那樣,假定用戶已選定了觸發控制器122以請求TV外殼110a的「control_TV」文檔140a的例如「control_TV」這樣的任選項,作為響應,TV設備已返回圖4所示的複合文檔140a。這一文檔140a包括對兩個平面文件142a、142b的引用140.1,第一個平面文件要被放置在相應於被顯示複合文檔的窗口上的位置P1處(注意由於文檔142b是聲音文件,所以它沒有相關的位置)。文檔140a還包括對代碼段144a和144b(分別具有各自的顯示位置P3和P4)以及對代碼段144c和144d(它們分別是平面文件142a、142b的處理程序)的引用140.2。最後,文檔140a包括對複合文檔140b的引用140.3,該複合文檔140b將要被放置在顯示器130上的位置P5處。複合文檔140b包括對平面文件142c的引用和用於該文件的處理程序144c,該處理程序144c與在複合文檔140a中已經被引用的處理程序相同。
控制器122根據複合文檔140a建立組合文檔160,組合文檔160由控制器122存儲在存儲器126的易失部分中作為被存儲的組合文檔126.7(圖2)。一般來說,組合文檔160是已遞歸地求解了對代碼段或對平面文件/處理程序的所有引用的複合文檔140的內部表示。例如,在圖1的複合文檔140a的情況下,組合文檔160包括平面文件142a、142b、142c的組合版本(version)142a′、142b′、142c′,以及代碼段144a-d的組合版本144a′-d′。注意一對象的組合版本組合了實際對象的信息(例如,在平面文件的情形中,內容和屬性)和該對象的輸出位置,如果相關的話。這一信息使控制器122能夠(利用合適的處理程序)將組合的複合文檔160變換成為格式化的輸出文檔170,該格式化的輸出文檔170能夠按照由正在被控制的具體設備110的設計人員設想的方式在多模態輸出設備130上被直接輸出。
例如,在圖4中,相應於能在顯示部分130a上被輸出的圖象的輸出文檔170b定義了位於位置P1、P3、P4和P5的窗口,輸出的平面文件142a″、142c″和執行代碼段144a″、144b″在這些窗口中由控制器122同時輸出。這些窗口的每一個都在代碼段144a″-c″的控制下,例如,被顯示平面文件142a″、142c″都在可執行代碼段/文本處理程序144c″的控制下被顯示。執行代碼段144a′-d″可以是四種類型中的一種(1)輸出代碼,一旦被執行就產生可視或可聞的表示(例如圖形或聲音模擬),(2)元知識代碼,能夠勸告用戶考慮與被嵌入了代碼段的文檔合法地相互作用,(3)上下文代碼,能夠檢測和指示被嵌入了代碼段的複合文檔的上下文處理,以及(4)處理程序用於被嵌入數據(如上所述)。第一種可執行代碼段的一個例子是說明用戶如何把他們的電纜與TV外殼110a的後部連接的模擬。第二種代碼段的例子是靈巧求助應用程式能夠告訴用戶如何選擇顯示平面文件142a″的功能。最後,第三種代碼段的例子是監測流向和流出遠程控制器120的控制器通信量、然後例如通過擺動仿真手來向用戶指出傳輸正在進行的靈巧圖符或卡通。
因為多個代碼段和平面文件也許需要被同時地輸出給輸出設備130,所以需要實時內核126.5來在感覺上實現實時輸出和避免用戶的失望。最後,因為平面文件142b″是聲音文件(例如WAV文件),所以控制器122利用合適的處理程序144d″對其進行處理並將所獲得的實時聲音170b輸出給多模態輸出設備的聲音部分130a。
控制器建立組合文檔的方法如圖5所示,該圖是最佳實施例的方法的流程圖。
如以上參看圖3所描述的那樣,最佳實施例的方法的第一步是顯示預設文檔126.2,用戶可從預設文檔中選擇一些基本任選項(250)。一旦用戶選定了這些任選項中的一個,控制器122就從網絡取出合適的文檔(252)。例如,如上所述,當用戶選定了control_TV任選項時,控制器122就向TV110a發送要求control_TV文檔的文檔請求信息。一旦接收到複合文檔140,控制器122就確定在當地是否能存取處理該第一個複合文檔所需的所有文檔(254)。如果不能夠(254,否),控制器122就從網絡取出在當地得不到的所有所需文檔(256)。例如,在圖4所示的情況下,在顯示control_TV文檔之前,控制器122從TV外殼110a下裝被引用的平面文件142a-c和代碼段144a-d。這些對象的每一個都被暫存在存儲器126中(258)作為被暫存的下裝對象126.6。
在最佳實施例中,參看圖5討論的所需文檔可以包含兩種不同類型的信息。首先,所需文檔可以是在被下裝的複合文檔中被明顯地引用的對象(平面文件、代碼段或其它複合文檔)。這些明顯地被引用的對象被包括在組合文檔160中。這種包含處理是遞歸的,可以進行下去,直到葉層(leaf level)對象(即沒有被引用的複合文檔對象的對象)最後被控制器122檢索到為止。
其次,所需文檔可以是剛被檢索的某一類文件的未被引用的處理程序,所需處理程序的標識由被嵌入文檔的屬性欄位確定。例如,如果平面文件142b是WAV聲音文件,而控制器122當前在當地得不到WAV聲音文件處理程序並且該處理程序沒有在複合文檔140a中被引用,則控制器122就將向所有被連網的設備110發送要求合適的聲音處理器的請求。一旦接收到該處理程序,控制器122將安裝該處理程序並根據相關的平面文件142的內容開始執行該處理程序。或者,控制器122能夠把該處理程序與相關的平面文件一道暫存在存儲器空間126.7中,並在組合文檔160的餘下部分做好了輸出準備時播放該平面文件。
在所有嵌入複合文檔已被遞歸地檢索之後(即在建立了組合文檔160之後),控制器122就產生完整的輸出文檔170,控制器122把該完整的輸出文檔輸出給多重模態輸出設備130(260)。在文件類型的基礎上,輸出文檔170的不同部分被傳送給輸出設備的不同部分。例如,在平面文件是聲音文件的情況下,其相應的輸出文檔170b被傳送給輸出設備130的聲音部分130b。文檔140a的其它被嵌入文檔,所有這些被嵌入文檔都是與圖形有關的被包括在輸出給輸出設備130的顯示部分130a的輸出文檔170a中。在某些平面文件142和/或可執行代碼段144涉及到視頻數據的產生的情況下,這些對象也被輸出給顯示部分130a。或者,控制器122能夠當組合文檔160的完整部分一做好準備就把它們輸出給輸出設備。
一旦完整的組合文檔已輸出給輸出設備130,控制器122就為用戶的交互作用提供保證,在這種用戶交互作用中,用戶能夠從用戶輸入設備132選擇各種任選項(260)。如果用戶選擇需要控制器通過網絡取出文檔的任選項,就重複該方法的所有上述步驟。當然,在某些情況下,例如在圖3所示的情況下,用戶能夠選擇遙控設備120本身的任選項,例如「設定時間」212a′、「設定顯示參數」212b′或「設定聲音參數」212c′。
最佳實施例涉及被連網的、計算機控制的家庭娛樂設備和可被用來根據下裝的複合文檔控制各個部件的兼容的計算機控制的遙控設備。但是,該最佳實施例的系統和方法也適用於計算機網絡。
例如,在圖6所示的一替代的實施例中,設備外殼110被Web伺服器310代替,而遙控120被Web客戶機代替。在Web客戶機上運行的Web瀏覽程序322執行以上對於控制器122所描述的各種複合文檔文件檢索、處理以及輸出操作。某些控制器的動作,例如因用戶選擇引用而下裝唯一指定的文檔已經由許多Web瀏覽程序執行。但是,前述與該替代實施例不同,沒有配置Web瀏覽程序以下裝然後運行(可任選地以實時方式)在Web文檔中被引用或被嵌入的可執行代碼段。這些能力由該替代實施例按照三種不同範圍進行提供。
首先,對代碼段的引用可被嵌入HTML(複合)文檔中,以便該引用由Web瀏覽程序作為超連接進行顯示,這種選擇使瀏覽程序下裝並運行該代碼段。其次,對代碼段的引用可被嵌入HTML文檔中,以便一旦接收到包括該代碼段的Web頁,Web瀏覽程序就自動地檢索並運行該代碼段。這種被包括的代碼段在提供動態知識方面是有用的,不管使用什麼樣的瀏覽程序總是與某一頁面相關。例如,利用了本發明的這一特點的Web頁可以提供嵌入式應用,該嵌入式應用根據(為該嵌入式程序)所知道的網絡活動模型和時刻從若干可供選擇的伺服器中為引用文檔選擇最好的(即最不忙的)伺服器。最後,如在上述聲音文件的情況下,根據該可替換實施例操作的Web瀏覽程序能夠在以前接收的數據文件的屬性的基礎上或當處理程序的URL在引用兼容的平面文件的似同一HTML的文檔中被規定時下裝合適的處理程序。
在WWW環境中將起不同作用的最佳實施例的一個特點是伺服器登記,這是伺服器使客戶機知道它們的存在的過程。在WWW環境中,伺服器和客戶機的連接不是直接的。因此,新的Web伺服器的名字伺服器不能夠利用Web客戶機的名字伺服器來簡單地登記它們的名字和地址。但是,可以實現另一簡單的登記過程,在這一過程中,一旦進行聯機或改變它們的Internet地址,Web伺服器就利用合適的目錄、例如Yahoo自動地進行登記。客戶機的名字伺服器然後可以沿該目錄周期性地登記新的伺服器。
總之,圖6的替代實施例是實施本發明方法和系統的Web瀏覽程序和一組兼容的似HTML的複合文檔。具體來說,該替代的Web瀏覽程序322能夠處理似HTML的文檔可執行代碼段的顯式引用或在與數據文件相關的屬性欄位中被暗指的引用。在該替代實施例中,幾乎不需要對已有Web伺服器310進行改動,在Web伺服器側的僅有的真正的變化是被存儲在各個伺服器上的HTML文檔的形式。就是說,在該替代實施例中,給HTML文檔增加新的欄位來嵌入可執行代碼段和提供可能為要被Web瀏覽程序322下裝的合適的處理程序所需的任何附加文件屬性,由此使Web瀏覽程序在沒有關於文件格式的任何先驗知識或者在當地得不到合適的處理程序的情況下也能夠顯示/處理任何類型的平面文件。
雖然相對於一些具體實施例描述了本發明,但這些描述都是作為本發明的例證,不應被看作是對本發明的限制。在不脫離本發明權利要求所限定的本發明的構思和範圍,本領域的技術人員可以作出各種改進。
權利要求
1.用於網絡中客戶機的存儲器,該網絡包括與所說網絡連接的至少一個伺服器和至少一個客戶機,所述伺服器和所述客戶機各包括一計算機控制器和一存儲器並具有唯一的網絡ID,所述客戶機的所述存儲器包括一複合文檔,其含有至少一個對嵌入式應用的引用,所述引用選自顯式引用或隱式引用,使得一旦通過所述網絡從所述伺服器接收到所述複合文檔,所述客戶機就被配置,以便藉助於所述客戶機的計算機控制器來下裝並執行所述被引用的嵌入式應用。
2.如權利要求1的存儲器,其中,所述複合文檔包括對平面文件的引用,其中對嵌入式應用的一種所述顯式引用是對所述平面文件處理程序的引用,使得一旦通過所述網絡從所述伺服器接收到所述複合文檔,所述客戶機就被配置來下裝所述平面文件和所述處理程序、然後利用所述處理程序處理所述平面文件,如果所述處理程序未駐留在所述客戶機上,所述客戶機就不能夠處理所述平面文件。
3.如權利要求1的存儲器,其中,所述複合文檔包括對可確定類型的平面文件的引用,其中一種所述隱式引用是對由所述可確定類型的所述隱平面文件處理程序的引用,使得一旦通過所述網絡從所述伺服器接收到所述複合文檔,所述客戶機就被配置來下裝所述平面文件並根據所述可確定的類型從所述伺服器之一下裝所述處理程序、然後利用所述下裝的處理程序處理所述平面文件,如果所述處理程序未駐留在所述客戶機上,所述客戶機就不能夠處理所述平面文件。
4.如權利要求1的存儲器,其中,所述複合文檔具有對包括所述嵌入式應用的多個嵌入式文檔的引用,所述存儲器包括被配置來將沒有存儲在所述客戶機的存儲器中的所述多個嵌入式文檔下裝到所述客戶機的請求程序模塊。
5.一種通過網絡傳送嵌入式文檔的系統,該網絡包括與所說網絡連接的至少一個伺服器和至少一個客戶機,所述伺服器和所述客戶機各包括一計算機控制器和一存儲器並具有唯一的網絡ID,所述系統包括在客戶機的計算機控制器上可執行的請求程序,所述請求程序被配置來控制由所述客戶機在所述網絡上發送的信息,所述信息包括指令特定的一個所述伺服器向所述客戶機傳送特定複合文檔的文檔請求信息,其中複合文檔包括對多個所述嵌入文檔的引用,所述嵌入文檔具有選自可執行代碼段、平面文檔和其它複合文檔的類型;以及在伺服器的計算機控制器上可執行的供給程序,所述供給程序被配置來對提供給所述伺服器的所述信息作出響應,所述供給程序被配置來通過使所述伺服器向所述客戶機傳送所述特定複合文檔來響應所述文檔請求信息;使得一旦接收到所述特定複合文檔,所述請求程序就被配置來利用文檔請求信息對未存儲在所述客戶機的存儲器中的所述特定複合文檔引用的所述嵌入文檔的至少一個子集進行檢索然後產生包括所述平面文檔和所述可執行代碼段的組合複合文檔。
6.如權利要求5的系統,其中,所述客戶機還包括由所述請求程序控制的多重模態輸出設備;所述請求程序被配置來向所述輸出設備輸出一個輸出複合文檔,其中所述輸出複合文檔包括相應於所述組合複合文檔中所包括的所述平面文檔的正文圖象;以及所述可執行代碼段的表示,所述表示由所述請求程序執行的所述代碼段中產生。
7.如權利要求5的系統,其中,所述請求程序是多任務作業系統;所述客戶機還包括被所述請求程序控制的多模態輸出設備;所述請求程序被配置來向所述輸出設備輸出一個輸出複合文檔,其中所述輸出複合文檔包括相應於所述組合複合文檔中所包括的所述平面文檔的正文圖象;以及所述可執行代碼段的表示,所述表示由所述請求程序從執行的所述代碼段中而產生;使得所述請求程序被配置來在輸出所述正文圖象的時候還同時以實時執行多個所述代碼段。
8.如權利要求5的系統,其中,被檢索的可執行代碼段封裝為其執行所需的所有數據和例行程序並被編碼,以使其可由所述客戶機執行。
9.如權利要求6的系統,其中,所述可執行代碼段的至少一個子集選自以下構成的組可執行的聲音剪輯;可執行的模擬;可執行的電影剪輯;可執行的自動收報機紙帶形式的信息;以及用於所述平面文檔的處理程序;所述客戶機被配置來執行所述可執行的代碼段。
10.如權利要求5的系統,其中,還包括與所述客戶機連接的名字伺服器,所述名字伺服器保持有對來自所述客戶機的信息作出響應的所述網絡上的所術伺服器的至少一個子集的表,所述名字伺服器被配置來每當由所述客戶機請求時就將來自所述表的信息返回給所述客戶機。
11.如權利要求5的系統,其中,所述伺服器是Web伺服器,所述客戶機是Web客戶機,所述網絡是Internet。
12.一種通過網絡傳送嵌入文檔的方法,該網絡包括與所述網絡連接的至少一個伺服器和至少一個客戶機,所述伺服器和所述客戶機各包括一計算機控制器和一存儲器並具有唯一的網絡ID,所述方法包括以下步驟(1)所述客戶機通過所述網絡向一特定的伺服器發送文檔請求信息,所述文檔請求信息指定由所述特定伺服器返回給所述客戶機的特定複合文檔;(2)響應所述文檔請求信息,所述特定伺服器將所述特定複合文檔返回給所述客戶機,其中複合文檔包括對多個嵌入文檔的引用,每一所述嵌入文檔具有選自可執行代碼段、平面文檔和其它複合文檔的類型;(3)一旦從所述伺服器接收到所述複合文檔,所述客戶機就發送多個document_request信息,以便通過所述網絡檢索沒有被存儲在所述客戶機的存儲器中的所述複合文檔引用的任何平面文檔和所述可執行代碼段;以及(4)產生包括所述平面文檔和所述可執行代碼段的組合複合文檔。
13.如權利要求12的方法,其中,所述方法還包括以下步驟所述客戶機向所述多模態輸出設備輸出所述組合的輸出複合文檔,所述輸出步驟包括在所述多模態輸出設備上顯示相應於所述組合複合文檔中所包括的所述平面文檔的正文圖象;以及執行所述可執行的代碼段並向所述多模態輸出設備輸出所述代碼段執行的表示。
14.如權利要求13的方法,其中,顯示所述平面文檔的所述步驟由所述執行代碼段的至少一個子集來執行,所述每一個子集是與至少一個所述平面文檔兼容的數據處理程序。
15.如權利要求12的方法,其中,所述方法還包括以下步驟所述客戶機向多模態輸出設備輸出所述組合的輸出複合文檔,所述輸出步驟包括在所述多模態輸出設備上顯示相應於所述組合複合文檔中所包括的所述平面文檔的正文圖象;以及執行所述可執行的代碼段並向所述多模態輸出設備輸出所述代碼段執行的表示;使得所述執行步驟被實時地和與所述顯示步驟同時地被執行。
16.如權利要求15的方法,其中,顯示所述平面文檔的所述步驟由所述執行代碼段的至少一個子集來執行,所述子集的每一個是與至少一個所述平面文檔兼容的數據處理程序。
全文摘要
在網絡中傳送嵌入式應用的系統和方法,計算機控制的網絡客戶機用戶,能夠請求和接收包括嵌入式應用和/或數據文件的複合文檔,它只能夠被沒有駐留在該客戶機上的處理程序進行處理(即成像或放音),每當客戶機接收到複合文檔,就確定它是否能獲得其中被引用的所有文檔,如果不,就請求得不到的文檔,請求程序包括一多任務實時內核,客戶機用戶能夠從包括嵌入式應用的伺服器中下裝文檔,當其在該客戶機上被執行時,允許該客戶機利用從伺服器下裝的命令控制伺服器。
文檔編號H04L12/28GK1154514SQ9612201
公開日1997年7月16日 申請日期1996年10月22日 優先權日1995年10月23日
發明者詹姆斯·A·戈斯林 申請人:昇陽電腦有限公司

同类文章

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

一種新型多功能組合攝影箱的製作方法【專利摘要】本實用新型公開了一種新型多功能組合攝影箱,包括敞開式箱體和前攝影蓋,在箱體頂部設有移動式光源盒,在箱體底部設有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-本發明所屬領域本發明涉及一種用來自動讀取管狀容器所載識別碼的裝置,其中的管狀容器被放在循環於配送鏈上的文檔匣或託架裝置中。本發明特別適用於,然而並非僅僅專用於,對引入自動分析系統的血液樣本試管之類的自動識別。本發明還涉及專為實現讀