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

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

Info

Publication number
JPH0588907A
JPH0588907A JP3274602A JP27460291A JPH0588907A JP H0588907 A JPH0588907 A JP H0588907A JP 3274602 A JP3274602 A JP 3274602A JP 27460291 A JP27460291 A JP 27460291A JP H0588907 A JPH0588907 A JP H0588907A
Authority
JP
Japan
Prior art keywords
machine
holding
library
compiler
client
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.)
Granted
Application number
JP3274602A
Other languages
English (en)
Other versions
JP2665089B2 (ja
Inventor
Akiko Ishizuka
章子 石塚
Takahide Oogami
貴英 大上
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 OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; 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 OR CALCULATING; 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Devices For Executing Special Programs (AREA)
  • Multi Processors (AREA)
  • Stored Programmes (AREA)

Abstract

(57)【要約】 (修正有) 【目的】 分散環境下での同一機種のコンパイラの重複
を削減してデイスクメモリの有効活用を図り、また、サ
ーバマシンを用いてユーザーの手間を省く。 【構成】 サーバマシン301に、各機種、各言語ごと
のコンパイラ保持マシン対応表304と、ライブラリ保
持マシン対応表305を設ける。サーバマシン301は
前記2つの対応表を用いてクライアントマシン302が
要求するコンパイルに必要なコンパイラ及びライブラリ
を保持しているマシンを探し出し、それらの情報をクラ
イアントマシン302に送る。クライアントマシン30
2はコンパイラ保持マシン303にソースプログラムと
サーバマシン301からのライブラリ保持マシン情報を
転送し、更にコンパイラ保持マシン303はライブラリ
保持マシン情報を走査して必要なライブラリをコンパイ
ル及びリンクし、できたオブジェクトファイルをクライ
アントマシン302へ転送する。

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】
【課題を解決するための手段】この発明に係るコンパイ
ル方式は、各機種、各言語ごとのコンパイラと該コンパ
イラを保持しているマシンとの対応関係を示すコンパイ
ラ保持マシン対応表304と、各機種のライブラリと該
ライブラリを保持しているマシンとの対応関係を示すラ
イブラリ保持マシン対応表305とを備え、上記環境下
にある特定のマシン上で動作するサーバ(サーバマシン
301)は、上記環境下のマシン上で動作するクライア
ント(クライアントマシン302)からコンパイルの要
求を受け取ると、上記コンパイラ保持マシン対応表30
4とライブラリ保持マシン対応表305を用いて、クラ
イアントが要求するコンパイルに必要なコンパイラ及び
ライブラリを保持しているマシンをそれぞれ探し出し、
それらの探し出したマシンに関する情報をクライアント
に送り、そのクライアントはコンパイラを保持している
マシン(コンパイラ保持マシン303)へソースプログ
ラムとサーバから得たライブラリ保持マシン情報を転送
し、そのライブラリ保持マシン情報を受け取ったコンパ
イラを保持しているマシンは、ライブラリ保持マシン情
報から必要なライブラリを保持しているマシンを知り、
このマシンからライブラリを集めてきてコンパイル及び
リンクし、作成されたオブジェクトファイルをクライア
ントへ転送することを特徴とするものである。
【0008】
【作用】この発明におけるコンパイル方式は、クライア
ント(クライアントマシン302)から機種名と言語の
種類が与えられると、サーバ(サーバマシン301)は
対応表304,305から必要なコンパイラ及びライブ
ラリを保持しているマシンを探し、そのマシン名とその
言語のライブラリ保持マシン情報をクライアントに送
る。それを受け取ったクライアントは、コンパイラを保
持しているマシン(コンパイラ保持マシン303)へソ
ースプログラムとライブラリ保持マシン情報を転送し、
コンパイルを要求する。コンパイルを要求されたマシン
は、必要なライブラリを、送られてきたライブラリ保持
マシン情報を走査して、そのライブラリを保持している
マシンから集めてきてコンパイル及びリンクする。そし
てできたオブジェクトファイルをクライアントに転送す
る。この方式により、分散環境下での同一機種のコンパ
イラの重複が削減され、また、ユーザーがコンパイラを
保持したマシンを意識することなく、オブジェクトファ
イルを得ることができる。
【0009】
【実施例】図1はこの発明の一実施例に係るコンパイル
方式において用いられるコンパイラ保持マシン対応表を
示す図である。このコンパイラ保持マシン対応表304
は、各機種、各言語ごとのコンパイラと該コンパイラを
保持しているマシンとの対応関係を示すものである。図
1中で左の欄は言語、中央の欄は機種名で、その言語の
その機種用のコンパイラを右の欄のマシンが保持してい
るということを示している。図1中で101〜105は
コンパイラ保持マシン名を示す。
【0010】図2はこのコンパイル方式において用いら
れるライブラリ保持マシン対応表を示す図である。この
ライブラリ保持マシン対応表305は、各機種のライブ
ラリと該ライブラリを保持しているマシンとの対応関係
を示すものである。図2中で左の欄は機種名で、中央の
欄のライブラリを右の欄のマシンが保持しているという
ことを示している。図2中で208〜210はライブラ
リ保持マシン情報を示す。
【0011】図3はこの実施例に係る分散環境の構成図
である。図3において、301は後述する検索処理を行
うサーバマシン(サーバ)、302はコンパイルを要求
するクライアントマシン(クライアント)、303はコ
ンパイラを保持しているマシンであるコンパイラ保持マ
シンを示す。サーバマシン301は、コンパイラ保持マ
シン対応表304、ライブラリ保持マシン対応表30
5、及びサーバプログラム306を備えている。分散環
境下のすべてのマシンはクライアントプログラム307
を保持し、コンパイラ保持マシン303は他にコンパイ
ルプログラム308を保持している。コンパイラ保持マ
シン対応表304及びライブラリ保持マシン対応表30
5はサーバマシン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 サーバプログラム

Claims (1)

    【特許請求の範囲】
  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 true JPH0588907A (ja) 1993-04-09
JP2665089B2 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)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121382A (ja) * 1993-10-27 1995-05-12 Canon Inc 文書処理装置
KR20030089044A (ko) * 2002-05-15 2003-11-21 송경섭 소스코드모듈 조합 및 웹환경 제공이 가능한 컴파일시스템 및 방법
KR20040051023A (ko) * 2002-12-11 2004-06-18 엘지전자 주식회사 웹 기반 운영 체제 컴파일 시스템 및 방법
JP2008217193A (ja) * 2007-03-01 2008-09-18 Nec Corp プレリンクシステム、プレリンク方法、及びプログラム
JP2011501325A (ja) * 2007-10-26 2011-01-06 クゥアルコム・インコーポレイテッド サーバ−ベースのコードコンパイル
US8422480B2 (en) 2007-10-01 2013-04-16 Qualcomm Incorporated Acknowledge mode polling with immediate status report timing
US9075913B2 (en) 2012-02-27 2015-07-07 Qualcomm Incorporated Validation of applications for graphics processing unit
US9275644B2 (en) 2012-01-20 2016-03-01 Qualcomm Incorporated Devices for redundant frame coding and decoding

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US5761512A (en) * 1995-12-27 1998-06-02 International Business Machines Corporation Automatic client-server complier
US6345311B1 (en) * 1995-12-27 2002-02-05 International Business Machines Corporation Method and system of dynamically moving objects between heterogeneous execution environments
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
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
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
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
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
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.
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
US5999972A (en) * 1996-07-01 1999-12-07 Sun Microsystems, Inc. System, method and article of manufacture for a distributed computer system framework
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
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
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
AU2001247742A1 (en) * 2000-04-12 2001-10-30 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
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
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
US8656344B2 (en) * 2009-05-18 2014-02-18 National Instruments Corporation Executing a graphical data flow 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 삼성전자주식회사 응용 프로그램의 분산형 컴파일 시스템, 장치 및 방법
CN103019772A (zh) * 2012-11-23 2013-04-03 东方网力科技股份有限公司 一种软件开发中的自动化编译方法及系统
CN104679893A (zh) * 2015-03-18 2015-06-03 成都金本华科技股份有限公司 一种基于大数据的信息检索方法
CN104679896A (zh) * 2015-03-18 2015-06-03 成都金本华科技股份有限公司 一种大数据环境下的智能检索方法
CN104679897A (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

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07121382A (ja) * 1993-10-27 1995-05-12 Canon Inc 文書処理装置
KR20030089044A (ko) * 2002-05-15 2003-11-21 송경섭 소스코드모듈 조합 및 웹환경 제공이 가능한 컴파일시스템 및 방법
KR20040051023A (ko) * 2002-12-11 2004-06-18 엘지전자 주식회사 웹 기반 운영 체제 컴파일 시스템 및 방법
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
JP2011501325A (ja) * 2007-10-26 2011-01-06 クゥアルコム・インコーポレイテッド サーバ−ベースのコードコンパイル
US8365153B2 (en) 2007-10-26 2013-01-29 Qualcomm Incorporated Server-based code compilation
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

Also Published As

Publication number Publication date
US5313635A (en) 1994-05-17
JP2665089B2 (ja) 1997-10-22

Similar Documents

Publication Publication Date Title
JPH0588907A (ja) 分散環境下におけるコンパイル方式
JP2666847B2 (ja) 異種言語間連絡方式
JPWO2000045260A1 (ja) コンパイラ装置、コンパイル方法、およびそのためのプログラムを格納した記憶媒体
JPH02165241A (ja) ファイルアクセス方式
JP2005108082A (ja) デバイスドライバのインターフェース方法
JP2000020443A (ja) ソフトウェアエージェントシステム
KR0123247B1 (ko) 디비엠에스(dbms)의 실시간 지원을 위한 데이타 조작어 처리 방법
JPH04107741A (ja) Rpcにおけるサービスプロシージャの外出し方式
JPH10333917A (ja) 分散コンパイル方式
JPH0823861B2 (ja) 分散処理方法
JP3693311B2 (ja) 分散処理システム
JPH0863421A (ja) ハードウェア構成情報集中管理方式
JP3022837B2 (ja) サービス機能提供装置および提供方法
JPH05143410A (ja) 分散データベースのアクセス制御方法
JP3192177B2 (ja) オブジェクト処理装置
JP3037129B2 (ja) コマンドデータベース作成装置
JPS63178345A (ja) デ−タベ−スアクセス処理方式
JPH05233231A (ja) ライブラリ管理方法
JP2708414B2 (ja) データ項目デイクシヨナリ管理処理方式
JPH10240530A (ja) オブジェクト指向処理システム
JPH0378045A (ja) 計算機システム
JPS5894041A (ja) 高級言語のデバツク支援装置
JPS63271564A (ja) 分散型テキスト編集システム
JP2003085013A (ja) Pdmシステム、システム接続用プログラム作成方法
JPH08314698A (ja) 共用オペレーティングシステムの生成方式