專利名稱:用于驗證對等部件的系統(tǒng)和方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)管理,具體而言,本發(fā)明涉及驗證部件對象系統(tǒng)中的對等數(shù)據(jù)對象的系統(tǒng)和方法。
本發(fā)明的現(xiàn)有技術(shù)歷史上,軟件應(yīng)用正象倉庫一樣設(shè)計,而倉庫是出現(xiàn)準時制(JIT,just in time)制造之前,用來向工廠提供支持的。在準時制制造之前,倉庫里儲藏著每一種零部件,全然不考慮何時需要該零部件或是否需要該零部件。類似地,各種軟件應(yīng)用一直是利用儲存在某個軟件應(yīng)用中的大量的模塊構(gòu)建,而不考慮是否需要所有的模塊。在開發(fā)基于對象的解決方案時,一個技術(shù)問題是軟件代碼通常經(jīng)過編譯被鏈接到某個可執(zhí)行程序中。一旦該代碼處于可執(zhí)行狀態(tài),進一步把諸部件結(jié)合到該程序中就困難了。
但是,新的對象模型現(xiàn)在準備把數(shù)據(jù)對象結(jié)合到工作應(yīng)用中。例如,互聯(lián)網(wǎng)瀏覽器利用解釋環(huán)境,允許把各種各樣的數(shù)據(jù)對象,如Java小程序,動態(tài)地集成到互聯(lián)網(wǎng)瀏覽器中。
雖然根據(jù)現(xiàn)有的對象模型,數(shù)據(jù)對象包含某些單向保密特性,但是還沒有供數(shù)據(jù)對象驗證瀏覽器的身份和瀏覽器驗證數(shù)據(jù)對象的身份的途經(jīng)。至多把數(shù)據(jù)對象設(shè)計成帶簡單的保密計劃,瀏覽器可以按這個保密計劃決定是否信任該數(shù)據(jù)對象。如果該數(shù)據(jù)對象是可信任的,那么授權(quán)該數(shù)據(jù)對象訪問某些系統(tǒng)特性。反之,如果該數(shù)據(jù)對象是不可信任的,那么將限制該數(shù)據(jù)對象訪問系統(tǒng)特性。
此外,數(shù)據(jù)對象利用現(xiàn)有技術(shù)不能檢驗瀏覽器或其它可能已經(jīng)安裝在瀏覽器中的數(shù)據(jù)對象的身份。由于這種限制,安全的和受保護的數(shù)據(jù)對象不能得到發(fā)展,因為它們不能保證目標環(huán)境將認可并理解它們內(nèi)部的保密性。
所以,需要有一種系統(tǒng),這種系統(tǒng)能夠在每次使用數(shù)據(jù)對象時,都驗證該數(shù)據(jù)對象對其各個對等體的同一性。此外,該系統(tǒng)還應(yīng)當(dāng)能夠驗證各個對等體對該數(shù)據(jù)對象的同一性。在數(shù)據(jù)對象和對等數(shù)據(jù)對象被識別之后,該數(shù)據(jù)對象應(yīng)當(dāng)能夠動態(tài)地與各個對等數(shù)據(jù)對象連接。而且,如果該數(shù)據(jù)對象需要某個選定的對等數(shù)據(jù)對象,而在該系統(tǒng)上又找不到那個選定的對等數(shù)據(jù)對象,或者那個對等數(shù)據(jù)對象未能通過驗證,那么該系統(tǒng)應(yīng)當(dāng)能夠找到一個能通過驗證的對等數(shù)據(jù)對象。
本發(fā)明的一個實施方案包括在具有一個或多個對等數(shù)據(jù)對象的計算機中控制數(shù)據(jù)使用的方法,該方法包含提供一個數(shù)據(jù)對象,該數(shù)據(jù)對象包括對一個或多個對等數(shù)據(jù)對象的描述,確定這些對等數(shù)據(jù)對象是否被授權(quán)與該數(shù)據(jù)對象通信,確定該數(shù)據(jù)對象是否被授權(quán)與各個對等數(shù)據(jù)對象通信,以及根據(jù)被授權(quán)的權(quán)限把該數(shù)據(jù)對象與各個對等數(shù)據(jù)對象連接起來,以使該數(shù)據(jù)對象可以與各個對等數(shù)據(jù)對象通信,而且各個對等數(shù)據(jù)對象也可以與該數(shù)據(jù)對象通信。
本發(fā)明的另一個實施方案包括一種控制數(shù)據(jù)對象使用的系統(tǒng),該系統(tǒng)包含一個或多個對等數(shù)據(jù)對象,這些對等數(shù)據(jù)對象共同定義一個軟件應(yīng)用,一個能夠從數(shù)據(jù)對象中讀出對于使用該數(shù)據(jù)對象所必需的對一個或多個對等數(shù)據(jù)對象的描述的句法分析程序,一個能夠確定該數(shù)據(jù)對象是否被授權(quán)與一個或多個對等數(shù)據(jù)對象通信的確認數(shù)據(jù)對象模塊,一個能夠確定各個對等數(shù)據(jù)對象是否被授權(quán)與該數(shù)據(jù)對象通信的確認對等模塊,以及一個能夠控制對等數(shù)據(jù)對象與該數(shù)據(jù)對象的連接的接線模塊。
圖2是一個方框圖,圖解說明組成
圖1所示動畫系統(tǒng)的各個模塊。
圖3是一個方框圖,圖解說明圖1所示的數(shù)據(jù)對象的部件,該部件包括對象的數(shù)字標識符,對等表,簽名表,管理信息,一個或多個子部件和出口表。
圖4是一個方框圖,圖解說明圖3所示子部件之一的各個元素。
圖5是一個方框圖,圖解說明圖3所示出口表的各個元素。
圖6是一個方框圖,圖解說明包含在選定的圖3所示子部件中的接線數(shù)據(jù)字段。
圖7是一個方框圖,圖解說明可以包含在圖3所示子部件中的示范數(shù)據(jù)。
圖8是一個方框圖,圖解說明可以包含在圖3所示子部件中的示范代碼。
圖9是一個流程圖,圖解說明圖3所示數(shù)據(jù)對象的創(chuàng)建過程。
圖10是一個流程圖,圖解說明圖1所示的數(shù)據(jù)對象與對等數(shù)據(jù)對象的連接過程。
本發(fā)明實施方案的詳細敘述下面的詳細介紹目的在于說明本發(fā)明的某些特定實施方案。但是,本發(fā)明可以象權(quán)利要求書所定義和覆蓋的那樣,以很多不同的方式實現(xiàn)。系統(tǒng)綜述圖1是圖解說明本發(fā)明的動畫系統(tǒng)100的高級方框圖。動畫系統(tǒng)100能夠在一個安全的和受保護的環(huán)境中驗證數(shù)據(jù)對象112,并把它與一個或多個對等數(shù)據(jù)對象或部件118連接起來。在驗證和假設(shè)數(shù)據(jù)對象被授權(quán)與各個對等數(shù)據(jù)對象118通信之后,動畫系統(tǒng)100調(diào)整該數(shù)據(jù)對象112與各個對等數(shù)據(jù)對象118的連接。
如圖1所示,動畫系統(tǒng)100可以與一個或多個包含數(shù)據(jù)對象112的數(shù)據(jù)對象提供者107通信。典型的數(shù)據(jù)對象提供者可以是下列之一數(shù)據(jù)庫104,服務(wù)器計算機106,可拆裝媒體存儲器110,或硬件設(shè)備111。可拆裝媒體存儲器110可以是軟盤、光盤、硬盤、磁帶機、只讀存儲器(ROM)、或其它永久性存儲媒體。硬件設(shè)備111可以是邏輯芯片、只讀存儲器、隨機存儲器(RAM)、智能卡、或中央處理器。
在本發(fā)明的一個實施方案中,數(shù)據(jù)對象112可以被保存在Java檔案文件(JAR,Java Archive)中。Java檔案文件是一種與操作系統(tǒng)平臺無關(guān)的文件格式,它把許多文件集合到一個文件中。利用Java檔案文件的文件格式,多種Java小程序及其必不可少的部件可以被集合在一份單獨的文件中,借此便于在計算機之間傳遞這些小程序。關(guān)于Java檔案文件的補充資料可以在加利福尼亞州Mountainview的太陽微系統(tǒng)公司(Sun Microsystem,Inc)出版的Java檔案文件指南(http∥java.sun.com/products/jar/jarGuide.html)中找到,在此將其引入本文作為參考。在本發(fā)明的另一個實施方案中,數(shù)據(jù)對象112是硬件設(shè)備。
在此需要注意的是,每個對等數(shù)據(jù)對象118都是一個數(shù)據(jù)對象,文中用術(shù)語“對等”定義它僅僅是為了區(qū)分其角色。數(shù)據(jù)對象112和對等數(shù)據(jù)對象118的模式將在下面參照圖3予以闡明。
諸對等數(shù)據(jù)對象118可以一起或孤立地定義一個或多個軟件應(yīng)用。軟件應(yīng)用包括諸如字處理器,數(shù)據(jù)庫,個人理財實用程序,繪圖工具,互聯(lián)網(wǎng)瀏覽器,計算機游戲,通信程序,授權(quán)程序,電子錢包,多媒體著色程序(multi-media renderer),或合同管理器等。使用對等數(shù)據(jù)對象的過程將在下面參照圖10予以闡明。
在根據(jù)本發(fā)明的一個實施方案中,動畫系統(tǒng)100是駐留在客戶機102上的可執(zhí)行的計算機程序。該動畫系統(tǒng)100包括通常被分開編譯并鏈接到單一的可執(zhí)行程序上的各種模塊。這種動畫系統(tǒng)100的諸模塊下面將參照圖6予以介紹。
動畫系統(tǒng)100(圖1)可以用任何編程語言編寫,例如C,C++,BASIC,Pascal,Java,和FORTRAN。C,C++,BASIC,Pascal,Java,和FORTRAN是標準的工業(yè)編程語言,許多商用編譯程序和解釋程序可以用于這類語言以生成可執(zhí)行代碼。此外,動畫系統(tǒng)100可以與各種操作系統(tǒng)結(jié)合起來使用,例如UNIX,Solaris,磁盤操作系統(tǒng)(DOS),OS/2,Windows 3.X,Windows 95,Windows 98,Windows CE,Palm Pilot操作系統(tǒng),以及Windows NT。
客戶機102可以是任何使用一個或多個微處理器(例如Pentium處理器、PentiumⅡ處理器、Pentium Pro處理器、xx86處理器、8051處理器、MIPS處理器、Power PC處理器、或Alpha處理器)的常規(guī)的通用計算機。此外,客戶機102可以是專用計算機,例如手持計算機、電話、路由器、衛(wèi)星、智能卡、嵌入式計算設(shè)備、或計算設(shè)備網(wǎng)絡(luò)。
圖2是圖解說明動畫系統(tǒng)100(圖1)的諸部件的方框圖。動畫系統(tǒng)100包括用于讀數(shù)據(jù)對象112的句法分析程序150。該動畫系統(tǒng)100還包括確認模塊152。該確認模塊152包括兩個子部件,即確認數(shù)據(jù)對象模塊158和確認對等模塊160。對確認數(shù)據(jù)對象模塊158進行配置,以便在數(shù)據(jù)對象與對等數(shù)據(jù)對象118(圖1)連接之前,驗證該數(shù)據(jù)對象112(圖1)的完整性。確認對等模塊160被用于確認每個對等數(shù)據(jù)對象118的完整性。
動畫系統(tǒng)100還包括與確認模塊152通信的接線模塊154。接線模塊讀出數(shù)據(jù)對象112,以便確定哪些對等數(shù)據(jù)對象和/或硬件配置是正確操作該數(shù)據(jù)對象所必需的。該數(shù)據(jù)部件與對等數(shù)據(jù)部件的連接過程將在下面參照圖10予以闡明。
此外,動畫系統(tǒng)100包括事件管理器156。該事件管理器負責(zé)在數(shù)據(jù)對象112連接到對等數(shù)據(jù)對象118(圖1)上之前和之后,把諸事件發(fā)送給該數(shù)據(jù)對象112。
圖3是圖解說明數(shù)據(jù)對象112的組成部分的示意圖。數(shù)據(jù)對象112包括數(shù)字對象標識符200,它唯一地識別該數(shù)據(jù)對象。該數(shù)字對象標識符可以按照任何標準的或?qū)S械淖R別模式產(chǎn)生。關(guān)于示范的數(shù)字對象識別體系的補充資料在International Digital objectIdentifier Foundation出版的About DDI(關(guān)于數(shù)字對象標識符)&#60http∥www.doi.org/overview.html&#62中予以介紹,在此引入本文作為參考。
數(shù)據(jù)對象112還包括對等表202(圖3)。對等表202定義數(shù)據(jù)對象112進行適當(dāng)操作所需要的所有的對等數(shù)據(jù)對象,如圖1所示。在本發(fā)明的一個實施方案中,對等表202是對等表結(jié)構(gòu)(未示出)的鏈接表,其中每個對等表結(jié)構(gòu)代表一個對等數(shù)據(jù)對象118。每個對等表結(jié)構(gòu)都包含對等數(shù)據(jù)對象的名稱,與該對等數(shù)據(jù)對象相關(guān)的版本號,和位置標識符。如果數(shù)據(jù)對象沒有儲存在客戶機102上,位置標識符將指出可以重新找到對等數(shù)據(jù)對象的位置。在本發(fā)明的一個實施方案中,位置標識符是指出萬維網(wǎng)站點的通用資源定位符(URL)。另外,位置標識符可以識別數(shù)據(jù)庫104。
對等表202可以非必選地包括對解密數(shù)據(jù)對象(未示出)的描述,它負責(zé)對數(shù)據(jù)對象112的子部件內(nèi)容解密。
數(shù)據(jù)對象112還包括簽名表204(圖3)。簽名表204包含一個或多個數(shù)字簽名,這些簽名可被用于驗證在該簽名表204中簽名的一個或多個簽名人的身份。
數(shù)據(jù)對象112的每個數(shù)字簽名都是以該數(shù)據(jù)對象112的內(nèi)容和簽名人的個人密匙為基礎(chǔ)的。通過使用散列功能和利用個人密匙為該數(shù)據(jù)對象加密的個人簽名功能,可以生成每個數(shù)字簽名。每個數(shù)字簽名還包括可用于檢驗數(shù)據(jù)對象112的真實性的公用密匙。
在本發(fā)明的一個實施方案中,每個數(shù)字簽名都有相關(guān)的數(shù)字證書。數(shù)字證書由鑒證權(quán)威頒發(fā),該鑒證權(quán)威為接受者的身份提供擔(dān)保,該接受者由它用特定的密匙頒發(fā)數(shù)字證書。
當(dāng)公用的和個人的密匙對于數(shù)據(jù)對象112都有效時,公用密匙與某種鑒定證據(jù)一起被發(fā)送給鑒證代理。該鑒證代理檢驗該證明,然后把證實數(shù)據(jù)對象112提供者的名稱與公用密匙之間的聯(lián)系(binding)的證書與檢驗鑒證權(quán)威的公用密匙的證書體系結(jié)構(gòu)(即證書鏈)一起發(fā)送給該證書的請求者。為了證明數(shù)據(jù)對象112提供者的公用密匙的合法性,只要需要,該提供者隨時可以提交這種證書鏈。例如,關(guān)于數(shù)字簽名和數(shù)字證書的補充資料是由RSAData Security http∥www/rsa.com介紹的。
數(shù)據(jù)對象包括管理信息205。該管理信息205可以包括數(shù)據(jù)對象112的提供者的名稱,數(shù)據(jù)對象的名稱和/或數(shù)據(jù)對象112的提供者想要包括在內(nèi)的任何與該數(shù)據(jù)對象112有關(guān)的其它信息。
再者,數(shù)據(jù)對象112包括一個或多個子部件206。這些子部件包括數(shù)據(jù)對象112的內(nèi)容。對每種類型的子部件206的描述將在下面參照圖3闡明。
最后,數(shù)據(jù)對象112包括出口表210。該出口表210定義向?qū)Φ葦?shù)據(jù)對象118和動畫系統(tǒng)100輸出的程序。對等數(shù)據(jù)對象118使用被輸出的例行程序訪問與數(shù)據(jù)對象112相關(guān)的子部件206。對出口表210的描述下面將參照圖5進行闡明。
圖4是圖解說明每個子部件206(圖3)的諸要素的方框圖。每個子部件206包括名稱字段302,類型字段304,數(shù)據(jù)字段306,和簽名字段308。名稱字段302包含識別該子部件206的任意的字符串。子部件206的類型字段304包括對該子部件206的類型描述。
在根據(jù)本發(fā)明的一個實施方案中,每個子部件206都通過定義落在六種類型之一中,這六種類型是對等接線,動畫器接線,自接線,數(shù)據(jù),狀態(tài),和代碼。每個子部件206的類型決定在數(shù)據(jù)字段306中包括哪種類型的信息。為了便于描述,每種類型的子部件206都按照在類型字段304中定義的標識符來引用。例如,以自接線(self-wiring)標識的類型字段304的子部件被引用為自接線子部件。再比如,具有標以數(shù)據(jù)(data)的類型字段304的子部件被引用為數(shù)據(jù)子部件。
在本發(fā)明的一個實施方案中,對等接線子部件,動畫器接線子部件,和自接線子部件都是系列化的JavaBeans。關(guān)于JavaBeans的補充資料在Sun MicroSystems出版的JavaBeans API Specification(1.01版)中可以找到,在此引入本文作為參考。
每個對等接線子部件,即,在數(shù)據(jù)對象112中選定的子部件206,描述數(shù)據(jù)對象112中的狀態(tài)子部件和對等數(shù)據(jù)對象118(圖1)之一中的狀態(tài)子部件之間的連接。
每個動畫器接線子部件包括關(guān)于數(shù)據(jù)對象112中的狀態(tài)子部件怎樣與動畫系統(tǒng)100(圖1)連接的描述。仍然參照圖3,自接線部件包括關(guān)于在數(shù)據(jù)對象112內(nèi)兩個狀態(tài)子部件怎樣連接的描述。一旦數(shù)據(jù)對象112與對等數(shù)據(jù)對象118(圖1)連接起來,數(shù)據(jù)子部件,狀態(tài)子部件,和代碼子部件就被用于定義數(shù)據(jù)對象112的功能。
在根據(jù)本發(fā)明的一個實施方案中,數(shù)據(jù)子部件,狀態(tài)子部件和代碼子部件是利用Java編程語言實現(xiàn)的。在這個實施方案中,每個狀態(tài)子部件都是系列化的JavaBean。此外,每個代碼子部件都是一個Java類。但是請注意,在本發(fā)明的替代實施方案中,代碼部件也可以包括其它代碼類型,例如Visual Basic Script、JavaScript、或動態(tài)鏈接庫(DLL)。
最后,簽名字段308(圖3)定義一個或多個用于子部件206的數(shù)字簽名。在簽名字段308中的每個數(shù)字簽名都是一個與簽名表204(圖3)中提供的唯一標識符類似的適合每個子部件的唯一的標識符。
圖5圖解說明出口表210的程序。出口表210定義一系列從數(shù)據(jù)對象112輸出的程序。出口表210包括把簽名表204(圖3)提供給動畫系統(tǒng)100(圖1)的獲取信元簽名的程序(get-cell-signaturesprocedure)400。動畫系統(tǒng)100(圖1)將該簽名表204用于確定數(shù)字對象112的簽名人的身份。
出口表210進一步包括獲取數(shù)據(jù)對象標識程序(get-data-object-id procedure)402。在調(diào)用時,獲取數(shù)據(jù)對象標識程序把數(shù)字對象標識符200(圖3)提供給請求者,例如動畫系統(tǒng)100或?qū)Φ葦?shù)據(jù)對象118。參照圖1和圖3,動畫系統(tǒng)100可以將該對象標識符200用于確定數(shù)據(jù)對象112是否應(yīng)當(dāng)與對等數(shù)據(jù)對象118連接。
如圖5所示,出口表210還包括獲取入口表程序(get-list-of-entries procedure)404。獲取入口表程序404把在每個子部件206(圖3)中的名稱字段302(圖4)中識別的一系列名稱提供給動畫系統(tǒng)100(圖1)。
此外,出口表210還包括獲取簽名證書程序(get-signing-certificate procedure)406。利用獲取簽名證書程序406,任何經(jīng)由動畫系統(tǒng)100的對等數(shù)據(jù)對象118都可以獲得與位于數(shù)據(jù)對象112(圖1)中的一個或多個數(shù)字簽名相關(guān)的數(shù)字證書。
出口表210還包括獲取入口名稱程序(get-entry-nameprocedure)408。獲取入口名稱程序408把選定的子部件206(圖3)之一的句柄提供給請求者。請注意,在請求者可以請求子部件206之一的句柄之前,所選子部件應(yīng)當(dāng)通過動畫系統(tǒng)100與該請求者接線。
出口表210還包括獲取對等表的程序412(get-peer-listprocedure)。獲取對等表程序412把對等表202(圖3)提供給動畫系統(tǒng)100(圖1)。動畫系統(tǒng)100把該對等表202用于確定每個數(shù)據(jù)對象112可能需要的每個對等數(shù)據(jù)對象118是否包含在客戶機102內(nèi)。
此外,出口表210還定義獲取驗證者程序(get-authenticatorprocedure)414。獲取驗證者程序414提供驗證系統(tǒng)(未示出)的名稱,該驗證系統(tǒng)可為數(shù)據(jù)對象112允許自身連接到對等數(shù)據(jù)對象118(圖1)提供必要條件。在根據(jù)本發(fā)明的一個實施方案中,該驗證系統(tǒng)是數(shù)據(jù)對象112中的子部件之一。在本發(fā)明的另一個實施方案中,驗證系統(tǒng)是動畫系統(tǒng)100中的一個部件。在根據(jù)本發(fā)明的又一個實施方案中,該驗證系統(tǒng)被包含在一個對等數(shù)據(jù)對象118之中。
在驗證系統(tǒng)允許數(shù)據(jù)對象112連接到某個目標數(shù)據(jù)對象(例如對等數(shù)據(jù)對象118之一)之前,它先考核許多任意定義的與該數(shù)據(jù)對象112有關(guān)的條件。在根據(jù)本發(fā)明的一個實施方案中,驗證系統(tǒng)考核簽名表204中的簽名和在子部件206中的每個簽名字段308以檢驗?zāi)繕藬?shù)據(jù)對象的身份。一旦請求者(例如對等數(shù)據(jù)對象206之一)的身份被確定,該驗證系統(tǒng)將確定是否應(yīng)當(dāng)允許該請求者與數(shù)據(jù)對象112連接。
最后,出口表210包括激活對象程序418(activate-objectprocedure)。在動畫系統(tǒng)100把數(shù)據(jù)對象112與對等數(shù)據(jù)對象118連接起來之后,該激活對象程序418被動畫系統(tǒng)100(圖1)用于激活數(shù)據(jù)對象112。
圖6圖解說明在接線數(shù)據(jù)字段中的要素。接線數(shù)據(jù)字段描述用于對等接線子部件,動畫器接線子部件和自接線子部件的數(shù)據(jù)字段306(圖4)的內(nèi)容。與這些接線子部件相關(guān)的每個數(shù)據(jù)字段306(圖4)描述兩個狀態(tài)子部件怎樣相互連接。數(shù)據(jù)字段定義監(jiān)聽器500,源502,相加方法504,移動方法506,和源指示器508。
監(jiān)聽器500包含監(jiān)聽器標識符,該標識符用于識別負責(zé)監(jiān)聽事件的諸子部件206中的一個子部件。作為監(jiān)聽器500的相對物,源502包含源標識符,該標識符用于識別諸子部件206中對發(fā)送事件負責(zé)的子部件。
相加方法504確定在源部件上啟動監(jiān)聽器部件來接收事件的方法。移動方法506確定在可調(diào)用的源部件上停止監(jiān)聽器子部件監(jiān)聽諸事件的方法。源標識符確定由監(jiān)聽器500和源502識別的事件的方向。關(guān)于在Java實施方案中連接諸子部件的補充資料可以在Sun Microsystems出版的Javabeans API Specification,1.01版第54至58頁中找到。
圖7是一個方框圖,它圖解說明可包含在數(shù)據(jù)子部件的數(shù)據(jù)字段306中的示范內(nèi)容的數(shù)據(jù)項510。請注意,數(shù)據(jù)可以包括諸如書,詩,論文,銀行科目資料,合同,多媒體演示,或者數(shù)據(jù)內(nèi)容提供者希望在安全環(huán)境中得到保護的任何其它類型的數(shù)據(jù)。
圖8是一個方框圖,它圖解說明可包含在代碼子部件的數(shù)據(jù)字段306(圖4)中的代碼的示范項512。每個代碼子部件通常包括用戶定義的各種組合數(shù)據(jù)類型。例如,代碼子部件可包含代表數(shù)據(jù)類型的數(shù)據(jù)成員和實現(xiàn)關(guān)于該數(shù)據(jù)類型的運算的函數(shù)成員。如圖8所示,在該示例中,代碼子部件包含Java類。
每個狀態(tài)子部件定義類子部件之一的實例信息。例如,圖8所示的Java類的實例可以包括關(guān)于變量“count”的狀態(tài)的信息。系統(tǒng)操作圖9是一個流程圖,圖解說明圖1所示數(shù)據(jù)對象112的生成過程。請注意,數(shù)據(jù)對象112可以利用任何已知的對象模型(如JavaBeans,ActiveX,LiveConnect,和OpenDoc)或系統(tǒng)對象模型(SOM)或今后可能開發(fā)的任何對象模型來生成。在根據(jù)本發(fā)明的一個實施方案中,數(shù)據(jù)對象112是在服務(wù)器計算機106上借助數(shù)據(jù)對象包裝程序(未示出)生成的。在該實施方案中,圖9所示的每個狀態(tài)都對應(yīng)于數(shù)據(jù)對象包裝程序的一種公用方法。希望生成數(shù)據(jù)對象的數(shù)據(jù)對象提供者依次調(diào)用數(shù)據(jù)對象包裝程序的每種方法以生成數(shù)據(jù)對象。請注意,在本發(fā)明的一個實施方案中,數(shù)據(jù)對象112是由動畫系統(tǒng)100生成的。
從狀態(tài)604開始,內(nèi)容提供者希望把某些類型的信息分配給其他人。例如,所述信息可以包括書,詩,論文,銀行科目資料,合同,多媒體演示,錄象,音樂,動態(tài)內(nèi)容,例如流式(streaming)媒體的通用資源標識符,或數(shù)據(jù)內(nèi)容提供者希望在安全環(huán)境內(nèi)受到保護的任何其它類型的數(shù)據(jù)。
在狀態(tài)604,用于唯一地識別數(shù)據(jù)對象112的數(shù)字對象標識符200被加到數(shù)據(jù)對象112上。在根據(jù)本發(fā)明的一個實施方案中,數(shù)據(jù)對象標識符是由動畫系統(tǒng)100提供的。在根據(jù)本發(fā)明的另一個實施方案中,數(shù)據(jù)對象標識符是從第三方獲得的。
繼續(xù)到狀態(tài)608,管理信息205(圖3)被加到數(shù)據(jù)對象112(圖1)上。該管理信息205可以包括數(shù)據(jù)對象112的提供者的名稱,數(shù)據(jù)對象的名稱,和/或數(shù)據(jù)對象112的提供者想要包括的與數(shù)據(jù)對象112有關(guān)的其它信息。
接下來在狀態(tài)612,子部件206(圖3)被加到數(shù)據(jù)對象112上。子部件包括動畫器接線子部件,自接線子部件,對等接線子部件,數(shù)據(jù)子部件,和代碼子部件。上述每個子部件的目的在前面參照圖4已進行過描述。
進行到狀態(tài)614,共同組成對等表204(圖3)的對等表結(jié)構(gòu)被加到數(shù)據(jù)對象112(圖1)上。每個對等表結(jié)構(gòu)接收一個選定的對等數(shù)據(jù)對象118(圖1)的名稱,該選定的對等數(shù)據(jù)對象的版本號,以及如果在客戶機102(圖1)中找不到所選對等數(shù)據(jù)對象時,可以確定該所選對等數(shù)據(jù)對象在哪里的位置標識符。
繼續(xù)到狀態(tài)618,由一個或多個簽名人給每個子部件206(圖3)數(shù)字簽名。每個數(shù)字簽名都可以通過使用散列功能和私有簽名功能生成,該方法利用個人密匙對數(shù)據(jù)對象的最終散列進行加密。
接下來,在狀態(tài)622,由一個或多個簽名人給數(shù)據(jù)對象112數(shù)字簽名。可以采用參照狀態(tài)618介紹的給每個子部件簽名的方法給數(shù)據(jù)對象112簽名。在根據(jù)本發(fā)明的一個實施方案中,可以把位于美國加州的San Mateo市的RSA Data Security公司的CertificateSecurity Suite用于該簽名過程。
最后,在狀態(tài)626中,數(shù)據(jù)對象112被儲存在數(shù)據(jù)存儲設(shè)備(如磁盤)中。在根據(jù)本發(fā)明的一個實施方案中,利用Java串行化將數(shù)據(jù)對象112串行化,并作為一份Java文件儲存。在根據(jù)本發(fā)明另一個實施方案中,數(shù)據(jù)對象112是作為ASSII文本文件儲存的。
圖10是一個流程圖,它圖解說明數(shù)據(jù)對象112(圖1)與對等數(shù)據(jù)對象118(圖1)集合成一個整體的過程。從狀態(tài)700開始,客戶機102(圖1)接收來自數(shù)據(jù)對象提供者的數(shù)據(jù)對象112。舉例說,數(shù)據(jù)對象提供者可以是數(shù)據(jù)庫104、服務(wù)器計算機110、或圖1所示的可拆裝存儲媒體110。
在本發(fā)明的一個實施方案中,在客戶機102收到數(shù)據(jù)對象112之后,動畫系統(tǒng)100(圖1)將自動得到由該客戶機102上操作系統(tǒng)(未示出)提供的關(guān)于存在數(shù)據(jù)對象112的通知。在該實施方案中,操作系統(tǒng)的配置是為了考核數(shù)據(jù)對象112中的管理信息205(圖3),以確定一個用于該數(shù)據(jù)對象的信息處理器。在這個實施方案中,管理信息205進一步指定動畫系統(tǒng)100作為它的信息處理器。
請注意,一旦數(shù)據(jù)對象112被客戶機(圖1)接收,該數(shù)據(jù)對象112就處于不可被對等數(shù)據(jù)對象118使用的狀態(tài)。在數(shù)據(jù)對象112可以與對等數(shù)據(jù)對象118連接之前,每個對等數(shù)據(jù)對象118的身份都需要被確定。此外,動畫系統(tǒng)100還需要確定對等數(shù)據(jù)對象118是否被授權(quán)與數(shù)據(jù)對象112通信。
接下來,在狀態(tài)704(圖10),動畫系統(tǒng)100(圖1)驗證該數(shù)據(jù)對象以保證該數(shù)據(jù)對象112沒有被不適當(dāng)?shù)馗膭踊蛞云渌绞酱鄹?。動畫系統(tǒng)100利用可以從數(shù)據(jù)對象112的提供者那里得到的公用密匙檢查簽名表204(圖3)中的每個簽名。此外,動畫系統(tǒng)100還可以使用獲取簽名證書程序406(圖5)分析一個或多個與數(shù)據(jù)對象112相關(guān)的數(shù)字證書。
進行到狀態(tài)708(圖10),動畫系統(tǒng)100(圖1)使用獲取對等表程序412(圖5)來獲得對等表202(圖3)。繼續(xù)到狀態(tài)712(圖10),動畫系統(tǒng)100(圖1)確定所有通過對等表202識別的必需的對等數(shù)據(jù)對象118是否都在客戶機102中存在。如果所有的對等數(shù)據(jù)對象118都不存在,動畫系統(tǒng)100轉(zhuǎn)入狀態(tài)714。在狀態(tài)714,動畫系統(tǒng)100重新找回不存在的對等數(shù)據(jù)對象118。正象前面討論過的那樣,對等表202中的每個對等表結(jié)構(gòu)都包括可以發(fā)現(xiàn)每個不存在的對等數(shù)據(jù)對象118在哪里的位置標識符。例如,位置標識符可以指向數(shù)據(jù)庫104(圖1)、服務(wù)器計算機106(圖1)、可拆裝的存儲媒體110(圖1),或來自數(shù)據(jù)對象的某個其它存放處。
如果動畫系統(tǒng)100(圖1)找不到任何不存在的對等數(shù)據(jù)對象118,該動畫系統(tǒng)100停止,并禁止與使用數(shù)據(jù)對象112(圖1)有關(guān)的任何進一步的操作。但是,如果動畫系統(tǒng)100可以找到不存在的對等數(shù)據(jù)對象118,那么該動畫系統(tǒng)110轉(zhuǎn)入狀態(tài)716。
動畫系統(tǒng)110既可以從判斷狀態(tài)712轉(zhuǎn)入狀態(tài)716,也可以從狀態(tài)714轉(zhuǎn)入狀態(tài)716。在狀態(tài)716,動畫系統(tǒng)100制作每個對等數(shù)據(jù)對象118(圖1)的動畫。為了制作對等數(shù)據(jù)對象118的動畫,動畫系統(tǒng)100執(zhí)行與對等數(shù)據(jù)對象118有關(guān)的700-730(圖10)的每一個狀態(tài)。通過執(zhí)行關(guān)于每個對等數(shù)據(jù)對象118的動畫制作過程,動畫系統(tǒng)100保證這些對等數(shù)據(jù)對象118沒有被不適當(dāng)?shù)馗膭踊蛞云渌绞酱鄹摹?br>
接下來,在狀態(tài)720(圖10),動畫系統(tǒng)100(圖1)完成數(shù)據(jù)對象112與自身的接線。在狀態(tài)720,動畫系統(tǒng)100把在數(shù)據(jù)對象112中選定的子部件206連接到動畫系統(tǒng)100上。在本發(fā)明的一個實施方案中,動畫系統(tǒng)100包括格式與數(shù)據(jù)對象112類似,用于與數(shù)據(jù)對象112通信的連接數(shù)據(jù)對象(未示出)。
在狀態(tài)720中,動畫系統(tǒng)100讀出在每個子部件206的接線數(shù)據(jù)字段(如圖6所示)中的數(shù)據(jù),即監(jiān)聽器字段500,源字段502,相加方法字段504,移動方法字段506,和源指示器字段508中的數(shù)據(jù),以便為數(shù)據(jù)對象112確定適當(dāng)?shù)倪B接。關(guān)于連接子部件的補充資料可在Sun Microsystems出版的Javabeans API Specification,1.01版的第54至58頁中找到。
作為動畫器接線過程的一部分,動畫系統(tǒng)100(圖1)調(diào)用與數(shù)據(jù)對象112相關(guān)的獲取驗證者程序414(圖5),以便找回適合數(shù)據(jù)對象112的驗證系統(tǒng)(未示出)。正象前面討論過的那樣,該驗證系統(tǒng)可以駐留在一個或多個地方,包括數(shù)據(jù)對象112、動畫系統(tǒng)100、或諸對等數(shù)據(jù)對象之一。該驗證系統(tǒng)為動畫系統(tǒng)100檢驗給定的連接是否應(yīng)當(dāng)進行。
繼續(xù)到狀態(tài)722,動畫系統(tǒng)100(圖1)把數(shù)據(jù)對象112中的各個子部件206相互連接起來。與動畫器接線過程相似,在自接線過程中動畫系統(tǒng)100考核每個自接線子部件中的接線數(shù)據(jù)字段,以便確定數(shù)據(jù)對象112將怎樣構(gòu)成。在識別對等接線子部件時,動畫系統(tǒng)100考核對等接線部件的內(nèi)容以確定適當(dāng)?shù)倪B接。
類似于動畫器接線過程,在自接線過程中,動畫系統(tǒng)100(圖1)與驗證系統(tǒng)協(xié)商,以確定某種連接是否應(yīng)當(dāng)完成。例如,數(shù)據(jù)對象112可能包含指明第一子部件應(yīng)當(dāng)連接到第二子部件上的自接線子部件。但是,只要該數(shù)據(jù)對象的提供者在驗證系統(tǒng)保持的虛擬帳戶中存有資金,驗證系統(tǒng)就只能允許進行該連接。
進行到狀態(tài)726,動畫系統(tǒng)100(圖1)執(zhí)行對等接線。動畫系統(tǒng)100搜索子部件206以便找到各個對等接線子部件。在對等接線過程中,動畫系統(tǒng)100使用接線數(shù)據(jù)字段中的信息,把由各個接線子部件識別的子部件206連接起來。
在這個對等接線過程中,動畫系統(tǒng)100(圖1)確定數(shù)據(jù)對象112是否被授權(quán)與各個對等數(shù)據(jù)對象118通信。有利的是每個對等數(shù)據(jù)對象118和數(shù)據(jù)對象112都可以借助驗證系統(tǒng)定義與它們的使用有關(guān)的各種各樣的限制。正象前面討論過的那樣,每個對等數(shù)據(jù)對象都包括為數(shù)據(jù)對象識別驗證系統(tǒng)的獲取驗證者程序414(圖5)。該驗證系統(tǒng)定義關(guān)于該數(shù)據(jù)對象的使用條件。
例如,假設(shè)根據(jù)數(shù)據(jù)對象112中的管理信息205(圖3),數(shù)據(jù)對象112(圖1)表明是一個兒童卡通動畫。但是,事實上數(shù)據(jù)對象112已經(jīng)被篡改并且已被不適當(dāng)?shù)匦薷?,以致可以找出來自別人的個人信息。在這個實例中,由于數(shù)據(jù)對象112已被更改,所以動畫系統(tǒng)100不能檢驗在該數(shù)據(jù)對象112的簽名表204(圖3)中的簽名。此外,在這個實例中,對等數(shù)據(jù)對象118定義個人理財程序(未示出)。如果數(shù)據(jù)對象112試圖訪問該個人理財程序,那么動畫系統(tǒng)100將用對等數(shù)據(jù)對象118進行檢驗,以確定該數(shù)據(jù)對象112是否應(yīng)該被授權(quán)訪問對等數(shù)據(jù)對象118。在這個實例中,對等數(shù)據(jù)對象118的驗證系統(tǒng)將拒絕該請求。
因此,如果動畫系統(tǒng)100(圖1)確定數(shù)據(jù)對象112未授權(quán)訪問對等數(shù)據(jù)對象118,那么該動畫系統(tǒng)100將決定究竟是停止還是繼續(xù)進行有關(guān)數(shù)據(jù)對象112的活動。仍然回到狀態(tài)726,如果動畫系統(tǒng)100確定授權(quán)得到允許,那么該動畫系統(tǒng)100將借助訪問與每個對等數(shù)據(jù)對象118相關(guān)的驗證系統(tǒng),確定對等數(shù)據(jù)對象118是否被授權(quán)訪問數(shù)據(jù)對象112。
例如,假設(shè)數(shù)據(jù)對象112是由ACME公司(“ACME”)生成的。在這個實例中,數(shù)據(jù)對象112把一份描述ACME公司策略的文件包括在子部件206之一中。此外,在這個實例中,這些對等數(shù)據(jù)對象118定義一個文字處理系統(tǒng),并且有一個對等數(shù)據(jù)對象118負責(zé)編輯各種文件,而另一個對等數(shù)據(jù)對象118負責(zé)瀏覽各種文件。在數(shù)據(jù)對象112中,一個子部件206指示只有系統(tǒng)管理員被授權(quán)編輯數(shù)據(jù)對象112。如果數(shù)據(jù)對象112被分配給某個雇員,ACME可以調(diào)整數(shù)據(jù)對象112,以使數(shù)據(jù)對象112不被授權(quán)與負責(zé)編輯的對等數(shù)據(jù)對象連接。在這個實例中,數(shù)據(jù)對象112將被配置成只被授權(quán)與負責(zé)瀏覽的數(shù)據(jù)對象通信。
最后,在狀態(tài)730,動畫系統(tǒng)100(圖1)通過調(diào)用與數(shù)據(jù)對象112有關(guān)的激活對象程序418(圖5)將數(shù)據(jù)對象112初始化。
本發(fā)明的動畫系統(tǒng)100使在安全環(huán)境中動態(tài)連接數(shù)據(jù)部件成為可能。動畫系統(tǒng)100保證在數(shù)據(jù)對象112與對等數(shù)據(jù)對象118之一連接之前,該對等數(shù)據(jù)對象不曾被不適當(dāng)?shù)馗膭?。此外,根?jù)本發(fā)明的動畫系統(tǒng)100包括雙向保密計劃,在該計劃中,數(shù)據(jù)對象依據(jù)對等數(shù)據(jù)對象的身份授權(quán)該對等數(shù)據(jù)對象與該數(shù)據(jù)對象通信。相反,每個對等數(shù)據(jù)對象檢驗該數(shù)據(jù)對象的內(nèi)容。每個對等數(shù)據(jù)對象可以依據(jù)數(shù)據(jù)對象的身份確定是否允許該數(shù)據(jù)對象與自身通信。
本發(fā)明的數(shù)據(jù)對象可以方便的用于定義各種電子商務(wù)管理的解決方案。例如,利用本發(fā)明,對等數(shù)據(jù)對象之一可以充當(dāng)“受管理的”數(shù)據(jù)對象的合同管理器。在利用受管理的數(shù)據(jù)對象完成某項活動之前,該合同管理器可以要求用戶付款。合同管理器可以非必選地提供“合同”數(shù)據(jù)對象,該數(shù)據(jù)對象規(guī)定受管理的數(shù)據(jù)對象的使用條款。合同數(shù)據(jù)對象可以包含每次另一個數(shù)據(jù)對象請求由受管理的數(shù)據(jù)對象參與某種活動所欠下的虛擬錢幣。此外,合同對象可以安排與受管理的數(shù)據(jù)對象有關(guān)的可改變的限制,例如,定義在某個特定的時間或某個特定的使用次數(shù)里,對受管理的數(shù)據(jù)對象的訪問。這種可改變的限制可取決于一種或多種可供其它數(shù)據(jù)對象選擇的付款計劃。
再比如,本發(fā)明的數(shù)據(jù)對象可以方便的用于于定義買方數(shù)據(jù)對象。買方數(shù)據(jù)對象可以帶著某種虛擬錢幣分布在互聯(lián)網(wǎng)上,并為尋找特定商品的最便宜的賣方而進行配置。例如,買方數(shù)據(jù)對象可以通過銀行提供數(shù)字簽名證實該數(shù)據(jù)對象具備有效的虛擬錢幣。
再比如,可以為了銷售某種特定的商品提供一個或多個賣方數(shù)據(jù)對象。在本發(fā)明的一個實施方案中,當(dāng)買方數(shù)據(jù)對象遇到賣方數(shù)據(jù)對象時,買方數(shù)據(jù)對象可以試圖通知賣方數(shù)據(jù)對象的提供者。在本發(fā)明的另一個實施方案中,買方數(shù)據(jù)對象可配置成可與賣方數(shù)據(jù)對象協(xié)商。有利的是,通過使用數(shù)字簽名和證書,買方數(shù)據(jù)對象可以驗證賣方數(shù)據(jù)對象的身份并證實該賣方確實在銷售所請求的商品。此外,賣方代理可以確定買方數(shù)據(jù)對象確實具有為購買賣方的商品準備的虛擬錢幣。
上述實例只是本發(fā)明的幾個應(yīng)用。本發(fā)明的動畫系統(tǒng)為新的電子商務(wù)解決辦法提供了無限的新的可能性。
盡管前面的詳細介紹已經(jīng)展示,介紹,并指出了本發(fā)明在應(yīng)用于各種實施方案時的種種新穎的特性,但是,應(yīng)當(dāng)理解,熟悉這項技術(shù)的人在不脫離本發(fā)明的精神的情況下,可對圖解說明的設(shè)備和過程的形式和細節(jié)作出各種省略,代用,和改變。本發(fā)明的范圍由所附權(quán)利要求書限定而不受前面的介紹所限定。所有在權(quán)利要求書的等價意義上和范圍內(nèi)的改變都被包括在權(quán)利要求書的范圍內(nèi)。
權(quán)利要求
1.一種控制在一個或多個數(shù)據(jù)對象的計算機中使用數(shù)據(jù)的方法,其特征在于所述方法包括提供一個數(shù)據(jù)對象,該數(shù)據(jù)對象包括對一個或多個對等數(shù)據(jù)對象的描述;確定這些對等數(shù)據(jù)對象是否被授權(quán)與該數(shù)據(jù)對象通信;確定該數(shù)據(jù)對象是否授權(quán)與這些對等數(shù)據(jù)對象通信;以及根據(jù)這樣授權(quán)的權(quán)限,把該數(shù)據(jù)對象與那些對等數(shù)據(jù)對象連接起來,以使該數(shù)據(jù)對象可以與那些對等數(shù)據(jù)對象通信,而那些對等數(shù)據(jù)對象也可以與該數(shù)據(jù)對象通信。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于進一步包括驗證該數(shù)據(jù)對象的身份。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于進一步包括驗證每個對等數(shù)據(jù)對象的身份。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于進一步包括確定所述對等數(shù)據(jù)對象的存在;以及接收在該計算機中不存在的任何對等數(shù)據(jù)對象。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于所述數(shù)據(jù)對象包括一個或多個子部件,該子部件規(guī)定該數(shù)據(jù)對象與那些對等數(shù)據(jù)對象共同使用。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于所述這些對等數(shù)據(jù)對象共同規(guī)定一個軟件應(yīng)用程序。
7.根據(jù)權(quán)利要求6所述的方法,其特征在于所述軟件應(yīng)用程序是互聯(lián)網(wǎng)瀏覽器。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于所述軟件應(yīng)用是在線虛擬存儲器。
9.根據(jù)權(quán)利要求1所述的方法,其特征在于所述對等數(shù)據(jù)對象之一是硬件設(shè)備。
10.根據(jù)權(quán)利要求1所述的方法,其中所述數(shù)據(jù)對象是加密的。
11.根據(jù)權(quán)利要求1所述的方法,其特征在于確定所述對等數(shù)據(jù)對象是否被授權(quán)與所述數(shù)據(jù)對象通信包括在每個對等數(shù)據(jù)對象中檢驗至少一個數(shù)字簽名。
12.根據(jù)權(quán)利要求1所述的方法,其特征在于確定所述數(shù)據(jù)對象是否被授權(quán)與所述對等數(shù)據(jù)對象通信包括在該數(shù)據(jù)對象中檢驗至少一個數(shù)字簽名。
13.根據(jù)權(quán)利要求1所述的方法,其特征在于所述數(shù)據(jù)對象具有至少一個子部件,該子部件具有一個相關(guān)的數(shù)字簽名,并且確定該數(shù)據(jù)對象是否被授權(quán)與對等數(shù)據(jù)對象通信包括檢驗與每個子部件相關(guān)的數(shù)字簽名。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于所述子部件包含數(shù)據(jù),并且所述數(shù)字簽名是利用簽名人的個人密匙在數(shù)字簽名中為該子部件中的數(shù)據(jù)內(nèi)容的散列進行數(shù)字加密的。
15.根據(jù)權(quán)利要求1所述的方法,其特征在于進一步包括檢驗所述數(shù)據(jù)對象的身份。
16.根據(jù)權(quán)利要求1所述的方法,其特征在于每個所述對等數(shù)據(jù)對象都是數(shù)據(jù)對象。
17.一種控制數(shù)據(jù)對象使用的系統(tǒng),其特征在于所述系統(tǒng)包括一個或多個對等數(shù)據(jù)對象,所述對等數(shù)據(jù)對象共同定義一軟件應(yīng)用程序;一個能從所述數(shù)據(jù)對象中讀出對使用該數(shù)據(jù)對象必需的所述一個或多個對等數(shù)據(jù)對象的描述的句法分析程序;一個能確定所述數(shù)據(jù)對象是否被授權(quán)與所述一個或多個對等數(shù)據(jù)對象通信的確認數(shù)據(jù)對象模塊;一個能確定所述對等數(shù)據(jù)對象是否被授權(quán)該數(shù)據(jù)對象通信的確認對等模塊;以及一個能夠控制所述對等數(shù)據(jù)對象與所述數(shù)據(jù)對象的連接的接線模塊。
18.根據(jù)權(quán)利要求17所述的系統(tǒng),其特征在于進一步包括能夠檢驗所述數(shù)據(jù)對象的身份的確認模塊。
19.根據(jù)權(quán)利要求17所述的系統(tǒng),其特征在于進一步包括能夠檢驗所述對等數(shù)據(jù)對象的身份的確認模塊。
20.一種為了被動態(tài)地連接到一個或多個對等數(shù)據(jù)對象上而配置的數(shù)據(jù)對象,其特征在于所述數(shù)據(jù)對象包括對所述一個或多個對等數(shù)據(jù)對象的描述,所述這些對等數(shù)據(jù)對象在所述數(shù)據(jù)對象能被訪問之前必需被連接到所述數(shù)據(jù)對象上;以及至少一個識別數(shù)據(jù)對象提供者的數(shù)字簽名。
21.根據(jù)權(quán)利要求20所述的數(shù)據(jù)對象,其特征在于進一步包括一個識別驗證系統(tǒng)的驗證標識符,其中所述驗證系統(tǒng)包括與該數(shù)據(jù)對象有關(guān)的一個或多個使用條件。
22.根據(jù)權(quán)利要求20所述的數(shù)據(jù)對象,其特征在于所述數(shù)字簽名是由銀行簽字的,并且所述數(shù)據(jù)對象包含虛擬貨幣。
23.一種控制在具有一個或多個對等數(shù)據(jù)對象的計算機中使用數(shù)據(jù)的系統(tǒng),其特征在于所述系統(tǒng)包括用于讀數(shù)據(jù)對象的裝置,所述數(shù)據(jù)對象包括對所述一個或多個對等數(shù)據(jù)對象的描述并且被配置成不可由對等數(shù)據(jù)對象使用的狀態(tài);用于確定所述對等數(shù)據(jù)對象是否被授權(quán)與所述數(shù)據(jù)對象通信的裝置;用于確定所述數(shù)據(jù)對象是否被授權(quán)與所述對等數(shù)據(jù)對象通信的裝置;用于把所述數(shù)據(jù)對象轉(zhuǎn)換成可由所述對等數(shù)據(jù)對象使用的狀態(tài)的裝置;以及用于把所述數(shù)據(jù)對象連接到所述對等數(shù)據(jù)對象上,以使該數(shù)據(jù)對象可與所述對等數(shù)據(jù)對象通信,而所述對等數(shù)據(jù)對象也可以與該數(shù)據(jù)對象通信的裝置。
24.根據(jù)權(quán)利要求23所述的系統(tǒng),其特征在于進一步包括用于驗證所述數(shù)據(jù)對象的身份的裝置。
25.根據(jù)權(quán)利要求23所述的系統(tǒng),其特征在于進一步包括用于驗證每個對等數(shù)據(jù)對象的身份的裝置。
26.根據(jù)權(quán)利要求23所述的系統(tǒng),進一步包括用于確定所述對等數(shù)據(jù)對象是否存在的裝置;以及用于找回任何在計算機中不存在的對等數(shù)據(jù)對象的裝置。
27.根據(jù)權(quán)利要求23所述的系統(tǒng),其特征在于所述數(shù)據(jù)對象包括一個或多個子部件。
28.根據(jù)權(quán)利要求23所述的系統(tǒng),其特征在于所述對等數(shù)據(jù)對象共同定義軟件應(yīng)用程序。
29.根據(jù)權(quán)利要求28所述的系統(tǒng),其特征在于所述軟件應(yīng)用程序是互聯(lián)網(wǎng)瀏覽器。
30.根據(jù)權(quán)利要求28所述的系統(tǒng),其特征在于所述軟件應(yīng)用程序是在線虛擬存儲器。
31.根據(jù)權(quán)利要求23所述的系統(tǒng),其特征在于所述對等數(shù)據(jù)對象之一是硬件裝置。
32.根據(jù)權(quán)利要求23所述的系統(tǒng),其特征在于所述數(shù)據(jù)對象是加密的。
全文摘要
本發(fā)明提供一種系統(tǒng)和方法,用來控制數(shù)據(jù)對象在部件對象系統(tǒng)中的使用。根據(jù)本發(fā)明,每個數(shù)據(jù)對象(112)包括一個對等表,該對等表定義一個或多個數(shù)據(jù)對象(112)必不可少的對等數(shù)據(jù)對象(118)。在接收數(shù)據(jù)對象(112)時,該系統(tǒng)檢驗數(shù)據(jù)對象(112)的完整性。而且,該系統(tǒng)識別對等數(shù)據(jù)對象(118)的完整性。如果該系統(tǒng)找不到對等數(shù)據(jù)對象(118),或者該系統(tǒng)不能驗證該對等數(shù)據(jù)對象(118),那么該系統(tǒng)可以隨意地從數(shù)據(jù)對象存放處接收一個能被驗證的對等數(shù)據(jù)對象。除了確認數(shù)據(jù)對象(112)的完整性之外,該系統(tǒng)還檢驗該數(shù)據(jù)對象(112)是否被授權(quán)與每個對等數(shù)據(jù)對象(118)通信。此外,該系統(tǒng)檢驗對等數(shù)據(jù)對象(118)是否被授權(quán)與數(shù)據(jù)對象(112)通信。
文檔編號G06F21/20GK1287639SQ99802008
公開日2001年3月14日 申請日期1999年1月15日 優(yōu)先權(quán)日1998年1月16日
發(fā)明者格雷格·本森, 馬丁·富蘭克林, 克里斯多佛·L·克諾夫特 申請人:媒體數(shù)位網(wǎng)絡(luò)體系公司