文件遞送會話處理的製作方法
2023-09-16 13:01:50 2
專利名稱::文件遞送會話處理的製作方法
技術領域:
:本發明一般地涉及通過數字通信系統的資源遞送。本發明特別地涉及一種用於接收在文件遞送會話中傳輸的數據的接收器模塊和一種處理文件遞送會話的方法。本發明還涉及一種可針對文件遞送會話進行操作的網絡節點和一種可針對文件遞送會話進行操作的發射器。
背景技術:
:FLUTE是在網際網路工程任務組(IETF)的控制之下管理的項目。FLUTE為通過網際網路單向遞送文件定義了協議。該協議特別地適合於多播網絡,不過該技術同樣地可應用於與單播尋址一起使用。FLUTE規範構建於異步分層編碼(ALC)上,該ALC是為大規模可縮放的多播分布而設計的基本協議。ALC定義了任意二進位對象的傳輸,而且在如下文章中有所擬定Luby,M.,Gemmell,J.,Vicisano,L.,RiZZo,L.和J,Crowcroft的「AysnchronousLayeredCoding(ALC)ProtocolInstantiation」,RFC3450,2002年12月。對於文件遞送應用而言,僅有對象傳輸是不夠的。終端系統需要知道對象實際上代表什麼。FLUTE提供了如下機制,該機制用於以允許接收器設計那些用於所接收的對象的參數這一方式以信號發送文件的特性和將該特性映射到ALC的概念。在FLUTE中,『文件』與『對象』有關,這一點在上述ALC文章中有所討論。在FLUTE文件遞送會話中,有發送該會話的發送器和接收該會話的多個接收器。接收器可以在任意時刻加入會話。該會話遞送一個或多個抽象對象如文件。文件數目可以變化。任何文件可以使用多個分組來發送。在會話中發送的任何分組可能丟失。FLUTE具有用於遞送任何文件種類和任何文件大小的可能。FLUTE可應用於使用數秒或者更久的遞送會話將文件遞送到許多主機。例如,FLUTE可以用於同時將大型軟體更新遞送到許多主機。它也可以用於連續而分段的數據,比如用於字幕的按時間排列的文本,由此使用它傳承於ALC和LCT的分層本質以便根據網絡的擁堵狀態來縮放會話的豐富度。它也可適合於基本的元數據傳送,該元數據例如是使得用戶應用能夠訪問多媒體會話的SDP文件。它可以與無線電廣播系統一起使用,因為它有望特別地通過目前正在為之開發標準的DVB-H(數字視頻廣播-手機)來與IPDC(網際網路協議數據廣播)結合使用。FLUTE沒有允許接收器確定它需要在信道上停留多久以便實現由發送器設置會話的目的。因此接收器無法知道它何時收到整個文件廣播。FLUTE也沒有定義通向接收器的會話的語義。FLUTE使用靜態的和定義好的文件遞送會話,即每個文件遞送會話遞送固定的文件集,而該文件在會話期間不可改變。本發明不但尋求克服這些不足,而且在它迄今為止所涉及的任何文件遞送中具有更廣闊的適用性。
發明內容根據本發明的第一方面,提供了一種用於接收在文件遞送會話中傳輸的數據的接收器模塊,該模塊包括以下計時器中的一個或多個計時器a)片段等待計時器;b)新對象等待計時器;以及c)表等待計時器;該接收器模塊用於響應於檢測到一個或多個計時器中任何計時器的到期而離開文件遞送會話。片段等待計時器可以用於響應於接收器模塊收到引用一個或多個對象的聲明而被啟動,以及用於響應於接收器模塊收到一個或多個對象中一個對象的全部或者至少部分或者可選地響應於接收器模塊收到一個或多個對象中的所有對象的全部或者至少部分而被取消。在這一情況下,接收器模塊可以包括多個片段等待計時器,每個片段等待計時器與在聲明中引用的對象中的不同對象相關,而且用於響應於接收器模塊收到關聯對象的全部或者至少部分而被取消。新對象等待計時器可以用於響應於檢測到接收器模塊已經收到在由接收器模塊收到的聲明中引用的一個或多個對象中的所有對象而被啟動;以及用於響應於接收器模塊收到又一不同聲明而被取消。表等待計時器可以用於響應於接收器模塊收到在任何收到的聲明中都未引用的對象而被啟動,以及用於響應於接收器模塊收到引用那一對象的聲明而被取消。這裡,接收器模塊可以包括多個表等待計時器,每個表等待計時器與由接收器模塊已經收到的而在任何收到的聲明中都未引用的不同對象相關,每個表等待計時器用於響應於接收器模塊收到引用它的關聯對象的聲明而被取消。該計時器或每個計時器可以被設置為具有由對應計時器參數確定的持續時間。這裡,一個或多個計時器參數可以永久地存儲於接收器模塊中,或者可選地以可更新的方式存儲於接收器模塊中。一個或多個計時器參數可以作為通過通信網絡接收的信號的部分來接收,例如作為數據分組的部分來接收。該接收器模塊可以用於接收包含對象和聲明以及可選地也包含一個或多個計時器參數的分組,例如網際網路協議分組。該接收器模塊可以用於響應於計時器到期而確定對文件遞送會話接收完整性的測量,用於將該測量與閾值做比較,以及用於基於該比較近似立即地離開會話或者在有效時間段之後離開會話。這裡,有效時間段具有與計時器或者計時器中最短計時器的到期時間的一半相等或者更短的持續時間。該接收器模塊可以用於響應於計時器到期而估計文件遞送會話的接收預期完成的時間,用於將該時間與閾值做比較,以及用於基於該比較近似立即地離開會話或者在有效時間段之後離開會話。本發明也提供一種包括上述接收器模塊的便攜手持設備。根據本發明的第二方面,提供了一種接收文件遞送會話的方法,該方法包括以下步驟中的一個或多個步驟a)啟動片段等待計時器;b)啟動新對象等待計時器;以及c)啟動表等待計時器;該方法還包括響應於檢測到一個或多個計時器中任何計時器的到期而離開文件遞送會話。根據本發明的第三方面,提供了一種網絡節點,可操作用以針對文件遞送會話提供由接收器使用的片段等待計時器參數、新對象等待計時器參數和表等待計時器參數中的一個或多個參數。根據本發明的第四方面,提供了一種發射器,可操作用以針對文件遞送會話發射由接收器使用的片段等待計時器參數、新對象等待計時器參數和表等待計時器參數中的一個或多個參數,該一個或多個參數可選地隨同文件遞送會話一起發射或者形成文件遞送會話的部分而發射。現在參照附圖僅通過例子來描述本發明的實施例。在附圖中圖1是對於從通過網際網路連接的伺服器接收數據的行動電話手機進行圖示的示意框圖;圖2是圖1中所示移動手機的電路的示意框圖;圖3和圖4是對於圖2手機在接收文件廣播作為文件遞送會話的一部分時的操作進行圖示的流程圖;圖5是結合具體例子對圖2的操作進行圖示的時間表圖;以及圖6至圖8是圖2手機的操作的狀態機表示圖。具體實施例方式在圖1中,形式為行動電話手機1的移動臺從DVB-H廣播器B接收廣播數據,該廣播器B通過網絡2如網際網路連接到可以將數據內容下載到移動手機1的內容伺服器3。內容伺服器3具有用於向訂戶進行下載內容計費的關聯計費伺服器4。手機1包括麥克風5、小鍵盤6、軟鍵7、顯示器8、耳機9和內部天線10。手機1具有語音操作和數據操作雙重功能。例如,該手機可以配置為與GSM網絡一起使用,而且可以具有DVB-H操作的功能,不過本領域技術人員將認識到也可以使用其它網絡和信號通信協議。信號處理在控制器11的控制之下進行。關聯存儲器12包括較大容量的非易失性固態存儲器以便存儲從內容伺服器3下載的數據,比如應用程式、視頻剪輯、廣播電視服務等。電模擬音頻信號由麥克風5產生和由前置放大器13a放大。同樣,模擬音頻信號通過放大器13b饋送到耳機9或者外部手機(未示出)。控制器11從小鍵盤和軟鍵6,7接收指令信號並控制顯示器8的操作。關於用戶身份的信息保持於可抽取智慧卡14上。這可以採用GSMSIM卡的形式,該卡包含普通GSM國際移動用戶標識和用於以本身已知的方式對無線傳輸進行編碼的加密密鑰Ki。無線信號藉助於天線10來發射和接收,該天線通過rf級15連接到配置用以在控制器11的控制之下處理信號的編碼解碼器16。因此在使用中,對於語音而言,編碼解碼器16從麥克風放大器13a接收模擬信號,將該信號數位化成適合於傳輸的形式,而且將該信號饋送到rf級15以便通過天線10發射到PLMN(在圖1中未示出)。同樣,從PLMN接收的信號通過天線10饋送以便由rf級15解調、而且饋送到編碼解碼器16以便產生饋送到放大器13b和耳機9的模擬信號。該手機可以具有WAP功能而且能夠例如以40Kbit/秒級的速率通過GPRS信道接收數據。然而將會理解到,本發明不限於任何特定數據速率或者數據傳送機制,而且例如也可以使用WCDMA、CDMA、GPRS、EDGE、WLAN、BT、DVB-T、IPDC、DAB、ISDB-T、ATSC、MMS、TCP/IP、UDP/IP或者IP系統。手機1由常規可再充電電池17驅動。該電池的充電狀態由可以對電池17所遞送的電池電壓和/或電流進行監視的電池監視器18來監視。該手機也包括DVB-H接收器模塊19。此模塊通過DVB天線20從DVB廣播器B接收廣播信號。手機1的用戶可以請求從一個或多個伺服器如伺服器3下載數據內容,例如請求下載要在顯示器8上重播和顯示的視頻剪輯等。這樣下載的視頻剪輯存儲於存儲器12中。大小不同的其它數據文件也可以下載和存儲於存儲器12中。可以由用戶啟動下載,或者基於手機的設置由用戶允許下載。可選地可以由網絡2的運營商要求數據下載,特別是針對軟體升級時。在FLUTE中,文件遞送會話具有開始時刻和結束時刻,而且涉及到一個或多個信道。開始時刻和結束時刻中的一個或者兩個時刻可以是未經限定的,也就是說,一個或多個時刻可能不為接收器所知。如果在會話中使用有多個信道,則這些信道可以是並行、串行或者並行和串行的混合。文件遞送會話將文件作為傳送對象來運送。當傳送對象具有語義時,該對象變成文件。語義可以包括名稱、位置、大小和類型。每個文件遞送會話運送零個、一個或多個傳送對象(TO)。每個TO可以作為封裝於底層協議中的一個或多個分組來遞送。特定分組可以在每一會話出現數次。特定TO可以使用一個信道或者使用數個信道來遞送。TO可以傳輸數次。有文件遞送表(FDT)之稱的專門TO以信號發送文件集對TO的映射。可以有數個FDT。每個不同的FDT可以稱為FDT實例。不同FDT實例的內容可以重疊或者可以不重疊。FDT實例可以為空。FLUTE提供可以如何使用FDT實例的具體定義。對TO和FDT的內容進行的接收和處理將可為本領域技術人員所理解,因此這裡不再贅述。在本發明的這些實施例中定義了三個參數。這些參數或者它們的任何混合可以由接收器使用以確定它是否應當離開文件遞送會話。因此,接收器可以能夠在確信地或者合理程度確信地知道已經收到遞送會話的所有相關文件時較早地離開那一會話。接收器使用三個參數中的一個或多個參數和關聯計時器以及對收到的分組和收到的FDT的了解來確定是否繼續接收文件遞送會話。簡而言之,這三個參數是片段等待時間-此參數涉及在接收FDT與接收來自那一FDT的TO的至少第一片段之間的最大容許時間。新對象等待時間-此參數涉及在接收FDT的所有TO與接收不同FDT之間的最大容許時間。表等待時間-此參數涉及在接收在迄今為止所見的FDT中都沒有聲明的TO與接收聲明那一TO的FDT之間的最大容許時間。例如其值可以用毫秒為單位的該參數可以用任何適當的方式以信號發送到接收器。作為替代,該參數可以在製造時硬連線到接收器中。在一個實施例中,藉助通過DVB-H網絡B廣播的信號,將參數以信號發送到手機1。可選地在製造時將參數內置到手機1中。以信號發送參數之所以有利是因為它可以在無需接收器操作折衷的情況下允許文件遞送會話的靈活性,特別是在會話某些組成的傳輸之間的時間上的靈活性。在任一情況下,參數都存儲在手機1中,例如存儲在存儲器12中或者形成DVB-H接收器19一部分的存儲器中。現在將使用圖3和圖4來描述手機1(廣而言之是它的DVB-H接收器19)在它加入文件遞送會話時的操作。在圖3中,操作開始於步驟S3.1,接下來在步驟S3.2中將新對象等待計時器t3設置成具有新對象等待時間參數的值並啟動該計時器t3。DVB-H接收器19然後在步驟S3.3中接收第一TO。在這一例子中,如果僅有一個分組則在正確地接收該分組時,或者如果TO散布於多個分組則在正確地接收所有分組時,認為已經收到該TO。可以依次地接收與單個TO有關的兩個或多個分組,但是也可能在間歇時段中接收與其它TO有關的一個或多個分組。當收到TO的最後分組時,就將那一TO視為步驟S3.3中的接收了。在步驟S3.4確定分組是否與FDT有關。如果是這樣,則操作繼續到步驟S3.5。在步驟S3.5確定FDT是否為新的FDT,即它是否為迄今為止在當前文件遞送會話中都未收到的FDT。如果它是新的FDT,則在步驟S3.6從FDT選擇TO標識符(TOI)。每個TO具有對應的TOI,而且沒有用於多個TO的TOI。然後在步驟S3.7確定這是否為新的TOI,即在當前文件遞送會話中收到的FDT中尚未包含的TOI。如果它是新的TOI,則在步驟S3.8確定用於那一TOI的表等待計時器t2(TOIN)是否有效,即這一計時器是否正在計時。對於每個TOI有單獨的表等待計時器t2。如果是這樣,則在步驟S3.9中停止該表等待計時器。如果該表等待計時器t2(TOIN)不是有效的,則在步驟S3.10將對於那一TOI的片段等待計時器t1設置成具有片段等待時間參數並啟動該計時器t1。對於每個TOI有單獨的片段等待計時器t2。繼步驟S3.9或者步驟S3.10之後,根據步驟S3.8的詢問結果,在步驟S3.11確定該FDT是否包括更多TOI。如果有更多TOI,則操作返回到步驟S3.6,其中選擇新的TOI,即在當前過程中尚未處理的TOI。如果步驟S3.7在任何階段表明所考慮的TOI不是新的,即在當前會話中已經收到該TOI,則該操作直接繼續到步驟S3.11的詢問,而且相應地跳過步驟S3.9、S3.10和S3.10。如果在步驟S3.5表明FDT不是新的,即在當前會話中已經收到該FDT,則跳過步驟S3.6至S3.11,而操作代之以繼續到步驟S3.12。步驟S3.5至S3.10的結果是,如果在新的FDT中有新的TOI如果用於那一TOI的表等待計時器t2不是有效的,則設置和啟動用於那一TOI的片段等待計時器t1,而如果用於那一TOI的表等待計時器t2是有效的,則停止該計時器t2。該過程檢查FDT中所有新的TOI,而且適當地為每個TOI設置和啟動片段等待計時器t1或者停止表等待計時器t2。緊隨步驟S3.11之後,或者緊隨從步驟S3.5的否定確定之後,在步驟S3.12中確定收到的FDT是否包括任何新的TOI,即包括與迄今為止在當前會話中尚未收到的TO有關的TOI。如果有肯定確定,即發現FDT包括一個或多個與迄今為止在當前會話中尚未收到的TO有關的TOI,則在步驟S3.13重置和重啟新對象等待計時器t3。繼此步驟之後或者繼從步驟S3.12的否定確定之後,操作返回到步驟S3.3,其中開始處理新的TO或者FDT。如果在步驟S3.4確定收到的TO與FDT無關,則假定該TO與文件有關,而且操作繼續到步驟S3.14。這裡確定用於該TO的TOI的片段等待計時器t1是否有效。如果是有效,則在步驟S3.15停止片段等待計時器t1。由於用於給定TOI的片段等待計時器t1隻有在步驟S3.10設置過才有效,所以有效的該計時器指示已經收到新的FDT。由於如果片段等待計時器t1在它在步驟S3.14發現有效,則在步驟S3.15被停止,所以結果就是如果在由片段等待時間參數所設置的時間之內沒有收到對應的TO則用於給定TOI的片段等待計時器t1到期。如果在由片段等待時間參數所設置的時間之內收到TO,則該計時器沒有到期就被取消。因此,接收器如果沒有收到FDT的每個TO則在離開文件遞送會話之前為了接收那些TO將僅等待由片段等待參數所確定的時間。繼步驟S3.14和S3.15之後,操作繼續到步驟S3.16。這裡確定是否對於TOI收到聲明,即確定是否在當前會話中收到包括該TOI的FDT。如果做出否定確定,則在步驟S3.17將用於那一TOI的表等待計時器t2設置成具有由表等待時間參數所確定的值,然後啟動計時器。這樣的效果在於,當收到TO而尚未聲明該TOI時啟動用於該TOI的表等待計時器t2。如果TOI在表等待計時器t2到期之前就被聲明,則在步驟S3.9取消此計時器t2。如果沒有收到該TO,則表等待計時器到期。繼步驟S3.16和S3.17之後,操作返回到步驟S3.3,其中接收另一TO以供處理。可以用任何適當的方式實施用於每個TOI的新對象等待計時器t3以及片段等待計時器t1和表等待計時器t2,例如使用分立計時器(未示出)或者使用在控制器11上或者包含於DVB-H接收器19中的處理器(未示出)上實施的子例程來實施。根據對圖3流程圖的分析將會理解到,用於給定TOI的表等待計時器t2僅在DVB-H接收器19正在等待FDT時才有效,這一點僅在收到TO而在當前會話期間收到的FDT中沒有標識此TO時才會發生。在這一情況下,DVB-H接收器19期待接收FDT或者與迄今為止收到的任何FDT都不同的FDT,而對表等待計時器t2的使用會造成DVB-H接收器為了接收那一表而等待與由表等待時間參數所指示的時間量相等的預定時間量。如果在用於那一TO的TOI的表等待計時器t2倒計時到零之前沒有收到適當的FDT,即包括那一TOI在內的FDT,則DVB-H接收器19離開該會話。雖然在上文中當正確地收到散布於多個分組的TO的所有分組時認為在步驟3.3中已經收到TO,但是作為替代,即使尚未收到構成TO的所有分組仍然可以關於單獨的分組來進行操作。在這一情況下,步驟S3.3涉及單個分組的接收,而且緊接在步驟S3.14之前插入步驟S3.18。在步驟S3.18中確定該分組是否為關於TO而收到的第一分組。如果做出肯定確定,則操作繼續到步驟S3.14。否則操作忽略該分組而且返回到步驟S3.3。此步驟的結果是如果收到那一TO的任何片段則停止用於該TO的片段等待計時器t1。現在將描述可選操作。取代於根據步驟S3.12的詢問來提供步驟S3.13,可以完全地省略步驟S3.12,而可以代之以在步驟S3.7的肯定確定分支之後插入步驟S3.13。例如,步驟S3.13可以直接地放在步驟S3.7之後或者直接地放在步驟S3.11之前。這一可選操作的效果與前述實施例相同,不過由於可以省略步驟S3.12,所以這一可選操作涉及到的確定要少一個。在圖2中的24a、24b...24n處圖示了片段等待計時器。在25a、25b...25c處圖示了表等待計時器。在26處圖示了新對象等待計時器。現在參照圖4來描述與片段等待計時器t1、新對象等待計時器t3和表等待計時器t2相關的手機1和DVB-H接收器19的操作。此操作與圖3的操作並行地執行。這可以通過使用單獨的硬體、可選地通過使用子例程和適當的作業系統軟體來實現。參照圖4,在會話正在進行之中時,即會話正在接收之中時,這通過開始會話步驟S4.1來表示,操作在步驟S4.2中停留於循環中直至確定計時器到期為止。如果片段等待計時器t1、新對象等待計時器t3和表等待計時器t2中的任一個計時器到期,即倒計時到零,則步驟S4.2提供肯定確定,因此造成進展到步驟S4.3。當然,計時器可以代之以從零或者另一值順計時到預定值。步驟S4.2可以用任何適當方式來進行。沒有必要在計時器到期之時就立即有通知,只要充分頻繁地檢查每個計時器而在計時器到期與圖4中移到步驟S4.3的操作之間沒有過度延遲即可。在步驟S4.3確定是否已經收到由在當前會話期間接收的FDT中的對應TOI所標識的所有TO。如果做出肯定確定,則確定文件遞送會話已經成功完成,因為迄今為止手機1已經收到預定要由該會話遞送的所有文件,而且在步驟S4.4離開該會話。離開會話將被理解為包括終止接收用於該會話的分組。在多數情況下,這涉及到切斷DVB-H接收器19的至少一些接收器功能,不過它也可以保持接通以便接收其它廣播數據。一旦已經離開會話,手機的功率消耗可以極大地減少,由此延長在電池17需要再充電之前的時間。手機1包括用於在接近完成文件遞送過程時避免離開會話的裝置。在這一例子中,如果在步驟S4.3做出否定確定,則操作繼續到步驟S4.5。這裡確定是否僅有一個TO留待接收,即是否已經收到在會話的一個或多個FDT中標識的除該TO之外的所有TO。這實際上被確定為接近完成文件遞送過程,但是將會理解到可以使用其它方案來替代。例如,沒有收到的分組或者沒有收到的TO的數目可以用作為可選閾值,其中該數目大於一。如果確定文件遞送過程並非接近完成,則在步驟S4.4離開會話。繼步驟S4.5的肯定確定之後,操作繼續到可選步驟S4.6。此步驟之所以可選是因為它可以完全省略。在步驟S4.6確定文件遞送過程是否不久將完成,在這一例子中是通過確定是否將在短的預定時間段之內收到或者完成一個遺漏或者不完整的TO來實現的。這可以用任何適當的方式來進行。例如可能的是,如果當前正在以穩定的速率接收分組而分組長度又已知,這可以預測完成分組接收所需要的時間量。可以使用對分組傳輸定時或者調度(例如從轉盤式存儲器(carousel)等反覆地發射分組)的任何了解、對平均或者最近的數據接收速率的計算和/或留待接收的數據的量來計算或者估計完成文件遞送會話接收的時間。如果正向糾錯數據如ReedSolomon數據形成TO的一部分,則可以確定DVB-H接收器19不需要零填充。同樣在這一情況下,不需要接收所有應用數據和/或奇偶數據,這既因為奇偶數據可以糾正應用數據中的錯誤,又因為奇偶數據只有在應用數據中有錯誤時才需要。構成少許時間量的時間可以用任何適當的方式來確定。它可以是預定的。它可以依賴於電池17中剩餘的電荷量。特別地,如果檢測到電池17中有相對高的電荷電平則時間量可以較大,而如果電池沒有太多電荷則時間量可以較少。電池電荷電平可以用任何適當的方式來確定。如果步驟S4.6提供肯定確定,則在步驟S74.4接收器19離開會話之前,該會話在步驟S4.7繼續短的時間,例如在步驟S4.6中用作為閾值的預定時間。可以使用單獨的計時器來實施步驟S4.7。如果步驟S.5和4.6中的一個步驟提供否定確定,則在沒有收到所有文件的情況下就在步驟S4.4離開會話。這一點在繼步驟S4.7之後沒有收到所有文件時同樣適用。在這些情況中的任一情況下,可以例如在顯示器8上提供錯誤消息。DVB-H接收器可以據此推斷該文件遞送會話是不受支持的會話類型。可以允許系統在離開會話之前通過等待到在計時器到期之後的下一個調度鏈路層復用時隙(即用於DVB-H的時間片脈衝串(timesliceburst))或者整個時隙周期(該周期佔用DVB-H最多41秒)為止來進行刷新(flush)。圖3的步驟S3.3至S18的操作可以用軟體實施,例如通過基於不言自明的如下偽代碼。從會話接收具有TOIM的分組PIf分組P攜帶部分或者完整的FDT實例{If在接收之後完整地收到FDT實例{If完整收到的FDT實例是「新的」FDT實例{For在收到的FDT實例中的每個TOIN,do{IfN是「新的」TOI聲明{Iftable_wait_timer(N)有效{停止table_wait_timer(N)}else{設置fragment_wait_timer(N);啟動fragment_wait_timer(N)}}}If在FDT實例中有任何「新的」TOI聲明{重置global_new_table_wait_timer;}}}else{If這是由接收器看到/收到的用於TOIM的第一分組{Iffragment_wait_timer(M)有效{停止fragment_wait_timer(M)}If接收器尚未看到/收到用於TOIM的聲明{設置table_wait_timer(M);啟動table_wait_timer(M)}}}針對下一個分組P進行重複。作為上述實施的可選的實施如下。取代了設置所示命令「重置globa_new_table_wait_timer」,同一效果可以實現如下代之以將該命令設置於「IfN是「新的」TOI聲明」確定之後,即作為與「Iftable_wait_timer(N)有效」確定步驟相連續的命令。這就具有與上述關於圖3操作的可選操作之一相同的效果。DVB-H接收器19的操作可以總結如下。在接收文件遞送會話時,其中欄位描述符表FDT標識了隨同FDT一起發送的TO,接收器19使用多個計時器來確定是否收到該會話的文件。當收到該FDT時為在該FDT中聲明的每個新TO啟動片段等待計時器t1。當收到對應TO的至少一個片段時取消每個計時器。可選地在已經收到所有TO時取消單個計時器。當收到在FDT中聲明的所有TO時啟動新對象等待計時器t3,而在收到新的FDT時取消該計時器。只要收到在任何收到的FDT中都未聲明的TO時就啟動許多表等待計時器t2之一,而在收到聲明那一對象的FDT時取消該計時器。如果任何計時器到期則離開文件遞送會話。如果繼計時器到期之後認為已經接近完全地收到文件遞送會話,則在短的時間段之後離開會話以便允許完全地接收該會話。圖3和圖4的操作提供了對動態文件廣播會話的支持,即在該會話中文件可以而且由此TO也可以在會話中改變。特別地就是有助於提供這一支持的步驟S3.12。現在參照圖5來描述將圖3的操作應用到預期的文件遞送會話場合。在圖5中,示出了隨時間向右進展的時間表,該時間表圖示了手機1的DVB-H接收器19在接收文件遞送會話期間的操作。該會話開始於T開始而結束於T結束。在時刻T1,DVB-H接收器19加入文件遞送會話。在時刻T2,接收器19接收FDT表的實例A(FDTA)。此表將對象與它們的語義(比如名稱、大小、媒體類型等)相關聯。在這一例子中,FDTA聲明了傳送對象x、y,也可以聲明一些其它傳送對象。這是接收器19看到的FDT表的第一實例。接收器利用與片段等待時刻參數相等的值來為FDT中的每個TOI設置片段等待計時器t1。然後啟動這些計時器。在時刻T1與時刻T3之間,接收器19接收一些分組。這些分組中的一些分組屬於在FDTA中聲明的TO。接收器19在收到在FDTA中聲明的TO的第一片段時停止用於那一TO的片段等待計時器t1。在這一例子中,接收來自每個所聲明的TO的片段,但是如果不是這樣則將會離開會話。在時刻T4,接收器19接收屬於傳送對象「z」的分組,該傳送對象在迄今為止看到的任何表實例中都沒有聲明過。接收器19然後利用表等待參數的值來為那一分組設置表等待計時器t2,而且啟動該計時器。截至時刻T5,接收器19已經收到在迄今為止看到的FDT表的實例中聲明的所有文件。雖然截至時刻T3已經收到來自每個TO的至少一個片段,但是截至時刻T5已經收到用於每個TO的所有片段。接收器19在這裡利用與新對象等待參數相等的值來設置對象等待計時器t3,而且啟動該計時器。在時刻T6,接收器19收到FDT表的實例B(FDTB)。在這一例子中,FDTB不同於FDTA,而且聲明TOw、v以及可能一些其它TO。如果在FDTB中聲明的任何TO是在FDT表的任何先前實例即FDTA中未聲明的TO,則接收器停止(以及可選地也重置)用於這些TO的表等待計時器t2(見圖3的步驟S3.8)。另外,如果FDTB聲明了傳送對象「z」,則接收器19停止(以及可選地也重置)對象等待計時器t3(見步驟S3.13)。文件遞送會話具有在這一例子中接收器19已知的經定義的結束時刻T結束。在這一情況下,當接收器19到達文件遞送會話的結束時刻T結束時,它就離開文件遞送會話。圖6的狀態機29包括第一狀態30至第五狀態34。在第二狀態31中,接收器等待TOI或者等待TOI的聲明。在第三狀態32中,接收器空閒。在第五狀態34中,已經完全收到所有聲明的對象。可以在作為錯誤狀態的第一狀態30中或者指示了會話完成的第四狀態33中離開話路。有許多事件可以觸發自等待狀態31起的轉變。當收到包含一個或多個新TOI,也就是先前尚未聲明的TOI,的FDT時觸發第一轉變36。這觸發了為每個新的TOI設置和啟動片段等待計時器t1。該轉變36去往等待狀態31。響應於收到用於如下TOI的分組這一事件來觸發第二轉變37,該TOI具有有效的片段等待計時器t1。該響應是停止用於那一TOI的片段等待計時器t1。此轉變37可以僅在仍然有一個或多個有效片段等待計時器t1時才發生。該轉變37返回到等待狀態31。通過收到包含用於如下TOI的聲明的FDT這一事件來觸發第三轉變38,該TOI具有有效的表等待計時器t2。此轉變38可以僅在仍然有一個或多個有效表等待計時器t2時才發生。在轉變38時停止用於那一TOI的有效等待表t2。第三轉變38去往等待狀態31。通過收到用於不是FDT表的TOI的第一分組這一事件來觸發第四轉變39。這觸發了為那一TOI啟動表等待計時器t2。該轉變去往等待狀態31。響應於收到用於如下TOI的分組這一事件來進行從等待狀態31到空閒狀態32的轉變,該TIO具有有效的片段等待計時器t1。停止用於那一TOI的片段等待計時器t1。通過收到包含用於如下TOI的聲明的FDT這一事件來觸發第六轉變41,該TOI具有有效的表等待計時器t2。用於那一TOI的表等待計時器由於此轉變41而停止。第六轉變41是從等待狀態31到空閒狀態32。當在空閒狀態32中時,有三個可能的轉變。響應於收到包含一個或多個新TOI的FDT這一事件的是第一轉變42。這觸發了為每個新的TOI設置和啟動片段等待計時器t1。該轉變是從空閒狀態32到等待狀態31。響應於收到用於不是FDT表的TOI的第一分組而發生從空閒狀態32到等待狀態31的另一轉變43。這觸發了為那一TOI啟動表等待計時器t2。第三轉變是從空閒狀態32轉變到對象已接收狀態34。此轉變在圖中標記為44。此轉變44在收到最後的遺漏文件片段時發生。這觸發了重置和啟動對象等待計時器t3。當在TO已接收狀態34中時,三種轉變是可能的。第一轉變45A去往等待狀態31而且在收到包含一個或多個新TOI的FDT時發生。這觸發了為每個新的TOI設置和啟動片段等待計時器t1。可選地,此轉變45A可以造成對象等待計時器t3停止。第二轉變45B去往等待狀態31。此轉變45B在收到具有如下TOI的分組時發生,該TOI在迄今為止收到的任何FDT實例中都尚未聲明。轉變45B觸發了為收到的新TOI設置和啟動表等待計時器t2。可選地,此轉變45B可能造成對象等待計時器t3停止。第三轉變46是從TO已接收狀態34到會話完成狀態33的轉變。此轉變46在對象等待計時器t3到期時發生。從等待狀態31到錯誤狀態30的轉變在用於任何TOI的片段等待計時器t1或者表等待計時器t2中的任何計時器到期時發生。此轉變在圖中標記為47。從等待狀態31到TO已接收狀態34的轉變48在收到最後的遺漏文件片段時發生。這重置和啟動對象等待計時器t3。現在將參照圖7來描述可選狀態機49。在這一狀態機中,等待狀態50涉及正在等待TOI或者TOI的聲明這一狀態。提供了會話未完成狀態51。通過轉變52從等待狀態50轉變到此狀態51,該轉變響應於對象等待計時器t3到期而發生。這僅在尚未收到一個或多個聲明的對象時才發生。響應於用於任何TOI的任何片段等待計時器t1或者任何表等待計時器t2到期而進行從等待狀態50到錯誤狀態54的轉變53。還存在空閒狀態55和會話完成狀態56。響應於收到包含新TOI(即先前未曾聲明的TOI)的FDT這一事件來進行從等待狀態50到它本身的轉變57。由於該轉變57而產生的動作是為在FDT中聲明的每個新TOI啟動和設置片段等待計時器t1以及重置對象等待計時器t3。響應於收到用於如下TOI的分組這一事件而發生從等待狀態到它本身的第二轉變58,該TOI具有有效的片段等待計時器t1。這造成用於那一TOI的片段等待計時器t1停止。這僅在有一個或多個有效的片段等待計時器t1時才發生。響應於收到包含用於如下TOI的聲明的FDT這一事件而發生從等待狀態50到它本身的第三轉變59,該TOI具有有效的表等待計時器t2。這樣的結果是用於那一TOI的表等待事件t2停止。這僅在有一個或多個有效的表等待計時器t2時才發生。當收到用於不是FDT表的TOI的第一分組時發生從等待狀態50到它本身的第四轉變60。這造成用於那一TOI的表等待計時器t2啟動。當收到用於如下TOI的分組時進行從等待狀態50到空閒狀態55的轉變61,該TOI具有有效的片段等待計時器t1。這造成用於那一TOI的片段等待計時器t1停止。當收到包含用於如下TOI的聲明的FDT時發生從等待狀態50到空閒狀態55的又一轉變62,該TOI具有有效的表等待計時器t2。這樣的結果是用於那一TOI的表等待計時器t2停止。響應於收到包含一個或多個新TOI的FDT這一事件來進行從空閒狀態55到等待狀態50的轉變63。在進行該轉變63時,設置和啟動用於每個新TOI的片段等待計時器t1以及重置對象等待計時器t3。當收到用於不是FDT表的TOI的第一分組時發生從空閒狀態55到等待狀態50的又一轉變64。這造成用於那一TOI的表等待計時器t2停止。當對象等待計時器t3到期時發生從空閒狀態55到會話未完成狀態51的轉變65。這僅在尚未收到一個或多個聲明的對象時才發生。如果在空閒狀態55中對象等待計時器t3到期而且已經收到所有聲明的對象,則代之以進行去往會話完成狀態56的轉變66。在會話未完成狀態51中時,五個轉變是可能的。首先,響應於收到對於聲明的TOI而言遺漏的分組這一事件,而且在已經收到所有聲明的對象這一條件下,進行去往會話完成狀態56的轉變67。響應於收到用於不是FDT的未聲明TOI的第一分組這一事件,構成兩個不同實施例的兩個可選轉變是可能的。第一可選轉變是從會話未完成狀態51到等待狀態50的轉變68A。此轉變68A造成用於該TOI的表等待計時器t2啟動。提供了轉變68A從而允許利用尚未遇到的文件來補充迄今為止已經收到的文件集。可選地從會話未完成狀態51到它本身的轉變68B更為嚴格,僅允許完成已經遇到的文件。此轉變不造成任何計時器有所更改。響應於收到包含一個或多個新TOI的FDT這一事件而發生第四轉變69A。該轉變69A是從會話未完成狀態51到錯誤狀態54的轉變。這在提供了會話中的文件集未經更改的某種確信的同時還為會話提供了如下定義好的時間窗,在該時間窗之內接收器可以完成對可能未完成的文件的取回。這在如下應用中特別地有利,該應用在發送方想要確保有足夠的傳輸以供任何接收器完成對會話內容的取回時卻使用不可靠的底層傳送。當第四計時器t4到期時發生從會話未完成狀態51到錯誤狀態54的第五轉變69B。只要進入會話未完成狀態51時就重置和啟動計時器t4,而只要退出該狀態時就停止該計時器。包括計時器t4是為了確保不會無限地佔用會話未完成狀態。也可以有從會話未完成狀態51到錯誤狀態54的其它轉變(未示出)。在圖8中示出了可選狀態機70。狀態機70包括等待狀態71。在該等待狀態中,狀態機70在等待TOI或者等待TOI的聲明。狀態機70中的其它狀態是錯誤狀態72、空閒狀態73和會話完成狀態74。當在等待狀態71中時,狀態機70可以經歷回到等待狀態71的轉變75。響應於收到包含一個或多個新TOI的FDT這一事件來進行轉變75。此轉變75觸發了為每個新TOI設置和啟動片段等待計時器t1。它也觸發了重置對象等待計時器t3。當收到用於如下TOI的分組時發生從等待狀態71到它本身的又一轉變76,該TOI具有有效的片段等待計時器t1。這造成了停止用於那一TOI的片段等待計時器。這僅在有一個或多個有效的等待計時器t1時才發生。當收到包含用於如下TOI的聲明的FDT時發生從等待狀態71到它本身的第三轉變78,該TOI具有有效的表等待計時器t2。這僅在有一個或多個有效的表等待計時器t2時才發生。用於在收到的FDT中包含的每個TOI的表等待計時器t2被停止。當收到用於不是FDT表的TOI的第一分組時發生從等待狀態71到它本身的第四轉變79。這觸發了為那一TOI啟動表等待計時器t2。如果在等待狀態71中,由收到用於如下TOI的分組這一事件來觸發去往空閒狀態73的轉變80,該TOI具有有效的片段等待定時器t1。轉變80觸發了停止用於那一TOI的片段等待計時器。響應於收到包含用於如下TOI的聲明的FDT而發生從等待狀態71到空閒狀態73的又一轉變81,該TOI具有有效的表等待計時器t2。用於那一TOI的表等待計時器t2被停止。當在空閒狀態73中時,響應於收到包含一個或多個新TOI的FDT來進行去往等待狀態71的轉變。這造成為每個新的TOI設置和啟動片段等待計時器t1以及重置對象等待計時器t3。當收到用於不是FDT表的TOI的第一分組時發生從空閒狀態73到等待狀態71的又一轉變83。這造成為那一TOI啟動表等待計時器t2。如果狀態機70在等待狀態71中而且對象等待計時器t3到期,則進行去往錯誤狀態72的轉變84。這僅在有尚未收到的一個或多個聲明的對象時才發生。如果在等待狀態51中用於任何TOI的任何片段等待計時器t1或者任何表等待計時器t2到期,則進行去往錯誤狀態72的轉變85。當在空閒狀態73中而且在對象等待計時器t3到期時,進行去往會話完成狀態74的轉變86。這一點的條件是已經收到所聲明的對象。如果對象等待計時器t3到期而一個或多個聲明的對象尚未收到,則代之以進行去往錯誤狀態72的轉變87。片段等待時間、表等待時間和對象等待事件參數可以在空中以信號發送到接收器19。使用以信號發送的參數之所以有利是因為它提供了由伺服器驅動的優化,即文件廣播器可以根據會話內容來修改參數。信號發送可以用任何適當的方式發生。若干例子如下所述。可以在LCT(分層編碼傳送)擴展報頭中以信號發送參數。例如,可以在單個可變長度的LCT擴展之內以信號發送所有參數。這裡,該LCT擴展報頭可以依次包括以下欄位HET(報頭擴展類型);HEL(報頭擴展長度);片段等待時間參數;表等待時間參數;以及對象等待時間參數。欄位的次序無關緊要。可選地可以在固定長度的相應LCT報頭擴展中用信號發送每個參數。例如,可以有各自包括HET欄位和相應時間參數欄位的三個報頭擴展。可選地可以使用這兩個選項的任何組合以信號發送參數,例如使用一個固定長度的報頭擴展和兩個可變長度的報頭擴展。可以代之以使用FDT擴展欄位作為FDT實例中的一個或多個屬性來實現以信號發送參數。對於FLUTE而言,擴展欄位可以如下所示xs:attributename=″tablc_wait″type=″xs:unsignedLong″use=″optional″/xs:attributename=″fragment_wait″type=″xs:unsigncdLong″use=″optional″/xs:attributename=″new_object″type=″xs:unsignedLong″use=″optional″/例如,這一點的實例可以是Pxmlvcrsion=″1.0″encoding=″UTF-8″?FDT-Instancexmlns:xsi=″http://www.w3.org/2001/XMLSchema-instancc″xmlns:fl=″http://www.examplc.com/flute″xsi:schcmaLocation=″http://www.cxample.com/flutc-fdt.xsd″Expircs=″2890842807″table_wait=″100″fragment_wait=″50″new_obiect=″200″FileContent-Location=″www.example.com/menu/tracklist.html″TOI=″1″Content-Type=″text/html″/FileContent-Location=″www.example.com/tracks/trackl.mp3″TOI=″2″Content-Length=″6100″Content-Type=″audio/mp3″Content-Encoding=″gzip″Content-MD5=″Eth76GlkJU45sghK″Some-Private-Extension-Tag=″abc123″//FDT-Instancc可以代之以將參數作為任何其它協議級如L2、IP、UDP、TCP或者RTP的擴展報頭以信號來發送。可以代之以例如在(短)文件中通過TO來攜帶參數。可以使用任何適當的格式如XML,不過也可能使用任何自由文本或者數據文件。作為例子的文件如下start-of-filetable_wait=100;fragment_wait=200;new_object=300end-of-file可選地可以在帶外以信號發送該參數。這一點的一個例子使用了SDP(會話描述協議)描述欄位。作為例子的欄位如下a=fragment_wait:100a=table_wait:200a=new_object:300可選地a=fragment_wait:100;tablewait:200;new_object300上述欄位可以是會話級或者媒體級的參數。可以取回在帶外以信號發送的參數,或者可以在單獨的信道上廣播該參數。可以代之以將參數嵌入於包絡中,例如file-envclopetable_wait=100fragment_wait=200new_object=300file-body...theactualfiledata.../file-body/filc-envelope可以將一個或多個參數預安裝到接收器中,而其它參數可以用任何適當的方式以信號發送。這在一個或多個參數不可變時可以減少信號發送開銷,但是允許可變參數傳達到接收器。所述系統的許多其它改型和變形是可能的。例如,儘管已經結合移動電信手機特別是行動電話來描述了本發明,但是本發明可應用於能夠用來接收在遞送會話中的文件的其它裝置。傳輸可以是通過空中、通過DVB或者其它數字系統的傳輸。該傳輸可以代之以是通過電話或者連接到固定網絡,例如通過網際網路多播連接到PC或者伺服器計算機或者其它裝置的其它有線連接的傳輸。雖然結合了DVB-H上的IPDC來描述了實施例,但是本發明可以應用於能夠支持一對一(單播)、一對多(廣播)或者多對多(多播)分組傳送的任何系統。同樣,通信系統的承載可以是原本單向(比如DVB-T/S/C/H,DAB)或者雙向的(比如GPRS、UMTS、MBMS、BCMCS、WLAN等)。數據分組可以是IPv4或者IPv6分組,不過本發明並不拘泥於這些分組類型。權利要求1.一種用於接收在文件遞送會話中傳輸的數據的接收器模塊,所述模塊包括以下計時器中的一個或多個計時器a)片段等待計時器;b)新對象等待計時器;以及c)表等待計時器;所述接收器模塊用於響應於檢測到所述一個或多個計時器中任何計時器的到期而離開所述文件遞送會話。2.如權利要求1所述的接收器模塊,其中所述片段等待計時器用於響應於所述接收器模塊收到引用一個或多個對象的聲明而被啟動,以及用於響應於所述接收器模塊收到所述一個或多個對象中一個對象的全部或者至少部分或者可選地響應於所述接收器模塊收到所述一個或多個對象中的所有對象的全部或者至少部分而被取消。3.如權利要求2所述的接收器模塊,包括多個片段等待計時器,每個片段等待計時器與在所述聲明中引用的所述對象中的不同對象相關,而且用於響應於所述接收器模塊收到所述關聯對象的全部或者至少部分而被取消。4.如任一前述權利要求所述的接收器模塊,其中所述新對象等待計時器用於響應於檢測到所述接收器模塊已經收到在由所述接收器模塊收到的聲明中引用的一個或多個對象中的所有對象而被啟動;以及用於響應於所述接收器模塊收到又一不同聲明而被取消。5.如任一前述權利要求所述的接收器模塊,其中所述表等待計時器用於響應於所述接收器模塊收到在任何收到的聲明中都未引用的對象而被啟動,以及用於響應於所述接收器模塊收到引用那一對象的聲明而被取消。6.如權利要求5所述的接收器模塊,包括多個表等待計時器,每個表等待計時器與由所述接收器模塊已經收到的而在任何收到的聲明中都未引用的不同對象相關,每個表等待計時器用於響應於所述接收器模塊收到引用它的關聯對象的所述聲明而被取消。7.如任一前述權利要求所述的接收器模塊,其中所述計時器或每個計時器被設置為具有由對應計時器參數確定的持續時間。8.如權利要求7所述的接收器模塊,其中一個或多個計時器參數永久地存儲於所述接收器模塊中。9.如權利要求7或8所述的接收器模塊,其中一個或多個計時器參數以可更新的方式存儲於所述接收器模塊中。10.如權利要求7至9中任一權利要求所述的接收器模塊,其中所述接收器模塊用於將一個或多個計時器參數作為通過通信網絡接收的信號的部分來接收。11.如權利要求10所述的接收器模塊,其中一個或多個計時器參數作為數據分組的部分而接收。12.如任一前述權利要求所述的接收器模塊,其中所述接收器模塊用於接收包含對象和聲明的分組,例如網際網路協議分組。13.如權利要求1至11中任一權利要求所述的接收器模塊,其中所述接收器模塊用於接收包含對象、聲明和一個或多個計時器參數的分組,例如網際網路協議分組。14.如任一前述權利要求所述的接收器模塊,其中所述接收器模塊用於響應於計時器到期而確定對文件遞送會話接收完整性的測量,用於將該測量與閾值做比較,以及用於基於所述比較近似立即地離開所述會話或者在有效時間段之後離開所述會話。15.如權利要求14所述的接收器模塊,其中所述有效時間段具有與所述計時器或者所述計時器中最短計時器的到期時間的一半相等或者更短的持續時間。16.如任一前述權利要求所述的接收器模塊,其中所述接收器模塊用於響應於計時器到期而估計所述文件遞送會話的接收預期完成的時間,用於將該時間與閾值做比較,以及用於基於所述比較近似立即地離開所述會話或者在有效時間段之後離開所述會話。17.一種便攜手持設備,包括如任一前述權利要求所述的接收器模塊。18.一種接收文件遞送會話的方法,所述方法包括以下步驟中的一個或多個步驟a)啟動片段等待計時器;b)啟動新對象等待計時器;以及c)啟動表等待計時器;所述方法還包括響應於檢測到所述一個或多個計時器中任何計時器的到期而離開所述文件遞送會話。19.如權利要求18所述的方法,其中響應於收到與一個或多個對象有關的聲明而執行所述啟動片段等待計時器的步驟,以及所述方法還包括響應於收到所述一個或多個對象中一個對象的全部或者至少部分或者可選地響應於收到所述一個或多個對象中的所有對象的全部或者至少部分而取消所述片段等待計時器。20.如權利要求18或19所述的方法,其中響應於檢測到已經收到在收到的聲明中引用的一個或多個對象中的所有對象而執行所述啟動所述新對象等待計時器的步驟,所述方法還包括響應於收到又一聲明而取消所述新對象等待計時器。21.如權利要求18至20中任一權利要求所述的方法,其中響應於收到在任何收到的聲明中都未引用的對象而執行所述啟動所述表等待計時器的步驟,所述方法還包括響應於收到引用那一對象的聲明而取消所述表等待計時器。22.一種網絡節點,可用於針對文件遞送會話提供由接收器使用的片段等待計時器參數、新對象等待計時器參數和表等待計時器參數中的一個或多個參數。23.一種發射器,可用於針對文件遞送會話發射由接收器使用的片段等待計時器參數、新對象等待計時器參數和表等待計時器參數中的一個或多個參數,所述一個或多個參數可選地隨同所述文件遞送會話一起發射或者形成所述文件遞送會話的部分而發射。24.一種系統,包括如權利要求23所述的發射器和包括如權利要求10或者權利要求10的任一從屬權利要求所述的接收器模塊的接收器。全文摘要在收到其中欄位描述符表(FDT)對隨同FDT一起傳輸的傳送對象(TO)進行標識的文件遞送會話時,接收器使用多個計時器來確定是否已經收到會話的文件。當收到FDT時為在那一FDT中聲明的每個新TO啟動片段等待計時器t1。當收到對應TO的至少一個片段時取消每個計時器。可選地在已經收到所有TO的至少一個片段時取消單個計時器。當收到在FDT中聲明的所有TO時啟動新對象等待計時器t3,而在收到新的FDT時取消該計時器。只要收到在任何收到的FDT中都未聲明的TO時就啟動多個表等待計時器t2中的一個計時器,而在收到聲明那一對象的FDT時取消該計時器。如果任何計時器到期則離開文件遞送會話。如果繼計時器到期之後認為已經接近完全地收到文件遞送會話,則在短的時間段之後離開會話,以便允許完全地接收該會話。文檔編號H04L29/06GK1973514SQ200580020889公開日2007年5月30日申請日期2005年6月10日優先權日2004年6月25日發明者託尼·佩拉,託皮·波若萊南申請人:諾基亞公司