14 |
We present three techniques to make the model |
We present three techniques to make the model |
15 |
easily applicable to modern systems. |
easily applicable to modern systems. |
16 |
|
|
17 |
|
The permanent addresses in the spans refer to *scrollblocks*, |
18 |
|
clearly delimited, permanent blocks |
19 |
|
of fluid media data. A span can only contain fluid media units |
20 |
|
from one scrollblock. |
21 |
|
|
22 |
Random-id content-carrying spans are useful for text: |
Random-id content-carrying spans are useful for text: |
23 |
they allow most of the advantages |
they allow most of the advantages |
24 |
of Xanalogical fluid media with only an increase |
of Xanalogical fluid media with only an increase |
25 |
in space in non-Xanalogical uses, i.e., no |
in space in non-Xanalogical uses, i.e., no |
26 |
fetching the content of the span from afar. |
fetching the content of the span from afar. |
27 |
|
|
|
The permanent addresses in the spans refer to *scrollblocks*, |
|
|
clearly delimited, permanent blocks |
|
|
of fluid media data. A span can only contain fluid media units |
|
|
from one scrollblock. |
|
|
|
|
28 |
PageImage scrollblocks are used for interoperability |
PageImage scrollblocks are used for interoperability |
29 |
with the modern real world, where |
with the modern real world, where |
30 |
receiving PDFs and Postscript files, i.e., images of pages, is a reality. |
receiving PDFs and Postscript files, i.e., images of pages, is a reality. |
44 |
systems described in [nelson99xanalogicalneeded]_ |
systems described in [nelson99xanalogicalneeded]_ |
45 |
is, formally, |
is, formally, |
46 |
|
|
47 |
Making an implementation of referential fluid media practical |
Making an implementation of referential fluid media practical: Two concrete models |
48 |
============================================================= |
================================================================================== |
49 |
|
|
50 |
In this section, we present the three most important developments |
In this section, we present two different |
51 |
|
|
52 |
As discussed by Nelson [nelson99xanalogicalneeded]_, |
As discussed by Nelson [nelson99xanalogicalneeded]_, |
53 |
the most fundamental and secret idea |
the most fundamental and secret idea |
57 |
with a permanent, universal |
with a permanent, universal |
58 |
identifier. |
identifier. |
59 |
|
|
60 |
Scrollblocks |
Content-addressed RFM (CARFM) |
61 |
------------ |
------------------------------------------------- |
62 |
|
|
63 |
|
Content addressing is a ... hash (NOTE) |
64 |
|
|
65 |
|
http://www.intranetjournal.com/articles/200306/ij_06_04_03a.html |
66 |
|
|
67 |
|
Instead of continuous permascrolls as the Udanax implementation uses, |
68 |
|
the content-addressed referential fluid media (CARFM) model is based on |
69 |
|
*scrollblocks* which are fixed blocks of fluid media referenced through |
70 |
|
content-addressing. |
71 |
|
|
72 |
|
... A *span* in Alph is a reference to a single, contiguous (rectangular) |
73 |
|
block of fluid media units |
74 |
|
inside a single scrollblock. |
75 |
|
|
76 |
We have presented the basic idea of scrollblocks in [lukka02guids]_, |
Inserting text character by character is achieved through first creating |
77 |
|
a *temporary*, modifiable scroll block and temporary span objects |
78 |
|
using that, and converting the temporary scrollblock into a permanent, |
79 |
|
content-addressed scroll block before saving the data. |
80 |
|
|
81 |
|
We have first presented the basic idea of using scrollblocks in [lukka02guids]_, |
82 |
|
|
83 |
Random-id content-carrying spans |
Random-id content-carrying RFM (RICC RFM) |
84 |
-------------------------------- |
----------------------------------------- |
85 |
|
|
86 |
Random-id content-carrying (RICC) spans are a novel twist |
Random-id content-carrying (RICC) spans are a novel twist |
87 |
on the basic referential fluid |
on the basic referential fluid |
97 |
there is no real |
there is no real |
98 |
reference in them, just the identifier. |
reference in them, just the identifier. |
99 |
|
|
100 |
The spans with the same UUID form a virtual scrollblock... |
- ... random numbers of 160 bits sufficient for ... |
101 |
|
|
102 |
Pros: |
Pros: |
103 |
|
|
121 |
- not, e.g., the full keystroke record envisioned by Nelson |
- not, e.g., the full keystroke record envisioned by Nelson |
122 |
(private communication) |
(private communication) |
123 |
|
|
124 |
PageImage Spans |
- Spoofing ? |
|
--------------- |
|
125 |
|
|
126 |
|
- cannot really do damage, as comparison is applied to *both* id *and* content |
127 |
|
|
128 |
|
|
129 |
The Alph Fluid Media Model formally |
Operability in a real-world context |
130 |
=================================== |
=================================== |
131 |
|
|
132 |
The Alph Fluid Media Model (AFMM) is a simple model |
Page Image Spans (PS/PDF/DjVu/...) |
133 |
based on the lowest-level referential fluid media concepts |
---------------------------------- |
|
of the Xanalogical model. |
|
|
|
|
|
Instead of continuous permascrolls as the Udanax implementation uses, |
|
|
the Alph model is based on *scrollblocks* which are fixed blocks |
|
|
of permanent media. |
|
|
|
|
|
A *span* in Alph is a reference to a single, contiguous (rectangular) |
|
|
block of fluid media units |
|
|
inside a single scrollblock. |
|
134 |
|
|
135 |
|
The support for *PageImages* is one of the aspects of Alph geared |
136 |
|
towards reasonable operability in a modern context. |
137 |
|
|
138 |
Storm URIs |
Fake Spans |
139 |
---------- |
---------- |
140 |
|
|
141 |
- Like Data URIs, but with content hashes instead of data |
The Alph Content Format |
142 |
|
======================= |
|
Text |
|
|
---- |
|
|
|
|
|
We have developed three different types of text spans |
|
|
|
|
|
Storm text spans |
|
|
"""""""""""""""" |
|
|
|
|
|
Storm text spans [lukka02guids]_ are the earliest |
|
|
of the text spans developed |
|
|
for Alph. A storm text span is simply a Storm URI |
|
|
along with an offset and a length. |
|
143 |
|
|
144 |
XXX Character sets? |
- XML format used by ALPH |
145 |
|
|
146 |
|
- incl. URN-5, Storm URI |
147 |
|
of the Xanalogical model. |
148 |
|
|
|
Images |
|
|
------ |
|
149 |
|
|
150 |
|
Storm URIs |
151 |
|
---------- |
152 |
|
|
153 |
|
- Like Data URIs, but with content hashes instead of data |
154 |
|
|
155 |
PageImages (PS/PDF/DjVu/...) |
URN-5 |
156 |
---------------------------- |
----- |
157 |
|
|
158 |
The support for *PageImages* is one of the aspects of Alph geared |
The Alph DTD |
159 |
towards reasonable operability in a modern context. |
------------ |
160 |
|
|
161 |
|
|
162 |
Implementation in Java + OpenGL |
Implementation in Java + OpenGL |
183 |
The name Alph has its origins in the same poem as Xanadu(tm), |
The name Alph has its origins in the same poem as Xanadu(tm), |
184 |
as the "sacred river". |
as the "sacred river". |
185 |
|
|
186 |
|
160 bits of randomness, or of hash are sufficient. blah blah |
187 |
|
|
188 |
|
|
189 |
The full model in a modern context |
The full model in a modern context |
190 |
================================== |
================================== |
191 |
|
|
192 |
|
|
193 |
|
|
194 |
Aspects that have been implemented in other systems |
Aspects that have been implemented in other systems |
195 |
--------------------------------------------------- |
--------------------------------------------------- |
196 |
|
|