All,
Here is the semantics and syntax as I
understand it for the Cloud Specific model extensions for global identifiers
and geolocation.
Comments?
Job Identifiers:
*new*
job-uuid (SM:JobUuid): The identifier for a job with a
global scope. The identifier is unique for a Job across all service
instances of any service type. The UUID URN namespace is
specified in rfc4122. The format used for “job-uuid” is the
string representation of a UUID as a URN. An example is “urn:uuid:a6b90f34-d0b1-1956 -7dec-009c4386fe3”.
The version (aka subtype) used is implementation specific. Version 1
(i.e. time based) is recommended. Datatype: abstract:char[64],
IPP:uri MaxLength=64, SM:xs:anyURI maxLen=64 (Note: Both the local and global
identifiers should be mandated. For legacy protocol mappings (e.g. IPP
1.1, WS-Print, LPR) the local identifier MUST still be maintained.)
ISSUE: Do we recommend/suggest: It is possible to use
the time_low portion of the Timestamp in the version 1 UUID as the local
identifier. The implementation may then keep only the 128 bit local
representation of the UUID and use it to create the appropriate protocol
values.
Printer Identifiers:
*new*
printer-uuid (SM:ServiceUuid): The identifier for a
Printer with a global scope. The identifier is unique across all service
instances of any service type. The UUID URN namespace is
specified in rfc4122. The format used for “job-uuid” is the string
representation of a UUID as a URN. An example is “urn:uuid:a6b90f34-d0b1-1956 -7dec-009c4386fe3”.
The version (aka subtype) used is implementation specific. Version 1
(i.e. time based) is recommended. Datatype: abstract:char[64],
IPP:uri, SM:xs:anyURI maxLen=64
Printer Location:
*new*
printer-geo-location (SM:ServiceGeoLocation): This
identifies the location of the associated device using the World Geodetic
System 1984(WGS84). The means for expressing the location information is
aligned with those used in DNS [RFC1876] Datatype: abstract:class,
IPP:collection, SM:sequence
*new*
size (SM:Size): Diameter of
the bounding sphere containing the device expressed in centimeters.
Datatype: abstract: int32, IPP:integer, SM:xs:int (Note: rfc1876 encodes
the value for size as a pair of 4 bit integers with value between 0 and
9. The first integer is the base and the second the exponent.)
*new*
horizontal-precision (SM:
HorizontalPrecision): The horizontal precision expressed as the diameter
of the “circle of error” (i.e. twice the +- error value) The
units are centimeters. Datatype: abstract: int32,
IPP:integer, SM:xs:int (Note: rfc1876 encodes the value for
horizontal-precision as a pair of 4 bit integers with value between 0 and
9. The first integer is the base and the second the exponent.)
*new*
vertical-precision (SM:
VerticalPrecision): The vertical precision expressed as the diameter of
the “circle of error” (i.e. twice the +- error value) The
units are centimeters. Datatype: abstract:integer, IPP:
int32, SM:xs:int (Note: rfc1876 encodes the value for vertical-precision as a
pair of 4 bit integers with value between 0 and 9. The first integer is
the base and the second the exponent.)
*new*
latitude (SM:Latitude): The
latitude of the center of the sphere described by the size attribute.
Expressed in thousandths of a second of arc. The 0 represents the
equator. Positive values above that are north and Negative values are
south. Datatype: abstract: int32, IPP:integer, SM:xs:int
(Note: rfc1876 encodes the value for the equator as 2147483648 (231)
to keep the latitude value positive.)
*new*
longitude (SM:Latitude): The
longitude of the center of the sphere described by the size attribute.
Expressed in thousandths of a second of arc. The value 0 represents the
prime meridian. Positive values above that are east and negative values
are west. The value is rounded away from the prime meridian
Datatype: abstract: int32, IPP:integer, SM:xs:int (Note: rfc1876
encodes the value for the prime meridian as 2147483648 (231)
to keep the longitude value positive.)
*new*
altitude (SM:Altitude): The
altitude of the center of the sphere described by the size attribute. Expressed
in centimeters from a base of the reference spheroid used by GPS [WGS
84]. Altitude above (or below) sea level may be used as an approximation
of altitude relative to the [WGS 84] spheroid, though due to the Earth's
surface not being a perfect spheroid, there will be differences.
Datatype: abstract: int32, IPP:integer, SM:xs:int (Note:
rfc1876 encodes the value for the base as 100,000m below the reference spheroid
used by GPS [WGS 84]to keep the altitude value positive.)
references:
[WGS84]
World
Geodetic System 1984, Last revised 2004, National Geospatial-Intelligence
Agency, <https://www1.nga.mil/ProductsServices/GeodesyGeophysics/WorldGeodeticSystem/Pages/default.aspx>
[RFC1876]
RFC1876:
A Means for Expressing Location Information in the Domain Name System, January 1996,
C. Davis, P. Vixie, T. Goodwin, I. Dickinson, <http://tools.ietf.org/rfc/rfc1876.txt>
Geolocation examples:
2-Dimmensional
Location of my office printer
Google Map URL:
Location
representations:
Decimal Degrees
(WGS84)
Latitude Longitude
43.220973 -77.417162
Degrees, Minutes
& Seconds
Latitude Longitude
N43 13 15 W77 25 01
GPS
Latitude Longitude
N 43 13.258 W 77 25.030
UTM
X Y
18N 303685 4788191
My office
elevation:
128 meters (419 feet) above
sea level
Size of Printer:
91 centimeter (3 feet)
Margin of error
183 centimeter (6 feet)
DNS LOC record (RFC1876)
Version = 0
Size = 18 (0x12) (encoded centimeter)
HorizontalPrecision = 34 (0x22) (encoded centimeter)
VerticalPrecision = 34 (0x22) (encoded centimeter)
Latitude = 2303079151 (0x8946, 0x32EF) (thousandths
of a second of arc) ) (2147483648 +(DecimalDegreeLatitude*60*60*1000)
) (North is positive)
Longitude = 1868781865 (0x6F63, 0x5929)(thousandths
of a second of arc) (
2147483648-(DecimalDegreeLongitude*60*60*1000) ) (West is negative)
Altitude = 10012800 (0x0098, 0xC880)(centimeter) (OfficeElevation+10000000)
PrinterGeoLocation (PWG)
Size = 91 (centimeter)
HorizontalPrecision = 183 (centimeter)
VerticalPrecision = 183 (centimeter)
Latitude = 155595503 (thousandths of a second of arc)
) ( DecimalDegreeLatitude*60*60*1000 )
(North is positive)
Longitude = -278701783 (thousandths of a second of
arc) (DecimalDegreeLongitude*60*60*1000) (West
is negative)
Altitude = 12800 (centimeter) (above sea level (i.e. reference spheroid used by
GPS) is positive)
Peter
Zehler
Xerox Research Center Webster
Email: Peter.Zehler@Xerox.com
Voice: (585) 265-8755
FAX: (585) 265-7441
US Mail: Peter Zehler
Xerox Corp.
800 Phillips Rd.
M/S 128-25E
Webster NY, 14580-9701