JP3674988B2 - Client / server system - Google Patents

Client / server system Download PDF

Info

Publication number
JP3674988B2
JP3674988B2 JP19916195A JP19916195A JP3674988B2 JP 3674988 B2 JP3674988 B2 JP 3674988B2 JP 19916195 A JP19916195 A JP 19916195A JP 19916195 A JP19916195 A JP 19916195A JP 3674988 B2 JP3674988 B2 JP 3674988B2
Authority
JP
Japan
Prior art keywords
client
server
link
data
processing
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
JP19916195A
Other languages
Japanese (ja)
Other versions
JPH0926881A (en
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.)
Fujifilm Business Innovation Corp
Original Assignee
Fuji Xerox Co Ltd
Fujifilm Business Innovation 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 Fuji Xerox Co Ltd, Fujifilm Business Innovation Corp filed Critical Fuji Xerox Co Ltd
Priority to JP19916195A priority Critical patent/JP3674988B2/en
Publication of JPH0926881A publication Critical patent/JPH0926881A/en
Application granted granted Critical
Publication of JP3674988B2 publication Critical patent/JP3674988B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【産業上の利用分野】
本発明は、サーバ側でデータに更新処理を施すことに起因して、クライアント側に備えたエンドユーザプログラムを自動的に起動させて種々な処理を実行させるクライアント・サーバシステムに関する。
【0002】
【従来の技術】
コンピュータを用いたデータ処理においては、ユーザが使い易い環境を整えたり特殊なデータ処理を行うために、マクロ言語で作成したエンドユーザプログラム(或いは、カスタマイズプログラム)を設定する場合がある。
例えば、特開平4−195458号公報に記載される文書処理装置では、入力された文字記号により文書を作成する文書処理装置に、文書中の特殊な項目部分について入力すべきデータを発生するエンドユーザプログラムを設け、キーボードからユーザによって要求が入力されると、この要求に基づいてエンドユーザプログラムが実行されて、文書中の特殊な項目部分に日付等の入力すべきデータを発生して格納するようにしている。
【0003】
このようなエンドユーザプログラムはクライアント・サーバシステムにおいても用いられており、例えば、特開平6−68046号公報には応用システムの構築にエンドユーザプログラムを利用したクライアント・サーバシステムが記載されている。
このクライアント・サーバシステムは、サーバにエンドユーザプログラムを設け、クライアントからの要求によってサーバのエンドユーザプログラムが所定の処理を実行して、その結果をクライアントへ返信するシステムであり、プロセス間通信によってクライアントとサーバとを連携させている。
【0004】
【発明が解決しようとする課題】
しかしながら、従来にあってはクライアントとサーバとを連携させたとしても、エンドユーザプログラムはユーザやクライアントからの要求によって所定の処理を実行するものであり、サーバのデータ処理結果に基づいてクライアント側のエンドユーザプログラムが自動的に所定の処理を実行することはできなかった。
【0005】
例えば、Windows(米国マイクロソフト社の商標)がサポートするダイナミックデータエクスチェンジ(DDE)ではホットリンク(hot link)と称するプロセス間通信機能があり、このホットリンクではサーバでデータ更新処理を行った結果がクライアントへ適宜自動的に通知される。このように通知されたデータはクライアントにおいてメモリを上書きして格納されるが、例えばデータの更新履歴を残す必要がある場合には、更新処理されたデータをそれぞれ別ファイルとして保存処理するエンドユーザプログラムをクライアントに設けておけばよい。
【0006】
しかしながら、従来では上記のようにエンドユーザプログラムを自動的に実行させることができなかったため、更新履歴を残そうとする場合には、サーバからの更新通知がある毎にユーザが要求を入力してエンドユーザプログラムを起動させ、更新データの保存処理を行わせなければならなかった。
このような事情は、クライアントに集計保存処理を行うエンドユーザプログラムを設け、サーバでのデータ更新処理の結果をクライアント側で集計して、その都度別ファイルとして保存しようとする場合にも同様であり、エンドユーザプログラムを利用した真の連携がクライアントとサーバとの間で実現されてはいなかった。
【0007】
本発明は、上記従来の事情に鑑みなされたもので、クライアント・サーバシステムにおいて、エンドユーザプログラムの起動にユーザの介在を必要としない真の連携処理を実現することを目的とする。
【0008】
【課題を解決するための手段】
上記目的を達成するため、請求項1に記載したクライアント・サーバシステムは、データ処理を行うサーバと、サーバが処理したデータに基づいて所定の処理を実行するクライアントとを備え、クライアントからの要求に基づいてサーバとクライアントとの間にメッセージ交換を行うリンクを確立するクライアント・サーバシステムにおいて、サーバは、リンクを介してメッセージを送受信する通信手段と、処理対象のデータを格納する記憶手段と、記憶手段に格納されたデータに更新処理を施す処理手段と、を備え、クライアントは、リンクを介してメッセージを送受信する通信手段と、データに所定の処理を施すエンドユーザプログラムと、サーバからの更新処理通知メッセージに基づいてエンドユーザプログラムを起動する起動手段と、を備えたことを特徴とする。
【0009】
また、請求項2に記載したクライアント・サーバシステムは、請求項1に記載のクライアント・サーバシステムにおいて、サーバの記憶手段には項目によって識別される複数のデータが格納されており、クライアントの起動手段は更新処理通知メッセージに基づいて項目に対応するエンドユーザプログラムを起動することを特徴とする。
【0010】
また、請求項3に記載したクライアント・サーバシステムは、請求項2に記載のクライアント・サーバシステムにおいて、リンクはクライアントからの項目を指定したリンク確立要求メッセージに基づいて確立され、サーバは指定された項目のデータメッセージを送信するリンクを指定したリンク確立応答メッセージをクライアントへ送信するとともに、更新処理通知メッセージに当該リンクの識別子を含ませて送信し、クライアントは管理手段によってリンク確立応答メッセージに基づいて指定した項目に該当するリンク識別子と当該項目のデータに所定の処理を施すエンドユーザプログラムとを対応付けて管理し、当該管理手段が更新処理通知メッセージに含まれたリンク識別子に基づいて指定した項目に対応するエンドユーザプログラムを起動手段に起動させて、当該更新処理通知メッセージに含まれたデータに所定の処理を施すことを特徴とする。
【0011】
【作用】
請求項1のクライアント・サーバシステムでは、クライアントとサーバとの間にホットリンク等のプロセス間通信リンクを確立して、クライアントとサーバとの間でメッセージ交換を行う。そして、このメッセージ交換において、クライアントがサーバから更新処理通知メッセージを受信すると、この通知に基づいてクライアントの起動手段がエンドユーザプログラムを起動する。この結果、エンドユーザプログラムがサーバから更新処理通知メッセージに基づいて自動的に起動されて、マクロ言語で記述された所定の処理を実行する。
【0012】
また、請求項2のクライアント・サーバシステムでは、サーバが更新処理するデータが複数ある場合には、これらを項目によってそれぞれ区別し、起動手段はサーバから更新処理通知メッセージに基づいて、項目に対応するエンドユーザプログラムを自動的に起動する。
また、請求項3のクライアント・サーバシステムでは、クライアントが指定した項目毎にリンクが確立され、クライアントの管理手段は、このリンクの識別子によって、サーバで更新処理された項目に対応するエンドユーザプログラムを特定し、このエンドユーザプログラムを起動手段により起動させて更新履歴の保存処理等といった所定の処理を実行させる。
【0013】
なお、本発明は、パーソナルコンピュータ等といった同一のマシンにインストールした、クライアントアプリケーションプログラムとサーバアプリケーションプログラムとで構成したクライアント・サーバシステムのみならず、ワークステーション等の別個のマシンをネットワークで接続した、クライアントマシンとサーバマシンとで構成したクライアント・サーバシステムにも適用することができる。
【0014】
【実施例】
本発明の実施例を図面を参照して説明する。
まず、本発明に係るクライアント・サーバシステムを実施する態様例を説明する。
図1は同一のマシン上で実施した例を示しており、クライアントアプリケーションとサーバアプリケーションとの間にホットリンクHLを確立させてプロセス間通信を行っている。
すなわち、リンクのタイプであるホットリンク、サーバ側のアプリケーション名、サーバ側のデータの項目、クライアント側のオブジェクト名、クライアント側で起動させるエンドユーザプログラム名等をユーザが入力して、クライアントアプリケーションとサーバアプリケーションとの間にホットリンクHLを確立させる。
【0015】
そして、サーバアプリケーションプログラムが指定された項目のデータオブジェクトSD(例えば、表データ)に更新処理を施すと、この更新通知がホットリンクHLを介してクライアントアプリケーションに通知されて、ユーザ指定されたクライアント側のオブジェクト(例えば、表データ)CDに反映される。そして、クライアント側では、この更新通知に基づいて、ユーザ指定したエンドユーザプログラムが自動的に起動され、更新履歴の保存処理が実行される。
【0016】
図2はネットワークで接続された別個のマシン上で実施した例を示しており、クライアントマシンとサーバマシンとの間にネットワークNTを介してホットリンクHLを確立させてプロセス間通信を行っている。
この態様では、ユーザがクライアントマシンからサーバマシン名とともに上記した各事項を入力して、クライアントマシンとサーバマシンとの間にホットリンクHLを確立させる。
そして、サーバマシンが指定された項目のデータオブジェクトSDに更新処理を施すと、この更新通知がホットリンクHLを介してクライアントマシンに通知されて、ユーザ指定されたクライアント側のオブジェクトCDに反映される。そして、クライアント側では、この更新通知に基づいて、ユーザ指定したエンドユーザプログラムが自動的に起動され、更新履歴の保存処理が実行される。
【0017】
図3にはネットワークNTで接続したクライアントマシンCとサーバマシンSとから構成されるクライアント・サーバシステムを示してある。
クライアントCには、ネットワークNTを介してメッセージ交換を行う通信手段1と、受信したメッセージやクライアント側のオブジェクトを格納するメモリ2と、それぞれ履歴保存処理等の所定の処理手続きがマクロ言語で記述された複数のエンドユーザプログラム3と、エンドユーザプログラム3を起動させる起動手段4と、起動させるべきエンドユーザプログラム3を特定するプログラム管理手段5と、メッセージ交換やメッセージ格納といったクライアントCの各機能手段による処理を統括して制御する制御手段6と、を備えている。
プログラム管理手段5は、リンク識別子(リンクID)とエンドユーザプログラム名とが対応付けて記述されるテーブル7を有しており、このテーブル7の記述に基づいて起動させるべきエンドユーザプログラム3を特定する。
【0018】
サーバSには、ネットワークNTを介してメッセージ交換を行うとともにネットワークNT上にホットリンクHLを確立させる通信手段11と、処理対象のデータオブジェクトSDを格納するメモリ12と、メモリ12に格納されたデータオブジェクトSDに編集等の更新処理を施す処理手段13と、処理手段13による更新処理をクライアントCへ通知するためのメッセージを作成する通知手段14と、を備えている。
なお、それぞれのデータオブジェクトSDには一義的な項目が付されており、これら項目によって各データオブジェクトSDが指定される。
【0019】
上記した通信手段1、11、起動手段4、プログラム管理手段5、制御手段6、処理手段13、通知手段14は、それぞれの機能を司るプログラムとCPUやRAM等のハードウエアから構成され、エンドユーザプログラム3はこれらハードウエアを利用してマクロ言語で記述された指定の処理を実行する。また、メモリ2、12はRAM等の読み出し書き込み自在な記憶手段から構成され、データを読み書きする手段を有している。
【0020】
上記構成のクライアント・サーバシステムにおける動作を図4〜図7を参照して説明する。なお、図5はクライアントC側での処理手順、図6はリンク確立時におけるサーバS側での処理手順、図7はデータ更新時におけるサーバS側での処理手順をそれぞれ示している。
【0021】
まず、クライアントCとサーバSとの間にホットリンクHLを確立する場合には、クライアントCに備えられているキーボード等の入力手段から、ホットリンクを張る相手のサーバ名(サーバID)、リンクのタイプであるホットリンク、サーバ側のデータSDの項目、当該項目のデータSDについて所定の処理を行うエンドユーザプログラム名等とともにリンク確立要求をユーザが入力する。この結果、図4の(a)に示すように、送信元を示すクライアントID、送信先を示すサーバID、指定された項目を示す項目ID、ホットリンクを示すリンク種別等を含むリンク確立要求メッセージが通信手段1からネットワークNTを介してサーバの通信手段11へ送信される(ステップS1)。
【0022】
サーバS側ではリンク確立要求メッセージに対応して後述するようにリンク確立処理を行い、ホットリンクが確立されるときには、図4の(b)に示すように、送信元を示すサーバID、送信先を示すクライアントID、指定された項目を示す項目ID、確立されたホットリンクHLを示すリンクID等を含むリンク確立応答メッセージが通信手段11からネットワークNTを介してクライアントCへ返信される。クライアントCは、このリンク確立応答メッセージの受信を監視し(ステップS2)、リンク確立要求メッセージを送信した後の所定の時間以内にリンク確立応答メッセージを受信できない場合には(ステップS3)、ホットリンクが確立されないものとして、エラー処理を行って処理を終了する(ステップS4)。
【0023】
一方、所定時間以内にリンク確立応答メッセージを受信した場合には、このメッセージを通信手段で受信処理し(ステップS5)、プログラム管理手段5がユーザによって指定入力されたエンドユーザプログラム名と対応付けてこのメッセージに含まれているリンクIDをテーブル7に書き込む(ステップS6)。
ここで、ホットリンクHLは項目毎にそれぞれ確立されるため、テーブル7においては、確立されたホットリンクIDによって、指定された項目に対応するエンドユーザプログラムが対応付けられる。
【0024】
そして、サーバの処理手段13が指定された項目のデータSDに更新処理を施すと、後述するようにクライアントCに対して更新通知メッセージを送信する。この更新通知メッセージは、図4の(c)に示すように、送信元を示すサーバID、送信先を示すクライアントID、指定された項目についてのリンクID、更新されたデータSD等を含んでおり、通信手段11からホットリンクHLを介してクライアントCへ送信される。
クライアントCは、この更新通知メッセージの受信を監視し(ステップS7)、予め設定した所定の時間以内に更新通知メッセージを受信できない場合には(ステップS8)、何らかの障害が生じたものとして、エラー処理を行って処理を終了する(ステップS4)。
【0025】
一方、所定時間以内に更新通知メッセージを受信した場合には、このメッセージをメモリ2に格納し、このメッセージに含まれているリンクIDによってプログラム管理手段5がテーブル7を検索する(ステップS9)。
そして、リンクIDに対応するエンドユーザプログラム名がテーブル7に存在しない場合には、後述するプログラム起動を行わずに正常処理する一方、対応するエンドユーザプログラム名が存在する場合には(ステップS10)、起動手段4が当該プログラム名で特定されるエンドユーザプログラム3を起動させる(ステップS11)。
【0026】
この結果、エンドユーザプログラム3が所定の処理を実行して処理を終了する(ステップS12)。なお、エンドユーザプログラム3が予め設定した所定時間以内に処理を終了しえない場合には、何らかの障害が生じたものとして、エラー処理を行って処理を終了する(ステップS4)。
したがって、サーバSから送信された更新通知メッセージに基づいて、対応するエンドユーザプログラム3が自動的に起動され、更新通知メッセージに含ませられてメモリ2に格納されている更新されたデータSDについて履歴を保存する等といった所定の処理がエンドユーザプログラム3によって実行される。
【0027】
上記したサーバS側でのリンク確立処理では、サーバSはリンク確立要求メッセージを受信するかを監視し(ステップS21)、このメッセージを受信したときには、メッセージに含まれている項目IDからメモリ12に対応するする項目のデータSDが格納されているかを処理手段13が検索する(ステップS22)。
この結果、対応する項目のデータSDが格納されていない場合には(ステップS23)、エラー処理を行って処理を終了する一方(ステップS24)、対応する項目のデータSDが格納されている場合には通信手段11が当該項目のデータSDについてのホットリンクHLをネットワークNTを介して確立させる(ステップS25)。
【0028】
このリンク確立処理が失敗した場合にはエラー処理を行って処理を終了する一方(ステップS26、S24)、リンク確立処理が成功した場合には、リンク確立応答メッセージをホットリンクHLを介してクライアントCへ返信して処理を終了する(ステップS26、S27)。
すなわち、指定された項目毎のホットリンクHLがネットワークNT上に確立され、このホットリンクHLを介してクライアントCとサーバSとの間のプロセス通信が行われる。
【0029】
そして、サーバの処理手段13がメモリ12に格納されているデータSDに編集等の更新処理を施し、この更新処理においてホットリンクHLが確立されている項目のデータSDが更新されたときには(ステップS31)、通知手段14が更新通知メッセージを作成して通信手段11へこのメッセージを受け渡し、対応するリンクIDのホットリンクHLを介してサーバの通信手段11からクライアントCへ送信して処理を終了する(ステップS32)。
【0030】
なお、上記の実施例ではホットリンクを例にとって説明したが、リンクの名称に係わらず、サーバ側で行った更新処理の結果をその都度クライアント側へ通知する機能を有したリンクであれば、本発明を適用することができる。
また、上記の実施例では指定された項目とエンドユーザプログラムとの対応をリンクIDをもって関係付けたが、サーバ側で項目とリンクとの対応関係を管理しておけば、更新通知メッセージやテーブル7において、項目IDをもってエンドユーザプログラムと対応付けることが可能である。
【0031】
また、上記の実施例ではエンドユーザプログラム及びデータオブジェクトを複数設定していることからプログラム管理手段による対応付け管理が必要となるが、簡易なシステム構成として、エンドユーザプログラムやデータオブジェクトを単数とした場合にはこのような管理を省略することが可能である。
【0032】
【発明の効果】
以上詳細に説明したように、本発明に係るクライアント・サーバシステムによると、サーバからの更新処理通知に応答して起動手段がクライアント側のエンドユーザプログラムを自動的に起動させるようにしたため、ユーザ操作を介在せずに、更新されたデータについての更新履歴を保存する等の連携処理をクライアント側において実行することができる。
したがって、サーバにおいてデータが時々刻々更新されるようなシステムをエンドユーザプログラムで制御する場合等において、ユーザ操作や特別な監視手段を必要とせずに、データ変更に応じた所定の処理を実行することができ、目的や用途に応じた柔軟なシステムを構築することができる。
【図面の簡単な説明】
【図1】 本発明を同一のマシンで実施した一態様を説明する概念図である。
【図2】 本発明を一対のマシンで実施した一態様を説明する概念図である。
【図3】 本発明の一実施例に係るシステムを示す構成図である。
【図4】 メッセージの内容を示す図であり、(a)はリンク確立要求メッセージ、(b)はリンク確立応答メッセージ、(c)は更新通知メッセージである。
【図5】 クライアント側での処理手順を示すフローチャートである。
【図6】 リンク確立に際してのサーバ側での処理手順を示すフローチャートである。
【図7】 データ更新に際してのサーバ側での処理手順を示すフローチャートである。
【符号の説明】
1、11・・・通信手段、 3・・・エンドユーザプログラム、
4・・・起動手段、 5・・・プログラム管理手段、
13・・・処理手段、 C・・・クライアント、 S・・・サーバ、
HL・・・ホットリンク、 SD・・・データオブジェクト、
[0001]
[Industrial application fields]
The present invention relates to a client / server system which automatically starts an end user program provided on a client side and executes various processes due to update processing of data on the server side.
[0002]
[Prior art]
In data processing using a computer, an end user program (or customized program) created in a macro language may be set in order to prepare an environment that is easy for the user to use or to perform special data processing.
For example, in a document processing apparatus described in Japanese Patent Application Laid-Open No. 4-195458, an end user who generates data to be input for a special item portion in a document is generated in a document processing apparatus that creates a document with input character symbols. When a program is provided and a request is input by the user from the keyboard, the end user program is executed based on the request, and data to be input such as date is generated and stored in a special item portion in the document. I have to.
[0003]
Such an end user program is also used in a client / server system. For example, Japanese Patent Application Laid-Open No. 6-68046 describes a client / server system using an end user program for constructing an application system.
This client / server system is a system in which an end user program is provided in a server, the end user program of the server executes a predetermined process in response to a request from the client, and the result is returned to the client. And the server are linked.
[0004]
[Problems to be solved by the invention]
However, in the past, even if the client and the server are linked, the end user program executes a predetermined process in response to a request from the user or the client. Based on the data processing result of the server, the client side The end user program cannot automatically execute a predetermined process.
[0005]
For example, the dynamic data exchange (DDE) supported by Windows (trademark of Microsoft Corporation in the United States) has an inter-process communication function called hot link. In this hot link, the result of data update processing performed by the server is the client. Will be automatically notified as appropriate. The data notified in this way is stored in the client by overwriting the memory. For example, when it is necessary to leave an update history of the data, the end user program that saves the updated data as separate files. Should be provided to the client.
[0006]
However, since the end user program could not be automatically executed as described above, the user inputs a request every time there is an update notification from the server in order to keep an update history. The end user program had to be started and update data saved.
The same situation applies when an end-user program that performs aggregation and storage processing is provided on the client, and the results of data update processing at the server are aggregated on the client side and saved as separate files each time. However, true cooperation using an end user program has not been realized between the client and the server.
[0007]
The present invention has been made in view of the above-described conventional circumstances, and an object of the present invention is to realize true linkage processing that does not require user intervention for activation of an end user program in a client / server system.
[0008]
[Means for Solving the Problems]
In order to achieve the above object, a client / server system according to claim 1 includes a server that performs data processing, and a client that executes predetermined processing based on data processed by the server, in response to a request from the client. In a client / server system that establishes a link for exchanging messages between a server and a client based on the server, the server includes communication means for transmitting and receiving messages via the link, storage means for storing data to be processed, and storage Processing means for performing update processing on the data stored in the means, and the client is a communication means for transmitting and receiving messages via a link, an end user program for performing predetermined processing on the data, and update processing from the server Starting means for starting an end-user program based on the notification message; Characterized by comprising a.
[0009]
The client / server system according to claim 2 is the client / server system according to claim 1, wherein a plurality of data identified by the item is stored in the storage means of the server, and the client activation means Is characterized in that the end user program corresponding to the item is started based on the update processing notification message.
[0010]
The client / server system according to claim 3 is the client / server system according to claim 2, wherein the link is established based on a link establishment request message specifying an item from the client, and the server is designated. A link establishment response message specifying the link for transmitting the item data message is transmitted to the client, and the update processing notification message is transmitted including the identifier of the link, and the client uses the management means based on the link establishment response message. The link identifier corresponding to the specified item and the end user program that performs predetermined processing on the data of the item are managed in association with each other, and the management unit specifies the item based on the link identifier included in the update processing notification message End-user program corresponding to It was allowed to start activation means, and characterized by applying the update notification predetermined processing on the included data in the message.
[0011]
[Action]
In the client / server system according to the first aspect, an interprocess communication link such as a hot link is established between the client and the server, and messages are exchanged between the client and the server. In this message exchange, when the client receives an update processing notification message from the server, the client activation means activates the end user program based on this notification. As a result, the end user program is automatically activated from the server based on the update process notification message, and executes a predetermined process described in the macro language.
[0012]
In the client / server system according to claim 2, when there are a plurality of data to be updated by the server, these are distinguished by items, respectively, and the activation means responds to the items based on the update processing notification message from the server. Automatically start the end user program.
In the client / server system according to claim 3, a link is established for each item designated by the client, and the client management means uses the link identifier to execute an end user program corresponding to the item updated by the server. Then, the end user program is activated by the activation means, and predetermined processing such as update history saving processing is executed.
[0013]
The present invention is not limited to a client / server system configured by a client application program and a server application program installed on the same machine such as a personal computer, but also a client in which separate machines such as workstations are connected via a network. The present invention can also be applied to a client / server system composed of a machine and a server machine.
[0014]
【Example】
Embodiments of the present invention will be described with reference to the drawings.
First, an example of implementation of the client / server system according to the present invention will be described.
FIG. 1 shows an example implemented on the same machine, and inter-process communication is performed by establishing a hot link HL between a client application and a server application.
In other words, the user inputs the link type, such as hot link, server-side application name, server-side data item, client-side object name, end-user program name to be started on the client side, and the client application and server. A hot link HL is established with the application.
[0015]
When the server application program updates the data object SD (for example, table data) of the specified item, this update notification is notified to the client application via the hot link HL, and the client side specified by the user Objects (for example, table data) are reflected in the CD. On the client side, the end-user program designated by the user is automatically started based on the update notification, and update history saving processing is executed.
[0016]
FIG. 2 shows an example implemented on separate machines connected by a network. A hot link HL is established between a client machine and a server machine via a network NT to perform inter-process communication.
In this aspect, the user inputs each item described above together with the server machine name from the client machine, and establishes a hot link HL between the client machine and the server machine.
When the server machine performs update processing on the data object SD of the designated item, this update notification is notified to the client machine via the hot link HL and reflected on the client-side object CD designated by the user. . On the client side, the end-user program designated by the user is automatically started based on the update notification, and update history saving processing is executed.
[0017]
FIG. 3 shows a client / server system composed of a client machine C and a server machine S connected by a network NT.
In the client C, a communication means 1 for exchanging messages via the network NT, a memory 2 for storing received messages and client-side objects, and predetermined processing procedures such as history saving processing are described in a macro language. A plurality of end user programs 3, an activation means 4 for activating the end user program 3, a program management means 5 for specifying the end user program 3 to be activated, and each function means of the client C such as message exchange and message storage And control means 6 for controlling and controlling the processing.
The program management means 5 has a table 7 in which a link identifier (link ID) and an end user program name are described in association with each other, and specifies an end user program 3 to be started based on the description of the table 7 To do.
[0018]
The server S includes a communication means 11 for exchanging messages via the network NT and establishing a hot link HL on the network NT, a memory 12 for storing a data object SD to be processed, and data stored in the memory 12 A processing unit 13 that performs an update process such as editing on the object SD and a notification unit 14 that creates a message for notifying the client C of the update process by the processing unit 13 are provided.
Each data object SD is given a unique item, and each data object SD is designated by these items.
[0019]
The communication means 1, 11, start-up means 4, program management means 5, control means 6, processing means 13, and notification means 14 are composed of programs that control the respective functions and hardware such as CPU and RAM, and are used by end users. The program 3 executes designated processing described in a macro language using these hardware. Further, the memories 2 and 12 are constituted by storage means such as RAM which can be read and written, and have means for reading and writing data.
[0020]
The operation of the client / server system configured as described above will be described with reference to FIGS. 5 shows a processing procedure on the client C side, FIG. 6 shows a processing procedure on the server S side when a link is established, and FIG. 7 shows a processing procedure on the server S side when updating data.
[0021]
First, when the hot link HL is established between the client C and the server S, the server name (server ID) of the other party that establishes the hot link and the link name are entered from the input means such as a keyboard provided in the client C. The user inputs a link establishment request together with the type of hot link, the item of data SD on the server side, the name of the end user program that performs predetermined processing on the data SD of the item, and the like. As a result, as shown in FIG. 4A, a link establishment request message including a client ID indicating a transmission source, a server ID indicating a transmission destination, an item ID indicating a specified item, a link type indicating a hot link, and the like. Is transmitted from the communication means 1 to the communication means 11 of the server via the network NT (step S1).
[0022]
On the server S side, link establishment processing is performed in response to the link establishment request message as will be described later. When a hot link is established, as shown in FIG. 4B, the server ID indicating the transmission source, the transmission destination A link establishment response message including the client ID indicating the item ID, the item ID indicating the designated item, the link ID indicating the established hot link HL, and the like is returned from the communication unit 11 to the client C via the network NT. The client C monitors the reception of the link establishment response message (step S2), and if it cannot receive the link establishment response message within a predetermined time after transmitting the link establishment request message (step S3), the hot link Is not established, error processing is performed and the processing is terminated (step S4).
[0023]
On the other hand, if a link establishment response message is received within a predetermined time, this message is received by the communication means (step S5), and the program management means 5 associates it with the end user program name designated and input by the user. The link ID included in this message is written in the table 7 (step S6).
Here, since the hot link HL is established for each item, in the table 7, the end user program corresponding to the designated item is associated with the established hot link ID.
[0024]
When the server processing means 13 performs update processing on the data SD of the designated item, an update notification message is transmitted to the client C as will be described later. As shown in FIG. 4C, the update notification message includes a server ID indicating a transmission source, a client ID indicating a transmission destination, a link ID for a specified item, updated data SD, and the like. The data is transmitted from the communication unit 11 to the client C via the hot link HL.
The client C monitors the reception of this update notification message (step S7), and if it cannot receive the update notification message within a predetermined time set in advance (step S8), it is assumed that some trouble has occurred and error processing is performed. To end the process (step S4).
[0025]
On the other hand, if an update notification message is received within a predetermined time, this message is stored in the memory 2, and the program management means 5 searches the table 7 by the link ID included in this message (step S9).
If the end user program name corresponding to the link ID does not exist in the table 7, normal processing is performed without starting the program described later, whereas if the corresponding end user program name exists (step S10). Then, the activation means 4 activates the end user program 3 specified by the program name (step S11).
[0026]
As a result, the end user program 3 executes a predetermined process and ends the process (step S12). If the end user program 3 cannot finish the process within a predetermined time set in advance, it is assumed that some trouble has occurred and an error process is performed to end the process (step S4).
Therefore, based on the update notification message transmitted from the server S, the corresponding end user program 3 is automatically activated, and the history of the updated data SD included in the update notification message and stored in the memory 2 is recorded. The end user program 3 executes a predetermined process such as saving.
[0027]
In the above-described link establishment process on the server S side, the server S monitors whether a link establishment request message is received (step S21), and when this message is received, the item ID contained in the message is stored in the memory 12. The processing means 13 searches whether the data SD of the corresponding item is stored (step S22).
As a result, when the data SD of the corresponding item is not stored (step S23), the error processing is performed and the process is terminated (step S24), while the data SD of the corresponding item is stored. The communication means 11 establishes the hot link HL for the data SD of the item via the network NT (step S25).
[0028]
If this link establishment process fails, an error process is performed and the process is terminated (steps S26 and S24). If the link establishment process is successful, a link establishment response message is sent to the client C via the hot link HL. To end the processing (steps S26 and S27).
That is, a hot link HL for each designated item is established on the network NT, and process communication between the client C and the server S is performed via the hot link HL.
[0029]
Then, when the processing means 13 of the server performs update processing such as editing on the data SD stored in the memory 12, the data SD of the item for which the hot link HL is established is updated in this update processing (step S31). ), The notification means 14 creates an update notification message and delivers this message to the communication means 11, which is transmitted from the communication means 11 of the server to the client C via the hot link HL of the corresponding link ID, and the processing is terminated ( Step S32).
[0030]
In the above embodiment, a hot link has been described as an example. However, if the link has a function of notifying the client side of the result of update processing performed on the server side regardless of the name of the link, this link is used. The invention can be applied.
In the above embodiment, the correspondence between the specified item and the end user program is associated with the link ID. However, if the correspondence between the item and the link is managed on the server side, the update notification message and the table 7 are associated. The item ID can be associated with the end user program.
[0031]
In the above embodiment, since a plurality of end user programs and data objects are set, it is necessary to manage the association by the program management means. However, as a simple system configuration, a single end user program or data object is used. In some cases, such management can be omitted.
[0032]
【The invention's effect】
As described above in detail, according to the client / server system of the present invention, the activation means automatically activates the client-side end user program in response to the update processing notification from the server. It is possible to execute cooperative processing, such as saving an update history for updated data, on the client side without intervening.
Therefore, when a system in which data is updated every moment in the server is controlled by an end user program, a predetermined process corresponding to the data change is executed without requiring a user operation or special monitoring means. It is possible to build a flexible system according to the purpose and application.
[Brief description of the drawings]
FIG. 1 is a conceptual diagram illustrating an embodiment in which the present invention is implemented on the same machine.
FIG. 2 is a conceptual diagram illustrating an embodiment in which the present invention is implemented by a pair of machines.
FIG. 3 is a block diagram showing a system according to an embodiment of the present invention.
4A and 4B are diagrams showing the contents of a message, where FIG. 4A is a link establishment request message, FIG. 4B is a link establishment response message, and FIG. 4C is an update notification message.
FIG. 5 is a flowchart showing a processing procedure on the client side.
FIG. 6 is a flowchart showing a processing procedure on the server side when a link is established.
FIG. 7 is a flowchart showing a processing procedure on the server side when data is updated.
[Explanation of symbols]
1, 11 ... communication means, 3 ... end user program,
4 ... start-up means, 5 ... program management means,
13 ... Processing means, C ... Client, S ... Server,
HL ... hot link, SD ... data object,

Claims (5)

データ処理を行うサーバと、サーバが処理したデータに基づいて所定の処理を実行するクライアントとを備え、クライアントからの要求に基づいてサーバとクライアントとの間にメッセージ交換を行うリンクを確立するクライアント・サーバシステムにおいて、
サーバは、リンクを介してメッセージを送受信する第1の通信手段と、処理対象のデータを格納する記憶手段と、記憶手段に格納されたデータに更新処理を施す処理手段と、を備え、
クライアントは、リンクを介してメッセージを送受信する第2の通信手段と、所定のデータ処理を実行するエンドユーザプログラムと、サーバからの更新処理通知メッセージに基づいて対応するエンドユーザプログラムを起動する起動手段と、を備えたことを特徴とするクライアント・サーバシステム。
A client that includes a server that performs data processing and a client that executes predetermined processing based on data processed by the server, and that establishes a link for exchanging messages between the server and the client based on a request from the client In the server system,
The server includes first communication means for transmitting and receiving messages via a link, storage means for storing data to be processed, and processing means for performing update processing on the data stored in the storage means,
Client starts second means for transmitting / receiving message via link, end user program for executing predetermined data processing, and start means for starting corresponding end user program based on update processing notification message from server And a client / server system.
請求項1に記載のクライアント・サーバシステムにおいて、
サーバの記憶手段には項目によって識別される複数のデータが格納されており、
クライアントの起動手段は更新処理通知メッセージに基づいて項目に対応するエンドユーザプログラムを起動することを特徴とするクライアント・サーバシステム。
The client / server system according to claim 1,
The storage means of the server stores a plurality of data identified by items,
A client / server system characterized in that a client activation unit activates an end user program corresponding to an item based on an update processing notification message.
請求項2に記載のクライアント・サーバシステムにおいて、
リンクはクライアントからの項目を指定したリンク確立要求メッセージに基づいて確立され、
サーバは指定された項目のデータメッセージを送信するリンクを指定したリンク確立応答メッセージをクライアントへ送信するとともに、更新処理通知メッセージに当該リンクの識別子を含ませて送信し、
クライアントは管理手段によってリンク確立応答メッセージに基づいて指定した項目に該当するリンク識別子と当該項目のデータに所定の処理を施すエンドユーザプログラムとを対応付けて管理し、当該管理手段が更新処理通知メッセージに含まれたリンク識別子に基づいて指定した項目に対応するエンドユーザプログラムを起動手段に起動させて、当該更新処理通知メッセージに含まれたデータに所定の処理を施すことを特徴とするクライアント・サーバシステム。
The client / server system according to claim 2,
The link is established based on the link establishment request message specifying the item from the client,
The server sends a link establishment response message specifying the link for sending the data message of the specified item to the client, and sends the update processing notification message including the identifier of the link,
The client manages the link identifier corresponding to the item specified based on the link establishment response message by the management means in association with the end user program for performing predetermined processing on the data of the item, and the management means updates the update processing notification message. A client server characterized in that an end user program corresponding to an item designated based on a link identifier included in the server is activated by an activation unit, and predetermined processing is performed on data included in the update processing notification message system.
データ処理を行うサーバと、サーバが処理したデータに基づいて所定の処理を実行するクライアントとが行うデータ処理方法において、In a data processing method performed by a server that performs data processing and a client that executes predetermined processing based on data processed by the server,
クライアントとサーバとが、クライアントからの要求に基づいてサーバとクライアントとの間にメッセージ交換を行うリンクを確立し、  The client and server establish a link for exchanging messages between the server and the client based on the request from the client,
サーバが、データに更新処理を施し、当該更新処理通知メッセージを前記リンクを介してクライアントへ送信し、  The server performs an update process on the data, sends the update process notification message to the client via the link,
クライアントが、サーバからの更新処理通知メッセージに基づいて、所定のデータ処理を実行する対応するエンドユーザプログラムを自動的に起動することを特徴とするデータ処理方法。  A data processing method, wherein a client automatically starts a corresponding end user program for executing predetermined data processing based on an update processing notification message from a server.
サーバとの間に確立されたリンクを介して受信したデータ更新処理通知メッセージに基づいて、対応する処理を実行するクライアントであって、A client that executes a corresponding process based on a data update process notification message received via a link established with a server,
リンクを介してメッセージを受信する通信手段と、所定のデータ処理を実行するエンドユーザプログラムと、サーバからの更新処理通知メッセージに基づいて対応するエンドユーザプログラムを起動する起動手段と、を備えたことを特徴とするクライアント。  Communication means for receiving a message via a link, an end user program for executing predetermined data processing, and an activation means for starting a corresponding end user program based on an update processing notification message from a server Featuring clients.
JP19916195A 1995-07-12 1995-07-12 Client / server system Expired - Fee Related JP3674988B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP19916195A JP3674988B2 (en) 1995-07-12 1995-07-12 Client / server system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP19916195A JP3674988B2 (en) 1995-07-12 1995-07-12 Client / server system

Publications (2)

Publication Number Publication Date
JPH0926881A JPH0926881A (en) 1997-01-28
JP3674988B2 true JP3674988B2 (en) 2005-07-27

Family

ID=16403181

Family Applications (1)

Application Number Title Priority Date Filing Date
JP19916195A Expired - Fee Related JP3674988B2 (en) 1995-07-12 1995-07-12 Client / server system

Country Status (1)

Country Link
JP (1) JP3674988B2 (en)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5247520A (en) * 1989-10-13 1993-09-21 International Business Machines Corporation Communications architecture interface
JPH05334161A (en) * 1992-05-28 1993-12-17 Matsushita Electric Ind Co Ltd Multi-server system
JP3490473B2 (en) * 1993-02-17 2004-01-26 松下電器産業株式会社 Communication system between processors
JPH06259302A (en) * 1993-03-04 1994-09-16 Nec Software Kansai Ltd Data update processing system of decentralized computer
JPH0744363A (en) * 1993-07-30 1995-02-14 Fuji Xerox Co Ltd Program starting device

Also Published As

Publication number Publication date
JPH0926881A (en) 1997-01-28

Similar Documents

Publication Publication Date Title
KR100343823B1 (en) Method, Apparatus and Program Storage Device for a Client and Adaptive Synchronization and Transformation Server
US7519950B2 (en) Method and system for version negotiation of distributed objects
JPH0683746A (en) Decentralized information processing system
US5935211A (en) Distributed notification
KR20000052929A (en) Regeneration agent for back-up software
CN111857772B (en) Method and device for remote transmission and dynamic loading of terminal edge application program
JP2008209982A (en) Server device, client device, remote connection system and program
CN107786350B (en) Method and device for restoring factory configuration of network equipment and network equipment
US6470340B1 (en) Inter-program linking system and method thereof
JP3674988B2 (en) Client / server system
JP2005534099A (en) Database synchronization
EP1497720B1 (en) System and method for managing operating system option values
JP2002157219A (en) Method and system for dealing with internet terminal of existent online application, server device and recording medium
JPH06161919A (en) Message control system
JPH08190474A (en) Computer system
JP3494545B2 (en) Distributed computer system, computer and distributed processing method
JPH10326207A (en) Session maintenance control system for www server
JP2000092093A (en) Computer and data repeater
JP3019774B2 (en) Network system remote operation management system, remote operation management method, and medium for storing remote operation management program
JP2002123436A (en) System and method for managing session and computer program
JPH10149326A (en) Method for interaction with remote program user
JP2000163373A (en) Communication terminal restart system
JPH05298223A (en) Information processing system
JPH0520280A (en) Program distributing system in composite electronic computer
KR100327112B1 (en) Method for maintenancing consistency of corba object in distributed object system

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20041101

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20041116

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050114

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20050412

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050425

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20080513

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090513

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100513

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110513

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120513

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130513

Year of fee payment: 8

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20140513

Year of fee payment: 9

LAPS Cancellation because of no payment of annual fees