JPH11167535A - プログラム配布方法 - Google Patents

プログラム配布方法

Info

Publication number
JPH11167535A
JPH11167535A JP9311227A JP31122797A JPH11167535A JP H11167535 A JPH11167535 A JP H11167535A JP 9311227 A JP9311227 A JP 9311227A JP 31122797 A JP31122797 A JP 31122797A JP H11167535 A JPH11167535 A JP H11167535A
Authority
JP
Japan
Prior art keywords
client
program
server
protocol
proxy server
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.)
Pending
Application number
JP9311227A
Other languages
English (en)
Inventor
Rie Kobayashi
り恵 小林
Masasuke Tominaga
雅介 冨永
Tetsuya Masuishi
哲也 増石
Hirosuke Shindo
弘輔 新藤
Yoshiki Matsuda
芳樹 松田
Takashi Odajima
孝 小田島
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.)
Hitachi Ltd
Original Assignee
Hitachi 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 Hitachi Ltd filed Critical Hitachi Ltd
Priority to JP9311227A priority Critical patent/JPH11167535A/ja
Publication of JPH11167535A publication Critical patent/JPH11167535A/ja
Pending legal-status Critical Current

Links

Landscapes

  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Small-Scale Networks (AREA)

Abstract

(57)【要約】 (修正有) 【課題】ネットワーク上でクライアントが必要なときに
サーバがプログラムを配布する場合に、クライアントの
ネットワーク上の位置を意識することなく、使用可能な
プロトコルの中で最も効率の良いアクセス手段でサーバ
にアクセスできるプログラムを配布できるようにする。 【解決手段】プログラムを配布するサーバでは、1つの
プログラム名称に対して、各種プロトコルに対応したプ
ログラムを用意し、配布先クライアントのネットワーク
上の位置によって、そのクライアントが使用可能なプロ
トコルのうち最も効率の良いアクセス手段を搭載するプ
ログラムを配布する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワーク上で
サーバからクライアントにプログラムを配布して実行す
る場合のプログラム配布方法に関する。
【0002】
【従来の技術】クラアント/サーバシステムのクライア
ントプログラムは、従来、クライアントマシンにインス
トールしておかなければならなかった。しかし、Sun
Microsystems社のJava言語やマイクロ
ソフト社のActiveXの技術により、クライアント
のWWWブラウザ上で実行するクライアントプログラム
を、必要なときにサーバからクライアントに配布して実
行することが可能となった。
【0003】Javaで作成したインターネット上で配
布可能なプログラムであるアプレットは、WWWブラウ
ザの画面作成用のHTMLファイル中に、アプレットの
クラス名を指定することで、サーバからダウンロードさ
れ実行される。したがって、クライアント側にJava
に対応したWWWブラウザさえあれば、マシンに依存せ
ずに実行可能であり、他にはクライアント側に何も必要
としない。
【0004】ActiveXを用いた、インターネット
上で配布可能なプログラムであるActiveXコント
ロールは、現在、マイクロソフト社のシステムが塔載さ
れたマシンで実行可能である。ActiveXコントロ
ールも、Javaアプレットと同様に、WWWブラウザ
の画面作成用のHTMLファイル中にコントロール名称
を指定することで、サーバからダウンロードされる。A
ctiveXコントロールの場合は、一度ダウンロード
されると、クライアントのディスクに格納され、次回か
らはこの格納されたコントロールが使用される。 HT
MLファイルで指定されたコントロールのバージョン番
号がクライアントに格納されているコントロールのバー
ジョン番号より大きい場合は、再度ダウンロードされ
る。
【0005】JavaアプレットおよびActiveX
コントロールとも、クライアントからはパラメータとし
てそれらの名称を指定したURLが発行され、これを受
けてWWWサーバがそのURLを解析し、指定された名
称に対応するJavaアプレットまたはActiveX
コントロールをサーバからクライアントに配布する。ク
ライアントでは、配布されたJavaアプレットまたは
ActiveXコントロールを実行する。このように、
サーバからクライアントに必要に応じてクライアントプ
ログラムを配布することで、クライアント側では、プロ
グラムのインストール、環境設定、およびバージョン管
理を行なう必要がなくなるという利点がある。今後は、
このようなシステムが増加することが予想される。
【0006】ところで、インターネットを用いて、ロー
カルなネットワークの外から使用できるようにしたシス
テムを構築する場合、アクセスしてくるユーザに対する
セキュリティチェックが必要となる。一般にローカルネ
ットワークは、ファイヤーウォールで外部のネットワー
クから遮断され、外部からのアクセスはプロキシサーバ
経由でのみ許し、このプロキシサーバでアクセス制限を
行なっている。プロキシサーバでは、アクセスを許可す
るプロトコル、IPアドレス、およびユーザ名等が設定
可能で、許可されていないものはプロキシサーバを超え
てアクセスすることができない。プロキシサーバで許可
するプロトコルは、通常、http、ftp、telnet等の少数
のプロトコルに限定されている。
【0007】クライアントからのhttpプロトコルでのア
クセス要求は、WWWサーバが受信する。WWWサーバ
は、クライアントからのアクセス要求をhttpプロトコル
にしたがって解析し、指定されたファイルをクライアン
トに送信したり、指定されたファイルがサーバ側のプロ
グラムである場合は、そのプログラムを実行してその出
力をクライアントに送信する。このとき、アクセスして
きたクライアントの情報はWWWサーバにあるプログラ
ムが参照可能な形態で記憶され、その中にはクライアン
トのIPアドレスやプロキシサーバ経由かどうかの情報
も含まれる。
【0008】サーバ側のプログラムと連動して処理を行
なうクライアントプログラムの場合は、サーバとのやり
とりは、プロキシサーバで許可されているプロトコルに
限定される。一方、ローカルネットワーク内でプロキシ
サーバを経由しないでデータアクセスする場合は、より
アクセス効率の良いプロトコルでのアクセスが可能であ
る。たとえば、プロキシサーバがプロトコルとしてhttp
しか許可していなければ、クライアントプログラムがプ
ロキシサーバ経由でDBサーバにアクセスする場合は、
URL指定でWWWサーバにあるプログラムを起動し、
そこからローカルネットワーク内のプロトコルでDBサ
ーバにアクセスしなければならない。しかし、ローカル
ネットワーク内であれば、直接、ローカルネットワーク
内のプロトコルでDBサーバにアクセスすることが可能
である。
【0009】サーバがクライアントにプログラムを配布
する手順は、下記のようなものである。まず、クライア
ントがサーバのプログラム配布用のページをロードし、
掲載されているプログラム一覧中の必要とするプログラ
ムを選択する。これにより、指定されたプログラムがク
ライアントに配布される。サーバとのやりとりを必要と
するプログラムの場合で、サーバが各種プロトコルのプ
ログラムを揃えている場合は、クライアントは、サーバ
アクセス時に使用可能なプロトコルを意識し、そのプロ
トコルを搭載したプログラムを選択する。
【0010】
【発明が解決しようとする課題】サーバとのやりとりを
行なうクライアントプログラムの場合、クライアントプ
ログラムをインストールしておかなければならないシス
テムにおいては、インストール時にそのクライアントが
サーバにアクセス可能なプロトコルで最もアクセス効率
の良い方式を用いたクライアントプログラムをインスト
ールしておけばよい。しかし、ネットワーク上でサーバ
がクライアントの要求に応じて配布するプログラムの場
合は、クライアント側が、ネットワーク上の位置によっ
て(すなわち、当該クライアントがローカルネットワー
クの外にあるか内にあるかによって)、配布を要求する
プログラムを変更する必要がある。よって、最適なプロ
グラムを使用しようとすると、クライアント側では常に
ネットワーク上の位置を意識する必要があり、同一のユ
ーザインタフェースでのプログラム配布要求ができない
という問題がある。
【0011】また、アクセス場所に関係なく同一プログ
ラムを使用できるようにすると、プロキシサーバで許可
するプロトコルの種類を増やすこととなり、プロキシサ
ーバのセキュリティのレベルが落ちるという問題が起こ
る。プロキシサーバで許可するプロトコルの種類を限定
すれば、ローカルネットワーク内からのアクセスでもそ
のプロトコルに限定されることとなり、ローカルネット
ワーク内で使用可能な、よりアクセス効率の良いプロト
コルを使用した場合に比べて、アクセス効率が低下する
という問題が起こる。
【0012】本発明は、ネットワーク上でクライアント
が必要なときにサーバがプログラムを配布する場合に、
クライアントのネットワーク上の位置を意識することな
く、使用可能なプロトコルの中で最も効率の良いアクセ
ス手段でサーバにアクセスできるプログラムを配布でき
るようにすることを目的とする。
【0013】
【課題を解決するための手段】上記目的を達成するため
に、本発明では、サーバは、クライアントからプログラ
ムの配布要求が来ると、そのクライアントがプロキシサ
ーバ経由かどうかをアクセスしてきたクライアントの情
報から判定し、プロキシサーバ経由であれば、IPアド
レスからプロキシサーバを特定し、そのプロキシサーバ
で許可しているプロトコルのうち最適のものを搭載した
プログラムをクライアントに配布し、プロキシサーバ経
由でなければ、ローカルネットワーク内で最適のアクセ
ス手段を搭載したプログラムをクライアントに配布する
ようにする。
【0014】すなわち、請求項1に係る発明は、ネット
ワーク上で、サーバがクライアントの要求に応じてクラ
イアントプログラムを配布するプログラム配布方法であ
って、クライアントからクライアントプログラムの要求
があったとき、該クライアントのIPアドレス、および
該クライアントがプロキシサーバ経由でアクセスしてい
るか否かの情報を取得するステップと、クライアントが
配布を要求するクライアントプログラムを指定した識別
子を認識するステップと、前記クライアントのIPアド
レス、および前記クライアントがプロキシサーバ経由で
アクセスしているか否かの情報に基づいて、サーバ内に
格納してある、前記クライアントプログラムを指定した
識別子に対応する各種プロトコルを持つプログラム群か
ら、前記クライアントからアクセス可能なプロトコルを
持つプログラムを決定するステップと、決定したプログ
ラムのファイルを前記クライアントに配布するステップ
とを備えたことを特徴とする。
【0015】請求項2に係る発明は、請求項1に記載の
プログラム配布方法において、前記サーバに接続されて
いるプロキシサーバが複数ある場合、前記クライアント
のIPアドレス、および前記クライアントがプロキシサ
ーバ経由でアクセスしているか否かの情報に基づいて、
該IPアドレスからプロキシサーバを特定した後、前記
識別子に対応する各種プロトコルを持つプログラム群か
ら、該クライアントからアクセス可能な最適のプロトコ
ルを持つプログラムを決定することを特徴とする。
【0016】請求項3に係る発明は、請求項1に記載の
プログラム配布方法において、クライアントに配布され
たクライアントプログラムは、サーバ側のプログラムと
連動して処理を行なうことを特徴とする。
【0017】請求項4に係る発明は、ネットワーク上
で、サーバがクライアントの要求に応じてクライアント
プログラムを配布するプログラム配布方法であって、ク
ライアントから、配布を要求するクライアントプログラ
ムを指定した識別子をパラメータとして含むプログラム
配布要求のメッセージを送信するステップと、クライア
ントからサーバに至る経路中の各プロキシサーバにおい
て、クライアントから送信されたプログラム配布要求の
メッセージに対し、該メッセージにプロトコル情報が付
加されていなければ当該プロキシサーバで許可されてい
るプロトコルの情報をパラメータとして付加し、該メッ
セージにプロトコル情報が付加されていたときは当該プ
ロキシサーバで許可されているプロトコルの情報が残る
ようにパラメータを変更して、送信するステップと、該
メッセージを受信したサーバにおいて、該クライアント
のIPアドレス、および該クライアントがプロキシサー
バ経由でアクセスしているか否かの情報を取得するとと
もに、クライアントが配布を要求するクライアントプロ
グラムを指定した識別子を認識するステップと、該クラ
イアントがプロキシサーバ経由でアクセスしていた場合
には、受信した該メッセージ中にパラメータとして付加
されているプロトコル情報を取得するステップと、前記
クライアントがプロキシサーバ経由でアクセスしている
か否かの情報、および受信したメッセージから取得した
プロトコル情報に基づいて、サーバ内に格納してある、
前記クライアントプログラムを指定した識別子に対応す
る各種プロトコルを持つプログラム群から、前記クライ
アントからアクセス可能なプロトコルを持つプログラム
を決定するステップと、決定したプログラムのファイル
を前記クライアントに配布するステップとを備えたこと
を特徴とする。
【0018】
【発明の実施の形態】以下、本発明の実施の形態を、図
面を参照して説明する。
【0019】図1に、本発明の実施の形態に係るシステ
ムの全体構成を示す。図1に示すシステムは、インター
ネットからローカルネットワークへのアクセスポイント
となるプロキシサーバ1、本発明により提供するツール
が埋め込まれたサーバ2、インターネットからプロキシ
サーバ1経由でサーバ2にアクセスするクライアント
8、およびローカルネットワーク内でサーバ2にアクセ
スするクライアント9を備える。
【0020】プロキシサーバ1は、ファイヤーウォール
で隔てられたインターネットからローカルネットワーク
にアクセスするポイントであり、許可されたプロトコ
ル、IPアドレス、およびユーザ等のみアクセス可能と
なる。
【0021】サーバ2は、URL指定のアクセスを受け
付けるhttp解析/実行部3、および本発明により提供す
るプログラム配布部4を備えており、さらに、プログラ
ム配布部4が配布するプログラムを定義したプログラム
定義テーブル5、およびプログラム配布部4によって選
択されクライアントに配布されるインターネット用クラ
イアントプログラム6やローカルネットワーク用クライ
アントプログラム7を備えている。
【0022】クライアント8は、ローカルネットワーク
の外にあるクライアントであり、プロキシサーバ1を介
してサーバ2にアクセスする。具体的には以下のような
手順になる。まずクライアント8は、WWWブラウザを
起動し、サーバ名およびプログラム名を指定したURL
指定でサーバ2にアクセスし、プログラム配布部4を起
動する。プログラム配布部4では、クライアント8がプ
ロキシサーバ1経由でアクセスしていることを判断し、
プログラム名称を指定する識別子(発行されたURLに
パラメータとして付されている)に対応するプログラム
をプログラム定義テーブル5で検索し、検索されたイン
ターネット用クライアントプログラム6をクライアント
8に配布する。クライアント8のWWWブラウザでは、
配布されたインターネット用クライアントプログラム6
を実行する。
【0023】クライアント9はローカルネットワークの
内側にあるクライアントであり、直接、サーバ2にアク
セスする。具体的には以下のような手順になる。まずク
ライアント9は、WWWブラウザを起動し、サーバ名お
よびプログラム名を指定したURL指定でプログラム配
布部4を起動する。プログラム配布部4では、クライア
ント9からのアクセスがプロキシサーバ1経由では無い
ことを判断し、プログラム名称を指定する識別子に対応
するプログラムをプログラム定義テーブル5で検索し、
検索されたローカルネットワーク用クライアントプログ
ラム7をクライアント9に配布する。クライアント9の
WWWブラウザでは、配布されたローカルネットワーク
用クライアントプログラム7を実行する。
【0024】図2は、本システムのハードウェア構成で
ある。画面データを操作するモニタ22を持つクライア
ントとなる計算機システム21が、インターネット2
3、プロキシサーバ24、およびローカルネットワーク
25を介して、サーバ26にアクセスする。また、 画
面データを操作するモニタ29を持つクライアントとな
る計算機システム28が、ローカルネットワーク25を
介して、サーバ26にアクセスする。計算機システム2
1が図1のクライアント8に対応し、計算機システム2
8が図1のクライアント9に対応し、プロキシサーバ2
4が図1のプロキシサーバ1に対応し、サーバ26が図
1のサーバ2に対応する。図1のシステムは、図2のよ
うなハードウェア構成のクライアント/サーバシステム
として実現される。
【0025】図3に、プログラムを配布するためのクラ
イアントの画面表示例を示す。クライアントにおいて、
プログラム配布用のページを指定すると、画面表示例3
1のように、配布可能なプログラム一覧が表示される。
この一覧の中からユーザが必要なプログラムにマウスポ
インタ32を合わせてクリックすると、画面31を表示
するHTMLファイル33に記述してあるプログラム名
に対応する番号(プログラム名を指定する識別子)をパ
ラメータとしてプログラム配布部4を起動するURLが
発行される。この例では、画面31で「月別発注一覧」
をクリックしたので、HTMLファイル33の行34に
記述してあるURLが発行されることになる。URLに
付されたパラメータ番号、すなわち配布を要求するプロ
グラム名を指定する識別子は「3」である。
【0026】図4に、プログラム配布部4の動作の詳細
を示す。図3に示したプログラム一覧の表示画面31で
ユーザが所望のプログラムを指定すると、指定されたプ
ログラム名に対応する番号がパラメータとして付された
URLが発行され、これを受けたプログラム配布部4が
図4の処理を開始する。
【0027】まず、クライアントから送られてきたUR
Lに付されているパラメータを取得して記憶する(ステ
ップ41)。次に、アクセスしたクライアントがプロキ
シサーバ経由かどうかを示す、 http解析/実行部3が記
憶している値を取得する(ステップ42)。この値につ
いては図5で後述する。この値が未設定であればプロキ
シ経由では無いと判断し(ステップ43)、図6に示す
プログラム定義テーブル5(このテーブルについては後
述する)を参照して、URLに付されていたパラメータ
の値に対応するローカルネットワーク用クライアントプ
ログラム名称を取得し(ステップ44)、そのファイル
をクライアントに送信する(ステップ45)。一方、ア
クセスしたクライアントがプロキシサーバ経由かどうか
を示す、http解析/実行部3が記憶している値が設定さ
れている場合は、プロキシサーバ経由のアクセスである
と判断し(ステップ46)、次に、同じくhttp解析/実
行部3が記憶しているIPアドレスを取得し(ステップ
47)、図6に示すプログラム定義テーブル5を参照し
て、URLに付されていたパラメタの値とステップ47
で取得したIPアドレスに対応するインターネット用ク
ライアントプログラム名称を取得し(ステップ48)、
そのファイルをクライアントに送信する(ステップ4
5)。
【0028】図5に、http解析/実行部3が記憶してい
る値の例を示す。http解析/実行部3は、各種のメッセ
ージを受信したとき、そのメッセージを送信したクライ
アントに関する各種の情報をサーバプログラムから参照
可能な変数(例えば、サーバ内の環境変数)に設定す
る。ここでは、クライアントからのアクセスがプロキシ
サーバ経由の場合は、変数 HTTP_PROXY_CONNECTION51
に値「Keep-Alive」が設定され、変数REMOTE_ADDR52
の値がプロキシサーバのIPアドレスとなるものとす
る。また、クライアントからのアクセスがプロキシサー
バ経由でない場合は、変数 HTTP_PROXY_CONNECTIONには
値が設定されず、変数REMOTE_ADDR53の値はクライア
ントのIPアドレスとなるものとする。したがって、変
数 HTTP_PROXY_CONNECTIONを参照すれば、プロキシサー
バ経由のアクセスであるか否かが分かり、変数REMOTE_A
DDRを参照すれば、プロキシサーバ経由のときはプロキ
シサーバのIPアドレスが分かり、プロキシサーバ経由
でないときはクライアントのIPアドレスが分かる。
【0029】図6に、プログラム定義テーブル5の内容
を示す。プログラム定義テーブル5には、各パラメータ
番号に対応するローカルネットワーク用のクライアント
プログラムの名称とインターネット用のクライアントプ
ログラムの名称の一覧が記載されている。インターネッ
ト用プログラムについては、プロキシサーバのIPアド
レスごとにプログラム名称が記載されている。ここで
は、図3で説明したように、クライアントで「月別発注
一覧」が指定され、パラメータ番号が「3」でURLが
発行されているから、図6のプログラム定義テーブル5
のうちパラメータ番号が「3」の行61を参照して、配
布するプログラムの名称を取得することになる。パラメ
ータ番号が「3」の行61には、ローカルネットワーク
用プログラム名称62が記載され、またインターネット
用プログラムについては、プロキシサーバのIPアドレ
スごとのプログラム名称63,64が記載してある。図
1の場合は、プロキシサーバは1つなので、実際にはI
Pアドレスでのマッピングは不要となる。
【0030】次に、クライアントプログラムの具体例を
述べる。ここでは、クライアントプログラムとして、デ
ータベース(以下、単にDBと呼ぶ)のデータを検索す
るプログラムを用いた例を説明する。
【0031】図7に、インターネット用クライアントプ
ログラム6、あるいはローカルネットワーク用クライア
ントプログラム7であるデータベース検索プログラムの
実行画面を示す。これらのプログラムは、クライアント
のWWWブラウザ71上で実行される。インターネット
用クライアントプログラム6とローカルネットワーク用
クライアントプログラム7は、内部のデータアクセス手
段が異なるだけで、ユーザからの見かけ、および操作方
法は同一である。このクライアントプログラム6,7
は、過去に発注した商品データを検索するプログラムで
ある。図7に示すように、表示画面には、検索条件とな
る発注先入力欄72、指定月入力欄73、検索を実行す
る検索ボタン74、検索結果データを表示する出力欄7
5が表示される。ユーザは、入力欄72,73に条件を
入力し、検索ボタン74をマウスでクリックすると、出
力欄75に検索結果が表示される。
【0032】図8に、このクライアントプログラム6,
7の実行環境を示す。クライアントプログラム6,7
は、ユーザが入力した条件でDB84を検索するプログ
ラムである。クライアントプログラム6は、インターネ
ット用プログラムであり、プロキシサーバ1を経由して
サーバ2に対するアクセスを行なう。ここではhttpプロ
トコルを使用するため、クライアントプログラム6は、
サーバ2のhttp解析/実行部81およびDBアクセス部
82経由で、データベースマネージメントシステム(D
BMS)83のライブラリを呼び出し、DB84を検索
することになる。一方、クライアントプログラム7は、
ローカルネットワーク用プログラムであり、直接、DB
MS83のライブラリを呼び出し、DB84を検索す
る。
【0033】図9に、クライアントプログラム6の詳細
を示す。クライアントプログラム6は、インターネット
用であり、URL指定でのアクセスを許すプロキシサー
バ用である。まず、検索ボタン74が押下されると、入
力欄72,73の文字列を取得し(ステップ91)、検
索用のSQL文を生成し(ステップ92)、これをパラ
メータとして、DBアクセス部82を起動するURL文
を生成し(ステップ93)、発行する(ステップ9
4)。DBアクセス部82は、検索結果を埋め込んだH
TMLファイルを返すので、それを表示する(ステップ
95)。
【0034】図10に、クライアントプログラム7の詳
細を示す。クライアントプログラム7は、ローカルネッ
トワーク用であり、直接、DBMS83のライブラリを
呼び出す。まず、検索ボタン74が押下されると、入力
欄72,73の文字列を取得し(ステップ101)、検
索用のSQL文を生成し(ステップ102)、これをパ
ラメータとして、DBMS83のDBアクセス関数を呼
び出し(ステップ103)、まず、1行目のデータを取
得する(ステップ104)。そして、データが終了する
まで(ステップ105)、取得したデータを出力欄75
の対応する行へ表示する処理(ステップ106)と、次
の行のデータを取得する処理(ステップ107)とを繰
り返す。
【0035】図11に、DBアクセス部82における処
理の詳細を示す。DBアクセス部82は、クライアント
プログラム6からURL指定によって起動される。パラ
メータとして渡されたSQL文を取得し(ステップ11
1)、それをパラメータとしてDBMS83のDBアク
セス関数を呼び出し(ステップ112)、検索結果を埋
め込んだHTMLファイルを生成し(ステップ11
3)、クライアントプログラム6に送信する(ステップ
114)。
【0036】次に、本発明の第2の実施の形態を説明す
る。上述の第1の実施の形態では、サーバ2にプログラ
ム定義テーブル5(図6)を備えるようにしているの
で、プロキシサーバ1が許可するプロトコルが変更され
た場合は、サーバ2内のプログラム定義テーブル5を変
更する必要がある。しかし、サーバの数が増えてくる
と、プロキシサーバが許可するプロトコルを変更したと
きに、全サーバのプログラム定義テーブル5の変更が必
要となり面倒である。そこで、次に説明する第2の実施
の形態では、プロキシサーバからサーバに、該プロキシ
サーバで許可しているプロトコルの情報を渡すことで、
サーバのプログラム定義テーブル5の変更を行なわずに
済むようにしている。
【0037】図12に、本発明の第2の実施の形態のシ
ステムの全体構成を示す。同図において、図1と同じ番
号は同じものを示すものとし説明は省略する。以下で
は、上述の第1の実施の形態と異なる部分を中心に説明
する。図12のシステムのプロキシサーバ121は、プ
ロトコル定義テーブル122とプロトコル情報転送部1
23とを持つ。プロトコル定義テーブル122は、当該
プロキシサーバ121でアクセスを許可するプロトコル
の情報を定義したテーブルである。プロトコル情報転送
部123は、プロトコル定義テーブル122の内容をU
RL文のパラメータに付加してサーバ2へ転送する処理
等を行なう。サーバ2は、プロトコル優先順テーブル1
24を備えている。プロトコル優先順テーブル124
は、プロトコルの優先順位を格納したテーブルであり、
アクセスに使用できるプロトコルが複数あった場合は、
このテーブルを参照して、使用するプロトコルを決定す
る。
【0038】図13に、図12のプロトコル情報転送部
123の処理の詳細を示す。プロトコル情報転送部12
3では、まずクライアントから送られてきたURL文を
解析し(ステップ131)、パラメータの最後に他のプ
ロキシサーバが追加したプロトコル情報があるかどうか
を判断し(ステップ132)、情報があれば、図14に
示すプロトコル定義テーブル122の内容と一致するも
のを残し(ステップ133)、情報がなければ、図14
に示すプロトコル定義テーブル122の内容をパラメー
タの最後に追加して(ステップ134)、URL文を送
信する(ステップ135)。
【0039】図12では1台のプロキシサーバ121し
か図示していないが、クライアントから送信されるUR
L文が複数のプロキシサーバを経由する場合もあるの
で、図13のステップ132〜134のように処理して
いる。すなわち、クライアント8から受信したURL文
にパラメータとしてプロトコル情報が付加されていない
ときは、最初のプロキシサーバであるから、ステップ1
34で、当該プロキシサーバで許可されているプロトコ
ルの情報をパラメータに追加して送信する。また、クラ
イアント8から受信したURL文にパラメータとしてプ
ロトコル情報が付加されていたときは、途中のプロキシ
サーバであるから、ステップ133で、パラメータに記
載されているプロトコルから当該プロキシサーバで許可
されているプロトコルを残すようにパラメータを変更し
て送信する。これにより、最終的にURL文をサーバが
受取ったときは、クライアントからサーバに至る経路中
のすべてのプロキシサーバで許可されているプロトコル
(以下、アクセス可能プロトコル群と呼ぶ)に関する情
報が、そのパラメータの最後に設定されていることにな
る。
【0040】図14に、図12のプロトコル定義テーブ
ル122の内容を示す。ここでは、http141、および
ftp142の2つのプロトコルが許可されているとす
る。
【0041】図15に、図12のプログラム配布部4で
の処理の詳細を示す。ステップ41,42は、第1の実
施の形態の図4のステップ41,42と同じ処理であ
る。ステップ42の後、http解析/実行部3が記憶して
いる値を取得して、この値が未設定であるか否かを判定
することにより、クライアントからのアクセスがプロキ
シ経由であるか否かを判定する処理も第1の実施の形態
と同じである。プロキシサーバ経由では無いと判定した
とき(ステップ43)の処理(ステップ44,45)も
第1の実施の形態と同じである。
【0042】プロキシサーバ経由であると判定したとき
は(ステップ46)、URL文のパラメータ中のアクセ
ス可能プロトコル群を読み出し(ステップ151)、そ
の中から最適なプロトコルを選択する(ステップ15
2)。最適なプロトコルは、プロトコル優先順テーブル
124を参照して、アクセス可能プロトコル群から優先
順位の最も高いものを選択するものとする。これにより
最も効率の良い最適なプロトコルを選択できる。次に、
図16のプログラム定義テーブル5を参照して、ステッ
プ41で取得したパラメータ番号PNOとステップ15
2で取得した最適プロトコルPTとから、配布するイン
ターネット用クライアントプログラム名称を取得し(ス
テップ48)、このファイルをクライアントに送信する
(ステップ45)。
【0043】図16に、図12のプログラム定義テーブ
ル5の内容を示す。第1の実施の形態の図6で説明した
テーブルと同様のものであり、パラメタ161に対し
て、それぞれ、ローカルネットワーク用プログラム名称
162、インターネット用プログラムについては、プロ
トコルごとのプログラム名称163,164を定義して
ある。
【0044】
【発明の効果】以上述べたように、本発明によれば、ク
ライアントプログラムを、必要なときにサーバが配布す
るクライアント/サーバシステムにおいて、クライアン
トプログラムの配布時にサーバがクライアントのネット
ワーク上の位置に応じて、最適なプロトコルでサーバに
アクセスする手段を搭載したプログラムを配布すること
ができるため、クライアントがそのネットワーク上の位
置を意識する必要がなくなり、配布要求時のユーザイン
ターフェースとサーバへのアクセス効率の向上が望め
る。
【図面の簡単な説明】
【図1】本発明の第1の実施の形態に係るシステムの全
体構成図
【図2】図1のシステムを実現するためのマシン構成図
【図3】ロードするプログラムを指定する画面とHTM
Lファイルの内容を示す図
【図4】プログラム配布部のフローチャート図
【図5】http解析/実行部が記憶しているクライアント
情報の例を示す図
【図6】プログラム定義テーブルの構造を示す図
【図7】クライアントプログラムの実行画面を示す図
【図8】クライアントプログラムの実行環境を示す図
【図9】インターネット用クライアントプログラムのフ
ローチャート図
【図10】ローカルネットワーク用クライアントプログ
ラムのフローチャート図
【図11】DBアクセス部のフローチャート図
【図12】本発明の第2の実施の形態に係るシステムの
全体構成図
【図13】第2の実施の形態におけるプロトコル情報転
送部のフローチャート図
【図14】第2の実施の形態におけるプロトコル定義テ
ーブルの構造を示す図
【図15】第2の実施の形態におけるプログラム配布部
のフローチャート図
【図16】第2の実施の形態におけるプログラム定義テ
ーブルの構造を示す図
【符号の説明】
1:ローカルネットワークへのアクセスをチェックする
プロキシサーバ、2:本発明により提供するツールを組
み込むサーバ、3:httpプロトコルを解析して指定ファ
イルを送信するhttp解析/実行部、4:本発明により提
供するツールであるプログラムロード部、5:ロードす
るプログラムの決定に使用するプログラム定義テーブ
ル、6:ローカルネットワークで使用するプログラム、
7:インターネットで使用するプログラム、8:インタ
ーネットからアクセスするクライアント、9:ローカル
ネットワークでアクセスするクライアント。
───────────────────────────────────────────────────── フロントページの続き (51)Int.Cl.6 識別記号 FI H04L 12/54 12/58 (72)発明者 新藤 弘輔 神奈川県川崎市幸区鹿島田890番地 株式 会社日立製作所情報・通信開発本部内 (72)発明者 松田 芳樹 神奈川県川崎市幸区鹿島田890番地 株式 会社日立製作所情報・通信開発本部内 (72)発明者 小田島 孝 神奈川県横浜市戸塚区戸塚町5030番地 株 式会社日立製作所ソフトウェア開発本部内

Claims (4)

    【特許請求の範囲】
  1. 【請求項1】ネットワーク上で、サーバがクライアント
    の要求に応じてクライアントプログラムを配布するプロ
    グラム配布方法であって、 クライアントからクライアントプログラムの要求があっ
    たとき、該クライアントのIPアドレス、および該クラ
    イアントがプロキシサーバ経由でアクセスしているか否
    かの情報を取得するステップと、 クライアントが配布を要求するクライアントプログラム
    を指定した識別子を認識するステップと、 前記クライアントのIPアドレス、および前記クライア
    ントがプロキシサーバ経由でアクセスしているか否かの
    情報に基づいて、サーバ内に格納してある、前記クライ
    アントプログラムを指定した識別子に対応する各種プロ
    トコルを持つプログラム群から、前記クライアントから
    アクセス可能なプロトコルを持つプログラムを決定する
    ステップと、 決定したプログラムのファイルを前記クライアントに配
    布するステップとを備えたことを特徴とするプログラム
    配布方法。
  2. 【請求項2】請求項1に記載のプログラム配布方法にお
    いて、 前記サーバに接続されているプロキシサーバが複数ある
    場合、前記クライアントのIPアドレス、および前記ク
    ライアントがプロキシサーバ経由でアクセスしているか
    否かの情報に基づいて、該IPアドレスからプロキシサ
    ーバを特定した後、前記識別子に対応する各種プロトコ
    ルを持つプログラム群から、該クライアントからアクセ
    ス可能な最適のプロトコルを持つプログラムを決定する
    ことを特徴とするプログラム配布方法。
  3. 【請求項3】請求項1に記載のプログラム配布方法にお
    いて、 クライアントに配布されたクライアントプログラムは、
    サーバ側のプログラムと連動して処理を行なうことを特
    徴とするプログラム配布方法。
  4. 【請求項4】ネットワーク上で、サーバがクライアント
    の要求に応じてクライアントプログラムを配布するプロ
    グラム配布方法であって、 クライアントから、配布を要求するクライアントプログ
    ラムを指定した識別子をパラメータとして含むプログラ
    ム配布要求のメッセージを送信するステップと、 クライアントからサーバに至る経路中の各プロキシサー
    バにおいて、クライアントから送信されたプログラム配
    布要求のメッセージに対し、該メッセージにプロトコル
    情報が付加されていなければ当該プロキシサーバで許可
    されているプロトコルの情報をパラメータとして付加
    し、該メッセージにプロトコル情報が付加されていたと
    きは当該プロキシサーバで許可されているプロトコルの
    情報が残るようにパラメータを変更して、送信するステ
    ップと、 該メッセージを受信したサーバにおいて、該クライアン
    トのIPアドレス、および該クライアントがプロキシサ
    ーバ経由でアクセスしているか否かの情報を取得すると
    ともに、クライアントが配布を要求するクライアントプ
    ログラムを指定した識別子を認識するステップと、 該クライアントがプロキシサーバ経由でアクセスしてい
    た場合には、受信した該メッセージ中にパラメータとし
    て付加されているプロトコル情報を取得するステップ
    と、 前記クライアントがプロキシサーバ経由でアクセスして
    いるか否かの情報、および受信したメッセージから取得
    したプロトコル情報に基づいて、サーバ内に格納してあ
    る、前記クライアントプログラムを指定した識別子に対
    応する各種プロトコルを持つプログラム群から、前記ク
    ライアントからアクセス可能なプロトコルを持つプログ
    ラムを決定するステップと、 決定したプログラムのファイルを前記クライアントに配
    布するステップとを備えたことを特徴とするプログラム
    配布方法。
JP9311227A 1997-10-28 1997-10-28 プログラム配布方法 Pending JPH11167535A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP9311227A JPH11167535A (ja) 1997-10-28 1997-10-28 プログラム配布方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP9311227A JPH11167535A (ja) 1997-10-28 1997-10-28 プログラム配布方法

Publications (1)

Publication Number Publication Date
JPH11167535A true JPH11167535A (ja) 1999-06-22

Family

ID=18014634

Family Applications (1)

Application Number Title Priority Date Filing Date
JP9311227A Pending JPH11167535A (ja) 1997-10-28 1997-10-28 プログラム配布方法

Country Status (1)

Country Link
JP (1) JPH11167535A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352639A (ja) * 2004-06-09 2005-12-22 Nec Corp アクセス支援サーバ、システム、方法、プログラム
CN100334834C (zh) * 2004-07-13 2007-08-29 联想(北京)有限公司 一种代理服务器系统及其实现代理通讯的方法
US8656477B2 (en) 2007-05-25 2014-02-18 Sony Corporation Server system, communication method, computer, program and recording medium
CN103905498A (zh) * 2012-12-27 2014-07-02 鼎捷软件股份有限公司 服务信息管理方法及服务信息管理系统
JP2016212854A (ja) * 2015-05-11 2016-12-15 株式会社リコー 情報処理装置、情報処理方法およびプログラム
JP2022515653A (ja) * 2019-01-15 2022-02-21 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド サービスベースの通信方法、ユニット、システム及びコンピュータプログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005352639A (ja) * 2004-06-09 2005-12-22 Nec Corp アクセス支援サーバ、システム、方法、プログラム
CN100334834C (zh) * 2004-07-13 2007-08-29 联想(北京)有限公司 一种代理服务器系统及其实现代理通讯的方法
US8656477B2 (en) 2007-05-25 2014-02-18 Sony Corporation Server system, communication method, computer, program and recording medium
CN103905498A (zh) * 2012-12-27 2014-07-02 鼎捷软件股份有限公司 服务信息管理方法及服务信息管理系统
CN103905498B (zh) * 2012-12-27 2018-05-18 鼎捷软件股份有限公司 服务信息管理方法及服务信息管理系统
JP2016212854A (ja) * 2015-05-11 2016-12-15 株式会社リコー 情報処理装置、情報処理方法およびプログラム
JP2022515653A (ja) * 2019-01-15 2022-02-21 テンセント・テクノロジー・(シェンジェン)・カンパニー・リミテッド サービスベースの通信方法、ユニット、システム及びコンピュータプログラム

Similar Documents

Publication Publication Date Title
US6845505B1 (en) Web request broker controlling multiple processes
US9081835B2 (en) Edge deployed database proxy driver
US9479613B2 (en) Maintaining independent states for multiple web browser instances
JP3184802B2 (ja) カスタマイズされたインターネット・コンテンツを要求側クライアント装置に提供する方法およびシステム
US6385642B1 (en) Internet web server cache storage and session management system
US6112228A (en) Client inherited functionally derived from a proxy topology where each proxy is independently configured
US7177938B2 (en) Client version advertisement service for overriding default client version properties
US8423527B2 (en) Enabling interactive integration of network-accessible applications in a content aggregation framework
US8250050B2 (en) Systems and methods for managing database authentication and sessions
US20030110167A1 (en) Method and system for accessing data by using soap-XML
RU2367009C2 (ru) Представление слитного вида ярлыков на удаленные приложения от множества поставщиков
US20020156812A1 (en) Method and system for assembling concurrently-generated content
MXPA05006645A (es) Descubrimiento uniforme de aplicaciones remotas instaladas en estacion de trabajo del extranet.
JP2004516579A (ja) ネットワーク・クライアントから情報を要求するための方法およびシステム
WO2002080014A1 (en) Assembling concurrently-generated personalized web pages
WO1999027445A1 (en) Mechanism for automatically establishing connections between executable components of a hypertext-based application
EP1652112B1 (en) System and method for configuring servlet-based components as dynamic content components
US20080281969A1 (en) Controlling access to versions of application software by a server, based on site ID
US20050108650A1 (en) Server visualization and control
JP2003162449A (ja) アクセス統合管理システム、アクセス統合管理装置及び方法並びにプログラム
JPH11167535A (ja) プログラム配布方法
US7890487B1 (en) Facilitating client-side data-management for web-based applications
WO2002021749A2 (en) Providing a personalized web page by accessing different servers
US6631424B1 (en) Distributing information using a computer
US7406457B2 (en) Dynamic sample data switch