JP2665089B2 - 分散環境下におけるコンパイル方式 - Google Patents

分散環境下におけるコンパイル方式

Info

Publication number
JP2665089B2
JP2665089B2 JP3274602A JP27460291A JP2665089B2 JP 2665089 B2 JP2665089 B2 JP 2665089B2 JP 3274602 A JP3274602 A JP 3274602A JP 27460291 A JP27460291 A JP 27460291A JP 2665089 B2 JP2665089 B2 JP 2665089B2
Authority
JP
Japan
Prior art keywords
machine
compiler
client
library
holding
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP3274602A
Other languages
English (en)
Other versions
JPH0588907A (ja
Inventor
章子 石塚
貴英 大上
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Priority to JP3274602A priority Critical patent/JP2665089B2/ja
Priority to US07/951,461 priority patent/US5313635A/en
Publication of JPH0588907A publication Critical patent/JPH0588907A/ja
Application granted granted Critical
Publication of JP2665089B2 publication Critical patent/JP2665089B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5044Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5055Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering software capabilities, i.e. software resources associated or available to the machine

Description

【発明の詳細な説明】
【0001】
【産業上の利用分野】この発明は、複数の異なる機種の
コンピュータをネットワークを介して接続した分散環境
下におけるコンパイル方式に関するものである。
【0002】
【従来の技術】図10は、原始プログラムの翻訳から実
行までの流を示すフローチャートである。原始プログラ
ム101は、必要なら前処理系102によって処理され
てからコンパイラ103にかけられる。コンパイラ10
3の出力は、アセンブラ言語プログラムや、ほとんどそ
のまま実行できる機械語コードか、メモリのどこにでも
配置できるような情報を含んだ機械語のコードである。
コンパイラ103の出力がアセンブラ言語プログラムの
ときにはアセンブラ104がこれを受け取り、再配置可
能コードに直す。リンケージエデイタ105は、再配置
可能コードをライブラリ106からいくつか集めて連結
し、別々にコンパイルされたプログラムの間の記号名に
よる参照をメモリ上にロードされた時の番地で置き換え
る。これらの処理は通常1つのマシンの上で行われ、オ
ブジェクトコード107を得る。このようなことは、例
えば「岩波講座ソフトウエア科学−5,プログラミング
言語処理系」の“1.3コンパイラとプログミング環
境”(pp.10-11) に記載されている。図9はコンピュー
タネットワークの概要構成図である。コンピュータネッ
トワークは、おたがいがそれぞれのシステム資源(ハー
ドウエア、ソフトウエア、データベースなど)を共有し
合うことができるように相互に結合された、しかも、そ
れぞれが独立した機能を持った複数台のコンピュータが
ネットワークで接続され、相互に情報交換や共同利用が
できるようになっているので、コンピュータ相互間でシ
ステム資源を融通しあったり、他のコンピュータのハー
ドウエアやソフトウエア機能を利用したり、あるいは他
のコンピュータが管理しているデータベースをアクセス
することが可能になっている。図9においては、1〜3
のコンピュータと4〜11の端末機によってネットワー
クが構成されている。このようなことは、例えば、オー
ム社「図解 コンピュータ百科辞典」の“12−1−1
コンピュータネットワークによる分散処理方式”(pp.1
019-1120)に記載されている。
【0003】次に、動作について説明する。従来、コン
パイルする方法として、ユーザーがソースファイルを作
成するマシンごとに、自機種用のライブラリとコンパイ
ラを保持し、そのマシンで作成したソースファイルをコ
ンパイルする方法があった。これはネットワーク上に全
く同じコンパイラが複数存在することになり、相互の情
報交換と共同利用という、コンピュータネットワークの
本来の利点を生かしていない。また、例えば、コンピュ
ータ1と2が同一機種、コンピュータ3が異機種で、コ
ンピュータ1はコンパイラを保持していず、コンピュー
タ2と3が各々、自機種用のコンパイラとライブラリを
保持しているものとする。この場合、ユーザーがコンピ
ュータ1上でソースファイルを作成した場合にネットワ
ーク上でコンパイルする方法として、コンピュータ2
に、作成したソースファイルを転送し、コンピュータ2
上でコンパイル及びリンクし、できたオブジェクトファ
イルをコンピュータ1に転送する方法があった。これ
は、すべての転送をユーザーが意識して操作しなければ
ならないため、ユーザーにとって負担となるものであ
る。また、例えば、コンピュータ1と2が同一機種、コ
ンピュータ3が異機種で、コンピュータ2はコンピュー
タ3のクロスコンパイラを保持しているものとする。こ
の場合、ユーザーが、コンピュータ3で実行するファイ
ルをコンピュータ2上で作成した場合には、コンピュー
タ2でクロスコンパイルして、できたオブジェクトファ
イルをコンピュータ3に転送するという方法があった。
これもまた、転送に関してユーザーの手を介することに
なり、ユーザーの負担となるものである。
【0004】
【発明が解決しようとする課題】このような従来の方法
では、分散環境下で、同一機種がそれぞれ同一のコンパ
イラ及び関係するライブラリを保持しており、コンパイ
ラ及びライブラリによってマシンのディスクメモリは占
有され、また、インストールするためのソフトウエア購
入資金もかかり、また、他のマシンでコンパイルする場
合は、データの入出力を行う際にユーザーに多くの操作
が必要とされ、余計な手間がかかるという問題点があっ
た。
【0005】また、従来において、1つの大きなコンピ
ュータに色々なマイクロプロセッサ用のソフトウエアを
用意して、TSS(タイムシェアリングシステム)を用
いてコンパイルする方法もあったが、TSSを用いてコ
ンパイルする場合は、ホストコンピュータに膨大な負荷
がかかるばかりか、システムが提供しているマイクロプ
ロセッサ用のフトウエアしか使用できないので、拡張
性がないという問題点があった。
【0006】この発明は上記のような問題点を解決する
ためになされたもので、分散環境下での同一機種のコン
パイラの重複を削除することを可能にし、また、ユーザ
ーが使用しているマシンにコンパイラがない時でもユー
ザーは、そのことを何ら意識することなくオブジェクト
ファイルを得ることを可能にし、また、ソフトウエアの
使用の拡張性もある分散環境下におけるコンパイル方式
を提供することを目的とする。
【0007】
【課題を解決するための手段】この発明に係る分散環境
下におけるコンパイル方式においては、サーバマシン3
01には、各機種、各言語ごとのコンパイラと該コンパ
イラを保持しているマシンとの対応関係を示すコンパイ
ラ保持マシン対応表304と、各機種のライブラリと該
ライブラリを保持しているマシンとの対応関係を示すラ
イブラリ保持マシン対応表305とを備えるとともに、
クライアントマシン302からコンパイルの要求を受け
たならば、上記コンパイラ保持マシン対応表とライブラ
リ保持マシン対応表を参照して、上記クライアントマシ
ン302が要求するコンパイルに必要なコンパイラ及び
ライブラリを保持している上記分散環境下にあるマシン
をそれぞれ探し出し、探し出したマシンに関する情報を
上記クライアントマシン302に送る処理を実行するた
めのサーバ側処理実行手段(サーバプログラム306)
を備え、上記クライアントマシン302には、上記サー
バマシンから送られてきたマシンに関する情報を受け
て、コンパイラを保持しているマシンへソースプログラ
ムと上記サーバマシンから得たライブラリ保持マシン情
報を転送する処理を実行するためのクライアント側処理
実行手段(クライアントプログラム307)を備え、さ
らに、コンパイラを保持しているコンパイラ保持マシン
303には、上記クライアントマシン302からのコン
パイル開始要求によりコンパイルを開始するとともに、
上記クライアントマシン302からのライブラリ保持マ
シン情報に基づいて必要なライブラリを保持しているマ
シンからライブラリを集めてきてライブラリをリンク
し、作成されたオブジェクトファイルを、コンパイル要
求元の上記クライアントマシン302へ転送するコンパ
イル処理実行手段(コンパイルプログラム308)を備
えていることを特徴とするものである。
【0008】
【作用】この発明におけるコンパイル方式は、サーバマ
シン301に、クライアントマシン302から機種名と
言語の種類が与えられると、サーバ側処理実行手段によ
り、対応表304,305から必要なコンパイラ及びラ
イブラリを保持しているマシンを探し、そのマシン名と
その言語のライブラリ保持マシン情報をクライアントマ
シン302に送る。それを受け取ったクライアントマシ
ン302においてはクライアント側処理実行手段によ
り、コンパイラを保持しているマシン(コンパイラ保持
マシン303)へソースプログラムとライブラリ保持マ
シン情報を転送し、コンパイルを要求する。コンパイル
を要求されたマシンにおいてはコンパイル処理実行手段
により、コンパイルを実行するととともに、送られてき
たライブラリ保持マシン情報を走査して、そのライブラ
リを保持しているマシンから必要なライブラリを集めて
きてライブラリをリンクし、できたオブジェクトファイ
ルをクライアントマシン302に転送する。この方式に
より、分散環境下での同一機種のコンパイラの重複が削
減され、また、ユーザーがコンパイラを保持したマシン
を意識することなく、オブジェクトファイルを得ること
ができる。
【0009】
【実施例】図1はこの発明の一実施例に係るコンパイル
方式において用いられるコンパイラ保持マシン対応表を
示す図である。このコンパイラ保持マシン対応表304
は、各機種、各言語ごとのコンパイラと該コンパイラを
保持しているマシンとの対応関係を示すものである。図
1中で左の欄は言語、中央の欄は機種名で、その言語の
その機種用のコンパイラを右の欄のマシンが保持してい
るということを示している。図1中で101〜105は
コンパイラ保持マシン名を示す。
【0010】図2はこのコンパイル方式において用いら
れるライブラリ保持マシン対応表を示す図である。この
ライブラリ保持マシン対応表305は、各機種のライブ
ラリと該ライブラリを保持しているマシンとの対応関係
を示すものである。図2中で左の欄は機種名で、中央の
欄のライブラリを右の欄のマシンが保持しているという
ことを示している。図2中で208〜210はライブラ
リ保持マシン情報を示す。
【0011】図3はこの実施例に係る分散環境の構成図
である。図3において、301は後述する検索処理を行
うサーバマシン、302はコンパイルを要求するクライ
アントマシン、303はコンパイラを保持しているマシ
ンであるコンパイラ保持マシンを示す。サーバマシン3
01は、コンパイラ保持マシン対応表304、ライブラ
リ保持マシン対応表305、及びサーバ側処理実行手段
としてのサーバプログラム306を備えている。分散環
境下のすべてのマシンはクライアント側処理実行手段と
してのクライアントプログラム307を保持し、コンパ
イラ保持マシン303は他にコンパイル処理実行手段と
してのコンパイルプログラム308を保持している。コ
ンパイラ保持マシン対応表304及びライブラリ保持マ
シン対応表305はサーバマシン301の例えばテキス
トエディタを用いて作成される。
【0012】図4はこの実施例においてクライアントマ
シンへ入力するコマンド例を示す図である。図4におい
て、401は通常のコンパイルコマンド、402はソー
スファイル名(ソースプログラム名)、403はそのソ
ースファイルをコンパイする機種名を示す。
【0013】図5は上記クライアントマシンの処理を示
すフローチャートである。コンパイルコマンドとソース
ファイル名と機種名が入力され(ステップ51)、その
コンパイルコマンドから言語名を調べる(ステップ5
2)。機種名が入力されると(ステップ53)、検索開
始メッセージをサーバマシン301へ送る(ステップ5
5)。機種名が入力されない場合(ステップ53)、機
種名をクライアントマシン302の機種名とする(ステ
ップ54)。ステップ55の後、サーバマシン301へ
言語名、機種名、及びクライアントマシン302のホス
ト名を送る(ステップ56)。そして検索終了メッセー
ジを待ち(ステップ57)、検索終了メッセージを受け
取り(ステップ58)、コンパイラ保持マシン名とライ
ブラリ保持マシン情報を受け取る(ステップ59)。次
にコンパイラ保持マシン303へコンパイル要求メッセ
ージを送る(ステップ60)。またコンパイラ保持マシ
ン303へコンパイルコマンドとソースファイルとライ
ブラリ保持マシン情報とクライアントマシン302のホ
スト名を送る(ステップ61)。そしてコンパイル終了
メッセージを待ち(ステップ62)、コンパイル終了メ
ッセージを受け取り(ステップ63)、次いでオブジェ
クトファイルを受け取る(ステップS64)。
【0014】図6は上記サーバマシンの処理を示すフロ
ーチャートである。まず、検索開始メッセージを受け取
る(ステップ611)。言語名、機種名、及びクライア
ントマシン302のホスト名(検索情報返送アドレス)
を受け取る(ステップ612)。次にコンパイラ保持マ
シン対応表304を走査し(ステップ613)、該当す
るコンパイラ保持マシンが見つからなかった場合(ステ
ップS614)はコンパイラ不保持メッセージを発行す
る(ステップ615)。該当するコンパイラ保持マシン
が見つかった場合(ステップ614)はライブラリ保持
マシン対応表305を走査する(ステップ616)、そ
して該当するライブラリ保持マシン情報が見つからなか
った場合(ステップ617)はライブラリ不保持メッセ
ージを発行する(ステップ618)。該当するライブラ
リ保持マシン情報が見つかった場合(ステップ617)
は検索終了メッセージを発行して(ステップ619)、
コンパイラ保持マシン名とライブラリ保持マシン情報を
クライアントマシン302へ送る(ステップ620)。
【0015】図7は上記コンパイラ保持マシンの処理を
示すフローチャートである。まず、コンパイル要求メッ
セージを受け取り(ステップ71)、次にコンパイルコ
マンド、ソースファイル、ライブラリ保持マシン情報、
及びホスト名(オブジェクトファイル転送アドレス)を
受け取る(ステップ72)。そして、まずソースファイ
ルをコンパイルし(ステップ73)、次にライブラリ保
持マシン情報を走査して必要なライブラリを該当するマ
シンから持ってくる(ステップ74)。そのライブラリ
をリンクし(ステップ75)、コンパイル要求マシンへ
コンパイル要求メッセージを送る(ステップ76)。こ
れによってできたオブジェクトファイルをコンパイル要
求マシンへ送る(ステップ77)。
【0016】図8は分散環境下におけるコンパイルの一
例を示すフローチャートである。まず、サーバマシン3
01におけるサーバプログラム306はクライアントマ
シン302から検索開始メッセージが届くのを待つ(ス
テップS1)。クライアントマシン302は例えば図4
に示したような通常のコンパイルコマンド401、ソー
スファイル名402、及びそのソースファイルをコンパ
イルする機種名403をキーボードから入力する(ステ
ップS2)。コンパイル機種名を指定しない場合は、ク
ライアントプログラム307により機種名をクライアン
トマシン302の機種名とする。また、クライアントプ
ログラム307はコンパイルコマンド401を処理し、
言語名C(ソースファイル名402の場合)を知る(ス
テップS3)。次にクライアントプログラム307はサ
ーバプログラム306に検索開始メッセージとともに言
語名(コンパイルコマンド401の場合、C)と機種名
403とホスト名を送り(ステップS4)、検索終了メ
ッセージがサーバプログラム306から届くのを待つ
(ステップS5)。
【0017】サーバマシン301におけるサーバプログ
ラム306は、クライアントマシン302のクライアン
トプログラム307から検索開始メッセージを受け取
り、次に言語Cと機種名403(ME)を受け取り、コ
ンパイラ保持マシン対応表304を走査してコンパイラ
保持マシン名101を、ライブラリ保持マシン対応表3
05を走査してライブラリ保持マシン情報209を得て
(ステップS6)、検索終了メッセージとともにクライ
アントプログラム307へ送る。もし該当するマシンが
ない場合は、コンパイラ不保持メッセージ、あるいはラ
イブラリ不保持メッセージをクライアントプログラム3
07に送り、再び検索開始メッセージ待ちの状態にな
る。
【0018】クライアントマシン302のクライアント
プログラム307は、検索終了メッセージとともにコン
パイラ保持マシン名101とライブラリ保持マシン情報
209をサーバプログラム306から受け取り、この受
け取った情報からコンパイラ保持マシン名101を知
り、そのマシンへコンパイルコマンド401、ソースフ
ァイル402、そしてサーバプログラム306から受け
取ったライブラリ保持マシン情報209、ホスト名をコ
ンパイル開始メッセージとともに送る(ステップS
7)。そしてコンパイラ保持マシン303のコンパイル
プログラム308からコンパイル終了メッセージが送ら
れてくるのを待つ(ステップS8)。
【0019】コンパイラ保持マシン303のコンパイル
プログラム308は、クライアントプログラム307か
らコンパイル開始メッセージを受け取り、次にコンパイ
ルコマンド401、ソースファイル402、ライブラリ
保持マシン情報209、ホスト名を受け取り、送られて
きたコンパイルコマンド401に従って送られてきたソ
ースファイル402をコンパイルする(ステップS
9)。必要なライブラリは、送られてきたライブラリ保
持マシン情報209を走査し該当するマシンから持って
きてリンクする(ステップS10)。そして、できたオ
ブジェクトファイルをコンパイル終了メッセージととも
にクライアントプログラム307に送る(ステップS1
1)。クライアントマシン302のクライアントプログ
ラム307は、コンパイル終了メッセージとともにオブ
ジェクトファイルを受け取る(ステップS12)。
【0020】上記実施例の処理は以下のようにまとめる
ことができる。 (1)分散環境下において、サーバマシンにコンパイル
保持マシン対応表とライブラリ保持マシン対応表を設
け、ファイルに格納しておく。 (2)サーバマシンでサーバプログラムが走りだし、ク
ライアントプログラムからの検索開始メッセージを待ち
続ける。 (3)ユーザーが端末機からコンパイルを開始するため
のコマンド(通常のコンパイルコマンド、ソースファイ
ル名、指定機種名)を入力した時、サーバプログラムへ
検索開始メッセージとともに、指定機種名、言語名、ク
ライアントマシンのホスト名を検索情報として送り、サ
ーバプログラムからの検索終了メッセージを待つ。 (4)検索開始メッセージを受け取ったサーバプログラ
ムは検索受け付け状態になり、検索情報として指定機種
名、言語名、クライアントマシンのホストマシン名を受
け取る。それらの情報を受け取ると、サーバプログラム
は指定された機種、指定された言語のコンパイラを保持
しているマシン名と、指定された機種のライブラリ保持
マシン情報を探し出し、それらの情報を、検索を依頼し
たクライアントプログラムへ検索終了メッセージととも
に送る。 (5)検索終了メッセージを受け取ったクライアントプ
ログラムは、送られてきた情報よりコンパイラを保持し
ているマシンを知り、そのマシンへコンパイル要求メッ
セージ、ソースファイル、サーバプログラムから送られ
てきたライブラリ保持マシン情報、クライアントマシン
のホスト名を送り、コンパイル終了メッセージを待つ。 (6)コンパイル要求メッセージを受け取ったコンパイ
ルを保持しているマシンは、必要なライブラリを、送ら
れてきたライブラリ保持マシン情報を走査しそのライブ
ラリを保持しているマシンから選定して集めてくる。そ
してコンパイル及びリンクし、できたオブジェクトファ
イルをコンパイル終了メッセージとともにクライアント
プログラムに送る。 (7)クライアントプログラムはコンパイル終了メッセ
ージとともにオブジェクトファイルを受け取る。
【0021】
【発明の効果】以上のように本発明によれば、分散環境
下にあるマシンのうちでサーバマシンには、各機種、各
言語ごとのコンパイラと該コンパイラを保持しているマ
シンとの対応関係を示すコンパイラ保持マシン対応表
と、各機種のライブラリと該ライブラリを保持している
マシンとの対応関係を示すライブラリ保持マシン対応表
とを備えるとともに、上記分散環境下にあるクライアン
トマシンからコンパイルの要求を受けたならば、上記コ
ンパイラ保持マシン対応表とライブラリ保持マシン対応
表を参照して、上記クライアントマシンが要求するコン
パイルに必要なコンパイラ及びライブラリを保持してい
る上記分散環境下にあるマシンをそれぞれ探し出し、探
し出したマシンに関する情報を上記クライアントマシン
に送る処理を実行するためのサーバ側処理実行手段を備
え、上記クライアントマシンには、上記サーバマシンか
ら送られてきたマシンに関する情報を受けて、コンパイ
ラを保持しているマシンへソースプログラムと上記サー
バマシンから得たライブラリ保持マシン情報を転送する
処理を実行するためのクライアント側処理実行手段を備
え、さらに、コンパイラを保持しているコンパイラ保持
マシンには、上記クライアントマシンからのコンパイル
開始要求によりコンパイルを開始するとともに、上記ク
ライアントマシンからのライブラリ保持マシン情報に基
づいて必要なライブラリを保持しているマシンからライ
ブラリを集めてきてライブラリをリンクし、作成された
オブジェクトファイルを、コンパイル要求元の上記クラ
イアントマシンへ転送するコンパイル処理実行手段を備
えているので、分散環境下での同一機種のコンパイラの
重複が削除され、これによりメモリ資源が有効活用でき
て経済性の向上が図れ、また、ユーザーが使用している
マシンにコンパイラがない時でもユーザーは、そのこと
を何ら意識することなくオブジェクトファイルを得るこ
とができ、これにより操作の自動化が実現できて作業能
率の向上が図れ、また、ソフトウエアの使用の拡張性も
あるという効果が得られる。
【図面の簡単な説明】
【図1】この発明の一実施例によるサーバマシンが保持
しているコンパイラ保持マシン対応表を示す図である。
【図2】この発明の一実施例によるサーバマシンが保持
しているライブラリ保持マシン対応表を示す図である。
【図3】この発明の一実施例に係る分散環境のネットワ
ークの構成図である。
【図4】この実施例においてクライアントへのコマンド
入力例を示す図である。
【図5】この実施例においてクライアントマシンの処理
を示すフローチャートである。
【図6】この実施例においてサーバマシンの処理を示す
フローチャートである。
【図7】この実施例においてコンパイラ保持マシンの処
理を示すフローチャートである。
【図8】この実施例において分散環境でのコンパイル処
理を示すフローチャートである。
【図9】従来のコンピュータネットワークの概要構成図
である。
【図10】原始プログラムの翻訳から実行までの流れを
示すフローチャートである。
【符号の説明】
301 サーバマシ 302 クライアントマシ 303 コンパイラ保持マシ 304 コンパイラ保持マシン対応表 305 ライブラリ保持マシン対応表 306 サーバプログラム(サーバ側処理実行手段) 307 クライアントプログラム(クライアント側処理
実行手段) 308 コンパイルプログラム(コンパイル処理実行手
段)

Claims (1)

    (57)【特許請求の範囲】
  1. 【請求項1】 複数の異なる機種のコンピュータをネッ
    トワークを介して接続した分散環境において、上記分散環境下のコンピュータであるマシンのうちでサ
    ーバマシンには、 各機種、各言語ごとのコンパイラと該
    コンパイラを保持しているマシンとの対応関係を示すコ
    ンパイラ保持マシン対応表と、各機種のライブラリと該
    ライブラリを保持しているマシンとの対応関係を示すラ
    イブラリ保持マシン対応表とを備えるとともに、上記分
    散環境下にあるクライアントマシンからコンパイルの要
    求を受けたならば、上記コンパイラ保持マシン対応表と
    ライブラリ保持マシン対応表を参照して、上記クライア
    ントマシンが要求するコンパイルに必要なコンパイラ及
    びライブラリを保持している上記分散環境下にあるマシ
    ンをそれぞれ探し出し、探し出したマシンに関する情報
    を上記クライアントマシンに送る処理を実行するための
    サーバ側処理実行手段を備え、上記クライアントマシン
    には、上記サーバマシンから送られてきたマシンに関す
    る情報を受けて、コンパイラを保持しているマシンへソ
    ースプログラムと上記サーバマシンから得たライブラリ
    保持マシン情報を転送する処理を実行するためのクライ
    アント側処理実行手段を備え、さらに、コンパイラを保
    持しているコンパイラ保持マシンには、上記クライアン
    トマシンからのコンパイル開始要求によりコンパイルを
    開始するとともに、上記クライアントマシンからのライ
    ブラリ保持マシン情報に基づいて必要なライブラリを保
    持しているマシンからライブラリを集めてきてライブラ
    リをリンクし、作成されたオブジェクトファイルを、コ
    ンパイル要求元の上記クライアントマシンへ転送するコ
    ンパイル処理実行手段を備えていることを特徴とする分
    散環境下におけるコンパイル方式。
JP3274602A 1991-09-26 1991-09-26 分散環境下におけるコンパイル方式 Expired - Lifetime JP2665089B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP3274602A JP2665089B2 (ja) 1991-09-26 1991-09-26 分散環境下におけるコンパイル方式
US07/951,461 US5313635A (en) 1991-09-26 1992-09-25 Compiling system for distributed computer system with multiple types of computers

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP3274602A JP2665089B2 (ja) 1991-09-26 1991-09-26 分散環境下におけるコンパイル方式

Publications (2)

Publication Number Publication Date
JPH0588907A JPH0588907A (ja) 1993-04-09
JP2665089B2 true JP2665089B2 (ja) 1997-10-22

Family

ID=17544023

Family Applications (1)

Application Number Title Priority Date Filing Date
JP3274602A Expired - Lifetime JP2665089B2 (ja) 1991-09-26 1991-09-26 分散環境下におけるコンパイル方式

Country Status (2)

Country Link
US (1) US5313635A (ja)
JP (1) JP2665089B2 (ja)

Families Citing this family (57)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3595564B2 (ja) * 1993-10-27 2004-12-02 キヤノン株式会社 文書処理装置及びその方法
US5754852A (en) * 1993-12-29 1998-05-19 International Business Machines Corporation Apparatus for combining cellular telephone ring signals and PSTN ring signals
EP0674414B1 (en) * 1994-03-21 2002-02-27 Avid Technology, Inc. Apparatus and computer-implemented process for providing real-time multimedia data transport in a distributed computing system
US5666501A (en) * 1995-03-30 1997-09-09 International Business Machines Corporation Method and apparatus for installing software
US5740469A (en) * 1995-04-24 1998-04-14 Motorola Inc. Apparatus for dynamically reading/writing multiple object file formats through use of object code readers/writers interfacing with generalized object file format interface and applications programmers' interface
US5860006A (en) * 1995-09-15 1999-01-12 Apple Computer, Inc. Processor independent network operating system loadable modules
US6067575A (en) * 1995-12-08 2000-05-23 Sun Microsystems, Inc. System and method for generating trusted, architecture specific, compiled versions of architecture neutral programs
US6345311B1 (en) * 1995-12-27 2002-02-05 International Business Machines Corporation Method and system of dynamically moving objects between heterogeneous execution environments
US5761512A (en) * 1995-12-27 1998-06-02 International Business Machines Corporation Automatic client-server complier
US5774728A (en) * 1995-12-27 1998-06-30 International Business Machines Corporation Method and system for compiling sections of a computer program for multiple execution environments
AU747018B2 (en) * 1996-01-16 2002-05-09 British Telecommunications Public Limited Company Distributed processing
GB9600823D0 (en) * 1996-01-16 1996-03-20 British Telecomm Distributed processing
US6052711A (en) * 1996-07-01 2000-04-18 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session web access in an interprise computing framework system.
US6266709B1 (en) 1996-07-01 2001-07-24 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server failure reporting process
US6424991B1 (en) 1996-07-01 2002-07-23 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server communication framework
US6272555B1 (en) 1996-07-01 2001-08-07 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server-centric interprise computing framework system
US6038590A (en) * 1996-07-01 2000-03-14 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server state machine in an interprise computing framework system
US6434598B1 (en) 1996-07-01 2002-08-13 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server graphical user interface (#9) framework in an interprise computing framework system
US6304893B1 (en) 1996-07-01 2001-10-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server event driven message framework in an interprise computing framework system
US5848246A (en) * 1996-07-01 1998-12-08 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture for a client-server session manager in an interprise computing framework system
US5987245A (en) * 1996-07-01 1999-11-16 Sun Microsystems, Inc. Object-oriented system, method and article of manufacture (#12) for a client-server state machine framework
US5999972A (en) * 1996-07-01 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
US5881289A (en) * 1996-11-26 1999-03-09 Hewlett-Packard Company Remote compiling of source code for cross development
US6247173B1 (en) 1997-09-24 2001-06-12 Hewlett-Packard Company Computer compiler optimizer for reducing computer resource consumption during dependence analysis after loop unrolling
US6237035B1 (en) * 1997-12-18 2001-05-22 International Business Machines Corporation System and method for preventing duplicate transactions in an internet browser/internet server environment
US6185733B1 (en) * 1998-01-20 2001-02-06 International Business Machines Corporation Method and apparatus for remote object code inclusion
US6442685B1 (en) 1999-03-31 2002-08-27 International Business Machines Corporation Method and system for multiple network names of a single server
US6609246B1 (en) * 1999-12-07 2003-08-19 Bull Hn Information Systems Inc. Integrated development environment for high speed transaction processing WWW applications on heterogeneous computer systems
WO2001079999A2 (en) * 2000-04-12 2001-10-25 Microsoft Corporation Method and system for accepting precompiled information
US7155606B1 (en) 2000-04-12 2006-12-26 Microsoft Corporation Method and system for accepting preverified information
US20080201406A1 (en) * 2000-10-16 2008-08-21 Edward Balassanian Feature manager system for facilitating communication and shared functionality among components
DE10108487A1 (de) * 2001-02-22 2002-09-12 Giesecke & Devrient Gmbh Verfahren und System zur verteilten Erstellung eines Programms für einen programmierbaren, tragbaren Datenträger
US7389492B2 (en) * 2001-03-12 2008-06-17 International Business Machines Corporation Framework for code generators
GB0121064D0 (en) * 2001-08-31 2001-10-24 Transitive Technologies Ltd Obtaining translation of generic code representation
US20030149958A1 (en) * 2002-02-06 2003-08-07 Shumeet Baluja Automatic code generation for applications which run on common platforms
KR20030089044A (ko) * 2002-05-15 2003-11-21 송경섭 소스코드모듈 조합 및 웹환경 제공이 가능한 컴파일시스템 및 방법
KR20040051023A (ko) * 2002-12-11 2004-06-18 엘지전자 주식회사 웹 기반 운영 체제 컴파일 시스템 및 방법
US7168064B2 (en) * 2003-03-25 2007-01-23 Electric Cloud, Inc. System and method for supplementing program builds with file usage information
US20060031821A1 (en) * 2004-08-04 2006-02-09 Rutter Budd J Ii Divided compiling program application functionality for software development
US7503040B2 (en) * 2004-09-30 2009-03-10 International Business Machines Corporation Configuring a shared library to accommodate relocatable data in a pervasive device
US7966608B2 (en) * 2005-10-26 2011-06-21 Hewlett-Packard Development Company, L.P. Method and apparatus for providing a compiler interface
JP2008217193A (ja) * 2007-03-01 2008-09-18 Nec Corp プレリンクシステム、プレリンク方法、及びプログラム
US8422480B2 (en) 2007-10-01 2013-04-16 Qualcomm Incorporated Acknowledge mode polling with immediate status report timing
US8365153B2 (en) * 2007-10-26 2013-01-29 Qualcomm Incorporated Server-based code compilation
US20090217246A1 (en) * 2008-02-27 2009-08-27 Nce Technologies, Inc. Evaluating Software Programming Skills
US8402448B2 (en) * 2008-09-18 2013-03-19 Infineon Technologies Ag Compiler system and a method of compiling a source code into an encrypted machine language code
US9069644B2 (en) 2009-04-10 2015-06-30 Electric Cloud, Inc. Architecture and method for versioning registry entries in a distributed program build
US8607189B2 (en) * 2009-05-18 2013-12-10 National Instruments Corporation Dynamic analysis of a graphical program in a browser
US9117071B2 (en) 2009-06-03 2015-08-25 Apple Inc. Methods and apparatuses for secure compilation
US8677329B2 (en) * 2009-06-03 2014-03-18 Apple Inc. Methods and apparatuses for a compiler server
KR20130073374A (ko) * 2011-12-23 2013-07-03 삼성전자주식회사 응용 프로그램의 분산형 컴파일 시스템, 장치 및 방법
US9275644B2 (en) 2012-01-20 2016-03-01 Qualcomm Incorporated Devices for redundant frame coding and decoding
US9075913B2 (en) 2012-02-27 2015-07-07 Qualcomm Incorporated Validation of applications for graphics processing unit
CN103019772A (zh) * 2012-11-23 2013-04-03 东方网力科技股份有限公司 一种软件开发中的自动化编译方法及系统
CN104679893A (zh) * 2015-03-18 2015-06-03 成都金本华科技股份有限公司 一种基于大数据的信息检索方法
CN104679897A (zh) * 2015-03-18 2015-06-03 成都金本华科技股份有限公司 一种大数据环境下的数据检索方法
CN104679896A (zh) * 2015-03-18 2015-06-03 成都金本华科技股份有限公司 一种大数据环境下的智能检索方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6184740A (ja) * 1984-10-03 1986-04-30 Hitachi Ltd 汎用オブジエクトコ−ド生成方式
US4901231A (en) * 1986-12-22 1990-02-13 American Telephone And Telegraph Company Extended process for a multiprocessor system
US4809170A (en) * 1987-04-22 1989-02-28 Apollo Computer, Inc. Computer device for aiding in the development of software system
JPS63271564A (ja) * 1987-04-28 1988-11-09 Nec Corp 分散型テキスト編集システム
US4951192A (en) * 1987-06-04 1990-08-21 Apollo Computer, Inc. Device for managing software configurations in parallel in a network
US4885684A (en) * 1987-12-07 1989-12-05 International Business Machines Corporation Method for compiling a master task definition data set for defining the logical data flow of a distributed processing network
JPH01196639A (ja) * 1988-02-01 1989-08-08 Mitsubishi Electric Corp 情報処理装置
US4949254A (en) * 1988-09-29 1990-08-14 Ibm Corp. Method to manage concurrent execution of a distributed application program by a host computer and a large plurality of intelligent work stations on an SNA network

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
「UNIX MAGAZINE」 VOL.5,NO.11 (1990−11)、株式会社アスキー、P.46−58

Also Published As

Publication number Publication date
US5313635A (en) 1994-05-17
JPH0588907A (ja) 1993-04-09

Similar Documents

Publication Publication Date Title
JP2665089B2 (ja) 分散環境下におけるコンパイル方式
US6845505B1 (en) Web request broker controlling multiple processes
US5339435A (en) Heterogenous software configuration management apparatus
US6370687B1 (en) Network computer system and substitute compile server
US6996833B1 (en) Protocol agnostic request response pattern
JP4118456B2 (ja) プログラム言語処理システム、コード最適化方法、及び機械読み出し可能な記憶媒体
KR20050000342A (ko) 분산 쿼리 엔진 파이프라인 방법 및 시스템
JP2000029714A (ja) 分散システム中における実行用プログラムコンポ―ネントのパッケ―ジ方法、実行用プログラムコンポ―ネントのパッケ―ジプログラムを記憶したコンピュ―タ読み書き可能な記憶媒体及びコンピュ―タシステム
JP2000155686A (ja) 分散システム中におけるプログラム実行方法及びその装置、分散システム中におけるプログラム実行手順を記憶したコンピュ―タ読み書き可能な記憶媒体及びコンピュ―タシステム
JP3778593B2 (ja) システム資源管理装置および管理方法
US7712088B2 (en) Method and system for a batch parser
Chang A Service Acquisition Mechanism for the Client/Service Model in
Dincer et al. Building a world-wide virtual machine based on Web and HPCC technologies
US5774644A (en) Method and apparatus for generating a pair of interoperating communications programs
JPH08235112A (ja) 計算機システムの分散ジョブ管理方式
Pase Dynamic probe class library (dpcl): Tutorial and reference guide
Fenwick Jr et al. Issues and experiences in implementing a distributed tuplespace
KR0123247B1 (ko) 디비엠에스(dbms)의 실시간 지원을 위한 데이타 조작어 처리 방법
JPH04107741A (ja) Rpcにおけるサービスプロシージャの外出し方式
JPH0877118A (ja) 分散処理装置及びプロセス実行方法
JPH10187468A (ja) 並列分散処理システムおよびその方法
Mustafa Parallel and Distributed Just-in-Time Shell Script Compilation
JP3693311B2 (ja) 分散処理システム
JP2000250735A (ja) データ変換方式及びプログラムを記録したコンピュータ読み取り可能な記録媒体
JP2002132502A (ja) 言語機能解釈による分散オブジェクト自動生成システム及び方法