|
Claims  |
|
|
What is claimed is:
1. An apparatus for simultaneously displaying a document to multiple users
comprising:
a first user system having a first display device, a first user input
device for detecting user manipulations of visual representations of
documents on said first display device, a first copy of said document, and
a first set of ephemeral attributes, each one of said first set of
ephemeral attributes having a name and a value, wherein the value of each
one of said first set of ephemeral attributes defines an aspect of a
location of a first visual display of said document upon said first
display device, and where said first user system creates said first set of
ephemeral attributes in response to user manipulation through said first
user input device of said location of said first visual display of said
document upon said first display device;
a second user system having a second display device, a second user input
device for detecting user manipulations of visual representations of
documents on said second display device, a second copy of said document,
and a second set of ephemeral attributes, each one of said second set of
ephemeral attributes having a name and a value, wherein the value of each
one of said second set of ephemeral attributes defines an aspect of a
location of a second visual display of said document upon said second
display device, and where said second user system creates said second set
of ephemeral attributes in response to user manipulation of said location
of said first visual display of said document upon said first display
device; and
a network connection coupled with both said first user system and said
second user system, wherein said first set of ephemeral attributes are
transmitted from said first user system to said second user system, and
said second user system modifies said second set of ephemeral attributes
responsive to said first set of ephemeral attributes, and said second user
system modifies said location of said second visual display of said
document on said second display device responsive to said second set of
ephemeral attributes such that said second visual display of said document
on said second display device is identical to said location of said first
visual display of said document on said first display device.
2. The apparatus as in claim 1, further comprising:
a Local Area Network, coupled with a first client module in said first user
system and a second client module in said second user system;
one or more repositories, coupled with said LAN, for permanent storage of a
set of permanent attributes of said document;
a first workspace cache within said first user system, coupled with said
first client module, for storing said first copy of said document and said
first set of ephemeral attributes, wherein said first copy of said
document includes a first copy of said set of permanent attributes of said
document;
a first workspace viewer process, responsive to said first set of ephemeral
attributes, within said first user system, coupled with said first
workspace cache and said first display device, for maintaining a location
and dimensions of said display of said document on said first display
device, and for drawing an outline of said document on said first display
device;
a first document renderer process, within said first user system, coupled
with said first workspace cache and said first display device, for filling
in said outline of said document on said first display device responsive
to said first copy of said set of permanent attributes of said document;
a second workspace cache within said second user system, coupled with said
second client module, for storing said second copy of said document and
said second set of ephemeral attributes, wherein said second copy of said
document includes a second copy of said set of permanent attributes of
said document;
a second workspace viewer process, responsive to said second set of
ephemeral attributes, within said second user system, coupled with said
second workspace cache and said second display device, for maintaining the
location and dimensions of said display of said document on said second
display device, and for drawing an outline of said document on said second
display device; and
a second document renderer process, within said second user system, coupled
with said second workspace cache and said second display device, for
filling in said outline of said document on said second display device
responsive to said second copy of said set of permanent attributes of said
document.
3. The apparatus for simultaneously displaying a document to multiple users
as in claim 1 wherein said first set of ephemeral attributes further
comprises:
a first ephemeral attribute having a value defining the `x` coordinate of
said first visual display of said document on said first display device;
and
a second ephemeral attribute having a value defining the `y` coordinate of
a said first visual display of said document of said document on said
first display device.
4. The apparatus for simultaneously displaying a document to multiple users
as in claim 3 wherein said second set of ephemeral attributes further
comprises:
a first ephemeral attribute having a value defining the `x` coordinate of
said second visual display of said document on said second display device;
and
a second ephemeral attribute having a value defining the `y` coordinate of
a said second visual display of said document of said document on said
second display device.
5. The apparatus as in claim 1, wherein said first user system modifies
said first set of ephemeral attributes in response to user manipulation
through said first user input device of said location of said first visual
display of said document on said first display device.
6. The apparatus as in claim 1, wherein said second user system modifies
said second set of ephemeral attributes in response to user manipulation
through said second user input device of said location of said second
visual display of said document on said second display device.
7. The apparatus as in claim 6, wherein said second set of ephemeral
attributes are transmitted via said network connection from said second
user system to said first user system, and said first user system modifies
said second set of ephemeral attributes responsive to said second set of
ephemeral attributes, and said first user system modifies said location of
said first visual display of said document on said first display device
responsive to said first set of ephemeral attributes such that said first
visual display of said document on-said first display device is identical
to said location of said second visual display of said document on said
second display device.
8. An apparatus for simultaneously displaying a document to multiple users
comprising:
a first user system having a first display device, a first user input
device for detecting user manipulations of visual representations of
documents on said first display device, a first copy of said document, and
a first set of ephemeral attributes, each one of said first set of
ephemeral attributes having a name and a value, wherein the value of each
one of said first set of ephemeral attributes defines an aspect of a
location of a first visual display of said document upon said first
display device, and where said first user system creates said first set of
ephemeral attributes in response to user manipulation through said first
user input device of said location of said first visual display of said
document upon said first display device;
a second user system having a second display device, a second user input
device for detecting user manipulations of visual representations of
documents on said second display device a second copy of said document,
and a second set of ephemeral attributes, each one of said second set of
ephemeral attributes having a name and a value, wherein the value of each
one of said second set of ephemeral attributes defines an aspect of a
location of a second visual display of said document upon said second
display device, and where said second user system modifies said second set
of ephemeral attributes in response to user manipulation through said
second user input device of said location of said second visual display of
said document upon said first display device;
a first client module within said first user system, coupled with a first
cache;
a second client module within said second user system, coupled with a
second cache;
a Local Area Network, coupled with said first client module and said second
client module;
one or more repositories, coupled with said LAN, for permanent storage of
said document;
a first conversion process, within said first user system for storing said
first set of ephemeral attributes as a set of permanent attributes in said
repositories;
a second conversion process, within said second user system, for reading
said set of permanent attributes and storing said set of permanent
attributes as said second set of ephemeral attributes into a second
workspace cache within said second user system.
9. A method of merging documents, comprising the steps of:
retrieving a set of permanent attributes for a first document from a
repository into a user system, each one of said permanent attributes
having a name and a value;
retrieving a set of permanent attributes for a second document from said
repository into said user system, each one of said permanent attributes
having a name and a value;
creating a set of ephemeral attributes for said first document, responsive
to user manipulation of a screen object of said first document on a
display device coupled with said user system, each one of said ephemeral
attributes for said first document having a name and a value, wherein the
value of each one of said set of ephemeral attributes for said first
document defines an aspect of a location of a screen object of said first
document on said display device;
creating a set of ephemeral attributes for said second document, responsive
to user manipulation of a screen object of said second document on a
display device coupled with said user system, each one of said ephemeral
attributes for said second attribute having a name and a value, wherein
the value of each one of said set of ephemeral attributes for said second
document defines an aspect of a location of said screen object of said
second document on said display device;
merging said first document and said second document to create a third
document, said merging including storing said set of ephemeral attributes
for said first document, said set of permanent attributes for said first
document, said set of ephemeral attributes for said second document and
said set of permanent attributes of said second document in said
repository as a set of permanent attributes for said third document;
retrieving said set of permanent attributes for said third document from
said repository; and
displaying a visual display of said third document on said display device
responsive to said permanent attributes for said third document, said
visual display of said third document including said screen object of said
first document displayed at said location of said screen object of said
first document and said screen object of said first document displayed at
said location of said screen object of said second document. |
|
|
|
|
Claims  |
|
|
Description  |
|
|
FIELD OF THE INVENTION
The invention relates generally to three dimensional graphical user
interfaces, and more specifically to efficient representation of documents
in a three dimensional user interface.
BACKGROUND
In existing client-server computing environments, the end user interfaces
with a client. The client is attached to a server over a network, and the
server provides the client with files of information as they are needed.
When the user requests data from a file, the client sends a request to the
server, and the server responds by sending the file containing the
requested data to the client. As the user modifies the a visual
representation of the data, the client modifies a local copy of the file.
When the user is done, the client writes the local copy of the file back
to the server, and deletes information about the current visual
representation of the data within the client.
A first problem in such existing systems is that when a second user
accesses the document while the first user was working with it, the second
user has no access to information about the visual display of the document
as seen by the first user. Therefore, the two users cannot simultaneously
work with a shared document such that both can see the results of the
other's changes to the document's visual representation.
A second problem in such existing systems is that when a modified file is
written back to the server from the client, information relating to how
the file was visually displayed to the user are not preserved. Therefore
when the file is subsequently referenced, the previous visual
representation must be recreated by each referencing user. This requires
duplicative user efforts in setting up the visual display of a document
each time the document is opened.
A further need not addressed by current systems is to provide a mechanism
for merging files based on a visual display of the files.
For these reasons and others, a new system is required for document
management in which aspects of the visual display of a document are
preserved, and periodically updated. The new system should be designed to
work in a client--server computing environment, where potentially
thousands of documents are displayed to the user simultaneously. The new
system should also allow multiple users to work together simultaneously on
a document within a single repository on multiple clients, and provide a
mechanism for merging files based on their visual representation.
SUMMARY
A computer controlled information management system is disclosed, including
one or more documents. Documents in the system consist of attributes, each
attribute having a name and a value. Attributes that are permanently
stored with a document are called permanent attributes. Attributes which
are created only when a document is currently being displayed are called
ephemeral attributes. The ephemeral attributes store information regarding
the visual display of the documents. Ephemeral attributes may be converted
into permanent attributes and stored with the documents after the user is
done referencing or modifying them. Ephemeral attributes may also be
transferred between multiple simultaneous users of a common document
through system communications channels.
Documents are stored in repositories for long term storage, and are only
sent to a client user interface when needed. The repositories are
typically on server devices or secondary storage, but may also be in the
same unit as the server. Ephemeral attributes may be converted into
permanent attributes and stored with their associated documents in the
repositories.
Each time a user requests a document, the client sends a search request to
one or more repositories. The repositories respond with one or more
messages containing the unique identifier(s) of documents that match the
description in the search request. The client then requests permanent
attributes of the documents corresponding to the received UIDs, and the
repositories respond by sending requested permanent attributes of the
requested document to the client. The client then determines whether any
of the received permanent attributes for that document are actually
ephemeral attributes defining the previous visual display of the document,
stored as permanent attributes in the repository. The client converts such
permanent attributes into ephemeral attributes and uses their values to
create a display of the document on a display device.
As the user manipulates the display of the document, the client modifies
the values of the ephemeral attributes. When the document is written back
to the repository, the updated ephemeral attributes may be stored as
permanent attributes with the document. In addition, ephemeral attributes
of all documents are stored as permanent attributes of workspace
documents, so that they may be used across multiple sessions by using a
common workspace document. In applications or configurations where
multiple users share workspace documents, there is no need to permanently
store ephemeral attributes other than in workspace documents.
Typical examples of ephemeral attributes are the x, y, and z coordinates
designating the position of the screen object for a document in the three
dimensional workspace.
The system allows the user to organize and search hundreds or even
thousands of documents, and then recreate the resulting visual display of
each document in a later session. The user is therefore saved the expense
of having to recreate a visual representation of a document within the
user interface of a client, each time a document is retrieved from a
server. Also users may create and maintain meaningful configurations of
documents, for example clusters, piles, and other arrangements.
The system may be configured such that ephemeral attributes are saved as
permanent attributes of the workspace document and stored to the
repository periodically, or whenever a modification to an ephemeral
attribute value occurs. In this way a first user can manipulate the visual
display of the document, and the results of these manipulations are
available to a second user referencing the repository, without the first
user having to write back the entire document to the repository.
Alternatively, the user may be queried as to whether the ephemeral
attributes of the current display of a document should be stored with the
document when the the user closes the document, or otherwise indicates the
document should be stored into a repository. The system then either stores
or discards the current ephemeral attributes for the document based on the
response of the user.
The system also provides a merging process to combine multiple documents
based on the visual display of the documents as reflected in their
ephemeral attributes. For example, where a first document contains
ephemeral attributes defining a first location within a workspace, and a
second document contains ephemeral attributes defining a second location
within a workspace, the user may create a new document that combines the
two documents using the merging process. The newly created document
includes the first document in the first location, and the second document
in the second location. Any number of documents may thus be combined into
newly created documents using the confluence process.
These and other features and advantages of the present invention will
become apparent from a detailed reading of the detailed description in
conjunction with the attached drawings in which like reference numerals
refer to the elements in the several views.
BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a drawing of a strand;
FIG. 2 is a drawing of a strand that has been selected by a user;
FIG. 3 is a drawing of a pile and scroll tool with a strand;
FIG. 4 is a drawing of a tile strand of documents;
FIG. 5 is a drawing of a corkscrew strand of documents;
FIG. 6 is a drawing of an embodiment the system;
FIG. 7 is a drawing of a second embodiment of the system;
FIG. 8A is a drawing of an example embodiment of a repository node
consisting of a repository interface coupled with a repository storage;
FIG. 8B shows an example embodiment of logical processes within a
repository interface; FIG. 8C is a drawing showing an example embodiment
of a repository node having repository storage in the form of a disc
drive;
FIG. 9 is a drawing of a find tool with an output strand having a knot;
FIG. 10 is a block diagram of the architecture of a document display system
using strands;
FIG. 11 is a flow chart showing the steps of a method for scheduling using
a blocked queue and an execution queue;
FIG. 12A is a drawing showing a first example embodiment of an attribute
having a name, a delimiter, and a value;
FIG. 12D is a drawing showing a second example embodiment of an attribute
having a name, a value, and a delimiter of a parenthesis;
FIG. 13 is a diagram of showing a system having asynchronous remote
repository access;
FIG. 14 is a diagram showing the steps of a find tool method for retrieving
documents from repositories;
FIG. 15 is a diagram of an apparatus for sharing a document between two
users;
FIG. 16 is a diagram of an apparatus for merging multiple documents based
on their visual display attributes;
FIG. 17 is a diagram of an apparatus for retrieving documents from
repositories and having no busy cursor; and
FIG. 18 shows the steps of a method for retrieving documents from
repositories and having no busy cursor.
DETAILED DESCRIPTION
Documents
A document is the primary object in the system. All data are contained in
documents. A document contains some number of attributes, each attribute
having a name and a value. The set of attributes for any given document is
arbitrary, and no particular attributes are required of all documents.
A screen object is the visual representation of a document. It may be
visible or hidden at any given time. Screen objects are generally
rectangular.
A Unique Identifier, or UID, is a string of alphanumerics that uniquely
identifies a document. A UID is necessary and sufficient to refer to a
specific document.
Attribute/Value Pairs
An attribute is a piece of data stored in a document. Each attribute has an
attribute name and an attribute value. An attribute name uniquely
identifies an attribute value within a document.
The Script Interpreter
Script consists of a scripting language that can be executed to perform
some action. It is stored in attribute values. Scripting language is a
language used to specify commands to the system environment.
The script interpreters (architecturally there can be any number) interpret
script which is stored in attributes of documents. Scripts can modify
attributes of documents, perform basic mathematical and search operations,
call other scripts, and do other basic operations such as insert or remove
documents from strands. Most of the actions in the system are activated by
calling scripts within documents.
Documents are the single abstraction structure in the script language.
There is no persistent storage associated with the script environment
other than attributes of documents. Most of the actions in the system
(other than simple dragging of documents) are activated by calling scripts
within documents. A document consists of attribute/value pairs; by
referencing an attribute in an expression, the value is returned.
The value of any attribute, ephemeral or not, may be executable script.
Script thus allows the power user to extend the functionality of the
system. For example, a user may define the value of an attribute by
writing his or her own script as the value of that attribute.
Whether an attribute is executable or not is typically established by
convention. For example, for a given implementation, an architecturally
defined set of messages may indicate that the attributes referenced by the
messages are executable. Or, a button on the mouse may be architecturally
defined to invoke and execute the script contained in an attribute of the
document in which the cursor is located when that button is clicked by the
user. In addition, or as an alternative, an identifier process can be
designed and used to determine whether the value of an attribute is
script, and also what script interpreter is needed to interpret it. The
identifier process does not test whether the script can be properly
parsed, but upon determining that the value of an attribute is script,
chooses which script interpreter to call to interpret the script. For
example, the identifier process can select an interpreter for a dialect of
the Lisp programming language by checking the first non-whitespace
character to see if it is a left paren or single-quote. If the first
non-whitespace character is a left paren of a single-quote, the identifier
process selects the interpreter for the dialect of the Lisp programming
language to interpret the script.
A goal in designing a particular script language is that the script
language be easy to read. Users may not be computer scientists, but will
nevertheless want to examine and modify scripts to a certain extent.
Therefore the language must have few special characters, and generally use
natural language words instead of symbols.
The script language should be uniformly structured, in that the only
storage entity (object) in the language is a document consisting of
attribute/value pairs. Values may be atomic, such as strings, numbers,
dates, or images, or they may be pointers (UID's) to other documents.
Global objects may be stored as attributes in a universal "global"
document which is visible to all scripts.
Attributes are generally not typed, but values are generally typed. The
types of values are used to determine what operations are permissible. A
script is executed within a document by evaluating an attribute whose
value is a script, and whose type is executable.
Inputs to the System
An example embodiment of the system includes an input device, for example a
mouse, to obtain information from the user regarding selecting and moving
documents within the display. It will be clear to one skilled in the art
of user interfaces that devices other than a mouse, such as a light pen, a
voice controlled display, or a touch sensitive screen, are potential
alternatives to the mouse.
The locations of mouse events, for example the pressing and or releasing of
a mouse button, are recorded as the UID of the document in which the
cursor is located when the mouse event occurs. The x, y or z position of
the cursor at the time the mouse event occurred is recorded. The results
of user actions to select or deselect one or more documents are similarly
recorded.
Scanning Documents
Any paper document can be entered into the system by scanning. When
scanning a document into the system, a cover sheet should be used. Each
cover sheet is encoded with the identification of the owner of the
document. Such identification would, for example, consist of the unique
user name defined within the system used to log-on or gain access to
system.
In an example embodiment, when a document is scanned into the system, the
scanned document is automatically placed in an IN BOX pile of the owner of
the document. Each scanned document has an information sticker across its
top displaying the name of the owner and the date it was scanned. The
cover sheet is not included.
Scanned documents without cover sheets, or that have cover sheets that do
not name valid users, cannot be delivered to the true owner of the
document by the system. The system may be configured to deliver such
scanned documents to a designated user, who is responsible for determining
the owner of the scanned documents.
The Visual Presentation; The Workspace
A workspace is a virtual three dimensional space in which a set of
documents are arranged. In this way a workspace contains a set of
documents. Within a workspace, there is a list of the documents contained
within the workspace, consisting of combinations of repository identifiers
(RIDs) and unique identifiers (UIDs). Also, for each document within the
workspace there exist ephemeral attributes, which describe the current
visual display of that document within the workspace. Examples of
ephemeral attributes include the X, Y, and Z positions of the document
within the workspace.
A workspace is stored in a workspace document and displayed in a workspace
window. A workspace document is a document that contains all of the state
information of a workspace. A workspace document may be contained within
other workspaces.
The display of a workspace on the display device is the "screen space"
representation of the three dimensional workspace on the two dimensional
display device. In an embodiment of the system, the screen space display
of a workspace is implemented through a window in the host computer's
windowing system, within which the two dimensional screen space rendering
of the three dimensional workspace is displayed.
The system uses a three dimensional workspace to provide a useful display
of potentially thousands of documents. A workspace may display thousands
of documents. In a preferred embodiment of a workspace, the workspace is
wrapped at the edges, giving a fish-eye lens effect, so that every screen
object that is not invisible has at least some portion of its rectangle
within the screen display no matter what its position in the three
dimensional workspace.
Workspaces may be shared, such that multiple users have the same workspace
open. For example, user one and user two could simultaneously have the
same workspace open. In one embodiment, when user one drags a document
within the workspace, user two sees it moving as well. The ephemeral
attributes defining the visual representation of the documents within the
workspace can be mediated via repository connections from user one to user
two to support this feature. For example, both user one and user two could
simultaneously read and write to a shared copy of the workspace document
within a mutually accessible repository. Alternatively, user one and user
two could maintain separate copies of the workspace document in their
respective client modules, establish a direct network connection between
them, and exchange ephemeral attribute updates via the direct network
connection.
The Renderer Process
A renderer process is an element of the system that maintains the virtual
three dimensional workspace. The renderer process is performed by various
specific renderers.
A document renderer is that portion of the system that draws inside the
rectangle of the screen object associated with each document in a
workspace. The system supports multiple renderers, and which renderer is
used for a particular document is determined by an attribute of that
document.
A workspace viewer is a process in the system responsible for outlining the
screen objects of documents within the workspace and managing the display
of selection indication. The interior of each screen object is rendered by
its associated renderer, and the workspace viewer completes the view. The
workspace viewer is also that part of the system which is responsible for
maintaining the view of a workspace. That is, the workspace viewer
contains the means for arranging documents in three-space.
Ephemeral Attributes
Ephemeral attributes are attributes associated with a document in the
context of a workspace. Ephemeral attributes are stored within a workspace
document of the workspace containing the screen object of the specific
document which the ephemeral attributes are associated with. Ephemeral
attributes define the display characteristics of the associated document,
such as position and size. Ephemeral attributes reflect the actions of the
user in manipulating the screen object of a document within a workspace,
typically through using an interface device such as a mouse.
Ephemeral attributes are stored in workspace documents, which in turn are
stored in repositories. All the state information of the last image of a
workspace, including ephemeral attributes associated with each document in
the display, is stored in the permanent attributes of a workspace document
when that document is stored into a repository. Thus a document may have
different ephemeral attributes and values when that document is associated
with different workspaces.
An ephemeral document is a document that has existence only in a workspace.
It has no permanent attributes, only ephemeral ones. In an alternative
embodiment, ephemeral documents may be stored in a virtual "workspace
repository", accessible only from its workspace, and may have permanent
attributes in this context. In such an alternative embodiment, the state
of the workspace repository is stored as an attribute of the workspace
document.
An intrinsic ephemeral attribute, or intrinsic attribute, is a special
ephemeral attribute that every document must have, which directly effects
the display of the screen object. Examples include x position (xpos), y
position (ypos) and z position (zpos). Many intrinsic attributes are
available for direct manipulation through the user interface device.
The Perspective Function
A perspective function maps objects on the screen by taking the three
dimensional workspace coordinates, or "world space coordinates",
maintained by the workspace viewer, and mapping them into two-dimensional
screen space positions.
For example, every document has a position in world space defined along the
x, y, and z axis, and every document has a width and a height. When an
image of the document is drawn on the display device, the perspective
function takes those world space coordinates and size variables as input
parameters, and determines the actual size and location on the display
device, in "screen space coordinates", where the document is actually
going to be drawn. The perspective function is instantiated by the
workspace viewer process.
Dragging Along the X, Y or Z Axis
To move a document around a workspace, there are three basic actions:
dragging around, pushing back/pulling forward, and clipping. Dragging a
document is the act of moving the corresponding screen object for that
document with respect to one or more of the x, y, and z axis of the
workspace by manipulation of the user interface device.
To move a document within the workspace, the user uses the user interface
device to place the mouse cursor near the center of screen object of the
document. The user next presses and holds the mouse button while moving
the mouse. As a result, the screen object disappears and is replaced by an
outline of its shape (called a drag box). As the mouse is moved, the drag
box follows. This is known as dragging. When the mouse button is released,
the screen object reappears in its new position.
Documents are pushed back and pulled forward via a modified drag action,
e.g. using a separate mouse button, or by first moving the mouse cursor
close to a corner of the screen object of the document, and then pressing
and holding a mouse button. As an alternative a track ball device may be
used to manipulate the position of the mouse cursor. As the mouse cursor
is moved toward the bottom of the screen the screen object is dragged
forward (towards the user) within the workspace. As the mouse cursor is
moved toward the upper left corner of the screen instead of forward, the
screen object is pushed back within the workspace. Note that as the screen
object on the display device is being moved, the virtual location of the
corresponding document maintained in the world space of the workspace
viewer is being changed accordingly. Thus one can either say that the
screen object is being moved, or that the document is being moved, and
have the same meaning.
As a document is pulled forward, the document is moved towards the user
along the z axis of the three dimensional workspace. The perspective
process translates this movement of the object towards the user into a
screen representation of the screen object for the document. As a result,
the screen object for the document grows in size in its two dimensional
screen space representation. Conversely, when a document is pushed back,
the screen object for the document is made smaller.
A document can only be moved forward a certain distance. When it is as big
as it will get, it is plastered against the workspace window and cannot be
moved any closer.
The world space size of a screen object is the size of the screen object in
the three dimensional space of the workspace. This is the object's real
size opposed to the screen space size at which it appears on the screen
display surface. Documents and elements of documents (e.g. buttons, text
fields, etc.) all have world space sizes. Although dragging along the Z
axis can make the world space size of documents very small, they will
never be rendered at a size that is invisible to the user.
In the case of "corner dragging" in the Z dimension, any of the four
corners of a document may be used to push or pull it. However, the
document will move along somewhat different paths depending on which
corner is used.
Repositories
A repository is a data store that contains documents. A workspace is
generally used for short term storage of documents. For long-term storage,
documents are kept in repositories. When a system tool brings documents
into a workspace, it gets them from repositories. A Repository Identifier,
or RID, is a string of alphanumerics that uniquely identifies a
repository. RIDs are unique on the network. An RID is necessary and
sufficient to refer to a repository. In an alternative embodiment RIDs are
universally unique, and therefore permanently stable in a global
environment where mobile computing is increasing significant. For purposes
of example, such universally unique RIDs may be assigned through a central
RID allocation system, similar to how 48 bit Ethernet physical layer
addresses are centrally assigned to specific network controllers, to
guarantee that there are no duplicates.
The computer network that the system is connected to may have one
repository available or it may have many. Some repositories are generic
places to put documents, while others may be specialized. For example, a
machine that sends and receives documents as faxes over telephone lines
can be a repository. The user may choose to maintain a private repository
on the local computer. Most repositories are on remote machines and the
system gets documents from them | | |