(57)【要約】  プログラムがユーザインタフェース上で表示を生成しているときに、第１コンピュータプログラム状態からデータを転送する方法を提供する。当該方法は、インタフェースオブジェクトを実行して、プログラムによって生成された表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し；プログラムによって生成された表示上に表示されるデータを選択するユーザ入力を受け取り；選択されたデータをインタフェースオブジェクトのデータストアにロードし；異なる表示を生成するようプログラムを遷移させるか、異なる表示を生成する異なるプログラムを実行させるユーザ遷移入力を受け取ることであって、異なる表示は異なるコンピュータプログラム状態を表し；異なる表示上にオーバーレイされるインタフェースオブジェクトの表現を維持し；異なるコンピュータ状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り；異なるコンピュータ状態で異なる表示を表示するプログラムへの入力としてデータをアンロードすることを含む。
2020525943.tif 000002
【特許請求の範囲】
【請求項１】
プログラムがユーザインタフェース上で表示を生成しているときに、第１コンピュータプログラム状態からデータを転送する方法であって：
インタフェースオブジェクトを実行するステップであって；
前記プログラムによって生成された前記表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し、
前記プログラムによって生成された前記表示上に表示されるデータを選択するユーザ入力を受け取り、
前記選択されたデータを前記インタフェースオブジェクトのデータストアにロードし、
異なる表示を生成するよう前記プログラムを遷移させるか、異なる表示を生成する異なるプログラムを実行させるユーザ遷移入力を受け取ることであって、前記異なる表示は異なるコンピュータプログラム状態を表し、
前記異なる表示上にオーバーレイされる前記インタフェースオブジェクトの前記表現を維持し、
異なるコンピュータ状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り、
前記異なるコンピュータ状態で前記異なる表示を表示する前記プログラムへの入力として前記データをアンロードする、
ように、インタフェースオブジェクトを実行するステップ；
を含む、方法。
【請求項２】
複数の現在のコンピュータプログラム状態の各々について複数の次のコンピュータプログラム状態を識別するデータを格納するステップを含み、前記ユーザ遷移入力は、複数のユーザ事前定義アクションを含み、各ユーザ定義アクションは、現在のコンピュータプログラム状態から、前記異なる表示を表示する次のコンピュータプログラム状態に遷移する、
請求項１に記載の方法。
【請求項３】
前記ユーザ事前定義アクションは、現在のコンピュータプログラム状態から、前記異なる表示を表示する次のコンピュータプログラム状態に遷移させるために、前記インタフェースオブジェクトの前記表現を前記表示上のある方向に移動させるユーザ選択を含む、
請求項２に記載の方法。
【請求項４】
前記表現を移動させる前記選択は、前記表現をディスプレイ画面のエッジに移動させるドラッグ操作を含む、
請求項３に記載の方法。
【請求項５】
前記インタフェースオブジェクトの前記表現は、データがいつ前記インタフェースオブジェクトにロードされるかを示すように修正される、
請求項１乃至４のいずれか一項に記載の方法。
【請求項６】
前記インタフェースオブジェクトにロードされた前記データ上の情報を表示するユーザ入力を受け取るステップと、前記インタフェースオブジェクトにロードされた前記データ上の情報を表示するステップとを含む、
請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
前記ユーザアンロード入力は、前記インタフェースオブジェクトにロードされた前記データ上の前記表示された情報の少なくとも一部の選択を含む、
請求項６に記載の方法。
【請求項８】
実行時に、前記インタフェースオブジェクトは、前記プログラム及び前記異なるプログラムを含む、少なくとも１つのプログラムをロードする、
請求項１乃至７のいずれか一項に記載の方法。
【請求項９】
前記インタフェースオブジェクトは、少なくとも１のユーザに関連付けられ、ユーザ識別データを格納し、当該方法は、前記ユーザによるアクションに関する情報を格納するステップを含む、
請求項１乃至８のいずれか一項に記載の方法。
【請求項１０】
前記インタフェースオブジェクトは、広告主と関連付けられており、当該方法は、前記インタフェースオブジェクトの前記表現の少なくとも一部として表示するための広告を出力するステップと、ユーザアクションに関する格納された情報を前記広告主に送信するステップとを含む、
請求項９に記載の方法。
【請求項１１】
ユーザアクションに関する前記送信された情報に応答して、前記広告主から前記インタフェースオブジェクトの前記表現の少なくとも一部として表示するための更新された広告を受け取るステップを含む、
請求項１０に記載の方法。
【請求項１２】
プログラムがユーザインタフェース上に表示を生成しているときに、第１コンピュータプログラム状態からデータを転送するための装置であって、当該装置は：
少なくとも１つのプロセッサと；
命令を格納するメモリであって；
前記プログラムによって生成された前記表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し、
前記プログラムによって生成された前記表示上に表示されるデータを選択するユーザ入力を受け取り、
前記選択されたデータを前記インタフェースオブジェクトのデータストアにロードし、
異なる表示を生成するよう前記プログラムを遷移させるか、異なる表示を生成する異なるプログラムを実行させるユーザ遷移入力を受け取ることであって、前記異なる表示は異なるコンピュータプログラム状態を表し、
前記異なる表示上にオーバーレイされる前記インタフェースオブジェクトの前記表現を維持し、
異なるコンピュータ状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り、
前記異なるコンピュータ状態で前記異なる表示を表示する前記プログラムへの入力として前記データをアンロードする、
ように、インタフェースオブジェクトを実行するために、前記少なくとも１つのプロセッサによって実行可能な命令を格納するメモリと；
を含む、装置。
【請求項１３】
複数の現在のコンピュータプログラム状態の各々について複数の次のコンピュータプログラム状態を識別するデータを格納するために前記少なくとも１つのプロセッサによって実行可能な命令を含み、前記ユーザ遷移入力は、複数のユーザ事前定義アクションを含み、各ユーザ定義アクションは、現在のコンピュータプログラム状態から、前記異なる表示を表示する次のコンピュータプログラム状態に遷移する、
請求項１２に記載の装置。
【請求項１４】
前記ユーザ事前定義アクションは、現在のコンピュータプログラム状態から、前記異なる表示を表示する次のコンピュータプログラム状態に遷移させるために、前記インタフェースオブジェクトの前記表現を前記表示上のある方向に移動させるユーザ選択を含む、
請求項１３に記載の装置。
【請求項１５】
前記表現を移動させる前記選択は、前記表現をディスプレイ画面のエッジに移動させるドラッグ操作を含む、
請求項１４に記載の装置。
【請求項１６】
前記インタフェースオブジェクトの前記表現はデータがいつ前記インタフェースオブジェクトにロードされるかを示すように修正される、
請求項１２乃至１５のいずれか一項に記載の装置。
【請求項１７】
前記インタフェースオブジェクトにロードされた前記データ上の情報を表示するユーザ入力を受け取り、前記インタフェースオブジェクトにロードされた前記データ上の情報を表示するために、前記少なくとも１つのプロセッサによって実行可能な命令を含む、
請求項１２乃至１６のいずれか一項に記載の装置。
【請求項１８】
前記ユーザアンロード入力は、前記インタフェースオブジェクトにロードされた前記データ上の前記表示された情報の少なくとも一部の選択を含む、
請求項１７に記載の装置。
【請求項１９】
実行時に、前記インタフェースオブジェクトは、前記プログラム及び前記異なるプログラムを含む、少なくとも１つのプログラムをロードする、
請求項１２乃至１８のいずれか一項に記載の装置。
【請求項２０】
前記インタフェースオブジェクトは、少なくとも１のユーザに関連付けられ、ユーザ識別データを格納し、
前記ユーザによるアクションに関する情報を格納するために前記少なくとも１つのプロセッサによって実行可能な命令を含む、
請求項１２乃至１９のいずれか一項に記載の装置。
【請求項２１】
前記インタフェースオブジェクトは、広告主と関連付けられており、
前記インタフェースオブジェクトの前記表現の少なくとも一部として表示するための広告を出力し、ユーザアクションに関する格納された情報を前記広告主に送信するために前記少なくとも１つのプロセッサによって実行可能な命令を含む、
請求項２０に記載の装置。
【請求項２２】
ユーザアクションに関する前記送信された情報に応答して、前記広告主から前記インタフェースオブジェクトの前記表現の少なくとも一部として表示するための更新された広告を受け取る前記少なくとも１つのプロセッサによって実行可能な命令を含む、
請求項２１に記載の装置。
【請求項２３】
コンピュータプログラム状態間でデータを転送する方法であって、当該方法は：
インタフェースオブジェクトを実行するステップであって；
少なくとも１つのアプリケーションをロードし、
前記ロードされたアプリケーションのうちの１つを第１コンピュータプログラム状態で実行してユーザインタフェース上に表示を生成し、
前記アプリケーションによって生成された前記表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し、
前記アプリケーションによって生成された前記表示上に表示されるデータを選択するユーザ入力を受け取り、
前記選択されたデータを前記インタフェースオブジェクトのデータストアにロードし、
異なる表示を生成するよう前記アプリケーションを遷移させるか、異なる表示を生成する異なるロードされたアプリケーションを実行させるユーザ遷移入力を受け取ることであって、前記異なる表示は異なるコンピュータプログラム状態を表し、
前記異なる表示上にオーバーレイされる前記インタフェースオブジェクトの前記表現を維持し、
異なるコンピュータ状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り、
前記異なるコンピュータ状態で前記異なる表示を表示する前記アプリケーションへの入力として前記データをアンロードする、
ように、インタフェースオブジェクトを実行するステップ；
を含む、方法。
【請求項２４】
プログラムがユーザインタフェース上に表示を生成しているときに、第１コンピュータプログラム状態からデータを転送するための装置であって、当該装置は：
少なくとも１つのプロセッサと；
命令を格納するメモリであって、
少なくとも１つのアプリケーションをロードし、
前記ロードされたアプリケーションのうちの１つを第１コンピュータプログラム状態で実行してユーザインタフェース上に表示を生成し、
前記アプリケーションによって生成された前記表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し、
前記アプリケーションによって生成された前記表示上に表示されるデータを選択するユーザ入力を受け取り、
前記選択されたデータを前記インタフェースオブジェクトのデータストアにロードし、
異なる表示を生成するよう前記アプリケーションを遷移させるか、異なる表示を生成する異なるロードされたアプリケーションを実行させるユーザ遷移入力を受け取ることであって、前記異なる表示は異なるコンピュータプログラム状態を表し、
前記異なる表示上にオーバーレイされる前記インタフェースオブジェクトの前記表現を維持し、
異なるコンピュータ状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り、
前記異なるコンピュータ状態で前記異なる表示を表示する前記アプリケーションへの入力として前記データをアンロードする、
ように、インタフェースオブジェクトを実行するために、前記少なくとも１つのプロセッサによって実行可能な命令を格納するメモリと；
を含む、装置。
【請求項２５】
請求項１乃至１１又は２３のいずれか一項に記載の方法を実行するためにプロセッサによる実行のためのプロセッサ実行可能コードを搬送する搬送媒体。
【請求項２６】
請求項１乃至１１又は２３のいずれか一項に記載の方法を実行するためのプロセッサによる実行のためのプロセッサ実行可能コードを記憶する非一時的記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、第１コンピュータ状態から異なるコンピュータ状態へデータを転送するための方法及び装置に関する。
【背景技術】
【０００２】
コンピュータ、ラップトップタブレット、パーソナルデジタルアシスタント及びモバイルデバイス及び電話を含むコンピューティングデバイスの使いやすさは、非常に重要である。ユーザが複雑な一連の動作を覚えることを要する複数のステップを必要とするプロセスの単純化は避けるべきである。
【０００３】
ユーザは、コンピューティングデバイスを使用するときに、あるプログラムの表示出力のような１つのコンピュータ状態から、同じプログラムの異なる状態又は異なるプログラムのような別のコンピュータ状態へ何度も移動する必要がある可能性がある。コンピューティングデバイスのユーザビリティは、良好に設計されたユーザインタフェースによって大幅に向上させることができる。
【発明の概要】
【０００４】
一態様は、プログラムがユーザインタフェース上で表示を生成しているときに、第１コンピュータプログラム状態からデータを転送する方法を提供し、当該方法は、プログラムによって生成された表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し；プログラムによって生成された表示上に表示されるデータを選択するユーザ入力を受け取り；選択されたデータをインタフェースオブジェクトのデータストアにロードし；異なる表示を生成するようプログラムを遷移させるか、異なる表示を生成する異なるプログラムを実行させるユーザ遷移入力を受け取ることであって、異なる表示は異なるコンピュータプログラム状態を表し；異なる表示上にオーバーレイされるインタフェースオブジェクトの表現を維持し；異なるコンピュータ状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り；異なるコンピュータ状態で異なる表示を表示するプログラムへの入力としてデータをアンロードする、インタフェースオブジェクトを実行するステップ、を含む。
【０００５】
別の態様は、プログラムがユーザインタフェース上に表示を生成しているときに、第１コンピュータプログラム状態からデータを転送するための装置を提供し、当該装置は、少なくとも１つのプロセッサと；命令を格納するメモリであって、プログラムによって生成された表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し；プログラムによって生成された表示上に表示されるデータを選択するユーザ入力を受け取り；選択されたデータをインタフェースオブジェクトのデータストアにロードし；異なる表示を生成するようプログラムを遷移させるか、異なる表示を生成する異なるプログラムを実行させるユーザ遷移入力を受け取ることであって、異なる表示は異なるコンピュータプログラム状態を表し；異なる表示上にオーバーレイされるインタフェースオブジェクトの表現を維持し；異なるコンピュータ状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り；異なるコンピュータ状態で異なる表示を表示するプログラムへの入力としてデータをアンロードする、インタフェースオブジェクトを実行するために、少なくとも１つのプロセッサによって実行可能な命令を格納するメモリとを含む。
【０００６】
更なる態様は、コンピュータプログラム状態間でデータを転送する方法を提供し、当該方法は、少なくとも１つのアプリケーションをロードし；ロードされたアプリケーションのうちの１つを第１コンピュータプログラム状態で実行してユーザインタフェース上に表示を生成し；アプリケーションによって生成された表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し；アプリケーションによって生成された表示上に表示されるデータを選択するユーザ入力を受け取り；選択されたデータをインタフェースオブジェクトのデータストアにロードし；異なる表示を生成するようアプリケーションを遷移させるか、異なる表示を生成する異なるロードされたアプリケーションを実行させるユーザ遷移入力を受け取ることであって、異なる表示は異なるコンピュータプログラム状態を表し；異なる表示上にオーバーレイされるインタフェースオブジェクトの表現を維持し；異なるコンピュータ状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り；異なるコンピュータ状態で異なる表示を表示するアプリケーションへの入力としてデータをアンロードする、インタフェースオブジェクトを実行するステップを含む。
【０００７】
更なる態様は、プログラムがユーザインタフェース上に表示を生成しているときに、第１コンピュータプログラム状態からデータを転送するための装置を提供し、当該装置は：少なくとも１つのプロセッサと；命令を格納するメモリであって；少なくとも１つのアプリケーションをロードし；ロードされたアプリケーションのうちの１つを第１コンピュータプログラム状態で実行してユーザインタフェース上に表示を生成し；アプリケーションによって生成された表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し；アプリケーションによって生成された表示上に表示されるデータを選択するユーザ入力を受け取り；選択されたデータをインタフェースオブジェクトのデータストアにロードし；異なる表示を生成するようアプリケーションを遷移させるか、異なる表示を生成する異なるロードされたアプリケーションを実行させるユーザ遷移入力を受け取ることであって、異なる表示は異なるコンピュータプログラム状態を表し；異なる表示上にオーバーレイされるインタフェースオブジェクトの表現を維持し；異なるコンピュータ状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り；異なるコンピュータ状態で異なる表示を表示するアプリケーションへの入力としてデータをアンロードする、インタフェースオブジェクトを実行するために、少なくとも１つのプロセッサによって実行可能な命令を格納するメモリとを含む。
【０００８】
本発明の別の態様は、延期探索方法（deferred  search  method）を実行するためにプロセッサによって実行可能なコードを担持する搬送媒体又は記憶媒体を提供する。
【図面の簡単な説明】
【０００９】
【図１】一実施形態による、インタフェースオブジェクトコードモジュールを示す概略図である。
【００１０】
【図２】一実施形態による、インタフェースオブジェクトを利用するコンピュータシステムを示す概略図である。
【００１１】
【図３】一実施形態による、インタフェースオブジェクトを使用する方法のフロー図である。
【００１２】
【図４】一実施形態による、インタフェースオブジェクトを使用するウェブベースのシステムを示す概略図である。
【００１３】
【図５Ａ】一実施形態による、図４のシステムを使用する方法のフロー図である。
【図５Ｂ】一実施形態による、図４のシステムを使用する方法のフロー図である。
【００１４】
【図６Ａ】一実施形態による方法の間に生成されるユーザインタフェースである。
【図６Ｂ】一実施形態による方法の間に生成されるユーザインタフェースである。
【図６Ｃ】一実施形態による方法の間に生成されるユーザインタフェースである。
【図６Ｄ】一実施形態による方法の間に生成されるユーザインタフェースである。
【００１５】
【図７Ａ】別の実施形態による方法の間に生成されるユーザインタフェースである。
【図７Ｂ】別の実施形態による方法の間に生成されるユーザインタフェースである。
【００１６】
【図８】一実施形態で使用するための基本的なコンピューティングデバイスの概略図である。
【発明を実施するための形態】
【００１７】
以下の詳細な説明では添付の図面を参照する。添付の図面は、本明細書の一部を形成し、本発明の主題が実施され得る具体的な実施形態が例示によって示される。これらの実施形態は、当業者がそれらを実施することができるように十分に詳細に説明されており、また、他の実施形態が利用されてもよく、本発明の主題の範囲から逸脱することなく、構造的、論理的及び電気的変更が行われてもよいことが理解されるべきである。本発明の主題のそのような実施形態は、個々に及び／又は集合的に、本明細書において「発明」という用語で呼ばれることがあるが、単なる便宜性のためであり、２つ以上のものが開示されている場合に、本出願の範囲をいずれかの単一の発明又は発明の概念に自主的に限定する意図はない。
【００１８】
したがって、以下の説明は、限定的な意味で解釈されるべきではなく、本発明の主題の範囲は、添付の特許請求の範囲によって定義される。
【００１９】
以下の実施形態では、同様の構成要素は同様の参照番号でラベル付けされる。
【００２０】
以下の実施形態では、データは、少なくとも１つのデータベースに格納されているものとして説明される。データベースという用語は、データを格納及び／又は編成するための任意のデータ構造（及び／又は複数のデータ構造の組合せ）を包含するように意図され、リレーショナルデータベース（例えばＯｒａｃｌｅ（登録商標）データベース、ｍｙＳＱＬ（登録商標）データベース等）、非リレーショナルデータベース（例えばＮｏＳＱＬデータベース等）、インメモリデータベース、スプレッドシート、ＣＳＶ（as  comma  separated  values）ファイル、ｅＸＭＬ（eXtendible  markup  language）ファイル、ＴＸＴ（TeXT）ファイル、フラットファイル、スプレッドシートファイル及び／又はデータストレージのために任意の他の広く使用される又は独自のフォーマットを含むが、これらに限定されない。データベースは、典型的に、１つ以上のデータストアに格納される。したがって、本明細書（例えば本明細書の説明及び／又は本出願の図面）において言及される各データベースは、１つ以上のデータストアに格納されるものとして理解されるべきである。「ファイルシステム」は、どのようにデータを格納及び／又は取り出すかを制御してよい（例えばＦＡＴ、ＮＴＦＳ、光ディスク等のディスクファイルシステム、フラッシュファイルシステム、テープファイルシステム、データベースファイルシステム、トランザクションファイルシステム、ネットワークファイルシステム等）。簡単性のために、本開示は本明細書では、データベースに関連して説明される。しかしながら、本明細書に開示されているシステム及び技術は、ファイルシステム又はデータベースとファイルシステムの組合せで実装されてよい。
【００２１】
以下の実施形態において、データストアという用語は、任意のコンピュータ読取可能な記憶媒体及び／又はデバイス（又はデータ記憶媒体及び／又はデバイスの集合）を包含するように意図される。データストアの例には、光ディスク（例えばＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ等）、磁気ディスク（例えばハードディスク、フロッピーディスク等）、メモリ回路（例えばソリッドステートドライブ、ランダムアクセスメモリ（ＲＡＭ）等）及び／又は同様のものが含まれるが、これらに限定されない。データストアの別の例は、物理的なデータ・ストレージ・デバイスの集合を含むホスト型ストレージ環境であり、これはリモートからアクセス可能であり、必要に応じて迅速に提供され得る（一般に「クラウド」ストレージと呼ばれる）。
【００２２】
本明細書で説明される機能又はアルゴリズムは、一実施形態では、ハードウェア、ソフトウェア又はソフトウェアとハードウェアの組合せで実装される。ソフトウェアは、メモリ又は他のタイプのストレージデバイスのようなコンピュータ読取可能担持媒体に記憶されるコンピュータ実行可能命令を含む。さらに、説明される機能は、ソフトウェア、ハードウェア、ファームウェア又はそれらの任意の組合せであり得るモジュールに対応し得る。複数の機能は、所望に応じて１つ以上のモジュールで実行され、説明される実施形態は単なる例である。ソフトウェアは、デジタル信号プロセッサ、ＡＳＩＣ、マイクロプロセッサ、あるいはパーソナルコンピュータ、サーバ、ルータ又はネットワーク相互接続装置を含むデータを処理することができる他の装置のようなシステム上で動作する他のタイプのプロセッサ上で実行される。
【００２３】
いくつかの実施形態は、モジュール間及びモジュールを介して通信される関連する制御及びデータ信号を用いて、あるいは特定用途向け集積回路の一部として、２つ以上の特定の相互接続されたハードウェアモジュール又はデバイスにおける機能を実装する。したがって、例示的なプロセスフローは、ソフトウェア、ファームウェア及びハードウェアの実装に適用可能である。
【００２４】
一般化された実施形態は、プログラムがユーザインタフェース上に表示を生成しているときに、第１コンピュータプログラム状態からデータを転送するように動作する、方法、コンピュータ装置及び搬送媒体方法を提供し、方法を提供する。インタフェースオブジェクトは、コードとして実行され、プログラムによって生成された表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し；プログラムによって生成された表示上に表示されるデータを選択するユーザ入力を受け取り；選択されたデータをインタフェースオブジェクトのデータストアにロードし；異なる表示を生成するようプログラムを遷移させるか、異なる表示を生成する異なるプログラムを実行させるユーザ遷移入力を受け取ることであって、異なる表示は異なるコンピュータプログラム状態を表し；異なる表示上にオーバーレイされる前記インタフェースオブジェクトの表現を維持し；異なるコンピュータ状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り；異なるコンピュータ状態で異なる表示を表示するプログラムへの入力としてデータをアンロードする。
【００２５】
したがって、一般化された実施形態は、ある状態でプログラムが実行されたときに、ユーザが、ユーザインタフェース上に表示されたデータを格納し、そのデータを、別のコンピュータ状態にある同プログラム又は異なるプログラムについての別の表示へ可視的な方法で持ち越すことができ、その結果、そのデータを、異なるコンピュータプログラム状態にあるユーザインタフェースの入力としてアンロードするかコピーすることができる方法を提供する。インタフェースオブジェクトの表現の持続的な可視的性質は、ユーザが、インタフェースオブジェクトがあるディスプレイから次のディスプレイへのデータのキャリアとして機能していることを理解することを支援する。このようにして、あるユーザインタフェース表示内に表示されるテキスト又は画像データのようなデータを、別の表示における入力として使用するために持ち越すことができ、ユーザは、インタフェースオブジェクトの表現の存在によってそのデータが持ち越されるのを見ることができる。
【００２６】
複数の現在のプログラム状態の各々について次のコンピュータプログラム状態を識別するデータを格納してもよい。「現在のプログラム状態」という用語は単に、現在のプログラム状態で実行されるときに、次のプログラム状態が、ユーザの入力に応じて、それに続く状態であることを示すように意図される。ユーザ入力は、各々が、複数の次の状態のうちの１つに遷移させる命令に対応する、複数の明確に定義されたユーザアクションを含むことができる。そのような明確に定義されたユーザ定義アクションの例は、指定された方向又はパターンにおけるカーソルの移動、あるいはディスプレイ上のインタフェースオブジェクトの表現の移動（例えばタッチスクリーンディスプレイ上のドラッグ操作又はスイップ操作）を含むことができる。あるいは、明確に定義されたユーザアクションは、Ｆ１やＦ２等といったキーボードのキー押下であってもよい。
【００２７】
ユーザに向上した認識を提供するために、インタフェースオブジェクトの表現は、いつデータがインタフェースオブジェクトにロードされるかを示すように修正することができる。
【００２８】
インタフェースオブジェクトの表現は、任意の適切なイメージ又はグラフィックを含むことができ、アニメーション化されたグラフィック又はビデオとすることも可能である。表現は、表示スペースを過度に消費せず、また、プログラムによって生成される表示に利用可能であるように表示スペースの大部分を残すように、アイコンのような小さなサイズのものとすることができる。この表現は、取引用のカート、文書又はテキスト用のフォルダ又はブリーフケース、球技用のボール、あるいは車両又は個人といった、任意の適切なグラフィックを含むことができる。このようなグラフィックは、次のプログラム状態用の次の表示への遷移を示すようにディスプレイを横切って動かすことができ、また、歩行者、転がるボール又は走っている車両のように、グラフィックをアニメーション化して動きを示すこともできる。また、グラフィックは、データが搬送されていることを示すように修正することもでき、例えばバスケット又はカートが、その中に何かがあるように修正されることができ、人が何かを運んでいるように示すこともできる。また、アニメーションはオーディオを含むことができる。
【００２９】
インタフェースオブジェクトにロードされたデータ上の情報を表示するための入力を受け取ることができ、その情報を表示することができる。情報は、単にタイトル又は簡潔な要約とすることができ、あるいはデータ自体であってもよい。ユーザは、例えばインタフェースオブジェクトの表現（グラフィック又はアイコン）を選択すること、例えばその上をクリック又はタップすることによって、単に情報を表示するように選択することができる。この場合、次のプログラム状態用の表示にデータをアンロードするためのユーザ入力は、表示された情報の少なくとも一部の選択を含むことができる。
【００３０】
インタフェースオブジェクトは、ユーザに関連付けることができ、識別情報及びユーザによるアクションに関する情報を、ユーザの好み及び挙動を示すユーザ履歴データについて格納することができる。インタフェースオブジェクトは広告主と関連付けられることがあり、インタフェースオブジェクトの表現（例えばグラフィック又はアイコン）の少なくとも一部として広告を出力することができ、ユーザに関する格納された情報を広告主に送信することができる。これに応えて、広告主は、表現の一部として、更新された広告の表示のために、更新された広告をインタフェースオブジェクトに送信することができます。このようにして、広告主は、該広告主がユーザのための広告をターゲットにすることを可能にする代わりに、事前定義された次のアクションのような特定の機能を有する有用なインタフェースアプリケーションモジュールをユーザに提供することができる。
【００３１】
一実施形態では、インタフェースオブジェクトは、プログラムモジュールとしてロードされると、少なくとも１つのプログラムを自動的にロードすることができ、その結果、インタフェースオブジェクトは、ロードされた複数のアプリケーションでの使用を目的としたインタフェースオブジェクトを有するホリスティックな処理環境を提供する際にユーザを支援する。一例としては、オフィスワーク用のインタフェースオブジェクトが挙げられるインタフェースオブジェクトは、ワードプロセッサプログラム及びプレゼンテーションプログラムを自動的に開くことができる。インタフェースアプリケーションは、ワード処理文書にオーバーレイされているインタフェースオブジェクトからの遷移を引き起こすように予め定義された、特定の明確に定義されたユーザ入力アクションを有してもよく、その結果、文書のコンテンツがインタフェースオブジェクトにロードされると、ユーザは、インタフェースオブジェクトが、表示されたインタフェース上でプレゼンテーションアプリケーションへのアンロードに利用可能なデータコンテンツとオーバーレイされるように、プレゼンテーションアプリケーションを自動的に開くよう命令を入力することができる。
【００３２】
一実施形態では、ユーザインタフェースは、表示出力及びユーザによるポインタデバイス及びキーボード入力を有する従来のウェブサイトとして提供され得る。代替の実施形態では、インタフェースは、キーボード、タッチスクリーン、ポインタデバイス（マウス、トラックボール、トラックパッド又はペンデバイス等）、サウンド又はユーザからの発話を認識する音声認識ハードウェア及び／又はソフトウェア、ジェスチャ認識入力ハードウェア及び／又はソフトウェア等のようなユーザ入力として任意の形態の視覚出力及び任意の形態の入力によって提供され得る。
【００３３】
一実施形態では、ユーザインタフェースは、２０１６年１２月３０日に出願された「USER INTERFACE METHOD AND APPARATUS」という名称の同時係属の米国特許出願第１５／３９５，３４３号に開示される方法を使用して提供されることができ、その内容は全体として本明細書に組み込まれている。米国特許出願第１５／３９５，３４３のユーザインタフェースは、ユーザが入力及び選択のためにシステムと対話する手段を提供することができる。
【００３４】
一実施形態では、方法及びシステムは、２０１６年１２月３０日に出願された「AN ELECTRONIC TRANSACTION METHOD AND APPARATUS」という名称の同時係属の米国特許出願第１５／３９５，４８７号に開示される電子取引方法及びシステムとともに使用されることができ、その内容が全体として本明細書に組み込まれている。米国特許出願第１５／３９５，４８７号の取引方法及びシステムは、第１プログラム状態から次のプログラム状態への遷移であり、インタフェースオブジェクトにロードされるデータは、取引データ、例えばレジで購入される製品（有形製品、仮想製品及びサービスを含む）の製品情報を含む取引システム内のバスケット又はカートである。
【００３５】
一実施形態では、方法及びシステムは、本出願と同日に出願された「EVENT BASED DEFERRED SEARCH METHOD AND SYSTEM」と題された同時係属中の米国特許出願第 号に開示された方法及びシステムとともに使用することができ、その内容は全体として本明細書に組み込まれる。
【００３６】
次に、図面を参照して特定の実施形態について説明する。
【００３７】
図１は、一実施形態によるインタフェースオブジェクトコードモジュールを示す概略図である。
【００３８】
図１は、インタフェースオブジェクト１のコード構造を示す。インタフェースオブジェクトは、インタフェースオブジェクトの機能を実行するコアモジュール２と、インタフェースオブジェクトの定義データを格納する定義データストア３とを備える。定義データは、以下のデータを含むことができる：
●  オブジェクトタイプデータ  −  例えばインタフェースオブジェクトがインスタンスであるオブジェクトのタイプを定義する。
●  表示上のインタフェースオブジェクトの表現のためのアイコン／画像／ビデオ／オーディオ
●  事前定義されたユーザ入力に応答する事前定義されたアクション。これは、インタフェースオブジェクトに、コンピューティングデバイスを次のプログラム状態に移動させるために認識されることになるユーザ入力を定義する。例えば取引実装に対して、プログラム状態をチェックアウトウェブページに持って行く右スワイプである。次のプログラム状態は次のプログラム状態のシーケンスを含むことができ、その結果、ユーザが次のプログラム状態への選択を行うと、コンピューティングデバイスは、次のプログラム状態が現在のプログラム状態になるように遷移を行い、シーケンス内の次のプログラム状態は、所定のユーザ入力に応答する次のプログラム状態になる。
●  ロードすべき所定のアプリケーション−このデータは、インタフェースオブジェクトがロードされて、プログラム状態への遷移又は遷移のシーケンスの一部として処理する準備が整ったときにロードすべきすべてのアプリケーションを識別することができる。
●  ユーザデータは、例えば以下を含むことができる：
○  ユーザ識別子
○  名前、生年月日、連絡先情報を含むユーザ情報
○  ユーザの好み−これらはユーザによる入力とすることができる
○  使用履歴−  ユーザによる記憶されたアクション
●              広告主情報は、例えば以下を含むことができる：
○  広告主識別子
○  ユーザ情報の伝送の方向（direction）に関する電子連絡先情報
○  表示されるべき広告（１つ又は複数）−ランダムに、あるいはインタフェースオブジェクトの表現の一部として所定のシーケンスで、あるいは別個のオーバーレイ広告としても表示することができる数を存在させることができる。広告は、アンロードされたユーザデータに応じて、広告主からのダウンロードされた更新広告によって更新される。
【００３９】
図１はまた、コアモジュール２に接続されたペイロードデータストア４を示す。ペイロードデータストア４は、ユーザ入力によってインタフェースオブジェクトにロードするために選択されたデータを格納する。データは、テキスト又は画像データ、あるいはビデオデータのような１つ以上のデータタイプのものとすることができる。データは、ユーザインタフェースにより、ユーザがそのようなコードオブジェクトをディスプレイから選択することができる場合、コードオブジェクトを含むこともでき、そのようなコードオブジェクトは次のプログラム状態にアンロードされることになる。
【００４０】
図２は、一実施形態によるインタフェースオブジェクト１を利用するコンピュータシステム１０を示す概略図である。コンピュータシステムは、図２に図示されるコードモジュールの各々を実装する。
【００４１】
インタフェースオブジェクト１は、インタフェースオブジェクトマネージャモジュール１２にリンクされる。インタフェースオブジェクトマネージャモジュール１２は、実行され、ユーザがインタフェースオブジェクト１をインストールすることを選択できるようにするユーザインタフェースを提供するプログラムである。インタフェースオブジェクトマネージャモジュール１２は、インタフェースオブジェクト１としてユーザによって選択されてインスタンス化され得る複数のインタフェースオブジェクトコードモジュールを格納する、インタフェースオブジェクトライブラリ１３とインタフェースする。インタフェースオブジェクトは、アプリケーション１１のグラフィカル出力の上にオーバーレイして表示され、ペイロードデータストア４にロードするためにアプリケーションによって表示される任意のデータにアクセスすることができるように、コンピュータシステム１０上で実行されているアプリケーション１１とインタフェースするよう永続的に動作する。
【００４２】
図３は、一実施形態によるインタフェースオブジェクトを使用する方法のフロー図である。このプロセスは、コンピュータシステム、コンピュータ装置又はコンピューティングデバイス上で実施される。
【００４３】
ステップＳ１０１において、インタフェースオブジェクトの表現が、プログラム（又はオペレーティングシステム）の現在の表示出力にオーバーレイして表示される。ステップＳ１０２において、表示データを選択するユーザ入力を受け取り、ステップＳ１０３において、選択されたデータがインタフェースオブジェクト１のデータストア４にロードされる。ステップＳ１０４において、ユーザ遷移入力を受け取り、ステップＳ１０５において、コンピュータシステム、装置又はデバイスは、遷移入力に応答して異なる表示を出力するようにプログラム状態を遷移させる。この表示状態では、ステップＳ１０６において、インタフェースオブジェクトの表現が、異なる状態で表示上にオーバーレイして表示されるように維持される。ステップＳ１０７において、ユーザアンロード入力が受け取られ、ステップＳ１０８において、インタフェースオブジェクト１のペイロードデータストア４に格納されたデータの少なくとも一部がアンロードされ、異なるプログラム状態で動作するプログラムに入力される。
【００４４】
図４は、一実施形態によるインタフェースオブジェクト１を使用するウェブベースシステムを示す概略図である。
【００４５】
コンピュータ、ラップトップタブレット、パーソナルデジタルアシスタント及びモバイルデバイスを含むコンピュータデバイスと電話を含むクライアントデバイス１５は、インターネット５０のようなネットワークを介して、サーバシステム６０と、ウェブページをホストしている複数のウェブサーバ９０とに接続される。ウェブブラウザ２０は、クライアントデバイス１５内において、ウェブサーバ９０上のウェブページにアクセスしてレンダリングするために実装される。インタフェースオブジェクトツールバー２５は、インタフェースオブジェクト１を実装するよう選択するユーザアクセスを与えるために、ウェブブラウザ２０へのアドオンとしてインストールされ、図４に示されるように、これは、次いで、ウェブブラウザ２０へのアドオンとして実装される。
【００４６】
サーバシステム６０は、クライアントデバイス１５のウェブブラウザ２０のためのウェブインタフェースを提供するウェブサーバ６５を含む。Ａｐｐサーバ７０は、ウェブサーバ６５にアクティブなＷｅｂページを提供し、インタフェースオブジェクトライブラリ７５にアクセスするために、ウェブサーバ６５に接続されるよう提供される。このようにして、クライアントデバイス１５のユーザは、ウェブブラウザ２０を使用してウェブサーバ６５にアクセスし、インタフェースオブジェクトライブラリ７５から新しいインタフェースオブジェクトコードをダウンロードすることができる。
【００４７】
図５Ａ及び図５Ｂは、一実施形態による図４のウェブベースのシステムを使用する方法のフロー図である。
【００４８】
ステップＳ２０１において、ユーザはウェブブラウザ２０を開き、ステップＳ２０２において、ツールバー２５のユーザ選択が受け取られる。ステップＳ２０３において、インタフェースオブジェクトオプションが表示され、ステップＳ２０４において、インタフェースオブジェクトオプションのユーザ選択が受け取られ、これにより、ステップＳ２０５において、インタフェースオブジェクト１をアドオンとしてウェブブラウザ２０にロードすることができる。ステップＳ２０６において、ウェブサーバ９０のうちの１つによってホストされるウェブページのユーザ選択が受け取られ、ステップＳ２０７において、ウェブページコードがウェブブラウザ２０によって受け取られてレンダリングされる。ステップＳ２０８において、ウェブページ上に表示されたデータをキャプチャするユーザ選択が受け取られ、ステップＳ２０９において、データがインタフェースオブジェクト１のペイロードデータストア４にロードされる。次に、プロセスは、ステップＳ２１０において、ユーザが新しいウェブページを選択したかどうかを確かめるために待機する。ユーザが新しいウェブページを選択しない場合、プロセスは、ステップＳ２０８に戻ることによって、ユーザがウェブページから任意のデータ型のデータの２つ以上のピースをキャプチャすることを可能にする。ステップＳ２１０において、新しいウェブページのユーザ選択を受け取った場合、ステップＳ２１１において、ブラウザは、インタフェースオブジェクトの表現とオーバーレイして新しいウェブページを表示する。したがって、クライアントデバイス１５は、プログラム状態を変更し、ブラウザは、異なる表示、すなわち異なるウェブページを生成する。ステップＳ２１２において、プロセスは、更なるデータをキャプチャするためのユーザ選択が受け取られたかどうかを判断するために待機する。そうである場合、ステップＳ２１３において、インタフェースオブジェクトのペイロードデータストア４にキャプチャされてロードされるデータのユーザ選択が受け取られ、ステップＳ２１４において、データがペイロードデータストア４にロードされる。プロセスはその後ステップＳ２１０に戻り、ユーザが新しいウェブページを選択するかどうかを判断するために待機する。
【００４９】
ステップＳ２１２において、ユーザが更なるデータをウェブページからキャプチャすることを選択しない場合、ステップＳ２１５において、データをアンロードするユーザ選択が受け取られ、ステップＳ２１６において、ペイロードデータストア４内のデータが表示され、その一部又はすべてが選択される。ステップＳ２１７において、ペイロードデータストア４内のデータの一部又はすべてのユーザ選択が選択され、ステップＳ２１８において、データは、ウェブページの選択されたセクション、例えばフォーム又は入力ボックス等にアンロード又はペーストされる。
【００５０】
図６Ａ〜図６Ｄは、一実施形態による方法の間に生成されるユーザインタフェースである。この実施形態は、ウェブベースの取引方法である。
【００５１】
図６Ａは、ある販売主（merchant）から入手可能なカメラの形態で製品に関する情報４０１を表示する、表示ウェブページの形態のインタフェース４００を示している。インタフェースオブジェクト４０２の表現は、カート又はトロリーのアイコン又は画像の形態でウェブページ４００上にオーバーレイして表示される。ユーザは、矢印によって示されるように、インタフェースオブジェクト４０２と対話して表示を横切ってインタフェースオブジェクト４０２を動かすことができる。ユーザは、購入する製品（カメラＢ）の選択を行うことによって、ウェブページ４００からデータを選択する。データは、ショッピングカートが購入すべきカメラＢの情報を含むように、インタフェースオブジェクトデータストアにロードされる。選択の操作は、カメラＢのアイコンをショッピングカート４０２にドラッグアンドドロップすることを含むことができる。
【００５２】
ディスプレイ及びプログラム状態を遷移させるために、ユーザは、表示を横切ってショッピングカート４０２をドラッグすることができる。このユーザ入力アクションは、インタフェースオブジェクトデータで定義された次の状態への遷移を引き起こし、次のウェブページが、図６Ｂに示されるように、左側にインタフェースオブジェクト（ショッピングカート）４０２がオーバーレイされた状態で表示される。次のウェブページは、ドレス４０１Ａを販売する販売主（同じ販売主又は別の販売主）のページである。
【００５３】
図６Ｃに図示されるように、ユーザは、ショッピングカート４０２にドレスの選択をドラッグアンドドロップすることによって、インタフェースオブジェクトデータストアに追加するデータを選択することができる。次いで、ユーザは、図６Ｃに示されているように、表示を横切ってインタフェースオブジェクトの表現をドラッグすることによって、次のプログラム状態に移行することを選択し、図６Ｄの表示に遷移する。
【００５４】
図６Ｄでは、ユーザインタフェース４００は、ウェブチェックアウトページのプログラム状態を表示する。カート（インタフェースオブジェクト表現）４０２は、このウェブページへの遷移が発生し、インタフェースオブジェクトに格納されたデータが、チェックアウトすべき取引データとしてウェブページにアンロードされるときに、表示の左側に現れるように示されている。ユーザは、支払いを選択することにより従来の方法で商品に対して支払いを選択することで、購入を確認することができる。従来のショッピングカートとの相違点は、カート４０２と対話してウェブページ遷移を引き起こすことができることである。また、インタフェースオブジェクト定義データ内の遷移の適切な事前定義に従うことを条件に、複数のウェブサイト及び販売主にまたがって、カートを使用することができる。また、カート４０２の画像は、製品情報がカード内に置かれると、製品情報がその中にロードされたことを示ように修正されることができる。
【００５５】
図７Ａ及び図７Ｂは、別の実施形態による方法の間に生成されるユーザインタフェースである。この実施形態は、オフィスアプリケーションのような文書の処理に関する。
【００５６】
図７Ａは、処理のために選択することができるファイル５０１を表示するコンピュータ画面の形態のインタフェース５００を示す。この実施形態におけるインタフェースオブジェクト表現は、ブリーフケース５０２として示されている。ユーザは、インタフェースオブジェクトにロードするためにファイル５０１を選択することができる。これは、ファイル２からブリーフケース５０２へのドラッグアンドドロップ操作として矢印で図７Ａに示されている。ユーザは、次いで、例えば図７Ａに図示されるように、表示を横切ってブリーフケース５０２をドラッグ又はスワイプすることによって、次のプログラム状態に遷移して異なる表示を表示することを選択することができる。この実施形態におけるプログラム及び表示遷移は、図７Ｂに図示される表示への遷移に予め定義される。ブリーフケース５０２は、左側の表示にオーバーレイして表示される。この例では、ユーザは、インタフェースオブジェクトの内容を表示するように選択されており、図示されるように、この選択を反映するように、インタフェースオブジェクトのイメージを変更することができる。この実施形態では、応答は、ブリーフケースをオープンとして例示することと、インタフェースオブジェクトに格納されているファイル上の情報５０４を例示することである。次に、ユーザは、表示されたインタフェース内の適切な位置にアンロードされるファイル５０４を選択することができる。この実施形態では、これは、ファイル５０４をフォルダＡ  ５０５に移動させるドラッグアンドドロップ操作を含む。この実施形態では、インタフェースオブジェクト表現が表示される表示を生成するように動作するプログラムは、Ｌｉｎｕｘ（登録商標）、Ｌｉｏｎ（登録商標）又はＬｉｎｕｘ（登録商標）等のオペレーティングシステムである。
【００５７】
インタフェースオブジェクトが、所望の処理を実行するためにアプリケーションをロードする必要があるスタンドアロンマシン上で動作する実施形態では、インタフェースオブジェクトコードは、プログラム遷移ターゲットとして使用されるよう準備すべき所定のプログラム／アプリケーションを起動するコードを含むことができる。例えばオフィス環境では、オフィスインタフェースオブジェクトについて、インタフェースオブジェクトは、文書処理アプリケーション、スプレッドシート、プレゼンテーションアプリケーション、描画アプリケーション、電子メールアプリケーション等のうちのいずれか１つ以上を予めロードすることができる。
【００５８】
ユーザは、自身のコンピュータのプログラムを、該プログラムによってディスプレイ出力にオーバーレイして表示されるインタフェースオブジェクト表現とともに、通常の方法で使用することができる。これにより、ユーザは、プログラム、ウェブページ、文書、フォルダ等に又はその中にナビゲートし、表示されたデータからインタフェースオブジェクトにデータをロードすることが可能になる。オブジェクトは、ターゲットのナビゲーション先の情報だけでなく、表示生成のためのターゲットのデータもキャッシュに格納することができる。
【００５９】
上述の実施形態では、１つのインタフェースオブジェクト及び関連する表現のみを説明したが、ユーザは、異なる所定のプログラム遷移を含む、異なる機能を同時に実行するために、２つ以上のインタフェースオブジェクトを定義することが可能である。例えばオフィス環境では、ユーザは、ドキュメント管理及び通信に関連するドキュメントベースの機能を実行するためのドキュメントフォーカス・インタフェースオブジェクトと、ファイナンス機能を実行するためのファイナンスベース・インタフェースオブジェクトとを有する可能性がある。同様に、ウェブベースのアプリケーションでは、ユーザは、取引を実行するための１つのインタフェースオブジェクトと、インターネット検索を支援するための別のインタフェースオブジェクト、あるいは異なる取引を実行するための２つのインタフェースオブジェクト、例えばＫａｔｉｅのクリスマスショッピングのための１つのショッピングカートと、Ｄａｖｉｄのクリスマスショッピングのための１つのショッピングカートを有する可能性がある。２つ以上のインタフェースオブジェクトを一度に表示し、各々が自身の機能を実行できるようにすることができる。
【００６０】
インタフェースオブジェクトには、オブジェクトが実行する機能をユーザが選択できるようにするメニューを提供することができる。これは、オブジェクトのセットアップの一部とすることができ、あるいは使用中に選択することができる多くの類似の機能を有するようオブジェクトを定義することができる。
【００６１】
データをインタフェースオブジェクトのペイロードデータストアにロードする方法は、カットアンドペースト又はドラッグアンドドロップのようなユーザ選択に応答する任意の方法を含むことができる。
【００６２】
インタフェースオブジェクトは、インタフェースオブジェクト表現の一部として又はバナーのような別個のディスプレイとして現れる広告の代わりに、広告主によってダウンロードできるようにすることができる。インタフェースオブジェクトは、広告主にアップロードするために、ユーザアクションを追跡してユーザアクションの履歴を格納することができるコードを含むことができる。追跡されたアクションは、ユーザが見るプログラムのウェブページ及びセクション、並びに表示された情報の表示されたセクション又は領域とのユーザの対話を含むことができる。次いで、広告主は、データを処理してユーザのための適切なターゲット広告を決定し、ユーザに表示するために、それらのターゲット広告をインタフェースオブジェクトにダウンロードすることができる。このようにして、ユーザのアクションを追跡し、彼らにターゲット化された広告を出すことができる。
【００６３】
インタフェースオブジェクトは、少なくとも１人のユーザに関連付けられる。一実施形態では、インタフェースオブジェクトが複数のユーザによって共有されることがある。このような構成では、一度に１人のユーザのみが、そのインタフェースオブジェクトを使用できる。使用はサーバで追跡される必要があり、その使用は複数のユーザによるサーバ上での使用に適している。複数のユーザのためのネットワーク環境では、各ユーザは自身のインタフェースオブジェクトを有する可能性があるが、複数のユーザのインタフェースオブジェクトが、共有のユーザインタフェースディスプレイ上に表示されてもよい。
【００６４】
上記の実施形態から、インタフェースオブジェクトは、オーバーレイ表示された表現を有するデータキャリア（data  carrier）として機能し、ユーザをガイドして通知し、ユーザが任意のプログラム又はオペレーティングシステムによる処理の任意の時点でインタフェースオブジェクトと対話することを可能にすることが分かる。
【００６５】
インタフェースオブジェクトは、ユーザがインタフェースオブジェクトの他のユーザ又はより一般的には他のユーザと通信することを可能にする機能を含むことができる。通信機能は、ユーザが、例えばインタゲースオブジェクトをクリックして通信インタフェース又は機能を開くことにより、インタフェースオブジェクトを選択することを可能にする。また、通信を、例えばインタフェースオブジェクトを使用してユーザに広告をプッシュしている広告主にフィードバックとして送り返すこともできる。通信機能は、インタフェースオブジェクトのペイロードデータストアに格納されたデータが、通信中の別のコンピュータに送信されることを可能にする。
【００６６】
基本コンピューティングデバイス
図８は、本発明の例示的な実施形態を具体化することができる基本的なコンピューティングデバイス６００を示すブロック図である。コンピューティングデバイス６００及びその構成要素は、それらの接続、関係及び機能を含め、例示的なものにすぎず、例示的な実施形態の実装を制限するように意図されていない。例示的な実施形態を実施するのに適した他のコンピューティングデバイスは、異なる接続、関係及び機能を有するコンポーネントを含め、異なるコンポーネントを有してよい。
【００６７】
コンピューティングデバイス６００は、例えば図１に図示されるような、サーバ又はユーザデバイスのいずれかを含むことができる。
【００６８】
コンピューティングデバイス６００は、メインメモリ６０６をアドレス指定し、デバイス６００の様々な構成要素の間でデータを転送するためのバス６０２又は他の通信メカニズムを含んでよい。
【００６９】
コンピューティングデバイス６００はまた、情報を処理するためにバス６０２と結合される１つ以上のハードウェアプロセッサ６０４も含んでもよい。ハードウェアプロセッサ６０４は、汎用マイクロプロセッサ、システムオンチップ（ＳｏＣ）又は他のプロセッサであってよい。
【００７０】
ランダムアクセスメモリ（ＲＡＭ）又は他の動的ストレージデバイスのようなメインメモリ６０６も、プロセッサ６０４によって実行されるべき情報及びソフトウェア命令を記憶するために、バス６０２に結合されてもよい。メインメモリ６０６はまた、プロセッサ６０４によって実行されるべきソフトウェア命令の実行中に、一時変数又は他の中間情報を記憶するために使用されてもよい。
【００７１】
ソフトウェア命令は、プロセッサ６０４にアクセス可能な記憶媒体に記憶されると、コンピューティングデバイス６００を、ソフトウェア命令に指定された演算を実行するようにカスタマイズされた専用コンピューティングデバイスにする。用語「ソフトウェア」、「ソフトウェア命令」、「コンピュータプログラム」、「コンピュータ実行可能命令」及び「プロセッサ実行可能命令」は、人間が読むことができるかどうかにかかわらず、特定の演算を実行するようにコンピューティングデバイスに指示するためのあらゆる機械読み取り可能な情報を網羅するよう広く解釈されるべきであり、これには、アプリケーションソフトウェア、デスクトップアプリケーション、スクリプト、バイナリ、オペレーティングシステム、デバイスドライバ、ブート・ローダ、シェル、ユーティリティ、システムソフトウェア、ＪＡＶＡＳＣＩＰＴ（登録商標）、ウェブページ、ウェブアプリケーション、プラグイン、埋め込みソフトウェア、マイクロコード、コンパイラ、デバッガ、インタプリタ、仮想マシン、リンカー及びテキストエディタが含まれるが、これらに限定されない。
【００７２】
コンピューティングデバイス６００はまた、プロセッサ６０４のための静的情報及びソフトウェア命令を記憶するために、バス６０２に結合される読取専用メモリ（ＲＯＭ）６０８又は他の静的なストレージデバイスを含んでもよい。
【００７３】
１つ以上の大容量ストレージデバイス６１０は、例えば磁気、光学、ソリッドステート、磁気光学、フラッシュメモリ又は他の利用可能な大容量記憶技術等のような固定又は取外可能な媒体上に情報及びソフトウェア命令を永続的に記憶するために、バス６０２に結合されてもよい。大容量ストレージは、ネットワーク上で共有されてもよく、専用の大容量ストレージであってもよい。典型的には、大容量ストレージデバイス６１０の少なくとも１つは、オペレーティングシステム、ユーザアプリケーションプログラム、ドライバ及び他のサポートファイル、並びにすべての種類の他のデータファイルを含む、コンピューティングデバイスの動作を指示するためのプログラム及びデータの本体を格納する。
【００７４】
コンピューティングデバイス６００は、コンピュータのユーザに情報を表示するために、バス６０２を介して、液晶ディスプレイ（ＬＣＤ）又は他の電子ビジュアルディスプレイのようなディスプレイ６１２に結合されてよい。いくつかの構成では、タッチ検出技術（例えば抵抗、容量性等）を組み込んだタッチ感知面をディスプレイ６１２上にオーバーレイして、タッチジェスチャ（例えば指又はスタイラス）入力をプロセッサ６０４に伝達するためのタッチ感知ディスプレイを形成することができる。
【００７５】
英数字及び他のキーを含む入力デバイス６１４が、情報及びコマンド選択をプロセッサ６０４に伝達するためにバス６０２に結合されてもよい。英数字及び他のキーに加えて又はこれに代えて、入力デバイス６１４は、例えば電源（オン／オフ）ボタン、「ホーム」ボタン、ボリューム制御ボタン等の１つ以上の物理的ボタン又はスイッチを含んでもよい。
【００７６】
別のタイプのユーザ入力デバイスは、マウス、トラックボール、カーソル又はタッチスクリーン、あるいは方向情報及びコマンド選択をプロセッサ６０４に伝達し、ディスプレイ６１２上のカーソルの動きを制御するための方向キー等のような、カーソルコントロール６１６とすることができる。この入力デバイスは、典型的は、２つの軸、すなわち、第１軸（例えばｘ）と第２軸（例えばｙ）における２つの自由度を有し、これは、デバイスが平面内の位置を指定することを可能にする。他の入力デバイスの実施形態は、発話等の音声入力を認識するための音声又は発話認識入力モジュール、ユーザによるジェスチャを認識することができるビジュアル入力デバイス及びキーボードを含む。
【００７７】
図８に示される構成のようないくつかの構成では、ディスプレイ６１２、入力デバイス６１４及びカーソルコントロール６１６のうちの１つ以上は、コンピューティングデバイス６００の外部構成要素（すなわち、周辺デバイス）であるが、他の構成では、ディスプレイ６１２、入力デバイス６１４及びカーソルコントロール６１６の一部又はすべてが、コンピューティングデバイス６００のフォームファクタの一部として統合される。
【００７８】
ディスプレイ６１２に加えて又はディスプレイ６１２の代わりに、オーディオ出力デバイス又は触覚（振動）出力デバイスのような、任意の他の形態のユーザ出力デバイスが求められることがある。
【００７９】
開示されたシステム、方法及びモジュールの機能は、プロセッサ６０４が、メインメモリ６０６に含まれるソフトウェア命令の１つ以上のプログラムを実行したこと応答して、コンピューティングデバイス６００によって実行されてもよい。そのようなソフトウェア命令は、ストレージデバイス６１０のような別の記憶媒体又は伝送媒体からメインメモリ６０６に読み出されてもよい。メインメモリ６０６内に含まれるソフトウェア命令の実行は、プロセッサ６０４に、例示的な実施形態の機能を実行させる。
【００８０】
例示的な実施形態の機能及び動作は、ソフトウェア命令によって完全に実装されてよいが、他の実施形態においては、コンピューティングデバイス６００のハードワイヤード回路又はプログラマブル回路（例えばＡＳＩＣ、ＦＰＧＡ等）が、手近な特定の実装の要件に従って、機能を実行するためのソフトウェア命令の代わりに又はそれと組み合わせて使用されてもよい。
【００８１】
本明細書で使用されるとき、用語「記憶媒体」は、特定の態様でコンピューティングデバイスを動作させるデータ及び／又はソフトウェア命令を記憶する任意の非一時的媒体を指す。そのような記憶媒体は、不揮発性媒体及び／又は揮発性媒体を含んでもよい。不揮発性媒体は、ストレージデバイス６１０のように、例えば不揮発性ランダムアクセスメモリ（ＮＶＲＡＭ）、フラッシュメモリ、光ディスク、磁気ディスク又はソリッドステートドライブ等を含む。揮発性媒体は、メインメモリ６０６等の動的メモリを含む。記憶媒体の一般的な形態には、例えばフロッピーディスク、フレキシブルディスク、ハードディスク、ソリッドステートドライブ、磁気テープ又は他の任意の磁気データ記憶媒体、ＣＤ−ＲＯＭ、任意の他の光学データ記憶媒体、ホールパターンを有する任意の物理媒体、ＲＡＭ、ＰＲＯＭ及びＥＰＲＯＭ、ＦＬＡＳＨ−ＥＰＲＯＭ、ＮＶＲＡＭ、フラッシュメモリ、任意の他のメモリチップ又はカートリッジが含まれる。
【００８２】
記憶媒体は、伝送媒体とは区別されるが、伝送媒体と共に使用されてよい。伝送媒体は、記憶媒体間の情報の転送に関与する。例えば伝送媒体は、バス６０２を備えるワイヤを含む、同軸ケーブル、銅線及び光ファイバを含む。伝送媒体は、また、無線波及び赤外線データ通信の間に発生されるような音波又は光波の形態をとることができる。コードの形態で命令を搬送する機械読取可能媒体又は搬送媒体は、非一時的記憶媒体及び伝送媒体又は信号を含むことができる。
【００８３】
様々な形態の媒体が、１つ以上のソフトウェア命令の１つ以上のシーケンスを実行のためにプロセッサ６０４に搬送することに関与してよい。例えばソフトウェア命令は、最初に、リモートコンピュータの磁気ディスク又はソリッドステートドライブ上に搬送されてよい。リモートコンピュータは、ソフトウェア命令をその動的メモリにロードし、モデムを使用して電話回線を介してソフトウェア命令を送信することができる。コンピューティングデバイス６００にローカルなモデムは、電話回線上でデータを受け取り、赤外線トランスミッタを使用してデータを赤外線信号に変換することができる。赤外線検出器は、赤外線信号内で担持されたデータを受け取ることができ、適切な回路が、そのデータをバス６０２上に配置することができる。バス６０２はデータをメインメモリ６０６に搬送し、メインメモリ６０６からプロセッサ６０４がソフトウェア命令を取り出して実行する。メインメモリ６０６によって受け取られたソフトウェア命令は、任意に、プロセッサ６０４による実行の前又は後のいずれかに、ストレージデバイス６１０上に記憶されてよい。
【００８４】
コンピューティングデバイス６００はまた、バス６０２に結合される１つ以上の通信インタフェース６１８を含んでもよい。通信インタフェース６１８は、ローカルネットワーク６２２（例えばイーサネット（登録商標）ネットワーク、無線ローカルエリアネットワーク、携帯電話ネットワーク、Ｂｌｕｅｔｏｏｔｈ（登録商標）無線ネットワーク等）に接続される有線又は無線ネットワークリンク６２０に双方向データ通信結合を提供する。通信インタフェース６１８は、種々のタイプの情報を表すデジタルデータストリームを担持する電気、電磁又は光信号を送受信する。例えば通信インタフェース６１８は、有線ネットワークインタフェースカード、統合無線アンテナを備えた無線ネットワークインタフェースカード又はモデム（例えばＩＳＤＮ、ＤＳＬ又はケーブルモデム）であってもよい。
【００８５】
ネットワークリンク６２０は、典型的には、１つ以上のネットワークを介して他のデータデバイスへのデータ通信を提供する。例えばネットワークリンク６２０は、ローカルネットワーク６２２を介してホストコンピュータ又はインターネットサービスプロバイダ（ＩＳＰ）によって操作されるデータ装置への接続を提供することができる。次に、ＩＳＰは、現在、一般に「インターネット」と呼ばれるワールドワイドパケットデータ通信ネットワークを介してデータ通信サービスを提供する。ローカルネットワーク６２２及びインターネットは、デジタルデータストリームを搬送する電気、電磁又は光信号を使用する。種々のネットワーク経由の信号、並びにコンピューティングデバイス６００との間でデジタルデータを搬送するネットワークリンク６２０上及び通信インタフェース６１８経由する信号は、伝送媒体の例示的な形態である。
【００８６】
コンピューティングデバイス６００は、ネットワーク、ネットワークリンク６２０及び通信インタフェース６１８を介して、メッセージを送信し、プログラムコードを含むデータを受け取ることができる。インターネットの例では、サーバは、インターネット、ＩＳＰ、ローカルネットワーク６２２及び通信インタフェース６１８を介して、アプリケーションプログラムのために要求されたコードを送信することができる。
【００８７】
受け取ったコードは、それが受け取られたときにプロセッサ６０４によって実行されてよく、かつ／又は後の実行のためにストレージデバイス６１０又は他の不揮発性ストレージに記憶されてもよい。
【００８８】
一態様は、搬送媒体、例えば方法を実行するための機械のプロセッサによる実行のためにコードを記憶する非一時的記憶媒体又は方法を実行するために機械のプロセッサによる実行のためのプロセッサ実行可能コードを担持する一次的媒体を提供する。実施形態は、コンピュータコードを実装するプログラマブルデジタルロジックで実装されることができる。コードを、搬送媒体上のプロセッサ又はマイクロプロセッサのようなプログラマブルロジックに供給することができる。搬送媒体のそのような一実施形態は、一時的媒体、すなわち、電気、電磁、音響、磁気又は光信号等のような信号である。搬送媒体の別の形態は、ソリッドステートメモリ、磁気媒体（ハードディスクドライブ）又は光媒体（コンパクトディスク（ＣＤ）又はデジタル多用途ディスク（ＤＶＤ）のようなコードを記憶する非一時的記憶媒体である。
【００８９】
添付の特許請求の範囲に示される本発明の主題の原理及び範囲から逸脱することなく、本発明の主題の性質を説明するために記載及び図示した部品及び方法段階についての詳細、材料及び配置における種々の他の変更がなされてよいことが当業者には容易に理解されるであろう。
【図１】
2020525943.tif 000003
【図２】
2020525943.tif 000004
【図３】
2020525943.tif 000005
【図４】
2020525943.tif 000006
【図５Ａ】
2020525943.tif 000007
【図５Ｂ】
2020525943.tif 000008
【図６Ａ】
2020525943.tif 000009
【図６Ｂ】
2020525943.tif 000010
【図６Ｃ】
2020525943.tif 000011
【図６Ｄ】
2020525943.tif 000012
【図７Ａ】
2020525943.tif 000013
【図７Ｂ】
2020525943.tif 000014
【図８】
2020525943.tif 000015
【手続補正書】
【提出日】令和2年3月3日(2020.3.3)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
プログラムが第１コンピュータプログラム状態においてユーザインタフェース上に表示を生成しているときに、前記第１コンピュータプログラム状態から第２コンピュータプログラム状態にデータを転送する方法であって：
複数の現在のコンピュータプログラム状態の各々についての複数の次のコンピュータプログラム状態と、対応する複数のユーザ事前定義アクションとを識別する、格納されたデータにアクセスするステップであって、各ユーザ事前定義アクションは、現在のコンピュータプログラム状態から、異なる表示を表示する次のプログラム状態に遷移させる、ステップと；
インタフェースオブジェクトのコードを実行するステップであって；
前記第１コンピュータプログラム状態において前記プログラムによって生成された前記表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し、
前記プログラムによって生成された前記表示上に表示されるデータを選択するユーザ入力を受け取り、
前記選択されたデータを前記インタフェースオブジェクトのデータストアにロードし、
異なる表示を生成するよう前記プログラムを遷移させるか、異なる表示を生成する異なるプログラムを実行させるユーザ遷移入力を受け取ることであって、前記異なる表示は前記第２コンピュータプログラム状態を表し、前記ユーザ遷移入力は、前記複数のユーザ事前定義アクションのうちの１つを含み、各ユーザ事前定義アクションは、現在のコンピュータプログラム状態から前記異なる表示を表示する次のコンピュータプログラム状態に遷移させるために、前記インタフェースオブジェクトの前記表現をディスプレイ画面上のある方向に移動させるユーザ選択を含み、
前記異なる表示上にオーバーレイされる前記インタフェースオブジェクトの前記表現を維持し、
前記第２コンピュータプログラム状態で使用するために、前記データストア内に格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り、
前記第２コンピュータプログラム状態で前記異なる表示を表示する前記プログラムへの入力として前記データをアンロードする、
ように、インタフェースオブジェクトのコードを実行するステップと；
を含む、方法。
【請求項２】
コンピュータプログラム状態はウェブページの実行及び表示を含む、
請求項１に記載の方法。
【請求項３】
前記インタフェースオブジェクトの前記表現は、データがいつ前記インタフェースオブジェクトにロードされるかを示すように修正される、
請求項１又は２のいずれか一項に記載の方法。
【請求項４】
前記インタフェースオブジェクトにロードされた前記データ上の情報を表示するユーザ入力を受け取るステップと、前記インタフェースオブジェクトにロードされた前記データ上の情報を表示するステップとを更に含む、
請求項１乃至３のいずれか一項に記載の方法。
【請求項５】
前記ユーザアンロード入力は、前記インタフェースオブジェクトにロードされた前記データ上の前記表示された情報の少なくとも一部の選択を含む、
請求項４に記載の方法。
【請求項６】
実行時に、前記インタフェースオブジェクトは、前記プログラム及び前記異なるプログラムを含む、少なくとも１つのプログラムをロードする、
請求項１乃至５のいずれか一項に記載の方法。
【請求項７】
前記インタフェースオブジェクトは、少なくとも１のユーザに関連付けられ、ユーザ識別データを格納し、当該方法は、前記ユーザによるアクションに関する情報を格納するステップを更に含む、
請求項１乃至６のいずれか一項に記載の方法。
【請求項８】
前記インタフェースオブジェクトは、広告主と関連付けられており、当該方法は、前記インタフェースオブジェクトの前記表現の少なくとも一部として表示するための広告を出力するステップと、ユーザアクションに関する格納された情報を前記広告主に送信するステップとを更に含む、
請求項７に記載の方法。
【請求項９】
ユーザアクションに関する前記送信された情報に応答して、前記広告主から前記インタフェースオブジェクトの前記表現の少なくとも一部として表示するための更新された広告を受け取るステップを含む、
請求項８に記載の方法。
【請求項１０】
プログラムが第１コンピュータプログラム状態においてユーザインタフェース上に表示を生成しているときに、前記第１コンピュータプログラム状態から第２コンピュータプログラム状態にデータを転送するための装置であって、当該装置は：
少なくとも１つのプロセッサと；
命令を格納するメモリと；を含み、前記命令は、前記少なくとも１つのプロセッサによって実行されると、前記少なくとも１つのプロセッサに；
複数の現在のコンピュータプログラム状態の各々についての複数の次のコンピュータプログラム状態と、対応する複数のユーザ事前定義アクションとを識別する、格納されたデータにアクセスさせることであって、各ユーザ事前定義アクションは、現在のコンピュータプログラム状態から、異なる表示を表示する次のプログラム状態に遷移させること；
インタフェースオブジェクトのコードを実行させて；
前記第１コンピュータプログラム状態において前記プログラムによって生成された前記表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し、
前記プログラムによって生成された前記表示上に表示されるデータを選択するユーザ入力を受け取り、
前記選択されたデータを前記インタフェースオブジェクトのデータストアにロードし、
異なる表示を生成するよう前記プログラムを遷移させるか、異なる表示を生成する異なるプログラムを実行させるユーザ遷移入力を受け取ることであって、前記異なる表示は第２コンピュータプログラム状態を表し、前記ユーザ遷移入力は、前記複数のユーザ事前定義アクションのうちの１つを含み、各ユーザ事前定義アクションは、現在のコンピュータプログラム状態から前記異なる表示を表示する次のコンピュータプログラム状態に遷移させるために、前記インタフェースオブジェクトの前記表現をディスプレイ画面上のある方向に移動させるユーザ選択を含み、
前記異なる表示上にオーバーレイされる前記インタフェースオブジェクトの前記表現を維持し、
前記第２コンピュータプログラム状態で使用するために、前記格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り、
前記第２コンピュータプログラム状態で前記異なる表示を表示する前記プログラムへの入力として前記データをアンロードする、
ように、インタフェースオブジェクトのコードを実行させる；
を含む、装置。
【請求項１１】
コンピュータプログラム状態はウェブページの実行及び表示を含む、
請求項１０に記載の装置。
【請求項１２】
前記インタフェースオブジェクトの前記表現はデータがいつ前記インタフェースオブジェクトにロードされるかを示すように修正される、
請求項１０又は１１に記載の装置。
【請求項１３】
前記インタフェースオブジェクトにロードされた前記データ上の情報を表示するユーザ入力を受け取り、前記インタフェースオブジェクトにロードされた前記データ上の情報を表示するために、前記少なくとも１つのプロセッサによって実行可能な命令を更に含む、
請求項１０乃至１２のいずれか一項に記載の装置。
【請求項１４】
前記ユーザアンロード入力は、前記インタフェースオブジェクトにロードされた前記データ上の前記表示された情報の少なくとも一部の選択を含む、
請求項１３に記載の装置。
【請求項１５】
実行時に、前記インタフェースオブジェクトは、前記プログラム及び前記異なるプログラムを含む、少なくとも１つのプログラムをロードする、
請求項１０乃至１４のいずれか一項に記載の装置。
【請求項１６】
前記インタフェースオブジェクトは、少なくとも１のユーザに関連付けられ、ユーザ識別データを格納し、
前記ユーザによるアクションに関する情報を格納するために前記少なくとも１つのプロセッサによって実行可能な命令を更に含む、
請求項１０乃至１５のいずれか一項に記載の装置。
【請求項１７】
前記インタフェースオブジェクトは、広告主と関連付けられており、
前記インタフェースオブジェクトの前記表現の少なくとも一部として表示するための広告を出力し、ユーザアクションに関する格納された情報を前記広告主に送信するために前記少なくとも１つのプロセッサによって実行可能な命令を更に含む、
請求項１６に記載の装置。
【請求項１８】
ユーザアクションに関する前記送信された情報に応答して、前記広告主から前記インタフェースオブジェクトの前記表現の少なくとも一部として表示するための更新された広告を受け取る前記少なくとも１つのプロセッサによって実行可能な命令を更に含む、
請求項１７に記載の装置。
【請求項１９】
コンピュータプログラム状態間でデータを転送する方法であって、当該方法は：
複数の現在のコンピュータプログラム状態の各々についての複数の次のコンピュータプログラム状態と、対応する複数のユーザ事前定義アクションとを識別する、格納されたデータにアクセスするステップであって、各ユーザ事前定義アクションは、現在のコンピュータプログラム状態から、異なる表示を表示する次のプログラム状態に遷移させる、ステップと；
インタフェースオブジェクトのコードを実行するステップであって；
少なくとも１つのアプリケーションをロードし、
前記ロードされたアプリケーションのうちの１つを第１コンピュータプログラム状態で実行してユーザインタフェース上に表示を生成し、
前記第１コンピュータプログラム状態において前記アプリケーションによって生成された前記表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し、
前記アプリケーションによって生成された前記表示上に表示されるデータを選択するユーザ入力を受け取り、
前記選択されたデータを前記インタフェースオブジェクトのデータストアにロードし、
異なる表示を生成するよう前記アプリケーションを遷移させるか、異なる表示を生成する異なるロードされたアプリケーションを実行させるユーザ遷移入力を受け取ることであって、前記異なる表示は第２コンピュータプログラム状態を表し、前記ユーザ遷移入力は、前記複数のユーザ事前定義アクションのうちの１つを含み、各ユーザ事前定義アクションは、現在のコンピュータプログラム状態から前記異なる表示を表示する次のコンピュータプログラム状態に遷移させるために、前記インタフェースオブジェクトの前記表現をディスプレイ画面上のある方向に移動させるユーザ選択を含み、
前記異なる表示上にオーバーレイされる前記インタフェースオブジェクトの前記表現を維持し、
前記第２コンピュータプログラム状態で使用するために、前記格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り、
前記第２コンピュータプログラム状態で前記異なる表示を表示する前記アプリケーションへの入力として前記データをアンロードする、
ように、インタフェースオブジェクトのコードを実行するステップ；
を含む、方法。
【請求項２０】
プログラムが第１コンピュータプログラム状態においてユーザインタフェース上に表示を生成しているときに、前記第１コンピュータプログラム状態から第２コンピュータプログラム状態にデータを転送するための装置であって、当該装置は：
少なくとも１つのプロセッサと；
命令を格納するメモリと；を含み、前記命令は、前記少なくとも１つのプロセッサによって実行されると、前記少なくとも１つのプロセッサに、
複数の現在のコンピュータプログラム状態の各々についての複数の次のコンピュータプログラム状態と、対応する複数のユーザ事前定義アクションとを識別する、格納されたデータにアクセスさせることであって、各ユーザ事前定義アクションは、現在のコンピュータプログラム状態から、異なる表示を表示する次のプログラム状態に遷移させることと；
インタフェースオブジェクトのコードを実行させることであって；
少なくとも１つのアプリケーションをロードし、
前記ロードされたアプリケーションのうちの１つを第１コンピュータプログラム状態で実行してユーザインタフェース上に表示を生成し、
前記アプリケーションによって生成された前記表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し、
前記アプリケーションによって生成された前記表示上に表示されるデータを選択するユーザ入力を受け取り、
前記選択されたデータを前記インタフェースオブジェクトのデータストアにロードし、
異なる表示を生成するよう前記アプリケーションを遷移させるか、異なる表示を生成する異なるロードされたアプリケーションを実行させるユーザ遷移入力を受け取ることであって、前記異なる表示は第２コンピュータプログラム状態を表し、前記ユーザ遷移入力は、前記複数のユーザ事前定義アクションのうちの１つを含み、各ユーザ事前定義アクションは、現在のコンピュータプログラム状態から前記異なる表示を表示する次のコンピュータプログラム状態に遷移させるために、前記インタフェースオブジェクトの前記表現をディスプレイ画面上のある方向に移動させるユーザ選択を含み、
前記異なる表示上にオーバーレイされる前記インタフェースオブジェクトの前記表現を維持し、
前記第２コンピュータプログラム状態で使用するために、格納されたデータの少なくとも一部をアンロードすることを選択するユーザアンロード入力を受け取り、
前記第２コンピュータプログラム状態で前記異なる表示を表示する前記アプリケーションへの入力として前記データをアンロードする、
ように、インタフェースオブジェクトのコードを実行させる；
を含む、装置。
【請求項２１】
プログラムが第１コンピュータプログラム状態においてユーザインタフェース上に表示を生成しているときに、前記第１コンピュータプログラム状態から第２コンピュータプログラム状態にデータを転送する方法であって、当該方法は：
複数の現在のコンピュータプログラム状態の各々についての複数の次のコンピュータプログラム状態と、対応する複数のユーザ事前定義アクションとを識別する、格納されたデータにアクセスするステップであって、各ユーザ事前定義アクションは、現在のコンピュータプログラム状態から、異なる表示を表示する次のプログラム状態に遷移させる、ステップと；
インタフェースオブジェクトのコードを実行するステップであって；
前記第１コンピュータプログラム状態において前記プログラムによって生成された前記表示の領域上にオーバーレイされるインタフェースオブジェクトの表現を表示し、
異なる表示を生成するよう前記プログラムを遷移させるか、異なる表示を生成する異なるプログラムを実行させるユーザ遷移入力を受け取ることであって、前記異なる表示は第２コンピュータプログラム状態を表し、前記ユーザ遷移入力は、前記複数のユーザ事前定義アクションのうちの１つを含み、各ユーザ事前定義アクションは、現在のコンピュータプログラム状態から前記異なる表示を表示する次のコンピュータプログラム状態に遷移させるために、前記インタフェースオブジェクトの前記表現をディスプレイ画面上のある方向に移動させるユーザ選択を含み、
前記異なる表示上にオーバーレイされる前記インタフェースオブジェクトの前記表現を維持する、
ように、インタフェースオブジェクトのコードを実行するステップと；
を含む、方法。
【請求項２２】
複数のインタフェースオブジェクトのコードを実行するステップであって、各インタフェースオブジェクトは、該インタフェースオブジェクトの異なる表現を表示するステップと、異なる第２コンピュータプログラム状態への遷移を生じさせるステップと、
を更に含む、請求項２１に記載の方法。
【請求項２３】
プログラムが第１コンピュータプログラム状態においてユーザインタフェース上に表示を生成しているときに、前記第１コンピュータプログラム状態から第２コンピュータプログラム状態に転送するための装置であって、当該装置は、
少なくとも１つのプロセッサと；
前記少なくとも１つのプロセッサによって実行されると、前記少なくとも１つのプロセッサに請求項２１又は２２のいずれか一項に記載の方法を実施させる、命令を格納したメモリと；
を含む、装置。
【請求項２４】
請求項１乃至９、１９、２１又は２２のいずれか一項に記載の方法を実行するためにプロセッサによる実行のためのプロセッサ実行可能コードを搬送する搬送媒体。
【請求項２５】
請求項１乃至９、１９、２１又は２２のいずれか一項に記載の方法を実行するためのプロセッサによる実行のためのプロセッサ実行可能コードを記憶する非一時的記憶媒体。
【国際調査報告】
2020525943.tif 000016
2020525943.tif 000017
2020525943.tif 000018