JP2013514563A - 実時間データを提供するためのシステムおよび方法 - Google Patents

実時間データを提供するためのシステムおよび方法 Download PDF

Info

Publication number
JP2013514563A
JP2013514563A JP2012533444A JP2012533444A JP2013514563A JP 2013514563 A JP2013514563 A JP 2013514563A JP 2012533444 A JP2012533444 A JP 2012533444A JP 2012533444 A JP2012533444 A JP 2012533444A JP 2013514563 A JP2013514563 A JP 2013514563A
Authority
JP
Japan
Prior art keywords
data
server
ria
component
connection
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.)
Granted
Application number
JP2012533444A
Other languages
English (en)
Other versions
JP6227249B2 (ja
Inventor
トーマス,アンドリュー
Original Assignee
リアル イノべーションズ インターナショナル エルエルシー
トーマス,アンドリュー
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by リアル イノべーションズ インターナショナル エルエルシー, トーマス,アンドリュー filed Critical リアル イノべーションズ インターナショナル エルエルシー
Publication of JP2013514563A publication Critical patent/JP2013514563A/ja
Application granted granted Critical
Publication of JP6227249B2 publication Critical patent/JP6227249B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/16Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/401Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference
    • H04L65/4015Support for services or applications wherein the services involve a main real-time session and one or more additional parallel real-time or time sensitive sessions, e.g. white board sharing or spawning of a subconference where at least one of the additional parallel sessions is real time or time sensitive, e.g. white board sharing, collaboration or spawning of a subconference
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Telephonic Communication Services (AREA)

Abstract

リッチインターネットアプリケーションに実時間データを提供するシステムおよび方法を開示する。少なくとも1つの実時間データサーバと協働するRIAフレームワークのグラフィックおよびネットワークの特徴は、低減された待ち時間とウェブブラウザにおける実時間データアプリケーションを提供する。一実施形態では、データはデータソースで生成され、サーバに伝搬され、かつサーバで収集される。持続的な接続がRIAからサーバに対して作り出され、RIAはデータに登録される。登録されたデータは、サーバで収集された少なくとも幾つかのデータを含み、サーバはデータがサーバで収集されるように、持続的な接続を介して登録されたデータをRIAに伝搬する。

Description

著作権の告知
本特許文献の開示の一部分は、著作権保護を対象とする資料を含む。著作権者は、特許商標庁の特許出願または記録に見られる特許文献、または特許開示物による複製物に異存はないが、その他の点では、何であれ全ての著作権を保有する。
実時間データとは、データが最初に作成された後、一定時間内に処理および/または送信されるべき任意のデジタル情報またはアナログ情報を指す。データが作成された時から処理および/または送信されるまでに経過した時間は、待ち時間として知られている。任意の特定の実時間アプリケーションにとって可能な最大の待ち時間は、アプリケーションに依存する。最大待ち時間が厳しい要件であるアプリケーションは、「ハードな」実時間アプリケーションと呼ぶことができ、最大待ち時間が厳しい要件でないアプリケーションは、「ソフトな」実時間アプリケーションと呼ぶことができる。ソフトな実時間アプリケーションは、時に主観的なアプリケーション依存を満たし、一定の「十分な速さ」を満たすことだけが必要である。非実時間データは、特定の待ち時間要求に何ら応じる必要がないデータである。
「データ」とういう用語は、ハードな実時間、ソフトな実時間、または非実時間データを指し得る。「実時間データ」は、ハードな実時間データまたはソフトな実時間データを指し得る。
実時間データは、典型的に、物理的処理またはデータを処理するコンピュータシステムの外部のコンピュータプログラムに起因して作成される。例えば、実時間データは、モータの状態、流体タンクのレベル、バルブの位置、コンベヤの速度などのような産業プロセスの制御システムに由来する情報と、例えば株のような金融商品用の価格、容量と、ユーザがコンピュータディスプレイでボタンをクリックしたことを示すようなユーザインターフェースにおけるイベントと、ヒトであるオペレータによるデータ入力と、コンピュータ・オペレーティングシステムの状態変化とを含み得る。徐々に変化する視覚的な何らかの情報は、実時間データとして扱うことができる。
データの発信元は、「データソース」と記載され得る。例えば、データは、物理的処理として発信元となり、電気的に計算され、デジタル表現に変換され得るか、またはデータは、デジタル表現の発信元となり得る。一般的に、データはデジタル表現としてデジタルコンピュータで利用可能に作成され、続く零以上のステップがデータをデジタル表現に変換する。データソースは、コンピュータプログラムによりアクセス可能なデジタルの状態にデータを変換するために必要な全てのコンポーネントおよび工程を含み得る。
データソースの類似物は「データシンク」である。データシンクは、データを消費または使用する。幾つかのデータシンクの例は、処理制御システムにおけるアクチュエータ、株式取引システムにおける株式取引ソフトウェア、ユーザインターフェース用アプリケーション、データベースまたは他のデータ・ストレージシステムが挙げられる。
多くのデータソースは、データシンクでもある。従って、データソースは、データソース、データシンク、または同時に両方を含み得る。例えば、データがデータソースに送信される場合、データソースもデータシンクとして働き得る。
コンピュータ・アプリケーションでは、データは通常「サーバ」に管理される。サーバは、データソース、データシンクのいずれか、または両方として働くことができ、「クライアント」アプリケーションは、サーバが管理するデータと相互に作用することが可能となる。
一般的に、クライアント・アプリケーションは、データと相互に作用するためにサーバとの接続を開始しなければならない。この接続は、データとの一または僅かな相互作用の間のみ接続する「一時的」、またはデータと多く相互作用するために接続を持続させ、クライアント・アプリケーションの存続期間のために接続可能な「永続的」が存在し得る。永続的な接続は、「持続」接続とも呼ばれる。
データソースは、データのデジタル表現を定義する一または複数の「データフォーマット」でデータを提供する。データフォーマットは、発行された基本的なデータソースに一致し得るか、またはデータソースに特定的であり得る。同様に、データシンクは、発行された基本フォーマットのデータまたはデータシンクに特定的なフォーマットのデータを必要とし得る。
データソースは、一または複数の「通信プロトコル」を介してデータへのアクセスを提供する。通信プロトコルは、データがデータソースからデータシンクに転送されるメカニズムを特定する。通信プロトコルは、基本的なデータソースに一致し得るか、またはデータソースに特異的であり得る。データソースは、サポートされていないデータフォーマットが、全てサポートされた通信プロトコルを介して送信されるようにデータフォーマットと通信プロトコルとを組み合わせ得る。一般的に「プロトコル」または「データプロトコル」とは、特定の通信プロトコルを介して送信された特定のデータフォーマットの組み合わせを指す。
データシンクは、データソースにより生成されたデータを使用するために、データソースにより提供された少なくとも1つのデータプロトコルをサポートしなければならない。データプロトコルは多大に存在するため、全てのデータソースおよびデータシンクについて全てのデータプロトコルをサポートすることは実用的ではない。結果、データを使用するクライアント・アプリケーションは、通常、主要な目的のために一番必要なプロトコルだけをサポートするように作成される。同様に、データソースも一般的に主要な目的に必要なプトコルのみをサポートする。従って、例えば、HTTPプロトコルをサポートするウェブブラウザをDDEプロトコルをサポートする表計算アプリケーションに直接接続させる方法はない。
データシンクにデータソースにより提供されるデータを使用させるために、プロトコルの変換工程が行われて、データソースによってサポートされているプロトコルからデータシンクにサポートされているプロトコルにデータを変換しなければならない。この変換工程は、「ミドルウェア」アプリケーションにより行うことができる。ミドルウェア・アプリケーションの主な目的は、通常はデータソースとデータシンクとが共通してプロトコルを共有する場合は間接的に相互作用できるように、1つのプロトコルから別のプロトコルにデータを変換することによってデータソースとデータシンクとの通信を促すことであり得る。
データソースは、少なくとも2つの方法を使用してデータをデータシンクに転送し得る。
1.オンデマンド。データソースは、データソースで利用可能なデータの一部または全てを要求するデータシンクを受動的に待つ。データシンクがデータを要求した場合は、ソースが要求されたデータの現在の状態を示す結果を用いて応答する。データシンクがデータ変更を知らされる必要があるならば、データシンクはデータソースが更新されたデータを用いて応答するために、データシンクは要求を繰り返さなければならない。データシンクによる同一データに対する繰り返し要求は「ポーリング」として知られている。データシンクは、新しい要求毎にデータソースへの一時的な接続を作り出し得るか、または繰り返し要求が送信される間にわたり持続的な接続を作り出し得る。
2.登録による方法。データシンクはデータソースへの持続的な接続を作り出し、データソースから利用可能な一部または全てのデータを登録する。データソースは、持続的な接続を介して変更が生じるとデータに対する何らかの変化を送信する。データソースは、データシンクが他に特定するかまたは接続が終わるまでデータに対する変化を送信し続ける。
共有メモリ、メッセージ・キュー、およびメールボックスのようなデータ転送方法は、要求または同意方法のいずれかのバリエーションであることが理解される。データ転送、データ伝搬、またはデータ通信という用語は全て、システム内のデータの移動を指し、これらの用語は、特定のデータ通信方法に関連するように、互換可能に使用され得ることもさらに理解される。これらの方法は、通信プロトコルに基づいて独立している。
実時間データを扱うコンピュータ・アプリケーションは、信頼があり、反応がよく、データソースに簡単に接続されなければならない。これは、実時間データ処理アプリケーションが、歴史的に、直接的または間接的にデータソースに接続される単独型のアプリケーションとして作成されてきたことを意味する。この単独型のアーキテクチャは、アプリケーションにコンピュータのグラフィック能力を最大限に利用することも可能とし、実時間データの高等で動的な視覚化を提供する。反対に、ウェブブラウザ技術に基づいたアプリケーションは、データ接続およびグラフィック速度の観点から不適当なことが証明されている。従って、ウェブブラウザにおける広範な実時間データ処理および表示は、利用できなかった。ウェブブラウザでActiveXコンポーネントを使用してデータ駆動型表示にアクセスする試みを行う開発者もいたが、しかしこれらのコンポーネントは、一般的に現代のブラウザではサポート性が乏しく、これらのコンポーネントが示すセキュリティーの危険性に起因して限定が課される。
内蔵されたブラウザのJavascriptエンジンを使用して、ウェブブラウザにおいて変化するデータを表示する試みが成されてきた。これは、一般的に、AJAX(Asynchronous Javascript and XML)と呼ばれる手法を用いて実現され、ウェブブラウザは新しいデータを定期的にポーリングし、次いでこれに応じてディスプレイを更新する。このポーリングメカニズムは非常に非効率的であり、比較的少量のデータセットまたは比較的移動が遅いデータにのみ好適である。CPUまたはネットワークのバンド幅を浪費させないためにポーリングの割合を低減させることは、実時間アプリケーションを受けられないデータの待ち時間が増えることに対し効果がある。
ストリーミングAJAXと呼ばれるメカニズムを介してAJAXを改善する試みは、ブラウザのページをロードするメカニズムの副作用を利用してJavascriptコマンドを徐々にページに対して追加することによりブラウザのページを増加的に拡大させる。Javascriptコマンドの各々は、連続的なデータの流れといった印象を与えながらコマンドが立ち上がると実行する。ウェブブラウザは、事実上、ネットワーク接続が遅い間に極めて大量のウェブページを負担しているものと思い込む。この方法は、ウェブブラウザのメモリやCPUの使用が、送信されるこれまでにない大量のページに起因して続けて徐々に増えていく事実を含め、幾つかの障害を持つ。
AJAXもストリーミングAJAXの方法もウェブブラウザ内のディスプレイ選択肢という品質の欠損を被る。ウェブブラウザは、一般的に静止ページおよびウェブ「フォーム」のディスプレイ用に設計されており、高速または高品質なグラフィックの提示という選択肢を提供しない。グラフィカルなディスプレイという選択肢に対する改善のための試みは、ブラウザ間では両立しない虜があり、一般的に非常に実行が遅い。
内蔵されたウェブブラウザの能力に基づいて全てのデータを送信する解決法は、ウェブブラウザでデータを受信することを最初に標的とする。データ通信は、一方向であり、また、サーバからデータを受信する接続は、サーバにデータを送信するために使用することもできない。サーバにデータを再送信する必要がある場合は、新たに接続を開き、HTTPリクエストを送信し、次いで再び接続を閉じなければならない。従って、ストリーミングAJAXのような解決法は、膨大なオーバーヘッドとデータ送信の毎に新しいHTTPリクエストを発行しなければならないことにより被る待ち時間とにより、データサーバにデータを送信するのが非常に遅い。
速いかのように見えるが遅く移動する(待ち時間が長い)データを提示することによりユーザ体験を改善しようというウェブベースのデータ視覚化に対する試みが成されている。これは、実際に到着するデータよりも高い頻度でウェブブラウザに補完データを表示することにより実現される。速度計を意味する環状ゲージは、5秒毎に分離された1〜100の値を受信する。次に、ウェブページは、各回に4回値を変えながら1秒間にゲージダイヤルを5回取り出す。これにより、根本的なデータ伝達はそのような情報を含まないが、視聴者に滑らかに速度が変化する印象を与える。すなわち、そのような補間データの表示は、もっぱら視聴者を惑わせる場合がある。こうした種類の補間は根本的なデータの実際の動作を曖昧にし、通常、プロセス制御および株式市場の取引のような実時間アプリケーションでは許容できない。
Adobe Flash(商標)およびMicrosoft Silverlight(商標)のようなリッチインターネットアプリケーション(「RIA」)フレームワークは、ウェブブラウザにおけるデータ処理およびグラフィック描写の両方について改善されたプラットフォームを提供する。これらのRIAフレームワークはまた、RIA内での直接的なTCP/IP通信をサポートする。驚くべきことに、これらの特徴を組み合わせることにより、ウェブブラウザでの実時間情報を処理および表示することが可能となる。この処理・表示能力は、RIAが主にビデオ、宣伝、およびゲームに好適であるというソフトウェア産業における認識に起因して、実時間データシステムに移転されてこなかった。
本発明は、ウェブブラウザで少ない待ち時間の実時間データアプリケーションを提供するために、少なくとも1つの実時間データサーバと協働する、RIAフレームワークのグラフィック特性およびネットワーク特性を使用するためのシステムおよび方法を提供する。本発明は、データソースのデータがウェブブラウザ内で使用できないデータソースを同時に扱いながら、現在のAJAXおよびストリーミングAJAXの限定を克服する。
本発明は、最先端の技術により、あるポイントまでのデータ待ち時間を縮小することでウェブブラウザへの実時間データの送達を改善し、視覚化コンポーネントは、補間値ではなく実際のデータ値を使用して活発化できる。これにより、データの一時的な動作がユーザに対して一層正確に提示される。一時的なデータの動作は、通常、そのデータにより提示される実際の動的な実時間システムの理解に重要である。例えば、物理的ゲージを観察する者は、ゲージ針の動作に振動またはオーバーシュートを観察することにより重要なシステムの特性を判別することができる。本発明の一実施形態では、物理的ゲージのデジタル表現は針の原動力を捕獲し、物理的ゲージとして同じように高品質の情報を提供することができる。
本発明は、CPUおよびネットワークのコストを抑え、待ち時間を低減させながら、ユーザからデータサーバへのデータ送信の速度を大幅に改善する。これにより、ユーザは、システムの反応が現在の動作に重要な、一層高機能な制御シナリオに参加することが可能となる。例えば、システムは、容器に水を注ぐ間に、相互作用を維持および解除するための相互作用を必要とし得る。ユーザはボタンを押し、容器が満タンになるまで維持し、次いでボタンを離す。システムが、容器から溢れないように迅速に応答しなければならないことは明白である。この種の制御は、データ伝達の待ち時間が予測できないことに起因して、典型的なウェブベース・アプリケーションでは実行できない。驚くべきことに、本発明は、以前は遅すぎ、信頼性がなく、またはウェブブラウザを通して検討されるには原始的であったこの種の制御および実時間データ・アプリケーションを可能にする。
典型的なウェブアプリケーションは、アプリケーション設計者による特異的なフォーマットで提供されるデータを扱う。これは、エンドユーザの選択を限定する意図的な方法であり得、または単に設計に対する限定であり得る。データフォーマットが(XMLまたはJSONなどの)業界基準に従っている場合でも、データソースはアプリケーションに特異的である。本発明はまた、業界基準および所有者のソースの両方を発信元とする多種多様な実時間データを送達するための汎用的なメカニズムも提供する。有利に、本発明はさらに、種々のデータフォーマットでそのデータを提供することができる。
多くのデータソース、実時間および非実時間は、ネットワークの使用(すなわち、ネットワークを通した送信)を意図しない。本発明によれば、Microsoft Excel(商標)(マイクロソフト株式会社)のようなデータソースからのデータをネットワークを通して任意のRIAまたはウェブベース・アプリケーションに確実かつ迅速に送達することが可能となる。OPCに基づいたデータソースのようなデータソースは、ネットワークの使用を意図するものであったが、ウェブブラウザと通信するようには設計されていない。本発明によれば、ウェブベース・アプリケーションに確実かつ迅速にこれらのソースを送達することが可能となる。データベース・システムのような他のデータソースは、実時間情報について全くインターフェースを提供していない。本発明によれば、データベース・アプリケーショのようなソースからの非実時間データを実時間データのように送達することが可能となり、それにより、RIAまたはウェブベース・アプリケーションのために非効率的なデータベースのポーリングの必要性を排除する。
データソースおよびデータシンクは、持続的な接続または一時的な接続によりサーバと接続し得る。サーバに接続する方法は、特定のデータソースまたはデータシンクの要求を反映させることが理解される。
本発明は、一または複数のデータソースからの実時間データがリッチインターネットアプリケーションで効率的に利用できる方法を提供する。本発明はさらに、RIAが、効率的に実時間データに変更するか、またはソースデータ(単数または複数)に再び送信することができる新規の実時間データを生成するための方法を提供する。ソースデータ(単数または複数)は、ネットワーク上の他のRIAにそのデータを再送信することができる。従って、本発明によれば、効率的に任意の数のRIAアプリケーションが実時間で別のRIAアプリケーションと通信し、一つまたは多くの実時間データソースと協働して通信することが可能となる。抽出することにより提示可能な任意のデータが発信元のソース、提示、または転送プロトコルの有無に関わらずRIAで利用できるように、本発明は実時間データの抽出が可能である。
本発明の一実施形態に係る、RIAとデータサーバとの間の直接接続を示す例示的なブロック図である。 本発明の一実施形態に係る、RIAと、サーバと、別離したデータソースとの間の接続を示す例示的なブロック図である。 本発明の一実施形態に係る、複数のRIAと、サーバと、複数の別離したデータソースとの間の接続を示す例示的なブロック図である。 本発明の一実施形態に係る、RIAの制御フローの一方法を示すフローチャートである。 図5aおよび図5bは、本発明の一実施形態に係る、サーバ操作の一方法を示すフローチャートである。 本発明の一実施形態に係る、複数のRIAへの同時接続を管理するデータサーバを示す例示的なブロック図である。 本発明の一実施形態に係る、表計算アプリケーションとRIAとの間のローカルネットワークまたは広域ネットワークを介したデータの実時間通信を示す例示的なブロック図である。 本発明の一実施形態に係る、システムの実施を示す例示的なブロック図である。
以下の記載は、どの当業者も本発明を成すことができ、使用できるように提示され、本発明の特定のアプリケーションを背景として提供される。開示される実施形態に対する種々の変更が当業者には容易に明らかとなり、本明細書で定義される一般原則は、本発明の範囲から逸脱することなく他の実施形態およびアプリケーションに適用され得る。種々の実施形態および実施例に対する言及は、本発明の範囲を限定せず、本明細書に添付した請求の範囲によってのみ限定される。従って、本明細書で説明する例のどれもが限定されることを意図しておらず、主張する本発明について、可能性のある多くの実施形態のうちの幾つかを説明するにすぎない。
本発明の実施形態が実行されるプログラム環境には、例示的に、汎用コンピュータ、または携帯用コンピュータ若しくは携帯電話のような特殊目的の装置が組み込まれる。そのような装置(例えば、プロセッサ、メモリ、データストレージ、ディスプレイ、ユーザの入力手段)の詳細は、明瞭さのために省略され得る。
本発明の技術は、種々の技術を使用することにより実装され得ることも理解される。例えば、本明細書に記載される方法は、コンピュータシステムで実行されるソフトウェアに実装されるか、またはマイクロプロセッサ、若しくは他の特別に設計されたアプリケーションに特異的な集積回路、プログラム可能な倫理装置のいずれかの組み合わせ若しくは種々の組み合わせを用いてハードウェアに実装され得る。詳細には、本明細書に記載される方法は、コンピュータで読み取り可能な好適な媒体に存在する、コンピュータが実行可能な一連の命令により実施され得る。コンピュータで読み取り可能な好適な媒体は、揮発性(例えばRAM)および/または不揮発性(例えばROM、ディスク)メモリ、搬送波、並びに通信媒体(例えば、銅線、同軸ケーブル、光ファイバ媒体)を含み得る。例示的な搬送波は、ローカルネットワーク、インターネットまたは他の幾つかの通信リンクのような公的にアクセス可能なネットワークに従ってデジタルデータ・ストリームを搬送する電気信号、電磁信号、または光信号の形態を取り得る。
図面に示される例示の実施形態を参照すると、簡易化された例は明瞭さのために選択されたことが理解される。図面に見受けられる一つの構成要素における単一の例(例えば、RIA、サーバ、データソース、データシンクなど)は、複数の同じ構成要素と置換され得、それも本発明の範囲内に含まれる。
従って、一態様において、本発明は、RIAに実時間データを提供する方法を提供する。その方法は、データソースでデータを生成することと、サーバにデータを伝搬することと、サーバでデータを収集することと、RIAからサーバへの持続的な接続を作り出すことと、登録されたデータに前記RIAを登録させることとを含み、登録されたデータは、サーバで収集された少なくとも幾つかのデータを含み、サーバは、データがサーバで収集されるように持続的な接続を介して登録されたデータをRIAに伝搬する。方法はさらに、RIAが発信元のデータをサーバに送信することを含み得る。RIAが発信元のデータは、持続的な接続を通したデータに対する少なくとも1つの変化リクエストを含み得る。さらにデータは、少なくとも1つの中間コンポーネントを介して伝搬され得る。サーバは、少なくとも1つの変化リクエストを受信し得、少なくとも1つの変化リクエストをデータソースに送信し得る。少なくとも1つの変化リクエストは、中間コンポーネントを介して伝達され得る。中間コンポーネントは、中間ハードウェアコンポーネントまたは中間ソフトウェアコンポーネントであり得る。任意に、RIAが登録されたデータに登録し得る。データソースでデータを生成し、そのデータをサーバに伝搬することは、サーバでデータを収集することとともに行われ得る。RIAは、計算またはグラフィック描写の変更など、データに基づいてアクションを遂行し得る。RIAは、ユーザディスプレイ上にデータの視覚表示を提供し、ユーザはRIAが発信元のデータを生成するために視覚表示とやり取りし得る。視覚表示は、RIAフレームワーク内で実行するプログラムであり得る。RIAが発信元のデータは、サーバを停止させるか、またはどのデータがサーバから届いたのか変えるなど、その動作を変えるために、サーバに命令してアクションを遂行させ得る。
例えば、RIAが発信元のデータは、ユーザとの処理の結果、タイマーイベント、サーバに由来するデータへの応答、スクリプト、またはユーザではなく生成された別のイベントであり得る。
別の態様では、本発明は、実時間データをRIAに提供するコンピュータに実装された方法を提供する。前記方法は、データソースからデータを提供することと、データソースからサーバにデータソースを伝搬することと、サーバでデータを収集することと、RIAでデータを生成することと、サーバからRIAへの第1持続接続を作り出すことと、RIAからサーバへの第2持続接続を作り出すことと、第2持続接続を介してRIAからサーバにデータを伝搬することと、登録されたデータにRIAを登録することとを含み、登録されたデータは、サーバで収集された少なくとも幾つかのデータを含み、サーバは、第1持続接続を介してRIAに登録されたデータを伝搬する。方法はさらに、サーバからデータシンクにデータを伝搬することを含む。第1持続接続および第2持続的な接続は、単一接続から成り得る。データソース、データシンク、およびサーバは、単一のコンポーネントまたは2つのコンポーネントの任意の組み合わせから成り得る。データは、ソフトウェアコンポーネント、ハードウェア、コンポーネント、およびネットワークを含む群から選択される少なくとも1つの中間物を介して伝搬され得る。
データ項目は、登録に基づいてRIAとサーバとの間で伝搬され得、データ項目はデータ項目の変化に応じて直ぐに伝搬される。伝搬されたデータは、数値データ、非数値データ、構成設定、および実行コマンドを含む群から選択され得る。RIAは、データに基づいてアクションを遂行し得、該アクションは、ユーザディスプレイの視覚表示の変更、計算、新規データの生成、既存データの変更、データの格納、可聴表示、スクリプトの実行、サーバへのデータの伝搬、ユーザ可視なプログラミングの応答、ユーザ不可視なプログラミングの応答を含む群から選択される。RIAで生成されたデータは、サーバに命令して、サーバ内でのデータの変更、サーバに接続されたデータシンクへのデータの伝搬、スクリプトの実行、ファイルシステムへのデータの格納、新規データの作成、サーバに接続されたデータシンクへの新規データの伝搬、サーバ構成の変更、サーバ動作の変更、ユーザ可視なプログラミングの応答、およびユーザ不可視なプログラミングの応答を含む群から選択されるアクションを遂行させ得る。
さらに別の態様では、本発明は、上述したように、一または複数のコンピュータで実行される場合に、実時間データをRIAに提供する方法をコンピュータに行わせる命令を記憶したコンピュータ読み取り可能な記憶媒体を提供する。
別の態様では、本発明は、RIAに実時間を提供するためのコンピュータシステムを提供する。前記システムは、プロセッサと、入力手段と、ディスプレイと、少なくとも1つのデータソースと、少なくとも1つのデータソースからデータを収集するためのデータ収集コンポーネント、および少なくとも1つのデータクライアントにデータを放出するためのデータ放出コンポーネントを備える少なくとも1つのサーバと、少なくとも1つのRIAと、任意に少なくとも1つのデータシンクとを備える。サーバはさらに、データ放出コンポーネントにより放出するためにデータ収集コンポーネントにより収集されたデータの形態を変更するためのデータ変更コンポーネントを備え得る。少なくとも1つのデータソースと少なくとも1つのサーバは、少なくとも1つのコンピュータプログラム(すなわち、単一のコンピュータプログラム、または2つ以上の別箇のコンピュータプログラム)に実装され得ることが理解される。
サーバはさらに、データ変更コンポーネントと、データ生成コンポーネントと、ユーザインターフェース用コンポーネントと、コンピュータファイルシステム相互作用コンポーネントと、サーバで実行するコンピュータ上で実行する他のプログラムと相互作用するためのプログラム相互作用コンポーネントと、プログラム可能なアクションを行うためのスクリプト言語コンポーネントと、クライアントプログラムからHTTPリクエストを受け、それらリクエストに特定される文書を用いて、「ウェブサーバ」に類似する方法で応答するためのHTTPコンポーネントであって、前記リクエストに応じる文書を動的に構築し、サーバに在るデータの現在の値とサーバが内蔵するスクリプト言語で実行制御文の結果を文書内に含める能力を備えるHTTPコンポーネントと、任意のローカルまたはネットワークでアクセス可能なコンピュータで実行する別の一例のサーバとデータを交換または同期すし、両方のサーバがそのデータの基本的に同一の複製を維持することができ、それにより、いずれかの一例のサーバに接続されたクライアント・アプリケーションが相互に作用する 同じデータセットと相互作用することができる、同期コンポーネントと、データが収集される割合を限定するための第1調整コンポーネントと、データが放出される割合を限定するための第2調整コンポーネントと、他のサーバへの接続性の損失を検出し、接続性が取り戻せる場合は他のサーバに再接続する接続コンポーネントと、他のサーバからのデータが、一または複数の他のサーバがアクセスできないように同一または類似する情報を持つ複数の他のサーバと重複して接続する重複コンポーネントと、ソース内の幾つかまたは全てのデータが別のデータと類似する値を維持するようにデータソースのデータを橋絡するか、または1つのソースにあるデータが他のソースにあるデータの数学的変換として維持されるように橋絡するブリッジングコンポーネントであって、双方向のブリッジング操作を介して順方向にも逆方向にも数学的変換を適用する能力を備えるブリッジングコンポーネントと、から選択される一または複数のコンポーネントを備え得る。この一式のサーバコンポーネントは、他のデータの収集、並びに通信メカニズム、他の処理メカニズム、および他の記憶メカニズムをサポートするために、サーバに追加機能を追加することにより拡張することができることが理解される。
データ収集コンポーネントは、一または複数の以下の方法でデータを収集し得る:
オンデマンドであって、サーバは、別のサーバに在る幾つかまたは全てのデータのためにリクエストを送信し、他のサーバはそのリクエストに応じて、リクエストされたデータの現在の値(単数または複数)を用いて一度だけ応答する、方法と、登録による方法であって、サーバは、別のサーバにある幾つかまたは全てのデータに対し登録のためのリクエストを送信し、他のサーバは、そのデータの現在の値(単数または複数)を送信することにより応答し、次いでサーバが他のサーバとの接続を終了するか、または他のサーバが更新の送信を中止することをリクエストするまで、データの値(単数または複数)に対する逐次的変化を送信し続ける方法と、
トリガによる方法であって、クライアント、スクリプトまたはヒト(ユーザ)が、あるトリガの状況が、タイマ、時刻、データ変化、システム状態の変化、ユーザアクション、または他の幾つかの検出可能なイベントを満たす場合にのみデータを収集するようにサーバを構成する方法と、
サーバにデータを送信するために「クライアント」アプリケーションを受動的に待つ方法。
データ放出コンポーネントは、一または複数の以下の方法でデータを放出し得る:
オンデマンドであって、「クライアント」アプリケーションは、幾つかまたは全てのデータに対してリクエストを送信し、サーバはリクエストに応じて、リクエストされたデータの現在の値(単数または複数)を用いて一度だけ応答する方法と、
登録による方法であって、クライアント・アプリケーションは、幾つかまたは全てのデータを登録するためのリクエストを送信し、サーバがデータの現在の値(単数または複数)を送信することにより応答し、次いでクライアントがサーバとの接続を終了するか、またはサーバが更新の送信を中止することをリクエストするまでデータの値(単数または複数)に対する逐次的変化を送信し続ける、方法と、
トリガによる方法であって、クライアント、スクリプト、またはヒト(ユーザ)が、あるトリガの条件がタイマ、時刻、データ変化、システム状態の変化、ユーザアクション、または他の幾つかの検出可能なイベントを満たす場合にのみデータを放出するようにサーバを構成する方法。
データ収集コンポーネントで収集されるデータは、Dynamic Data Exchange(DDE)、OLE for Process Control(OPC)、OPCアラームおよびイベント仕様(OPC A&E)、Unified Architecture(OPC−UA)、OPC Express インターフェース(OPC−Xi)、TCP/IP、カスタムインターフェースを介してTCP/IPを渡るSSL(セキュア・ソケット・レイヤー)、ハイパーテキスト・トランスファー・プロトコル(HTTP)、Secure HTTP(HTTPS)、オープン・データベース・コネクティビティ(ODBC)、Microsoft Real−Time Data specification (RTD)、メッセージ・キュー、Windows Communication Foundation (WCF)、ProfibusおよびModbusなどの工業用バスのプロトコル、Windows Systemパフォーマンス・カウンタ、システムに組み込まれたTCP/IP通信、MS−Windows(登録商標)ではないシステムに由来するTCP/IP通信、Linux(登録商標)に由来するTCP/IP通信、QNXに由来するTCP/IP通信、TRONに由来するTCP/IP通信、CコンパイラおよびTCP実装を提供する任意のシステムに由来するTCP/IP通信、内蔵のスクリプト言語を使用して記載されたスクリプト、ユーザインターフェースを介してヒトが入力したデータ、ローカルディスクファイルから読み込まれたデータ、リモートからアクセス可能なディスクファイルから読み込まれたデータ、所有者のフォーマット、ユーザが定義したフォーマット、並びにサーバへの拡張を通じて追加されたフォーマットから選択される一または複数の通信プロトコルを使用して受信され得る。所有者のフォーマットの一例は、Wonderware SuiteLink(商標)である。
データ放出コンポーネントから放出されるデータは、Dynamic Data Exchange (DDE)、OLE for Process Control (OPC)、OPCアラームおよびイベント仕様(OPC A&E)Unified Architecture(OPC−UA)、(OPC−UA)、OPC Express インターフェース (OPC−Xi)、TCP/IP、カスタムインターフェースを介してTCP/IPを渡るSSL(セキュア・ソケット・レイヤー)、ハイパーテキスト・トランスファー・プロトコル(HTTP)、Secure HTTP(HTTPS)、オープン・データベース・コネクティビティ(ODBC)、Microsoft Real−Time Data specification (RTD)、メッセージ・キュー、Windows Communication Foundation (WCF)、ProfibusおよびModbusなどの工業用バスのプロトコル, Windows Systemパフォーマンス・カウンタ、システムに組み込まれたTCP/IP通信、MS−Windows(登録商標)ではないシステムに由来するTCP/IP通信、Linux(登録商標)に由来するTCP/IP通信、QNXに由来するTCP/IP通信、TRONに由来するTCP/IP通信、CコンパイラおよびTCP実装を提供する任意のシステムに由来するTCP/IP通信、内蔵のスクリプト言語を使用して記載されたスクリプト、ユーザインターフェースを介してヒトに提示されるデータ、ローカルディスクファイルから読み込まれたデータ、リモートからアクセス可能なディスクファイルから読み込まれたデータ、所有者のフォーマット、ユーザが定義したフォーマット、サーバへの拡張を通じて追加されたフォーマット、電子メール(Eメール)、並びにショート・メッセージ・サービス(SMS)のメッセージフォーマットから選択される一または複数の通信プロトコルを使用して送信され得る。
さらに、データ収集コンポーネントで収集されたデータは、通信プロトコルに適したフォーマットであり得る。データ放出コンポーネントから放出されたデータは、通信プロトコルに適したフォーマットであり得る。データ収集コンポーネントで収集されたデータおよびデータ放出コンポーネントから放出されたデータもまた、括弧付き表現(LISPなど)のフォーマット、ハイパーテキスト・マークアップ言語(HTML)、拡張マークアップ言語(XML)、Javascript Object Notation (JSON)、プロプライエタリ・バイナリ・フォーマット、ユーザ定義可能なテキストフォーマット、並びにサーバの拡張を通じて追加されたフォーマットから選択されるフォーマットであり得る。
システムはさらに、TCP/IP接続およびサーバによりサポートされた一または複数のデータフォーマットを実装するアプリケーション・プログラミング・インターフェース(API)を備え、APIは上述した接続の確立においてプログラマを支援し得る。APIは、以下のプラットフォーム:「C」プログラミング言語、「C++」プログラミング言語、MicrosoftのNetプログラミング環境、Microsoft SilverlightのRIAフレームワーク、Adobe FlashのRIAフレームワーク、Adobe AirのRIAフレームワーク、TCP/IP通信をサポートするプログラミング言語(任意のスクリプト言語を含む)、並びにTCP/IP通信をサポートするRIAフレームワークのうち一または複数のプラットフォームのために実装され得る。
RIAは、Microsoft Silverlight、Adobe Air、およびTCP/IP通信をサポートするRIAフレームワークから選択されるRIAフレームワークを使用して実装され得る。RIAフレームワークは、データを受信するためサーバへの第1の永続的TCP/IPデータ接続を作り出し、サーバからデータを受信し、第2TCP/IPデータ接続を通じてサーバにデータを送信するためのサポートを備え得る。データは、オンデマンド、または登録によりサーバから受信され得る。第1TCP/IPデータ接続および第2TCP/IPデータ接続は、同じ接続であり得る。第2TCP/IPデータ接続永続的接続であり得る。第2TCP/IPデータ接続は、一時的な接続であり得る。サーバへのTCP/IPデータ接続は、上述したAPI直接のTCP/IP接続、HTTP、およびHTTPSから選択されるプロトコルであり得る。
サーバからのデータは、括弧付き表現(LISPなど)のフォーマット、ハイパーテキスト・マークアップ言語(HTML)、拡張マークアップ言語(XML)、Javascript Object Notation(JSON)プロプライエタリ・バイナリ・フォーマット、ユーザ定義可能なテキストフォーマット、並びにサーバへの拡張により追加されたフォーマットから選択される一または複数のフォームで受信され得るか、またはサーバへのデータは送信され得る。
RIAフレームワークはさらに、データを示すグラフィックディスプレイをユーザに提示するためのサポートを備え得る。グラフィックディスプレイは、テキスト表示、スライダ、チャート、傾向グラフ、環状ゲージ、線形ゲージ、ボタン、チェックボックス、ラジオボタン、プログレスバー、基本のグラフィカル・オブジェクト、RIAフレームワークにサポートされているコントロール、RIAフレームワークを拡張するために作成されたカスタムコントロール、RIAフレームワークを使用して実装された第三者コントロール、およびカスタム化されたグラフィック要素から選択される一または複数のグラフィック要素を備え得る。
グラフィックディスプレイの構成情報は、サーバ上で保存されるとともにサーバからロードされ得る。グラフィック要素は、グラフィックディスプレイにおいて作成および変更され得る。グラフィック要素は、ユーザがカスタム可能なカスタム化されたグラフィック要素であり得、カスタム化はサーバ上で保存され得る。カスタム化は、RIAフレームワークに実装されたアプリケーションに変更を必要とすることなくプログラマにより行われ得る。カスタム化されたグラフィック要素は、他のグラフィック描写でユーザが使用するために利用可能であり得る。これらのカスタム化は、ユーザインターフェース・アプリケーションにより元々サポートされているグラフィック要素に全て追加して、新たなディスプレイを作成し、既存のディスプレイを変更するためのものであり得る。グラフィック要素は、ユーザが変更可能な一または複数の特性を備え得、プログラマにより選択可能であり得る。ユーザのグラフィック要素との相互作用により、ユーザインターフェース・アプリケーションがデータに対する変更をサーバに放出させる。ユーザ専用モードが提供されると、ユーザによるグラフィックディスプレイの作成または変更を許可せず、また読み取り専用モードが提供されると、ユーザによるグラフィック要素との相互作用を許可しない。システム・アドミニストレータは、ユーザと、ユーザインターフェース・アプリケーションがユーザ専用モードおよび読み取り専用モードの1つで動作するグラフィックディスプレイを選択し得る。ユーザは、識別が必要とされる場合に自身を識別することが必要とされ、ユーザインターフェース・アプリケーションは、ユーザ専用モードおよび読み取り専用モードの少なくとも1つのモードで動作し得る。有利に、本発明の特徴によると、任意のユーザRIA端末を通してグラフィックディスプレイの変更が可能であり、保存により生じた変更は、サーバに接続された他の全てのRIA端末が直ぐに利用することができる。
図1を参照すると、一実施形態において、RIA101は、データソースおよびデータサーバ100の両方として機能するプログラムに対しデータが直接接続する。この状況は、データソースがTCP/IPプロトコルを用いる生データのコレクタおよびトランスミッタの両方である場合に生じ得る。PLC内に組み込まれたOPC−UAサーバがこの例である。別の例は、データソースとして機能し、カスタム用TCP/IPインターフェースを提供するTCP/IPサーバの能力を提供する組み込み装置である。さらに別の例は、TCP/IPインターフェースを提供する株式市場のデータ供給である。
図2を参照すると、一実施形態において、別の構成は別個になったデータソース202とサーバ203とを含む。この構成は、データソース202のデータプロトコルを、RIA201が処理できるTCP/IPプロトコルに変換することにより通信モデルを拡張する。これにより、サーバ203がTCP/IPのインターフェースを直接提供しないデータソース202と相互作用することが可能になるため、データソース202の数および種類が非常に拡大される。
図3を参照すると、一実施形態において、サーバ303は、同時に2つ以上のデータソース302と2つ以上のRIA301との接続を維持し得る。この一層複雑な構成は、データソース302とRIA301とからのデータを、TCP/IPネットワーク上のどこからでもアクセス可能な単一のデータセットに集約する。
別の実施形態では、システムは、複数のデータソースおよび/または一若しくは複数のRIAと内部接続された複数のサーバを含み得る。
図4を参照すると、一実施形態におけるRIA動作の方法および制御フローが示される。RIAは、一または複数は組み込まれ得るが、明確な停止基準を必要としない。RIAは、ユーザRIAを含むウェブブラウザまたはウェブページを閉じたときに暗黙的に停止される。RIAは、2つの制御フローを同時に従い、単一のプログラムスレッドにインターリーブされるか、または別個のプログラムスレッドに実装され得る。方法は、RIAに特異的な追加処理を含み得る。
1つ目の制御フローでは、RIAはサーバへの接続を確立および維持、並びにサーバから利用可能なデータにおける変化への応答を試みる。まず、RIAは接続の確立を試みる(ステップ401)。接続が成功しない場合、RIAはただひたすらその接続を試みる。接続が成功する場合(ステップ402)、次いでRIAは、全てまたは一部分のデータセットに参加し得る(ステップ403)。代替的に、接続していることに基づいてサーバがデータにRIAを黙示的に加えることが可能であり、この場合ステップ403は省略されてよい。参加に加えて、RIAは、接続の更新の最短時間またはタイムアウトパラメータなどデータ送信動作を構成するため、サーバに他の情報も送信し得る。
接続を確立すると、RIAはサーバからデータにおける変化通知を待つ(ステップ404)。データ変更が生じている場合(ステップ405)、次いでRIAは何らかの方法でそのデータを処理する(ステップ407)。この処理は、RIAの内部状態を変更、グラフィック描写を変更、RIA設計者が決定する音または他の任意のログラミングの応答を出すためであり得る。データ変化が生じない場合、RIAは何等かの理由でサーバへの接続が切れたかを特定するために調べる。接続が切れていない場合、RIAは再びデータ変化が生じるのを待つ(ステップ404)。接続が切れている場合、その時RIAは再びサーバへの接続を試みる(ステップ401)。
ステップ401〜ステップ407と同時に、RIAはユーザ入力を受入れ、ユーザは、サーバに伝搬できるデータの変化を作成することが可能となる。RIAは、別個のプログラムスレッドまたはステップ401〜ステップ407と多重化してユーザ入力を待つ(ステップ420)。
図4は、別々にスレッド構成された方法を例示する。ユーザ入力が生じた場合(ステップ421)、次いでRIAは、結果生じたデータのサーバへの送信を試みることができる。RIAは、サーバが接続されているか(ステップ422)を確かめるためにまず調べることでこの試みを行う。接続されている場合、RIAは新しいデータをサーバに送信する(ステップ423)。接続されていない場合、RIAはさらに入力を待つ(ステップ420)。サーバ接続のチェック(ステップ422)は、データを送信するために暗黙的に試みられ、この場合、ステップ422およびステップ423は実質的に組み合わせられる。
RIAはまた、ユーザ入力が受入れられないなど相互作用できない場合、ステップ420〜ステップ423を省略することができる。
図5を参照すると、一実施形態におけるデータサーバの動作方法が示される。サーバは、0以上のRIA接続にデータを出しながら、同時に0以上のデータソースからデータを収集し得る。主要な2つの制御フローを別々のスレッドか、または単一のスレッド内で2つの制御フローパスをインターリーブすることにより実装することができる。
データソースと相互に作用するために、サーバはまずそのデータソースとの接続を確立しなければならない(ステップ501)。通常、サーバがデータソースへの該接続を開始する。場合によっては、データソースがサーバへのその接続を開始する。接続が成功する場合(ステップ502)、サーバはデータソースからデータを収集し始める(ステップ503)。接続が失敗する場合、サーバはデータソースへの接続を再度試みる(ステップ501)。データソースがサーバへの接続の開始側である場合、次いでステップ501およびステップ502は単一の待ち状態へと折り重なり、サーバは接続するため受動的にデータソースを待つ。データの収集(ステップ503)は、データソースに適した方法に従い、一方のデータソースと別のデータソースで異なり得る。サーバは、データをサーバに表示することができる任意のデータソースと適応するように作成することができる。新規データがデータソースから利用可能になると(ステップ504)、サーバはそのデータをサーバの内部のデータ表現に変換する。これにより、サーバは異なるデータ表現を使用して種々のデータソースを集めることが可能となる。ステップ506は、データソース、サーバ、およびRISが全て同じデータ表現を使用する簡単なケースの場合に省略することができる。次いでサーバは、データの各RIAへの送信を試みる。サーバはまず、RIAが接続されるように確立し得る(ステップ507)。一または複数のRIAが接続される場合、サーバはRIAに好適な表現へとデータを変換し(ステップ508)、そのデータを接続された各RIAに送信する(ステップ509)。RIAが接続されない場合、サーバはデータソースからデータを収集し続ける(ステップ503)。サーバは無期限にこのシーケンスを繰り返す(ステップ501〜ステップ509)。データシンクがデータソースからデータを必要とするサーバに接続されていないとき、サーバはそのデータソースからデータを収集しないように選択し得る。
データソースからデータを収集することと同時に、またはインターリーブして、サーバはRIAからの接続も管理する。サーバはRIAからの接続を待つ(ステップ520)。RIAがサーバとの接続を試みるとき(ステップ521)、サーバは接続を受入れ(ステップ522)、他のRIAからの接続を待ち続ける。RIAとの接続を待つ間に、サーバは既存のRIA接続が切れているかを特定しなければならない(ステップ523)。RIAが切れている場合、RIA接続はサーバにおける追跡から解除され(ステップ524)、それにより、接続が切れたRIAにはその後データを送信するための試みはなされない(ステップ509)。サーバは、このシーケンスを無期限に繰り返す(ステップ520〜ステップ524)。サーバは、認証失敗またはサーバがRIAインスタンスからの同時接続の最大数に限定を加えるなど、何らかの理由でサーバが接続を拒否し得るように、RIAが接続を試みる(ステップ522)ときに、承認基準を適用し得る。
データソースからデータを収集すること、RIAからの新規接続を管理することと同時に、またはインターリーブして、サーバはまた、既に接続されたRIAからデータを受信し得る。サーバはRIAから届くまでデータを待つ(ステップ530)。新規データが届くと(ステップ531)サーバはこのデータをサーバの内部のデータフォーマットに変換する(ステップ532)。次いでサーバは、いずれかのRIAが現在接続されているかを特定する(ステップ533)。次いでサーバは、データRIAが受信するのに好適なフォーマットにデータを変換し(ステップ534)、現在接続されている各RIAにデータを送信する(ステップ535)。次いでサーバは、この情報の変更を必要とするいずれかのデータソースが現在接続されているかを判断する(ステップ536)。現在サーバに接続されている情報を必要とする各データソースのため、サーバはそのデータソースに好適なフォーマットにデータを変換し(ステップ537)、データを送信する(ステップ538)。サーバはこのシーケンスを無期限に繰り返す(ステップ530〜ステップ538)
ステップ501〜ステップ509は、サーバが接続し得る各データソースに対し、繰り返し反復することができる。
ステップ520〜ステップ524は、サーバが接続を受信し得る各RIAに対し、繰り返し反復することができる。
ステップ530〜ステップ538は、接続された各RIAに対し反復され得るか、ステップ530は接続された全てのRIAを同時に待つように多重に行われるか、またはこれらの選択肢を組み合わせて行われ得る。
図4および図5で例示した方法は、RIAおよびデータサーバの両方に対する明確な停止条件、サーバに接続するためデータソースを受動的に待つサーバの能力、RIAに積極的に接続するサーバの能力、複数のデータソースへの接続を同時に管理するサーバの能力、複数のRIAへの接続を同時に管理するサーバの能力、および複数のRIAからデータを同時に受信するサーバの能力を含む追加の能力を備えるように改良され得ることが理解される。
図6を参照すると、一実施形態において、複数のRIA601への接続を同時に管理するデータサーバ603の能力によると、有利にRIA601はサーバを介して別のRIA601と通信することが可能となる。RIA601からサーバ603に送信される任意の情報は、RIA601がデータソースのように扱われ、サーバに接続されており、データに参加している他の任意のRIA601にそのデータを伝搬する。驚くべきことに、これにより実時間で互いに更新するRIAのネットワークを効果的に作り出す。実際に、サーバ603は、サーバがサポートするプロトコルの任意の組み合わせを使用して、任意の数のクライアント・アプリケーション間で通信することができるように使用され得る。
図7を参照すると、一実施形態では、本発明の実質的な利益は、そうでなければネットワークを介してアクセスできないソースが発信元であるデータをRIA701に提示する能力である。この実施形態では、Microsoft Excelのような表計算アプリケーション705を基にしたデータは、本発明の前は可能ではなかったローカルまたは広域ネットワークを介して送信され得る。Microsoft Excelからのデータ送信は、DDE、RTDまたは不安定なスクリプトを用いたアドホック通信に限定される。RIAとの実時間通信を可能とするDDE、RTDまたはスクリプトを通じたアドホック通信を含む、Microsoft Excelから供給されるプロトコルはRIAと実時間で通信できない。本発明によれば、任意のアプリケーションが任意のTCP/IPネットワークを用いて表計算データと実時間で通信することが可能となり、表計算データ用アプリケーションの範囲が広大に拡大する。RIA701とのこの通信能力の組み合わせは、単一のウェブブラウザ接続を介した単一の表計算と複数の同時ユーザが相互接続する能力を提供する。この同一の機能性は、サーバ703がサポートする任意のプロトコルにまで拡張する。
ウェブブラウザ内でRIAを実行する場合、RIAは、ウェブサーバを使用してウェブブラウザに提供されなければならない。すなわち、ユーザは、ウェブブラウザにURLを入力するか、またはそのURLのためにウェブページ内のリンクをクリックしてRIAを含むウェブページをウェブブラウザにロードさせる。URLは、Microsoft IIS(商標)またはApache(商標)などのウェブサーバによりサービスが提供されている。よって、RIAをロードおよび接続するイベントのシーケンスは以下の通り。
1.ユーザがウェブブラウザでURLを選択する
2.ウェブブラウザがウェブサーバからRIAを含むページをロードする
3.ウェブブラウザがRIAを開始する
4.RIAがTCP/IPを介してデータサーバと接続する
5.RIAがデータサーバのデータに参加する
6.データサーバが参加に従ってデータを送信する
7.RIAが接続を絶つかまたは停止するまでデータサービスが続く
このシーケンスには、ウェブサーバが存在し、RIAに配信するように構成されていることが必要である。システムコンポーネントの数を縮小し、RIAのデータ機能とウェブの機能とを一層強く一体化するため、データサーバにウェブサーバの能力を組み込むことが便利であろう。
組み込まれたブラウザまたは別個の非ブラウザホスト(RIA用ブラウザ外モードと呼ぶ場合もある)から実行されてRIAセッションを起動し得ることが当業者には容易に明らかになるであろう。URLおよびウェブブラウザは、ユーザにとって明らかではない場合がある。従って、上述したイベントの最初の3つのステップが変更されてこれらの代替の実施形態を反映し得る。
本発明では、RIAはデータを使用または生成することができるRIAフレームワークを使用して記載された任意のアプリケーションであり得る。
一実施形態では、RIディスプレイはユーザにとって視覚的な実時間データである。視覚コンポーネントは、ゲージ、傾向グラフ、プログレスバー、ボタン、画像、及びデスクトップのアプリケーションで一般的な他の視覚表現であり得る。可能性として多種多様な表現が存在するため、特定のデータセットに最も好適な表現は、別のデータセットに最も好適な表現と異なり、RIAは、ユーザが設定可能とすべきである。これは、ユーザがデータを視覚「オブジェクト」と関連付けることが可能な視覚構成ツールとともに提示されることを意味する。これらの視覚オブジェクトの収集は共に、関連情報を表示するために共通して使用される視覚「ページ」に配置することができる。次いで、ユーザは、異なる一式の関連情報を表示するために複数のページを作成することができる。
データの視覚化をカスタマイズさせる能力をユーザに提供するために、RIAは、エディタとして一層共通して参照される、一体化したカスタム機能、または別々になったカスタム機能のいずれかを提供しなければならない。このエディタは、ユーザが実時間データを表示するページの視覚的なデザインを特定する手段を提供する。また、エディタは、視覚オブジェクトの特殊なバージョンを設計する能力も提供し得る。
個々の視覚オブジェクトのデザイン、視覚ページのデザインに関する情報は、ウェブサーバに格納されるべきである。これにより、ユーザは、ウェブサーバで必要なアクセス特権を用いて他の任意のユーザが閲覧できるデータの視覚化を作り出すことが可能となる。RIAは、ウェブサーバと相互作用して文書を格納し、 XMLなどのフォーマットで格納された文書を回収する。この情報通信は、既存の実時間データ接続を用いるか、またはHTTP接続を使用して行われ得る。データサーバ内に内蔵されたウェブサーバは、必要ではないがこの送信の実施を簡易にする。
本発明の一実施形態では、本発明の方法を実装するシステムは、以下のソフトウェアアプリケーションを含む。
1.データサーバとして機能するCogent DataHub(商標)(Cogent Real−Time Systems Inc.)
2.ウェブサーバとして機能するCogent DataHub(Cogent Real−Time Systems Inc.)
3.RIAフレームワークとして機能するMicrosoft Silverlight(マイクロソフト株式会社)
4.Microsoft Silverlightのためのプロトコル実装層として機能するDataHub API for .Net(Cogent Real−Time Systems Inc.)
5.ウェブブラウザに実時間データを表示するためのRIAとして機能するDataHub WebView(商標)(Cogent Real−Time Systems Inc.)
6.視覚オブジェクトおよびページ設計のためのディスプレイ・エディタとして機能するDataHub WebView(Cogent Real−Time Systems Inc.)
加えて、Cogent DataHubは以下を含む様々なデータソースからデータを送信または受信し得る。
1.表計算アプリケーションとして機能するMicrosoft Excel(商標)(マイクロソフト株式会社)
2.データ通信インターフェースとして機能するOPC−DAサーバ(各社)
3.データ通信インターフェースとして機能するOPC−UAサーバ(各社)
4.データ通信インターフェースとして機能するOPC Xiサーバ(各社)
5.データベースインターフェースとして機能するODBCサーバ(各社)
図8を参照すると、一実施形態では、特定の実装に応じて、0以上のデータソースがCogent DataHubに配置される。
本発明の代替的な実施形態では、RIAフレームワークは、持続したネットワーク接続をサポートすることが可能な任意のRIAフレームワークであり得る。そのような代替的なRIAフレームワークの例は、Adobe Flash(商標)、およびAdobe Flex(商標)を含む。他のRIAフレームワークもまた好適であり得ることが想定される。
RIAは、サーバのTCP/IP通信プロトコルを使用してデータを消費または生成することができるRIAフレームワークを使用して作成された任意のアプリケーションであり得る。
RIAフレームワークは、例えば、HTML5が必要とされるTCP通信メカニズムをサポートしている場合など、ウェブブラウザに不可欠なものであり得る。
データサーバは、構築されたRIAがアクセスできるTCP/IP通信方法を供給できる限り、データソースからデータを収集、またはデータソース自体として機能するように設計された任意のアプリケーションであってよい。
データソースは、サーバにおける表示に好適なフォーマットに変換できる実時間データを生成することが可能な任意のアプリケーションまたはシステムであり得る。
また、データソースは、サーバにおける表示に好適なフォーマットに変換できる非実時間データを生成することが可能な任意のアプリケーションまたはシステムであり得る。サーバは、発信元のデータが実時間でない場合でもRIAにデータを提供するために、前記データを繰り返しポーリングするか、または参加により収集することができる。例えば、データベース管理システム(DBMS)は、一般的に実時間でなくても、データは繰り返してポーリングしてサーバ内で定期的に更新データを生成し、DBMSにおける疑似的な実時間のデータ図をRIAに供給することができる。
サーバおよびデータソースは、単一のアプリケーションに組み合わされ得、その場合、TCP/IP接続を介してそのデータへのアクセスを提供するOPC−UAサーバ、または内蔵された装置であり得る。
ウェブサーバは、RIAを含むウェブページを提供することができる任意のアプリケーションであり得る。
TCP/IPソケットを開き、相互に作用することができるコンパイルまたは解釈された任意のコンピュータ言語を使用して開発されたプログラムは、ウェブブラウザ内で実行または実行しないRIAの代わりに使用され得る。同様に、本発明の方法はまた、RIAの代わりに、ブラウザ、ブラウザ以外のホストで直接またはブラウザの拡張を通じて実行可能なコードを使用して実施され得、ブラウザ、ブラウザ外のホスト、またはブラウザの拡張は開くことができ、TCP/IPソケットと相互に作用することができ、持続したネットワーク接続することができ、任意にグラフィック能力を提供することができる。

Claims (24)

  1. リッチインターネットアプリケーション(RIA)に実時間データを提供するコンピュータ実装方法であって、
    データソースからデータを提供することと、
    前記データソースから前記サーバに前記データを伝搬することと、
    前記サーバで前記データを収集することと、
    前記RIAで前記データを生成することと、
    前記サーバから前記RIAへの第1持続接続を作り出すことと、
    前記RIAから前記サーバへの第2持続接続を作り出すことと、
    前記第2持続接続を介して前記RIAから前記サーバに前記データを伝搬することと、
    登録されたデータに前記RIAを登録することとを含み、
    前記登録されたデータは、前記サーバで収集された少なくとも幾つかの前記データを含み、前記サーバは、前記第1持続接続を介して前記登録されたデータを前記RIAに伝搬する、方法。
  2. 前記サーバからデータシンクに前記データを伝搬することをさらに含む請求項1に記載の方法。
  3. 前記第1持続接続と前記第2持続接続とは、1つの接続から成る請求項1に記載の方法。
  4. 前記データソース、前記データシンク、および前記サーバは、少なくとも1つのコンポーネントから成る請求項1に記載の方法。
  5. 前記データは、ソフトウェアコンポーネント、ハードウェアコンポーネント、およびネットワークを含む群から選択される少なくとも1つの媒介物を介して伝搬される請求項1に記載の方法。
  6. データ項目が登録基準の前記RIAと前記サーバとの間で伝搬され、前記データ項目は前記データ項目の変化に応じて直ちに伝搬される、請求項1に記載の方法。
  7. 前記伝搬されるデータは、数値データ、非数値データ、構成設定、および実行コマンドを含む群から選択される請求項1に記載の方法。
  8. 前記RIAは、前記データに基づいてアクションを行い、前記アクションは、ユーザディスプレイの視覚表示の変更、計算、新規データの生成、既存データの変更、前記データの格納、可聴表示、スクリプトの実行、前記データの前記サーバへの伝搬、ユーザ可視なプログラミングの応答、およびユーザ不可視なプログラミングの応答を含む群から選択される請求項1に記載の方法。
  9. 前記RIAで生成された前記データは、前記サーバ内の前記データの変更、前記サーバに接続された前記データシンクへの前記データの伝搬、スクリプトの実行、ファイルシステムへの前記データの格納、新規データの作成、前記サーバに接続された前記データシンクへの前記新規データの伝搬、サーバ構成の変更、サーバ動作の変更、ユーザ可視なプログラミングの応答、およびユーザ不可視なプログラミングの応答を含む群から選択されるアクションを行うよう前記サーバに指示する請求項1に記載の方法。
  10. リッチインターネットアプリケーション(RIA)に実時間データを提供するためのコンピュータシステムであって、プロセッサと、入力手段と、ディスプレイと、少なくとも1つのデータソースと、少なくとも1つのデータソースからデータを収集するためのデータ収集コンポーネント、および少なくとも1つのデータクライアントにデータを放出するためのデータ放出コンポーネントを備えた少なくとも1つのサーバと、少なくとも1つのRIAとを含む、システム。
  11. 少なくとも1つのデータシンクをさらに含む請求項10に記載のシステム。
  12. 前記少なくとも1つのサーバが、前記データ放出コンポーネントから放出するために、前記データ収集コンポーネントから収集されたデータのフォームを変更するためのデータ変更コンポーネントをさらに含む請求項10に記載のシステム。
  13. 前記少なくとも1つのサーバさらに、データ変更コンポーネントと、データ生成コンポーネントと、ユーザインターフェースコンポーネントと、コンピュータファイルシステム相互作用コンポーネントと、プログラム相互作用コンポーネントと、プログラム可能なアクションを行うためのスクリプト言語コンポーネントと、HTTPリクエストを受入れるためのHTTPコンポーネントと、データを交換および同期させるための同期コンポーネントと、データが収集される割合を限定するための第1調整コンポーネントと、データが放出される割合を限定するための第2調整コンポーネントと、他のサーバへの接続性が失われたことを検出し、接続性が再び取り戻される場合に前記他のサーバに再接続するための接続性コンポーネントと、同一情報または類似情報を複数の他のサーバに重複して繋げるための冗長性コンポーネントと、複数のデータソースにあるデータを移動させるための橋渡し用コンポーネントとから成る群から選択される少なくとも1つのコンポーネントを含む請求項10に記載のシステム。
  14. 前記データ収集コンポーネントは、オンデマンド、登録による、トリガによる、および受動的な方法から成る群から選択される少なくとも1つの方法で前記データを収集する、請求項10に記載のシステム。
  15. 前記データ放出コンポーネントが、オンデマンド、登録による、およびトリガによる方法から成る群から選択される少なくとも1つの方法でデータを放出する請求項10に記載のシステム。
  16. 前記少なくとも1つのデータソースおよび前記少なくとも1つのサーバが、少なくとも1つのコンピュータプログラムに実装されている請求項10に記載のシステム。
  17. 前記RIAが、データを受信するため前記サーバへの第1の永続的なTCP/IPデータ接続を作り出し、前記サーバからデータを受信し、かつ第2のTCP/IPデータ接続を用いて前記サーバにデータを送信するためのサポートを含むRIAフレームワークに実装されている請求項10に記載のシステム。
  18. 前記データは、オンデマンドおよび登録による方法を含む群から選択される方法により前記サーバから受信される請求項17に記載のシステム。
  19. 前記第1TCP/IPデータ接続および前記第2TCP/IPデータ接続は1つの接続から成る請求項17に記載のシステム。
  20. 前記第2TCP/IPデータ接続は、永続的な接続および一時的な接続を含む群から選択される請求項17に記載のシステム。
  21. RIAフレームワークは、前記データを表現するグラフィック描写を提示するためのサポートをさらに含む請求項17に記載のシステム。
  22. 前記グラフィック描写は少なくとも1つのグラフィック要素を含み、前記少なくとも1つのグラフィック要素はカスタム化されたグラフィック要素であり、前記カスタム化されたグラフィック要素は、プログラマによりカスタマイズすることができ、前記カスタム化はRIAフレームワークに実装されたアプリケーションに対して変更することなく行われる請求項21に記載のシステム。
  23. 一または複数のコンピュータで実行される場合に、リッチインターネットアプリケーション(RIA)に実時間データを提供する方法を前記コンピュータに行わせる指示を記憶したコンピュータ読み取り可能な記憶媒体であって、
    データソースかたデータを提供することと、
    前記サーバに前記データソースを伝搬することと、
    前記サーバで前記データを収集することと、
    前記RIAで前記データを生成することと、
    前記サーバから前記RIAへの第1持続接続を作り出すことと、
    前記RIAから前記サーバへの第2持続接続を作り出すことと、
    前記第2持続接続を介して前記RIAから前記サーバに前記データを伝搬することと、
    登録されたデータに前記RIAを登録することとを含み、
    前記登録されたデータは、前記サーバで収集された少なくとも幾つかの前記データを含み、前記サーバは、前記第1持続接続を介して前記登録されたデータを前記RIAに伝搬する、方法。
  24. 請求項1〜請求項9のいずれか一項に記載の方法を実行するため、コンピュータが実行するために記録された命令文および命令を有するコンピュータ可読メモリ。
JP2012533444A 2009-10-16 2010-10-15 実時間データを提供するためのシステムおよび方法 Active JP6227249B2 (ja)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US25262409P 2009-10-16 2009-10-16
US61/252,624 2009-10-16
US12/905,319 US8661092B2 (en) 2009-10-16 2010-10-15 System and method for providing real-time data
US12/905,319 2010-10-15
PCT/CA2010/001616 WO2011044686A1 (en) 2009-10-16 2010-10-15 System and method for providing real-time data

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2016248832A Division JP6314204B2 (ja) 2009-10-16 2016-12-22 実時間データを提供するためのシステムおよび方法

Publications (2)

Publication Number Publication Date
JP2013514563A true JP2013514563A (ja) 2013-04-25
JP6227249B2 JP6227249B2 (ja) 2017-11-08

Family

ID=43875756

Family Applications (2)

Application Number Title Priority Date Filing Date
JP2012533444A Active JP6227249B2 (ja) 2009-10-16 2010-10-15 実時間データを提供するためのシステムおよび方法
JP2016248832A Active JP6314204B2 (ja) 2009-10-16 2016-12-22 実時間データを提供するためのシステムおよび方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
JP2016248832A Active JP6314204B2 (ja) 2009-10-16 2016-12-22 実時間データを提供するためのシステムおよび方法

Country Status (10)

Country Link
US (2) US8661092B2 (ja)
EP (1) EP2489151A4 (ja)
JP (2) JP6227249B2 (ja)
KR (1) KR101730584B1 (ja)
CN (1) CN102598584A (ja)
AU (1) AU2010306379B2 (ja)
BR (1) BR112012008979A2 (ja)
CA (1) CA2813076C (ja)
WO (1) WO2011044686A1 (ja)
ZA (1) ZA201203351B (ja)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10498796B2 (en) 2009-10-16 2019-12-03 Real Innovations International Llc System and method for providing real-time data
US10462206B2 (en) 2009-10-16 2019-10-29 Real Innovations International Llc Bidirectional networked real-time data exchange using a spreadsheet application
US9218601B2 (en) 2010-11-10 2015-12-22 Paypal, Inc. Secure in-line payments for rich internet applications
US9596127B2 (en) * 2012-02-20 2017-03-14 Microsoft Technology Licensing, Llc Scalable data feed system
US9128702B2 (en) * 2012-03-23 2015-09-08 Google Inc. Asynchronous message passing
US8560522B1 (en) * 2012-03-29 2013-10-15 Sap Ag Additional query date term granularity
US20130275492A1 (en) * 2012-04-13 2013-10-17 Microsoft Corporation Enabling Web Clients to Provide Web Services
KR101416280B1 (ko) * 2013-01-15 2014-07-08 주식회사 엘지씨엔에스 이벤트 처리 시스템 및 방법
US9558220B2 (en) * 2013-03-04 2017-01-31 Fisher-Rosemount Systems, Inc. Big data in process control systems
CN103546564A (zh) * 2013-10-28 2014-01-29 珠海许继芝电网自动化有限公司 基于Flex技术实现RIA的WEB应用方法及系统
US9288272B2 (en) * 2014-07-10 2016-03-15 Real Innovations International Llc System and method for secure real-time cloud services
SG10201408352XA (en) * 2014-12-15 2016-07-28 Iia Technologies Pte Ltd A system of monitoring and controlling the operation of multiple machines for producing diamonds and a method thereof
US10043490B2 (en) 2014-12-24 2018-08-07 Synaptics Incorporated Requesting display frames from a display source
US10262624B2 (en) 2014-12-29 2019-04-16 Synaptics Incorporated Separating a compressed stream into multiple streams
KR101733534B1 (ko) 2016-03-04 2017-05-24 국방과학연구소 경성 실시간 스케줄링 태스크 그룹을 위한 수행 가능성 분석 방법 및 장치
CN105760236A (zh) * 2016-05-13 2016-07-13 中国工商银行股份有限公司 一种分布式计算机集群下的数据采集方法及系统
CN108306844B (zh) * 2016-10-09 2020-07-24 上海思立微电子科技有限公司 用于服务器与客户端之间的api通信的方法
WO2018100435A2 (en) 2016-11-20 2018-06-07 Real Innovations International Llc Bidirectional networked real-time data exchange using a spreadsheet application
US10572274B2 (en) 2017-09-22 2020-02-25 Microsoft Technology Licensing, Llc Cross platform custom functions
CN109213486A (zh) * 2018-08-20 2019-01-15 北京百度网讯科技有限公司 用于生成用户定制的可视化组件的方法和装置
EP3890275A4 (en) * 2018-11-27 2022-07-20 Hyundai Motor Company METHOD AND DEVICE FOR REPEATING A MESSAGE IN AN M2M SYSTEM
DE102018220993A1 (de) * 2018-12-05 2020-06-10 Volkswagen Aktiengesellschaft Verfahren und System zum Bereitstellen von Daten für mindestens einen Datenempfänger
CN109787874B (zh) * 2018-12-06 2021-11-09 珠海派诺科技股份有限公司 基于Linux平台的实时收发方法、设备及存储介质
US11250015B2 (en) 2020-02-07 2022-02-15 Coupang Corp. Systems and methods for low-latency aggregated-data provision
WO2021220051A1 (en) 2020-04-27 2021-11-04 Real Innovations International Llc Secure remote access to historical data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000090128A (ja) * 1998-09-08 2000-03-31 Kokusai Electric Co Ltd 情報配信システム
WO2003077139A1 (en) * 2001-09-29 2003-09-18 Siebel Systems, Inc. Asynchronous message push to web browser
JP2005519409A (ja) * 2001-09-29 2005-06-30 シーベル・システムズ・インコーポレイテッド ウェブブラウザに対する非同期メッセージのプッシュ
EP1853044A1 (en) * 2006-05-02 2007-11-07 Research In Motion Limited Push framework for delivery of dynamic mobile content

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6944827B2 (en) * 2000-09-11 2005-09-13 Appeon Corporation System and method of data transmission for computer networks utilizing HTTP
US7162534B2 (en) * 2001-07-10 2007-01-09 Fisher-Rosemount Systems, Inc. Transactional data communications for process control systems
WO2005015807A2 (en) * 2003-08-07 2005-02-17 Simple Com Tools, Llc Realtime electronic communications system and method
US7480709B2 (en) * 2003-11-14 2009-01-20 Rockwell Automation Technologies, Inc. Dynamic browser-based industrial automation interface system and method
US20060101139A1 (en) * 2004-11-08 2006-05-11 International Business Machines Corporation Real-time alerts within a web browser
US20060190563A1 (en) * 2005-02-22 2006-08-24 Vann Richard J High-volume web page update system and method
US20070100844A1 (en) * 2005-10-28 2007-05-03 International Business Machines Corporation System and method for dynamically updating web pages using messaging-oriented middleware
US7650390B2 (en) * 2006-06-01 2010-01-19 Roam Data Inc System and method for playing rich internet applications in remote computing devices
US7631104B2 (en) * 2007-06-20 2009-12-08 International Business Machines Corporation Providing user customization of web 2.0 applications
KR101425029B1 (ko) * 2007-06-29 2014-07-31 삼성전자주식회사 Ria를 이용하여 파일정보를 송수신하는 화상형성장치 및그 정보처리방법
US20090199112A1 (en) * 2008-02-04 2009-08-06 Deserranno Allen Simplified opc to wpf xaml binding method
US20100318200A1 (en) * 2009-06-12 2010-12-16 Honeywell International Inc. Method and System for Providing an Integrated Building Summary Dashboard
US20110087973A1 (en) * 2009-06-17 2011-04-14 Smart Technologies Ulc Distributed system and method for management of multiple users and workspaces
WO2011040849A1 (en) * 2009-10-01 2011-04-07 Telefonaktiebolaget L M Ericsson (Publ) A method and arrangement for managing persistent rich internet applications

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000090128A (ja) * 1998-09-08 2000-03-31 Kokusai Electric Co Ltd 情報配信システム
US20030206192A1 (en) * 2001-03-31 2003-11-06 Mingte Chen Asynchronous message push to web browser
WO2003077139A1 (en) * 2001-09-29 2003-09-18 Siebel Systems, Inc. Asynchronous message push to web browser
JP2005519409A (ja) * 2001-09-29 2005-06-30 シーベル・システムズ・インコーポレイテッド ウェブブラウザに対する非同期メッセージのプッシュ
EP1853044A1 (en) * 2006-05-02 2007-11-07 Research In Motion Limited Push framework for delivery of dynamic mobile content
KR20070107592A (ko) * 2006-05-02 2007-11-07 리서치 인 모션 리미티드 동적 모바일 컨텐츠의 전달을 위한 푸시 프레임워크
JP2007299392A (ja) * 2006-05-02 2007-11-15 Research In Motion Ltd 動的移動コンテンツの配信用プッシュフレームワーク
CN101110840A (zh) * 2006-05-02 2008-01-23 捷讯研究有限公司 用于动态移动内容传送的推框架

Also Published As

Publication number Publication date
CA2813076A1 (en) 2011-04-21
JP2017107572A (ja) 2017-06-15
BR112012008979A2 (pt) 2017-12-05
JP6227249B2 (ja) 2017-11-08
KR101730584B1 (ko) 2017-04-26
CN102598584A (zh) 2012-07-18
KR20130006587A (ko) 2013-01-17
AU2010306379A1 (en) 2012-06-07
CA2813076C (en) 2019-06-25
ZA201203351B (en) 2013-01-30
AU2010306379B2 (en) 2015-07-23
US20110093568A1 (en) 2011-04-21
US20140122665A1 (en) 2014-05-01
US9667689B2 (en) 2017-05-30
EP2489151A4 (en) 2013-11-06
WO2011044686A1 (en) 2011-04-21
JP6314204B2 (ja) 2018-04-18
US8661092B2 (en) 2014-02-25
EP2489151A1 (en) 2012-08-22

Similar Documents

Publication Publication Date Title
JP6314204B2 (ja) 実時間データを提供するためのシステムおよび方法
JP6689838B2 (ja) 安全な実時間クラウドサービスのためのシステムおよび方法
US20130212227A1 (en) System and method for streaming data via http
US9100424B1 (en) System and method for secure real-time cloud services
Jourdain et al. ParaViewWeb: A web framework for 3D visualization and data processing
US10498796B2 (en) System and method for providing real-time data
CN111819535B (zh) 用于在不同框架之间实现异步双向绑定的方法和系统
US20140245124A1 (en) System and method thereof for browser agnostic extension models
JP5517255B2 (ja) 複数のサービスノードサーバにおけるサービス連結制御方法、制御ノードサーバ及びプログラム
WO2021220051A1 (en) Secure remote access to historical data
JP6215033B2 (ja) テスト制御装置、通信システム、テスト制御方法、及びテスト制御プログラム
JP6108443B2 (ja) 制御側端末が遠隔からWebサーバを介して被制御側デバイスの設定情報を更新するページ設定方法及びシステム
US9613150B2 (en) Remote viewing of documents via the web in real-time
US8458723B1 (en) Computer methods for business process management execution and systems thereof
Meniya et al. Next Generation Mobile Application in Cloud Computing: using RESTful Web Service
CN116774996A (zh) 集成开发系统、代码处理方法、电子设备和存储介质
Limke An Improved Modular Framework for Developing Multi-Surface Interaction
Yamashita et al. Creating Web Services Using a Rule-Based Language
Frosthage Subscribing to a Publisher Subscriber System with Dynamic HTML
Crane et al. Combining Comet with CRUD

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20120530

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20120530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120822

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130319

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20131003

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20140911

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141014

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20150113

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150409

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20151201

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160301

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160331

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160422

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160530

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160530

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20160830

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20161222

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20170131

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20170324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171011

R150 Certificate of patent or registration of utility model

Ref document number: 6227249

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250