JP2000172657A - 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置 - Google Patents

分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置

Info

Publication number
JP2000172657A
JP2000172657A JP10349067A JP34906798A JP2000172657A JP 2000172657 A JP2000172657 A JP 2000172657A JP 10349067 A JP10349067 A JP 10349067A JP 34906798 A JP34906798 A JP 34906798A JP 2000172657 A JP2000172657 A JP 2000172657A
Authority
JP
Japan
Prior art keywords
module
server
service
client
server device
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP10349067A
Other languages
English (en)
Inventor
Yoshiyuki Seguchi
義之 瀬口
Hiroyuki Yamashima
弘之 山島
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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP10349067A priority Critical patent/JP2000172657A/ja
Priority to US09/361,971 priority patent/US6633898B1/en
Publication of JP2000172657A publication Critical patent/JP2000172657A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/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/505Allocation 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 the load
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/501Performance criteria
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/509Offload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer And Data Communications (AREA)

Abstract

(57)【要約】 【課題】 クライアントの種別の差異にかかわらずサー
バからのサービスを快適に利用できる分散処理システム
を提供すること。 【解決手段】 サービス実行をおこなうサービスプログ
ラムを、サーバ側でサービス実行をおこなうために必要
なサーバ制御モジュール、クライアントに備えられた表
示装置に対する表示制御をおこなう表示制御モジュー
ル、クライアント種別毎に用意されかつクライアントに
必要なサービスモジュールのサーバからの取得方法を定
義する初期設定モジュール、実行位置をクライアントと
サーバとに依存しない共通モジュールに分割する。この
サービスプログラムの実行において、クライアントのリ
ソース不足が検出された場合は、共通モジュールの一部
の起動をサーバに依頼し、サーバのリソース不足が検出
された場合は、共通モジュールの一部の起動を他のサー
バに依頼する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、ネットワークを介
して接続されたサーバおよびクライアントから構成さ
れ、ユーザにサービスを提供する分散処理システム、分
散処理方法、その方法をコンピュータに実行させるプロ
グラムを記録したコンピュータ読み取り可能な記録媒
体、サーバ装置およびクライアント装置において、特
に、サービスを実現するために必要なサービスプログラ
ムを実行する際のサーバとクライアントの双方における
負荷とサービスプログラムの保守作業とを低減させる分
散処理システム、分散処理方法、その方法をコンピュー
タに実行させるプログラムを記録したコンピュータ読み
取り可能な記録媒体、サーバ装置およびクライアント装
置に関する。
【0002】
【従来の技術】近年、通信インフラストラクチャの整備
の向上と、LAN(Local Area Netwo
rk)やインターネットの普及により、ネットワークを
介して所望のサービスを受けることを可能とする分散処
理システムの利用が一般的になっている。特に、ユーザ
の利用する複数のクライアント装置(以下、単にクライ
アントと称する)と、サービスを提供するサーバ装置
(以下、単にサーバと称する)とから構成され、クライ
アントがサーバにアクセスすることによって所望のサー
ビスを受けることのできるクライアント・サーバ方式
は、ネットワーク上において種々のサービス資源を共有
または管理する上での最適なネットワーク接続方式とし
て確立されたものとなっている。
【0003】一方、LANからWAN(Wide Ar
ea Network)へ、さらにインターネットへ
と、地域または社内において点在したネットワーク間を
相互接続することによって、ユーザすなわちクライアン
トが接続できるネットワークの規模が拡大している。さ
らに、ネットワークを利用するユーザの数、すなわち各
ネットワーク内に所属するクライアントの数が増大して
おり、上記したネットワークの規模の拡大にともなっ
て、サーバの負荷および通信トラヒックの増大が問題と
なっている。
【0004】このため、現在においては、小規模なネッ
トワーク内においても、提供するサービス種に応じて複
数のサーバを用意し、サービス実行における負荷の分散
がおこなわれる傾向がある。例えば、データベースサー
ビスを提供するデータベースサーバ、ファイルを一括管
理するファイルサーバ、電子メールを管理するメールサ
ーバ、大規模かつ複雑な計算処理を専門とする計算処理
サーバ等のサーバがネットワーク上に分散して配置され
る。
【0005】このようにネットワーク上のサービス授受
に関するソフトウェアの進展が見られる一方で、ネット
ワークに接続される装置、特にクライアントとなりうる
多種のハードウェアに対する進展が望まれる。クライア
ントは、主に、オペレーティングシステムや、種々のア
プリケーションプログラムを実行するCPU(Cent
ral Processing Unit)と、ネット
ワークに接続するための通信インターフェースと、CP
Uによって実行されるプログラムやデータを記憶する記
憶装置と、キーボードやマウス等の入力装置と、CRT
や液晶ディスプレイ等の表示装置と、から構成される。
サーバもまた、クライアントと同様な構成であるが、さ
らに、各種サービスを提供するための周辺装置が接続さ
れる場合がある。
【0006】クライアントの構成は、CPUの種類によ
ってその仕様が大別されており、多くの場合、このCP
Uに適したオペレーティングシステムを採用することで
スタンドアロンとして動作することが可能である。
【0007】したがって、異なるハードウェア仕様のク
ライアント間においても、ネットワークに接続して共有
資源の活用を図ろうとする要望が必然と生じてくる。す
なわち、どのようなハードウェア仕様のクライアントか
らであっても、サーバからの同様なサービスを受けたい
というユーザの要求が高まってくる。この要求に応える
ためには、ネットワークで採用されている通信プロトコ
ルと同一の通信プロトコルを使用した通信をおこなうこ
と、すなわち通信インターフェースを共通にすることに
加えて、サービスを提供するサーバにアクセスするため
のサービスプログラムが必要になる。このサービスプロ
グラムは、クライアント上で実行されるため、クライア
ントのハードウェア仕様、特にオペレーティングシステ
ムに応じて個々に用意する必要がある。
【0008】従来の分散型グループウェアや分散型ネッ
トワークサービスなどは、一般的に、サービスに必要な
機能は上記したサービスプログラムとしてあらかじめサ
ーバおよびクライアントに登録されており、このサービ
スプログラムが、異種のハードウェア仕様または異種の
オペレーティングシステム間のインターフェースの違い
を吸収して、サーバからクライアントへのサービス提供
を実現している。
【0009】以下に、クライアントがサーバからサービ
スを受ける例として、クライアントがサーバのデータベ
ースから所望のデータを取得する場合について説明す
る。この場合、アクセス先となるサーバは、大容量のハ
ードディスク等の記憶装置を備え、この記憶装置の記憶
領域上にデータベースを構築しているデータベースサー
バである。なお、クライアントは、このデータベースサ
ーバにアクセスし、所望のデータを検索して取得するた
めのサービスプログラム(以下、検索プログラムと称す
る)をあらかじめ搭載している。
【0010】まず、クライアントは、上記した検索プロ
グラムを起動する。なお、この起動段階において、すで
にデータベースサーバとの接続が確立されたものとす
る。検索プログラムは、一般に、検索条件(クエリー)
の入力を受け付けるクエリー入力処理と、サーバから転
送される検索結果を表示する結果表示処理を含んでい
る。ユーザは、クライアントに備えられた入力装置を使
用して、欲するデータに関するキーワードの入力や検索
プログラムによって提示されたカテゴリの選択を進める
ことによって、クエリーの入力を完了させる。
【0011】検索プログラムは、クエリー入力処理が完
了すると、入力されたクエリーの情報をデータベースサ
ーバに送信して、データの検索および転送を要求する。
データベースサーバは、クライアントの検索プログラム
に対応するサービスプログラムがデーモンとして実行さ
れており、クライアントからのクエリーの情報を受信す
ると直ちに、このクエリー情報に基づいて、サーバの記
憶装置に蓄積された膨大なデータからユーザの欲するデ
ータを特定する。つづいて、データベースサーバは、特
定したデータを、要求のあったクライアントに向けて送
信する。
【0012】そして、クライアントの検索プログラム
は、データベースサーバから送信されてきたデータを受
信し、このデータを表示装置上に表示する。これによ
り、ユーザは、所望のデータを取得することができる。
このように、クライアントは、検索プログラムという比
較的軽量なプログラムをサービスプログラムとして搭載
することのみで、膨大な容量を必要とするデータベース
を利用することができる。
【0013】また、従来における分散処理システムの他
の例として、特開平10−21081号公報に開示のク
ライアント・サーバシステムが提案されている。このク
ライアント・サーバシステムは、クライアントにおいて
実行されるアプリケーションプログラム(サービスプロ
グラム)を、個別に実行可能な複数のモジュールに分割
し、この複数のモジュールから構成されるアプリケーシ
ョンプログラムをサーバの記憶装置上に保存する。そし
て、クライアントがこのサーバにアクセスしてサービス
を利用したい場合には、サーバに保存されたアプリケー
ションプログラムのうち、実行に必要な部分のモジュー
ルのみをクライアントの記憶装置にダウンロードし、こ
のモジュールを実行する。
【0014】実行中のモジュールにおいて、さらに他の
モジュールの実行が必要になる場合には、そのモジュー
ルをサーバからダウンロードする。この際、クライアン
トにおいてダウンロードされたモジュールの総容量が所
定の容量を超える場合には、超過した分のモジュールを
クライアントの記憶装置から削除する。これにより、ク
ライアントにおいて、大容量のアプリケーションプログ
ラムを実行する必要がある場合にも、クライアントの記
憶装置等の資源を圧迫することがなくなる。
【0015】よって、以上に説明した従来の分散処理シ
ステムにおいては、ネットワーク上の共有資源を利用す
ることができるとともに、多種多様な仕様のクライアン
ト間においても、通信インターフェースを共通にするこ
とによりネットワークへの接続が確立でき、サーバが提
供するサービスを利用できる。
【0016】
【発明が解決しようとする課題】しかしながら、従来の
分散処理システムでは、サーバおよびクライアントに登
録されたサービスプログラムは固定的であり、サービス
の一部機能の追加や変更をおこなう場合はサーバやクラ
イアントに登録されたサービスプログラム全体の変更を
おこなう必要があり、効率的な保守をおこなうことがで
きなかった。
【0017】また、サービスプログラムは一般的にサー
バ用プログラムとクライアント用プログラムとして明確
に区別されているため、クライアントやサーバの処理能
力や機能に応じて、サービス処理の実行位置を移行し負
荷の分散をおこなうことは困難であった。
【0018】また、従来の分散処理システムでは、ユー
ザが、クライアントに登録するサービスプログラムをク
ライアントの資源や機能に応じて選択することができる
が、これはクライアント毎に実現可能なサービスを制限
するものであり、サーバの提供するすべてのサービスを
利用できないという、クライアントに依存したサービス
制限の問題があった。
【0019】さらに、従来の分散処理システムでは、一
般的に、ユーザまたはシステム管理者が、クライアント
毎に、そのクライアントの機種に応じたサービスプログ
ラムをあらかじめインストールしなければならず、ユー
ザまたはシステム管理者の負担を大きくする傾向があっ
た。
【0020】また、上記したインストールの必要性に関
連して、サービスプログラムに対する機能追加や変更が
行われる際にも、サーバおよびクライアント装置のサー
ビスプログラム全体を再インストールする必要があり、
サービスプログラム内の個別の機能に対する保守は困難
であった。さらに、すべてのユーザがサービスプログラ
ムの更新時期を把握することが困難であるという問題が
あった。
【0021】また、従来の分散型グループウェアや分散
型ネットワークサービスでは、一つのクライアント装置
で複数のユーザを対象としたマルチユーザシステムを採
用している場合が多いが、ユーザ毎に利用するサービス
の機能が異なる場合であっても、全ての機能をサービス
プログラムとしてクライアントに保持する必要があり、
必ずしも効率的にクライアントの資源を利用したもので
はなかった。
【0022】特開平10−21081号公報に開示のク
ライアント・サーバシステムは、サービスプログラムを
モジュール化して実行に必要なモジュールのみがクライ
アントにダウンロードされるので、上述したサービスプ
ログラムのインストール作業の問題、サービスプログラ
ム内の個別の機能に対する保守の問題、クライアントの
資源の問題を解決するが、サービスプログラムの更新時
期を迅速に把握できるものではなかった。
【0023】また、このクライアント・サーバシステム
においては、クライアントがサービスを受ける際には、
サーバからのモジュールのダウンロードを必ず実行する
必要がある。したがって、クライアントのCPUがモジ
ュールを実行できる状態までに、少なくともこのダウン
ロードのための時間が必要とされ、新規なモジュールを
つぎつぎと呼び出すようなサービスプログラムを実行す
る場合には、スループットが低下し、クライアントの負
荷が増大するだけでなく、サーバの負荷および通信トラ
ヒックの増大を招来する。
【0024】さらに、このクライアント・サーバシステ
ムにおいては、記憶装置のみに対する資源の有効活用を
可能としており、クライアントが同時に複数のサーバに
アクセスする場合等におけるCPUに対する負荷、また
はCPUの実行対象位置となる不揮発性メモリの圧迫を
考慮したものではなく、必ずしも他のサーバやクライア
ントを含むネットワーク全体のパフォーマンスを向上さ
せるものではなかった。
【0025】本発明は、上記に鑑みてなされたものであ
って、クライアントの種別の差異にかかわらずサーバか
らのサービスを快適に利用できる分散処理システムを提
供することを目的とする。
【0026】
【課題を解決するための手段】上述した課題を解決し、
目的を達成するために、請求項1の発明において、ネッ
トワークを介して互いに接続されたサーバ装置(サー
バ)とクライアント装置(クライアント)とを備えた分
散処理システムは、サーバが、サービスの提供および利
用をおこなうための個別に実行可能な複数のモジュール
(サービスモジュール)と、サービスモジュールの一種
であり、クライアントがサービスを利用するのに必要な
サービスモジュール(表示制御モジュール等)をそのク
ライアント側で取得するための初期設定モジュールと、
複数のサービスモジュール(サーバ制御モジュール等)
を実行することでサービスの提供をおこなうサービス提
供手段(後述する「サーバデーモン起動処理」と、「初
期設定モジュール取得処理」および「初期設定モジュー
ル処理」におけるサーバ側処理に相当)と、を備え、ク
ライアントが、サーバから初期設定モジュールを取得
し、取得した初期設定モジュールの実行によってサーバ
から必要なサービスモジュールを取得し、取得したモジ
ュールを実行することでサービスの利用をおこなうサー
ビス利用手段(後述する「クライアントデーモン起動処
理」と、「初期設定モジュール取得処理」および「初期
設定モジュール処理」におけるクライアント側処理に相
当)を備えたことを特徴とする。
【0027】この請求項1の発明によれば、サーバは、
クライアントの要求に応じて、クライアントの種別毎に
異なり、かつサービスの実行に必要なモジュールをサー
バから取得することのできる初期設定モジュールをクラ
イアントに配信し、クライアントは、サーバからこの初
期設定モジュールを取得して実行することで、クライア
ントにおいて必要なサービスモジュールのみをサーバか
ら取得することができ、この取得したサービスモジュー
ルを実行することにより、サービスを利用することがで
きるので、ハードウェア仕様やオペレーティングシステ
ムの異なるクライアントがネットワークに接続された場
合であっても、クライアントに応じた初期設定モジュー
ルを取得するだけで、サーバによって提供されるサービ
スがクライアント間において差異なく利用でき、また、
クライアントにおいてサービス利用手段により該当する
初期設定モジュールを自動的に取得することができるの
で、ユーザは、クライアントの種別を意識することな
く、サーバの提供するサービスを容易に利用することが
できる。
【0028】また、請求項2の発明において、請求項1
に記載の分散処理システムは、サーバが、サービスモジ
ュールの一種としてサーバとクライアントとの双方の実
行環境において実行可能な共通モジュールを備え、さら
に、サービス提供手段が、この共通モジュールを実行し
ている状態(後述する「サービス起動処理」のステップ
S115s、「クライアントにおけるモジュール実行環
境移行処理」のステップS123s、または「サーバに
おけるモジュール実行環境移行処理」のステップS14
3sに相当)において、サーバが処理能力の低下や負荷
の増大等によるリソース不足状態となった場合(後述す
る「システム監視スレッドの処理」に相当)に、このサ
ーバと同機能を有する他のサーバに対してその他のサー
バ側での共通モジュールの起動を要求する(「サーバに
おけるモジュール実行環境移行処理」のステップS14
5s1に相当)ことを特徴とする。
【0029】この請求項2の発明によれば、サーバに、
実行環境を問わない共通モジュールが備えられること
で、サーバのリソース不足状態に対して、本来、このサ
ーバにおいて実行すべき共通モジュールを、他のサーバ
において実行するように実行位置を移行することができ
るので、たとえば、サービスプログラムの実行中に、多
くのクライアントのアクセスにより、サーバの資源が圧
迫された場合に、サーバにおいて実行されていた共通モ
ジュールを、リソースに余裕のある他のサーバにおいて
実行できるようになり、サーバのリソース不足によるス
ループットの低下を回避することができる。
【0030】また、請求項3の発明において、請求項1
または2に記載の分散処理システムは、サーバが、サー
ビスモジュールの一種としてサーバとクライアントとの
双方の実行環境において実行可能な共通モジュールを備
え、さらに、クライアントのサービス利用手段が、この
共通モジュールをクライアント側で実行している状態
(「サービス起動処理」のステップS112cに相当)
において、クライアントが処理能力の低下や負荷の増大
等によるリソース不足状態となった場合(「システム監
視スレッドの処理」に相当)に、サーバに対してそのサ
ーバ側での共通モジュールの起動を要求する(「クライ
アントにおけるモジュール実行環境移行処理」のステッ
プS124cに相当)ことを特徴とする。
【0031】この請求項3の発明によれば、サーバにサ
ーバとクライアントとの双方の実行環境において実行可
能な共通モジュールが備えられることで、クライアント
のリソース不足状態に対して、本来、クライアントにお
いて実行すべき共通モジュールを、サーバにおいて実行
するように実行位置を移行することができるので、たと
えば、サービスプログラムの実行中に、他のアプリケー
ションプログラム等の実行により、クライアントの資源
が圧迫された場合に、クライアントにおいて実行されて
いた共通モジュールをサーバにおいて実行できるように
なり、クライアントのリソース不足によるスループット
の低下を回避することができる。
【0032】また、請求項4の発明において、請求項1
〜3のいずれか一つに記載の分散処理システムは、サー
バが、サービスモジュールの更新が生じた際に、そのサ
ービスモジュールを配信した先のクライアントに、更新
されたサービスモジュールの更新を通知する更新通知手
段(後述する「サービスモジュール更新処理」のサーバ
側処理に相当)を備え、クライアントは、サーバから更
新されたサービスモジュールの更新が通知された場合
に、更新されたサービスモジュールをサーバから取得す
る更新モジュール取得手段(「サービスモジュール更新
処理」のクライアント側処理に相当)を備えたことを特
徴とする。
【0033】この請求項4の発明によれば、サーバが、
クライアントに対してサービスモジュールの更新を通知
することができ、さらに、その通知は、過去にそのサー
ビスモジュールの配信をおこなった先のクライアントに
対しておこなわれるので、クライアントにおいて、ユー
ザが、特にサーバにおけるモジュールの更新時期を意識
する必要がなくなり、かつ効率的なサービスモジュール
の更新処理が可能となる。
【0034】また、請求項5の発明において、ネットワ
ークを介して互いに接続されたサーバとクライアントと
を備えた分散処理システムにおいて採用される分散処理
方法は、サーバが、クライアントの要求に応じて、サー
ビスを利用するのに必要なモジュール(サービスモジュ
ールであり、表示制御モジュール等)をそのクライアン
ト側で取得するための初期設定モジュールを配信する初
期設定モジュール配信ステップ(「初期設定モジュール
取得処理」におけるサーバ側処理に相当)と、クライア
ントが、この初期設定モジュールを取得し、取得した初
期設定モジュールを実行して、サーバから必要なサービ
スモジュールを取得し、取得したサービスモジュールを
実行する初期設定モジュール実行ステップ(「初期設定
モジュール取得処理」および「初期設定モジュール処
理」におけるクライアント側処理に相当)と、を含むこ
とを特徴とする。
【0035】この請求項5の発明によれば、クライアン
トが、サーバから、クライアントの種別毎に異なり、か
つサービスの実行に必要なサービスモジュールの取得を
おこなう初期設定モジュールを取得して、これを実行す
ることで、クライアントにおいて必要なサービスモジュ
ールのみをサーバから取得することができ、この取得し
たサービスモジュールの実行により、サービスの利用を
可能とするので、ハードウェア仕様やオペレーティング
システムの異なるクライアントがネットワークに接続さ
れた場合であっても、ユーザは、サーバによって提供さ
れるサービスを他のクライアントを利用した場合と同様
に利用することができる。
【0036】また、請求項6の発明において、ネットワ
ークを介して互いに接続されたサーバとクライアントと
を備えた分散処理システムにおいて採用される分散処理
方法は、サーバが、サーバと他のサーバとの双方の実行
環境において実行可能な共通モジュールを実行するサー
バ共通モジュール実行ステップ(「サービス起動処理」
のステップS115s、「クライアントにおけるモジュ
ール実行環境移行処理」のステップS123s、または
「サーバにおけるモジュール実行環境移行処理」のステ
ップS143sに相当)と、サーバが処理能力の低下や
負荷の増大等によるリソース不足状態となった場合
(「システム監視スレッドの処理」に相当)に、他のサ
ーバに対してその他のサーバ側での共通モジュールの起
動を要求するサーバ共通モジュール起動要求ステップ
(「サーバにおけるモジュール実行環境移行処理」のス
テップS145s1に相当)と、を含んだことを特徴と
する。
【0037】この請求項6の発明によれば、サーバにお
いて、実行環境を問わない共通モジュールの実行中に、
サーバのリソース不足状態が生じた際、この共通モジュ
ールを、他のサーバにおいて実行するように要求して、
共通モジュールの実行位置を移行することができるの
で、たとえば、サービスプログラムの実行中に、多くの
クライアントのアクセスにより、サーバの資源が圧迫さ
れた場合に、サーバにおいて実行されていた共通モジュ
ールを、リソースに余裕のある他のサーバにおいて実行
できるようになり、サーバのリソース不足によるスルー
プットの低下を回避することができる。
【0038】また、請求項7の発明において、ネットワ
ークを介して互いに接続されたサーバとクライアントと
を備えた分散処理システムにおいて採用される分散処理
方法は、クライアントが、サーバとクライアントとの双
方の実行環境において実行可能な共通モジュールを実行
するクライアント共通モジュール実行ステップ(「サー
ビス起動処理」のステップS112cに相当)と、クラ
イアントが処理能力の低下や負荷の増大等によるリソー
ス不足状態となった場合(「システム監視スレッドの処
理」に相当)に、サーバに対してそのサーバ側での共通
モジュールの起動を要求するクライアント共通モジュー
ル起動要求ステップ(「クライアントにおけるモジュー
ル実行環境移行処理」のステップS124cに相当)
と、を含んだことを特徴とする。
【0039】この請求項7の発明によれば、クライアン
トにおいて、実行環境を問わない共通モジュールの実行
中に、クライアントのリソース不足状態が生じた際、こ
の共通モジュールを、サーバにおいて実行するように要
求して、共通モジュールの実行位置を移行することがで
きるので、たとえば、サービスプログラムの実行中に、
他のアプリケーションプログラム等の実行により、クラ
イアントの資源が圧迫された場合に、クライアントにお
いて実行されていた共通モジュールをサーバにおいて実
行できるようになり、クライアントのリソース不足によ
るスループットの低下を回避することができる。
【0040】また、請求項8の発明において、ネットワ
ークを介して互いに接続されたサーバとクライアントと
を備えた分散処理システムにおいて採用される分散処理
方法は、サーバが、クライアントの要求に応じて、サー
ビスを利用するのに必要なサービスモジュール(初期設
定モジュール、表示制御モジュール等)を配信した際
に、配信先のクライアントのアドレスをモジュール配信
先テーブル(サーバデータ管理テーブル)に登録するモ
ジュール配信先登録ステップ(「初期設定モジュール取
得処理」のステップS93sおよび「初期設定モジュー
ル処理」のステップS102sに相当)と、サービスモ
ジュールが更新された際に、モジュール配信先テーブル
に登録されたクライアントのアドレス先に、更新された
サービスモジュールの更新を通知するモジュール更新通
知ステップ(「サービスモジュール更新処理」のサーバ
側処理に相当)と、クライアントが、更新されたモジュ
ールの更新の通知を受けた場合に、サーバから更新され
たモジュールを取得する更新モジュール取得ステップ
(「サービスモジュール更新処理」のクライアント側処
理に相当)と、を含んだことを特徴とする。
【0041】この請求項8の発明によれば、サーバが、
クライアントに対してサービスモジュールの更新を通知
することができ、さらに、その通知は、モジュール配信
先テーブルを参照することで、過去にそのサービスモジ
ュールの配信をおこなった先のクライアントに対してお
こなわれるので、クライアントにおいて、ユーザが、特
にサーバにおけるモジュールの更新時期を意識する必要
がなくなり、かつ効率的なサービスモジュールの更新処
理が可能となる。
【0042】また、請求項9の発明において、ネットワ
ークを介して互いに接続されたサーバとクライアントと
を備えた分散処理システムにおける分散処理方法をコン
ピュータに実行させるプログラムを記録したコンピュー
タ読み取り可能な記録媒体は、サーバから、クライアン
トの要求に応じてそのクライアントにおいてサービスを
利用するのに必要なモジュール(サービスモジュールで
あり、表示制御モジュール等)をそのクライアント側で
取得するための初期設定モジュールを配信する初期設定
モジュール配信ステップ(「初期設定モジュール取得処
理」におけるサーバ側処理に相当)と、クライアントに
おいて初期設定モジュールを取得し、取得した初期設定
モジュールを実行することでサーバから必要なサービス
モジュールを取得し、取得したモジュールを実行する初
期設定モジュール実行ステップ(「初期設定モジュール
取得処理」および「初期設定モジュール処理」における
クライアント側処理に相当)と、を実行させることを特
徴とする。
【0043】この請求項9の発明によれば、この記録媒
体をサーバおよびクライアントにインストールすること
によって、クライアントが、サーバから、クライアント
の種別毎に異なり、かつサービスの実行に必要なサービ
スモジュールの取得をおこなう初期設定モジュールを取
得し、これを実行することで、クライアントにおいて必
要なサービスモジュールのみをサーバから取得すること
ができ、この取得したサービスモジュールの実行によ
り、サービスの利用を可能とするプログラムを実行する
ことができるので、ハードウェア仕様やオペレーティン
グシステムの異なるクライアントがネットワークに接続
された場合であっても、ユーザは、サーバによって提供
されるサービスを他のクライアントを利用した場合と同
様に利用することができる。
【0044】また、請求項10の発明において、ネット
ワークを介して互いに接続されたサーバとクライアント
とを備えた分散処理システムにおける分散処理方法をコ
ンピュータに実行させるプログラムを記録したコンピュ
ータ読み取り可能な記録媒体は、サーバとクライアント
との双方の実行環境において実行可能な共通モジュール
をサーバにおいて実行するサーバ共通モジュール実行ス
テップ(「サービス起動処理」のステップS115s、
「クライアントにおけるモジュール実行環境移行処理」
のステップS123s、または「サーバにおけるモジュ
ール実行環境移行処理」のステップS143sに相当)
と、サーバが処理能力の低下や負荷の増大等によるリソ
ース不足状態となった場合(「システム監視スレッドの
処理」に相当)に、他のサーバに対してその他のサーバ
側での共通モジュールの起動を要求するサーバ共通モジ
ュール起動要求ステップ(「サーバにおけるモジュール
実行環境移行処理」のステップS145s1に相当)
と、を実行させることを特徴とする。
【0045】この請求項10の発明によれば、この記録
媒体をサーバおよびクライアントにインストールするこ
とによって、サーバにおいて、実行環境を問わない共通
モジュールの実行中に、サーバのリソース不足状態が生
じた際、この共通モジュールを、他のサーバにおいて実
行するように要求して、共通モジュールの実行位置を移
行することが可能なプログラムを実行することができる
ので、たとえば、サービスプログラムの実行中に、多く
のクライアントのアクセスにより、サーバの資源が圧迫
された場合に、サーバにおいて実行されていた共通モジ
ュールを、リソースに余裕のある他のサーバにおいて実
行できるようになり、サーバのリソース不足によるスル
ープットの低下を回避することができる。
【0046】また、請求項11の発明において、ネット
ワークを介して互いに接続されたサーバとクライアント
とを備えた分散処理システムにおける分散処理方法をコ
ンピュータに実行させるプログラムを記録したコンピュ
ータ読み取り可能な記録媒体は、サーバとクライアント
との双方の実行環境において実行可能な共通モジュール
をクライアントにおいて実行するクライアント共通モジ
ュール実行ステップ(「サービス起動処理」のステップ
S112cに相当)と、クライアントが処理能力の低下
や負荷の増大等によるリソース不足状態となった場合
(「システム監視スレッドの処理」に相当)に、サーバ
に対してそのサーバ側での共通モジュールの起動を要求
するクライアント共通モジュール起動要求ステップ
(「クライアントにおけるモジュール実行環境移行処
理」のステップS124cに相当)と、を実行させるこ
とを特徴とする。
【0047】この請求項11の発明によれば、この記録
媒体をサーバおよびクライアントにインストールするこ
とによって、クライアントにおいて、実行環境を問わな
い共通モジュールの実行中に、クライアントのリソース
不足状態が生じた際、この共通モジュールを、サーバに
おいて実行するように要求して、共通モジュールの実行
位置を移行することが可能なプログラムを実行すること
ができるので、たとえば、サービスプログラムの実行中
に、他のアプリケーションプログラム等の実行により、
クライアントの資源が圧迫された場合に、クライアント
において実行されていた共通モジュールをサーバにおい
て実行できるようになり、クライアントのリソース不足
によるスループットの低下を回避することができる。
【0048】また、請求項12の発明において、ネット
ワークを介して互いに接続されたサーバとクライアント
とを備えた分散処理システムにおける分散処理方法をコ
ンピュータに実行させるプログラムを記録したコンピュ
ータ読み取り可能な記録媒体は、サーバから、クライア
ントにおいてサービスを利用するのに必要なサービスモ
ジュール(初期設定モジュール、表示制御モジュール
等)を配信した際に、配信先のクライアントのアドレス
をモジュール配信先テーブル(サーバデータ管理テーブ
ル)に登録するモジュール配信先登録ステップ(「初期
設定モジュール取得処理」のステップS93sおよび
「初期設定モジュール処理」のステップS102sに相
当)と、サービスモジュールが更新された際に、モジュ
ール配信先テーブルに登録されたクライアントのアドレ
ス先に、更新されたサービスモジュールの更新を通知す
るモジュール更新通知ステップ(「サービスモジュール
更新処理」のサーバ側処理に相当)と、クライアント
に、更新されたサービスモジュールの取得の指示が通知
された場合に、サーバから更新されたサービスモジュー
ルを取得させる更新モジュール取得ステップ(「サービ
スモジュール更新処理」のクライアント側処理に相当)
と、を実行させることを特徴とする。
【0049】この請求項12の発明によれば、この記録
媒体をサーバおよびクライアントにインストールするこ
とによって、サーバが、クライアントに対してサービス
モジュールの更新を通知することができ、さらに、その
通知は、モジュール配信先テーブルを参照することで、
過去にそのサービスモジュールの配信をおこなった先の
クライアントに対しておこなうことが可能なプログラム
を実行することができるので、クライアントにおいて、
ユーザが、特にサーバにおけるモジュールの更新時期を
意識する必要がなくなり、かつ効率的なサービスモジュ
ールの更新処理が可能となる。
【0050】また、請求項13において、ネットワーク
に接続されてクライアント装置(クライアント)ととも
に分散処理システムを構築するサーバ装置(サーバ)
は、サービスの提供および利用をおこなうための個別に
実行可能な複数のモジュール(サービスモジュール)
と、サービスモジュールの一種であり、クライアントが
サービスを利用するのに必要なサービスモジュール(表
示制御モジュール等)をそのクライアント側で取得する
ための初期設定モジュールと、クライアントからの初期
設定モジュールの取得要求に応じてそのクライアントの
種別に応じた初期設定モジュールを配信し、その初期設
定モジュールがクライアントにおいて実行されることに
よって要求されるサービスモジュールを配信し、サービ
スモジュールを実行することでサービスの提供をおこな
うサービス提供手段(「サーバデーモン起動処理」と、
「初期設定モジュール取得処理」および「初期設定モジ
ュール処理」におけるサーバ側処理に相当)と、を備え
たことを特徴とする。
【0051】この請求項13の発明によれば、サーバ
は、クライアントの種別毎に異なるサービスモジュール
の配信を可能とする初期設定モジュールをクライアント
に配信するので、クライアント側でサービスを利用する
ためのサービスプログラムに必要なサービスモジュール
の変更等が生じた場合にも、初期設定モジュールの内容
を変更するだけで対応でき、クライアントの種別毎に存
在する多くのサービスモジュールの管理が容易になる。
【0052】また、請求項14において、請求項13に
記載のサーバ装置(サーバ)は、サービスモジュールの
一種としてサーバとクライアントとの双方の実行環境に
おいて実行可能な共通モジュールを備え、サービス提供
手段が、サーバの処理能力や負荷状態の情報を一定時間
毎に取得するリソース監視機構(「システム監視スレッ
ドの処理」に相当)を設け、共通モジュールを実行して
いる状態において、リソース監視機構によって取得され
た情報が処理能力の低下や負荷の増大等によるリソース
不足状態を示す場合に、このサーバと同機能を有する他
のサーバに対してその他のサーバ側での共通モジュール
の起動を要求する(「サーバにおけるモジュール実行環
境移行処理」のステップS145s1に相当)ことを特
徴とする。
【0053】この請求項14の発明によれば、サーバ
に、実行環境を問わない共通モジュールが備えられるこ
とで、サーバのリソース不足状態に対して、本来、この
サーバにおいて実行すべき共通モジュールを、他のサー
バにおいて実行するように実行位置を移行することがで
きるので、サーバのリソース不足が生じた場合に、サー
バにおいて実行されていた共通モジュールを、リソース
に余裕のある他のサーバにおいて実行できるようにな
り、サーバのスループットの低下を回避することができ
る。
【0054】また、請求項15において、請求項14に
記載のサーバは、サービス提供手段が、複数の共通モジ
ュールを実行している状態において、サーバのリソース
不足状態が解消されるまで、起動要求の対象となる共通
モジュールの選択をおこない、他のサーバに対して選択
した共通モジュールの起動の要求を繰り返す(「サーバ
におけるモジュール実行環境移行処理」に相当)ことを
特徴とする。
【0055】この請求項15の発明によれば、実行され
ている複数の共通モジュールのうち、リソース不足が解
消されるだけの共通モジュールを、他のサーバに対する
起動要求の対象とするので、起動要求先のサーバのリソ
ースへの大きな圧迫を回避することができる。
【0056】また、請求項16において、請求項14ま
たは15に記載のサーバは、サービス提供手段が、他の
サーバから共通モジュールの起動を要求された場合に、
共通モジュールを起動し、他のサーバまたはクライアン
トからの起動した共通モジュールへのアクセスを許可す
る(「クライアントにおけるモジュール実行環境移行処
理」および「サーバにおけるモジュール実行環境移行処
理」に相当)ことを特徴とする。
【0057】この請求項16の発明によれば、起動要求
された共通モジュールへのアクセスを、起動要求を発し
たサーバだけでなく、その共通モジュールの実行を必要
とするクライアントに対しても直接に可能とするので、
起動要求された共通モジュールの利用が容易に実現され
る。
【0058】また、請求項17において、請求項14〜
16のいずれか一つに記載のサーバは、共通モジュール
の起動をおこなうサーバの実行位置情報を登録するモジ
ュール実行位置テーブル(サーバデータ管理テーブル)
を備え、サービス提供手段が、モジュール実行位置テー
ブルに登録された実行位置情報に基づいて共通モジュー
ルにアクセスする(後述する「サービスモジュールアク
セス処理」に相当)ことを特徴とする。
【0059】この請求項17の発明によれば、モジュー
ル実行位置テーブルによって共通モジュールの実行位置
を管理するので、このモジュール実行位置テーブルを参
照することで、所望の共通モジュールのアクセスが容易
になる。
【0060】また、請求項18において、請求項13〜
17のいずれか一つに記載のサーバは、サービスモジュ
ールを配信した先のクライアントのアドレスを登録する
モジュール配信先テーブル(サーバデータ管理テーブ
ル)と、サーバにおいてサービスモジュールが更新され
た際に、モジュール配信先テーブルに登録されたクライ
アントのアドレス先に更新されたサービスモジュールの
更新を通知する更新通知手段(「サービスモジュール更
新処理」のサーバ側処理に相当)と、を備えたことを特
徴とする。
【0061】この請求項18の発明によれば、モジュー
ル配信先テーブルを参照することによって、更新された
サービスモジュールの取得が必要なクライアントのみに
更新通知をおこなうので、効率的なサービスモジュール
の更新処理が可能となる。
【0062】また、請求項19において、ネットワーク
に接続されてサーバ装置(サーバ)とともに分散処理シ
ステムを構築するクライアント装置(クライアント)
は、サーバが提供するサービスを利用するのに必要なサ
ービスモジュール(表示制御モジュール等)をサーバか
ら取得するための初期設定モジュールをサーバから取得
し、取得した初期設定モジュールの実行によって必要な
サービスモジュールを取得し、取得したサービスモジュ
ールを実行することでサービスの利用をおこなうサービ
ス利用手段(「クライアントデーモン起動処理」と、
「初期設定モジュール取得処理」および「初期設定モジ
ュール処理」におけるクライアント側処理に相当)を備
えたことを特徴とする。
【0063】この請求項19の発明によれば、クライア
ントは、サービス利用手段によって、サーバから初期設
定モジュールを取得して実行するだけで、この初期設定
モジュールの処理により、クライアントにおいて必要な
サービスモジュールのみをサーバから取得することがで
きるので、ハードウェア仕様やオペレーティングシステ
ムの異なるクライアントがネットワークに接続された場
合であっても、サーバによって提供されるサービスがク
ライアント間において差異なく利用できるとともに、ユ
ーザが、クライアントの種別を意識することなく、サー
バの提供するサービスを容易に利用することができる。
【0064】また、請求項20において、請求項19に
記載のクライアントは、初期設定モジュールが、クライ
アントの処理能力や負荷状態の調査をおこない(「初期
設定モジュール処理」のステップS104cに相当)、
その調査結果に応じて、サーバが提供するサービスを利
用するのに必要なサービスモジュールのうちサーバから
取得するサービスモジュールを選択する(「初期設定モ
ジュール処理」のステップS105cに相当)ことを特
徴とする。
【0065】この請求項20の発明によれば、クライア
ントにおいて実行されるサービス利用手段にクライアン
トの機能と処理能力を調査する調査機構が設けられ、初
期設定モジュールの実行時にこの調査機構を実行して取
得される調査結果に応じて、サーバから取得するサービ
スモジュールを選択することができるので、たとえば、
調査結果がクライアントの処理能力の低下を示す場合
に、実行可能なサービスモジュールだけを取得して実行
し、サービス実行に必要な他のサービスモジュールの実
行をサーバ等に依頼することが可能になり、クライアン
トにおいてストレスのないサービス利用が可能になる。
【0066】また、請求項21において、請求項19ま
たは20に記載のクライアントは、サーバから取得した
サービスモジュールを管理するモジュール管理テーブル
(クライアントデータ管理テーブル)を備え、サービス
利用手段が、モジュール管理テーブルにサービスを利用
するのに必要なサービスモジュールが登録されていない
場合に、そのサービスモジュールをサーバから取得し、
取得したサービスモジュールをモジュール管理テーブル
に登録する(「初期設定モジュール処理」のステップS
107cに相当)ことを特徴とする。
【0067】この請求項21によれば、クライアントデ
ータ管理テーブルに、サービスを利用するのに必要なサ
ービスモジュールが登録されていない場合に、そのサー
ビスモジュールをサーバから取得して、クライアントデ
ータ管理テーブルに登録するので、クライアントは、サ
ービスの利用に必要な最低限のサービスモジュールだけ
を付属する記憶装置等に備えておくことができ、クライ
アントの資源の有効な活用を実現することができる。
【0068】また、請求項22において、請求項19〜
21のいずれか一つに記載のクライアントは、サービス
利用手段が、サービスを利用するのに必要なサービスモ
ジュールの一種としてサーバとクライアントとの双方の
実行環境において実行可能な共通モジュールをサーバか
ら取得し、クライアントの処理能力や負荷状態の情報を
一定時間毎に取得するリソース監視機構(「システム監
視スレッド処理」に相当)を設け、共通モジュールを実
行している状態(「サービス起動処理」のステップS1
12cに相当)において、リソース監視機構によって取
得された情報が処理能力の低下や負荷の増大等によるリ
ソース不足状態を示す場合に、サーバに対してそのサー
バ側での共通モジュールの起動を要求する(「クライア
ントにおけるモジュール実行環境移行処理」のステップ
S124cに相当)ことを特徴とする。
【0069】この請求項22によれば、クライアントが
実行環境を問わない共通モジュールを実行している状態
において、クライアントのリソース不足状態に対して、
本来、このクライアントにおいて実行すべき共通モジュ
ールを、サーバにおいて実行するように実行位置を移行
することができるので、クライアントのリソース不足が
生じた場合に、クライアントにおいて実行されていた共
通モジュールを、リソースに余裕のあるサーバにおいて
実行できるようになり、クライアントのスループットの
低下を回避することができる。
【0070】また、請求項23において、請求項22に
記載のクライアントは、サービス利用手段が、複数の共
通モジュールを実行している状態において、クライアン
トのリソース不足状態が解消されるまで、起動要求の対
象となる共通モジュールの選択をおこない、前記サーバ
装置に対して前記選択した共通モジュールの起動の要求
を繰り返す(「クライアントにおけるモジュール実行環
境移行処理」に相当)ことを特徴とする。
【0071】この請求項23によれば、実行されている
複数の共通モジュールのうち、リソース不足が解消され
るだけの共通モジュールを、サーバに対する起動要求の
対象とするので、起動要求先のサーバのリソースへの大
きな圧迫を回避することができる。
【0072】また、請求項24において、請求項22ま
たは23に記載のクライアントは、共通モジュールの起
動をおこなうサーバの実行位置情報を登録するモジュー
ル実行位置テーブル(クライアントデータ管理テーブ
ル)を備え、サービス利用手段が、モジュール実行位置
テーブルに登録された実行位置情報に基づいて共通モジ
ュールにアクセスする(「サービスモジュールアクセス
処理」に相当)ことを特徴とする。
【0073】この請求項24によれば、モジュール実行
位置テーブルによって共通モジュールの実行位置を管理
するので、このモジュール実行位置テーブルを参照する
ことで、所望の共通モジュールのアクセスが容易にな
る。
【0074】また、請求項25において、請求項19〜
24のいずれか一つに記載のクライアントは、サーバか
ら更新されたサービスモジュールの更新の通知を受けた
場合に、サーバから更新されたサービスモジュールを取
得する更新モジュール取得手段(「サービスモジュール
更新処理」のクライアント側処理に相当)を備えたこと
を特徴とする。
【0075】この請求項25によれば、更新モジュール
取得手段によって、サーバからサービスモジュールの更
新が通知された際に、更新されたサービスモジュールを
取得するので、クライアントにおいて、ユーザ自らが、
サーバにおけるモジュールの更新時期を意識する必要が
なくなり、かつ効率的なサービスモジュールの更新処理
が可能となる。
【0076】
【発明の実施の形態】以下に、本発明にかかる分散処理
システム、分散処理方法、サーバ装置およびクライアン
ト装置の実施の形態を図面に基づいて詳細に説明する。
なお、この実施の形態によりこの発明が限定されるもの
ではない。ここでは、まず、本発明にかかる分散処理シ
ステム、分散処理方法、サーバ装置およびクライアント
装置において動作される各処理についての原理的な説明
をおこない、つづいてそれら各処理によって動作する具
体的な実施の形態を説明する。
【0077】本発明にかかる分散処理システムは、LA
Nケーブル、電話回線もしくは専用回線等の通信回線
網、すなわちネットワークを介して接続される一つ以上
のサーバと一つ以上のクライアントとから構成され、ク
ライアントが、主にサーバの提供するサービスをネット
ワーク上の共有資源として利用できるシステムである。
特に、複数のサーバがネットワークに接続されることに
より、サービス実行における負荷が分散され、クライア
ントの受けるサービスがストレスなく実行できる環境が
提供される。
【0078】また、この分散処理システムは、通信イン
ターフェースを共通にすることで、ハードウェア仕様や
オペレーティングシステムの異なる複数種のクライアン
トが接続されてもよい。
【0079】ここにおけるサービスは、クライアントの
要求に対して、サーバがクライアントに種々のデータを
提供することであり、データベースサービスや計算処理
サービス等である。よって、サーバは、クライアントか
らの要求に従って目的とするサービスを実行するための
サーバ用のサービスプログラムを備え、クライアントも
また、サーバに対してサービスを要求するためのクライ
アント用のサービスプログラムを備える必要がある。
【0080】クライアントは、オペレーティングシステ
ム、上記したクライアント用のサービスプログラム、そ
の他のアプリケーションプログラムを実行するCPU
と、ネットワークに接続するための通信インターフェー
スと、CPUによって実行されるプログラムやデータを
記憶する記憶装置と、キーボードやマウス等の入力装置
と、CRTや液晶ディスプレイ等の表示装置と、から構
成され、通常のコンピュータシステムを用いることがで
きる。また、サーバは、クライアントと同様な構成であ
るが、さらに、複数のCPUを備えてマルチプロセッサ
対応の高速な処理を可能とすることや、大容量の記憶装
置、各種サービスを提供するための周辺装置が接続され
る場合がある。なお、上記した記憶装置は、RAM、R
OM等のメモリやハードディスク装置、さらにICカー
ドメモリ、フロッピーディスク、光磁気ディスク、CD
−ROM等の取り外し可能な記録媒体を装填可能とする
ドライブ装置を含む。
【0081】本発明にかかる分散処理システムでは、上
記したサービスプログラムを個別に実行可能な複数のモ
ジュールから構成し、サーバ用サービスプログラムとク
ライアント用サービスプログラムはともに、モジュール
単位で実行可能である。また、クライアント用サービス
プログラムを構成するモジュール群は、サービスデータ
としてサーバからクライアントへ配信することが可能で
あり、これらモジュール(以下、サービスモジュールと
称する)の保守・管理は主にサーバによっておこなわれ
る。
【0082】図1は、提供されるサービス毎に用意され
たサービスデータのモジュール構成を示す説明図であ
る。図1において、サービスデータには、サーバ側でサ
ービス実行をおこなうために必要なサーバ制御モジュー
ル、クライアントに備えられた表示装置に対する表示制
御をおこない、グラフィカルユーザインターフェース
(GUI)およびその他の入出力制御をおこなう表示制
御モジュール、クライアント種別毎に用意され、クライ
アントに必要なサービスモジュールのサーバからの取得
方法を定義しかつクライアントの処理能力と負荷状態の
調査をおこなう機能を有する初期設定モジュール、さら
にサービスモジュールの実行位置をクライアント、サー
バに依存しない共通モジュールに分割される。
【0083】上述したサーバ用サービスプログラムおよ
びクライアント用サービスプログラムは、図1に示すサ
ービスデータにおいて、必要とするサービスモジュール
を組合せることによって構成され、また各サービスモジ
ュール(サーバ制御モジュール、表示制御モジュール、
初期設定モジュール、共通モジュール)を複数備えるこ
とができる。
【0084】たとえば、サーバ用サービスプログラム
は、いくつかのサーバ制御モジュールから構成され、ク
ライアント用サービスプログラムは、一つの初期設定モ
ジュールと、いくつかの表示制御モジュールと、いくつ
かの共通モジュールとから構成される。
【0085】図2は、サーバのシステム実行形態を示す
説明図である。サーバは、オペレーティングシステムS
OSの実行環境下において、複数のクライアントからの
接続要求の受け付け、サービスモジュールの配送、サー
バのサービス制御をおこなうサーバデーモンSD1が常
駐している。この状態において、クライアントからのサ
ービス実行要求が発生すると、サーバデーモンSD1中
に、該当するサービスプログラムSSP1(Servi
ce−1)のサービスモジュールを実行するためのスレ
ッドを生成し、このサービスモジュールを実行する。
【0086】また、サーバデーモンSD1には、サーバ
の処理能力と負荷状態を逐次管理するシステム監視スレ
ッドSTH1が含まれており、一定時間間隔でサーバに
対するシステム監視がおこなわれる。また、サーバは、
記憶装置に、サーバおよびクライアントに登録されるサ
ービスモジュールの情報を管理するサーバデータ管理テ
ーブルSDT1を備えており、必要に応じてこのサーバ
データ管理テーブルSDT1を参照し、サーバデーモン
SD1内のスレッドとのデータの入出力をおこなう。
【0087】なお、サーバデーモンSD1は、オペレー
ティングシステムSOSに対してデータおよび命令の入
出力をおこない、オペレーティングシステムSOSは、
通信用のソケットAPI(Application P
rogram Interface)を介してネットワ
ークとのデータの入出力、すなわちクライアントまたは
他のサーバとの接続を確立している。
【0088】サーバデータ管理テーブルSDT1は、サ
ーバの提供するサービスのサービス名と、このサービス
を実行するのに必要なサービスモジュールのサービスモ
ジュール名と、各サービスモジュールの版数および実行
状態に関する情報を含むサービスモジュールデータと、
から構成される。図3は、サーバデータ管理テーブルS
DT1の各サービスモジュールに対するサービスモジュ
ールデータを示した説明図である。
【0089】図3において、サーバデータ管理テーブル
SDT1におけるサービスモジュールデータは、たとえ
ば、対応する「サービスモジュール名」、対応するサー
ビス名を示す「デフォルトサービス名」、サーバがサー
ビスモジュールを配送したクライアントを示す「配送先
クライアントアドレスリスト」、サービスモジュールの
種別(サーバ制御モジュール、表示制御モジュール、初
期設定モジュール、共通モジュール)を示す「モジュー
ル種別」、クライアントのオペレーティングシステムま
たはハードウェア仕様を示す「プラットフォーム種
別」、サービスモジュールの「版数」、サービスモジュ
ールの実行位置を示す「状態フラグ」、「状態フラグ」
がローカル実行を示す場合のサービスモジュールに対す
るアクセスコードを示す「ローカル実行時のアクセスI
D」、「状態フラグ」が「リモート実行」を示す場合の
サービスモジュールの属するサーバのアドレスを示す
「リモート実行時のサーバアドレス」、「状態フラグ」
が「リモート実行」を示す場合のサービスモジュールに
対するアクセスコードを示す「アクセスID」等のデー
タから構成される。
【0090】図4は、クライアントのシステム実行形態
を示す説明図である。クライアントは、オペレーティン
グシステムCOSの実行環境下において、サーバとの通
信をおこなうクライアントデーモンCD1が常駐してい
る。ここで、オペレーティングシステムCOSは、サー
バのオペレーティングシステムSOSと必ずしも同じで
ある必要はない。
【0091】この状態において、ユーザからのサービス
実行要求が発生すると、クライアントデーモンCD1中
に、該当するサービスプログラムCSP1(Servi
ce−1)のサービスモジュールを実行するためのスレ
ッドを生成し、このサービスモジュールを実行する。
【0092】また、クライアントデーモンCD1には、
クライアントの処理能力と負荷状態を逐次管理するシス
テム監視スレッドCTH1が含まれており、一定時間間
隔でクライアントに対するシステム監視がおこなわれ
る。また、クライアントは、記憶装置に、サーバから取
得してクライアントに登録されるサービスモジュールの
情報を管理するクライアントデータ管理テーブルCDT
1を備えており、必要に応じてこのクライアントデータ
管理テーブルCDT1を参照し、クライアントデーモン
CD1内のスレッドとのデータの入出力をおこなう。
【0093】なお、クライアントデーモンCD1は、オ
ペレーティングシステムCOSに対してデータおよび命
令の入出力をおこない、オペレーティングシステムCO
Sは、サーバと同様に、通信用のソケットAPIを介し
てネットワークとのデータの入出力、すなわちサーバと
の接続を確立している。
【0094】クライアントデータ管理テーブルCDT1
は、クライアントに登録されたサービスのサービス名
と、このサービスを実行するのに必要なサービスモジュ
ールのサービスモジュール名と、各サービスモジュール
の版数および実行状態に関する情報を含むサービスモジ
ュールデータと、から構成される。図5は、クライアン
トデータ管理テーブルCDT1の各サービスモジュール
に対するサービスモジュールデータを示した説明図であ
る。
【0095】図5において、クライアントデータ管理テ
ーブルCDT1におけるサービスモジュールデータは、
たとえば、図3に説明した「サービスモジュール名」、
「デフォルトサービス名」、「版数」、「状態フラ
グ」、「ローカル実行時のアクセスID」、「リモート
実行時のサーバアドレス」、「アクセスID」と、サー
ビスモジュールの取得先であるサーバのアドレスを示す
「取得サーバアドレス」等のデータから構成される。
【0096】つぎに、図2および図4に示したサーバお
よびクライアントの実行形態において、サービスが実行
されるまでの流れをフローチャートにしたがって説明す
る。
【0097】(クライアントデーモンの起動処理)ま
ず、クライアントとなる端末装置は、多くの場合、起動
と同時に、オペレーティングシステムCOSの環境下に
おいて、クライアントデーモンCD1が実行される。こ
れにより、クライアントデーモンCD1は、常にクライ
アントデーモンとして生成されたスレッドが実行されて
おり、各スレッドの実行内容にしたがったデータの入出
力がおこなわれる。
【0098】図6は、クライアントデーモンCD1の起
動において実行される処理を示したフローチャートであ
る。図6において、たとえば、オペレーティングシステ
ムCOSの起動と同時に自動実行されるタスク起動プロ
グラムによって、まず、クライアントデーモンCD1が
起動される(ステップS61)。クライアントデーモン
CD1はサーバからのメッセージを受信したり、クライ
アントで実行されるサービスモジュールからのメッセー
ジ要求をサーバに送信する。
【0099】クライアントで実行されるサービスモジュ
ールには、ユーザが入力装置を用いることでおこなわれ
るボタン押下やテキスト入力などのサービス選択やサー
ビス実行に関するイベントを制御する表示制御モジュー
ル、クライアント種別に応じたサービスモジュールの取
得を可能にする初期設定モジュール、クライアントかサ
ーバかの実行位置に依存しない共通モジュールが含まれ
る。
【0100】このクライアントデーモンCD1の起動に
ともなって、クライアントの処理能力や負荷状態の監視
をおこなうシステム監視スレッドCTH1が生成されて
実行される(ステップS62)。このようにシステム監
視スレッドCTH1が常駐した後は、現在サーバに登録
されているサービスのリスト、すなわちサーバが提供可
能なサービスのリストを取得する(ステップS63)。
【0101】実際には、クライアントデーモンCD1内
に、サーバからのサービスリスト取得をおこなうための
スレッドが生成され、このスレッドがオペレーティング
システムCOSに対してサービスリストの取得を要求す
る。オペレーティングシステムCOS(より詳しくは通
信ソケットAPI)は、クライアントがアクセス可能な
サーバに対してサービスリストの配信を要求する。
【0102】このように、サービスリストの取得をおこ
なうスレッドもまた、サービスモジュールとして機能
し、クライアントにおいて最低限必要なモジュールとな
る。よって、ユーザは、クライアントデーモンCD1の
起動時のみでなく、必要に応じてサーバからサービスリ
ストの取得をおこなうことができる。
【0103】サーバからサービスリストが配信される
と、上記したサービスリスト取得スレッドまたはあらか
じめ登録された表示制御モジュールのスレッドが、クラ
イアントの表示装置上にサービスリストにしたがったG
UI表示をおこない、ユーザによる入力装置を介したア
クセスもしくはサーバアクセスの待ち受け状態に遷移す
る(ステップS64)。
【0104】ここで、サーバアクセスとは、サーバがク
ライアントに対しておこなうメッセージ送信やクライア
ント上で実行されているサービスモジュールに対する命
令またはデータの送信を示す。
【0105】(サーバデーモンの起動処理)図6に示し
たステップS64の後の処理は後述するとして、つぎ
に、サーバデーモンSD1の起動処理について説明す
る。サーバとなる端末装置は、オペレーティングシステ
ムSOSの環境下において、通常、サーバデーモンSD
1が常駐状態であり、サーバデーモンとして生成された
スレッドが常に実行されている。サーバは、クライアン
トからのアクセスを常に受け付ける必要があるため、保
守作業等の特別な場合を除いては、常に起動状態である
と考えてよい。このため、サーバデーモンSD1の起動
処理もまた稀にしかおこなわれないが、ここでは、サー
バの起動時またはシステム管理者の操作によるサーバデ
ーモンSD1の起動がおこなわれる場合を説明する。
【0106】図7は、サーバデーモンSD1の起動時に
実行される処理を示したフローチャートである。図7に
おいて、まず、サーバデーモンSD1が起動される(ス
テップS71)。サーバデーモンSD1は、クライアン
トや他のサーバからのメッセージを受信したり、サーバ
内で実行されるサービスモジュールからのメッセージ要
求をクライアントや他のサーバに送信する。
【0107】サーバで実行されるサービスモジュールに
は、常駐型のサービスやクライアントからのサービス起
動要求により起動されるサーバ制御モジュール、クライ
アントかサーバかの実行位置に依存しない共通モジュー
ルが含まれる。
【0108】このサーバデーモンSD1の起動にともな
って、サーバの処理能力や負荷状態の管理をおこなうシ
ステム監視スレッドSTH1が生成されて実行される
(ステップS72)。そして、システム監視スレッドS
TH1が常駐した後は、クライアントからのアクセスも
しくは他サーバからのアクセス待ち受け状態に遷移する
(ステップS73)。
【0109】(システム監視スレッドの処理)つぎに、
上述した「クライアントデーモンCD1の起動処理」に
おけるシステム監視スレッドCTH1の実行(ステップ
S62)および「サーバデーモンの起動処理」における
システム監視スレッドSTH1の実行処理(ステップS
72)について説明する。なお、システム監視スレッド
CTH1およびSTH1は、ともに同一の流れの処理を
示す。
【0110】図8は、システム監視スレッドによる処理
を示したフローチャートである。システム監視スレッド
は、クライアントおよびサーバにそれぞれ配備され、ク
ライアントデーモンCD1およびサーバデーモンSD1
によって生成される。つづいて、システム監視スレッド
は、このシステム監視スレッドが常駐しているシステム
(サーバまたはクライアント)の処理能力や負荷状態の
チェックをおこなう(ステップS81)。ここで、処理
能力のチェックとしては、メモリや記憶装置のデータ蓄
積容量、サーバやクライアントとの通信に必要な通信ソ
ケットの空き数、スレッド生成の許容量等の調査があげ
られ、負荷状態のチェックとしては、CPU稼働率やベ
ンチマークテストの実施による計測があげられる。
【0111】つづいて、ステップS81の処理能力・負
荷状態のチェックの結果、システムが、処理能力の低下
や著しい負荷状態、すなわちリソース不足の状態を示す
かどうかが判定される(ステップS82)。ステップS
82において、システムのリソース不足の状態が示され
た場合には、さらに、このシステム監視スレッドの実行
位置がクライアントであるかどうかが判定される(ステ
ップS84)。
【0112】ステップS84において、システム監視ス
レッドの実行位置がクライアントであれば、後述するク
ライアント用のモジュール実行環境移行処理(ステップ
S120)が実行され、システム監視スレッドの実行位
置がサーバであれば、後述するサーバ用のモジュール実
行環境移行処理(ステップS140)が実行される。
【0113】一方、ステップS82において、リソース
不足が検出されない場合には、一定時間の待ち受け状態
(ステップS83)となり、この一定時間経過後に再び
ステップS81の処理がおこなわれる。すなわち、図8
に示すシステム監視スレッドの処理は、一定時間毎にシ
ステムの処理能力・負荷状態のチェックをおこない、そ
のチェックの結果がリソース不足を示す場合には、この
システム監視スレッドが実行されている位置(サーバま
たはクライアント)に応じたモジュール実行環境移行処
理が実行されることを示す。
【0114】(初期設定モジュール取得処理)つぎに、
図6に示したステップS64のユーザアクセス/サーバ
アクセス待ち受け状態に対して、ユーザによるサービス
選択がおこなわれ、その結果実行される初期設定モジュ
ール取得処理について説明する。図9は、初期設定モジ
ュール取得処理を示したフローチャートである。
【0115】図9において、まず、ユーザが、クライア
ントの表示装置上にGUI表示されたサービスリストか
ら、マウスやキーボード等の入力装置を用いて、所望の
サービスを選択する(ステップS91c)。そして、選
択されたサービスを実行するのに必要な初期設定モジュ
ールを、上記したクライアントデータ管理テーブルCD
T1から検索する(ステップS92c)。
【0116】つづいて、該当する初期設定モジュール
が、クライアントデータ管理テーブルCDT1に登録さ
れているかどうかの判定がおこなわれる(ステップS9
3c)。ステップS93cにおいて、該当する初期設定
モジュールがクライアントデータ管理テーブルCDT1
に登録されている場合は、サーバに登録されている初期
設定モジュールの版数をチェックするために、サーバに
登録された初期設定モジュールのうち、上記した初期設
定モジュールに対応する初期設定モジュールの情報を取
得する(ステップS94c)。
【0117】ステップS94cの処理の手順としては、
該当する初期設定モジュールを表すサービスモジュール
名をともなった初期設定モジュールの情報取得要求をサ
ーバに対して発信する。そして、クライアントは、この
初期設定モジュール情報取得要求に対してサーバから配
信される返答、すなわち該当する初期設定モジュールの
情報を受け取る。
【0118】クライアントが受け取った初期設定モジュ
ール情報は、たとえば図3に示すサービスモジュールデ
ータのように構成されており、このデータに含まれる版
数情報と、クライアントに登録された初期設定モジュー
ル情報、たとえば図5に示すサービスモジュールデータ
に含まれる版数情報と、の比較をおこない、版数が一致
するかどうかを判定する(ステップS95c)。
【0119】ステップS95cにおいて、版数が一致し
ない場合、すなわちクライアントに登録された初期設定
モジュールの版数が、サーバに登録された初期設定モジ
ュールの版数よりも古い値を示す場合には、クライアン
トにおいて該当する初期設定モジュールを変更する必要
があるため、サーバに対して初期設定モジュールの取得
要求を発信する。
【0120】また、ステップS93cにおいて、該当す
る初期設定モジュールがクライアントデータ管理テーブ
ルCDT1に登録されていない場合もまた、サーバに対
して初期設定モジュールの取得要求を発信する。なお、
初期設定モジュール取得要求には、目的とする初期設定
モジュールに対応したサービス名と、クライアントのハ
ードウェア仕様またはオペレーティングシステムの種類
を特定するプラットフォーム種別(クライアント種別)
とを特定する数値情報が含まれている。
【0121】サーバは、クライアントから受信した初期
設定モジュール取得要求の示す引数(上記した数値情
報)によって、サービス名とクライアント種別を特定す
る(ステップS91s)。つづいて、サーバは、サーバ
データ管理テーブルSTD1から、ステップS91sに
おいて特定されたサービス名とクライアント種別に対応
した初期設定モジュールを選択する(ステップS92
s)。
【0122】そして、サーバは、ステップS92sにお
いて選択された初期設定モジュールを、初期設定モジュ
ール取得要求のあったクライアントに対して配信する。
サーバは、初期設定モジュールの配信後、サーバデータ
管理テーブルSDT1において、配信した初期設定モジ
ュールに対応するサービスモジュールデータのうち、
「配送先クライアントアドレスリスト」に、初期設定モ
ジュール取得要求のあったクライアントのアドレスを登
録する(ステップS93s)。
【0123】一方、初期設定モジュールを受信したクラ
イアント(より詳しくは、クライアントデーモンCD
1)は、クライアントデータ管理テーブルCDT1に、
受信した初期設定モジュールの登録をおこなう。この
際、取得先のサーバのアドレスを、図5に示すサービス
モジュールデータ内の「取得サーバアドレス」に登録す
る(ステップS96c)。
【0124】つづいて、クライアントは、ステップS9
6cにおいて登録された初期設定モジュールのスレッド
を生成し(ステップS97c)、この初期設定モジュー
ルを起動する(ステップS98c)。
【0125】なお、以上に説明した初期設定モジュール
取得処理は、上述したサービスリスト取得スレッドまた
はこのスレッドにより構成されるサービスプログラムに
含めてもよいし、初期設定モジュール取得処理をおこな
うためのサービスモジュールをクライアントにあらかじ
め登録しておくことで実行されるようにしてもよい。
【0126】(初期設定モジュール処理)つぎに、図9
に示したステップS98cにつづく処理、すなわち初期
設定モジュールの処理について説明する。図10は、初
期設定モジュールによる処理を示したフローチャートで
ある。図10において、まず、初期設定モジュールは、
その内部に定義された情報から、サービスの実行に必要
なサービスモジュールを抽出する(ステップS101
c)。
【0127】そして、初期設定モジュールは、クライア
ントデータ管理テーブルCDT1から、ステップS10
1cにおいて抽出したサービスモジュールの検索をおこ
なう(ステップS102c)。ステップS102cにお
いて、クライアントデータ管理テーブルCDT1から検
索対象となるサービスモジュールを特定することができ
る場合、すなわち検索対象となるサービスモジュールが
クライアントデータ管理テーブルCDT1に登録されて
いる場合には、そのサービスモジュールの版数をチェッ
クする(ステップS103c)。
【0128】ステップS103cにおけるサービスモジ
ュールの版数のチェックは、まず、サーバに登録されて
いるサービスモジュールの版数を取得するために、サー
バに登録されたサービスモジュールのうち、対応するサ
ービスモジュールの情報の取得要求をそのサーバに対し
て発信する必要がある。
【0129】クライアントは、このサービスモジュール
情報取得要求の発信後、サーバから配信される返答、す
なわち該当するサービスモジュール情報を受け取り、初
期設定モジュールは、受け取ったサービスモジュール情
報から版数情報を取得する。なお、このサービスモジュ
ール情報取得要求をおこなうにおいて、複数のサービス
モジュールの情報が必要である場合は、該当する複数の
サービスモジュールの情報を一度の送受信によって取得
することも可能である。
【0130】一方、クライアントに登録されたサービス
モジュールに対しては、クライアントデータ管理テーブ
ルCDT1において、対象となるサービスモジュールに
対応するサービスモジュールデータから、版数情報を取
得することができる。なお、ステップS102cにおい
て、検索対象となるサービスモジュールがクライアント
データ管理テーブルCDT1に登録されていない場合に
は、ステップS103cの処理はスキップされ、つぎの
ステップS104cの処理が実行される。
【0131】ステップS104cにおいては、オペレー
ティングシステムCOSに対するシステムコールによっ
て、現在のクライアントの機能、処理能力および負荷状
態のチェックがおこなわれる。このクライアントに対す
るシステムチェックは、上述したシステム監視スレッド
CTH1によっておこなうこともでき、その場合、初期
設定モジュールは、システム監視スレッドCTH1に対
してシステムがリソース不足状態にあるかどうかの情報
の取得要求をおこなうことができるが、ここでは、特
に、システムの迅速な状態チェックをおこなうために、
システムコールを用いた初期設定モジュール独自のシス
テムチェックをおこなうものとする。
【0132】つづいて、初期設定モジュールは、ステッ
プS101cにおいて抽出されたサービスモジュールを
サーバから取得する必要があるかどうかの判定をおこな
う(ステップS105c)。ステップS105cにおい
て、サービスモジュールをサーバから取得する必要があ
る場合、具体的には、ステップS102cにおいてサー
ビスモジュールがクライアントデータ管理テーブルCD
T1に登録されていない場合や、ステップS103cに
おいて取得した両者のサービスモジュールの版数情報が
異なる場合に、サーバに対してサービスモジュールの取
得要求を発信する。
【0133】サーバは、クライアントから受信したサー
ビスモジュール取得要求に含まれる情報によって、サー
ビスモジュールを特定し、サーバデータ管理テーブルS
DT1から、特定されたサービスモジュールを選択する
(ステップS101s)。
【0134】そして、サーバは、ステップS101sに
おいて選択されたサービスモジュールを、サービスモジ
ュール取得要求のあったクライアントに対して配信す
る。サーバは、サービスモジュールの配信後、サーバデ
ータ管理テーブルSDT1において、配信したサービス
モジュールに対応するサービスモジュールデータのう
ち、「配送先クライアントアドレスリスト」に、サービ
スモジュール取得要求のあったクライアントのアドレス
を登録する(ステップS102s)。
【0135】一方、サービスモジュールを受信したクラ
イアント(より詳しくは、クライアントデーモンCD
1)は、まず、受信したサービスモジュールをクライア
ントデータ管理テーブルCDT1に登録するかどうかの
判定をおこなう(ステップS106c)。ステップS1
06cの処理は、ステップS104cにおけるシステム
チェック、またはシステム監視スレッドCTH1におい
て、リソース不足状態が示された場合に、実行すべきサ
ービスモジュール、特に共通モジュールの実行をサーバ
に依頼するための処理を示している。
【0136】ステップS106cにおいて、サービスモ
ジュールの登録をおこなう場合、すなわちクライアント
のリソース不足が検出されない場合には、クライアント
データ管理テーブルCDT1に、サーバから受信したサ
ービスモジュールの登録をおこなう。この際、取得先の
サーバのアドレスを、図5に示すサービスモジュールデ
ータ内の「取得サーバアドレス」に登録する(ステップ
S107c)。
【0137】ステップS106cにおいて、サービスモ
ジュールの登録をおこなわない場合、すなわちクライア
ントのリソース不足が検出された場合には、後述するク
ライアント用モジュール実行環境移行処理(図8のステ
ップS120)がおこなわれる。
【0138】そして、クライアント用モジュール実行環
境移行処理がおこなわれた後、またはステップS107
cの終了後に、以下に説明するサービスの起動処理がお
こなわれる。
【0139】(サービス起動処理)つぎに、上述した図
9のステップS91cにおいて選択されたサービスの起
動処理について説明する。図11は、サービス起動処理
を示したフローチャートである。図11において、ま
ず、クライアントデーモンCD1は、ユーザからのサー
ビス起動要求により、サーバに対してサーバ制御をおこ
なうサーバ制御モジュールの起動要求をおこなう。この
要求によって、サーバは、該当するサーバ制御モジュー
ルを起動する(ステップS111s)。
【0140】このとき、クライアント処理能力の低下が
著しく、さらに過負荷状態の場合、すなわち、上述した
「初期設定モジュール処理」のステップS106cにお
いて、サービスモジュールの登録をおこなわない場合、
またはシステム監視スレッドCTH1によって新たにリ
ソース不足が検出された場合には、クライアントデーモ
ンCD1は、本来自端末で実行するべきである共通モジ
ュールの起動をサーバに依頼するために共通モジュール
起動要求をおこなう。
【0141】よって、ステップS111sの処理につづ
く共通モジュール起動要求の有無の判定(ステップS1
12s)が必要となる。ステップS112sにおいて、
共通モジュール起動要求が存在する場合には、まず、こ
のサーバにおける処理能力・負荷状態のチェックがおこ
なわれる(ステップS113s)。すなわち、サーバデ
ーモンSD1が、システム監視スレッドSTH1から、
サーバのリソース状態を示す情報を取得する。
【0142】つづいて、ステップS113sによって取
得された情報によって、システムがリソース不足である
かどうかの判定がおこなわれる(ステップS114
s)。ステップS114sにおいてリソース不足が示さ
れた場合には、起動要求のあった共通モジュールの実行
を、さらに他のサーバに依頼するためのサーバ用モジュ
ール実行環境移行処理(ステップS140)が実行され
る。
【0143】ステップS114sにおいてリソース不足
が検出されない場合には、サーバデーモンSD1は、起
動を要求された共通モジュールの起動をおこない(ステ
ップS115s)、その共通モジュールへのアクセスに
必要な実行アドレス、アクセスID、状態フラグ(図3
に示すサービスモジュールデータの「リモート実行時の
サーバアドレス」、「アクセスID」、「状態フラグ」
参照)を設定する(ステップS116s)。
【0144】そして、起動要求のあったクライアントに
対して、サービスの起動、すなわちサーバ制御モジュー
ルと共通モジュールの起動要求があった場合の共通モジ
ュールとの起動の完了を示し、かつステップS116s
において設定された実行アドレス、アクセスID、状態
フラグの情報を含んだサービス起動完了通知を配信す
る。その後、サーバデーモンSD1は、クライアントア
クセス待ち受け状態に遷移する(ステップS117
s)。これは、サーバ用のサービスプログラム(サーバ
制御モジュール、共通モジュール)の起動が完了した状
態を示す。
【0145】クライアントデーモンCD1は、サーバか
らサービス起動完了通知を受信すると、実行するサービ
スに対応した表示制御モジュールを起動する(ステップ
S111c)。つづいて、実行すべき共通モジュールの
うち、システム監視スレッドCTH1等によって取得さ
れるクライアントのシステムリソース情報に応じて、実
行できるだけの共通モジュールを起動する(ステップS
112c)。
【0146】そして、クライアントデーモンCD1は、
クライアントデータ管理テーブルCDT1に、サービス
実行に必要な共通モジュールのサービスモジュールデー
タのそれぞれにおいて、「ローカル実行時のサーバアド
レス」、「リモート実行時のサーバアドレス」、「アク
セスID」、「状態フラグ」等の登録をおこなう(ステ
ップS113c)。これにより、クライアント用のサー
ビスプログラム(表示制御モジュール、共通モジュー
ル)の起動が完了したことが示される。
【0147】よって、ユーザは、このクライアント用の
サービスプログラムによってサーバへのアクセス(詳し
くは、サーバ用のサービスプログラムへのアクセス)を
おこなうことができ、サーバの提供するサービスを受け
ることができる。
【0148】(クライアントにおけるモジュール実行環
境移行処理)つぎに、クライアントにおいて、システム
監視スレッドCTH1によるシステムの処理能力の低下
や過負荷状態が検出された場合に、共通モジュールの実
行環境をサーバに移行する処理について説明する。すな
わち、この処理は、図8に示すシステム監視スレッドの
処理において、ステップS120のクライアント用モジ
ュール実行環境移行処理に該当する。
【0149】図12は、クライアントにおけるモジュー
ル実行環境移行処理を示したフローチャートである。な
お、このモジュール実行環境移行処理は、クライアント
においてあらかじめ登録されたモジュール実行環境移行
プログラムにより提供され、そのスレッドは、クライア
ントデーモンCD1内に生成されることにより、システ
ムに常駐して実行されるものとする。
【0150】図12において、まず、クライアントデー
モンCD1は、クライアントデータ管理テーブルCDT
1から現在実行中の共通モジュールのうち、一つ目の共
通モジュールを抽出する(ステップS121c)。そし
て、クライアントデーモンCD1は、ステップS121
cにおいて、共通モジュールの抽出が可能であったかど
うかを判定する(ステップS122c)。
【0151】ステップS122cにおいて共通モジュー
ルの抽出が可能でなかった場合、すなわち実行に必要な
共通モジュールがクライアントデータ管理テーブルCD
T1にこれ以上登録されていなかった場合には、このモ
ジュール実行環境移行処理を終了する。また、ステップ
S122cにおいて共通モジュールの抽出が可能であっ
た場合、抽出された共通モジュールのサービスモジュー
ルデータから状態フラグの情報を取得し、この状態フラ
グが「ローカル実行」を示すかどうかを判定する(ステ
ップS123c)。
【0152】ステップS123cにおいて状態フラグが
「ローカル実行」を示さない場合、すなわち抽出された
共通モジュールがサーバにおいて実行されている場合
は、実行環境を移行する必要がないので、クライアント
データ管理テーブルCDT1においてつぎの共通モジュ
ールの検索をおこなうために、再びステップS121c
の処理に戻る。
【0153】ステップS123cにおいて状態フラグが
「ローカル実行」を示す場合、すなわち抽出された共通
モジュールがクライアントにおいて実行されている場合
は、サーバに対してこの共通モジュールの実行を依頼す
るための共通モジュール起動要求をおこなう(ステップ
S124c)。
【0154】サーバは、クライアントからの共通モジュ
ール起動要求を受信すると、まず、このサーバにおける
処理能力・負荷状態のチェックをおこなう(ステップS
121s)。すなわち、サーバデーモンSD1が、シス
テム監視スレッドSTH1から、サーバのリソース状態
を示す情報を取得する。
【0155】つづいて、ステップS121sにおいて取
得された情報によって、システムがリソース不足である
かどうかの判定がおこなわれる(ステップS122
s)。ステップS122sにおいてリソース不足が検出
された場合には、起動要求のあった共通モジュールの実
行を、さらに他のサーバに依頼するためのサーバ用モジ
ュール実行環境移行処理(ステップS140)が実行さ
れる。
【0156】ステップS122sにおいてリソース不足
が検出されない場合には、サーバデーモンSD1は、起
動要求された共通モジュールの起動をおこない(ステッ
プS123s)、その共通モジュールへのアクセスに必
要な実行アドレス、アクセスID、状態フラグ(図3に
示すサービスモジュールデータの「リモート実行時のサ
ーバアドレス」、「アクセスID」、「状態フラグ」参
照)を設定する(ステップS124s)。
【0157】そして、起動要求のあったクライアントに
対して、共通モジュールの起動の完了を示しかつステッ
プS124sにおいて設定された実行アドレス、アクセ
スID、状態フラグの情報を含んだ共通モジュール起動
完了通知を配信する。
【0158】クライアントデーモンCD1は、サーバか
ら共通モジュール起動完了通知を受信すると、ローカル
実行中の共通モジュールの実行を停止し、蓄積領域が不
足している場合は共通モジュールプログラムを削除す
る。つづいて、クライアントデーモンCD1は、クライ
アントデータ管理テーブルCDT1において、対象とな
る共通モジュールのサービスモジュールデータの状態フ
ラグを「リモート実行」に変更する(ステップS125
c)。
【0159】そして、クライアントデーモンCD1は、
クライアントデータ管理テーブルCDT1に、サービス
実行に必要な共通モジュールのサービスモジュールデー
タのそれぞれにおいて、「リモート実行時のサーバアド
レス」、「アクセスID」、「状態フラグ」の登録をお
こなう(ステップS126c)。
【0160】さらに、クライアントデーモンCD1は、
システム監視スレッドCTH1からシステムリソース情
報を取得することにより、システムがリソース不足(処
理能力の低下または過負荷状態)であるかどうかを判定
する(ステップS127c)。ステップS127cにお
いてリソース不足が検出されない場合は、このモジュー
ル実行環境移行処理を終了する。
【0161】ステップS127cにおいてリソース不足
が検出された場合は、再びステップS121cの処理を
繰り返す。すなわち、このモジュール実行環境移行処理
は、システムのリソース不足が解消されるまで繰り返さ
れる。また、本発明にかかる分散処理システムでは、共
通モジュールは他のサービスモジュールやクライアント
デーモンCD1によって共有されるため、共通モジュー
ルの実行位置が変更となった場合であっても同様に共通
モジュールへのアクセスを保証する必要がある。
【0162】図13は、サービスモジュールアクセス処
理を示したフローチャートである。クライアントデーモ
ンCD1または他のサービスモジュールは、実行に必要
なサービスモジュールへのアクセスに先だって、図13
に示すサービスモジュールアクセス処理をおこなう。図
13において、まず、クライアントデーモンCD1また
は他のサービスモジュールは、クライアントデータ管理
テーブルCDT1から、該当するサービスモジュール
(ここでは、特に共通モジュール)のサービスモジュー
ルデータを検索する(ステップS131c)。なお、こ
のサービスモジュールアクセス処理を実行するまでに、
上述した初期設定モジュールによるサービスモジュール
のセットアップは完了しているものとする。
【0163】つづいて、クライアントデーモンCD1ま
たは他のサービスモジュールは、ステップS131cに
おいて検索されたサービスモジュールデータから状態フ
ラグの情報を取得し、状態フラグが「ローカル実行」を
示すかを判定する(ステップS132c)。ステップS
132cにおいて状態フラグが「ローカル実行」でない
場合、すなわち状態フラグが「リモート実行」を示す場
合には、サービスモジュールデータに含まれた「リモー
ト実行時のサーバアドレス」の示すサーバに対し、この
サービスモジュールに対する処理を要求する。なお、こ
の要求の通知には、該当するサービスモジュールにアク
セスするための「アクセスID」の情報も含まれてい
る。
【0164】サーバデーモンSD1は、クライアントか
らのサービスモジュール処理要求を受信して、この要求
から処理対象となる「アクセスID」を特定し、この
「アクセスID」を用いることで、該当するサービスモ
ジュールのアクセスを達成する(ステップS131
s)。
【0165】そして、ステップS132cにおいて状態
フラグが「ローカル実行」を示す場合には、該当するサ
ービスモジュールのサービスモジュールデータから「ロ
ーカル実行時のアクセスID」を取得し、このアクセス
IDを用いることで、該当するサービスモジュールのア
クセスを達成する(ステップS133c)。
【0166】よって、このサービスモジュールアクセス
処理によれば、共通モジュールの実行位置がクライアン
トであってもサーバであっても他のサービスモジュール
やクライアントデーモンCD1は影響を受けることはな
い。また、共通モジュールの実行位置は「リモート実行
時のサーバアドレス」と「アクセスID」によって規定
されるため、リモート実行をおこなうサーバはクライア
ントが共通モジュールを取得したサーバに限定されるも
のではない。
【0167】(サーバにおけるモジュール実行環境移行
処理)つぎに、サーバにおいて、システム監視スレッド
STH1によってシステムの処理能力の低下や過負荷状
態が検出された場合に、共通モジュールの実行環境を他
のサーバに移行する処理について説明する。すなわち、
この処理は、図8に示すシステム監視スレッドの処理に
おいて、ステップS140のサーバ用モジュール実行環
境移行処理に該当する。
【0168】図14は、サーバにおけるモジュール実行
環境移行処理を示したフローチャートである。なお、こ
のモジュール実行環境移行処理は、サーバにおいてあら
かじめ登録されたモジュール実行環境移行プログラムに
より提供され、そのスレッドは、サーバデーモンSD1
内に生成されることにより、システムに常駐して実行さ
れるものとする。
【0169】図14において、まず、サーバデーモンS
D1は、このサーバに対してサービスモジュールの起動
要求が発生しているかどうかを判定する(ステップS1
41s1)。ステップS141s1においてサービスモ
ジュールの起動要求が発生していない場合は、サーバデ
ータ管理テーブルSDT1から現在実行中のサービスモ
ジュールのうち、一つ目のサービスモジュールを抽出す
る(ステップS142s1)。そして、サーバデーモン
SD1は、ステップS142s1において、サービスモ
ジュールの抽出が可能であったかどうかを判定する(ス
テップS143s1)。
【0170】ステップS143s1においてサービスモ
ジュールの抽出が可能でなかった場合、すなわち実行に
必要なサービスモジュールがサーバデータ管理テーブル
SDT1にこれ以上登録されていなかった場合には、こ
のモジュール実行環境移行処理を終了する。また、ステ
ップS143s1においてサービスモジュールの抽出が
可能であった場合、抽出されたサービスモジュールのサ
ービスモジュールデータから状態フラグの情報を取得
し、この状態フラグが「ローカル実行」を示すかどうか
を判定する(ステップS144s1)。
【0171】ステップS144s1において状態フラグ
が「ローカル実行」を示さない場合、すなわち抽出され
たサービスモジュールが他のサーバにおいて実行されて
いる場合は、実行環境を移行する必要がないので、サー
バデータ管理テーブルSDT1においてつぎのサービス
モジュールの検索をおこなうために、再びステップS1
42s1の処理に戻る。
【0172】ステップS144s1において状態フラグ
が「ローカル実行」を示す場合、すなわち抽出されたサ
ービスモジュールがこのサーバ(第1のサーバ)におい
て実行されている場合は、他のサーバ(第2のサーバ)
に対してこのサービスモジュールの実行を依頼するため
のサービスモジュール起動要求をおこなう(ステップS
145s1)。
【0173】他のサーバ(第2のサーバ)は、上記した
サーバからサービスモジュール起動要求を受信すると、
まず、このサーバにおける処理能力・負荷状態のチェッ
クをおこなう(ステップS141s2)。すなわち、第
2のサーバのサーバデーモンが、第2のサーバのシステ
ム監視スレッドから、第2のサーバのリソース状態を示
す情報を取得する。
【0174】つづいて、ステップS141s2において
取得された情報によって、システムがリソース不足であ
るかどうかの判定がおこなわれる(ステップS142s
2)。ステップS142s2においてリソース不足が検
出された場合には、起動要求のあったサービスモジュー
ルの実行を、さらに他のサーバ(第3のサーバ)に依頼
するためのサーバ用モジュール実行環境移行処理、すな
わちこのモジュール実行環境移行処理が、第3のサーバ
に対して再帰的に実行される。
【0175】ステップS142s2においてリソース不
足が検出されない場合には、第2のサーバのサーバデー
モンは、起動要求されたサービスモジュールの起動をお
こない(ステップS143s2)、そのサービスモジュ
ールへのアクセスに必要な実行アドレス、アクセスI
D、状態フラグ(図3に示すサービスモジュールデータ
の「リモート実行時のサーバアドレス」、「アクセスI
D」、「状態フラグ」参照)を設定する(ステップS1
44s2)。
【0176】そして、起動要求を発した第1のサーバに
対して、サービスモジュールの起動の完了を示しかつス
テップS144s2において設定された実行アドレス、
アクセスID、状態フラグの情報を含んだサービスモジ
ュール起動完了通知を配信する。
【0177】第1のサーバのサーバデーモンSD1は、
第2のサーバまたは他のサーバからサービスモジュール
起動完了通知を受信すると、ローカル実行中のサービス
モジュールの実行を停止する。つづいて、第1のサーバ
のサーバデーモンSD1は、サーバデータ管理テーブル
SDT1において、対象となるサービスモジュールのサ
ービスモジュールデータの状態フラグを「リモート実
行」に変更する(ステップS146s1)。
【0178】そして、第1のサーバのサーバデーモンS
D1は、サーバデータ管理テーブルSDT1に、サービ
ス実行に必要なサービスモジュールのサービスモジュー
ルデータのそれぞれにおいて、「リモート実行時のサー
バアドレス」、「アクセスID」、「状態フラグ」の登
録をおこなう(ステップS147s1)。
【0179】さらに、第1のサーバのサーバデーモンS
D1は、システム監視スレッドSTH1からシステムリ
ソース情報を取得することにより、システムがリソース
不足(処理能力の低下または過負荷状態)であるかどう
かを判定する(ステップS148s1)。ステップS1
48s1においてリソース不足が検出されない場合は、
このモジュール実行環境移行処理を終了する。
【0180】ステップS148s1においてリソース不
足が検出された場合は、再びステップS142s1の処
理を繰り返す。すなわち、このモジュール実行環境移行
処理は、システムのリソース不足が解消されるまで繰り
返される。以上に説明したサーバにおけるモジュール実
行環境移行処理によってサービスモジュールの実行位置
が変更となった場合であっても、図13に示すサービス
モジュールアクセス処理によって、サービスモジュール
へのアクセスを保証することができる。
【0181】(サービスモジュール更新処理)つぎに、
サーバに登録されているサービスモジュールが更新され
た場合に、サーバデーモンSD1が自動的にクライアン
トに対してサービスモジュールの更新登録を要求する処
理について説明する。
【0182】図15は、サービスモジュール更新処理を
示したフローチャートである。図15において、まず、
システム管理者等によって、サーバに登録されたサービ
スモジュールの更新がおこなわれる(ステップS151
s)。そして、システム管理者等による指示またはサー
バデーモンSD1によって、サーバデータ管理テーブル
SDT1において、更新対象となったサービスモジュー
ルのサービスモジュールデータから、配送先クライアン
トアドレスリストを取得する(ステップS152s)。
【0183】つづいてサーバデーモンSD1は、ステッ
プS152sにおいて取得した配送先クライアントアド
レスリストに示されるクライアントに対して、サービス
モジュールの更新の通知となるサービスモジュール更新
要求を配信する(ステップS153s)。このサービス
モジュール更新要求には、配信対象となるクライアント
に応じた初期設定モジュールの版数情報が含まれてい
る。
【0184】ここで、サーバデーモンSD1は、配信対
象となるクライアントがネットワークにログオンしてい
るかどうかのチェックをおこない(ステップS154
s)、ネットワーク障害や端末未起動によって、クライ
アントのログオン状態が確認できない場合は、そのクラ
イアントに対するサービスモジュール更新要求の配信を
エラー終了としてスキップし、配信対象となる他のクラ
イアントに対してのログオンチェックを繰り返す。な
お、サーバデーモンSD1は、このエラー終了によって
サービスモジュール更新要求が配信されなかったクライ
アントに対して、ある一定時間毎にログオンチェックを
おこない、サービスモジュール更新要求の配信をこころ
みる。
【0185】一方、サービスモジュール更新要求を受信
したクライアントデーモンCD1は、クライアント管理
データテーブルCDT1において初期設定モジュールの
サービスモジュールデータから、版数情報を取得し、サ
ービスモジュール更新要求に含まれる初期設定モジュー
ルの版数情報との比較をおこない、初期設定モジュール
の変更をおこなうべきかを判定する(ステップS151
c)。
【0186】ステップS151cにおいて、初期設定モ
ジュールの変更をおこなう必要がある場合、すなわち、
クライアント管理データテーブルCDT1に登録された
初期設定モジュールの版数よりサービスモジュール更新
要求に含まれる初期設定モジュールの版数が新しい場合
は、サーバに対して初期設定モジュールの取得要求を発
信する。なお、初期設定モジュール取得要求には、上述
した「初期設定モジュール取得処理」と同様に、目的と
する初期設定モジュールに対応したサービス名と、クラ
イアントのハードウェア仕様またはオペレーティングシ
ステムの種類を特定するプラットフォーム種別(クライ
アント種別)とを特定する数値情報が含まれている。
【0187】サーバは、クライアントから受信した初期
設定モジュール取得要求の示す数値情報によって、サー
ビス名とクライアント種別を特定し、サーバデータ管理
テーブルSTD1から、特定されたサービス名とクライ
アント種別に対応した初期設定モジュールを選択する。
つづいて、サーバは、この選択された初期設定モジュー
ルを、初期設定モジュール取得要求のあったクライアン
トに対して配信する。また、サーバは、初期設定モジュ
ールの配信後、サーバデータ管理テーブルSDT1にお
いて、配信した初期設定モジュールに対応するサービス
モジュールデータのうち、「配送先クライアントアドレ
スリスト」に、初期設定モジュール取得要求のあったク
ライアントのアドレスを登録する。
【0188】クライアントデーモンCD1は、サーバか
ら初期設定モジュールを取得後、この初期設定モジュー
ルをクライアントデータ管理テーブルCDT1に登録す
る。そして、クライアントデーモンCD1は、上記した
クライアントデータ管理テーブルCDT1への初期設定
モジュールの登録後、またはステップS151cにおい
て初期設定モジュールの変更を必要としない場合に、該
当する初期設定モジュールを実行する(ステップS15
2c)。
【0189】つづいて、クライアントデーモンCD1
は、初期設定モジュールに定義されたサービスモジュー
ルをサーバから取得する必要があるかどうかの判定をお
こなう(ステップS153c)。ステップS153cに
おいて、サービスモジュールをサーバから取得する必要
がある場合、具体的には、該当するサービスモジュール
がクライアントデータ管理テーブルCDT1に登録され
ていない場合や、登録されたサービスモジュールの版数
情報が古い場合に、サーバに対してサービスモジュール
の取得要求を発信する。
【0190】サーバは、クライアントから受信したサー
ビスモジュール取得要求に含まれる情報によって、サー
ビスモジュールを特定し、サーバデータ管理テーブルS
DT1から、特定されたサービスモジュールを選択す
る。そして、サーバは、選択されたサービスモジュール
を、サービスモジュール取得要求のあったクライアント
に対して配信する。また、サーバは、サービスモジュー
ルの配信後、サーバデータ管理テーブルSDT1におい
て、配信したサービスモジュールに対応するサービスモ
ジュールデータのうち、「配送先クライアントアドレス
リスト」に、サービスモジュール取得要求のあったクラ
イアントのアドレスを登録する。
【0191】一方、サービスモジュールを受信したクラ
イアントは、クライアントデータ管理テーブルCDT1
に、サーバから受信したサービスモジュールの登録をお
こなう(ステップS154c)。この際、取得先のサー
バのアドレスを、図5に示すサービスモジュールデータ
内の「取得サーバアドレス」に登録する。よって、ユー
ザは、このサービスモジュール更新処理により、サービ
スモジュールの更新を意識することなしに常に最新のサ
ービスモジュールの版数によるサービスを享受すること
が可能になる。
【0192】なお、以上に説明したサービスモジュール
更新処理は、たとえば、サービスモジュール更新処理を
おこなうためのサービスモジュールをクライアントにあ
らかじめ登録しておくことで実行される。
【0193】つぎに、以上に説明した処理に基づいて動
作する本発明の分散処理システムについて、より理解を
深めるために、さらに具体的な実施の形態について説明
する。
【0194】(実施の形態1)図16は、実施の形態1
にかかる分散処理システムのサービス未起動時のシステ
ム構成を示した説明図である。図16において、実施の
形態1にかかる分散処理システムは、サーバとしてサー
ビス提供をおこなうServer#1とクライアントと
してサービスを受けるClient#1が、ネットワー
クを介し、かつ通信インターフェースを共通にして接続
されることで構成される。
【0195】なお、実際には、本発明にかかる分散処理
システムは、多数のサーバとクライアントがネットワー
クに接続されて構成されるが、ここでは、理解を容易に
するため、一つのサーバと一つのクライアント間におけ
る処理を中心に説明する。
【0196】ここで、Server#1のネットワーク
上の論理アドレスを#0001とし、Client#1
のネットワーク上の論理アドレスを#0011とする。
Server#1は、クライアントからの接続要求を受
け付け、サービスの実行制御をおこなうサーバデーモン
SD1と、サービスデータの管理をおこなうサーバデー
タ管理テーブルSDT1と、を備えている。また、Se
rver#1は、図7に示したサーバデーモン起動処理
がおこなわれた後の状態であり、クライアントアクセス
/他のサーバアクセスの待ち受け状態にある。よって、
サーバデーモンSD1内には、クライアントの処理能力
や負荷状態の管理をおこなうシステム監視スレッドST
H1が生成されている。
【0197】Client#1は、Server#1と
の通信をおこない、ユーザにインタフェースを提供する
クライアントデーモンCD1と、サーバから取得したサ
ービスデータの管理をおこなうクライアントデータ管理
テーブルCDT1と、を備えている。また、Clien
t#1は、図6に示したクライアントデーモン起動処理
がおこなわれた後の状態であり、ユーザアクセス/サー
バアクセスの待ち受け状態にある。よって、クライアン
トデーモンCD1内には、クライアントの処理能力や負
荷状態の管理をおこなうシステム監視スレッドCTH1
が生成されている。
【0198】また、Server#1とClient#
1はともに、オペレーティングシステムOSの実行環境
下において動作され、通信ソケットAPIを介してネッ
トワークとのデータ入出力をおこなう。ここで、上述し
たように、Server#1とClient#1は、通
信インターフェースを共通にしているので、必ずしもオ
ペレーティングシステムOSが同一である必要はない。
【0199】ここで、サーバによって提供されるサービ
スの一つとしてService#1が実行される場合を
考える。図17は、Service#1を実行するため
に必要なサービスデータを示す説明図である。すなわ
ち、サーバ用サービスプログラムおよびクライアント用
サービスプログラムは、このサービスデータに含まれる
サービスモジュールの組合せによって構成される。
【0200】図17において、サービスデータServ
ice#1は、複数のサービスモジュールから構成さ
れ、具体的には、サーバで実行されサービス制御をおこ
なうサーバ制御モジュールServiceModule
#A1〜An、クライアントで実行されGUI表示やサ
ーバとの通信をおこなう表示制御モジュールServi
ceModule#B1〜Bn、クライアントで実行さ
れサービス実行に必要なモジュールの取得方法やシステ
ムの処理能力および負荷状態の調査が定義された初期設
定モジュールServiceModule#C1〜C
n、実行環境をサーバかクライアントかに依存しない共
通モジュールServiceModule#D1〜Dn
から構成される。また、それぞれのサービスモジュール
はクライアント種別毎やサービスに依存して必要な数だ
け用意される。
【0201】まず、図16に示すようなServer#
1とClient#1のサービス未起動状態において、
ユーザが、図6に示したクライアントデーモン起動処理
によってClient#1の表示装置上に提示されたサ
ービスリストから、所望のサービスを選択する。このサ
ービス選択により、図9に示した初期設定モジュール取
得処理が実行され、Server#1に対する初期設定
モジュールの取得要求がおこなわれる。なお、ここで
は、Client#1のクライアントデータ管理テーブ
ルCDT1に、該当するサービスの実行に必要な初期設
定モジュール、表示制御モジュールおよび共通モジュー
ルが登録されていないものとする。
【0202】そして、Server#1は、Clien
t#1のクライアント種別に応じた初期設定モジュール
ServiceModule#C1を、Client#
1に返送する。一方、Client#1は、Serve
r#1から初期設定モジュールServiceModu
le#C1を受け取り、初期設定モジュールServi
ceModule#C1の起動をおこなう。この初期設
定モジュールServiceModule#C1の起動
によって、図10に示した初期設定モジュール処理が実
行され、初期設定モジュールServiceModul
e#C1内の定義内容から、Service#1の実行
に必要な表示制御モジュールServiceModul
e#B1および共通モジュールServiceModu
le#D1の取得がおこなわれる。
【0203】ここで、Client#1において、Se
rvice#1を実行するのには、さらに共通モジュー
ルServiceModule#D2が必要であった
が、システム監視スレッドCTH1によりClient
#1のリソース不足が検出されたために、共通モジュー
ルServiceModule#D2の取得および起動
はおこなわれず、共通モジュールServiceMod
ule#D2の起動をServer#1に依頼するもの
とする。
【0204】Client#1は、Server#1に
対してService#1の起動要求をおこない、図1
1に示したサービス起動処理が実行される。この際、S
erver#1は、Client#1から起動要求のあ
った共通モジュールServiceModule#D2
を起動して、クライアントアクセス待ち受け状態に遷移
する。
【0205】つづいて、Client#1において、表
示制御モジュールServiceModule#B1、
共通モジュールServiceModule#D1の起
動がおこなわれ、Service#1の起動が完了す
る。
【0206】図18は、実施の形態1にかかる分散処理
システムのサービス起動後のシステム構成を示した説明
図である。図18において、Server#1は、図1
6に示す状態に加えて、Service#1を提供する
サーバ用サービスプログラムとして、サーバ制御モジュ
ールServiceModule#A1、共通モジュー
ルServiceModule#D2が用意され、これ
らサービスモジュールの実行においてサーバデーモンS
D1内にスレッドが生成される。
【0207】また、Client#1は、図16に示す
状態に加えて、Service#1を提供するクライア
ント用サービスプログラムとして、表示制御モジュール
ServiceModule#B1、初期設定モジュー
ルServiceModule#C1、共通モジュール
ServiceModule#D1が用意され、これら
サービスモジュールの実行においてクライアントデーモ
ンCD1内にスレッドが生成される。
【0208】つぎに、図9に示した初期設定モジュール
取得処理において、Server#1がクライアントに
初期設定モジュールの配信をおこなった場合のServ
er#1のサービスモジュールデータについて説明す
る。ここでは特に、Server#1が複数のクライア
ント(Client#1、Client#2、Clie
nt#3)に対して、初期設定モジュールServic
eModule#C1を配信した場合を考える。
【0209】図19は、この場合のServer#1の
サーバデータ管理テーブルSDT1に登録された初期設
定モジュールServiceModule#C1のサー
ビスモジュールデータを示す説明図である。図19にお
いて、まず、「サービスモジュール名」として「Ser
viceModule#C1」が登録され、「デフォル
トサービス名」として「Service#1」が登録さ
れている。そして、「配送先クライアントリスト」に
は、上記した複数のクライアントClient#1、C
lient#2、Client#3のネットワーク上に
おける論理アドレス(#0011、#0012、#00
13)が登録されている。
【0210】また、「モジュール種別」として初期設定
モジュールを示すコードである「3」が登録され、「プ
ラットフォーム種別」として、Client#1のハー
ドウェア仕様またはオペレーティングシステムを特定す
るコード「1」が登録されている。
【0211】さらに、「版数」として「1」が登録され
ており、初期設定モジュールServiceModul
e# C1が更新された場合には、この「版数」が更新さ
れて、図15に示したサービスモジュール更新処理がお
こなわれる。ここでは、初期設定モジュールServi
ceModule# C1に対するサービスモジュール更
新処理は、「配送先クライアントリスト」に登録されて
いるClient#1、Client#2、Clien
t#3に対して、ユーザが介すことのない自動的な処理
としておこなわれる。
【0212】つぎに、Client#1のクライアント
データ管理テーブルCDT1に登録されるサービスモジ
ュールデータの例として、共通モジュールServic
eModule#D1のサービスモジュールデータにつ
いて説明する。
【0213】図20は、この場合のClient#1の
クライアントデータ管理テーブルCDT1に登録された
共通モジュールServiceModule#D1のサ
ービスモジュールデータを示す説明図である。図20に
おいて、まず、「サービスモジュール名」として「Se
rviceModule#D1」が登録され、「デフォ
ルトサービス名」として「Service#1」が登録
されている。そして、「版数」として「1」が登録さ
れ、「取得サーバアドレス」としてこの共通モジュール
ServiceModule#D1を配信したサーバの
論理アドレスを示す「#0001」が登録されている。
【0214】さらに、「状態フラグ」としてローカル実
行、すなわちClient#1での共通モジュールSe
rviceModule#D1の実行を示すコードであ
る「1」が登録され、「ローカル実行時のアクセスI
D」としてこの共通モジュールServiceModu
le#D1にアクセスするために必要なアクセスID
「111」が登録されている。
【0215】つぎに、図8に示したシステム監視スレッ
ド処理により処理能力の低下もしくは過負荷状態が検出
され、図13に示したサービスモジュールアクセス処理
がおこなわれる場合のServer#1およびClie
nt#1のサービスモジュールデータについて説明す
る。ここでは特に、図18に示した状態から、Clie
nt#1において過負荷状態が検出され、Client
#1がServer#1に対して共通モジュールSer
viceModule#D1の実行依頼をおこなった場
合を考える。
【0216】図21は、実施の形態1にかかる分散処理
システムのサービス起動後のシステム構成を示した説明
図であり、特に図18に示した状態において、Serv
er#1がClient#1から依頼された共通モジュ
ールServiceModule#D1を起動した状態
を示す。よって、図21に示すように、Client#
1は、共通モジュールServiceModule#D
1をクライアント用のサービスプログラムから開放し、
Server#1が共通モジュールServiceMo
dule#D1を起動する。
【0217】Server#1において共通モジュール
ServiceModule#D1が起動されると、サ
ーバデータ管理テーブルSDT1の共通モジュールSe
rviceModule#D1のサービスモジュールデ
ータが変更される。図22は、この場合のServer
#1のサーバデータ管理テーブルSDT1に登録された
共通モジュールServiceModule#D1のサ
ービスモジュールデータを示す説明図である。
【0218】図22において、まず、「サービスモジュ
ール名」として「ServiceModule#D1」
が登録され、「デフォルトサービス名」として「Ser
vice#1」が登録されている。そして、「配送先ク
ライアントリスト」には、上記したクライアントCli
ent#1の論理アドレスである「#0011」が登録
されている。
【0219】また、「モジュール種別」として共通モジ
ュールを示すコードである「4」が登録され、「プラッ
トフォーム種別」として、サーバ、クライアント、ハー
ドウェア仕様またはオペレーティングシステムを特定し
ないコード「0」が登録されている。
【0220】さらに、「版数」として「1」が登録さ
れ、「状態フラグ」としてローカル実行、すなわちSe
rver#1での共通モジュールServiceMod
ule#D1の実行を示すコードである「1」が登録さ
れている。そして、「ローカル実行時のアクセスID」
としてこの共通モジュールServiceModule
#D1にアクセスするために必要なID「222」が登
録されている。
【0221】一方、Client#1においてもまた、
Server#1におけるモジュール実行が完了する
と、クライアントデータ管理テーブルCDT1内の共通
モジュールServiceModule#D1のサービ
スモジュールデータが変更される。図23は、この場合
のClient#1のクライアントデータ管理テーブル
CDT1に登録された共通モジュールServiceM
odule#D1のサービスモジュールデータを示す説
明図である。
【0222】図23において、まず、「サービスモジュ
ール名」として「ServiceModule#D1」
が登録され、「デフォルトサービス名」として「Ser
vice#1」が登録されている。そして、「版数」と
して「1」が登録され、「取得サーバアドレス」として
この共通モジュールServiceModule#D1
を配信したサーバの論理アドレスを示す「#0001」
が登録されている。
【0223】さらに、「状態フラグ」としてリモート実
行、すなわちサーバによる共通モジュールServic
eModule#D1の実行を示すコードである「2」
が登録されている。そして、「リモート実行時のサーバ
アドレス」としてこの共通モジュールServiceM
odule#D1の起動をおこなうサーバであるSer
ver#1のアドレスを示す「#0001」が登録さ
れ、「アクセスID」としてこのServer#1上の
共通モジュールServiceModule#D1にア
クセスするのに必要なID「222」が登録されてい
る。
【0224】以上に説明したように、実施の形態1にか
かる分散処理システムによれば、上述した「クライアン
トデーモンの起動処理」、「サーバデーモンの起動処
理」、「初期設定モジュール取得処理」、「初期設定モ
ジュール処理」、「サービス起動処理」の実行によっ
て、ハードウェア仕様やオペレーティングシステムの異
なるクライアントがネットワークに接続された場合であ
っても、クライアントに応じた初期設定モジュールを取
得するだけで、サーバによって提供されるサービスがク
ライアント間において差異なく利用でき、また、クライ
アントのサービス利用手段によって、該当する初期設定
モジュールを自動的に取得することができるので、サー
ビスに必要なモジュール構成の知識をユーザに要求する
ことなく、サーバの提供するサービスを容易に利用する
ことが可能となる。
【0225】また、上述した「システム監視スレッドの
処理」、「クライアントにおけるモジュール実行環境移
行処理」の実行によって、クライアントの処理能力の低
下が示される場合に、クライアントにおいて実行されて
いた共通モジュールの一部をサーバ上で起動することが
でき、クライアントのリソース不足によるスループット
の低下を迅速に回避することができるとともに、効果的
な負荷分散を実現することができる。
【0226】さらに、上述した「サービスモジュール更
新処理」の実行によって、クライアントを利用するユー
ザは特にサーバにおけるモジュールの更新時期を意識す
る必要がなくなり、クライアントにおいて迅速なモジュ
ールの更新処理が可能となる。
【0227】(実施の形態2)つぎに、実施の形態1に
おいて説明した図19および図20のサービスモジュー
ルデータの登録内容に対応する状態、すなわちClie
nt#1がServer#1に対して、共通モジュール
ServiceModule#D2の起動要求をおこな
った状態(図18に示した状態)において、Serve
r#1のリソース不足により、さらに、他のサーバであ
るServer#2に対して共通モジュールServi
ceModule#D2の起動要求がおこなわれる場合
について説明する。
【0228】図24は、実施の形態2にかかる分散処理
システムのサービス起動時のシステム構成を示した説明
図である。図24において、実施の形態2にかかる分散
処理システムは、サーバとしてService#1の提
供をおこなうことのできるServer#1およびSe
rver#2と、クライアントとしてService#
1を受けるClient#1とが、ネットワークを介
し、かつ通信インターフェースを共通にして接続される
ことで構成されている。
【0229】なお、実際には、本発明にかかる分散処理
システムは、多数のサーバとクライアントがネットワー
クに接続されて構成されるが、ここでは、理解を容易に
するため、二つのサーバと一つのクライアント間におけ
る処理を中心に説明する。
【0230】ここで、Server#1、Server
#2のネットワーク上の論理アドレスをそれぞれ#00
01、#0002とし、Client#1のネットワー
ク上の論理アドレスを#0011とする。Server
#1およびServer#2はともに、図11に示した
サービス起動処理を実行可能とする状態にあり、特に、
Server#1は、図8に示したシステム監視スレッ
ド処理によるリソース不足の検出によって、図14に示
したモジュール実行環境移行処理が実行された状態にあ
る。
【0231】ここでは、図14に示したモジュール実行
環境移行処理における他のサーバが、Server#2
に該当し、このServer#2によって、Clien
t#1から起動要求のあった共通モジュールServi
ceModule#D2の起動がおこなわれる。よっ
て、図24に示すように、Server#2において
は、Service#1を提供するサーバ用サービスプ
ログラムとして、共通モジュールServiceMod
ule#D2が用意され、このサービスモジュールの実
行においてサーバデーモンSD2内にスレッドが生成さ
れた状態にある。
【0232】一方、Client#1は、実施の形態1
において説明した図18に示す状態と同様に、Serv
ice#1を提供するクライアント用サービスプログラ
ムとして、表示制御モジュールServiceModu
le#B1、初期設定モジュールServiceMod
ule#C1、共通モジュールServiceModu
le#D1が用意され、これらサービスモジュールの実
行においてクライアントデーモンCD1内にスレッドが
生成された状態にある。
【0233】また、Server#1、Server#
2、Client#1は、オペレーティングシステムO
Sの実行環境下において動作され、通信ソケットAPI
を介してネットワークとのデータ入出力をおこなう。こ
こで、上述したように、Server#1、Serve
r#2およびClient#1は、通信インターフェー
スを共通にしているので、必ずしもオペレーティングシ
ステムOSが同一である必要はない。
【0234】つぎに、図24に示した状態におけるSe
rver#1およびClient#1のサービスモジュ
ールデータについて説明する。ここでは特に、Clie
nt#1がServer#1に対して共通モジュールS
erviceModule#D2の実行依頼をおこな
い、さらにServer#1がServer#2に対し
て共通モジュールServiceModule#D2の
実行依頼をおこなった場合を考える。
【0235】図25は、この場合のServer#1の
サーバデータ管理テーブルSDT1に登録された共通モ
ジュールServiceModule#D2のサービス
モジュールデータを示す説明図である。
【0236】図25において、まず、「サービスモジュ
ール名」として「ServiceModule#D2」
が登録され、「デフォルトサービス名」として「Ser
vice#1」が登録されている。そして、「モジュー
ル種別」として共通モジュールを示すコードである
「4」が登録され、「プラットフォーム種別」として、
サーバ、クライアント、ハードウェア仕様またはオペレ
ーティングシステムを特定しないコード「0」が登録さ
れている。
【0237】さらに、「版数」として「1」が登録さ
れ、「状態フラグ」としてリモート実行、すなわちSe
rver#1以外のサーバによる共通モジュールSer
viceModule#D2の実行を示すコードである
「2」が登録されている。そして、「リモート実行時の
サーバアドレス」としてこの共通モジュールServi
ceModule#D2の起動をおこなうサーバである
Server#2のアドレスを示す「#0002」が登
録され、「アクセスID」としてこのServer#2
上の共通モジュールServiceModule#D2
にアクセスするのに必要なID「333」が登録されて
いる。
【0238】図26は、この場合のClient#1の
クライアントデータ管理テーブルCDT1に登録された
共通モジュールServiceModule#D1のサ
ービスモジュールデータを示す説明図である。
【0239】図26において、まず、「サービスモジュ
ール名」として「ServiceModule#D1」
が登録され、「デフォルトサービス名」として「Ser
vice#1」が登録されている。そして、「版数」と
して「1」が登録され、「取得サーバアドレス」として
この共通モジュールServiceModule#D2
を配信したサーバの論理アドレスを示す「#0001」
が登録されている。
【0240】さらに、「状態フラグ」としてリモート実
行、すなわちサーバによる共通モジュールServic
eModule#D2の実行を示すコードである「2」
が登録されている。そして、「リモート実行時のサーバ
アドレス」としてこの共通モジュールServiceM
odule#D2の起動をおこなうサーバであるSer
ver#2のアドレスを示す「#0002」が登録さ
れ、「アクセスID」としてこのServer#2上の
共通モジュールServiceModule#D2にア
クセスするのに必要なID「333」が登録されてい
る。
【0241】以上に説明したように、実施の形態2にか
かる分散処理システムによれば、上述した「サーバにお
けるモジュール実行環境移行処理」の実行によって、サ
ーバの資源が圧迫された場合に、サーバにおいて実行さ
れていた共通モジュールの一部を、リソースに余裕のあ
る他のサーバ上で起動することができ、サーバのリソー
ス不足によるスループットの低下を迅速に回避すること
ができるとともに、効果的な負荷分散を実現することが
できる。
【0242】また、以上に説明した実施の形態1および
2によれば、サーバからクライアントに配信されるサー
ビスモジュールの属性(サービスモジュール名、デフォ
ルトサービス名、版数等)や実行状態(状態フラグ)を
登録設定されるサービスモジュールデータを備えたサー
バデータ管理テーブルSDT1、クライアントデータ管
理テーブルCDT1を、サーバ、クライアントにそれぞ
れ備えることで、サービスの実行に必要なサービスモジ
ュールの実行位置が把握でき、上述した「サービスモジ
ュールアクセス処理」を実行することによって、共通モ
ジュールへのアクセスを確実におこなうことができる。
【0243】なお、以上に説明した原理説明、実施の形
態1および2において、図6〜15に示した処理を実行
させるプログラム(詳しくは個別に実行可能なモジュー
ル群)をICカードメモリ、フロッピーディスク、光磁
気ディスク、CD−ROM等の記録媒体に格納し、この
記録媒体に記録されたプログラムをサーバ装置およびク
ライアント装置にインストールすることで、上述した分
散処理方法を使用し、これにより分散処理システムを構
築することもできる。なお、このインストール作業は、
通信回線を使用してサーバからクライアントに対して、
またはサーバ間においてダウンロードすることによって
おこなってもよい。
【0244】
【発明の効果】以上、説明したとおり、本発明の請求項
1にかかる分散処理システムおよび請求項5にかかる分
散処理方法によれば、サーバ装置は、クライアント装置
の要求に応じて、クライアント装置の種別毎に異なり、
かつサービスの実行に必要なモジュールをサーバ装置か
ら取得することのできる初期設定モジュールをクライア
ント装置に配信し、クライアント装置は、サーバ装置か
らこの初期設定モジュールを取得して実行することで、
クライアント装置において必要なサービスモジュールの
みをサーバ装置から取得することができ、この取得した
サービスモジュールを実行することにより、サービスを
利用することができるので、ハードウェア仕様やオペレ
ーティングシステムの異なるクライアント装置がネット
ワークに接続された場合であっても、クライアント装置
に応じた初期設定モジュールを取得するだけで、サーバ
装置によって提供されるサービスがクライアント装置間
において差異なく利用でき、また、クライアント装置に
おいてサービス利用手段により該当する初期設定モジュ
ールを自動的に取得することができるので、ユーザは、
クライアント装置の種別を意識することなく、サーバ装
置の提供するサービスを容易に利用することができる。
そして、本発明の請求項9にかかる記録媒体を用いれ
ば、サーバ装置またはクライアント装置として用いられ
るコンピュータに対して、上記した請求項5にかかる分
散処理方法を使用することができ、上記した請求項1に
かかる分散処理システムの構築が可能となる。
【0245】また、本発明の請求項2にかかる分散処理
システムおよび請求項6にかかる分散処理方法によれ
ば、サーバ装置に、実行環境を問わない共通モジュール
が備えられることで、サーバ装置のリソース不足状態に
対して、本来、このサーバ装置において実行すべき共通
モジュールを、他のサーバ装置において実行するように
実行位置を移行することができるので、たとえば、サー
ビスプログラムの実行中に、多くのクライアント装置の
アクセスにより、サーバ装置の資源が圧迫された場合
に、サーバ装置において実行されていた共通モジュール
を、リソースに余裕のある他のサーバ装置において実行
できるようになり、サーバ装置のリソース不足によるス
ループットの低下を回避することができる。そして、本
発明の請求項10にかかる記録媒体を用いれば、サーバ
装置またはクライアント装置として用いられるコンピュ
ータに対して、上記した請求項6にかかる分散処理方法
を使用することができ、上記した請求項2にかかる分散
処理システムの構築が可能となる。
【0246】また、本発明の請求項3にかかる分散処理
システムおよび請求項7にかかる分散処理方法によれ
ば、サーバ装置にサーバ装置とクライアント装置との双
方の実行環境において実行可能な共通モジュールが備え
られることで、クライアント装置のリソース不足状態に
対して、本来、クライアント装置において実行すべき共
通モジュールを、サーバ装置において実行するように実
行位置を移行することができるので、たとえば、サービ
スプログラムの実行中に、他のアプリケーションプログ
ラム等の実行により、クライアント装置の資源が圧迫さ
れた場合に、クライアント装置において実行されていた
共通モジュールをサーバ装置において実行できるように
なり、クライアント装置のリソース不足によるスループ
ットの低下を回避することができる。そして、本発明の
請求項11にかかる記録媒体を用いれば、サーバ装置ま
たはクライアント装置として用いられるコンピュータに
対して、上記した請求項7にかかる分散処理方法を使用
することができ、上記した請求項3にかかる分散処理シ
ステムの構築が可能となる。
【0247】また、本発明の請求項4にかかる分散処理
システムおよび請求項8にかかる分散処理方法によれ
ば、サーバ装置が、クライアント装置に対してサービス
モジュールの更新を通知することができ、さらに、その
通知は、過去にそのサービスモジュールの配信をおこな
った先のクライアント装置に対しておこなわれるので、
クライアント装置において、ユーザが、特にサーバ装置
におけるモジュールの更新時期を意識する必要がなくな
り、かつ効率的なサービスモジュールの更新処理が可能
となる。そして、本発明の請求項12にかかる記録媒体
を用いれば、サーバ装置またはクライアント装置として
用いられるコンピュータに対して、上記した請求項8に
かかる分散処理方法を使用することができ、上記した請
求項4にかかる分散処理システムの構築が可能となる。
【0248】また、請求項13の発明によれば、クライ
アント装置に対して、クライアント装置の種別毎に異な
るサービスモジュールの配信を可能とする初期設定モジ
ュールを配信するので、クライアント装置側でサービス
を利用するためのサービスプログラムに必要なサービス
モジュールの変更等が生じた場合にも、初期設定モジュ
ールの内容を変更するだけで対応でき、クライアント装
置の種別毎に存在する多くのサービスモジュールの管理
が容易なサーバ装置が得られるという効果を奏する。
【0249】また、請求項14の発明によれば、実行環
境を問わない共通モジュールが備えられることで、リソ
ース不足状態に対して、本来、このサーバ装置において
実行すべき共通モジュールを、他のサーバ装置において
実行するように実行位置を移行することができるので、
リソース不足が生じた場合に、実行されていた共通モジ
ュールを、リソースに余裕のある他のサーバ装置におい
て実行できるようになり、これによりスループットの低
下を回避することが可能なサーバ装置が得られるという
効果を奏する。
【0250】また、請求項15の発明によれば、実行さ
れている複数の共通モジュールのうち、リソース不足が
解消されるだけの共通モジュールを、他のサーバ装置に
対する起動要求の対象とするので、起動要求先のサーバ
装置のリソースへの大きな圧迫を回避することが可能な
サーバ装置が得られるという効果を奏する。
【0251】また、請求項16の発明によれば、起動要
求された共通モジュールへのアクセスを、起動要求を発
したサーバ装置だけでなく、その共通モジュールの実行
を必要とするクライアント装置に対しても直接に可能と
するので、起動要求された共通モジュールの利用を容易
にするサーバ装置が得られるという効果を奏する。
【0252】また、請求項17の発明によれば、モジュ
ール実行位置テーブルによって共通モジュールの実行位
置を管理するので、このモジュール実行位置テーブルを
参照することで、所望の共通モジュールのアクセスを容
易にするサーバ装置が得られるという効果を奏する。
【0253】また、請求項18の発明によれば、モジュ
ール配信先テーブルを参照することによって、更新され
たサービスモジュールの取得が必要なクライアント装置
のみに更新通知をおこなうので、効率的なサービスモジ
ュールの更新処理が可能なサーバ装置が得られるという
効果を奏する。
【0254】また、請求項19の発明によれば、サービ
ス利用手段によって、サーバ装置から初期設定モジュー
ルを取得して実行するだけで、この初期設定モジュール
の処理により、サービスを利用するのに必要なサービス
モジュールのみをサーバ装置から取得することができる
ので、サーバ装置によって提供されるサービスが差異な
く利用できるとともに、ユーザが、クライアント装置の
種別を意識することなく、サーバ装置の提供するサービ
スを容易に利用することができるクライアント装置が得
られるという効果を奏する。
【0255】また、請求項20の発明によれば、サービ
ス利用手段において、クライアント装置の機能と処理能
力を調査する調査機構が設けられ、初期設定モジュール
の実行時にこの調査機構を実行して取得される調査結果
に応じて、サーバ装置から取得するサービスモジュール
を選択することができるので、調査結果が処理能力の低
下を示す場合に、実行可能なサービスモジュールだけを
取得して実行し、サービス実行に必要な他のサービスモ
ジュールの実行をサーバ装置等に依頼することが可能に
なり、これによりストレスのないサービス利用が可能な
クライアント装置が得られるという効果を奏する。
【0256】また、請求項21によれば、クライアント
データ管理テーブルに、サービスを利用するのに必要な
サービスモジュールが登録されていない場合に、そのサ
ービスモジュールをサーバ装置から取得して、クライア
ントデータ管理テーブルに登録するので、サービスの利
用に必要な最低限のサービスモジュールだけを付属する
記憶装置等に備えておくことができ、資源の有効な活用
を実現することができるクライアント装置が得られると
いう効果を奏する。
【0257】また、請求項22によれば、実行環境を問
わない共通モジュールを実行している状態におけるリソ
ース不足状態に対して、本来、このクライアント装置に
おいて実行すべき共通モジュールを、サーバ装置におい
て実行するように実行位置を移行することができるので
リソース不足が生じた場合に、実行されていた共通モジ
ュールを、リソースに余裕のあるサーバ装置において実
行できるようになり、これによりスループットの低下を
回避することができるクライアント装置が得られるとい
う効果を奏する。
【0258】また、請求項23によれば、実行されてい
る複数の共通モジュールのうち、リソース不足が解消さ
れるだけの共通モジュールを、サーバ装置に対する起動
要求の対象とするので、起動要求先のサーバ装置のリソ
ースへの大きな圧迫を回避することができるクライアン
ト装置が得られるという効果を奏する。
【0259】また、請求項24によれば、モジュール実
行位置テーブルによって共通モジュールの実行位置を管
理するので、このモジュール実行位置テーブルを参照す
ることで、所望の共通モジュールのアクセスが容易なク
ライアント装置が得られるという効果を奏する。
【0260】また、請求項25によれば、更新モジュー
ル取得手段によって、サーバ装置からサービスモジュー
ルの更新が通知された際に、更新されたサービスモジュ
ールを取得するので、ユーザ自らが、サーバ装置におけ
るモジュールの更新時期を意識する必要がなくなり、か
つ効率的なサービスモジュールの更新処理が可能なクラ
イアント装置が得られるという効果を奏する。
【図面の簡単な説明】
【図1】本発明にかかる分散処理システムにおいて、提
供されるサービス毎に用意されたサービスデータのモジ
ュール構成を示す説明図である。
【図2】本発明にかかるサーバのシステム実行形態を示
す説明図である。
【図3】本発明にかかるサーバデータ管理テーブルの各
サービスモジュールに対するサービスモジュールデータ
を示した説明図である。
【図4】本発明にかかるクライアントのシステム実行形
態を示す説明図である。
【図5】本発明にかかるクライアントデータ管理テーブ
ルの各サービスモジュールに対するサービスモジュール
データを示した説明図である。
【図6】本発明にかかるクライアントデーモンの起動に
おいて実行される処理を示したフローチャートである。
【図7】本発明にかかるサーバデーモンの起動時に実行
される処理を示したフローチャートである。
【図8】本発明にかかるシステム監視スレッドによる処
理を示したフローチャートである。
【図9】本発明にかかる初期設定モジュール取得処理を
示したフローチャートである。
【図10】本発明にかかる初期設定モジュールによる処
理を示したフローチャートである。
【図11】本発明にかかるサービス起動処理を示したフ
ローチャートである。
【図12】本発明にかかるクライアントにおけるモジュ
ール実行環境移行処理を示したフローチャートである。
【図13】本発明にかかるサービスモジュールアクセス
処理を示したフローチャートである。
【図14】本発明にかかるサーバにおけるモジュール実
行環境移行処理を示したフローチャートである。
【図15】本発明にかかるサービスモジュール更新処理
を示したフローチャートである。
【図16】実施の形態1にかかる分散処理システムのサ
ービス未起動時のシステム構成を示した説明図である。
【図17】実施の形態1において、Service#1
を実行するために必要なサービスデータを示す説明図で
ある。
【図18】実施の形態1にかかる分散処理システムのサ
ービス起動後のシステム構成を示した説明図である。
【図19】実施の形態1において、Server#1の
初期設定モジュールServiceModule#C1
のサービスモジュールデータを示す説明図である。
【図20】実施の形態1において、Client#1の
共通モジュールServiceModule#D1のサ
ービスモジュールデータを示す説明図である。
【図21】実施の形態1にかかる分散処理システムのサ
ービス起動後のシステム構成を示した説明図である。
【図22】実施の形態1において、Server#1の
共通モジュールServiceModule#D1のサ
ービスモジュールデータを示す説明図である。
【図23】実施の形態1において、Client#1の
共通モジュールServiceModule#D1のサ
ービスモジュールデータを示す説明図である。
【図24】実施の形態2にかかる分散処理システムのサ
ービス起動後のシステム構成を示した説明図である。
【図25】実施の形態2において、Server#1の
共通モジュールServiceModule#D1のサ
ービスモジュールデータを示す説明図である。
【図26】実施の形態2において、Client#1の
共通モジュールServiceModule#D1のサ
ービスモジュールデータを示す説明図である。
【符号の説明】
SD1,SD2 サーバデーモン CD1 クライアントデーモン SDT1,SDT2 サーバデータ管理テーブル CDT1 クライアントデータ管理テーブル STH1,STH2,CTH1 システム監視スレッド
【手続補正書】
【提出日】平成11年8月20日(1999.8.2
0)
【手続補正1】
【補正対象書類名】明細書
【補正対象項目名】請求項4
【補正方法】変更
【補正内容】
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】請求項10
【補正方法】変更
【補正内容】
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0044
【補正方法】変更
【補正内容】
【0044】また、請求項10の発明において、ネット
ワークを介して互いに接続されたサーバとクライアント
とを備えた分散処理システムにおける分散処理方法をコ
ンピュータに実行させるプログラムを記録したコンピュ
ータ読み取り可能な記録媒体は、サーバと他のサーバ
の双方の実行環境において実行可能な共通モジュールを
サーバにおいて実行するサーバ共通モジュール実行ステ
ップ(「サービス起動処理」のステップS115s、
「クライアントにおけるモジュール実行環境移行処理」
のステップS123s、または「サーバにおけるモジュ
ール実行環境移行処理」のステップS143sに相当)
と、サーバが処理能力の低下や負荷の増大等によるリソ
ース不足状態となった場合(「システム監視スレッドの
処理」に相当)に、他のサーバに対してその他のサーバ
側での共通モジュールの起動を要求するサーバ共通モジ
ュール起動要求ステップ(「サーバにおけるモジュール
実行環境移行処理」のステップS145s1に相当)
と、を実行させることを特徴とする。
【手続補正4】
【補正対象書類名】明細書
【補正対象項目名】0206
【補正方法】変更
【補正内容】
【0206】図18は、実施の形態1にかかる分散処理
システムのサービス起動後のシステム構成を示した説明
図である。図18において、Server#1は、図1
に示す状態に加えて、Service#1を提供する
サーバ用サービスプログラムとして、サーバ制御モジュ
ールServiceModule#A1、共通モジュー
ルServiceModule#D2が用意され、これ
らサービスモジュールの実行においてサーバデーモンS
D1内にスレッドが生成される。
【手続補正5】
【補正対象書類名】明細書
【補正対象項目名】0207
【補正方法】変更
【補正内容】
【0207】また、Client#1は、図1に示す
状態に加えて、Service#1を提供するクライア
ント用サービスプログラムとして、表示制御モジュール
ServiceModule#B1、初期設定モジュー
ルServiceModule#C1、共通モジュール
ServiceModule#D1が用意され、これら
サービスモジュールの実行においてクライアントデーモ
ンCD1内にスレッドが生成される。
【手続補正6】
【補正対象書類名】明細書
【補正対象項目名】0218
【補正方法】変更
【補正内容】
【0218】図22において、まず、「サービスモジュ
ール名」として「ServiceModule#D1」
が登録され、「デフォルトサービス名」として「Ser
vice#1」が登録されている。そして、「配送先ク
ライアントリスト」には、上記したClient#1の
論理アドレスである「#0011」が登録されている。
【手続補正7】
【補正対象書類名】明細書
【補正対象項目名】0231
【補正方法】変更
【補正内容】
【0231】ここでは、図14に示したモジュール実行
環境移行処理における第2のサーバが、Server#
2に該当し、このServer#2によって、Clie
nt#1から起動要求のあった共通モジュールServ
iceModule#D2の起動がおこなわれる。よっ
て、図24に示すように、Server#2において
は、Service#1を提供するサーバ用サービスプ
ログラムとして、共通モジュールServiceMod
ule#D2が用意され、このサービスモジュールの実
行においてサーバデーモンSD2内にスレッドが生成さ
れた状態にある。
【手続補正8】
【補正対象書類名】明細書
【補正対象項目名】0238
【補正方法】変更
【補正内容】
【0238】図26は、この場合のClient#1の
クライアントデータ管理テーブルCDT1に登録された
共通モジュールServiceModule#Dのサ
ービスモジュールデータを示す説明図である。
【手続補正9】
【補正対象書類名】明細書
【補正対象項目名】0239
【補正方法】変更
【補正内容】
【0239】図26において、まず、「サービスモジュ
ール名」として「ServiceModule#D
が登録され、「デフォルトサービス名」として「Ser
vice#1」が登録されている。そして、「版数」と
して「1」が登録され、「取得サーバアドレス」として
この共通モジュールServiceModule#D2
を配信したサーバの論理アドレスを示す「#0001」
が登録されている。
【手続補正10】
【補正対象書類名】明細書
【補正対象項目名】図25
【補正方法】変更
【補正内容】
【図25】実施の形態2において、Server#1の
共通モジュールServiceModule#Dのサ
ービスモジュールデータを示す説明図である。
【手続補正11】
【補正対象書類名】明細書
【補正対象項目名】図26
【補正方法】変更
【補正内容】
【図26】実施の形態2において、Client#1の
共通モジュールServiceModule#Dのサ
ービスモジュールデータを示す説明図である。
【手続補正12】
【補正対象書類名】図面
【補正対象項目名】図15
【補正方法】変更
【補正内容】
【図15】
───────────────────────────────────────────────────── フロントページの続き Fターム(参考) 5B045 GG01 GG02 5B089 GA11 GA21 JA11 JB07 JB15 JB18 KA06 KC11 KC15

Claims (25)

    【特許請求の範囲】
  1. 【請求項1】 ネットワークを介して互いに接続された
    サーバ装置とクライアント装置とを備えた分散処理シス
    テムにおいて、 前記サーバ装置は、サービスの提供および利用をおこな
    うための個別に実行可能な複数のモジュールと、前記モ
    ジュールの一種であり、前記クライアント装置がサービ
    スを利用するのに必要なモジュールを該クライアント装
    置側で取得するための初期設定モジュールと、前記複数
    のモジュールを実行することでサービスの提供をおこな
    うサービス提供手段と、 を備え、 前記クライアント装置は、前記サーバ装置から前記初期
    設定モジュールを取得し、取得した初期設定モジュール
    の実行によって前記サーバ装置から前記必要なモジュー
    ルを取得し、取得したモジュールを実行することでサー
    ビスの利用をおこなうサービス利用手段を備えたことを
    特徴とする分散処理システム。
  2. 【請求項2】 前記サーバ装置は、前記モジュールの一
    種として前記サーバ装置と前記クライアント装置との双
    方の実行環境において実行可能な共通モジュールを備
    え、 前記サービス提供手段は、前記共通モジュールを実行し
    ている状態において、前記サーバ装置が処理能力の低下
    や負荷の増大等によるリソース不足状態となった場合
    に、同機能を有する他のサーバ装置に対して該他のサー
    バ装置側での前記共通モジュールの起動を要求すること
    を特徴とする請求項1に記載の分散処理システム。
  3. 【請求項3】 前記サーバ装置は、前記モジュールの一
    種として前記サーバ装置と前記クライアント装置との双
    方の実行環境において実行可能な共通モジュールを備
    え、 前記サービス利用手段は、前記共通モジュールを実行し
    ている状態において、前記クライアント装置が処理能力
    の低下や負荷の増大等によるリソース不足状態となった
    場合に、前記サーバ装置に対して該サーバ装置側での前
    記共通モジュールの起動を要求することを特徴とする請
    求項1または2に記載の分散処理システム。
  4. 【請求項4】 前記サーバ装置は、前記モジュールが更
    新された際に、該モジュールを配信した先のクライアン
    ト装置に、前記更新されたモジュールの更新を通知する
    更新通知手段を備え、 前記クライアント装置は、前記更新されたモジュールの
    更新が通知された場合に、前記サーバ装置から前記更新
    されたモジュールを取得する更新モジュール取得手段を
    備えたことを特徴とする請求項1〜3のいずれか一つに
    記載のサーバ装置。
  5. 【請求項5】 ネットワークを介して互いに接続された
    サーバ装置とクライアント装置とを備えた分散処理シス
    テムにおける分散処理方法において、 前記サーバ装置が、前記クライアント装置の要求に応じ
    て、サービスを利用するのに必要なモジュールを該クラ
    イアント装置側で取得するための初期設定モジュールを
    配信する初期設定モジュール配信ステップと、 前記クライアント装置が、前記初期設定モジュールを取
    得し、取得した初期設定モジュールを実行して、前記サ
    ーバ装置から前記必要なモジュールを取得し、取得した
    モジュールを実行する初期設定モジュール実行ステップ
    と、 を含むことを特徴とする分散処理方法。
  6. 【請求項6】 ネットワークを介して互いに接続された
    サーバ装置とクライアント装置とを備えた分散処理シス
    テムにおける分散処理方法において、 前記サーバ装置が、前記サーバ装置と他のサーバ装置と
    の双方の実行環境において実行可能な共通モジュールを
    実行するサーバ共通モジュール実行ステップと、 前記サーバ装置が処理能力の低下や負荷の増大等による
    リソース不足状態となった場合に、前記他のサーバ装置
    に対して該他のサーバ装置側での前記共通モジュールの
    起動を要求するサーバ共通モジュール起動要求ステップ
    と、 を含んだことを特徴とする分散処理方法。
  7. 【請求項7】 ネットワークを介して互いに接続された
    サーバ装置とクライアント装置とを備えた分散処理シス
    テムにおける分散処理方法において、 前記クライアント装置が、前記サーバ装置と前記クライ
    アント装置との双方の実行環境において実行可能な共通
    モジュールを実行するクライアント共通モジュール実行
    ステップと、 前記クライアント装置が処理能力の低下や負荷の増大等
    によるリソース不足状態となった場合に、前記サーバ装
    置に対して該サーバ装置側での前記共通モジュールの起
    動を要求するクライアント共通モジュール起動要求ステ
    ップと、 を含んだことを特徴とする分散処理方法。
  8. 【請求項8】 ネットワークを介して互いに接続された
    サーバ装置とクライアント装置とを備えた分散処理シス
    テムにおける分散処理方法において、 前記サーバ装置が、前記クライアント装置の要求に応じ
    て、サービスを利用するのに必要なモジュールを配信し
    た際に、配信先のクライアント装置のアドレスをモジュ
    ール配信先テーブルに登録するモジュール配信先登録ス
    テップと、 前記モジュールが更新された際に、前記モジュール配信
    先テーブルに登録されたクライアント装置のアドレス先
    に、前記更新されたモジュールの更新を通知するモジュ
    ール更新通知ステップと、 前記クライアント装置が、前記更新されたモジュールの
    更新の通知を受けた場合に、前記サーバ装置から前記更
    新されたモジュールを取得する更新モジュール取得ステ
    ップと、 を含んだことを特徴とする分散処理方法。
  9. 【請求項9】 ネットワークを介して互いに接続された
    サーバ装置とクライアント装置とを備えた分散処理シス
    テムにおける分散処理方法をコンピュータに実行させる
    プログラムを記録したコンピュータ読み取り可能な記録
    媒体において、 前記サーバ装置から、前記クライアント装置の要求に応
    じて前記クライアント装置においてサービスを利用する
    のに必要なモジュールを該クライアント装置側で取得す
    るための初期設定モジュールを配信する初期設定モジュ
    ール配信ステップと、 前記クライアント装置において前記初期設定モジュール
    を取得し、取得した初期設定モジュールを実行すること
    で前記サーバ装置から前記必要なモジュールを取得し、
    取得したモジュールを実行する初期設定モジュール実行
    ステップと、 を実行させるためのプログラムを記録したコンピュータ
    読み取り可能な記録媒体。
  10. 【請求項10】 ネットワークを介して互いに接続され
    たサーバ装置とクライアント装置とを備えた分散処理シ
    ステムにおける分散処理方法をコンピュータに実行させ
    るプログラムを記録したコンピュータ読み取り可能な記
    録媒体において、 前記サーバ装置と前記クライアント装置との双方の実行
    環境において実行可能な共通モジュールを前記サーバ装
    置において実行するサーバ共通モジュール実行ステップ
    と、 前記サーバ装置が処理能力の低下や負荷の増大等による
    リソース不足状態となった場合に、他のサーバ装置に対
    して該他のサーバ装置側での前記共通モジュールの起動
    を要求するサーバ共通モジュール起動要求ステップと、 を実行させるためのプログラムを記録したコンピュータ
    読み取り可能な記録媒体。
  11. 【請求項11】 ネットワークを介して互いに接続され
    たサーバ装置とクライアント装置とを備えた分散処理シ
    ステムにおける分散処理方法をコンピュータに実行させ
    るプログラムを記録したコンピュータ読み取り可能な記
    録媒体において、 前記サーバ装置と前記クライアント装置との双方の実行
    環境において実行可能な共通モジュールを前記クライア
    ント装置において実行するクライアント共通モジュール
    実行ステップと、 前記クライアント装置が処理能力の低下や負荷の増大等
    によるリソース不足状態となった場合に、前記サーバ装
    置に対して該サーバ装置側での前記共通モジュールの起
    動を要求するクライアント共通モジュール起動要求ステ
    ップと、 を実行させるためのプログラムを記録したコンピュータ
    読み取り可能な記録媒体。
  12. 【請求項12】 ネットワークを介して互いに接続され
    たサーバ装置とクライアント装置とを備えた分散処理シ
    ステムにおける分散処理方法をコンピュータに実行させ
    るプログラムを記録したコンピュータ読み取り可能な記
    録媒体において、 前記サーバ装置から、前記クライアント装置においてサ
    ービスを利用するのに必要なモジュールを配信した際
    に、配信先のクライアント装置のアドレスをモジュール
    配信先テーブルに登録するモジュール配信先登録ステッ
    プと、 前記モジュールが更新された際に、前記モジュール配信
    先テーブルに登録されたクライアント装置のアドレス先
    に、前記更新されたモジュールの更新を通知するモジュ
    ール更新通知ステップと、 前記クライアント装置に、前記更新されたモジュールの
    取得の指示が通知された場合に、前記サーバ装置から前
    記更新されたモジュールを取得させる更新モジュール取
    得ステップと、 を実行させるためのプログラムを記録したコンピュータ
    読み取り可能な記録媒体。
  13. 【請求項13】 ネットワークに接続されてクライアン
    ト装置とともに分散処理システムを構築するサーバ装置
    において、 サービスの提供および利用をおこなうための個別に実行
    可能な複数のモジュールと、 前記モジュールの一種であり、前記クライアント装置が
    サービスを利用するのに必要なモジュールを該クライア
    ント装置側で取得するための初期設定モジュールと、 前記クライアント装置からの前記初期設定モジュールの
    取得要求に応じて該クライアント装置の種別に応じた初
    期設定モジュールを配信し、該初期設定モジュールが前
    記クライアント装置において実行されることによって要
    求されるモジュールを配信し、前記複数のモジュールを
    実行することでサービスの提供をおこなうサービス提供
    手段と、 を備えたことを特徴とするサーバ装置。
  14. 【請求項14】 前記モジュールの一種として前記サー
    バ装置と前記クライアント装置との双方の実行環境にお
    いて実行可能な共通モジュールを備え、 前記サービス提供手段は、前記サーバ装置の処理能力や
    負荷状態の情報を一定時間毎に取得するリソース監視機
    構を設け、前記共通モジュールを実行している状態にお
    いて、前記リソース監視機構によって取得された情報が
    処理能力の低下や負荷の増大等によるリソース不足状態
    を示す場合に、同機能を有する他のサーバ装置に対して
    該他のサーバ装置側での前記共通モジュールの起動を要
    求することを特徴とする請求項13に記載のサーバ装
    置。
  15. 【請求項15】 前記サービス提供手段は、複数の前記
    共通モジュールを実行している状態において、前記サー
    バ装置のリソース不足状態が解消されるまで、起動要求
    の対象となる共通モジュールの選択をおこない、前記他
    のサーバ装置に対して前記選択した共通モジュールの起
    動の要求を繰り返すことを特徴とする請求項14に記載
    のサーバ装置。
  16. 【請求項16】 前記サービス提供手段は、前記他のサ
    ーバ装置から前記共通モジュールの起動を要求された場
    合に、前記共通モジュールを起動し、前記他のサーバ装
    置または前記クライアント装置からの前記起動した共通
    モジュールへのアクセスを許可することを特徴とする請
    求項14または15に記載のサーバ装置。
  17. 【請求項17】 前記共通モジュールの起動をおこなう
    前記サーバ装置の実行位置情報を登録するモジュール実
    行位置テーブルを備え、 前記サービス提供手段は、前記モジュール実行位置テー
    ブルに登録された前記実行位置情報に基づいて前記共通
    モジュールにアクセスすることを特徴とする請求項14
    〜16のいずれか一つに記載のサーバ装置。
  18. 【請求項18】 前記モジュールを配信した先のクライ
    アント装置のアドレスを登録するモジュール配信先テー
    ブルと、 前記サーバ装置において前記モジュールが更新された際
    に、前記モジュール配信先テーブルに登録されたクライ
    アント装置のアドレス先に前記更新されたモジュールの
    更新を通知する更新通知手段と、 を備えたことを特徴とする請求項13〜17のいずれか
    一つに記載のサーバ装置。
  19. 【請求項19】 ネットワークに接続されてサーバ装置
    とともに分散処理システムを構築するクライアント装置
    において、 前記サーバ装置が提供するサービスを利用するのに必要
    なモジュールを前記サーバ装置から取得するための初期
    設定モジュールを前記サーバ装置から取得し、取得した
    初期設定モジュールの実行によって必要なモジュールを
    取得し、取得したモジュールを実行することでサービス
    の利用をおこなうサービス利用手段を備えたことを特徴
    とするクライアント装置。
  20. 【請求項20】 前記初期設定モジュールは、前記クラ
    イアント装置の処理能力や負荷状態の調査をおこない、
    該調査結果に応じて、前記サーバ装置が提供するサービ
    スを利用するのに必要なモジュールのうち前記サーバ装
    置から取得するモジュールを選択することを特徴とする
    請求項19に記載のクライアント装置。
  21. 【請求項21】 前記サーバ装置から取得したモジュー
    ルを管理するモジュール管理テーブルを備え、 前記サービス利用手段は、前記モジュール管理テーブル
    にサービスを利用するのに必要なモジュールが登録され
    ていない場合に、該モジュールを前記サーバ装置から取
    得し、取得したモジュールを前記モジュール管理テーブ
    ルに登録することを特徴とする請求項19または20に
    記載のクライアント装置。
  22. 【請求項22】 前記サービス利用手段は、サービスを
    利用するのに必要なモジュールの一種として前記サーバ
    装置と前記クライアント装置との双方の実行環境におい
    て実行可能な共通モジュールを前記サーバ装置から取得
    し、 前記クライアント装置の処理能力や負荷状態の情報を一
    定時間毎に取得するリソース監視機構を設け、前記共通
    モジュールを実行している状態において、前記リソース
    監視機構によって取得された情報が処理能力の低下や負
    荷の増大等によるリソース不足状態を示す場合に、前記
    サーバ装置に対して該サーバ装置側での前記共通モジュ
    ールの起動を要求することを特徴とする請求項19〜2
    1のいずれか一つに記載のクライアント装置。
  23. 【請求項23】 前記サービス利用手段は、複数の前記
    共通モジュールを実行している状態において、前記クラ
    イアント装置のリソース不足状態が解消されるまで、起
    動要求の対象となる共通モジュールの選択をおこない、
    前記サーバ装置に対して前記選択した共通モジュールの
    起動の要求を繰り返すことを特徴とする請求項22に記
    載のクライアント装置。
  24. 【請求項24】 前記共通モジュールの起動をおこなう
    前記サーバ装置の実行位置情報を登録するモジュール実
    行位置テーブルを備え、 前記サービス利用手段は、前記モジュール実行位置テー
    ブルに登録された前記実行位置情報に基づいて前記共通
    モジュールにアクセスすることを特徴とする請求項22
    または23に記載のクライアント装置。
  25. 【請求項25】 前記サーバ装置から更新されたモジュ
    ールの更新の通知を受けた場合に、前記サーバ装置から
    前記更新されたモジュールを取得する更新モジュール取
    得手段を備えたことを特徴とする請求項19〜24のい
    ずれか一つに記載のクライアント装置。
JP10349067A 1998-12-08 1998-12-08 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置 Pending JP2000172657A (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP10349067A JP2000172657A (ja) 1998-12-08 1998-12-08 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置
US09/361,971 US6633898B1 (en) 1998-12-08 1999-07-28 System, apparatus, method and computer program product for processing distributed service modules

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP10349067A JP2000172657A (ja) 1998-12-08 1998-12-08 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置

Publications (1)

Publication Number Publication Date
JP2000172657A true JP2000172657A (ja) 2000-06-23

Family

ID=18401273

Family Applications (1)

Application Number Title Priority Date Filing Date
JP10349067A Pending JP2000172657A (ja) 1998-12-08 1998-12-08 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置

Country Status (2)

Country Link
US (1) US6633898B1 (ja)
JP (1) JP2000172657A (ja)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1321853A2 (en) * 2001-12-10 2003-06-25 Sap Ag Dynamic component transfer based on resource negotiations between computer systems
JP2003241986A (ja) * 2001-09-28 2003-08-29 Quanta Computer Inc パーソナルコンピューティング装置用ネットワークオブジェクト配達システム
JP2004264957A (ja) * 2003-02-28 2004-09-24 Hitachi Ltd 異なる計算機環境におけるジョブ実行方法及びそのプログラム
JP2005250598A (ja) * 2004-03-01 2005-09-15 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
JP2006092569A (ja) * 2000-07-11 2006-04-06 Microsoft Corp アプリケーションプログラムキャッシング
JP2009009480A (ja) * 2007-06-29 2009-01-15 Nec Corp サービス提供システム、端末装置、サーバおよびサービス提供方法
JP2010512603A (ja) * 2006-12-12 2010-04-22 クゥアルコム・インコーポレイテッド クライアント駆動サーバ側インストールのための装置及び方法
US8332483B2 (en) 2003-12-15 2012-12-11 International Business Machines Corporation Apparatus, system, and method for autonomic control of grid system resources
JP2022535949A (ja) * 2019-06-11 2022-08-10 北京字節跳動網絡技術有限公司 モデルファイルのディストリビューション方法、プラットホーム、システム、端末及び可読記憶媒体

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7197570B2 (en) 1998-07-22 2007-03-27 Appstream Inc. System and method to send predicted application streamlets to a client device
US7028298B1 (en) * 1999-09-10 2006-04-11 Sun Microsystems, Inc. Apparatus and methods for managing resource usage
US6850968B1 (en) * 2000-02-01 2005-02-01 Service Co. Reduction of network server loading
US7685602B1 (en) * 2000-06-05 2010-03-23 Teradata Us, Inc. Controlling software components in a multi-node processing system
US7143128B1 (en) * 2000-06-08 2006-11-28 International Business Machines Corporation Interactive data processor controlled display interface for tracking of allocated messages in a dynamic workload balancing communication system
US7051315B2 (en) * 2000-09-26 2006-05-23 Appstream, Inc. Network streaming of multi-application program code
US7302634B2 (en) 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
US7024662B2 (en) 2001-03-14 2006-04-04 Microsoft Corporation Executing dynamically assigned functions while providing services
US7506045B1 (en) * 2001-03-30 2009-03-17 Unisys Corporation Method and mechanism for the development and implementation of a web-based user interface
US6976193B2 (en) * 2001-09-20 2005-12-13 Intel Corporation Method for running diagnostic utilities in a multi-threaded operating system environment
US7167448B2 (en) * 2002-02-04 2007-01-23 Sun Microsystems, Inc. Prioritization of remote services messages within a low bandwidth environment
US20030163544A1 (en) * 2002-02-04 2003-08-28 Wookey Michael J. Remote service systems management interface
US20030149771A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Remote services system back-channel multicasting
US20030177259A1 (en) * 2002-02-04 2003-09-18 Wookey Michael J. Remote services systems data delivery mechanism
US20030149889A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Automatic communication and security reconfiguration for remote services
US20030149740A1 (en) * 2002-02-04 2003-08-07 Wookey Michael J. Remote services delivery architecture
US20030212738A1 (en) * 2002-05-10 2003-11-13 Wookey Michael J. Remote services system message system to support redundancy of data flow
US20040010612A1 (en) * 2002-06-11 2004-01-15 Pandya Ashish A. High performance IP processor using RDMA
US8266239B2 (en) * 2002-06-27 2012-09-11 Oracle International Corporation Remote services system relocatable mid level manager
US7181455B2 (en) * 2002-06-27 2007-02-20 Sun Microsystems, Inc. Bandwidth management for remote services system
US7240109B2 (en) * 2002-06-27 2007-07-03 Sun Microsystems, Inc. Remote services system service module interface
US7260623B2 (en) * 2002-06-27 2007-08-21 Sun Microsystems, Inc. Remote services system communication module
US9886309B2 (en) * 2002-06-28 2018-02-06 Microsoft Technology Licensing, Llc Identity-based distributed computing for device resources
US7065756B2 (en) * 2002-08-22 2006-06-20 International Business Machines Corporation Optimization of portable operations in a client-server environment
US20040199912A1 (en) * 2003-02-26 2004-10-07 Foo Chris Fook-Choong Method system and program product to retrieve and distribute information on demand
JP4038147B2 (ja) * 2003-04-17 2008-01-23 株式会社日立製作所 情報処理システム
US20040260783A1 (en) * 2003-06-11 2004-12-23 Foo Chris Fook-Choong Method system and program product to exchange and process files on demand
US20060064335A1 (en) * 2004-08-17 2006-03-23 International Business Machines Corporation Method, system, and storage medium for performing business process modeling
US20060112122A1 (en) * 2004-11-23 2006-05-25 International Business Machines Corporation Method, system, and storage medium for implementing business process modules
JP5150116B2 (ja) * 2006-03-31 2013-02-20 パナソニック株式会社 Icカード及び読み書き装置
US8260924B2 (en) * 2006-05-03 2012-09-04 Bluetie, Inc. User load balancing systems and methods thereof
US8056082B2 (en) * 2006-05-31 2011-11-08 Bluetie, Inc. Capacity management and predictive planning systems based on trended rate change of monitored factors and methods thereof
US8176114B2 (en) * 2008-02-28 2012-05-08 Oracle International Corporation Distributed cross-application server deployment
CN102099828B (zh) 2008-07-28 2014-05-07 索尼公司 用于访问联网服务的客户端设备和相关联方法
TWI454949B (zh) 2011-12-26 2014-10-01 Ind Tech Res Inst 分散式資源管理系統及其分散式資源管理方法
US10817346B1 (en) * 2019-09-23 2020-10-27 ForgeRock, Inc. Secure service isolation between instances of cloud products using a SaaS model
US11200081B2 (en) 2019-10-21 2021-12-14 ForgeRock, Inc. Systems and methods for tuning containers in a high availability environment
US11606210B1 (en) 2020-12-17 2023-03-14 ForgeRock, Inc. Secure activation, service mode access and usage control of IOT devices using bearer tokens
US11861408B2 (en) * 2021-06-18 2024-01-02 Google Llc Hardware accelerator service discovery

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05241796A (ja) * 1992-02-28 1993-09-21 Fujitsu Ltd 端末装置のインストール方法
JPH08249163A (ja) * 1995-03-13 1996-09-27 Toshiba Corp ネットワークシステムのソフトウェアバージョン管理装置
JPH09265460A (ja) * 1996-03-28 1997-10-07 Mitsubishi Electric Corp 分散処理システム及び分散処理方法
JPH09288648A (ja) * 1996-04-19 1997-11-04 Matsushita Electric Ind Co Ltd ネットワークにおける分散処理方法及びそのシステム
JP2000076172A (ja) * 1998-08-28 2000-03-14 Toshiba Corp 分散システム

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2727540B1 (fr) * 1994-11-30 1997-01-03 Bull Sa Outil d'aide a la repartition de la charge d'une application repartie
US5838910A (en) * 1996-03-14 1998-11-17 Domenikos; Steven D. Systems and methods for executing application programs from a memory device linked to a server at an internet site
US5752042A (en) * 1996-06-07 1998-05-12 International Business Machines Corporation Server computer for selecting program updates for a client computer based on results of recognizer program(s) furnished to the client computer
JPH1021081A (ja) 1996-06-28 1998-01-23 N T T Data Tsushin Kk クライアント・サーバシステム
US6195678B1 (en) * 1996-09-03 2001-02-27 Fujitsu Limited Remote resource management system for automatically downloading required files from application server depending on contents of selected files on requesting computer
US6351775B1 (en) * 1997-05-30 2002-02-26 International Business Machines Corporation Loading balancing across servers in a computer network
JPH1153326A (ja) * 1997-07-30 1999-02-26 Internatl Business Mach Corp <Ibm> 分散処理システム、クライアントノード、サーバノードおよび分散処理方法
US6134588A (en) * 1997-11-12 2000-10-17 International Business Machines Corporation High availability web browser access to servers
US5974454A (en) * 1997-11-14 1999-10-26 Microsoft Corporation Method and system for installing and updating program module components
US6397252B1 (en) * 1997-12-19 2002-05-28 Electronic Data Systems Corporation Method and system for load balancing in a distributed object system
US6175869B1 (en) * 1998-04-08 2001-01-16 Lucent Technologies Inc. Client-side techniques for web server allocation
US6138159A (en) * 1998-06-11 2000-10-24 Phaal; Peter Load direction mechanism
US6324580B1 (en) * 1998-09-03 2001-11-27 Sun Microsystems, Inc. Load balancing for replicated services
US6314447B1 (en) * 1999-10-04 2001-11-06 Sony Corporation System uses local registry and load balancing procedure for identifying processing capabilities of a remote device to perform a processing task

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05241796A (ja) * 1992-02-28 1993-09-21 Fujitsu Ltd 端末装置のインストール方法
JPH08249163A (ja) * 1995-03-13 1996-09-27 Toshiba Corp ネットワークシステムのソフトウェアバージョン管理装置
JPH09265460A (ja) * 1996-03-28 1997-10-07 Mitsubishi Electric Corp 分散処理システム及び分散処理方法
JPH09288648A (ja) * 1996-04-19 1997-11-04 Matsushita Electric Ind Co Ltd ネットワークにおける分散処理方法及びそのシステム
JP2000076172A (ja) * 1998-08-28 2000-03-14 Toshiba Corp 分散システム

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006092569A (ja) * 2000-07-11 2006-04-06 Microsoft Corp アプリケーションプログラムキャッシング
JP2003241986A (ja) * 2001-09-28 2003-08-29 Quanta Computer Inc パーソナルコンピューティング装置用ネットワークオブジェクト配達システム
US8732311B1 (en) 2001-09-28 2014-05-20 Quanta Computer Inc. Network object delivery system for personal computing device
US8301777B1 (en) 2001-09-28 2012-10-30 Quanta Computer Inc. Network object delivery system for personal computing device
US7725554B2 (en) 2001-09-28 2010-05-25 Quanta Computer, Inc. Network object delivery system for personal computing device
EP1321853A2 (en) * 2001-12-10 2003-06-25 Sap Ag Dynamic component transfer based on resource negotiations between computer systems
JP2004264957A (ja) * 2003-02-28 2004-09-24 Hitachi Ltd 異なる計算機環境におけるジョブ実行方法及びそのプログラム
US8332483B2 (en) 2003-12-15 2012-12-11 International Business Machines Corporation Apparatus, system, and method for autonomic control of grid system resources
US8065403B2 (en) 2004-03-01 2011-11-22 Sony Corporation Information processing system, information processing method, and computer program
KR101119870B1 (ko) * 2004-03-01 2012-03-08 소니 주식회사 정보 처리 시스템 및 정보 처리 방법
JP2005250598A (ja) * 2004-03-01 2005-09-15 Sony Corp 情報処理システム及び情報処理方法、並びにコンピュータ・プログラム
JP2010512603A (ja) * 2006-12-12 2010-04-22 クゥアルコム・インコーポレイテッド クライアント駆動サーバ側インストールのための装置及び方法
US8645948B2 (en) 2006-12-12 2014-02-04 Qualcomm Incorporated Apparatus and methods for client-driven server-side installation
JP2009009480A (ja) * 2007-06-29 2009-01-15 Nec Corp サービス提供システム、端末装置、サーバおよびサービス提供方法
JP2022535949A (ja) * 2019-06-11 2022-08-10 北京字節跳動網絡技術有限公司 モデルファイルのディストリビューション方法、プラットホーム、システム、端末及び可読記憶媒体
JP7257554B2 (ja) 2019-06-11 2023-04-13 北京字節跳動網絡技術有限公司 モデルファイルのディストリビューション方法、プラットホーム、システム、端末及び可読記憶媒体
US12047433B2 (en) 2019-06-11 2024-07-23 Beijing Bytedance Network Technology Co., Ltd. Model file issuing method, platform, system, terminal and readable storage medium

Also Published As

Publication number Publication date
US6633898B1 (en) 2003-10-14

Similar Documents

Publication Publication Date Title
JP2000172657A (ja) 分散処理システム、分散処理方法、その方法をコンピュータに実行させるプログラムを記録したコンピュータ読み取り可能な記録媒体、サーバ装置およびクライアント装置
US11726828B2 (en) Managing a virtualized application workspace on a managed computing device
US10198162B2 (en) Method for installing or upgrading an application
KR100322716B1 (ko) 협력적 프록시 시스템의 개체 랜더링 분산 전개를 위한방법 및 장치
US7853943B2 (en) Intelligent patch checker
US5832191A (en) Method and apparatus for automatically enabling communication with a network printer
US20160308960A1 (en) Connection management system, and a method for linking connection management server in thin client system
US5341499A (en) Method and apparatus for processing multiple file system server requests in a data processing network
US7856496B2 (en) Information gathering tool for systems administration
US20060179431A1 (en) Rules-based deployment of computing components
US20060179124A1 (en) Remote discovery and system architecture
US7467388B2 (en) Monitoring message queues and starting processing applications
US20060173875A1 (en) Server Consolidation Data Mdel
US20060123121A1 (en) System and method for service session management
US20060179171A1 (en) Server consolidation analysis
JP2009519523A (ja) 仮想データ・センタ複合体内のターゲット仮想オペレーティング・システムのパフォーマンスをモニタするための方法、システム、およびコンピュータ・プログラム
WO2007055818A1 (en) Automated device driver management
US8898330B2 (en) Server node configuration using a configuration tool
JPH11282686A (ja) ネットワークコンピュータシステム
TW200301634A (en) Apparatus and method for collecting information from information providing server
JP2000132397A (ja) クライアントとサーバおよびそれらを用いたソフトウェア配布システム
JP4804139B2 (ja) 情報出力方法、システム及びプログラム
JPH10320184A (ja) ソフトウェアバージョン管理システム
JP3710961B2 (ja) 分散検索装置および分散検索プログラム記憶媒体
JP3741818B2 (ja) 多数のコンピュータが参加する情報分配応答システム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20040611

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050105

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20050510