JP4634547B2 - リアルタイム情報配信方法 - Google Patents
リアルタイム情報配信方法 Download PDFInfo
- Publication number
- JP4634547B2 JP4634547B2 JP19958798A JP19958798A JP4634547B2 JP 4634547 B2 JP4634547 B2 JP 4634547B2 JP 19958798 A JP19958798 A JP 19958798A JP 19958798 A JP19958798 A JP 19958798A JP 4634547 B2 JP4634547 B2 JP 4634547B2
- Authority
- JP
- Japan
- Prior art keywords
- event
- client
- server
- page
- information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Lifetime
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/55—Push-based network services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L67/025—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/30—Definitions, standards or architectural aspects of layered protocol stacks
- H04L69/32—Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
- H04L69/322—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
- H04L69/329—Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
Description
【発明の属する技術分野】
本発明は、クライアントサーバ方式のシステム、例えば情報提供サーバ及び情報表示クライアントがネットワークを介して接続されるシステムに係り、特にサーバ側での情報更新をクライアント側に通知するのに好適なリアルタイム情報配信方法に関する。
【0002】
【従来の技術】
近年、WWW(Wor1d Wide Web)と呼ばれるシステムが社会システムとして浸透し、様々な情報がWWWを介して提供されている。WWWはサーバ(情報提供サーバ)とクライアント(情報表示クライアント)から構成される、インターネットを利用した分散型の情報提供/情報表示(情報閲覧)システムである。一般に、サーバはページと呼ばれる文書単位でクライアントヘ情報を提供する。このページはHTML(HyperText Markup Language)と呼ばれる形式のフォーマットで記述されているファイルである。クライアントは通常、ブラウザと呼ばれる情報表示(情報閲覧)用のソフトウェアを用いて実現されており、サーバにアクセスし、画像や音声などを含む文書を表示することができる。
【0003】
WWWの一般的な使われ方は、ブラウザからサーバに表示したいページのアドレス(URLと呼ばれる)を要求し、サーバはそのアドレスに対応するページをクライアントに返すというものである。ここで注意しなければならないのは、ブラウザから明示的な要求がない限り、サーバは何もしないということである。これは、サーバに蓄えてあるページが変更されても、ブラウザからは変更を即座に知ることができないとことを意味する。
【0004】
サーバにあるページが更新されたことをブラウザ側でできるだけ早く知るためには、ブラウザは常にサーバのページが更新されたかどうかを定期的にアクセスする必要がある。例えば、ニュースや天気予報などのようなサーバ側のページが時々刻々変更されるようなページをブラウザで表示している場合、サーバ側でページが更新されてもブラウザの画面は変わらない。そこで、ユーザが明示的に、ブラウザ(の情報表示画面)に付加されているリロードボタンなどを押すことで、サーバに明示的に再アクセスしなければならない。
【0005】
このような問題を解決するために、ユーザの明示的なリロードを行わなくても、自動的に定期的にサーバにアクセスし、常に最新の情報を表示するようなブラウザが知られている。つまり、ブラウザが情報の更折を、ユーザに代わって白動的に行うものである。代表的な例として、Point Cast社のPointCastや、Marimba社のCastanet Tunerなどが知られている。
【0006】
これらのブラウザでは、自動更新の時間間隔などをユーザが指定できるとか、更新された場合でも無駄なデータを転送しないように差分データだけをブラウザが受け取るような工夫がされている。この種の自動更新を行う機構は、しばしば、プッシュ機構と呼ばれる。その理由は、サーバで更新された情報がTV(テレビジョン)放送のように自動的にブラウザに送られてくるような感覚をユーザに与えるからでる。しかし、実際に更新するのは、ブラウザてあり、単にユーザが明示的にリロードボタンを押す作業をブラウザ側で自動化しているに過ぎない。ここでのプッシュ機構は、次に説明する、より本来の意味に近いプッシュ機構との区別を強調するため、スマートプル機構と呼ばれることもある。
【0007】
さて、サーバ側で更新された情報をブラウザ側で自動的に更新するもう一つの手法について述べる。この手法は、情報提供サーバ(WWWサーバ)が提供するHTMLファイルを拡張し、HTMLファイル中に次回の更新時刻などの情報を記述する手段を設けることである。この場合、このHTMLファイルを受け取ったブラウザは、そのHTMLファイル中に記述されている更新時刻などの情報を利用し、その時刻になったら、サーバに新しい情報の提供を要求することで、サーバヘの無駄なアクセスがなく、あたかもリアルタイムで情報が更新されたかのような効果をブラウザ側で実現することができる。この種の自動更新機構はプッシュ機構と呼ばれる。
【0008】
【発明が解決しようとする課題】
上記したスマートプル機構及びプッシュ機構は、情報を更新する主体がブラウザである点では類似している。スマートプル機構では、サーバの情報が更新されたかどうかをブラウザ側から当該サーバに確認するために、ブラウザが定期的にサーバに自動的にアクセスする。そのため、情報には何ら特別な属性を必要としない半面、サーバの情報が実際には更新されていない場合でも定期的なアクセスを繰り返さなければならず、無駄なアクセスが多いという問題点がある。
【0009】
一方、プッシュ機構では、情報の中の属性として次回に更新する時刻などが記述されたファイル(HTMLファイル)を用いることから、サーバ側の情報が更新されているかどうかを確認するための無駄なアクセスを減らすことができる。しかし、このプッシュ機構では、更新する時刻を予め知ることができるような情報種類のものにしか有効ではない。即ちプッシュ機構では、非同期的に変更されるような情報の場合、クライアントが何時更新してよいか分からないので、問題の解決とはならない。
【0010】
更に、スマートプル機構及びプッシュ機構のどちらの場合でも、更新間隔が極めて短い提供情報、例えば1秒間隔で更新されるような情報に対しては、非常に効率が悪いという問題がある。その理由は次の通りである。一般にサーバとクライアント間で通信を始める際には、送りたいデータを送る前に、まず幾つかの交信のやりとり(ネゴシエーション)を行う必要がある。上記の例では、このネゴシエーションを、1秒間隔で行わなければならない。つまり、提供情報の更新の時間間隔が短い場合、情報本文を送るコストに比べ、このネゴシエーションのコストの比重が高くなり非常に効率が悪くなる。
【0011】
一方、サーバからクライアントのブラウザに更新情報を直接送ることができるならば、上記問題は解決可能となる。しかし、この方式は現状のWWWのフレームワークに照らし合わせると現実的な解決ではない。その理由は次の通りである。
【0012】
まず、現状のWWWでは、サーバとクライアント間に複数の中継サーバが存在することがある。中継サーバの中には、ファイアーウォールと呼ばれる、情報を一方向のみ転送するものがある。このファイアーウォールは、特に企業などにおいて、外部からのシステム(企業内システム)への進入を防ぐために一般的に用いられている。
【0013】
中魅サーバを介した場合、クライアントと直接通信するのは、クライアントに最も近い中継サーバであり、サーバと直接通信できるのは、サーバに最も近い中継サーバである。したがって、サーバから見た場合、直接のクライアントはその中継サーバてあり、ユーザが用いているブラウザはサーバから感知できない。したがって、サーバからブラウザに直接更新通知を送ることはできない。しかも、途中にある中継サーバは不特定多数のクライアントあるいはサーバからアクセスされるため、信頼性や安定性に問題がある。
【0014】
また、サーバからクライアントの動作を直接知ることができないため、クライアントが現在どのページを表示しているかをサーバ側では感知することができないという問題もある。このことは、あるブラウザがある特定のページを表示している間は、他のブラウザが同じページを表示できなくするなどの排他制御ができない、もしくは非常に困難であることを意味する。そのため、利用可能なアプリケーションの種類が限られてしまうという問題点がある。特に、制御機器をブラウザから制御する場合などのように、一つのクライアントが独占的(排他的)にサーバにアクセスし、機器を操作するといったアプリケーションの実装が困難である。
【0015】
本発明は上記事情を考慮してなされたものでその目的は、情報提供サーバとそのサーバに情報提供を要求する情報表示クライアントとの間で直接通信することができない状況において、サーバ側の情報が更新された場合に、即座にクライアントに通知することができるリアルタイム情報配信方法を提供することにある。
本発明の他の目的は、サーバ側での情報更新の時間間隔が極めて短い場合や、予め更新の時刻が分からないような非同期的な情報更新の場合でも、クライアント側の画面にサーバ側での情報更新を効率良く反映させ、しかもサーバとクライアントとの間の通信の信頼性及び安定性を高めることができるリアルタイム情報配信方法を提供することにある。
【0016】
本発明の更に他の目的は、複数のクライアントがある特定のページを同時に表示できないように排他制御することができるリアルタイム情報配信方法を提供することにある。
【0017】
【課題を解決するための手段】
本発明は、情報表示クライアントからのページ要求により要求されたページ情報を情報提供サーバから上記クライアントにネットワークを介して送信するリアルタイム情報配信方法であって、クライアントからサーバに情報提供の要求が送られた場合、当該要求が新規のページ情報を要求するページ要求であるか、あるいは現在開かれているページ情報の更新情報を要求するイベント要求であるかを当該サーバにて判別し、ページ要求の場合には、要求されたページ情報を1回だけ当該サーバからページ要求元のクライアントに送信し、イベント要求の場合には、対応するページ情報の更新に相当するイベントが発生する毎に、当該ページ情報の更新内容を反映させるためのイベント通知を上記サーバからイベント要求元のクライアントに送信することを特徴とする。
【0018】
このような構成においては、従来から知られている「ページ要求」の他に、現在開かれているページ情報の更新情報を要求する「イベント要求」という新たな概念を導入し、サーバとクライアントを接続したままの状態で、クライアントからの1回のイベント要求に対し、サーバからイベント発生に応じて継続的にイベント通知をクライアントに送信することにより、サーバ側でページ情報の更新が発生する毎に、その更新内容を自動的にクライアント側に反映させることができ、しかもサーバとクライアントとの間の通信の負荷を軽減することが可能となる。特に、イベントの発生頻度が1秒間隔またはそれより短い程度のものに対して効率がよく、リアルタイム性が期待できる。更に、サーバはクライアントからの要求(イベント要求)に応じて継続的なイベント通知を行うため、既存のWWWプロトコルのみを用いて実現できる。
【0019】
これに対して従来のWWW上のプッシュ技術は、サーバで提供するページ情報の中に次にそのページ情報が更新される時刻などを記述することで、クライアント(ブラウザ)側でその時刻になったらサーバにアクセスするというものであった。この技術では、時系列データなどのような1秒程度の短い間隔で更新されるデータについては、ネットワークの接続/切断が頻繁に発生するため問題であった。
【0020】
また本発明は、クライアントからのページ要求に対してサーバから送信するページ情報中に、当該ページ情報を受け取ったクライアントから上記のイベント要求を発行させるための、つまりサーバでのイベント通知を起動させるための少なくとも1つのイベント要求情報を設定するようにしたことを特徴とする。
【0021】
このような構成においては、要求したページ情報をサーバから受け取ったクライアント側では、当該ページ情報中に設定されているイベント要求情報に従って自動的にイベント要求を当該サーバに発行してイベント通知を起動することができる。つまり、ページ情報とイベントを関連付けることにより、クライアント側で開かれているページ情報をサーバから送られてくるイベント通知に応じて動的に変化させることができる。
【0022】
さて、クライアントが正常にイベント通知を受け取っているか否かをサーバから知るためには、実際にイベント通知を送る必要がある。しかし、サーバにおいてイベントが発生するまでは、そのことがわからないため、たとえクライアントでのページ処理が終了していても、サーバ側ではネットワーク接続のための負荷がかかっている。
【0023】
そこで本発明は、サーバでのイベント発生毎に当該サーバからイベント要求元のクライアントにイベント通知を送信する必要がある状況において、ある一定時間イベントが発生しなかった場合には、イベント要求元のクライアントの状態確認のための特別のイベント通知(クライアント状態確認イベント通知)をサーバからクライアントに送るようにすると共に、サーバからの(クライアント状態確認イベント通知を含む)イベント通知時には、そのイベント通知に成功したか否かを当該サーバにて確認し、イベント通知に失敗した場合には、イベント通知に用いているネットワーク接続を当該サーバ側で切断するようにしたことを特徴とする。
【0024】
このような構成においては、ある一定時間以上イベントが発生しない場合には、定期的にイベント要求元のクライアントの状態確認のための特別のイベント通知を明示的に発生して当該クライアントに送信することにより、当該クライアントの状態を知ることができる。そこで、クライアントでのページ処理が終了していたり、ネットワークが切れているといった要因でイベント通知(の送信)に失敗した場合には、サーバ側でネットワーク接続を切断することにより、無駄な負荷を削減することができる。
【0025】
イベント通知に対するクライアント側の処理として、イベント通知を受け取ったなら、その内容により画面に即座に反映させるという応用が考えられる。そのためには、クライアント側で開かれているページ情報が切り替えられる際には工夫が必要となる。
【0026】
そこで本発明は、クライアントからのページ要求に対してサーバから送信するイベント要求情報付きのページ情報中に、当該クライアントにより実行させる所定の手続きを設定し、当該ページ情報を受け取ったクライアントにおいて、当該ページ情報の表示から他のページ要求に対応したページ情報の表示に切り替える際に、つまり別のページに移動する際には、当該イベント要求に対するサーバからのイベント通知に関係するネットワーク接続を上記所定の手続きに従ってクライアントにより切断させるようにしたことを特徴とする。
【0027】
このような構成においては、クライアントが別のページに移動したら、そのページの更新を反映させるためのイベント通知を受け取るネットワーク(コネクション)がクライアント側で切断されるため、無駄な通信を排除することができる。しかもクライアント側では、その処理のための特別な仕組みを必要としない。
また本発明は、クライアントからのページ要求に対してサーバから送信するイベント要求情報付きのページ情報中に、対応するイベントの発生が定期的であるか不定期的であるかを示す情報、定期的である場合にはその時間間隔の情報、及び当該クライアントにより実行させる所定の手続きを設定し、当該ページ情報を受け取ったクライアントにより上記所定の手続きに従って、対応するイベントの発生が定期的で、且つその時間間隔が定められた間隔以上の場合に、イベント要求に対してサーバから送られるイベント通知を受け取る毎にネットワーク接続を一時的に切断し、上記時間間隔で決まるイベント発生予定時期の到来を待って再びイベント要求を発行する動作を実行させるようにしたことを特徴とする。
【0028】
このような構成においては、イベント発生が定期的で、且つ、その間隔が長い場合には、クライアント側にて一旦ネットワーク接続が切断され、イベントが発生する予定の時刻に近づいたならば再びネットワーク接続がなされてイベント要求が発行されるため、無駄なネットワークの負荷、及びサーバとクライアントのCPUの負荷を削減できる。しかもクライアント側では、その処理のための特別な仕組みを必要としない。
【0029】
また本発明は、クライアントからのページ要求に対してサーバから送信するイベント要求情報付きのページ情報、またはクライアントからのイベント要求に応じてサーバから送信するイベント通知の中に、当該クライアントにより実行させる所定の手続きを設定すると共に、上記イベント通知の中に、次に同じイベントが発生する時刻情報を設定し、上記イベント通知を受け取ったクライアントにより、上記所定の手続きに従って次のイベント通知の到来を監視させ、上記受け取ったイベント通知中の時刻情報の示す予定時刻にサーバから次のイベント通知を受け取ることができなかった場合には、当該クライアントからサーバにイベント要求を発行させるようにしたことを特徴とする。
【0030】
このような構成においては、次にイベントが発生する時刻が予測できる場合には、その時刻になってもサーバからイベントが送られてこないならば、ネットワークが一時的に切断された可能性があるとして、クライアントから再びイベント要求が発行されるため、ネットワーク接続を再開することができ、信頼性を高めることが可能となる。つまりイベント通知に用いるコネクションは、接続した状態を保ったままにしておくが、コネクションが外的要因によリ切断されたら、クライアントから自動的に再接続することにより、不安定なネットワークであってもある程度の信頼性が期待できる。しかもクライアント側では、その処理のための特別な仕組みを必要としない。
【0031】
また本発明は、クライアントからのページ要求に対してサーバから送信するイベント要求情報付きのページ情報の中に、クライアントから発行されるイベント要求に次回イベント要求を発行する時刻情報を付加させる手続きを設定し、上記ページ情報を受け取ったクライアントからサーバに対して時刻情報付きのイベント要求が発行された場合には、当該サーバにおいて次のイベント要求の到来を監視し、先行するイベント要求中の時刻情報の示す予定時刻に次のイベント要求を受け取ることができなかった場合には、当該イベント要求に関係するネットワーク接続を切断することを特徴とする。
【0032】
このような構成においては、クライアントからのイベント要求の発行予定時刻をサーバ側で知ることができるため、その予定時刻になってもイベント要求がなければ、サーバ側ではクライアントが正しく機能していない(終了しているか、ネットワークが切断されている)と判断し、ネットワーク接続を切断することにより、サーバの無駄なCPU負荷を削減することができる。しかもクライアント側では、次回のイベント要求の発行予定時刻をサーバに通知するための特別な仕組みを必要としない。
【0033】
また本発明は、サーバ中に、複数のクライアントで同時に表示することが禁止される排他ページの情報を登録しておき、サーバがクライアントからページ要求を受け取った場合には、上記排他ページの登録情報から、要求されたページ情報が排他ページであるか否かを調べ、排他ページの場合には、当該ページが他のクライアントで表示中であるか否かを調べ、他のクライアントで表示中でない場合には、要求されたページ情報の中にイベント要求情報が設定された新たなページ情報をページ要求元のクライアントに送信し、他のクライアントで表示中の場合には、要求されたページ情報に代えて、特定のイベント要求を行わせるための特定イベント要求情報が設定された特定ページ情報をページ要求元のクライアントに送信して、当該クライアントでの要求されたページ情報の表示を待たせ、排他ページの表示状態にあったクライアントに対するサーバからのイベント通知に関係するネットワーク接続が切断され、且つ排他ページの表示の待ち状態にあるクライアントが存在する場合には、その待ち状態にあるいずれか1つのクライアントに、要求されたページ情報の中にイベント要求情報が設定された新たなページ情報を上記特定イベント要求に対する応答として送信することを特徴とする。
【0034】
このような構成においては、ページ情報中に埋め込まれたイベント要求情報に従うクライアントからのイベント要求発行を利用することで、従来のWWWでは実現が困難であった複数のクライアントが同じページを同時に表示することができないような機構(ページのロック機構)を容易に実現でき、しかも排他ページを表示しているクライアントでのページ処理が終了したりした場合には、そのページを表示できないでいた他のクライアントにその旨を通知することにより、自動的に本来要求したページに切り替えることができ、ユーザインタフェースの向上が図れる。
【0035】
また本発明は、要求したページが排他ページで、しかも別のクライアントで表示中のために、特別のページが送られた待ち状態にあるクライアントからサーバに対してページ要求またはイベント要求が送られた場合、サーバにおける当該要求に対する処理を通常状態から変更するようにしたことを特徴とする。
【0036】
このように、ロックされたページの待ち状態にあるクライアントからサーバへの要求が発生した場合に、その要求に対する処理を通常とは変え、例えば無視することで、当該クライアント自身を仮想的にロックすることが可能となる。これは、制御機器などをクライアントから制御する場合に、他のクライアントに制御を渡さないようにすることができ、信頼性の向上が図れる。
【0037】
【発明の実施の形態】
以下、本発明の実施の形態につき図面を参照して説明する。
【0038】
[第1の実施形態]
図1は本発明の第1の実施形態に係るリアルタイム情報配信システムの構成を示すブロック図である。
【0039】
同図において、情報提供サーバ(情報提供サーバ計算機)10は、WWW(Wor1d Wide Web)サーバとして機能し、インターネットなどのネットワーク12に接続されている。情報表示クライアント(情報表示クライアント計算機)11は、情報提供サーバ10にリクエストを発行し、結果を表示するブラウザ(情報表示ソフトウェア)を有する。このブラウザは、Netscape社のNetscape ComminicatorやMicrosoft社のInternet Exp1orerなどの汎用のブラウザでよい。
【0040】
また、図には示されていないが、情報提供サーバ10と情報表示クライアント11の間には代理サーバ(proxyサーバ)と呼ばれる中継サーバが存在してもよい。代理サーバは、クライアントからリクエストを受け取り、そのリクエストをそのままサーバに送り、サーバから送られてきた結果をそのままクライアントに返すものである。また、このような代理サーバは情報提供サーバ10と情報表示クライアント11との間に複数存在してもよい。以下、曖昧性がない場合、情報提供サーバを単にサーバと呼び、情報表示クライアントを単にクライアントと呼ぶ。また、クライアントを、ブラウザと呼ぶこともある。
【0041】
なお、図では作図の都合上、ネットワーク12に接続されているクライアント11が1台の場合を示してあるが、複数のクライアント11が接続されるのが一般的である。またサーバ10についても、1台に限らないことは勿論である。
【0042】
図1のシステムは、クライアント11から制御される制御機器(図示せず)が、サーバ10により監視可能なように当該サーバ10に接続されてている場合を想定している。
【0043】
ここで、サーバ(情報提供サーバ)10の構成について説明する。
【0044】
ネットワークインタフェース101は、ネットワーク12からのデータを受信し、またネットワーク12にデータを送信する機能を持つ。またネットワークインタフェース101は、受信したデータの種類を識別し、その種類に適合したサーバ10内装置に当該データを渡す機能を持つ。
【0045】
ページ要求受信装置102は、ネットワークインタフェース101を介してクライアント11から送られるページ要求を受理し、解析し、当該クライアント11に送るべきページをページ送信装置103に伝える。ページ要求には、WWWで一般に用いられるURL(Uniform Resource Locator)と呼ばれる形式が適用されるものとする。
【0046】
ページ送信装置103は、サーバ10内に蓄えてあるHTMLファイル100をネットワークインタフェース101を介してネットワーク12に送信する。送信の対象となる情報としては、HTMLファイル(100)に限らず、画像や音声などの任意の情報であってもよい。
【0047】
イベント要求受信装置104は、ネットワークインタフェース101を介してクライアント11から送られるイベント要求を受理し、解析し、コネクション管理装置105と通信してイベント要求を処理すべきかどうか判断する。そしてイベント要求受信装置104は、必要ならイベント送信装置106に対して、当該イベント送信装置106からクライアント11にイベントを送るように指示する。
【0048】
イベント発生装置107は、非同期的あるいは、不定期的にイベントを発生する。ここではイベントの種類は問わないが、イベントの例を挙げる。例えば、制御機器に流れている電流の値が一定値以上変化したとか、このサーバ10にアクセスしているクライアント11の数が特定の数になったとか、予め指定した時刻になったなどがイベントである。イベント発生装置107で発生されたイベントは直接イベント送信装置106に送られる。この他に、イベント発生監視装置108でイベント発生要因を監視し、その結果発生するイベントとしてイベント送信装置106に送られる構成も適用される。このように本実施形態では、イベント送信装置106へイベントを送るのに2種の方法が適用されるが、いずれか一方を適用する構成であっても構わない。
【0049】
イベント発生監視装置108は、イベント発生装置107では明示的には発生しないようなイベントを監視する。つまりイベント発生監視装置108は、例えば、制御機器に流れる電流が100A以下になったときにイベントとしてクライアント11に通知したいにも拘わらずに、イベント発生装置10でそのようなイベントが定義されていない場合には、定期的に電流を監視し、100A以下になったらイベントとしてイベント送信装置106に通知するといった機能を持つ。この他に、イベント発生装置107で発生したある特定のイベントの発生回数が予め定められた回数となったことをもって、クライアント11に通知するなどといった種類のイベントもイベント発生監視装置108で生成される。
【0050】
イベント送信装置106は、イベント発生装置107またはイベント発生監視装置108から送られるイベントをネットワークインタフェース101を介してクライアント11に送信する。また、同じイベントを複数のクライアント11が要求している場合もあり、そのときはイベント送信装置106は、それぞれのクライアント11に同じイベントを送る。
【0051】
コネクション管理装置105は、イベントの種類とそのイベントをどのクライアント11が要求しているかの情報を管理する。イベント送信装置106はこの情報を参照しながら、イベントが発生したらそのイベントを要求している全てのクライアント11に、その同じイベントを送る。イベントは、ページ送信装置103が送るページと異なって一過性のものであり、また、そのイベントを要求しているクライアント11の数に拘わらずに同じイベントをクライアント11の数だけ複製して送らなければならないことに注意されたい。
【0052】
次に、クライアント(情報表示クライアント)11の構成について説明する。
ネットワークインタフェース109は、ネットワーク12に接続されているサーバ10にページ要求、あるいはイベント要求を発行するため、クライアント11のリクエストをネットワーク12に送出し、またサーバ10からの応答を受け取る。またネットワークインタフェース109は、サーバ10からの応答を、その種類に応じ、ページ受信装置112あるいはイベント受信装置114に転送する。
【0053】
入出力装置110は、キーボード、ディスプレイ及びマウスなどから構成される。ページ要求のURLは、入出力装置110を用いた操作、例えば入出力装置110内の例えばキーボードから直接入力することで、あるいはページ中にあるリンクをマウスでクリックすることで、ページ要求装置111に伝えられる。
【0054】
ページ要求装置111は、入出力装置110から入力されたページのアドレス(URL)を受け取り、ネットワークインタフェース109を介してサーバ10に要求する。
【0055】
ページ受信装置112は、要求したページに対し、サーバ10からの応答をネネットワークインタフェース109を介して受信する。受信したページは、入出力装置110のディスプレイに表示される。サーバ10から受信したページの中にはサーバ10へのイベント要求をするための記述が含まれている場合がある。そのときには、ページ受信装置112からイベント要求装置113にイベント要求のURLが伝えられる。
【0056】
イベント要求装置113は、指定されたURLをネットワークインタフェース109を介してサーバ10に送る。なお、図には示していないが、イベント要求のURLはページ受信装置112から与えられるだけでなく、入出力装置110からユーザにより直接与えられてもよい。
【0057】
イベント受信装置114は、イベント要求装置113がサーバ10に要求することにより当該サーバ10から送られるイベントを受け取る。受け取ったイベントは、必要に応じ入出力装置110に伝えられ表示画面にその旨を反映させることができる。
【0058】
本実施形態において、クライアント11のページ要求に対してサーバ10から送られるページの形式は、通常のHTMLファイル形式である。勿論、それ以外の形式であっても構わない。
【0059】
図2にHTMLファイル形式の例を示す。この例ではページの中にサーバヘのイベント要求が含まれている例を示した。イベント要求はEMBEDというタグの中のEVENTというタグのURLという属性で示される。この表現はこれに限るものではない。例えば、イベント要求がHTMLファイル中には明示的に記述されてなく、他のページへのリンクとして表現され、そのページの中でイベント要求が記述されている場合でも、もとのHTMLファイルからイベント要求がサーバに送られるという方法も適用可能である。また、別の方法としては、ページ中に埋め込まれた何らかのプログラム(Sun Microsystems社が開発したJavaのAppletや、Netscape社が開発したJavaScriptなど)から動的にイベント要求が発生する手法を適用することも可能である。
【0060】
次に、図1のシステムのクライアント11における、当該クライアント11からサーバ10へのページ要求とそれに付随するイベント要求の処理の流れについて、図3のフローチャートを参照して説明する。
【0061】
まずクライアント11において、入出力装置110からページ要求(URL)が発生すると(ステップA1)、現在表示しているページにイベント要求が含まれていれば、ネットワークインタフェース109はそのイベント要求に対するサーバ10からのイベント通知に関係するネットワーク接続を切断する(ステップA2)。この操作は、クライアント11側で別のページ要求が発生したとき、つまりページを切り替えようとする際に、イベント要求が含まれている表示中のページに関するイベント受信のネットワーク接続を当該クライアント11(内のネットワークインタフェース109)により切断させる手続きを、当該ページ中に予め記述しておくことで実現される。この手続きには、Sun Microsystems社のJava(Applet)や、Netscape Communications社のJavaScriptなどが適用可能である。
【0062】
ページ要求装置111は適切なサーバ10に対してページを要求する(ステップA3)。ページ受信装置112はサーバ10からの応答を読む準備をし(ステップA4)、当該サーバ10からページが送られてくるまで待機する(ステップA5)。ページ受信装置112はサーバ10からページが送られてきたら当該ページの内容を解析し(ステップA6)、イベント要求がそのページに含まれているかどうか判断する(ステップA7)。
【0063】
もし、イベント要求が含まれていない場合には、ページ受信装置112はそのページを入出力装置110に出力する(ステップA12)。これにより受信したページの内容が入出力装置110のディスプレイに表示される。
【0064】
一方、イベント要求が含まれていた場合には、ページ受信装置112はイベント要求装置113にイベントのURLを伝え、イベント要求装置113によりサーバ10にイベント要求を送らせる(ステップA8)。この場合、ページ受信装置112はサーバ10からの応答(イベント)を読む準備をし(ステップA9)、当該サーバ10からイベントが送られてきたかどうかチェックする(ステップA10)。そしてページ受信装置112は、イベントが送られてない場合にはそのまま待機し、イベントが送られてきたらそのイベントを処理する(ステップA11)。イベントの処理の結果によっては、後述するように入出力装置110の表示画面が更新されることもある。
【0065】
なお、図3のフローチャート中で一点鎖線で囲まれた処理部分(ステップA8〜A11)はステップA12と並行して処理することができる。つまり、ステップA12で画面にページを表示している最中でもイベントの読み込みや処理を行うことができる。また、ページの中に複数のイベント要求が記述されている場合にも、複数のイベント処理を同時に進めることができる。
【0066】
以上のクライアント11側の処理で特徴的な点は、ページ要求に対する応答は1回であるのに対し、イベント要求に対する応答とその処理は限りがないということである。イベントの処理を終了させるためには、図には示していないが、外部からの指示が必要である。
【0067】
次にサーバ10側の処理の流れについて、図4及び図5のフローチャートを参照して説明する。
【0068】
まずサーバ10内のネットワークインタフェース101は、クライアント11からの要求を受信する状態で常に待機している(ステップB1)。ネットワークインタフェース101はクライアント11からの要求を受信するとそれがページ要求かイベント要求かを判断し(ステップB2,B3)、ページ要求であればページ要求受信装置102に渡す。するとページ要求受信装置102は、ページ要求の内容を解析してページ送信装置103に伝える(ステップB4)。
【0069】
ページ送信装置103は目的のページに相当するHTMLファイル100が(図示せぬファイル蓄積装置に)あるかどうか調べる(ステップB5)。もし、該当するHTMLファイル100があるならば、ページ送信装置103はそのファイル100を要求元のクライアント11に返し(ステップB6)、なければエラーメッセージを当該クライアント11に返す(ステップB7)。ここで、ページのファイルとしてHTMLファイルを例にしているが、これに限るものではない。
【0070】
一方、クライアント11からの要求がイベント要求の場合には、ネットワークインタフェース101は、そのイベント要求をイベント要求受信装置104に渡す。するとイベント要求受信装置104は、コネクション管理装置105に対し、イベント要求により要求されたイベントの識別子(イベントID)と要求元のクライアント11の識別子(クライアントID)との対が既に登録されているかどうか問い合わせる(ステップB8,B9)。既に登録されている場合には、イベント要求受信装置104はネットワークインタフェース101によりクライアント11との接続を切らせる(ステップB10)。これに対して登録されていない場合には、コネクション管理装置105にそれを登録させる(ステップB11)。このステップB10,B11の処理は、後の説明で明らかになるように、コネクション管理装置105に登録されているイベントとそのクライアント11はその時点で既に通信(コネクション)が張られていることを意味し、同じクライアント11へ2重にイベントを送信しないためのものである。
【0071】
次に、イベント発生装置107またはイベント発生監視装置108においてイベントが発生したかどうかが調べられる(ステップB12)。イベントが発生していない場合、イベント送信装置106において、前回最後にイベントを送った時刻から、予め定められた一定時間が経過したかどうかが調べられる(ステップB13)。もし、経過していたら、イベント送信装置106は、イベント要求元のクライアント11の状態等を確認するために、システムイベントと呼ぶ特別なイベントをイベント要求元のクライアント11に送る(ステップB14)。これに対し、まだ時間が経過していなければ、イベント発生装置107またはイベント発生監視装置108においてイベントが発生したかどうかが再び調べられる(ステップB12)。
【0072】
一方、イベント発生装置107またはイベント発生監視装置108でイベントが発生したならば、イベント送信装置106に対し、そのイベントをクライアント11に送るように伝えられる(ステップB15)。これによりイベント送信装置106は、ネットワークインタフェース101を介してイベント要求元のクライアント11にそのイベントを送る(ステップB16)。
【0073】
ネットワークインタフェース101は、クライアント11にイベントを送ると、そのイベントが正しく送られたかどうかを、当該クライアント11からの応答により調べる(ステップB17)。もし、正しく送られたなら、再びイベントが発生するまで待機状態となる。これに対し、イベントが正しく送られなかったなら、ネットワークインタフェース101によりクライアント11との接続が切断され、イベント送信装置106によりコネクション管理装置105から対応する項目が削除される(ステップB18)。
【0074】
以上のサーバ10側の処理で特徴的な点は、クライアント11からのイベント要求が1度だけあると、常時イベントが発生する度に当該クライアント11にイベントを送り続けるという流れになっていることである。これは、ページ要求のように、1回の要求に対1つのページを送るという方式と異なる。クライアント11とイベント要求元のクライアント11との間では接続が常時保たれたままであり、イベントが正しく送られなかったらその接続を切る。また、イベントが、予め定められた一定時間の間に発生しない場合には、システムイベントを定期的にイベント要求元クライアント11に送り、当該クライアント11がイベントを受信できているかどうかをチェックする。これは、ネットワーク12の回線が途中で切断されるとか、クライアント11が自ら接続を切断したという状況を検出し、そのときには、サーバ10側のイベント検出/送信ループを中止するようにするためである。
【0075】
次に図1のシステムにおける、サーバ10とクライアント11の両者を含めた動作について説明する。
【0076】
図6はサーバ10とクライアント11との間の通信の過程の一例を時間軸と共に示したものである。
【0077】
まず、クライアント11からサーバ10にページ要求が発生すると、サーバ10は要求された目的のページをクライアント11に返す。ここで、クライアント11からの要求とそれに対するサーバ10の応答は、両者が対応付けられるように同じID(図ではConn1)を付けるものとする。
【0078】
次に、クライアント11はページの解析をし、その中に記述されているイベント要求がもしあればサーバ10に送る。このとき別のコネクションID(Conn2)が用いられる。サーバ10はイベントが発生すると、そのコネクションIDを用いクライアント11にイベントを送信する。以降イベントが発生する度にこれを繰り返す。
【0079】
一方、クライアント11が、別のページ要求(Conn3)をした場合には、同時にConn2の接続を切断する。すると、サーバ10側でConn2に送るべきイベントが発生したときにエラーが検出され、コネクション管理装置105から対応する項目を削除する。クライアント11からの新たなページ要求に対しては、該当するページをサーバ10から当該クライアント11に送る。以下、同様の通信が線り返される。
【0080】
クライアント11側で、別のページ要求が発生したとき、サーバ10からのイベント受信の接続を切断することの効果は次の通りである。即ち、サーバ10からのイベントを受信した際に、クライアント11側でのイベントの処理として、そのイベントを要求したページ上の画面に視覚的な効果として反映させる場合が実用上多く、そのページが画面から消えたら、無駄なイベント処理を中断するという効果がある。勿論、場合によっては、明示的な指示によりページが別のページに切り替わってもイベント処理を継続してもよい。
【0081】
次に、以上に説明した方法を用いて、サーバ10から送られてくるイベントをクライアント11側で処理しブラウザの画面(ページ表示画面)を更新する方法について説明する。
【0082】
図7はブラウザの画面例を示す。ここで表示されるページ画面は、クライアント11により制御される制御機器の状態を表示するための、例えば電流値表示欄71と、正常/異常を示す装置(機器)状態表示欄72を持っている。また、表示のもとになるページにはイベント要求が記述されている。このため、当該ページがブラウザで表示されると、そのページの中に記述されているイベント要求が当該ページの提供サーバ10に伝えられる。この例では、イベント要求として、1秒間隔でサーバ10から送られてくる現在の電流値と、非同期的にサーバ10から送られてくる制御機器の状態(正常か異常かを示すもの)がある。
【0083】
ブラウザ(クライアント11)側では、ページ表示に応じて発行されるイベント要求に対してサーバ10から送られてくるイベントを処理し、画面上の電流値表示欄71または装置状態表示欄72に反映させる。つまり、イベントはサーバ10側での情報更新をクライアント11側に通知するための情報更新イベントであるといえ、ページ画面は当該イベント(サーバ10側での情報更新)を反映させるためのイベント画面であるといえる。イベント処理の結果をページ画面(イベント画面)に反映させるには、Sun Microsystems社のJava(Applet)や、Netscape Communications社のJavaScript、あるいはMicrosoft社のDynamic HTMLなどを用いればよい。勿論、この方法に限るものではない。
【0084】
図7の画面のもとになるページの形式の例を図8に示す。図8の例では、サーバ10ヘのイベント要求は、ページ中のEVENTというタグで指定されている。そのタグの中には、クライアント11ヘ送るイベントの時間間隔(period)や受け取ったイベントを画面に反映させるターゲット(target)などの属性がある。イベントを画面上で反映させるタグとして、HANDLERというタグを導入している。そのタグには、画面に表示したときの形式(type)や名前(name)などの属性がある。EVENTタグのtarget属性にはこのname属性と同じ名前を指定する。なお、ここでの表現は一例に過ぎず、その他の形式であっても勿論構わない。
【0085】
[第2の実施形態]
図9は本発明の第2の実施形態に係るリアルタイム情報配信システムの構成を示すブロック図であり、図1と同一部分には同一符号を付してある。
【0086】
図9のシステムが図1のシステムと異なる点は、図1中のサーバ10に代えて、タイマ装置Cが追加されたサーバ(情報提供サーバ)20を用いると共に、図1中のクライアント11に代えて、タイマ装置A及びタイマ装置Bが追加されたクライアント(情報表示クライアント)21を用いていることである。
【0087】
図9のシステムの特徴は、タイマ装置A〜Cを導入することにより、以下に述べるように、サーバ20側で発生するイベントの発生間隔に応じてイベントの送信方式を柔軟に変更することを可能とし、更にネットワーク12が何らかの障害により切断されたときに、クライアント21からサーバ20へのイベントの再要求を自動化することを可能としたことにある。
【0088】
ここで、図9のシステムにおけるクライアント21のタイマ装置Aを中心とする動作について、図10のフローチャートを参照して説明する。
【0089】
まずタイマ装置Aは、サーバ20からクライアント21に当該クライアント21の要求したページが送られると、そのページをページ受信装置112を介して受け取って、そのページ中のイベント要求の形式を解析する(ステップC1)。次にタイマ装置Aは、ステップC1での解析の結果から、イベントの発生が定期的かどうかを調べる(ステップC2)。イベントの発生が定期的である場合、上記ページ中には、そのイベントの発生時間間隔が記述されている。
【0090】
もし、定期的でなければ、タイマ装置Aは本実施形態に特有の特別の動作をせずに、そのままイベント要求装置113に対して、サーバ20にそのイベントを要求することを伝える(ステップC3)。これに対して定期的であれば、タイマ装置Aは(ページ受信装置112から受け取ったページの解析結果から取得される)そのイベントの発生時間間隔をTMとし(ステップC4)、TMが予め定められた一定時間以上長いかどうかを判定する(ステップC5)。
【0091】
もし、短い場合には、タイマ装置Aは本実施形態に特有の特別の動作をせずに、そのままイベント要求装置113に対して、サーバ20にそのイベントを要求することを伝える(ステップC3)。一方、長い場合には、タイマ装置Aは当該タイマ装置A内に時間TMを設定して時間計測を開始すると共に、イベント要求装置113対して、サーバ20にそのイベントを要求することを伝える(ステップC6)。これにより、イベント要求装置113からサーバ20に対してイベント要求が発行される。この際、イベント要求装置113は、定期的にイベント要求が発行できる場合など、次回にイベント要求を発行する時刻が分かっているときは、次回のイベント要求発行時刻の情報が付加されたイベント要求を発行する。
【0092】
さて、イベント要求装置113からのイベント要求に応じて、要求したイベントがサーバ20から送られてきたならば、イベント受信装置114はイベントの処理を行い、ネットワークインタフェース109はこのイベントに関するネットワーク12の接続を切断する(ステップC7)。サーバ20から送られるイベント(イベント通知)には、当該イベントが定期的に発生するなど、次に同種のイベントが発生する時刻が分かっているときは、次の同種イベント発生時刻の情報が付加される。
【0093】
一方、タイマ装置Aは、サーバ20からイベントが送られると、時間TMの計測を終了するまで、つまり上記ステップC6の開始時から時間TMが経過するまで休止する(ステップC8)。そして時間TMを計測すると、即ち次のイベントの発生時刻が到来すると、タイマ装置Aは再びステップC6に戻り同様の処理を線り返す。
【0094】
このタイマ装置Aの役割は次の通りである。即ち、サーバ20側で発生するイベントの時間間隔が定期的であり、且つ、その時間間隔TMが予め定められた一定時間以上長い場合には、タイマ装置Aによりイベントを受け取る時刻までの時間TMを計測して、その間はイベントを受信するネットワーク接続を切断し、その時刻になったらクライアント21(内のイベント要求装置113)から明示的にイベント要求を再びサーバ20に発行できるようにするものである。これにより、イベントが発生しない時間にサーバ20側の無駄な負荷を軽減することができる。また、クライアント21側でも、サーバ20からイベントが送られない時間帯であるにも拘らずに、そのイベントの受信のために待機しているという無駄な負荷を軽減することができる。
【0095】
なお、ここの例では、イベントの発生する時間間隔を用いていたが、それ以外にイベントの発生する絶対時間などを用いてもよい。
【0096】
次に、図9のシステムにおけるクライアント21のタイマ装置Bを中心とする動作について、図11のフローチャートを参照して説明する。
【0097】
まず、タイマ装置Bはサーバ20から送られてきたイベントをイベント受信装置114を介して受け取る(ステップD1)。次にタイマ装置Bは、そのイベントの中に、同種のイベントが次回に発生する時刻が記述されているかどうか調べ(ステップD2)、記述されていなければステップD1に戻る。もし、記述されていれば、その時刻をTMとし(ステップD3)、時刻TMに実際に次のイベントを受け取ったかどうか調べる(ステップD4)。もし時刻TMにイベントを受け取ったなら、ステップD2に戻る。これに対し、時刻TMにイベントを受け取らなかったなら、イベントをサーバ20に要求するようにイベント要求装置113に伝え、ステップD1に戻る。
【0098】
このタイマ装置Bの役割は次の通りである。即ち、サーバ20側で発生するイベントの時間間隔が定期的である場合など、サーバ20から送られるイベントに次に同種のイベントが発生する時刻の情報が付加されている場合には、その時刻情報の示す時刻に、クライアント21からのイベント要求に対するサーバ20からの応答イベントが当該クライアント21に送られてきているかどうかを、タイマ装置Bでの時間監視によって調べることにより、もし、本来送られてくるはずの時刻にイベントがサーバ20から送られてこない場合には、クライアント21から再びサーバ20にイベント要求を発行できるようにするものである。こうすることにより、ネットワーク12が何らかの原因により一時的に切断された場合でも、イベントの受信を再開することができる。
【0099】
以上に述べたクライアント21におけるタイマ装置A及びタイマ装置Bの動作は、例えばイベント要求が設定されたページの中に、対応する処理手続きを予め設定して、サーバ20からクライアント21に送信すればよい。また、この処理手続きを、イベント要求に対応してサーバ20からクライアント21に送られるイベント中に設定するようにしても構わない。この処理手続きには、Sun Microsystems社のJava(Applet)や、Netscape Communications社のJavaScriptなどが適用可能である。
【0100】
次に、図9のシステムにおけるサーバ20のタイマ装置Cを中心とする動作について、図12のフローチャートを参照して説明する。
【0101】
既に述べたように、サーバ20側で発生するイベントが定期的であり、且つ、そのイベント発生時間間隔がある一定時間間隔以上である場合には、タイマ装置Aの動作により、サーバ20にはクライアント21から定期的にイベント要求が送られる。このように、クライアント21から定期的にイベント要求が発行される場合など、クライアント21において次にイベント要求を発行する時刻が分かっているときは、次のイベント要求発行時刻の情報が付加されたイベント要求がサーバ20に対して発行される。タイマ装置Cは、クライアント21(内のイベント要求装置113)から送られる、次のイベント要求発行時刻の情報が付加されたイベント要求をチェックするものである。
【0102】
まずタイマ装置Cは、クライアント21からのイベント要求をイベント要求受信装置104を介して受け取ると(ステップE1)、そのイベント要求の中に、次にイベント要求が発行される時刻が記述されているかどうか調べる(ステップE2)。もし、記述されていなければ、タイマ装置Cは何もしない(ステップE3)。
【0103】
これに対して記述されていれば、タイマ装置Cはその時刻をTMとして(ステップE4)、時刻TMに実際に次のイベント要求を受け取ったかどうか調べる(ステップE5)。もし、イベント要求を受け取ったなら、ステップE2に戻り、同様の操作を線り返す。一方、イベント要求を受け取らなかったなら、コネクション管理装置105から該当する項目を削除し、このイベントに関する接続を切る(ステップE6)。
【0104】
このタイマ装置Cの役割は次の通りである。即ち、クライアント21からサーバ20に送られるべきイベント要求の到来予定時刻を計測し、本来送られてくるはずのイベント要求が予定時刻になっても到来しない場合には、ネットワーク12に何らかの障害が発生したか、クライアント21に何らかの異常が発生したと判断し、接続を切るようにするものである。もし、ネットワーク12やクライアント21の障害や異常でなく、一時的にネットワーク12が遅いなどの原因により接続を切った場合には、先に述べたクライアント21側のタイマ装置Bの機能で、再びクライアント21からのイベント要求が発生するので、接続を自動的に再開することができる。
【0105】
[第3の実施形態]
図13は本発明の第3の実施形態に係るリアルタイム情報配信システムの構成を示すブロック図であり、図1と同一部分には同一符号を付してある。
【0106】
図13のシステムが図1のシステムと異なる点は、図1のサーバ10に代えて、排他ページ管理装置300が追加されたサーバ30を用いていることである。この排他ページ管理装置300には、複数のクライアント11で同時に表示することができないページ、つまり排他ページを識別するためのページ識別子(例えばURL)の集合が登録されている。ここでは、排他ページの表示の待ち状態にあるクライアント11が存在する場合には、当該排他ページの識別子の他に、その待ち状態にあるクライアント11のクライアント識別子の待ち行列(キュー)が付加される。この排他ページ管理装置300への排他ページ(の識別子)の登録は、クライアント11からサーバ30に送るページ要求中に、その要求ページを排他使用することを宣言する情報を設定しておくことで実現される。
【0107】
また排他ページ管理装置300は、与えられた任意のHTMLファイル100に対し、特定のイベント要求を行うように、EMBED,EVENTタグなどを加えて、そのHTMLファイル100を加工する機能を有する。
【0108】
図13のシステムの特徴は、排他ページ管理装置300が付加されたサーバ30を用いることにより、以下に述べるように、あるクライアント11(クライアントAとする)がサーバ30から送られたある特定のページ(例えばページP)を表示している間は、他のクライアント11(クライアントBとする)が同じページをサーバ30に要求しても、サーバ30はそのクライアントBに対し、要求されたページ(P)とは異なったページ(例えばページQ)を送るようにしたことにある。更に図13のシステムの特徴は、クライアントAが他のページを表示したときに、クライアントBの画面に自動的に要求されたページ(ページP)を表示できるようにしたことにもある。即ち、図13のシステムは、複数のクライアント11が同時に同じページを表示ができないようにしたことを特徴とする。
なお、本実施形態では、第1の実施形態で用いたサーバに排他ページ管理装置300を加えたものをサーバ30として用い、クライアントには同じく第1の実施形態で用いたクライアント11をそのまま用いているが、第2の実施形態で用いたサーバ20及びクライアント21を利用しても構わない。
【0109】
以下、図13のシステムにおけるサーバ30の排他ページ管理装置300を中心とする動作について、図14のフローチャートを参照して説明する。
【0110】
まず、クライアント11(クライアントAとする)からのページ要求がサーバ30に送られると、排他ページ管理装置300は、要求されたページが当該排他ページ管理装置300に登録されているページ、つまり排他ページであるかどうかの間い合わせをページ要求受信装置102から受ける(ステップF1,F2)。もし、排他ページでなければ、排他ページ管理装置300は何もしないで終了する(ステップF3)。この場合には、要求されたページがページ要求受信装置102からページ送信装置103に伝えられ、当該要求されたページに相当するHTMLファイル100がページ送信装置103からネットワークインタフェース101を介して要求元のクライアント11(A)に送られる。
【0111】
これに対し、クライアント11(A)から要求されたページが排他ページ(ページPとする)である場合には、排他ページ管理装置300はコネクション管理装置105に間い合わせ、そのページ(P)中に記述されているイベント要求に対する接続が登録されているかどうか調べる(ステップF4,F5)。ここで、この接続が登録されている場合には、既に他のクライアント11(クライアントBとする)が同じページ(P)を表示していることに注意されたい。なお、排他ページを表示中のクライアントの識別子を、当該ページのページ識別子と組をなして、上記待ち行列とは別に、排他ページ管理装置300内に登録するようにしても構わない。
【0112】
さて、排他ページ(P)中に記述されているイベント要求に対する接続がコネクション管理装置105に登録されていた場合、つまり排他ページ(P)が他のクライアント11(B)で表示されている場合には、排他ページ管理装置300は、ページ要求元のクライアント11(A)の識別子を、当該排他ページ(P)の識別子と組をなす待ち行列に登録する。このとき、待ち行列に既に登録されているクライアント識別子がないならば、当該クライアント11(A)の識別子は待ち行列の先頭位置に登録されることになる。
【0113】
同時に排他ページ管理装置300は、ページ要求受信装置102を介してページ送信装置103に、定期的にイベント要求を行う特定のページ(ページQとする)を伝え、当該ページ送信装置103により当該特定のページ(Q)をクライアント11(A)に返させる(ステップF6)。ここで、特定のページ(Q)は、クライアント11(A)から要求された目的のページ(P)とは異なるページであり、クライアント11(A)がそのページ(Q)を受け取ることにより、要求したページ(P)は既に他のクライアント11で表示されていると判別できるようなページであればよい。
【0114】
一方、排他ページ(P)中に記述されているイベント要求に対する接続がコネクション管理装置105に登録されていない場合には、排他ページ管理装置300は、要求されたページ(P)に相当するHTMLファイル100に定期的なイベント要求を行うタグを埋め込み、新たなHTMLファイル100を生成する(ステップF7)。そして排他ページ管理装置300は、生成したHTMLファイル100をページ送信装置103から要求元のクライアント11(A)に送らせる(ステップF8)。
【0115】
ここで、要求されたページ(P)中に記述されているイベント要求に対する接続が登録されている場合でも、あるいは登録されていない場合でも、いずれにせよ、クライアント11が排他ページ(P)を要求した場合には、イベント要求を必ず含むページがサーバから返されることに注意されたい。
【0116】
イベント要求を含むページがクライアントに送られた場合、前記第1及び第2の実施形態での説明からも明らかなように、クライアントが他のページの表示に移動したり、ネットワークが何らかの障害により切断されたりしたこと、更にはクライアントで異常(正常な終了を合む)が発生したことを、サーバ側で検出することができる。
【0117】
このことは、本実施形態においてステップF7で生成されたHTMLファイル100を受け取ったクライアント11が他のページの表示に移動したり、当該クライアント11で異常状態が発生した場合、あるいはネットワーク12に障害が発生した場合にも同様である。
【0118】
このような場合、要求元クライアント11に送られたHTMLファイル100にイベント要求が記述されているにも拘わらず、そのクライアント11からイベント要求が送られない、あるいはイベント要求がサーバ30に伝達されないため、その異常がサーバ30側でわかる。
【0119】
その結果サーバ30からは、同じページ(P)を要求した別のクライアント11(B)、つまりステップF6で返された特定ページ(Q)を表示しているクライアント11(B)に対し、目的のページ(P)、つまりステップF7で返されるページと同じものを表示するイベントが送られる。このイベントを受けたクライアント11(B)では、イベント処理の結果、画面が切り替わって目的のページ(P)が自動的に表示されることになる。
【0120】
さて本実施形態においては、ステップF6で生成されたページを受信しているクライアント11(B)は、本来目的としているページ(P)を表示しているのではないことに注意されたい。この場合、このクライアント11(B)は本来のページを表示することができないため、ロックされている状態とみなすことができる。そこで、このクライアント11(B)からサーバ30に対し、ページ要求あるいはイベント要求があった場合には、特定のその要求を無視する機能を当該サーバ30に付加してもよい。
【0121】
なお、この実施形態では、同じページを複数のクライアントで表示できないことを示す例であるが、異なったページでも同様のことが可能である。例えば、ページAとページBが複数のクライアントで同時に表示されないようにすることを実現できるのは、上記の説明で明らかである(ステップF5において、登録されているクライアントの数で判断すればよい)。また、ある特定のページを同時に表示できるクライアントの数も、本実施形態のように1つに限る必要はない。
【0122】
以上に述べたサーバ(情報提供サーバ)10,20,30を構成する機能要素群、あるいはサーバ10,20,30にて実行される処理手順は、コンピュータをその機能要素群の集合として機能させるためのプログラム、あるいはコンピュータに当該処理手順を実行させるためのプログラムが記録されたCD−ROM等の記録媒体をコンピュータに装着して、当該プログラムを読み取り実行させることにより実現される。このプログラムが、通信回線等の通信媒体を通してコンピュータにロードされるものであってもよい。
【0123】
なお、以上に述べたシステムは、ネットワークに接続された制御機器やOA機器、及び携帯電話やテレビなどにも応用可能である。ここで、ネットワークとはインターネットのような大規模なものであるとは限らず、複数の機能要素の間を接続し、その機能要素間で情報交換が行えるもの全体を指し、例えばシリアルバスであってもよい。また、サーバとクライアント同一筐体に内蔵されるものであっても構わない。このような例として、パーソナルコンピュータにおけるCPUと、周辺装置のマイクロプロセッサ(入出力ドライバ)などがある。要するに本発明は、情報の更新に相当するイベント(事象)の発生(OA機器、例えばプリンタであれば、用紙がなくなったというイベント、あるいはトナーがなくなったというイベントなど)を監視するサーバと、その情報を必要とするクライアントからなるシステムに適用可能である。
【0124】
【発明の効果】
以上詳述したように本発明によれば、「ページ要求」の他に、現在開かれているページ情報の更新情報を要求する「イベント要求」という新たな概念を導入し、情報提供サーバとそのサーバに情報提供を要求する情報表示クライアントとの間で直接通信することができない状況において、クライアントからの1回のイベント要求に対し、クライアント側で表示されている情報のもとになるサーバ側の情報の更新に相当するイベントが発生する毎に、その更新内容を反映させるためのイベント通知がクライアントに自動的に送信されるため、サーバ側での情報更新を自動的に且つ即座にクライアント側に反映することができる。
【0125】
また本発明によれば、サーバ側での情報更新の時間間隔が極めて短い場合や、予め更新の時刻が分からないような非同期的な情報更新の場合でも、クライアント側の画面にサーバ側での情報更新を効率良く反映させ、しかもサーバとクライアントとの間の通信の信頼性及び安定性を高めることができる。
【0126】
また本発明によれば、複数のクライアントがある特定のページを同時に表示できないように排他制御することができる。
【図面の簡単な説明】
【図1】本発明の第1の実施形態に係るリアルタイム情報配信システムの構成を示すブロック図。
【図2】同実施形態で適用されるHTMLファイルの形式例を示す図。
【図3】図1中のクライアント11における処理の流れを説明するためのフローチャート。
【図4】図1中のサーバ10における処理の流れを説明するためのフローチャートの一部を示す図。
【図5】図1中のサーバ10における処理の流れを説明するためのフローチャートの残りを示す図。
【図6】図1中のサーバ10とクライアント11との間の通信の過程の一例を時間軸と共に示す図。
【図7】ブラウザの画面例を示す図。
【図8】図7の画面のもとになるページの形式の一例を示す図。
【図9】本発明の第2の実施形態に係るリアルタイム情報配信システムの構成を示すブロック図。
【図10】図9のシステムにおけるクライアント21のタイマ装置Aを中心とする動作を説明するためのフローチャート。
【図11】図9のシステムにおけるクライアント21のタイマ装置Bを中心とする動作を説明するためのフローチャート。
【図12】図9のシステムにおけるサーバ20のタイマ装置Cを中心とする動作を説明するためのフローチャート。
【図13】本発明の第3の実施形態に係るリアルタイム情報配信システムの構成を示すブロック図。
【図14】図13のシステムにおけるサーバ30の排他ページ管理装置300を中心とする動作を説明するためのフローチャート。
【符号の説明】
10,20,30…情報提供サーバ
11,21…情報表示クライアント
101,109…ネットワークインタフェース
102…ページ要求受信装置
103…ページ送信装置
104…イベント要求受信装置
105…コネクション管理装置
106…イベント送信装置
107…イベント発生装置
108…イベント発生監視装置
110…入出力装置
111…ページ要求装置
112…ページ受信装置
113…イベント要求装置
114…イベント受信装置
300…排他ページ管理装置
A,B,C…タイマ装置
Claims (7)
- 情報表示クライアントからのページ要求により要求されたページ情報を情報提供サーバから前記クライアントにネットワークを介して送信するリアルタイム情報配信システムにおいて、
前記クライアントからのページ要求に応じて、ページ情報の更新情報をページ要求元のクライアントから当該サーバに要求するイベント要求を発行させるためのイベント要求情報であって、前記ページ要求元のクライアントと前記サーバとを接続させるためのイベント要求情報が設定されたページ情報を、前記サーバからページ要求元のクライアントに送信し、
前記サーバから前記クライアントに送信されたページ情報に設定されている前記イベント要求情報に基づいて前記クライアントから前記サーバにイベント識別子を含むイベント要求を送信することによって、前記サーバに対して、ページ情報の更新に相当する当該イベント識別子で示されるイベントの発生に応じて当該イベントを通知することを要求すると共に、当該イベントの通知のために前記サーバを前記クライアントとネットワーク接続することを要求し、
前記クライアントからの前記イベント要求に応じて、前記サーバが当該クライアントの識別子及び前記イベント要求に含まれている前記イベント識別子の対を当該サーバに登録し、
ページ情報の更新に相当するイベントの発生であって、前記サーバに登録されているイベント識別子で示されるイベントの発生の都度、当該ページ情報の更新内容を反映させるためのイベント通知を前記サーバからイベント要求元のクライアントに前記ネットワーク接続を利用して送信し、
前記サーバからの前記イベント通知時には、そのイベント通知に成功したか否かを前記イベント要求元のクライアントからの応答に基づき前記サーバが判定し、当該イベント通知に失敗した場合には、前記サーバが、当該サーバに登録されている当該クライアントの識別子及び前記イベント識別子の対を削除して、当該イベント通知に用いられている当該クライアントとのネットワーク接続を切断することを特徴とするリアルタイム情報配信方法。 - 前記サーバに登録されているイベント識別子で示されるイベントの発生を前記サーバが監視し、
前記サーバに登録されているイベント識別子で示されるイベントが予め定められた一定時間発生しなかった場合には、前記イベント要求元のクライアントの状態確認のためのイベント通知を前記サーバから当該クライアントに送信し、
前記クライアントへの前記状態確認のためのイベント通知に失敗した場合には、前記サーバが、当該サーバに登録されている当該クライアントの識別子及び前記イベント識別子の対を削除して、当該イベント通知に用いられている当該クライアントとのネットワーク接続を切断することを特徴とする請求項1記載のリアルタイム情報配信方法。 - 前記クライアントからのページ要求に応じて前記サーバから送信される、前記イベント要求情報が設定されたページ情報の中に、前記クライアントにより実行させる所定の手続きを設定することにより、
前記イベント要求が設定されたページ情報を受け取ったクライアントにおいて、当該ページ情報の表示から他のページ要求に対応したページ情報の表示に切り替える際に、当該イベント要求に対する前記サーバからのイベント通知に用いられるネットワーク接続を前記所定の手続きに従って前記クライアントにより切断させるようにしたことを特徴とする請求項1記載のリアルタイム情報配信方法。 - 前記クライアントからのページ要求に応じて前記サーバから送信される、前記イベント要求情報が設定されたページ情報の中に、対応するイベントの発生が定期的であるか不定期的であるかを示す情報、定期的である場合にはその時間間隔の情報、及び前記クライアントにより実行させる所定の手続きを設定することにより、
前記イベント要求情報が設定されたページ情報を受け取ったクライアントが当該ページ情報中の前記所定の手続きに従って動作して、対応するイベントの発生が定期的で、且つその時間間隔が定められた間隔以上の場合に、前記イベント要求に対して前記サーバから送られるイベント通知を受け取る毎に当該イベント通知に用いられるネットワーク接続を一時的に切断し、前記時間間隔で決まるイベント発生予定時期の到来を待って再びイベント要求を前記サーバに送信することを特徴とする請求項1記載のリアルタイム情報配信方法。 - 前記クライアントからのページ要求に応じて前記サーバから送信される、前記イベント要求情報が設定されたページ情報、または前記クライアントからのイベント要求に応じて前記サーバから送信されるイベント通知の中に、前記クライアントにより実行させる所定の手続きを設定すると共に、当該イベント通知の中に、次に同じイベントが発生する時刻情報を設定することにより、
前記イベント通知を受け取った前記クライアントが、前記所定の手続きに従って次のイベント通知の到来を監視し、前記受け取ったイベント通知中の時刻情報の示す予定時刻に前記サーバから次のイベント通知を受け取ることができなかった場合には、前記サーバにイベント要求を送信することを特徴とする請求項1記載のリアルタイム情報配信方法。 - 前記クライアントからのページ要求に応じて前記サーバから送信される、前記イベント要求情報が設定されたページ情報の中に、前記クライアントから発行される前記イベント要求に次回イベント要求を発行する時刻情報を付加させる手続きを設定し、
前記クライアントから前記サーバに前記イベント要求が発行された場合には、前記サーバにおいて前記クライアントからの次のイベント要求の到来を監視し、先行するイベント要求中の時刻情報の示す予定時刻に次のイベント要求を受け取ることができなかった場合には、当該イベント要求に用いられるネットワーク接続を切断することを特徴とする請求項1記載のリアルタイム情報配信方法。 - 前記サーバ中に、複数のクライアントで同時に表示することが禁止される排他ページの情報を登録しておき、
前記サーバが前記クライアントからページ要求を受け取った場合には、前記排他ページの登録情報から、要求されたページ情報が排他ページであるか否かを調べ、
排他ページの場合には、当該ページが他のクライアントで表示中であるか否かを調べ、
他のクライアントで表示中でない場合には、前記要求されたページ情報の中に前記イベント要求情報が設定された新たなページ情報を前記サーバから前記ページ要求元のクライアントに送信し、
他のクライアントで表示中の場合には、要求されたページ情報に代えて、特定のイベント要求を行わせるための特定イベント要求情報が設定された特定ページ情報を前記サーバから前記ページ要求元のクライアントに送信して、当該クライアントでの要求されたページ情報の表示を待たせ、
前記排他ページの表示状態にあった前記クライアントに対する前記サーバからのイベント通知に用いられるネットワーク接続が切断され、且つ前記排他ページの表示の待ち状態にあるクライアントが存在する場合には、前記サーバから、その待ち状態にあるいずれか1つのクライアントに、前記要求されたページ情報の中に前記イベント要求情報が設定された新たなページ情報を前記特定イベント要求に対する応答として送信することを特徴とする請求項2または請求項3記載のリアルタイム情報配信方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19958798A JP4634547B2 (ja) | 1998-06-30 | 1998-06-30 | リアルタイム情報配信方法 |
US09/342,732 US6480883B1 (en) | 1998-06-30 | 1999-06-29 | Real-time information transmission system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP19958798A JP4634547B2 (ja) | 1998-06-30 | 1998-06-30 | リアルタイム情報配信方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2000020423A JP2000020423A (ja) | 2000-01-21 |
JP4634547B2 true JP4634547B2 (ja) | 2011-02-16 |
Family
ID=16410334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP19958798A Expired - Lifetime JP4634547B2 (ja) | 1998-06-30 | 1998-06-30 | リアルタイム情報配信方法 |
Country Status (2)
Country | Link |
---|---|
US (1) | US6480883B1 (ja) |
JP (1) | JP4634547B2 (ja) |
Families Citing this family (71)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9130765B1 (en) * | 1996-06-12 | 2015-09-08 | Michael Carringer | System and method for generating a modified web page by inline code insertion in response to an information request from a client computer |
US8601050B2 (en) | 1996-06-12 | 2013-12-03 | Michael Carringer | System and method for generating a modified web page by inline code insertion in response to an information request from a client computer |
EP1096382B1 (en) * | 1999-10-26 | 2007-06-27 | Iontas Limited | Monitoring of computer usage |
US6829639B1 (en) * | 1999-11-15 | 2004-12-07 | Netvision, Inc. | Method and system for intelligent global event notification and control within a distributed computing environment |
US20010051982A1 (en) * | 1999-12-27 | 2001-12-13 | Paul Graziani | System and method for application specific chat room access |
US6977909B2 (en) | 2000-01-19 | 2005-12-20 | Phonepages Of Sweden, Inc. | Method and apparatus for exchange of information in a communication network |
US7248862B2 (en) | 2000-01-19 | 2007-07-24 | Sony Ericsson Mobile Communications Ab | Method and apparatus for retrieving calling party information in a mobile communications system |
US6922721B1 (en) * | 2000-10-17 | 2005-07-26 | The Phonepages Of Sweden Ab | Exchange of information in a communication system |
US6996072B1 (en) * | 2000-01-19 | 2006-02-07 | The Phonepages Of Sweden Ab | Method and apparatus for exchange of information in a communication network |
WO2001055841A1 (fr) * | 2000-01-27 | 2001-08-02 | Omron Corporation | Procede et systeme relatifs a la distribution de programmes, serveur et client d'execution de programmes, dispositif d'obtention de programmes, et support d'enregistrement |
US20010014601A1 (en) * | 2000-02-14 | 2001-08-16 | Tatsuru Kuwabara | Client server system for mobile phone |
US6728763B1 (en) * | 2000-03-09 | 2004-04-27 | Ben W. Chen | Adaptive media streaming server for playing live and streaming media content on demand through web client's browser with no additional software or plug-ins |
US20020010803A1 (en) * | 2000-05-25 | 2002-01-24 | Oberstein Brien M. | Method, system and apparatus for establishing, monitoring, and managing connectivity for communication among heterogeneous systems |
US7216145B2 (en) * | 2000-06-23 | 2007-05-08 | Mission Communications, Llc | Event notification system |
US9800671B1 (en) * | 2000-06-28 | 2017-10-24 | Intel Corporation | Repeatedly accessing a storage resource normally accessed through a web page without accessing the web page |
US6763384B1 (en) * | 2000-07-10 | 2004-07-13 | International Business Machines Corporation | Event-triggered notification over a network |
JP4588190B2 (ja) * | 2000-10-27 | 2010-11-24 | シャープ株式会社 | テレビ番組ホームページ検索システム、そのクライアント装置、サーバ装置、及びホームページのurl情報の取得方法 |
US7051070B2 (en) | 2000-12-18 | 2006-05-23 | Timothy Tuttle | Asynchronous messaging using a node specialization architecture in the dynamic routing network |
US7930362B2 (en) | 2000-12-18 | 2011-04-19 | Shaw Parsing, Llc | Techniques for delivering personalized content with a real-time routing network |
US8505024B2 (en) | 2000-12-18 | 2013-08-06 | Shaw Parsing Llc | Storing state in a dynamic content routing network |
JP4307747B2 (ja) * | 2001-01-25 | 2009-08-05 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 接続受付システム、受付サーバ、クライアント端末、接続受付管理方法、記憶媒体、コンピュータプログラム |
US7000008B2 (en) * | 2001-04-16 | 2006-02-14 | Sun Microsystems, Inc. | Method, system, and program for providing data updates to a page including multiple regions of dynamic content |
US20020178266A1 (en) * | 2001-04-27 | 2002-11-28 | Alexander Perez | High speed server system |
US7376653B2 (en) * | 2001-05-22 | 2008-05-20 | Reuters America, Inc. | Creating dynamic web pages at a client browser |
US6687733B2 (en) * | 2001-06-01 | 2004-02-03 | Intergenix | Method and system for automatically configuring a client-server network |
US7062720B2 (en) * | 2001-06-19 | 2006-06-13 | International Business Machines Corporation | Method and system for processing wait window information |
US20030028620A1 (en) * | 2001-06-20 | 2003-02-06 | Ludger Woelfel | Method of handling a data request |
SE0102729D0 (sv) | 2001-08-15 | 2001-08-15 | Phone Pages Sweden Ab | Method and apparatus for exchange of information in a communication network |
JP4890740B2 (ja) * | 2001-09-29 | 2012-03-07 | シーベル・システムズ・インコーポレイテッド | ウェブブラウザに対する非同期メッセージのプッシュ |
CN1298515C (zh) * | 2001-11-01 | 2007-02-07 | 芝浦机械电子装置股份有限公司 | 基板输送装置和基板输送方法 |
US7330894B2 (en) * | 2002-04-19 | 2008-02-12 | International Business Machines Corporation | System and method for preventing timeout of a client |
US7480936B2 (en) * | 2003-01-15 | 2009-01-20 | Xerox Corporation | Generic application architecture suitable for firewall traversal |
US8131649B2 (en) * | 2003-02-07 | 2012-03-06 | Igware, Inc. | Static-or-dynamic and limited-or-unlimited content rights |
US20100017627A1 (en) | 2003-02-07 | 2010-01-21 | Broadon Communications Corp. | Ensuring authenticity in a closed content distribution system |
US7322042B2 (en) * | 2003-02-07 | 2008-01-22 | Broadon Communications Corp. | Secure and backward-compatible processor and secure software execution thereon |
US7779482B1 (en) | 2003-02-07 | 2010-08-17 | iGware Inc | Delivery of license information using a short messaging system protocol in a closed content distribution system |
EP1649352A4 (en) * | 2003-07-11 | 2008-05-14 | Computer Ass Think Inc | TRIGGER SUPPORT FOR A BIDIRECTIONAL BROKER |
US20050071754A1 (en) * | 2003-09-30 | 2005-03-31 | Morgan Daivid J. | Pushing information to distributed display screens |
US20050138117A1 (en) * | 2003-12-18 | 2005-06-23 | Samsung Electronics Co., Ltd. | Method and system for pushing notifications to networked device |
US7529835B1 (en) * | 2003-12-22 | 2009-05-05 | The Weather Channel, Inc. | Website changes to scalability, capacity, server impact, bandwidth and end-user presentation based on a triggered event |
US20050188078A1 (en) * | 2004-02-23 | 2005-08-25 | Kotzin Michael D. | System and method for managing and associating dynamic containers of a content providing device |
US7526672B2 (en) * | 2004-02-25 | 2009-04-28 | Microsoft Corporation | Mutual exclusion techniques in a dynamic peer-to-peer environment |
GB0404777D0 (en) * | 2004-03-03 | 2004-04-07 | Gati George | The continuous digital interest counter |
US7949726B2 (en) * | 2004-03-12 | 2011-05-24 | Ocean And Coastal Environmental Sensing, Inc. | System and method for delivering information on demand |
CN101189852B (zh) * | 2004-08-17 | 2012-10-03 | 肖分析有限公司 | 用于上游故障检测和故障恢复的技术 |
JP2006185384A (ja) * | 2004-12-28 | 2006-07-13 | Matsushita Electric Ind Co Ltd | コンテンツサーバ、コンテンツ受信装置、プログラム及び記録媒体 |
US20070022198A1 (en) * | 2005-07-19 | 2007-01-25 | Samsung Electronics Co., Ltd. | Method and system for pushing asynchronous notifications to networked devices |
KR100772861B1 (ko) | 2005-09-23 | 2007-11-02 | 삼성전자주식회사 | 원격 사용자 인터페이스를 제공하는 장치 및 방법 |
US8150944B2 (en) * | 2005-09-30 | 2012-04-03 | Sony Ericsson Mobile Communications Ab | Electronic apparatus with server device for managing setting data |
US10664575B2 (en) | 2006-05-02 | 2020-05-26 | Acer Cloud Technology, Inc. | Virtual vault of licensed content |
US8196039B2 (en) * | 2006-07-07 | 2012-06-05 | International Business Machines Corporation | Relevant term extraction and classification for Wiki content |
US7954052B2 (en) * | 2006-07-07 | 2011-05-31 | International Business Machines Corporation | Method for processing a web page for display in a wiki environment |
US20080010345A1 (en) * | 2006-07-07 | 2008-01-10 | Bryce Allen Curtis | Method and apparatus for data hub objects |
US8219900B2 (en) * | 2006-07-07 | 2012-07-10 | International Business Machines Corporation | Programmatically hiding and displaying Wiki page layout sections |
US8560956B2 (en) | 2006-07-07 | 2013-10-15 | International Business Machines Corporation | Processing model of an application wiki |
US8775930B2 (en) * | 2006-07-07 | 2014-07-08 | International Business Machines Corporation | Generic frequency weighted visualization component |
US20080010338A1 (en) * | 2006-07-07 | 2008-01-10 | Bryce Allen Curtis | Method and apparatus for client and server interaction |
US20080010388A1 (en) * | 2006-07-07 | 2008-01-10 | Bryce Allen Curtis | Method and apparatus for server wiring model |
US20080010386A1 (en) * | 2006-07-07 | 2008-01-10 | Bryce Allen Curtis | Method and apparatus for client wiring model |
US20080010387A1 (en) * | 2006-07-07 | 2008-01-10 | Bryce Allen Curtis | Method for defining a Wiki page layout using a Wiki page |
US7624276B2 (en) | 2006-10-16 | 2009-11-24 | Broadon Communications Corp. | Secure device authentication system and method |
US7613915B2 (en) | 2006-11-09 | 2009-11-03 | BroadOn Communications Corp | Method for programming on-chip non-volatile memory in a secure processor, and a device so programmed |
US8200961B2 (en) | 2006-11-19 | 2012-06-12 | Igware, Inc. | Securing a flash memory block in a secure device system and method |
JP5246640B2 (ja) * | 2007-09-28 | 2013-07-24 | インターナショナル・ビジネス・マシーンズ・コーポレーション | ユーザの操作を自動化する技術 |
JP2009289163A (ja) * | 2008-05-30 | 2009-12-10 | Toshiba Corp | サーバ装置および通信システム |
JP2010128802A (ja) | 2008-11-27 | 2010-06-10 | Ricoh Co Ltd | 情報処理装置、Webサーバ装置、Webページ更新方法、及びプログラム |
US8886787B2 (en) * | 2009-02-26 | 2014-11-11 | Microsoft Corporation | Notification for a set of sessions using a single call issued from a connection pool |
JP2012059056A (ja) * | 2010-09-09 | 2012-03-22 | Sharp Corp | コンテンツ配信システム、コンテンツ配信方法、サーバ、コンテンツ再生装置、プログラム、および記録媒体 |
AU2011319292B2 (en) * | 2010-10-18 | 2015-01-22 | Mitsubishi Electric Corporation | Air conditioner control device, equipment system, and program |
JP5378456B2 (ja) * | 2011-06-13 | 2013-12-25 | 株式会社エヌ・ティ・ティ・ドコモ | 通信端末及びコンテンツ更新方法 |
US8627097B2 (en) | 2012-03-27 | 2014-01-07 | Igt | System and method enabling parallel processing of hash functions using authentication checkpoint hashes |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5774670A (en) * | 1995-10-06 | 1998-06-30 | Netscape Communications Corporation | Persistent client state in a hypertext transfer protocol based client-server system |
US5925100A (en) * | 1996-03-21 | 1999-07-20 | Sybase, Inc. | Client/server system with methods for prefetching and managing semantic objects based on object-based prefetch primitive present in client's executing application |
FR2751448B1 (fr) * | 1996-07-17 | 1999-01-15 | Bull Sa | Procede de surveillance en temps reel d'un systeme informatique pour son administration et l'aide a sa maintenance en phase d'exploitation |
US6247056B1 (en) * | 1997-02-03 | 2001-06-12 | Oracle Corporation | Method and apparatus for handling client request with a distributed web application server |
US5893091A (en) * | 1997-04-11 | 1999-04-06 | Immediata Corporation | Multicasting with key words |
US6243761B1 (en) * | 1998-03-26 | 2001-06-05 | Digital Equipment Corporation | Method for dynamically adjusting multimedia content of a web page by a server in accordance to network path characteristics between client and server |
US6289370B1 (en) * | 1998-11-30 | 2001-09-11 | 3Com Corporation | Platform independent enhanced help system for an internet enabled embedded system |
US6304909B1 (en) * | 1998-12-18 | 2001-10-16 | International Business Machines Corporation | Client-controlled link processing in computer network |
-
1998
- 1998-06-30 JP JP19958798A patent/JP4634547B2/ja not_active Expired - Lifetime
-
1999
- 1999-06-29 US US09/342,732 patent/US6480883B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
US6480883B1 (en) | 2002-11-12 |
JP2000020423A (ja) | 2000-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4634547B2 (ja) | リアルタイム情報配信方法 | |
KR100421624B1 (ko) | 플랫폼 독립적인 소프트웨어 자동 검색/배포/설치 장치 및그 방법 | |
KR100318781B1 (ko) | 서버측의비동기적양식관리방법및그시스템 | |
KR101433981B1 (ko) | 웹 기반 애플리케이션의 오프라인 실행 | |
JP3733218B2 (ja) | 中継装置及びその制御方法及び記憶媒体 | |
US5933604A (en) | Network resource monitoring system and method for providing notice of changes in resources in a network | |
US6785740B1 (en) | Text-messaging server with automatic conversion of keywords into hyperlinks to external files on a network | |
US6237005B1 (en) | Web server mechanism for processing multiple transactions in an interpreted language execution environment | |
US7272782B2 (en) | System and method for providing offline web application, page, and form access in a networked environment | |
US8868707B2 (en) | Adaptive write-back and write-through caching for off-line data | |
JP2006318499A (ja) | サーバとクライアントノードとの間の接続を管理するシステムおよび方法 | |
KR20050084820A (ko) | 데이터 처리 시스템, 테스트 방법, 모니터링 방법,네트워크 데이터 처리 시스템, 데이터 처리 시스템 및컴퓨터 프로그램 제품 | |
JP2006268470A (ja) | 非同期通信方法 | |
WO2005112394A1 (en) | Access control for requested web objects based on http validation | |
JP2000231566A (ja) | Wwwブラウザにおけるラベル機能部 | |
JPH10207805A (ja) | Wwwサーバ・wwwブラウザ・システム | |
WO2011055497A1 (en) | Management apparatus and method therefor | |
US20020194327A1 (en) | Method for sensing the status of a client from a server | |
JP2003067239A (ja) | ページ情報更新方法、ページ情報更新システム及び半導体製造ラインのスケジュール管理システム | |
JPH11161322A (ja) | 生産ライン監視システム | |
JPH11184784A (ja) | 実行状況報告機能付きサーバ及び実行状況表示機能付きクライアント | |
JP3882043B2 (ja) | Webページ同期閲覧方法及びシステム | |
JP3682914B2 (ja) | データ通信システムおよびこれに用いるデータ処理装置、ブラウザを利用した接続維持方法、記録媒体 | |
EP1971077A1 (en) | System and method for managing image forming apparatuses | |
JP2009080587A (ja) | データ転送サーバ |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050609 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20071018 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20071120 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080121 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080304 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080428 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20080512 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080822 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20101119 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131126 Year of fee payment: 3 |
|
EXPY | Cancellation because of completion of term |