JP2008502176A - 制約あるシステムリソースを有するデバイス上でアプリケーション出力を表示する方法およびシステム - Google Patents

制約あるシステムリソースを有するデバイス上でアプリケーション出力を表示する方法およびシステム Download PDF

Info

Publication number
JP2008502176A
JP2008502176A JP2007513436A JP2007513436A JP2008502176A JP 2008502176 A JP2008502176 A JP 2008502176A JP 2007513436 A JP2007513436 A JP 2007513436A JP 2007513436 A JP2007513436 A JP 2007513436A JP 2008502176 A JP2008502176 A JP 2008502176A
Authority
JP
Japan
Prior art keywords
application
server
protocol
screen
proxy server
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
Application number
JP2007513436A
Other languages
English (en)
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 JP2008502176A publication Critical patent/JP2008502176A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • G06F11/1616Error detection by comparing the output signals of redundant hardware where the redundant component is an I/O device or an adapter therefor
    • G06F11/162Displays
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/12Digital output to print unit, e.g. line printer, chain printer
    • G06F3/1201Dedicated interfaces to print systems
    • G06F3/1223Dedicated interfaces to print systems specifically adapted to use a particular technique
    • G06F3/1224Client or server resources management

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • Computer Hardware Design (AREA)
  • Library & Information Science (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

サーバ上で実行するアプリケーションプログラムによって生成された出力を、ユーザデバイスに表示されるシステムは、アプリケーションプログラムを実行するアプリケーションサーバを含む。プロキシサーバは、アプリケーションプログラムによって形成されたグラフィカルディスプレイ出力のスクリーンを表わすデータをアプリケーションサーバから受信する。ユーザデバイスは、クライアントアプリケーションを実行する。クライアントアプリケーションは、アプリケーションプログラムによって生成されたグラフィカルディスプレイ出力のスクリーンを表現する静的イメージデータをプロキシサーバから受信する。

Description

本発明は、一般的に、サーバデバイス上で実行するアプリケーションプログラムの出力をクライアントデバイスに表示することに関する。より特定的には、制約あるシステムリソースを有するデバイス上でアプリケーションプログラムの出力を表示する技術および装置に関する。
ネットワーク化されたリソースにリモートアクセスを提供する技術は、様々なクライアント/サーバソフトウェアの組み合わせを含む。こうした組み合わせの一つは、「シンクライアント(thin−client)」または「分散型アプリケーション処理」システムと、称されることが多い。これらシステムにおいて、アプリケーションプログラムは、サーバコンピュータデバイスによって実行される。このデバイスは、「シンクライアント」または「シンクライアントアプリケーション」と通常称される1つ以上のクライアントコンピュータデバイスを代表して、「アプリケーションサーバ」と、通常称される。シンクライアントでユーザから受信されたアプリケーションへの入力、および、アプリケーションサーバで実行するアプリケーションによって生成された出力のみが、シンクライアントとアプリケーションサーバとの間で送信される。シンクライアントのコンピュータアーキテクチャは、アプリケーションおよび他のシステムリソースにリモート接続を提供するために、よく使われているインプリメンテーションである。このようなシステムの例には、Intelligent Computing Architecture (ICA)クライアントと組み合わせるCitrix MetaFrame Presentation Serverソフトウェア(フロリダ州Fort LauderdaleのCitrix Systems,Inc.から市販)、X Windows(登録商標)クライアントと組み合わせるXサーバ(X Consortiumから市販)、Remote Display Protocol(RDP)クライアントと組み合わせるMicrosoft Windows(登録商標) NT Server 4.0 Terminal Server Edition(ワシントン州RedmondのMicrosoft Corporationから市販)が含まれる。
シンクライアントコンピュータアーキテクチャ内のクライアントは、アプリケーションプログラムを実行しないため、かつ、ユーザ入力をアプリケーションサーバに送信するのみで、そのアプリケーションサーバ上で実行されるアプリケーションの出力を表示するのみであるため、クライアントデバイスは、ユーザが気付くような性能低下をともなわずに、限られたメモリ量、より遅い通信サブシステム、限られたシステムリソースを提供し得る。パソコン、ワークステーション、あるいは、他のコンピュータデバイスは、典型的には、豊富なシステムリソースを提供する。これは、シンクライアントのアプリケーションを実行し、アプリケーションサーバと通信するためである。
しかしながら、リモート接続を必要とする多くのユーザは、携帯電話および携帯情報端末のようなシンクライアントとして機能するのに十分なメモリ、ネットワークリソース、あるいは、適切なオペレーティングシステム環境を提供しないコンピュータデバイスを、シンクライアントとして使用している。例えば、現行の携帯電話の多くは、1メガバイト未満のランダムアクセスメモリーを備えるが、これは、シンクライアントのアプリケーション実行には一般に十分でない。さらに、内蔵システムにとって、アプリケーション出力用のアプリケーションサーバにアクセスすることは、しばしば、有用である。典型的には、これらシステムも、また、メモリのようなリソースに制約がある。
メモリ制限があるように、システムリソースに制約のあるクライアントデバイスが、アプリケーションサーバ上で実行するアプリケーションプログラムと、相互作用するシステムを所有することは、有益なことである。
(発明の概要)
本発明は、ローエンド(low−end)クライアントデバイス(例えば、携帯電話、携帯情報端末、内蔵システム)が、アプリケーションサーバ上で実行するアプリケーションプログラムと相互作用して、アプリケーションが、様々な位置からのリモートアクセスを可能とする。
一局面において、本発明は、サーバ上で実行するアプリケーションプログラムによって生成された出力を、ユーザデバイスに表示するシステムに関する。本システムは、アプリケーションプログラムを実行するアプリケーションサーバを含む。プロキシサーバは、アプリケーションサーバから、アプリケーションプログラムによって生成されたグラフィカルディスプレイ出力のスクリーンを表わすデータを受信する。ユーザデバイスは、プロキシサーバから静的イメージデータを受信するクライアントアプリケーションを実行する。静的イメージデータは、アプリケーションプログラムによって生成されたグラフィカルディスプレイ出力のスクリーンを表わす。
別の局面において、本発明は、サーバ上で実行するアプリケーションプログラムによって生成された出力を、ユーザデバイスに表示する方法に関する。アプリケーションサーバは、グラフィカルユーザインターフェースデータのスクリーンを生成するアプリケーションを実行し、生成されたグラフィカルユーザインターフェースデータのスクリーンを、プロキシサーバに送信する。プロキシサーバは、生成されたグラフィカルユーザインターフェースデータのスクリーンの少なくとも一部を表わす静的イメージデータを、ユーザデバイスに送信する。ユーザデバイスは、送信された静的イメージデータを表示する。
さらに別の局面において、本発明は、サーバ上で実行するアプリケーションプログラムによって生成された出力を、ユーザデバイスに表示する装置に関する。本装置は、アプリケーションサーバから、アプリケーションサーバ上で実行するアプリケーションによって生成されたグラフィカルディスプレイ出力のスクリーンを表わすデータを、第一のプロトコル形式で受信する第一のプロトコルハンドラを含む。本装置は、また、第一のプロトコルハンドラによって受信されたグラフィカルディスプレイ出力のスクリーンの少なくとも一部を表わす静的イメージデータを、表示用クライアントアプリケーションに、第二のプロトコル形式で送信する第二のプロトコルハンドラを含む。
また別の局面において、本発明は、サーバ上で実行するアプリケーションプログラムによって生成されたグラフィカルディスプレイ出力を、ユーザデバイスに表示する方法に関する。静的イメージデータは、アプリケーションサーバから、第一のプロトコル形式を介して受信され、アプリケーションサーバ上で実行するアプリケーションによって生成されたグラフィカルディスプレイ出力のスクリーンを表わす。静的イメージデータは、ディスプレイ用クライアントアプリケーションに、第二のプロトコルを介して送信される。この静的イメージデータは、アプリケーションサーバ上で実行するアプリケーションによって生成されたグラフィカルディスプレイ出力のスクリーンの少なくとも一部を表わす。
さらにまた別の局面において、本発明は、サーバ上で実行するアプリケーションプログラムによって生成された出力を、ユーザデバイスに表示するシステムに関する。本システムは、アプリケーションプログラムを実行するアプリケーションサーバを含む。本システムは、また、アプリケーションサーバから、プレゼンテーションレベルのプロトコルを介して、アプリケーションプログラムによって生成されたグラフィカルディスプレイ出力のスクリーンを表わすデータを受信するプロキシサーバも含む。本システムは、さらに、クライアントアプリケーションを実行するユーザデバイスを含み、このクライアントアプリケーションは、プロキシサーバから、アプリケーションプログラムによって生成されたグラフィカルディスプレイ出力のスクリーンを表わす静的イメージデータを、HyperText Transfer Protocol(HTTP)コマンドを介して受信する。
別の局面において、本発明は、サーバ上で実行するアプリケーションプログラムによって生成される出力を、ユーザデバイスに表示する方法に関する。アプリケーションサーバは、グラフィカルユーザインターフェースデータのスクリーンを生成するアプリケーションを実行する。アプリケーションサーバは、生成されたグラフィカルユーザインターフェースデータのスクリーンを、プレゼンテーションレベルのプロトコルを介して、プロキシサーバに送信する。プロキシサーバは、生成されたグラフィカルユーザインターフェースデータのスクリーンの少なくとも一部を表わす静的イメージを、HyperText Transfer Protocol(HTTP)コマンドを介して、ユーザデバイスに送信する。ユーザデバイスによって、この送信された静的イメージデータを表示する。
さらなる局面において、本発明は、サーバ上で実行するアプリケーションプログラムによって生成される出力を、ユーザデバイスに表示するコンピュータ読み出し可能なプログラムを具体化した製品の品目に関する。この製品の品目には、サーバ上で実行するアプリケーションによって生成されたグラフィカルユーザデータインターフェースのスクリーンを、プロキシサーバに送信するコンピュータ読み出し可能なプログラム手段と、生成されたグラフィカルユーザデータインターフェースのスクリーンの少なくとも一部を表わす静的イメージデータを、プロキシサーバを介して、ユーザデバイスに通信するコンピュータ読み出し可能なプログラム手段と、送信された静的イメージデータを、ユーザデバイスによって、表示するコンピュータ読み出し可能なプログラム手段とが、含まれる。
さらに別の局面において、本発明は、サーバ上で実行するアプリケーションプログラムによって生成されるグラフィカルディスプレイ出力を、ユーザデバイスに表示するコンピュータ読み出し可能なプログラムを具体化した製品の品目に関する。この製品の品目には、アプリケーションサーバから、第一のプロトコルを介して、アプリケーションサーバ上で実行するアプリケーションによって形成されたグラフィカルディスプレイ出力のスクリーンを表わすデータを受信するコンピュータ読み出し可能なプログラム手段と、第二のプロトコルを介して、アプリケーションサーバ上で実行するアプリケーションによって生成されたグラフィカルディスプレイ出力のスクリーンの少なくとも一部を表わす静的イメージデータを、ディスプレイ用クライアントアプリケーションに通信するコンピュータ読み出し可能なプログラム手段とが、含まれる。
本発明のこれらおよび他の局面が、以下の詳細な記述と添付図面から容易に明らかになる。添付図面は、本発明を説明することを意図し、本発明を限定することを意図していない。
(詳細な説明)
図1を参照すると、システムリソース制約を有するクライアントデバイスにアプリケーション出力を提供するシステム100は、アプリケーションサーバ110と、プロキシサーバ150と、クライアント140とを含む。図1に示す実施形態において、1つのみのアプリケーションサーバ110と、プロキシサーバ150と、クライアント140としか描かれていないが、これらコンポーネントの任意または各々は複数個を備え得る。例えば、一実施形態において、システム100は、複数の論理グループ化されたアプリケーションサーバ110を備え、そのそれぞれは、クライアント140を代表して、アプリケーションを実行するために利用可能である。これらの実施形態において、サーバの論理グループは、「サーバファーム(server farm)」と称され得る。他の実施形態において、複数のプロキシサーバ150が備えられ得る。これら実施形態の一部において、プロキシサーバは、地理的に分散され得る。
アプリケーションサーバ110は、クライアント140を代表して、1つ以上のプログラム122、124、126、128を実行する。アプリケーションプログラムは、データを処理して、出力を提供することと、オペレーティングシステムを用いて、システムリソースにアクセスすることとを行う任意のプログラムである。例示的なアプリケーションプログラムには、MICROSOFT WORD(ワシントン州RedmondのMicrosoft Corporation製)のような言語処理アプリケーション、MICROSOFT EXCEL(Microsoft Corporation製)のような表計算プログラム、MICROSOFT OUTLOOK(Microsoft Corporation製)およびGROUPWISE(ユタ州ProvoのNovell Corp.製)のような電子メールプログラム、STAR OFFICE(カリフォルニア州Mountain ViewのSun Microsystems製)のような生産性一式(productivity suites)を含む。
アプリケーションサーバ110は、第一のネットワーク125を介して、プロキシサーバ150と通信する。第一のネットワーク125は、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、あるいは、インターネットのような広域ネットワーク(WAN)であり得る。アプリケーションサーバ110およびプロキシサーバ150は、標準の電話回線、LANまたはWANリンク(例えば、T1、T3、56kb、X.25)、広帯域接続(ISDN、Frame Relay、ATM)および無線接続を含む様々な接続を介して、第一のネットワーク125に接続し得る。アプリケーションサーバ110とプロキシサーバ150との間の接続は、様々なデータリンク層通信プロトコル(例えば、TCP/IP、IPX、SPX、NetBIOS、NetBEUI、SMB、Ethernet(登録商標)、ARCNET、Fiber Distributed Data Interface(FDDI)、RS232、IEEE 802.11、IEEE 802.11a、IEEE 802.11b、IEEE 802.11gおよび直接非同期接続)を使用し得る。
プロキシサーバ150は、Remote Display Protocolクライアント(Microsoft Corporation製)、または、ICAクライアント(フロリダ州Fort LauderdaleのCitrix Systems,Inc.製)のような1つ以上のシンクライアントアプリケーション152、154を実行する。アプリケーションサーバ110は、アプリケーションプログラム122、124、126、128の出力を、プロキシサーバ150上で実行するシンクライアントアプリケーション152、154に通信し、アプリケーションプログラム122、124、126、128に向けられたユーザ入力を、シンクライアントアプリケーション152、154から受信する。アプリケーションサーバ110は、Independent Computing Architecture(ICA)プロトコル(フロリダ州Fort LauderdaleのCitrix Systems,Inc.から市販)、または、Remote Display Protocol(RDP)(Microsoft Corporationから市販)のようなプレゼンテーション層プロトコルを使用して、ネットワーク125を介して、シンクライアントアプリケーション152、154と、通信する。図1に示す実施形態において、2つのシンクライアントアプリケーションのみしか描かれていないが、プロキシサーバ150は、任意の数のシンクライアントアプリケーション152、154をホストし得る。
また、プロキシサーバ150は、プロキシサーバアプリケーション158を実行する。プロキシサーバアプリケーション158は、アプリケーションプログラム、サブシステムまたはサービスであり得る。プロキシサーバアプリケーション158は、プロキシサーバ150によってホストされるシンクライアントアプリケーション152、154を管理する。プロキシサーバアプリケーションは、また、シンクライアントアプリケーション152、154によって受信されたアプリケーション出力を、クライアントデバイス140に送信し、クライアントデバイス140から受信されたユーザ入力を、プロキシサーバ150上で実行する適切なシンクライアントアプリケーション152、154に送信する。
プロキシサーバ150上で実行するプロキシサーバアプリケーション158は、第二のネットワーク175を介して、クライアント140と通信する。クライアント140が内蔵システムである実施形態において、クライアント140とプロキシサーバ150とは、標準の電話回線、LANまたはWANリンク(例えば、T1、T3、56kb、X.25)、広帯域接続(ISDN、Frame Relay、ATM)および無線接続を含む様々な接続を介して、第二のネットワーク175と接続し得る。クライアント140とプロキシサーバ150との間の接続は、様々なデータリンク層通信プロトコル(例えば、TCP/IP、IPX、SPX、NetBIOS、NetBEUI、SMB、Ethernet(登録商標)、ARCNET、Fiber Distributed Data Interface(FDDI)、RS232、IEEE 802.11、IEEE 802.11a、IEEE 802.11b、IEEE 802.11gおよび直接非同期接続)を使用し得る。
他の実施形態において、クライアントデバイス140は、携帯電話または携帯情報端末のような移動体デバイスである。これらの実施形態において、クライアント140とプロキシサーバアプリケーション158とは、W−CDMAのようなGSMまたはCDMAファミリからなる多数の周知のプロトコルの任意の一つを用いて、第二のネットワークと接続する。これらプロトコルは、商業無線通信サービスおよびW−CDMAをサポートし、特に、NTT DoCoMoによって提供されるi−ModeおよびmModeサービスをサポートする基底プロトコルである。
クライアントデバイス140は、クライアントアプリケーション146を実行する。クライアントアプリケーションは、httpまたはhttps要求を、プロキシサーバアプリケーション158へ送信し、プロキシサーバアプリケーション158から受信する。クライアントアプリケーション148は、実行するアプリケーションプログラム122、124、126、128に向けられたユーザ入力を、プロキシサーバアプリケーション158に、第二のネットワーク175を介して送信する。それは、また、アプリケーションサーバ110上で実行するアプリケーションプログラム122、124、126、128の出力に対応するクライアントデバイスのスクリーン上に、グラフィカル出力を与える役割も担っている。
多くの実施形態において、アプリケーションサーバ110およびプロキシサーバ150は、カリフォルニア州Palo AltoのHewlett−Packard Corporationまたはテキサス州Round RockのDell Corporationによって製造されたもののようなパーソナルコンピュータまたはコンピュータサーバとして、提供される。クライアントデバイス140が内蔵システムである実施形態において、クライアントデバイス140もまた、パーソナルコンピュータとしても、また提供され得る。図2Aおよび図2Bは、これらの実施形態において、アプリケーションサーバ110、、プロキシサーバ150、または、クライアントデバイスとして有用な典型的なコンピュータ200のブロック図を示す。図2Aおよび図2Bに示すように、各コンピュータは、中央演算処理装置202、および主記憶装置204を含む。各コンピュータ200は、また、1つ以上の入出力デバイス230a〜230n(一般に、参照番号230で示す)、および、中央演算処理装置202と通信するキャッシュメモリ240のような他のオプション要素も含み得る。
中央演算処理装置202は、主記憶装置204から取り出された命令に応答し、処理する任意の論理回路網である。多数の実施形態において、中央演算処理装置は、マイクロプロセッサユニットによって提供される。例えば、8088、80286、80386、80486、Pentium(登録商標)、Pentium(登録商標) Pro、Pentium(登録商標) II、CeleronまたはXeonプロセッサ(いずれもカリフォルニア州Mountain ViewのIntel Corporation製)、68000、68010、68020、68030、68040、PowerPC601、PowerPC604、PowerPC604e、MPC603e、MPC603ei、MPC603ev、MPC603r、MPC603p、MPC740、MPC745、MPC750、MPC755、MPC7400、MPC7410、MPC7441、MPC7445、MPC7447、MPC7450、MPC7451、MPC7455、MPC7457プロセッサ(いずれもイリノイ州SchaumburgのMotorola Corporation製)、Crusoe TM5800、Crusoe TM5600、Crusoe TM5500、Crusoe TM5400、Efficeon TM8600、Efficeon TM8300またはEfficeon TM8620プロセッサ(カリフォルニア州Santa ClaraのTransmeta Corporation製)、RS/6000プロセッサ、RS64、RS64 II、P2SC、POWER3、RS64 III、POWER3−11、RS64 IV、POWER4、POWER4+、POWER5またはPOWER6プロセッサ(いずれもニューヨーク州White PlainsのInternational Business Machines製)、あるいは、AMD Opteron、AMD Athalon 64FX、AMD AthalonまたはAMD Duronプロセッサ(カリフォルニア州SunnyvaleのAdvanced Micro Devices製)である。
主記憶装置204は、データを格納可能で、マイクロプロセッサ202によって直接アクセスされる任意のストレージロケーションが可能な1つ以上のメモリチップであり得る。例えば、スタティックランダムアクセスメモリ(SRAM)、Burst SRAMまたはSynchBurst SRAM(BSRAM)、ダイナミックランダムアクセスメモリ(DRAM)、Fast Page Mode DRAM(FPM DRAM)、Enhanced DRAM(EDRAM)、Extended Data Output RAM(EDO RAM)、Extended Data Output DRAM(EDO DRAM)、Burst Extended Data Output DRAM(BEDO DRAM)、Enhanced DRAM(EDRAM)、シンクロナスDRAM (SDRAM)、JEDEC SRAM、PC100 SDRAM、Double Data Rate SDRAM(DDR SDRAM)、Enhanced SDRAM(ESDRAM)、SyncLink DRAM(SLDRAM)、Direct Rambus DRAM(DRDRAM)、あるいは、強誘電体RAM(FRAM)である。
図2Aに示す実施形態において、プロセッサ202は、システムバス220(詳細は後述)を介して、主記憶装置204と通信する。図2Bは、コンピュータシステム200の実施形態を示す。ここでは、プロセッサは、メモリポートを介して、主記憶装置204と直接通信する。例えば、図2Bにおいて、主記憶装置204は、DRDRAMであり得る。
図2Aおよび図2Bは、主記憶装置202が、二次バス(ときどき、「バックサイド」バスと称される)を介して、キャッシュメモリ240と直接通信する実施形態を示す。他の実施形態において、主記憶装置202は、システムバス220を用いて、キャッシュメモリ240と通信する。キャッシュメモリ240は、典型的には、主記憶装置204より応答速度が速く、典型的には、SRAM、BSRAMまたはEDRAMによって提供される。
図2Aに示す実施形態において、プロセッサ202は、様々な入出力デバイス230と、ローカルシステムバス220を介して、通信する。様々なバスは、中央演算処理装置202を入出力デバイス230に接続するために使用され得る。これらバスには、VESA VLバス、ISAバス、EISAバス、MicroChannel Architecture(MCA)バス、PCIバス、PCI−Xバス、PCI−Expressバス、またはNuBusを含む。入出力デバイスがビデオディスプレイである実施形態において、プロセッサ202は、このディスプレイと通信するために、Advanced Graphics Port(AGP)を使用し得る。図2Bは、コンピュータシステム200の実施形態を示す。ここでは、主記憶装置202は、入出力デバイス230bと、HyperTransport、Rapid I/OまたはInfiniBandを介して、直接通信している。図2Bは、また、ローカルバスと直接通信の混合された実施形態を示す。すなわち、プロセッサ202は、ローカル相互接続バスを使用して、入出力デバイス230aと通信し、その一方、入出力デバイス230bと直接通信する。
幅広い多様な入出力デバイス230が、コンピュータシステム200内で使用され得る。入力デバイスは、キーボード、マウス、トラックパッド、トラックボール、マイク、および、ドローイングタブレットを含む。出力デバイスは、ビデオディスプレイ、スピーカ、インクジェットプリンタ、レーザプリンタ、および、昇華型プリンタを含む。入出力デバイスには、コンピュータシステム200用の大容量ストレージを提供し得る。例えば、ハードディスクドライブ、3.5インチ、5.25インチディスクまたはZIPディスクのようなフロッピディスクを受け入れるフロッピディスクドライブ、CD−ROMドライブ、CD−R/RWドライブ、DVD−ROMドライブ、様々な形式のテープドライブ、および、USB Flash DriveラインのようなUSBストレージデバイス(カリフォルニア州Los AlamitosのTwintech Industry,Inc.製)である。
さらなる実施形態において、入出力デバイス230は、システムバス220と外部通信バスとの間のブリッジになり得る。外部通信バスは、例えば、USBバス、Apple Desktop Bus、RS−232シリアル接続、SCSIバス、FireWireバス、FireWire 800バス、Ethernet(登録商標)バス、AppleTalk busバス、Gigabit Ethernet(登録商標)バス、Asynchronous Transfer Mode バス、HIPPIバス、Super HIPPIバス、SerialPlusバス、SCI/LAMPバス、FibreChannelバス、または、Serial Attached 小型コンピュータシステムインターフェースバスである。
図2Aおよび図2Bに示すような汎用デスクトップコンピュータは、典型的には、オペレーティングシステムの制御下で動作し、このオペレーティングシステムが、タスクのスケジューリングおよびシステムリソースへのアクセスを管理する。典型的なオペレーティングシステムには、MICROSOFT WINDOWS(登録商標)(ワシントン州RedmondのMicrosoft Corp.製)、MacOS(カリフォルニア州CupertinoのApple Computer製)、OS/2(ニューヨーク州ArmonkのInternational Business Machines製)、および、Linux(ユタ州Salt Lake CityのCaldera Corp.より無料で頒布されているオペレーティングシステム)がある。
クライアントデバイス140が、移動体デバイスである実施形態において、クライアントデバイスは、JAVA(登録商標)対応の携帯電話であり得る。例えば、i50sx、i55sr、i58sr、i85s、i88s、i90c、i95c1またはim11000(いずれもイリノイ州SchaumburgのMotorola Corp.製)、6035または7135(日本国京都府の京セラ製)、あるいは、i300またはi330(韓国ソウルのSamsung Electronics Co.,Ltd.製)である。クライアントデバイス140が移動体である他の実施形態において、クライアントデバイスは、PalmOSのオペレーティングシステムの制御下で動作する携帯情報端末(PDA)であり得る。例えば、Tungsten W、VII、VIIx、i705(いずれもカリフォルニア州MilpitasのpalmOne,Inc.製)である。さらなる実施形態において、クライアントデバイス140は、PocketPCオペレーティングシステムの制御下で動作する携帯情報端末(PDA)であり得る。例えば、iPAQ 4155、iPAQ 5555、iPAQ 1945、iPAQ 2215およびiPAQ 4255(いずれもカリフォルニア州Palo AltoのHewlett−Packard Corporation製)、ViewSonic V36(カリフォルニア州WalnutのViewSonic製)、あるいは、Toshiba PocketPC e405(ニューヨーク州New YorkのToshiba America,Inc.製)である。さらなる他の実施形態において、クライアントデバイスは、PDA/携帯電話の組み合わせであり得る。例えば、Treo 180、Treo 270またはTreo 600(いずれもカリフォルニア州MilpitasのpalmOne,Inc.製)である。またさらなる実施形態において、クライアントデバイス140は、PocketPCオペレーティングシステムの制御下で動作する携帯電話である。例えば、MPx200(Motorola Corp.製)である。
図3は、図1〜図2Bで記載されたばかりのシステムの動作を示す。クライアントアプリケーション146は、自身の代理として、アプリケーションプログラム122、124、126、128を実行するようにという要求を、プロキシサーバアプリケーション158に送信する(ステップ302)。一部の実施形態において、クライアントアプリケーション146によって送信されるhttp要求には、ユーザが実行されるべきと欲するアプリケーションの名前が含まれる。他の実施形態において、要求は、ユーザが機能したいと欲するファイルを同定し得る。これらの実施形態において、要求には、ファイルタイプが含まれ、プロキシサーバアプリケーション158は、ファイルを処理可能な1つ以上のアプリケーションプログラムを同定する。例えば、プロキシサーバアプリケーション158は、使用するアプリケーションプログラムを、テーブルマッピングファイルタイプから、それらのファイルに関連する特定のアプリケーションプログラムまで参照し得る。さらなる実施形態において、クライアントアプリケーション146によって送信されたhttp要求は、このアプリケーションプログラム122、124、126、128が実行されるべき特定の公開デスクトップまたは特定のサーバ100を、特定的に同定する。
プロキシサーバアプリケーション158は、シンクライアントアプリケーション152、154を呼び出し(ステップ322)、要求されたプログラムのアイデンティティを有するシンクライアントアプリケーション152、154を提供する。シンクライアントアプリケーション152、154は、業界でよく知られた方法で動作する。しかし、シンクライアントアプリケーション152、154が、シンクライアントがアプリケーション出力を書き込むメモリのブロックを脇に置く点で異なる(ステップ342)。言い換えれば、シンクライアントアプリケーション152、154は、業界で通常行われるようにビジュアルディスプレイにではなく、むしろ、メモリ内に維持される仮想スクリーンに、アプリケーション出力を書き込む。しかしながら、一部の実施形態において、シンクライアントアプリケーション152、154は、仮想スクリーンと従来のディスプレイスクリーンとの双方に書き込む。
シンクライアントアプリケーション152、154は、サーバ110に、アプリケーションプログラム122、124、126、128の実行を開始するようにという要求を送信する(ステップ344)。一部の実施形態において、シンクライアントアプリケーション152、154は、サーバファーム内の1つのサーバに要求を送信する。このサーバは、要求されたアプリケーションプログラム122、124、126、128をホストするサーバ110のアドレスを有するシンクライアントアプリケーション152、154に応答する。他の実施形態において、シンクライアントアプリケーション152、154は、サービスアクセスポイントに要求を送信する。このサービスアクセスポイントは、クライアントアプリケーション146に、適切なアプリケーションサーバ110と接続するために必要な情報を提供するクライアントデバイス140にドキュメントを返却する。これら実施形態の全てにおいて、シンクライアントアプリケーション152、154は、同定されたサーバ110との接続で開始する。
他の実施形態において、シンクライアントアプリケーション152、154は、アプリケーション要求をアプリケーションサーバ110に送信した(ステップ344)後、仮想スクリーンメモリエリアを設定する(ステップ342)。さらに別の実施形態において、これらのアクションは、実質的に同時に起こる。
サーバ110は、要求されたアプリケーションプログラム122、124、126、128を実行によって開始し(ステップ382)、シンクライアントプレゼンテーションプロトコルを用いて、第一のネットワーク125を介して、グラフィカルアプリケーション出力を送信する(384)。シンクライアントアプリケーション152、154への送信用プレゼンテーションレベルのプロトコルパケットを形成するために、アプリケーションサーバ110によって取られるステップの様々な実施形態は、米国特許第6,141,737号、第6,118,899号、第6,081,623号、第6,057,857号および第6,016,535号に記載されており、これら特許の内容全体は、本明細書において参考として援用される。
シンクライアントアプリケーション152、154は、アプリケーションサーバ110から受信した表示プロトコルパケットをデコードし、プレゼンテーションプロトコルパケットによって表示されたグラフィカルアプリケーション出力を、仮想スクリーンメモリに書き込む(ステップ346)。多くの実施形態において、仮想スクリーンメモリは、スクリーンバッファである。すなわち、仮想スクリーンメモリエリアは、グラフィカル出力のビジュアルディスプレイを形成するために必要とされるデータのビットマップ表現を格納する。
図3に示す実施形態において、クライアントアプリケーション146は、プロキシサーバアプリケーションに、グラフィカルアプリケーション出力の現在状態を表わす静的イメージに対する要求を送信する(ステップ304)。クライアントアプリケーションは、グラフィカルアプリケーション出力の現在状態を、毎1分、毎30秒、毎15秒、毎10秒、毎5秒、毎2秒、毎秒1回、毎秒2回、毎秒5回、毎秒10回、毎秒20回または毎秒30回要求し得る。他の実施形態において、プロキシサーバアプリケーション158は、グラフィカルアプリケーション出力の現在状態を表わす静的イメージを、クライアントアプリケーション146に定期的に送信する。これらの他の実施形態において、プロキシサーバアプリケーション158は、クライアントアプリケーション146に、毎分、毎30秒、毎15秒、毎10秒、毎5秒、毎2秒、毎秒1回、毎秒2回、毎秒5回、毎秒10回、毎秒20回または毎秒30回、更新を送信し得る。代替的に、プロキシサーバアプリケーション158は、仮想スクリーンメモリエリアの所定の割合が状態を変化したと、プロキシサーバアプリケーション158が判断したとき、あるいは、グラフィカルアプリケーション出力の現在状態に対する要求が、プロキシサーバアプリケーションによって受信されたとき、クライアントアプリケーション146に、更新を送信し得る。
図3に戻ると、プロキシサーバアプリケーション158は、送信された要求を受信し(ステップ324)、入力として、適切なシンクライアントアプリケーション152、154の仮想スクリーンメモリを使用して、静的イメージファイルを生成する(ステップ326)。一部の実施形態において、クライアントアプリケーション146は、例えば、「クッキー」内に、そのプロキシサーバアプリケーション158との接続状態を格納する。これら実施形態において、送信された要求(ステップ324)は、セッション識別子を含み得る。このセッション識別子は、プロキシサーバアプリケーション158が、静的イメージファイルを生成するために、仮想スクリーンメモリから選択するために使用する。さらなる実施形態において、この要求には、クライアントデバイス140と関連するユニークな識別子が含まれる。例えば、クライアントデバイス140が携帯電話である実施形態において、ユニークな識別子は、携帯電話と関連する電話番号であり得る。
他の実施形態において、クライアントアプリケーション146は、そのプロキシサーバアプリケーション158との間の接続状態を格納しない。これらの実施形態において、セッションは、そのセッション識別子を傍聴者に明かさないような方法で、送信された要求内で同定されなくてはならない(ステップ324)。例えば、セッションを同定する送信されたhttp要求の部分(ステップ324)は、クライアントアプリケーション146とプロキシサーバアプリケーション158とで共有されたプライベートキーを用いて、暗号化され得る。これら実施形態において、さらに、要求は、クライアントデバイス140と関連するユニークな識別子を含む。この識別子もまた、この識別子を傍聴者から保護するために、暗号化され得る。例えば、クライアントデバイス140が携帯電話である実施形態において、ユニークな識別子は、携帯電話と関連する電話番号であり得る。
プロキシサーバアプリケーション158によって生成された静的イメージは、多数の標準形式(JPEG、GIF、PIN、TIFFまたはBMPを含む)の任意の一つであり得る。一部の実施形態において、プロキシサーバアプリケーション158は、シンクライアントアプリケーション152、154によって露呈された(exposed)Common Object Model (COM) Application Programming Interface (API)を呼び出して、静的イメージを生成する。
一部の実施形態において、プロキシサーバアプリケーション158は、生成された静的イメージのサイズを最適化する。これらの実施形態の一つにおいて、プロキシサーバアプリケーション158は、ユーザの現在位置を取り囲むスクリーンエリアを選択することによって、スクリーンイメージのサイズを決定する。ユーザの現在位置は、最後のマウスクリックにおけるx座標およびy座標、または、プロキシサーバアプリケーション158に送信される最後のマウス位置におけるx座標およびy座標を用いて決定され得る。ユーザの最後の位置から、スクリーンがどれだけ上下左右にあるかという量が、スクリーンイメージを形成するために使用され、これは、所定の画素数に設定され得るか、あるいは、クライアントデバイス140に基づいて選択され得る。
別の実施形態において、プロキシサーバアプリケーション158は、許容可能なイメージロスの量を増加し得る。つまり、プロキシサーバアプリケーション158は、送信前のスクリーンイメージを符号化するために、JPEGのような損失(lossy)圧縮アルゴリズムを使用している。プロキシサーバアプリケーション158は、送信されるイメージタイプ、クライアントデバイス158と仮想スクリーンメモリとの間の相対的なサイズの差、クライアントデバイス140のスクリーンの絶対的サイズ、クライアントデバイス140のスクリーンのビット深さ、または、ネットワーク175を介して使用する利用可能な帯域幅に基づいて、許容可能なイメージロスの量を選択し得る。
さらに別の実施形態において、プロキシサーバアプリケーション158は、グラフィカル要素を有しないスクリーンを送信するために、静的イメージを使用しない。このような実施形態において、クライアントアプリケーション146は、テキストドローイングコマンド用と、グラフィカルコマンド用とに、個別セットのプログラミングインターフェースを露呈する。グラフィカル要素を有しないスクリーンにおいて、テキストドローイング呼び出しのみが、アプリケーションにスクリーンを出力させるために使われる。
さらに別の実施形態において、プロキシサーバアプリケーション158は、仮想スクリーンバッファからの読まれたアプリケーション出力をスケーリングし得る。これは、そのスクリーンまたはそのスクリーンの大部分が、クライアントデバイス140のスクリーン上で見ることができるようにするためである。代替的に、スケーリングは、COMインターフェースによって提供され得る。
プロキシサーバアプリケーション158は、クライアントアプリケーション146に、生成された静的イメージファイルを送信する(ステップ328)。一部の実施形態において、単一のセッション識別子は、多数のクライアントデバイス140と共有され得る。これによって、1つ以上のクライアントデバイス140が、別のクライアントデバイス140を影にすることを許す。すなわち、「影にする」クライアントデバイス140によって表示された出力は、「影にされた」クライアントデバイス140の出力と同じになる。一実施形態において、静的イメージファイルは、HyperText Transfer Protocol(http)またはSecure HyperText Transfer Protocol(https)を用いて、クライアントアプリケーション146に送信される。クライアントアプリケーション146に静的イメージファイルを送信し、クライアントアプリケーション146からクライアント入力を受信するために使用されたプロトコルは、図4と関連付けて、以下に、より詳細に記載される。クライアントアプリケーション146は、受信した静的イメージファイルを表示する(ステップ308)。
ここで、図4を参照すると、ユーザの入力とアプリケーションの実行出力とを交換するために、クライアントアプリケーション146とプロキシサーバアプリケーション158とによって使用されるプロトコルの一実施形態が、図式的に示される。図4に示す実施形態においては、「イメージを得よ」410、「ストリングを送れ」420、「キーストロークを送れ」430、および「マウスイベントを送れ」440の4つのプロトコルコマンドが示されている。
図4に示すように、クライアントアプリケーション146は、プロキシサーバアプリケーション158に、要求が向けられたサーバと、クライアントアプリケーション146によって要求された静的イメージに関するパラメータとを同定するhttp要求412を送信する。図4に示す実施形態において、クライアントアプリケーション146によって送信されたhttp要求に含まれるパラメータには、開始x座標、開始y座標、終了x座標、終了y座標、および、好ましい静的イメージタイプが含まれる。プロキシサーバアプリケーション158は、httpパケット414に応答し、要求された静的イメージファイルを送信する。
図4に示すプロトコル実施形態には、また、「ストリングを送れ」420、「キーストロークを送れ」430、および「マウスイベントを送れ」440の3つの入力コマンドも含まれる。これらコマンドのそれぞれに対し、クライアントアプリケーション146は、プロキシサーバアプリケーション158に、ユーザ入力が向けられたサーバと、入力とを同定するhttpパケットを送信する。「ストリングを送れ」コマンド422の場合、ユーザ入力は、一連の英数字である。「キーストロークを送れ」コマンド432の場合、ユーザ入力は、キーストロークである。「マウスイベントを送れ」コマンド442の場合、ユーザ入力は、マウスイベントのx座標と、マウスイベントのy座標と、そのマウスイベントに「クリック」が含まれるか否かである。一部の実施形態において、「マウスイベントを送れ」には、また、どのマウスボタンがクリックされたかの表示も含まれる。これらの場合それぞれにおいて、プロキシサーバアプリケーション158は、クライアントアプリケーション146に、「OK」メッセージ424、434、444で応答する。
ユーザ入力422、432、442を受信すると、プロキシサーバアプリケーション158は、シンクライアントアプリケーション152、154にユーザ入力を転送する。シンクライアントアプリケーション152、154は、受信したユーザ入力を、アプリケーションサーバ110に転送する。アプリケーションサーバ110は、ユーザ入力を受信し、それをアプリケーションプログラム122、124、126、128に提供する。
本発明は、製品の1つ以上の品目に具体化された1つ以上のコンピュータ読み出し可能プログラムとして、提供され得る。製品の品目は、フロッピディスク、ハードディスク、コンパクトディスク、デジタル汎用ディスク、フラッシュメモリカード、PROM、RAM、ROMまたは磁気テープであり得る。一般に、コンピュータ読み出し可能プログラムは、任意のプログラミング言語でインプリメントされ得る。使用可能な言語の例の一部は、C、C++、C#またはJAVA(登録商標)であり得る。ソフトウェアプログラムは、オブジェクトコードの製品の1つ以上の品目上または品目内に格納され得る。
本発明は、特定の好ましい実施形態を参照しながら、図示および記載されてきたが、以下の請求項で規定される本発明の精神と範囲から逸脱することなく、形式および詳細において、様々な変更がなされ得ることは、当業者によって理解されるべきである。
図1は、制約あるシステムリソースを有するデバイスにアプリケーション出力を提供するシステムの一実施形態のブロック図である。 図2Aは、本発明と関連して、有益なコンピュータの実施形態を示すブロック図である。 図2Bは、本発明と関連して、有益なコンピュータの実施形態を示すブロック図である。 図3は、制約あるシステムリソースを有するデバイスにアプリケーション出力を提供するシステムの動作の一実施形態を示す流れ図である。 図4は、制約あるシステムリソースを有するデバイスにアプリケーション出力を通信するために使用されるプロトコルの一実施形態の図式表現である。

Claims (54)

  1. サーバ上で実行するアプリケーションプログラムによって生成された出力を、ユーザデバイスで表示するシステムであって、
    アプリケーションプログラムを実行するアプリケーションサーバと、
    該アプリケーションサーバから、該アプリケーションプログラムによって生成されたグラフィカルディスプレイ出力のスクリーンを表わすデータを受信するプロキシサーバと、
    クライアントアプリケーションを実行するユーザデバイスであって、該クライアントアプリケーションは、該プロキシサーバから、該アプリケーションプログラムによって生成された該グラフィカルディスプレイ出力のスクリーンを表わす静的イメージデータを受信する、ユーザデバイスと
    を備える、システム。
  2. 前記アプリケーションサーバは、サーバファーム内の複数のサーバのうちの1つを備える、請求項1に記載のシステム。
  3. 前記プロキシサーバは、前記クライアントアプリケーションから送信された入力を受信し、該受信した入力を前記アプリケーションサーバに送信する、請求項1に記載のシステム。
  4. 前記プロキシサーバは、前記アプリケーションサーバから、プレゼンテーションプロトコルを介してデータを受信する、請求項1に記載のシステム。
  5. 前記プロキシサーバは、前記アプリケーションサーバから、Independent Computing Architecture(ICA)プロトコルを介してデータを受信する、請求項1に記載のシステム。
  6. 前記プロキシサーバは、前記アプリケーションサーバから、Remote Display Protocol(RDP)を介してデータを受信する、請求項1に記載のシステム。
  7. 前記プロキシサーバは、前記アプリケーションサーバから受信した前記データを修正する、請求項1に記載のシステム。
  8. 前記プロキシサーバは、前記アプリケーションサーバから受信した前記データをスケーリングする、請求項7に記載のシステム。
  9. 前記プロキシサーバは、前記アプリケーションサーバから受信した前記データのカラー深さを修正する、請求項7に記載のシステム。
  10. 前記プロキシサーバは、前記アプリケーションサーバから受信した前記データに損失イメージ圧縮を実行する、請求項7に記載のシステム。
  11. 前記プロキシサーバは、前記アプリケーションプログラムによって生成されたグラフィカルディスプレイ出力のスクリーンにおける変化を表わすデータを、前記アプリケーションサーバデータから受信し、更新された静的イメージデータを前記クライアントアプリケーションに送信する、請求項1に記載のシステム。
  12. 前記更新された静的イメージデータは、所定の期間が経過した後に、前記プロキシサーバによって送信される、請求項11に記載のシステム。
  13. 前記クライアントアプリケーションによって受信された前記静的イメージデータは、GIF形式のイメージファイルの少なくとも一部を備える、請求項1に記載のシステム。
  14. 前記クライアントアプリケーションによって受信された前記静的イメージデータは、JPEG形式のイメージファイルの少なくとも一部を備える、請求項1に記載のシステム。
  15. 前記クライアントアプリケーションは、前記プロキシサーバから、Hyper Text Transfer Protocol(HTTP)を介して、静的イメージデータを受信する、請求項1に記載のシステム。
  16. 前記クライアントアプリケーションは、JAVA(登録商標)アプリケーションを備える、請求項1に記載のシステム。
  17. 前記クライアントアプリケーションは、実行中に、50kB未満のメモリを使用する、請求項1に記載のシステム。
  18. 前記クライアントアプリケーションは、前記プロキシサーバからの更新された静的イメージデータを要求する、請求項1に記載のシステム。
  19. 前記ユーザデバイスは、携帯電話を備える、請求項1に記載のシステム。
  20. サーバ上で実行するアプリケーションプログラムによって生成された出力を、ユーザデバイスに表示する方法であって、該方法は、
    (a)グラフィカルユーザインターフェースデータのスクリーンを生成するアプリケーションを、アプリケーションサーバによって実行するステップと、
    (b)生成されたグラフィカルユーザインターフェースデータの該スクリーンを、該アプリケーションサーバによってプロキシサーバに送信するステップと、
    (c)生成されたグラフィカルユーザインターフェースデータの該スクリーンの少なくとも一部を表わす静的イメージデータを、該プロキシサーバによってユーザデバイスに送信するステップと、
    (d)該送信された静的イメージデータを、該ユーザデバイスによって表示するステップと
    を包含する、方法。
  21. 前記実行するアプリケーションによって生成されたグラフィカルユーザインターフェースデータの前記スクリーンを、プレゼンテーションプロトコル形式内の少なくとも第一のメッセージの中に、前記アプリケーションサーバによってフォーマットするステップをさらに包含する、請求項20に記載の方法。
  22. 前記実行するアプリケーションによって生成されたグラフィカルユーザインターフェースデータの前記スクリーンを、Independent Computing Architecture(ICA)プロトコル形式内の少なくとも第一のメッセージの中に、前記アプリケーションサーバによってフォーマットするステップをさらに包含する、請求項20に記載の方法。
  23. 前記実行するアプリケーションによって生成されたグラフィカルユーザインターフェースデータの前記スクリーンを、前記アプリケーションサーバによってRemote Display Protocol(RDP)形式内の少なくとも第一のメッセージの中に、フォーマットするステップをさらに包含する、請求項20に記載の方法。
  24. 生成されたグラフィカルユーザインターフェースデータの前記スクリーンの少なくとも一部を表わす静的イメージを、前記プロキシサーバによって生成するステップをさらに包含する、請求項20に記載の方法。
  25. 前記アプリケーションサーバから受信したデータを、前記プロキシサーバによって修正するステップをさらに包含する、請求項20に記載の方法。
  26. 前記修正するステップは、前記アプリケーションサーバから受信した前記データに損失イメージ圧縮を適用することを包含する、請求項25に記載の方法。
  27. 前記修正するステップは、前記アプリケーションサーバから受信した前記データのカラー深さを変更することを包含する、請求項25に記載の方法。
  28. 前記修正するステップは、前記アプリケーションサーバから受信した前記データをスケーリングすることを包含する、請求項25に記載の方法。
  29. 前記ステップ(c)は、グラフィカルユーザ出力の前記スクリーンの少なくとも一部を表わすGIFイメージデータを、前記プロキシサーバによって、ユーザデバイスに送信することを包含する、請求項18に記載の方法。
  30. 前記ステップ(c)は、グラフィカルユーザ出力の前記スクリーンの少なくとも一部を表わすJPEGイメージデータを、前記プロキシサーバによって、ユーザデバイスに送信することを包含する、請求項20に記載の方法。
  31. 前記ステップ(c)は、Hyper Text Transfer Protocol(HTTP)を介して、グラフィカルユーザインターフェースデータの前記スクリーンの少なくとも一部を表わす静的イメージデータを、前記プロキシサーバによって、ユーザデバイスに送信することを包含する、請求項20に記載の方法。
  32. 前記ユーザデバイスからの入力を表わすデータを、前記プロキシサーバによって、受信するステップをさらに包含する、請求項20に記載の方法。
  33. 前記受信したユーザ入力データを、前記アプリケーションサーバに、前記プロキシサーバによって、送信するステップをさらに包含する、請求項32に記載の方法。
  34. 生成されたグラフィカルユーザインターフェースデータの前記スクリーン内の変化を表わす前記アプリケーション実行サーバからのデータを、前記プロキシサーバによって、受信するステップをさらに包含する、請求項20に記載の方法。
  35. 生成されたグラフィカルユーザインターフェースデータの前記変化したスクリーンを表わす静的イメージデータを、前記プロキシサーバによって、ユーザデバイスに送信するステップをさらに包含する、請求項34に記載の方法。
  36. 前記送信するステップは、所定の期間が経過した後に起こる、請求項35に記載の方法。
  37. 更新された静的イメージ情報を、クライアントアプリケーションによって、送信するステップをさらに包含する、請求項20に記載の方法。
  38. サーバ上で実行するアプリケーションプログラムによって生成された出力を、ユーザデバイスに表示する装置であって、
    アプリケーションサーバから、該アプリケーションサーバ上で実行するアプリケーションによって生成されたグラフィカルディスプレイ出力のスクリーンを表わすデータを、第一のプロトコル形式で受信する第一のプロトコルハンドラと、
    該第一のプロトコルハンドラによって受信されたグラフィカルディスプレイ出力の該スクリーンの少なくとも一部を表わす静的イメージデータを、表示用クライアントアプリケーションに、第二のプロトコル形式で送信する第二のプロトコルハンドラと
    を備える、装置。
  39. 前記第二のプロトコルハンドラは、ユーザ入力を表わすデータを、前記クライアントアプリケーションから受信する、請求項38に記載の装置。
  40. 前記第一のプロトコルハンドラは、前記第二のプロトコルハンドラによって受信されたユーザ入力を表わす前記データを、前記アプリケーションサーバに送信する、請求項39に記載の装置。
  41. 前記第一のプロトコルハンドラは、前記受信したデータを、前記第一のプロトコルから前記第二のプロトコルに翻訳する、請求項38に記載の装置。
  42. 前記第二のプロトコルハンドラは、前記受信したデータを、前記第一のプロトコルから前記第二のプロトコルに翻訳する、請求項38に記載の装置。
  43. 前記第一のプロトコル内で、前記第一のプロトコルハンドラによって受信されたデータにアクセスし、それを前記第二のプロトコル形式の少なくとも1つのメッセージに翻訳する翻訳モジュールをさらに備える、請求項38に記載の装置。
  44. サーバ上で実行するアプリケーションプログラムによって生成されたグラフィカルディスプレイ出力を、ユーザデバイスに表示する方法であって、
    (a)アプリケーションサーバから、第一のプロトコル形式を介して、該アプリケーションサーバ上で実行するアプリケーションによって生成されたグラフィカルディスプレイ出力のスクリーンを表わすデータを受信するステップと、
    (b)ディスプレイ用クライアントアプリケーションに、第二のプロトコルを介して、
    該アプリケーションサーバ上で実行する該アプリケーションによって生成されたグラフィカルディスプレイ出力の該スクリーンの少なくとも一部を表わす静的イメージデータを送信するステップと
    を包含する、方法。
  45. 前記クライアントアプリケーションから、前記第二のプロトコルを介して、前記アプリケーションプログラムへのユーザ入力を表わすデータを受信するステップをさらに包含する、請求項44に記載の方法。
  46. 前記アプリケーションに、前記第一のプロトコルを介して、前記クライアントアプリケーションから受信したユーザ入力を表わすデータを送信するステップをさらに包含する、請求項45に記載の方法。
  47. グラフィカルディスプレイ出力の前記スクリーンを表わすデータを、第一のプロトコル形式から、第二のプロトコル形式翻訳するステップをさらに包含する、請求項44に記載の方法。
  48. ステップ(b)は、ディスプレイ用クライアントアプリケーションに、第二のプロトコルを介して、前記アプリケーションサーバ上で実行するアプリケーションのグラフィカルディスプレイ出力の前記スクリーンの少なくとも一部を表わすGIFデータを送信することを包含する、請求項44に記載の方法。
  49. 前記GIFファイルは、HyperText Transfer Protocol(HTTP)を介して、前記クライアントアプリケーションに送信される、請求項48に記載の方法。
  50. ステップ(b)は、ディスプレイ用クライアントアプリケーションに、第二のプロトコルを介して、前記アプリケーションサーバ上で実行するアプリケーションのグラフィカルディスプレイ出力の前記スクリーンの少なくとも一部を表わすJPEGデータを送信することを包含する、請求項44に記載の方法。
  51. サーバ上で実行するアプリケーションプログラムによって生成された出力を、ユーザデバイスで表示するシステムであって、該システムは、
    アプリケーションプログラムを実行するアプリケーションサーバと、
    該アプリケーションサーバから、プレゼンテーションレベルのプロトコルを介して、該アプリケーションプログラムによって生成されたグラフィカルディスプレイ出力のスクリーンを表わすデータを受信するプロキシサーバと、
    クライアントアプリケーションを実行するユーザデバイスであって、該クライアントアプリケーションは、該プロキシサーバから、該アプリケーションプログラムによって生成された該グラフィカルディスプレイ出力のスクリーンを表わす静的イメージデータを、HyperText Transfer Protocol(HTTP)コマンドを介して受信する、ユーザデバイスと
    を備える、システム。
  52. サーバ上で実行するアプリケーションプログラムによって生成される出力を、ユーザデバイスに表示する方法であって、該方法は、
    (a)グラフィカルユーザインターフェースデータのスクリーンを生成するアプリケーションを、アプリケーションサーバによって実行するステップと、
    (b)生成されたグラフィカルユーザインターフェースデータの該スクリーンを、該アプリケーションサーバによって、プレゼンテーションレベルのプロトコルを介して、プロキシサーバに送信するステップと、
    (c)生成されたグラフィカルユーザインターフェースデータの該スクリーンの少なくとも一部を表わす静的イメージデータを、該プロキシサーバによって、HyperText Transfer Protocol(HTTP)コマンドを介して、ユーザデバイスに送信するステップと、
    (d)該送信された静的イメージデータを、該ユーザデバイスによって表示するステップと
    を包含する、方法。
  53. サーバ上で実行するアプリケーションプログラムによって生成される出力を、ユーザデバイスに表示するコンピュータ読み出し可能なプログラム手段を具体化した製品の品目であって、該製品の品目は、
    該サーバ上で実行するアプリケーションによって生成されたグラフィカルユーザデータインターフェースのスクリーンを、プロキシサーバに送信するコンピュータ読み出し可能なプログラム手段と、
    生成されたグラフィカルユーザデータインターフェースの該スクリーンの少なくとも一部を表わす静的イメージデータを、該プロキシサーバによって、ユーザデバイスに通信するコンピュータ読み出し可能なプログラム手段と、
    該送信された静的イメージデータを、該ユーザデバイスによって、表示するコンピュータ読み出し可能なプログラム手段と
    を備える、製品の品目。
  54. サーバ上で実行するアプリケーションプログラムによって生成されるグラフィカルディスプレイ出力を、ユーザデバイスに表示するコンピュータ読み出し可能なプログラムを具体化した製品の品目であって、
    アプリケーションサーバから、第一のプロトコルを介して、アプリケーションサーバ上で実行するアプリケーションによって生成されたグラフィカルディスプレイ出力のスクリーンを表わすデータを受信するコンピュータ読み出し可能なプログラム手段と、
    第二のプロトコルを介して、該アプリケーションサーバ上で実行するアプリケーションによって生成されたグラフィカルディスプレイ出力の該スクリーンの少なくとも一部を表わす静的イメージデータを、ディスプレイ用クライアントアプリケーションに通信するコンピュータ読み出し可能なプログラム手段と
    を備える、製品の品目。
JP2007513436A 2004-05-14 2005-05-13 制約あるシステムリソースを有するデバイス上でアプリケーション出力を表示する方法およびシステム Pending JP2008502176A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/709,581 US20050256923A1 (en) 2004-05-14 2004-05-14 Methods and apparatus for displaying application output on devices having constrained system resources
PCT/US2005/016928 WO2005114395A1 (en) 2004-05-14 2005-05-13 Methods and apparatus for displaying application output on devices having constrained system resources

Publications (1)

Publication Number Publication Date
JP2008502176A true JP2008502176A (ja) 2008-01-24

Family

ID=34969731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007513436A Pending JP2008502176A (ja) 2004-05-14 2005-05-13 制約あるシステムリソースを有するデバイス上でアプリケーション出力を表示する方法およびシステム

Country Status (8)

Country Link
US (1) US20050256923A1 (ja)
EP (1) EP1756709A1 (ja)
JP (1) JP2008502176A (ja)
KR (1) KR20070012544A (ja)
AU (1) AU2005246306A1 (ja)
CA (1) CA2566717A1 (ja)
IL (1) IL179205A0 (ja)
WO (1) WO2005114395A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012524312A (ja) * 2009-04-17 2012-10-11 ウィーツ、ジェラール ユーザ端末で利用可能なアプリケーションを作成するためのシステム
US8893232B2 (en) 2009-02-06 2014-11-18 Empire Technology Development Llc Media monitoring system
US9077784B2 (en) 2009-02-06 2015-07-07 Empire Technology Development Llc Media file synchronization

Families Citing this family (79)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8352400B2 (en) 1991-12-23 2013-01-08 Hoffberg Steven M Adaptive pattern recognition based controller apparatus and method and human-factored interface therefore
US8137200B2 (en) * 1996-11-14 2012-03-20 Bally Gaming, Inc. Networked gaming system having a browser manager
US7904187B2 (en) 1999-02-01 2011-03-08 Hoffberg Steven M Internet appliance system and method
AU4979400A (en) * 1999-05-14 2000-12-05 Pivia, Inc. Applications and services supported by a client-server independent intermediary mechanism
US7117239B1 (en) 2000-07-28 2006-10-03 Axeda Corporation Reporting the state of an apparatus to a remote computer
US8108543B2 (en) 2000-09-22 2012-01-31 Axeda Corporation Retrieving data from a server
US7185014B1 (en) 2000-09-22 2007-02-27 Axeda Corporation Retrieving data from a server
US7254601B2 (en) 2001-12-20 2007-08-07 Questra Corporation Method and apparatus for managing intelligent assets in a distributed environment
US7178149B2 (en) 2002-04-17 2007-02-13 Axeda Corporation XML scripting of soap commands
US7966418B2 (en) 2003-02-21 2011-06-21 Axeda Corporation Establishing a virtual tunnel between two computer programs
US7978716B2 (en) 2003-11-24 2011-07-12 Citrix Systems, Inc. Systems and methods for providing a VPN solution
US7949705B1 (en) * 2004-06-14 2011-05-24 Oracle America, Inc. Dynamic desktop switching for thin clients
US8495305B2 (en) 2004-06-30 2013-07-23 Citrix Systems, Inc. Method and device for performing caching of dynamically generated objects in a data communication network
US7757074B2 (en) 2004-06-30 2010-07-13 Citrix Application Networking, Llc System and method for establishing a virtual private network
US8739274B2 (en) 2004-06-30 2014-05-27 Citrix Systems, Inc. Method and device for performing integrated caching in a data communication network
EP1771998B1 (en) 2004-07-23 2015-04-15 Citrix Systems, Inc. Systems and methods for optimizing communications between network nodes
EP2267951B1 (en) 2004-07-23 2016-12-28 Citrix Systems, Inc. Method for routing packets from an endpoint to a gateway
WO2006020823A1 (en) * 2004-08-13 2006-02-23 Citrix Systems, Inc. A method for maintaining transaction integrity across multiple remote access servers
US8700695B2 (en) 2004-12-30 2014-04-15 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP pooling
US8706877B2 (en) 2004-12-30 2014-04-22 Citrix Systems, Inc. Systems and methods for providing client-side dynamic redirection to bypass an intermediary
US8954595B2 (en) 2004-12-30 2015-02-10 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP buffering
US7810089B2 (en) 2004-12-30 2010-10-05 Citrix Systems, Inc. Systems and methods for automatic installation and execution of a client-side acceleration program
US8549149B2 (en) 2004-12-30 2013-10-01 Citrix Systems, Inc. Systems and methods for providing client-side accelerated access to remote applications via TCP multiplexing
US7849269B2 (en) 2005-01-24 2010-12-07 Citrix Systems, Inc. System and method for performing entity tag and cache control of a dynamically generated object not identified as cacheable in a network
US8255456B2 (en) 2005-12-30 2012-08-28 Citrix Systems, Inc. System and method for performing flash caching of dynamically generated objects in a data communication network
US7921184B2 (en) 2005-12-30 2011-04-05 Citrix Systems, Inc. System and method for performing flash crowd caching of dynamically generated objects in a data communication network
US8301839B2 (en) 2005-12-30 2012-10-30 Citrix Systems, Inc. System and method for performing granular invalidation of cached dynamically generated objects in a data communication network
JP2007287025A (ja) 2006-04-19 2007-11-01 Nec Corp 画面遷移プログラム生成方法及び装置
KR100800447B1 (ko) 2006-09-27 2008-02-04 엘지전자 주식회사 자바 미들릿의 화면 크기 보정 방법 및 그 단말기
US8370479B2 (en) 2006-10-03 2013-02-05 Axeda Acquisition Corporation System and method for dynamically grouping devices based on present device conditions
US8065397B2 (en) 2006-12-26 2011-11-22 Axeda Acquisition Corporation Managing configurations of distributed devices
US20080270911A1 (en) * 2007-04-24 2008-10-30 Nehal Dantwala System and method to develop a custom application for a multi-function peripheral (mfp)
US9264483B2 (en) 2007-07-18 2016-02-16 Hammond Development International, Inc. Method and system for enabling a communication device to remotely execute an application
US8260985B2 (en) * 2007-10-05 2012-09-04 Pano Logic, Inc. Universal serial bus assistance engine
US7925694B2 (en) 2007-10-19 2011-04-12 Citrix Systems, Inc. Systems and methods for managing cookies via HTTP content layer
CN101984778B (zh) 2008-01-26 2014-08-13 思杰系统有限公司 用于细粒度策略驱动的cookie代理的系统和方法
US8169436B2 (en) 2008-01-27 2012-05-01 Citrix Systems, Inc. Methods and systems for remoting three dimensional graphics
JP5236352B2 (ja) * 2008-05-15 2013-07-17 株式会社日立製作所 アプリケーション配信制御システム、アプリケーション配信制御方法、情報処理装置、およびクライアント端末
JP2009290469A (ja) * 2008-05-28 2009-12-10 Hideaki Watanabe ネットワーク通信システム
US9071651B2 (en) * 2008-06-05 2015-06-30 Microsoft Technology Licensing, Llc Dynamic content delivery to network-enabled static display device
US8156418B2 (en) * 2008-06-05 2012-04-10 Microsoft Corporation Image acquisition from dynamic content for delivery to network-enabled static display devices
US20100058354A1 (en) * 2008-08-28 2010-03-04 Gene Fein Acceleration of multimedia production
US8468587B2 (en) * 2008-09-26 2013-06-18 Microsoft Corporation Binding activation of network-enabled devices to web-based services
CN102257471B (zh) * 2008-10-26 2015-07-22 思杰系统有限公司 一种用于在移动计算设备上显示在服务器上执行的应用的窗口的方法
US8001213B2 (en) * 2008-12-22 2011-08-16 Nokia Corporation Method, apparatus and computer program product for providing unrestricted content on a user terminal
US20100174818A1 (en) * 2009-01-07 2010-07-08 Microsoft Corporation Input Service for Client Devices
US8732749B2 (en) 2009-04-16 2014-05-20 Guest Tek Interactive Entertainment Ltd. Virtual desktop services
US8966112B1 (en) 2009-11-30 2015-02-24 Dell Software Inc. Network protocol proxy
US9229734B2 (en) 2010-01-15 2016-01-05 Guest Tek Interactive Entertainment Ltd. Hospitality media system employing virtual user interfaces
KR20100048965A (ko) * 2010-03-12 2010-05-11 블루가 (주) 웹 기반 사용자 인터페이스 구현 장치 및 그 방법
WO2011111926A2 (ko) * 2010-03-12 2011-09-15 블루가 (주) 통신 단말기의 웹 기반 사용자 인터페이스 구현 장치 및 그 방법
WO2012005230A1 (ja) * 2010-07-06 2012-01-12 日本電気株式会社 シンクライアントシステム、管理サーバ、管理方法およびプログラム
US9003455B2 (en) 2010-07-30 2015-04-07 Guest Tek Interactive Entertainment Ltd. Hospitality media system employing virtual set top boxes
WO2012030653A2 (en) * 2010-08-29 2012-03-08 Vascode Technologies Ltd. A system and methods for multi-tasking in a clientless mobile phone
KR20120035493A (ko) * 2010-10-05 2012-04-16 엘지전자 주식회사 네트워크 모니터 시스템 및 그 제어 방법
US8504654B1 (en) * 2010-12-10 2013-08-06 Wyse Technology Inc. Methods and systems for facilitating a remote desktop session utilizing long polling
US9395885B1 (en) 2010-12-10 2016-07-19 Wyse Technology L.L.C. Methods and systems for a remote desktop session utilizing HTTP header
US9245047B2 (en) * 2010-12-10 2016-01-26 Wyse Technology L.L.C. Methods and systems for facilitating a remote desktop session utilizing a remote desktop client common interface
US8966376B2 (en) * 2010-12-10 2015-02-24 Wyse Technology L.L.C. Methods and systems for remote desktop session redrawing via HTTP headers
US8949726B2 (en) 2010-12-10 2015-02-03 Wyse Technology L.L.C. Methods and systems for conducting a remote desktop session via HTML that supports a 2D canvas and dynamic drawing
US8589800B2 (en) * 2010-12-10 2013-11-19 Wyse Technology Inc. Methods and systems for accessing and controlling a remote desktop of a remote machine in real time by a web browser at a client device via HTTP API utilizing a transcoding server
KR101502895B1 (ko) 2010-12-22 2015-03-17 주식회사 케이티 복수의 오류 복제본으로부터 오류를 복구하는 방법 및 상기 방법을 이용하는 스토리지 시스템
KR101544480B1 (ko) 2010-12-24 2015-08-13 주식회사 케이티 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체
KR101585146B1 (ko) * 2010-12-24 2016-01-14 주식회사 케이티 오브젝트를 복수 개의 데이터 노드들의 위치에 기반하여 분산 저장하는 분산 저장 시스템 및 그 위치 기반 분산 저장 방법 및 컴퓨터에 의하여 독출 가능한 저장 매체
KR101483127B1 (ko) 2011-03-31 2015-01-22 주식회사 케이티 클라우드 스토리지 시스템에서 리소스를 고려한 자료분배방법 및 장치
KR101544483B1 (ko) 2011-04-13 2015-08-17 주식회사 케이티 분산 저장 시스템의 복제 서버 장치 및 복제본 생성 방법
KR101544485B1 (ko) 2011-04-25 2015-08-17 주식회사 케이티 클라우드 스토리지 시스템에서 복수개의 복제본을 분산 저장하는 방법 및 장치
US9600350B2 (en) * 2011-06-16 2017-03-21 Vmware, Inc. Delivery of a user interface using hypertext transfer protocol
US9549045B2 (en) 2011-08-29 2017-01-17 Vmware, Inc. Sharing remote sessions of a user interface and/or graphics of a computer
US9514242B2 (en) 2011-08-29 2016-12-06 Vmware, Inc. Presenting dynamically changing images in a limited rendering environment
US20130234959A1 (en) 2012-03-06 2013-09-12 Industry-University Cooperation Foundation Hanyang University System and method for linking and controlling terminals
US9383891B2 (en) * 2012-03-28 2016-07-05 Skytap Methods and systems for an intermediate graphical desktop sharing protocol
CN103731717B (zh) * 2012-10-10 2017-06-20 华为终端有限公司 展示多幅图像的方法、装置、家庭网络系统和移动终端
US9858052B2 (en) * 2013-03-21 2018-01-02 Razer (Asia-Pacific) Pte. Ltd. Decentralized operating system
US20150134725A1 (en) * 2013-11-13 2015-05-14 Adrian Cesena, Jr. Computer-implemented methods, computer readable medium and systems for virtual application execution
CN107430580B (zh) * 2015-03-25 2021-06-01 海微信息科技(日本)株式会社 基于瘦客户端方式的设备控制方法
KR102638377B1 (ko) * 2018-08-14 2024-02-20 주식회사 케이티 가상 현실 컨텐츠를 제공하는 서버, 방법 및 사용자 단말
US11647095B1 (en) * 2018-10-02 2023-05-09 Intuit Inc. Method and system for orchestrating communications between application services through a unified connector platform
US11444878B2 (en) * 2019-09-04 2022-09-13 Yahoo Ad Tech Llc Intelligent dataflow-based service discovery and analysis

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242566A (ja) * 1999-02-23 2000-09-08 Dainippon Printing Co Ltd 画像配信システム、画像プロキシ装置および記録媒体
JP2003323402A (ja) * 2002-05-01 2003-11-14 Ntt Docomo Inc シンクライアントシステム、並びに、シンクライアント端末、シンクライアント端末制御方法、及び、制御プログラム
JP2003348562A (ja) * 2002-05-27 2003-12-05 Telecommunication Advancement Organization Of Japan Cg画像配信システム

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6850252B1 (en) * 1999-10-05 2005-02-01 Steven M. Hoffberg Intelligent electronic appliance system and method
US7006881B1 (en) * 1991-12-23 2006-02-28 Steven Hoffberg Media recording device with remote graphic user interface
US6400996B1 (en) * 1999-02-01 2002-06-04 Steven M. Hoffberg Adaptive pattern recognition based control system and method
US5577188A (en) * 1994-05-31 1996-11-19 Future Labs, Inc. Method to provide for virtual screen overlay
KR100427136B1 (ko) * 1996-05-30 2004-08-11 마츠시타 덴끼 산교 가부시키가이샤 데이터변환장치
EP0886411A3 (en) * 1997-04-15 2004-01-21 Hewlett-Packard Company, A Delaware Corporation Method and apparatus for device interaction by protocol
US6009410A (en) * 1997-10-16 1999-12-28 At&T Corporation Method and system for presenting customized advertising to a user on the world wide web
US6925606B2 (en) * 1997-11-13 2005-08-02 Tarantella, Inc. Color quality and packet shaping features for displaying an application on a variety of client devices
US6173316B1 (en) * 1998-04-08 2001-01-09 Geoworks Corporation Wireless communication device with markup language based man-machine interface
US6981041B2 (en) * 2000-04-13 2005-12-27 Aep Networks, Inc. Apparatus and accompanying methods for providing, through a centralized server site, an integrated virtual office environment, remotely accessible via a network-connected web browser, with remote network monitoring and management capabilities
US7210099B2 (en) * 2000-06-12 2007-04-24 Softview Llc Resolution independent vector display of internet content
US20030041110A1 (en) * 2000-07-28 2003-02-27 Storymail, Inc. System, Method and Structure for generating and using a compressed digital certificate
US7216149B1 (en) * 2000-08-18 2007-05-08 International Business Machines Corporation Gathering enriched web server activity data of cached web content
US20020046262A1 (en) * 2000-08-18 2002-04-18 Joerg Heilig Data access system and method with proxy and remote processing
EP1182576A1 (en) * 2000-08-18 2002-02-27 Sun Microsystems, Inc. Data access system and method with proxy and remote processing
US20020054090A1 (en) * 2000-09-01 2002-05-09 Silva Juliana Freire Method and apparatus for creating and providing personalized access to web content and services from terminals having diverse capabilities
WO2002033607A1 (en) * 2000-10-16 2002-04-25 Iis Inc. Method for offering multilingual information translated in many languages through a communication network
CA2704252C (en) * 2001-07-26 2011-09-27 Irise System and process for interacting with a user to define a behavior of a portion of an interactive presentation
US6931270B2 (en) * 2002-02-11 2005-08-16 General Electric Company Method and system for conducting medical imaging transactions
US20040015537A1 (en) * 2002-07-15 2004-01-22 Richard Doerksen Handheld client framework system
US8176428B2 (en) * 2002-12-03 2012-05-08 Datawind Net Access Corporation Portable internet access device back page cache
US20050186913A1 (en) * 2004-02-24 2005-08-25 Research In Motion Limited Remote user interface

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000242566A (ja) * 1999-02-23 2000-09-08 Dainippon Printing Co Ltd 画像配信システム、画像プロキシ装置および記録媒体
JP2003323402A (ja) * 2002-05-01 2003-11-14 Ntt Docomo Inc シンクライアントシステム、並びに、シンクライアント端末、シンクライアント端末制御方法、及び、制御プログラム
JP2003348562A (ja) * 2002-05-27 2003-12-05 Telecommunication Advancement Organization Of Japan Cg画像配信システム

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8893232B2 (en) 2009-02-06 2014-11-18 Empire Technology Development Llc Media monitoring system
US9077784B2 (en) 2009-02-06 2015-07-07 Empire Technology Development Llc Media file synchronization
US9838456B2 (en) 2009-02-06 2017-12-05 Empire Technology Development Llc Media file synchronization
JP2012524312A (ja) * 2009-04-17 2012-10-11 ウィーツ、ジェラール ユーザ端末で利用可能なアプリケーションを作成するためのシステム

Also Published As

Publication number Publication date
AU2005246306A1 (en) 2005-12-01
US20050256923A1 (en) 2005-11-17
EP1756709A1 (en) 2007-02-28
KR20070012544A (ko) 2007-01-25
IL179205A0 (en) 2007-03-08
WO2005114395A1 (en) 2005-12-01
CA2566717A1 (en) 2005-12-01

Similar Documents

Publication Publication Date Title
JP2008502176A (ja) 制約あるシステムリソースを有するデバイス上でアプリケーション出力を表示する方法およびシステム
US7797724B2 (en) Methods and apparatus for secure online access on a client device
CN101495990B (zh) 用于提供从代理服务器到虚拟计算环境的身份验证证明以访问远程资源的方法和设备
US7254621B2 (en) Technique for enabling remote data access and manipulation from a pervasive device
JP4902671B2 (ja) ターゲットデバイスにコンテンツを送信するための方策
US8149431B2 (en) Systems and methods for managing printer settings in a networked computing environment
US7712110B2 (en) System and method for remoting twain function calls from a user session to a client system
US20060271877A1 (en) A system and methods for selective sharing of an application window
US9330077B2 (en) Dynamic image generation for customizable user interfaces
JP4981544B2 (ja) 通信システム,代理サーバならびにその制御方法およびその制御プログラム
JP2005063440A (ja) クライアント上においてウェブ・サービスを統合するための方法、システム、およびプログラム・プロダクト
US20120089901A1 (en) High performance cross platform document viewing
US20050223100A1 (en) Rendering a first media type content on a browser
JP2011118662A (ja) シンクライアント型の情報処理システム
US20060117257A1 (en) System and method for processing JavaScript resource files
KR20030096322A (ko) 사용자의 월드와이드 웹 통신과 전자 우편의 통합을 위한방법
US20020184305A1 (en) System and method for printing from a web application
JP2012503231A (ja) ウェブアプリケーションのための非同期待ち行列型メッセージング
US20060195544A1 (en) Posting and receiving resources for external applications using a web browser as an agent
US11546157B2 (en) Adaptive identification systems and methods
JP2020030447A (ja) サーバ、システム、クライアント装置、ログ情報記憶方法、クライアント情報送信方法及びプログラム
TW201426332A (zh) 檔案儲存系統及方法
JP2020119309A (ja) ネットワークドライブ割当方法及び中央装置
JP2002269038A (ja) 携帯電話用モバイルサーバエジェント(MobileServerAgentForCellPhone)
JP2007072893A (ja) ウェブページの提供技術

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080512

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20101007

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20101013

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110112

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110119

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110210

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110218

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20110707