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

用于跨應(yīng)用版本的對象/形狀的屬性的計(jì)算的方法和系統(tǒng)與流程

文檔序號:11733423閱讀:195來源:國知局
用于跨應(yīng)用版本的對象/形狀的屬性的計(jì)算的方法和系統(tǒng)與流程
本發(fā)明涉及跨應(yīng)用版本的對象/形狀的屬性的計(jì)算。

背景技術(shù):
不同的應(yīng)用能夠?qū)哂邢嗤蛳嗨莆募愋偷奈募M(jìn)行操作。然而,不同的應(yīng)用可提供不同的文件內(nèi)容和/或支持對文件的不同操作。通常期望維持由應(yīng)用的第一版本創(chuàng)建的文件與該應(yīng)用的不同版本或完全不同的應(yīng)用之間的兼容性。這樣做允許不同應(yīng)用的用戶共享、操縱和/或以其他方式訪問由第一版本應(yīng)用創(chuàng)建的文件,即使該文件可能已經(jīng)使用提供其它版本或其它應(yīng)用中不存在的附加內(nèi)容、能力或特征的該應(yīng)用的一個(gè)版本來創(chuàng)建。當(dāng)這發(fā)生時(shí),該應(yīng)用的特征較少的版本能夠相對于它支持的能力和內(nèi)容來訪問和操縱該文件,同時(shí)忽略它不支持的能力和內(nèi)容,由此向該特征較少的應(yīng)用的用戶提供使用和/或修改應(yīng)用文件的能力。然而,如果特征較少的應(yīng)用修改應(yīng)用文件,則特征較少的應(yīng)用可能由于該特征較少的應(yīng)用的限制而不正確地保留文件內(nèi)容中的對于該特征較少的應(yīng)用是未知的部分。本發(fā)明的各實(shí)施例正是對于這一一般環(huán)境而構(gòu)想的。雖然本背景技術(shù)中著眼于特定的問題,但本發(fā)明決不旨在限于解決那些特定問題。

技術(shù)實(shí)現(xiàn)要素:
本公開的實(shí)施例涉及維護(hù)存儲在可由應(yīng)用的不同版本共享的文件中的屬性??墒褂米悦枋鑫募硐蛞粦?yīng)用提供可用于正確地計(jì)算或以其他方式維護(hù)文件數(shù)據(jù)的信息,即使操縱該自描述文件的應(yīng)用的一個(gè)版本不支持該文件數(shù)據(jù)的各部分。在各實(shí)施例中,自描述文件可包含擴(kuò)展部分或者可以按其它方式存儲或關(guān)聯(lián)于描述對應(yīng)用的一個(gè)版本可能不支持的數(shù)據(jù)的適當(dāng)計(jì)算的元數(shù)據(jù),由此允許該應(yīng)用版本適當(dāng)?shù)乇A粑粗募?nèi)容。由此,該自描述文件可由應(yīng)用用來適當(dāng)?shù)乇A粑粗募?nèi)容。本文公開的其它實(shí)施例涉及用于生成和維護(hù)自描述文件的系統(tǒng)和方法。提供本概述是為了以簡化的形式介紹將在以下詳細(xì)描述中進(jìn)一步描述的一些概念。本概述并不旨在標(biāo)識出所要求保護(hù)的主題的關(guān)鍵特征或必要特征,也不旨在用于限定所要求保護(hù)的主題的范圍。附圖說明在所有的圖中,相同標(biāo)號表示相同元素或相同類型的元素。圖1示出了保留未知文件內(nèi)容的自描述文件100的實(shí)施例。圖2是表示用于創(chuàng)建自描述文件的方法200的實(shí)施例的流程圖的圖示。圖3是表示由能夠適當(dāng)?shù)刂匦掠?jì)算存儲在自描述文件中的屬性值的應(yīng)用執(zhí)行的方法300的實(shí)施例的流程圖的圖示。圖4是表示用于保留未知文件內(nèi)容的方法400的實(shí)施例的流程圖的圖示。圖5示出了用于實(shí)現(xiàn)本文公開的各方法的計(jì)算機(jī)環(huán)境和計(jì)算機(jī)系統(tǒng)500的實(shí)施例。圖6A示出了用于執(zhí)行本文描述的創(chuàng)建和利用自描述文件格式的實(shí)施例的移動計(jì)算設(shè)備600的一個(gè)實(shí)施例。圖6B是適用于實(shí)施本文公開的自描述文件格式的實(shí)施例的示例性移動計(jì)算設(shè)備系統(tǒng)602的簡化框圖。圖7示出了用于將本文公開的各實(shí)施例提供給一個(gè)或多個(gè)客戶機(jī)設(shè)備的系統(tǒng)的實(shí)施例。具體實(shí)施方式本發(fā)明現(xiàn)將參考其中示出了一些可能的實(shí)施例的附圖來更完整地描述各示例性實(shí)施例。然而,其他方面能以許多不同的形式來實(shí)現(xiàn),并且在本發(fā)明中包括各具體實(shí)施例不應(yīng)被解釋為將這些方面限于在此闡明的各實(shí)施例。相反,包括附圖中描繪的各實(shí)施例是為了提供全面和完整且將預(yù)期的范圍完全地傳達(dá)給本領(lǐng)域技術(shù)人員的公開。在參考附圖時(shí),使用相同的附圖標(biāo)記來指示所有附圖所示的相同的結(jié)構(gòu)和元素。本公開的實(shí)施例涉及維護(hù)存儲在由應(yīng)用的不同版本共享的文件中的屬性。軟件產(chǎn)品被持續(xù)地開發(fā)和發(fā)布為新版本或不同版本,每一版本都可提供不同的能力和/或內(nèi)容。通常,不同的應(yīng)用能夠?qū)ο嗤奈募愋瓦M(jìn)行操作。期望維持由應(yīng)用的第一版本創(chuàng)建的文件與該應(yīng)用的不同版本或完全不同的應(yīng)用之間的兼容性。這樣做向不同應(yīng)用的用戶提供了共享、操縱和/或以其他方式訪問由第一應(yīng)用創(chuàng)建的文件的能力,即使該文件可能已經(jīng)使用提供超出其它應(yīng)用或該應(yīng)用的其它版本的能力的附加能力和/或內(nèi)容的該應(yīng)用的一個(gè)版本來創(chuàng)建。在這種情況下,應(yīng)用的特征較少的版本能夠相對于該特征較少的應(yīng)用所支持的能力和內(nèi)容來訪問和操縱文件,同時(shí)忽略該特征較少的應(yīng)用不支持和/或提供的能力和或內(nèi)容。由此,特征較少的應(yīng)用的用戶具有使用和/或修改由第一應(yīng)用創(chuàng)建的應(yīng)用文件的能力。然而,如果特征較少的應(yīng)用修改由第一應(yīng)用創(chuàng)建的文件,則特征較少的應(yīng)用可能由于該特征較少的應(yīng)用的限制而不正確地保留文件中的對于該特征較少的應(yīng)用是未知的部分。在某些情況下,由應(yīng)用的全特征或較新版本提供的能力、內(nèi)容和/或?qū)傩钥扇Q于特征較少(或較老版本)的應(yīng)用不支持的應(yīng)用文件的內(nèi)容和/或?qū)傩浴T谶@些情況下,特征較少的應(yīng)用的用戶可修改該特征較少的應(yīng)用支持的屬性;然而,因?yàn)樘卣鬏^少的應(yīng)用不支持附加能力、內(nèi)容和/或?qū)傩?,該特征較少的應(yīng)用無法相對于不支持(或未知)的內(nèi)容來正確地更新應(yīng)用文件。為了容易討論,本文公開的實(shí)施例和示例將針對諸如由華盛頓州雷蒙德市的微軟公司提供的等繪圖應(yīng)用來描述。在第一實(shí)施例中,繪圖應(yīng)用的全特征版本可以為一形狀提供諸如顏色、陰影和透明度等屬性。該全特征應(yīng)用的透明度屬性可取決于陰影屬性的值,因此第一應(yīng)用基于陰影屬性的值來計(jì)算透明度屬性的值。這些屬性的值然后可被保存到應(yīng)用文件中。該應(yīng)用文件然后可由特征較少的第二應(yīng)用打開。該特征較少的應(yīng)用可支持形狀的顏色和陰影屬性,但它可能不支持透明度屬性或者它可能不將透明度屬性視作取決于形狀。第二應(yīng)用然后可修改形狀的陰影屬性并將該修改寫入到應(yīng)用文件。然而,因?yàn)榈诙?yīng)用不識別或支持透明度屬性和陰影屬性之間的依賴性,所以第二應(yīng)用無法響應(yīng)于修改陰影屬性而適當(dāng)?shù)馗峦该鞫葘傩?。因?yàn)橥该鞫葘傩晕幢坏诙?yīng)用正確地更新,所以當(dāng)?shù)谝粦?yīng)用隨后訪問該應(yīng)用文件時(shí),第一應(yīng)用無法正確地顯示形狀的透明度屬性。盡管在該示例中使用繪圖應(yīng)用,但本領(lǐng)域技術(shù)人員將會理解,所描述的問題在其它類型的應(yīng)用中的普遍存在的,諸如但不限于文字處理應(yīng)用、電子表格應(yīng)用、演示應(yīng)用或能夠共享文件的任何其它類型的版本化應(yīng)用(或不同的應(yīng)用)。本領(lǐng)域的技術(shù)人員將會理解,本文公開的實(shí)施例可以用其它繪圖應(yīng)用或其他類型的應(yīng)用來實(shí)施。本公開的實(shí)施例向應(yīng)用提供為原生或擴(kuò)展對象、屬性、關(guān)系、公式和/或自描述文件的任何其它分量提供有意義的值的能力。在各實(shí)施例中,原生對象、屬性、關(guān)系、公式和/或分量是自描述文件中的應(yīng)用支持的部分。由此,應(yīng)用能夠適當(dāng)?shù)靥幚砗?或提供該文件的原生分量的值。擴(kuò)展對象、屬性、關(guān)系、公式和/或分量可以是自描述文件中的應(yīng)用可能不支持的部分。由此,應(yīng)用無法適當(dāng)?shù)靥幚砗?或提供該文件的擴(kuò)展部分的值。本公開的各實(shí)施例通過提供可以在各應(yīng)用的不同版本之間共享的自描述文件來解決這些示例性問題。在各實(shí)施例中,可使用自描述文件來向一應(yīng)用提供可用于正確地計(jì)算(或以其他方式維護(hù))文件數(shù)據(jù)的信息,即使操縱該自描述文件的應(yīng)用不支持該文件數(shù)據(jù)的各部分。該自描述文件可包括允許應(yīng)用在修改自描述文件時(shí)重新計(jì)算原生和擴(kuò)展屬性的信息。原生屬性可以是應(yīng)用支持的自描述文件的值(例如,對該應(yīng)用是已知的對象、屬性、公式等)。擴(kuò)展屬性可以是自描述文件中的應(yīng)用不支持的值。在各實(shí)施例中,自描述文件可包含擴(kuò)展部分,或者可以按其他方式存儲提供與對自描述文件中的數(shù)據(jù)的一個(gè)或多個(gè)部分的處理有關(guān)的信息的數(shù)據(jù)。在一個(gè)實(shí)施例中,與數(shù)據(jù)處理有關(guān)的信息可以在擴(kuò)展部分中提供。該擴(kuò)展部分可以描述對關(guān)于文件內(nèi)容(例如包括一應(yīng)用版本可能不支持的文件內(nèi)容)的所依賴的數(shù)據(jù)的適當(dāng)計(jì)算。該擴(kuò)展部分由此允許應(yīng)用的特征較少的版本適當(dāng)?shù)乇A粑粗募?nèi)容。在附加實(shí)施例中,應(yīng)用的全特征版本能夠檢測另一應(yīng)用何時(shí)未適當(dāng)?shù)赜?jì)算文件內(nèi)容的值。在這些實(shí)施例中,應(yīng)用的全特征版本可以重新計(jì)算被誤計(jì)算的值并適當(dāng)?shù)馗挛募?nèi)容。圖1是用于保留可以跨應(yīng)用的不同版本共享的文件的未知文件內(nèi)容的自描述文件100的實(shí)施例。在各實(shí)施例中,自描述文件可包含一個(gè)或多個(gè)對象,諸如對象1106A和對象N106B。盡管圖1所示的自描述文件100包含兩個(gè)對象,但自描述文件100可包含如由省略號所示的任何數(shù)量的對象。在各實(shí)施例中,對象可涉及文本、形狀、值、數(shù)據(jù)結(jié)構(gòu)或能夠被存儲在文件中的任何其它類型的數(shù)據(jù)。在各實(shí)施例中,每一個(gè)對象都可具有與其相關(guān)聯(lián)的一個(gè)或多個(gè)屬性,諸如與對象1106A相關(guān)聯(lián)的屬性1108A、屬性2108B和屬性3108C以及與對象N106B相關(guān)聯(lián)的屬性1108D、屬性2108E和屬性3108F。盡管對象1106A和對象N106B被示為具有與各自相關(guān)聯(lián)的三個(gè)屬性,但本領(lǐng)域技術(shù)人員將會認(rèn)識到被存儲在自描述文件100中的對象可具有與其相關(guān)聯(lián)的任何數(shù)量的屬性或者可以不具有與其相關(guān)聯(lián)的任何屬性。圖1所示的對象和屬性可以取決于與其一起采用自描述文件100的應(yīng)用而不同。例如,如果自描述文件100與繪圖應(yīng)用相關(guān)聯(lián),則對象可涉及不同的形狀,且屬性可涉及形狀的不同特性(例如,顏色、陰影、透明度、大小、輪廓等)。在另一實(shí)施例中,如果自描述文件100與文字處理應(yīng)用相關(guān)聯(lián),則對象可涉及段落或文本且屬性可涉及諸如字體、字號、樣式等特性。在又一實(shí)施例中,如果自描述文件100與電子表格應(yīng)用相關(guān)聯(lián),則對象可表示表或單元格,且屬性可表示諸如值、公式、字體等特性。在替代實(shí)施例中,屬性可以是應(yīng)用中所包括的任何類型的數(shù)據(jù)。雖然本文描述了對象和應(yīng)用的具體示例,但本領(lǐng)域技術(shù)人員將會認(rèn)識到這些示例不限制本公開的范圍,并且可采用此處公開的自描述文件100的實(shí)施例,而不管該自描述文件100與其相關(guān)聯(lián)的應(yīng)用和/或應(yīng)用數(shù)據(jù)。在各實(shí)施例中,自描述文件100可包含擴(kuò)展部分102。擴(kuò)展部分102包含描述存儲在該文件中的不同類型的數(shù)據(jù)的信息。在各實(shí)施例中,擴(kuò)展部分可包含與文件中的所有數(shù)據(jù)或文件中的數(shù)據(jù)子集有關(guān)的信息。擴(kuò)展部分可描述對象類型、對象屬性、值或存儲在自描述文件中的任何其它類型的數(shù)據(jù)。例如,擴(kuò)展部分102可包含描述對象106A、屬性108A-108C中的任一個(gè)或任何其它類型的數(shù)據(jù)的信息。自描述文件100的擴(kuò)展部分102包含允許應(yīng)用正確地保留存儲在自描述文件100中的對于訪問該文件的應(yīng)用是未知的內(nèi)容的信息。由此,擴(kuò)展部分102向應(yīng)用提供可用于以下操作的信息:更新和/或維護(hù)自描述文件100中的數(shù)據(jù),即使該應(yīng)用不原生地支持該數(shù)據(jù)所涉及的能力或?qū)傩浴T诟鲗?shí)施例中,擴(kuò)展部分可包含XML、二進(jìn)制碼、HTML、源代碼或應(yīng)用和/或執(zhí)行應(yīng)用的處理器能夠解釋的任何其它形式的信息。盡管在圖1中被示為自描述文件100的一部分,但在替代實(shí)施例中,擴(kuò)展部分102可以存在于自描述文件100之外。例如,擴(kuò)展部分102可以是自描述文件100參考的單獨(dú)文件。在其他實(shí)施例中,擴(kuò)展部分可以與自描述文件100分開存儲,但可由訪問自描述文件100的應(yīng)用按其它方式訪問,諸如被存儲在應(yīng)用可訪問的目錄中,或者被存儲在可由應(yīng)用訪問的網(wǎng)絡(luò)上,諸如但不限于因特網(wǎng)。在各實(shí)施例中,擴(kuò)展部分102可包含一個(gè)或多個(gè)擴(kuò)展元素,諸如擴(kuò)展1104A、擴(kuò)展2104B和擴(kuò)展N104C。盡管圖1所示的實(shí)施例提供了三個(gè)擴(kuò)展元素,但本領(lǐng)域技術(shù)人員將會認(rèn)識到擴(kuò)展部分102可以包含任何數(shù)量的擴(kuò)展。在各實(shí)施例中,擴(kuò)展被用來定義原本對于訪問自描述文件100的應(yīng)用是未知的或者不被該應(yīng)用原生地支持的對象、屬性或存儲在自描述文件100中的其它類型的數(shù)據(jù)。例如,擴(kuò)展可定義應(yīng)用可能不支持的屬性。在其他實(shí)施例中,擴(kuò)展可定義屬性之間的關(guān)系,應(yīng)用可支持這些屬性但可能不知道屬性之間的關(guān)系。例如,再次參考示例性繪圖應(yīng)用,第一繪圖應(yīng)用可基于形狀的陰影屬性來計(jì)算形狀的透明度屬性。第二陰影可能不原生地支持這一計(jì)算和/或關(guān)系。然而,自描述文件100的擴(kuò)展部分102中提供的擴(kuò)展可定義該計(jì)算和/或關(guān)系,由此向第二應(yīng)用提供可用于計(jì)算透明度屬性以產(chǎn)生有意義的值的信息。由此,在各實(shí)施例中,擴(kuò)展部分102中的擴(kuò)展元素提供應(yīng)用可用來適當(dāng)?shù)赜?jì)算原生支持的特征和擴(kuò)展特征兩者的值的信息,諸如但不限于公式或函數(shù)。在這樣做時(shí),擴(kuò)展部分由此可以向應(yīng)用提供保留未知(例如,非原生支持)的文件內(nèi)容的能力。在各實(shí)施例中,擴(kuò)展元素可以是存儲在自描述文件100的擴(kuò)展部分102中的XML元素。在這些實(shí)施例中,擴(kuò)展元素可以是標(biāo)識可由訪問自描述文件100的應(yīng)用用來保留自描述文件100中的內(nèi)容的信息(例如,公式、函數(shù)、附加對象、附加屬性等)的頂層元素。在這些實(shí)施例中,擴(kuò)展元素可包含用于提供關(guān)于文件內(nèi)容的一個(gè)或多個(gè)部分的描述性信息的一個(gè)或多個(gè)子元素。在一個(gè)實(shí)施例中,擴(kuò)展元素可包含標(biāo)識部分、對象或存儲在自描述文件100中的其它類型的數(shù)據(jù)的類型的一個(gè)或多個(gè)子元素。例如,對象元素可以是定義自描述文件的一部分或者存儲在自描述文件100中的對象的類型的擴(kuò)展元素的子元素。對象元素可包含標(biāo)識對象類型以及該對象存儲的信息的類型的屬性。在各實(shí)施例中,對象元素可以是XML元素。應(yīng)用可使用來自對象元素的信息來標(biāo)識存儲在文件內(nèi)容中的對象。對象元素的示例可以是SectionDef元素。在其中與繪圖應(yīng)用一起利用自描述文件100的實(shí)施例中,SectionDef元素可標(biāo)識以下類型的對象和/或數(shù)據(jù):字符或字符集、段落、劃痕、連接、字段、控件、幾何形狀、動作、層、用戶、屬性、超鏈接、審閱者、注釋、動作標(biāo)簽、制表等。盡管提供了具體示例,但本領(lǐng)域技術(shù)人員將會認(rèn)識到SectionDef元素只是標(biāo)識自描述文件100中的特定對象或數(shù)據(jù)部分的一種類型的子元素。表1提供了SectionDef元素可支持的屬性的示例實(shí)施例。表1:SectionDef元素的示例實(shí)施例在其它實(shí)施例中,擴(kuò)展元素還可包含定義被存儲在自描述文件100中的屬性的一個(gè)或多個(gè)子元素。在各實(shí)施例中,屬性元素可包含應(yīng)用可用來適當(dāng)?shù)赜?jì)算存儲在自描述文件100中的特定屬性的值的信息。屬性元素的示例可以是CellDef元素。在其中與繪圖應(yīng)用一起利用自描述文件100的實(shí)施例中,CellDef元素可定義屬性的值的類型。表2提供了CellDef元素可支持的屬性的示例實(shí)施例。表2:CellDef元素的示例實(shí)施例在各實(shí)施例中,屬性元素還可定義可用于計(jì)算由該元素表示的屬性的值的公式或函數(shù)。不支持由該元素表示的屬性的應(yīng)用仍然可使用作為屬性元素的屬性提供的公式或函數(shù)來計(jì)算該屬性的值。由此,自描述文件100向應(yīng)用提供保留該應(yīng)用可能不支持的屬性的值的能力,由此保留對于該應(yīng)用可能是未知的內(nèi)容或內(nèi)容的各方面。在其他實(shí)施例中,屬性元素可定義文件的對象、屬性或其它分量。該定義可包括特征較少的應(yīng)用(例如,不原生地支持該對象、屬性等的應(yīng)用)可用于計(jì)算不支持的對象、屬性等的值的數(shù)據(jù)。在其它實(shí)施例中,擴(kuò)展元素可包含定義可用于計(jì)算屬性、對象或存儲在自描述文件100中的其它分量的值的對象、屬性、函數(shù)和/或公式的一個(gè)或多個(gè)子元素。函數(shù)元素可以與屬性、對象或存儲在自描述文件100中的任何其它類型的數(shù)據(jù)相關(guān)聯(lián)。在這些實(shí)施例中,函數(shù)元素可以與屬性元素的函數(shù)屬性類似地用來提供應(yīng)用可能不原生地支持的函數(shù)和/或公式。由此,函數(shù)元素允許保留自描述文件100中所存在的對于訪問該自描述文件的應(yīng)用可能是未知的值。在各實(shí)施例中,函數(shù)子元素向應(yīng)用提供即使該應(yīng)用原本不支持或處理未知文件內(nèi)容也保留該文件內(nèi)容的能力。在各實(shí)施例中,為了保留未知文件內(nèi)容,訪問(例如,打開)自描述文件100的應(yīng)用可解析和加載由被存儲在作為自描述文件100的一部分或與自描述文件100相關(guān)聯(lián)的擴(kuò)展部分中的一個(gè)或多個(gè)函數(shù)元素提供的任何信息。在這些實(shí)施例中,應(yīng)用可使用來自擴(kuò)展部分的數(shù)據(jù)來計(jì)算并存儲對象或?qū)傩缘闹担词乖搼?yīng)用版本原本不原生地支持該對象或?qū)傩?。?jì)算出的值可被存儲在自描述文件中,由此允許應(yīng)用保留未知文件內(nèi)容。在各實(shí)施例中,計(jì)算出的值可以不同于由全特征應(yīng)用計(jì)算出的值;然而,在擴(kuò)展部分中提供的信息可允許特征較少的應(yīng)用提供與所預(yù)期的值(例如,由全特征應(yīng)用計(jì)算出的值)相符合的值。由此,該信息允許特征較少的應(yīng)用至少提供有意義的值,其中在沒有該信息的情況下,特征較少的應(yīng)用可能已經(jīng)返回錯(cuò)誤或提供無意義的信息。如此處所描述的,自描述文件100可用于防止以下問題:在應(yīng)用修改自描述文件100的內(nèi)容時(shí)不適當(dāng)?shù)鼐S護(hù)該應(yīng)用不原生支持的對象和/或?qū)傩詳?shù)據(jù)。返回到其中透明度屬性的值取決于陰影屬性的值的透明度示例,修改對象的陰影屬性的應(yīng)用仍然可以使用由在自描述文件100的擴(kuò)展部分102中提供的擴(kuò)展元素和/或其子元素描述的函數(shù)、對象、屬性和/或其它信息來計(jì)算透明度屬性的值,即使該應(yīng)用不原生地支持對透明度屬性的計(jì)算。此外,具有取決于擴(kuò)展對象、屬性、關(guān)系等的值的原生對象和屬性(例如,來自所提供的示例的透明度屬性)也可由特征較少的應(yīng)用來計(jì)算,即使該擴(kuò)展屬性、對象、關(guān)系等對于該特征較少的應(yīng)用可能是未知的。圖2是表示用于創(chuàng)建自描述文件的方法200的實(shí)施例的流程圖的圖示。流程開始于操作202,在此應(yīng)用創(chuàng)建自描述文件,諸如來自圖1的自描述文件100。在各實(shí)施例中,應(yīng)用可響應(yīng)于由用戶或另一應(yīng)用發(fā)出的命令而創(chuàng)建自描述文件。在各實(shí)施例中,自描述文件可以是由繪圖應(yīng)用創(chuàng)建的圖文件、由文字處理應(yīng)用創(chuàng)建的文檔文件、由電子表格應(yīng)用創(chuàng)建的電子表格文件或任何其它類型的文件。在其他實(shí)施例中,由擴(kuò)展元素提供的信息也可結(jié)合數(shù)據(jù)流來使用。由此,特征較少的應(yīng)用可使用自描述信息(在擴(kuò)展元素中或以其它方式提供)來適當(dāng)?shù)夭倏v數(shù)據(jù)流中的數(shù)據(jù)。在創(chuàng)建操作202期間,可以在自描述文件中包括對象、屬性和/或分量。在各實(shí)施例中,對象、屬性和或分量可被寫入到自描述文件。在操作204,將第一數(shù)據(jù)部分寫入自描述文件。在各實(shí)施例中,該第一數(shù)據(jù)部分可以是表示對象特性的屬性。例如,如果自描述文件是由繪圖應(yīng)用創(chuàng)建的,則該文件可包含表示形狀的對象。第一數(shù)據(jù)部分可以是該形狀的特性,諸如形狀的顏色、大小、輪廓、陰影等。作為另一示例,如果自描述文件是由文字處理應(yīng)用創(chuàng)建的,則表示文本串的對象可被寫入自描述文件。在這一實(shí)施例中,第一數(shù)據(jù)部分可以是文本特性,諸如字體、字號、顏色、縮進(jìn)等。由此,在各實(shí)施例中,第一數(shù)據(jù)部分可表示自描述文件中的任何對象、自描述文件中的任何分量(諸如部分、模板等)的特性或自描述文件本身的特性。在其他實(shí)施例中,第一數(shù)據(jù)部分可以是對象、屬性、公式、關(guān)系、分量或可被寫入自描述文件的任何其它類型的數(shù)據(jù)。流程繼續(xù)至操作206,在此將數(shù)據(jù)的至少第二部分寫入自描述文件。類似于第一數(shù)據(jù)部分,第二數(shù)據(jù)部分可表示對象、屬性、自描述文件中的任何對象的特性或自描述文件的任何分量(諸如部分、模板等)或自描述文件本身的特性。在各實(shí)施例中,第二數(shù)據(jù)部分可以與第一數(shù)據(jù)部分相關(guān)。例如,第二數(shù)據(jù)部分的值可取決于第一數(shù)據(jù)部分的值。此外,第二數(shù)據(jù)部分可以是創(chuàng)建自描述文件的第一應(yīng)用原生支持的,但可能是可以隨后訪問自描述文件的其它應(yīng)用不原生地支持的。由此,稍后訪問和例如由于寫入第一數(shù)據(jù)部分的新值而修改文件的第二應(yīng)用可能不正確地更新第二部分。在這種情況下,當(dāng)創(chuàng)建文件的應(yīng)用再次訪問該文件時(shí),它可能遇到關(guān)于第二數(shù)據(jù)部分的錯(cuò)誤。示例性錯(cuò)誤包括關(guān)于向用戶顯示第二數(shù)據(jù)部分的錯(cuò)誤、關(guān)于訪問第二數(shù)據(jù)部分的錯(cuò)誤、關(guān)于寫入與第二數(shù)據(jù)部分有關(guān)的值的錯(cuò)誤、第二數(shù)據(jù)部分的值的錯(cuò)誤或任何其它類型的錯(cuò)誤。為了防止錯(cuò)誤情形,流程繼續(xù)至操作208,在此應(yīng)用提供至少一個(gè)擴(kuò)展,該至少一個(gè)擴(kuò)展提供關(guān)于文件中的特征較少的應(yīng)用可能不原生地支持的各部分的信息。例如,一個(gè)或多個(gè)擴(kuò)展可定義第一數(shù)據(jù)部分和第二數(shù)據(jù)部分之間的關(guān)系,可定義第二數(shù)據(jù)部分,或者可提供關(guān)于文件的不同的應(yīng)用版本(或完全不同的應(yīng)用)可能不原生地支持的任何其它類型的信息。在各實(shí)施例中,定義關(guān)系可使得提供用于基于第一數(shù)據(jù)部分、定義第二數(shù)據(jù)部分的數(shù)據(jù)(例如,該數(shù)據(jù)的結(jié)構(gòu)、關(guān)于該數(shù)據(jù)的字段的信息)或關(guān)于訪問自描述文件的應(yīng)用可能不原生地理解和/或支持的第二數(shù)據(jù)部分的任何其它信息來計(jì)算第二數(shù)據(jù)部分的公式。在各實(shí)施例中,至少一個(gè)擴(kuò)展可被寫入可作為自描述文件的一部分或與自描述文件相關(guān)聯(lián)的擴(kuò)展部分(諸如圖1的擴(kuò)展部分102)。在替代實(shí)施例中,至少一個(gè)擴(kuò)展可以在與如參考圖1所描述的自描述文件相關(guān)的單獨(dú)文件中提供。在操作208提供的至少一個(gè)擴(kuò)展可具有以下類型:所述擴(kuò)展元素和/或子元素。本領(lǐng)域技術(shù)人員將會認(rèn)識到擴(kuò)展可采取任何形式,只要該形式以如下方式描述關(guān)系、對象、屬性、公式或自描述文件的任何其它分量:使得隨后訪問自描述文件的第二應(yīng)用能夠計(jì)算該關(guān)系、對象、屬性、公式或任何其它分量的值,即使該第二應(yīng)用不原生地支持這些計(jì)算。在各實(shí)施例中,創(chuàng)建自描述文件的應(yīng)用可生成提供關(guān)于自描述文件的內(nèi)容的至少一部分的信息的至少一個(gè)擴(kuò)展。例如,應(yīng)用可生成描述第一數(shù)據(jù)部分和第二數(shù)據(jù)部分之間的關(guān)系的函數(shù)或公式。在各實(shí)施例中,創(chuàng)建自描述文件的應(yīng)用還可以在擴(kuò)展部分中包括與文件中的特征較少的應(yīng)用可能不原生地支持的屬性、對象或其它元素相關(guān)的信息。這些信息可以在至少一個(gè)擴(kuò)展中提供。在一替代實(shí)施例中,創(chuàng)建自描述文件的應(yīng)用可以從另一源接收關(guān)于擴(kuò)展的信息。例如,創(chuàng)建自描述文件的應(yīng)用可以從用戶、另一應(yīng)用或本地地存儲或存儲在網(wǎng)絡(luò)上的文件接收描述該關(guān)系的公式或函數(shù)。不管應(yīng)用是自己生成擴(kuò)展還是從另一源接收擴(kuò)展,在操作208該擴(kuò)展都可被包括在自描述文件中。在操作208提供至少一個(gè)擴(kuò)展后,流程繼續(xù)至操作210,在此在各實(shí)施例中創(chuàng)建自描述文件的應(yīng)用將任何附加數(shù)據(jù)(例如,附加對象、屬性、擴(kuò)展等)寫入該文件并保存該文件。在各實(shí)施例中,該文件可被保存在計(jì)算機(jī)存儲介質(zhì)中,諸如圖5所描述的計(jì)算機(jī)存儲介質(zhì)。存儲自描述文件允許應(yīng)用在將來訪問自描述文件。盡管方法200被描述為向自描述文件提供兩個(gè)數(shù)據(jù)部分,但本領(lǐng)域技術(shù)人員將會認(rèn)識到可以在自描述文件中包括任何數(shù)量的屬性。另外,在各實(shí)施例中,可將任何數(shù)量的擴(kuò)展寫入自描述文件,以定義不同類型的關(guān)系、屬性、對象等。例如,可將第三屬性寫入自描述文件。第三屬性的值可取決于第二屬性的值。在各實(shí)施例中,可將定義用于基于第二屬性來導(dǎo)出第三屬性的值的計(jì)算的擴(kuò)展寫入自描述文件。此外,如果所述實(shí)施例中的第二屬性與第一屬性相關(guān),則第三屬性基于所定義的計(jì)算也與第一屬性相關(guān)。在這些實(shí)施例中,定義第一和第二屬性以及第二和第三屬性之間的關(guān)系(例如,所定義的計(jì)算)的擴(kuò)展將捕捉這些屬性之間的關(guān)系。在各實(shí)施例中,在一個(gè)或多個(gè)擴(kuò)展中定義的不被支持的第二屬性與被支持的第三屬性之間的關(guān)系可以在與第三屬性相關(guān)聯(lián)的數(shù)據(jù)中定義。擴(kuò)展部分中的第二屬性的定義可允許第三屬性重新計(jì)算和保留與第三屬性相關(guān)聯(lián)的值。在其它實(shí)施例中,復(fù)雜關(guān)系可由一個(gè)或多個(gè)擴(kuò)展來定義。例如,第四屬性和第五屬性可以在方法200期間被添加到自描述文件。第五屬性的值可以與第四和第一屬性相關(guān)。在各實(shí)施例中,可提供捕捉第五屬性的多個(gè)依賴性的一個(gè)或多個(gè)擴(kuò)展。本領(lǐng)域技術(shù)人員將會認(rèn)識到此處所公開的自描述文件的實(shí)施例能夠通過將關(guān)系信息包括在自描述文件中(例如通過包括一個(gè)或多個(gè)擴(kuò)展)來捕捉任何類型的關(guān)系或依賴性,而不管復(fù)雜性。在另一實(shí)施例中,擴(kuò)展可提供關(guān)于特征較少的應(yīng)用可能不原生地支持的單個(gè)數(shù)據(jù)部分的信息,而不是定義兩個(gè)數(shù)據(jù)部分之間的關(guān)系。例如,擴(kuò)展可包含定義自描述文件中的某些應(yīng)用版本可能不原生地支持的對象、屬性或其它分量的信息。在各實(shí)施例中,定義自描述文件的對象、屬性或其它分量的信息可以向特征較少的應(yīng)用提供足夠的細(xì)節(jié)來計(jì)算該文件中的不支持部分的值。由此,擴(kuò)展數(shù)據(jù)可用于提供關(guān)于文件的各部分的信息,而不是與關(guān)系相關(guān)的信息。在方法200期間創(chuàng)建和保存的自描述文件可以是任何類型。例如,自描述文件可以是文字處理文件、繪圖文件、電子表格文件、圖像文件或者應(yīng)用能夠訪問和/或修改的任何其它類型的的文件。此外,在各實(shí)施例中,自描述文件可以按任何數(shù)量的格式來編寫,而不背離此處所公開的實(shí)施例的精神。自描述文件類型可以按XML格式、HTML格式、二進(jìn)制格式或本領(lǐng)域內(nèi)已知的任何其它類型的格式來編寫。雖然方法200描述了以特定次序出現(xiàn)的多個(gè)分立步驟,但本領(lǐng)域技術(shù)人員將會認(rèn)識到方法200可以按不同的次序執(zhí)行或者可包括更少或更多步驟。圖3是表示由能夠適當(dāng)?shù)刂匦掠?jì)算存儲在自描述文件中的屬性值的應(yīng)用執(zhí)行的方法300的實(shí)施例的流程圖的圖示。例如,方法300的實(shí)施例可由能夠支持和/或理解自描述文件中所提供的對象、屬性和/或能力的全特征應(yīng)用來執(zhí)行。流程開始于操作302,在此應(yīng)用打開或以其他方式訪問自描述文件。在各實(shí)施例中,打開自描述文件的步驟可以在另一應(yīng)用已訪問和/或修改自描述文件之后出現(xiàn)。然而,該另一應(yīng)用可能未在修改該文件時(shí)正確地保留文件內(nèi)容。這可能是由于另一應(yīng)用的能力限制、另一應(yīng)用無法理解文件內(nèi)容、另一應(yīng)用在向自描述文件寫入信息時(shí)遇到的錯(cuò)誤或出于任何其它原因而發(fā)生的。流程繼續(xù)至操作304,在此應(yīng)用確定自描述文件的內(nèi)容的至少一部分未被適當(dāng)?shù)鼐S護(hù)。例如,取決于第一屬性的對象的第二屬性在修改第一屬性時(shí)可能未被正確地重新計(jì)算。在一個(gè)實(shí)施例中,應(yīng)用可通過解析文件以檢查丟失和/或不正確的數(shù)據(jù)來做出這一判定。在另一實(shí)施例中,該判定可通過在文件內(nèi)檢查文件內(nèi)容未被正確地更新的指示符來做出。例如,該指示符可以是被放置在自描述文件內(nèi)或者與自描述文件相關(guān)聯(lián)的標(biāo)志或錯(cuò)誤消息。盡管提供了關(guān)于由應(yīng)用用來在操作304做出判定的過程和機(jī)制的具體示例,但本領(lǐng)域技術(shù)人員將會認(rèn)識到可以在操作304采用確定自描述文件的內(nèi)容的至少一部分是不正確的任何方式。流程繼續(xù)至操作306,在此應(yīng)用重新計(jì)算在先前修改自描述文件期間被不適當(dāng)?shù)馗碌娜我晃募?nèi)容。在一個(gè)實(shí)施例中,應(yīng)用可基于在自描述文件的擴(kuò)展部分中所包括的擴(kuò)展中提供的關(guān)系、函數(shù)或公式來重新計(jì)算屬性、對象或內(nèi)容的其它部分的值。在另一實(shí)施例中,執(zhí)行操作306的應(yīng)用可以是能夠支持自描述文件中的所有對象、屬性和/或能力的全特征應(yīng)用。由此,全特征應(yīng)用能夠原生地重新計(jì)算任何出錯(cuò)數(shù)據(jù),而不依靠自描述文件中的擴(kuò)展元素。在這一實(shí)施例中,在操作306重新計(jì)算文件內(nèi)容還可包括向自描述文件添加信息(例如,由參考圖1描述的擴(kuò)展元素提供的對象、屬性、公式和/或函數(shù))。例如,自描述文件的內(nèi)容可能由于在該文件中缺失定義內(nèi)容的關(guān)系的擴(kuò)展這一事實(shí)而未被上一個(gè)應(yīng)用適當(dāng)?shù)乇A?。?dāng)在操作306重新計(jì)算文件內(nèi)容時(shí),全特征應(yīng)用可通過更新被包括在自描述文件中或與自描述文件相關(guān)聯(lián)的擴(kuò)展來防止將來的誤計(jì)算。流程繼續(xù)至操作308,在此應(yīng)用將經(jīng)重新計(jì)算的文件內(nèi)容(例如,屬性值、對象等)存儲在自描述文件中。在各實(shí)施例中,在操作308,經(jīng)重新計(jì)算的值可通過將這些值寫入自描述文件來存儲。在其他實(shí)施例中,操作308還可包括在操作308將與文件的一部分(例如,擴(kuò)展對象)相關(guān)的信息寫入或以其它方式存儲到作為自描述文件的一部分或與自描述文件相關(guān)聯(lián)的擴(kuò)展部分。在各實(shí)施例中,流程繼續(xù)至操作310,在此應(yīng)用向用戶顯示來自自描述文件的文件內(nèi)容。例如,可以向用戶顯示對象及其屬性。返回到涉及繪圖應(yīng)用的示例,可以按使形狀的屬性被正確地計(jì)算和顯示的方式向用戶顯示形狀。在各實(shí)施例中,因?yàn)閼?yīng)用在操作306和308重新計(jì)算和存儲任何被不適當(dāng)?shù)鼐S護(hù)的文件內(nèi)容,所以在操作310該文件被正確地顯示給用戶。藉此,避免在特征較少的應(yīng)用修改在各應(yīng)用之間共享的文件時(shí)發(fā)生的問題,由此通過為文件提供更完整的數(shù)據(jù)計(jì)算來為特征較少的應(yīng)用的用戶提供增強(qiáng)的體驗(yàn)。雖然操作310被描述為向用戶顯示自描述文件的內(nèi)容,但本領(lǐng)域技術(shù)人員將會認(rèn)識到應(yīng)用可以在操作310執(zhí)行其它功能,諸如但不限于播放視頻、播放音頻或以其他方式執(zhí)行自描述文件以執(zhí)行功能或任務(wù)。另外,雖然方法300描述了以特定次序出現(xiàn)的多個(gè)分立步驟,但本領(lǐng)域技術(shù)人員將會認(rèn)識到方法300可以按不同的次序或者可通過更多或更少步驟來執(zhí)行。圖4是表示用于保留未知文件內(nèi)容的方法400的實(shí)施例的流程圖的圖示。在各實(shí)施例中,執(zhí)行方法400的應(yīng)用可以是不原生地支持或理解自描述文件中的所有能力或文件內(nèi)容(例如,對象、屬性等)的特征較少的應(yīng)用。流程開始于操作402,在此應(yīng)用打開自描述文件,諸如圖1的自描述文件100。當(dāng)打開文件時(shí),流程繼續(xù)至操作404,在此應(yīng)用接收與自描述文件中的該應(yīng)用可能不原生地支持的部分有關(guān)的信息。例如,在一個(gè)實(shí)施例中,應(yīng)用可接收定義文件中的該應(yīng)用不支持的對象、屬性、特性或其它部分的信息。在另一實(shí)施例中,應(yīng)用接收文件中的數(shù)據(jù)的至少一部分取決于該文件的第一部分的指示。例如,對象的第二屬性可取決于對象的第一屬性。在又一實(shí)施例中,應(yīng)用接收將在執(zhí)行一動作時(shí)更新自描述文件中的特定數(shù)據(jù)的指示。在各實(shí)施例中,應(yīng)用通過處理可以是自描述文件的一部分或與自描述文件相關(guān)聯(lián)的擴(kuò)展部分來接收指示。在各實(shí)施例中,應(yīng)用可檢查一個(gè)或多個(gè)擴(kuò)展元素(或擴(kuò)展元素的一個(gè)或多個(gè)子元素)以導(dǎo)出用于計(jì)算文件中的該應(yīng)用不原生地支持的擴(kuò)展部分的值的信息。擴(kuò)展部分可以是一個(gè)或多個(gè)對象、屬性、公式或自描述文件中的應(yīng)用不原生地支持的任何其它分量或特征。在各實(shí)施例中,該一個(gè)或多個(gè)擴(kuò)展元素可以向執(zhí)行方法400的應(yīng)用提供用于以下操作的信息:適當(dāng)?shù)乇A糇悦枋鑫募膬?nèi)容,即使該應(yīng)用不支持或理解該內(nèi)容。例如,在操作404接收到的信息可包含應(yīng)用可用來導(dǎo)出一屬性的值的函數(shù)或公式,即使該應(yīng)用不原生地支持該屬性。流程繼續(xù)至操作406,在此應(yīng)用修改自描述文件的一部分。例如,應(yīng)用可基于用戶輸入來修改第一屬性的文件內(nèi)容,諸如舉例來說用戶改變形狀的陰影值。在其它實(shí)施例中,應(yīng)用可以自動地或響應(yīng)于從另一應(yīng)用接收到的指令來執(zhí)行修改。在各實(shí)施例中,第二屬性的值可取決于第一屬性的值。然而,修改第一屬性的特征較少的應(yīng)用可能不原生地支持第二屬性,可能不原生地理解第一和第二屬性之間的關(guān)系,或者可能不原生地知道用于重新計(jì)算第二值的公式或函數(shù)。然而,因?yàn)閼?yīng)用在操作404接收到指示屬性之間的關(guān)系的信息(例如,用于計(jì)算第二屬性的公式),所以該應(yīng)用能夠在必要時(shí)適當(dāng)?shù)刂匦掠?jì)算第二值。流程繼續(xù)至操作408,在此應(yīng)用基于對第一屬性的修改來重新計(jì)算第二屬性的值。該應(yīng)用可使用在操作404接收到的信息來重新計(jì)算第二屬性的值。例如,該信息可包括用于基于第一值來確定第二屬性的值的公式。在操作408,應(yīng)用可使用該公式來重新計(jì)算第二屬性的值。由此,執(zhí)行方法400的應(yīng)用能夠使用在操作404接收到的信息來適當(dāng)?shù)乇A粑募?nèi)容,即使該應(yīng)用不知道或不支持該文件內(nèi)容。由此,與自描述文件相關(guān)聯(lián)的一個(gè)或多個(gè)擴(kuò)展中的信息向應(yīng)用提供修改文件內(nèi)容的原生和擴(kuò)展部分兩者的能力,由此向應(yīng)用提供支持除了該應(yīng)用的原生功能之外的擴(kuò)展功能的能力。在重新計(jì)算值后,流程繼續(xù)至操作410,在此應(yīng)用將經(jīng)修改的第一屬性和經(jīng)重新計(jì)算的第二屬性寫入自描述文件。在各實(shí)施例中,在操作410應(yīng)用可將經(jīng)修改的自描述文件存儲在計(jì)算機(jī)存儲介質(zhì)中,諸如圖5所描述的計(jì)算機(jī)存儲介質(zhì)。雖然方法400的實(shí)施例是針對修改第一屬性值并重新計(jì)算屬性值來描述的,但本領(lǐng)域技術(shù)人員將會理解可擴(kuò)展該方法以接收修改并對更多屬性執(zhí)行重新計(jì)算。另外,雖然方法400被描述為接收修改并重新計(jì)算屬性值,但該方法可被用來保留任何類型的文件內(nèi)容,諸如但不限于對象、部分、模板等。此外,雖然方法300描述了以特定次序出現(xiàn)的多個(gè)分立步驟,但本領(lǐng)域技術(shù)人員將會認(rèn)識到方法300可以按不同的次序或者可通過更多或更少步驟來執(zhí)行。參考圖5,用于實(shí)現(xiàn)本文描述的各實(shí)施例的計(jì)算環(huán)境的一實(shí)施例包括計(jì)算機(jī)系統(tǒng),如計(jì)算機(jī)系統(tǒng)500。所描述的各實(shí)施例的任何和所有組件可以作為客戶機(jī)計(jì)算機(jī)系統(tǒng)、服務(wù)器計(jì)算機(jī)系統(tǒng)、客戶機(jī)和服務(wù)器計(jì)算機(jī)系統(tǒng)的組合、手持式設(shè)備、平板計(jì)算設(shè)備以及本文描述的其他可能的計(jì)算環(huán)境或系統(tǒng)來執(zhí)行或在它們之上執(zhí)行。如此,以下描述可應(yīng)用于所有這些環(huán)境的基本計(jì)算機(jī)系統(tǒng)。在其最基本的配置中,計(jì)算機(jī)系統(tǒng)500包括至少一個(gè)處理單元或處理器504和系統(tǒng)存儲器505。計(jì)算機(jī)系統(tǒng)500的該最基本配置在圖5中由虛線502來示出。在各實(shí)施例中,所描述的系統(tǒng)的一個(gè)或多個(gè)組件被加載到系統(tǒng)存儲器505中,并由處理單元504從系統(tǒng)存儲器506中執(zhí)行。取決于計(jì)算機(jī)系統(tǒng)500的確切配置和類型,系統(tǒng)存儲器506可以是易失性(如RAM)、非易失性(諸如ROM、閃存等)或這兩者的某種組合。另外,計(jì)算機(jī)系統(tǒng)500還可具有附加特征/功能。例如,系統(tǒng)500包括附加存儲介質(zhì)508,如可移動和/或不可移動存儲,包括但不限于磁盤、光盤或磁帶。在一些實(shí)施例中,軟件或可執(zhí)行碼以及用于所描述的系統(tǒng)的任何數(shù)據(jù)被持久存儲在存儲介質(zhì)508中。存儲介質(zhì)508包括以存儲如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)來實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。在各實(shí)施例中,所公開的自描述文件以及用于執(zhí)行生成自描述文件并保留未知內(nèi)容的方法的指令被存儲在存儲介質(zhì)508中。系統(tǒng)存儲器506和存儲介質(zhì)508都是計(jì)算機(jī)存儲介質(zhì)的示例。計(jì)算機(jī)存儲介質(zhì)包括,但不限于,RAM、ROM、EEPROM、閃存或其他存儲器技術(shù)、CD-ROM、數(shù)字多功能盤(“DVD”)或其他光學(xué)存儲、磁帶盒、磁帶、磁盤存儲、其他磁性存儲設(shè)備、或用于存儲所需信息且可以由計(jì)算機(jī)系統(tǒng)500和處理器504訪問的任何其他介質(zhì)。任何這樣的計(jì)算機(jī)存儲介質(zhì)都可以是計(jì)算機(jī)系統(tǒng)500的一部分。在各實(shí)施例中,系統(tǒng)存儲器506和/或存儲介質(zhì)508存儲用于執(zhí)行本文公開的諸如創(chuàng)建自描述文件并保留未知文件內(nèi)容之類的方法和/或形成本文公開的系統(tǒng)的數(shù)據(jù)。在各實(shí)施例中,系統(tǒng)存儲器506存儲信息,諸如自描述文件514以及用于執(zhí)行參考圖1和4討論的保留未知文件內(nèi)容的方法的指令516。盡管未在圖5中示出,但用于執(zhí)行如參考圖2和3討論的生成自描述文件以及重新計(jì)算自描述文件中的內(nèi)容的值的方法的指令也可被存儲在系統(tǒng)存儲器506中。計(jì)算機(jī)系統(tǒng)500還可包含允許該設(shè)備與其他設(shè)備通信的通信連接510。在各實(shí)施例中,通信連接510可被用來在發(fā)送者設(shè)備、中間設(shè)備、以及接收者設(shè)備之間傳送和接收消息。通信連接510是通信介質(zhì)的一個(gè)示例。通信介質(zhì)可包含諸如載波或其他傳輸機(jī)制等已調(diào)制數(shù)據(jù)信號并且包括任何信息傳遞介質(zhì),它能以已調(diào)制數(shù)據(jù)信號來體現(xiàn)計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)。術(shù)語“已調(diào)制數(shù)據(jù)信號”指的是其一個(gè)或多個(gè)特征以在數(shù)據(jù)信號中編碼信息或消息的方式被設(shè)定或更改的信號。作為示例而非限制,通信介質(zhì)包括有線介質(zhì),諸如有線網(wǎng)絡(luò)或直接線連接,以及無線介質(zhì),諸如聲學(xué)、RF、紅外線和其他無線介質(zhì)。在一些實(shí)施例中,計(jì)算機(jī)系統(tǒng)500還包括輸入和輸出連接512以及接口和外圍設(shè)備,如圖形用戶界面。輸入設(shè)備也被稱為用戶界面選擇設(shè)備并且包括但不限于,鍵盤、鼠標(biāo)、筆、語音輸入設(shè)備、觸摸輸入設(shè)備等。根據(jù)本公開的實(shí)施例,輸入設(shè)備可包括能夠檢測用戶的移動的任何運(yùn)動檢測設(shè)備。例如,輸入設(shè)備可以包括微軟公司的運(yùn)動捕捉設(shè)備,它包括多個(gè)相機(jī)和多個(gè)話筒。其他實(shí)施例是可能的。輸出設(shè)備也被稱為顯示器,并且包括但不限于,陰極射線管顯示器、等離子屏顯示器、液晶屏顯示器、揚(yáng)聲器、打印機(jī)等?;騿为?dú)地或組合地連接到輸入和輸出連接512的這些設(shè)備被用來顯示本文描述的信息。所有這些設(shè)備在本領(lǐng)域是眾知的并且不必在此詳細(xì)討論。在一些實(shí)施例中,本文描述的組件包括可由計(jì)算機(jī)系統(tǒng)500執(zhí)行的、可以存儲在計(jì)算機(jī)存儲介質(zhì)中和其他有形介質(zhì)中并在通信介質(zhì)中傳送的模塊或指令。計(jì)算機(jī)存儲介質(zhì)包括以用于存儲如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊或其他數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。以上的任何組合也應(yīng)包括在可讀介質(zhì)的范圍內(nèi)。在一些實(shí)施例中,計(jì)算機(jī)系統(tǒng)500是將數(shù)據(jù)存儲在遠(yuǎn)程存儲介質(zhì)中以供計(jì)算機(jī)系統(tǒng)500使用的網(wǎng)絡(luò)的一部分。本文中描述的示例實(shí)施例可被實(shí)現(xiàn)為聯(lián)網(wǎng)計(jì)算系統(tǒng)環(huán)境中的計(jì)算設(shè)備內(nèi)的邏輯操作。該邏輯操作可被實(shí)現(xiàn)為:(i)在計(jì)算設(shè)備上運(yùn)行的計(jì)算機(jī)執(zhí)行的指令、步驟或程序模塊的序列;以及(ii)在計(jì)算設(shè)備內(nèi)運(yùn)行的內(nèi)連邏輯或硬件模塊。一般而言,根據(jù)本發(fā)明的各實(shí)施方式,程序模塊可以包括可以執(zhí)行特定任務(wù)或可以實(shí)現(xiàn)特定抽象數(shù)據(jù)類型的例程、程序、組件、數(shù)據(jù)結(jié)構(gòu)和其他類型的結(jié)構(gòu)。此外,本發(fā)明的各實(shí)施方式可用其他計(jì)算機(jī)系統(tǒng)配置來實(shí)踐,包括手持式設(shè)備、多處理器系統(tǒng)、基于微處理器的系統(tǒng)或可編程消費(fèi)電子產(chǎn)品、小型機(jī)、大型計(jì)算機(jī)等。本發(fā)明的各實(shí)施方式也可以在其中任務(wù)由通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備執(zhí)行的分布式計(jì)算環(huán)境中實(shí)現(xiàn)。在分布式計(jì)算環(huán)境中,程序模塊可位于本地和遠(yuǎn)程存儲器存儲設(shè)備兩者中。此外,本發(fā)明的各實(shí)施方式可在包括分立電子元件的電路、包含邏輯門的封裝或集成電子芯片、利用微處理器的電路、或在包含電子元件或微處理器的單個(gè)芯片上實(shí)現(xiàn)。例如,可以通過片上系統(tǒng)(SOC)來實(shí)施本發(fā)明的各實(shí)施例,其中,可以將圖5中示出的每個(gè)或許多組件集成到單個(gè)集成電路上。這樣的SOC設(shè)備可包括一個(gè)或多個(gè)處理單元、圖形單元、通信單元、系統(tǒng)虛擬化單元以及各種應(yīng)用功能,所有這些都被集成到(或“燒錄到”)芯片基板上作為單個(gè)集成電路。當(dāng)通過SOC操作時(shí),在此所述的關(guān)于自描述文件的功能可以通過在單個(gè)集成電路(芯片)上集成有計(jì)算設(shè)備500的其它組件的專用邏輯來操作。本發(fā)明的各實(shí)施方式還可以使用能夠執(zhí)行諸如,例如,AND(與)、OR(或)和NOT(非)等邏輯運(yùn)算的其他技術(shù)來實(shí)踐,包括但不限于,機(jī)械、光學(xué)、流體和量子技術(shù)。另外,本發(fā)明的各實(shí)施方式可以在通用計(jì)算機(jī)或任何其他電路或系統(tǒng)中實(shí)現(xiàn)。圖6A和6B示出可用來實(shí)施本發(fā)明的各實(shí)施例的移動計(jì)算環(huán)境600,例如移動電話、智能電話、平板個(gè)人計(jì)算機(jī)、膝上型計(jì)算機(jī)等。參考圖6A,示出了用于實(shí)現(xiàn)各實(shí)施例的示例性移動計(jì)算設(shè)備600。在一基本配置中,移動計(jì)算設(shè)備600是具有輸入元件和輸出元件兩者的手持式計(jì)算機(jī)。移動計(jì)算設(shè)備600通常包括顯示器605以及允許用戶將信息輸入到移動計(jì)算設(shè)備600中的一個(gè)或多個(gè)輸入按鈕610。移動計(jì)算設(shè)備600的顯示器605也可充當(dāng)輸入設(shè)備(如觸摸屏顯示器)。如果包括,則可任選的側(cè)輸入元件615允許進(jìn)一步的用戶輸入。側(cè)輸入元件615可以是旋轉(zhuǎn)開關(guān)、按鈕、或任何其他類型的手動輸入元件。在替代實(shí)施例中,移動計(jì)算設(shè)備600可結(jié)合更多或更少的輸入元件。例如,在某些實(shí)施例中,顯示器605可以不是觸摸屏。在又一替代實(shí)施例中,移動計(jì)算設(shè)備600是諸如蜂窩電話之類的便攜式電話系統(tǒng)。移動計(jì)算設(shè)備600還可包括可選的小鍵盤635??蛇x的小鍵盤635可以是物理小鍵盤或者在觸摸屏顯示器上生成的“軟”小鍵盤。在各種實(shí)施例中,輸出元件包括用于示出圖形用戶界面(GUI)的顯示器605、可視指示器620(如發(fā)光二極管)、和/或音頻換能器625(如揚(yáng)聲器)。在某些實(shí)施例中,移動計(jì)算設(shè)備600結(jié)合振動換能器來向用戶提供觸覺反饋。在又一實(shí)施例中,移動計(jì)算設(shè)備600結(jié)合諸如音頻輸入(如麥克風(fēng)插孔)、音頻輸出(如耳機(jī)插孔)、以及視頻輸出(如HDMI端口)之類的輸入和/或輸出端口,用于將信號發(fā)送到外部設(shè)備或從外部設(shè)備接收信號。在各實(shí)施例中,自描述文件的內(nèi)容可被顯示在顯示器605上。盡管此處組合移動計(jì)算設(shè)備600來描述,但在本發(fā)明的替代實(shí)施例中,還可組合任何數(shù)量的計(jì)算機(jī)系統(tǒng)來被使用,如在臺式環(huán)境中、膝上型或筆記本計(jì)算機(jī)系統(tǒng)、多處理器系統(tǒng)、基于微處理器或可編程消費(fèi)電子產(chǎn)品、網(wǎng)絡(luò)PC、小型計(jì)算機(jī)、大型計(jì)算機(jī)等。本發(fā)明的實(shí)施例也可在分布式計(jì)算環(huán)境中實(shí)踐,其中任務(wù)由分布式計(jì)算環(huán)境中通過通信網(wǎng)絡(luò)鏈接的遠(yuǎn)程處理設(shè)備來執(zhí)行;程序可位于本機(jī)和遠(yuǎn)程存儲器存儲設(shè)備中??偠灾哂卸鄠€(gè)環(huán)境傳感器、向用戶提供通知的多個(gè)輸出元件和多個(gè)通知事件類型的任何計(jì)算機(jī)系統(tǒng)可結(jié)合本發(fā)明的實(shí)施例。圖6B是示出移動計(jì)算設(shè)備的一個(gè)實(shí)施例的架構(gòu)的框圖。即,移動計(jì)算設(shè)備600可結(jié)合系統(tǒng)(即架構(gòu))602以實(shí)現(xiàn)某些實(shí)施例。在一個(gè)實(shí)施例中,系統(tǒng)602被實(shí)現(xiàn)為能夠運(yùn)行一個(gè)或多個(gè)應(yīng)用(如瀏覽器、電子郵件、日歷、聯(lián)系人管理器、消息收發(fā)客戶端、游戲、以及媒體客戶端/播放器)的智能電話摂。在某些實(shí)施例中,系統(tǒng)602被集成為計(jì)算設(shè)備,諸如集成的個(gè)人數(shù)字助理(PDA)和無線電話。一個(gè)或多個(gè)應(yīng)用程序666可被加載到存儲器662中并在操作系統(tǒng)664上或與操作系統(tǒng)664相關(guān)聯(lián)地運(yùn)行。應(yīng)用程序的示例包括電話撥號程序、電子郵件程序、個(gè)人信息管理(PIM)程序、文字處理程序、電子表格程序、因特網(wǎng)瀏覽器程序、消息通信程序、繪圖應(yīng)用等等。系統(tǒng)602還包括存儲器662內(nèi)的非易失性存儲區(qū)668。非易失性存儲區(qū)668可被用于存儲在系統(tǒng)602斷電時(shí)不會丟失的持久信息。應(yīng)用程序666可使用信息并將信息存儲在非易失性存儲區(qū)668中,如電子郵件應(yīng)用使用的電子郵件或其他消息等。同步應(yīng)用(未示出)也駐留于系統(tǒng)602上且被編程為與駐留在主機(jī)計(jì)算機(jī)上的對應(yīng)的同步應(yīng)用交互,以保持非易失性存儲區(qū)668中存儲的信息與主機(jī)計(jì)算機(jī)處存儲的相應(yīng)信息同步。如應(yīng)理解的,可將其它應(yīng)用加載到存儲器662中并在移動計(jì)算設(shè)備600上運(yùn)行,包括此處所公開的自描述文件、創(chuàng)建自描述文件的方法以及保留未知文件內(nèi)容的方法。系統(tǒng)602具有可被實(shí)現(xiàn)為一個(gè)或多個(gè)電池的電源670。電源670還可包括外部功率源,如補(bǔ)充電池或?qū)﹄姵爻潆姷腁C適配器或加電對接托架。系統(tǒng)602還可包括執(zhí)行發(fā)射和接收無線電頻率通信的功能的無線電672。無線電672通過通信運(yùn)營商或服務(wù)供應(yīng)商方便了系統(tǒng)602與“外部世界”之間的無線連接。來往無線電672的傳輸是在操作系統(tǒng)664的控制下進(jìn)行的。換言之,無線電672接收的通信可通過操作系統(tǒng)664傳播到應(yīng)用程序666,反之亦然。無線電672允許系統(tǒng)602例如通過網(wǎng)絡(luò)與其他計(jì)算設(shè)備通信。無線電672是通信介質(zhì)的一個(gè)示例。通信介質(zhì)通常由諸如載波或其他傳輸機(jī)制之類的已調(diào)制數(shù)據(jù)信號中的計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)來體現(xiàn),并且包括任何信息傳送介質(zhì)。術(shù)語“已調(diào)制數(shù)據(jù)信號”是指使得以在信號中編碼信息的方式來設(shè)定或改變其一個(gè)或多個(gè)特征的信號。作為示例而非限制,通信介質(zhì)包括諸如有線網(wǎng)絡(luò)或直接線連接之類的有線介質(zhì),以及諸如聲學(xué)、RF、紅外及其他無線介質(zhì)之類的無線介質(zhì)。如此處所使用的術(shù)語計(jì)算機(jī)可讀介質(zhì)包括存儲介質(zhì)和通信介質(zhì)兩者。系統(tǒng)602的該實(shí)施例使用可用于提供可視通知的可視指示器620和/或通過音頻換能器625來產(chǎn)生音頻通知的音頻接口674來提供通知。在所示實(shí)施例中,可視指示器620是發(fā)光二極管(LED),而音頻換能器625是揚(yáng)聲器。這些設(shè)備可直接耦合到電源670,使得當(dāng)被激活時(shí),即使為了節(jié)省電池功率而可能關(guān)閉處理器660和其他組件,它們也保留一段由通知機(jī)制指示的保持通電時(shí)間。LED可被編程為無限地保持通電,直到用戶采取動作指示該設(shè)備的通電狀態(tài)。音頻接口674用于向用戶提供聽覺信號并從用戶接收聽覺信號。例如,除了被耦合到音頻換能器625之外,音頻接口674還可被耦合到話筒來接收可聽輸入,例如便于電話通話。根據(jù)各本發(fā)明的各實(shí)施例,話筒也可充當(dāng)音頻傳感器來便于對通知的控制,如下文將描述的。系統(tǒng)602可進(jìn)一步包括允許板載相機(jī)630的操作來記錄靜止圖像、視頻流等的視頻接口676。實(shí)現(xiàn)系統(tǒng)600的移動計(jì)算設(shè)備602可具有附加特征或功能。例如,移動計(jì)算設(shè)備600還可包括附加數(shù)據(jù)存儲設(shè)備(可移動和/或不可移動),例如磁盤、光盤或磁帶。這種附加存儲設(shè)備在圖6B中用非易失性存儲區(qū)668示出。計(jì)算機(jī)存儲介質(zhì)可包括以用于存儲諸如計(jì)算機(jī)可讀指令、數(shù)據(jù)結(jié)構(gòu)、程序模塊、或其他數(shù)據(jù)等信息的任何方法或技術(shù)實(shí)現(xiàn)的易失性和非易失性、可移動和不可移動介質(zhì)。移動計(jì)算設(shè)備600生成或捕捉的且經(jīng)系統(tǒng)602存儲的數(shù)據(jù)/信息可如上所述本地存儲在移動計(jì)算設(shè)備600上,或數(shù)據(jù)可被存儲在可由設(shè)備通過無線電672或通過移動計(jì)算設(shè)備600和與移動計(jì)算設(shè)備600相關(guān)聯(lián)的一分開的計(jì)算設(shè)備之間的有線連接訪問的任何數(shù)量的存儲介質(zhì)上,該計(jì)算設(shè)備如例如因特網(wǎng)之類的分布式計(jì)算網(wǎng)絡(luò)中的服務(wù)器計(jì)算機(jī)。如應(yīng)理解的,此類數(shù)據(jù)/信息可經(jīng)移動計(jì)算設(shè)備600、經(jīng)無線電672或經(jīng)分布式計(jì)算網(wǎng)絡(luò)來被訪問。類似地,這些數(shù)據(jù)/信息可根據(jù)已知的數(shù)據(jù)/信息傳送和存儲手段來容易地在計(jì)算設(shè)備之間傳送以供存儲和使用,這些手段包括電子郵件和協(xié)作數(shù)據(jù)/信息共享系統(tǒng)。圖7示出了用于向一個(gè)或多個(gè)客戶機(jī)設(shè)備提供如上所述的此處所公開的自描述文件100和各方法的系統(tǒng)的體系結(jié)構(gòu)的一個(gè)實(shí)施例。與自描述文件100相關(guān)聯(lián)地被開發(fā)、與其交互或編輯的內(nèi)容可被存儲在不同通信信道或其他存儲類型中。例如,各種文檔可使用目錄服務(wù)722、web門戶724、郵箱服務(wù)726、即時(shí)消息收發(fā)存儲728或社交網(wǎng)站730來存儲。自描述文件100可使用用于實(shí)現(xiàn)數(shù)據(jù)利用的這些類型的系統(tǒng)等中的任一種系統(tǒng),如此處所描述的。服務(wù)器720可以向客戶機(jī)提供此處所公開的自描述文件100和/或用于創(chuàng)建或修改自描述文件的方法。作為一個(gè)示例,服務(wù)器720可以是通過web提供此處所公開的自描述文件100和/或用于創(chuàng)建或修改自描述文件的方法的web服務(wù)器。服務(wù)器720可以經(jīng)由網(wǎng)絡(luò)715通過web向客戶機(jī)提供此處所公開的自描述文件100和/或用于創(chuàng)建或修改自描述文件的方法。作為示例,客戶機(jī)計(jì)算設(shè)備718可被實(shí)現(xiàn)為計(jì)算設(shè)備500并被具體化在個(gè)人計(jì)算機(jī)718a、平板計(jì)算設(shè)備718b和/或移動計(jì)算設(shè)備718c(如智能電話)中??蛻魴C(jī)計(jì)算設(shè)備718的這些實(shí)施例中的任一個(gè)可從存儲716獲得內(nèi)容。在各種實(shí)施例中,用于在構(gòu)成本發(fā)明的計(jì)算設(shè)備之間進(jìn)行通信的網(wǎng)絡(luò)的類型包括但不限于互聯(lián)網(wǎng)、內(nèi)聯(lián)網(wǎng)、廣域網(wǎng)(WAN)、局域網(wǎng)(LAN)、以及虛擬專用網(wǎng)絡(luò)(VPN)。在本申請中,網(wǎng)絡(luò)包括企業(yè)網(wǎng)絡(luò)和客戶端計(jì)算設(shè)備用來訪問企業(yè)網(wǎng)絡(luò)的網(wǎng)絡(luò)(即客戶端網(wǎng)絡(luò))。在一個(gè)實(shí)施例中,客戶端網(wǎng)絡(luò)是企業(yè)網(wǎng)絡(luò)的一部分。在另一實(shí)施例中,客戶端網(wǎng)絡(luò)是通過外部可用的接入點(diǎn)(如網(wǎng)關(guān)、遠(yuǎn)程訪問協(xié)議、或公共或?qū)S没ヂ?lián)網(wǎng)地址)來訪問企業(yè)網(wǎng)絡(luò)的一分開的網(wǎng)絡(luò)。另外,邏輯操作可用軟件、固件、模擬/數(shù)字電路、和/或其任何組合來實(shí)現(xiàn)為算法,而不背離本公開的范圍。軟件、固件或計(jì)算機(jī)指令的類似序列可以被編碼和存儲在計(jì)算機(jī)可讀存儲介質(zhì)上。軟件、固件或計(jì)算機(jī)指令的類似序列還可被編碼在載波信號內(nèi)以便在計(jì)算設(shè)備之間傳輸。本說明書參考附圖描述了一些實(shí)施例,附圖中只示出了可能的實(shí)施例中的一些。然而,其他方面能以許多不同的形式來實(shí)現(xiàn),并且不應(yīng)被解釋為被限定于在此所闡述的各實(shí)施例。相反,提供這些實(shí)施例以使得本公開變得透徹和完整,并且向本領(lǐng)域技術(shù)人員完全傳達(dá)可能實(shí)施例的范圍。雖然以結(jié)構(gòu)特征和/或方法動作以及包含這樣的動作的計(jì)算機(jī)可讀介質(zhì)專用的語言來描述了各實(shí)施例,但是應(yīng)該理解,在所附權(quán)利要求書中所定義的可能的實(shí)施例不一定僅限于此處所描述的具體結(jié)構(gòu)或動作或介質(zhì)。所屬領(lǐng)域技術(shù)人員將認(rèn)識到在本公開的范圍和精神內(nèi)的其他實(shí)施例或改進(jìn)。因此,具體結(jié)構(gòu)、動作或介質(zhì)只是作為說明性實(shí)施例來公開的。本發(fā)明由所附權(quán)利要求書進(jìn)行定義。
當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1
阿拉善左旗| 永顺县| 海盐县| 广汉市| 云浮市| 锡林郭勒盟| 明水县| 临潭县| 陵川县| 五大连池市| 武宣县| 蓬安县| 昌平区| 台东市| 庆元县| 伊春市| 保德县| 柳林县| 安塞县| 佳木斯市| 禹城市| 建始县| 齐河县| 天长市| 夏津县| 河西区| 峡江县| 绿春县| 观塘区| 右玉县| 兰考县| 景泰县| 宽城| 嘉义县| 揭东县| 浑源县| 兴化市| 大连市| 剑川县| 乌兰察布市| 新龙县|