JP5550636B2 - 潜在転送表示を使用してドキュメントを編集する技術 - Google Patents

潜在転送表示を使用してドキュメントを編集する技術 Download PDF

Info

Publication number
JP5550636B2
JP5550636B2 JP2011507516A JP2011507516A JP5550636B2 JP 5550636 B2 JP5550636 B2 JP 5550636B2 JP 2011507516 A JP2011507516 A JP 2011507516A JP 2011507516 A JP2011507516 A JP 2011507516A JP 5550636 B2 JP5550636 B2 JP 5550636B2
Authority
JP
Japan
Prior art keywords
transfer
media content
document
control module
latent
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
JP2011507516A
Other languages
English (en)
Other versions
JP2011524033A (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 JP2011524033A publication Critical patent/JP2011524033A/ja
Application granted granted Critical
Publication of JP5550636B2 publication Critical patent/JP5550636B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • 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
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • 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
    • G06F40/143Markup, e.g. Standard Generalized Markup Language [SGML] or Document Type Definition [DTD]
    • 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/151Transformation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Human Computer Interaction (AREA)
  • Human Resources & Organizations (AREA)
  • Databases & Information Systems (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Marketing (AREA)
  • Information Transfer Between Computers (AREA)
  • Document Processing Apparatus (AREA)
  • Electrostatic Charge, Transfer And Separation In Electrography (AREA)
  • User Interface Of Digital Computer (AREA)
  • Combination Of More Than One Step In Electrophotography (AREA)
  • Credit Cards Or The Like (AREA)
  • Storage Device Security (AREA)

Description

本発明は、潜在転送表示を使用してドキュメントを編集する技術に関する。
ワード処理アプリケーションプログラム等のアプリケーションプログラムは従来、ローカル又はネットワークベースのファイルに格納されたドキュメントに対して多くの編集及びフォーマット機能を提供するパーソナルコンピューター上でインストールされたスタンドアロンのソフトウェアプログラムであった。これらのアプリケーションプログラムは一般にとても大きく、インストールするために多くのメガバイトのドライブの空きを要求する。しかしながら最近の傾向は、同じスタンドアロンのアプリケーションプログラムへのアクセスを有さなくてもよいリモートで多様なユーザーによるドキュメントの協力的な開発のためであり、ドキュメントはインターネット上でアクセス可能なリモートネットワーク上に格納されうる。これは、従来のWorld Wide Web(「web(ウェブ)」)を介して配信できるアプリケーションプログラムの開発をもたらし、従ってリモートのドキュメントが従来のスタンドアロンのアプリケーションプログラムをインストールする必要なくネットワーク上でユーザーにより編集されることを可能にする。
ウェブベースのアプリケーションプログラムの機能性を提供する一技術は、多くのウェブブラウザープログラムにおいて利用可能な編集特性を利用するウェブページを開発することを伴う。この技術は、少ない開発の努力で小さく早い利点を有する。しかし、これらのウェブブラウザーにより提供されたこの限定された編集特性は一般に、従来のスタンドアロンのアプリケーションプログラムの特徴的な多くの性能と比較できない。さらに利用可能な編集特性は異なるウェブブラウザープログラム間で変わりうることにより、すべてのウェブブラウザーに渡って一貫したユーザーエクスペリエンスを提供することを難しくする。
ウェブベースのアプリケーションプログラムの機能性を提供する別の技術は、サンマイクロシステムズからのJAVA、アドビシステムズからのFLASH、非同期JavaScript及びXML(「AJAX」)等のクロスブラウザーのランタイムテクノロジーを使用してブラウザー内で実行される完全なアプリケーションプログラムを実装することである。アプリケーションプログラムの特性及び性能上で完全な制御を開発者に可能にする一方で、この方法は一般に考慮可能な開発努力を伴い、ウィンドウ内でユーザーによりタイプされたテキストのレンダリング、テキストを通して点滅するカーソルの動き、又はウィンドウのユーザータイプのコンテンツの一貫したリフロー等の低いレベルの編集機能性の実装を要求する。さらに、アプリケーションプログラムはブラウザーベースのランタイム技術において実行されるので、実行においてゆっくりであることが多く、適切に応答するユーザーインターフェースを提供できないかもしれない。
本改善が必要とされることは、これら及び他の考慮に関する。
本概要は、発明を実施するための形態において以下でさらに説明される概念の抽出したものを簡略化された形式で紹介するために提供される。本概要は、特許請求された主題の重要な特徴又は本質的な特徴を特定することを意図せず、特許請求された主題の範囲を決定する助けであることも意図しない。
様々な実施形態は概して、リモートデバイスからネットワーク上でドキュメントを修正、変更又はさもなければ編集するための技術に向けられる。例えば一実施形態において、装置はウェブブラウザーを有するクライアントデバイスを含みうる。このクライアントデバイスはウェブブラウザーを使用してネットワーク上でサーバーからアプリケーションプログラムを取り出し、ウェブブラウザーのウィンドウを使用してドキュメントを表示するためにクライアントデバイスでアプリケーションプログラムを実行しうる。ユーザーはその後、ウェブブラウザーのウィンドウを介してドキュメントを編集し、一度修正されるとサーバーに修正されたドキュメントを格納しうる。
このクライアントデバイスは、一般にドキュメントに対する編集動作を管理するために、新しい、拡張されたドキュメント編集サブシステムを使用しうる。例えば一実施形態において、ドキュメント編集サブシステムは、ドキュメント内に潜在転送表示(latent transfer surface)を組み込むよう作動する転送表示作成モジュールを含みうる。転送制御モジュールは転送表示作成モジュールに通信的に結合されうる。転送制御モジュールは、ドキュメントについてのメディアコンテンツを転送するための転送要求を受け取り、転送要求に応答して潜在転送表示を使用してメディアコンテンツを転送するよう作動しうる。転送要求の例は、コピー転送要求、切り取り転送要求、貼り付け転送要求、貼り付け特別転送要求及びその他を限定することなく含みうる。他の実施形態は説明され特許請求される。
これら及び他の特徴及び利点は、以下の発明を実施するための形態及び添付の図面の検討の解釈から明らかとなる。以下の一般的な説明及び以下の発明を実施するための形態の両方が説明のためのみであり、特許請求される態様の限定ではないことを理解されたい。
第1のシステムの実施形態を示す図である。 ドキュメント編集サブシステムの実施形態を示す図である。 第2のシステムの実施形態を示す図である。 論理フローの実施形態を示す図である。 コンピューティングアーキテクチャの実施形態を示す図である。 項目の実施形態を示す図である。
様々な実施形態は、ある動作、機能又はサービスを実行するために編成された物理的又は論理的構造を含む。この構造は、物理構造、論理構造又は両方の組み合わせを含みうる。この物理的又は論理的構造は、ハードウェア要素、ソフトウェア要素又は両方の組み合わせを使用して実装される。しかし、特定のハードウェア又はソフトウェア要素を参照した実施形態の説明は例として意味し、限定ではない。実施形態を実際に実践するためにハードウェア又はソフトウェア要素の使用を決定することは、所望のコンピューターの率(computational rate)、電源レベル、耐熱性、処理サイクル量(processing cycle budget)、入力データー率、出力データー率、メモリーリソース、データーバススピード、及び他の設計又は性能制約などの多くの外部要素に依存する。さらに、物理的又は論理的構造は、電気信号又はメッセージの形式で構造間で情報を通信するための対応する物理的又は論理的接続を有しうる。この接続は情報又は特定の構造に適切な有線及び/又は無線接続を含みうる。「一実施形態」又は「実施形態」の任意の参照は、実施形態に結び付けて説明される特定の特徴、構造又は特性が少なくとも一実施形態内に含まれることを意味することを理解されたい。明細書における様々な場所における「一実施形態において」の句の出現は、同じ実施形態をすべて参照する必要性はない。
様々な実施形態は一般に、ウェブブラウザー等の適した通信インターフェースを使用してクライアントデバイスにより実行のために編成されたサーバーベース又はウェブベースのアプリケーションプログラムに向けられる。ウェブベースのアプリケーションプログラムは、クライアントデバイスにより実装されることになるスタンドアロンのアプリケーションプログラムを必要とすることなくクライアントデバイスからオンラインで、ドキュメントを作成及び編集することを操作者に可能にする。さらに、ウェブベースのアプリケーションプログラムは、他の操作者とリアルタイムで協力することを可能にする。
アプリケーションプログラムは、ドキュメントを作成、修正、処理及び管理することが可能な任意の種類のアプリケーションプログラムを含みうる。ドキュメント(文書)の例は、ワード処理のドキュメント、スプレッドシートのドキュメント、個人情報管理のドキュメント、プレゼンテーションのドキュメント、メモ(note)のドキュメント、データーベースのドキュメント、出版(publishing)のドキュメント、データー入力のドキュメント、図形のドキュメント、プロジェクトのドキュメント、フォームのドキュメント、インターネットのドキュメント、マークアップ言語のドキュメント、HTML(hypertext markup language)のドキュメント、XHTML(extensible HTML)、XML(extensible markup language)のドキュメント、GML(generalized markup language)のドキュメント、SGML(standard GML)のドキュメント、LML(lightweight markup language)のドキュメント、UIML(user interface markup language)、VGML(vector graphics markup language)のドキュメント、ウェブベースのドキュメント、オンラインのドキュメント、ウェブページ及びその他を限定ではなく含みうる。アプリケーションプログラムの例は、ワシントン州リッチモンドのマイクロソフト社により適合して作られたマイクロソフト(登録商標)オフィス製品に含まれる任意のアプリケーションプログラムを限定ではなく含みうる。例えば一実施形態において、アプリケーションプログラムはマイクロソフトのワード(MICROSOFT WORD)等のワード処理プログラムを含みうる。マイクロソフトのワード(MICROSOFT WORD)アプリケーションプログラムは、マイクロソフトオフィスライブ(MICROSOFT OFFICE LIVE)又はグーグル(登録商標)APPS(アプリケーション)により提供されるウェブベースのアプリケーションプログラムとして実装しうる。しかし実施形態はこの例に限定されない。
一実施形態において、ワード処理プログラム等のアプリケーションプログラムは、クロスブラウザーのランタイム技術において実装され、従来型のスタンドアロンのワード処理プログラムと比較して編集特性の多くのセットを提供する。編集特性は様々なエンドポイント間のメディアコンテンツの転送を伴う任意のコマンド、命令、指示を含みうる。編集特性の例は、コピーのコマンド、切り取りのコマンド、貼り付けのコマンド、貼り付けの特別なコマンド及びその他を限定ではなく含みうる。様々なエンドポイント間での転送の例は、ドキュメントとシステムクリップボードとの間、2つの異なるドキュメント間、アプリケーションプログラム間、システムプログラムとアプリケーションプログラムとの間、ソフトウェアオブジェクト間、及びその他のメディアコンテンツの転送を限定ではなく含みうる。アプリケーションプログラムは、アプリケーションプログラムをサポートするよう設計されたドキュメント編集サブシステムを使用して編集特性を実装しうる。ドキュメント編集サブシステムは、サーバーにより実行されるウェブベースのアプリケーションプログラムの一部、クライアントデバイスにより実行されるウェブベースのアプリケーションプログラム、ウェブブラウザー等の通信インターフェース、ほかのネットワークがアクセス可能な若しくはクライアントがアクセス可能なデバイス、又はこれらの選択肢の組み合わせ等の様々なネットワークの部分において実装されうる。
従来のウェブベースの編集ツールは多くの理由により、満足いくものではない。例えば、既存のウェブベースの編集ツールは、編集特性、特にデーターをシステムクリップボードにインポート及びエクスポートすることに関して、実装するのに限定された性能を一般に有する。これはウェブブラウザー自身により課されたセキュリティ制限に一部起因する。編集ドキュメントは従って、ウェブブラウザーによって提供された編集コマンドに依存している。例えば編集可能なHTML表示がユーザーに提供されるとき、任意の不定なメディアコンテンツはその後に表示に貼り付けできる。この場合にワード処理プログラムは、操作者(オペレーター)により貼り付けられる不定のメディアコンテンツのスタイル、フォーマット及びレイアウト上で限定された制御を有する。さらにこのような編集動作を検知すること、及びすべてのウェブブラウザーにおいてよく動作し、既存のアプリケーションで使用されるコンテンツをフィルタリングすることは難しい。同様な問題がシステムクリップボードにメディアコンテンツをコピーすることについて存在する。ウェブブラウザーにより使用される選択モデルは一般に限定される。例えば操作者はドキュメントの異なる部分の同時選択を行うこと、又はIFRAME(Inline Frame)等の任意の埋め込まれたコンテンツに範囲が渡る選択を行うことはできない。さらに、ソースドキュメント(例えばウェブページとしてレンダリングされたドキュメント)からコピーされたメディアコンテンツは、目的エンドポイントに対して適したフォーマットではないことがある。
これら及び他の問題を解決するために、実施形態は、スタンドアロンのワード処理プログラムと互換性のある編集特性の拡張されたセットを提供するよう編成されたドキュメント編集サブシステムを含む。低いレベルの編集機能を実装するためにウェブブラウザーにより提供される編集特性を使用することよりむしろ、ワード処理プログラムは様々な編集特性を実装するためにドキュメント編集サブシステムを利用しうる。特に、ドキュメント編集サブシステムは、様々な編集特性を実装するために潜在転送表示を利用しうる。潜在転送表示はドキュメント内に組み込まれ、操作者による視界(view)から隠される。潜在転送表示は、ドキュメント及びシステムクリップボード間で転送されるメディアコンテンツについての仲介のストレージ構造として使用されうる。一態様において、とりわけ潜在転送表示はHTML IFRAME要素として実装されうる。
本明細書で示される一態様によって、ウェブブラウザー内のドキュメントは潜在転送表示を使用して編集されうる。これに関して、ウェブブラウザー内で実行するワード処理プログラムは、ブラウザーのウィンドウにドキュメントを表示する。ドキュメント編集サブシステムが編集要求(例えば、切り取りの転送要求、コピーの転送要求、貼り付けの転送要求、貼り付けの特別な転送要求等)をいつ受け取ろうが、編集要求を促進又は実行するために組み込まれた潜在転送表示を利用する。一般に、ドキュメント編集サブシステムは潜在転送表示にメディアコンテンツを転送し、メディアコンテンツを処理し、その後処理されたメディアコンテンツを目的オブジェクト(例えば、ドキュメント又はシステムクリップボード)に転送する。この仲介の処理段階は、選択されたメディアコンテンツが、コピーの転送要求又は切り取りの転送要求に応答したシステムクリップボード、貼り付けの転送要求又は貼り付けの特別な転送要求に応答したドキュメント、及びその他等の目的エンドポイントに適した様々なフォーマットに変換されるか又は解釈されることを可能にする。実施形態はこの文脈に限定されない。
上述の主題がコンピューター制御の装置、コンピューター処理、コンピューティングシステム、又はコンピューター読み取り可能な媒体等の製品の項目としても実装されうることを理解されたい。これら又は様々な他の特徴は以下のより詳細な説明の解釈及び関連付けられた添付の図面の検討から明らかとなる。
図1はシステム100のブロック図を示す。システム100は単一のエンティティ(実体)の環境又は複数のエンティティの分散環境による実装のために設計された様々な要素を含みうる。各要素は、設計パラメーター又は性能制限の所与のセットについて要求されるように、ハードウェア要素、ソフトウェア要素又はこれらの任意の組み合わせとして実装されうる。ハードウェア要素の例は、デバイス、コンポーネント、プロセッサー、マイクロプロセッサー、回路、回路要素(例えばトランジスター、レジスター、コンデンサー、インダクター及びその他)、集積回路、ASIC(application specific integrated circuits)、PLD(programmable logic devices)、DSP(digital signal processors)、FPGA(field programmable gate array)、メモリーユニット、論理ゲート、レジスター、半導体デバイス、チップ、マイクロチップ、チップセット及びその他を含みうる。ソフトウェア要素の例は、任意のソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータープログラム、アプリケーションプログラム、システムプログラム、機械プログラム、オペレーションシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、方法、インターフェース、ソフトウェアインターフェース、API(application program interface)、命令セット、コンピューティング(演算)コード、コンピューターコード、コードセグメント、コンピューターコードセグメント、ワード、値、符号又はこれらの任意の組み合わせを含みうる。
本明細書で使用される用語「システム」、「サブシステム」、「コンポーネント」及び「モジュール」は、コンピューターに関連したエンティティを指すことを意図し、ハードウェア、ハードウェア及びソフトウェアの組み合わせ、ソフトウェア、又は実行におけるソフトウェアのいずれかを含む。例えばコンポーネントは、プロセッサー上で実行しているプロセス、プロセッサー、ハードディスクドライブ、(光及び/又は磁気のストレージメディア(記録媒体)の)複数のストレージデバイス、オブジェクト、実行ファイル(executable)、実行のスレッド、プログラム、及び/又はコンピューターとして実装できる。例として、サーバー上で実行しているアプリケーション及びサーバーはコンポーネントであることができる。1以上のコンポーネントは、処理及び/又は実行のスレッド内に存在でき、コンポーネントは一コンピューター上でローカライズ及び/又は所与の実装のために望まれるように2以上のコンピューター間で分散されることができる。実施形態はこの文脈に限定されない。
図1に図示される実施形態は、潜在転送表示130を使用してドキュメントを編集するためのシステム100の変化した態様を示す。システム100はオペレーティングシステム及び1または複数のアプリケーションプログラムを実行できる標準のデスクトップ又はラップトップコンピューターシステムを含むコンピューター120を含む。コンピューター120はディスプレイ104、マウス108及びキーボード110に動作可能なように接続されて、ユーザー102がシステム及びコンピューター120上で実行しているアプリケーションプログラムと対話することを可能にする。コンピューター120は、ネットワーク160等の1以上のローカル及びワイドエリアネットワークを通してサーバーコンピューター162に相互接続される。多くのさらなるネットワーク接続が図1における図示より利用されうることを理解されたい。
コンピューター120は、ネットワーク160を介してサーバーコンピューター162により実行されるウェブサーバー164に動作可能に接続されるウェブブラウザー122を実行するよう作動する。一実施形態において、ウェブブラウザー122は、マイクロソフト社のインターネットエクスプローラー(登録商標)等のHTMLドキュメント、MOZIKKAのFIREFOX、APPLE社のSAFARI及びその他等をディスプレイできるアプリケーションプログラムである。しかし、マークアップ言語をレンダリングし、スクリプトロジックを実行することが可能な任意の種類のアプリケーションプログラムが、ウェブブラウザー122を一体化するのに利用されうることを当業者により理解されたい。サーバーコンピューター162はウェブサーバーとして動作し、ウェブブラウザー122にドキュメントを供給することが可能な任意のソフトウェアプログラムを含みうる。サーバーコンピューター162はさらに、ドキュメントを含むデーターストレージ168及びアプリケーションプログラム140に接続され、これは以下でより詳細に説明される。一実施形態によれば、ドキュメントはウェブブラウザー122に供給されることになるドキュメント128を含みうる。例えば、ドキュメント128は、ウェブブラウザー122によりレンダリングされたHTMLドキュメントを含みうる。コンピューター120のユーザー102による要求の上で、ウェブブラウザー122は、ウェブサーバー164からドキュメント128を取り出し、ユーザー102への表示のためにディスプレイ104上でウィンドウ106においてそれをレンダリング(render)するよう動作可能である。
上で簡単に説明したように、システム100もまた、ワード処理プログラム等のアプリケーションプログラム140も含む。アプリケーションプログラム140は、コンピューター120のユーザー102がウィンドウ106におけるドキュメント128のコンテンツを編集することを可能にするよう作動する。一実施形態によれば、アプリケーションプログラム140は、ウェブブラウザー122により提供されるランタイム環境内で実行することが可能である。例えば、アプリケーション140はAJAX開発技術を使用して作成されうる。
一実施形態において、アプリケーションプログラム140は編集されることになるドキュメント128を伴いウェブサーバー164から取り出される。代替の実施形態において、アプリケーションプログラム140はコンピューター120上でローカルに存在しうる。アプリケーションプログラム140は、ユーザー102に所与の機能のセット(例えばワード処理)を提供するよう作動するアプリケーションロジックを含むアプリケーションプログラムモジュール148を含む。一実施形態において、アプリケーションプログラム140は内部のドキュメントイメージ150内に編集されているドキュメントのコンテンツを保持する。一実施形態において、アプリケーションプログラム140はドキュメント128内に直接編集されているドキュメントのコンテンツを保持する。ディスプレンダラー124はディスプレイのためにドキュメント128をレンダリングする。例えば、ディスプレイレンダラー124はHTMLレンダラーとして実装されうる。
一実施形態において、アプリケーションプログラム140はイベントハンドリングモジュール146を含み、ユーザー入力プロセッサー126からユーザーの入力イベントを監視する。図2に関して以下で詳細に説明されるように、イベントハンドリングモジュール146は、ウィンドウ106において表示されるように、ドキュメント128内の1または複数の位置にて挿入ポインターのユーザー102による配置及び動きを検知するよう作動する。イベントハンドリングモジュール146は、ドキュメントのコンテンツの編集の間、ユーザーの入力イベントを監視するようにさらに作動する。例えば、イベントハンドリングモジュール146は、編集コマンドの準備においてドキュメント128内のメディアコンテンツの一部分又は複数の部分を検出しうる。
コンピューター120は、ドキュメント128等のドキュメントについての編集動作及び編集特性を一般に管理するように編成された拡張されたドキュメント編集システム200を使用しうる。特に、ドキュメント編集サブシステム200は、様々な編集特性をサポート又は実装するために潜在転送表示130を利用しうる。このドキュメント編集サブシステム200は、ユーザー102によるビューから見えないままする又は隠されたままにする方法で、ドキュメント128に潜在転送表示130を埋め込む。ドキュメントの編集サブシステム200は、ドキュメント128とシステムクリップボードとの間で転送されているメディアコンテンツについての仲介のストレージ構造として、潜在転送表示130を使用しうる。
潜在転送表示130は、ユーザー102への表示のためのディスプレイ104上のブラウザーウィンドウ106におけるドキュメント128をレンダリングするために、ディスプレイレンダラー124により使用される所与のマークアップ言語で使用するのに適した任意の編集可能なフレームを含みうる。さらに、潜在転送表示は隠されるか、潜在か又は見えないので、ユーザー102は、ブラウザーウィンドウ106におけるドキュメント128の閲覧の間、編集可能なフレームを閲覧又は気づくことができない。例えば、一実施形態において、とりわけ潜在転送表示130はHTML、IFRAME要素として実装されうる。ユーザー102に可視ではなく、特定のドキュメントでの使用に適した任意の編集可能なフレームは、潜在転送表示130として使用されうる。この実施形態はこの文脈に限られない。
潜在転送表示130は、ユーザー102がドキュメント128に貼り付けるメディアコンテンツのための保管又は一時的なストレージ、及びコピー又は切り取りコマンドについて選択されたコンテンツをレンダリングするための場所として使用しうる。可視でない又は潜在転送表示130を使用することは、各ドキュメント128がドキュメント128に又はドキュメント128から転送されるメディアコンテンツを一時的に格納することを可能にする。ドキュメント編集サブシステム200は潜在転送表示130を監視でき、メディアコンテンツが潜在転送表示130に預けられていたとき検知できる。ドキュメント編集サブシステム200はその後、潜在転送表示130により格納されたメディアコンテンツを、目的エンドポイント(例えば、システムクリップボード又はドキュメント)に適したフォーマットに変換又は解釈できる。この方式でドキュメント編集サブシステム200及び潜在転送表示130は、貼り付けコマンド又は貼り付けスペシャルコマンドを使用してシステムクリップボード142からドキュメント128に挿入されていると同時に、コピーコマンド又は切り取りコマンドを使用してドキュメント128からシステムクリップボード142にコピー又は移動されているメディアコンテンツのフォーマットをアプリケーション140がコントロールすることを可能にする。この種類のモデル間での差異、及び典型的なウェブブラウザーに実装される編集特性により提供されるデフォルトの振る舞いは、ウェブブラウザーにより提供される編集特性及び制御も制限されるよりむしろ、ドキュメント編集サブシステム200が選択されたメディアコンテンツの完全な制御を保持することであり、ドキュメント編集システム200がスタイル、フォーマット、レイアウト、及びメディアコンテンツの他のフォーマット態様を操作することを可能にする。
例えば一実施形態において、ドキュメント編集サブシステム200は、貼り付け及び貼り付けの特別なコマンドを扱うために潜在転送表示130を使用しうる。特にドキュメント編集サブシステム200は、ディスプレイ104のウィンドウ106におけるウェブページとしてレンダリングされるドキュメント128上の新しいHTML要素として潜在転送表示130を実装しうる。プログラム的に潜在転送表示130にフォーカスを置くことにより、貼り付けコマンドを引き起こすユーザー動作は、メディアコンテンツを潜在転送表示130に置くことになる。「フォーカス(focus)」という用語は、所与のドキュメント内の挿入場所又は現在の選択の位置を指す。貼り付け動作が起きたとき、潜在転送表示130のコンテンツは検出のために監視されうる。このとき、潜在転送表示130のコンテンツを検査でき、ドキュメント128に適したフォーマットに変換できる。データーが変換された後、ドキュメント128のユーザーのビューに挿入される。この方式で、ウェブページ上に現れるメディアコンテンツの制御が保持でき、ドキュメント128になされた編集についての情報を保存できる。
例えば一実施形態において、ドキュメント編集サブシステム200は、コピー、移動及び切り取りコマンドを操作するために潜在転送表示130も使用しうる。ユーザー102がキーボード又はマウス等の入力デバイスを使用してドキュメント128内でいくつかのメディアコンテンツを選択するとき、ドキュメント編集サブシステム200はユーザーが選択したいメディアコンテンツを判定する。ドキュメント編集サブシステム200はその後、選択されたことを示す(例えば、テキスト上の青い背景)ために選択されたメディアコンテンツのフォーマットを変更する。ドキュメント編集サブシステム200は、ユーザー102により選択された的確なデーターを表すHTMLコード又は他のコードの実行となるように、潜在転送表示130のコンテンツを設定する。ドキュメント編集サブシステム200は、潜在転送表示130のコンテンツを指すために、ドキュメント128内にフォーカスをプログラム的に設定する。結果として、ユーザー102がコピーのコマンドを実行するとき、システムクリップボード142はドキュメント編集サブシステム200により生成されたメディアコンテンツを追加されることになる。
図2はドキュメント編集サブシステム200の、より詳細なブロック図である。ドキュメント編集サブシステム200は複数のコンポーネント及び/又はモジュールを含みうる。図2において示される図示された実施形態において、ドキュメント編集サブシステム200は、編集管理コンポーネント220、ストレージコンポーネント230、I/O(入力/出力)コンポーネント240を含みうる。コンポーネント及び/又はモジュールは、ハードウェア要素、ソフトウェア要素、又はハードウェア要素及びソフトウェア要素の組み合わせを使用して実装されうる。図2において示されるようにドキュメント編集サブシステム200はある接続形態において限定された数を有すが、ドキュメント編集サブシステム200は所与の実装で望まれるように、代替の接続形態において、多かれ少なかれ要素を含みうることを理解されたい。
編集管理コンポーネント220は、イベントメッセージキュー222において、様々な入力イベントメッセージ202を受け取るよう編成されうる。イベントメッセージキュー222は、イベントメッセージを扱うための1または複数のキューを含みうる。例えば一実施形態において、イベントメッセージキュー222は異なる優先度でイベントメッセージを扱いうる。イベントハンドリングモジュール146は、様々なイベントメッセージ202を処理して扱うために、イベントメッセージキュー222を使用しうる。
編集管理コンポーネント220は制御ロジック224を含みうる。制御ロジック224は定義情報(configuration information)206に基づいて編集管理コンポーネント220の動作を制御するよう編成されうる。例えば制御ロジック224は、様々な入力イベントメッセージ202に応答して様々な入力サブシステムから受け取った入力データーの様々な動作を実施するためのアルゴリズム、ロジックフロー又は状態マシンを実行しうる。制御ロジック224は定義情報206に基づいて入力データーを処理しうる。制御ロジック224は、様々な出力イベントメッセージ204も作成し、出力イベントメッセージ204をイベントスケジューラー及びディスパッチャー226に送信もする。
編集制御コンポーネント220はイベントスケジューラー及びディスパッチャー226を含みうる。イベントスケジューラー及びディスパッチャー226は、イベントを他の外部のエンティティに初期化するよう編成され、内部のイベント及び編集管理コンポーネント220内のメッセージをディスパッチ(発送)しうる。例えば、イベントスケジューラー及びディスパッチャー226は、入力イベントメッセージ202に応答して、様々な出力イベントメッセージ204を他のシステム、サブシステム、システム100のコンポーネント又はモジュールに送信する。
一実施形態において、ドキュメント編集サブシステム200はストレージコンポーネント230を含みうる。ストレージコンポーネント230は、編集管理コンポーネント220についてのストレージ動作を管理するためのデーターストア及びロジックで編成されうる。ストレージコンポーネント230は一時的なデーターストア232における編集管理コンポーネント220により使用される一時的又は未処理の情報を格納しうる。例えば、一時的又は未処理の情報はXML(extensible markup language)、バイナリファイル、又は一時的なデーターストア232におけるいくつかの他のフォーマットとして格納されうる。ストレージコンポーネント230は永久データーストア234における編集管理コンポーネント220により使用される永続的な又は処理された情報を格納しうる。データーストア232、234はそれぞれ個別のデーターストア、又はSAN(storage area network)等のより大きなデーターストア配列の一部を含む複数のデーターストアを含みうる。さらに、ストレージコンポーネント230及びデーターストア232、234は、システムが潜在及び容量パラメーターを満たす必要がある場合に、適切なデーターのバッファリング及びキャッシュ技術および構造を実装しうる。ストレージコンポーネント230もまた、ストレージのログを取り、検査するための動作を管理する。
一実施形態において、ドキュメント編集サブシステム200はI/Oコンポーネント240を含みうる。I/Oコンポーネント240は、ドキュメント編集サブシステム200を通しての移動情報における転送及びI/O動作を管理するためのバッファー及びロジックで編成される。例えば、I/Oコンポーネント240は、入力サブシステムから入力データー208を受け取って格納するための1以上の入力データーバッファー242を含みうる。編集管理コンポーネント220の1以上のモジュールは、処理されたデーターからの入力データー208を処理し、それを1以上の出力データーバッファー246に送りうる。出力データーバッファー246は、出力サブシステムに出力データーを格納及び送信するよう編成されうる。データーマネジャー244はデーター収集サービス及びデーター分散サービスを制御及び管理するためにロジック及びネットワークインターフェース(例えばウェブサービスインターフェース)を実装しうる。I/Oコンポーネント240は、入力データー208、及び/又は1フォーマット、データスキーマ又はプロトコルからの処理されたデーターを、代替フォーマット、データスキーム又はプロトコルに変換するために、1以上の変換バッファー248を実装しうる。
一般的な動作において、ドキュメント編集サブシステム200は、コンピューター120により実行されたウェブブラウザー122を利用して、アプリケーションプログラム140についての様々な編集特性を実装しうる。さらに特に、ドキュメント編集サブシステム200は編集特性をサポートするための潜在転送インターフェース130を使用しうる。これは多くの編集モジュール228−1−pを使用して達成されうる。図2に示される図示の実施形態において、編集モジュール228−1−pは、転送表示作成モジュール228−1、転送制御モジュール228−2、メディアコンテンツ変換モジュール228−3を含みうる。例としてであり限定ではなく編集モジュール228−1−pの特定数が図2において示されているが、多かれ少なかれモジュールが所与の実装で望まれるように革新的な市場の動作の様々なセットについて実装されうることを理解されたい。実施形態はこの文脈に限定されない。
転送表示作成モジュール228−1は、ドキュメント128内の潜在転送表示130を作成又は埋め込むために一般に作動しうる。潜在転送表示130は、ドキュメント編集サブシステム200がウェブベースのアプリケーションプログラム140に及びウェブベースのアプリケーションプログラム140から、メディアコンテンツのインポート及びエクスポートを制御することを可能にする一時的なストレージ構造として使用されうる。潜在転送表示130は編集可能なフレーム(例えばIFrame)であり、アプリケーション140により制御されるが、アプリケーションプログラム140のユーザー102に実際に可視ではない。潜在転送表示130は、ユーザー102、ウェブブラウザー122、アプリケーションプログラム又はいくつかの他のエンティティ又はオブジェクトにより発行された編集コマンドについて、仲介の目的の位置として動作する。
転送表示作成モジュール228−1は様々な段階で潜在転送表示130を作成しうる。例えば、ユーザー102がアプリケーションプログラム140を立ち上げるとき、転送表示作成モジュール228−1は潜在転送表示130を作成する。別の例において、ディスプレイレンダラー124がブラウザーウィンドウ106におけるドキュメント128をレンダリングする際に、転送表示作成モジュール228−1は潜在転送表示130を作成しうる。いずれの場合においても、アプリケーションプログラム140は一度作成された潜在転送表示130への参照を保持する。
潜在転送表示130は、ユーザー102への表示のために、ディスプレイ104上のブラウザーウィンドウ106内のドキュメント128をレンダリングするために、ディスプレイレンダラー124により使用される所与のマークアップ言語での使用に適した任意の編集可能なフレームを含みうる。例えば一実施形態において、潜在転送表示130は、とりわけHTML IFRAME要素として実装されうる。さらに、潜在転送表示は隠され、不可視なので、ユーザー102は、ブラウザーウィンドウ106におけるドキュメント128を閲覧する間、編集可能なフレームを閲覧又は気付くことができない。
転送制御モジュール228−2は、転送表示作成モジュール228−1に通信的に結合されうる。転送制御モジュール228−2は、潜在転送表示130を使用してドキュメント編集サブシステム200についての転送動作を制御するよう一般に編成されうる。例えば一実施形態において、転送制御モジュール228−2は、イベントハンドリングモジュール146により傍受されるように、ドキュメント128についてのメディアコンテンツを転送するための転送要求を受け取りうる。転送制御モジュール228−2はその後、転送要求に応答して潜在転送表示130を使用してメディアコンテンツの転送を連動しうる。転送要求の例は、コピーの転送要求、切り取りの転送要求、貼り付けの転送要求、貼り付けの特別な転送要求等の任意の適した編集コマンドを限定されることなく含みうる。
転送制御モジュール228−2は、コピーの転送要求又は切り取りの転送要求に応答して、ドキュメント128から潜在転送表示130にメディアコンテンツを転送するよう稼動しうる。転送制御モジュール228−2はドキュメント編集サブシステム200についての選択及びコピーのサポートを提供する。転送制御モジュール228−2は、ユーザー102によるキーボード及びマウスの動きを追跡し、ユーザー102により選択されていたドキュメント128内のメディアコンテンツが何かを判定するためにそれらを処理する。比較のため、従来のウェブブラウザーはウェブベースのアプリケーションプログラムについてのコンテンツを一般に選択する。しかし転送制御モジュール228−2はこの時点で介入し、ドキュメント128上のどのオブジェクト(テキスト、画像等)にユーザー102が選択を試みているかの追跡を保持する。転送制御モジュール228−2は、テキスト上の背景の色の変更、画像の周りの縁を強調、及び他の適切なGUI(graphics user interface)技術等のいくつかの知覚できる方式でユーザー102にこれを可視的に表示することになる。
ほぼ同時に、転送制御モジュール228−2は選択されたメディアコンテンツを潜在転送表示130にレンダリングすることになる。例えば、潜在転送表示130の内部に適切なHTMLツリーを作成することにより、これは達成されうる。これは、アプリケーション140が目的エンドポイントにより使用される現在のフォーマット特性と互換性のある方式でメディアコンテンツをレンダリングすることを可能にする。例えばドキュメント128上の選択がテーブルの内部で実行されたテキストを含むと仮定する。目的によって、転送制御モジュール228−2は潜在転送表示130においてレンダリングされるメディアコンテンツの一部として周囲のテーブルを含むかどうかを任意で選択できる。例えば、転送制御モジュール228−2は、ページ上で要素の論理的な関連付けのために使用されているとき、周囲のテーブルを含むこと、レイアウトの目的のみで使用されている場合に、周囲のテーブルを除外することがすること、及びその他ができる。
転送制御モジュール228−2が潜在転送表示130により格納された選択されたコンテンツについてレンダリングすることを一度判定すると、転送制御モジュール228−2は、選択されたようにメディアコンテンツをマークするためにウェブブラウザー122を指示するためのJavaスクリプトコード又はいくつかの他の適した技術を使用しうる。視覚的にこの動きはユーザー102から隠される。むしろ、ユーザー102は上述したように選択の印の視覚の要素のみ見ることになる。この時点でユーザー102は、キーボードのショートカットを押すか、右クリックのコンテキストメニュー、ブラウザーの編集メニュー、及びその他を使用することにより、コピーのコマンド又は切り取りのコマンドを発行するかどうかを判定できる。コピー/切り取りコマンドが発行されるとき、転送制御モジュール228−2は、変換されたメディアコンテンツを、潜在転送表示130からシステムクリップボード142に転送することになる。この方式で転送制御モジュール228−2は、ウェブブラウザー122により提供される編集特性に限定されるよりむしろ、システムクリップボード142に届けられるメディアコンテンツを正確に判定するのに使用できる。
転送制御モジュール228−2は、貼り付け転送要求に応答して、システムクリップボードから潜在転送表示130に、メディアコンテンツを転送し、潜在転送表示130からドキュメント128に任意の変換されたメディアコンテンツを転送するよう作動しうる。転送制御モジュール228−2はドキュメント編集サブシステム200について貼り付け及びフィルタリングサポートを提供する。ウェブブラウザー122又はスタンドアロンのアプリケーションプログラムにおいて、ドキュメント128に対してのフォーカスは任意の所与の時に一つの場所においてのみ存在できる。前述のように、転送制御モジュール228−2は、コピー又は切り取り動作を可能にするために潜在転送表示130の内部にフォーカスを置く。同様に潜在転送表示130は貼り付け及び貼り付けの特別な動作に対する目的としても供給されうる。ユーザーが貼り付け又は貼り付けの特別なコマンドを発行するとき、転送制御モジュール228−2は、明示的な通知又は潜在転送表示130のコンテンツを定期的に検査することによりこの出来事を検知する。転送制御モジュール228−2が潜在転送表示130内のメディアコンテンツを検知するとき、転送制御モジュール228−2はメディアコンテンツ変換モジュール228−3に命令を発行しうる。
メディアコンテンツ変換モジュール228−3は転送制御モジュール228−2に通信的に結合される。メディアコンテンツ変換モジュール228−3は、潜在転送表示130により格納されたメディアコンテンツを、第1のフォーマットから第2のフォーマットに変換するよう一般に作動しうる。例えば、データーマネジャー224及び変換バッファー248を使用してこれが達成されうる。
潜在転送表示130がドキュメント128の隠された要素であるので、ユーザー102は編集コマンドが与えられた後すぐにメディアコンテンツを初期的に閲覧しない。これは、メディアコンテンツ変換モジュール228−3の時間が、潜在転送表示内のメディアコンテンツをソースのフォーマットから目的のフォーマットに解釈又は変換することを可能にする。結果として、アプリケーションプログラム140は、貼り付け/貼り付けの特別なコマンドに応答してドキュメント128のスタイル及びレイアウト、又はドキュメント128からシステムクリップボード142に転送されたメディアコンテンツのスタイル及びレイアウトの制御を保持する。メディアコンテンツ変換モジュール228−3は、潜在転送表示130に転送されたメディアコンテンツを構文解析(Parse)し、メディアコンテンツをメディアコンテンツが表すものの適切なデーター表示に変換する。例えば、テキストが潜在転送表示130に転送されるとき、TextRunNode(テキスト実行ノード)がメモリ内に作成される。貼り付けられたメディアコンテンツにおけるテキストが太字テキストを示すHTML<B>タグでフォーマットされる場合、メディアコンテンツ変換モジュール228−3はテキストが太字としてレンダリングされること等を示すためにTextRunNode上で属性を設定することになる。一般にアプリケーションプログラム140、特にドキュメント編集サブシステム200により、サポートされるHTMLノードの様々なタイプの全てについてこれがなされる。変換動作が一度完了すると、メディアコンテンツ変換モジュール228−3は転送制御モジュール228−2を通知し、続いてユーザー102に閲覧可能な方式で新しくレンダリングされたメディアコンテンツを含むために実際のドキュメント128を更新する。
編集動作の最中に介入することにより、ドキュメント編集サブシステム200は、ユーザー102及び/又はアプリケーションプログラム140により望まれた任意のフォーマットを適用する機会を提供する。例えば、変換されたメディアコンテンツは、ドキュメント128について現在実装されたデフォルトの見た目に一致するように、望まないメディアコンテンツを剥離するように等、変換されうる。この方式で、アプリケーションプログラム140はドキュメント128のレイアウト及びフォーマットに厳しい制御を保持する。
図3はシステム300の実施形態を示す。システム300は、編集コマンドの実行において伴われるいくつかの要素の間での論理的なデーターフローを図示している。
図3において示されるように、ドキュメント編集サブシステム200は、ウェブブラウザー122を介してユーザー102から選択されたコンテンツ332のコピーの転送要求310を受け取りうる。転送制御モジュール228−2はコピーの転送要求310を受け取り、選択されたコンテンツ332をドキュメント128から潜在転送表示130に転送しうる。潜在転送表示130は一時的なコンテンツ334として選択されたコンテンツ332を格納しうる。代替として、ウェブブラウザー122の編集制御は選択されたコンテンツ332を選択及び転送するのに使用されうる。この場合に、ドキュメント編集サブシステム200は、イベントハンドリングモジュール146を介してウェブブラウザー122からの制御命令を傍受しうる。いずれかの場合において、転送制御モジュール228−2は、潜在転送表示130が変換の準備が整っているメディアコンテンツを有し、従ってメディアコンテンツ変換モジュール228−に通知することを検知しうる。
メディアコンテンツ変換モジュール228−3は転送制御モジュール228―2からの通知を受け取り、変換動作を初期化する。メディアコンテンツ変換モジュール228−3は一時的なコンテンツ334についての適切なフォーマットを判定する。この方法は多くの異なる方法で達成されうる。例えばメディアコンテンツ変換モジュール228−3は異なる目的エンドポイントに対応する異なる変換モジュールを格納しうる。メディアコンテンツ変換モジュール228−3は一時的なコンテンツ334についての目的エンドポイントを判定し、対応する変換モジュールを取り出し、一時的なコンテンツ334を異なる目的エンドポイントに適切な異なるフォーマットに変換するために取り出された変換モジュールを使用しうる。メディアコンテンツが様々なエンドポイントに向けられるか、又はレガシーシステムで使用されるときに、これは適しているかもしれない。追加又は代替として、メディアコンテンツ変換モジュール228−3は、一時的なコンテンツ334を多くの目的エンドポイントにとってアクセス可能な標準的又はユニバーサルなフォーマットに変換しうる。メディアコンテンツが同じ性能を有するエンドポイントに向けられるときにこれは適しているかもしれない。メディアコンテンツ変換モジュール228−3は変換動作をサポートするために変換バッファー248を使用しうる。
変換動作が一度完了すると、メディアコンテンツ変換モジュール228−3は変換制御モジュール228−2に通知する。変換制御モジュール228−2は、システムクリップボード142などの目的エンドポイントに変換されたメディアコンテンツを転送する。システムクリップボード142は、ドキュメント128から初めてコピー又は切り取られるときに選択されたコンテンツ332と似た方式で、格納されたコンテンツ336をレンダリングするように設計された、HTMLコードの実行等のフォーマットにおいて、格納されたコンテンツ336をここで格納する。
同様にドキュメント編集サブシステム200は、ウェブブラウザー122を介してユーザー102から格納されたコンテンツ322の貼り付け転送要求312を受け取りうる。転送制御モジュール288−2は貼り付け転送要求312を受け取り、格納されたコンテンツ322をシステムクリップボード142から潜在転送表示130へ転送しうる。潜在転送表示130は、一時的なコンテンツ324として選択されたコンテンツ332を格納しうる。代替として、ウェブブラウザー122の編集制御は格納されたコンテンツ322を転送するのに使用されうる。この場合に、ドキュメント編集サブシステム200は、イベントハンドリングモジュール146を介して、ウェブブラウザー122から制御命令を傍受しうる。いずれかの場合において、変換制御モジュール228−2は、潜在転送表示130が変換の準備ができているメディアコンテンツを有し、従ってメディアコンテンツ変換モジュール228−3に通知することを検知しうる。
メディアコンテンツ変換モジュール228−3は転送制御モジュール228−2からの通知を受け取り、変換動作を初期化する。メディアコンテンツ変換モジュール228−3は一時的なコンテンツ324に適切なフォーマットを判定する。いくつかの例外はあるものの、コピーの転送要求310を参照して説明されたのと同様の方式でこれは達成されうる。しかし、この場合において一時的なコンテンツ324についての目的エンドポイントがドキュメント128であるので、メディアコンテンツ変換モジュール228−3は、格納されたコンテンツ322の異なるフォーマットをドキュメント128により現在使用される特定のフォーマットに変換しうる。これは、複数対複数のタイプのフォーマット変換動作よりむしろ、より複数対一のタイプのフォーマット変換動作という結果になりうる。
変換動作が一度完了すると、メディアコンテンツ変換モジュール228−3は制御モジュール228−2に通知する。転送制御モジュール228−2はドキュメント128等の目的エンドポイントに変換されたメディアコンテンツを転送する。ドキュメント128はその後、ドキュメント128と互換性のあるスタイル及びフォーマットにおいて貼り付けられたコンテンツ326としてユーザー102に表示する。
上述の実施形態についての動作は、1または複数のロジックフローを参照してさらに説明されうる。個別のロジックフローは、別途指示されていない限り、示された順序において又は任意の特有の順序において実行されなければならない必要性はないことを理解されたい。さらに、ロジックフローに関して説明される様々な動きを直列又は並列の様式で実行できる。ロジックフローは、設計及び性能制限の所与のセットが望まれるように、説明した実施形態の1以上のハードウェア要素及び/又はソフトウェア要素、又は代替の要素を使用して実装されうる。例えば、ロジックフローはロジックデバイス(例えば汎用又は専用コンピューター)による実行のためのロジック(例えばコンピュータープログラム命令)として実装されうる。
図4はロジックフロー400の一実施形態を示す。ロジックフロー400は、本明細書で説明された1以上の実施形態により実行される動作のいくつか又はすべての表現でありうる。
図4に示される図示された実施形態において、ロジックフロー400はブロック402においてドキュメント内に潜在転送表示を埋め込みうる。例えば転送表示作成モジュール228−1はドキュメント128内に潜在転送表示130を作成して埋め込みうる。アプリケーションプログラム140の立ち上げ又はアプリケーションプログラム140についての新しいドキュメントの生成の間、これは起こりうる。転送表示作成モジュール228−1は潜在転送表示130の参照を作成し、この参照を転送制御モジュール228−2に渡しうる。
ロジックフロー400は、ブロック404においてドキュメントについての転送メディアコンテンツの転送要求を受け取りうる。例えば、転送制御モジュール228−は、ドキュメント128、システムクリップボード142又は他のエンドポイント等の目的エンドポイントに、ドキュメント128についてのメディアコンテンツ(322、332)を転送するための転送要求(310、312)を受け取りうる。転送制御モジュール228−はイベントハンドリングモジュール146を介してウェブブラウザー122からこの転送要求を受け取りうる。
ロジックフロー400は、ブロック406において、転送要求に応答して潜在転送表示を使用してメディアコンテンツを転送しうる。例えば、転送制御モジュール228−1は、転送要求(310、312)に応答して潜在転送表示130を使用してメディアコンテンツ(322、332)を転送しうる。多くの場合において、メディアコンテンツ(322、332)は、目的エンドポイント(128、142)と互換性のあるフォーマットを有する変換されたメディアコンテンツ(324、344)を含みうる。
図5はコンピューター120、サーバーコンピューター162及びその他等の様々な実施形態を実装するのに適しているコンピューティングアーキテクチャ510のより詳細なブロック図をさらに示す。基本の構成において、コンピューティングアーキテクチャ510は一般に、少なくとも一つの処理ユニット532及びメモリ534を含む。メモリ534は、揮発性及び不揮発性のメモリの両方を含むデーターを格納可能な任意の機械読み取り可能又はコンピューター読み取り可能な媒体を使用して実装されうる。例えば、メモリ534は、ROM(read―only memory)、RAM(random-access memory)、DRAM(dynamic RAM)、DDRAM(Double−Data−Rate DRAM)、SDRAM(synchronous DRAM)、SRAM(static RAM)、PROM(programmable ROM)、EPROM(erasable programmable ROM)、EEPROM(electrically erasable programmable ROM)フラッシュメモリ、強誘電性ポリマー、ovonicメモリ、相変化又は強誘電体のメモリ、SONOS(silicon−oxide−nitride−oxide−silicon)メモリ、磁気又は光のカード等のポリマーメモリ、又は情報を格納するのに適した任意の他の種類のメディアを含みうる。図5に示されるように、メモリ534は1または複数のソフトウェアプログラム536−1−t及び付属のデーター等の様々なソフトウェアプログラムを格納しうる。実装によって、ソフトウェアプログラム536−1−tの例は、システムプログラム536−1(例えばオペレーティングシステム)、アプリケーションプログラム536−2(例えばウェブブラウザー122、アプリケーションプログラム140等)、ドキュメント編集サブシステム200及びその他を含みうる。
コンピューティングアーキテクチャ510はこの基本的な構成を超えた追加の特性及び/又は機能性も有しうる。例えばコンピューティングアーキテクチャ510は、リムーバブルストレージ538、リムーバブルでないストレージ540を含み、これは前述したように様々な種類の機械読み取り可能又はコンピューター読み取り可能な媒体も含みうる。コンピューティングアーキテクチャ510は、キーボード、マウス、ペン、音声入力デバイス、タッチ入力デバイス、計測デバイス、センサーその他等の1または複数の入力デバイス544を有しうる。コンピューティングアーキテクチャ510は、ディスプレイ、スピーカー、プリンター、等の1または複数の出力デバイス542も含みうる。
コンピューティングアーキテクチャ510は、コンピューティングアーキテクチャ510が他のデバイスと通信することを可能にする1以上の通信接続546をさらに含みうる。通信接続546は、例えば通信コンポーネント116−1−vのための接続インターフェースを代表としうる。通信接続546は、1以上の通信インターフェース、ネットワークインターフェース、NIC(Network Interface Cards、ネットワークインターフェースカード)、ラジオ、無線送信器/受信器(トランシーバー)、有線及び/又は無線通信メディア、物理的コネクター、及びその他等の様々な種類の標準的な通信要素を含みうる。通信メディアは、コンピューター読み取り可能な命令、データー構造、プログラムモジュール、並びに搬送波又は他の転送メカニズム等の変調されたデーター信号における他のデーターを一般に組み込み、任意の情報配信メディアを含みうる。「変調されたデーター信号」という用語は、信号内に情報をエンコードする方式で設定又は変更された1または複数の特徴セットを有する信号を意味する。例としてであり限定ではなく、通信メディアは、有線通信メディア及び無線通信メディアを含む。有線通信メディアの例は、ワイヤー、ケーブル、メタルリード、PCB(Printed Circuit Board、プリント基板)、バックプレーン、スイッチ構造、半導体物質、より対線(twisted−pair wire)、同軸ケーブル、光ファイバー、伝搬信号、及びその他を含みうる。無線通信メディアの例は、アコースティック、RF(Radio−Frequency、無線周波)スペクトル、赤外線、及び他の無線メディアを含みうる。本明細書で使用される機械読み取り可能媒体及びコンピューター読み取り可能媒体の用語は、ストレージメディア及び通信メディアの両方を含むよう意味する。
図6は、ロジックフロー400を含んでいる、様々な実施形態についてのロジックを格納するのに適した製品600の項目の図を示す。示されるように、製品600の項目は、ロジック604を格納するためのストレージメディア602を含みうる。ストレージメディア602の例は、揮発性のメモリ又は不揮発性のメモリ、リムーバブルなメモリ又はリムーバブルでないメモリ、消去可能又は消去可能でないメモリ、書き込み可能又は再書き込み可能なメモリ、及びその他を含む、電子データーを格納することが可能な1以上の種類のコンピューター読み取り可能なストレージメディアを含みうる。ロジック604の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータープログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、メソッド、プロシージャー、ソフトウェアインターフェース、API(Application Program Interfaces)、命令セット、コンピューティングコード、コンピューターコード、コードセグメント、コンピューターコードセグメント、ワード、値、符号、又はこれらの任意の組み合わせなどの様々なソフトウェア要素を含みうる。
例えば一実施形態において、製品600の項目及び/又はコンピューター読み取り可能ストレージメディア602は、コンピューターにより実行されるときに、説明された実施形態にしたがって方法及び/又は動作を実行することをコンピューターに引き起こす、実行可能なコンピュータープログラム命令を含むロジック604を格納しうる。実行可能なコンピュータープログラム命令は、ソースコード、コンパイルされたコード、解析されたコード、実行可能なコード、静的コード、動的コード及び同様のもの等の任意の適した種類のコードを含みうる。実行可能なコンピュータープログラム命令は、ある機能を実行することをコンピューターに指示するための、あらかじめ定義されたコンピューター言語、方式又は構文解析に従って実装されうる。この命令は、任意の適したハイレベルの、ローレベルの、オブジェクト指向の、ビジュアルの、C、C++、Java、BASIC、Perl、Matlab、Pascal、Visual BASIC、アセンブリ言語、及びその他等のコンパイル及び/又は解釈(インタープリター)されるプログラミング言語を使用して実装されうる。
様々な実施形態が、ハードウェア要素、ソフトウェア要素、又は両方の組み合わせを使用して実装されうる。ハードウェア要素の例は、論理デバイスに以前に提供された任意の例を含み、マイクロプロセッサー、回路、回路要素(例えば、トランジスター、レジスター、コンデンサー、インダクター及びその他)、集積回路、論理ゲート、レジスター、半導体デバイス、チップ、マイクロチップ、チップセット及びその他をさらに含みうる。ソフトウェア要素の例は、ソフトウェアコンポーネント、プログラム、アプリケーション、コンピュータープログラム、アプリケーションプログラム、システムプログラム、マシンプログラム、オペレーティングシステムソフトウェア、ミドルウェア、ファームウェア、ソフトウェアモジュール、ルーチン、サブルーチン、機能、メソッド、プロシージャー、ソフトウェアインターフェース、API(Application Program Interfaces)、命令セット、コンピューティングコード、コンピューターコード、コードセグメント、コンピューターコードセグメント、ワード、値、符号又はこれらの任意の組み合わせを含みうる。実施形態がハードウェア要素及び/又はソフトウェア要素のいずれを使用して実装されるかは、所与の実装で望まれるように所望のコンピューターの速度、電源レベル、耐熱性、処理サイクル量、入力データー率、出力データー率、メモリーリソース、データーバススピード及び他の設計又は性能制約等の任意の数の要素によって変わりうる。
いくつかの実施形態は、「結合された(coupled)」及び「接続された(connected)」の表現を、これらの派生物と共に使用して説明されうる。これらの用語は互いに同義語として意図される必要性はない。例えば、いくつかの実施形態は、2以上の要素が互いに直接に物理的に又は電子的な接触(コンタクト、contact)にあることを示す「接続された」及び/又は「結合された」の用語を使用して説明されうる。しかし「結合された」の用語は、2以上の要素が互いに直接の接触にないことを意味することもありえるが、依然として互いに協働又は対話しうる。
この開示の要約書は技術の開示の本質をすばやく確かめることを読者に可能にすることになる要約書を要求している37C.F.R.セクション1.72(b)に準拠して提供されることを強調する。特許請求の範囲の範囲及び意味を解釈又は限定するために使用されることはないことの理解と共に、要訳書を提出する。さらに、前述の発明を実施するための形態において、様々な特徴は、開示の合理化の目的で単一の実施形態において一緒にグループ化されるとみなすことがきる。開示のこの方法は、特許請求された実施形態が、各請求項に明示的に挙げられたのより多くの特徴を要求する意図を反映して解釈されることはない。むしろ以下の特許請求の範囲を反映して、発明の主題は単一の開示された実施形態のすべての特徴の内側に位置する。従って以下の特許請求の範囲は、各請求項は別個の実施形態として独立して、本明細書の発明を実施するための形態に組み込まれる。添付の特許請求の範囲において、「including(含む)」及び「in which(であって)」という用語はそれぞれ、「comprising(備え)」及び「wherein(であって)」というそれぞれの用語と同等のわかりやすい英語として使用される。さらに「第1の」、「第2の」、「第3の」、及びその他の用語は単にラベルとして使用され、これらのオブジェクトに数の要件を課すことを意図しない。
主題が構造的特長及び/又は方法論的な動きに対して言語に特化して説明されてきたが、添付の特許請求の範囲において定義された主題は、上述の特別な特徴又は動きに限定される必要はないことを理解されたい。むしろ、上述の特別な特徴及び動きは特許請求の範囲を実装する例示的な形式として開示される。

Claims (13)

  1. 転送表示作成モジュールと転送制御モジュールとメディアコンテンツ変換モジュールとを備える文書編集サブシステムを備えるコンピューター装置によって実行される方法であって、
    前記転送表示作成モジュールが、ドキュメント内に潜在転送表示を埋め込むステップと、
    前記転送制御モジュールが、前記ドキュメントについてのメディアコンテンツを転送するための転送要求を受け取るステップと、
    ユーザーの入力操作によって前記ドキュメント上の前記メディアコンテンツが選択された場合に、前記転送制御モジュールが、前記選択されたメディアコンテンツを前記潜在転送表示にレンダリングするステップであって、前記ユーザーの入力操作によって前記ドキュメント上のテーブル内部のテキストが選択された場合には、前記テーブルが前記ドキュメント上で要素の論理的な関連付けのために使用されているときには前記テーブルを前記レンダリングするメディアコンテンツの一部として含み、前記テーブルが前記ドキュメント上でレイアウトの目的のみで使用されているときには前記テーブルを前記レンダリングするメディアコンテンツには含まない、ステップと、
    前記メディアコンテンツ変換モジュールが、前記潜在転送表示における前記メディアコンテンツを、前記転送要求の目的エンドポイントと互換性のあるフォーマットで前記メディアコンテンツを含む変換メディアコンテンツに変換するステップと、
    前記転送制御モジュールが、前記転送要求に応答して前記潜在転送表示を使用して前記変換メディアコンテンツを前記目的エンドポイントへ転送するステップと
    を備えたことを特徴とする方法。
  2. 前記転送制御モジュールが、前記転送要求を完了する前に、仲介のデーター変換動作のために、前記潜在転送表示に前記メディアコンテンツを転送するステップを備えたことを特徴とする請求項1に記載の方法。
  3. 前記転送制御モジュールが、前記ドキュメントからシステムクリップボードへ前記メディアコンテンツをコピーするためのコピー転送要求、又は前記ドキュメントからシステムクリップボードへ前記メディアコンテンツを移動するための切り取り転送要求を受け取るステップを備えたことを特徴とする請求項1又は2に記載の方法。
  4. 前記転送制御モジュールが、コピー転送要求又は切り取り転送要求に応答して、前記ドキュメントから前記潜在転送表示に前記メディアコンテンツを転送するステップを備えたことを特徴とする請求項1乃至のいずれかに記載の方法。
  5. 前記転送制御モジュールが、変換されたメディアコンテンツを前記潜在転送表示からシステムクリップボードに転送するステップを備えたことを特徴とする請求項1乃至のいずれかに記載の方法。
  6. 前記転送制御モジュールが、システムクリップボードから前記ドキュメントに前記メディアコンテンツを貼り付けるための貼り付け転送要求を受け取るステップを備えたことを特徴とする請求項1乃至のいずれかに記載の方法。
  7. 前記転送制御モジュールが、貼り付け転送要求に応答して、システムクリップボードから前記潜在転送表示に前記メディアコンテンツを転送するステップを備えたことを特徴とする請求項1乃至のいずれかに記載の方法。
  8. 実行されるとシステムが請求項1乃至の任意の一つの方法を実装することを可能にする命令を含むコンピューター読み取り可能な記録媒体。
  9. 装置であって、
    ドキュメントについての編集動作を管理するよう作動するドキュメント編集サブシステムであって、
    前記ドキュメント内に潜在転送表示を組み込むよう作動する転送表示作成モジュールと、
    前記転送表示作成モジュールに通信可能に結合された転送制御モジュールであって、前記転送制御モジュールが、
    前記ドキュメントについてのメディアコンテンツを転送するための転送要求を受け取り、
    ユーザーの入力操作によって前記ドキュメント上の前記メディアコンテンツが選択された場合に、前記転送制御モジュールが、前記選択されたメディアコンテンツを前記潜在転送表示にレンダリングするよう作動し、
    当該転送制御モジュールが、前記ユーザーの入力操作によって前記ドキュメント上のテーブル内部のテキストが選択された場合には、前記テーブルが前記ドキュメント上で要素の論理的な関連付けのために使用されているときには前記テーブルを前記レンダリングするメディアコンテンツの一部として含み、前記テーブルが前記ドキュメント上でレイアウトの目的のみで使用されているときには前記テーブルを前記レンダリングするメディアコンテンツには含まないものであり、
    前記転送要求に応答して前記潜在転送表示を使用して前記メディアコンテンツを前記転送要求の目的エンドポイントへ転送するよう作動する転送制御モジュールと、
    前記転送制御モジュールが前記メディアコンテンツを転送する前に、前記潜在転送表示における前記メディアコンテンツを、前記転送要求の目的エンドポイントと互換性のあるフォーマットで前記メディアコンテンツを含むメディアコンテンツに変換するメディアコンテンツ変換モジュールと、
    を備える前記ドキュメント編集サブシステム
    を備えることを特徴とする装置。
  10. 前記転送制御モジュールが、前記転送要求を完了する前に、仲介のデーター変換動作について、潜在転送表示に前記メディアコンテンツを転送するよう動作することを特徴とする請求項に記載の装置。
  11. 前記転送制御モジュールが、コピー転送要求又は切り取り転送要求に応答して、前記メディアコンテンツを前記ドキュメントから前記潜在転送表示に転送し、変換されたメディアコンテンツを前記潜在転送表示からシステムクリップボードに転送するよう作動することを特徴とする請求項9又は10に記載の装置。
  12. 前記転送制御モジュールが、貼り付け転送要求に応答して、システムクリップボードから前記潜在転送表示に前記メディアコンテンツを転送し、変換されたメディアコンテンツを前記潜在転送表示から前記ドキュメントへ転送するよう作動することを特徴とする請求項乃至11のいずれかに記載の装置。
  13. ウェブブラウザーを有するクライアントデバイスを備え、前記クライアントデバイスが、前記ウェブブラウザーを使用してネットワーク上でサーバーからアプリケーションプログラムを取り出し、ウェブブラウザーウィンドウを使用して前記ドキュメントを表示するために前記クライアントデバイスで前記アプリケーションプログラムを実行し、前記ドキュメントを編集するための前記ドキュメント編集サブシステムを使用することを特徴とする請求項乃至12のいずれかに記載の装置。
JP2011507516A 2008-04-28 2009-04-03 潜在転送表示を使用してドキュメントを編集する技術 Active JP5550636B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/110,351 2008-04-28
US12/110,351 US9507651B2 (en) 2008-04-28 2008-04-28 Techniques to modify a document using a latent transfer surface
PCT/US2009/039388 WO2009134583A2 (en) 2008-04-28 2009-04-03 Techniques to modify a document using a latent transfer surface

Publications (2)

Publication Number Publication Date
JP2011524033A JP2011524033A (ja) 2011-08-25
JP5550636B2 true JP5550636B2 (ja) 2014-07-16

Family

ID=41216269

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2011507516A Active JP5550636B2 (ja) 2008-04-28 2009-04-03 潜在転送表示を使用してドキュメントを編集する技術

Country Status (15)

Country Link
US (3) US9507651B2 (ja)
EP (1) EP2269146B1 (ja)
JP (1) JP5550636B2 (ja)
KR (1) KR101782163B1 (ja)
CN (1) CN102016833B (ja)
AU (1) AU2009241481B2 (ja)
BR (1) BRPI0909213B1 (ja)
CA (1) CA2718119C (ja)
ES (1) ES2616659T3 (ja)
IL (1) IL208050A0 (ja)
MX (1) MX2010011403A (ja)
RU (1) RU2507573C2 (ja)
SG (1) SG190604A1 (ja)
WO (1) WO2009134583A2 (ja)
ZA (1) ZA201006414B (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9507651B2 (en) * 2008-04-28 2016-11-29 Microsoft Technology Licensing, Llc Techniques to modify a document using a latent transfer surface
US8656290B1 (en) * 2009-01-08 2014-02-18 Google Inc. Realtime synchronized document editing by multiple users
US9294421B2 (en) 2009-03-23 2016-03-22 Google Inc. System and method for merging edits for a conversation in a hosted conversation system
US9602444B2 (en) 2009-05-28 2017-03-21 Google Inc. Participant suggestion system
US9021386B1 (en) 2009-05-28 2015-04-28 Google Inc. Enhanced user interface scrolling system
US8527602B1 (en) 2009-05-28 2013-09-03 Google Inc. Content upload system with preview and user demand based upload prioritization
US8171390B1 (en) * 2009-10-22 2012-05-01 Intuit Inc. Method and system for viewing and transferring data between documents
US9135312B2 (en) 2009-11-02 2015-09-15 Google Inc. Timeslider
US8555187B2 (en) * 2010-02-16 2013-10-08 Google Inc. Server-based data sharing in computer applications using a clipboard
US8510399B1 (en) 2010-05-18 2013-08-13 Google Inc. Automated participants for hosted conversations
US9380011B2 (en) 2010-05-28 2016-06-28 Google Inc. Participant-specific markup
US9026935B1 (en) 2010-05-28 2015-05-05 Google Inc. Application user interface with an interactive overlay
WO2012061297A1 (en) 2010-11-02 2012-05-10 Google Inc. Realtime synchronized document editing by multiple users for blogging
US10402485B2 (en) 2011-05-06 2019-09-03 David H. Sitrick Systems and methodologies providing controlled collaboration among a plurality of users
US11611595B2 (en) 2011-05-06 2023-03-21 David H. Sitrick Systems and methodologies providing collaboration among a plurality of computing appliances, utilizing a plurality of areas of memory to store user input as associated with an associated computing appliance providing the input
US9372833B2 (en) * 2012-09-14 2016-06-21 David H. Sitrick Systems and methodologies for document processing and interacting with a user, providing storing of events representative of document edits relative to a document; selection of a selected set of document edits; generating presentation data responsive to said selected set of documents edits and the stored events; and providing a display presentation responsive to the presentation data
US10095663B2 (en) * 2012-11-14 2018-10-09 Amazon Technologies, Inc. Delivery and display of page previews during page retrieval events
US9898520B2 (en) * 2014-03-25 2018-02-20 Open Text Sa Ulc Systems and methods for seamless access to remotely managed documents using synchronization of locally stored documents
US11169666B1 (en) 2014-05-22 2021-11-09 Amazon Technologies, Inc. Distributed content browsing system using transferred hardware-independent graphics commands
US9454515B1 (en) 2014-06-17 2016-09-27 Amazon Technologies, Inc. Content browser system using graphics commands and native text intelligence
US10318618B2 (en) * 2014-06-18 2019-06-11 Microsoft Technology Licensing, Llc Consistent views of partitioned data in eventually consistent systems
US10491685B2 (en) * 2015-03-31 2019-11-26 Microsoft Technology Licensing, Llc Session transfer between resources
RU2618945C1 (ru) * 2015-12-07 2017-05-11 Федеральное государственное бюджетное учреждение науки Институт проблем управления им. В.А. Трапезникова Российской академии наук Устройство для идентификации типов научных построений
KR101724076B1 (ko) * 2016-07-07 2017-04-07 라온위즈기술 주식회사 사용자 서버를 이용한 html 제어 시스템 및 방법
RU2642409C1 (ru) * 2016-09-28 2018-01-24 Общество с ограниченной ответственностью "Аби Девелопмент" Редактирование текста на изображении документа
US11003632B2 (en) 2016-11-28 2021-05-11 Open Text Sa Ulc System and method for content synchronization
US11301431B2 (en) 2017-06-02 2022-04-12 Open Text Sa Ulc System and method for selective synchronization
CN107943772A (zh) * 2017-11-15 2018-04-20 江苏神州信源系统工程有限公司 文档远程编辑方法及装置
CN110019279B (zh) * 2019-04-11 2020-12-04 北京字节跳动网络技术有限公司 在线文档的协同更新方法、装置、设备及存储介质
US11256855B2 (en) * 2019-08-09 2022-02-22 Zave IP, LLC Systems and methods for collation of digital content
CN112783666A (zh) * 2019-11-08 2021-05-11 珠海金山办公软件有限公司 一种电子文档中剪贴板内容编辑方法、装置和存储介质
US11611629B2 (en) * 2020-05-13 2023-03-21 Microsoft Technology Licensing, Llc Inline frame monitoring
CN112991160B (zh) * 2021-05-07 2021-08-20 腾讯科技(深圳)有限公司 图像处理方法、装置、计算机设备及存储介质

Family Cites Families (63)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5604858A (en) 1992-08-10 1997-02-18 International Business Machines Corporation Method and system for apparent direct editing of fixed display elements within a data processing system
US5386564A (en) * 1993-02-24 1995-01-31 Hewlett-Packard Company Conversion of data and objects across classes in an object management system
CA2124624C (en) 1993-07-21 1999-07-13 Eric A. Bier User interface having click-through tools that can be composed with other tools
US5581670A (en) 1993-07-21 1996-12-03 Xerox Corporation User interface having movable sheet with click-through tools
EP1028375B1 (en) * 1994-12-13 2003-06-18 Microsoft Corporation Data transfer with expanded clipboard format
US5870552A (en) 1995-03-28 1999-02-09 America Online, Inc. Method and apparatus for publishing hypermedia documents over wide area networks
AUPO525497A0 (en) 1997-02-21 1997-03-20 Mills, Dudley John Network-based classified information systems
US6278678B1 (en) 1999-02-12 2001-08-21 Sony Corporation Editing apparatus, editing method, and recording medium
JP2000339312A (ja) 1999-05-31 2000-12-08 Toshiba Corp 文書編集システム及びタグ情報管理テーブル作成方法
US7124360B1 (en) 1999-08-04 2006-10-17 William Drenttel Method and system for computer screen layout based on a recombinant geometric modular structure
EP2458511A3 (en) 2000-06-21 2014-08-13 Microsoft Corporation System and method for integrating spreadsheets and word processing tables
US7155667B1 (en) 2000-06-21 2006-12-26 Microsoft Corporation User interface for integrated spreadsheets and word processing tables
US7259753B2 (en) 2000-06-21 2007-08-21 Microsoft Corporation Classifying, anchoring, and transforming ink
US7117435B1 (en) 2000-06-21 2006-10-03 Microsoft Corporation Spreadsheet fields in text
US6662186B1 (en) * 2000-07-14 2003-12-09 Hewlett-Packard Development Company, L.P. System and method for a data propagation file format
US6948134B2 (en) * 2000-07-21 2005-09-20 Microsoft Corporation Integrated method for creating a refreshable Web Query
US7103838B1 (en) 2000-08-18 2006-09-05 Firstrain, Inc. Method and apparatus for extracting relevant data
TW525067B (en) 2000-09-28 2003-03-21 Fatwire Corp System and method for in-context editing
US6941507B2 (en) 2000-11-10 2005-09-06 Microsoft Corporation Insertion point bungee space tool
US7191405B1 (en) 2000-11-22 2007-03-13 Adobe Systems Incorporated System and method for editing information
JP3943830B2 (ja) 2000-12-18 2007-07-11 株式会社東芝 文書合成方法および文書合成装置
US7120868B2 (en) 2002-05-30 2006-10-10 Microsoft Corp. System and method for adaptive document layout via manifold content
US20020099717A1 (en) * 2001-01-24 2002-07-25 Gordon Bennett Method for report generation in an on-line transcription system
TWI251751B (en) * 2001-02-27 2006-03-21 Ibm Method and system in an electronic spreadsheet for handling graphical objects referring to working ranges of cells in a copy/cut and paste operation
US20070028166A1 (en) 2002-04-10 2007-02-01 Allen Hundhausen System and processes for dynamic document construction
US7260771B2 (en) 2001-04-26 2007-08-21 Fuji Xerox Co., Ltd. Internet-based system for multimedia meeting minutes
US20040205488A1 (en) 2001-11-27 2004-10-14 Fry Randolph Allan Active web page for editing with any browser
US7698636B2 (en) 2002-06-13 2010-04-13 Microsoft Corporation System and method for in-context editing of components
US7340673B2 (en) 2002-08-29 2008-03-04 Vistaprint Technologies Limited System and method for browser document editing
US7539940B2 (en) * 2002-10-09 2009-05-26 Microsoft Corporation System and method for converting between text formatting or markup language formatting and outline structure
US7000184B2 (en) 2003-01-24 2006-02-14 The Cobalt Group, Inc. Remote web site editing in a standard web browser without external software
US6986105B2 (en) * 2003-01-30 2006-01-10 Vista Print Limited Methods employing multiple clipboards for storing and pasting textbook components
US20040202352A1 (en) 2003-04-10 2004-10-14 International Business Machines Corporation Enhanced readability with flowed bitmaps
US7496230B2 (en) * 2003-06-05 2009-02-24 International Business Machines Corporation System and method for automatic natural language translation of embedded text regions in images during information transfer
KR20060023964A (ko) * 2003-06-13 2006-03-15 인터내셔널 비지네스 머신즈 코포레이션 정보 공유 방법, 컴퓨터 프로그램, 컴퓨터 판독 가능한매체를 포함하는 프로그램 제품, 정보 공유 시스템 및데이터 처리 개체
US7890852B2 (en) 2003-06-26 2011-02-15 International Business Machines Corporation Rich text handling for a web application
US7478336B2 (en) 2003-11-06 2009-01-13 International Business Machines Corporation Intermediate viewer for transferring information elements via a transfer buffer to a plurality of sets of destinations
JP2005149061A (ja) 2003-11-14 2005-06-09 Ricoh Co Ltd 情報処理システム、プログラム、及び記憶媒体
US7200816B2 (en) * 2004-01-21 2007-04-03 Altova, Gmbh Method and system for automating creation of multiple stylesheet formats using an integrated visual design environment
WO2005091904A2 (en) 2004-03-04 2005-10-06 Mathsoft Engineering & Education, Inc. A method for automatically enabling traceability of engineering calculations
US7278092B2 (en) * 2004-04-28 2007-10-02 Amplify, Llc System, method and apparatus for selecting, displaying, managing, tracking and transferring access to content of web pages and other sources
US20050262439A1 (en) 2004-05-20 2005-11-24 Neil Cameron Automatic web publishing
US7574048B2 (en) 2004-09-03 2009-08-11 Microsoft Corporation Freeform digital ink annotation recognition
US7509345B2 (en) * 2004-09-29 2009-03-24 Microsoft Corporation Method and system for persisting and managing computer program clippings
JP4197313B2 (ja) 2004-10-15 2008-12-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 文章編集方法、文章編集方法を実行するプログラム、及び文章編集システム
US20060101139A1 (en) * 2004-11-08 2006-05-11 International Business Machines Corporation Real-time alerts within a web browser
US20060277460A1 (en) * 2005-06-03 2006-12-07 Scott Forstall Webview applications
US7554576B2 (en) 2005-06-20 2009-06-30 Ricoh Company, Ltd. Information capture and recording system for controlling capture devices
US20070150477A1 (en) 2005-12-22 2007-06-28 International Business Machines Corporation Validating a uniform resource locator ('URL') in a document
US7793231B2 (en) 2006-01-19 2010-09-07 International Business Machines Corporation Method and system for providing a primary window overlay
US8930812B2 (en) * 2006-02-17 2015-01-06 Vmware, Inc. System and method for embedding, editing, saving, and restoring objects within a browser window
CN101038650B (zh) 2006-03-16 2012-06-27 印魔网股份有限公司 网络线上即时印刷服务系统与方法以及编辑器
US20070288859A1 (en) 2006-06-07 2007-12-13 Siemens Communications, Inc. Method and apparatus for selective forwarding of e-mail and document content
US7865905B2 (en) * 2006-09-11 2011-01-04 International Business Machines Corporation Context-exchange mechanism for accumulating and propagating contextual information between applications
US8370732B2 (en) * 2006-10-20 2013-02-05 Mixpo Portfolio Broadcasting, Inc. Peer-to-portal media broadcasting
US7936472B2 (en) * 2006-11-15 2011-05-03 Sharp Laboratories Of America, Inc. Driverless image printing
US20080209311A1 (en) 2006-12-29 2008-08-28 Alex Agronik On-line digital image editing with wysiwyg transparency
US20080177623A1 (en) * 2007-01-24 2008-07-24 Juergen Fritsch Monitoring User Interactions With A Document Editing System
US9128784B2 (en) * 2007-05-08 2015-09-08 At&T Intellectual Property I, L.P. Data transfer using a network clipboard
US8555200B2 (en) * 2007-08-21 2013-10-08 Wetpaint.Com, Inc. Representing editable attributes of embedded content
US8266524B2 (en) 2008-02-25 2012-09-11 Microsoft Corporation Editing a document using a transitory editing surface
US9507651B2 (en) * 2008-04-28 2016-11-29 Microsoft Technology Licensing, Llc Techniques to modify a document using a latent transfer surface
JP2011095394A (ja) 2009-10-28 2011-05-12 Sharp Corp 現像装置

Also Published As

Publication number Publication date
KR101782163B1 (ko) 2017-10-23
WO2009134583A8 (en) 2010-09-10
EP2269146A4 (en) 2013-04-10
BRPI0909213A8 (pt) 2019-02-12
SG190604A1 (en) 2013-06-28
JP2011524033A (ja) 2011-08-25
CN102016833A (zh) 2011-04-13
US20170199773A1 (en) 2017-07-13
MX2010011403A (es) 2010-11-26
BRPI0909213B1 (pt) 2020-04-14
AU2009241481A1 (en) 2009-11-05
EP2269146B1 (en) 2016-11-23
EP2269146A2 (en) 2011-01-05
CA2718119C (en) 2017-01-17
AU2009241481A8 (en) 2011-06-09
US20090271806A1 (en) 2009-10-29
CA2718119A1 (en) 2009-11-05
RU2507573C2 (ru) 2014-02-20
IL208050A0 (en) 2010-12-30
BRPI0909213A2 (pt) 2015-10-20
US9921892B2 (en) 2018-03-20
AU2009241481B2 (en) 2014-06-05
WO2009134583A3 (en) 2010-01-07
KR20100135844A (ko) 2010-12-27
WO2009134583A2 (en) 2009-11-05
CN102016833B (zh) 2013-08-14
ES2616659T3 (es) 2017-06-13
RU2010144041A (ru) 2012-05-10
US9507651B2 (en) 2016-11-29
ZA201006414B (en) 2011-12-28
US20180196704A1 (en) 2018-07-12
US10152362B2 (en) 2018-12-11

Similar Documents

Publication Publication Date Title
JP5550636B2 (ja) 潜在転送表示を使用してドキュメントを編集する技術
US8775930B2 (en) Generic frequency weighted visualization component
TWI376609B (en) Method and apparatus for viewing and interacting with a spreadsheet from within a web browser
CN107832045B (zh) 跨编程语言接口转换的方法和装置
AU2012271774B2 (en) Automated user interface object transformation and code generation
US10207190B2 (en) Technologies for native game experience in web rendering engine
US8196039B2 (en) Relevant term extraction and classification for Wiki content
US20120079390A1 (en) Method and Apparatus of Graphical Object Selection in a Web Browser
AU2012271774A1 (en) Automated user interface object transformation and code generation
US20180349149A1 (en) A method and system for providing and executing web applications
US20120216132A1 (en) Embedding User Selected Content In A Web Browser Display
JP2009031960A (ja) クライアント装置およびサーバ装置の間の通信を中継する技術
US11526578B2 (en) System and method for producing transferable, modular web pages
CN107077484B (zh) 生成应用的网络浏览器视图
Puder XML11—an abstract windowing protocol
Le Using Web Services for Image Processing in a Desktop Widgets Engine

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120222

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130205

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20130206

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130501

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

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20131204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20140403

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

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20140410

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20140520

R150 Certificate of patent or registration of utility model

Ref document number: 5550636

Country of ref document: JP

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

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