JP3884239B2 - サーバ計算機 - Google Patents
サーバ計算機 Download PDFInfo
- Publication number
- JP3884239B2 JP3884239B2 JP2001091216A JP2001091216A JP3884239B2 JP 3884239 B2 JP3884239 B2 JP 3884239B2 JP 2001091216 A JP2001091216 A JP 2001091216A JP 2001091216 A JP2001091216 A JP 2001091216A JP 3884239 B2 JP3884239 B2 JP 3884239B2
- Authority
- JP
- Japan
- Prior art keywords
- application
- server
- gui
- resource
- server 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.)
- Expired - Lifetime
Links
Images
Description
【発明の属する技術分野】
本発明は、GUIライブラリを用いて、クライアント計算機とサーバ計算機との間で分散処理を実行するサーバ計算機に関する。
【0002】
【従来の技術】
UNIX系OSの成熟化に伴い、ユーザにとって比較的分かり易いGUI(Graphical User Interface)環境の遠隔命令処理方式として、Xウインドウ・システムが開発されている。
【0003】
また、各ユーザであるクライアント計算機が遠隔地のサーバ計算機側で所有するアプレット(Applet)などの処理内容を転送要求するとか、或いはインストールする方法も考えられている。さらに、サーバ計算機と各クライアント計算機とが個別に命令処理及び通信に関するソフトを用意するものも考えられている。
【0004】
しかしながら、以上のような幾つかの遠隔命令処理に関し、Xウインドウ・システムを用いたものは、UNIX環境等であるXウインドウ・システムを塔載する環境のみに限られる問題がある。
【0005】
また、クライアント計算機がサーバ計算機で所有するアプレットを転送要求するシステムは、アプレット自身のデータ容量の大きさにより、ネットワークに大きな負荷がかかる。
【0006】
さらに、依頼元であるサーバ計算機と依頼先であるクライアント計算機が個別に命令処理及び通信に関するソフトを用意するものは、アプレットの開発はもとより、両者のデータ通信方法の検討開発等に関し、それぞれ個別に検討・開発しなければならず、開発費用が嵩むという問題がある。
【0007】
そこで、従来、図5に示すような分散処理環境システムが考えられている。このシステムは、GUIを使用するアプリケーション51を実行するサーバ計算機52とAWT(Abstract Window Toolkit:抽象ウインドゥ・ツールキット)サーバ61を備えた1つ以上のクライアント計算機62がネットワークを介して接続され、サーバ計算機52は、GUIを使用するアプリケーション51を実行する際、クライアントアクセス時のポート番号を管理サーバ53に通知する一方、必要に応じてGUIライブラリ54が使用される。
【0008】
クライアント計算機62では、AWTサーバ61が管理サーバ53から通知されたポート番号にアクセスし、遠隔表示用GUIライブラリ54と通信を行い、サーバ計算機52のアプリケーション51がGUIライブラリ54を使用した場合、GUI63を取り込んでクライアント計算機62に表示する。
【0009】
ここで、クライアント計算機62は、表示されたGUI63上で発生するキーボード入力やマウス操作等の操作情報がAWTサーバ61を経由し、遠隔表示用GUIライブラリ54に転送される。サーバ計算機52の遠隔表示用GUIライブラリ54は、クライアント計算機62側から転送されてくる操作情報に基づいて該当アプリケーション51の処理を行う。
【0010】
【発明が解決しようとする課題】
ところで、以上のような分散処理環境システムでは、サーバ計算機52上で動作するアプリケーション51がプログラム実行単位である個別プロセスとして動作することから、主記憶装置のメモリ使用量がほぼアプリケーションプロセス数に比例して増加する。よって、メモリ使用量がアプリケーションプロセス数に比例して増加する場合、次のような問題が出てくる。
【0011】
あるメモリ容量の主記憶装置を備えたサーバ計算機52では、同時に実行できるプロセス数がそのメモリ容量の範囲内で制限される。このことは、クライアント計算機62を増加できないという問題がある。
【0012】
また、逆の面から考えると、ある同時実行プロセス数を達成するためには、主記憶装置のメモリ容量を増加させる必要があり、コスト的に非常に高くなる問題がある。
【0013】
本発明は上記事情に鑑みてなされたもので、複数のアプリケーションを単一プロセス内で動作させ、メモリの使用効率を高めるサーバ計算機を提供することを目的とする。
【0016】
【課題を解決するための手段】
(1) 上記課題を解決するために、本発明は、複数のアプリケーションプログラムを記憶した記憶手段とこれら複数のアプリケーションプログラムを実行する機能を持つアプリケーションサーバとを持つサーバ計算機において、前記アプリケーションサーバは、クライアント計算機から出力された前記記憶手段に記憶されたアプリケーションの起動要求を受け付ける起動受付手段と、この起動受付手段で受け付けた前記起動要求されたアプリケーションを前記記憶手段から読み出し、この読み出したアプリケーションプログラムに基づいてスレッドを作成することによりアプリケーションを生成するアプリケーションロード手段と、このアプリケーションロード手段により生成されたアプリケーションによって使用されるアプリケーション毎のリソース及び複数のアプリケーション間で共有するリソースを管理するリソースマネージャを有する前記クライアント計算機にGUIを表示するための命令を送信する機能を持つGUIライブラリとを備えた構成である。
【0017】
本発明は、以上のような構成とすることにより、起動手段が例えば外部機器であるクライアント計算機からアプリケーション起動要求を受けると、アプリケーションロード手段は、起動要求されたアプリケーションごとに、所要とするプログラムを用いて要求内容に応じたスレッドグループを構成するアプリケーションを作成し、これらアプリケーション毎のリソース及び各アプリケーション間で共有するリソースを管理するリソースマネージャを有する前記クライアント計算機にGUIを表示するための命令を送信する機能を持つGUIライブラリを設けたので、複数のアプリケーションが単一プロセス内で動作させることが可能となり、多くのリソースが各アプリケーション間で共有させることができ、サーバ計算機のメモリ使用量を大幅に低減することが可能である。
【0021】
【発明の実施の形態】
以下、本発明の実施の形態について図面を参照して説明する。
【0022】
図1は本発明に係わるサーバ計算機を持つ分散処理環境システムの一実施の形態を示す構成図である。
【0023】
この分散処理環境システムは、サーバ計算機10と1つ以上のクライアント計算機20がLAN,インターネット等のネットワークを介して接続されている。
【0024】
サーバ計算機10は、OS(Operating System)や所要とする各種のアプリケーションの他、クライアント計算機20と関係するアプリケーションサーバ11が設けられ、さらにシステム上必要な各種のプログラムその他必要なデータを保存するディスク装置12が接続されている。
【0025】
このアプリケーションサーバ11は、複数のアプリケーションプログラムを実行する機能をもつプロセスであって、ユーザがOS(図示せず)などを用いてアプリケーション(機能モジュール)を開発し提供するインターフェースの役割を有し、またクライアントアドレスを含むアプリケーション起動要求を受け付けて起動を行うAPI(Application Programming Interface)サーバ13と、このAPIサーバ12から起動要求されたアプリケーションのプログラムをディスク装置12から読み込んで自計算機の主記憶装置(図示せず)上にロードし、各アプリケーション毎に図2に示すようにメインとなるスレッドグループを作成し、そのスレッドグループに属するスレッドおよびサブとなるスレッドグループを作成することにより、アプリケーション起動要求に応じた複数のアプリケーションA,B,…を生成するアプリケーションローダ14とが設けられている。なお、サブとなるスレッドグループには、さらにサブスレッドグループに属するスレッドおよびサブとなるスレッドグループが順次繋がりをもって作成される。
【0026】
また、アプリケーションサーバ11には、クライアント計算機20におけるキー入力操作などを助けるためのソフトウエアであるGUIライブラリ15およびアプリケーションに属さないシステムスレッドとによって構成されている。
【0027】
このGUIライブラリ15は、アプリケーションA,B,…毎のリソースA,B,…およびアプリケーションA,B,…間で共有するリソースなどを管理するためのリソースマネージャ16を有し、このリソースマネージャ16にはアプリケーションサーバ11からリソース管理用のアドレスが登録されている。
【0028】
また、GUIライブラリ15は、前記クライアントアドレスのもとにネットワークの通信路を確立し、GUIの表示命令をクライアント計算機20に転送する機能をもっている。
【0029】
17はメモリ使用効率を高める為の処理を実行するプログラムを記憶する記憶媒体であるが、このプログラムは、記憶媒体17でなく、ディスク装置12その他適宜な記憶媒体に記憶してもよい。
【0030】
前記クライアント計算機20は、サーバ計算機10のアプリケーションサーバ11にアプリケーション起動要求を行うAPIクライアント21、アプリケーションサーバ11側のアプリケーションがGUIライブラリ15を使用したとき、クライアント計算機20にGUIを表示する命令を送信するが、その表示命令を受信しクライアント計算機20にGUIのみを表示するAWTサーバ22が設けられている。
【0031】
次に、以上のようなシステムの動作およびプログラムによる一連の処理について図3を参照して説明する。
【0032】
アプリケーションサーバ11の起動後、記憶媒体17からプログラムを読み取って適宜な記憶手段例えば主記憶装置(図示せず)に記憶した後、起動要求に基づいて以下のような処理を実行する。
【0033】
すなわち、アプリケーションサーバ11の起動後、アプリケーションを実行する場合、APIクライアント21から使用すべきAWTサーバ22が動作するクライアント計算機20のアドレスを含むアプリケーション起動要求を行う。このAPIクライアント21からのアプリケーション起動要求は、ネットワークを経由しアプリケーションサーバ11に送信される。
【0034】
アプリケーションサーバ11のAPIサーバ13は、クライアント計算機20からの起動要求を受信し、アプリケーションローダ14にアプリケーション起動指示を出すとともに、起動要求に含まれるアドレスをアプリケーション毎のリソースを管理するリソースマネージャ16に登録する(S1,S2:アプリケーション起動確立機能)。
【0035】
アプリケーションローダ14は、APIサーバ13からアプリケーション起動指示を受けると、起動要求されたアプリケーションのプログラムをディスク装置12から読み込んでサーバ計算機10の図示しない主記憶装置などにロードし、メインスレッドグループを作成し、このメインスレッドグループに属する1つ以上のスレッドの他、必要に応じてサブスレッドグループを作成し、さらにサブスレッドグループに属するスレッドを作成し、これら一連のスレッド作成処理により、起動要求のあったアプリケーションを作成する(S3〜S5:アプリケーション作成機能)。
【0036】
しかる後、アプリケーションサーバ11は、作成されたアプリケーションがGUIライブラリ15を使用するか否かを判断し、GUIライブラリ15を使用すると判断したとき、GUIライブラリ内のリソースマネージャ16は、GUIライブラリ15を呼び出したスレッドのスレッドグループに基づいてアプリケーションを特定し、そのアプリケーションが接続すべきAWTサーバ22をもつクライアント計算機20のアドレスを特定し、GUIライブラリ15が当該アドレスを用いてクライアント計算機20のAWTサーバ22と通信し通信路を確立する(S6〜S9:通信路確立機能)。
【0037】
以上のようにしてAWTサーバ22とアプリケーションサーバ11のGUIライブラリ15との通信路が確立された後、GUIライブラリ15は、GUIをクライアント計算機20に表示するための命令をAWTサーバ22に送信する(S10:GUI送信機能)。
【0038】
ここで、AWTサーバ22は、当該命令を受信し、命令に応じたGUIをクライアント計算機20の表示部に表示する。
【0039】
クライアント計算機20では、表示されたGUI上で発生したキーボード入力やマウス操作等のGUI操作情報(イベント)は、AWTサーバ22を経由し、GUIライブラリ15に転送される。
【0040】
アプリケーションサーバ11は、AWTサーバ22からGUI操作情報があるか否かを判断し、操作情報があれば、GUIライブラリ15で操作情報に応じた処理を実行し、その後、別のGUIや操作情報が有れば、その要求に応じて所要の処理を行う(S11〜S13:GUI操作情報処理機能)。
【0041】
従って、以上のような実施の形態によれば、アプリケーションローダ14は、APIサーバ12から起動要求されたアプリケーション毎のプログラムをディスク装置12から読み込み、各アプリケーション毎にスレッドグループおよびこのスレッドグループに属するスレッドを作成し、複数のアプリケーションA,B,…を生成するので、アプリケーションサーバ11は、複数のアプリケーションプログラムを実行する機能をもつプロセスを実現することができる。
【0042】
また、アプリケーションサーバ11のGUIライブラリ15は、アプリケーションA,B,…毎のリソースA,B,…及びアプリケーション間で共有するリソースを管理するためのリソースマネージャ16を有するので、複数のクライアント計算機20から同時にアプリケーションの起動要求が合ったときでも、サーバ計算機10では、複数のアプリケーションが単一プロセス内で動作させることができる。このように複数のアプリケーションを単一プロセス内で動作させることにより、多くのリソースがアプリケーション間で共有することが可能となり、メモリ使用効率を高めることができ、ひいてはサーバ計算機10のメモリ使用量を大幅に減らすことが可能となる。
【0043】
次に、各アプリケーション毎のリソースの特定方法について図4を参照して説明する。
【0044】
アプリケーションサーバ11は、前述するように複数のアプリケーションプログラムを実行する機能をもつプロセスであるが、このプロセス内にはアプリケーション固有オブジェクトと複数のアプリケーションが共有する例えばキー入力に対するサブルーチン処理などの共通オブジェクトとが存在する場合がある。
【0045】
リソースマネージャ16は、前述するようにアプリケーション毎のリソースを管理し、スレッドグループに基づいてリソースを検索しリソースを特定する必要があるが、このときアプリケーション固有オブジェクトと共通オブジェクトとによってリソースの特定方法が異なる。
【0046】
アプリケーション固有オブジェクトの場合、リソースマネージャ16は、オブジェクト生成時に当該固有オブジェクト内にリソースへの直接参照データを保持させているので、アプリケーション固有オブジェクトがリソースを必要とするとき、リソースマネージャ16で検索処理を行わず、自身のアプリケーション固有オブジェクト内に保持される直接参照データに基づいてリソースへの直接参照によりリソースを特定する。
【0047】
一方、複数のアプリケーション間で共有する共通オブジェクトの場合、複数のリソースを使用する可能性があるので、その都度リソースマネージャ16を経由しリソースを検索し、リソースを特定する。
【0048】
よって、このリソース特定方法においては、リソースマネージャ16がスレッドグループに基づいてリソースを検索しリソースを特定するが、その時、アプリケーションがアプリケーション固有オブジェクトの他に共通オブジェクトをもっているか判断するステップと、この判断結果に基づいてアプリケーション固有オブジェクトの場合には自身のアプリケーション固有オブジェクト内に保持される直接参照データに基づいてリソースへの直接参照によってリソースを特定するステップと、共通オブジェクトの場合にはリソースマネージャ16がリソースを検索しリソースを特定するステップとから構成されている。
【0049】
従って、以上のようなリソース特定方法によれば、アプリケーション固有オブジェクトの場合にはリソースマネージャ16による検索処理を必要としないので、リソースマネージャ16の検索処理回数が少なくなるので、サーバ計算機10の負荷を大幅に低減化できる。また、他のアプリケーションに属するスレッドやアプリケーションに属さないスレッドから、アプリケーション固有オブジェクトへのアクセスが合った場合でも、適切にリソースを特定できる。
【0050】
その他、本願発明は、上記実施の形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変形して実施できる。また、各実施の形態は可能な限り組み合わせて実施することが可能であり、その場合には組み合わせによる効果が得られる。さらに、上記各実施の形態には種々の上位,下位段階の発明が含まれており、開示された複数の構成要素の適宜な組み合わせにより種々の発明が抽出され得るものである。例えば問題点を解決するための手段に記載される全構成要件から幾つかの構成要件が省略されうることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【0051】
【発明の効果】
以上説明したように本発明によれば、複数のアプリケーションが単一のプロセス内で動作させることができ、また複数のアプリケーション間でリソースを共有化することによりメモリの使用効率を高めるサーバ計算機を提供できる。
【図面の簡単な説明】
【図1】 本発明に係わるサーバ計算機を持つ分散処理環境システムの一実施の形態を示す構成図。
【図2】 アプリケーションの作成例を示す図。
【図3】 本発明に係わるサーバ計算機を持つ分散処理環境システムの動作及びプログラムの一連の処理を説明するフローチャート。
【図4】 各アプリケーション毎のリソースの特定方法を説明する図。
【図5】 従来の分散処理環境システムの構成図。
【符号の説明】
10…サーバ計算機
11…アプリケーションサーバ
12…ディスク装置
13…APIサーバ
14…アプリケーションローダ
15…GUIライブラリ
16…リソースマネージャ
20…クライアント計算機
21…APIクライアント
22…AWTサーバ
Claims (2)
- 複数のアプリケーションプログラムを記憶した記憶手段とこれら複数のアプリケーションプログラムを実行する機能を持つアプリケーションサーバとを持つサーバ計算機において、
前記アプリケーションサーバは、
クライアント計算機から出力された前記記憶手段に記憶されたアプリケーションの起動要求を受け付ける起動受付手段と、
この起動受付手段で受け付けた前記起動要求されたアプリケーションを前記記憶手段から読み出し、この読み出したアプリケーションプログラムに基づいてスレッドを作成することによりアプリケーションを生成するアプリケーションロード手段と、
このアプリケーションロード手段により生成されたアプリケーションによって使用されるアプリケーション毎のリソース及び複数のアプリケーション間で共有するリソースを管理するリソースマネージャを有する前記クライアント計算機にGUIを表示するための命令を送信する機能を持つGUIライブラリとを具備し、
複数のアプリケーションを単一プロセス内で実行することを特徴とするサーバ計算機。 - 請求項1に記載のサーバ計算機において、
前記リソースマネージャは、前記生成されたアプリケーション内にアプリケーション固有オブジェクトが存在する場合、オブジェクト生成時に当該固有オブジェクト内に前記リソースへの直接参照データを保持させ、この固有オブジェクトが参照データのもとに前記リソースを直接検索可能にしたことを特徴とするサーバ計算機。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001091216A JP3884239B2 (ja) | 2001-03-27 | 2001-03-27 | サーバ計算機 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2001091216A JP3884239B2 (ja) | 2001-03-27 | 2001-03-27 | サーバ計算機 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2002287986A JP2002287986A (ja) | 2002-10-04 |
JP3884239B2 true JP3884239B2 (ja) | 2007-02-21 |
Family
ID=18945881
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2001091216A Expired - Lifetime JP3884239B2 (ja) | 2001-03-27 | 2001-03-27 | サーバ計算機 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3884239B2 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100426221C (zh) * | 2003-11-24 | 2008-10-15 | 佛山市顺德区顺达电脑厂有限公司 | 图形化资源管理系统及其方法 |
JP2007536634A (ja) * | 2004-05-04 | 2007-12-13 | フィッシャー−ローズマウント・システムズ・インコーポレーテッド | プロセス制御システムのためのサービス指向型アーキテクチャ |
JP2006126982A (ja) * | 2004-10-27 | 2006-05-18 | Nextech Corp | データ処理システム |
-
2001
- 2001-03-27 JP JP2001091216A patent/JP3884239B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JP2002287986A (ja) | 2002-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6976262B1 (en) | Web-based enterprise management with multiple repository capability | |
US8495131B2 (en) | Method, system, and program for managing locks enabling access to a shared resource | |
US7246167B2 (en) | Communication multiplexor using listener process to detect newly active client connections and passes to dispatcher processes for handling the connections | |
US7062516B2 (en) | Methods, systems, and articles of manufacture for implementing a runtime logging service storage infrastructure | |
US6237005B1 (en) | Web server mechanism for processing multiple transactions in an interpreted language execution environment | |
KR100934336B1 (ko) | 장치 리소스를 위한 실체-기반 분산 컴퓨팅 | |
CA2637749C (en) | Method, system, and program product for deploying a platform dependent application in a grid environment | |
US5687372A (en) | Customer information control system and method in a loosely coupled parallel processing environment | |
US6615230B2 (en) | Data access right management apparatus in a data-independent computer system | |
KR20080106908A (ko) | 하드웨어 장치와 같은 자원을 소유하는 가상 컴퓨터를 이동시키기 위해 이용될 수 있는 컴퓨팅 시스템 및 방법 | |
JPH08272724A (ja) | クライアント/サーバ接続方法 | |
US10725890B1 (en) | Program testing service | |
JPH07105027A (ja) | 複数のタスクを実行するためのコンピュータ・システムおよび方法 | |
CN103946799A (zh) | 基于应用程序对其他应用程序的依赖性对其自动执行操作 | |
US20230214251A1 (en) | Instance creation method, device, and system | |
US7130982B2 (en) | Logical memory tags for redirected DMA operations | |
JP2001290665A (ja) | プロセッサシステム | |
WO2007123025A1 (ja) | 組込機器による外部との通信を代行サーバにより制御させる技術 | |
JP3884239B2 (ja) | サーバ計算機 | |
EP1061445A2 (en) | Web-based enterprise management with transport neutral client interface | |
US20210067599A1 (en) | Cloud resource marketplace | |
CN113485830A (zh) | 一种电网监控系统微服务自动扩容方法 | |
US20080229315A1 (en) | Distributed processing program, system, and method | |
JP2006268123A (ja) | 情報共有装置 | |
US20240078050A1 (en) | Container Data Sharing Via External Memory Device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040915 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20060613 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20060814 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20061114 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20061116 |
|
R151 | Written notification of patent or utility model registration |
Ref document number: 3884239 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R151 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101124 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20101124 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111124 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121124 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131124 Year of fee payment: 7 |
|
EXPY | Cancellation because of completion of term |