(57)【特許請求の範囲】
【請求項１】
ネットワーク上のクライアントに対して、ＷＷＷサーバの提供外の独自情報をＨＴＴＰプロトコルに従って提供する情報処理装置であって、
前記ＷＷＷサーバが提供するサービスの要求か、現在のカメラからの映像をクライアントに転送するサービスを含む独自に提供するサービスの要求かを識別するための識別情報を記憶する記憶手段と、
クライアントからの要求があった場合、当該要求が、独自に提供するサービスの要求か否かを、前記記憶手段に記憶された識別情報を参照して判断する判別手段と、
該判別手段によって独自に提供するサービスの要求であって、前記現在のカメラからの映像の要求であると判別した場合、当該現在のカメラからの映像をクライアントに転送する処理を行なう制御手段と、
前記判別手段によって前記ＷＷＷサーバが提供するサービスの要求であると判別した場合、当該要求を前記ＷＷＷサーバに転送する転送手段とを備えることを特徴とする情報処理装置。
【請求項２】
前記制御手段は、独自情報のサービスを行なう処理モジュールに、クライアントからの要求内容を渡す処理を行なうことを特徴とする請求項第１項に記載の情報処理装置。
【請求項３】
前記独自に提供するサービスは、さらに、アングルを制御可能なカメラの制御サービスを含むことを特徴とする請求項第１項に記載の情報処理装置。
【請求項４】
請求項第１項に記載の前記情報処理装置を数珠繋ぎにして構成されるシステム。
【請求項５】
ネットワーク上のクライアントに対して、ＷＷＷサーバの提供外の独自情報をＨＴＴＰプロトコルに従って提供する情報処理装置の制御方法であって、
クライアントからの要求があった場合、当該要求が、現在のカメラからの映像をクライアントに転送するサービスを含む独自に提供する情報に対する要求か否かを、予め記憶された識別情報を参照して判断する判別工程と、
該判別工程によって独自に提供するサービスの要求であって、前記現在のカメラからの映像の要求であると判別した場合、当該現在のカメラからの映像をクライアントに転送する処理を行なわせる制御工程と、
前記判別工程によって前記ＷＷＷサーバが提供するサービスの要求であると判別した場合、当該要求を前記ＷＷＷサーバに転送する転送工程とを備えることを特徴とする情報処理装置の制御方法。
【請求項６】
前記制御工程によって、クライアントからの要求に対して行わされる処理は、独立した工程であることを特徴とする請求項第５項に記載の情報処理装置の制御方法。
【請求項７】
コンピュータが読み込み実行することで、ネットワーク上のクライアントに対して、ＷＷＷサーバの提供外の独自情報をＨＴＴＰプロトコルに従って提供する情報処理装置として機能するプログラムを格納した記憶媒体であって、
クライアントからの要求があった場合、当該要求が、現在のカメラからの映像をクライアントに転送するサービスを含む独自に提供する情報に対する要求か否かを、予め記憶された識別情報を参照して判断する判別手段と、
該判別手段によって独自に提供するサービスの要求であって、前記現在のカメラからの映像の要求であると判別した場合、当該現在のカメラからの映像をクライアントに転送する要求に対応する処理手段を実行させる制御手段と、
前記判別手段によって前記ＷＷＷサーバが提供するサービスの要求であると判別した場合、当該要求を前記ＷＷＷサーバに転送する転送手段として機能するプログラムコードを格納した記憶媒体。
【請求項８】
前記処理手段として機能するプログラムコードは、前記判別手段、制御手段、転送手段の各プログラムコードとは独立したモジュールとなっていることを特徴とする請求項第７項に記載の記憶媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は情報処理装置及びシステム及び方法及び記憶媒体、詳しくは、ＨＴＴＰプロトコルに従って情報を提供する情報処理装置及びシステム及び方法及び記憶媒体に関するものである。
【０００２】
【従来の技術】
インターネット等で用いられているＨＴＴＰプロトコルで、既存の一般的なＷＷＷサーバが提供していないライブ映像サービスなどを実現する場合、新しい独立したプログラムモジュールを作成することが必要になる。ＷＷＷサービスと共に上記独自の拡張サービスを提供する場合には、作成したモジュールと同時に別途ＷＷＷサーバを運用し、これらのサービスを同時に行なうことが必要になる。
【０００３】
【発明が解決しようとする課題】
ＷＷＷサーバと独自サーバを同時に立ち上げて、両サービスをＨＴＴＰプロトコルで提供する場合、両サービスのＦｉｒｅＷａｌｌ通過に問題が起こる可能性がある。２つのサーバは別々の実行モジュールとなるので、１つのマシン上で動作させる場合、別々の通信ポートを利用せざる得ない。
【０００４】
ＦｉｒｅＷａｌｌがＨＴＴＰのデフォルトポートである８０番のみを通過させるような設定になっていると、どちらかのサービスがＦｉｒｅＷａｌｌを越えてクライアント（映像を受信する側の端末）にサービスできなくなる。
【０００５】
このような状況で両サービスをＦｉｒｅＷａｌｌを通過させるためには、それぞれのサービス用にマシンを２台用意するか、独自サービスのモジュールにＷＷＷサーバの機能を実装する必要がある。
【０００６】
【課題を解決するための手段】
本発明はサーバの提供する情報、提供外の独自の情報であっても汎用プロトコルに従ってクライアントに提供できる情報処理装置及びシステム及び方法及び記憶媒体を提供しようとするものである。
【０００７】
このため、例えば本発明の情報処理装置は以下の構成を備える。すなわち、
ネットワーク上のクライアントに対して、ＷＷＷサーバの提供外の独自情報をＨＴＴＰプロトコルに従って提供する情報処理装置であって、
前記ＷＷＷサーバが提供するサービスの要求か、現在のカメラからの映像をクライアントに転送するサービスを含む独自に提供するサービスの要求かを識別するための識別情報を記憶する記憶手段と、
クライアントからの要求があった場合、当該要求が、独自に提供するサービスの要求か否かを、前記記憶手段に記憶された識別情報を参照して判断する判別手段と、
該判別手段によって独自に提供するサービスの要求であって、前記現在のカメラからの映像の要求であると判別した場合、当該現在のカメラからの映像をクライアントに転送する処理を行なう制御手段と、
前記判別手段によって前記ＷＷＷサーバが提供するサービスの要求であると判別した場合、当該要求を前記ＷＷＷサーバに転送する転送手段とを備える。
【０００８】
また、本発明の好適な実施態様に従えば、ＦｉｒｅＷａｌｌを介してのクライアントからの要求に対し、独自サーバの通信ポートのみで独自のサービスを提供し、独自サービスではないＨＴＴＰ要求に関しては、その通信をスルーして、ＷＷＷサーバ側にそのまま送信することで、両サービスを１つの通信ポートで提供するを可能ならしめる情報サービス装置及びシステム及び方法及び記憶媒体を提供しようとするものである。
【０００９】
【発明の実施の形態】
以下、添付図面に従って本発明に係る実施形態を詳細に説明する。
【００１０】
図１は実施形態における全体的な構成を示している。図中、１０２は一般のＷＷＷサーバであって、１０１はＷＷＷサーバ１０１では提供されない独自のサービスを提供するための独自サービスサーバである。
【００１１】
ここでの独自サービスサーバ１０１上で動作する独自モジュールであるが、既に本願出願人が幾つか提案しているカメラで撮影された生の映像をクライアントに向けて転送するサーバモジュールとする。これは現在のカメラからの映像をクライアント上で動作しているＷｅｂブラウザからの要求に基づき、ＨＴＴＰプロトコルを用いて、ＪＰＥＧ画像で返送するサービスを実現するモジュールである。ＨＴＴＰプロトコルを用いる理由は、企業内のネットワークユーザがＦｉｒｅＷａｌｌを越えてサービスを要求し、サービスを受けることを可能にするためである。またこの独自サービスの例としては静止画サービスに限らず、ＨＴＴＰによる動画サービスや音声サービスも考えられるが、ここでの詳述は省略する。
【００１２】
さて、このような場合、独自サービスを提供するマシンを使って、尚且つ、一般のＷＷＷサービスを提供する場合には、単純な構成として図２のような、構成が考えられる。この場合、独自サービスモジュール２０１はＷＷＷサービスモジュール２０２と異なる実行モジュールとなるため使用する通信ポートは別々のものを利用することとなる。しかしながら、ＦｉｒｅＷａｌｌの設定がＨＴＴＰプロトコルのデフォルトポートしか通さない構成になっていると、図２のように一方のポートのサービスがＦｉｒｅＷａｌｌを通過しなくなる。
【００１３】
このとき２つのサービスの両方を受けるためには、図３（ａ）のように、それぞれのサービス毎に計２台のマシンをＦａｉｒＷａｌｌとして設定しなければならないか、同図（ｂ）の如く、独自サービスのモジュールにＷＷＷサーバ機能を実装する形態が考えられる。しかしながら、前者はハードウェア等の設置コスト、後者は開発コストの点で問題があった。
【００１４】
そこで本実施形態では、図１の構成に基づき、独自サービス以外のコマンドに関しては、別途指定されたＷＷＷサーバへ通信を仲介することで、２つのモジュールがありながら１つのポートで両者のサービスをサポートすることを可能とする。
【００１５】
独自モジュール側では図４のようなコマンドテーブル（実施形態における独自サービスサーバは通常のパーソナルコンピュータ等で実現できるので、このテーブルはハードディスクやＲＡＭ等に記憶されることになる）を持ち、その中のコマンドに関しては自ら処理を行なう。また、テーブルにないコマンドに関してはＷＷＷサーバ側にそのまま送信し、その返答をそのままクライアントに中継し返送する。
【００１６】
以下、より詳細を説明する。例えば独自サービスとして提供する際のカメラ制御及び映像獲得要求は、例えば、
http://service_host/CameraControl?pan=10&tilt=5&zoom=30
http://service_host/GetImage
のように記述する。
【００１７】
クライアントは上記のような要求をモジュール１０１の８０番ポートに要求することになる。
【００１８】
独自サービスサーバのモジュール１０１は、この要求を分析しオペレータ部分（上記の例では「CameraControl」や「GetImage」に相当する部分）を抜き出し、テーブル４０１の内容と比較する。上記のようなカメラ制御や映像要求のオペレータである「CameraControl」や「GetImage」はテーブル４０１の中に存在するので、モジュール１０１内で処理を行い、結果をクライアントに返送する。
【００１９】
例えば「CameraControl」の場合、それに続くpan=10&tilt=5&zoom=30部分の情報によりカメラを制御し、そのカメラ制御終了後に文字列”ＯＫ”を返す。容易に推察されるように、この場合は、カメラのパン角を１０°、チルト角を５°、そしてズーム値（ズーム画角に相当する）を３０にすべく、カメラを制御することになる。「GetImage」は、現在のカメラからの映像を撮りこみ、それをＪＰＥＧ画像として返送させるものである。尚、カメラを制御し、その撮影映像をクライアントに転送する技術そのものについては本願出願人が既に幾つか提案しているので、ここでは詳述しない。
【００２０】
また、ＷＷＷサーバ１０２への要求である、
http://service_host/wwwroot/index.html
なども一旦１０１モジュールの８０番ポートが受けることになる。上記と同様にオペレータ部分「wwwroot」を抜き出すが、テーブル４０１を参照してもそれが存在しないことが確認できる。この場合ＷＷＷサーバのサービスポートが８０８０だとすると、モジュール１０１があたかもクライアントとなり、ＷＷＷサーバ１０２に、
http://service_host:8080/wwwroot/index.html
を要求する。ＷＷＷサーバがこの要求に対して返送したものをそのままもとのクライアントに返送し、この要求に対する処理を終了する。
【００２１】
以上の動作をまとめると、実施形態における独自サーバ１０１は、図６に示すフローチャートに従って動作することになる。図示の如く、ステップＳ１〜７のモジュールと、ステップＳ１１、１２で示されるモジュールの２つが動作することになる。
【００２２】
先ず、ステップＳ１で、FireWallを介するにしても、クライアントからＨＴＴＰの要求があることを検出すると、処理はステップＳ２に進み、本独自サーバ１０１が固有のサービスに関する指示コマンドがあるかを、テーブル４０１を参照して調べる。そして、この結果、テーブル４０１に存在しない、すなわち、一般のＷＷＷサーバ向けの記述のみがあると判断した場合にはステップＳ３からステップＳ４に進み、先に説明したような形式で（発信元が独自サーバであるかのようにして）ＷＷＷサーバに向けて転送する。この結果、そのＷＷＷサーバからＨＴＴＰプロトコルに従ってファイルが転送されてくるので、それを受信し（ステップＳ５）、それを本来のクライアントに向けて送信し（ステップＳ６）、ステップＳ１に戻る。
【００２３】
さて、クライアントからの要求中に独自サーバ専用のコマンドの存在が確かめられると、処理はステップＳ７に進み、そのコマンドを引数として独自処理を行なう拡張モジュールを実行させ、ステップＳ１に戻る。
【００２４】
拡張モジュールは、図示の如く、ステップＳ１１において、受け取ったコマンドを解釈し、そのコマンドに基づく処理、例えば、カメラのアングル（パン角、チルト角、ズーム値）を変更させたり、撮影した映像を取り込んだりする。そして、ステップＳ１２において、その結果をクライアントに応答する。応答内容は各コマンドに依存するものであり、例えばカメラアングルの変更指示の場合にはそれが完了した、もしくは受信した旨をクライアントに通知するだけで良いし、「GetImage」コマンドの場合には、撮影された映像をクライアントに向けて転送する処理を行なう。
【００２５】
以上説明したように本実施形態に従えば、独自の拡張サービスを実現するためには、テーブル４０１とその拡張サービスモジュールを開発し、メインモジュール（図６ではステップＳ１〜７）については何等変更しないので、必要なものだけを組み合わせてサービスを構成することが可能になる。従って、将来、新たなサービスを行なう際にも最小限の変更で済むことになり、その開発も容易になる。
【００２６】
＜他の実施形態＞
図５は複数の独自サービスを提供する場合の構成図である。
【００２７】
図５（ａ）は同じような方式を実装した各拡張モジュールをシリアルに接続していくことで、新しい追加機能をモジュール単位で独立して開発し、必要なものだけを組み合わせてサービスを構成することが可能になる。この場合、基本的には、先に説明した図６のフローチャートに従った処理を各独自サーバが実行すれば良い。但し、この場合は通信が多段となるため一部のサービスの実行効率が低下する可能性はある。
【００２８】
図５（ｂ）は振り分け判断のテーブルを持ちクライアントからのサービス要求を受け付ける部分を独立させる方式である。各拡張サービスを提供するモジュールは振り分けモジュールの次段に複数並列配置する構成例である。この場合は同図（ａ）に比べ多段通信による効率低下を避けつつ、必要なものだけを組み合わせてサービスを構成することが可能になる。
【００２９】
尚、実施形態では、独自サービスサーバには、制御可能なカメラとその撮影映像をキャプチャする機能を有する装置を前提して説明したが、基本的にはサービスの種類に従ったハードウェアを接続したパーソナルコンピュータ等の汎用装置で実現できる。従って、本発明は、前述した各実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムあるいは装置のコンピュータ（またはＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読出し実行することによっても、達成されることは言うまでもない。
【００３０】
この場合、記憶媒体から読出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。
【００３１】
プログラムコードを供給するための記憶媒体としては、例えば、フロッピディスク，ハードディスク，光ディスク，光磁気ディスク，ＣＤ−ＲＯＭ，ＣＤ−Ｒ，磁気テープ，不揮発性のメモリカード，ＲＯＭなどを用いることができる。
【００３２】
また、コンピュータが読出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼働しているＯＳ（オペレーティングシステム）などが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００３３】
さらに、記憶媒体から読出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書込まれた後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるＣＰＵなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれることは言うまでもない。
【００３４】
以上説明したように本実施形態によれば、ＦｉｒｅＷａｌｌを介してのクライアントからの要求に対し、独自サーバの通信ポートのみで独自のサービスを提供し、独自サービスではないＨＴＴＰ要求に関しては、その通信をスルーして、ＷＷＷサーバ側にそのまま送信することで、両サービスを１つの通信ポートで提供するが可能になる。
【００３５】
また、本発明の汎用プロトコルはＨＴＴＰプロトコルに限らず、イーサネット上で使用される如何なるプロトコルでもよい。また、ＷＷＷサーバ以外のサーバでも同様に本発明を提供できる。
【００３６】
【発明の効果】
以上説明したように本発明によれば、サーバの提供する情報、提供外の独自の情報であっても汎用プロトコルに従ってクライアントに提供できる。
【００３７】
【図面の簡単な説明】
【図１】実施形態における構成概念図である。
【図２】ＦｉｒｅＷａｌｌを介してＨＴＴＰプロトコルに従ったサービスを行なう際の不具合を示す図である。
【図３】独自サービスを行なうサーバと一般のＷＷＷサーバとを両立させる構成の一例を示す図である。
【図４】実施形態におけるテーブルの内容を示す図である。
【図５】他の実施例における構成概念図である。
【図６】実施形態における独自サービスサーバにおける動作処理内容を示す図である。
【図１】
0003792858.tif 000002
【図２】
0003792858.tif 000003
【図３】
0003792858.tif 000004
【図４】
0003792858.tif 000005
【図５】
0003792858.tif 000006
【図６】
0003792858.tif 000007