(57)【特許請求の範囲】
【請求項１】
グラフィカル・ユーザ・インターフェース（「ＧＵＩ」）でアプリケーションを表示するためのコンピュータベースのシステムによって、前記ＧＵＩで表示される複数のアプリケーションを選択するステップと、
前記コンピュータベースのシステムによって、前記複数のアプリケーションのそれぞれに対する相対サイズを決定するステップと、
前記コンピュータベースのシステムによって、前記複数のアプリケーションが前記ＧＵＩをほぼ埋めるような前記ＧＵＩをフォーマットするステップと、
前記コンピュータベースのシステムによって、前記複数のアプリケーションの第１のアプリケーションを介して、第１のタスクを備えるユーザからの入力を受信するステップと、
前記コンピュータベースのシステムによって、前記入力を構文解析してキーワードにするステップと、
前記複数のアプリケーションの第２のアプリケーションが、前記第１のタスクを完了するために取得され得るデータを含む場合に、前記コンピュータベースのシステムによって,前記キーワードに基づいて、前記第２のアプリケーションへリクエストを送信するステップと、
前記コンピュータベースのシステムによって、前記リクエストに応答して、アプリケーションプログラミングインタフェースを介して、前記データを前記第２のアプリケーションから前記第１のアプリケーションへ送信するステップと
を含む、コンピュータ実施の方法。
【請求項２】
前記複数のアプリケーションを前記選択するステップが、アプリケーションのデフォルトの個数を決定するステップを含む、請求項１に記載の方法。
【請求項３】
前記コンピュータベースのシステムによって、前記複数のアプリケーションに後続のアプリケーションを追加するステップをさらに含む、請求項１に記載の方法。
【請求項４】
前記コンピュータベースのシステムによって、前記ＧＵＩに、前記後続のアプリケーションを組み込むステップをさらに含み、前記ＧＵＩに前記後続のアプリケーションを前記組み込むステップが、前記複数のアプリケーションおよび前記後続のアプリケーションが、前記ＧＵＩをほぼ埋めるように、前記複数のアプリケーションをサイズ変更するステップを含む、請求項３に記載の方法。
【請求項５】
前記複数のアプリケーションのそれぞれに対する前記相対サイズが、前記複数のアプリケーションの使用の頻度、および前記複数のアプリケーションのユーザランクのうちの少なくとも１つに基づく、請求項１に記載の方法。
【請求項６】
前記コンピュータベースのシステムによって、ユーザ入力に基づいて、前記複数のアプリケーションの第１のアプリケーションをサイズ変更するステップをさらに含む、請求項１に記載の方法。
【請求項７】
前記コンピュータベースのシステムによって、また前記第１のアプリケーションを前記サイズ変更するステップに応答して、前記複数のアプリケーションが前記ＧＵＩをほぼ埋めるように、前記複数のアプリケーションの第２のアプリケーションをサイズ変更するステップをさらに含む、請求項６に記載の方法。
【請求項８】
前記コンピュータベースのシステムによって、また第１のユーザ入力に基づいて、前記複数のアプリケーションの第１のアプリケーションのサイズをロックするステップと、
前記コンピュータベースのシステムによって、また第２のユーザ入力に基づいて、前記複数のアプリケーションの第２のアプリケーションをサイズ変更するステップと、
前記コンピュータベースのシステムによって、また前記第２のユーザ入力に応答して、前記複数のアプリケーションが前記ＧＵＩをほぼ埋めるように、前記複数のアプリケーションの残りのアプリケーションをサイズ変更するステップとをさらに含み、前記第１のアプリケーションの前記サイズが不変のままである、請求項１に記載の方法。
【請求項９】
前記コンピュータベースのシステムによって、前記複数のアプリケーションの第１のアプリケーションがアクティブアプリケーションであると判断するステップをさらに含む、請求項１に記載の方法。
【請求項１０】
前記コンピュータベースのシステムによって、また前記第１のアプリケーションがアクティブアプリケーションであると前記判断するステップに応答して、前記第１のアプリケーションのサイズを増大させるステップをさらに含む、請求項９に記載の方法。
【請求項１１】
前記コンピュータベースのシステムによって、また前記第１のアプリケーションがアクティブアプリケーションであると前記判断するステップに応答して、前記複数のアプリケーションの第２のアプリケーションをアクティブにするステップをさらに含む、請求項９に記載の方法。
【請求項１２】
前記複数のアプリケーションが、アクティブアプリケーションに基づいて選択される、請求項１に記載の方法。
【請求項１３】
前記コンピュータベースのシステムによって、また前記複数のアプリケーションの第１のアプリケーションを介して、リクエストを受信するステップをさらに含む、請求項１に記載の方法。
【請求項１４】
前記コンピュータベースのシステムによって、前記複数のアプリケーションの第２のアプリケーションが、前記リクエストを完了するために前記第１のアプリケーションが所望するデータを含むと判断するステップをさらに含む、請求項１３に記載の方法。
【請求項１５】
前記コンピュータベースのシステムによって、前記第２のアプリケーションからアプリケーションプログラミングインターフェースを介して前記第１のアプリケーションに前記データを送信するステップをさらに含む、請求項１４に記載の方法。
【請求項１６】
前記コンピュータベースのシステムによって、前記複数のアプリケーションの第１のアプリケーションの第１のデータを受信するステップと、
前記コンピュータベースのシステムによって、前記複数のアプリケーションの第２のアプリケーションの第２のデータをロードするステップとをさらに含み、前記第２のデータが前記第１のデータと関係する、請求項１に記載の方法。
【請求項１７】
前記コンピュータベースのシステムによって、前記複数のアプリケーションの学生リストの学生の選択を受信するステップと、
前記コンピュータベースのシステムによって、前記複数のアプリケーションの成績アプリケーションおよび前記複数のアプリケーションの通信アプリケーションの前記学生に関係するコンテンツをロードするステップと、
前記コンピュータベースのシステムによって、また前記成績アプリケーションの情報に基づいて、前記通信アプリケーションを介して、前記学生にメッセージを送信するステップとをさらに含む、請求項１に記載の方法。
【請求項１８】
グラフィカル・ユーザ・インターフェース（「ＧＵＩ」）のアプリケーションを表示するためのプロセッサと、
前記プロセッサと通信するように構成された、有形の、持続性メモリとを備え、前記有形の、持続性メモリが、その上に記憶された命令を有し、前記命令が、前記プロセッサによる実行に応答して、前記プロセッサにオペレーションを実施させ、
前記オペレーションが、
前記プロセッサによって、前記ＧＵＩに表示される複数のアプリケーションを選択するステップと、
前記プロセッサによって、前記複数のアプリケーションのそれぞれに対する相対サイズを決定するステップと、
前記複数のアプリケーションが前記ＧＵＩをほぼ埋めるように、前記プロセッサによって、前記ＧＵＩをフォーマットするステップと、
前記コンピュータベースのシステムによって、前記複数のアプリケーションの第１のアプリケーションを介して、第１のタスクを備えるユーザからの入力を受信するステップと、
前記コンピュータベースのシステムによって、前記入力を構文解析してキーワードにするステップと、
前記複数のアプリケーションの第２のアプリケーションが、前記第１のタスクを完了するために取得され得るデータを含む場合に、前記コンピュータベースのシステムによって、前記キーワードに基づいて、前記第２のアプリケーションへリクエストを送信するステップと、
前記コンピュータベースのシステムによって、アプリケーションプログラミングインタフェースを介して、前記データを前記第２のアプリケーションから前記第１のアプリケーションへ送信するステップと
を含む、システム。
【請求項１９】
その上に記憶されたコンピュータ実行可能なプログラムを有する、コンピュータ可読記録媒体であって、前記プログラムが、グラフィカル・ユーザ・インターフェース（「ＧＵＩ」）にアプリケーションを表示するためのコンピュータベースのシステムによる実行に応答して、前記コンピュータベースのシステムにオペレーションを実行させ、
前記オペレーションが、
前記コンピュータベースのシステムによって、前記ＧＵＩに表示される複数のアプリケーションを選択するステップと、
前記コンピュータベースのシステムによって、前記複数のアプリケーションのそれぞれに対する相対サイズを決定するステップと、
前記複数のアプリケーションが前記ＧＵＩをほぼ埋めるように、前記コンピュータベースのシステムによって、前記ＧＵＩをフォーマットするステップと、
前記コンピュータベースのシステムによって、前記複数のアプリケーションの第１のアプリケーションを介して、第１のタスクを備えるユーザからの入力を受信するステップと、
前記コンピュータベースのシステムによって、前記入力を構文解析してキーワードにするステップと、
前記複数のアプリケーションの第２のアプリケーションが、前記第１のタスクを完了するために取得され得るデータを含む場合に、前記コンピュータベースのシステムによって、前記キーワードに基づいて、前記第２のアプリケーションへリクエストを送信するステップと、
前記コンピュータベースのシステムによって、前記リクエストに応答して、アプリケーションプログラミングインタフェースを介して、前記データを前記第２のアプリケーションから前記第１のアプリケーションへ送信するステップと
を含む、コンピュータ可読記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
[0001]本開示は、一般に、グラフィカル・ユーザ・インターフェースに関し、より詳細にはグラフィカル・ユーザ・インターフェース上にインタラクティブ・アプリケーションを表示するシステムおよび方法に関する。
【背景技術】
【０００２】
[0002]グラフィカル・ユーザ・インターフェース（「ＧＵＩ」）は、コンピューティング資源と対話（ｉｎｅｒａｃｔ）する視覚ディスプレイをユーザに提供する。複雑かつ高速のソフトウェアアプリケーションが増加し続けているので、ユーザが複数のプログラムと対話することを可能にするユーザフレンドリーなディスプレイを、ＧＵＩが提供することがより重要となる。既存のＧＵＩは、ユーザが複数のアプリケーションを一時に開くことを可能にする。ただし、ユーザは、所望のレイアウトを作るためにＧＵＩ上の各アプリケーションを位置づけしなければならない。ユーザは、各アプリケーションを個々にサイズ変更もしなければならない。ユーザが、そのディスプレイにさらなるアプリケーションを追加したい場合、ユーザは、全てのアプリケーションを同時に視るために再びアプリケーションをサイズ変更しなければならない。
【０００３】
[0003]加えて、既存のシステムでは、コンピュータシステムで動作中のアプリケーションが、互いに通信するための手段が限定され得る。各アプリケーションは、特定の目的を有することができ、１つのアプリケーションが、別のアプリケーションに有用となるはずのデータを含むことができるが、データを共有するアプリケーション用に、アプリケーションのプログラムへのソフトウェアの追加または変更を必要とする可能性があり、または、ユーザが、１つのアプリケーションからデータを手動で獲得し、別のアプリケーションへのデータの入力が必要となる可能性がある。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
本発明はこのような課題を解決するものである。
【課題を解決するための手段】
【０００５】
[0004]本開示は、グラフィカル・ユーザ・インターフェース（「ＧＵＩ」）上に複数のアプリケーションを表示するためのシステム、方法およびコンピュータプログラム製品を含む。種々の実施形態では、アプリケーション制御システム（「ＡＣＳ」）がＧＵＩ上に表示するいくつかのアプリケーションを決定することができる。ＡＣＳは、各アプリケーション用の相対サイズを決定することができる。ＡＣＳは、アプリケーションがＧＵＩの一部をほぼ埋めるように、各アプリケーション用の最適なロケーションを決定することができる。ＧＵＩは、最適なレイアウトでアプリケーションを表示するためにウェブクライアントにデータを送信することができる。
【０００６】
[0005]種々の実施形態では、ＡＣＳが、第１のアプリケーションからデータを受信することができる。ＡＣＳは、第２のアプリケーションが第１のアプリケーションから受信したデータに関係する追加データを有する見込みがあると判断することができる。ＡＣＳは、第２のアプリケーションに追加データをリクエストすることができる。ＡＣＳは、追加データを受信し、その追加データを第１のアプリケーションに送信することができる。ＡＣＳは、追加データを使用して第１のアプリケーションからのリクエストを完了することができる。
【０００７】
[0006]詳細な説明および特許請求の範囲を参照することによって、図面と併せて考察するとき、より完全な理解が導かれよう。図面全体を通して同様の参照番号は類似の要素を指す。
【図面の簡単な説明】
【０００８】
【図１】[0007]本開示の種々の実施形態による、ＧＵＩ上に複数のアプリケーションを表示するためのシステムのブロック図である。
【図２】[0008]種々の実施形態による、４つのアプリケーションを表示するＧＵＩの例示的スクリーンを示す図である。
【図３】[0009]種々の実施形態による、５つのアプリケーションを表示するＧＵＩの例示的スクリーンを示す図である。
【図４】[0010]種々の実施形態による、サイズ変更したアプリケーションをもつＧＵＩの例示的スクリーンを示す図である。
【図５】[0011]種々の実施形態による、最適なレイアウトを決定するためのプロセスの流れ図である。
【図６】[0012]種々の実施形態による、アプリケーション間でデータ伝送するためのプロセスの流れ図である。
【図７】[0013]種々の実施形態による、教育アプリケーションをもつＧＵＩの例示的スクリーンを示す図である。
【図８】[0014]種々の実施形態による、複数のアプリケーションを表示するためのプロセスの流れ図を示す図である。
【図９】[0015]種々の実施形態による、ディスプレイからアプリケーションを削除するためのプロセスの流れ図である。
【図１０】[0016]種々の実施形態による、ディスプレイをサイズ変更するためのプロセスの流れ図である。
【図１１】[0017]種々の実施形態による、アプリケーションを無効化するためのプロセスの流れ図である。
【図１２】[0018]種々の実施形態による、アプリケーションのサイズを増大するためのプロセスの流れ図である。
【図１３】[0019]種々の実施形態による、アプリケーションを移動させるためのプロセスの流れ図である。
【発明を実施するための形態】
【０００９】
[0020]本明細書の例示的実施形態の詳細な説明では、例証として種々の実施形態を示す、添付の図面および画像を参照する。これらの種々の実施形態について、当業者が本開示を実践することが可能となるように十分詳細に説明するが、他の実施形態が実現されてもよく、本開示の趣旨および範囲から逸脱することなく論理的および機械的な変更が加えられてもよいことが理解されるべきである。したがって、本明細書の詳細な説明は、例証の目的のためだけに提示され、限定するものではない。例えば、方法またはプロセスの説明のうちのいずれかで述べるステップは、任意の順序で実行されてよく、提示した順序に限定されない。さらに、機能またはステップのうちのいずれかが、外部委託のものであってよく、１つまたは複数の第三者によって実施されてもよい。さらに、単数という引用のいずれも、複数の実施形態を含み、１つのコンポーネントより多くのという引用のいずれも、単数の実施形態を含むことができる。
【００１０】
[0021]システム、方法およびコンピュータプログラム製品が提供される。本明細書の詳細な説明では、「種々の実施形態」、「１つの実施形態」、「一実施形態」、「例示的実施形態」等の引用は、説明する実施形態が、特定の特徴、構造、または特性を含むことができるが、全ての実施形態が、特定の特徴、構造、または特性を必ずしも含まなくてよいことを示す。さらに、こうした語句は、必ずしも同一の実施形態を指すものではない。さらに、特定の特徴、構造、または特性について、一実施形態に併せて説明するとき、明示的な説明があるか否かにかかわらず他の実施形態に関してこうした特徴、構造、または特性を達成することが、当業者の知識の範囲内であることを言う。本説明を読了後、代替実施形態で本開示をどのように実施するかについて当業者には明らかになるであろう。
【００１１】
[0022]グラフィカル・ユーザ・インターフェース（「ＧＵＩ」）上に複数のアプリケーションを表示するためのシステム、方法および製造品が開示される。種々の実施形態では、複数のアプリケーションがＧＵＩ上に表示され得る。種々の実施形態では、アプリケーションが、タイル（ｔｉｌｅ）とも呼ばれ得る。複数のアプリケーションは、複数のアプリケーションのそれぞれがＧＵＩの一部に配置され得るように、ＧＵＩ上に配置されてよく、複数のアプリケーションが、ほぼＧＵＩをカバーすることもできる。アプリケーション制御システム（「ＡＣＳ」）は、各アプリケーションの相対サイズおよびロケーションを制御することができる。ＡＣＳは、相対的に高い重要度をもつと考えられるアプリケーションがＧＵＩ上でより大きく現れ、相対的に低い重要度をもつと考えられるアプリケーションがＧＵＩ上でより小さく現れるような、各アプリケーション用のデフォルト設定を含むことができる。ＡＣＳは、ユーザによる種々のアプリケーションの使用を追跡することに応答して、デフォルト設定を調整することができる。ＡＣＳは、ＧＵＩへの追加アプリケーションの組込みまたはＧＵＩからのアプリケーションの削除に応答して、アプリケーションのサイズおよびロケーションを調整することができる。加えて、ユーザが、ユーザの優先順位で設定を調整することができる。
【００１２】
[0023]種々の実施形態では、種々のアプリケーションが、互いに通信することができる。種々のアプリケーションは、一連の呼出し（ｃａｌｌ）を介して互いに通信することができる。種々の実施形態では、第１のアプリケーションが、第２のアプリケーションからの情報がタスクを完了するために必要であり得ると判断することができる。第１のアプリケーションは、アプリケーション・プログラミング・インターフェース（「ＡＰＩ」）を介して、所望の情報のために第２のアプリケーションにリクエストを送信することができる。第２のアプリケーションは、第１のアプリケーションに所望の情報を送信することができ、第１のアプリケーションは、タスクを完了するためにその情報を使用することができる。
【００１３】
[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]図８を参照すると、種々の実施形態による複数のアプリケーションを表示するためのプロセスが示される。ユーザが、サーバに利用可能なビューをリクエストする。サーバは、ユーザ用に記憶したビューを取得する。ＡＣＳ１１０は、レイアウトエンジンにビューディテールをロードする。ＡＣＳ１１０は、ＧＵＩのタイプ（例えばモバイルまたはデスクトップ）を決定する。ＧＵＩがモバイルＧＵＩであることに応答して、ＡＣＳ１１０が、帯域幅を低減し、モバイルフレンドリとなるようにレイアウトを構成する。ＧＵＩがデスクトップであることに応答して、ＡＣＳ１１０が、大型のディスプレイおよび高解像度グラフィックに適合させるために、レイアウトの縮尺を変えることができる。各アプリケーションは、その関連するデータをロードすることができる。
【００３９】
[0050]図９を参照すると、種々の実施形態によるレイアウトからアプリケーションを削除するためのプロセスが示される。ユーザは、ＧＵＩから削除するアプリケーションをリクエストすることができる。ＡＣＳ１１０は、ＧＵＩからアプリケーションを削除することができる。ＡＣＳ１１０は、ＧＵＩをほぼ埋めるように残りのアプリケーションを再位置づけすることができる。図１０を参照すると、種々の実施形態によるレイアウトをサイズ変更するためのプロセスが示される。ユーザは、ビューをサイズ変更することができる。ＡＣＳ１１０は、向きの変更またはサイズの有意な変更があるかどうかを判断することができる。向きの変更または有意なサイズ変更がないことに応答して、ＡＣＳ１１０は、ビューをほぼ埋めるようにアプリケーションの縮尺を変えることができる。ユーザが、ビューの向きを変更したまたは有意なサイズ変更をしたという判断に応答して、ＡＣＳ１１０は、本明細書でさらに説明するように最適なレイアウトを再計算することができる。図１１を参照すると、種々の実施形態によるアプリケーションを無効化するためのプロセスが示される。第１のアプリケーションは、第２のアプリケーションを無効化するようにＡＣＳ１１０にリクエストを送信することができる。ＡＣＳ１１０は、第１のアプリケーションが第２のアプリケーションを無効化するために適切な許可を有するかどうかを判断することができる。第１のアプリケーションが、適切な許可をもたないという判断に応答して、ＡＣＳ１１０が、リクエストを拒否する通知をＧＵＩに送信することができる。第１のアプリケーションが、第２のアプリケーションを無効化する許可を有するという判断に応答して、ＡＣＳ１１０が、第２のアプリケーションを無効化することができ、ＧＵＩ上の表示を更新する。
【００４０】
[0051]図１２を参照すると、種々の実施形態によるアプリケーションのサイズを増大させるためのプロセスが示される。ユーザは、アプリケーションがより大きなモードで表示されるようにリクエストすることができる。ＡＣＳ１１０は、より大きなモードでアプリケーションを表示することができ、ＡＣＳ１１０は、ＧＵＩの残りの一部をほぼ埋めるように残りのアプリケーションを再位置づけすることができる。
【００４１】
[0052]図１３を参照すると、種々の実施形態によるアプリケーションを移動させるプロセスが示される。ユーザは、アプリケーションをドラッグするか、さもなければＧＵＩ上のアプリケーションを移動させるリクエストを指示することができる。ＡＣＳ１１０は、ユーザがアプリケーションを移動させるとき、リアルタイムで最適なレイアウトを再フォーマットすることができる。ユーザが、無効な位置にアプリケーションを位置づけするのに応答して、ＡＣＳ１１０は、以前のレイアウトにディスプレイを戻すことができる。ユーザが有効な位置でアプリケーションを位置づけするのに応答して、ＡＣＳ１１０は、アプリケーションがユーザの所望の位置になるように最適なレイアウトを再計算する。
【００４２】
[0053]本明細書で検討する任意の通信、送信および／またはチャネルは、コンテンツ（例えば、データ、情報、メタデータ等）を伝達するための任意のシステムまたは方法、および／またはコンテンツそれ自体を含むことができる。コンテンツが、任意の形態またはメディアで提示されてよく、種々の実施形態では、コンテンツが、電子的に伝達されてよく、および／または電子的に提示可能とすることができる。例えば、チャネルが、ウェブサイト、ＵＲＬ（ユニフォームリソースロケータ：ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒ）、ドキュメント（例えば、Ｍｉｃｒｏｓｏｆｔ  Ｗｏｒｄドキュメント、Ｍｉｃｒｏｓｏｆｔ  Ｅｘｃｅｌドキュメント、Ａｄｏｂｅ  ．ｐｄｆドキュメント等）、「ｅｂｏｏｋ」、「ｅｍａｇａｚｉｎｅ」、アプリケーションまたはマイクロアプリケーション（以下で説明する）、ＳＭＳまたは他のタイプのテキストメッセージ、電子メール、Ｆａｃｅｂｏｏｋ、Ｔｗｉｔｔｅｒ、ＭＭＳおよび／または他のタイプの通信技術を含むことができる。種々の実施形態では、チャネルが、データパートナーによってホスティングされ、または提供され得る。種々の実施形態では、配布チャネルが、マーチャントウェブサイト、ソーシャルメディアウェブサイト、アフィリエイトウェブサイトまたはパートナーウェブサイト、外部ベンダー、モバイルデバイス通信、ソーシャルメディアネットワークおよび／またはロケーションベースのサービスのうちの１つを含むことができる。配布チャネルは、マーチャントウェブサイト、ソーシャルメディアサイト、アフィリエイトウェブサイトまたはパートナーウェブサイト、外部ベンダー、およびモバイルデバイス通信のうちの少なくとも１つを含むことができる。ソーシャルメディアサイトの例には、Ｆａｃｅｂｏｏｋ（登録商標）、ｆｏｕｒｓｑｕａｒｅ（登録商標）、Ｔｗｉｔｔｅｒ（登録商標）、Ｍｙ  Ｓｐａｃｅ（登録商標）、ＬｉｎｋｅｄＩｎ（登録商標）などが含まれる。さらに、モバイルデバイス通信の例には、テキスティング、電子メール、およびスマートフォンのモバイルアプリケーションが含まれる。
【００４３】
[0054]「消費者プロファイル」または「消費者プロファイルデータ」は、消費者に関連する属性（例えば、好み、興味、デモグラフィック情報、個人識別情報など）を説明する、消費者についての任意の情報またはデータを含むことができる。
【００４４】
[0055]種々の実施形態では、本明細書で説明する方法が、本明細書で説明する種々の特定のマシンを使用して実施される。本明細書で説明する方法は、以下の特定のマシン、および当業者に速やかに理解される任意の適した組合せで展開される技術を使用して実施されてよい。さらに本開示から明白であるように、本明細書で説明する方法は、一定品目の種々の変形となり得る。
【００４５】
[0056]簡潔にするために、従来型データネットワーク、アプリケーション開発、およびシステムの他の機能的側面（およびシステムの個々のオペレーティングコンポーネントのコンポーネント）については、本明細書では詳細に説明しない。さらに本明細書に含まれる種々の図面に示す接続線は、種々の要素間の例示的な機能の関係および／または物理的結合を提示するものである。多くの代替または追加の機能の関係または物理的結合が、実践的システムで提示され得ることが留意されるべきである。
【００４６】
[0057]本明細書で検討する種々のシステムコンポーネントは、１つまたは複数の次のものを含むことができる。ホストサーバまたはデジタルデータを処理するためのプロセッサを含む他のコンピューティングシステム、デジタルデータを記憶するためのプロセッサに結合されたメモリ、デジタルデータを入力するためのプロセッサに結合された入力デジタイザ、プロセッサによってデジタルデータの処理を指令するための、メモリに記憶されプロセッサによってアクセス可能なアプリケーションプログラム、プロセッサによって処理されるデジタルデータから引き出される情報を表示するためのプロセッサおよびメモリに結合されたディスプレイデバイス、ならびに複数のデータベース。本明細書で使用される種々のデータベースは、クライアントデータ、マーチャントデータ、金融機関データ、および／またはシステムのオペレーションに有用なデータなどを含むことができる。当業者には理解されるように、ユーザコンピュータが、オペレーティングシステム（例えば、Ｗｉｎｄｏｗｓ  ＮＴ、Ｗｉｎｄｏｗｓ  ９５／９８／２０００、Ｗｉｎｄｏｗｓ  ＸＰ、Ｗｉｎｄｏｗｓ  Ｖｉｓｔａ、Ｗｉｎｄｏｗｓ  ７、ＯＳ２、ＵＮＩＸ、Ｌｉｎｕｘ、Ｓｏｌａｒｉｓ、ＭａｃＯＳ等）ならびに種々の従来のサポートソフトウェアおよびコンピュータに典型的に関連するドライバを含むことができる。
【００４７】
[0058]本システムまたはその任意の一部（複数可）または機能（複数可）は、ハードウェア、ソフトウェアまたはその組合せを使用して実施されてよく、１つまたは複数のコンピュータシステムまたは他の処理システムで実施されてもよい。ただし、実施形態によって実施される操作は、マッチングまたはセレクティングなどの用語で呼ばれること多く、これは、通常人間のオペレータによって実行される心的操作に関連する。人間のオペレータのこうした能力は、本明細書で説明するオペレーションのいずれでも、全く必要なく、またはほとんどの場合望ましくない。むしろ、オペレーションはマシンオペレーションとすることができる。種々の実施形態を実施するための有用なマシンには、汎用デジタルコンピュータまたは類似のデバイスが含まれる。
【００４８】
[0059]実際に、種々の実施形態では、実施形態が、本明細書で説明する機能性を遂行することができる１つまたは複数のコンピュータを対象とする。コンピュータシステムは、１つまたは複数のプロセッサを含む。プロセッサは、通信インフラストラクチャ（例えば、通信バス、クロスオーバーバー、またはネットワーク）に接続される。種々のソフトウェアの実施形態は、この例示的コンピュータシステムの点から説明される。この説明を読了後、他のコンピュータシステムおよび／またはアーキテクチャを使用して種々の実施形態をどのように実施するかについて当業者（複数可）には明らかになるであろう。コンピュータシステムは、通信インフラストラクチャから（または図に示さないフレームバッファーから）ディスプレイユニットで表示するために、グラフィック、テキスト、および他のデータを転送するディスプレイインターフェースを含むことができる。
【００４９】
[0060]コンピュータシステムは、例えば、ランダムアクセスメモリ（ＲＡＭ）などの主メモリも含み、二次メモリも含むことができる。二次メモリには、例えば、ハードディスクドライブ、および／またはフロッピーディスクドライブ、磁気テープドライブ、光ディスクドライブ等に代表されるリムーバブルストレージドライブを含むことができる。リムーバブルストレージドライブは、よく知られた方式でリムーバブルストレージユニットからの読み出し、および／またはそれへの書き込みを行う。リムーバブルストレージユニットは、フロッピーディスク、磁気テープ、光ディスク等に代表され、リムーバブルストレージドライブによって読み出され書き込まれる。理解されるように、リムーバブルストレージユニットには、コンピュータソフトウェアおよび／またはデータをそこに記憶したコンピュータ使用可能ストレージメディアが含まれる。
【００５０】
[0061]種々の実施形態では、二次メモリが、コンピュータプログラムまたは他の命令をコンピュータシステムにロードできるようにするための他の類似のデバイスを含むことができる。こうしたデバイスは、例えば、リムーバブルストレージユニットおよびインターフェースを含むことができる。この例には、（ビデオゲームデバイスに見られるような）プログラムカートリッジおよびカートリッジインターフェース、リムーバブルメモリチップ（消去可能プログラマブル・リード・オンリー・メモリ（ＥＰＲＯＭ）またはプログラマブル・リード・オンリー・メモリ（ＰＲＯＭ）など）および関連するソケット、ならびに、ソフトウェアおよびデータをリムーバブルストレージユニットからコンピュータシステムに移送できるようにする他のリムーバブルストレージユニットおよびインターフェースを含まれ得る。
【００５１】
[0062]コンピュータシステムは、通信インターフェースも含むことができる。通信インターフェースにより、ソフトウェアおよびデータがコンピュータシステムと外部デバイスとの間で移送され得る。通信インターフェースの例には、モデム、ネットワークインターフェース（Ｅｔｈｅｒｎｅｔカードなど）、通信ポート、ＰＣカード（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ（ＰＣＭＣＩＡ）スロットおよびカード）等が含まれ得る。通信インターフェースを介したソフトウェアおよびデータは、電子信号、電磁信号、光信号または通信インターフェースによって受信され得る他の信号とすることができる信号の形態となる。これらの信号は、通信経路（例えばチャネル）を介して通信インターフェースに供給される。このチャネルは、信号を伝え、ワイヤ、ケーブル、光ファイバー、電話線、携帯電話リンク、ラジオ周波数（ＲＦ）リンク、ワイヤレスおよび他の通信チャネルを使用して実施され得る。
【００５２】
[0063]「コンピュータプログラムメディア」および「コンピュータ使用可能メディア」などの用語は、一般に、リムーバブルストレージドライブ、およびハードディスクドライブに取り付けられたハードディスクなどのメディアを言うのに使用される。これらのコンピュータプログラム製品は、コンピュータシステムにソフトウェアを供給する。
【００５３】
[0064]コンピュータプログラム（コンピュータ制御論理とも呼ばれる）は、主メモリおよび／または二次メモリに記憶される。コンピュータプログラムは、通信インターフェースを介して受信もされる。こうしたコンピュータプログラムを実行すると、コンピュータシステムが本明細書で検討する特徴を実施することができる。特に、コンピュータプログラムを実行すると、プロセッサが種々の実施形態の特徴を実施することができる。したがって、こうしたコンピュータプログラムは、コンピュータシステムのコントローラを意味する。
【００５４】
[0065]種々の実施形態では、ソフトウェアが、コンピュータプログラム製品に記憶され、リムーバブルストレージドライブ、ハードディスクドライブまたは通信インターフェースを使用して、コンピュータシステムにロードされ得る。制御論理（ソフトウェア）を、プロセッサによって実行すると、プロセッサが本明細書で説明する種々の実施形態の機能を実施する。種々の実施形態では、特定用途向け集積回路（ＡＳＩＣ）などのハードウェアコンポーネント。本明細書で説明する機能を実施するためにハードウェア状態機械を実施することは当業者（複数可）には明らかであろう。
【００５５】
[0066]種々の実施形態では、サーバが、アプリケーションサーバ（例えば、ＷＥＢ  ＳＰＨＥＲＥ、ＷＥＢ  ＬＯＧＩＣ、ＪＢＯＳＳ）を含むことができる。種々の実施形態では、サーバがウェブサーバ（例えば、ＡＰＡＣＨＥ、ＩＩＳ、ＧＷＳ、ＳＵＮ  ＪＡＶＡ  ＳＹＳＴＥＭ  ＷＥＢ  ＳＥＲＶＥＲ）を含むことができる。
【００５６】
[0067]ウェブクライアントは、例えば本明細書で検討するものなどの任意のネットワークを介して通信する任意のデバイス（例えばパーソナルコンピュータ）を含む。こうしたブラウザアプリケーションが、オンライントランザクションおよび／または通信を行うためにコンピューティングユニットまたはシステム内にインストールされたインターネットブラウジングソフトウェアを含む。こうしたコンピューティングユニットまたはシステムは、コンピュータまたはコンピュータのセットの形態をとることができるが、他のタイプのコンピューティングユニットまたはシステムが使用されてよく、これには、ｉＰａｄ、ｉＭＡＣ、ＭａｃＢｏｏｋ、キオスク、端末、ポイントオブセール（ＰＯＳ）デバイス、および／または端末、テレビ、またはネットワークを通じてデータを受信することができる任意の他のデバイスなどの、ラップトップ、ノートブック、タブレット、ハンドヘルドコンピュータ、パーソナルデジタルアシスタント、セットトップボックス、ワークステーション、コンピュータサーバ、メインフレームコンピュータ、ミニコンピュータ、ＰＣサーバ、パーベイシブコンピュータ、ネットワークセットのコンピュータ、パーソナルコンピュータ、が含まれる。ウェブクライアントは、Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｅｘｐｌｏｒｅｒ、Ｍｏｚｉｌｌａ  Ｆｉｒｅｆｏｘ、Ｇｏｏｇｌｅ  Ｃｈｒｏｍｅ、Ａｐｐｌｅ  Ｓａｆａｒｉ、またはインターネットをブラウジングするのに利用可能な任意の他の多種多様なソフトウェアパッケージを動作させることができる。
【００５７】
[0068]ウェブクライアントがアプリケーションサーバと直接接触してもしなくともよいことが実践者には理解されよう。例えば、ウェブクライアントが、インターネットサーバに直接または間接的な接続を有することができる、別のサーバおよび／またはハードウェアコンポーネントを通してアプリケーションサーバのサービスにアクセスすることができる。例えば、ウェブクライアントは、ロードバランサを介してアプリケーションサーバと通信することができる。種々の実施形態では、アクセスが、ネットワークまたは市販のウェブブラウザソフトウェアパッケージによるインターネットを介する。
【００５８】
[0069]当業者には理解されるように、限定はしないが、ウェブクライアントは、オペレーティングシステム（例えば、Ｗｉｎｄｏｗｓ  ＮＴ、９５／９８／２０００／ＣＥ／Ｍｏｂｉｌｅ、ＯＳ２、ＵＮＩＸ、Ｌｉｎｕｘ、Ｓｏｌａｒｉｓ、ＭａｃＯＳ、ＰａｌｍＯＳ等）、ならびに、種々の従来のサポートソフトウェアおよび典型的にコンピュータに関連するドライバを含むことができる。限定はしないが、ウェブクライアントには、任意の適したパーソナルコンピュータ、ネットワークコンピュータ、ワークステーション、パーソナルデジタルアシスタント、携帯電話、スマートフォン、ミニコンピュータ、メインフレームなどが含まれ得る。ウェブクライアントは、ネットワークにアクセスできる家庭または職場内にあり得る。種々の実施形態では、アクセスが、ネットワークまたは市販のウェブブラウザソフトウェアパッケージによるインターネットを介する。ウェブクライアントは、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ）およびＴＬＳ（Ｔｒａｎｓｐｏｒｔ  Ｌａｙｅｒ  Ｓｅｃｕｒｉｔｙ）などのセキュリティプロトコルを実施することができる。ウェブクライアントは、ｈｔｔｐ、ｈｔｔｐｓ、ｆｔｐ、およびｓｆｔｐを含むいくつかのアプリケーション層プロトコルを実施することができる。
【００５９】
[0070]種々の実施形態では、システム１００のコンポーネント、モジュール、および／またはエンジンが、ｍｉｃｒｏ−ａｐｐｌｉｃａｔｉｏｎまたはｍｉｃｒｏ−ａｐｐとして実施され得る。ｍｉｃｒｏ−ａｐｐは、典型的に、例えば、Ｐａｌｍモバイルオペレーティングシステム、Ｗｉｎｄｏｗｓモバイルオペレーティングシステム、Ａｎｄｒｏｉｄ  Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ、Ａｐｐｌｅ  ｉＯＳ、Ｂｌａｃｋｂｅｒｒｙオペレーティングシステムなどを含むモバイルオペレーティングシステムの状況で展開される。ｍｉｃｒｏ−ａｐｐは、種々のオペレーティングシステムおよびハードウェアリソースのオペレーションを司る既定のルールのセットを介して、より大きなオペレーティングシステムおよび関連するハードウェアのリソースを活用するように構成され得る。例えば、ｍｉｃｒｏ−ａｐｐが、モバイルデバイスまたはモバイルオペレーティングシステム以外のデバイスまたはネットワークと通信することを望む場合、ｍｉｃｒｏ−ａｐｐは、モバイルオペレーティングシステムの既定のルール下で、オペレーティングシステムおよび関連するデバイスハードウェアの通信プロトコルを活用することができる。さらに、ｍｉｃｒｏ−ａｐｐが、ユーザからの入力を望む場合、ｍｉｃｒｏ−ａｐｐは、種々のハードウェアコンポーネントを監視するオペレーティングシステムに応答をリクエストし、次いで、ハードウェアから検出した入力をｍｉｃｒｏ−ａｐｐに通信するように構成され得る。
【００６０】
[0071]「クラウド」または「クラウドコンピューティング」は、最小限の管理努力またはサービスプロバイダ対話で迅速に供給されリリースされ得る、構成可能なコンピューティングリソースの共用プール（例えば、ネットワーク、サーバ、ストレージ、アプリケーションおよびサービス）への好都合なオンデマンドネットワークアクセスを可能にするためのモデルを含む。クラウドコンピューティングは、ロケーション独立コンピューティングを含むことができ、これによって、共用サーバが、オンデマンドでコンピュータおよび他のデバイスに、リソース、ソフトウェアおよびデータを提供する。クラウドコンピューティングに関するさらなる情報については、ｈｔｔｐ：／／ｃｓｒｃ．ｎｉｓｔ．ｇｏｖ／ｇｒｏｕｐｓ／ＳＮＳ／ｃｌｏｕｄ−ｃｏｍｐｕｔｉｎｇ／ｃｌｏｕｄ−ｄｅｆ−ｖｌ５．ｄｏｃ（２０１１年２月４日現在）で、ＮＩＳＴ（Ｎａｔｉｏｎａｌ  Ｉｎｓｔｉｔｕｔｅ  ｏｆ  Ｓｔａｎｄａｒｄｓ  ａｎｄ  Ｔｅｃｈｎｏｌｏｇｙ：国立標準技術研究所）のクラウドコンピューティングの定義を参照されたく、参照によりその全体が本明細書に組み込まれる。
【００６１】
[0072]本明細書で使用される、「送信する」は、一システムコンポーネントからネットワーク接続を通じて別のコンポーネントへ電子データを送ることを含むことができる。加えて、本明細書で使用される、「データ」は、コマンド、クエリ、ファイル、ストレージ用のデータ、デジタルまたは任意の他の形態の同様のものなどの包括的情報を含むことができる。
【００６２】
[0073]システムは、ウェブサービス、ユーティリティコンピューティング、パーベイシブコンピューティングおよび個別化したコンピューティング、セキュリティおよび識別ソリューション、自律コンピューティング、クラウドコンピューティング、コモディティコンピューティング、モビリティおよびワイヤレスソリューション、オープンソース、生体認証、グリッドコンピューティングおよび／またはメッシュコンピューティングに関連する使用を考慮する。
【００６３】
[0074]本明細書で検討する任意のデータベースは、相関的構造、階層的構造、グラフィック構造またはオブジェクト指向構造、および／または任意の他のデータベース構成を含むことができる。データベースを実施するために使用され得る通常のデータベース製品には、ＩＢＭ（ニューヨーク州アーモンク）によるＤＢ２、Ｏｒａｃｌｅ  Ｃｏｒｐｏｒａｔｉｏｎ（カリフォルニア州レッドウッド・ショアーズ）から入手可能な種々のデータベース製品、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ（ワシントン州レッドモンド）によるＭｉｃｒｏｓｏｆｔ  ＡｃｃｅｓｓまたはＭｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒ、ＭｙＳＱＬ  ＡＢ（スウェーデン、ウプサラ）によるＭｙＳＱＬ、または任意の他の適したデータベース製品を含む。さらに、データベースが、例えばデータテーブルまたはルックアップテーブルのような任意の適した方式で編成され得る。各記録は、単一のファイル、一連のファイル、リンクした一連のデータフィールドまたは任意の他のデータ構造とすることができる。一定のデータの関連づけが、当技術分野の周知の技術または実践される技術などの、任意の所望のデータの関連づけ技術によって達成され得る。例えば、関連づけが、手動か自動かのどちらかで達成され得る。自動的関連づけ技術には、例えば、検索を速めるためにテーブルのキーフィールドを使用する、データベース検索、データベースマージ、ＧＲＥＰ、ＡＧＲＥＰ、ＳＱＬ、ルックアップを簡単にするための周知の順序によりファイルの記録をソートする、全てのテーブルおよびファイルによるシーケンシャル検索などが含まれ得る。関連づけのステップは、例えば予め選択されたデータベースまたはデータセクターの「キーフィールド」を使用して、データベースマージ機能によって達成され得る。種々のデータベースの同調ステップは、データベース性能を最適化するように考慮される。例えば、インデックスなどのよく使用されるファイルは、Ｉｎ／Ｏｕｔ（「Ｉ／Ｏ」）ボトルネックを削減するためにセパレートファイルシステムに置かれ得る。
【００６４】
[0075]より詳細には、「キーフィールド」が、キーフィールドによって定義される高レベルクラスのオブジェクトに従って、データベースをパーティションで仕切る。例えば、一定のタイプのデータは、複数の関係するデータテーブルでキーフィールドとして指定されてよく、次いで、データテーブルは、キーフィールド中のデータのタイプに基づいてリンクされ得る。リンクしたデータテーブルのそれぞれのキーフィールドに対応したデータは、同じまたは同じタイプであることが好ましい。ただし、キーフィールド中の同一ではないが類似のデータを有するデータテーブルが、例えばＡＧＲＥＰを使用することによってもリンクされ得る。種々の実施形態によれば、標準のフォーマットなしにデータを記憶するために、任意の適したデータストレージ技術が利用され得る。データセットは、例えば、ＩＳＯ／ＩＥＣ  ７８１６−４ファイル構造を使用して個々のファイルを記憶すること、ドメインを実施してそれによって１つまたは複数のデータセットを含む１つまたは複数の基礎ファイルを公開する専用ファイルが選択されること、階層的ファイリングシステムを使用して個々のファイルに記憶されるデータセットを使用すること、データセットが（圧縮した、ＳＱＬアクセス可能な、１つまたは複数のキーを介したハッシュの、数値の、第１のタブルによるアルファベットの等を含む）単一のファイル中の記録として記憶されること、バイナリ・ラージ・オブジェクト（ＢＬＯＢ）、ＩＳＯ／ＩＥＣ  ７８１６−６データ要素を使用して符号化されたグループ化解除のデータ要素として記憶されること、ＩＳＯ／ＩＥＣ８８２４および８８２５のＩＳＯ／ＩＥＣ抽象構文規則（ＡＳＮ．１）を使用して符号化されたグループ化解除のデータ要素として記憶されること、および／または、フラクタル圧縮方法、画像圧縮方法を含むことができる他の適切な技術を含む、任意の適切な技術を使用して記憶され得る。
【００６５】
[0076]種々の実施形態では、ＢＬＯＢとして情報を記憶することによって、別個のフォーマットで幅広い種類の情報を容易に記憶することができるようになる。したがって、任意のバイナリ情報は、データセットに関連するストレージ空間に記憶され得る。上記で検討したように、バイナリ情報は、金融取引商品、または金融取引商品の外部にあるがそれに属するものに記憶され得る。ＢＬＯＢ方法は、固定ストレージ割当て法、巡回待ち行列法、またはメモリ管理に対するベストプラクティス（例えば、ページ化メモリ、最低使用頻度（ｌｅａｓｔ  ｒｅｃｅｎｔｌｙ  ｕｓｅｄ）、等）のどれかを使用して、固定メモリオフセットを介してバイナリのブロックとしてフォーマットされたグループ化解除データ要素としてデータセットを記憶することができる。ＢＬＯＢ方法を使用することによって、別個のフォーマットを有する種々のデータセットを記憶することが可能になると、複数の無関係の所有者のデータセットによる金融取引商品に関連するデータのストレージが容易になる。例えば、記憶され得る第１のデータセットが、甲によって提供されてよく、記憶され得る第２のデータセットが無関係の乙によって提供されてよく、さらに記憶され得る第３のデータセットが甲および乙に無関係の第三者によって提供されてもよい。これらの３つの例示的データセットのそれぞれは、別個のデータストレージフォーマットおよび／または技術を使用して記憶される別個の情報を含むことができる。さらに、各データセットは、他のサブセットとは別種でもあり得るデータのサブセットを含むことができる。
【００６６】
[0077]上記で述べたように、種々の実施形態では、データが通常のフォーマットに関わらずに記憶され得る。ただし、種々の実施形態では、データセット（例えばＢＬＯＢ）が、金融取引商品上のデータを操作するために提供されるとき、標準の方式で、注釈をつけられ得る。注釈は、短いヘッダー、トレーラ、または、種々のデータセットを管理する際に有用な情報を伝えるように構成された、各データセットに関係する他の適切なインジケータを含むことができる。例えば、この注釈について、本明細書では「条件ヘッダー」、「ヘッダー」、「トレーラ」または「ステータス」と呼ぶことができ、データセットのステータスの指示を含むことができ、または、データの特定の発行者または所有者に相互に関係する識別子を含むことができる。一例では、各データセットＢＬＯＢの最初の３バイトが、その特定のデータセットのステータスを指示するように構成されるか、構成可能とすることができ、このステータスは、例えば、ＬＯＡＤＥＤ、ＩＮＩＴＩＡＬＩＺＥＤ、ＲＥＡＤＹ、ＢＬＯＣＫＥＤ、ＲＥＭＯＶＡＢＬＥ、またはＤＥＬＥＴＥＤである。データの後続のバイトは、例えば、発行者のＩＤ、ユーザ、取引／会員アカウント識別子などを指示するために使用され得る。これらの条件注釈のそれぞれについて本明細書でさらに検討する。
【００６７】
[0078]データセットの注釈は、他のタイプのステータス情報ならびに種々の他の目的のために使用され得る。例えば、データセットの注釈は、アクセスレベルを確立するセキュリティ情報を含むことができる。アクセスレベルは、例えば、一定の個人、従業員の階級、会社、または他のエンティティのみが、データセットにアクセスすることを許可し、または、取引、商業者、発行者、ユーザなどに基づいて、特定のデータセットへのアクセスを許可するように構成され得る。さらに、セキュリティ情報は、データセットへのアクセス、データセットの改変、データセットの削除などの一定のアクションのみを制限／許可することができる。一例では、データセットの注釈は、データセットの所有者またはユーザのみがデータセットを削除することを許可されることを指示し、種々の識別されたユーザは、読出しのためにデータセットにアクセスすることを許可されてよく、他者は、データセットへのアクセスから完全に排除される。ただし、他のアクセス制限パラメータも、種々のエンティティが適切に種々の許可レベルを用いてデータセットにアクセスすることを許可するために使用され得る。
【００６８】
[0079]ヘッダーまたはトレーラを含むデータは、ヘッダーまたはトレーラに従って、データを、追加、削除、改変または拡張するように構成されたスタンドアローン対話デバイスによって受信され得る。そういうものとして、種々の実施形態では、ヘッダーまたはトレーラは、関連する発行者所有データと共にトランザクションデバイスに記憶されないが、代わりに、スタンドアローンデバイスで取引商品ユーザに、行われるアクションのために適切なオプションを提供することによって、適切なアクションが行われ得る。システムは、データストレージ配列を考慮することができ、データのヘッダーもしくはトレーラ、またはデータのヘッダーもしくはトレーラ履歴が、適切なデータに関係する取引商品上に記憶される。
【００６９】
[0080]セキュリティの理由で、任意のデータベース、システム、デバイス、サーバまたはシステムの他のコンポーネントが、単一のロケーションまたは複数のロケーションで、その任意の組合せから成ることができ、各データベースまたはシステムが、ファイアウォール、アクセスコード、暗号化、解読、圧縮、展開などの種々の適したセキュリティの特徴のいずれかを含むことも当業者には理解されよう。
【００７０】
[0081]暗号化は、例えば、Ｔｗｏｆｉｓｈ、ＲＳＡ、Ｅｌ  Ｇａｍａｌ、Ｓｃｈｏｒｒ  ｓｉｇｎａｔｕｒｅ、ＤＳＡ、ＰＧＰ、ＰＫＩ、ＧＰＧ（ＧｎｕＰＧ）、ならびに、対称および非対称暗号システムなどの、当技術分野で現在入手可能な、または入手可能となり得る技術のいずれかの方式で実施され得る。
【００７１】
[0082]ウェブクライアントのコンピューティングユニットに、インターネットに接続されたインターネットブラウザ、または標準ダイアルアップ、ケーブル、ＤＳＬもしくは当技術分野では周知の任意の他のインターネットプロトコルを使用したイントラネットがさらに装備され得る。ウェブクライアントで始まるトランザクションは、他のネットワークのユーザから不正アクセスを防ぐためにファイアウォールを通過することができる。さらに、追加のファイアウォールが、セキュリティをさらに高めるためにＡＣＳの多様なコンポーネント間に展開され得る。
【００７２】
[0083]ファイアウォールは、他のネットワークのユーザからＡＣＳコンポーネントおよび／または企業のコンピューティングリソースを保護するように適切に構成された任意のハードウェアおよび／またはソフトウェアを含むことができる。さらに、ファイアウォールは、ウェブサーバを通して接続するウェブクライアントのためにファイアウォールの陰で種々のシステムおよびコンポーネントへのアクセスを限定または制限するように構成され得る。ファイアウォールは、中でも、Ｓｔａｔｅｆｕｌ  Ｉｎｓｐｅｃｔｉｏｎ、プロキシベース、アクセス制御リスト、およびパケットフィルタリングを含む多様な構成で駐在することができる。ファイアウォールは、ウェブサーバもしくは任意の他のＡＣＳコンポーネント内に統合されてよく、またはセパレートエンティティとしてさらに駐在してもよい。ファイアウォールは、ネットワークアドレス変換（「ＮＡＴ」）および／またはネットワークアドレスポート変換（「ＮＡＰＴ」）を実施することができる。ファイアウォールは、仮想プライベートネットワークで使用されるものなど、安全な通信を容易にする種々のトンネリングプロトコルを収容することができる。ファイアウォールは、インターネットなどの公衆ネットワークとの通信を容易にするために非武装地帯（「ＤＭＺ」）を実施することができる。ファイアウォールは、インターネットサーバ、任意の他のアプリケーションサーバコンポーネント内のソフトウェアとして統合されてよく、または別のコンピューティングデバイス内に駐在してもよく、スタンドアローンハードウェアコンポーネントの形態をとってもよい。本明細書で検討するコンピュータは、適したウェブサイト、またはユーザによってアクセス可能な他のインターネットベースのグラフィカル・ユーザ・インターフェースを提供することができる。種々の実施形態では、Ｍｉｃｒｏｓｏｆｔ  Ｉｎｔｅｒｎｅｔ  Ｉｎｆｏｒｍａｔｉｏｎ  Ｓｅｒｖｅｒ（ＩＩＳ）、Ｍｉｃｒｏｓｏｆｔ  Ｔｒａｎｓａｃｔｉｏｎ  Ｓｅｒｖｅｒ（ＭＴＳ）およびＭｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒが、Ｍｉｃｒｏｓｏｆｔのオペレーティングシステム、Ｍｉｃｒｏｓｏｆｔ  ＮＴウェブサーバソフトウェア、Ｍｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒデータベースシステム、およびＭｉｃｒｏｓｏｆｔ  Ｃｏｍｍｅｒｃｅ  Ｓｅｒｖｅｒと併せて使用される。加えて、ＡｃｃｅｓｓまたはＭｉｃｒｏｓｏｆｔ  ＳＱＬ  Ｓｅｒｖｅｒ、Ｏｒａｃｌｅ、Ｓｙｂａｓｅ、Ｉｎｆｏｒｍｉｘ  ＭｙＳＱＬ、Ｉｎｔｅｒｂａｓｅなどのコンポーネントは、Ａｃｔｉｖｅ  Ｄａｔａ  Ｏｂｊｅｃｔ（ＡＤＯ）対応データベース管理システムを提供するために使用され得る。種々の実施形態では、Ａｐａｃｈｅウェブサーバが、Ｌｉｎｕｘオペレーティングシステム、ＭｙＳＱＬデータベース、およびＰｅｒｌ、ＰＨＰ、および／またはＰｙｔｈｏｎプログラミング言語と併せて使用される。
【００７３】
[0084]本明細書で検討する任意の通信、入力、ストレージ、データベースまたはディスプレイは、ウェブページを有するウェブサイトにより容易になり得る。本明細書で使用される用語「ウェブページ」は、ユーザと対話するために使用され得るドキュメントおよびアプリケーションのタイプを限定するものではない。例えば、典型的なウェブサイトには、標準ＨＴＭＬドキュメントに加えて、種々の形態、Ｊａｖａアプレット、ＪａｖａＳｃｒｉｐｔ（登録商標）、アクティブサーバページ（ＡＳＰ）、コモン・ゲートウェイ・インターフェース・スクリプト（ＣＧＩ）、拡張マークアップ言語（ＸＭＬ）、ダイナミックＨＴＭＬ、カスケードスタイルシート（ＣＳＳ）、ＡＪＡＸ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｊａｖａｓｃｒｉｐｔ  Ａｎｄ  ＸＭＬ）、ヘルパーアプリケーション、プラグインなどが含まれ得る。サーバは、ウェブサーバからリクエストを受信するウェブサービスを含むことができ、このリクエストは、ＵＲＬ（ｈｔｔｐ：／／ｙａｈｏｏ．ｃｏｍ／ｓｔｏｃｋｑｕｏｔｅｓ／ｇｅ）およびＩＰアドレス（１２３．５６．７８９．２３４）を含む。ウェブサーバが、適切なウェブページを取得し、ウェブページ用のデータおよびアプリケーションをＩＰアドレスに送る。ウェブサービスは、インターネットなどの通信手段を通じて他のアプリケーションと対話することが可能なアプリケーションである。ウェブサービスは、典型的に、ＸＭＬ、ＳＯＡＰ、ＡＪＡＸ、ＷＳＤＬおよびＵＤＤＩなどの規格またはプロトコルに基づく。ウェブサービスの方法は、当技術分野ではよく知られており、多くの標準的なテキストでカバーされている。例えば、ＡＬＥＸ  ＮＧＨＩＥＭによるＩＴ  ＷＥＢ  ＳＥＲＶＩＣＥＳ：Ａ  ＲＯＡＤＭＡＰ  ＦＯＲ  ＴＨＥ  ＥＮＴＥＲＰＲＩＳＥ（これがウェブサービス：エンタープライズのためのロードマップ）（２００３年）を参照されたく、参照により本明細書に組み込まれる。
【００７４】
[0085]ミドルウェアが、異種のコンピューティングシステム間の通信および／またはプロセストランザクションを容易にするように適切に構成された、任意のハードウェアおよび／またはソフトウェアを含むことができる。ミドルウェアコンポーネントは、市販され、当技術分野で周知である。ミドルウェアが、市販のハードウェアおよび／またはソフトウェア、カスタムハードウェアおよび／またはソフトウェアコンポーネント、またはその組合せにより実施され得る。ミドルウェアは、多様な構成に駐在することができ、スタンドアローンシステムとして存在することができ、インターネットサーバに駐在するソフトウェアコンポーネントとすることができる。ミドルウェアは、本明細書で開示される目的のいずれかのために、アプリケーションサーバの種々のコンポーネントと内部または外部の任意の個数のシステムとの間のトランザクションを処理するように構成され得る。ＩＢＭ，Ｉｎｃ．（ニューヨーク州アーモンク）によるＷｅｂＳｐｈｅｒｅ  ＭＱＴＭ（元のＭＱＳｅｒｉｅｓ）は、市販のミドルウェア製品の一例である。Ｅｎｔｅｒｐｒｉｓｅ  Ｓｅｒｖｉｃｅ  Ｂｕｓ（「ＥＳＢ」）アプリケーションは、ミドルウェアの別の例である。
【００７５】
[0086]ブラウザベースのドキュメント内にデータを表示するためのいくつかの方法があることも実践者には理解されよう。データは、標準テキストとして、または、固定リスト、スクロール可能リスト、ドロップダウンリスト、編集可能テキストフィールド、固定テキストフィールド、ポップアップウィンドウ等の中に示され得る。同様に、例えば、キーボード、メニュー項目の選択、チェックボックス、オプションボックスなどを使用した自由なテキスト記入などのウェブページ中のデータの改変に利用可能ないくつかの方法がある。
【００７６】
[0087]システムおよび方法が、機能ブロックコンポーネント、スクリーンショット、オプションの選択および種々の処理ステップの点から本明細書で説明され得る。こうした機能ブロックが、特定の機能を実施するように構成された任意の個数のハードウェアおよび／またはソフトウェアコンポーネントによって実現され得ることが理解されるべきである。例えば、システムは、種々の集積回路コンポーネント、例えば、メモリ素子、処理素子、論理素子、ルックアップテーブルなどを使用することができ、これらは、１つまたは複数のマイクロプロセッサまたは他の制御デバイスの制御下で多様な機能を遂行することができる。同様に、システムのソフトウェア要素は、システムのソフトウェア要素は、Ｃ、Ｃ＋＋、Ｃ♯、Ｊａｖａ、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＶＢＳｃｒｉｐｔ、Ｍａｃｒｏｍｅｄｉａ  Ｃｏｌｄ  Ｆｕｓｉｏｎ、ＣＯＢＯＬ、Ｍｉｃｒｏｓｏｆｔ  Ａｃｔｉｖｅ  Ｓｅｒｖｅｒ  Ｐａｇｅｓ、アセンブリ、ＰＥＲＬ、ＰＨＰ、オーク、Ｐｙｔｈｏｎ、Ｖｉｓｕａｌ  Ｂａｓｉｃ、ＳＱＬ  Ｓｔｏｒｅｄ  Ｐｒｏｃｅｄｕｒｅｓ、ＰＬ／ＳＱＬ、任意のＵＮＩＸシェルスクリプト、および、データ構造、オブジェクト、プロセス、ルーチンまたは他のプログラミング要素のいずれかの組合せを用いて実施される種々のアルゴリズムをもつ拡張マークアップ言語（ＸＭＬ）などの、任意のプログラミングまたはスクリプト言語を用いて実施され得る。さらに、システムは、データ伝送、シグナリング、データ処理、ネットワーク制御などのための、任意の個数の従来技術を使用することができる。さらに、システムは、ＪａｖａＳｃｒｉｐｔ（登録商標）、ＶＢＳｃｒｉｐｔなどのクライアント側のスクリプト言語を用いて、セキュリティ問題を検出または防止するために使用され得る。暗号法、およびネットワークセキュリティの基本的導入のために、次の参考文献（１）Ｊｏｈｎ  Ｗｉｌｅｙ＆Ｓｏｎｓ発行のＢｒｕｃｅ  Ｓｃｈｎｅｉｅｒによる「Ａｐｐｌｉｅｄ  Ｃｒｙｐｔｏｇｒａｐｈｙ：Ｐｒｏｔｏｃｏｌｓ，Ａｌｇｏｒｉｔｈｍｓ，Ａｎｄ  Ｓｏｕｒｃｅ  Ｃｏｄｅ  Ｉｎ  Ｃ（暗号技術大全：プロトコル、アルゴリズムおよびＣによるソースコード）」（第２版１９９５年）、（２）Ｏ’Ｒｅｉｌｌｙ＆Ａｓｓｏｃｉａｔｅｓ発行のＪｏｎａｔｈａｎ  Ｋｎｕｄｓｏｎによる「Ｊａｖａ  Ｃｒｙｐｔｏｇｒａｐｈｙ（Ｊａｖａ暗号法）」（１９９８年）、（３）Ｐｒｅｎｔｉｃｅ  Ｈａｌｌ発行のＷｉｌｌｉａｍ  Ｓｔａｌｌｉｎｇｓによる「Ｃｒｙｐｔｏｇｒａｐｈｙ＆Ｎｅｔｗｏｒｋ  Ｓｅｃｕｒｉｔｙ：Ｐｒｉｎｃｉｐｌｅｓ＆Ｐｒａｃｔｉｃｅ（暗号法およびネットワークセキュリティ：原理および実践）」、のうちのいずれかを参照されたく、参照によりこれらの全てが本明細書に組み込まれる。
【００７７】
[0088]当業者には理解されるように、システムは、既存のシステム、アドオン製品、アップグレードしたソフトウェアを実行する処理装置、スタンドアローンシステム、分散システム、方法、データ処理システム、データ処理用のデバイス、および／またはコンピュータプログラム製品のカスタム化として実施され得る。したがって、システムまたはモジュールのいずれか一部が、コードを実行する処理装置、インターネットベースの実施形態、全体がハードウェアの実施形態、またはインターネット、ソフトウェアおよびハードウェアの態様を組み合わせる実施形態、の形態をとることができる。さらに、システムは、ストレージメディアで具現化されるコピュータ可読プログラムコード手段を有するコンピュータ可読ストレージメディア上のコンピュータプログラム製品の形態をとることができる。ハードディスク、ＣＤ−ＲＯＭ、光ストレージデバイス、磁気ストレージデバイスなどを含む、任意の適したコンピュータ可読ストレージメディアが利用され得る。
【００７８】
[0089]システムおよび方法について、種々の実施形態による方法、装置（例えばシステム）、およびコンピュータプログラム製品の、スクリーンショット、ブロック図、および流れ図を参照して本明細書で説明している。ブロック図および流れ図の各機能ブロック、ならびにブロック図および流れ図の機能ブロックの組合せは、それぞれコンピュータプログラム命令によって実施され得る。
【００７９】
[0090]これらのコンピュータプログラム命令は、コンピュータまたは他のプログラム可能データ処理装置で実行する命令が流れ図の一ブロックまたは複数ブロックで指定された機能を具体化する手段を生成するようなマシンを実現するために、汎用コンピュータ、特殊目的コンピュータ、または他のプログラム可能データ処理装置にロードされることが可能である。これらのコンピュータプログラム命令はコンピュータ可読メモリに記憶されてもよく、そしてそれは、コンピュータ可読メモリに記憶された命令が流れ図の一ブロックまたは複数ブロックで指定された機能を具体化する命令手段を含む製造品を実現するような、特定の方式で機能するように、コンピュータまたは他のプログラム可能データ処理装置に指令することができる。コンピュータプログラム命令は、コンピュータまたは他のプログラム可能データ処理装置にもロードされて、コンピュータまたは他のプログラム可能装置上で実行される一連のオペレーションステップがコンピュータ実施プロセスを実現し、その結果、コンピュータまたは他のプログラム可能装置で実行する命令が、流れ図の一ブロックまたは複数ブロックで指定された機能を実施するためのステップを提供する。
【００８０】
[0091]したがって、ブロック図および流れ図の機能ブロックは、指定された機能を実施するための手段の組合せ、指定された機能を実施するためのステップの組合せ、および指定された機能を実施するためのプログラム命令手段をサポートする。ブロック図および流れ図の各機能ブロック、ならびに、ブロック図および流れ図の機能ブロックの組合せが、指定された機能もしくはステップを実施する特殊目的ハードウェアベースのコンピュータシステム、または特殊目的ハードウェアおよびコンピュータ命令の適した組合せのどちらによってでも実施され得ることも理解されよう。さらに、プロセスの流れの図およびその説明は、ユーザウィンドウ、ウェブページ、ウェブサイト、ウェブフォーム、プロンプト等を参照することができる。本明細書で説明する図示のステップが、ウィンドウ、ウェブページ、ウェブフォーム、ポップアップウィンドウ、プロンプトなどの使用を含む任意の個数の構成を含むことが実践者には理解されよう。図示および説明した複数のステップは、組み合わされて単一のウェブページおよび／またはウィンドウになり得るが、簡単にするために拡大されていることをさらに理解すべきである。他の事例では、単一のプロセスステップとして図示および説明したステップが、分割されて複数のウェブページおよび／またはウィンドウになり得るが簡単にするために組み合わされている。
【００８１】
[0092]用語「持続的な」は、一時的に伝播する信号それ自体のみを特許請求の範囲から外すように理解されるべきであり、一時的に伝播する信号それ自体のみではない全ての標準のコンピュータ可読メディアに対する権利を放棄するものではない。別に言うと、用語「持続的なコンピュータ可読メディア」および「持続的なコンピュータ可読ストレージメディア」の意味は、米国特許法第１０１条のもとで特許可能な対象の範囲外となる、Ｉｎ  Ｒｅ  Ｎｕｉｊｔｅｎ判決で見られる、一時的なコンピュータ可読メディアのこれらのタイプのみを排除すると解釈されるべきである。
【００８２】
[0093]利点、他の有利点、および問題に対する解決策について、特定の実施形態に関して本明細書で説明してきた。ただし、利点、有利点、問題に対する解決策、および任意の利点、有利点または解決策を、もたらすまたはより明白にすることができる任意の要素が、本開示の、決定的に重要な、必須の、または本質的な特徴もしくは要素として解釈されるものではない。単数形の引用は、そのように明示しない限りは「１つおよび１つだけ」を意味するものではなく、反対に「１つまたは複数」を意味する。さらに、「Ａ、ＢおよびＣのうちの少なくとも１つ」または「Ａ、ＢもしくはＣのうちの少なくとも１つ」に類似した語句が特許請求の範囲または特許明細書で使用される場合、その語句は、Ａ単独で、一実施形態で提示されてよく、Ｂ単独で、一実施形態で提示されてよく、Ｃ単独で、一実施形態で提示されてよく、または要素Ａ、ＢもしくはＣの任意の組合せ、例えばＡとＢ、ＡとＣ、ＢとＣ、またはＡとＢとＣが、一実施形態で提示されてよいことを意味すると解釈されるものである。本開示は、一方法を含むが、その方法が、磁気もしくは光メモリ、または磁気もしくは光ディスクなどの有形コンピュータ可読キャリア上のコンピュータプログラム命令として具現化され得ることが考えられる。当業者に周知の上記説明の例示的実施形態の要素に対する全ての構造的、化学的、および機能的均等物は、参照により本明細書に明確に組み込まれ、本特許請求の範囲に包含されるものである。さらに、デバイスまたは方法が本特許請求の範囲に包含されるために、デバイスまたは方法が本開示によって解決しようとする一つ一つの問題に対処することは必須ではない。さらに、本開示の要素、コンポーネントまたは方法のステップが特許請求の範囲で明確に述べられるかどうかにかかわらず、その要素、コンポーネントまたは方法のステップが、公衆専用のものでは全くない。本明細書の特許請求の範囲の要素は、その要素が「のための手段」という語句を使用して明確に述べられない限り、米国特許法第１１２条第６段落の規定の下では解釈されるものでは全くない。本明細書で使用されるように、用語「備える、含む」またはその他の変化形のいずれかは、非排他的な包含を含むものであり、その結果、要素のリストを含むプロセス、方法、製作品、または装置が、これらの要素のみを含むのではなく、こうしたプロセス、方法、製作品、または装置に明確に挙げられないもしくは固有のものでない他の要素を含むことができる。
【図１】
0006310477.tif 000002
【図２】
0006310477.tif 000003
【図３】
0006310477.tif 000004
【図４】
0006310477.tif 000005
【図５】
0006310477.tif 000006
【図６】
0006310477.tif 000007
【図７】
0006310477.tif 000008
【図８】
0006310477.tif 000009
【図９】
0006310477.tif 000010
【図１０】
0006310477.tif 000011
【図１１】
0006310477.tif 000012
【図１２】
0006310477.tif 000013
【図１３】
0006310477.tif 000014