JP3709558B2 - ウェブサーバの公開方法、システムおよびプログラム - Google Patents

ウェブサーバの公開方法、システムおよびプログラム Download PDF

Info

Publication number
JP3709558B2
JP3709558B2 JP2001329774A JP2001329774A JP3709558B2 JP 3709558 B2 JP3709558 B2 JP 3709558B2 JP 2001329774 A JP2001329774 A JP 2001329774A JP 2001329774 A JP2001329774 A JP 2001329774A JP 3709558 B2 JP3709558 B2 JP 3709558B2
Authority
JP
Japan
Prior art keywords
user
address
response
request
url
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
JP2001329774A
Other languages
English (en)
Other versions
JP2003152766A (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.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
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 International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2001329774A priority Critical patent/JP3709558B2/ja
Publication of JP2003152766A publication Critical patent/JP2003152766A/ja
Application granted granted Critical
Publication of JP3709558B2 publication Critical patent/JP3709558B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、ウェブサーバの公開方法、公開システムおよびプログラムに関する。特に、ユーザが固定IPアドレス持たない自分のコンピュータ上でも安全かつ容易にウェブサーバを公開できる手法に適用して有効な技術に関する。
【0002】
【従来の技術】
一般ユーザがインターネットにウェブサーバ(ウェブページ)を公開しようとする場合には、ホスティングサービス等を提供する事業者等からグローバルIPアドレスを取得し、インターネットに常時接続しているシステムあるいはホスティングサービス事業者のシステムに公開しようとするウェブサーバを導入する。しかし、グローバルIPアドレスの数は有限であり、その利用には一般に高い利用料が要求される。
【0003】
よって、より一般的には、ISP(インターネットサービスプロバイダ)等事業者のハードディスクに所定の領域(一般に数MB〜数十MBの容量)を確保し、このハードディスク領域にウェブページをアップロードしてコンテンツを公開する手法を用いる。この場合、IPアドレスは事業者のシステムに対して与えられるものであり、ドメイン名も事業者のドメイン名である。よって、ユーザに独自のドメイン名は与えられず、事業者のドメイン名とユーザ名に相当するディレクトリ名とでユーザページのURL(uniform resource locator)が特定される。
【0004】
一方、近年のインターネット接続環境の向上により、一般的なユーザでも常時接続が安価に利用できるようになっている。すなわち、ADSL(asymmetric digital subscriber line)等電話加入線を利用した高速データ通信技術により、インターネットへの常時接続が安価に実現されつつある。
【0005】
このような状況下で、ISPのウェブ機能を用いてウェブページを公開しているユーザが常時接続環境を入手すれば、自己の所有するコンピュータシステムでウェブサーバを公開したいという要求が発生するであろう。ISP等が提供するウェブ機能は、一般に容量が制限され、また、既定のCGI(common gateway interface)のみ利用でき、独自のCGIの利用が制限される。さらにセキュリティ機能に制限を受ける場合がある。自己のコンピュータシステムでウェブサーバを公開すれば、これら制限を何ら受けることなく、自由にサーバを構成することが可能になる。
【0006】
【発明が解決しようとする課題】
ところが、多くの一般ユーザのISP等への接続は、DHCP(dynamic host configuration protocol)によるものであり、固定のIPアドレスを持たない。よってDNS(domain name system)による名前解決(IPアドレスへの変換)ができない。なお、DHCP環境に対応できるDNSとしてDynamicDNSがあるが、ドメインを超えた名前解決はできない。
【0007】
固定アドレスを持たない問題に対し、IPv6の普及によって、ユーザごとの固定IPアドレスが普及し解決が図られることも考え得る。しかし、IPアドレスを公開することは、セキュリティ、プライバシーの点から問題が多い。よってIPアドレスを隠蔽できる手段が提供されることが望ましい。
【0008】
また、ユーザがISPを変更することや、ユーザによる24時間のウェブサーバの公開が困難な場合もある。このような場合にも対処可能なウェブ公開サービスを提供できる手段が望まれる。
【0009】
本発明の目的は、動的にIPアドレスが変更されるウェブサーバを容易に公開する手段を提供することにある。また、本発明の目的は、IPアドレスの遮蔽性を高め、安全にウェブサーバを公開する手段を提供することにある。また、本発明の目的は、常時公開に対応できないようなユーザのウェブサーバであっても一貫したウェブサービスの提供を可能にすることにある。
【0010】
【課題を解決するための手段】
本願発明の概略を説明すれば、以下の通りである。すなわち、本発明のウェブサーバの公開方法は、IPアドレスが動的に変更されるウェブサーバの公開方法であって、ウェブサーバを含むユーザシステムからIPアドレスの通知を受け取るステップと、ユーザシステムを利用するユーザに関連付けてIPアドレスをデータベースに記録するステップと、クライアントシステムが発した第1リクエストを受け取るステップと、第1リクエストに含まれる第1URLから、ユーザを特定するステップと、ユーザのIPアドレスをデータベースから読み取るステップと、第1URLを、IPアドレスを含む第2URLに変換するステップと、第2URLを含む第2リクエストを発行するステップと、第2リクエストに応答する第1レスポンスを受け取るステップと、第1レスポンスのステータスに正常に処理された旨のコードまたはメッセージを含む場合には、第1レスポンスを、第1リクエストに応答する第2レスポンスとしてクライアントシステムに返送するステップと、を含む。このようなウェブサーバの公開方法によれば、ユーザシステムからIPアドレスの通知を受け、このIPアドレスを用いてクライアントからの第1リクエストを転送する。このため、IPアドレスが動的に変更されても、一貫して同じユーザにリクエストを転送できる。
【0011】
第1URLを第2URLに変換するステップにおいて、第1URLのドメイン名およびユーザの特定部分を、IPアドレスおよび予めユーザに関連付けて記録されたディレクトリ名に変換できる。予めユーザシステムの任意のディレクトリを登録しておくことにより、このディレクトリをインターネットからのリクエストに対するルートディレクトリとすることができる。
【0012】
ユーザシステムから通知されたIPアドレスを記録する際に、通知がなされた時刻またはIPアドレスを記録した時刻を最終更新時刻としてユーザに関連付けてデータベースに記録するステップと、IPアドレスをデータベースから読み取る際に、データベースから最終更新時刻を読み取るステップと、をさらに有し、現在時刻が、最終更新時刻から所定の経過時間内に無い場合には、ユーザに関連付けて記録されているエラーリンクにリルートさせるステップ、または、予め登録したユーザごとのエラーページを第2レスポンスとしてクライアントシステムに返送するステップ、の何れかのステップをさらに有することができる。最終更新時刻を記録しておくことにより、一定の期間にIPアドレスの更新が無い場合は、ユーザシステムが切断されたとみなしてエラー処理を行える。
【0013】
第1レスポンスのステータスに「Not Found」その他正常に処理されなかった旨のコードまたはメッセージを含む場合には、ユーザに関連付けて記録されているエラーリンクにリルートさせるステップ、または、予め登録したユーザごとのエラーページを第2レスポンスとしてクライアントシステムに返送するステップ、の何れかのステップをさらに有することができる。ユーザシステムに対するリクエストが正常に処理されなかった場合にも、エラー処理を行える。
【0014】
IPアドレスの通知は、ユーザシステムにインストールされているエージェントプログラムから定期的に受け取ることができる。エージェントプログラムを利用することにより、ユーザシステムからのIPアドレス通知のタスクをエージェントに任せることができ、サービス側のサーバ負荷を軽減できる。
【0015】
第2リクエストおよびそれに応答する第1レスポンスは、ページキャッシュ機能を持つプロキシサーバを介して通信できる。ページキャッシュを利用できるので、ユーザシステムへの通信回線の容量が少ない場合であっても、キャッシュされたページへのリクエストであればホスティングシステム側の通信回線で処理が完了するので、レスポンスを早めることができる。
【0016】
また、本発明のウェブページの公開方法は、インターネットサービスプロバイダから動的なIPアドレスを取得するステップと、動的にIPアドレスが変更されるウェブサーバの公開サービスを提供するホスティングシステムに、取得したIPアドレスを通知するステップと、ホスティングシステムから、通知したIPアドレスを含むリクエストを受け取るステップと、リクエストに応答するレスポンスを返送するステップと、を含む。すなわちIPアドレスが動的に変更された場合、これをホスティングシステムに通知するので、ホスティングシステムが受け取ったリクエストを適正なURLに変換して転送される。このため、IPアドレスが変更されてもウェブサーバは通常のウェブサービスと同じように公開される。一方、本発明では、ウェブサーバはユーザ自身のコンピュータシステムに構築されるので、一般のウェブサービスのように機能や容量が制限されない。つまり、本発明によれば、一般のウェブサービスと比して遜色なく、かつユーザに自由なサーバ構成を許容するサービスを提供できる。
【0017】
なお、本発明は、前記した方法としての発明の他、システムあるいはプログラムとして把握することも可能である。また、本発明においてHTTPには、セキュリティ機能を付加したプロトコルであるHTTPSも含むものとする。
【0018】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて詳細に説明する。ただし、本発明は多くの異なる態様で実施することが可能であり、本実施の形態の記載内容に限定して解釈すべきではない。なお、実施の形態の全体を通して同じ要素には同じ番号を付するものとする。
【0019】
以下の実施の形態では、主に方法またはシステムについて説明するが、当業者であれば明らかな通り、本発明はコンピュータで使用可能なプログラムとしても実施できる。したがって、本発明は、ハードウェアとしての実施形態、ソフトウェアとしての実施形態またはソフトウェアとハードウェアとの組合せの実施形態をとることができる。プログラムは、ハードディスク、CD−ROM、光記憶装置または磁気記憶装置等の任意のコンピュータ可読媒体に記録できる。
【0020】
本実施の形態では、一般的なコンピュータシステムが利用できる。一般的なコンピュータシステムには、中央演算処理装置(CPU)、主記憶装置(メインメモリ:RAM)、不揮発性記憶装置(ROM)、コプロセッサ、画像アクセラレータ、キャッシュメモリ、入出力制御装置(I/O)等、一般的にコンピュータシステムに備えられるハードウェア資源を備える。また、ハードディスク装置等の外部記憶装置、インターネットに接続可能な通信手段を備える。コンピュータシステムには、パーソナルコンピュータ、ワークステーション、メインフレームコンピュータ等各種のコンピュータが含まれる。また、各コンピュータシステムには、現に広く利用されている各種オペレーティングシステムその他汎用的なアプリケーションソフトウェアを稼動させることができることは勿論である。
【0021】
以下の実施の形態において、各システムに含まれるサーバやエージェントの機能は、コンピュータソフトウェアによって実現できる。コンピュータソフトウェアは、たとえばオブジェクト指向のクラスプログラムを組み合わせたコンポーネントによって実現できる。サーバその他プログラムによって実現される機能は単一のコンポーネントで実現されてもよく、複数のコンポーネントを組み合わせて実現しても良い。また、各機能のうち、複数の機能が単一のコンポーネントによって実現されても良い。
【0022】
図1は、本発明の一実施の形態であるウェブサーバ公開システムの一例を示したブロック図である。本実施の形態のウェブサーバ公開システムは、主にホスティングシステム1で実現され、ユーザシステム2の一部の機能がウェブ公開システムに含まれる。また、本実施の形態のウェブ公開システムを利用するために、クライアントシステム3、ISP(インターネットサービスプロバイダ)4が必要である。
【0023】
ホスティングシステム1は、動的にIPアドレスが変更されるウェブサーバの公開サービスを提供する。すなわち、ウェブサーバを自己のコンピュータシステムであるユーザシステム2に導入し管理するユーザからの依頼を受け、後に説明するようにクライアントシステム3からユーザシステム2へのアクセスをホスティングシステム1経由で可能にする。
【0024】
ホスティングシステム1には、ゲーティングサーバ5、プロキシサーバ6、レジストレーションサーバ7、データベース8を含む。ゲーティングサーバ5は、ホスティングシステム1への入り口となる特殊なサーバである。ゲーティングサーバ5は、クライアントシステム3のウェブブラウザ12が発するHTTPリクエストを受け取り、後に詳細に説明するようにURL変換を行ってリクエストを転送する。プロキシサーバ6は、通常のプロキシサーバが有するものと同様の機能を有し、特にユーザページのキャッシングを行う機能を有する。レジストレーションサーバ7は、エージェント11からのIPアドレスの通知を受けて、受け取ったIPアドレスその他の情報をデータベース8に登録する機能を持つ。
【0025】
データベース8には、ウェブサーバを公開するユーザごとのユーザ情報9が記録される。ユーザ情報9に記録されるデータとして、ユーザID、IPアドレス、HTTPルート、エラーリンク、最終更新時刻を例示できる。ユーザIDはユーザを特定する識別文字あるいは記号である。ただし本実施の形態では、URLに変換できる文字列(URLの表現に用いることが許容されている文字列)に限られる。IPアドレスは、ユーザシステム2に付与されている現在のIPアドレスである。厳密には現在IPアドレスではないが、エージェント11から通知された最新のIPアドレスが記録されている。HTTPルートは、ユーザが公開するウェブページの最上位ディレクトリである。すなわち、ユーザのウェブサイトにおけるインデックスページを与える相対ディレクトリである。HTTPルートはウェブサーバのルートディレクトリとは相違する。エラーリンクは、HTTPリクエストがエラー(正常にリクエストが処理されなかった場合)であった場合、ブラウザに通知するリンク先である。エラーリンクにはブラウザにリダイレクトさせることによってアクセスできる。エラーリンクはエラーの種類に応じて複数用意することができる。最終更新時刻は、エージェントが最後にIPアドレスを報告した時刻である。現在時刻が、最終更新時刻から所定の経過時間内にないとき、ユーザシステム2は切断されたものとみなす。すなわち、現在記録されているIPアドレスは有効なものではないとして処理を行う。
【0026】
ユーザシステム2は、ユーザが公開するウェブサーバ(HTTPサーバ10)を導入しているコンピュータシステムであり、ユーザが管理する。ユーザシステム2はユーザ自身が管理するため、ほとんどの場合ユーザ自身がその運営内容を決定できる。たとえばサーバとアプリケーションソフトウェアとのインタフェイスであるCGIを独自に作成でき、サーバと任意のアプリケーションソフトウェアとを連携させることができる。また、サーバの管理するウェブページの記録容量にも制限を受けない。さらにユーザが必要と認めるセキュリティ対策をほぼ制限無く施すことが可能である。
【0027】
ユーザが公開するウェブサーバとしてHTTPサーバ10を例示する。HTTPサーバ10は、HTTP(hypertext transfer protocol)に従ったリクエストを受けて、それに応答するサーバである。応答結果はHTTPに従ったレスポンスとしてリクエスト元に返送する。
【0028】
ユーザシステム2にはエージェント11を含む。エージェント11は、ユーザシステム2がたとえばダイアルアップ接続によってISP4に接続し、インターネットに接続した場合、DHCPサーバ13から割り当てられたIPアドレス(すなわち現在有効なIPアドレス)を取得し、レジストレーションサーバ7にこれを通知する。エージェント11は、定期的に現在有効なIPアドレスを、レジストレーションサーバ7に通知するようにプログラムされる。従ってエージェント11からの通知が一定期間ない場合にはユーザシステム2は切断されている状態であり、ホスティングシステム1では所定の経過時間内にIPアドレスの更新が無いことによってIPアドレスの有効あるいは無効を判断することができる。
【0029】
クライアントシステム3は、ウェブサーバ(HTTPサーバ10)にアクセスしようとする一般ユーザ(クライアント)である。クライアントシステム3には、ウェブブラウザ12を含む。ウェブブラウザ12はインターネットエクスプローラ(マイクロソフト社の商標)、ネットスケープナビゲータ(ネットスケープ社の商標)等の一般的なブラウザである。
【0030】
ISP4は、一般ユーザがインターネットに接続するための接続サービスその他のサービスを提供するサービス事業者である。ユーザシステム2からISP4に接続要求を発すると、所定の認証処理等を行った後、ISP4はDHCPサーバ13によってIPアドレスを発行する。このIPアドレスがユーザシステム2における現在有効なIPアドレスである。前記したとおりこのIPアドレスはエージェント11によってホスティングシステム1(レジストレーションサーバ7)に通知される。別の機会にユーザがISP4に接続した時には別のIPアドレスが付与されることは言うまでもない。
【0031】
図2は、本発明の一実施の形態であるウェブサーバの公開方法の一例を示したフローチャートである。左側にユーザシステム2での処理、中央部にホスティングシステム1での処理、右側にクライアントシステム3での処理を示す。
【0032】
ユーザがISP4に接続すると、ユーザシステム2にはDHCPサーバ13によってIPアドレスが付与される(ステップ20)。このIPアドレスは動的なものであり、次回の接続時には異なるIPアドレスとなる。
【0033】
ユーザシステム2にIPアドレスが付与されると、エージェント11がIPアドレスを取得し、これをレジストレーションサーバ7に通知する(ステップ21)。レジストレーションサーバ7は、エージェント11からの通知を受け取ると、ユーザと関連付けて、つまりユーザIDとともにこのIPアドレスをデータベース8に記録する(ステップ22)。また、その時の時刻(最終更新時刻)を記録する。
【0034】
このエージェント11によるIPアドレスの通知は定期的に行われ、レジストレーションサーバ7はエージェント11からの通知を受ける度にデータベース8を更新する。これにより、エージェント11が稼動できる環境にある限りレジストレーションサーバ7は現在のIPアドレスの通知を受けることになり、データベース8(IPアドレス)が最新であることが保証される。ただし、エージェント11の通知周期(経過時間)より長い時間にIPアドレスが更新されない時にはエージェント11は稼働環境にない(ユーザシステム2がダウンしているあるいはユーザシステム2はインターネットから切断されている)と判断するべきである。このための判断に最終更新時刻を利用する。
【0035】
なお、ステップ20〜22の処理は、以下に説明するステップ23以降の処理とは独立並行に行われる。つまり、上記ステップ20〜22の処理は、ユーザごとの最新のIPアドレスをデータベース8に記録し、その有効性の判断に資するために最終更新時刻を記録する処理である。
【0036】
ユーザシステム2のHTTPサーバ10(ウェブサーバ)の公開は以下のように行われる。まず、クライアントシステム3のウェブブラウザ12がリクエストを発する(ステップ23)。このリクエストに含まれるURLは、ゲーティングサーバ5のドメイン名とユーザを特定する記号(ユーザID)をディレクトリ名として記述することによって表現される。たとえばゲーティングサーバ5のドメイン名を「www.gating.net」とし、ユーザIDを「user」とすると、ウェブブラウザ12が発するURLは「http://www.gating.net/user/index.thml」のようになる。このようなURLはユーザに一意のものであり、ユーザシステム2の接続環境やIPアドレスによって変動することはない。よって、クライアントシステム3のウェブブラウザ12では、お気に入りやショートカットにこのURLを登録できる。
【0037】
ステップ23で発したリクエストは、DNSで名前解決される結果、ゲーティングサーバ5に送信される。ゲーティングサーバ5はリクエストを受け取り、そのURLからユーザを特定する(ステップ24)。前記例言えば、URL「http://www.gating.net/user/index.html」のうち、ゲーティングサーバ5の名前部分の後に続くディレクトリ名「user」がユーザIDとなる。
【0038】
ゲーティングサーバ5はユーザ名(ユーザID)でデータベース8を検索し、そのユーザのIPアドレスを取得する(ステップ25)。また、そのIPアドレスが更新された最終更新時刻を取得する。
【0039】
現在時刻が、最終更新時刻から所定の経過時間内にあるか、つまりIPアドレスが有効なものとみなせるかを判断する(ステップ26)。ここで、所定の経過時間は前記したエージェント11が通知する周期(誤差範囲を含めて周期の最大値とすることが妥当である)とすることができる。ステップ26の判断が真の場合(つまりIPアドレスは有効であるとみなせる場合)、URL変換を行う(ステップ27)。URL変換は、元のURLのドメイン名を、読み取ったそのユーザのIPアドレスに置き換え、元のURLのユーザ特定部分(ユーザID)をそのユーザのHTTPルートに置き換えることにより行える。たとえば、読み取ったユーザの現在有効とみなせるIPアドレスが「123.45.67.89」であり、ユーザのHTTPルートが「test」である場合、前記例のURL「http://www.gating.net/user/index.html」は、「http://123.45.67.89/test/index.html」のように変換される。ゲーティングサーバ5は、この変換したURLに新たなリクエストを発する(ステップ28)。新たなリクエストに含まれるURLのIPアドレス「123.45.67.89」は、現在インターネット上でユーザシステム2を一意に表す有効なアドレスであるはずなので、リクエストはユーザシステム2に到達するはずである。
【0040】
一方、ステップ26の判断が偽の時(IPアドレスは無効であると判断された場合)、ゲーティングサーバ5はエラーリンク処理またはエラーページの送信を行う(ステップ29)。たとえば、ステップ23で発せられたHTTPリクエストに対するレスポンスとして、エラーリンク(エラーページのURL)をロケーション情報に含め、ステータスをリダイレクトするように設定したレスポンスを、クライアントシステム3に返送する。あるいは、予め記録したエラーページをステップ23で発せられたHTTPリクエストに対するレスポンスとしてクライアントシステム3に返送する。このようにエラー処理を行うことにより、現在ユーザシステム2がメンテナンス中である旨の表示や、次回の公開時期等をアナウンスすることができる。クライアントシステム3は、エラー処理を含むレスポンスを受け取り、エラーページにリルート(リダイレクト)またはエラーページの表示を行う(ステップ30)。
【0041】
本実施の形態では、ステップ28で発せられたリクエストは、プロキシサーバ6を通過する。プロキシサーバ6では、リクエストを受け取り、キャッシュ32を検索して該当ページが存在すればこれをキャッシュから読み取ってレスポンスとする(ステップ31)。このようにキャッシングを行えば、ユーザシステム2への通信容量が小さい場合でも、ホスティングシステム1の大容量な通信環境内で処理が終了するので、応答速度を早くできる。キャッシュに該当ページがなけば、ユーザシステム2のHTTPサーバ10にリクエストを転送する(ステップ31)。ユーザシステム2では、リクエストに対する所定の応答処理を行い、レスポンスを返す(ステップ33)。
【0042】
プロキシサーバ6は、HTTPサーバ10からのレスポンスあるいはキャッシュからのレスポンスを転送し(ステップ31)、ゲーティングサーバ5がこれを受け取る。そして、ゲーティングサーバ5はこのレスポンスをクライアントシステム3に転送する(ステップ34)。
【0043】
なお、HTTPサーバ10からのレスポンスが正常に処理された旨のメッセージ(ステータスコードが200番台)を含まない場合、リクエストは何らかのエラーを生じていると考えられる。この場合、ゲーティングサーバ5は、前記したステップ29のエラー処理と同様なエラーリンクまたはエラーページの処理(ステップ35)を行い、この処理結果をレスポンスとする(ステップ34)。
【0044】
ゲーティングサーバ5は、ステップ23のリクエストに対するレスポンスとして、所定のファイル(コンテンツ)またはエラー処理内容をクライアントシステムのウェブブラウザ12に返送する(ステップ34)。ウェブブラウザ12はレスポンスを受け取り、これを表示する。あるいはエラー処理を行う(ステップ36)。
【0045】
以上のようにして、ユーザシステム2で運営されるHTTPサーバ10が、動的なIPアドレスを持つ場合であっても、一貫してインターネット上に公開できる。すなわち、ユーザシステム2のIPアドレスが変更されるものであっても、ユーザのサーバを表す同一のURL(たとえば「http://www.gating.net/user/index.html」)が使用できる。
【0046】
また、ユーザシステム2のHTTPサーバ10が稼動していない場合であっても、別のページ(エラーページ)が表示できる。これにより、ユーザは24時間サーバを稼動させる必要は無く、好きな期間、時間帯にサーバを公開できる。
【0047】
また、本実施の形態によれば、ユーザシステム2のIPアドレスを隠蔽できる。クライアントは、ゲーティングサーバ5のドメイン名とユーザ名を知ることができるだけであり、ユーザシステム2のIPアドレスが直接知られるわけではない。このため、特定のユーザサーバへの攻撃を困難にすることができる。つまりサーバを外部攻撃から守り、安全に公開することが可能になる。
【0048】
また、本実施の形態によれば、ページの記録容量、使用できるCGIなどに制限がない。独自のセキュリティ対策を施すことも可能になる。
【0049】
また、本実施の形態ではプロキシサーバ6によるページキャッシュを利用できるので、ユーザのインターネット接続回線が低速回線であってもウェブサーバを公開できる。
【0050】
また、本実施の形態では、HTTPサーバ10がユーザシステム2で構築されているので、コンテンツの更新時に従来必要であったアップロードの必要がない。
【0051】
また、本実施の形態では、ユーザはドメイン名を取得する必要が無く、これを管理する必要もない。しかも、ユーザのサーバを特定するURLはユーザに一意であり、ブックマーク(お気に入り)等のブラウザ機能を利用できる。
【0052】
また、HTTPサーバ10へのアクセスにパスワード認証等のセキュリティ機能を付加することはユーザの任意である。よって、プロバイダに対してコンテンツを秘匿でき、プロバイダのハードディスクにアップロードする従来の方式の場合には困難であった情報の秘匿を図ることも容易になる。
【0053】
以上、本発明者によってなされた発明を発明の実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更することが可能である。
【0054】
たとえば、前記実施の形態では、プロキシサーバ6を利用する例を説明した。しかし、プロキシサーバ6は必須の要件ではない。
【0055】
また、公開するURLにユーザ名(ユーザID)を含める方法は一例であり、ユーザに関連付けられるその他の識別子を用いることもできる。
【0056】
また、前記実施の形態ではエラー処理によるエラーページの表示を行う例を示したが、エラー処理は無くても良い。この場合、クライアントにはエラーである旨のステータスコード(ステータス行)を含むレスポンスが返送されることになる。
【0057】
また、前記実施の形態では、リクエストあるいはレスポンスのスキームとしてHTTPを例示したが、これに限られない。ftp(file transfer protocol)その他のスキームであっても同様に本発明を適用できる。
【0058】
【発明の効果】
本願で開示される発明のうち、代表的なものによって得られる効果は、以下の通りである。すなわち、動的にIPアドレスが変更されるウェブサーバを容易に公開することができる。また、IPアドレスの遮蔽性を高め、安全にウェブサーバを公開することができる。また、常時公開に対応できないようなユーザのウェブサーバであっても一貫したウェブサービスの提供を可能にできる。
【図面の簡単な説明】
【図1】本発明の一実施の形態であるウェブサーバ公開システムの一例を示したブロック図である。
【図2】本発明の一実施の形態であるウェブサーバの公開方法の一例を示したフローチャートである。
【符号の説明】
1…ホスティングシステム、2…ユーザシステム、3…クライアントシステム、4…ISP(インターネットサービスプロバイダ)、5…ゲーティングサーバ、6…プロキシサーバ、7…レジストレーションサーバ、8…データベース、9…ユーザ情報、10…HTTPサーバ、11…エージェント、12…ウェブブラウザ、13…DHCPサーバ。

Claims (11)

  1. IPアドレスが動的に変更されるウェブサーバを公開するシステムにおけるウェブサーバの公開方法であって、
    前記ウェブサーバを含むユーザシステムからIPアドレスの通知を受け取るステップと、
    前記ユーザシステムを利用するユーザに関連付けて前記IPアドレスをデータベースに記録するステップと、
    クライアントシステムが発した第1リクエストを受け取るステップと、
    前記第1リクエストに含まれ、前記システムのドメイン名および前記ユーザのユーザIDを含む第1URLから、前記ユーザを特定するステップと、
    前記ユーザのIPアドレスおよび予め記憶した前記ユーザ毎のディレクトリ名を前記データベースから読み取るステップと、
    前記第1URLを、前記IPアドレスおよび前記ディレクトリ名を含む第2URLに変換するステップと、
    前記第2URLを含む第2リクエストを発行するステップと、
    前記第2リクエストに応答する第1レスポンスを受け取るステップと、
    前記第1レスポンスのステータスに正常に処理された旨のコードまたはメッセージを含む場合には、前記第1レスポンスを、前記第1リクエストに応答する第2レスポンスとして前記クライアントシステムに返送するステップと、
    を含むウェブサーバの公開方法。
  2. 前記ユーザシステムから通知された前記IPアドレスを記録する際に、前記通知がなされた時刻または前記IPアドレスを記録した時刻を最終更新時刻として前記ユーザに関連付けて前記データベースに記録するステップと、
    前記IPアドレスを前記データベースから読み取る際に、前記データベースから前記最終更新時刻を読み取るステップと、をさらに有し、
    現在時刻が、前記最終更新時刻から所定の経過時間内に無い場合には、前記ユーザに関連付けて記録されているエラーリンクにリルートさせるステップ、または、予め登録した前記ユーザごとのエラーページを前記第2レスポンスとして前記クライアントシステムに返送するステップ、の何れかのステップをさらに有する請求項1記載の方法。
  3. 前記第1レスポンスのステータスに、正常に処理されなかった旨のコードまたはメッセージを含む場合には、前記ユーザに関連付けて記録されているエラーリンクにリルートさせるステップ、または、予め登録した前記ユーザごとのエラーページを前記第2レスポンスとして前記クライアントシステムに返送するステップ、の何れかのステップをさらに有する請求項1記載の方法。
  4. 前記IPアドレスの通知は、前記ユーザシステムにインストールされているエージェントプログラムから定期的に受け取るものである請求項1記載の方法。
  5. 前記第2リクエストおよびそれに応答する前記第1レスポンスは、ページキャッシュ機能を持つプロキシサーバを介して通信される請求項1記載の方法。
  6. IPアドレスが動的に変更されるウェブサーバを公開するシステムであって、
    前記ウェブサーバを含むユーザシステムからIPアドレスの通知を受け取る手段と、
    前記ユーザシステムを利用するユーザに関連付けて前記IPアドレスをデータベースに記録する手段と、
    クライアントシステムが発した第1リクエストを受け取る手段と、
    前記第1リクエストに含まれ、当該システムのドメイン名および前記ユーザのユーザIDを含む第1URLから、前記ユーザを特定する手段と、
    前記ユーザのIPアドレスおよび予め記憶した前記ユーザ毎のディレクトリ名を前記データベースから読み取る手段と、
    前記第1URLを、前記IPアドレスおよび前記ディレクトリ名を含む第2URLに変換する手段と、
    前記第2URLを含む第2リクエストを発行する手段と、
    前記第2リクエストに応答する第1レスポンスを受け取る手段と、
    前記第1レスポンスのステータスに正常に処理された旨のコードまたはメッセージを含む場合には、前記第1レスポンスを、前記第1リクエストに応答する第2レスポンスとして前記クライアントシステムに返送する手段と、
    を含むシステム。
  7. 前記ユーザシステムから通知された前記IPアドレスを記録する際に、前記通知がなされた時刻または前記IPアドレスを記録した時刻を最終更新時刻として前記ユーザに関連付けて前記データベースに記録する手段と、
    前記IPアドレスを前記データベースから読み取る際に、前記データベースから前記最終更新時刻を読み取る手段と、をさらに有し、
    現在時刻が、前記最終更新時刻から所定の経過時間内に無い場合には、前記ユーザに関連付けて記録されているエラーリンクにリルートさせる手段、または、予め登録した前記ユーザごとのエラーページを前記第2レスポンスとして前記クライアントシステムに返送する手段、の何れかの手段をさらに有する請求項記載のシステム。
  8. 前記第1レスポンスのステータスに、正常に処理されなかった旨のコードまたはメッセージを含む場合には、前記ユーザに関連付けて記録されているエラーリンクにリルートさせる手段、または、予め登録した前記ユーザごとのエラーページを前記第2レスポンスとして前記クライアントシステムに返送する手段、の何れかの手段をさらに有する請求項記載のシステム。
  9. 前記IPアドレスの通知は、前記ユーザシステムにインストールされているエージェントプログラムから定期的に受け取るものである請求項記載のシステム。
  10. 前記第2リクエストおよびそれに応答する前記第1レスポンスは、ページキャッシュ機能を持つプロキシサーバを介して通信される請求項記載のシステム。
  11. IPアドレスが動的に変更されるウェブサーバの公開サービスをコンピュータに実行させるプログラムであって、
    前記ウェブサーバを含むユーザシステムからIPアドレスの通知を受け取る手順と、
    前記ユーザシステムを利用するユーザに関連付けて前記IPアドレスをデータベースに記録する手順と、
    クライアントシステムが発した第1リクエストを受け取る手順と、
    前記第1リクエストに含まれ、当該プログラムを実行するシステムのドメイン名および前記ユーザのユーザIDを含む第1URLから、前記ユーザを特定する手順と、
    前記ユーザのIPアドレスおよび予め記憶した前記ユーザ毎のディレクトリ名を前記データベースから読み取る手順と、
    前記第1URLを、前記IPアドレスおよび前記ディレクトリ名を含む第2URLに変換する手順と、
    前記第2URLを含む第2リクエストを発行する手順と、
    前記第2リクエストに応答する第1レスポンスを受け取る手順と、
    前記第1レスポンスのステータスに正常に処理された旨のコードまたはメッセージを含む場合には、前記第1レスポンスを、前記第1リクエストに応答する第2レスポンスとして前記クライアントシステムに返送する手順と、
    をコンピュータに実行させるプログラム。
JP2001329774A 2001-10-26 2001-10-26 ウェブサーバの公開方法、システムおよびプログラム Expired - Fee Related JP3709558B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2001329774A JP3709558B2 (ja) 2001-10-26 2001-10-26 ウェブサーバの公開方法、システムおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2001329774A JP3709558B2 (ja) 2001-10-26 2001-10-26 ウェブサーバの公開方法、システムおよびプログラム

Publications (2)

Publication Number Publication Date
JP2003152766A JP2003152766A (ja) 2003-05-23
JP3709558B2 true JP3709558B2 (ja) 2005-10-26

Family

ID=19145615

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2001329774A Expired - Fee Related JP3709558B2 (ja) 2001-10-26 2001-10-26 ウェブサーバの公開方法、システムおよびプログラム

Country Status (1)

Country Link
JP (1) JP3709558B2 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4055760B2 (ja) 2004-09-13 2008-03-05 村田機械株式会社 ファクシミリ装置
JP4594818B2 (ja) * 2005-07-29 2010-12-08 日本電信電話株式会社 サービス提供システム
KR100901281B1 (ko) 2007-08-30 2009-06-09 한국전자통신연구원 유비쿼터스 웹서비스 방법
JP5196479B2 (ja) * 2008-08-26 2013-05-15 日本電信電話株式会社 統一資源位置指定子の構成方法およびハイパーテキスト転送プロトコルネットワーク
JP5073616B2 (ja) * 2008-08-26 2012-11-14 日本電信電話株式会社 ユーザ識別型リバースプロキシー装置、そのデータ中継方法、およびそのプログラム
US9052898B2 (en) 2011-03-11 2015-06-09 Qualcomm Incorporated Remote access and administration of device content, with device power optimization, using HTTP protocol
US8924556B2 (en) * 2011-03-11 2014-12-30 Qualcomm Incorporated System and method for accessing a device having an assigned network address
US8862693B2 (en) * 2011-03-11 2014-10-14 Qualcomm Incorporated Remote access and administration of device content and configuration using HTTP protocol

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1065737A (ja) * 1996-08-23 1998-03-06 Matsushita Electric Ind Co Ltd 代理サーバ装置およびサーバ装置
JPH11177629A (ja) * 1997-12-11 1999-07-02 Nippon Telegr & Teleph Corp <Ntt> セキュリティゲートウェイサーバおよび該サーバを用いたwwwサーバurl隠蔽方法とwwwサーバurl隠蔽プログラムを記録した記録媒体
JP3475889B2 (ja) * 2000-01-26 2003-12-10 日本電気株式会社 帯域制御装置,方法および記録媒体
KR20000049472A (ko) * 2000-03-27 2000-08-05 유태호 개인 컴퓨터로 웹서버운용하는 방법 및 그 시스템
JP2002247075A (ja) * 2001-02-14 2002-08-30 Toyo Keiki Co Ltd 接続確立方法、ネットワークシステムおよび自動検針システム
JP2003060671A (ja) * 2001-08-16 2003-02-28 Ivynetwork Co Ltd 情報公開用サーバ仮想運用システム
JP2003078543A (ja) * 2001-08-30 2003-03-14 First Server Kk ドメインリゾルバフェイクシステム

Also Published As

Publication number Publication date
JP2003152766A (ja) 2003-05-23

Similar Documents

Publication Publication Date Title
US7904345B2 (en) Providing website hosting overage protection by transference to an overflow server
US9219705B2 (en) Scaling network services using DNS
US9800539B2 (en) Request routing management based on network components
JP4592184B2 (ja) 静的な識別子が付され、かつネットワークに断続的に接続される装置へのアクセス方法および装置
JP4583420B2 (ja) 最適化されたネットワーク・リソース・ロケーション
JP5404766B2 (ja) ルーティングをリクエストするための方法とシステム
US9021022B2 (en) Method and system for identifying website visitors
US7310686B2 (en) Apparatus and method for transparent selection of an Internet server based on geographic location of a user
US9712422B2 (en) Selection of service nodes for provision of services
JP7045104B2 (ja) データを処理する方法、装置、及びコンピュータプログラム、並びに階層ドメインネームシステムのゾーンファイル
CN1890942B (zh) 重定向对万维网服务的客户端请求的方法
US20100064047A1 (en) Internet lookup engine
US20070038755A1 (en) Systems and methods for direction of communication traffic
US20080243536A1 (en) Providing website hosting overage protection by storage on an independent data server
US20070073829A1 (en) Partitioning data across servers
JP2001524778A (ja) エンハンスドドメインネームサービス
JP2004524602A (ja) ピアツーピア環境においてキャッシュされた資源間における資源の相同性
JP2004533687A (ja) コンピュータ・ネットワークにおけるサービスの動的配備
JP2014501958A (ja) ネットワークにおけるコンテンツにアクセスする方法および対応するシステム
JP3709558B2 (ja) ウェブサーバの公開方法、システムおよびプログラム
US20040122916A1 (en) Establishment of network connections
US11245623B2 (en) Method and apparatus for collecting data in network communication using concealed user address
JP2004207778A (ja) ローカルアドレスを用いたサーバシステム
JPH11175471A (ja) Url書き換え方法と装置およびurl書き換えプログラムを記録した媒体
US20150304442A1 (en) Website product integration and caching via domain name routing rules

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041130

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041208

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20050307

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20050310

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050608

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: 20050727

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20050727

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050729

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees