JP2006146512A - 情報処理装置及びその制御方法、プログラム - Google Patents

情報処理装置及びその制御方法、プログラム Download PDF

Info

Publication number
JP2006146512A
JP2006146512A JP2004335007A JP2004335007A JP2006146512A JP 2006146512 A JP2006146512 A JP 2006146512A JP 2004335007 A JP2004335007 A JP 2004335007A JP 2004335007 A JP2004335007 A JP 2004335007A JP 2006146512 A JP2006146512 A JP 2006146512A
Authority
JP
Japan
Prior art keywords
program
window
extension
service
actual processing
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.)
Withdrawn
Application number
JP2004335007A
Other languages
English (en)
Inventor
Kunimasa Fujisawa
邦匡 藤澤
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.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2004335007A priority Critical patent/JP2006146512A/ja
Priority to US11/281,223 priority patent/US7860987B2/en
Publication of JP2006146512A publication Critical patent/JP2006146512A/ja
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

【課題】 ユーザのリクエストに対して提供する拡張プログラムの実行タイミングを、簡単でかつ適確に制御することができる情報処理装置及びその制御方法、プログラムを提供する。
【解決手段】 提供対象のサービスを実現する拡張プログラムと、リクエストの受付と、そのリクエストに対する拡張プログラムによる処理を制御する実処理プログラムと、拡張プログラムと実処理プログラムを自身に登録して、両者の実行環境を構成する窓口プログラムとを記憶する。窓口プログラムを起動し、拡張プログラムを起動して窓口プログラムに登録し、実処理プログラムを起動して窓口プログラムに登録し、窓口プログラムに登録された実処理プログラムに対して窓口プログラムに登録された拡張プログラムを登録することで、リクエストの受付と拡張プログラムが実現するサービスを有効状態にする。
【選択図】 図10

Description

本発明は、ユーザからのリクエストに対して、サービスを提供するサーバ機能を実現する情報処理装置及びその制御方法、プログラムに関するものである。
(1)アプリケーション実行サーバ
図17において、メモリやCPUといったリソースに制限が多い組込機器101では、複数のプログラムの実行を行う場合、単純に個々のプログラムをそれぞれ別プロセスとして動作させるのではなく、実行管理するためのアプリケーション実行サーバ102を用いて、アプリケーション実行サーバ102のプロセス上で各種アプリケーションプログラムを実行することが多い。そのようなアプリケーション実行サーバの例としては、OSGiサーバ(注1)などが挙げられる。
このアプリケーション実行サーバ102にとっては、HTTPサーバを実現するHTTPサービス103とHTTPサーバの拡張プログラムであるServlet(注2)やHTMLデータ等のコンテンツサービス104(以下、コンテンツサービス104と略称する)、その他のサービス105は、等しく一つのサービスプログラムとして扱われ、アプリケーション実行サーバ102によって、起動・停止される。
HTTPサービス103は、コンテンツサービス104を登録するAPI(Application Program Interface)を持っている。コンテンツサービス104は、起動されるとこのAPIを使用してHTTPサービス103に登録を行うことにより、ユーザは、HTTPサービス103を通じてコンテンツサービス104を使用することが可能である。
HTTPサービス103は、コンテンツサービス104を登録するAPIを持っているので、動作しているHTTPサービス103に対して動的に、ServletやHTMLデータ等のコンテンツサービスを登録、削除することが可能となっている。
(2)HTTPサーバの拡張プログラム
現在、実装されているHTTPサーバの多くは、クライアントに対してサーバに保存されているHTMLや画像ファイル等の静的なファイルの転送を行うだけでなく、動的にデータを生成し、クライアントに対して転送を行う機能を有している。代表的な拡張プログラムインターフェイスとして、ServletやCGI等があげられる。ServletやCGI等の機能を用いることにより、クライアントを利用するユーザと対話的な処理を行うことが可能になる。
(3)HTMLフォーム
現在のWebクライアントは、構造記述言語の1つであるHTMLで規定されたフォームをブラウザ上に表示することができる。ユーザは、Webクライアントのブラウザ上に表示されたフォームに入力を行い、それをHTTPサーバに送信することが可能である。このフォームには、テキストフィールド、パスワード入力用テキストフィールド、ラジオボタン、リスト、チェックボックス、ファイル転送用フォーム、サブミットボタン、キャンセルボタン等の各種コントロールが規定されている。
(4)スクリプト言語
現在のWebクライアントは、HTTPサーバから送られてきたHTMLデータ内に記述されているスクリプト言語を実行できるものが多い。さらに、このスクリプト言語は、ユーザによるフォームへの入力に対して暗号化等の処理を施して生成したデータを、HTTPサーバに対して送信することが可能である。このようなスクリプト言語の一例として、ECMAScript(Java(登録商標)Script)等があげられる。
(5)Webの認証機構
Webの認証機構としては、RFC2068で規定されているBASIC認証とDigest認証が広くサポートされている(例えば、特許文献1参照)。その他に、ServletやCGIを使用するServlet認証が広く使用されている。BASIC認証、Digest認証は、HTTPサーバ内で実装される認証機構であるが、ユーザ側のUIとしてWebブラウザに組み込まれたIDとパスワードの2つの値を入力するUIしか使用できない。また、HTTPサーバとブラウザ(Webクライアント)間でIDとパスワード、もしくはIDとパスワードをDigest化したものしか交換できない、より強力な認証機構を追加することができない等の様々な制限がある。
一方、Servlet認証は、認証機構を実現するためにServletやCGI等の拡張プログラムとして認証プログラムをHTTPサーバに追加することが必要であるが、認証UIを実現するHTMLフォームデータを自由に作ることが可能であるだけでなく、さらにユーザの入力をスクリプト言語を用いてユーザのニーズにあった暗号化方法で暗号化し、HTTPサーバに送信するといったことや、ユーザがログインするときに使用する認証サーバを指定する等が可能であり、ユーザにとってより使いやすく、セキュアな認証機構を提供することが可能である。
さらに、認証用のServlet(認証Servlet)を交換することにより、機器の使用目的に応じた様々な認証機構を使用することが可能である。
アプリケーション実行サーバ102上のHTTPサービス103でも、コンテンツサービスとして認証Servletサービスを登録、実行することにより、ユーザにとってより使いやすい認証機構を提供することが可能となる。
従来のHTTPサーバでも、上記技術を使用することによって、柔軟な認証機構を提供することが可能である。しかし、認証Servletを含む拡張プログラムは、サーバプログラムの一部としてサーバの起動時に起動され、起動しているHTTPサーバに対して動的に認証Servletを含む拡張プログラムを登録することはできなかった。
そのため、認証Servletを含む拡張プログラムの交換等に柔軟性がなかったり、さらに組込機器101のようにリソースが限られた機器では、サーバプログラムの設定を書き換えて異なる認証Servletを含む拡張プログラムを実行することはできないものが多い。
そういった問題に対応するためアプリケーション実行サーバの一つであるOSGiサーバ上で動作するHTTPサービスでは、起動しているHTTPサービスに対して動的に認証Servletを含む拡張プログラムを追加することができるが、後の「発明が解決しようとする課題」の項で述べるような欠点をもっており、それを解決できる技術は現在のところ提案されていない。
(注1)OSGiサーバは、ホームゲートウェイといった組込機器上で複数のJava(登録商標)(注3)プログラムの実行を管理するアプリケーション実行サーバであり、OSGi Alianceによって仕様が規定されている。
(注2)米国Sun Microsystemsによって仕様が規定されているHTTPサーバ拡張インターフェイス、ServletはJava(登録商標)で記述される。
(注3) 米国Sun Microsystemsによって仕様が規定されているプログラミング言語、およびプログラム実行環境。
特開2001−51946号公報
従来技術で述べたように、認証Servletサービスによる認証には、様々な利点があるが、アプリケーション実行サーバ102上で従来のHTTPサービス103と認証Servletサービスとを組み合わせると、図18に示すような問題が発生する。
認証Servletサービスは、起動時にアプリケーション実行サーバ102に登録されているHTTPサービス103を取得し、自身をHTTPサービス103に登録する必要がある。そのため、認証Servletサービスが起動するためには、その前にHTTPサービス103が起動していなくてはならない。よって、まず、HTTPサービス103が生成・起動される(S201)。
次に、認証Servletサービスを登録する(S203)。認証Servletサービスが起動したあとに、クライアントからアクセスされた場合は認証がおこなわれる(S204)が、HTTPサービスの生成・起動(S201)と認証Servletサービスの起動(S203)の間に、クライアントからのアクセスがあると、まだ、認証Servletサービスが起動していないため、認証なしでHTTPサービスに対するアクセスが可能になってしまう(S202)という問題が発生する。
一方、図19のように、HTTPサービス103の生成と起動をわけ、まず、HTTPサービス103を生成し(S301)、次に、認証ServletサービスをHTTPサービス103に登録する(S303)。次に、HTTPサービス103を起動し(S305)、その後に、一般のコンテンツサービス104を登録する(S307)。
この場合、HTTPサービス103の生成後は、まだ、HTTPサービス103が起動していないので、クライアントのアクセスを受付けない(S302)。さらに、認証Servletサービス登録後もHTTPサービス103が起動していないので、クライアントのアクセスを受付けない(S304)。そして、HTTPサービス103が起動後は、クライアントからのアクセスがおこなわれると、認証Servletサービス認証がおこなわれるようになる(S306)。
しかし、この方法では、アプリケーション実行サーバ102による認証Servletサービスの登録に係る処理手順がより複雑化するという欠点がある。
更に、HTTPサービス103の生成と起動を分けるということで、アプリケーション実行サーバ102が管理しなくてはならないサービスの状態が増えてしまう。
また、さらに、認証Servletサービスは、HTTPサービスの生成と起動の間に登録を行う必要があるが、そのためには、アプリケーション実行サーバ102は、各種サービスの起動処理の中で、HTTPサービス103の生成→認証Servletサービスの登録→HTTPサービス103の起動といった、一連のシーケンスを管理しなくてはいけない。
本発明は上記の課題を解決するためになされたものであり、ユーザのリクエストに対して提供する拡張プログラムの実行タイミングを、簡単でかつ適確に制御することができる情報処理装置及びその制御方法、プログラムを提供することを目的とする。
上記の目的を達成するための本発明による情報処理装置は以下の構成を備える。即ち、
ユーザからのリクエストに対して、サービスを提供するサーバ機能を実現する情報処理装置であって、
提供対象のサービスを実現する拡張プログラムと、前記リクエストの受付と、そのリクエストに対する前記拡張プログラムによる処理を制御する実処理プログラムと、前記拡張プログラムと前記実処理プログラムを自身に登録して、両者の実行環境を構成する窓口プログラムとを記憶する記憶手段と、
前記窓口プログラムを起動し、前記拡張プログラムを起動して前記窓口プログラムに登録し、前記実処理プログラムを起動して前記窓口プログラムに登録し、前記窓口プログラムに登録された実処理プログラムに対して前記窓口プログラムに登録された拡張プログラムを登録することで、前記リクエストの受付を、前記拡張プログラムが実現するサービスが有効な状態で実行するように制御する制御手段と
を備えることを特徴とする情報処理装置。
また、好ましくは、前記窓口プログラムは、
前記拡張プログラムを記憶する拡張プログラム記憶手段と、
前記実処理プログラムを登録する実処理プログラム登録手段と、
前記実処理プログラム登録手段で登録された実処理プログラムを記憶する実処理プログラム記憶手段と、
前記実処理プログラムに対して、前記拡張プログラム記憶手段に記憶された拡張プログラムを登録する登録手段と
を備える。
また、好ましくは、前記実処理プログラムは、
前記拡張プログラムを登録する登録手段と、
前記登録手段で登録された拡張プログラムを記憶する拡張プログラム記憶手段と、
当該実処理プログラム自身を前記窓口プログラムに登録する実処理プログラム登録手段と、
前記リクエストに応じて、前記拡張プログラム記憶手段に記憶された拡張プログラムを呼び出し実行する実行手段と
を備える。
また、好ましくは、前記拡張プログラムは、HTTPサービスを実現するプログラムであり、
前記窓口プログラムは、HTTPプロトコルの処理を行わず、かつ前記実処理プログラムと連携して処理を実行するプログラムであり、
前記実処理プログラムは、HTTPプロトコルの処理を行い、かつ前記窓口プログラムと連携して処理を実行するプログラムである。
また、好ましくは、前記拡張プログラムには、自身が動作するネットワークポートが指定されている場合、
前記窓口プログラムは、前記拡張プログラムが指定するネットワークポートに関する情報と該拡張プログラムを管理する第1管理手段と、
前記実処理プログラムは、前記リクエストを受け取るネットワークポート毎に、対応する拡張プログラムを前記窓口プログラムより登録し、管理する第2管理手段と
を備える。
上記の目的を達成するための本発明による情報処理装置の制御方法は以下の構成を備える。即ち、
ユーザからのリクエストに対して、サービスを提供するサーバ機能を実現する情報処理装置の制御方法であって、
提供対象のサービスを実現する拡張プログラムと、前記リクエストの受付と、そのリクエストに対する前記拡張プログラムによる処理を制御する実処理プログラムと、前記拡張プログラムと前記実処理プログラムを自身に登録して、両者の実行環境を構成する窓口プログラムとを記憶部に記憶する記憶工程と、
前記窓口プログラムを起動し、前記拡張プログラムを起動して前記窓口プログラムに登録し、前記実処理プログラムを起動して前記窓口プログラムに登録し、前記窓口プログラムに登録された実処理プログラムに対して前記窓口プログラムに登録された拡張プログラムを登録することで、前記リクエストの受付を、前記拡張プログラムが実現するサービスが有効な状態で実行するように制御する制御工程と
を備える。
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
ユーザからのリクエストに対して、サービスを提供するサーバ機能を実現するプログラムであって、
提供対象のサービスを実現する拡張プログラムと、前記リクエストの受付と、そのリクエストに対する前記拡張プログラムによる処理を制御する実処理プログラムと、前記拡張プログラムと前記実処理プログラムを自身に登録して、両者の実行環境を構成する窓口プログラムとを記憶部に記憶する記憶工程のプログラムコードと、
前記窓口プログラムを起動し、前記拡張プログラムを起動して前記窓口プログラムに登録し、前記実処理プログラムを起動して前記窓口プログラムに登録し、前記窓口プログラムに登録された実処理プログラムに対して前記窓口プログラムに登録された拡張プログラムを登録することで、前記リクエストの受付を、前記拡張プログラムが実現するサービスが有効な状態で実行するように制御する制御工程のプログラムコードと
を備える。
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
ユーザからのリクエストに対して、サービスを提供するサーバ機能を実現するためのプログラムであって、
提供対象のサービスを実現する拡張プログラムを記憶する拡張プログラム記憶手段と、
前記リクエストの受付と、そのリクエストに対する前記拡張プログラムによる処理を制御する実処理プログラムを登録する実処理プログラム登録手段と、
前記実処理プログラム登録手段で登録された実処理プログラムを記憶する実処理プログラム記憶手段と、
前記実処理プログラムに対して、前記拡張プログラム記憶手段に記憶された拡張プログラムを登録する登録手段とを備え、
当該プログラムは、前記拡張プログラムと前記実処理プログラムを自身に登録して、両者の実行環境を構成する。
上記の目的を達成するための本発明によるプログラムは以下の構成を備える。即ち、
ユーザからのリクエストに対して、サービスを提供するサーバ機能を実現するためのプログラムであって、
提供対象のサービスを実現する拡張プログラムを登録する登録手段と、
前記登録手段で登録された拡張プログラムを記憶する拡張プログラム記憶手段と、
当該プログラムと前記拡張プログラムを登録して、両者の実行環境を構成する窓口プログラムに、当該プログラムを登録するプログラム登録手段と、
前記リクエストに応じて、前記拡張プログラム記憶手段に記憶された拡張プログラムを呼び出し実行する実行手段と
を備える。
本発明によれば、ユーザのリクエストに対して提供する拡張プログラムの実行タイミングを、簡単でかつ適確に制御することができる情報処理装置及びその制御方法、プログラムを提供できる。
以下、本発明の実施の形態について図面を用いて詳細に説明する。
尚、以下の説明において、「サーバ」とは、WWWシステムにおいてHTML文書や画像などの情報を蓄積しておき、Webブラウザなどのクライアントソフトウェアからの要求を受けて、ネットワークを通じて情報送信を行うWebサーバ(ウェブサーバ(HTTPサーバを含む))や、ネットワークを通じてユーザからの要求を受けて、データベースシステムなどの処理に橋渡しを行う機能を備えたアプリケーションサーバ(または、Webアプリケーションサーバ)を意味するものである。
また、「クライアント」とは、ネットワークにおいてサーバの提供する機能やデータを利用するコンピュータ、およびソフトウェアを意味するものである。このクライアントとしては、例えば、ネットワークに接続されたコンピュータ、家庭用のパーソナルコンピュータ、およびコンピュータ上で動作するWebブラウザ、ビューワ等が該当する。
尚、ネットワークは、典型的にはインターネットやLANやWANや電話回線、専用デジタル回線、ATMやフレームリレー回線、通信衛星回線、ケーブルテレビ回線、データ放送用無線回線等のいずれか、またはこれらの組み合わせにより実現されるいわゆる通信ネットワークであり、データの送受信が可能であれば良い。
<実施形態1>
リソースが限定されている組込機器等で、複数のプログラムを動作させる場合、プログラム毎に複数のプロセスを割り当てるといったPC(パーソナルコンピュータ)などでは一般的な手法をとることは困難である。そのため、単独のプロセス上で複数のプログラムの実行管理を行うアプリケーション実行サーバを用意し、その上で複数のプログラムを実行するということがよくおこなわれる。
ここで、PC等の組込機器を実現する情報処理装置の基本構成について、図1を用いて説明する。
図1は本発明の実施形態1の情報処理装置の基本構成を示す図である。
図1のように、ハードウェア801上でオペーレーティングシステム(OS)802が動作し、その上でアプリケーション実行サーバ803が動作している。尚、オペーレーティングシステム802とアプリケーション実行サーバ803は、統合されて一つのものになっていてもよい。
アプリケーション実行サーバ803上では、サービス(サービスA〜サービスD)とよばれる複数のプログラムが実行される。アプリケーション実行サーバ803は、インストール、実行、停止、アンインストールといったサービスのライフサイクルの管理やサービスの使用するリソースの管理などを行う。
また、アプリケーション実行サーバ803は、サービスのライフサイクルを管理するだけでなく、サービス間で機能を共有するための仲介役も果たしている。
尚、ハードウェア801は、汎用コンピュータに搭載される標準的な構成要素(例えば、CPU、RAM、ROM、ハードディスク、外部記憶装置、ネットワークインタフェース、ディスプレイ、キーボード、マウス等)を有している。
また、以下に説明する各種プログラム(拡張プログラム、窓口HTTPサーバプログラム、実HTTPサーバプログラム)は、例えば、ハードディスクやROM等の記憶媒体に記憶され、CPUがこれらのプログラムを記憶媒体から読み出して、メモリ(RAM等)に展開して記憶し、それらのプログラムの実行を制御する。
次に、アプリケーション実行サーバ803の動作例について、図2を用いて説明する。
図2は本発明の実施形態1のアプリケーション実行サーバの動作例を示す図である。
図2のように、サービスA(902)が、サービスA(902)の機能を他のサービスで使えるようアプリケーション実行サーバ803に登録を行う(S903)。アプリケーション実行サーバ803は、登録された機能の情報を機能リスト904に記憶する。
サービスA(902)が提供する機能を使用したいサービスB(905)は、アプリケーション実行サーバ803に対して機能の検索を依頼する(S906)。これにより、アプリケーション実行サーバ803は、機能リスト904を検索し、希望の機能を提供しているサービスが存在すれば、それをサービスB(905)に通知する(S907)。また、サービスB(905)は、アプリケーション実行サーバ803から通知された機能を有するサービスA(902)に対して、機能の提供の依頼を行う(S908)。
次に、実施形態1の特徴的なシステム構成について、図3を用いて説明する。
図3は本発明の実施形態1のシステム構成を示す図である。
特に、実施形態1では、HTTPサーバプログラムを、コンテンツサービスに代表される拡張プログラムの登録窓口となる窓口HTTPサーバ(窓口プログラム)401と、クライアントからのリクエストを受け付けてHTTP処理(HTTPプロトコルの処理)を行う実HTTPサーバ405(実処理プログラム)に分離することにより、認証機構(認証プログラム)が動作する前にクライアントからのアクセスを受付けることを禁止(防止)する構成について説明する。
窓口HTTPサーバ401は、ServletやHTMLデータといったコンテンツサービス403を登録する窓口であり、ネットワークを介してのクライアントからのリクエストの受付、HTTPプロトコルの処理、レスポンスの送信等の機能は持たない。
つまり、窓口プログラムは、HTTPプロトコルの処理を行わず、かつ実処理プログラムと連携して処理を実行するプログラムであり、かつ拡張プログラムと前記実処理プログラムを自身に登録して、両者の実行環境を構成するプログラムである。一方、実処理プログラムは、HTTPプロトコルの処理を行い、かつ窓口プログラムと連携して処理を実行するプログラムである。
図3において、窓口HTTPサーバ401は、コンテンツサービス403を登録するコンテンツサービス登録インターフェイス402と、実HTTPサーバ405(実HTTPサーバサービス)を登録するためのサーバ登録インターフェイス404を有している。そして、図2で示すアプリケーション実行サーバ803に、これらの登録インターフェイスを登録している。
コンテンツサービス登録インターフェイス402は、図4のようなインターフェイス記述によって提供され、アプリケーション実行サーバ803に登録されている。
サーバ登録インターフェイス404は、実HTTPサーバ405が一つの場合は、例えば、図5のようなインターフェイス記述によって提供され、アプリケーション実行サーバ803に登録されている。実HTTPサーバ405がいくつかのネットワークポートを使用して実行される場合は、例えば、図6や図7のようなインターフェイス記述によって提供され、アプリケーション実行サーバ803に登録されている。
さらに、窓口HTTPサーバ401は、コンテンツサービス登録インターフェイス402で登録された、コンテンツサービスを保存するサービスリスト408と、サーバ登録インターフェイス404で登録された実HTTPサーバ405を保存する実サーバリスト407を有している。
一方、実HTTPサーバ405は、コンテンツサービスを登録するコンテンツサービス登録インターフェイス406と、コンテンツサービス登録インターフェイス406で登録されたコンテンツサービスを記憶するサービスリスト415、HTTPプロトコルのハンドリングを行うHTTP処理部414から構成される。
HTTP処理部414は、起動が終了すると、サーバソケットをオープンし、クライアントからのリクエストを待機する。クライアントからリクエストを受け付けると、そのリクエストの内容を解析し、リクエストに対応するコンテンツサービスをサービスリスト415から検索する。次に、そのリクエストに対応したコンテンツサービスからクライアントに送信すべきデータを取得、もしくはリクエストデータをコンテンツサービスに引数として渡し、コンテンツサービスからその結果となるデータの取得を行う。
そして、その取得したデータにHTTPのヘッダーデータを付加し、クライアントに対して送信を行う。もし、リクエストに対応するコンテンツサービスをサービスリスト415から検索できなかった場合や、コンテンツサービスからエラーが返された場合は、クライアントに対してエラーの送信を行う。
コンテンツサービス登録インターフェイス402は、起動されると、窓口HTTPサーバ401(窓口HTTPサーバサービス)を取得し、取得した窓口HTTPサーバ401に対して、コンテンツサービス403の登録を行う。また、窓口HTTPサーバ401は、クライアントからのリクエストによる実HTTPサーバ405からの呼出に応じて、クライアントに送信するデータの生成を行う。
アプリケーション実行サーバ803は、サービスプログラムを起動する順序のみを記憶しており、その順序に従って、まず、窓口HTTPサーバ401を起動する。次に、コンテンツサービス403を起動する。コンテンツサービス403は、自身の起動シーケンスの中で、アプリケーション実行サーバ803に登録されている窓口HTTPサーバ401のコンテンツサービス登録インターフェイス402を取得し、窓口HTTPサーバ401に対し、取得したコンテンツサービス登録インターフェイス402を用いて自身を登録する(S409)。
このとき起動されるコンテンツサービス403は、認証Servletサービスであってもよいし、一般のコンテンツサービスであってもよいし、それらの両方であってもよい。
ここで、実施形態1のコンテンツサービス403の登録手順及び実HTTPサーバ405の登録手順について、図8及び図9を用いて説明する。
図8は本発明の実施形態1のコンテンツサービスの登録手順を示すフローチャートである。また、図9は本発明の実施形態1の実HTTPサーバの登録手順を示すフローチャートである。
図8において、窓口HTTPサーバ401に、コンテンツサービス403が登録される(ステップS601)と、窓口HTTPサーバ401は、窓口HTTPサーバ401の実サーバリスト407に実HTTPサーバ405が登録されているか否かを判定する(ステップS602)。この時点では、実HTTPサーバ405は、まだ、起動しておらず、実サーバリスト407に登録されている実HTTPサーバ405はないので(ステップS602でNO)、コンテンツサービス403をサービスリスト408に登録する(ステップS604、図3のS410)。
一方、コンテンツサービス403の起動が終了すると、次に、実HTTPサーバ405が起動される。図9において、実HTTPサーバ405は、自身の起動シーケンスの中で、アプリケーション実行サーバ803に登録されている窓口HTTPサーバ401のサーバ登録インターフェイス404を取得し、そのサーバ登録インターフェイス404を用いて、自身を窓口HTTPサーバ401に登録する(ステップS701、図3のS411)。
実HTTPサーバ405が登録されると、窓口HTTPサーバ401は、サービスリスト408が空であるか否かを判定する(ステップS702)。サービスリスト408が空でない場合(ステップS702でYES)、実HTTPサーバ405のコンテンツサービス登録インターフェイス406を用いて、ステップS701で登録された実HTTPサーバ405に対して、サービスリスト408に登録されているコンテンツサービスを登録する(ステップS703、図3のS413)。さらに、実サーバリスト409に、ステップS701で登録された実HTTPサーバ405を登録する(ステップS704、図3のS412)。
一方、サービスリスト408が空である場合(ステップS702でNO)、実サーバリスト409に、ステップS701で登録された実HTTPサーバ405を登録する(ステップS704、図3のS412)。
尚、実HTTPサーバ405は、ステップS703の時点で、窓口HTTPサーバ401から登録されたコンテンツサービスをサービスリスト415に記憶する(図3のS416)。実HTTPサーバ405に対するコンテンツサービス403の登録が終了すると、実HTTPサーバ405はサーバポートをオープンし、クライアントからのアクセスの受付けを開始する。
ここで、登録される実HTTPサーバ405は、一つであってもよいし、HTTPのリクエストを受け取るネットワークポート毎に複数あってもよい。
実HTTPサーバ405の起動シーケンスは、実HTTPサーバ405で実装され、窓口HTTPサーバ401への実HTTPサーバ405の登録も窓口HTTPサーバ401と実HTTPサーバ405間で閉じた処理である。そのため、アプリケーション実行サーバ803は、実HTTPサーバ405の起動を行うだけでよい。
実HTTPサーバ405が起動されたあとに、コンテンツサービス403が起動されると、コンテンツサービス403は自身の起動シーケンスの中で、窓口HTTPサーバ401に対しコンテンツサービス登録インターフェイス402を用いて自身を登録する。
つまり、図8において、窓口HTTPサーバ401に、コンテンツサービス403が登録される(ステップS601)。次に、窓口HTTPサーバ401は、窓口HTTPサーバ401の実サーバリスト409に、実HTTPサーバ405が登録されているか否かを判定する(ステップS602)。この時点では、実HTTPサーバ405は、すでに起動していて登録されているので(ステップS602でYES)、コンテンツサービス403を実HTTPサーバ405のコンテンツサービス登録インターフェイス406を用いて実HTTPサーバ405に登録する(ステップS603)。続いて、そのコンテンツサービス403をサービスリスト408に登録する(ステップS604)。
図10は、本発明の実施形態1のシステムの動作フローを示す図である。以上のような窓口HTTPサーバ401と実HTTPサーバ405を構成すると、図10のように、まず、窓口HTTPサーバ401が起動される(S501)。このとき、実際に、HTTPのリクエストを受ける実HTTPサーバ405はまだ存在していないので、クライアントからのリクエストが受付されることはなく、クライアントにはサーバが存在しないという情報が返される(S502)。
次に、認証Servletや一般のコンテンツサービスを含むコンテンツサービス403が起動し、窓口HTTPサーバ401に登録される(S503)。このときも、実際にHTTPのリクエストを受ける実HTTPサーバ405は、まだ存在していないので、クライアントからのリクエストが受付されることはない(S504)。
次に、実HTTPサーバ405を起動して、窓口HTTPサーバ401への登録(S505)、窓口HTTPサーバ401から実HTTPサーバ405へのコンテンツサービス403の登録(S506)、実HTTPサーバ405の起動(S507)が、実HTTPサーバ405の起動シーケンスの中で、アトミックにおこなわれて実HTTPサーバ405の起動(HTTPサーバ機能の起動)が完了する。実HTTPサーバ405の起動が完了したときには、コンテンツサービス403である認証Servletが、実HTTPサーバ405に既に登録されているので、認証機構が有効の状態でクライアントからのアクセスを受付けることが可能になる(S508)。
以上説明したように、実施形態1によれば、HTTPサーバプログラムを、コンテンツサービスに代表される拡張プログラムの登録窓口となる窓口HTTPサーバと、クライアントからのリクエストを受け付けてHTTP処理を行う実HTTPサーバ405に分離することにより、認証機構(認証プログラム)が動作する前にクライアントからのアクセスを受付けることは禁止することができる。
つまり、HTTPサーバプログラムを2つの機能のHTTPサーバに分けることにより、アプリケーション実行サーバを複雑化しなくても、認証ServletなしにHTTPサービスが実行されることを防止し、セキュアなHTTPサービスを実現することができる。
また、アプリケーション実行サーバ上で、起動される各種サービスの複雑な状態管理を行う必要がなくなり、単にサービスの起動の順序のみを管理すればよいので、アプリケーション実行サーバの実装を単純にすることができる。アプリケーション実行サーバは、サービス全体の管理を行うものであるため、アプリケーション実行サーバの実装を単純にできるということは、システム全体のパフォーマンスやバグを減らすことにつながる。
<実施形態2>
実施形態2は、実施形態1の応用例であり、コンテンツサービスを呼び出すことの可能な実HTTPサーバ405の動作するネットワークポート番号を指定する環境での構成について説明する。
尚、実施形態2では、実施形態1と共通の構成については、共通の参照番号を用いて説明する。
実施形態2では、図3に示したように、窓口HTTPサーバ401は、コンテンツサービス403を登録するコンテンツサービス登録インターフェイス402と、実HTTPサーバ405を登録するためのサーバ登録インターフェイス404を有している。そして、図2で示すアプリケーション実行サーバ803に、これらの登録インターフェイスを登録している。
コンテンツサービス登録インターフェイス402は、コンテンツサービスを呼び出すことの可能な実HTTPサーバ405の動作するネットワークポート番号を指定することが可能なインターフェイスである。引数として、ネットワークポート番号を指定してもよいし、ネットワークポート毎に違う登録インターフェイスをもっていてもよい。
例えば、コンテンツサービス登録インターフェイス402は、引数としてネットワークポート番号を指定する場合は、例えば、図11のようなインターフェイス記述によって提供され、アプリケーション実行サーバ803に登録されている。また、ネットワークポート毎に違う登録インターフェイスにする場合は、例えば、図12のようなインターフェイス記述によって提供され、アプリケーション実行サーバ803に登録されている。
サーバ登録インターフェイス404は、実HTTPサーバ405と、実HTTPサーバ405の動作するネットワークポート番号を登録できるインターフェイスである。引数としてネットワークポート番号を指定してもよいし、ネットワークポート毎に違う登録インターフェイスを持っていてもよい。
サーバ登録インターフェイス404は、実HTTPサーバ405がいくつかのネットワークポートを使用して実行される場合において、実HTTPサーバ405の動作するネットワークポート番号を引数としてネットワークポート番号を指定する場合は、例えば、図6のようなインターフェイス記述によって提供され、アプリケーション実行サーバ803に登録されている。また、ネットワークポート毎に違う登録インターフェイスにする場合は、例えば、図7のようなインターフェイス記述によって提供され、アプリケーション実行サーバ803に登録されている。
さらに、窓口サーバ401は、コンテンツサービス登録インターフェイス402で登録されたコンテンツサービスを保存する、例えば、図13のようなサービスリスト408と、サーバ登録インターフェイス404で登録された実HTTPサーバ405を保存する、図14のような実サーバリスト407を有している。
サービスリスト408では、図13のように、コンテンツサービスに関する情報1601(例えば、コンテンツサービス名)だけでなく、それに対応するコンテンツサービスを呼び出すことの可能な実HTTPサーバの動作するネットワークポート番号に関する情報1602(例えば、ポート番号)も保持している。
また、実サーバリスト407では、図14のように、実HTTPサーバに関する情報1701(例えば、実HTTPサーバ名)だけでなく、それに対応する実HTTPサーバの動作するネットワークポート番号の情報1702(例えば、ポート番号)も保持している。
窓口HTTPサーバ401は、コンテンツサービス403を登録する窓口であり、クライアントからのリクエストの受付け、HTTPプロトコルの処理、レスポンスの送信などの機能は持たない。
実HTTPサーバ405は、窓口HTTPサーバ401からコンテンツサービス403を登録するコンテンツサービス登録インターフェイス406と、コンテンツサービス登録インターフェイス406で登録されたコンテンツサービスを記憶するサービスリスト415、HTTPプロトコルのハンドリングを行うHTTP処理部414から構成される。
HTTP処理部414は、起動が終了すると、サーバソケットをオープンし、クライアントからのリクエストを待機する。クライアントからのリクエスト受け付けると、そのリクエストの内容を解析し、リクエストに対応するコンテンツサービスをサービスリスト415から検索する。次に、そのリクエストに対応したコンテンツサービスからクライアントに送信すべきデータを取得、もしくはリクエストデータをコンテンツサービスに引数として渡しコンテンツサービスからその結果となるデータの取得を行う。
そして、その取得したデータに、HTTPのヘッダーデータを付加して、クライアントに対して送信を行う。もし、リクエストに対応するコンテンツサービスをサービスリスト415から検索できなかった場合や、コンテンツサービスからエラーが返された場合は、クライアントに対してエラーの送信を行う。
コンテンツサービス登録インターフェイス402は起動されると、窓口HTTPサーバ401(窓口HTTPサーバサービス)を取得し、取得した窓口HTTPサーバ401に対して、コンテンツサービス403の登録を行う。また、窓口HTTPサーバ401は、クライアントからのリクエストによる実HTTPサーバ405からの呼出に応じてクライアントに送信するデータの生成を行う。
アプリケーション実行サーバ803は、サービスプログラムを起動する順序のみを記憶しており、その順序に従って、まず、窓口HTTPサーバ401を起動する。次に、コンテンツサービス403が起動される。コンテンツサービス403は、自身の起動シーケンスの中で、アプリケーション実行サーバ803に登録されている窓口HTTPサーバ401のコンテンツサービス登録インターフェイス402を取得し、窓口HTTPサーバ401に対し、取得したコンテンツサービス登録インターフェイス402を用いて自身を登録する(S409)。
このとき起動されるコンテンツサービス403は、認証Servletサービスであってもよいし、一般のコンテンツサービスであってもよいし、その両方であってもよい。
ここで、実施形態2のコンテンツサービス403の登録手順及び実HTTPサーバ405の登録手順について、図15及び図16を用いて説明する。
図15は本発明の実施形態2のコンテンツサービスの登録手順を示すフローチャートである。また、図16は本発明の実施形態2の実HTTPサーバの登録手順を示すフローチャートである。
図15において、窓口HTTPサーバ401に、コンテンツサービス403が登録される(ステップS1901)と、窓口HTTPサーバ401は、窓口HTTPサーバ401の図14の実サーバリスト407を参照して、その実サーバリスト407のポート番号の欄(1602)で、コンテンツサービスが指定するネットワークポートの番号と等しい実HTTPサーバを検索する(ステップS1902)。この時点では、実HTTPサーバサービス405は、まだ一つも起動しておらず、実サーバリスト407に登録されている実HTTPサーバ405はないので(ステップS1902でNO)、コンテンツサービス403を、図16のサービスリスト408に、ネットワークポート番号の情報とともに登録する(ステップS1904)。
一方、コンテンツサービス403の起動が終了すると、次に、実HTTPサーバ405が起動される。図16において、実HTTPサーバ405は、自身の起動シーケンスの中で、アプリケーション実行サーバ803に登録されている窓口HTTPサーバ401のサーバ登録インターフェイス404を取得し、そのサーバ登録インターフェイス404を用いて、自身と動作するネットワークポートの情報を窓口HTTPサーバ401に登録する(ステップS1801、図3のS411)。
実HTTPサーバ405が登録されると、窓口HTTPサーバ401は、図16のサービスリスト408から、コンテンツサービス403のEnumation(列挙リスト)を取得する(ステップS1802)。ここで、Enumation(列挙リスト)は次の項目を要求するとリストの先頭からひとつづつ項目を返す機能と、次の項目が存在するかを返す機能をもつリストである。
次に、列挙リストに次の項目があるか否かを判定する(ステップS1803)。次の項目がない場合(ステップ1803でNO)、実HTTPサーバ405を、図17の実サーバリスト407に登録する(ステップS1807)。更に、実HTTPサーバ405の起動を行う(ステップS1808)。
一方、列挙リストに次の項目がある場合(ステップS1803でYES)、列挙リストの次の項目を取得する(ステップS1804)。次に、取得されたコンテンツサービスのネットワークポート番号が登録をおこなっている実HTTPサーバサービス405のネットワークポート番号と等しいか否かを判定する(ステップS1805)。
等しくない場合(ステップS1805でNO)、ステップS1803に戻る。一方、等しい場合(ステップS1805でYES)、実HTTPサーバ405にコンテンツサービス403を登録する(ステップS1806)。その後、ステップS1803に戻る。
尚、実HTTPサーバサービス405は、ステップS1806の時点で、窓口HTTPサーバサービスから登録されたコンテンツサービス403を図13のサービスリスト415に記憶する(図3のS416)。実HTTPサーバサービス405に対するコンテンツサービス403の登録が終了すると、実HTTPサーバ405は、サーバポートをオープンし、クライアントからのアクセスの受付けを開始する。
ここで、登録される実HTTPサーバ405は、一つであってもよいし、HTTPのリクエストを受け取るネットワークポート毎に複数あってもよい。
実HTTPサーバサービス405の起動シーケンスは、実HTTPサーバ405で実装され、窓口HTTPサーバ401への実HTTPサーバ405の登録も窓口HTTPサーバ401と実HTTPサーバ405間で閉じた処理である。そのため、アプリケーション実行サーバ803は、実HTTPサーバ405の起動を行うだけでよい。
実HTTPサーバ405が起動されたあとに、コンテンツサービス403が起動されると、コンテンツサービス403は自身の起動シーケンスの中で、窓口HTTPサーバ401に対しコンテンツサービス登録インターフェイス402を用いて自身を登録する。
つまり、図15において、窓口HTTPサーバ401に、コンテンツサービス403が登録される(ステップS1901)。次に、窓口HTTPサーバ401は、窓口HTTPサーバ401の図14の実サーバリスト409を参照して、その実サーバリスト407のポート番号の欄(1602)で、コンテンツサービスが指定するネットワークポートの番号と等しい実HTTPサーバを検索する(ステップS1902)。この時点では、コンテンツサービス403が指定するネットワークポートで動作する実HTTPサーバ405がすでに登録されているので(ステップS1902でYES)、図17の実サーバリスト407からコンテンツサービス403が指定するネットワークポートで動作する実HTTPサーバ405を取得して、コンテンツサービス403を実HTTPサーバサービス405のコンテンツサービス登録インターフェイス406を用いて実HTTPサーバ405に登録する(ステップS1903)。続いて、そのコンテンツサービス403を図16のサービスリスト408に登録する(ステップS1904)。
以上のような窓口HTTPサーバ401と実HTTPサーバ405を構成すると、図10のように、まず、窓口HTTPサーバ401が起動される(S501)。このとき、実際に、HTTPのリクエストを受ける実HTTPサーバ405はまだ存在していないので、クライアントからのリクエストが受付されることはなく、クライアントにはサーバが存在しないという情報が返される(S502)。
次に、認証Servletや一般のコンテンツサービスを含むコンテンツサービス403が起動し、窓口HTTPサーバ401に登録される(S503)。このときも、実際にHTTPのリクエストを受ける実HTTPサーバ405はまだ存在していないので、クライアントからのリクエストが受付されることはない(S504)。
次に、実HTTPサーバ405を生成して、窓口HTTPサーバ401への登録(S505)、窓口HTTPサーバ401から実HTTPサーバ405へのコンテンツサービス403の登録(S506)、実HTTPサーバ405の起動(S507)が、実HTTPサーバ405の起動シーケンスの中で、アトミックにおこなわれてHTTPサーバ405の起動(HTTPサーバ機能の起動)が完了する。HTTPサーバ405の起動が完了したときには、コンテンツサービス403である認証Servletが、HTTPサーバ405に既に登録されているので、認証機構が有効の状態でクライアントからのアクセスを受付けることが可能になる(S508)。
以上説明したように、実施形態2によれば、コンテンツサービスを呼び出すことの可能な実HTTPサーバ405の動作するネットワークポート番号を指定する環境においても、実施形態1で説明した効果を実現することができる。
<実施形態3>
実施形態1や2の窓口HTTPサーバ401と実HTTPサーバ405は、例えば、プログラムとして実現され、このプログラムが保存された記録媒体としては、CD−ROMやフロッピー(登録商標)ディスクドライブ、ハードディスク、メモリカード等が使用される。
以上、実施形態例を詳述したが、本発明は、例えば、システム、装置、方法、プログラムもしくは記憶媒体等としての実施態様をとることが可能であり、具体的には、複数の機器から構成されるシステムに適用しても良いし、また、一つの機器からなる装置に適用しても良い。
尚、本発明は、前述した実施形態の機能を実現するソフトウェアのプログラム(実施形態では図に示すフローチャートに対応したプログラム)を、システムあるいは装置に直接あるいは遠隔から供給し、そのシステムあるいは装置のコンピュータが該供給されたプログラムコードを読み出して実行することによっても達成される場合を含む。
従って、本発明の機能処理をコンピュータで実現するために、該コンピュータにインストールされるプログラムコード自体も本発明を実現するものである。つまり、本発明は、本発明の機能処理を実現するためのコンピュータプログラム自体も含まれる。
その場合、プログラムの機能を有していれば、オブジェクトコード、インタプリタにより実行されるプログラム、OSに供給するスクリプトデータ等の形態であっても良い。
プログラムを供給するための記録媒体としては、例えば、フロッピー(登録商標)ディスク、ハードディスク、光ディスク、光磁気ディスク、MO、CD−ROM、CD−R、CD−RW、磁気テープ、不揮発性のメモリカード、ROM、DVD(DVD−ROM,DVD−R)などがある。
その他、プログラムの供給方法としては、クライアントコンピュータのブラウザを用いてインターネットのホームページに接続し、該ホームページから本発明のコンピュータプログラムそのもの、もしくは圧縮され自動インストール機能を含むファイルをハードディスク等の記録媒体にダウンロードすることによっても供給できる。また、本発明のプログラムを構成するプログラムコードを複数のファイルに分割し、それぞれのファイルを異なるホームページからダウンロードすることによっても実現可能である。つまり、本発明の機能処理をコンピュータで実現するためのプログラムファイルを複数のユーザに対してダウンロードさせるWWWサーバも、本発明に含まれるものである。
また、本発明のプログラムを暗号化してCD−ROM等の記憶媒体に格納してユーザに配布し、所定の条件をクリアしたユーザに対し、インターネットを介してホームページから暗号化を解く鍵情報をダウンロードさせ、その鍵情報を使用することにより暗号化されたプログラムを実行してコンピュータにインストールさせて実現することも可能である。
また、コンピュータが、読み出したプログラムを実行することによって、前述した実施形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが、実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現され得る。
さらに、記録媒体から読み出されたプログラムが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施形態の機能が実現される。
本発明の実施形態1の情報処理装置の基本構成を示す図である。 本発明の実施形態1のアプリケーション実行サーバの動作例を示す図である。 本発明の実施形態1のシステム構成を示す図である。 本発明の実施形態1のコンテンツサービス登録インターフェイスのインターフェイス記述例を示す図である。 本発明の実施形態1のサーバ登録インターフェイスのインターフェイス記述例を示す図である。 本発明の実施形態1のサーバ登録インターフェイスのインターフェイス記述例を示す図である。 本発明の実施形態1のサーバ登録インターフェイスのインターフェイス記述例を示す図である。 本発明の実施形態1の実HTTPサーバの登録手順を示すフローチャートである。 本発明の実施形態1の実HTTPサーバの登録手順を示すフローチャートである。 本発明の実施形態1のシステムの動作フローを示す図である。 本発明の実施形態2のコンテンツサービス登録インターフェイスのインターフェイス記述例を示す図である。 本発明の実施形態2のコンテンツサービス登録インターフェイスのインターフェイス記述例を示す図である。 本発明の実施形態2のサービスリストの一例を示す図である。 本発明の実施形態2の実サーバリストの一例を示す図である。 本発明の実施形態2のコンテンツサービスの登録手順を示すフローチャートである。 本発明の実施形態2の実HTTPサーバの登録手順を示すフローチャートである。 アプリケーション実行サーバの構成例を示す図である。 従来の構成における課題を説明するための図である。 従来の構成における課題を説明するための図である。
符号の説明
401 窓口HTTPサーバ
402 コンテンツサービス登録インターフェイス
403 コンテンツサービス
404 サーバ登録インターフェイス
405 実HTTPサーバ
406 コンテンツサービス登録インターフェイス
407 実サーバリスト
408 サービスリスト
414 HTTP処理部
415 サービスリスト

Claims (9)

  1. ユーザからのリクエストに対して、サービスを提供するサーバ機能を実現する情報処理装置であって、
    提供対象のサービスを実現する拡張プログラムと、前記リクエストの受付と、そのリクエストに対する前記拡張プログラムによる処理を制御する実処理プログラムと、前記拡張プログラムと前記実処理プログラムを自身に登録して、両者の実行環境を構成する窓口プログラムとを記憶する記憶手段と、
    前記窓口プログラムを起動し、前記拡張プログラムを起動して前記窓口プログラムに登録し、前記実処理プログラムを起動して前記窓口プログラムに登録し、前記窓口プログラムに登録された実処理プログラムに対して前記窓口プログラムに登録された拡張プログラムを登録することで、前記リクエストの受付を、前記拡張プログラムが実現するサービスが有効な状態で実行するように制御する制御手段と
    を備えることを特徴とする情報処理装置。
  2. 前記窓口プログラムは、
    前記拡張プログラムを記憶する拡張プログラム記憶手段と、
    前記実処理プログラムを登録する実処理プログラム登録手段と、
    前記実処理プログラム登録手段で登録された実処理プログラムを記憶する実処理プログラム記憶手段と、
    前記実処理プログラムに対して、前記拡張プログラム記憶手段に記憶された拡張プログラムを登録する登録手段と
    を備えることを特徴とする請求項1に記載の情報処理装置。
  3. 前記実処理プログラムは、
    前記拡張プログラムを登録する登録手段と、
    前記登録手段で登録された拡張プログラムを記憶する拡張プログラム記憶手段と、
    当該実処理プログラム自身を前記窓口プログラムに登録する実処理プログラム登録手段と、
    前記リクエストに応じて、前記拡張プログラム記憶手段に記憶された拡張プログラムを呼び出し実行する実行手段と
    を備えることを特徴とする請求項1に記載の情報処理装置。
  4. 前記拡張プログラムは、HTTPサービスを実現するプログラムであり、
    前記窓口プログラムは、HTTPプロトコルの処理を行わず、かつ前記実処理プログラムと連携して処理を実行するプログラムであり、
    前記実処理プログラムは、HTTPプロトコルの処理を行い、かつ前記窓口プログラムと連携して処理を実行するプログラムである
    ことを特徴とする請求項1に記載の情報処理装置。
  5. 前記拡張プログラムには、自身が動作するネットワークポートが指定されている場合、
    前記窓口プログラムは、前記拡張プログラムが指定するネットワークポートに関する情報と該拡張プログラムを管理する第1管理手段と、
    前記実処理プログラムは、前記リクエストを受け取るネットワークポート毎に、対応する拡張プログラムを前記窓口プログラムより登録し、管理する第2管理手段と
    を備えることを特徴とする請求項1に記載の情報処理装置。
  6. ユーザからのリクエストに対して、サービスを提供するサーバ機能を実現する情報処理装置の制御方法であって、
    提供対象のサービスを実現する拡張プログラムと、前記リクエストの受付と、そのリクエストに対する前記拡張プログラムによる処理を制御する実処理プログラムと、前記拡張プログラムと前記実処理プログラムを自身に登録して、両者の実行環境を構成する窓口プログラムとを記憶部に記憶する記憶工程と、
    前記窓口プログラムを起動し、前記拡張プログラムを起動して前記窓口プログラムに登録し、前記実処理プログラムを起動して前記窓口プログラムに登録し、前記窓口プログラムに登録された実処理プログラムに対して前記窓口プログラムに登録された拡張プログラムを登録することで、前記リクエストの受付を、前記拡張プログラムが実現するサービスが有効な状態で実行するように制御する制御工程と
    を備えることを特徴とする情報処理装置の制御方法。
  7. ユーザからのリクエストに対して、サービスを提供するサーバ機能を実現するプログラムであって、
    提供対象のサービスを実現する拡張プログラムと、前記リクエストの受付と、そのリクエストに対する前記拡張プログラムによる処理を制御する実処理プログラムと、前記拡張プログラムと前記実処理プログラムを自身に登録して、両者の実行環境を構成する窓口プログラムとを記憶部に記憶する記憶工程のプログラムコードと、
    前記窓口プログラムを起動し、前記拡張プログラムを起動して前記窓口プログラムに登録し、前記実処理プログラムを起動して前記窓口プログラムに登録し、前記窓口プログラムに登録された実処理プログラムに対して前記窓口プログラムに登録された拡張プログラムを登録することで、前記リクエストの受付を、前記拡張プログラムが実現するサービスが有効な状態で実行するように制御する制御工程のプログラムコードと
    を備えることを特徴とするプログラム。
  8. ユーザからのリクエストに対して、サービスを提供するサーバ機能を実現するためのプログラムであって、
    提供対象のサービスを実現する拡張プログラムを記憶する拡張プログラム記憶手段と、
    前記リクエストの受付と、そのリクエストに対する前記拡張プログラムによる処理を制御する実処理プログラムを登録する実処理プログラム登録手段と、
    前記実処理プログラム登録手段で登録された実処理プログラムを記憶する実処理プログラム記憶手段と、
    前記実処理プログラムに対して、前記拡張プログラム記憶手段に記憶された拡張プログラムを登録する登録手段とを備え、
    当該プログラムは、前記拡張プログラムと前記実処理プログラムを自身に登録して、両者の実行環境を構成する
    ことを特徴とするプログラム。
  9. ユーザからのリクエストに対して、サービスを提供するサーバ機能を実現するためのプログラムであって、
    提供対象のサービスを実現する拡張プログラムを登録する登録手段と、
    前記登録手段で登録された拡張プログラムを記憶する拡張プログラム記憶手段と、
    当該プログラムと前記拡張プログラムを登録して、両者の実行環境を構成する窓口プログラムに、当該プログラムを登録するプログラム登録手段と、
    前記リクエストに応じて、前記拡張プログラム記憶手段に記憶された拡張プログラムを呼び出し実行する実行手段と
    を備えることを特徴とするプログラム。
JP2004335007A 2004-11-18 2004-11-18 情報処理装置及びその制御方法、プログラム Withdrawn JP2006146512A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2004335007A JP2006146512A (ja) 2004-11-18 2004-11-18 情報処理装置及びその制御方法、プログラム
US11/281,223 US7860987B2 (en) 2004-11-18 2005-11-17 Apparatus for providing service in response to user request and method therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004335007A JP2006146512A (ja) 2004-11-18 2004-11-18 情報処理装置及びその制御方法、プログラム

Publications (1)

Publication Number Publication Date
JP2006146512A true JP2006146512A (ja) 2006-06-08

Family

ID=36387736

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004335007A Withdrawn JP2006146512A (ja) 2004-11-18 2004-11-18 情報処理装置及びその制御方法、プログラム

Country Status (2)

Country Link
US (1) US7860987B2 (ja)
JP (1) JP2006146512A (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8321557B2 (en) * 2007-10-10 2012-11-27 Sony Mobile Communications Ab Web feeds over SIP
US8375379B2 (en) * 2008-01-31 2013-02-12 SAP France S.A. Importing language extension resources to support application execution
US9992269B1 (en) * 2013-02-25 2018-06-05 EMC IP Holding Company LLC Distributed complex event processing
JP6168839B2 (ja) * 2013-05-15 2017-07-26 キヤノン株式会社 情報処理装置、その制御方法、プログラム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6226752B1 (en) * 1999-05-11 2001-05-01 Sun Microsystems, Inc. Method and apparatus for authenticating users
US6629127B1 (en) * 1999-07-26 2003-09-30 Microsoft Corporation Methods and systems for processing HTTP requests
JP4214632B2 (ja) 1999-08-10 2009-01-28 富士ゼロックス株式会社 アクセス中継装置及び方法
US6950875B1 (en) * 2000-05-09 2005-09-27 Sun Microsystems, Inc. Message conductors in a distributed computing environment
US7072967B1 (en) * 2000-05-09 2006-07-04 Sun Microsystems, Inc. Efficient construction of message endpoints
US7395333B1 (en) * 2000-05-09 2008-07-01 Sun Microsystems, Inc. Method and apparatus to obtain negotiated service advertisement
US6970869B1 (en) * 2000-05-09 2005-11-29 Sun Microsystems, Inc. Method and apparatus to discover services and negotiate capabilities
US7577834B1 (en) * 2000-05-09 2009-08-18 Sun Microsystems, Inc. Message authentication using message gates in a distributed computing environment
US7089567B2 (en) * 2001-04-09 2006-08-08 International Business Machines Corporation Efficient RPC mechanism using XML
US6813641B2 (en) * 2001-07-05 2004-11-02 Sun Microsystems, Inc. Teamware server working over HTTP/HTTPS connections
US7117504B2 (en) * 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
CA2359382A1 (en) * 2001-10-19 2003-04-19 Intrinsyc Software, Inc. Method of providing web services on embedded device
US20040034860A1 (en) * 2002-08-15 2004-02-19 Microsoft Corporation Dynamically extensible application program framework including message and notification routing
US7305230B2 (en) * 2003-07-01 2007-12-04 Nokia Corporation System, apparatus, and method for providing a mobile server

Also Published As

Publication number Publication date
US20060106915A1 (en) 2006-05-18
US7860987B2 (en) 2010-12-28

Similar Documents

Publication Publication Date Title
JP5424614B2 (ja) 情報処理システム、情報処理装置、Webサーバ、制御方法、及びプログラム
JP4754473B2 (ja) ハンドヘルドコンピューターにおける自動データインストールのためのシステムおよび方法
JP5350712B2 (ja) 物理コンピュータ・システムの仮想表現へのオンデマンドのアクセス
JP4829697B2 (ja) 情報処理装置、情報処理方法、コンピュータプログラム及び記録媒体
WO2018107719A1 (zh) 数据分享方法、装置、终端设备和服务器
US8813064B2 (en) Image forming apparatus, service system and method of installing open services gateway initiative (OSGI)-based service
US20030120930A1 (en) Document notarization system and method
JP2004086895A (ja) 任意のネットワーク上のコンポーネントを通信可能にするためのシステムと方法
AU2005222507A1 (en) Portable computing environment
JP5383155B2 (ja) 通信装置、画像処理装置、画像処理システム、それらの制御方法、プログラム
US7860987B2 (en) Apparatus for providing service in response to user request and method therefor
JP2007280028A (ja) 情報処理装置及びショートカットキーの設定・変更方法
JP2007233610A (ja) 情報処理装置、ポリシー管理方法、記憶媒体、プログラム
WO2009104352A1 (ja) 端末装置、情報提供システム、ファイルアクセス方法およびデータ構造
KR101482149B1 (ko) 어플리케이션 실행 장치, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록 매체
JP2009205262A (ja) アプリケーションプログラムインストール装置、アプリケーションプログラムインストール方法、プログラム、および記録媒体
JP2007323653A (ja) データ配信システム、データ配信方法及びデータ配信プログラム
Giretti Understanding the gRPC Specification
JP2007310784A (ja) 情報処理装置、情報処理システム、情報処理方法、及びプログラム
JP2009294851A (ja) Webページ編集サーバ、Webページ編集システム及びWebページの編集方法
JP5091003B2 (ja) 情報処理システム、情報処理方法、プログラム、及び、記録媒体
JP2007122691A (ja) 情報処理装置、情報処理方法及びプログラム
JP2010055559A (ja) 文書管理装置、文書管理方法、及びプログラム
KR101460515B1 (ko) 어플리케이션 실행 장치, 그 방법 및 그 방법이 기록된 컴퓨터로 판독 가능한 기록 매체
WO2008068976A1 (ja) ネットワークシステム、サーバ、クライアント及びネットワークシステムにおける通信方法

Legal Events

Date Code Title Description
A300 Application deemed to be withdrawn because no request for examination was validly filed

Free format text: JAPANESE INTERMEDIATE CODE: A300

Effective date: 20080205