Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
WinFS
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
===Architecture=== [[Image:WinFSArch.svg|thumb|Architecture of the WinFS Stack]] WinFS uses a relational engine, which derives from SQL Server 2005,<ref>{{cite web | url = http://www.betanews.com/article/MS_Explains_WinFS_Releases_Beta_1/1125353356 | title = MS Explains WinFS, Releases Beta 1 | publisher = BetaNews | author = Nate Mook | date = 29 August 2005 | access-date = 2007-07-02}}</ref> to provide the data-relations mechanism. WinFS stores are simply SQL Server database (.MDF) files with the FILESTREAM attribute set.<ref name="PDC">{{cite conference | url = http://216.55.183.63/pdc2005/slides/DAT209_Mehrotra.ppt | format = PPT | conference-url = https://web.archive.org/web/20051004072400/http://msdn.microsoft.com/events/pdc/ | title = "WinFS" Future Directions: An Overview | date= September 2005 | access-date = 2023-05-22 | author = Shishir Mehrotra | conference = Professional Developers Conference 2005 | publisher = Microsoft | via = MicrosoftPDC Commnet | archive-url = https://web.archive.org/web/20051212000632/http://216.55.183.63/pdc2005/slides/DAT209_Mehrotra.ppt | archive-date = December 12, 2005}}.</ref> These files are stored in the access-restricted folder named "System Volume Information" (placed in the volume root),<ref>{{cite book | title = WinFS | last1 = Chaloupov | first1 = Alexei | editor-last1 = Olga | editor-first1 = Dambit | date = March 14, 2006 | chapter = WinFS Architecture | chapter-url = https://www.ntfs.com/winfs_arch.htm | type = presentation | url = http://www.ntfs.com/downloads/WinFS.ppt | access-date = 2023-05-22 | archive-url = https://web.archive.org/web/20211209060949/http://www.ntfs.com/downloads/WinFS.ppt | archive-date = 2021-12-09 | url-status = live | archive-format = PPT | format = PPT | page = 4}}</ref> in folders under the folder "WinFS" with names of [[GUID]]s of these stores.<ref name="PDC" /> At the bottom of the WinFS stack lies ''WinFS Core'', which interacts with the [[filesystem]] and provides file-access and -addressing capabilities.<ref name="WinFSFiles" /> The relational engine leverages the WinFS core services to present a structured store and other services such as [[Lock (computer science)|locking]], which the WinFS runtime uses to implement the functionality. The WinFS runtime exposes ''services'' such as ''Synchronization'' and ''Rules'' that can be used to synchronize WinFS stores or perform certain actions on the occurrence of certain events.<ref name="WinFSFiles" /> WinFS runs as a [[Windows Service|service]] that runs three [[Process (computing)|processes]]:<ref>{{cite web | url = http://bloggingabout.net/blogs/erwyn/archive/2005/08/30/9156.aspx | title = First Look on WinFS Beta 1 | author = Erwyn van der Meer | access-date = 2007-07-03 | url-status = dead | archive-url = https://web.archive.org/web/20070609022722/http://bloggingabout.net/blogs/erwyn/archive/2005/08/30/9156.aspx | archive-date = 2007-06-09 }}</ref> # ''WinFS.exe'', which hosts the relational datastore # ''WinFSSearch.exe'', which hosts the indexing and querying engine # ''WinFPM.exe (WinFS File Promotion Manager)'', which interfaces with the underlying file-system It allows programmatic access to its features via a set of [[.NET Framework]] [[API]]s. These enable applications to define custom-made data types, define relationships among data, store and retrieve information, and allow advanced searches.<ref name="Dev1a" /><ref name="WinFSFiles" /> The applications can then aggregate the data and present the aggregated data to the user. ====Data store==== WinFS stores data in relational stores, which are exposed as virtual locations called ''stores''.<ref name="PaulT" /> A WinFS store is a common repository where any application can store data along with its metadata, relationships and schema. WinFS runtime can apply certain relationships itself; for example, if the values of the ''subject'' property of a picture and the ''name'' property of a contact are identical, then WinFS can relate the contact with the picture.<ref>{{cite web | url = http://blogs.msdn.com/winfs/archive/2005/09/13/465269.aspx | title = WinFS Mailbox | publisher = WinFS Team Blog | author = Vijay Bangaru | access-date = 2007-06-30 | archive-url = https://web.archive.org/web/20070522092310/http://blogs.msdn.com/winfs/archive/2005/09/13/465269.aspx | archive-date = 2007-05-22 | url-status = dead }}</ref> Relations can also be specified by other applications or the user.<ref name="MSDNMag">{{cite web |url = http://msdn.microsoft.com/msdnmag/issues/04/01/WinFS/ |title = Revolutionary File Storage System Lets Users Search and Manage Files Based on Content |publisher = MSDN Magazine |author = Richard Grimes |access-date = 2007-06-30 |archive-url = https://web.archive.org/web/20070627075520/http://msdn.microsoft.com/msdnmag/issues/04/01/WinFS/ |archive-date = 2007-06-27 |url-status = dead }}</ref> WinFS provides unified storage, but stops short of defining the format that is to be stored in the data stores. Instead it supports writing data in application-specific formats. But applications must provide a [[logical schema|schema]] that defines how the file format should be interpreted.<ref name="Dev1a" /> For example, a schema could be added to allow WinFS to understand how to read and thus be able to search and analyze, (say) a [[PDF]] file. By using the schema, any application can read data from any other application, and this also allows different applications to write in each other's format by sharing the schema.<ref name="MSDNMag" /> Multiple WinFS stores can be created on a single machine.<ref name="MSDNMag" /> This allows different classes of data to be kept segregated; for example, official documents and personal documents can be kept in different stores. WinFS, by default, provides only one store, named "DefaultStore".<ref name="PaulT" /> WinFS stores are exposed as shell objects, akin to [[Virtual folder]]s, which dynamically generate a list of all items present in the store and present them in a folder view. The shell object also allows searching information in the datastore.<ref name="PaulT" /> A data unit that has to be stored in a WinFS store is called a WinFS ''Item''.<ref name="Dev1a" /><ref name="MSDNMag" /> A WinFS item, along with the core data item, also contains information on how the data item is related to other data. This ''Relationship'' is stored in terms of logical links. Links specify which other data items the current item is related with. Put in other words, links specify the relationship of the data with other data items. Links are physically stored using a link identifier, which specifies the name and intent of the relationship, such as ''type of'' or ''consists of''.<ref name="Dev1a" /> The link identifier is stored as an attribute of the data item. All the objects that have the same link ID are considered to be related.<ref name="Dev1a" /> An [[XML schema]], defining the structure of the data items that will be stored in WinFS, must be supplied to the WinFS runtime beforehand.<ref name="Dev1a" /> In Beta 1 of WinFS, the schema assembly had to be added to the GAC before it could be used.
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)