JPH10510377A - Computer controlled system - Google Patents

Computer controlled system

Info

Publication number
JPH10510377A
JPH10510377A JP8517544A JP51754496A JPH10510377A JP H10510377 A JPH10510377 A JP H10510377A JP 8517544 A JP8517544 A JP 8517544A JP 51754496 A JP51754496 A JP 51754496A JP H10510377 A JPH10510377 A JP H10510377A
Authority
JP
Japan
Prior art keywords
processing
type
instance
distribution unit
logical
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
JP8517544A
Other languages
Japanese (ja)
Inventor
グスタブ スベンソン,ラルス
ウルリク イエンセン,ラルス
− ロスト,アンナ ナエミィ インゲボルグ ホルテ
ミカエル サミュエルソン,ボ
Original Assignee
テレフオンアクチーボラゲツト エル エム エリクソン(パブル)
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 テレフオンアクチーボラゲツト エル エム エリクソン(パブル) filed Critical テレフオンアクチーボラゲツト エル エム エリクソン(パブル)
Publication of JPH10510377A publication Critical patent/JPH10510377A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • 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
    • 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/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Abstract

(57)【要約】 コンピュータ制御されたシステムが処理アーキテクチャを含む。この処理アーキテクチャは、相互に作用し合い、制御システムと作用し合い、このアーキテクチャ外の世界と作用し合う協同処理として実行されるアプリケーションプログラムを提供する。処理実例(送り手、P1、P2、P3)は分配ユニット(A−F、R、S)によって制御システムプロセッサ(CP1、CP2、CP3)に跨って分配される。 (57) Abstract: A computer controlled system includes a processing architecture. The processing architecture provides application programs that operate as cooperative processes that interact with each other, interact with control systems, and interact with the world outside this architecture. The processing examples (senders, P1, P2, P3) are distributed by the distribution units (AF, R, S) across the control system processors (CP1, CP2, CP3).

Description

【発明の詳細な説明】 コンピュータ制御されたシステム発明の技術分野 本発明は、概略的に言って、例えば電気通信ネットワークにおけるネットワー ク要素に含まれる種類のコンピュータ制御されたシステムに関する。 電気通信ネットワークは、ネットワーク要素、即ち、ネットワークユーザにネ ットワークサービスを提供するのに協力し合うシステムで構成される。1ネット ワーク要素によってサポートされる多数の異なるサービスは、そのネットワーク 要素内のコンピュータシステムによって記憶され処理されるソフトウェアによっ て大部分は認識される。そのコンピュータシステムは、ネットワークとサービス に関連するデータを記憶し、サービスを制御し、宅内施設装置や他のネットワー ク要素と相互に作用し、局所伝送・交換ハードウェアを制御する。 物理的装置の観点からそのコンピュータシステムを見ると、そのコンピュータ システムハードウェアは、主に、多数の異なる装置組立品の間に分割された、多 数の通信的に連結され協力し合うプロセッサと大容量記憶装置から構成される。関連技術の説明 欧州特許405,829は、そのソフトウェアがオブジェクトの形式の独立したソフ トウェア成分により実行される電気通信システムに関する。ランタイムシステム 中の機能ランタイムリンカは、それらオブジェクトを記録し、それらオブジェク トのデータへのデータポインタを記憶する。他のオブジェクトと通信するため、 供給元オブジェクトがそのランタイムシステムにメッセージを送る。そのメッセ ージは供給先オブジェクトの方法の名称と識別とを含む。 そのランタイムシステムは単一プロセッサにのみ働くか、あるいは、オブジェ クト群に働き、もしその供給先オブジェクトがランタイムシステムによりサーブ されたオブジェクト群に属するならば、方法の識別とデータポインタとによりそ の供給先オブジェクトを呼び出す。供給先オブジェクトが他のあるプロセッサ上 に位置している場合には、そのランタイムシステムは他の複数のプロセッサにそ のメッセージを同報する。メッセージを受け取る各プロセッサにおいて、ランタ イムシステムはそのリンカテーブルからそのメッセージの供給先オブジェクトの 記号名を検索し、見つかれば、メッセージ中の方法識別とランタイムリンカ中の データポインタ情報とに基づいて供給先オブジェクトを呼び出す。プロセッサ間 メッセージは供給元プロセッサ供給先を含み、各プロセッサのランタイムシステ ムは、プロセッサ間メッセージを受け取ったとき、供給元プロセッサの名称と供 給元オブジェクトの記号名を記憶する。 米国特許4,901,231には、複数のプロセッサにわたって実行するマルチプロセ ッサシステムが記載されている。1プロセッサにおけるユーザ処理は、他のプロ セッサ中のシステムリソースにアクセスすることができる。あるユーザ処理が局 所ファイルにアクセスするとき、そのアクセスは、例えば、ユーザファイルテー ブルによってなされる。そのユーザ処理が遠隔ファイルにアクセスするときには 、ポートテーブルを経てそのポートテーブルにより識別された仮想チャンネルを 越えて部分処理へアクセスがなされた後に、その部分処理のユーザファイルテー ブルとシステムファイルテーブルとを経てアクセスがなされる。 米国特許5,187,790は、少なくとも1個のサーバ処理と複数個のクライアント 処理を含む複数個の一斉稼働処理を行うコンピュータシステムに関する。各処理 はオブジェクトアクセス権を示す識別リストを有する。各オブジェクトは、その オブジェクトにアクセスしうるプロセッサを決定するために使用される識別を持 つアクセス判別リストを有する。概要 いずれのコンピュータ制御されたシステムも、少なくとも1個のプロセッサ上 で実行する制御プログラムを有する。今日、アプリケーション開発が容易である こと、システムが非常に高い有用性を有すること、その容量等をアップグレード するのが容易であること、というようなシステムに対する多数の要求が存在する 。そのような要求に応じる方法は、システムを、アプリケーション領域の問題の みをアプリケーションプログラマに残しつつ大部分の共通問題点に気を付けるよ うになっている制御システムプラットホーム上でアプリケーションをプログラム する重層アーキテクチャで設計することである。 そのようなアーキテクチャでは、アプリケーションプログラムは多くのオペレ ーティングシステムソフトウェアと共に協同処理として実行される。 複数のプロセッサをその処理アーキテクチャ中に適応させるのは、少々厄介で ある。プロセッサを単にリソース提供者と見なすと、オペレーティングシステム はアプリケーションプログラムから個々のプロセッサが見えないようにしてあた かも1つの大きなプロセッサというイメージを与えることが求められる。一方、 異なるプロセッサ、即ち、システムを外界に繋ぐハードウェア装置を制御する、 それら自身の特性と特別な能力を持つ異なるプロセッサが存在するということは 、アプリケーションプログラムを異なる処理へモデリングするために最も重要な 条件である。プロセッサを扱う際に、プロセッサにより提供されるリソースをで きるだけ効率良く利用する様にシステムを構築することが、また、必要である。 しかしながら、これは、制御システムが個々のプロセッサをアプリケーションプ ログラマからできるだけ見えないようにすることを止めさせるようなことがあっ てはいけない。 それゆえ、プログラマの観点からは、制御システムが、プロセッサに実行・メ モリリソースと、 −持続的なデータ記憶のためのデータベース、 −管理されたオブジェクトを実行するためのフレームワーク、 −タイマのような正常オペレーティングシステムサービスと時計、 −アプリケーションプログラムの管理、 −開始と再開手続きの制御、エラー回復、等 というような異なるサービスとを手渡す均質なプラットホームとして見られると いうことが望ましい。 本発明によるコンピュータ制御されたシステムは、上記データベースの異なる 部分を取扱う多数の制御システムプロセッサからなる制御システムプラットホー ムと、プロセッサにより提供されるリソースを管理して制御システムにより提供 される抽象概念を実行するオペレーティングシステムと、処理リソースの表現と から構成される処理アーキテクチャを含む。その処理アーキテクチャは、相互に 作用し、かつ、制御システムやこのアーキテクチャ外の世界と作用し合う協同処 理として実行されるアプリケーションプログラムを提供する。処理リソース表現 の実例は、それぞれが処理例の群を形成する分配ユニットにより制御システムプ ロセッサ全体に分配される。これら分配ユニットは、特定の分配ユニットタイプ に属し、各分配ユニットタイプはそのタイプの分配ユニットに共通な性質を示す 。 ここで処理とは1個の独立した実行ユニットを意味し、システム中の他のプロ セッサが同時に何をしているかには拘わらずそのユニットがプログラムコードを 実行するということを意味する。各処理はそれ自身の私的な状態を持つ。すなわ ち、1つの処理は他の処理に属するデータ上で直接働くことはできない。 1つの処理は、その処理タイプの実例を形成する特定のタイプのものでありう る。その処理タイプはその処理がどの機能を持つかを決定する。異なるタイプの 処理は異なることを行い、一方、同じタイプの実例は同じことを行うが異なるデ ータ上または異なるハードウェアユニット上で稼働する。 処理実例は、プログラムコードを実行する物理処理実例と、抽象概念の形の論 理処理実例とを含むことができる。あるシステム中のこの種の論理処理実例は、 そのシステム中に存在している処理タイプとそれらの性質によって決定され、ハ ードウェア装置の意味ではそのシステムの構成によって決定される。 分配ユニットは、論理処理実例と物理処理実例の両方をグループ分けすること ができる。実例と分配ユニットとの関係が論理実例で表現されるから論理実例は グループ分けされ、またある分配ユニットがあるプロセッサに割り当てられてい るときその分配ユニットに関連する全ての物理処理実例がその特別なプロセッサ 上で作られるから物理実例はグループ分けされる。 さらに、処理は中央処理タイプを含み、各処理タイプに対して1つの論理処理 実例が存在する。また、キーによって識別される実例を持つ処理タイプであるこ とができ、各キー値に対して1つの論理処理実例が存在する。異なる処理タイプ はそれら各キー上で異なるタイプを持つことができ、こうして、異なる数の論理 処理実例を持つことができる。そのシステム自身中のソフトウェアによってイン ストールされた実例を持つ処理実例は、この処理タイプとともに密接に発展した データベースオブジェクトタイプを持つことができる。そのデータベースオブジ ェクトタイプの1つの実例は、1つの論理処理実例に相当する。 分配ユニットと今述べた種類の処理実例との関係は、処理タイプに対して次の ように表現できる。中央処理タイプでは、それは些細なことである。なぜなら、 たった1つの論理実例があるだけだからであり、その結果、たった1つの分配ユ ニットが存在できるだけだからである。その実例がキーによって識別される処理 タイプでは、その数の分配ユニットが処理仕様とともに1つの定数として特定さ れ、その関係は各キー値を分配ユニットの1つの上にマップするプログラムされ たアルゴリズムとして表現される。実例がそのシステム自身中のソフトウェアに よってインストールされた処理タイプでは、データベースオブジェクト間の関係 によって表現されるように処理実例は分配ユニットにおいてグループ分けされる 。 処理は、さらに、制御システムが各論理実例に対して1つの物理実例が常にあ ることを確かめる静的処理タイプと、ある他の処理がそれと通信したいときに物 理実例がつくられることを制御システムが単に確かめる動的処理タイプとを含む ことができる。 さらなる処理タイプには、2つの実例が協同するが、1つのシステム中の他の 処理への1つの処理として働くときあるシステム活性の間を除いて各論理実例に 対して1つの物理実例が存在する一意処理タイプと、1つの論理実例に対してい くつかの物理実例が存在するかもしれない複製処理タイプとがある。 一意処理では1つの分配ユニットが1つの信号プロセッサに一意的に割り当て られ、複製処理タイプでは1つの分配ユニットがいくつかのプロセッサ上で複製 されうる。 いくつかの処理タイプは、また、そのようなタイプがある共通種類のものであ るなら、同じ分配ユニットタイプを共有することを許される。そのような種類は 、中央静的一意処理タイプと、キーによる動的一意処理タイプと、中央静的複製 処理タイプと、中央動的複製処理タイプと、インストールされた静的一意処理タ イプとを含む。 キーによる動的一意処理タイプの実例と、その処理実例と同じ1次キーを持つ データベースオブジェクト実例とは、必要に応じて、対応するキーを持つそのよ うなデータベースオブジェクトの1次複製を保持する同じプロセッサ上でそのよ うな処理実例を実行するのを強要するために、同じ分配ユニットタイプを参照す るようにされるのが好ましい。図面の簡単な説明 次に添付図面を参照して本発明の実施例を説明する。 第1図は電気通信ネットワークを概略的に示し、 第2図は、例えば、第1図に示す種類のネットワーク要素のソフトウェア構造 を概略的に示す図であり、 第3図は第2図によるネットワーク要素に含まれる制御システムプラットホー ムの構造を概略的に示す図であり、 第4図−第8図は異なる種類の処理タイプを示すためのプロセッサプールの概 略図であり、 第9図はネットワーク要素の概略ハードウェア図であり、 第10図は第9図によるネットワーク要素の概略管理図であり、 第11図は第9図によるネットワーク要素の概略リソース図であり、 第12図は第9図によるネットワーク要素に含まれる制御プロセッサ上での実 行が意図された処理実例の分配を概略的に示し、 第13図と第14図はある制御プロセッサ中の処理実例の、他の制御プロセッ サに位置する処理実例からのアドレッシングを示し、 第13図はそれに含まれる分配ユニットを持つ3つのプロセッサの概略図であ り、そして、 第14図は検索過程を示すフロー図である。実施例の詳細な説明 第1図は基本TMNシナリオによる電気通信ネットワークを概略的に示す。1 02で示すネットワークは、ネットワークユーザにネットワークサービスを供給 するように協同して働くネットワーク要素104からなる。1つのネットワーク 要素によってサポートされる多数の異なるサービスは、大部分は、そのネットワ ーク要素内のコンピュータシステムによって記憶され処理されるソフトウェアに よって実現される。そのコンピュータシステムは、ネットワークとサービスに関 連するデータを記憶し、サービスを制御し、電話加入者装置106と108によ って示される宅内施設装置や他のネットワーク要素と相互作用/通信し、局所伝 送や交換ハードウェアを制御する。局所ネットワーク要素116の管理のための オペレーションシステム114と同様、そのネットワークのためのオペレーショ ンシステムは110と112で示す。 そのコンピュータシステムを物理装置の観点から見ると、そのコンピュータシ ステムハードウェアは、主に、多数の異なる装置組立品間で分割された、多数の 通信的に連結され協力し合うプロセッサと大容量記憶装置とを含む。 いずれのコンピュータ制御されたシステムも、少なくとも1つのプロセッサ上 で実行する制御プログラムを有する。今日、アプリケーション開発が容易である べきだとか、システムが非常に高い有用性を持つべきだとか、その容量等をアッ プグレードするのが容易であるべきだ、とか言われるようなシステムに対する多 数の要求が存在している。そのような要求に応じる方法は、システムを、アプリ ケーション領域の問題のみをアプリケーションプログラマに残しつつ大部分の共 通問題点に気を付けるようになっている制御システムプラットホーム上でアプリ ケーションをプログラムする重層アーキテクチャで設計することである。 そのようなアーキテクチャでは、アプリケーションプログラムや、オペレーテ ィングシステムソフトウェアの大部分は、相互に作用し、制御システムと作用し 、ハードウェア装置を介してシステムの外界と作用し合いながら処理で実行され るコードからなる。これは、ネットワーク要素202におけるソフトウェア実行 環境の論理図である第2図に概略的に示されている。そのネットワーク要素20 2は、ライン204、例えば、入力ハードウェア装置206において終わる加入 者ラインを、例えば、加入者ラインの接続用ライン回路の形で受け取るように示 されている。出力ハードウェア装置は208で示している。多数の伝送チャンネ ルからなる幹線210は、ハードウェア装置208を経由してネットワーク要素 202を出る。212では、スイッチが示されている。ネットワーク要素202 中のソフトウェアシステムは破線により定義されるブロック214によって示さ れている。ブロック214はブロック216によって示される制御システムプラ ットホームと、218、220、222で示される相互に影響し合う処理とを含 むように示されている。一例として、処理218は矢印224で示されるライン 回路206の1つを制御し、処理222は矢印226で示されるライン回路20 8 の1つを制御することが考えられる。処理220は、スイッチ212に向かう矢 印228によって示されるように、これら2つのライン回路間の直通接続を制御 する。 第3図を参照すれば、制御システムプラットホーム214は実行・メモリリソ ースを提供する多数の制御プロセッサ302と、プロセッサ302によって提供 されるリソースを管理し制御システムによって提供される抽象概念を実行するオ ペレーティングシステムソフトウェア304とから構成できる。306には、処 理が共通リソースとして示されている。 これ以降では、オペレーティングシステムについて話すときには、第3図に示 す種類のオペレーティングシステムを参照し、「当該オペレーティングシステム 」と呼ぶこととする。処理は、その処理タイプの実例を形成する特定のタイプの ものでありうる。その処理タイプはその処理がどんな機能を持つかを決定する。 同じタイプの実例が同じことを行うが異なるデータ上または異なるハードウェア ユニット上で動作しているあいだ、異なるタイプの処理は異なることを行う。 処理実例を、その処理概念の異なる様相を表現するために、論理または物理処 理実例として特徴付けることができる。1つの論理処理実例はその処理自体以外 の特定の実体、例えば、「機能」、ライン回路、加入者等、に関連する。1つの 物理処理実例は、1つの論理実例を代表し、メモリ中に1つの状態を持ち、プロ グラムコードを実行する。 用語「論理処理実例」は1つの抽象概念である。1つのシステム中のこの種の 論理処理実例はそのシステム中に存在する処理タイプとそれらの性質とによって 決定され、ハードウェア装置の観点ではそのシステムの構成によって決定される 。それは、そのシステムの実行状態に関わらない一定の条件の問題である。1つ の物理実例は1つの論理実例の「物質化」であるが、どの物理実例が1つのシス テム中にあるかはどの論理実例があるかだけでなく現在のランタイム状況にも依 存する。時間上では、異なる物理実例は同じ論理実例を代表することができ、そ して、ある性質を持つ処理タイプに対しては、いくつかの物理実例が同時に同じ 論理実例を代表することさえあるかもしれない。 1つの処理タイプは、また、静的であることもできるし動的であることもでき る。静的処理については、制御システムは各論理実例に対して1つの物理実例が 常に存在することを確かめる。動的処理については、制御システムはある他の処 理がそれと通信しようとしているときに1つの物理実例が作成されることを確か めるだけである。 さらにその上、1つの処理タイプは「中央」タイプであることができる。この 中央タイプの処理については、各処理タイプに対して正確に1つの論理処理実例 が存在する。 別のタイプの処理は1つのキーによって識別される実例を有する。この処理タ イプについては、各キー値に対して1つの論理処理実例が存在する。異なる処理 タイプはそれら各キー上で異なるタイプを持つことができ、こうして、異なる数 の論理処理実例を持つことができる。キーにより、かつ、動的である一種の処理 タイプについては、データベースと処理の「コアロケーション(共割当)」も存 在できる。「コアロケーション(共割当)」の概念は次の背景を持つ。 あるデータベースオブジェクトが更新されるとき、その実例を含むデータベー スオブジェクト分配ユニットのある形式の複製中の写しを全て更新しなければな らない。これは、情報をいくつかの制御プロセッサに転送しなければならないこ とを意味する。しかしながら、更新を行う処理実例が同じ制御プロセッサ上でデ ータベース分配ユニット複製の1つとして実行するならば、その情報転送は最小 化される。 ある処理実例がキー付き処理タイプであり、同じ1次キーを持つあるデータベ ースオブジェクト実例をその処理実例として頻繁に更新するならば、処理タイプ とデータベースオブジェクトタイプの両方から同じ分配ユニットタイプを参照し て1次複製を保持する制御プロセッサ上で常に実行するように強制できる。この コアロケーション(共割当)は、それらタイプが同じキータイプを共有すること と、その処理タイプがキー付きで動的な種類のものであることを要求する。 さらに別の処理タイプはデータベースオブジェクトに関連する実例を持つこと ができる。その実例が制御プロセッサ自身のソフトウェアによってインストール される処理タイプについては、その処理タイプとともに密接に展開されるデータ ベースオブジェクトタイプがこうして存在する。そのとき、そのデータベースオ ブジェクトタイプの1つの実例は、1つの論理処理実例に対応する。 最後に、1つの処理タイプは一意的であることができるし、または、複製され た実例を持つこともできる。2つの実例が協力し合っているがそのシステム中の 他の処理に対して1つの処理として働いている場合、そのタイプが「一意的」性 質を持つときにはあるシステム活性の間以外は各論理実例に対してたかだか1つ の物理実例があるだけである。そのタイプが「複製された」性質を持つときには 、各論理実例に対して同時にいくつかの不等位の物理実例が存在するかもしれな い。この性質は「中央」性質と結合できるだけである。静的なそのような処理タ イプについては、多数のプロセッサの各々の上で1つの物理実例が作成されるこ とを意味する。動的なそのようなタイプについては、その論理実例がアドレス指 定される毎に1つの新しい物理実例が作成されるということを意味する。 1つの処理が別のプロセッサ上で遠隔操作を行おうとしているとき、特別な論 理処理実例または特別な物理処理実例のどちらかを識別することによって他の処 理をアドレス指定する。 論理処理実例を識別することが可能であるためには、その処理タイプおよび異 なる実例間の相違、あるタイプのキー値、またはデータベースオブジェクトの参 照を知ることが必要である。1つのタイプの処理は特別な他のタイプの処理と協 力し合うように設計されているので、これはそう問題とはならない。しかしなが ら、「未知」の論理実例を包括的な論理実例識別子を通じて、例えば、データベ ースからそのような識別子を検索することによって識別することも可能である。 その後、この識別子は、識別する実例の知識を有するある他の処理から書き込ま れることとなる。 物理処理実例を識別するために、包括的な物理処理識別子に対してデータタイ プが存在する。これら識別子または処理実例参照は、その物理実例が存在してい る間は有効であり、その物理実例自身がデータベース中に記憶したり遠隔操作を 通じて他のプロセッサに送ったりすることによってその参照を利用可能にするな らば、他のプロセッサによって利用することができる。 「中央」処理実例またはキーで識別される実例は、別のネットワーク要素中の ある処理からアドレス指定できる。それから、その別のネットワーク要素は、ア ドレス指定された処理を実行するネットワーク要素を識別するネットワークアド レスを供給しなければならない。デフォルトでは、同じネットワーク要素中の処 理のみがアドレス指定できる。データベースオブジェクトによって識別された処 理実例は、1つのネットワーク要素内でのみアドレス指定できる。 上記検討した処理タイプの性質は、処理タイプ仕様中の設計言語で特定されね ばならない。こうして、この仕様は以下を特定する。 −タイプ名 −静的か動的かということ −1次キーのタイプ −実例を複製できるか否か −1次キーを持つタイプについて、分配限界または分配ユニット仕様へ の参照 −インストールされるタイプについて、分配ユニット仕様への参照 3つの異なる処理タイプを特定する処理タイプ仕様の例は以下に与えられる。 PROCESS TYPE ResouceHandler IS STATIC; END PROCESS TYPE ResourceHandler; PROCESS TYPE TrafficControl IS DYNAMIC; PRIMARY KEY key: SubscriberNumber; DISTRIBUTION LIMIT 1000; END PROCESS TYPE TrafficControl; PROCESS TYPE LIC_Handler IS STATIC; PRIMARY KEY key: REFERENCE TO LIC_Data; DISTRIBUTED AS LIC_Board; END PROCESS TYPE LIC_Handler; 1つの物理処理実例は常に1つの、そして唯一のプロセッサ上で実行される。 1つの実例を作成する際には、その制御システムはその実例をどのプロセッサ上 で作成すべきかということを、プロセッサを均等に利用するような方法で決定し なければならない。その制御システムは、また、遠隔操作等を適切な処理実例に 向けるためその作成された実例に注意を払わねばならない。処理ベースで処理の 上にこれを行うことは不可能であろう。あまりにも多くの実例があるからである 。 上記問題は、処理実例群を同じプロセッサ上に保つように使用する分配ユニッ トによって解決される。分配ユニットは、論理と物理両方の処理実例をグループ 分けする。実例と分配ユニットとの間の関係は論理実例で表現されるから分配ユ ニットは論理実例をグループ分けし、また一方で、ある分配ユニットがあるプロ セッサに割当てられているとき実際に起こるのはその分配ユニットに関連する全 ての物理処理実例がその特別なプロセッサ上で作成されるということであるから 、分配ユニットはまた物理実例をもグループ分けする。 分配ユニットと処理実例との関係を表現する方法は処理タイプの性質に依存す る。 −中央処理タイプについては、わずかである。1つの論理実例が存在す るだけであるから、1つの分配ユニットが存在できるだけである。 −その実例がキーによって識別される処理タイプについては、分配ユニ ットの数が処理仕様とともに定数として特定されなければならないし 、その関係は各キー値をそれら分配ユニットの1つの上にマップする プログラムされたアルゴリズムとして表現される。 −実例がインストールされる処理タイプについては、分配ユニットは同 様にインストールされ、処理実例と分配ユニット実例との関係はイン ストール中に設定される。 分配ユニットがいくつかのプロセッサ上で複製されるか否かは、分配ユニット がグループ分けする処理の性質に依存する。一意的処理については、1つの分配 ユニットがまた一意的に1つの単一のプロセッサに割当てられる。一方、複製さ れた処理タイプについては、1つの分配ユニットがいくつかのプロセッサ上で複 製されうる。 当該オペレーティングシステム上のアプリケーションは、コードを実行する多 数の協力し合う処理から構成され、処理のメモリ中に1つの状態を持ち、持続的 にデータベースにデータを記憶する。1つの処理実例は1つの制御プロセッサ上 のみで実行されるが、その制御プロセッサに関係なく他の処理と通信できる。 機能性を達成するには、当該オペレーティングシステム上のアプリケーション の設計者は、装置プロセッサを含むハードウェア装置をそこで動かそうとする際 、物理的制限以外の如何なる分配様相についても考える必要はない。プロセッサ 間の通信は、当該オペレーティングシステムによって透過的に運転される。 アプリケーション設計者は、処理構造とデータベース使用法を設計するときと ソフトウェアの構成に関してネットワーク技術者に指示を与えるときの両方に良 い特性を得るためハードウェア分配を考慮しなければならない。異なるサブネッ ト中の制御プロセッサの機能の協同操作は、情報をいくつかの通信チャンネルに 跨って流さなければならないので、勿論、サブネット内や1つの制御プロセッサ 内の協同操作より高価で時間がかかる。 当該オペレーティングシステムは、どの制御プロセッサ上で処理実例を捜すべ きかを知ることによって、処理間通信とデータベース操作とを適切な制御プロセ ッサに向けながらアプリケーションプログラムからは見えないようにする上記で 参照した分配透過性を具現する。 上記で指摘したように、当該オペレーティングシステムがもしそれぞれの単一 処理実例が割当てられた場所を実際に見失わないようにしたならば、大きなオー バヘッドになろう。そのオーバヘッドは上記分配ユニット概念を通して削減され る。このアプローチによる有利さは、当該オペレーティングシステムが必要なの は著しく少ない数の分配ユニットを見失わないということだけである。 1つの分配ユニットは特定の分配ユニットタイプのものである。1つの分配ユ ニットタイプは、そのタイプの分配ユニットの共通性質、即ち、処理実例のタイ プと共割当てされたデータベースオブジェクト実例のタイプ、もしあるならば、 そのグループと少しばかりの他の特性、多くの場合、システムに存在するタイプ の分配ユニットの正確な数を表す。 いかに分配ユニットが複数の制御プロセッサに跨って分配されているかという ことは、分配ユニットタイプを制御プロセッサの分配プールに割り当てるという 観点でシステムを構築するときに述べられる。その分配プールは制御プロセッサ の理論的に任意なグループ分けである。1つの分配プール中には任意の数の制御 プロセッサが存在していても良いし、1つの制御プロセッサが任意の数のプール の部分であっても良い。 各分配ユニットタイプについては、対応する仕様でなければならず、その仕様 においては、分配ユニットタイプの性質は処理タイプ仕様と同様の設計言語で明 示されねばならない。この仕様は以下を特定する。 −タイプ名 −処理実例のタイプ −共割当てされたデータベースオブジェクト実例のタイプ −そのタイプの分配ユニットの数 3つの異なる分配ユニットタイプの例は以下に与えられる。 中央処理タイプ: DISTRIBUTION UNIT TYPE Central_DUT IS PROCESS TYPE Central _PT; END; キー付きの処理タイプ: DISTRIBUTION UNIT TYPE Keyed_DUT IS PRIMARY KEY key: KeyType; DISTRIBUTION LIMIT 100; PROCESS TYPE Keyed _PT: END; 共割当てされたデータベースと処理 DISTRIBUTION UNIT TYPE Coallocated_DUT IS PRIMARY KEY key: KeyType; DISTRIBUTION LIMIT 100; PROCESS TYPE Coallocated _PT; OBJECT TYPE Coallocated_OT; END; 上記仕様と共存する仕様 PROCESS TYPE Central_PT IS STATIC; DISTRIBUTED AS Central DUT; END; PROCESS TYPE Keyed_PT IS DYNAMIC; PRIMARY KEY key: KeyType; DISTRIBUTED AS Keyed _DUT; END; PROCESS TYPE Coallocated_PT IS DYNAMIC; PRIMARY KEY key: KeyType; DISTRIBUTED AS Coallocated _DUT; END; OBJECT TYPE Coallocated _OT IS PRIMARY KEY key: KeyType; DISTRIBUTED AS Coallocated _DUT; END; タイプが同じ種類のものであるなら、同じ分配ユニットタイプを共有するいく つかの処理タイプがあっても良い。各種類の処理タイプについては、1つの分配 ユニットタイプの1つの分配プールへの割当は、わずかに異なることを意味する 。このことは、前に述べた処理タイプの種類に関して第4図−第8図を参照して より詳しく述べる。 中央、静的かつ一意処理タイプである第1の種類を第4図に示す。第4図は、 1つの分配プールに属する3つの制御プロセッサ402、404、406を概略 的に示す。このタイプについては、たった1つの処理実例408があり、それゆ え、たった1つの分配ユニット410がある。当該オペレーティングシステムは そのプール中の制御プロセッサの1つ、即ち、図示の例ではプロセッサ404を 選ぶ。そのプロセッサには分配ユニット410が割り当てられ、そのプロセッサ 上で処理実例408が実行される。そのプロセッサ404が誤動作すると、当該 オペレーティングシステムは別の制御プロセッサ、即ち、例ではプロセッサ40 2、406の1つをプールから選び、そのプロセッサ上で処理を再開する。 キー付き、動的かつ一意の処理タイプである第2の種類を第5図に示す。第5 図は、1つの分配プールに属する3つのプロセッサ502、504、506を概 略的に示す。プロセッサ502は2つの分配ユニット508、510を含むよう に示されている。プロセッサ504は2つの分配ユニット512、514を含む ように示されている。プロセッサ506は2つの分配ユニット516、518を 含むように示されている。 分配ユニットの各々は3つの論理処理実例を含み、その実例の内あるものは物 理実例に「物質化」されていて良い。なぜなら、ある他の処理はそのサービスに 到達するためにそれと通信したがっていたからである。これは第5図に次のよう に例示されている。分配ユニット508については、3つの「純」論理実例が5 0811から50813に示されている。分配ユニット510については、2つの論 理実例が51011、51012に、1つの物理実例が510ph1にそれぞれ示され ている。分配ユニット512は、1つの論理実例51211と、2つの物理実例5 12ph1、512ph2とを含むように示されている。分配ユニット514は、2つ の論理実例51411、51412と、1つの物理実例514ph1とを含むように示 されている。分配ユニット516は、2つの論理実例51611、51612と、1 つの物理実例516ph1とを含むように示されている。分配ユニット518は、 2つの論理実例51811、51812と、1つの物理実例518ph1とを含むよう に示されている。 このタイプについては、アプリケーションプログラマは、分配ユニットの数を 固定する分配限界(この例では分配限界は6である)と、処理実例を識別するキ ーを特定の分配ユニットを識別する数に翻訳する機能とを提供しなければならな い。当該オペレーティングシステムは、第5図に示すように、そのプールにある 制御プロセッサに跨って均等に分配ユニットを広げ、もしある制御プロセッサに 事故が生じると、その制御プロセッサ上の分配ユニットをプール中の残りの制御 プロセッサに移動させ、事故の制御プロセッサが再び機能すれば元に戻す。処理 実例が動的であるから、当該オペレーティングシステムは、ある処理実例がそれ への対話を設定することによってアドレス指定されると、1つの物理実例を開始 するだけであろう。故障中の制御プロセッサ上で実行している実例は自動的には 再開されない。 中央、静的かつ複製された処理タイプである第3の種類を第6図に示す。その ような処理タイプでは、当該オペレーティングシステムが分配プール中の全ての 制御プロセッサに複製し各制御プロセッサ上で1つの処理実例を開始するであろ うたった1つの分配ユニットがある。これは第6図に示していて、その図では、 同じプールに属する3つの制御プロセッサ602、604、606がそれぞれ1 つの複製された分配ユニット608、610、612を含み、そして、その各処 理はそれぞれ614、616、618で示されている。620で示す第4のプロ セッサは他のプロセッサのプールには属さず、それゆえ、複製された分配ユニッ トを何も受け取ってはいない。 万一、制御プロセッサ602、604、606の1つが故障すると、その上で 実行中の実例は、その制御プロセッサが再び機能するまで、消えてしまう。1つ の複製された処理タイプがアドレス指定されると、送り手は特に実例の1つでは ないような複製された処理タイプを指摘することだけができる。当該オペレーテ ィングシステムは送り手に「最も近い」制御プロセッサ上の実例を選ぶ。即ち、 その制御プロセッサ上に1つ存在するならば同じ制御プロセッサ上で、さもなけ れば同じサブネット内で、またさもなければ任意の場所から選ぶ。もしいくつか の制御プロセッサが等しく「近い」ならば、当該オペレーティングシステムは無 作為に選ぶ。こうして複製された処理の実例の内部状態は互いに独立していると いうことに注目されたい。当該オペレーティングシステムはそれら状態を互いに 矛盾しないように保つことはしないであろう。 中央、動的かつ複製された処理タイプである第4の種類を第7図に示す。第7 図は、同じプールのうちの1つに属する3つの制御プロセッサ702、704、 706を示す。当該オペレーティングシステムは、その分配プール中のすべての 制御プロセッサ上で708、710、712で示される1つの単一分配ユニット を複製して、そのような処理がアドレス指定される度にプール中の制御プロセッ サの1つの上で新しい処理実例を開始する。処理実例714、716は複製され た分配ユニット708中に示され、複製された分配ユニット710は3つの処理 実例718、720、722を含むように示されている。複製された分配ユニッ ト706は単一処理実例724を含む。 選ばれる制御プロセッサは、静的かつ複製された処理タイプと同様、送ってい る処理の位置に依存する。 インストールされ、静的かつ一意の処理タイプである第5の種類を第8図に示 す。第8図は、1つのプールに属する3つの制御プロセッサ802、804、8 06を示す。制御プロセッサ804、806は1つのグループを形成する。その 分配ユニットタイプを1つの分配プールに割り当てるのは、その分配ユニットタ イプに接続されたタイプの処理実例がそのプール中の任意の制御プロセッサ上で インストールされて良いことを意味するに過ぎない。しかしながら、ランタイム 中でインストールされるまでは、分配ユニットも処理実例も存在しない。 1つの分配ユニットをインストールするには、第8図に示すように1つのプロ セッサグループを選択しなければならない。1つのプロセッサグループは構成デ ータから構築される制御プロセッサのグループである。808で示される分配ユ ニットがインストールされると、当該オペレーティングシステムは、これも分配 ユニットタイプが割り当てられた分配プールの一部である選ばれたプロセッサグ ループの中で、制御プロセッサの1つ、例ではプロセッサ804、を選ぶ。こう してインストールされた分配ユニット808内で、例として810、812で示 される処理実例はまたランタイム中で加えられる。当該オペレーティングシステ ムは、選ばれた制御プロセッサの分配ユニット中の処理実例を開始し、そして、 もし現在選ばれている制御プロセッサが故障すると他のものを選び処理をそこで 再開する。 当該オペレーティングシステムは実際の物理的制限を知らないので、適切なプ ロセッサグループを作成することはアプリケーション設計者やネットワーク技術 者にとっての事項である。 インストールされた処理実例はハードウェアリソースを示す管理されたオブジ ェクト実例に常に密接に関係し、そして、1つのハードウェアリソースが1つの システムに加えられると、通常は1つの処理実例がそのリソースを制御または運 転することが必要になる。ハードウェアリソースは、恐らく、ある方法で管理す る必要があり、それゆえ、そのリソースを表す管理されたオブジェクト実例が作 成される。処理とその分配ユニットのインストールは、それゆえ、しばしば管理 されたオブジェクトの作成と関連してなされる。そのハードウェアリソースを表 す管理されたオブジェクトと他のハードウェアリソースを表す管理されたオブジ ェクトとの関係から、選ぶべき適切なプロセッサグループが得られる。 上記と第9図−第12図とを参照して、模範的インストールの場合を説明する 。第9図はネットワーク要素のハードウェア図であり、第10図はそのネットワ ーク要素の管理図であり、第11図はそのネットワーク要素のリソース図であり 、第12図はそのネットワーク要素に含まれる制御プロセッサ上で実行しようと する処理実例の分配を概略的に示す。 プロセッサグループの目的は、ハードウェア構成における物理的制限に対処し てインストールされた処理実例が実行しようとしている制御プロセッサを抑制す ることである。第9図のネットワーク要素中、装置902、904はそれぞれブ ロックD1、D2に含まれて示されている。ブロックD1、D2はそれぞれスイ ッチ906に接続された多数の装置のそれぞれを代表するものである。装置90 2、904を含むこれら装置はその装置と同じスイッチ906に接続された制御 プロセッサ908、910から到達できるのみである。別のスイッチ912は、 それぞれブロックD3、D4に含まれるように示された2つの制御プロセッサ9 14、916と2つの装置918、920をそこへ接続している。ブロックD3 、D4は装置918、920を含んでいて、スイッチ912に接続された多数の 装置を表すようにしている。 第10図の対応管理図では、プロセッサ908、910、914、916、装 置902、918、920及び第9図に示すスイッチ906、912が第10図 の対応要素として同じ参照番号に添字MOを与えられ、管理されたオブジェクト によって表されている。同様に、第11図の対応リソース図では、第10図で管 理されたオブジェクトによって表したのと同じプロセッサ、装置、スイッチが、 第10図の対応要素と同じ参照番号に添字ROを付加したリソースオブジェクト によって表されている。 第10図は、分配プールを表す管理されたオブジェクト1002がどのように プロセッサ管理されたオブジェクト908MO、910MO、914MO、916MOを グループ分けするかを示す。その分配プールには分配ユニットタイプが割り当て られるが、それを第12図を参照して以下にさらに詳しく述べる。管理されたオ ブジェクト908MO、910MOはスイッチ管理されたオブジェクト906MOに接 続され、装置管理されたオブジェクト902MOもまたそこへ接続される。管理さ れたオブジェクト914MO、916MOはスイッチ管理されたオブジェクト912MO に接続され、装置管理されたオブジェクト918MO、920MOもまたそこへ接 続される。 第11図の対応リソース図では、第11図のリソースをそれぞれ表すリソース オブジェクトが第10図の管理されたオブジェクトと同様に組織されている。し かしながら、第11図のリソース図は、また、制御プロセッサ918、920を 1つのグループとして表すリソースオブジェクト924ROだけでなく、制御プロ セッサ908、910を1つのグループとして表すリソースオブジェクト922RO を含む。 管理されたオブジェクト1002によって表せられる分配プールには、第12 図に1202で概略的に示す分配ユニットタイプが割り当てられ、一例として、 ブロック1204から1218によって示されるこのタイプの分配ユニットを含 む。それら分配ユニットは各ブロック中4角形で示す多数の処理実例を含む。 こうして、分配ユニット1204、1206はそれぞれ装置D1を取扱い、制 御プロセッサ908上で実行するためインストールされた1つの処理実例グルー プを形成する。装置902を取扱う処理実例は1220で示している。分配ユニ ット1208、1210はそれぞれ装置D2を取扱い、制御プロセッサ910上 で実行するためインストールされた1つの処理実例グループを形成する。装置9 04を取扱うための処理実例は1222で示されている。 分配ユニット1212、1214はそれぞれ装置D3を取扱い、制御プロセッ サ914上で実行するためインストールされた1つの処理実例グループを形成す る。装置918を取扱うための処理実例は1224で示されている。分配ユニッ ト1216、1218はそれぞれ装置D4を取扱い、制御プロセッサ916上で 実行するためインストールされた1つの処理実例グループを形成する。装置92 0を取扱うための処理実例は1226で示されている。 スイッチ906または912に接続された装置を取扱う処理実例は、リソース オブジェクト922RO、924ROによってサポートされた制御プロセッサの前記 グループ分けによりそのスイッチに接続された制御プロセッサ908、910ま たは918、920上でそれぞれ実行しなければならない。こうして、もし新し い装置928がスイッチ906に追加されたならば、その新しい装置を取扱う処 理実例が同様に制御プロセッサ908、910のいずれかの上で実行するようイ ンストールされ、選択されねばならない。それゆえ、その新しい装置を表すリソ ースオブジェクト928ROがインストールされ、矢印930に示すリソースオブ ジェクト922ROに接続されねばならないし、その新しい処理実例は制御プロセ ッサ908、910上で実行しようとする1つの処理実例のグループを形成する 分配ユニットに割り当てねばならない。一例として、そういう新しい処理実例は 、プロセッサ910上で実行するためインストールされるように、例えば、第1 2図の1228で示す。 1つの制御プロセッサ中の処理実例を、別の制御プロセッサ中に位置する処理 実例からアドレス指定することを第13図、第14図を参照して記述する。 第13図は3つの制御プロセッサCP1、CP2、CP3を示す。制御プロセ ッサCP1は2つの分配ユニットA、Bを含むように示されている。制御プロセ ッサCP2は分配ユニットC、D、R、Sを含むように示されている。制御プロ セッサCP3は分配ユニットE、F、R、Sを含むように示されている。分配ユ ニットR、Sは、それらに割り当てられた複製された第3、第4の種類のいずれ かの処理実例を持つように想定される。 1つの制御プロセッサにおける1つの処理が別の制御プロセッサに位置してい ても良い別の処理上の操作を呼び出すことができるように、アドレッシング情報 が必要である。そのようなアドレッシング情報は、次のように、テーブルによっ て提供される。 各制御プロセッサは、それと関連し、すべての制御プロセッサに共通であり、 かつその制御プロセッサ上のすべての分配ユニットの分配を示す第1のテーブル と、自分自身の分配ユニットを指す第2のテーブルとを有する。プロセッサCP 1、CP2、CP3の各々について、第一のテーブルはT1で示され、第2のテ ーブルはそれぞれT2CP1、T2CP2、T2CP3で示される。図でわかるように、 第1のテーブルT1では第1列中の各行に分配ユニットを示し、第2列には第1 列中の分配ユニットが位置するプロセッサを示す。こうして、テーブルT1の行 2から、分配ユニットC、Dが制御プロセッサCP2上に位置するということが 分かる。第2テーブルT2は、各行に分配ユニットを示す第1列と、同じ行にそ の分配ユニットへのポインタを与える第2列とを有する。これは、テーブル2の 各行から対応する分配ユニットに向かう矢印から容易に分かる。各矢印は、それ が指し示す分配ユニットと同じ識別文字によって示されている。 さらにその上、各分配ユニットはその処理実例へのポインタを含む自身のテー ブルT3を有する。第13図では、このテーブルはプロセッサCP2上の分配ユ ニットDに対してだけテーブルT3Dとして示されている。図でわかるように、 分配ユニットDは3つの処理実例P1、P2、P3を含む。テーブル3は、これ らの処理実例をそれぞれ示す3行からなる第1列と、それぞれの行からの矢印が 対応する処理実例へのポインタを示す第2列とを含む。このように、分配ユニッ トR、Sに割り当てられた処理実例を識別する分配ユニットR、Sと関連する、 図面に示されないテーブルも存在する。テーブルT1、T2、T3はオペレーテ ィングシステムの一部を形成する。 次に、いくつかの模範的なアドレッシングの場合を述べる。第13図の制御プ ロセッサCP1上の分配ユニットB中の処理実例送り手は遠隔操作を制御プロセ ッサCP2に存在する処理実例の1つ、例えば、処理実例P2上、または、プロ セッサCP2、CP3中の分配ユニットR、Sのいずれかに割り当てられた処理 実例上で行うのが好ましい。第14図は、当該処理実例を見つけることができる オペレーティングシステムによって行われる検索過程を示すフロー図である。 第13図の分配ユニットBに位置し、先へ送るべき処理実例を捜している処理 実例送り手からのメッセージがそのフロー図の開始点1402に現れる。その検 索はテーブルT1によりステップ1404から開始される。検索すべき処理実例 が分配ユニットDに位置する処理実例P2であるならば、テーブルT1の行2は この分配ユニットがプロセッサCP2上で見付かるということを明らかにする。 これによれば、ステップ1406は処理実例が自身のプロセッサ上の分配ユニッ トに位置することができるという場合を消去する。もし検索すべき処理実例が複 製されるタイプのものであるならば、テーブルT1はプロセッサCP2、CP3 上で見つかるということを最終行で明らかにする。 ステップ1408では、その処理実例が複製されるか否かを決定する。もし複 製されるならば、オペレーティングシステムはステップ1410で制御プロセッ サCP1、CP2のうちの、送り処理の送り手に「最も近い」もの、または、第 3、第4の種類の処理について前に述べたようにそれらが等しく「近い」ならば 任意のものを選ぶ。もし複製されないなら、ステップ1410は素通りする。 検索する処理実例がP2なら、ステップ1412はメッセージをステップ14 14に送る。ステップ1414でプロセッサCP2に関連するテーブルT2CP2 は行2で分配ユニットDへのポインタを識別する。ステップ1416はメッセー ジをステップ1418に送る。ステップ1418で、テーブルT3Dは行2で処 理実例P2へのポインタを識別する。 ステップ1420では、処理実例が動的か静的かを決定する。もし動的なら、 ステップ1422は処理実例がキー付きか複製されるかを決定する。もしキー付 きなら、その処理タイプがキー付き、動的かつ一意的であると決定する。ステッ プ1424では、「開始?」と訊いて、その論理実例が物理実例へと物質化され たか否かを決定する。もし否なら、ステップ1426でその処理実例を開始し、 メッセージをステップ1428で先に送る。もし物理実例なら、矢印1430に より示すようにフローを続けてメッセージをステップ1428へ送る。 静的処理実例の疑いがあるということがステップ1420で分かったなら、フ ローはステップ1422、1424、1426を素通りして矢印1432によっ て示されるようにステップ1428へと続く。 もしステップ1422での答えが「複製される」であるならば、これは中央、 動的かつ複製されるタイプの実例であるということ、および新しい物理タイプが 物質化されねばならないということを意味する。それゆえ、フローはステップ1 424を素通りして矢印1434によりステップ1426へと続く、即ち、オペ レーティングシステムはアドレス指定された処理実例を開始する。DETAILED DESCRIPTION OF THE INVENTION                     Computer controlled systemTECHNICAL FIELD OF THE INVENTION   The invention generally relates to networks, for example in telecommunications networks. Computer-controlled systems of the type included in the network element.   Telecommunications networks are network elements, that is, network users. It consists of systems that cooperate to provide network services. 1 net Many different services supported by a work element By software stored and processed by the computer system within the element Most are recognized. The computer system has network and services To store data related to the facility, control services, and provide premises equipment and other Interacts with network elements to control local transmission and switching hardware.   Looking at the computer system from a physical device perspective, the computer The system hardware is mainly divided between many different equipment assemblies, many It comprises a number of communicatively linked and cooperating processors and a mass storage device.Description of related technology   European Patent 405,829 states that the software is independent software in the form of objects. Telecommunications system implemented by hardware components. Runtime system The function runtime linker inside records those objects and The data pointer to the data of the default is stored. To communicate with other objects, The supplier object sends a message to its runtime system. The messe The page contains the name and identification of the method of the destination object.   The run-time system only works on a single processor, or Work on a set of objects, and if their destination object is served by the runtime system If the object belongs to the specified group of objects, it is identified by the method identification and the data pointer. Call the supply destination object of. The destination object is on some other processor If it is, the run-time system is Broadcast the message. For each processor receiving the message, The IM system uses the linker table to determine the object to which the message Searches for the symbol name, and if found, identifies the method in the message and the runtime linker The destination object is called based on the data pointer information. Between processors The message includes the source processor destination and the runtime system of each processor. When the system receives the interprocessor message, it provides the name of the The symbol name of the payer object is stored.   U.S. Pat.No. 4,901,231 discloses a multiprocessor that runs across multiple processors. A power supply system is described. User processing in one processor is Can access system resources in the processor. A user process is a station When accessing a location file, the access is, for example, Made by Bull. When the user process accesses a remote file Via the port table to the virtual channel identified by that port table. After the partial process has been accessed, the user file Access is made via the table and the system file table.   U.S. Pat. No. 5,187,790 discloses at least one server process and multiple clients. The present invention relates to a computer system that performs a plurality of simultaneous operation processes including a process. Each process Has an identification list indicating object access rights. Each object has its Contains an identifier used to determine which processors can access the object. One access determination list.Overview   Any computer controlled system must have at least one processor And a control program to be executed. Today, application development is easy That the system has very high availability, upgrades its capacity, etc. There are many demands on the system, such as being easy to do . A way to meet such demands is to bring the system to the problem of application space. Be aware of most common issues while leaving only the application programmer Program applications on a running control system platform Is to design with a multi-layer architecture.   In such an architecture, application programs are It is performed as a cooperative process with the operating system software.   Adapting multiple processors into their processing architecture is a bit tricky. is there. Considering a processor simply as a resource provider, the operating system Keeps individual processors invisible from application programs. It is required to give the image of a single large processor. on the other hand, Controlling different processors, ie hardware devices that connect the system to the outside world, The fact that there are different processors with their own characteristics and special capabilities The most important for modeling application programs into different processes Condition. When working with processors, the resources provided by the processor It is also necessary to build a system so that it can be used as efficiently as possible. However, this means that the control system can use There are things that stop you from making it as invisible as possible must not.   Therefore, from a programmer's point of view, the control system can Moly resource,       A database for persistent data storage,       A framework for executing managed objects,       -Normal operating system services such as timers and clocks,       -Management of application programs,       -Control of start and restart procedures, error recovery, etc. Is seen as a homogeneous platform to hand over different services such as It is desirable to say.   The computer controlled system according to the present invention has a different database Control system platform consisting of a number of control system processors that handle parts And resources provided by the processor and provided by the control system Operating system that implements the abstraction that is And a processing architecture composed of Its processing architecture is mutually Co-operation that works and interacts with control systems and the world outside this architecture Provide an application program to be executed as a management program. Processing resource representation Examples of control systems are distributed by distribution units, each forming a group of processing examples. Distributed throughout the processor. These dispensing units have a specific dispensing unit type , And each distribution unit type has properties common to that type of distribution unit .   Here, a process means one independent execution unit, and other processes in the system. Regardless of what Sessa is doing at the same time, the unit It means to execute. Each transaction has its own private state. Sand That is, one process cannot work directly on data belonging to another process.   One process may be of a particular type that forms an illustration of that process type. You. The processing type determines which function the processing has. Different types Processing does different things, while instances of the same type do the same but different data. Data or on different hardware units.   Processing examples are the physical processing examples that execute program code and the theory of abstract concepts. Processing examples. An example of this kind of logical processing in a system is Determined by the type of processing present in the system and their nature, In the sense of a hardware device, it is determined by the configuration of the system.   The distribution unit shall group both logical and physical processing instances. Can be. Since the relationship between the instance and the distribution unit is represented by a logical instance, the logical instance is Grouped and certain distribution units are assigned to a processor All physical processing instances associated with the distribution unit are Physical instances are grouped because they are made above.   In addition, the processing includes a central processing type, one logical processing for each processing type Examples exist. Also, the processing type must have an instance identified by the key. And there is one logical processing instance for each key value. Different processing types Can have different types on each of these keys, and thus a different number of logical Can have processing examples. The software in the system itself Process instances with stalled instances have evolved closely with this process type Can have a database object type. The database object One instance of an object type corresponds to one logical processing instance.   The relationship between a dispensing unit and a processing instance of the type just described is as follows for the processing type: Can be expressed as follows. In the central processing type, it is trivial. Because There is only one logical instance, and as a result, only one distribution unit This is because there is only a knit. The process whose instance is identified by the key In the type, the number of distribution units is specified as one constant together with the processing specifications. And the relationship is programmed to map each key value onto one of the distribution units. Expressed as an algorithm. Examples are the software in the system itself Thus, in the installed process type, the relationship between database objects Processing instances are grouped in distribution units as represented by .   The process furthermore is that the control system always has one physical instance for each logical instance. Static process type to make sure that some other process wants to communicate with it. Includes dynamic processing types where the control system simply verifies that an illustration is created be able to.   A further processing type is where two instances cooperate, while other instances in one system Each logical instance except during certain system activities when acting as one process to process For one unique instance, one physical instance exists, and for one logical instance, There are replication processing types for which there may be several physical instances.   In unique processing, one distribution unit is uniquely assigned to one signal processor In the replication type, one distribution unit is replicated on several processors. Can be done.   Some processing types are also common types where there are such types. If allowed, they are allowed to share the same distribution unit type. Such kind is , Central static unique processing type, dynamic unique by key processing type, and central static replication The processing type, the central dynamic replication processing type, and the installed static unique processing Including Ip.   It has an example of a dynamic unique processing type by key and the same primary key as the processing example A database object instance is one that has a corresponding key, if necessary. On the same processor that holds a primary copy of such a database object. Refer to the same dispensing unit type to force the execution of such processing instances. It is preferred that this is done.BRIEF DESCRIPTION OF THE FIGURES   Next, embodiments of the present invention will be described with reference to the accompanying drawings.   FIG. 1 schematically shows a telecommunications network,   FIG. 2 shows, for example, the software structure of a network element of the type shown in FIG. FIG.   FIG. 3 shows a control system platform included in the network element according to FIG. FIG.   FIG. 4 to FIG. 8 show an outline of a processor pool for showing different types of processing types. Is a schematic diagram,   FIG. 9 is a schematic hardware diagram of a network element,   FIG. 10 is a schematic management diagram of the network elements according to FIG. 9;   FIG. 11 is a schematic resource diagram of the network element according to FIG. 9;   FIG. 12 shows an implementation on a control processor included in the network element according to FIG. The line schematically shows the distribution of the intended processing instance,   13 and 14 show examples of processing in one control processor and other control processors. Addressing from a processing instance located in   FIG. 13 is a schematic diagram of three processors with distribution units included therein. And   FIG. 14 is a flowchart showing a search process.Detailed description of the embodiment   FIG. 1 schematically shows a telecommunications network according to the basic TMN scenario. 1 Network 02 provides network services to network users Consists of network elements 104 that work together to do so. One network The large number of different services supported by an element are largely Software stored and processed by the computer system within the network element This is achieved. The computer system is connected to networks and services. The associated data is stored and services are controlled by the telephone subscriber units 106 and 108. Interact / communicate with the premises equipment and other network elements indicated Control the forwarding and switching hardware. For the management of the local network element 116 As with the operation system 114, the operation for the network The control system is indicated by 110 and 112.   Viewing the computer system from a physical device perspective, the computer system The system hardware is mainly divided between a number of different equipment assemblies, A communicatively coupled and cooperating processor and mass storage device.   Any computer controlled system on at least one processor And a control program to be executed. Today, application development is easy The system should be very useful, and its capacity, etc. Many systems are said to be easy to upgrade. There are a number of requests. A way to meet such demands is to configure the system Most of the common areas are left to the application programmer, leaving only the application area issues. Application on a control system platform that is aware of common issues Designing with a multi-tier architecture that programs applications.   In such an architecture, application programs and operating Most of the operating system software interacts and interacts with the control system. Is executed in the process while interacting with the outside world of the system through the hardware device. Code. This is the software execution on the network element 202 This is shown schematically in FIG. 2, which is a logic diagram of the environment. Its network element 20 2 is a subscription that terminates on line 204, eg, input hardware device 206 To receive the subscriber line, for example, in the form of a line circuit for connecting the subscriber line. Have been. The output hardware device is shown at 208. Multiple transmission channels The main line 210 is a network element via the hardware device 208. Exit 202 At 212, a switch is shown. Network element 202 The software system inside is indicated by block 214 defined by the dashed line Have been. Block 214 is the control system plug-in represented by block 216. Platform and interacting processes represented by 218, 220, 222. It is shown as follows. By way of example, operation 218 may include a line indicated by arrow 224 The circuit 222 controls one of the circuits 206 and the process 222 8 May be controlled. The process 220 includes an arrow pointing to the switch 212. Controls the direct connection between these two line circuits, as indicated by mark 228 I do.   Referring to FIG. 3, the control system platform 214 has an execution and memory resource. Multiple control processors 302 that provide Resources that manage the resources being implemented and implement the abstractions provided by the control system. And the operating system software 304. 306 Management is shown as a common resource.   From now on, when talking about the operating system, Refer to the operating system type for the ". A process is a specific type of process that forms an illustration of that process type. Can be something. The processing type determines what function the processing has. Examples of the same type do the same thing but on different data or different hardware While operating on a unit, different types of processing do different things.   Processing instances may be described in terms of logical or physical processing to represent different aspects of the processing concept. It can be characterized as an illustration. One logical processing example is other than the processing itself Associated with a particular entity, eg, "function", line circuit, subscriber, etc. One A physical processing instance represents one logical instance, has one state in memory, Execute the gram code.   The term "logical processing instance" is an abstraction. This kind of system in one The logical processing example depends on the processing types existing in the system and their properties. Determined by the configuration of the system in terms of hardware devices . It is a matter of certain conditions regardless of the running state of the system. One Are physical instances of one logical instance, but which physical instance is Not only depends on which logical instance is present, but also on the current runtime situation. Exist. In time, different physical instances can represent the same logical instance, Therefore, for a process type with a certain property, several physical instances It may even represent a logical instance.   One processing type can also be static or dynamic You. For static processing, the control system has one physical instance for each logical instance. Make sure it always exists. For dynamic processing, the control system may use some other processing. Make sure that one physical instance is created when It just hurts.   Still further, one processing type can be a "central" type. this For central type processing, exactly one logical processing example for each processing type Exists.   Another type of process has an instance identified by one key. This processing For Ip, there is one logical processing instance for each key value. Different treatment Types can have different types on each of them, thus different numbers Logical processing examples. A kind of processing that is key and dynamic For types, there is also a “core location (co-allocation)” for database and processing. Can be. The concept of “core location (co-allocation)” has the following background.   When a database object is updated, the database containing the instance is All duplicating copies of certain types of object distribution units must be updated. No. This means that information must be transferred to several control processors. Means However, the updating process is not performed on the same control processor. If implemented as one of the database distribution unit replicas, its information transfer is minimal. Be transformed into   One processing example is a keyed processing type, and a database with the same primary key. If you frequently update a source object instance as its instance, Reference the same distribution unit type from both Can be forced to always run on the control processor holding the primary copy. this Core location (co-assignment) means that the types share the same key type And that the processing type is a keyed and dynamic type.   Yet another processing type has instances associated with database objects Can be. Examples are installed by the control processor's own software For the type of processing that is performed, the data that is closely expanded with that processing type The base object type thus exists. At that time, the database One instance of the object type corresponds to one logical processing instance.   Finally, one processing type can be unique or duplicated You can also have real examples. Two instances cooperate, but in the system If it is acting as one process with respect to other processes, its type is "unique" At most one for each logical instance except during certain system activities when having quality There are only physical instances of When the type has a "replicated" property There may be several unequal physical instances for each logical instance at the same time. No. This property can only be combined with the "central" property. Static such processing For IP, one physical instance is created on each of a number of processors. Means For such dynamic types, the logical instance is the address pointer. It means that one new physical instance is created each time it is defined.   Special considerations when one process is trying to perform a remote operation on another processor Other processes by identifying either a physical processing instance or a special physical processing instance. Address the address.   To be able to identify a logical processing instance, its processing type and different Differences between different instances, certain types of key values, or references to database objects. It is necessary to know the illumination. One type of process works in conjunction with another special type of process. This is not a problem, as they are designed to work together. However The “unknown” logical instance is identified through a comprehensive logical instance identifier, such as a database. It can also be identified by searching for such an identifier from the source. This identifier is then written from some other process that has knowledge of the instance to identify It will be.   To identify the physics instance, use a data type against the generic physics identifier. Exists. These identifiers or process instance references indicate that the physical instance exists. The physical instance itself is stored in a database or remotely controlled. Do not make the reference available to other processors If available, it can be used by other processors.   The "central" processing instance or the instance identified by the key is located in another network element. Address can be specified from a certain process. Then, the other network element Network address that identifies the network element that performs the addressed operation Must be supplied. By default, operations in the same network element Only addresses can be addressed. The process identified by the database object An illustration can only be addressed within one network element.   The nature of the processing type considered above should not be specified in the design language in the processing type specification. Must. Thus, this specification specifies:         -Type name         -Static or dynamic         Primary key type         -Whether the examples can be duplicated;         For types with a primary key, go to the distribution limit or distribution unit specification           Reference         -A reference to the distribution unit specification for the type to be installed   An example of a process type specification that specifies three different process types is given below.         PROCESS TYPE ResouceHandler IS           STATIC;         END PROCESS TYPE ResourceHandler;         PROCESS TYPE TrafficControl IS           DYNAMIC;           PRIMARY KEY key: SubscriberNumber;           DISTRIBUTION LIMIT 1000;         END PROCESS TYPE TrafficControl;         PROCESS TYPE LIC_Handler IS           STATIC;           PRIMARY KEY key: REFERENCE TO LIC_Data;           DISTRIBUTED AS LIC_Board;         END PROCESS TYPE LIC_Handler;   One physics instance is always executed on one and only one processor. When creating a single instance, the control system will load the instance on any processor. Should be created in a way that evenly uses the processor. There must be. The control system also makes remote operations etc. appropriate processing examples. Attention must be paid to the created instance to direct it. Processing on a processing basis It would not be possible to do this above. Because there are too many examples .   The above problem is due to the distribution unit used to keep the processing instances on the same processor. Solved by Distribution units group both logical and physical processing instances. Divide. Since the relationship between the instance and the distribution unit is represented by a logical instance, the distribution unit Units group logical instances while a distribution unit has a professional What actually happens when assigned to a sessa is all that is associated with that distribution unit. Because all physical processing instances are created on that particular processor. , The distribution unit also groups physical instances.   How to express the relationship between the distribution unit and the processing instance depends on the nature of the processing type You.         -For central processing type, slight. There is one logical instance           Only one distribution unit exists.         -For processing types whose instances are identified by keys, the distribution unit           The number of bits must be specified as a constant with the processing specification.           , The relationship maps each key value onto one of those distribution units           Expressed as a programmed algorithm.         -For the type of process in which the instance is installed, the distribution unit is           The relationship between the processing example and the distribution unit example is           Set during stall.   Whether the distribution unit is replicated on some processors depends on the distribution unit Depends on the nature of the processing for grouping. One distribution for unique processing Units are also uniquely assigned to one single processor. Meanwhile, duplicated For a given processing type, one distribution unit may be duplicated on several processors. Can be manufactured.   Applications on the operating system often execute code. Consisting of a number of cooperating processes, with one state in the memory of the process, persistent The data is stored in a database. One processing example is on one control processor It is executed only by itself, but can communicate with other processes regardless of its control processor.   To achieve functionality, the application on the operating system Designers try to run hardware devices, including device processors, there. You do not need to consider any distribution aspects other than physical limitations. Processor Communication between them is driven transparently by the operating system.   Application designers need to design processing structures and database usage. Good for both giving instructions to network technicians regarding software configuration Hardware distribution must be considered in order to obtain good characteristics. Different subnets The co-operation of the functions of the control processor during the transfer of information to several communication channels Of course, it has to flow over, so of course, within a subnet or one control processor Expensive and time-consuming than cooperative operation within   The operating system should search for processing instances on which control processor. By knowing the key, the inter-process communication and database operation can be controlled properly. To make it invisible to application programs while pointing to Implement the referenced distribution permeability.   As noted above, if the operating system If the processing instance did not actually lose track of the assigned location, Become Bahead. The overhead is reduced through the distribution unit concept above You. The advantage of this approach is that the operating system is required. Only keeps track of a significantly smaller number of distribution units.   One distribution unit is of a particular distribution unit type. One distribution unit The knit type is a common property of that type of dispensing unit, The type of database object instance co-assigned with the group, if any The group and a few other characteristics, often the types present in the system Represents the exact number of distribution units.   How distribution units are distributed across multiple control processors This means that the distribution unit type is assigned to the distribution pool of the control processor. It is stated when building a system from a viewpoint. The distribution pool is the control processor Is a theoretically arbitrary grouping. Any number of controls in one distribution pool Processors may be present, and one control processor may be an arbitrary number of pools. Part.   Each distribution unit type must have corresponding specifications, In, the nature of the distribution unit type is specified in the same design language as the processing type specification. Must be shown. This specification specifies:         -Type name         -Type of processing instance         -Types of co-assigned database object instances         The number of distribution units of that type;   Examples of three different dispensing unit types are given below.     Central processing type:         DISTRIBUTION UNIT TYPE Central_DUT IS            PROCESS TYPE Central _PT;         END;     Processing type with key:         DISTRIBUTION UNIT TYPE Keyed_DUT IS            PRIMARY KEY key: KeyType;            DISTRIBUTION LIMIT 100;            PROCESS TYPE Keyed _PT:         END;     Co-assigned database and processing         DISTRIBUTION UNIT TYPE Coallocated_DUT IS            PRIMARY KEY key: KeyType;            DISTRIBUTION LIMIT 100;            PROCESS TYPE Coallocated _PT;            OBJECT TYPE Coallocated_OT;         END;     Specifications that coexist with the above specifications         PROCESS TYPE Central_PT IS            STATIC;            DISTRIBUTED AS Central DUT;         END;         PROCESS TYPE Keyed_PT IS            DYNAMIC;            PRIMARY KEY key: KeyType;            DISTRIBUTED AS Keyed _DUT;         END;         PROCESS TYPE Coallocated_PT IS            DYNAMIC;            PRIMARY KEY key: KeyType;            DISTRIBUTED AS Coallocated _DUT;         END;         OBJECT TYPE Coallocated_OT IS            PRIMARY KEY key: KeyType;            DISTRIBUTED AS Coallocated _DUT;         END;   If the types are of the same kind, share the same distribution unit type There may be several processing types. One distribution for each type of treatment Assigning a unit type to one distribution pool means slightly different . This is illustrated with reference to FIGS. 4-8 for the types of processing types described above. I will describe in more detail.   FIG. 4 shows a first type which is a central, static and unique processing type. FIG. Schematic diagram of three control processors 402, 404, 406 belonging to one distribution pool Is shown. There is only one processing instance 408 for this type, For example, there is only one distribution unit 410. The operating system is One of the control processors in the pool, processor 404 in the illustrated example, Choose. The processor is assigned a distribution unit 410 and the processor Above, processing example 408 is performed. If the processor 404 malfunctions, The operating system is a separate control processor, processor 40 in the example. One of 2,406 is selected from the pool and processing resumes on that processor.   FIG. 5 shows a second type of keyed, dynamic and unique processing type. Fifth The figure shows three processors 502, 504, 506 belonging to one distribution pool. Shown schematically. Processor 502 includes two distribution units 508, 510 Is shown in Processor 504 includes two distribution units 512, 514 As shown. Processor 506 includes two distribution units 516, 518 It is shown to include.   Each of the distribution units contains three logical processing instances, some of which are It may be "materialized" in a practical example. Because some other processing is Because he wanted to communicate with it to get to it. This is shown in FIG. Is exemplified. For the distribution unit 508, three "pure" logical instances are 5 0811From 50813Is shown in There are two arguments for the distribution unit 510. The theoretical example is 51011, 51012One physical instance is 510ph1Shown respectively ing. The distribution unit 512 has one logical instance 512.11And two physical examples 5 12ph1, 512ph2And is included. Two distribution units 514 Logical example 514 of11, 51412And one physical instance 514ph1Shown to include Have been. The distribution unit 516 comprises two logical instances 51611, 51612And 1 Physical instances 516ph1And is included. The distribution unit 518 includes Two logical instances 51811, 51812And one physical instance 518ph1And include Is shown in   For this type, the application programmer specifies the number of distribution units. A fixed distribution limit (the distribution limit is 6 in this example) and a key to identify the processing instance. Function to translate the data into numbers that identify a particular distribution unit. No. The operating system is in its pool, as shown in FIG. Evenly distribute the distribution unit across control processors, and If an accident occurs, the distribution unit on that control processor will be Move to processor and restore if accident control processor works again. processing Because the instances are dynamic, the operating system may not be able to Start one physical instance when addressed by setting up a dialog to Would just do it. The instance running on the failed control processor is automatically Not resumed.   A third type of central, static and duplicated processing type is shown in FIG. That In such a processing type, the operating system will Duplicate to the control processors and start one processing instance on each control processor There is only one distribution unit. This is shown in FIG. 6, where Three control processors 602, 604, and 606 belonging to the same pool are each 1 Including two replicated distribution units 608, 610, 612, and The logic is shown at 614, 616, and 618, respectively. The fourth professional indicated by 620 Sessa does not belong to the pool of other processors and, therefore, replicated distribution units. Haven't received anything.   Should one of the control processors 602, 604, 606 fail, The running instance disappears until the control processor functions again. One The sender, especially in one of the examples, is It can only point out duplicated processing types that are not. The operator The routing system selects the instance on the control processor "closest" to the sender. That is, If there is one on that control processor, on the same control processor, otherwise Choose within the same subnet, otherwise from anywhere. If some If all control processors are equally "close", the operating system is Choose for your work. It is assumed that the internal states of the instances of the process thus duplicated are independent of each other. Please pay attention to this. The operating system reports these states to each other. We will not keep it consistent.   A fourth type, a central, dynamic and replicated processing type, is shown in FIG. Seventh The figure shows three control processors 702, 704, belonging to one of the same pools, 706 is shown. The operating system is responsible for all operating systems in its distribution pool. One single dispensing unit designated 708, 710, 712 on the control processor Control process in the pool each time such processing is addressed. Start a new processing instance on one of the servers. Processing examples 714 and 716 are duplicated The replicated distribution unit 710, shown in the distributed unit 708, Illustrated to include instances 718, 720, 722. Duplicated distribution unit 706 includes a single processing instance 724.   The control processor chosen is the sending, as well as the static and duplicated processing types. Depends on the position of the process.   Figure 5 shows the fifth type of installed, static and unique processing type. You. FIG. 8 shows three control processors 802, 804, 8 belonging to one pool. 06 is shown. The control processors 804, 806 form a group. That Assigning a distribution unit type to one distribution pool is based on its distribution unit type. A processing instance of the type connected to the Ip is executed on any control processor in the pool. It just means that it can be installed. However, runtime Until installed in, there is no distribution unit or processing instance.   To install one distribution unit, as shown in FIG. You must choose a Sessa group. One processor group is configured Group of control processors built from data. Distribution unit 808 When the unit is installed, the operating system also distributes it. The selected processor group whose unit type is part of the assigned distribution pool In the loop, one of the control processors, processor 804 in the example, is chosen. like this Installed in the distribution unit 808, for example as shown at 810, 812 The processing instance performed is also added at runtime. The operating system The system starts the processing instance in the distribution unit of the selected control processor, and If the currently selected control processor fails, it will choose another and proceed To resume.   Since the operating system does not know the actual physical limitations, Creating a processor group is an application designer or network technology It is a matter for the person.   Installed process instances are managed objects that represent hardware resources. Project hardware is always closely related to the When added to a system, typically one processing instance controls or operates its resources. Need to be turned over. Hardware resources are probably managed in some way. Need to create a managed object instance that represents the resource. Is done. Installation of the treatment and its distribution unit is therefore often controlled Done in connection with the creation of the created object. Displays the hardware resources Managed objects that represent managed objects and other hardware resources From the relationship with the project, an appropriate processor group to be selected is obtained.   An exemplary installation will be described with reference to the above and FIGS. 9 to 12. . FIG. 9 is a hardware diagram of a network element, and FIG. FIG. 11 is a resource diagram of the network element. , FIG. 12 attempts to execute on a control processor contained in the network element. 1 schematically illustrates the distribution of the processing instances to be performed.   The purpose of the processor group is to address physical limitations in the hardware configuration The control processor that the installed process instance is trying to execute Is Rukoto. In the network elements of FIG. 9, devices 902 and 904 are It is shown included in locks D1 and D2. Blocks D1 and D2 are Each of the devices connected to the switch 906 is representative. Device 90 2, 904 are connected to the same switch 906 as the device. It can only be reached from the processors 908, 910. Another switch 912 is Two control processors 9 shown respectively to be included in blocks D3, D4 14, 916 and two devices 918, 920 are connected thereto. Block D3 , D4 include devices 918, 920 and a number of devices connected to switch 912. It represents the device.   In the correspondence control diagram of FIG. 10, the processors 908, 910, 914, 916, The switches 902, 918, 920 and the switches 906, 912 shown in FIG. Object with the same reference number as the corresponding element of Is represented by Similarly, in the corresponding resource diagram of FIG. The same processors, devices, and switches represented by the managed objects Resource object with the same reference number as the corresponding element in FIG. Is represented by   FIG. 10 shows how a managed object 1002 representing a distribution pool Processor-managed object 908MO, 910MO, 914MO, 916MOTo Indicates whether to group. The distribution pool is assigned a distribution unit type Which will be described in more detail below with reference to FIG. Managed Project 908MO, 910MOIs a switch-managed object 906MOContact Connected, device-managed object 902MOIs also connected there. Managed Object 914MO, 916MOIs the switch managed object 912MO Connected to and device-managed object 918MO, 920MOAlso there Continued.   In the corresponding resource diagram of FIG. 11, the resources respectively representing the resources of FIG. The objects are organized similarly to the managed objects in FIG. I However, the resource diagram of FIG. 11 also describes the control processors 918, 920. Resource object 924 represented as one groupROAs well as control pro Resource objects 922 that represent the processors 908 and 910 as one groupRO including.   The distribution pool represented by the managed object 1002 has a twelfth The figure is assigned a distribution unit type schematically indicated at 1202, as an example: This type of distribution unit, represented by blocks 1204 to 1218, is included. No. The distribution units include a number of processing instances, indicated by rectangles in each block.   Thus, the distribution units 1204, 1206 each handle the device D1 and control it. One processing instance group installed for execution on the control processor 908 Form a loop. A processing example for handling the device 902 is indicated by reference numeral 1220. Distribution uni Units 1208 and 1210 handle device D2, respectively, on control processor 910. Form one process instance group installed for execution in. Device 9 A processing example for handling 04 is shown at 1222.   Each of the distribution units 1212 and 1214 handles the device D3 and controls the control processor. Form one process instance group installed for execution on server 914 You. An example process for handling device 918 is shown at 1224. Distribution unit 1216 and 1218 each handle device D4 and on control processor 916 Form one process instance group installed for execution. Device 92 A processing example for handling 0 is shown at 1226.   An example of a process for handling a device connected to the switch 906 or 912 is a resource. Object 922RO, 924ROOf the control processor supported by the Control processors 908 and 910 connected to the switch by grouping Or 918, 920 respectively. Thus, if new If a new device 928 is added to switch 906, The example is likewise executed on one of the control processors 908, 910. Must be installed and selected. Therefore, the litho representing the new device Source object 928ROIs installed and the resource object indicated by the arrow 930 is displayed. JECT 922ROMust be connected to a new processing instance. Form one group of processing instances to be executed on the processors 908, 910 Must be assigned to a distribution unit. As an example, such a new processing example is , To be installed for execution on the processor 910, for example, the first This is shown at 1228 in FIG.   A processing instance located in one control processor, with the processing instance in one control processor located in another control processor. Specifying an address from an actual example will be described with reference to FIGS. 13 and 14.   FIG. 13 shows three control processors CP1, CP2 and CP3. Control process The cup CP1 is shown to include two distribution units A and B. Control process The cup CP2 is shown to include distribution units C, D, R, S. Control pro Sessor CP3 is shown to include distribution units E, F, R, S. Distribution The knits R and S are of any of the third and fourth types assigned to them. It is assumed to have such a processing example.   One process in one control processor is located in another control processor Addressing information so that you may be able to invoke another processing operation is required. Such addressing information is stored in a table as follows: Provided.   Each control processor is associated with it and is common to all control processors, And a first table indicating the distribution of all distribution units on the control processor And a second table pointing to its own distribution unit. Processor CP For each of CP1, CP2 and CP3, the first table is denoted by T1 and the second table Tables are each T2CP1, T2CP2, T2CP3Indicated by As you can see in the figure, In the first table T1, distribution units are shown in each row in the first column, and the first column is shown in the second column. Shows the processor where the distribution unit in the row is located. Thus, the row of table T1 2, that the distribution units C and D are located on the control processor CP2. I understand. The second table T2 has the first column indicating the distribution unit in each row and the first column indicating the distribution unit in the same row. And a second column providing pointers to the distribution units. This is This is easily seen from the arrows from each row to the corresponding distribution unit. Each arrow, it Are indicated by the same identification characters as the distribution unit to which they point.   Furthermore, each distribution unit has its own data containing pointers to its processing instances. Bull T3. In FIG. 13, this table is stored in the distribution unit on the processor CP2. Table T3 only for knit DDIt is shown as As you can see in the figure, The distribution unit D includes three processing instances P1, P2, P3. Table 3 shows this The first column consisting of three rows and the arrows from each row show the processing examples. And a second column indicating a pointer to a corresponding processing instance. Thus, the distribution unit Associated with the distribution unit R, S, which identifies the processing instance assigned to R, S, Some tables are not shown in the drawings. Tables T1, T2 and T3 are operating Form part of the operating system.   Next, some exemplary addressing cases are described. The control program shown in FIG. Processing example in the distribution unit B on the processor CP1 One of the processing instances existing in the processor CP2, for example, on the processing instance P2 or Processing assigned to any of the distribution units R and S in the processors CP2 and CP3 It is preferably performed on an illustrative example. In FIG. 14, the processing example can be found. FIG. 5 is a flowchart showing a search process performed by the operating system.   A process that is located in the distribution unit B in FIG. 13 and is searching for a process example to be forwarded A message from the example sender appears at the start 1402 of the flow diagram. The inspection The search is started from step 1404 by table T1. Process example to search Is processing instance P2 located in distribution unit D, then row 2 of table T1 It makes clear that this distribution unit is found on the processor CP2. According to this, step 1406 determines that the processing instance is a distribution unit on its own processor. Delete the case where it can be located in the If the processing example to be searched If it is of the type to be manufactured, table T1 contains processors CP2, CP3 Clarify what you can find on the last line.   In step 1408, it is determined whether the processing instance is duplicated. If If so, the operating system proceeds to step 1410 with the control processor. Out of CP1 and CP2, the one closest to the sender of the sending process, or the 3. If they are equally "close" as described above for the fourth type of processing, Choose any one. If not, step 1410 is bypassed.   If the processing example to be searched is P2, step 1412 Send to 14. At step 1414, a table T2 related to the processor CP2CP2 Identifies the pointer to distribution unit D in row 2. Step 1416 is a message To step 1418. At step 1418, the table T3DIs in line 2 Identify a pointer to logical example P2.   In step 1420, it is determined whether the processing instance is dynamic or static. If dynamic Step 1422 determines whether the processing instance is keyed or duplicated. With key If so, determine that the processing type is keyed, dynamic and unique. Step Step 1424 asks “Start?” And the logical instance is materialized into a physical instance. Is determined. If not, the process starts at step 1426, The message is sent first in step 1428. If it is a physical example, the arrow 1430 Continue the flow and send the message to step 1428 as shown.   If it is determined in step 1420 that there is a suspicion of a static processing example, Row passes through steps 1422, 1424, and 1426 and is indicated by arrow 1432. And continues to step 1428 as shown.   If the answer at step 1422 is "replicated", this is the center, That the type is dynamic and replicated, and that the new physical type It means that it must be materialized. Therefore, the flow is step 1 424 is followed by arrow 1434 to step 1426, ie, operation The rating system initiates the addressed processing instance.

───────────────────────────────────────────────────── フロントページの続き (72)発明者 ホルテ − ロスト,アンナ ナエミィ インゲボルグ スウェーデン国 エス − 124 72 バ ンドハーゲン,グランスハムマルスガタン 213 (72)発明者 サミュエルソン,ボ ミカエル スウェーデン国 エス − 113 26 ス トックホルム,フレイユガタン 42────────────────────────────────────────────────── ─── Continuation of front page    (72) Inventor Holte-Lost, Anna Naemi             Ingeborg             Sweden S-124 72 Ba             Ndhagen, Glansham Marsgatan               213 (72) Inventors Samuelson, Bomikael             Sweden S-113 26 S             Tokholm, Freiyugatan 42

Claims (1)

【特許請求の範囲】 1.データベースの異なる部分を取扱うための多数の制御システムプロセッサ からなる制御システムプラットホームと、該プロセッサにより提供されるリソー スを管理しその制御システムにより提供される抽象概念を履行するオペレーティ ングシステムと、処理リソースの表現とから構成される処理アーキテクチャを含 むコンピュータ制御されたシステムであって、 前記処理アーキテクチャは、相互に作用し合い、前記制御システムと作用し合 い、このアーキテクチャ外の世界と作用し合う協同処理として実行されるアプリ ケーションプログラムを提供し、 処理リソース表現の実例が分配ユニットにより前記多数の制御システムプロセ ッサに跨って分配され、各分配ユニットはそれぞれ1つの処理実例グループを形 成し、 前記分配ユニットは特定の分配ユニットタイプに属し、各分配ユニットタイプ はそのタイプである各分配ユニットに共通な性質を表す、 ようにしたコンピュータ制御されたシステム。 2.前記処理実例が プログラムコードを実行する物理処理実例と、 抽象概念の形式の論理処理実例であって、1システム中の論理処理実例の種類 は該システムに存在する処理タイプと、それらの性質と、ハードウェア装置の観 点での該システムの構成とによって決定される論理処理実例と、 を含む請求項1に記載のシステム。 3.分配ユニットが論理処理実例と物理処理実例との両方をグループ分けし、 実例と分配ユニットとの関係が論理実例の意味で表現される故に論理実例をグル ープ分けし、また、1つの分配ユニットが1つのプロセッサに割当てられている ときその分配ユニットに関連するすべての物理処理実例が特定のプロセッサ上で 作成される故に物理実例をグループ分けする、請求項2に記載のシステム。 4.前記プロセッサは 各処理タイプに対して1つの論理処理実例が存在する中央処理タイプと、 各キー値に対して1つの論理処理実例が存在し、異なる処理タイプがそれら各 キー上で異なるタイプを持つことができ、それゆえに異なる数の論理処理実例を 持つことができる、1つのキーにより識別される実例を持つ処理タイプと、 前記システム自身中のソフトウェアによってインストールされる実例を持つ処 理タイプであって、該処理タイプとともに密接に展開されるデータベースオブジ ェクトタイプが存在し、該データベースオブジェクトタイプの実例は一つの論理 処理実例に対応する、処理タイプと、 を含む請求項1−3のうちのいずれか1つに記載のシステム。 5.各処理タイプに対して、分配ユニットと処理実例との関係が、 中央処理タイプに対しては、わずかであり、ただ1つの論理実例が存在するゆ えにただ1つの分配ユニットが存在することができ、 その実例がキーにより識別される処理タイプに対しては、分配ユニットの数が 処理仕様とともに定数として特定され、その関係が各キー値を分配ユニットの1 つの中へマップするプログラムされたアルゴリズムとして表現され、 その実例がシステム自身の中にあるソフトウェアによってインストールされる 処理タイプに対しては、処理実例がデータベースオブジェクト間の関係により表 現されるように分配ユニット中でグループ分けされる、 というように表現される請求項4に記載のシステム。 6.前記処理が 各論理実例に対して常に1つの物理実例が存在することを制御システムが確実 にする静的処理タイプと、 ある他の処理がそれと通信しようとしているときただ1つの物理実例が作成さ れることを制御システムが確実にする、動的処理タイプと、 を含む請求項1−5のいずれか1つに記載のシステム。 7.前記処理が 2つの実例が協同するが1つのシステム中の他の処理に1つの処理として働く ときあるシステム活性の間以外は各論理実例に対して1つの物理実例が存在する 、一意的処理タイプと、 1つの論理実例に対していくつかの物理実例が存在しうる、複製される処理タ イプと、 を含む請求項1−6のいずれか1つに記載のシステム。 8.一意的処理に対して、1つの分配ユニットが単一のプロセッサに一意的に 割り当てられ、 複製される処理タイプに対しては、1つの分配ユニットがいくつかのプロセッ サ上で複製されうる、 請求項7に記載のシステム。 9.タイプが1つのある共通種類のものであるなら、いくつかの処理タイプに 同じ分配ユニットタイプを共有することが許されるシステムであって、これらの 種類は 中央、静的かつ一意的処理タイプと、 キー付き、動的かつ一意的処理タイプと、 中央、静的かつ複製される処理タイプと、 中央、動的かつ複製される処理タイプと、 インストールされ、静的かつ一意的処理タイプと、 からなる請求項4、5、6、7、8のいずれか1つに記載のシステム。 10.キー付き、動的かつ一意的処理タイプの1つの実例と、同じ1次キーを 処理実例として持つ1つのデータベースオブジェクト実例とが必要に応じて対応 するキーを持つデータベースオブジェクトの1次複製を保持する同じプロセッサ 上で処理実例を強制的に実行するため同じ分配ユニットタイプを参照させられる 、請求項9に記載のシステム。[Claims]   1. Multiple control system processors to handle different parts of the database Control system platform comprising: a resource system provided by the processor; Operating system to implement the abstraction provided by its control system Processing system, which consists of a Computer controlled system,   The processing architecture interacts and interacts with the control system. Apps that run as collaborative processes that interact with the world outside of this architecture Application program,   An example of a processing resource representation is distributed by the distribution unit to the multiple control system Distribution units, each distribution unit forming one processing instance group. And   The distribution unit belongs to a specific distribution unit type, and each distribution unit type Represents a property common to each type of distribution unit. Computer controlled system.   2. The processing example is   A physical processing example that executes the program code;   A logical processing example in the form of an abstract concept, and the type of the logical processing example in one system Is an overview of the types of processing present in the system, their properties, and hardware devices. A logical processing example determined by the configuration of the system in points; The system of claim 1, comprising:   3. The distribution unit groups both logical and physical processing instances, The logical instance is grouped because the relationship between the instance and the distribution unit is expressed in the sense of a logical instance. And one distribution unit is assigned to one processor When all physics instances associated with the distribution unit are running on a particular processor 3. The system of claim 2, wherein the physical instances are grouped because they are created.   4. The processor is   A central processing type for which there is one logical processing instance for each processing type;   There is one logical processing instance for each key value, and different processing types Can have different types on the key, and therefore different numbers of logical operations A process type that can have an instance identified by one key,   A process that has instances installed by software in the system itself Database type that is closely deployed with the processing type Object type exists, and an example of the database object type is a logical A processing type corresponding to the processing example, The system according to any one of claims 1-3, comprising:   5. For each treatment type, the relationship between the distribution unit and the treatment example is   For the central processing type, there are few and only one logical instance. There can be only one distribution unit,   For processing types whose instances are identified by keys, the number of distribution units is It is specified as a constant together with the processing specification, and the relation is that each key value is assigned to one of the distribution units. Expressed as a programmed algorithm that maps into one   The instance is installed by software in the system itself For processing types, processing examples are represented by the relationships between database objects. Grouped in distribution units as represented, The system of claim 4, wherein:   6. The processing is   Control system ensures that there is always one physical instance for each logical instance And the static processing type   Only one physical instance is created when some other process is trying to communicate with it. A dynamic processing type that the control system ensures that The system according to claim 1, comprising:   7. The processing is   Two instances cooperate but act as one process for other processes in one system Sometimes there is one physical instance for each logical instance except during certain system activities , A unique processing type,   There may be several physical instances for one logical instance; Ip, The system according to any one of claims 1 to 6, comprising:   8. For unique processing, one distribution unit is uniquely assigned to a single processor Assigned,   For the type of process being replicated, a single distribution unit may have several processors. Can be replicated on The system according to claim 7.   9. If the types are of one common type, then some processing types Systems that are allowed to share the same distribution unit type, Kind is   Central, static and unique processing types,   Keyed, dynamic and unique processing types,   Central, static and replicated processing types;   Central, dynamic and replicated processing types;   Installed, static and unique processing type, The system according to any one of claims 4, 5, 6, 7, 8 comprising:   10. One example of a keyed, dynamic and unique processing type with the same primary key One database object instance as a processing instance corresponds as needed The same processor holding a primary copy of the database object with the key to Refer to the same distribution unit type to force execution of the processing instance above The system of claim 9.
JP8517544A 1994-12-09 1995-12-08 Computer controlled system Pending JPH10510377A (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE9404296A SE9404296D0 (en) 1994-12-09 1994-12-09 Methods and apparatus for telecommunications
SE9404296-7 1994-12-09
PCT/SE1995/001481 WO1996018145A2 (en) 1994-12-09 1995-12-08 A computer controlled system

Publications (1)

Publication Number Publication Date
JPH10510377A true JPH10510377A (en) 1998-10-06

Family

ID=20396282

Family Applications (1)

Application Number Title Priority Date Filing Date
JP8517544A Pending JPH10510377A (en) 1994-12-09 1995-12-08 Computer controlled system

Country Status (11)

Country Link
EP (1) EP0796469A2 (en)
JP (1) JPH10510377A (en)
KR (1) KR100421796B1 (en)
CN (1) CN1097786C (en)
AU (1) AU699695B2 (en)
BR (1) BR9509887A (en)
CA (1) CA2206928A1 (en)
FI (1) FI972408A (en)
NO (1) NO972598L (en)
SE (1) SE9404296D0 (en)
WO (1) WO1996018145A2 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10035140A1 (en) * 2000-07-19 2002-01-31 Philips Corp Intellectual Pty Network for transmission of part objects in distributed database has key with distribution support part for identifying data object, data manager part for identifying data object element
US8156472B2 (en) * 2004-02-12 2012-04-10 Microsoft Corporation Process language for microprocessors with finite resources
CN102854853A (en) * 2012-08-13 2013-01-02 北京和利时系统工程有限公司 Cross-platform lightweight distributed control system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5062040A (en) * 1986-12-22 1991-10-29 At&T Bell Laboratories Handling of notification of asynchronous events by user and stub processes of a distributed process executing on a plurality of processors of a multi-processor system
JP2624676B2 (en) * 1987-04-24 1997-06-25 株式会社日立製作所 Program generation management method
JPH01101735A (en) * 1987-10-14 1989-04-19 Mitsubishi Electric Corp Analog-digital conversion duplexing circuit
US5193187A (en) * 1989-12-29 1993-03-09 Supercomputer Systems Limited Partnership Fast interrupt mechanism for interrupting processors in parallel in a multiprocessor system wherein processors are assigned process ID numbers
AU628753B2 (en) * 1990-08-14 1992-09-17 Digital Equipment Corporation Method and apparatus for implementing server functions in a distributed heterogeneous environment
WO1992007331A1 (en) * 1990-10-16 1992-04-30 Consilium, Inc. Object-oriented architecture for factory floor management
FR2679348B1 (en) * 1991-07-16 1993-10-08 Alcatel Cit SOFTWARE STRUCTURE FOR INFORMATION PROCESSING SYSTEM.
JPH0667907A (en) * 1992-08-20 1994-03-11 Fujitsu Ltd Computer controller

Also Published As

Publication number Publication date
KR100421796B1 (en) 2004-06-04
WO1996018145A2 (en) 1996-06-13
WO1996018145A3 (en) 1996-08-22
NO972598D0 (en) 1997-06-06
NO972598L (en) 1997-07-18
AU4277096A (en) 1996-06-26
KR980700606A (en) 1998-03-30
BR9509887A (en) 1997-10-21
SE9404296D0 (en) 1994-12-09
CN1097786C (en) 2003-01-01
AU699695B2 (en) 1998-12-10
EP0796469A2 (en) 1997-09-24
FI972408A0 (en) 1997-06-06
CA2206928A1 (en) 1996-06-13
CN1169194A (en) 1997-12-31
MX9704001A (en) 1997-09-30
FI972408A (en) 1997-08-04

Similar Documents

Publication Publication Date Title
US6546413B1 (en) Access-method-independent exchange using a communication primitive
US6061726A (en) Dynamic rights assignment apparatus and method using network directory services
US20020087665A1 (en) Method and system for integrated resource management
US6615230B2 (en) Data access right management apparatus in a data-independent computer system
CA2231684A1 (en) System and method for multi-site distributed object management environment
JPH11288395A (en) Method and system for remote browsing of object
US6877066B2 (en) Method and system for adaptive caching in a network management framework using skeleton caches
US20030105840A1 (en) Method and apparatus for managing configuration information in a distributed computer system
US7590618B2 (en) System and method for providing location profile data for network nodes
CN108073423A (en) A kind of accelerator loading method, system and accelerator loading device
JP4265413B2 (en) Policy enforcement system and method for virtual private organization
US5764909A (en) Self-configuring device connection for a data independent type computer system in a network
JP4131781B2 (en) Distributed processing database management system
JPH10510377A (en) Computer controlled system
JP2002366381A (en) Dynamic exchange processing method for object
JPH09160847A (en) Client server-type distribution processing system
JP4050479B2 (en) Transaction processing database system
JPH0498556A (en) Network system
KR100284491B1 (en) Database construction method for remote exchange system
JPH10187455A (en) Software distributing method and computer network system for applying the same
JPH06110841A (en) Name management method
CN117560373A (en) Multi-tenant cloud IDE management system based on cloud primordia
JPS6386059A (en) Processing system for change of work station constitution
JP2000295353A (en) Autonomously cooperative distributed processing type management information system
JPH1185527A (en) Method for selecting distribution object file in software distribution system