JPH069041B2 - メツセージ記憶方法及びシステム - Google Patents

メツセージ記憶方法及びシステム

Info

Publication number
JPH069041B2
JPH069041B2 JP1271896A JP27189689A JPH069041B2 JP H069041 B2 JPH069041 B2 JP H069041B2 JP 1271896 A JP1271896 A JP 1271896A JP 27189689 A JP27189689 A JP 27189689A JP H069041 B2 JPH069041 B2 JP H069041B2
Authority
JP
Japan
Prior art keywords
message
msf
storage
name
generation
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 - Fee Related
Application number
JP1271896A
Other languages
English (en)
Other versions
JPH02165251A (ja
Inventor
リチヤード・パービン・キング
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JPH02165251A publication Critical patent/JPH02165251A/ja
Publication of JPH069041B2 publication Critical patent/JPH069041B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/546Message passing systems or structures, e.g. queues
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Multi Processors (AREA)
  • Debugging And Monitoring (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

【発明の詳細な説明】 A.産業上の利用分野 本発明は、情報の記憶及び検索、特に複数個のホスト装
置からのメッセージの記憶及び検索に関与するシステム
に関するものである。
B.従来技術及びその問題点 分散データベースでは、通常、一義的な名前を割り当て
る問題が生じる。オブジェクトをあるサイトで作成する
ときに、データベース全体にわたって一意的な名前を与
えなければならない。これを行なうために用いられてき
た1つの方法は、システム内の他のすべてをサイトに照
会またはポーリングを行なって、割り当てようとする名
前が使用されていないことを確認するものであった。そ
のために、大域ロッキング、または名前スペースの静的
区分のいずれかの方法が用いられてきた。
すべての名前を大域ロックすることにより、新しいメッ
セージの作成者は自由に、任意の新しい名前を選択でき
る。さらに、将来の命名の際にこのようなシステムのす
べてのサイトに対する照会が行なわれるので、メッセー
ジがある場所から他の場所へ移動する場合、それに関す
る情報をその現在位置に保持しておくだけでよい。この
自由に名前を割当てできることの代償として、いずれか
のサイトが新しい名前を取り出そうとしてすべてのサイ
トを照会しなければならなくなるたびにあらゆるサイト
で名前の割当てを停止するため、時間と費用が増加す
る。
システムのオーバーヘッド・コストをなくするための他
の方法は、与えられたメッセージのすべてまたは一部を
取り出し、それを名前が作成されたサイトの名前と連結
することによって、名前を作成するものである。たとえ
ば、Houstonというサイトに記憶されたSamというメッセ
ージに対しては、"Sam.Houston"という名前を使用す
る。この方法の欠点は、"Sam.Houston"という名前のメ
ッセージがデータベース中でDallasなどの位置に再配置
されるとき、その名前のレコードを、それがDallasに存
在すること及びその現在の位置の註釈をつけて、Housto
nに保持しなければならないことである。そうしない
と、後になって別のSamが、このようなシステムの一意
性要件に違反してHoustonで作成されることがある。
したがって、本発明の目的は、システム内の他のどのサ
イトにも照会する必要がなく、自由かつ容易な名前の割
当てによって、オブジェクトまたはメッセージに固有で
一意的な名前を割り当てることにある。
本発明の他の目的は、名前の重複がないことを保証する
ために名前の記録を維持する必要なしに、メッセージま
たはオブジェクトを他のサイトに移動できるようにする
ことである。
C.問題点を解決するための手段 メッセージ記憶システムは、通信やデータ・ベース処理
などの目的で各種の上位処理装置によって後で検索する
ため、入りメッセージを記憶するために使用される。こ
れは、メッセージ記憶機構と記憶機構マネジャの2つの
主要構成要素から成る。メッセージ記憶機構は実はメッ
セージが記憶される場所であり、またメッセージが最初
に入力され検索される場所でもある。第2の構成要素で
ある記憶機構マネジャは、いくつかのメッセージ記憶機
構及びディスク駆動機構などの外部記憶装置の間でのメ
ッセージの記憶を調整する。記憶機構マネジャは、所与
のメッセージ記憶機構がその記憶容量に達したとき、メ
ッセージを移動させシステムのまわりでメッセージを追
跡することによって、メッセージが常に一意的な名前で
割り当てられるようにする。
操作に当っては、メッセージ記憶機構がある使用可能な
名前を求めてシステム全体を照会することを必要とせず
に、メッセージがシステム内に入ってきた時に、メッセ
ージ記憶システムがメッセージに一意的な名前を割り当
てる。メッセージを記憶する方法は本来、あるメッセー
ジを検索する要求が通信装置やデータベース装置などの
上位処理装置から提示されたときに、混乱が起こらない
ように、各メッセージに一意的な名前が割り当てられる
ことを保証する。
D.実施例 第1図は、メッセージ記憶システム(MSS)100の
説明図である。MSS100では、上位処理装置111
〜115などの様々な上位処理装置を(たとえばVTA
Mシステムを用いて)対話式通信用の通信回線116を
介して、または(たとえばIMSシステムを用いて)デ
ィスク駆動機構に接続されたデータ回線117を介して
他の装置に接続することができる。当業者なら理解して
いるように、他の装置を一方または両方の通信回線に取
り付けることもできる。上位処理装置は、データ回線2
20〜224を介して交換機150などの相互接続機構
にも接続される。
MSS100の実際のメッセージ記憶用構成要素は、メ
ッセージ記憶機構(MSF)110、120、130及
び記憶機構マネジャ(SFM)140である。これらの
装置もデータ回線160、170、180及び190を
介して、交換機150などの相互接続機構に接続され
る。SFM140はまたデータ回線210を介し、ディ
スク駆動機構200などの分離した記憶装置にも接続す
ることができる。システム中に存在するMSFと周辺装
置の数は、システムのニーズとシステム設計者によって
決まる。
MSS100中のMSFは、大容量の高速記憶機構に接
続された障害許容マイクロプロセッサからなる専用の記
憶装置として設計されている。MSF中のプロセッサ
は、メッセージの記憶と受取りを行なうのに必要な機能
のみを支援するプログラムを実行する。このように構造
が単純なため、MSFの信頼性が最大になる。しかしな
がら、当業者なら理解しているように、代替設計も実現
可能である。たとえば、MSFは十分な記憶機構を有す
るどんな汎用コンピュータを使用しても実施できる。
MSS100中のSFMは、要求を適時に処理するのに
十分な処理速度を有する任意の汎用コンピュータとして
設計される。SFMは、そのディスク駆動機構とそのM
SFへの接続を用いて、ホストがどのMSFを使用する
かの選択及びあるMSFから別のMSFまたはディスク
へのメッセージの順序正しい転送に関連する繁雑な処理
をすべて管理する。この責任分担によって、MSFは迅
速かつ確実なメッセージの記憶及び検索サービスを提供
することができる。
MSS100のようなシステムは、通信の信頼性を高
め、いずれかの上位処理装置が障害を起こしてもエンド
ユーザにその影響が及ばないように作動する。データ・
ベース・アクセスなどの要求が通信回路116を介して
システム内で発生すると、この要件は予め指定されたM
SFに記憶される。MSFはメッセージを送ってきた通
信処理装置に名前を戻し、その通信処理装置はその名前
をあるデータ・ベース・ホストに渡し、そのデータ・ベ
ース・ホストはメッセージ検索準備ができたとき、通信
処理装置が自分のタスクを処理するのを妨げることな
く、メッセージを検索する。
このようにして、データ・ベース処理装置は送信請求さ
れない信号(すなわち記憶されたメッセージの名前)を
短く切って少しずつ受け取るだけでよくなる。後で詳し
く説明するが、それによって、未使用の名前を探してシ
ステムをポーリングする必要がなく、また必要な時にメ
ッセージの検索をスピード・アップする必要もなしに、
入ってくる各メッセージに一意的な名前を割り当てるこ
とも可能になる。
メッセージがシステムに入ると、メッセージは所与の上
位処理装置に対して指定されたMSFに転送され、指定
されたMSFの最初の空いている記憶位置に記憶され
る。MSFによって使用されホストに戻される名前は、
記憶位置と世代番号からなっている。
世代番号はあるMSS中で各MSFに一意的なものであ
る。一意的な世代番号はSFMによって割り当てられ監
視する。すなわち、MSS100のようなシステムで、
初期世代番号はMSF110に対しては1、MSF12
0には2、MSF130には3とすることができる。記
憶位置はMSF中のメッセージが記憶されるアドレスに
対応する。記憶位置アドレスはシステム内のすべてのM
SFで識別されることになる。いずれかのMSFが容量
一杯に近づくと、SFM140は新しい世代番号を割り
当て、前の世代番号の下で命名されたメッセージを、他
のいづれかのMSF中の自由空間、またはディスク駆動
機構200などの装置の記憶域に移す。
メッセージが記憶された後にデータ・ベース処理装置1
13〜115の一つに送られる名前は、メッセージを受
け取ったときの所与のMSFの世代番号、ならびにメッ
セージが記憶されるMSF内の記憶位置からなる。MS
Fが容量一杯になったためにメッセージが移された場
合、メッセージのその新しい記憶位置が、SFMによる
調整によってあるMSFにとって使用可能になる。この
ようにして、移されたメッセージが検索が要求されたと
き、そのメッセージはそのMSF中では見つからない
が、メッセージの現在の記憶位置を探すようSFMに通
知することによってその検索ができる。
したがって、メッセージの記憶位置と特定のMSFに独
自の世代番号がメッセージの名前を構成するので、MS
Fは、所与の名前がメッセージに割り当てるために使用
できるかどうかを判定するようには設計されてはいない
ことがわかる。1つの世代番号/記憶位置マッピングし
か存在し得ないので、命令は本来的にシステムによって
実施される。
第2図は、新しいメッセージを記憶する方法の流れ図で
ある。この特定のMSFに対する現世代番号はすでにS
FMから得られているものと仮定する。
新しいメッセージが到着すると、特定のMSF中の空い
た記憶位置がメッセージを記憶する場所として選定され
る。ブロック230に示すように、メッセージの位置を
記録するためにメッセージ表にも1つの項目が作成され
る。次に、現世代番号と記憶位置からなる名前が、新し
いメッセージに対して割り当てられる。それからメッセ
ージの名前とメッセージ自体が、MSF内の指定された
位置に記憶され、メッセージの名前がメッセージ作成側
に戻される。メッセージの名前は、MSFの中に記憶さ
れており、したがって検索要求が生じた場合に、所与の
記憶位置のメッセージが要求されているメッセージであ
るかどうか判定するために、MSF内に記憶された名前
を、要求された名前と比較することができる。次いでM
SFは、ブロック260に示すように、それが記憶容量
に近づいているかどうか判定し、そうである場合は、M
SFがそのメッセージ記憶容量に達しつつあることを示
すメッセージをSFMに送る。そうでない場合は、この
ルーチンは終了する。
第3図は、すでに名前が付けられたメッセージに対して
記憶域を割り振る方法の流れ図である。この状況は、メ
ッセージがあるMSFから他の装置に転送されている時
に発生する。その一例は、MSFがその記憶容量に達し
つつあるかまたは既に達しており、次に入ってくるメッ
セージのための場所を空けるためにそのメッセージをオ
フロードしなければならない場合である。このような状
況では、メッセージが他のMSF(また恐らくは、ディ
スク駆動機構200などの記憶装置)にオフロードされ
ることがあり得る。
ブロック280に示すように、既に割り当てられた名前
をもつメッセージがMSFに到達すると、最初のステッ
プは、メッセージの名前の中で指定された記憶位置がふ
さがっているかどうかを検査することである。そうでな
い場合は、メッセージはその名前とともにその名前の中
で指定された記憶位置に記憶される。メッセージの名前
は索引表中にも記憶され、したがって後でのメッセージ
検索要求が処理できる。メッセージの名前の中で指定さ
れた記憶位置がすでにふさがっている場合には、ブロッ
ク300に示すように、ふさがっていない記憶位置がそ
のメッセージのために選ばれる。メッセージがその元の
名を維持している間に、そのメッセージに対する新しい
記述または指定がMSF中の索引表に挿入される。この
指定は、メッセージの元の名前とメッセージが記憶され
る新しいMSF内の新しい記憶位置からなる。次に制御
がブロック320に移り、そこで名前とメッセージがこ
の新しい空いた記憶位置に記憶される。
この処理が完了すると、ブロック330に示すように、
MSFは再びそれが記憶容量満杯に近づきつつあるかど
うかを判定する。そうである場合、ブロック340に示
すように、MSFが満杯に達したかまたは達しつつある
ことを示すメッセージがSFMに送られる。MSFがそ
の記憶容量に近づいておらずまたは達していない場合
は、このルーチンは終了する。
第4図は、メッセージ記憶システムからメッセージを検
索する方法の流れ図である。この動作は、上位処理装置
111〜115などの装置による所定のメッセージの検
索要求で始まる。
メッセージ検索動作の制御がブロック350で開始さ
れ、そこで検索要求が入力される。その場合に最初のス
テップは、ブロック350に示すように、メッセージの
名前がメッセージ名によって指定された記憶位置に記憶
されているかどうか判定することである。メッセージ名
が指定された記憶位置にある名前と同じである場合、ブ
ロック360に示すようにメッセージが検索され、メッ
セージ要求側に送り返される。
要求されたメッセージの中で指定された記憶位置にある
名前が要求されているメッセージの名前と同じでない場
合は、ブロック370に示すようにMSFの索引表が検
索される。名前(及びメッセージ)の記憶位置は記憶位
置情報を含む部分メッセージ名から得られるが、要求さ
れているメッセージと要求されているメッセージ中で指
定された記憶位置にあるメッセージ名とが比較されると
きは、フルネームが比較されることに留意されたい。こ
のフルネームは世代番号と元の記憶位置からなる。
制御がブロック370からブロック380に移り、そこ
で索引表中に名前が存在するかどうかの判断が行なわれ
る。索引表中に名前が存在する場合、索引表中で指定さ
れた記憶位置が検査され、メッセージがその位置に存在
する場合は、それがメッセージ要求側に戻される。別の
MSFから現在のMSFに移されたメッセージの場合に
このような状況が生じることになる。この場合、索引表
はメッセージの名前、及びそのメッセージを含んでいた
MSF中の新しい記憶位置を含むことになる。
索引表の検索が成功しなかった場合は、制御は判断ブロ
ック390に移り、そこで現世代番号が要求されている
メッセージの世代番号と同じであるかどうか判定され
る。同じである場合は、その同じ世代番号は、メッセー
ジがメッセージ名の中で指定された記憶位置に位置すべ
きことを意味するので、エラーが発生する。指定した記
憶位置にも索引表中にもメッセージが見つからなかった
ので、エラーが発生し、ブロック410に示すようにエ
ラー・メッセージがメッセージ要求側に送り返される。
メッセージの世代番号が現世代番号と同じでない場合
は、ブロック400に示すようにメッセージ検索要求が
SFMに渡される。この時点でSFMは、ブロック40
5に示すように、満杯に近づいたためにSFMがメッセ
ージを別のMSFに再配置したかどうか判定するため
に、そのメッセージ記憶位置の表を探索する。次いで、
SFMはメッセージ要求を、SFMがメッセージを以前
に再配置したMSFに転送し、ブロック407に示すよ
うに、メッセージが以前に再配置されたMSFで前記の
操作が繰り返される。メッセージが見つからなかった場
合には、エラーが発生し、ブロック410に示すように
エラー・メッセージがメッセージ要求側に送り返され
る。
第5図は、メッセージ記憶システムからメッセージを削
除する方法の流れ図である。操作はブロック440に送
られるメッセージを削除する要求で始まる。
判断ブロック440で、削除すべきメッセージの名前が
そのメッセージ名の中で指定された記憶位置に記憶され
ているかどうかの判定が行なわれる。指定された記憶位
置にメッセージ名が含まれている場合、ブロック450
に示すように、その記憶位置は将来のメッセージ用の空
いた記憶位置としてマークされる。その記憶位置に削除
すべきメッセージの名前が含まれていない場合は、制御
はブロック460に進み、そこで現世代番号が削除すべ
きメッセージの名前中の世代番号と比較される。世代番
号が同じ場合には、ブロック480で「そのようなメッ
セージはない」というエラー・メッセージが出される。
世代番号が同じでない場合には、制御はブロック470
に進み、そこで現MSF中の索引表の探索が行なわれ
る。
判断ブロック490で、索引表の探索が成功したか否か
の判定が行なわれる。探索が成功し、削除すべきメッセ
ージの名前が索引表中で見つかった場合には、ブロック
500に示すように、索引表の項目中で指定された記憶
位置が検査される。次いで、ブロック510に示すよう
に、その記憶位置が将来のメッセージが記憶できる空い
た記憶位置としてマークされる。次に制御はブロック5
20に進み、そこでメッセージの名前と記憶場所が索引
表から削除される。
ブロック490での判定がノーで、その名前が索引表中
に存在しないことを意味する場合には、ブロック530
に示すように、探索要求がSFMに渡される。次いでS
FMは、そのメッセージが他のMSFに再配置されたか
どうか調べるために、その表を探索する。再配置された
場合にはメッセージが以前に再配置された特定のMSF
で第5図に示した処理が繰り返される。
第6図は、前記のMSFが満杯に近づいているかまたは
達したときに、SFMがMSFからメッセージを受け取
る状況の1例を示す流れ図である。この信号がSMFに
到達し、次いで論理の流れがブロック540から開始す
る。
ブロック540で、この例では、メッセージを送るMS
FがFで表される指定番号を有するものと仮定する。次
いでブロック550に示すように、SFMは、世代番号
Gに対する世代カウントが0になるように、Gで表され
る世代番号を選定する。0の世代カウントは、世代番号
が割り当てられていないことを表すSFM内での表示で
ある。負の世代カウントは、世代カウントの絶対値によ
って指定されたMSFに世代番号が割り当てられている
ことを意味する。正の世代カウントは、世代番号が使用
されたが、現在新しい名前の割当てに使用されてはいな
いことを意味する。この状況が生じるのは、世代番号が
名前の割当てに使用され、名前とメッセージが現に他の
MSFまたはディスク駆動機構200などの記憶装置に
記憶されている場合である。
ブロック560で、MSF Fが文字Pで表される現世
代番号を有するものと仮定する。ブロック570で、G
で表される現世代番号がMSF Fに割り当てられる。
同時に、ブロック580に示すように、Gの世代カウン
トが負のFに設定される。これは、世代番号Gが負のF
の絶対値をもつMSFに割り当てられることを意味す
る。この場合、それはMSF Fである。
SFMはどの世代番号が割り当てられるかの記録を維持
するが、個々のMSFの内部にどれだけのメッセージが
記憶されているかの記憶は各MSFが維持する。したが
って、ブロック590に示すように、MSF Fに、そ
れが世代番号と共に含んでいるメッセージの数を照会し
なければならない。
この例では、ブロック600に示すように、照会された
MSFは、世代番号Pを含むメッセージの数と同じ数X
を戻す。
次のステップは、Pの世代カウントを数Xに設定するこ
とである。戻された数Xは正の値になる。Pの世代番号
に数Xを割り当てることによって、SFMはPが使用中
の世代カウントであることを知り、さらに、それは正の
値なので、SFMはその名前の中に世代番号Pを含むメ
ッセージがMSFの間で分散されていることを知ること
になる。これはブロック610に示されている。
次のステップは、ブロック620であり、そこでSFM
はMSF Fから世代番号Pを有するメッセージを読み
取る。次いで、ブロック630に示すように、メッセー
ジの元の名を維持しながら、それらのメッセージが他の
MSF(または、恐らくはディスク駆動機構200など
の記憶装置)に書き込まれる。これらの移されたメッセ
ージの記憶位置が、ブロック640に示すように移動メ
ッセージ表に記憶される。ブロック650に示す最終ス
テップで、世代番号Pを有するメッセージのすべてがM
SF Fから削除される。この時点でこのルーチンが終
了する。
第7図は、SFMが所与のMSFからメッセージ検索要
求を受け取ったときの、SFMの動作の構成図である。
この例では、ブロック660で、Fが所与のMSFの番
号であると仮定し、(J,K)が所与のメッセージの名
前であるとする。判断ブロック670で、世代JがMS
Fのいずれかに割り当てられているか否かの判定が行な
われる。判定が真の場合、制御はブロック680に移
り、この例では、MSF Cは検索するべく要求された
メッセージの世代番号を含むものと仮定する。したがっ
てブロック690に示すように、メッセージ検索要求が
MSF Cに送られる。ブロック670での判断が誤の
場合、制御は判断ブロック700に移り、そこで(J,
K)が移動メッセージ表中で指定されているかどうか判
定される。その判定が誤の場合、ブロック710に示す
ように、そのメッセージは存在しないという指示が、メ
ッセージを要求しているMSFに戻される。
この例では、ブロック720に示すように、メッセージ
(J,K)の現記憶位置をNとする。これは判断ブロッ
ク700の判定が真の場合である。次に、ブロック73
0に示すようにメッセージ検索要求がMSF Nに送ら
れ、ルーチンは終了する。
第8図は、SMFがメッセージをあるMSFから別のM
SFに転送する方法を示す流れ図である。この例では、
文字Fは前のMSFの番号、すなわちメッセージの転送
元のMSFの番号を表す。文字Tは、MSF Fからの
メッセージが転送される先の新しいMSFの番号を表
す。これはブロック740に示されている。文字Pは、
ブロック750に示すように、MSF Fに割り当てら
れた現世代番号を表す。
ブロック760に示すように、SMFは、世代カウント
が0になる世代番号Nを取り出さなければならない。こ
れは単に世代番号が使用されていないことを表すだけで
ある。次いで、ブロック770に示すように、SFMは
世代番号NをMSFTに割り当てる。
次に、SFMは、MSF Fを使用しているすべての上
位処理装置に、あらゆるメッセージ記憶操作にMSF
Tを使用するよう知らせる。これはブロック780に示
されている。次に、ブロック790に示すように、SF
Mは、MSFを待ってホストからの要求を受取りと処理
をやめなければならない。この暫定的な待ち時間の間
に、SFMは、第7図に示したアルゴリズムを使って、
MSF Tに送られた上位処理装置からのまだMSF
Fにあるメッセージに対する要求を処理する。これは、
MSF FからMSF Tへのメッセージの転送が完了
する前の期間である。
次いで、SFMはMSF F中のすべてのメッセージを
読み出し、別のMSFなどの別の記憶位置やディスク駆
動機構200などの記憶装置にそれを複写する。これは
ブロック800に図示されている。MSF Fからすべ
てのメッセージが転送された後、MSF Fはメッセー
ジを全く含まず空であり、したがってブロック810に
示すように修理、交換または変更のために使用から外す
ことができる。
第9A図は、空いた世代番号がないときの世代番号の選
択の構成図である。この状況は、あるMSSに対する世
代番号の数が限られている場合に発生する。MSFがS
FMに、MSFがその記憶容量に一杯になり、メッセー
ジをオフ・ロードする必要があることを通知した後、通
常、SMFはメッセージをオフ・ロードする前に空いた
世代番号を選定し、それをMSFに割り当てる。ただ
し、すべての世代番号が使用中である可能性もある。
この状況では、すべての世代番号が使用中である場合で
も、SFMが可能な世代番号のうちから1つの新しい世
代番号を取り出すことが、必要である。次いで、SFM
は(やはり、可能な世代番号の数が限られているものと
仮定して)、その名前に世代番号が含まれるすべての現
存メッセージを見つけなければならない。これらの現存
メッセージのための元の記憶位置をそれらメッセージ名
から抜き出し、メッセージをそれらの元の記憶位置に移
さなければならない。それらの記憶位置に他のメッセー
ジが(別の世代番号で)すでに記憶されている場合に
は、これらの追加のメッセージをMSFからアンロード
し、ディスク駆動機構といった記憶装置中など、どこか
他の場所に記憶しなければならない。次に、現存のメッ
セージがそれらの名前中で指定された記憶位置に記憶さ
れ、SFMは、それが選定した新しい世代番号の使用を
開始するようMSFに通知する。
ブロック820は、この例で行なった仮定を示す。この
場合、Tは容量限界に達したMSFを表す。Mはこれま
でに見つかった最小のメッセージ・カウントを表す。こ
れは可能などのメッセージ・カウントよりも大きい値、
この例では(2**31)−1に初期設定される。Gは
メッセージ・カウントが最小の世代番号を表し、ゼロに
初期設定される。Mは比較のための値を表し、ゼロに初
期設定される。
ブロック830で、(文字Jで表される)どの世代番号
が、SMFが使用する次の世代番号として選定されるか
を選ぶためのルーチンが始まる。ブロック840で、文
字Cは所与の世代番号Jに対する世代カウントを表す。
判断ブロック850に示すように、Cの値が0より小さ
い場合には、制御はブロック860に移る。MSFにそ
の世代番号で記憶されているメッセージの数を得るため
に、−C(これは正の値)の世代カウントを有するMS
Fが照会される。次いで、ブロック870に示すよう
に、CがMSF −Cによって戻されたメッセージの数
に再初期設定される。ブロック880で、CがMに対し
て指定された値より小さいか否かを判定する。小さい場
合、MはCの値に再初期設定され、Gは世代番号Jに割
り当てられる。次に制御がブロック830に戻り、限ら
れた数の世代番号Jを含むシステムで、世代番号Jのそ
れぞれについてこのルーチンが完了するまで繰り返され
る。
各世代番号Jについて上記のステップが完了すると、制
御はブロック900に移り、そこでCが世代Gに対する
世代カウントと等しくなるように割り当てられる。判断
ブロック910がCがゼロより小さいかどうか判定され
る。Cがゼロより小さくない場合には、制御はブロック
920に移り、そこでSFMの移動メッセージ表から名
前(G,K)(Kは世代Gにおけるある記憶位置を表
す)を有するメッセージのリストが得られる。ブロック
910でCがゼロより小さいと判定された場合には、制
御は930に移り、そこでSFMはMSF −C(これ
は正の値を表す)から名前(G,K)を有するメッセー
ジのリストを得る。
第9B図は、このルーチンの続きの部分を示したもので
あるが、ここで上記のステップで決定された世代番号に
対するメッセージが移動する。これはページ結合子Aを
介してブロック940に表されている。制御はブロック
950に移り、そこでメッセージがMSF(問題のMS
F)の記憶位置Kに記憶されているか否かが判定され
る。記憶されている場合には、ブロック960で記憶位
置Kに記憶されたメッセージ中の世代番号がMSFTに
対する現世代であるかどうかが判定される。メッセージ
世代番号がMSF Tの現世代番号である場合は、ブロ
ック970に示すように、そのメッセージはMSF T
中の他の記憶位置に記憶される。世代番号が異なる場合
は、ブロック980に示すように、メッセージは必ずし
もMSFではなく、別の記憶位置に移される。次に、
(G,K)で指定されたメッセージがMSF Tからご
く最近他に移されたメッセージの記憶位置に記憶され
る。次いで、制御は(G,K)で指定される次のメッセ
ージの操作に戻る。それが完了するとMSF TはMS
Fから世代Gがその現世代番号として使用されるとの通
知を受ける。
操作例 MSS100のようなメッセージ記憶システムの操作例
は、システム内のMSFに世代番号を割り当てることか
ら始まる。この場合、SFMはMSF110に世代番号
1を、MSF120に世代番号2を、そしてMSF13
0に世代番号3を割り当てる。MSF110に割り当て
られている上位処理装置からシステムに入ってくる最初
のメッセージは、記憶位置1に記憶される。1例とし
て、「Hi there」のメッセージを使用すると、メッセージ
の状況は次のようになる。
現世代 メッセージ表 索引表 名前 メッセージ 1 (1,1) Hi there 25 ここで、もっと多くのメッセージをシステムに加えるこ
とができる。他の上位処理装置がそれぞれMSF2及び
MSF3に割り当てられている場合、これらの処理装置
からくるメッセージはそれぞれMSFに記憶されること
になる。この例(すべてのメッセージがSMF110に
記憶される)で続けると、記憶すべき次の2つのメッセ
ージはすでに名前が割り当てられている。それらのメッ
セージは名前(3,2)をもつ「That's life」と名前
(2,1)をもつ「Here today」である。したがって、更
新後の状況表は次のようになる。
現世代 メッセージ表 索引表 名前 メッセージ 1 (1,1) Hi there (2,1):3 (3,2) That's life (2,1) Here today メッセージ検索要求はまずMSFによって処理される。
たとえば、(1,1)、(2,1)、(1,2)と名づ
けられた3つのメッセージが、記憶された後に上位処理
装置から要求された場合、メッセージが記憶されたMS
Fから処理が開始される。この場合、メッセージ(1,
1)は記憶位置1で見つかる。メッセージ(2,1)は
記憶位置1では見つからないが、索引表を探索した後に
記憶位置3で見つかる。メッセージ(1,2)は記憶位
置2で見つからず、索引表を探索しても見つからない。
上記の3つのメッセージだけがシステム中にあるので、
SFMへの信号によって、メッセージは見つからず、エ
ラー信号がメッセージ要求側に戻される。
元の3つのメッセージに話を戻すと、システムはメッセ
ージの削除も行なう。(1,1)及び(2,1)と名づ
けられたメッセージを削除する信号が入力された場合、
シ現世代 メッセージ表 索引表 ステムの状況は次のようになる。 名前 メッセージ 1 (3,2) That's life SMFは世代、世代カウント、移されたメッセージ及び
現記憶位置に関する情報を含んでいる。この情報は、S
FM中の様々な表の中に記憶される。MSF世代番号と
世代カウント情報を含む表は、可能なすべての世代番号
について、世代カウントがゼロから始まる。SFMが初
期設定されて、世代番号1で初期設定されているMSF
110、世代番号2で初期設定されているMSF12
0、及び世代番号3で初期設定されているMSF130
などMSFが世代番号を受け取った後、SFMは世代番
号にマイナスをつけた世代カウントを割り当てる。すな
わち、MSF110は−1の世代カウントを有し、MS
F120は−2の世代カウントを有し、そしてMSF1
30は−3の世代カウントを有することになる。この情
報はすべてSFM140中の表に記憶される。また、移
動されたメッセージの名前とその現記憶位置を含む移動
メッセージ表は、最初は情報なしで始まり、メッセージ
が実際にあるMSFから別のMSFまたはディスク駆動
機構200などの別の記憶装置に移されるまで、その状
態に留まる。メッセージが移動された時点で、移動メッ
セージ表が移されたメッセージの記憶位置に関する情報
で更新される。メッセージが移され、様々なMSFに対
する世代カウントが更新されると、世代番号/世代カウ
ント表が、世代番号が使用中であるが現在は使用されて
いないことを反映するように現情報で更新される。使用
中であるが現在使用されていない世代番号については、
世代番号/世代カウント表は、このような世代番号に対
応する世代カウント・フィールド中に正の値を持つこと
によって、この情報を反映する。ただし、現世代番号表
は、新しい世代番号がこのとき所与のMSFに割り当て
られていることを示す。次の表は、MSF1の現世代の
変更前と変更後のシステムの状況を示す。
MSF1の現世代の変更前: MSF 現世代 1 1 2 2 世代: 1 2 3 4 5 世代カウント:−1 −2 1 3 2移されたメッセージ 現記憶位置 1 ディスク 7 MSF 1: メッセージ表現世代 名前 メッセージ 索引表 1 (1,1) Hi there (1,2) Here today MSF1の現世代の変更後: MSF 現世代 1 3 2 2 世代: 1 2 3 4 5 世代カウント: 2 −2 −1 3 2移されたメッセージ 現記憶位置 MSF 1: メッセージ表現世代 名前 メッセージ 索引表 1 (1,1) Hi there (3,2):3 (1,2) Here today (3,2) That's life E.発明の効果 本発明によれば、システム中のすべてのサイトに照会せ
ずとも、メッセージに対して一意的な名前を付与するこ
とができる。
【図面の簡単な説明】
第1図は、本発明による3つのメッセージ記憶機構、1
つの記憶機構マネジャ及び交換機を含むメッセージ記憶
システムを示すブロック図である。 第2図は、第1図のシステムにおいて新しいメッセージ
がどのように命名されて記憶されるかを示す流れ図であ
る。 第3図は、以前に名前が付けられたメッセージを記憶す
るステップを示す流れ図である。 第4図は、メッセージがどのように検索されるかを示す
流れ図である。 第5図は、メッセージがどのように削除されるかを示す
流れ図である。 第6図は、メッセージ記憶機構が満杯のときの記憶機構
マネジャによるメッセージの分散を示す流れ図である。 第7図は、記憶機構マネジャに対するメッセージ検索要
求を示す流れ図である。 第8図は、記憶機構マネジャが作業負荷をあるメッセー
ジ記憶機構から他のメッセージ記憶機構にどのように分
散させるかを示す流れ図である。 第9図は、世代番号に空きがないときに記憶機構マネジ
ャがどのように新しい世代番号を割り当てるかを示す流
れ図である。 100‥‥メッセージ記憶システム(MSS)、11
0、120、130‥‥メッセージ記憶機構(MS
F)、111−115‥‥上位処理装置、116‥‥通
信回路、117‥‥データ回線、140‥‥記憶機構マ
ネジャ(SFM)、150‥‥交換機、160、17
0、180、190、210‥‥データ回線、200‥
‥ディスク駆動機構。

Claims (2)

    【特許請求の範囲】
  1. 【請求項1】記憶位置を有するメッセージ記憶機構を複
    数具備するメッセージ記憶システムにおいて、複数のホ
    スト装置からのメッセージを記録する方法であって、 (a)メッセージ記憶機構の各々に独自の世代番号を割り
    当てて、 (b)メッセージを受け取って、メッセージ記憶機構の空
    いている記憶位置を突き止め、 (c)該メッセージを該空いている記憶位置にて記憶し、 (d)該メッセージが記憶されたメッセージ記憶機構の世
    代番号と記憶位置からなる独自の名前によって、該記憶
    されたメッセージを識別し、 (e)該独自の名前を、該メッセージを送ったホスト装置
    へ返し、 (f)メッセージ記憶機構が実質的にその記憶容量に達す
    ると世代番号を変更する ことを特徴とする、メッセージ記憶方法。
  2. 【請求項2】記憶位置を有するメッセージ記憶機構を複
    数具備してなり、複数のホスト装置からのメッセージを
    記憶するシステムであって、 (a)メッセージ記憶機構の各々に独自の世代番号を割り
    当てる手段、 (b)メッセージを受け取って、メッセージ記憶機構の空
    いている記憶位置を突きとめる手段、 (c)該メッセージを該空いている記憶位置にて記憶する
    手段、 (d)該メッセージが記憶されたメッセージ記憶機構の世
    代番号と記憶位置からなる独自の名前によって、該記憶
    されたメッセージを識別するための、命名手段、 (e)該独自の名前を、該メッセージを送ったホスト装置
    へ返す手段、 (f)メッセージ記憶機構が実質的にその記憶容量に達す
    ると世代番号を変更する手段 を有することを特徴とする、メッセージ記憶システム。
JP1271896A 1988-10-31 1989-10-20 メツセージ記憶方法及びシステム Expired - Fee Related JPH069041B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US264420 1988-10-31
US07/264,420 US5023772A (en) 1988-10-31 1988-10-31 Method and system for storing messages based upon a non-queried name assignment

Publications (2)

Publication Number Publication Date
JPH02165251A JPH02165251A (ja) 1990-06-26
JPH069041B2 true JPH069041B2 (ja) 1994-02-02

Family

ID=23006005

Family Applications (1)

Application Number Title Priority Date Filing Date
JP1271896A Expired - Fee Related JPH069041B2 (ja) 1988-10-31 1989-10-20 メツセージ記憶方法及びシステム

Country Status (4)

Country Link
US (1) US5023772A (ja)
EP (1) EP0366864B1 (ja)
JP (1) JPH069041B2 (ja)
DE (1) DE68924393T2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5339418A (en) * 1989-06-29 1994-08-16 Digital Equipment Corporation Message passing method
JP2828029B2 (ja) * 1996-05-08 1998-11-25 日本電気株式会社 音声蓄積再生サービス装置
JP2002259830A (ja) * 2001-02-28 2002-09-13 Ricoh Co Ltd メッセージシステム、メッセージ提供方法、及びプログラム
US7139524B2 (en) * 2004-05-06 2006-11-21 Bellsouth Intellectual Property Corporation Systems and methods for delivering a stored message to a subscriber

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4484262A (en) * 1979-01-09 1984-11-20 Sullivan Herbert W Shared memory computer method and apparatus
US4412285A (en) * 1981-04-01 1983-10-25 Teradata Corporation Multiprocessor intercommunication system and method
US4420807A (en) * 1981-08-31 1983-12-13 International Business Machines Corporation Selectively holding data in a buffer for defective backing store tracks
US4543627A (en) * 1981-12-14 1985-09-24 At&T Bell Laboratories Internal communication arrangement for a multiprocessor system
US4630196A (en) * 1983-04-13 1986-12-16 At&T Information Systems, Inc. Store and forward facility for use in multiprocessing environment
US4644470A (en) * 1984-07-20 1987-02-17 International Business Machines Corp. Non-unique names for broadcast messages

Also Published As

Publication number Publication date
EP0366864B1 (en) 1995-09-27
EP0366864A2 (en) 1990-05-09
DE68924393D1 (de) 1995-11-02
EP0366864A3 (en) 1991-08-14
DE68924393T2 (de) 1996-05-02
US5023772A (en) 1991-06-11
JPH02165251A (ja) 1990-06-26

Similar Documents

Publication Publication Date Title
US7325041B2 (en) File distribution system in which partial files are arranged according to various allocation rules associated with a plurality of file types
US5778394A (en) Space reclamation system and method for use in connection with tape logging system
US5535381A (en) Apparatus and method for copying and restoring disk files
US6763442B2 (en) Data reallocation among storage systems
US6397309B2 (en) System and method for reconstructing data associated with protected storage volume stored in multiple modules of back-up mass data storage facility
US5832522A (en) Data storage management for network interconnected processors
JP4115093B2 (ja) 計算機システム
US5987566A (en) Redundant storage with mirroring by logical volume with diverse reading process
US5873103A (en) Data storage management for network interconnected processors using transferrable placeholders
US5909700A (en) Back-up data storage facility incorporating filtering to select data items to be backed up
US8103754B1 (en) Reserving a shared volume in a multiple node data storage system
US6148382A (en) Arrangement for filtering data item updates to reduce the number of updates to a data item to be stored on mass data storage facility
CN101303696A (zh) 在网络上定位文件的***和方法
US6629199B1 (en) Digital data storage system including directory for efficiently providing formatting information for stored records and utilization of a check value for verifying that a record is from a particular storage location
US6029229A (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
US6839763B1 (en) System and method for expediting transfer of data from a local storage facility to a remote storage facility
US6330655B1 (en) Digital data storage subsystem including directory for efficiently providing formatting information for stored records
JPH069041B2 (ja) メツセージ記憶方法及びシステム
US5809435A (en) Efficient index arrangement and method for identifying valid records stored on logging digital data storage subsystem
US6842843B1 (en) Digital data storage subsystem including arrangement for increasing cache memory addressability
US5802557A (en) System and method for caching information in a digital data storage subsystem
JP2001084112A (ja) 情報記録制御システムおよび情報記録制御方法
EP0417396A2 (en) Distributed image storage and retrieval system
JPH09297702A (ja) 情報処理装置及びシステム及びその制御方法
JP3313207B2 (ja) 情報記憶装置及び情報管理方法

Legal Events

Date Code Title Description
LAPS Cancellation because of no payment of annual fees