一對多數(shù)據(jù)投影系統(tǒng)和方法
【專利摘要】信息或演示投影的系統(tǒng)和方法允許用戶在不需要額外的電纜的情況下向單個或多個屏幕演示信息。通用即插即用(UPnP)用于廣告、找出并控制顯示設(shè)備。反向終端服務(wù)(TS)會話用于將顯示連接到用戶機(jī)器。通過訂購模型從演示者端和出席者端對演示的出席和接收方進(jìn)行尋址。通過使用會議邀請方便了該訂購模型并解決了演示的安全性。這些邀請由演示者生成,并可由出席者請求。
【專利說明】一對多數(shù)據(jù)投影系統(tǒng)和方法
[0001]本發(fā)明專利申請是申請日為2004年10月20日、申請?zhí)枮?00410088277.0、名稱
為“一對多數(shù)據(jù)投影系統(tǒng)和方法”的發(fā)明專利申請的分案申請。
【技術(shù)領(lǐng)域】
[0002]本發(fā)明一般涉及信息演示,尤其涉及用于從一個演示者到多個出席者和投影設(shè)備的信息投影的系統(tǒng)和方法。
【背景技術(shù)】
[0003]盡管在近幾年來實(shí)現(xiàn)了技術(shù)的進(jìn)步,然而許多傳統(tǒng)的商業(yè)活動在當(dāng)今的工作場所中仍具有突出的位置。一個這樣的活動是會議或討論會。通常,這類協(xié)作性工作將涉及由一個參與者對多個其他的參與者所進(jìn)行的材料演示。演示信息的傳統(tǒng)手段包括在屏幕上投影、在監(jiān)視器或其它光學(xué)活動設(shè)備上顯示、或硬拷貝形式的演示,如白板、黑板或畫架。盡管就成本、復(fù)雜性和有效性方面而言,這些方法各有其優(yōu)點(diǎn)和缺點(diǎn),然而投影和顯示通常最適合快速變化的數(shù)據(jù),如通過幻燈片或視頻來演示。另外,投影和顯示對從計(jì)算機(jī)或其它計(jì)算裝置的屏幕共享信息也是理想的,如在微軟品牌的PowerPoint幻燈片演示過程中。
[0004]不幸的是,對于投影技術(shù)用戶和參與者,從計(jì)算裝置建立信息投影和顯示的傳統(tǒng)機(jī)制通常是復(fù)雜的,盡管一旦啟動之后即高度有效,需要連接軟線,如VGA電纜,并需要設(shè)置各種參數(shù)。這一復(fù)雜性可導(dǎo)致演示之前和演示過程中出現(xiàn)新的困難,并經(jīng)常導(dǎo)致演示的延遲開始。另外,這一機(jī)制不允許將演示控制從一個演講者簡單且快速地轉(zhuǎn)移到另一個演講者。由此,例如,如果第一演講者在使用PC來演示POWER POINT幻燈片,并希望將講壇讓給第二個演講者,第二個演講者通常必須物理地離開其座位,并走到第一個演講者的PC的旁邊,在這一段時間內(nèi),將對其他參與者造成不連續(xù)性、延遲、和分心。
[0005]另一問題涉及在這樣的會議過程中所演示的信息的安全性。具體地,一旦出席者物理地處在房間里,或能夠觀察演示進(jìn)行中的房間,則無法限制該出席者察看所演示的信息的能力。盡管可采用物理方法來防止對演示的物理位置的初始訪問,然而這些方法不能解釋為當(dāng)如上所述在同一位置給出多個演示時的安全性。S卩,一旦一個人處于演示位置內(nèi),則他能夠觀察該位置內(nèi)給出的所有演示。
[0006]為解決這一關(guān)切,許多研討會位置使用了多個不同、更小的演示位置或房間。以這一方式,進(jìn)入每一演示的個體能夠被更仔細(xì)地篩選。然而,盡管這解決了演示者的安全關(guān)切,但它通常令出席者出席這些演示時發(fā)生困難。這些出席者現(xiàn)在必須物理地從一個位置移動到另一個位置來觀看期望的演示,必須在每一位置處收拾、打開他們的材料。此外,殘疾出席者會錯過演示的開始或不得不提早離開演示以移動物理位置。當(dāng)出席者進(jìn)入錯誤的房間或無法找到特定演示的位置時,將錯過另外的材料。
[0007]因此,本領(lǐng)域需要一種解決演示者和出席者的需求和期望、為演示提供安全性保障、并允許在演示過程中控制信息共享的一對多(1:M)信息投影系統(tǒng)和方法。
【發(fā)明內(nèi)容】
[0008]本發(fā)明提供了一種向多個出席者顯示信息的新的、改進(jìn)的系統(tǒng)和方法。更具體地,本發(fā)明提供了一種向多個出席者傳送演示的新的、改進(jìn)的系統(tǒng)和方法。較佳地,可在投影儀和/或多個出席者的顯示設(shè)備上顯示演示。演示可以是開放的,或在“容許”出席者察看該演示之前需要執(zhí)行安全驗(yàn)證。
[0009]在本發(fā)明的一個較佳實(shí)施例中,演示和出席者都符合通用即插即用標(biāo)準(zhǔn),使得他們能夠被在網(wǎng)絡(luò)上發(fā)現(xiàn)。通過終端服務(wù)會話作出連接。從演示者的觀點(diǎn)來看,發(fā)現(xiàn)投影儀和出席者允許控制是誰和是什么被接納進(jìn)了演示。這可通過需要用演示者生成的邀請來獲取對演示的允許來實(shí)現(xiàn)。也可通過需要密碼來添加安全性。演示者也可將演示指定為開放,并可自動為請求進(jìn)入演示的任一出席者生成邀請。從出席者的觀點(diǎn)來看,他們可通過執(zhí)行網(wǎng)絡(luò)上演示設(shè)備的搜索來發(fā)現(xiàn)可用的演示。他們?nèi)缓罂蛇x擇希望觀看哪一(些)演示,并可請求進(jìn)入的許可。當(dāng)演示者希望停止演示時,它只要通知演示管理器停止該演示。演示管理器然后將斷開所有的連接并清除任何狀態(tài)。
[0010]在本發(fā)明的一個實(shí)施例中,提供了應(yīng)用編程接口(API)。這些API包括用于觀看演示的方法和用于給出演示的方法。觀看API包括注冊和取消注冊顯示設(shè)備的方法,以及出席演示的方法。給出演示API包括用于開始和停止演示、邀請和斷開出席者、過濾演示者的屏幕、檢索個別用戶和投影儀的列表、檢索投影儀的能力、狀態(tài)和連接列表、以及檢索并設(shè)置投影儀顯示設(shè)定和模式的方法。
【專利附圖】
【附圖說明】
[0011]結(jié)合在內(nèi)并形成說明書的一部分的附圖示出了本發(fā)明的若干方面,并與描述一起解釋了本發(fā)明的原理。附圖中:
[0012]圖1是一般示出本發(fā)明所駐留的示例性計(jì)算機(jī)系統(tǒng)的框圖;
[0013]圖2所示是兩個代碼片斷之間的編程接口的簡化框圖;
[0014]圖3所示是兩個代碼片斷之間的編程接口的替換實(shí)施例的簡化框圖;
[0015]圖4所示是具有分裂成多個離散的通信的通信的兩個代碼片斷之間的編程接口的簡化框圖,展示出了分解的概念;
[0016]圖5所示是具有分裂成多個離散的通信的通信的兩個代碼片斷之間的編程接口的替換實(shí)施例的簡化框圖,示出了分解的概念;
[0017]圖6所示是某些方面被忽略、添加或重定義的兩個代碼片斷之間的編程接口的簡化框圖,示出了重定義的概念;
[0018]圖7所示是某些方面被忽略、添加或重定義的兩個代碼片斷之間的編程接口的替換實(shí)施例的簡化框圖,示出了重定義的概念;
[0019]圖8所示是具有合并兩個代碼模塊使得其之間的接口改變形式的功能的兩個代碼片斷之間的編程接口的簡化框圖,示出了內(nèi)嵌代碼的概念;
[0020]圖9所示是具有合并兩個代碼模塊使得其之間的接口改變形式的功能的兩個代碼片斷之間的編程接口的替換實(shí)施例的簡化框圖,示出了內(nèi)嵌代碼的概念;
[0021]圖10所示是通過將通信分裂成多個離散的通信來間接地實(shí)現(xiàn)通信的兩代碼模塊之間的編程接口的簡化框圖,示出了脫離的概念;[0022]圖11所示是通過將通信分裂成多個離散的通信來間接地實(shí)現(xiàn)通信的兩代碼模塊之間的編程接口的替換實(shí)施例的簡化框圖,示出了脫離的概念;
[0023]圖12所示是動態(tài)地重寫代碼以用達(dá)到同一結(jié)果的其它東西來替換編程接口的簡化框圖,示出了重寫的概念;
[0024]圖13所示是動態(tài)地重寫代碼以用達(dá)到同一結(jié)果的其它東西來替換編程接口的替換實(shí)施例的簡化框圖,示出了重寫的概念;
[0025]圖14A和14B所示是可實(shí)現(xiàn)本發(fā)明的一個實(shí)施例的網(wǎng)絡(luò)系統(tǒng)的替換體系結(jié)構(gòu)的示意圖,包括多個計(jì)算機(jī),包括投影計(jì)算機(jī)和多個投影目標(biāo)計(jì)算機(jī),以及電子會議房間顯示屏幕或投影儀;以及
[0026]圖15是詳細(xì)地示出了本發(fā)明的一個實(shí)施例中投影應(yīng)用程序組件和相關(guān)的組件的放置和互連接的示意圖。
[0027]盡管將結(jié)合某些較佳實(shí)施例描述本發(fā)明,它并不意味著將其局限在這些實(shí)施例上。相反,描述旨在覆蓋包括在所附權(quán)利要求書定義的本發(fā)明的精神和范圍之內(nèi)的所有的替換、修改和等效方案。
【具體實(shí)施方式】
[0028]轉(zhuǎn)向附圖,其中,相同的標(biāo)號標(biāo)識相同的元件,示出本發(fā)明在合適的計(jì)算環(huán)境中實(shí)現(xiàn)。盡管并非所需,但本發(fā)明將在計(jì)算機(jī)可執(zhí)行指令的一般上下文環(huán)境中描述,計(jì)算機(jī)可執(zhí)行指令如由個人計(jì)算機(jī)執(zhí)行的程序模塊。一般而言,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等,執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。此外,本領(lǐng)域的技術(shù)人員可以理解,本發(fā)明可以使用其它計(jì)算機(jī)系統(tǒng)配置來實(shí)踐,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器或可編程消費(fèi)者電子設(shè)備、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)等等。本發(fā)明也可以在分布式計(jì)算環(huán)境中實(shí)踐,其中,任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備來執(zhí)行。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程存儲器存儲設(shè)備中。
[0029]圖1示出了適合在其中實(shí)現(xiàn)本發(fā)明的計(jì)算系統(tǒng)環(huán)境100的一個示例。計(jì)算系統(tǒng)環(huán)境100僅為合適的計(jì)算環(huán)境的一個示例,并非建議對本發(fā)明的使用或功能的范圍的局限。也不應(yīng)將計(jì)算環(huán)境100解釋為對示例性操作環(huán)境100中示出的任一組件或其組合具有依賴或需求。
[0030]本發(fā)明可以使用眾多其它通用或?qū)S糜?jì)算系統(tǒng)環(huán)境或配置來操作。適合使用本發(fā)明的眾所周知的計(jì)算系統(tǒng)、環(huán)境和/或配置包括但不限于:個人計(jì)算機(jī)、服務(wù)器計(jì)算機(jī)、手持式或膝上設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)、機(jī)頂盒、可編程消費(fèi)者電子設(shè)備、網(wǎng)絡(luò)PC、小型機(jī)、大型機(jī)、包括任一上述系統(tǒng)或設(shè)備的分布式計(jì)算環(huán)境等等。
[0031]本發(fā)明可在計(jì)算機(jī)可執(zhí)行指令的一般上下文環(huán)境中描述,計(jì)算機(jī)可執(zhí)行指令如由計(jì)算機(jī)執(zhí)行的程序模塊。一般而言,程序模塊包括例程、程序、對象、組件、數(shù)據(jù)結(jié)構(gòu)等等,執(zhí)行特定的任務(wù)或?qū)崿F(xiàn)特定的抽象數(shù)據(jù)類型。本發(fā)明也可以在分布式計(jì)算環(huán)境中實(shí)踐,其中,任務(wù)由通過通信網(wǎng)絡(luò)連接的遠(yuǎn)程處理設(shè)備來執(zhí)行。在分布式計(jì)算環(huán)境中,程序模塊可以位于本地和遠(yuǎn)程計(jì)算機(jī)存儲媒質(zhì)中,包括存儲器存儲設(shè)備。
[0032]參考圖1,用于實(shí)現(xiàn)本發(fā)明的示例系統(tǒng)包括以計(jì)算機(jī)110形式的通用計(jì)算裝置。計(jì)算機(jī)Iio的組件可包括但不限于,處理單元120、系統(tǒng)存儲器130以及將包括系統(tǒng)存儲器的各類系統(tǒng)組件耦合至處理單元120的系統(tǒng)總線121。系統(tǒng)總線121可以是若干種總線結(jié)構(gòu)類型的任一種,包括存儲器總線或存儲器控制器、外圍總線以及使用各類總線結(jié)構(gòu)的局部總線。作為示例而非局限,這類結(jié)構(gòu)包括工業(yè)標(biāo)準(zhǔn)體系結(jié)構(gòu)(ISA)總線、微通道體系結(jié)構(gòu)(MCA)總線、增強(qiáng)ISA (EISA)總線、視頻電子技術(shù)標(biāo)準(zhǔn)協(xié)會(VESA)局部總線以及外圍部件互連(PCI)總線,也稱為Mezzanine總線。
[0033]計(jì)算機(jī)110通常包括各種計(jì)算機(jī)可讀媒質(zhì)。計(jì)算機(jī)可讀媒質(zhì)可以是可由計(jì)算機(jī)110訪問的任一可用媒質(zhì),包括易失和非易失媒質(zhì)、可移動和不可移動媒質(zhì)。作為示例而非局限,計(jì)算機(jī)可讀媒質(zhì)包括計(jì)算機(jī)存儲媒質(zhì)和通信媒質(zhì)。計(jì)算機(jī)存儲媒質(zhì)包括以用于儲存信息的任一方法或技術(shù)實(shí)現(xiàn)的易失和非易失,可移動和不可移動媒質(zhì),信息如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù)。計(jì)算機(jī)存儲媒質(zhì)包括但不限于,RAM、ROM、EEPR0M、閃存或其它存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(DVD)或其它光盤存儲、磁盒、磁帶、磁盤存儲或其它磁存儲設(shè)備、或可以用來儲存所期望的信息并可由計(jì)算機(jī)110訪問的任一其它媒質(zhì)。通信媒質(zhì)通常在諸如載波或其它傳輸機(jī)制的已調(diào)制數(shù)據(jù)信號中包含計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其它數(shù)據(jù),并包括任一信息傳送媒質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”指以對信號中的信息進(jìn)行編碼的方式設(shè)置或改變其一個或多個特征的信號。作為示例而非局限,通信媒質(zhì)包括有線媒質(zhì),如有線網(wǎng)絡(luò)或直接連線連接,以及無線媒質(zhì),如聲學(xué)、RF、紅外和其它無線媒質(zhì)。上述任一的組合也應(yīng)當(dāng)包括在計(jì)算機(jī)可讀媒質(zhì)的范圍之內(nèi)。
[0034]系統(tǒng)存儲器130包括以易失和/或非易失存儲器形式的計(jì)算機(jī)存儲媒質(zhì),如只讀存儲器(ROM) 131和隨機(jī)存取存儲器(RAM) 132?;据斎?輸出系統(tǒng)133 (BIOS)包括如在啟動時幫助在計(jì)算機(jī)110內(nèi)的元件之間傳輸信息的基本例程,通常儲存在R0M131中。RAM132通常包含處理單元120立即可訪問或者當(dāng)前正在操作的數(shù)據(jù)和/或程序模塊。作為示例而非局限,圖1示出了操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137。
[0035]計(jì)算機(jī)110也可包括其它可移動/不可移動、易失/非易失計(jì)算機(jī)存儲媒質(zhì)。僅作示例,圖1示出了對不可移動、非易失磁媒質(zhì)進(jìn)行讀寫的硬盤驅(qū)動器141、對可移動、非易失磁盤152進(jìn)行讀寫的磁盤驅(qū)動器151以及對可移動、非易失光盤156,如⑶ROM或其它光媒質(zhì)進(jìn)行讀寫的光盤驅(qū)動器155??梢栽谑纠圆僮鳝h(huán)境中使用的其它可移動/不可移動、易失/非易失計(jì)算機(jī)存儲媒質(zhì)包括但不限于,磁帶盒、閃存卡、數(shù)字多功能盤、數(shù)字視頻帶、固態(tài)RAM、固態(tài)ROM等等。硬盤驅(qū)動器141通常通過不可移動存儲器接口,如接口 140連接到系統(tǒng)總線121,磁盤驅(qū)動器151和光盤驅(qū)動器155通常通過可移動存儲器接口,如接口150連接到系統(tǒng)總線121。
[0036]圖1討論并示出的驅(qū)動器及其關(guān)聯(lián)的計(jì)算機(jī)存儲媒質(zhì)為計(jì)算機(jī)110提供了計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊和其它數(shù)據(jù)的存儲。例如,在圖1中,示出硬盤驅(qū)動器141儲存操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147。注意,這些組件可以與操作系統(tǒng)134、應(yīng)用程序135、其它程序模塊136和程序數(shù)據(jù)137相同,也可以與它們不同。這里對操作系統(tǒng)144、應(yīng)用程序145、其它程序模塊146和程序數(shù)據(jù)147給予不同的標(biāo)號來說明至少它們是不同的副本。用戶可以通過輸入設(shè)備,如鍵盤162和定位設(shè)備161 (通常指鼠標(biāo)、跟蹤球或觸摸板)向計(jì)算機(jī)110輸入命令和信息。其它輸入設(shè)備(未示出)可包括麥克風(fēng)、操縱桿、游戲墊、圓盤式衛(wèi)星天線、掃描儀等等。這些和其它輸入設(shè)備通常通過耦合至系統(tǒng)總線的用戶輸入接口 160連接至處理單元120,但是也可以通過其它接口和總線結(jié)構(gòu)連接,如并行端口、游戲端口或通用串行總線(USB)。監(jiān)視器191或其它類型的顯示設(shè)備也通過接口,如視頻接口 190連接至系統(tǒng)總線121。除監(jiān)視器之外,計(jì)算機(jī)也包括其它外圍輸出設(shè)備,如揚(yáng)聲器197和打印機(jī)196,通過輸出外圍接口 195連接。
[0037]計(jì)算機(jī)110可以在使用到一個或多個遠(yuǎn)程計(jì)算機(jī),如遠(yuǎn)程計(jì)算機(jī)180的邏輯連接的網(wǎng)絡(luò)化環(huán)境中操作。遠(yuǎn)程計(jì)算機(jī)180可以是個人計(jì)算機(jī)、服務(wù)器、路由器、網(wǎng)絡(luò)PC、對等設(shè)備或其它公用網(wǎng)絡(luò)節(jié)點(diǎn),并通常包括許多或所有上述與計(jì)算機(jī)110相關(guān)的元件,盡管在圖1中僅示出了存儲器存儲設(shè)備181。圖1描述的邏輯連接包括局域網(wǎng)(LAN) 171和廣域網(wǎng)(WAN) 173,但也可包括其它網(wǎng)絡(luò)。這類網(wǎng)絡(luò)環(huán)境常見于辦公室、企業(yè)范圍計(jì)算機(jī)網(wǎng)絡(luò)、內(nèi)聯(lián)網(wǎng)以及因特網(wǎng)。
[0038]當(dāng)在LAN網(wǎng)絡(luò)環(huán)境中使用時,計(jì)算機(jī)110通過網(wǎng)絡(luò)接口或適配器170連接至LAN171。當(dāng)在WAN網(wǎng)絡(luò)環(huán)境中使用時,計(jì)算機(jī)110可包括調(diào)制解調(diào)器172或其它裝置,用于通過WAN173,如因特網(wǎng)建立通信。調(diào)制解調(diào)器172可以是內(nèi)置或外置的,通過用戶輸入接口160或其它合適的機(jī)制連接至系統(tǒng)總線121。在網(wǎng)絡(luò)化環(huán)境中,描述的與計(jì)算機(jī)110相關(guān)的程序模塊或其部分可儲存在遠(yuǎn)程存儲器存儲設(shè)備中。作為示例而非局限,圖1示出了遠(yuǎn)程應(yīng)用程序185駐留在存儲器設(shè)備181上??梢岳斫?,示出的網(wǎng)絡(luò)連接是示例性的,也可以使用在計(jì)算機(jī)之間建立通信鏈路的其它裝置。
[0039]在以下描述中,將參考由一個或多個計(jì)算機(jī)執(zhí)行的行動和操作的符號表示來描述本發(fā)明,除非另外指明。由此,可以理解,這類行動和操作,有時稱為計(jì)算機(jī)執(zhí)行的,包括計(jì)算機(jī)的處理單元對以結(jié)構(gòu)化形式表示數(shù)據(jù)的電信號的操縱。這一操縱轉(zhuǎn)換了數(shù)據(jù)或在計(jì)算機(jī)的存儲器系統(tǒng)中的位置上維護(hù)它,從而以本領(lǐng)域的技術(shù)人員都理解的方式重配置或改變了計(jì)算機(jī)的操作。維護(hù)數(shù)據(jù)的數(shù)據(jù)結(jié)構(gòu)是存儲器的物理位置,具有數(shù)據(jù)的格式所定義的具體屬性。然而,盡管在上述的上下文環(huán)境中描述本發(fā)明,它并不意味著限制,如本領(lǐng)域的技術(shù)人員所理解的,后文所描述的行動和操作的各方面也可以硬件實(shí)現(xiàn)。
[0040]的確,編程接口(或簡稱之為接口)可以被視為用于令代碼的一個或多個片斷能與由代碼的一個或多個其它片斷提供的功能進(jìn)行通信或?qū)ζ溥M(jìn)行訪問的任一機(jī)制、過程、協(xié)議??蛇x地,編程接口可以被視為能夠通信地耦合至其它計(jì)算機(jī)的一個或多個機(jī)制、方法、函數(shù)調(diào)用、模塊等的系統(tǒng)的組件的一個或多個機(jī)制、方法、函數(shù)調(diào)用、模塊、對象等。上述語句中的術(shù)語“代碼片斷”意在包括代碼的一個或多個指令或代碼行,并包括,如,代碼模塊、對象、子例程、函數(shù)等等,無論應(yīng)用的術(shù)語是什么、或代碼片斷是否被單獨(dú)編譯、或代碼片斷是否被提供為源碼、中間碼或?qū)ο蟠a、代碼片斷是否在運(yùn)行時系統(tǒng)或進(jìn)程中使用、或它們是否位于同一或不同機(jī)器上或跨多個機(jī)器分布、或由代碼片斷表示的功能是否完全由軟件、完全由硬件或硬件和軟件的組合來實(shí)現(xiàn)。
[0041]概念上,編程接口可以被一般地察看,如圖2或圖3所示的。圖2示出了接口“接口 I”為管道,第一和第二代碼片斷通過該管道進(jìn)行通信。圖3示出的接口包括接口對象Il和12 (可以是或不是第一和第二代碼片斷的部分),它們令系統(tǒng)的第一和第二代碼片斷能通過媒質(zhì)M進(jìn)行通信。在圖3中,可以認(rèn)為接口對象11和12為同一系統(tǒng)的單獨(dú)接口,并且也可以認(rèn)為對象Il和12加上媒質(zhì)M構(gòu)成了接口。盡管圖2和3示出了雙向流程以及該流程的每一側(cè)上的接口,某些實(shí)現(xiàn)可僅具有一個方向上的信息流(或如下所述沒有信息流),或僅具有一側(cè)的接口對象。作為示例而非局限,諸如應(yīng)用編程或程序接口(API )、入口點(diǎn)、方法、函數(shù)、子例程、遠(yuǎn)程過程調(diào)用和組件對象模型(COM)接口等術(shù)語包含在編程接口的定義之內(nèi)。
[0042]這類編程接口的方面可包括第一代碼片斷向第二代碼片斷發(fā)送信息的方法(其中,“信息”以其最廣泛的意義使用,并包括數(shù)據(jù)、命令、請求等等);第二代碼片斷接收信息的方法;以及該信息的結(jié)構(gòu)、序列、語法、組織、模式、時序和內(nèi)容。在這一點(diǎn)上,只要信息以接口所定義的方式傳輸,底層傳輸媒質(zhì)本身對接口的操作可能并不重要,無論該媒質(zhì)是有線還是無線,或兩者的組合。在某些情況下,在常規(guī)意義上,當(dāng)一個代碼片斷僅訪問由第二代碼片斷執(zhí)行的功能時,信息可不在一個或兩個方向上傳輸,因?yàn)樾畔鬏斂梢允腔蛘咄ㄟ^另一機(jī)制(如,信息被放置在與代碼片斷之間的信息流分離的緩存、文件等中)或者不存在。這些方面的任一個或所有可以在給定的情況下重要,如,取決于代碼片斷是否是松散耦合或緊密耦合配置的系統(tǒng)的一部分,并且因此該列表應(yīng)當(dāng)被認(rèn)為是說明性的而非限制。
[0043]編程接口的這一概念對本領(lǐng)域的技術(shù)人員是已知的,并且可以閱讀上述本發(fā)明的詳細(xì)描述而清楚這一概念。然而,有其它方法來實(shí)現(xiàn)編程接口,并且除非明顯地排除,這些方法也由所附權(quán)利要求書包含在內(nèi)。這些其它方法可能看似比圖2和3的視圖更精密或復(fù)雜,但是它們?nèi)詧?zhí)行類似的功能來完成同一整體結(jié)果。現(xiàn)在簡要描述編程接口的某些說明性替換實(shí)現(xiàn)。
[0044]A.分解(Factoring)
[0045]可以通過將通信分裂成多個離散通信來間接地實(shí)現(xiàn)從一個代碼片斷到另一個的通信。這在圖4和5中示意性地描述。如圖所示,可以按照功能的可分組來描述某些接口。由此,可以分解圖2和3的接口功能來達(dá)到相同的結(jié)果,如同可以在數(shù)學(xué)上提供24,或2乘2乘3乘2—樣。因此,如圖4所示,可以細(xì)分由接口“接口 I”提供的功能以將該接口的通信變換成多個接口 “接口 1A”、“接口 1B”、“接口 1C”等,而達(dá)到相同的結(jié)果。如圖5所示,由接口 Il提供的函數(shù)可以被細(xì)分成多個接口 Ila、lib、Ilc等,而達(dá)到相同的結(jié)果。類似地,從第一代碼片斷接收信息的第二代碼片斷的接口 12可以被分解成多個接口 I2a、I2b、I2c等。當(dāng)分解時,包括在第一代碼片斷中的接口的數(shù)量不需要匹配包括在第二代碼片斷中的接口的數(shù)量。在圖4或5的任一情況下,接口“接口 I”和Il的功能性精神分別與圖2和3的保持相同。接口的分解也可遵從聯(lián)合、通信和其它數(shù)學(xué)性質(zhì),使得分解較難識別。例如,操作的順序可以是不重要的,因此,由接口完成的功能可以早在達(dá)到該接口之前由另一段代碼或接口完成,或者由系統(tǒng)的另一組件執(zhí)行。此外,編程領(lǐng)域的普通技術(shù)人員可以理解有各種方式來作出不同的函數(shù)調(diào)用而達(dá)到相同的結(jié)果。
[0046]B.重定義
[0047]在某些情況下,可能忽略、添加或重定義編程接口的某些方面(如參數(shù)),而仍達(dá)到預(yù)期的結(jié)果。這在圖6和7中示出。例如,假定圖2的接口“接口 I”包括函數(shù)調(diào)用Square (input, precision, output)(平方),它包括三個參數(shù),input (輸入)、precision (精度)和output(輸出),并且由第一代碼片斷向第二代碼片斷發(fā)布。如果中間參數(shù)precision在給定的情形下無關(guān)緊要,如圖6所示,它也可以被忽略或甚至由meaningless (無意義)(在這一情況下)參數(shù)來替換。也可以添加無關(guān)緊要的additional (另外)參數(shù)。在任一情況下,只要在輸入由第二代碼片斷平方之后返回輸出,就可以達(dá)到square (平方)的功能。Precision也有可能對計(jì)算系統(tǒng)的某一下游或其它部分是極有意義的參數(shù);然而,一旦認(rèn)識到precision對計(jì)算平方這一有限目的不是必需的,它可以被替換或忽略。例如,不是傳遞一個有效的pricision值,而是傳遞諸如出生日期等無意義的值,而不對結(jié)果產(chǎn)生不利地影響。類似地,如圖7所示,接口 Il由接口 II’替換,它被重新定義來忽略或向接口添加參數(shù)。接口 12可類似地被重定義為接口 12’,它被重定義來忽略不必要的參數(shù),或可在別處處理的參數(shù)。此處的要點(diǎn)是在某些情況下,編程接口可包括對某一目的而言所不需要的方面,諸如參數(shù),因此可以忽略或重定義它們,或在別處處理它們用于其它目的。
[0048]C.內(nèi)嵌代碼(inline coding)
[0049]合并兩個單獨(dú)的代碼模塊的一些或全部功能也是可行的,使得它們之間的“接口 ”改變形式。例如,圖2和3的功能性(functionality)可以被分別轉(zhuǎn)化到圖8和9的功能性。在圖8中,圖2的先前的第一和第二代碼片斷被合并成包含兩者的模塊。在這一情況下,該代碼片斷仍可以彼此通信,但是該接口可以適用于更適合單個模塊的形式。由此,例如,正式的調(diào)用(Call)和返回(Return)狀態(tài)將不再必需,但是依照接口“接口 I”的類似的處理或響應(yīng)仍是有效的。類似地,如圖9所示,圖3的部分(或所有)接口 12可以內(nèi)嵌地寫入接口 Il來形成接口 II’’。如圖所示,接口 12被劃分成I2a和I2b,并且接口部分I2a內(nèi)嵌在接口 Il中書寫代碼來形成接口 II’’。對于具體的示例,考慮圖3的接口 I執(zhí)行函數(shù)調(diào)用square (input, output),它由接口 12接收,在由第二代碼片斷處理傳遞到input的值(對其求平方)之后,它被使用output傳遞回已求平方的結(jié)果。在這一情況下,由第二代碼片斷執(zhí)行的處理(對input求平方)可以由第一代碼片斷在不調(diào)用該接口的情況下執(zhí)行。
[0050]D.脫離(divorce)
[0051]可以通過將通信分裂成多個離散的通信來間接地完成從一個代碼片斷到另一個的通信。這在圖10和11中示意性地描述。如圖10所示,提供了中間件的一個或多個片斷(脫離接口(Divorce Interface),因?yàn)樗鼈儚脑嫉慕涌诿撾x功能和/或接口函數(shù)),以轉(zhuǎn)化第一接口 “接口 I”上的通信,使得它們符合不同的接口,在本情況下為“接口 2A”、“接口2B”和“接口 2C”。這可以在這樣一種情況中完成,例如,依照“接口 I”協(xié)議設(shè)計(jì)應(yīng)用的已安裝基礎(chǔ)與如操作系統(tǒng)進(jìn)行通信,但是然后改變該操作系統(tǒng)來使用不同的接口,在本情況下為接口“接口 2A”、“接口 2B”和“接口 2C”。要點(diǎn)是改變了由第二代碼片斷使用的原始接口,使得它不再與第一代碼片斷所使用的接口兼容,因此使用中間物來令舊接口和新接口兼容。類似地,如圖11所示,可以使用脫離接口 DIl引入第三代碼片斷以從接口 Il接收信息,并使用脫離接口 DI2引入第三代碼片斷以向例如接口 I2a和I2b發(fā)送接口功能,重新設(shè)計(jì)接口 I2a和I2b以使用DI2,但是提供相同的功能性結(jié)果。類似地,DIl和DI2可共同工作以將圖3的接口 Il和12的功能翻譯成一新操作系統(tǒng),而提供相同或類似的功能性結(jié)果。
[0052]E.重寫
[0053]再一種可能的變化是動態(tài)地重寫代碼,使用別的東西來替換接口的功能,而仍達(dá)到相同的總體結(jié)果。例如,可以有一種系統(tǒng),其中,向執(zhí)行環(huán)境(如由.Net框架提供的環(huán)境、Java運(yùn)行時環(huán)境或其它類似的運(yùn)行時刻類型環(huán)境)中的及時制(Just-1n-Time) (JIT)編譯器或解釋器提供了以中間語言(如Microsoft IL, Java ByteCode等)呈現(xiàn)的代碼片斷??梢詴鴮慗IT編譯器以動態(tài)地將通信從第一代碼片斷轉(zhuǎn)化到第二代碼片斷,S卩,令它們符合第二代碼片斷(原始或不同的第二代碼片斷)所需要的不同接口。這在圖12和13中有描述。如圖12中所見,這一方式類似于上述的脫離情形。它可以在這樣一種情況下完成,例如,依照“接口 I”協(xié)議設(shè)計(jì)應(yīng)用的已安裝基礎(chǔ)操作系統(tǒng)進(jìn)行通信,然后改變該操作系統(tǒng)以使用不同的接口。JIT編譯器可以用于令已安裝基礎(chǔ)應(yīng)用的空中通信符合操作系統(tǒng)的新接口。如圖13所描述的,可以應(yīng)用這一動態(tài)重寫接口的方法以進(jìn)行動態(tài)分解,或者改變接口。
[0054]應(yīng)當(dāng)注意,上述通過替換實(shí)施例實(shí)現(xiàn)與接口相同或相似的結(jié)果的情形也可以以各種方式串行、并行或與其它干預(yù)代碼組合。由此,上文呈現(xiàn)的替換實(shí)施例并非相互排除,并且可以被混合、匹配和組合以產(chǎn)生與圖2和3中所呈現(xiàn)的一般情形相同或等效的情形。也應(yīng)當(dāng)注意,如同大多數(shù)編程構(gòu)造,本發(fā)明可能未描述達(dá)到與接口相同或相似的功能的其它類似的方式,但是它們?nèi)杂杀景l(fā)明的精神和范圍來表示,即,應(yīng)當(dāng)注意,它至少部分地是由作為接口的值的基礎(chǔ)的接口表示的功能或由其啟用的有利結(jié)果。
[0055]理解了這一概念之后,現(xiàn)在將注意力針對圖14A。該圖示意性地示出了可實(shí)現(xiàn)本發(fā)明的網(wǎng)絡(luò)環(huán)境。具體地,圖中所示的網(wǎng)絡(luò)環(huán)境包括投影設(shè)備或投影儀201,它可以是任一計(jì)算裝置,如參考圖1所描述的,用于將信息投影到一個或多個投影目標(biāo)設(shè)備或出席者203、205、207和209。投影目標(biāo)設(shè)備或出席者203-207也稱為用戶,并示作類似于投影儀201的非專用計(jì)算裝置。在這一情況下,例如,出席者(用戶)201-207可以是,或使用,作為示例而非局限,膝上計(jì)算機(jī)、臺式計(jì)算機(jī)、手持式計(jì)算設(shè)備、任一其它多用途計(jì)算設(shè)備或這些類型的設(shè)備的任一組合。用戶不需要使用或者是傳統(tǒng)的計(jì)算設(shè)備,并且可以是例如電視系統(tǒng)。網(wǎng)絡(luò)211可用于在出席者203-207和投影儀201之間傳輸信息。
[0056]類似地,出席者可另外或可選地包括專用投影設(shè)備,如電子會議室投影儀或顯示設(shè)備209,并可被稱為投影儀。對于其它出席者(用戶)203-207,出席者(投影儀)209較佳地通過網(wǎng)絡(luò)211與投影儀201 (也是用戶)進(jìn)行通信。網(wǎng)絡(luò)211可以是任一類型的網(wǎng)絡(luò),但是通常包括演示者201和網(wǎng)絡(luò)211之間,以及網(wǎng)絡(luò)211和出席者(用戶)203-207之間的無線接口。此外,網(wǎng)絡(luò)211和出席者(投影儀)209之間的接口可期望是有線或無線的。例如,由于投影儀209可在長時間內(nèi)保留在特定位置,如會議室,因此通過具有從投影儀209到網(wǎng)絡(luò)211的有線接口不會顯著地降低設(shè)備的效用。網(wǎng)絡(luò)211本身一般一盡管并非所需一是有線基礎(chǔ)結(jié)構(gòu),如企業(yè)LAN、WAN或其它傳統(tǒng)的全部或部分有線的網(wǎng)絡(luò)。
[0057]圖14B示意性地示出了一個替換網(wǎng)絡(luò)環(huán)境。具體而言,演示者201和出席者203-209通過包括無線鏈路213-225的特別(ad hoc)無線網(wǎng)絡(luò)互相連接。注意,并非所有的連接213-225都是必需的,因?yàn)樘貏e網(wǎng)絡(luò)不需要每一節(jié)點(diǎn)到每一其它節(jié)點(diǎn)的直接連接。例如,節(jié)點(diǎn)可通過到另一節(jié)點(diǎn)的單個連接間接地連接到特別網(wǎng)絡(luò)的所有節(jié)點(diǎn)。由此,如需要,特別拓?fù)浒ōh(huán)、線、網(wǎng)、集線器-輻條、和/或其它拓?fù)?。通常,特定設(shè)備從其它設(shè)備的物理距離將確定該特定設(shè)備將直接連接到特別網(wǎng)絡(luò)的哪一或哪些設(shè)備,如果有的話。
[0058]在繼續(xù)到結(jié)構(gòu)的交互的詳細(xì)描述之前,后文將先簡要描述上述組件的使用和交互場景。通常在討論會室或會議室背景中,演示者201為希望將感興趣的材料投影到接收個體的演示個體所占有,盡管本發(fā)明的系統(tǒng)也可在非商業(yè)背景,如家庭環(huán)境中使用。感興趣的材料可以是圖形的,如圖像或視頻,或文本的,如文檔、圖表等,并也可包括音頻元素。在本發(fā)明的一個實(shí)施例中,感興趣的材料完全是音頻信息。盡管感興趣的材料并不需要是計(jì)算機(jī)生成的,它較佳地以計(jì)算機(jī)可讀格式對本地或遠(yuǎn)程演示者201可訪問。出席者(用戶)203-207可以是接收個體的膝上計(jì)算機(jī),而出席者(投影儀)209可以是專用投影系統(tǒng),如會議室投影儀或大屏幕監(jiān)視器或通常不與任一用戶物理關(guān)聯(lián)的其它顯示屏,不像移動的膝上或手持式設(shè)備。
[0059]出席者203-209之間的網(wǎng)絡(luò)連通性通常在每一設(shè)備進(jìn)入與演示用戶關(guān)聯(lián)的演示者201的通信范圍時開始。由此,例如,假定投影儀209永久地駐留在會議室中。當(dāng)演示用戶進(jìn)入擁有演示者201的會議室時,在投影儀209和演示者201之間形成無線連接,該無線連接要么是特別網(wǎng)絡(luò),要么通過網(wǎng)絡(luò)基礎(chǔ)結(jié)構(gòu)。演示用戶然后能夠從其設(shè)備201將材料投影到投影儀209的屏幕,用于接收個體進(jìn)行觀察。以這一方式,演示用于在不物理連接任何電纜或軟線的情況下實(shí)現(xiàn)了演示,并可類似地結(jié)束演示,或在不斷開任何電纜或軟線的情況下將其控制轉(zhuǎn)移到使用另一投影設(shè)備的另一演示個體。
[0060]以大致同一方式,演示用戶可向多個目標(biāo)設(shè)備,如出席者(用戶)203-207演示感興趣的材料。例如,在本發(fā)明的一個實(shí)施例中,演示者201和用戶203-209之間的網(wǎng)絡(luò)連接可以在自動化發(fā)現(xiàn)之后自動執(zhí)行,而不需要用戶查找并操縱物理連接。在這一情況下,材料的演示從演示者201發(fā)向出席者的屏幕,出席者可以是屬于接收個體的膝上計(jì)算機(jī)。這一特定結(jié)構(gòu)將在后文更完整地討論,并討論其關(guān)聯(lián)的各種安全方面。
[0061]圖15示出了本發(fā)明的系統(tǒng)和方法中存在的不同組件和二元(binary)。創(chuàng)建演示設(shè)備500并在演示者的機(jī)器上注冊。該設(shè)備注冊了 UPnP,并且一旦注冊,它即能夠通過SSDP來發(fā)現(xiàn)。較佳地,該設(shè)備由UPnP在注冊過程中創(chuàng)建的其唯一設(shè)備名(UDN)來標(biāo)識。該設(shè)備包含一 UPnP服務(wù),稱為演示服務(wù)(presentationserevice)。創(chuàng)建用戶顯示設(shè)備502并在出席者的機(jī)器上注冊。該設(shè)備也注冊了 UPnP,并且一旦注冊,它可以使用SSDP來發(fā)現(xiàn)。該設(shè)備也由其UDN標(biāo)識,并包含一 UPnP服務(wù),稱為用戶顯示服務(wù)(userdisplayservice)。圖15中的這三個二兀包括 CRP presentation.dll504> CRP attendee.dll506 以及 Microsoft.CRP.dll508。CRP presentation, dll 包括演不設(shè)備(presentationdevice),它是 UPnP 演示設(shè)備。另外,該二元為演示設(shè)備注冊和取消注冊提供了功能性。這些方法用于注冊和取消注冊演示設(shè)備。所包括的還有控制功能。這些方法用于控制投影儀,如獲取投影儀能力、顯示模式等。最后,CRP presentation, dll包括出席者控制功能性。這些方法用于向出席者發(fā)送邀請。
[0062]二元CRP attendee, dll為用戶顯示設(shè)備提供了功能,用戶顯示設(shè)備是用于用戶顯示的UPnP設(shè)備。也為用戶顯示設(shè)備注冊和取消注冊提供了功能性。這些方法用于注冊和取消注冊用戶顯示設(shè)備。最后,CRP attendee.dll 二元包括用于演示控制的功能性。這些方法用于從演示者請求邀請。
[0063]Microsoft.CRP.dll 二兀是在 CRP.attendee, dll 和 CRP presentation, dll 二兀上提供的包裝(wrapper)。它向應(yīng)用程序展現(xiàn)了用戶友好管理接口。該Microsoft.CRP.dll也實(shí)現(xiàn)了控制并創(chuàng)建終端服務(wù)會話510的功能性。
[0064]本發(fā)明的會議室投影儀(CRP)系統(tǒng)和方法依賴于三個部分。第一部分是向應(yīng)用程序提供的用戶接口。第二部分是終端服務(wù)(TS)。為把演示投影到另一機(jī)器(投影儀或出席者),使用了終端服務(wù)協(xié)作API。終端服務(wù)允許一個或多個終端服務(wù)客戶機(jī)連接到終端服務(wù)服務(wù)器,并觀看由TS服務(wù)器(通常是桌面)放映的會話。演示者擔(dān)當(dāng)了終端服務(wù)服務(wù)器,并且出席者和投影儀擔(dān)當(dāng)了終端服務(wù)客戶機(jī)。第三,CRP依賴于UPnP。UPnP具有設(shè)備的概念,它展現(xiàn)了可由本地或遠(yuǎn)程機(jī)器上的任一應(yīng)用程序調(diào)用的一組行動。UPnP也為UPnP設(shè)備的發(fā)現(xiàn)提供了 SSDP。[0065]在典型的設(shè)置中,演示、出席者和投影儀都是UPnP設(shè)備。通過使用SSDP,用戶可找到本地網(wǎng)絡(luò)上存在的演示設(shè)備、出席者設(shè)備和投影儀設(shè)備。為使TS客戶機(jī)連接到TS服務(wù)器,TS客戶機(jī)需要TS服務(wù)器生成的邀請。為將邀請從服務(wù)器傳輸?shù)娇蛻魴C(jī),使用UPnP設(shè)備提供的行動。有UPnP設(shè)備上可調(diào)用的行動,如演示設(shè)備將具有請求邀請的行動,而出席者設(shè)備將具有可用于邀請出席者的行動。
[0066]當(dāng)演示者希望給出演示時,它將創(chuàng)建終端服務(wù)會話510。如果有它想要邀請的出席者和投影儀存在,它將創(chuàng)建終端服務(wù)票并向出席者和投影儀發(fā)送該邀請。為邀請出席者,要調(diào)用出席者設(shè)備上的邀請行動。為連接到投影儀,要調(diào)用UPnP設(shè)備上的連接行動。一旦投影儀和出席者具有了邀請,他們將向終端服務(wù)客戶機(jī)提供邀請。終端服務(wù)客戶機(jī)然后將聯(lián)系終端服務(wù)會話。
[0067]如本領(lǐng)域眾所周知的,TS服務(wù)器是COM組件。它由上述Microsoft.CRP.dll 二元使用。最新的TS協(xié)作API用于創(chuàng)建會話。與其它COM組件一樣,它必須注冊了再使用。如本領(lǐng)域眾所周知的,TS客戶機(jī)是Active X控件。Active X控件具有與其關(guān)聯(lián)的某些屬性,如控件的寬度、高度、邀請以及如需要使用邀請的密碼。Active X控件必須注冊來使用。發(fā)現(xiàn)機(jī)制通常是SSDP,以發(fā)現(xiàn)CRP系統(tǒng)中的設(shè)備。然后將這些設(shè)備的UDN作為輸入提供。
[0068]本發(fā)明的一個示例性實(shí)施例中,這些設(shè)備的狀態(tài)變量包括用于表示具體值或列表的屬串A_String,以及作為顯示設(shè)備的名字或標(biāo)識串的A_Name。
[0069]在兩種狀態(tài)都介紹了之后,現(xiàn)在簡要描述行動。這些行動包括邀請方法、演示者友好的名字方法以及演示友好的名字方法。GetName方法返回出席者的標(biāo)識串。如果指定的值無效,該方法返回InvalidValue錯誤描述。
[0070]在本發(fā)明的一個實(shí)施例中,用戶可執(zhí)行兩種操作,即用戶可給出演示或觀看演示。當(dāng)給出演示時,演示者可希望在投影儀和/或另一用戶的顯示設(shè)備上顯示演示。當(dāng)期望給出演示時,演示者將執(zhí)行以下步驟。首先,演示者開始演示會話。這將創(chuàng)建可由其它用戶發(fā)現(xiàn)的演示設(shè)備。它也將創(chuàng)建終端服務(wù)會話。
[0071 ] 演示者還會希望發(fā)現(xiàn)鄰近的投影儀,并連接到這些投影儀。為完成這一過程,演示者對投影儀執(zhí)行SSDP搜索。SSDP搜索將返回投影儀的列表。演示者然后將從列表中選擇一個或多個投影儀。然后如需要,提供投影儀的UDN和密碼用于建立連接?;谠撁艽a使用TS會話的邀請管理器為投影儀創(chuàng)建邀請。然后通過調(diào)用投影儀顯示設(shè)備上的連接行動將該邀請發(fā)送到投影儀。
[0072]用戶還會希望邀請其它用戶觀看演示。為完成這一過程,演示者將執(zhí)行其它用戶的搜索。搜索將提供用戶的顯示設(shè)備的UDN。一旦發(fā)現(xiàn)了 UDN,終端服務(wù)邀請管理器將為被邀請者創(chuàng)建邀請(僅為服務(wù)邀請,否則使用一般邀請)。然后通過調(diào)用用戶顯示設(shè)備上的邀請行動將該邀請發(fā)送到被邀請者。
[0073]演示者還會希望當(dāng)另一用戶希望出席演示時被通知到。將由希望加入演示的用戶調(diào)用上述演示設(shè)備上的行動RequestInvitation (請求邀請)。在該情況下,給予演示者具有關(guān)于該用戶的信息的回叫。演示者然后可使用該信息來如同任一其它用戶一樣邀請?jiān)撚脩???蛇x地,演示者可能不希望操心什么邀請書,只是單純地希望允許任何人加入演示,而不需要任何驗(yàn)證和密碼。在這兩種情況下,只要在演示者的演示設(shè)備上調(diào)用了RequestInvitation行動,將直接向用戶發(fā)送該邀請。如果演示是安全的,則該邀請是密碼保護(hù)的。
[0074]當(dāng)演示者想要停止演示時,它只要取消注冊演示設(shè)備并關(guān)閉TS會話。
[0075]用戶執(zhí)行的其它操作是觀看演示。在這一情況下,出席者會希望首先發(fā)現(xiàn)可用的演示。可使用本領(lǐng)域眾所周知的SSDP來容易地完成這一過程。出席者將接收演示的UDN,然后用相關(guān)的信息調(diào)用演示設(shè)備上的行動Requestlnvitation。這僅在演示允許通過這一請求來訪問的情況下是有效的。如果演示者允許出席者觀看演示,出席者將用邀請調(diào)用顯示設(shè)備上的行動Invite (邀請)。然后將該邀請給予TS客戶機(jī)以建立連接。TS客戶機(jī)然后連接到演示者的TS會話。萬一演示者想要在不被請求邀請的情況下邀請出席者,演示者將如上所述直接調(diào)用顯示設(shè)備上的行動Invite。
[0076]一旦建立了連接,依照2002年7月25日提交的名為“改進(jìn)數(shù)據(jù)投影系統(tǒng)和方法(IMPROVED DATA PROJECTION SYSTEM AND METHOD)” 的共同待批的申請?zhí)?10/179,431,可向出席者一用戶和投影儀一提供演示,該申請轉(zhuǎn)讓給本發(fā)明的受讓人,并且其教導(dǎo)和揭示通過引用整體結(jié)合于此。如該共同待批的申請中所描述的,可通過其提供演示的網(wǎng)絡(luò)包括在基礎(chǔ)結(jié)構(gòu)模式或作為特別網(wǎng)絡(luò)的一部分操作的802.11適應(yīng)無線鏈路。當(dāng)然,本領(lǐng)域的技術(shù)人員將認(rèn)識到,也可以使用其它無線網(wǎng)絡(luò)以及有線網(wǎng)絡(luò)。同樣如該共同待批的申請中所描述的,可通過標(biāo)準(zhǔn)通用即插即用通知機(jī)制來實(shí)現(xiàn)用戶位置的通知,其中,出席者的通用即插即用組件向演示者的通用即插即用組件通知其存在和能力??蛇x地,演示者的通用即插即用組件可肯定地搜索并查找出席者的通用即插即用組件。該過程還可被倒轉(zhuǎn),演示者通告其存在和其演示,使得出席者可如上所述找到演示并請求準(zhǔn)許進(jìn)入。
[0077]如上所述,Microsoft.CRP.dll 二元展現(xiàn)了管理接口。該CRP系統(tǒng)中提供的主類包括演示類(presentation)、出席者設(shè)備類(attendee device)、投影儀類(protector)和出席者類(attendee)。演示類是演示者使用的主要類。為開始演示,演示者必須例示該類。出席者設(shè)備類用于觀看演示。即,為觀看演示,必須例示該類。它創(chuàng)建出席者設(shè)備,并提供演示的邀請。投影儀類表示投影儀。它與投影儀設(shè)備進(jìn)行通信以獲取關(guān)于投影儀的信息。最后,出席者類表示出席者。它提供方法和屬性來給予控制或斷開出席者?,F(xiàn)在提供這些類的每一個的更詳細(xì)討論。
[0078]以下表I 不出了 Microsoft.CRP.presentation 類的概述。
[0079]
【權(quán)利要求】
1.一種從第一計(jì)算設(shè)備向聯(lián)網(wǎng)環(huán)境中的多個出席者給予演示的方法,所述多個出席者分別與相應(yīng)的第二計(jì)算設(shè)備相關(guān)聯(lián),其特征在于,所述方法包括: 在所述第一計(jì)算設(shè)備上開始演示會話,包括: 在所述 第一計(jì)算設(shè)備上注冊可由所述第二計(jì)算設(shè)備發(fā)現(xiàn)的演示設(shè)備;以及在所述第一計(jì)算設(shè)備上創(chuàng)建終端服務(wù)會話,所述演示設(shè)備繼續(xù)擔(dān)當(dāng)終端服務(wù)服務(wù)器并允許所述多個出席者通過使用終端服務(wù)客戶機(jī)來觀看所述演示,所述終端服務(wù)客戶機(jī)能經(jīng)由所述終端服務(wù)會話將所述第二計(jì)算設(shè)備連接到所述第一計(jì)算設(shè)備。
2.如權(quán)利要求1所述的方法,其特征在于,開始演示會話的所述步驟包括指定演示會話類型的步驟。
3.如權(quán)利要求1所述的方法,其特征在于,它還包括以下步驟: 發(fā)現(xiàn)至少一個投影儀; 選擇所述至少一個投影儀的至少一個; 建立與所選擇的投影儀的連接; 為所選擇的投影儀創(chuàng)建邀請;以及 向所選擇的投影儀發(fā)送所述邀請。
4.如權(quán)利要求3所述的方法,其特征在于,發(fā)現(xiàn)至少一個投影儀的所述步驟包括執(zhí)行所述至少一個投影儀的SSDP搜索的步驟。
5.如權(quán)利要求3所述的方法,其特征在于,它還包括啟動所選擇的投影儀上的連接方法的步驟,由此,其上的終端服務(wù)客戶機(jī)建立與所述終端服務(wù)會話的連接。
6.如權(quán)利要求1所述的方法,其特征在于,它還包括以下步驟: 發(fā)現(xiàn)多個用戶; 選擇所述多個用戶的至少一個; 建立與所選擇數(shù)量的用戶的連接; 為所選擇數(shù)量的用戶的每一個創(chuàng)建邀請;以及 向所選擇的用戶的每一個發(fā)送邀請。
7.如權(quán)利要求6所述的方法,其特征在于,發(fā)現(xiàn)所述多個用戶的步驟包括執(zhí)行所述多個用戶的簡單服務(wù)發(fā)現(xiàn)協(xié)議SSDP搜索的步驟。
8.如權(quán)利要求6所述的方法,其特征在于,它還包括啟動所選擇數(shù)量的用戶上的連接方法的步驟,由此其上的終端服務(wù)客戶機(jī)建立與所述終端服務(wù)會話的連接。
9.如權(quán)利要求1所述的方法,其特征在于,它還包括停止所述演示的步驟。
10.如權(quán)利要求9所述的方法,其特征在于,停止所述演示的所述步驟包括斷開任何連接并清除任何狀態(tài)的步驟。
11.如權(quán)利要求1所述的方法,其特征在于,它還包括以下步驟: 從出席者接收準(zhǔn)許進(jìn)入請求; 生成對所述演示的邀請; 向所述出席者提供所述邀請。
12.如權(quán)利要求11所述的方法,其特征在于,它還包括在生成并提供所述邀請的步驟之前核實(shí)所述出席者提供的密碼的步驟。
13.—種加入從聯(lián)網(wǎng)環(huán)境中的第一計(jì)算設(shè)備投影的演示的方法,其特征在于,所述方法包括: 在第二計(jì)算 設(shè)備上注冊用戶顯示設(shè)備; 發(fā)現(xiàn)網(wǎng)絡(luò)上的至少一個演示設(shè)備,所述演示設(shè)備被注冊在所述第一計(jì)算設(shè)備上; 從所述用戶顯示設(shè)備向所述至少一個演示設(shè)備發(fā)送準(zhǔn)許進(jìn)入請求; 從所述演示設(shè)備接收邀請; 啟動連接方法以建立與所述演示設(shè)備的終端服務(wù)會話的連接,所述用戶顯示設(shè)備被配置成擔(dān)當(dāng)終端服務(wù)客戶機(jī)并經(jīng)由使用終端服務(wù)協(xié)作應(yīng)用編程接口在所述第二計(jì)算設(shè)備上接收來自所述第一計(jì)算設(shè)備的演示。
14.如權(quán)利要求13所述的方法,其特征在于,發(fā)現(xiàn)至少一個演示設(shè)備的所述步驟包括執(zhí)行所述至少一個演示設(shè)備的SSDP搜索的步驟。
【文檔編號】H04L12/28GK103929343SQ201410135540
【公開日】2014年7月16日 申請日期:2004年10月20日 優(yōu)先權(quán)日:2003年10月23日
【發(fā)明者】R·古普塔, T·R·曼尼恩 申請人:微軟公司