欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

電腦化廣告的方法和系統(tǒng)的制作方法

文檔序號:6474263閱讀:375來源:國知局
專利名稱:電腦化廣告的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域
一般說來,本發(fā)明涉及新媒體比如因特網(wǎng)和軟件程序中的廣告,更確切地說,涉及實(shí)現(xiàn)這種廣告方式的方法和系統(tǒng)。
起初,大多數(shù)因特網(wǎng)廣告僅僅是矩形框架(廣告條、彈出視窗)包圍的圖畫,有時單一的影像即可,有時廣告包括一系列影像(動畫GIF)。后來,開發(fā)了一種新型的廣告,它包括聲音,有時還有互動功能。這些廣告被稱為豐富媒體(rich media),包括Java廣告條、插播廣告、延緩式插播廣告(Superstitial)、Flash廣告條、Shockwave廣告條以及使用這些技術(shù)或其它專有技術(shù)的彈出視窗。雖然豐富媒體的定義很多,但是基本上可以定義為不僅具有靜態(tài)影像的任何類型的廣告。包括動畫、聲音和互動功能的廣告,通常被稱為豐富媒體廣告。不過,無論使用了何種技術(shù),所有這些形式都具有一個共同的特征它們總是存在于一個預(yù)置的外形之內(nèi),通常是一個預(yù)置的尺寸之內(nèi)。不管它是在一個視窗內(nèi)部的一個框架中,還是占據(jù)整個一個彈出視窗,在本發(fā)明出現(xiàn)之前,所有廣告單元都占據(jù)一個矩形的空間。

發(fā)明內(nèi)容
按照本發(fā)明,廣告是以生動的多媒體形象的形式出現(xiàn)在電腦屏幕上,在這里將被稱為“ShoshkeleTM”形象。ShoshkeleTM是UnitedVirtualities,Inc.公司的一種商標(biāo)和服務(wù)標(biāo)志,該公司是本專利申請的擁有人。ShoshkeleTM以闖入方式不時出現(xiàn)在屏幕上,用戶對它不可預(yù)測,因此它完全不受用戶的控制。ShoshkeleTM能夠在整個屏幕上移動,并且是在一個操作系統(tǒng)比如Windows中一個應(yīng)用程序顯示(優(yōu)選情況下是一個瀏覽器視窗)的最高圖層中,所以它不會被任何視窗或?qū)ο蟾采w。當(dāng)然,如果ShoshkeleTM所在圖層之上若干圖層至少是部分透明,ShoshkeleTM就能夠處于最高圖層之下的某一圖層中。它也可以提供聲音,包括語音、音樂和音效。ShoshkeleTM的突然出現(xiàn)及其娛樂價值吸引了用戶的注意。利用現(xiàn)有的技術(shù),能夠?qū)崿F(xiàn)現(xiàn)今的廣告觀念和ShoshkeleTM。
ShoshkeleTM的性質(zhì)是瀏覽器驅(qū)動、不論平臺、自由移動、有多種外形和尺寸、音視頻動畫,并且使用時不需要下載外掛程序。一種ShoshkeleTM形象是音視頻廣告它包含完全同步的影像和聲音;它是自由浮動的;它能夠采取任何外形、形式或尺寸,因而與內(nèi)容水乳交融或者涇渭分明;而且它的功能不依賴于任何外掛程序,在任何指定的時間,使用多種技術(shù)解決方案之一即可。
ShoshkeleTM的一種使它們有別于每一種其它類型廣告的特性在于,所有其它的廣告都具有預(yù)定的外形和尺寸,因此廣告必然有所調(diào)整和限制。它們有指定的適用范圍,并受其限制;無論是廣告條的框架還是整個視窗。與其它任何廣告不同的是,ShoshkeleTM在瀏覽器視窗之內(nèi)獨(dú)立于內(nèi)容地自由移動,不受外形、形式或尺寸的任何限制。它們沒有預(yù)置的邊界。ShoshkeleTM占據(jù)著與內(nèi)容相伴的任何瀏覽器的視窗,但是功能卻與之完全獨(dú)立。
這表明設(shè)計或修改一個網(wǎng)頁時,不必考慮ShoshkeleTM。它們也不依賴于自身專用視窗的啟動。此外,大多數(shù)豐富媒體產(chǎn)品在使用前,需要下載和安裝外掛程序。如果沒有這個外掛程序,廣告服務(wù)器就發(fā)送廣告的非豐富媒體版本,它基本上包括一個動畫GIF、一個jpeg或一個PNG影像。在ShoshkeleTM之前,所有的音視頻廣告都需要一個外掛程序。僅有影像的廣告可能不需要它。僅有音頻的廣告也可能不需要它。但是互動和(聲音和圖畫)二者的同步卻無一例外地依賴外掛程序或Java小程序。ShoshkeleTM卻不需要,所以它們是通用的。在豐富媒體廣告技術(shù)中,只有它們在使用中不必考慮有沒有任何特定外掛程序,而僅僅需要一個支持JavaScript和圖層的瀏覽器(在2001年8月時市場上超過99%滿足要求)。
通過一套工具支持的一種基本觀念,可能做到這一點(diǎn)。這種觀念是,使用圖形用戶界面的所有多媒體電腦,自然能夠顯示ShoshkeleTM,盡管不總是使用相同的技術(shù)。那么,就需要確定任何指定的電腦支持哪種技術(shù),以及如何產(chǎn)生對于該項(xiàng)技術(shù)或若干項(xiàng)技術(shù)特制的一個特定廣告單元。
發(fā)行ShoshkeleTM時,能夠利用多種電腦化的媒介,比如包裝軟件(商業(yè)軟件)、自由軟件(免費(fèi)軟件)和共享軟件(部分自由軟件),以及其它軟件種類、因特網(wǎng)站點(diǎn)、還有任何屏幕表面,無論是現(xiàn)有的還是要開發(fā)的(視窗、表格、壁紙、擋風(fēng)玻璃、外涂層等等)。
一個cookie標(biāo)識客戶,一個腳本根據(jù)該客戶的ShoshkeleTM瀏覽歷史參數(shù),從一個數(shù)據(jù)庫中挑選出不同的ShoshkeleTM。JavaScript腳本嵌入在一個網(wǎng)頁中,它執(zhí)行一個FLASH對象或動畫GIF以及聲音。動畫和聲音要同步。聲音的格式可以是WAV、MP3、Quicktime、RealAudio、AVI、專有的等等,帶有或沒有外掛程序。在內(nèi)容供應(yīng)商提供的每個網(wǎng)頁中,嵌入了一個ShoshkeleTM標(biāo)簽。執(zhí)行網(wǎng)頁中的ShoshkeleTM標(biāo)簽時,用戶就連接到一個ShoshkeleTM服務(wù)器,一個cookie就傳送用戶的標(biāo)識和ShoshkeleTM瀏覽歷史信息。ShoshkeleTM服務(wù)器根據(jù)用戶的電腦中存在的用戶的瀏覽歷史和技術(shù),選擇適當(dāng)?shù)腟hos OS、Windows CE、Aperios Sony、General Magic、機(jī)頂盒等等)中。
ShoshkeleTM的營銷,是結(jié)合了廣告代理、新聞機(jī)構(gòu)、因特網(wǎng)服務(wù)供應(yīng)商(ISP)、內(nèi)容供應(yīng)商等等。在網(wǎng)絡(luò)平臺上,可以按照CMP(每千次印象的成本)以及按照其中出現(xiàn)ShoshkeleTM之網(wǎng)頁的流量來確定價格,或者按照贊助商站點(diǎn)的實(shí)際點(diǎn)擊次數(shù),或者按照每秒、每個用戶,或者這些方式的一種結(jié)合。
用戶將收到多種形式的鼓勵,比如對選擇立即點(diǎn)擊的用戶給予驚喜大獎(“點(diǎn)擊它否則失去它”),或者對第“n”個點(diǎn)擊的用戶給予驚喜大獎等等。為了增加吸引力,還可以將ShoshkeleTM編排為講故事的方式。
某種軟件可能有不只一個贊助商贊助。ShoshkeleTM程序既能夠在Windows、Macintosh中執(zhí)行,也能夠在當(dāng)前的應(yīng)用程序中執(zhí)行。ShoshkeleTM會時時出現(xiàn),例如在打開一個菜單時,不是出現(xiàn)命令而是出現(xiàn)ShoshkeleTM。
在其它非網(wǎng)絡(luò)平臺上,比如所述軟件中,考慮到用戶實(shí)際上支付了軟件的費(fèi)用,ShoshkeleTM可能闖入性要小一些。因此,在這種情況下,ShoshkeleTM將提高生產(chǎn)力,而不是干擾它。例如,一種辦公助理軟件展示帶有廣告產(chǎn)品的一件T恤衫。
在所有情況下,ShoshkeleTM都能夠模仿名人(語音和/或影像)來提高廣告產(chǎn)品的品牌知名度。
運(yùn)行時,用戶監(jiān)視器10監(jiān)視所有用戶對網(wǎng)絡(luò)服務(wù)器W的訪問,并通過使用cookie識別用戶。用戶的標(biāo)識提供給數(shù)據(jù)庫20,它把有關(guān)用戶的信息提供給動態(tài)網(wǎng)頁內(nèi)容發(fā)生器30,它再產(chǎn)生ShoshkeleTM,插入用戶正在瀏覽的網(wǎng)頁中。雖然不是必需的,監(jiān)視器10、數(shù)據(jù)庫20和動態(tài)網(wǎng)頁內(nèi)容發(fā)生器30還是能夠以分離的軟件程序?qū)崿F(xiàn),在作為網(wǎng)絡(luò)服務(wù)器W的同一電腦上運(yùn)行。
圖2是一幅流程圖,顯示了用戶監(jiān)視器10的操作。操作開始于方框100,在方框102探測用戶的到達(dá)。優(yōu)選情況下,這時服務(wù)器W向用戶發(fā)送一個JavaScript腳本,結(jié)果是詢問其電腦,對ShoshkeleTMcookie定位,以便確定該電腦上有何種技術(shù)(如瀏覽器軟件的品牌和版本,以及安裝了何種外掛程序)。下一步,在方框104確定這是不是一個新用戶(例如,假若他沒有ShoshkeleTMcookie,就會是這種情況),如果是的話,在方框106向他的電腦發(fā)送ShoshkeleTMcookie。這個cookie包含著該用戶的標(biāo)識信息以及這個用戶最近對ShoshkeleTM訪問的記錄。因此,在這個cookie發(fā)送到該用戶之前,會利用為他準(zhǔn)備的ShoshkeleTM有關(guān)的信息對該cookie進(jìn)行更新。
如果在方框104中確定這不是一個新用戶,就在方框108中從用戶處提取ShoshkeleTMcookie的信息,并用于更新數(shù)據(jù)庫20。這時,數(shù)據(jù)庫會收到用戶對ShoshkeleTM訪問有關(guān)的cookie中存放的全面信息。在方框114中向服務(wù)器提供用戶信息,以便準(zhǔn)備一個ShoshkeleTM,然后在方框116中結(jié)束操作。應(yīng)當(dāng)注意,在結(jié)束之前,用戶對ShoshkeleTM訪問有關(guān)的信息會記錄在他的cookie中。
在網(wǎng)頁中產(chǎn)生ShoshkeleTM的優(yōu)選動畫軟件,是Macromedia的Flash。不過,正如下面將會變得明了,可以預(yù)期實(shí)際上ShoshkeleTM會在任何電腦上運(yùn)行。ShoshkeleTM動畫是以Flash產(chǎn)生的,相伴的音頻是來自網(wǎng)絡(luò)原型的Flash程序自身以MP3進(jìn)行編碼。然后,對一種公有的JavaScript腳本進(jìn)行修改,使它支持和包含任何對象,包括不同尺寸和外形的動畫,并能夠把ShoshkeleTM放在屏幕上的任何位置。該JavaScript腳本插入瀏覽器視窗顯示的最高圖層上的Flash動畫對象中,使它不可滾動。還編寫和插入了另一種JavaScript腳本,它的功能是與Flash對象通信,對其執(zhí)行過程進(jìn)行計時(如網(wǎng)頁下載之后播放20秒鐘)。只有在Internet Explorer 4.0和更高的版本中,而且它必須具有Flash外掛程序,才能在不干擾背景網(wǎng)頁的情況下使用這個系統(tǒng)。
對于產(chǎn)生ShoshkeleTM的技術(shù),另一種可能的方案是,如同前面的實(shí)例一樣通過JavaScript獲得一個動畫GIF,但是它包含一個GIF對象,而不是包含一個Flash對象。另外通過HTML代碼獲得一個WAV對象。為了得到ShoshkeleTM所需的時間線(time line),使用了稱為,時間線(Time line)’的一種Dreameweaver程序功能。通過這種嵌入,實(shí)現(xiàn)了GIF和WAV對象(動畫和音頻)之間的同步。GIF的所有圍繞區(qū)域都將保持透明,以顯示下面圖層中的內(nèi)容。因此,瀏覽者看見了一個形象,但是看不見一個矩形或者矩形視窗。無論是在Internet Explorer和Netscape 4.0和更高的版本中,還是在具有圖層技術(shù)的其它瀏覽器中,都可以使用這種方案。
這兩種技術(shù)都能夠被服務(wù)器W提供的HTML網(wǎng)頁使用,如果所有必需的技術(shù)在用戶的電腦中都有,就使用第一選項(xiàng),否則就使用第二選項(xiàng)。用戶絕不會注意到進(jìn)行了選擇。圖3是一幅流程圖,顯示了確定將使用何種腳本的過程。該過程在方框200開始,在方框210中確定在用戶的電腦中有什么技術(shù)接收ShoshkeleTM。如果該電腦具有Internet Explorer 4.0或更高的版本以及Flash,就在方框230創(chuàng)建一個腳本,它產(chǎn)生協(xié)調(diào)的Flash影像,包括MP3或其它聲音文件。如果該電腦缺乏這種技術(shù),就在方框240產(chǎn)生一個腳本,它產(chǎn)生一個動畫GIF文件和一個同步的WAV文件,如同以上的討論。在方框250產(chǎn)生適當(dāng)?shù)拇a,以產(chǎn)生由服務(wù)器向用戶提供的HTML網(wǎng)頁中的ShoshkeleTM。然后在方框260中結(jié)束過程。
為了編寫驅(qū)動ShoshkeleTM的JavaScript腳本,用作基礎(chǔ)的原始JavaScript腳本是公開的,但是進(jìn)行的所有修改都是為了本發(fā)明的目的,其結(jié)果也是創(chuàng)新的,換句話說,它們允許播放任何動畫,尺寸不同,在屏幕上的任何位置,所以實(shí)現(xiàn)了一個獨(dú)特的結(jié)果ShoshkeleTM。
圖4是一幅框圖,顯示了電腦化廣告的業(yè)務(wù)方法。假設(shè)通過一種稱為媒體源(MediaSource)的機(jī)構(gòu),能夠獲得ShoshkeleTM。
ShoshkeleTM的營銷是通過廣告代理340,它能夠向其客戶(如贊助商310)提供ShoshkeleTM以產(chǎn)生廣告(’shoshmercial’)。贊助商310按照項(xiàng)目或“每項(xiàng)策略”向代理340付款。代理340為了ShoshkeleTM的創(chuàng)作而向創(chuàng)作室330付款。在第一階段,可以從媒體源訂購一個ShoshkeleTM,帶有準(zhǔn)備好的腳本。在以后的一個階段,媒體源應(yīng)當(dāng)提供一個工具箱’the shoshkelizer’,它將允許創(chuàng)作室330或某個其它的分包商創(chuàng)建一個ShoshkeleTM,同時向媒體源支付許可費(fèi)。一旦產(chǎn)生了Shoshmercial,就會在內(nèi)容供應(yīng)商320提供了在內(nèi)容中插入ShoshkeleTM所用之標(biāo)簽的任何網(wǎng)頁中,把它提供給一個用戶。優(yōu)選情況下,廣告客戶因?yàn)閯?chuàng)作ShoshkeleTM而會向媒體源支付許可費(fèi),以及每次印象費(fèi)(一次印象=對一個訪問者的一次展示),包括一次印象延續(xù)期間的計費(fèi)。媒體源會與內(nèi)容供應(yīng)商交涉并付款。或者,內(nèi)容供應(yīng)商會向媒體源支付一項(xiàng)待定的款額,以每個ShoshkeleTM,然后是每次印象計算。激活ShoshkeleTM的所有代碼都會保留在媒體源的服務(wù)器中,所以查看網(wǎng)頁來源的任何人都不能拷貝ShoshkeleTM代碼。
一個實(shí)例百威的代理可能為了5秒的Magic Johnson舞蹈ShoshkeleTM而返還媒體源。該代理可能需要通過Yahoo或另一個入口(即內(nèi)容供應(yīng)商320),向美國西南部的市場展示。代理340會按照媒體源的指標(biāo),向媒體源提供數(shù)字媒體中的動畫(如創(chuàng)作室330準(zhǔn)備的內(nèi)容)。媒體源會準(zhǔn)備必需的代碼,將它變換為ShoshkeleTM,Yahoo的網(wǎng)管會在Yahoo的網(wǎng)頁中插入指向ShoshkeleTM服務(wù)器的標(biāo)簽。媒體源應(yīng)當(dāng)對此計費(fèi)X美元。ShoshkeleTM會被激活,直到特定的代碼通過因特網(wǎng)傳送給它。一旦ShoshkeleTM被激活,已識別的西南部訪問者每次訪問Yahoo,每次播放ShoshkeleTM,都會向媒體源支付Y美分。由于該代理帶給媒體源的每一個客戶,該代理都將收到媒體源收入的一定百分比。
圖5是一幅框圖,顯示了使用ShoshkeleTM的一個電腦化賀卡系統(tǒng)?,F(xiàn)在因特網(wǎng)上有賀卡,但是還沒有結(jié)合付費(fèi)廣告的背景網(wǎng)頁。利用其中帶有選項(xiàng)的模板來創(chuàng)建一張賀卡,任何因特網(wǎng)用戶都能夠把一個賀卡ShoshkeleTM發(fā)送給另一個因特網(wǎng)用戶。這個ShoshkeleTM將出現(xiàn)在媒體源而不是訪問者選擇的、因特網(wǎng)中一個網(wǎng)頁的背景上,所以媒體源能夠?qū)@樣做的站點(diǎn)收費(fèi)。
實(shí)例一個因特網(wǎng)訪問者420來到賀卡ShoshkeleTM創(chuàng)建主頁400(媒體源),他在此從形象圖庫(包括他自己的照片)中選擇。然后他選擇動作,從語音庫(包括用戶自己的語音)中選擇說出的、唱出的或?qū)懗龅馁R詞。他輸入他自己的名字和電子郵件地址,并指明他希望發(fā)送該賀卡ShoshkeleTM的人(名字和電子郵件地址)。然后,媒體源自動化的系統(tǒng)向接收者410發(fā)送一封電子郵件,向接收者指出(媒體源的服務(wù)器中的)一個網(wǎng)頁,他可以點(diǎn)擊該網(wǎng)頁并收到一個等待他的賀卡ShoshkeleTM。接收者到達(dá)該網(wǎng)頁后,會看見內(nèi)容供應(yīng)商或者說廣告客戶430例如Yahoo準(zhǔn)備的一個常規(guī)的和/或定制的網(wǎng)頁,賀卡ShoshkeleTM就出現(xiàn)了。媒體源和內(nèi)容供應(yīng)商將簽署協(xié)議,按照印象的次數(shù)付款。訪問者在背景站點(diǎn)停留得更長時,媒體源將進(jìn)行附加的計費(fèi)。請注意,公眾也可以使用模板制作ShoshkeleTM,在他們的網(wǎng)站或其它網(wǎng)站上作廣告或其它事情。指導(dǎo)性和/或教學(xué)性ShoshkeleTMShoshkeleTM可以出現(xiàn)在因特網(wǎng)站點(diǎn),為用戶指引特點(diǎn)和/或區(qū)域和/或其它網(wǎng)頁,以及有助于教授一種語言、一種貿(mào)易、某些性技巧、一種舞蹈、某些武術(shù)、審查制度、閱讀新聞等等。它可以指出電腦使用中的某些錯誤。更新軟件ShoshkeleTM出現(xiàn)在屏幕上,用于更新已經(jīng)過時的軟件,或者丟失的外掛程序,或者更換舊程序。低成本軟件從因特網(wǎng)下載或者在媒體上提供的軟件,在其中激活ShoshkeleTM,將降低該軟件的成本。實(shí)例●一個用戶下載一個反病毒程序和自由版本,執(zhí)行時打開一個瀏覽器視窗,ShoshkeleTM播放。每一次反病毒程序更新和/或僅有一次,這就可能發(fā)生。
●一個因特網(wǎng)沖浪者想要知道是否某個特定的人已經(jīng)提交了第十一章保護(hù),一個提供這種信息的商業(yè)站點(diǎn)允許該數(shù)據(jù)下載,或者以軟盤或CD ROM發(fā)送,該數(shù)據(jù)將是免費(fèi)的,同時通過附帶一個ShoshkeleTM而獲得收益。
●使用一個話筒和揚(yáng)聲器,通過一個撥號小鍵盤,在因特網(wǎng)上打國際長途電話,撥到世界上的任何地方,但是通話在兩端都與ShoshkeleTM交錯(可能僅有聲音)。
ShoshkeleTM對于因特網(wǎng)正如廣告片對于電視,意味著直到現(xiàn)在在因特網(wǎng)上所作的所有廣告,都是通過廣告條來進(jìn)行的(類似于雜志或報紙上的廣告)。相反,由于ShoshkeleTM在需要時能夠說話并且像人,所以像是電視廣告片。與廣告條相比,ShoshkeleTM的特殊性質(zhì)1.它們是不可滾動的。這表明,例如,假若ShoshkeleTM出現(xiàn)并且說’喝一杯可口可樂’,而用戶不想見它,卻不能像對廣告條一樣將ShoshkeleTM滾動出去。它將停留在屏幕上,直到結(jié)束。
2.聲音。今天在因特網(wǎng)上作廣告使用的僅有的兩種方法——如果確實(shí)有的話——是●MIDI音樂,它是電腦產(chǎn)生的聲音,或者●使用特殊的程序,必須下載它們(外掛程序或其它程序),才能聽到聲音。實(shí)例Flash,你不認(rèn)識Jack。相反,ShoshkeleTM將在兩種主要的瀏覽器(Netscape和Explorer)中的任何一種中,在其4.0或以上的版本(今天用戶的97.5%)中,播放任何聲音,單聲道、立體聲、音樂或談話。
3.與廣告條相反,普通的用戶不可能事先注意到ShoshkeleTM會出現(xiàn)。打開一個網(wǎng)頁時,直到它下載完畢,廣告條的位置都有標(biāo)記,而ShoshkeleTM是默默地和不引人注目地下載的。
4.透明性。廣告條不是透明的,ShoshkeieTM也不是,但是緊靠著ShoshkeleTM的周圍區(qū)域卻是透明的,而且ShoshkeleTM往返移動時,它離開的每一個地方都完全可見(透明)。這與彈出視窗不同,后者不是如此。ShoshkeleTM周圍沒有特殊的視窗。你不能使它最小化或關(guān)閉。它處于網(wǎng)頁的外圖層。
5.ShoshkeleTM是完全可定制的。實(shí)例●它可能是一位名人,由全數(shù)字視頻制成,其尺寸適合任何需要。例如,Ricky Martin、Magic Johnson等。他可以說話(“喝一杯百事可樂”)或者僅僅是在他的手里拿著一杯百事可樂而不說什么。他可以唱和說,或者僅有任何音效,像是步伐、關(guān)門等,甚至是以立體聲(從一個揚(yáng)聲器走到另一個)。
●它可能是一個生動的形象。一位名人,比如Bugs Bunny,任何卡通或者像卡通的人物,帶有全部音效,如同上面的實(shí)例。
●它可能是一片魚翅,游弋在寫出的網(wǎng)頁上,帶有’Jaws’背景音樂,最后顯現(xiàn)為耐克的飛馳符號。
●它可能是從這個人正在瀏覽的網(wǎng)頁上飛舞而出的若干字母,帶有或沒有聲音。
●它可能只有聲音(’喝一杯可口可樂’)。
6.完全可同步的。這表明ShoshkeleTM能夠預(yù)置為出現(xiàn)一次或幾次和/或以選定的任何時間間隔。例如Ricky Martin能夠來說出“喝一杯百事可樂”并且不再出現(xiàn),或者每三分鐘再出現(xiàn)一次,以及/或者在Ricky Martin走了之后20秒鐘,魚翅(見上)能夠出現(xiàn)。它可能延續(xù)從一秒鐘至選定的任何時間長度。如果使ShoshkeleTM出現(xiàn)的網(wǎng)頁最小化,ShoshkeleTM的圖像會隨著網(wǎng)頁而消失。如果關(guān)閉網(wǎng)頁,圖像和語音都會消失。
7.便于實(shí)施。任何網(wǎng)管使一個ShoshkeleTM例程激活或者解除激活都不必花5分鐘。
8.利用cookie互動。ShoshkeleTM將利用cookie技術(shù)進(jìn)行互動,所以●它可以使信息因人而異(’Have a Pepsi,Mister Smith’——英語)或者(’Tome usted una Pepsi,Se?or Smith’——西班牙語)。
●它可以識別出這個人以前已經(jīng)見過這個和/或另一個ShoshkeleTM以及何時見過,所以它可能會問’你當(dāng)時害怕這條鯊魚嗎?’它可以用于按章節(jié)講述一個故事,而不顯得太頻繁以變得令人厭煩。
●它可允許引入cookie。
通過一套工具支持的一種基本觀念,形成了ShoshkeleTM的通用性。這種觀念是,使用圖形用戶界面的所有多媒體電腦,自然能夠顯示ShoshkeleTM,盡管不總是使用相同的技術(shù)。那么,就需要確定任何指定的電腦支持哪種技術(shù),以及如何產(chǎn)生對于該項(xiàng)技術(shù)或若干項(xiàng)技術(shù)特制的一個特定廣告單元。
應(yīng)當(dāng)明確的是,一個ShoshkeleTM廣告單元不是由一個單獨(dú)的文件組成的,而是由一組文件組成的,以及傳送一個可用ShoshkeleTM的關(guān)鍵在于確定這些文件中的哪一個與給定的電腦兼容。為了完成這項(xiàng)任務(wù),有四個步驟需要完成●定義要支持哪些技術(shù);●開發(fā)使用每種技術(shù)的匹配廣告單元;●確定要發(fā)送到每臺電腦的最優(yōu)技術(shù);以及●向每臺電腦傳送恰當(dāng)?shù)奈募?br> 換句話說,形成ShoshkeleTM不是通過一項(xiàng)單獨(dú)的新技術(shù),而是通過現(xiàn)有技術(shù)的新穎的、不明顯的結(jié)合,以及專用代碼。根據(jù)用戶電腦的配置和性能,選擇、傳送和執(zhí)行ShoshkeleTM的許多技術(shù)架構(gòu)之一。
創(chuàng)作ShoshkeleTM時遇到的主要困難之一在于,每一項(xiàng)技術(shù)或者每一組技術(shù)都有固有的局限。有些在能夠顯示運(yùn)動影像的同時,局限于矩形的外形。其它的不能攜帶聲音,或者僅僅能描述聲音。再有其它的需要外掛程序,或者取決于它們運(yùn)行的平臺而具有不同的性能。
遇到的第一個問題是,網(wǎng)頁上每一個單獨(dú)的對象都定義為一個矩形,所以限制了所有的影像都是正方形或矩形的。這就解釋了為什么在ShoshkeleTM技術(shù)之前,所有的廣告單元都采取這種特定的外形。通過使用半透明或透明技術(shù),使對象的某些部分不可見,通常是其外圍以外的部分,已經(jīng)克服了這種限制,因此使其外觀不是矩形的外形。這項(xiàng)技術(shù)與在浮動圖層之內(nèi)放置對象相結(jié)合,創(chuàng)作出了任何外形和尺寸的自由移動形式的幻影。
某些現(xiàn)有技術(shù)提供了半透明模式(如GIF89),因此更容易實(shí)現(xiàn)這種幻影。不過,GIF89具有其它的局限,像是缺乏聲音和互動性能,使它不能成為傳送引人注目廣告的最優(yōu)解決方案。其它的技術(shù)具有其它的局限,比如
●Flash 3——需要一個外掛程序,而且沒有透明模式;●Flash 4和5——需要一個外掛程序,而且在某些平臺上沒有透明模式;●Java Applet——沒有透明模式,而且有錯誤;●Shockwave——需要一個外掛程序,而且在某些平臺上沒有透明模式;●WAV——沒有影像。
●GIF——沒有聲音。
●JPEG——沒有聲音,而且沒有透明模式。
●PNG——沒有聲音。
這些局限,以及許多其它的局限,激發(fā)了新的替代技術(shù)的探索,同時總是使用現(xiàn)有技術(shù)的結(jié)合。我們的出發(fā)點(diǎn)總是相同的基本前提所有的多媒體電腦都能夠顯示一種包括聲音的、自由浮動的、多種形式的、生動的廣告。但是并非總是通過相同的手段。
形成ShoshkeleTM,是通過選擇其架構(gòu)的過程。根據(jù)每種廣告觀念和最終用戶的電腦上可用的技術(shù),在許多可替換的ShoshkeleTM架構(gòu)中,考慮到哪一種最適合以最有效的方式傳送特定的信息,來作出這種選擇。下面介紹的過程根據(jù)的前提是,連接到網(wǎng)絡(luò)的每一臺單獨(dú)的電腦都包含若干工具的匯集,以正確的方式結(jié)合時,它們能夠用于驅(qū)動一個ShoshkeleTM。
用于傳送和驅(qū)動ShoshkeleTM的替換架構(gòu)也進(jìn)行了介紹。這些不同的架構(gòu)設(shè)計為克服任何單一技術(shù)的缺點(diǎn),比如缺乏同步的聲音、透明性或?qū)μ囟ㄍ鈷斐绦虻囊蕾嚒8鶕?jù)ShoshkeleTM的固有特征和用戶電腦的實(shí)際配置,使用一種具體的架構(gòu)。
ShoshkeleTM的創(chuàng)作劃分為兩個步驟(其中每一個再劃分為子步驟),雖然有明確的差異,卻相互依賴并且是完全整合的●創(chuàng)作■定義要支持哪些技術(shù)■開發(fā)使用每種技術(shù)的匹配廣告單元
●服務(wù)■確定要發(fā)送到個用戶的最優(yōu)技術(shù)■向每個用戶傳送恰當(dāng)?shù)奈募@些步驟密切地相互交織,除非它們仔細(xì)地協(xié)調(diào),否則ShoshkeleTM不會正常工作。這些步驟包括在本文介紹的方法中,并且得到一套工具或預(yù)定過程的幫助。
創(chuàng)作定義要支持哪些技術(shù)即使考慮了在用技術(shù)平臺的數(shù)百種可能的組合——眾多的操作系統(tǒng)、瀏覽器和外掛程序,本發(fā)明還是設(shè)法使需要的ShoshkeleTM架構(gòu)的數(shù)目保持在最小值。它適應(yīng)的操作系統(tǒng)之多,包括Windows 95、Windows 98、Windows ME、Windows NT 4.0、Windows 2000、Macintosh System 7、Mac OS 8、Mac OS 9、Mac OS X、Linux的幾個變種,甚至有某些網(wǎng)絡(luò)設(shè)備的操作系統(tǒng)。它也適應(yīng)每種操作系統(tǒng)中使用的大多數(shù)已有的瀏覽器。性能和兼容性是首先要考慮的問題。
ShoshkeleTM能夠劃分為四種主要的類型或者說家族,劃分定義為有沒有Flash外掛程序以及能不能在特定的瀏覽器/平臺組合中顯示出半透明性。這四種基本類型(帶有子類別)是a.帶有半透明性且?guī)в蠱P3壓縮的Flash1)在Windows上Internet Explorer 4.0或更好版本上的Flash 42)在Windows上Internet Explorer 4.0或更好版本上的Flash 5b.沒有半透明性卻帶有MP3壓縮的Flash1)在Mac上的Internet Explorer 4.0或更好版本2)在所有平臺上的Netscape Navigator 4.03)Operac.沒有半透明性也沒有MP3壓縮的Flashd.沒有Flash類型a及其子類別允許以最簡單的方式創(chuàng)作和觀察ShoshkeleTM。僅有的需要是一個swf文件和一些專用JavaScript代碼。
類型b及其子類別需要幾種解決方案,取決于ShoshkeleTM固有的藝術(shù)和技術(shù)特征。使用的解決方案是下列之一Flash 4或5(ShoshkeleTM在其本身的圖層上局限于正方形和矩形,廣告結(jié)束之后該圖層就隱藏和卸載。所有運(yùn)動都是內(nèi)部的,即外部對象保持靜止。ShoshkeleTM突然出現(xiàn),播放,突然消失。
通過Flash對象內(nèi)部的α通道,能夠?qū)崿F(xiàn)淡入淡出)Flash 4或5/Timeline(與#1相同,只不過由JavaScript代碼移動該圖層,所以正方形的ShoshkeleTM能夠圍繞瀏覽器視窗自由移動)Flash 4或5/GIF/Timeline(與#2相同,只不過在這種情況下,正方形的Flash對象包圍著GIF影像,該影像與它同步移動,而且由于GIF不支持透明性,所以輪廓可以是任何外形,或者說至少顯得如此)Flash 4或5/GIF(與#3相同,減去圖層移動)GIF/Timeline/Flash 4或5(這是一種完全不同的ShoshkeleTM類型。全部由GIF影像形成圖畫,或者是靜止的,或者是移動的。GIF放在其自身的圖層上,該圖層通過Timeline而活動,并且與聲音同步。與Win/Exp/Flash 4或5一起,這是僅有的允許ShoshkeleTM的外形完全自由的選項(xiàng))類型c包括在每一種平臺上支持Flash的每一種瀏覽器。這種組合具有與Flash 4同樣的局限、問題和可能性,只不過缺乏MP3壓縮,這表明swf文件會略微大一些。解決方案與不支持半透明性之平臺上的Flash 4和5相同,只不過它使用Flash 3。
至于類型d,缺乏任何外掛程序必然導(dǎo)致系統(tǒng)自有聲音格式與Timeline以及一個圖層或多個圖層中的一種或多種動畫GIF同步。
以下是從不同的角度看這些分類。它不是根據(jù)ShoshkeleTM的類型,而是根據(jù)平臺/外掛程序組合進(jìn)行定義。
1.Windows(95或更好的版本)
1.1.Explorer(4.0或更好的版本)1.1.1.Flash 4(透明性存在,無須替換解決方案ShoshkeleTM能夠采取任何外形,并且能夠在位于最高圖層上的透明Flash對象之內(nèi)移動。動畫結(jié)束時,該圖層被隱藏然后卸載)。該廣告在其自身的圖層中加載,后來又卸載,無論網(wǎng)頁的其余部分有什么內(nèi)容,從而使其設(shè)計和管理有完全的自由。
1.1.2.Flash 3(沒有透明性,ShoshkeleTM局限于其自身圖層上的正方形或矩形,廣告結(jié)束之后,該圖層被隱藏并卸載)1.1.3.Flash 3/Timeline(與1.1.2相同,只不過該圖層由JavaScript代碼移動,所以正方形的ShoshkeleTM能夠往返移動)1.1.4.Fiash 3/Timeline/GIF(與1.1.3相同。在這種情況下,正方形的Flash對象包圍著GIF影像,而且由于GIF不支持透明性,所以輪廓可以是任何外形,或者說至少顯得如此)1.1.5.GIF/Timeline/Sound(這是一種完全不同的ShoshkeleTM類型。全部由GIF影像形成圖畫,或者是靜止的,或者是移動的。GIF放在一個單獨(dú)的圖層上,該圖層通過Timeline而活動,并且與聲音同步。)1.1.5.1.GIF/Timeline/WAV1.1.5.2.GIF/Timeline/Flash 3(與1.1.5.1相同,帶有更好的壓縮)l.1.6.GIF/WAV(類似于1.1.5,只不過該GIF是一個簡單的動畫GIF;它不在屏幕上移動)1.1.7.Flash 3”補(bǔ)釘”(這種方法通過網(wǎng)頁的產(chǎn)格拷貝,作為Flash對象的背景,彌補(bǔ)了透明性的缺乏。所以,包含著ShoshkeleTM的圖層出現(xiàn)時,用戶還能看見相同的影像,因此不會察覺它已經(jīng)被ShoshkeleTM覆蓋)1.2.Netscape1.2.1.Flash 4(沒有透明性,ShoshkeleTM局限于其自身圖層上的正方形或矩形,廣告結(jié)束之后,該圖層被隱藏并卸載)1.2.2.Flash 4/Timeline(與1.2.1相同,只不過該圖層由JavaScript代碼移動,所以正方形的ShoshkeleTM能夠往返移動)1.2.3.Flash 4/GIF/Timeline(與1.2.2相同。在這種情況下,正方形的Flash對象包圍著GIF影像,而且由于GIF不支持透明性,所以輪廓可以是任何外形,或者說至少顯得如此)1.2.4.Flash 4/GIF(與1.2.3相同,減去圖層移動)1.2.5.Flash 3(與1.2.1相同)1.2.6.Flash 3/Timeline(與1.2.2相同)1.2.7.Flash 3/GIF/Timeline(與1.2.3相同)1.2.8.Flash 3/GIF(與1.2.4相同)1.2.9.GIF/Timeline/Sound(這是一種完全不同的ShoshkeleTM類型。全部由GIF影像形成圖畫,或者是靜止的,或者是移動的。GIF放在一個單獨(dú)的圖層上,該圖層通過Timeline而活動,并且與聲音同步。與Win/Exp/Flash 4一起,這是僅有的允許ShoshkeleTM的外形完全自由的選項(xiàng))1.2.9.1.GIF/Timeline/WAV1.2.9.2.GIF/Timeline/Flash 3(與1.2.9.1相同,帶有更好的壓縮)1.2.9.3.GIF/Timeline/Flash 4(與1.2.9.2相同,帶有MP3壓縮)1.2.10.GIF/WAV(類似于1.2.9,只不過該GIF是一個簡單的動畫GIF;它不在屏幕上移動)1.3.Opera(與Netscape相同)1.4.AOL(與Netscape相同)2.Macintosh(與Windows/Netscape相同,只不過在Timeline中必須包括一個短的延遲)3.Playstation4.WebTV開發(fā)使用每種技術(shù)的匹配廣告單元一旦分析完成,下一個步驟就是創(chuàng)作必需的版本,或者說ShoshkeleTM架構(gòu),以便使廣告單元用于所有需要的平臺??紤]了創(chuàng)造性工作的藝術(shù)性,99%的當(dāng)前網(wǎng)絡(luò)世界能夠由僅僅9種架構(gòu)來適應(yīng),盡管包括了數(shù)千種平臺/瀏覽器/外掛程序的組合。
所有版本的出發(fā)點(diǎn)是這樣一個ShoshkeleTM,它在帶有Flash外掛程序第4版或更新版本的Internet Explorer 4.0或更新版本(后文中稱之為WE4F4)上運(yùn)行。由于這種組合能夠描述矢量和位形、動畫、聲音和半透明性,所以它是衡量所有其它版本的金本位。這種架構(gòu)毋庸置疑是最容易創(chuàng)作和實(shí)施的。所有其它的架構(gòu)都是為了模仿這一架構(gòu)的性能而開發(fā)的。
假若目標(biāo)是開發(fā)一個ShoshkeleTM,它僅僅用于運(yùn)行Windows的一臺電腦上、帶有Flash 4或更新的外掛程序的IE4.0或更新的瀏覽器(WE4F4)上所見的一個HTML網(wǎng)頁上,那么僅僅通過把網(wǎng)頁上Flash對象中嵌入的標(biāo)簽上稱為wmode的參數(shù)設(shè)置為transparent,就能實(shí)現(xiàn)<paramname=“wmode”value=“transparent”>
由于其它平臺都不允許這種解決方案,所有其它的平臺都采取一種非常獨(dú)特的路徑。Flash文件中包含的影像和聲音輸出為多種格式。一種JavaScript時間線(timeline)通過在HTML文檔之內(nèi)創(chuàng)建若干圖層,把影像和聲音加載到這些圖層上,以及使它們同步和活動,控制著這些輸出的文件(多媒體文件或者說MMF)。這些是不同于WE4F4的所有ShoshkeleTM版本的原始材料——MMF和JavaScript代碼。
ShoshkeleTM架構(gòu)的世界由以下九種情況定義1.帶有Flash v4.0或更新版本的WindowsIEv4.0或更新版本[WE4F4]2.沒有Flash的Windows IE v4.0或更新版本[WE4F0]3.沒有Flash的Windows Netscape v4.1或更新版本[WN4F0]4.沒有Flash的Macintosh Netscapev4.0或更新版本[MN4F0]5.帶有Flash v4.0或更新版本的Windows Netscape v4.1或更新版本[WN4F4]6.帶有Flash v4.0或更新版本的Macintosh Netscape v4.0或更新版本[MN4F4]7.帶有Flash v4.0或更新版本的Windows Netscape v6.0或更新版本[WN6F4]8.帶有Flash v4.0或更新版本的Macintosh Netscape v6.0或更新版本[MN6F4]9.帶有Flash v4.0或更新版本的Macintosh IE v5.0或更新版本[ME5F4]1.WE4F4這種架構(gòu)是利用一種模板實(shí)現(xiàn)的,其中的改變都是文件的名稱和尺寸。除了這個版本以外,所有其它的架構(gòu)都具有一個結(jié)構(gòu),包括影像文件、聲音文件和JavaScript控制代碼或者說Timeline。
2.WE4F0致力于使有效ShoshkeleTM的全部范圍覆蓋所有平臺的第一個步驟,是將WE4F4架構(gòu)轉(zhuǎn)變?yōu)橛跋?聲音/JavaScript架構(gòu)之一。為了使過程標(biāo)準(zhǔn)化起見,要創(chuàng)建的第一個是WE4F0。我們稱之為HTML基礎(chǔ),其MMF的文件格式為GIF/動畫GIF和WAV。為了覆蓋剩余的要支持的平臺,將構(gòu)建這個HTML基礎(chǔ)的若干變種。
第一步是把HTML基礎(chǔ)改變?yōu)橥獠縅avaScript文件,所以它能夠包括在腳本標(biāo)簽內(nèi)部,通過文檔寫的方法傳送到網(wǎng)頁中。為了做到這一點(diǎn),來自HTML基礎(chǔ)的所有圖層都必須粘貼在緊跟著&lt;scriptlanguage=“JavaScript”&gt;標(biāo)簽之后<pre listing-type="program-listing"><![CDATA[  <divid=“skltrama”style=“position..[etc,etc,etc...] ?。糳ivid=“sklbanner”style=“positionabsolute;left499px;top63px;wi  dth21px;height5px;z-index5;visibilityhidden”><ahref=“http//w  ww.aimovie.com”><imgsrc=“skl_g_variety_aibanner.jpg”width=“2  02”height=“44”border=“0”></α></div>  function MM_findObj(n,d){//v4.0  varp,i,x;if(!d)d=document;if((p=n.indexOf(“?”))>0&amp;&amp;parent.frames.length){   d=parent.frames[n.substring(p+1)l.document;n=n.substring(0,p);}[etc,etc,etc...]]]></pre>目標(biāo)是為了保護(hù)這些圖層,除了JavaScript以外,HTML不能寫入它們。
下一步,把圖層放到一個變量中varSH_Lay=′&lt;divid=“skltrama”style=“positionabsolute;left268px;top37px;width26px;height21px;z-index1;visibilityhidden”&gt;&lt;imgsrc=“skl_g_aicircu01.gif”width=“413”height=“413”name=“sklimgtrama”&gt;&lt;/div&gt;′document.write(SH_Lay);這是該基礎(chǔ)的JavaScript時間線,所有的版本都將從這一個版本引申。
下一步加入的是指向MMF的、稱為“theSRC”的一個新變量VartheSRC=’http//akamai.com/imagenes/’varSH_Lay=′&lt;divid=“skltrama”style=“positionabsolute;left268px;top37px;width26px;height21px;z-index1;visibilityhidden”&gt;&lt;imgsrc=“skkl_g_aicircu01.gif”width=“413”height=“413”name=“sklimgtrama”&gt;&lt;/div&gt;′在這個實(shí)例中我們看到,沒有給稱為skl_g_aicircu01.gif的影像分配一個位置。為了能夠使瀏覽器指向一個具體的URL或目錄,變量theSRC置于該影像的名稱之前。
varSH_Lay=′&lt;divid=“skltrama”style=“positionabsolute;left268px;top37px;width26px;height21px;z-index1;visibilityhidden”&gt;&lt;imgsrc=“′+theSRC+′skl_g_aicircu01.gif”width=“413”height=“413”name=“sklimgtrama”&gt;&lt;/div&gt;′通過對所有的影像和聲音這樣做,我們最終有了一個非常靈活的文件,它能夠容易地定位其MMF。
由于JavaScript代碼調(diào)用了外部的MMF,所以不僅需要加載時間線,還需要完全加載MMF,才能開始執(zhí)行。我們通過加入以下代碼確保這一點(diǎn)。
window.onload=shcreate;這就告訴了瀏覽器,網(wǎng)頁完全加載時執(zhí)行shcreate函數(shù),因此避免了在所有MMF都可用之前顯示一個ShoshkeleTM。
問題在于,瀏覽器只要加載了它知道的要素就立即觸發(fā)該函數(shù),而這些要素并非它們的全部。尚未在一個圖層中的某些MMF,將不會由這個命令貯藏。這里的技巧在于,某些影像還沒有在這些圖層的內(nèi)部,因此我們需要實(shí)施某種方式來預(yù)加載它們。在識別了它們之后,通過對我們的時間線進(jìn)行以下修改,我們就能夠指示瀏覽器預(yù)加載它們<pre listing-type="program-listing"><![CDATA[  var theSRC=″;  var SH_Lay=′<divid=“skltrama”[etc,etc...]><img  src=“′+theSRC+′skl_g_aicircu01.gif”[etc,etc...]>/div>′  +′<divid=“sklpibe”[etc,etc...]><imgsrc=“′+theSRC+′skl_g_aisecuen  cia.gif”[etc,etc...]border=“0”></div>′  +′<divid=“sound”[etc,etc...]><embedsrc=“′+theSRC+′skl_s_ai12.wa  v”autostart=“false”></embed></div>′  +′<divid=“texto”[etc,etc...]><fontsize=“5”>ARTIFICIALINTELLI  NGENCE</font></font></font></p></div>′  +′<divid=“sklbanner”[etc,etc...]<imgsrc=“′+theSRC+'skl_g_variety  _aibanner.jpg”width=“202”he></a></div>';  document.write(SH_Lay);  MM_preloadImages(theSRC+'skl_g_aicircu05.gif,theSRC+'skl_g_  aicircu 04.gif,  theSRC+′skl_g_aicircu 02.gif';  theSRC+′skl_g_aicircu03.gif,theSRC+′skl_g_aicircu0 6.gif);]]></pre>聲音文件的處理和預(yù)加載有其它的考慮。通過EMBED函數(shù),我們在網(wǎng)頁上插入音頻文件,標(biāo)簽由于我們需要控制回放,AUTOSTART性質(zhì)必須設(shè)置為FALSE。
為了開始回放,F(xiàn)lash外掛程序考慮了play()方法,因此
&lt;HTML&gt;
&lt;EMBEDNAME=“soyunsonido”src=“elSonido.wav”autostart=“false”&gt;&lt;/EMBED&gt;
&lt;SCRIPTLANGUA GE=“JavaScript”&gt;
document.soyunsonido.play();&lt;/SCRIPT&gt;
&lt;/HTML&gt;
對于不支持play()命令的情況(聲音文件是另一種格式的情況),解決方案是重寫該圖層,使AUTOSTART設(shè)置從FALSE改變?yōu)門RUE。原始設(shè)置&lt;EMBEDSRC=“thebeatles.wav”autostart=“false”&gt;重寫后&lt;EMBEDSRC=“thebeatles.wav”autostart=“true”&gt;這種方法的缺點(diǎn)是不能重寫嵌入的聲音,解決方案是在一個圖層內(nèi)部進(jìn)行。
&lt;divid=“sound”&gt;&lt;embedsrc=“skl_s_ai12.wav”width=“32”height=“32”autostart=“false”&gt;&lt;/embed&gt;&lt;/div&gt;
在此階段,進(jìn)行了不同版本所需的調(diào)整。為了使前面的操作在Netscape上起作用,圖層必須是可見的,因此,為了是聲音控制器保持不可見,圖層必須位于屏幕之外。
&lt;divid=“sound”style=“positionabsolute;leftOpx;top-300px;visibilityvisible;”&gt;
&lt;embedsrc=“′+theSRC+′skl_s_ai12.wav”width=“32”height=“32”name=“snd”autostart=“false”&gt;&lt;/embed&gt;
&lt;/div&gt;現(xiàn)在聲音文件已經(jīng)能夠隨意執(zhí)行了。重寫圖層的內(nèi)容有不同的方法,取決于瀏覽器。
3.WN4F0雖然與Explorer的版本非常類似,但是在這種情況下&lt;DIV&gt;標(biāo)簽必須改變?yōu)?amp;lt;LAYER&gt;標(biāo)簽。從理論上說,在Netscape 4.0或更新的瀏覽器上,兩種標(biāo)簽都可接受,但是經(jīng)驗(yàn)表明,使用文檔寫入方法時,&lt;DIV&gt;標(biāo)簽可能導(dǎo)致錯誤。
varSH_Lay=′&lt;lyerid=“skltrama”style=“positionabsolute;left268px;top37px;width26px;height21px;z-index1;visibilityhidden”&gt;&lt;imgsrc=“′+theSRC+′skl_g_aicircu01.gif”width=“413”height=“413”name=“sklimgtrama”&gt;&lt;/layer&gt;′現(xiàn)在,由于&lt;LAYER&gt;標(biāo)簽不支持STYLE,它就被去除。
varSH_Ldy=′&lt;layerid=“skltrama”&gt;&lt;imgsrc=“′+theSRC+'skl_g_aicircu01.gif”width=“413”height=“413”name=“sklimgtrama”&gt;&lt;/layer&gt;′下一步,設(shè)置性質(zhì)。
varSH_Lay=′&lt;layerid=“skltrama”LEFT=“268”TOP=“37”WIDTH=“26”HEIGHT=“21”Z-INDEX=“1”VISIBILITY=“VISIBLE”&gt;&lt;imgsrc=“′+theSRC+′skl_g_aicircu01.gif”width=“413”height=““413”name=“sklimgtrama”&gt;&lt;/layer&gt;′注意,在Netscape上,所有圖層都具有絕對位置,所以消除了這種設(shè)置。而且,頂端/左端/寬度/高度都是以像素度量,就刪除了“bx”。最后,HIDE取代了HIDDEN。
在WN4F0版本中編碼時,對所有圖層都必須進(jìn)行這些改變<pre listing-type="program-listing"><![CDATA[  var theSRC=″;  var  SH Lay=′<LAYERid=“skltrama”LEFT=“268”TOP=“37”WIDTH=  “26”  HEIGHT=“21”Z-INDEX=“1”VISIBILITY=“HIDE”><img  src=“′+theSRC+′skl_g_aidrcu01.gif”width=“413”height=“413”  name=“sklimgtrama ”></LA YER>′  +′<LAYERid=“sklpibe”LEFT=“390”TOP=“139”WIDTH=“15”HEI  GHT=“20”  Z-INDEX=“2”VISIBILITY=“HIDE”><imgsrc=“′+theSRC+′skl_g_  aisecuencia.gif”  width=“166”height=“169”name=“sklimgpibe”border=“0”></LAYE  R>′  +′<LAYERid=“sound”LEFT=“0”TOP=“-300”WIDTH=“11”HEIG  HT=“11”Z-INDEX=“3”VISIBILITY=“VISIBLE”><embedsrc=“'+t  heSRC+'skl_s_ai12.wav”width=“32”height=“32”name=“snd”autostart=“false”></embed></LA YER>′  +′<LAYERid=“texto”LEFT=“335”TOP=“295”WIDTH=“283”HEI  GHT=“14”Z-INDEX=”4”VISIBILITY=“HIDE”><palign=“center” ?。荆糵ontface=“TimesNewRoman,Times,serif”size=“2”color=“#FFFF  FF”><b><fontsize=“4”>ASTEVENSPIELBERGFILM<br></font> ?。?b><fontsize=“4”><fontsize=“5”>ARTIFICIALINTELLINGENC  E</font></font></font></p></LAYER>′  +′<LAYERid=“sklbanner”LEFT=“499”TOP=“63”WIDTH=“21”H  EIGHT=“5”Z-INDEX=“5”VISIBILITY=“HIDE”><ahref=“http//  www.aimovie.com”><imgsrc=“′+theSRC+'skl_g_variety_aibanner.j  pg”width=“202”height=“44”border=“0”><a></LAYER>′;]]></pre>4.MN4F0這個版本與前一個完全相同,只是必須注意聲音文件必須是AIFF格式,而不是WAV。圖層應(yīng)當(dāng)表現(xiàn)為+′&lt;LAYERid=“sound”LEFT=“0”TOP=“-300”WIDTH=“11”HEIGHI=“11”Z-INDEX=“3”VISIBILITY=“VISIBLE”&gt;&lt;embedsrc=“'+theSRC+′skl_s_ai12.aif”width=“32”height=“32”name=“snd”autostart=“false”&gt;&lt;/embed&gt;&lt;/LAYER&gt;′而且時間線為Document.MM_Time
[15].value=“MM_showHideLayers(′sklpibe′,″,′show);MM_setTextOfLayer(′sound′,″,′%3Cembedsrc=%22′+theSRC+′skl_s_ai12.aif%22autostart=%22true%22hidden=%22true%22%3E%3C/embed%3E′)”;5.WN4F4
對于這個版本,不是使用一種WAV聲音,而是利用了Flash 4或更新的外掛程序中的MP3編碼性能。通過發(fā)送swf文件(Flash)內(nèi)部的聲音,能夠縮小其尺寸和整個ShoshkeleTM組合文件的尺寸。必須記住,即使這個版本使用了Flash外掛程序,也僅僅是傳送聲音,而不是影像。Flash外掛程序不支持這個平臺上的TRANSPARENT(透明)設(shè)置,使我們?yōu)榱孙@示非矩形對象而不得不使用GIF影像。
為了實(shí)施這個版本,在包含音軌的swf中加入了一種預(yù)加載,并且在其中調(diào)用了sh_cargar()函數(shù)。在sh_create()函數(shù)中,使用swf聲音動態(tài)地寫入聲音層。下一步創(chuàng)建sh_create()函數(shù),并在執(zhí)行時指示它啟動時間線執(zhí)行。在原始JavaScript代碼中,sh_create函數(shù)表現(xiàn)為function shcreate(){MM_timelinePlay(′shtimeline′);}而在這個ShoshkeleTM架構(gòu)中,它應(yīng)當(dāng)表現(xiàn)為function shcreate(){MM_setTextOfLayer(′sound′,″,′&lt;embedsrc=“′+theSRC+′skl_s_ai12.swf”quality=highpluginspage=“http//www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Verion=ShockwaveFlash”type=“application/x-shockwave-flash”width=“152”height=“115”loop=“false”&gt;&lt;/embed&gt;′);}EMBED之內(nèi)的性質(zhì)僅僅是向?yàn)g覽器指明文件格式。shcreate函數(shù)把swf文件加載到SOUND層中。正如編碼所示,這個文件在加載之后,調(diào)用sh_cargar函數(shù),所以所有剩下的工作就是編制這種函數(shù),使得它開始回放時啟動時間線。
function sh_ cargar(){MM_timelinePlay(′shtimeline′);}換句話說,sh_cargar函數(shù)執(zhí)行的功能,與其它版本中的shcreate相同。
ONLOAD--&gt;shcreate--&gt;swfsound--&gt;sh_cargar--&gt;Timelineexecution修改了shcreate并增加了sh_cargar之后,刪除SOUND層中的原始內(nèi)容。另外,也要刪除Frame(框架)中發(fā)現(xiàn)的、對MM_setTextOfLayer的調(diào)用。
+′&lt;LAYERid=“sound”LEFT=“0”TOP=“-300”MDTH=“11”HEIGHT=“11”Z-INDEX=“3”VISIBILITY=“VISIBLE”&gt;&lt;/LAYER&gt;′6.MN4F4與WN4F4兼容。
7.WN6F4這種架構(gòu)是WE4F4和WN4F4之間的一種混合。它與兩者共享代碼,對于Explorer更多一些。由于這種原因,以WE4F0開始,必須修改它,以便使用swf文件作為聲音格式。做到這一點(diǎn),采取的方式與以前相同。刪除SOUND層中嵌入的內(nèi)容&lt;embedsrc=“′+theSRC+′skl_s_ai12.wav”width=“32”height=“32”name=“snd”autostart=“false”&gt;&lt;/embed&gt;該層應(yīng)當(dāng)看起來有些像+′&lt;divid=“sound”style=“positionabsolute;leftOpx;top-300px;width11px;height11px;z-index3;visibilityvisible”&gt;&lt;/div&gt;′下一步,刪除時間線的Frame(框架)1中對MM_setTextOfLayer的調(diào)用MM_setTextOfLayer(′sound′,″,′%3Cembedsrc=%22′theSRC+′skl_s_ai12.wav%22autostarf=%22true%223E%3C/embed%3E′)最后,它應(yīng)當(dāng)看起來像document.MM_Time
[15]=newString(“behavior”);document.MM_Time
[15].frame=1;document.MM_Time
[15].value=“MM_showHideLayers(′sklpibe′,″,′show);”;document.MM_Time
[16]=newString(“behavior”);修改shcreate函數(shù)并增加sh_cargar(),使得結(jié)果代碼看起來如下<pre listing-type="program-listing"><![CDATA[  function shcreate(){   MM_setTextOfLayer(′sound′,″,′<embedsrc=“′+theSRC+′skl_s_ai  12.swf”quality=highpluginsplage=“http//www.macromedia.com/sho  ckwave/download/index.cgi?Pl_Prod_Version=ShockwaveFlash”ty  pe=“application/x-shockwave-flash”width=“152”height=“115”loop ?。健癴alse”></embed>′);  }  function sh_cargar(){MM_timelinePlay(′shtimeline′);  }]]></pre>8.MN6F4與WN6F4相同。
9.ME5F4一開始,采取任一個Netscape 6的版本。不是VISIBILITY,與DISPLAY一起使用的參數(shù)是NONE或者INLINE。還應(yīng)當(dāng)注意,不需要修改聲音層,因?yàn)槠淇梢娦圆桓淖儭?br> <pre listing-type="program-listing"><![CDATA[  var  SH_Lay=’<dividl=”skltrama”style=”positionabsolute;lef268px;top  37px;  width26px;height21px;z-index1;displaynone”><img  src=”’+theSRC+’skl_g_aicircu01.gif”width=”413”height=”413”  name=”sklimgtrama”></div>’  +′<divid=“sklpibe”style=“positionabsolute;lef390px;top139px;wi  dth15px;height20px;z-index2;displaynone”><imgsrc=“′+theSRC  +′skl_g_aisecu en cia.gif”width=“166”height=“169”name=“sklimgpi  be”border=“0”></div>′  +′<divid=“sound”style=“positionabsolute;left0px;top-300px;widt  h11px;height11px;z-in dex3;visibilityvisible”><embedsrc=“′+the  SRC+′skl_s_ai12.wav”width=“32”height=“32”name=“snd”autostar  t=“false”></embed></div>′  +′<divid=“texto”style=“positionabsolute;left335px;top295px;width283px;height14px;z-index4;displaynone”><palign=“center”><  fontface=“TimesNewRoman,Times,serif”size=“2”color=“#FFFFF  F”><b><fontsize=“4”>ASTEVENSPIELBERGFILM<br></font></  b><fontsize=“4”><fontsize=“5”>ARTIFICIALINTELLINGENCE<  /font></font></font></p></div>′  +′<divid=“sklbanner”style=“positionabsolute;left499px;top63px;  width21px;height5px;z-index5;displaynone”><ahref=“http//ww  w.aimovie.com”><imgsrc=“′+theSRC+′skl_g_variety_aibanner.jpg”  width=“202”height=“44”border=“0”></a></div>′;]]></pre>修改了這些圖層之后,所有剩下的工作就是把MM_showHideLayers函數(shù)改變?yōu)橄铝械牧硪粋€function MM_showHideLayers(){var i,P,v,obj,args=MM_showHideLayers.arguments;for(i=0;i&lt;(args.length-2);i+=3)if((obj=MM_findObj(args[i]))?。絥ull){v=args[i+2];if(obj.style){obj=obj.style;v=(v==′show′)?′inline′(v=′hide′)?′none′v;}obj.display=v;}}層下選項(xiàng)以下是已經(jīng)介紹過的技術(shù)的一個變種,它允許一種創(chuàng)造,使廣告浮動在內(nèi)容下面而不是在其上面。這項(xiàng)性能使ShoshkeleTM技術(shù)支持的選項(xiàng)武器庫更加豐富。為了實(shí)現(xiàn)這一點(diǎn),我們使用了z-index參數(shù),并且指示瀏覽器把ShoshkeleTM放在內(nèi)容之后。
&lt;STYLETYPE=“text/css”&gt;body{positionabsolute;z-index1;}&lt;/STYLE&gt;
&lt;DIVID=“PEPSI”STYLE=“positionabsolute;z-index=-1;”&gt;TEXTORIMA GESHERE&lt;/DIV&gt;
服務(wù)一旦定義和創(chuàng)建了ShoshkeleTM文件,為了使廣告單元起作用,它們必須經(jīng)過篩選并送達(dá)它們?yōu)橹O(shè)計的電腦。這個步驟與創(chuàng)作步驟同樣關(guān)鍵,因?yàn)榇颂幍囊粋€錯誤也會導(dǎo)致ShoshkeleTM的故障,甚至包含它之整個網(wǎng)頁的故障。
為了確保操作,必須采取兩項(xiàng)措施對于一個指定的用戶,確定最優(yōu)技術(shù);向該用戶發(fā)送恰當(dāng)?shù)奈募?。這些措施能夠由許多邏輯過程和幾種不同的技術(shù)來進(jìn)行。這兩者能力都建立在稱為ShoshkeleTM服務(wù)系統(tǒng)的單一系統(tǒng)中。
如圖6所示,ShoshkeleTM服務(wù)系統(tǒng)劃分為四個子系統(tǒng)ShoshkeleTM驅(qū)動子系統(tǒng)、管理子系統(tǒng)、控制和統(tǒng)計子系統(tǒng)以及財務(wù)子系統(tǒng)。在這些子系統(tǒng)中,ShoshkeleTM驅(qū)動子系統(tǒng)處于ShoshkeleTM技術(shù)的核心。它確定必須向每個用戶的每個網(wǎng)頁上傳送哪個廣告。ShoshkeleTM驅(qū)動子系統(tǒng)涉及了適應(yīng)實(shí)際ShoshkeleTM選擇和傳送的所有功能。它選擇要傳送的廣告,以及要使用的ShoshkeleTM架構(gòu)。
包括圖7A和圖7B的圖7是一幅概況框圖,展示了系統(tǒng)將ShoshkeleTM提供給用戶的操作。假設(shè)每個用戶都連接到一臺內(nèi)容供應(yīng)商的網(wǎng)絡(luò)服務(wù)器,ShoshkeleTM將通過該服務(wù)器從一臺ShoshkeleTM網(wǎng)絡(luò)服務(wù)器提供給該用戶。這是圖6中驅(qū)動子系統(tǒng)604的概況。
在方框750,用戶對內(nèi)容進(jìn)行HTML申請。申請752傳送到網(wǎng)絡(luò)服務(wù)器。網(wǎng)絡(luò)服務(wù)器在方框754檢索或產(chǎn)生一個帶有所申請內(nèi)容的HTML文件,HTML文件756傳送到網(wǎng)絡(luò)瀏覽器。除了內(nèi)容申請以外,HTML文件756還包含著ShoshkeleTM化的標(biāo)簽,它使網(wǎng)絡(luò)瀏覽器向ShoshkeleTM網(wǎng)絡(luò)服務(wù)器發(fā)送一個ShoshkeleTM化的文件申請760。
ShoshkeleTM網(wǎng)絡(luò)服務(wù)器收到該文件申請之后,檢索ShoshkeleTM化的文件——它們是設(shè)計為測試用戶的機(jī)器,以確定該機(jī)器上有何種技術(shù)可用,并且把ShoshkeleTM化的文件764發(fā)送到用戶的網(wǎng)絡(luò)瀏覽器。在方框766中,在用戶的電腦上執(zhí)行ShoshkeleTM化的文件,向ShoshkeleTM服務(wù)器發(fā)送一個服務(wù)器端的處理申請,報告在用戶的電腦上有何種技術(shù)可用。在提供給ShoshkeleTM網(wǎng)絡(luò)服務(wù)器的信息中,還包括以前用戶機(jī)器上cookie中存放的信息,它指明用戶已經(jīng)看到了何種廣告,以及該用戶有關(guān)的人口統(tǒng)計學(xué)信息。
在方框770,服務(wù)器處理它已經(jīng)收到的信息,并且確定發(fā)送何種類型的ShoshkeleTM代碼已經(jīng)發(fā)送哪個廣告。然后把所需的ShoshkeleTM代碼772發(fā)送到網(wǎng)絡(luò)瀏覽器。在方框774,網(wǎng)絡(luò)瀏覽器執(zhí)行它收到的代碼,并且向ShoshkeleTM網(wǎng)絡(luò)服務(wù)器發(fā)送一個媒體文件申請。在方框778,ShoshkeleTM網(wǎng)絡(luò)服務(wù)器接收媒體文件申請,搜索所需的影像和可執(zhí)行代碼,并且向網(wǎng)絡(luò)瀏覽器發(fā)送這些多媒體文件780。
在方框782,網(wǎng)絡(luò)瀏覽器然后執(zhí)行可執(zhí)行代碼,展示多媒體文件。優(yōu)選情況下,執(zhí)行了可執(zhí)行代碼并顯示了多媒體文件之后,網(wǎng)絡(luò)瀏覽器將通知ShoshkeleTM服務(wù)器完成了必需的廣告,ShoshkeleTM服務(wù)器將向用戶發(fā)送一個更新后的cookie。
與圖7(包括圖7A和圖7B)有關(guān)的基本步驟是1.ShoshkeleTM申請?jiān)撋暾堄?將顯示ShoshkeleTM之任何網(wǎng)頁上加入的)HTML文件中包括的一行代碼,起源于用戶的網(wǎng)絡(luò)瀏覽器中。2.ShoshkeleTM選擇這個過程選擇要傳送的ShoshkeleTM。它考慮兩種參數(shù)來作出基本判斷要使用哪種架構(gòu)(圖8,包括圖8A、圖8B、圖8C和圖8D),以及要傳送哪個廣告(圖9)。
圖8A至圖8D——也一起稱之為圖8——包括四幅框圖,展示了如何為了一個具體的用戶選擇恰當(dāng)?shù)腟hoshkeleTM。操作開始于方框650,在方框652驅(qū)動子系統(tǒng)選擇下一個廣告。在方框654、658、662和666,進(jìn)行測試以確定在用戶的電腦上運(yùn)行的是哪種操作系統(tǒng)。操作的控制通過這些方框向下流動,直到發(fā)現(xiàn)了操作系統(tǒng),這時控制轉(zhuǎn)換右邊緊靠著的方框。例如,假若用戶具有Macintosh操作系統(tǒng),方框654的測試將產(chǎn)生“否”的結(jié)果,使方框658的測試接著進(jìn)行。這個測試將產(chǎn)生“是”的結(jié)果,使控制傳遞到方框660。方框656、660、664和668表示特定的子程序,在其中激活對應(yīng)于一個具體操作系統(tǒng)的ShoshkeleTM。一旦執(zhí)行了這些子程序中的一個,這個程序就在方框670停止。
圖8B的框圖展示了一個子程序,它用于用戶的程序在Windows操作系統(tǒng)之下運(yùn)行的情況下,執(zhí)行一個Windows ShoshkeleTM(即圖8A中的方框656)。操作開始于672,在方框674、678、682和686,依次進(jìn)行測試以確定用戶正在使用哪種瀏覽器。操作流沿著這些方框向下,直到發(fā)現(xiàn)了正確的瀏覽器,這時操作流轉(zhuǎn)向右邊緊靠著的方框。例如,假若用戶正在使用Netscape瀏覽器,方框674的測試將產(chǎn)生“否”的結(jié)果,使方框678的測試接著進(jìn)行。這個測試產(chǎn)生“是”的結(jié)果,所以控制流動到方框680。方框676、680、684和688對應(yīng)于單獨(dú)的子程序,它們在用戶使用一種具體的瀏覽器時執(zhí)行。在每種情況下,一旦執(zhí)行了該子程序,圖8B的程序就在方框690停止。如果沒有發(fā)現(xiàn)瀏覽器(即所有的測試都失敗),程序也會停止。
圖8C是一幅表示子程序的框圖,如果用戶的電腦運(yùn)行Windows操作系統(tǒng),并且他的瀏覽器是微軟的Internet Explorer,就執(zhí)行它(即圖8B的方框676中的子程序)。子程序執(zhí)行開始于方框700,在方框702進(jìn)行一個測試以確定用戶的電腦是否有Flash 4。如果有,控制就傳遞到方框704,因而執(zhí)行一個子程序,它選擇與Flash 4一起運(yùn)行的ShoshkeleTM,這個子程序在方框712停止。如果用戶的電腦沒有Flash4,在方框706進(jìn)行測試以確定用戶的電腦是否有Flash 3。如果有,控制就傳遞到方框708,執(zhí)行一個子程序,它根據(jù)用戶電腦上的條件,確定要使用的、四種技術(shù)組合中的一個。然后,這個子程序在方框712停止。如果用戶的電腦沒有Flash 3,那么ShoshkeleTM將根據(jù)用戶電腦上的條件,利用兩種替代技術(shù)之一(方框710),這個子程序在712停止。
圖8D是一幅流程圖,展示了一個子程序,如果用戶的電腦運(yùn)行Windows操作系統(tǒng),并且他的瀏覽器是Netscape,就執(zhí)行這個子程序。操作與圖8C極為相似,只不過方框724和方框728都具有必須要做的選擇,如同在方框708中的情況一樣。
圖9是一個框圖說明,展示了如何使用數(shù)據(jù)庫來確定要顯示的廣告。方框1000表示所有可用的內(nèi)容供應(yīng)主機(jī)的一個列表。方框1002表示一個參數(shù)par.url,它對應(yīng)于用戶正在瀏覽的、內(nèi)容供應(yīng)商站點(diǎn)的特定網(wǎng)頁。為了搜索用于該具體網(wǎng)頁的代碼,對表格1000應(yīng)用該parameter.url。如果沒有發(fā)現(xiàn)該par.url,那么該過程不再繼續(xù)。方框1000(ID-host)提供的代碼,應(yīng)用于另一個表格1004。與該用戶正在瀏覽的主題內(nèi)容,或者該用戶有關(guān)的信息對應(yīng)的一個關(guān)鍵字或一串關(guān)鍵字,也應(yīng)用于表格1004。提供給表格1004的信息產(chǎn)生了一個新的代碼ID-page,應(yīng)用于表格1008。從該用戶和從數(shù)據(jù)庫(它描述了有關(guān)用戶和所關(guān)注之具體運(yùn)作的已知信息)獲取的一組信息1010,也應(yīng)用于表格1008。所有這些又進(jìn)一步導(dǎo)致一個代碼ID-mp的產(chǎn)生,它應(yīng)用于表格1012。代碼ID-mp包含著該用戶有關(guān)的、他已經(jīng)訪問的網(wǎng)頁有關(guān)的以及該時刻有效之媒體計劃有關(guān)的信息。從該用戶的cookie獲得的與該用戶有關(guān)運(yùn)作的歷史信息,也應(yīng)用于表格1012。從表格1012進(jìn)一步產(chǎn)生了代碼ID-campaign,它表示這個用戶應(yīng)當(dāng)看到的下一次運(yùn)作,這個代碼應(yīng)用于表格1016。表格1016產(chǎn)生一個變量ID-Sohsh,它標(biāo)識要發(fā)送給這個用戶的下一個ShoshkeleTM。
架構(gòu)的選擇是基于從用戶的電腦獲得的數(shù)據(jù)。它取決于操作系統(tǒng)、瀏覽器、安裝的外掛程序、連接速度等等。創(chuàng)建單元的選擇是基于來自用戶和預(yù)定的運(yùn)作參數(shù)兩方面的數(shù)據(jù)。
2.1.用戶端的處理和數(shù)據(jù)無論何時,只要用戶執(zhí)行了ShoshkeleTM申請,就動態(tài)地獲得數(shù)據(jù)。
2.2.服務(wù)器端的處理和數(shù)據(jù)服務(wù)器端的數(shù)據(jù)由特定的運(yùn)作參數(shù)和邏輯產(chǎn)生。
2.3.ShoshkeleTM傳送一旦決定了發(fā)送何種ShoshkeleTM和架構(gòu),由ShoshkeleTM網(wǎng)絡(luò)服務(wù)器前端執(zhí)行的操作。
2.4.ShoshkeleTM加載2.5.卸載這兩種操作都是由瀏覽器進(jìn)行的。每種過程的詳細(xì)說明如下。
現(xiàn)在將進(jìn)一步討論每一個基本步驟。1.ShoshkeleTM申請由以前嵌入一個載體,例如一個網(wǎng)頁或HTML電子郵件的代碼,啟動ShoshkeleTM的傳送和執(zhí)行。在這種方法的優(yōu)選實(shí)施例中,啟動代碼或者說ShoshkeleTM標(biāo)簽包括單行的JavaScript,它從ShoshkeleTM服務(wù)系統(tǒng)申請其它代碼。這樣做是為了標(biāo)簽執(zhí)行時簡便的緣故。成功地準(zhǔn)備一個ShoshkeleTM所需的代碼可能會有幾十頁,也能夠以另外的方式整個嵌入網(wǎng)頁中,但是這樣一來,不熟悉這種技術(shù)的網(wǎng)管就難以管理。而現(xiàn)在,站點(diǎn)需要處理的僅僅是單行的JavaScript。
ShoshkeleTM標(biāo)簽嵌入網(wǎng)頁中,能夠采用幾種方法之一。它能夠簡單地粘貼在一個靜態(tài)HTML網(wǎng)頁上,它能夠放在一個模板上,它能夠由一個應(yīng)用程序動態(tài)地放置,或者它甚至能夠由一個第三方廣告服務(wù)器傳送。
這最后的選項(xiàng)并非限定由第三方傳送ShoshkeleTM。由于這種類型廣告單元的服務(wù)中所涉及的判斷過程的復(fù)雜性,這或許是不可能的。正如我們已經(jīng)討論過的,ShoshkeleTM的服務(wù)過程最初是與其功能聯(lián)系在一起的,必然有所涉及之平臺和文件的多樣性。第三方能夠提供的,僅有啟動ShoshkeleTM傳送的代碼。在第三方已經(jīng)訪問了ShoshkeleTM服務(wù)系統(tǒng)不能處理的用戶信息的情況下,第三方的標(biāo)簽服務(wù)還允許增強(qiáng)針對性。
ShoshkeleTM標(biāo)簽表現(xiàn)如下&lt;SCRIPTLANGUAGE=″JavaScript″TYPE=″text/javascript″NAM
E=″hdyrt=vip1234567&amp;KW1=0&amp;KW2=nikkeiTba″STYLE=″positionabsolute;″SRC=″http//64.59.136.70/web/tags/direct.js″&gt;/SCRIPT&gt;SCRIPT調(diào)用一個腳本LANGUAGE=”JavaScript”指示編程語言TYPE指示MINE類型NAME定義變量STYLE表示兼容性問題SRC指向要檢索的文件SCRIPT標(biāo)明腳本調(diào)用的結(jié)束。
應(yīng)當(dāng)注意,這個申請可能導(dǎo)致一個ShoshkeleTM印象,也可能不會,取決于定向參數(shù)是否描繪了一項(xiàng)運(yùn)作。事實(shí)上,該標(biāo)簽并不申請一個ShoshkeleTM,而是一個ShoshkeleTM的準(zhǔn)備和“萬一的”下載。
2.ShoshkeleTM選擇事實(shí)上,ShoshkeleTM選擇就是進(jìn)行兩種單獨(dú)的判斷要使用何種ShoshkeleTM架構(gòu),以及要發(fā)送哪個創(chuàng)作單元。這兩種選擇都取決于來自用戶的電腦和服務(wù)器雙方的信息和邏輯。ShoshkeleTM的選擇是整個過程中最復(fù)雜的步驟,并且在用戶端通過執(zhí)行ShoshkeleTM標(biāo)簽而啟動。
2.1.用戶端的處理和數(shù)據(jù)執(zhí)行ShoshkeleTM標(biāo)簽時,它申請一個JavaScript文件,該文件又得到執(zhí)行并啟動一個過程,該過程導(dǎo)致真正的ShoshkeleTM申請。這個過程包括探索用戶的系統(tǒng)資源、獲得用戶的特定參數(shù)以及建立與ShoshkeleTM服務(wù)器的連接。
為了獲得必需的用戶信息,并且使ShoshkeleTM服務(wù)器能夠用來作出判斷,JavaScript文件執(zhí)行許多功能。以下是執(zhí)行的例程的一個列表。應(yīng)當(dāng)注意,這個列表隨著運(yùn)作的復(fù)雜性及其目標(biāo)而變化。
2.1.1.檢驗(yàn)瀏覽器是否接受cookie
<pre listing-type="program-listing"><![CDATA[  function  skl_getCookieVal(offset){varendstr=document.cookie.indexOf(′;′,of  fset);if(endstr==-1) endstr=document.cookie.length;returnunescape(  document.cookie.substring(offset,endstr));}  function  skl_fixCookieDate(date){varbase=newDate(0);varskew=base. getTim  e();if(skew>0) date.set Time(date.get Time()-skew);}  function  skl_getCookie(name){vararg=name+″=″;varalen=arg.length;varcle  n=document.cookie.length;varskl_i=0;while(skl_i<clen){varskl_j=s  kl_i+alen;if(document.cookie.substring(skl_i,skl_j)==arg)returnskl  _getCookieVal(skl_j);skl_i=document.cookie.indexOf(″″,skl_i)+1;if  (skl_i==0) break;}returnnull;}  function  skl_setCookie(name,value,expires){document.cookie=name+″=″+es  cape(value)+″;expires=″+expires.toGMTString();}]]></pre>2.1.2.十六進(jìn)制加密(見下面的細(xì)節(jié))2.1.3.由于Shcreate函數(shù)不存在而發(fā)生的先占錯誤function shcreate(){}2.1.4.對時間線解壓的第三方函數(shù)<pre listing-type="program-listing"><![CDATA[  functionunpackLZ(s,pF,pA,pB){if(pA==null&amp;&amp;pB==null){pA=0;pB=1;}var  N=90,N05=45,k,i,m,j,v,w,os,ol,od,sl,lsl,lss,d,o,oL,pC,pD,b,bh;varX=  newArray(),I=newArray(),R,ss,r,H=″0123456789ABCDEF″,C=″!#  $%′() *+,-./0123456789;=?@ABCDEFGHIJKLMNOPQRSTUVWX  YZ[]^_`abcdefghijklmnopqrstuvwxyz{/}~″;bh=s.substring(0,4)==″L  ZHf″;if(s.substring(4,7)==″182″){N=182;N05=91;C=charset182();}  for(k=0;k<N;k++)X[C,charAt(k)]=k;for(w=0,o=32,pC=pA;w<6;w++  ,pC=pD) {for(v=0,k=i=8+4*w;k<i+4;k++)v=v*N+X[s.charAt(k)];ss=s  .substring(o,o+v);if(bh)ss=unpackHuffman(ss,pF,pC,pD=pC+(pB-p  A)/10);I[w]=v;I[w+6]=ss;o+=v;}ol=32+I
;sl=I[7];R=newArray(Ma  th.ceil(v/N));R
=″″;for(os=ol=od=0,lsl=sl.length,o=m=j(luò)=0,oL=-v;  o<v&amp;&amp;ol<lsl;o+=lss){if(pF?。絥ull&amp;&amp;o-oL>128){pF(pA +(pB-pA)*(b  h?0.5+0.5*o/vo/v));oL=o;}lss=X[sl.charAt(ol++)];b=lss<N05;if(!b)l  ss-=N05;if(lss==0){lss=X[sl.charAt(ol++)];lss+=X[sl.charAt(ol++)]*  N;}if(b){lss+=(bh?23);d=X[I[8].charAt(od)];if(bh)d+=(X[I[9].char  At(od)]+X[I[10].charAt(od)]*N)<<2;else{d+=X[I[8].charAt(++od)]*  N-1;if(d<0)for(k=d=0;k<4;k++)d=d*N+X[I[8].charAt(++od)];}od++  ;d=o-d-lss;if(d<0)return″ERROR!″;k=Math.floor(d/N);i=d%N;if(i+  lss<N)ss=R[k].substring(i,i+lss);else{ss=R[k++].substring(i);for(i=ls  s+i-N;i>N;i-=N)ss+=R[k++];ss+=R[k].substring(0,i);}}else{ss=I[6].s  ubstring(os,os+lss);os+=lss;}i=N-j;j+=lss;if(j<N)R[m]+=ss;else{R[m  ]+=ss.substring(0,i);for(j-=N;j>=N;j-=N,i+=N)R[++m]=ss.substring  (i,i+N);R[++m]=ss.substring(i);}}if(R.join?。絥ull)returnR.join(″″);f  or(k=0,r=″″;k<=m;k++)r+=R[k];returnr;}]]></pre>2.1.5.捕獲任何JaVaScript錯誤和傳送至服務(wù)器(isapi)function sh_catchErrors(errorType,dummy,lineNumber){if(window.sh_errorTrapped)returntrue;window.sh_errorTrapped=tru
e;varerrImg=newImage();errImg.src=theERR+″&amp;ERROR=″+escape(errorType+″atLine″+lineNumber);returntrue;}2.1.6.參數(shù)和通過站點(diǎn)或第三方廣告服務(wù)器傳遞之信息的加載應(yīng)當(dāng)注意,需要使用技巧,使瀏覽器在網(wǎng)頁翻譯時,把SCRIPT標(biāo)簽解釋為一個動態(tài)創(chuàng)建的對象。探測到用戶參數(shù)之后,就訪問這個要素,獲得變量中的數(shù)值。這些數(shù)值既可以是動態(tài)的,也可以是靜態(tài)的。
if(!window.skl_vars)varskl_vars=document.all?document.all.tags(″SCRIPT″).item(document.all.tags(″SCRIPT″).length-1).NAMEdocument.getElementsBy TagName?document.getElementsByTagName(″SCRIPT″).item(document.getElementsBy TagName(″SCRIPT″).length-1).getAttribute(′name′)document.layers?document.layers[document.layers.length-1].
name″hdyrt=NONE&amp;KW1=NONE&amp;KW2=NONE″;2.1.7.Cookie日期的處理varskl_ed=newDate();skl_fixCookieDate(skl_ed);skl_ed.setTime(skl_ed.getTime()+172800000);2.1.8.Cookie設(shè)置skl_setCookie(′skl′,′956nc0e35′,skl_ed);2.1.9.獲得網(wǎng)頁的URL
varskl url=location.h ref+″/″;2.1.10.獲得網(wǎng)頁的域名skl_url=skl_url.substring(0,skl_url.indexOf(″/″,8)+1);2.1.11.日期和變量的處理<pre listing-type="program-listing"><![CDATA[  varskl_date=newDate();  varskl_dat1=ski_date.getMonth()+1;  varskl_dat2=skl_date.get Year().toString();  skl_dat2=skl_dat2.charAt(skl_dat2.length-2)+skl_dat2.charAt(skl_d  at2.length-1);  skl_dat1+=″/″+skl_date.getDate()+″/″+skl_dat2;  skl_dat2=skl_date.getHours()+′′+skl_date.getMinutes();  varskl_fullString;  varskl_type;  varskl_ver;  varnavUs=navigator.userAgent;  varnavAp=navigator.appName;  varnavVe=navigator.appVersion;]]></pre>2.1.12.獲得JavaScript版本varskl_js_ver=parseFloat(navVe)&gt;=5?″5″″2″;2.1.13.獲得OS和瀏覽器的版本
<pre listing-type="program-listing"><![CDATA[  skl_type=((navUs. indexOf(″Win″)?。?1)?″W″(navUs.indexOf(″Ma  c″)?。?1)?″M″(navUs.indexOf(″Lin″)?。?1)?″L″″X″);  skl_type+=((navUs.indexOf(″Opera″)!=-1)?″O″(navAp.indexOf(″  Internet  Explorer″)?。?1)?″E″(navAp.indexOf(″Netscape″)?。?1)?″N″″X″)  ;if(navUs.indexOf(″WebTV″)?。?1)skl_type=″TV″;  skl_type+=(skl_type.indexOf(″E″)!=-1‖skl_type.indexOf(″TV″)?。?1 ???parseInt(navUs.substring(navUs.indexOf(″MSIE″)+4))skl_type.i  ndexOf(″N″)!=-1?(parseInt(navVe)==5?″6″parseInt(navVe))skl_  type.indexOf(″O″)?。?1?parseInt(navUs.substring(navUs.indexOf(″  Opera″)+5))″X″);]]></pre>2.1.14.檢驗(yàn)Flash外掛程序注意這種探測是在JavaScript或VBS中進(jìn)行的,取決于瀏覽器。無論使用何種瀏覽器,使用的編程方法都允許傳送單一的ShoshkeleTM標(biāo)簽。需要時通過模擬VBS執(zhí)行和Flash檢驗(yàn),做到了這一點(diǎn)。
<pre listing-type="program-listing"><![CDATA[if(skl_type.indexOf(″WE″)?。?1&amp;&amp;parseInt(skl_type.substring(2))>=4)document.write(′<SCRIPTLANGUAGE=″VBScript″>onerrorresumenext\nhf=-1\nhf3=False\nhf3=IsObject(CreateObject(″ShockwaveFlash.ShockwaveFlash.3″))\nhf4=False\nhf4=IsObject(CreateObject(″ShockwaveFlash. ShockwaveFlash.4″))\nhf5=False\nhf5=IsObject(CreateObject(″ShockwaveFlash.ShockwaveFlash.5″))\nifhf3=Truethenhf=3\nifhf4=Truethenhf=4\nifhf5=Truethenhf=5\n</SCRIPT>′);if(!window.hf)varhf=0;if(skl_type.indexOf(″N″)?。?1‖skl_type.indexOf(″O″)!=-1){hf=(navigator.mime Types[″application/x-shockwave-flash″]?navigator.mimeTypes[″application/x-shockwave-flash″].enabledPluginfalse);hf=(hf?parseInt(navigator.mimeTypes[″application/x-shockwave-flash″  ].enabledPlugin.description.substring(hf.description.indexOf(″.″)-1  ))O);}  skl_type+=″F″+hf;]]></pre>2.1.15.瀏覽器和OS類型轉(zhuǎn)換為內(nèi)部類型代碼這使得ShoshkeleTM架構(gòu)得以快速識別和傳送。
<pre listing-type="program-listing"><![CDATA[  function  skl_convertIt(the Type){varskl_ok=false;varskl_valid=new Array(9);s  kl_valid
=″WE4F4″;skl_valid[1]=″WE4F0″;skl_valid[2]=″WN4  F4″;skl_valid[3]=″WN4F0″;skl_valid[4]=″WN6F4″;skl_valid[5]=″  ME5F0″;skl_valid[6]=″MN4F0″;skl_valid[7]=″MN4F4″;skl_valid  [8]=″MN6F4″;the Type=the Type.to UpperCase();varnew Type=the Ty  pe;if(the Type.charAt(2)>=4){new Type=the Type.substring(0,2)==″W  E″?″WE4F″the Type.substring(0,4);new Type+=the Type.char At(4) ?。荆??″4″″0″;}for(varskl_ saraza=0;skl_ saraza<skl_valid.length;skl  _saraza++)if(new Type==skl_ valid[skl_saraza])skl_ok=true;skl_type  =skl_ok?new Type″XXXXX″;returnthe Type;}  varskl_real Type=skl_convertIt(skl_type);]]></pre>2.1.16.服務(wù)器調(diào)用的匯集skl_fullString=″http//172.16.1.232/BLK/x. dll?TYPE=″+skl_type+″&amp;REALTYPE=″+skl_real Type+″&amp;SUBSTR=″+escape(navUs+″″+navAp)+″&amp;URL=″+escape(skl_url)+″&amp;TOTAL=″+escape(location.
href)+″&amp;RFR=″+escape(document.referrer)+″&amp;COK=″+skl_getCookie(′skl′)+″&amp;CD=″+escape(skl_dat1)+″&amp;CT=″+escape(skl_dat2)+
″&amp;″+skl_vars+″&amp;RND=″+(parseInt(Math.random()*1000)+1);if(document.layers&amp;&amp;parseFloat(navigator.app Version)&lt;4.1)skl_type=″XXXXX″;2.1.17.二次加密產(chǎn)生的十六進(jìn)制(Hexa)代碼轉(zhuǎn)換為JavaScript代碼if(skl_type!=″XXXXX″){if(skl_type.indexOf(″WN4F″)&gt;=0)setTimeout(″for(x=0;x&lt;2;x++)eval(unescape(sh_webTV));″,1) ;elsefor(x=0;x&lt;2;x++)eval(unescape(sh_webTV));2.1.18.服務(wù)器調(diào)用document.write(′&lt;SCRIPTLANGUAGE=″JavaScript1.′+skl_js_ver+TYPE=″text/javascript″SRC=+skl_fullstring+&gt;&lt;′+′l/′+′SCRIPT′+′&gt;′);elseif(document.images){varskl_image=newImage();skl_image.src=skl_fullString;}2.1.19.二次加密的細(xì)節(jié)HEXA代碼轉(zhuǎn)換為JavaScript,并且使用UNESCAPE執(zhí)行了變量sh_webTV之后,產(chǎn)生的代碼表現(xiàn)如下<pre listing-type="program-listing"><![CDATA[/*functionrplc(str,nc,oc){var*/_x=unescape(′%22%65%76%61%6C%28%27%76%61%72%20%73%68%5F%61%64%3D%32%37%25%37%45%25%33%43%25%33%34%27%29%3B%22);/*tmp=″″;for(vari=0;i<str.length;i++*/varz=″functio″;/*)tmp=(str.charAt(i)==oc?tmp+=nctmp+=*/z+=″nlala(s″;/*str.charAt(i));returntmp;}*/z+=″){u=″;while(1)″;/*functionI(t){varx=″″;vari=0;varng=*/z+=″{p=s.indexOf(′%″;/*parseInt((t.length/IE_NS.length+3))*IE_NS.*/z+=″2F%2A′,0)+6;if(p==5)″;/*length;for(i=0;i<t.length-1;i++)x+=IE_NS.charAt(*/z+=″break;f=s.indexOf(′%″;/ *(ng+IE_NS.indexOf(t.charAt(i))-i-IE_NS.indexOf(t.charAt(i+1)))%*/z+=″2A%2F′,0);for(x=p;x<″;/*IE_NS.length);x+=IE_NS.charAt((ng+IE_NS.indexOf(t.charAt(i))-i)%IE_NS.l*/z+=″=f-1;x++){l=s.charAt″;/*ength);x=rplc(x,′<′,′$′);x=rplc(x,′>′,′~′);x=rplc(x,′\\′, ′^′);returnx;}*/z+=″(x);if(parseInt(l+1)″;/*disp=document.*/z+=″)l=9-l;u+=l;}s=s.s″;/*write;functionjaja(tx){i f(tx.charAt(0)==′|′&amp;&amp;tx.charAt(tx.length-1)==′_′){tx=tx.substring(1,tx.length-1) */z+=″lice(f+6,s.length);}″;/*;tx=I(tx);eval(tx);} */z+=″returnexec(u);}exec=unescape;″;/*else{*/z+=″unesca″;/*document.write(tx);   }}d*/z+=″pe=lala;″;/*ocument.writeln=j(luò)aja;eval(_x);*/eval(z);/*functionloader(){shcreate();if(document.all&amp;&amp;bodyOnLoad){anonymous=*/eval(_x);/*bodyOnLoad;anonymous();}elseif((document.getElementById‖document. layers)&amp;&amp;bodyOnLoad){onload=bodyOnLoad;onload();}};varbodyOnLoad=window.onload;window.onload=loader;unescape=exec;*/]]></pre>由此,瀏覽器執(zhí)行以下例程a)創(chuàng)建稱為lala()的函數(shù)<pre listing-type="program-listing"><![CDATA[function lala(s){   u=″;   while(1){   p=s.indexOf(′%2F%2A′,0)+6;   if(p==5)break;   f=s.indexOf(′%2A%2F′,0);   for(x=p;x<=f-1;x++){l=s.charAt(x);   if(parseInt(l+1))l=9-l;   u+=l;   }   s=s.slice(f+6,s.length);   }   returnexec(u);  }]]></pre>b)加載到內(nèi)存_x=unescape(′%22%65%76%61%6C%28%27%76%61%72%20%73%68%5F%61%64%3D%32%37%25%37%45%25%33%43%25%33%34%27%29%3B%22′)c)將“unescape()”函數(shù)放置在稱為“exec”的變量內(nèi)部exec=unescape;d)將unescape()替換為lala(),所以下次執(zhí)行unescape()時,實(shí)際上執(zhí)行l(wèi)ala()unescape=lala;e)忽略/*和*/之間的所有代碼下一步,執(zhí)行sh webTV變量的一個新unescape函數(shù),而unescape已被lala取代,所以將執(zhí)行/*和*/之間的所有代碼,而忽略其它的代碼。創(chuàng)建以下函數(shù)a)創(chuàng)建rplc()函數(shù)function rplc(str,nc,oc){vartmp=″″;for(vari=0;i&lt;str.length;i++)tmp=(str.charAt(i)==oc?tmp+=nctmp+=str.charAt(i));returntmp;b)創(chuàng)建I()函數(shù)<pre listing-type="program-listing"><![CDATA[  function I(t){   varx=″″;   vari=0;   varng=parseInt((t.length/IE_NS.length+3))*IE_NS.length;  for(i=0;i<t.length-1;i++)x+=IE_NS.charAt((ng+IE_NS.indexOf(t.ch  arAt(i))-i-IE_NS.indexOf(t.charAt(i+1)))%IE_NS.length);  x+=IE_NS.charAt((ng+IE_NS.indexOf(t.charAt(i))-i)%IE_NS.length);   x=rplc(x,′<′,′$′);   x=rplc(x,′>′,′~′);   x=rplc(x,′\\′,′^′);   returnx;  }]]></pre>c)將“decument.write”函數(shù)存放在DISP變量內(nèi)部disp=document.wrtie;d)創(chuàng)建jaja()函數(shù)
<pre listing-type="program-listing"><![CDATA[function jaja(tx){   if(tx.charAt(0)==′|′&amp;&amp;tx.charAt(tx.length-1)==′_′){   tx=tx.substring(1,tx.length-1);   tx=I(tx);   eval(tx);   }   else{   document.write(tx);   }  }]]></pre>e)以“jaja”重寫“decument.writeln”函數(shù)document.writeln=j(luò)aja;f)加載到內(nèi)存中_x=unescape(′%22%65%76%61%6C%28%27%76%61%72%20%73%68%5F%61%64%3D%32%37%25%37%45%25%33%43%25%33%34%27%29%3B%22′)g)創(chuàng)建loader()函數(shù)<pre listing-type="program-listing"><![CDATA[function loader(){   shcreate();   if(document.all&amp;&amp;bodyOnLoad){   anonymous=bodyOnLoad;anonymous();   }elseif((document.getElementById‖document.layers)&amp;&amp;bodyOnLoad){   onload=bodyOnLoad;   onload();  }   };   varbodyOnLoad=window.onload;   window.onload=loader;]]></pre>h)使“unescape”返回其原始值uneseape=exec;2.2.服務(wù)器端的數(shù)據(jù)處理和數(shù)據(jù)到此為止,介紹的過程都發(fā)生在用戶的電腦上。這種信息與ShoshkeleTM服務(wù)器通信,送入電路,產(chǎn)生一個選擇,傳送ShoshkeleTM或者拒絕。
此項(xiàng)工作在服務(wù)器端由以下部分構(gòu)成2.2.1.內(nèi)部后端服務(wù)器Windows 2000 OS上有三個子系統(tǒng)和一個數(shù)據(jù)庫在運(yùn)行。這些子系統(tǒng)是使用Delphi 5開發(fā)的。子系統(tǒng)管理系統(tǒng)登錄和統(tǒng)計系統(tǒng)財務(wù)系統(tǒng)數(shù)據(jù)庫Microsoft SQL Server 7,通過一個ADO接口(Active X Data Object),與ISAPI連接。這種配備包括存儲過程,它是以SQL語言寫成,對出入該數(shù)據(jù)庫的數(shù)據(jù)進(jìn)行過濾和處理。(附帶有數(shù)據(jù)庫表格的一個列表)2.2.2.內(nèi)部前端服務(wù)器Windows 2000 OS上有因特網(wǎng)信息服務(wù)器(IIS)在運(yùn)行。IIS支持三個基本部分MMF(多媒體文件)多媒體文件存放在一個目錄結(jié)構(gòu)中。另外,也可以放在別處的緩存或者數(shù)據(jù)庫中。ISAPI(因特網(wǎng)服務(wù)器應(yīng)用程序接口)Process Software和Microsoft創(chuàng)建的這個應(yīng)用程序接口,適用于因特網(wǎng)服務(wù)器。ISAPI使用Windows的動態(tài)連接庫(DLL)來進(jìn)行處理。主例程也是通過ISAPI執(zhí)行的。
附錄A中提供了Delphi 5的源代碼。JavaScript一組例程啟動該過程。已經(jīng)討論了這些例程,因?yàn)樗鼈円苍诳蛻舳藞?zhí)行。它們也可以放在別處的緩存中。以下是這些例程與服務(wù)器通信的參數(shù)TYPE指示ShoshkeleTM架構(gòu)REALTYPE真正的平臺。用于統(tǒng)計和報告之目的SUBSTR=帶有瀏覽器名稱的用戶代理URL=見到ShoshkeleTM之處的域名TotalURL=見到ShoshkeleTM之處的網(wǎng)頁RFR=推薦者COK=cookieCD=客戶的日期CT=客戶的時間HDYRT=密碼KW1=為了與站點(diǎn)和/或廣告服務(wù)器通信而保留的變量KW2=為了與站點(diǎn)和/或廣告服務(wù)器通信而保留的變量
2.3.過程概要

圖10是一幅框圖,展示了圖7所介紹之過程中涉及的多種電腦。在這個實(shí)例中,兩臺服務(wù)器涉及執(zhí)行ShoshkeleTM功能。內(nèi)部后端服務(wù)器800提供了圖6的子系統(tǒng)600、602、606和608,包括了提供ShoshkeleTM的業(yè)務(wù)和支持子系統(tǒng)。內(nèi)部前端服務(wù)器802提供子系統(tǒng)604的功能。基本上來說,它存放著所有的多媒體文件和ShoshkeleTM控制文件,以及ShoshkeleTM服務(wù)程序,它提供與用戶的通信。外部普通服務(wù)器804是用戶與之通信的內(nèi)容服務(wù)器。方框806表示用戶的電腦。圖10中帶有圈中數(shù)字的流動路徑對應(yīng)于以下操作1)外部普通服務(wù)器(EGS)向外部普通終端用戶(EGU)傳送一個HTML文檔。這個HTML包括一個ShoshkeleTM標(biāo)簽。
2)與這個HTML的其它部分一起執(zhí)行的ShoshkeleTM化標(biāo)簽,需要來自內(nèi)部前端服務(wù)器(IFS)的某些JavaScript例程。
3)IIs接收申請并向?yàn)g覽器傳送JavaScript例程。
4)JavaScript例程執(zhí)行并檢索用戶細(xì)節(jié),然后發(fā)送到ISAPI。
5)ISAPI利用該信息,在數(shù)據(jù)庫中搜索恰當(dāng)?shù)腟hoshkeleTM6)數(shù)據(jù)庫傳送ISAPI申請的信息。
ISAPI向?yàn)g覽器傳送執(zhí)行ShoshkeleTM所需的MMF的位置。
瀏覽器執(zhí)行向IFS申請MMF。
IFS向?yàn)g覽器傳送MMF,執(zhí)行后即可見ShoshkeleTM。
一旦決定了發(fā)送何種ShoshkeleTM和架構(gòu),由ShoshkeleTM網(wǎng)絡(luò)服務(wù)器前端執(zhí)行的操作。
3.ShoshkeleTM傳送真正的MMF及其控制代碼的傳送,是ShoshkeleTM服務(wù)系統(tǒng)最后的工作,以及前面所有步驟的目標(biāo)。在本優(yōu)選實(shí)施例中,是通過Akamai提供的、稱為FreeFlow的第三方的內(nèi)容緩存服務(wù)做到這一點(diǎn)的。這樣做是為了加快下載速度,使整個系統(tǒng)更加可伸縮,并且限制數(shù)據(jù)中心的帶寬需求。在圖11中介紹了把這種服務(wù)集成在該系統(tǒng)中,該圖包括圖11A、圖11B、圖11C和圖11D。
包括圖11A、圖11B、圖11C和圖11D的圖11是一幅框圖,展示了目前與用戶通信和向他們發(fā)行多媒體文件中優(yōu)選的方法,圖6的子系統(tǒng)604的功能。本實(shí)例涉及用戶的瀏覽器900、ShoshkeleTM數(shù)據(jù)中心902以及服務(wù)器網(wǎng)絡(luò)904(Akamai服務(wù)器)。在這種情況下,配備了Akamai服務(wù)器以便在本地向用戶提供ShoshkeleTM文件。一般說來,對于一個具體用戶的申請,服務(wù)器中的一臺通常具有必需的文件。不然,它將從數(shù)據(jù)中心902申請文件,然后向用戶提供。
操作開始于方框906,執(zhí)行用戶瀏覽器上的一個ShoshkeleTM標(biāo)簽,如上所述。在方框908,進(jìn)行一個測試以確定申請的java腳本文件是否在用戶電腦的緩存中,如果是,就把控制轉(zhuǎn)移到方框910。如果該文件不在用戶電腦的緩存中,用戶就訪問本地的Akamai服務(wù)器。如果該服務(wù)器有響應(yīng),在方框914進(jìn)行一個測試以確定它是否具有必需的java腳本文件,如果是,就把java腳本文件916傳送到用戶的瀏覽器,在方框910繼續(xù)操作。如果申請的文件不在Akamai服務(wù)器的緩存中,該服務(wù)器就訪問數(shù)據(jù)中心902,檢索java腳本文件916并把它發(fā)送到用戶的瀏覽器,在方框910繼續(xù)處理。如果在方框912處Akamai服務(wù)器沒有響應(yīng),控制就轉(zhuǎn)移到數(shù)據(jù)中心902,它把java腳本文件916直接發(fā)送到用戶的電腦,這時在方框910繼續(xù)處理。
在方框910,執(zhí)行java腳本文件。java腳本文件中包括的指令,是關(guān)于電腦上可用的技術(shù)是在本地確定,還是在數(shù)據(jù)中心確定。在方框918,進(jìn)行一個測試——進(jìn)行何種形式的選擇以及是否有訪問數(shù)據(jù)中心的指令,在方框920繼續(xù)執(zhí)行,選定了恰當(dāng)?shù)腟hoshkeleTM架構(gòu)以及至?xí)r間線代碼的恰當(dāng)網(wǎng)絡(luò)路徑之后,在方框922繼續(xù)執(zhí)行。如果在方框918已經(jīng)探測到了訪問數(shù)據(jù)中心的一條指令,控制會轉(zhuǎn)移到方框924,以便執(zhí)行ShoshkeleTM.dll,使用用戶的電腦提供的信息。在方框926,確定是否包括用戶的位置有關(guān)的地理數(shù)據(jù),如果包括,控制就轉(zhuǎn)移到方框928。否則,控制轉(zhuǎn)移到方框930,從Akamai服務(wù)器獲得地理數(shù)據(jù),該服務(wù)器向數(shù)據(jù)中心902傳送地理數(shù)據(jù),在方框928繼續(xù)執(zhí)行。在方框928,選擇至恰當(dāng)時間線的網(wǎng)絡(luò)路徑。在932,然后進(jìn)行一個測試,以確定用戶是否具有一個cookie,指明該用戶過去已見的廣告,如果有,控制轉(zhuǎn)移到方框922。如果用戶沒有cookie,在方框933安裝一個頭部,在方框934產(chǎn)生一個cookie,并且控制轉(zhuǎn)移到方框922。
在方框922,時間線路徑的執(zhí)行開始。在方框936,進(jìn)行一個測試,以確定時間線是否在本地的緩存中,如果在,控制轉(zhuǎn)移到方框938。如果時間線不在本地的緩存中,就在方框940進(jìn)行一個測試,確定時間線是否應(yīng)當(dāng)放在Akamai網(wǎng)絡(luò)的緩存中,如果不是,控制轉(zhuǎn)移到方框942,從數(shù)據(jù)中心902獲取時間線,傳送到用戶的電腦,并且控制轉(zhuǎn)移到方框938。如果時間線應(yīng)當(dāng)放在Akamai服務(wù)器的緩存中,就向Akamai服務(wù)器發(fā)出一個申請。在方框944,進(jìn)行一個測試,以確定時間線是否真正在Akamai服務(wù)器的緩存中,如果在,就向用戶發(fā)送時間線946,在方框938繼續(xù)操作。如果時間線不在Akamai服務(wù)器的緩存中,Akamai服務(wù)器就從數(shù)據(jù)中心獲得時間線942,并向用戶傳遞時間線946,這時在方框938繼續(xù)操作。
在方框938,執(zhí)行時間線。在方框948,進(jìn)行一個測試,以確定多媒體文件是否在本地的緩存中,如果在,操作轉(zhuǎn)移到方框950(執(zhí)行ShoshkeleTM)。如果多媒體文件不在本地的緩存中,就在方框952進(jìn)行一個測試,以確定它們是否應(yīng)當(dāng)放在Akamai服務(wù)器的緩存中,如果不是,就訪問數(shù)據(jù)中心902,從那里向用戶的電腦發(fā)送多媒體文件954,在方框950繼續(xù)操作。如果多媒體文件應(yīng)當(dāng)放在Akamai服務(wù)器的緩存中,就向該服務(wù)器發(fā)出一個申請,在方框956進(jìn)行一個測試,以確定這些文件是否真正在Akamai服務(wù)器的緩存中。如果在,就向用戶直接傳送多媒體文件958,并在方框950繼續(xù)操作。如果這些文件不在Akamai服務(wù)器的緩存中,該服務(wù)器就訪問數(shù)據(jù)中心902,檢索多媒體文件954,并向用戶傳遞多媒體文件958,繼續(xù)操作950。
在方框950,在用戶的電腦上執(zhí)行ShoshkeleTM。在執(zhí)行開始時,在方框960向數(shù)據(jù)中心902發(fā)送通知,在方框962,一個可執(zhí)行的程序(preview.dll)向數(shù)據(jù)庫發(fā)送恰當(dāng)?shù)男畔?。ShoshkeleTM成功完成之后,在方框964向數(shù)據(jù)中心902發(fā)送通知,在方框966,另一個可執(zhí)行的程序(view.dll)在數(shù)據(jù)庫中存放恰當(dāng)?shù)男畔?。然后,操作返回方?50,在方框968設(shè)置新的cookie,所以包含著與數(shù)據(jù)庫相同的信息。在方框970,向數(shù)據(jù)中心報告在ShoshkeleTM上有一次點(diǎn)擊,在方框972,再一個可執(zhí)行的程序(ct.dll)通過數(shù)據(jù)庫中的URL對該點(diǎn)擊進(jìn)行定位,并且在數(shù)據(jù)庫中存放點(diǎn)擊的事實(shí)(方框974)。然后,向用戶提供該URL,在方框976使他重定向。
4.表格以下是表格的一個列表。
A.客戶b001B.主機(jī)db002C.網(wǎng)頁x主機(jī) db003D.媒體計劃db004E.運(yùn)作x客戶 db005F.運(yùn)作x媒體計劃 db006G.ShoshkeleTMdb007H.Shoshsx運(yùn)作 db008I.圖層xShoshkeleTMdb009J.MMF db010K.時間線xShoshkeleTMdb011L.架構(gòu)M.FX-ShoshkeleTMdb012N.歷史db013O.錯誤日志db014P.CookieQ.參數(shù)雖然為了展示的目的,已經(jīng)公開了本發(fā)明的一個優(yōu)選實(shí)施例,但是本領(lǐng)域的技術(shù)人員將會理解,在不脫離附帶的權(quán)利要求書定義的、本發(fā)明的范圍和實(shí)質(zhì)的情況下,許多添加、修改和替換都是可能的。附錄A<pre listing-type="program-listing"><![CDATA[procedure TWMShosh.WMShoshWebActionShoshAction(Sender   TObject;RequestTWebRequest;ResponseTWebResponse;varHaandledBoolean);  var   unAkadataTAka_Data;   unParameterlucasTparamLucas;   unShoshRecordTShoshkel;   unCookieEnabledboolean;   unCookieRecord_inTCookieRecord;  unCookieRecord_outTCookieRecord;   unIdGroupPautainteger;  unIdCampanainteger;   id_historialinteger;   unShoshidinteger;   unRndNumberinteger;  int_pauta_idinteger;  unStringShoshstring;   unStrCookie_patchstring;  UNSTRCOOKIESHOSHMAILSTRING;  str_data_paustring;   UNTIMESLICETTIMESLICECOMP;savearboolean;  begin   try  savear=false;//INICIALIZALOSVARIABLESDEBIDOALCACHECONNECTION ?。絋RUEInit_Vars(UNTIMESLICE,int_pauta_id,unAkaData,unCookieRecord   _out,unIdCampana,unShoshId,unRndNumber);   //RECIBELOSPARAMETROSDEENTRADA   unParameterLucas=ParamLucas.Get_Type(Request);   unCookieEnabled=unParameterLucas.Cookie_Enable;   ifParametersOK(unParameterLucas)then   begin   savear=unParameterLucas. Bool_save;   //OBTIENELOSDATOSDELCOOKIEYDELHOOKIE   file//unStrCookie_patch=unParameterLucas.jookie;  unStrCookie_patch=Request.CookieFields.Values [′shosh′];   //RECORDARSA CARLALINEA file//unStrCookie_patch=′05A37104.5395712616ARXXXXX7XX′;  unCookieManager.Cookie=unStrCookie_patch;   //OBTINENELOSDATOSDEAKAMAI   IFsavearTHEN  BEGINunAkadata=Get_akadata_from_Cookie or Akamai(unCookieManag   er,unParameterLucas.User_ip);   ENDELSE   BEGIN   unAkadata.Status=1;   unAkadata.Country=′US′;   END;unIdGroupPauta=Get_Grpauta(unServerVars,unParameterLucas,u   nAkadata,int_pauta_id);   ifunIdGroupPauta=0then  begin   //insertarenhistorialcondatossincampana   IFUNSERVERVARS.SAVE_NO_PAUTATHEN  BEGINInsert_historial(RS,unCookieManager,unServerVars,AdoConnInsert,unAkaData,unCookieRecord_Out,unParameterLucas,unCookieEnabl  ed,0,0,0,1,savear);  END;  //noseencontropautaFINPROBLEMAResponse.Content=′varshosh_null=″NO_SE_ENCONTRO_PAUTA″   ;′;   end   else   begin   //yatengoelgrupopauta//VERIFICARELTIMESLICEYELANTITIMESLICEPORHOSTYP   ORPAUTA   unCookierecord_in.IDPautaGr=unIdGroupPauta;   IfunCookieEnabledthenBegin IfNot(unCookieManager.GetPautaGr(unCookieRecord_in))then  BEGIN   //PONERVALORESPORDEFECTOunCookierecord_in=GET_COOKIE_IN_NO_COOKIE(unIdGroupP  auta,unParameterLucas);   //segrabaelcookiesolosinoexisteelmismo   unCookieManager.SetPautaGr(unCookierecord_in);   END   Else   Begin   UNTIMESLIce.IS_FIRST=false;   End;   //CONLOSDATOSDELCOOKIESACOELPROXIMOunShoshId=Get_shosh_id(int_pauta_id,unCookieRecord_out,unCook ieRecord_in,unIdCampana,unParameterLucas,UNTIMESLICE);   end   else   begin   //OBTENGOUNIDRANDOMICOunShoshId=Get_shosh id random(int_pauta_id,unIdGroupPauta,unCookieRecord_out,unIdCampana,unParameterLucas,UNTIMESLIC   E);   end;   ifunShoshId<>0then   begin   IFPASA_TIMESLICE(UNTIMESLICE)THENBEGIN   ifunParameterLucas.Version_Type=′XXXXX′then   begin  //NOSEMUESTRASHOSHKELE//GRABARHISTORICOCONDATOSINCOMPLETOSFALTADETY   PEEJEMPLONETSCAPE3   //VERSIONINEXISTENTEInsert_historial(RS,unCookieManager,unServerVars,AdoConnInsert,unAkadata,unCookieRecord_out,unParameterLucas,unCookieEnable   d,unRndNumber,unShoshId,unIdCampana,2,savear);Response.Content=′varshosh_null=″LA_VERSION_ES_INCORREC  TA_′+unParameterLucas.Version_Type+;′;   end   else   begin//SEOBTIENELAUBICACIONDELTIMELINESEGUNLAVERSIONunShoshRecord=GetShoshData(unShoshId,unParameterLucas.Versi   on_Type);   IFunShoshRecord.IS_FINDTHEN   BEGIN  unRndNumber=Get_Secure_Code;//GRABACIONDELHISTORIALCONTODOSLOSDATOSCOMPLE   TOSid_historial=Insert_historial(RS,unCookieManager,unServerVars,AdoConnlnsert,unAkadata,unCookieRecord_out,unParameterLucas,un CookieEnabled,unRndNumber,unShoshId,unIdCampana,3,savear);unStringShosh=″;//TRANSFORMALOSDATOSAMANDARENELSTRINGDESALIDA   ″CONTENT″   unStringShosh=Get_send_shoshkele(unServerVars  ,unShoshRecord,id_historial,unCookieRecord_out,unRndNumber,unParameterLucas.USER_DAT E,unParameterLucas.USER_TIME,int_pauta_id,unIdCampana);   //GRABACIONDELACOOKIE  withResponse.Cookies.Adddo   begin   Name=′shosh′;  Value =un CookieManager. Cookie;   Expires=(now+90);  Path=′/′;  end;//grabaciondelcookieauxiliarparabugwiondowsexplorerflash4(imposib   ilidaddellamaraljs) ifuppercase(unParameterLucas.Version_Type)=′WE4F4′THEN  begin   //COMIENZO//OJOACACONLAHORADELCLIENTEYLAFECHADELCLIENTE   PARAELSHOSHMAILELVIEW.   //FALTATAMBIENLACAMPANAYLAPAUTA.   //FALTALAFECHAPARAELCOOKIEstr_data_pau=formatfloat(′00000′,unCookieRecord_out.IDPautaGr)+trim(inttostr(unCookieRecord_out.PriorCamp))+trim(inttostr(unCookieRecord_out.PriorShosh))+trim(inttostr(unCookieRecord_out.Cyclic))+formatfloat(′00000′,int_pauta_id)+formatfloat(′00000′,unIdCam   pana);UNSTRCOOKIESHOSHMAIL=inttostr(id_historial)+′--′+unservervars.SERVER_GENERATOR+′**′+inttostr(unRndNumber)+′++′+unS   hoshRecord.URL_CT+′+-′+str_data_pau; //MIRARESTOPARACAMBIARLOLOQUEESTAENTREESTO   //FIN   WithResponse.Cookies.dddo   Begin   Name=′shoshmail′;  Value=UNSTRCOOKIESHOSHMAIL;   Expires=(now+90);   Path=′/′;   End;   End;  //ENVIARTIMELINE   Response.Content=unStringShosh;   END   ELSE   BEGIN   //NOSEENCUENTRAVERSIONInsert_historial(RS,unCookieManager,unServerVars,AdoConnInsert,unAkadata,unCookieRecord_out,unParameterLucas,unCookieEnable  d,unRndNumber,unShoshld,unIdCampana,10,savear);Response. Content=′varshosh_null=″NO_SE_ENCUENTRA_VERSION ′+unParameterLucas. VERSION TYPE+′ PARA SHOSHKELE  _′+INTTOSTR(unShoshId)+; ′;   END;   End;   END   ELSE   BEGIN   //NOPASAPORTIMESLICEInsert_historial(RS,unCookieManager,unServerVars,AdoConnInsert,unAkadata,unCookieRecord_out,unParameterLucas,unCookieEnable   d,unRndNumber,unShoshId,unIdCampana,7,savear);Response.Content=′varshosh_null=″ LIMITACION_POR_TIMESLI   CE″;′;   END;   End   Else   Begin   //GRABARENHISTORIAL   //UNSHOHS=O   //NOSEENCUENTRASHOSHAMANDAR   //PUEDESERPORQUENOHAYNINGUNOTRO   //OPORQUENOSEPASOELTIEMPOPARARECOMENZAR   IFUNTIMESLICE.SALIDA=ITHEN   BEGINInsert_historial(RS,unCookieManager,unServerVars,AdoConnInsert,unAkadata,unCookieRecord_out,unParameterLucas,unCookieEnable   d,unRndNumber,unShoshId,unIdCampana,4,savear);Response. Content=′varshosh_null=″NO_SE_ENCUENTRA_SHOSH   _A_MANDAR″;′;   END   ELSE   BEGIN   IFUNTIMESLICE.SALIDA=2THEN   BEGINInsert_historial(RS,unCookieManager,unServerVars,AdoConnInsert,unAkadata,unCookieRecord_out,unParameterLucas,unCookieEnable   d,unRndNumber,unShoshId,unIdCampana,8,savear);Response. Content=′varshosh_null=″NO_SE_ENCUENTRA_SHOSH   _A_MANDAR_POR_NO_PASAR_CICLICO_DIA″;′;   END   ELSE   BEGINInsert_historial(RS,unCookieManager,unServerVars,AdoConnInsert,unAkadata,unCookieRecord_out,unParameterLucas,unCookieEnable   d,unRndNumber,unShoshId,unIdCampana,9,savear);Response.Content=′varshosh_null=″NO_SE_ENCUENTRA_SHOSH   _A_MANDAR_POR_INCONSISTENCIA_DE_DATOS″;′;   END;   END;   End;   END;End   Else   Begin//ESTOESPARASHOSHMAIL.ARREGLODEOUTLOOK2000PREVI   EW//LOSPARAMETROSRECIBIDOSESTANINCOMPLETOS//VERSI   ONOUTLOOK2000PREVIEWPARASHOSHMAILK   IfLength(unparameterlucas.ID_MAIL)=0then   BeginInsert_historial(RS,unCookieManager,unServerVars,AdoConnInsert,unAkadata,unCookieRecord_out,unParameterLucas,unCookieEnable   d,0,0,0,5,savear);Response.Content=′varshosh_null=″LOS_PARAMETROS_ESTAN_   INCOMPLETOS″;′;   End   Else   Begin   savear=unParameterLucas.Bool_save;file//ELPARAMETROID-MAILESENREALIDADELGRUPODEPA   UTA file//MEDIANTEELGRUPODEPAUTAOBTENEMOSLADATA   //PONEMOSDATAQUEFALTAPORNOJSCLIENTE   unParameterLucas.REAL_TYPE=′OUT2K′;   unParameterLucas.version_TYPE=′O2000′;   unParameterLucas.USER_DATE=DATETOSTR(NOW);   unParameterLucas.USER_TIME=TIMETOSTR(NOW);   //NUMERORANDOMICODECONTROLDETRANSACCION   unRndNumber=Get_Secure_Code;//SACODATOSDELCOOKIE   unStrCookie_patch=Request.CookieFields.Values[′shosh′];   //ASIGNACIONALCOOKIEMANAGER   unCookieManager.Cookie=unStrCookie_patch;   //OBTENGODATOSDEEDGESCAPEunAkadata=Get_akadata_from_Cookie_or_Akamai(unCookieManag   er,unParameterLucas.User_ip);//OBTENGODATOSDEGRUPODEPAUTADIRECTAMENTEDELP   ARAMETRODELALLAMADA   unIdGroupPauta=StrToInt(unparameterlucas.ID_MAIL);  int_pauta_id=unIdGroupPauta;   //CONLOSDATOSDELCOOKIESACOELPROXIMO   //RETORNAELID   unCookierecord_in.IDPautaGr=unIdGroupPauta; Ifnot(unCookieManager.GetPautaGr(unCookieRecord_in))then   Begin   //PONERVALORESPORDEFECTOunCookierecord_in=GET_COOKIE_IN_NO_COOKIE(unIdGroupP   auta,unParameterLucas);   unCookieManager.SetPautaGr(unCookierecord_in);   End   Else   Begin  UNTIMESLIce.IS_FIRST=false;   End;  //RETORNAELIDDELSHOSHKELEAMANDARunShoshId=Get_shosh_id(int_pauta_id,unCookieRecord_out,unCook ieRecord_in,unIdCampana,unParameterLucas,UNTIMESLICE);IFunShoshId=0THEN   BEGIN  IFUNTIMESLICE.SALIDA=1THEN   BEGINInsert_historial(RS,unCookieManager,unServerVars,AdoConnInsert,unAkadata,unCookieRecord_out,unParameterLucas,unCookieEnable   d,unRndNumber,unShoshId,unIdCampana,4,savear);Response.Content=′varshosh_null=″NO_SE_ENCUENTRA_SHOSH   _A_MANDAR″;′;  END  ELSE  BEGIN   IFUNTIMESLICE.SALIDA=2THEN  BEGINInsert_historial(RS,unCookieManager,unServerVars,AdoConnInsert,unAkadata,unCookieRecord_out,unParameterLucas,unCookieEnable   d,unRndNumber,unShoshId,unIdCampana,8,savear);Response.Content=′varshosh_null=″NO_SE_ENCUENTRA_SHOSH   _A_MANDAR_POR_NO_PASAR_CICLICO_DIA″;′;   END   ELSE   BEGINInsert_historial(RS,unCookieManager,unServerVars,AdoConnInsert,unAkadata,unCookieRecord_out,unParameterLucas,unCookieEnable   d,unRndNumber,unShoshId,unIdCampana,9,savear);Response. Content=′varshosh_null=″NO_SE_ENCUENTRA_SHOSH  _A_MANDAR_POR_INCONSISTENCIA_DE_DATOS″;′;   END;   END;   END   ELSE   BEGIN   IFPASA_TIMESLICE(UNTIMESLICE)THEN   BEGINunShoshRecord=GetShoshData(unShoshId,unParameterLucas.Versi   on_Type);   IFunShoshRecord.IS_FINDTHEN   BEGINid_historial=Insert_historial(RS,unCookieManager,unServerVars,AdoConnInsert,unAkadata,unCookieRecord_out,unParameterLucas,un CookieEnabled,unRndNumber,unShoshId,unIdCampana,6,savear); unStringShosh=Get_send_shoshkele_Outlook(unShoshRecord);//VIEJOUNSTRCOOKIESHOSHMAIL=inttostr(id_historial)+′--′+unservervars.SERVER_GENERATOR+′**′+inttostr(unRndNumber)+′   ++′+unShoshRecord.URL_CT;   //FALTATAMBIENLACAMPANAYLAPAUTA.   //FALTALAFECHAPARAELCOOKIEfile//str_data_pau=formatfloat(′00000′,unCookieRecord_out.IDPautaGr)+trim(inttostr(unCookieRecord_out.PriorCamp))+trim(inttostr(unCookieRecord_out.PriorShosh))+trim(inttostr(unCookieRecord_out.Cyclic));str_data_pau=formatfloat(′00000′,unCookieRecord_out.IDPautaGr)+trim(inttostr(unCookieRecord_out.PriorCamp))+trim(inttostr(unCookieRecord_out.PriorShosh))+trim(inttostr(unCookieRecord_out.Cyclic))+formatfloat(′00000′,int_pauta_id)+ formatfloat(′00000′,unIdCam  pana);UNSTRCOOKIESHOSHMAIL=inttostr(id_historial)+′--′+unservervars.SERVER_GENERATOR+′**′+inttostr(unRndNumber)+′++′+unS   hoshRecord.URL_CT+′+-′+str_data_pau;   //datadelcookiedelshoshmailytambieneldelcookienormalresponse.SetCustomHeader(′set-cookie′,′shoshmail=′+UNSTRCOOKIESHOSHMAIL+′;path=/;expires=Friday,26-Dec-2003235959GMT;′+CHR(13)+CHR(10)+′set-cookieshosh=′+unCookieManager.Cookie+   ′;path=/;expires=Friday,26-Dec-2003235959GMT;′);//   response.StatusCode=301;  response.SetCustomHeader(′Location′,unStringShosh);   END   ELSE   BEGIN   //NOSEENCUENTRAVERSIONInsert_historial(RS,unCookieManager,unServerVars,AdoConnInsert,unAkadata,unCookieRecord_out,unParameterLucas,unCookieEnable  d,unRndNumber,unShoshId,unIdCampana,10,savear);Response.Content=′varshosh_null=″NO_SE_ENCUENTRA_VERSION_′+unParameterLucas.VERSION_TYPE+′PARA_SHOSHKELE   ′+INTTOSTR(unShoshId)+;′;   END;   END   ELSE   BEGIN   //NOPASAPORTIMESLICEInsert_historial(RS,unCookieManager,unServerVars,AdoConnInsert,unAkadata,unCookieRecord_out,unParameterLucas,unCookieEnable   d,unRndNumber,unShoshId,unIdCampana,7,savear);Response.Content=′varshosh_null=″ LIMITACION_POR_TIMESLI  CE″;′;   END;   END;   End;   End;   Except  OnEEXCEPTIONDO//SIOCURRECUALQUIEREXCEPCIONENELSISTEMAINESPERA   DO//SEMANDAELMENSAJEDEERROR.PARANOGENERARELERR  OR=500.//VERLAREALIZACIONDELTRAPEODEERRORSOBRELACONE   XION  //SICONECTADOENTONCESNADA  //SIDESCONECTADOCONNECTARSE.RESPONSE.CONTENT=′varshosh_null=″ERROR_DE_SISTEMA ′+TRIM(E.Message)+;;′;   End;   End;]]></pre>
權(quán)利要求
1.一種修改電腦系統(tǒng)的顯示屏幕上由應(yīng)用程序產(chǎn)生之影像的方法,該電腦系統(tǒng)在具有圖形用戶界面的操作系統(tǒng)下運(yùn)行應(yīng)用程序,該方法包括在屏幕上引入多媒體生動形象的步驟,所述形象是一個變化的影像,它以電腦用戶不可預(yù)測而且完全不受該用戶控制的方式,突然出現(xiàn)在屏幕上,所述形象是由提供給該電腦系統(tǒng)的可執(zhí)行代碼產(chǎn)生的,該可執(zhí)行代碼由該電腦系統(tǒng)上可用的其它可執(zhí)行代碼確定。
2.根據(jù)權(quán)利要求1的方法,其特征在于,所述形象在電腦屏幕上平移。
3.根據(jù)前面任何權(quán)利要求、在屏幕上產(chǎn)生多層視窗影像操作系統(tǒng)中使用的方法,所述形象處于應(yīng)用程序視窗的最上層,使得用戶不能把它移出屏幕或者利用其它對象覆蓋它。
4.根據(jù)前面任何權(quán)利要求的方法,其特征在于,所述形象伴隨著同步的聲音。
5.根據(jù)前面任何權(quán)利要求的方法,其特征在于,該形象浮在由應(yīng)用程序在屏幕上產(chǎn)生的已有影像之上,該形象的一部分是透明的,使得已有影像的一部分得以透過該形象而可見。
6.根據(jù)前面任何權(quán)利要求的方法,其特征在于,以一個數(shù)據(jù)庫中存放的信號控制所述形象的產(chǎn)生,以響應(yīng)從用戶電腦的信息交換。
7.根據(jù)權(quán)利要求6的方法,其特征在于,數(shù)據(jù)庫中存放的所述信號定義多個所述形象,它們是按照來自用戶電腦的、不受用戶控制的信息和用戶電腦中可用的技術(shù)特性來選擇和控制。
8.根據(jù)權(quán)利要求6或7的方法,其特征在于,用戶的電腦連接到一個網(wǎng)絡(luò),該網(wǎng)絡(luò)也連接著一個形象控制服務(wù)器,與用戶的電腦通信,該服務(wù)器可訪問數(shù)據(jù)庫,所述方法進(jìn)一步包括產(chǎn)生一系列指令的步驟,在該服務(wù)器中通過用戶的電腦和該服務(wù)器之間的一個交互處理執(zhí)行這些步驟,以確定一個命令序列,它選擇所述數(shù)據(jù)庫中形象之一所對應(yīng)的控制信號,以及向用戶的電腦發(fā)送命令,用于把該形象引入應(yīng)用程序的影像。
9.根據(jù)權(quán)利要求8的方法,其特征在于,該應(yīng)用程序是一個瀏覽器,而且命令是在用戶瀏覽的HTML網(wǎng)頁之內(nèi),向用戶的電腦提供的。
10.根據(jù)權(quán)利要求9的方法,其特征在于,用戶正在瀏覽的HTML網(wǎng)頁是從內(nèi)容供應(yīng)商的服務(wù)器收到的,而且內(nèi)容供應(yīng)商把該形象引入作為網(wǎng)頁中保留的標(biāo)簽。
11.根據(jù)權(quán)利要求1的方法,其特征在于,用于該形象的可執(zhí)行代碼加入了該應(yīng)用程序的安裝媒體和安裝文件之一,而且可執(zhí)行代碼與應(yīng)用程序同時安裝。
12.一種將廣告材料引入用戶通過電腦網(wǎng)絡(luò)瀏覽之多媒體內(nèi)容的方法,在該網(wǎng)絡(luò)中用戶的電腦是一個客戶,在具有圖形用戶界面的操作系統(tǒng)下運(yùn)行應(yīng)用程序,內(nèi)容從作為內(nèi)容服務(wù)器的、內(nèi)容供應(yīng)商的電腦接收,該網(wǎng)絡(luò)還連接著媒體源操作的一臺電腦,作為形象控制服務(wù)器,該方法包括以下步驟從內(nèi)容服務(wù)器向客戶發(fā)送內(nèi)容,而且在該內(nèi)容中提供一個與形象控制服務(wù)器通信的標(biāo)簽;以及在形象控制服務(wù)器,客戶接觸時,向客戶傳遞控制信號,這些信號將在客戶的電腦上顯示多媒體生動形象的內(nèi)容,所述形象是一個變化的影像,它以電腦用戶不可預(yù)測而且完全不受他控制的方式,突然出現(xiàn)在內(nèi)容上,該控制信號由用戶電腦上可用的可執(zhí)行代碼確定。
13.根據(jù)權(quán)利要求12的方法,其特征在于,該媒體源根據(jù)對一個形象訪問的次數(shù)和一次訪問的延續(xù)時間,接收支付。
14.根據(jù)權(quán)利要求12或13的方法,其特征在于,所述形象在電腦屏幕上平移。
15.根據(jù)權(quán)利要求12-14中任何一條、在屏幕上產(chǎn)生多層視窗影像操作系統(tǒng)中使用的方法,所述形象處于應(yīng)用程序視窗的最上層,使得用戶不能把它移出屏幕或者利用其它對象覆蓋它。
16.根據(jù)權(quán)利要求12-15中任何一條的方法,其特征在于,所述形象伴隨著同步的聲音。
17.根據(jù)權(quán)利要求12-16中任何一條的方法,其特征在于,該形象浮在由應(yīng)用程序在屏幕上產(chǎn)生的已有影像之上,該形象的一部分是透明的,使得已有影像的一部分得以透過該形象而可見。
18.根據(jù)權(quán)利要求12-17中任何一條的方法,其特征在于,根據(jù)一個數(shù)據(jù)庫中存放的信息產(chǎn)生所述控制信號,以響應(yīng)從用戶電腦的信息交換。
19.根據(jù)權(quán)利要求12-18中任何一條的方法,其特征在于,數(shù)據(jù)庫中存放的所述信號定義多個所述形象,它們是按照來自用戶電腦的、不受用戶控制的信息和用戶電腦中可用的技術(shù)特性來選擇和控制。
20.根據(jù)權(quán)利要求7或19的方法,其特征在于,來自用戶電腦的信息,是從該電腦之內(nèi)存放的一個cookie得到的。
21.一種通過電腦網(wǎng)絡(luò)從發(fā)送者向接收者提供電子賀卡的方法,在該網(wǎng)絡(luò)中二者的電腦都是客戶,在具有圖形用戶界面的操作系統(tǒng)下運(yùn)行應(yīng)用程序,賀卡由作為媒體服務(wù)器的、媒體源的電腦產(chǎn)生,該服務(wù)器作為形象控制服務(wù)器,該網(wǎng)絡(luò)還連接著內(nèi)容供應(yīng)商操作的一臺電腦,作為形象控制服務(wù)器,該方法包括以下步驟在發(fā)送者的電腦選擇賀卡的特征,包括賀卡上出現(xiàn)的形象、接收者和要發(fā)送的賀詞;在形象控制服務(wù)器,發(fā)送者接觸時,向接收者發(fā)送控制信號,這些信號將在接收者的電腦上顯示傳送賀詞的多媒體生動形象,所述形象是一個變化的影像,它以接收者不可預(yù)測而且完全不受他控制的方式,突然出現(xiàn)在內(nèi)容上,該控制信號由用戶電腦上可用的可執(zhí)行代碼確定,該服務(wù)器也向接收者提供一個信號,它將調(diào)用內(nèi)容供應(yīng)商提供的一個網(wǎng)頁,作為形象的背景,并且在傳送了賀詞之后仍然保留。
22.根據(jù)權(quán)利要求21的方法,其特征在于,該媒體源根據(jù)對內(nèi)容供應(yīng)商的網(wǎng)頁傳送為賀卡背景的次數(shù),從內(nèi)容供應(yīng)商接收支付。
23.一種修改電腦的顯示屏幕上由應(yīng)用程序產(chǎn)生之影像的系統(tǒng),該電腦在具有圖形用戶界面的操作系統(tǒng)下運(yùn)行應(yīng)用程序,該系統(tǒng)包括一個媒體信號發(fā)生器,配置為在用戶的應(yīng)用程序顯示上產(chǎn)生多媒體生動形象,該媒體信號的內(nèi)容由用戶電腦上可用的可執(zhí)行代碼確定,所述形象是一個變化的影像,它以電腦用戶不可預(yù)測而且完全不受該用戶控制的方式,突然出現(xiàn)在屏幕上;以及把該形象引入用戶電腦顯示的裝置。
24.根據(jù)權(quán)利要求23的系統(tǒng),其特征在于,所述媒體信號配置為產(chǎn)生一個形象,它在電腦屏幕上平移。
25.根據(jù)權(quán)利要求23或24的系統(tǒng),其特征在于,操作系統(tǒng)在屏幕上產(chǎn)生多層視窗影像,所述媒體信號配置為使該形象處于應(yīng)用程序視窗的最上層,使得用戶不能把它移出屏幕或者利用其它對象覆蓋它。
26.根據(jù)權(quán)利要求23-25中任何一條的系統(tǒng),其特征在于,所述媒體信號配置為使該形象伴隨著同步的聲音。
27.根據(jù)權(quán)利要求23-26中任何一條的系統(tǒng),其特征在于,所述媒體信號配置為使該形象浮在由應(yīng)用程序在屏幕上產(chǎn)生的已有影像之上,并且該形象的一部分是透明的,使得已有影像的一部分得以透過該形象而可見。
28.根據(jù)權(quán)利要求23-27中任何一條的系統(tǒng),其特征在于,所述媒體信號根據(jù)一個數(shù)據(jù)庫中存放的信息而產(chǎn)生,以響應(yīng)從用戶電腦的信息交換。
29.根據(jù)權(quán)利要求28的系統(tǒng),其特征在于,該數(shù)據(jù)庫中存放的信息定義多個形象,該系統(tǒng)進(jìn)一步包括一個選擇器,響應(yīng)來自用戶電腦的、不受用戶控制的信息和用戶電腦中可用的技術(shù)特性,選擇這些形象之一對應(yīng)的媒體信號。
30.根據(jù)權(quán)利要求28或29的系統(tǒng),進(jìn)一步包括用戶的電腦和一個網(wǎng)絡(luò)之間的連接,一個形象控制服務(wù)器也連接到該網(wǎng)絡(luò),與用戶的電腦通信,該服務(wù)器可訪問數(shù)據(jù)庫,所述媒體信號發(fā)生器受到用戶的電腦和該服務(wù)器之間交互通信的控制。
31.根據(jù)權(quán)利要求30的系統(tǒng),其特征在于,該應(yīng)用程序是一個瀏覽器,而且媒體信號是與用戶電腦正在處理的HTML網(wǎng)頁一起,向用戶的電腦提供的。
32.根據(jù)權(quán)利要求31的系統(tǒng),進(jìn)一步包括連接著該網(wǎng)絡(luò)的、內(nèi)容供應(yīng)商的服務(wù)器,與用戶的電腦通信,正在瀏覽的HTML網(wǎng)頁是從內(nèi)容供應(yīng)商的服務(wù)器收到的,內(nèi)容供應(yīng)商把該形象引入作為網(wǎng)頁中保留的標(biāo)簽。
33.根據(jù)權(quán)利要求31的系統(tǒng),其特征在于,該發(fā)生器包括一個電腦程序,它是來自該應(yīng)用程序的安裝介質(zhì)之一和一個安裝文件中,與該應(yīng)用程序同時安裝在用戶的電腦上。
34.根據(jù)權(quán)利要求1至11中任何一條的方法,其特征在于,提供給電腦系統(tǒng)的可執(zhí)行代碼包括一種技術(shù)組合,它模擬使用Flash 4(和更高版本)的Internet Explorer 4(和更高版本)的操作,至少能實(shí)現(xiàn)聲音與視頻同步、形象的自由移動和使它成為任何外形的能力。
35.根據(jù)權(quán)利要求34的方法,其特征在于,技術(shù)組合包括下列之一帶有Flash v4.0或更新版本的Windows IE v4.0或更新版本;沒有Flash的Windows IE v4.0或更新版本;沒有Flash的Windows Netscape v4.1或更新版本;沒有Flash的Macintosh Netscapev 4.0或更新版本;帶有Flash v4.0或更新版本的Windows Netscape v4.1或更新版本;帶有Flash v4.0或更新版本的Macintosh Netscape v4.0或更新版本;帶有Flash v4.0或更新版本的Windows Netscape v6.0或更新版本;帶有Flash v4.0或更新版本的Macintosh Netscape v6.0或更新版本;以及帶有Flash v4.0或更新版本的Macintosh IE v5.0或更新版本。
36.根據(jù)權(quán)利要求12至22中任何一條的方法,其特征在于,控制信號包括一種技術(shù)組合,它模擬使用Flash 4(和更高版本)的Internet Explorer 4(和更高版本)的操作,至少能實(shí)現(xiàn)聲音與視頻同步、形象的自由移動和使它成為任何外形的能力。
37.根據(jù)權(quán)利要求36的方法,其特征在于,技術(shù)組合包括下列之一帶有Flash v4.0或更新版本的Windows IE v4.0或更新版本;沒有Flash的Windows IE v4.0或更新版本;沒有Flash的WindowsNetscapev4.1或更新版本;沒有Flash的MacintoshNetscapev4.0或更新版本;帶有Flash v4.0或更新版本的Windows Netscape v4.1或更新版本;帶有Flash v4.0或更新版本的Macintosh Netscape v4.0或更新版本;帶有Flash v4.0或更新版本的Windows Netscape v6.0或更新版本;帶有Flash v4.0或更新版本的Macintosh Netscape v6.0或更新版本;以及帶有Flash v4.0或更新版本的Macintosh IE v5.0或更新版本。
38.根據(jù)權(quán)利要求23至33中任何一條的系統(tǒng),其特征在于,可執(zhí)行代碼包括一種技術(shù)組合,它模擬使用Flash 4(和更高版本)的Internet Explorer 4(和更高版本)的操作,至少能實(shí)現(xiàn)聲音與視頻同步、形象的自由移動和使它成為任何外形的能力。
39.根據(jù)權(quán)利要求38的系統(tǒng),其特征在于,技術(shù)組合包括下列之一帶有Flash v4.0或更新版本的WindowsIEv4.0或更新版本;沒有Flash的Windows IE v4.0或更新版本;沒有Flash的Windows Netscapev4.1或更新版本;沒有Flash的Macintosh Netscapev4.0或更新版本;帶有Flash v4.0或更新版本的Windows Netscape v4.1或更新版本;帶有Flash v4.0或更新版本的Macintosh Netscape v4.0或更新版本;帶有Flash v4.0或更新版本的Windows Netscape v6.0或更新版本;帶有Flash v4.0或更新版本的Macintosh Netscape v6.0或更新版本;以及帶有Flash v4.0或更新版本的Macintosh IE v5.0或更新版本。
全文摘要
廣告是以生動的多媒體形象的形式出現(xiàn)在用戶監(jiān)視器(10)的電腦屏幕上,在這里將被稱為存放在Shoshkele網(wǎng)絡(luò)服務(wù)器(W)中的“Shoshkele
文檔編號G06Q30/00GK1473298SQ01818538
公開日2004年2月4日 申請日期2001年9月10日 優(yōu)先權(quán)日2000年9月8日
發(fā)明者迪格·達(dá)彥, 迪格 達(dá)彥, A 戈登, 艾貝爾·A·戈登, A 埃斯塔維茲, 喬治·A·埃斯塔維茲, 科 M 阿爾瓦雷茲, 費(fèi)德里科·M·阿爾瓦雷茲, S 安特爾, 伊凡·S·安特爾, S 特南鮑姆, 塞繆爾·S·特南鮑姆 申請人:聯(lián)合虛擬應(yīng)用公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
姜堰市| 天津市| 同仁县| 华坪县| 潜江市| 个旧市| 山阴县| 镇安县| 孝昌县| 邵东县| 屏山县| 马龙县| 会泽县| 长沙市| 宿州市| 乐安县| 牙克石市| 通州市| 定兴县| 子长县| 淄博市| 巴林左旗| 囊谦县| 呼和浩特市| 昭平县| 策勒县| 临泉县| 济南市| 治县。| 闽侯县| 饶河县| 吴忠市| 遵义市| 随州市| 长治市| 修文县| 邢台市| 盐池县| 惠州市| 綦江县| 阿克陶县|