JP3561139B2 - ファイルオブジェクト中継方法、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機 - Google Patents

ファイルオブジェクト中継方法、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機 Download PDF

Info

Publication number
JP3561139B2
JP3561139B2 JP01447498A JP1447498A JP3561139B2 JP 3561139 B2 JP3561139 B2 JP 3561139B2 JP 01447498 A JP01447498 A JP 01447498A JP 1447498 A JP1447498 A JP 1447498A JP 3561139 B2 JP3561139 B2 JP 3561139B2
Authority
JP
Japan
Prior art keywords
file object
computer
storage device
prefetch
upstream
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
JP01447498A
Other languages
English (en)
Other versions
JPH11212886A (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.)
Sharp Corp
Original Assignee
Sharp 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 Sharp Corp filed Critical Sharp Corp
Priority to JP01447498A priority Critical patent/JP3561139B2/ja
Priority to US09/237,934 priority patent/US6389422B1/en
Publication of JPH11212886A publication Critical patent/JPH11212886A/ja
Application granted granted Critical
Publication of JP3561139B2 publication Critical patent/JP3561139B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/17Details of further file system functions
    • G06F16/172Caching, prefetching or hoarding of files
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/955Object-oriented
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/953Organization of data
    • Y10S707/959Network
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Description

【0001】
【発明の属する技術分野】
本発明は、ファイルオブジェクト中継方法、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機に関し、特に、ネットワーク相互間で同一のファイルオブジェクトの参照が可能なファイルオブジェクト中継方法、分散ファイルシステム、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機に関する。
【0002】
【従来の技術】
従来、分散ファイルシステムにおいて、サーバ計算機のファイルオブジェクトの複製を記憶装置、すなわちキャッシュに記憶して、クライアント計算機からのアクセス要求に対して記憶装置に記憶されているファイルオブジェクトの複製を中継することにより、アクセスの高速化を図る方法がある。このような方法として、特開平4−313126号公報に開示の『分散ファイルシステムのファイル入出力方式』、特開昭63−200244号公報に開示の『ファイル・アクセス・システム』、特開昭63−201845号公報に開示の『遠隔ファイル・アクセス・システム』などが知られている。このような方法に用いられ上述の動作を行なう計算機を一般にゲートウェイ計算機という。
【0003】
このような分散ファイルシステムの代表的な例として、TCP/IP(Transmission Control Protocol /Internet Protocol )プロトコルを利用したグローバルネットワークであるインターネットがある。インターネット上にHypertext Transfer Protocol (HTTP)を利用して構築されたハイパーテキスト形式のファイルオブジェクトによる分散ファイルシステムは、World Wide Web(WWW )システムと呼ばれている。WWW システムでは、HTTPを利用してファイルオブジェクトの転送を行う際に、ゲートウェイ計算機によるファイルオブジェクトの中継、ファイルオブジェクトの複製の記憶、およびファイルオブジェクトの複製の中継が広く行われている。このようなインターネット上のWWWシステムでファイルオブジェクトの中継を行うゲートウェイ計算機は、一般にProxy (代理)サーバと呼ばれている。Proxy サーバとしては、Proxy ソフトウェアを、ネットワーク接続された計算機上で実行させておくことにより実現することが一般に行なわれている。
【0004】
上述のファイルオブジェクトには、単なるテキストだけでなく、画像、音声、ビデオ画像などさまざまなデータが含まれる。このため、情報提供者および情報利用者( ユーザ) 双方に魅力的であり、ネットワーク上をWWW システムのトラフィックが爆発的に流れるようになってきた。
【0005】
また、ユーザは、グラフィカルユーザインタフェースをもったブラウザソフトをクライアント計算機に搭載して使うだけでネットワーク上に分散したサーバ計算機の保有するファイルオブジェクトで構成された情報を次々とアクセスすることができる。その簡単さのために今日普及している。
【0006】
ファイルオブジェクトの特定はURL (Uniform Resource Locator)によって行われる。例えばURL が”http://www.sharp.co.jp/image/index.html” であればサーバ計算機の名称は”www.sharp.co.jp” であり、そのサーバ計算機のWeb サーバ用ディレクトリにある”image/index.html”というファイルが指定される。
【0007】
図36を参照して、従来の分散ファイルシステムは、サーバ計算機120と、代表ゲートウェイ計算機116と、クライアント計算機102と、グローバルネットワーク132と、ローカルネットワーク112とを含む。グローバルネットワーク132には、サーバ計算機120と、代表ゲートウェイ計算機116とが接続されている。ローカルネットワーク112には、代表ゲートウェイ計算機116と、クライアント計算機102とが接続されている。
【0008】
クライアント計算機102上では、ブラウザ104が動作している。ブラウザ104は、ユーザ100からの指示に従い、代表ゲートウェイ計算機116に対してファイルオブジェクトの取得要求を送信し、ファイルオブジェクトを受信し、ファイルオブジェクトをユーザ100に提示する。
【0009】
代表ゲートウェイ計算機116では、Proxy 370が動作している。Proxy 370は、クライアント計算機104より送信されたファイルオブジェクトの取得要求に従い、サーバ計算機120または後述するキャッシュ374よりファイルオブジェクトを読出し、クライアント計算機104に送信する。代表ゲートウェイ計算機116は、サーバ計算機120より読出したファイルオブジェクトを記憶するためのキャッシュ374と、サーバ計算機120からのファイルオブジェクト376の読出記録(たとえば、読出し日時等)を記憶するためのアクセスログ372とを含む。
【0010】
サーバ計算機120は、ファイルオブジェクトを記憶するための記憶装置376を含む。
【0011】
図37を参照して、代表ゲートウェイ計算機116は、ネットワークインタフェースを持った計算機であり、CPU(Central Processing Unit )380、メモリ382、I/O(Input /Output)部388、ファイル装置390、およびネットワークI/O部384を含み、これらが内部バス386で結合されている。ファイル装置390は、キャッシュファイル374、ログファイル372、およびその他の変数等を記憶する部分に分類される。
【0012】
再度図36を参照して、従来の分散ファイルシステムにおけるファイルオブジェクト取得のための一連の動作について説明する。
【0013】
クライアント計算機102aが、外部ネットワーク上のファイルオブジェクト376をアクセスするために、代表ゲートウェイ計算機116に対してファイルオブジェクトの取得要求を出す。
【0014】
これを代表ゲートウェイ計算機116内で動作しているプロセス(スレッド)であるProxy 370が受け取る。
【0015】
Proxy 370は、キャッシュ374をアクセスし、キャッシュ374中の当該ファイルオブジェクトの有無をチェックする。キャッシュ374にファイルオブジェクトが記憶されていれば、その有効期限とキャッシュ374に記憶されたファイルオブジェクトの変更時刻とを比較する。ファイルオブジェクトが有効期限内であれば、キャッシュ374からファイルオブジェクトを読み出し、ファイルオブジェクトをクライアント計算機102aに送信する。
【0016】
キャッシュ374に有効なファイルオブジェクトがなければ、すなわち所望のファイルオブジェクトが存在しないか、または存在するが有効期限が過ぎている場合には、Proxy 370は、グローバルネットワーク132に接続されたサーバ計算機120に対して、ファイルオブジェクトの取得要求を送信する。
【0017】
取得要求を受け取ったサーバ計算機120は、記憶装置376よりファイルオブジェクトを読出し、Proxy 370にそのファイルオブジェクト376を送信する。ファイルオブジェクトを受信したProxy 370は、クライアント計算機102aにファイルオブジェクトを転送する。また、キャッシュ374にファイルオブジェクト376を書込む。このとき、転送のHTTPヘッダ情報、ファイルオブジェクトの書込み日付、アクセス日時がログファイル372に記憶される。
【0018】
別のクライアント計算機102bが、同じファイルオブジェクトの取得要求を代表ゲートウェイ計算機116に送信した場合、Proxy 370は、ファイルオブジェクトをキャッシュ374より読出し、クライアント計算機102bに送信する。このように、クライアント計算機102aおよび102bがキャッシュ374を共有することで、クライアント計算機102aおよび102bは、取得要求の多いファイルオブジェクトを高速に取出すことができる。
【0019】
クライアント計算機102上で、ブラウザ104と、Proxy 370とを別プロセスとして同時に動作させることも可能である。このようなクライアント計算機102の一例が、特平開7−93205号公報に開示されている。このクライアント計算機102上のブラウザ104は、ファイルオブジェクトの取得要求を自身のクライアント計算機102上で動作しているProxy 370に送信する。この場合、Proxy 370の動作している計算機を特定するためのIPアドレスは、自分自身を意味するIPアドレス127.0.0.1 とする。これにより、ブラウザ104に特別の変更を加えることなくブラウザ104およびProxy 370をクライアント計算機102上で同時に実行することができる。
【0020】
上述のクライアント計算機102は、一般にデスクトップ計算機により実現される。なぜならば、デスクトップ計算機は、最新の高速CPU、大容量メモリ、手にフィットしたキーピッチの広いキーボード、大画面ディスプレイ、および大容量ハードディスクなどを有し、固定式の計算機ならではの仕様の充実もあり、使いやすさに優れているからである。
【0021】
また、インターネット上のWWW システムでは、ユーザ100がサーバ計算機120の特定のファイルオブジェクトを明示的に要求してクライアント計算機102にファイルオブジェクトを転送するアクセス方法以外に、ファイルオブジェクトに含まれるハイパーテキスト情報を解析して、ハイパーリンク先の別ファイルオブジェクトを自動的にクライアント計算機102の記憶装置に記憶するアクセス方法が存在する。このようなアクセスを行うソフトウェアは、一般にAuto Pilotツールなどと呼ばれ、クライアント計算機102上で動作する。Auto Pilotツールは、通常、ユーザ100がサーバ計算機120のファイルオブジェクトに実際にアクセスするのとは別の時間帯に、(一般にはネットワークのトラフィックの少ない時間帯にタイマー予約などによって)自動アクセスを行う。
【0022】
上記アクセス方法とは別に、ユーザ100がサーバ計算機120のファイルオブジェクトに実際にアクセスする際に、並行して、中継したファイルオブジェクトに含まれるハイパーテキスト情報を解析して、ハイパーリンク先の別ファイルオブジェクトを代表ゲートウェイ計算機116またはクライアント計算機102の記憶装置に記憶するアクセス方法も存在する。この方法で利用されるゲートウェイ計算機を開示した技術として、奈良先端科学技術大学院大学の知念賢一による『WWW における情報入手の高速化への提案』(奈良先端科学技術大学院大学情報科学研究科情報システム学修士論文NAIST−MT351067,1995年2月20日)が知られている。また、類似の技術として特開平9−231119号公報に開示の『情報通信システム』が知られている。このような、ユーザアクセスに先立って、ファイルオブジェクトに含まれるハイパーテキスト情報を解析して、ハイパーリンク先の別ファイルオブジェクトに対してアクセスを行う方法は、一般にプリフェッチと呼ばれている。
【0023】
インターネット上のWWW システムなどで利用されるファイルオブジェクトはハイパーテキスト形式で記述されている。ハイパーテキスト形式とは、テキスト中に複数の別ファイルオブジェクトへのアドレス情報が記述されたテキスト形式のことで、別ファイルオブジェクトへのアドレス情報はハイパーリンクと呼ばれる。ユーザはファイルオブジェクトに含まれるハイパーリンクのうちどれか一つを選択し、さらに別ファイルオブジェクトを得るという行動を繰り返す。プリフェッチとは、クライアント計算機104が最初にハイパーテキスト形式のファイルオブジェクトを読み込んだ時点で、それを中継する代表ゲートウェイ計算機116、またはそれを利用するクライアント計算機102で、ファイルオブジェクトに含まれるハイパーリンクを抽出し、ユーザ100が選択するファイルオブジェクトを予測して、予めゲートウェイ計算機116またはクライアント計算機102の記憶装置に記憶しておく技術である。
【0024】
ハイパーテキスト形式のファイルオブジェクトに対するプリフェッチ技術は、マイクロプロセッサの命令処理技術である分岐先予測技術から容易に類推できる。マイクロプロセッサで実行される命令中には、複数の分岐命令がある。分岐命令を実行した後に、その結果に従って分岐先から次に実行する命令をメモリから読み込むと、パイプライン処理が分断される結果、時間がかかる処理となる。そこで分岐命令を読み込んだ時点で分岐先を予測し、予測された分岐先の命令を分岐命令バッファに読み込んでおく動的分岐先予測技術が知られており、その本質はプリフェッチ技術である。マイクロプロセッサの分岐先予測技術では、命令の種類やその分岐命令の過去の履歴を学習するなどさまざまな方法が提案されており、具体的な予測方法の違いがプリフェッチの効率化にかかわっている。
【0025】
ハイパーテキスト形式のファイルオブジェクトに対するプリフェッチ技術においても、どのような方法でプリフェッチの効率化を行うかが重要となっている。
【0026】
【発明が解決しようとする課題】
上述のように、デスクトップ計算機からなるクライアント計算機102に蓄積されたファイルオブジェクトを持ち歩くためには所望のファイルオブジェクトを移動可能な計算機(以下「モバイル計算機」という。)に複製する必要がある。
【0027】
ファイルオブジェクトの複製方法としては、後述するオフラインリーダソフトウェアをモバイル計算機上で実行させて、サーバ計算機上のオブジェクトファイルをモバイル計算機に蓄積する方法がある。または、デスクトップ計算機に蓄積されたファイルオブジェクトをモバイル計算機にコピーする方法がある。しかし、これらの方法は、ユーザの明示的な操作を必要とするため、利便性に欠けるという問題点がある。
【0028】
デスクトップ計算機上のブラウザは、任意の記憶装置をファイルオブジェクトを記憶するためのキャッシュとして利用することができる。このため、持ち運び可能な記憶媒体を有する記憶装置をキャッシュとして用いることにより、ファイルオブジェクトを移動させることが可能である。このような、記憶媒体および装置として、それぞれフロッピーディスクおよびフロッピーディスクドライブがある。しかし、フロッピーディスクドライブは低速であり、かつフロッピーディスクの容量は1MB(Mega Byte )程度と小さいため、平均50KB(Kilo Byte )程度のファイルオブジェクトは、20個程度しか持ち運ぶことができない。このため、大容量のファイルオブジェクトの持運びが困難であるという問題点がある。
【0029】
Flash メモリを利用したPCMCIAタイプのFlash Diskカードをキャッシュとして使用すれば速度面の改善がされる。しかし、Flash メモリは高価であり、また移動時にモバイル計算機へ差し替える作業が発生する。このため、キャッシュの持運びには煩雑な作業を伴うという問題点がある。
【0030】
更に通常のデスクトップ計算機ではPCMCIAのスロットがないため、Flash Diskカードを利用するには拡張PCMCIAユニットを追加する必要がある。
【0031】
ハードディスクのミラーリング技術を利用し、常に同じ内容のハードディスクを2つ作成し、片側だけを持ち運ぶことも可能であるが、デスクトップ計算機のハードディスク容量はそれだけを取出して持ち運ぶ設計にはなっていないため、持ち運びには適していない。
【0032】
仮に、キャッシュを移動できたとしても、もともとキャッシュがあったデスクトップ計算機上で動作するブラウザを利用するには、さらに別のキャッシュがなければならない。このため、別のキャッシュを利用するように、ブラウザの設定を変更しなければならない。しかし、キャッシュが存在しないとブラウザ自体が起動しないため、その設定を修正することは困難である。
【0033】
移動先のネットワークにおいてキャッシュを別のデスクトップ計算機で使用するには上述のようにブラウザの設定変更が必要な上、移動先での作業終了後にブラウザの設定を元に戻す必要がある。これを忘れると、移動先のデスクトップ計算機のブラウザが起動しなくなるという問題がある。また、キャッシュを移動前のデスクトップ計算機に戻すには、もとのブラウザの設定を覚えておかなければ元に戻せないという問題もある。
【0034】
また、キャッシュに記憶されるファイルオブジェクトの形式はブラウザごとに異なるので、移動した先の計算機で同一のブラウザを使わなければならない制約もある。
【0035】
このように、持ち運び用途でないデスクトップ計算機上で移動可能なキャッシュにファイルオブジェクトを記憶し、そのキャッシュを持ち運び、移動先のネットワークでキャッシュに記憶されたファイルオブジェクトを参照する方法は、ブラウザの構成要素の一部を移動させる方法であるため、実用上問題が多い。また、ブラウザ依存性が強いため汎用性に欠ける。
【0036】
サーバ計算機のファイルオブジェクトをあるURL から一定階層まで自動ダウンロードするソフトウェアはオフラインリーダソフトウェアと呼ばれるが、これらの中にはProxy 形式をとるものがある。オフラインリーダソフトウェアは、URL とその階層の深さを指定すれば、自動的にファイルオブジェクトを取得し、キャッシュに記憶する。
【0037】
しかし、小型で表示機能が貧弱なモバイル計算機でこのようなオフラインリーダソフトウェアを動作させても操作性が悪いという問題がある。また、オフラインリーダソフトウェアでは、あるURL から一定階層までのファイルオブジェクトしかダウンロードできない。このため、それ以下の階層のファイルオブジェクトをダウンロードして持ち運ぶためには、再度オフラインリーダソフトでURL または階層数の設定を行なわなければならず、デスクトップ計算機のブラウザを用いて作業を行なっているユーザは、作業を中断しなければならない。また、オフラインリーダソフトウェアは、複数のネットワークを移動して利用することを前提に設計されていない。このため、移動先毎に上流のゲートウェイ計算機を指定し直さなければならず、この作業が手間となる。
【0038】
またオフラインリーダソフトウェアは、他の計算機からもProxy として利用されるため、利用者を個人に限定できないという問題がある。
【0039】
ネットワークによっては、下流のゲートウェイ計算機は、Automatic Proxy Configuration Scriptによって上流のゲートウェイ計算機を指定しなければならない。Automatic Proxy Configuration ScriptとはJavaScript言語によって記述された自動設定スクリプトによる設定ファイルであり、上流のゲートウェイ計算機を選択する方法をルールベースで示すものである。
【0040】
Automatic Proxy Configuration Scriptが記憶されたWWW サーバのアドレスが”http://www.foobar.co.jp/setup.pac” であれば、そこにProxy サーバ選択規則が書かれている。このときのAutomatic Proxy Configuration スクリプトの一例を表1に示す。WWW ブラウザがファイルオブジェクトをアクセスする毎に、FindProxyForURL() 選択関数が実行され、return値に使用するべきProxy サーバが文字列で記載され、ブラウザを制御する。
【0041】
【表1】
Figure 0003561139
【0042】
また、ファイルオブジェクトのURL 名が変数url に、WWW サーバ名が変数hostに、それぞれ渡されている。shExpMatch()関数という文字列パターン比較関数を使用し、URL が”http://www.asahi.com/” などの場合、すなわちホスト名部の最後が”.com”になるものは、ゲートウェイ計算機Proxy.foobar.co.jpのポート番号8080番で処理し、それ以外はゲートウェイ計算機Proxy1.foobar.co.jp のポート番号8080番で処理するように指定している。
【0043】
すなわち、1つのProxy サーバのアドレスおよびポート番号を指定する方法とAutomatic Proxy Configuration スクリプトのURL アドレスを指定する方法との2通りのProxy サーバ指定方法がある。したがって、どちらの方法で指定されても、Proxy は上流のゲートウェイ計算機を正しく認識できなければならない。
【0044】
上述のようにモバイル計算機にてProxy を動作させた場合に、そのアドレスとポート番号がデスクトップ計算機から容易に知ることができなければ、デスクトップ計算機のブラウザからモバイル計算機のProxy を利用するように設定できない。このため、モバイル計算機は、その表示装置に自己のIPアドレスとポート番号とを表示する必要がある。
【0045】
上述のようにデスクトップ計算機のブラウザが利用するProxy をモバイルProxy サーバとした場合、モバイルProxy サーバの動作するモバイル計算機がないと、ブラウザは、ネットワークアクセスをすることができなくなる。このため、モバイル計算機を移動させた場合には、ブラウザのProxy 設定を変更しなければならない。しかし、Proxy 設定を一旦変更すると、モバイル計算機が再度利用可能になった場合に、その設定をもとに戻さなければならない。このような煩雑な操作の回避が課題となる。
【0046】
上流Proxy の情報がAutomatic Proxy Configuration で与えらるネットワークでは、モバイルProxy サーバはJavaScriptのインタプリタを内蔵し、Automatic Proxy Configuration スクリプトを解読できるようにしなければならない。しかし、JavaScriptのインタプリタの実装は、一般にデスクトップ計算機に比べ処理速度の小さいモバイル計算機の負荷を増大させる。このため、インタプリタの実装は避けたい場合がある。
【0047】
また、ブラウザが読出したファイルオブジェクトの情報、すなわちURL が何であったかというヒストリ情報は、デスクトップ計算機のブラウザにのみ記憶され、表示される。よって、このヒストリ情報を移動先で参照することができない。よって、デスクトップ計算機がアクセスしたURL を移動先で参照することが容易ではないという課題がある。
【0048】
また、それぞれのネットワークでしか参照できないファイルオブジェクトもある。例えば、それぞれの会社の内部ネットワーク(イントラネット)でのみ提供されている情報ページ等である。ここで、イントラネットを移動しながら作業する場合を考える。仮に、ヒストリ情報を表示することが可能であったとしても、ヒストリ情報に含まれるファイルオブジェクトがイントラネットのみで提供されているものであれば、そのファイルオブジェクトを取得することができない場合がある。すなわち、モバイル計算機が該当するイントラネットに物理的に接続されていることが必要である。このため、ヒストリ情報に含まれるURL がどのネットワークに属するものかを明示する必要がある。
【0049】
また、Proxy サーバは、CGI 等の動的に生成されるページをキャッシュには記憶しない。なぜならば、ゲートウェイ計算機は一般に複数人で共有されるため、ある個人のために動的に生成されたページが、他人によって閲覧されてしまうとプライバシーの保護が図れないからである。
【0050】
会社等では、イントラネットに接続されたWWW サーバ計算機に電話帳データ、各種帳票類データ、住所録データ、図面データ、地図データ、および表データなどが記憶されている。これらの情報は、ブラウザから閲覧可能なページとして提供される一方、個人毎に異なる属性を加味して生成された動的ページであるため、Proxy は、これらの動的ページをキャッシュに記憶しない。従ってこれらの有益な情報を持ち歩くことができない。
【0051】
従来の分散ファイルシステムにおけるゲートウェイ計算機では、ユーザがサーバ計算機のファイルオブジェクトへアクセス要求を出して初めてファイルオブジェクトの中継が行われる。このため、ユーザがそれまでにアクセスしたことのないサーバ計算機のファイルオブジェクトに対するアクセスには時間がかかるという課題があった。
【0052】
これを解決する方法として以下に示すものがある。ユーザがサーバ計算機のファイルオブジェクトを実際にアクセスするのとは別の時間帯に、サーバ計算機のファイルオブジェクトに含まれるハイパーテキスト情報を解析する。解析結果のハイパーリンク先の別ファイルオブジェクトに対して自動アクセスを行い、予めクライアント計算機の記憶装置に記憶しておく。これにより、ユーザがサーバ計算機のファイルオブジェクトに実際にアクセスした際に、クライアント計算機の記憶装置に記憶してあるファイルオブジェクトの複製を利用することとなり、アクセスの高速化を図ることができる。
【0053】
しかし、この方法では、予めユーザが将来アクセスする可能性のあるサーバ計算機のファイルオブジェクトを予測しておかなければならない。また、ユーザが予測し得ないサーバ計算機のファイルオブジェクト(ニュース速報などから得た最新情報など)へのアクセスの際にはうまく機能しないという課題があった。すなわち、ユーザが実際にアクセスするのとは別の時間帯にサーバ計算機のファイルオブジェクトの複製を記憶装置に記憶するため、ファイルオブジェクトが更新されていた場合に、ユーザが古いファイルオブジェクトの複製を参照してしまうという課題があった。
【0054】
これを解決する方法として上述のプリフェッチがある。しかし、この方法では、ユーザのサーバ計算機のファイルオブジェクトへの実際のアクセスと並行して別ファイルオブジェクトに対するアクセスが行われるため、ファイルオブジェクトの中継を行うゲートウェイ計算機や、(プリフェッチをクライアント計算機が行っている場合には)クライアント計算機の負荷が高くなるという課題があった。また、実際にはユーザがアクセスしない可能性のあるファイルオブジェクトも中継するため、ネットワークのトラフィックが増大するという課題があった。
【0055】
また、あるネットワーク上のクライアント計算機を、移動先の別ネットワーク上でクライアント計算機として利用しようとした場合、あるネットワーク上のゲートウェイ計算機の記憶装置に記憶されたサーバ計算機のファイルオブジェクトの複製を、別ネットワーク上で利用できないという課題があった。
【0056】
また、あるネットワーク上のプリフェッチアクセス機能を備えたモバイル計算機を、移動先の別ネットワーク上でそのまま利用しようとした場合、ネットワークごとに回線の太さの違いによるアクセス速度の差が存在するため、適切なプリフェッチアクセスを行えないという課題があった。
【0057】
また、クライアント計算機、およびクライアント計算機とサーバ計算機との間に存在するゲートウェイ計算機の中で、プリフェッチアクセス要求を行う機能を備えた計算機が複数存在する場合、それぞれの計算機で独立してプリフェッチアクセス要求を行ってしまい、同じファイルオブジェクトに対する二重プリフェッチアクセスや、同じファイルオブジェクトの複製をそれぞれの計算機上で保持してしまうなど、無駄が生じるという課題があった。
【0058】
さらに、ユーザアクセス要求が、記憶装置に記憶されているファイルオブジェクトの複製の利用を禁止している場合や、記憶装置に記憶されているファイルオブジェクトの複製が最新の場合のみ利用するよう指示している場合においても、プリフェッチアクセス要求にはそれが反映されないため、プリフェッチアクセス要求で最新のサーバ計算機のファイルオブジェクトが得られないという課題があった。
【0059】
本発明は、上述の課題を解決するためになされたものであり、請求項1に記載の発明の目的は、ネットワークに依存する各種パラメータ設定の変更を簡便に行なうことができ、あるネットワーク接続時に参照したファイルオブジェクトを、他のネットワーク接続時においても簡単に参照可能なゲートウェイ計算機で用いられるファイルオブジェクト中継方法を提供することである。
【0060】
請求項2に記載の発明の目的は、請求項1に記載の発明の目的に加えて、クライアント計算機のネットワーク設定を簡単に行なうことのできるファイルオブジェクト中継方法を提供することである。
【0061】
請求項3〜4のいずれかに記載の発明の目的は、請求項1に記載の発明の目的に加えて、ゲートウェイ計算機に蓄積されたファイルオブジェクトの機密性を保つことのできるファイルオブジェクト中継方法を提供することである。
【0062】
請求項5〜6のいずれかに記載の発明の目的は、請求項1に記載の発明の目的に加えて、ゲートウェイ計算機があるネットワーク接続時に中継したファイルオブジェクトのアドレスを、他のネットワーク接続時に参照可能なファイルオブジェクト中継方法を提供することである。
【0063】
請求項7に記載の発明の目的は、請求項5に記載の発明の目的に加えて、ゲートウェイ計算機が中継したファイルオブジェクトのアドレス情報の機密性を保つことができるファイルオブジェクト中継方法を提供することである。
【0064】
請求項8に記載の発明の目的は、請求項1に記載の発明の目的に加えて、ゲートウェイ計算機が中継したファイルオブジェクトに含まれるハイパーリンクに基づいて先読みしたファイルオブジェクトを、他のネットワーク接続時においても簡単に参照することができるファイルオブジェクト中継方法を提供することである。
【0065】
請求項9に記載の発明の目的は、請求項8に記載の発明の目的に加えて、ゲートウェイ計算機にかかる負荷を防止し、必要以上にネットワークのトラフィックが増大するのを防止するファイルオブジェクト中継方法を提供することである。
【0066】
請求項10〜16のいずれかに記載の発明の目的は、請求項8に記載の発明の目的に加えて、ネットワーク毎に適切なプリフェッチを行なうことができるファイルオブジェクト中継方法を提供することである。
【0067】
請求項17に記載の発明の目的は、請求項8に記載の発明の目的に加えて、ユーザアクセスに対する応答性が良く、ネットワークの利用状況を容易に把握することができるファイルオブジェクト中継方法を提供することである。
【0068】
請求項18に記載の発明の目的は、請求項1に記載の発明の目的に加えて、ゲートウェイ計算機がファイルオブジェクトの中継を行なわない場合においても、プリフェッチを行なうことができるファイルオブジェクトの中継方法を提供することである。
【0069】
請求項19に記載の発明の目的は、請求項1に記載の発明の目的に加えて、ユーザが最新のファイルオブジェクトを取得可能なファイルオブジェクト中継方法を提供することである。
【0070】
請求項20に記載の発明の目的は、請求項1〜19のいずれかに記載の発明の目的に加えて、ユーザが移動先においても動的なファイルオブジェクトを参照することができるファイルオブジェクト中継方法を提供することである。
【0074】
この発明の他の目的は、ネットワークに依存する各種パラメータ設定の変更を簡便に行なうことができ、あるネットワーク接続時に参照したファイルオブジェクトを、他のネットワーク接続時においても簡単に参照可能なゲートウェイ計算機で用いられるファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体を提供することである。
【0075】
この発明の他の目的は、クライアント計算機のネットワーク設定を簡単に行なうことのできるファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体を提供することである。
【0076】
この発明の他の目的は、ゲートウェイ計算機に蓄積されたファイルオブジェクトの機密性を保つことのできるファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体を提供することである。
【0077】
この発明の他の目的は、ゲートウェイ計算機があるネットワーク接続時に中継したファイルオブジェクトのアドレスを、他のネットワーク接続時に参照可能なファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体を提供することである。
【0078】
この発明の他の目的は、ゲートウェイ計算機が中継したファイルオブジェクトのアドレス情報の機密性を保つことができるファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体を提供することである。
【0079】
この発明の他の目的は、ゲートウェイ計算機が中継したファイルオブジェクトに含まれるハイパーリンクに基づいて先読みしたファイルオブジェクトを、他のネットワーク接続時においても簡単に参照することができるファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体を提供することである。
【0080】
この発明の他の目的は、ゲートウェイ計算機にかかる負荷を防止し、必要以上にネットワークのトラフィックが増大するのを防止するファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体を提供することである。
【0081】
この発明の他の目的は、ネットワーク毎に適切なプリフェッチを行なうことができるファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体を提供することである。
【0082】
この発明の他の目的は、ユーザアクセスに対する応答性が良く、ネットワークの利用状況を容易に把握することができるファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体を提供することである。
【0083】
この発明の他の目的は、ゲートウェイ計算機がファイルオブジェクトの中継を行なわない場合においても、プリフェッチを行なうことができるファイルオブジェクトの中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体を提供することである。
【0084】
この発明の他の目的は、ユーザが最新のファイルオブジェクトを取得可能なファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体を提供することである。
【0085】
この発明の他の目的は、ユーザが移動先においても動的なファイルオブジェクトを参照することができるファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体を提供することである。
【0086】
この発明の他の目的は、ネットワークに依存する各種パラメータ設定の変更を簡便に行なうことができ、あるネットワーク接続時に参照したファイルオブジェクトを、他のネットワーク接続時においても簡単に参照可能なゲートウェイ計算機を提供することである。
【0087】
この発明の他の目的は、クライアント計算機のネットワーク設定を簡単に行なうことのできるゲートウェイ計算機を提供することである。
【0088】
この発明の他の目的は、ゲートウェイ計算機に蓄積されたファイルオブジェクトの機密性を保つことのできるゲートウェイ計算機を提供することである。
【0089】
この発明の他の目的は、ゲートウェイ計算機があるネットワーク接続時に中継したファイルオブジェクトのアドレスを、他のネットワーク接続時に参照可能なゲートウェイ計算機を提供することである。
【0090】
この発明の他の目的は、ゲートウェイ計算機が中継したファイルオブジェクトのアドレス情報の機密性を保つことができるゲートウェイ計算機を提供することである。
【0091】
この発明の他の目的は、ゲートウェイ計算機が中継したファイルオブジェクトに含まれるハイパーリンクに基づいて先読みしたファイルオブジェクトを、他のネットワーク接続時においても簡単に参照することができるゲートウェイ計算機を提供することである。
【0092】
この発明の他の目的は、ゲートウェイ計算機にかかる負荷を防止し、必要以上にネットワークのトラフィックが増大するのを防止するゲートウェイ計算機を提供することである。
【0093】
この発明の他の目的は、ネットワーク毎に適切なプリフェッチを行なうことができるゲートウェイ計算機を提供することである。
【0094】
この発明の他の目的は、ユーザアクセスに対する応答性が良く、ネットワークの利用状況を容易に把握することができるゲートウェイ計算機を提供することである。
【0095】
この発明の他の目的は、ファイルオブジェクトの中継を行なわない場合においても、プリフェッチを行なうことができるゲートウェイ計算機を提供することである。
【0096】
この発明の他の目的は、ユーザが最新のファイルオブジェクトを取得可能なゲートウェイ計算機を提供することである。
【0097】
この発明の他の目的は、ユーザが移動先においても動的なファイルオブジェクトを参照することができるゲートウェイ計算機を提供することができる。
【0098】
【課題を解決するための手段】
請求項1に記載の発明は、複数のネットワークにそれぞれ対応づけられた複数の制御構造体のいずれかに従い、ファイルオブジェクトの中継を行なうゲートウェイ計算機で用いられるファイルオブジェクト中継方法であって、ゲートウェイ計算機は、ファイルオブジェクトを記憶するための記憶装置を有し、複数の制御構造体の各々は、クライアント計算機の接続先である代表ゲートウェイ計算機のアドレスを有し、イベントを受理するステップと、イベントが上記制御構造体の切換要求である場合には、切換要求された上記制御構造体に従い、各種パラメータの切換を行なうステップと、イベントが、クライアント計算機より送信されたファイルオブジェクトの取得要求である場合には、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出しクライアント計算機に中継する中継ステップと、中継を行なったファイルオブジェクトを記憶装置に記憶するステップとを含む。
【0099】
請求項1に記載の発明によると、ゲートウェイ計算機は、ネットワーク毎に制御構造体を有し、切換要求された制御構造体に基づき、各種パラメータの切換を行なう。このため、移動可能な計算機でゲートウェイ計算機が構成されている場合でも、ユーザは簡便に各種パラメータの設定を変更することができる。ひいては、自己の記憶装置に蓄積されたファイルオブジェクトを、移動先においても簡単に参照することができる。
【0100】
請求項2に記載の発明は、請求項1に記載の発明の構成に加えて、ゲートウェイ計算機のネットワークアドレス情報を表示するステップをさらに含む。
【0101】
請求項2に記載の発明によると、請求項1に記載の発明の作用、効果に加えて、ゲートウェイ計算機は、ネットワークアドレス情報を表示する。このため、ネットワークアドレス情報を見たユーザは、クライアント計算機の接続先である、ゲートウェイ計算機のネットワーク情報を簡便に知ることができ、クライアント計算機でのネットワーク設定を簡単に行なうことができる。
【0102】
請求項3に記載の発明は、請求項1に記載の発明の構成に加えて、複数の制御構造体の各々は、許可アドレスパターンをさらに有し、上記中継ステップは、イベントがファイルオブジェクトの取得要求である場合に、取得要求を送信したクライアント計算機のアドレスが、許可アドレスパターンに一致するか否かを判断するステップと、許可アドレスパターンに一致する場合、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出しクライアント計算機に中継するステップとを含む。
【0103】
請求項3に記載の発明によると、請求項1に記載の発明の作用、効果に加えて、ゲートウェイ計算機は、接続するネットワーク毎に定められた許可アドレスパターンに一致するクライアント計算機からのファイルオブジェクトの取得要求のみに従い、ファイルオブジェクトの中継を行なう。このため、異なるネットワークが同一のアドレス体系を有していても、ネットワーク毎にファイルオブジェクトの取得要求可能なクライアント計算機を指定することができ、ゲートウェイ計算機に蓄積されたファイルオブジェクトの機密性を保つことができる。
【0104】
請求項4に記載の発明は、請求項1に記載の発明の構成に加えて、複数の制御構造体の各々は、許可ユーザ名およびパスワードをさらに有し、上記中継ステップは、ファイルオブジェクトの取得要求を送信したクライアント計算機を利用するユーザに、ユーザ名およびパスワードの入力を促すステップと、クライアント計算機より送信されたユーザ名およびパスワードを受信するステップと、クライアント計算機より受信したユーザ名およびパスワードと、制御構造体に記憶されたユーザ名およびパスワードとを比較し、一致した場合に、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出しクライアント計算機に中継するステップとを含む。
【0105】
請求項4に記載の発明によると、請求項1に記載の発明の作用、効果に加えて、ゲートウェイ計算機は、特定のユーザからのファイルオブジェクトの取得要求のみに従い、ファイルオブジェクトの中継を行なう。このため、ゲートウェイ計算機に蓄積されたファイルオブジェクトの機密性を保つことができる。
【0106】
請求項5に記載の発明は、請求項1に記載の発明の構成に加えて、イベントがヒストリの表示要求である場合には、上記中継ステップで中継を行なったファイルオブジェクトのアドレスを表示するヒストリ表示ステップをさらに含む。
【0107】
請求項5に記載の発明によると、請求項1に記載の発明の作用、効果に加えて、ゲートウェイ計算機は、中継を行なったファイルオブジェクトのアドレスをヒストリの表示要求に従い表示する。このため、ゲートウェイ計算機があるネットワーク接続時に中継を行なったファイルオブジェクトのアドレスを、他のネットワーク接続時に参照することができる。
【0108】
請求項6に記載の発明は、請求項5に記載の発明の構成に加えて、上記ヒストリ表示ステップは、イベントがヒストリの表示要求である場合には、中継ステップで中継を行なったファイルオブジェクトのアドレスと、中継を行なった際に、ゲートウェイ計算機が接続されていたネットワークを特定する情報とを表示するステップを含む。
【0109】
請求項7に記載の発明は、請求項5に記載の発明の構成に加えて、複数の制御構造体の各々は、許可ユーザ名およびパスワードをさらに有し、上記ヒストリ表示ステップは、ヒストリの表示要求を送信したクライアント計算機を利用するユーザに、ユーザ名およびパスワードの入力を促すステップと、クライアント計算機より送信されたユーザ名およびパスワードを受信するステップと、クライアント計算機より受信したユーザ名およびパスワードと、制御構造体に記憶されたユーザ名およびパスワードとを比較し、一致した場合に、上記中継ステップで中継を行なったファイルオブジェクトのアドレスを表示するステップとを含む。
【0110】
請求項7に記載の発明によると、請求項5に記載の発明の作用、効果に加えて、特定のユーザからのヒストリの表示要求のみに従い、中継を行なったファイルオブジェクトのアドレスを表示する。このため、ファイルオブジェクトのアドレス情報の機密性を保つことができる。
【0111】
請求項8に記載の発明は、請求項1に記載の発明の構成に加えて、上記中継ステップは、イベントがファイルオブジェクトの取得要求である場合には、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出しクライアント計算機に中継するユーザアクセス要求中継ステップと、中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、さらに上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するプリフェッチステップとを含む
請求項8に記載の発明によると、請求項1に記載の発明の作用、効果に加えて、ゲートウェイ計算機が中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、ファイルオブジェクトの先読みを行なうことができる。このため、先読みしたファイルオブジェクトを、他のネットワーク接続時においても簡単に参照することができる。
【0112】
請求項9に記載の発明は、請求項8に記載の発明の構成に加えて、複数の制御構造体の各々は、プリフェッチアクセス待機時間をさらに有し、上記プリフェッチステップは、クライアント計算機から受信したファイルオブジェクトの取得要求の時間間隔に基づき、プリフェッチアクセス待機時間を決定するステップと、上流計算機および記憶装置のいずれか一方より読出され、クライアント計算機に中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、プリフェッチアクセス待機時間経過後、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するステップとを含む。
【0113】
請求項9に記載の発明によると、請求項8に記載の発明の作用、効果に加えて、ゲートウェイ計算機は、ファイルオブジェクトの取得要求に従いファイルオブジェクトを中継した後、一定時間経過後にプリフェッチを開始する。このため、ファイルオブジェクトの取得要求に従ったファイルオブジェクトの中継と、プリフェッチとの処理開始時間をずらすことができ、ゲートウェイ計算機にかかる負荷の増大を防止することができる。また、ユーザがアクセスしないであろうと思われるファイルオブジェクトを中継することが少なくなり、必要以上にネットワークのトラフィックが増大するのを防止する。
【0114】
請求項10に記載の発明は、請求項8に記載の発明の構成に加えて、複数の制御構造体の各々は、プリフェッチアクセス許可フラグをさらに有し、上記プリフェッチステップは、プリフェッチアクセス許可フラグが真の場合にのみ、上流計算機および記憶装置のいずれか一方より読出され、中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0115】
請求項10に記載の発明によると、請求項8に記載の発明の作用、効果に加えて、ゲートウェイ計算機がグローバルネットワークに直接接続されている場合や、ゲートウェイ計算機が接続されるローカルネットワークと、そのローカルネットワークの接続先であるグローバルネットワークとの間の通信速度が大きい場合にはプリフェッチを行なうようにすることができる。また、ゲートウェイ計算機が接続されるローカルネットワークと、そのネットワークの接続先であるグローバルネットワークとの通信速度が小さい場合や、ローカルネットワークがグローバルネットワークに接続されていない場合にはプリフェッチを行なわないようにすることができる。このように、ゲートウェイ計算機が接続されるネットワーク毎にプリフェッチを行なうか否かを設定することができ、適切なプリフェッチを行なうことができる。
【0116】
請求項11に記載の発明は、請求項8に記載の発明の構成に加えて、複数の制御構造体の各々は、同時プリフェッチアクセス要求数をさらに有し、上記プリフェッチステップは、上流計算機および記憶装置のいずれか一方より読出され、中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、同時プリフェッチアクセス要求数の範囲内で、同時に、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0117】
請求項11に記載の発明によると、請求項8に記載の発明の作用、効果に加えて、ゲートウェイ計算機は、高速アクセスネットワークに接続されている場合には同時にプリフェッチ要求できる数を大きくし、低速アクセスネットワークに接続されている場合には同時にプリフェッチ要求できる数を小さくするなど、ネットワーク毎に同時にプリフェッチ要求できる数を設定することができる。このため、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0118】
請求項12に記載の発明は、請求項8に記載の発明の構成に加えて、複数の制御構造体の各々は、最大プリフェッチアクセス階層数をさらに有し、上記プリフェッチステップは、上流計算機および記憶装置のいずれか一方より読出され、中継されたファイルオブジェクトより最大プリフェッチアクセス階層数の範囲内にあるハイパーリンクを抽出し、当該ハイパーリンクに基づき、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0119】
請求項12に記載の発明によると、請求項8に記載の発明の作用、効果に加えて、ゲートウェイ計算機が接続されるネットワークのアクセス速度に応じて最大プリフェッチアクセス階層数の値を定めることにより、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0120】
請求項13に記載の発明は、請求項8に記載の発明の構成に加えて、複数の制御構造体の各々は、1つのファイルオブジェクトに含まれるハイパーリンクに基づき、ファイルオブジェクトの処理を行なう際の中継数の最大値を規定するプリフェッチアクセス総数をさらに有し、上記プリフェッチステップは、上流計算機および記憶装置のいずれか一方より読出され、中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、プリフェッチアクセス総数の範囲内で、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0121】
請求項13に記載の発明によると、請求項8に記載の発明の作用、効果に加えて、ゲートウェイ計算機が接続されるネットワークのアクセス速度に応じてプリフェッチアクセス総数の値を定めることにより、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0122】
請求項14に記載の発明は、請求項8に記載の発明の構成に加えて、複数の制御構造体の各々は、ファイルオブジェクトサイズ制限をさらに有し、上記プリフェッチステップは、上流計算機および記憶装置のいずれか一方より読出され、中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトサイズ制限以下のファイルサイズを有するファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0123】
請求項14に記載の発明によると、請求項8に記載の発明の作用、効果に加えて、ゲートウェイ計算機は、高速アクセスネットワークに接続されている場合にはファイルオブジェクトサイズ制限を大きく設定し、イメージファイルなどのサイズの大きいファイルオブジェクトに対してもプリフェッチをおこない、低速ネットワークに接続されている場合にはファイルオブジェクトサイズ制限を小さく設定し、テキストファイルなどのサイズの小さいファイルオブジェクトのみプリフェッチを行なうようにすることができる。このため、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0124】
請求項15に記載の発明は、請求項8に記載の発明の構成に加えて、複数の制御構造体の各々は、ファイルオブジェクトタイプ制限をさらに有し、上記プリフェッチステップは、上流計算機および記憶装置のいずれか一方より読出され、中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトタイプに該当しないファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0125】
請求項15に記載の発明によると、請求項8に記載の発明の作用、効果に加えて、ゲートウェイ計算機は、低速アクセスネットワークに接続されている場合にはイメージファイルなどサイズの大きいファイルオブジェクトのプリフェッチは行なわないようにファイルオブジェクトタイプ制限を設定することができる。このため、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0126】
請求項16に記載の発明は、請求項8に記載の発明の構成に加えて、複数の制御構造体の各々は、プリフェッチアクセス禁止上流計算機をさらに有し、上記プリフェッチステップは、上流計算機および記憶装置のいずれか一方より読出され、中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、プリフェッチアクセス禁止上流計算機以外の上流計算機およびゲートウェイ計算機よりファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0127】
請求項16に記載の発明によると、請求項8に記載の発明の作用、効果に加えて、ゲートウェイ計算機が低速アクセスネットワークに接続されている場合には、別ネットワークに接続されたクライアント計算機からのアクセスが集中して応答性が悪い上流計算機に対するプリフェッチを禁止し、応答性が良い別サーバ計算機のプリフェッチの妨げにならないようにする。このため、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0128】
請求項17に記載の発明は、請求項8に記載の発明の構成に加えて、上記上流計算機は、第1および第2の上流計算機を含み、ユーザアクセス要求中継ステップは、イベントがファイルオブジェクトの取得要求である場合には、第1の上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出しクライアント計算機に中継するステップを含み、上記プリフェッチステップは、中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、さらに第2の上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0129】
請求項17に記載の発明によると、請求項8に記載の発明の作用、効果に加えて、ゲートウェイ計算機は、第1の上流計算機に対してユーザからのファイルオブジェクト取得要求を行ない、ファイルオブジェクトの中継を行ない、第2の上流計算機に対してプリフェッチ要求を行ない、ファイルオブジェクトを記憶装置に記憶する。このため、ユーザアクセスに対する応答性をよくすることができる。また、プリフェッチ要求およびユーザからのファイルオブジェクト取得要求のそれぞれの履歴を記憶することにより、ネットワークの利用状況を容易に把握することができる。
【0130】
請求項18に記載の発明は、請求項1に記載の発明の構成に加えて、イベントがクライアント計算機に記憶されているファイルオブジェクトを利用することを指示する応答である場合には、応答が指定するクライアント計算機に記憶されているファイルオブジェクトと同じファイルオブジェクトを記憶装置より読出すステップと、読出されたファイルオブジェクトに含まれるハイパーリンクに基づき、さらに上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するステップとをさらに含む。
【0131】
請求項18に記載の発明によると、請求項1に記載の発明の作用、効果に加えて、ゲートウェイ計算機は、クライアント計算機からファイルオブジェクトの取得要求がない場合においても、プリフェッチを行ない、ファイルオブジェクトを記憶装置に記憶する。このため、ファイルオブジェクトが既にクライアント計算機に記憶されており、ゲートウェイ計算機がファイルオブジェクトの中継を行なわない場合においても、プリフェッチを行なうことができる。
【0132】
請求項19に記載の発明は、請求項1に記載の発明の構成に加えて、上記中継ステップは、イベントが最新のファイルオブジェクトの取得要求である場合には、上流計算機および記憶装置のいずれか一方より最新のファイルオブジェクトを読出しクライアント計算機に中継するステップと、中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、さらに上流計算機および記憶装置のいずれか一方より最新のファイルオブジェクトを読出し記憶装置に記憶するステップとを含む。
【0133】
請求項19に記載の発明によると、請求項1に記載の発明の作用、効果に加えて、ゲートウェイ計算機は、最新のファイルオブジェクトの中継を行なう。このため、ユーザは最新のファイルオブジェクトを取得できる。
【0134】
請求項20に記載の発明は、請求項1〜19のいずれかに記載の発明の構成に加えて、ファイルオブジェクトは、動的なファイルオブジェクトである。
【0135】
請求項20に記載の発明によると、請求項1〜19に記載の発明の作用、効果に加えて、動的なファイルオブジェクトを記憶装置に記憶することができる。このため、ユーザは移動先においても動的なファイルオブジェクトを参照することができる。
【0144】
この発明の他の局面に従う記録媒体は、複数のネットワークにそれぞれ対応づけられた複数の制御構造体のいずれかに従い、ファイルオブジェクトの中継を行なうゲートウェイ計算機で用いられるファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体であって、ゲートウェイ計算機は、ファイルオブジェクトを記憶するための記憶装置を有し、複数の制御構造体の各々は、クライアント計算機の接続先である代表ゲートウェイ計算機のアドレスを有し、ファイルオブジェクト中継方法は、イベントを受理するステップと、イベントが制御構造体の切換要求である場合には、切換要求された制御構造体に従い、各種パラメータの切換を行なうステップと、イベントが、クライアント計算機より送信されたファイルオブジェクトの取得要求である場合には、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出しクライアント計算機に中継する中継ステップと、中継を行なったファイルオブジェクトを記憶装置に記憶するステップとを含む。
【0145】
上記の発明によると、ゲートウェイ計算機は、ネットワーク毎に制御構造体を有し、切換要求された制御構造体に基づき、各種パラメータの切換を行なう。このため、移動可能な計算機でゲートウェイ計算機が構成されている場合でも、ユーザは簡便に各種パラメータの設定を変更することができる。ひいては、自己の記憶装置に蓄積されたファイルオブジェクトを、移動先においても簡単に参照することができる。
【0146】
好ましくは、ファイルオブジェクト中継方法は、ゲートウェイ計算機のネットワークアドレス情報を表示するステップをさらに含む。
【0147】
上記の発明によると、ゲートウェイ計算機は、ネットワークアドレス情報を表示する。このため、ネットワークアドレス情報を見たユーザは、クライアント計算機の接続先である、ゲートウェイ計算機のネットワーク情報を簡便に知ることができ、クライアント計算機でのネットワーク設定を簡単に行なうことができる。
【0148】
好ましくは、複数の制御構造体の各々は、許可アドレスパターンをさらに有し、上記中継ステップは、イベントがファイルオブジェクトの取得要求である場合に、取得要求を送信したクライアント計算機のアドレスが、許可アドレスパターンに一致するか否かを判断するステップと、許可アドレスパターンに一致する場合、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出しクライアント計算機に中継するステップとを含む。
【0149】
上記の発明によると、ゲートウェイ計算機は、接続するネットワーク毎に定められた許可アドレスパターンに一致するクライアント計算機からのファイルオブジェクトの取得要求のみに従い、ファイルオブジェクトの中継を行なう。このため、異なるネットワークが同一のアドレス体系を有していても、ネットワーク毎にファイルオブジェクトの取得要求可能なクライアント計算機を指定することができ、ゲートウェイ計算機に蓄積されたファイルオブジェクトの機密性を保つことができる。
【0150】
好ましくは、複数の制御構造体の各々は、許可ユーザ名およびパスワードをさらに有し、上記中継ステップは、ファイルオブジェクトの取得要求を送信したクライアント計算機を利用するユーザに、ユーザ名およびパスワードの入力を促すステップと、クライアント計算機より送信されたユーザ名およびパスワードを受信するステップと、クライアント計算機より受信したユーザ名およびパスワードと、制御構造体に記憶されたユーザ名およびパスワードとを比較し、一致した場合に、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出しクライアント計算機に中継するステップとを含む。
【0151】
上記の発明によると、ゲートウェイ計算機は、特定のユーザからのファイルオブジェクトの取得要求のみに従い、ファイルオブジェクトの中継を行なう。このため、ゲートウェイ計算機に蓄積されたファイルオブジェクトの機密性を保つことができる。
【0152】
好ましくは、ファイルオブジェクト中継方法は、イベントがヒストリの表示要求である場合には、上記中継ステップで中継を行なったファイルオブジェクトのアドレスを表示するヒストリ表示ステップをさらに含む。
【0153】
上記の発明によると、ゲートウェイ計算機は、中継を行なったファイルオブジェクトのアドレスをヒストリの表示要求に従い表示する。このため、ゲートウェイ計算機があるネットワーク接続時に中継を行なったファイルオブジェクトのアドレスを、他のネットワーク接続時に参照することができる。
【0154】
好ましくは、上記ヒストリ表示ステップは、イベントがヒストリの表示要求である場合には、上記中継ステップで中継を行なったファイルオブジェクトのアドレスと、中継を行なった際に、ゲートウェイ計算機が接続されていたネットワークを特定する情報とを表示するステップを含む。
【0155】
好ましくは、複数の制御構造体の各々は、許可ユーザ名およびパスワードをさらに有し、上記ヒストリ表示ステップは、ヒストリの表示要求を送信したクライアント計算機を利用するユーザに、ユーザ名およびパスワードの入力を促すステップと、クライアント計算機より送信されたユーザ名およびパスワードを受信するステップと、クライアント計算機より受信したユーザ名およびパスワードと、制御構造体に記憶されたユーザ名およびパスワードとを比較し、一致した場合に、上記中継ステップで中継を行なったファイルオブジェクトのアドレスを表示するステップとを含む。
【0156】
上記の発明によると、特定のユーザからのヒストリの表示要求のみに従い、中継を行なったファイルオブジェクトのアドレスを表示する。このため、ファイルオブジェクトのアドレス情報の機密性を保つことができる。
【0157】
好ましくは、上記中継ステップは、イベントがファイルオブジェクトの取得要求である場合には、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出しクライアント計算機に中継するユーザアクセス要求中継ステップと、中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、さらに上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するプリフェッチステップとを含む。
【0158】
上記の発明によると、ゲートウェイ計算機が中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、ファイルオブジェクトの先読みを行なうことができる。このため、先読みしたファイルオブジェクトを、他のネットワーク接続時においても簡単に参照することができる。
【0159】
好ましくは、複数の制御構造体の各々は、プリフェッチアクセス待機時間をさらに有し、上記プリフェッチステップは、クライアント計算機から受信したファイルオブジェクトの取得要求の時間間隔に基づき、プリフェッチアクセス待機時間を決定するステップと、上流計算機および記憶装置のいずれか一方より読出され、クライアント計算機に中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、プリフェッチアクセス待機時間経過後、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するステップとを含む。
【0160】
上記の発明によると、ゲートウェイ計算機は、ファイルオブジェクトの取得要求に従いファイルオブジェクトを中継した後、一定時間経過後にプリフェッチを開始する。このため、ファイルオブジェクトの取得要求に従ったファイルオブジェクトの中継と、プリフェッチとの処理開始時間をずらすことができ、ゲートウェイ計算機にかかる負荷の増大を防止することができる。また、ユーザがアクセスしないであろうと思われるファイルオブジェクトを中継することが少なくなり、必要以上にネットワークのトラフィックが増大するのを防止する。
【0161】
好ましくは、複数の制御構造体の各々は、プリフェッチアクセス許可フラグをさらに有し、上記プリフェッチステップは、プリフェッチアクセス許可フラグが真の場合にのみ、上流計算機および記憶装置のいずれか一方より読出され、中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0162】
上記の発明によると、ゲートウェイ計算機がグローバルネットワークに直接接続されている場合や、ゲートウェイ計算機が接続されるローカルネットワークと、そのローカルネットワークの接続先であるグローバルネットワークとの間の通信速度が大きい場合にはプリフェッチを行なうようにすることができる。また、ゲートウェイ計算機が接続されるローカルネットワークと、そのネットワークの接続先であるグローバルネットワークとの通信速度が小さい場合や、ローカルネットワークがグローバルネットワークに接続されていない場合にはプリフェッチを行なわないようにすることができる。このように、ゲートウェイ計算機が接続されるネットワーク毎にプリフェッチを行なうか否かを設定することができ、適切なプリフェッチを行なうことができる。
【0163】
好ましくは、複数の制御構造体の各々は、同時プリフェッチアクセス要求数をさらに有し、上記プリフェッチステップは、上流計算機および記憶装置のいずれか一方より読出され、中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、同時プリフェッチアクセス要求数の範囲内で、同時に、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0164】
上記の発明によると、ゲートウェイ計算機は、高速アクセスネットワークに接続されている場合には同時にプリフェッチ要求できる数を大きくし、低速アクセスネットワークに接続されている場合には同時にプリフェッチ要求できる数を小さくするなど、ネットワーク毎に同時にプリフェッチ要求できる数を設定することができる。このため、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0165】
好ましくは、複数の制御構造体の各々は、最大プリフェッチアクセス階層数をさらに有し、上記プリフェッチステップは、上流計算機および記憶装置のいずれか一方より読出され、中継されたファイルオブジェクトより最大プリフェッチアクセス階層数の範囲内にあるハイパーリンクを抽出し、当該ハイパーリンクに基づき、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0166】
上記の発明によると、ゲートウェイ計算機が接続されるネットワークのアクセス速度に応じて最大プリフェッチアクセス階層数の値を定めることにより、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0167】
好ましくは、複数の制御構造体の各々は、1つのファイルオブジェクトに含まれるハイパーリンクに基づき、ファイルオブジェクトの処理を行なう際の中継数の最大値を規定するプリフェッチアクセス総数をさらに有し、上記プリフェッチステップは、上流計算機および記憶装置のいずれか一方より読出され、中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、プリフェッチアクセス総数の範囲内で、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0168】
上記の発明によると、ゲートウェイ計算機が接続されるネットワークのアクセス速度に応じてプリフェッチアクセス総数の値を定めることにより、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0169】
好ましくは、複数の制御構造体の各々は、ファイルオブジェクトサイズ制限をさらに有し、上記プリフェッチステップは、上流計算機および記憶装置のいずれか一方より読出され、中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトサイズ制限以下のファイルサイズを有するファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0170】
上記の発明によると、ゲートウェイ計算機は、高速アクセスネットワークに接続されている場合にはファイルオブジェクトサイズ制限を大きく設定し、イメージファイルなどのサイズの大きいファイルオブジェクトに対してもプリフェッチをおこない、低速ネットワークに接続されている場合にはファイルオブジェクトサイズ制限を小さく設定し、テキストファイルなどのサイズの小さいファイルオブジェクトのみプリフェッチを行なうようにすることができる。このため、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0171】
好ましくは、複数の制御構造体の各々は、ファイルオブジェクトタイプ制限をさらに有し、上記プリフェッチステップは、上流計算機および記憶装置のいずれか一方より読出され、中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトタイプに該当しないファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0172】
上記の発明によると、ゲートウェイ計算機は、低速アクセスネットワークに接続されている場合にはイメージファイルなどサイズの大きいファイルオブジェクトのプリフェッチは行なわないようにファイルオブジェクトタイプ制限を設定することができる。このため、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0173】
好ましくは、複数の制御構造体の各々は、プリフェッチアクセス禁止上流計算機をさらに有し、上記プリフェッチステップは、上流計算機および記憶装置のいずれか一方より読出され、中継されたファイルオブジェクトに含まれるハイパーリンクに基づき、プリフェッチアクセス禁止上流計算機以外の上流計算機およびゲートウェイ計算機よりファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0174】
上記の発明によると、ゲートウェイ計算機が低速アクセスネットワークに接続されている場合には、別ネットワークに接続されたクライアント計算機からのアクセスが集中して応答性が悪い上流計算機に対するプリフェッチを禁止し、応答性が良い別サーバ計算機のプリフェッチの妨げにならないようにする。このため、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0175】
好ましくは、上記上流計算機は、第1および第2の上流計算機を含み、上記ユーザアクセス要求中継ステップは、イベントがファイルオブジェクトの取得要求である場合には、第1の上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出しクライアント計算機に中継するステップを含み、上記プリフェッチステップは、中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、さらに第2の上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するステップを含む。
【0176】
上記の発明によると、ゲートウェイ計算機は、第1の上流計算機に対してユーザからのファイルオブジェクト取得要求を行ない、ファイルオブジェクトの中継を行ない、第2の上流計算機に対してプリフェッチ要求を行ない、ファイルオブジェクトを記憶装置に記憶する。このため、ユーザアクセスに対する応答性をよくすることができる。また、プリフェッチ要求およびユーザからのファイルオブジェクト取得要求のそれぞれの履歴を記憶することにより、ネットワークの利用状況を容易に把握することができる。
【0177】
好ましくは、イベントがクライアント計算機に記憶されているファイルオブジェクトを利用することを指示する応答である場合には、応答が指定するクライアント計算機に記憶されているファイルオブジェクトと同じファイルオブジェクトを記憶装置より読出すステップと、読出されたファイルオブジェクトに含まれるハイパーリンクに基づき、さらに上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するステップとをさらに含む。
【0178】
上記の発明によると、ゲートウェイ計算機は、クライアント計算機からファイルオブジェクトの取得要求がない場合においても、プリフェッチを行ない、ファイルオブジェクトを記憶装置に記憶する。このため、ファイルオブジェクトが既にクライアント計算機に記憶されており、ゲートウェイ計算機がファイルオブジェクトの中継を行なわない場合においても、プリフェッチを行なうことができる。
【0179】
好ましくは、上記中継ステップは、イベントが最新のファイルオブジェクトの取得要求である場合には、上流計算機および記憶装置のいずれか一方より最新のファイルオブジェクトを読出しクライアント計算機に中継するステップと、中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、さらに上流計算機および記憶装置のいずれか一方より最新のファイルオブジェクトを読出し記憶装置に記憶するステップとを含む。
【0180】
上記の発明によると、ゲートウェイ計算機は、最新のファイルオブジェクトの中継を行なう。このため、ユーザは最新のファイルオブジェクトを取得できる。
【0181】
好ましくは、ファイルオブジェクトは、動的なファイルオブジェクトである。
【0182】
上記の発明によると、動的なファイルオブジェクトを記憶装置に記憶することができる。このため、ユーザは移動先においても動的なファイルオブジェクトを参照することができる。
【0183】
この発明のさらに他の局面に従うと、ゲートウェイ計算機は、複数のネットワークにそれぞれ対応づけられた複数の制御構造体とファイルオブジェクトとを記憶する記憶装置と、クライアント計算機から、イベントを受信する手段と、イベントが制御構造体の切換要求である場合には、切換要求された制御構造体に従い、各種パラメータの切換を行なう手段と、イベントがファイルオブジェクトの取得要求である場合には、上流計算機および記憶装置のいずれか一方よりファイルオブジェクトを読出しクライアント計算機に中継する中継手段と、中継を行なったファイルオブジェクトを記憶装置に記憶する記憶手段とを含み、複数の制御構造体の各々は、クライアント計算機の接続先である代表ゲートウェイ計算機のアドレスを有する。
【0184】
上記の発明によると、ゲートウェイ計算機は、ネットワーク毎に制御構造体を有し、切換要求された制御構造体に基づき、各種パラメータの切換を行なう。このため、移動可能な計算機でゲートウェイ計算機が構成されている場合でも、ユーザは簡便に各種パラメータの設定を変更することができる。ひいては、自己の記憶装置に蓄積されたファイルオブジェクトを、移動先においても簡単に参照することができる。
【0185】
好ましくは、ゲートウェイ計算機のネットワークアドレス情報を表示する手段をさらに含む。
【0186】
上記の発明によると、ゲートウェイ計算機は、ネットワークアドレス情報を表示する。このため、ネットワークアドレス情報を見たユーザは、クライアント計算機の接続先である、ゲートウェイ計算機のネットワーク情報を簡便に知ることができ、クライアント計算機でのネットワーク設定を簡単に行なうことができる。
【0187】
好ましくは、複数の制御構造体の各々は、許可アドレスパターンをさらに含み、上記中継手段は、イベントがファイルオブジェクトの取得要求である場合に、取得要求を送信したクライアント計算機のアドレスが、許可アドレスパターンに一致するか否かを判断する手段と、許可アドレスパターンに一致する場合、上流計算機およびゲートウェイ計算機のいずれか一方よりファイルオブジェクトを読出しクライアント計算機に中継する手段とを含む。
【0188】
上記の発明によると、ゲートウェイ計算機は、接続するネットワーク毎に定められた許可アドレスパターンに一致するクライアント計算機からのファイルオブジェクトの取得要求のみに従い、ファイルオブジェクトの中継を行なう。このため、異なるネットワークが同一のアドレス体系を有していても、ネットワーク毎にファイルオブジェクトの取得要求可能なクライアント計算機を指定することができ、ゲートウェイ計算機に蓄積されたファイルオブジェクトの機密性を保つことができる。
【0189】
好ましくは、複数の制御構造体の各々は、許可ユーザ名およびパスワードをさらに含み、上記中継手段は、ファイルオブジェクトの取得要求を送信したクライアント計算機を利用するユーザに、ユーザ名とパスワードの入力を促す手段と、クライアント計算機よりユーザ名およびパスワードを受信する手段と、クライアント計算機より受信したユーザ名およびパスワードと、制御構造体に記憶されたユーザ名およびパスワードとを比較し、一致した場合に、上流計算機およびゲートウェイ計算機のいずれか一方よりファイルオブジェクトを読出しクライアント計算機に中継する手段とを含む。
【0190】
上記の発明によると、ゲートウェイ計算機は、特定のユーザからのファイルオブジェクトの取得要求のみに従い、ファイルオブジェクトの中継を行なう。このため、ゲートウェイ計算機に蓄積されたファイルオブジェクトの機密性を保つことができる。
【0191】
好ましくは、イベントがヒストリの表示要求である場合には、上記中継手段で中継を行なったファイルオブジェクトのアドレスを表示するヒストリ表示手段をさらに含む。
【0192】
上記の発明によると、ゲートウェイ計算機は、中継を行なったファイルオブジェクトのアドレスをヒストリの表示要求に従い表示する。このため、ゲートウェイ計算機があるネットワーク接続時に中継を行なったファイルオブジェクトのアドレスを、他のネットワーク接続時に参照することができる。
【0193】
好ましくは、上記ヒストリ表示手段は、イベントがヒストリの表示要求である場合には、上記中継手段で中継を行なったファイルオブジェクトのアドレスと、中継を行なった際に、ゲートウェイ計算機が接続されていたネットワークを特定する情報とを表示する手段を含む。
【0194】
好ましくは、複数の制御構造体の各々は、許可ユーザ名およびパスワードをさらに有し、上記ヒストリ表示手段は、ヒストリの表示要求を送信したクライアント計算機を利用するユーザに、ユーザ名およびパスワードの入力を促す手段と、クライアント計算機より送信されたユーザ名およびパスワードを受信する手段と、クライアント計算機より受信したユーザ名およびパスワードと、制御構造体に記憶されたユーザ名およびパスワードとを比較し、一致した場合に、上記中継手段で中継を行なったファイルオブジェクトのアドレスを表示する手段とを含む。
【0195】
上記の発明によると、特定のユーザからのヒストリの表示要求のみに従い、中継を行なったファイルオブジェクトのアドレスを表示する。このため、ファイルオブジェクトのアドレス情報の機密性を保つことができる。
【0196】
好ましくは、上記中継手段は、イベントがファイルオブジェクトの取得要求である場合には、上流計算機およびゲートウェイ計算機のいずれか一方よりファイルオブジェクトを読出しクライアント計算機に中継するユーザアクセス要求中継手段と、中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、さらに上流計算機およびゲートウェイ計算機のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶するプリフェッチ手段とを含む。
【0197】
上記の発明によると、ゲートウェイ計算機が中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、ファイルオブジェクトの先読みを行なうことができる。このため、先読みしたファイルオブジェクトを、他のネットワーク接続時においても簡単に参照することができる。
【0198】
好ましくは、複数の制御構造体の各々は、プリフェッチアクセス待機時間をさらに有し、上記プリフェッチ手段は、クライアント計算機から受信したファイルオブジェクトの取得要求の時間間隔に基づき、プリフェッチアクセス待機時間を決定する手段と、上流計算機およびゲートウェイ計算機のいずれか一方より読出し、クライアント計算機に中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、プリフェッチアクセス待機時間経過後、さらに上流計算機およびゲートウェイ計算機のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶する手段とを含む。
【0199】
上記の発明によると、ゲートウェイ計算機は、ファイルオブジェクトの取得要求に従いファイルオブジェクトを中継した後、一定時間経過後にプリフェッチを開始する。このため、ファイルオブジェクトの取得要求に従ったファイルオブジェクトの中継と、プリフェッチとの処理開始時間をずらすことができ、ゲートウェイ計算機にかかる負荷の増大を防止することができる。また、ユーザがアクセスしないであろうと思われるファイルオブジェクトを中継することが少なくなり、必要以上にネットワークのトラフィックが増大するのを防止する。
【0200】
好ましくは、複数の制御構造体の各々は、プリフェッチアクセス許可フラグをさらに有し、上記プリフェッチ手段は、プリフェッチアクセス許可フラグが真の場合にのみ、上流計算機およびゲートウェイ計算機のいずれか一方より読出し、中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、さらに上流計算機およびゲートウェイ計算機のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶する手段を含む。
【0201】
上記の発明によると、ゲートウェイ計算機がグローバルネットワークに直接接続されている場合や、ゲートウェイ計算機が接続されるローカルネットワークと、そのローカルネットワークの接続先であるグローバルネットワークとの間の通信速度が大きい場合にはプリフェッチを行なうようにすることができる。また、ゲートウェイ計算機が接続されるローカルネットワークと、そのネットワークの接続先であるグローバルネットワークとの通信速度が小さい場合や、ローカルネットワークがグローバルネットワークに接続されていない場合にはプリフェッチを行なわないようにすることができる。このように、ゲートウェイ計算機が接続されるネットワーク毎にプリフェッチを行なうか否かを設定することができ、適切なプリフェッチを行なうことができる。
【0202】
好ましくは、複数の制御構造体の各々は、同時プリフェッチアクセス要求数をさらに有し、上記プリフェッチ手段は、上流計算機およびゲートウェイ計算機のいずれか一方より読出し、中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、同時プリフェッチアクセス要求数の範囲内で、さらに上流計算機およびゲートウェイ計算機のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶する手段を含む。
【0203】
上記の発明によると、ゲートウェイ計算機は、高速アクセスネットワークに接続されている場合には同時にプリフェッチ要求できる数を大きくし、低速アクセスネットワークに接続されている場合には同時にプリフェッチ要求できる数を小さくするなど、ネットワーク毎に同時にプリフェッチ要求できる数を設定することができる。このため、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0204】
好ましくは、複数の制御構造体の各々は、最大プリフェッチアクセス階層数をさらに有し、上記プリフェッチ手段は、上流計算機およびゲートウェイ計算機のいずれか一方より読出し、中継を行なったファイルオブジェクトより最大プリフェッチアクセス階層数の範囲内にあるハイパーリンクに基づき、さらに上流計算機およびゲートウェイ計算機のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶する手段を含む。
【0205】
上記の発明によると、ゲートウェイ計算機が接続されるネットワークのアクセス速度に応じて最大プリフェッチアクセス階層数の値を定めることにより、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0206】
好ましくは、複数の制御構造体の各々は、プリフェッチアクセス総数をさらに有し、上記プリフェッチ手段は、上流計算機およびゲートウェイ計算機のいずれか一方より読出し、中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、プリフェッチアクセス総数の範囲内で、さらに上流計算機およびゲートウェイ計算機のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶する手段を含む。
【0207】
上記の発明によると、ゲートウェイ計算機が接続されるネットワークのアクセス速度に応じてプリフェッチアクセス総数の値を定めることにより、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0208】
好ましくは、複数の制御構造体の各々は、ファイルオブジェクトサイズ制限をさらに有し、上記プリフェッチ手段は、上流計算機およびゲートウェイ計算機のいずれか一方より読出し、中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、さらに上流計算機およびゲートウェイ計算機のいずれか一方よりファイルオブジェクトサイズ制限以下のファイルサイズを有するファイルオブジェクトを読出し、記憶装置に記憶する手段を含む。
【0209】
上記の発明によると、ゲートウェイ計算機は、高速アクセスネットワークに接続されている場合にはファイルオブジェクトサイズ制限を大きく設定し、イメージファイルなどのサイズの大きいファイルオブジェクトに対してもプリフェッチをおこない、低速ネットワークに接続されている場合にはファイルオブジェクトサイズ制限を小さく設定し、テキストファイルなどのサイズの小さいファイルオブジェクトのみプリフェッチを行なうようにすることができる。このため、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0210】
好ましくは、複数の制御構造体の各々は、ファイルオブジェクトタイプ制限をさらに有し、上記プリフェッチ手段は、上流計算機およびゲートウェイ計算機のいずれか一方より読出し、中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、さらに上流計算機およびゲートウェイ計算機のいずれか一方よりファイルオブジェクトタイプに該当しないファイルオブジェクトを読出し、記憶装置に記憶する手段を含む。
【0211】
上記の発明によると、ゲートウェイ計算機は、低速アクセスネットワークに接続されている場合にはイメージファイルなどサイズの大きいファイルオブジェクトのプリフェッチは行なわないようにファイルオブジェクトタイプ制限を設定することができる。このため、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0212】
好ましくは、複数の制御構造体の各々は、プリフェッチアクセス禁止上流計算機をさらに有し、上記プリフェッチ手段は、上流計算機およびゲートウェイ計算機のいずれか一方より読出し、中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、さらにプリフェッチアクセス禁止上流計算機以外の上流計算機およびゲートウェイ計算機よりファイルオブジェクトを読出し、記憶装置に記憶する手段を含む。
【0213】
上記の発明によると、ゲートウェイ計算機が低速アクセスネットワークに接続されている場合には、別ネットワークに接続されたクライアント計算機からのアクセスが集中して応答性が悪い上流計算機に対するプリフェッチを禁止し、応答性が良い別サーバ計算機のプリフェッチの妨げにならないようにする。このため、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0214】
好ましくは、上記上流計算機は、第1および第2の上流計算機を含み、ユーザアクセス要求中継手段は、イベントがファイルオブジェクトの取得要求である場合には、第1の上流計算機およびゲートウェイ計算機のいずれか一方よりファイルオブジェクトを読出しクライアント計算機に中継する手段を含み、上記プリフェッチ手段は、中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、さらに第2の上流計算機およびゲートウェイ計算機のいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶する手段を含む。
【0215】
上記の発明によると、ゲートウェイ計算機は、第1の上流計算機に対してユーザからのファイルオブジェクト取得要求を行ない、ファイルオブジェクトの中継を行ない、第2の上流計算機に対してプリフェッチ要求を行ない、ファイルオブジェクトを記憶装置に記憶する。このため、ユーザアクセスに対する応答性をよくすることができる。また、プリフェッチ要求およびユーザからのファイルオブジェクト取得要求のそれぞれの履歴を記憶することにより、ネットワークの利用状況を容易に把握することができる。
【0216】
好ましくは、中継手段は、イベントがクライアント計算機に記憶されているファイルオブジェクトを利用することを指示する応答である場合には、応答が指定するクライアント計算機に記憶されているファイルオブジェクトと同じファイルオブジェクトを記憶装置より読出す手段と、読出されたファイルオブジェクトに含まれるハイパーリンクに基づき、さらに上流計算機および記憶装置にいずれか一方よりファイルオブジェクトを読出し、記憶装置に記憶する手段とを含む。
【0217】
上記の発明によると、ゲートウェイ計算機は、クライアント計算機からファイルオブジェクトの取得要求がない場合においても、プリフェッチを行ない、ファイルオブジェクトを記憶装置に記憶する。このため、ファイルオブジェクトが既にクライアント計算機に記憶されており、ゲートウェイ計算機がファイルオブジェクトの中継を行なわない場合においても、プリフェッチを行なうことができる。
【0218】
好ましくは、上記中継手段は、イベントが最新のファイルオブジェクトの取得要求である場合には、上流計算機およびゲートウェイ計算機のいずれか一方より最新のファイルオブジェクトを読出しクライアント計算機に中継する手段と、中継を行なったファイルオブジェクトに含まれるハイパーリンクに基づき、さらに上流計算機およびゲートウェイ計算機のいずれか一方より最新のファイルオブジェクトを読出し記憶装置に記憶する手段とを含む。
【0219】
上記の発明によると、ゲートウェイ計算機は、最新のファイルオブジェクトの中継を行なう。このため、ユーザは最新のファイルオブジェクトを取得できる。
【0220】
好ましくは、ファイルオブジェクトは、動的なファイルオブジェクトである。
【0221】
上記の発明によると、動的なファイルオブジェクトを記憶装置に記憶することができる。このため、ユーザは移動先においても動的なファイルオブジェクトを参照することができる。
【0222】
【発明の実施の形態】
以下、図面を参照しつつ、本発明における実施の形態の1つである分散ファイルシステムについて説明する。なお、以下の説明では、同一の部品には同一の参照符号を付す。それらの名称および機能も同一であるので、説明の繰返しは適宜省略する。
[実施の形態1]
図1を参照して、本発明の実施の形態1に係る分散ファイルシステムは、サーバ計算機120と、代表ゲートウェイ計算機116と、ローカルサーバ計算機114と、ゲートウェイ計算機110と、クライアント計算機102と、代表ゲートウェイ計算機126と、ローカルネットワーク112と、ネットワーク128と、グローバルネットワーク132とを含む。グローバルネットワーク132には、サーバ計算機120と、代表ゲートウェイ計算機116とが接続されている。ローカルネットワーク112には、代表ゲートウェイ計算機116と、ローカルサーバ計算機114と、クライアント計算機102と、ゲートウェイ計算機110とが接続されている。ネットワーク128には、代表ゲートウェイ計算機126と、サーバ計算機120と、移動後のゲートウェイ計算機110とが接続されている。ゲートウェイ計算機110上では、Proxy 108が動作している。クライアント計算機102上ではブラウザ104が動作している。
【0223】
実施の形態1に係る分散ファイルシステムは、ゲートウェイ計算機110をローカルネットワーク112に接続し、さらにそこでキャッシュ付きProxy 108を動作させる。クライアント計算機102のブラウザ104は、ゲートウェイ計算機110のProxy 108を経由してファイルオブジェクトの取得を行なう。
【0224】
クライアント計算機102は、CPU、メモリ、ハードディスク、I/Oインタフェース、キーボード、表示装置、およびネットワークI/F(Interface )を備えた計算機である。
【0225】
クライアント計算機102がブラウズした情報はゲートウェイ計算機110にキャッシュされる。このため、ゲートウェイ計算機110を移動させても、ゲートウェイ計算機110内部のブラウザ104からそのモバイルProxy キャッシュ118をアクセスすることにより、ネットワークを経由せずに、それらの情報を取得することができる。このため、アクセス時間の短縮が期待できる。
【0226】
また、図4を参照して後述するように、移動先のデスクトップ計算機からProxy 108を介して情報にアクセスすることも可能である。
【0227】
現在パーソナルコンピュータの記憶装置(ディスク装置)は通常1GB 以上の容量を有する。ディスク装置には、工場出荷時にあらかじめOSやアプリケーションソフトウェアなどが格納されているが、それでも未使用領域は500MB 以上存在する。
【0228】
そこで、実施の形態1に係る分散ファイルシステムではProxy 108をゲートウェイ計算機110にて常時動作させる。ディスク装置の空きエリアの一部をモバイルProxy キャッシュ118として使用する。ネットワークI/FはPCMCIAカードのイーサネットカードを利用する。
【0229】
クライアント計算機102は、ローカルネットワーク112を通じてゲートウェイ計算機110のProxy 108をアクセスし、Proxy 108を経由して、ローカルサーバ計算機114をアクセスする。また、社外のサーバ計算機120をアクセスする場合には、Proxy 108を経由して、代表ゲートウェイ計算機116をアクセスし、さらに、代表ゲートウェイ計算機116が、グローバルネットワーク132に接続されたサーバ計算機120をアクセスする。
【0230】
以下、順を追って実施の形態1に係る分散ファイルシステムの基本動作について説明する。
【0231】
Proxy 108は、ブラウザ104より送信される命令またはキーボード等の入力デバイスより入力される命令に従い、処理を行なう。
【0232】
図2を参照して、Proxy 108は、命令(イベント)の到着を待つ(S500)。イベントが到着したかどうか判断をし(S502)、イベントが到着していなければ(S502でNO)、イベントが到着するのを待つ(S500)。イベントが到着すれば(S502でYES)、そのイベントが何であるかに従い、各種処理を行なう(S504〜S514)。イベントがProxy 制御構造体の切換を要求していれば(S504でYES)、後述するProxy 制御構造体の切換処理を行ない(S506)、再度イベントの到着を待つ(S500)。イベントがファイルオブジェクトの取得要求であれば(S508でYES)、後述するファイルオブジェクトの取得のための各種処理(プリフェッチを含む)を行ない(S510)、再度イベントの到着を待つ(S500)。イベントがヒストリの表示を要求していれば(S512でYES)、後述するヒストリ表示処理を行ない(S514)、再度イベントの到着を待つ(S500)。イベントが終了イベントであれば(S516でYES)、処理を終了する(S518)。イベントが上記4つのいずれのイベントにも該当しない場合には(S516でNO)、再度イベントの到着を待つ(S500)。
【0233】
まず、ユーザ100が、クライアント計算機102上で動作しているブラウザ104を利用して、ローカルサーバ計算機114をアクセスする場合について説明する。
【0234】
1.ユーザ100の指示に従い、ブラウザ104がファイルオブジェクトの取得要求を送信する。
【0235】
2.Proxy 108はブラウザ104から送信されたファイルオブジェクトの取得要求を受け、社内の代表ゲートウェイ計算機116を経由しローカルサーバ計算機114”intranet.foobar.co.jp” をアクセスし、ファイルオブジェクトを取得し、Web サーバ106に記憶する。
【0236】
3.Proxy 108はファイルオブジェクトをブラウザ104に転送する。
これによりファイルオブジェクトがゲートウェイ計算機110に複製(キャッシュ)された。社外にあるサーバ計算機120”www.sharp.co.jp” をアクセスする場合も同様である。
【0237】
次に、ユーザ100がゲートウェイ計算機110と共に移動した場合を説明する。
【0238】
まず、ユーザ100がゲートウェイ計算機110内部のブラウザ130を利用してローカルサーバ計算機114”intranet.foobar.co.jp” をアクセスする場合を説明する。ブラウザ130はProxy 108を介して、ファイルオブジェクトの取得を行なうよう設定をする。モバイルProxy キャッシュ118に、ユーザが取得要求を送信したファイルオブジェクトが記憶されている場合には、Proxy 108は、そのファイルオブジェクトをブラウザ130に返送する。従って移動先のネットワーク128においてローカルサーバ計算機114の情報を参照することができる。
【0239】
次にモバイルProxy キャッシュ118に記憶されていないサーバ計算機120に記憶されたファイルオブジェクトをネットワーク128を経由して取得する場合を説明する。ここでは、代表ゲートウェイ計算機126を経由しないものとする。
【0240】
1.ユーザ100は、ゲートウェイ計算機110上で動作するブラウザ130を使って、サーバ計算機120”www.sharp.co.jp” 上のファイルオブジェクトを取得するようにProxy 108に依頼する。
【0241】
2.依頼を受けたProxy 108はモバイルProxy キャッシュ118をチェックする。ファイルオブジェクトがキャッシュされていなければ、ネットワーク128を経由して、サーバ計算機120をアクセスし、ファイルオブジェクトを取得する。そのファイルオブジェクトをモバイルProxy キャッシュ118にキャッシュする。
【0242】
3.また、そのファイルオブジェクトはProxy 108からブラウザ130にも転送される。
【0243】
次にモバイルProxy キャッシュ118に記憶されていないファイルオブジェクトを上流の代表ゲートウェイ計算機126を経由して取得する場合を説明する。
【0244】
1.ユーザ100は、ゲートウェイ計算機110上で動作するブラウザ130を使って、サーバ計算機120上のファイルオブジェクトを取得するようにProxy 108に依頼する。
【0245】
2.依頼を受けたProxy 108はモバイルProxy キャッシュ118をチェックする。ファイルオブジェクトがキャッシュされていなければ、上流の代表ゲートウェイ計算機126を経由して、サーバ計算機120をアクセスし、ファイルオブジェクトを取得する。そのファイルオブジェクトをモバイルProxy キャッシュ118に記憶する。
【0246】
3.また、そのファイルオブジェクトはProxy 108からブラウザ130にも転送される。
【0247】
図3を参照して、上述の動作を行なう分散ファイルシステムで用いられるProxy 108の動作について説明する。
【0248】
Proxy 108は、ブラウザ104(130)からファイルオブジェクト(URL)取得要求が送信されるまで待機する(S2)。ファイルオブジェクト取得要求が送信された場合には、その要求よりURL名を取込む(S4)。取込んだURL名に対応するファイルオブジェクトがあるか探すためモバイルProxy キャッシュ118をアクセスする(S6)。ファイルオブジェクトがモバイルProxy キャッシュ118にあるか否かを判断する(S8)。モバイルProxy キャッシュ118にあれば(S8でYES)、そのファイルオブジェクトが有効期限内か否かを判断する(S10)。有効期限内であれば(S10でYES)、そのファイルオブジェクトをモバイルProxy キャッシュ118より取出し、ブラウザ104(130)に転送する(S12)。その後、S2の処理へ戻る。
【0249】
取得要求したファイルオブジェクトがモバイルProxy キャッシュ118に存在しないか(S8でNO)、またはモバイルProxy キャッシュ118には存在するが、そのファイルオブジェクトが有効期限内でない場合には(S8でYES、S10でNO)、Proxy サーバ計算機に接続するか否か、および接続する場合にはどのProxy サーバ計算機に接続するかの情報に従い、上流の代表ゲートウェイ計算機126、またはサーバ計算機120にファイルオブジェクトの取得要求を送信する(S14)。当該計算機よりファイルオブジェクトを取得した後(S16)、ブラウザ104(130)にそのファイルオブジェクトを転送する(S12)。
【0250】
以上のように、クライアント計算機102のブラウザ104が、ゲートウェイ計算機110のProxy 108経由で、ファイルオブジェクトの取得を行なうことにより、ユーザ100がアクセス要求した情報が、ゲートウェイ計算機110にキャッシュされる。このため、ユーザ100は移動先でそのファイルオブジェクトを参照することができる。
【0251】
なお、図4に示すようにクライアント計算機150およびゲートウェイ計算機152にそれぞれIrDA LANインタフェース154および156を設けてもよい。IrDA LANインタフェースとは赤外線を利用したデータ通信インタフェースであり、IrDAコンソーシアムにて標準化が進められているインタフェースであり、最近のノート型コンピュータや携帯端末では装備されている事が多い。クライアント計算機150のブラウザ104は、IrDA LANインタフェース154および156経由でProxy 108をアクセスする。Proxy 108は、クライアント計算機150を経由してローカルネットワーク112に接続される。このようにすれば、ゲートウェイ計算機152をLAN インタフェース(Ethernet等)を介して直接ローカルネットワーク112に接続する必要がなくなり、分散ファイルシステムのコストダウンにつながる。
[実施の形態2]
図5を参照して、本発明の実施の形態2に係る分散ファイルシステムは、図1を参照して説明を行なった実施の形態1に係る分散ファイルシステムの構成において、ネットワーク128に接続されたゲートウェイ計算機110に、クライアント計算機140がさらに接続されている。また、クライアント計算機140上では、ブラウザ142が動作している。
【0252】
実施の形態1に係る分散ファイルシステムの場合と同様、ユーザ100がクライアント計算機102から、Proxy 108を経由して、ローカルサーバ計算機114をアクセスする。その後、ユーザ100は、ゲートウェイ計算機110とともに、移動し、移動先においてクライアント計算機140のブラウザ142を操作し、ファイルオブジェクトの取得を行なう。この一連の動作について、以下説明する。なお、ブラウザ142は、Proxy 接続先としてゲートウェイ計算機110のProxy 108をアクセスするように設定されているものとする。
【0253】
1.ユーザは、ブラウザ142を操作し、Proxy 108を経由してローカルサーバ計算機114”intranet.foobar.co.jp” に記憶されているファイルオブジェクトを取得するように要求する。
【0254】
2.Proxy 108は、モバイルProxy キャッシュ118にそのファイルオブジェクトが記憶されているか否かをチェックする。そのファイルオブジェクトが記憶されている場合には、モバイルProxy キャッシュ118よりファイルオブジェクトを読出し、ブラウザ142に送信する。
【0255】
このように、移動先のクライアント計算機140から、移動前のローカルネットワーク112に接続されたローカルサーバ計算機114の情報が透過的に参照できる事が分かる。このように、ゲートウェイ計算機110上でブラウザを動作させる必要は必ずしもない。このため、ゲートウェイ計算機110には、表示装置がなくてもよい。
【0256】
次に、ユーザ100が、モバイルProxy キャッシュ118に存在しないサーバ計算機120”www.sharp.co.jp” に記憶されたファイルオブジェクトの取得要求を行なう際の、分散ファイルシステムの処理について説明する。
【0257】
1.ユーザ100が、ブラウザ142を操作し、Proxy 108に対し、サーバ計算機120”www.sharp.co.jp” に記憶されたファイルオブジェクトを取得するように要求する。
【0258】
2.Proxy 108は、モバイルProxy キャッシュ118にそのファイルオブジェクトが記憶されているか否かをチェックする。しかし、モバイルProxy キャッシュ118には記憶されていないため、ネットワーク128を経由して、サーバ計算機120に対してファイル取得要求を送信する。
【0259】
3.Proxy 108は、そのファイルオブジェクトの取得後、モバイルProxy キャッシュ118に蓄積すると共に、ブラウザ142にファイルオブジェクトを返送する。
【0260】
以上のように、移動先のクライアント計算機140からサーバ計算機120に記憶されているファイルオブジェクト情報を透過的に参照できる。なお、代表ゲートウェイ計算機126を経由して、サーバ計算機120に記憶されたファイルオブジェクトを取得することも可能である。この場合の分散ファイルシステムの処理の説明は、実施の形態1で説明したものと同様であるため、説明は繰返さない。
【0261】
なお、ゲートウェイ計算機110は、ユーザ100が移動する毎に、移動先のネットワークに接続される。このため、ゲートウェイ計算機110は、ネットワークにそれぞれ対応づけられたモバイルProxy 制御構造体の配列を記憶している。モバイルProxy 108は、このProxy 制御構造体に記憶された制御パラメータに基づき、各種動作を行なう。
【0262】
表2を参照して、Proxy 制御構造体は、ネットワーク名と、ダイアルアップ時の電話番号と、3つの上流Proxy サーバ計算機のポート番号と、Proxy 許可IPアドレスパターンと、Proxy 許可ユーザ名およびパスワードと、ネットワーク記述コメントとを含む。
【0263】
【表2】
Figure 0003561139
【0264】
ゲートウェイ計算機110は、モバイルProxy 制御構造体に記載されているネットワーク名をユーザ100に提示する。ユーザ100は、提示されたネットワーク名の中から1つ選択する。選択されたネットワーク名の対応するモバイルProxy 制御構造体に基づき、上流Proxy の設定等、制御パラメータの切り替えを行う。
【0265】
図6(A)および図6(B)を参照して、Proxy 108は、制御画面を有する。制御画面のタイトル部160には、ゲートウェイ計算機110のIPアドレスと動作ポートとが表示される。
【0266】
ユーザ100は、タイトル部160に表示されたIPアドレスおよび動作ポートを見ることにより、クライアント計算機140でProxy 設定をする際の情報を容易に得ることができる。
【0267】
ユーザ100は、制御画面の「Network 」と書かれた部分にカーソル162を移動させ、その部分を選択する。これにより、ネットワーク名と上流Proxy 名のうちいずれか1つがメニュー表示される。メニュー表示168中の「Offline 状態」と書かれたセルを選択した場合には、Proxy 108は、ネットワーク接続せず、モバイルProxy キャッシュ118に記憶されたファイルオブジェクトのみをクライアント計算機140に返送する。
【0268】
メニュー表示168より2番目のセル164を選択した場合には、Proxy 108は、その上流のProxy サーバ計算機として、IPアドレス”123.45.67.89”の計算機を用い、その計算機の8080番のポートに接続を試みる。
【0269】
このように、ネットワーク毎の属性をモバイルProxy 制御構造体にまとめて記憶し、ユーザに選択させる手段を有しているため、移動先にて簡単にネットワーク属性を切り替えることができる。
【0270】
次に、Proxy 108のアクセス制御について説明する。
通常、Proxy サーバは中継要求を行ってくるブラウザのIPアドレスを調べ、このIPアドレスがProxy 許可IPアドレスパターンにマッチしていれば利用を許可する。この場合、Proxy サーバはネットワークに固定的に使用されるものという考えで設計されているため、ネットワークを移動するごとにProxy 許可IPアドレスパターンをユーザが書き直さなければならない。
【0271】
また、図5を参照して、2つのローカルネットワーク112およびネットワーク128が各々Private IPアドレス192.168.168.XXX を採用しているとする(XXX は0 から255 までの任意の整数)。Private IPアドレスはインターネットに接続していないネットワークでのみ採用できる私的なアドレス体系である。従って同一のアドレスの計算機が別ネットワークにそれぞれ存在することが許される。ローカルネットワーク112に接続されたクライアント計算機102のIPアドレスを”192.168.168.3” とし、ネットワーク128に接続されたクライアント計算機140のIPアドレスを”192.168.168.4” とする。また、クライアント計算機102および140のみがProxy 108をアクセスできるものとする。
【0272】
この場合、”192.168.168.3” および”192.168.168.4” をProxy 許可IPアドレスパターンとして設定しただけでは、ローカルネットワーク112上に接続された、本来許可を与えたくないIPアドレス”192.168.168.4” の計算機が、Proxy 108を利用することが可能となり、問題である。
【0273】
上述のように、ネットワークを移動する毎にモバイルProxy 制御構造体を切替えれば、それに伴い、Proxy 許可IPアドレスパターンも切替えられ、このような問題点は解決される。
【0274】
クライアント計算機102のIPアドレスが、Proxy 許可IPアドレスパターンに含まれない場合に、クライアント計算機102からのアクセス要求を認めるか否かの判断を行なう。この判断には、Proxy 認証を利用する。これはモバイルProxy 制御構造体のProxy 許可ユーザ名およびパスワードに基づき、クライアント計算機102のブラウザ104を利用するユーザ100がアクセスを許可されたユーザかどうかを判断するものである。具体的には、HTTP/1.0の認証プロトコルをそのまま使用する。
【0275】
上述のように、認証データベースがProxy 制御構造体としてゲートウェイ計算機110に記憶されている。このため、モバイル計算機がネットワーク接続先を変更した場合においてもProxy 認証が可能である。
【0276】
図7を参照して、ユーザ100がブラウザ104を操作して、サーバ計算機120のファイルオブジェクトを取得する際の、Proxy 認証について説明する。
【0277】
まず、クライアント計算機102上のブラウザ104の行なう処理について説明する。
【0278】
ブラウザ104がProxy 108とのコネクションを確立する。その後、ブラウザ104は、表3に示すサーバ計算機120に記憶されたファイルオブジェクトの取得要求をモバイルProxy に対して送信する(S20)。
【0279】
【表3】
Figure 0003561139
【0280】
ブラウザ104は、表4に示す認証要求応答をProxy 108から受信する(S22)。
【0281】
【表4】
Figure 0003561139
【0282】
ブラウザ104は、クライアント計算機102のディスプレイ上にパスワード入力用のダイアログ画面を表示し(S24)、ユーザ100にユーザ名とパスワードの入力を促す(S26)。
【0283】
ユーザ名およびパスワードを取得したブラウザ104は、それらより、「ユーザ名:パスワード」という並び順の文字列を作成する。その文字列をMIME形式でエンコードし、クライアント計算機102の記憶装置に記憶すると共に、Proxy 108に対して、表5のような文字列を送信する(S28)。ここで、”Basic” という文字列は、この認証要求の方式が基本認証方式であることを示している。
【0284】
【表5】
Figure 0003561139
【0285】
Proxy 108は、エンコードされたユーザ名とパスワードとを受け、モバイルProxy 制御構造体と比べて一致すればファイルオブジェクトの中継を行い、ブラウザ104に送信する。ブラウザ104は、これを受信する(S30)。
【0286】
次に、Proxy 108の行なう処理について説明する。
Proxy 108は、ブラウザ104からのファイルオブジェクト取得要求を受ける(S32)。
【0287】
ファイルオブジェクト取得要求送信元のクライアント計算機102のIPアドレスが、モバイルProxy 制御構造体に記憶されたProxy 許可IPアドレスパターンに一致するか否かを判断する(S34)。
【0288】
クライアント計算機102のIPアドレスがProxy 許可IPアドレスパターンと一致すれば(S32でYES)、表6のような形式でブラウザ104にデータを転送する、すなわちファイルオブジェクトの中継を行なう(S40)。
【0289】
【表6】
Figure 0003561139
【0290】
一致しなければ(S32でNO)、Proxy 108は、表7のようなヘッダをブラウザ104に送信し、認証が必要である事を伝える(S36)。
【0291】
【表7】
Figure 0003561139
【0292】
S36で送信した認証要求応答に応答し、ブラウザ104がS28の処理で送信したエンコード文字列を受信する。その文字列をデコードすると共に、モバイルProxy 制御構造体に記憶されたProxy 許可ユーザ名およびパスワードと比較し、一致するか否かを判断する(S38)。
【0293】
Proxy 許可ユーザ名およびパスワードと一致していれば(S38でYES)、上述のファイルオブジェクトの中継を行なう(S40)。一致していなければ(S38でNO)、”HTTP/1.0 407”という認証要求応答をブラウザ104に送信し、認証が却下された旨を伝える(S42)。
【0294】
一旦認証を受けたブラウザ104は、以降の処理では、通常のブラウザとして機能し、S28およびS30の処理を繰返す。S28の処理で認証用データとして送信するProxy−Authorization:ヘッダは、すでにS28で記憶されている文字列を用いる。したがって、以降は、常にProxy 108へのアクセスが許可される。
【0295】
ネットワーク128に接続された、クライアント計算機140のブラウザ142よりProxy 108へアクセスする場合にも同様のProxy 認証に基づき、ユーザ100のアクセスを許可するか否かの判断を行なう。アクセスを許可するユーザ100のユーザ名およびパスワードは、ネットワークすべてにおいて共通としてもよい。
【0296】
従来のProxy サーバは、中継転送するファイルオブジェクトの大きさが不明の場合には、そのファイルオブジェクトをモバイルProxy キャッシュ118に記憶することはしなかった。なぜなら、このファイルオブジェクトには、動的にデータベースから生成されたページ等が相当し、本来多数のユーザで共有すべきない情報が多く含まれているためである。
【0297】
本実施の形態に係る分散ファイルシステムでは、ゲートウェイ計算機110を個人利用することが前提となっている。このため、Proxy 108は、中継した動的なファイルオブジェクトをモバイルProxy キャッシュ118に記憶する。
[実施の形態3]
図8を参照して、実施の形態3に係る分散ファイルシステムは、サーバ計算機120と、3台の代表ゲートウェイ計算機116と、ローカルサーバ計算機114と、クライアント計算機172と、ゲートウェイ計算機174と、グローバルネットワーク132と、ローカルネットワーク112とを含む。
【0298】
グローバルネットワーク132には、サーバ計算機120と、3台の代表ゲートウェイ計算機116とが接続されている。ローカルネットワーク112には、3台の代表ゲートウェイ計算機116と、ローカルサーバ計算機114と、クライアント計算機172と、ゲートウェイ計算機174とが接続されている。
【0299】
ゲートウェイ計算機174上では、Proxy 176が実行されている。Proxy 176は、後述するスクリプト生成部178を含む。また、ゲートウェイ計算機174には、実施の形態2で説明したモバイルProxy 制御構造体180が記憶されている。
【0300】
ファイルオブジェクトの取得方法、ユーザの認証等に関しては、実施の形態1および実施の形態2で説明した分散ファイルシステムと同様であるため、その説明は繰返さない。
【0301】
ここでは、Automatic Proxy Configuration Scriptについて説明する。Automatic Proxy Configuration Scriptとは、ブラウザ104が接続するゲートウェイ計算機を自動的に判断する機構のことである。
【0302】
Proxy 176は、ブラウザ104からの要求に従い、モバイルProxy 制御構造体180に記憶された上流Proxy 名に基づき、表8に示すようなAutomatic Proxy Configuration Scriptを生成し、ブラウザ104に送信する。このAutomatic Proxy Configuration ScriptはJavaScript言語で記述されている。
【0303】
ブラウザ104は、このAutomatic Proxy Configuration Scriptをブラウザキャッシュ182に記憶する。ブラウザは104は、それ以降の立上がり時に、Automatic Proxy Configuration Scriptの取得をProxy 176に対して要求する。Proxy 176の停止等により要求が却下された場合には、Automatic Proxy Configuration Scriptをブラウザキャッシュ182より読込み、Proxy サーバの選択を行なう。
【0304】
Automatic Proxy Configuration Scriptの例を表8に示す。FindProxyForURL(url,host) という関数のreturn値に使用Proxy サーバを列挙する。
【0305】
【表8】
Figure 0003561139
【0306】
このScriptに従い、ブラウザ104は、最初に、代表ゲートウェイ計算機116”Proxy.foobar.co.jp”のポート番号8080でサービスを提供するProxy サーバにアクセスを試みる。このProxy サーバが所定待ち時間(たとえば、1分)たっても応答しない場合には、代表ゲートウェイ計算機116”Proxy1.foobar.co.jp” のポート番号8080でサービスを提供するProxy にアクセスを試みる。さらにこのProxy が所定待ち時間たっても応答しない場合には、ブラウザ104は、Proxy を経由せずに直接サーバ計算機120に接続を試みる。
【0307】
図9を参照して、Automatic Proxy Configuration Scriptの生成方法について説明する。
【0308】
まず、クライアント計算機172上で動作するブラウザ104の行なう処理について説明する。ゲートウェイ計算機174のIPアドレスが123.45.67.10であり、Proxy 176が、その計算機のポート番号8080でサービスを提供しているとする。
【0309】
ブラウザ104は、Automatic Proxy Configuration Scriptの取得先として、URL”http://123.45.67.10:8080/proxy.pac” を設定する(S50)。このURL は、図6(A)を参照して説明した上述のProxy 176の制御画面のタイトル部160に表示されている。このため、ユーザ100は、容易にAutomatic Proxy Configuration の取得先を設定することができる。
【0310】
ブラウザ104は、起動時にAutomatic Proxy Configuration Scriptの取得を試みる(S52)。具体的には、socketと呼ばれるインタフェースを用いて、ゲートウェイ計算機174(IPアドレス123.45.67.10)で動作するProxy 176の8080番のポートとのTCP/IPコネクションを確立する。コネクション確立後、ブラウザ104は、表9に示すような、コマンドをProxy 176に送信し、proxy.pac ファイルの送信を要求する。この要求は、HTTPに従って行なわれる。
【0311】
【表9】
Figure 0003561139
【0312】
ブラウザ104は、表10に示すようなテキストを、Proxy 176より受信する(S54)。1行目の”HTTP/1.0 200 OK” は、HTTPサーバとしてのProxy 176からの応答が正常であったことを意味する。
3行目の”Content−type: x−ns−proxy−autoconfig” は、4行目以降のテキストがAutomatic Proxy Configuration Scriptであることを意味する。”funtion FindProxyForURL(url,host)” はモバイルProxy 制御構造体180から生成されたAutomatic Proxy Configuration Scriptである。
【0313】
” +” は文字列の連結を意味する。return値は、まずProxy 176(123.45.67.10:8080 )への接続を試みよという指示を意味する。また、Proxy 176が応答しない場合には、モバイルProxy 制御構造体180に記載された上流の代表ゲートウェイ計算機116に順次接続を試みよという指示を意味する。さらに、”DIRECT”は、代表ゲートウェイ計算機116が全て応答しない場合には、直接接続を試みよという指示を意味する。
【0314】
【表10】
Figure 0003561139
【0315】
以降は、ブラウザ104は、ファイルオブジェクトの取得要求を送信する毎に、Automatic Proxy Configuration Scriptを解釈し、上流のProxy サーバを決定する(S56)。
【0316】
このAutomatic Proxy Configuration Scriptはブラウザキャッシュ182に記憶される。このため、Proxy 176が利用不可能な場合には、前回のブラウザ104の起動時に取得したAutomatic Proxy Configuration Scriptが利用される。
【0317】
これはProxy 176が動作していない場合や、ゲートウェイ計算機174がローカルネットワーク112から切り離されている場合であっても、ブラウザ104が利用するProxy の設定を手動で切り替えなくても良いという利便性をもたらす。
【0318】
次に、Proxy 176の動作を説明する。特に、モバイルProxy 制御構造体180から情報を読み込みproxy.pac を生成するスクリプト生成部178の動きに関するものである。
【0319】
Proxy 176は、Proxy サーバとして待機する(S58)。ブラウザ104より、Automatic Proxy Configuration Scriptの取得要求”GET /proxy.pac HTTP/1.0” があるか否かを判断する(S60)。取得要求がなければ(S60でNO)、取得要求があるまでProxy サーバとして待機する(S58)。取得要求があった場合には(S60でYES)、スクリプト生成部178が、表11のようなAutomatic Proxy Configuration Scriptの固定部分をブラウザ104に送信する(S62)。
【0320】
【表11】
Figure 0003561139
【0321】
次に、スクリプト生成部178は、表12のようなAutomatic Proxy Configuration Scriptのreturn文の1行目をブラウザ104に送信する(S64)。このreturn文は、モバイルProxy 制御構造体180に格納されているProxy 176の名前とポート番号との組である。
【0322】
【表12】
Figure 0003561139
【0323】
スクリプト生成部178は、表13のような、return文の残りの部分をブラウザ104に送信する(S66)。この部分は、Proxy 176が動作していない場合に、他の上流Proxy を利用するよう指示するものである。モバイルProxy 制御構造体180からProxy の名前とポート番号との組を取出し、”DIRECT”という文字列を付加したものである。
【0324】
文字列”DIRECT”は、モバイルProxy 制御構造体に記載されたProxy が全て応答しない時に、直接サーバ計算機120に接続を試みよという指示を意味する。
【0325】
【表13】
Figure 0003561139
【0326】
最後にProxy 176は、ブラウザ104とのコネクションを切断する(S68)。
【0327】
このように、モバイルProxy 制御構造体180に設定された上流Proxy 情報を元にAutomatic Proxy Configuration Scriptを生成することにより、Proxy 176が停止していてもブラウザ104は、他の上流Proxy を利用することができる。従ってProxy 176の動作状態に関わらず、ブラウザ104は、設定を変更することなく、動作を続ける事ができる。よって、Proxy 176の導入を容易にすることができる。
【0328】
ブラウザ104は、複数の上流Proxy がモバイルProxy 制御構造体180に設定されていれば、設定されている上流Proxy の順に接続を試みる。このため、本実施の形態の分散ファイルシステムは、上流Proxy の障害に強い構造となっている。
【0329】
また、Automatic Proxy Configuration Scriptはブラウザキャッシュ182に格納される。このため、ブラウザ104の立上げ時に、Proxy 176からAutomatic Proxy Configuration Scriptを読込むことができなくても、ブラウザキャッシュ182に格納されたAutomatic Proxy Configuration Scriptを使用することができる。
[実施の形態4]
図8を参照して、ローカルネットワーク112においては上流Proxy の情報、すなわち代表ゲートウェイ計算機116の名前およびポート番号は、Automatic Proxy Configuration Scriptに記述される場合がある。このAutomatic Proxy Configuration Scriptはサーバ計算機120より与えられるとし、そのファイル名を”http://www.foobar.co.jp/setup.pac” とする。Automatic Proxy Configuration Scriptの一例を表14に示す。
【0330】
【表14】
Figure 0003561139
【0331】
Automatic Proxy Configuration Scriptについて説明する。shExpMatch(host,”*.com”)はURL のホスト名の再後の部分が”.com”である場合に真となる関数である。よって、このAutomatic Proxy Configuration Scriptは、ユーザ100が取得要求を行なったファイルオブジェクトのURL のホスト名の再後の部分が”.com”に一致すれば、上流Proxy として”Proxy.foobar.co.jp:8080” に接続し、”Proxy.foobar.co.jp:8080” に接続できなければ、サーバ計算機120に直接接続するよう、ブラウザ104に指示する(”DIRECT”)。また、ホスト名の再後の部分が”.com”に一致しなければ、上流Proxy として”Proxy1.foobar.co.jp:8080”に接続し、” Proxy1.foobar.co.jp:8080” に接続できなければ、サーバ計算機120に直接接続するよう、ブラウザ104に指示する(”DIRECT”)。たとえば、”www.cnn.com” などのcom ドメインのサーバ計算機120に記憶されたファイルオブジェクトは、”Proxy.foobar.co.jp:8080” のProxy 経由で取得される。
【0332】
このようにAutomatic Proxy Configuration ScriptではJavaScriptを使って、よりフレキシブルにProxy 接続を表現できる。しかし、Proxy 176は、クライアント計算機172から見れば上流Proxy であるから、このスクリプトを解釈して上流Proxy につなぐためには、JavaScriptのインタプリタが必要になる。このインタプリタの搭載は、ゲートウェイ計算機174の負荷を増大させる。
【0333】
図10を参照して、実施の形態4に係る分散ファイルシステムは、サーバ計算機120と、2台の代表ゲートウェイ計算機116と、ローカルサーバ計算機196と、ゲートウェイ計算機194と、クライアント計算機172と、グローバルネットワーク132と、ローカルネットワーク112とを含む。グローバルネットワーク132には、サーバ計算機120と、2台の代表ゲートウェイ計算機116と、ローカルサーバ計算機196とが接続されている。ローカルネットワーク112には、ゲートウェイ計算機194と、クライアント計算機172とが接続されている。
【0334】
クライアント計算機172には、ブラウザキャッシュ182が接続されており、ブラウザ104が動作している。ローカルサーバ計算機196には、後述する上流Automatic Proxy Configuration Script188が記憶されている。ゲートウェイ計算機194上では、Proxy 192が動作しており、上流Automatic Proxy Configuration Script190のアドレスがモバイルProxy 制御構造体の上流プロキシ名として記憶されている。Proxy 192は、スクリプト生成部178と、後述するProxy サーバスレッド184、186とを含む。
【0335】
図11を参照して、本実施の形態に係る分散ファイルシステムの各部は、以下のように動作する。クライアント計算機172の動作(S70〜S76)は、図9を参照して説明を行なった実施の形態3のクライアント計算機172の動作(S50〜S56)と同様であるため、説明は繰返さない。
【0336】
Proxy 192の行なう処理について説明する。
Proxy 192は、ローカルサーバ計算機196とのコネクションを確立し、表15のようなコマンドを送信し、上流Automatic Proxy Configuration Script188(”http://www.foobar.co.jp/setup.pac” )を取得し、上流Automatic Proxy Configuration Script190として記憶する(S80)。この上流Automatic Proxy Configuration Script190の内容は、表14で示したものと同じとする。
【0337】
【表15】
Figure 0003561139
【0338】
スクリプト生成部178は、上流Automatic Proxy Configuration Script190よりreturn文を抽出する。return文中に記述してあるPROXY 文から、表16のようなProxy サーバのリストを作成する(S82)。なおサーバ名称とポート番号との組が同じであれば同じProxy であるため、重複のないように表から削除する。
【0339】
【表16】
Figure 0003561139
【0340】
抽出されたProxy サーバの個数だけProxy サーバスレッド184、186を起動する(S84)。Proxy サーバスレッド186のポート番号は、Proxy サーバスレッド184のポート番号(8080番)に1加えた値(8081番)とする。Proxy サーバスレッド184、186と、上流Proxy との対応を表17に示す。ゲートウェイ計算機194のIPアドレスを123.45.67.10とする。Proxy サーバスレッド184、186は、それぞれの代表ゲートウェイ計算機116(”Proxy.foobar.co.jp”、”Proxy1.foobar.co.jp” )をそれぞれ上流のProxy サーバとする。この代表ゲートウェイ計算機116の名称およびポート番号は、モバイル制御構造体(図示せず)に記憶されている。
【0341】
【表17】
Figure 0003561139
【0342】
以降の処理は、ブラウザ104よりAutomatic Proxy Configuration Scriptの取得要求を受信した場合に、動的に行なわれる。
【0343】
Proxy 192は、ブラウザ104より表18のような要求があるまで、待機する(S86)。
【0344】
【表18】
Figure 0003561139
【0345】
要求があった場合には、表19のようなAutomatic Proxy Configuration Scriptの固定部分をブラウザ104に送信する(S88)。
【0346】
【表19】
Figure 0003561139
【0347】
表20を参照して、上流Automatic Proxy Configuration Script190のPROXY 文の上流Proxy の部分を、対応表17に従って置換し、ブラウザ104に送信する(S90)。すなわち、上流Proxy の部分をProxy サーバスレッド184、186に置きかえる。
【0348】
【表20】
Figure 0003561139
【0349】
最後に、ブラウザ104とのコネクションを切断する(S92)。
表21を参照して、ブラウザ104は、上述の処理に従い生成されたAutomatic Proxy Configuration Scriptを用いることにより、モバイルProxy を利用した上流Proxy への経路分散をすることができる。
【0350】
すなわち、ブラウザ104はAutomatic Proxy Configuration Scriptを解釈し、ファイルオブジェクト取得要求先のURL がcom ドメインにマッチするとき、Proxy サーバスレッド184(”123.45.67.10:8080” )経由で代表ゲートウェイ計算機116のProxy(”Proxy.foobar.co.jp:8080” )をアクセスし、さらにサーバ計算機120にアクセスする。ファイルオブジェクト取得要求先のURL がそれ以外のドメインの場合には、Proxy サーバスレッド186(”123.45.67.10:8081” )経由で代表ゲートウェイ計算機116のProxy (”Proxy1.foobar.co.jp:8080”)をアクセスし、さらにサーバ計算機120にアクセスする。
【0351】
【表21】
Figure 0003561139
【0352】
このように、ゲートウェイ計算機194上で、上流の代表ゲートウェイ計算機116の数だけProxy サーバスレッド184、186を動作させる。ブラウザ104が、表21のようなAutomatic Proxy Configuration Scriptに従い、Proxy サーバスレッド184、186の接続先を決定する。このため、Proxy 192内にブラウザ104と同じJavaScriptインタプリタを実装せずに、代表ゲートウェイ計算機116の切替えを行なうことができるという効果がある。
[実施の形態5]
図12を参照して、実施の形態5に係る分散ファイルシステムは、サーバ計算機120と、ローカルサーバ計算機114と、代表ゲートウェイ計算機116と、クライアント計算機102と、ゲートウェイ計算機200と、代表ゲートウェイ計算機126と、グローバルネットワーク132、ローカルネットワーク112、およびネットワーク128とを含む。グローバルネットワーク132には、サーバ計算機120と、代表ゲートウェイ計算機116とが接続されている。ローカルネットワーク112には、代表ゲートウェイ計算機116と、ローカルサーバ計算機114と、移動前のゲートウェイ計算機200と、クライアント計算機102とが接続されている。ネットワーク128には、サーバ計算機120と、代表ゲートウェイ計算機126と、移動後のゲートウェイ計算機200とが接続されている。クライアント計算機102には、Web サーバ106が接続されおり、ブラウザ104が動作している。ゲートウェイ計算機200には、モバイルProxy キャッシュ118とヒストリページを記憶するためのヒストリ202が接続されている。また、ゲートウェイ計算機200上では、Proxy 108が動作している。
【0353】
本実施の形態に係る分散ファイルシステムの動作のうち、ファイルオブジェクト取得に関しては、実施の形態1で説明したものと同様であるため、説明は繰返さない。
【0354】
Proxy 108は、ファイルオブジェクトの中継を行なう際に、ヒストリページを作成し、ヒストリ202に記憶する。Proxy 108は、中継を行なったファイルオブジェクトの名称とその時間とを、モバイルProxy 制御構造体(図示せず)と共にヒストリページに記憶する。ヒストリページはHTML(Hyper Text Markup Language)で記述されており、各ヒストリ情報が表22のような順で記載されている。このヒストリ情報が過去にさかのぼった一定数(たとえば50)記憶される。ヒストリページの例を表23に示す。
【0355】
【表22】
Figure 0003561139
【0356】
【表23】
Figure 0003561139
【0357】
ヒストリページはモバイルProxy 108が管理する。このため”http://localhost:8080/history/8080.html” というWeb ページとして、ブラウザ104より参照可能である。”localhost” とは、IPアドレス127.0.0.1 の計算機、すなわちゲートウェイ計算機200のIPアドレスを指す。このため、ヒストリ202をゲートウェイ計算機200と共に移動させれば、移動先でもヒストリページを参照することが可能となる。
【0358】
また、ヒストリページには、ネットワーク名が記載されている。このため、Proxy 108が中継を行なったファイルオブジェクトが、どのネットワークで参照したものか一目瞭然である。
【0359】
また、実施の形態2で説明したProxy 認証を用いることによりヒストリページ”http://localhost:8080/history/8080.html” のアクセスを特定のユーザに限定することが可能となる。これに伴い、プライバシーの保護が図られるという効果がある。
[実施の形態6]
図13を参照して、実施の形態6に係る分散ファイルシステムは、グローバルネットワーク210と、ローカルネットワーク212と、ローカルネットワーク240とを含む。
【0360】
グローバルネットワーク210には、サーバ計算機214、218、代表ゲートウェイ計算機226、246などが接続されいる。ローカルネットワーク212には、クライアント計算機222、代表ゲートウェイ計算機226、ゲートウェイ計算機230などが接続されている。グローバルネットワーク210の実例としては、TCP/IPプロトコルを利用して構築されたインターネットが挙げられる。ローカルネットワーク212の実例としては、インターネット(グローバルネットワーク210)にファイアーウォールマシン(代表ゲートウェイ計算機226)を介して接続されたイントラネットが挙げられる。
【0361】
サーバ計算機214、218は、それぞれハイパーテキスト形式のファイルオブジェクト216、220を提供する。グローバルネットワーク210がインターネットの場合、ハイパーテキスト形式のファイルオブジェクトで構成された分散ファイルシステムはWWW システムと呼ばれ、サーバ計算機214、218は、各々WWW サーバまたはHTTPサーバと呼ばれる。グローバルネットワーク210上には複数のサーバ計算機214、218が存在し得る。また、サーバ計算機214、218内には、それぞれ複数のファイルオブジェクト216、220が存在し得る。以下では、その代表例としてサーバ計算機214とファイルオブジェクト216を用いて説明を行う。
【0362】
クライアント計算機222には、ユーザがハイパーテキスト形式のファイルオブジェクト216を閲覧するためのソフトウェア(ブラウザ)224が用意されている。ローカルネットワーク212がイントラネットの場合、クライアント計算機222としては、ワークステーション、パーソナルコンピュータ(パソコン)、携帯端末などが挙げられる。ネットワーク上には複数のクライアント計算機が存在し得る。以下では、その代表例としてクライアント計算機222を用いて説明を行う。
【0363】
代表ゲートウェイ計算機226は、グローバルネットワーク210上のサーバ計算機214のファイルオブジェクト216をローカルネットワーク212へ中継する役割を持つ。このために、代表ゲートウェイ計算機226では、ファイルオブジェクト216を中継するためのソフトウェア(Proxy )228が実行されている。代表ゲートウェイ計算機226は、グローバルネットワーク210とローカルネットワーク212を分離してローカルネットワーク212の安全性を高める役割を持っている。グローバルネットワーク210とローカルネットワーク212がそれぞれインターネットとイントラネットの場合、代表ゲートウェイ計算機226は特にファイアーウォールマシンと呼ばれる。
【0364】
ゲートウェイ計算機230は、代表ゲートウェイ計算機226が中継したサーバ計算機214のファイルオブジェクト216をクライアント計算機222のブラウザ224へ中継する役割を持つ。このために、ゲートウェイ計算機230でも、ファイルオブジェクト216を中継するためのProxy 232が実行されている。ローカルネットワーク212上には複数のゲートウェイ計算機が存在し得る。以下では、その代表例としてゲートウェイ計算機230を用いて説明を行う。
【0365】
ローカルネットワーク212の形態によっては、代表ゲートウェイ計算機226が存在しない場合もある。この場合、グローバルネットワーク210とローカルネットワーク212との間に厳密な区別はなく、ゲートウェイ計算機230のProxy 232は、サーバ計算機214のファイルオブジェクト216をクライアント計算機222のブラウザ224へ直接中継する。以下では、代表ゲートウェイ計算機226が存在する場合を例として説明を行う。
【0366】
ゲートウェイ計算機230で実行されるProxy 232は、中継部234、記憶部236、およびプリフェッチ制御部238から構成される。一般にProxy は、中継部234の機能と、(必要であれば)記憶部236の機能とを備えている。代表ゲートウェイ計算機226で実行されるProxy 228も同様である。
【0367】
中継部234は、クライアント計算機222のブラウザ224を通じてユーザから送られてくる、サーバ計算機214のファイルオブジェクト216に対するアクセス要求(以下「ユーザアクセス要求」という。)を、代表ゲートウェイ計算機226のProxy 228へ中継する。これと同時に、Proxy 228から返ってくる、ユーザアクセス要求に対するファイルオブジェクト216を、ブラウザ224へ中継する。
【0368】
記憶部236は、中継したファイルオブジェクト216の複製を、ハードディスクやフラッシュメモリなどの記憶装置に記憶する。また、ユーザアクセス要求に対するファイルオブジェクト216の複製が既に記憶装置に記憶されており、利用可能である場合には、その複製を、中継部234を通してブラウザ224へ中継する。これによって、ユーザが一度閲覧したファイルオブジェクト216を再び閲覧しようとすると、記憶部236に記憶されているその複製が利用されるため、高速なアクセスが可能となる。一般に記憶部236はキャッシュと呼ばれる。
【0369】
プリフェッチ制御部238は、中継したファイルオブジェクト216を解析する。インターネット上のWWW システムなどで利用されるファイルオブジェクトはハイパーテキスト形式で記述されている。プリフェッチ制御部238は、ファイルオブジェクト216のハイパーテキスト情報を解析して、その中に含まれるハイパーリンク先の別ファイルオブジェクト(例えば、サーバ計算機218のファイルオブジェクト220)へのアドレス情報を抽出する。そして、そのファイルオブジェクト220に対するアクセス要求(以下「プリフェッチアクセス要求」という。)を、中継部234へ送る。
【0370】
中継部234は、プリフェッチ制御部238から送られてくる、ファイルオブジェクト220に対するプリフェッチアクセス要求を、ユーザアクセス要求の場合と同様に、代表ゲートウェイ計算機226のProxy 228へ中継する。ただし、Proxy 228から返ってくる、プリフェッチアクセス要求に対するファイルオブジェクト220は、記憶部236にその複製を記憶するだけで、特定のクライアント計算機へは中継しない。また、中継したファイルオブジェクト220は、プリフェッチ制御部238へ送られて新たなプリフェッチアクセス要求を行うための解析の対象となる。
【0371】
この分散ファイルシステムにおいては、ゲートウェイ計算機230が移動可能な計算機(モバイル計算機)である。
【0372】
ローカルネットワーク212とは異なる別のローカルネットワーク240には、クライアント計算機242、代表ゲートウェイ計算機246などが接続されている。ローカルネットワーク240の実例としては、インターネット(グローバルネットワーク210)にファイアーウォールマシン(代表ゲートウェイ計算機246)を介して接続されたイントラネットが挙げられる。ローカルネットワーク240における、クライアント計算機242、ブラウザ244、代表ゲートウェイ計算機246、Proxy 248の役割は、それぞれローカルネットワーク212における、クライアント計算機222、ブラウザ224、代表ゲートウェイ計算機226、Proxy 228の役割と同じである。
【0373】
ローカルネットワーク212上で、クライアント計算機222と代表ゲートウェイ計算機226との間での、ユーザアクセス要求、プリフェッチアクセス要求、ファイルオブジェクトの中継に利用されたモバイル計算機230は、ローカルネットワーク240上に接続される。これにより、モバイル計算機230は、クライアント計算機242と代表ゲートウェイ計算機246との間での、ユーザアクセス要求、プリフェッチアクセス要求、ファイルオブジェクトの中継に利用される。
【0374】
ローカルネットワーク212上で、ユーザがブラウザ224を通じてサーバ計算機214のファイルオブジェクト216を閲覧すると、その複製が、モバイル計算機230のProxy 232の記憶部236に記憶される。そして、移動先のローカルネットワーク240上で、ユーザがブラウザ244を通じてファイルオブジェクト216を閲覧しようとすると、記憶部236に記憶されているその複製が利用されるため、高速なアクセスが可能となる。
【0375】
また、ローカルネットワーク212上で、プリフェッチ制御部238が、ユーザがまだ閲覧したことがないサーバ計算機218のファイルオブジェクト220に対してプリフェッチアクセス要求を行うと、その複製が、記憶部236に記憶される。そして、移動先のローカルネットワーク240上で、ユーザがブラウザ244を通じてサーバ計算機218のファイルオブジェクト220を閲覧しようとすると、記憶部236に記憶されているその複製が利用されるため、高速なアクセスが可能となる。
【0376】
図14を参照して、分散ファイルシステムで用いられるゲートウェイ計算機(モバイル計算機)は、Proxy 232に加えて、ユーザがハイパーテキスト形式のファイルオブジェクトを閲覧するためのブラウザ250を備えたゲートウェイ計算機(モバイル計算機)252であっても良い。
【0377】
これにより、ローカルネットワーク212上においてクライアント計算機222が利用できない状況や、ローカルネットワーク240上においてクライアント計算機222が利用できない状況においても、ユーザはゲートウェイ計算機(モバイル計算機)252のブラウザ250を通じて、サーバ計算機214のファイルオブジェクト216、サーバ計算機218のファイルオブジェクト220、およびゲートウェイ計算機(モバイル計算機)252の記憶部236に記憶されているそれらの複製を閲覧することができる。
【0378】
図15を参照して、ゲートウェイ計算機(モバイル計算機)230/252は、CPU262、メモリ264、I/O部266、ネットワークI/O部270が、内部バス260で接続されたものである。I/O部266の先には、ハードディスクやフラッシュメモリなどの記憶装置268が接続されている。また、ネットワークI/O部270の先には、ローカルネットワーク212がネットワーク接続されている。
【0379】
ローカルネットワーク212には、上記ゲートウェイ計算機(モバイル計算機)230/252、クライアント計算機222/242、代表ゲートウェイ計算機226/246などがネットワーク接続されている。また、グローバルネットワーク210には、サーバ計算機214/218、上記代表ゲートウェイ計算機226/246などがネットワーク接続されている。
【0380】
図16を参照して、実施の形態6に係るゲートウェイ計算機(モバイル計算機)230/252の構成および動作について説明する。中継部234は、アクセス要求中継部280と、ファイルオブジェクト中継部282とを含む。プリフェッチ制御部238は、解析部294と、読み捨て部296とを含む。記憶部236は、ファイルオブジェクトの複製284、286を記憶する。
【0381】
ここで用語の説明を行う。ユーザアクセス要求、プリフェッチアクセス要求を総称して、アクセス要求(WWW システムにおいては、リクエストヘッダ)という。アクセス要求には、要求しているファイルオブジェクトのアドレス情報(WWW システムにおいては、URL (Uniform Resource Locator))、記憶装置268に記憶されているファイルオブジェクトの複製の利用を禁止する命令(WWW システムにおいては、Pragma: no−cacheフィールド。以下「強制取得命令」という。)、記憶装置に記憶されているファイルオブジェクトの複製が最新の場合のみ利用するよう指示する命令(WWW システムにおいては、If−Modified−Since フィールド。以下「条件付き取得命令」という。)などが含まれる。
【0382】
表24は、WWW システムにおけるリクエストヘッダの一例(一部のみ)である。
【0383】
【表24】
Figure 0003561139
【0384】
アクセス要求に対してサーバ計算機が返すファイルオブジェクトは、オブジェクト情報(WWW システムにおいては、レスポンスヘッダ)とオブジェクト本体(WWW システムにおいては、レスポンスボディ)から構成される。オブジェクト情報には、オブジェクト本体の最終更新日時(WWW システムにおいては、Last−Modified フィールド)、オブジェクト本体のタイプ(WWW システムにおいては、Content−Typeフィールド)、オブジェクト本体のサイズ(WWW システムにおいては、Content−Lengthフィールド)、などが含まれる。
【0385】
表25は、WWW システムにおけるレスポンスヘッダの一例(一部のみ)である。
【0386】
【表25】
Figure 0003561139
【0387】
次に、矢印a〜tの流れに沿って、Proxy 232の処理内容の詳細を説明する。なお、図16では代表ゲートウェイ計算機226/246が省略してあり、ゲートウェイ計算機230/252はサーバ計算機214やサーバ計算機218と直接ネットワーク接続されているが、間に代表ゲートウェイ計算機226/246が存在する場合でも処理内容に変わりはない。
【0388】
まず、ユーザはクライアント計算機222/242のブラウザ224/244を通して、サーバ計算機214のファイルオブジェクト216に対するアクセス要求(以下「ユーザアクセス要求」という。)を行う。この処理は、WWW システムにおいては、ブラウザに表示されているハイパーリンクのうち一つを選択する行為となる(矢印a)。
【0389】
ブラウザ224/244は、そのユーザアクセス要求を、アクセス要求中継部280へ送る(矢印b)。
【0390】
アクセス要求中継部280は、そのユーザアクセス要求を、サーバ計算機214へ送る(矢印c)。
【0391】
サーバ計算機214は、そのユーザアクセス要求に対するファイルオブジェクト216を、ファイルオブジェクト中継部282へ返す(矢印d)。
【0392】
記憶部236に、ファイルオブジェクト216の複製284が既に記憶されており、利用可能である場合には、上述の矢印c、dの処理は行われず、ファイルオブジェクト216の複製284がファイルオブジェクト中継部282へ送られる。また、ファイルオブジェクト216の複製284が利用可能でない場合(有効期限切れなど)でも、矢印dで返ってきたファイルオブジェクト216が、ファイルオブジェクト216の複製284を利用するよう指示したオブジェクト情報(WWW システムにおいては、レスポンスコードの値が”304” であるレスポンスヘッダ)のみである場合には、ファイルオブジェクト216の複製284がファイルオブジェクト中継部282へ送られる(矢印e)。
【0393】
ファイルオブジェクト中継部282は、矢印dで返ってきたファイルオブジェクト216、または、矢印eで送られてきたファイルオブジェクト216の複製284を、ブラウザ224/244へ返す(矢印f)。
【0394】
ブラウザ224/244は、矢印fで返ってきたファイルオブジェクト216、または、ファイルオブジェクトの複製284を、ユーザへ表示する(矢印g)。
【0395】
矢印fの処理と並行して、ファイルオブジェクト中継部282は、矢印dで返ってきたファイルオブジェクト216が再利用可能である場合には、記憶部236へファイルオブジェクト216の複製286として記憶する(矢印h)。
【0396】
矢印fの処理と並行して、アクセス要求中継部280は、矢印bで送られてきたユーザアクセス要求を、プリフェッチ制御部238へアクセス要求288として送る(矢印i)。
【0397】
矢印fの処理と並行して、ファイルオブジェクト中継部282は、矢印dで返ってきたファイルオブジェクト216、または、矢印eで送られてきたファイルオブジェクトの複製284のオブジェクト情報を、プリフェッチ制御部238へオブジェクト情報290として送る(矢印j)。
【0398】
矢印fの処理と並行して、ファイルオブジェクト中継部282は、矢印dで返ってきたファイルオブジェクト216、または、矢印eで送られてきたファイルオブジェクトの複製284のオブジェクト本体を、プリフェッチ制御部238へオブジェクト本体292として送る(矢印k)。
【0399】
プリフェッチ制御部238は、矢印iで送られてきたアクセス要求288を、解析部294へ送る(矢印l)。プリフェッチ制御部238は、矢印jで送られてきたオブジェクト情報290を、解析部294へ送る(矢印m)。プリフェッチ制御部238は、矢印kで送られてきたオブジェクト本体292を、解析部294へ送る(矢印n)。
【0400】
プリフェッチ制御部238は、Proxy 制御構造体298に設定されているプリフェッチアクセスの各種パラメータを、解析部294へ送る。Proxy 制御構造体に設定されているプリフェッチアクセスの各種パラメータの詳細については後述する(矢印o)。
【0401】
解析部294は、矢印lで送られてきたアクセス要求288、矢印mで送られてきたオブジェクト情報290、矢印oで送られてきたProxy 制御構造体298に設定されているプリフェッチアクセスの各種パラメータを利用して、矢印nで送られてきたオブジェクト本体292のハイパーテキスト情報の解析を行う。解析部294の処理手順の詳細については図18、および図19を参照して後述する。
【0402】
解析部294が、矢印dで返ってきたファイルオブジェクト216の中継を中止した方が良いと判断した場合には、ファイルオブジェクト中継部282に対してファイルオブジェクト216の中継を中止するよう通知する(矢印p)。
【0403】
解析部294が、矢印nで送られてきたオブジェクト本体292のハイパーテキスト情報を解析して、ハイパーリンク先の別ファイルオブジェクト(例えば、サーバ計算機218のファイルオブジェクト220)を抽出した場合には、アクセス要求中継部280に対してファイルオブジェクト220のアクセス要求(以下「プリフェッチアクセス要求」という。)を行う(矢印q)。
【0404】
アクセス要求中継部280は、矢印qで送られてきたプリフェッチアクセス要求を、サーバ計算機218へ送る(矢印r)。
【0405】
サーバ計算機218は、矢印rで送られてきたプリフェッチアクセス要求に対するファイルオブジェクト220を、ファイルオブジェクト中継部282へ返す(矢印s)。
【0406】
ファイルオブジェクト中継部282は、矢印sで返ってきたファイルオブジェクト220を、プリフェッチ制御部238の読み捨て部296へ送る(矢印t)。読み捨て部296は、ファイルオブジェクト220を受ける処理のみを行なう。
【0407】
矢印tの処理と並行して、ファイルオブジェクト中継部282は、矢印sで返ってきたファイルオブジェクト220が再利用可能である場合には、記憶部236へファイルオブジェクト220の複製286として記憶する。これはユーザアクセス要求における矢印hの処理と同様である。
【0408】
矢印tの処理と並行して、アクセス要求中継部280は、矢印qで送られてきたプリフェッチアクセス要求を、プリフェッチ制御部238へアクセス要求288として送る。これはユーザアクセス要求における矢印iの処理と同様である。
【0409】
矢印tの処理と並行して、ファイルオブジェクト中継部282は、矢印sで返ってきたファイルオブジェクト220のオブジェクト情報を、プリフェッチ制御部238へオブジェクト情報290として送る。これはユーザアクセス要求における矢印jの処理と同様である。
【0410】
矢印tの処理と並行して、ファイルオブジェクト中継部282は、矢印sで返ってきたファイルオブジェクト220のオブジェクト本体を、プリフェッチ制御部238へオブジェクト本体292として送る。これはユーザアクセス要求における矢印kの処理と同様である。
【0411】
プリフェッチ制御部238は、矢印iで送られてきたアクセス要求288、矢印jで送られてきたオブジェクト情報290、矢印kで送られてきたオブジェクト本体292、Proxy 制御構造体298に設定されているプリフェッチアクセスの各種パラメータを、解析部294へ送り、新たなプリフェッチアクセス要求を行うための解析を行う。
【0412】
以降、上記の処理が繰り返される。
図17を参照して、ゲートウェイ計算機230/252のProxy 232の処理手順を説明する。Proxy 232の中継部234は、ユーザアクセス要求(矢印b)とプリフェッチアクセス要求(矢印q)を受け付けるが、アクセス要求の違いによってその処理手順に違いはない。
【0413】
中継部234は、クライアント計算機222/242のブラウザ224/244や、自分自身(ゲートウェイ計算機230/252)のプリフェッチ制御部238などから、サーバ計算機214のファイルオブジェクト216や、サーバ計算機218のファイルオブジェクト220などへのアクセス要求があるまで待機する(S100)。
【0414】
アクセス要求(矢印b、q)があった場合(S100でYES)、中継部234は、アクセス要求を送ってきたクライアント計算機222/242(矢印bよりアクセス要求があった場合)や自分自身(ゲートウェイ計算機)230/252(矢印qよりアクセス要求があった場合)とネットワーク接続を行う(S102)。
【0415】
ネットワーク接続を行ったクライアント計算機(クライアント計算機224/244の他、ここでは自分自身230/252もクライアント計算機と呼ぶこととする。)からアクセス要求(矢印b、q)を得る(S104)。
【0416】
次に、アクセス要求(矢印b、q)が求められているサーバ計算機のファイルオブジェクトの複製が、Proxy 232の記憶部236にファイルオブジェクトの複製284として記憶されており、アクセス要求(矢印b、q)や記憶部236がファイルオブジェクトの複製284を利用することを許可しているかどうか判断する(S106)。
【0417】
S106でファイルオブジェクトの複製284の利用が不可能な場合、アクセス要求(矢印b、q)が求めているサーバ計算機214/218とネットワーク接続を行う(S108)。次に、ネットワーク接続を行ったサーバ計算機214/218に対して、そのアクセス要求を送る(矢印c、r、S110)。
【0418】
中継部234は、アクセス要求(矢印c、r)を送ったサーバ計算機214/218から応答があるまで待機する(S112)。応答があった場合(S112でYES)、応答を返してきたサーバ計算機214/218からファイルオブジェクト情報を得る(矢印d、s、S114)。
【0419】
ファイルオブジェクト情報(矢印d、s)が、クライアント計算機(クライアント計算機222/244やゲートウェイ計算機230/252)のローカルなファイルオブジェクトの複製を利用するよう求めているかどうか判断する(S116)。
【0420】
クライアント計算機(クライアント計算機222/244やゲートウェイ計算機230/252)のローカルなファイルオブジェクトの複製を利用するよう求めていない場合(S116でNO)、ファイルオブジェクト情報(矢印d、s)が、記憶部236のファイルオブジェクトの複製284を利用するよう求めているかどうか判断する(S118)。
【0421】
ファイルオブジェクトの複製284を利用するよう求めていない場合(S118でNO)、ファイルオブジェクト情報を返してきたサーバ計算機214/218からファイルオブジェクト本体を得る(矢印d、s、S120)。
【0422】
サーバ計算機214/218から得たファイルオブジェクト情報とファイルオブジェクト本体とを、記憶部236にファイルオブジェクトの複製286として記憶しても良いか判断する(S122)。ファイルオブジェクトの複製286として記憶しても良いと判断した場合(S122でYES)、ファイルオブジェクト情報とファイルオブジェクト本体を、ファイルオブジェクトの複製286として記憶する(矢印h、S124)。
【0423】
ファイルオブジェクトの複製286として記憶しない場合(S122でNO)、またはS124の処理の後、中継部234は、アクセス要求(矢印b、q)のあったクライアント計算機(クライアント計算機222/242やゲートウェイ計算機230/252)に対して、ファイルオブジェクト情報とファイルオブジェクト本体とを送る(矢印f、t)。クライアント計算機がゲートウェイ計算機230/252の場合(矢印t)、ファイルオブジェクトはプリフェッチ制御部238の読み捨て部296へ送られ、特に何も処理は行われない。また、中継部234は、矢印b、qで中継されたアクセス要求、矢印f、tで中継されたファイルオブジェクト情報とファイルオブジェクト本体とを、それぞれプリフェッチ制御部238に送り(矢印i、j、k)、解析部294で新たなプリフェッチアクセス要求を行うための解析が行われる(S126)。
【0424】
ファイルオブジェクトの複製284の利用が可能な場合(S106でYES)、または、ファイルオブジェクト情報がファイルオブジェクトの複製284を利用するよう求めている場合(S118でYES)には、ファイルオブジェクトの複製284は中継部234に送られる(矢印e、S128)。
【0425】
S128の処理で得たファイルオブジェクトの複製は、クライアント計算機(クライアント計算機222/242やゲートウェイ計算機230/252)へ送られる(矢印f、t)。クライアント計算機がゲートウェイ計算機230/252の場合(矢印t)、ファイルオブジェクトはプリフェッチ制御部238の読み捨て部296へ送られ、特に何も処理は行われない。また、中継部234は、矢印b、qで中継されたアクセス要求、矢印f、tで中継されたファイルオブジェクトの複製(に含まれるファイルオブジェクト情報とファイルオブジェクト本体)を、それぞれプリフェッチ制御部238に送り(矢印i、j、k)、解析部294で新たなプリフェッチアクセス要求を行うための解析が行われる(S130)。
【0426】
また、クライアント計算機(クライアント計算機222/242やゲートウェイ計算機230/252)のローカルなファイルオブジェクトの複製を利用するよう求めている場合(S116でYES)、ファイルオブジェクト情報のみがクライアント計算機(クライアント計算機222/242やゲートウェイ計算機230/252)へ送られる(矢印f、t)。クライアント計算機がゲートウェイ計算機230/252の場合(矢印t)、ファイルオブジェクト情報はプリフェッチ制御部238の読み捨て部296へ送られ、特に何も処理は行われない。この場合は、ファイルオブジェクト本体の中継が行われないため、プリフェッチ制御部238にもファイルオブジェクト本体が送られず(矢印k)、新たなプリフェッチアクセス要求を行うための解析は行われない(S132)。
【0427】
最後に、S126、S130、S132でクライアント計算機(クライアント計算機222/242やゲートウェイ計算機230/252)に対してファイルオブジェクト(またはファイルオブジェクトの複製やファイルオブジェクト情報のみ)が送られた後、処理手順の開始(S100)に戻って次のアクセス要求があるまで待機する。
【0428】
図18を参照して、解析部294の処理手順を説明する。解析部294で実行されるプリフェッチプロセスは、アクセス要求およびファイルオブジェクトの中継とは独立して並列に実行される別プロセスである。したがって、プリフェッチプロセスの処理手順がループ処理などによって中断される場合も、アクセス要求およびファイルオブジェクトの中継は影響を受けることはない。
【0429】
まず、矢印lを経由して送られてきたアクセス要求(以下「アクセス要求」という。)、矢印mを経由して送られてきたオブジェクト情報(以下「オブジェクト情報」という。)、矢印oを経由して送られてきたProxy 制御構造体に設定されているプリフェッチアクセスの各種パラメータ(以下「Proxy 制御構造体」という。)を利用して、矢印nを経由して送られてきたオブジェクト本体(以下「オブジェクト本体」という。)を解析して、プリフェッチアクセス要求を行ってもよいか判定する(S140)。プリフェッチアクセス要求を行ってもよい場合とは、オブジェクト情報に含まれるオブジェクト本体のタイプがハイパーテキストである場合(WWW システムにおいては、レスポンスヘッダのContent−Typeフィールドに”text/html” などが記述されている場合)で、かつProxy 制御構造体のプリフェッチアクセス許可に”true”が設定されている場合である。プリフェッチアクセス要求を行ってはならないと判定された場合(S140でNO)、処理を終了する。
【0430】
プリフェッチアクセス要求を行ってもよいと判定された場合(S140でYES)、アクセス要求がユーザアクセス要求なのかプリフェッチアクセス要求なのかを判定する(S142)。プリフェッチアクセス要求の場合には、プリフェッチアクセス要求を行う元になったユーザアクセス要求が要求していたファイルオブジェクトのアドレス情報(以下「プリフェッチアクセス要求の元アドレス情報」という。)や、プリフェッチアクセス要求の階層などの情報がアクセス要求に含まれている。これらの情報は、図19を参照して後述するS184の処理において、プリフェッチアクセス要求を行う際に追加される情報である。
【0431】
表26は、WWW システムにおけるプリフェッチアクセス要求のリクエストヘッダの一例(一部のみ)である。X−Prefetchで始まる行が、プリフェッチアクセス要求のみに含まれる情報である。X−Prefetch−URLフィールドに記述されているURL”http://www.foobar.co.jp/” は、プリフェッチアクセス要求の元アドレス情報である。また、X−Prefetch−Levelフィールドに記述されている数値” 1” は、プリフェッチアクセス要求の階層である。なお、X−Prefetchで始まる行は、WWW システムでは規定されていない本発明の独自拡張である。X−Prefetchで始まる行は、アクセス要求中継部280がプリフェッチアクセス要求を中継する際に(矢印r)削除される。
【0432】
【表26】
Figure 0003561139
【0433】
アクセス要求がユーザアクセス要求であると判定された場合(S142でNO)、以前のユーザアクセス要求に対して発生した、現在進行中の他の全てのプリフェッチプロセスを終了させる(S144)。
【0434】
S144の処理の後、ユーザアクセス要求が要求しているファイルオブジェクトのアドレス情報(WWW システムにおいては、リクエストヘッダの一行目に記述されているURL )を、プリフェッチアクセス要求の元アドレス情報として記憶する(S146)。S146の処理の後、プリフェッチアクセス要求の階層を1に初期化する(S148)。S148の処理の後、プリフェッチアクセス要求の総数を0に初期化する(S150)。
【0435】
アクセス要求がプリフェッチアクセス要求であると判定された場合(S142でYES)、ファイルオブジェク中継部282で行われているファイルオブジェクトの中継(矢印d、e、f)を続けるかどうか判定する(S152)。ファイルオブジェクトの中継を続ける場合とは、オブジェクト情報に含まれるオブジェクト本体のサイズ(WWW システムにおいては、レスポンスヘッダのContent−Lengthフィールドに記述されている数値)が、Proxy 制御構造体のファイルオブジェクトサイズ制限に設定してある数値以下である場合である。
【0436】
ファイルオブジェクトの中継を続けないと判定された場合(S152でNO)、ファイルオブジェクト中継部282に対してファイルオブジェクトの中継を中止するよう通知して(矢印p)、処理を終了する(S154)。
【0437】
ファイルオブジェクトの中継を続けると判定された場合(S152でYES)、直前の別のプリフェッチプロセスまでのプリフェッチアクセス要求の総数が、Proxy 制御構造体のプリフェッチアクセス総数に設定してある数値MAX以上であるか否かを判断する(S156)。ある数値MAX以上であれば(S156でYES)、処理を終了する。
【0438】
プリフェッチアクセス要求の総数がある数値MAX以上でない場合(S156でNO)、プリフェッチアクセス要求に含まれるプリフェッチアクセス要求の元アドレス情報(WWW システムにおいては、X−Prefetch−URLフィールドに記述されているURL )が、以前のプリフェッチプロセスのS146の処理で記憶されたプリフェッチアクセス要求の元アドレス情報と一致するか判定する(S158)。
プリフェッチアクセス要求の元アドレス情報が一致しない場合(S158でNO)、このプリフェッチプロセスが対象にしているプリフェッチアクセス要求は、以前の古いユーザアクセス要求を元にしたプリフェッチアクセス要求であるため、処理を終了する。
【0439】
プリフェッチアクセス要求の元アドレス情報が一致した場合(S158でYES)、プリフェッチアクセス要求の階層を1増やす(S160)。また、プリフェッチアクセス要求の総数を1増やす。(S162)。
【0440】
S150またはS162の処理後、オブジェクト本体の解析を行い、処理を終了する(S164)。
【0441】
図19を参照して、S164の処理を詳述する。
オブジェクト本体を解析して、まだ処理を行っていないハイパーリンクが存在するかどうか判定する(S170)。処理を行っていないハイパーリンクが存在しない場合(S170でNO)、処理を終了する。なお、以下の説明では、ファイルオブジェクトを表示する時のみ参照されるイメージファイルオブジェクト(以下「インラインイメージ」という。)に対するアドレス情報も、便宜上、ハイパーリンクと呼ぶこととする。
【0442】
表27は、WWW システムのハイパーテキスト(HTML)におけるハイパーリンクの例である。<a href=” …”>…</a>のタグでURL を指定したものは通常のハイパーリンク、<img src=”…”>のタグでURL を指定したものはインラインイメージに対する(便宜上の)ハイパーリンクの例である。
【0443】
【表27】
Figure 0003561139
【0444】
S170で処理を行っていないハイパーリンクが存在する場合、そのハイパーリンクを抽出して、ハイパーリンク先の別ファイルオブジェクトのアドレス情報を取得する。( S172)
S172の処理後、抽出したハイパーリンク先の別ファイルオブジェクトがインラインイメージかどうか判定する(S174)。WWW システムにおいては、インラインイメージは<img src=”…”>のタグで指定されるため容易に判定できる。
【0445】
ハイパーリンク先の別ファイルオブジェクトがインラインイメージでないと判定された場合(S174でNO)、ハイパーリンク先の別ファイルオブジェクトがハイパーテキストかどうか判定する(S176)。ハイパーテキストの判定には、ファイルオブジェクトのアドレス情報に含まれる拡張子を利用する。WWW システムにおいては、URL の拡張子が”.html””.htm” などのファイルオブジェクトはハイパーテキストであると判定する。ハイパーテキストでないと判定された場合(S176でNO)、S170へ戻って次のハイパーリンクを抽出する。
【0446】
ハイパーリンク先の別ファイルオブジェクトがハイパーテキストであると判定された場合(S176でYES)、S148、S160の処理で設定したプリフェッチアクセス要求の階層が、Proxy 制御構造体の最大プリフェッチアクセス階層数MAX以下であるか判定する(S178)。最大プリフェッチアクセス階層数以下でない場合(S178でNO)、S170へ戻って次のハイパーリンクを抽出する。
【0447】
ハイパーリンク先の別ファイルオブジェクトがインラインイメージであると判定された場合(S174でYES)、および、プリフェッチアクセス要求の階層が最大プリフェッチアクセス階層数以下である場合(S178でYES)、そのファイルオブジェクトに対してプリフェッチアクセス要求を行ってよいか判定する(S180)。プリフェッチアクセス要求を行ってよい場合とは、ファイルオブジェクトのアドレス情報に含まれる拡張子が、Proxy 制御構造体のファイルオブジェクトタイプ制限で設定されている拡張子と一致しなかった場合で、かつ、ファイルオブジェクトのアドレス情報に含まれるサーバ計算機の名称が、Proxy 制御構造体のプリフェッチアクセス禁止サーバ計算機に設定されているサーバ計算機の名称と一致しなかった場合である。WWW システムにおいては、ファイルオブジェクトのアドレス情報に含まれる拡張子は、URL の拡張子”gif” 、”jpg” 、”jpeg”などに相当する。また、ファイルオブジェクトのアドレス情報に含まれるサーバ計算機の名称は、URL のホスト名称部分”www.foobar.co.jp”、”123.45.67.89”などに相当する。プリフェッチアクセス要求を行ってはならないと判定された場合(S180でNO)、S170へ戻って次のハイパーリンクを抽出する。
【0448】
プリフェッチアクセス要求を行ってよいと判定された場合(S180でYES)、現在実行中のプリフェッチアクセス要求の総数が、Proxy 制御構造体の同時プリフェッチアクセス要求数以上か否かを判定する(S182)。同時プリフェッチアクセス要求数以上である場合(S182でYES)、現在実行中のプリフェッチアクセス要求の総数が、同時プリフェッチアクセス要求数以上でなくなるまで、このステップを繰り返す。
【0449】
プリフェッチアクセス要求の総数が、同時プリフェッチアクセス要求数以上でないと判定された場合(S182でNO)、S172の処理で取得した別ファイルオブジェクトのアドレス情報、プリフェッチアクセス要求の元アドレス情報、および、S148、S150の処理で設定したプリフェッチアクセス要求の階層を含むアクセス要求を生成して、アクセス要求中継部280に対して新しいプリフェッチアクセス要求を行う(矢印q、S184)。そして、S170へ戻って次のハイパーリンクを抽出する。
【0450】
再度表26を参照して、WWW システムにおけるプリフェッチアクセス要求のリクエストヘッダの一例(一部のみ)を説明する。一行目に記述されているURL 、”http://www.foobar.co.jp/menu.html” は、S172の処理で取得した別ファイルオブジェクトのアドレス情報である。また、X−Prefetch−URLフィールドに記述されているURL”http://www.foobar.co.jp/” は、プリフェッチアクセス要求の元アドレス情報である。また、X−Prefetch−Levelフィールドに記述されている数値” 1” は、S148、S150の処理で設定したプリフェッチアクセス要求の階層である。
【0451】
なお、S184の処理で、アクセス要求に、記憶装置に記憶されているファイルオブジェクトの複製の利用を禁止する命令(以下「強制取得命令」という。)が含まれている場合には、プリフェッチアクセス要求を生成する際に、強制取得命令を追加するようにしても良い。
【0452】
表28は、WWW システムにおけるプリフェッチアクセス要求のリクエストヘッダの一例(一部のみ)である。二行目に記述されているPragma: no−cacheフィールドが、強制取得命令である。
【0453】
【表28】
Figure 0003561139
【0454】
次に、Proxy 制御構造体について説明する。
移動可能なモバイル計算機をゲートウェイ計算機として利用する分散ファイルシステムにおいては、ゲートウェイ計算機230/252のProxy の各種パラメータをProxy 制御構造体に設定しておき、ゲートウェイ計算機230/252がその時点で属しているネットワークごとに異なったProxy 制御構造体を用意して、切り替えて利用する方式が望ましい。このProxy 制御構造体は実施の形態2で説明したものと同様であるため説明は繰り返さない。
【0455】
本実施の形態における分散ファイルシステムでは、ゲートウェイ計算機230/252のProxy 232のプリフェッチアクセスの各種パラメータもこのProxy 制御構造体に設定しておき、ゲートウェイ計算機230/252がその時点で属しているネットワークごとに適切なプリフェッチアクセスが行えるProxy 制御構造体を用意して、切り替えて利用する。
【0456】
図20を参照して、各ネットワーク毎に設けられたProxy 制御構造体310、312、314のパラメータとしては、ネットワーク名称、ダイアルアップ時の電話番号、代表ゲートウェイ計算機1のホスト名称とポート番号、代表ゲートウェイ計算機2のホスト名称とポート番号、代表ゲートウェイ計算機3のホスト名称とポート番号などが考えられる。
【0457】
上記の各種パラメータに加えて、ゲートウェイ計算機230/252がその時点で属しているネットワークごとに適切なプリフェッチアクセスを行うための各種パラメータを、Proxy 制御構造体310、312、314に設定して、切り替えて利用する。
【0458】
以下、各種パラメータについて説明する。
プリフェッチアクセス待機時間には、実施の形態7において後述する待機時間を予め設定しておく。ゲートウェイ計算機230/252は、その時点で属しているネットワークごとにProxy 制御構造体310、312、314を切り替えて、プリフェッチアクセス待機時間を利用する。プリフェッチアクセス待機時間は、後述する図21の処理手順におけるS143の判定で利用される。
【0459】
プリフェッチアクセス待機時間には、実施の形態8において後述する待機時間決定部302が決定する待機時間を、ゲートウェイ計算機230/252がその時点で属しているネットワークのProxy 制御構造体310、312、314ごとに記憶するようにしても構わない。後述する待機時間決定部が決定するプリフェッチアクセス待機時間は、後述する図21の処理手順におけるS143の判定で利用される。
【0460】
このため、ファイルオブジェクトの取得要求に従ったファイルオブジェクトの中継と、プリフェッチとの処理開始時間をずらすことができ、ゲートウェイ計算機230/252にかかる負荷の増大を防止することができる。また、ユーザがアクセスしないであろうと思われるファイルオブジェクトを中継することが少なくなり、必要以上にネットワークのトラフィックが増大するのを防止することができる。
【0461】
プリフェッチアクセス許可には、Proxy 232がプリフェッチアクセスを許可する(Boolean 値”true”)か禁止する(Boolean 値”false” )かを設定しておき、ゲートウェイ計算機230/252がその時点で属しているネットワークごとにProxy 制御構造体310、312、314を切り替えてプリフェッチアクセス許可を利用する。プリフェッチアクセス許可は、図18の処理手順におけるS140の判定で利用される。
【0462】
このため、ゲートウェイ計算機230/252は、グローバルネットワーク210などの高速アクセスネットワークに接続されている場合にはプリフェッチを行ない、ローカルネットワーク240などの低速アクセスネットワークに接続されている場合にはプリフェッチを行なわないなど、ネットワーク毎にプリフェッチを行なうか否かを設定することができ、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0463】
同時プリフェッチアクセス要求数には、Proxy 232が同時に行ってもよいプリフェッチアクセス要求数を設定しておき、ゲートウェイ計算機230/252がその時点で属しているネットワークごとにProxy 制御構造体310、312、314を切り替えて同時プリフェッチアクセス要求数を利用する。同時プリフェッチアクセス要求数は、図19の処理手順におけるS182の判定で利用される。
【0464】
このため、ゲートウェイ計算機230/252は、高速アクセスネットワークに接続されている場合には同時にプリフェッチ要求できる数を大きくし、低速アクセスネットワークに接続されている場合には同時にプリフェッチ要求できる数を小さくするなど、ネットワーク毎に同時にプリフェッチ要求できる数を設定することができる。よって、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0465】
最大プリフェッチアクセス階層数には、あるユーザアクセス要求に対してProxy 232が行ってもよいプリフェッチアクセス要求の最大階層数を設定しておき、ゲートウェイ計算機230/252がその時点で属しているネットワークごとにProxy 制御構造体310、312、314を切り替えて最大プリフェッチアクセス階層数を利用する。最大プリフェッチアクセス階層数は、図19の処理手順におけるS178の判定で利用される。
【0466】
このため、ゲートウェイ計算機230/252が接続されるネットワークのアクセス速度に応じて最大プリフェッチアクセス階層数の値を定めることにより、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0467】
プリフェッチアクセス総数には、あるユーザアクセス要求に対してProxy 232が行ってもよいプリフェッチアクセス要求の総数を設定しておき、ゲートウェイ計算機230/252がその時点で属しているネットワークごとにProxy 制御構造体310、312、314を切り替えてプリフェッチアクセス総数を利用する。プリフェッチアクセス総数は、図18の処理手順におけるS156の判定で利用される。
【0468】
このため、ゲートウェイ計算機230/252が接続されるネットワークのアクセス速度に応じてプリフェッチアクセス総数の値を定めることにより、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0469】
ファイルオブジェクトサイズ制限には、プリフェッチアクセス要求に対してProxy 232が中継してもよいサーバ計算機214/218のファイルオブジェクトの最大サイズ(KB単位)を設定しておき、ゲートウェイ計算機230/252がその時点で属しているネットワークごとにProxy 制御構造体310、312、314を切り替えてファイルオブジェクトサイズ制限を利用する。ファイルオブジェクトサイズ制限は、図18の処理手順におけるS152の判定で利用される。
【0470】
このため、ゲートウェイ計算機230/252は、高速アクセスネットワークに接続されている場合にはファイルオブジェクトサイズ制限を大きく設定し、イメージファイルなどのサイズの大きいファイルオブジェクトに対してもプリフェッチをおこない、低速ネットワークに接続されている場合にはファイルオブジェクトサイズ制限を小さく設定し、テキストファイルなどのサイズの小さいファイルオブジェクトのみプリフェッチを行なうようにすることができる。よって、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0471】
ファイルオブジェクトタイプ制限には、プリフェッチアクセス要求に対してProxy 232が中継してはならないサーバ計算機214/218のファイルオブジェクトのタイプ(イメージ、テキストなど)を、ファイルオブジェクトのアドレス情報に含まれる拡張子で設定しておき、モバイル計算機がその時点で属しているネットワークごとにProxy 制御構造体310、312、314を切り替えてファイルオブジェクトタイプ制限を利用する。WWW システムにおいては、ファイルオブジェクトのアドレス情報に含まれる拡張子は、URL の拡張子”gif” 、”jpg” 、”jpeg”などに相当する。ファイルオブジェクトタイプ制限は、図19の処理手順におけるS180の判定で利用される。
【0472】
このため、ゲートウェイ計算機230/252は、低速アクセスネットワークに接続されている場合にはイメージファイルなどサイズの大きいファイルオブジェクトのプリフェッチは行なわないようにファイルオブジェクトタイプ制限を設定することができる。よって、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0473】
プリフェッチアクセス禁止サーバ計算機には、Proxy 232がプリフェッチアクセス要求を禁止しているサーバ計算機214/218の名称を設定しておき、ゲートウェイ計算機230/252がその時点で属しているネットワークごとにProxy 制御構造体310、312、314を切り替えてプリフェッチアクセス禁止サーバ計算機を利用する。WWW システムにおいては、ファイルオブジェクトのアドレス情報に含まれるサーバ計算機の名称は、URL のホスト名称部分”www.foobar.co.jp”、”123.45.67.89”などに相当する。プリフェッチアクセス禁止サーバ計算機は、図19の処理手順におけるS180の判定で利用される。
【0474】
このため、ゲートウェイ計算機230/252が低速アクセスネットワークに接続されている場合には、別ネットワークに接続されたクライアント計算機からのアクセスが集中して応答性が悪いサーバ214/218計算機に対するプリフェッチを禁止し、応答性が良い別サーバ計算機214/218のプリフェッチの妨げにならないようにする。このため、ネットワーク毎に適切なプリフェッチを行なうことができる。
【0475】
プリフェッチアクセス禁止サーバ計算機には、サーバ計算機の名称を記述したパターンファイルを設定するようにしても構わない。表29は、サーバ計算機の名称を記述したパターンファイルの例である。
【0476】
【表29】
Figure 0003561139
【0477】
[実施の形態7]
実施の形態7に係る分散ファイルシステムは、実施の形態6の分散ファイルシステムと同様の構成をとるため、その説明は繰返さない。この分散ファイルシステムでは、Proxy 232の解析部294が異なる。
【0478】
図21を参照して、解析部294の処理手順を説明する。解析部294で実行される処理は、図18を参照して説明を行なった実施の形態6での解析部238で実行される処理において、S142とS144との間にS143が追加されたものである。したがって、S143の処理のみについて説明を行ない、その他の処理の説明は繰返さない。
【0479】
アクセス要求がユーザアクセス要求であると判定された場合(S142でNO)、Proxy 制御構造体のプリフェッチアクセス待機時間に設定してある待機時間を経過したか判定する(S143)。待機時間を経過していない場合(S143でNO)、待機時間を経過するまで(S143でYESとなるまで)、このステップを繰り返す。
【0480】
待機時間を経過した場合(S143でYES)、以前のユーザアクセス要求に対して発生した、このS143の判定処理を行っている他の全てのプリフェッチプロセスは終了させる(S144)。
【0481】
これによって、ユーザアクセス要求によるファイルオブジェクトの中継とプリフェッチアクセス要求によるファイルオブジェクトの中継が重なってゲートウェイ計算機の負荷が高くなるのを防止する。
【0482】
また、Proxy 制御構造体298のプリフェッチアクセス待機時間に設定してある待機時間を経過する前に新しいユーザアクセス要求が中継される場合とは、古いユーザアクセス要求に対するファイルオブジェクトにユーザが関心を示さなかったということであり、そのファイルオブジェクトに含まれるハイパーリンク先の別ファイルオブジェクトをアクセスする可能性は低いので、無駄なプリフェッチアクセス要求を行ってネットワークのトラフィックが増大するのを防止する。
[実施の形態8]
図22を参照して、実施の形態8に係る分散ファイルシステムは、実施の形態6の分散ファイルシステムのゲートウェイ計算機230/252上で実行されるProxy 232の代わりにProxy 300を用いたものである。このため、その他の構成部品の説明は省略する。Proxy 300は、Proxy 232の構成において、待機時間決定部302をさらに含んだものである。
【0483】
矢印a〜vの流れに沿って、Proxy 300の処理内容の詳細を説明する。なお、矢印a〜tまでの処理に関しては、図16を参照して説明を行なったProxy 232の処理内容と同様であるため、その説明は繰返さない。
【0484】
アクセス要求中継部304は、矢印bを経由して送られてきたユーザアクセス要求の中継時刻を、待機時間決定部302へ送る(矢印u)。
【0485】
待機時間決定部302は、矢印uを経由して送られてきた連続した二つのユーザアクセス要求の中継時刻の間隔を計測し、適切なユーザアクセス待機時間を決定して、Proxy 制御構造体298のユーザアクセス待機時間の設定を変更する(矢印v)。
【0486】
適切なユーザアクセス待機時間の決定方法としては、例えば、上記中継間隔のうち、予め設定しておいた最短中継間隔(例えば1分)以下のものだけを記憶し、記憶した中継間隔の過去一定回数分(例えば100回)の平均を求め、それを定数倍(例えば5倍)したものを、ユーザアクセス待機時間として決定する。
【0487】
図23を参照して、待機時間決定部302が行なう処理を説明する。待機時間決定部302が行なう処理は、中継部306やプリフェッチ制御部238の解析部294の処理とは独立して、別プロセスとして実行される。
【0488】
まず、中継部306で中継したユーザアクセス要求の回数を0に初期化する(S220)。
【0489】
次に、中継部306でユーザアクセス要求が中継されるまで待機する(S222)。
【0490】
ユーザアクセス要求の中継を検出した場合(S222でYES)、その時の時刻を中継開始時刻t0として記憶する(S224)。
【0491】
中継部306が中継したユーザアクセス要求に対するファイルオブジェクトが中継されるまで待機する(S226)。
【0492】
ファイルオブジェクトの中継を検出した場合(S226でYES)、その時の時刻を中継終了時刻t1として記憶する(S228)。
【0493】
S224、S228の処理でそれぞれ記憶した、中継開始時刻t0と中継終了時刻t1との差から、中継間隔を求めて記憶する(S230)。
【0494】
その中継間隔が、プリフェッチアクセス待機時間を決定する際に利用するのに有効かを判断する(S232)。有効な場合とは、上述のように、予め設定しておいた最短中継間隔(例えば1分)以下の場合などである。中継間隔が無効と判断された場合は(S232でNO)、S222へ戻る。中継間隔が有効と判断された場合は(S232でYES)、ユーザアクセス要求の中継回数を1増やす(S234)。
【0495】
次に、ユーザアクセス要求の中継回数が規定回数(上述の例では100回)に達したかを判断する(S236)。中継回数が規定回数に達していない場合は(S236でNO)、S222へ戻る。中継回数が規定回数に達している場合は(S236でYES)、プリフェッチアクセス待機時間を決定して、Proxy 制御構造体298の該当部分を変更する(S238)。その後、S220へ戻る。プリフェッチアクセス待機時間の決定方法としては、例えば、上述のように、規定回数の平均中継間隔を求め、それを定数倍するなどである。
【0496】
予め設定しておいた最短中継間隔以下のユーザアクセス要求とは、その要求に対するファイルオブジェクトにユーザが関心を示さなかったアクセス要求と考えられる。これら実際にユーザが関心を示さなかった場合の中継間隔からユーザアクセス待機時間を決定することにより、ユーザがアクセスしない可能性のあるファイルオブジェクトを中継してネットワークのトラフィックが増大するのを防止することができる。
[実施の形態9]
実施の形態9に係る分散ファイルシステムは、実施の形態6で説明した分散ファイルシステムと同様の構成をとるため、その説明は繰返さない。
【0497】
図16を参照して、実施の形態9に係るゲートウェイ計算機(モバイル計算機)230/252の動作について説明する。
【0498】
一般に、クライアント計算機222/242のブラウザ224/244は、クライアント計算機222/242内に設けられたローカルなキャッシュ(以下「クライアント記憶部」という。)を利用することが多い。ブラウザ224/244は、ユーザアクセス要求に対するサーバ計算機214のファイルオブジェクト216の複製が上記クライアント記憶部に記憶されている場合には、その複製を利用する。このため、ユーザアクセス要求をゲートウェイ計算機230/252のProxy 232へは送らない。
【0499】
しかし、サーバ計算機214のファイルオブジェクト216が更新されている可能性がある場合には、ユーザが、上記クライアント記憶部に記憶されているファイルオブジェクト216の複製が最新の場合のみ利用するよう指示して(以下「条件付き取得命令」という。)、ユーザアクセス要求を行う場合がある。この処理は、WWW システムにおいては、ブラウザのリロードボタンを押す行為となる。
【0500】
条件付き取得命令を含むユーザアクセス要求が、ゲートウェイ計算機230/252のProxy 232を経由してサーバ計算機214へ送られると(矢印b、c)、サーバ計算機214は、ユーザアクセス要求に含まれる条件付き取得命令を解析する。
【0501】
そして、ファイルオブジェクト216が更新されている場合には、サーバ計算機214は、ファイルオブジェクト216をゲートウェイ計算機230/252のProxy 232を経由してクライアント計算機222/242のブラウザ224/244へ返す(矢印d、f)。
【0502】
この場合、ファイルオブジェクト216のオブジェクト本体が、ファイルオブジェクト中継部282を経由するため、プリフェッチ制御部238へオブジェクト本体292として送られて(矢印k)、解析部294でプリフェッチアクセス要求を行うための解析が行われる。
【0503】
しかし、ファイルオブジェクト216が更新されていない場合には、サーバ計算機214は、上記クライアント記憶部に記憶されているファイルオブジェクト216の複製を利用するよう指示したオブジェクト情報(WWW システムにおいては、レスポンスコードの値が”304” であるレスポンスヘッダ)のみを、ゲートウェイ計算機230/252のProxy 232を経由してクライアント計算機222/242のブラウザ224/244へ返す(矢印d、f)。
【0504】
この場合、ファイルオブジェクト216のオブジェクト本体が、ゲートウェイ計算機230/252のProxy 232の中継部234のファイルオブジェクト中継部282を経由しないため、プリフェッチ制御部238へオブジェクト本体292が送られず、解析部294でプリフェッチアクセス要求を行うための解析は行われない。
【0505】
そこで、実施の形態9に係る分散ファイルシステムにおいては、ファイルオブジェクト中継部282を、クライアント記憶部に記憶されているファイルオブジェクト216の複製を利用するよう指示したオブジェクト情報のみが通過した場合には、以前のアクセスで記憶部236に記憶されていたファイルオブジェクト216の複製284をファイルオブジェクト中継部282を経由して読み捨て部296へ送るようにする(矢印e、t)。また、ファイルオブジェクトの複製284のオブジェクト本体をプリフェッチ制御部238へオブジェクト本体292として送り(矢印k)、解析部294でプリフェッチアクセス要求を行うための解析を行う。
【0506】
図24を参照して、ゲートウェイ計算機230/252のProxy 232の処理手順を説明する。S100〜S132までの処理は、図17を参照して説明した実施の形態6のProxy 232の処理手順と同様であるため、その説明は繰返さない。本実施の形態のProxy 232の処理では、S116でクライアント計算機(クライアント計算機222/242やゲートウェイ計算機230/252)のローカルなファイルオブジェクトの複製を利用するよう求められてから、S132でファイルオブジェクト情報のみをクライアント計算機(クライアント計算機222/242やゲートウェイ計算機230/252)へ送るまでの間に、S274、S276が追加されている点が図17と異なる。
S116でクライアント計算機(クライアント計算機222/242やゲートウェイ計算機230/252)のローカルなファイルオブジェクトの複製を利用するよう求めている場合、まず、サーバ計算機214/218から得られたファイルオブジェクト情報に対応するファイルオブジェクトの複製が、記憶部236に記憶されていないか調べて、その複製を得る。(矢印e、S274)
S274の処理で得られたファイルオブジェクトの複製は、クライアント計算機が、別計算機、すなわちクライアント計算機222/242であるか、自分自身、すなわちゲートウェイ計算機230/252であるかに関係なく、プリフェッチ制御部238の読み捨て部296へ送られる(矢印t、S276)。読み捨て部296は、送られてきたファイルオブジェクトの複製に対しては何の処理も行わない。その際、中継部234は、矢印b、qで中継されたアクセス要求、矢印tで中継されたファイルオブジェクトの複製(に含まれるファイルオブジェクト情報とファイルオブジェクト本体)を、それぞれプリフェッチ制御部238に送り(矢印i、j、k)、解析部294で新たなプリフェッチアクセス要求を行うための解析が行われる。
[実施の形態10]
図25を参照して、実施の形態10に係る分散ファイルシステムは、図13および図14を参照して説明を行なった実施の形態6に係る分散ファイルシステムにおいて、ゲートウェイ計算機230/252のProxy 232の代わりに、Proxy 320を用いたものである。
【0507】
ゲートウェイ計算機230/252のProxy 320は、中継部234と、中継部に接続された記憶装置切替部326およびプリフェッチ制御部238と、記憶装置切替部326に接続されたユーザアクセス記憶部322およびプリフェッチアクセス記憶部324とを含む。
【0508】
ユーザアクセス記憶部322は、ユーザアクセス要求に対して中継したサーバ計算機のファイルオブジェクトの複製を記憶する。プリフェッチアクセス記憶部324は、プリフェッチアクセス要求に対して中継したサーバ計算機のファイルオブジェクトの複製を記憶装置に記憶する。記憶装置切替部326は、ユーザアクセス記憶部322とプリフェッチアクセス記憶部324との切替を行なう。
【0509】
中継部234がユーザアクセス要求を中継した場合、記憶装置切替部326は、ユーザアクセス記憶部322にユーザアクセス要求に対するファイルオブジェクトの複製が記憶されているか調べる。既に記憶されており、利用可能である場合には、その複製を中継部234を通してクライアント計算機222/242のブラウザ224/244へ中継する。
【0510】
ファイルオブジェクトの複製がユーザアクセス記憶部322に記憶されていない場合、記憶装置切替部326は、プリフェッチアクセス記憶部324に複製が記憶されているか調べる。既に記憶されており、利用可能である場合には、その複製を中継部234を通してクライアント計算機222/242のブラウザ224/244へ中継する。そして、ユーザアクセス記憶部322に複製を記憶して、プリフェッチアクセス記憶部324に記憶された複製を削除する。
【0511】
ファイルオブジェクトの複製がプリフェッチアクセス記憶部324にも記憶されていない場合、中継部234は、ユーザアクセス要求を代表ゲートウェイ計算機226/246のProxy 228/248を経由してサーバ計算機214/218へ送る。そして、サーバ計算機214/218から返ってきたファイルオブジェクト216/220をクライアント計算機222/242のブラウザ224/244へ中継する。また、その複製が再利用可能である場合には、記憶装置切替部326を経由してユーザアクセス記憶部322に記憶する。
【0512】
中継部234がプリフェッチアクセス要求を中継した場合、プリフェッチアクセス要求を代表ゲートウェイ計算機226/246のProxy 228/248を経由してサーバ計算機へ送る。そして、サーバ計算機から返ってきたファイルオブジェクトをプリフェッチ制御部238(の読み捨て部)へ中継する。また、その複製が再利用可能である場合には、記憶装置切替部326を経由してプリフェッチアクセス記憶部324に記憶する。
【0513】
これによって、ユーザアクセス要求によって閲覧されたファイルオブジェクトの複製は、必ずユーザアクセス記憶部322に存在することになり、プリフェッチアクセス要求のみによって取得されたファイルオブジェクトの複製は、必ずプリフェッチアクセス記憶部324のみに存在することになる。
【0514】
図26〜図31を参照して、Proxy 320の処理を説明する。
Proxy 320の処理は、図26の処理手順1から始まり、図27の処理手順2、図28の処理手順3へと分岐する。また、図27の処理手順2の一部は、図29の処理手順4、図30の処理手順5へと分岐する。また、図28の処理手順3の一部は、図31の処理手順6へと分岐する。処理手順2〜6は全て最終的には処理手順1の開始へと戻ってくる。
【0515】
図26〜図31の一連の処理は、図17の処理手順を拡張したものである。以下に、図17の処理手順との違いを挙げてその内容を説明する。
【0516】
図26の処理手順1のS280〜S284は、図17の処理手順のS100〜S104に相当する。違いは、S284の次にS286があり、そこから処理手順2と処理手順3に分岐する点である。したがって、S280〜S284の処理の説明は繰返さない。
【0517】
S284でアクセス要求を得た後、そのアクセス要求がクライアント計算機222/242などから得られたユーザアクセス要求なのか、ゲートウェイ計算機230/252のプリフェッチ制御部238から得られたプリフェッチアクセス要求なのかを判断する(S286)。アクセス要求がユーザアクセス要求の場合には(S286でYES)、図27の処理手順2へ、アクセス要求がプリフェッチアクセス要求の場合には(S286でNO)、図28の処理手順3へとそれぞれ分岐する。
【0518】
図27を参照して、処理手順2はS286でアクセス要求がユーザアクセス要求と判断された場合の処理手順であり、図17の処理手順のS106以降に相当する。以下に違いを挙げてその内容を説明する。
【0519】
S106の代わりにS290、S292の処理を行なう。S290では、アクセス要求が求めているサーバ計算機のファイルオブジェクトの複製が、ユーザアクセス記憶部322に記憶されており、アクセス要求やユーザアクセス記憶部322がそれを利用することを許可しているか判断する。ユーザアクセス記憶部322のファイルオブジェクトの複製の利用が可能な場合には(S290でYES)、図29の処理手順4へ分岐する。
【0520】
ユーザアクセス記憶部322のファイルオブジェクトの複製の利用が不可能な場合には(S290でNO)、アクセス要求が求めているサーバ計算機のファイルオブジェクトの複製が、プリフェッチアクセス記憶部324に記憶されており、アクセス要求やプリフェッチアクセス記憶部324がそれを利用することを許可しているか判断する(S292)。プリフェッチアクセス記憶部324に記憶されたファイルオブジェクトの複製の利用が可能な場合には(S292でYES)、図30の処理手順5へ分岐する。
【0521】
また、S118の代わりにS304、S306の処理を行なう。S304では、ファイルオブジェクト情報がファイルオブジェクトの複製の利用を求めており、ユーザアクセス記憶部322にファイルオブジェクトの複製が記憶されているか判断する。ユーザアクセス記憶部322のファイルオブジェクトの複製の利用が可能な場合には(S304でNO)、図29の処理手順4へ分岐する。
【0522】
ユーザアクセス記憶部322のファイルオブジェクトの複製の利用が不可能な場合には(S304でYES)、ファイルオブジェクト情報がファイルオブジェクトの複製の利用を求めており、プリフェッチアクセス記憶部324にファイルオブジェクトの複製が記憶されているか判断する(S306)。プリフェッチアクセス記憶部324のファイルオブジェクトの複製の利用が可能な場合には(S306でYES)、図30の処理手順5へ分岐する。
【0523】
さらに、S122、S124の代わりにS310、S312の処理を行なう。
S310では、代表ゲートウェイ計算機226/246を介して得たファイルオブジェクト情報とファイルオブジェクト本体を、ユーザアクセス記憶部322にファイルオブジェクトの複製として記憶しても良いか判断する。
【0524】
ファイルオブジェクトの複製として記憶しても良いと判断した場合(S310でYES)、ファイルオブジェクト情報とファイルオブジェクト本体を、ユーザアクセス記憶部322に記憶する(S312)。
【0525】
図28を参照して、処理手順3はS286でアクセス要求がプリフェッチアクセス要求と判断された場合の処理手順であり、図17の処理手順のS106以降に相当する。以下に違いを挙げてその内容を説明する。
【0526】
S106の代わりにS320の処理を行なう。S320では、アクセス要求が求めているサーバ計算機のファイルオブジェクトの複製が、プリフェッチアクセス記憶部324に記憶されており、アクセス要求やプリフェッチアクセス記憶部324がそれを利用することを許可しているか判断する(S320)。プリフェッチアクセス記憶部324のファイルオブジェクトの複製の利用が可能な場合には(S320でYES)、図31の処理手順6へ分岐する。
【0527】
また、S118の代わりにS332の処理を行なう。S332では、ファイルオブジェクト情報がファイルオブジェクトの複製の利用を求めており、プリフェッチアクセス記憶部324にファイルオブジェクトの複製が記憶されているか判断する。プリフェッチアクセス記憶部324のファイルオブジェクトの複製の利用が可能な場合には、図31の処理手順6へ分岐する。
【0528】
さらに、S122、S124の代わりにS336、S338の処理を行なう。
S336では、代表ゲートウェイ計算機226/246を介して得たファイルオブジェクト情報とファイルオブジェクト本体を、プリフェッチアクセス記憶部324にファイルオブジェクトの複製として記憶しても良いか判断する。
【0529】
S336の処理でファイルオブジェクトの複製として記憶しても良いと判断した場合(S336でYES)、ファイルオブジェクト情報とファイルオブジェクト本体を、プリフェッチアクセス記憶部324に記憶する(S338)。
【0530】
図29を参照して、処理手順4はS290、S304の処理でユーザアクセス記憶部322のファイルオブジェクトの複製の利用が可能と判断された場合の処理手順である。処理手順4は、図17のS128、S130に相当する。
【0531】
まず、ユーザアクセス記憶部322のファイルオブジェクトの複製を得る(S350)。
【0532】
S350で得たファイルオブジェクトの複製は、クライアント計算機(クライアント計算機222/242やゲートウェイ計算機230/252)へ送られる(S352)。クライアント計算機が自分自身、すなわちゲートウェイ計算機230/252の場合、ファイルオブジェクトの複製はプリフェッチ制御部238の読み捨て部へ送られ、特に何も処理は行われない。また、中継部234は、中継されたアクセス要求、ファイルオブジェクトの複製(に含まれるファイルオブジェクト情報とファイルオブジェクト本体)を、それぞれプリフェッチ制御部238に送る。それらに基づき、解析部294が新たなプリフェッチアクセス要求を行うための解析を行なう。
【0533】
図30を参照して、処理手順5はS292、S306の処理でプリフェッチアクセス記憶部324のファイルオブジェクトの複製の利用が可能と判断された場合の処理手順である。処理手順5は、図17のS128、S130に相当する。
【0534】
まず、プリフェッチアクセス記憶部324のファイルオブジェクトの複製を得る(S360)。
【0535】
S360で得たファイルオブジェクトの複製は、クライアント計算機(クライアント計算機222/242やゲートウェイ計算機230/252)へ送られる(S362)。クライアント計算機が自分自身、すなわちゲートウェイ計算機230/252の場合、ファイルオブジェクトの複製はプリフェッチ制御部238の読み捨て部へ送られ、特に何も処理は行われない。また、中継部234は、中継されたアクセス要求、ファイルオブジェクトの複製(に含まれるファイルオブジェクト情報とファイルオブジェクト本体)を、それぞれプリフェッチ制御部238に送る。それらに基づき、解析部294が新たなプリフェッチアクセス要求を行うための解析を行なう。
【0536】
最後に、プリフェッチアクセス記憶部324に記憶されていたファイルオブジェクトの複製は、ユーザアクセス記憶部322に移動させられる(S364)。
【0537】
図31を参照して、処理手順6はS320、S332の処理でプリフェッチアクセス記憶部324のファイルオブジェクトの複製の利用が可能と判断された場合の処理手順である。処理手順6は、図30の処理手順5のS360、S362に相当する。また、処理手順6には、処理手順5のS364に相当する処理が存在しない。
【0538】
実施の形態10によれば、ユーザアクセス記憶部322に記憶されるファイルオブジェクトの複製の有効期限を長く設定し、プリフェッチアクセス記憶部324に記憶されるファイルオブジェクトの複製の有効期限を短く設定するなど、それぞれの設定を変えることで、ゲートウェイ計算機230/252の記憶容量の限られた記憶装置を有効に利用することができるようになる。
[実施の形態11]
図32を参照して、実施の形態11に係る分散ファイルシステムは、図13および図14を参照して説明を行なった実施の形態6に係る分散ファイルシステムにおいて、ローカルネットワーク212/240に親ゲートウェイ計算機330、334がさらに接続されたものである。親ゲートウェイ計算機330、334の各々は、代表ゲートウェイ計算機226/246およびゲートウェイ計算機230/252に接続されている。また、ゲートウェイ計算機230/252上では、Proxy 232の代わりにProxy 338が実行されている。Proxy 338は、親ゲートウェイ計算機330、334を切り替えて利用する親ゲートウェイ計算機切替部340を備えている。
【0539】
親ゲートウェイ計算機330のProxy 332は、ユーザアクセス要求のみを、ゲートウェイ計算機230/252のProxy 338から代表ゲートウェイ計算機226/246のProxy 228/248へ中継する。
【0540】
親ゲートウェイ計算機334のProxy 336は、プリフェッチアクセス要求のみを、ゲートウェイ計算機230/252のProxy 338から代表ゲートウェイ計算機226/246のProxy 228/248へ中継する。
【0541】
Proxy 338の親ゲートウェイ計算機切替部340は、中継部234からユーザアクセス要求を受け取った場合には、そのユーザアクセス要求を親ゲートウェイ計算機330のProxy 332へ中継して、それに対するファイルオブジェクトを受け取り、中継部234へ返す。中継部234からプリフェッチアクセス要求を受け取った場合には、そのプリフェッチアクセス要求を親ゲートウェイ計算機334のProxy 336へ中継して、それに対するファイルオブジェクトを受け取り、中継部234へ返す。
【0542】
図33を参照して、Proxy 338の処理について説明する。Proxy 338の処理は、図17を参照して説明したProxy 232の処理を拡張したものである。S108がS416、S388、S390に相当する。
【0543】
S386で記憶装置のファイルオブジェクトの複製を利用しないと判断された場合、そのアクセス要求が、クライアント計算機222/242などから得られたユーザアクセス要求なのか、自分自身、すなわちゲートウェイ計算機230/252のプリフェッチ制御部238から得られたプリフェッチアクセス要求なのかを判断する(S416)。
【0544】
アクセス要求がユーザアクセス要求と判断された場合には(S416でYES)、親ゲートウェイ計算機切替部340によって、ユーザアクセス用の親ゲートウェイ計算機330にネットワーク接続される(S388)。
【0545】
アクセス要求がプリフェッチアクセス要求と判断された場合には(S416でNO)、親ゲートウェイ計算機切替部340によって、プリフェッチアクセス用の親ゲートウェイ計算機334にネットワーク接続される(S390)。
【0546】
S388、S390でそれぞれの親ゲートウェイ計算機にネットワーク接続された後の処理は同じであるため、その説明は繰返さない。
【0547】
これによって、ユーザアクセス要求を中継する親ゲートウェイ計算機330には処理能力の高い計算機を利用すれば、プリフェッチアクセス要求を中継する親ゲートウェイ計算機334には処理能力の低い計算機であっても、ユーザアクセスの応答性を良くできる。また、ユーザアクセス要求とプリフェッチアクセス要求の履歴を親ゲートウェイ計算機330、334の各々で別々に取ることで、ネットワークの利用状況を容易に把握できるようになる。
[実施の形態12]
図34を参照して、実施の形態12に係る分散ファイルシステムは、図13および図14を参照して説明を行なった実施の形態6に係る分散ファイルシステムにおいて、ローカルネットワーク212/240に2つのゲートウェイ計算機230/252(上流ゲートウェイ計算機230c/252c、および下流ゲートウェイ計算機230d/252d)が接続されたものである。また、2つのゲートウェイ計算機230/252の各々では、Proxy 232の代わりにProxy 352が実行されている。Proxy 352は、中継部234と、記憶部236と、プリフェッチ制御部358と、命令追加部356と、命令解析部354とを備えている。
【0548】
下流ゲートウェイ計算機230d/252dのProxy 352dの命令追加部356dは、中継部234dから受け取ったユーザアクセス要求を上流ゲートウェイ計算機230c/252cのProxy 352cの命令解析部354cへ送る。その際、上流ゲートウェイ計算機230c/252cのProxy 352cのプリフェッチ制御部358cに対するプリフェッチアクセス命令を追加して中継することができる。
【0549】
表30は、WWW システムにおける命令を追加したリクエストヘッダの一例(一部のみ)である。X−Prefetch−Requestで始まる行が、追加された命令である。上からそれぞれ、プリフェッチアクセスを許可する、プリフェッチアクセス待機時間は10秒、最大プリフェッチアクセス階層数は3、同時プリフェッチアクセス要求数は2、プリフェッチアクセス総数は100、を意味する。なお、X−Prefetch−Requestで始まる行は、WWW システムでは規定されていない本発明の独自拡張である。X−Prefetch−Requestで始まる行は、命令解析部354cが命令を解析した後に削除される。
【0550】
【表30】
Figure 0003561139
【0551】
上流ゲートウェイ計算機230c/252cのProxy 352cの命令解析部354cは、下流ゲートウェイ計算機230d/252dのProxy 352dの命令追加部356dから受け取ったユーザアクセス要求を中継部234cへ送る。その際、ユーザアクセス要求に含まれるプリフェッチアクセス命令を解析してプリフェッチ制御部358cへ送り(図の破線矢印)、プリフェッチアクセス命令を削除する。プリフェッチ制御部358cは、送られてきたプリフェッチアクセス命令を、Proxy 制御構造体に設定されているプリフェッチアクセスの各種パラメータよりも優先させる。
【0552】
上流ゲートウェイ計算機230c/252cのProxy 352cの命令追加部356cは、中継部234cから受け取ったファイルオブジェクトを下流ゲートウェイ計算機230d/252dのProxy 352dの命令解析部354dへ送る。その際、ファイルオブジェクトのオブジェクト情報に、下流ゲートウェイ計算機230d/252dのProxy 352dのプリフェッチ制御部358dに対するプリフェッチアクセス命令を追加して中継することができる。
【0553】
表31は、WWW システムにおける命令を追加したレスポンスヘッダの一例(一部のみ)である。X−Prefetch−Response で始まる行が、追加された命令である。上からそれぞれ、プリフェッチアクセスを許可する、プリフェッチアクセス待機時間は10秒、最大プリフェッチアクセス階層数は3、同時プリフェッチアクセス要求数は2、プリフェッチアクセス総数は100、を意味する。なお、X−Prefetch−Response で始まる行は、WWW システムでは規定されていない本発明の独自拡張である。X−Prefetch−Response で始まる行は、命令解析部354dが命令を解析した後に削除される。
【0554】
【表31】
Figure 0003561139
【0555】
下流ゲートウェイ計算機230d/252dのProxy 352dの命令解析部354dは、上流ゲートウェイ計算機230c/252cのProxy 352cの命令追加部356cから受け取ったファイルオブジェクトを中継部234dへ送る。その際、ファイルオブジェクトのオブジェクト情報に含まれるプリフェッチアクセス命令を解析してプリフェッチ制御部358dへ送り(図の破線矢印)、プリフェッチアクセス命令を削除する。プリフェッチ制御部358dは、送られてきたプリフェッチアクセス命令を、Proxy 制御構造体に設定されているプリフェッチアクセスの各種パラメータよりも優先させる。
[実施の形態13]
図35を参照して、実施の形態13に係る分散ファイルシステムは、実施の形態6の分散ファイルシステムのゲートウェイ計算機230/252上で実行される、Proxy 232の代わりにProxy 360を用いたものである。このため、その他の構成部品の説明は省略する。Proxy 360は、中継部362と、記憶部236と、条件付き取得命令追加部366と、プリフェッチ制御部364とを含む。
【0556】
また、図17〜図19を参照して説明を行なった、実施の形態6の分散ファイルシステムの動作とは図19のS184の処理内容が異なる。
【0557】
実施の形態6の分散ファイルシステムのS184の処理では、S172で取得した別ファイルオブジェクトのアドレス情報、プリフェッチアクセス要求の元アドレス情報、および、図18のS148、S150で設定したプリフェッチアクセス要求の階層を含むアクセス要求を生成して、アクセス要求中継部280に対して新しいプリフェッチアクセス要求を行う。(図16の矢印q)
これに対し、Proxy 360のS184の処理では、アクセス要求に、記憶装置に記憶されているファイルオブジェクトの複製が最新の場合のみ利用する命令(以下「条件付き取得命令」という。)が含まれている場合には、プリフェッチアクセス要求を生成する際に、” 条件付き取得命令” 追加命令を追加して、条件付き取得命令追加部366へ送る。
【0558】
表32は、WWW システムにおけるプリフェッチアクセス要求のリクエストヘッダの一例(一部のみ)である。二行目に記述されているX−Prefetch−If−Modified−Since: trueフィールドが、” 条件付き取得命令” 追加命令である。なお、” 条件付き取得命令” 追加命令は、WWW システムでは規定されていない本発明の独自拡張である。” 条件付き取得命令” 追加命令は、条件付き取得命令追加部366が命令を解析した後に削除される。
【0559】
【表32】
Figure 0003561139
【0560】
条件付き取得命令追加部366は、プリフェッチ制御部364から送られてくるプリフェッチアクセス要求に” 条件付き取得命令” 追加命令が含まれる場合には、以前のアクセスで記憶部236に記憶されていたプリフェッチアクセス要求に対するファイルオブジェクトの複製のオブジェクト情報から、そのファイルオブジェクトの最終更新日時(WWW システムにおいては、Last−Modified フィールド)を取得して、その最終更新日時を利用してプリフェッチアクセス要求に条件付き取得命令を追加する。そして、” 条件付き取得命令” 追加命令を削除して、中継部362へ送る。
【0561】
表33は、WWW システムにおけるプリフェッチアクセス要求のリクエストヘッダの一例(一部のみ)である。二行目に記述されているIf−Modified−Since フィールドが、ファイルオブジェクトの複製のレスポンスヘッダのLast−Modified フィールドに記述されている最終更新日時を利用して追加した、条件付き取得命令である。
【0562】
【表33】
Figure 0003561139

【図面の簡単な説明】
【図1】実施の形態1に係る分散ファイルシステムの構成を示す図である。
【図2】Proxy の動作を説明するフローチャートである。
【図3】Proxy の動作を説明するフローチャートである。
【図4】実施の形態1に係る分散ファイルシステムの構成を示す図である。
【図5】実施の形態2に係る分散ファイルシステムの構成を示す図である。
【図6】Proxy の制御画面の図である。
【図7】Proxy 認証を説明するフローチャートである。
【図8】実施の形態3に係る分散ファイルシステムの構成を示す図である。
【図9】Automatic Proxy Configuration Scriptの生成方法を説明するフローチャートである。
【図10】実施の形態4に係る分散ファイルシステムの構成を示す図である。
【図11】実施の形態4に係る分散ファイルシステムの各部の動作を説明するフローチャートである。
【図12】実施の形態5に係る分散ファイルシステムの構成を示す図である。
【図13】実施の形態6に係る分散ファイルシステムの構成を示す図である。
【図14】実施の形態6に係る分散ファイルシステムの構成を示す図である。
【図15】ゲートウェイ計算機の構成を示すブロック図である。
【図16】ゲートウェイ計算機の構成を示すブロック図である。
【図17】Proxy の処理を説明するフローチャートである。
【図18】解析部の処理を説明するフローチャートである。
【図19】オブジェクト本体の解析を説明する図である。
【図20】Proxy 制御構造体の一例を示す図である。
【図21】解析部の処理を説明する図である。
【図22】実施の形態8に係る分散ファイルシステムおよびゲートウェイ計算機の構成を示す図である。
【図23】待機時間決定部が実行する処理を説明するフローチャートである。
【図24】Proxy の処理を説明する図である。
【図25】実施の形態10に係る分散ファイルシステムおよびゲートウェイ計算機の構成を示す図である。
【図26】Proxy の処理を説明する図である。
【図27】Proxy の処理を説明する図である。
【図28】Proxy の処理を説明する図である。
【図29】Proxy の処理を説明する図である。
【図30】Proxy の処理を説明する図である。
【図31】Proxy の処理を説明する図である。
【図32】実施の形態11に係る分散ファイルシステムおよびゲートウェイ計算機の構成を示す図である。
【図33】Proxy の処理を説明する図である。
【図34】実施の形態12に係る分散ファイルシステムおよびゲートウェイ計算機の構成を示す図である。
【図35】実施の形態13に係る分散ファイルシステムおよびゲートウェイ計算機の構成を示す図である。
【図36】従来の分散ファイルシステムの構成を示す図である。
【図37】従来のゲートウェイ計算機の構成を示す図である。
【符号の説明】
100 ユーザ
102 クライアント計算機
104 ブラウザ
106 Web サーバ
108 Proxy
110 ゲートウェイ計算機
112 ローカルネットワーク
114 ローカルサーバ計算機
116 代表ゲートウェイ計算機
118 モバイルProxy キャッシュ
120 サーバ計算機
126 代表ゲートウェイ計算機
128 ネットワーク
130 ブラウザ
132 グローバルネットワーク

Claims (60)

  1. 複数のネットワークにそれぞれ対応づけられた複数の制御構造体のいずれかに従い、ファイルオブジェクトの中継を行なうゲートウェイ計算機で用いられるファイルオブジェクト中継方法であって、
    前記ゲートウェイ計算機は、前記ファイルオブジェクトを記憶するための記憶装置を有し、
    前記複数の制御構造体の各々は、クライアント計算機の接続先である代表ゲートウェイ計算機のアドレスを有し、
    イベントを受理するステップと、
    前記イベントが前記制御構造体の切換要求である場合には、切換要求された前記制御構造体に従い、各種パラメータの切換を行なうステップと、
    前記イベントが、前記クライアント計算機より送信された前記ファイルオブジェクトの取得要求である場合には、上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し前記クライアント計算機に中継する中継ステップと、
    中継を行なった前記ファイルオブジェクトを記憶装置に記憶するステップとを含む、ファイルオブジェクト中継方法。
  2. 前記ゲートウェイ計算機のネットワークアドレス情報を表示するステップをさらに含む、請求項1に記載のファイルオブジェクト中継方法。
  3. 前記複数の制御構造体の各々は、許可アドレスパターンをさらに有し、
    前記中継ステップは、
    前記イベントが前記ファイルオブジェクトの取得要求である場合に、前記取得要求を送信した前記クライアント計算機のアドレスが、前記許可アドレスパターンに一致するか否かを判断するステップと、
    前記許可アドレスパターンに一致する場合、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し前記クライアント計算機に中継するステップとを含む、請求項1に記載のファイルオブジェクト中継方法。
  4. 前記複数の制御構造体の各々は、許可ユーザ名およびパスワードをさらに有し、
    前記中継ステップは、
    前記ファイルオブジェクトの取得要求を送信した前記クライアント計算機を利用するユーザに、ユーザ名およびパスワードの入力を促すステップと、
    前記クライアント計算機より送信された前記ユーザ名および前記パスワードを受信するステップと、
    前記クライアント計算機より受信した前記ユーザ名および前記パスワードと、前記制御構造体に記憶された前記ユーザ名および前記パスワードとを比較し、一致した場合に、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し前記クライアント計算機に中継するステップとを含む、請求項1に記載のファイルオブジェクト中継方法。
  5. 前記イベントがヒストリの表示要求である場合には、前記中継ステップで中継を行なった前記ファイルオブジェクトのアドレスを表示するヒストリ表示ステップをさらに含む、請求項1に記載のファイルオブジェクト中継方法。
  6. 前記ヒストリ表示ステップは、前記イベントがヒストリの表示要求である場合には、前記中継ステップで中継を行なった前記ファイルオブジェクトのアドレスと、中継を行なった際に、前記ゲートウェイ計算機が接続されていた前記ネットワークを特定する情報とを表示するステップを含む、請求項5に記載のファイルオブジェクト中継方法。
  7. 前記複数の制御構造体の各々は、許可ユーザ名およびパスワードをさらに有し、
    前記ヒストリ表示ステップは、
    前記ヒストリの表示要求を送信した前記クライアント計算機を利用するユーザに、ユーザ名およびパスワードの入力を促すステップと、
    前記クライアント計算機より送信された前記ユーザ名および前記パスワードを受信するステップと、
    前記クライアント計算機より受信した前記ユーザ名および前記パスワードと、前記制御構造体に記憶された前記ユーザ名および前記パスワードとを比較し、一致した場合に、前記中継ステップで中継を行なった前記ファイルオブジェクトのアドレスを表示するステップとを含む、請求項5に記載のファイルオブジェクト中継方法。
  8. 前記中継ステップは、
    前記イベントが前記ファイルオブジェクトの取得要求である場合には、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し前記クライアント計算機に中継するユーザアクセス要求中継ステップと、
    中継された前記ファイルオブジェクトに含まれるハイパーリンクに基づき、さらに前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するプリフェッチステップとを含む、請求項1に記載のファイルオブジェクト中継方法。
  9. 前記複数の制御構造体の各々は、プリフェッチアクセス待機時間をさらに有し、
    前記プリフェッチステップは、
    前記クライアント計算機から受信した前記ファイルオブジェクトの取得要求の時間間隔に基づき、前記プリフェッチアクセス待機時間を決定するステップと、
    前記上流計算機および前記記憶装置のいずれか一方より読出され、前記クライアント計算機に中継された前記ファイルオブジェクトに含まれるハイパーリンクに基づき、前記プリフェッチアクセス待機時間経過後、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップとを含む、請求項8に記載のファイルオブジェクト中継方法。
  10. 前記複数の制御構造体の各々は、プリフェッチアクセス許可フラグをさらに有し、
    前記プリフェッチステップは、
    前記プリフェッチアクセス許可フラグが真の場合にのみ、前記上流計算機および前記記憶装置のいずれか一方より読出され、中継された前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項8に記載のファイルオブジェクト中継方法。
  11. 前記複数の制御構造体の各々は、同時プリフェッチアクセス要求数をさらに有し、
    前記プリフェッチステップは、前記上流計算機および前記記憶装置のいずれか一方より読出され、中継された前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記同時プリフェッチアクセス要求数の範囲内で、同時に、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項8に記載のファイルオブジェクト中継方法。
  12. 前記複数の制御構造体の各々は、最大プリフェッチアクセス階層数をさらに有し、
    前記プリフェッチステップは、前記上流計算機および前記記憶装置のいずれか一方より読出され、中継された前記ファイルオブジェクトより前記最大プリフェッチアクセス階層数の範囲内にある前記ハイパーリンクを抽出し、当該ハイパーリンクに基づき、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項8に記載のファイルオブジェクト中継方法。
  13. 前記複数の制御構造体の各々は、1つの前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記ファイルオブジェクトの処理を行なう際の中継数の最大値を規定するプリフェッチアクセス総数をさらに有し、
    前記プリフェッチステップは、前記上流計算機および前記記憶装置のいずれか一方より読出され、中継された前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記プリフェッチアクセス総数の範囲内で、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項8に記載のファイルオブジェクト中継方法。
  14. 前記複数の制御構造体の各々は、ファイルオブジェクトサイズ制限をさらに有し、
    前記プリフェッチステップは、前記上流計算機および前記記憶装置のいずれか一方より読出され、中継された前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトサイズ制限以下のファイルサイズを有する前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項8に記載のファイルオブジェクト中継方法。
  15. 前記複数の制御構造体の各々は、ファイルオブジェクトタイプ制限をさらに有し、
    前記プリフェッチステップは、前記上流計算機および前記記憶装置のいずれか一方より読出され、中継された前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトタイプに該当しない前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項8に記載のファイルオブジェクト中継方法。
  16. 前記複数の制御構造体の各々は、プリフェッチアクセス禁止上流計算機をさらに有し、
    前記プリフェッチステップは、前記上流計算機および前記記憶装置のいずれか一方より読出され、中継された前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記プリフェッチアクセス禁止上流計算機以外の前記上流計算機および前記ゲートウェイ計算機より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項8に記載のファイルオブジェクト中継方法。
  17. 前記上流計算機は、第1および第2の上流計算機を含み、
    前記ユーザアクセス要求中継ステップは、前記イベントが前記ファイルオブジェクトの取得要求である場合には、前記第1の上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し前記クライアント計算機に中継するステップを含み、
    前記プリフェッチステップは、前記中継を行なった前記ファイルオブジェクトに含まれるハイパーリンクに基づき、さらに前記第2の上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項8に記載のファイルオブジェクト中継方法。
  18. 前記イベントが前記クライアント計算機に記憶されている前記ファイルオブジェクトを利用することを指示する応答である場合には、前記応答が指定する前記クライアント計算機に記憶されている前記ファイルオブジェクトと同じファイルオブジェクトを前記記憶装置より読出すステップと、
    前記読出された前記ファイルオブジェクトに含まれるハイパーリンクに基づき、さらに前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップとをさらに含む、請求項1に記載のファイルオブジェクト中継方法。
  19. 前記中継ステップは、
    前記イベントが最新の前記ファイルオブジェクトの取得要求である場合には、前記上流計算機および前記記憶装置のいずれか一方より最新の前記ファイルオブジェクトを読出し前記クライアント計算機に中継するステップと、
    前記中継を行なった前記ファイルオブジェクトに含まれるハイパーリンクに基づき、さらに前記上流計算機および前記記憶装置のいずれか一方より最新の前記ファイルオブジェクトを読出し前記記憶装置に記憶するステップとを含む、請求項1に記載のファイルオブジェクト中継方法。
  20. 前記ファイルオブジェクトは、動的なファイルオブジェクトである、請求項1〜19のいずれかに記載のファイルオブジェクト中継方法。
  21. 複数のネットワークにそれぞれ対応づけられた複数の制御構造体のいずれかに従い、ファイルオブジェクトの中継を行なうゲートウェイ計算機で用いられるファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体であって、
    前記ゲートウェイ計算機は、前記ファイルオブジェクトを記憶するための記憶装置を有し、
    前記複数の制御構造体の各々は、クライアント計算機の接続先である代表ゲートウェイ計算機のアドレスを有し、
    イベントを受理するステップと、
    前記イベントが前記制御構造体の切換要求である場合には、切換要求された前記制御構造体に従い、各種パラメータの切換を行なうステップと、
    前記イベントが、前記クライアント計算機より送信された前記ファイルオブジェクトの取得要求である場合には、上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し前記クライアント計算機に中継する中継ステップと、
    中継を行なった前記ファイルオブジェクトを記憶装置に記憶するステップとを含む、ファイルオブジェクト中継方法のプログラムを記録した、コンピュータで読取り可能な記録媒体
  22. 前記ファイルオブジェクト中継方法は、前記ゲートウェイ計算機のネットワークアドレス情報を表示するステップをさらに含む、請求項21に記載のコンピュータで読取り可能な記録媒体
  23. 前記複数の制御構造体の各々は、許可アドレスパターンをさらに有し、
    前記中継ステップは、
    前記イベントが前記ファイルオブジェクトの取得要求である場合に、前記取得要求を送信した前記クライアント計算機のアドレスが、前記許可アドレスパターンに一致するか否かを判断するステップと、
    前記許可アドレスパターンに一致する場合、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し前記クライアント計算機に中継するステップとを含む、請求項21に記載のコンピュータで読取り可能な記録媒体
  24. 前記複数の制御構造体の各々は、許可ユーザ名およびパスワードをさらに有し、
    前記中継ステップは、
    前記ファイルオブジェクトの取得要求を送信した前記クライアント計算機を利用するユーザに、ユーザ名およびパスワードの入力を促すステップと、
    前記クライアント計算機より送信された前記ユーザ名および前記パスワードを受信するステップと、
    前記クライアント計算機より受信した前記ユーザ名および前記パスワードと、前記制御構造体に記憶された前記ユーザ名および前記パスワードとを比較し、一致した場合に、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し前記クライアント計算機に中継するステップとを含む、請求項21に記載のコンピュータで読取り可能な記録媒体。
  25. 前記ファイルオブジェクト中継方法は、前記イベントがヒストリの表示要求である場合には、前記中継ステップで中継を行なった前記ファイルオブジェクトのアドレスを表示するヒストリ表示ステップをさらに含む、請求項21に記載のコンピュータで読取り可能な記録媒体。
  26. 前記ヒストリ表示ステップは、前記イベントがヒストリの表示要求である場合には、前記中継ステップで中継を行なった前記ファイルオブジェクトのアドレ スと、中継を行なった際に、前記ゲートウェイ計算機が接続されていた前記ネットワークを特定する情報とを表示するステップを含む、請求項25に記載のコンピュータで読取り可能な記録媒体。
  27. 前記複数の制御構造体の各々は、許可ユーザ名およびパスワードをさらに有し、
    前記ヒストリ表示ステップは、
    前記ヒストリの表示要求を送信した前記クライアント計算機を利用するユーザに、ユーザ名およびパスワードの入力を促すステップと、
    前記クライアント計算機より送信された前記ユーザ名および前記パスワードを受信するステップと、
    前記クライアント計算機より受信した前記ユーザ名および前記パスワードと、前記制御構造体に記憶された前記ユーザ名および前記パスワードとを比較し、一致した場合に、前記中継ステップで中継を行なった前記ファイルオブジェクトのアドレスを表示するステップとを含む、請求項25に記載のコンピュータで読取り可能な記録媒体。
  28. 前記中継ステップは、
    前記イベントが前記ファイルオブジェクトの取得要求である場合には、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し前記クライアント計算機に中継するユーザアクセス要求中継ステップと、
    中継された前記ファイルオブジェクトに含まれるハイパーリンクに基づき、さらに前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するプリフェッチステップとを含む、請求項21に記載のコンピュータで読取り可能な記録媒体。
  29. 前記複数の制御構造体の各々は、プリフェッチアクセス待機時間をさらに有し、
    前記プリフェッチステップは、
    前記クライアント計算機から受信した前記ファイルオブジェクトの取得要求の時間間隔に基づき、前記プリフェッチアクセス待機時間を決定するステップと、
    前記上流計算機および前記記憶装置のいずれか一方より読出され、前記クライアント計算機に中継された前記ファイルオブジェクトに含まれるハイパーリンクに基づき、前記プリフェッチアクセス待機時間経過後、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップとを含む、請求項28に記載のコンピュータで読取り可能な記録媒体。
  30. 前記複数の制御構造体の各々は、プリフェッチアクセス許可フラグをさらに有し、
    前記プリフェッチステップは、
    前記プリフェッチアクセス許可フラグが真の場合にのみ、前記上流計算機および前記記憶装置のいずれか一方より読出され、中継された前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項28に記載のコンピュータで読取り可能な記録媒体。
  31. 前記複数の制御構造体の各々は、同時プリフェッチアクセス要求数をさらに有し、
    前記プリフェッチステップは、前記上流計算機および前記記憶装置のいずれか一方より読出され、中継された前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記同時プリフェッチアクセス要求数の範囲内で、同時に、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項28に記載のコンピュータで読取り可能な記録媒体。
  32. 前記複数の制御構造体の各々は、最大プリフェッチアクセス階層数をさらに有し、
    前記プリフェッチステップは、前記上流計算機および前記記憶装置のいずれか一方より 読出され、中継された前記ファイルオブジェクトより前記最大プリフェッチアクセス階層数の範囲内にある前記ハイパーリンクを抽出し、当該ハイパーリンクに基づき、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項28に記載のコンピュータで読取り可能な記録媒体。
  33. 前記複数の制御構造体の各々は、1つの前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記ファイルオブジェクトの処理を行なう際の中継数の最大値を規定するプリフェッチアクセス総数をさらに有し、
    前記プリフェッチステップは、前記上流計算機および前記記憶装置のいずれか一方より読出され、中継された前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記プリフェッチアクセス総数の範囲内で、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項28に記載のコンピュータで読取り可能な記録媒体。
  34. 前記複数の制御構造体の各々は、ファイルオブジェクトサイズ制限をさらに有し、
    前記プリフェッチステップは、前記上流計算機および前記記憶装置のいずれか一方より読出され、中継された前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトサイズ制限以下のファイルサイズを有する前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項28に記載のコンピュータで読取り可能な記録媒体。
  35. 前記複数の制御構造体の各々は、ファイルオブジェクトタイプ制限をさらに有し、
    前記プリフェッチステップは、前記上流計算機および前記記憶装置のいずれか一方より読出され、中継された前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトタイプに該当しない前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項28に記載のコンピュータで読取り可能な記録媒体。
  36. 前記複数の制御構造体の各々は、プリフェッチアクセス禁止上流計算機をさらに有し、
    前記プリフェッチステップは、前記上流計算機および前記記憶装置のいずれか一方より読出され、中継された前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記プリフェッチアクセス禁止上流計算機以外の前記上流計算機および前記ゲートウェイ計算機より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項28に記載のコンピュータで読取り可能な記録媒体。
  37. 前記上流計算機は、第1および第2の上流計算機を含み、
    前記ユーザアクセス要求中継ステップは、前記イベントが前記ファイルオブジェクトの取得要求である場合には、前記第1の上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し前記クライアント計算機に中継するステップを含み、
    前記プリフェッチステップは、前記中継を行なった前記ファイルオブジェクトに含まれるハイパーリンクに基づき、さらに前記第2の上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップを含む、請求項28に記載のコンピュータで読取り可能な記録媒体。
  38. 前記イベントが前記クライアント計算機に記憶されている前記ファイルオブジェクトを利用することを指示する応答である場合には、前記応答が指定する前記クライアント計算機に記憶されている前記ファイルオブジェクトと同じファイルオブジェクトを前記記憶装置より読出すステップと、
    前記読出された前記ファイルオブジェクトに含まれるハイパーリンクに基づき、さらに前記上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するステップとをさらに含む、請求項21に記載のコンピュータで読取り可能な記録媒体。
  39. 前記中継ステップは、
    前記イベントが最新の前記ファイルオブジェクトの取得要求である場合には、前記上流計算機および前記記憶装置のいずれか一方より最新の前記ファイルオブジェクトを読出し前記クライアント計算機に中継するステップと、
    前記中継を行なった前記ファイルオブジェクトに含まれるハイパーリンクに基づき、さらに前記上流計算機および前記記憶装置のいずれか一方より最新の前記ファイルオブジェクトを読出し前記記憶装置に記憶するステップとを含む、請求項21に記載のコンピュータで読取り可能な記録媒体。
  40. 前記ファイルオブジェクトは、動的なファイルオブジェクトである、請求項21〜39のいずれかに記載のコンピュータで読取り可能な記録媒体。
  41. 複数のネットワークにそれぞれ対応づけられた複数の制御構造体とファイルオブジェクトとを記憶する記憶装置と、
    クライアント計算機から、イベントを受信する手段と、
    前記イベントが前記制御構造体の切換要求である場合には、切換要求された前記制御構造体に従い、各種パラメータの切換を行なう手段と、
    前記イベントが前記ファイルオブジェクトの取得要求である場合には、上流計算機および前記記憶装置のいずれか一方より前記ファイルオブジェクトを読出し前記クライアント計算機に中継する中継手段と、
    中継を行なった前記ファイルオブジェクトを記憶装置に記憶する記憶手段とを含み、
    前記複数の制御構造体の各々は、前記クライアント計算機の接続先である代表ゲートウェイ計算機のアドレスを有する、ゲートウェイ計算機。
  42. 前記ゲートウェイ計算機のネットワークアドレス情報を表示する手段をさらに含む、請求項41に記載のゲートウェイ計算機。
  43. 前記複数の制御構造体の各々は、許可アドレスパターンをさらに含み、
    前記中継手段は、
    前記イベントが前記ファイルオブジェクトの取得要求である場合に、前記取得要求を送信した前記クライアント計算機のアドレスが、前記許可アドレスパターンに一致するか否かを判断する手段と、
    前記許可アドレスパターンに一致する場合、前記上流計算機および前記ゲートウェイ計算機のいずれか一方より前記ファイルオブジェクトを読出し前記クライアント計算機に中継する手段とを含む、請求項41に記載のゲートウェイ計算機。
  44. 前記複数の制御構造体の各々は、許可ユーザ名およびパスワードをさらに含み、
    前記中継手段は、
    前記ファイルオブジェクトの取得要求を送信した前記クライアント計算機を利用するユーザに、ユーザ名とパスワードの入力を促す手段と、
    前記クライアント計算機より前記ユーザ名および前記パスワードを受信する手段と、
    前記クライアント計算機より受信した前記ユーザ名および前記パスワードと、前記制御構造体に記憶された前記ユーザ名および前記パスワードとを比較し、一致した場合に、前記上流計算機および前記ゲートウェイ計算機のいずれか一方より前記ファイルオブジェクトを読出し前記クライアント計算機に中継する手段とを含む、請求項41に記載のゲートウェイ計算機。
  45. 前記イベントがヒストリの表示要求である場合には、前記中継手段で中継を行なった前記ファイルオブジェクトのアドレスを表示するヒストリ表示手段をさらに含む、請求項41に記載のゲートウェイ計算機。
  46. 前記ヒストリ表示手段は、
    前記イベントがヒストリの表示要求である場合には、前記中継手段で中継を行なった前記ファイルオブジェクトのアドレスと、中継を行なった際に、前記ゲートウェイ計算機が接続されていた前記ネットワークを特定する情報とを表示する手段を含む、請求項45に記載のゲートウェイ計算機。
  47. 前記複数の制御構造体の各々は、許可ユーザ名およびパスワードをさらに有し、
    前記ヒストリ表示手段は、
    前記ヒストリの表示要求を送信した前記クライアント計算機を利用するユーザに、ユーザ名およびパスワードの入力を促す手段と、
    前記クライアント計算機より送信された前記ユーザ名および前記パスワードを受信する手段と、
    前記クライアント計算機より受信した前記ユーザ名および前記パスワードと、前記制御構造体に記憶された前記ユーザ名および前記パスワードとを比較し、一致した場合に、前記中継手段で中継を行なった前記ファイルオブジェクトのアドレスを表示する手段とを含む、請求項45に記載のゲートウェイ計算機。
  48. 前記中継手段は、
    前記イベントが前記ファイルオブジェクトの取得要求である場合には、前記上流計算機および前記ゲートウェイ計算機のいずれか一方より前記ファイルオブジェクトを読出し前記クライアント計算機に中継するユーザアクセス要求中継手段と、
    前記中継を行なった前記ファイルオブジェクトに含まれるハイパーリンクに基づき、さらに前記上流計算機および前記ゲートウェイ計算機のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶するプリフェッチ手段とを含む、請求項41に記載のゲートウェイ計算機。
  49. 前記複数の制御構造体の各々は、プリフェッチアクセス待機時間をさらに有し、
    前記プリフェッチ手段は、
    前記クライアント計算機から受信した前記ファイルオブジェクトの取得要求の時間間隔に基づき、前記プリフェッチアクセス待機時間を決定する手段と、
    前記上流計算機および前記ゲートウェイ計算機のいずれか一方より読出し、前記クライアント計算機に中継を行なった前記ファイルオブジェクトに含まれるハイパーリンクに基づき、前記プリフェッチアクセス待機時間経過後、さらに前記上流計算機および前記ゲートウェイ計算機のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶する手段とを含む、請求項48に記載のゲートウェイ計算機。
  50. 前記複数の制御構造体の各々は、プリフェッチアクセス許可フラグをさらに有し、
    前記プリフェッチ手段は、前記プリフェッチアクセス許可フラグが真の場合にのみ、前記上流計算機および前記ゲートウェイ計算機のいずれか一方より読出し、中継を行なった前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、さらに前記上流計算機および前記ゲートウェイ計算機のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶する手段を含む、請求項48に記載のゲートウェイ計算機。
  51. 前記複数の制御構造体の各々は、同時プリフェッチアクセス要求数をさらに有し、
    前記プリフェッチ手段は、前記上流計算機および前記ゲートウェイ計算機のいずれか一方より読出し、中継を行なった前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記同時プリフェッチアクセス要求数の範囲内で、さらに前記上流計算機および前記ゲートウェイ計算機のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶する手段を含む、請求項48に記載のゲートウェイ計算機。
  52. 前記複数の制御構造体の各々は、最大プリフェッチアクセス階層数をさらに有し、
    前記プリフェッチ手段は、前記上流計算機および前記ゲートウェイ計算機のいずれか一方より読出し、中継を行なった前記ファイルオブジェクトより前記最大プリフェッチアクセス階層数の範囲内にある前記ハイパーリンクに基づき、さらに前記上流計算機および前記ゲートウェイ計算機のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶 装置に記憶する手段を含む、請求項48に記載のゲートウェイ計算機。
  53. 前記複数の制御構造体の各々は、プリフェッチアクセス総数をさらに有し、
    前記プリフェッチ手段は、前記上流計算機および前記ゲートウェイ計算機のいずれか一方より読出し、中継を行なった前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、前記プリフェッチアクセス総数の範囲内で、さらに前記上流計算機および前記ゲートウェイ計算機のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶する手段を含む、請求項48に記載のゲートウェイ計算機。
  54. 前記複数の制御構造体の各々は、ファイルオブジェクトサイズ制限をさらに有し、
    前記プリフェッチ手段は、前記上流計算機および前記ゲートウェイ計算機のいずれか一方より読出し、中継を行なった前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、さらに前記上流計算機および前記ゲートウェイ計算機のいずれか一方より前記ファイルオブジェクトサイズ制限以下のファイルサイズを有する前記ファイルオブジェクトを読出し、前記記憶装置に記憶する手段を含む、請求項48に記載のゲートウェイ計算機。
  55. 前記複数の制御構造体の各々は、ファイルオブジェクトタイプ制限をさらに有し、
    前記プリフェッチ手段は、前記上流計算機および前記ゲートウェイ計算機のいずれか一方より読出し、中継を行なった前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、さらに前記上流計算機および前記ゲートウェイ計算機のいずれか一方より前記ファイルオブジェクトタイプに該当しない前記ファイルオブジェクトを読出し、前記記憶装置に記憶する手段を含む、請求項48に記載のゲートウェイ計算機。
  56. 前記複数の制御構造体の各々は、プリフェッチアクセス禁止上流計算機をさらに有し、
    前記プリフェッチ手段は、前記上流計算機および前記ゲートウェイ計算機のいずれか一方より読出し、中継を行なった前記ファイルオブジェクトに含まれる前記ハイパーリンクに基づき、さらに前記プリフェッチアクセス禁止上流計算機以外の前記上流計算機および前記ゲートウェイ計算機より前記ファイルオブジェクトを読出し、前記記憶装置に記憶する手段を含む、請求項48に記載のゲートウェイ計算機。
  57. 前記上流計算機は、第1および第2の上流計算機を含み、
    前記ユーザアクセス要求中継手段は、前記イベントが前記ファイルオブジェクトの取得要求である場合には、前記第1の上流計算機および前記ゲートウェイ計算機のいずれか一方より前記ファイルオブジェクトを読出し前記クライアント計算機に中継する手段を含み、
    前記プリフェッチ手段は、前記中継を行なった前記ファイルオブジェクトに含まれるハイパーリンクに基づき、さらに前記第2の上流計算機および前記ゲートウェイ計算機のいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶する手段を含む、請求項48に記載のゲートウェイ計算機。
  58. 前記中継手段は、
    前記イベントが前記クライアント計算機に記憶されている前記ファイルオブジェクトを利用することを指示する応答である場合には、前記応答が指定する前記クライアント計算機に記憶されている前記ファイルオブジェクトと同じファイルオブジェクトを前記記憶装置より読出す手段と、
    前記読出された前記ファイルオブジェクトに含まれるハイパーリンクに基づき、さらに前記上流計算機および前記記憶装置にいずれか一方より前記ファイルオブジェクトを読出し、前記記憶装置に記憶する手段とを含む、請求項41に記載のゲートウェイ計算機。
  59. 前記中継手段は、
    前記イベントが最新の前記ファイルオブジェクトの取得要求である場合には、前記上流計算機および前記ゲートウェイ計算機のいずれか一方より最新の前記ファイルオブジェク トを読出し前記クライアント計算機に中継する手段と、
    前記中継を行なった前記ファイルオブジェクトに含まれるハイパーリンクに基づき、さらに前記上流計算機および前記ゲートウェイ計算機のいずれか一方より最新の前記ファイルオブジェクトを読出し前記記憶装置に記憶する手段とを含む、請求項41に記載のゲートウェイ計算機。
  60. 前記ファイルオブジェクトは、動的なファイルオブジェクトである、請求項41〜59のいずれかに記載のゲートウェイ計算機。
JP01447498A 1998-01-27 1998-01-27 ファイルオブジェクト中継方法、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機 Expired - Fee Related JP3561139B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP01447498A JP3561139B2 (ja) 1998-01-27 1998-01-27 ファイルオブジェクト中継方法、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機
US09/237,934 US6389422B1 (en) 1998-01-27 1999-01-27 Method of relaying file object, distributed file system, computer readable medium recording a program of file object relay method and gateway computer, allowing reference of one same file object among networks

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP01447498A JP3561139B2 (ja) 1998-01-27 1998-01-27 ファイルオブジェクト中継方法、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機

Publications (2)

Publication Number Publication Date
JPH11212886A JPH11212886A (ja) 1999-08-06
JP3561139B2 true JP3561139B2 (ja) 2004-09-02

Family

ID=11862070

Family Applications (1)

Application Number Title Priority Date Filing Date
JP01447498A Expired - Fee Related JP3561139B2 (ja) 1998-01-27 1998-01-27 ファイルオブジェクト中継方法、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機

Country Status (2)

Country Link
US (1) US6389422B1 (ja)
JP (1) JP3561139B2 (ja)

Families Citing this family (136)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1035708B1 (en) 1999-03-05 2007-01-17 International Business Machines Corporation Method and system for optimally selecting a web firewall in a TCP/IP network
US20020078300A1 (en) * 1999-08-16 2002-06-20 Chanda Dharap Semantics-based caching policy to minimize latency
DE60011121T2 (de) * 1999-10-15 2004-12-09 Thomson Licensing S.A., Boulogne Benutzerschnittstelle für ein zweiwegkommunikationssystem
JP2001175549A (ja) * 1999-12-22 2001-06-29 Nec Corp 構造化文書通信システム及びその通信方法並びにその制御プログラムを記録した記録媒体
US7954144B1 (en) * 2000-01-18 2011-05-31 Novell, Inc. Brokering state information and identity among user agents, origin servers, and proxies
US6947440B2 (en) * 2000-02-15 2005-09-20 Gilat Satellite Networks, Ltd. System and method for internet page acceleration including multicast transmissions
US6772159B1 (en) * 2000-02-24 2004-08-03 International Business Machines Corporation System and method for disconnected database access by heterogeneous clients
US6757869B1 (en) * 2000-03-20 2004-06-29 International Business Machines Corporation Method and apparatus for providing access to a legacy application on a distributed data processing system
JP3569193B2 (ja) * 2000-03-23 2004-09-22 シャープ株式会社 情報通信システム
JP3734668B2 (ja) * 2000-03-23 2006-01-11 日本電信電話株式会社 情報提供支援方法および装置と情報提供支援プログラムを記録した記録媒体
US6665721B1 (en) * 2000-04-06 2003-12-16 International Business Machines Corporation Enabling a home network reverse web server proxy
US7072935B2 (en) * 2000-04-28 2006-07-04 Agilent Technologies, Inc. Filtering web proxy for recording web-based transactions that supports secure HTTP steps
JP3596602B2 (ja) * 2000-08-25 2004-12-02 日本電気株式会社 Wwwサーバアクセス方式
US7689560B2 (en) 2000-10-13 2010-03-30 Miosoft Corporation Persistent data storage techniques
US7587428B2 (en) * 2000-10-13 2009-09-08 Microsoft Corporation Maintaining a relationship between two different items of data
US20020069241A1 (en) * 2000-12-06 2002-06-06 Girija Narlikar Method and apparatus for client-side proxy selection
US6959436B2 (en) * 2000-12-15 2005-10-25 Innopath Software, Inc. Apparatus and methods for intelligently providing applications and data on a mobile device system
FI20002823A (fi) * 2000-12-21 2002-06-22 Nokia Corp Tiedonsiirto
US6961766B2 (en) * 2001-04-24 2005-11-01 Oracle International Corp. Method for extracting personalization information from web activity
US7761497B1 (en) * 2001-07-13 2010-07-20 Vignette Software, LLC Storage medium having a manageable file directory structure
US20030093626A1 (en) * 2001-11-14 2003-05-15 Fister James D.M. Memory caching scheme in a distributed-memory network
US7224968B2 (en) * 2001-11-23 2007-05-29 Actix Limited Network testing and monitoring systems
GB2382502B (en) * 2001-11-23 2005-10-19 Actix Ltd Network testing systems
WO2003058483A1 (en) 2002-01-08 2003-07-17 Seven Networks, Inc. Connection architecture for a mobile network
JP4220724B2 (ja) * 2002-05-21 2009-02-04 株式会社日立製作所 ストレージ装置
US20040205514A1 (en) * 2002-06-28 2004-10-14 Microsoft Corporation Hyperlink preview utility and method
US7853563B2 (en) 2005-08-01 2010-12-14 Seven Networks, Inc. Universal data aggregation
US7917468B2 (en) 2005-08-01 2011-03-29 Seven Networks, Inc. Linking of personal information management data
US8468126B2 (en) * 2005-08-01 2013-06-18 Seven Networks, Inc. Publishing data in an information community
US7392316B2 (en) * 2003-06-30 2008-06-24 Microsoft Corporation Client to server streaming of multimedia content using HTTP
US7774499B1 (en) * 2003-10-30 2010-08-10 United Online, Inc. Accelerating network communications
JP2005149387A (ja) * 2003-11-19 2005-06-09 Nec Corp リアルタイムWeb共有システム
US7907964B2 (en) * 2003-12-18 2011-03-15 Siemens Enterprise Communications, Inc. Networked telephone system
US7907706B2 (en) * 2003-12-18 2011-03-15 Siemens Enterprise Communications, Inc. Telephone network/computer network gateway
US8116447B2 (en) * 2003-12-18 2012-02-14 Siemens Enterprise Communications, Inc. Networkable telephone system
US7912200B2 (en) * 2003-12-18 2011-03-22 Siemens Enterprise Communications, Inc. Computer-based telephone call signaling
US7856091B2 (en) * 2003-12-18 2010-12-21 Siemens Enterprise Communications, Inc. Telephone system responsive to call control protocol
US20050138604A1 (en) * 2003-12-19 2005-06-23 Peter Harrison Browser configuration
US20050182965A1 (en) * 2004-02-12 2005-08-18 International Business Machines Corporation Proxy permissions controlling access to computer resources
EP1747548A4 (en) * 2004-05-17 2009-08-05 Visible Path Corp SYSTEM AND PROCEDURE FOR ENFORCING PRIVACY IN SOCIAL NETWORKS
WO2006015238A2 (en) * 2004-07-28 2006-02-09 Visible Path Corporation System and method for using social networks to facilitate business processes
US8010082B2 (en) * 2004-10-20 2011-08-30 Seven Networks, Inc. Flexible billing architecture
WO2006045102A2 (en) 2004-10-20 2006-04-27 Seven Networks, Inc. Method and apparatus for intercepting events in a communication system
US7706781B2 (en) 2004-11-22 2010-04-27 Seven Networks International Oy Data security in a mobile e-mail service
FI117152B (fi) 2004-12-03 2006-06-30 Seven Networks Internat Oy Sähköpostiasetusten käyttöönotto matkaviestimelle
US7877703B1 (en) 2005-03-14 2011-01-25 Seven Networks, Inc. Intelligent rendering of information in a limited display environment
JP2006285506A (ja) * 2005-03-31 2006-10-19 Ricoh Co Ltd 電子情報公開証明装置、電子情報公開証明方法、電子情報公開証明プログラム及び記録媒体
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
US7694008B2 (en) 2005-05-04 2010-04-06 Venturi Wireless Method and apparatus for increasing performance of HTTP over long-latency links
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
US8447827B2 (en) 2005-09-15 2013-05-21 Emc Corporation Providing local access to managed content
US8082334B1 (en) * 2005-09-15 2011-12-20 Emc Corporation Providing direct access to managed content
US8396938B2 (en) * 2005-09-15 2013-03-12 Emc Corporation Providing direct access to distributed managed content
US7769395B2 (en) 2006-06-20 2010-08-03 Seven Networks, Inc. Location-based operations and messaging
US7827196B2 (en) * 2006-10-30 2010-11-02 International Business Machines Corporation Evaluation of access control and filter conditions
US8037126B2 (en) * 2007-03-12 2011-10-11 Citrix Systems, Inc. Systems and methods of dynamically checking freshness of cached objects based on link status
US7720936B2 (en) * 2007-03-12 2010-05-18 Citrix Systems, Inc. Systems and methods of freshening and prefreshening a DNS cache
US8103783B2 (en) 2007-03-12 2012-01-24 Citrix Systems, Inc. Systems and methods of providing security and reliability to proxy caches
US7584294B2 (en) 2007-03-12 2009-09-01 Citrix Systems, Inc. Systems and methods for prefetching objects for caching using QOS
US8504775B2 (en) 2007-03-12 2013-08-06 Citrix Systems, Inc Systems and methods of prefreshening cached objects based on user's current web page
US7809818B2 (en) * 2007-03-12 2010-10-05 Citrix Systems, Inc. Systems and method of using HTTP head command for prefetching
US7783757B2 (en) 2007-03-12 2010-08-24 Citrix Systems, Inc. Systems and methods of revalidating cached objects in parallel with request for object
US8074028B2 (en) 2007-03-12 2011-12-06 Citrix Systems, Inc. Systems and methods of providing a multi-tier cache
US8701010B2 (en) 2007-03-12 2014-04-15 Citrix Systems, Inc. Systems and methods of using the refresh button to determine freshness policy
US7865575B2 (en) * 2007-03-30 2011-01-04 Sterling Commerce, Inc. Methods and apparatus to perform file transfers in distributed file systems
US8805425B2 (en) 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US8693494B2 (en) 2007-06-01 2014-04-08 Seven Networks, Inc. Polling
US8543700B1 (en) 2007-06-28 2013-09-24 Emc Corporation Asynchronous content transfer
US8966053B2 (en) * 2007-07-12 2015-02-24 Viasat, Inc. Methods and systems for performing a prefetch abort operation for network acceleration
US9654328B2 (en) 2007-10-15 2017-05-16 Viasat, Inc. Methods and systems for implementing a cache model in a prefetching system
US9460229B2 (en) * 2007-10-15 2016-10-04 Viasat, Inc. Methods and systems for implementing a cache model in a prefetching system
US8364181B2 (en) 2007-12-10 2013-01-29 Seven Networks, Inc. Electronic-mail filtering for mobile devices
US9002828B2 (en) 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
US8793305B2 (en) 2007-12-13 2014-07-29 Seven Networks, Inc. Content delivery to a mobile device from a content service
US8107921B2 (en) 2008-01-11 2012-01-31 Seven Networks, Inc. Mobile virtual network operator
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US20090193147A1 (en) * 2008-01-30 2009-07-30 Viasat, Inc. Methods and Systems for the Use of Effective Latency to Make Dynamic Routing Decisions for Optimizing Network Applications
US20090300208A1 (en) * 2008-06-02 2009-12-03 Viasat, Inc. Methods and systems for acceleration of mesh network configurations
US8787947B2 (en) 2008-06-18 2014-07-22 Seven Networks, Inc. Application discovery on mobile devices
US8078158B2 (en) 2008-06-26 2011-12-13 Seven Networks, Inc. Provisioning applications for a mobile device
US8909759B2 (en) 2008-10-10 2014-12-09 Seven Networks, Inc. Bandwidth measurement
US20100185734A1 (en) * 2009-01-19 2010-07-22 Moxa Inc. Method for processing response messages
US8560604B2 (en) 2009-10-08 2013-10-15 Hola Networks Ltd. System and method for providing faster and more efficient data communication
WO2011100518A2 (en) * 2010-02-12 2011-08-18 Movik Networks, Inc. Charging-invariant and origin-server-friendly transit caching in mobile networks
US8504809B2 (en) 2010-05-27 2013-08-06 At&T Mobility Ii Llc Automated communication configuration
WO2012012334A2 (en) 2010-07-19 2012-01-26 Movik Networks Content pre-fetching and cdn assist methods in a wireless mobile network
GB2495877B (en) 2010-07-26 2013-10-02 Seven Networks Inc Distributed implementation of dynamic wireless traffic policy
JP5620578B2 (ja) 2010-07-26 2014-11-05 セブン ネットワークス インコーポレイテッド 複数のアプリケーションにわたるモバイルネットワークトラフィック調整
GB2495066B (en) 2010-07-26 2013-12-18 Seven Networks Inc Mobile application traffic optimization
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
WO2012060997A2 (en) 2010-11-01 2012-05-10 Michael Luna Application and network-based long poll request detection and cacheability assessment therefor
WO2012060996A2 (en) 2010-11-01 2012-05-10 Michael Luna Caching adapted for mobile application behavior and network conditions
US9330196B2 (en) 2010-11-01 2016-05-03 Seven Networks, Llc Wireless traffic management system cache optimization using http headers
US9060032B2 (en) 2010-11-01 2015-06-16 Seven Networks, Inc. Selective data compression by a distributed traffic management system to reduce mobile data traffic and signaling traffic
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US8484314B2 (en) 2010-11-01 2013-07-09 Seven Networks, Inc. Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
WO2012061437A1 (en) 2010-11-01 2012-05-10 Michael Luna Cache defeat detection and caching of content addressed by identifiers intended to defeat cache
US8326985B2 (en) 2010-11-01 2012-12-04 Seven Networks, Inc. Distributed management of keep-alive message signaling for mobile network resource conservation and optimization
GB2495463B (en) 2010-11-22 2013-10-09 Seven Networks Inc Aligning data transfer to optimize connections established for transmission over a wireless network
EP2636268B1 (en) 2010-11-22 2019-02-27 Seven Networks, LLC Optimization of resource polling intervals to satisfy mobile device requests
WO2012094675A2 (en) 2011-01-07 2012-07-12 Seven Networks, Inc. System and method for reduction of mobile network traffic used for domain name system (dns) queries
US9854055B2 (en) * 2011-02-28 2017-12-26 Nokia Technologies Oy Method and apparatus for providing proxy-based content discovery and delivery
US9084105B2 (en) 2011-04-19 2015-07-14 Seven Networks, Inc. Device resources sharing for network resource conservation
WO2012149434A2 (en) 2011-04-27 2012-11-01 Seven Networks, Inc. Detecting and preserving state for satisfying application requests in a distributed proxy and cache system
EP2702827A4 (en) 2011-04-27 2014-10-22 Seven Networks Inc MOBILE DEVICE DISCHARGING REQUESTS MOBILE APPLICATION TO REMOTE ENTITY TO KEEP MOBILE DEVICE RESOURCES AND NETWORK RESOURCES AND RELATED METHODS
WO2013015995A1 (en) 2011-07-27 2013-01-31 Seven Networks, Inc. Automatic generation and distribution of policy information regarding malicious mobile traffic in a wireless network
US8977755B2 (en) 2011-12-06 2015-03-10 Seven Networks, Inc. Mobile device and method to utilize the failover mechanism for fault tolerance provided for mobile traffic management and network/device resource conservation
US8934414B2 (en) 2011-12-06 2015-01-13 Seven Networks, Inc. Cellular or WiFi mobile traffic optimization based on public or private network destination
WO2013086447A1 (en) 2011-12-07 2013-06-13 Seven Networks, Inc. Radio-awareness of mobile device for sending server-side control signals using a wireless network optimized transport protocol
EP2788889A4 (en) 2011-12-07 2015-08-12 Seven Networks Inc FLEXIBLE AND DYNAMIC INTEGRATION SCHEMES OF A TRAFFIC MANAGEMENT SYSTEM WITH VARIOUS NETWORK OPERATORS TO REDUCE NETWORK TRAFFIC
WO2013090212A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Mobile network reporting and usage analytics system and method using aggregation of data in a distributed traffic optimization system
WO2013090821A1 (en) 2011-12-14 2013-06-20 Seven Networks, Inc. Hierarchies and categories for management and deployment of policies for distributed wireless traffic optimization
US9832095B2 (en) 2011-12-14 2017-11-28 Seven Networks, Llc Operation modes for mobile traffic optimization and concurrent management of optimized and non-optimized traffic
US8909202B2 (en) 2012-01-05 2014-12-09 Seven Networks, Inc. Detection and management of user interactions with foreground applications on a mobile device in distributed caching
WO2013116856A1 (en) 2012-02-02 2013-08-08 Seven Networks, Inc. Dynamic categorization of applications for network access in a mobile network
US9326189B2 (en) 2012-02-03 2016-04-26 Seven Networks, Llc User as an end point for profiling and optimizing the delivery of content and data in a wireless network
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
WO2013155208A1 (en) 2012-04-10 2013-10-17 Seven Networks, Inc. Intelligent customer service/call center services enhanced using real-time and historical mobile application and traffic-related statistics collected by a distributed caching system in a mobile network
US8775631B2 (en) 2012-07-13 2014-07-08 Seven Networks, Inc. Dynamic bandwidth adjustment for browsing or streaming activity in a wireless network based on prediction of user behavior when interacting with mobile applications
US9161258B2 (en) 2012-10-24 2015-10-13 Seven Networks, Llc Optimized and selective management of policy deployment to mobile clients in a congested network to prevent further aggravation of network congestion
US9307493B2 (en) 2012-12-20 2016-04-05 Seven Networks, Llc Systems and methods for application management of mobile device radio state promotion and demotion
US9271238B2 (en) 2013-01-23 2016-02-23 Seven Networks, Llc Application or context aware fast dormancy
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US9326185B2 (en) 2013-03-11 2016-04-26 Seven Networks, Llc Mobile network congestion recognition for optimization of mobile traffic
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US9092613B2 (en) * 2013-07-25 2015-07-28 Iboss, Inc. Device authentication using proxy automatic configuration script requests
US9241044B2 (en) 2013-08-28 2016-01-19 Hola Networks, Ltd. System and method for improving internet communication by using intermediate nodes
WO2016029384A1 (zh) 2014-08-27 2016-03-03 华为技术有限公司 一种资源下载方法、电子设备及装置
US11057446B2 (en) 2015-05-14 2021-07-06 Bright Data Ltd. System and method for streaming content from multiple servers
US11190374B2 (en) 2017-08-28 2021-11-30 Bright Data Ltd. System and method for improving content fetching by selecting tunnel devices
LT3754520T (lt) 2017-08-28 2022-02-25 Bright Data Ltd Būdas pagerinti turinio parsisiuntimą, pasirenkant tunelinius įrenginius
US10834121B2 (en) * 2018-07-24 2020-11-10 EMC IP Holding Company LLC Predictive real-time and scheduled anti-virus scanning
EP3750079A4 (en) 2019-02-25 2022-01-12 Bright Data Ltd SYSTEM AND METHOD FOR URL EXTRACTION CHALLENGE MECHANISM
EP4027618A1 (en) 2019-04-02 2022-07-13 Bright Data Ltd. Managing a non-direct url fetching service

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4887204A (en) * 1987-02-13 1989-12-12 International Business Machines Corporation System and method for accessing remote files in a distributed networking environment
US4897781A (en) * 1987-02-13 1990-01-30 International Business Machines Corporation System and method for using cached data at a local node after re-opening a file at a remote node in a distributed networking environment
JPH04313126A (ja) * 1991-04-11 1992-11-05 Nec Corp 分散ファイルシステムのファイル入出力方式
JPH0683740A (ja) * 1992-09-01 1994-03-25 Matsushita Electric Ind Co Ltd ネットワーク環境移行装置
JP3140621B2 (ja) * 1993-09-28 2001-03-05 株式会社日立製作所 分散ファイルシステム
JP3555710B2 (ja) * 1995-12-20 2004-08-18 ソニー株式会社 データ伝送方法および装置
JPH09231119A (ja) * 1996-02-26 1997-09-05 Nippon Telegr & Teleph Corp <Ntt> 情報通信システム
US6003077A (en) * 1996-09-16 1999-12-14 Integrated Systems, Inc. Computer network system and method using domain name system to locate MIB module specification and web browser for managing SNMP agents
US5852717A (en) * 1996-11-20 1998-12-22 Shiva Corporation Performance optimizations for computer networks utilizing HTTP
US6026474A (en) * 1996-11-22 2000-02-15 Mangosoft Corporation Shared client-side web caching using globally addressable memory
WO1998024027A1 (fr) * 1996-11-25 1998-06-04 Hitachi, Ltd. Dispositif de memoire cache web et appareil client utilisant ce dispositif
US6041041A (en) * 1997-04-15 2000-03-21 Ramanathan; Srinivas Method and system for managing data service systems
US6144959A (en) * 1997-08-18 2000-11-07 Novell, Inc. System and method for managing user accounts in a communication network
US6035324A (en) * 1997-08-28 2000-03-07 International Business Machines Corporation Client-side asynchronous form management
US6070184A (en) * 1997-08-28 2000-05-30 International Business Machines Corporation Server-side asynchronous form management
US6085193A (en) * 1997-09-29 2000-07-04 International Business Machines Corporation Method and system for dynamically prefetching information via a server hierarchy

Also Published As

Publication number Publication date
US6389422B1 (en) 2002-05-14
JPH11212886A (ja) 1999-08-06

Similar Documents

Publication Publication Date Title
JP3561139B2 (ja) ファイルオブジェクト中継方法、ファイルオブジェクト中継方法のプログラムを記録したコンピュータで読取り可能な記録媒体、およびゲートウェイ計算機
US6338096B1 (en) System uses kernals of micro web server for supporting HTML web browser in providing HTML data format and HTTP protocol from variety of data sources
US8103737B2 (en) System and method for previewing hyperlinks with ‘flashback’ images
US7941609B2 (en) HTTP acceleration by prediction and pre-fetching
JP3719825B2 (ja) 情報処理装置及び情報処理方法
JP3967806B2 (ja) リソースの位置を指名するためのコンピュータ化された方法及びリソース指名機構
US8176185B2 (en) Method of switching Internet personas based on URL
KR100705411B1 (ko) 로컬 컴퓨터 검색 시스템 및 이를 이용한 로컬 컴퓨터 검색방법
JP3982736B2 (ja) 翻訳システム
KR100274738B1 (ko) 분산전산망의문서의프락싱및트랜스코딩제공방법및장치
US20010028363A1 (en) Method for receiving and managing electronic files and file-managing device used therefor
JP2002229842A (ja) Httpアーカイブ・ファイル
JP2005122693A (ja) P2p通信ネットワーク上におけるデジタル文書アクセス方法及びシェア方法
US8019884B2 (en) Proxy content for submitting web service data in the user&#39;s security context
JP2009110214A (ja) 移動端末の位置情報に応じたデータへのアクセス制御システム及び方法
TW517196B (en) System and method for fine grained selective cache
JP2008502038A (ja) 1つの選択可能なウェブ・プロジェクトとしての、複数のブラウザ・インスタンスの保存
JP5347429B2 (ja) ユニフォームリソースロケータ書換方法及び装置
US20030106025A1 (en) Method and system for providing XML-based web pages for non-pc information terminals
JP2003162444A (ja) 情報提供システム、情報提供方法、情報提供プログラム
JP3647967B2 (ja) 画面遷移システム
JP4362778B2 (ja) プロキシサーバ装置
JP2004062873A (ja) マルチプラットフォームアプリケーションのためのブラウザセッションモビリティシステム
KR20020011016A (ko) 웹 검색 속도 향상을 위한 프리캐싱 알고리즘
JP2009026013A (ja) コンテンツ登録・提供装置、コンテンツ登録・提供制御方法、および、コンテンツ登録・提供制御プログラム

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20031224

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20040220

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20040527

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