説明

ネットワーク機器、サービス提供方法、及びサービス提供プログラム

【課題】適切な構成によってサービスを提供することのできるネットワーク機器、サービス提供方法、及びサービス提供プログラムの提供を目的とする。
【解決手段】ネットワークを介して接続されるクライアント装置にサービスを提供可能なネットワーク機器であって、前記サービスにアクセスさせるための情報を前記クライアント装置に提供する情報提供手段と、前記情報提供手段によって提供される情報に基づいて行われる前記クライアント装置からの要求に応じ、要求されたサービスを実行するサービス実行手段とを有し、前記情報提供手段と前記サービス実行手段とを別プロセスとして起動することにより上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワーク機器、サービス提供方法、及びサービス提供プログラムに関し、特にネットワークを介してサービスを提供可能なネットワーク機器、サービス提供方法、及びサービス提供プログラムに関する。
【背景技術】
【0002】
近年、ネットワーク上の機器において提供されているWebサービスを利用するための標準仕様(WS−Discovery、WS−Transfer、WS−MetadataExchange、WS−Eventing等)が定められている。当該仕様によれば、クライアント側は、機器のベンダや機種等に依存した仕様を意識することなく、各機器において提供されているWebサービスを利用することができる。したがって、クライアント側においては、開発工数の削減が期待でき、ユーザにおいては、利用する機器の選択肢が広がるといったメリットがある。
【特許文献1】特開2007−102802号公報
【特許文献2】特開2007−148828号公報
【非特許文献1】"Web Service Dyanamic Discovery(WS−Discovery)"、 [online]、[平成19年9月7日検索]、<http://msdn.microsoft.com/library/en-us/dnglobspec/html/WS-Discovery.pdf>
【非特許文献2】"Web Service Transfer(WS−Transfer)"、 [online]、[平成19年9月7日検索]、<http://www.w3.org/Submission/WS-Transfer/>
【非特許文献3】"Web Service Metadata Exchange(WS−MetadataExchange)"、 [online]、[平成19年9月7日検索]、<http://specs.xmlsoap.org/ws/2004/09/mex/WS-MetadataExchange.pdf>
【非特許文献4】"Web Service Eventing(WS−Eventing)"、 [online]、[平成19年9月7日検索]、<http://www.w3.org/Submission/WS-Eventing/>
【発明の開示】
【発明が解決しようとする課題】
【0003】
しかしながら、上記の仕様において定められているのは、主としてインタフェースについてであり、各機能をどのように実装するかは各ベンダに委ねられている。
【0004】
例えば、画像形成装置のような組み込み系の機器は、メモリ等の制約が厳しい。したがって、機能の実装に際し、出来るだけメモリを消費しない構成が望まれる。一方において、開発及び保守作業の効率化の観点より望ましい実装形態を考慮する必要がある。
【0005】
本発明は、上記の点に鑑みてなされたものであって、適切な構成によってサービスを提供することのできるネットワーク機器、サービス提供方法、及びサービス提供プログラムの提供を目的とする。
【課題を解決するための手段】
【0006】
そこで上記課題を解決するため、本発明は、ネットワークを介して接続されるクライアント装置にサービスを提供可能なネットワーク機器であって、前記サービスにアクセスさせるための情報を前記クライアント装置に提供する情報提供手段と、前記情報提供手段によって提供される情報に基づいて行われる前記クライアント装置からの要求に応じ、要求されたサービスを実行するサービス実行手段とを有し、前記情報提供手段と前記サービス実行手段とを別プロセスとして起動することを特徴とする。
【0007】
このようなネットワーク機器では、適切な構成によってサービスを提供することができる。
【発明の効果】
【0008】
本発明によれば、適切な構成によってサービスを提供することのできるネットワーク機器、サービス提供方法、及びサービス提供プログラムを提供することができる。
【発明を実施するための最良の形態】
【0009】
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるネットワークシステムの構成例を示す図である。図1においてネットワークシステム1は、複合機10a、10b、10c、及び10d等の一台以上の複合機(以下、総称する場合「複合機10」という。)と、一台以上のクライアントPC20等より構成される。複合機10とクライアントPC20とは、LAN(Local Area Network)等のネットワーク30(有線又は無線の別は問わない)を介して接続されている。
【0010】
複合機10は、コピー、ファクス、スキャナ、及びプリンタ等の複数の機能を一台の筐体において実現する画像形成装置である。複合機10には、各種のソフトウェアが実装されており、当該ソフトウェアによって実現されるWebサービスを、Webサービスに関する標準仕様に従ったインタフェースによってネットワーク30上(クライアントPC20)に提供する。
【0011】
クライアントPC20は、一般的なPC(Personal Computer)等のコンピュータであり、複合機10のWebサービスを利用可能なソフトウェアが実装されている。
【0012】
図2は、本発明の実施の形態における複合機の構成例を示す図である。図2において複合機10は、種々のハードウェア111と種々のソフトウェア112とより構成される。
【0013】
複合機10のハードウェア111は、撮像部121及び印刷部122等より構成される。撮像部121は、読取原稿から画像(画像データ)を読み取るためのハードウェアである。印刷部122は、画像(画像データ)を印刷用紙に印刷するためのハードウェアである。
【0014】
複合機10のソフトウェア112は、種々のアプリケーション131と、プラットフォーム132に大別される。これらのプログラムは、UNIX(登録商標)等のOS152(オペレーティングシステム)によりプロセス単位で並列的に実行される。
【0015】
アプリケーション131としては、コピー用のアプリケーションであるコピーアプリ141、プリンタ用のアプリケーションであるプリンタアプリ142、スキャナ用のアプリケーションであるスキャナアプリ143、ファクシミリ用のアプリケーションであるファクシミリアプリ144、ネットワークファイル用のアプリケーションであるネットファイルアプリ145が存在する。
【0016】
プラットフォーム132は、種々のコントロールサービス151及びOS152等より構成される。コントロールサービス151は、システム制御部161、メモリ制御部162、エンジン制御部163、セキュリティ制御部164、配信制御部165、オペレーション制御部166、ネットワーク制御部167、及びファクス制御部168等より構成される。
【0017】
システム制御部161は、システムの管理に関する制御を行う。メモリ制御部162は、メモリやハードディスクドライブに関する制御を行う。エンジン制御部163は、撮像部121や印刷部122に関する制御を行う。セキュリティ制御部164は、認証処理や課金処理に関する制御を行う。配信制御部165は、蓄積文書の配信処理に関する制御を行う。オペレーション制御部166は、オペレーションパネルに関する制御を行う。ネットワーク制御部167は、ネットワーク通信の仲介を行う。ファクス制御部168は、ファクシミリのAPIを提供する。
【0018】
上記の構成において、標準仕様に従ってWebサービスを提供するための仕組みはネットワーク制御部167に実装されている。図3は、ネットワーク制御部におけるWebサービスの提供機能に関する機能構成例を示す図である。図3に示されるように、ネットワーク制御部167におけるWebサービスの提供機能は、サービス情報提供部170とサービス部180と分別される。本実施の形態では、この分別の仕方に特長がある。
【0019】
サービス情報提供部170は、SOAP/XML部171、WS−Discovery部172、WS−Transfer部173、WS−MetadataExchange部174、WSD−Manager部175、及びプラットフォーム依存情報取得部176等を含み、複合機10において提供されているサービスにアクセスさせるための情報等をネットワーク30上に提供する。
【0020】
SOAP/XML部171は、サービス情報提供部170の通信データに関してシリアライズ(プログラム言語によるデータ形式からXML(eXtensible Markup Language)形式への変換)、及びデジリアライズ(XML形式からプログラム言語による形式への変換)を行う。
【0021】
WS−Discovery部172は、Web Services Dynamic Discovery(WS−Discovery)の仕様に従い、クライアントPC20が機器(複合機10)の存在を検知する為のメッセージの送受信処理を行うことによりクライアントPC20に機器の存在の有無を知らせる。例えば、WS−Discovery部172は、クライアントPC20からのサービスの検索要求に応じ、検索対象とされたサービス有無を判定し、判定結果に応じて該サービスにアクセスするための識別情報(URL)を前記クライアントPC20に返信する。WS−Discoveryは、主としてマルチキャストによって所望のWebサービスの検索するためのプロトコルを定義する仕様であり、その内容は、「http://msdn.microsoft.com/library/en-us/dnglobspec/html/WS-Discovery.pdf」に詳しい。
【0022】
WS−Transfer部173は、Web Service Transfer(WS−Transfer)の仕様に従い、検知された機器に関する情報等を通知するためのメッセージの送受信処理を行う。WS−Transferは、Web サービスベースのリソースのXML表現にアクセスするためのプロトコルを定義する仕様であり、その内容は、「http://www.w3.org/Submission/WS-Transfer/」に詳しい。
【0023】
WS−MetadataExchange部174は、は、Web Service Metadata Exchange(WS−MetadataExchange)の仕様に従い、検知された機器が提供するサービス情報をXMLベースのデータとして生成する。WS−MetadataExchangeは、Webサービス向けのメタデータに基づくメッセージ交換のためのブートストラップ機構を定義する規格仕様であり、その内容は、「http://specs.xmlsoap.org/ws/2004/09/mex/WS-MetadataExchange.pdf」に詳しい。
【0024】
WSD−Manager部175は、サービス情報提供部170及びサービス部180の制御及び管理を行う。WSD−Manager部175は、また、サービス部180によって現在提供できるサービスを把握する。
【0025】
プラットフォーム依存情報取得部176は、サービス情報提供部170が使用する情報のうち、その取得方法がプラットフォーム依存しているもの(例えば、アプリケーションやハードウェアに関する情報。以下「プラットフォーム依存情報」という。)について、その依存部分を吸収し、プラットフォーム非依存なインタフェースをサービス情報提供部170の各部に提供する。したがって、サービス情報提要部170を異なるプラットフォーム上で動作させる場合、プラットフォーム依存情報取得部176によってプラットフォームによる差異が吸収されるため、他の各部について変更を行う必要性が低減される。
【0026】
なお、サービス情報提供部170のうち、WS−Discovery部172、WS−Transfer部173、WS−MetadataExchange部174、及びWSD−Manager部175は、それぞれ別スレッドとして起動される。
【0027】
サービス部180は、SOAP/XML部181、サービス機能部182、WS−Eventing部183、及びプラットフォーム依存情報取得部184等を含み、サービス提供するための処理を実行する。
【0028】
SOAP/XML部181は、サービス部180の通信データに関してシリアライズ(プログラム言語によるデータ形式からXML形式への変換)、及びデジリアライズ(XML形式からプログラム言語による形式への変換)を行う。
【0029】
サービス機能部182は、クライアントPC20からの要求に応じ、要求されたサービスを実行する。
【0030】
WS−Eventing部183は、Web Service Eventing(WS−Eventing)の仕様に従い、サービス機能部182が提供するサービスにおいて、クライアントPC20からの要求とは非同期に発生するイベントの通知を行う。WS−Eventingは、Webサービスによるイベントの通知に関するプロトコルを定義する仕様であり、その内容は、「http://www.w3.org/Submission/WS-Eventing/」に詳しい。
【0031】
プラットフォーム依存情報取得部184は、サービス部180が使用する情報のうち、プラットフォーム依存情報について、その依存部分を吸収し、プラットフォーム非依存なインタフェースをサービス情報提供部180の各部に提供する。
【0032】
なお、サービス部180のうち、サービス機能部182及びWS−Eventing部183は、それぞれ別スレッドとして起動される。
【0033】
本実施の形態において、サービス情報提供部170は、サービスの数(種類)と関係なく1つだけ実装される。一方、サービス部180は、サービスごと(機能ごと)に実装される。また、サービス情報提供部170とサービス部180とは、別プロセスとして起動され、サービス部180は、サービスごとに別プロセスとして起動される。
【0034】
サービス情報提供部170とサービス部180とを別プロセスとすることにより、サービスに関する情報提供機能と、実際にサービスを実行する機能との間における依存関係を希薄化させることができる。したがって、新たなサービス(機能)が追加される際に、サービス情報提供部170の作りに依存せずに新たなサービス部180を実装することができる。また、新たなサービス部180が追加されることによる、サービス情報提供部170への影響(ソースコードの修正等)を低減させることができる。
【0035】
また、動作中において、いずれか一方に障害が発生した場合に、他方の動作に対する影響を低減させることができる。具体的には、サービス情報提供部170とサービス部180とが一つのプロセスに含まれていれる場合、いずれか一方に障害が発生しプロセスが終了してしまうと、他方の機能も停止してしまう。しかし、サービス情報提供部170とサービス部180とが別プロセスとされることにより、いずれか一方に障害が発生し、そのプロセスが終了したとしても、他方のプロセスは影響を受けず、そのまま機能を実行することができる。
【0036】
また、サービス部180をサービスごとに別プロセスとすることにより、サービス間の依存関係を希薄化することができる。したがって、新たなサービスが追加される際に、既存のサービス部180が受ける影響を低減させることができ、また、新たなサービス部180についても、既存のサービス部180による影響を低減させることができる。また、動作中において、いずれかサービス部180に障害が発生した場合に、他のサービス部180の動作に対する影響を低減させることができる。
【0037】
ところで、WS−Discovery部172、WS−Transfer部173、WS−MetadataExchange部174、及びWSD−Manager部175を別プロセスとし、また、サービス機能部182及びWS−Eventing部183を別プロセスとすれば、更に細かい粒度において、依存関係の希薄化を図ることができる。しかし、プロセスの増加はメモリの消費量を増加させる。特に、メモリの制約が厳しい画像形成装置等、組み込み系の機器においては、メモリ消費量の増加は、装置自体のコストの増加に繋がり好ましくない。そこで、本発明者は、依存関係の希薄化(すなわち、別プロセス化)と、別プロセス化によるメモリ消費量の増加とのバランスを考慮し、図3に示されるような構成に想到した。
【0038】
次に、WS−Discovery部172、WS−Transfer部173、WS−MetadataExchange部174、WSD−Manager部175、サービス機能部182、及びWS−Eventing部183のうち、前者4つをサービス情報提供部170に含め、後者2つをサービス部180に含めた理由(換言すれば、前者4つと後者2つのプロセスを分けた理由)について説明する。この理由は、主として、機能を実装する上での必要性からの観点による第一の理由と、各サービスの具体的な内容に対する依存関係の有無に基づく観点による第二の理由とより構成される。
【0039】
具体的には、サービスにアクセスさせるための情報提供を実現するためには、WS−Discovery部172、WS−Transfer部173、WS−MetadataExchange部174、及びWSD−Manager部175は少なくとも必要とされるからであり、また、サービスを実行するための処理を実現するためには、サービス機能部182及びWS−Eventing部183は少なくとも必要とされるからである(第一の理由)。
【0040】
また、WS−Discovery部172、WS−Transfer部173、WS−MetadataExchange部174、及びWSD−Manager部175の実装内容は、サービスの内容に応じて変化するものではないが、サービス機能部182及びWS−Eventing部182は、サービスごとにその実装内容が変化するものだからである(第二の理由)。なお、イベントは、サービスごとにその内容が異なるため、WS−Eventing部182の実装内容はサービスごとに変化する。
【0041】
以下、ネットワーク制御部167の振る舞いを中心として、ネットワークシステム1における処理手順について説明する。
【0042】
図4は、サービス情報提供部の起動時の処理手順を説明するためのシーケンス図である。当該シーケンスは、例えば、複合機10の起動時において行われる。
【0043】
サービス情報提供部170のプロセスがOS152によって起動(生成)されると、サービス情報提供部170のメインスレッド170mは、シグナルハンドラを登録する(S11)。シグナルハンドラとは、シグナルが発生した際に、シグナルに応じた処理を割り込み的に実行する関数である。続いて、メインスレッド170mは、プラットフォーム依存情報取得部176を介してプラットフォーム依存情報のうち、起動時の広告において必要な情報(サービス情報)を取得する(S12、S13)。
【0044】
続いて、メインスレッド170mは、WS−Discovery部172の初期化を行うことにより、WS−Discovery部172をスレッドとして起動させる(S14〜S16)。続いて、メインスレッド170mは、WS−Transfer部173の初期化を行うことにより、WS−Transfer部173をスレッドとして起動させる(S17〜S19)。
【0045】
続いて、メインスレッド170mは、WSD−Manager部175を初期化することにより、WSD−Manager部175をスレッドとして起動させる(S20、S21)。WSD−Manager部175は、メインスレッド170mよりサービス情報を取得し(S21)、当該サービス情報をWS−Discovery部172に設定する(S22)。WS−Discovery部172は、サービス情報を所定のメモリ領域に保持(記録)し(S23)、サービス情報の設定の完了をWSD−Manager部175に通知する(S24)。
【0046】
続いて、WSD−Manager部175は、サービス情報の広告を開始するための処理(Start処理)の実行をWS−Discovery部172に要求する(S25)。WS−Discovery部172は、サービス情報の広告の要否を識別するためのフラグ(Start Frag)をONに設定し(S26)、Start処理の完了をWSD−Manager部175に通知する(S27)。WSD−Manager部175は、初期化処理の完了をメインスレッド170mに通知する(S28)。
【0047】
WS−Discovery部172は、Start FlagがONであることを確認すると(S29)、設定されているサービス情報のシリアライズをSOAP/XML部171に実行させる(S30、S31)。続いて、WS−Discovery部172は、SOAP形式に変換されたサービス情報を含むHelloメッセージをネットワーク30上に広告(マルチキャスト)し、Start FlagをOFFにする(S32)。Helloメッセージは、機器又はサービスの存在を通知するためのメッセージであり、WS−Disacoveryの仕様において規定されている。
【0048】
次に、或るサービス(例えば印刷サービス)を提供するサービス部180が起動された際の処理手順について説明する。図5は、サービス部の起動時の処理手順を説明するためのシーケンス図である。
【0049】
サービス部180のプロセスがOS152によって起動されると、サービス情報提供部170のメインスレッド180mは、シグナルハンドラを登録する(S51)。続いて、メインスレッド180mは、当該サービス部180のサービス機能部182を初期化することにより、サービス機能部182をスレッドとして起動させる(S52、S53)。スレッドとしての起動時において、サービス機能部182は、各種のパラメータを初期化する。
【0050】
続いて、サービス機能部182は、当該サービス部180のプラットフォーム依存情報取得部184を介して、プラットフォーム依存情報のうち、当該サービス部180のサービス情報を取得する(S54、S55)。続いて、サービス機能部182は、WSD−Manager部175に対してサービス情報(サービスの識別名や場所を示す情報(URL)等)を登録し(S56、S57)、初期化処理の完了をメインスレッド180mに通知する(S58)。以上によって、サービス部180のプロセスにおける起動時の処理は終了する。
【0051】
一方、サービス情報を登録されたWSD−Manager部175は、当該サービス情報をWS−Discovery部172に設定する(S59)。WS−Discovery部172は、サービス情報を所定のメモリ領域に保持(記録)すると共に、設定されている情報の変化の有無を識別するための設定情報変換フラグをONにし(S60)、サービス情報の設定の完了をWSD−Manager部175に通知する(S61)。
【0052】
WS−Discovery部172は、設定情報変換フラグがONであることを確認すると(S62)、設定されているサービス情報のシリアライズをSOAP/XML部171に実行させる(S63、S64)。続いて、WS−Discovery部172は、SOAP形式に変換されたサービス情報を含むHelloメッセージをネットワーク30上に広告(マルチキャスト)し、設定情報変換フラグをOFFにする(S65)。
【0053】
図6は、サービスの存在を通知するHelloメッセージの例を示す図である。図6のメッセージ510において、記述511における「Hello」により、メッセージ510がHelloメッセージであることであることが識別される。
【0054】
機記述512における「wsdp:Device」が、機器の存在を示す記述であり、「wprt:PrintDeviceType」が、起動されたサービス部180によって提供可能なサービスの識別名を示す記述である。記述513におけるURLは、サービス180の場所を示す。
【0055】
なお、図5の処理は、サービス部180が起動されるたびに実行される。
【0056】
次に、或るサービス部180が終了する際の処理手順について説明する。図7は、サービス部の終了時の処理手順を説明するためのシーケンス図である。
【0057】
何らかの要因(例えば、ユーザによる入力等)に応じて発生した終了シグナルをシグナルハンドラ180hが検知すると(S71)、シグナルハンドラ180hは、終了処理の実行をサービス機能部182に要求する(S72)。サービス機能部182は、リソースの解放等を行い(S73)、当該サービス部180によるサービスが終了することをWSD−Manager部175に通知する(S74、S75)。続いて、サービス機能部182は、終了処理が完了したことをシグナルハンドラ180hに通知する(S76)。その後、当該サービス部180のプロセスは終了する。
【0058】
一方、サービスの終了を通知されたWSD−Manager部175は、当該サービスの終了をWS−Discovery部172に設定する(S77)。WS−Discovery部172は、サービスの終了を示す情報を所定のメモリ領域に保持(記録)すると共に、設定情報変換フラグをONにし(S78)、サービスの終了の設定の完了をWSD−Manager部175に通知する(S79)。
【0059】
WS−Discovery部172は、設定情報変換フラグがONであることを確認すると(S80)、設定されているサービスの終了を示す情報のシリアライズをSOAP/XML部171に実行させる(S81、S82)。続いて、WS−Discovery部172は、SOAP形式に変換されたサービスの終了を示す情報を含むByeメッセージをネットワーク30上に広告(マルチキャスト)し、設定情報変更フラグをOFFにする(S83)。なお、Byeメッセージは、WS−Discoveryの仕様において規定されているものである。
【0060】
なお、図7の処理は、サービス部180が終了するたびに実行される。
【0061】
次に、サービス情報提供部170が終了する際の処理手順について説明する。図8は、サービス情報提供部の終了時の処理手順を説明するためのシーケンス図である。
【0062】
何らかの要因(例えば、ユーザによる入力等)に応じて発生した終了シグナルをシグナルハンドラ170hが検知すると(S91)、シグナルハンドラ170hは、終了の通知処理の実行をWSD−Manager部175に要求する(S92)。WSD−Manager部175は、終了の通知処理の実行をWS−Discovery部172に要求する(S93)。WS−Discovery部172は、終了フラグをONにし(S94)、終了の通知を認識したことをWSD−Manager部175に対して通知する(S94)。WSD−Manager部175は、終了の通知処理を行ったことをシグナルハンドラ170hに通知する(S96)。
【0063】
WS−Discovery部172は、終了フラグがONであることを確認すると、パケットのリスニングの終了する(リスニング用のソケットをクローズする)(S97)。続いて、WS−Discovery部172は、サービス情報提供部170の終了を示す情報のシリアライズをSOAP/XML部171に実行させる(S98、S99)。WS−Discovery部172は、SOAP形式に変換されたByeメッセージをネットワーク30上に広告(マルチキャスト)し、終了フラグをOFFにする(S100)。
【0064】
図9は、サービスの終了を通知するByeメッセージの例を示す図である。図9のメッセージ520において、記述521における「Bye」により、メッセージ520が、サービスの終了を示すメッセージであることが識別される。
【0065】
続いて、シグナルハンドラ170hは、終了処理の実行をメインスレッド170mに要求する(S101)。メインスレッド170mは、WS−Transfer部173に終了処理を要求する(S102)。WS−Transfer部173は、リソースの解放等を行い(S103)、終了処理の完了をメインスレッド170mに通知する(S104)。続いて、メインスレッド170mは、WS−Discovery部172に終了処理を要求する(S105)。WS−Discovery部172は、各種のフラグがOFFであることを確認すると共にリソースの解放等を行い(S106)、終了処理の完了をメインスレッド170mに通知する(S107)。続いて、メインスレッド170は、終了処理が完了したことをシグナルハンドラ170hに通知する(S108)。その後、サービス情報提供部170のプロセスは終了する。
【0066】
以上において、サービス情報提供部170及びサービス部180について起動時及び終了時の処理手順を説明したが、サービス情報提供部170の起動とサービス部180の起動とは連続的に(同期して)行われなくてもよい。同様に、サービス情報提供部170の終了とサービス部180の終了とについても連続的に(同期して)行われなくてもよい。例えば、サービス部180が、必要に応じて起動又は終了される場合、サービス情報提供部170の起動又は終了とサービス部180の起動又は終了とは非同期となる。本実施の形態ではサービス情報提供部170とサービス部180とが別プロセスとなるよう構成されているため、このように柔軟な起動又は終了シーケンスを実現することができる。したがって、必要なサービス部180のみを起動することで、メモリの消費量を抑制することもできる。
【0067】
次に、複合機10においてサービス情報提供部170及びサービス部180が起動しており、サービス部180の情報が広告されている状態において、クライアントPC20がサービスの提供を受けるために必要な前処理について説明する。
【0068】
図10は、サービスの提供を受けるための前処理の処理手順の概要を説明するためのフローチャートである。
【0069】
ステップS111において、クライアントPC20は、利用したいサービスを有している複合機10を検索する。当該サービスを有している複合機10が検索された場合(S111でYes)、クライアントPC20は、検索された複合機10の情報とサービスを提供している場所を示す情報(URL)とを取得する(S112)。続いて、クライアントPC20は、サービスを提供している場所にアクセスし、サービスの提供を受ける上で必要な基本情報を取得する(S113)。続いて、クライアントPC20は、サービスを提供している場所にアクセスし、サービスを受ける上で必要なイベントを登録する(S114)。
【0070】
以下、各ステップの詳細について説明する。図11は、サービスの検索処理を説明するためのシーケンス図である。図11の処理は、図10のステップS111及びS112に相当する。
【0071】
ステップS121において、クライアントPC20は、WS−Discoveryの仕様において、サービスを検索するためのメッセージとして規定されているProbeメッセージをネットワーク30上にマルチキャストする。
【0072】
図12は、Probeメッセージの例を示す図である。図12のメッセージ540において、記述531における「Probe」により、メッセージ530がProbeメッセージであることであることが識別される。記述532は、検索対象のサービスは記述532における識別名(wprt:PrintDeviceType)によって識別される。
【0073】
複合機10において、サービス情報提供部170のWS−Discovery部172がProbeメッセージを受信すると、当該ProbeメッセージのデシリアライズをSOAP/XML部171に実行させる(S122、S123)。続いて、WS−Discovery部172は、検索対象とされているサービスが自機内において利用可能な状態として存在するか(当該サービスに対応するサービス部180が起動されているか)否かを設定されているサービス情報に基づいて判定し、その判定結果に応じた応答情報を生成する(S124)。続いて、WS−Discovery部172は、応答情報のシリアライズをSOAP/XML部171に実行させ(S125、S126)、シリアライズされた応答情報を含むメッセージをProbeメッセージに対する応答としてクライアントPC20に返信する(S127)。例えば、検索対象とするサービスが存在する場合は、WS−Discoveryの仕様に従って、ProbeMatchメッセージが返信される。
【0074】
図13は、ProbeMatchメッセージの例を示す図である。図13のメッセージ540aにおいて、記述541aの「ProbeMatches」によって、メッセージ540aがProbeMatchメッセージであることが識別される。また、記述542aにおいて、検索に合致したサービスの識別名(wprt:PrintDeviceType)が記述されている。また、記述543aには、当該サービスが提供されている場所を示すURLが記述されている。
【0075】
また、図14は、検索に合致するサービスが複数存在する場合のProbeMatchメッセージの例を示す図である。
【0076】
図14のメッセージ540bでは、記述542bにおいて、識別名5421及び識別名5422の二つのサービスの識別名が示されている。他の部分については、図13と同様である。
【0077】
ProbeMatchメッセージを受信したクライアントPC20は、当該メッセージを返信した複合機10に対して、WS−Transferの仕様に従って、複合機10の情報の取得要求を示すGetメッセージを送信する(S128)。
【0078】
図15は、Getメッセージの例を示す図である。図15のメッセージ550において、記述551の「Get」によって、メッセージ550がGetメッセージであることが識別される。
【0079】
複合機10においてGetメッセージを受信したWS−Transfer部173は、GetメッセージのデシリアライズをSOAP/XML部171に実行させ(S129、S130)、複合機10の情報を取得する(S131)。続いて、WS−Transfer部173は、取得された情報のシリアライズをSOAP/XML部171に実行させ(S132、S133)、WS−Transferの仕様に従って、複合機10の情報を含むGetResponseメッセージをクライアントPC20に返信する(S134)。
【0080】
図16及び図17は、GetResponseメッセージの例を示す図である。図16のメッセージ560において、記述561の「GetResponse」によって、メッセージ550がGetResponseメッセージであることが識別される。
【0081】
メッセージ560において複合機10の各種情報は、<MetadataSection>タグによって囲まれたMetadataSection要素ごとに記述されている。例えば、MetadataSection562には、機器(複合機10)に関する情報が記述されている。例えば、記述5621には、機器の名前が記述され、記述5622には、ファームウェアのバージョンが記述され、記述5623には、機器のシリアル番号が記述されている。
【0082】
また、MetadataSection要素563には、モデル(機種)に関する情報が記述されている。例えば、記述5631には、製造者の名前が記述され、記述5632には、製造者のURLが記述され、記述5633には、モデル名が記述され、記述5634には、モデル番号が記述されている。
【0083】
また、MetadataSection要素564には、サービスに関する情報が記述されている。例えば、記述5641は、サービスの場所を示すURLが記述され、記述5642には、サービスの識別名が記述されている。
【0084】
また、図18、図19、及び図20は、サービスが複数存在する場合のGetResponseメッセージの例を示す図である。図18、図19、及び図20において示されるメッセージ570には、サービスに関する情報が記述されたMetadataSection要素が二つ存在する。MetadataSection要素571においては、サービスの場所は記述5711によって示され、サービスの識別名は記述5712によって示されている。また、MetadataSection要素572においては、サービスの場所は記述5721によって示され、サービスの識別名は記述5722によって示されている。他については、メッセージ560と同様である。
【0085】
続いて、図21は、サービスの基本情報の取得処理を説明するためのシーケンス図である。図21の処理は、図10のステップS112に相当する。この段階以降において、クライアントPC20とのやりとりを行うのはサービス部180となる。
【0086】
クライアントPC20は、既に入手されているサービスの提供場所を示すURLに対して、PrintServiceTemplateと呼ばれる仕様に従って、サービスの基本情報の取得要求を示すメッセージを送信する(S151)。
【0087】
図22は、サービスの基本情報の取得要求を示すメッセージの例を示す図である。図22のメッセージ580において、記述581の「GetPrinterElements」によって、メッセージ580がサービスの基本情報の取得を要求するメッセージ(GetPrinterElementsメッセージ)であることが識別される。また、記述582の「pri:PrinterDescription」によって、取得対象とされている情報が識別される。
【0088】
複合機10において基本情報の取得要求を示すメッセージを受信したサービス機能部182は、当該メッセージのデシリアライズをSOAP/XML部181に実行させ(S152、S153)、取得対象とされている情報を取得する(S154)。続いて、サービス機能部182は、取得された情報のシリアライズをSOAP/XML部181に実行させ(S155、S156)、PrintServiceTemplateの仕様に従って、取得対象とされた情報を含む応答メッセージをクライアントPC20に返信する(S157)。
【0089】
図23は、サービスの基本情報の取得要求に対する応答メッセージの例を示す図である。図23のメッセージ590において、記述591の「GetPrinterElementsResponse」によって、メッセージ590がGetPrinterElementsメッセージに対する応答であることが識別される。取得対象とされた情報は、PrinterDiscription要素592に記述されている。例えば、記述5921には、カラー印刷の可否が記述されている。また、記述5922には、1分あたりの印刷枚数が記述されている。
【0090】
続いて、図24は、通知を要求するイベントの登録処理を説明するためのシーケンス図である。図24の処理は、図10におけるステップS114に相当する。
【0091】
クライアントPC20は、サービスの提供場所を示すURLに対して、WS−Eventingの仕様に従って、通知を要求するイベントの登録要求を示すSubscribeメッセージを送信する(S161)。
【0092】
図25及び図26は、Subscribeメッセージの例を示す図である。図25及び図26のメッセージ600において、記述601の「Subscribe」によって、メッセージ600がSubscribeメッセージであることが識別される。また、記述602の「PT1H」によって、登録されるイベントの有効期間(1時間)が示されている。すなわち、イベントの登録には有効期間が存在し、それを過ぎると原則としてそのイベントの通知を受けることはできない。但し、クライアントPC20がイベント登録期間の延長を要求すれば、そのイベントの通知を引き続き受けることが可能となる。
【0093】
また、記述603は、通知を要求するイベントの識別名が記述されている。ここでは、プリンタの状態変化を示す「PrinterElementsChangeEvent」(記述6031)が指定されている。
【0094】
複合機10においてイベントの登録要求を示すメッセージを受信したサービス機能部182は、当該メッセージのデシリアライズをSOAP/XML部181に実行させ(S162、S163)、通知が要求されたイベントの登録をWS−Eventing部183に要求する(S164)。WS−Eventing部183は、当該イベントを通知対象として登録(記憶)し(S165)、イベントの登録の完了をサービス機能部182に通知する(S166)。
【0095】
続いて、サービス機能部182は、イベントの登録要求に対する応答を示す情報のシリアライズをSOAP/XML部181に実行させ(S167、S168)、WS−Eventingの仕様に従った応答メッセージをクライアントPC20に返信する(S169)。
【0096】
図27は、イベントの登録要求に対する応答メッセージの例を示す図である。図27のメッセージ610において、記述611の「SubscribeResponse」によって、メッセージ610がSubscribeメッセージに対する応答であることが識別される。
【0097】
次に、クライアントPC20が前処理に続いてサービスの提供を受ける(サービスを利用する)際の処理手順について説明する。図28は、サービス利用時の処理手順の概要を説明するためのフローチャートである。図28の処理は、図10の処理に続いて実行される。
【0098】
ステップS201において、クライアントPC20は、上述の処理においてイベントの登録等を行った複合機10に対してサービスの実行を要求する。クライアントPC20からの要求に応じ、複合機10は、要求されたサービスを実行する(S202)。サービスの実行中において、通知が要求されているイベント(登録されたイベント)が発生すると(S203でYes)、複合機10は、クライアントPC20に対して当該イベントを通知する(S204)。サービスの実行が完了すると、複合機10は、サービスの実行要求に対する応答をクライアントPC20に返信する(S205)。なお、ステップS205の後にも、イベントの通知(ステップS203及びS204)は行われうる。
【0099】
以下、各ステップの詳細について説明する。図29は、サービス実行時の処理手順を説明するためのシーケンス図である。図29の処理は、図28におけるステップS201、S202、及びS205に相当する。
【0100】
クライアントPC20は、サービスの提供場所を示すURLに対して、サービスの実行要求を示すメッセージを送信する(S211)。
【0101】
図30は、サービスの実行要求を示すメッセージの第一の例を示す図である。図30のメッセージ620において、記述621の「CreatePrintJob」によって、メッセージ620が印刷ジョブの生成を要求するメッセージであることが識別される。また、記述622には、ジョブ名が指定されており、記述623にはジョブの要求元であるユーザ名が指定されている。
【0102】
複合機10においてサービスの実行要求を示すメッセージを受信したサービス機能部182は、当該メッセージのデシリアライズをSOAP/XML部181に実行させ(S212、S213)、要求されたサービスの実行をプラットフォーム依存情報取得部184に要求する(S214)。この際、サービスの実行要求に係るメッセージに含まれているパラメータ等がプラットフォーム依存情報取得部184に通知される。プラットフォーム依存情報取得部184は、要求されたサービスを実行し(S215)、実行が完了すると、その旨をサービス機能部182に通知する(S216)。この際、サービスの実行の結果生成された情報(例えば、ジョブID)が返却される。
【0103】
続いて、サービス機能部182は、サービスの実行要求に対する応答を示す情報のシリアライズをSOAP/XML部181に実行させ(S217、S218)、応答メッセージをクライアントPC20に返信する(S219)。
【0104】
図31は、サービスの実行要求に対する応答メッセージの第一の例を示す図である。図31のメッセージ630において、記述631の「CreatePrintJobResponse」によって、メッセージ630が印刷ジョブの生成要求(CreatePrintJob)に対する応答であることが識別される。また、記述632には、生成された印刷ジョブのジョブIDが記述されている。
【0105】
この後、ステップS211〜S219と同様の手順によって、生成された印刷ジョブにおいて印刷対象とされる文書データがクライアントPC20から送信され(S211)、それに対する応答が複合機10より返信される(S219)。この際にやりとりされるメッセージは、例えば、次のようになる。
【0106】
図32及び図33は、サービスの実行要求を示すメッセージの第二の例を示す図である。図32及び図33のメッセージ640において、記述641の「SendDocument」によって、メッセージ640が文書データの送信(印刷)を要求するメッセージであることが識別される。また、記述642には、ジョブIDが指定されており、記述643にはエンコードされた印刷データが含まれている。
【0107】
また、図34は、サービスの実行要求に対する応答メッセージの第二の例を示す図である。図34のメッセージ650において、記述651の「SendDocumentResponse」によって、メッセージ650が文書データの印刷要求(SendDocument)に対する応答であることが識別される。
【0108】
続いて、図35は、イベント発生時の処理手順を説明するためのシーケンス図である。図35の処理は、図28におけるステップS203及び204に相当する。
【0109】
複合機10において、プラットフォーム依存情報取得部184は、何らかのイベントの発生を検出すると(S221)、イベントの発生をサービス機能部182に通知する(S222)。サービス機能部182は、クライアントPC20へのイベントの通知をWS−Eventing部183に要求する(S223)。WS−Eventing部183は、当該イベントが、通知対象として登録されているか否かを判定することによりイベントの通知の要否を判定する(S224)。イベントの通知が必要な場合、WS−Eventing部183は、イベントを示す情報のシリアライズをSOAP/XML部181に実行させ(S225、S226)、WS−Eventの仕様に従って、イベントを通知するメッセージをクライアントPC20に送信する(S227)。
【0110】
図36は、イベントを通知するメッセージの例を示す図である。図36のメッセージ660において、記述661の「PrinterElementsChangeEvent」によって、メッセージ660は、通知対象として登録されているPrinterElementsChangeEventの通知メッセージであることが識別される。イベントの詳細な内容は、PrinterElementsChangeEvent要素662内に記述されている。例えば、Consumables要素663の存在によって、消耗品の残量が減少したことを示すイベントであることが識別される。記述664によって、消耗品の種類がインクであり、記述665によってインクの色が黒であることが示されている。また、記述666においてインクの残量が示されている。
【0111】
なお、図2に示されるハードウェア111の構成の一例について説明する。図37は、本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。複合機10のハードウェア111としては、コントローラ201と、オペレーションパネル202と、ファクシミリコントロールユニット(FCU)203と、撮像部121と、印刷部122が存在する。
【0112】
コントローラ201は、CPU211、ASIC212、NB221、SB222、MEM−P231、MEM−C232、HDD(ハードディスクドライブ)233、メモリカードスロット234、NIC(ネットワークインタフェースコントローラ)241、USBデバイス242、IEEE1394デバイス243、セントロニクスデバイス244により構成される。
【0113】
CPU211は、種々の情報処理用のICである。ASIC212は、種々の画像処理用のICである。NB221は、コントローラ201のノースブリッジである。SB222は、コントローラ201のサウスブリッジである。MEM−P231は、複合機10のシステムメモリである。MEM−C232は、複合機10のローカルメモリである。HDD233は、複合機10のストレージである。メモリカードスロット234は、メモリカード235をセットするためのスロットである。NIC241は、MACアドレスによるネットワーク通信用のコントローラである。USBデバイス242は、USB規格の接続端子を提供するためのデバイスである。IEEE1394デバイス243は、IEEE1394規格の接続端子を提供するためのデバイスである。セントロニクスデバイス244は、セントロニクス仕様の接続端子を提供するためのデバイスである。
【0114】
オペレーションパネル202は、オペレータが複合機10に入力を行うためのハードウェア(操作部)であると共に、オペレータが複合機10から出力を得るためのハードウェア(表示部)である。
【0115】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【0116】
【図1】本発明の実施の形態におけるネットワークシステムの構成例を示す図である。
【図2】本発明の実施の形態における複合機の構成例を示す図である。
【図3】ネットワーク制御部におけるWebサービスの提供機能に関する機能構成例を示す図である。
【図4】サービス情報提供部の起動時の処理手順を説明するためのシーケンス図である。
【図5】サービス部の起動時の処理手順を説明するためのシーケンス図である。
【図6】サービスの存在を通知するHelloメッセージの例を示す図である。
【図7】サービス部の終了時の処理手順を説明するためのシーケンス図である。
【図8】サービス情報提供部の終了時の処理手順を説明するためのシーケンス図である。
【図9】サービスの終了を通知するByeメッセージの例を示す図である。
【図10】サービスの提供を受けるための前処理の処理手順の概要を説明するためのフローチャートである。
【図11】サービスの検索処理を説明するためのシーケンス図である。
【図12】Probeメッセージの例を示す図である。
【図13】ProbeMatchメッセージの例を示す図である。
【図14】検索に合致するサービスが複数存在する場合のProbeMatchメッセージの例を示す図である。
【図15】Getメッセージの例を示す図である。
【図16】GetResponseメッセージの例を示す図である。
【図17】GetResponseメッセージの例を示す図である。
【図18】サービスが複数存在する場合のGetResponseメッセージの例を示す図である。
【図19】サービスが複数存在する場合のGetResponseメッセージの例を示す図である。
【図20】サービスが複数存在する場合のGetResponseメッセージの例を示す図である。
【図21】サービスの基本情報の取得処理を説明するためのシーケンス図である。
【図22】サービスの基本情報の取得要求を示すメッセージの例を示す図である。
【図23】サービスの基本情報の取得要求に対する応答メッセージの例を示す図である。
【図24】通知を要求するイベントの登録処理を説明するためのシーケンス図である。
【図25】Subscribeメッセージの例を示す図である。
【図26】Subscribeメッセージの例を示す図である。
【図27】イベントの登録要求に対する応答メッセージの例を示す図である。
【図28】サービス利用時の処理手順の概要を説明するためのフローチャートである。
【図29】サービス実行時の処理手順を説明するためのシーケンス図である。
【図30】サービスの実行要求を示すメッセージの第一の例を示す図である。
【図31】サービスの実行要求に対する応答メッセージの第一の例を示す図である。
【図32】サービスの実行要求を示すメッセージの第二の例を示す図である。
【図33】サービスの実行要求を示すメッセージの第二の例を示す図である。
【図34】サービスの実行要求に対する応答メッセージの第二の例を示す図である。
【図35】イベント発生時の処理手順を説明するためのシーケンス図である。
【図36】イベントを通知するメッセージの例を示す図である。
【図37】本発明の実施の形態における複合機のハードウェア構成の一例を示す図である。
【符号の説明】
【0117】
1 ネットワークシステム
10 複合機
20 クライアントPC
30 ネットワーク
111 ハードウェア
112 ソフトウェア
121 撮像部
122 印刷部
131 アプリケーション
132 プラットフォーム
141 コピーアプリ
142 プリンタアプリ
143 スキャナアプリ
144 ファクシミリアプリ
145 ネットファイルアプリ
151 コントロールサービス
152 OS
161 システム制御部
162 メモリ制御部
163 エンジン制御部
164 セキュリティ制御部
165 配信制御部
166 オペレーション制御部
167 ネットワーク制御部
168 ファクス制御部
170 サービス情報提供部
171 SOAP/XML部
172 WS−Discovery部
173 WS−Transfer部
174 WS−MetadataExchange部
175 WSD−Manager部
176 プラットフォーム依存情報取得部
180 サービス部
181 SOAP/XML部
182 サービス機能部
183 WS−Eventing部
184 プラットフォーム依存情報取得部
201 コントローラ
202 オペレーションパネル
203 ファクシミリコントロールユニット
211 CPU
212 ASIC
221 NB
222 SB
231 MEM−P
232 MEM−C
233 HDD
234 メモリカードスロット
235 メモリカード
241 NIC
242 USBデバイス
243 IEEE1394デバイス
244 セントロニクスデバイス

【特許請求の範囲】
【請求項1】
ネットワークを介して接続されるクライアント装置にサービスを提供可能なネットワーク機器であって、
前記サービスにアクセスさせるための情報を前記クライアント装置に提供する情報提供手段と、
前記情報提供手段によって提供される情報に基づいて行われる前記クライアント装置からの要求に応じ、要求されたサービスを実行するサービス実行手段とを有し、
前記情報提供手段と前記サービス実行手段とを別プロセスとして起動することを特徴とするネットワーク機器。
【請求項2】
サービスの種類ごとに前記サービス実行手段を有し、
前記サービス実行手段をサービスごとにプロセスとして起動することを特徴とする請求項1記載のネットワーク機器。
【請求項3】
前記情報提供手段は、
前記クライアント装置からのサービスの検索要求に応じ、検索対象とされたサービスの有無を判定し、判定結果に応じて該サービスにアクセスするための識別情報を前記クライアント装置に返信する第一の手段と、
前記第一の手段によって返信される情報に応じて前記クライアント装置より送信される要求に応じて、当該ネットワーク機器に関する情報を返信する第二の手段とを含み、
前記サービス実行手段は、
前記識別情報に基づいて行われる前記クライアント装置からの要求に応じ、要求されたサービスを実行する第三の手段と、
当該サービスの実行に応じて発生するイベントを前記クライアント装置に通知する第四の手段とを含むことを特徴とする請求項1又は2記載のネットワーク機器。
【請求項4】
前記情報提供手段に含まれる前記各手段、及び前記サービス実行手段に含まれる前記各手段をそれぞれ別スレッドとして起動することを特徴とする請求項3記載のネットワーク機器。
【請求項5】
前記サービス実行手段は、プロセスの起動に際してサービスの提供を可能であることを前記情報提供手段に通知し、
前記情報提供手段は、前記サービス実行手段からの通知に応じて前記サービスの提供が可能であることをネットワーク上に通知することを特徴とする請求項1乃至4いずれか一項記載のネットワーク機器
【請求項6】
前記サービス実行手段は、プロセスの終了に際してサービスの提供を終了することを前記情報提供手段に通知し、
前記情報提供手段は、前記サービス実行手段からの通知に応じて前記サービスの提供を終了することをネットワーク上に通知することを特徴とする請求項1乃至5いずれか一項記載のネットワーク機器。
【請求項7】
ネットワークを介して接続されるクライアント装置にサービスを提供可能なネットワーク機器が実行するサービス提供方法であって、
前記サービスにアクセスさせるための情報を前記クライアント装置に提供する情報提供手順と、
前記情報提供手順において提供される情報に基づいて行われる前記クライアント装置からの要求に応じ、要求されたサービスを実行するサービス実行手順とを有し、
前記情報提供手順と前記サービス実行手順とを別プロセスとして起動することを特徴とするサービス提供方法
【請求項8】
サービスの種類ごとに前記サービス実行手順を有し、
前記サービス実行手順をサービスごとにプロセスとして起動することを特徴とする請求項7記載のサービス提供方法
【請求項9】
前記情報提供手順は、
前記クライアント装置からのサービスの検索要求に応じ、検索対象とされたサービスの有無を判定し、判定結果に応じて該サービスにアクセスするための識別情報を前記クライアント装置に返信する第一の手順と、
前記第一の手順において返信される情報に応じて前記クライアント装置より送信される要求に応じて、当該ネットワーク機器に関する情報を返信する第二の手順とを含み、
前記サービス実行手順は、
前記識別情報に基づいて行われる前記クライアント装置からの要求に応じ、要求されたサービスを実行する第三の手順と、
当該サービスの実行に応じて発生するイベントを前記クライアント装置に通知する第四の手順とを含むことを特徴とする請求項7又は8記載のサービス提供方法
【請求項10】
前記情報提供手順に含まれる前記各手順、及び前記サービス実行手順に含まれる前記各手順をそれぞれ別スレッドとして起動することを特徴とする請求項9記載のサービス提供方法
【請求項11】
前記サービス実行手順に係るプロセスの起動に際してサービスの提供を可能であることを前記情報提供手順に係るプロセスに通知する手順と、
前記情報提供手順に係るプロセスが、前記サービス実行手順に係るプロセスからの通知に応じて前記サービスの提供が可能であることをネットワーク上に通知する手順とを有することを特徴とする請求項7乃至10いずれか一項記載のネットワーク機器
【請求項12】
前記サービス実行手順に係るプロセスの終了に際してサービスの提供を終了することを前記情報提供手順に係るプロセスに通知する手順と、
前記情報提供手順に係るプロセスが、前記サービス実行手順に係るプロセスからの通知に応じて前記サービスの提供を終了することをネットワーク上に通知する手順とを有することを特徴とする請求項7乃至11いずれか一項記載のサービス提供方法
【請求項13】
請求項7乃至12記載のサービス提供方法をネットワーク機器に実行させるためのサービス提供プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate

【図31】
image rotate

【図32】
image rotate

【図33】
image rotate

【図34】
image rotate

【図35】
image rotate

【図36】
image rotate

【図37】
image rotate


【公開番号】特開2009−70290(P2009−70290A)
【公開日】平成21年4月2日(2009.4.2)
【国際特許分類】
【出願番号】特願2007−240086(P2007−240086)
【出願日】平成19年9月14日(2007.9.14)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】