用於在計算機系統之間交易文件的方法和系統的製作方法
2023-06-08 22:29:41 1
專利名稱::用於在計算機系統之間交易文件的方法和系統的製作方法
技術領域:
:本發明的實施方式總體涉及計算機系統,更具體地說,涉及在計算機系統之間交易(trade)文件。
背景技術:
:幾年前,計算機系統是彼此不通信的單獨設備。但是今天,計算機正通過網絡連接在一起,其中所謂客戶端的計算機從所謂伺服器的其他計算機取得信息。這些網絡的某些用途是對諸如包含音樂或者電影的文件之類的文件進行共享和交易。文件共享通常遵從對等(P2P)模型,其中文件存儲在共享這些文件的用戶客戶端的計算機上並且由其進行服務。在文件共享時,中央伺服器通常存儲在要的例如特定歌曲、視頻或者電影之類的文件的搜索發送到中央伺服器。然後,該伺服器將包含所需要的文件的主機客戶端的列表發送到請求客戶端,並且幫助在客戶端之間建立連接和隨後從主機客戶端將文件下載到請求客戶端。將文件共享的一種變型稱為文件交易,其中伺服器鼓勵客戶端成為主機客戶端,比如要求客戶端成為它們已經下載的文件的主機或者對為文件提供主機雖然"文件交易"使用"交易"一詞,但是被"交易"的文件的複製件在物理上存在,並且能夠同時在請求客戶端和主機客戶端上被使用、存取或者觀看。在實踐中,在文件共享和文件交易網絡上被共享的許多文件是具有版權的音樂和電影。在許多國家,在沒有版權所有者的授權的情況下製作複製件和"共享"或者"交易"這些複製件是非法的。所需要的是能夠應對版權所有者和希望共享文件的用戶兩者的需求的技術。
發明內容提供了方法、設備、系統和存儲介質。在實施方式中,客戶端創建指定交易條件的交易簡檔。在各種實施方式中,交易條件指定所需要的文件的類別、指定所需要的文件、或者指定可以用來交易的文件。客戶端發送交易簡檔給伺服器,其選擇滿足其他客戶端的交易條件的可用文件。伺服器將所選擇的文件的規格發送到客戶端。作為響應,客戶端鎖住它們的文件(這防止呈現)並且彼此發送被鎖住的文件。客戶端接收被鎖住的文件並且對它們進行解鎖。在一時間段過期之後,客戶端再次鎖住文件。以這種方式,在任何一個時間,文件可以由客戶端進行交易,但是只有一個客戶端可以多次存取文件。結合附圖在下面描述本發明的各個實施方式圖1示出了用於實施本發明的實施方式的示例系統的高級框圖2示出了根據本發明實施方式的示例系統的所選擇構件的高級框圖3A、3B、3C、3D和3E以時間順序示出了根據本發明實施方式的、在兩個客戶端設備之間的文件的示例交易的框圖4A、4B、4C、4D和4E以時間順序示出了根據本發明實施方式的、在三個客戶端設備中間的文件的示例交易的框圖5A和5B示出了根據本發明實施方式的、用於交易簡檔的示例數據結構的框圖6A、6B和6C示出了根據本發明實施方式的、用於事務數據(transactiondata)的示例數據結構的框圖;和圖7示出了根據本發明實施方式的、用於交易文件的示例處理的流程圖。然而,應該注意,附圖僅僅示出了本發明的示例實施方式,因此不能被認為對其範圍進行限制,這是因為本發明還允許其他等效實施方式。具體實施例方式參照其中相同的附圖標記表示相同的部件的附圖,圖l示出了根據本發明實施方式,經由物理130連接到伺服器計算機系統132的客戶端計算機系統100的高級框圖表示。這裡僅僅為了方便而使用術語"客戶端,,和"伺服器,,,而且在各種實施方式中,在一個環境中作為客戶端操作的計算機可以在其他環境中作為伺服器操作,反之亦然。客戶端計算機系統100還連接到呈現設備133。在實施方式中,可以由可從紐約州Armonk的國際商用機器公司獲得的IBM系統i5計算機系統來實施計算機系統100和132的硬體構件。然而,本領域的技術人員應該理解,還可以將本發明的實施方式的機制和設備等效應用於任何適當的計算系統。計算機系統100的主要構件包括一個或多個處理器101、主存儲器102、終端接口111、存儲接口112、1/0(輸入/輸出)設備接口113和通信/網絡接口114、I/O總線104和I/O總線接口單元105,所有這些都經由存儲器總線103連接以進行構件之間的通信。計算機系統100包含一個或多個通用可編程中央處理單元(CPU)101A、IOIB、101C和101D,這裡總體稱為處理器101。在實施方式中,計算^L系統100包括典型的相對大的系統的多個處理器;然而,在其他實施方式中,替代地,計算機系統100可以是單CPU系統。每個處理器101執行存儲在主存儲器102中的指令,並且可以包括一或多級別的內置高速緩存(on-boardcache)。者解碼數據和程序的設備。在另一實施方式中,主存儲器102表示計算機系統100的整個虛擬存儲器,也可以包括耦合到計算機系統IOO或者經由網絡130連接的其他計算機系統的虛擬存儲器。主存儲器102在概念上是單個單片(monolithic)實體,但是在其他實施方式中,主存儲器102是諸如高速緩存和其他存儲器設備體系之類的更加複雜的配置。例如,存儲器可以以多級高速緩存的形式存在,而且這些高速緩存可以以功能進一步劃分,使得一個高速緩存保存指令而其他高速緩存保存由處理器使用的非指令數據。如在任何各種所謂不統一存儲器存耳又(non-uniformmemoryaccess,NUMA)計算機架構中已知的那樣,存儲器可以進一步分布並且與不同CPU或者CPU組關聯。主存儲器102存儲或者編碼文件150、交易簡檔152、事務數據154和控制器156。雖然將文件150、交易筒檔152、事務數據154和控制器156顯示為包含在計算機系統100的存儲器102之內,但是在其他實施方式中,它們中的一些或者所有可以在不同的計算機系統上,並且可以經由例如網絡130遠程地存取。計算機系統100可以使用這樣的虛擬尋址機制,該機制允許計算機系統100的程序表現為就像它們具有對大型單個存儲實體的存取而不是對多個較小存儲實體的存取。因此,雖然將文件150、交易簡檔152、事務數據154和控制器156示出為包含在主存儲器102內,但是這些構件不必同時都完全包含在相同的存儲設備中。而且,雖然將文件150、交易簡檔152、事務數據154和控制器156示出為分離的實體,但是在其他實施方式中,可以將它們中的一些、它們中的一些部分或者它們的全部封裝在一起。在各種實施方式中,文件150可以存儲能夠經由揚聲器或者視頻顯示器呈現或者播放的音頻和/或視頻數據。交易簡檔152描述與交易簡檔152關聯的用戶想要在交易中給出的文件150和用戶想要在交易中接收的文件150。客戶端計算機系統IOO將交易簡檔152發送到伺服器計算機系統312。客戶端計算機系統IOO從伺服器132接收事務數據154,該事務數據154描述在滿足客戶端計算機系統100的交易簡檔152的其他客戶端可獲得的文件。下面將參照圖5A和5B來進一步描述示例交易簡檔。下面還將參照圖6A、6B和6C來描述示例事務數據154。在實施方式中,控制器156包括能夠在處理器101上執行的指令或者能夠由在處理器101上執行的指令進行解釋以執行下面參照圖7進一步描述的功能的語句。在其他實施方式中,以微代碼實施控制器156。在其他實施方式中,通過邏輯門和或其他適當硬體技術以硬體實施控制器156。存儲器總線103提供用於在處理器101、主存儲器102、和I/0總線接口單元105之間傳送數據的數據通信路徑。將I/0總線接口單元105進一步連接到系統I/O總線104,以將數據傳送到各種I/O單元和從各種I/O單元傳送數據。I/O總線接口單元105與已知為1/0處理器(IOP)或者1/0適配器(IOA)的多個I/O接口單元111、112、113和114通過系統I/O總線104進行通信。系統I/O總線104可以例如是工業標準PCI(外圍構件接口)總線,或者任何其他適當總線技術。1/0接口單元支持與各種存儲和1/0設備的通信。例如,終端接口單元lll支持一個或多個用戶終端121的附連。存儲接口單元112支持一個或多個直接存取存儲設備(DASD)125、126和127(雖然作為替代它們可以是其他設備,包括被配置為顯示為連接到主機的單個大型存儲設備的盤驅動器陣列,但是其通常是旋轉型^f茲盤驅動存儲設備)的附連。根據需要,可以將主存儲器102的內容存儲到和取自於直接存取存儲設備125、126和127,I/O設備接口113將接口提供個任何各種其他輸入/輸出設備或者其他類型的設備。在這種設備上,在圖1的示例實施方式中示出呈現設備133,但是在其他實施方式中,可以存在不同類型的與這些設備不同的許多其他設備。網絡接口114提供從計算機系統100到其他數字設備和計算機系統的一條或者多條通信路徑,這種路徑可以包括例如一個或者多個網絡130。雖然在圖1中將存儲器總線103示出為提供處理器101、主存儲器102和1/0總線接口105之間的直接通信路徑的相對簡單、單一的總線結構,但是實際上,存儲器總線103可以包括多條不同總線或者通信路徑,其可以以任何諸如層級型點到點連結、星型或者網絡配置、多層級總線、平行和冗餘路徑、或者任何其他適當類型的配置之類的各種形式進行布置。而且,雖然將I/0總線接口105和1/0總線104顯示為單個獨立單元,但是計算機系統100可以實際上包含多個I/O總線接口單元105和/或多個I/O總線104。雖然示出了將系統I/O總線104與通到各種I/O設備的各種通信路徑分離的多個I/O接口單元,但是在其他實施方式中,可以將I/O設備中的某些或者全部直接連接到一個或多個系統I/O總線。在實施方式中,計算才幾系統100可以是多用戶"大型機(mainframe)"計算機系統,但是本發明的實施方式不限於計算機系統的特定尺寸或者類型。替代地,計算機系統100可以是通常只包含單個用戶顯示器和鍵盤輸入的單用戶系統,或者可以是具有很少或者不具有用戶接口但是從其他計算機系統(客戶端)接收請求的伺服器或者類似設備。在其他實施方式中,計算機系統100可以被實施為個人計算機、便攜計算機、膝上計算機或筆記本計算機、PDA(個人數字助理)、平板計算機(tabletcomputer)、袖珍計算機(pocketcomputer)、音樂播放器、視頻播放器、電話、尋呼機、電話會議系統、電器或者任何其他適當類型的電子設備。網絡130可以是任何適當網絡或者網絡的組合,並且可以支持適合於向/從計算機系統100進行數據和/或代碼的通信的任何適當協議。在各種實施方式中,網絡130可以表示直接或者間接連接到計算機系統100的存儲設備或者存儲設備的組合。在實施方式中,網絡130可以支持Infiniband架構。在其他實施方式中,網絡130可以支持無線通信。在其他實施方式中,網絡130可以支持諸如電話線或者線纜之類的硬線通信。在其他實施方式中,網絡130可以支持乙太網IEEE(電器和電子工程師協會)802.3x規範。在其他實施方式中,網絡130可以是網際網路並且可以支持IP(網際網路協議)。在其他實施方式中,網絡130可以是區域網(LAN)或者廣域網(WAN)。在其他實施方式中,網絡130可以是熱點(hotspot)服務提供商網絡。在其他實施方式中,網絡130可以是內聯網(intranet)。在其他實施方式中,網絡130可以是GRPS(通用分組無線服務)網絡。在其他實施方式中,網絡130可以是FRS(家用無線服務)網絡。在其他實施方式中,網絡130可以是任何適當的蜂窩數據網絡或者基於小區的無線網絡技術。在其他實施方式中,網絡130可以是IEEE802.11B無線網絡。在再其他實施方式中,網絡130可以是任何適當網絡或者網絡的組合。雖然示出了一個網絡130,但是在其他實施方式中可以存在任何數量的(相同或者不同類型的)網絡。月良務器計算機系統132可以包括之前在上面被描述為包括在計算機系統100中的硬體構件中的一些或者全部。伺服器計算機系統132包括連接到處理器189的存儲器188。可以是半導體隨機存取存儲器的存儲器188存儲或者編碼交易管理器190和經集合(aggregated)的簡檔。交易管理器190將從客戶端計算機系統IOO接收來的交易簡檔152集合為經集合的簡檔182,基於該經集合的簡檔192創建事務數據154,並且將事務數據154發送到客戶端計算機系統100。交易管理器190包括能夠在處理器189上執行的指令,和能夠由在處理器189上執行的指令所解釋以執行諸如下面將參照圖7進一步描述的功能的語句。在其他實施方式中,可以以;微代碼來實施交易管理器190。在其他實施方式中,可以經由邏輯門和/或其他適當硬體技術來實施交易管理器1卯。呈現設備133是音頻和/或視頻播放器。呈現設備133包括文件150和輸出設備198。呈現設備133從客戶端計算機系統IOO接收文件150,將文件150編碼在存儲設備中,並且通過例如揚聲器和/或視頻顯示器之類的輸出設備198呈現或者播放文件150。在實施方式中,呈現設備133是能夠被裝入(dock)I/O設備接口113以傳輸文件150然後可以從客戶端計算機系統100上卸下的行動裝置。在各種實施方式中,呈現設備133可以在裝入到計算機系統100或者從計算機系統100卸下時通過輸出設備198來播放、呈現、或者顯示文件150。應該理解,圖1試圖在較高層次上描述計算機系統100、網絡130、伺服器計算機系統132和呈現設備133的代表性的主要構件,所以獨立的構件可能比圖1中所示的複雜得多,而且可能存在與圖1中所示的那些不同或者之外的構件,而且這些構件的數量、類型和配置可能不同。這些公開了這種附加複雜性或者附加變型的幾個具體例子。應該理解,這些僅僅是示例性的,而且不必僅僅是這些變型。能夠以許多方式來實施圖1中所示並且實現本發明的各種實施方式的各種軟體構件,包括使用各種計算機軟體應用程式、例程、構件、程序、對象、模塊、數據結構等,下面將它們稱為"電腦程式"或者簡單稱為"程序"。電腦程式通常包括在客戶端計算機系統100和/或伺服器計算機系統132中的各種存儲器和存儲設備中在不同時候駐留的一個或多個指令,而且當由客戶端計算機系統100和/或服務計算機系統132中的一個或多個處理器讀取和執行時,所述指令使得客戶端計算機系統100和/或伺服器計算機系統132執行包括本發明的實施方式的各個方面的步驟或者元素所必須的步驟。而且,雖然上面和下面在全功能(folly-functioning)計算機系統的情況下描述本發明的實施方式,但是本發明的各種實施方式能夠被作為各種形式的程序產品進行分發,而且可以將本發明與實際用於執行這種分發的單一承載介質的具體類型無關地等效應用。可以將定義本實施方式的功能的程序經由可以操作或者通信地連接(直接或者間接)到諸如處理器101之類的處理器的有形(tangible)信號承載介質,發送到客戶端計算機系統100和/或伺服器計算機系統132。信號承載介質可以包括但不限於(1)在諸如可以由CD-ROM驅動器讀取的CD-ROM之類的、例如附連到計算機系統或者在計算機系統中的只讀存儲器設備的計算機可讀非可再寫存儲介質上永久存儲的信息;(2)在例如硬碟驅動器(例如DASD125、126和127)、主存儲器102、CD-RW或者磁碟之類的計算機可讀可重寫存儲介質上存儲的可改信息;(3)諸如通過例如網絡130之類的計算機或者電話網絡的通過通信介質被傳遞到計算機系統100和/或伺服器計算機系統132的信息。當被編碼有或者承載控制本發明的功能的計算機可讀和可執行指令時,這些有形計算機可讀信號承載介質代表本發明的實施方式。本發明的實施方式還被交付作為涉及客戶公司、非贏利組織、政府實體、內部組織結構等的服務的一部分。這些實施方式的方面可以包括配置用於執行的計算機系統,和部署實施這裡所描述的一些或者全部方法的計算服務(例如,計算機可讀代碼、硬體和網絡服務)。這些實施方式還可以包括分析客戶公司、響應於該分析產生建議、產生計算機可讀代碼來實施建議的多個部分、將計算機可讀代碼集成到現有過程、計算機系統和計算基礎設施中、測量這裡所述的方法和系統的使用、將費用分配給用戶、和針對用戶對這些方法和系統的使用計費。此外,可以基於在本發明的特定實施方式中實施下面描述的各種程序的應用來標識它們。但是,僅僅為了方便而使用下面的任何具體程序術語或暗示的任何特定應用中^_用。圖1中所示的示例環境不試圖限制本發明。確實,在不偏離本發明的範圍的情況下,可以使用其他替代硬體和/或軟體環境。圖2示出了根據本發明實施方式的、示例系統的所選擇構件的高級框圖。該示例系統包括經由網絡130連接到客戶端計算機系統100-1、100-2和100-3的伺服器計算機系統132。計算機系統100(圖1)一般指客戶端計算機系統100-1、100-2和100-3。客戶端計算機系統100-1包括或者存儲交易簡檔152-1、文件150-1和事務數據154-1。客戶端計算機系統100-2包括或者存儲交易簡檔152-2、文件150-2和事務數據154-2。客戶端計算機系統100-3包括或者存儲交易簡檔152-3、文件150-3和事務數據154-3。交易簡檔152(圖1)一般指交易筒檔152-1、152-2和152-3。文件150(圖1)一般指文件150-1、150-2和150-3。事務數據(圖1)一般指事務數據154-1、154-2和154-3。伺服器計算機系統132包括或者存儲集合交易簡檔192,其包括伺服器計算機系統132從客戶端計算機系統100-1、100-2和100-3接收來的交易簡檔152-1、152-2和152-3。伺服器132產生事務數據154-1、154-2和154-3,並且將事務數據154-1、154-2和154-3發送到相應客戶端計算機系統100-1、100-2和100-3。圖3A、3B、3C、3D和3E示出了根據本發明實施方式在兩個客戶端設備100-1和100-2之間的文件的示例交易的框圖。圖3A、3B、3C、3D和3E按時間順序的圖,其中圖3A表示最早的時間而圖3E表示最近的時間。圖3A表示客戶端100-1和100-2在最早時間的狀態。客戶端100-1存儲文件A150-4,而客戶端100-2存儲文件B150-5。文件A150-1和文件B150-5兩者都具有未被鎖住狀態。可以經由例如終端121或者呈現設備133來呈現、播放、顯示或者存取帶有未被鎖住狀態的文件。客戶端100-1產生指定文件150-4可以用於交易並且指定交易條件的交易筒檔,並且將交易簡檔發送到伺服器132。客戶端100-2傳輸指定文件150-5可以用於交易並且指定交易條件的交易簡檔,並且將其交易簡檔發送到伺服器132。伺服器132確定客戶端100-1和100-2的交易條件匹配或者兼容,以及確定在客戶端100-1上可以獲得的文件150-4滿足客戶端100-2的交易條件和在客戶端100-2上可以獲得的文件150-5滿足客戶端100-1的交易條件。伺服器132產生從客戶端100-1的角度來說描述文件150-4和150-5的交易的事務數據,並且將該事務數據發送到客戶端100-1。伺服器132還創建從客戶端100-2的角度來描述文件150-4和150-5的交易的事務數據,並且將該事務數據發送到客戶端100-2。圖3B表示客戶端100-1和100-2在圖3A的時間之後的時間的狀態。在圖3B中,客戶端100-1和100-2接收它們相應的事務數據,並且確認它們所接收到的事務數據滿足它們相應的交易條件。然後客戶端100-1和100-2等待直到事務教:據所指定的交易開始時間為止。響應於交易開始時間的到來,客戶端100-1和100-2鎖住它們相應的文件150-4和150-5,並且4皮此發送它們相應的文件。鎖住文件是將文件從具有非鎖住狀態改變為具有鎖住狀態。鎖住狀態防止通過例如終端121或者呈現設備133對文件進行呈現、播放、或者存取。在各種實施方式中,客戶端可以通過加密文件、通過壓縮文件、和/或通過限制對文件的存取來鎖住文件150。圖3C表示客戶端100-1和100-2在圖3B的時間之後的時間的狀態。客戶端100-1接收到具有鎖住狀態的文件150-5,這是因為在客戶端100-2發送文件150-5之前文件150-5被客戶端100-2鎖住。客戶端100-2接收具有鎖住狀態的文件150-4,這是因為在客戶端100-2發送文件150-4之前文件150-4被客戶端100-2鎖住。文件150-4和150-5都物理地存在於(兩個客戶端都具有兩個文件的複製件)並且存儲在客戶端100-1和100-2上,而且文件150-4和150-5都被鎖住。圖3D表示客戶端100-1和100-2在圖3C的時間之後的時間的狀態。客戶端100-1解鎖文件150-5。客戶端100-2解鎖文件150-4。在客戶端100-1上,文件150-4仍然被鎖住而文件150-5沒有被鎖住。在客戶端100-2上,文件150-5仍然被鎖住,而文件10-4沒有被鎖住。客戶端100-1和100-2還可以將它們相應的未被鎖住的文件150-5和150-4發送到它們相應的呈現設備133或者終端121進行呈現。客戶端100-1和100-2進一步發送命令給它們相應的程序設備,指令呈現設備133在事務數據154所指定的交易結束時間到來時刪除或者鎖住相應文件150-5和150-4。圖3E表示客戶端100_1和100-2在圖3D的時間之後的時間的狀態。響應於交易時間段的失效(交易結束時間的到來),客戶端100-1鎖住文件150-5並且解鎖文件150-4,而客戶端100-2鎖住文件150-4並且解鎖文件150-5。文件150-4和150-5兩者都還顯現於並且被物理存儲在客戶端100-l上,但是文件150-4未被鎖住而文件150-5被鎖住。文件150-4和150-5兩者都還存在於並且被物理地存儲在客戶端100-2上,但是文件150-4被鎖住而文件150-5未被鎖住。在其他實施方式中,客戶端100-1可選地刪除文件150-5,而客戶端100-2可選地刪除文件150-4。客戶端100-1和100-2的呈現設備133在交易結束時間到來時刪除或者鎖住它們相應的文件150-5和150-4。圖4A、4B、4C、4D和4E描述了根據本發明實施方式在三個客戶端設備100-1、100-2和100-3之間的文件的示例交易的框圖。圖4A、4B、4C、4D和4E是按時間順序的圖,其中圖4A表示最早的時間而圖4E表示最近的時間。圖4A表示客戶端100-1、100-2和100-3在最早時間的狀態。客戶端IOO-I存儲文件D150-7,客戶端100-2存儲文件E150-8,而客戶端IOO-3存儲文件F150-9。文件D150-7、文件E150-8和文件F150-9都具有未被鎖住狀態。客戶端100-1產生指定文件150-7可以用於交易並且指定交易條件的交易簡檔,並且將該交易簡檔發送到伺服器132。客戶端100-2產生指定文件150-8可以用於交易並且指定交易條件的交易簡檔,並且將該交易簡檔發送到伺服器132。客戶端100-3產生指定文件150-9可以用於交易並且指定交易條件的交易簡檔,並且將該交易簡檔發送到伺服器132。伺服器132確定客戶端100-1、100-2和100-3的交易條件是兼容的,並且確定在客戶端100-1上可獲得的文件150-7滿足客戶端100-3的交易條件、在客戶端100-2上可獲得的文件150-8滿足客戶端100-1的交易條件、和在客戶端100-3上可獲得的文件150-9滿足客戶端100-2的交易條件。月l務器132產生從客戶端100-1的角度描述交易的事務數據並且將該事務數據發送到客戶端100-1。伺服器132還產生從客戶端100-2的角度描述交易的事務數據並且將該事務數據發送到客戶端100-2。伺服器132還產生從客戶端100-3的角度描述交易的事務數據並且將該事務數據發送到客戶端100-3。圖4B表示客戶端100-1、100-2和100-3在圖4A的時間之後的時間的狀態。在圖4B,客戶端100-1、100-2和100-3接收它們相應的事務數據,並且確認它們所接收到的事務數據滿足它們相應的交易條件。然後,客戶端100-1、100-2和100-3等待直到它們的事務數據所指定的交易開始時間。響應於交易開始時間的到來,客戶端100-1、100-2和100-3鎖住它們相應的文件150-7、150-8和150-9。客戶端100-1將鎖住的文件150-7發送到客戶端100-3。客戶端100-3將鎖住的文件150-9發送到客戶端100-2,而客戶端100-2將鎖住的文件150-8發送到客戶端100-1。圖4C表示客戶端100-1、100-2和100-3在圖4B的時間之後的時間的狀態。客戶端100-1接收到具有鎖住狀態的文件150-8,這是因為在客戶端100-2發送文件150-8之前文件150-8被客戶端100-2鎖住。客戶端100-2接收到具有鎖住狀態的文件150-9,這是因為在客戶端100-3發送文件150-9之前文件150-9被客戶端100-3鎖住。客戶端100-3接收到具有鎖住狀態的文件150-7,這是因為在客戶端100-1發送文件150-7之前文件150-7被客戶端100-1鎖住。圖4D表示客戶端100-1、100-2和100-3在圖4C的時間之後的時間的狀態。客戶端100-1解鎖文件150-8。客戶端100-2解鎖文件150-9。客戶端100-3解鎖文件150-7。在客戶端100-1,文件150-7仍然被鎖住而文件150-8沒有被鎖住。在客戶端100-2,文件150-8仍然被鎖住而文件150-9沒有被鎖住。在客戶端100-3,文件150-9仍然糹皮鎖住而文件150-7沒有被鎖住。客戶端100-1、100-2和100-3還可以發送它們相應的未被鎖住文件150-8、150-9和150-7到它們相應的呈現設備133和/或終端121以進行呈現。客戶端100-1、100-2和100-3還發送命令到它們相應的呈現設備133,以指令呈現設備133在事務數據154所指定的交易結束時間到來時,刪除或者鎖住相應的文件150-8、150-9和150-7。圖4E表示客戶端100-1、100-2和100-3在圖4D的時間之後的時間的狀態。響應於交易時間段的失效(事務數據所指定的交易結束時間的到來),客戶端100-1鎖住文件150-8並且解鎖文件150-7,客戶端100-2鎖住文件150-9並且解鎖文件150-8,而客戶端100-3鎖住文件150-7並且解鎖文件150-9。文件150_7和150-8兩者都還呈現於並且物理存儲在客戶端100-1上,但是文件150-7未被鎖住而文件150-8被鎖住。文件150-8和150-9兩者都還存在於並且物理地存儲在客戶端100-2上,但是文件150-8未被鎖住而文件150-9被鎖住。文件150-7和150-9兩者都還呈現於並且物理存儲在客戶端100-3上,但是文件150-9未被鎖住而文件150-7被鎖住。在其他實施方式中,客戶端100-1可選地刪除文件150-8,客戶端100_2可選地刪除文件150-9,而客戶端100-3可選地刪除文件150-7。客戶端100-1、100-2和100-3的呈現設備133在交易結束時間到來時刪除或者鎖住它們相應的文件150-8、150-9和150-7。圖5A示出了根據本發明實施方式的交易簡檔152-1的示例數據結構的框圖。交易簡檔152(圖1)一般指交易簡檔152-1。客戶端100-1產生交易簡檔152-2。交易簡檔152-1指定可以用於在客戶端100-1上進行交易的文件以及用於交易可用文件的條件。交易簡檔152-1包括交易條件交易最小持續時間505、交易最大持續時間510和交易有效時間段515。交易最小持續時間505指定客戶端IOO-I願意將其可用文件進行交易的時間的最小量。交易最大持續時間510指定客戶端100-1願意將其可用文件進行交易的時間的最大量。交易有效時間段515指定客戶端100-1願意將其可用文件進行交易的日期和/或時間。交易有效時間段515可以指定客戶端IOO-I願意將其可用文件進行交易的某天中的具體時間、具體曰期、或者某周中的具體日。在其他實施方式中,交易有效時間段515可以排除客戶端100-1不願意將其可用文件進行交易的某天中的時間、日期、或者某周中的曰。交易簡檔152-1還包括記錄520、525和530,這些記錄的每一個都包括文件標識符自動535、文件類別欄位540和狀態欄位545。在交易簡檔152-1中的文件標識符欄位535基於狀態自動545中的值,指定存儲在客戶端100-l上或者可以用於交易的文件150或者客戶端100-1願意在交易中接收的文件。文件類別欄位540指定文件所屬於的類別。在實施方式中,文件類別540指定文件的內容的作者、寫作者、作曲者、所有者、發行者、製作者、或者導演。在其他實施方式中,類別540指定其演出記錄在文件的內容中的表演者、演員、音樂家或者歌手。在其他實施方式中,類別540指定將文件的內容進行分類或者描述的風格、類型或者流派。在其他實施方式中,文件類別欄位540指定任何多個類別或者類別的組合。交易簡檔152-1中的狀態欄位545指定記錄520、525或者530的目的。帶有表示可用的狀態545的記錄520指示文件535和/或文件類別540在客戶端100-1上可以用於交易。帶有表示期望的狀態545的記錄525或者530指示文件535和/或文件類別540在客戶端100-1上不可用,但是作為替代,客戶端想要接收文件535和/或屬於文件類別540的文件。帶有表示期望的狀態545的記錄525或者530指定交易條件。在實施方式中,文件標識符欄位535是可選的,或者如果存在則可能沒有客戶端100-1所提供的數據。如果文件標識符欄位535不存在或者不具有所指定的數據,並且狀態545指示記錄表示所期望的文件,則客戶端100-l期望具有或者屬於所指定的類別540的任何文件。在實施方式中,文件類別欄位540是可選的,或者如果存在則可能沒有客戶端100-1所提供的數據。如果文件類別欄位540不存在或者沒有所指定的數據,且狀態545指示該記錄表示可用文件535,則客戶端100-1還沒有提供文件535所屬於的類別,且伺服器132可以提供用於文件535的類別。如在記錄520中所示,文件A、D和M在客戶端A100-1上可用。在記錄520中的文件A和D對應於圖3A和圖4A的交易例子。如記錄525中所示的那樣,客戶端A100-1想要接收文件標識符535所指定的文件E,這對應於圖4A、圖4B、圖4C和圖4D的交易例子。如記錄530中所示的那樣,客戶端100-1想要屬於"類型E"的文件類別540的任何文件。如將要在下面參照圖5B所進一步解釋的那樣,文件B150-5(圖3A、3B、3C、3D和3E)屬於"類型F"類別。圖5B示出了根據本發明實施方式的交易簡檔152-2的示例數據結構的框圖。交易簡檔152(圖1)一般指交易筒檔152。客戶端100-2產生交易簡檔152-2。交易簡檔152-2包括交易最小持續時間505、交易最大持續時間510和交易有效時間段515。在交易簡檔152-2中的交易最小持續時間505指定客戶端100-2願意交易文件的時間的最小量。在交易簡檔152-2中的交易最大持續時間510指定客戶端100-2願意交易文件的時間的最大量。在交易簡檔152-2中的交易有效時間段515指定客戶端100-2願意交易文件的日期和/或時間。交易簡檔152-2還包括記錄550、555和560,這些記錄都包括文件標識符欄位535、文件類別欄位540和狀態欄位545。在交易簡檔152-2中的文件標識符欄位535基於狀態欄位545的值,指定存儲在客戶端100-2上或者可以用於交易的文件、或者客戶端100-2在交易中想要接收的文件。在交易簡檔152-2中的狀態欄位545指定記錄的目的。帶有表示可用的狀態545的記錄550指示文件535和/或文件類別540在客戶端100-2可以用於交易。帶有表示期望的狀態545的記錄555或者560指示文件535和/或文件類別540在客戶端100-2上不可用,但是作為替代,客戶端100-2想要接收文件535和/或屬於文件類別540的文件150。如記錄550中所示的那樣,文件B和E在客戶端B100-2上可用,其對應於圖3A和圖4A的例子。如進一步在記錄550中所示出的那樣,文件B具有類型F的文件類別540。由於客戶端100-1需要具有類別F的文件類別的文件150(如圖5A的記錄530中所示的那樣),所以滿足客戶端100-1的交易條件時伺服器132選擇記錄550中的可用文件B,如交易簡檔152-1中記錄530所指定的那樣。如記錄555中所示出的那樣,客戶端B100-2想要接收文件標識符535所指定的文件B,這對應於圖3A、3B、3C、3D和3E的交易例子。由於如圖5A的交易簡檔152-1中的記錄520所指定的那樣,文件A在客戶端100-1上可用,所以滿足客戶端100-2的交易條件時伺服器132從記錄520中選擇可用文件A,如圖5B的交易簡檔152-2中的記錄555所指定的那樣。圖6A示出了根據本發明實施方式的事務數據154-1的示例數據結構的框圖。事務數據154-l從客戶端100-1的角度指定交易請求,客戶端100-1從伺服器132接收事務數據154-1並且執行事務數據154-1所指定的文件交易。伺服器132響應於從客戶端IOO接收到交易筒檔152和選擇滿足在交易筒檔152中所指定的交易條件的文件150和客戶端,來產生事務數據154-1。如下面參照圖6B和6C進一步描述的那樣,在交易中涉及的其他客戶端接收從它們的角度反映交易的它們自己的事務數據。事務數據154_1包括記錄605和610,這些記錄都包括發送文件欄位615、接收文件欄位620、交易時間段欄位625、接收客戶端欄位630、發送客戶端欄位635和鎖住欄位640。在記錄605中的示例數據對應於圖3A、3B、3C、3D和3E的例子。在記錄610中的示例數據對應於圖4A、4B、4C、4D和4E的例子。在事務數據154-1中的發送文件615指定記錄在客戶端100-1上並且可以用於交易或者被客戶端100-1交換的文件。在事務數據154-1中的接收文件620指定在交易中針對發送文件615客戶端100-1要接收的文件。在事務數據154-1中的交易時間段欄位625指定允許客戶端100-1將接收文件620解鎖並且將接收文件620呈現在客戶端100-1或者呈現設備133上的時間段。交易時間段625指定描述交易時間段625的交易開始時間和交易結束時間。伺服器選擇或者確定交易時間段625是在交易中所涉及的所有客戶端的交易有效時間段515之內,而且將交易時間段625的持續時間選擇為大於交易最小持續時間505並且小於交易中所涉及的所以客戶端的交易最大持續時間510。事務數據154-1中的接收客戶端欄位630指定客戶端100_1要從其對接收文件進行接收的客戶端。事務數據154_1中的發送客戶端欄位635指定客戶端100-1要將發送文件發送到其的客戶端。在實施方式中,接收客戶端630和發送客戶端635可以標識記錄605示出的相同的客戶端,這對應於圖3A、3B、3C、3D和3E的例子。在其他實施方式中,接收客戶端630和發送客戶端635可以標識記錄610示出的不同客戶端,這對應於圖4A、4B、4C、4D和4E的例子。在事務數據154-1中的鎖住欄位640指令客戶端100-1是否鎖住發送文件615和接收文件620。鎖住文件是將文件從具有未被鎖住狀態改變為具有鎖住狀態。鎖住狀態防止通過例如終端121或者呈現設備133來呈現、播放、顯示、或者存取文件。解鎖文件是將文件從鎖住狀態改變為未被鎖住狀態,並且允許通過例如終端121或者呈現設備133來呈現、顯示或者存取文件。在各種實施方式中,客戶端可以通過加密文件、通過壓縮文件、和/或通過限制對文件的存取來鎖住文件。響應於從伺服器接收到事務數據154-1,客戶端100-1確定事務數據154-1,並且確定事務數據154-1滿足交易簡檔152-1。例如,客戶端100-1確定事務數據154-1所指定的發送文件615是否在客戶端100-1上可用,確定是否如交易簡檔152-1的交易條件所指定的那樣客戶端100-1想要接收文件620,確定交易時間段625是否在交易簡檔152-1的交易有效時間段515之內,而且確定交易時間段625的持續時間是否大於或者等於(至少一樣大)交易最小持續時間505並且小於或者等於(至少一樣小)交易簡檔152-1所指定的交易最大持續時間510。客戶端100-1還確定在事務數據154-1中的鎖住欄位640是否要求鎖住文件615和620。響應於交易開始時間的到來(當前時間是在交易開始時間之後但是在交易結束時間之前),客戶端100-1鎖住發送文件615(如果鎖住欄位640要求),並且將發送文件615發送到發送客戶端635。客戶端100-1從接收客戶端630對接收文件620(如果鎖住欄位640這樣指示則其被鎖住)進行接收。客戶端100-1將接收文件620解鎖,並且可選地將接收文件620發送到呈現設備133或者終端121,其可以呈現、播放或者顯示接收文件620。客戶端100-1進一步發送交易命令、發送文件615的標識和交易結束時間625給呈現設備133。響應於鎖住命令,呈現設備133搜索發送文件615,而且如果在呈現設備133上發現了發送文件615,則呈現設備133鎖住發送文件615。在確定交易時間段625已經過期(確定當前時間晚於交易結束時間)之後,客戶端100-l鎖住接收文件620並且解鎖發送文件615。響應於交易命令,在確定交易時間段625已經過期(確定當前時間晚於交易結束時間)之後,呈現設備133鎖住或者刪除接收文件620並且解鎖發送文件615。圖6B示出了根據本發明實施方式的事務數據154-2的示例數據結構的框圖。事務數據154-2從客戶端100-2的角度指定針對交易的請求,該客戶端100-2從伺服器132接收事務數據154-2並且執行事務數據154-2所指定的文件的交易。事務數據154-2包括記錄645和650,這些記錄都包括發送文件欄位615、接收文件欄位620、交易時間段欄位625、接收客戶端欄位630、發送客戶端欄位635、和鎖住欄位640。在記錄645中的示例數據與圖3A、3B、3C、3D和3E的例子對應。在記錄650中的示例數據與圖4A、4B、4C、4D和4E的例子對應。圖6C示出了根據本發明實施方式的事務數據154-3的示例數據結構的框圖。事務數據154-3從客戶端100-3的角度指定針對交易的請求,該客戶端100-3從伺服器132接收事務數據154-3並且執行事務數據154-3所指定的文件的交易。事務數據154-3包括記錄655,該記錄包括發送文件欄位615、接收文件欄位620、交易時間段欄位625、接收客戶端欄位630、發送客戶端欄位635和鎖住欄位640。記錄655中的示例數據對應於圖4A、4B、4C、4D和4E的例子。圖7示出根據本發明實施方式的用於交易文件的示例處理的流程圖。控制開始於方框700。控制然後繼續到方框705,其中客戶端IOO產生它們的交易簡檔152,包括它們的可用文件150的規格和它們的交易條件交易最小持續時間505、交易最大持續時間510、交易有效時間段515、所期望的文件和/或所期望的文件類別。然後控制繼續到方框710,其中客戶端IOO將它們的交易簡檔152發送到伺服器132,而且伺服器132接收並且集合交易簡檔。然後,控制繼續到方框715,其中伺服器132選擇在滿足或者兼容於其他客戶端的交易條件的客戶端上存儲的交易簡檔152中所指定的可用文件,並且確定客戶端的交易條件是兼容的。在各種實施方式中,伺服器132通過確定可用文件是其他客戶端的交易條件指定的或者通過確定可用文件屬於或者關聯於其他客戶端的交易條件中指定的類別,來確定在客戶端上的可用文件滿足其他客戶端的交易條件。在實施方式中,為了確定客戶端100-1和100-2的交易條件匹配或者兼容,伺服器132確定客戶端100-1的交易最大持續時間510大於客戶端100-2的交易最小持續時間505;確定客戶端100-2的交易最大持續時間510大於客戶端100-1的交易最小持續時間505;確定客戶端100-1和100-2的交易有效時間段515重疊(交易有效時間段515的交叉是非零時間段);以及確定客戶端100-1和100-2的交易有效時間段515的交叉的持續時間大於客戶端100-l和100-2的交易最小持續時間505兩者。在其他實施方式中,伺服器132可以確定任何數量的客戶端的交易條件是兼容的,如圖4A、4B、4C、4D和4E中那樣。在一種實施方式中,伺服器132可以確定在交易中所涉及的每個文件的值,而且客戶端或者伺服器132可以要求在交易中接收多於一個文件以交換提供特定的文件。也就是說,根據文件的供給和需求或者其他因素,文件可以具有不同的交換值。而且,伺服器132可以要求在交易中所涉及的一個或多個客戶端付費給伺服器132以參與交易。然後,控制繼續到方框720,其其中伺服器132創建用於所選擇的文件和客戶端的事務數據154。然後,控制繼續到方框725,在其中伺服器132發送事務數據154給客戶端。客戶端IOO接收事務數據154。然後,控制繼續到方框730,在其中客戶端100確認它們的事務數據154並且等待直到交易時間段625的交易開始時間。在一種實施方式中,作為確認過程的一部分,在客戶端的發送文件615存儲在它們相應的呈現設備133中的情況下,如果它們與它們的呈現設備133在通信(例如,呈現設備133被裝入到客戶端100或者能夠進行無線通信),則這些客戶端只進行文件的交易。如客戶端100與呈現設備133在通信,則僅僅進行交易確保在呈現設備上存在的發送文件615(如果有的話)的複製件被鎖住而且在交易時間段625期間不能呈現。如果客戶端100確定它們的相應事務數據154是有效的,則控制繼續到方框735,在其中客戶端100鎖住它們的發送文件(包括鎖住可能存在於呈現設備133上或者任何其他位置的發送文件的任何複製件),並且將經鎖住的發送文件發送到它們的相應事務數據154指定的發送客戶端635。然後,控制繼續到方框740,在其中客戶端100從它們相應的接收客戶端630接收它們相應的經鎖住的接收文件620,並且將它們相應的接收文件620解鎖。然後,控制繼續到方框745,在其中客戶端可選地將它們的發送文件620和交易命令發送到它們的呈現設備133。交易命令標識發送文件615和交易時間段625,包括交易結束時間。呈現設備133接收接收文件620和交易命令,並且確定發送文件615是否存在於呈現設備133上。如果發送文件615存在於呈現設備133上,則呈現設備133將發送文件615鎖住在呈現設備133上並且可選地呈現接收文件620。然後,控制繼續到方框750,在其中客戶端確定交易是否為臨時的(交易結束時間是否被指定在與交易相關聯的事務數據154的記錄中)。客戶端進一步確定費用是否已經支付給了伺服器132、版權所有者、出版商或者其他組織。如果交易是臨時的,則還沒有支付費用,且當前時間滿足交易結束時間或者在交易結束時間之後(交易時間段625已經過期),然後當交易時間段625過期時,客戶端100和呈現設備133刪除接收文件620或者鎖住接收文件620。如果已經支付了費用,則客戶端和呈現設備133將它們的發送文件615的複製件解鎖,而接收文件620保持未被鎖住。如果還沒有支付費用,但是交易是永久的(沒有指定交易結束時間),則接收文件620保持未被鎖住,而發送文件615保持被鎖住或者可選地被刪除。伺服器132可以基於所交易的文件的值或者基於任何其他因素來確定費用。然後,控制繼續到方框799,其中圖7的邏輯返回。在之前對本發明的示例實施方式詳細描述中,參照了作為該描述一部分的附圖(其中相同的附圖標記指示相同的元素),而且通過可以實踐本發明的特定示例實施方式的圖示的方式示出了附圖。以足夠的細節描述了這些實施方式,以使得本領域的技術人員能夠實踐本發明,但是可以使用其他實施方式,而且在不偏離本發明的範圍的情況下,可以進行邏輯、機械、電學和其他改變。在之前的描述中,描述了許多具體細節以提供對本發明實施方式的全面理解。但是,在沒有這些具體細節的情況下,也可以實踐本發明。在其他實例中,沒有詳細示出公知的電路、結構和技術以幹擾本發明。如在本說明書中所使用的那樣,詞語"實施方式"的不同實例不必指示相同的實施方式,但是它們也可以指示相同的實施方式。這裡所示出或者描述的任何數據和數據結構僅僅是例子,而且在其他實施方式中,可以使用不同的數據量、數據類型、欄位、欄位的數量和類型、欄位名稱、行的數量和類型、記錄、實體或者數據組織。此外,可以將任何數據與邏輯進行組合,從而不需要分離的數據結構。因此,不應該以顯示的方式來理解之前的詳細描述,而僅僅通過所附權利要求來限定本發明的範圍。權利要求1.一種方法,包括接收包括第一文件、第二文件和第一客戶端的規格的事務數據;鎖住所述第二文件,其中所述鎖住防止對所述第二文件的呈現;在所述鎖住所述第二文件之後,將所述第二文件發送到所述第一客戶端;接收所述第一文件,其中所述第一文件具有被鎖住的狀態,而且其中所述被鎖住的狀態防止對所述第一文件進行呈現;和解鎖所述第一文件,其中所述解鎖允許對所述第一文件進行呈現。2.根據權利要求1所述的方法,還包括在自所述解鎖所述第一文件以來的時間段過期之後,鎖住所述第一文件並且解鎖所述第二文件,其中,所述鎖住所述第一文件防止對所述第一文件進行呈現,而且,所述解鎖所述第二文件允許對所述第二文件進行呈現。3.根據權利要求1所述的方法,其中,所述事務數據包括所述時間段的規格。4.根據權利要求1所述的方法,還包括如果已經支付了費用,則解鎖所述第二文件,其中,所迷解鎖所述第二文件允許對所述第二文件進行呈現。5.根據權利要求1所述的方法,還包括將交易命令和所述第一文件發送到呈現設備,其中,所述呈現設備呈現所述第一文件,確定所述第二文件的複製件是否存在於所述呈現設備上,而且如果存在所述複製件則將所述第二文件的所述複製件鎖住。6.根據權利要求3所述的方法,還包括產生指定所述第二文件可以用於交易並且指定交易條件的交易簡檔;和發送所述交易簡檔給伺服器,其中從所述伺服器接收所述事務數據。7.根據權利要求6所述的方法,其中所述產生還包括產生指定所述第一文件的所述交易條件。8.根據權利要求6所述的方法,其中所述產生還包括產生指定類別的所述交易條件,其中所述伺服器確定所述第一文件在所述類別中。9.根據權利要求6所述的方法,其中所述產生包括產生指定交易有效時間段的所述交易條件,其中,所述伺服器確定時間段在所述交易有效時間段內。10.根據權利要求1所述的方法,其中,所述接收所述第一文件還包括從所述第一客戶端接收所述第一文件。11.根據權利要求1所述的方法,其中,所述接收所述第一文件還包括從與所迷第一客戶端不同的第二客戶端接收所述第一文件。12.—種計算機系統,包括處理器;和存儲器,其連接到所述處理器,其中,所述存儲器編碼第二文件還編碼指令,所述指令在被所述處理器執行時包括發送交易簡檔到伺服器,其中,所述交易簡檔指定所述第二文件可以用於交易並且指定交易條件,從所述伺服器接收第一文件、所述第二文件、開始時間、結束時間和第一客戶端的規格,響應於所述開始時間的到來,鎖住所述第二文件,其中所述鎖住防止對所迷第二文件進行呈現,在所述鎖住所述第二文件之後,將所述第二文件發送到所述第一客戶端,接收所述第一文件,其中,所述第一文件具有被鎖住的狀態,而所述被鎖住的狀態防止對所述第一文件進行呈現,和解鎖所述第一文件,其中,所述解鎖允許對所述第一文件進行呈現。13.根據權利要求12所述的計算機系統,其中,所述指令還包括響應於滿足所述結束時間的當前時間,鎖住所述第一文件並且解鎖所述第二文件,其中所述鎖住所述第一文件防止對所述第一文件進行呈現,而且其中所述解鎖所述第二文件允許對所述第二文件進行呈現。14.根據權利要求12所述的計算機系統,其中,所述指令還包括如果已經支付了費用,則解鎖所述第二文件,其中所述解鎖第二文件允許對所述第二文件進行呈現。15.根據權利要求12所述的計算機系統,其中,所迷指令還包括響應於所迷解鎖所述第一文件,發送交易命令和所述第一文件給呈現設備,其中,所述呈現設備呈現所述第一文件,確定所述第二文件的複製件是否存在於所述呈現設備上,而且如果所述複製件存在則鎖住所述第二文件的所述複製件。全文摘要在實施方式中,客戶端產生指定交易條件的交易簡檔。在各種實施方式中,交易條件指定所需要的文件的類別,指定所需要的文件,或者指定可用於交易的文件。客戶端發送交易簡檔給伺服器,伺服器選擇滿足其他客戶端的交易條件的可用文件。伺服器將所選擇的文件的規格發送給客戶端。作為響應,客戶端鎖住它們的文件,這防止了呈現,並且客戶端彼此發送被鎖住的文件。客戶端接收到被鎖住的文件並且解鎖它們。在時間段過期之後,客戶端再次鎖住文件。以這種方式,文件可以由客戶端進行交易,但是在任意一個時候只有一個客戶端可以存取文件。文檔編號G06F21/00GK101201879SQ20071018633公開日2008年6月18日申請日期2007年11月12日優先權日2006年11月10日發明者凱文·G·佩特森,布賴恩·P·沃倫費爾特,扎卡裡·A·嘉鮑,理察·M·泰斯申請人:國際商業機器公司