(57)【要約】  ユーザ入力デバイス（２０１）で生成されるテキスト入力を処理するための機構を説明する。例示的一機構において、機構は、第１のプロセス（２１０）のアドレススペースに含まれる第１のデータ構造（２１２）内にテキスト入力を記憶する。機構は、第１のデータ構造のコンテンツを、第１のプロセスとは異なる第２のプロセスのアドレススペース内に含まれる第２のデータ（２２２）に同期させ、第２のプロセスで実行しているアプリケーション（２２０）は、第２のデータ構造に同期されるテキスト入力を消費するように構成される。
2018512632.tif 000002
【特許請求の範囲】
【請求項１】
第１のバッファに関する技術的同期化データ構造を記憶する、コンピュータ可読媒体であって、前記第１のバッファには、（１）テキストユーザ入力、および（２）第２のバッファから同期されたアプリケーションテキスト変更の、両方が適用され、前記データ構造は、
（ａ）テキストユーザ入力に応答して前記第１のバッファに適用され、（ｂ）前記第２のバッファに通信され、（ｃ）前記第２のバッファによって肯定応答されていない、編集アクションを識別する情報を各々が含む、１つまたは複数の第１のエントリを備え、
前記第１のエントリのコンテンツは、前記第１のバッファに適用された編集アクションを元に戻すために使用可能であり、前記第２のバッファに対するアプリケーションテキスト変更とは互換性がない、
コンピュータ可読媒体。
【請求項２】
第１のエントリによって含まれる前記情報によって識別される編集アクションに対応するテキストユーザ入力として受信される文字を識別する情報を各々が含む、１つまたは複数の第２のエントリをさらに備え、
前記第２のエントリのコンテンツは、その編集アクションが、前記第２のバッファに対する前記アプリケーションテキスト変更の前記第１のバッファへの照合調整に応答する、前記第２のバッファに対するアプリケーションテキスト変更とは互換性がない、前記テキストユーザ入力文字を前記第１のバッファに対してリプレイするために使用可能である、
請求項１に記載のコンピュータ可読媒体。
【請求項３】
インプットメソッドエディタのテキスト出力をアプリケーションに提供するためのコンピューティングシステムであって、前記コンピューティングシステムは、
前記インプットメソッドエディタのテキスト出力が適用されるテキスト本文のバージョンを記憶するように構成された、第１のメモリ領域と、
前記アプリケーションによって実行されたテキスト修正が適用されるテキスト本文のバージョンを記憶するように構成された、第２のメモリ領域と、
前記第２のメモリ領域のコンテンツを優先するように、前記第１および第２のメモリ領域のコンテンツを照合調整するように構成された、照合調整サブシステムと、
を備える、コンピューティングシステム。
【請求項４】
前記照合調整サブシステムは、最も新しいテキスト修正が前記アプリケーションによって実行されてから、前記インプットメソッドエディタによって出力されたテキスト出力を反映する前記第１のメモリ領域のコンテンツを、前記第２のメモリ領域に対してだけ照合調整するようにさらに構成される、請求項３に記載のコンピューティングシステム。
【請求項５】
前記照合調整サブシステムは、前記第２のメモリ領域に対して照合調整された前記第１のメモリ領域のコンテンツを肯定応答するようにさらに構成され、
前記コンピューティングシステムは、前記第１のメモリ領域内に記憶された前記テキスト本文の前記バージョンに適用され、前記第２のメモリ領域に対して照合調整されたものとして肯定応答されていない、前記インプットメソッドエディタのテキスト出力の指示を記憶するように構成された、第３のメモリ領域をさらに備え、
前記照合調整サブシステムは、以前に前記アプリケーションによって実行されたテキスト修正を適用する前に、前記インプットメソッドエディタのテキスト出力が、前記第１のメモリ領域の前記コンテンツに適用された場合、
その指示が前記第３のメモリ領域に記憶されている、前記インプットメソッドエディタのテキスト出力の前記第１のメモリ領域の前記コンテンツへの適用を元に戻し、
前記元に戻した後、以前に前記アプリケーションによって実行された前記テキスト修正を前記第１のメモリ領域の前記コンテンツに適用し、および、
前記第３のメモリ領域内に記憶された前記指示をクリアするように、
さらに構成される、
請求項４に記載のコンピューティングシステム。
【請求項６】
前記照合調整サブシステムは、以前に前記アプリケーションによって実行されたテキスト修正を適用する前に、前記インプットメソッドエディタのテキスト出力が、前記第１のメモリ領域の前記コンテンツに適用された場合、
前記アプリケーションによって以前に実行された前記テキスト修正を、前記第１のメモリ領域の前記コンテンツに適用した後、その指示が第４のメモリ領域に記憶されたユーザ入力アクションから新規に生成される、前記インプットメソッドエディタのテキスト出力を、前記第１のメモリ領域の前記コンテンツに適用し、および、
前記第４のメモリ領域内に記憶された前記指示をクリアするように、
さらに構成される、
請求項５に記載のコンピューティングシステム。
【請求項７】
コンテンツを有するコンピュータ可読媒体であって、前記コンテンツは、ユーザ入力デバイスを用いて生成されたテキスト入力を処理するために、
第１のプロセスのアドレススペースに含まれる第１のデータ構造内に前記テキスト入力を記憶すること、および、
前記第１のデータ構造のコンテンツを、前記第１のプロセスとは異なる第２のプロセスの前記アドレススペースに含まれる第２のデータ構造に同期すること、
を、コンピューティングシステムに実行させるように構成され、前記第２のプロセス内で実行するアプリケーションは、前記第２のデータ構造に同期されるテキスト入力を消費するように構成される、
コンピュータ可読媒体。
【請求項８】
コンピューティングシステムに、前記アプリケーションによって実行されたテキスト修正を反映する前記第２のデータ構造のコンテンツを前記第１のデータ構造に同期することを実行させるようにさらに構成された、コンテンツを有する、請求項７に記載のコンピュータ可読媒体。
【請求項９】
コンピューティングシステムに、
前記第１のデータ構造がサイズしきい値を超えるかどうかを判別すること、
前記第１のデータ構造が前記サイズしきい値を超える旨の判別に応答して、
挿入ポイントから遠く、最近修正されていない、前記第１のデータ構造のコンテンツを識別すること、および、
前記識別されたコンテンツを前記第１のデータ構造から削除すること、
をさらに実行させるように構成された、コンテンツを有する、
請求項７に記載のコンピュータ可読媒体。
【請求項１０】
コンピューティングシステムに、
前記識別されたコンテンツを前記第１のデータ構造から削除することに応答して、前記削除を反映するために前記第１のデータ構造に記憶された前記第２のデータ構造の一部を追跡する、第３のデータ構造を更新すること、
をさらに実行させるように構成された、コンテンツを有する、
請求項９に記載のコンピュータ可読媒体。
【請求項１１】
コンピューティングシステムに、
前記第１のデータ構造のコンテンツを前記第２のデータ構造に同期することと、前記第２のデータ構造のコンテンツを前記第１のデータ構造に同期することの間の衝突に応答して、前記第２のデータ構造のコンテンツを前記第１のデータ構造に同期させ、前記第１のデータ構造のコンテンツの前記第２のデータ構造への同期の除外を進めること、
をさらに実行させるように構成された、コンテンツを有する、
請求項７に記載のコンピュータ可読媒体。
【請求項１２】
コンピューティングシステムに、
前記第１のデータ構造のコンテンツを前記第２のデータ構造に同期することと、前記第２のデータ構造のコンテンツを前記第１のデータ構造に同期することの間の衝突に応答して、
前記第２のデータ構造のコンテンツを前記第１のデータ構造に同期ことにより、前記第１のデータ構造のコンテンツの前記第２のデータ構造への同期の除外を進める前に、衝突するテキスト入力の前記第１のデータ構造への適用を元に戻すこと、および、
前記第２のデータ構造のコンテンツを前記第１のデータ構造に同期により、前記第１のデータ構造のコンテンツの前記第２のデータ構造への同期の除外を進めた後に、衝突するテキスト入力の前記第１のデータ構造への適用を反復させること、
をさらに実行させるように構成された、コンテンツを有する、
請求項１１に記載のコンピュータ可読媒体。
【請求項１３】
コンピューティングシステムに、
前記ユーザ入力デバイスが、前記第２のデータ構造内の区別されたテキストの範囲に対応するテキストを選択するために使用された旨を判別すること、および、
前記ユーザ入力デバイスが、前記第２のデータ構造内の前記区別されたテキストの範囲に対応するテキストを選択するために使用された旨の判別に応答して、前記第２のデータ構造から前記第１のデータ構造へ、前記第２のデータ構造内の前記区別されたテキストの範囲の周囲のテキスト範囲を同期すること、
をさらに実行させるように構成された、コンテンツを有する、
請求項７に記載のコンピュータ可読媒体。
【請求項１４】
コンピューティングシステムに、
前記第２のデータ構造から前記第１のデータ構造へ、前記第２のデータ構造内の前記区別されたテキストの範囲の周囲のテキスト範囲を同期することに応答して、前記同期を反映するために、前記第１のデータ構造内に記憶された前記第２のデータ構造の一部を追跡する、第３のデータ構造を更新すること、
をさらに実行させるように構成された、コンテンツを有する、
請求項１３に記載のコンピュータ可読媒体。
【請求項１５】
前記第１および第２のメモリ領域が、異なるコンピュータシステムに直接接続された異なるメモリデバイス内にある、請求項３に記載のコンピューティングシステム。
【発明の詳細な説明】
【背景技術】
【０００１】
[0001]  インプットメソッドエディタ、すなわち「Ｉｎｐｕｔ  Ｍｅｔｈｏｄ  Ｅｄｉｔｏｒ／ＩＭＥ」は、アプリケーションによって編集された文書を増補するためなどのアプリケーションによる消費のために、ユーザ入力イベントをユーザ指定テキストに変換するプログラムである。たとえば、自動音声転写メカニズムが可能なように、形状筆記、自動単語完成、単語予測、または表意文字合成を実行するオンスクリーンキーボードが、ＩＭＥとして実装可能である。
【０００２】
[0002]  ユーザがアプリケーションで使用するために特定のＩＭＥを選択するとき、オペレーティングシステムは、典型的にはＩＭＥをアプリケーションのプロセスにロードさせ、そこで実行させる。ＩＭＥは、文書内で生成するテキストをアプリケーションのプロセスのアドレススペース内に記憶する。ロックまたは他の同期メカニズムを使用して、結果として文書の破損が生じる可能性のある、アプリケーションおよびＩＭＥが同時に文書に書き込むことが防止される。
【発明の概要】
【０００３】
[0003]  本概要は、以下の発明を実施するための形態でさらに説明される概念の選択を、簡略化された形式で紹介するために提供される。本概要は、請求する主題の主要な要因または本質的な特徴を識別することを意図しておらず、また請求する主題の範囲を限定するために使用することも意図していない。
【０００４】
[0004]  ユーザ入力デバイスで生成されるテキスト入力を処理するための機構を説明する。例示的一機構において、機構は、第１のプロセスのアドレススペースに含まれる第１のデータ構造内にテキスト入力を記憶する。機構は、第１のデータ構造のコンテンツを、第１のプロセスとは異なる第２のプロセスのアドレススペース内に含まれる第２のデータ構造に同期させ、第２のプロセスで実行しているアプリケーションは、第２のデータ構造に同期されるテキスト入力を消費するように構成される。
【図面の簡単な説明】
【０００５】
【図１】[0005]コンピュータシステムと機構がその上で動作する他のデバイスとのうちの、少なくともいくつかに組み込むことが可能な構成要素のうちのいくつかを示すブロック図である。
【図２】[0006]いくつかの例における機構の動作を示すデータフロー図である。
【図３】[0007]テキスト入力サーバによって受信されるＩＭＥアクションを処理するために、いくつかの例において機構による実行が可能な、例示的行為を示すフロー図である。
【図４】[0008]テキスト入力サーバによって受信されるテキスト入力クライアントアクションを処理するために、いくつかの例において機構による実行が可能な、例示的行為を示すフロー図である。
【図５】[0009]編集バッファのサイズを管理するために、いくつかの例において機構による実行が可能な、例示的行為を示すフロー図である。
【図６】[0010]テキスト入力クライアントによって受信されるテキスト入力サーバアクションを処理するために、いくつかの例において機構による実行が可能な、例示的行為を示すフロー図である。
【図７】[0011]機構のテキスト入力サーバとそのテキスト入力クライアントとの間の対話の例を示す、通信図である。
【発明を実施するための形態】
【０００６】
[0012]  発明者等は、ＩＭＥを実行するための従来の手法に伴う重要な欠点を識別した。特に発明者等は、アプリケーションプロセスのＩＭＥの実行により、アプリケーションプロセスのリソースのＩＭＥの消費、および文書のロックに関してブロックされたアプリケーションが費やす時間の両方によって、アプリケーションプロセスに負担がかけられていることを認識した。
【０００７】
[0013]  また発明者等は、アプリケーションのためのコードおよびＩＭＥのためのコードを同じプロセス内で実行できることがセキュリティリスクとなり、ＩＭＥにおける障害がアプリケーションを破壊する可能性があることを特定した。
【０００８】
[0014]  さらに発明者等は、ＩＭＥをアプリケーションと同じプロセス内で実行することは、ユーザ入力デバイスが直接接続されたコンピュータシステム以外のコンピュータシステム上で、アプリケーションが実行できる能力を損なうことを認識した。
【０００９】
[0015]  これらの欠点を克服するために、発明者等は、入力を受信するアプリケーションのプロセスの外部でインプットメソッドエディタを実行するための、ソフトウェアおよび／またはハードウェア機構（「機構」）を実施することを考案および分析した。
【００１０】
[0016]  いくつかの例において、ＩＭＥは、アプリケーションと同じコンピュータシステム上または異なるコンピュータシステム上のいずれかの、入力サービスプロセスで実行し、生成するテキストを、編集バッファと呼ばれる入力サービスプロセス内のアプリケーションの文書のためのプロキシに記憶する。ＩＭＥによって生成された入力をアプリケーションが受信する際に介する編集制御部と編集バッファとを同期されたままで維持するために、入力サービスプロセス内で実行するテキスト入力サーバと、アプリケーションプロセス内で実行するテキスト入力クライアントとが通信する。
【００１１】
[0017]  いくつかの例において、機構は、テキストがＩＭＥによって追加、削除、または変更されたときに必ず、および、一般にはテキストが編集制御部またはアプリケーションによって追加、削除、または変更されたときに、編集バッファを更新する。
【００１２】
[0018]  いくつかの例において、編集バッファによって占有されるストレージの量、および、入力サービスプロセスとアプリケーションプロセスとの間で生じるプロセス間通信の量を制約するために、機構は、編集制御部の不完全なコンテンツを編集バッファ内で維持する。このように実行するために、テキスト入力クライアントは、編集制御部のテキストのいずれの部分が編集バッファ内にキャッシュされるかを追跡するために、アプリケーションプロセス内で編集バッファキャッシュトラッカを維持する。ＩＭＥが挿入ポイントまたはテキスト選択範囲を変更すると、テキスト入力サーバはテキスト入力クライアントに通知し、テキスト入力クライアントは編集バッファキャッシュトラッカをチェックして、新しい挿入ポイント／選択周囲の領域が編集バッファによってキャッシュに入れられるかどうかを判別し、入れられない場合、テキスト入力クライアントは編集バッファ内に記憶するためにこの部分をテキスト入力サーバに送信し、編集バッファキャッシュトラッカを更新する。編集バッファが大きくなり過ぎた場合、テキスト入力サーバは、（１）現在の選択から最も遠いテキスト、および（２）最も長い間編集されていないテキストを削除し、編集バッファキャッシュトラッカを更新するためにテキスト入力クライアントに通知する。
【００１３】
[0019]  いくつかの例において、機構は、両方のエンティティによる同時変更の衝突を解決するように、編集バッファのコンテンツをテキスト入力制御部のコンテンツと同期させる。特に、いくつかの例において、機構は、テキスト入力制御部における変更と衝突する編集バッファ内の変更を元に戻すことによって、テキスト入力制御部のコンテンツを優先させる。このように実行するために、機構は、編集バッファに対して行われてきたが、テキスト入力制御部に対して行われてきたものとしてテキスト入力サーバによって確認されていない変更、並びに、結果としてそうした変更を生じさせたキーアクションを、追跡する。衝突が検出されると、機構は、編集バッファ内のこれらの発行済みの変更を元に戻した後、アプリケーション側の変更に基づいて更新される通りに、編集バッファとの関連において対応するキーアクションをリプレイする。
【００１４】
[0020]  例において、ＩＭＥは４文字のシーケンスを生成する。最初の３文字は共に、テキスト入力制御部またはアプリケーションによるオートコレクトまたはオートフォーマットアクションをトリガする。シーケンスの最初の３文字に応答して、テキスト入力制御部内で改訂が実行されると、テキスト入力クライアントは（１）ＩＭＥのシーケンスの４番目の文字の肯定応答を省略し、（２）編集バッファ内のＩＭＥのシーケンスの最初の３文字を修正するために、テキスト入力サーバにテキスト変更動作を送信する。テキスト入力サーバはＩＭＥのシーケンスの４番目の文字の肯定応答の前に、テキスト入力クライアントからテキスト変更動作を受信するため、編集バッファへの４番目の文字の追加を取り消した後、テキスト変更動作を適用し、その後、アプリケーションのテキスト変更動作との関連において４番目の文字をリプレイする。
【００１５】
[0021]  いくつかの例において、アプリケーションプロセスおよび入力サービスは、同じコンピュータシステム上で実行する。いくつかの例において、アプリケーションプロセスおよび入力サービスプロセスは、異なるコンピュータシステム上で実行する。たとえば、入力サービスプロセスがユーザのコンピュータシステム上で実行し得る一方で、アプリケーションプロセスはクラウドサーバ上で実行する。別の例として、アプリケーションプロセスが第１のユーザのコンピュータシステム上で実行し得る一方で、入力サービスプロセスは第１のユーザのコンピュータシステム上および第２の共同するユーザのコンピュータシステム上の両方で実行し得る。
【００１６】
[0022]  前述の様式のいくつかまたはすべてでの挙動により、機構はＩＭＥを実行する負担からアプリケーションプロセスを解放し、１つのソフトウェアベンダのＩＭＥを別のソフトウェアベンダのアプリケーション内で実行するセキュリティリスクを解消し、アプリケーションおよびＩＭＥの異なるコンピュータシステム上での実行を許可する。
【００１７】
[0023]  図１は、コンピュータシステムおよび機構が動作する他のデバイスのうちの少なくともいくつかに組み込むことが可能なコンポーネントのうちのいくつかを示すブロック図である。様々な例において、これらのコンピュータシステムおよび他のデバイス１００は、サーバコンピュータシステム、デスクトップコンピュータシステム、ラップトップコンピュータシステム、タブレットコンピュータシステム、ネットブック、モバイルフォン、携帯情報端末、テレビジョン、カメラ、自動車用コンピュータ、電子メディアプレーヤ、電子キオスクデバイス、電子テーブルデバイス、電子ホワイトボードデバイスなどを含むことができる。様々な例において、コンピュータシステムおよびデバイスは、コンピュータプログラムを実行するための中央処理ユニット（「CPU」）１０１；機構および関連付けられたデータを含むプログラムおよびデータ、カーネルおよびデバイスドライバを含むオペレーティングシステム、ならびに１つまたは複数のアプリケーションを、使用されている間記憶するための、コンピュータメモリ１０２；プログラムおよびデータを永続的に記憶するための、ハードドライブまたはフラッシュドライブなどの永続的ストレージデバイス１０３；コンピュータ可読媒体上に記憶されたプログラムおよびデータを読み取るための、フロッピィ、ＣＤ−ＲＯＭ、またはＤＶＤドライブなどのコンピュータ可読媒体ドライブ１０４；ならびに／あるいは、インターネットまたは他の有線または無線ネットワーク、および、スイッチ、ルータ、レピータ、電気ケーブルおよび光ファイバ、光発信および受信器、ラジオ送受信器などの、そのネットワーキングハードウェアなどを介して、データを送信および／または受信するために、コンピュータシステムを他のコンピュータシステムおよび／または他のデバイスに接続するための、通信サブシステム１０５のうちの、任意数を含むことができる。
【００１８】
[0024]  図２は、いくつかの例における機構の動作を示すデータフロー図である。全体として、図２は、入力デバイス２０１によって生成されたテキスト入力が、その編集制御部２２３を介してどのようにアプリケーションに反映されるかを示す。
【００１９】
[0025]  入力デバイスは、テキストを指定するユーザ入力を受信する。様々な例において、物理キーボードがキープレスを表す入力を受信し、タッチデジタイザがオンスクリーンキーボード上のタッチおよび／またはスワイプを表す入力を受信し、マイクロフォンまたは他の音声入力デバイスが可聴音声を表す入力を受信し、カメラまたは他のイメージセンサが、米国式手話、読唇法、または他の視覚通信システムなどを介する通信を表す入力を受信する。
【００２０】
[0026]  入力サービスプロセス２１０内で実行するＩＭＥ  ２１１は、入力デバイスからテキスト指定入力を受信し、この入力を文字のストリームに変換する。ＩＭＥは、同じく入力サービスプロセス内で実行している編集バッファ２１２に、文字のシーケンスを通信する。いくつかの例において、編集バッファは、アプリケーションの編集制御部がＩＭＥと対話するような様式でＩＭＥと対話するために実装されるため、編集制御部と直接対話するように設計された機構と共にＩＭＥを使用することができる。
【００２１】
[0027]  ＩＭＥによって編集バッファに通信される文字は、現在の挿入ポイントで編集バッファに挿入される。いくつかのケースでは、文字は、編集バッファと編集制御部の両方が空の時点で、ＩＭＥによって編集バッファに通信される。こうしたケースでは、テキスト入力サーバ２１３は、アプリケーションプロセス２２０内のテキスト入力クライアント２２１と通信して、編集バッファに挿入された文字を編集制御部に同期させる。他方で、文字は、編集バッファと編集制御部の両方が同期されたテキストを含む時点で、ＩＭＥによって編集バッファに通信されてもよい。これは、たとえば、編集バッファが以前にＩＭＥからテキストを受信していること、テキストが文書または他のファイルなどからアプリケーションによって編集制御部内にロードされること、および、アプリケーションが、オートコレクトまたはオートフォーマットアクションを実行する、共同ユーザによる編集を反映させるなどのために、編集制御部のテキストを変更することの、任意の組み合わせの結果として発生し得る。
【００２２】
[0028]  いくつかの例において、編集バッファは、編集制御部に含まれるテキストの不完全なバージョンを記憶する。テキスト入力クライアントは、編集バッファキャッシュトラッカのデータ構造２２２を使用して、編集バッファ内に存在する編集制御部のテキストの一部を追跡する。ユーザが新しいテキスト範囲または挿入ポイントを選択するごとに、機構はそのテキスト範囲または挿入ポイントの周囲の編集制御部のテキストを、このテキストが編集バッファ内にすでに記憶されていない限り、編集バッファ内にロードさせ、編集バッファキャッシュトラッカが更新される。編集バッファが大きくなり過ぎた場合、機構は編集バッファ内の廃棄するテキストを選択し、編集バッファキャッシュトラッカを再度更新する。いくつかの例において、廃棄するテキストを選択するためのプロセスは、現在の選択または挿入ポイントから遠いテキスト、および最近修正されていないテキストを、廃棄することを選好する。
【００２３】
[0029]  前述のように、ＩＭＥおよびアプリケーションは、編集制御部と編集バッファとの間で同期されたテキストを同時に変更しようとする可能性がある。このように実行されるとき、機構は、アプリケーションによる変更を優先し、ＩＭＥによる競合する変更を元に戻し、編集制御部および編集バッファの両方におけるアプリケーションによる変更を実施し、元に戻された変更を最初に生成したキーイベントをリプレイして、その新しい状態を使用してＩＭＥが編集バッファを更新できるようにした後、新しい編集バッファの変更を編集制御部に反映する。この衝突の解決に関する追加の詳細は、以下に示される。
【００２４】
[0030]  以下で考察する図３〜図６は、いくつかの例において、機構がその様々なコンポーネントにおいて採用する処理論理を示し、以下で考察する図７は、機構のテキスト入力サーバとそのテキスト入力クライアントとの間での対話の例を示す。
【００２５】
[0031]  図３は、いくつかの例において、テキスト入力サーバによって受信されたＩＭＥアクションを処理するために、機構によって実行され得る例示的行為を示すフロー図である。３０１で、機構は、受信したＩＭＥアクションのタイプに応じて分岐し、選択アクションの場合、機構は３０２へ進み、キーダウンアクションの場合、機構は３０３へ進み、キーアップアクションの場合、機構は３０８へ進む。
【００２６】
[0032]  ３０２で、ＩＭＥアクションは選択アクションであり、機構はＩＭＥによって指定された選択範囲または挿入ポイントをテキスト入力クライアントに送信する。３０２の後、機構は次のＩＭＥアクションを処理するために３０１へ進む。
【００２７】
[0033]  ３０３で、ＩＭＥアクションはキーダウンアクションであり、機構はキーダウンアクションにおいてＩＭＥによって指定されたキー文字をキープレスキューに追加し、編集バッファ内への対応する文字の挿入を元に戻す必要がある場合、そこからそのキー文字をリプレイすることができる。３０４で、機構はキーダウンアクションをテキスト入力クライアントに送信し、その処理については図６に関連して以下で考察する。３０５で、機構は、キーダウンアクションによって指定されたキー文字を現在の挿入ポイントで編集バッファに挿入する。３０６で、機構は、３０５で実行された文字挿入アクションを保留アクションキューに追加する。アプリケーション変更と衝突する場合、アクションをそこから元に戻すことができる。３０７で、機構は文字挿入アクションをテキスト入力クライアントに送信する。３０７の後、機構は３０１へ進み、次のＩＭＥアクションを処理する。
【００２８】
[0034]  ３０８で、ＩＭＥアクションはキーアップアクションであり、機構はキーアップアクションをテキスト入力クライアントに送信する。３０８の後、機構は３０１へ進み、次のＩＭＥアクションを処理する。
【００２９】
[0035]  当業者であれば、図３および以下で考察するフロー図の各々に示された行為が、様々な方法で変更可能であることを理解されよう。たとえば、行為の順序を再構成すること、いくつかの行為を並行して実行すること、示された行為を省略することまたは他の行為を含めること、示された行為を下位行為に分割すること、あるいは複数の示された行為を単一の行為に組み合わせること、などが可能である。
【００３０】
[0036]  図４は、いくつかの例において、テキスト入力サーバによって受信されたテキスト入力クライアントアクションを処理するために、機構によって実行可能な例示的行為を示すフロー図である。４０１で、機構は受信したテキスト入力クライアントアクションのタイプに応じて分岐し、文字挿入肯定応答アクションの場合、機構は４０２へ進み、テキスト変更アクションの場合、機構は４０４へ進み、キャッシュテキストアクションの場合、機構は４０９へ進む。
【００３１】
[0037]  ４０２で、テキスト入力クライアントアクションは文字挿入肯定応答アクションであり、機構は、対応する文字挿入アクションをテキスト入力サーバの保留アクションキューから削除する。
【００３２】
[0038]  ４０３で、機構は対応する文字をキープレスキューから削除する。４０３の後、機構は４０１へ進み、次のテキスト入力クライアントアクションを処理する。
【００３３】
[0039]  ４０４で、テキスト入力クライアントアクションはテキスト変更アクションであり、機構は、編集バッファ内で保留アクションキュー内の任意のアクションを元に戻し、保留アクションキューをクリアする。４０５で、機構は編集バッファに対するテキスト変更アクションを実行する。４０６で、機構はテキスト変更肯定応答をテキスト入力クライアントに送信する。４０７で、機構はＩＭＥにそのコンテキストがリセットされたことを通知する。４０８で、機構はキープレスキュー内のキーストロークをリプレイし、キープレスキューをクリアする。４０８の後、機構は４０１へ進み、次のテキスト入力クライアントアクションを処理する。
【００３４】
[0040]  ４０９で、テキスト入力クライアントアクションはキャッシュテキストアクションであり、機構は、キャッシュテキストアクションによって指定されたテキストを編集バッファに追加し、機構が編集バッファ上で維持するインデックスを調整する。いくつかの実施形態において、このインデックスは編集バッファの制御下にある。機構によって使用される場合、編集バッファインデックスは、編集バッファに記憶される編集制御部のテキストの一部と、それらが記憶される編集バッファ内の位置とを識別する。４１０で、機構は、編集バッファがその最大サイズを超えた場合、編集バッファからテキストを削除することによって、編集バッファのサイズを管理する。４１０での機構の挙動を、図５に関連して以下でより詳細に考察する。４１０の後、機構は４０１へ進み、次のテキスト入力クライアントアクションを処理する。
【００３５】
[0041]  図５は、いくつかの例において、編集バッファのサイズを管理するために、機構によって実行可能な例示的行為を示すフロー図である。機構は、編集バッファのサイズが最大合計キャッシュサイズを超えている間、行為５０１〜５０４をループする。いくつかの例において、機構は、２００，０００文字の最大合計キャッシュサイズを使用する。５０２で、機構は、編集バッファから削除するための編集バッファ領域を選択する。いくつかの例において、機構は、現在の挿入ポイントから遠く、最近修正されていない編集バッファ領域を選択する。いくつかの例において、これには、編集バッファ内のテキストを領域に分割すること、挿入ポイントからの距離によって各領域をランク付けすること、最後に修正されてからの時間によって各領域をランク付けすること、各領域のランクを合計すること、ユーザによって入力されたテキストを含む各領域の合計に２などの値を追加すること、および、最も小さい最終結果を有し現在の挿入ポイントを含まない領域を選択することが、含まれる。５０３で、機構は、５０２で選択されたこの領域を編集バッファから削除する。５０４で、編集バッファサイズが依然として最大合計キャッシュサイズよりも大きい場合、機構は５０１に進んで編集バッファの別の領域を削除のために選択し、大きくない場合は５０５へ進む。５０５で、機構は、テキスト入力クライアントが編集バッファキャッシュトラッカを更新できるように、削除された領域をテキスト入力クライアントに通知する。
【００３６】
[0042]  図６は、いくつかの例において、テキスト入力クライアントによって受信されたテキスト入力サーバアクションを処理するために、機構によって実行可能な例示的行為を示すフロー図である。６０１で、機構は、受信したテキスト入力サーバアクションのタイプに応じて分岐し、選択範囲アクションの場合、機構は６０２へ進み、削除済み編集バッファ領域アクションの場合、機構は６０４へ進み、キーダウンアクションの場合、機構は６０５へ進み、キーアップアクションの場合、機構は６０７へ進み、文字挿入アクションの場合、機構は６０９へ進む。
【００３７】
[0043]  ６０２で、テキスト入力サーバアクションは選択範囲アクションであり、機構は、アクションによって指定された選択範囲に近い編集制御部のコンテンツを、編集バッファ内にキャッシュするためにテキスト入力サーバに送信する。いくつかの例において、機構は、選択範囲（または挿入ポイント）のいずれかの側の１０，０００文字を送信する。いくつかの例において、機構は、選択範囲全体も送信する。いくつかの実施形態において、機構は、選択範囲の各端部５０文字など、広い選択範囲の一部のみを送信する。６０３で、機構は、送信されたテキストの編集バッファへの追加を反映させるために、編集バッファキャッシュトラッカを調整する。６０３の後、機構は６０１へ進み、次のテキスト入力サーバアクションを処理する。
【００３８】
[0044]  ６０４で、テキスト入力サーバアクションは削除済み編集バッファ領域アクションであり、機構は、指定されたテキストの編集バッファからの削除を反映させるために、編集バッファキャッシュトラッカを調整する。６０４の後、機構は６０１へ進み、次のテキスト入力サーバアクションを処理する。
【００３９】
[0045]  ６０５で、テキスト入力サーバアクションはキーダウンアクションであり、機構は、キーダウンアクションを編集制御部に渡す。６０６で、機構はキーダウン肯定応答をテキスト入力サーバに送信する。６０６の後、機構は６０１へ進み、次のテキスト入力サーバアクションを処理する。
【００４０】
[0046]  ６０７で、テキスト入力サーバアクションはキーアップアクションであり、機構は、キーアップアクションを編集制御部に渡す。６０８で、機構はキーアップ肯定応答をテキスト入力サーバに送信する。６０８の後、機構は６０１へ進み、次のテキスト入力サーバアクションを処理する。
【００４１】
[0047]  ６０９で、テキスト入力サーバアクションは文字挿入アクションであり、機構は、指定する文字を挿入するために編集制御部に対して文字挿入アクションを実行する。６１０で、編集制御部が指定された文字挿入アクションを実行した場合、機構は６１１へ進み、そうでなければ、機構は６１２へ進む。６１１で、機構は文字挿入肯定応答をテキスト入力サーバに送信する。６１１の後、機構は６０１へ進み、次のテキスト入力サーバアクションを処理する。６１２で、機構は、何も挿入されないか、あるいは指定された文字以外に１つまたは複数の文字が挿入される、オーバーライドシナリオの一部として、テキスト変更アクションをテキスト入力サーバに送信する。６１２の後、機構は６０１へ進み、次のテキスト入力サーバアクションを処理する。
【００４２】
[0048]  図７は、機構のテキスト入力サーバとそのテキスト入力クライアントとの間での対話の例を示す通信図である。左から右へ移動する通信は、入力サービスプロセス内のテキスト入力サーバ７００からアプリケーションプロセス内のテキスト入力クライアント７５０へ送信される。右から左へ移動する通信は、テキスト入力クライアントからテキスト入力サーバへ送信される。様々な例において、機構は、図７に示された通信を交換するために、様々なプロセス間および／または機械間通信メカニズムを使用する。
【００４３】
[0049]  第１の通信７０１が送信される前の機構の状態は、以下の表１に示される通りである。
【００４４】
【表１】
2018512632.tif 000003
【００４５】
[0050]  ＩＭＥがスペース文字を生成するのに応答して、テキストサーバは、以下の表２に示されるように、編集バッファ、保留アクションキュー、およびキープレスキューを増補する。
【００４６】
【表２】
2018512632.tif 000004
【００４７】
[0051]  さらにＩＭＥがスペース文字を生成するのに応答して、テキスト入力サーバは、スペース文字についてのキーダウン通信７０１、スペース文字についての文字挿入通信７０２、およびスペース文字についてのキーアップ通信７０３を、テキスト入力クライアントに送信する。文字挿入通信に応答して、テキスト入力クライアントは、以下の表３に示されるように、スペースを追加するために編集制御部を更新する。
【００４８】
【表３】
2018512632.tif 000005
【００４９】
[0052]  テキスト入力クライアントはさらにまた、キーダウン肯定応答７５１を伴うキーダウン通信７０１に、文字挿入肯定応答７５２を伴う文字挿入通信７０２に、およびキーアップ肯定応答７５３を伴うキーアップ通信７０３に、肯定応答する。文字挿入肯定応答に応答して、テキスト入力サーバは、以下の表４に示されるように、保留アクションキューからスペース挿入を、およびキープレスキューからスペース文字を削除する。
【００５０】
【表４】
2018512632.tif 000006
【００５１】
[0053]  文字挿入アクションを処理する際、アプリケーションは、以下の表５に反映されるように、編集制御部のテキストに対してオートコレクト動作を実行し、「ｉｍ」を「Ｉ’ｍ」に変換する。
【００５２】
【表５】
2018512632.tif 000007
【００５３】
[0054]  アプリケーションがオートコレクト動作を実行している間に、テキスト入力サーバは、ＩＭＥによって出力された次の文字「ｈ」を受信した。文字「ｈ」の受信に応答して、テキスト入力サーバは、以下の表６に示されるように、編集バッファ、保留アクションキュー、およびキープレスキューを更新した。
【００５４】
【表６】
2018512632.tif 000008
【００５５】
[0055]  さらにＩＭＥが文字「ｈ」を生成するのに応答して、テキスト入力サーバは、文字「ｈ」についてのキーダウン、文字挿入、およびキーアップの通信７０４〜７０６を送信した。
【００５６】
[0056]  文字「ｈ」に関する通信７０４〜７０６に応答するのではなく、代わりに、スペース文字についての文字挿入通信に応答した、アプリケーションによるオートコレクト動作により、テキスト入力クライアントは、編集バッファ内の位置０から位置２までの文字（「im」）を「Ｉ’ｍ」に置き換えることを指定する、テキスト変更通信７５４を送信する。
【００５７】
[0057]  これに応答して、テキスト入力サーバは以下のように進行する。第１に、テキスト入力サーバは、以下の表７に示されるように、保留アクションキュー内に示される、編集バッファに対するアクションを元に戻す。
【００５８】
【表７】
2018512632.tif 000009
【００５９】
[0058]  次いで、テキスト入力サーバは、以下の表８に示されるように、通信７５２においてテキスト変更アクションを適用する。
【００６０】
【表８】
2018512632.tif 000010
【００６１】
[0059]  次いで、テキスト入力サーバはテキスト変更肯定応答通信７０７を送信し、以下の表９に示されるように、現在キープレスキュー内の文字を編集バッファの現在状態に対してリプレイする。キープレスキューのリプレイにより、文字挿入アクションが保留アクションキューに追加される。テキスト入力クライアントが文字「ｈ」についてのテキスト入力サーバからの文字挿入通信に肯定応答するまで、文字挿入アクションは保留アクションキュー内に残り、文字「ｈ」はキープレスキュー内に残る。
【００６２】
【表９】
2018512632.tif 000011
【００６３】
[0060]  リプレイの一部として、テキスト入力サーバは、文字「ｈ」についてのキーダウン、文字挿入、およびキーアップの通信７０８〜７１０を、テキスト入力クライアントに送信する。文字挿入通信に応答して、テキスト入力クライアントは、以下の表１０に示されるように、文字「ｈ」を追加するように編集制御部を更新する。文字「ｈ」についての文字挿入アクションがテキスト入力クライアントによって肯定応答されるまで、文字「ｈ」についての挿入アクションは保留アクションキュー内にとどまり、文字「ｈ」はキープレスキュー内にとどまる。
【００６４】
【表１０】
2018512632.tif 000012
【００６５】
[0061]  最終的に、テキスト入力クライアントは、文字「ｈ」についてのキーダウン、文字挿入、およびキーアップのアクションについて、肯定応答７５５〜７５７を送信する。文字挿入肯定応答に応答して、テキスト入力サーバは、以下の表１１に示されるように、保留アクションキューおよびキープレスキューをクリアする。
【００６６】
【表１１】
2018512632.tif 000013
【００６７】
[0062]  当業者であれば、図７に示された通信が様々な様式で変更可能であることを理解されよう。たとえば、通信を異なる順序で実行すること、示された通信タイプを異なる通信タイプに置換すること、より多いかまたはより少ない通信タイプを使用すること、示された通信を下位通信に分割すること、あるいは複数の示された通信を単一の通信に組み合わせること、などが可能である。
【００６８】
[0063]  いくつかの例において、機構は、インプットメソッドエディタのテキスト出力をアプリケーションに提供するためのコンピューティングシステムを提供する。コンピューティングシステムは、インプットメソッドエディタのテキスト出力が適用されるテキスト本文のバージョンを記憶するように構成された第１のメモリ領域と、アプリケーションによって実行されたテキスト修正が適用されるテキスト本文のバージョンを記憶するように構成された第２のメモリ領域と、第２のメモリ領域のコンテンツを優先するように、第１および第２のメモリ領域のコンテンツを照合調整するように構成された照合調整サブシステムと、を備える。
【００６９】
[0064]  いくつかの例において、機構は、ユーザ入力デバイスを用いて生成されたテキスト入力を処理するために、第１のプロセスのアドレススペースに含まれる第１のデータ構造内にテキスト入力を記憶すること、および、第１のデータ構造のコンテンツを、第１のプロセスとは異なる第２のプロセスのアドレススペースに含まれる第２のデータ構造に同期させることを、コンピューティングシステムに実行させるように構成されたコンテンツを有し、第２のプロセス内で実行するアプリケーションは、第２のデータ構造に同期されるテキスト入力を消費するように構成される、コンピュータ可読媒体を提供する。
【００７０】
[0065]  いくつかの例において、機構は、（１）テキストユーザ入力、および（２）第２のバッファから同期されたアプリケーションテキスト変更の、両方が適用された、第１のバッファに関する技術的同期化データ構造を記憶する、コンピュータ可読媒体を提供する。データ構造は、（ａ）テキストユーザ入力に応答して第１のバッファに適用され、（ｂ）第２のバッファに通信され、（ｃ）第２のバッファによって肯定応答された、編集アクションを、各々が識別する情報を含む、１つまたは複数の第１のエントリを備えるため、第１のエントリのコンテンツは、第１のバッファに適用された編集アクションを元に戻すために使用可能であり、第２のバッファに対するアプリケーションテキスト変更とは互換性がないことになる。
【００７１】
[0066]  当業者であれば、前述の機構が、様々な様式で簡単に適合または拡張可能であることを理解されよう。前述の説明は特定の実施形態を参照しているが、本発明の範囲は、以下の特許請求の範囲およびこれに記載されている要素によってのみ定義される。
【図１】
2018512632.tif 000014
【図２】
2018512632.tif 000015
【図３】
2018512632.tif 000016
【図４】
2018512632.tif 000017
【図５】
2018512632.tif 000018
【図６】
2018512632.tif 000019
【図７】
2018512632.tif 000020
【手続補正書】
【提出日】平成28年7月1日(2016.7.1)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
インプットメソッドエディタのテキスト出力をアプリケーションに提供するためのコンピューティングシステムであって、前記インプットメソッドエディタは、第１のプロセス内で実行し、ユーザによって実行される前記アプリケーションによる消費のために、ユーザ入力イベントをテキスト出力に変換するように構成され、前記コンピューティングシステムは、
前記インプットメソッドエディタのテキスト出力が適用されるテキスト本文のバージョンを記憶するように構成された、前記第１のプロセスのアドレススペースに含まれる第１のメモリ領域と、
前記アプリケーションに関連付けられた第２のプロセスのアドレススペースに含まれる第２のメモリ領域であって、前記アプリケーションによって実行されたテキスト修正が適用されるテキスト本文のバージョンを記憶するように構成された、第２のメモリ領域と、
を備え、
前記コンピューティングシステムは、前記第１のプロセス内でテキスト入力サーバを、および前記第２のプロセス内でテキスト入力クライアントを実行するように構成され、前記テキスト入力サーバおよび前記テキスト入力クライアントは、前記第１のメモリ領域が、前記第２のメモリ領域であって、それを介して前記アプリケーションが前記テキスト出力を受信する前記第２のメモリ領域と同期された状態を保つために通信するように構成され、
前記コンピューティングシステムは、前記インプットメソッドエディタおよび前記アプリケーションのそれぞれによる前記領域の同時変更が衝突する場合、前記第２のメモリ領域のコンテンツを優先するように、前記第１および第２のメモリ領域のコンテンツを照合調整するように構成された、照合調整サブシステムをさらに備える、
コンピューティングシステム。
【請求項２】
前記照合調整サブシステムは、前記第２のメモリ領域内の変更と衝突する前記第１のメモリ領域内の変更を元に戻すことによって、前記第２のメモリ領域の前記コンテンツを優先するように、前記第１および第２のメモリ領域の前記コンテンツを照合調整するように構成される、請求項１に記載のコンピューティングシステム。
【請求項３】
前記照合調整サブシステムは、最も新しいテキスト修正が前記アプリケーションによって実行されてから、前記インプットメソッドエディタによって出力されたテキスト出力を反映する前記第１のメモリ領域のコンテンツを、前記第２のメモリ領域に対してだけ照合調整するようにさらに構成される、請求項１に記載のコンピューティングシステム。
【請求項４】
前記照合調整サブシステムは、前記第２のメモリ領域に対して照合調整された前記第１のメモリ領域のコンテンツを肯定応答するようにさらに構成され、
前記コンピューティングシステムは、前記第１のメモリ領域内に記憶された前記テキスト本文の前記バージョンに適用され、前記第２のメモリ領域に対して照合調整されたものとして肯定応答されていない、前記インプットメソッドエディタのテキスト出力の指示を記憶するように構成された、第３のメモリ領域をさらに備え、
前記照合調整サブシステムは、以前に前記アプリケーションによって実行されたテキスト修正を適用する前に、前記インプットメソッドエディタのテキスト出力が、前記第１のメモリ領域の前記コンテンツに適用された場合、
その指示が前記第３のメモリ領域に記憶されている、前記インプットメソッドエディタのテキスト出力の前記第１のメモリ領域の前記コンテンツへの適用を元に戻し、
前記元に戻した後、以前に前記アプリケーションによって実行された前記テキスト修正を前記第１のメモリ領域の前記コンテンツに適用し、および、
前記第３のメモリ領域内に記憶された前記指示をクリアするように、
さらに構成される、
請求項３に記載のコンピューティングシステム。
【請求項５】
前記照合調整サブシステムは、以前に前記アプリケーションによって実行されたテキスト修正を適用する前に、前記インプットメソッドエディタのテキスト出力が、前記第１のメモリ領域の前記コンテンツに適用された場合、
前記アプリケーションによって以前に実行された前記テキスト修正を、前記第１のメモリ領域の前記コンテンツに適用した後、その指示が第４のメモリ領域に記憶されたユーザ入力アクションから新規に生成される、前記インプットメソッドエディタのテキスト出力を、前記第１のメモリ領域の前記コンテンツに適用し、および、
前記第４のメモリ領域内に記憶された前記指示をクリアするように、
さらに構成される、
請求項４に記載のコンピューティングシステム。
【請求項６】
インプットメソッドエディタのテキスト出力をアプリケーションに提供するために、コンピューティングシステム上で実行される方法であって、前記インプットメソッドエディタは、第１のプロセス内で実行し、ユーザによって実行される前記アプリケーションによる消費のために、ユーザ入力イベントをテキスト出力に変換するように構成され、前記方法は、
前記インプットメソッドエディタのテキスト出力が適用されるテキスト本文のバージョンを、前記第１のプロセスのアドレススペースに含まれる第１のメモリ領域に記憶すること、
前記アプリケーションによって実行されたテキスト修正が適用されるテキスト本文のバージョンを、前記アプリケーションに関連付けられた第２のプロセスのアドレススペースに含まれる第２のメモリ領域に記憶すること、
前記第１のプロセス内でテキスト入力サーバを、および前記第２のプロセス内でテキスト入力クライアントを実行することであって、前記テキスト入力サーバおよび前記テキスト入力クライアントは、前記第１のメモリ領域が、前記第２のメモリ領域であって、それを介して前記アプリケーションが前記テキスト出力を受信する前記第２のメモリ領域と同期された状態を保つために通信するように構成される、実行すること、および、
前記インプットメソッドエディタおよび前記アプリケーションのそれぞれによる前記領域の同時変更が衝突する場合、前記第２のメモリ領域の前記コンテンツを優先するように、前記コンピューティングシステムの照合調整サブシステムによって、前記第１および第２のメモリ領域のコンテンツを照合調整すること、
を含む、方法。
【請求項７】
前記インプットメソッドエディタおよび前記アプリケーションのそれぞれによる前記領域の同時変更が衝突する場合、前記第２のメモリ領域の前記コンテンツを優先するように、前記第１および第２のメモリ領域の前記コンテンツを照合調整することは、前記第２のメモリ領域内の変更と衝突する前記第１のメモリ領域内の変更を元に戻すことを含む、請求項６に記載の方法。
【請求項８】
前記第１および第２のメモリ領域の前記コンテンツを照合調整することは、最も新しいテキスト修正が前記アプリケーションによって実行されてから、前記インプットメソッドエディタによって出力されたテキスト出力を反映する前記第１のメモリ領域のコンテンツを、前記第２のメモリ領域に対してだけ照合調整することを含む、請求項６に記載の方法。
【請求項９】
前記第１および第２のメモリ領域の前記コンテンツを照合調整することは、
前記第２のメモリ領域に対して照合調整された前記第１のメモリ領域のコンテンツを肯定応答すること、
前記第１のメモリ領域内に記憶された前記テキスト本文の前記バージョンに適用され、前記第２のメモリ領域に対して照合調整されたものとして肯定応答されていない、前記インプットメソッドエディタのテキスト出力の指示を、前記コンピューティングシステムの第３のメモリ領域内に記憶すること、および、
以前に前記アプリケーションによって実行されたテキスト修正を適用する前に、前記インプットメソッドエディタのテキスト出力が、前記第１のメモリ領域の前記コンテンツに適用された場合、
その指示が前記第３のメモリ領域に記憶されている、前記インプットメソッドエディタのテキスト出力の前記第１のメモリ領域の前記コンテンツへの適用を元に戻すこと、
前記元に戻した後、以前に前記アプリケーションによって実行された前記テキスト修正を前記第１のメモリ領域の前記コンテンツに適用すること、および、
前記第３のメモリ領域内に記憶された前記指示をクリアすること、
をさらに含む、請求項８に記載の方法。
【請求項１０】
以前に前記アプリケーションによって実行されたテキスト修正を適用する前に、前記インプットメソッドエディタのテキスト出力が、前記第１のメモリ領域の前記コンテンツに適用された場合、
前記アプリケーションによって以前に実行された前記テキスト修正を、前記第１のメモリ領域の前記コンテンツに適用した後、その指示が第４のメモリ領域に記憶されたユーザ入力アクションから新規に生成される、前記インプットメソッドエディタのテキスト出力を、前記第１のメモリ領域の前記コンテンツに適用すること、および、
前記第４のメモリ領域内に記憶された前記指示をクリアすること、
をさらに含む、請求項９に記載の方法。
【請求項１１】
請求項６から１０のいずれか一項に記載の方法をコンピューティングシステムに実行させるように構成されたコンテンツを有する、コンピュータ可読媒体。
【国際調査報告】
2018512632.tif 000021
2018512632.tif 000022