JP4190991B2 - ネットサービス機能を有する情報処理装置およびネットサービス提供方法 - Google Patents

ネットサービス機能を有する情報処理装置およびネットサービス提供方法 Download PDF

Info

Publication number
JP4190991B2
JP4190991B2 JP2003323539A JP2003323539A JP4190991B2 JP 4190991 B2 JP4190991 B2 JP 4190991B2 JP 2003323539 A JP2003323539 A JP 2003323539A JP 2003323539 A JP2003323539 A JP 2003323539A JP 4190991 B2 JP4190991 B2 JP 4190991B2
Authority
JP
Japan
Prior art keywords
port
application
request
information processing
processing apparatus
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2003323539A
Other languages
English (en)
Other versions
JP2005092457A (ja
Inventor
学 中村
孝治 藤永
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ricoh Co Ltd
Original Assignee
Ricoh Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ricoh Co Ltd filed Critical Ricoh Co Ltd
Priority to JP2003323539A priority Critical patent/JP4190991B2/ja
Priority to US10/938,717 priority patent/US20050114469A1/en
Publication of JP2005092457A publication Critical patent/JP2005092457A/ja
Application granted granted Critical
Publication of JP4190991B2 publication Critical patent/JP4190991B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

本発明はネットサービス機能を有する情報処理装置およびネットサービス提供方法に関するものである。
近年、プリンタ、コピー、ファクシミリ、スキャナ等の各装置の機能を一つの筐体内に収納した、複合機あるいは融合機と呼ばれる画像形成装置が提供されるに至っている。更に、これらの画像形成装置は、オフィス内のイントラネット等に接続可能とされ、Webサービス等の各種のネットサービスを提供する機能も有している。
ところで、上述したネットサービス機能を有した従来の画像形成装置にあっては、ブラウザ等のHTTPクライアントからのリクエストをHTTPデーモン(httpd)と呼ばれるサーバプログラムで処理しており、HTTPデーモンはリクエストに含まれるURLパスに従って対応するWebアプリケーションに処理をディスパッチ(振り分け)し、処理のレスポンスをHTTPクライアントに戻すまでの処理を行っている。ここで、HTTPデーモン(httpd)と呼ばれるサーバプログラムは、一般には単一のポート番号(例えば「80」)で識別され単独でWebサービスを提供するもの(例えばフリーのWebサーバソフトで有名な「Apache」等)を意味することが多いが、画像形成装置の分野では上述したような意味で用いられている。これは、画像形成装置に要求される多数の機能を満たすため、一般のネットサービスよりも細分化されたプロトコルを処理する必要があるためである。
ネットサービス機能を有した従来の画像形成装置におけるHTTPデーモンの動作をより詳しく説明すると次のようになる。
先ず、HTTPデーモンはサービスに固定的に割り当てられたポートを起動時に全てオープンする。例えば、通常のHTTP通信はポート「80」、SSL(Secure Sockets Layer)を使ったHTTP通信はポート「443」、画像形成装置に特有のIPP(Internet Printing Protocol)はポート「631」といったものである。
次いで、HTTPデーモンは自己がオープンしたポートで受け付けたHTTPリクエストに対し、HTTPリクエストに含まれるURLパスのチェックを行い、対応するWebアプリケーションに処理をディスパッチする。例えば、Webアプリケーション「Websys」のURLパスが「/websys/aaa」と定めてあった場合、HTTPリクエストにURLパス「/websys/aaa」が指定されていた場合はWebアプリケーション「Websys」に処理をディスパッチする。このとき特にポート番号のチェックは行わず、URLパスのチェックが通ればどのポート番号で受け付けたHTTPリクエストであっても対応するWebアプリケーションにディスパッチが行われる。なお、対応するURLパスが存在しない場合はエラーを返すことになる。
その後、Webアプリケーションで処理が行われ、結果としてHTML,XML,TEXT等の文書が生成されると、HTTPデーモンはリクエスト元のHTTPクライアントに結果を返す。
一方、装置内のアドレス可能な部分(例えば、プロセス)へのメッセージの経路をポート番号を用いて選択する先行技術が開示されている(例えば、特許文献1参照。)。
また、設計者が詳細を記述することなく特定のプラットフォーム向けのソフトウェアを容易に開発することができる方法等についての先行技術が開示されている(例えば、特許文献2参照。)。
特表2002−523924号公報 特開2000−250755号公報
上述した従来のネットサービス機能を有した画像形成装置におけるHTTPデーモンの動作は一般のWebサーバとは異なる特徴的なものであるが、次のような問題点があった。
すなわち、URLパスのチェックが通ればどのポート番号で受け付けたHTTPリクエストであっても対応するWebアプリケーションに処理が渡ってしまうことから、Webアプリケーションが想定していないポート番号からのHTTPアクセスを受け付けてしまう可能性があり、セキュリティ上の問題(セキュリティホールになりかねないという問題)があった。
また、遠隔診断サービス:NRS(New Remote Service)と呼ばれるような契約した特別なユーザしか使用しないアプリケーションに対応するポートがオープンされている可能性もあり、そのポートを介した不正アクセスなど、実際に使用していないポートがオープンされていることによるセキュリティ上の問題(セキュリティホールになりかねないという問題)があった。なお、実際に使用していないポートがオープンされる場合としては、上記のNRSの他に、ファックスボードが実装されていない場合にファックスアプリケーション用のポートがオープンされる場合など、画像形成装置では多くの原因が考えられる。
また、予め定められたポート番号が固定的に割り当てられてしまうため、独自のポート番号を用いた通信を行うことができず、Webアプリケーション側の自由度が低いという問題もあった。
以上の点はHTTPデーモンについてだけでなく、FTPデーモン(ftpd)等の他のネットサービスを扱うプロトコルデーモンについても同様に言える問題である。
一方、昨今ではサードパーティー(外部のソフトハウス等)によるアプリケーション開発を促進させるためSDK(Software Development Kit)と呼ばれる開発環境を提供することが多くなってきており、例えば画像形成装置上で動作可能な「特定業種向け文書管理ソフト」といったSDKアプリケーションも作成されることが想定される。
ところで、このようなSDKアプリケーションがネットサービス機能を伴う場合には、利用するポートを自由に選びたいというニーズに応える必要が出てくるが、従来の画像形成装置のプロトコルデーモンのメカニズムでは対応することができなかった。
更に、サードパーティー製のSDKアプリケーションを実行することを許容する以上、セキュリティについてもより慎重にならざるを得ず、上述した想定していないポート番号からの不正アクセス、および、使用されていないアプリケーション用のポートがオープンされているという問題を解決することも重要となっていた。
本発明は上記の問題点に鑑み提案されたものであり、その目的とするところは、画像形成装置を含む情報処理装置において、SDKアプリケーションがネットサービスに利用する任意のポートを選択可能とすると共に、ポートアクセスにおけるセキュリティの向上を図ることのできるネットサービス機能を有する情報処理装置およびネットサービス提供方法を提供することにある。
上記課題を解決するため、本発明は、請求項1に記載されるように、複数のポートから入ってくるリクエストをプロトコルデーモンが受け付け、当該リクエストに含まれるアプリケーションを特定する情報に基づいてアプリケーションに処理のディスパッチを行うネットサービス機能を有する情報処理装置において、上記アプリケーションからの依頼に基づき新たなポートを登録すると共に、上記アプリケーション毎に処理を受け付けるポートを対応付けて登録するポート登録部と、上記リクエストを受け付けたときに上記アプリケーションに対応するポートを取得して当該リクエストのポートと一致するか否かをチェックし、一致した場合にのみアプリケーションへのディスパッチを行うリクエスト処理部とを上記プロトコルデーモン内に備えるように構成している。
これにより、SDKアプリケーション等がネットサービスで使用する任意のポートを登録することができ、ニーズに応えることができる。また、想定しないポートからのリクエストがアプリケーションに渡ることがなくなり、セキュリティの向上を図ることができる。更に、アプリケーション毎に処理を受け付けるポートを登録するため、アプリケーション側のポート選定の自由度が高まる。
また、本発明は、請求項2に記載されるように、上記ポート登録部は、上記情報処理装置の起動後に上記アプリケーションからの依頼に基づいて処理を受け付けるポートの登録を行うと共に、登録の完了したポートについて動的にオープンするように構成することができる。
これにより、使われないポートについて不用意にオープンとされることがなくなり、セキュリティの向上を図ることができる。
また、本発明は、請求項3に記載されるように、上記ポートを登録する処理の後に処理の結果を示すメッセージをオペレーションパネルに表示するように構成することができる。これにより、SDKアプリケーションを導入する際に行う設定が適切に行われたか否かが明確になる。
また、本発明は、請求項4に記載されるように、上記ポート登録部と上記リクエスト処理部は、処理対象のポートの区別にポート識別子を用いように構成することができる。これにより、ポート番号を一斉に変更するような場合に容易に対応することができる。
また、本発明は、請求項5に記載されるように、上記ポート登録部は、ポート識別子と実際のポート番号とを対応付けて管理するポート識別子/ポート番号対応テーブルと、上記アプリケーションを識別するアプリIDと上記ポート識別子とを対応付けて管理するアプリID/ポート識別子対応テーブルとを用いてポートの登録を行うように構成することができる。これにより、データを適切に管理することができる。
また、本発明は、請求項6に記載されるように、上記ポート登録部は、上記アプリケーション毎に処理を受け付けるポートを対応付けて登録するに際し、上記アプリケーション毎にリクエストのディスパッチに用いるURLパスの登録を行うように構成することができる。これにより、アプリケーションからの依頼を連続して統一的に行うことができる。
また、本発明は、請求項7に記載されるように、上記ポート登録部は、上記アプリケーションを識別するアプリIDとURLパスとを対応付けて管理するアプリID/URLパス対応テーブルを用いてURLパスの登録を行うように構成することができる。これにより、データを適切に管理することができる。
また、本発明は、請求項8に記載されるように、上記リクエスト処理部は、ポート識別子と実際のポート番号とを対応付けて管理するポート識別子/ポート番号対応テーブルからリクエストのポート番号に対応する第1のポート識別子を取得し、上記アプリケーションを識別するアプリIDとURLパスとを対応付けて管理するアプリID/URLパス対応テーブルからリクエストのURLパスに対応するアプリIDを取得し、上記アプリケーションを識別するアプリIDと上記ポート識別子とを対応付けて管理するアプリID/ポート識別子対応テーブルから上記リクエストのURLパスに対応するアプリIDに更に対応する第2のポート識別子を取得し、上記第1および第2のポート識別子を比較することでポートの一致を判断するように構成することができる。これにより、リクエストを通過させるべきか否かのチェックを適切に行うことができる。
また、本発明は、請求項9に記載されるように、上記ポート識別子/ポート番号対応テーブルは上記プロトコルデーモンとは独立して管理されるように構成することができる。これにより、他のデーモン等のプロセスからもポート識別子/ポート番号対応テーブルを参照することが容易になる。
また、本発明は、請求項10に記載されるように、上記アプリID/ポート識別子対応テーブルは上記プロトコルデーモンの下で管理されるように構成することができる。これにより、自己の管理下で適切に使用することができる。
また、本発明は、請求項11に記載されるように、上記アプリID/URLパス対応テーブルは上記プロトコルデーモンの下で管理されるようにすることができる。これにより、自己の管理下で適切に使用することができる。
また、本発明は、請求項12に記載されるように、上記プロトコルデーモンはHTTPプロトコルデーモンであるものとすることができる。これにより、特に需要の多いWebサービスに適切に対応することができる。
また、本発明は、請求項13に記載されるように、SDKアプリケーションの格納されたメモリカードとの間でプログラムおよびデータの入出力を行うメモリカードインタフェースを備えるように構成することができる。これにより、外部から容易にSDKアプリケーションを導入することができる。
また、本発明は、請求項14に記載されるように、複数のポートから入ってくるリクエストをプロトコルデーモンが受け付け、当該リクエストに含まれるURLパスに基づいてアプリケーションに処理のディスパッチを行う情報処理装置のネットサービス提供方法において、上記プロトコルデーモンが、上記アプリケーションからの依頼に基づき新たなポートを登録すると共に、上記アプリケーション毎に処理を受け付けるポートを対応付けて登録する手順と、上記プロトコルデーモンが、上記リクエストを受け付けたときに上記アプリケーションに対応するポートを取得して当該リクエストのポートとが一致するか否かをチェックし、一致した場合にのみアプリケーションへのディスパッチを行う手順とを備えるネットサービス提供方法として構成することができる。
また、本発明は、請求項15に記載されるように、上記プロトコルデーモンは、上記情報処理装置の起動後に上記アプリケーションからの依頼に基づいて処理を受け付けるポートの登録を行うと共に、登録の完了したポートについてオープンするネットサービス提供方法として構成することができる。
本発明によれば、SDKアプリケーション側から処理を受け付けるポートを任意に登録可能であるため、アプリケーション側のポート選定の自由度を高めることができる。また、想定しないポートからのリクエストがアプリケーションに渡ることがなくなると共に、使われないポートについて不用意にオープンとされることがなくなり、ポートアクセスにおけるセキュリティの向上を図ることができる。
以下、本発明の実施の形態を図面に基づいて説明する。
図1は本発明を画像形成装置に適用した一実施例に係る画像形成装置の機能構成を示すブロック図である。
図1において、画像形成装置1は、アプリケーション層2とプラットフォーム層4とエンジン部8とを含む。インタフェース3はアプリケーション層2に対するプラットフォーム層4の提供するインタフェース(API)であり、インタフェース7はプラットフォーム層4とエンジン部8との間のインタフェース(エンジンI/F)である。
アプリケーション層2は画像形成装置1における個別の処理を行うソフトウェア群であり、コピー用のアプリケーションであるコピーアプリケーション21と、ファックス用のアプリケーションであるファックスアプリケーション22と、プリンタ用のアプリケーションであるプリンタアプリケーション23と、ネットワークを介してファイルのやりとりを行うネットファイル用のアプリケーションであるネットファイルアプリケーション24とを含む。また、Webアプリケーション20はHTTPプロトコルによるWebサービスを行うアプリケーション群であり、ブラウザを使って機器の状態を見たり、機器のネットワーク設定等をすることができるWebアプリケーション(Websys)25と、ネットファイルアプリケーション24の機能を使い、ブラウザを使って文書の引き取りおよび文書管理を行うWebアプリケーション(webdocbox)26と、プリンタのジョブ履歴(スプールの状態)等を表示するWebアプリケーション(GPS−web)27と、ファックスの初期設定やファックスの通信管理レポート(通信履歴)を表形式で見ることのできるWebアプリケーション(Fax−web)28とを含む。
また、NRSアプリケーション29は従来技術の部分でも説明したように、遠隔診断サービス:NRS(New Remote Service)と呼ばれる、契約した特別なユーザに提供される遠隔診断サービスを行うアプリケーションである。
更に、SDKアプリケーション200はサードパーティーによって開発されたアプリケーションであり、例えば「特定業種向け文書管理ソフト」といったようなものである。
なお、図では省略してあるが、アプリケーションとインタフェース3の間にはアプリケーションに対して共通的な機能を提供しソフトウェア開発を容易にするためのライブラリ(プラットフォーム)が適宜に設けられる。
一方、プラットフォーム層4はアプリケーション層2のアプリケーション21〜29,200に対してインタフェース3を介して共通的なサービス機能を提供するソフトウェア群であり、サービス層5とOS層6に分かれる。サービス層5には、アプリケーション管理、操作部制御、システム画面表示、LED表示、リソース管理、および割り込み制御等の複数の機能を有するSCS51と、ファックス機能のAPIを提供するFCS52と、エンジン部の制御を行うECS53と、メモリ制御を行うMCS54と、オペレータ(操作者)とのインタフェースとなる操作部(オペレーションパネル)の制御を行うOCS55と、ネットワーク入出力を必要とするアプリケーションに対して共通に利用できるサービスを提供するNCS56とが含まれる。OS層6にはOS(LPUX)61が含まれる。
一方、エンジン部8には、プロッタ81、スキャナ82、その他ハードウェアリソース83等のエンジンと、これらのエンジンを制御するエンジン制御ボード84とが含まれる。
図2は図1に示す画像形成装置のハードウェア構成を示すブロック図である。
図2において、画像形成装置1は、画像形成装置における主たる制御動作を行うコントローラ101にオペレーションパネル113とファックスコントロールユニット114とプロッタ81とスキャナ82とその他ハードウェアリソース83とが接続されて構成されている。
コントローラ101は、画像処理用途向けのICであるASIC102にブリッジとしてのNB105を介して一般制御用のICであるCPU106が接続され、NB105のバス(PCI BUS)に、周辺デバイス等との接続を行うブリッジであるSB108と、ネットワーク通信を制御するNIC109と、USBインタフェースを提供するUSB110と、IEEE1394インタフェースを提供するIEEE1394111と、セントロニクスインタフェースを提供するセントロニクス112と、SDKアプリケーション200の格納されたメモリカード116との間でプログラムおよびデータの入出力を行うメモリカードインタフェース115とが接続され、ASIC102に記憶装置としてのMEM−C103とHDD104が接続され、NB105に記憶装置としてのMEM−P107が接続されて構成されている。なお、メモリカードインタフェース115はUSB110の機能の一部または全部を利用するものとしてもよい。
図3は図1に示す画像形成装置のネットサービス機能に関する部分の機能構成を示すブロック図である。
図3において、NCS56は図1のサービス層5におけるものと同じであり、本発明の機能に関係する内部構成のみを示している。なお、図3の上部に同名のNCS56Aが示されており、NCS56と一体をなすものであるが、機能的に分けて示してある。
NCS56にはインタフェース3を介し、SDKアプリケーション200が配置されている。
また、NCS56にはインタフェース3を介し、Webアプリライブラリ202およびWebページライブラリ201を挟んで、Webアプリケーション(Websys)25等のWebアプリケーション20が配置されている。
一方、NCS56にはHTTPのプロトコルに関する処理を行うHTTPデーモン561と、FTPのプロトコルに関する処理を行うFTPデーモン564が含まれており、HTTPデーモン561にはIPPライブラリ203を介してプリンタアプリケーション23が配置されている。ここで、IPPライブラリ203はHTTPのプロトコルを使った印刷であるIPP(Internet Printing Protocol)に対応させるためのものであり、HTTPデーモン561から直接にIPPライブラリ203を経由してプリンタアプリケーション23にジョブを渡すようにしている。
一方、HTTPクライアント9はネットワークを経由してリクエストを出しレスポンスを受ける部分であり、通常はパーソナルコンピュータ上で稼動するブラウザである。
HTTPデーモン561の内部構成について説明すると、HTTPデーモン561には、アプリケーション(200,25,23等)からの依頼に基づき新たなポートを登録すると共に、アプリケーション毎に処理を受け付けるポートを対応付けて登録する処理等を行うポート登録部562と、ネットワークを経由してHTTPクライアント9からリクエストを受け付けたときにアプリケーションに対応するポートを取得して当該リクエストのポートとが一致するか否かをチェックし、一致した場合にのみアプリケーションへのディスパッチを行うリクエスト処理部563と、アプリケーションを識別するアプリIDとURLパスとを対応付けて管理するアプリID/URLパス対応テーブルT2と、アプリケーションを識別するアプリIDとポート識別子とを対応付けて管理するアプリID/ポート識別子対応テーブルT3とを含んでいる。
ここで、「URLパス」とはHTTPリクエストを例えば「http://xxx.xxx.xxx.xxx/web/user/ja/websys/webArch/mainFrame.cgi」とした場合、ホスト「xxx.xxx.xxx.xxx」の次から最後までの「web/user/ja/websys/webArch/mainFrame.cgi」部分を意味するものである。ちなみに、ホスト「xxx.xxx.xxx.xxx」に続く1階層分の「web」部分は「アプリケーションパス」と呼ばれる。
また、アプリID/URLパス対応テーブルT2およびアプリID/ポート識別子対応テーブルT3はHTTPデーモン561の管理するメモリ上に配置される。これは、他のプロセスでは使用されないデータであると共に、セキュリティの確保からデータを適切に管理するためである。なお、アプリID/URLパス対応テーブルT2およびアプリID/ポート識別子対応テーブルT3は画像形成装置1の起動直後は空の状態であり、その後のポート登録部562の動作によりデータが登録されていく。
また、HTTPデーモン561のポート登録部562からはOCS55に対してメッセージ表示のための依頼が送られるようになっており、OCS55にはオペレーションパネル113が接続されている。
一方、NCS56の外にポート識別子と実際のポート番号とを対応付けて管理するポート識別子/ポート番号対応テーブルT1が設けられている。このポート識別子/ポート番号対応テーブルT1はハードディスク装置等にファイルとして存在すると共に、画像形成装置1の起動後はメモリ上にコピーされて使用されるものである。これは、ポート識別子とポート番号の対応を示すに過ぎないものであると共に、他のプロセス、例えばFTPデーモン564等によって参照される可能性のあるデータであるからである。なお、ポート識別子/ポート番号対応テーブルT1は予めポート識別子とポート番号とが管理者等によって登録されているものであると共に、後述するようにアプリケーション側からも登録が可能となっている。
図4はポート識別子/ポート番号の登録の処理手順を示すシーケンス図である。
以下、図4に沿ってポート識別子/ポート番号の登録の処理手順を説明する。
先ず、画像形成装置1の起動後の任意の時点でいずれかのアプリケーション(200,25,23等)から利用するポート番号と対応するポート識別子の登録の依頼がHTTPデーモン561に対して行われると(ステップS1)、HTTPデーモン561のポート登録部562はポート識別子/ポート番号対応テーブルT1を参照して依頼されたポート識別子が既に登録されているか否かを確認する(ステップS2)。
そして、登録されていなかった場合、HTTPデーモン561のポート登録部562はポート識別子/ポート番号対応テーブルT1に対してポート番号とポート識別子とを対応付けて登録する(ステップS3)。既に登録されていた場合は重複して登録は行わない。
その後、HTTPデーモン561のポート登録部562は処理結果の表示をOCS55に依頼し(ステップS4)、OCS55はオペレーションパネル113を制御して結果を表示する(ステップS5)。
図5は上記のポート識別子/ポート番号の登録におけるアプリケーションからの依頼とテーブルに登録される内容の関係を示す図である。
図5においては、SDKアプリケーション200から依頼D1としてポート番号「2003」、ポート識別子「New Port」の登録依頼があったものとしており、これが新たなポートとしてポート識別子/ポート番号対応テーブルT1に登録された状態を示している。
また、図6および図7は上記のポート識別子/ポート番号の登録におけるオペレーションパネル113でのメッセージの例を示す図である。すなわち、ポート識別子/ポート番号の登録が成功した場合には、図6に示すように「ポート識別子NewPortの登録に成功しました。」というメッセージM1が画面の上部に一行メッセージとして表示される。また、登録が失敗した場合には、図7に示すように「ポート識別子の登録に失敗しました。ポート識別子NewPortは既に登録されています。」というメッセージM2が画面の上部に一行メッセージとして表示される。なお、一行メッセージとは、画像形成装置に致命的でないエラー等につき行われる簡易型のメッセージである。
図8はアプリID/URLパスおよびアプリID/ポート識別子の登録の処理手順を示すシーケンス図である。
以下、図8に沿ってアプリID/URLパスおよびアプリID/ポート識別子の登録の処理手順を説明する。
先ず、画像形成装置1の起動後の任意の時点でいずれかのアプリケーション(200,25,23等)から、自己を示すアプリIDを伴って利用するURLパスの登録の依頼がHTTPデーモン561に対して行われると(ステップS11)、HTTPデーモン561のポート登録部562はアプリID/URLパス対応テーブルT2を参照し、依頼されたアプリIDとURLパスの組み合わせが既に登録されているか否かを確認する(ステップS12)。
そして、登録されていなかった場合、HTTPデーモン561のポート登録部562はアプリID/URLパス対応テーブルT2に対して依頼されたアプリIDとURLパスとを対応付けて登録する(ステップS13)。既に登録されていた場合は重複して登録は行わない。
その後、HTTPデーモン561のポート登録部562は処理結果の表示をOCS55に依頼し(ステップS14)、OCS55はオペレーションパネル113を制御して結果を表示する(ステップS15)。
次いで、アプリケーションから自己へのアクセスを許可するリクエストのポートに対応するポート識別子の登録の依頼が行われると(ステップS16)、HTTPデーモン561のポート登録部562は依頼元のアプリケーションを識別するアプリIDと指定されたポート識別子を対応付けてアプリID/ポート識別子対応テーブルT3に登録する(ステップS17)。
次いで、HTTPデーモン561のポート登録部562はポート識別子/ポート番号対応テーブルT1を参照し、登録の完了したポート識別子に対応するポート番号を取得し(ステップS18)、そのポート番号のポートがオープンされているか否かを判断した上でオープンされていない場合(クローズの場合)はそのポートを動的にオープンする(ステップS19)。
図9は上記のアプリID/URLパスおよびアプリID/ポート識別子の登録におけるアプリケーションからの依頼とテーブルに登録される内容の関係を示す図である。
図9において、Webアプリケーション(Websys)25, プリンタアプリケーション23,SDKアプリケーション200からそれぞれ依頼D2,D3,D4が前後して行われた場合、図8に示した処理手順により、アプリID/URLパス対応テーブルT2およびアプリID/ポート識別子対応テーブルT3にデータが登録される。すなわち、例えば依頼D2については、依頼元のアプリケーションを識別するアプリID「Websys」と指定されたURLパス「/websys/aaa」「/websys/bbb」が対応付けられてアプリID/URLパス対応テーブルT2に登録され、アプリID「Websys」と指定されたポート識別子「HTTP」「HTTPS」が対応付けられてアプリID/ポート識別子対応テーブルT3に登録される。
そして、個々の依頼D2〜D4につき、アプリID/ポート識別子対応テーブルT3への登録が完了した時点でポート識別子/ポート番号対応テーブルT1の参照を経由してポートがオープンされる。
このように、画像形成装置1の起動後に依頼のあったポートについてのみ登録を行い、動的にオープンするようにしているので、使われていないサービスに対応するポートが不用意にオープンされることがなくなり、不正なアクセスを低減させてセキュリティを向上させることができる。
また、図10および図11は上記のアプリID/URLパスの登録におけるオペレーションパネル113でのメッセージの例を示す図である。すなわち、アプリID/URLパスの登録が成功した場合には、図10に示すように「URL /sdkapp1/dddの追加に成功しました。」というメッセージM3が画面の上部に一行メッセージとして表示される。また、登録が失敗した場合には、図11に示すように「URLの追加に失敗しました。/sdkapp1/dddは既に登録されています。」というメッセージM4が画面の上部に一行メッセージとして表示される。
図12はリクエスト受付時の処理手順を示すシーケンス図である。
図12において、HTTPクライアント9からネットワークを経由してリクエストが行われると(ステップS21)、NCS56のHTTPデーモン561がそのリクエストを受け付ける。
そして、HTTPデーモン561のリクエスト処理部563はリクエストを受け付けたポート番号を認識した上でポート識別子/ポート番号対応テーブルT1を参照し、そのポート番号に対応するポート識別子を取得する(ステップS22)。
次いで、HTTPデーモン561のリクエスト処理部563はリクエストで指定されたURLパスを認識した上でアプリID/URLパス対応テーブルT2を参照し、そのURLパスに対応するアプリIDを取得する(ステップS23)。
次いで、HTTPデーモン561のリクエスト処理部563は取得したアプリIDに基づき、アプリID/ポート識別子対応テーブルT3を参照し、そのアプリIDに対応するポート識別子を取得する(ステップS24)。
そして、ステップS22で取得したポート識別子とステップS24で取得したポート識別子とを比較し、一致する場合にはURLパスで指定されるアプリケーションにリクエストをディスパッチし(ステップS25)、一致しない場合にはHTTPクライアント9に対してエラーを返す(ステップS26)。
図13は上記のリクエスト受付時のポートのチェックにおけるリクエストとテーブルの内容の関係を示す図である。
図13において、到来したリクエストR1がポート番号「2003」、URLパス「/sdkapp1/aaa」であったとすると、図12に示した処理手順により、リクエストR1のポート番号「2003」からポート識別子/ポート番号対応テーブルT1の参照によりポート識別子「NewPort」が得られる。一方で、リクエストR1のURLパス「/sdkapp1/aaa」からアプリID/URLパス対応テーブルT2の参照によりアプリID「SDKApp1」が得られ、このアプリID「SDKApp1」に基づきアプリID/ポート識別子対応テーブルT3の参照によりポート識別子「NewPort」が得られる。
ここで、両者が比較されることになるが、ここでは同じ「NewPort」であるため一致すると判断され、アプリケーションへのディスパッチが行われる。なお、比較はリクエストのポート番号とURLパスとからそれぞれ求めたポート識別子に共通のものがあるか否かという観点で一致を見るため、一方(アプリID/ポート識別子対応テーブルT3から求めたポート識別子)が複数となる場合であっても、両者の間に共通するものがあれば一致すると判断される。
このように、アプリケーションが予め登録したポートからのリクエストしかディスパッチしないようにしているので、想定しないポートからのリクエストがアプリケーションに渡ることがなくなり、セキュリティの向上を図ることができる。
上記の実施例においては、HTTPデーモン561について説明したが、FTPデーモン564(図3)等の他のプロトコルデーモンについても同様である。すなわち、プロトコルデーモン内にポート登録部、リクエスト処理部、アプリID/URLパス対応テーブル、アプリID/ポート識別子対応テーブルを設けることにより、他のプロトコルにおいても、想定しないポートからのリクエストを防止し、使用しないポートの不用意なオープンを防止することができる。
本発明の一実施例に係る画像形成装置の機能構成を示すブロック図である。 図1に示す画像形成装置のハードウェア構成を示すブロック図である。 図1に示す画像形成装置のWebサービス機能に関する部分の機能構成を示すブロック図である。 ポート識別子/ポート番号の登録の処理手順を示すシーケンス図である。 ポート識別子/ポート番号の登録におけるアプリケーションからの依頼とテーブルに登録される内容の関係を示す図である。 ポート識別子/ポート番号の登録が成功した際のオペレーションパネルにおけるメッセージの例を示す図である。 ポート識別子/ポート番号の登録が失敗した際のオペレーションパネルにおけるメッセージの例を示す図である。 アプリID/URLパスおよびアプリID/ポート識別子の登録の処理手順を示すシーケンス図である。 アプリID/URLパスおよびアプリID/ポート識別子の登録におけるアプリケーションからの依頼とテーブルに登録される内容の関係を示す図である。 アプリID/URLパスの登録が成功した際のオペレーションパネルにおけるメッセージの例を示す図である。 アプリID/URLパスの登録が失敗した際のオペレーションパネルにおけるメッセージの例を示す図である。 リクエスト受付時の処理手順を示すシーケンス図である。 リクエスト受付時のポートのチェックにおけるリクエストとテーブルの内容の関係を示す図である。
符号の説明
1 画像形成装置
20 Webアプリケーション
25 Webアプリケーション(Websys)
26 Webアプリケーション(webdocbox)
200 SDKアプリケーション
56 NCS
561 HTTPデーモン
562 ポート登録部
563 リクエスト処理部
T1 ポート識別子/ポート番号対応テーブル
T2 アプリID/URLパス対応テーブル
T3 アプリID/ポート識別子対応テーブル
115 メモリカードインタフェース
116 メモリカード

Claims (15)

  1. 複数のポートから入ってくるリクエストをプロトコルデーモンが受け付け、当該リクエストに含まれるアプリケーションを特定する情報に基づいてアプリケーションに処理のディスパッチを行うネットサービス機能を有する情報処理装置において、
    上記アプリケーションからの依頼に基づき新たなポートを登録すると共に、上記アプリケーション毎に処理を受け付けるポートを対応付けて登録するポート登録部と、
    上記リクエストを受け付けたときに上記アプリケーションに対応するポートを取得して当該リクエストのポートと一致するか否かをチェックし、一致した場合にのみアプリケーションへのディスパッチを行うリクエスト処理部とを上記プロトコルデーモン内に備えたことを特徴とするネットサービス機能を有する情報処理装置。
  2. 上記ポート登録部は、上記情報処理装置の起動後に上記アプリケーションからの依頼に基づいて処理を受け付けるポートの登録を行うと共に、登録の完了したポートについて動的にオープンする請求項1に記載のネットサービス機能を有する情報処理装置。
  3. 上記ポートを登録する処理の後に処理の結果を示すメッセージをオペレーションパネルに表示する請求項1または2のいずれか一項に記載のネットサービス機能を有する情報処理装置。
  4. 上記ポート登録部と上記リクエスト処理部は、処理対象のポートの区別にポート識別子を用いた請求項1乃至3のいずれか一項に記載のネットサービス機能を有する情報処理装置。
  5. 上記ポート登録部は、ポート識別子と実際のポート番号とを対応付けて管理するポート識別子/ポート番号対応テーブルと、上記アプリケーションを識別するアプリIDと上記ポート識別子とを対応付けて管理するアプリID/ポート識別子対応テーブルとを用いてポートの登録を行う請求項4に記載のネットサービス機能を有する情報処理装置。
  6. 上記ポート登録部は、上記アプリケーション毎に処理を受け付けるポートを対応付けて登録するに際し、上記アプリケーション毎にリクエストのディスパッチに用いるURLパスの登録を行う請求項1乃至5のいずれか一項に記載のネットサービス機能を有する情報処理装置。
  7. 上記ポート登録部は、上記アプリケーションを識別するアプリIDとURLパスとを対応付けて管理するアプリID/URLパス対応テーブルを用いてURLパスの登録を行う請求項6に記載のネットサービス機能を有する情報処理装置。
  8. 上記リクエスト処理部は、ポート識別子と実際のポート番号とを対応付けて管理するポート識別子/ポート番号対応テーブルからリクエストのポート番号に対応する第1のポート識別子を取得し、上記アプリケーションを識別するアプリIDとURLパスとを対応付けて管理するアプリID/URLパス対応テーブルからリクエストのURLパスに対応するアプリIDを取得し、上記アプリケーションを識別するアプリIDと上記ポート識別子とを対応付けて管理するアプリID/ポート識別子対応テーブルから上記リクエストのURLパスに対応するアプリIDに更に対応する第2のポート識別子を取得し、上記第1および第2のポート識別子を比較することでポートの一致を判断する請求項4乃至7のいずれか一項に記載のネットサービス機能を有する情報処理装置。
  9. 上記ポート識別子/ポート番号対応テーブルは上記プロトコルデーモンとは独立して管理される請求項5または8のいずれか一項に記載のネットサービス機能を有する情報処理装置。
  10. 上記アプリID/ポート識別子対応テーブルは上記プロトコルデーモンの下で管理される請求項5または8のいずれか一項に記載のネットサービス機能を有する情報処理装置。
  11. 上記アプリID/URLパス対応テーブルは上記プロトコルデーモンの下で管理される請求項7または8のいずれか一項に記載のネットサービス機能を有する情報処理装置。
  12. 上記プロトコルデーモンはHTTPプロトコルデーモンである請求項1乃至11のいずれか一項に記載のネットサービス機能を有する情報処理装置。
  13. SDKアプリケーションの格納されたメモリカードとの間でプログラムおよびデータの入出力を行うメモリカードインタフェースを備えた請求項1乃至12のいずれか一項に記載のネットサービス機能を有する情報処理装置。
  14. 複数のポートから入ってくるリクエストをプロトコルデーモンが受け付け、当該リクエストに含まれるURLパスに基づいてアプリケーションに処理のディスパッチを行う情報処理装置のネットサービス提供方法において、
    上記プロトコルデーモンが、上記アプリケーションからの依頼に基づき新たなポートを登録すると共に、上記アプリケーション毎に処理を受け付けるポートを対応付けて登録する手順と、
    上記プロトコルデーモンが、上記リクエストを受け付けたときに上記アプリケーションに対応するポートを取得して当該リクエストのポートとが一致するか否かをチェックし、一致した場合にのみアプリケーションへのディスパッチを行う手順とを備えたネットサービス提供方法。
  15. 上記プロトコルデーモンは、上記情報処理装置の起動後に上記アプリケーションからの依頼に基づいて処理を受け付けるポートの登録を行うと共に、登録の完了したポートについてオープンする請求項14に記載のネットサービス提供方法。
JP2003323539A 2003-09-16 2003-09-16 ネットサービス機能を有する情報処理装置およびネットサービス提供方法 Expired - Fee Related JP4190991B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2003323539A JP4190991B2 (ja) 2003-09-16 2003-09-16 ネットサービス機能を有する情報処理装置およびネットサービス提供方法
US10/938,717 US20050114469A1 (en) 2003-09-16 2004-09-13 Information processing apparatus with a network service function and method of providing network services

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003323539A JP4190991B2 (ja) 2003-09-16 2003-09-16 ネットサービス機能を有する情報処理装置およびネットサービス提供方法

Publications (2)

Publication Number Publication Date
JP2005092457A JP2005092457A (ja) 2005-04-07
JP4190991B2 true JP4190991B2 (ja) 2008-12-03

Family

ID=34454590

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003323539A Expired - Fee Related JP4190991B2 (ja) 2003-09-16 2003-09-16 ネットサービス機能を有する情報処理装置およびネットサービス提供方法

Country Status (1)

Country Link
JP (1) JP4190991B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307058B2 (en) 2008-09-16 2012-11-06 Ricoh Company, Ltd. Apparatus, method, and computer program product for processing information

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170265067A1 (en) * 2014-08-07 2017-09-14 Nec Corporation Communication terminal device and transmission and reception method therefor, and recording medium containing computer program

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8307058B2 (en) 2008-09-16 2012-11-06 Ricoh Company, Ltd. Apparatus, method, and computer program product for processing information

Also Published As

Publication number Publication date
JP2005092457A (ja) 2005-04-07

Similar Documents

Publication Publication Date Title
AU2006232450B2 (en) System and method for managing documents with multiple network applications
US7490139B2 (en) Embedded business apparatus including web server function
US9398084B2 (en) Information processing system
JP5485246B2 (ja) 画像形成装置
EP2639735A1 (en) Information processor and recording medium
US9513847B2 (en) Tools for facilitating printer installation
JP2006221612A (ja) 情報処理装置、情報処理方法、ならびにプログラム、記憶媒体
US10051154B2 (en) Information processing apparatus, control method in information processing apparatus, and image processing apparatus
US20120096465A1 (en) Image forming apparatus, log management method, and storage medium
US11140294B2 (en) Communication device, non-transitory computer-readable recording medium storing computer-readable instructions for communication device, and method executed by communication device
US20050114469A1 (en) Information processing apparatus with a network service function and method of providing network services
US20090300478A1 (en) Image forming apparatus, information processing method and program
JP4097584B2 (ja) Wwwサーバ機能を有する組み込み機器、ウェブページ提供方法、および、ウェブページ提供制御プログラム
JP2009253853A (ja) 画像形成装置、情報処理方法、及びプログラム
US20090249346A1 (en) Image forming apparatus, information processing apparatus and information processing method
JP4394725B2 (ja) 組み込み機器、リクエスト振り分け方法、および、リクエスト振り分けプログラム
JP4190991B2 (ja) ネットサービス機能を有する情報処理装置およびネットサービス提供方法
JP2004171571A (ja) ドキュメント管理方法およびシステム
JP5686719B2 (ja) 画像形成装置、アプリケーション管理装置、およびアプリケーション管理システム
JP7408775B2 (ja) 多機能デバイス、システム、多機能デバイスを構成する方法、及びプログラム
JP4458799B2 (ja) ネットサービス機能を有する情報処理装置およびネットサービス提供方法
JP2005094079A (ja) 複合機、ネットワークシステム、制御方法、および制御プログラム
JP2005071040A (ja) 機器、ユーザ認証装置及びユーザ認証方法
JP2019070884A (ja) 情報処理装置
JP4602093B2 (ja) 通信装置、通信システム、通信装置の制御方法、プログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20051013

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080725

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080819

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080917

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110926

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110926

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120926

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130926

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees