JPH03147151A - 共通ルーチンを用いた移植性の資源共用ファイルサーバ - Google Patents
共通ルーチンを用いた移植性の資源共用ファイルサーバInfo
- Publication number
- JPH03147151A JPH03147151A JP2295139A JP29513990A JPH03147151A JP H03147151 A JPH03147151 A JP H03147151A JP 2295139 A JP2295139 A JP 2295139A JP 29513990 A JP29513990 A JP 29513990A JP H03147151 A JPH03147151 A JP H03147151A
- Authority
- JP
- Japan
- Prior art keywords
- common
- block
- common routine
- routine
- computer
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4482—Procedural
- G06F9/4484—Executing subprograms
- G06F9/4486—Formation of subprogram jump address
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer And Data Communications (AREA)
- Small-Scale Networks (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。
め要約のデータは記録されません。
Description
本発明は、コンピュータシステムに関したものであり、
とりわけ、ローカルエリアネットワークを介してデータ
を共用する方法に関するものである。とりわけ、本発明
は、ファイルサーバホストコンピュータにおいて共通ル
ーチンを利用し、ローカルエリアネットワークを介して
複数のクライアントのコンピュータにファイルアクセス
サービスを提供することに関連したものである。
とりわけ、ローカルエリアネットワークを介してデータ
を共用する方法に関するものである。とりわけ、本発明
は、ファイルサーバホストコンピュータにおいて共通ル
ーチンを利用し、ローカルエリアネットワークを介して
複数のクライアントのコンピュータにファイルアクセス
サービスを提供することに関連したものである。
一般的なコンピュータシステムは、プロセッサメモリ、
及び、ハードディスクのような大容量記憶装置から構成
される。大形の本体コンピュータには、通常、多くの端
末が取りつけられており、各ユーザは、端末の1つを介
して本体コンピュータにアクセスする。エンジニアリン
グワークステーション及びパーソナルコンピュータのよ
うな小形システムの場合、コンピュータは、キーボード
とデイスプレィを備えており、それらを介して、ユーザ
はコンピュータにアクセスする。それぞれ、異なるプロ
セ・ンサを用いる多種多様なコンピュータシステムが、
今日では利用されている。各コンピュータシステム内の
オペ−レーティングシステムは、実際にユーザーの作業
を実施するアプリケーションソフトウェアの基本機能を
実施する。MS−DO8は、パーソナルコンピュータに
用いられる典型的なオペレーティングシステムであり、
一方、UNIXは、パーソナルコンピュータ、エンジニ
アリングワークステーション、及び、大形本体にさえ用
いられるオペレーティングシステムである。 本来、ユーザーは、彼らが利用している特定のコンピュ
ータの大容量記憶装置で得られるデータだけでしかアク
セスすることができなかった。パーソナルコンピュータ
の利用は、1980年代の初めに普及したが、他のコン
ピュータに納められたデータにアクセスしようとするユ
ーザが、益々増えてきた。本来、このアクセスは、R8
−232のようなごく低速の通信リンクを介して行われ
た。コンピュータ間におけるさらに多くのデータアクセ
スに対する要求が増大してきたので、高速ローカルエリ
アネットワーク(LAN)が開発された。ローカルエリ
アネットワークは、超高速度で、通常、1000万ビツ
ト/秒の速度でデータ転送を行うように設計されており
、コンピュータ間におけるデータの共用に非常に適して
いる。ローカルエリアネットワークの高速度によるデー
タ転送が可能になったことで、共通のプリンタのような
他の資源の共用が可能になった。 資源共用コンピュータシステムは、一般に、ローカルエ
リアネットワークに接続されたホストコンピュータで構
成される。LANは、ホストコンピュータの共通資源を
利用する一連のクライアントの各コンピュータにも接続
されている。一般に、クライアントのコンピュータは、
ホストコンピュータのディスクを利用して、データの全
てを記憶する。クライアントのコンピュータは、プリン
タや、ホストコンピュータに設けられた他の共通資源も
利用する。これらのサービスを提供するため、ホストコ
ンピュータは、クライアントのコンピュータにとって所
望のサービスを行う。ソフトウェアを共用する資源を備
えていなければならない。例えば、いくつかのクライア
ントのコンピュータが、ホストコンピュータにプリント
データを送る可能性があり、ホストコンピュータ内のソ
フトウェアは、各クライアントのコンピュータからのプ
リントデータを別個にしておかなければならない。 クライアントのコンピュータがMS−DO3のような小
形のオペレーティングシステムを実行しており、クライ
アントのコンピュータの数が少ない場合、ホストコンピ
ュータに対する作業負荷も少なく、単純なファイルサー
ビングシステムで十分である。しかし、クライアントの
コンピュータの数が増し、該コンピュータがUNIX又
はOS/2といった多重タスクオペレーティングシステ
ムを実行するようになると、ホストシステムに対する作
業負荷が大幅に増すことになる。とりわけ、クライアン
トのコンピュータが同時に複数の要求を送ることのでき
る多重タスクオペレーティングシステムを備えている場
合、作業負荷が増すにつれて、ホストサーバの性能要件
が重要になってくる。 ホストサーバシステムに関するもう1つの問題は、多種
多様なホストプロセッサで実行できるように設計しなけ
ればならない。ホストサーバプログラムは、ホストコン
ピュータとして利用できる全ての機械で実行し得るのが
理想である。この移植性を与えるため、ホストサーバソ
フトウェアは、ある機械タイプから別の機械へ簡単に移
行し、ホストコンピュータのオペレーティングシステム
に修正を加えなくても実行されなければならない。 ホスト資源共用システムの設計においてしばしば生じる
ことになるもう1つの問題は、サーバがアクセスしなけ
ればならないファイル数が、ホストコンピュータシステ
ムにおける単一プロセスの能力を超えるという点である
。従って、ホストサーバは、それぞれ、クライアントの
コンピュータシステムのサブセットにサービスを行う複
数プロセスに分割しなければならない。
及び、ハードディスクのような大容量記憶装置から構成
される。大形の本体コンピュータには、通常、多くの端
末が取りつけられており、各ユーザは、端末の1つを介
して本体コンピュータにアクセスする。エンジニアリン
グワークステーション及びパーソナルコンピュータのよ
うな小形システムの場合、コンピュータは、キーボード
とデイスプレィを備えており、それらを介して、ユーザ
はコンピュータにアクセスする。それぞれ、異なるプロ
セ・ンサを用いる多種多様なコンピュータシステムが、
今日では利用されている。各コンピュータシステム内の
オペ−レーティングシステムは、実際にユーザーの作業
を実施するアプリケーションソフトウェアの基本機能を
実施する。MS−DO8は、パーソナルコンピュータに
用いられる典型的なオペレーティングシステムであり、
一方、UNIXは、パーソナルコンピュータ、エンジニ
アリングワークステーション、及び、大形本体にさえ用
いられるオペレーティングシステムである。 本来、ユーザーは、彼らが利用している特定のコンピュ
ータの大容量記憶装置で得られるデータだけでしかアク
セスすることができなかった。パーソナルコンピュータ
の利用は、1980年代の初めに普及したが、他のコン
ピュータに納められたデータにアクセスしようとするユ
ーザが、益々増えてきた。本来、このアクセスは、R8
−232のようなごく低速の通信リンクを介して行われ
た。コンピュータ間におけるさらに多くのデータアクセ
スに対する要求が増大してきたので、高速ローカルエリ
アネットワーク(LAN)が開発された。ローカルエリ
アネットワークは、超高速度で、通常、1000万ビツ
ト/秒の速度でデータ転送を行うように設計されており
、コンピュータ間におけるデータの共用に非常に適して
いる。ローカルエリアネットワークの高速度によるデー
タ転送が可能になったことで、共通のプリンタのような
他の資源の共用が可能になった。 資源共用コンピュータシステムは、一般に、ローカルエ
リアネットワークに接続されたホストコンピュータで構
成される。LANは、ホストコンピュータの共通資源を
利用する一連のクライアントの各コンピュータにも接続
されている。一般に、クライアントのコンピュータは、
ホストコンピュータのディスクを利用して、データの全
てを記憶する。クライアントのコンピュータは、プリン
タや、ホストコンピュータに設けられた他の共通資源も
利用する。これらのサービスを提供するため、ホストコ
ンピュータは、クライアントのコンピュータにとって所
望のサービスを行う。ソフトウェアを共用する資源を備
えていなければならない。例えば、いくつかのクライア
ントのコンピュータが、ホストコンピュータにプリント
データを送る可能性があり、ホストコンピュータ内のソ
フトウェアは、各クライアントのコンピュータからのプ
リントデータを別個にしておかなければならない。 クライアントのコンピュータがMS−DO3のような小
形のオペレーティングシステムを実行しており、クライ
アントのコンピュータの数が少ない場合、ホストコンピ
ュータに対する作業負荷も少なく、単純なファイルサー
ビングシステムで十分である。しかし、クライアントの
コンピュータの数が増し、該コンピュータがUNIX又
はOS/2といった多重タスクオペレーティングシステ
ムを実行するようになると、ホストシステムに対する作
業負荷が大幅に増すことになる。とりわけ、クライアン
トのコンピュータが同時に複数の要求を送ることのでき
る多重タスクオペレーティングシステムを備えている場
合、作業負荷が増すにつれて、ホストサーバの性能要件
が重要になってくる。 ホストサーバシステムに関するもう1つの問題は、多種
多様なホストプロセッサで実行できるように設計しなけ
ればならない。ホストサーバプログラムは、ホストコン
ピュータとして利用できる全ての機械で実行し得るのが
理想である。この移植性を与えるため、ホストサーバソ
フトウェアは、ある機械タイプから別の機械へ簡単に移
行し、ホストコンピュータのオペレーティングシステム
に修正を加えなくても実行されなければならない。 ホスト資源共用システムの設計においてしばしば生じる
ことになるもう1つの問題は、サーバがアクセスしなけ
ればならないファイル数が、ホストコンピュータシステ
ムにおける単一プロセスの能力を超えるという点である
。従って、ホストサーバは、それぞれ、クライアントの
コンピュータシステムのサブセットにサービスを行う複
数プロセスに分割しなければならない。
以上から明らかなように、当該技術においては、ローカ
ルエリアネットワークを介して多数のクライアントのコ
ンピュータに対する高性能な応答を行う、改良されたホ
スト資源サーバが必要とされている。また、当該技術に
おいては、各クライアントのコンピュータからの複数の
同時要求を処理できるシステムが必要とされている。ま
た、当該技術においては、ホストコンピュータのオペレ
ーティングシステムに修正を加えなくても実行されるシ
ステムが必要とされている。更に、いくつかのタイプの
ホストコンピュータプロセッサ間における移植性に優れ
たシステムが必要とされている。更に、いくつかのコン
ピュータプログラミング言語間における移植性に優れた
システムが必要とされている。更に、ホストコンピュー
タシステムにおける極めて多くのファイルにアクセス可
能なシステムが必要とされている。 本発明の目的は、ホストコンピュータと複数のクライア
ントのコンピュータの間においてファイルデータを共用
するファイル共用システムを提供することにある。 本発明のもう1つの目的は、こうしたシステムに高性能
な応答性を与えることにある。 もう1つの目的は、ホストコンピュータのオペレーティ
ングシステムに修正を加えずに、こうしたシステムを提
供することにある。 もう1つの目的は、いくつかのタイプのホストコンピュ
ータプロセッサ間における移植性に優れた前記システム
を提供することにある。 もう1つの目的は、いくつかのコンピュータプログラミ
ング言語間における移植性に優れた前記システムを提供
することにある。 更にもう1つの目的は、ソフトウェアのクリティカルセ
クションなしで実現する前記システムを提供することに
ある。 本発明の更にもう1つの目的は、多重レベルの処理ルー
チンを利用したシステムを提供することにある。 本発明のもう1つの目的は、クライアントのコンピュー
タからの全ての初期呼び出しを処理する監視プロセスを
有する前記システムを提供することにある。 本発明の更にもう1つの目的は、監視プロセスが各クラ
イアントのコンピュータ毎に独立したセツションワーカ
プロセスを生成する前記システムを提供することにある
。 もう1つの目的は、こうした各セツションワーカプロセ
スが、各クライアントのコンピュータ要求毎に独立した
共通ルーチンを生成する前記システムを提供することに
ある。 もう1つの目的は、共通ルーチンがセツションワーカプ
ロセスメモリを共用する前記システムを提供することに
ある。 もう1つの目的は、同じプログラミング命命が全てのこ
うした共通ルーチンによって共用される前記システムを
提供することにある。 本発明のもう1つの目的は、こうした共通ルーチンが、
実行中は強制排除されることがなく、それぞれ、ホスト
コンピュータの資源又は操作にサービスを行わなければ
ならなくなるまで、実行することが可能な前記システム
を提供することにある。 本発明のもう1つの目的は、高性能で、ブロッキングが
生じないようにデータを要求する並行要求を備えた多く
のアプリケーションに応用可能な前記システムを提供す
ることにある。
ルエリアネットワークを介して多数のクライアントのコ
ンピュータに対する高性能な応答を行う、改良されたホ
スト資源サーバが必要とされている。また、当該技術に
おいては、各クライアントのコンピュータからの複数の
同時要求を処理できるシステムが必要とされている。ま
た、当該技術においては、ホストコンピュータのオペレ
ーティングシステムに修正を加えなくても実行されるシ
ステムが必要とされている。更に、いくつかのタイプの
ホストコンピュータプロセッサ間における移植性に優れ
たシステムが必要とされている。更に、いくつかのコン
ピュータプログラミング言語間における移植性に優れた
システムが必要とされている。更に、ホストコンピュー
タシステムにおける極めて多くのファイルにアクセス可
能なシステムが必要とされている。 本発明の目的は、ホストコンピュータと複数のクライア
ントのコンピュータの間においてファイルデータを共用
するファイル共用システムを提供することにある。 本発明のもう1つの目的は、こうしたシステムに高性能
な応答性を与えることにある。 もう1つの目的は、ホストコンピュータのオペレーティ
ングシステムに修正を加えずに、こうしたシステムを提
供することにある。 もう1つの目的は、いくつかのタイプのホストコンピュ
ータプロセッサ間における移植性に優れた前記システム
を提供することにある。 もう1つの目的は、いくつかのコンピュータプログラミ
ング言語間における移植性に優れた前記システムを提供
することにある。 更にもう1つの目的は、ソフトウェアのクリティカルセ
クションなしで実現する前記システムを提供することに
ある。 本発明の更にもう1つの目的は、多重レベルの処理ルー
チンを利用したシステムを提供することにある。 本発明のもう1つの目的は、クライアントのコンピュー
タからの全ての初期呼び出しを処理する監視プロセスを
有する前記システムを提供することにある。 本発明の更にもう1つの目的は、監視プロセスが各クラ
イアントのコンピュータ毎に独立したセツションワーカ
プロセスを生成する前記システムを提供することにある
。 もう1つの目的は、こうした各セツションワーカプロセ
スが、各クライアントのコンピュータ要求毎に独立した
共通ルーチンを生成する前記システムを提供することに
ある。 もう1つの目的は、共通ルーチンがセツションワーカプ
ロセスメモリを共用する前記システムを提供することに
ある。 もう1つの目的は、同じプログラミング命命が全てのこ
うした共通ルーチンによって共用される前記システムを
提供することにある。 本発明のもう1つの目的は、こうした共通ルーチンが、
実行中は強制排除されることがなく、それぞれ、ホスト
コンピュータの資源又は操作にサービスを行わなければ
ならなくなるまで、実行することが可能な前記システム
を提供することにある。 本発明のもう1つの目的は、高性能で、ブロッキングが
生じないようにデータを要求する並行要求を備えた多く
のアプリケーションに応用可能な前記システムを提供す
ることにある。
以上の目的及びその他の目的は、ホストコンピュータと
複数のクライアントのコンピュータがローカルエリアネ
ットワークによって接続されたシステムによって実現す
る。ホストコンピュータにおける資源共用ソフトウェア
は、監視プログラムプロセス(d a emo nプロ
セスとも呼ばれる)、スプーラプロセス、及び、各クラ
イアントのコンピュータ毎に1つの、複数のセツション
ワーカプロセスから構成される。監視プログラムプロセ
スは、クライアントのコンピュータから最初の呼出し要
求を受信し、セツションワーカプロセスを生成して、特
定のクライアントのコンピュータからの後続する全ての
要求を処理する。 クライアントのコンピュータからの各要求は、サービス
メツセージブロック(SMB)要求と呼ばれ、各クライ
アントのコンピュータは、それぞれ別個になった要求に
対するセツションワーカからの応答を待たずに、いくつ
かのSMB要求を送信することができる。従って、各セ
・ソションワーカは、同時にいくつかのクライアントの
コンピュータのSMB要求を処理することかできる。 各セツションワーカプロセスは、多重タスクオペレーテ
ィングシステムにおける各タスクと同様の、並行に働く
複数の共通を生成する。セツションワーカプロセスは、
受信する各SMB要求毎に新しい共通ルーチンを開始さ
せる。共通ルーチンは、他のSMB要求の処理を行う他
の全ての共通ルーチンと並行して実行されるので、セツ
ションワーカは、クライアントのコンピュータからの各
要求に対し高性能な応答を示すことができる。 タスクと似てはいるが、共通ルーチンには、極めて重大
ないくつかの相違がある。共通ルーチンは、セツション
ワーカのスタックだけでなく、セツションワーカにおけ
る他の全ての記憶域も共用する。共通ルーチンは、タイ
ムスライスを施されないが、その代わり、そのタスクを
完了するまで、又は、利用できない資源に対するサービ
スの要求によって阻止されるまで、実行される。完了す
るか、あるいは阻止されると、共通ルーチンは、作業を
行う準備の整った次の共通ルーチンにプロセッサを引き
渡す。共通ルーチンは、他の共通ルーチンによる割り込
みを受けないので、資源について競合することはなく、
コードのクリティカルセクションは不要である。 各共通ルーチンにおけるソフトウェアは、複数レベルに
分割され、レベルO以外の全てのレベルは、高レベル言
詔で書かれており、プロセッサのハードウェアとは独立
している。従って、システムを異なるプロセッサに移行
する必要があれば、共通ルーチンのソフトウェアのうち
、レベルOのルーチンだけを移行すればよい。各共通ル
ーチンのソフトウェアは再入可能であり、従って、いく
つかの共通ルーチンの処理を同時に行うには、メモリに
ソフトウェアのコピーの1つが納められているだけでよ
い。 各セツションワーカプロセスは、1つのクライアントの
コンピュータ、及び、1つだけのクライアントのコンピ
ュータに専用である。従って、セツションワーカプロセ
ッサは、クライアントのコンピュータのファイル間にフ
ァイル保護を設ける必要はなく、こうしたファイル保護
については、基本的なオペレーティングシステムに頼る
ことができる。
複数のクライアントのコンピュータがローカルエリアネ
ットワークによって接続されたシステムによって実現す
る。ホストコンピュータにおける資源共用ソフトウェア
は、監視プログラムプロセス(d a emo nプロ
セスとも呼ばれる)、スプーラプロセス、及び、各クラ
イアントのコンピュータ毎に1つの、複数のセツション
ワーカプロセスから構成される。監視プログラムプロセ
スは、クライアントのコンピュータから最初の呼出し要
求を受信し、セツションワーカプロセスを生成して、特
定のクライアントのコンピュータからの後続する全ての
要求を処理する。 クライアントのコンピュータからの各要求は、サービス
メツセージブロック(SMB)要求と呼ばれ、各クライ
アントのコンピュータは、それぞれ別個になった要求に
対するセツションワーカからの応答を待たずに、いくつ
かのSMB要求を送信することができる。従って、各セ
・ソションワーカは、同時にいくつかのクライアントの
コンピュータのSMB要求を処理することかできる。 各セツションワーカプロセスは、多重タスクオペレーテ
ィングシステムにおける各タスクと同様の、並行に働く
複数の共通を生成する。セツションワーカプロセスは、
受信する各SMB要求毎に新しい共通ルーチンを開始さ
せる。共通ルーチンは、他のSMB要求の処理を行う他
の全ての共通ルーチンと並行して実行されるので、セツ
ションワーカは、クライアントのコンピュータからの各
要求に対し高性能な応答を示すことができる。 タスクと似てはいるが、共通ルーチンには、極めて重大
ないくつかの相違がある。共通ルーチンは、セツション
ワーカのスタックだけでなく、セツションワーカにおけ
る他の全ての記憶域も共用する。共通ルーチンは、タイ
ムスライスを施されないが、その代わり、そのタスクを
完了するまで、又は、利用できない資源に対するサービ
スの要求によって阻止されるまで、実行される。完了す
るか、あるいは阻止されると、共通ルーチンは、作業を
行う準備の整った次の共通ルーチンにプロセッサを引き
渡す。共通ルーチンは、他の共通ルーチンによる割り込
みを受けないので、資源について競合することはなく、
コードのクリティカルセクションは不要である。 各共通ルーチンにおけるソフトウェアは、複数レベルに
分割され、レベルO以外の全てのレベルは、高レベル言
詔で書かれており、プロセッサのハードウェアとは独立
している。従って、システムを異なるプロセッサに移行
する必要があれば、共通ルーチンのソフトウェアのうち
、レベルOのルーチンだけを移行すればよい。各共通ル
ーチンのソフトウェアは再入可能であり、従って、いく
つかの共通ルーチンの処理を同時に行うには、メモリに
ソフトウェアのコピーの1つが納められているだけでよ
い。 各セツションワーカプロセスは、1つのクライアントの
コンピュータ、及び、1つだけのクライアントのコンピ
ュータに専用である。従って、セツションワーカプロセ
ッサは、クライアントのコンピュータのファイル間にフ
ァイル保護を設ける必要はなく、こうしたファイル保護
については、基本的なオペレーティングシステムに頼る
ことができる。
以下の説明は、本発明を実施する上で現在のところ最良
と考えられる態様に関するものである。この説明は、制
限を意味するものと解決すべきではなく、単に、本発明
の一般原理を明らかにするためのものである。本発明の
範囲は、付属のクレームを基準にして決めるのが望まし
い。 第1図は、ホスト資源サーバ、及び、複数のクライアン
トのコンピュータから成るローカルエリアネットワーク
システムのブロック図である。ここで第1図を参照する
と、ローカルエリアネットワーク104に接続されたホ
スト資源サーバコンピュータ102を有するローカルエ
リアネットワークシステム100が示されている。また
、ローカルエリアネットワーク104には、複数のクラ
イアントのコンピュータ106.108、及び110も
接続されている。ホスト資源サーバ102は、その資源
をクライアントのコンピュータ1゜6.108、及び1
10と共用する。これらの資源には、ディスクファイル
プリンタ、及び、プロッタ等を含むことができる。ホス
ト資源サーバ1゜2は、ネットワークに対して資源を「
提供」するように命じられる。 ホスト資源サーバ102とクライアントのコンピュータ
106.108、及び110の間で送られるメツセージ
は、サーバメツセージブロック(SMB)と呼ばれるプ
ロトコルを用いて交換される。 SMBプロト)ルLL、MS−DO3,O3/2、及び
、UNIXといったオペレーティングシステムがローカ
ルエリアネットワークを介して複数コンピュータ間で資
源を共用できるようにする標準プロトコルである。典型
的な環境の場合、O3/2オペレーテイングシステムを
実行するコンピュータは、ネットワークサーバとクライ
アントのコンピュータの両方の働きをすることができる
。しかし、MS−DOSオペレーティングシステムを実
行するコンピュータは、ネットワークサーバとネットワ
ークコンシューマのいずれかとして機能することができ
るが、通常は、両方の勘きは行えない。UNIXオペレ
ーティングシステムを実行するコンピュータは、ホスト
資源サーバとしてしか働くことができない。 第2図は、第1図のホスト資源サーバ102として用い
るのに適したコンピュータシステムのブロック図である
。ここで第2図を参照すると、ホスト資源サーバコンピ
ュータ102には、システムバス204を介してシステ
ムの他のコンポーネントと通信する処理素子202が含
まれている。 キーボード206及びデイスプレィ208は、システム
のオペレータとの通信に用いられる。該システムは、L
ANインターフェイス212及びローカルエリアネット
ワーク104を介して、クライアントのコンピュータ(
第1図の106.108、及び110)と通信する。コ
ンピュータシステム102には、ローカルエリアネット
ワーク104を介して共用されるファイルを納めたディ
スク214が含まれている。システム102には、ロー
カルエリアネットワーク104を介して共用可能なプリ
ンタ216も含まれている。主メモリ210には、本発
明のソフトウェアに含まれており、後述することにする
。他の装置は、システムバス204に取りつけることが
可能であり、これらの装置は、ローカルエリアネットワ
ーク104を介して共用することもできる。 第3図には、第2図の主メモリ210のブロック図か示
されており、資源サーバに関するさまざまなプロセスが
明らかにされている。ここで第3図を参照すると、通常
はUNIXオペレーティングシステムであるオペレーテ
ィングシステム302は、メモリ210に常駐している
。daemonプロセスとも呼ばれる監視プログラム3
04は、LANサーバソフトウェア306を介してクラ
イアントのコンピュータの1つ(第1図の106.10
8、又は110)から初期呼出し要求を受信する。LA
Nサーバソフトウェア306は、LANインターフェイ
ス212(第2図)と対話し、ローカルエリアネットワ
ーク104(第2図)を介してメツセージの送受信を行
う。監視プログラムプロセス304で、クライエントコ
ンピュータからの呼出し要求を受信すると、セツション
ワーカプロセス310を生成して、クライアントのコン
ピュータとの全ての対話を取り扱う。監視プログラムプ
ロセス304において、後続の呼び出し要求を受信する
と、各クライアントのコンピュータ毎に、別のセツショ
ンワーカプロセス312が生成される。セツションワー
カプロセスは、資源サーバに接続された各クライアント
のコンピュータ毎に作成されるので、セツションワーカ
プロセスとクライアントのコンピュータの間には1対1
の関係が存在する。 監視プログラムプロセス304及びセ・ンションワーカ
プロセスのそれぞれは、オペレーティングシステム30
2に基づいたタスクとして実行され、従って、同時に実
行される。 セツションワーカプロセスは、監視プログラムプロセス
304によってセットアツプされるので、セツションワ
ーカプロセスは、複数の仮想回線308の1つを介して
クライアントのコンピュータに接続される。これらの接
続については、ライン314及び316として図示され
ている。−旦クライアントのコンピュータに接続される
と、セツションワーカプロセスは、監視プログラムプロ
セス304とは独立して動き、仮想回線308を介して
到着するクライアントのコンピュータからの後続する全
ての要求を処理する。 セツションワーカプロセス間において、第3図には不図
示の接続が保持されている。この接続は、管理命令待ち
行列と呼ばれ、セツションワーカプロセスが、別のセツ
ションワーカプロセスによって、セツションワーカの取
りつけられているクライアントのコンピュータ以外のソ
ースから到着する可能性のある要求が実施されるように
することを可能ならしめる。これらの要求の1つは、[
便宜的ロック(opportunistic 1ock
) Jを解放することである。便宜的ロックは、クライ
アントのコンピュータがホストサーバのファイルにアク
セスするだけで行われる。 クライアントのコンピュータは、排他的にアクセスする
ので、クライアントのコンピュータは、その排他的利用
のためにファイルバッファを保持することが可能になる
。これらのバッファの保存が便宜的ロックと呼ばれる。 第2のクライアントのコンピュータが、別のクライアン
トのコンピュータによってロックされたファイルにアク
セスしようとする場合、監視プログラムプロセス304
によって、第1のクライアントのコンピュータにサービ
スを行うセツションワーカプロセスにメツセージを送り
、バッファを解放させ、便宜的ロックを解除させなけれ
ばならない。また、他の要求は、管理命令待ち行列を介
して送ることが可能である。 一旦確立すると、セツションワーカプロセスは、引き続
き、そのアドレス空間内で働く複数の共通ルーチンを設
定する。共通ルーチン、ゼロ(0)は、セツション、ワ
ーカ主プロセスループとして働き、待ち行列のサービス
を行って、作業が到着するのを待つ。SMB要求が仮想
回線を介して到着すると、共通ルーチン0はSMB要求
を受信して、他の共通ルーチンの1つを開始させて、そ
の要求の処理を行う。他のコンピュータ資源にサービス
を行わなくても(即ち、阻止されないで)SMB要求を
満たすことができる場合、SMB応答の送信後、共通ル
ーチンの処理を出て、共通ルーチン0に戻る。例えば、
入力/出力(Ilo)操作といった要求をすぐに満たす
ことができない場合、共通ルーチンの処理が阻止されて
、制御が共通ルーチンOにスイッチされ、次に、作業の
実施準備が整った他の共通ルーチンのスケジューリング
が行われる。 従って、共通ルーチン0は、セツションワーカの活動の
スケジューラとして働くことになる。 各セツションワーカプロセスの共通ルーチン1は、他の
セツションワーカプロセスからの全ての管理命令待ち行
列要求を処理する。共通ルーチン2及び上記は、クライ
アントのコンピュータからの要求に処理を施す。 I10100完了又はタイムアウトの完了といった、待
機事象が生じる毎に、阻止されている共通ルーチンがす
ぐにマーキングを施され、次の機会に制御が加えられる
。共通ルーチンの阻止によって、セツションワーカプロ
セスが阻止されない点と、セツションワーカプロセスは
、常に自由に別のS M B要求を受信し、付加共通ル
ーチンを開始させるという点に留意のこと。 未処理の作業を全て完了して、所定の時間期間にわたっ
て付加作業を受信していないセツションワーカプロセス
は、それ自体を終了し、ホスト資源サーバコンピュータ
内の記憶空間を自由にすることができる。 第4図には、クライアントのコンピュータから呼び出し
を受ける監視プログラムプロセスのフローチャートが示
されている。ここで第4図を参照すると、ルーチンに入
った後、ブロック402においてLANサーバ(第3図
)からのクライアント呼出し要求を待つ。クライアント
の呼出し要求を受信すると、ブロック404において第
6図を呼び出し、このクライアントからの今後の全SM
B要求を取り扱うセツションワーカプロセスを生成する
。セツションワーカプロセスの生成後、次に、ブロック
406においてセツションワーカプロセスの実行を開始
する。セツションワーカプロセスは、ホストオペレーテ
ィングシステムに基づく同時プロセスとして開始された
ので、−旦セッションワーカプロセスが開始すると、監
視プログラムの一部においてそれ以上のアクションは不
要となる。セツションワーカプロセスの開始後、ブロッ
ク408においてクライアントの呼出し応答を戻し、ク
ライアントのコンピュータに対して、セツションワーカ
プロセスが開始したことを伝える。次に、ブロック40
8から移行してブロック402に戻り、別のクライアン
トのコンピュータからのクライアント呼出しを待つ。 第5図は、セツションワーカプロセスを生成するプロセ
スのフローチャートである。ここで第5図を参照すると
、ルーチンに入った後、ブロック502に対して、通常
は、UNIXオ/<L/−ティグシステムであるホスト
オペレーティングシステムに従って、セツション制御プ
ロ・ツクが割り当てられる。次に、ブロック504にお
いて、セツションワーカプロセスが、監視プログラムと
並行し、独立したタスクとして働くプロセスとして開始
される。次に、ブロック506において、呼出しを要求
した本来のクライアントのコンピュータに対してメツセ
ージの送受信を行う仮想回線に、セツションワーカプロ
セスが接続される。セツションワーカプロセスを仮想回
線に接続すると、ブロック506から第4図に戻る。 第6図には、セツションワーカプロセスのフローチャー
トが示されている。ここで第6図を参照すると、ルーチ
ンに入った後、プロ・ツク602において、第7図を呼
び出し、セツションワーカプロセス内で用いられる共通
ルーチンの生成及び初期設定が行われる。共通ルーチン
の初期設定がすむと、セツションワーカプログラムが、
共通ルーチンOで実行される。共通ルーチン0の機能に
ついては、ダッシュライン604によって概要が示され
ている。共通ルーチン0に入ると、ブロック606にお
いて、クライアントのコンピュータからSMB要求を受
信しているか否かが確かめられる。こうした要求を受信
している場合、ブロック606からブロック608へ移
行し、第11図を呼び出して、その要求の処理を行う共
通ルーチンをセットアツプする。共通ルーチンのセット
アツプがすむと、或いは、SMBの要求に応じられない
場合、制御はブロック610に移行し、既存の共通ルー
チンで作業の実施準備が整っているものがあるか否かが
確かめられる。共通ルーチンの準備が整っていれば、制
御はブロック612に移行し、第12図を呼び出して、
作業の処理準備が整った共通ルーチンの1つを実行する
。作業の処理準備が整った共通ルーチンがなければ、制
御はブロック614に移行し、チエツクを行って、事象
に完了したものがあるか否かを確かめる。1つ以上の事
象が完了している場合、制御はブロック616に移行し
、第15図を呼び出して、事象の完了した共通ルーチン
をアンペンドする。これらの共通ルーチンのアンペンド
がすむと、ブロック616から移行して、ブロック60
6に戻り、主ループを完了する。ブロック606、ブロ
ック610.ブロック614、及び、ブロック616か
ら成る処理ループは、SMB要求を受信するか、あるい
は、事象が完了したために、共通ルーチンの実行準備が
整うまで、操作が継続される。 一旦共通ルーチンの準備が整った状態になると、即ち、
実行できるようになると、ブロック612は、セツショ
ンワーカプロセスの状況をスイッチして、準備の整った
共通ルーチンを実行する。ブロック608で初めて共通
ルーチンに取りかかった時、その入口点は、ブロック6
18になるようにセットアツプされた。従って、最初に
SMB要求を受信すると、ブロック608において共通
ルーチンをセットアツプして、該ルーチンを処理し、ブ
ロック612からブロック618に移行して、SMB要
求の処理を開始する。ブロック618では、仮想回線か
ら要求を受は取り、ブロック620において、その作業
の処理を始める。要求された作業の処理中に、例えば、
入力/出力要求の完了にサービスを行うといった、何等
かの事象に対してサービスを行う必要が生じる場合、ブ
ロック622からブロック624へ移行しで、第14図
を呼び出し、共通ルーチンを保留状態にする。共通ルー
チンを保留状態にした後、ブロック624から移行して
ブロック606、即ち、主処理ループに戻る。保留操作
が完了し、ブロック616において、共通ルーチンがア
ンベンドされると、ブロック612がら移行して、ブロ
ック626の共通ルーチンに戻る。ブロック626では
、共通ルーチンのベンディングが要求されなかった場合
、ブロック622から制御を受は取る。制御を受は取る
と、ブロック626においてSMB応答を生成し、もと
のS M B要求を行ったクライアントのコンピュータ
に送り返す。応答を送り出すと、ブロック626からブ
ロック628に移行し、第16図を呼び出して、共通ル
ーチンを出る。共通ルーチンで、もとのSMB要求に要
求されていた全ての作業が完了したので、第16図では
、共通ルーチンが非活動化され、自由な状態に戻される
。次にブロック628から移行して、主処理ループ60
6に戻る。 第7図は、セツションワーカプロセス内において共通ル
ーチンの初期設定を行うフローチャートである。ここで
第7図を参照すると、ルーチンに入った後、ブロック7
02において、変数NUMCRの値で示される複数の共
通ルーチンに対するスタック空間の割り当てが行われる
。 このスタック空間は、セツションワーカプロセスの局部
変数空間内におけるスタックのアレイとして割り当てら
れる。次に、ブロック704において、第6図に関して
上述の主処理ループである、共通ルーチン0に対する共
通ルーチン状態ベクトル(CS V)の初期設定が行わ
れる。 次に、ブロック706において、カウンタが1にセット
され、ブロック708において、残りの各共通ルーチン
に対しC8Vの初期設定プロセスが開始される。ブロッ
ク708では、共通ルーチンNの状態変数が初期設定さ
れ、ブロック710では、共通ルーチンNのスタックポ
インタが初期設定され、ブロック712では、共通ルー
チンNのスタックタラ−がセットされる。 スタックタラ−は、共通ルーチンのスタック空間におけ
る上端と底端に納められる値である。 タラ−として選択される値は、共通ルーチンの通常の操
作では、生じそうにない値である。タラ−は、共通ルー
チンに関するスタック空間の両端に配置されるので、ま
た、タラ−の値は、共通ルーチンの通常の操作時には生
じそうにもないので、タラ−値を定期的にチエツクする
ことによって、共通ルーチンがそのスタック空間を超え
たか否かを確かめることができる。 タラ−のセツティングがすむと、ブロック712からブ
ロック714に移行し、カウンタが1だけインクリメン
トする。次に、ブロック716において、カウンタ値が
共通ルーチンの初期設定された最大数になったか、或い
は、この値が共通ルーチンの最大数にまだ達していない
か確かめられて、ブロック716から移行してブロック
708に戻り、別の共通ルーチンの初期設定を行う。 全ての共通ルーチンについて初期設定がすむと、ブロッ
ク716から呼出しルーチンに戻る。 第8図には、共通ルーチンの状態ベクトル(CS V)
に関するメモリレイアウトが示されている。ここで第8
図を参照すると、C8v内の最初の変数は、状態変数8
02である。状態変数802は、CSV、従って、対応
する共通ルーチンが、自由か、実行中か、待機中か、或
いは、実行準備が整っているかを表示する。新しいSM
B要求の処理に利用できる場合、共通ルーチンは自由で
ある。実行中は、共通ルーチンがプロセッサを制御して
いることを表すものである。 待機中は、共通ルーチンがある事象について保留されて
おり、その事象がまだ完了していないことを表すもので
ある。準備完了は、ある事象が完了し、共通ルーチンの
処理再開準備が整っていることを表すものである。スタ
・ツク開始変数806は、共通ルーチンで用いられてい
るスタックの開始アドレスである。スタ・ツク終了変数
808は、共通ルーチンで用いられているスタ・ツクの
終了アドレスである。CRID変数810は、共通ルー
チンと特定のS M B要求を連係させるために用いら
れる数である。事象変数812は、共通ルーチンが保留
になった後、共通ルーチンが待っている事象のタイプを
示すのに用いられる。事象が完了して、共通ルーチンが
アンペンドされると、事象の完了理由がメツセージ変数
814に納められる。 第9図は、セツションワーカプロセスに関するスタック
領域の図である。第7図に関連して既述のように、共通
ルーチンの初期設定が行われると、セツションワーカプ
ロセスのスタ・ツク空間が再分され、共通ルーチンOを
含む各共通ルーチンに割り当てられる。ここで、第9図
を参照すると、共通ルーチン1に関するスタックが90
2で示される、共通ルーチン2に関するスタックが90
4で示され、共通ルーチンNに関するスタックが906
で示されている。共通ルーチンOは、セツションワーカ
プロセスの主プロセスループであるため、また、それは
セツションワーカプロセスに入る際に入ったため、共通
ルーチンOに関するスタックは、参照番号908で示さ
れる。他の共通ルーチンに関するスタック空間の下方に
配置される。1対のメツ−910及び912は、それぞ
れ、共通ルーチン1のスタック空間902の上部と底部
に配置される。同様のメツ−が、共通ルーチンOを除い
て、他のスタック空間に配置される。 第9図には、スタックが高メモリから低メモリへ成長で
きるようにするプロセッサに存在するスタック空間が示
されている。スタックが低メモリから高メモリに成長す
るプロセッサの場合は、第9図の図は逆になる。第9図
には、共通ルーチンに関するスタックが全て、セツショ
ンワーカプロセスの記憶空間内に存在することが示され
ている。従って、共通ルーチンは、全て、セツションワ
ーカプロセスのメモリを共用しており、共通ルーチンの
メモリを管理するのに、オペレーティングシステムの要
求が不要又は用いられないということになる。 第10図は、共通ルーチンの様々な状態を示す状態図で
ある。ここで第10図を参照すると、共通ルーチンは、
初期設定がすむと、自由状態1002になる。共通ルー
チンOがSMB要求を受信すると、第11図を呼び出し
て、共通ルーチンに着手する。共通ルーチンに取り掛か
るプロセスにおいて、着手する共通ルアチンは、自由状
態1002から準備完了状態1008に変わる。共通ル
ーチンOが実行する共通ルーチンのスケジューリングを
行う時、共通ルーチン0は、第12図のRUNCR機能
を呼び出し、次に、第13図のスイッチ機能を呼び出し
て、共通ルーチンのスケジューリングが施された状態を
準備完了状態1008から実行中状態1004に変更す
る。共通ルーチンは、所望の限り実行中状態1004に
とどまる。共通ルーチンが割り当てられた作業を完了す
ると、第16図であるEXITCR機能を呼び出して実
行中状態1004から自由状態1002に移行する。共
通ルーチンが何等かの操作を待たなければならない場合
、第14図の保留機能を呼び出して、実行中状態100
4から待機中状態1006に移行する。ある事象が完了
すると、共通ルーチンOの主プロセスループがその事象
の完了を検出し、第15図のアンベンド機能を呼び出し
て、保留の共通ルーチンを待機中状態1006から■備
完了状態1008に移行させる。従って、共通ルーチン
の典型的なライフにおいて、共通ルーチンは、自由状態
1002から準備完了状態1008に移行し、次に、実
行中状態1004に移行し、次に、保留にしなければな
らない各操作毎に待機中状態1006に移行し、次に、
準備完了状態1008に移行し、実行中状態1004に
戻り、最後に、その作業を完了してから、自由状態10
02に戻る。 第11図には、SMB要求の処理を行うため、共通ルー
チンの準備を行うLAUNCHCR機能のフローチャー
トが示されている。ここで、第11図を参照すると、ル
ーチンに入った後、ブロック1002において、C8v
を探索して、自由な、従って、SMBの要求を処理する
のに利用できる共通ルーチンを見つける。C8Vを利用
できなければ、ブロック1104からブロック1106
に移行し、共通ルーチンを利用できない旨のメツセージ
を表示して、呼出しルーチンに戻る。 共通ルーチンが自由であれば、ブロック1104からブ
ロック1108へ移行し、自由なC8vの状態を準備完
了状態にセットして、共通ルーチンの実行準備が整った
ことを示す。ブロック1110では、新しい共通ルーチ
ンに関するスタックの初期設定を行って、この新しい共
通ルーチンに制御をスイッチする準備を行う。次に、機
能はその呼び出しルーチンに戻る。 第12図は、実行準備の整った次に利用できる共通ルー
チンを確かめ、制御をその共通ルーチンに移行するRU
NCR機能のフローチャートである。ここで、第12図
を参照すると、ルーチンに入った後、ブロック1202
において、全ての共通ルーチンについて全てのC8vを
探索し、共通ルーチンの実行準備が整ったことを表す状
態を備えたものを見つける。実行準備の整った共通ルー
チンがなければ、ブロック1204から直接呼び出しル
ーチンに戻る。少なくとも1つでも実行準備の整った共
通ルーチンがあれば、ブロック1204からブロック1
206に移行し、最初の共通ルーチンのC8vが実行さ
れるNEWC8vになる。次に、ブロック1206から
ブロック1208に移行し、第13図のスイッチ機能を
呼び出して、NEWC8VにされたばかりのC8vに制
御を移行する。スイッチサブルーチンが制御を新しい共
通ルーチンに移すので、エラーがあると、第13図から
第12図に戻ることになるだけである。 第13図は、制御が1つの共通ルーチンからもう1つの
共通ルーチンに移行するスイッチ機能のフローチャート
である。ここで第13図を参照すると、ルーチンに入っ
た後、ブロック1302において、現在実行中の共通ル
ーチンのスタックのタラ−がチエツクされる。現在スタ
ックのタラ−が変更されている場合、ブロック1304
から呼出しルーチンに戻り、セツションワーカプロセス
が取り消される。スタックタラ−の変更が行われていな
ければ、ブロック1304からブロック1306に移行
し、現在の共通ルーチンの状況を現在C8■に保管する
。次に、ブロック1308において、新しいC8vにな
る、即ち、共通ルーチンのC8Vが現在C8Vに移行す
る。次に、ブロック1310において、新しい共通ルー
チンのスタックに関するタラ−のチエツクが行われ、こ
れらのタラ−が有効でない場合、ブロック1312から
呼び出しルーチンに戻り、セツションワーカプロセスが
取り消される。新しい共通ルーチンに関するスタックの
タラ−が変更されない場合、ブロック1312からブロ
ック1314に移行し、現在C8Vから状況がロードさ
れるが、これによって、状況の一部が、ブロモ・ソサの
プログラムカウンタであるため、直接共通ルーチンに移
行することになる。 共通ルーチンに着手するプロセスにおいて、着手される
共通ルーチンのスタックは、着手される共通ルーチンが
、着手される共通ルーチンの人口点からスイッチ機能を
呼び出したかのように見えるようにセットアツプされる
。従って、ルーチンの入口点に移行するためには、スイ
ッチは、プロセッサが着手される共通ルーチンのスタッ
クを指示して、戻るようにするだけですむ。−旦実行す
ると、共通ルーチンは、保留機能を呼び出して保留にな
り、スタックが再びセットアツプされて、アンペンド操
作の後、スイッチから保留の呼び出しに続く位置へ戻る
ことが可能になる。システムは、共通ルーチンがEXI
TCRを呼び出して終了し、その後、共通ルーチンにも
はや制御が与えられなくなるまで、こうして続行される
。 第14図には、何等かの事象が完了する間、共通ルーチ
ンを待機状態にする保留機能のフローチャートが示され
ている。ここで第14図を参照すると、ルーチンに入っ
た後、ブロック1402において、現在C8Vの状態が
待機中にセットされる。次に、ブロック1404におい
て、現在C8v内の事象変数が、保留になっている事象
にセットされる。次に、ブロック1406において、第
13図を呼び出し、状態をスイッチして、共通ルーチン
0及び主処理ループに戻る。 第15図は、事象の完了後に、共通ルーチンを準備完了
状態に戻すアンペンド機能のフローチャートである。こ
こで第15図を参照すると、ルーチンに入った後、ブロ
ック1502において、完了したばかりの事象と整合す
る事象を備えた共通ルーチンのC8Vを見つけ出す。該
C8vを見つけた後、ブロック1504において、該C
8vの状態が実行可能な準備の整った状態にセットされ
、次に、呼出しルーチンに戻る。 第16図は、共通ルーチンがSMB要求の処理を完了す
ると用いられるEXITCR機能のフローチャートであ
る。ここで、第16図を参照すると、ルーチンに入った
後、ブロック1602において、現在C8vの状態が、
このC8vに対応する共通ルーチンが新しいSMB要求
の処理に自由に用いられることを表す自由にセットされ
る。次に、ブロック1604において、第13図を呼び
出して、状況が共通ルーチンO及び主処理ループにスイ
ッチされる。 第17図は、データを読み取るSMB要求の処理例のフ
ローチャートである。第17図には、フローチャートの
ステップが2つのコラム、即ち、見出しが共通ルーチン
0と表記されたコラムと、見出しが共通ルーチンXと表
記されたコラムによって示されている。コラム「共通ル
ーチンO」において生じる処理ステップは、他の共通ル
ーチンをセットアツプし、そのスケジューリングを行う
プロセスであり、一方、コラム「共通ルーチンX」にお
いて生じる処理ステップは、クライアントのコンピュー
タのために読み取り操作の処理を行うのに必要な実際の
ステップである。ここで第17図を参照すると、ルーチ
ンに入った後、ブロック1702において、クライアン
トのコンピュータから読取り操作を実施するSMB要求
を受信する。次に、ブロック1704では、第11図を
呼び出し、要求を処理する共通ルーチンが準備される。 次にブロック1706において、第12図を呼び出し、
要求を処理するために準備された共通ルーチンが実行さ
れる。この時点で、第12図か第16図を呼び出し、セ
ツションワーカプロセスの状況がスイッチされて、制御
がSMB要求を処理するために準備された共通ルーチン
である共通ルーチンrXJに移行する。従って、制御は
、共通ルーチンXに移行し、ブロック1708において
、SMB要求に指定の読取り位置が決まる。次に、ブロ
ック1710において、読取り操作が開始され、読取り
操作は、データを得て、メモリへ送り返すのにかなりの
量の時間を必要とするので、ブロック1712において
、データがメモリへ転送されている間、共通ルーチンX
が保留される。第14図の保留操作が、第13図のスイ
ッチ機能を呼び出し、セツションワーカプロセスの状況
は、共通ルーチンXが保留になったので、スイッチされ
て、共通ルーチンOに戻る。従って、制御は、共通ルー
チン0がブロック1714から再開され、次に、作業を
実施できるように準備の整った他の共通ルーチンが実行
される。他の共通ルーチンが完了すると、制御は、ブロ
ック1716に移行し、読取り操作の完了まで、待つこ
とになる。読取り操作が完了すると、事象が完了したの
で、ブロック1718において、アンペンドを呼び出し
、共通ルーチンXが準備完了状態に戻される。次に、ブ
ロック1720において、第13図のスイッチ機能を呼
び出し、セツションワーカプロセスの内容が共通ルーチ
ンXにスイッチされる。従って、制御は、共通ルーチン
Xがブロック1722から再開され、SMB要求に応答
して、読み取ったデータを利用し、メ・ノセージを作成
する。次に、ブロック1724において、SMB応答が
クライアントのコンピュータに送り返される。応答を送
り返した後、制御はプロ・ツク1726に移行し、第1
6図のEXITCR機能を呼び出して、共通ルーチンX
による処理を終了し、共通ルーチンXを自由状態に戻し
、セ・ソションワーカプロセスの状況を共通ルーチン0
にスイッチする。従って、制御は、共通ルーチン0がブ
ロック1702から再開され、クライアントのコンピュ
ータからの次のSMB要求に処理が施される。
と考えられる態様に関するものである。この説明は、制
限を意味するものと解決すべきではなく、単に、本発明
の一般原理を明らかにするためのものである。本発明の
範囲は、付属のクレームを基準にして決めるのが望まし
い。 第1図は、ホスト資源サーバ、及び、複数のクライアン
トのコンピュータから成るローカルエリアネットワーク
システムのブロック図である。ここで第1図を参照する
と、ローカルエリアネットワーク104に接続されたホ
スト資源サーバコンピュータ102を有するローカルエ
リアネットワークシステム100が示されている。また
、ローカルエリアネットワーク104には、複数のクラ
イアントのコンピュータ106.108、及び110も
接続されている。ホスト資源サーバ102は、その資源
をクライアントのコンピュータ1゜6.108、及び1
10と共用する。これらの資源には、ディスクファイル
プリンタ、及び、プロッタ等を含むことができる。ホス
ト資源サーバ1゜2は、ネットワークに対して資源を「
提供」するように命じられる。 ホスト資源サーバ102とクライアントのコンピュータ
106.108、及び110の間で送られるメツセージ
は、サーバメツセージブロック(SMB)と呼ばれるプ
ロトコルを用いて交換される。 SMBプロト)ルLL、MS−DO3,O3/2、及び
、UNIXといったオペレーティングシステムがローカ
ルエリアネットワークを介して複数コンピュータ間で資
源を共用できるようにする標準プロトコルである。典型
的な環境の場合、O3/2オペレーテイングシステムを
実行するコンピュータは、ネットワークサーバとクライ
アントのコンピュータの両方の働きをすることができる
。しかし、MS−DOSオペレーティングシステムを実
行するコンピュータは、ネットワークサーバとネットワ
ークコンシューマのいずれかとして機能することができ
るが、通常は、両方の勘きは行えない。UNIXオペレ
ーティングシステムを実行するコンピュータは、ホスト
資源サーバとしてしか働くことができない。 第2図は、第1図のホスト資源サーバ102として用い
るのに適したコンピュータシステムのブロック図である
。ここで第2図を参照すると、ホスト資源サーバコンピ
ュータ102には、システムバス204を介してシステ
ムの他のコンポーネントと通信する処理素子202が含
まれている。 キーボード206及びデイスプレィ208は、システム
のオペレータとの通信に用いられる。該システムは、L
ANインターフェイス212及びローカルエリアネット
ワーク104を介して、クライアントのコンピュータ(
第1図の106.108、及び110)と通信する。コ
ンピュータシステム102には、ローカルエリアネット
ワーク104を介して共用されるファイルを納めたディ
スク214が含まれている。システム102には、ロー
カルエリアネットワーク104を介して共用可能なプリ
ンタ216も含まれている。主メモリ210には、本発
明のソフトウェアに含まれており、後述することにする
。他の装置は、システムバス204に取りつけることが
可能であり、これらの装置は、ローカルエリアネットワ
ーク104を介して共用することもできる。 第3図には、第2図の主メモリ210のブロック図か示
されており、資源サーバに関するさまざまなプロセスが
明らかにされている。ここで第3図を参照すると、通常
はUNIXオペレーティングシステムであるオペレーテ
ィングシステム302は、メモリ210に常駐している
。daemonプロセスとも呼ばれる監視プログラム3
04は、LANサーバソフトウェア306を介してクラ
イアントのコンピュータの1つ(第1図の106.10
8、又は110)から初期呼出し要求を受信する。LA
Nサーバソフトウェア306は、LANインターフェイ
ス212(第2図)と対話し、ローカルエリアネットワ
ーク104(第2図)を介してメツセージの送受信を行
う。監視プログラムプロセス304で、クライエントコ
ンピュータからの呼出し要求を受信すると、セツション
ワーカプロセス310を生成して、クライアントのコン
ピュータとの全ての対話を取り扱う。監視プログラムプ
ロセス304において、後続の呼び出し要求を受信する
と、各クライアントのコンピュータ毎に、別のセツショ
ンワーカプロセス312が生成される。セツションワー
カプロセスは、資源サーバに接続された各クライアント
のコンピュータ毎に作成されるので、セツションワーカ
プロセスとクライアントのコンピュータの間には1対1
の関係が存在する。 監視プログラムプロセス304及びセ・ンションワーカ
プロセスのそれぞれは、オペレーティングシステム30
2に基づいたタスクとして実行され、従って、同時に実
行される。 セツションワーカプロセスは、監視プログラムプロセス
304によってセットアツプされるので、セツションワ
ーカプロセスは、複数の仮想回線308の1つを介して
クライアントのコンピュータに接続される。これらの接
続については、ライン314及び316として図示され
ている。−旦クライアントのコンピュータに接続される
と、セツションワーカプロセスは、監視プログラムプロ
セス304とは独立して動き、仮想回線308を介して
到着するクライアントのコンピュータからの後続する全
ての要求を処理する。 セツションワーカプロセス間において、第3図には不図
示の接続が保持されている。この接続は、管理命令待ち
行列と呼ばれ、セツションワーカプロセスが、別のセツ
ションワーカプロセスによって、セツションワーカの取
りつけられているクライアントのコンピュータ以外のソ
ースから到着する可能性のある要求が実施されるように
することを可能ならしめる。これらの要求の1つは、[
便宜的ロック(opportunistic 1ock
) Jを解放することである。便宜的ロックは、クライ
アントのコンピュータがホストサーバのファイルにアク
セスするだけで行われる。 クライアントのコンピュータは、排他的にアクセスする
ので、クライアントのコンピュータは、その排他的利用
のためにファイルバッファを保持することが可能になる
。これらのバッファの保存が便宜的ロックと呼ばれる。 第2のクライアントのコンピュータが、別のクライアン
トのコンピュータによってロックされたファイルにアク
セスしようとする場合、監視プログラムプロセス304
によって、第1のクライアントのコンピュータにサービ
スを行うセツションワーカプロセスにメツセージを送り
、バッファを解放させ、便宜的ロックを解除させなけれ
ばならない。また、他の要求は、管理命令待ち行列を介
して送ることが可能である。 一旦確立すると、セツションワーカプロセスは、引き続
き、そのアドレス空間内で働く複数の共通ルーチンを設
定する。共通ルーチン、ゼロ(0)は、セツション、ワ
ーカ主プロセスループとして働き、待ち行列のサービス
を行って、作業が到着するのを待つ。SMB要求が仮想
回線を介して到着すると、共通ルーチン0はSMB要求
を受信して、他の共通ルーチンの1つを開始させて、そ
の要求の処理を行う。他のコンピュータ資源にサービス
を行わなくても(即ち、阻止されないで)SMB要求を
満たすことができる場合、SMB応答の送信後、共通ル
ーチンの処理を出て、共通ルーチン0に戻る。例えば、
入力/出力(Ilo)操作といった要求をすぐに満たす
ことができない場合、共通ルーチンの処理が阻止されて
、制御が共通ルーチンOにスイッチされ、次に、作業の
実施準備が整った他の共通ルーチンのスケジューリング
が行われる。 従って、共通ルーチン0は、セツションワーカの活動の
スケジューラとして働くことになる。 各セツションワーカプロセスの共通ルーチン1は、他の
セツションワーカプロセスからの全ての管理命令待ち行
列要求を処理する。共通ルーチン2及び上記は、クライ
アントのコンピュータからの要求に処理を施す。 I10100完了又はタイムアウトの完了といった、待
機事象が生じる毎に、阻止されている共通ルーチンがす
ぐにマーキングを施され、次の機会に制御が加えられる
。共通ルーチンの阻止によって、セツションワーカプロ
セスが阻止されない点と、セツションワーカプロセスは
、常に自由に別のS M B要求を受信し、付加共通ル
ーチンを開始させるという点に留意のこと。 未処理の作業を全て完了して、所定の時間期間にわたっ
て付加作業を受信していないセツションワーカプロセス
は、それ自体を終了し、ホスト資源サーバコンピュータ
内の記憶空間を自由にすることができる。 第4図には、クライアントのコンピュータから呼び出し
を受ける監視プログラムプロセスのフローチャートが示
されている。ここで第4図を参照すると、ルーチンに入
った後、ブロック402においてLANサーバ(第3図
)からのクライアント呼出し要求を待つ。クライアント
の呼出し要求を受信すると、ブロック404において第
6図を呼び出し、このクライアントからの今後の全SM
B要求を取り扱うセツションワーカプロセスを生成する
。セツションワーカプロセスの生成後、次に、ブロック
406においてセツションワーカプロセスの実行を開始
する。セツションワーカプロセスは、ホストオペレーテ
ィングシステムに基づく同時プロセスとして開始された
ので、−旦セッションワーカプロセスが開始すると、監
視プログラムの一部においてそれ以上のアクションは不
要となる。セツションワーカプロセスの開始後、ブロッ
ク408においてクライアントの呼出し応答を戻し、ク
ライアントのコンピュータに対して、セツションワーカ
プロセスが開始したことを伝える。次に、ブロック40
8から移行してブロック402に戻り、別のクライアン
トのコンピュータからのクライアント呼出しを待つ。 第5図は、セツションワーカプロセスを生成するプロセ
スのフローチャートである。ここで第5図を参照すると
、ルーチンに入った後、ブロック502に対して、通常
は、UNIXオ/<L/−ティグシステムであるホスト
オペレーティングシステムに従って、セツション制御プ
ロ・ツクが割り当てられる。次に、ブロック504にお
いて、セツションワーカプロセスが、監視プログラムと
並行し、独立したタスクとして働くプロセスとして開始
される。次に、ブロック506において、呼出しを要求
した本来のクライアントのコンピュータに対してメツセ
ージの送受信を行う仮想回線に、セツションワーカプロ
セスが接続される。セツションワーカプロセスを仮想回
線に接続すると、ブロック506から第4図に戻る。 第6図には、セツションワーカプロセスのフローチャー
トが示されている。ここで第6図を参照すると、ルーチ
ンに入った後、プロ・ツク602において、第7図を呼
び出し、セツションワーカプロセス内で用いられる共通
ルーチンの生成及び初期設定が行われる。共通ルーチン
の初期設定がすむと、セツションワーカプログラムが、
共通ルーチンOで実行される。共通ルーチン0の機能に
ついては、ダッシュライン604によって概要が示され
ている。共通ルーチン0に入ると、ブロック606にお
いて、クライアントのコンピュータからSMB要求を受
信しているか否かが確かめられる。こうした要求を受信
している場合、ブロック606からブロック608へ移
行し、第11図を呼び出して、その要求の処理を行う共
通ルーチンをセットアツプする。共通ルーチンのセット
アツプがすむと、或いは、SMBの要求に応じられない
場合、制御はブロック610に移行し、既存の共通ルー
チンで作業の実施準備が整っているものがあるか否かが
確かめられる。共通ルーチンの準備が整っていれば、制
御はブロック612に移行し、第12図を呼び出して、
作業の処理準備が整った共通ルーチンの1つを実行する
。作業の処理準備が整った共通ルーチンがなければ、制
御はブロック614に移行し、チエツクを行って、事象
に完了したものがあるか否かを確かめる。1つ以上の事
象が完了している場合、制御はブロック616に移行し
、第15図を呼び出して、事象の完了した共通ルーチン
をアンペンドする。これらの共通ルーチンのアンペンド
がすむと、ブロック616から移行して、ブロック60
6に戻り、主ループを完了する。ブロック606、ブロ
ック610.ブロック614、及び、ブロック616か
ら成る処理ループは、SMB要求を受信するか、あるい
は、事象が完了したために、共通ルーチンの実行準備が
整うまで、操作が継続される。 一旦共通ルーチンの準備が整った状態になると、即ち、
実行できるようになると、ブロック612は、セツショ
ンワーカプロセスの状況をスイッチして、準備の整った
共通ルーチンを実行する。ブロック608で初めて共通
ルーチンに取りかかった時、その入口点は、ブロック6
18になるようにセットアツプされた。従って、最初に
SMB要求を受信すると、ブロック608において共通
ルーチンをセットアツプして、該ルーチンを処理し、ブ
ロック612からブロック618に移行して、SMB要
求の処理を開始する。ブロック618では、仮想回線か
ら要求を受は取り、ブロック620において、その作業
の処理を始める。要求された作業の処理中に、例えば、
入力/出力要求の完了にサービスを行うといった、何等
かの事象に対してサービスを行う必要が生じる場合、ブ
ロック622からブロック624へ移行しで、第14図
を呼び出し、共通ルーチンを保留状態にする。共通ルー
チンを保留状態にした後、ブロック624から移行して
ブロック606、即ち、主処理ループに戻る。保留操作
が完了し、ブロック616において、共通ルーチンがア
ンベンドされると、ブロック612がら移行して、ブロ
ック626の共通ルーチンに戻る。ブロック626では
、共通ルーチンのベンディングが要求されなかった場合
、ブロック622から制御を受は取る。制御を受は取る
と、ブロック626においてSMB応答を生成し、もと
のS M B要求を行ったクライアントのコンピュータ
に送り返す。応答を送り出すと、ブロック626からブ
ロック628に移行し、第16図を呼び出して、共通ル
ーチンを出る。共通ルーチンで、もとのSMB要求に要
求されていた全ての作業が完了したので、第16図では
、共通ルーチンが非活動化され、自由な状態に戻される
。次にブロック628から移行して、主処理ループ60
6に戻る。 第7図は、セツションワーカプロセス内において共通ル
ーチンの初期設定を行うフローチャートである。ここで
第7図を参照すると、ルーチンに入った後、ブロック7
02において、変数NUMCRの値で示される複数の共
通ルーチンに対するスタック空間の割り当てが行われる
。 このスタック空間は、セツションワーカプロセスの局部
変数空間内におけるスタックのアレイとして割り当てら
れる。次に、ブロック704において、第6図に関して
上述の主処理ループである、共通ルーチン0に対する共
通ルーチン状態ベクトル(CS V)の初期設定が行わ
れる。 次に、ブロック706において、カウンタが1にセット
され、ブロック708において、残りの各共通ルーチン
に対しC8Vの初期設定プロセスが開始される。ブロッ
ク708では、共通ルーチンNの状態変数が初期設定さ
れ、ブロック710では、共通ルーチンNのスタックポ
インタが初期設定され、ブロック712では、共通ルー
チンNのスタックタラ−がセットされる。 スタックタラ−は、共通ルーチンのスタック空間におけ
る上端と底端に納められる値である。 タラ−として選択される値は、共通ルーチンの通常の操
作では、生じそうにない値である。タラ−は、共通ルー
チンに関するスタック空間の両端に配置されるので、ま
た、タラ−の値は、共通ルーチンの通常の操作時には生
じそうにもないので、タラ−値を定期的にチエツクする
ことによって、共通ルーチンがそのスタック空間を超え
たか否かを確かめることができる。 タラ−のセツティングがすむと、ブロック712からブ
ロック714に移行し、カウンタが1だけインクリメン
トする。次に、ブロック716において、カウンタ値が
共通ルーチンの初期設定された最大数になったか、或い
は、この値が共通ルーチンの最大数にまだ達していない
か確かめられて、ブロック716から移行してブロック
708に戻り、別の共通ルーチンの初期設定を行う。 全ての共通ルーチンについて初期設定がすむと、ブロッ
ク716から呼出しルーチンに戻る。 第8図には、共通ルーチンの状態ベクトル(CS V)
に関するメモリレイアウトが示されている。ここで第8
図を参照すると、C8v内の最初の変数は、状態変数8
02である。状態変数802は、CSV、従って、対応
する共通ルーチンが、自由か、実行中か、待機中か、或
いは、実行準備が整っているかを表示する。新しいSM
B要求の処理に利用できる場合、共通ルーチンは自由で
ある。実行中は、共通ルーチンがプロセッサを制御して
いることを表すものである。 待機中は、共通ルーチンがある事象について保留されて
おり、その事象がまだ完了していないことを表すもので
ある。準備完了は、ある事象が完了し、共通ルーチンの
処理再開準備が整っていることを表すものである。スタ
・ツク開始変数806は、共通ルーチンで用いられてい
るスタックの開始アドレスである。スタ・ツク終了変数
808は、共通ルーチンで用いられているスタ・ツクの
終了アドレスである。CRID変数810は、共通ルー
チンと特定のS M B要求を連係させるために用いら
れる数である。事象変数812は、共通ルーチンが保留
になった後、共通ルーチンが待っている事象のタイプを
示すのに用いられる。事象が完了して、共通ルーチンが
アンペンドされると、事象の完了理由がメツセージ変数
814に納められる。 第9図は、セツションワーカプロセスに関するスタック
領域の図である。第7図に関連して既述のように、共通
ルーチンの初期設定が行われると、セツションワーカプ
ロセスのスタ・ツク空間が再分され、共通ルーチンOを
含む各共通ルーチンに割り当てられる。ここで、第9図
を参照すると、共通ルーチン1に関するスタックが90
2で示される、共通ルーチン2に関するスタックが90
4で示され、共通ルーチンNに関するスタックが906
で示されている。共通ルーチンOは、セツションワーカ
プロセスの主プロセスループであるため、また、それは
セツションワーカプロセスに入る際に入ったため、共通
ルーチンOに関するスタックは、参照番号908で示さ
れる。他の共通ルーチンに関するスタック空間の下方に
配置される。1対のメツ−910及び912は、それぞ
れ、共通ルーチン1のスタック空間902の上部と底部
に配置される。同様のメツ−が、共通ルーチンOを除い
て、他のスタック空間に配置される。 第9図には、スタックが高メモリから低メモリへ成長で
きるようにするプロセッサに存在するスタック空間が示
されている。スタックが低メモリから高メモリに成長す
るプロセッサの場合は、第9図の図は逆になる。第9図
には、共通ルーチンに関するスタックが全て、セツショ
ンワーカプロセスの記憶空間内に存在することが示され
ている。従って、共通ルーチンは、全て、セツションワ
ーカプロセスのメモリを共用しており、共通ルーチンの
メモリを管理するのに、オペレーティングシステムの要
求が不要又は用いられないということになる。 第10図は、共通ルーチンの様々な状態を示す状態図で
ある。ここで第10図を参照すると、共通ルーチンは、
初期設定がすむと、自由状態1002になる。共通ルー
チンOがSMB要求を受信すると、第11図を呼び出し
て、共通ルーチンに着手する。共通ルーチンに取り掛か
るプロセスにおいて、着手する共通ルアチンは、自由状
態1002から準備完了状態1008に変わる。共通ル
ーチンOが実行する共通ルーチンのスケジューリングを
行う時、共通ルーチン0は、第12図のRUNCR機能
を呼び出し、次に、第13図のスイッチ機能を呼び出し
て、共通ルーチンのスケジューリングが施された状態を
準備完了状態1008から実行中状態1004に変更す
る。共通ルーチンは、所望の限り実行中状態1004に
とどまる。共通ルーチンが割り当てられた作業を完了す
ると、第16図であるEXITCR機能を呼び出して実
行中状態1004から自由状態1002に移行する。共
通ルーチンが何等かの操作を待たなければならない場合
、第14図の保留機能を呼び出して、実行中状態100
4から待機中状態1006に移行する。ある事象が完了
すると、共通ルーチンOの主プロセスループがその事象
の完了を検出し、第15図のアンベンド機能を呼び出し
て、保留の共通ルーチンを待機中状態1006から■備
完了状態1008に移行させる。従って、共通ルーチン
の典型的なライフにおいて、共通ルーチンは、自由状態
1002から準備完了状態1008に移行し、次に、実
行中状態1004に移行し、次に、保留にしなければな
らない各操作毎に待機中状態1006に移行し、次に、
準備完了状態1008に移行し、実行中状態1004に
戻り、最後に、その作業を完了してから、自由状態10
02に戻る。 第11図には、SMB要求の処理を行うため、共通ルー
チンの準備を行うLAUNCHCR機能のフローチャー
トが示されている。ここで、第11図を参照すると、ル
ーチンに入った後、ブロック1002において、C8v
を探索して、自由な、従って、SMBの要求を処理する
のに利用できる共通ルーチンを見つける。C8Vを利用
できなければ、ブロック1104からブロック1106
に移行し、共通ルーチンを利用できない旨のメツセージ
を表示して、呼出しルーチンに戻る。 共通ルーチンが自由であれば、ブロック1104からブ
ロック1108へ移行し、自由なC8vの状態を準備完
了状態にセットして、共通ルーチンの実行準備が整った
ことを示す。ブロック1110では、新しい共通ルーチ
ンに関するスタックの初期設定を行って、この新しい共
通ルーチンに制御をスイッチする準備を行う。次に、機
能はその呼び出しルーチンに戻る。 第12図は、実行準備の整った次に利用できる共通ルー
チンを確かめ、制御をその共通ルーチンに移行するRU
NCR機能のフローチャートである。ここで、第12図
を参照すると、ルーチンに入った後、ブロック1202
において、全ての共通ルーチンについて全てのC8vを
探索し、共通ルーチンの実行準備が整ったことを表す状
態を備えたものを見つける。実行準備の整った共通ルー
チンがなければ、ブロック1204から直接呼び出しル
ーチンに戻る。少なくとも1つでも実行準備の整った共
通ルーチンがあれば、ブロック1204からブロック1
206に移行し、最初の共通ルーチンのC8vが実行さ
れるNEWC8vになる。次に、ブロック1206から
ブロック1208に移行し、第13図のスイッチ機能を
呼び出して、NEWC8VにされたばかりのC8vに制
御を移行する。スイッチサブルーチンが制御を新しい共
通ルーチンに移すので、エラーがあると、第13図から
第12図に戻ることになるだけである。 第13図は、制御が1つの共通ルーチンからもう1つの
共通ルーチンに移行するスイッチ機能のフローチャート
である。ここで第13図を参照すると、ルーチンに入っ
た後、ブロック1302において、現在実行中の共通ル
ーチンのスタックのタラ−がチエツクされる。現在スタ
ックのタラ−が変更されている場合、ブロック1304
から呼出しルーチンに戻り、セツションワーカプロセス
が取り消される。スタックタラ−の変更が行われていな
ければ、ブロック1304からブロック1306に移行
し、現在の共通ルーチンの状況を現在C8■に保管する
。次に、ブロック1308において、新しいC8vにな
る、即ち、共通ルーチンのC8Vが現在C8Vに移行す
る。次に、ブロック1310において、新しい共通ルー
チンのスタックに関するタラ−のチエツクが行われ、こ
れらのタラ−が有効でない場合、ブロック1312から
呼び出しルーチンに戻り、セツションワーカプロセスが
取り消される。新しい共通ルーチンに関するスタックの
タラ−が変更されない場合、ブロック1312からブロ
ック1314に移行し、現在C8Vから状況がロードさ
れるが、これによって、状況の一部が、ブロモ・ソサの
プログラムカウンタであるため、直接共通ルーチンに移
行することになる。 共通ルーチンに着手するプロセスにおいて、着手される
共通ルーチンのスタックは、着手される共通ルーチンが
、着手される共通ルーチンの人口点からスイッチ機能を
呼び出したかのように見えるようにセットアツプされる
。従って、ルーチンの入口点に移行するためには、スイ
ッチは、プロセッサが着手される共通ルーチンのスタッ
クを指示して、戻るようにするだけですむ。−旦実行す
ると、共通ルーチンは、保留機能を呼び出して保留にな
り、スタックが再びセットアツプされて、アンペンド操
作の後、スイッチから保留の呼び出しに続く位置へ戻る
ことが可能になる。システムは、共通ルーチンがEXI
TCRを呼び出して終了し、その後、共通ルーチンにも
はや制御が与えられなくなるまで、こうして続行される
。 第14図には、何等かの事象が完了する間、共通ルーチ
ンを待機状態にする保留機能のフローチャートが示され
ている。ここで第14図を参照すると、ルーチンに入っ
た後、ブロック1402において、現在C8Vの状態が
待機中にセットされる。次に、ブロック1404におい
て、現在C8v内の事象変数が、保留になっている事象
にセットされる。次に、ブロック1406において、第
13図を呼び出し、状態をスイッチして、共通ルーチン
0及び主処理ループに戻る。 第15図は、事象の完了後に、共通ルーチンを準備完了
状態に戻すアンペンド機能のフローチャートである。こ
こで第15図を参照すると、ルーチンに入った後、ブロ
ック1502において、完了したばかりの事象と整合す
る事象を備えた共通ルーチンのC8Vを見つけ出す。該
C8vを見つけた後、ブロック1504において、該C
8vの状態が実行可能な準備の整った状態にセットされ
、次に、呼出しルーチンに戻る。 第16図は、共通ルーチンがSMB要求の処理を完了す
ると用いられるEXITCR機能のフローチャートであ
る。ここで、第16図を参照すると、ルーチンに入った
後、ブロック1602において、現在C8vの状態が、
このC8vに対応する共通ルーチンが新しいSMB要求
の処理に自由に用いられることを表す自由にセットされ
る。次に、ブロック1604において、第13図を呼び
出して、状況が共通ルーチンO及び主処理ループにスイ
ッチされる。 第17図は、データを読み取るSMB要求の処理例のフ
ローチャートである。第17図には、フローチャートの
ステップが2つのコラム、即ち、見出しが共通ルーチン
0と表記されたコラムと、見出しが共通ルーチンXと表
記されたコラムによって示されている。コラム「共通ル
ーチンO」において生じる処理ステップは、他の共通ル
ーチンをセットアツプし、そのスケジューリングを行う
プロセスであり、一方、コラム「共通ルーチンX」にお
いて生じる処理ステップは、クライアントのコンピュー
タのために読み取り操作の処理を行うのに必要な実際の
ステップである。ここで第17図を参照すると、ルーチ
ンに入った後、ブロック1702において、クライアン
トのコンピュータから読取り操作を実施するSMB要求
を受信する。次に、ブロック1704では、第11図を
呼び出し、要求を処理する共通ルーチンが準備される。 次にブロック1706において、第12図を呼び出し、
要求を処理するために準備された共通ルーチンが実行さ
れる。この時点で、第12図か第16図を呼び出し、セ
ツションワーカプロセスの状況がスイッチされて、制御
がSMB要求を処理するために準備された共通ルーチン
である共通ルーチンrXJに移行する。従って、制御は
、共通ルーチンXに移行し、ブロック1708において
、SMB要求に指定の読取り位置が決まる。次に、ブロ
ック1710において、読取り操作が開始され、読取り
操作は、データを得て、メモリへ送り返すのにかなりの
量の時間を必要とするので、ブロック1712において
、データがメモリへ転送されている間、共通ルーチンX
が保留される。第14図の保留操作が、第13図のスイ
ッチ機能を呼び出し、セツションワーカプロセスの状況
は、共通ルーチンXが保留になったので、スイッチされ
て、共通ルーチンOに戻る。従って、制御は、共通ルー
チン0がブロック1714から再開され、次に、作業を
実施できるように準備の整った他の共通ルーチンが実行
される。他の共通ルーチンが完了すると、制御は、ブロ
ック1716に移行し、読取り操作の完了まで、待つこ
とになる。読取り操作が完了すると、事象が完了したの
で、ブロック1718において、アンペンドを呼び出し
、共通ルーチンXが準備完了状態に戻される。次に、ブ
ロック1720において、第13図のスイッチ機能を呼
び出し、セツションワーカプロセスの内容が共通ルーチ
ンXにスイッチされる。従って、制御は、共通ルーチン
Xがブロック1722から再開され、SMB要求に応答
して、読み取ったデータを利用し、メ・ノセージを作成
する。次に、ブロック1724において、SMB応答が
クライアントのコンピュータに送り返される。応答を送
り返した後、制御はプロ・ツク1726に移行し、第1
6図のEXITCR機能を呼び出して、共通ルーチンX
による処理を終了し、共通ルーチンXを自由状態に戻し
、セ・ソションワーカプロセスの状況を共通ルーチン0
にスイッチする。従って、制御は、共通ルーチン0がブ
ロック1702から再開され、クライアントのコンピュ
ータからの次のSMB要求に処理が施される。
以上から明らかなように、当該技術においては、ローカ
ルエリアネットワークを介して多数のクライアントのコ
ンピュータに対する高性能な応答を行う、改良されたホ
スト資源サーバが必要とされている。また、当該技術に
おいては、各クライアントのコンピュータからの複数の
同時要求を処理できるシステムが必要とされている。ま
た、当該技術においては、ホストコンピュータのオペレ
ーティングシステムに修正を加えなくても実行されるシ
ステムが必要とされている。更に、いくつかのタイプの
ホストコンピュータプロセッサ間における移植性に優れ
たシステムが必要とされている。更に、いくつかのコン
ピュータプログラミング言語間における移植性に優れた
システムが必要とされている。更に、ホストコンピュー
タシステムにおける極めて多くのファイルにアクセス可
能なシステムが必要とされている。 以上から明らかなように、本発明によれば、ホストコン
ピュータと複数のクライアントのコンピュータの間にお
いてファイルデータを共用するファイル共用システムが
提供される。 さらに本発明によれば、こうしたシステムに高性能な応
答性を与えることにある。 さらに本発明によれば、ホストコンピュータのオペレー
ティングシステムに修正を加えずに、こうしたシステム
が提供される。 さらに本発明によれば、いくつかのタイプのホストコン
ピュータプロセッサ間における移植性に優れた前記シス
テムが提供される。 さらに本発明によれば、いくつかのコンピュータプログ
ラミング言語間における移植性に優れた前記システムが
提供される。 さらに本発明によれば、ソフトウェアのクリティカルセ
クションなしで実現する前記システムが提供される。 さらに本発明によれば、多重レベルの処理ルーチンを利
用したシステムが提供される。 さらに本発明によれば、クライアントのコンピュータか
らの全ての初期呼び出しを処理する監視プロセスを有す
る前記システムか提供される。 さらに本発明によれば、監視プロセスが各クライアント
のコンピュータ毎に独立したセツションワーカプロセス
を生成する前記システムが提供される。 さらに本発明によれば、こうした各セツションワーカフ
ロセスが、各クライアントのコンピュータ要求毎に独立
した共通ルーチンを生成する前記システムが提供される
。 さらに本発明によれば、共通ルーチンがセツションワー
カプロセスメモリを共用する前記システムが提供される
。 さらに本発明によれば、同じプログラミング命命が全て
のこうした共通ルーチンによって共用される前記システ
ムが提供される。 さらに本発明によれば、こうした共通ルーチンが、実行
中は強制排除されることがなく、それぞれ、ホストコン
ピュータの資源又は操作にサービスを行わなければなら
なくなるまで、実行することが可能な前記システムが提
供される。 さらに本発明によれば、高性能で、ブロッキングが生じ
ないようにデータを要求する並行要求を備えた多くのア
プリケーションに応用可能な前記システムが提供される
。 本発明の現在のところ望ましい実施例について説明して
きたが、今や明らかなように、本発明の目的は完全に達
成されており、当該技術の熟練者には分かるように、構
成及び回路要素における多くの変更、及び本発明の多種
多様な実施例及び用途が、本発明の精神及び範囲を逸脱
することなく可能である。本書の開示及び説明は例示を
目的としたものであり、本発明を制御する意図はなく、
範囲は下記クレームによって規定する方が望ましい。
ルエリアネットワークを介して多数のクライアントのコ
ンピュータに対する高性能な応答を行う、改良されたホ
スト資源サーバが必要とされている。また、当該技術に
おいては、各クライアントのコンピュータからの複数の
同時要求を処理できるシステムが必要とされている。ま
た、当該技術においては、ホストコンピュータのオペレ
ーティングシステムに修正を加えなくても実行されるシ
ステムが必要とされている。更に、いくつかのタイプの
ホストコンピュータプロセッサ間における移植性に優れ
たシステムが必要とされている。更に、いくつかのコン
ピュータプログラミング言語間における移植性に優れた
システムが必要とされている。更に、ホストコンピュー
タシステムにおける極めて多くのファイルにアクセス可
能なシステムが必要とされている。 以上から明らかなように、本発明によれば、ホストコン
ピュータと複数のクライアントのコンピュータの間にお
いてファイルデータを共用するファイル共用システムが
提供される。 さらに本発明によれば、こうしたシステムに高性能な応
答性を与えることにある。 さらに本発明によれば、ホストコンピュータのオペレー
ティングシステムに修正を加えずに、こうしたシステム
が提供される。 さらに本発明によれば、いくつかのタイプのホストコン
ピュータプロセッサ間における移植性に優れた前記シス
テムが提供される。 さらに本発明によれば、いくつかのコンピュータプログ
ラミング言語間における移植性に優れた前記システムが
提供される。 さらに本発明によれば、ソフトウェアのクリティカルセ
クションなしで実現する前記システムが提供される。 さらに本発明によれば、多重レベルの処理ルーチンを利
用したシステムが提供される。 さらに本発明によれば、クライアントのコンピュータか
らの全ての初期呼び出しを処理する監視プロセスを有す
る前記システムか提供される。 さらに本発明によれば、監視プロセスが各クライアント
のコンピュータ毎に独立したセツションワーカプロセス
を生成する前記システムが提供される。 さらに本発明によれば、こうした各セツションワーカフ
ロセスが、各クライアントのコンピュータ要求毎に独立
した共通ルーチンを生成する前記システムが提供される
。 さらに本発明によれば、共通ルーチンがセツションワー
カプロセスメモリを共用する前記システムが提供される
。 さらに本発明によれば、同じプログラミング命命が全て
のこうした共通ルーチンによって共用される前記システ
ムが提供される。 さらに本発明によれば、こうした共通ルーチンが、実行
中は強制排除されることがなく、それぞれ、ホストコン
ピュータの資源又は操作にサービスを行わなければなら
なくなるまで、実行することが可能な前記システムが提
供される。 さらに本発明によれば、高性能で、ブロッキングが生じ
ないようにデータを要求する並行要求を備えた多くのア
プリケーションに応用可能な前記システムが提供される
。 本発明の現在のところ望ましい実施例について説明して
きたが、今や明らかなように、本発明の目的は完全に達
成されており、当該技術の熟練者には分かるように、構
成及び回路要素における多くの変更、及び本発明の多種
多様な実施例及び用途が、本発明の精神及び範囲を逸脱
することなく可能である。本書の開示及び説明は例示を
目的としたものであり、本発明を制御する意図はなく、
範囲は下記クレームによって規定する方が望ましい。
【図1】
第1図は、ホストファイルサーバと幾つかのクライアン
トのコンピュータを含む本発明のローカルエリアネット
ワークのブロック図である。
トのコンピュータを含む本発明のローカルエリアネット
ワークのブロック図である。
【図2】
第2図は、本発明のローカルエリアネットワーク内のホ
ストコンピュータとして用いるに好適な、コンピュータ
システムのブロック図である。
ストコンピュータとして用いるに好適な、コンピュータ
システムのブロック図である。
【図3】
第3図は、本発明の資源共用システムのプロセスを示す
ための、第2図のコンピュータの主メモリのブロック図
である。
ための、第2図のコンピュータの主メモリのブロック図
である。
【図4】
第4図は、本発明の監視プログラムのプロセスを示す流
れ図である。
れ図である。
【図5】
第5図は、セツションワーカを生成するためのプロセス
の流れ図である。
の流れ図である。
【図6】
第6図は、本発明のセツションワーカ処理の流れ図であ
る。
る。
【図7】
第7図は、セツションワーカ内の複数の共通ルーチンを
生成するプロセスの流れ図である。
生成するプロセスの流れ図である。
【図81
第8図は、セツションワーカ処理内の共通ルーチンサー
ビスベクトル(CS V)のブロック図である。 【図9】 第9図は、セツションワーカ処理内のスタック機構を示
す図である。
ビスベクトル(CS V)のブロック図である。 【図9】 第9図は、セツションワーカ処理内のスタック機構を示
す図である。
【図10】
第10図は、共通ルーチンの状態を示す状、幡図である
。
。
【図11】
第11図は、クライアントのコンピュータがらのSMB
要求を処理するための共通ルーチンを準備するLAUN
CHCR機能の流れ図である。
要求を処理するための共通ルーチンを準備するLAUN
CHCR機能の流れ図である。
【図12】
第12図は、共通ルーチンを実行状態に置くRUNCR
機能の流れ図である。
機能の流れ図である。
【図13】
第13図は、活性共通ルーチンをスイッチするためのS
W I T CH機能の流れ図である。
W I T CH機能の流れ図である。
【図14】
第14図は、共通ルーチンを保留にするプロセスの流れ
図である。
図である。
【図15】
第15図は、共通ルーチンをアンベンドにするプロセス
の流れ図である。
の流れ図である。
【図16】
第16図は、要求を実行しそれを不活性化する共通ルー
チンのEXITCR機能の流れ図である。
チンのEXITCR機能の流れ図である。
【図17】
第17図は、SMB読みだし要求を処理する共通ルーチ
ンの例を示す流れ図である。
ンの例を示す流れ図である。
100・・・LAN。
102・・・ホスト資源サーバ
104・・・LAN。
106.108,110・・・クライアントのコンピュ
ータ、202・・・処理素子、 204・・・システムバス、 206・・・キーボード、 208・・・デイスプレィ、 212・・・LANインタフェース、 214・・・ディスク、 216・・・プリンタ、 210・・・主メモリ、 302・・・081 304・・・監視プログラム、 306・・・LANサーバ、 308・・・仮想回線、 310.312・・・セツションワーカ、314.13
6・・・ライン、 馨
ータ、202・・・処理素子、 204・・・システムバス、 206・・・キーボード、 208・・・デイスプレィ、 212・・・LANインタフェース、 214・・・ディスク、 216・・・プリンタ、 210・・・主メモリ、 302・・・081 304・・・監視プログラム、 306・・・LANサーバ、 308・・・仮想回線、 310.312・・・セツションワーカ、314.13
6・・・ライン、 馨
Claims (1)
- 【特許請求の範囲】 1 ネットワーク上の資源を共有するための資源サーバ
システムであって: 共用すべき前記資源を含むホスト処理手段 と; 複数のクライアントのコンピュータと; 前記資源を受けるための複数のセッション ワーカ手段と; 前記複数のクライアントのコンピュータの それぞれからの複数の呼び出しを受け、受信した前記呼
び出しに関する前記複数のセッションワーカ手段の一つ
を開始するべく、前記ホスト処理手段内に配置された監
視手段と;前記クライアントのコンピュータから受信 した資源アクセス要求を処理するべく、前記複数のセッ
ションワーカ手段のそれぞれに配置された複数の共通ル
ーチン手段と; 前記共通ルーチン手段の動作をスケジュー リングすべく、それぞれが前記セッションワーカ手段の
各々に配置された、複数のスケジューリング手段と; から成ることを特徴とする資源サーバシス テム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US42968189A | 1989-10-31 | 1989-10-31 | |
| US429681 | 1989-10-31 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH03147151A true JPH03147151A (ja) | 1991-06-24 |
| JP3478538B2 JP3478538B2 (ja) | 2003-12-15 |
Family
ID=23704282
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP29513990A Expired - Fee Related JP3478538B2 (ja) | 1989-10-31 | 1990-10-31 | 共通ルーチンを用いた移植性の資源共用ファイルサーバ |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US5276879A (ja) |
| EP (1) | EP0426323B1 (ja) |
| JP (1) | JP3478538B2 (ja) |
| DE (1) | DE69024753T2 (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO1998043391A1 (en) * | 1997-03-21 | 1998-10-01 | Hitachi, Ltd. | Electronic device, electronic device using method, and electronic device system |
| US6169991B1 (en) | 1992-12-09 | 2001-01-02 | Mitsubishi Denki Kabushiki Kaisha | Client server system and control method thereof |
Families Citing this family (36)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH04268661A (ja) * | 1991-02-22 | 1992-09-24 | Nec Corp | ホストコンピュータ |
| US5317739A (en) * | 1992-03-30 | 1994-05-31 | International Business Machines Corp. | Method and apparatus for coupling data processing systems |
| US5440739A (en) * | 1992-06-11 | 1995-08-08 | Beck Systems, Inc. | Method of maintaining updated set-up configurations in workgroups on a network |
| US5586322A (en) * | 1992-06-11 | 1996-12-17 | Beck; Robert E. | Workgroup organized network manager with workstation comparison system |
| EP0592704B1 (de) * | 1992-10-12 | 1998-06-03 | LEUNIG GmbH | Einrichtung für die wahlweise Datenübertragung und Dateiübertragung |
| US5548724A (en) * | 1993-03-22 | 1996-08-20 | Hitachi, Ltd. | File server system and file access control method of the same |
| US5437032A (en) * | 1993-11-04 | 1995-07-25 | International Business Machines Corporation | Task scheduler for a miltiprocessor system |
| US5680548A (en) * | 1994-12-02 | 1997-10-21 | Xcellenet, Inc. | Systems and methods for work assignment and distribution from a server to remote/mobile nodes |
| US5682478A (en) * | 1995-01-19 | 1997-10-28 | Microsoft Corporation | Method and apparatus for supporting multiple, simultaneous services over multiple, simultaneous connections between a client and network server |
| US5978577A (en) * | 1995-03-17 | 1999-11-02 | Csg Systems, Inc. | Method and apparatus for transaction processing in a distributed database system |
| US5668958A (en) * | 1995-09-12 | 1997-09-16 | International Business Machines Corporation | Heterogeneous filing system with common API and reconciled file management rules |
| US5745679A (en) * | 1996-03-06 | 1998-04-28 | Micron Technology, Inc. | Method and device for file transfer by cascade release |
| US6003068A (en) * | 1997-02-14 | 1999-12-14 | Electronic Data Systems Corporation | Method and apparatus for portably providing shared removable resources to a plurality of computing devices |
| US6691118B1 (en) * | 1997-10-31 | 2004-02-10 | Oracle International Corporation | Context management system for modular software architecture |
| US6623527B1 (en) * | 1997-11-19 | 2003-09-23 | International Business Machines Corporation | Method for providing a document with a button for a network service |
| US6615091B1 (en) * | 1998-06-26 | 2003-09-02 | Eveready Battery Company, Inc. | Control system and method therefor |
| US7013305B2 (en) | 2001-10-01 | 2006-03-14 | International Business Machines Corporation | Managing the state of coupling facility structures, detecting by one or more systems coupled to the coupling facility, the suspended state of the duplexed command, detecting being independent of message exchange |
| ES2161115B1 (es) * | 1998-10-20 | 2003-02-16 | Univ De Alicante Uni D Alacant | Sistema de ejecucion de programas sobre recursos remotos. |
| US6636891B1 (en) | 1998-11-06 | 2003-10-21 | Seiko Epson Corporation | Methods and apparatus for controlling an input or output device over the internet |
| US6988123B2 (en) * | 1998-11-06 | 2006-01-17 | Seiko Epson Corporation | Methods and apparatus for remote execution of an application over the internet |
| US6609159B1 (en) | 1998-11-30 | 2003-08-19 | Semyon Dukach | Methods, systems, and machine readable programming for interposing front end servers between servers and clients |
| US6532448B1 (en) | 1999-11-19 | 2003-03-11 | Insightful Corporation | Contest server |
| US7743022B2 (en) | 2003-02-28 | 2010-06-22 | Microsoft Corporation | Method and system for synchronizing data shared among peer computing devices |
| US7640324B2 (en) * | 2003-04-15 | 2009-12-29 | Microsoft Corporation | Small-scale secured computer network group without centralized management |
| US7784057B2 (en) * | 2003-08-27 | 2010-08-24 | Intel Corporation | Single-stack model for high performance parallelism |
| JP4507917B2 (ja) * | 2005-02-28 | 2010-07-21 | 日本電気株式会社 | セッション処理システム、セッション処理方法、及びプログラム |
| US7784051B2 (en) * | 2005-11-18 | 2010-08-24 | Sap Ag | Cooperative scheduling using coroutines and threads |
| JP4598022B2 (ja) * | 2007-05-31 | 2010-12-15 | 株式会社東芝 | 情報処理装置 |
| US8589925B2 (en) * | 2007-10-25 | 2013-11-19 | Microsoft Corporation | Techniques for switching threads within routines |
| US9219733B2 (en) * | 2008-06-30 | 2015-12-22 | Microsoft Technology Licensing, Llc | Software-based aliasing for accessing multiple shared resources on a single remote host |
| US8539020B2 (en) | 2010-06-14 | 2013-09-17 | Microsoft Corporation | Sessions to host processes with special requirements |
| JP6310260B2 (ja) * | 2014-01-20 | 2018-04-11 | 株式会社荏原製作所 | 基板処理装置内の複数の処理ユニットを調整するための調整装置、および該調整装置を備えた基板処理装置 |
| US11789741B2 (en) * | 2018-03-08 | 2023-10-17 | Sap Se | Determining an optimum quantity of interleaved instruction streams of defined coroutines |
| US11194629B2 (en) * | 2018-12-06 | 2021-12-07 | International Business Machines Corporation | Handling expiration of resources allocated by a resource manager running a data integration job |
| CN112162840B (zh) * | 2020-09-29 | 2024-03-08 | 曹蕤 | 一种基于中断重入机制的协程处理及管理方法 |
| CN113867946B (zh) * | 2021-09-24 | 2024-12-10 | 珠海格力电器股份有限公司 | 访问资源的方法、装置、存储介质及电子设备 |
Family Cites Families (16)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| FR2258113A5 (ja) * | 1973-11-30 | 1975-08-08 | Honeywell Bull Soc Ind | |
| FR2253425A5 (ja) * | 1973-11-30 | 1975-06-27 | Honeywell Bull Soc Ind | |
| FR2269150B1 (ja) * | 1974-04-25 | 1977-10-28 | Honeywell Bull Soc Ind | |
| US4379326A (en) * | 1980-03-10 | 1983-04-05 | The Boeing Company | Modular system controller for a transition machine |
| US4410940A (en) * | 1980-12-05 | 1983-10-18 | International Business Machines Corporation | Transfer of control method and means among hierarchical cooperating sequential processes |
| US4688166A (en) * | 1984-08-03 | 1987-08-18 | Motorola Computer Systems, Inc. | Direct memory access controller supporting multiple input/output controllers and memory units |
| US4805097A (en) * | 1984-08-03 | 1989-02-14 | Motorola Computer Systems, Inc. | Memory management unit with dynamic page allocation |
| US4694396A (en) * | 1985-05-06 | 1987-09-15 | Computer X, Inc. | Method of inter-process communication in a distributed data processing system |
| US5047925A (en) * | 1985-05-06 | 1991-09-10 | Motorola, Inc. | Logical ring in a virtual single machine |
| US4835685A (en) * | 1985-05-06 | 1989-05-30 | Computer X, Inc. | Virtual single machine with message-like hardware interrupts and processor exceptions |
| US5060140A (en) * | 1986-01-16 | 1991-10-22 | Jupiter Technology Inc. | Universal programmable data communication connection system |
| DE3750171T2 (de) * | 1986-08-28 | 1995-02-02 | Nippon Electric Co | Multiaufgabenverarbeitungsgerät. |
| US5062040A (en) * | 1986-12-22 | 1991-10-29 | At&T Bell Laboratories | Handling of notification of asynchronous events by user and stub processes of a distributed process executing on a plurality of processors of a multi-processor system |
| US4914619A (en) * | 1987-10-19 | 1990-04-03 | International Business Machines Corporation | Apparatus and method for interconnecting an application of a transparent services access facility to remote source |
| US4999766A (en) * | 1988-06-13 | 1991-03-12 | International Business Machines Corporation | Managing host to workstation file transfer |
| US4975830A (en) * | 1988-12-05 | 1990-12-04 | Dayna Communications, Inc. | Computer communication system having supplemental formats |
-
1990
- 1990-10-16 EP EP90311306A patent/EP0426323B1/en not_active Expired - Lifetime
- 1990-10-16 DE DE69024753T patent/DE69024753T2/de not_active Expired - Fee Related
- 1990-10-31 JP JP29513990A patent/JP3478538B2/ja not_active Expired - Fee Related
-
1992
- 1992-11-20 US US07/979,350 patent/US5276879A/en not_active Expired - Lifetime
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6169991B1 (en) | 1992-12-09 | 2001-01-02 | Mitsubishi Denki Kabushiki Kaisha | Client server system and control method thereof |
| WO1998043391A1 (en) * | 1997-03-21 | 1998-10-01 | Hitachi, Ltd. | Electronic device, electronic device using method, and electronic device system |
| US6757765B1 (en) | 1997-03-21 | 2004-06-29 | Hitachi, Ltd. | Electronic device, method for using electronic device, and electronic device system for reserving bus usage time on a bus to conduct communications between electronic devices |
| US7003606B2 (en) | 1997-03-21 | 2006-02-21 | Hitachi, Ltd. | Electronic device, method for using electronic device, and electronic device system for reserving bus usage time on a bus to conduct communications between electronic devices |
Also Published As
| Publication number | Publication date |
|---|---|
| EP0426323A3 (en) | 1992-10-21 |
| EP0426323B1 (en) | 1996-01-10 |
| DE69024753D1 (de) | 1996-02-22 |
| DE69024753T2 (de) | 1996-05-30 |
| JP3478538B2 (ja) | 2003-12-15 |
| US5276879A (en) | 1994-01-04 |
| EP0426323A2 (en) | 1991-05-08 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH03147151A (ja) | 共通ルーチンを用いた移植性の資源共用ファイルサーバ | |
| EP0362107B1 (en) | 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 | |
| US7996593B2 (en) | Interrupt handling using simultaneous multi-threading | |
| US6615303B1 (en) | Computer system with multiple operating system operation | |
| US5606703A (en) | Interrupt protocol system and method using priority-arranged queues of interrupt status block control data structures | |
| US5642516A (en) | Selective shadowing of registers for interrupt processing | |
| US8468540B2 (en) | Interrupt and exception handling for multi-streaming digital processors | |
| EP0366581A2 (en) | Method to provide concurrent execution of distributed application programs by a host computer and an intelligent work station on an sna network | |
| TW200411403A (en) | System and method for transferring data between virtual machines or other computer entities | |
| JPH02148224A (ja) | 時間開始タスクのスケジユーリング方法 | |
| EP2240852B1 (en) | Scalable sockets | |
| JPH0727503B2 (ja) | データ転送制御方法及びインタフェース・システム | |
| JP2008015888A (ja) | 負荷分散制御システム及び負荷分散制御方法 | |
| US6256660B1 (en) | Method and program product for allowing application programs to avoid unnecessary packet arrival interrupts | |
| US6012121A (en) | Apparatus for flexible control of interrupts in multiprocessor systems | |
| US6772189B1 (en) | Method and system for balancing deferred procedure queues in multiprocessor computer systems | |
| Hitz et al. | Using Unix as one component of a lightweight distributed kernel for multiprocessor file servers | |
| US20010025324A1 (en) | Data communication method and apparatus, and storage medium storing program for implementing the method and apparatus | |
| US7320044B1 (en) | System, method, and computer program product for interrupt scheduling in processing communication | |
| KR100391513B1 (ko) | 멀티 스레드를 이용한 네트워크의 병목현상 감소 방법 | |
| Harada et al. | Atsushi Hori, Hiroshi Tezuka, Shinji Sumimoto, Toshiyuki Takahashi | |
| KR19980086586A (ko) | Tcp/ip 소켓 애플리케이션을 이용한 시스템 자원 저감 툴 | |
| JPS62286155A (ja) | マルチcpu制御方式 | |
| JPH06175866A (ja) | パーソナルコンピュータ用拡張ボード | |
| KR19990059515A (ko) | 운영체제 상에서의 콘솔 서버 방법 및 장치 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20081003 Year of fee payment: 5 |
|
| LAPS | Cancellation because of no payment of annual fees |