<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://www.infra-repository.org/oiar-2013/index.php?action=history&amp;feed=atom&amp;title=PAT.File_Storage</id>
	<title>PAT.File Storage - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://www.infra-repository.org/oiar-2013/index.php?action=history&amp;feed=atom&amp;title=PAT.File_Storage"/>
	<link rel="alternate" type="text/html" href="https://www.infra-repository.org/oiar-2013/index.php?title=PAT.File_Storage&amp;action=history"/>
	<updated>2026-05-06T14:26:39Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.40.0</generator>
	<entry>
		<id>https://www.infra-repository.org/oiar-2013/index.php?title=PAT.File_Storage&amp;diff=703&amp;oldid=prev</id>
		<title>Jan Schoonderbeek: start</title>
		<link rel="alternate" type="text/html" href="https://www.infra-repository.org/oiar-2013/index.php?title=PAT.File_Storage&amp;diff=703&amp;oldid=prev"/>
		<updated>2012-11-11T23:22:21Z</updated>

		<summary type="html">&lt;p&gt;start&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Maturity|4}}&lt;br /&gt;
{{Pageheaderbox4PatternType&lt;br /&gt;
|PATname=File Storage&lt;br /&gt;
|summary=Carries out the storage and retrieval of loosely structured data at a single, logical location; can provide advanced functionality (&amp;quot;intelligence&amp;quot;) to administrators and/or users.&lt;br /&gt;
|version=0.4&lt;br /&gt;
|owner=J.A.H. Schoonderbeek&lt;br /&gt;
|sector=Infrastructure Sector Core&lt;br /&gt;
}}&lt;br /&gt;
This facility offers data preservation and data retrieval functionality with the following characteristics:&lt;br /&gt;
* operates on data at the &amp;quot;loosely structured data&amp;quot; level, e.g. files or documents,&lt;br /&gt;
* located at one logical location,&lt;br /&gt;
* may offer the ability to perform storage related &amp;quot;intelligent&amp;quot; tasks, such as replication, migration, encryption, compression and data deduplication. This intelligence may be characterized as&lt;br /&gt;
** &amp;quot;back-end facing&amp;quot; intelligence; functionality that the facility&amp;#039;s users don&amp;#039;t get (direct) access to, only the administrators and back-end systems;&lt;br /&gt;
** &amp;quot;front-end facing&amp;quot; intelligence; functionality that the facility&amp;#039;s users can access and make use of.&lt;br /&gt;
&lt;br /&gt;
Note that File Storage is always implemented on top of some form of Raw Storage. As a consequence, a Pattern Variant dealing with file storage is often based on both the File Storage Pattern Type and the Raw Storage Pattern Type.&lt;br /&gt;
&lt;br /&gt;
As examples: realizations of File Storage (and Raw Storage under it) can include:&lt;br /&gt;
* Content Management Systems (CMS) and alike solutions,&lt;br /&gt;
* (the front-end of) NAS appliances,&lt;br /&gt;
* file share servers.&lt;br /&gt;
&lt;br /&gt;
Note: it&amp;#039;s possible that the solution is to make use of [[BT.Process Engine|Business Rules]] (e.g. for data deduplication or automatic migration of data to nearline/offline storage). If this is the case, then this pattern must be paired with facilities that deliver this functionality.&lt;br /&gt;
{{PAgraphic&lt;br /&gt;
|graphic=PAT.File Storage.png&lt;br /&gt;
|source=Pattern Types.vsd&lt;br /&gt;
|size=600px&lt;br /&gt;
|title=Pattern Type File Storage&lt;br /&gt;
}}&lt;br /&gt;
{{Pattern Type Composition}}&lt;br /&gt;
{{Pattern Type Composition Row&lt;br /&gt;
|facility=BT.File Engine&lt;br /&gt;
|choice=must&lt;br /&gt;
|reason=This facility handles the actual storing/retrieving of loosely structured data such as (but not restricted to) files or documents. It serves end-users and systems (amongst which application engines and structured data stores). To that end, this facility offers a storage structure that fits the data to be stored, such as a file system for files, and an interface over which data can be offered or retrieved.&amp;lt;br&amp;gt;&lt;br /&gt;
The File Engine provides &amp;quot;intelligence&amp;quot; to the file storage solution with respect to its handling of the stored data, with the aim of meeting the quality requirements, improving infrastructure management, and/or providing sufficient performance. It may handle migration/replication to other instances of itself, encryption, compression, de-duplication and other &amp;quot;standard&amp;quot; storage-related processing. It also can handle granular, file-based permissions.&amp;lt;br&amp;gt;&lt;br /&gt;
Note that it requires [[PAT.Raw Storage|Raw Storage]] to physically store the bits and bytes that make up the pieces of loosely structured data.&lt;br /&gt;
}}&lt;br /&gt;
{{Pattern Type Composition Row&lt;br /&gt;
|facility=BT.Caching&lt;br /&gt;
|choice=may&lt;br /&gt;
|reason=An intelligent storage facility may use caching to increase its capacity to receive and/or return data on request.&lt;br /&gt;
}}&lt;br /&gt;
{{Pattern Type Composition Row&lt;br /&gt;
|facility=BT.Control Interface&lt;br /&gt;
|choice=may&lt;br /&gt;
|reason=If implemented, this function can be used for several Management Tasks, among others:&lt;br /&gt;
* Restoring (partial) back-ups;&lt;br /&gt;
* Capacity &amp;amp; Performance Management;&lt;br /&gt;
* Provisioning;&lt;br /&gt;
* Rules Management, with which the stored data can be manipulated using metadata, usage, usage patterns or other information that the facility may obtain.&amp;lt;br&amp;gt;&lt;br /&gt;
Care must be taken to limit access to these management tasks to authorized systems and users.&lt;br /&gt;
}}&lt;br /&gt;
{{Pattern Type Composition Row&lt;br /&gt;
|facility=BT.Restore&lt;br /&gt;
|choice=may&lt;br /&gt;
|reason=Implementing a facility of this type may serve different goals:&lt;br /&gt;
* It can serve a business need for data protection,&lt;br /&gt;
* It can support a technical need related to business continuity, technical exploitation or maintenance.&lt;br /&gt;
To support these goals, Restore can support the following activities:&lt;br /&gt;
* restoring backups, either in entirety or partially;&lt;br /&gt;
* storage migration, where data that has been migrated off-line to backup media can be restored to active storage upon demand and/or rules.&amp;lt;br&amp;gt;&lt;br /&gt;
Note that the Restore function may or may not be under control of end users.&amp;lt;br&amp;gt;&lt;br /&gt;
In realization, Restore can be a sub-function of a versatile File Engine, e.g. the realized facility may be able to restore data from the file storage space under control of that File Engine, or it can be paired with a separate Pattern Variant of Raw Storage or File Storage/Raw Storage explicitly meant for backup &amp;amp; restore. &lt;br /&gt;
}}&lt;br /&gt;
{{Pattern Type Composition Row&lt;br /&gt;
|facility=BT.Backup&lt;br /&gt;
|choice=may&lt;br /&gt;
|reason=Implementing a facility of this type always serves to support the Restore function, and thus virtually always appears together with one or more Variants of the Restore function. Furthermore, the criteria that govern the Backup functionality must always be derived from the goals and needs of all of the Restore Variants that it supports.&amp;lt;br&amp;gt;&lt;br /&gt;
Note that the Backup function usually is under control of IT Operations, but may occasionally be offered to end users directly.&amp;lt;br&amp;gt;&lt;br /&gt;
In its implementation, just as with Restore, Backup can be a sub-function of a versatile File Engine, so that the backups are created on the file storage space under control of that File Engine, or it can be paired with a separate Pattern Variant of Raw Storage or File Storage/Raw Storage explicitly meant for backup &amp;amp; restore. &lt;br /&gt;
}}&lt;br /&gt;
{{Pattern Type Composition Row&lt;br /&gt;
|facility=BT.Archiving&lt;br /&gt;
|choice=may&lt;br /&gt;
|reason=Implementing a facility of this type in a File Storage Pattern Variant may serve different goals&lt;br /&gt;
* to have data immutably preserved for a certain period of time;&lt;br /&gt;
* to free up resources in the File Storage realization. &lt;br /&gt;
To support these goals, Archiving offers to perform the following activities:&lt;br /&gt;
* to copy or move data to a secondary location, which is another (logical) location in this same File Storage realization, or another File Storage realization; and&lt;br /&gt;
* to do so according to specific rules and/or schedules; and&lt;br /&gt;
* in case of resource-saving archiving: to copy or move data back from the secondary location to the primary location according to demand and/or schedules;&lt;br /&gt;
When the data has been created in the secondary location (&amp;quot;the archive&amp;quot;), it is accessible via a File Engine instance, often one that&amp;#039;s either explicitly implemented for the archive.&lt;br /&gt;
&lt;br /&gt;
}}&lt;br /&gt;
{{Pattern Type Composition Row&lt;br /&gt;
|facility=BT.Scheduling&lt;br /&gt;
|choice=may&lt;br /&gt;
|reason=If the Pattern is to have automated backup and/or archiving functionality, then this function will govern the respective schedules and initiate separate backup and/or archiving jobs.&lt;br /&gt;
}}&lt;br /&gt;
{{Table Ending}}&lt;br /&gt;
{{Pattern Type Neighbors}}&lt;br /&gt;
{{Pattern_Type_Adjacent_PAT_Row&lt;br /&gt;
|pattern=PAT.Raw Storage&lt;br /&gt;
|choice=must&lt;br /&gt;
|reason=All &amp;quot;loosely structured data&amp;quot; eventually will have to be stored on some physical device, where it&amp;#039;s &amp;quot;raw bits&amp;quot;. Putting this Pattern under the File Storage pattern delivers this ability.&lt;br /&gt;
}}&lt;br /&gt;
{{Pattern_Type_Adjacent_PAT_Row&lt;br /&gt;
|pattern=PAT.Authentication+Authorization&lt;br /&gt;
|choice=may&lt;br /&gt;
|reason=A&amp;amp;A will be required for one or more of the following uses:&lt;br /&gt;
* access to the control interface, that may control aspects ranging from facility management to self-service provisioning of storage space;&lt;br /&gt;
* permission validation for read/write/modification/deletion actions on the loosely structured data being stored;&lt;br /&gt;
* permission validation for actions such as backup, restore and archiving.&lt;br /&gt;
}}&lt;br /&gt;
{{Pattern_Type_Adjacent_PAT_Row&lt;br /&gt;
|pattern=PAT.Application Hosting&lt;br /&gt;
|choice=may&lt;br /&gt;
|reason=One of the facilities that require use of file storage is the Application Hosting facility. An Application Hosting facility requires File Storage to store the applications themselves, and possibly the data with which the applications interact.&lt;br /&gt;
}}&lt;br /&gt;
{{Table Ending}}&lt;br /&gt;
{{PATfooter}}&lt;/div&gt;</summary>
		<author><name>Jan Schoonderbeek</name></author>
	</entry>
</feed>