CINXE.COM

WinFS: The Windows File System (Microsoft Access 2002 Technical Articles)

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > <html> <head><script type="text/javascript" src="/_static/js/bundle-playback.js?v=HxkREWBo" charset="utf-8"></script> <script type="text/javascript" src="/_static/js/wombat.js?v=txqj7nKC" charset="utf-8"></script> <script>window.RufflePlayer=window.RufflePlayer||{};window.RufflePlayer.config={"autoplay":"on","unmuteOverlay":"hidden"};</script> <script type="text/javascript" src="/_static/js/ruffle/ruffle.js"></script> <script type="text/javascript"> __wm.init("https://web.archive.org/web"); __wm.wombat("http://msdn.microsoft.com:80/Longhorn/understanding/pillars/WinFS/default.aspx?pull=/library/en-us/dnaero/html/wux_topic_storage.asp","20031221235634","https://web.archive.org/","web","/_static/", "1072050994"); </script> <link rel="stylesheet" type="text/css" href="/_static/css/banner-styles.css?v=S1zqJCYt" /> <link rel="stylesheet" type="text/css" href="/_static/css/iconochive.css?v=3PDvdIFv" /> <!-- End Wayback Rewrite JS Include --> <!--Enter title and description--> <title>WinFS: The Windows File System (Microsoft Access 2002 Technical Articles)</title> <meta name="ms.locale" content="en-us"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="Description" content="&quot;WinFS&quot; is the code name for the next generation storage platform in Windows &quot;Longhorn.&quot; " winfs" (windows file system) is the storage platform for "longhorn." check out this overview of "winfs" and how it makes possible a better experience for both you and your users. "/> <meta name="robots" content="noindex"/><script type="text/javascript" language="Javascript" src="/web/20031221235634js_/http://msdn.microsoft.com/mnp_utility.mspx/menujs?mnpshell=%2fLonghorn%2fshell.config&amp;clicktrax=False"></script> <link type="text/css" rel="Stylesheet" href="/web/20031221235634cs_/http://msdn.microsoft.com/library/mnp/2/aspx/css.aspx?locale=en-us&amp;name=Footer&amp;name=Masthead&amp;name=QuickSearch&amp;name=Menu&amp;static=Page"/> <link type="text/css" rel="Stylesheet" href="/web/20031221235634cs_/http://msdn.microsoft.com/msdn-online/shared/css/msdn-mnp25-eyebrow.css"/> <script type="text/javascript" language="Javascript" src="/web/20031221235634js_/http://msdn.microsoft.com/msdn-online/shared/js/dc2everett.js"></script> <link type="text/css" rel="Stylesheet" href="/web/20031221235634cs_/http://msdn.microsoft.com/msdn-online/shared/css/dc2e.css"/> <script type="text/javascript" language="Javascript" src="/web/20031221235634js_/http://msdn.microsoft.com/mnp_utility.mspx/mastheadjs?mnpshell=%2fLonghorn%2fshell.config&amp;"></script> </head> <body> <a name="top"></a> <script language="Javascript"> if (self.name == "MNPMainFrame") top.location.href = self.location.href; </script><table id="mnpMastheadTable" width="100%" cellpadding="0" cellspacing="0" border="0" bgcolor="#003399" dir="LTR"><tr><td width="100%" valign="top" rowspan="2"><a href="/web/20031221235634/http://msdn.microsoft.com/"><img border="0" src="/web/20031221235634im_/http://msdn.microsoft.com/library/mnp/2/gif/banner/bnr_msdn_LTR.gif" alt="MSDN Home"></a></td><td valign="top" height="20" width="19" align="right"><img alt="*" src="/web/20031221235634im_/http://msdn.microsoft.com/library/mnp/2/gif/curveLTR.gif"></td><td valign="middle" nowrap colspan="2" class="mnpGlobalToolbar" hover="#FFCC00">&nbsp;&nbsp;<a class="mnpGlobalToolbarLink" dir="LTR" href="/web/20031221235634/http://msdn.microsoft.com/isapi/gomscom.asp?target=/catalog/" target="_parent" guid="m71a06c18019585dbc34a9c4c641a3a08">Products</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a class="mnpGlobalToolbarLink" dir="LTR" href="/web/20031221235634/http://msdn.microsoft.com/isapi/gomscom.asp?target=/downloads/" target="_parent" guid="medf9a186fb918ffce063d27c6d67cffe">Downloads</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a class="mnpGlobalToolbarLink" dir="LTR" href="https://web.archive.org/web/20031221235634/http://support.microsoft.com/" target="_parent" guid="m1b3560fa9d8189ce386c2508f94c616f">Support</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a class="mnpGlobalToolbarLink" dir="LTR" href="/web/20031221235634/http://msdn.microsoft.com/isapi/gosearch.asp?target=/" target="_parent" guid="mc56a833edd4edfae7787c623c8510629">Search</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a class="mnpGlobalToolbarLink" dir="LTR" href="/web/20031221235634/http://msdn.microsoft.com/isapi/gomscom.asp?target=/worldwide/" target="_parent" guid="m60638ac32df0e62d79e6bce849e695fe">Worldwide</a>&nbsp;&nbsp;|&nbsp;&nbsp;<a class="mnpGlobalToolbarLink" dir="LTR" href="/web/20031221235634/http://msdn.microsoft.com/isapi/gomscom.asp?target=/" target="_parent" guid="m7367a73751f32aeeeff7c8b6363bded0">Microsoft</a>&nbsp;&nbsp;</td></tr><tr><td width="19">&nbsp;</td><td valign="top" height="40" nowrap>&nbsp;</td><td valign="top" height="40" nowrap class="mnpMastheadLogo" align="right"><a target="_parent" href="https://web.archive.org/web/20031221235634/http://www.microsoft.com/"><img width="112" height="40" alt="Microsoft.com home" border="0" src="/web/20031221235634im_/http://msdn.microsoft.com/library/mnp/2/gif/mslogo/003399.gif"></a></td></tr></table><table width="100%" cellpadding="0" cellspacing="0" border="0" style="border-bottom: solid 1px white" bgcolor="#003399"><tr><td height="20" valign="middle" nowrap class="mnpLocalToolbar" style="color: #FFFFFF" hover="#FFCC00">&nbsp;<a style="color: #FFFFFF; text-decoration: none" dir="LTR" href="/web/20031221235634/http://msdn.microsoft.com/" target="_parent">MSDN Home</a>&nbsp;&nbsp;|&nbsp;<a style="color: #FFFFFF; text-decoration: none" dir="LTR" href="/web/20031221235634/http://msdn.microsoft.com/developercenters/" target="_parent" guid="m9a32b3b860298b8fb0fc0ec5b9d82034">Developer Centers</a>&nbsp;&nbsp;|&nbsp;<a style="color: #FFFFFF; text-decoration: none" dir="LTR" href="/web/20031221235634/http://msdn.microsoft.com/library/default.asp" target="_parent" guid="mdc7c56877fe73d619a7cefa36109d00d">Library</a>&nbsp;&nbsp;|&nbsp;<a style="color: #FFFFFF; text-decoration: none" dir="LTR" href="/web/20031221235634/http://msdn.microsoft.com/downloads/" target="_parent" guid="m4cd003c10a1e3c2bbd388c636326cea5">Downloads</a>&nbsp;&nbsp;|&nbsp;<a style="color: #FFFFFF; text-decoration: none" dir="LTR" href="/web/20031221235634/http://msdn.microsoft.com/code/" target="_parent" guid="m4cd003c10a1e3c2bbd388c636326cea6">Code Center</a>&nbsp;&nbsp;|&nbsp;<a style="color: #FFFFFF; text-decoration: none" dir="LTR" href="/web/20031221235634/http://msdn.microsoft.com/subscriptions/" target="_parent" guid="m898b82686f104e01aa970764f328a1d4">Subscriptions</a>&nbsp;&nbsp;|&nbsp;<a style="color: #FFFFFF; text-decoration: none" dir="LTR" href="/web/20031221235634/http://msdn.microsoft.com/worldwide.aspx" target="_parent" guid="m1c464cf3489cb906acdf43f9c49ecfeb">MSDN Worldwide</a>&nbsp;&nbsp;</td></tr></table> <table cellpadding="0" cellspacing="0" border="0" width="100%" dir="LTR"> <tr valign="top"> <td height="100%" style="overflow-x: hidden" width="181"><table cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td class="mnpQuickSearch" style="background: #003399; color: #FFFFFF" dir="LTR"><form style="margin: 0px" action="/web/20031221235634/http://msdn.microsoft.com/homepages/search-redirect.aspx"><nobr><font color="#FFFFFF">Search for</font><br><input class="mnpSearchBox" type="text" id="qu" name="qu" maxlength="255" style="width: 165px"><br><table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-top: 2px"><tr><td width="100%" class="mnpQuickSearch" style="padding: 0px"><select class="mnpSearchScopes" style="width: 137px" name="id"><option value="1">APIs &amp; References</option><option value="2">Code &amp; Downloads</option><option value="3">Knowledge Base</option><option value="4">MSDN Library</option><option value="5" selected="">All of MSDN</option></select></td><td><input class="mnpSearchButton" type="submit" value="Go"><br></td></tr></table><a href="/web/20031221235634/http://msdn.microsoft.com/isapi/gosearch.asp?TARGET=/us/dev/advanced_search.asp" style="color: #FFFFFF" onmouseover="style.color='#FFCC00';" onmouseout="style.color='#FFFFFF';">Advanced Search</a></nobr></form></td></tr></table><div id="mnpMenuTop" class="mnpMenuTop" style="overflow-x: hidden; width: 181px" url="/Longhorn/understanding/pillars/WinFS/default.aspx" dir="LTR" parent="/Longhorn/understanding/pillars/default.aspx"><div class="mnpInherit"><div class="mnpMenuRow" style="border-color: #F1F1F1; background: #F1F1F1; width: 153px; overflow-x: hidden"><img width="4" height="7" border="0" alt="*" title="" class="mnpMenuArrow" src="/web/20031221235634im_/http://msdn.microsoft.com/library/mnp/2/gif/arrowLTR.gif" style="left: 166px; visibility: hidden"><a href="/web/20031221235634/http://msdn.microsoft.com/Longhorn/">Longhorn Developer Center Home</a></div><div class="mnpMenuRow" style="border-color: #F1F1F1; background: #F1F1F1; width: 153px; overflow-x: hidden" menu="m0421853342aa40c2baa49becaf92e8fa"><img width="4" height="7" border="0" alt="*" title="" class="mnpMenuArrow" src="/web/20031221235634im_/http://msdn.microsoft.com/library/mnp/2/gif/arrowLTR.gif" style="left: 166px; visibility: hidden"><a href="/web/20031221235634/http://msdn.microsoft.com/Longhorn/productinfo/default.aspx">Product Information</a></div><div class="mnpMenuRow" style="border-color: #F1F1F1; background: #F1F1F1; width: 153px; overflow-x: hidden" menu="m04ff6090ad88497b930a781f32aa19e9"><img width="4" height="7" border="0" alt="*" title="" class="mnpMenuArrow" src="/web/20031221235634im_/http://msdn.microsoft.com/library/mnp/2/gif/arrowLTR.gif" style="left: 166px; visibility: hidden"><a href="/web/20031221235634/http://msdn.microsoft.com/Longhorn/understanding/default.aspx">Understanding Longhorn</a></div><div class="mnpMenuRow" style="border-color: #F1F1F1; background: #F1F1F1; width: 153px; overflow-x: hidden" menu="m65bad81c6808420a8e27aded365ed14f"><img width="4" height="7" border="0" alt="*" title="" class="mnpMenuArrow" src="/web/20031221235634im_/http://msdn.microsoft.com/library/mnp/2/gif/arrowLTR.gif" style="left: 166px; visibility: hidden"><a href="/web/20031221235634/http://msdn.microsoft.com/Longhorn/PDCMaterials/default.aspx">PDC Materials</a></div><div class="mnpMenuRow" style="border-color: #F1F1F1; background: #F1F1F1; width: 153px; overflow-x: hidden" menu="mfba71558131c4369a1224c580d89cfd9"><img width="4" height="7" border="0" alt="*" title="" class="mnpMenuArrow" src="/web/20031221235634im_/http://msdn.microsoft.com/library/mnp/2/gif/arrowLTR.gif" style="left: 166px; visibility: hidden"><a href="/web/20031221235634/http://msdn.microsoft.com/Longhorn/community/default.aspx">Community</a></div><div class="mnpMenuRow" style="border-color: #F1F1F1; background: #F1F1F1; width: 153px; overflow-x: hidden"><img width="4" height="7" border="0" alt="*" title="" class="mnpMenuArrow" src="/web/20031221235634im_/http://msdn.microsoft.com/library/mnp/2/gif/arrowLTR.gif" style="left: 166px; visibility: hidden"><a href="/web/20031221235634/http://msdn.microsoft.com/Longhorn/toolsamp/default.aspx">Tools &amp; Code Samples</a></div><div class="mnpMenuRow" style="border-color: #F1F1F1; background: #F1F1F1; width: 153px; overflow-x: hidden"><img width="4" height="7" border="0" alt="*" title="" class="mnpMenuArrow" src="/web/20031221235634im_/http://msdn.microsoft.com/library/mnp/2/gif/arrowLTR.gif" style="left: 166px; visibility: hidden"><a href="/web/20031221235634/http://msdn.microsoft.com/Longhorn/Support/default.aspx">Support</a></div><div class="mnpMenuBorder" style="width: 180px"></div><div class="mnpMenuRow" style="border-color: #F1F1F1; background: #F1F1F1; width: 153px; overflow-x: hidden"><img width="4" height="7" border="0" alt="*" title="" class="mnpMenuArrow" src="/web/20031221235634im_/http://msdn.microsoft.com/library/mnp/2/gif/arrowLTR.gif" style="left: 166px; visibility: hidden"><a href="/web/20031221235634/http://msdn.microsoft.com/products">Products &amp; Technologies</a></div><div class="mnpMenuBorder" style="width: 180px; margin-bottom: 0px"></div></div></div><div class="mnpAds" style="width: 181px; height: 100%; margin-bottom: 20px; background: #F1F1F1; border-style: solid; border-color: #999999; border-width: 0px 1px 0px 0px"><center><div style="height: 20px; background: inherit"></div><a href="/web/20031221235634/http://msdn.microsoft.com/subscriptions/"><img border="0" src="/web/20031221235634im_/http://msdn.microsoft.com/nodehomes/graphics/msdn_sub.gif" alt="MSDN Subscriptions"></a><br><div style="height: 20px; background: inherit"></div><img border="0" src="/web/20031221235634im_/http://msdn.microsoft.com/asp.net/art/starter_kit_survey.gif" alt=""><br></center></div></td> <td width="100%" dir="LTR"> <table width="100%" cellpadding="0" cellspacing="0" height="46" bgcolor="#6699cc"><tr><td width="470"><img border="0" src="/web/20031221235634im_/http://msdn.microsoft.com/longhorn/art/left_bnr_longhorn.gif" width="470" height="46" alt="MSDN Home"></td><td width="100%" title="MSDN Home" background="/web/20031221235634im_/http://msdn.microsoft.com/Longhorn/understanding/pillars/WinFS/default.aspx?pull=%2Flibrary%2Fen-us%2Fdnaero%2Fhtml%2Fwux_topic_storage.asp" bgcolor="#6699cc">&nbsp;</td><td width="0"><img border="0" src="/web/20031221235634im_/http://msdn.microsoft.com/Longhorn/understanding/pillars/WinFS/default.aspx?pull=%2Flibrary%2Fen-us%2Fdnaero%2Fhtml%2Fwux_topic_storage.asp" width="0" height="46" alt="MSDN Home"></td></tr></table> <table class="downleveleyebrow" width="100%" height="24px"><tr><td> <span id="_ctl0_eb" style="COLOR: #003399;width: 100%;height: 24px;padding-top:4px;padding-left:14px;"><a href="/web/20031221235634/http://msdn.microsoft.com/">MSDN Home</a>&nbsp;&gt;&nbsp;<a href="/web/20031221235634/http://msdn.microsoft.com/Longhorn/default.aspx">Longhorn Developer Center Home</a>&nbsp;&gt;&nbsp;<a href="/web/20031221235634/http://msdn.microsoft.com/Longhorn/understanding/default.aspx">Understanding Longhorn</a>&nbsp;&gt;&nbsp;<a href="/web/20031221235634/http://msdn.microsoft.com/Longhorn/understanding/pillars/default.aspx">The Pillars of Longhorn</a>&nbsp;&gt;&nbsp;WinFS</span> </td></tr></table> <table id="pageContainer" class="clsDocBody" cellpadding="0" cellspacing="0" border="0" width="100%"><tr><td> <!--pull table--> <table id="hppulltable" cellpadding="0" border="0" border="0" height="100%"> <tr> <td valign="Top"><table cellspacing="0" cellpadding="0" border="0" width="100%"> <tr align="Right" valign="Top" style="Padding-right:15px"> <td valign="Top" style="text-align:left"><img id="PullImage" src="/web/20031221235634im_/http://msdn.microsoft.com/msdn-online/shared/graphics/library.gif" alt="See this in the MSDN Library" align="Left" border="0"/><span id="PullLabel"><a href="/web/20031221235634/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage.asp">See This in MSDN Library</a></span></td> </tr> </table> <div style="float:right;"> </div> <div id="nsbanner"> <div id="TitleRow"> <p><font color="gray">Sample topic from Aero User Experience Guidelines</font></p> <h1 class="dtH1"><a name="wux_topic_storage"></a>The Windows File System</h1> </div></div> <p>Microsoft User Experience Group<br> October 2003</p> <h4 class="dtH1">Contents</h4> <p><a href="#wux_topic_storage_topic1" target="_self">What Is "WinFS"?</a><br> <a href="#wux_topic_storage_topic2" target="_self">Benefits of Using "WinFS"</a><br> <a href="#wux_topic_storage_topic3" target="_self">Storage Concepts</a><br> <a href="#wux_topic_storage_topic4" target="_self">Overview of the "Longhorn" Storage Model</a></p> <p>Microsoft庐 Windows庐 Code Name "WinFS" (Windows File System) is the storage platform for Microsoft Windows Code Name "Longhorn." This article presents an overview of "WinFS" and how it makes possible a better experience for both you and your users. </p> <h2 class="dtH1"><a name="wux_topic_storage_topic1"></a>What Is "WinFS"?</h2> <p>"WinFS" is the active storage subsystem in "Longhorn" that is used for searching, organizing, and sharing data. "WinFS" maintains a store of items and their properties, and provides a system service in "Longhorn" to retrieve information when it's needed. Because "WinFS" allows organization and retrieval of items based on properties (such as author or title), users can find things more quickly. Users can also organize, relate, and act on their documents, music, photos, e-mail, calendar information, and other types of items more efficiently.</p> <p>Within the user experience "WinFS" has many roles and capabilities, but principally "WinFS" is: </p> <h4 class="dtH1">A storage medium for all end-user data.</h4> <p>As a storage platform, "WinFS" extends beyond a traditional file system and relational database system. It is the store for all types of data, whether structured, semi-structured, or unstructured. By default this includes events, locations, tasks, contacts, appointments, annotations, and other types of data. The data structure follows a well-defined schema that explains clearly what the data is for and how it can be used.</p> <h4 class="dtH1">A data model built on relational database technology and NTFS.</h4> <p>The "WinFS" platform supports an extensible programming model that can access data in the underlying store using relational, object-oriented, and XML-based APIs. An application can also access data using the existing Win32 file system API, which means that Win32 applications can continue to work with files on "Longhorn" and take advantage of some "WinFS" capabilities with little or no extra programming effort.</p> <h4 class="dtH1">A more secure place to store data.</h4> <p>Every item in "WinFS" is protected by its own security descriptor. "WinFS" controls access to stored items, and audits user actions. Like the Windows security model, "WinFS" security uses discretionary access control to enable access to "WinFS" items by users and by resource manager applications such as file and print services. </p> <h4 class="dtH1">A set of domain-specific schemas.</h4> <p>"WinFS" contains a set of common schemas called <i>Windows</i> <i>types</i>鈥攆or example, Contacts, Sound Tracks, Messages, and Pictures. Windows Explorer provides a way to display and manipulate these types. If the Windows types don't meet your application needs, with "WinFS" you can customize, or extend, a type. Applications can also create new types. </p> <h4 class="dtH1">A set of services that make data actionable. </h4> <p>"WinFS" provides a set of data services for monitoring, managing, and manipulating items. "WinFS" is active, meaning that it is a data-driven platform in which data flow can be monitored and managed. Users or applications can be notified of various events and can create custom rules that determine how and when notifications should be delivered. For example, you can use "WinFS" to forward e-mail messages to a mobile device when the recipient is in a meeting.</p> <h4 class="dtH1">A new user experience in the "Longhorn" interface.</h4> <p>"Longhorn" takes the Windows XP task-based folders to a new level by letting users categorize their data, and then filtering their view of the information by criteria that they assign. For example, a user could organize music by song title, artist, album, year released, track, song duration, or genre, and then filter the view of the matching music so that they see only songs titles beginning with the letter "L." With "WinFS" users can access anything they need by familiar contexts rather than by digging through a hierarchical folder tree.</p> <h2 class="dtH1"><a name="wux_topic_storage_topic2"></a>Benefits of Using "WinFS"</h2> <p>Storage today can have almost unlimited capacity, but users still have outdated methods for organizing and accessing hundreds or thousands of files. It is simply too hard for users to organize and find data that is spread across multiple drives, network shares, and other storage media. To improve the storage experience, that data needs to be complemented by useful metadata that users can find, relate, and act upon. "WinFS" is designed to answer that need.</p> <p>From a technical viewpoint you might say that the main benefits of "WinFS" derive from the schematized and item-centric data model, unified data storage, and data services such as synchronization, notification, and a common security model. But from a user perspective, the exciting news is that "WinFS" enables users to organize related information, search across that information, and act on the information in a more intuitive and logical way. </p> <p>In "WinFS," how information is organized is separate from how that information is stored physically. How users and applications organize information is also separate from how the information is saved. Data can be organized using a connected folder structure, namespaces, properties, tables, invariant identities, or relationships. </p> <p>To benefit developers, the "WinFS" platform supports unified data services for all end-user applications. Integrated data services such as synchronization, notification, a unified store, and a common security model, and their integration with other technologies such as peer-to-peer networking and directory services, make data sharing among applications easier. These data services enable you to write applications that exchange data with applications built by other software developers. Also, "WinFS" works with other Windows-based technologies to allow information sharing remotely with both "WinFS" and non"WinFS" stores.</p> <p>Through the "WinFS" API, applications can manipulate shared information in the "WinFS" data store, no matter which application populated the information. For example, an application can reuse a common address store, rather than create a separate address book and force users to re-enter all their contacts.</p> <p>Consider how many address books exist on the typical office computer today. Applications can't easily access information stored by these address books in a consistent way because the various address books don't have a common API. Writing custom code to manipulate information in the various data stores through widely varying APIs is much more time consuming and error-prone than consistently using the "WinFS" API. </p> <h3 class="dtH1">Key User Benefits</h3> <p>"WinFS" gives users a better way to:</p> <p><b>Find</b> their files and data </p><ul> <li>Files and data are easier to find with "WinFS."</li> <li>Users can organize information in ways that make sense to them.</li> <li>"WinFS" provides an integrated view of information.</li> </ul> <p><b>Relate</b> their data </p><ul> <li>Information is much easier to discover.</li> <li>Data is interrelated and <i>smarter</i>.</li> </ul> <p><b>Act</b> on their data </p><ul> <li>"WinFS" can control and manage data flow.</li> <li>Users can set preferences for how information is handled.</li> <li>Users can work anywhere, anytime, any place.</li> </ul> <h3 class="dtH1">Key Developer Benefits</h3> <p>"WinFS" gives developers:</p> <p>New <b>file system</b> capabilities </p><ul> <li>Current applications work on "Longhorn" and share new technology.</li> <li>There are metadata and relationships on most file formats.</li> <li>There are metadata handlers for custom file formats.</li> </ul> <p>New <b>Windows primitives </b> </p><ul> <li>Applications can integrate with new technologies in Windows.</li> <li>"WinFS" is extensible to accommodate additional data.</li> </ul> <p>New <b>data subsystem</b> capabilities </p><ul> <li>Developers can build smart, connected applications.</li> <li>Data can be shared among different applications from common stores.</li> <li>Branded data can be applied to other applications and the Windows shell.</li> </ul> <h2 class="dtH1"><a name="wux_topic_storage_topic3"></a>Storage Concepts</h2> <p>The following list defines some of the basic "WinFS" storage concepts.</p> <h3 class="dtH1">Sets</h3> <p>The "Longhorn" storage model for "WinFS" is designed on the concept of collections of items called <i>sets</i>. A set can be defined either by explicitly associating an item with other items using relationships, or by specifying a property predicate (for example, "Author=Walter and CreationDate&gt;9/10/2003").</p> <p>The core types of sets are <i>dynamic</i> and <i>static</i> <i>sets</i>. </p> <h4 class="dtH1">Dynamic Sets</h4> <p>Dynamic sets are the results of queries based on the properties of items (for example, image files or all files created in February) in "WinFS" that are run against certain locations (called the <i>scope</i>). The sets can be used across different computers. For example, scope can include the computer you are using, a shared server, or a company's network domain.</p> <p>In "WinFS," dynamic sets are the preferred way that users can organize their files鈥攏ot by location, but by the properties most relevant to them. For example, an attorney could organize her documents by client name and case number. She could then see all the documents related to a particular client and case. She could browse to her documents by either client name or case number and then use the other property to narrow the results. If she had a document that applied to three different cases, she could associate the document with all three cases without having to make copies of the document or manage shortcuts.</p> <h4 class="dtH1">Static Sets</h4> <p>Static sets are lists of items that are stored within "WinFS" and that don't share common properties. For example, a music playlist is a list of pointers to actual music files stored on some physical media. The files can be stored in different locations, but the lists can be used across different computers, and users can control the hierarchy of the lists.</p> <p>Static sets are best used to organize items that have no properties in common. For example, a user might maintain a list of documents he's working on. The documents have no properties in common. </p> <p>Why shouldn't the user just create a common property with a specific value for all the documents in the set鈥攊n other words, use a dynamic set? Because set membership in a static set is explicit: an item remains in the static set until the user explicitly removes it, independent of the item's properties. For a dynamic set, set membership is implicit: an item is in the dynamic set depending on the current values of item properties used in the query that defines the dynamic set. </p> <p>Another way to think about this is that using a dynamic set for all such instances of this example would create properties that have the sole purpose of indicating membership in a set, and nothing else. It would be strange to see such properties listed with true properties such as Author or Title. Thus, a static set is the right choice in this example. In another example, a user might be comparison shopping for a client. She builds a list of the various products, adding properties about each one (price, performance, etc.). She mails the list to her client. When her client receives it, he can follow links to the product Web sites, and see the properties, as well as sort by them. Static sets allow the user to associate properties with the list, rather than requiring that all properties be added to the items referenced by the list.</p> <h3 class="dtH1">Folders</h3> <p>Traditionally, a folder represents the location and organization of programs and files. In "WinFS," a folder is a particular kind of static set composed of items, which provide one form of organization. For example, a user preparing a presentation might need to ensure that the presentation is saved to his laptop, and is available offline, so he creates a folder and moves the presentation there. The folder offers both security for the presentation and a static location where the presentation resides.</p> <p>Folders can be used in a number of other scenarios. For example: </p><ul> <li>A knowledge worker wants documents on his team's server to appear in dynamic lists on his computer, so he adds the team folder on the server to his scope. (A <i>scope</i> is a query run against certain locations.) To ensure security, he asks his IT administrator to create a folder on the server and to add the team members to the folder's access control list (ACL). </li> <li>An IT administrator changes the default scope of each user's folder and changes the default <i>Save</i> location to their folder on the server, which provides them the same access to their items regardless of which local machine they are using. </li> <li>To partition users' data on a system, Windows creates separate user profile folders for each user.</li> </ul> <h3 class="dtH1">Items</h3> <p>Items are the primary data containers. Each item contains multiple properties to hold the data, and a reference to a type that defines what properties the item has. An item may contain additional properties that are not defined by its type. A type is a schema that defines the structure of an item, relationship, or extension. Types may refer to other types to form an inheritance tree. Each item, relationship, or extension of a given type contains the properties defined by the type, as well as the properties defined by the type's parents.</p> <p>A given type can be used with items, relationships, or extensions, referred to as <i>item types</i>, <i>relationship types</i>, and <i>extension types</i></p> <h3 class="dtH1">Relationships</h3> <p>A relationship is an association between two items鈥攖he <i>source</i> and the <i>target</i>. Like an item, a relationship has a type that defines the required structure of its data, and may have additional properties attached. Relationships are the basic building blocks for static sets.</p> <h3 class="dtH1">Extensions</h3> <p>Like items, an extension contains properties defined by a type. However, an extension must be associated with only one item, and the types used for extensions are distinct from the types used for items. An item can have at most one extension of a given type. For example, a CRM (Customer Relationship Management) application could create a new extension type called "Customer Information" and add an instance of this to any item.</p> <h3 class="dtH1">Properties</h3> <p>Properties are the smallest data containers. A property consists of a PropertyName (used to refer to a particular property in a collection of properties) and a value. The value may be a primitive type (such as integer, string, or filestream), or it may be more complicated. A PropertyName is used to refer to a particular property in a collection of properties.</p> <p>The Windows XP shell used a specific and simplified type system with a single level of inheritance. "Longhorn" deprecates the use of perceived types in favor of the "WinFS" type system. In the "Longhorn" architecture, data types are defined using the "WinFS" Schema Description Language. The properties defined in the data types are mapped to Windows Explorer view fields, which is what users see as the properties of a given data type. </p> <h3 class="dtH1">Synchronization</h3> <p>Data synchronization services keep information that is stored in different devices and locations synchronized at all times, with minimal user intervention.</p> <p>The "WinFS" synchronization platform is designed to meet the following objectives: </p><ul> <li>Allow applications and services to efficiently synchronize data between different "WinFS" stores. </li> <li>Enable developers to build effective solutions for synchronizing data between "WinFS" and non-"WinFS" stores. </li> <li>Provide developers with appropriate interfaces to customize the synchronization user experience.</li> <li>Provide custom conflict resolution handlers to resolve synchronization conflicts.</li> </ul> <h3 class="dtH1">Information Agents</h3> <p>"WinFS-IA" is a platform for building a new class of personalized applications that act on behalf of users. These applications, called <i>information agents</i>, perform actions based on three factors: schematized data in "WinFS," user-created rules, and user context.</p> <p>For users, information agents act as automated personal assistants. The user defines preferences for an information agent, and the information agent performs actions, such as routing communication, or configures operational settings for the user. This frees users from having to manually manage each piece of information that arrives on their computer, which reduces the user's information management workload.</p> <p>For developers, information agents enable event-driven programs that respond to predefined user preferences (such as "don't interrupt me when I'm busy"), instead of responding to manual user intervention. To obtain user preferences, developers provide schematized templates, which users can then use to build rules.</p> <p>Using the schematized data in "WinFS" and the schematized decision logic of an information agent, "WinFS-IA" enables users to personalize the operation of their computers. This combination of schematized logic and user customization provides better use of the data on the user's computer and reduces the user's information management workload.</p> <h3 class="dtH1">File System Capabilities</h3> <p>"WinFS" supports efficient indexing of file content, which enables rich querying that is very difficult to achieve with other file systems. For example, in "WinFS" it is easy to search files based on their content and other criteria such as file name, title, author, or date of publication. This would be difficult, if not impossible, in a traditional file system such as NTFS. In addition, "WinFS" still has efficient streaming capabilities鈥攖he cornerstone of traditional file systems鈥攖o handle large data values.</p> <p>"WinFS" can also be used with computers running earlier versions of Windows that support the NTFS file system. Files stored in "WinFS" can be accessed using the new "WinFS" API or the existing Win32 API. Therefore, existing Win32 applications can work with files stored in "WinFS" with little or no modification.</p> <p>In "Longhorn," files can be stored either in "WinFS" or on NTFS, but "WinFS" is more efficient and effective than NTFS for organizing, searching for, and sharing files. "WinFS" is particularly useful for storing data that needs to be queried or shared by users or applications. Advantages are largely because "WinFS" data is schematized, and the items can be related to each other in more than one way and, therefore, can be searched in multiple ways. You can still use NTFS for storing files that have few or no searching and sharing requirements. In fact, "Longhorn" uses NTFS for all the Windows system files needed for starting up and running the system.</p> <h2 class="dtH1"><a name="wux_topic_storage_topic4"></a>Overview of the "Longhorn" Storage Model</h2> <p>The purpose of this section is to show the UI context in which users find, view, organize, and manipulate their data in "Longhorn" using "WinFS." This brief overview should give you an idea of the user experience your application can create if you adopt "WinFS" and implement it according to the Aero user experience guidelines and sound usability and design practices.</p> <p>Users with computers running "Longhorn" perform familiar file management tasks such as finding, organizing, and performing actions on data. The difference, however, is that the traditional concepts and methods have less importance or no correlation under the umbrella of "WinFS." </p> <h3 class="dtH1">Storage UI</h3> <p>Although physical folders still exist in "Longhorn," users rarely need them to accomplish their tasks. Instead, users interact with their data primarily through a number of specialized UI controls. Figure 1 shows a schematic representation of the important controls and UI elements.</p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage1.gif" alt="" border="0"></p> <p class="label"><b>Figure 1 Schematic of storage model</b></p> <p>As shown in Figure 1, the storage model has a number of components: </p><ul> <li>A breadcrumb bar for navigation</li> <li>A preview area</li> <li>Commands (based on FolderType and folder sniffing) </li> <li>Filters and filter controls</li> <li>A list view area (for thumbnails and grouping) </li> <li>A user's list of storage favorites</li> </ul> <p>The storage model has some other elements which are discussed below鈥攆or example: </p><ul> <li>A scope (for example, c:\foo + d:\bar) </li> <li>A specific query and filters (for example, select * from Media.Music where Artist = Madonna &amp; year = 1984) </li> <li>An associated "drag target" (a physical folder, which is optional)</li> </ul> <p>Figure 2 shows a typical storage page as a user will see it.</p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage2.gif" alt="" border="0"></p> <p class="label"><b>Figure 2 Sample storage page for Documents</b></p> <h3 class="dtH1">Dynamic Sets</h3> <p>With "Longhorn," users perform familiar file management tasks such as finding, organizing, and performing actions on data. However, dynamic sets replace the need for physical folders and become the primary way users access their data. </p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage3.gif" alt="" border="0"></p> <p class="label"><b>Figure 3 A dynamic set</b></p> <p>In "Longhorn," the list view control shows the items that have been dynamically selected based on the user's criteria. Each item in a list view is not necessarily implemented as a file in the file system. A list view can contain contacts, e-mail messages, and other non-file objects. Depending on the selected view property, users can see previews and details about the files in the list. However, in icon views, for example, this amount of detail may be minimal.</p> <p>Dynamic sets can be grouped visually into "stacks" according to a specific property such as author. If a user chooses to stack the items by author, a stack for each author is displayed, and items with no author value appear in a flat list. Dragging one of these items into the stack for a particular author assigns that author as a property of the item, which allows for easy property editing.</p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage4.gif" alt="" border="0"></p> <p class="label"><b>Figure 4 A dynamic set with stacks</b></p> <p>With filter menus, storage favorites, and the wordwheel, users can change the dynamic set they are viewing until they have narrowed the set to exactly the items they want to view. </p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage5.gif" alt="" border="0"></p> <p class="label"><b>Figure 5 Filter menus</b></p> <p>Users can select a particular property value from a filter menu to narrow a dynamic set to items with that value. For example, a user could select Raquel Mello from the "Author" filter menu, and the dynamic list would narrow to only items created by Raquel Mello.</p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage6.gif" alt="" border="0"></p> <p class="label"><b>Figure 6 Author filter menu </b></p> <p>A user could further narrow the dynamic set to only documents created in a particular month.</p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage7.gif" alt="" border="0"></p> <p class="label"><b>Figure 7 Date filter menu </b></p> <p>The breadcrumb bar in the storage page helps users keep track of where they are and what filters they have used.</p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage8.gif" alt="" border="0"></p> <p class="label"><b>Figure 8 Breadcrumb bar</b></p> <p>Users can save links to their favorite dynamic sets, called "storage favorites," which are readily available in the UI.</p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage9.gif" alt="" border="0"></p> <p class="label"><b>Figure 9 Sample storage favorites </b></p> <p>Clicking a storage favorite runs a query of all items within a specific scope, and returns only the items with specific properties. For example, a user might create a set of important documents in the month of October, and he might want to see this set of documents frequently. While viewing the set of documents, he could save a storage favorite and name it "Important Documents from October." This storage favorite would be immediately available to him in the future.</p> <p>Users can also filter the items in a dynamic set using the wordwheel.</p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage10.gif" alt="" border="0"></p> <p class="label"><b>Figure 10 The wordwheel is the text box above the list of favorites</b></p> <p>As a user types in the wordwheel, the dynamic set narrows to items with properties that match or contain the string that the user typed.</p> <h3 class="dtH1">Property Editing</h3> <p>With the "WinFS" storage model, users can create a flexible organization for their items, based on properties attached to the items and independent of the location where the items are stored. </p> <p>Users can create their own properties and property values (in addition to the properties that are attached by the system, such as date created and date modified) to use for organizing their data in ways that are meaningful to them. </p> <p>There are two ways that users can add a property to an item: </p><ul> <li>When an item is selected, the preview pane displays a preview of the item and editable properties for the item. Users can edit these properties inline.</li> </ul> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage11.gif" alt="" border="0"></p> <p class="label"><b>Figure 11 Editable property fields</b> </p><ul> <li>The user can drag an item into a stack, which assigns the properties of the stack to the item. (See Figure 4.)</li> </ul> <h4 class="dtH1">"Longhorn" Search</h4> <p>Adding properties to items makes possible a search experience that is flexible and independent of location. Users can form search queries using words that mean something to them, such as, "What is a firewall?" or "Pictures from Maui." </p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage12.gif" alt="" border="0"></p> <p class="label"><b>Figure 12 Search page</b></p> <p>Because non-file-based data like contacts and e-mail messages are cross-referenced with files, users can perform more complex searches. One example could be, "Look for information about Jim from 1987 to 1999."</p> <h4 class="dtH1">Search Results</h4> <p>Based on the query and the success of the search, users will see the results of their query:</p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage14.gif" alt="" border="0"></p> <p class="label"><b>Figure 13 Search results page </b></p> <h3 class="dtH1">Relating Data</h3> <p>In traditional file systems, users create files and store them in folders. In "WinFS," an item can exist in multiple folders. When users create an item, they specify the folder item where the item resides. This creates a holding relationship between the folder item (source) and the newly created item (target). Users can also create additional holding relationships to the same target from some other folder. A folder can also contain multiple items. That is, a folder item contains a collection of holding relationships, each pointing to a different (target) item. For example, a user can include a certain song in several playlists. The music file is not copied or moved to any folder location; it stays where it is and the different playlists keep track of the actual file.</p> <p>If a user deletes a holding relationship from a folder, the target item in that relationship no longer exists in that folder, but the item may still remain in "WinFS" if it is a target of a holding relationship in some other folder. If you delete an item, however, all the holding relationships from different folders that have the item as their target are removed.</p> <h4 class="dtH1">Property Page</h4> <p>Users can go to the property page to add or edit properties. The properties that users define are displayed on the property page along with existing properties. </p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage15.gif" alt="" border="0"></p> <p class="label"><b>Figure 14 Property page</b></p> <p>Figure 14 shows a number of blank properties that the user can edit to add information to the document: </p><ul> <li>Subject</li> <li>Category</li> <li>Keywords</li> <li>Template</li> <li>Comments</li> <li>Date Created</li> <li>Date Modified</li> <li>Date Accessed</li> </ul> <h3 class="dtH1">Acting on Data</h3> <p>Obviously, data is not simply something to find and organize and forget about. Users want to find and organize their data so that they can work with it in some fashion鈥攔ead, create, edit, share, print, and so on. Many of these actions are familiar to users as commands. "Longhorn" exposes commands and tasks in the preview pane and other places. Commands are relevant to item types, as the selection state of items that the user is viewing in a dynamic set.</p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage16.gif" alt="" border="0"></p> <p class="label"><b>Figure 15 Sample preview pane</b></p> <h4 class="dtH1">Commands </h4> <p>Commands are actions that can be invoked by a user and are associated to a "WinFS" type or file type. Commands are prominent in the preview pane (see Figure 15). The default commands let expose users know to some features that the application offers, and give users easy access to those features. </p> <p>In Windows XP, commands were referred to as verbs, and were registered on file associations in the registry. In "Longhorn," file associations are generalized to type associations and registered commands through type associations in the manifest.</p> <p>Figure 16 shows a set of commands that apply to a Document type in "WinFS."</p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage17.gif" alt="" border="0"></p> <p class="label"><b>Figure 16 Sample document commands</b></p> <p>Once users have filtered data to the point that they have the items they want to work with, they can perform tasks with the data. For example, a paralegal might find all the declarations pertinent to a particular case and then print them for her attorney. Or someone at home might sort through her online picture albums to collect a set of vacation pictures that she can share with her parents and family. She can also burn a CD of the images to send to her relatives.</p> <h3 class="dtH1">Setting Preferences for How Notifications are Handled</h3> <p>With "Longhorn," users will be able to monitor their messages and decide how and when to receive them, and which messages they receive. A rules engine makes it possible for users to create simple or complex rules to define how their system handles particular messages. For example, a user could create this rule:</p> <p>All e-mail from 'Christine' containing the word 'urgent' should be forwarded to emailaddress@mailserver.com if I am away from my PC.1 </p> <blockquote class="dtBlock"> Contact = 'Christine' </blockquote> <blockquote class="dtBlock"> NotificationCategory = "Email" </blockquote> <blockquote class="dtBlock"> Subject contains 'urgent' OR BodyText contains 'urgent' </blockquote> <blockquote class="dtBlock"> Context = "Idle" </blockquote> <blockquote class="dtBlock"> Route to: <a href="https://web.archive.org/web/20031221235634/mailto:emailaddress@mailserver.com">emailaddress@mailserver.com</a></blockquote> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage18.gif" alt="" border="0"></p> <p class="label"><b>Figure 17 Creating a notification rule</b></p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage19.gif" alt="" border="0"></p> <p class="label"><b>Figure 18 Do Not Disturb settings</b></p> <p>Besides having immediate control, users don't have to worry about missed notifications. "Longhorn" includes a history of received notifications for seven days.</p> <p class="fig"><img src="/web/20031221235634im_/http://msdn.microsoft.com/library/en-us/dnaero/html/wux_topic_storage20.gif" alt="" border="0"></p> <p class="label"><b>Figure 19 Notifications history</b></p> <hr> <p>漏2003 Microsoft Corporation. All rights reserved. </p> <p>The "Longhorn" User Experience Guidelines are produced by the MSX (Microsoft User Experience) group. </p> </td> </tr> </table> <a href="#top"><img src="/web/20031221235634im_/http://msdn.microsoft.com/msdn-online/shared/graphics/top.gif" border="0" alt="Top of Page"/></a> <a href="#top" title="Top of Page">Top of Page</a> <p/> </td></tr></table> </td> </tr> </table> <?xml version="1.0" encoding="utf-16"?><table cellpadding="0" cellspacing="0" width="100%" border="0" bgcolor="#003399" style="color: #FFFFFF" dir="LTR"><tr><td class="mnpFooterTopRow" nowrap="nowrap" height="20">&nbsp;<a href="https://web.archive.org/web/20031221235634/http://register.microsoft.com/contactus30/contactus.asp?domain=msdn" target="_parent" style="color: #FFFFFF; text-decoration: none" onmouseout="mnpFooterMouse(this, '#FFFFFF')" onmouseover="mnpFooterMouse(this, '#FFCC00')">Contact Us</a>&nbsp;|&nbsp;<a href="/web/20031221235634/http://msdn.microsoft.com/flash/" target="_parent" style="color: #FFFFFF; text-decoration: none" onmouseout="mnpFooterMouse(this, '#FFFFFF')" onmouseover="mnpFooterMouse(this, '#FFCC00')">MSDN Flash Newsletter</a>&nbsp;|&nbsp;<a href="/web/20031221235634/http://msdn.microsoft.com/isapi/gomscom.asp?target=/legal/" target="_parent" style="color: #FFFFFF; text-decoration: none" onmouseout="mnpFooterMouse(this, '#FFFFFF')" onmouseover="mnpFooterMouse(this, '#FFCC00')">Legal</a>&nbsp;</td></tr><tr><td class="mnpFooterBottomRow" nowrap="nowrap" height="30"><font color="#FFFFFF">&nbsp;<span dir="LTR">漏2003 Microsoft Corporation. All rights reserved.</span>&nbsp;<a href="/web/20031221235634/http://msdn.microsoft.com/isapi/gomscom.asp?target=/info/cpyright.htm" target="_parent" style="color: #FFFFFF; " onmouseout="mnpFooterMouse(this, '#FFFFFF')" onmouseover="mnpFooterMouse(this, '#FFCC00')">Terms of Use</a>&nbsp;|&nbsp;<a href="/web/20031221235634/http://msdn.microsoft.com/isapi/gomscom.asp?target=/info/privacy.htm" target="_parent" style="color: #FFFFFF; " onmouseout="mnpFooterMouse(this, '#FFFFFF')" onmouseover="mnpFooterMouse(this, '#FFCC00')">Privacy Statement</a>&nbsp;</font></td></tr></table><script type="text/javascript" language="Javascript"> function mnpFooterMouse(el, co) { if (el.style) el.style.color = co; } </script><layer visibility="hide"><div style="display:none"><img width="0" height="0" border="0" hspace="0" vspace="0" src="https://web.archive.org/web/20031221235634im_/http://c.microsoft.com/trans_pixel.asp?source=msdn&amp;TYPE=PV&amp;p=Longhorn_understanding_pillars_WinFS"></div></layer> </body> </html> <!-- FILE ARCHIVED ON 23:56:34 Dec 21, 2003 AND RETRIEVED FROM THE INTERNET ARCHIVE ON 02:53:09 Nov 24, 2024. JAVASCRIPT APPENDED BY WAYBACK MACHINE, COPYRIGHT INTERNET ARCHIVE. ALL OTHER CONTENT MAY ALSO BE PROTECTED BY COPYRIGHT (17 U.S.C. SECTION 108(a)(3)). --> <!-- playback timings (ms): captures_list: 0.927 exclusion.robots: 0.04 exclusion.robots.policy: 0.025 esindex: 0.014 cdx.remote: 21.02 LoadShardBlock: 190.823 (3) PetaboxLoader3.datanode: 185.747 (4) load_resource: 376.767 PetaboxLoader3.resolve: 265.624 -->

Pages: 1 2 3 4 5 6 7 8 9 10