(57)【要約】【課題】ＨＴＴＰサービスにおいて、サーブレットのプログラムが使用するメモリ使用量を削減する。【解決手段】サーブレット起動プログラムであって、コンピュータ１を、サーブレットをメモリ上に読み込んで起動するとともに、当該サーブレットのＵＲＬを出力するサーブレット起動手段１０４、受信したＨＴＴＰリクエストに対応するサーブレット起動手段１０４を呼び出し、当該サーブレット起動手段１０４が出力したＵＲＬにリダイレクトするＨＴＴＰレスポンスを送信するサーブレット管理手段１０７、として機能させる。【選択図】図２
2008287671.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータが実行するサーブレット起動プログラムであって、
前記コンピュータを、
サーブレットをメモリ上に読み込んで起動するとともに、当該サーブレットのＵＲＬを出力するサーブレット起動手段、
受信したＨＴＴＰリクエストに対応するサーブレット起動手段を呼び出し、当該サーブレット起動手段が出力したＵＲＬにリダイレクトするＨＴＴＰレスポンスを送信するサーブレット管理手段、として機能させること
を特徴とするサーブレット起動プログラム。
【請求項２】
請求項１記載のサーブレット起動プログラムであって、
前記サーブレット起動手段各々は、前記サーブレット管理手段との標準化されたインタフェースを有すること
を特徴とするサーブレット起動プログラム。
【請求項３】
コンピュータが実行するサーブレット起動プログラムであって、
前記コンピュータに、
ＨＴＴＰリクエストを受信する受信ステップと、
前記ＨＴＴＰリクエストで指定されたサーブレットをメモリ上に読み込んで起動するとともに、当該起動したサーブレットのＵＲＬを出力する起動ステップと、
前記起動ステップで出力したＵＲＬにリダイレクトするＨＴＴＰレスポンスを送信する送信ステップと、を実行させること
を特徴とするサーブレット起動プログラム。
【請求項４】
ホームゲートウェイ装置であって、
サーブレットをメモリ上に読み込んで起動するとともに、当該サーブレットのＵＲＬを出力するサーブレット起動手段と、
受信したＨＴＴＰリクエストに対応するサーブレット起動手段を呼び出し、当該サーブレット起動手段が出力したＵＲＬにリダイレクトするＨＴＴＰレスポンスを送信するサーブレット管理手段と、を有すること
を特徴とするホームゲートウェイ装置。
【請求項５】
請求項４記載のホームゲートウェイ装置であって、
前記サーブレット起動手段各々は、前記サーブレット管理手段との標準化されたインタフェースを有すること
を特徴とするホームゲートウェイ装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＨＴＴＰ（HyperText Transfer Protocol）サービスにおいて、サーブレットを起動する技術に関する。
【背景技術】
【０００２】
特許文献１には、宅内のネットワークに接続された機器やセンサなどを連携させて、各種のサービスを実現する機器制御装置（ホームゲートウェイ装置）が記載されている。
【０００３】
また、非特許文献１には、複数のホームサービスを１つのプラットホーム上に多重化して、複数のホームサービスを１つのホームゲートウェイ装置を用いて実現することが記載されている。なお、非特許文献１のホームゲートウェイ装置では、Java（登録商標）VM（Virtual Machine）上で動作するOSGi（Open Services Gateway Initiative）  Frameworkにより、ネットワークに接続された機器、センサなどのデバイスを制御する。
【特許文献１】特開２００５−２３４７３３号公報
【非特許文献１】“生活シーンに応じて進化するガス機器を中心とした総合生活支援サービスの実験開始”、[online]、［平成１９年３月１２日検索］、インターネット＜ＵＲＬ： http://www.ntt.co.jp/news/news05/0508/050805.html＞
【発明の開示】
【発明が解決しようとする課題】
【０００４】
非特許文献１のホームゲートウェイ装置では、ＨＴＴＰ（HyperText Transfer Protocol）サービスによりデバイスの設定または削除を行う場合、Java（登録商標）を用いたサーブレット（Servlet）を作成し、当該サーブレットを実行することにより行う。しかしながら、Java（登録商標）を用いたサーブレットにおいては、必要なプログラム一式をあらかじめメモリに読み込んでおく必要がある。すなわち、使用していないサーブレットのプログラムであってもメモリに常駐されるため、メモリが消費され、メモリ使用量が増大してしまう問題がある。
【０００５】
本発明は上記事情に鑑みてなされたものであり、本発明の目的は、ＨＴＴＰサービスにおいて、サーブレットのプログラムが使用するメモリ使用量を削減することにある。
【課題を解決するための手段】
【０００６】
本発明は、コンピュータが実行するサーブレット起動プログラムであって、前記コンピュータを、サーブレットをメモリ上に読み込んで起動するとともに、当該サーブレットのＵＲＬを出力するサーブレット起動手段、受信したＨＴＴＰリクエストに対応するサーブレット起動手段を呼び出し、当該サーブレット起動手段が出力したＵＲＬにリダイレクトするＨＴＴＰレスポンスを送信するサーブレット管理手段、として機能させる。
【０００７】
また、本発明は、ホームゲートウェイ装置であって、サーブレットをメモリ上に読み込んで起動するとともに、当該サーブレットのＵＲＬを出力するサーブレット起動手段と、受信したＨＴＴＰリクエストに対応するサーブレット起動手段を呼び出し、当該サーブレット起動手段が出力したＵＲＬにリダイレクトするＨＴＴＰレスポンスを送信するサーブレット管理手段と、を有する。
【発明の効果】
【０００８】
本発明によれば、ＨＴＴＰリクエストを契機にサーブレットをメモリに読み込んで起動するため、ＨＴＴＰサービスにおいてサーブレットのプログラムが使用するメモリ使用量を、より削減することができる。
【発明を実施するための最良の形態】
【０００９】
以下、本発明の実施の形態について、図面を参照して説明する。
【００１０】
図１は、本発明の一実施形態のホームゲートウェイ装置を示す図である。
【００１１】
図示するホームゲートウェイ装置１は、通信部１１、記憶部１２、入力部１３、表示部１４および制御部１５を備えた汎用的なコンピュータシステムであって、これら各部１１〜１５は、内部バス１６を介して接続されている。
【００１２】
通信部１１は、ホームネットワーク３に接続され、当該ホームネットワーク３を介して機器２と通信を行う。また、通信部１１は、ホームネットワーク３に接続されたゲートウェイ装置（不図示）を介して、ホームネットワーク３以外の外部ネットワーク（例えば、インターネット）に接続し、通信を行う。
【００１３】
なお、説明の便宜上、図１には機器２のみがホームネットワーク３に接続されているが、複数の機器がホームネットワーク３に接続されていてもよい。
【００１４】
また、通信部１１は、ホームネットワーク３用のインタフェースと、外部ネットワーク用のインタフェースとを備え、ゲートウェイ装置として外部ネットワークと直接接続し、通信を行うこととしてもよい。
【００１５】
記憶部１２は、ハードディスク等の記録媒体により構成され、ホームゲートウェイ装置１自体を制御する制御プログラム、図２で説明するソフトウェアなどが記憶される。
【００１６】
入力部１３は、各種ボタンやキーボードなどの入力装置により構成され、ホームゲートウェイ装置１の各種設定を受け付ける。
【００１７】
表示部１４は、パワーランプや液晶表示装置などの表示装置によって構成され、入力部１３が受け付けた各種設定やホームゲートウェイ装置１の状態を表示する。
【００１８】
制御部１５は、ＣＰＵ(Central Processing Unit)、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）などにより構成される。ＣＰＵが、記憶部１２からメモリ上に読み込まれた各種プログラム（制御プログラム、ソフトウェア等）を実行することにより、ホームゲートウェイ装置１全体が制御され、ホームゲートウェイ装置１の各機能が実現される。
【００１９】
ホームネットワーク３に接続された表示装置４は、ＨＴＴＰサービスのクライアントに相当する装置であって、ＣＰＵと、メモリと、ディスプレイなどの出力装置とを備えた汎用的なコンピュータシステム（例えば、ＰＣ（Personal Computer）など）が用いられる。表示装置４（ブラウザなど）は、ＨＴＴＰリクエストをホームゲートウェイ装置１に送信するとともに、ＨＴＴＰレスポンスをホームゲートウェイ装置１から受信する。  
図２は、本実施形態のホームゲートウェイ装置１が、機器２を制御するためのソフトウェア（バンドル、プログラム群）のソフトウェア構成図である。なお、これらのソフトウェアは、Java（登録商標）VM上で動作するOSGi Framework上で動作する。また、図２は、OSGi Frameworkの仕様に従って示したものである。
【００２０】
図２において、ベースドライバ１０１は、物理デバイス（機器）２の種別毎に設けられ、対応する種別の物理デバイス２を発見するとともに、当該物理デバイス２を制御する。また、ベースドライバ１０１は、発見した物理デバイス２に対応するベースオブジェクト１０２を、OSGi Frameworkに登録する。
【００２１】
ベースオブジェクト１０２は、物理デバイス２毎に、当該物理デバイス２の発見および制御を行うインタフェースを提供する。
【００２２】
リファイニングドライバ１０３は、物理デバイス２の種別毎に設けられ、対応する種別の物理デバイス２のベースオブジェクト１０２の機能を拡張し、各物理デバイス２に対応するＧＵＩ情報サービス１０４を、OSGi Frameworkに登録する。
【００２３】
ＧＵＩ情報サービス１０４（サーブレット起動手段）は、ＧＵＩ（Graphical User Interface）で使用するアイコンの情報を取得するインタフェースを提供し、また、入力部１３を用いてアイコンが押された（クリックされた）ことを通知するためのインタフェースを提供する。
【００２４】
デバイスＧＵＩ１０５は、物理デバイス２の発見を行うサーブレット、設定を行うサーブレット、削除を行うサーブレットなどを有し、各サーブレットのＵＲＬ（Uniform Resource Locator）をＨＴＴＰサービス１０６に登録する。また、デバイスＧＵＩ１０５は、設定情報を各サーブレットから取得し、ベースオブジェクト１０２およびリファイニングドライバ１０３に設定する。なお、サーブレットは、Java（登録商標）のプログラムである。
【００２５】
ＨＴＴＰサービス１０６は、ＨＴＴＰサーバとして表示装置４にＨＴＴＰサービスを提供し、表示装置４に表示されるポータル画面を制御し、また、ＨＴＴＰリクエストなどを対応するサーブレットプログラムに通知する。
【００２６】
ＧＵＩ管理１０７（サーブレット管理手段）は、アプリケーション１０７ａ、リンク集生成バンドル１０７ｂなどを備え、ＧＵＩ情報サービス１０４を探索してアイコンの情報やアイコンが押されたときのインタフェースの情報を取得し、当該アイコンを利用してサーブレットへ遷移するためのリンク（位置情報）を提供する。
【００２７】
アプリケーション１０７ａは、ＧＵＩ情報サービス１０４を探索してアイコンの情報やアイコンが押されたときのインタフェースの情報を取得し、自サービスのＧＵＩをポータル画面に登録する。なお、ポータル画面は、アイコンを用いた利用者からのＨＴＴＰリクエストなどにより、表示装置４に表示される。
【００２８】
リンク集生成バンドル１０７ｂは、ＧＵＩ情報サービス１０４からアイコンの情報やアイコンが押されたときのインタフェースの情報を探索し、物理デバイス２の発見、設定、削除などの各サーブレットへのリンクが設定されたリンク集の画面を生成し、当該画面へのリンクをポータル画面に登録する。なお、ポータル画面は、アイコンを用いた利用者からのＨＴＴＰリクエストなどにより、表示装置４に表示される。
【００２９】
以上説明したホームゲートウェイ装置１において、ホームゲートウェイ装置１のポータル画面などに表示される発見、設定、削除などのいずれかのリンクが押されると、ＧＵＩ情報サービス１０４の対応するインタフェースが呼び出され、デバイスＧＵＩ１０５の対応するサーブレットがメモリ上に読み込まれて起動され、サーブレットのＧＵＩが表示装置４に表示される。
【００３０】
図３は、図２に示す物理デバイス２がカメラの場合のソフトウェア構成図である。なお、図２と同様の構成には同一の符号を付して、ここでは特徴部分のみを説明する。
【００３１】
図３の符号１０２は、カメラデバイス用のベースオブジェクトである。
【００３２】
図３のＧＵＩ管理１０７は、表示Servlet１１１およびＧＵＩServlet１１２を有する。表示Servlet１１１は、カメラデバイスが撮像している映像を表示するサーブレットへ遷移するためのリンクを提供する。ＧＵＩServlet１１２は、カメラデバイスの「設定」を行うサーブレット、「削除」を行うサーブレットなどへ遷移するためのリンクを提供する。
【００３３】
図３の符号１０５は、図２に示すデバイスＧＵＩ１０５に相当する設定ＧＵＩバンドルであって、設定Servlet１１３を有する。設定Servlet１１３は、カメラデバイスの「設定」を行うサーブレットへのインタフェースを提供する。
【００３４】
なお、設定ＧＵＩバンドル１０５、リファイニングドライバ１０３、ベースドライバ１０１をそれぞれ囲む点線は、一式のプログラム集合を示すものである。また、ＧＵＩ管理１０７を囲む点線は、前記各点線で囲まれたプログラム集合を利用する、一式のプログラム集合を示すものである。
【００３５】
次に、本実施形態の処理について説明する。
【００３６】
図４は、本実施形態のホームゲートウェイ装置１のＧＵＩ生成処理を説明するための説明図である。
【００３７】
まず、ホームネットワーク３にカメラ２が接続される（Ｓ１）。これにより、カメラデバイス対応のベースドライバ１０１が、接続されたカメラ２を発見し（Ｓ２）、発見したカメラ２に対応するベースオブジェクト１０２を生成する（Ｓ３）。
【００３８】
リファイニングドライバ１０３は、生成されたベースオブジェクト１０２を発見すると（Ｓ４）、カメラ２に対応するＧＵＩ情報サービス１０４を生成する（Ｓ５）。
【００３９】
ＧＵＩ管理１０７は、Ｓ５で生成されたカメラ２のＧＵＩ情報サービス１０４を発見すると（Ｓ６）、当該ＧＵＩ情報サービス１０４からアイコンの情報およびインタフェースの情報を取得する（Ｓ７）。そして、ＧＵＩ管理１０７は、取得した情報に基づいて「設定」、「削除」、「表示」などの各サーブレットへ遷移するリンクを表示する画面４２を生成し、当該画面４２に遷移するリンクをホームゲートウェイ装置１のポータルホームページ４１などに登録する。
【００４０】
表示装置４に表示されたポータルホームページ４１において、画面４２に遷移するリンクが利用者により押されると、対応するＧＵＩServlet１１２にＨＴＴＰリクエストが通知される（Ｓ８）。そして、ＧＵＩ管理１０７は、ＨＴＴＰリクエストに対する応答として、「設定」、「削除」、「表示」などの各サーブレットへ遷移するリンクを表示した画面４２を返し、当該画面４２を表示装置４に表示する（Ｓ９）。
【００４１】
図５は、本実施形態のホームゲートウェイ装置１のサーブレット起動処理を説明するための説明図である。
【００４２】
図４で説明したＧＵＩ生成処理により表示された画面４２において、「設定」のリンクが押されると、対応するＧＵＩServlet１１２にＨＴＴＰリクエストが通知される（Ｓ１１）。そして、ＧＵＩ管理１０７は、「設定」のサーブレットのインタフェースであるＧＵＩ情報サービス１０４を呼び出す（Ｓ１２）。
【００４３】
ＧＵＩ情報サービス１０４は、設定ＧＵＩバンドル１０５をメモリ上に読み込ませて起動する（Ｓ１３）。起動された設定ＧＵＩバンドル１０５は、設定Servlet１１３を外部からアクセス可能な状態に準備し、準備が完了したらＧＵＩ情報サービス１０４に通知する。
【００４４】
ＧＵＩ情報サービス１０４は、設定Servlet１１３の準備が完了すると、当該設定Servlet１１３のＵＲＬを返り値としてＧＵＩ管理１０７に処理を戻す。
【００４５】
ＧＵＩ管理１０７は、ＨＴＴＰレスポンスを表示装置４のブラウザ４に返し（Ｓ１４）、ＧＵＩ情報サービス１０４から受け取ったＵＲＬの画面４３にリダイレクトする。
【００４６】
そして、リダイレクトされた画面４３において、利用者が入力等を行うことにより設定ＧＵＩバンドル１０５（設定Servlet１１３）がカメラ２の設定を行う（Ｓ１５）。
【００４７】
以上説明した本実施形態のホームゲートウェイ装置１では、ＧＵＩ管理１０７が各サーブレットのＵＲＬを埋め込んだリンクの画面４２のみを用意し、いずれかのリンクが押されたとき（すなわち、ＨＴＴＰリクエストを受信したとき）に、当該リンクに対応するサーブレットのプログラム（バンドル）をメモリに読み込んでサーブレットを起動し、当該サーブレットのＵＲＬへリダイレクトさせている。これにより、あらかじめサーブレットのプログラムをメモリ上に読み込んでおく必要がなく、サーブレットが必要になったときに、必要なプログラムをメモリ上に展開するため、ホームゲートウェイ装置１のメモリ使用量を削減することができる。
【００４８】
なお、本発明は上記実施形態に限定されるものではなく、その要旨の範囲内で数々の変形が可能である。例えば、サーブレット毎に生成される各ＧＵＩ情報サービス１０４のインタフェースを標準化して、統一することとする。これにより、本実施形態のカメラデバイスに対応するプログラムだけでなく、あらゆる種別のデバイスのプログラムに対しても、ＧＵＩ管理１０７を変更することなく対応することが可能になる。例えば、ＧＵＩ管理ＴＯＰ画面４２（図４、図５参照）において、ＧＵＩ情報サービス１０４を発見する度にリンクを追加することにより、カメラ以外のデバイスについても汎用的にＧＵＩ管理１０７を利用することができる。
【００４９】
また、ＧＵＩ管理１０７が複数存在する場合にも、各ＧＵＩ管理がデバイスＧＵＩ１０５を共有して利用することができる。例えば、ワードプロセッサプログラムとブラウザプログラムが存在する場合に、両方からＧＵＩ情報サービス１０４を介して、１つのプリンターのデバイスＧＵＩ１０５を呼出して利用することが簡易になる。すなわち、複数の異なるＧＵＩ情報サービス１０４を、複数の異なるＧＵＩ管理１０７で共有でき、サーブレットの追加および削除を容易に行うことができる。
【００５０】
また、上記実施形態ではサーブレットをホームゲートウェイ装置１内に記憶しておくこととしたが、必要なときに外部のサーバからサーブレットを取得（ダウンロード）して起動することとしてもよい。
【図面の簡単な説明】
【００５１】
【図１】本発明の実施形態のホームゲートウェイ装置のブロック図である。
【図２】本発明の実施形態のホームゲートウェイ装置のソフトウェア構成図である。
【図３】カメラデバイスを制御する場合のホームゲートウェイ装置のソフトウェア構成図である。
【図４】ＧＵＩ生成処理を説明するための説明図である。
【図５】サーブレット起動処理を説明するための説明図である。
【符号の説明】
【００５２】
１  ホームゲートウェイ装置
１０１  ベースドライバ
１０２  ベースオブジェクト
１０３  リファイニングドライバ
１０４  ＧＵＩ情報サービス
１０５  デバイスＧＵＩ
１０６  ＨＴＴＰサービス
１０７  ＧＵＩ管理
１０７ａ  アプリケーション
１０７ｂ  リンク集生成バンドル
１１１  表示Servlet
１１２  ＧＵＩServlet
１１３  設定Servlet
２  機器（物理デバイス）
３ホームネットワーク
４  表示装置
【図１】
2008287671.tif 000003
【図２】
2008287671.tif 000004
【図３】
2008287671.tif 000005
【図４】
2008287671.tif 000006
【図５】
2008287671.tif 000007