Subject: [IPP] Cloud specific element definitions

From: "Zehler, Peter" <[email-masked]>
Date: Wed, 25 Aug 2010 07:35:46 -0700

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/WorldGeodeticSy
stem/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:

http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=800+phillips
+rd+webster+ny+14580&sll=37.0625,-95.677068&sspn=62.226996,106.962891&ie
=UTF8&hq=&hnear=800+Phillips+Rd,+Webster,+Monroe,+New+York+14580&ll=43.2
20973,-77.417162&spn=0.001781,0.003264&t=h&z=19 

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: [email-masked] <mailto:[email-masked]> 
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 

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

_______________________________________________
ipp mailing list
[email-masked]
https://www.pwg.org/mailman/listinfo/ipp

---

From: Michael Sweet <[email-masked]>
Date: Wed, 25 Aug 2010 15:23:11 -0700

On Aug 25, 2010, at 7:35 AM, Zehler, Peter wrote:

> 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.

While that could certainly be an appropriate implementation choice, I don't think we should make a recommendation beyond the requirement for an RFC 4122 UUID.
 
> 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:
> http://maps.google.com/maps?f=q&source=s_q&hl=en&geocode=&q=800+phillips+rd+webster+ny+14580&sll=37.0625,-95.677068&sspn=62.226996,106.962891&ie=UTF8&hq=&hnear=800+Phillips+Rd,+Webster,+Monroe,+New+York+14580&ll=43.220973,-77.417162&spn=0.001781,0.003264&t=h&z=19
> 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)
> 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
> 
> Email: [email-masked]
> 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
>  
> 
> -- 
> believed to be clean. _______________________________________________
> ipp mailing list
> [email-masked]

________________________________________________________________________
Michael Sweet, Senior Printing System Engineer, PWG Chair