(57)【要約】【課題】  標準化されたインタフェースを変更することなく、独自の機能を実現することができる通信装置、サービス提供方法、サービス提供プログラム及び記録媒体の提供を目的とする。【解決手段】  所定の通信プロトコルにおける標準インタフェースに基づいてネットワークを介して所定のサービスを提供する通信装置であって、前記標準インタフェースの呼び出しを要求する要求メッセージに応じ、前記要求メッセージのヘッダ領域より当該要求メッセージの送信元に係るユーザを証明する証明情報を抽出し、前記証明情報に基づいて前記ユーザの正当性を検証する証明情報検証手段と、前記ユーザの正当性が検証された場合に、前記要求メッセージにおいて呼び出しが要求されている前記標準インタフェースに応じた処理を実行するサービス実行手段とを有することにより上記課題を解決する。【選択図】  図２
2005278144.tif 000002
【特許請求の範囲】
【請求項１】
所定の通信プロトコルにおける標準インタフェースに基づいてネットワークを介して所定のサービスを提供する通信装置であって、
前記標準インタフェースの呼び出しを要求する要求メッセージに応じ、前記要求メッセージのヘッダ領域より当該要求メッセージの送信元に係るユーザを証明する証明情報を抽出し、前記証明情報に基づいて前記ユーザの正当性を検証する証明情報検証手段と、
前記ユーザの正当性が検証された場合に、前記要求メッセージにおいて呼び出しが要求されている前記標準インタフェースに応じた処理を実行するサービス実行手段とを有することを特徴とする通信装置。
【請求項２】
前記証明情報検証手段は、ネットワークを介して接続している認証装置に前記証明情報を送信することにより、前記証明情報に基づく前記ユーザの正当性を前記認証装置に判断させることを特徴とする請求項１記載の通信装置。
【請求項３】
前記証明情報検証手段は、前記要求メッセージのヘッダ領域より前記認証装置の識別情報を抽出し、前記識別情報に基づいて前記ユーザの正当性を判断させる前記認証装置を特定することを特徴とする請求項２記載の通信装置。
【請求項４】
前記証明情報は、前記認証装置によって前記ユーザが認証された旨を証明するデータであることを特徴とする請求項２又は３記載の通信装置。
【請求項５】
前記証明情報検証手段は、前記ユーザの正当性が検証された場合は、前記要求メッセージの送信元とのセッションに対してセッション識別情報を割り当て、ヘッダ領域に前記セッション識別情報を含む応答メッセージを前記所定の通信プロトコルに基づいて前記送信元に対して送信することを特徴とする請求項１乃至４いずれか一項記載の通信装置。
【請求項６】
前記応答メッセージは、前記サービス実行手段による処理の結果として出力された情報を前記標準インタフェースの返却情報として含むことを特徴とする請求項５記載の通信装置。
【請求項７】
前記所定の通信プロトコルはＳＯＡＰであることを特徴とする請求項１乃至６いずれか一項記載の通信装置。
【請求項８】
前記証明情報検証手段は、
前記標準インタフェースの呼び出しを要求する要求メッセージに基づき、前記標準インタフェースに応じた処理を前記サービス実行手段に実行させるメッセージ処理手段と、
前記要求メッセージのヘッダ領域より前記証明情報を抽出し、前記証明情報に基づいて前記ユーザの正当性を検証するヘッダ処理手段と、
前記ヘッダ処理手段の呼び出し方法に関する呼び出し情報を保持する呼び出し情報保持手段とを有し、
前記メッセージ処理手段は、要求メッセージに応じ、前記呼び出し情報保持手段における呼び出し情報に基づいて、前記ヘッダ処理手段を呼び出すことを特徴とする請求項１乃至７いずれか一項記載の通信装置。
【請求項９】
所定の通信プロトコルにおける標準インタフェースに基づいてネットワークを介して所定のサービスを提供する通信装置であって、
前記標準インタフェースの呼び出しを要求する要求メッセージに応じ、該要求メッセージのヘッダ領域より当該要求メッセージの送信元とのセッションを識別するセッション識別情報を抽出し、前記セッション識別情報に基づいて前記セッションの正当性を検証するセッション情報検証手段と、
前記セッションの正当性が検証された場合に、前記要求メッセージにおいて呼び出しが要求されている前記標準インタフェースに応じた処理を実行するサービス実行手段とを有することを特徴とする通信装置。
【請求項１０】
非標準インタフェースに基づいて前記セッションの終了要求を受け付けるセッション管理手段を更に有することを特徴とする請求項９記載の通信装置。
【請求項１１】
前記セッション管理手段は更に、前記非標準インタフェースに基づいて前記セッションの開設要求を受け付けることを特徴とする請求項１０記載の通信装置。
【請求項１２】
前記セッション管理手段は、前記セッションの開設要求に応じて前記セッションに対して割り当てたセッション識別情報を所定の記憶領域に保存し、
前記セッション情報検証手段は、前記要求メッセージのヘッダ領域より抽出したセッション識別情報が前記所定の記憶領域に保存されている場合は、当該セッションは正当であると判断することを特徴とする請求項１１記載の通信装置。
【請求項１３】
前記セッション管理手段は、前記セッションの終了要求に応じ、前記所定の記憶領域に保存されている前記セッション識別情報を無効とすることを特徴とする請求項１２記載の通信装置。
【請求項１４】
前記所定の通信プロトコルはＳＯＡＰであることを特徴とする請求項９乃至１３いずれか一項記載の通信装置。
【請求項１５】
前記セッション情報検証手段は、
前記標準インタフェースの呼び出しを要求する要求メッセージに基づき、前記標準インタフェースに応じた処理を前記サービス実行手段に実行させるメッセージ処理手段と、
前記要求メッセージのヘッダ領域より前記セッション識別情報を抽出し、前記セッション識別情報に基づいて前記セッションの正当性を検証するヘッダ処理手段と、
前記ヘッダ処理手段の呼び出し方法に関する呼び出し情報を保持する呼び出し情報保持手段とを有し、
前記メッセージ処理手段は、要求メッセージに応じ、前記呼び出し情報保持手段における呼び出し情報に基づいて、前記ヘッダ処理手段を呼び出すことを特徴とする請求項９乃至１４いずれか一項記載の通信装置。
【請求項１６】
所定の通信プロトコルにおける標準インタフェースに基づいてネットワークを介して所定のサービスを提供する通信装置におけるサービス提供方法であって、
前記標準インタフェースの呼び出しを要求する要求メッセージに応じ、前記要求メッセージのヘッダ領域より当該要求メッセージの送信元に係るユーザを証明する証明情報を抽出する証明情報抽出手順と、
前記証明情報に基づいて前記ユーザの正当性を検証する証明情報検証手順と、
前記ユーザの正当性が検証された場合に、前記要求メッセージにおいて呼び出しが要求されている前記標準インタフェースに応じた処理を実行するサービス実行手順とを有することを特徴とするサービス提供方法。
【請求項１７】
前記証明情報検証手順は、ネットワークを介して接続している認証装置に前記証明情報を送信することにより、前記証明情報に基づく前記ユーザの正当性を前記認証装置に判断させることを特徴とする請求項１６記載のサービス提供方法。
【請求項１８】
前証明情報抽出手順は、前記要求メッセージのヘッダ領域より前記認証装置の識別情報を抽出し、
前記証明情報検証手順は、前記識別情報に基づいて前記ユーザの正当性を判断させる前記認証装置を特定することを特徴とする請求項１７記載のサービス提供方法。
【請求項１９】
前記ユーザの正当性が検証された場合に、前記要求メッセージの送信元とのセッションに対してセッション識別情報を割り当てるセッション開設手順と、
ヘッダ領域に前記セッション識別情報を含む応答メッセージを前記所定の通信プロトコルに基づいて前記送信元に対して送信する応答メッセージ送信手順とを更に有することを特徴とする請求項１６乃至１８いずれか一項記載のサービス提供方法。
【請求項２０】
所定の通信プロトコルにおける標準インタフェースに基づいてネットワークを介して所定のサービスを提供する通信装置におけるサービス提供方法であって、
前記標準インタフェースの呼び出しを要求する要求メッセージに応じ、該要求メッセージのヘッダ領域より当該要求メッセージの送信元とのセッションを識別するセッション識別情報を抽出するセッション識別情報抽出手順と、
前記セッション識別情報に基づいて前記セッションの正当性を検証するセッション検証手順と、
前記セッションの正当性が検証された場合に、前記要求メッセージにおいて呼び出しが要求されている前記標準インタフェースに応じた処理を実行するサービス実行手順とを有することを特徴とするサービス提供方法。
【請求項２１】
非標準インタフェースに基づいて前記セッションの終了要求を受け付けるセッション終了手順を更に有することを特徴とする請求項２０記載のサービス提供方法。
【請求項２２】
前記非標準インタフェースに基づいて前記セッションの開設要求を受け付けるセッション開設手順を更に有することを特徴とする請求項２１記載のサービス提供方法。
【請求項２３】
前記セッション開設手順は、前記セッションの開設要求に応じて前記セッションに対して割り当てたセッション識別情報を所定の記憶領域に保存し、
前記セッション検証手順は、前記要求メッセージのヘッダ領域より抽出されたセッション識別情報が前記所定の記憶領域に保存されている場合は、当該セッションは正当であると判断することを特徴とする請求項２２記載のサービス提供方法。
【請求項２４】
前記セッション終了手順は、前記セッションの終了要求に応じ、前記所定の記憶領域に保存されている前記セッション識別情報を無効とすることを特徴とする請求項２３記載のサービス提供方法。
【請求項２５】
所定の通信プロトコルにおける標準インタフェースに基づいてネットワークを介して所定のサービスを提供する通信装置に、
前記標準インタフェースの呼び出しを要求する要求メッセージに応じ、前記要求メッセージのヘッダ領域より当該要求メッセージの送信元に係るユーザを証明する証明情報を抽出する証明情報抽出手順と、
前記証明情報に基づいて前記ユーザの正当性を検証する証明情報検証手順と、
前記ユーザの正当性が検証された場合に、前記要求メッセージにおいて呼び出しが要求されている前記標準インタフェースに応じた処理を実行するサービス実行手順と実行させるためのサービス提供プログラム。
【請求項２６】
請求項２５記載のサービス提供プログラムを記録したコンピュータ読み取り可能な記録媒体。
【請求項２７】
所定の通信プロトコルにおける標準インタフェースに基づいてネットワークを介して所定のサービスを提供する通信装置に、
前記標準インタフェースの呼び出しを要求する要求メッセージに応じ、該要求メッセージのヘッダ領域より当該要求メッセージの送信元とのセッションを識別するセッション識別情報を抽出するセッション識別情報抽出手順と、
前記セッション識別情報に基づいて前記セッションの正当性を検証するセッション検証手順と、
前記セッションの正当性が検証された場合に、前記要求メッセージにおいて呼び出しが要求されている前記標準インタフェースに応じた処理を実行するサービス実行手順とを実行させるためのサービス提供プログラム。
【請求項２８】
請求項２７記載のサービス提供プログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、サービス提供方法、サービス提供プログラム及び記録媒体に関し、特に標準化されたインタフェースに基づいてサービスを提供する通信装置、サービス提供方法、サービス提供プログラム及び記録媒体に関する。
【背景技術】
【０００２】
近年において、Ｗｅｂサービスとして提供される各種サービスについて、そのインタフェースを標準化させようとする動向がある。ベンダごとに定義されていたインタフェースを標準化することによって、サービスを利用するクライアント側とサービスを提供するサーバ側との結合を緩やかなものとすることができ、一つのシステム内に様々なベンダから提供されたサービスを混在させることが可能となる。したがって、ユーザにとっては選択肢の幅が広がり、サービスを実現するソフトウェアのベンダにとっては更なるビジネスチャンスが期待できる。
【０００３】
なお、特許文献１には、印刷対象とするコンテンツ自体ではなく当該コンテンスのリファレンス情報をワイヤレスデバイスから送信させることで、ワイヤレスデバイスからの印刷ジョブの実行を可能とするための技術が記載されている。また、特許文献２には、認証されたクライアントに対し証明情報を発行し、当該証明情報が提示された場合に蓄積文書の出力を実行するようにすることで、蓄積文書にアクセスする複数のプロセス間で認証機能を共有することができ、かつリソースを浪費することなく蓄積文書の出力を可能とするための技術が記載されている。
【特許文献１】特開２００３−０９１３７７号公報
【特許文献２】特開２００３−３４５７１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかしながら、各ベンダとしては、他社製品との差別化を図るため、独自の機能を実装したいという欲求がある。但し、標準化されたインタフェースを独自の機能のために拡張してしまったのでは、もはや標準に準拠したインタフェースとはいえず、標準化によってもたらされる相互接続性を維持できなくなってしまうという問題がある。
【０００５】
本発明は、上記の点に鑑みてなされたものであって、標準化されたインタフェースを変更することなく、独自の機能を実現することができる通信装置、サービス提供方法、サービス提供プログラム及び記録媒体の提供を目的とする。
【課題を解決するための手段】
【０００６】
そこで上記課題を解決するため、本発明は、請求項１に記載されるように、所定の通信プロトコルにおける標準インタフェースに基づいてネットワークを介して所定のサービスを提供する通信装置であって、前記標準インタフェースの呼び出しを要求する要求メッセージに応じ、前記要求メッセージのヘッダ領域より当該要求メッセージの送信元に係るユーザを証明する証明情報を抽出し、前記証明情報に基づいて前記ユーザの正当性を検証する証明情報検証手段と、前記ユーザの正当性が検証された場合に、前記要求メッセージにおいて呼び出しが要求されている前記標準インタフェースに応じた処理を実行するサービス実行手段とを有することを特徴とする。
【０００７】
また、上記課題を解決するため、本発明は、請求項９に記載されるように、所定の通信プロトコルにおける標準インタフェースに基づいてネットワークを介して所定のサービスを提供する通信装置であって、前記標準インタフェースの呼び出しを要求する要求メッセージに応じ、該要求メッセージのヘッダ領域より当該要求メッセージの送信元とのセッションを識別するセッション識別情報を抽出し、前記セッション識別情報に基づいて前記セッションの正当性を検証するセッション情報検証手段と、前記セッションの正当性が検証された場合に、前記要求メッセージにおいて呼び出しが要求されている前記標準インタフェースに応じた処理を実行するサービス実行手段とを有することを特徴とする。
【０００８】
このような通信装置では、標準インタフェースに、ユーザを認証するための証明情報や、セッション管理を行うためのセッション識別情報を指定することができない場合であっても、標準インタフェースの呼び出しを要求するための要求メッセージのヘッダ領域より前記証明情報や前記セッション識別情報を抽出することができるため、標準インタフェースを変更することなく、認証機能やセッション管理機能等の独自の機能を実現することができる。
【０００９】
また、上記課題を解決するため、本発明は、上記通信装置におけるサービス提供方法、前記サービス提供方法を前記サービス提供装置に実行させるためのサービス提供プログラム、又は前記サービス提供プログラムを記録した記録媒体としてもよい。
【発明の効果】
【００１０】
本発明によれば、標準化されたインタフェースを変更することなく、独自の機能を実現することができる通信装置、サービス提供方法、サービス提供プログラム及び記録媒体を提供することができる。
【発明を実施するための最良の形態】
【００１１】
以下、図面に基づいて本発明の実施の形態を説明する。図１は、第一の実施の形態におけるプリントシステムの構成例を示す図である。図１に示されるように、第一の実施の形態におけるプリントシステム１は、プリントサーバ１０、認証サーバ２０、ＷＷＷサーバ３０及び端末４０等によって構成され、それぞれはＬＡＮ（Local Area Network）又はインターネット等のネットワーク（有線又は無線の別は問わない）によって相互に接続されている。
【００１２】
認証サーバ２０は、認証サービス２１が実装されているコンピュータである。認証サービス２１は、ユーザ名及びパスワード等に基づいてユーザの認証を行い、ユーザが認証された場合は、ユーザが認証された旨を証明する電子的な証明書（以下「チケット」という。）を発行する機能をＷｅｂサービスとしてネットワーク上に提供するソフトウェアである。したがって、クライアントは、認証サービス２１の関数インタフェースをＳＯＡＰのＲＰＣによって呼び出すことにより、認証サービス２１の機能を利用することができる。なお、本実施の形態において、認証サービス２１の関数インタフェースは、ベンダ独自のインタフェース（非標準インタフェース）であるとする。
【００１３】
プリントサーバ１０は、一台以上のプリンタ５０が接続されているコンピュータであり、プリントサービス１１が実装されている。プリントサービス１１は、プリントサーバ１０に接続されているプリンタ５０に対する印刷処理等の機能を標準インタフェースによるＷｅｂサービスとしてネットワーク上に提供するソフトウェアである。したがって、クライアント（ＷＷＷサーバ３０）は、プリントサービス１１における標準インタフェースをＳＯＡＰ（Simple Object Access Protocol）のＲＰＣ（Remote Procedure Call）によって呼び出すことにより、プリントサービス１１の機能を利用することができる。
【００１４】
ここで、標準インタフェースとは、標準化団体によって策定されたインタフェースや、業界標準（デファクトスタンダード）として認識されているインタフェース等、複数のベンダによって共通に提供されているインタフェースをいう。
【００１５】
但し、本実施の形態におけるプリントサービス１１には、認証サービス２１によって発行された正当なチケットを伴った要求に対してのみサービスを提供するといったセキュリティ機能と、ＷＷＷサーバ３０とのセッションの管理をおこなうための機能とが実装されている。すなわち、標準インタフェースには、これらの機能に対応したインタフェース（引数や戻り値等）は規定されていないが、プリントサービス１１は、標準インタフェースの範囲内においてこれらの機能を実現するのである。
【００１６】
なお、本実施の形態においては、標準インタフェースとしてＰＳＩ（Print Service Interface）を例とする。ＰＳＩとは、ＰＷＧ（Ｐｒｉｎｔｅｒ  Ｗｒｏｋｉｎｇ  Ｇｒｏｕｐ）よりプリントサービスの標準インタフェースとして提案されているものである。
【００１７】
ＷＷＷサーバ３０は、プリントサービス１１や認証サービス２１によるサービスを利用するためのＷｅｂページを端末４０に対して提供するコンピュータである。すなわち、ＷＷＷサーバ３０は、端末４０のＷｅｂブラウザ４１からのＨＴＴＰによる要求に応じ、プリントサービス１１や認証サービス２１の機能をＳＯＡＰのＲＰＣによって呼び出し、その結果をＷｅｂページとしてＷｅｂブラウザ４１に対して返信する。
【００１８】
端末４０は、ユーザが直接利用するＰＣ（Personal Computer）、ＰＤＡ（Personal Digital(Data) Assistants）、又は携帯電話等のＷｅｂブラウザ４１を備えた通信端末である。
【００１９】
図２は、第一の実施の形態におけるプリントシステムの機能構成例を示す図である。図２に示されるように、プリントサーバ１０のプリントサービス１１は、Ｗｅｂサーバプログラム１１１、ＳＯＡＰエンジン１１２及びプリントモジュール１１３等より構成されている。Ｗｅｂサーバプログラム１１１は、ＷＷＷサーバ３０とのＨＴＴＰによる通信を行うためのプログラムである。すなわち、本実施の形態においては、ＳＯＡＰ通信におけるトランスポート層のプロトコルにＨＴＴＰを利用した場合を例としている。したがって、ＷＷＷサーバ３０とのＳＯＡＰメッセージのやり取りは、ＨＴＴＰ上において実現される。
【００２０】
ＳＯＡＰエンジン１１２は、ＨＴＴＰメッセージに含まれているＳＯＡＰメッセージをデシリアライズし、ＳＯＡＰメッセージにおいて呼び出しが要求されているプリントモジュール１１３の関数を呼び出すことを主な機能とするモジュールである。ＳＯＡＰエンジン１１２は、また、呼び出した関数からの返却情報をＳＯＡＰメッセージにシリアライズする。当該ＳＯＡＰメッセージはＷｅｂサーバプログラム１１１を介してＷＷＷサーバ４０に対して送信される。すなわち、ＳＯＡＰエンジン１１２によって、プリントモジュール１１３の関数に対するＳＯＡＰによるＰＲＣが可能となっている。
【００２１】
プリントモジュール１１３は、標準インタフェースによってプリンタ５０に対する印刷処理等の機能を提供するモジュールである。ここで、プリントモジュールの標準インタフェースは、ＳＯＡＰエンジン１１２及びＷｅｂサーバプログラム１１１によってネットワーク上に透過的に提供されている。したがって、ＷＷＷサーバ３０は、標準インタフェースに基づいてプリントモジュール１１３の機能を呼び出すことができる。
【００２２】
認証サーバ２０の認証サービス２１は、Ｗｅｂサーバプログラム２１１、ＳＯＡＰエンジン２１２及び認証モジュール２１３等より構成されている。Ｗｅｂサーバプログラム２１１及びＳＯＡＰエンジン２１２は、プリントサービス１１におけるＷｅｂサーバプログラム１１１又はＳＯＡＰエンジン１１２と同様の役割を担うものであり、これらによって、認証モジュール２１３の関数に対するＳＯＡＰによるＲＰＣが可能となっている。認証モジュール２１３は、ベンダ独自の関数インタフェースによって認証機能を提供するモジュールである。
【００２３】
ＷＷＷサーバ３０は、ｈｔｔｐｄ３１、サーバサイドオブジェクト３２、ＸＳＬプロセッサ３３、ＸＭＬパーサ３４及びＳＯＡＰプロキシ３５等より構成されている。ｈｔｔｐｄ３１は、Ｗｅｂブラウザ４１からのＨＴＴＰリクエストに対応する処理をサーバサイドオブジェクト３２に実行させ、その処理結果としてサーバサイドオブジェクト３２より出力されるＨＴＭＬ形式等のＷｅｂページをＷｅｂブラウザ４１に返信するためのプログラムである。サーバサイドオブジェクト３２は、Ｗｅｂブラウザ４１からのＨＴＴＰリクエストに対応した処理を実行するいわゆるＷｅｂアプリケーションである。ＸＳＬプロセッサ３３は、ＸＭＬデータをＸＳＬデータに従って変換するためのモジュールである。ＸＭＬパーサ３４は、テキストで記載されたＸＭＬデータをツリー構造でメモリに展開し、他のアプリケーションで扱い易くするためのモジュールである。
【００２４】
ＳＯＡＰプロキシ３５は、プリントサービス１１における標準インタフェースや認証サービス２１における認証インタフェースをサーバサイドオブジェクト３２に対して透過的に提供するためのモジュールである。すなわち、ＳＯＡＰプロキシ３５は、標準インタフェースや認証インタフェースと同一の仕様に従った関数インタフェースをサーバサイドオブジェクト３２に対して提供する。ＳＯＡＰプロキシ３５は、当該関数の呼び出しに応じて、標準インタフェース又は認証インタフェースの呼び出しを要求するＳＯＡＰメッセージを含むＨＴＴＰリクエストをプリントサービス１１又は認証サービス２１に対して送信し、返信されたＨＴＴＰレスポンスに含まれている返却情報をサーバサイドオブジェクト３５に対して出力する。
【００２５】
プリンサービス１１のＳＯＡＰエンジン１１２及びプリントモジュール１１３について更に詳しく説明する。図３は、プリントサービスにおけるＳＯＡＰエンジン及びプリントモジュールの機能構成例を示す図である。図３において、ＳＯＡＰエンジン１１２は、メッセージ処理部１１２１、ヘッダ解析部１１２２及びコンフィギュレーションファイル１１２３等を有している。メッセージ処理部１１２１は、ＳＯＡＰメッセージのシリアライズ及びデシリアライズや、ＳＯＡＰメッセージにおいて呼び出しが要求されているプリントモジュール１１３の関数の呼び出し等、ＲＰＣを可能とする機能である。
【００２６】
ヘッダ解析部１１２２は、ＳＯＡＰメッセージ内のＳＯＡＰヘッダを解析し、後述されるように、ＳＯＡＰヘッダに含まれている独自の機能を実現するための情報に基づいて当該独自の機能を実現するための処理を実行する機能であり、セッション管理部１１２２ａ及び認証サービス接続部１１２２ｂ等より構成される。セッション管理部１１２２ａは、ＷＷＷサーバ３０とのセッションの管理を行う機能である。認証サービス接続部１１２２ｂは、チケットに基づくセキュリティ機能を実現するための機能である。コンフィギュレーションファイル１１２３は、ヘッダ解析部１１２２の呼び出し方法に関する情報（
呼び出し情報）が登録されているファイルである。ヘッダ解析部１１２２は、メッセージ処理部１１２１がＳＯＡＰメッセージを処理する際に、メッセージ処理部１１２１によって呼び出される。メッセージ処理部１１２１は、コンフィギュレーションファイル１１２３を参照することによりヘッダ解析部１１２２を呼び出すべき旨、及びその呼び出し方法を判断する。
【００２７】
すなわち、本実施の形態において、ヘッダ解析部１１２２は、ＳＯＡＰエンジン１１２の拡張機能として実装されているものである。市販されているＳＯＡＰエンジンにおいては、ＳＯＡＰメッセージを処理する際に、所定のインタフェースによる関数を呼び出す機能を有するものがある。ここで、所定のインタフェースによる関数は、例えば、ハンドラ関数とも呼ばれ、ヘッダ解析部１１２２についても、かかるハンドラ関数として実装することができる。ハンドラ関数内においてはＳＯＡＰメッセージにアクセスすることが可能であり、ＳＯＡＰヘッダに付加されている独自の機能を実現するための情報を参照することもできる。なお、ヘッダ解析部１１２２がハンドル関数として実装されている場合は、コンフィギュレーションファイル１１２２には、呼び出し情報として当該ハンドル関数が実装されているＤＬＬ（Dynamic Link Library）のファイル名等が登録される。
【００２８】
一方、図３において、プリントモジュール１１３は、プリンタ一覧取得部１１３１、ジョブ生成部１１３２、印刷処理部１１３３、及びジョブ制御部１１３４等を有している。プリンタ一覧取得部１１３１は、利用可能なプリンタの一覧情報を取得する機能である。ジョブ生成部１１３２は、印刷要求がなされた際に印刷ジョブを生成する機能である。印刷処理部１１３３は、印刷ジョブに基づいてプリンタ５０に印刷処理を実行させる機能である。ジョブ制御部１１３４は、印刷ジョブのキャンセル、又は中止等、印刷ジョブに対する各種の制御を行う機能である。これらの機能は、標準インタフェースを介して呼び出される。
【００２９】
次に、プリントサーバ１０のハードウェア構成について説明する。図４は、本発明の実施の形態におけるプリントサーバのハードウェア構成例を示す図である。図４のプリントサーバ１０は、それぞれバスBで相互に接続されているドライブ装置１００と、補助記憶装置１０２と、メモリ装置１０３と、演算処理装置１０４と、インタフェース装置１０５とを有するように構成される。
【００３０】
プリントサーバ１０での処理を実現するプログラムは、ＣＤ−ＲＯＭ等の記録媒体１０１によって提供される。プログラムを記録した記録媒体１０１がドライブ装置１００にセットされると、プログラムが記録媒体１０１からドライブ装置１００を介して補助記憶装置１０２にインストールされる。補助記憶装置１０２は、インストールされたプログラムを格納すると共に、必要なファイルやデータ等を格納する。メモリ装置１０３は、プログラムの起動指示があった場合に、補助記憶装置１０２からプログラムを読み出して格納する。演算処理装置１０４は、メモリ装置１０３に格納されたプログラムに従ってプリントサーバ１０に係る機能を実行する。インタフェース装置１０５は例えばモデム、ルータ等で構成され、ネットワークに接続するために用いられる。
【００３１】
なお、認証サーバ２０やＷＷＷサーバ３０についても、図４に示したプリントサーバ１０と同様の構成によるものを用いてもよい。
【００３２】
以下、図２のプリントシステム１の処理手順について説明する。図５は、第一の実施の形態におけるプリントシステムの処理を説明するためのシーケンス図である。図５においては、端末４０のユーザが、利用可能なプリンタの一覧情報を閲覧しようとした場合を例として、プリントサービス１１が、標準インタフェースを維持したまま、どのようにしてチケットを用いたセキュリティ機能と、ＷＷＷサーバ３０とのセッションの管理機能を実現するかについて説明する。
【００３３】
ステップＳ１０１において、Ｗｅｂブラウザ４１は、ユーザからの入力に基づいて、利用可能なプリンタの一覧情報を表示するＷｅｂページ（以下、「プリンタ一覧ページ」という。）を要求するＨＴＴＰリクエストをＷＷＷサーバ３０に対して送信する。ここで、ユーザからの入力とは、具体的には、プリンタ一覧ページに対するＵＲＬの入力等が相当する。なお、図中においては便宜上省略されているが、プリンタ一覧ページに対してはパスワードが設定されているため、ＷＷＷサーバ３０のｈｔｔｐｄ３１は、Ｗｅｂブラウザ４１からのプリンタ一覧ページの送信要求に基づいて、パスワードの入力を要求するＷｅｂページ（以下、「ログインページ」という。）をＷｅｂブラウザ４１に送信する。Ｗｅｂブラウザ４１においてログインページに対して入力されたユーザ名及びパスワードは、ＷＷＷサーバ３０に送信される。
【００３４】
ステップＳ１０１に続いてステップＳ１０２に進み、Ｗｅｂブラウザ４１からのＨＴＴＰリクエストに基づいてｈｔｔｐｄ３１によって呼び出されたサーバサイドオブジェクト３２は、ユーザ名及びパスワードを引数として認証サービス２１における認証モジュール２１３の認証メソッドの呼び出しを要求するＳＯＡＰメッセージ（ＳＯＡＰリクエスト）を、ＳＯＡＰプロキシ３５を介して送信することにより、認証サービス２１に対してユーザの認証を要求する。
【００３５】
ステップＳ１０２に続いてステップＳ１０３に進み、認証サービス２１のＳＯＡＰエンジン２１２によってＳＯＡＰメッセージが解析され、認証モジュール２１３の認証メソッドが呼び出されると、認証モジュール２１３は、ユーザ名及びパスワードに基づいてユーザの認証を行う。ユーザが認証された場合は、ステップＳ１０３に続いてステップＳ１０４に進み、認証モジュール２１３は、ユーザが認証された旨を証明するチケットを生成し、当該チケットを含むＳＯＡＰメッセージ（ＳＯＡＰレスポンス）をＷＷＷサーバ３０に対して送信する。チケットには、例えば、当該チケットを識別するチケットＩＤ、当該チケットが有効なサービスを示す有効範囲、当該チケットによってサービスを利用できる有効期限、ユーザＩＤ、及び改竄チェック用のコード等が記録される。また、チケットは、その内容を認証モジュール２１３のみが参照可能なように暗号化されている。
【００３６】
ステップＳ１０４に続いてステップＳ１０５に進み、認証モジュール２１３からのＳＯＡＰレスポンスよりチケットを取得したサーバサイドオブジェクト３２は、プリントサービス１１におけるプリントモジュール１１３のプリンタ一覧取得メソッドの呼び出しを要求するＳＯＡＰメッセージ（ＳＯＡＰリクエスト）を、ＳＯＡＰプロキシ３５を介して送信することにより、プリントサービス１１に対してプリンタ一覧の提供を要求する。
【００３７】
上述したように、本実施の形態における印刷サービス１１３は、正当なチケットを伴った要求に対してのみサービスを提供するように実装されている。したがって、サーバサイドオブジェクト３２又はＳＯＡＰプロキシ３５は、ＳＯＡＰリクエストにチケットを含める必要がある。しかし、チケットはベンダ独自の情報であるところ、プリントモジュール１１３のプリンタ一覧取得メソッドは、標準インタフェースの一つであり、チケットを指定するためのインタフェース（引数）を有していない。そこで、本実施の形態におけるＳＯＡＰプロキシ３５は、ＳＯＡＰヘッダにチケットを付加することにより、標準インタフェースを維持しつつ、独自の機能を実現するための情報をＳＯＡＰリクエストに付加する。また、ＳＯＡＰプロキシ３５は、プリントサービス１１がチケットの発行元を認識できるように、チケットの発行元である認証サービス２１を識別するための情報として、認証サービス２１に対するＵＲＩをＳＯＡＰヘッダに付加する。
【００３８】
図６は、一般的なＳＯＡＰメッセージの構造を説明するための図である。図６に示されるように、一般的なＳＯＡＰメッセージは、ＳＯＡＰエンベロープと呼ばれる仮想的な封筒内に記述され、その内容はＳＯＡＰヘッダとＳＯＡＰボディとから構成される。ＳＯＡＰヘッダは、付加的な情報が記述される部分である。ＳＯＡＰボディは、当該ＳＯＡＰメッセージがリクエストメッセージの場合はメソッドの呼び出し情報が記述され、レスポンスメッセージの場合は処理結果（戻り値等）が記述される。本実施の形態においてはかかるＳＯＡＰヘッダを利用して、独自の機能を実現するための情報をＳＯＡＰメッセージに付加しようというわけである。
【００３９】
図７は、プリンタ一覧取得メソッドの呼び出しを要求するＳＯＡＰメッセージの例を示す図である。図７のＳＯＡＰメッセージ２００において、＜Ｈｅａｄｅｒ＞タグで囲まれたＨｅａｄｅｒ要素２１０がＳＯＡＰヘッダである。Ｈｅａｄｅｒ要素２１０には、子要素として、ａｕｔｈＴｉｃｈｅｔ要素２１１とａｕｔｈＵＲＩ要素２１３とが含まれている。ａｕｔｈＴｉｃｋｅｔ要素２１１は、チケットを値として有する要素であり、符号２１２によって示される部分にシリアライズされたチケット２１２が含まれている。ａｕｔｈＵＲＩ要素２１３は、認証サービス２１に対するＵＲＩを値として有する要素であり、符号２１４によって示される部分に認証サービス２１に対するＵＲＩが含まれている。
【００４０】
一方、＜Ｂｏｄｙ＞タグで囲まれたＢｏｄｙ要素２２０は、ＳＯＡＰボディであり、標準インタフェースとして規定されたプリンタ一覧取得メソッドの呼び出し情報の本体部分である。すなわち、符号２１１で示されるタグのタグ名「ｇｅｔＫｏｗｎＴａｒｇｅｔＤｅｖｉｃｅｓ」は、プリンタ一覧取得メソッドのメソッド名である。また、符号２２２に示される部分には、プリンタ一覧取得メソッドに対する引数が含まれている。
【００４１】
ステップＳ１０５に続いてステップＳ１０６に進み、プリントサービス１１のＳＯＡＰエンジン１１２におけるメッセージ処理部１１２１が、コンフィギュレーションファイル１１２３を参照してヘッダ解析部１１２２を呼び出すと、ヘッダ解析部１１２２の認証サービス接続部１１２２ｂは、ＳＯＡＰメッセージ２００のＳＯＡＰヘッダよりチケットと認証サービス２１に対するＵＲＩを抽出する。ステップＳ１０６に続いてステップＳ１０７に進み、認証サービス接続部１１２２ｂは、取り出したチケットを引数として認証サービス２１における認証モジュール２１３のチケット検証メソッドの呼び出しを要求するＳＯＡＰメッセージ（ＳＯＡＰリクエスト）を送信することにより、認証サービス２１に対してチケットの正当性の検証を要求する。なお、認証サービス接続部１１２２ｂは、ＳＯＡＰヘッダより抽出したＵＲＩに基づいて認証サービス２１を特定する。
【００４２】
ステップＳ１０７に続いてステップＳ１０８に進み、認証モジュール２１３は、チケットの正当性を検証する。例えば、チケットの有効期限が切れていないか、チケットが改竄されていないか等が検証される。ステップＳ１０８に続いてステップＳ１０９に進み、認証モジュール２１３は、チケットの検証結果を含むＳＯＡＰメッセージ（ＳＯＡＰレスポンス）をＳＯＡＰエンジン２１２及びＷｅｂサーバプログラム２１１を介してプリントサービス１１に対して送信する。
【００４３】
認証サービス２１からのチケットの検証結果においてチケットが不正であった旨が示されている場合は、認証サービス接続部１１２２ｂは、エラーを示すＳＯＡＰメッセージ（ＳＯＡＰ  Ｆａｕｌｔ）をプリンタ一覧取得メソッドの返却情報としてＷＷＷサーバ３０に対して送信し、サービスの提供を拒絶する。一方、チケットの検証結果においてチケットの正当性が検証された旨が示されている場合は、ステップＳ１０９に続いてステップＳ１１０に進み、ヘッダ解析部１１２２のセッション管理部１１２２ａは、ＷＷＷサーバ３０のサーバサイドオブジェクト３２とのセッションを開設し、当該セッションに対するセッションＩＤを割り当てる（セッションＩＤの発行）。発行されたセッションＩＤは、例えば、所定のデータベースやファイル内のデータとして管理される。
【００４４】
ステップＳ１１０に続いてステップＳ１１１に進み、メッセージ処理部１１２１によってプリントモジュール１１３のプリンタ一覧取得メソッドが呼び出されると、プリントモジュール１１３のプリンタ一覧取得部１１３１は、プリントサーバ１０に接続しているプリンタの一覧情報（プリンタ一覧）を取得し、当該プリンタ一覧をメッセージ処理部１１２１に対して出力する。ステップＳ１１１に続いてステップＳ１１２に進み、メッセージ処理部１１２１は、プリンタ一覧をシリアライズし、シリアライズされたプリンタ一覧を含むＳＯＡＰメッセージ（ＳＯＡＰレスポンス）をＷＷＷサーバ３０に対して送信する。
【００４５】
ここで、ステップＳ１１０において開設されたセッションを維持するためには、ＷＷＷサーバ３０に対してセッションＩＤを通知する必要がある。しかし、セッションの管理機能は、ベンダ独自の機能であるところ、プリンタ一覧取得メソッドは標準インタフェースの一つであるため、セッションＩＤを返却するためのインタフェース（戻り値）を有していない。そこで、本実施の形態におけるメッセージ処理部１１２１は、ヘッダ解析部１１２２を呼び出し、ヘッダ解析部１１２２のセッション管理部１１２２ａにＳＯＡＰヘッダに対するセッションＩＤの付加を行わせることにより、標準インタフェースを維持しつつ、セッションの管理機能を実現するための情報をＳＯＡＰレスポンスに含める。
【００４６】
図８は、プリンタ一覧取得メソッドの返却情報を含むＳＯＡＰメッセージの例を示す図である。図８のＳＯＡＰメッセージ３００において、Ｈｅａｄｅｒ要素３１０には、ｓｅｓｓｉｏｎＩＤ要素３１１が子要素として含まれている。ｓｅｓｓｉｏｎＩＤ要素３１１は、セッションＩＤを値として有する要素であり、符号３１２によって示される部分にセッションＩＤが含まれている。
【００４７】
一方、Ｂｏｄｙ要素３２０には、プリンタ一覧取得メソッドの返却情報が標準インタフェースに従って含まれている。すなわち、符号３２１に示されるｉｔｅｍ要素には、一台分のプリンタ５０に関する情報が示されている。したがって、複数のプリンタ５０に対する情報が取得された場合には、ｉｔｅｍ要素３２１と同様の要素が複数含まれることになる。
【００４８】
ステップＳ１１２に続いてステップＳ１１３に進み、ＷＷＷサーバ３０のＳＯＡＰプロキシ３５は、受信したＳＯＡＰレスポンスのＳＯＡＰヘッダよりセッションＩＤを抽出し、ＷＷＷサーバ３０上において管理する。また、ＳＯＡＰプロキシ３５は、ＳＯＡＰレスポンスに含まれているプリンタ一覧をデシリアライズし、デシリアライズされたプリンタ一覧をサーバサイドオブジェクト３２に対して出力する。ステップＳ１１３に続いてステップＳ１１４に進み、サーバサイドオブジェクト３２は、ＳＯＡＰプロキシ３５より出力されたプリンタ一覧に基づいてプリンタ一覧ページを生成する。生成されたプリンタ一覧ページはｈｔｔｐｄ３１によってＷｅｂブラウザ４１に対して送信され、Ｗｅｂブラウザ４１によって表示される。
【００４９】
ここで、表示されたプリンタ一覧ページにおいて、ユーザがなんらかの操作を行った場合を想定する。
【００５０】
ステップＳ１１５に進み、Ｗｅｂブラウザ４１は、ユーザによる操作に基づいて当該操作に対応したＨＴＴＰリクエストをＷＷＷサーバ３０に対して送信する。ステップＳ１１５に続いてステップＳ１１６に進み、ＨＴＴＰリクエストに基づいてｈｔｔｐｄ３１によって呼び出されたサーバサイドオブジェト３２は、ＨＴＴＰリクエストにおいて要求されている処理を実行するための標準インタフェースを呼び出す。すなわち、ＳＯＡＰプロキシ３５が、当該標準インタフェースの呼び出しを要求するためのＳＯＡＰリクエストをプリントサービス１１に対して送信する。
【００５１】
ここで、プリントサービス１１とのセッションを維持するためには、ＳＯＡＰプロキシ３５は、ＷＷＷサーバ３０において管理されているセッションＩＤをプリントサービス１１に対して通知する必要がある。しかし、標準インタフェースは、セッションＩＤを通知するためのインタフェースを有していない。そこで、本実施の形態におけるＳＯＡＰプロキシ３５は、ＳＯＡＰヘッダにセッションＩＤを付加することにより、標準インタフェースを維持しつつ、セッションＩＤをプリントサービス１１に通知する。
【００５２】
ステップＳ１１６に続いてステップＳ１１７に進み、プリントサービス１１のＳＯＡＰエンジン１１２におけるメッセージ処理部１１２１が、コンフィギュレーションファイル１１２３を参照してヘッダ解析部１１２２を呼び出すと、ヘッダ解析部１１２２のセッション管理部１１２２ａは、ＳＯＡＰリクエストのＳＯＡＰヘッダよりセッションＩＤを抽出し、セッションＩＤの正当性を検証する。セッションＩＤが正当なものであることが検証された場合は、ステップＳ１１７に続いてステップＳ１１８に進み、メッセージ処理部１１２１によって要求されている標準インタフェースが呼び出され、プリントモジュール１１３によって当該標準インタフェースに応じた処理が実行される。更に、処理結果がＷＷＷサーバ３０に送信され（Ｓ１１７）、処理結果を表示するＷｅｂページがＷｅｂブラウザ４１に対して送信される（Ｓ１１８）。
【００５３】
以降において、ユーザが何らかの操作を行った場合は、ステップＳ１１５〜ステップＳ１１８と同様の処理によってＷＷＷサーバ３０とプリントサービス１１とのセッションが維持される。したがって、シングルサインオン等の実現も可能である。
【００５４】
なお、図５において説明した処理の概要をフローチャートに表すと図９のようになる。図９は、第一の実施の形態におけるプリントシステムの処理概要を示すフローチャートである。
【００５５】
ステップＳ１５１においてＷＷＷサーバ３０は、プリンタ一覧ページを要求するＨＴＴＰリクエストを受信すると、ＷＷＷサーバ３０とプリントサービス１１とのセッションが既に開設済みか否かを判断する（Ｓ１５２）。セッションがまだ開設されていない場合は、ＷＷＷサーバ３０は認証サービス２１に対してユーザの認証要求を行う（Ｓ１５３）。認証サービス２１は、ユーザの認証を行い、認証された場合はＷＷＷサーバ３０に対してチケットが発行される（Ｓ１５９）。なお、認証されなかった場合は、エラーを通知するＷｅｂページ（以下、「エラーページ」という。）がＷｅｂブラウザ４１に表示される。
【００５６】
チケットを取得したＷＷＷサーバ３０は、当該チケットをＳＯＡＰヘッダに付加して、プリンタ一覧取得メソッドの呼び出しを要求するＳＯＡＰリクエストをプリントサービス１１に対して送信する（Ｓ１６０）。ＳＯＡＰリクエストを受信したプリントサービス１１は、ＳＯＡＰヘッダより抽出したチケットの正当性を認証サービス２１に検証させ（Ｓ１６１）、チケットが正当であった場合は、セッションＩＤを発行する（Ｓ１６２）。なお、チケットが不正だった場合は、エラーページがＷｅｂブラウザ４１に表示される。
【００５７】
その後、プリントサービス１１はプリンタ一覧を取得し（Ｓ１５５）、当該プリンタ一覧がＷＷＷサーバ３０に対して送信されると、ＷＷＷサーバ３０において生成されたプリンタ一覧ページがＷｅｂブラウザ４１において表示される（Ｓ１５６）。
【００５８】
一方、ステップＳ１５２において、既にセッションは開設済みであると判断された場合は、ＷＷＷサーバ３０は、既に発行され、保存されているセッションＩＤをＳＯＡＰヘッダに付加して、プリンタ一覧取得メソッドの呼び出しを要求するＳＯＡＰリクエストをプリントサービス１１に対して送信する（Ｓ１５３）。ＳＯＡＰリクエストを受信したプリントサービス１１は、ＳＯＡＰヘッダより抽出したセッションＩＤの正当性を検証し（Ｓ１５４）、セッションＩＤが正当であった場合はプリンタ一覧を取得する（Ｓ１５５）。その後、プリンタ一覧ページがＷｅｂブラウザ４１において表示される（Ｓ１５６）。なお、セッションＩＤが不正だった場合は、エラーページがＷｅｂブラウザ４１に表示される。
【００５９】
上述したように第一の実施の形態におけるプリントシステム１によれば、ＳＯＡＰヘッダにチケット又はセッションＩＤ等を指定することにより、チケットやセッションＩＤをＷＷＷサーバ３０とプリントサービス１１との間でやりとりすることができる。したがって、ＳＯＡＰメッセージにおいて標準インタフェースとして規定されている部分（Ｂｏｄｙ要素）の仕様を拡張することなく、チケットによる認証機能やセッションの管理機能を実現することができる。なお、第一の実施の形態においては、チケットによる認証機能を例として説明したが、ユーザの証明情報としてプリントサービス１１に対して提示する情報は、一般によく利用されているユーザ名及びパスワードであってもよいし、その他、指紋データ等であってもよい。その場合は、ユーザ名及びパスワードや、指紋データをＳＯＡＰヘッダに含めるようにすればよい。
【００６０】
ところで、上述した第一の実施の形態におけるプリントシステム１においては、WWWサーバ３０とプリントサービス１１とのセッションの開設及び維持をすることができるが、セッションの終了をプリントサービス１１に明確に認識させることができない。すなわち、標準インタフェースには、セッションの管理機能を意識したインタフェースは規定されておらず、セッションの終了を受け付けるためのインタフェース（関数）も規定されていないからである。従って、ユーザからの指示に基づいて、Ｗｅｂブラウザ４１がログアウトを要求するＨＴＴＰリクエストをＷＷＷサーバ３０に対して送信したとしても、ＷＷＷサーバ３０からプリントサービス１１に対してセッションの終了を通知するための手段は無いため、セッションを終了すべきことを認識できるのはＷＷＷサーバ３０のみである。その結果、セッションを管理しているプリントサービス１１においては、タイムアウトが発生するまでセッションが有効なものとして扱われてしまう。そこで、第二の実施の形態として、プリントサービス１１がセッションの終了を明確に認識できるようにした例を説明する。
【００６１】
図１０は、第二の実施の形態におけるプリントシステムの構成例を示す図である。図１０中、図１と同一部分には同一符号を付し、その説明は省略する。図１０に示されるように、第二の実施の形態におけるプリントサーバ１０にはセッション管理サービス１２とセッション管理領域１３とが更に追加されている。セッション管理サービス１２は、ＷＷＷサーバ３０とプリントサービス１１とのセッションの管理機能をＷｅｂサービスとしてネットワーク上に提供するソフトウェアである。したがって、クライアントは、セッション管理サービス１２の関数インタフェースをＳＯＡＰのＲＰＣによって呼び出すことにより、セッション管理サービス１２の機能を利用することができる。セッション管理サービス１２は、ベンダ独自の機能であるため、その関数インタフェースはベンダ独自のものである。
【００６２】
セッション管理領域１３は、セッション管理サービス１２によって発行されたセッションＩＤを管理するためのデータベースやファイル等の保存領域である。セッション管理域１３は、プリントサービス１１及びセッション管理サービス１２の双方からアクセス可能である必要がある。なお、図１０においては、プリントサービス１１とセッション管理サービス１２とが同一のハードウェア（プリントサーバ１０）に実装されている例を示しているが、セッション管理サービス１２を別のコンピュータに実装してもよい。
【００６３】
図１１は、第二の実施の形態におけるプリントシステムの機能構成例を示す図である。図１１中、図２と同一部分には同一符号を付し、その説明は省略する。図１１に示されるように、セッション管理サービス１２は、Ｗｅｂサーバプログラム１２１、ＳＯＡＰエンジン１２２及びセッション管理モジュール１２３等より構成されている。Ｗｅｂサーバプログラム１２１及びＳＯＡＰエンジン１２２は、プリントサービス１１におけるＷｅｂサーバプログラム１１１又はＳＯＡＰエンジン１１２と同様の役割を担うものであり、これらによって、セッション管理モジュール１２３の関数に対するＳＯＡＰによるＲＰＣが可能となっている。セッション管理モジュール１２３は、ベンダ独自の関数インタフェース（セッション管理インタフェース）によってセッションの管理機能を提供するモジュールである。例えば、セッション管理モジュール１２３は、セッションの開設要求を受け付けるためのセッション開設メソッドや、セッションの終了要求を受け付けるためのセッション終了メソッド等を有している。
【００６４】
以下、第二の実施の形態におけるプリントシステム１の処理手順について説明する。図１２は、第二の実施の形態におけるプリントシステムの処理を説明するためのシーケンス図である。図１２においても、端末４０のユーザが、利用可能なプリンタの一覧情報を閲覧しようとした場合を例として説明する。なお、図１２の初期段階において、ＷＷＷサーバ３０とプリントサービス１１とのセッションはまだ開設されていないものとする。
【００６５】
ステップＳ２０１〜Ｓ２０４までは、ステップＳ１０１〜Ｓ１０４（図５）までの処理と同様である。すなわち、Ｗｅｂブラウザ４１からのプリンタ一覧ページを要求するＨＴＴＰリクエストに基づいて（Ｓ２０１）、ＷＷＷサーバ３０は、認証サービス２１に対してユーザの認証を要求することにより（Ｓ２０２）、認証サービス２１よりチケットを取得する（Ｓ２０３、Ｓ２０４）。
【００６６】
ステップＳ２０４に続いてステップＳ２０５に進み、ＷＷＷサーバ３０のサーバサイドオブジェクト３２は、セッション管理サービス１２におけるセッション管理モジュール１２３のセッション開設メソッドの呼び出しを要求するＳＯＡＰメッセージ（ＳＯＡＰリクエスト）を、ＳＯＡＰプロキシ３５を介して送信することにより、セッション管理サービス１２に対してセッションの開設を要求する。なお、セッション開設メソッドはチケットを意識した独自のインタフェースであるため、その引数としてチケットが指定され得る。
【００６７】
ステップＳ２０５に続いてステップＳ２０６〜Ｓ２０９までは、ステップＳ１０７〜Ｓ１１０においてプリントサービス１１が行っていた処理をセッション管理サービス１２が行うこと、また、チケットはＳＯＡＰヘッダではなくセッション開設メソッドの引数に指定されていることを除いてほぼ同様の処理である。すなわち、セッション開設メソッドを呼び出されたセッション管理モジュール１２３は、引数に指定されているチケットの正当性の検証を認証サービス２１に対して要求する（Ｓ２０６）。更に、セッション管理モジュール１２３は、チケットの正当性が検証された旨を受信すると（Ｓ２０７、Ｓ２０８）、プリントサービス１１とＷＷＷサーバ３０とのセッションを開設し、当該セッションに対するセッションＩＤを発行する。セッション管理モジュール１２３は、発行したセッションＩＤを、セッション管理領域１３に保存する（Ｓ２０９）。
【００６８】
ステップＳ２０９に続いてステップＳ２１０に進み、セッション管理モジュール１２３は、ＳＯＡＰエンジン１２２等を介して、セッションＩＤを戻り値又は出力パラメータとして含むＳＯＡＰメッセージ（ＳＯＡＰレスポンス）をＷＷＷサーバ３０に対して送信する。ＷＷＷサーバ３０のサーバサイドオブジェクト３２は、セッション開設メソッドの戻り値又は出力パラメータとして返却されたセッションＩＤをＷＷＷサーバ３０上において管理する。
【００６９】
ステップＳ２１０に続いてステップＳ２１１に進み、サーバサイドオブジェクト３２は、セッションが正常に開設されたことを受けて、プリントサービス１１におけるプリントモジュール１１３のプリンタ一覧取得メソッドの呼び出しを要求するＳＯＡＰメッセージ（ＳＯＡＰリクエスト）を、ＳＯＡＰプロキシ３５を介して送信することにより、プリントサービス１１に対してプリンタ一覧の提供を要求する。ここで、ＳＯＡＰプロキシ３５は、ステップＳ２０９において発行されたセッションＩＤを標準インタフェースの範囲内でプリントサービス１１に通知すべく、ステップＳ１１６と同様に、ＳＯＡＰリクエストのＳＯＡＰヘッダにセッションＩＤを付加する。
【００７０】
ステップＳ２１１に続いてステップＳ２１２に進み、プリントサービス１１のプリントサービス１１のＳＯＡＰエンジン１１２におけるメッセージ処理部１１２１が、コンフィギュレーションファイル１１２３を参照してヘッダ解析部１１２２を呼び出すと、ヘッダ解析部１１２２のセッション管理部１１２２ａは、ＳＯＡＰリクエストのＳＯＡＰヘッダよりセッションＩＤを抽出し、セッションＩＤが正当なものであるか、すなわち、ステップＳ２０９においてセッション管理領域１３に保存されたセッションＩＤと同一のものであるか等を検証する。セッションＩＤが正当なものであることが検証された場合は、ステップＳ２１２に続いてステップＳ２１３に進み、メッセージ処理部１１２１によってプリンタ一覧取得メソッドが呼び出され、プリントモジュール１１３のプリンタ一覧取得部１１３１によってプリンタ一覧の取得が実行される。更に、プリンタ一覧がＷＷＷサーバ３０に送信され（Ｓ２１４）、プリンタ一覧ページがＷｅｂブラウザ４１に対して送信される（Ｓ２１５）。
【００７１】
続いて、ユーザによってログアウトが指示されると、ステップＳ２１６に進み、Ｗｅｂブラウザ４１は、ログアウトを要求するＨＴＴＰリクエストをＷＷＷサーバ３０に対して送信する。ステップＳ２１６に続いてステップＳ２１７に進み、ＷＷＷサーバ３０のサーバサイドオブジェクト３２は、セッション管理サービス１２におけるセッション管理モジュール１２３のセッション終了メソッドの呼び出しを要求するＳＯＡＰメッセージ（ＳＯＡＰリクエスト）を、ＳＯＡＰプロキシ３５を介して送信することにより、セッション管理サービス１２に対してセッションの終了を要求する。
【００７２】
ステップＳ２１７に続いてステップＳ２１８に進み、セッション管理サービス１２のセッション管理モジュール１２３は、セッション管理領域１３に保存されているセッションＩＤの破棄や、セッションを管理するためのメモリ領域の解放等の処理を実行する。ステップＳ２１８に続いてステップＳ２１９に進み、セッション管理モジュール１２３は、セッションを終了させた旨を通知するＳＯＡＰメッセージをＳＯＡＰエンジン１２２等を介してＷＷＷサーバ３０に対して送信する。ステップＳ２１９に続いてステップＳ２２０に進み、サーバサイドオブジェクト３２は、再びログインさせるためのログインページをｈｔｔｐｄ３１を介してＷｅｂブラウザ４１に送信する。
【００７３】
上述したように、第二の実施の形態におけるプリントシステム１によれば、セッション終了メソッドを有するセッション管理サービス１２が。セッション終了メソッドの呼び出しに基づいてセッションの終了を認識し、セッションＩＤ等、セッション管理に必要な情報を破棄することができる。したがって、ユーザによってログアウトが指示された場合等に、適切にセッションを終了させることができ、その後、プリントシステム１１において当該セッションが有効なものとして扱われることを防止することができる。
【００７４】
なお、本実施の形態においては、クライアント側（ＷＷＷサーバ３０）が、チケットによる認証やセッション管理を認識している例について説明した。すなわち、ＷＷＷサーバ３０は、プリントサービス１１に対してＳＯＡＰリクエストを送信する際に、ＳＯＡＰヘッダにチケットやセッションＩＤを指定すべきことを知っており、また、プリントサービス１１より送信されるＳＯＡＰレスポンスのＳＯＡＰヘッダにセッションＩＤが含まれていることを知っている。そのため、セッションが適切に維持され、チケットによる認証機能も実現されているのである。
【００７５】
しかし、このことをもって、プリントサービス１１が、かかるクライアントだけにしかそのサービスを提供できないことを直ちに意味するものではない。すなわち、プリントサービス１１は、クライアントからのＳＯＡＰリクエストのＳＯＡＰヘッダにチケットやセッションＩＤが含まれていない場合には、当該クライアントは、ベンダ独自の機能であるチケットによる認証機能やセッション管理機能については認識していないものであるとして判断すればよく、独自の機能は省略して、要求されたサービス（例えば、プリンタ一覧の提供等）のみを提供すればよいからである。したがって、プリントサービス１１は、当該独自の機能を認識していない他のクライアントからの要求に対しても適切にサービスを提供することができ、相互接続性は十分保証され得るのである。
【００７６】
ところで、近年においては、ある特定の機能に特化した組み込み機器においてもＷｅｂサーバとして機能するもの等、コンピュータと同等の情報処理を実行することができるものが提供されている。例えば、融合機、又は複合機と呼ばれる、プリンタ、コピー、又はファクシミリ等の複合サービスに固有の処理を行う複数のアプリケーションを有する画像形成装置もかかる機器に該当する。
【００７７】
したがって、このような画像形成装置を用いて、本実施の形態におけるプリントシステム１を構成しても本発明の効果を同様に得ることができる。例えば、図１３は、プリントサーバに画像形成装置を用いて構成したプリントシステムの構成例を示す図である。図１３中、図１と同一部分には同一符号を付し、その説明は省略する。図１３に示されるプリントシステム２においては、プリントサーバ１０の代わりに画像形成装置６０が構成要素となっている。そして、画像形成装置６０には、プリントサーバ１０に実装されていたものと同様の標準インタフェースに基づいてサービスを提供するプリントサーバ１１が実装されている。したがって、画像形成装置６０によっても、標準インタフェースを維持したままベンダ独自の機能を実現することができる。
【００７８】
また、第一及び第二の実施の形態におけるプリントサーバ１０、認証サーバ２０及びＷＷＷサーバ３０の全ての機能を画像形成装置６０に実装してもよい。図１４は、画像形成装置に全ての機能を実装したプリントシステムの構成例を示す図である。図１４中、図１、図１０又は図１３と同一部分には同一符号を付し、その説明は省略する。図１４に示されるプリントシステム３において、画像形成装置６０には、ＷＷＷサーバ３０、プリントサーバス１１、セッション管理サービス１２、セッション管理領域１３及び認証サービス２１等が実装されている。なお、図１４において、ＷＷＷサーバ３０は、ハードウェアそのものではなく、ＷＷＷサーバ３０において実装されているＷｅｂサーバとしての機能（プログラム）を表現している。ＷＷＷサーバ３０とプリントサービス、セッション管理サービス１２及び認証サービス２１との間のプロトコルは、ＳＯＡＰであってもよいしローカルな関数呼び出しでもよい。画像形成装置６０をかかる構成とすることで、プリントサーバ１０、認証サーバ２０及びＷＷＷサーバ３０によって実現されていた機能を、画像形成装置６０一台で実現することができる。
【００７９】
以上、本発明の好ましい実施例について詳述したが、本発明は係る特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【００８０】
【図１】第一の実施の形態におけるプリントシステムの構成例を示す図である。
【図２】第一の実施の形態におけるプリントシステムの機能構成例を示す図である。
【図３】プリントサービスにおけるＳＯＡＰエンジン及びプリントモジュールの機能構成例を示す図である。
【図４】本発明の実施の形態におけるプリントサーバのハードウェア構成例を示す図である。
【図５】第一の実施の形態におけるプリントシステムの処理を説明するためのシーケンス図である。
【図６】一般的なＳＯＡＰメッセージの構造を説明するための図である。
【図７】プリンタ一覧取得メソッドの呼び出しを要求するＳＯＡＰメッセージの例を示す図である。
【図８】プリンタ一覧取得メソッドの返却情報を含むＳＯＡＰメッセージの例を示す図である。
【図９】第一の実施の形態におけるプリントシステムの処理概要を示すフローチャートである。
【図１０】第二の実施の形態におけるプリントシステムの構成例を示す図である。
【図１１】第二の実施の形態におけるプリントシステムの機能構成例を示す図である。
【図１２】第二の実施の形態におけるプリントシステムの処理を説明するためのシーケンス図である。
【図１３】プリントサーバに画像形成装置を用いて構成したプリントシステムの構成例を示す図である。
【図１４】画像形成装置に全ての機能を実装したプリントシステムの構成例を示す図である。
【符号の説明】
【００８１】
１，２，３    プリントシステム
１０          プリントサーバ
１１          プリントサービス
１２          セッション管理サービス
１３          セッション管理領域
２０          認証サーバ
２１          認証サービス
３０          ＷＷＷサーバ
３１          ｈｔｔｐｄ
３２          サーバサイドオブジェクト
３３          ＸＳＬプロセッサ
３４          ＸＭＬパーサ
３５          ＳＯＡＰプロキシ
４０          端末
４１          Ｗｅｂブラウザ
５０          プリンタ
６０          画像形成装置
１００        ドライブ装置
１０１        記録媒体
１０２        補助記憶装置
１０３        メモリ装置
１０４        演算処理装置
１０５        インタフェース装置
１１１、１２１、２１１    Ｗｅｂサーバプログラム
１１２、１２２、２１２    ＳＯＡＰエンジン
１１３        プリントモジュール
１２３        セッション管理モジュール
２１３        認証モジュール
Ｂ            バス
１１２１      メッセージ処理部
１１２２      ヘッダ解析部
１１２２ａ    セッション管理部
１１２２ｂ    認証サービス接続部
１１２３      コンフィギュレーションファイル
１１３１      プリンタ一覧取得部
１１３２      ジョブ生成部
１１３３      印刷処理部
１１３４      ジョブ制御部
【図１】
2005278144.tif 000003
【図２】
2005278144.tif 000004
【図３】
2005278144.tif 000005
【図４】
2005278144.tif 000006
【図５】
2005278144.tif 000007
【図６】
2005278144.tif 000008
【図７】
2005278144.tif 000009
【図８】
2005278144.tif 000010
【図９】
2005278144.tif 000011
【図１０】
2005278144.tif 000012
【図１１】
2005278144.tif 000013
【図１２】
2005278144.tif 000014
【図１３】
2005278144.tif 000015
【図１４】
2005278144.tif 000016