JP3613247B2 - プロキシサーバ、サーバ用プログラム及びメモリ管理方法 - Google Patents

プロキシサーバ、サーバ用プログラム及びメモリ管理方法 Download PDF

Info

Publication number
JP3613247B2
JP3613247B2 JP2002034713A JP2002034713A JP3613247B2 JP 3613247 B2 JP3613247 B2 JP 3613247B2 JP 2002034713 A JP2002034713 A JP 2002034713A JP 2002034713 A JP2002034713 A JP 2002034713A JP 3613247 B2 JP3613247 B2 JP 3613247B2
Authority
JP
Japan
Prior art keywords
data
acquisition request
acquisition
specific
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.)
Expired - Fee Related
Application number
JP2002034713A
Other languages
English (en)
Other versions
JP2003233531A (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.)
Seiko Epson Corp
Original Assignee
Seiko Epson 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 Seiko Epson Corp filed Critical Seiko Epson Corp
Priority to JP2002034713A priority Critical patent/JP3613247B2/ja
Publication of JP2003233531A publication Critical patent/JP2003233531A/ja
Application granted granted Critical
Publication of JP3613247B2 publication Critical patent/JP3613247B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)
  • Memory System (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【0001】
【発明の属する技術分野】
本発明は、一のネットワークリソースと他のネットワークリソースとの間でデータの取得を仲介する装置、サーバおよびプログラム、並びに方法に係り、特に、スタティックメモリ管理方式を採用したブラウザ端末において、メモリリソースの不足により操作不能な状態に陥るという不具合を解決するのに好適なメモリ管理装置、プロキシサーバ、メモリ管理プログラムおよびサーバ用プログラム、並びにメモリ管理方法に関する。
【0002】
【従来の技術】
Webベースの技術の浸透に伴い、ユーザインターフェースとしてWebブラウザを用い、アプリケーション本体はWWW(World Wide Web)サーバで稼働させるような、いわゆるシンクライアント型のシステムが利用されるようになってきている。このとき、WWWサーバからクライアントに送られる情報は、フォームを含むHTML(HyperText Markup Language)データであり、クライアントの端末では、Webブラウザさえ動けば、実行に先立って特にアプリケーションの配布・インストール等の作業を行うことなく、アプリケーションを実行させることができるようになる。また、一般的には、クライアント側でアプリケーションを実行するのに比して、クライアント側はより処理能力の低いハードウエアで運用することができる。
【0003】
従来、このようなクライアント端末には、ローエンドのPCが用いられてきた。しかし、最近では、店舗等に設置して顧客に気軽に使用してもらうことを目的としたものとして、液晶ディスプレイ上にタッチパネルを設け、タッチパネル上の操作だけで利用することができるブラウザ端末も開発され、そのようなブラウザ端末上でもWebブラウザが動作するようになってきている。
【0004】
【発明が解決しようとする課題】
このようなブラウザ端末は、ローエンドのPCと異なり、省電力化、低コスト化および省スペース化等を図るために、CPUの処理能力が低く、メモリリソースも少なく設計されているのが通常である。そのため、ブラウザ端末に組み込むWebブラウザでは、JAVA(登録商標)アプレット(以下、単にアプレットという。)を実行するにあたり、アプレットに割り当てるメモリ領域を管理する方法として、CPU負荷が少なくかつメモリ効率に優れたスタティックメモリ管理方式が採用されている。
【0005】
スタティックメモリ管理方式は、1つのWebページをテーブルにより管理し、テーブルがリセットされるまでは、Webページに付属するアプレットを読み込むたびに未使用のメモリ領域を順次割り当てていく方式である。テーブルのリセットタイミングは、そのWebページをリロードすべき更新命令が与えられたときである。
【0006】
しかしながら、スタティックメモリ管理方式にあっては、複数のフレームにより構成されたWebページを表示する場合は、ユーザの操作によっては更新命令が与えられないまま、そのWebページに付属するアプレットが次々と読み込まれ、メモリリソースが不足し操作不能な状態に陥る可能性があった。例えば、メニュー項目の一覧を表示するメニューフレームと、メニューフレームのメニュー項目に対応する内容を表示するコンテンツフレームにより構成されたWebページを、ユーザが各メニュー項目を選択しながら一つ一つのメニュー内容を表示する場合、メニュー項目を選択するごとにコンテンツフレームのWebページは更新されるが、コンテンツフレームの更新だけでは全体のWebページについて更新命令が与えられないため、メニュー項目を選択するごとにそのWebページに付属するアプレットがメモリに読み込まれ蓄積される。ローエンドのPCのように個人ユーザ向けに使用される端末では、同一のWebページを何度も表示することはないので、アプレットの過剰読込によりメモリリソース不足が生じる可能性は少ない。しかし、これに対し、店舗等に設置するブラウザ端末では、アプレットを利用してWebページを構成し、そのWebページによりプリントサービス等の店舗専用のサービスを提供することがあるため、複数の顧客により同一のWebページを繰り返し表示されると、アプレットの過剰読込によりメモリリソース不足が生じる可能性が大きい。
【0007】
ところで、ローエンドのPC上で動作するWebブラウザには、「戻る」というコントロールボタンが設けられており、ユーザは、戻るボタンをクリックするだけで、1つまたはいくつか前に閲覧したWebページを、再アクセスを行うことなく閲覧することができる。これに対して、ブラウザ端末上で動作するWebブラウザには、戻るボタンが設けられていない場合が多い。これは、アプレットを利用してWebページを構成し、そのWebページによりプリントサービス等の店舗専用のサービスを提供する場合、ブラウザ端末においてアプレットの実行中に戻るボタンがクリックされてしまうと、Webページによるサービスを確実に提供できなくなってしまうからである。例えば、プリントの実行が完了する前に戻るボタンをクリックされてしまうと、プリントが完全に行われず印刷ミスとなる可能性がある。すなわち、店舗にとっては、戻るボタンが利用できない不便よりも、サービス提供の確実性が低下してしまう方が不都合であるため、ブラウザ端末には、あえて戻るボタンが設けられていないのである。
【0008】
しかしながら、ブラウザ端末上で動作するWebブラウザにあっては、戻るボタンが設けられていないことから、WWWサーバの更新の不手際等何らかの原因により、サービス提供に必要なアプレットがWWWサーバ上に存在しない場合、ブラウザ端末が特定の画面を表示したまま停止してしまい、操作不能な状態に陥ることがあった。従業員がこの状態を直ちに見つけて対処できればよいが、多くの場合困難であるし、またできても大変な手間がかかる。この場合、戻るボタンを設ければ、戻るボタンの操作により操作不能な状態に陥ることをとりあえず回避することはできるが、戻るボタンを設けては、上記要因によりサービス提供の確実性が低下してしまう。
【0009】
そこで、本発明は、このような従来の技術の有する未解決の課題に着目してなされたものであって、スタティックメモリ管理方式を採用したブラウザ端末において、メモリリソースの不足により操作不能な状態に陥るという不具合を解決するのに好適なメモリ管理装置、プロキシサーバ、メモリ管理プログラムおよびサーバ用プログラム、並びにメモリ管理方法を提供することを第1の目的としている。さらに、サービス提供の確実性を低下させることなく、アプレットの取得待ち等により操作不能な状態に陥るという不具合を解決するのに好適なメモリ管理装置、プロキシサーバ、メモリ管理プログラムおよびサーバ用プログラム、並びにメモリ管理方法を提供することを第2の目的としている。
【0014】
【課題を解決するための手段】
上記目的を達成するために、本発明に記載のプロキシサーバは、
ネットワークリソースからデータを取得する端末側データ取得手段と、前記端末側データ取得手段で取得したデータのうち特定形式のものにスタティックメモリ管理方式によりメモリ領域を割り当てるメモリ領域割当手段と、更新命令に応じて前記特定形式データに割り当てたメモリ領域を解放するメモリ領域解放手段とを有するブラウザ端末と、前記ブラウザ端末とは異なる他のネットワークリソースとにネットワークを介して通信可能に接続し、前記ブラウザ端末からデータの取得要求を受信したときは、受信した取得要求に係るデータを取得先のネットワークリソースから取得し、取得したデータを前記ブラウザ端末に送信するサーバであって、
前記取得要求に応じて前記ネットワークリソースからデータを取得するサーバ側データ取得手段と、前記サーバ側データ取得手段で取得したデータを前記ブラウザ端末に送信するデータ送信手段と、前記サーバ側データ取得手段で取得したデータに基づいて前記ブラウザ端末への前記特定形式データの送信回数を計数する回数計数手段と、前記回数計数手段の計数結果に基づいて前記ブラウザ端末に前記更新命令を送信する更新命令送信手段とを備えることを特徴とする。
【0015】
このような構成であれば、ブラウザ端末では、ネットワークリソースにアクセスする場合、端末側データ取得手段により、プロキシサーバに取得要求が送信される。
プロキシサーバでは、取得要求を受信すると、サーバ側データ取得手段により、取得要求に応じてネットワークリソースからデータが取得され、データ送信手段により、取得されたデータがブラウザ端末に送信される。
【0016】
ブラウザ端末では、データを受信すると、メモリ領域割当手段により、受信したデータのうち特定形式データにスタティックメモリ管理方式によりメモリ領域が割り当てられる。
一方、プロキシサーバでは、回数計数手段により、サーバ側データ取得手段で取得されたデータに基づいてブラウザ端末への特定形式データの送信回数が計数され、更新命令送信手段により、その計数結果に基づいてブラウザ端末に更新命令が送信される。
【0017】
ブラウザ端末では、更新命令を受信すると、メモリ解放手段により、更新命令に応じて特定形式データに割り当てられたメモリ領域が解放される。
また、特定形式のデータとしては、実行型のプログラムデータ(例えば、JAVA(登録商標)アプレット)のほか、例えば、画像データ、音声データその他のマルチメディアデータ、またはテキストデータその他の文書データが含まれる。以下、本発明に記載のプロキシサーバ、サーバ用プログラム、並びにメモリ管理方法において同じである。
また、回数計数手段は、データ取得手段で取得した特定形式データの取得回数を計数するようになっていればどのような構成であってもよく、より具体的には、特定形式データの取得回数を推定または実測により計数することができる。以下、本発明に記載のメモリ管理プログラムにおいて同じである。
さらに、本発明に記載のプロキシサーバは、上記のプロキシサーバにおいて、前記特定形式データは、実行型のプログラムデータであることを特徴とする。
【0018】
このような構成であれば、ブラウザ端末では、データを受信すると、メモリ領域割当手段により、受信したデータのうちプログラムデータにスタティックメモリ管理方式によりメモリ領域が割り当てられる。
一方、プロキシサーバでは、回数計数手段により、サーバ側データ取得手段で取得されたデータに基づいてブラウザ端末へのプログラムデータの送信回数が計数され、更新命令送信手段により、その計数結果に基づいてブラウザ端末に更新命令が送信される。
【0019】
ブラウザ端末では、更新命令を受信すると、メモリ解放手段により、更新命令に応じてプログラムデータに割り当てられたメモリ領域が解放される。
さらに、本発明に記載のプロキシサーバは、上記のプロキシサーバにおいて、
前記更新命令送信手段は、前記回数計数手段で計数した送信回数が所定値以上となったときは、前記ブラウザ端末に前記更新命令を送信するようになっていることを特徴とする。
【0020】
このような構成であれば、プロキシサーバでは、回数計数手段で計数された送信回数が所定値以上となると、更新命令送信手段により、ブラウザ端末に更新命令が送信される。
さらに、本発明に記載のプロキシサーバは、上記のプロキシサーバにおいて、
前記サーバ側データ取得手段で取得したデータに前記特定形式データの取得要求である特定取得要求が含まれていることを検出する特定取得要求検出手段を備え、
前記回数計数手段は、前記特定取得要求検出手段で検出した特定取得要求の個数を計数することにより前記ブラウザ端末への前記特定形式データの送信回数を計数するようになっていることを特徴とする。
【0021】
このような構成であれば、プロキシサーバでは、サーバ側データ取得手段で取得されたデータに特定取得要求が含まれていると、特定取得要求検出手段により、特定取得要求が含まれていることが検出され、回数計数手段により、検出された特定取得要求の個数が計数され、これによりブラウザ端末への特定形式データの送信回数が計数される。
さらに、本発明に記載のプロキシサーバは、上記のプロキシサーバにおいて、
前記特定取得要求を含むデータには、前記特定取得要求であることを示す要求識別情報をあらかじめ付加しておき、
前記特定取得要求検出手段は、前記サーバ側データ取得手段で取得したデータから前記要求識別情報を検出することにより当該データに前記特定取得要求が含まれていることを検出するようになっていることを特徴とする。
【0022】
このような構成であれば、プロキシサーバでは、取得されたデータに要求識別情報が含まれていると、特定取得要求検出手段により、取得されたデータに特定取得要求が含まれていることが検出される。
さらに、本発明に記載のプロキシサーバは、上記のプロキシサーバにおいて、
前記ネットワークリソースを識別するためのネットワークリソース識別情報を含む取得要求を受信したときは、受信した取得要求から前記ネットワークリソース識別情報を取得し、取得したネットワークリソース識別情報により前記ブラウザ端末を識別するようになっていることを特徴とする。
【0023】
このような構成であれば、プロキシサーバでは、ネットワークリソース識別情報を含む取得要求を受信すると、受信した取得要求からネットワークリソース識別情報が取得される。そして、取得されたネットワークリソース識別情報によりブラウザ端末が識別される。
さらに、本発明に記載のプロキシサーバは、上記のプロキシサーバにおいて、
前記ネットワークリソース識別情報は、IPアドレスであることを特徴とする。
【0024】
このような構成であれば、プロキシサーバでは、IPアドレスを含む取得要求を受信すると、受信した取得要求からIPアドレスが取得される。そして、取得されたIPアドレスによりブラウザ端末が識別される。
さらに、本発明に記載のプロキシサーバは、上記のプロキシサーバにおいて、
複数の前記ブラウザ端末と通信可能に接続し、
前記回数計数手段は、前記各ブラウザ端末ごとに、当該ブラウザ端末への前記特定形式データの送信回数を計数するようになっていることを特徴とする。
【0025】
このような構成であれば、プロキシサーバでは、回数計数手段により、各ブラウザ端末ごとに、そのブラウザ端末への特定形式データの送信回数が計数される。
さらに、本発明に記載のプロキシサーバは、上記のプロキシサーバにおいて、
前記回数計数手段は、前記更新命令送信手段で前記更新命令を前記ブラウザ端末に送信したときは、当該ブラウザ端末への前記特定形式データの送信回数を初期化するようになっていることを特徴とする。
【0026】
このような構成であれば、プロキシサーバでは、更新命令送信手段で更新命令がブラウザ端末に送信されると、そのブラウザ端末への特定形式データの送信回数が初期化される。
さらに、本発明に記載のプロキシサーバは、上記のプロキシサーバにおいて、
前記特定取得要求検出手段の検出結果に基づいて前記特定取得要求に係る特定形式データが取得先のネットワークリソースに存在するか否かを判定するデータ存在判定手段を備え、
前記データ送信手段は、前記サーバ側データ取得手段で取得したデータについて、当該データに含まれる前記特定取得要求に係る特定形式データが存在しないと前記データ存在判定手段で判定したときは、前記特定形式データが存在しない旨の通知を行うようになっていることを特徴とする。
【0027】
このような構成であれば、プロキシサーバでは、データ存在判定手段により、特定取得要求検出手段の検出結果に基づいて特定取得要求に係る特定形式データが取得先のネットワークリソースに存在するか否かが判定される。その結果、特定形式データが存在しないと判定されると、データ送信手段により、特定形式データが存在しない旨の通知が行われる。
【0028】
ここで、特定形式データが存在しない旨の通知は、ブラウザ端末に対して行うに限らず、ブラウザ端末を管理する管理端末に対して行うようにしてもよい。この場合、特定形式データが存在しない旨は、イベントログとして通知するようにしてもよい。
さらに、本発明に記載のプロキシサーバは、上記のプロキシサーバにおいて、
前記データ送信手段は、前記サーバ側データ取得手段で取得したデータについて、当該データに含まれる前記特定取得要求に係る特定形式データが存在しないと前記データ存在判定手段で判定したときは、当該データに代えて、前記特定形式データが存在しない旨の通知データを前記ブラウザ端末に送信するようになっていることを特徴とする。
【0029】
このような構成であれば、プロキシサーバでは、特定形式データが存在しないと判定されると、データ送信手段により、そのデータに代えて、特定形式データが存在しない旨の通知データがブラウザ端末に送信される。
さらに、本発明に記載のプロキシサーバは、上記のプロキシサーバにおいて、
前記データ存在判定手段は、取得先のネットワークリソースにアクセスして前記特定取得要求に係る特定形式データが存在するか否かを判定したときは、当該特定形式データを識別するためのデータ識別情報および当該特定形式データの取得先アドレスを対応付けて記憶手段に登録し、
前記特定取得要求検出手段で前記特定取得要求が含まれていることを検出したときは、当該特定取得要求が含まれているデータから前記データ識別情報および前記取得先アドレスを取得し、取得したデータ識別情報および取得先アドレスが前記記憶手段に登録されていないときは、取得先のネットワークリソースにアクセスして前記特定取得要求に係る特定形式データが存在するか否かを判定するようになっていることを特徴とする。
【0030】
このような構成であれば、プロキシサーバでは、データ存在判定手段により、取得先のネットワークリソースにアクセスして特定取得要求に係る特定形式データが存在するか否かが判定されると、その特定形式データについてデータ識別情報および取得先アドレスが対応付けられて記憶手段に登録される。
一方、特定取得要求が含まれていることが検出されると、データ存在判定手段により、その特定取得要求が含まれているデータからデータ識別情報および取得先アドレスが取得される。そして、取得されたデータ識別情報および取得先アドレスが記憶手段に登録されていないと、取得先のネットワークリソースにアクセスして特定取得要求に係る特定形式データが存在するか否かが判定される。
さらに、本発明に記載のプロキシサーバは、上記のプロキシサーバにおいて、
前記記憶手段には、前記ブラウザ端末がアクセスすることのある特定形式データごとに前記取得先アドレスを登録したアクセス登録テーブルを記憶させておき、
前記データ存在判定手段は、前記ブラウザ端末からの取得要求を受信する前に、前記アクセス登録テーブルの取得先アドレスをもとに前記ネットワークリソースにアクセスして該当の特定形式データが存在するか否かを判定し、当該特定形式データを識別するためのデータ識別情報および当該特定形式データの取得先アドレスを対応付けて前記記憶手段に登録するようになっていることを特徴とする。
【0031】
このような構成であれば、プロキシサーバでは、ブラウザ端末からの取得要求を受信する前に、データ存在判定手段により、アクセス登録テーブルの取得先アドレスをもとにネットワークリソースにアクセスされて該当の特定形式データが存在するか否かが判定され、その特定形式データを識別するためのデータ識別情報およびその特定形式データの取得先アドレスが対応付けて記憶手段に登録される。
さらに、本発明に記載のプロキシサーバは、上記のプロキシサーバにおいて、
前記ネットワークリソースを識別するためのネットワークリソース識別情報を含む取得要求を受信したときは、受信した取得要求から前記ネットワークリソース識別情報を取得し、取得したネットワークリソース識別情報により特定されるネットワークリソースが前記ブラウザ端末であると判定したときは、前記特定取得要求検出手段による検出および前記データ存在判定手段による判定を行うようになっていることを特徴とする。
【0032】
このような構成であれば、プロキシサーバでは、ネットワークリソース識別情報を含む取得要求を受信すると、受信した取得要求からネットワークリソース識別情報が取得される。そして、取得されたネットワークリソース識別情報により特定されるネットワークリソースがブラウザ端末であると判定されると、特定取得要求検出手段による検出およびデータ存在判定手段による判定が行われる。
【0033】
一方、上記目的を達成するために、本発明に記載のサーバ用プログラムは、
ネットワークリソースからデータを取得する端末側データ取得手段と、前記端末側データ取得手段で取得したデータのうち特定形式のものにスタティックメモリ管理方式によりメモリ領域を割り当てるメモリ領域割当手段と、更新命令に応じて前記特定形式データに割り当てたメモリ領域を解放するメモリ領域解放手段とを有するブラウザ端末と、前記ブラウザ端末とは異なる他のネットワークリソースとにネットワークを介して通信可能に接続し、前記ブラウザ端末からデータの取得要求を受信したときは、受信した取得要求に係るデータを取得先のネットワークリソースから取得し、取得したデータを前記ブラウザ端末に送信するサーバとして用いるコンピュータに、
前記取得要求に応じて前記ネットワークリソースからデータを取得するサーバ側データ取得手段、前記サーバ側データ取得手段で取得したデータを前記ブラウザ端末に送信するデータ送信手段、前記サーバ側データ取得手段で取得したデータに基づいて前記ブラウザ端末への前記特定形式データの送信回数を計数する回数計数手段、および前記回数計数手段の計数結果に基づいて前記ブラウザ端末に前記更新命令を送信する更新命令送信手段として実現される処理を実行させるためのプログラムであることを特徴とする。
【0034】
このような構成であれば、コンピュータによってプログラムが読み取られ、読み取られたプログラムに従ってコンピュータが処理を実行すると、本発明に記載のプロキシサーバと同等の作用が得られる。
【0035】
さらに、本発明に記載のサーバのメモリ管理方法は、
ネットワークリソースからデータを取得する端末側データ取得手段と、前記端末側データ取得手段で取得したデータのうち特定形式のものにスタティックメモリ管理方式によりメモリ領域を割り当てるメモリ領域割当手段と、更新命令に応じて前記特定形式データに割り当てたメモリ領域を解放するメモリ領域解放手段とを有するブラウザ端末と、前記ブラウザ端末とは異なる他のネットワークリソースとにネットワークを介して通信可能に接続し、前記ブラウザ端末からデータの取得要求を受信したときは、受信した取得要求に係るデータを取得先のネットワークリソースから取得し、取得したデータを前記ブラウザ端末に送信するサーバのメモリ管理方法であって、
前記取得要求に応じてCPUが前記ネットワークリソースからデータを取得するサーバ側データ取得ステップと、前記CPUが前記サーバ側データ取得ステップで取得したデータを前記ブラウザ端末に送信するデータ送信ステップと、前記サーバ側データ取得ステップで取得したデータに基づいて前記CPUが前記ブラウザ端末への前記特定形式データの送信回数を計数する回数計数ステップと、前記回数計数ステップの計数結果に基づいて前記CPUが前記ブラウザ端末に前記更新命令を送信する更新命令送信ステップとを含むことを特徴とする。
【0036】
【発明の実施の形態】
以下、本発明の実施の形態を図面を参照しながら説明する。図1ないし図9は、本発明に記載のメモリ管理装置、プロキシサーバ、メモリ管理プログラムおよびサーバ用プログラム、並びにメモリ管理方法の実施の形態を示す図である。
本実施の形態は、本発明に記載のメモリ管理装置、プロキシサーバ、メモリ管理プログラムおよびサーバ用プログラム、並びにメモリ管理方法を、図1に示すように、インターネット198とプライベートネットワーク199との間に設けられたプロキシサーバ200に適用したものである。
【0037】
まず、本発明を適用するネットワークシステムの構成を図1を参照しながら説明する。図1は、本発明を適用するネットワークシステムの構成を示すブロック図である。
図1において、インターネット198には、HTMLデータにより構成したWebページを蓄積する複数のWWWサーバ100が接続されており、プライベートネットワーク199には、特殊用途に特化した複数のブラウザ端末300と、特殊用途以外の用途にも用いられる複数の通常端末310とが接続されている。また、インターネット198およびプライベートネットワーク199には、ブラウザ端末300および通常端末310とWWWサーバ100との間でHTTP(HyperText Transfer Protocol)その他のプロトコルによりデータ取得を仲介するプロキシサーバ200が接続されている。
【0038】
ブラウザ端末300は、図示しないが、液晶ディスプレイ上にタッチパネルを設けて構成されており、Webブラウザを起動し、タッチパネル上の操作だけでWebブラウザを利用可能となっている。なお、ブラウザ端末300上で動作するWebブラウザは、スタティックメモリ管理方式によりアプレットに対してメモリ領域の割当および解放を行う。また、同Webブラウザには、Webページによるサービスを確実に提供するために、戻るボタンが設けられていない。
【0039】
ブラウザ端末300は、組み込まれているWebブラウザによって「ND−2000」および「ND−3000」の2種類に分類される。「ND−2000」のブラウザ端末300は、アプレット識別符号、アプレットのバージョン、アプレット名およびアプレットに与えるパラメータ等をすべて1つのタグとして記述した形式(以下、ND−2000形式という。)のHTMLデータが与えられたときは、そのタグを解読して適切に処理するが、アプレット識別符号、アプレットのバージョン、アプレット名およびアプレットに与えるパラメータ等をそれぞれ1つのタグとして記述した形式(以下、ND−3000形式という。)のHTMLデータが与えられたときは、それらタグを無視するようになっている。「ND−3000」のブラウザ端末300は、ND−3000形式のHTMLデータが与えられたときは、それらタグを解読して適切に処理するが、ND−2000形式のHTMLデータが与えられたときは、そのタグを無視するようになっている。
【0040】
次に、プロキシサーバ200の構成を図2を参照しながら詳細に説明する。図2は、プロキシサーバ200の構成を示すブロック図である。
プロキシサーバ200は、図2に示すように、制御プログラムに基づいて演算およびシステム全体を制御するCPU30と、所定領域にあらかじめCPU30の制御プログラム等を格納しているROM32と、ROM32等から読み出したデータやCPU30の演算過程で必要な演算結果を格納するためのRAM34と、外部装置に対してデータの入出力を媒介するI/F38とで構成されており、これらは、データを転送するための信号線であるバス39で相互にかつデータ授受可能に接続されている。
【0041】
I/F38には、外部装置として、ヒューマンインターフェースとしてデータの入力が可能なキーボードやマウス等からなる入力装置40と、データやテーブル等をファイルとして格納する記憶装置42と、画像信号に基づいて画面を表示する表示装置44と、インターネット198に接続するための信号線と、プライベートネットワーク199に接続するための信号線とが接続されている。
【0042】
記憶装置42には、図3に示すように、プライベートネットワーク199に接続する各端末がアクセスすることのあるWebページのURL(Universal Resource Locater)を登録したアクセス登録テーブル400が格納されている。図3は、アクセス登録テーブル400のデータ構造を示す図である。
アクセス登録テーブル400には、図3に示すように、各URLごとに1つのレコードが登録されている。各レコードは、URLを登録したフィールド402を含んで構成されている。アクセス登録テーブル400は、プライベートネットワーク199に接続する端末からの取得要求を受信する前に、プロキシサーバ200が参照して登録URLのWebページを取得し、取得したWebページが利用するアプレットの存在の有無を登録するために使用される。これにより、プライベートネットワーク199に接続する端末に対する応答速度を向上することができる。
【0043】
また、記憶装置42には、図4に示すように、プライベートネットワーク199に接続する各端末についてIPアドレス、端末識別情報およびアプレットの送信回数を対応付けて登録した端末管理テーブル420が格納されている。図4は、端末管理テーブル420のデータ構造を示す図である。
端末管理テーブル420には、図4に示すように、プライベートネットワーク199に接続する各端末ごとに1つのレコードが登録されている。各レコードは、端末に設定されたIPアドレスを登録したフィールド422と、端末を識別するための端末識別情報を登録したフィールド424と、アプレットを端末に送信した回数を登録したフィールド426とを含んで構成されている。
【0044】
図4の例では、第1段目のレコードには、IPアドレスとして「192.168.100.10」が、端末識別情報として「通常端末」が、送信回数として「0」がそれぞれ登録されており、これは、IPアドレス「192.168.100.10」が設定された端末が通常端末310であることを意味し、また、その通常端末310に対するアプレットの送信回数が「0」回であることを意味している。また、第4段目のレコードには、IPアドレスとして「192.168.101.10」が、端末識別情報として「ブラウザ端末」がそれぞれ登録されており、これは、IPアドレス「192.168.101.10」が設定された端末がブラウザ端末300であることを意味し、また、そのブラウザ端末300に対するアプレットの送信回数が「0」回であることを意味している。
【0045】
また、記憶装置42には、図5に示すように、Webページのアプレットを管理するアプレット管理テーブル440が格納されている。図5は、アプレット管理テーブル440のデータ構造を示す図である。
アプレット管理テーブル440は、図5に示すように、取得要求に応じてプロキシサーバ200がWebページを取得するごとに、1つのレコードが作成されるものである。各レコードは、WebページのURLを登録したフィールド442と、そのWebページが利用するアプレットの個数を登録したフィールド444,450と、そのWebページが利用するすべてのアプレットの存在の有無を登録したフィールド446,452と、そのWebページが利用する各アプレットについてアプレットが存在するか否かを管理するアプレット存在管理テーブルへのポインタを登録したフィールド448,454とを含んで構成されている。なお、フィールド444〜448は、Webページを構成するHTMLデータの形式がND−2000形式の場合に、アプレット数、アプレットの存在の有無およびテーブル名を登録するフィールドであり、フィールド450〜454は、Webページを構成するHTMLデータの形式がND−3000形式の場合に、アプレット数、アプレットの存在の有無およびテーブル名を登録するフィールドである。
【0046】
図5の例では、第1段目のレコードには、URLとして「http://www.aaa.com/index.htm」が、アプレット数、アプレット存在の有無およびアプレット存在管理テーブルへのポインタのうちND−2000形式に係るものとして、「3」、「0」および「テーブルA1」が、アプレット数、アプレット存在の有無およびアプレット存在管理テーブルへのポインタのうちND−3000形式に係るものとして、「4」、「0」および「テーブルA2」がそれぞれ登録されている。これは、URL「http://www.aaa.com/index.htm」により特定されるWebページに、アプレットを取得する要求である特定取得要求が7つ含まれており、アプレットが存在するか否かを、ND−2000形式に係るものについてはテーブルA1により、ND−3000形式に係るものについてはテーブルA2により管理することを意味している。さらに、ND−2000形式に係るアプレットの一部または全部が存在せず、ND−3000形式に係るアプレットの一部または全部が存在しないことを意味している。なお、各Webページには、特定取得要求を確実に検出するため、特定取得要求とともにアプレット識別符号があらかじめ付加されている。
【0047】
アプレット存在管理テーブル460は、図6に示すように、各アプレットごとに1つのレコードが登録されている。各レコードは、アプレット名を登録したフィールド462と、アプレットの存在の有無を登録したフィールド464とを含んで構成されている。図6は、アプレット存在管理テーブル460のデータ構造を示す図である。
【0048】
図6の例では、第1段目のレコードには、アプレット名として「exe_001」が、アプレット存在の有無として「1」がそれぞれ登録されており、これは、アプレット名「exe_001」により特定されるアプレットが規定のWWWサーバ100に存在することを意味している。また、第3段目のレコードには、アプレット名として「exe_003」が、アプレット存在の有無として「0」がそれぞれ登録されており、これは、アプレット名「exe_003」により特定されるアプレットが規定のWWWサーバ100に存在しないことを意味している。
【0049】
CPU30は、マイクロプロセッシングユニットMPU等からなり、ROM32の所定領域に格納されている所定のプログラムを起動させ、そのプログラムに従って、図7および図8のフローチャートに示すアプレット存在登録処理およびデータ取得仲介処理を実行するようになっている。
初めに、アプレット存在登録処理を図7を参照しながら詳細に説明する。図7は、アプレット存在登録処理を示すフローチャートである。
【0050】
アプレット存在登録処理は、プライベートネットワーク199に接続する端末からの取得要求を受信する前に、アクセス登録テーブル400を参照して登録URLのWebページを取得し、取得したWebページが利用するアプレットの存在の有無を登録する処理であって、CPU30において実行されると、図7に示すように、まず、ステップS100に移行するようになっている。
【0051】
ステップS100では、アクセス登録テーブル400の先頭レコードからURLを読み出し、ステップS102に移行して、読み出したURLをもとにWWWサーバ100にアクセスし、ステップS104に移行して、アクセスしたWWWサーバ100からWebページを取得し、ステップS106に移行する。
ステップS106では、取得したWebページを解析し、ステップS108に移行して、解析結果に基づいて、取得したWebページからアプレット識別符号を検出したか否かを判定し、アプレット識別符号を検出したと判定したとき(Yes)は、ステップS110に移行する。
【0052】
ステップS110では、検出したアプレット識別符号に対応する特定取得要求に係るWWWサーバ100にアクセスし、ステップS112に移行して、特定取得要求に係るアプレットがそのWWWサーバ100に存在するか否かを判定し、アプレットが存在すると判定したとき(Yes)は、ステップS114に移行して、検出したアプレット識別符号に対応するアプレットがWWWサーバ100に存在することをアプレット管理テーブル440およびアプレット存在管理テーブル460に登録する。なお、この登録は、取得したWebページを構成するHTMLデータの形式に応じてそれぞれ行う。以下、ステップS120,S220,S232において同じである。
【0053】
次いで、ステップS108に移行する。なお、ステップS108に移行した際には、解析結果に基づいて、取得したWebページから次のアプレット識別符号を検出したか否かを判定する。ステップS108の2回目以降の実行は、一つのWebページに複数のアプレット識別符号が含まれている場合に対応するためである。
【0054】
一方、ステップS112で、特定取得要求に係るアプレットがWWWサーバ100に存在しないと判定したとき(No)は、ステップS120に移行して、検出したアプレット識別符号に対応するアプレットがWWWサーバ100に存在しないことをアプレット管理テーブル440およびアプレット存在管理テーブル460に登録し、ステップS108に移行する。なお、ステップS108に移行した際には、解析結果に基づいて、取得したWebページから次のアプレット識別符号を検出したか否かを判定する。ステップS108の2回目以降の実行は、一つのWebページに複数のアプレット識別符号が含まれている場合に対応するためである。
【0055】
一方、ステップS108で、アプレット識別符号を検出しないと判定したとき(No)は、ステップS116に移行して、アクセス登録テーブル400に登録されているすべてのURLについてステップS102〜S114,S120の処理が終了したか否かを判定し、すべてのURLについて処理が終了したと判定したとき(Yes)は、一連の処理を終了して元の処理に復帰させる。
【0056】
一方、ステップS116で、アクセス登録テーブル400に登録されているすべてのURLについてステップS102〜S114,S120の処理が終了しないと判定したとき(No)は、ステップS118に移行して、アクセス登録テーブル400の次のレコードからURLを読み出し、ステップS102に移行する。
次に、データ取得仲介処理を図8を参照しながら詳細に説明する。図8は、データ仲介処理を示すフローチャートである。
【0057】
データ取得仲介処理は、CPU30において実行されると、図8に示すように、まず、ステップS200に移行するようになっている。
ステップS200では、HTTPによりページの取得要求を受信したか否かを判定し、取得要求を受信したと判定したとき(Yes)は、ステップS201に移行するが、そうでないと判定したとき(No)は、取得要求を受信するまでステップS200で待機する。
【0058】
ステップS201では、取得要求に含まれるIPアドレスが端末管理テーブル400に登録されているか否かを判定し、端末管理テーブル400に登録されていないと判定したとき(No)は、ステップS202に移行して、取得要求のHTTPヘッダを解析し、ステップS204に移行して、解析結果に基づいて要求元の端末がブラウザ端末300であるか否かを判定し、要求元の端末がブラウザ端末300であると判定したとき(Yes)は、ステップS205に移行する。
【0059】
ステップS205では、取得要求に含まれるIPアドレスおよびブラウザ端末300であることを示す端末識別情報を端末管理テーブル400に登録し、ステップS206に移行して、取得要求に係るWWWサーバ100にアクセスし、ステップS208に移行して、取得要求に係るWebページをそのWWWサーバ100から取得し、ステップS210に移行する。
【0060】
ステップS210では、取得したWebページを解析し、ステップS212に移行して、解析結果に基づいて、取得したWebページからアプレット識別符号を検出したか否かを判定し、アプレット識別符号を検出したと判定したとき(Yes)は、ステップS214に移行して、検出したアプレット識別符号に対応するアプレットがアプレット管理テーブル440およびアプレット存在管理テーブル460に登録されているか否かを判定し、アプレット管理テーブル440およびアプレット存在管理テーブル460に登録されていないと判定したとき(No)は、ステップS216に移行する。
【0061】
ステップS216では、検出したアプレット識別符号に対応する特定取得要求に係るWWWサーバ100にアクセスし、ステップS218に移行して、特定取得要求に係るアプレットがそのWWWサーバ100に存在するか否かを判定し、アプレットが存在すると判定したとき(Yes)は、ステップS220に移行する。
ステップS220では、検出したアプレット識別符号に対応するアプレットがWWWサーバ100に存在することをアプレット管理テーブル440およびアプレット存在管理テーブル460に登録し、ステップS222に移行して、要求元のブラウザ端末300についてアプレットの送信回数を加算し、ステップS224に移行する。
【0062】
ステップS224では、アプレットの送信回数が所定値(例えば、100回)以上であるか否かを判定し、送信回数が所定値以上であると判定したとき(Yes)は、全画面更新命令を要求元のブラウザ端末300に送信し、ステップS228に移行して、要求元のブラウザ端末300についてアプレットの送信回数を「0」に設定し、ステップS212に移行する。なお、ステップS212に移行した際には、解析結果に基づいて、取得したWebページから次のアプレット識別符号を検出したか否かを判定する。ステップS212の2回目以降の実行は、一つのWebページに複数のアプレット識別符号が含まれている場合に対応するためである。
【0063】
一方、ステップS224で、アプレットの送信回数が所定値未満であると判定したとき(No)は、ステップS212に移行する。なお、ステップS212に移行した際には、解析結果に基づいて、取得したWebページから次のアプレット識別符号を検出したか否かを判定する。ステップS212の2回目以降の実行は、一つのWebページに複数のアプレット識別符号が含まれている場合に対応するためである。
【0064】
一方、ステップS218で、特定要求に係るアプレットがWWWサーバ100に存在しないと判定したとき(No)は、ステップS232に移行して、検出したアプレット識別符号に対応するアプレットがWWWサーバ100に存在しないことをアプレット管理テーブル440およびアプレット存在管理テーブル460に登録し、ステップS234に移行して、アプレットが存在しないことを通知するための差換ページを、取得したWebページに代えて要求元のブラウザ端末300に送信し、一連の処理を終了して元の処理に復帰させる。
【0065】
一方、ステップS214で、検出したアプレット識別符号に対応するアプレットがアプレット管理テーブル440およびアプレット存在管理テーブル460に登録されていると判定したとき(Yes)は、ステップS236に移行して、アプレット管理テーブル440およびアプレット存在管理テーブル460を参照して、特定取得要求に係るアプレットがWWWサーバ100に存在するか否かを判定し、アプレットが存在しないと判定したとき(No)は、ステップS234に移行する。
【0066】
一方、ステップS236で、特定取得要求に係るアプレットがWWWサーバ100に存在すると判定したとき(Yes)は、ステップS222に移行する。
一方、ステップS212で、取得したWebページからアプレット識別符号を検出しないと判定したとき(No)は、ステップS230に移行して、取得したWebページを要求元の端末に送信し、一連の処理を終了して元の処理に復帰させる。
【0067】
一方、ステップS204で、要求元の端末がブラウザ端末300でないと判定したとき(No)は、ステップS238に移行して、取得要求に含まれるIPアドレスおよび通常端末310であることを示す端末識別情報を端末管理テーブル400に登録し、ステップS240に移行して、取得要求に係るWWWサーバ100にアクセスし、ステップS242に移行して、取得要求に係るWebページをそのWWWサーバ100から取得し、ステップS230に移行する。
【0068】
一方、ステップS201で、取得要求に含まれるIPアドレスが端末管理テーブル400に登録されていると判定したとき(Yes)は、ステップS244に移行して、端末管理テーブル400を参照して要求元の端末がブラウザ端末300であるか否かを判定し、要求元の端末がブラウザ端末300であると判定したとき(Yes)は、ステップS206に移行する。
【0069】
一方、ステップS244で、要求元の端末がブラウザ端末300でないと判定したとき(No)は、ステップS240に移行する。
次に、本実施の形態の動作を図9を参照しながら説明する。図9は、ブラウザ端末300の表示画面である。
まず、プライベートネットワーク199に接続する端末がアクセスすることのあるWebページが利用するアプレットが存在するか否かを登録する場合を説明する。
【0070】
プロキシサーバ200では、電源が投入されると、アプレット存在登録処理が実行される。アプレット存在登録処理が実行されると、ステップS100〜S104を経て、アクセス登録テーブル400の先頭レコードからURLが読み出され、読み出されたURLをもとにWWWサーバ100にアクセスされ、そのWWWサーバ100から該当のWebページが取得される。
【0071】
次いで、ステップS106〜S108を経て、取得されたWebページが解析され、そのWebページにアプレット識別符号が含まれていると、取得されたWebページからアプレット識別符号が検出され、検出されたアプレット識別符号に対応する特定取得要求に係るWWWサーバ100にアクセスされる。その結果、特定取得要求に係るアプレットがそのWWWサーバ100に存在する場合は、ステップS114を経て、検出されたアプレット識別符号に対応するアプレットがWWWサーバ100に存在することがアプレット管理テーブル440およびアプレット存在管理テーブル460に登録される。これに対し、特定取得要求に係るアプレットがそのWWWサーバ100に存在しない場合は、ステップS120を経て、検出されたアプレット識別符号に対応するアプレットがWWWサーバ100に存在しないことがアプレット管理テーブル440およびアプレット存在管理テーブル460に登録される。
【0072】
そして、このような処理がアクセス登録テーブル400に登録されているすべてのURLについて行われることにより、プライベートネットワーク199に接続する端末がアクセスすることのあるWebページが利用するアプレットの存在の有無がプロキシサーバ200に登録される。
次に、プロキシサーバ200がデータ取得の仲介を行う場合を説明する。
【0073】
ブラウザ端末300では、ユーザがWebブラウザを操作すると、閲覧の目的となるWebページの取得要求がプロキシサーバ200に送信される。この取得要求は、HTTPパケットとして送信される。
プロキシサーバ200では、取得要求を受信すると、取得要求に含まれるIPアドレスが端末管理テーブル400に登録されていない場合は、ステップS201〜S204を経て、取得要求のHTTPヘッダが解析され、解析結果に基づいて要求元の端末がブラウザ端末300であるか否かが判定される。ここで、要求元の端末がブラウザ端末300であると判定されると、ステップS205〜S208を経て、取得要求に含まれるIPアドレスおよびブラウザ端末300であることを示す端末識別情報が端末管理テーブル400に登録され、取得要求に係るWWWサーバ100にアクセスされ、取得要求に係るWebページがそのWWWサーバ100から取得される。
【0074】
そして、ステップS210,S212を経て、取得されたWebページが解析され、そのWebページにアプレット識別符号が含まれていると、取得されたWebページからアプレット識別符号が検出される。ここで、取得要求がアプレット管理テーブル440に登録されていないと、ステップS216を経て、検出されたアプレット識別符号に対応する特定取得要求に係るWWWサーバ100にアクセスされる。その結果、特定取得要求に係るアプレットがそのWWWサーバ100に存在する場合は、ステップS220,S222を経て、検出されたアプレット識別符号に対応するアプレットがWWWサーバ100に存在することがアプレット管理テーブル440およびアプレット存在管理テーブル460に登録され、要求元のブラウザ端末300についてアプレットの送信回数が加算される。この加算により、アプレットの送信回数が所定値以上となると、ステップS226,S228,S212,S230を経て、全画面更新命令が要求元のブラウザ端末300に送信され、アプレットの送信回数が「0」に設定され、取得されたWebページが要求元のブラウザ端末300に送信される。
【0075】
ブラウザ端末300では、スタティックメモリ管理方式によりアプレットに対してメモリ領域の割当および解放が行われているので、全画面更新命令を受信すると、アプレットに割り当てたメモリ領域がすべて解放される。したがって、複数のフレームにより構成されたWebページを表示していても、アプレットに割り当てられていたメモリ領域が一旦解放されるので、メモリリソースが不足し操作不能な状態に陥る可能性を低減することができる。
【0076】
なお、上記加算の結果により、アプレットの送信回数が所定値以上とならなければ、取得されたWebページが要求元のブラウザ端末300に送信される。この点については、従来のプロキシサーバと同様の動作である。
一方、上記判定の結果、特定取得要求に係るアプレットがそのWWWサーバ100に存在しない場合は、ステップS232,S234を経て、検出されたアプレット識別符号に対応するアプレットがWWWサーバ100に存在しないことがアプレット管理テーブル440およびアプレット存在管理テーブル460に登録され、アプレットが存在しないことを通知するための差換ページが、取得されたWebページに代えて要求元のブラウザ端末300に送信される。
【0077】
ブラウザ端末300では、差換ページを受信すると、図9(a)または同図(b)に示すような差換ページが表示される。例えば、ブラウザ端末300が店舗等に設置して顧客の利用に供するものであれば、顧客は、その表示を見たときに不具合が発生したことが分かるので、従業員を呼ぶ等して適切な対処を行うことができる。したがって、アプレットの実行前に対処することができるので、操作不能な状態に陥る可能性を低減することができる。
【0078】
次に、他のブラウザ端末300において上記と同一のWebページを閲覧する場合、ブラウザ端末300では、ユーザがWebブラウザを操作すると、閲覧の目的となるWebページの取得要求がプロキシサーバ200に送信される。
プロキシサーバ200では、取得要求を受信すると、取得要求のHTTPヘッダが解析され、解析結果に基づいて要求元の端末がブラウザ端末300であるか否かが判定される。ここで、要求元の端末がブラウザ端末300であると判定されると、取得要求に係るWWWサーバ100にアクセスされ、取得要求に係るWebページがそのWWWサーバ100から取得される。
【0079】
そして、取得されたWebページが解析され、そのWebページにアプレット識別符号が含まれていると、取得されたWebページからアプレット識別符号が検出される。ここで、アプレット存在管理テーブル460には、検出されたアプレット識別符号に対応するアプレットが上記処理において登録されているので、ステップS236,S234を経て、アプレット管理テーブル440およびアプレット存在管理テーブル460を参照して特定取得要求に係るアプレットがWWWサーバ100に存在しないと判定され、アプレットが存在しないことを通知するための差換ページが、取得されたWebページに代えて要求元のブラウザ端末300に送信される。
【0080】
なお、HTTPヘッダの解析の結果、要求元の端末が通常端末310であると判定された場合、または取得したWebページにアプレット識別符号が含まれていない場合はいずれも、取得されたWebページがそのまま要求元の端末に送信される。
このようにして、本実施の形態では、プロキシサーバ200は、スタティックメモリ管理方式によりアプレットに対してメモリ領域の割当および解放を行うブラウザ端末300と、複数のWWWサーバ100とに通信可能に接続し、ブラウザ端末300からの取得要求に応じてWWWサーバ100からWebページを取得し、取得したWebページを要求元のブラウザ端末300に送信する一方、取得したWebページに基づいてブラウザ端末300へのアプレットの送信回数を計数し、その計数結果に基づいて要求元のブラウザ端末300に全画面更新命令を送信するようになっている。
【0081】
これにより、アプレットの送信回数に応じてメモリ領域が解放されるので、スタティックメモリ管理方式を採用したブラウザ端末300において、従来に比して、メモリリソースの不足により操作不能な状態に陥る可能性を低減することができる。
さらに、本実施の形態では、プロキシサーバ200は、取得要求に応じてWWWサーバ100からWebページを取得し、取得したWebページに特定取得要求が含まれているときは、そのWebページから特定取得要求を検出し、検出した特定取得要求に係るアプレットがWWWサーバ100に存在するか否かを判定し、取得したWebページについて、そのWebページに含まれる特定取得要求に係るアプレットが存在しないと判定したときは、そのWebページに代えて、アプレットが存在しない旨の差換ページを要求元の端末に送信するようになっている。
【0082】
これにより、特定取得要求に係るアプレットがWWWサーバ100に存在しない場合は、要求元の端末が特定取得要求を送信する前に、アプレットが存在しないことを要求元の端末に通知することができるので、ブラウザ端末300において、従来に比して、操作不能な状態に陥る可能性を低減することができる。また、これを戻るボタンを設けずに実現することができるので、サービス提供の確実性を低下させることもさほどない。
【0083】
さらに、本実施の形態では、プロキシサーバ200は、取得したWebページからアプレット識別符号を検出することによりそのWebページに特定取得要求が含まれていることを検出するようになっている。
これにより、特定取得要求が含まれていることを比較的確実に検出することができる。
【0084】
さらに、本実施の形態では、プロキシサーバ200は、取得したWebページに特定取得要求が含まれていることを検出したときは、その特定取得要求が含まれているWebページを解析し、解析結果に基づいてアプレット管理テーブル440およびアプレット存在管理テーブル460にアプレットが登録されていないと判定した場合に限り、WWWサーバ100にアクセスして特定取得要求に係るアプレットが存在するか否かを判定するようになっている。
【0085】
これにより、存在するか否かを一度も判定したことのないアプレットについてのみ、WWWサーバ100に対してアクセスが行われるので、WWWサーバ100にアクセスする回数を低減することができる。
さらに、本実施の形態では、プロキシサーバ200は、取得要求を受信したときは、受信した取得要求の解析結果に基づいて要求元の端末がブラウザ端末300であるか否かを判定し、ブラウザ端末300であると判定したときは、特定取得要求の検出およびアプレットの存在確認を行うようになっている。
【0086】
これにより、ブラウザ端末300に送信すべきWebページについてのみ、特定取得要求の検出およびアプレットの存在確認が行われるので、処理負荷を低減することができる。
さらに、本実施の形態では、プロキシサーバ200は、ブラウザ端末300からの取得要求を受信する前に、アクセス登録テーブル400のURLをもとにWWWサーバ100にアクセスして該当のアプレットが存在するか否かを判定し、該当のアプレットの存在確認結果を、アプレット管理テーブル440およびアプレット存在管理テーブル460に登録するようになっている。
【0087】
これにより、アプレット管理テーブル440およびアプレット存在管理テーブル460への登録が取得要求の受信前に行われるので、ブラウザ端末300に対する応答速度を向上することができる。
さらに、本実施の形態では、プロキシサーバ200は、取得要求を受信したときは、取得要求のHTTPヘッダを解析し、解析結果に基づいて要求元の端末がブラウザ端末300であるか否かを判定し、判定結果に基づいて端末管理テーブル400への登録を行う一方、取得要求に含まれるIPアドレスが端末管理テーブル400に登録されているときは、端末管理テーブル400を参照して要求元の端末がブラウザ端末300であるか否かを判定するようになっている。
【0088】
これにより、端末管理テーブル400に一旦登録されると、要求元の端末についてHTTPヘッダの解析を行わなくてすむので、プロキシサーバ200の処理負荷を低減するとともに要求元の端末に対する応答速度を向上することができる。
上記実施の形態において、インターネット198およびプライベートネットワーク199は、ネットワークに対応し、WWWサーバ100、ブラウザ端末300および通常端末310は、ネットワークリソースに対応している。また、記憶装置42は、記憶手段に対応し、ステップS206,S208は、サーバ側データ取得手段、またはサーバ側データ取得ステップに対応し、ステップS210,S212は、特定取得要求検出手段に対応している。
【0089】
また、上記実施の形態において、ステップS216,S218は、データ存在判定手段に対応し、ステップS222は、回数計数手段、または回数計数ステップに対応している。また、ステップS226は、更新命令出力手段、更新命令送信手段、更新命令出力ステップ、または更新命令送信ステップに対応し、ステップS230,S234は、データ送信手段、またはデータ送信ステップに対応している。
【0090】
また、上記実施の形態において、差換ページは、通知データに対応し、全画面更新命令は、更新命令に対応し、アプレットは、特定形式データ、または実行型のプログラムデータに対応している。また、アプレット識別符号は、要求識別情報に対応し、URLは、データ識別情報、または取得先アドレスに対応し、IPアドレスは、ネットワークリソース識別情報に対応している。
【0091】
なお、上記実施の形態において、プロキシサーバ200は、ステップS106,S210で、取得したWebページを常に解析するように構成したが、これに限らず、取得したWebページのURLがアプレット管理テーブル440に登録されているか否かを判定し、アプレット管理テーブル440に登録されていると判定したときは、Webページの解析を省略するように構成してもよい。
【0092】
これにより、アプレット管理テーブル440に一旦登録されると、Webページの解析を行わなくてすむので、プロキシサーバ200の処理負荷を低減するとともに要求元の端末に対する応答速度を向上することができる。
また、上記実施の形態においては、図6に示すアプレット存在管理テーブル460をWebページごと複数設けて構成したが、これに限らず、それら複数のアプレット存在管理テーブル460を一つのテーブルとして構成してもよい。これにより、検索の高速化を図ることができる。
【0093】
また、上記実施の形態においては、取得要求に含まれるIPアドレスにより要求元の端末を識別するように構成したが、これに限らず、クッキー(Cookie)によって送受信されるユーザ情報等により要求元の端末を識別するように構成することもできる。
また、上記実施の形態において、図7および図8のフローチャートに示す処理を実行するにあたってはいずれも、ROM32にあらかじめ格納されている制御プログラムを実行する場合について説明したが、これに限らず、これらの手順を示したプログラムが記憶された記憶媒体から、そのプログラムをRAM34に読み込んで実行するようにしてもよい。
【0094】
ここで、記憶媒体とは、RAM、ROM等の半導体記憶媒体、FD、HD等の磁気記憶型記憶媒体、CD、CDV、LD、DVD等の光学的読取方式記憶媒体、MO等の磁気記憶型/光学的読取方式記憶媒体であって、電子的、磁気的、光学的等の読み取り方法のいかんにかかわらず、コンピュータで読み取り可能な記憶媒体であれば、あらゆる記憶媒体を含むものである。
【0095】
また、上記実施の形態においては、本発明に記載のメモリ管理装置、プロキシサーバ、メモリ管理プログラムおよびサーバ用プログラム、並びにメモリ管理方法を、インターネット198からなるネットワークシステムに適用した場合について説明したが、これに限らず、例えば、インターネット198と同一方式により通信を行ういわゆるイントラネットに適用してもよい。もちろん、インターネット198と同一方式により通信を行うネットワークに限らず、通常のネットワークに適用することもできる。
【0096】
また、上記実施の形態においては、本発明に記載のメモリ管理装置、プロキシサーバ、メモリ管理プログラムおよびサーバ用プログラム、並びにメモリ管理方法を、図1に示すように、インターネット198とプライベートネットワーク199との間に設けられたプロキシサーバ200に適用したが、これに限らず、本発明の主旨を逸脱しない範囲で他の場合にも適用可能である。例えば、プロキシサーバ200が実現する処理をブラウザ端末300に組み込むソフトウェアとして構成することもできる。
【図面の簡単な説明】
【図1】本発明を適用するネットワークシステムの構成を示すブロック図である。
【図2】プロキシサーバ200の構成を示すブロック図である。
【図3】アクセス登録テーブル400のデータ構造を示す図である。
【図4】端末管理テーブル420のデータ構造を示す図である。
【図5】アプレット管理テーブル440のデータ構造を示す図である。
【図6】アプレット存在管理テーブル460のデータ構造を示す図である。
【図7】アプレット存在登録処理を示すフローチャートである。
【図8】データ仲介処理を示すフローチャートである。
【図9】ブラウザ端末300の表示画面である。
【符号の説明】
100 WWWサーバ
198 インターネット
300 ブラウザ端末
310 通常端末
199 プライベートネットワーク
200 プロキシサーバ
30 CPU
32 ROM
34 RAM
38 I/F
40 入力装置
42 記憶装置
44 表示装置
400 アクセス登録テーブル
420 端末管理テーブル
440 アプレット管理テーブル
460 アプレット存在管理テーブル

Claims (16)

  1. ネットワークリソースからデータを取得する端末側データ取得手段と、前記端末側データ取得手段で取得したデータのうち特定形式のものにスタティックメモリ管理方式によりメモリ領域を割り当てるメモリ領域割当手段と、更新命令に応じて前記特定形式データに割り当てたメモリ領域を解放するメモリ領域解放手段とを有するブラウザ端末と、前記ブラウザ端末とは異なる他のネットワークリソースとにネットワークを介して通信可能に接続し、前記ブラウザ端末からデータの取得要求を受信したときは、受信した取得要求に係るデータを取得先のネットワークリソースから取得し、取得したデータを前記ブラウザ端末に送信するサーバであって、
    前記取得要求に応じて前記ネットワークリソースからデータを取得するサーバ側データ取得手段と、前記サーバ側データ取得手段で取得したデータを前記ブラウザ端末に送信するデータ送信手段と、前記サーバ側データ取得手段で取得したデータに基づいて前記ブラウザ端末への前記特定形式データの送信回数を計数する回数計数手段と、前記回数計数手段の計数結果に基づいて前記ブラウザ端末に前記更新命令を送信する更新命令送信手段とを備えることを特徴とするプロキシサーバ。
  2. 請求項1において、
    前記特定形式データは、実行型のプログラムデータであることを特徴とするプロキシサーバ。
  3. 請求項1及び2のいずれかにおいて、
    前記更新命令送信手段は、前記回数計数手段で計数した送信回数が所定値以上となったときは、前記ブラウザ端末に前記更新命令を送信するようになっていることを特徴とするプロキシサーバ。
  4. 請求項1乃至3のいずれかにおいて、
    前記サーバ側データ取得手段で取得したデータに前記特定形式データの取得要求である特定取得要求が含まれていることを検出する特定取得要求検出手段を備え、
    前記回数計数手段は、前記特定取得要求検出手段で検出した特定取得要求の個数を計数することにより前記ブラウザ端末への前記特定形式データの送信回数を計数するようになっていることを特徴とするプロキシサーバ。
  5. 請求項4において、
    前記特定取得要求を含むデータには、前記特定取得要求であることを示す要求識別情報を予め付加しておき、
    前記特定取得要求検出手段は、前記サーバ側データ取得手段で取得したデータから前記要求識別情報を検出することにより当該データに前記特定取得要求が含まれていることを検出するようになっていることを特徴とするプロキシサーバ。
  6. 請求項4及び5のいずれかにおいて、
    前記ネットワークリソースを識別するためのネットワークリソース識別情報を含む取得要求を受信したときは、受信した取得要求から前記ネットワークリソース識別情報を取得し、取得したネットワークリソース識別情報により前記ブラウザ端末を識別するようになっていることを特徴とするプロキシサーバ。
  7. 請求項6において、
    前記ネットワークリソース識別情報は、IPアドレスであることを特徴とするプロキシサーバ。
  8. 請求項4乃至7のいずれかにおいて、
    複数の前記ブラウザ端末と通信可能に接続し、
    前記回数計数手段は、前記各ブラウザ端末ごとに、当該ブラウザ端末への前記特定形式データの送信回数を計数するようになっていることを特徴とするプロキシサーバ。
  9. 請求項4乃至8のいずれかにおいて、
    前記回数計数手段は、前記更新命令送信手段で前記更新命令を前記ブラウザ端末に送信したときは、当該ブラウザ端末への前記特定形式データの送信回数を初期化するようになっていることを特徴とするプロキシサーバ。
  10. 請求項4乃至9のいずれかにおいて、
    前記特定取得要求検出手段の検出結果に基づいて前記特定取得要求に係る特定形式データが取得先のネットワークリソースに存在するか否かを判定するデータ存在判定手段を備え、
    前記データ送信手段は、前記サーバ側データ取得手段で取得したデータについて、当該データに含まれる前記特定取得要求に係る特定形式データが存在しないと前記データ存在判定手段で判定したときは、前記特定形式データが存在しない旨の通知を行うようになっていることを特徴とするプロキシサーバ。
  11. 請求項10において、
    前記データ送信手段は、前記サーバ側データ取得手段で取得したデータについて、当該データに含まれる前記特定取得要求に係る特定形式データが存在しないと前記データ存在判定手段で判定したときは、当該データに代えて、前記特定形式データが存在しない旨の通知データを前記ブラウザ端末に送信するようになっていることを特徴とするプロキシサーバ。
  12. 請求項10及び11のいずれかにおいて、
    前記データ存在判定手段は、取得先のネットワークリソースにアクセスして前記特定取得要求に係る特定形式データが存在するか否かを判定したときは、当該特定形式データを識別するためのデータ識別情報及び当該特定形式データの取得先アドレスを対応付けて記憶手段に登録し、
    前記特定取得要求検出手段で前記特定取得要求が含まれていることを検出したときは、当該特定取得要求が含まれているデータから前記データ識別情報及び前記取得先アドレスを取得し、取得したデータ識別情報及び取得先アドレスが前記記憶手段に登録されていないときは、取得先のネットワークリソースにアクセスして前記特定取得要求に係る特定形式データが存在するか否かを判定するようになっていることを特徴とするプロキシサーバ。
  13. 請求項12において、
    前記記憶手段には、前記ブラウザ端末がアクセスすることのある特定形式データごとに前記取得先アドレスを登録したアクセス登録テーブルを記憶させておき、
    前記データ存在判定手段は、前記ブラウザ端末からの取得要求を受信する前に、前記アクセス登録テーブルの取得先アドレスをもとに前記ネットワークリソースにアクセスして該当の特定形式データが存在するか否かを判定し、当該特定形式データを識別するためのデータ識別情報及び当該特定形式データの取得先アドレスを対応付けて前記記憶手段に登録するようになっていることを特徴とするプロキシサーバ。
  14. 請求項10乃至13のいずれかにおいて、
    前記ネットワークリソースを識別するためのネットワークリソース識別情報を含む取得要求を受信したときは、受信した取得要求から前記ネットワークリソース識別情報を取得し、取得したネットワークリソース識別情報により特定されるネットワークリソースが前記ブラウザ端末であると判定したときは、前記特定取得要求検出手段による検出及び前記データ存在判定手段による判定を行うようになっていることを特徴とするプロキシサーバ。
  15. ネットワークリソースからデータを取得する端末側データ取得手段と、前記端末側データ取得手段で取得したデータのうち特定形式のものにスタティックメモリ管理方式によりメモリ領域を割り当てるメモリ領域割当手段と、更新命令に応じて前記特定形式データに割り当てたメモリ領域を解放するメモリ領域解放手段とを有するブラウザ端末と、前記ブラウザ端末とは異なる他のネットワークリソースとにネットワークを介して通信可能に接続し、前記ブラウザ端末からデータの取得要求を受信したときは、受信した取得要求に係るデータを取得先のネットワークリソースから取得し、取得したデータを前記ブラウザ端末に送信するサーバとして用いるコンピュータに、
    前記取得要求に応じて前記ネットワークリソースからデータを取得するサーバ側データ取得手段、前記サーバ側データ取得手段で取得したデータを前記ブラウザ端末に送信するデータ送信手段、前記サーバ側データ取得手段で取得したデータに基づいて前記ブラウザ端末への前記特定形式データの送信回数を計数する回数計数手段、及び前記回数計数手段の計数結果に基づいて前記ブラウザ端末に前記更新命令を送信する更新命令送信手段として実現される処理を実行させるためのプログラムであることを特徴とするサーバ用プログラム。
  16. ネットワークリソースからデータを取得する端末側データ取得手段と、前記端末側データ取得手段で取得したデータのうち特定形式のものにスタティックメモリ管理方式によりメモリ領域を割り当てるメモリ領域割当手段と、更新命令に応じて前記特定形式データに割り当てたメモリ領域を解放するメモリ領域解放手段とを有するブラウザ端末と、前記ブラウザ端末とは異なる他のネットワークリソースとにネットワークを介して通信可能に接続し、前記ブラウザ端末からデータの取得要求を受信したときは、受信した取得要求に係るデータを取得先のネットワークリソースから取得し、取得したデータを前記ブラウザ端末に送信するサーバのメモリ管理方法であって、
    前記取得要求に応じてCPUが前記ネットワークリソースからデータを取得するサーバ側データ取得ステップと、前記CPUが前記サーバ側データ取得ステップで取得したデータを前記ブラウザ端末に送信するデータ送信ステップと、前記サーバ側データ取得ステップで取得したデータに基づいて前記CPUが前記ブラウザ端末への前記特定形式データの送信回数を計数する回数計数ステップと、前記回数計数ステップの計数結果に基づいて前記CPUが前記ブラウザ端末に前記更新命令を送信する更新命令送信ステップとを含むことを特徴とするサーバのメモリ管理方法。
JP2002034713A 2002-02-12 2002-02-12 プロキシサーバ、サーバ用プログラム及びメモリ管理方法 Expired - Fee Related JP3613247B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002034713A JP3613247B2 (ja) 2002-02-12 2002-02-12 プロキシサーバ、サーバ用プログラム及びメモリ管理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002034713A JP3613247B2 (ja) 2002-02-12 2002-02-12 プロキシサーバ、サーバ用プログラム及びメモリ管理方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2004235121A Division JP4093215B2 (ja) 2004-08-12 2004-08-12 メモリ管理システムおよびネットワークシステム

Publications (2)

Publication Number Publication Date
JP2003233531A JP2003233531A (ja) 2003-08-22
JP3613247B2 true JP3613247B2 (ja) 2005-01-26

Family

ID=27777102

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002034713A Expired - Fee Related JP3613247B2 (ja) 2002-02-12 2002-02-12 プロキシサーバ、サーバ用プログラム及びメモリ管理方法

Country Status (1)

Country Link
JP (1) JP3613247B2 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4925436B2 (ja) * 2004-09-29 2012-04-25 株式会社Access メモリ領域管理方法、ブラウザプログラムおよびマークアップ言語文書処理装置
CN113485822A (zh) * 2020-06-19 2021-10-08 中兴通讯股份有限公司 内存管理方法、系统、客户端、服务器及存储介质

Also Published As

Publication number Publication date
JP2003233531A (ja) 2003-08-22

Similar Documents

Publication Publication Date Title
KR100359366B1 (ko) 자각-개시 푸시를 제공하기 위한 방법 및 장치
US9634915B2 (en) Methods and computer program products for generating a model of network application health
US6490617B1 (en) Active self discovery of devices that participate in a network
US7277914B2 (en) Proxy server apparatus and method for providing service using the same
CA2391783C (en) Communication between client and server computers via http, method, computer program product and system
US7290262B2 (en) Method and apparatus for dynamically determining information for deploying a web service
US6167448A (en) Management event notification system using event notification messages written using a markup language
US20140026082A1 (en) Method and system for predictive browsing
EP1895401B1 (en) Communication system and communication apparatus and control method thereof
US7165222B1 (en) Information providing method and information distribution apparatus
US8589537B2 (en) Methods and computer program products for aggregating network application performance metrics by process pool
US20120290718A1 (en) Methods and Computer Program Products for Collecting Storage Resource Performance Data Using File System Hooks
US10637910B1 (en) Method for dynamically generating information objects based on a restful subscription request
CN100550015C (zh) 改进的用户界面
JP2006260343A (ja) リンク切れチェックプログラム
KR20050045797A (ko) 정보단말, 로그관리시스템 및 로그관리방법
US9400547B2 (en) Processing device and method thereof
JP2004192346A (ja) メモリ管理装置、プロキシサーバ、ブラウザ端末、メモリ管理プログラム、サーバ用プログラム、端末用プログラム及び監視プログラム、並びにメモリ管理方法
JP3613247B2 (ja) プロキシサーバ、サーバ用プログラム及びメモリ管理方法
US8326977B2 (en) Recording medium storing system analyzing program, system analyzing apparatus, and system analyzing method
US8489679B2 (en) Method and apparatus for monitoring network traffic and determining the timing associated with an application
JP4093215B2 (ja) メモリ管理システムおよびネットワークシステム
JP4102570B2 (ja) データ取得仲介装置、プロキシサーバ及びデータ取得仲介プログラム、データ取得仲介方法、記憶媒体、並びにデータ取得仲介システム
JP2006107524A (ja) Wwwサーバー、及び、該wwwサーバーと通信回線を介して接続された利用者端末、を有するシステム
JP5441167B2 (ja) ルータ装置、転送制御方法および転送制御プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20040615

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040812

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20041018

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20081105

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091105

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20091105

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101105

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20101105

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111105

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111105

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121105

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121105

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131105

Year of fee payment: 9

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees