JP2000076118A - 分散ファイル処理装置および分散ファイル処理方法 - Google Patents

分散ファイル処理装置および分散ファイル処理方法

Info

Publication number
JP2000076118A
JP2000076118A JP10249235A JP24923598A JP2000076118A JP 2000076118 A JP2000076118 A JP 2000076118A JP 10249235 A JP10249235 A JP 10249235A JP 24923598 A JP24923598 A JP 24923598A JP 2000076118 A JP2000076118 A JP 2000076118A
Authority
JP
Japan
Prior art keywords
processing
processing result
procedure
file
result
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10249235A
Other languages
English (en)
Inventor
Atsushi Saito
淳 齋藤
Shigehisa Kawabe
惠久 川邉
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fuji Xerox Co Ltd filed Critical Fuji Xerox Co Ltd
Priority to JP10249235A priority Critical patent/JP2000076118A/ja
Priority to US09/382,952 priority patent/US6557024B1/en
Publication of JP2000076118A publication Critical patent/JP2000076118A/ja
Pending legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

(57)【要約】 【課題】 複製を有効に利用してファイルサーバへの負
荷や、経路上の通信トラフィックを軽減した分散ファイ
ル処理装置および方法を提供する。 【解決手段】 原料を編集加工する手続きを表す手続き
名等で修飾して構成した仮想URLに基づいて、原料フ
ァイルの処理を行うコンテキスト手段と、コンテキスト
手段において処理を行った原料ファイルの処理結果を保
持する結果保持手段を有し、さらに、結果保持手段の保
持する処理結果の有効性を判定する結果管理手段とを有
する。結果管理手段は、処理結果に対応する原料ファイ
ル名、手続き名、手続き処理の処理実行日時、手続き処
理実行を要求した要求固有の処理要求識別子等に基づい
て処理結果の有効性を判定する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は分散ファイル処理装
置および処理方法に関する。さらに詳細には複数のコン
ピュータが接続されたデータ通信ネットワークを介して
ネットワーク上のサーバー等に分散して存在するデータ
に対して効率のよいアクセスを可能とし、迅速な処理デ
ータの抽出を可能とした分散ファイル処理装置及び分散
ファイル処理方法に関する。
【0002】
【従来の技術】ネットワークを介する分散ファイルアク
セスシステムにおいては昨今、ますますその迅速、正確
性に対する要求が高まってきている。従来から、様々な
分散ファイル処理システムが提案され、また実行されて
いるが、その代表的なものを以下に説明する。
【0003】[従来技術1]従来の分散ファイルアクセ
スシステムにおける一つの一般的方式として、ファイル
を提供するファイルサーバとファイルをアクセスするク
ライアントのネットワークの経路上に、代理サーバや中
継サーバ(以降代理サーバ)を分散的に配置して、クラ
イアントはこれを経由してファイルにアクセスする方式
がある。例えば、FTPミラーサーバなどがこれに相当
する。
【0004】このような代理サーバを用いたシステムで
は、あらかじめファイルの複製を提供することで、ファ
イルサーバへの負荷や、ネットワーク経路上の通信トラ
フィックを軽減できるというメリットがある。
【0005】また、あらかじめファイルの複製をサーバ
に用意しておくのではなく、クライアントからアクセス
されたファイルに対して動的に複製を作成し、その後の
アクセスに提供するスナップショット方式も考案されて
いる。例えば、RFC2187で述べられているHTT
P中継サーバプログラムSquid(http://s
quid.nlanr.net/Squid/において
配布されている)においては、複製の更新や無効化は、
複製の生成時刻、オリジナルのファイルの生成時刻、な
どのタイムスタンプ情報に基づく計算により必要と判定
されたときに行われる。
【0006】このようなスナップショット方式では、例
えば、次のような手順でファイル複製の管理が行われ
る。クライアントからのファイルアクセス要求が発生
し、要求されたファイルの複製が代理サーバにあった場
合に、前記タイムスタンプ情報に基づく計算を行い、複
製の新しさを判定する。複製が十分新しい場合以外は、
要求されたファイルのオリジナルのタイムスタンプと複
製のタイムスタンプとを比較して、複製の方が新しい場
合は複製を返す。複製の方が古い場合は、古いと判定さ
れた複製を無効化し、新たにオリジナルファイルをコピ
ーして、複製を作成し返す。このような動的に複製を作
成する方式では、あらかじめ複製を用意する方式に比
べ、複製の管理が自動化できるので管理コストが軽減さ
れ、代理サーバの増設も容易である。
【0007】ところが、WWWのCGIで代表されるよ
うな、ファイルサーバ上でアクセス時にオンデマンド型
で生成されるファイル(例えば、 今日の天気 をファ
イル内の情報に含む場合)では、タイムスタンプ情報
は、アクセス時に付与される。タイムスタンプ情報のみ
を用いて複製を管理する方式では、複製とオリジナルの
比較を行うための適当なタイムスタンプを決定する機構
がないため、複製が有効であるかとうかの判定ができな
い。そのため、動的に生成されるファイルに関して複製
を有効に利用することは困難である。この種の技術を従
来技術1とする。
【0008】[従来技術2]特開平8−292910に
は、原料となる資源名から、それを加工する手続きを表
す手続き名と、手続きに対するパラメータと、手続き名
を解釈し手続きを起動する装置をあらわすコンテキスト
識別子とで修飾して構成した資源名を解釈して、原料資
源へのアクセスを行い、手続きを起動して、原料資源の
処理を行う資源管理装置および資源管理方式が開示され
ている。
【0009】この特開平8−292910に開示された
資源管理装置および資源管理方式では、資源名に埋め込
まれた手続き名や原料資源名が、分散的に解決され、手
続き同士がネットワーク上でパイプライン的に結合され
る。しかし、手続きが多段に結合されたり、複数の入力
を持つ手続きの場合はパイプラインがツリー構造のよう
に構成されることを考えると、ネットワーク上のバース
ト的な通信エラーでいずれか一個所の通信が失敗した場
合、最終的な処理結果である合成資源が得られないとい
う欠点がある。通信に失敗して結果が得られなかった場
合は、再実行を行って結果を得ることもできるが、一つ
の合成資源を得るのに複数のネットワーク通信が必要な
ので、信頼性の低いネットワークでは、いずれかの通信
が高い確率で失敗し、結果を得るまでに何度も再実行を
繰り返す必要があったり、合成資源が得られないことも
ある。この種の技術を従来技術2とする。
【0010】
【発明が解決しようとする課題】分散ファイル処理にお
いて、作成された複製を有効に利用してファイルサーバ
への負荷や、ネットワーク経路上の通信トラフィックを
軽減することを目標とすることを考慮すると、上述した
従来技術の構成では以下に説明する問題点が発生する。
【0011】まず、従来技術1は、上述のようにWWW
のアクセスにおいて、複製を利用して通信トラフィック
を減らすなどの効果は提供するが、クライアント等から
のリクエストを受けたときにサーバ上で動的に生成され
る文書に関しては複製を取り扱うのが困難となる。
【0012】また、従来技術2は分散ファイルアクセス
の手順を用いて分散ファイル処理を実現でき、各種の処
理を組み合わせたサービスを提供することが可能となる
が、処理結果がパイプラインで複数組み合わせることを
必要とするため、信頼性の低いネットワークにおいて高
い確率で失敗が起きやすく、実用性が低いという問題点
を有する。
【0013】本発明はこのような従来技術の有する各種
の問題点を解決するものであり、複製を有効に利用して
ファイルサーバへの負荷や、経路上の通信トラフィック
を軽減することを達成することを目的とする。
【0014】
【課題を解決するための手段】本発明は上記の目的を達
成するものであり、コンピュータをネットワークで接続
した分散コンピュータシステムにおける分散ファイル処
理装置において、ネットワーク上に接続された装置に保
持されたデータファイル原料を識別可能な原料ファイル
名を、原料を編集加工する手続きを表す手続き名と、手
続きのパラメータと、手続き名を解釈し手続きを動作さ
せるコンピュータおよび動作環境を定めるコンテキスト
名とで修飾して構成した修飾ファイル名を解釈して、原
料ファイル名と手続き名を取り出し、該取り出した原料
ファフイル名に対応する原料ファイルのデータを入力
し、取り出した手続き名に対応する手続きを起動して、
原料ファイルを該起動した手続きによって処理を行うコ
ンテキスト手段と、コンテキスト手段において起動した
手続きによって処理を行った原料ファイルの処理結果を
保持する処理結果保持手段と、処理結果保持手段の保持
する処理結果を取り出して出力する結果出力手段と、結
果保持手段の保持する処理結果の有効性を判定する処理
結果管理手段とを有することを特徴とする。
【0015】さらに、本発明の分散ファイル処理装置に
おいて、管理手段は、処理結果保持手段の保持する処理
結果に対応し原料ファイル名およびコンテキスト手段に
おける手続き名に基づいて処理結果の有効性を判定する
構成を有することを特徴とする。
【0016】さらに、本発明の分散ファイル処理装置に
おいて、処理結果管理手段は、コンテキスト手段による
手続き処理の処理実行日時を示す処理日時、コンテキス
ト手段による手続き処理の実行を要求した要求固有の処
理要求識別子の少なくともいずれかに基づいて処理結果
の有効性を判定する構成を有することを特徴とする。
【0017】さらに、本発明の分散ファイル処理装置に
おいて、処理結果管理手段は、原料ファイルの更新日時
と、コンテキスト手段による手続き処理の処理実行日時
を示す処理日時とを比較し、該比較結果に基づいて処理
結果の有効性を判定する構成を有することを特徴とす
る。
【0018】さらに、本発明の分散ファイル処理装置
は、コンテキスト手段が、修飾ファイル名の解釈におい
て、要求処理結果の処理時刻指定子が含まれると判定し
た場合は、処理結果管理手段は、時刻指定子の示す時間
範囲に処理日時が対応するか否かに基づいて、処理日時
が対応づけられた処理結果の有効性を判定する構成を有
することを特徴とする。
【0019】さらに、本発明の分散ファイル処理装置に
おいて、ネットワークは、複数のコンテキスト手段、該
複数のコンテキスト手段に対応して設けられた複数の処
理結果保持手段、および該複数の処理結果保持手段に対
応して設けられた複数の処理結果管理手段を接続した構
成を有し、複数のコンテキスト手段は、それぞれ独立に
手続き処理が可能であり、ネットワーク上に出力された
処理要求に対応する処理結果の有効性を判定する第1の
処理結果管理手段は、該処理要求に指定された原料ファ
イルおよび手続きに対応する処理結果を保持するネット
ワーク上の第2の処理結果保持手段を管理する第2の処
理結果管理手段に処理結果の有効性についての問い合わ
せを実行する構成を有することを特徴とする。
【0020】さらに、本発明の分散ファイル処理装置
は、コンテキスト手段における修飾ファイル名の解釈に
おいて、処理結果保持手段に保持された処理結果の無効
化または破棄いずれかの指示を定めた所定のパラメータ
が含まれることが解析されたことを条件として、処理結
果管理手段は、処理結果保持手段に格納された処理結果
の無効化または破棄いずれかの処理を実行する構成を有
することを特徴とする。
【0021】さらに、本発明の分散ファイル処理装置
は、処理結果管理手段による処理結果保持手段に格納さ
れた処理結果の無効化または破棄いずれかの処理の実行
に伴い、コンテキスト手段は、無効化または破棄を行っ
た処理結果に対応する原料ファイルを取得して、新たに
処理を実行して処理結果保持手段に保持する構成を有す
ることを特徴とする。
【0022】さらに、本発明の分散ファイル処理装置に
おいて、コンテキスト手段における原料ファイルに対す
る手続きによる処理は、処理要求タイミングとは独立に
非同期的処理として実行するとともに、該手続きによっ
て処理された処理結果には該処理結果に対応する処理結
果識別子を生成し、該処理結果識別子を処理結果に対応
させて処理結果保持手段に保持する構成としたことを特
徴とする。
【0023】さらに、本発明の分散ファイル処理装置に
おいて、コンテキスト手段は、修飾ファイル名の解釈に
おいて、処理の要求が非同期的であることを示す指定デ
ータが含まれる判定がなされたことを条件として、原料
ファイルに対する手続きを処理要求タイミングとは独立
に非同期的処理として実行する構成を有することを特徴
とする。
【0024】さらに、本発明の分散ファイル処理装置
は、コンテキスト手段が修飾ファイル名の解釈におい
て、処理の要求条件に完全一致しないが、部分一致する
処理結果が処理結果保持手段に含まれると判定した場合
において、結果出力手段は、処理結果保持手段に含まれ
る部分一致する処理結果を出力する構成を有することを
特徴とする。
【0025】さらに、本発明の分散ファイル処理方法
は、コンピュータをネットワークで接続した分散コンピ
ュータシステムにおける分散ファイル処理方法におい
て、ネットワーク上に接続された装置に保持されたデー
タファイル原料を識別可能な原料ファイル名を、原料を
編集加工する手続きを表す手続き名と、手続きのパラメ
ータと、手続き名を解釈し手続きを動作させるコンピュ
ータおよび動作環境を定めるコンテキスト名とで修飾し
て構成した修飾ファイル名を解釈して、原料ファイル名
と手続き名を取り出し、該取り出した原料ファフイル名
に対応する原料ファイルのデータを入力し、取り出した
手続き名に対応する手続きを起動して、原料ファイルを
該起動した手続きによって処理を行うコンテキスト手段
による手続き処理ステップと、手続き処理ステップにお
いて起動した手続きによって処理を行った原料ファイル
の処理結果を結果保持手段に保持する結果保持ステップ
と、処理結果保持手段の保持する処理結果の有効性を判
定する処理結果有効性判定ステップと、処理結果有効性
判定ステップにおいて有効と判定された処理結果であ
り、処理結果保持手段に保持された処理結果を取り出し
て出力する結果出力ステップとを有することを特徴とす
る。
【0026】さらに、本発明の分散ファイル処理方法に
おいて、処理結果有効性判定ステップは、処理結果保持
手段の保持する処理結果に対応する原料ファイル名およ
びコンテキスト手段における手続き名に基づいて処理結
果の有効性を判定することを特徴とする。
【0027】さらに、本発明の分散ファイル処理方法
は、コンテキスト手段による手続き処理の処理実行日
時、コンテキスト手段による手続き処理の実行を要求し
た要求固有の処理要求識別子の少なくともいずれか一方
に基づいて処理結果の有効性を判定することを特徴とす
る。
【0028】さらに、本発明の分散ファイル処理方法に
おいて、処理結果有効性判定ステップは、原料ファイル
の更新日時と、コンテキスト手段による手続き処理の処
理実行日時とを比較し、該比較結果に基づいて処理結果
の有効性判定を行うことを特徴とする。
【0029】さらに、本発明の分散ファイル処理方法に
おいて、コンテキスト手段における原料ファイルに対す
る手続き処理は、処理要求タイミングとは独立に非同期
的処理として実行するとともに、該手続きによって処理
された処理結果には該処理結果に対応する処理結果識別
子を生成し、該処理結果識別子を処理結果に対応させて
処理結果保持手段に保持することを特徴とする。
【0030】
【発明の実施の形態】本発明の分散ファイル処理システ
ムを構成するネットワーク上の主要な要素について、そ
の概要を図1に示す。図1に示すようにネットワーク上
には、ファイルアクセスの実行主体となるクライアント
(図1右端)が接続され、また、ファイルの供給主体で
あり原料ページA、B、C...を保持するサーバ(図
1左端)が接続されている。さらに本発明のシステムで
は、サーバの保有する原料ページA、B、C...をさ
まざまな形で加工し、またその加工結果を保持する等、
各種の機能を有する処理サーバが存在し、これらが図1
ではコンテキスト手段、処理結果保持手段等として示さ
れている。これらの処理サーバの具体的な構成、機能に
ついては以下の実施例において詳細に説明する。
【0031】図1に示す本発明の基本構成における処理
の概要について簡単に説明する。まず、ネットワーク上
のユーザがWWWクライアントを介してある特定ファイ
ルの加工データを要求する。要求されたファイルの原料
ファイルは基本的にWWWサーバの原料ページA、B、
C...として保持されているものである。ユーザはこ
れらの原料ファイルに対して様々な態様で加工した結果
データの出力を要求する。例えば原料ページAに対応す
るHTML文書の一部を抽出して一つの要約されたHT
ML文書として出力(メソッドsummary)するこ
とや、複数のHTML文書を合成して一つのHTML文
書として出力(メソッドmerge)すること等であ
る。これらの加工処理が図1に示す手続きf、g、
h...の一つの態様である。
【0032】図1に示す処理結果保持手段が保持するf
(A)、f(B)等は原料ページA、Bに対して、所定
の処理を施して得られた結果データである。処理結果保
持手段は、WWWクライアントからの要求に応じた処理
を行った処理データを保持している場合と保持していな
い場合がある。また、加工データ、例えばf(A)自体
は有していても、ユーザのアクセス時には、既にその加
工源となった原料ページAが更新され更新原料ページ
A’として、WWWサーバに保持されている場合もあ
る。このような、様々な場合にWWWクライアントから
の要求に柔軟に対応できるシステムを実現するのが本発
明のシステムであり、その詳細を以下の実施例において
説明する。
【0033】[実施例1]まず、本発明の分散ファイル
処理装置における第1の実施例を説明する。実施例1の
分散ファイル処理装置の構成ブロック図を図2に示す。
【0034】図2に示すように、ネットワークには、原
料ファイルをもつWWWサーバ1000と、コンテキス
トおよび各種の手続きを実行する処理サーバ1001,
1002と、ファイルリクエストを出力するWWWブラ
ウザ1003が接続されている。なお、図2では処理サ
ーバがネットワークに2つ接続されている例を示してい
るが、これら処理サーバ、WWWサーバ、WWWブラウ
ザの接続数は任意である。
【0035】WWWサーバ1000上に原料ファイル1
801があり、そのURLは例えば、 http://host0/page01.html であり、これをURL1101とする。WWWサーバ1
000は、さらに他の原料ページ1802、1803、
1804…を有し、これら原料ページ各々に対してUR
L1102、URL1103、URL1104…が対応
する。
【0036】処理サーバ1001、1002(JWS:
Java Web Server)上にJavaのクラ
スであるEditがあり、メソッドとして、Editク
ラスのメソッドであるメソッドsummary121
1、1221、merge1212、1222他が存在
する。
【0037】この実施例では、図2に示すようにファイ
ルサーバはWWWサーバ1000で、ファイルはHTM
Lフォーマットで記述されたWWWページである。WW
Wサーバ1000と、そのクライアントであるWWWブ
ラウザ1003は、HTTP(HyperText T
ransfer Protocol)でネットワークを
介して、WWWページを送受信する。ファイル名はUR
Lで、例えば、 http://host1/index.html などと記される。URLのシンタクスは、RFC173
8で規定されている。
【0038】例えば、処理サーバ1001のホスト名
が、host1であり、ポート番号は8080であると
すると、WWWブラウザ1003は、原料ファイル名U
RL1101を手続き名、パラメータ、コンピュータ名
等で修飾した次のような仮想URL1111によりリク
エストを送出することができる。 http://host1:8080/context
/Edit?method=summary&url1
=http%3A%2F%2Fhost0%2Fpag
e01.html 仮想URLについては、以下において詳細に説明する。
【0039】以下、実施例1について、 「1.仮想URL」 「2.各構成要素の概要」(図2参照) 「3.処理サーバの動作」(図3参照) 「4.コンテキストの動作」(図4参照) 「5.URLパーザの動作」(図5参照) 「6.スナップショットマネージャの動作」(図6、図
7参照) 「7.レスポンス時の処理」 の順で詳細に説明する。
【0040】「1.仮想URL」まず、仮想URLにつ
いて詳細に説明する。原料ファイル名を手続き名、パラ
メータ、コンピュータ名で修飾したファイル名は、「U
RL」を手続き名、パラメータ、コンピュータ名で修飾
した「仮想URL」として実現する。仮想URLの記述
を、例をあげて説明する。仮想URLは、例えば次のよ
うに記述される。 http://host1:8080/context
/Edit?method=summary&url1
=http%3A%2F%2Fhost0%2Fpag
e01.html
【0041】仮想URLの先頭部には、ファイルアクセ
スのプロトコル、コンテキストの存在する処理サーバの
ホスト名、TCPポート番号、コンテキスト起動を指示
するパス名が記述され、通常のURLと同様のシンタク
スである。
【0042】例えば、プロトコルがHTTPで、ホスト
名host1、ポート番号8080、パス名がcont
ext/であるとすれば、仮想URLの先頭部は、 http://host1:8080/context
/ であって、それに続き、コンテキストおよび手続きが指
定される。
【0043】コンテキストはこの実施例ではJava言
語で記述されたオブジェクトプログラムとして実現さ
れ、クラス名で指定する。手続きはJavaで記述され
たメソッドで、前記クラス名とメソッド名で指定され
る。メソッド名は、次の形式で仮想URL中に含める。
先頭が文字 ? で始まり、<propertyNam
e>=<propertyValue>の形をなす文字
列を文字 & で区切って連結する形式であり、pro
pertyNameは、propertyValueと
して記述された値の種類を識別するための名前である。
メソッド名は、 method= に続く文字列で指定
される。例えば、クラス名Edit、メソッド名sum
maryならば、Edit?method=summa
ryである。
【0044】パラメータ、原料のURLも、<prop
ertyName>=<propertyValue>
の形式で記述され、 & を区切りとしてメソッド名の
後ろに追加される。また、この形式ではメソッド名やパ
ラメータや原料のURL中の文字 / , & , ?
, : , = はそれぞれ %2F , %26,
%3F , %3A , %3D に変換される。
【0045】例えば、原料ファイルのURLが、htt
p://host0/page01.htmlで示され
るとき、これを仮想URL中に記述すると、&url1
=http%3A%2F%2Fhost0%2Fpag
e01.htmlに変換される。
【0046】このように記述される仮想URLを解析す
るURLパーザ1611,1621の動作の詳細につい
ては、図5を用いて後段で説明する。
【0047】なお、以下の説明においては、冗長性を回
避するため仮想URL等の記述を略記法によって簡略化
し記号に置き換えて説明する。仮想URL等と各記号を
以下のように対応づける。
【0048】まず、サーバ名、ポート番号、コンテキス
ト、クラス名、メソッド名をまとめて、英小文字の記号
で表現する。 f:host1上のポート8080番のWWWサーバに
よりアクセスできるコンテキストが起動するクラスEd
itのメソッド「summary」を「f」とする。 g:host2上のポート8080番のWWWサーバに
よりアクセスできるコンテキストが起動するクラスEd
itのメソッド「merge」を「g」とする。
【0049】さらに、URL(仮想URLも含む)を英
大文字の記号で表現する。例えば、 A:「http://host0/page01.ht
ml」を「A」とする。 B:「http://host0/page02.ht
ml」を「B」とする。 X:「http://host1:8080/cont
ext/Edit?method=summary&u
rl1=http%3A%2F%2Fhost0%2F
page01.html」を「X」とする。 Y:「http://host1:8080/cont
ext/Edit?method=summary&u
rl1=http%3A%2F%2Fhost0%2F
page02.html」を「Y」とする。 Z:「http://host2:8080/cont
ext/Edit?method=merge&url
1=http%3A%2F%2Fhost1%3A80
80%2Fcontext%2FEdit%3Fmet
hod%3Dsummary%26url1%3Dht
tp%253A%252F%252Fhost0%25
2Fpage01.html&url2=http%3
A%2F%2Fhost1%3A8080%2Fcon
text%2FEdit%3Fmethod%3Dsu
mmary%26url1%3Dhttp%253A%
252F%252Fhost0%252Fpage0
2.html」を「Z」とする。
【0050】また、手続きに対する原料としてURLを
指示する記述、すなわちURLが修飾されて仮想URL
を構成する構造を、関数の表現法と同様に、以下のよう
に表す。例えば、前記A,B,X,Y,Z,f,gを用
いて、Xをf(A)、Yをf(B)、Zはg(X,
Y)、または、g(f(A),f(B))と表す。
【0051】「2.各構成要素の概要」次に本実施例を
構成する処理サーバの各要素について、図1と図2を参
照しながらその概要を説明する。図1で示すコンテキス
ト手段は、実施例1では次のようなコンテキストオブジ
ェクト(以下、混乱のないかぎりコンテキストと記す)
である。図2で示すコンテキスト1411,1421
は、WWWサーバがHTTPによるファイルの読みだし
リクエストとしてGETや、書込みのリクエストとして
PUTをWWWブラウザ1003から受けとった時に、
WWWサーバから起動される外部プログラムであって、
図4で示す動作フローに従って動作する。コンテキスト
の詳細な動作は図4を用いて後段で詳細に説明する。
【0052】WWWサーバが外部プログラムを起動する
方法は、CGI方式やServlet方式(Servl
et方式についてはJavaWebServer ve
rsion1.1中の文書 The Java Ser
vlet API に記されている。)がよく知られて
いる。この実施例では、WWWサーバは、Sun Mi
crosystems,Inc.のJavaWebSe
rver(以降JWSとする)とし、コンテキストはJ
WSが起動する外部プログラムとして、Servlet
の形式で実装されている。
【0053】図1で示す結果保持手段は、実施例1では
図2で示すようにJavaのハッシュテーブルとして実
現され、処理を行なって生成された処理結果のオブジェ
クトをスナップショットオブジェクトとして、仮想UR
Lをキーとして取り出せる状態で保持する。図2で示す
処理サーバ1001は、スナップシヨット1311,1
312,1313,1314をハッシュテーブルに保持
し、それぞれ仮想URL1111、1112,111
3,1114をキーとして取り出すことができる。ま
た、処理サーバ1002は、スナップシヨット1321
を保持し、仮想URL2121をキーとして取り出すこ
とができる。結果出力手段は処理結果のオブジェクト
を、JWSを介してHTTPプロトコルを用いて出力す
るプログラムとして実現される。
【0054】図1で示す結果管理手段は、本実施例で
は、図2で示すようにスナップショットを保持したハッ
シュテーブルを管理するServlet形式のプログラ
ムとして実現され、スナップショットマネージャ151
1,1521と呼ばれる。スナップショットマネージャ
1511,1521には、スナップショットの有効性を
判定するメソッドが実装されている。有効性を判定する
メソッドには、他のJavaプログラムから呼び出さ
れ、Javaの論理値型の値を返すものと、JWSがリ
クエストに応じて起動して、スナップショットが有効か
どうかの結果をHTTPヘッダ中に出力するものがあ
る。スナップショットマネージャの詳細な動作は図6、
図7を用いて後段で説明する。
【0055】「3.処理サーバの動作」次に、処理サー
バの動作の詳細について説明する。サーバの動作フロー
を図3に示す。例として、WWWブラウザ1003に、 http://host1:8080/context
/Edit?method=merge&url1=h
ttp%3A%2F%2Fhost0%2Fpage0
1.html というURLをセットして、ファイルを読み込む指示を
出力した場合について説明する。
【0056】WWWブラウザ1003からの上記のファ
イル読み込み指示出力に対応して、図3のステップ20
10においてhost1というDNS名を有するホスト
名のJWS、例えば図2で示す処理サーバ1001は次
のようなHTTPのリクエストを受けとる。 GET/context/Edit?method=m
erge&url1=http%3A%2F%2Fho
st0%2Fpage01.htmlHTTP/1.0
【0057】ステップ2020においてJWSは、Co
ntext.class(以降、contextとす
る)というJavaのサーブレット形式のプログラムが
初期化されているかどうか調べる。もし初期化されてい
なければ、ステップ2030においてクラスファイルを
読み込んでメモリにロードして初期化し、実行可能な状
態とした後、実行を開始する。
【0058】ステップ2040においてJWSはサーブ
レットcontextのメソッドserviceを引数
のオブジェクトHttpServletReques
t,HttpServletResponseを渡して
起動する。
【0059】ステップ2050において、コンテキスト
は、ファイルに対する処理を行い、処理結果をスナップ
ショットオブジェクトとして保持する。引数のオブジェ
クトHttpServletResponceから、ク
ライアントであるWWWブラウザへの出力ストリームを
保持するServletOutputStreamを取
り出し処理結果を書き込む。ステップ2050における
コンテキストの詳細な動作は図4に示すとおりであり後
述する。
【0060】ステップ2060においてHTTPリクエ
ストのコネクションに対し、ServletOutpu
tStreamに書き込まれた内容が出力される。
【0061】「4.コンテキストの動作」前記図3のス
テップ2050におけるコンテキストの動作を図4に示
すコンテキストの動作フローにより詳細に説明する。
【0062】図4におけるステップ3010においてサ
ーブレットcontextのメソッドserviceが
引数のオブジェクトHttpServletReque
st,HttpServletResponseを受け
とって起動する。
【0063】ステップ3020においてオブジェクトH
ttpServletRequestのgetRequ
estedURIメソッドにより、仮想URLに含まれ
る文字列、 /context/Edit?method=merg
e&url1=http%3A%2F%2Fhost0
%2Fpage01.html を取り出す。この文字列を先頭部と合成して次の仮想U
RLを再現する。 http://host1:8080/context
/Edit?method=merge&url1=h
ttp%3A%2F%2Fhost0%2Fpage0
1.html
【0064】ステップ3030において仮想URLをU
RLパーザに渡して解析する。URLパーザの動作フロ
ーは図5に示す通りであり、この動作については後段で
詳細に説明する。URLパーザはVURLクラスのオブ
ジェクトを生成し、URL中に含まれる、メソッド名、
原料のURL、パラメータをVURLオブジェクトのイ
ンスタンス変数にセットして返す。VURLオブジェク
トは、仮想URLの先頭部、クラス名、メソッド名、パ
ラメータ、原料のURL、をインスタンス変数として持
つオブジェクトである。
【0065】ステップ3040においてコンテキスト1
411はスナップショットマネージャ1511にVUR
Lオブジェクトを渡し、仮想URLに対応するスナップ
ショットが有効であるかどうかの答を得る。スナップシ
ョットマネージャ1511の動作は図6、図7に示すと
おりであり、後述する。
【0066】仮想URLに対応する有効なスナップショ
ットが無かったときは、ステップ3050において、V
URLオブジェクトのインスタンス変数に格納されてい
る原料のURLに対してHTTPリクエストを送出し、
原料のファイルを取得する。ステップ3060において
すべての原料ファイルを取得したかどうかを調べ、すべ
て取得していなければステップ3050に戻る。
【0067】ステップ3070において、ステップ30
50で取得したファイルを引数として、VURLオブジ
ェクトのインスタンス変数に格納されているクラス名と
メソッド名で定まるメソッドを起動しその返り値を処理
結果としてオブジェクトを生成する。ステップ3080
において処理結果のオブジェクトを仮想URLをキーに
して前記ハッシュテーブルに格納する。ステップ309
0において処理結果のオブジェクトをServletO
utputStreamに書き込む。
【0068】ステップ3040において仮想URLに対
応する有効なスナップショットがあった時は、ステップ
3100においてそのスナップショットオブジェクトを
仮想URLをキーとしてハッシュテーブルから取り出
す。ステップ3110においてオブジェクトをServ
letOutputStreamに書き込む。
【0069】以下に、分散ファイルのプロトコルを用い
て前記メソッドが起動され原料ファイルが処理され処理
結果が仮想的にファイルとして得られる様子を説明す
る。前記メソッドはHTML文書の一部を抽出したHT
ML文書を作成するものとする。ただし、このメソッド
はHTML文書を入力し、HTML文書を出力するプロ
グラムであればどのようなものでも構わない。また、こ
のメソッドの実現の詳細は本発明の動作とは無関係であ
る。
【0070】図2に示す本実施例に関する全体ブロック
図から理解されるように、原料ファイルをもつWWWサ
ーバ1000と、コンテキストおよび手続きの動作する
処理サーバ1001,1002と、WWWブラウザ10
03がネットワークで接続されている。
【0071】WWWサーバ1000上に原料ファイル1
801があり、そのURLがhttp://host0
/page01.htmlであり、これをURL110
1とする。
【0072】処理サーバ1001上にJavaのクラス
であるEditがあり、前記メソッドはEditクラス
のメソッドであるメソッドsummary1211とす
る。処理サーバ1001のホスト名が、host1であ
り、ポート番号は8080である。WWWブラウザ10
03は、原料ファイル名URL1101を修飾した次の
ような仮想URL1111によりリクエストを送出す
る。
【0073】http://host1:8080/c
ontext/Edit?method=summar
y&url1=http%3A%2F%2Fhost0
%2Fpage01.html
【0074】ホスト名がhost1である処理サーバ1
001が、WWWブラウザ1003からの仮想URL1
111によるHTTPリクエストを受信すると、コンテ
キスト1411がJWSにより起動される。コンテキス
ト1411は、図4の手順にしたがって動作し、URL
パーザ1611により仮想URL1111を解析して仮
想URL1111を表すJavaオブジェクトVURL
1111(obj)を生成する。
【0075】「5.URLパーザの動作」この仮想UR
L1111を入力した際のURLパーザ1611の動作
を図5に示すフローを用いて説明する。URLパーザ1
611は、図5におけるステップ4010において、仮
想URL1111を受けとって起動する。ステップ40
20において、仮想URL1111を文字 / を区切
り文字として分解し、先頭部http://host
1:8080/context/と残りの文字列Edi
t?method=summary&url1=htt
p%3A%2F%2Fhost0%2Fpage01.
htmlに分ける。
【0076】ステップ4030において、残りの文字列
から文字 ? を区切り文字として分解し、クラス名E
ditと残りの文字列method=summary&
url1=http%3A%2F%2Fhost0%2
Fpage01.htmlに分ける。
【0077】ステップ4040において、残りの文字列
から & を区切り文字として<propertyNa
me>=<propertyValue>の形式の文字
列を抽出する。メソッド名を含む文字列method=
summaryが取り出される。
【0078】ステップ4050において、取り出された
<propertyName>=<propertyV
alue>の形式の文字列について、property
Nameが method であるかどうかの判定をお
こなう。メソッド名を含む文字列method=sum
maryについては、ステップ4060にすすむ。
【0079】ステップ4060において、メソッド名を
含む文字列method=summaryから、pro
pertyValueの値であるsummaryを取り
出しメソッド名とする。
【0080】ステップ4080において、<prope
rtyName>=<propertyValue>の
形式の文字列の処理がすべて終わったかどうか調べ、終
っていないので、ステップ40に戻る。
【0081】ステップ4040において、残りの文字列
から & を区切り文字として原料ページ名を含む文字
列url1=http%3A%2F%2Fhost0%
2Fpage01.htmlが取り出される。
【0082】ステップ4050において、proper
tyNameが method であるかどうかの判定
をおこない、文字列url1=http%3A%2F%
2Fhost0%2Fpage01.htmlについて
は、ステップ4070にすすむ。
【0083】ステップ4070において文字列url1
=http%3A%2F%2Fhost0%2Fpag
e01.htmlから原料ページのURLであるhtt
p://host0/page1.htmlを取り出
す。図2におけるURL1101である。
【0084】ステップ4080において、取り出した<
propertyName>=<propertyVa
lue>の形式の文字列の処理がすべて終ったのでステ
ップ4090に進む。
【0085】ステップ4090において、仮想URLを
表すVURLクラスのオブジェクトを生成し、先頭部h
ttp://host1:8080/context
/、クラス名Edit、メソッド名summary、原
料のURLであるhttp://host0/page
01.htmlをインスタンス変数の値としてセットす
る。以上が仮想URL1111を入力した際のURLパ
ーザ1611の動作である。
【0086】コンテキスト1411は、スナップショッ
トマネージャ1511にオブジェクトVURL1111
(obj)を渡し、仮想URL1111に対応するスナ
ップショットオブジェクトの有効性を問い合わせる。
【0087】「6.スナップショットマネージャの動
作」スナップショットマネージャ1511は、図6、図
7に示す動作フローの手順に従って、仮想URL111
1に対応するスナップショットオブジェクトの有効性を
しらべる。
【0088】スナップショットマネージャ1511が、
他のスナップショットマネージャからのHTTPリクエ
ストにより呼ばれるときは、JWSからServlet
として起動され、ステップ5002から始まるメソッド
serviceが呼ばれる。このHTTPリクエスト
は、有効性を調べるべきスナップショットに対応した仮
想URLを、serviceメソッドの引数オブジェク
トの中に含めるようなURLでなされる。例えば、サー
バhost2(例えば図2の処理サーバ1002)のス
ナップショットマネージャ1521に、仮想URL、 http://host2:8080/context
/Edit?method=summary&url1
=http%3A%2F%2Fhost0%2Fpag
e01.html に対応したスナップショットの有効性を問い合わせるリ
クエストに用いるURLは、 http://host2:8080/sevrlet
/snapshot?url=http%3A%2F%
2Fhost2%3A8080%2FEdit%3Fm
ethod%3Dsummary%26url1%3D
http%253A%252F%252Fhost0%
252Fpage01.htmlである。 スナップショットマネージャが、contextサーブ
レットなどのJavaプログラムから呼ばれるときは、
ステップ5010から始まるメソッドcheckLoc
alが起動される。
【0089】ステップ5002においてHttpSer
vletRequest,HttpServletRe
sponseオブジェクトを入力として起動する。ステ
ップ5004において、HttpServletReq
uestオブジェクトのgetQueryString
()メソッドを用いて、有効性を確認すべきスナップシ
ョットの仮想URLを取り出し、必要なら符号化を解
く。ステップ5006において前記取り出した仮想UR
LをパーズしてVURLオブジェクトを生成する。ステ
ップ5008においてVURLオブジェクトを引数とし
てステップ5010から始まるメソッドcheckLo
calを起動する。
【0090】ステップ5010においてVURLオブジ
ェクトVURL1111(obj)を入力として起動す
る。ステップ5020において、VURL1111(o
bj)が表す仮想URL1111に対応するスナップシ
ョットオブジェクトがあるかどうか調べる。これは、V
URL1111(obj)のもつインスタンス変数の値
から、仮想URL1111を構成し、仮想URL111
1をキーとしてハッシュテーブルに保持されているスナ
ップショットオブジェクトがあるかどうかを調べる。あ
った時にはステップ5040にすすみ、なかった時には
ステップ5030にすすむ。スナップショットがなかっ
た場合にはステップ5030において、スナップショッ
ト無効を答えとして、Javaの論理値の偽として表現
して出力し、呼び出し側に帰る。
【0091】スナップショットがあった場合にはステッ
プ5040において、VURL1111(obj)より
原料のURLであるURL1101を取り出す。ステッ
プ5050において取り出した原料のURLが、仮想U
RLではあるかどうかを調べ、仮想URLならステップ
5060へ、仮想URLで無ければステップ5070へ
進む。URL1101は仮想URLではないのでステッ
プ5070に進む。
【0092】ステップ5060において、ステップ50
50において取り出した原料のURLが仮想URLであ
った場合には、仮想URL中のホスト名で指定されるホ
ストに対して、スナップショットマネージャに有効性を
確認させるリクエストをHTTPで送る。リクエストに
用いるURLは、JWSに対し、Servletである
スナップショットマネージャを起動させることを指示す
るものであり、前記原料のURLをserviceメソ
ッドの引数オブジェクトの中に含めて渡すよう指示す
る。
【0093】そのリクエストに対し、レスポンスを返す
スナップショットマネージャは、答えを、HTTPレス
ポンスヘッダにヘッダ名 Snapshot−Vali
d:に続けて出力し、レスポンスを送出する。レスポン
スを受け取るスナップショットマネージャはそのヘッダ
から文字列 true または“false を抽出し
て答えとする。
【0094】ステップ5070においてURL1101
の原料ファイルの更新日時を取得する。ステップ508
0においてURL1101のファイルの更新日時と仮想
URL1111に対応するスナップショットオブジェク
ト1311の作成日時とを比較する。ファイルの更新日
時が新しい場合は、論理値の答えを真とする。作成日時
が新しい場合は答えを偽とする。
【0095】ステップ5090においてVURL111
1(obj)のインスタンス変数に格納された原料のU
RLすべてについてスナップショットが有効かどうかの
判定が終了したかどうかを調べ、もし終了していなけれ
ばステップ5040に戻る。ここではURL1101に
ついて結果を得ており、すべて終了したのでステップ5
100に進む。ステップ5100において、ステップ5
060または5080で得た、原料のURLについての
スナップショットの有効性の答えの論理積を計算する。
ステップ5130において、ステップ5100において
計算した論理積の値をスナップショットの有効性の判定
結果の答えとして、Javaの論理値として表現して呼
び出し側に返す。
【0096】メソッドserviceのステップ514
0において、メソッドcheckLocalの返り値と
してJavaの論理値を受け取る。ステップ5150に
おいてHttpServletResponseオブジ
ェクトに対し、setHeaderメソッドを用い、H
TTPレスポンスヘッダを表す変数にスナップショット
の有効性の答えを格納する。答えは、ヘッダ名を表す文
字列 Snapshot−Valid: に続き、メソ
ッドcheckLocalの値が偽なら文字列 tru
e を、値が偽なら文字列 false をヘッダの値
として連結する。ステップ5160において、メソッド
serviceを終了し、JWSが、HttpServ
letResponseの値をHTTPで出力する。
【0097】以上、図6、図7で示す手順がスナップシ
ョットマネージャ1511が、仮想URLに対応するス
ナップショットの有効性を答える手順である。
【0098】「7.レスポンス時の処理」 a.スナップショットが有効である場合、 「コンテキストの動作」の欄で説明したように、コンテ
キスト1411は、スナップショットが有効であると判
定された場合、仮想URLに対応するスナップショット
オブジェクト1311を取得する(図4、ステップ31
00)。さらに、図3で説明された通りの手順でスナッ
プショットオブジェクト1311がWWWブラウザに対
するレスポンスとして出力(図3、ステップ2060)
される。
【0099】b.スナップショットが無効である場合 コンテキスト1411は仮想URL1111に対応する
スナップショットが無効であると判定された場合、原料
ファイル名URL1101により、WWWサーバ100
0に対しファイル取得のリクエストを送出する。このリ
クエストにより原料ファイル名URL1101に対応す
る原料ページ1801を取得(図4、ステップ306
0)し、WWWブラウザ1003からのリクエストUR
L1111に指定されたメソッドsummary121
1を起動する。メソッドsummary1211はHT
ML文書を入力とし、原料ページの中から特定の部分を
抽出してそれを新規に作成したHTMLページ中に埋め
込んだ処理結果のオブジェクトを出力する処理である。
コンテキスト1411は出力されたオブジェクトをスナ
ップショットオブジェクト1311として処理結果オブ
ジェクトとして仮想URL1111とペアにしてハッシ
ュテーブルに格納する(図4、ステップ3080)。そ
の後、図3で説明された通りの手順でスナップショット
1311がWWWブラウザ1003に対するレスポンス
として出力(図3、ステップ2060)される。
【0100】以上の手順で、WWWブラウザ1003が
送出した仮想URL1111リクエスト、 http://host1:8080/context
/Edit?method=summary&url1
=http%3A%2F%2Fhost0%2Fpag
e01.html に対する処理が実行される。
【0101】[実施例2]上述した実施例1の構成で
は、図2に示す構成において1つの処理サーバ、例えば
処理サーバ1001、または処理サーバ1002におい
て手続き処理を実行することが可能な構成について説明
した。この第2実施例では、複数の処理サーバが協業し
て各種処理を実行してWWWブラウザの要求に対応して
リスポンスを実行する構成を説明する。
【0102】第2の実施例を説明する。第1の実施例で
示した図2の構成において、仮想URLを原料のURL
として扱うことにより2つのサーバ(例えば図2の処理
サーバ1001,1002)における2つの手続きを用
いたファイルの処理が行なえる。2つのコンテキストを
用いて、HTML文書からその要約を作成し、それら作
成された結果を合成する例をあげて説明する。
【0103】以下の説明において、処理サーバ100
1,1002、コンテキスト1411,1421、UR
Lパーザ1611,1621、スナップショットマネー
ジャ1511,1521の動作する手順は実施例1にお
いて説明したと同様であるので、それぞれの詳細な記述
は省略する。また、URL、仮想URLに対する前記の
略記法を用いる。
【0104】図2に示すように、処理サーバ1001、
1002にはそれぞれHTML文書中を編集するクラス
Editがあり、Editクラスには一つのHTML文
書の一部を抽出して一つのHTML文書として出力する
メソッドsummaryがあり、複数のHTML文書を
合成して一つのHTML文書として出力するメソッドm
ergeが含まれる。
【0105】原料ファイル1801,1802,180
3,1804がWWWサーバ1000上にあり、これら
のURLを前記した実施例1中で述べた略記法に従い、
「A」,「B」,「C」,「D」とする。サーバ100
1上のコンテキスト1411が起動するクラスEdit
のメソッドsummary1211による処理を「f」
と表す。サーバ1002上のコンテキスト1421が起
動するクラスEditのメソッドmerge1222に
よる処理を「g」と表す。
【0106】サーバ1002が仮想URL:g(f
(A),f(B),f(C),f(D))に対するHT
TPリクエストを受信すると、サーバ1002のコンテ
キスト1421は、サーバ1002のスナップショット
マネージャ1521にg(f(A),f(B),f
(C),f(D))に対応するスナップショットの有効
性を問い合わせる。サーバ1002のスナップショット
マネージャ1521は、前記図6、図7の手順にしたが
って動作し、必要ならばg(f(A),f(B),f
(C),f(D))から、サーバ1001への4つの仮
想URL:f(A),f(B),f(C),f(D)を
取り出して、それらの仮想URLについて、それぞれス
ナップショットマネージャ1511に対しスナップショ
ットの有効性を問い合わせるリクエストを送出する。
【0107】スナップショットマネージャ1511は、
それぞれのリクエストを受けとり、リクエストごとに独
立に有効性の判定をする。前記図6、図7に示した手順
にしたがって判定をおこない、それぞれのリクエストご
とにスナップショットの有効性の答えを返す。
【0108】サーバ1002のスナップショットマネー
ジャ1521は、図6、図7に示した手順に従い、必要
ならば4つの仮想URL:f(A),f(B),f
(C),f(D)に対するスナップショットの有効性の
答えを受信し、g(f(A),f(B),f(C),f
(D))に対応するスナップショットの有効性を計算
し、コンテキスト1421に対し答えを返す。
【0109】もし、スナップショットが無効の場合は、
コンテキスト1421,1411がそれぞれ図4のステ
ップにしたがって動作し、仮想URL:g(f(A),
f(B),f(C),f(D))によって起動される処
理の結果のオブジェクトを生成し、スナップショットと
して格納する。以上のステップにより、WWWブラウザ
1003は、サーバ1000上の4つの原料ページに対
して要約を抽出する処理(merge)をした結果を、
一つのHTML文書中に合成したHTML文書を受信す
る。
【0110】また、処理が完了した後、WWWブラウザ
1003から同じ仮想URLによるリクエストが送出さ
れた場合に、WWWサーバ1000上の原料ページ18
01,1802,1803,1804がいずれも更新さ
れていなければ、すでに作成された処理の結果を出力す
ることができる。また、原料ページのうちの一つ以上が
更新されていれば、更新されたページを入力とした処理
の結果のスナップショットが無効と判定され、処理が再
度起動されてスナップショットが再び生成され、その結
果が出力される。
【0111】例えば、仮想URL:g(f(A),f
(B),f(C),f(D))によるリクエストが送出
され、仮想URL:g(f(A),f(B),f
(C),f(D))に対応するスナップショット132
1が生成され、4つの仮想URL:f(A),f
(B),f(C),f(D)に対応するスナップショッ
トとして、それぞれスナップショット1311,131
2,1313,1314が生成されたとする。
【0112】その後、URL:Aで表される原料ファイ
ル1801が更新された後に再び仮想URL:g(f
(A),f(B),f(C),f(D))によるリクエ
ストが送出された場合、スナップショットマネージャ1
511は、スナップショット1311は無効、スナップ
ショット1312,1313,1314は有効という答
えを返す。また、スナップショットマネージャ1521
はスナップショット1321は無効という答えを返す。
その結果、コンテキスト1421は仮想URL:g(f
(A),f(B),f(C),f(D))によるメソッ
ドmerge1222の処理をふたたび起動するが、メ
ソッドmerge1222の入力のうち、3つの仮想U
RL:f(B),f(C),f(D)による処理は実行
されず、それぞれに対応した3つのスナップショット1
312,1313,1314が入力される。仮想UR
L:f(A)による処理は実行され、スナップショット
1311が更新され、メソッドmerge1222に入
力される。
【0113】このように、利用者が原料ファイルの更新
を反映した最新の処理結果を得たい場合、最新の処理結
果を得るために必要な最小限度の処理を行ない、それ以
外は以前の処理の結果のスナップショットを利用するた
め、リクエストに対する応答時間を短縮することが可能
になる。
【0114】また、信頼性の低いネットワーク上で複数
のサーバ上のコンテキストが起動する処理を組み合わせ
て一つの処理として利用する際、いずれか一個所以上の
通信が失敗すると、最終的な処理結果が得られない。ま
た、そのような場合、全体のすべての処理を再試行する
と、やはり一個所以上の通信が失敗する場合には処理結
果がえられない。本発明においては、そのような場合
に、スナップショットオブジェクトとして一部の処理の
結果が保持されるため、再試行により処理結果を得られ
る確率が増える。
【0115】上述した例では、コンテキストが2つの場
合を記述したが、3つ以上の場合でも同様の手順にした
がって処理を組み合わせることが可能である。
【0116】[実施例3]本発明の第3実施例として、
修飾されたURLの中に含まれた原料ファイル名以外の
データに依存して、スナップショットの有効性を判定す
る構成例を説明する。システム構成は実施例1と同様、
図2に示すものである。
【0117】実施例1に述べた構成と基本的には同様の
システム構成を有するが、スナップショットマネージャ
1511,1521がスナップショットの有効性を判定
する際、処理サーバ1001,1002ごとに特有のル
ール、あるいは指定された手続きごとに特有のルールに
従って特定のオブジェクトを調べ、その結果によりスナ
ップショットの有効性を決定する。
【0118】実施例1に述べた文書の合成をする処理を
行なう際のメソッドsummaryにおいて、処理結果
のHTMLファイル中に常に処理の行なわれた日付を表
示する例を述べる。
【0119】WWWブラウザ1003を利用する利用者
がその時点で得られる最新の情報による処理結果を得た
いという要求を持っている場合、処理の行なわれる日時
により、日付情報の更新が必要になる。よって日付が変
わった場合にはすでに作成され、保持されているスナッ
プショットオブジェクトも更新されるべきであるが、実
施例1で説明した手順では、日付情報の参照に関する情
報を仮想URL中に記述しない限り、このようなスナッ
プショットオブジェクトが更新されるべきかどうかの判
定ができない。
【0120】この実施例における構成は図2に示した構
成によって実現される。スナップショットマネージャ1
511,1521の動作は図8、図9に示すとおりであ
り、ステップ5092からステップ5100が実施例1
と異なる。
【0121】仮想URL1111によるリクエストを受
けた図2に示すサーバ1001のスナップショットマネ
ージャ1511は、スナップショットの有効性を判定す
る際に、図8、図9のステップ5092において仮想U
RL1111をキーとして、ファイル名のリストをチェ
ックリストの記述されたハッシュテーブルから取得す
る。ステップ5096においてスナップショットマネー
ジャはリスト中のファイルが更新されているかどうか調
べる。ステップ5100において、前記のファイル名を
調べた結果および仮想URL1111中に記述されたフ
ァイルから得た結果をあわせてスナップショットの有効
性を判定する。
【0122】リスト中の仮想URL1111に対応する
ファイル名としてシステム時刻の日付を記述したファイ
ルを用意することで前記のWWWブラウザ1003利用
者の要求が達成できる。また、この実施例においてチェ
ックリスト中に記述されるファイルは、例えばCGIを
用いてプログラムを起動するWWWファイルアクセスの
ファイル名であってもよい。
【0123】本実施例の手順を用いれば、手続き作成者
が、チェックリストにファイル名のリストを格納するこ
とで、スナップショットを更新するかどうかのルールを
定めることが可能となる。手続きにより生成される処理
結果が、どの時点で無効になるかを手続き作成者が把握
している場合には、この方法を使用することでスナップ
ショットの有効性の判定がより正確になる。
【0124】[実施例4]本発明の第4実施例として、
処理サーバ1001,1002上に保持されているスナ
ップショットの破棄や無効化を指示することができる構
成例について説明する。
【0125】図2で示す実施例1と同様のシステム構成
において、クライアントが送出する仮想URLのキュエ
リ記述部分中にスナップショットの破棄を指示するパラ
メータを記述する。例えば、図2中に示される仮想UR
L1111は、http://host1:8080/
context/Edit?method=summa
ry&url1=http%3A%2F%2Fhost
0%2Fpage01.htmlであるが、これにスナ
ップショットのコントロールの命令の記述として、co
ntroll=clearというパラメータ記述を追加
して、http://host1:8080/cont
ext/Edit?method=summary&c
ontroll=clear&url1=http%3
A%2F%2Fhost0%2Fpage01.htm
lとする。
【0126】実施例1で述べたURLパーザ1611,
1621にスナップショットの破棄を指示するパラメー
タを取り出す機能を加えると、URLパーザ1611,
1621の動作の流れ図は図10のようにあらわされ
る。実施例1のURLパーザの動作フローとの差異は、
ステップ4050からステップ4052にスナップショ
ットコントロールの命令を取り出す動作が加わった点で
ある。
【0127】スナップショットマネージャ1511,1
521の動作フローを図11、図12に示す。本実施例
において、実施例1のスナップショットマネージャの動
作と異なる点は、ステップ5032からステップ503
4のステップである。ステップ5032からステップ5
034において、仮想URLから前記スナップショット
の破棄を指示するパラメータclearが取り出された
場合、スナップショットマネージャは、指定されたUR
Lに対応するスナップショットを無効とする動作を実行
する。
【0128】その後、コンテキストは、実施例1と同様
に動作して、原料ファイルの取得と処理の起動を行な
い、新たに作成された処理結果のオブジェクトをハッシ
ュテーブルに保持する。または、HTTPリクエストヘ
ッダ中に、スナップショットの破棄を指示するパラメー
タを記述することによっても同様の効果が得られる。コ
ンテキストがJWSから渡されたHttpServle
tRequestオブジェクトからHTTPリクエスト
のヘッダをとりだし、その中にスナップショットの破棄
を指示するパラメータが記述されていた場合は、スナッ
プショットマネージャに対し、指定されたURLに対応
するスナップショットの破棄を指示することによって行
う。
【0129】実施例1〜3においては、スナップショッ
トの無効化は、スナップショットを保持しているサーバ
のスナップショットマネージャの判定によってなされた
が、この実施例においては、他のコンピュータからの指
示により処理の結果を無効化することができる。そのた
め、すでに存在するスナップショットではなく処理を再
び行なった結果を得たいという利用者の要求を満たすこ
とができ、新しく生成された処理結果をスナップショッ
トとして保持することができる。
【0130】[実施例5]さらに本発明の第5実施例と
して、処理結果のスナップショットオブジェクトを、そ
れを生成したリクエスト固有の識別子(ID)と組にし
て保持することで、特定のリクエストによって生成され
たオブジェクトを指定して取得する構成を説明する。本
実施例の構成を図13に示す。図13において処理サー
バ1001,1002中のハッシュテーブル中のスナッ
プショット1311、1312...、1321...
には識別子(ID)が対応して保持されている。
【0131】先に説明した実施例1においては、同じ原
料に対して同じ手続きを適用するリクエストは同一とみ
なしていた。すなわち、あるリクエストにより処理を行
い、結果をスナップショットオブジェクトとして保持し
たのち、同一のリクエストを再び受信し処理を再び行っ
た場合は、前記後のリクエストによる処理結果は、前記
最初のリクエストにより生成されたスナップショットオ
ブジェクトを置き換えて保持される。
【0132】この実施例においては、各リクエストごと
に固有の識別子(ID)が割り当てられ、識別子と対応
付けてスナップショットオブジェクトが生成され、保持
される。クライアントはリクエストに固有の識別子を指
定してそれに対応するスナップショットオブジェクトを
取得することができ、また、実施例4で述べた手順を用
いれば、指定した識別子に対応するスナップショットオ
ブジェクトを破棄し、新たな処理の結果を同じ識別子に
対応付けて保持することができる。
【0133】この実施例におけるコンテキストの動作を
図14、図15に示す。HTTPリクエストを受けとっ
たコンテキストは、図16に従い動作するURLパーザ
を用いてURLを解析してオブジェクトを生成するが、
URLに識別子(ID)が含まれていないときはリクエ
ストごとに固有のIDを生成して仮想URLに付加す
る。IDは、一例としてリクエストの発生順序の整数値
として実現できる。また、別な一例としてシステム時刻
の数値として実現できる。仮想URLの中に、スナップ
ショットのIDを指示するパラメータを付加する。
【0134】例えば、実施例1で述べたクラスEdit
のHTML文書中の一部を抽出するメソッドsumma
ryによる処理を起動するURL1111はhttp:
//host1:8080/context/Edit
?method=summary&url1=http
%3A%2F%2Fhost0%2Fpage01.h
tmlであるが、これに、IDを付加する記述として
id= の記述に続けて数字を記述する形式を用いてh
ttp://host1:8080/context/
Edit?method=summary&id=1&
url1=http%3A%2F%2Fhost0%2
Fpage01.htmlを生成する。
【0135】図14、図15にコンテキストの動作フロ
ーを示す。動作手順について例を挙げて説明する。図1
3に示す処理サーバ1001のコンテキスト1411が
仮想URL1111によるリクエストを受けた場合、ス
テップ3010においてサーブレットcontextの
メソッドserviceが引数のオブジェクトHttp
ServletRequest,HttpServle
tResponseを受けとって起動する。
【0136】ステップ3020においてオブジェクトH
ttpServletRequestのgetRequ
estedURIメソッドにより、仮想URLに含まれ
る文字列 /context/Edit?method
=merge&arg1=x&arg2=y を取り出
す。この文字列を先頭部と合成して仮想URLを再構成
する.
【0137】ステップ3030において図17、図18
に示した手順で動作するURLパーザ1611を用いて
仮想URL1111を解析してVURL1111(ob
j)を生成する。ステップ3032においてVURL1
111がIDの情報を持っているかどうか調べる。仮想
URL1111にIDがついていない場合は、ステップ
3034に進む。
【0138】ステップ3034において、ブラウザから
のリクエストに対する一意な識別子であるID1を生成
し、VURL1111(obj)に付加する。ステップ
3050において、仮想URL1111より取り出した
原料のURLが仮想URLかどうかをしらべる。仮想U
RLであると判定されればステップ3052において、
もとの仮想URL1111と対応づけられたID1を原
料のURLに付加する。仮想URL1111から取り出
される原料のURLは仮想URLではないのでステップ
3054に進む。ステップ3054において、VURL
1111(obj)のインスタンス変数に格納されてい
る原料のURLに対してHTTPリクエストを送出し、
原料のファイルを取得する。ステップ3060において
すべての原料ファイルを取得したかどうかを調べ、すべ
て取得していなければステップ3050に戻る。
【0139】ステップ3070において取得したファイ
ルを引数として、VURLオブジェクトのインスタンス
変数に格納されているクラス名とメソッド名で定まるメ
ソッドを起動しその返り値を処理結果としてオブジェク
トを生成する。ステップ3080において処理結果のオ
ブジェクトを仮想URLをキーにして前記ハッシュテー
ブルに格納する。ステップ3090において処理結果の
オブジェクトをServletOutputStrea
mに書き込む。
【0140】クライアントが別のリクエストを送出する
際にIDを付加した仮想URLを用いると、コンテキス
トは、図14のステップ3032において、IDが付加
されているために、3040に進む。ステップ3040
において、コンテキストはスナップショットマネージャ
にVURLオブジェクトを渡し、仮想URL及びIDに
対応するスナップショットが有効かどうか問い合わせ
る。
【0141】有効なスナップショットがあった場合、ス
テップ3100において、そのスナップショットオブジ
ェクトをハッシュテーブルから取り出す。ステップ31
10においてオブジェクトをServletOutpu
tStreamに書き込む。
【0142】URLパーザは、図16に示す動作フロー
に従って動作する。実施例1で説明したURLパーザの
動作フロー(図5参照)との差異は、図16のステップ
4050と、ステップ4052が加わった点と、ステッ
プ4090の出力形態にIDが加わった点である。
【0143】ステップ4010〜ステップ4040まで
は実施例1と同様の動作であるので説明を省略する。ス
テップ4050において、取り出された<proper
tyName>=<propertyValue>の形
式の文字列について、propertyNameが i
d であるかどうかの判定をおこなう。判定がYesで
あった場合は、ステップ4052においてproper
tyValueの値であるIDを取り出す。
【0144】その後のステップ4054〜ステップ40
80は実施例1と同様の動作である。ステップ4090
では、仮想URLを表すVURLクラスのオブジェクト
を生成し、クラス名Edit、メソッド名summar
y、ID、原料のURLをインスタンス変数の値として
セットする。
【0145】スナップショットマネージャは、図17、
図18にしたがって動作する。実施例1のスナップショ
ットマネージャの動作と異なる点は、ステップ5020
において、仮想URLおよびIDが一致するスナップシ
ョットオブジェクトが存在するかどうかでスナップショ
ットの有効性を判定する点である。
【0146】実施例の細部に関しては、記述した以外の
方法を用いても実現可能である。サーバからクライアン
トにID情報を伝える方法は、HTMLページ中に記述
する方法に限らない。IDを付加した仮想URLの情報
をHTTPレスポンスのヘッダに含めてクライアントに
渡してもよい。
【0147】また、IDの生成方法は、時刻とサーバの
ホスト名によって生成するものであってもよい。クライ
アントがリクエストを送出する際にIDを付加した仮想
URLを用いることで、特定のリクエストで生成された
オブジェクトを取得することができる。
【0148】この実施例で述べた手順により、特定の時
点での処理の結果をサーバ上に保持しておき、指定して
再度取得することが可能になる。
【0149】[実施例6]次に、第6実施例として、サ
ーバ上に保持された複数のスナップショットオブジェク
トのうち、生成した時刻の範囲を指定して取得する構成
例について説明する。
【0150】コンテキストの動作は実施例1と同様の手
順であるが、ただし、処理の結果が生成されたときにそ
の時刻を記録し、スナップショットオブジェクトととも
に保持する点が異なる。
【0151】スナップショットマネージャの動作の流れ
図は図19、図20に示す。スナップショットマネージ
ャは、図19、図20のステップにおいて、仮想URL
中にスナップショットオブジェクト生成時刻の範囲が指
定されるかどうか調べ、指定されていたらステップ50
34においてスナップショットオブジェクトの生成時刻
を取得し、ステップ5036において指定された時刻の
範囲にあるかどうかにより判定する。範囲外の場合はス
テップ5038においてスナップショット無効の結果を
返す。これらのステップが加わる点が実施例1のスナッ
プショットマネージャの動作と異なる。時刻の範囲が指
定されていなければ、実施例1と同様に動作する。
【0152】時刻の範囲の指定の例としては、例えばU
TC(Coordinated Universal
Time)時刻を1970年からミリ秒単位で数えた数
値で時刻を表現して、例えば895809110000
から895809120000までという時刻の範囲
を、仮想URLのキュエリ文字列中にftime=89
5809110000&ttime=89580912
0000と記述する。URLパーザは前記の動作と同様
にしてこの文字列を取り扱い指定時刻を認識、解釈す
る。
【0153】このようにして、生成時刻の正確な指定で
なく、ある程度の幅を持った指定をして、スナップショ
ットを利用するか、あるいは処理を起動して新しく結果
を生成するかの指定をすることが可能になる。
【0154】また、生成時刻に限らず、スナップショッ
トされたオブジェクトの性質を表し、数値表現可能なパ
ラメータをスナップショットオブジェクトと関連付けて
保持することにより、同様の手順で、値がある範囲内な
らスナップショットを利用する、という条件の指定が行
なえる。
【0155】[実施例7]次に、第7実施例としてコン
テキストによって起動される処理結果が非同期的に生成
される構成例を説明する。実施例5と同様の手順で動作
するシステムを用いる。ただし、仮想URL中には手続
きの呼びだし形式を指定でき、呼び出しが非同期的なも
のであることを指定できる。指定方法の例としては、U
RLのキュエリ中に、&invoke=asyncと指
定して、 http://host1:8080/context
/Edit?method=summary&invo
ke=async&url1=http%3A%2F%
2Fhost0%2Fpage01.htm のようなURLを用いる。
【0156】コンテキストは図21、図22にしたがっ
て動作する。ステップ3060において、仮想URLに
呼び出しが非同期である指定があるかどうか調べる。非
同期の指示があった場合、コンテキストは、ステップ3
062において原料の取得をおこなって手続きを起動
し、別なスレッドで動作させる。次にステップ3064
においてクライアントに出力する結果オブジェクトに対
応するIDを含んだ情報を生成する。IDをクライアン
トに対し出力するには、HTMLページ中にハイパーリ
ンクとして記述するなどの方法が利用できる。次にステ
ップ3066において生成した情報を出力し、HTTP
のアクセスが終了してコネクションが切断される。
【0157】前記別スレッドの処理が終了後、ステップ
3068において、結果オブジェクトを、仮想URLと
IDとの組にして保持する。以上のステップ3060か
ら3068以外は実施例5のコンテキストと同様に動作
する。
【0158】WWWクライアント利用者、または他のコ
ンテキストはIDを受けとってHTTPのアクセスを終
了し、他の処理をおこなうことができる。その後、実施
例5で述べたごとく、仮想URLにIDを付加してHT
TPリクエストを行なうと、その時点で処理サーバにお
けるスナップショット生成処理が終了していれば処理結
果を得ることができる。
【0159】先に説明した他の実施例においては、呼び
出した処理が終了して結果が生成されるまでWWWクラ
イアントとのコネクションが維持され、クライアントは
その間、出力データを待機することが要求され、他の作
業をできなかったが、この例においては、処理終了まで
に時間がかかる場合に処理を呼び出した側で並列に別な
処理を行うことが可能になる。
【0160】処理が実行され生成されたスナップショッ
トはIDと対応づけられて処理サーバにおいて保持され
ており、クライアントはIDの付加された新たなHTT
Pリクエストによって先に処理を要求したデータをID
による識別により獲得することが可能となる。
【0161】[実施例8]次に、本発明の第8実施例と
して、クライアントがリクエスト時に指定し、仮想UR
L中に記述された条件を、処理サーバのコンテキストが
変更して、クライアントの要求データの代替となりうる
スナップショットを探し、そのスナップショットを出力
する構成例について説明する。
【0162】この実施例構成では、実施例5と同様の手
順で動作するシステムを用いる。ただし、指定したID
および仮想URLに対応するスナップショットが存在し
ないときには、IDが異なるが同一の仮想URLに対応
するスナップショットを探して有効なスナップショット
が存在したときはそれをクライアントに対して出力する
構成を持つ。
【0163】コンテキストは実施例5と同様に図14、
図15にしたがって動作する。ステップ3040におい
て、スナップショットマネージャに対し仮想URLとI
Dに対応するスナップショットの有効性を問い合わせ
る。
【0164】スナップショットマネージャの動作は図2
3、図24に示す通りであり、以下に述べる点以外は実
施例5のスナップショットマネージャと同じ動作をす
る。ステップ5020において仮想URLおよびIDに
対応するスナップショットオブジェクトがなかったと
き、ステップ5022に進み、仮想URLのみが一致す
るスナップショットがあるかどうかを調べる。もしなか
ったときは5030にすすみ、スナップショット無効の
結果を論理値の偽として返す。スナップショットがあっ
たときは、ステップ5040に進み、実施例5と同様に
スナップショットの有効性を判定するが、この場合には
対象となるスナップショットはステップ5022におい
て調べた仮想URLのみが一致し、IDについての一致
は保証されていないスナップショットである。
【0165】図23、図24のステップ5022におけ
るスナップショットマネージャの動作は、ここで記述し
たようなIDの一致しないスナップショットを代替とし
て探す動作に限らず、たとえば実施例5において記述し
た範囲の指定があるような仮想URLについて、範囲の
指定をなくす、あるいは広げるような動作をさせること
も可能である。
【0166】前記の実施例5においては、仮想URLお
よびIDが一致しないとスナップショットを利用できな
かったが、この実施例の手順によって、利用者の、なる
べくIDの一致するスナップショットオブジェクトを利
用したいが、もし無い場合には代替のオブジェクトを得
たいという要求を満たすことが可能になる。
【0167】
【発明の効果】上述のように本発明の分散ファイル処理
装置および分散ファイル処理方法によれば、原料ファイ
ル名を、原料を編集加工する手続きを表す手続き名と、
手続きのパラメータと、手続き名を解釈し手続きを動作
させるコンピュータおよび動作環境を定めるコンテキス
ト名等で修飾して構成した仮想URLに基づく処理を行
うコンテキスト手段と、コンテキスト手段において処理
を行った原料ファイルの処理結果を保持する結果保持手
段と、結果保持手段の保持する処理結果の有効性を判定
する結果管理手段とを有することにより、結果保持手段
の有する処理結果の有効性判定を様々な態様で実行する
ことが可能になり、要求に対して迅速に有効な処理結果
を抽出し出力することが可能となる。
【0168】さらに、本発明の分散ファイル処理装置お
よび分散ファイル処理方法によれば、原料ファイル名お
よび手続き名等の識別データ、さらに手続き処理の処理
実行日時を示す処理日時識別データ、手続き処理の実行
を要求した要求固有の処理要求識別データ等に基づいて
処理結果の有効性を判定することができ、処理結果に対
する信頼度の高い有効性判定が実現される。
【0169】さらに、本発明の分散ファイル処理装置お
よび分散ファイル処理方法によれば、複数のコンテキス
ト手段、結果保持手段、管理手段をネットワークに接続
した構成において、処理要求に指定された原料ファイル
および手続きに対応する処理結果を保持するネットワー
ク上の他の処理結果保持手段を管理する管理手段に処理
結果の有効性についての問い合わせを実行することが可
能であり、ネットワーク上の資源の有効な利用が達成さ
れる。
【0170】さらに、本発明の分散ファイル処理装置お
よび分散ファイル処理方法によれば、コンテキスト手段
における原料ファイルに対する手続き処理は、処理要求
タイミングとは独立に非同期的処理として実行すること
が可能であり、処理結果に対応する処理結果識別子を生
成して結果保持手段に保持することにより、処理結果の
取り出し、出力を正確に実行することが可能となる。
【0171】さらに、本発明の分散ファイル処理装置お
よび分散ファイル処理方法によれば、要求された修飾フ
ァイル名の指定と完全一致しないが、部分一致する処理
結果が結果保持手段に含まれる場合、部分一致する処理
結果を出力する構成としたことにより、クライアント要
求により迅速に応答することの可能なシステムが提供さ
れる。
【図面の簡単な説明】
【図1】 本発明の分散ファイル処理装置を適用したネ
ットワーク構成を示す図である。
【図2】 本発明の分散ファイル処理装置における実施
例1の詳細構成を示す図である。
【図3】 本発明の分散ファイル処理装置、実施例1に
おける処理サーバ全体の動作フローを示す図である。
【図4】 本発明の分散ファイル処理装置、実施例1に
おけるコンテキストの動作フローを示す図である。
【図5】 本発明の分散ファイル処理装置、実施例1に
おけるURLパーザの動作フローを示す図である。
【図6】 本発明の分散ファイル処理装置、実施例1に
おけるスナップショットマネージャの動作フロー(その
1)を示す図である。
【図7】 本発明の分散ファイル処理装置、実施例1に
おけるスナップショットマネージャの動作フロー(その
2)を示す図である。
【図8】 本発明の分散ファイル処理装置、実施例3に
おけるスナップショットマネージャの動作フロー(その
1)を示す図である。
【図9】 本発明の分散ファイル処理装置、実施例3に
おけるスナップショットマネージャの動作フロー(その
2)を示す図である。
【図10】 本発明の分散ファイル処理装置、実施例4
におけるURLパーザの動作フローを示す図である。
【図11】 本発明の分散ファイル処理装置、実施例4
におけるスナップショットマネージャの動作フロー(そ
の1)を示す図である。
【図12】 本発明の分散ファイル処理装置、実施例4
におけるスナップショットマネージャの動作フロー(そ
の2)を示す図である。
【図13】 本発明の分散ファイル処理装置における実
施例5の詳細構成を示す図である。
【図14】 本発明の分散ファイル処理装置、実施例5
におけるコンテキストの動作フロー(その1)を示す図
である。
【図15】 本発明の分散ファイル処理装置、実施例5
におけるコンテキストの動作フロー(その2)を示す図
である。
【図16】 本発明の分散ファイル処理装置、実施例5
におけるURLパーザの動作フローを示す図である。
【図17】 本発明の分散ファイル処理装置、実施例5
におけるスナップショットマネージャの動作フロー(そ
の1)を示す図である。
【図18】 本発明の分散ファイル処理装置、実施例5
におけるスナップショットマネージャの動作フロー(そ
の2)を示す図である。
【図19】 本発明の分散ファイル処理装置、実施例6
におけるスナップショットマネージャの動作フロー(そ
の1)を示す図である。
【図20】 本発明の分散ファイル処理装置、実施例6
におけるスナップショットマネージャの動作フロー(そ
の2)を示す図である。
【図21】 本発明の分散ファイル処理装置、実施例7
におけるコンテキストの動作フロー(その1)を示す図
である。
【図22】 本発明の分散ファイル処理装置、実施例7
におけるコンテキストの動作フロー(その2)を示す図
である。
【図23】 本発明の分散ファイル処理装置、実施例8
におけるスナップショットマネージャの動作フロー(そ
の1)を示す図である。
【図24】 本発明の分散ファイル処理装置、実施例8
におけるスナップショットマネージャの動作フロー(そ
の2)を示す図である。
【符号の説明】
1000 WWWサーバ 1001,1002 処理サーバ 1003 WWWブラウザ 1411,1421 コンテキスト 1511,1521 スナップショットマネージャ 1611,1621 URLパーザ

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 コンピュータをネットワークで接続した
    分散コンピュータシステムにおける分散ファイル処理装
    置において、 前記ネットワーク上に接続された装置に保持されたデー
    タファイル原料を識別可能な原料ファイル名を、原料を
    編集加工する手続きを表す手続き名と、手続きのパラメ
    ータと、手続き名を解釈し手続きを動作させるコンピュ
    ータおよび動作環境を定めるコンテキスト名とで修飾し
    て構成した修飾ファイル名を解釈して、原料ファイル名
    と手続き名を取り出し、該取り出した原料ファイル名に
    対応する原料ファイルのデータを入力し、前記取り出し
    た手続き名に対応する手続きを起動して、原料ファイル
    を該起動した手続きによって処理を行うコンテキスト手
    段と、 前記コンテキスト手段において起動した前記手続きによ
    って処理を行った原料ファイルの処理結果を保持する処
    理結果保持手段と、 前記処理結果保持手段の保持する前記処理結果を取り出
    して出力する結果出力手段と、 前記処理結果保持手段の保持する処理結果の有効性を判
    定する処理結果管理手段と、 を有することを特徴とする分散ファイル処理装置。
  2. 【請求項2】 前記処理結果管理手段は、 前記処理結果保持手段の保持する処理結果に対応する原
    料ファイル名およびコンテキスト手段において実行され
    た手続き名に基づいて前記処理結果の有効性を判定する
    構成を有することを特徴とする請求項1記載の分散ファ
    イル処理装置。
  3. 【請求項3】 前記処理結果管理手段は、 前記コンテキスト手段による手続き処理の処理実行日
    時、 前記コンテキスト手段による手続き処理実行を要求した
    要求固有の処理要求識別子、の少なくともいずれかに基
    づいて前記処理結果の有効性を判定する構成を有するこ
    とを特徴とする請求項2記載の分散ファイル処理装置。
  4. 【請求項4】 前記処理結果管理手段は、 前記原料ファイルの更新日時と、前記コンテキスト手段
    による手続き処理の処理実行日時とを比較し、該比較結
    果に基づいて前記処理結果の有効性を判定する構成を有
    することを特徴とする請求項2記載の分散ファイル処理
    装置。
  5. 【請求項5】 前記コンテキスト手段が、前記修飾ファ
    イル名の解釈において、要求処理結果の処理時刻指定子
    が含まれると判定した場合は、 前記処理結果管理手段は、前記時刻指定子の示す時間範
    囲に前記処理日時が対応するか否かに基づいて、前記処
    理日時が対応づけられた処理結果の有効性を判定する構
    成を有することを特徴とする請求項3記載の分散ファイ
    ル処理装置。
  6. 【請求項6】 前記ネットワークは、 複数のコンテキスト手段、該複数のコンテキスト手段に
    対応して設けられた複数の処理結果保持手段、および該
    複数の処理結果保持手段に対応して設けられた複数の処
    理結果管理手段を接続した構成を有し、 前記複数のコンテキスト手段は、それぞれ独立に手続き
    処理が可能であり、 ネットワーク上に出力された処理要求に対応する処理結
    果の有効性を判定する第1の処理結果管理手段は、 該処理要求に指定された原料ファイルおよび手続きに対
    応する処理結果を保持するネットワーク上の第2の処理
    結果保持手段を管理する第2の処理結果管理手段に処理
    結果の有効性についての問い合わせを実行する構成を有
    することを特徴とする請求項1記載の分散ファイル処理
    装置。
  7. 【請求項7】 前記コンテキスト手段における修飾ファ
    イル名の解釈において、前記処理結果保持手段に保持さ
    れた処理結果の無効化または破棄いずれかの指示を定め
    た所定のパラメータが含まれることが解析されたことを
    条件として、 前記処理結果管理手段は、前記処理結果保持手段に格納
    された処理結果の無効化または破棄いずれかの処理を実
    行する構成を有することを特徴とする請求項1記載の分
    散ファイル処理装置。
  8. 【請求項8】 前記処理結果管理手段による前記処理結
    果保持手段に格納された処理結果の無効化または破棄い
    ずれかの処理の実行に伴い、 前記コンテキスト手段は、前記無効化または破棄を行っ
    た処理結果に対応する原料ファイルを取得して、新たに
    処理を実行して前記処理結果保持手段に保持する構成を
    有することを特徴とする請求項7記載の分散ファイル処
    理装置。
  9. 【請求項9】 前記コンテキスト手段における原料ファ
    イルに対する前記手続きによる処理は、処理要求タイミ
    ングとは独立に非同期的処理として実行するとともに、
    該手続きによって処理された処理結果には該処理結果に
    対応する処理結果識別子を生成し、該処理結果識別子を
    処理結果に対応させて前記処理結果保持手段に保持する
    構成としたことを特徴とする請求項1に記載の分散ファ
    イル処理装置。
  10. 【請求項10】 前記コンテキスト手段は、前記修飾フ
    ァイル名の解釈において、処理の要求が非同期的である
    ことを示す指定データが含まれる判定がなされたことを
    条件として、原料ファイルに対する前記手続きを処理要
    求タイミングとは独立に非同期的処理として実行する構
    成を有することを特徴とする請求項9に記載の分散ファ
    イル処理装置。
  11. 【請求項11】 前記コンテキスト手段が前記修飾ファ
    イル名の解釈において、処理の要求条件に完全一致しな
    いが、部分一致する処理結果が前記処理結果保持手段に
    含まれると判定した場合において、 前記結果出力手段は、前記処理結果保持手段に含まれる
    部分一致する処理結果を出力する構成を有することを特
    徴とする請求項1に記載の分散ファイル処理装置。
  12. 【請求項12】 コンピュータをネットワークで接続し
    た分散コンピュータシステムにおける分散ファイル処理
    方法において、 前記ネットワーク上に接続された装置に保持されたデー
    タファイル原料を識別可能な原料ファイル名を、原料を
    編集加工する手続きを表す手続き名と、手続きのパラメ
    ータと、手続き名を解釈し手続きを動作させるコンピュ
    ータおよび動作環境を定めるコンテキスト名とで修飾し
    て構成した修飾ファイル名を解釈して、原料ファイル名
    と手続き名を取り出し、該取り出した原料ファフイル名
    に対応する原料ファイルのデータを入力し、前記取り出
    した手続き名に対応する手続きを起動して、原料ファイ
    ルを該起動した手続きによって処理を行うコンテキスト
    手段による手続き処理ステップと、 前記手続き処理ステップにおいて起動した前記手続きに
    よって処理を行った原料ファイルの処理結果を処理結果
    保持手段に保持する結果保持ステップと、 前記処理結果保持手段の保持する処理結果の有効性を判
    定する処理結果有効性判定ステップと、 前記処理結果有効性判定ステップにおいて有効と判定さ
    れた処理結果であり、前記処理結果保持手段に保持され
    た処理結果を取り出して出力する結果出力ステップと、 を有することを特徴とする分散ファイル処理方法。
  13. 【請求項13】 前記処理結果有効性判定ステップは、 前記処理結果保持手段の保持する処理結果に対応する前
    記原料ファイル名および前記コンテキスト手段において
    実行された手続き名に基づいて前記処理結果の有効性を
    判定するステップを含むことを特徴とする請求項12記
    載の分散ファイル処理方法。
  14. 【請求項14】 前記処理結果有効性判定ステップは、 前記コンテキスト手段による手続き処理の処理実行日
    時、 前記コンテキスト手段による手続き処理の実行を要求し
    た要求固有の処理要求識別子の少なくともいずれかに基
    づいて前記処理結果の有効性を判定するステップを含む
    ことを特徴とする請求項13記載の分散ファイル処理方
    法。
  15. 【請求項15】 前記処理結果有効性判定ステップは、 前記原料ファイルの更新日時と、前記コンテキスト手段
    による手続き処理の処理実行日時を示す処理日時とを比
    較し、該比較結果に基づいて処理結果の有効性判定を行
    うステップを含むことを特徴とする請求項13記載の分
    散ファイル処理方法。
  16. 【請求項16】 前記コンテキスト手段における原料フ
    ァイルに対する手続き処理は、処理要求タイミングとは
    独立に非同期的処理として実行するとともに、該手続き
    によって処理された処理結果には該処理結果に対応する
    処理結果識別子を生成し、該処理結果識別子を処理結果
    に対応させて前記処理結果保持手段に保持することを特
    徴とする請求項12に記載の分散ファイル処理方法。
JP10249235A 1998-09-03 1998-09-03 分散ファイル処理装置および分散ファイル処理方法 Pending JP2000076118A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10249235A JP2000076118A (ja) 1998-09-03 1998-09-03 分散ファイル処理装置および分散ファイル処理方法
US09/382,952 US6557024B1 (en) 1998-09-03 1999-08-25 Distributed file processing with context unit configured to judge the validity of the process result on the basis of the name of the raw file and the name of the executed procedure

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10249235A JP2000076118A (ja) 1998-09-03 1998-09-03 分散ファイル処理装置および分散ファイル処理方法

Publications (1)

Publication Number Publication Date
JP2000076118A true JP2000076118A (ja) 2000-03-14

Family

ID=17189944

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10249235A Pending JP2000076118A (ja) 1998-09-03 1998-09-03 分散ファイル処理装置および分散ファイル処理方法

Country Status (2)

Country Link
US (1) US6557024B1 (ja)
JP (1) JP2000076118A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7827477B2 (en) 2004-10-15 2010-11-02 International Business Machines Corporation Editing a web site using a plurality of editing environments
US8028018B2 (en) 2005-06-24 2011-09-27 Fuji Xerox Co., Ltd. System, device, and method for cooperative processing
WO2012026320A1 (ja) * 2010-08-25 2012-03-01 株式会社日立ソリューションズ WebAPIサーバプログラム、WebAPI公開方法
JP2012181803A (ja) * 2011-03-03 2012-09-20 Nec Software Kyushu Ltd トランザクション管理システム、管理装置、サーバ装置、トランザクション管理方法、及びプログラム
US8814690B2 (en) 2002-06-11 2014-08-26 Kabushiki Kaisha Sega Game machine having data management ability

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7330815B1 (en) 1999-10-04 2008-02-12 Globalenglish Corporation Method and system for network-based speech recognition
US6493635B1 (en) * 1999-11-01 2002-12-10 3Dgeo Development, Inc. Remote access and automated dialog building for seismic processing
US7716674B1 (en) * 2000-10-06 2010-05-11 Apple Inc. Streaming server administration protocol
US7225219B2 (en) * 2000-11-29 2007-05-29 Broadspider Networks, Inc. Distributed caching architecture for computer networks
US7206819B2 (en) * 2001-01-18 2007-04-17 Sun Microsystems, Inc. Method and apparatus for providing virtual namespaces for active computing environments
US7412495B2 (en) * 2002-04-26 2008-08-12 Sun Microsystems, Inc. Method, system, and article of manufacture for a server side application
US20040243471A1 (en) * 2002-07-17 2004-12-02 Salmen Larry J. Process and system for authoring electronic information by filling in template pattern with local presentation information
US7707184B1 (en) * 2002-10-09 2010-04-27 Netapp, Inc. System and method for snapshot full backup and hard recovery of a database
JP4292882B2 (ja) 2003-03-18 2009-07-08 株式会社日立製作所 複数のスナップショット維持方法及びサーバ装置及びストレージ装置
US7266654B2 (en) * 2003-03-18 2007-09-04 Hitachi, Ltd. Storage system, server apparatus, and method for creating a plurality of snapshots
US7367508B2 (en) * 2004-09-24 2008-05-06 Microsoft Corporation System and method for tracking URL usage
US7536391B2 (en) * 2005-05-20 2009-05-19 Microsoft Corporation System and method for URL virtualization and mapping
US20070150477A1 (en) * 2005-12-22 2007-06-28 International Business Machines Corporation Validating a uniform resource locator ('URL') in a document
JP4722973B2 (ja) * 2008-08-12 2011-07-13 株式会社日立製作所 リクエスト処理方法及び計算機システム
CN104243522B (zh) * 2013-06-19 2018-02-06 华为技术有限公司 用于超文本传输协议网络的方法及宽带网络网关
US10324803B1 (en) * 2016-09-27 2019-06-18 Amazon Technologies, Inc. Storage snapshot management

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5418954A (en) * 1991-06-19 1995-05-23 Cadence Design Systems, Inc. Method for preparing and dynamically loading context files
JP2746218B2 (ja) 1995-02-23 1998-05-06 富士ゼロックス株式会社 資源管理装置および資源管理方法
JP3738787B2 (ja) * 1995-10-19 2006-01-25 富士ゼロックス株式会社 資源管理装置及び資源管理方法
JPH1055269A (ja) * 1996-08-08 1998-02-24 Fuji Xerox Co Ltd 情報処理装置
US5944793A (en) * 1996-11-21 1999-08-31 International Business Machines Corporation Computerized resource name resolution mechanism
US6272523B1 (en) * 1996-12-20 2001-08-07 International Business Machines Corporation Distributed networking using logical processes
US6058423A (en) * 1996-12-23 2000-05-02 International Business Machines Corporation System and method for locating resources in a distributed network

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8814690B2 (en) 2002-06-11 2014-08-26 Kabushiki Kaisha Sega Game machine having data management ability
US7827477B2 (en) 2004-10-15 2010-11-02 International Business Machines Corporation Editing a web site using a plurality of editing environments
US8028018B2 (en) 2005-06-24 2011-09-27 Fuji Xerox Co., Ltd. System, device, and method for cooperative processing
WO2012026320A1 (ja) * 2010-08-25 2012-03-01 株式会社日立ソリューションズ WebAPIサーバプログラム、WebAPI公開方法
JP2012048391A (ja) * 2010-08-25 2012-03-08 Hitachi Solutions Ltd WebAPIサーバプログラム、WebAPI公開方法
US8701129B2 (en) 2010-08-25 2014-04-15 Hitachi Solutions, Ltd. Web API server program, web API publication method
JP2012181803A (ja) * 2011-03-03 2012-09-20 Nec Software Kyushu Ltd トランザクション管理システム、管理装置、サーバ装置、トランザクション管理方法、及びプログラム

Also Published As

Publication number Publication date
US6557024B1 (en) 2003-04-29

Similar Documents

Publication Publication Date Title
JP2000076118A (ja) 分散ファイル処理装置および分散ファイル処理方法
JP4255373B2 (ja) ネットワークファイルシステムのための管理および同期化アプリケーション
US8321483B2 (en) Method and system for seamlessly accessing remotely stored files
JP4739455B2 (ja) 文書管理方法
US7051032B2 (en) System and method for providing post HOC access to legacy applications and data
US6397253B1 (en) Method and system for providing high performance Web browser and server communications
US7496497B2 (en) Method and system for selecting web site home page by extracting site language cookie stored in an access device to identify directional information item
CA2368089C (en) Providing clients with services that retrieve data from data sources that do not necessarily support the format required by the clients
US7519592B2 (en) Method, apparatus and computer program for key word searching
US20030208563A1 (en) Web dispatch service
US20060031751A1 (en) Method for creating editable web sites with increased performance & stability
JPH0981445A (ja) 情報管理装置
JPH113307A (ja) 情報処理装置および方法
JP2007536643A (ja) マルチバージョンウェブドキュメントのためのウェブサーバ
JPH1055269A (ja) 情報処理装置
JP2000207421A (ja) ハイパ―リンクを使用して文書を検索するための方法及びシステム
US20030158894A1 (en) Multiterminal publishing system and corresponding method for using same
JP2002132646A (ja) コンテンツインタポレーティングウェブプロキシサーバ
JP4405695B2 (ja) 更新情報の自動表示方法、装置、媒体およびプログラム
JP2000276431A (ja) 翻訳機能付きプロキシキャッシュサーバ及びそれを有する翻訳機能付きブラウジング・システム
JPH10334086A (ja) 情報開示システム
JPH11143910A (ja) 複合オブジェクト展開方式及びコンピュータ読み取り可能な記録媒体
US20090043744A1 (en) System for distributed communications
KR100261267B1 (ko) 데이터 베이스의 내용과 캐쉬 메모리에 저장된 내용의 일치 방법
JPH11282817A (ja) 埋め込みウェブ・エ―ジェント

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20061024

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20061225

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20070213