JP5389829B2 - リモートリソースのウェブアクセスのためのxmlベースのウェブフィード - Google Patents

リモートリソースのウェブアクセスのためのxmlベースのウェブフィード Download PDF

Info

Publication number
JP5389829B2
JP5389829B2 JP2010548775A JP2010548775A JP5389829B2 JP 5389829 B2 JP5389829 B2 JP 5389829B2 JP 2010548775 A JP2010548775 A JP 2010548775A JP 2010548775 A JP2010548775 A JP 2010548775A JP 5389829 B2 JP5389829 B2 JP 5389829B2
Authority
JP
Japan
Prior art keywords
remote
executable application
xml
xml document
resource
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2010548775A
Other languages
English (en)
Other versions
JP2011513841A (ja
Inventor
スコット ロンドン ケビン
ベン−シャハール イド
レスクジッヒ レイ
サミム エルドガン エルセブ
ハウ トラヴィス
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of JP2011513841A publication Critical patent/JP2011513841A/ja
Application granted granted Critical
Publication of JP5389829B2 publication Critical patent/JP5389829B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Description

ユーザは、自分のローカルなコンピュータ上でどのようにリソースを起動するかを理解し、知っている。ドメイン(例えば、Active Directoryドメイン)に接続すると、管理者は、グループポリシーを介したリソースおよび設定のプッシュ配信により、リソースをインストールし、リモートのデスクトップをセットアップする負荷を軽減することができる。
インターネットを介して非マネージドデスクトップにリソースを「インストールする」現在の方法は、完全と言うには程遠い。ユーザがインストールする必要のあるインストールファイルを送信する、またはTS(Terminal Service) Webアクセスのような技術を使用するというような、いくつかの選択肢があるだけであり、その場合、ユーザがウェブページを介してリモートプログラムを起動することを許可するアクセスのためのURL(Uniform Resource Locator)を、管理者がユーザに与えることができる。しかし、これらのタイプのインストールには制限がある。例えば、ユーザがローカルにインストールしなければならないということは、管理者が、リソースにパッチを当てる制御、または、追加のパッケージをユーザがインストールするという補助なしにアプリケーションをアップグレードする制御を失うということを意味する。TS Webアクセスのような解決策は、リソースを管理する能力を提供するには優れているが、別の面で制限があり、例えば、ファイルをダブルクリックしてリモートのアプリケーションを起動することはできない。従って、従来の方法のこれらの望ましくない態様を減少または軽減させる方法及びシステムは、非常に有用であろう。
リモートリソースのウェブアクセスのためのXML(Extensible Markup Language)ベースのウェブフィードの技術について説明する。一般に、本開示に従う実装により、有利に、管理者が非マネージドの機器からのリソースを追加、削除、および更新することが可能となり、さらに、ファイルの拡張子を引き継ぐ能力を有するというように、それらのリソースがローカルにインストールされたリソースのように振舞うことが可能になる。
一実施形態において、方法には、1つまたは複数の利用可能なリソースに関する情報を1つまたは複数のリソースホストから取得するステップ、1つまたは複数の利用可能なリソースに関する情報を、1つまたは複数の利用可能なリソースを非クライアント固有のフォーマットで記述するXML(Extensible Markup Language)文書にレンダリングするステップ、およびXML文書をユーザデバイスに提供するステップを含む。いくつかの実施形態において、XML文書を提供するステップには、XML文書をシンジケーションフィードとして提供するステップを含むことができる。さらなる実施形態において、情報をレンダリングするステップには、1つまたは複数の利用可能なリソースのそれぞれのタイムスタンプ情報を提供するステップを含むことができ、タイムスタンプ情報は、1つまたは複数の利用可能なリソースのそれぞれが前回の利用可能なリソースのバージョンから修正されたかどうかを、ユーザデバイスが判定することを可能にする。
別の実施形態において、方法には、1つまたは複数の利用可能なリソースに関する情報を含有するXML(Extensible Markup Language)文書を、1つまたは複数のリモートリソースホストから受け取るステップ、XML文書をパースして、1つまたは複数の利用可能なリソースを判定するステップ、および1つまたは複数の利用可能なリソースに関する情報を表示するステップを含む。XML文書は、1つまたは複数の利用可能なリソースを非クライアント固有のフォーマットで記述する。いくつかの実施形態において、XML文書をパースするステップには、XML文書をパースして、1つまたは複数のリモートアプリケーションファイル、アイコン、またはRDPファイルを提供するステップを含むことができる。
さらに別の実施形態において、コンピューティングシステムには、処理ユニット、処理ユニットに動作可能に連結され、ユーザデバイスおよび1つまたは複数のリソースホストと動作可能に通信するよう構成される通信コンポーネント、および処理ユニットに動作可能に連結されるメモリを含む。メモリには、XML(Extensible Markup Language)プレゼンテーション層を含む。XML(Extensible Markup Language)プレゼンテーション層はメモリ上に記憶され、処理ユニット上で実行されると、1つまたは複数の利用可能なリソースに関する情報を1つまたは複数のリソースホストから取得するステップ、1つまたは複数の利用可能なリソースに関する情報を、1つまたは複数の利用可能なリソースを非クライアント固有のフォーマットで記述するXML文書にレンダリングするステップ、およびXML文書をユーザデバイスに提供するステップを含む方法を実施する動作を行うよう構成される。代替的実施形態において、方法には、利用可能なリソースの現在のリストがキャッシュされて、クライアントデバイスに提供することが可能であるかどうかを判定するステップをさらに含む。
本「発明の概要」は、以下の「発明を実施するための形態」でさらに説明する概念を選択して簡略化した形式で紹介するために提供するものである。本「発明の概要」は、特許請求の主題の重要な特徴または主要な特徴を特定することを意図しておらず、特許請求の主題の範囲を決定する際の助けとして使用されることも意図していない。
「発明を実施するための形態」を、添付の図面を参照して説明する。図面において、異なる図面に同一の参照番号を使用している場合、同様または同一の事項であることを示す。
本開示に従ってリモートリソースのウェブアクセスのためのXMLベースのウェブフィードの技術を実装するための例示の環境を示す図である。 本開示の実施形態に従ってXMLフィードをフェッチするための接続シーケンスを示す図である。 本開示の実施形態に従ってXMLコンテンツをレンダリングするための処理のフローチャートである。 本開示の別の実施形態に従ってXMLコンテンツをレンダリングするための処理のフローチャートである。 本開示の実施形態に従う図1の環境のユーザコンピュータの概略図である。 本開示に従う図1の環境のデータフロー図の概略図である。 本開示に従ってリモートリソースのウェブアクセスのためのXMLベースのウェブフィードの技術を実装するための代替の環境を示す図である。
本明細書に、リモートリソースのウェブアクセスのためのXML(Extensible Markup Language)ベースのウェブフィードの技術を開示する。一般に、本開示に従うシステムおよび方法の実施形態により、起動後にローカルにインストールされたプログラムとほとんど同じように振舞うリモートプログラムを起動する能力を、有利に提供する(例えば、クリップボードアクセス、ツールチップ統合等)。加えて、そのような実施形態では、既存のウェブアクセスシステムのインフラストラクチャを活用することができ、また、管理者が非マネージドの機器からのアプリケーションを効果的に追加、削除、および更新することを可能にすることもできる。
図1は、本開示の1つまたは複数の実施形態に従ってリモートリソースのウェブアクセスのためのXMLベースのウェブフィードの技術を実装するための例示的環境100を示す。本実施形態において、環境100には、ウェブサーバ130と動作可能に通信するユーザコンピュータ110を含み、ウェブサーバ130は、順に複数のリソースホスト140と動作可能に通信する。リソースホスト140には、例えば、端末サーバ、ディレクトリ、ディレクトリサービス(例えば、Active Directory)、集中型パブリッシングソース、または任意の他の適切なホストもしくはソースを含むことができる。より具体的には、ユーザコンピュータ110上にインストールされるスマートクライアント120が、ウェブサーバ130上にインストールされるXMLプレゼンテーション層132と動作可能に通信する。XMLプレゼンテーション層132には、フィードコンポーネント134およびIIS(Internet Information Server)136を含むことができる。各リソースホスト140には、1つまたは複数のリソース142がその上にインストールされる。そのようなリソースには、例えば、アプリケーション、ソフトウェアプログラム、デスクトップ、文書、データ、または任意の他の適切なリソースを含むことができる。
動作においては、スマートクライアント120は、ウェブサーバ130に、リモートリソースホスト140上で見つかる利用可能なリソースを求める要求122を行うことができる。いくつかの実施形態において、XMLプレゼンテーション層132のIIS136は、要求122を受け取り、XMLフィードコンポーネント134にXMLフィードのコール138を行う。いくつかの実施形態において、XMLプレゼンテーション層132は、利用可能なリソースの現在のリストが既にキャッシュされ、スマートクライアント120に提供することが可能であるかどうかを判定する。リソースの現在のリストがキャッシュされていない場合、XMLプレゼンテーション層132は(例えば、XMLフィードコンポーネント134を使用して)、1つまたは複数のリソースホスト140に、各リソースホスト140上で利用可能なリソースのリストを求める要求135を送る。リソースホスト140は、それぞれのリソースホスト140上で利用可能な、利用可能リソース142のリスト145を返す。XMLフィードコンポーネント134は、スマートクライアント120に返すXMLフィード125にリスト145をレンダリングする。リモートリソースホスト140上で利用可能なリソース142に対応するアイコン112を、ユーザコンピュータ110の表示コンポーネント114上に表示することができる。ユーザ(図示せず)は、選択されたリソース142を、対応するアイコン112をクリックすることにより起動することができ、それによりユーザは、ローカルにインストールされたプログラムとほとんど同じように、リソース142を使用することが可能になる。
XMLプレゼンテーション層132により与えられるXMLフィード125は、リソースデータ145(例えば、アプリケーションデータを含む)を符号化するための、厳密に構造化されたXMLフォーマットとすることができる。従って、提示することを基本として、一般にユーザの経験を記述すること等に適応し、かつウェブブラウザにより使用されることが意図される(すなわち、クライアント固有の)、緩く構造化されたXMLフォーマット(例えば、拡張可能ハイパーテキストマークアップ言語)を使用できる従来のウェブアクセスシステムとは異なり、XMLプレゼンテーション層132により与えられるXMLフィード125は、より綿密に構造化され、異なる目的を達成するために使用することが可能である。本開示のXMLフィード125には、提示することを基本とするXMLフォーマットが使用できない追加の情報、例えば、ファイルの関連付け、クライアントの構成データ、およびこの時点では未知のまたは予期しない他のデータを含むことができる。さらに、本開示のXMLフィード125は、非クライアント固有(すなわち、一般用)であり、使用するソフトウェアをに関して何ら想定することなく、利用可能なリソースを記述する。XMLフィード125は、この時点では未知のまたは予期しないいくつかの方法を含む、様々な方法で使用されるよう意図される。
いくつかの実施形態において、本件特許出願人から入手可能であるTS(Terminal Services) Webアクセスシステムといった、リモートリソースにアクセスするための既存のウェブアクセスシステムは、本開示の態様を組み込んで、リモートリソースのユーザに改善されたサービスを提供することができる。使用することができるネットワークを介するリソースへのリモートアクセスを可能にする他のシステムには、例えば、Vector Networks社から入手可能なPC−Duo Remote Control、Citrix社から入手可能な製品、または任意の他の適切なリモートネットワークアクセスシステムを含む。そのようなウェブアクセスシステムには、本開示に従うXMLフィードを有利に含み、端末サーバを含むリソースホストからリソースデータを収集することができる。
例えば、いくつかの実施形態において、管理者は、ユーザにURL(Uniform Resource Locator)を与えて、スマートクライアント120を示す。URLは、電子通信システム(例えば、Exchange「登録商標」、Everest「登録商標」、Zimbra Collaboration Suite、または他の適切なシステムもしくは方法)を介して提供することが可能であり、ユーザがURLを用いてスマートクライアント120を特別に構成しなければならないことを、必ずしも排除しない。スマートクライアントが構成され、認証されると、クライアント機器上の開始メニューに、管理者がそのユーザに利用可能にしたリモートリソースを含むことができる。加えて、ファイルの関連付けが、それらのプログラムに対してなされる。
管理者が、ユーザに利用可能なリソースを削除または追加するとき、これらの変更が、クライアントコンピュータの開始メニュー上に映し出され、ファイルの関連付けが、それに従って更新される。この点から、ユーザがファイルを選択するとき、そのファイル形式を操作することができるローカルリソースまたはリモートリソースのどちらかが存在する場合に、そのローカルリソースまたはリモートリソースのどちらかにおいてファイルが開かれる。
XML文書を介してリモートリソースといったネットワークリソースをパブリッシュすることの利点の1つは、この配信方法をサポートする標準の技術が幅広い事である。本開示に従う実施形態はまた、管理者が、非マネージドの機器が利用可能なリソースを容易に追加、削除および更新することを可能にすることができ、それらのリソースが、ローカルにインストールされたリソースのように振舞うことを可能にすることができる。
図2は、本開示の実施形態に従ってXMLフィードをフェッチするための接続シーケンス200を示す図である。本実施形態において、ウェブ対応クライアントアプリケーション202は、XMLプレゼンテーション層205に利用可能なリソースを求める要求204を行う。例えば、いくつかの実施形態において、ウェブ対応クライアントアプリケーション202は、図1に示すようなユーザコンピュータ上にインストールされるスマートクライアントとすることができる。あるいは、ウェブ対応クライアントアプリケーション202を、例えば、携帯電話、PDA(personal data assistant)、携帯用ナビゲーション装置、WiFi対応コンポーネント、または任意の他の適切なプラットフォームといった様々な適切なプラットフォーム上にインストールすることができる。
図2にさらに示すように、XMLプレゼンテーション層205は、要求204を受け取る(例えば、情報コンポーネント206または他の適切なコンポーネントを介して)。XMLプレゼンテーション層205は、XMLコンテンツをレンダリングする208よう構成される(例えば、XMLフィードコンポーネント210または他の適切なコンポーネントを使用して)。XMLプレゼンテーション層205は次に、本件特許出願人から入手可能なTerminal Services RAP Webアクセスサービスといった、リモートアプリケーションパブリッシング(RAP)ウェブサービス214からのリモートリソースを要求する212。RAPウェブサービス214は、利用可能なリソースを含むリソース情報216を、XMLプレゼンテーション層205に提供する。XMLプレゼンテーション層205は、ウェブ対応クライアントアプリケーション202に返されるXMLフィード218に、リソース情報216をレンダリングする。
特定の実施形態において、XMLプレゼンテーション層205では、セットアップおよびデータ伝送に既存のターミナルサービスウェブアクセス(TSWA)構造を使用するが、見つけることが可能なリソース216のリストを、例えば、リソース、アイコンおよびRDP(Remote Desktop Protocol)ファイルを含むことができるXML文書218に変換する、新規のコンポーネントおよび特徴を組み込んでいる。従って、XMLプレゼンテーション層205は、HTML(Hypertext Markup Language)文書に変換されること、または他のリソースにより直接使用されることが可能なXML文書218を提供する。
図3は、本開示の実施形態に従って、XMLプレゼンテーション層205により実施することができる、XMLコンテンツをレンダリングするための処理300のフローチャートである。本実施形態において、処理300には、302にて、ウェブ構成内のリソースホストのリストを取得するステップを含む。処理300は、304にて、サーバのリストから、まだ処理されていないサーバがあるかどうかを判定する。ある場合、処理300は、306にて、リモートリソースをウェブサービスから取得し、処理300は、308にて、全てのリソースが未処理のサーバからフェッチされたかどうかを判定する。全てのリソースがフェッチされたのではない場合、処理300は304に戻り、未処理のサーバの判定を継続し(304にて)、全てのリモートリソースがフェッチされるまで(308にて)、リモートリソースを取得する(306にて)。
処理300は、310にて、返されたリソースを現在のリソースリストにマージし、処理300は304に戻り、何らかの未処理のサーバが残っているかどうかを判定する。未処理のサーバが無くなると(304にて)、処理300は、312にて、現在のリソースリストのXML文書(またはフィード)を生成し、314にて、現在のリソースリストのXML文書を返す。
図4は、本開示の別の実施形態に従って、XMLプレゼンテーション層205により実施することができる、XMLコンテンツをレンダリングするための処理400のフローチャートである。本実施形態において、処理400には、402にて、リモート端末サーバを識別するステップを含む。処理400は、404にて、ウェブサービスを介してリモート端末サーバからリモートリソースを取得し、406にて、リモート端末サーバからの全てのリソースがフェッチされたかどうかを判定する。全てのリソースがフェッチされたのではない場合、処理400は404に戻り、ウェブサービスからリモートリソースの取得を継続する。
全てのリソースがフェッチされると(406にて)、処理400は、408にて、返されたリソースを現在のリソースリストにマージする。410にて、現在のリソースリストのXML文書(またはフィード)を生成し、412にて、現在のリソースリストのXML文書を、ウェブ対応クライアントリソースに返す。
XMLプレゼンテーション層から利用可能なリソースのXMLフィードを受け取るユーザコンピュータ110は、任意の適切なコンピューティングデバイスまたはプラットフォームとすることができる。例えば、図5は、本開示の実施形態に従うコンピューティングデバイス500の概略図である。極めて基本的な構成では、コンピューティングデバイス500には、少なくとも1つの処理ユニット502およびシステムメモリ504を含む。コンピューティングデバイス500の正確な構成およびタイプによっては、システムメモリ504は、揮発性(例えば、RAM)、不揮発性(例えば、ROMおよびフラッシュメモリ)、またはこの2つの何らかの組み合わせとすることができる。システムメモリ504には一般的には、オペレーティングシステム506、1つまたは複数のプログラムモジュール508を含み、かつプログラムデータ510を含むことができる。代替として、他のモジュールと同様に、プログラムモジュール508をオペレーティングシステム506の一部として実装することができ、またはプログラムモジュール508をコンピューティングデバイス上にインストールし、かつシステムメモリ504とは別個の他のメモリ(例えば、非リムーバブル記憶装置522)に記憶することができる。
図5にさらに示すように、スマートクライアント120は、システムメモリ504に記憶される。スマートクライアント120は、XMLプレゼンテーション層132と動作可能に通信するように構成されて、起動後にローカルにインストールされたプログラムほとんど同じように振舞うリモートプログラムを起動する能力を提供する。スマートクライアント120の実施形態は、図6に関して、以下にさらに詳細に説明する。
コンピューティングデバイス500は、追加の特徴または機能性を有することができる。例えば、コンピューティングデバイス500には、追加のデータ記憶装置(リムーバブルおよび/または非リムーバブル)、例えば、磁気ディスク、光ディスク、またはテープ、等を含むこともできる。そのような追加の記憶装置を、リムーバブル記憶装置520および非リムーバブル記憶装置522として図8に示す。コンピュータ記憶媒体には、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータといった情報を記憶するための任意の方法または技術で実装される、揮発性および不揮発性、リムーバブルおよび非リムーバブルの媒体を含むことができる。システムメモリ506、リムーバブル記憶装置520、および非リムーバブル記憶装置522は、全てコンピュータ記憶媒体の例である。従って、コンピュータ記憶媒体には、RAM、ROM、EEPROM、フラッシュメモリもしくは他のメモリ技術、CD−ROM、DVD(digital versatile disk)もしくは他の光学記憶装置、磁気カセット、磁気テープ、磁気ディスク記憶装置もしくは他の磁気記憶装置、または、所望の情報を記憶するために使用可能であり、かつコンピューティングデバイス500によりアクセス可能な任意の他の媒体を含むが、これに限らない。任意のそのようなコンピュータ記憶媒体は、デバイス500の一部とすることができる。コンピューティングデバイス500はまた、キーボード、マウス、ペン、音声入力デバイス、およびタッチ入力デバイスといった入力デバイス(単数または複数)524を有することができる。表示装置、スピーカ、およびプリンタといった出力デバイス(単数または複数)526も含むことができる。これらのデバイスは、当該技術分野において周知のものであり、詳細に検討する必要はない。
コンピューティングデバイス500にはまた、デバイスが、例えばネットワークを介して、他のコンピューティングデバイス530と通信することを可能にする、通信接続528を含むことができる。通信接続(単数または複数)528は、通信媒体の一例である。通信媒体は一般的には、コンピュータ可読命令、データ構造、プログラムモジュール、または、搬送波または他のトランスポート機構といった変調データ信号における他のデータにより具現化することができ、任意の情報配信媒体を含む。
種々のモジュールおよび技術を、1つまたは複数のコンピュータまたは他のデバイスにより実行される、プログラムモジュールといったコンピュータ実行可能命令の一般的コンテキストで、本明細書において説明することができる。一般に、プログラムモジュールには、特定のタスクを実施するため、または特定の抽象データ型を実装するための、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造等を含む。これらのプログラムモジュール等を、ネイティブコードとして実行するか、または、例えば仮想マシンまたは他のジャストインタイムのコンパイル実行環境において、ダウンロードし実行することができる。一般的には、プログラムモジュールの機能性は、種々の実施形態で所望の通りに組み合わせまたは分配することができる。これらのモジュールおよび技術の実装を、何らかの形式のコンピュータ可読媒体上に記憶するか、またはそれを介して伝送することができる。
当然のことながら、スマートクライアント120を幅広い種々の方法で構成して、本明細書において説明する所望の機能性および能力を提供することができる。例えば、図6は、スマートクライアント620、および本開示の特定の実施形態に従う代表的環境600の他のコンポーネント610との種々の相互作用の線図である。
図6に示す実施形態において、スマートクライアント600には、環境600のフィード構成612と動作可能に通信するワークスペースマネジャ622を含む。いくつかの実施形態において、フィード構成612は、ワークスペースへの接続614時のユーザ入力を表し、リソースフィードを取得するためのURL(Uniform Resource Locator)および認証情報を含むことができる。
ワークスペースマネジャ622は、スマートクライアント620の機能に関連するいくつかまたは全てのアクティビティの中央マネージャ(またはドライバ)とすることができる。いくつかの実施形態において、ワークスペースマネジャ622を、以下の内の1つまたは複数を実施するよう構成することができる。以下とはすなわち、ワークスペースフォルダ624の作成および削除を管理すること、パーサ626を起動してリモートリソース628またはダウンロードされたファイル630(例えば、RDPファイル)を指定されたフォルダロケーションにまとめること、ビューマネジャ632を起動してリモートリソースを(例えば、指定されたフォルダロケーション634を与えることにより)表示すること、複数のリモートワークスペース636を管理すること、または任意の他の適切な機能である。
例えば、いくつかの実施形態において、ワークスペースマネジャ622は、UI(user interface)スレッドを作成し、ウィンドウメッセージループをセットアップすることができる。ウィンドウメッセージループは、オブジェクトの作成中に呼び出される。ワークスペース636上で動作を実施する要求を、メッセージループを介してUIスレッドに直列化することができる。特定の実施形態において、UIスレッドの直列化は、単一の構成プロセスを一度に進行中にする(すなわち、新しいワークスペースを構成する)ことができる。一度に複数の動作を実施しようとユーザが試みても(例えば、「ワークスペースに接続」する動作を開始し、次に、最初の動作が完了した構成になる前にもう一度開始する)、進行中の構成ウィンドウが前景に出されて、その試みは阻止される。しかし、UIスレッドの直列化により、複数のワークスペースウィンドウが同時に開かれることを防ぐことができる。構成プロセスが完了し、ワークスペースウィンドウが表示されると、ウィンドウ事象が、UIスレッドが有するウィンドウプロシージャに伝達される。従って、直列化されたUIスレッドは、複数の開いたウィンドウを操作すること、および、新しいワークスペース管理要求に応答することも可能である。いくつかの実施形態において、UIスレッドは、ネットワーク要求、ディスクアクセス等といったブロッキングアクティビティを何ら実施することはできない。その代わり、そのようなブロッキングアクティビティは、UIスレッドにより生み出された別個のワーカスレッドに引き渡され、ワーカスレッドは、パーサ626を起動して、ブロッキングアクティビティを操作することができる。UIスレッドにより、任意のブロッキング動作から出てキャンセルする選択肢をユーザに与えることもできる。
パーサ626には、フィード検索638を起動してXMLにおいて指定されるリモートリソースのフィードをフェッチする役割がある。特定の実施形態において、パーサ626はまた、以下の内の1つまたは複数を実施することができる。以下とはすなわち、XMLファイル630をパースして各リモートリソースに対するRDPファイルおよびアイコンについての情報を抽出すること、およびフィード検索を起動してRDPファイルおよびアイコンを指定されたフォルダ640にダウンロードすることである。
フィード検索638は、リソースサーバ616(例えば、図1のウェブサーバ130)との接続を管理することができる。さらに詳細には、フィード検索638を、情報642(XMLファイル、RDPファイル、アイコン等)をリソースサーバ614からダウンロードするよう構成することができる。
ビューマネジャ632を、リモートリソースの表示を操作するよう構成することができる。ビューマネジャ632はまた、以下の内の1つまたは複数を実施するよう構成することができる。以下とはすなわち、エクスプローラブラウザコントロールを作成および構成して、スマートクライアント620のコンポーネントによりダウンロードされたRDPファイルをホストすること、およびエクスプローラブラウザコントロールを作成および構成して、RDPファイル型のシェルエクステンションハンドラ644として動作して表示されたフォルダ内のRDPファイルのルック・アンド・フィール(例えば、ビューウィンドウ、ロケーション等)646をカスタマイズすることである。
特定の実施形態において、ビューマネジャ626の機能を異なるコンテキストにおいて実施することができる。例えば、第1のコンテキストにおいて、Windows Explorer「登録商標」618(本件特許出願人社製)は、エクスプローラブラウザコントロールにファイルを表示する前に、RDPファイルのシェルエクステンションハンドラを(例えば、COMを介して)起動することができる。代替のコンテキストにおいて、表示する前にRDPファイルを操作する他の方法も使用することができる。
動作においては、スマートクライアント620のコンポーネントは、サーバ616と通信してリソースのリストを取得すること、およびユーザインターフェース内にデータを提示する(例えば、アイコンおよび/またはRDPファイルを表示する)ことを含めて、ワークスペースに関するデータ(リソース)を協同的に取得することができる。スマートクライアント620は、リソースサーバ616と通信してリソースのリストを取得することができる。リソースは、最終的にはクライアントコンピュータ110上にRDPファイルとして表すことができる。スマートクライアント620は、UI(user interface)内にデータを提示する時に、以下の内の1つまたは複数を起動することができる。以下とはすなわち、エクスプローラブラウザコントロールをカプセル化するUI内にRDPファイルを提示すること、またはシェルエクステンションハンドラを使用してRDPファイルの振舞いおよび外観をカスタマイズすることである。
当然のことながら、本開示の技術に基づき様々な代替の実施形態が考えられ、かつ本開示は、本明細書において説明し添付の図面で示す特定の実施形態に限るものではない。例えば、図7は、本開示に従ってXMLベースのウェブフィードの技術を実装するための代替の環境700を示す。本実施形態において、環境700には、スマートクライアント120を有するユーザコンピュータ110を含む。バックエンド750は、スマートクライアント120と動作可能に通信し、かつアプリケーションプログラミングインターフェース752、762、および1つまたは複数のネットワーク770を介して、中央サーバ760と動作可能に通信する。バックエンド750には、フィードコンポーネント134およびIIS(Internet information server)136を有するXMLプレゼンテーション層732を含む。
中央サーバ760は、1つまたは複数のリソース(またはソフトウェアプログラム)142がその上にインストールされた1つまたは複数のリモートリソースホスト140と、動作可能に通信する。図7に示される実施形態において、例えば、リソースホスト140には、本件特許出願人が開発したActive Directoryとして知られるディレクトリサービスといった、ディレクトリサービス140Bを含む。上述したように、リソースホスト140には、端末サーバ、ディレクトリ、ディレクトリサービス(例えば、Active Directory)、集中型パブリッシングソース、または任意の他の適切なホストもしくはソースを含むことができる。
動作においては、スマートクライアント120は、バックエンド750に、リモートリソースホスト140上で見つかる利用可能なリソースを求める要求122を行う。いくつかの実施形態において、XMLプレゼンテーション層732のIIS136は、要求122を受け取り、XMLフィードコンポーネント134にXMLフィードのコール138行う。いくつかの実施形態において、XMLプレゼンテーション層732は、利用可能なリソースの現在のリストが既にキャッシュされ、スマートクライアント120に提供することが可能であるかどうかを判定し、そうであると判定すると、キャッシュされたリストを、スマートクライアント120に提供する。リソースの現在のリストがキャッシュされていない場合、XMLプレゼンテーション層732は(例えば、XMLフィードコンポーネント134を使用して)、現在のリソースの要求を中央サーバ760に伝え、中央サーバがリソースホスト140に、各リソースホスト140上で利用可能なリソースのリストを求める要求135を送る。リソースホスト140は、それぞれの端末サーバ140上で利用可能な、利用可能なリソース142のリスト145を返し、中央サーバ760が、利用可能なリソース情報をバックエンド750に返す。上述のように、XMLフィードコンポーネント134は、スマートクライアント120に返すXMLフィード125にリスト145をレンダリングする。リソース142に対応するアイコン112を、ユーザコンピュータ110の表示コンポーネント114上に表示することができ、ユーザが、ローカルにインストールされたプログラムとほとんど同じようにリソース142を使用することが可能になる。
さらなる実施形態において、XMLフィード125は、様々な代替の方法で使用することができ、ユーザコンピュータ110への配信に限らない。例えば、図7に示すように、XMLフィード125を、ネットワーク770を介して中央サーバ760またはリソースホスト140にフィードバック725することができる。フィードバックされたXMLフィード725は、例えば、どのリソースをホストすべきかを判定するためにリソースホスト140により使用されるか、または任意の他の適切な使用がなされる。さらに他の実施形態において、種々の目的、例えば、HTMLウェブページ742にXMLフィード125を変換する(例えば、XSLT(Extensible Stylesheet Language Transformation)といった技術を介して)というような目的で、XMLフィード125を使用することができるウェブサーバ740に、XMLフィード125を提供735することができる。
上述したように、リモートリソース142といったネットワークリソースを、XML文書125を介してパブリッシュすることの利点の1つは、この配信方法をサポートする標準技術の幅が広いことである。そのような技術の1つは、一般に、ウェブシンジケーションと称され、パブリッシュされたネットワークリソースに対する変更についてエンドユーザに通知する処理を簡素化するものである。
例えば、エンドユーザが、自分のクライアントコンピュータで、全ての利用可能なネットワークリソース(例えば、リモートリソース142)へのシームレスなアクセスが常に許可されることは、エンドユーザにとっては興味深い事であろう。本開示の技術によると、そのようなリソースは、単一のXML文書125にパブリッシュされる。このXML文書125に変更があれば、エンドユーザは、自分のユーザコンピュータ(または他のプラットフォーム)110にそれを反映させたいであろう。同期機構を実装して、ユーザコンピュータ110の構成とパブリッシュされたリソースデータとの間のこの同期を自動的に達成することができる。例えば、いくつかの実施形態において、ユーザコンピュータ110上の処理は、完全なXMLファイル125を周期的にダウンロードし、それをユーザコンピュータ110上の構成と比較し、ユーザコンピュータ110の構成(またはクライアントの構成)を更新して任意の最新の変更を組み込むことができる。
XML文書は、数十または数百もの利用可能なリソースを記述することができるため、そのような自動同期機構は、クライアントおよびウェブサーバの両方に対し著しいリソースオーバヘッドを要求することになる。ほとんどのパブリッシュされたリソースが長期間同じままであろうと予測できるため、そのような同期アクティビティに関連するオーバヘッド負荷を、タイムスタンプ情報をXML文書125の各リソースノードに含まれるようにすることにより、減少させることが可能である。
より具体的には、図1および7を参照すると、1つまたは複数の利用可能なリソースに関する情報145をXML文書125にレンダリングすることには、1つまたは複数の利用可能なリソースのそれぞれにタイムスタンプ情報を提供することが含むことができ、タイムスタンプ情報により、1つまたは複数の利用可能なリソースのそれぞれが前回の利用可能なリソースのバージョンから修正されたかどうかを、ユーザコンピュータ110が判定することが可能になる。これにより、スマートクライアント120が、タイムスタンプ情報を分析し、変更されたリソースに対する補足ファイル(例えば、RDPファイルおよびアイコン)のみをダウンロードすることが可能になる。そのような同期機構は、各リソース(またはアプリケーション)が同期の度に何らかの処理を受けること、および、クライアント側の状態が各リモートリソースの何らかのデータ(例えば、「最新更新」時の値の形式で)を保持することを要求することができる。
さらなる実施形態において、ウェブシンジケーション技術(例えば、Really Simple SyndicationまたはAtom)により、同期のオーバヘッドを減少させる必要性に対して代替の解決策が提供される(例えば、http://www.rssboard.org/rssspecification;http://tools.ietf.org/html/rfc4287を参照)。これらの技術により、主要なウェブリソースを、そのリソースに対する変更についての時間ベースの情報で補うことができる。これは、「シンジケーションフィード」、すなわち、その主要なリソースに対してどんな最新の変更がなされたかを、機械可読の標準XML言語で記述する、周知のロケーションにあるウェブ文書、において実装される。例えば、ニューヨークタイムスのような出版物のウェブサイトは、数種類のコンテンツのシンジケーションフィードを提供することができる。例えば、新しい記事がウェブサイトに追加されると、エントリも関連するシンジケーションフィードに追加されて、ユーザに変更を通知する。シンジケーションクライアントはこのフィード文書をURLから周期的に検索し、このフィード文書をパースすることにより、1つのシンジケーションクライアントがユーザに最近追加された記事について通知することができる。本開示の教示に従うXMLフィードの実施形態では、クライアントを、そのユーザコンピュータ上にインストールできるリモートリソースに対する変更について更新するというコンテキストにおいて、ウェブシンジケーション技術を同様に使用することができる。
図5のコンピューティングデバイス500を、ユーザデバイス(例えば、図1のユーザコンピュータ110)を表するものとして説明したが、当然のことながら、代替の実施形態において、コンピューティングデバイス500は、本明細書に開示するシステムおよび方法の他のハードウェアデバイスを表すものとすることもできる。例えば、コンピューティングデバイス500のスマートクライアント120を、XMLプレゼンテーション層(例えば、図1のXMLプレゼンテーション層132、図2のXMLプレゼンテーション層205、または図7のXMLプレゼンテーション層732)と置き替えると、コンピューティングデバイス500は、図1のウェブサーバ130または図7のバックエンド750の実施形態を表すことができる。同様に、スマートクライアント120を省略すると、コンピューティングデバイス500は、図7の中央サーバ760またはリソースホスト140の実施形態を表すものとすることができる。
結論
主題を、構造的特徴および/または方法論的な動作に固有の言語で説明したが、当然のことながら、添付の請求項に定義する主題は必ずしも説明した特定の特徴または動作に限定されない。むしろ、特定の特徴および動作は、請求項を実装する例示的形式として開示するものである。

Claims (17)

  1. 処理ユニットと、前記処理ユニットに動作可能に連結され、ユーザデバイスおよび1つまたは複数のリソースホストと動作可能に通信するよう構成される通信コンポーネントと、前記処理ユニットに動作可能に連結され、XML(Extensible Markup Language)プレゼンテーション層が記憶されるメモリと、を有するコンピュータ装置において、前記XMLプレゼンテーション層が前記処理ユニット上で実行されることにより、前記コンピュータ装置が実行する方法であって、
    前記ユーザデバイスと遠隔に存在するリモートに実行可能なアプリケーションのリソース情報前記1つまたは複数のリソースホスから取得するステップであって、前記リソース情報は、前記リモートに実行可能なアプリケーションを起動するための情報を含む、ステップと、
    前記リモートに実行可能なアプリケーションのリソース情報を、前記リモートに実行可能なアプリケーションを非クライアント固有のフォーマットで記述するXML文書にレンダリングするステップであって、レンダリングされる前記リソース情報は、前記リモートに実行可能なアプリケーションに対応する少なくとも1つのアイコンを含み、前記少なくとも1つのアイコンは前記リモートに実行可能なアプリケーションを起動するためにクリックされる、ステップと、
    前記XML文前記ユーザデバイに提供するステップと
    含み、
    前記XML文書を前記ユーザデバイスに提供する前記ステップは、前記リモートに実行可能なアプリケーションを求める前記ユーザデバイスからの要求に応答して、前記XML文書を提供するステップを
    含むことを特徴とする方法。
  2. 前記リソース情報は、前記リモートに実行可能なアプリケーションと関連付けることができる1つまたは複数のファイルのタイプを識別するファイルの関連付けを、さらに含むことを特徴とする請求項1に記載の方法。
  3. 前記XML文を前記ユーザデバイに提供する前記ステップは、前記XML文をシンジケーションフィードとして提供するステップを含むことを特徴とする請求項1に記載の方法。
  4. 前記XML文を前記ユーザデバイに提供する前記ステップは、前記リモートに実行可能なアプリケーションのそれぞれのタイムスタンプ情報を有する前記XML文を提供するステップであって、前記タイムスタンプ情報により、前記リモートに実行可能なアプリケーションのそれぞれが前回のリモートに実行可能なアプリケーションのバージョンから修正されたかどうかを、前記ユーザデバイスが判定することが可能になるステップを含むことを特徴とする請求項1に記載の方法。
  5. 前記リモートに実行可能なアプリケーションのリソース情報を前記XML文にレンダリングする前記ステップは、前記リモートに実行可能なアプリケーションのリソース情報を、前記リモートに実行可能なアプリケーションのそれぞれのタイムスタンプ情報を有する前記XML文にレンダリングするステップであって、前記タイムスタンプ情報により、前記リモートに実行可能なアプリケーションのそれぞれが前回のリモートに実行可能なアプリケーションのバージョンから修正されたかどうかを、前記ユーザデバイスが判定することが可能になるステップを含むことを特徴とする請求項1に記載の方法。
  6. 前記XMLプレゼンテーションは、XMLフィードコンポーネンを含み、前記リモートに実行可能なアプリケーションのリソース情報を前記XML文にレンダリングする前記ステップは、前記リモートに実行可能なアプリケーションのリソース情報を、前記XMLフィードコンポーネンを使用して、前記XML文にレンダリングするステップを含むことを特徴とする請求項に記載の方法。
  7. 前記XMLプレゼンテーションは、情報コンポーネントを含み、
    リモートに実行可能なアプリケーションを求める要求を前記ユーザデバイから前記情報コンポーネントに受け取るステップと、前記情報コンポーネントから前記XMLフィードコンポーネンにXMLフィードのコールを行うステップとをさらに含むことを特徴とする請求項に記載の方法。
  8. 前記リモートに実行可能なアプリケーションの現在のリストがキャッシュされ、前記ユーザデバイスに提供することが可能であるかどうかを判定するステップをさらに含み、前記リモートに実行可能なアプリケーションのリソース情報を前記1つまたは複数のリソースホスから取得する前記ステップは、前記リモートに実行可能なアプリケーションの前記現在のリストがキャッシュされておらず、前記ユーザデバイスに提供することが可能でない場合に、前記リモートに実行可能なアプリケーションのリソース情報を取得するステップを含むことを特徴とする請求項1に記載の方法。
  9. 処理ユニットと、前記処理ユニットに動作可能に連結され、1つまたは複数のリモートリソースホストと動作可能に通信するよう構成される通信コンポーネントと、前記処理ユニットに動作可能に連結され、スマートクライアントが記憶されるメモリと、を有するユーザデバイスにおいて、前記スマートクライアントが前記処理ユニット上で実行されることにより、前記ユーザデバイスが実行する方法であって、
    前記ユーザデバイスと遠隔に存在するリモートに実行可能なアプリケーションのリソース情報を含有するXML(Extensible Markup Language)文を、前記1つまたは複数のリモートリソースホスから受け取るステップであって、前記リソース情報は、前記リモートに実行可能なアプリケーションを起動するための情報を含み、前記XML文は、前記リモートに実行可能なアプリケーションを非クライアント固有のフォーマットで記述するよう構成されるステップと、
    前記XML文をパースして、前記リモートに実行可能なアプリケーションを判定するステップと、
    前記リモートに実行可能なアプリケーションのリソース情報を表示するステップであって、前記リソース情報は、前記リモートに実行可能なアプリケーションに対応する少なくとも1つのアイコンを含み、前記少なくとも1つのアイコンは前記リモートに実行可能なアプリケーションを起動するためにクリックされる、ステップ
    含み、
    前記リモートに実行可能なアプリケーションのリソース情報を含有する前記XML文書を前記1つまたは複数のリモートリソースホストから受け取るステップは、前記リモートに実行可能なアプリケーションを求める前記ユーザデバイスからの要求に応答して、前記XML文書を受け取るステップを
    含むことを特徴とする方法。
  10. 前記リソース情報は、前記リモートに実行可能なアプリケーションと関連付けることができる1つまたは複数のファイルのタイプを識別するファイルの関連付けを、さらに含むことを特徴とする請求項9に記載の方法。
  11. 前記リモートに実行可能なアプリケーションのリソース情報を含有する前記XML文を前記1つまたは複数のリモートリソースホスから受け取る前記ステップは、前記XML文をシンジケーションフィードとして受け取るステップを含むことを特徴とする請求項に記載の方法。
  12. 前記リモートに実行可能なアプリケーションのリソース情報を含有する前記XML文を前記1つまたは複数のリモートリソースホスから受け取る前記ステップは、前記リモートに実行可能なアプリケーションのそれぞれのタイムスタンプ情報を有する前記XML文を受け取るステップを含み、
    前記リモートに実行可能なアプリケーションのそれぞれが前回のリモートに実行可能なアプリケーションのバージョンから修正されたかどうかを、前記タイムスタンプ情報を使用して判定するステップをさらに含むことを特徴とする請求項に記載の方法。
  13. 処理ユニットと、
    前記処理ユニットに動作可能に連結され、ユーザデバイおよび1つまたは複数のリソースホスと動作可能に通信するよう構成される通信コンポーネントと、
    前記処理ユニットに動作可能に連結され、XML(Extensible Markup Language)プレゼンテーションがメモリの上に記憶されるメモリであって、前記XMLプレゼンテーションは、前記処理ユニット上で実行されると、
    前記ユーザデバイスと遠隔に存在するリモートに実行可能なアプリケーションのリソース情報を前記1つまたは複数のリソースホスから取得するステップであって、前記リソース情報は、前記リモートに実行可能なアプリケーションを起動するための情報を含む、ステップと、
    前記リモートに実行可能なアプリケーションのリソース情報を、前記リモートに実行可能なアプリケーションを非クライアント固有のフォーマットで記述するXML文にレンダリングするステップであって、レンダリングされる前記リソース情報は、前記リモートに実行可能なアプリケーションに対応する少なくとも1つのアイコンを含み、前記少なくとも1つのアイコンは前記リモートに実行可能なアプリケーションを起動するためにクリックされる、ステップと、
    前記XML文を前記ユーザデバイに提供するステップと
    含み、
    前記XML文書を前記ユーザデバイスに提供する前記ステップは、前記リモートに実行可能なアプリケーションを求める前記ユーザデバイスからの要求に応答して、前記XML文書を提供するステップを
    含む方法を実施する動作を行うよう構成されるメモリと
    を備えることを特徴とするコンピュータシステム。
  14. 前記リソース情報は、前記リモートに実行可能なアプリケーションと関連付けることができる1つまたは複数のファイルのタイプを識別するファイルの関連付けを、さらに含むことを特徴とする請求項13に記載のシステム。
  15. 前記XML文を前記ユーザデバイに提供する前記ステップは、前記XML文をシンジケーションフィードとして提供するステップを含むことを特徴とする請求項13に記載のシステム。
  16. 前記リモートに実行可能なアプリケーションのリソース情報を前記XML文にレンダリングする前記ステップは、前記リモートに実行可能なアプリケーションのリソース情報を、前記リモートに実行可能なアプリケーションのそれぞれのタイムスタンプ情報を有する前記XML文にレンダリングするステップであって、前記タイムスタンプ情報により、前記リモートに実行可能なアプリケーションのそれぞれが前回のリモートに実行可能なアプリケーションのバージョンから修正されたかどうかを、前記ユーザデバイスが判定することが可能になるステップを含むことを特徴とする請求項13に記載のシステム。
  17. リモートに実行可能なアプリケーションの現在のリストがキャッシュされ、ユーザデバイスに提供することが可能であるかどうかを判定するステップをさらに含み、
    前記リモートに実行可能なアプリケーションのリソース情報を、前記1つまたは複数のリソースホスから取得する前記ステップは、前記リモートに実行可能なアプリケーションの前記現在のリストがキャッシュされておらず、ユーザデバイスに提供することが可能でない場合に、前記リモートに実行可能なアプリケーションのリソース情報を取得するステップを含むことを特徴とする請求項13に記載のシステム。
JP2010548775A 2008-02-28 2009-01-30 リモートリソースのウェブアクセスのためのxmlベースのウェブフィード Expired - Fee Related JP5389829B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/039,725 2008-02-28
US12/039,725 US8161160B2 (en) 2008-02-28 2008-02-28 XML-based web feed for web access of remote resources
PCT/US2009/032599 WO2009108451A2 (en) 2008-02-28 2009-01-30 Xml-based web feed for web access of remote resources

Publications (2)

Publication Number Publication Date
JP2011513841A JP2011513841A (ja) 2011-04-28
JP5389829B2 true JP5389829B2 (ja) 2014-01-15

Family

ID=41014015

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010548775A Expired - Fee Related JP5389829B2 (ja) 2008-02-28 2009-01-30 リモートリソースのウェブアクセスのためのxmlベースのウェブフィード

Country Status (8)

Country Link
US (2) US8161160B2 (ja)
EP (1) EP2257894A4 (ja)
JP (1) JP5389829B2 (ja)
KR (1) KR101505234B1 (ja)
CN (1) CN101960449B (ja)
BR (1) BRPI0907198A2 (ja)
RU (1) RU2503056C2 (ja)
WO (1) WO2009108451A2 (ja)

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8683062B2 (en) 2008-02-28 2014-03-25 Microsoft Corporation Centralized publishing of network resources
US8612862B2 (en) 2008-06-27 2013-12-17 Microsoft Corporation Integrated client for access to remote resources
US8489774B2 (en) * 2009-05-27 2013-07-16 Spot411 Technologies, Inc. Synchronized delivery of interactive content
WO2010138777A1 (en) * 2009-05-27 2010-12-02 Arsh Technologies, Llc Automatic resource retrieval and use
US20110055683A1 (en) * 2009-09-02 2011-03-03 Facebook Inc. Page caching for rendering dynamic web pages
US20110258679A1 (en) * 2010-04-15 2011-10-20 International Business Machines Corporation Method and System for Accessing Network Feed Entries
US20110307831A1 (en) * 2010-06-10 2011-12-15 Microsoft Corporation User-Controlled Application Access to Resources
US20120084369A1 (en) * 2010-09-30 2012-04-05 Microsoft Corporation Unified Reconnection To Multiple Remote Servers
US9621406B2 (en) 2011-06-30 2017-04-11 Amazon Technologies, Inc. Remote browsing session management
US8706860B2 (en) 2011-06-30 2014-04-22 Amazon Technologies, Inc. Remote browsing session management
US8577963B2 (en) 2011-06-30 2013-11-05 Amazon Technologies, Inc. Remote browsing session between client browser and network based browser
JP6073336B2 (ja) * 2011-09-27 2017-02-01 アマゾン テクノロジーズ インコーポレイテッド 履歴上のブラウジングセッション管理
US20130091197A1 (en) 2011-10-11 2013-04-11 Microsoft Corporation Mobile device as a local server
AU2012322684B2 (en) * 2011-10-11 2017-05-25 Microsoft Technology Licensing, Llc Event service for local client applications through local server
US20130110905A1 (en) * 2011-10-28 2013-05-02 Microsoft Corporation File type associations for remote applications
US8935402B2 (en) 2011-12-08 2015-01-13 Microsoft Corporation Resource launch from application within application container
US9690593B2 (en) * 2013-03-04 2017-06-27 Dell Products L.P. Server information handling system configuration from an end state definition file
JP6300475B2 (ja) * 2013-09-03 2018-03-28 キヤノン株式会社 情報処理装置および通信機器およびその制御方法およびデータ転送方法およびプログラム
CN103618791B (zh) * 2013-11-29 2016-07-13 北京神州绿盟信息安全科技股份有限公司 一种支持xslt文件的web反向代理方法、装置和***
US9431002B2 (en) 2014-03-04 2016-08-30 Tribune Digital Ventures, Llc Real time popularity based audible content aquisition
WO2015143416A1 (en) * 2014-03-21 2015-09-24 Ptc Inc. Systems and methods for developing and using real-time data applications
US20150286623A1 (en) * 2014-04-02 2015-10-08 Samsung Electronics Co., Ltd. Method and apparatus for marking relevant updates to html 5
CN104010031B (zh) * 2014-05-21 2018-01-05 华南理工大学 一种改善Web浏览器应用效率的分布式协同方法
EP3295336A4 (en) * 2015-05-08 2018-12-26 Flowjo, LLC Data discovery nodes
US10389795B2 (en) * 2015-10-09 2019-08-20 Microsoft Technology Licensing, Llc Distributed extension execution in computing systems
US9819696B2 (en) * 2015-11-04 2017-11-14 Bitdefender IPR Management Ltd. Systems and methods for detecting domain generation algorithm (DGA) malware
US10261963B2 (en) 2016-01-04 2019-04-16 Gracenote, Inc. Generating and distributing playlists with related music and stories
US10558478B2 (en) 2016-12-15 2020-02-11 Nutanix, Inc. Specification-based computing system configuration
US10565980B1 (en) 2016-12-21 2020-02-18 Gracenote Digital Ventures, Llc Audio streaming of text-based articles from newsfeeds
US10419508B1 (en) 2016-12-21 2019-09-17 Gracenote Digital Ventures, Llc Saving media for in-automobile playout
US10019225B1 (en) 2016-12-21 2018-07-10 Gracenote Digital Ventures, Llc Audio streaming based on in-automobile detection
US11366687B2 (en) * 2020-05-26 2022-06-21 Bank Of America Corporation Task allocations based on color-coded representations
US11237851B1 (en) 2020-07-14 2022-02-01 Xerox Corporation Simultaneous generation of differently interactive device menus automatically from an initial device menu
CN114374726A (zh) * 2022-01-07 2022-04-19 阿里巴巴(中国)有限公司 一种云桌面处理方法及***

Family Cites Families (67)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08249357A (ja) * 1994-12-22 1996-09-27 Fuji Xerox Co Ltd 情報処理装置
US6463459B1 (en) * 1999-01-22 2002-10-08 Wall Data Incorporated System and method for executing commands associated with specific virtual desktop
US6510523B1 (en) * 1999-02-22 2003-01-21 Sun Microsystems Inc. Method and system for providing limited access privileges with an untrusted terminal
JP3220862B2 (ja) * 1999-05-26 2001-10-22 株式会社高岳製作所 ネットワーク装置及びネットワーク用端末装置
US6976262B1 (en) * 1999-06-14 2005-12-13 Sun Microsystems, Inc. Web-based enterprise management with multiple repository capability
JP3641590B2 (ja) * 2000-03-13 2005-04-20 ヤフー株式会社 アクセス認証システム
US6854016B1 (en) * 2000-06-19 2005-02-08 International Business Machines Corporation System and method for a web based trust model governing delivery of services and programs
CN1138216C (zh) 2000-06-21 2004-02-11 国际商业机器公司 为多种设备提供快速信息服务的装置及方法
WO2002005065A2 (en) * 2000-07-11 2002-01-17 Juice Software, Inc. A method and system for integrating network-based functionality into productivity applications and documents
US7313588B1 (en) * 2000-07-13 2007-12-25 Biap Systems, Inc. Locally executing software agent for retrieving remote content and method for creation and use of the agent
US7269580B2 (en) * 2000-10-03 2007-09-11 Celcorp, Inc. Application integration system and method using intelligent agents for integrating information access over extended networks
US6996778B2 (en) * 2000-12-11 2006-02-07 Microsoft Corporation User interface for managing multiple network resources
US7774838B2 (en) * 2001-02-14 2010-08-10 Tricerat, Inc. Thorough operation restriction
US6999912B2 (en) * 2001-03-13 2006-02-14 Microsoft Corporation Provisioning computing services via an on-line networked computing environment
US20020198965A1 (en) * 2001-06-26 2002-12-26 Kraft Matthew J. Method and apparatus to facilitate establishing a distributed internet application platform
KR20030003314A (ko) 2001-06-30 2003-01-10 (주)메타젠소프트 씬 클라이언트 아키텍쳐를 이용한 무선 pda 서비스시스템
US7925737B2 (en) * 2001-09-17 2011-04-12 Hewlett-Packard Development Company, L.P. System and method for dynamic configuration of network resources
US6973482B2 (en) * 2001-10-01 2005-12-06 Microsoft Corporation Remote assistance
US20030078987A1 (en) * 2001-10-24 2003-04-24 Oleg Serebrennikov Navigating network communications resources based on telephone-number metadata
US7257613B2 (en) * 2001-11-20 2007-08-14 Sun Microsystems, Inc. Methods to develop remote applications with built in feedback ability for use in a distributed test framework
US7130891B2 (en) * 2002-02-04 2006-10-31 Datasynapse, Inc. Score-based scheduling of service requests in a grid services computing platform
WO2003067361A2 (en) * 2002-02-05 2003-08-14 Eutech Cybernetics Pte Ltd. Remote application publication and communication system
US6954930B2 (en) * 2002-02-19 2005-10-11 International Business Machines Corporation Remote validation of installation input data
JP3946057B2 (ja) 2002-03-01 2007-07-18 富士通株式会社 整合性検査支援方法および整合性検査支援システム
US7080404B2 (en) * 2002-04-01 2006-07-18 Microsoft Corporation Automatic re-authentication
US7363363B2 (en) * 2002-05-17 2008-04-22 Xds, Inc. System and method for provisioning universal stateless digital and computing services
US20040010786A1 (en) * 2002-07-11 2004-01-15 Microsoft Corporation System and method for automatically upgrading a software application
US20040045004A1 (en) * 2002-08-29 2004-03-04 Manoj Cheenath System for runtime web service to java translation
DE10242919A1 (de) * 2002-09-16 2004-03-25 Siemens Ag System zur virtuellen Prozessanbindung über Remote Desktop Protocol (RDP)
US7743158B2 (en) * 2002-12-04 2010-06-22 Ntt Docomo, Inc. Access network dynamic firewall
US7676675B2 (en) * 2003-06-06 2010-03-09 Microsoft Corporation Architecture for connecting a remote client to a local client desktop
JP2005056207A (ja) * 2003-08-05 2005-03-03 Sanyo Electric Co Ltd ネットワークシステム、宅内機器制御サーバおよび仲介サーバ
US20050080909A1 (en) * 2003-10-10 2005-04-14 Anatoliy Panasyuk Methods and apparatus for scalable secure remote desktop access
GB2407176A (en) * 2003-10-14 2005-04-20 Boc Group Plc Remote monitoring of equipment
US20050125739A1 (en) * 2003-11-20 2005-06-09 Thompson Jeffrey W. Virtual desktop manager system and method
US7590713B2 (en) * 2003-11-24 2009-09-15 Microsoft Corporation Presenting a merged view of remote application shortcuts from multiple providers
US7475125B2 (en) * 2003-11-24 2009-01-06 Microsoft Corporation Seamless discovery of workstation-installed remote applications from an extranet
US7720906B2 (en) * 2003-11-24 2010-05-18 Microsoft Corporation Web service for remote application discovery
US8590032B2 (en) * 2003-12-10 2013-11-19 Aventail Llc Rule-based routing to resources through a network
US7263345B2 (en) * 2004-03-17 2007-08-28 Nokia Corporation System and method for remote service information
US20060010125A1 (en) 2004-05-21 2006-01-12 Bea Systems, Inc. Systems and methods for collaborative shared workspaces
US20050267972A1 (en) * 2004-05-25 2005-12-01 Nokia Corporation Lightweight remote display protocol
US7587755B2 (en) * 2004-07-02 2009-09-08 Citrix Systems, Inc. System and method for executing interactive applications with minimal privileges
US7783987B2 (en) * 2004-07-30 2010-08-24 Microsoft Corporation User experience enforcement
US7634539B2 (en) 2004-08-02 2009-12-15 Sap Ag Relations between collaboration workspaces
US7590750B2 (en) * 2004-09-10 2009-09-15 Microsoft Corporation Systems and methods for multimedia remoting over terminal server connections
US8613048B2 (en) * 2004-09-30 2013-12-17 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US7483961B2 (en) * 2004-11-23 2009-01-27 Microsoft Corporation Method and apparatus for controlling execution of an application
US20060136389A1 (en) * 2004-12-22 2006-06-22 Cover Clay H System and method for invocation of streaming application
US8347088B2 (en) * 2005-02-01 2013-01-01 Newsilike Media Group, Inc Security systems and methods for use with structured and unstructured data
US7810148B2 (en) * 2005-02-25 2010-10-05 Microsoft Corporation Enabling terminal services through a firewall
US7809366B2 (en) * 2005-03-21 2010-10-05 Hewlett-Packard Development Company, L.P. Mobile device client
US20060230438A1 (en) * 2005-04-06 2006-10-12 Ericom Software Ltd. Single sign-on to remote server sessions using the credentials of the local client
US7657837B2 (en) * 2005-04-06 2010-02-02 Ericom Software Ltd. Seamless windows functionality to remote desktop sessions regarding z-order
US8326993B2 (en) * 2005-04-29 2012-12-04 Microsoft Corporation Techniques for managing terminal services sessions
US20060282855A1 (en) * 2005-05-05 2006-12-14 Digital Display Innovations, Llc Multiple remote display system
US20070033290A1 (en) * 2005-08-03 2007-02-08 Valen Joseph R V Iii Normalization and customization of syndication feeds
US20070094389A1 (en) * 2005-10-23 2007-04-26 Bill Nussey Provision of rss feeds based on classification of content
US9390395B2 (en) 2005-11-30 2016-07-12 Oracle International Corporation Methods and apparatus for defining a collaborative workspace
WO2007075846A2 (en) 2005-12-19 2007-07-05 Propero Ltd. Method and system for providing virtualized application workspaces
US7533136B2 (en) 2005-12-22 2009-05-12 Oracle International Corporation Efficient implementation of multiple work areas in a file system like repository that supports file versioning
US7774710B2 (en) 2005-12-28 2010-08-10 Sap Ag Automatic sharing of online resources in a multi-user computer system
US8627490B2 (en) * 2005-12-29 2014-01-07 Nextlabs, Inc. Enforcing document control in an information management system
US8606845B2 (en) * 2005-12-30 2013-12-10 Microsoft Corporation RSS feed generator
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20070233804A1 (en) * 2006-03-31 2007-10-04 Microsoft Corporation Providing remote application access in accordance with decentralized configuration information
US7512903B2 (en) 2006-04-13 2009-03-31 International Business Machines Corporation Selectively displaying in an IDE

Also Published As

Publication number Publication date
WO2009108451A2 (en) 2009-09-03
EP2257894A4 (en) 2015-03-04
EP2257894A2 (en) 2010-12-08
WO2009108451A3 (en) 2009-12-10
JP2011513841A (ja) 2011-04-28
CN101960449A (zh) 2011-01-26
US8161160B2 (en) 2012-04-17
CN101960449B (zh) 2017-03-08
BRPI0907198A2 (pt) 2015-07-14
US20090222531A1 (en) 2009-09-03
RU2010136035A (ru) 2012-03-10
RU2503056C2 (ru) 2013-12-27
KR101505234B1 (ko) 2015-03-24
US20120203911A1 (en) 2012-08-09
KR20100126313A (ko) 2010-12-01

Similar Documents

Publication Publication Date Title
JP5389829B2 (ja) リモートリソースのウェブアクセスのためのxmlベースのウェブフィード
US8612862B2 (en) Integrated client for access to remote resources
US8127286B2 (en) MSI enhancement to update RDP files
US9332063B2 (en) Versatile application configuration for deployable computing environments
US8892454B2 (en) Configuration of web services
US9148488B2 (en) Configuration domains for the configuration of web services and consumer proxies
US9298747B2 (en) Deployable, consistent, and extensible computing environment platform
CA2495024C (en) System and method for adaptable provisioning of generic application content
US7734686B2 (en) Markup method for managing rich client code and experiences using multi-component pages
EP1174793A2 (en) System and method providing multi-tier applications architecture
US20080147671A1 (en) System for Running Web Applications Offline and Providing Access to Native Services
EP2668602A1 (en) Transferring configuration data from a public cloud server and applying onto a mobile client
EP1872208A1 (en) Method and apparatus to select and deliver portable portlets
JP2014534537A (ja) 専用のキャッシュを管理するためのシステム及び方法
US8250226B2 (en) Generating one or more clients for generating one or more synthetic transactions with one or more web service operations
US11411812B2 (en) Dynamic service creation for microservice-based integration service
US8645459B2 (en) System and method for a service provisioning platform for activating services in a communication network
US8578276B2 (en) Dynamic adaptive cross-site custom interface
JP5541160B2 (ja) プログラム入手・実行クライアント、プログラム入手・実行方法およびプログラム
US7860987B2 (en) Apparatus for providing service in response to user request and method therefor
JP4950389B2 (ja) ネットワークベースのアプリケーション、それを処理するためのアーキテクチャ及びシステム、ならびにそれを実行するための方法
JP2017126231A (ja) 文書生成システム
Polgar Presentation Oriented Web Services

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111031

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130410

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130712

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130719

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20130910

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20131009

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees