Network Working Group S. D. Nelson
Internet Draft Lawrence Livermore National Laboratory
Livermore, CA 94550, USA.
C. Parks
National Institute of Standards and Technology
Gaithersburg, MD 20899, USA.
Mitra
Worlds Inc.
San Francisco, CA 94107, USA.
January 1996
Expires in six months
The Model Primary Content Type for
Multipurpose Internet Mail Extensions
<draft-nelson-model-mail-ext-01.txt>
Status of this Memo
This document specifies an Internet standards track protocol for
the Internet community, and requests discussion and suggestions
for improvements. Please refer to the current edition of the
"Internet Official Protocol Standards" (STD 1) for the
standardization state and status of this protocol. Distribution
of this memo is unlimited.
The original version of this draft benefitted from discussions
between the authors and their respective communities.
Draft documents are valid for a maximum of six months and may be
updated, replaced, or obsoleted by other documents at any time.
It is inappropriate to use draft documents as reference material
or to cite them other than as ``work in progress.''
To learn the current status of any Internet-Draft, please check
the ``1id-abstracts.txt'' listing contained in the Internet-Drafts
Shadow Directories on ds.internic.net (US East Coast),
nic.nordu.net (Europe), ftp.isi.edu (US West Coast), or
munnari.oz.au (Pacific Rim).
Introduction
The purpose of this Internet Draft is to propose an update to
Internet RFC 1521 to include a new primary content-type to be
known as "model". RFC 1521[1] describes mechanisms for specifying
and describing the format of Internet Message Bodies via
content-type/subtype pairs. We believe that "model" defines a
fundamental type of content with unique presentational, hardware,
and processing aspects. Various subtypes of this primary type are
immediately anticipated but will be covered under separate
documents.
Nelson, Parks, Mitra [Page 1]
Internet-draft Model Primary MIME Type January 1996
Table of Contents:
1. Overview
2. Definition
3. Consultation Mechanisms
4. Encoding and Transport
5. Security Considerations Section
6. Authors' Addresses
7. Expected subtypes
8. Appendix
9. Acknowledgements
1. Overview
This document will outline what a model is, show examples of models,
and discuss the benifits of grouping models together. This document
will not directly deal with the intended subtypes since those will be
covered by their seperate registrations. Some immediately expected
subtypes are listed in section 7.
This document is a discussion document for an agreed definition,
intended eventually to form a standard accepted extension to RFC 1521.
We are also targeting developers of input/output filters, viewer
software and hardware, those involved in MIME transport, and decoders.
2. Definition of a model
Each subtype in the model structure has unique features, just as
does each subtype in the other primary types. The important fact is
that these various subtypes can be converted between each other with
less loss of information then to that of other primary types. This
fact groups these subtypes together into the model primary type. All
of the expected subtypes have several features in common and that are
unique to this primary type:
1. have 3 or more dimensions which are bases of the system and
form an orthogonal coordinate system (any orthogonal system is
sufficient).
2. contains a structural relationship between model elements.
3. have calibration factors to physical units (force, momentum,
time, velocity, acceleration, size, etc.). Thus, an IGES file
will specify a building of non-arbitrary size, computational
meshes and VRML models will have real spatial/ temporal units.
This allows for differing elements to be combined
non-arbitrarily.
Nelson, Parks, Mitra [Page 2]
Internet-draft Model Primary MIME Type January 1996
With these assumptions:
a. the default dimensionality will be spatial and temporal (but
any are allowed).
b. it is presumed that models will contain underlying structure
which may or may not be immediately available to the
user. (fluid dynamics vector fields, electromagnetic
propagation, interrelated IGES dimensional specifiers, VRML
materials and operators, etc.)
c. it is assumed that basis set conversion between model domains
is lossless. The interpretation of the data may change but
the specification will not. i.e. convert the model of the
U.S.A. Gross Domestic Product into a VRML model and navigate
it to explore the variances and interrelationships. The model
has many dimensions but also ``passages'' and ``corridors''
linking different parts of it. A similar situation is true
for meshes and CAD files. The key is identifying the basis set
conversion which makes sense.
d. models are grouped to assure LESS loss of information between
the model subtypes than to subtypes of other primary
types. (i.e. converting a chemical model into an image is
more lossy than concerting it into a VRML model).
Items c and d above define the grouping for model similar to the
way that ``images'' and ``videos'' are grouped together; to
assure less loss of information. Obviously converting from a GIF
image to a JPEG image looses less information than converting from
a GIF image to an AU audio file.
3. Consultation Mechanisms.
Before proposing a subtype for the model/* primary type, it is
suggested that the subtype author examine the definition (above)
of what a model/* is and the listing (below) of what a model/* is
not. Additional consultations with the authors of the existing
model/* subtypes is also suggested.
Copies of Internet drafts and RFCs are available on:
ftp://ftp.isi.edu/in-notes/
Similarly, the VRML discussion list has been archived as:
http://vrml.wired.com/arch/
and discussions on the comp.mail.mime group may be of interest.
Discussion digests for the existing model/* subtypes may be
referenced in the respective documents.
Nelson, Parks, Mitra [Page 3]
Internet-draft Model Primary MIME Type January 1996
The mesh community presently has numerous different mesh
geometries as part of different packages. Freely available
libraries need to be advertised more than they have been in the
past to spur the development of interoperable packages. It is
hoped that by following the example of the VRML community and
creating a freely available comprehensive library of input/output
functions for meshes[11] that this problem will be alleviated for
the mesh community. A freely available mesh viewer conforming to
these standards is available now for various platforms.
Consulations with the authors of the mesh system,
http://www-dsed.llnl.gov/documents/test/mesh.html
will be benificial.
The IGES community has a suite of tests and conformance utilities
to gauge the conformance to specifications and software authors
are encouraged to seek those out from NIST[14].
4. Encoding and Transport
a. A parameter which makes sense for all subtypes of model is the
initial viewing condition, consisting of the view position (a
3D point), the view vector, and the up vector. This parameter
is optional. Some subtypes will contain one or more viewing
conditions as part of there internal data. If present, this
parameter over-rides any internal viewing condition. Note
that these parameters are not specific to visualizations on
computer screens but also the default fabrication orientation
on milling machines.
b. Unrecognized subtypes of model should at a minimum be treated
as "application/octet-stream". Implementations may optionally
elect to pass subtypes of model that they do not specifically
recognize to a robust general-purpose model viewing
application, if such an application is available.
c. Different subtypes of model may be encoded as textual
representations or as binary data. Unless noted in the
subtype registration, subtypes of model should be assumed to
contain binary data, implying a content encoding of base64 for
email and binary transfer for ftp and http.
d. The formal syntax for the subtypes of the model primary type
should look like this:
MIME type name: model
MIME subtype name: xxxxxxxx
Required parameters: none
Optional parameters: dimensionality, static/dynamic, def. view
Encoding considerations: may be encoded
Security considerations: see section 5 below
Published specification: see Appendix B for references
Person and email address to contact for further information:
S. D. Nelson <nelson18@llnl.gov>
Nelson, Parks, Mitra [Page 4]
Internet-draft Model Primary MIME Type January 1996
5. Security Considerations Section
Note that the data files are ``read-only'' and do not contain file
system modifiers or batch/macro commands. The transported data is
not self-modifying but may contain interrelationships. The data
files may however contain a ``default view'' which is added by the
author at file creation time. This ``default view'' may
manipulate viewer variables, default look angle, lighting,
visualization options, etc. This visualization may also involve
the computation of variables or values for display based on the
given raw data. For motorized equipment, this may change the
position from the hardware's rest state to the object's starting
orientation.
The internal structure of the data files may direct agents to
access additional data from the network (i.e. inclusions); the
security limits of whom are not pre-supposed. Actions based on
these inclusions are left to the security definitions of the
inclusions. Further comments about the security considerations
for the subtypes will be contained in each subtype's registration.
6. Authors' Addresses.
S. D. Nelson, Lawrence Livermore National Laboratory,
7000 East Ave., L-153, Livermore CA 94550, USA.
E-Mail: nelson18@llnl.gov
C. Parks, National Institute of Standards & Technology
Bldg 220, Room B-344, Gaithersburg, MD 20899, USA.
E-Mail: parks@eeel.nist.gov
Mitra, Worlds Inc., 605 Market St, San Francisco CA 94107,
(415)281-1308
E-Mail: mitra@worlds.net
Nelson, Parks, Mitra [Page 5]
Internet-draft Model Primary MIME Type January 1996
7. Expected subtypes
Table 1 lists some of the expected model sub-type names. Suggested
3 letter extensions are also provided for DOS compatibility but their
need is hopefully diminished by the use of more robust operating
systems on PC platforms. The ``silo'' extension is provided for
backwards compatibility. Mesh has an extensive list of hints since the
present variability is so great. In the future, the need for
these hints will diminish since the files are selfdescribing.
This document is not registering these subtypes. They will be
handled under separate documents.
Table 1.
Primary/sub-type Suggested extension(s) Reference
model/iges igs,iges [8]
model/vrml wrl [9]
model/mesh msh, mesh, silo [10]
It is expected that model/mesh will also make use of a number
of parameters which will help the end user determine the data
type without examinine the data. However, note that mesh files
are self-describing.
regular+static, unstructed+static, unstructured+dynamic,
conformal+static, conformal+dynamic, isoparametric+static,
isoparametric+dynamic
The sub-types listed above are some of the anticipated types that are
already in use. Notice that the IGES type is already registered
as "application/iges" and that RFC states that a more appropriate
type is desired. Note that the author of "application/iges" is
one of the authors of this "model" proposal and application/iges
will be re-registered as model/iges at the appropriate time.
The VRML type is gaining wide acceptance and has numerous parallel
development efforts for different platforms. These efforts are
fueled by the release of the QvLib library for reading VRML files;
without which the VRML effort would be less further along. This
has allowed for a consistent data type and has by defacto
established a set of standards. Further VRML efforts include
interfaces to other kinds of hardware (beyond just visual
displays) and it is proposed by those involved in the VRML effort
to encompass more of the five senses. Unlike other kinds of
"reality modeling" schemes, VRML is not proprietary to any one
vendor and should experience similar growth as do other open
standards.
Nelson, Parks, Mitra [Page 6]
Internet-draft Model Primary MIME Type January 1996
The mesh type is an offshoot of existing computational meshing
efforts and, like VRML, builds on a freely available library set.
Also like VRML, there are other proprietary meshing systems but
there are converters which will convert from those closed systems
to the mesh type. Meshes in general have an association feature
so that the connectivity between nodes is maintained. It should be
noted that most modern meshes are derived from CAD solids files.
8. Appendices
8.1 Appendix A -- extraneous details about expected subtypes
VRML Data Types
The 3D modeling and CAD communities use a number of file
formats to represent 3D models, these formats are widely used
to exchange information, and full, or lossy, converters
between the formats exist both independently and integrated
into widely used applications. The VRML format is rapidly
becoming a standard for the display of 3D information on the
WWW.
Mesh Data Types
For many decades, finite element and finite difference time domain
codes have generated mesh structures which attempt to use the
physical geometry of the structures in connection with various
physics packages to generate real world simulations of events
including electromagnetic wave propagation, fluid dynamics, motor
design, etc. The resulting output data is then post processed to
examine the results in a variety of forms. This proposed mesh
subtype will include both geometry and scalar/vector/tensor
results data. An important point to note is that many modern
meshes are generated from solids constructed using CAD packages.
Motivation for mesh grew out of discussions with other
communities about their design requirements. Many CAD or scene
descriptions are composed of a small number of complex objects
while computational meshes are composed of large numbers of
simple objects. A 1,000,000 element 3D mesh is small. A
100,000,000 element 3D structured mesh is large. Each object can
also have an arbitrary amount of associated data and the mesh
connectivity information is important in optimizing usage of the
mesh. Also, the mesh itself is usually uninteresting but
postprocessing packages may act on the underlying data or a
computational engine may process the data as input.
Nelson, Parks, Mitra [Page 7]
Internet-draft Model Primary MIME Type January 1996
Meshes differ principally from other kinds of scenes in that
meshes are composed of a large number of simple objects which may
contain arbitrary non-spatial parameters, not all of whom need be
visible, and who have an implicit connectivity and neighbor list.
This latter point is the key feature of a mesh. It should be
noted that most meshes are generated from CAD files however. The
mesh type has association functions because the underlying
physics was used to calculate the interaction (if you crash a car
into a telephone pole, you get a crumpled car and a bent pole).
Most interesting computational meshes are 4D with additional
multidimensional results components.
IGES CAD Data Types
(The following text, reproduced for reference purposes only, is from
``U.S. Product Data Association and IGES/PDES Organization Reference
Manual,'' June 1995; by permission.)
IGES, the Initial Graphics Exchange Specification, defines a
neutral data format that allows for the digital exchange of
information among computer-aided design (CAD) systems.
CAD systems are in use today in increasing numbers for
applications in all phases of the design, analysis, and
manufacture and testing of products. Since the designer may use
one supplier's system while the contractor and subcontractor may
use other systems, there is a need to be able to exchange data
digitally among all CAD systems.
The databases of CAD systems from different vendors often
represent the same CAD constructs differently. A circular arc on
one system may be defined by a center point, its starting point
and end point, while on another it is defined by its center, its
diameter starting and ending angle. IGES enables the exchange of
such data by providing, in the public domain, a neutral definition
and format for the exchange of such data.
Using IGES, the user can exchange product data models in the form
of wireframe, surface, or solid representations as well as surface
representations. Translators convert a vendor's proprietary
internal database format into the neutral IGES format and from the
IGES format into another vendor's internal database. The
translators, called pre- and post-processors, are usually
available from vendors as part of their product lines.
Nelson, Parks, Mitra [Page 8]
Internet-draft Model Primary MIME Type January 1996
Applications supported by IGES include traditional engineering
drawings as well as models for analysis and/or various
manufacturing functions. In addition to the general specification,
IGES also includes application protocols in which the standard is
interpreted to meet discipline specific requirements.
IGES technology assumes that a person is available on the
receiving end to interpret the meaning of the product model
data. For instance, a person is needed to determine how many holes
are in the part because the hole itself is not defined. It is
represented in IGES by its component geometry and therefore, is
indistinguishable from the circular edges of a rod.
The IGES format has been registered with the Internet Assigned
Numbers Authority (IANA) as a Multipurpose Internet Mail Extension
(MIME) type "application/iges". The use of the message
type/subtype in Internet messages facilitates the uniform
recognition of an IGES file for routing to a viewer or translator.
Version 1.0 of the specification was adopted as an American
National Standards (ANS Y14.26M-1981) in November of
1981. Versions 3.0 and 4.0 of the specification have subsequently
been approved by ANSI. The current version of IGES 5.2 was
approved by ANSI under the new guidelines of the U.S. Product Data
Association. Under these guidelines, the IGES/PDES Organization
(IPO) became the accredited standards body for product data
exchange standards. This latest standard is USPRO/IPO-100-1993.
8.2 Appendix B -- References and Citations
[1] N. Borenstein, and N. Freed, "MIME (Multipurpose Internet Mail
Extensions) Part One: Mechanisms for Specifying and Describing the
Format of Internet Message Bodies", RFC 1521, Bellcore, Innosoft,
September 1993.
[2] Fitzgerald P., "Molecules-R-Us Interface to the Brookhaven
Data Base", Computational Molecular Biology Section, National
Institutes of Health, USA; see http://www.nih.gov/htbin/pdb for
further details; Peitsch M.C, Wells T.N.C., Stampf D.R., Sussman
S. J., "The Swiss-3D Image Collection And PDP-Browser On The
Worldwide Web", Trends In Biochemical Sciences, 1995, 20, 82.
[3] "Proceedings of the First Electronic Computational Chemistry
Conference", Eds. Bachrach, S. M., Boyd D. B., Gray S. K, Hase W.,
Rzepa H.S, ARInternet: Landover, Nov. 7- Dec. 2, 1994, in press;
Bachrach S. M, J. Chem. Inf. Comp. Sci., 1995, in press.
[4] Richardson D.C., and Richardson J.S., Protein Science, 1992,
1, 3; D. C. Richardson D. C., and Richardson J.S., Trends in
Biochem. Sci.,1994, 19, 135.
Nelson, Parks, Mitra [Page 9]
Internet-draft Model Primary MIME Type January 1996
[5] Rzepa H. S., Whitaker B. J., and Winter M. J., "Chemical
Applications of the World-Wide-Web", J. Chem. Soc., Chem. Commun.,
1994, 1907; Casher O., Chandramohan G., Hargreaves M., Murray-Rust
P., Sayle R., Rzepa H.S., and Whitaker B. J., "Hyperactive
Molecules and the World-Wide-Web Information System",
J. Chem. Soc., Perkin Trans 2, 1995, 7; Baggott J., "Biochemistry
On The Web", Chemical & Engineering News, 1995, 73, 36; Schwartz
A.T, Bunce D.M, Silberman R.G, Stanitski C.L, Stratton W.J, Zipp
A.P, "Chemistry In Context - Weaving The Web", Journal Of Chemical
Education, 1994, 71, 1041.
[6] Rzepa H.S., "WWW94 Chemistry Workshop", Computer Networks and
ISDN Systems, 1994, 27, 317 and 328.
[7] S.D. Nelson, "Email MIME test page", Lawrence Livermore
National Laboratory, 1994. See
http://www-dsed.llnl.gov/documents/WWWtest.html and
http://www-dsed.llnl.gov/documents/tests/email.html
[8] C. Parks, "Registration of new Media Type application/iges",
ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/
application/iges, 1995.
[9] G. Bell, A. Parisi, M. Pesce, "The Virtual Reality Modeling
Language",
http://sdsc.edu/SDSC/Partners/vrml/Archives/vrml10-3.html, 1995.
[10] S.D. Nelson, "Registration of new Media Type model/mesh",
(will be)
ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/model/
mesh, 1995.
[11] "SILO User's Guide", Lawrence Livermore National Laboratory,
University of California, UCRL-MA-118751, March 7, 1995,
[12] E. Brugger, "Mesh-TV: a graphical analysis tool", Lawrence
Livermore National Laboratory, University of California,
UCRL-TB-115079-8, http://www.llnl.gov/liv_comp/meshtv/mesh.html
[13] S. Brown, "Portable Application Code Toolkit (PACT)", the
printed documentation is accessible from the PACT Home Page
http://www.llnl.gov/def_sci/pact/pact_homepage.html
[14] L. Rosenthal, ``Initial Graphics Exchange Specification
(IGES) Test Service'',
http://speckle.ncsl.nist.gov/~jacki/igests.htm
Nelson, Parks, Mitra [Page 10]
Internet-draft Model Primary MIME Type January 1996
8.3 Appendix C -- hardware
Numerous kinds of hardware already exist which can process some
of the expected model data types and are listed here for illustration
purposes only:
stereo glasses, 3D lithography machines, automated manufacturing
systems, data gloves (with feedback), milling machines,
aromascopes, treadmills.
8.4 Appendix D -- Examples
This section contains a collection of various pointers to
examples of what the model type encompasses:
Example mesh model objects can be found on this mesh page:
http://www-dsed.llnl.gov/documents/tests/mesh.html
Various IGES compliant test objects:
http://www.eeel.nist.gov/iges/specfigures/index.html
VRML Test Suite:
http://www.chaco.com/vrml/test/
An image of a model of a shipping cage crashing into the ground:
http://www.llnl.gov/liv_comp/meiko/apps/dyna3d/cagefig2.gif
An image of a 100,000,000 zone mesh:
http://www.llnl.gov/liv_comp/meiko/apps/hardin/PMESH.gif
A video of a seismic wave propagation through a computational mesh:
http://www.llnl.gov/liv_comp/meiko/apps/larsen/movie.mpg
9. Acknowledgements
Thanks go to Henry Rzepa (h.rzepa@ic.ac.uk), Peter Murray-Rust
(pmr1716@ggr.co.uk), Benjamin Whitaker
(B.J.Whitaker@chemistry.leeds.ac.uk), Bill Ross
(ross@cgl.ucsf.EDU), and others in the chemical community on which
the initial draft of this document is based. That document
updated IETF Internet Draft, draft-rzepa-chemical-mime-type-01.txt
in which the initial chemical proposal was made, incorporated
suggestions received during the subsequent discussion period, and
indicated scientific support for and uptake of a higher level
proposal incorporating physical sciences[2-7]. This Model RFC
proposal benefited greatly from the previous groundwork laid, and
the continued interest by, those communities.
Nelson, Parks, Mitra [Page 11]
Internet-draft Model Primary MIME Type January 1996
The authors would additionally like to thank Keith Moore
(moore@cs.utk.edu), lilley (lilley@afs.mcc.ac.uk), Wilson Ross
(ross@cgl.ucsf.EDU), hansen (hansen@pegasus.att.com), Alfred
Gilman (asg@severn.wash.inmet.com), and Jan Hardenbergh
(jch@nell.oki.com) without which this document would not have been
possible.
Nelson, Parks, Mitra [Page 12]