JP2007524875A - ネットワーク・ベースの処理のためのシステムおよび方法 - Google Patents
ネットワーク・ベースの処理のためのシステムおよび方法 Download PDFInfo
- Publication number
- JP2007524875A JP2007524875A JP2006500912A JP2006500912A JP2007524875A JP 2007524875 A JP2007524875 A JP 2007524875A JP 2006500912 A JP2006500912 A JP 2006500912A JP 2006500912 A JP2006500912 A JP 2006500912A JP 2007524875 A JP2007524875 A JP 2007524875A
- Authority
- JP
- Japan
- Prior art keywords
- markup
- client
- server
- network
- compiler
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- 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/14—Session management
- H04L67/142—Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
Abstract
【選択図】 図10
Description
本出願は、2003年1月10日に出願した米国特許仮出願番号第60/439,394号「帯域幅およびクライアント・インディペンデント・ネットワーク処理を実現するために、コードのコンパイル、配備、そして実行を自動的に行うシステムおよび方法」に係る優先権を主張するものである。また、米国特許仮出願番号第60/439,394号に係る特許を受ける権利は、本発明の譲受人に譲渡されており、当該発明内容は、本発明に明確に含まれている。
ハードウェア要素には、とりわけ個人用コンピュータ、メインフレーム・コンピュータ、コンピュータ回路などのコンピュータ・デバイスが含まれる。コンピュータ・デバイスの基本構造には、プログラムの命令を実行する中央処理ユニット(Central Processing Unit, CPU)及びデータやプログラムの命令を記憶するメモリ・ユニットが含まれる。
命令やデータは、メモリ・ユニットからCPUに伝送され、CPU操作の結果は、メモリ・ユニットに返送される。
ネットワーク・ベースのコンピュータ・システムにおけるアプリケーション・プログラムには、サーバに記憶されるサーバ・プログラム、クライアント・マシンのメモリに記憶されるクライアント・プログラムが含まれる。サーバ・プログラムはサーバ上で作動し、クライアント・プログラムは、クライアント・マシンのうちの1つで作動する。
例えば、金融サービス企業では、投資ポートフォリオ・マネジメント・アプリケーションを使用することにより、株分析を行うことができる。資産管理担当者が特定の株分析を行いたいときには、クライアント・マシンの投資ポートフォリオ・マネジメント・アプリケーションを実行させるために、クライアント・プログラムを起動させる。このクライアント・マシンは、多メガバイトのクライアント・プログラムのデータを読み込み、管理担当者の要求を受け処理する。クライアント・マシンは、必要なデータを得るために、ネットワークを介して更なる要求をサーバ・プログラムに伝送することができる。そして、クライアント・プログラムが必要データを受け取った後データ分析し、その分析結果を適切なフォーマットで管理担当者に示す。
CDもしくはフロッピーディスクの分散、手動インストール、および設定
情報システム(Information System, IS)上の個人は、CDもしくはフロッピーディスクからコンパイルされたクライアント・プログラムを直接クライアント・コンピュータにインストールし、アプリケーションを個々のクライアント・コンピュータに手動で設定する。コードがアップグレードされる度に、この手動での手順は繰り返される。多くの異なる場所に配される何千というデスクトップ・コンピュータを有する企業を考慮すると、この方法はあまりに時間や費用がかかり、効率的ではない。
手動によるダウンロード、インストールおよび設定
この方法により、エンドユーザが、ローカル・エリア・ネットワーク(Local Area Network,LAN)、広域ネットワーク(Wide Area Network,WAN)、そしてインターネットを介しクライアント・プログラムを各自のコンピュータにダウンロードおよびインストールすることができる。しかし、クライアント・プログラムが、数十メガバイトを容易に有することを考慮すると、ユーザは、このように大きなファイルをダウンロードしたり、アプリケーションを設定するのに、数時間をかけなければならない。また、何千というユーザを有する企業では、手動ダウンロードによる生産性の損失は重大な問題である。更に、ネットワーク接続が遅く帯域幅が限られている場合(すなわちダイアルアップやワイヤレス接続)は、手動による操作は実行不可能である。
しかし、Javaアプレットの実際の使用は、技術上において深刻な問題を有し、簡単なアプリケーションのみに限定される。複雑なエンタープライズ・アプリケーションでは、Javaアプレットは、うまく作動しないだけでなく、1MGを超えるフットプリントを容易に備える。つまり、このフットプリントにより、ダウンロードに長い時間を要し、ユーザがインターネットやワイド・エリア・ネットワーク上で、Javaアプレットを効果的に使用することができない。更に、Javaアプレットは、クライアント・マシン上でJava仮想マシン(Java Virtual Machine,JVM)を必要とする。Java仮想マシンの互換性の無さとクライアント・マシン上JVMが欠如することによって、エンタープライズ・アプリケーションにおけるJavaアプレットを幅広く普及することは不可能となる。
しかし、この方法は、最小限の双方向性と機能性しかユーザに要求しないアプリケーションに限定される。この方法を用いたネットワーク・アプリケーションは、クライアント・サイドの処理と関与する多くの特徴と機能性を犠牲にしてしまう。この処理には、とりわけオフライン処理、ドラッグ&ドロップ、マルチ・ウィンドウ、表計算が挙げられる。インターネット・ブラウザと関与する「クリックと更新」ユーザ相互作用モデルは、ネットワーク・アプリケーションには最適でない。なぜならば、このモデルは、重複する情報を送信したり再送信することにより、かなりの帯域幅を浪費するだけでなく、一回のクリックごとに時間がかかるので、ユーザ効率をかなり下げる。
また、このシナリオでは、クライアントサイド・ビジネス・ロジックを制限することとなる。なぜならば、JavaやC++のような、より頑強なオブジェクト指向プログラミング(Object-oriented programming,OOP)言語とは異なり、Javaスクリプトのようなスクリプト言語は、開発者の大編成チームによって開発されるような複雑なプログラムには上手く適合できないからである。その結果、HTML方式は、簡単なアプリケーションのみに使用されている。重要なアプリケーションは、OOP言語を使用する旧来のクライアント/サーバ・アプリケーションとして、未だに書き込まれている。
プラットフォームの互換性の無さによって、多くのユーザは、しばしば、アプリケーションを全く作動することができなくなる。また、企業は、アプリケーション・コンフィグレーションと管理を行うための、大規模な技術サポートチームを維持しなければならない。
デスクトップは、ますます大きくなるクライアントのプログラムから発せられる要求を満たすために、常にアップグレードする必要がある。ワイド・エリア・ネットワーク(WAN)や公共用途向けインターネットなど、帯域幅が限られているネットワークを利用するユーザにとっては、今日の方法は、単に実行不可能である。HTML方式のように、クライアントのフットプリントや互換性の無さの問題を大幅に低減できる別の方法も存在する。しかし、このような方法では、ほとんどのビジネス・アプリケーションに要求される機能性やパフォーマンスを提供することはできない。
すなわち、任意のネットワーク接続を介してサーバと接続するクライアント・マシンによるアプリケーションのコンパイル、展開、実行を自動化し、簡略化し、最適化するネットワーク・ベースのコンピュータ・システムの必要性がある。
汎用コンパイラが複数の特定のプログラム言語コンパイラを備えるものであってもよい。各特定のプログラム言語コンパイラは、入力ファイルを受信する。入力ファイルはアプリケーションのソース・コードを備え、該ソース・コードは、特定のプログラム言語で書かれる。そして各特定のプログラム言語コンパイラは、入力ファイルをアプリケーションの特定の実行コードに変換する。この実行コードは特定の実行エンジンにより実行される。
汎用コンパイラは、更に、制御ロジックを備えるものであってもよい。制御ロジックは、複数の特定のプログラム言語コンパイラから、特定のプログラム言語コンパイラを選択する。
プログラム言語は、Java、JavaScript、C#、C+、C++、Visual Basic、J#、ActionScript、XSL、XQuery、XPath及びその他の言語であってもよい。実行コードは、Java仮想マシン・バイトコード、.Net Common Language Runtime(ドット・ネット・コモン・ランゲージ・ランタイム:CLR)バイトコード或いはFlashプレイヤ・バイトコードであってもよい。
実行エンジンは、それぞれ、Java仮想マシン、.Net CLRエンジン或いはFlashプレイヤであってもよい。
入力ファイルそれぞれは、アプリケーションのソース・コードを備え、該ソース・コードは、複数の異なるプログラム言語のうちいずれかで書かれている。複数の出力ファイルは、アプリケーションの複数の実行コードをそれぞれ備える。この実行コードは、複数の実行エンジンそれぞれにより実行可能である。
コンパイラ・システムは、複数の汎用コンパイラを備え、該汎用コンパイラそれぞれが、複数の特定のプログラム言語コンパイラを備えるものであってもよい。特定のプログラム言語コンパイラは、1つの入力ファイルを受信する。入力ファイルは、アプリケーションのソース・コードを備え、該ソース・コードは、特定のプログラム言語で書かれている。そして、特定のプログラム言語コンパイラは、この入力ファイルをアプリケーションの1つの特定の実行コードに変換する。この実行コードは、特定の実行エンジンにより実行される。
コンパイラ・システムは、更に第1制御ロジックを備えてもよい。該第1制御ロジックは、複数の汎用プログラム言語コンパイラから1つの汎用プログラム言語コンパイラを選択する。また、コンパイラ・システムは更に第2制御ロジックを備えてもよい。第2制御ロジックは複数の実行コードをキャッシュする。
プログラム言語は、Java、JavaScript、C#、C+、C++、Visual Basic、J#、ActionScript、XSL、XQuery、XPath及びその他から選択されてもよい。また実行コードは、Java仮想マシン・バイトコード、.Net CLRバイトコード、Flashプレイヤ・バイトコード、Palm OSバイトコード、Symbian OSバイトコード及びQualcomm Brewバイトコードであってもよい。また対応する実行エンジンがそれぞれ、Java仮想マシン、.Net CLRエンジン、Flashプレイヤ、Palm OS、Symbian OS、Qualcomm Brewエンジンであってもよい。
コンパイラ・システムは、複数の入力ファイルを受信し、この入力ファイルのうち任意のファイルを複数の出力ファイルに変換する。複数の入力ファイルは、アプリケーションのソース・コードを備え、該ソース・コードは、複数の異なるプログラム言語でそれぞれ書かれている。そして、複数の出力ファイルはそれぞれ、アプリケーションの複数の実行コードを備える。実行エンジンは、ネットワーク上で出力ファイルを受信し、対応する実行コードを実行する。
XML言語が、XML、XUL、SVG、Xforms、XAML、HTML、XHTML、HTMLに関連する言語及びこれらの組み合わせであってもよい。実行コードは、XML言語フォーマットを備えていてもよく、また所定の実行エンジンが、XML実行エンジンを備えるものであってもよい。実行コードがバイナリ・フォーマットであってもよく、所定の実行エンジンが、このバイナリ・フォーマットを実行するエンジンであってもよい。
バイナリ・フォーマットは、Java仮想マシン・バイトコード、.Net CLRバイトコード、Palm OSバイトコード、Flashプレイヤ・バイトコード、Symbian OSバイトコード及びQualcomm Brewバイトコードであってもよく、実行エンジンがそれぞれ、Java仮想マシン、.Net CLR、Palm OS 、Flashプレイヤ、Symbian OS、Qualcomm Brewであってもよい。
上記方法は、クライアント・マシンのうち1つによる要求をサーバへ送信し、アプリケーションの1若しくはそれ以上のファイルをダウンロードする段階を備える。次に、サーバにより要求を受信し、クライアント・マシンの実行エンジンを特徴付ける。その後、アプリケーション・コードの1若しくはそれ以上のファイルの1若しくはそれ以上の実行コードがそれぞれサーバ・ストレージ内で利用可能か否かをチェックする。1若しくはそれ以上の実行コードは、クライアント・マシンの実行エンジンにより実行可能である。最後に、1若しくはそれ以上の実行コードが利用可能であるならば、これら実行コードはクライアント・マシンへダウンロードされる。
ダウンロードされた1若しくはそれ以上の実行コードは、クライアント・ストレージ内でキャッシュされる。1若しくはそれ以上の実行コードは、クライアント・マシンのストレージからダウンロードされてもよい。もし1若しくはそれ以上の実行コードがサーバ・ストレージ内で利用可能でないならば、上記方法はアプリケーションの1若しくはそれ以上のファイルを1若しくはそれ以上の実行コードにそれぞれコンパイルする段階を備えてもよい。そして、これら実行コードがクライアント・マシンにダウンロードされる。
クライアント・ランタイム環境(Client Runtime Environment: CRE)が少なくとも1つのマークアップ・ドキュメントを受信するとともに、これを1つのオブジェクト指向表現に変換してもよい。オブジェクト指向表現は、1若しくはそれ以上のマークアップ・オブジェクト、1若しくはそれ以上のユーザ・インターフェース及び1若しくはそれ以上のデータ・セットを備えてもよい。少なくとも1つのビジネス・ロジック要素は、1若しくはそれ以上の手段を備え、該手段が、マークアップ・オブジェクト・イベントに対するイベント・ハンドラとして用いられる。オブジェクト指向バインディング機構は、マークアップ・オブジェクト・イベントを発火することにより、1若しくはそれ以上のマークアップ・オブジェクトにより、1若しくはそれ以上の手段を動作させてもよい。
オブジェクト指向バインディング機構は、更に、アプリケーション・プログラム・インターフェース(Application Program Interface: API)を介して、少なくとも1つのビジネス・ロジック要素により、1若しくはそれ以上のマークアップ・オブジェクトにアクセスするとともにマークアップ・オブジェクトを変更してもよい。APIは、マークアップ・オブジェクトAPI或いはドキュメント・オブジェクト・モデル(Document Object Model: DOM)APIであってもよい。
1若しくはそれ以上のマークアップ・オブジェクトは、親マークアップ・オブジェクトと子マークアップ・オブジェクトであってもよい。子マークアップ・オブジェクトは1若しくはそれ以上のマークアップ・オブジェクト・プロパティを備え、該マークアップ・オブジェクト・プロパティは、親マークアップ・オブジェクトから継承される。
1若しくはそれ以上のマークアップ・オブジェクト・プロパティは、ユーザ・インターフェース定義、データ・セット定義或いはイベント・ハンドラ定義であってもよい。
親マークアップ・オブジェクトは、1若しくはそれ以上のユーザ・インターフェース定義、1若しくはそれ以上のデータ定義及び1若しくはそれ以上のイベント・ハンドラを備えてもよく、子マークアップ・オブジェクトは、1若しくはそれ以上のユーザ・インターフェース定義、1若しくはそれ以上のデータ定義及び1若しくはそれ以上のイベント・ハンドラを親マークアップ・オブジェクトから継承してもよい。
1若しくはそれ以上のマークアップ・オブジェクトは、親マークアップ・オブジェクト及び子マークアップ・オブジェクトを備え、該子マークアップ・オブジェクトが親マークアップ・オブジェクトの1若しくはそれ以上のマークアップ・オブジェクト・プロパティを上書きし、これらを子マークアップ・オブジェクトの1若しくはそれ以上のマークアップ・オブジェクト・プロパティに置換してもよい。
少なくとも1つのマークアップ・ドキュメントがマークアップ言語で書かれてもよい。該マークアップ言語は、XML、XUL、SVG、Xforms、XAML、HTML、HTMLに関連する言語、テキスト、これらの組み合わせ及びその他であってもよい。1若しくはそれ以上のビジネス・ロジック要素は、プログラム言語で書かれてもよい。該プログラム言語は、Java、JavaScript、J#、C#、C+、C++、Visual Basic、ActionScript、XSL、XQuery及びXPathであってもよい。
該ネットワーク・アプリケーション・プログラムは、1若しくはそれ以上のモジュールを備える。各モジュールは、少なくとも1つのマークアップ・ドキュメント、少なくとも1つのマークアップ・ドキュメントに関連する少なくとも1つのビジネス・ロジック及びオブジェクト指向バインディング機構を備える。該オブジェクト指向バインディング機構は、少なくとも1つのマークアップ・ドキュメントを少なくとも1つのビジネス・ロジック要素にバインディングし、また、少なくとも1つのビジネス・ロジック要素を少なくとも1つのマークアップ・ドキュメントにバインディングする。
該ネットワーク・コンピュータ・システムは、サーバ・ランタイム環境(Server Runtime Environment: CRE)を備える1つのサーバと、ネットワーク・アプリケーション・プログラムと、1若しくはそれ以上のクライアント・マシンを備える。各クライアント・マシンは、クライアント・ランタイム環境(Client Runtime Environment: CRE)を備え、また、ネットワーク接続を介して、サーバに接続する。
SREは、ネットワーク・アプリケーション・プログラムを1若しくはそれ以上のクライアント・マシンに、ネットワーク接続を介して配備する。この配備は、まずネットワーク・アプリケーションを1若しくはそれ以上のモジュールに分割し、その後、個別に1若しくはそれ以上のモジュールをクライアント・マシンにダウンロードすることにより行われる。各モジュールは、少なくとも1つのマークアップ・ドキュメントを備える。
ネットワーク・コンピュータ・システムは、更に少なくとも1つのビジネス・ロジックを備え、該ビジネス・ロジックは少なくとも1つのマークアップ・ドキュメントに関連する。また、ネットワーク・コンピュータ・システムは、オブジェクト指向バインディング機構を備え、該オブジェクト指向バインディング機構は、少なくとも1つのマークアップ・ドキュメントを少なくとも1つのビジネス・ロジック要素にバインディングし、また、少なくとも1つのビジネス・ロジック要素を少なくとも1つのマークアップ・ドキュメントにバインディングする。
CREは、ストレージを備え、該ストレージがダウンロードされた1若しくはそれ以上のモジュールを格納してもよい。CREは、ネットワーク・アプリケーション・プログラムのダウンロードされた1若しくはそれ以上のモジュールを互いに独立に実行してもよい。CREは、オフラインで、ネットワーク・アプリケーション・プログラムのダウンロードされた1若しくはそれ以上のモジュールを実行してもよい。
サーバが、コンパイラ・システムを備え、該コンパイラ・システムが、複数の入力ファイルを受信するとともに、該複数の入力ファイルのうち任意のファイルを複数の出力ファイルにそれぞれ変換してもよい。複数の入力ファイルが、ネットワーク・アプリケーションを備え、該ネットワーク・アプリケーションが、複数の異なるプログラム言語でそれぞれ書かれてもよい。複数の出力ファイルが、ネットワーク・アプリケーションの複数の対応する実行コードをそれぞれ備えてもよい。
1若しくはそれ以上のクライアント・マシンそれぞれが、実行エンジンを備え、該実行エンジンが出力ファイルのうち1つを受信し、対応する実行コードを実行してもよい。ネットワーク接続が、低い帯域幅を有してもよい。
上記方法は、サーバ・ストレージ内に格納されたネットワーク・アプリケーションを、1若しくはそれ以上のモジュールに分割する段階を備える。各モジュールは、少なくとも1つのマークアップ・ドキュメントを備える。続いて、1若しくはそれ以上のクライアント・マシンのうち1つを介してユーザによる要求が配置され、1若しくはそれ以上のモジュールがダウンロードされる。次に、クライアント・マシンのCREにより、1つのモジュールが、クライアント・マシンのストレージ内で利用可能であるかチェックされる。そして、利用可能であるならば、モジュールがダウンロードされ、実行される。
モジュールが更に、少なくとも1つのマークアップ・ドキュメントに関連する少なくとも1つのビジネス・ロジックと、オブジェクト指向バインディング機構を備えてもよい。該オブジェクト指向バインディング機構は、少なくとも1つのマークアップ・ドキュメントを少なくとも1つのビジネス・ロジック要素にバインディングし、また、少なくとも1つのビジネス・ロジック要素を少なくとも1つのマークアップ・ドキュメントにバインディングする。
上記方法は、以下の段階を備えてもよい。
もし、モジュールがクライアント・マシンのストレージ内で利用可能でないならば、サーバへの要求を送信し、モジュールをダウンロードする。続いて、サーバにより要求を受信し、クライアント・マシンの実行エンジンを特徴付ける。そして、クライアント・マシンの実行エンジンにより実行可能なモジュールの実行コード・ファイルが既にサーバ・ストレージ内で既に利用可能であるか否かをチェックする。もし、実行コード・ファイルが利用可能であるならば、該実行コード・ファイルをクライアント・マシンへダウンロードする。
上記方法が更に、クライアント・マシン・ストレージ内にダウンロードされた実行コード・ファイルをキャッシュし、クライアント・マシンによりモジュールを実行する段階を備えてもよい。もし、実行コード・ファイルがサーバ・ストレージ内で利用可能でないならば、モジュールを実行コード・ファイルにコンパイルし、その後実行コード・ファイルをクライアント・マシンにダウンロードする段階を備えてもよい。
該コンピュータ・アプリケーション・プログラムは、クライアント・サイド要素を備える。該クライアント・サイド要素は、クライアント・マシン内で動作する。またコンピュータ・アプリケーション・プログラムは、サーバ内で動作するサーバ・サイド要素を備える。クライアント・マシンは、ネットワーク接続を介して、サーバと接続する。
上記方法は、イベントを傾聴するリスナの存在の有無をチェックし、リスナがクライアント・サイド要素或いはサーバ・サイド要素にいるかを決定する。もしリスナが、クライアント・サイド要素にいるならば、リスナを具体化するとともに登録されたリスナ手段を動作させ、イベントを処理する。これにより、結果を作成する。続いて、該結果がマークアップ・ドキュメントであるか直接のクライアント・ドキュメント・オブジェクト・モデル(Document Object Model: DOM)アプリケーション・プログラム・インターフェース(Application Program Interface: API)操作であるかをチェックし、もし結果が、マークアップ・ドキュメントであるならば、該マークアップ・ドキュメントを表示する。
もし結果が直接のクライアントDOM API操作であるならば、上記方法が、APIコールを実行し、結果を表示する段階を備えてもよい。もしリスナが、サーバ・サイド要素に存在するならば、該方法が更に、イベントをサーバに送信し、イベントを処理し、サーバ・サイド・ハンドラを動作させる段階を備えてもよい。サーバ・サイド・ハンドラは、イベントを処理する。これによりサーバ結果を作成する。続いて、サーバ結果をクライアント・マシンに送信し、サーバ結果を表示する。
上記方法は、マークアップ言語を用いて、マークアップ・ドキュメントをコード化し、オブジェクト指向プログラム言語を用いて1若しくはそれ以上のビジネス・ロジック・オブジェクトをコード化し、マークアップ・ドキュメントを1若しくはそれ以上のビジネス・ロジックに関連付ける段階を備える。
続いて、マークアップ・ドキュメントのオブジェクト指向表現を構築し、これにより、1若しくはそれ以上のマークアップ・ドキュメントを作成する。そして、オブジェクト指向表現により、1若しくはそれ以上のマークアップ・オブジェクト・イベントを発火させ、これによりビジネス・ロジック・オブジェクトを動作させ、ビジネス・ロジック・オブジェクトは、イベントを処理する。最後に、1若しくはそれ以上のビジネス・ロジック・オブジェクトによりマークアップ・オブジェクトを操作する。ビジネス・ロジック・オブジェクトは、マークアップ・オブジェクトAPIやドキュメント・オブジェクト・モデル(Document Object Model: DOM)APIを介してマークアップ・オブジェクトの操作を行ってもよい。
コンピュータ・システムは、中央サーバから、ネットワーク接続を介してサーバに接続された任意のクライアント・マシンへのネットワーク・アプリケーションの区割された引渡し並びに実行を可能とする。ネットワーク接続は低い帯域幅ネットワークであってもよい。クライアント・マシンが処理プラットフォームとデバイスの任意の種類を備えるものであってもよい。ネットワーク・アプリケーションが、マークアップ・ドキュメント、ビジネス・ロジック要素及びオブジェクト指向バインディング機構を備え、該オブジェクト指向バインディング機構がマークアップ・ドキュメントをビジネス・ロジック要素にバインディングし、また、ビジネス・ロジック要素をマークアップ・ドキュメントにバインディングしてもよい。
マークアップ・ドキュメントは、任意の種類のマークアップ言語で書かれてもよい。該マークアップ言語は、XML、XUL、SVG、Xforms、XMLに関連する言語、HTML、HTMLに関連する言語、テキスト、これらの組み合わせ及びその他であってもよい。
ビジネス・ロジック要素は、ソース・コードを備え、該ソース・コードが任意のプログラム言語で書かれてもよい。該プログラム言語が、Java、JavaScript、J#、C#、C+、C++、Visual Basic、ActionScript、XSL、XQuery、XPath及びその他を備えるものであってもよい。
コンパイラ・システムはソース・コードを任意の種類の実行可能なバイト・コードに変換する。このコンパイラ・システム・コンフィギュレーションは、アプリケーションのプログラム側とアプリケーションの実行側両面における自在性を提供する。
Claims (90)
- 複数の入力ファイルを受信するとともに、該複数の入力ファイルのうち任意の入力ファイルを出力ファイルに変換する汎用コンパイラであって、
前記複数の入力ファイルがアプリケーションのソース・コードを備え、
該ソース・コードは、複数の異なるプログラム言語でそれぞれ書かれ、
前記出力ファイルは前記アプリケーションの実行コードを備え、
該実行コードが実行エンジンにより実行可能であることを特徴とする汎用コンパイラ。 - 複数の特定のプログラム言語コンパイラを備え、
前記複数の特定のプログラム言語コンパイラそれぞれが、前記複数の入力ファイルから1つの入力ファイルを受信し、
前記複数の入力ファイルは、前記アプリケーションの前記ソース・コードを備え、
該ソース・コードは特定のプログラム言語で書かれ、
更に、前記複数の特定のプログラム言語コンパイラそれぞれが、前記1つの入力ファイルを前記アプリケーションの特定の実行コードに変換し、
該特定の実行コードが特定の実行エンジンにより実行可能とされることを特徴とする請求項1記載の汎用コンパイラ。 - 制御ロジックを更に備え、
該制御ロジックは、前記複数の特定のプログラム言語コンパイラから1つの特定のプログラム言語コンパイラを選択することを特徴とする請求項2記載の汎用コンパイラ。 - 前記プログラム言語が、Java、JavaScript、C#、C+、C++、Visual Basic、J#、ActionScript、XSL、XQuery及びXPathからなる群から選択されることを特徴とする請求項1記載の汎用コンパイラ。
- 前記実行コードが、Java仮想マシン・バイトコードを備え、
前記実行エンジンが、Java仮想マシンを備えることを特徴とする請求項1記載の汎用コンピュータ。 - 前記実行コードが、.Net Common Language Runtime(CLR)バイトコードを備え、
前記実行エンジンが、.Net CLRエンジンを備えることを特徴とする請求項1記載の汎用コンパイラ。 - 前記実行コードがFlashプレイヤ・バイトコードを備え、
前記実行エンジンが、Flashプレイヤを備えることを特徴とする請求項1記載の汎用コンパイラ。 - 複数の入力ファイルを受信するとともに、前記複数の入力ファイルのうち任意の入力ファイルを複数の出力ファイルに変換するコンパイラ・システムであって、
前記複数の入力ファイルが、アプリケーションのソース・コードを備え、
該ソース・コードは、複数の異なるプログラム言語でそれぞれ書かれ、
前記複数の出力ファイルは、前記アプリケーションの複数の実行コードをそれぞれ備え、
前記複数の実行コードが複数の実行エンジンそれぞれにより実行可能であることを特徴とするコンパイラ・システム。 - 複数の汎用コンパイラを備え、
各汎用コンパイラは、複数の特定のプログラム言語コンパイラを備え、
前記複数の特定のプログラム言語コンパイラが、前記複数の入力ファイルから1つの入力ファイルを受信し、
該複数の入力ファイルは前記アプリケーションの前記ソース・コードを備え、
該ソース・コードは、特定のプログラム言語で書かれ、
前記複数の特定のプログラム言語コンパイラは、前記入力ファイルを前記アプリケーションの特定の実行コードに変換し、
前記特定の実行コードが特定の実行エンジンにより実行可能であることを特徴とする請求項8記載のコンパイラ・システム。 - 第1制御ロジックを更に備え、
該第1制御ロジックが、前記複数の汎用プログラム言語コンパイラから、1つの汎用プログラム言語コンパイラを選択することを特徴とする請求項9記載のコンパイラ・システム。 - 第2制御ロジックを更に備え、
該第2制御ロジックが、前記複数の実行コードをキャッシュすることを特徴とする請求項9記載のコンパイラ・システム。 - 前記プログラム言語が、Java、JavaScript、C#、C+、C++、Visual Basic、J#、ActionScript、XSL、XQuery及びXPathからなる群から選択されることを特徴とする請求項8記載のコンパイラ・システム。
- 前記実行コードが、Java仮想マシン・バイトコード、.Net CLRバイトコード、Flashプレイヤ・バイトコード、Palm OSバイトコード、Symbian OSバイトコード及びQualcomm Brewバイトコードからなる群から選択され、
前記対応する実行エンジンそれぞれが、Java仮想マシン、.Net CLRエンジン、Flashプレイヤ、Palm OS、Symbian OS、Qualcomm Brewエンジンからなる群から選択されることを特徴とする請求項8記載のコンパイラ・システム。 - 分散処理を実行するコンピュータ・システムであって、
該コンピュータ・システムは、
汎用コンパイラを備えるサーバを備え、
該汎用コンパイラは、複数の入力ファイルを受信するとともに前記複数の入力ファイルのうち任意の入力ファイルを1つの出力ファイルに変換し、
前記複数の入力ファイルは、アプリケーションのソース・コードを備え、
該ソース・コードは、複数のプログラム言語でそれぞれ書かれ、
前記出力ファイルは、前記アプリケーションの実行コードを備え、
更に、少なくとも1つのクライアント・マシンを備え、
該クライアント・マシンは、ネットワークを介して前記サーバと接続するとともに実行エンジンを備え、
該実行エンジンが、前記出力ファイルを前記ネットワーク上で受信するとともに前記実行コードを実行することを特徴とするコンピュータ・システム。 - 分散処理を実行するコンピュータ・システムであって、
該コンピュータ・システムは、
コンパイラ・システムを備えるサーバを備え、
該コンパイラ・システムは、複数の入力ファイルを受信するとともに、前記複数の入力ファイルのうち任意の入力ファイルを複数の出力ファイルに変換し、
前記複数の入力ファイルは、アプリケーションのソース・コードを備え、
該ソース・コードはそれぞれ複数の異なるプログラム言語で書かれ、
前記複数の出力ファイルは、複数の対応する前記アプリケーションの実行コードをそれぞれ備え、
更に、複数のクライアント・マシンを備え、
前記複数のクライアント・マシンのそれぞれが、前記サーバにネットワークを介して接続し、
前記複数のクライアント・マシンのそれぞれが、実行エンジンを備え、
該実行エンジンが、前記出力ファイルのうち1つを受信するとともに、対応する実行コードを実行することを特徴とする分散処理を実行するコンピュータ・システム。 - 複数の入力ファイルを受信するとともに、該複数の入力ファイルのうち任意の入力ファイルを1つの出力ファイルに変換する汎用XMLコンパイラであって、
前記複数の入力ファイルは、複数のマークアップ・ドキュメントを備え、
該マークアップ・ドキュメントは、複数の異なるXML言語で書かれ、
前記出力ファイルは実行コードを備え、
該実行コードが特定の実行エンジンにより実行可能であることを特徴とする汎用XMLコンパイラ。 - 前記XML言語が、XML、XUL、SVG、Xforms、XAML、HTML、XHTML、HTMLに関連する言語及びこれらの組み合わせからなる群から選択されることを特徴とする請求項16記載の汎用コンパイラ。
- 前記実行コードが、XML言語フォーマットを備え、
前記特定の実行エンジンが、XML実行エンジンを備えることを特徴とする請求項16記載の汎用コンパイラ。 - 前記実行コードがバイナリ・フォーマットを備え、
前記特定の実行エンジンが、前記バイナリ・フォーマットを実行するエンジンを備えることを特徴とする請求項16記載の汎用コンパイラ。 - 前記バイナリ・フォーマットが、Java仮想マシン・バイトコード、.Net CLRバイトコード、Flashプレイヤ・バイトコード、Palm OSバイトコード、Symbian OSバイトコード及びQualcomm Brewバイトコードからなる群から選択されることを特徴とする請求項19記載の汎用コンパイラ。
- 前記特定の実行エンジンが、Java仮想マシン、.Net CLR、Palm OS 、Flashプレイヤ、Symbian OS、Qualcomm Brewからなる群から選択されることを特徴とする請求項20記載の汎用コンパイラ。
- ネットワーク・コンピュータ・システム内においてアプリケーションを配備する方法であって、
前記ネットワーク・コンピュータ・システムは、1つのサーバと、1若しくはそれ以上のクライアント・マシンを備え、
該クライアント・マシンのそれぞれが、ネットワーク接続を介して、前記サーバに接続するとともに実行エンジンを備え、
前記方法は、
前記クライアント・マシンのうち1つによる要求を前記サーバに送信し、前記アプリケーションの1若しくはそれ以上のファイルをダウンロードする段階と、
前記サーバにより前記要求を受信するとともに前記クライアント・マシンの実行エンジンを特徴付ける段階と、
前記アプリケーション・コードの前記1若しくはそれ以上のファイルの1若しくはそれ以上の実行コードがそれぞれ、サーバ・ストレージ内で既に利用可能であるか否か検査する段階を備え、
前記1若しくはそれ以上の実行コードが前記クライアント・マシンの実行エンジンにより実行可能であり、
前記1若しくはそれ以上の実行コードが利用可能であるならば、前記1若しくはそれ以上の実行コードを前記クライアント・マシンにダウンロードする段階を備えることを特徴とする方法。 - クライアント・マシン内のストレージへ前記ダウンロードされた1若しくはそれ以上の実行コードをキャッシュする段階を更に備えることを特徴とする請求項22記載の方法。
- 前記1若しくはそれ以上の実行コードを前記クライアント・マシン・ストレージからダウンロードする段階を更に備えることを特徴とする請求項23記載の方法。
- 前記1若しくはそれ以上の実行コードが前記サーバ・ストレージ内で利用可能でない場合、前記アプリケーションの前記1若しくはそれ以上のファイルを前記1若しくはそれ以上の実行コードにそれぞれコンパイルする段階と、
その後、前記1若しくはそれ以上の実行コードを前記クライアント・マシンへダウンロードする段階を備えることを特徴とする請求項22記載の方法。 - 汎用コンパイラにより1つのアプリケーションの1つのソース・コードをコンパイルする方法であって、
該方法は、
複数の入力ファイルを提供する段階を備え、
該複数の入力ファイルは、前記ソース・コードを備え、
該ソース・コードは、それぞれ複数の異なるプログラム言語で書かれ、
更に、前記複数の入力ファイルを実行コードにコンパイルする段階を備え、
該実行コードが1つの実行エンジンにより実行可能であることを特徴とする方法。 - 前記プログラム言語が、Java、JavaScript、C#、C+、C++、Visual Basic、J#、ActionScript、XSL、XQuery及びXPathからなる群から選択されることを特徴とする請求項26記載の方法。
- 前記実行コードが、Javaバイトコードを備え、
前記実行エンジンが、Java仮想マシンを備えることを特徴とする請求項26記載の方法。 - 前記実行コードが、.Net CLRバイトコードを備え、
前記実行エンジンが、.Net CLRエンジンを備えることを特徴とする請求項26記載の方法。 - 前記実行コードがFlashプレイヤ・バイトコードを備え、
前記実行エンジンが、Flashプレイヤを備えることを特徴とする請求項26記載の方法。 - 前記汎用コンパイラが、複数の特定のプログラム言語コンパイラを備え、
前記複数の特定のプログラム言語コンパイラそれぞれが、1つの入力ファイルを受信し、
該入力ファイルが、1つの特定のプログラム言語で書かれ、
前記複数の特定のプログラム言語コンパイラそれぞれが、前記入力ファイルを1つの特定の前記アプリケーションの実行コードに変換し、
前記特定の実行コードが1つの特定の実行エンジンにより実行可能であることを特徴とする請求項26記載の方法。 - 前記汎用コンパイラが更に、制御ロジックを備え、
該制御ロジックは、前記複数の特定のプログラム言語コンパイラから1つの特定のプログラム言語コンパイラを選択することを特徴とする請求項31記載の方法。 - コンパイラ・システムにより、アプリケーションのソース・コードをコンパイルする方法であって、
該方法は、
複数の入力ファイルを提供する段階を備え、
該入力ファイルは、前記ソース・コードを備え、
該ソース・コードは複数の異なるプログラム言語でそれぞれ書かれ、
更に、前記複数の入力ファイルを複数の出力ファイルにコンパイルする段階を備え、
前記複数の出力ファイルは、前記ソース・コードの複数の実行コードをそれぞれ備え、
前記実行コードは複数の対応する実行エンジンそれぞれにより実行可能であることを特徴とする方法。 - 前記プログラム言語が、Java、JavaScript、C#、C+、C++、Visual Basic、J#、ActionScript、XSL、XQuery及びXPathからなる群から選択されることを特徴とする請求項33記載の方法。
- 前記実行コードが、Java仮想マシン・バイトコード、.Net CLRバイトコード、Palm OSバイトコード、Flashプレイヤ・バイトコード、Symbian OSバイトコード及びQualcomm Brewバイトコードからなる群から選択され、
前記対応する実行エンジンが、Java仮想マシン、.Net CLR、Palm OS、Flashプレイヤ、Symbian OS、Qualcomm Brewからなる群から選択されることを特徴とする請求項33記載の方法。 - 少なくとも1つのマークアップ・ドキュメントと、
該少なくとも1つのマークアップ・ドキュメントに関連する少なくとも1つのビジネス・ロジック要素と、
前記少なくとも1つのマークアップ・ドキュメントを前記少なくとも1つのビジネス・ロジック要素にバインディングする或いはその逆を行うオブジェクト指向バインディング機構からなることを特徴とするコンピュータ・アプリケーション・プログラム。 - クライアント・ランタイム環境(CRE)が前記少なくとも1つのマークアップ・ドキュメントを受信するとともに1つのオブジェクト指向表現へ変換することを特徴とする請求項36記載のコンピュータ・アプリケーション・プログラム。
- 前記オブジェクト指向表現が、1若しくはそれ以上のマークアップ・オブジェクト、1若しくはそれ以上のユーザ・インターフェース及び1若しくはそれ以上のデータ・セットを備えることを特徴とする請求項37記載のコンピュータ・アプリケーション・プログラム。
- 前記少なくとも1つのビジネス・ロジック要素が、1つのマークアップ・オブジェクト・イベントに対するイベント・ハンドラとして用いられる1若しくはそれ以上の手段を備えることを特徴とする請求項38記載のコンピュータ・アプリケーション・プログラム。
- 前記オブジェクト指向バインディング機構が、マークアップ・オブジェクト・イベントを発火させることにより、前記1若しくはそれ以上のマークアップ・オブジェクトによって、前記1若しくはそれ以上の手段を起動することを備えることを特徴とする請求項38記載のコンピュータ・アプリケーション・プログラム。
- 前記オブジェクト指向バインディング機構が、更に、前記少なくとも1つのビジネス・ロジック要素によって、アプリケーション・プログラム・インターフェース(API)を介して前記1若しくはそれ以上のマークアップ・オブジェクトにアクセスするとともに変更することを備えることを特徴とする請求項40記載のコンピュータ・アプリケーション・プログラム。
- 前記APIが、マークアップ・オブジェクトAPIとドキュメント・オブジェクト・モデル(DOM)APIからなる群から選択されることを特徴とする請求項41記載のコンピュータ・アプリケーション・プログラム。
- 前記1若しくはそれ以上のマークアップ・ドキュメントが、親マークアップ・オブジェクトと子マークアップ・オブジェクトを備え、
該子マークアップ・オブジェクトが1若しくはそれ以上のマークアップ・オブジェクトプロパティを備え、
該マークアップ・オブジェクト・プロパティが、前記親マークアップ・オブジェクトから継承されることを特徴とする請求項38記載のコンピュータ・アプリケーション・プログラム。 - 前記1若しくはそれ以上のマークアップ・オブジェクト・プロパティが、ユーザ・インターフェース定義、データ・セット定義及びイベント・ハンドラ定義からなる群から選択されることを特徴とする請求項43記載のコンピュータ・アプリケーション・プログラム。
- 前記親マークアップ・オブジェクトが、1若しくはそれ以上のユーザ・インターフェース定義、1若しくはそれ以上のデータ定義及び1若しくはそれ以上のイベント・ハンドラを備え、
前記子マークアップ・オブジェクトが前記1若しくはそれ以上のユーザ・インターフェース定義、前記1若しくはそれ以上のデータ定義及び前記1若しくはそれ以上のイベント・ハンドラを前記親マークアップ・ドキュメントから継承することを特徴とする請求項44記載のコンピュータ・アプリケーション・プログラム。 - 前記1若しくはそれ以上のマークアップ・オブジェクトが、親マークアップ・オブジェクトと子マークアップ・オブジェクトを備え、
前記子マークアップ・オブジェクトが、前記親マークアップ・オブジェクトの1若しくはそれ以上のマークアップ・オブジェクト・プロパティを上書きし、
該上書きされたマークアップ・オブジェクト・プロパティを、前記子マークアップ・オブジェクトの1若しくはそれ以上のマークアップ・オブジェクト・プロパティと置換することを特徴とする請求項43記載のコンピュータ・アプリケーション・プログラム。 - 前記少なくとも1つのマークアップ・ドキュメントが、マークアップ言語で書かれ、
該マークアップ言語は、XML、XUL、SVG、Xforms、XAML、HTML、XHTML、HTMLに関連する言語、テキスト及びこれらの組み合わせからなる群から選択されることを特徴とする請求項36記載のコンピュータ・アプリケーション・プログラム。 - 前記少なくとも1つのビジネス・ロジック要素が、プログラム言語で書かれ、
該プログラム言語が、Java、JavaScript、J#、C#、C+、C++、Visual Basic、ActionScript、XSL、XQuery及びXPathからなる群から選択されることを特徴とする請求項36記載のコンピュータ・アプリケーション・プログラム。 - コンピュータ・アプリケーション・プログラムを開発する方法であって、
少なくとも1つのマークアップ・ドキュメントを提供する段階と、
該少なくとも1つのマークアップ・ドキュメントに関連する少なくとも1つのビジネス・ロジック要素を提供する段階と、
オブジェクト指向バインディング機構を提供する段階を備え、
該オブジェクト指向バインディング機構が前記少なくとも1つのマークアップ・ドキュメントを前記少なくとも1つのビジネス・ロジック要素にバインディングをし、またその逆を行うことを特徴とする方法。 - 前記少なくとも1つのマークアップ・ドキュメントを受信する段階と、
該少なくとも1つのマークアップ・ドキュメントをクライアント・ランタイム環境(CRE)によりオブジェクト指向表現に変換する段階を更に備えることを特徴とする請求項49記載の方法。 - 前記オブジェクト指向表現が、1若しくはそれ以上のマークアップ・オブジェクト、1若しくはそれ以上のユーザ・インターフェース及び1若しくはそれ以上のデータ・セットを備えることを特徴とする請求項50記載の方法。
- 前記少なくとも1つのビジネス・ロジック要素が、1若しくはそれ以上の手段を備え、
該手段が、マークアップ・オブジェクト・イベントに対するイベント・ハンドラとして用いられることを特徴とする請求項51記載の方法。 - 前記オブジェクト指向バインディング機構が、マークアップ・オブジェクト・イベントを発火させることにより、前記1若しくはそれ以上のマークアップ・オブジェクトによって、前記1若しくはそれ以上の手段を起動することを備えることを特徴とする請求項52記載の方法。
- 前記オブジェクト指向バインディング機構が、更に、前記少なくとも1つのビジネス・ロジック要素によって、アプリケーション・プログラム・インターフェース(API)を介して前記1若しくはそれ以上のマークアップ・オブジェクトにアクセスするとともに変更することを備えることを特徴とする請求項53記載の方法。
- 前記APIが、マークアップ・オブジェクトAPIとドキュメント・オブジェクト・モデル(DOM)APIからなる群から選択されることを特徴とする請求項54記載の方法。
- 前記1若しくはそれ以上のマークアップ・ドキュメントが、親マークアップ・オブジェクトと子マークアップ・オブジェクトを備え、
該子マークアップ・オブジェクトが1若しくはそれ以上のマークアップ・オブジェクトプロパティを備え、
該マークアップ・オブジェクト・プロパティが、前記親マークアップ・オブジェクトから継承されることを特徴とする請求項51記載の方法。 - 前記1若しくはそれ以上のマークアップ・オブジェクト・プロパティが、ユーザ・インターフェース、データ・セット定義及びイベント・ハンドラ定義からなる群から選択されることを特徴とする請求項56記載の方法。
- 前記親マークアップ・オブジェクトが、1若しくはそれ以上のユーザ・インターフェース定義、1若しくはそれ以上のデータ定義及び1若しくはそれ以上のイベント・ハンドラを備え、
前記子マークアップ・オブジェクトが前記1若しくはそれ以上のユーザ・インターフェース定義、前記1若しくはそれ以上のデータ定義及び前記1若しくはそれ以上のイベント・ハンドラを前記親マークアップ・ドキュメントから継承することを特徴とする請求項57記載の方法。 - 前記1若しくはそれ以上のマークアップ・オブジェクトが、親マークアップ・オブジェクトと子マークアップ・オブジェクトを備え、
前記子マークアップ・オブジェクトが、前記親マークアップ・オブジェクトの1若しくはそれ以上のマークアップ・オブジェクト・プロパティを上書きし、
該上書きされたマークアップ・オブジェクト・プロパティを、前記子マークアップ・オブジェクトの1若しくはそれ以上のマークアップ・オブジェクト・プロパティと置換することを特徴とする請求項51記載の方法。 - 前記少なくとも1つのマークアップ・ドキュメントが、マークアップ言語で書かれ、
該マークアップ言語は、XML、XUL、SVG、Xforms、XAML、HTML、XHTML、HTMLに関連する言語、テキスト及びこれらの組み合わせからなる群から選択されることを特徴とする請求項49記載の方法。 - 前記少なくとも1つのビジネス・ロジック要素が、プログラム言語で書かれ、
該プログラム言語が、Java、JavaScript、J#、C#、C+、C++、Visual Basic、ActionScript、XSL、XQuery及びXPathからなる群から選択されることを特徴とする請求項49記載の方法。 - 1若しくはそれ以上のモジュールを備えるネットワーク・アプリケーション・プログラムであって、
各モジュールが、少なくとも1つのマークアップ・ドキュメント、該マークアップ・ドキュメントに関連する少なくとも1つのビジネス・ロジック及びオブジェクト指向バインディング機構を備え、
該オブジェクト指向バインディング機構が、前記少なくとも1つのマークアップ・ドキュメントを前記少なくとも1つのビジネス・ロジック要素にバインディングし、またその逆を行うことを特徴とするネットワーク・アプリケーション・プログラム。 - サーバ・ランタイム環境(SRE)とネットワーク・アプリケーション・プログラムを備えるサーバと、
1若しくはそれ以上のクライアント・マシンであって、各クライアント・マシンがクライアント・ランタイム環境(CRE)を備えるとともに、ネットワーク接続を介して前記サーバに接続可能なクライアント・マシンを備え、
前記SREが前記ネットワーク・アプリケーション・プログラムを前記1若しくはそれ以上のクライアント・マシンに前記ネットワークを介して配備し、
該配備が、
前記ネットワーク・アプリケーションを1若しくはそれ以上のモジュールに分割する段階であって、該各モジュールが少なくとも1つのマークアップ・ドキュメントを備えるようにする段階と、
前記1若しくはそれ以上のモジュールそれぞれを別個に前記1若しくはそれ以上のクライアント・マシンにダウンロードする段階からなることを特徴とするネットワーク・コンピュータ・システム。 - 更に、前記少なくとも1つのマークアップ・ドキュメントに関連する少なくとも1つのビジネス・ロジックと、
オブジェクト指向バインディング機構を備え、
該オブジェクト指向バインディング機構が、前記少なくとも1つのマークアップ・ドキュメントを前記少なくとも1つのビジネス・ロジック要素にバインディングするとともにその逆を行うことが可能であることを特徴とする請求項63記載のネットワーク・コンピュータ・システム。 - 前記CREが更に、ストレージを備え、
該ストレージが前記ダウンロードされた1若しくはそれ以上のモジュールをキャッシュすることを特徴とする請求項63記載のネットワーク・コンピュータ・システム。 - 前記CREが前記ネットワーク・アプリケーション・プログラムの前記ダウンロードされた1若しくはそれ以上のモジュールそれぞれを互いに独立に実行することを特徴とする請求項63記載のネットワーク・コンピュータ・システム。
- 前記CREが前記ネットワーク・アプリケーション・プログラムの前記ダウンロードされた1若しくはそれ以上のモジュールをオフラインで実行することを特徴とする請求項63記載のネットワーク・コンピュータ・システム。
- 前記サーバが更に、コンパイラ・システムを備え、
該コンパイラ・システムが、複数の入力ファイルを受信するとともに、該複数の入力ファイルのうち任意の入力ファイルを複数の出力ファイルにそれぞれ変換し、
前記複数の入力ファイルが前記ネットワーク・アプリケーションを備え、
該ネットワーク・アプリケーションは、複数のそれぞれ異なるプログラム言語で書かれ、
前記複数の出力ファイルは、前記ネットワーク・アプリケーションの複数のそれぞれ対応する実行コードを備えることを特徴とする請求項63記載のネットワーク・コンピュータ・システム。 - 前記1若しくはそれ以上のクライアント・マシンのそれぞれが、1つの実行エンジンを備え、
該実行エンジンが、前記出力ファイルのうち1つを受信するとともに前記対応する実行コードを実行することを特徴とする請求項68記載のネットワーク・コンピュータ・システム。 - 前記ネットワーク接続が、低い帯域幅を備えることを特徴とする請求項63記載のネットワーク・コンピュータ・システム。
- ネットワーク・コンピュータ・システム内で処理を実行する方法であって、
該ネットワーク・コンピュータ・システムは、サーバと1若しくはそれ以上のクライアント・マシンを備え、
該クライアント・マシンは、ネットワーク接続を介して、前記サーバと接続し、
前記方法は、
サーバ・ストレージ内に格納されたネットワーク・アプリケーションを1若しくはそれ以上のモジュールに分割し、該モジュールそれぞれが少なくとも1つのマークアップ・ドキュメントを備える段階と、
前記1若しくはそれ以上のモジュールそれぞれを別個に前記1若しくはそれ以上のクライアント・マシンに前記ネットワーク接続を介してダウンロードする段階を備えることを特徴とする方法。 - 各モジュールが更に少なくとも1つのビジネス・ロジック要素を備え、
該ビジネス・ロジック要素は前記少なくとも1つのマークアップ・ドキュメントと関連し、
各モジュールは更に、オブジェクト指向バインディング機構を備え、
該オブジェクト指向バインディング機構は、前記少なくとも1つのマークアップ・ドキュメントを前記少なくとも1つのビジネス・ロジック要素にバインディングするとともにその逆を行うことを特徴とする請求項71記載の方法。 - クライアント・マシン・ストレージ内にダウンロードされた1若しくはそれ以上のモジュールをキャッシュする段階を更に備えることを特徴とする請求項71記載の方法。
- 更に、前記1若しくはそれ以上のクライアント・マシンにより、互いに独立に前記ネットワーク・アプリケーション・プログラムの前記ダウンロードされた1若しくはそれ以上のモジュールを実行する段階を備えることを特徴とする請求項71記載の方法。
- 更に、オフラインで、前記1若しくはそれ以上のクライアント・マシンにより前記ネットワーク・アプリケーション・プログラムの前記ダウンロードされた1若しくはそれ以上のモジュールを実行する段階を備えることを特徴とする請求項71記載の方法。
- 前記サーバが更に、コンパイラ・システムを備え、
該コンパイラ・システムが、複数の入力ファイルを受信するとともに、前記複数の入力ファイルのうち任意のファイルを複数の出力ファイルにそれぞれ変換し、
前記複数の入力ファイルが、前記ネットワーク・アプリケーションを備え、
該ネットワーク・アプリケーションが、複数のそれぞれ異なるプログラム言語で書かれ、
前記複数の出力ファイルが前記ネットワーク・アプリケーションの複数の対応する実行コードをそれぞれ備えることを特徴とする請求項71記載の方法。 - 前記1若しくはそれ以上のクライアント・マシンそれぞれが、実行エンジンを備え、
該実行エンジンは、前記出力ファイルのうち1つを受信するとともに、前記ネットワーク・アプリケーションの前記対応する実行コードを実行することを特徴とする請求項76記載の方法。 - 前記ネットワーク接続が、低い帯域幅を備えることを特徴とする請求項71記載の方法。
- ネットワーク・コンピュータ・システム内で処理を実行する方法であって、
該ネットワーク・コンピュータ・システムは、サーバと1若しくはそれ以上のクライアント・マシンを備え、
該クライアント・マシンは、ネットワーク接続を介して、前記サーバと接続し、
前記方法は、
サーバ・ストレージ内に格納されたネットワーク・アプリケーションを1若しくはそれ以上のモジュールに分割し、該モジュールそれぞれが少なくとも1つのマークアップ・ドキュメントを備える段階と、
ユーザによる要求を、前記1若しくはそれ以上のクライアント・マシンのうち1つを介して配置し、前記1若しくはそれ以上のモジュールのうち1つをダウンロードする段階と、
前記クライアント・マシンのCREにより、前記1つのモジュールが前記クライアント・マシンのストレージ内で利用可能であるか否かをチェックする段階と、
もし利用可能であるならば、前記モジュールをダウンロード並びに実行する段階を備えることを特徴とする方法。 - 前記モジュールが更に少なくとも1つのビジネス・ロジックを備え、
該ビジネス・ロジックは、前記少なくとも1つのマークアップ・ドキュメントに関連し、
更に、前記モジュールは、1つのオブジェクト指向バインディング機構を備え、
該オブジェクト指向バインディング機構は、前記少なくとも1つのマークアップ・ドキュメントを前記少なくとも1つのビジネス・ロジック要素にバインディングするとともにその逆を行うことを特徴とする請求項79記載の方法。 - 前記クライアント・マシンのストレージ内で前記モジュールが利用可能でないならば、前記サーバへ要求を送信し、前記モジュールをダウンロードする段階と、
前記サーバにより前記要求を受信するとともに、前記クライアント・マシンの実行エンジンを特徴付ける段階と、
前記クライアント・マシンにより実行可能な前記モジュールの実行コード・ファイルが既に前記サーバ・ストレージ内で利用可能か否かチェックする段階と、
もし前記実行コード・ファイルが利用可能であるならば、前記実行コード・ファイルを前記クライアント・マシンにダウンロードする段階を備えることを特徴とする請求項79記載の方法。 - クライアント・マシン・ストレージ内の前記ダウンロードされた実行コード・ファイルをキャッシュする段階を更に備えることを特徴とする請求項81記載の方法。
- 更に前記クライアント・マシンにより前記モジュールを実行する段階を備えることを特徴とする請求項81記載の方法。
- 前記実行コード・ファイルが前記サーバ・ストレージ内で利用可能でないならば、前記モジュールを前記実行コードにコンパイルする段階と、
前記実行コード・ファイルを前記クライアント・マシンにダウンロードする段階を備えることを特徴とする請求項81記載の方法。 - コンピュータ・アプリケーション・プログラム内で、クライアント・イベントを取扱う方法であって、
前記コンピュータ・アプリケーション・プログラムは、クライアント・サイド要素を備え、
該クライアント・サイド要素はクライアント・マシン内で動作し、
前記コンピュータ・アプリケーション・プログラムは、更に、サーバ・サイド要素を備え、
該サーバ・サイド要素はサーバ内で動作し、
前記クライアント・マシンは、ネットワーク接続を介して、前記サーバに接続し、
前記方法は、
前記イベントを傾聴するリスナの有無をチェックするとともに、該リスナが前記クライアント・サイド要素或いはサーバ・サイド要素のいずれに存在するかを決定する段階と、
前記リスナが、前記クライアント・サイド要素に存在するならば、前記リスナを具体化するとともに登録されたリスナ手段を起動し、前記イベントを処理し、これにより結果を作成する段階と、
前記結果がマークアップ・ドキュメントであるか、直接的なクライアント・ドキュメント・オブジェクト・モデル(DOM)アプリケーション・プログラム・インターフェース(API)操作であるかをチェックする段階と、
前記結果が、マークアップ・ドキュメントであるならば、前記マークアップ・ドキュメントを表示する段階を備えることを特徴とする方法。 - 前記結果が直接のクライアントDOM API操作であるならば、更に、APIコールを実行するとともに前記結果を表示する段階を備えることを特徴とする請求項85記載の方法。
- 前記リスナが、前記サーバ・サイド要素に存在するならば、
前記イベントを前記サーバに送信し、前記イベントを処理する段階と、
サーバ・サイド・ハンドラを動作させ、前記イベントを処理し、これによりサーバ結果を作成する段階と、
前記サーバ結果を前記クライアント・マシンに送信する段階と、
前記サーバ結果を表示する段階を備えることを特徴とする請求項85記載の方法。 - 1つのマークアップ・ドキュメントを1若しくはそれ以上のビジネス・ロジック・オブジェクトにバインディングする方法であって、
マークアップ言語を用いて、前記マークアップ・ドキュメントをコード化する段階と、
オブジェクト指向プログラム言語を用いて、1若しくはそれ以上のビジネス・ロジック・オブジェクトをコード化する段階と、
前記マークアップ・ドキュメントを前記1若しくはそれ以上のビジネス・ロジック・オブジェクトと関連付ける段階と、
前記マークアップ・ドキュメントのオブジェクト指向表現を構築し、これにより1若しくはそれ以上のマークアップ・オブジェクトを作成する段階と、
前記オブジェクト指向表現により1若しくはそれ以上のマークアップ・オブジェクト・イベントを発火し、これにより、前記1若しくはそれ以上のビジネス・ロジック・オブジェクトを動作させ、前記イベントを処理する段階と、
前記1若しくはそれ以上のビジネス・ロジック・オブジェクトにより前記マークアップ・オブジェクトを操作する段階からなることを特徴とする方法。 - 前記1若しくはそれ以上のビジネス・ロジック・オブジェクトがマークアップ・オブジェクトAPIを介して前記マークアップ・オブジェクトを操作することを特徴とする請求項88記載の方法。
- 前記1若しくはそれ以上のビジネス・ロジック・オブジェクトがドキュメント・オブジェクト・モデル(DOM)APIを介して、前記マークアップ・オブジェクトを操作する段階を備えることを特徴とする請求項88記載の方法。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US43939403P | 2003-01-10 | 2003-01-10 | |
US10/754,782 US7707563B2 (en) | 2003-01-10 | 2004-01-09 | System and method for network-based computing |
PCT/US2004/000720 WO2004063900A2 (en) | 2003-01-10 | 2004-01-09 | System and method for network-based computing |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007524875A true JP2007524875A (ja) | 2007-08-30 |
Family
ID=32718086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006500912A Pending JP2007524875A (ja) | 2003-01-10 | 2004-01-09 | ネットワーク・ベースの処理のためのシステムおよび方法 |
Country Status (4)
Country | Link |
---|---|
US (2) | US7707563B2 (ja) |
EP (1) | EP1588230A4 (ja) |
JP (1) | JP2007524875A (ja) |
WO (1) | WO2004063900A2 (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009512032A (ja) * | 2005-10-14 | 2009-03-19 | リサーチ イン モーション リミテッド | 図形表示言語およびネイティブuiオブジェクトを用いる表示 |
JP2011501325A (ja) * | 2007-10-26 | 2011-01-06 | クゥアルコム・インコーポレイテッド | サーバ−ベースのコードコンパイル |
JP2013101655A (ja) * | 2006-07-12 | 2013-05-23 | Qualcomm Inc | Sigcompudvmパフォーマンスの最適化のための方法および装置 |
US9075913B2 (en) | 2012-02-27 | 2015-07-07 | Qualcomm Incorporated | Validation of applications for graphics processing unit |
KR101907422B1 (ko) | 2012-02-10 | 2018-10-12 | 한국전자통신연구원 | 네트워크 애플리케이션 통합 개발장치, 그 통합 개발방법 및 그것을 이용하는 서버 |
Families Citing this family (127)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6836883B1 (en) * | 2000-06-21 | 2004-12-28 | Microsoft Corporation | Method and system for compiling multiple languages |
EP1174791B1 (en) | 2000-07-10 | 2017-09-27 | Microsoft Technology Licensing, LLC | Unified data type system and method |
US20080313282A1 (en) | 2002-09-10 | 2008-12-18 | Warila Bruce W | User interface, operating system and architecture |
US20050038868A1 (en) * | 2003-05-19 | 2005-02-17 | Spicer Jeffrey J. | Web form host |
US7237194B2 (en) * | 2003-11-18 | 2007-06-26 | Microsoft Corporation | System and method for generating optimized binary representation of an object tree |
US20070039007A1 (en) * | 2004-05-18 | 2007-02-15 | Spicer Jeffrey J | Virtual mind |
US7543273B2 (en) * | 2004-05-21 | 2009-06-02 | Bea Systems, Inc. | Systems and methods for dynamic control of cache and pool sizes using a batch scheduler |
US7756910B2 (en) * | 2004-05-21 | 2010-07-13 | Bea Systems, Inc. | Systems and methods for cache and pool initialization on demand |
US8239749B2 (en) * | 2004-06-25 | 2012-08-07 | Apple Inc. | Procedurally expressing graphic objects for web pages |
US20060031760A1 (en) * | 2004-08-05 | 2006-02-09 | Microsoft Corporation | Adaptive document layout server/client system and process |
US20060130051A1 (en) * | 2004-12-14 | 2006-06-15 | International Business Machines Corporation | Extensible framework for handling submitted form instance data |
US8627344B2 (en) * | 2004-12-15 | 2014-01-07 | Siebel Systems, Inc. | Methods and apparatuses for user interface management |
JP2006178912A (ja) * | 2004-12-24 | 2006-07-06 | Fujitsu Ltd | 情報処理方法及びプログラム |
US9535679B2 (en) * | 2004-12-28 | 2017-01-03 | International Business Machines Corporation | Dynamically optimizing applications within a deployment server |
US7707547B2 (en) * | 2005-03-11 | 2010-04-27 | Aptana, Inc. | System and method for creating target byte code |
US8271964B2 (en) * | 2005-05-16 | 2012-09-18 | Microsoft Corporation | Extensible software development services |
US20070006238A1 (en) * | 2005-07-01 | 2007-01-04 | Microsoft Corporation | Managing application states in an interactive media environment |
US20070006078A1 (en) * | 2005-07-01 | 2007-01-04 | Microsoft Corporation | Declaratively responding to state changes in an interactive multimedia environment |
US7941522B2 (en) * | 2005-07-01 | 2011-05-10 | Microsoft Corporation | Application security in an interactive media environment |
US8799757B2 (en) * | 2005-07-01 | 2014-08-05 | Microsoft Corporation | Synchronization aspects of interactive multimedia presentation management |
US8020084B2 (en) * | 2005-07-01 | 2011-09-13 | Microsoft Corporation | Synchronization aspects of interactive multimedia presentation management |
US20070006079A1 (en) * | 2005-07-01 | 2007-01-04 | Microsoft Corporation | State-based timing for interactive multimedia presentations |
US20070006062A1 (en) * | 2005-07-01 | 2007-01-04 | Microsoft Corporation | Synchronization aspects of interactive multimedia presentation management |
US20070006065A1 (en) * | 2005-07-01 | 2007-01-04 | Microsoft Corporation | Conditional event timing for interactive multimedia presentations |
US8656268B2 (en) * | 2005-07-01 | 2014-02-18 | Microsoft Corporation | Queueing events in an interactive media environment |
US8108787B2 (en) * | 2005-07-01 | 2012-01-31 | Microsoft Corporation | Distributing input events to multiple applications in an interactive media environment |
US8305398B2 (en) * | 2005-07-01 | 2012-11-06 | Microsoft Corporation | Rendering and compositing multiple applications in an interactive media environment |
TWI263908B (en) * | 2005-07-12 | 2006-10-11 | Inventec Corp | Update system and method |
US20070016592A1 (en) * | 2005-07-12 | 2007-01-18 | International Business Machines Corporation | Enabling real time decoration for customized topology displays |
US7966608B2 (en) * | 2005-10-26 | 2011-06-21 | Hewlett-Packard Development Company, L.P. | Method and apparatus for providing a compiler interface |
US8201189B2 (en) * | 2005-12-30 | 2012-06-12 | Sap Ag | System and method for filtering components |
US8843918B2 (en) * | 2005-12-30 | 2014-09-23 | Sap Ag | System and method for deployable templates |
US20070257715A1 (en) * | 2005-12-30 | 2007-11-08 | Semerdzhiev Krasimir P | System and method for abstract configuration |
US8838750B2 (en) * | 2005-12-30 | 2014-09-16 | Sap Ag | System and method for system information centralization |
US20070174420A1 (en) * | 2006-01-24 | 2007-07-26 | International Business Machines Corporation | Caching of web service requests |
US20070240040A1 (en) * | 2006-04-05 | 2007-10-11 | Christopher Peters | Non-compiled portable algorithm |
EP1845444B1 (en) * | 2006-04-13 | 2010-05-19 | Microsoft Corporation | Virtual execution system for ressource-constrained devices |
KR101058481B1 (ko) | 2006-05-16 | 2011-08-24 | 리서치 인 모션 리미티드 | 애플리케이션의 사용자 인터페이스를 스킨화하는 시스템 및방법 |
US7886284B2 (en) * | 2006-09-05 | 2011-02-08 | International Business Machines Corporation | Using a backend simulator to test and develop xforms templates before linking the xforms templates to backend data processing systems |
US8863083B2 (en) * | 2006-10-10 | 2014-10-14 | Sap Ag | Presenting user interfaces based on messages |
GB2444305B (en) * | 2007-01-26 | 2010-12-22 | Key Criteria Connect Ltd | Method of identifying devices in mobile and desktop environments |
GB2445991B (en) * | 2007-01-26 | 2009-04-01 | Key Criteria Connect Ltd | Method of loading software in mobile and desktop environments |
US7761484B2 (en) * | 2007-02-09 | 2010-07-20 | Microsoft Corporation | Complete mapping between the XML infoset and dynamic language data expressions |
US8196092B2 (en) * | 2007-06-14 | 2012-06-05 | Verizon Patent And Licensing Inc. | XSL dialog modules |
US20090063423A1 (en) * | 2007-06-19 | 2009-03-05 | Jackson Bruce Kelly | User interfaces for service object located in a distributed system |
US9727397B2 (en) * | 2007-07-23 | 2017-08-08 | Paypal, Inc. | Container-less JSP template |
KR20100068473A (ko) * | 2007-09-28 | 2010-06-23 | 엑세리온 악티에볼라그 | 네트워크 오퍼레이팅 시스템 |
US8914774B1 (en) | 2007-11-15 | 2014-12-16 | Appcelerator, Inc. | System and method for tagging code to determine where the code runs |
US8954989B1 (en) | 2007-11-19 | 2015-02-10 | Appcelerator, Inc. | Flexible, event-driven JavaScript server architecture |
US8260845B1 (en) | 2007-11-21 | 2012-09-04 | Appcelerator, Inc. | System and method for auto-generating JavaScript proxies and meta-proxies |
US8719451B1 (en) | 2007-11-23 | 2014-05-06 | Appcelerator, Inc. | System and method for on-the-fly, post-processing document object model manipulation |
US8566807B1 (en) | 2007-11-23 | 2013-10-22 | Appcelerator, Inc. | System and method for accessibility of document object model and JavaScript by other platforms |
US8756579B1 (en) | 2007-12-03 | 2014-06-17 | Appcelerator, Inc. | Client-side and server-side unified validation |
US8819539B1 (en) | 2007-12-03 | 2014-08-26 | Appcelerator, Inc. | On-the-fly rewriting of uniform resource locators in a web-page |
US8806431B1 (en) | 2007-12-03 | 2014-08-12 | Appecelerator, Inc. | Aspect oriented programming |
US8527860B1 (en) | 2007-12-04 | 2013-09-03 | Appcelerator, Inc. | System and method for exposing the dynamic web server-side |
US8938491B1 (en) | 2007-12-04 | 2015-01-20 | Appcelerator, Inc. | System and method for secure binding of client calls and server functions |
US8639743B1 (en) | 2007-12-05 | 2014-01-28 | Appcelerator, Inc. | System and method for on-the-fly rewriting of JavaScript |
US8285813B1 (en) | 2007-12-05 | 2012-10-09 | Appcelerator, Inc. | System and method for emulating different user agents on a server |
US8335982B1 (en) | 2007-12-05 | 2012-12-18 | Appcelerator, Inc. | System and method for binding a document object model through JavaScript callbacks |
US8402435B1 (en) * | 2007-12-07 | 2013-03-19 | Adobe Systems Incorporated | Systems and methods for organizing source code |
US8434076B2 (en) * | 2007-12-12 | 2013-04-30 | Oracle International Corporation | Efficient compilation and execution of imperative-query languages |
US9141377B2 (en) * | 2008-02-19 | 2015-09-22 | International Business Machines Corporation | Visualization of code units across disparate systems |
US8863115B2 (en) * | 2008-03-20 | 2014-10-14 | Sap Ag | Execution of program code having language-level integration of program models |
US8533673B2 (en) * | 2008-03-20 | 2013-09-10 | Sap Ag | Language-level integration of programming models |
US8533672B2 (en) * | 2008-03-20 | 2013-09-10 | Sap Ag | Extending the functionality of a host programming language |
US9454390B2 (en) * | 2008-04-04 | 2016-09-27 | Intuit Inc. | Executable code generated from common source code |
US8291079B1 (en) | 2008-06-04 | 2012-10-16 | Appcelerator, Inc. | System and method for developing, deploying, managing and monitoring a web application in a single environment |
US8880678B1 (en) | 2008-06-05 | 2014-11-04 | Appcelerator, Inc. | System and method for managing and monitoring a web application using multiple cloud providers |
US8018197B2 (en) * | 2008-06-18 | 2011-09-13 | Freescale Semiconductor, Inc. | Voltage reference device and methods thereof |
US20090320097A1 (en) * | 2008-06-18 | 2009-12-24 | Jackson Bruce Kelly | Method for carrying out a distributed search |
US8060603B2 (en) | 2008-06-18 | 2011-11-15 | Qualcomm Incorporated | Persistent personal messaging in a distributed system |
US20100023955A1 (en) * | 2008-07-28 | 2010-01-28 | Marcottage | Method and system and apparatus for dynamic software environment |
US7596620B1 (en) | 2008-11-04 | 2009-09-29 | Aptana, Inc. | System and method for developing, deploying, managing and monitoring a web application in a single environment |
US9082409B2 (en) * | 2008-08-28 | 2015-07-14 | Avaya Inc. | Binary-caching for XML documents with embedded executable code |
US8539464B2 (en) * | 2008-10-30 | 2013-09-17 | International Business Machines Corporation | Distributed just-in-time compilation |
US8752016B2 (en) * | 2008-12-15 | 2014-06-10 | Apple Inc. | Converting JavaScript into a device-independent representation |
WO2010084206A1 (en) * | 2009-01-26 | 2010-07-29 | Fontself Sa | A system and method for creating, managing, sharing and displaying personalized fonts on a client-server architecture |
US9354629B2 (en) * | 2009-02-19 | 2016-05-31 | Fisher-Rosemount Systems, Inc. | Methods and apparatus to configure a process control system using an electronic description language script |
US8667483B2 (en) * | 2009-03-25 | 2014-03-04 | Microsoft Corporation | Device dependent on-demand compiling and deployment of mobile applications |
US20100293499A1 (en) * | 2009-05-14 | 2010-11-18 | Microsoft Corporation | Rendering to a device desktop of an adaptive input device |
US20100299626A1 (en) * | 2009-05-20 | 2010-11-25 | Microsoft Corporation | Systems and Methods of Providing Rich User Interface and Animation to Auxiliary Display Devices |
US10209968B2 (en) * | 2009-05-29 | 2019-02-19 | Adobe Inc. | Application compiling |
US8677329B2 (en) * | 2009-06-03 | 2014-03-18 | Apple Inc. | Methods and apparatuses for a compiler server |
US9117071B2 (en) | 2009-06-03 | 2015-08-25 | Apple Inc. | Methods and apparatuses for secure compilation |
US8615750B1 (en) * | 2009-06-12 | 2013-12-24 | Adobe Systems Incorporated | Optimizing application compiling |
CA2698066A1 (en) * | 2009-07-31 | 2011-01-31 | Nitobi Software Inc. | System and method for remotely compiling multi-platform native applications for mobile devices |
US10176270B2 (en) * | 2009-12-24 | 2019-01-08 | International Business Machines Corporation | Performance of template based javascript widgets |
US20110258534A1 (en) * | 2010-04-16 | 2011-10-20 | Microsoft Corporation | Declarative definition of complex user interface state changes |
US20110271248A1 (en) * | 2010-04-29 | 2011-11-03 | Microsoft Corporation | Converting controls into source code |
WO2012027907A1 (en) * | 2010-09-03 | 2012-03-08 | Siemens Aktiengesellschaft | Method for parallelizing automatic control programs and compiler |
US8307277B2 (en) | 2010-09-10 | 2012-11-06 | Facebook, Inc. | Efficient event delegation in browser scripts |
US9026905B2 (en) * | 2010-12-17 | 2015-05-05 | Facebook, Inc. | Customization of mobile applications using web-based technology |
DE112011104795T5 (de) | 2011-01-27 | 2013-10-31 | Hewlett-Packard Development Company, L.P. | Computer-Vorrichtung zur Verbindung an eine tragbare Vorrichtung |
US9706006B2 (en) * | 2011-07-19 | 2017-07-11 | Infosys Limited | System and method of context aware adaption of content for a mobile device |
US9489184B2 (en) | 2011-12-30 | 2016-11-08 | Oracle International Corporation | Adaptive selection of programming language versions for compilation of software programs |
US8910115B2 (en) * | 2012-04-02 | 2014-12-09 | Kony Solutions, Inc. | Systems and methods for application development |
US9547533B2 (en) * | 2012-10-15 | 2017-01-17 | Optum Soft, Inc. | Efficient reliable distributed flow-controlled event propagation |
US9075833B2 (en) * | 2013-01-21 | 2015-07-07 | International Business Machines Corporation | Generating XML schema from JSON data |
US9395960B2 (en) * | 2013-02-19 | 2016-07-19 | PLUMgrid, Inc. | Method and system for data plane abstraction to enable a dynamic creation of network applications |
US9641590B2 (en) * | 2014-08-27 | 2017-05-02 | Google Inc. | Resuming session states |
US9830307B1 (en) * | 2014-12-11 | 2017-11-28 | Amazon Technologies, Inc. | Ahead of time compilation of content pages |
CA2875850C (en) | 2014-12-23 | 2022-07-05 | Steve Cooper | Version synchronization of dependent components |
EP3241310B1 (en) * | 2015-01-02 | 2019-07-31 | Systech Corporation | Control infrastructure |
US10567517B2 (en) * | 2015-06-05 | 2020-02-18 | Apple Inc. | Web resource load blocking API |
US10120661B2 (en) * | 2015-07-16 | 2018-11-06 | Sugarcrm Inc. | Multi-flavored software execution from a singular code base |
US10061629B2 (en) | 2015-07-22 | 2018-08-28 | Optumsoft, Inc. | Compact binary event log generation |
CN105068855B (zh) * | 2015-08-19 | 2021-06-18 | 北京奇虎科技有限公司 | 一种编译安卓包开发文件的方法、服务器和系统 |
US10140105B2 (en) * | 2016-03-10 | 2018-11-27 | Wowza Media Systems, LLC | Converting source code |
US10419568B2 (en) * | 2016-04-01 | 2019-09-17 | Microsoft Technology Licensing, Llc | Manipulation of browser DOM on server |
ES2822997T3 (es) * | 2016-04-07 | 2021-05-05 | Contactoffice Group | Método para satisfacer una solicitud criptográfica que requiere un valor de una clave privada |
US10977017B2 (en) * | 2016-04-23 | 2021-04-13 | International Business Machines Corporation | Warning data management for distributed application development |
US10831637B2 (en) | 2016-04-23 | 2020-11-10 | International Business Machines Corporation | Warning data management with respect to an execution phase |
US10671038B2 (en) | 2016-07-15 | 2020-06-02 | Fisher-Rosemount Systems, Inc. | Architecture-independent process control |
CN108259332B (zh) * | 2016-12-28 | 2021-04-02 | 航天信息股份有限公司 | 一种基于fsmp的报文传输的方法和系统 |
US10417036B2 (en) * | 2017-02-24 | 2019-09-17 | Oracle International Corporation | Evaluation techniques for fast access to structured, semi-structured and unstructured data using a virtual machine that provides support for dynamic code generation |
TWI648608B (zh) * | 2017-03-20 | 2019-01-21 | 台達電子工業股份有限公司 | 空調設備的遠端智能有限狀態機控制系統 |
US10817492B2 (en) * | 2017-05-05 | 2020-10-27 | Servicenow, Inc. | Application extension |
CN107193625A (zh) * | 2017-07-26 | 2017-09-22 | 郑州云海信息技术有限公司 | 一种脚本文件的处理方法及装置 |
US11360976B2 (en) | 2017-08-31 | 2022-06-14 | Oracle International Corporation | Deployment of javascript and typescript stored procedures and user-defined functions into database management systems |
EP3470103A1 (en) | 2017-10-10 | 2019-04-17 | Air Liquide Medical Systems | Elbow connector for respiratory mask with a mesh structure for venting gas expired by the patient |
US11216255B1 (en) * | 2017-12-30 | 2022-01-04 | ezbds, LLC | Open compiler system for the construction of safe and correct computational systems |
US11531947B2 (en) * | 2018-10-19 | 2022-12-20 | Oracle International Corporation | System and method for software development including column-based process editor |
CN112199219A (zh) * | 2020-11-17 | 2021-01-08 | 南开大学 | 一种跨语言作业远程调用方法 |
CN113342356B (zh) * | 2021-05-18 | 2023-03-28 | 浪潮软件股份有限公司 | 一种客户端框架运行及管理配置方法 |
US11461080B1 (en) | 2021-06-07 | 2022-10-04 | Snowflake Inc. | Inline compilation of user defined functions |
CN113703772A (zh) * | 2021-08-23 | 2021-11-26 | 北京计算机技术及应用研究所 | 基于ice的异构平台高效智能计算应用架构及其构建方法 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04243429A (ja) * | 1991-01-17 | 1992-08-31 | Nec Corp | コンパイラ |
JPH05346858A (ja) * | 1992-06-12 | 1993-12-27 | Sony Corp | プログラム編集方法 |
JPH07121379A (ja) * | 1993-10-28 | 1995-05-12 | Nec Software Ltd | 複数言語混在コンパイラ |
JPH10333917A (ja) * | 1997-05-28 | 1998-12-18 | Nec Software Ltd | 分散コンパイル方式 |
JPH11328138A (ja) * | 1998-05-20 | 1999-11-30 | Hitachi Ltd | 分散型コンピュータシステム |
JPH11353189A (ja) * | 1998-04-30 | 1999-12-24 | Fuondotto Comu Japan Kk | 手続き命令言語を使用したタグベ―スの表示言語をインプリメントするための方法及び装置 |
WO2000075777A2 (en) * | 1999-06-07 | 2000-12-14 | Microsoft Corporation | Inferring operand types within an intermediate language |
JP2002024032A (ja) * | 2000-06-21 | 2002-01-25 | Microsoft Corp | 複数言語のコンパイル方法及びシステム |
JP2002182915A (ja) * | 2000-12-19 | 2002-06-28 | Tokio Marine & Fire Insurance Co Ltd | ソース・プログラム保管方法及びシステム、ソース・プログラム復元方法及びシステム、並びにコンパイル方法及び装置 |
WO2002063471A2 (en) * | 2001-02-02 | 2002-08-15 | Opentv, Inc. | A method and apparatus for the compilation of an interpretative language for interactive television |
Family Cites Families (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4667290A (en) * | 1984-09-10 | 1987-05-19 | 501 Philon, Inc. | Compilers using a universal intermediate language |
IL100986A (en) * | 1991-02-27 | 1997-01-10 | Digital Equipment Corp | Method for compiling code |
US5812850A (en) * | 1995-11-13 | 1998-09-22 | Object Technology Licensing Corp. | Object-oriented symbolic debugger using a compiler driven database and state modeling to control program execution |
US5848274A (en) * | 1996-02-29 | 1998-12-08 | Supercede, Inc. | Incremental byte code compilation system |
US6003007A (en) * | 1996-03-28 | 1999-12-14 | Dirienzo; Andrew L. | Attachment integrated claims system and operating method therefor |
US5943424A (en) * | 1996-06-17 | 1999-08-24 | Hewlett-Packard Company | System, method and article of manufacture for processing a plurality of transactions from a single initiation point on a multichannel, extensible, flexible architecture |
US6003038A (en) * | 1997-03-31 | 1999-12-14 | Sun Microsystems, Inc. | Object-oriented processor architecture and operating method |
US6341372B1 (en) * | 1997-05-01 | 2002-01-22 | William E. Datig | Universal machine translator of arbitrary languages |
US6029000A (en) * | 1997-12-22 | 2000-02-22 | Texas Instruments Incorporated | Mobile communication system with cross compiler and cross linker |
US8006177B1 (en) * | 1998-10-16 | 2011-08-23 | Open Invention Network, Llc | Documents for commerce in trading partner networks and interface definitions based on the documents |
US6226675B1 (en) * | 1998-10-16 | 2001-05-01 | Commerce One, Inc. | Participant server which process documents for commerce in trading partner networks |
US6842894B1 (en) * | 1999-04-05 | 2005-01-11 | Gateway, Inc. | Dynamic Compiling |
US6526570B1 (en) * | 1999-04-23 | 2003-02-25 | Sun Microsystems, Inc. | File portability techniques |
US6286134B1 (en) * | 1999-04-23 | 2001-09-04 | Sun Microsystems, Inc. | Instruction selection in a multi-platform environment |
US6244545B1 (en) * | 1999-06-18 | 2001-06-12 | Lockheed Martin Corporation | Snap-on wire guide |
US6389590B1 (en) * | 1999-06-22 | 2002-05-14 | Microsoft Corporation | Indefinite-size variables within an intermediate language |
US6615235B1 (en) * | 1999-07-22 | 2003-09-02 | International Business Machines Corporation | Method and apparatus for cache coordination for multiple address spaces |
US6209124B1 (en) * | 1999-08-30 | 2001-03-27 | Touchnet Information Systems, Inc. | Method of markup language accessing of host systems and data using a constructed intermediary |
US6640244B1 (en) * | 1999-08-31 | 2003-10-28 | Accenture Llp | Request batcher in a transaction services patterns environment |
US6601234B1 (en) * | 1999-08-31 | 2003-07-29 | Accenture Llp | Attribute dictionary in a business logic services environment |
US6640238B1 (en) * | 1999-08-31 | 2003-10-28 | Accenture Llp | Activity component in a presentation services patterns environment |
US6550057B1 (en) * | 1999-08-31 | 2003-04-15 | Accenture Llp | Piecemeal retrieval in an information services patterns environment |
US6842906B1 (en) * | 1999-08-31 | 2005-01-11 | Accenture Llp | System and method for a refreshable proxy pool in a communication services patterns environment |
US6539396B1 (en) * | 1999-08-31 | 2003-03-25 | Accenture Llp | Multi-object identifier system and method for information service pattern environment |
US7246146B1 (en) * | 1999-11-18 | 2007-07-17 | International Business Machines Corporation | Legacy host system hot link modeling and navigation |
JP4042280B2 (ja) * | 1999-12-21 | 2008-02-06 | 富士ゼロックス株式会社 | 実行プログラムの生成方法及び実行プログラム生成装置、実行プログラムの実行方法、並びに、コンピュータ可読プログラム記憶媒体 |
US6643652B2 (en) * | 2000-01-14 | 2003-11-04 | Saba Software, Inc. | Method and apparatus for managing data exchange among systems in a network |
US6968503B1 (en) * | 2000-03-09 | 2005-11-22 | Quovadx, Inc. | XML user interface for a workflow server |
US6950848B1 (en) * | 2000-05-05 | 2005-09-27 | Yousefi Zadeh Homayoun | Database load balancing for multi-tier computer systems |
US6898618B1 (en) * | 2000-05-09 | 2005-05-24 | Sun Microsystems, Inc. | Client-specified display services in a distributed computing environment |
IE20010467A1 (en) * | 2000-05-16 | 2001-11-28 | Garrett O'carroll | A document processing system and method |
US6629313B1 (en) * | 2000-06-29 | 2003-09-30 | Microsoft Corporation | In-line database access statements without a pre-compiler |
US6766511B1 (en) * | 2000-07-10 | 2004-07-20 | International Business Machines Corporation | Apparatus and method for performing symbolic resolution of modules using static representations of a trace |
US6988263B1 (en) * | 2000-07-10 | 2006-01-17 | International Business Machines Corporation | Apparatus and method for cataloging symbolic data for use in performance analysis of computer programs |
US6651248B1 (en) * | 2000-09-01 | 2003-11-18 | International Business Machines Corporation | Method and apparatus for efficient interface method dispatch |
US6971084B2 (en) * | 2001-03-02 | 2005-11-29 | National Instruments Corporation | System and method for synchronizing execution of a batch of threads |
US7111282B2 (en) * | 2001-06-12 | 2006-09-19 | Hewlett-Packard Development Company, L.P. | Instrumenting a software program and collecting data from the instrumented software program by type |
US6918107B2 (en) * | 2001-07-02 | 2005-07-12 | Bea Systems, Inc. | Programming language extensions for processing data representation language objects and related applications |
US6981250B1 (en) * | 2001-07-05 | 2005-12-27 | Microsoft Corporation | System and methods for providing versioning of software components in a computer programming language |
US7117504B2 (en) * | 2001-07-10 | 2006-10-03 | Microsoft Corporation | Application program interface that enables communication for a network software platform |
US7165239B2 (en) * | 2001-07-10 | 2007-01-16 | Microsoft Corporation | Application program interface for network software platform |
US7093243B2 (en) * | 2002-10-09 | 2006-08-15 | International Business Machines Corporation | Software mechanism for efficient compiling and loading of java server pages (JSPs) |
AU2003295762A1 (en) * | 2002-11-19 | 2004-06-15 | Nexaweb Technologies, Inc. | System and method for stateful web-based computing |
US7614052B2 (en) * | 2004-01-09 | 2009-11-03 | Nexaweb Technologies Inc. | System and method for developing and deploying computer applications over a network |
-
2004
- 2004-01-09 US US10/754,782 patent/US7707563B2/en not_active Expired - Fee Related
- 2004-01-09 WO PCT/US2004/000720 patent/WO2004063900A2/en active Application Filing
- 2004-01-09 JP JP2006500912A patent/JP2007524875A/ja active Pending
- 2004-01-09 EP EP04701281A patent/EP1588230A4/en not_active Withdrawn
-
2008
- 2008-09-12 US US12/209,826 patent/US20090007160A1/en not_active Abandoned
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH04243429A (ja) * | 1991-01-17 | 1992-08-31 | Nec Corp | コンパイラ |
JPH05346858A (ja) * | 1992-06-12 | 1993-12-27 | Sony Corp | プログラム編集方法 |
JPH07121379A (ja) * | 1993-10-28 | 1995-05-12 | Nec Software Ltd | 複数言語混在コンパイラ |
JPH10333917A (ja) * | 1997-05-28 | 1998-12-18 | Nec Software Ltd | 分散コンパイル方式 |
JPH11353189A (ja) * | 1998-04-30 | 1999-12-24 | Fuondotto Comu Japan Kk | 手続き命令言語を使用したタグベ―スの表示言語をインプリメントするための方法及び装置 |
JPH11328138A (ja) * | 1998-05-20 | 1999-11-30 | Hitachi Ltd | 分散型コンピュータシステム |
WO2000075777A2 (en) * | 1999-06-07 | 2000-12-14 | Microsoft Corporation | Inferring operand types within an intermediate language |
JP2002024032A (ja) * | 2000-06-21 | 2002-01-25 | Microsoft Corp | 複数言語のコンパイル方法及びシステム |
JP2002182915A (ja) * | 2000-12-19 | 2002-06-28 | Tokio Marine & Fire Insurance Co Ltd | ソース・プログラム保管方法及びシステム、ソース・プログラム復元方法及びシステム、並びにコンパイル方法及び装置 |
WO2002063471A2 (en) * | 2001-02-02 | 2002-08-15 | Opentv, Inc. | A method and apparatus for the compilation of an interpretative language for interactive television |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009512032A (ja) * | 2005-10-14 | 2009-03-19 | リサーチ イン モーション リミテッド | 図形表示言語およびネイティブuiオブジェクトを用いる表示 |
JP2013101655A (ja) * | 2006-07-12 | 2013-05-23 | Qualcomm Inc | Sigcompudvmパフォーマンスの最適化のための方法および装置 |
JP2011501325A (ja) * | 2007-10-26 | 2011-01-06 | クゥアルコム・インコーポレイテッド | サーバ−ベースのコードコンパイル |
KR101907422B1 (ko) | 2012-02-10 | 2018-10-12 | 한국전자통신연구원 | 네트워크 애플리케이션 통합 개발장치, 그 통합 개발방법 및 그것을 이용하는 서버 |
US9075913B2 (en) | 2012-02-27 | 2015-07-07 | Qualcomm Incorporated | Validation of applications for graphics processing unit |
Also Published As
Publication number | Publication date |
---|---|
US20040143823A1 (en) | 2004-07-22 |
WO2004063900A3 (en) | 2007-05-31 |
US7707563B2 (en) | 2010-04-27 |
US20090007160A1 (en) | 2009-01-01 |
WO2004063900A2 (en) | 2004-07-29 |
EP1588230A2 (en) | 2005-10-26 |
EP1588230A4 (en) | 2008-05-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7707563B2 (en) | System and method for network-based computing | |
US10839141B2 (en) | System and method for provisioning a mobile software application to a mobile device | |
US7321918B2 (en) | Server-side control objects for processing client-side user interface elements | |
US7917888B2 (en) | System and method for building multi-modal and multi-channel applications | |
US8578333B2 (en) | Method and system for client-side user interface enhancement to enable application integration and portalisation | |
US8832181B2 (en) | Development and deployment of mobile and desktop applications within a flexible markup-based distributed architecture | |
US20060031833A1 (en) | Methods and apparatus for a web application processing system | |
WO2005074490A2 (en) | System and method for developing and deploying computer applications over a network | |
US20040268249A1 (en) | Document transformation | |
CN101876998B (zh) | 一种实现数据编辑的方法和系统 | |
US20060041890A1 (en) | Portal runtime framework | |
WO2005114389A1 (en) | Portal runtime framework | |
Moroney | Beginning Web Development, Silverlight, and ASP. NET AJAX: From Novice to Professional | |
Cut-Hennies et al. | Department of MSc. IT Project Report Computer 2002 Science |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20090710 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20100224 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100517 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100524 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20100621 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20100628 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20101007 |