1592 |
|
|
1593 |
The Fenfire project \cite{fenfireurl} is an effort to build a location transparent, hyperstructured desktop |
The Fenfire project \cite{fenfireurl} is an effort to build a location transparent, hyperstructured desktop |
1594 |
environment. By location transparent, we mean concealing the heterogeneous and distributed nature of the system |
environment. By location transparent, we mean concealing the heterogeneous and distributed nature of the system |
1595 |
so that it appears to the end user like one system and by hyperstructured system, |
so that it appears to the end user like one system and by hyperstructured system |
1596 |
we mean a system in which data can be associated with other data arbitrarly. Fenfire uses xanalogical storage model |
a system in which data can be associated with other data arbitrarly. Fenfire uses xanalogical storage model |
1597 |
\cite{ted-xu-model} as a basis for hyperstructured media. Each data item in the Fenfire system has a globally unique |
\cite{ted-xu-model} as a basis for hyperstructured media. Each data item in the Fenfire system has a globally unique |
1598 |
identifier. This property should allow making references between \emph{any} |
identifier. This property should allow making references between \emph{any} |
1599 |
data easier and more seamlessly interoperating than in other systems. For location transparency in the Fenfire system, |
data easier and more seamlessly interoperating than in other systems. For location transparency in the Fenfire system, |
1620 |
\section{Xanalogical storage model} |
\section{Xanalogical storage model} |
1621 |
|
|
1622 |
Xanalogical storage model \cite{nelson99xanalogicalneeded} is a different kind of model for |
Xanalogical storage model \cite{nelson99xanalogicalneeded} is a different kind of model for |
1623 |
presenting data and relationships between data. While in the World Wide Web links are |
presenting data and relationships between data. \emph{Enfilade}, |
1624 |
|
can be considered as a mutable ''virtual file'' (or part of one), which is a list |
1625 |
|
of fluid media content. Fluid media is the smallest units of data in xanalogical storage |
1626 |
|
model. \emph{Transclusion} is an inclusion in |
1627 |
|
enfilade of contents already used in another enfilade. With the transclusion, a system |
1628 |
|
implementing xanalogical storage model is able to show all data content that share the same |
1629 |
|
fluid media with current data content (e.g., all documents in a system containing a specific |
1630 |
|
document's text). |
1631 |
|
|
1632 |
|
While in the World Wide Web links are |
1633 |
between \emph{documents}, in xanalogical storage model links are between individual |
between \emph{documents}, in xanalogical storage model links are between individual |
1634 |
\emph{characters}. Each character in xanalogical storage model has a |
\emph{characters}. Figure \ref{fig:xanalogical_model} |
|
permanent, globally unique identifier. For instance, let's consider the following |
|
|
scenario: ''the character 'D' typed by Janne Kujala on 10/8/97 8:37:18''. In this |
|
|
example, when character 'D' is first typed in, xanalogical storage model |
|
|
acquires a permanent identifier for that character and retains it when the character |
|
|
is copied to different document. Thus, the identifier distinguishes the character from |
|
|
all similar characters typed in independently\footnote{Xanalogical storage model |
|
|
is not limited to text. It can support arbitrary data, e.g., pixels of picture or |
|
|
frames of video.}. The connectivity in xanalogical storage model between data content |
|
|
is more substantial than in other models; a link is shown between any two data contents |
|
|
containing a specific \emph{fluid media unit} (e.g., a character) that the link connects. |
|
|
In practice, however, xanalogical storage model uses \emph{spans}, ranges of consecutive |
|
|
fluid media units to perform storage operations. This is done for better performance as |
|
|
doing expensive operations for every fluid media unit is not efficient. Xanalogical |
|
|
storage model stores fluid media units to append-only \emph{scrolls}. |
|
|
|
|
|
An \emph{enfilade} can be considered as a ''virtual file'' (or part of one), which is a list |
|
|
of fluid media content. In xanalogical storage model, links between content are external |
|
|
and bidirectional. Xanalogical link is an \emph{association} of two enfilades, such as an |
|
|
annotation to a specific part of a another document. \emph{Transclusion} is an inclusion in |
|
|
enfilade of contents already used in another enfilade, i.e., current fluid media is copied into |
|
|
different data content. By using this mechanism, a system implementing xanalogical storage model |
|
|
is able to show all data content that share the same fluid media with current data content |
|
|
(e.g., all documents containing current document's text). Figure \ref{fig:xanalogical_model} |
|
1635 |
illustrates xanalogical storage model with documents, text and characters. |
illustrates xanalogical storage model with documents, text and characters. |
1636 |
|
Links between data are external |
1637 |
|
and bidirectional. A link is shown between any two data contents |
1638 |
|
containing a specific \emph{fluid media unit} (e.g., a character) that the link connects. |
1639 |
|
Each fluid media unit in xanalogical storage model has a |
1640 |
|
permanent, globally unique identifier\footnote{Xanalogical storage model |
1641 |
|
is not limited to text. It can support arbitrary data, e.g., pixels of picture or |
1642 |
|
frames of video.}. For instance, let's consider the following |
1643 |
|
example, presented first time in \cite{lukka02freenetguids}: ''the character 'D' |
1644 |
|
typed by Janne Kujala on 10/8/97 8:37:18''. When character |
1645 |
|
'D' is first typed in, xanalogical storage model |
1646 |
|
creates a permanent globally identifier for that character |
1647 |
|
and retains it when the character is copied to different document. In practice, xanalogical |
1648 |
|
storage model uses \emph{spans}, ranges of consecutive |
1649 |
|
fluid media units to perform storage operations. |
1650 |
|
|
1651 |
\begin{figure} |
\begin{figure} |
1652 |
\centering |
\centering |