附属書F "Model and Semantics" Specifications IPP/1.0とIPP/1.1との違い

附属書Fは,IPP/1.1(この規定)とIPP/1.0[RFC2566]との違いを二つのリストに分けてまとめている。箇条番号は,この規定の箇条番号を参照するもので,幾つかは,RFC2566とは異なる。ある変更が複数の箇条に影響する場合,項目はまず始めに影響する最初の箇条を示し,その後,残りの影響する箇条番号を指定する。

最初のリストは拡張及び明確化を含み,2番目のリストはセマンティクス又は適合性の変更を含む。IPP/1.0のクライアント及びIPPオブジェクトの実装は,この規定の拡張及び明確化の幾つかを実装してもよい。

次に示す拡張及び明確化は,この規定の中に取り込まれている。

    a) 2.1 - 用語"client"は,エンドユーザによって制御されるソフトウェアに含まれるか,デバイスを制御するプリントサーバの一部のどちらかであり得ることを明確化した。
    b) 2. - 用語"IPPオブジェクト"及び"Printerオブジェクト"は,デバイスオブジェクト又はIPP要求を受諾するプリントサーバのいずれかに埋め込まれることができることを明確化した。
    c) 2.4 - 新しい"uri-authentication-supported" Printer Description 属性の記述を追加した。
    d) 3.1.33.1.63.2.5.2及び3.2.6.2 - 操作属性自体のもつ状態コードのエラーの取扱いを明確化した。
    e) 3.1.3 - 属性グループにおける同じ属性の複数回の出現は正しくないことを明確化した。IPP Printerは,要求を拒否するか,又はそれら属性の一つを選択するかしてよい。
    f) 3.1.6 - 3.1.6に"status-code"属性,"status-message"属性,"detailed-status-message"属性及び"document-access-error"属性を別々に記述する下位の箇条を追加した。
    g) 3.1.6.1 - エラー状態コード及びそれらの操作属性への関係を明確化した。
    h) 3.1.6.3 - 応答に関する追加詳細情報を提供するために,オプションの"detailed-status-message(text(MAX))"操作属性を追加した。
    i) 3.1.6.4 - Print-URI応答及びSend-URI応答で使用するためのオプションの"document-access-error (text(MAX))"操作属性を追加した。
    j)o 3.1.7 - 要求に存在した属性を返すだけの操作も含む,すべての操作に対して,Unsupported Attributesを返却することを明確化するために,新たに3.1.7を追加した。
    k) 3.1.7及び4.1 - "out-of-band",'unsupported','unknown'の符号化を明確化した。
    l) 3.1.8 - 版数のパラメタだけが,プロトコルの将来の主版数又は副版数に引き繋がれていくことを明確化した。
    m) 3.1.8 - この規定の将来の版で主版数を増やすための要件を軽減化した。
    n) 3.1.9及び3.2.5 - 'processing'状態を、Create-Job操作の後にジョブが存在できるジョブ状態のリストに追加した。
    o) 3.1.9 - スプール機能のないPrinterが,0個以上の連続するジョブを一つのジョブの処理中に受諾し,それらのフローを制御してもよいことを明確化した。連続する生成要求は,'server-error-busy'のエラー状態で拒否される。
    p) 3.2.1.1 - "compression"操作属性の有効性,その"document-format"属性の有効性との関係,及び返されるUnsupported Attributesを明確化した。
    q) 3.2.1.14.3.8B.1.4.16及びB.1.4.17 - 'client-error-compression-not-supported','client-error-compression-error'状態コード,'unsupported-compression'及び'compression-error'ジョブ状態理由を追加した。
    r) 3.2.1.1及び4.3.8 - 'unsupported-document-format'と'document-format-error'ジョブ状態理由を追加した。
    s) 3.2.24.3.8及びB.1.4.19 - 'client-error-document-access-error'状態コード及び'document-access-error'ジョブ状態理由を追加した。
    t) 3.2.5.2及び3.2.6.2 - Unsopported Atttributesグループは,Get-Printer-Attributes要求で要求されない属性を含んではならないことを明確化した。
    u) 3.2.6 - "limit"は,"which-jobs"及び"my-jobs'に優先するということを明確化した。
    v) 3.2.6.2 - Get-Jobsは,返すジョブがないとき,'successful-ok'を返すことを明確化した。
    w) 3.2.73.2.8及び3.2.9 - オプションとして,Pause-Printer,Resume-Printer及びPurge-Jobs操作を追加した。
    x) 3.3.1 - Send-Document要求に対して要求される権限付与先は,Create-Jobを発行したのと同じユーザ又は操作者でなければならないことを明確化した。
    y) 3.3.1.1 - "last-document" = 'true'であってデータをもたないCreate-Job Send-Documentは,エラーでないことを明確化した。すなわち,これは,文書のないジョブとする。
    z) 3.3.53.3.6及び3.3.7 - オプションとして,Hold-Job,Release-Job及びRestart-Job操作を追加した。プリンタが参照(Print URI又はSend-URI)によって何か文書を再度取りにいくRestart-Job操作を明確化した。
    aa) 4.1 - 範囲外の値の符号化は,"符号化及びトランスポート"規定で定義されることを明確化した。
    ab) 4.1 - クライアントが要求において範囲外の値を送信してはいけないという要件は,この規定で定義される操作だけに適用されることを明確化した。他の操作は,クライアントが供給できる範囲外の値を定義してもよい。
    ac) 4.1.1及び4.1.2 - 1023及び255という'text'値及び'name'値の最大値は,'textWithLanguage'形式の'textWithoutLanguage'部分に対してということを明確化した。その結果,実際のテキスト及び名前データに対するオクテットの最大数は,言語形式をもつ及びもたないに対して同じとなる。'naturalLanguage'部分は,付加的とする。
    ad) 4.1.9 - 'mimeMediaType'値は,charsetパラメタだけでなく,IANAレジストリからのあらゆるパラメタを含むことができることを明確化した。
    ae) 4.1.9.1 - 'application/octet-stream'自動検知は生成要求時に起き,ジョブ処理及び文書処理時にも起こることを明確化した。
    af) 4.1.9.1 - 自動検出は,文書をオクテット列と見たときの幾つかのオクテットを,実装依存の方法を使って調べるPrinterを含むということを明確化した。
    ag) 4.1.14 - クライアントによる日時の現地化は,時間帯を含むということを明確化した。
    ah) 4.2 - xxx-supportedは,(1setOf(type3 keyword | name))などの配列に括弧を加えることによって複数のキーワード及び/又は名前をもつことを明確化した。
    ai) 4.2.2 - 'indefinite'キーワード値を生成操作,Hold-Job及びRestart-Job操作で使用する"job-hold-until"属性に追加した。
    aj) 4.2.6 - さらに多くの列挙値を "finishings" Job Template属性に追加した。
    ak) 4.2.6 - 用紙横使いの定義は,メディアに関する画像の回転とすることを明確化した。
    al) 4.3.7 - 何のジョブ状態を獲得できない転送サーバは,新しい'queued-in-devise'ジョブ状態理由を返す場合に,'completed'などのジョブ状態を返してもよい。
    am) 4.3.7.2 - ジョブ保持,ジョブ履歴及びジョブ削除の概念を明確化するために"4.3.7.2 ジョブ状態の区分け"を追加した。
    an) 4.3.8 - 'job-data-insufficient'ジョブ状態理由を,十分なデータが文書が処理されることを開始するために到着したかどうかを示すために追加した。
    ao) 4.3.8 - 'document-access-error'ジョブ状態理由をどのようなアクセスエラーをも示すために追加した。
    ap) 4.3.8 - 'job-queued-for-marker'ジョブ状態理由を,ジョブが幾つかの処理を完成したか,実行を待機しているかどうかを示すために追加した。
    aq) 4.3.8 - 'unsupported-compression'及び'compression-error'のジョブ状態理由を,生成が受諾された後,未サポートの圧縮又は圧縮処理ラーを示すために追加した。
    ar) 4.3.8 - 'unsupported-document-format'及び'document-format-error'のジョブ状態理由を,生成が受諾された後,未サポート文書又は文書フォーマット処理エラーを示すために追加した。
    as) 4.3.8 - 'queued-in-device'ジョブ状態理由を,何のジョブ状態も供給しない印刷システム又はデバイスに転送されるジョブであることを示すために追加した。
    at) 4.3.10 - 詳細エラーメッセージを返却するために"job-detailed-status-messages (1setOftext(MAX))"を追加した。
    au) 4.3.11 - "job-document-access-errors (1setOf text(MAX))"を追加した。
    av) 4.3.14.2 - 記録される時間は,生成操作又はRestart-Job操作から後の最初の処理時間とすることを明確化した。
    aw) 4.3.14.2及び4.3.14.3 - 範囲外の値'no-value'は,ジョブが処理を開始しなかったか,又は完了しなかった場合それぞれに,返却されることを明確化した。
    ax) 4.3.14 - オプションである"date-time-at-creation","date-time-at-processing"及び"date-time-at-completed"のEvent Time Job Description属性を追加した。
    ay) 4.4.3 - "uri-security-supported"属性に'tls'値を追加した。
    az) 4.4.3 - "uri-security-supported"は,'none'がClient Authenticationを除外しないために,Client Authenticationとは無関係であることを明確化した。
    ba) 4.4.11 - 他をマーク付けしている間に複数のジョブを解釈する高機能の末端デバイスを許可するために"printer-state"記述を一般化する一方で簡略化した。'spool-area-full'及び'stopped-partly'の"printer-state-reasons"は,追加の状態情報を提供するために使用してもよいことを示した。
    bb) 4.4.12 - 'moving-to-paused'キーワードをPause-Job操作に使用する"printer-state-reasons"属性に追加した。
    bc) 4.4.12 - 重複する'market-supply-low'キーワードを,"printer-state-reasons"属性のために,欠けている'toner-empty'キーワードに置き換えた。この修正は,RFC2566が公開される前にも行われた。
    bd) 4.4.12 - 'spool-area-full'の"printer-state-reasons"を,スプールしないプリンタを含め,他のジョブを受諾可能なとき及び受諾不可能なときを指示するために,明確化した。
    be) 4.4.15 - 列挙値を新しい操作の"operations-supported"属性に追加した。この属性の値が幾つかの列挙を,すなわち32ビット値として符号化されていることを明確化した。
    bf) 4.4.30 - "printer-current-time"のdateTime値が "best efforts basis"にあることを明確化した。適当な日時が得られない場合,実装は'no-value-time' 領域外値を返す。時間帯はデバイスの近くにいる人間が使用するものである必要はないこと,及びクライアントはユーザの現地時間のdateTime属性を表示することが望ましいことを明確化した。 
    bg) 4.4.36及び4.4.37 - オプションである"pages-per-minute"及び"pages-per-minute-color"のPrinter Description属性を追加した。
    bh) 5.1 - クライアントの適合性要件は,エンドユーザが制御するクライアント,及びサーバの中のクライアントに適用されることを明確化した。
    bi) 5.1 - 何の応答も追加の属性グループ,属性又は属性値を含むことを明確化した。
    bj) 5.1 - クライアントは,チャネルがIPP Printerによってフロー制御されているとき,チャネルを妨げて,より低い層によって閉ざされないことに最善を尽くすことが望ましいをことを明確化した。
    bk) 5.2 - IPPオブジェクト要件は,デバイスに埋め込まれたオブジェクト又はサーバの一部であるオブジェクトに対して適用されることを明確化した。
    bl) 5.2.2 - IPPオブジェクトは,属性グループ,属性名,属性構文,属性値,及びこの規定への拡張である状態コードを含む操作応答を返却してもよいことを明確化した。
    bm) 6. - 用語"私的な拡張"を用語"ベンダ拡張"に変更し,それら拡張がIETFの標準過程拡張に添ってIANAに登録されることを示した。
    bn) 6.7 - 拡張としてIANAに範囲外属性値を登録することに関するこの箇条を挿入した。
    bo) 8.3 - 各Client Authentication 機構のURIの使用を明確化した。
    bp) 8.5 - 新しい操作者又は管理者の操作に関するセキュリティの検討を追加した。
    bq) B.1.4.16 - client-error-compression-not-supported(0x040F)を追加した。
    br) B.1.4.17 - client-error-compression-error(0x0410)を追加した。
    bs) B.1.4.18 - client-error-document-format-error(0x0411)を追加した。
    bt) B.1.4.19 - client-error-document-access-error(0x0412)を追加した。
    bu) B.1.5.10 - server-error-multiple-document-jobs-not-supported (0x0509)を追加した。
    bv) 附属書C - 'a-white','b-white','c-white','d-white'及び'e-white'を追加し,既存の'a','b','c','d'及び'e'の値がサイズ値であることを明確化した。さらに,米国,日本,欧州の技術サイズ,透明及び半透明メディア名,並びにカットサイズ紙の図を追加した。
    bw) 附属書E - ディレクトリスキーマにおけるIPPプリンタ属性に対する推奨(RECOMMENDATION)を,同等なものをもつことができるように軽減した。
    bx) 附属書E - Directoryスキーマに,オプションの"pages-per-minute"及び"pages-per-minute-color"のPrinter属性を追加した。
    by) 附属書E - Directoryスキーマに,オプションの"multiple-document-jobs-supported"を追加した。
    bz) 附属書E - Directoryスキーマに,推奨の"uri-security-supported","compression-supported"及び"ipp-versions-supported"を追加した。

次に示すセマンティクス及び/又は適合性は,この規定の中に盛り込まれている。

    a) 3.1.6.3 - Printerが"detailed-status-message"操作応答属性を現地化できることとした。ただし,現地化によってメッセージの技術的な意味が不明瞭となるかもしれないことを示した。
    b) 3.1.85.2.4及びB.1.5.4 - クライアント及びIPPオブジェクトは,1.1版の適合性要件をサポートしなければならない。1.1版は1.0版と相互運用することが望ましい。さらに,IPP Printerは,1.1版の要求を受諾しなければならないことを明確化した。1.x版の要求も受諾することが望ましい。
    c) 3.2.1.1及び4.4.32 - "compression"及び"compression-supported" Printer Description属性を,オプションから必す(須)に変更した。
    d) 3.2.1.2及び4.3.8 - "job-state-reasons"を推奨から必す(須)に変更して,"job-state-reasons"は生成操作応答において返されなければならない,とした。
    e) 3.2.43.3.14.4.16及び附属書E - Creat-Job及びSend-Documentが,一つだけの文書ジョブをサポートしていても実装されてもよいに変更した。"multiple-document-jobs-supported"の論理型Printer Description属性をCreat-Job及びSend-Documentが複数の文書ジョブをサポートしているのかいないのかを示すために追加した。さらに,Directoryスキーマを追加した。
    f) 4.1.9 - 'text/Plain; charset=iso-10646-ucs-2'を,2進数が'text'型として正しくないので削除した。
    g) 4.1.9.1 - Printerは,自動検出が発生したこと,及びどの文書フォーマットが自動検出されたかを,ジョブのジョブ開始紙の上に印刷することによって示す,という推奨(RECOMMENDATION)を追加した。
    h) 4.2.4 - "multiple-document-handling" Job Template属性は,Printerがジョブごとに複数の文書をサポートする場合には,少なくとも一つの値をともなってサポートされなければならないことを示した。
    i) 4.3.7.2 - 'job-restartable'ジョブ状態理由は,Restart-Job操作がサポートされた場合にサポートされることが望ましいことを示した。
    j) 4.3.8 - "job-state-reasons"を,推奨から必す(須)に変更した。
    k) 4.3.8 - "job-state-reasons"属性の値の適合性を,どの値がサポートされなければならないか,又はサポートされることが望ましいのかが,"job-state-reasons"の定義を参照することから明らかになるように,文書の他の箇条から適合性要求を複写することによって明確化した。'none','unsupported-compression'及び'unsupported-document-format'の値は,サポートされなければならない。'job-hold-until-specified'は,"job-hold-until" Job Templateがサポートされる場合に,指定されることが望ましい。'job-canceled-by-user','aborted-by-system'及び'job-completed-successfully'の値は,サポートされることが望ましい。'job-canceled-by-operater'は,実装がジョブ所有者以外によって取り消されることを許可する場合に,サポートされることが望ましい。'job-canceled-at-device'は,デバイスがコンソールでのジョブの取消しをサポートする場合に,サポートされことが望ましい。'job-completed-with-warnings'は,実装が警告を検知する場合に,サポートされることが望ましい。'job-completed-with-errors'は,実装がエラーを検知する場合に,サポートされることが望ましい。'job-restartable'は,Restart-Job操作がサポートされる場合に,サポートされることが望ましい。
    l) 4.3.10 - Printerが"job-detailed-status-message" Job Description属性を現地化することを許可した。ただし,それら現地化がメッセージの技術的な意味を不明瞭にするかもしれないことを示した。
    m) 4.3.14 - "time-at-creation","time-at-processing" 及び"time-at-completed" Event Time Job Description属性をオプションから必す(須)に変更した。
    n) 4.3.14.4 - 必す(須)の"job-printer-up-time(integer(1:MAX))" Job Description属性を,ジョブ時間を得る操作の個数を減らすために,"printer-up-time"の別名として追加した。
    o) 4.4.2 - 必す(須)の"uri-authentication-supported(1setOf type2 keyword)" Printer Description属性を,各Printer URIが使用するクライアント認証を記述するために追加した。
    p) 4.4.12 - "printer-state-reasons" Printer Description属性をオプションから必す(須)に変更した。
    q) 4.4.12 - "printer-state-reasons"の'paused'値を,Pause-Printer操作がサポートされている場合,"サポートされなければならない",に変えた。
    r) 4.4.14 - 必す(須)の"ipp-versions-supported(1setOf keyword)" Printer Description属性を,IPP/1.1 Printerは'1.0'版の適合性要件をサポートする必要がないので,追加した。
4.4.16 - 必す(須)の"multiple-document-jobs-supported(boolean)"Printer Description属性を,Create-Jobs/Send-DocumentをサポートしているPrinterが複数の文書ジョブをサポートするかどうかをクライアントが告げることができるように,追加した。この属性は,Create-Job操作がサポートされている場合には,必す(須)とする。
    s) 4.4.24 - "queued-job-count" Printer Description属性を,推奨から必す(須)に変更した。
    t) 4.4.32 - "compression-supported (1setOf type3 keyword)"Printer Description属性を,オプションから必す(須)に変更した。
    u) 5.1 - クライアントセキュリティ要件を,"RECOMMENDED non-standards track SSL3"から,"MUST support Client Authentication as defined in the IPP/1.1 Encoding and Transport document [RFC2910]",に変更した。クライアントは,IPP/1.1 符号化及びトランスポートの規定[RFC2910]に定義されるとおりの操作プライバシ及びサーバ認証をサポートすることが望ましい。
    v) 5.2.7 - IPPオブジェクトセキュリティ要件を,"OPTIONAL non-standards track SSL3"から,"SHOULD contain support for Client Authentication as defined in the IPP/1.1 Encoding and Transport document [RFC2910]",に変更した。Printer実装は,管理者に,ユーザのすべて若しくは何人かが認証されるように,又は誰も認証されないように,Printerを構成することを認めてもよい。IPP Printer実装は,IPP/1.1の符号化及びトランスポートの規定[RFC2910]で定義されるとおりの操作プライバシ及びサーバ認証のサポートを含んでいることが望ましい。Printer実装は,管理者に,操作プライバシ及びサーバ認証のサポートの程度を構成することを認めてもよい。セキュリティは,クライアントが要求においてより低い版数を供給する場合には,妥協してはならない。
    w) 附属書C - 編集上の誤りの修正。キーワード'iso-10-white'を'iso-a10-white'に変えた。

IPP/1.0 [RFC2565]及びIPP/1.1 [RFC2910]との違いに関しては,"IPP/1.1 符号化及びトランスポート"[RFC2910]の規定を参照のこと。