JPH10171701A - 手続実行装置及び方法 - Google Patents

手続実行装置及び方法

Info

Publication number
JPH10171701A
JPH10171701A JP8330030A JP33003096A JPH10171701A JP H10171701 A JPH10171701 A JP H10171701A JP 8330030 A JP8330030 A JP 8330030A JP 33003096 A JP33003096 A JP 33003096A JP H10171701 A JPH10171701 A JP H10171701A
Authority
JP
Japan
Prior art keywords
procedure
message
unit
remote
definition
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
JP8330030A
Other languages
English (en)
Inventor
Kazunori Horikiri
和典 堀切
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 JP8330030A priority Critical patent/JPH10171701A/ja
Priority to US08/986,731 priority patent/US6339783B1/en
Publication of JPH10171701A publication Critical patent/JPH10171701A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 ネットワーク上に分散して管理されている遠
隔手続をユーザが会話的に結び付けることにより遠隔手
続の合成された呼び出しを行なったり、新しい遠隔手続
を定義したりできるようにする。 【解決手段】 遠隔手続クライアント100は遠隔手続
サーバ200から手続定義用ハイパーテキストを受け取
って必要に応じて既存の遠隔手続の手続仕様を参照しな
がら既存の手続を組み合わせて新たな手続定義を記述す
る。手続定義は手続定義要求とともにサーバ200に送
られ保持される。新たに定義した手続が呼び出されると
前記遠隔手続管理部210の管理の下で手続実行部21
2が手続を実行する。手続実行部212は手続の引数が
ハイパーリンクの場合にはハイパーリンク先の手続を実
行したのち元の手続を再開する。ハイパーリンク先の手
続が複合的な手続の場合には手続定義を参照してその手
続を展開した上で処理を実行していく。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】この発明は、情報処理を行な
う複数の計算機システムがネットワークで結ばれたネッ
トワーク情報システムで使用される、遠隔手続の管理・
実行方式に関するものであり、とくに異なる計算機シス
テムに分散して管理されている遠隔手続を組み合わせて
実行できるようにするものである。
【0002】
【従来の技術】計算機システムは分散環境で使用される
ことが多くなっており、計算機システムで実行される手
続も分散して保持され、管理されるようになっている。
このような分散環境では、ユーザが遠隔地の計算機シス
テム上の手続を呼び出して実行させることも多くなって
きている。しかしながら、計算機システムで管理されて
いる複数の手続を遠隔地のユーザが自在に組み合わせ実
行させることはできなかった。分散環境においては手続
も分散され、このような手続を簡易かつ有効に組み合わ
せて実行することが望まれる。
【0003】なお、この発明に関連する従来技術として
は以下のものがある。 [コモン・ゲートウェイ・インターフェース]コモン・
ゲートウェイ・インターフェース(Common Ga
tewayInterface:CGI)はハイパーテ
キスト・トランスファ・プロトコル(Hypertex
t Transfer Protocol:HTTP)
サーバなどのインフォメーション・サーバが動的に情報
を生成するためにアプリケーション・プログラムを起動
するためのインフォメーション・サーバとアプリケーシ
ョン・プログラムの間の、環境変数、コマンド・ライ
ン、標準入力及び標準出力を定めた標準である。
【0004】しかし、CGIではアプリケーション・プ
ログラムからさらに他のHTTPサーバ等のインフォメ
ーション・サーバによって提供される遠隔手続を含むサ
ービスを起動するための機構が備わっていない。
【0005】このため、HTTPサーバなどのインフォ
メーション・サーバによって起動されるアプリケーショ
ン・プログラムをワールドワイドウェブ(World
Wide Web:WWW)クライアントなどのインフ
ォメーション・クライアントから自由に組み合わせて利
用することができなかった。
【0006】[特開平6−75892号公報]特開平6
−75892号公報に開示される「遠隔手続管理装置」
では、システムが提供するサービスの遠隔手続を要求す
るシステム遠隔手続要求部と、システムが提供するサー
ビスの遠隔手続を処理を実行するシステム遠隔手続実行
部と、システムが提供するサービスの複数の遠隔手続を
ネットワークシステム内でユニークな遠隔手続識別子に
基づいてシステム遠隔手続実行部に対応付けて管理する
システム遠隔手続管理部と、遠隔手続呼び出しを実行す
るスタブから呼び出され、システム遠隔手続管理部へ問
い合わせを行ない、呼び出すシステムの遠隔手続を決定
し、該当するシステム遠隔手続実行部を呼び出すシステ
ム手続前処理部とを備えることにより、 アプリケーシ
ョン・サービスのインタフェース中へシステムの遠隔手
続を定義しなくてもシステムが提供する遠隔手続を呼び
出せる機能が提供される。
【0007】[ANSA情報サービスフレームワーク]
英国のANSA社(Architecture Pro
jects Management Limited)
のANSA情報サービスフレームワーク(Inform
ation Services Framework)
はCommonObject Request Bro
ker Architecture(CORBA)及び
WWWに基づく分散システムである(Rees,O.,
Edwards,N.,Madsen,M.,Beas
ley,M. and McClenaghan,
A.: A Web of Distributed
Object, The ANSA Project,
Architecture Projects Ma
nagement Ltd(1995))。
【0008】General Inter−ORB P
rotocolをIP(インターネットプロトコル)プ
ロトコルを使って転送するためのInternet I
nter−ORB Protocolを用いている。
【0009】HTTPをIIOPに変換するゲイトウエ
イ及びIIOPをHTTPに変換するゲイトウエイを用
意することにより、WWWクライアントからCORBA
オブジェクトに対するアクセスを可能にする技術であ
る。
【0010】[ デレゲート ]デレゲート(DeleG
ate)は電子技術総合研究所の佐藤豊によって研究開
発された多目的プロトコル中継システムである(佐藤
豊:多目的プロトコル中継システムDeleGate,
電子技術総合研究所彙報,Vol.59,No.6(1
995))。
【0011】DeleGateは中継の際に、プロトコ
ル変換、文字コード変換及びMIME(マルチパーポス
・インターネット・メイル・エクステンション)コード
変換を行ない、サービスを受けるクライアントに適した
プロトコル、文字コード、MIMEコードを提供する機
能を提供するが、複数のDeleGateをネットワー
ク状に組み合わせることによってユーザが所望の遠隔手
続呼出を合成する手段を提供しない。
【0012】[ オープンドック ]オープンドック(O
penDoc、米国アップル社の商標)は、同社が提唱
したコンポーネント・ソフトウェア・アーキテクチャ技
術である。OpenDocを構成する基本要素は以下の
ようである。 ・document:ユーザあるいはアプリケーション
開発者によって組み立てられたpartの集合。 ・part:documentの構成要素。 ・part editor:partの内容を表示した
り、内容を操作したり、内容を変更するためのユーザ・
インタフェースを提供する。 ・part service:partが持っている機
能を提供したり、partの内容を操作するためのユー
ザ・インタフェースを提供する。 ・part viewer:partの内容をユーザに
表示する。 ・container application:pa
rt editorやpart serviceをサポ
ートするアプリケーション。
【0013】OpenDocは文書指向のアプリケーシ
ョン構築環境であり、1 つの文書が複数のパートと呼
ばれるアプリケーション・モジュールにより構成され
る。OpenDocにおけるドキュメントは最上レベル
のパートに各種のパートを埋め込むことによって構成さ
れる。また、各パートにはパートの表示やパートに対す
るイベントに応じてパートの状態を変化させるパート・
エディタが付随している。
【0014】以上のようなことからOpenDocは、
独立したアプリケーション・モジュールであるパートを
張り合わせることによって、複数の型のオブジェクトか
ら構成される複合ドキュメントを作成する機能を提供す
るが、インターネットを含むネットワーク分散環境にお
いて、パートのインタフェースを公開したり、パートを
分散環境でグラフ状に連結することにより新しい機能を
定義する手段を提供しない。
【0015】[OLE/COM,DCOM]OLE(O
bject Linking and Embeddi
ng)は米国マイクロソフト社が提唱している複合文書
に基づくコンポーネント・ウェアであり、協調オブジェ
クト環境として、同社のComponent Obje
ctModel(COM)を利用している(ともに米国
マイクロソフト社の商標)。
【0016】DCOM(Distributed Co
mponent Object Model、商標)は
米国マイクロソフト社が提唱しているアプリケーション
・レベル・プロトコルであり、ネットワーク分散コンポ
ーネント・システムにおけるオブジェクト間の遠隔手続
呼び出しを目的とするものである(DCOMは以前Ne
twork OLEと呼ばれていた)。DCOMはOp
en Software FoundationのDC
E−RPCをベースにしており、同社のCOMと連係さ
せて用いることができる。
【0017】OLEでは多様な部品を組み立てて、アプ
リケーションを構築することができ、部品の組み込みと
して、オブジェクト全体を別オブジェクトに組み込む方
法(埋め込み)、及びオブジェクトの実態は文書外にあ
りポインタにより参照する方法(リンキング)が提供さ
れるが、複数のリンクによって構成されるグラフを指定
することによりアプリケーションを構築することができ
ない。すなわち、OLEではオブジェクト間のRPCを
用いた1階層の部品の組み立てを複数回用いることによ
り複数階層の複合部品を構築することが可能であるが、
1度に複数階層からなる部品のパターンを定義し、実行
時に部品の連結を動的に構築することができない。
【0018】[インテリジェントパッド]インテリジェ
ントパッド(IntelligentPad)は北海道
大学の田中譲教授によって提案されている複合メディア
・ツールキットである。インテリジェントパッドは文書
をパッドと呼ばれる紙のメタファを持つ複数のメディア
・オブジェクトを合成することにより作成する。
【0019】インテリジェントパッドシステムが提供す
るプリミティブ・パッドでは、入力、出力、データの保
持、パッドのジオメトリ管理、データ変換、特定アプリ
ケーション、システムの機能拡張の機能が提供されてお
り、ユーザはパッドを画面上で張り合わせることによ
り、機能を合成した合成パッドを作成することができ
る。
【0020】しかし、インテリジェントパッドには、イ
ンターネットを含む分散環境上でパッドの機能を公開
し、ユーザが分散環境に存在するパッドを組み合わせる
ことにより分散計算を行なうための機能を提供していな
い。以上説明したように、従来の技術では、遠隔手続ク
ライアント・アプリケーションを利用するユーザが、複
数の遠隔手続サーバを組み合わせて必要なサービスを定
義することは困難であった。また、遠隔手続呼出が組み
合わされてサービスが提供される場合、クライアント・
アプリケーションを利用するユーザは、各遠隔手続に対
して与えられた引数と実行結果を知ることが困難であっ
た。
【0021】
【発明が解決しようとする課題】この発明は、以上の事
情を考慮してなされたものであり、ネットワーク上に分
散して管理されている遠隔手続をユーザが会話的に結び
付けることにより遠隔手続の合成された呼び出しを行な
ったり、新しい遠隔手続を定義したりできるようにする
ことを目的としている。
【0022】
【課題を解決するための手段】この発明によれば、以上
の目的を達成するために、手続実行装置に、プログラム
を検索するための第1の検索式及びそのプログラムに必
要なパラメータを入力する入力手段と、前記入力手段に
より入力された第1の検索式とパラメータとを分離する
メッセージ解析手段と、前記第1の検索式に対応付けら
れている第2の検索式及びその第2の検索式により検索
されるプログラムに必要なパラメータを挿入するスロッ
トを記憶しているデータベースと、前記メッセージ解析
手段により分離された第1の検索式に応じて、前記デー
タベースから前記第1の検索式に対応付けられている第
2の検索式及びスロットを検索する手続検索手段と、前
記手続検索手段により検索された第2の検索式を前記入
力手段に第1の検索式として入力させ、かつ前記メッセ
ージ解析手段により分離されたパラメータを挿入した前
記手続検索手段により検索されたスロットを、前記入力
手段にパラメータとして入力させる手続制御手段とを設
けるようにしている。この構成においては、第1の検索
式に関連づけられる第2の検索式と、第2の検索式によ
り取り出されるプログラムのパラメータを挿入するスロ
ットをデータベースに記憶させ、第2の検索式で検索さ
れるプログラムを用いて第1の検索式で検索されるプロ
グラムを合成し、かつこの合成されたプログラムを実行
することができる。
【0023】また、この構成においては、前記データベ
ースに、前記第1の検索式に対応付けられているプログ
ラムをも記憶しており、前記手続検索手段は、前記メッ
セージ解析手段により分離された第1の検索式に応じ
て、前記データベースから前記第1の検索式に対応付け
られているプログラムをも検索し、前記手続検索手段に
よりプログラムが検索されたときは、そのプログラムを
実行する実行手段をさらに具備するようにしてもよい。
【0024】また、この発明によれば、上述の目的を達
成するために、前記第1の検索式に対応付けられている
第2の検索式及びその第2の検索式により検索されるプ
ログラムに必要なパラメータを挿入するスロットを記憶
しているデータベースと、前記データベースを検索する
検索手段を具備する手続実行装置において、プログラム
を検索するための第1の検索式及びそのプログラムに必
要なパラメータを入力するステップ1と、入力された第
1の検索式とパラメータとを分離するステップ2と、分
離された第1の検索式に応じて、前記データベースから
前記第1の検索式に対応付けられている第2の検索式及
びスロットを検索するステップ3と、検索された第2の
検索式を前記ステップ1の第1の検索式として、及び分
離されたパラメータを挿入したスロットを、前記ステッ
プ1にパラメータとして入力させるステップ4とを実行
するようにしている。
【0025】この構成においても、第1の検索式に関連
づけられる第2の検索式と、第2の検索式により取り出
されるプログラムのパラメータを挿入するスロットをデ
ータベースに記憶させ、第2の検索式で検索されるプロ
グラムを用いて第1の検索式で検索されるプログラムを
合成し、かつこの合成されたプログラムを実行すること
ができる。
【0026】また、この構成において、前記データベー
スに、前記第1の検索式に対応付けられているプログラ
ムをも記憶しており、前記ステップ3は、分離された第
1の検索式に応じて、前記データベースから前記第1の
検索式に対応付けられているプログラムをも検索し、プ
ログラムが検索されたときは、そのプログラムを実行す
るようにしてもよい。
【0027】また、この発明によれば、上述の目的を達
成するために、通信回線に接続されており、ユーザから
の命令を受取るクライアントと、前記通信回線に接続さ
れており、前記クライアントからの命令を前記通信回線
を介して受取り、実行するサーバとを具備する手続実行
装置において、前記クライアントは、プログラムを検索
するための第1の検索式及びそのプログラムに必要なパ
ラメータを入力する入力手段と、前記入力手段により入
力された第1の検索式及びパラメータを前記通信回線を
介して送信する送信手段とを具備し、前記サーバは、前
記クライアントの前記送信手段により送信された第1の
検索式及びパラメータを前記通信回線から受信する受信
手段と、前記受信手段により受信された第1の検索式と
パラメータとを分離するメッセージ解析手段と、前記第
1の検索式に対応付けられている第2の検索式及びその
第2の検索式により検索されるプログラムに必要なパラ
メータを挿入するスロットを記憶しているデータベース
と、前記メッセージ解析手段により分離された第1の検
索式に応じて、前記データベースから前記第1の検索式
に対応付けられている第2の検索式及びスロットを検索
する手続検索手段と、 前記手続検索手段により検索さ
れた第2の検索式を前記サーバの入力手段により入力さ
れた第1の検索式として、及び前記メッセージ解析手段
により分離されたパラメータを挿入した前記手続検索手
段により検索されたスロットを、前記入力手段により入
力されたパラメータとして前記通信回線を介して送信す
る送信手段とを具備するようにしている。
【0028】この構成においても、第1の検索式に関連
づけられる第2の検索式と、第2の検索式により取り出
されるプログラムのパラメータを挿入するスロットをデ
ータベースに記憶させ、第2の検索式で検索されるプロ
グラムを用いて第1の検索式で検索されるプログラムを
合成し、かつこの合成されたプログラムを実行すること
ができる。
【0029】また、この発明によれば、上述の目的を達
成するために、コンピュータを制御するためのコンピュ
ータ・プログラム・ブロダクトに、前記コンピュータの
入力手段によって読み取り可能な記憶媒体と、プログラ
ムを検索するための第1の検索式及びそのプログラムに
必要なパラメータを入力する入力処理を前記コンピュー
タに実行させるために、前記記憶媒体に記憶された入力
命令手段と、前記入力処理により入力された第1の検索
式とパラメータとを分離するメッセージ解析処理を前記
コンピュータに実行させるために、前記記憶媒体に記憶
されたメッセージ解析命令手段と、前記第1の検索式に
対応付けられている第2の検索式及びその第2の検索式
により検索されるプログラムに必要なパラメータを挿入
するスロットを記憶しているデータベースを前記コンピ
ュータに記憶させるために、前記記憶媒体に記憶された
データベース手段と、前記メッセージ解析処理により分
離された第1の検索式に応じて、前記データベースから
前記第1の検索式に対応付けられている第2の検索式及
びスロットを検索する手続検索処理を前記コンピュータ
に実行させるために、前記記憶媒体に記憶された手続検
索命令手段と、前記手続検索処理により検索された第2
の検索式を前記入力処理に第1の検索式として、及び前
記メッセージ解析処理により分離されたパラメータを挿
入した前記手続検索処理により検索されたスロットを、
前記入力処理にパラメータとして入力させる手続制御処
理を前記コンピュータに実行させるために、前記記憶媒
体に記憶された手続制御命令手段とを設けるようにして
いる。この構成においても、第1の検索式に関連づけら
れる第2の検索式と、第2の検索式により取り出される
プログラムのパラメータを挿入するスロットをデータベ
ースに記憶させ、第2の検索式で検索されるプログラム
を用いて第1の検索式で検索されるプログラムを合成
し、かつこの合成されたプログラムを実行することがで
きる。
【0030】また、この発明によれば、上述の目的を達
成するために、複数の計算機システムがネットワークを
介して接続される情報処理システムに、1または複数の
手続の上記ネットワークにおけるロケーション情報を引
数中に含んで記述された複合手続を記憶する手段と、上
記手続のロケーション情報を引数として上記複合手続を
実行するときに上記ロケーションの手続を呼び出す手段
と、上記呼び出された手続を実行する手段と、上記呼び
出された手続の実行結果を受け取って上記複合手続の実
行を継続する手段とを設けるようにしている。この構成
においては、複数の手続のロケーションを引数中に記述
してそれら手続を組み合わせてなる複合手続を合成し、
かつ引数中において特定されたネットワークにおけるロ
ケーションにある手続を呼出ながらその複合手続を実行
することができる。
【0031】また、この構成においては、上記複合手続
はハイパーテキストで記述されるようにしてもよい。ま
た、上記ロケーション情報はハイパーリンクの情報とし
てもよい。
【0032】また、この発明によれば、上述の目的を達
成するために、ネットワークを介して1または複数の他
の計算機システムに接続された計算機システムに、1ま
たは複数の手続の上記ネットワークにおけるロケーショ
ン情報を引数中に含んで記述された複合手続を記憶する
記憶手段と、上記ネットワークを介して上記他の計算機
システムから送られた複合手続を受け取って上記記憶手
段に記憶させる手段と、上記ネットワークを介して上記
他の計算機システムから送られた上記複合手続の実行要
求に応じて、上記手続のロケーション情報を引数として
上記複合手続を実行するときに上記ロケーションの手続
を呼び出す手段と、上記呼び出された手続の実行結果を
受け取って上記複合手続の実行を継続する手段とを設け
るようにしている。
【0033】この構成においても、複数の手続のロケー
ションを引数中に記述してそれら手続を組み合わせてな
る複合手続を合成し、かつ引数中において特定されたロ
ケーションにある手続を呼出ながらその複合手続を実行
することができる。
【0034】また、この発明によれば、上述の目的を達
成するために、ネットワークを介して1または複数の他
の計算機システムに接続された計算機システムに用いら
れる遠隔手続管理装置に、1または複数の手続の上記ネ
ットワークにおけるロケーション情報を引数中に含んで
記述された複合手続を記憶する記憶手段と、上記ネット
ワークを介して上記他の計算機システムから送られた複
合手続を受け取って上記記憶手段に記憶させる手段と、
上記ネットワークを介して上記他の計算機システムから
送られた上記複合手続の実行要求に応じて上記手続のロ
ケーション情報を引数として上記複合手続を実行すると
きに上記ロケーションの手続を呼び出す手段と、上記呼
び出された手続の実行結果を受け取って上記複合手続の
実行を継続する手段とを設けるようにしている。
【0035】この構成においても、複数の手続のロケー
ションを引数中に記述してそれら手続を組み合わせてな
る複合手続を合成し、かつ引数中において特定されたロ
ケーションにある手続を呼出ながらその複合手続を実行
することができる。
【0036】また、この発明によれば、上述目的を達成
するために、情報処理を行なう複数の計算機システムが
ネットワークで結ばれたネットワーク情報システムで使
用される遠隔手続管理装置において、前記遠隔手続管理
装置は、少なくとも1つの遠隔手続クライアント手段
と、少なくとも1つの遠隔手続サーバ手段を有し、前記
遠隔手続サーバ手段は、手続定義のテンプレートである
ハイパーテキストを出力する定義用ハイパーテキスト出
力手段と、ハイパーテキストを遠隔に送信する送信手段
と、遠隔からのメッセージを受信する受信手段と、前記
メッセージを解析するためのメッセージ解析手段と、前
記メッセージが手続定義の登録を要求するメッセージで
あった場合に前記メッセージに含まれる手続を定義する
表現であるハイパーテキストを解析するハイパーテキス
ト解析手段と、前記ハイパーテキスト解析手段の解析結
果にもとづき、属性情報及び手続定義情報を含む手続情
報を生成する手続情報生成手段と、生成された前記手続
情報を保持する遠隔手続保持手段と、前記メッセージが
手続の実行を要求するメッセージであった場合に前記メ
ッセージ解析手段が生成する遠隔手続検索式に基づき前
記遠隔手続保持手段を検索する遠隔手続管理手段と、前
記手続定義情報に基づき手続を実行する手続実行手段と
を有し、前記遠隔手続クライアント手段は、前記遠隔サ
ーバ手段から送られた前記手続定義のテンプレートであ
るハイパーテキストを受信する受信手段と、前記ハイパ
ーテキストを解析して手続定義の登録要求用のメッセー
ジ生成情報を出力するハイパーテキスト解析手段と、ユ
ーザからの手続定義の入力を受けとるユーザ入力手段
と、前記ユーザ入力手段からの手続定義の入力と前記ハ
イパーテキスト解析手段からの手続定義の登録要求用の
メッセージ生成情報とに基づき、手続定義の登録を要求
するメッセージを生成するメッセージ生成手段と、前記
メッセージ生成手段によって生成されたメッセージを前
記遠隔手続サーバ手段に送信する送信手段とを有するよ
うにしている。
【0037】この構成においては、ユーザは手続定義の
テンプレートを用いて容易に手続を定義することがで
き、この定義した手続をサーバにおいて実行することが
できる。この構成において、前記遠隔手続保持手段に保
持される手続情報は、手続情報は手続の仕様に関する情
報である手続仕様情報を有し、前記遠隔手続サーバは前
記遠隔手続クライアントの要求メッセージに応じて前記
遠隔手続クライアントに手続仕様情報を送信するように
してもよい。また、前記遠隔手続保持手段は、手続の属
性情報を含み手続定義情報を含まない手続情報も保持す
るようにしてもよい。また、前記遠隔手続クライアント
手段は、さらに前記手続定義情報に基づき手続を実行す
る手続実行手段を有するようにしてもよい。また、実行
手段を前記遠隔手続クライアント手段にのみ設けるよう
にしてもよい。
【0038】
【発明の実施の態様】以下、この発明の実施例について
説明する。 [実施例1]実施例1は、ハイパーテキストを用いてイ
ンタフェースが公開されている複数の遠隔手続をハイパ
ーテキストとして組み合わせることにより遠隔手続を定
義するものである。また遠隔手続の定義の管理及び遠隔
手続の実行はサーバが行うようになっている。なお、こ
の実施例では、条件分岐の手続、乗算の手続、デクレメ
ントの手続を組み合わせて階乗の手続を定義し、実行す
る場合を例に挙げて説明する。
【0039】[全体の構成]図1は実施例1の構成を示
しており、この図1において、遠隔手続管理装置は、遠
隔手続クライアント部100及び遠隔手続サーバ部20
0から構成される。図示しないが、遠隔手続クライアン
ト部100及び遠隔手続サーバ部200はネットワーク
により接続されている。また、遠隔手続クライアント部
100及び遠隔手続サーバ部200で実行される機能は
ソフトウェアとして実現されており、予め、記録媒体駆
動部101及び201を介して記録媒体101a及び記
録媒体201aに記憶されている所定のプログラムが遠
隔手続クライアント部100およb遠隔手続サーバ部2
00にインストールされている。また、一般には遠隔手
続管理装置は1個以上の遠隔手続クライアント部100
と1個以上の遠隔手続サーバ部200から構成されてい
て良い。以下の説明においては単一の遠隔手続サーバ部
200に複数の手続定義やその手続(プログラム)が保
持されるようにしているが、手続定義や手続は複数の遠
隔手続サーバ部や遠隔手続クライアント部100に分散
して保持され、それらを組み合わせて新たな手続を生成
し、この手続を遠隔地から実行させることができる。
【0040】前記遠隔手続クライアント部100は、ユ
ーザ入力部102、ハイパーテキスト入力部103、メ
ッセージ生成部104、メッセージ保持部105、送信
部106、受信部107、ハイパーテキスト解析部10
8、ハイパーテキスト出力部109等から構成される。
【0041】前記ユーザ入力部102は、ユーザからの
キーボード、ポインティング・デバイス等の入力により
前記メッセージ生成部104に対するメッセージ生成要
求を行うとともにハイパーテキスト入力部103に対す
る入力要求を行なう。前記ハイパーテキスト入力部10
3はユーザ入力部102からの入力要求に応じてハイパ
ーテキストを入力し、ハイパーテキストをメッセージ生
成部104に出力する。 また、ハイパーテキスト入力
部103は前記ユーザ入力部102からの要求に基づ
き、メッセージ保持部105が保持する第2のメッセー
ジを出力するよう要求し、出力されたメッセージをハイ
パーテキストの一部として入力する。
【0042】前記メッセージ生成部104は前記ユーザ
入力部102からの要求に応じて、遠隔手続サーバ部2
00に対するメッセージを生成し、送信部106及びメ
ッセージ保持部105に出力する。前記メッセージ保持
部105は入力されるメッセージに対して番号を付与
し、番号とメッセージのペアを要素とするリストを用い
てメッセージを管理している。メッセージ保持部105
は番号を指定したメッセージ出力要求に対して、番号と
結びつけられたメッセージをリストから検索し、ハイパ
ーテキスト入力部103に対して出力する。
【0043】前記送信部106は前記メッセージ生成部
104から入力されるメッセージを遠隔の受信部202
に対して送信する。
【0044】前記受信部107は、該遠隔の送信部20
3からの応答であるハイパーテキストを受信し、該ハイ
パーテキストを前記ハイパーテキスト解析部108に出
力するものである。前記ハイパーテキスト解析部108
は前記受信部107から入力されるハイパーテキストを
解析し、前記ハイパーテキスト出力部109に対してハ
イパーテキストをユーザに提示するよう要求し、メッセ
ージ生成部104に対してユーザ入力部102からの入
力に対して生成すべきメッセージのメッセージ生成情報
を出力する。
【0045】前記ハイパーテキスト出力部109はハイ
パーテキスト解析部108及びユーザ入力部102から
の要求に基づき、ハイパーテキストを文字、画像及び音
声情報としてユーザに提示する。
【0046】前記の遠隔手続サーバ部200は、受信部
202、送信部203、メッセージ解析部204、ハイ
パーテキスト解析部205、属性生成部206、手続仕
様生成部207、手続定義生成部208、定義用ハイパ
ーテキスト出力部209、遠隔手続管理部210、遠隔
手続保持部211(1)〜211(M)(これらを代表
して211と表示することもある。後述する2111、
2112及び2113についても同様である)、手続実
行部212、手続実行環境管理部213等により構成さ
れる。前記の各遠隔手続保持部211は属性保持部21
11、手続仕様公開部2112、及び手続定義部211
3により構成される。
【0047】前記受信部202は遠隔の送信部106か
らのメッセージを受信しメッセージ解析部204に出力
するとともに、遠隔の送信部106から手続の実行結果
を受信し、手続実行部212に出力する。前記送信部2
03は遠隔の受信部107に対して手続の実行結果を送
信するとともに、遠隔の受信部107に対してメッセー
ジを送信する。
【0048】前記メッセージ解析部204は受信部20
2から入力されるメッセージを解析し、手続呼出メッセ
ージ、手続仕様公開要求メッセージ、手続定義要求メッ
セージ、及び手続定義用ハイパーテキスト出力要求メッ
セージの何れかに分類する。前記メッセージ解析部20
4はメッセージが手続呼出メッセージの場合はメッセー
ジに含まれるパラメータを抽出し遠隔手続管理部210
へ出力し、手続定義メッセージの場合には、メッセージ
に含まれるハイパーテキストを抽出しハイパーテキスト
解析部205へ出力する。
【0049】前記遠隔手続管理部210はメッセージ解
析部204からパラメータが入力された場合は、遠隔手
続サーバ部200に属する遠隔手続保持部211の中か
らパラメータに含まれる検索式にマッチする遠隔手続保
持部211を検索し、該遠隔手続保持部211に含まれ
る手続定義部2113が保持する手続定義と前記パラメ
ータを手続実行部212に出力し手続の実行を要求す
る。
【0050】また、前記遠隔手続管理部210は手続定
義生成部208及び手続仕様生成部207からそれぞれ
手続定義及び手続仕様が入力された場合は、新たな遠隔
手続保持部211を生成し、手続定義及び手続仕様をそ
れぞれ手続定義部2113及び手続仕様公開部2112
に保管する。なお前記属性保持部2111には、前記の
手続保持部211を一意に識別するための識別子を表す
属性”name”が、属性名と属性値のペアのリストと
して保持されている。一般的には属性保持部211aの
各々には任意個の属性と属性値のペアが保持されていて
もよく、1個以上の属性を指定することにより手続保持
部を一意に識別することができるような属性が保持され
ていればよい。
【0051】前記手続仕様公開部2112には、手続の
引数に関する形式言語による記述、手続の引数に関する
自然言語による記述、手続から返される応答に関する形
式言語による記述、手続から返される応答に関する自然
言語による記述、手続の動作に関する自然言語による記
述、手続呼出式を生成するための手続呼出式生成情報が
保持されており、仕様公開の要求に対して前記の仕様情
報をハイパーテキストとして出力する。一般的には手続
仕様公開部2112には上記のうちの、要素が1個以上
である任意の部分集合が保持されていても良い。
【0052】例えば、
【0053】
【数1】 <HEAD> <TITLE> 乗算を行なうページ</TITLE> </HEAD> <H1>乗算を行なうページ</H1> 与えられた引数の積を計算するためのページです。<P> <HR> <FORM METHOD="GET" ACTION="/times"> 第1 引数: <INPUT NAME="v1" TYPE="entry"><P> 第2 引数: <INPUT NAME="v1" TYPE="entry"><P> <INPUT TYPE="submit" VALUE="Start Function"> </FORM> は、手続仕様を表すHTMLに基づくハイパーテキスト
であり、割り当ての必要な引数は、v1、v2であり、
遠隔手続保持部211の検索式が、”/times”で
あることを表す。手続実行部212はメッセージ解析部
204によって入力される引数リストに従い、手続を実
行する。手続の実行の過程で他の手続保持部211に対
して手続実行を要求する必要が発生した場合は、メッセ
ージ解析部204を通じてメッセージ送信を行なう。
【0054】[定義の保持]つぎに、条件分岐の手続、
乗算の手続、デクレメントの手続を組み合わせて階乗の
手続を定義し、実行する場合を例に挙げて具体的に説明
する。まずどのような手続が保持されているかについて
説明する。ここで、特に断らない限り便宜的に全ての手
続定義部2113はv1、v2、v3という名前の引数
を持つとする。また、遠隔手続サーバ部200における
属性”name”の属性値が”fname”であるよう
な属性保持部2111の遠隔手続保持部211が、引数
v1、v2を持ち、引数v1に値a1、引数v2に値a
2を割り当てる場合のメッセージを、http://h
ost2/fname?v1=a1&v2=a2&と表
記することとする。
【0055】手続定義生成部208は新たに準備された
手続定義式(例えば階乗の手続定義式)を入力して遠隔
手続定義部を生成する。手続定義生成部208は、ハイ
パーテキスト解析部205から入力される手続定義式を
保持し、かつ、以下のリスト変換アルゴリズムを実行す
る手続定義部を生成する。
【0056】1.入力式がリストの場合、 (a)リストの先頭要素をcarとする。
【0057】(b)先頭要素のみの場合はcarを返
す。そうでない場合は次のステップへ進む。
【0058】(c)リストの第2要素から最終要素であ
る第k要素に関して、=の右辺を、右辺に対してアルゴ
リズム1を適用し、さらに特殊文字をエスケープした結
果で置き換える。
【0059】(d)”car?第2要素&第k要素”を
返す。 2.入力式が変数の場合、手続実行環境管理部210に
対して変数に割り当てられた値を返す。 3.入力式が変数でもリストでもない場合、入力式を返
す。
【0060】つぎに階乗の手続を合成するために用いる
手続すなわち条件分岐、乗算及びデクレメントの手続に
ついて説明する。まず、条件分岐の手続に関する情報を
保持する遠隔手続保持部211(1)について説明す
る。
【0061】遠隔手続保持部211(1)の属性保持部
2111(1)は、属性”name”の値が”/if”
であるとして属性を保持している。
【0062】手続仕様公開部2112(1)は、
【0063】
【数2】 <HEAD> <TITLE> 条件分岐を行なうヘ゜ーシ゛ </TITLE> </HEAD> <H1>条件分岐を行なうヘ゜ーシ゛</H1> 条件ハ゜ラメータに与えられた条件に従って、分岐を行なうためのヘ゜ーシ゛です。<P> <HR> <FORM METHOD="get" ACTION="http://host2/if"> 条件: <INPUT NAME="v1" TYPE="entry"><P> 成立する場合: <INPUT NAME="v2" TYPE="entry"><P> 成立しない場合: <INPUT NAME="v3" TYPE="entry"><P> <INPUT TYPE="submit" VALUE="Start Function"> </FORM> を保持している。手続定義部2113(1)は手続実行
部212が以下の条件分岐アルゴリズムに従うような手
続定義を保持している。
【0064】[ステップ1]:引数v1の第1の割当を
調べ、第1の割当が10進整数を表す文字列の場合は文
字列を整数に変換し、v1の第2の割当とし、ステップ
4へ進む。割当がハイパーリンクを含む第2のメッセー
ジである場合は第2のメッセージを送信部203に入力
し次のステップへ進む。 [ステップ2]:送信部203は、メッセージをハイパ
ーリンクに対応する受信部202に出力するとともに、
結果として受信部202から入力される応答を手続実行
部212に入力する。 [ステップ3]:手続実行部212は入力された応答を
解析し、v1の第2の割当を得る。 [ステップ4]:引数v1の第2の割当が整数0の場合
はステップ9へ進む。そうでない場合はステップ5へ進
む。 [ステップ5]:引数v2の割当を調べ、割当が10進
整数を表す文字列の場合は文字列を整数に変換し、v2
の第2の割当とし、ステップ8へ進む。割当がハイパー
リンクを含む第3のメッセージである場合は第3のメッ
セージを送信部203に入力する。 [ステップ6]:送信部2は、第3のメッセージをハイ
パーリンクに対応する受信部202に出力するととも
に、結果として受信部202から入力される応答を手続
実行部212に入力する。 [ステップ7]:手続実行部212は入力された応答を
解析し、v2の第2の割当を得る。 [ステップ8]:v2の第2の割当を結果とするハイパ
ーテキストを生成し、送信部203に出力し、動作を終
了する。 [ステップ9]:引数v3の割当を調べ、割当が10進
整数を表す文字列の場合は文字列を整数に変換し、v3
の第2の割当とし、ステップ12へ進む。割当がハイパ
ーリンクを含む第3のメッセージである場合は第4のメ
ッセージを送信部203に入力する。 [ステップ10]:送信部203は、第4のメッセージ
をハイパーリンクに対応する受信部202に出力すると
ともに、結果として受信部202から入力される応答を
手続実行部212に入力する。 [ステップ11]:手続実行部212は入力された応答
を解析し、v3の第2の割当を得る。 [ステップ12]:v2の第3の割当を結果として含む
ハイパーテキストを生成し、送信部203に出力し、動
作を終了する。
【0065】つぎに乗算の手続に関する情報を保持する
遠隔手続保持部211(2)について説明する。遠隔手
続保持部211(2)の属性保持部2111(2)は、
属性”name”の値が”times”であるとして属
性を保持している。手続定義部2112(3)は手続実
行部212が以下の乗算アルゴリズムに従うような手続
定義を保持している。手続仕様公開部2112(2)に
ついてはすでに説明した。
【0066】[ステップ1]:引数v1の第1の割当を
調べ、第1の割当が10進整数を表す文字列の場合は文
字列を整数に変換し、v1の第2の割当とし、ステップ
4へ進む。割当がハイパーリンクを含む第2のメッセー
ジである場合は第2のメッセージを送信部203に入力
し次のステップへ進む。 [ステップ2]:送信部203は、メッセージをハイパ
ーリンクに対応する受信部202に出力するとともに、
結果として受信部202から入力される応答を手続実行
部212に入力する。 [ステップ3]:手続実行部212は入力された応答を
解析し、v1の第2の割当を得る。 [ステップ4]:引数v2の割当を調べ、割当が10進
整数を表す文字列の場合は文字列を整数に変換し、v2
の第2の割当とし、ステップ7へ進む。割当がハイパー
リンクを含む第3のメッセージである場合は第3のメッ
セージを送信部203に入力する。 [ステップ5]:送信部203は、第3のメッセージを
ハイパーリンクに対応する受信部202に出力するとと
もに、結果として受信部202から入力される応答を手
続実行部212に入力する。 [ステップ6]:手続実行部212は入力された応答を
解析し、v2の第2の割当を得る。 [ステップ7]:v1の第2の割当及びv2の第2の割
当乗じた値を結果として含むハイパーテキストを生成
し、送信部203に出力し、動作を終了する。
【0067】つぎにデクレメントの手続に関する情報を
保持する遠隔手続保持部211(3)について説明す
る。遠隔手続保持部211(3)の属性保持部2111
(3)は、属性”name”の値が”dec”であると
して属性を保持している。手続定義部2113(3)は
手続実行部212が以下のデクレメントのアルゴリズム
に従うような手続定義を保持している。
【0068】[ステップ1]:引数v1の第1の割当を
調べ、第1の割当が10進整数を表す文字列の場合は文
字列を整数に変換し、v1の第2の割当とし、ステップ
4へ進む。割当がハイパーリンクを含む第2のメッセー
ジである場合は第2のメッセージを送信部203に入力
し次のステップへ。 [ステップ2]:送信部203は、メッセージをハイパ
ーリンクに対応する受信部202に出力するとともに、
結果として受信部202から入力される応答を手続実行
部212に入力する。 [ステップ3]:手続実行部212は入力された応答を
解析し、v1の第2の割当を得る。 [ステップ4]:v1の第2の割当から1を減じた値を
結果として含むハイパーテキストを生成し、送信部20
3に出力し、動作を終了する。 [手続の定義]つぎに手続の定義について具体的に説明
する。
【0069】なお、引数名や値に“:”,“/”,
“?”,“=”,“&”,“%”等の文字が現れる場合
は、CGIで規定されているのと同様に、“%”の後に
それぞれの文字のASCIIコードを連結して、それぞ
れ“%3A”,“%2F”,“%3F”,“%3D”,
“%26”,“%25”と表現することとする。一意に
引数名と値のペアを抽出するために用いる方式として一
般には、“(”と“)”等の開始、終了記号を用いる方
式や、文字を別の文字列に変換するエスケープ方式を用
いてもよい。
【0070】以下に、階乗を計算する遠隔手続を定義す
る場合のユーザ入力、遠隔手続クライアント部100の
動作及び遠隔手続サーバ部200の動作について説明す
る。
【0071】[ステップ1]:ユーザは遠隔手続サーバ
部200に対して遠隔手続の定義を要求するため、ユー
ザ入力部102に対して、”http://host2
/define”という文字列で表されるURL(ユニ
フォーム・リソース・ロケータ)を入力する。 [ステップ2]:メッセージ生成部104は送信部10
6に対して”host2”で表される受信部107に対
して、”GET/define”というメッセージを
送信するよう要求する。 [ステップ3]:送信部106は受信部202に対して
前記メッセージを送信する。 [ステップ4]:受信部202は受信したメッセージ
をメッセージ解析部204に入力する。 [ステップ5]:メッセージ解析部204はメッセージ
を解析し、メッセージが定義用ハイパーテキスト出
力要求であることから定義用ハイパーテキスト出力部2
09に対して、ハイパーテキストを出力するよう要求す
る。 ステップ6:定義用ハイパーテキスト出力部209はハ
イパーテキスト
【0072】
【数3】 <HEAD> <TITLE> 遠隔手続を定義するヘ゜ーシ゛ </TITLE> </HEAD> <H1>遠隔手続を定義するヘ゜ーシ゛</H1> <HR> <FORM METHOD="post" ACTION="/define"> 属性の指定: <INPUT NAME="attribute" TYPE="entry"><P> 手続仕様の指定: <INPUT NAME="spec" TYPE="entry"><P> 手続定義の指定: <INPUT NAME="definition" TYPE="entry"><P> <INPUT TYPE="submit" VALUE="定義実行"> </FORM> <HR> を送信部203に出力する。 [ステップ7]:送信部203はハイパーテキストを
受信部107に出力する。 [ステップ8]:受信部107は入力されたハイパーテ
キストを解析し、ハイパーテキスト出力部109にハ
イパーテキストを表示するよう要求する。 [ステップ9]:ハイパーテキスト出力部109はハイ
パーテキストをユーザに表示する。 [ステップ10]:ユーザは表示されたハイパーテキス
トに従い、属性として、”name=factori
al”を用い、手続仕様として、
【0073】
【数4】 <HEAD> <TITLE> 階乗を計算するヘ゜ーシ゛ </TITLE> </HEAD> <H1>階乗を計算するヘ゜ーシ゛</H1> 整数またはハイハ゜ーリンクを与えられて、その階乗を返します。 <HR> <FORM METHOD="get" ACTION="/factorial"> 引数: <INPUT NAME="arg" TYPE="entry"><P> <INPUT TYPE="submit" VALUE="start functional up"> </FORM> <HR> を入力する。 [ステップ11]:次にユーザは、以下のような手順で
手続定義を入力する。 [サブステップa]:ユーザは条件分岐の手続仕様を入
手するため、キーボードから”http://host
2/if”を入力する。 [サブステップb]:メッセージ生成部104は送信部
106に対して、”http://host2”で表さ
れる受信部すなわち受信部202に対して、”GET/
if” というメッセージを送信するよう要求する。 [サブステップc]:送信部106は受信部202に対
して上記メッセージを送信する。 [サブステップd]:受信部202はメッセージをメ
ッセージ解析部204に出力する。 [サブステップe]:メッセージ解析部204はメッセ
ージを解析し、メッセージが手続仕様公開要求であ
ることから、遠隔手続管理部210に対して、属性が”
if”である遠隔手続保持部211を検索し、検索され
た遠隔手続保持部211に対して手続仕様を公開するよ
う要求する。 [サブステップf]:遠隔手続管理部210は、遠隔手
続保持部211の中から属性が”if”である遠隔手続
保持部211(1)を検索し、手続仕様を公開するよう
要求する。 [サブステップg]:遠隔手続保持部211(1)は手
続仕様公開部2112(1)に対して仕様を公開するよ
う要求する。 [サブステップh]:手続仕様公開部2112(1)
は、仕様公開要求に対して、手続定義部2113(1)
が保持する手続定義に関する仕様をハイパーテキスト
として出力する。 [サブステップi]遠隔手続管理部210はハイパーテ
キストを送信部203を通じて受信部107へ応答と
して返す。 [サブステップj]:受信部107はハイパーテキスト
をハイパーテキスト解析部108に入力する。 [サブステップk]:ハイパーテキスト解析部108は
入力されたハイパーテキストを解析し、ハイパーテキ
スト出力部109に対して出力要求を行なうともにメッ
セージ生成部104に対してメッセージ生成情報を出力
する。 [サブステップl]:ユーザは出力されたハイパーテキ
ストに従い、条件の項目に”arg” を指定し、条
件が成立しなかった時の項目に”1”を指定し、次に条
件が成立した時の式を入力するため、乗算の手続仕様を
入手する。この時点で、メッセージ保持部1は
【0074】
【数5】 (http://host2/if v1=arg v2= v3=1 ) というメッセージを保持している。 [サブステップm]:ユーザは乗算の手続仕様を入手す
るため、キーボードから”http://host2/
times”を入力する [サブステップn]:前記の条件分岐の動作のうち、”
if”を”times”に、遠隔手続保持部211
(1)を遠隔手続保持部211(2)に、属性保持部2
111(1)を属性保持部2111(2)に、手続仕様
公開部2112(1)を手続仕様公開部2112(2)
に置き換えた動作が行なわれ、受信部107は応答とし
てハイパーテキストを受信する。 [サブステップo]:受信部107はハイパーテキスト
をハイパーテキスト解析部108に入力する。 [サブステップp]:ハイパーテキスト解析部108は
入力されたハイパーテキストを解析し、ハイパーテキ
スト出力部109に対して出力要求を行なうともにメッ
セージ生成部104に対してメッセージ生成情報を出力
する。 [サブステップq]:ユーザは出力されたハイパーテキ
ストに従い、第2引数にargを指定し、第1引数に
factorialを指定する。 [サブステップr]:次にユーザはデクリメントの手続
仕様を入手するため、キーボードから”http://
host2/dec”を入力する。 [サブステップs]:前記の条件分岐の動作のうち、”
if”を”dec”に置き換え、遠隔手続保持部211
(1)を遠隔手続保持部211(3)に、属性保持部2
111(1)を属性保持部2111(3)に、手続仕様
公開部2112(1)を手続仕様公開部2112(3)
に置き換えた動作が行なわれ、受信部107は応答とし
てハイパーテキストを受信する。 [サブステップt]:ハイパーテキスト解析部108は
入力されたハイパーテキストを解析し、ハイパーテキ
スト出力部109に対して出力要求を行なうともにメッ
セージ生成部104に対してメッセージ生成情報を出力
する。 [サブステップu]:ユーザは出力されたハイパーテキ
ストに従い、第1引数にargを指定する。 [ステップ12]:最終的にユーザによって作成された
手続定義は以下のようである(図2)。
【0075】
【数6】 [ステップ13]:ユーザは”定義実行”と記述された
箇所をマウスでクリックすることにより上記のハイパー
テキストを含む手続定義要求メッセージがメッセージ
生成部104から送信部106に対して出力される。 [ステップ14]:受信部202は手続定義要求メッセ
ージを受信すると手続定義要求メッセージ1をメッセ
ージ解析部204へ出力する。 [ステップ15]:メッセージ解析部204は入力した
手続定義要求メッセージを解析し、属性定義式、手続
仕様定義式、手続定義式を抽出し、該属性定義式を属性
生成部206に、該手続仕様定義式を手続仕様生成部2
07に、該手続定義式を手続定義生成部208に入力す
る。 [ステップ16]:属性生成部206は属性定義式”n
ame=factorial”を入力すると、該定義式
を解析し、”name”の属性として、”factor
ial”を保持する属性保持部2111(a)(図示し
ない)を生成する。 [ステップ17]:手続仕様生成部207は手続仕様定
義式を入力すると、手続仕様定義式を保持する手続仕様
公開部2112(a)(図示しない)を生成する。 [ステップ18]:手続定義生成部2は手続定義式1を
入力すると、手続定義式を保持しかつ手続定義式を手続
定義アルゴリズムにより変換したメッセージを送信部2
03に出力する手続定義部2113(a)(図示しな
い)を生成する。なお、この例では手続定義部2113
(a)がインタープリタとして定義されているが、手続
定義式をコンパイルしたオブジェクトコードを手続定義
部が保持するようにしてもよい。 [手続の呼出]つぎに、定義された遠隔手続の呼出につ
いて具体的に説明する。ここでは、前記の具体例によっ
て定義された階乗の遠隔手続を呼び出す場合について説
明する。
【0076】ユーザは階乗に関する仕様を入手するた
め、ユーザ入力部102に対して”http://ho
st2/factorial”という文字列を入力し、
メッセージ生成要求を行なう。メッセージ生成部104
は前記文字列をメッセージ生成情報としてメッセージ生
成を行なう。すなわち、送信部106に対して”htt
p://host2”で表される受信部202に対し
て、factorialという名前属性と対応付けられ
た遠隔手続保持部211に対するメッセージを生成し、
送信部106入力する。送信部106は、”http:
//host2/”という文字列に対応する受信部を検
索し、受信部202を得る。送信部106は受信部20
2に対して、”GET/factorial”というメ
ッセージを送信する。前記メッセージを受信した受信部
202は、メッセージ解析部204にメッセージを入力
する。
【0077】メッセージ解析部204はメッセージを解
析し遠隔手続管理部210に対して属性”name”の
値が”factorial”である手続仕様公開部21
12(a)を検索し、仕様公開を行なうよう要求する。
遠隔手続管理部210は遠隔手続保持部211(a)
(図示しない)を検索し、遠隔手続保持部211(a)
に対して仕様公開を要求する。遠隔手続保持部211
(a)は手続仕様公開部2112(a)に対して仕様公
開を要求する。手続仕様公開部2112(a)は手続仕
様であるハイパーテキスト、
【0078】
【数7】 <HEAD> <TITLE> 階乗を計算するヘ゜ーシ゛ </TITLE> </HEAD> <H1>階乗を計算するヘ゜ーシ゛</H1> 整数またはハイハ゜ーリンクを与えられて、その階乗を返します。 <HR> <FORM METHOD="GET" ACTION="/factorial"> 引数: <INPUT NAME="arg" TYPE="entry"><P> <INPUT TYPE="submit" VALUE="Start Functional Up"> </FORM> <HR> を出力する。
【0079】遠隔手続管理部210は送信部203を通
じて前記ハイパーテキストを応答として、受信部107
に返す。ハイパーテキストを受信した受信部107は、
ハイパーテキストをハイパーテキスト解析部108に出
力する。ハイパーテキスト解析部108は、ハイパーテ
キストに従い、引数が1つであり、10進整数またはハ
イパーリンクであり、引数の階乗を結果として返すこ
と、手続実行を要求するメッセージ生成情報が”htt
p://host2/factorial”であるこ
と、をユーザに示すための表示をハイパーテキスト出力
部109に対して行なう。
【0080】ユーザはユーザ入力部102に対して引数
に対して2を割り当てることを指示する。メッセージ生
成部104は割り当て及びメッセージ生成情報から、”
http://host2”で表されるホストに対し
て、”GET/factorial?arg=2”とい
うメッセージを送信するよう送信部106に対して要求
する。送信部106は受信部202に対して、メッセー
ジ”GET/factorial?arg=2”を送信
する。
【0081】メッセージを受信した受信部202はメッ
セージ解析部204にメッセージを入力する。メッセー
ジ解析部204はメッセージを解析し、遠隔手続管理部
210に対して変数argに値”2”を与えた環境で、
属性”name”が”factorial”で表される
遠隔手続保持部211が保持する手続定義部2113
(a)の手続定義を実行するよう要求する。すなわち遠
隔手続管理部210は遠隔手続保持部211(a)を検
索し手続定義部211(a)が保持する手続定義を実行
するよう手続実行部212に要求する。
【0082】手続実行部212は手続実行環境管理部2
13に対して変数argの値として2を束縛するよう要
求する。手続実行部212はリスト変換アルゴリズムに
従い、式
【0083】
【数8】 の変換を行ない、
【0084】
【数9】http://host2/if?v1=2&v2=http%3A%2F%2Fhost2
%2Ftimes%3Fv1%3Dhttp%253A%252F%252Fhost2%252Ffacto
rial%253Farg%253Dhttp%25253A%25252F%25252Fhost2%25
252Fdec%25253Fv1%25253D2%26v2%3D2&v3=1 を得る。次に手続実行部212は前記メッセージに基づ
き、送信部203に対して”http://host
2”に対応する受信部に
【0085】
【数10】GET /if?v1=2&v2=http%3A%2F%2Fhost2%2Ftim
es%3Fv1%3Dhttp%253A%252F%252Fhost2%252Ffactorial%2
53Farg%253Dhttp%25253A%25252F%25252Fhost2%25252Fde
c%25253Fv1%25253D2%26v2%3D2&v3=1 を送信するよう要求する。送信部203は”http:
//host2”に対応する受信部である受信部202
に対して前記メッセージを送信する。
【0086】メッセージを受信した受信部202はメッ
セージ解析部204に対してメッセージを入力する。メ
ッセージ解析部204は前記メッセージを解析し、遠隔
手続管理部210に対して属性”name”の値が”i
f”である遠隔手続保持部211の手続定義を抽出する
よう要求する。
【0087】遠隔手続管理部210は遠隔手続保持部2
11(1)を検索し、手続定義部2113(1)に対し
て手続定義を出力するよう要求する。手続定義部211
−1はアルゴリズム211−1を定義する手続定義を出
力する。
【0088】遠隔手続管理部210は
【0089】
【数11】v1=2 v2=http://host2/times?v1=http%3A%2F%2Fhost2%2Ffact
orial%3Farg%3Dhttp%253A%252F%252Fhost2%252Fdec%253
Fv1%253D2&v2=2 v3=1 という環境で手続実行部212に条件分岐アルゴリズム
を実行するよう要求する。手続実行部212は条件分岐
アルゴリズム2−1を実行する。手続実行部212は、
引数v1の割当が”2”であるため引数v2の割り当て
を解析する。手続実行部212は引数v2の割当がハイ
パーリンクであるため、ハイパーリンクに相当するメッ
セージを送信するよう要求する。すなわち、”htt
p://host2”で表される受信部に対して、
【0090】
【数12】GET/ times?v1=http%3A%2F%2Fhost2%2Ffacto
rial%3Farg%3Dhttp%253A%252F%252Fhost2%252Fdec%253F
v1%253D2&v2=2 というメッセージを送信するよう送信部203に要求す
る。
【0091】送信部203は前記メッセージを、ハイパ
ーリンクに相当する受信部202に対して送信する。
【0092】前記メッセージを受信した受信部202は
メッセージをメッセージ解析部204に入力する。メッ
セージ解析部204は前記メッセージを解析し、遠隔手
続管理部210に対して属性”name”の値が”ti
mes”である遠隔手続保持部211の手続定義を抽出
するよう要求する。すなわち、遠隔手続管理部210は
遠隔手続保持部211(2)を検索し、手続定義部21
13(2)に対して手続定義を出力するよう要求する。
手続定義部2113(2)は乗算アルゴリズムを定義す
る手続定義を出力する。
【0093】遠隔手続管理部210は
【0094】
【数13】v1=http://host2/factorial?arg=http%3A%2F
%2Fhost2%2Fdec%3Fv1%3D2 v2=2 という環境で乗算アルゴリズムを実行するよう手続実行
部212に要求する。手続実行部212は乗算アルゴリ
ズムを実行する。
【0095】手続実行部212は引数v1の割り当てを
調べ、割当がハイパーリンクを含むメッセージであるこ
とから、送信部203に対してメッセージを送信するよ
う要求する。すなわち、送信部203に”http:/
/host2”で表される受信部に対して、
【0096】
【数14】GET /factorial?arg=http%3A%2F%2Fhost2%2
Fdec%3Fv1%3D2 を送信するよう要求する。
【0097】送信部203は受信部202に対して前記
メッセージを送信する。前記メッセージを受信した受信
部202はメッセージをメッセージ解析部204に入力
する。 メッセージ解析部204はメッセージを解析
し、遠隔手続管理部210に対して変数argに値”h
ttp://host2/dec?v1=2”を与えた
環境で、属性”name”が”factorial”で
表される遠隔手続保持部211が保持する手続定義部の
手続定義を実行するよう要求する。
【0098】遠隔手続管理部210は遠隔手続保持部2
11(a)を検索し手続定義部211(a)が保持する
手続定義を実行するよう手続実行部212に要求する。
手続実行部212は手続実行環境管理部213に対して
変数argの値として”http://host2/d
ec?v1=2”を束縛するよう要求する。手続実行部
212はリスト変換アルゴリズムに従い、式
【0099】
【数15】 の変換を行ない、
【0100】
【数16】http://host2/if?v1=http%3A%2F%2Fhost2%2F
dec%3Fv1%3D2&v2=http%3A%2F%2Fhost2%2Ftimes%3Fv1%3D
http%253A%252F%252Fhost2%252Ffactorial%253Farg%253
Dhttp%25253A%25252F%25252Fhost2%25252Fdec%25253Fv1
%25253Dhttp%2525253A%2525252F%2525252Fhost2%252525
2Fdec%2525253Fv1%2525253D2%26v2%3Dhttp%253A%252F%2
52Fhost2%252Fdec%253Fv1%253D2&v3=1 を得る。
【0101】次に手続実行部212は前記メッセージに
基づき、送信部203に対して”http://hos
t2”に対応する受信部に
【0102】
【数17】http://host2/if?v1=http%3A%2F%2Fhost2%2F
dec%3Fv1%3D2&v2=http%3A%2F%2Fhost2%2Ftimes%3Fv1%3D
http%253A%252F%252Fhost2%252Ffactorial%253Farg%253
Dhttp%25253A%25252F%25252Fhost2%25252Fdec%25253Fv1
%25253Dhttp%2525253A%2525252F%2525252Fhost2%252525
2Fdec%2525253Fv1%2525253D2%26v2%3Dhttp%253A%252F%2
52Fhost2%252Fdec%253Fv1%253D2&v3=1 を送信するよう要求する。
【0103】送信部203は”http://host
2”に対応する受信部である受信部202に対して前記
メッセージを送信する。メッセージを受信した受信部2
02はメッセージ解析部204に対してメッセージを入
力する。メッセージ解析部204は前記メッセージを解
析し、遠隔手続管理部210に対して属性”name”
の値が”if”である遠隔手続保持部211の手続定義
を抽出するよう要求する。
【0104】遠隔手続管理部210は遠隔手続保持部2
11(1)を検索し、手続定義部2113(1)に対し
て手続定義を出力するよう要求する。手続定義部211
3(1)は条件分岐アルゴリズムを定義する手続定義を
出力する。
【0105】遠隔手続管理部210は
【0106】
【数18】 v1=http://host2/dec?v1=2 v2=http://host2/times?v1=http%3A%2F%2Fhost2%2Ffactorial%3Farg%3D http%253A%252F%252Fhost2%252Fdec%253Fv1%253D http%25253A%25252F%25252Fhost2%25252Fdec%25253Fv1%25253D2 &v2=http%3A%2F%2Fhost2%2Fdec%3Fv1%3D2 v3=1 という環境で手続実行部212に条件分岐アルゴリズム
を実行するよう要求する。 手続実行部212は条件分
岐アルゴリズムを実行する。手続実行部212は、引数
v1の割当がハイパーリンクであるため、ハイパーリン
クに相当するメッセージを送信するよう要求する。すな
わち、”http://host2”で表される受信部
すなわち受信部202に対して、GET/dec?v1
=2というメッセージを送信するよう送信部203に要
求する。
【0107】送信部203は前記メッセージを受信部2
02に対して送信する。前記メッセージを受信した受信
部202はメッセージをメッセージ解析部204に入力
する。 メッセージ解析部204は前記メッセージを解
析し、遠隔手続管理部210に対して属性”name”
の値が”dec”である遠隔手続保持部211の手続定
義を抽出するよう要求する。
【0108】遠隔手続管理部210は遠隔手続保持部2
11(3)を検索し、手続定義部2113(3)に対し
て手続定義を出力するよう要求する。手続定義部211
3(3)はデクレメント・アルゴリズムを定義する手続
定義を出力する。
【0109】遠隔手続管理部210はv1=2という環
境でデクレメント・アルゴリズムを実行するよう手続実
行部212に要求する。手続実行部212はデクレメン
ト・アルゴリズムを実行する。
【0110】手続実行部212は2から1を減じた”
1”を結果として含むハイパーテキスト、
【0111】
【数19】 <H2>減算の結果</H2> 第1 引数: 2 <P> 結果: 1 <P> を結果として受信部202に返す。
【0112】前記応答は条件分岐アルゴリズムを実行中
の手続実行部212が受信する。手続実行部212は条
件分岐アルゴリズムに従い応答を解析し、v1の第2の
割り当て”1”を得る。手続実行部212は、v1の第
2の割当が0でないことからvの割当を調べる。v2の
割り当ては、
【0113】
【数20】 v2=http://host2/times?v1=http%3A%2F%2Fhost2%2Ffactorial%3Farg%3D http%253A%252F%252Fhost2%252Fdec%253Fv1%253D http%25253A%25252F%25252Fhost2%25252Fdec%25253Fv1%25253D2 &v2=http%3A%2F%2Fhost2%2Fdec%3Fv1%3D2 であることから、送信部203に対してメッセージを送
信するよう要求する。すなわち、送信部203に”ht
tp://host2”で表される受信部すなわち受信
部202に対して、
【0114】
【数21】 GET /times?v1=http%3A%2F%2Fhost2%2Ffactorial%3Farg%3D http%253A%252F%252Fhost2%252Fdec%253Fv1%253D http%25253A%25252F%25252Fhost2%25252Fdec%25253Fv1%25253D2 &v2=http%3A%2F%2Fhost2%2Fdec%3Fv1%3D2 を送信するよう要求する。
【0115】送信部203は前記メッセージを受信部2
02に対して送信する。メッセージ解析部204は前記
メッセージを解析し、遠隔手続管理部210に対して属
性”name”の値が”times”である遠隔手続保
持部211の手続定義を抽出するよう要求する。
【0116】遠隔手続管理部210は遠隔手続保持部2
11(2)を検索し、手続定義部2113(2)に対し
て手続定義を出力するよう要求する。手続定義部211
3(2)は乗算アルゴリズムを定義する手続定義を出力
する。
【0117】遠隔手続管理部210は
【0118】
【数22】 v1=http://host2/factorial?arg=http%3A%2F%2Fhost2%2Fdec%3Fv1%3D http%253A%252F%252Fhost2%252Fdec%253Fv1%253D2 v2=http://host2/dec?v1=2 という環境で乗算アルゴリズムを実行するよう手続実行
部212に要求する。手続実行部212は引数v1の割
り当てを調べ、割当がハイパーリンクを含むメッセージ
であることから、送信部203に対してメッセージを送
信するよう要求する。すなわち、送信部203に”ht
tp://host2”で表される受信部すなわち20
2に対して、
【0119】
【数23】 GET /factorial?arg=http%3A%2F%2Fhost2%2Fdec%3Fv1%3D http%253A%252F%252Fhost2%252Fdec%253Fv1%253D2 を送信するよう要求する。
【0120】送信部203は受信部202に対して前記
メッセージを送信する。前記メッセージを受信した受信
部202はメッセージをメッセージ解析部204に入力
する。メッセージ解析部204は前記メッセージを解析
し、遠隔手続管理部210に対して属性”name”の
値が”factorial”である遠隔手続保持部21
1の手続定義を抽出するよう要求する。
【0121】遠隔手続管理部210は遠隔手続保持部2
11(a)を検索し、手続定義部2113(a)に対し
て手続定義を出力するよう要求する。手続定義部211
3(a)は階乗アルゴリズムを定義する手続定義を出力
する。
【0122】遠隔手続管理部210は、
【0123】
【数24】arg=http://host2/dec?v1=http%3A%2F%2Fhos
t2%2Fdec%3Fv1%3D2 という環境で、リスト変換アルゴリズムに従い、式
【0124】
【数25】 の変換を行ない、
【0125】
【数26】http://host2/if?v1=http%3A%2F%2Fhost2%2F
dec%3Fv1%3Dhttp%253A%252F%252Fhost2%252Fdec%253Fv1
%253D2&v2=http%3A%2F%2Fhost2%2Ftimes%3Fv1%3Dhttp%2
53A%252F%252Fhost2%252Ffactorial%253Farg%253Dhttp%
25253A%25252F%25252Fhost2%25252Fdec%25253Fv1%25253
Dhttp%2525253A%2525252F%2525252Fhost2%2525252Fdec%
2525253Fv1%2525253Dhttp%252525253A%252525252F%2525
25252Fhost2%252525252Fdec%252525253Fv1%252525253D2
%26v2%3Dhttp%253A%252F%252Fhost2%252Fdec%253Fv1%25
3Dhttp%25253A%25252F%25252Fhost2%25252Fdec%25253Fv
1%25253D2&v3=1 を得る。
【0126】次に手続実行部212は前記メッセージに
基づき、送信部203に対して”http://hos
t2”に対応する受信部すなわち受信部202に
【0127】
【数27】GET /if?v1=http%3A%2F%2Fhost2%2Fdec%3Fv
1%3Dhttp%253A%252F%252Fhost2%252Fdec%253Fv1%253D2&
v2=http%3A%2F%2Fhost2%2Ftimes%3Fv1%3Dhttp%253A%252
F%252Fhost2%252Ffactorial%253Farg%253Dhttp%25253A%
25252F%25252Fhost2%25252Fdec%25253Fv1%25253Dhttp%2
525253A%2525252F%2525252Fhost2%2525252Fdec%2525253
Fv1%2525253Dhttp%252525253A%252525252F%252525252Fh
ost2%252525252Fdec%252525253Fv1%252525253D2%26v2%3
Dhttp%253A%252F%252Fhost2%252Fdec%253Fv1%253Dhttp%
25253A%25252F%25252Fhost2%25252Fdec%25253Fv1%25253
D2&v3=1 を送信するよう要求する。
【0128】送信部203は”http://host
2”に対応する受信部である受信部202に対して前記
メッセージを送信する。メッセージを受信した受信部2
02はメッセージ解析部204に対してメッセージを入
力する。メッセージ解析部204は前記メッセージを解
析し、遠隔手続管理部210に対して属性”name”
の値が”if”である遠隔手続保持部211の手続定義
を抽出するよう要求する。
【0129】遠隔手続管理部210は遠隔手続保持部2
11(1)を検索し、手続定義部2113(1)に対し
て手続定義を出力するよう要求する。手続定義部211
3(1)は条件分岐アルゴリズムを定義する手続定義を
出力する。
【0130】遠隔手続管理部210は
【0131】
【数28】v1=http://host2/dec?v1=http%3A%2F%2Fhost
2%2Fdec%3Fv1%3D2 v2=http://host2/times?v1=http%3A%2F%2Fhost2%2Ffact
orial%3Farg%3D http%253A%252F%252Fhost2%252Fdec
%253Fv1%253Dhttp%25253A%25252F%25252Fhost2%25252Fd
ec%25253Fv1%25253Dhttp%2525253A%2525252F%2525252Fh
ost2%2525252Fdec%2525253Fv1%2525253D2&v2=http%3A%2
F%2Fhost2%2Fdec%3Fv1%3Dhttp%253A%252F%252Fhost2%25
2Fdec%253Fv1%253D2 v3=1 という環境で手続実行部212に条件分岐アルゴリズム
を実行するよう要求する。手続実行部212は条件分岐
アルゴリズムを実行する。簡単のため詳細は省略する
が、v1の割当として”0”を得る。手続実行部2はア
ルゴリズム2−1に従い、
【0132】
【数29】 <H2>条件判断の結果</H2> 条件: http://host2/dec?v1=http%3A%2F%2Fhost2%2Fdec%3Fv1%3D2<P> 成立時: http://host2/times?v1=http%3A%2F%2Fhost2%2Ffactorial%3Farg%3D http%253A%252F%252Fhost2%252Fdec%253Fv1%253D http%25253A%25252F%25252Fhost2%25252Fdec%25253Fv1%25253D http%2525253A%2525252F%2525252Fhost2%2525252Fdec%2525253F v1%2525253D2&v2=http%3A%2F%2Fhost2%2Fdec%3Fv1%3D http%253A%252F%252Fhost2%252Fdec%253Fv1%253D2 <P> 不成立時: 1<P> 結果: 1 を出力する。
【0133】手続実行部212は前記ハイパーテキスト
を送信部203、受信部202を通じて乗算アルゴリズ
ムを実行中の手続実行部212に応答として返す。手続
実行部2は応答を解析し、v1の第2の割当として、1
を得る。次に、v2の第2の割当を得るため、v2の第
1の割当である”http://host2/dec?
v1=2”に基づき送信部203に対してメッセージを
送信する。簡単のため動作の詳細は省略するが手続実行
部212はv2の第2の割当として、整数1を得る。
【0134】手続実行部212は乗算アルゴリズムに従
い、結果として、整数2を得る。
【0135】手続実行部212は、
【0136】
【数30】 <H2>乗算の結果</H2> 第1引数:http://host2/factorial?arg=http%3A%2F%2Fhost2%2Fdec%3Fv1%3D http%253A%252F%252Fhost2%252Fdec%253Fv1%253D2 <P> 第2 引数: http://host2/dec?v1=2 <P> 結果: 1 を出力する。
【0137】手続実行部212は前記ハイパーテキスト
を送信部203、受信部202を通じて乗算アルゴリズ
ムを実行中の手続実行部212に応答として返す。手続
実行部212は応答を解析しv1の第1の割り当て”h
ttp://host2/factorial?arg
=httpv1の第2の割当として整数1を得る。
【0138】手続実行部212は乗算アルゴリズムに従
い、v1の割当とv2の割当の積を計算し、結果として
整数2を得る。
【0139】手続実行部212は、
【0140】
【数31】 <H2>乗算の結果</H2> 第1引数: http://host2/factorial?arg=http%3A%2F%2Fhost2%2Fdec%3Fv1%3D2 <P> 第2 引数: 2 <P> 結果: 2 を出力する。
【0141】手続実行部212は前記ハイパーテキスト
を送信部203、受信部202を通じて条件分岐アルゴ
リズムを実行中の手続実行部2に応答として返す。手続
実行部212は
【0142】
【数32】 <H2> 呼出式 </H2> http://host2/if?v1=2&v2=http%3A%2F%2Fhost2%2Ftimes%3Fv1%3Dhttp%253A%252F %252Fhost2%252Ffactorial%253Farg%253Dhttp%25253A%25252F%25252Fhost2%2525 2Fdec%25253Fv1%25253D2%26v2%3D2&v3=1 <H2>乗算の結果</H2> 第1 引数: http://host2/factorial?arg=http%3A%2F%2Fhost2%2Fdec%3Fv1%3D2 <P> 第2 引数: 2 <P> 結果: 2 を出力する。前記ハイパーテキストは送信部203から
応答として受信部107に送信される。受信部107は
受信した前記ハイパーテキストをハイパーテキスト解析
部108に出力する。ハイパーテキスト解析部108は
前記ハイパーテキストを解析し、解析結果に基づき、ハ
イパーテキスト出力部109に文字を表示するよう要求
する。
【0143】以上で実施例1の説明を終える。[実施例
2]本実施例も、実施例1と同様に、はハイパーテキス
トを用いてインタフェースが公開されている複数の遠隔
手続をハイパーテキストとして組み合わせることにより
遠隔手続を定義するものである。図3は実施例2の構成
を示すものであり、この図において、実施例2は遠隔手
続クライアント部100で手続の実行を行い、遠隔手続
サーバ部200では手続の実行を行わない点で実施例1
と異なっている。すなわち遠隔手続クライアント部10
0に手続実行部110及び手続実行環境管理部111が
設けられている。手続実行部110はメッセージ解析部
204によって入力される引数リストに従い、手続を実
行する。手続の実行の過程で手続保持部に対して手続実
行を要求する必要が発生した場合は、メッセージ解析部
204を通じてメッセージ送信を行なう。図2におい
て、実施例2の他の構成は実施例1と同様であるので、
対応する箇所に対応する符号を付して詳細な説明を省略
する。つぎにページを検索する手続及び子ページを検索
する手続を合成する場合について説明する。
【0144】[手続の保持]この例でも、特に断らない
限り便宜的に全ての手続定義部はv1、v2、v3とい
う名前の引数を持つとする。また、遠隔手続サーバ部2
における属性”name”の属性値が”fname”で
あるような属性保持部を持つ手続保持部が、引数v1、
v2を持ち、引数v1に値a1、引数v2に値a2を割
り当てる場合のメッセージを、http://host
2/fname?v1=a1&v2=a2&と表記する
こととする。
【0145】まず、リファレンス抽出手続に関する情報
を保持する遠隔手続保持部211(4)について説明す
る。遠隔手続保持部211(4)の属性保持部2111
(4)は、属性”name”の値が”/childre
n”であるとして属性を保持している。
【0146】手続仕様公開部2112(4)は、
【0147】
【数33】 <HEAD> <TITLE> リファレンスを抽出するヘ゜ーシ゛ </TITLE> </HEAD> <H1> リファレンスを抽出するヘ゜ーシ゛ </H1>ヘ゜ーシ゛ に含まれるリファレンスを抽出しリストとして抽出するヘ゜ーシ゛です。<P> <HR> <FORM METHOD="GET" ACTION="http://host2/children">ヘ゜ーシ゛ のURL: <INPUT NAME="v1" TYPE="entry"><P> <INPUT TYPE="submit" VALUE="Start Function"> </FORM> を保持している。手続定義部2113(4)は手続実行
部110が以下のリファレンス抽出アルゴリズムに従う
ような手続定義を保持している。
【0148】[ステップ1]:発見したリファレンスの
個数を保持する変数countを0に設定する。 [ステップ2]:v1の割当を送信部2に出力し、応答
を受信部2から入力する。該応答を応答1とする。 [ステップ3]:ヘッダ情報を出力する。 [ステップ4]:応答1を解析し、リファレンスの開始
マークが出現するまで文字を読み進む。リファレンスの
開始マークが出現したら、次のステップへ進む。応答1
の最後まで解析したらステップ7へ進む。 [ステップ5]:リストの分離記号を出力する。 [ステップ6]:リファレンスの開始マークから、リフ
ァレンスの修了マークまでを出力する。count変数
の値を1増やしてステップ4へ進む。 [ステップ7]:count変数の値が0の場合は0を
出力する。 [ステップ8]:フッタ情報を出力する。
【0149】つぎにページのタイトルを調べる手続に関
する情報を保持する遠隔手続保持部211(5)につい
て説明する。遠隔手続保持部211(5)の属性保持部
2111(5)は、属性”name”の値が”/tit
le−is”であるとして属性を保持している。
【0150】手続仕様公開部2112(5)は、つぎの
ハイパーテキスト
【0151】
【数34】 <HEAD> <TITLE> タイトルを調べるヘ゜ーシ゛ </TITLE> </HEAD> <H1> タイトルを調べるヘ゜ーシ゛ </H1>ヘ゜ーシ゛ のタイトルが引数と同じかどうか調べるヘ゜ーシ゛です。<P> <HR> <FORM METHOD="GET" ACTION="http://host2/title-is">ヘ゜ーシ゛ のURL: <INPUT NAME="v1" TYPE="entry"><P>タイトル : <INPUT NAME="v2" TYPE="entry"><P> <INPUT TYPE="submit" VALUE="Start Function"> </FORM> を保持している。
【0152】手続定義部2113(5)は手続実行部1
10が以下のタイトル検査アルゴリズムに従うような手
続定義を保持している。
【0153】[ステップ1]:v1の割当を送信部2に
出力し、応答を受信部2から入力する。該応答を応答1
とする。 [ステップ2]:ヘッダ情報を出力する。 [ステップ3]:応答1を解析し、タイトルの開始マー
クが出現するまで文字を読み進む。 [ステップ4]:タイトルの開始マークの最後とタイト
ルの終了マークの先頭で囲まれた文字列をタイトルとし
て抽出する。 [ステップ5]:タイトルとv2の割当の文字列を比較
する。 [ステップ6]:比較の結果一致した場合はタイトルを
一致しなかった場合は0を出力する。
【0154】つぎにページに含まれる最初のリファレン
スをロードする手続に関する情報を保持する遠隔手続保
持部211(6)について説明する。遠隔手続保持部2
11(6)の属性保持部2111(6)は、属性”na
me”の値が”first”であるとして属性を保持し
ている。
【0155】手続仕様公開部2112(6)は、つぎの
ハイパーテキスト
【0156】
【数35】 <HEAD> <TITLE> ヘ゜ーシ゛に含まれる第1 リファレンスをロート゛するヘ゜ーシ゛ </TITLE> </HEAD> <H1> ヘ゜ーシ゛に含まれる第1 リファレンスをロート゛するヘ゜ーシ゛ </H1> 指定されたヘ゜ーシ゛に含まれる第1 リファレンスをロート゛します。<P> <HR> <FORM METHOD="GET" ACTION="http://host2/first">ヘ゜ーシ゛ のURL: <INPUT NAME="v1" TYPE="entry"><P> <INPUT TYPE="submit" VALUE="Start Function"> </FORM> を保持している。
【0157】手続定義部2113(6)は手続実行部1
10が以下のアルゴリズムに従うような手続定義を保持
している。
【0158】[ステップ1]:v1の割当を送信部2に
出力し、応答を受信部2から入力する。該応答を応答1
とする。 [ステップ2]:該応答を先頭から解析し、最初に見つ
かったリファレンスをリファレンス1とする。 [ステップ3]:リファレンス1を送信部2に出力し、
応答を受信部2から入力する。該応答を応答2とする。 [ステップ4]:応答2を送信部2から応答として出力
する。
【0159】つぎにページに含まれる第2番目以降のリ
ファレンスを抽出する手続に関する情報を保持する遠隔
手続保持部211(7)について説明する。遠隔手続保
持部211(7)の属性保持部2111(7)は、属
性”name”の値が”/restであるとして属性を
保持している。
【0160】手続仕様公開部2112(7)は、つぎの
ハイパーテキスト
【0161】
【数36】 <HEAD> <TITLE> リストの第2 要素以降を抽出するヘ゜ーシ゛ </TITLE> </HEAD> <H1> リストの第2 要素以降を抽出するヘ゜ーシ゛ </H1>ヘ゜ーシ゛ に含まれるリストの第2 要素以降をリストとして抽出するヘ゜ーシ゛です。 <P>リスト の第2 要素以降が存在しない場合は 0 を出力します。 <HR> <FORM METHOD="GET" ACTION="http://host2/rest">ヘ゜ーシ゛ のURL: <INPUT NAME="v1" TYPE="entry"><P> <INPUT TYPE="submit" VALUE="Start Function"> </FORM> を保持している。
【0162】手続定義部2113(7)は手続実行部1
10が以下のアルゴリズムに従うような手続定義を保持
している。
【0163】[ステップ1]:発見したリファレンスの
個数を保持する変数countを0に設定する。 [ステップ2]:v1の割当を送信部2に出力し、応答
を受信部2から入力する。該応答を応答1とする。 [ステップ3]:ヘッダ情報を出力する。 [ステップ4]:応答1を解析し、リファレンスの開始
マークが出現するまで文字を読み進む。リファレンスの
開始マークが出現したら、次のステップへ。応答1の最
後まで解析したらステップ7へ進む。 [ステップ5]:countが0ならばcountを1
増やしてステップ4へ進み、そうでなければリストの分
離記号を出力し、次のステップへ進む。 [ステップ6]:リファレンスの開始マークから、リフ
ァレンスの修了マークまでを出力する。count変数
の値を1増やしてステップ4へ進む。 [ステップ7]:count変数の値が0または1の場
合は0を出力する。 [ステップ8]:フッタ情報を出力する。
【0164】[手続の定義]次に新たに手続を定義する
操作について具体例について説明する。以下に、階乗を
計算する遠隔手続を定義する場合のユーザ入力、遠隔手
続クライアント部100の動作及び遠隔手続サーバ部2
00の動作について説明する。
【0165】[ステップ1]:ユーザは遠隔手続サーバ
部200に対して遠隔手続の定義を要求するため、ユー
ザ入力部102に対して、”http://host2
/define” という文字列で表されるURLを入
力する。 [ステップ2]:メッセージ生成部104は送信部10
6に対して”host2”で表される受信部202に対
して、”GET/define”というメッセージを送
信するよう要求する。 [ステップ3]:送信部106は受信部202に対して
前記メッセージを送信する。 [ステップ4]:受信部202は受信したメッセージを
メッセージ解析部204に入力する。 [ステップ5]:メッセージ解析部204はメッセージ
を解析し、メッセージが定義用ハイパーテキスト出力要
求であることから定義用ハイパーテキスト出力部209
に対して、ハイパーテキストを出力するよう要求する。 [ステップ6]:定義用ハイパーテキスト出力部209
はハイパーテキスト
【0166】
【数37】 <HEAD> <TITLE> 遠隔手続を定義するヘ゜ーシ゛ </TITLE> </HEAD> <H1>遠隔手続を定義するヘ゜ーシ゛</H1> <HR> <FORM METHOD="POST" ACTION="/define"> 属性の指定: <INPUT NAME="attribute" TYPE="entry"><P> 手続仕様の指定: <INPUT NAME="spec" TYPE="entry"><P> 手続定義の指定: <INPUT NAME="definition" TYPE="entry"><P> <INPUT TYPE="submit" VALUE="定義実行"> </FORM> <HR> を送信部203に出力する。 [ステップ7]:送信部203はハイパーテキストを受
信部107に出力する。 [ステップ8]:受信部107は入力されたハイパーテ
キストを解析し、ハイパーテキスト出力部109にハイ
パーテキストを表示するよう要求する。 [ステップ9]:ハイパーテキスト出力部109はハイ
パーテキストをユーザに表示する。 [ステップ10]:ユーザは表示されたハイパーテキス
トに従い、属性として、”name=find”、手続
仕様として、
【0167】
【数38】 <HEAD> <TITLE> ヘ゜ーシ゛を検索するヘ゜ーシ゛ </TITLE> </HEAD> <H1>ヘ゜ーシ゛を検索するヘ゜ーシ゛</H1> ハイハ゜ーリンクとタイトルを与えて、タイトルを持つヘ゜ーシ゛を発見するまでリ ンクを辿ります。 <HR> <FORM METHOD="GET" ACTION="/find"> 開始ヘ゜ーシ゛: <INPUT NAME="url" TYPE="entry"><P> タイトル: <INPUT NAME="title" TYPE="entry"><P> <INPUT TYPE="submit" VALUE="Start Functional Up"> </FORM> <HR> を入力する。 [ステップ11]:.次にユーザは、以下のような手順
で手続定義を入力する。 [サブステップa]:ユーザは条件分岐の手続仕様を入
手するため、キーボードから”http://host
2/if”を入力する。 [サブステップb]:メッセージ生成部104は送信部
106に対して、”http://host2”で表さ
れる受信部202に対して、”GET/if”というメ
ッセージを送信するよう要求する。 [サブステップc]:送信部106は受信部202に対
して上記メッセージを送信する。 [サブステップd]:受信部202はメッセージをメッ
セージ解析部204に出力する。 [サブステップe]:メッセージ解析部204はメッセ
ージを解析し、メッセージが手続仕様公開要求であるこ
とから、遠隔手続管理部210に対して、属性が”i
f”である遠隔手続保持部を検索し、検索された遠隔手
続保持部に対して手続仕様を公開するよう要求する。 [サブステップf]:遠隔手続管理部210は、遠隔手
続保持部の中から属性が”if”である遠隔手続保持部
211(1)を検索し、手続仕様を公開するよう要求す
る。 [サブステップg]:遠隔手続保持部211(1)は手
続仕様公開部2112(1)に対して仕様を公開するよ
う要求する。 [サブステップh]:手続仕様公開部2112(1)
は、仕様公開要求に対して、手続定義部2113(1)
が保持する手続定義に関する仕様をハイパーテキストと
して出力する。 [サブステップi]:遠隔手続管理部210はハイパー
テキストを送信部202を通じて受信部107へ応答と
して返す。 [サブステップj]:受信部107はハイパーテキスト
をハイパーテキスト解析部108に入力する。 [サブステップk]:ハイパーテキスト解析部108は
入力されたハイパーテキストを解析し、ハイパーテキス
ト出力部109に対して出力要求を行なうともにメッセ
ージ生成部104に対してメッセージ生成情報を出力す
る。 [サブステップl]:ユーザは出力されたハイパーテキ
ストに従い、条件が成立した時の項目に”url”を指
定する。次に条件の式を入力するため、タイトルを調べ
る手続の仕様を入手する。この時点で、メッセージ保持
部105は
【0168】
【数39】 (http://host2/if v1= v2=url v3= ) というメッセージを保持している。 [サブステップm]:タイトルを調べる手続の仕様を入
手するため、キーボードから”http://host
2/title−is”を入力する。 [サブステップn]:メッセージ生成部104、送信部
106を通してメッセージが送信され、仕様公開部21
12(5)からハイパーテキストを応答として受信す
る。 [サブステップo]:受信部107はハイパーテキスト
をハイパーテキスト解析部108に入力する。 [サブステップp]:ハイパーテキスト解析部108は
入力されたハイパーテキストを解析し、ハイパーテキス
ト出力部109に対して出力要求を行なうともにメッセ
ージ生成部104に対してメッセージ生成情報を出力す
る。 [サブステップq]:ユーザは出力されたハイパーテキ
ストに従い、第1引数にurlを指定し、第2引数にt
itleを指定する。 [サブステップr]:次にユーザは前述の手続ifの第
3引数を指定するが、この時仕様が未定義の”find
−sub”という手続を指定するため直接呼び出し式を
キーボードから
【0169】
【数40】http://host2/find-sub urls=(http://host
2/children v1=url) title=tile と入力する。[ステップ12]:最終的にユーザによっ
て作成された手続定義は以下のようである(図4の上
段)。
【0170】
【数41】 [ステップ13]:ユーザは”定義実行”と記述された
箇所をマウスでクリックすることにより上記のハイパー
テキストを含む手続定義要求メッセージがメッセージ生
成部104から送信部106に対して出力される。 [ステップ14]:受信部202は手続定義要求メッセ
ージを受信すると手続定義要求メッセージをメッセージ
解析部204へ出力する。 [ステップ15]:メッセージ解析部204は入力した
手続定義要求メッセージを解析し、属性定義式、手続仕
様定義式、手続定義式を抽出し、該属性定義式を属性生
成部206に、該手続仕様定義式を手続仕様生成部20
7に、該手続定義式を手続定義生成部208に入力す
る。 [ステップ16]:属性生成部206は属性定義式”n
ame=find”を入力すると、該定義式を解析
し、”name”の属性として、”find”を保持す
る属性保持部2111(a)を生成する。 [ステップ17]:手続仕様生成部2は手続仕様定義式
を入力すると、手続仕様定義式を保持する手続仕様公開
部2112(a)を生成する。 [ステップ18]:手続定義生成部2は手続定義式を入
力すると、手続定義式を保持し、手続定義式をリスト変
換アルゴリズムにより変換したメッセージを送信部20
3に出力する手続定義部2113(a)を生成する。
【0171】次にユーザは上記の手続findと同様の
方法で、遠隔手続保持部211(b)を生成する。遠隔
手続保持部211(b)の遠隔手続公開部2112
(b)は、以下のハイパーテキスト
【0172】
【数42】 <HEAD> <TITLE> 子ヘ゜ーシ゛を検索するヘ゜ーシ゛ </TITLE> </HEAD> <H1>子ヘ゜ーシ゛を検索するヘ゜ーシ゛</H1>ハイハ゜ーリンク とタイトルを与えて、タイトルを持つ子ヘ゜ーシ゛を発見するまでリンク を辿ります。 <HR> <FORM METHOD="GET" ACTION="/find-sub"> 開始ヘ゜ーシ゛: <INPUT NAME="urls" TYPE="entry"><P>タイトル : <INPUT NAME="title" TYPE="entry"><P> <INPUT TYPE="submit" VALUE="Start Functional Up"> </FORM> <HR> を保持し、手続定義部2113(b)は以下の式
【0173】
【数43】 を保持する(図4の下段)。
【0174】[手続の呼出]次に、具体例を用いて定義
された遠隔手続を呼び出す場合の動作の一例を説明す
る。ここでは、前記の具体例によって定義されたページ
の検索の遠隔手続を呼び出す例について説明する。
【0175】ユーザは検索に関する仕様を入手するた
め、ユーザ入力部102に対して”http://ho
st2/find”という文字列を入力し、メッセージ
生成要求を行なう。
【0176】メッセージ生成部104は前記文字列をメ
ッセージ生成情報としてメッセージ生成を行なう。すな
わち、送信部106に対して”http://host
2”で表される受信部に対して、findという名前属
性と対応付けられた遠隔手続保持部に対するメッセージ
を生成し、送信部106に入力する。送信部1は、”h
ttp://host2/”という文字列に対応する受
信部を検索し、受信部202を得る。送信部106は受
信部202に対して、”GET/find”というメッ
セージを送信する。
【0177】前記メッセージを受信した受信部202
は、メッセージ解析部204にメッセージを入力する。
メッセージ解析部204はメッセージを解析し遠隔手続
管理部210に対して属性”name”の値が”fin
dである手続仕様保持部を検索し、仕様公開を行なうよ
う要求する。
【0178】遠隔手続管理部210は遠隔手続保持部2
11(a)を検索し、遠隔手続保持部211(a)に対
して仕様公開を要求する。遠隔手続保持部211(a)
は手続仕様公開部2112(a)に対して仕様公開を要
求する。手続仕様公開部2112(a)は手続仕様であ
るハイパーテキストを出力する。遠隔手続管理部210
は送信部203を通じて前記ハイパーテキストを応答と
して、受信部107に返す。
【0179】ハイパーテキストを受信した受信部107
は、ハイパーテキストをハイパーテキスト解析部108
に出力する。ハイパーテキスト解析部108は、ハイパ
ーテキストに従い、手続実行を要求するメッセージ生成
情報が”http://host2/find”である
ことをユーザに示すための表示をハイパーテキスト出力
部109に対して行なう。ユーザはユーザ入力部102
に対して引数に対して“http://host3/a
aa”及びcccを割り当てることを指示する。メッセ
ージ生成部104は割り当て及びメッセージ生成情報か
ら、”http://host2”で表されるホストに
対して、GET/find?url=(http://
host3/aaa)&title=cccいうメッセ
ージを送信するよう送信部106に対して要求する。送
信部106は受信部202に対して、メッセージGET
/find?url=(http://host3/a
aa)&title=cccを送信する。メッセージを
受信した受信部202はメッセージ解析部204にメッ
セージを入力する。メッセージ解析部204はメッセー
ジを解析し、属性”name”が”findで表される
遠隔手続保持部が保持する手続定義部の手続定義を抽出
し、受信部107に対して変数urlの値としてhtt
p://host3/aaaを、変数titleの値と
してcccを与えて、手続定義部211(a)が保持す
る手続定義を実行するよう手続実行部110に要求す
る。手続実行部110は先のリスト変換アルゴリズムに
従い、式
【0180】
【数44】 の変換を行ない、
【0181】
【数45】 を得る(この例では表記をわかりやすくした)。
【0182】次に手続実行部110は前記メッセージに
基づき、送信部106に対して”http://hos
t2”に対応する受信部に
【0183】
【数46】 を送信するよう要求する。送信部106は”http:
//host2”に対応する受信部である受信部202
に対して前記メッセージを送信する。メッセージを受信
した受信部202はメッセージ解析部204に対してメ
ッセージを入力する。メッセージ解析部204は前記メ
ッセージを解析し、遠隔手続管理部210に対して属
性”name”の値が”if”である遠隔手続保持部の
手続定義を抽出するよう要求する。
【0184】遠隔手続管理部210は遠隔手続保持部2
11(1)を検索し、手続定義部2113(1)に対し
て手続定義を出力するよう要求する。手続定義部211
3(1)は条件分岐アルゴリズムを定義する手続定義を
出力する。
【0185】遠隔手続管理部210は送信部203から
メッセージを送信し、
【0186】
【数47】 という環境で手続実行部110に条件分岐アルゴリズム
を実行するよう要求する。
【0187】手続実行部110は条件分岐アルゴリズム
を実行する。手続実行部110は、引数v1の割当がと
いうハイパーリンクであるため、ハイパーリンクに相当
するメッセージを送信するよう要求する。すなわち、”
http://host2”で表される受信部に対し
て、
【0188】
【数48】 というメッセージを送信するよう送信部106に要求す
る。送信部106は前記メッセージを受信部202に対
して送信する。前記メッセージを受信した受信部202
はメッセージをメッセージ解析部204に入力する。メ
ッセージ解析部204は前記メッセージを解析し、遠隔
手続管理部210に対して属性”name”の値が”t
itle−is”である遠隔手続保持部の手続定義を抽
出するよう要求する。
【0189】遠隔手続管理部210は遠隔手続保持部2
11(5)を検索し、手続定義部2113(5)に対し
て手続定義を出力するよう要求する。手続定義部211
(5)は当該タイトル抽出アルゴリズムを定義する手続
定義を出力する。
【0190】遠隔手続管理部2は
【0191】
【数49】v1=http://host3/aaa v2=ccc という環境で前記アルゴリズムを実行するよう手続実行
部110に要求する。手続実行部110はこのアルゴリ
ズムを実行する。
【0192】手続実行部110は引数v1の割り当てを
調べ、割当がハイパーリンクを含むメッセージであるこ
とから、送信部106に対してメッセージを送信するよ
う要求する。すなわち、送信部106に”http:/
/host3”で表される受信部に対して、GET/a
aaを送信するよう要求する。http://host
3で表される受信部はメッセージを解析し、応答とし
て、
【0193】
【数50】 を受信部107に出力する。
【0194】手続実行部110は前記のアルゴリズムに
従いタイトルbbbを抽出し、タイトルがcccと等し
くないことから、0を応答として返す。
【0195】前記応答を受信した手続実行部110は条
件分岐アルゴリズムに従い引数v3の割当を調べ、
【0196】
【数51】 というハイパーリンクであることから、前記ハイパーリ
ンクに対応するメッセージを送信部106から送信す
る。
【0197】
【数52】 送信部106は受信部202に対して前記メッセージを
送信する。前記メッセージを受信した受信部202はメ
ッセージをメッセージ解析部204に入力する。 メッ
セージ解析部204はメッセージを解析し、遠隔手続管
理部210に対して
【0198】
【数53】 という環境で属性”name”が”find−sub”
である遠隔手続保持部が保持する手続定義部の手続定義
を実行するよう要求する。遠隔手続管理部210は遠隔
手続保持部211(b)を検索し手続定義部2113
(b)が保持する手続定義を実行するよう手続実行部1
10に要求する。
【0199】手続実行部110はリスト変換アルゴリズ
ムに従い、式
【0200】
【数54】 の変換を行ない、
【0201】
【数55】 を得る。次に手続実行部110は前記メッセージに基づ
き、送信部106に対して”http://host
2”に対応する受信部に
【0202】
【数56】 を送信するよう要求する。
【0203】送信部106は”http://host
2”に対応する受信部である受信部202に対して前記
メッセージを送信する。メッセージを受信した受信部2
02はメッセージ解析部204に対してメッセージを入
力する。メッセージ解析部204は前記メッセージを解
析し、遠隔手続管理部210に対して属性”name”
の値が”if”である遠隔手続保持部の手続定義を抽出
するよう要求する。遠隔手続管理部210は遠隔手続保
持部211(1)を検索し、手続定義部2113(1)
に対して手続定義を出力するよう要求する。手続定義部
2113(1)は条件分岐アルゴリズムを定義する手続
定義を出力する。
【0204】遠隔手続管理部210は
【0205】
【数57】 という環境で手続実行部110に条件分岐アルゴリズム
を実行するよう要求する。手続実行部110は条件分岐
アルゴリズムを実行する。手続実行部110は、引数v
1の割当がハイパーリンクであるため、ハイパーリンク
に相当するメッセージを送信するよう要求する。すなわ
ち、”http://host2”で表される受信部に
対して、GET/children?v1=(htt
p://host3/aaa)というメッセージを送信
するよう送信部106に要求する。送信部106は前記
メッセージを受信部202に対して送信する。
【0206】前記メッセージを受信した受信部202は
メッセージをメッセージ解析部204に入力する。メッ
セージ解析部204は前記メッセージを解析し、遠隔手
続管理部210に対して属性”name”の値が”ch
ildren”である遠隔手続保持部の手続定義を抽出
するよう要求する。遠隔手続管理部210は遠隔手続保
持部211(4)を検索し、手続定義部2113(4)
に対して手続定義を出力するよう要求する。手続定義部
2113(4)はリファレンス抽出アルゴリズムを定義
する手続定義を出力する。
【0207】遠隔手続管理部210はv1=(htt
p://host3/aaa)という環境でリファレン
ス抽出アルゴリズムを実行するよう手続実行部110に
要求する。手続実行部110はこのアルゴリズムを実行
し、
【0208】
【数58】 <UL> <LI> <A HREF="http://host3/bbb"> リファレンス1 </A> <LI> <A HREF="http://host3/ccc"> リファレンス2 </A> <LI> <A HREF="http://host3/ddd"> リファレンス3 </A> </UL> を結果として受信部202に返す。前記応答は条件分岐
アルゴリズムを実行中の手続実行部110が受信する。
手続実行部110は条件分岐アルゴリズムに従い応答を
解析し、v1の第2の割り当てを得る。手続実行部11
0は、v1の第2の割当が0でないことからv2の割当
を調べる。v2の割り当ては、
【0209】
【数59】 であることから、送信部106に対してメッセージを送
信するよう要求する。すなわち、送信部107に”ht
tp://host2”で表される受信部に対して、
【0210】
【数60】 を送信するよう要求する。送信部106は前記メッセー
ジを受信部202に対して送信する。メッセージ解析部
204は前記メッセージを解析し、遠隔手続管理部21
0に対して属性”name”の値が”if”である遠隔
手続保持部の手続定義を抽出するよう要求する。
【0211】遠隔手続管理部210は遠隔手続保持部2
11(1)を検索し、手続定義部2113(1)に対し
て手続定義を出力するよう要求する。手続定義部211
3(1)は条件分岐アルゴリズムを定義する手続定義を
出力する。
【0212】遠隔手続管理部210は
【0213】
【数61】 という環境で条件分岐アルゴリズムを実行するよう手続
実行部110に要求する。 手続実行部110は引数v
1の割り当てを調べ、割当がハイパーリンクを含むメッ
セージであることから、送信部106に対してメッセー
ジを送信するよう要求する。すなわち、送信部106
に”http://host2”で表される受信部に対
して、
【0214】
【数62】 を送信するよう要求する。
【0215】送信部106は受信部202に対して前記
メッセージを送信する。前記メッセージを受信した受信
部202はメッセージをメッセージ解析部204に入力
する。 メッセージ解析部2は前記メッセージを解析
し、遠隔手続管理部210に対して属性”name”の
値が”find”である遠隔手続保持部の手続定義を抽
出するよう要求する。
【0216】遠隔手続管理部210は遠隔手続保持部2
11(a)を検索し、手続定義部2113(a)に対し
て手続定義を出力するよう要求する。遠隔手続管理部2
10は、
【0217】
【数63】 を得る。
【0218】簡単のため詳細は省略するが、手続実行部
110は条件分岐アルゴリズムに従い、v1の第1の割
当からv1の第2の割当を求め、http://hos
t3/aaaのページに含まれる第1のリファレンスの
ページのタイトルがcccでないことから、v3の第1
の割当からv3の第2の割当を求める。
【0219】詳細はため詳細は省略するが、手続実行部
110は子ベージ検索アルゴリズムに従い、条件分岐ア
ルゴリズムを実行し、http://host3/bb
bで表されるページにリファレンスが含まれないことか
ら、v1の第2の割当を0とし、0を返す。
【0220】応答は条件分岐アルゴリズムを実行中の手
続実行部110に返され、以下のv3の第1の割当から
v3の第2の割当を求める。
【0221】
【数64】 リスト変換アルゴリズム に従い、
【0222】
【数65】 http://host2/if? v1=(http://host2/rest? v1=(http://host2/children? v1=(http://host3/aaa) ) )& v2=(http://host2/if? v1=(http://host2/find? url=(http://host2/first? v1=(http://host2/rest? v1=(http://host2/children? v1=(http://host3/aaa) ) ) )& title=(ccc) ) )& v2=(http://host2/find? url=(http://host2/first? v1=(http://host2/rest? v1=(http://host2/children? v1=(http://host3/aaa) ) ) )& title=(ccc) ) )& v3=(http://host2/find-sub? urls=(http://host2/rest? v1=(http://host2/rest? v1=(http://host2/children? v1=(http://host3/aaa) ) ) )& title=(ccc) ) ) v3=0 を実行する。簡単のため詳細は省略するが、v1の第2
の割当が0でないので、v2の第2の割当を得るためメ
ッセージを送信部106から送信する。簡単のため詳細
は省略するが、http://host3/aaaに含
まれる第2のリファレンスのタイトルが、cccである
ため、ページの内容を最終的な応答として、送信部10
6から受信部107へ送信する。以上で実施例2の説明
を終える。
【0223】[実施例3]図5はこの発明の実施例3を
示す。この実施例においては遠隔手続クライアント部1
00及び遠隔手続サーバ部200にそれぞれ手続実行部
110及び212を設けている。他の構成は実施例1及
び実施例2と同様であるので、図1及び図3と対応する
箇所には対応する符号を付して詳細な説明を省略する。
以上でこの発明の実施例についての説明を終える。な
お、この発明は上述の実施例に限定されるものではな
く、その趣旨を逸脱しない範囲で種々変更が可能であ
る。例えば、上述ではパラメータを持つ関数(手続)を
定義する場合について説明したが、合成呼び出しに別名
を与えたもの等、パラメータを持たない関数(定数)を
定義するようにしてもよい。また、パラメータを持つ関
数を定義する場合でも、変数のスコープが定まった時に
置換関数を挿入する等して、置換を行なう専用の関数の
みが置換を行なうようにしてもよい。この場合、本当に
置換を行なってもよいし、変数の評価時に環境をリファ
ーすることにより値が定まるようにしてもよい。また、
全ての関数が知っている変数であることを示す記法を導
入するようにしてもよい。
【0224】また、上述の実施例では、ハイパーテキス
トを作成する方式を採用し、空のスロットを持つページ
がプリミティブ関数として複数公開され、これらを部品
として連結することにより所望のハイパーテキストを得
るようにしている。そして得られたグラフが求めるプロ
グラムとななる。この場合、スロットに値が埋められた
というバインディングを、ページからインスタンスを生
成しインスタンスで永続的に保持してもよい。この場
合、連結と名前は独立している。あるいは、ある連結を
表す表現を生成し連結表現のみを保持するようにしても
よい。この場合プログラム的な展開が可能で、表現のみ
を操作することが容易となる。
【0225】
【発明の効果】以上説明したように、この発明によれ
ば、ネットワーク上に分散して管理されている遠隔手続
をユーザが会話的に結び付けることにより遠隔手続の合
成された呼び出しを行なったり、新しい遠隔手続を定義
したりできる。
【図面の簡単な説明】
【図1】 この発明の実施例1を示すブロック図であ
る。
【図2】 実施例1を説明する図である。
【図3】 この発明の実施例2を示すブロック図であ
る。
【図4】 実施例2を説明する図である。
【図5】 この発明の実施例3を示すブロック図であ
る。
【符号の説明】
100 遠隔手続クライアント 101 記録媒体駆動部 101a 記録媒体 102 ユーザ入力部 103 ハイパーテキスト入力部 104 メッセージ生成部 105 メッセージ保持部 106 送信部 107 受信部 108 ハイパーテキスト解析部 109 ハイパーテキスト出力部 200 遠隔手続サーバ 201 記録媒体駆動部 201a 記録媒体 202 受信部 203 送信部 204 メッセージ解析部 205 ハイパーテキスト解析部 206 属性生成部 207 手続仕様生成部 208 手続定義生成部 209 定義用ハイパーテキスト出力部 210 遠隔手続管理部 211 遠隔手続保持部 2111 属性保持部 2112 手続仕様公開部 2113 手続定義部

Claims (16)

    【特許請求の範囲】
  1. 【請求項1】 プログラムを検索するための第1の検索
    式及びそのプログラムに必要なパラメータを入力する入
    力手段と、 前記入力手段により入力された第1の検索式とパラメー
    タとを分離するメッセージ解析手段と、 前記第1の検索式に対応付けられている第2の検索式及
    びその第2の検索式により検索されるプログラムに必要
    なパラメータを挿入するスロットを記憶しているデータ
    ベースと、 前記メッセージ解析手段により分離された第1の検索式
    に応じて、前記データベースから前記第1の検索式に対
    応付けられている第2の検索式及びスロットを検索する
    手続検索手段と、 前記手続検索手段により検索された第2の検索式を前記
    入力手段に第1の検索式として入力させ、かつ前記メッ
    セージ解析手段により分離されたパラメータを挿入した
    前記手続検索手段により検索されたスロットを、前記入
    力手段にパラメータとして入力させる手続制御手段とを
    具備することを特徴とする手続実行装置。
  2. 【請求項2】 前記データベースには、前記第1の検索
    式に対応付けられているプログラムをも記憶しており、
    前記手続検索手段は、前記メッセージ解析手段により分
    離された第1の検索式に応じて、前記データベースから
    前記第1の検索式に対応付けられているプログラムをも
    検索し、前記手続検索手段によりプログラムが検索され
    たときは、そのプログラムを実行する実行手段をさらに
    具備することを特徴とする請求項1記載の手続実行装
    置。
  3. 【請求項3】 前記第1の検索式に対応付けられている
    第2の検索式及びその第2の検索式により検索されるプ
    ログラムに必要なパラメータを挿入するスロットを記憶
    しているデータベースと、前記データベースを検索する
    検索手段を具備する手続実行装置において、 プログラムを検索するための第1の検索式及びそのプロ
    グラムに必要なパラメータを入力するステップ1と、 入力された第1の検索式とパラメータとを分離するステ
    ップ2と、分離された第1の検索式に応じて、前記デー
    タベースから前記第1の検索式に対応付けられている第
    2の検索式及びスロットを検索するステップ3と、 検索された第2の検索式を前記ステップ1の第1の検索
    式として、及び分離されたパラメータを挿入したスロッ
    トを、前記ステップ1にパラメータとして入力させるス
    テップ4とを具備することを特徴とする手続実行方法。
  4. 【請求項4】 前記データベースには、前記第1の検索
    式に対応付けられているプログラムをも記憶しており、
    前記ステップ3は、分離された第1の検索式に応じて、
    前記データベースから前記第1の検索式に対応付けられ
    ているプログラムをも検索し、プログラムが検索された
    ときは、そのプログラムを実行するステップ5をさらに
    具備することを特徴とする請求項3記載の手続実行方
    法。
  5. 【請求項5】 通信回線に接続されており、ユーザから
    の命令を受取るクライアントと、前記通信回線に接続さ
    れており、前記クライアントからの命令を前記通信回線
    を介して受取り、実行するサーバとを具備する手続実行
    装置において、 前記クライアントは、 プログラムを検索するための第1の検索式及びそのプロ
    グラムに必要なパラメータを入力する入力手段と、 前記入力手段により入力された第1の検索式及びパラメ
    ータを前記通信回線を介して送信する送信手段とを具備
    し、 前記サーバは、 前記クライアントの前記送信手段により送信された第1
    の検索式及びパラメータを前記通信回線から受信する受
    信手段と、 前記受信手段により受信された第1の検索式とパラメー
    タとを分離するメッセージ解析手段と、 前記第1の検索式に対応付けられている第2の検索式及
    びその第2の検索式により検索されるプログラムに必要
    なパラメータを挿入するスロットを記憶しているデータ
    ベースと、 前記メッセージ解析手段により分離された第1の検索式
    に応じて、前記データベースから前記第1の検索式に対
    応付けられている第2の検索式及びスロットを検索する
    手続検索手段と、 前記手続検索手段により検索された第2の検索式を前記
    サーバの入力手段により入力された第1の検索式とし
    て、及び前記メッセージ解析手段により分離されたパラ
    メータを挿入した前記手続検索手段により検索されたス
    ロットを、前記入力手段により入力されたパラメータと
    して前記通信回線を介して送信する送信手段とを具備す
    ることを特徴とする手続実行装置。
  6. 【請求項6】 コンピュータを制御するためのコンピュ
    ータ・プログラム・ブロダクトであって、 前記コンピュータの入力手段によって読み取り可能な記
    憶媒体と、 プログラムを検索するための第1の検索式及びそのプロ
    グラムに必要なパラメータを入力する入力処理を前記コ
    ンピュータに実行させるために、前記記憶媒体に記憶さ
    れた入力命令手段と、 前記入力処理により入力された第1の検索式とパラメー
    タとを分離するメッセージ解析処理を前記コンピュータ
    に実行させるために、前記記憶媒体に記憶されたメッセ
    ージ解析命令手段と、 前記第1の検索式に対応付けられている第2の検索式及
    びその第2の検索式により検索されるプログラムに必要
    なパラメータを挿入するスロットを記憶しているデータ
    ベースを前記コンピュータに記憶させるために、前記記
    憶媒体に記憶されたデータベース手段と、 前記メッセージ解析処理により分離された第1の検索式
    に応じて、前記データベースから前記第1の検索式に対
    応付けられている第2の検索式及びスロットを検索する
    手続検索処理を前記コンピュータに実行させるために、
    前記記憶媒体に記憶された手続検索命令手段と、前記手
    続検索処理により検索された第2の検索式を前記入力処
    理に第1の検索式として、及び前記メッセージ解析処理
    により分離されたパラメータを挿入した前記手続検索処
    理により検索されたスロットを、前記入力処理にパラメ
    ータとして入力させる手続制御処理を前記コンピュータ
    に実行させるために、前記記憶媒体に記憶された手続制
    御命令手段とを備えるコンピュータ・プログラム・プロ
    ダクト。
  7. 【請求項7】 複数の計算機システムがネットワークを
    介して接続される情報処理システムにおいて、1または
    複数の手続の上記ネットワークにおけるロケーション情
    報を引数中に含んで記述された複合手続を記憶する手段
    と、上記手続のロケーション情報を引数として上記複合
    手続を実行するときに上記ロケーションの手続を呼び出
    す手段と、上記呼び出された手続を実行する手段と、上
    記呼び出された手続の実行結果を受け取って上記複合手
    続の実行を継続する手段とを有することを特徴とする情
    報処理システム。
  8. 【請求項8】 上記複合手続はハイパーテキストで記述
    される請求項7記載の情報処理システム。
  9. 【請求項9】 上記ロケーション情報はハイパーリンク
    の情報とした請求項7また は8記載の情報処理システ
    ム。
  10. 【請求項10】 ネットワークを介して1または複数の
    他の計算機システムに接続された計算機システムにおい
    て、1または複数の手続の上記ネットワークにおけるロ
    ケーション情報を引数中に含んで記述された複合手続を
    記憶する記憶手段と、上記ネットワークを介して上記他
    の計算機システムから送られた複合手続を受け取って上
    記記憶手段に記憶させる手段と、上記ネットワークを介
    して上記他の計算機システムから送られた上記複合手続
    の実行要求に応じて、上記手続のロケーション情報を引
    数として上記複合手続を実行するときに上記ロケーショ
    ンの手続を呼び出す手段と、上記呼び出された手続の実
    行結果を受け取って上記複合手続の実行を継続する手段
    とを有することを特徴とする計算機システム。
  11. 【請求項11】 ネットワークを介して1または複数の
    他の計算機システムに接続された計算機システムに用い
    られる遠隔手続管理装置において、1または複数の手続
    の上記ネットワークにおけるロケーション情報を引数中
    に含んで記述された複合手続を記憶する記憶手段と、上
    記ネットワークを介して上記他の計算機システムから送
    られた複合手続を受け取って上記記憶手段に記憶させる
    手段と、上記ネットワークを介して上記他の計算機シス
    テムから送られた上記複合手続の実行要求に応じて上記
    手続のロケーション情報を引数として上記複合手続を実
    行するときに上記ロケーションの手続を呼び出す手段
    と、上記呼び出された手続の実行結果を受け取って上記
    複合手続の実行を継続する手段とを有することを特徴と
    する遠隔手続管理装置。
  12. 【請求項12】 情報処理を行なう複数の計算機システ
    ムがネットワークで結ばれたネットワーク情報システム
    で使用される遠隔手続管理装置において、 前記遠隔手続管理装置は、少なくとも1つの遠隔手続ク
    ライアント手段と、少なくとも1つの遠隔手続サーバ手
    段を有し、前記遠隔手続サーバ手段は、手続定義のテン
    プレートであるハイパーテキストを出力する定義用ハイ
    パーテキスト出力手段と、ハイパーテキストを遠隔に送
    信する送信手段と、遠隔からのメッセージを受信する受
    信手段と、前記メッセージを解析するためのメッセージ
    解析手段と、前記メッセージが手続定義の登録を要求す
    るメッセージであった場合に前記メッセージに含まれる
    手続を定義する表現であるハイパーテキストを解析する
    ハイパーテキスト解析手段と、前記ハイパーテキスト解
    析手段の解析結果にもとづき、属性情報及び手続定義情
    報を含む手続情報を生成する手続情報生成手段と、生成
    された前記手続情報を保持する遠隔手続保持手段と、前
    記メッセージが手続の実行を要求するメッセージであっ
    た場合に前記メッセージ解析手段が生成する遠隔手続検
    索式に基づき前記遠隔手続保持手段を検索する遠隔手続
    管理手段と、前記手続定義情報に基づき手続を実行する
    手続実行手段とを有し、 前記遠隔手続クライアント手段は、前記遠隔サーバ手段
    から送られた前記手続定義のテンプレートであるハイパ
    ーテキストを受信する受信手段と、前記ハイパーテキス
    トを解析して手続定義の登録要求用のメッセージ生成情
    報を出力するハイパーテキスト解析手段と、ユーザから
    の手続定義の入力を受けとるユーザ入力手段と、前記ユ
    ーザ入力手段からの手続定義の入力と前記ハイパーテキ
    スト解析手段からの手続定義の登録要求用のメッセージ
    生成情報とに基づき、手続定義の登録を要求するメッセ
    ージを生成するメッセージ生成手段と、 前記メッセージ生成手段によって生成されたメッセージ
    を前記遠隔手続サーバ手段に送信する送信手段とを有す
    ることを特徴とする遠隔手続管理装置。
  13. 【請求項13】 前記遠隔手続保持手段に保持される手
    続情報は、手続情報は手続の仕様に関する情報である手
    続仕様情報を有し、前記遠隔手続サーバは前記遠隔手続
    クライアントの要求メッセージに応じて前記遠隔手続ク
    ライアントに手続仕様情報を送信する請求項12記載の
    遠隔手続管理装置。
  14. 【請求項14】 前記遠隔手続保持手段は、手続の属性
    情報を含み手続定義情報を含まない手続情報も保持する
    請求項12または13記載の遠隔手続管理装置。
  15. 【請求項15】 前記遠隔手続クライアント手段は、さ
    らに前記手続定義情報に基づき手続を実行する手続実行
    手段を有する請求項12、13または14記載の遠隔手
    続管理装置。
  16. 【請求項16】 情報処理を行なう複数の計算機システ
    ムがネットワークで結ばれたネットワーク情報システム
    で使用される遠隔手続管理装置において、 前記遠隔手続管理装置は、少なくとも1つの遠隔手続ク
    ライアント手段と、少なくとも1つの遠隔手続サーバ手
    段を有し、前記遠隔手続サーバ手段は、手続定義のテン
    プレートであるハイパーテキストを出力する定義用ハイ
    パーテキスト出力手段と、ハイパーテキストを遠隔に送
    信する送信手段と、遠隔からのメッセージを受信する受
    信手段と、前記メッセージを解析するためのメッセージ
    解析手段と、前記メッセージが手続定義の登録を要求す
    るメッセージであった場合に前記メッセージに含まれる
    手続を定義する表現であるハイパーテキストを解析する
    ハイパーテキスト解析手段と、前記ハイパーテキスト解
    析手段の解析結果にもとづき、属性情報及び手続定義情
    報を含む手続情報を生成する手続情報生成手段と、生成
    された前記手続情報を保持する遠隔手続保持手段と、前
    記メッセージが手続の実行を要求するメッセージであっ
    た場合に前記メッセージ解析手段が生成する遠隔手続検
    索式に基づき前記遠隔手続保持手段を検索する遠隔手続
    管理手段とを有し、 前記遠隔手続クライアント手段は、前記遠隔サーバ手段
    から送られた前記手続定義のテンプレートであるハイパ
    ーテキストを受信する受信手段と、前記ハイパーテキス
    トを解析して手続定義の登録要求用のメッセージ生成情
    報を出力するハイパーテキスト解析手段と、ユーザから
    の手続定義の入力を受けとるユーザ入力手段と、前記ユ
    ーザ入力手段からの手続定義の入力と前記ハイパーテキ
    スト解析手段からの手続定義の登録要求用のメッセージ
    生成情報とに基づき、手続定義の登録を要求するメッセ
    ージを生成するメッセージ生成手段と、前記メッセージ
    生成手段によって生成されたメッセージを前記遠隔手続
    サーバ手段に送信する送信手段と、前記手続定義情報に
    基づき手続を実行する手続実行手段とを有することを特
    徴とする遠隔手続管理装置。
JP8330030A 1996-12-10 1996-12-10 手続実行装置及び方法 Pending JPH10171701A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP8330030A JPH10171701A (ja) 1996-12-10 1996-12-10 手続実行装置及び方法
US08/986,731 US6339783B1 (en) 1996-12-10 1997-12-08 Procedure execution device and procedure execution method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP8330030A JPH10171701A (ja) 1996-12-10 1996-12-10 手続実行装置及び方法

Publications (1)

Publication Number Publication Date
JPH10171701A true JPH10171701A (ja) 1998-06-26

Family

ID=18227999

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8330030A Pending JPH10171701A (ja) 1996-12-10 1996-12-10 手続実行装置及び方法

Country Status (2)

Country Link
US (1) US6339783B1 (ja)
JP (1) JPH10171701A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005088451A1 (ja) * 2004-03-16 2005-09-22 Canon Kabushiki Kaisha データ処理方法、プログラム、装置、メッセージの構造、メッセージ生成方法、及び、メッセージ送信方法

Families Citing this family (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6182083B1 (en) 1997-11-17 2001-01-30 Sun Microsystems, Inc. Method and system for multi-entry and multi-template matching in a database
US6446070B1 (en) * 1998-02-26 2002-09-03 Sun Microsystems, Inc. Method and apparatus for dynamic distributed computing over a network
US6832223B1 (en) 1996-04-23 2004-12-14 Sun Microsystems, Inc. Method and system for facilitating access to a lookup service
US6393497B1 (en) * 1998-03-20 2002-05-21 Sun Microsystems, Inc. Downloadable smart proxies for performing processing associated with a remote procedure call in a distributed system
US6598094B1 (en) 1998-03-20 2003-07-22 Sun Microsystems, Inc. Method and apparatus for determining status of remote objects in a distributed system
US6938263B2 (en) 1996-04-23 2005-08-30 Sun Microsystems, Inc. System and method for facilitating dynamic loading of “stub” information to enable a program operating in one address space to invoke processing of a remote method or procedure in another address space
US6560656B1 (en) 1998-02-26 2003-05-06 Sun Microsystems, Inc. Apparatus and method for providing downloadable code for use in communicating with a device in a distributed system
US6185611B1 (en) 1998-03-20 2001-02-06 Sun Microsystem, Inc. Dynamic lookup service in a distributed system
US6487607B1 (en) 1998-02-26 2002-11-26 Sun Microsystems, Inc. Methods and apparatus for remote method invocation
US6728737B2 (en) 1996-10-11 2004-04-27 Sun Microsystems, Inc. Method and system for leasing storage
US5832529A (en) 1996-10-11 1998-11-03 Sun Microsystems, Inc. Methods, apparatus, and product for distributed garbage collection
US6237009B1 (en) 1996-10-11 2001-05-22 Sun Microsystems, Inc. Lease renewal service
US6498921B1 (en) * 1999-09-01 2002-12-24 Chi Fai Ho Method and system to answer a natural-language question
US5836771A (en) * 1996-12-02 1998-11-17 Ho; Chi Fai Learning method and system based on questioning
WO1999044127A1 (en) * 1998-02-26 1999-09-02 Sun Microsystems, Inc. Dynamic lookup service in a distributed system
JP2002505473A (ja) * 1998-02-26 2002-02-19 サンマイクロシステムズ インコーポレーテッド 決定性ハッシュでリモートメソッドを識別する方法とシステム
US6604127B2 (en) 1998-03-20 2003-08-05 Brian T. Murphy Dynamic lookup service in distributed system
US7337174B1 (en) * 1999-07-26 2008-02-26 Microsoft Corporation Logic table abstraction layer for accessing configuration information
US6766351B1 (en) * 1999-10-07 2004-07-20 Cisco Technology, Inc. Method and apparatus for communicating information between a browser and an application program
US6981267B1 (en) * 2000-06-16 2005-12-27 Microsoft Corporation System and method for parallel asynchronous execution of commands
DE10134228B4 (de) * 2000-08-25 2007-12-13 International Business Machines Corp. Verfahren und System zur Verbesserung von Funktionsfernaufrufen
US6804773B1 (en) * 2000-10-03 2004-10-12 Dell Products L.P. System and method for transferring information over a network
US7296275B2 (en) * 2001-01-04 2007-11-13 Sun Microsystems, Inc. Method and system for passing objects in a distributed system using serialization contexts
US20030051029A1 (en) * 2001-09-07 2003-03-13 Reedy Dennis G. Dynamic provisioning of sevice components in a distributed system
US7756969B1 (en) 2001-09-07 2010-07-13 Oracle America, Inc. Dynamic provisioning of identification services in a distributed system
US7660887B2 (en) 2001-09-07 2010-02-09 Sun Microsystems, Inc. Systems and methods for providing dynamic quality of service for a distributed system
US7430590B1 (en) * 2002-04-17 2008-09-30 Everdream Corporation Method and system to manage services for multiple managed computer systems
US20040236706A1 (en) * 2003-04-30 2004-11-25 Fitch James Chester Automated machinery lubrication service and maintenance planning system
US7792874B1 (en) 2004-01-30 2010-09-07 Oracle America, Inc. Dynamic provisioning for filtering and consolidating events
US8484611B2 (en) * 2007-10-15 2013-07-09 International Business Machines Corporation Method and system for simplified assembly of information processing applications
US8245122B2 (en) * 2008-01-08 2012-08-14 International Business Machines Corporation Method and system for modeling user requests, applications and components used in dynamic application assembly
US8239828B2 (en) 2008-01-08 2012-08-07 International Business Machines Corporation Method of recovering from software failures using replanning
US8640149B2 (en) * 2008-03-26 2014-01-28 International Business Machines Corporation Method and apparatus for dynamic web service composition and invocation
US8949140B2 (en) * 2008-04-21 2015-02-03 International Business Machines Corporation Method and system for dynamic software reconfiguration triggered by component- or system- initiated events
US8898624B2 (en) 2008-05-05 2014-11-25 International Business Machines Corporation Method and apparatus for simplified assembly of parametric information processing applications
US20120078941A1 (en) * 2010-09-27 2012-03-29 Teradata Us, Inc. Query enhancement apparatus, methods, and systems
JP2013089049A (ja) * 2011-10-18 2013-05-13 Canon Inc データ処理装置、情報処理システム及びその制御方法とプログラム
US9286032B2 (en) 2013-03-15 2016-03-15 International Business Machines Corporation Automated software composition

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59220866A (ja) * 1983-05-30 1984-12-12 Hitachi Ltd 分散処理方式
JPH03235158A (ja) * 1990-02-13 1991-10-21 Nec Corp リモートコンピュータシステム上プログラムのローカル実行方式
JPH04180150A (ja) * 1990-11-15 1992-06-26 Toshiba Corp 分散処理システム
JPH04287123A (ja) * 1991-03-16 1992-10-12 Fujitsu Ltd プログラム作成支援装置
JPH04340128A (ja) * 1991-04-20 1992-11-26 Fuji Xerox Co Ltd プログラムコード自動生成システム
JPH05150970A (ja) * 1991-11-29 1993-06-18 Fujitsu Ltd プログラム作成支援装置
JPH05197586A (ja) * 1991-02-27 1993-08-06 Fuji Xerox Co Ltd 分散型情報処理システムのデバッグ方式
JPH07219810A (ja) * 1994-02-04 1995-08-18 Canon Inc モジュールテスト方法および装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4525780A (en) * 1981-05-22 1985-06-25 Data General Corporation Data processing system having a memory using object-based information and a protection scheme for determining access rights to such information
US5287444A (en) * 1989-08-14 1994-02-15 International Business Machines Corporation Message processing system
US5761493A (en) * 1990-04-30 1998-06-02 Texas Instruments Incorporated Apparatus and method for adding an associative query capability to a programming language
EP0592080A2 (en) * 1992-09-24 1994-04-13 International Business Machines Corporation Method and apparatus for interprocess communication in a multicomputer system
DE69317982T2 (de) * 1992-10-09 1998-11-19 Sun Microsystems Inc Verfahren und Anlage zur Realzeitdatensammlung und Anzeigevorrichtung
EP0820008A3 (en) * 1992-12-01 2006-05-24 Microsoft Corporation A method and system for in-place interaction with embedded objects
US5469574A (en) * 1993-06-18 1995-11-21 International Business Machines Corporation Method and system for interfacing interpreted applications with compiled procedures using signature files
US5793966A (en) * 1995-12-01 1998-08-11 Vermeer Technologies, Inc. Computer system and computer-implemented process for creation and maintenance of online services
GB2305271A (en) * 1995-09-15 1997-04-02 Ibm Proxy object recovery in an object-oriented environment
US5765152A (en) * 1995-10-13 1998-06-09 Trustees Of Dartmouth College System and method for managing copyrighted electronic media
US5872973A (en) * 1995-10-26 1999-02-16 Viewsoft, Inc. Method for managing dynamic relations between objects in dynamic object-oriented languages
US5887172A (en) * 1996-01-10 1999-03-23 Sun Microsystems, Inc. Remote procedure call system and method for RPC mechanism independent client and server interfaces interoperable with any of a plurality of remote procedure call backends
US5875332A (en) * 1996-05-31 1999-02-23 International Business Machines Corporation Generating a common gateway interface adapter customized for a stored procedure
US6049838A (en) * 1996-07-01 2000-04-11 Sun Microsystems, Inc. Persistent distributed capabilities
US5826064A (en) * 1996-07-29 1998-10-20 International Business Machines Corp. User-configurable earcon event engine

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59220866A (ja) * 1983-05-30 1984-12-12 Hitachi Ltd 分散処理方式
JPH03235158A (ja) * 1990-02-13 1991-10-21 Nec Corp リモートコンピュータシステム上プログラムのローカル実行方式
JPH04180150A (ja) * 1990-11-15 1992-06-26 Toshiba Corp 分散処理システム
JPH05197586A (ja) * 1991-02-27 1993-08-06 Fuji Xerox Co Ltd 分散型情報処理システムのデバッグ方式
JPH04287123A (ja) * 1991-03-16 1992-10-12 Fujitsu Ltd プログラム作成支援装置
JPH04340128A (ja) * 1991-04-20 1992-11-26 Fuji Xerox Co Ltd プログラムコード自動生成システム
JPH05150970A (ja) * 1991-11-29 1993-06-18 Fujitsu Ltd プログラム作成支援装置
JPH07219810A (ja) * 1994-02-04 1995-08-18 Canon Inc モジュールテスト方法および装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2005088451A1 (ja) * 2004-03-16 2005-09-22 Canon Kabushiki Kaisha データ処理方法、プログラム、装置、メッセージの構造、メッセージ生成方法、及び、メッセージ送信方法
JP2005266908A (ja) * 2004-03-16 2005-09-29 Canon Inc データ処理方法、プログラム、装置、メッセージの構造、メッセージ生成方法、及び、メッセージ送信方法
JP4574197B2 (ja) * 2004-03-16 2010-11-04 キヤノン株式会社 データ処理方法、プログラム、及び、装置
US7885997B2 (en) 2004-03-16 2011-02-08 Canon Kabushiki Kaisha Data processing method, program, device, message structure, message generation method, and message transmission method

Also Published As

Publication number Publication date
US6339783B1 (en) 2002-01-15

Similar Documents

Publication Publication Date Title
JPH10171701A (ja) 手続実行装置及び方法
EP1367502B1 (en) Multimedia Cooperative Work System and Method
WO2019163793A1 (ja) Apiアダプタ、apiアダプタ作成方法、およびプログラム
EP1220507A1 (en) Creating web content in a client and server system
US20060277252A1 (en) Method And Device For Executing A Function With Selection And Sending Of Multiple Results In A Client-Server Environment
US6789263B1 (en) Data conversion method and apparatus
Sillitti et al. Service oriented programming: a new paradigm of software reuse
CN106598575A (zh) 一种前端数据模拟的实现方法及***
US20060015629A1 (en) System, method, and data structure for processing operating information using information processing devices communicating via a network
WO2007132568A1 (ja) データ処理サーバ及びデータ処理方法
JP4462901B2 (ja) モーダル同期制御方法およびマルチモーダルインターフェイスシステム
US7885997B2 (en) Data processing method, program, device, message structure, message generation method, and message transmission method
CN109861836A (zh) 一种网络管理设备及其管理方法
JP2009265718A (ja) ネットワーク管理情報の差分データのみを送信するネットワーク装置、サーバ、プログラム及び方法
CN104239068B (zh) 多维度语义web服务开发方法
CN1953424B (zh) 传输网络文档的被选择部分的***和方法
JP3887880B2 (ja) データ変換装置、データ伝送方法及びデータ変換機能を格納した情報記憶媒体
JP2005149131A (ja) 情報処理装置、方法及びプログラム
EP2101474A1 (en) Service bindings for web services
KR101270746B1 (ko) 웹 서비스 중개 장치 및 방법
JP3681313B2 (ja) データ配信方法
JP2003242127A (ja) 業務統合システム
JP2001125821A (ja) データ通信方法およびサーバ装置
JP4208185B2 (ja) 既存WebアプリケーションのWebサービスへの変換方法及び装置
US20110320931A1 (en) Method, apparatus and computer program product for handling data of a database for a website