JP5757533B2 - ウェブブラウザ経由のアプリケーションに対するコンテンツ入力 - Google Patents

ウェブブラウザ経由のアプリケーションに対するコンテンツ入力 Download PDF

Info

Publication number
JP5757533B2
JP5757533B2 JP2012502131A JP2012502131A JP5757533B2 JP 5757533 B2 JP5757533 B2 JP 5757533B2 JP 2012502131 A JP2012502131 A JP 2012502131A JP 2012502131 A JP2012502131 A JP 2012502131A JP 5757533 B2 JP5757533 B2 JP 5757533B2
Authority
JP
Japan
Prior art keywords
application
component
data
input method
computer
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.)
Active
Application number
JP2012502131A
Other languages
English (en)
Other versions
JP2012521609A5 (ja
JP2012521609A (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 JP2012521609A publication Critical patent/JP2012521609A/ja
Publication of JP2012521609A5 publication Critical patent/JP2012521609A5/ja
Application granted granted Critical
Publication of JP5757533B2 publication Critical patent/JP5757533B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/174Form filling; Merging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、ウェブブラウザ経由のアプリケーションに対するコンテンツ入力に関する。
サードパーティのプログラムは、入力メソッドがサードパーティのコンポーネントを特定のシナリオにおいて入力体験を拡張する入力システムに付加することができるように、プラグイン能力を有する入力メソッドを要求する。このことは、その入力メソッドをコアバイナリに送った後、サービスとしての入力機能をさらに付加する拡張性を容易にする。このようなプラグインコンポーネントは、ローカルコンピュータ内またはリモートサーバにおいて存在し得るバックエンドデータソースとの通信を行うためのユーザインタフェース(UI)の見た目(look)および動き(behavior)を有する必要がある。さらに、このようなプラグインコンポーネントは、ダウンロードされ、簡単にインストール可能で、そして新しいバージョンが利用可能になる時に適切に更新される必要がある。
以下では、本明細書で説明されるいくつかの新規の実施形態についての基本的な理解を提供するために簡易化された概要を提示する。本概要は、広範囲にわたる概要ではなく、主要/重要な要素を特定することもその範囲を明確にすることも意図しない。その唯一の目的は、後で提示されるより詳細な説明の前置きとして簡易化された形においていくつかの概要を提示することである。
開示されるアーキテクチャによって、マークアップ言語(例えば、HTML)のページが、入力メソッドがアタッチされたアプリケーションにコンテンツ(例えば、テキスト)を挿入し易くするのを可能にする。このように、プラグインの開発業者は、ウェブページの言語(例えば、HTML)を使用してユーザインタフェース(UI)の見た目および動きを任意に実装して、適切な技術を使用して通常のウェブページが行うことができるのと同様にバックエンドデータソースとの通信を行うことができる。ウェブページがウェブサーバに格納されて、オンザフライ(on-the-fly)でクライアントのブラウザにダウンロードされるので、インストールが最小限で済み、ユーザは、ウェブページの最新バージョンを自動的に使用することができる。
一実施例において、ウェブページのHTMLに組み込まれたコードから命令を受信する仲介(broker)コンポーネントが実装される。クライアントのブラウザ(またはウェブページを処理するのに適した他のアプリケーション)は、ウェブページを受信し、HTMLに組み込まれたコード(例えば、ジャバスクリプトのようなスクリプトコード)を実行する。従って、仲介コンポーネントは、URLプロトコルのハンドラ機構によって、HTML内のコードから起動(invoke)され得る。さらに、仲介コンポーネントは、クライアントシステムの一部としてネイティブにインストールされ得る。
例えば、プラグインの開発業者が、ソフトウェアのキーボード機能を入力メソッドおよび/または関連するアプリケーションに付加する入力メソッドプラグインコンポーネントを実装するのを望んでいると考える。開発業者は、「a」から「z」に及ぶ入力ボタンを示すコードを用いてHTMLページを作り出す(author)ことができる。ユーザがHTMLページを開いてそのページ上のボタンを選択する時、それに対応する文字(character)がクライアントコンピュータ内で実行するアプリケーションに挿入される。それがHTMLページであるので、開発業者は、ボタンを望ましい外観(cosmetic)に任意にレイアウトすることができる。その後、プラグインに機能をさらに付加する選択をする(例えば、文字ではなく単語を挿入するボタンをさらに付加する)場合、開発業者は、ウェブサーバにおいてHTMLページを単に更新するだけである。ユーザは、例えば、クライアントのブラウザ経由で新しいバージョン(更新)を自動的に受信する。
前述および関連する目的を達成するために、以下の説明および添付図面に関連して、いくつかの具体的に示した態様が本明細書で説明される。このような態様は、本明細書で開示される原理を実践することができるさまざまなやり方を示し、そのすべての態様および等価は、特許請求される主題の範囲内であることを意図する。他の利点および新規の特徴は、図面に関連して検討される時に以下の詳細な説明から明らかになるであろう。
開示されるアーキテクチャに従ってコンピュータに実装されたコンテンツシステムを示す図である。 ウェブドキュメント経由でコンポーネントとコンテンツ入力を容易にするエンティティとの間の通信のフロー図である。 付加的な機能性をアプリケーションに付加するための第1のクライアント配置を示す図である。 付加的な機能性をアプリケーションに付加するための第2のクライアント配置を示す図である。 ブラウザ経由でコンテンツをアプリケーションに入力するコンテンツメソッドを示す図である。 図5の方法の付加的な態様を示す図である。 図5の方法の付加的な態様を示す図である。 開示されるアーキテクチャに従ってブラウザ経由でコンテンツをアプリケーションに入力するのを容易にするコンピューティングシステムのブロック図である。 ブラウザ経由でコンテンツをアプリケーションに入力するのを容易にするコンピューティングシステムのブロック図である。
開示されるアーキテクチャによって、マークアップ言語(例えば、HTML)のページが、入力メソッドがアタッチされたアプリケーションにコンテンツ(例えば、テキストストリング、オブジェクト、オーディオ、ビデオ等)を挿入し易くするのを可能にする。このように、プラグインの開発業者は、ウェブページの言語(例えば、HTML)を使用してユーザインタフェース(UI)の見た目および動きを任意に実装して、通常のHTMLページが行うことができるようなバックエンドデータソースとの通信を行って、そして適切な技術を使用してこれを達成することができる。ウェブページがウェブサーバに格納されて、オンザフライでクライアントにダウンロードされるので、インストールが最小限で済み、ユーザはウェブページの最新バージョンを簡単に自動的に取得することができる。
仲介コンポーネントは、クライアント上で実装されて、ウェブページのマークアップ言語に組み込まれたコードの実行から得られるデータを受信する。付加的な仲介コンポーネントをクライアントシステムに付加することによって、クライアントアプリケーションに対応するクライアントシステム上でより多くのデータ型が対処され得る。
次に図面の参照が行われるが、同様の参照数字は全体を通じて同様の要素を指すために使用される。以下の説明において、解説目的により、多くの特定の詳細が、その説明の完全な理解を与えるために示されている。しかしながら、そのような特定の詳細を用いなくても新規の実施形態が実践され得ることは明白であろう。他のインスタンスにおいて、その説明を容易にするために、周知の構造およびデバイスがブロックダイアグラム形式で示される。その意図するところは、特許請求される主題の精神および範囲内においてすべての修正、等価および代替を網羅することである。
図1は、開示されるアーキテクチャに従ってコンピュータが実装されたコンテンツシステム100を示す。システム100は、ベースライン入力メソッドの機能性106をアプリケーション104に提供するためにアプリケーション104にアタッチされた入力メソッドコンポーネント102と、ウェブドキュメント112のデータ110を受信することによって、データ110によって提供される付加的な機能性114(例えば、入力メソッドの機能性)の付加をもたらす仲介コンポーネント108とを含み、付加的な機能性114は、ウェブドキュメント112に組み込まれたコード116の処理を経てアプリケーション104に間接的に提供される。
ウェブドキュメント112は、実行される時にデータ110を作成する、組み込まれたコード116を含むウェブページになり得る。組み込まれたコード116は、適した任意のプログラミング言語(例えば、スクリプト言語)によって作り出され、HTMLのようなマークアップ言語に組み込まれ得る。ウェブドキュメント112をウェブサーバ上で格納して、組み込まれたコード116を処理するまたは処理させてデータ110を作成するクライアントのブラウザ118にダウンロードすることができるので、付加的な入力メソッドの機能性114になり得る。
一般的に、ウェブドキュメント112は、ウェブドキュメント112とのユーザインタラクションに基づいてアプリケーション104に対する付加的な機能性114の(データ110のような)自動的な補充(supplementation)を容易にする。付加的な機能性114の生成物(例えば、テキスト、イメージ等)は、次に、アプリケーション104に提供される。仲介コンポーネント108を、URL(Uniform Resource Locator)プロトコルのハンドラ機構を使用して、ウェブドキュメント112から起動し得る。付加的な機能性114は、例えば、イメージ、オーディオ、および/またはビデオのようなテキストまたは複合オブジェクトのうちの少なくとも1つを含む。
言い換えれば、コンピュータに実装されたコンテンツ100のシステムは、ベースライン入力メソッドの機能性106をアプリケーション104に提供するためにアプリケーション104と関連付けられた入力メソッドコンポーネント102と、入力メソッドコンポーネント102から通知を受信するために入力メソッドコンポーネント102と関連付けられた仲介コンポーネント108とを備え、仲介コンポーネント108は、ウェブページ内のコード116から作成されるデータ形式(例えば、ウェブドキュメント112)で付加的な機能性114をアプリケーション104に提供する。
仲介コンポーネント108は、ウェブページ内のコードを処理するブラウザからデータ110を受信する。付加的な機能性114は、ブラウザ118がウェブページ内で仲介コンポーネント108を呼び出すコード116を実行する時に、データ110から作成される。仲介コンポーネント108は、入力メソッドコンポーネント102と関連付けられた識別子を受信する。仲介コンポーネント108は、その識別子を登録して、登録された識別子に基づいてデータ110をルーティングする。仲介コンポーネント108は、特定のデータ型のデータ110の利用を容易にする。さらに、仲介コンポーネント108は、文字、単語、句、またはアプリケーション104が言語アプリケーションである複合オブジェクトのうちの少なくとも1つの形式で、データ110がアプリケーション104へ入力するのを容易にする。
図2は、ウェブドキュメント経由でコンポーネントとコンテンツ入力を容易にするエンティティとの間の通信のフロー図200を示す。アプリケーション104は、アプリケーション104にアタッチされた入力メソッドコンポーネント102を用いて、クライアントコンピュータ上で実行するプログラムになり得る。仲介コンポーネント108は、クライアントコンピュータ上でインストールされて実行するネイティブコードになり得る。フロー図200は、この例において、ウェブドキュメントが、プラグインの開発業者によって生成され得るHTMLページ202であることを示す。HTMLページ202は、ブラウザがコード116を実行する時に得られるデータが、入力メソッドコンポーネント102によってアプリケーション104に提供される付加的な入力メソッドの機能性を形成するような、例えば、図1のスクリプト言語で書かれた組み込まれたコードを含む。他の技術を用いて、HTMLに組み込まれるプログラムコードを書き込み得ることにも留意されたい。
プラグインの開発業者は、仲介コンポーネント108を開発して、ローカルクライアントコンピュータ上でユーザに仲介コンポーネント108をインストールさせることができる。仲介コンポーネント108は、あるイベントが入力メソッドコンポーネント102内で発生する時に、入力メソッドコンポーネント102から通知204を受信する。さらに、仲介コンポーネント108を、URLプロトコルのハンドラ206によってHTMLページ202から起動し得る。
そのデータフローは、ウェブブラウザ内のウェブドキュメントから仲介コンポーネントへ、そして入力メソッドコンポーネントへ、そして最後にアプリケーションへと一方向に進み得る。仲介コンポーネントは、識別子(チケットまたはトークンとも呼ばれる)を使用して、どの入力メソッドコンポーネントのインスタンスがデータを送信すべきかを識別する。仲介コンポーネントは、事前に入力メソッドコンポーネントの識別子を知っている。その識別子は、入力メソッドコンポーネントから仲介コンポーネントにプッシュされ得る。
一実施例において、アプリケーションがユーザインタラクションのフォーカスを取得する(またはアプリケーションウィンドウが最前面(foreground)に移動する)度に、そのアプリケーションに関連する入力メソッドコンポーネントは、自身の識別子(イベント通知とも呼ばれる)を仲介コンポーネントにプッシュする。任意のアプリケーションにアタッチされる各入力メソッドコンポーネントは、自身の識別子をいつでも仲介コンポーネントにプッシュすることができる。仲介コンポーネントは、最後に登録された識別子を呼び起こす。
(入力メソッドコンポーネントから仲介コンポーネントにプッシュされるイベントと同期しない時は)いつでも、仲介コンポーネントは、ウェブドキュメントから呼び出され得る。呼び出されると、仲介コンポーネントは、最後に登録された識別子を使用して、関連する入力メソッドコンポーネントのインスタンスを見つける。
ウェブドキュメントは、お気に入りのURLリストからの選択に応答するような、できる限りの方法で事前にウェブブラウザ内で開かれ、入力メソッドコンポーネントは、開かれた特定のウェブドキュメント等を用いてウェブブラウザを始動する。ひとたび開かれると、ウェブドキュメントは、すべての入力メソッドコンポーネントのインスタンスを供給することができる。従って、入力メソッドコンポーネントのインスタンスとウェブドキュメントとの比は、必ずしも1対1ではない。例えば、デスクトップ上で提示されるソフトウェアキーボードの単一のインスタンスは、望ましい任意のアプリケーションまたは複数のアプリケーションと共に働くのに用いられ得る。
動作中、特定のイベントが発生すると、入力メソッドコンポーネント102は、通知204(識別子)を仲介コンポーネント108に送信する。仲介コンポーネント108は、このイベントをトリガとして用いてHTMLページ202を起動してもよいし、しなくてもよい。このイベントは、「チケット」情報を含む。チケット情報は、アプリケーション104のハンドル、入力メソッドコンポーネント102のCOM(Component Object Model)インタフェースポインタ、または仲介コンポーネント108が適切なアプリケーション(アプリケーション104)および/または入力メソッドを扱う(address)のに後で使用することができる他の機構となり得る。言い換えれば、クライアントコンピュータは、複数の異なる入力メソッドコンポーネントおよび特定の目的のために互換性のある仲介コンポーネントを用いることができる。本明細書の実施形態では、複数の仲介コンポーネントまたはクライアントアプリケーションごとに異なる最適なブローカ(broker)を用いた単一の入力メソッドコンポーネントのシナリオを説明する。
HTMLページ202は、ウェブブラウザ内で開かれて、そのブラウザによってレンダリングされ得る。開発業者は、望ましい任意のHTMLページを作り出すことができる。登録されたURLプロトコルのハンドラ206は、適切なパラメータを用いてHTMLページ202から呼び出される。それに応答して、仲介コンポーネント108が始動し、HTMLページ202からパラメータを受信する。仲介コンポーネント108が、通知204と共に送信されるチケット情報を知っているので、仲介コンポーネント108は、次に、アプリケーション104および入力メソッドコンポーネント102に伝達して、通知206内で受信したチケットデータに基づいて、HTMLページ202のデータから得られる付加的な入力メソッドの機能性208を付加する。
ひとたび仲介コンポーネント108がクライアントコンピュータ上でインストールされると、開発業者は、ウェブサーバに格納されたHTMLページ202に組み込まれたコードの変更または改良を行うことによって、つまり、クライアントコンピュータに適用される更新をせずに、入力メソッドコンポーネントの機能性を変更または改良することができる。このことは、付加的な機能性を自動的に更新および配置するのに便利で効率的なアーキテクチャを提供する。
アプリケーション104に提供されるコンテンツは、テキスト形式のコンテンツ(textual content)に限定されないことに留意されたい。最も簡易なブローカを用いた最も簡易な形式において、そのコンテンツはテキストストリングになり得る。より複雑な実装において、仲介コンポーネント108を、仲介コンポーネント108がHTMLページ202から呼び出される時にメタデータを特定のアプリケーションに送信するように設計することができ、アプリケーション104は、そのメタデータの受信に応答して、複合オブジェクト(例えば、イメージ)を自身のアプリケーションに挿入することができる。本質的に、それは、アプリケーション104と仲介コンポーネント108との間の「契約(contract)」に基づいている。以前に示したように、複数の異なる仲介コンポーネントを特定の目的のために用いることができる。それによって、多くの異なるデータ型をユーザシステムに付加することができる。
HTMLの使用およびウェブブラウジング技術は、すでにサーバ側で存在する。ウェブサーバ内のHTMLによるスクリプトを使用して、ユーザがウェブページを閲覧する(browse)と、そのHTMLページは、ウェブサーバからクライアントのブラウザにダウンロードされる。クライアントのブラウザは、組み込まれたスクリプトコードを実行してデータを作成する。従って、ユーザは、クライアントをインストールする必要がなく、ウェブサーバ内のHTMLページを単に開くだけである。仲介コンポーネントは、ネイティブコードとしてクライアント上でインストールされ得る。ウェブページのドキュメントからクライアントのブラウザに以前にダウンロードされたプログラムコードは、クライアントが、対応する更新されたウェブページのドキュメントをウェブサーバからダウンロードする度に自動的に更新され得る。
仲介コンポーネントは、データ型を定義する。ひとたびデータ型が定義されてそれに関連するブローカがインストールされると、そのブローカは、典型的には、頻繁に更新される必要はないであろう。しかしながら、そのデータ型のデータは変わり得るし、そのデータ型用データの(ウェブページにコード化された)ジェネレータは、動的に変更し得る。従って、ジェネレータが、例えば、サーバ側に格納される時に、マークアップ言語(例えば、HTML)やスクリプト言語(例えば、ジャバスクリプト)を手段として説明されているので、データのジェネレータは、簡単に変更され得る。以前に示したように、マークアップ言語は、HTMLに制限されないが、ブラウザ内でレンダリング可能な適切な技術になり得る。
活用し得るオペレーティングシステムの1つの機能は、URLプロトコルのハンドラである。この技術は、URLを実行可能ファイル(“exe”)にマップすることができる。例えば、URLは、“http:”、“mailto:”、または“ftp:”等から始まるフォーマットストリングを有することができる。オペレーティングシステムは、このストリングを渡し、このストリングのプレフィックスをチェックし、そして登録されたアプリケーション実行ファイル(executable)の制御に渡す機構を含むことができる。例えば、URLが“http:”からスタートする場合、オペレーティングシステムは、ブラウザ実行ファイルを始動するであろう。別の例において、URLストリングが“mailto:”から始まる場合、オペレーティングシステムは、メッセージングプログラム(例えば、電子メール)を始動する。
オペレーティングシステムは、仲介コンポーネントがこの能力を拡張して、任意のプレフィックスストリングが登録されて任意の実行ファイルと関連付けられて定義され得るようにできる機能を含むこともできる。この機構は、望ましいプレフィックスストリングを仲介コンポーネントに登録するために用いられる。
HTMLページにおいて、ユーザがプレフィックスを有するこのようなURLを始動すると、オペレーティングシステムは、登録されたブローカ実行ファイルを始動する。仲介コンポーネントが起動する時、仲介コンポーネントは、コマンドラインパラメータを使用してプレフィックスからスタートするURLストリングをすべて受信する。例えば、HTMLページが、<prefix>が“http”、“ftp”、“mailto”等になり得るいくつかの“<prefix>:xyz”を含む場合、仲介コンポーネントは、コマンドラインパラメータ内の“<prefix>:xyz”のストリングを受信する。各HTMLページが仲介コンポーネントのストリング“xyz”を渡したい場合、HTMLページは、“<prefix>:xyz”を含む。次に、仲介コンポーネントが始動して、仲介コンポーネントが既知の“<prefix>:”部を除去することによってストリング“xyz”を抽出することができるように、ストリング“<prefix>:xyz”を受信する。
仲介コンポーネントがストリング“xyz”を受信すると、仲介コンポーネントおよびアプリケーションは、プロトコルを用いてそのストリングを送受信する。用いられ得る非常に基本的なプロトコルは、文字をあるウィンドウから別のウィンドウに送信するWM_CHAR(Windows(商標)のオペレーティングシステム)である。仲介コンポーネントがWM_CHARメッセージをアプリケーションに送信する場合(パラメータxを有するWM_CHAR、続いてパラメータyを有するWM_CHAR、続いてパラメータzを有するWM_CHARを送信する)、アプリケーションは、“x”に続いて“y”、それに続いて“z”のキーボード入力を受信する。従って、すべてのアプリケーションは、この受信メッセージを取り扱って、アプリケーションが取り扱うドキュメントに“xyz”を入力することができる。それは、基本的なブローカモデルである。従って、多くの異なる仲介コンポーネントが実装されて、必要に応じて、異なるプロトコルに登録され得る。
より高度なブローカモデルにおいて、写真、ビデオ、イメージ、音等は、アプリケーションにプッシュされ得る。この場合、ユーザアプリケーションおよびブローカは、最適な動作のために事前定義されたプライベートプロトコルを用いることができる。より具体的な実装において、カスタムブローカ(custom broker)が、特定のクライアントアプリケーション用に開発され得る。
クライアントマシン上には多くのアプリケーションがあり、各アプリケーションは、アタッチされた入力メソッドコンポーネントとともに動作するが、仲介コンポーネントは、単一のインスタンスである。入力メソッドコンポーネントは、仲介コンポーネントがどのアプリケーションにメッセージを送信するかという信号をその仲介コンポーネントに送る。ユーザが多くの実行可能なアプリケーションのうちの1つのキーを押すと、入力メソッドコンポーネントは、ユーザがインタラクトしていたアプリケーションを呼び起こして、オペレーティングシステムがそのアプリケーションを取り扱う仲介コンポーネントに送信する。その後、仲介コンポーネントは、ハンドルを使用してメッセージを送信する。これは、他の方法を用いてメッセージが送信されるアプリケーションを識別し得るという点において一例にすぎない。
開示されるアーキテクチャは、例えば、通常適したキーボード上に提示されない文字を用いる言語(例えば、日本語、中国語、アラビア語、ラテン語等)に対する特殊な適用性を見出す。別の実装において、開示されるアーキテクチャは、キーボード経由では取得できない、入力デバイス(例えば、マウス、キーパッド等)によって容易になる単一の選択によって単語および/または句を挿入するのに用いられ得る。
図3は、付加的な機能性をアプリケーションに付加するための第1のクライアント配置300を示す。例えば、第1のクライアント配置302において、第1の入力メソッドコンポーネント304は、第1の入力メソッドコンポーネント304によって提供されるベースライン入力メソッドの機能性を利用するために、第1のアプリケーション306に用いられる。いずれかの時点で、第1の入力メソッドコンポーネント304は、第1の仲介コンポーネント308への通知を経由して、識別子を第1の仲介コンポーネント308に登録する。登録が開始されると、第1のウェブページ310は、第1の仲介コンポーネント308を呼び出す。第1のウェブページ310は、プログラミング言語(例えば、ジャバスクリプト)内で作り出されて、HTMLのようなマークアップ言語に組み込まれる、組み込みコード312を含む。代替的には、他の適したウェブドキュメントの言語を用いることもできる。
クライアントのブラウザは、多くの異なる目的のためにウェブページに格納するネットワークサーバ(図示せず)から第1のウェブページ310をダウンロードする。第1のウェブページ310は、クライアントのブラウザ内で開かれて、そのクライアントのブラウザは、組み込みコード312を実行する。組み込みデータ312の実行は、プロトコルハンドラ経由で第1の仲介コンポーネント308に渡されるデータを出力する。第1の仲介コンポーネント308は、次に、第1のアプリケーション306に挿入して使用する第1の付加的な入力メソッドの機能性310を付加するために、第1のアプリケーション306にそのデータをルートする。
図4は、付加的な機能性をアプリケーションに付加するための第2のクライアント配置400を示す。ここでは、単一の仲介コンポーネント402は、クライアントマシン上の2つのアプリケーション用のデータ型および対応する2つの入力メソッドコンポーネントを支援する。第2の入力メソッドコンポーネント404は、第2のアプリケーション406と関連付けられ(例えば、アタッチされ)、第3の入力メソッドコンポーネント408は、第3のアプリケーション410と関連付けられる(例えば、アタッチされる)。第2の入力メソッドコンポーネント404および第3の入力メソッドコンポーネント408は、仲介コンポーネント402に登録する(通知を送信する)が、(例えば、ユーザインタラクションの最前面にある)アクティブなアプリケーションを示す登録を最後にする。
2つのウェブページ412である、第2のウェブページ414と第3のウェブページ416とを示す。第2のウェブページ414が、クライアントブラウザによってダウンロードされて処理されると、クライアントブラウザは、仲介コンポーネント402を呼び出す組み込みコード418を実行する。クライアントブラウザによる組み込みコード418の実行は、仲介コンポーネント402に渡されるデータを作成し、仲介コンポーネント402は、最後に登録された入力メソッドコンポーネント(例えば、第2の入力メソッドコンポーネント404)に基づいて、付加的なアプリケーションの機能性としてのデータをルートする。例えば、第2のウェブページ414から渡されたデータは、付加的なアプリケーションの機能性422として第2のアプリケーション406に送信され得る。
同様に、第3のウェブページ416が、クライアントブラウザによってダウンロードされて処理されると、クライアントブラウザは、仲介コンポーネント402を呼び出す組み込みコード420を実行する。クライアントブラウザによる組み込みコード420の実行は、仲介コンポーネント402に渡されるデータを作成し、仲介コンポーネント402は、最後に登録された入力メソッドコンポーネント(例えば、第3の入力メソッドコンポーネント408)に基づいて、付加的なアプリケーションの機能性としてのデータをルートする。例えば、第3のウェブページ416から渡されたデータは、付加的なアプリケーションの機能性424として第3のアプリケーション410に送信され得る。
仲介コンポーネントが、単一の入力メソッドコンポーネント(例えば、第2の入力メソッドコンポーネント404)、次に、2つのクライアントアプリケーションに対する支援を提供するように開発され得ることは、対象のアーキテクチャの意図する範囲である。アプリケーション(406および410)および関連する入力メソッドコンポーネント(404および408)は、仲介コンポーネント402だけでなく、クライアントベースのアプリケーションでもある。ウェブページ(414および416)は、サーバベースであり、配置を更新するのに便利で効率的である。
本明細書に含まれるのは、開示されるアーキテクチャの新規の態様を行うための例示的な方法論を代表する一連のフローチャートである。解釈を簡易にする目的で、本明細書に示す1または複数の方法論を、一連の動作として、例えば、フローチャートまたはフロー図の形式で説明しているが、いくつかの動作は異なる順序および/または本明細書で説明した他の動作と同時に起こり得るので、その方法論に従った動作の順序によって限定されないことを理解して認識されたい。例えば、方法論は、状態ダイアグラム等の一連の相関する状態またはイベントとして代替的に表し得ることを当業者は理解して認識するであろう。さらに、方法論で具体的に示された動作のすべてが、新規の実装に必要になり得るとは限らない。
図5は、ブラウザ経由でコンテンツをアプリケーションに入力するコンテンツ方法を示す。500において、ベースライン入力メソッドの機能性がアプリケーションに提供される。502において、付加的なアプリケーションの機能性に関連する組み込まれたコードを含むウェブページにアクセスされる。504において、ウェブページ内の組み込まれたコードが実行されて、付加的なアプリケーションの機能性を取得する。506において、付加的なアプリケーションの機能性がアプリケーションに付加される。
図6は、図5の方法の付加的な態様を示す。600において、組み込まれたコードは、スクリプト言語で記述されて、ウェブページ内のマークアップ言語に組み込まれる。602において、ウェブページの組み込まれたコードが後続の実行用に更新されて、更新された組み込まれたコードに基づいて、更新された付加的なアプリケーションの機能性がアプリケーションに適用される。604において、ベースライン入力メソッドの機能性をブローカに提供する入力メソッドが登録されて、その登録に基づいたブローカ経由で付加的なアプリケーションの機能性がアプリケーションにルートされる。
図7は、図5の方法の付加的な態様を示す。700において、ウェブページとのインタラクトに応答して、付加的なアプリケーションの機能性がアプリケーションに自動的に付加される。702において、追跡情報(tracking information)を使用して、アプリケーションとのインタラクトが複数のアプリケーション内で追跡される。704において、追跡情報が、仲介コンポーネントへの通知内に送信される。706において、追跡情報に基づいて、付加的なアプリケーションの機能性が対応するアプリケーションに付加される。
本出願で使用される用語「コンポーネント」および「システム」は、ハードウェア、ハードウェアとソフトウェアとの組み合わせ、ソフトウェア、または実行中のソフトウェアのいずれかのコンピュータに関連するエンティティを指すことを意図する。例えば、コンポーネントは、プロセッサ上で実行するプロセス、プロセッサ、ハードディスクドライブ、(光、半導体、および/または磁気ストレージ媒体の)複数のストレージデバイス、オブジェクト、実行ファイル、実行スレッド、プログラム、および/またはコンピュータになり得るが、これに限らない。実例として、サーバ上で実行するアプリケーションとそのサーバとの両方は、コンポーネントになり得る。1または複数のコンポーネントは、プロセスおよび/または実行スレッド内に常駐することができ、コンポーネントは、1つのコンピュータ上にローカライズされるおよび/または2または3以上のコンピュータ間で分散され得る。単語「例示的な」は、一例、インスタンス、または図示の役割を果たす意味で、本明細書で使用されてよい。本明細書で「例示的な」として説明される任意の態様または考案は、必ずしも好適なまたは他の態様または考案に優る利点と解釈されない。
次に図8を参照すると、開示されるアーキテクチャに従って、ブラウザ経由でコンテンツがアプリケーションに入力するのを容易にするコンピューティングシステム700のブロック図が示されている。そのさまざまな態様に付加的な文脈を提供するために、図8および以下の考察は、さまざまな態様が実装され、適切なコンピューティングシステム800の簡潔な概要を提供することを意図する。上記の説明は、1または複数のコンピュータ上で実行することができるコンピュータ実行可能命令の一般的な文脈であるが、新規の実施形態も、他のプログラムモジュールとの組み合わせおよび/またはハードウェアとソフトウェアとの組み合わせとして実装され得ることを当業者は認識するであろう。
さまざまな態様を実装するためのコンピューティングシステム800は、処理ユニット(複数可)804と、システムメモリ806と、システムバス808とを有するコンピュータ802を含む。処理ユニット(複数可)804は、単一プロセッサ、マルチプロセッサ、単一コアのユニットおよびマルチコアのユニットのなどの、さまざまな市販のプロセッサのいずれにもなり得る。さらに、新規の方法は、それぞれが1または複数の関連するデバイスに動作接続され得るミニコンピュータ、メインフレームコンピュータだけでなく、パーソナルコンピュータ(例えば、デスクトップ、ラップトップ等)、ハンドヘルドコンピューティングデバイス、マイクロプロセッサベースまたはプログラマブルな家電製品および同種のものも含む、他のコンピュータシステム構成に実践され得ることを当業者は認識するであろう。
システムメモリ806は、揮発性(VOL)メモリ810(例えば、ランダムアクセスメモリ(RAM))と、不揮発性メモリ(NON−VOL)812(例えば、ROM、EPROM、EEPROM等)とを含むことができる。基本入出力システム(BIOS)を不揮発性メモリ812に格納することができ、スタートアップ時のような、コンピュータ802内のコンポーネント間でデータおよび信号の通信を容易にする基本ルーチンを含む。揮発性メモリ810は、データキャッシング用のスタティックRAMのような高速RAMを含むこともできる。
システムバス808は、メモリサブシステム806と処理ユニット(複数可)804とをつなぐインタフェースを含む、システムコンポーネント用のインタフェースを提供するが、これに限らない。システムバス808は、各種市販のバスアーキテクチャのいずれかを使用して、メモリバス(メモリコントローラの有無を問わず)と、周辺バス(例えば、PCI、PCIe、AGP、LPC等)とにさらに相互接続することができるいくつかのタイプのバス構造のいずれにもされ得る。
コンピュータ802は、ストレージサブシステム(複数可)814と、ストレージサブシステム(複数可)814をシステムバス808および他の望ましいコンピュータコンポーネントにインタフェースするためのストレージインタフェース(複数可)816とをさらに含む。ストレージサブシステム(複数可)814は、例えば、1または複数のハードディスクドライブ(HDD)、磁気フロッピーディスクドライブ(FDD)、および/または光ディスクストレージドライブ(例えば、CD−ROMドライブ、DVDドライブ)を含むことができる。ストレージインタフェース(複数可)816は、例えば、EIDE、ATA、SATA、およびIEEE1394のなどのインタフェース技術を含むことができる。
1または複数のプログラムおよびデータは、メモリサブシステム806、リムーバブルメモリサブシステム818(例えば、フラッシュドライブ形態の技術因子)、および/またはオペレーティングシステム820、1または複数のアプリケーションプログラム822、他のプログラムモジュール824、およびプログラムデータ826を含む、ストレージサブシステム(複数可)814(例えば、光、磁気、半導体)に格納され得る。
1または複数のアプリケーションプログラム822、他のプログラムモジュール824、およびプログラムデータ826は、図1の入力メソッドコンポーネント102、アプリケーション104、ベースライン入力メソッドの機能性106、仲介コンポーネント108、付加的な機能性114、データ110、ブラウザ118、ウェブドキュメント112および組み込まれたコード116と、図2のコンポーネントおよびエンティティと、図4のコンポーネントおよびエンティティと、例えば、図5から図7の方法で説明した1または複数の動作とを含むことができる。
一般的に、プログラムは、ルーチン、方法、データ構造、他のソフトウェアコンポーネント等を含み、それらは、特定のタスクを行うまたは特定の抽象データ型を実装する。オペレーティングシステム820、アプリケーション822、モジュール824、および/またはデータ826のすべてまたは一部を、例えば、揮発性メモリ810のようなメモリにキャッシュすることもできる。開示されるアーキテクチャは、(例えば、仮想マシンのような)さまざまな市販のオペレーティングシステムまたはオペレーティングシステムの組み合わせに実装され得ることを認識されたい。
ストレージサブシステム(複数可)814およびメモリサブシステム(806および818)は、データ、データ構造、コンピュータ実行可能命令その他からなる揮発性および不揮発性ストレージ用のコンピュータ可読媒体の役割を果たす。コンピュータ可読媒体は、コンピュータ802によってアクセスされ得る利用可能な媒体のいずれにもすることができ、揮発性および不揮発性媒体、リムーバブルおよびノンリムーバブル媒体を含む。コンピュータ802に対して、そのような媒体は、適した任意のデジタルフォーマットでデータのストレージに対処する。開示されるアーキテクチャの新規の方法を行うコンピュータ実行可能命令を格納するために、ジップドライブ、磁気テープ、フラッシュメモリカード、カートリッジおよび同種のものといった他のタイプのコンピュータ可読媒体が用いられ得ることを当業者は認識されたい。
ユーザは、キーボードおよびマウスのような外部のユーザ入力デバイス828を使用して、コンピュータ802、プログラム、およびデータとインタラクトすることができる。他の外部のユーザ入力デバイス828は、マイクロフォン、IR(赤外線)リモート制御、ジョイスティック、ゲームパッド、カメラ認識システム、スタイラスペン、タッチスクリーン、ジェスチャーシステム(例えば、目の動き、頭の動き等)および/または同種のものを含むことができる。例えば、コンピュータ802がポータブルコンピュータである場合、ユーザは、タッチパッド、マイクロフォン、キーボードといった内蔵ユーザ入力デバイス830を使用して、コンピュータ802、プログラム、およびデータとインタラクトすることができる。これらと他の入力デバイスは、システムバス808経由で入出力(I/O)デバイスインタフェース(複数可)832を通じて処理ユニット(複数可)804に接続されるが、パラレルポート、IEEE1394シリアルポート、ゲームポート、USBポート、IRインタフェース等といった他のインタフェースによって接続され得る。I/Oデバイスインタフェース(複数可)832はまた、プリンタ、オーディオデバイス、カメラデバイス、およびその他としてサウンドカードおよび/または内蔵オーディオ処理能力等の、出力周辺機器834の使用を容易にする。
1または複数のグラフィックスインタフェース(複数可)836(広くグラフィックス処理ユニット(GPU)とも呼ばれる)は、コンピュータ802と、外部ディスプレイ(複数可)838(例えば、LCD、プラズマ)および/または内蔵ディスプレイ840(例えば、ポータブルコンピュータ)との間でグラフィックスおよびビデオ信号を提供する。グラフィックスインタフェース(複数可)836を、コンピュータシステムボードの一部として製造することもできる。
コンピュータ802は、有線/無線通信サブシステム842経由で1または複数のネットワークおよび/または他のコンピュータへの論理接続を使用して、ネットワーク化環境(例えば、IP)において動作することができる。その他のコンピュータは、ワークステーション、サーバ、ルータ、パーソナルコンピュータ、マイクロプロセッサベースの娯楽家電製品、ピアデバイス、または他の共通ネットワークノードを含むことができ、典型的には、コンピュータ802に対して説明した要素の多くまたはすべてを含む。論理接続は、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)、ホットスポット等に対する有線/無線接続性を含むことができる。LANおよびWANネットワーキング環境は、事務所および会社では普通のことであり、イントラネットのような企業規模のコンピュータネットワークを容易にし、そのすべてがインターネットのようなグローバル通信ネットワークに接続できる。
ネットワーク化環境において使用される時、コンピュータ802は、有線/無線通信サブシステム824(例えば、ネットワークインタフェースアダプタ、内蔵トランシーバサブシステム等)経由でネットワークに接続して、有線/無線ネットワーク、有線/無線プリンタ、有線/無線入力デバイス844等との通信を行う。コンピュータ802は、モデムを含むことができ、またはネットワーク上で通信を確立するための他の手段を有する。ネットワーク化環境において、コンピュータ802に対するプログラムおよびデータは、分散システムと関連付けられる時にリモートメモリ/ストレージデバイスに格納され得る。図示されたネットワーク接続は、例示的であり、コンピュータ間で通信リンクを確立する他の手段も使用され得ることが認識されるであろう。
コンピュータ802は、例えば、プリンタ、スキャナ、デスクトップおよび/またはポータブルコンピュータ、パーソナルデジタルアシスタント(PDA)、通信衛星、無線で検出可能なタグと関連付けられた任意の設備または場所(例えば、キオスク、新聞売店、化粧室)、および電話器との無線通信(例えば、IEEE802.11無線変調技術)に動作配置された無線デバイスのような、IEEE802.xx標準ファミリー等の無線技術を使用して、有線/無線デバイスまたはエンティティとの通信を行うように動作する。これは、少なくともホットスポット用のWi−Fi(またはワイヤレスフィディリティー)、WiMax、およびBluetooth(商標)の無線技術を含む。従って、そのような通信は、従来のネットワークまたは少なくとも2つのデバイス間の単なるアドホック通信のように、事前定義された構造になり得る。Wi−Fiネットワークは、IEEE802.11x(a、b、g等)と呼ばれる無線技術を使用して、セキュアで信用できる、高速無線の接続性を提供する。Wi−Fiネットワークを使用して、コンピュータを相互に接続したり、インターネットおよび無線ネットワーク(IEEE802.3に関連する媒体および機能)に接続することができる。
次に図9を参照すると、ブラウザ経由でコンテンツがアプリケーションに入力するのを容易にするコンピューティング環境900のブロック図が示されている。環境900は、1または複数のクライアント902を含む。クライアント(複数可)902は、ハードウェアおよび/またはソフトウェア(例えば、スレッド、プロセス、コンピューティングデバイス)になり得る。クライアント(複数可)902は、例えば、クッキー(複数可)および/または関連する文脈情報を格納することができる。
環境900は、1または複数のサーバ904も含む。サーバ(複数可)904を、ハードウェアおよび/またはソフトウェア(例えば、スレッド、プロセス、コンピューティングデバイス)にすることもできる。サーバ904は、スレッドを格納して、例えば、そのアーキテクチャを用いることによって変換を行うことができる。クライアント902とサーバ904との間の一つの実行可能な通信は、2または3以上のコンピュータプロセス間で伝送するのに適応するデータパケットの形式になり得る。データパケットは、例えば、クッキーおよび/または関連する文脈情報を含んでよい。環境900は、クライアント(複数可)902とサーバ(複数可)904との間の通信を容易にするのに用いることができる、通信フレームワーク906(例えば、インターネット等のグローバル通信ネットワーク)を含む。
通信は、(光ファイバーを含む)有線および/または無線技術を経由して容易にされ得る。クライアント(複数可)902は、情報(例えば、クッキー(複数可)および/または関連する文脈情報)をローカルからクライアント(複数可)902に格納するのに用いられ得る、1または複数のクライアントデータストア908に動作接続される。同様に、サーバ(複数可)904は、情報をローカルからサーバ904に格納するのに用いられ得る、1または複数のサーバデータストア910に動作接続される。
上述した内容は、開示されるアーキテクチャの例を含む。もちろん、コンポーネントおよび/または方法論の考えられるあらゆる組み合わせを説明するのは不可能であるが、当業者は、さらに多くの組み合わせおよび置き換えが実現可能であることを認識できる。それによって、新規のアーキテクチャは、添付の特許請求の精神および範囲内において、そのようなすべての代替、修正および変形を包含することを意図する。さらに、用語「含む」が詳細な説明または特許請求の範囲のいずれかで使用される限り、このような用語は、用語「備える」が特許請求の範囲において用いられる時に「備える」が移行語として解釈されるのと同様に包括的であることを意図する。

Claims (12)

  1. アプリケーションへのコンテンツ入力を容易にするコンピュータ装置であって、前記コンピュータ装置はプロセッサおよびシステムメモリを備え、前記プロセッサは、
    ウェブサーバ上に格納されたウェブドキュメントに関連したアプリケーションを、前記アプリケーションにアタッチされ、ユーザ入力を受け付けるように構成された入力メソッドコンポーネントとともに実行し、
    前記ウェブドキュメントをダウンロードし、
    前記ウェブドキュメントに組み込まれたコードを実行してデータを生成し、
    仲介コンポーネントによって、前記データを受け取り、前記データに基づく付加的な機能性を前記アプリケーションに提供する
    ように構成され、
    前記仲介コンポーネントは、前記ウェブドキュメント内のURL(Uniform Resource Locator)プレフィックスとともに登録され、前記URLプレフィックスは、前記仲介コンポーネントが動作するオペレーティングシステムのネイティブなURLプレフィックスに対する拡張であり、前記仲介コンポーネントは、前記ウェブドキュメント内のURLから前記URLプレフィックスを除去することによって抽出されたストリングを前記アプリケーションに提供することを特徴とするコンピュータ装置。
  2. 前記組み込まれたコードは、プログラミング言語内で作り出され、およびマークアップ言語に組み込まれることを特徴とする請求項1に記載のコンピュータ措置。
  3. 前記プロセッサは、前記ウェブサーバ上で更新された前記ウェブドキュメントをダウンロードするようにさらに構成され、前記更新されたウェブドキュメントは前記アプリケーションにより利用可能であることを特徴とする請求項1に記載のコンピュータ装置。
  4. 前記組み込まれたコードは、URL(Uniform Resource Locator)プロトコルのハンドラを使用して実行されることを特徴とする請求項1に記載のコンピュータ装置。
  5. 前記プロセッサは、前記入力メソッドコンポーネントまたは前記アプリケーションと関連付けられた識別子を登録し、前記登録された識別子に基づいて前記データを前記アプリケーションにルートするようにさらに構成されたことを特徴とする請求項1に記載のコンピュータ装置。
  6. 前記アプリケーションは複数のアプリケーションを含み、前記入力メソッドコンポーネントは複数の入力メソッドコンポーネントを含み、前記プロセッサは、
    前記複数の入力メソッドコンポーネントのうちのそれぞれの入力メソッドコンポーネントもしくは前記複数のアプリケーションのうちのそれぞれのアプリケーションと関連付けられた複数の識別子を登録し、
    最後に登録された識別子に基づいて、前記アプリケーションに前記データをルートするようにさらに構成されたことを特徴とする請求項1に記載のコンピュータ装置。
  7. 前記コンテンツは、テキストまたは複合オブジェクトのうちの少なくとも1つを含むことを特徴とする請求項1に記載のコンピュータ装置。
  8. コンピュータに実装されたコンテンツ方法であって、前記コンピュータはプロセッサおよびシステムメモリを含み、前記方法は、
    前記プロセッサが、
    ウェブサーバに格納されたウェブページに関連したアプリケーションを、前記アプリケーションにアタッチされ、ユーザ入力を受け付けるように構成された入力メソッドとともに実行するステップと、
    前記ウェブページをダウンロードするステップと、
    前記ウェブページに組み込まれたコードを実行して、データを生成するステップと、
    仲介コンポーネントによって、前記データを受け取り、前記データに基づく付加的な機能性を前記アプリケーションに提供するステップと
    を備え、
    前記仲介コンポーネントは、前記ウェブページ内のURL(Uniform Resource Locator)プレフィックスとともに登録され、前記URLプレフィックスは、前記仲介コンポーネントが動作するオペレーティングシステムのネイティブなURLプレフィックスに対する拡張であり、前記仲介コンポーネントは、前記ウェブページ内のURLから前記URLプレフィックスを除去することによって抽出されたストリングを前記アプリケーションに提供することを特徴とする方法。
  9. スクリプト言語内に前記組み込まれたコードを記述するステップと、前記コードを前記ウェブページ内のマークアップ言語に組み込むステップとをさらに備えることを特徴とする請求項8に記載の方法。
  10. 後続の実行用に、前記組み込まれたコードを更新するステップをさらに備え、前記データは前記更新された組み込まれたコードに基づいて生成されることを特徴とする請求項8に記載の方法。
  11. 前記入力メソッドを登録するステップと、前記登録に基づいて前記データを前記アプリケーションにルートするステップとをさらに備えることを特注とする請求項8に記載の方法。
  12. ユーザによる前記ウェブページとのインタラクトに応答して、前記入力メソッドと関連する前記アプリケーションに前記データを適用して、前記アプリケーションに付加的な機能を自動的に提供するステップをさらに備えることを特徴とする請求項8に記載の方法。
JP2012502131A 2009-03-25 2010-03-19 ウェブブラウザ経由のアプリケーションに対するコンテンツ入力 Active JP5757533B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/410,470 US9436482B2 (en) 2009-03-25 2009-03-25 Input content to application via web browser
US12/410,470 2009-03-25
PCT/US2010/028028 WO2010111147A2 (en) 2009-03-25 2010-03-19 Input content to application via web browser

Publications (3)

Publication Number Publication Date
JP2012521609A JP2012521609A (ja) 2012-09-13
JP2012521609A5 JP2012521609A5 (ja) 2013-05-02
JP5757533B2 true JP5757533B2 (ja) 2015-07-29

Family

ID=42781788

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012502131A Active JP5757533B2 (ja) 2009-03-25 2010-03-19 ウェブブラウザ経由のアプリケーションに対するコンテンツ入力

Country Status (6)

Country Link
US (1) US9436482B2 (ja)
JP (1) JP5757533B2 (ja)
KR (1) KR101661784B1 (ja)
CN (1) CN102362261B (ja)
TW (1) TWI521357B (ja)
WO (1) WO2010111147A2 (ja)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110119454A1 (en) * 2009-11-17 2011-05-19 Hsiang-Tsung Kung Display system for simultaneous displaying of windows generated by multiple window systems belonging to the same computer platform
US9146909B2 (en) * 2011-07-27 2015-09-29 Qualcomm Incorporated Web browsing enhanced by cloud computing
US20130081010A1 (en) * 2011-09-22 2013-03-28 Microsoft Corporation Template and server content download using protocol handlers
US8930492B2 (en) * 2011-10-17 2015-01-06 Blackberry Limited Method and electronic device for content sharing
US8769524B2 (en) * 2011-12-09 2014-07-01 Disney Enterprises, Inc. HTML directed adaptive features for mobile applications
US8893117B2 (en) * 2012-08-10 2014-11-18 Adobe Systems Incorporated Interactive product improvement through the use of variants and data gathering reports in a system that can be updated on the fly
JP5684766B2 (ja) * 2012-09-19 2015-03-18 株式会社東芝 複合機およびシステム
US10025760B2 (en) * 2013-01-25 2018-07-17 Ebay Inc. Mapping page states to URLs
US10810634B2 (en) 2013-02-08 2020-10-20 The Nielsen Company (Us), Llc Methods and apparatus for efficient execution of modules
NZ727109A (en) * 2014-05-06 2017-11-24 Okta Inc Facilitating single sign-on to software applications
US10042947B2 (en) * 2014-10-30 2018-08-07 Sunasic Technologies, Inc. Read-only method and system for operating portable devices
CN106095946B (zh) * 2016-06-14 2020-03-31 百度在线网络技术(北京)有限公司 页面的处理方法及装置
US10470040B2 (en) 2017-08-27 2019-11-05 Okta, Inc. Secure single sign-on to software applications
CN108334379A (zh) * 2018-01-05 2018-07-27 北京明略软件系统有限公司 一种页面扩展功能的实现方法及实现装置
CN108416021B (zh) * 2018-03-06 2023-10-13 腾讯科技(深圳)有限公司 一种浏览器网页内容处理方法、装置、电子设备及可读介质
CN112230914B (zh) * 2019-07-15 2023-09-15 腾讯科技(深圳)有限公司 小程序的制作方法、装置、终端及存储介质
US10963538B2 (en) * 2019-07-31 2021-03-30 Salesforce.Com, Inc. Client application for web application execution

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151609A (en) 1996-08-16 2000-11-21 Electronic Data Systems Corporation Remote editor system
US6119166A (en) * 1997-03-28 2000-09-12 International Business Machines Corporation Controlling communications with local applications using a browser application
CN1148675C (zh) 2000-06-20 2004-05-05 国际商业机器公司 基于网络的输入系统和方法
US6996599B1 (en) * 2000-06-21 2006-02-07 Microsoft Corporation System and method providing multi-tier applications architecture
KR100426315B1 (ko) * 2002-01-16 2004-04-06 한국전자통신연구원 서블릿 프로그램에서 ejb 컴포넌트 추출을 위한 분석장치 및 그 방법
US7426545B2 (en) * 2002-06-28 2008-09-16 International Business Machines Corporation Systems and methods for transparently accessing Web applications remotely and locally
GB2411331A (en) * 2004-02-19 2005-08-24 Trigenix Ltd Rendering user interface using actor attributes
JP2006195979A (ja) 2005-01-04 2006-07-27 Microsoft Corp ウェブアプリケーションアーキテクチャ
US7676357B2 (en) 2005-02-17 2010-03-09 International Business Machines Corporation Enhanced Chinese character/Pin Yin/English translator
JP4649301B2 (ja) 2005-09-15 2011-03-09 株式会社東芝 通信方法及びサーバ装置
US20070245353A1 (en) * 2006-03-14 2007-10-18 Amir Ben-Dor Secure integration of a local and a remote application
US8250518B2 (en) * 2006-03-30 2012-08-21 Microsoft Corporation Per user file associations
KR20070109149A (ko) 2006-05-09 2007-11-15 브레인즈스퀘어(주) 데이터베이스의 업그레이드 방법.
US7966599B1 (en) * 2006-08-29 2011-06-21 Adobe Systems Incorporated Runtime library including a virtual file system
JP4974749B2 (ja) * 2007-04-20 2012-07-11 キヤノン株式会社 情報処理装置、配信方法、その方法を実行する制御プログラム
US20090070786A1 (en) 2007-09-11 2009-03-12 Bea Systems, Inc. Xml-based event processing networks for event server
US8793709B2 (en) * 2008-11-20 2014-07-29 SAP France S.A. Dynamic data coordination between multiple applications

Also Published As

Publication number Publication date
TW201128404A (en) 2011-08-16
US20100251084A1 (en) 2010-09-30
KR101661784B1 (ko) 2016-09-30
KR20120009434A (ko) 2012-01-31
JP2012521609A (ja) 2012-09-13
US9436482B2 (en) 2016-09-06
TWI521357B (zh) 2016-02-11
WO2010111147A3 (en) 2011-01-13
WO2010111147A2 (en) 2010-09-30
CN102362261A (zh) 2012-02-22
CN102362261B (zh) 2014-01-08

Similar Documents

Publication Publication Date Title
JP5757533B2 (ja) ウェブブラウザ経由のアプリケーションに対するコンテンツ入力
US11829186B2 (en) System and methods for integration of an application runtime environment into a user computing environment
JP7146963B2 (ja) アプレットの実行方法、装置、電子機器及び記憶媒体
KR102220127B1 (ko) 커스터마이징된 소프트웨어 개발 키트(sdk) 생성을 위한 방법 및 장치
EP2815311B1 (en) Using an application cache to update resources of installed applications
KR102218995B1 (ko) 코드 가상화 및 원격 프로세스 호출 생성을 위한 방법 및 장치
US7293034B2 (en) Dynamically customizing a user interface for the aggregation of content
US9071570B2 (en) Method and apparatus to select and deliver portable portlets
US9208316B1 (en) Selective disabling of content portions
JP2014522039A (ja) ウェブアプリケーションアーキテクチャ
KR102073678B1 (ko) 펌웨어 가상화를 위한 방법 및 장치
WO2013091556A1 (zh) 一种基于浏览器的应用程序的扩展方法及装置
US9342386B1 (en) Messaging channel for web pages, extensions, and applications to communicate
WO2016176159A1 (en) Cross-platform command extensibility
RU2634221C2 (ru) Способ и устройство для отрисовки представления электронного документа на экране
WO2007013280A1 (ja) プラグインモジュール実行方法、ブラウザ実行方法、メーラ実行方法、プログラム、端末装置、及び、ページデータが記録されたコンピュータ読み取り可能な記録媒体
CN115525305A (zh) 数据处理、应用启动方法、装置、计算机设备和存储介质
US20190005007A1 (en) Merging client content with cloud services
TWI394079B (zh) 透過網頁提供服務方法及其系統
JP2017207824A (ja) 情報処理装置、情報処理方法

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130311

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20130311

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20130701

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20130718

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140219

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140519

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20140901

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20141128

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: 20150428

A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20150508

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150527

R150 Certificate of patent or registration of utility model

Ref document number: 5757533

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250