(57)【要約】【課題】通信セッションの状態を自動的に保存し、提示するためのシステムを提供する。【解決手段】主体ユーザによって操作されるクライアントデバイスとの通信セッションを確立する。ユーザ入力を受信したことに応答して、通信セッションの状態を表すセッションデータを格納する。クライアントデバイス上に、通信セッションに関連付けられたコンテンツと共に、ユーザインタフェース要素を生成する。これは、ユーザインタフェース要素の操作に応答して、通信セッションの上記状態を呼び戻すように動作可能である。ユーザインタフェース要素を、通信セッションの追加の状態を表す追加のセッションデータを示す１つ以上の追加のユーザインタフェース要素と共にグループ化する。ユーザインタフェース要素を１つ以上の追加のユーザインタフェース要素と共にグループ化したものに、ラベルを割り当てることと、を含む動作をマシンに実行させる。【選択図】  図６
2020173834.tif 000002
【特許請求の範囲】
【請求項１】
システムであって、
マシンの１つまたは複数のプロセッサと、
命令を格納する非一時的マシン可読媒体とを備え、
前記命令は、前記１つまたは複数のプロセッサによって実行された場合に、
コンテンツの提示に関連して提示されるインタフェース要素を含むユーザインタフェースをクライアントデバイス上に表示させること、前記インタフェース要素は、
通信セッションの第１の状態に対応する画像を含む第１の選択可能な要素であって、前記第１の選択可能な要素は、前記第１の選択可能な要素の選択に応答して前記通信セッションの前記第１の状態を呼び戻すように動作可能である、前記第１の選択可能な要素と、
前記インタフェース要素を隠すための第２の選択可能な要素とを含み、
前記通信セッションの第２の状態を保存するための要求を示す第１のユーザ入力の受信に応答して、前記通信セッションの前記第２の状態に対応する第３の選択可能な要素を含むように前記インタフェース要素の表示を更新すること、
前記第２の選択可能な要素との相互作用を示す第２のユーザ入力の受信に応答して、前記コンテンツの提示を維持しつつ、前記ユーザインタフェースにおける前記インタフェース要素の表示を隠すことを含む動作を前記マシンに実行させる、システム。
【請求項２】
前記インタフェース要素は、前記第１および第２の選択可能な要素のグループに割り当てられたラベルをさらに含む、請求項１に記載のシステム。
【請求項３】
前記グループに割り当てられたラベルは、ユーザ指定のラベルに基づく、請求項２に記載のシステム。
【請求項４】
前記通信セッションの前記第１の状態は、第１のアイテムリストに対応し、
前記通信セッションの前記第２の状態は、第２のアイテムリストに対応する、請求項１に記載のシステム。
【請求項５】
前記動作は、
前記クライアントデバイス上に、前記第１のアイテムリストに対応する第１の組の属性を表示させること、
前記クライアントデバイス上に、前記第２のアイテムリストに対応する第２の組の属性を表示させることをさらに含む、請求項４に記載のシステム。
【請求項６】
前記動作は、前記第１の選択可能な要素の選択に応答して前記通信セッションの前記第１の状態を前記クライアントデバイスに提示させるための命令を提供することをさらに含む、請求項１に記載のシステム。
【請求項７】
前記クライアントデバイスは第１のクライアントデバイスであり、
前記動作は、前記第１の選択可能な要素の選択に応答して前記通信セッションの前記第１の状態を第２のクライアントデバイスに提示させることをさらに含む、請求項１に記載のシステム。
【請求項８】
前記動作は、前記第１の選択可能な要素を含まないように前記インタフェース要素を更新することをさらに含む、請求項１に記載のシステム。
【請求項９】
方法であって、
コンテンツの提示に関連して提示されるインタフェース要素を含むユーザインタフェースをクライアントデバイス上に表示させるステップと、前記インタフェース要素は、
通信セッションの第１の状態に対応する画像を含む第１の選択可能な要素であって、前記第１の選択可能な要素は、前記第１の選択可能な要素の選択に応答して前記通信セッションの前記第１の状態を呼び戻すように動作可能である、前記第１の選択可能な要素と、
前記インタフェース要素を隠すための第２の選択可能な要素とを含み、
前記通信セッションの第２の状態を保存するための要求を示す第１のユーザ入力の受信に応答して、前記通信セッションの第２の状態に対応する第３の選択可能な要素を含むように前記インタフェース要素の表示を更新するステップと、
前記第２の選択可能な要素との相互作用を示す第２のユーザ入力の受信に応答して、前記コンテンツの提示を維持しつつ、前記ユーザインタフェースにおける前記インタフェース要素の表示を隠すステップとを含む、方法。
【請求項１０】
前記インタフェース要素は、前記第１および第２の選択可能な要素のグループに割り当てられたラベルをさらに含む、請求項９に記載の方法。
【請求項１１】
前記グループに割り当てられたラベルは、ユーザ指定のラベルに基づく、請求項１０に記載の方法。
【請求項１２】
前記通信セッションの前記第１の状態は、第１のアイテムリストに対応し、
前記通信セッションの前記第２の状態は、第２のアイテムリストに対応する、請求項１０に記載の方法。
【請求項１３】
前記クライアントデバイス上に、前記第１のアイテムリストに対応する第１の組の属性を表示させるステップと、
前記クライアントデバイス上に、前記第２のアイテムリストに対応する第２の組の属性を表示させるステップとをさらに含む、請求項１２に記載の方法。
【請求項１４】
前記第１の選択可能な要素の選択に応答して前記通信セッションの前記第１の状態を前記クライアントデバイスに提示させるステップをさらに含む、請求項９に記載の方法。
【請求項１５】
前記クライアントデバイスは第１のクライアントデバイスであり、
前記第１の選択可能な要素の選択に応答して前記通信セッションの前記第１の状態を第２のクライアントデバイスに提示させるステップをさらに含む、請求項９に記載の方法。
【請求項１６】
前記第１の選択可能な要素を含まないように前記インタフェース要素を更新するステップをさらに含む、請求項９に記載の方法。
【請求項１７】
命令を具体化する非一時的マシン可読記憶媒体であって、前記命令は、マシンによって実行された場合に、
コンテンツの提示に関連して提示されるインタフェース要素を含むユーザインタフェースをクライアントデバイス上に表示させること、前記インタフェース要素は、
通信セッションの第１の状態に対応する画像を含む第１の選択可能な要素であって、前記第１の選択可能な要素は、前記第１の選択可能な要素の選択に応答して前記通信セッションの前記第１の状態を呼び戻すように動作可能である、前記第１の選択可能な要素と、
前記インタフェース要素を隠すための第２の選択可能な要素とを含み、
前記通信セッションの第２の状態を保存する要求を示す第１のユーザ入力の受信に応答して、前記通信セッションの前記第２の状態に対応する第３の選択可能な要素を含むように前記インタフェース要素の表示を更新すること、
前記第２の選択可能な要素との相互作用を示す第２のユーザ入力の受信に応答して、前記コンテンツの提示を維持しつつ、前記ユーザインタフェースにおける前記インタフェース要素の表示を隠すことを含む動作を前記マシンに実行させる、非一時的マシン可読記憶媒体。
【請求項１８】
前記インタフェース要素は、前記第１および第２の選択可能な要素のグループに割り当てられたラベルを含み、前記グループに割り当てられたラベルは、ユーザ指定のラベルに基づく、請求項１７に記載の非一時的マシン可読記憶媒体。
【請求項１９】
前記通信セッションの前記第１の状態は、第１のアイテムリストに対応し、
前記通信セッションの前記第２の状態は、第２のアイテムリストに対応する、請求項１７に記載の非一時的マシン可読記憶媒体。
【請求項２０】
前記動作が、
前記クライアントデバイス上に、前記第１のアイテムリストに対応する第１の組の属性を表示させること、
前記クライアントデバイス上に、前記第２のアイテムリストに対応する第２の組の属性を表示させることを含む、請求項１９に記載の非一時的マシン可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
＜関連出願への相互参照＞
この国際出願は、２０１４年２月１８日出願の、米国特許出願第１４／１８３，１０６号に対し、優先権の利益を主張し、その内容は、その全体が、ここに参照により組み込まれる。
＜技術分野＞
この出願は、データ処理に関する。特には、例示的実施形態は、データ交換セッションの状態を自動的に保存するシステム及び方法に関しうる。
【背景技術】
【０００２】
オンラインコンテンツを閲覧しているユーザは、彼等の閲覧経験の以前の状態（例えば、以前訪れたウェブページ）に戻りたいと思うかもしれない。インターネットブラウザによって提供される現在のブックマーク技術は、ユーザが、あるウェブページを「ブックマークする」（例えば、保存する）ことを可能とする。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
しかし、そのようなブックマークサービスは、呼び戻すことが出来るデータの種類が限定され（例えば、非コンテキスト情報が保存される）、しばしば、時間的に制約のあり得る要素を有するあるページ（例えば、チェックアウトページ、フォームへの記入、など）の状態を保存することが不可能である。したがって、彼等の閲覧セッションの所望の状態に戻るためには、ユーザは、所望の状態に導くステップのそれぞれ（例えば、実行されたキーワード検索、クリックされた項目、閲覧されたページなど）を再生成する非効率なプロセスを経なくてはならない。更に、ユーザは、ブックマークするときに、そのようなページを再び訪れる必要性を意識している必要がある。更に、ある場合には、ユーザは、特定のセッションの間、彼等の閲覧プロセスにおけるあるステップを複数回再び訪れる必要がありえるが、一度セッションが停止されたら二度と戻らない可能性がある。このような例においては、ユーザは、そのページを再び訪れる必要があるにもかかわらず、ブックマークを生成する労力を払わない可能性が高い。
【課題を解決するための手段】
【０００４】
上記の課題を解決するために、本発明のシステムは、マシンの１つ以上のプロセッサと、命令を格納する非一時的マシン読取可能媒体と、を備え、前記命令は、前記１つ以上のプロセッサによって実行された場合に、ａ）主体ユーザによって操作されるクライアントデバイスとの通信セッションを確立することと、ｂ）ユーザ入力を受信したことに応答して、前記通信セッションの状態を表すセッションデータを格納することと、ｃ）前記クライアントデバイス上に、前記通信セッションに関連付けられたコンテンツと共に、ユーザインタフェース要素を提示させることであって、前記ユーザインタフェース要素は、前記ユーザインタフェース要素の操作に応答して、前記通信セッションの前記状態を呼び戻すように動作可能である、ことと、ｄ）前記ユーザインタフェース要素を、前記通信セッションの追加の状態を表す追加のセッションデータを示す１つ以上の追加のユーザインタフェース要素と共にグループ化することと、ｅ）前記ユーザインタフェース要素を前記１つ以上の追加のユーザインタフェース要素と共に前記グループ化したものに、ラベルを割り当てることと、を含む動作を前記マシンに実行させることを特徴とする。
【図面の簡単な説明】
【０００５】
添付の図面のうちの様々な図面は、単に、本発明の例示的実施形態を図示するものであり、その範囲を限定するものとは考えることはできない。
【図１】例示的実施形態による、ネットワークを介して、データを交換するように構成されたクライアント・サーバアーキテクチャを有するネットワークシステムを図示するネットワーク図である。
【図２】図１のネットワークシステムの一部として提供される、マーケットプレイスアプリケーションを形成する複数のモジュールの例示的実施形態を図示するブロック図である。
【図３】図１のネットワークシステムの一部として提供される、スクラッチパッドアプリケーションを形成する複数のモジュールの例示的実施形態を図示するブロック図である。
【図４Ａ】幾つかの実施形態と整合する、第１のクライアントデバイスとアプリケーションサーバとの間の通信セッションを図示する相互作用図である。
【図４Ｂ】幾つかの実施形態と整合性のある、第２のクライアントデバイスとアプリケーションサーバとの間の通信セッションを図示する相互作用図である。
【図５Ａ】幾つかの実施形態と整合する、例示的な通信セッションを図示するインタフェース図である。
【図５Ｂ】幾つかの実施形態と整合する、例示的な通信セッションの更なる交換を図示するインタフェース図である。
【図５Ｃ】幾つかの実施形態に整合する、セッションデータを表すユーザインタフェース要素のグループ化された集合を表示するスクラッチパッドインタフェースを図示するインタフェース図である。
【図５Ｄ】幾つかの実施形態と整合する、例示的な通信セッションの更なる交換を図示するインタフェース図である。
【図５Ｅ】幾つかの実施形態に整合する、セッションデータを表すユーザインタフェース要素の複数のグループ化された集合を表示するスクラッチパッドインタフェースを図示するインタフェース図である。
【図６】幾つかの実施形態と整合する、通信セッションの状態を格納し、提示する例示的方法を図示するフローチャートである。
【図７】幾つかの実施形態と整合する、通信セッションの追加の状態を格納するための例示的方法を図示するフローチャートである。
【図８】幾つかの実施形態と整合する、通信セッションの状態を表す、セッションデータを消去するための例示的方法を図示するフローチャートである。
【図９】幾つかの実施形態と整合する、通信セッションの状態を自動的に格納するための例示的方法を図示するフローチャートである。
【図１０】幾つかの実施形態と整合する、通信セッションの状態を表すユーザインタフェース要素をグループ化するための例示的方法を図示するフローチャートである。
【図１１】ここに議論する方法のうちの任意の１以上の方法をマシンに実行させるための命令の集合が実行されうるコンピュータシステムの例示的形態におけるマシンの概略的表現である。
【発明を実施するための形態】
【０００６】
本発明の主題を実施するための特定の例示的実施形態に対して、ここで詳細に参照が行われるだろう。これらの特定の実施形態の例は、添付の図面に図示されている。これらは、請求項の範囲を、記述された実施形態に限定することは意図されてないことが理解されるだろう。そうではなく、これらは、本開示の範囲内に含まれるだろう、代替、変形、及び、均等物を包含することが意図されている。以下の記述では、本主題の完全な理解を提供するために、具体的な詳細事項が記述される。実施形態は、これらの具体的な詳細事項のうちの幾つかまたは全てがなくても、実施することが出来る。本開示によると、コンポーネント、プロセスステップ、及び、データ構造は、様々な種類のオペレーティングシステム、プログラミング言語、コンピューティングプラットフォーム、コンピュータプログラム、及び／または、汎用マシンを用いて、実装されることが出来る。
【０００７】
本開示の態様は、通信セッションの状態を保存し、提示するためのシステム及び方法を記述する。通信セッションは、クライアントデバイスとコンテンツパブリッシャのアプリケーションサーバとの間に確立されることができ、クライアントデバイス上にコンテンツを提示することを含むことが出来る。例えば、通信セッションは、オンラインマーケットプレイスにおいて販売用に提供されるアイテムを検索し、閲覧し、比較し、及び、購入することを含むことが出来る。通信セッションの状態は、特定の時間における通信セッションの状態に導き、これを形成する全コンテキストを表すことが出来る。通信セッションの状態は、オンライン活動（例えば、ウェブページを閲覧する、アプリケーションサーバとデータを交換する、など）を行っている間にユーザによって実行される一連のアクションを含むことが出来る。ここに用いられるように、「ユーザ」または、「団体（エンティティ）」は、人物（例えば、人間）、ビジネス（例えば、会社）、組織、人物のグループ、登場人物（例えば、フィクションのキャラクター）、ボット、または、これらの任意の組み合わせとすることが出来る。
【０００８】
通信セッションの状態を表すセッションデータは、幾つかの実施形態に整合して、自動的に格納されることが出来る。他の実施形態においては、この方法は、通信セッションの状態を保存するためのユーザ入力を受信することと、ユーザ入力に応答して、通信セッションの状態を表すセッションデータを保存することと、を含むことが出来る。
【０００９】
この方法は、保存された状態の視覚的表現を含むインタフェースを生成し、提示させることを更に含むことができる。これらのインタフェースは、ユーザが、通信セッションの保存された状態に戻るように誘導することを可能とする。このように、ユーザが、通信セッションの流れ（例えば、保存された状態に導く一連のアクション）を再生成する必要なく、通信セッションの状態を思い出すことが出来るだろう。更に、ユーザは、与えられた通信セッションの間、ユーザが典型的には複数回実行する動作の繰り返しを防止することが出来る。
【００１０】
本開示の態様は、また、セッションデータによって表される状態の同様な属性に従って、セッションデータの視覚的表現をグループ化するためのシステム及び方法も含むことが出来る。本発明のこれらの実施形態の更なる態様は、保存された通信セッション状態に基づいて、カスタマイズサービス（例えば、推奨、及び検索結果）を提供することを含むことが出来る。
【００１１】
図１は、ネットワークを介して、データを交換するように構成されたクライアント・サーバアーキテクチャを有する、一実施形態による、ネットワークシステム１００を図示するネットワーク図である。ネットワークシステム１００は、クライアントデバイス１０６及び第三者サーバ１１４と通信する、ネットワークベースのコンテンツパブリッシャ１０２を含むことが出来る。幾つかの例示的実施形態においては、ネットワークベースのコンテンツパブリッシャ１０２は、ネットワークベースのマーケットプレイスとすることが出来る。
【００１２】
ネットワークベースのコンテンツパブリッシャ１０２は、ネットワークシステム１００及びそのユーザに関連した様々な機能及び態様に関連し得るネットワークシステム１００内で、データを通信し、交換することが出来る。ネットワークベースのコンテンツパブリッシャ１０２は、ネットワーク１０４（例えば、インターネット）を介して、１以上のクライアントデバイス（例えば、クライアントデバイス１０６）に、サーバ側機能を提供することが出来る。１以上のクライアントデバイスは、ネットワーク１０４上でデータを交換するために、ネットワークシステム１００を使用するユーザによって操作されることが出来る。これらのトランザクションは、データを、コンテンツとネットワークシステム１００のユーザについて、送信することと、受信する（通信する）ことと、処理することとを含むことが出来る。データは、これらには限定されないが、画像、ビデオまたはオーディオコンテンツ、ユーザの嗜好、製品及びサービスのフィードバック、アドバイス、レビュー、製品、サービス、製造者、及び業者の推奨及び識別子、購入者と販売者に関連した製品及びサービスリスト、製品及びサービスの広告、オークション入札、トランザクションデータ、ソーシャルデータを含むことが出来る。
【００１３】
様々な実施形態において、ネットワークシステム１００内で交換されるデータは、１以上のクライアントまたはユーザインタフェース（ＵＩ）を介して利用可能なユーザ選択された機能に依存することが出来る。ＵＩは、ウェブクライアント１０８を用いるクライアントデバイス１０６などの、クライアントデバイスに関連することが出来る。ウェブクライアント１０８は、ウェブサーバ１１８を介して、ネットワークベースのコンテンツパブリッシャ１０２と通信することが出来る。ＵＩは、また、ネットワークベースのコンテンツパブリッシャ１０２と相互作用するように設計されたクライアントアプリケーション、ネットワークベースのコンテンツパブリッシャ１０２によって提供されるアプリケーションもしくはサービス、または、第三者アプリケーション１１６を提供する第三者サーバ１１４（例えば、１以上のサーバもしくはクライアントデバイス）などの、クライアントデバイス１０６上で実行される１以上のアプリケーション１１０に関連することが出来る。
【００１４】
クライアントデバイス１０６は、任意の様々な種類のデバイスとすることが出来る。例えば、クライアントデバイス１０６は、ｉＰｈｏｎｅ（登録商標）または、ｉＯＳ（登録商標）オペレーティングシステム、Ａｎｄｒｏｉｄ（登録商標）オペレーティングシステム、ＢｌａｃｋＢｅｒｒｙ（登録商標）オペレーティングシステム、Ｍｉｃｒｏｓｏｆｔ（登録商標）Ｗｉｎｄｏｗｓ（登録商標）フォンオペレーティングシステム、Ｓｙｍｂｉａｎ（登録商標）ＯＳ、もしくは、ｗｅｂＯＳ（登録商標）を走らせる他のモバイルデバイスなどのモバイルデバイスとすることが出来る。幾つかの実施形態と整合して、クライアントデバイス１０６は、代替的に、ｉＰａｄ（登録商標）もしくは、上記オペレーティングシステムのうちの一つを走らせる他のタブレットコンピュータなどのタブレットコンピュータとすることが出来る。幾つかの実施形態においては、クライアントデバイス１０６は、また、パーソナルデジタルアシスタント（ＰＤＡ）、パーソナルナビゲーションデバイス（ＰＮＤ）、ハンドヘルドコンピュータ、デスクトップコンピュータ、ラップトップまたはネットブック、ケーブルもしくは衛星コンテンツプロバイダによって提供されるセットトップボックス（ＳＴＢ）、眼鏡もしくはリストウォッチなどのウェアラブルコンピューティングデバイス、自動車に搭載されるマルチメディアデバイス、グローバルポジショニングシステム（ＧＰＳ）デバイス、データ有効ブックリーダ、または、Ｎｉｎｔｅｎｄｏ  Ｗｉｉ（登録商標）、Ｍｉｃｒｏｓｏｆｔ  Ｘｂｏｘ  ３６０（登録商標）、もしくは、Ｓｏｎｙ  ＰｌａｙＳｔａｔｉｏｎ  ３（登録商標）もしくは、他のビデオゲームシステムコンソールなどのビデオゲームシステムコンソールとすることが出来る。
【００１５】
クライアントデバイス１０６は、通信ネットワーク１０４（例えば、インターネットまたはワイドエリアネットワーク（ＷＡＮ））との接続１１２を介してインタフェース接続することが出来る。クライアントデバイス１０６の形態に依存して、任意の様々な種類の接続１１２と通信ネットワーク１０４が用いられることが出来る。例えば、接続１１２は、符号分割多重アクセス（ＣＤＭＡ）接続、Ｇｌｏｂａｌ  Ｓｙｓｔｅｍ  ｆｏｒ  Ｍｏｂｉｌｅ  ｃｏｍｍｕｎｉｃａｔｉｏｎｓ（ＧＳＭ）接続、または、セルラ電話接続の他の種類のものとすることが出来る。そのような接続１１２は、シングルキャリアラジオ伝送技術（１ｘＲＴＴ）、エボリューションデータ最適化（ＥＶＤＯ）技術、ジェネラルパケットラジオサービス（ＧＰＲＳ）技術、Ｅｎｈａｎｃｅｄ  Ｄａｔａ  ｒａｔｅｓ  ｆｏｒ  ＧＳＭ  Ｅｖｏｌｕｔｉｏｎ（ＥＤＧＥ）技術、または、他のデータ転送技術（例えば、第４世代無線、４Ｇネットワーク）などの、任意の様々な種類のデータ転送技術を実装することが出来る。そのような技術が用いられるとき、通信ネットワーク１０４は、セルラ電話交換機によって相互接続される、重なる地理的カバー範囲の複数のセルサイトを有するセルラネットワークを含むことが出来る。これらのセルラ電話交換機は、ネットワークバックボーン（例えば、公衆交換電話ネットワーク（ＰＳＴＮ）、パケット交換データネットワーク、または、他の種類のネットワーク）に結合されることが出来る。
【００１６】
他の例においては、接続１１２は、Ｗｉｒｅｌｅｓｓ  Ｆｉｄｅｌｉｔｙ（Ｗｉ−Ｆｉ，ＩＥＥＥ  ８０２．１１ｘ型）接続、Ｗｏｒｌｄｗｉｄｅ  Ｉｎｔｅｒｏｐｅｒａｂｉｌｉｔｙ  ｆｏｒ  Ｍｉｃｒｏｗａｖｅ  Ａｃｃｅｓｓ（ＷｉＭＡＸ）接続、または他の種類の無線データ接続とすることが出来る。そのような実施形態においては、通信ネットワーク１０４は、ローカルエリアネットワーク（ＬＡＮ）、ＷＡＮ、インターネット、または、他のパケット交換データネットワークと結合する１以上の無線アクセスポイントを含むことが出来る。更に他の例においては、接続１１２は、例えば、イーサネットリンクなどの有線接続とすることができ、通信ネットワーク１０４は、ＬＡＮ、ＷＡＮ、インターネット、または、他のパケット交換データネットワークとすることが出来る。従って、様々な異なる構成が明示的に考えられる。
【００１７】
図１は、また、クライアントデバイス１０６のユーザに１以上のサービスを提供することが出来る、第三者サーバ１１４上で実行する第三者アプリケーション１１６を図示する。第三者アプリケーション１１６は、アプリケーションプログラムインタフェース（ＡＰＩ）サーバ１２０によって提供されるプログラマチックインタフェースを介して、ネットワークベースのコンテンツパブリッシャ１０２へのプログラマチックアクセスを有することが出来る。幾つかの実施形態においては、第三者アプリケーション１１６は、クライアントデバイス１０６のユーザとトランザクションを行い、または、クライアントデバイス１０６のユーザに対してサービスを提供することが出来る任意の組織に関連することが出来る。
【００１８】
特に、ネットワークベースのコンテンツパブリッシャ１０２について考えると、ＡＰＩサーバ１２０とウェブサーバ１１８は、アプリケーションサーバ１２２に結合し、プログラマチック及びウェブインタフェースをそれぞれ提供する。アプリケーションサーバ１２２は、例えば、多くのコンテンツ公開、閲覧機能及びサービスを、ネットワークベースのコンテンツパブリッシャ１０２にアクセスするユーザに提供することが出来る、マーケットプレイスアプリケーション１２４を提供することが出来る。アプリケーションサーバ１２２は、ネットワークベースのコンテンツパブリッシャ１０２のユーザ用の複数のユーザアカウントを更に提供することが出来、これらのユーザアカウントは、データベース１３０に格納されることが出来る。図１に図示されているように、アプリケーションサーバ１２２は、また、通信セッションの状態を表すセッションデータとのスクラッチパッドインタフェースを格納し、生成するように構成されることが出来るスクラッチパッドアプリケーション１２６を提供することが出来る。そのようなスクラッチパッドインタフェースは、例えば、クライアントデバイス１０６のうちの一つの上で提示されることが出来る。
【００１９】
図１に図示されるように、アプリケーションサーバ１２２は、ＡＰＩサーバ１２０及びウェブサーバ１１８を介して、例えば、有線または無線インタフェースを介して、通信ネットワーク１０４に結合することが出来る。アプリケーションサーバ１２２は、今度は、データベース１３０へのアクセスを促進するデータベースサーバ１２８に結合しているものとして示されている。幾つかの例においては、アプリケーションサーバ１２２は、データベースサーバ１２８を必要とすることなしに、データベース１３０に直接アクセスすることが出来る。幾つかの実施形態においては、データベース１３０は、ネットワークベースのコンテンツパブリッシャ１０２の内部、または外部とすることが出来る、複数のデータベースを含むことが出来る。
【００２０】
データベース１３０は、ネットワークシステム１００とそのユーザに関連した、様々な機能及び態様に関連したデータを格納することが出来る。例えば、ネットワークベースのコンテンツパブリッシャ１０２のユーザ用のユーザアカウントは、データベース１３０内に格納、及び、維持されることが出来る。各ユーザアカウントは、特定のユーザの態様を記述するユーザデータを含むことが出来る。ユーザデータは、人口統計データ、ユーザの嗜好、及び、金融情報を含むことが出来る。人口統計データは、例えば、１以上のユーザの特性を記述する情報を含むことが出来る。人口統計データは、例えば、性別、年齢、位置情報、雇用履歴、学歴、接触情報、家族関係、または、ユーザの興味を含むことが出来る。金融情報は、例えば、口座番号、認証情報、パスワード、デバイスの識別子、ユーザ名、電話番号、クレジットカード情報、銀行情報、トランザクション履歴、または、ユーザによるオンライントランザクションを促進するために用いられることが出来る他の金融情報などのユーザの個人的な金融情報を含むことが出来る。幾つかの実施形態と整合して、トランザクション履歴は、ネットワークベースのコンテンツパブリッシャによって提供される、マーケットプレイスサービスを用いて、商人によって売りに出されることが出来る、アイテムまたはサービス（まとめて「商品」と呼ぶ）のためのトランザクションに関連した情報を含むことが出来る。トランザクション履歴情報は、例えば、ユーザによって購入される商品の説明、商品の識別子、商品が属するカテゴリ、購入金額、数量、または、入札の数を含むことが出来る。
【００２１】
ユーザデータは、また、幾つかの実施形態に整合して、ユーザの活動の記録を含むことが出来る。各ユーザセッションは、セッションデータとして、データベース１３０に格納されることが出来、そのようなセッションデータは、各ユーザについてのユーザデータの一部として、維持されることが出来る。従って、幾つかの実施形態においては、ユーザデータは、ユーザが実行した過去のキーワード検索、各ユーザによって閲覧されたウェブページ、ユーザのウィッシュリストまたはウォッチリストに追加された商品、電子ショッピングカートに追加された商品、及び、ユーザが所有する商品を含むことが出来る。ユーザの嗜好は、ユーザの活動から推測されることが出来る。
【００２２】
マーケットプレイスアプリケーション１２４とスクラッチパッドアプリケーション１２６は、両方が、ネットワークベースのコンテンツパブリッシャ１０２を形成するものとして図１に示されるが、別の実施形態においては、スクラッチパッドアプリケーション１２６は、ネットワークベースのコンテンツパブリッシャ１０２とは別箇の分離されたサービスの一部として形成されてもよいことは理解されるだろう。更に、図１に示されたシステム１００は、クライアント・サーバアーキテクチャを採用しているが、本発明の主題は、無論、そのようなアーキテクチャには限定されず、例えば、イベントドリブン、分散、または、ピアツーピアアーキテクチャにおいても、同様に適用することが出来る。アプリケーションサーバ１２２の様々なモジュールは、また、スタンドアロンシステムまたはソフトウェアプログラムとして実装されることが出来、それらは、必ずしもネットワーク機能を有していなくても良い。ネットワークシステム１００の様々な機能コンポーネントは、単数形で議論されたが、１以上の様々な機能コンポーネントの複数の例が用いられても良いことは理解されるべきである。
【００２３】
図２は、図１のネットワークシステム１００の一部として提供される、マーケットプレイスアプリケーション１２４を形成する複数のモジュールの例示的実施形態を図示するブロック図である。マーケットプレイスアプリケーション１２４のモジュール２００〜２１４は、サーバマシン間の通信を可能にするために、通信可能なように結合される専用または共有サーバマシン上で提供されることが出来る。モジュール２００〜２１４のそれぞれは、相互に、及び、様々なデータ源に（例えば、適切なインタフェースを介して）通信可能なように結合され、マーケットプレイスアプリケーション１２４のモジュール２００〜２１４間で情報が伝達可能とする、または、モジュール２００〜２１４が、共通データを共有し、且つ、アクセスすることが出来るようにする。マーケットプレイスアプリケーション１２４の様々なモジュールは、データベースサーバ１２８（図１）を介して、１以上のデータベース１３０に更にアクセスすることが出来る。
【００２４】
マーケットプレイスアプリケーション１２４は、複数の公開、リストアップ、価格設定機構を提供することが出来、それらによって、販売者は、販売製品もしくはサービスをリストアップ（または、これらに関連する情報を公開する）ことができ、購入者は、そのような製品もしくはサービスに興味を示し、これらを購入したいことを示すことが出来、価格は、製品もしくはサービスに関連したトランザクションについて設定されることが出来る。この結果、マーケットプレイスアプリケーション１２４は、公開モジュール２００とオークションモジュール２０２とを含むように示され、これは、オークション形式のリストアップ、及び、価格設定機構をサポートする（例えば、競り上げ式競売、逆競り競売、ヴィックリー競売、中国式競売、競争売買、逆オークションなど）。オークションモジュール２０２は、また、販売者が、リストアップと接続して逆価格を指定できるような逆価格フィーチャ、入札者が自動代理入札を行うことが出来るような代理入札フィーチャなどの、そのようなオークション形式リストアップをサポートする複数のフィーチャを提供することが出来る。
【００２５】
固定価格モジュール２０４は、固定価格リストアップ形式（例えば、従来の案内広告型リストアップまたはカタログリストアップ）及び、買占め型リストアップをサポートすることが出来る。特に、買占め型リストアップ（例えば、カリフォルニア州、サンノゼのｅＢａｙ  Ｉｎｃ．によって開発されたＢｕｙ−Ｉｔ−Ｎｏｗ（ＢＩＮ）技術を含む）は、オークション形式リストアップと共に提供されることができ、購入者が、オークションを介して販売されてもいる、製品またはサービスを、オークションの開始価格より典型的には高い固定価格で、購入することを可能とすることができる。
【００２６】
ストアモジュール２０６は、ブランド付けされたり、販売者によって販売者用にカスタマイズされたりすることが出来る、「仮想」ストア内で商品リストアップ（例えば、製品及び／またはサービス）を販売者がグループ化可能とすることが出来る。そのような仮想ストアは、また、プロモーション、報奨金及び、関連する販売者に特有且つカスタマイズされたフィーチャを提供することが出来る。一実施形態においては、仮想ストア及びそのフィーチャに関連したリストアップ及び／またはトランザクションは、１以上のユーザに提供されることが出来る。
【００２７】
ネットワークベースのコンテンツパブリッシャ１０２のナビゲーションは、ナビゲーションモジュール２０８によって促進されることが出来る。例えば、検索モジュールは、特に、ネットワークベースのコンテンツパブリッシャ１０２を介して公開されたリストアップのキーワード検索を可能とすることが出来る。ブラウザモジュールは、関連するＵＩを介して、ユーザが様々なカテゴリ、カタログ、在庫、ソーシャルネットワークを閲覧し、ネットワークベースのコンテンツパブリッシャ１０２内のデータ構造を批評することを可能とすることができる。様々な他のナビゲーションモジュール２０８（例えば、外部検索エンジン）は、検索及び閲覧モジュールを補うために提供されることが出来る。幾つかの実施形態に整合して、ネットワークベースのコンテンツパブリッシャ１０２を介して公開されたリストアップのキーワード検索の結果は、ユーザのソーシャルネットワーク関係（例えば、示した友人及び家族）に対応したリストアップのみを含むように、フィルタ処理されることが出来る。
【００２８】
一実施形態においては、電子ショッピングカートモジュール２１０は、ストアモジュール２０６によってリストアップされた商品（例えば、製品及びサービス）を追加し、及び、格納するために、ネットワークベースのコンテンツパブリッシャ１０２のユーザによって用いられる電子ショッピングカートを生成するために用いられる。電子ショッピングカートモジュール２１０は、また、「チェックアウト」をするのに用いられることが出来、チェックアウトとは、ユーザが電子ショッピングカート内の商品を購入し得ることを意味する。電子ショッピングカートモジュール２１０は、業者、比較ショッピングサイト、オークションサイトなどの予め決められた集合のうちの少なくとも１つまたはその全てにわたって、電子ショッピングカート内の商品を自動的に発見することにより、トランザクションを促進することが出来る。様々な実施形態において、１以上の業者が購入するための選択基準は、これらには限定されないが、最低価格のコスト、最速発送時間、好適もしくは最高評価の業者もしくは販売者、または、これらの任意の組み合わせなどの基準を含むことが出来る。
【００２９】
図２に図示されているように、マーケットプレイスアプリケーション１２４は、ユーザに複数の支払いサービス及び機能を提供することが出来る、支払いモジュール２１２を含むことが出来る。支払いモジュール２１２は、ユーザが（例えば、ＵＳドルなどの商業通貨または「ポイント」などの私設通貨で）口座に値を蓄積することを可能とし、後に、支払いモジュール２１２を介して利用可能となる商品（例えば、製品またはサービス）のために蓄積した値を払い出すことを可能とすることが出来る。幾つかの例示的実施形態においては、支払いモジュール２１２は、一般に、ある者（例えば、送信者）に関連した口座から他の者（例えば、受信者）に関連した他の口座へ、値（例えば、資金、報償ポイントなど）を転送することを可能とする。
【００３０】
図２に図示されるように、マーケットプレイスアプリケーション１２４は、ユーザに推奨サービス及び機能を提供することが出来る、推奨モジュール２１４を含むことが出来る。幾つかの実施形態においては、推奨モジュール２１４は、推奨に関する要求を受信し、その後、ユーザデータの一部として維持されているユーザに関する情報に基づいて、ユーザに推奨を提供することが出来る。幾つかの実施形態においては、推奨モジュール２１４は、ユーザの活動に基づいて、推奨を自動的に生成し、提供することが出来る。推奨モジュール２１４によって提供される推奨は、ユーザが潜在的に興味を持つだろう１以上のアイテム（例えば、販売商品、記事、ブログ、映画、ソーシャルネットワーク接続、など）を含むことが出来る。推奨は、例えば、ユーザによって以前購入された商品、ユーザによって閲覧されたウェブページ、または、ユーザによって好ましいフィードバックが与えられたアイテム、または、スクラッチパッドアプリケーション１２６を用いて保存された通信セッション状態に基づくことが出来る。
【００３１】
図３は、ネットワークベースのコンテンツパブリッシャ１０２の一部として提供される、スクラッチパッドアプリケーション１２６を形成する複数のモジュールの例示的実施形態を図示するブロック図である。スクラッチパッドアプリケーション１２６は、ユーザ入力モジュール３００、状態モジュール３０２、ユーザインタフェースモジュール３０４、解析モジュール３０６、グループ化モジュール３０８、及び、カスタマイズモジュール３１０を含み、これらすべては、（例えば、バス、共有メモリ、スイッチ、またはアプリケーションプログラミングインタフェース（ＡＰＩ）を介して）相互に通信するように示されている。スクラッチパッドアプリケーション１２６の様々なモジュールは、データベースサーバ１２８を介してデータベース１３０にアクセスすることができ、スクラッチパッドアプリケーション１２６の様々なモジュールのそれぞれは、１以上の第三者アプリケーション１１６とそれぞれ通信することが出来る。更に、スクラッチパッドアプリケーション１２６のさまざまなモジュールは、クライアントデバイス１０６のマシン可読メモリにアクセスすることが出来る。
【００３２】
幾つかの実施形態に整合して、ユーザ入力モジュール３００は、クライアントデバイス１０６に含まれ、または、クライアントデバイス１０６と通信可能なように結合されることが出来る１以上の入出力（Ｉ／Ｏ）デバイスによって生成されるユーザ入力を受信するように構成されることが出来る。クライアントデバイスの形態に依存して、Ｉ／Ｏデバイスは、例えば、マウス、トラックパッド、キーパッド、キーボード、マルチタッチ感応面（例えば、タッチスクリーン、またはトラックパッド）、マイク、スピーカ、カメラなどとすることが出来る。ユーザ入力は、上記Ｉ／Ｏデバイスのうちの一つによって受信されることができ、幾つかの実施形態においては、ユーザ入力モジュール３００によって受信されるように、アプリケーションサーバ１２２へと送信されることが出来る。
【００３３】
状態モジュール３０２は、通信セッションの状態を表すセッションデータを捕捉し、格納するように構成されることが出来、通信セッションの状態を呼び戻すために用いられることが出来る。セッションデータは、クライアントデバイス（例えば、クライアントデバイス１０６）上で実行される１以上のアプリケーション１１０を用いて、通信セッション中に、ウェブサイトが閲覧される、または、他のそのような活動が実行されるときに、ユーザによって実行される一連のステップ、イベントまたはアクションを指す。例示的なセッションデータは、オンライントランザクションを実行し、オンラインフォームに記入し、オンライン調査を行い、ユーザによって実行される２以上のステップを含む他のオンライン活動に参加するとき、ユーザによって実行されるアクションを記述するイベントを含む。
【００３４】
セッションデータは、ユーザによって提供される情報、ユーザによって押されるボタン（または、他の視覚インジケータ）、ユーザによって完了されるステップの識別、キーストローク、カーソル及びポインタの移動、ユーザによってキャンセルされたアクション、及び、他の種類のクリックストリームデータなどの、アプリケーションサーバ１２２とのクライアントデバイス１０６の相互作用を含むことが出来る。従って、状態モジュール３０２は、１以上のデバイス（例えば、クライアントデバイス１０６）を用いて、ネットワークシステム１００の様々なモジュールとのユーザの活動及び相互作用を監視し、追跡し、及び記録するように構成されることが出来る。セッションデータは、通信セッションの一部として、クライアントデバイス上で実行する１以上のアプリケーション１１０によって提供されるコンテキスト情報（例えば、デバイスＩＤ、位置情報、または、他のデバイスデータ）を更に含むことが出来る。
【００３５】
セッションデータは、実行されたキーワード検索問い合わせ、推奨要求、ウェブページ閲覧要求、ユーザのウィッシュリスト、ウォッチリストまたは電子ショッピングカートなどに商品を追加する要求などの、アプリケーションサーバ１２２へ送信されるユーザ要求を含むことが出来る。セッションデータは、また、キーワード検索結果、推奨、ウェブページ、ウィッシュリスト、ウォッチリストまたは電子ショッピングカートなどに対するインタフェースなど、アプリケーションサーバ１２２によって送信されるユーザ要求への応答を含むことが出来る。幾つかの実施形態においては、キーワード検索、推奨、及びウェブページは、マーケットプレイスアプリケーション１２４によって生成され、維持される１以上のリストアップに対応することが出来ることは理解されるだろう。
【００３６】
状態モジュール３０２は、更なるユーザの相互作用なしに、または、（例えば、ユーザ入力モジュール３００によって受信される）ユーザ入力の受信に応じて、セッションデータを自動的に捕捉し、格納することが出来る。状態モジュール３０２は、データベース１３０内、ユーザのクライアントデバイス（例えば、クライアントデバイス１０６）のマシン可読媒体内、または、その両方に、（例えば、ＸＭＬベースのテキスト文書として）セッションデータを格納することが出来る。
【００３７】
ユーザインタフェースモジュール３０４は、ユーザのクライアントデバイス上に提示されるために、スクラッチパッドインタフェースを生成するように構成されることが出来る。ユーザインタフェースモジュール３０４によって生成されるスクラッチパッドインタフェースは、ユーザが、興味のあるアイテムを、迅速に保存し、アクセスし、整理し、比較することを可能とする。スクラッチパッドインタフェースは、（例えば、クライアントデバイス１０６との）与えられた通信セッションに含まれる、複数の他のスクラッチパッドインタフェースと共に表示されることが出来る。スクラッチパッドインタフェースは、通信セッションの状態を表す状態モジュール３０２によって捕捉されるセッションデータの視覚的表現を少なくとも含むことができる。
【００３８】
幾つかの実施形態と整合して、各スクラッチパッドインタフェースは、セッションデータの複数の集合の視覚的表現を含むことが出来る。与えられたデータセッション中のユーザの活動に依存して、セッションデータの複数の集合は、同質と異質の両方のグループを含むことが出来る。例えば、セッションデータ集合の同質なグループは、商品（例えば、「デジタルカメラ」）の特定のカテゴリに関連したデータを含むことができ、一方、セッションデータの異質なグループは、商品の様々なカテゴリ（例えば、デジタルカメラ、休日、セーター、及びトースター）に由来する商品に関連するデータを含むことが出来る。
【００３９】
幾つかの実施形態においては、スクラッチパッドインタフェースは、セッションデータの複数の集合内に含まれる複数のアイテムをユーザが比較可能とする機能を含むことが出来る。幾つかの実施形態においては、この機能は、セッションデータ集合の同質なグループの比較を要求する（例えば、ユーザ入力モジュール３００によって受信された）ユーザ入力を受信したとき、ユーザに提供されることが出来る。この比較は、セッションデータに含まれるアイテムの様々な属性の比較を含むことが出来る。例えば、スクラッチパッドインタフェースは、セッションデータの３つの集合の同質なグループを含むことが出来る。セッションデータの第１の集合は、第１のデジタルカメラに関連し、セッションデータの第２の集合は、第２のデジタルカメラに関連し、セッションデータの第３の集合は、第３のデジタルカメラに関連することが出来る。この例に従うと、状態モジュール３０２は、適切なユーザ入力を受信したとき、それぞれの属性の選択された集合の比較を含む、３つのデジタルカメラの比較が便利なように、セッションデータの３つの集合の表示を生成することが出来る。
【００４０】
ユーザインタフェースモジュール３０４は、それぞれの通信セッション状態に対応するセッションデータの各集合を名付けるように更に構成されることが出来る。セッションデータのそれぞれの集合に割り当てられる名前は、ユーザ入力に基づいてもよいし、または、セッションデータ内の情報に基づいて自動的に割り当てられることが出来る。より詳細には、ユーザインタフェースモジュール３０４は、例えば、通信セッションの種類（例えば、ショッピング）、通信セッションに用いられるプロセスフロー（例えば、チェックアウトフロー）、通信セッションの状態に導くまで実行された動作（例えば、実行された特定の検索問い合わせ）、閲覧されたページなどに従い、セッションデータの特定の集合を名付けることが出来る。
【００４１】
解析モジュール３０６は、関心のある通信セッションのある状態を特定するために、通信セッション中のユーザの活動を解析するように構成されることが出来る。このため、解析モジュール３０６は、ユーザの典型的なプロセスフローを学習するために、ユーザの活動を解析することが出来る。「典型的なプロセスフロー」は、特定の結果を達成するために、ユーザによって定常的に実行される動作の特定のシーケンスを指す。シーケンスのそれぞれの動作は、他の動作に対して、順序による依存性を有することがある。ユーザは、達成可能な結果のそれぞれの種類についての異なる典型的なプロセスフローを有することが出来る。例えば、ユーザは、アイテムの購入に対応する典型的なプロセスフロー、情報を検索するための他の典型的なプロセスフロー、及び、販売アイテムのリストアップのための他の典型的なプロセスフローを有することが出来る。達成可能な結果の種類は、これらには限定されないが、埋められたウェブベースのフォーム、完了したウェブベースの検索、完了したトランザクション、または、（例えば、マーケットプレイスアプリケーション１２４を介して）販売アイテムをうまくリストアップすること、を含むことが出来る。
【００４２】
ユーザの典型的なプロセスフローを学習する一部として、解析モジュール３０６は、ユーザの典型的なプロセスフローのある非効率な部分を特定することが出来る。例えば、解析モジュール３０６は、ユーザが、しばしば、特定の状態に戻ること、またはそのシーケンスもしくは、その部分集合の特定の動作を繰り返すことを判定することが出来る。
【００４３】
ユーザの典型的なプロセスフローを学習すると、解析モジュール３０６は、後続の通信セッションが、ユーザの典型的なプロセスフローを含むことを判定することが出来る。通信セッションが、典型的なプロセスフローを含むことのこの判定は、典型的なプロセスフローに従って順序付けられた動作をユーザが実行することに基づくことが出来る。このように、解析モジュール３０６は、ユーザによって典型的に実行される動作と、そのような動作の順序を知っているので、通信セッション中、ユーザが実行するだろうある動作を予測することが出来る。更に、解析モジュール３０６は、同様な動作、または、同一の動作の実行の結果として生じた以前の通信セッションの状態を以前にユーザが保存していたことに基づいて、ユーザが、通信セッションのある状態を保存するだろう時を予測することが出来る。
【００４４】
グループ化モジュール３０８は、１以上の通信セッションのある状態を表すセッションデータの集合をグループ化するように構成されることが出来る。グループ化モジュール３０８は、ユーザの嗜好に従って、セッションデータの集合をユーザがグループ化することを可能とすることができ、または、幾つかの実施形態においては、グループ化モジュール３０８は、セッションデータの集合を自動的にグループ化することが出来る。セッションデータの集合のグループ化は、例えば、保存された状態、セッションデータに含まれるコンテキスト情報（例えば、タイミングもしくは位置情報）、または、その状態を結果として生じた、実行された同様な動作もしくは相互作用のうちの１以上の同様な属性に基づくことが出来る。グループ化モジュール３０８は、また、セッションデータの各グループをラベル付けするように構成されることが出来る。ラベルは、ユーザによって提供、もしくは編集され、または、セッションデータの集合をグループ化するときに自動的に決定されることが出来る。
【００４５】
カスタマイズモジュール３１０は、スクラッチパッドアプリケーション１２６のユーザに、カスタマイズサービスを提供するように構成されることが出来る。カスタマイズサービスは、カスタマイズ推奨または、カスタマイズ検索結果を含むことが出来る。このように、カスタマイズモジュール３１０は、そのようなカスタマイズサービスを提供するために、ナビゲーションモジュール２０８と推奨モジュール２１４と共に動作することが出来る。カスタマイズモジュール３１０によって提供されるカスタマイズサービスは、解析モジュール３０６によって決定されるユーザの典型的なプロセスフローを考慮に入れることが出来る。カスタマイズモジュール３１０によって提供されるカスタマイズサービスは、また、スクラッチパッドアプリケーション１２６を用いてユーザによって保存された通信セッションの状態に基づくことが出来る。
【００４６】
図４Ａは、幾つかの実施形態に整合する、第１のクライアントデバイスとアプリケーションサーバとの間の通信セッションを図示する相互作用図である。図４Ａに図示される第１のクライアントデバイスは、ユーザに属する少なくとも２つのクライアントデバイスのうちの第１のクライアントデバイスであり、例えば、クライアントデバイス１０６に対応することが出来る。図示されるように、アプリケーションサーバは、アプリケーションサーバ１２２に対応する。
【００４７】
図示されるように、通信セッションは、第１のクライアントデバイスとアプリケーションサーバ１２２との間に確立されることが出来る。幾つかの実施形態においては、ユーザは、通信セッションの確立の一部として、ログインする、または、彼のアイデンティティを認証するように命令されることが出来る。通信セッションは、アプリケーションサーバ１２２によって受信される第１のクライアントデバイスによる複数の要求の送信を含む、ネットワーク（例えば、通信ネットワーク１０４）を介した複数のデータ交換を含むことが出来る。アプリケーションサーバ１２２は、今度は、上記複数の要求に応答して、第１のクライアントデバイスへの複数の応答を送信することが出来る。第１のクライアントデバイスとの通信セッションの間、アプリケーションサーバ１２２は、その後の呼び戻しのために格納されるべき通信のある状態を選択することが出来る。状態の選択は、幾つかの実施形態に整合して、繰り返される状態に関連した、動作、または動作の集合の予測において、自動的に実行されることが出来る。あるいは、ユーザは、第１のクライアントデバイスと共に、幾つかの可能なＩ／Ｏデバイスのうちの一つを利用して、通信セッションの選択された状態を保存するために、適切なユーザ入力を介して、アプリケーションサーバ１２２に信号を送ることが出来る。
【００４８】
通信セッションの状態を選択すると、アプリケーションサーバ１２２は、セッションデータリポジトリ（例えば、データベース１３０または、クライアントデバイスのマシン可読媒体）に、データセッションの状態を表すセッションデータを格納することが出来る。更に、アプリケーションサーバ１２２は、セッションデータによって表される通信セッションの状態の視覚的表現を含む、スクラッチパッドインタフェースを生成することが出来る。アプリケーションサーバ１２２は、その後、クライアントデバイスに、スクラッチパッドインタフェースを表示させる、第１のクライアントデバイスへの命令を送信することが出来る。
【００４９】
第１のクライアントデバイスは、通信セッションの連続実行に含まれる他のコンテンツと共に、スクラッチパッドインタフェースを提示することが出来る。通信セッションの状態の視覚表現を提供することに加え、第１のクライアントデバイスに提示されるスクラッチパッドインタフェースは、視覚表現の選択を介して、ユーザが通信セッションの状態を戻すことを可能とすることが出来る。図示されるように、アプリケーションサーバ１２２は、セッションデータのユーザ選択を受信することが出来る。
【００５０】
ユーザ選択を受信するのに応じて、アプリケーションサーバ１２２は、セッションデータリポジトリからセッションデータを取得することが出来る。アプリケーションサーバ１２２は、その後、ユーザ入力に応じて以前に捕捉された通信セッションの状態を第１のクライアントデバイスに思い出させ、それに戻させる、第１のクライアントデバイスへの命令を提供することが出来る。このように、ユーザは、通信セッションの以前の状態を再訪問することが出来る。
【００５１】
図４Ａに図示されるように、第１のクライアントデバイスとアプリケーションサーバ１２２との間の通信セッションは、後に終了されることが出来る。幾つかの実施形態に整合して、通信セッションを終了するのに応じて、アプリケーションサーバ１２２は、データセッションリポジトリ内に格納されるセッションデータを除去、または、消去することができ、その点において、セッションデータは、後続の通信セッションの間、スクラッチパッドインタフェースにおける表示に対して、もう利用可能ではない。
【００５２】
図４Ｂは、幾つかの実施形態と整合して、第２のクライアントデバイスとアプリケーションサーバとの間の通信セッションを図示する相互作用図である。特に、アプリケーションサーバは、アプリケーションサーバ１２２に対応し、第２のクライアントデバイスは、図４Ａで議論されたユーザに属する少なくとも２つのクライアントデバイスのうちの第２のクライアントデバイスである。第１のクライアントデバイスとは異なるが、第２のクライアントデバイスは、また、ここに議論されるクライアントデバイス１０６の少なくとも１つの可能な変形例に対応することが出来る。更に、図４Ｂに図示される、第２のクライアントデバイスとアプリケーションサーバとの間の様々な相互作用は、図４Ａに議論されるセッションデータの格納に続くあらゆる点で実行されることが出来る。
【００５３】
図４Ｂに示されるように、通信セッションは、第２のクライアントデバイスとアプリケーションサーバ１２２との間に確立される。幾つかの実施形態において、ユーザは、通信セッションを確立することの一部として、ログインする、または彼のアイデンティティを認証するように命令されることが出来る。この認証は、アプリケーションサーバ１２２に、第１のクライアントデバイスと第２のクライアントデバイスとの間の接続を提供することが出来、ユーザに、第２のクライアントデバイス上のセッションデータへのアクセスを提供することが出来、この接続は、第１のクライアントデバイスとの通信セッション中に、保存されたものである。更に、通信セッションを確立することの一部として、アプリケーションサーバは、図４Ａで議論したスクラッチパッドインタフェースを提示するための命令を、第２のクライアントデバイスに提供することが出来る。
【００５４】
第２のクライアントデバイスのＩ／Ｏデバイスを利用して、ユーザは、スクラッチパッドインタフェースに表示される、通信セッションの以前に保存された状態の視覚表現（図４Ａで議論した）を選択することが出来る。ユーザ選択は、それから、第２のクライアントデバイスによって送信され、アプリケーションサーバ１２２によって受信される。ユーザ選択を受信するのに応じて、アプリケーションサーバは、セッションデータリポジトリ（例えば、データベース１３０）からセッションデータを取得し、セッションデータによって表される通信セッションの状態（例えば、第１のクライアントデバイスから発する）を第２のクライアントデバイスに提示させる命令を、第２のクライアントデバイスに送信することが出来る。
【００５５】
図５Ａは、幾つかの実施形態に整合する、例示的な通信セッションを図示するインタフェース図である。幾つかの実施形態に整合して、例示的な通信セッションは、通信ネットワーク１０４を介して、アプリケーションサーバ１２２とクライアントデバイス１０６との間で発生することが出来る。図５Ａに図示されるように、例示的な通信セッションは、アプリケーションサーバ１２２への要求として送信されることが出来る、クライアントデバイス１０６上（例えば、クライアントデバイス１０６のタッチスクリーン上）に表示されるインタフェースにユーザによって入力される検索問い合わせ５００を含む。
【００５６】
図５Ｂは、幾つかの実施形態と整合する、通信セッションの更なるデータ交換を図示するインタフェース図である。図５Ｂに図示されるように、検索結果５０２は、検索問い合わせ５００を受信したのに応じて、クライアントデバイス１０６に、アプリケーションサーバ１２２によって返送されることが出来る。特に、検索結果５０２は、アイテム５０４〜５１２を含むことが出来る。図示されるように、アイテム５０４〜５１２のそれぞれは、（例えば、マーケットプレイスアプリケーション１２４を用いて公開される）販売商品のリストアップに対応することが出来る。幾つかの実施形態に整合して、クライアントデバイス１０６のユーザは、適切なタッチジェスチャ（例えば、ダブルタップ）によって、スクラッチパッドアプリケーション１２６に、例示的な通信セッションの状態を捕捉させ、格納させることが出来る。例えば、アイテム５０８と５１０に対応するウェブページを閲覧すると、ユーザは、その時点で、通信セッションのそれぞれの状態を保存することを選択することが出来る。
【００５７】
図５Ｃは、幾つかの実施形態に整合する、通信セッションの様々な状態の視覚的表現を表示するスクラッチパッドインタフェース５１４を図示するインタフェース図である。特に、スクラッチパッドインタフェース５１４は、アイテム５０８と５１０用のそれぞれのウェブページを閲覧するときの、通信セッションの状態に対応するセッションデータの視覚的表現である要素５１６と５１８を含む。要素５１６と５１８に対応するセッションデータは、図５Ｂを参照して議論したように、検索結果５０２を閲覧する間、適切なユーザ入力を受信するのに応じて、スクラッチパッドアプリケーション１２６によって保存されることが出来る。幾つかの他の実施形態においては、要素５１６と５１８に関連したセッションデータは、ユーザの相互作用なしに、状態モジュール３０２によって自動的に保存されることが出来ることは理解されるべきである。
【００５８】
図示されるように、要素５１６と５１８のそれぞれは、通信セッションの各状態に関連した、情報（例えば、説明）またはコンテンツ（例えば、対応する画像）を含むことが出来る。更に、スクラッチパッドインタフェース５１４上に表示される要素５１６と５１８は、ここに議論される方法に従ってグループ化されることが出来る。例えば、図示されるように、要素５１６と５１８は、「サングラス」に対する検索問い合わせから到る、要素５１６と５１８に対応する状態のそれぞれに基づいて、グループ５２０内に表示される。このように、グループ５２０は、グループ化モジュール３０８によって、適切に「サングラス」とタイトル付けされる。
【００５９】
スクラッチパッドインタフェース５１４は、更に、スクラッチパッドインタフェース５１４を隠したり、拡大したりするのに用いられることが出来る、タブ５２２を更に含むことが出来る。幾つかの実施形態においては、スクラッチパッドインタフェース５１４は、クライアントデバイス１０６のディスプレイの左または右へのタッチジェスチャスワイプを介して、隠したり、拡大したりされることが出来る。タブ５２２は、また、スクラッチパッドインタフェース５１４の位置を、ディスプレイの上、下、または、左に移動するのに用いられることが出来る。
【００６０】
図５Ｄは、幾つかの実施形態に整合する、例示的な通信セッションの更なる交換を図示するインタフェース図である。特に、例示的な通信セッションは、検索問い合わせ５００に続いて実行される、「バイクのヘルメット」に対する更なる検索問い合わせ５５０を含むことが出来る。検索結果５２４〜５３２は、検索問い合わせ５５０を受信したのに応じて、アプリケーションサーバ１２２によって、クライアントデバイス１０６へ返送されることが出来る。図示されるように、スクラッチパッドインタフェース５１４の大半は、検索結果５２４〜５３２を閲覧している間、隠されることが出来る。しかし、スクラッチパッドインタフェース５１４の小さな一部（例えば、タブ５２２）は、検索結果５２４〜５３２を閲覧している間にも、表示され続けることが出来る。例えば、アイテム５０８と５１０に対応するウェブページを閲覧すると、ユーザは、その時点で、通信セッションのそれぞれの状態を保存することを選択することが出来る。
【００６１】
図５Ｅは、幾つかの実施形態に整合する、セッションデータを表すユーザインタフェース要素の複数のグループ化された集合を表示するスクラッチパッドインタフェースを図示するインタフェース図である。特に、スクラッチパッドインタフェース５１４は、要素５１６と５１８と共に、要素５３４と５３６を含むものとして、図５Ｅに図示されている。要素５３４と５３６は、それぞれ、アイテム５２６と５３０のそれぞれのウェブページを閲覧する時点での通信セッションの状態に対応するセッションデータの視覚的表現である。アイテム５２６と５３０を閲覧している間に適切なユーザ入力を受信したことに応じて、または、ユーザの介入なしで自動的に、要素５１６と５１８と共に、要素５３４と５３６に対応するセッションデータは、スクラッチパッドアプリケーション１２６によって保存されることが出来る。
【００６２】
スクラッチパッドインタフェース５１４上に表示される要素５３４と５３６は、また、「バイクのヘルメット」に対する検索問い合わせ５５０から到る、要素５３４と５３６に対応する状態のそれぞれに基づいて、グループ５３８内で表示されることが出来る。このように、グループ５３８は、グループ化モジュール３０８によって、適切に「バイクのヘルメット」とタイトル付けされる。グループ５３８内で要素５３４と５３６をグループ化し、ラベル付けすることは、ここに議論した方法と整合する、グループ化モジュール３０８によって実行されることが出来る。
【００６３】
図６は、幾つかの実施形態に整合する、通信セッションの状態を格納し、提示する例示的方法６００を図示するフローチャートである。方法６００は、方法６００のステップが、アプリケーションサーバ１２２、またはあるいは、クライアントデバイス１０６、及び、特に、スクラッチパッドアプリケーション１２６を含むモジュール３００〜３１０によって、部分的に、または全体として実行され得るように、１以上のプロセッサによる実行用のコンピュータ可読命令に実体化されることが出来る。
【００６４】
動作６０５において、通信セッションが、クライアントデバイス１０６とアプリケーションサーバ１２２との間に確立されることが出来る。通信セッションは、クライアントデバイス１０６から受信される複数の要求と、この要求に応じて、アプリケーションサーバ１２２から送信される複数の応答と、を含む複数のデータ交換を含むことが出来る。例えば、クライアントデバイス１０６のユーザは、マーケットプレイスアプリケーション１２４を用いて、販売用にリストアップされている商品に対するキーワード検索要求を送信することが出来る。それから、アプリケーションサーバ１２２は、ユーザのキーワード検索要求に一致する商品に対する複数の検索結果を応答することが出来る。動作６１０において、ユーザ入力モジュール３００は、通信セッションの特定の状態が、その後のアクセスのために保存されるべきことを要求する、クライアントデバイス１０６からのユーザ入力を受信することが出来る。幾つかの実施形態において、ユーザ入力は、クライアントデバイス１０６のマルチタッチ感応面で受信されたタッチジェスチャとすることが出来る。タッチジェスチャは、例えば、タップ、ダブルタップ、長押し、パン、フリック、ツーフィンガータップ、ピンチオープンなどとすることが出来る。
【００６５】
動作６１５において、状態モジュール３０２は、ユーザ入力を受信するのに応じて、通信セッションの状態を表すセッションデータが、所定の期間に、一時的に格納されるようにすることが出来る。セッションデータは、少なくともある期間（例えば、失効期間が経過するまで）データベース１３０内に、または、幾つかの実施形態においては、クライアントデバイス１０６のマシン可読媒体内に、格納されることが出来る。上記の例を続けると、ユーザのキーワード検索リクエストに一致する商品に対する検索結果を受信すると、ユーザは、例えば、クライアントデバイス１０６のタッチスクリーン上に表示される検索結果をダブルタップすることが出来る。このユーザ入力は、それから、ユーザ入力モジュール３００に提供されることができ、応答において、状態モジュール３０２は、データベース１３０内のセッションデータとして、検索結果を捕捉し、一時的に格納することが出来る。
【００６６】
動作６２０において、ユーザインタフェースモジュール３０４は、セッションデータによって表される通信セッションの状態の視覚的表現を含む、スクラッチパッドインタフェースを生成することが出来る。ユーザがセッションデータの特定の集合を選択することが出来るように、スクラッチパッドインタフェースは、（例えば、通信セッションの状態を表す）セッションデータを提示することができ、そして、セッションデータによって表される通信セッションの状態が復元されることが出来る。スクラッチパッドインタフェースは、セッションデータの集合と、そこに含まれるあるアイテムとをユーザが比較することを更に可能とすることが出来る。上記の例を続けると、ユーザインタフェースモジュール３０４は、検索結果の選択の詳細なテキストを含むスクラッチパッドインタフェースを生成することが出来る。
【００６７】
動作６２５において、ユーザインタフェースモジュール３０４は、スクラッチパッドインタフェースをデバイスに提示させる命令を、クライアントデバイス１０６へ提供することが出来る。スクラッチパッドインタフェースは、幾つかの実施形態に整合して、通信セッションに関連した他のコンテンツに関連して表示されることが出来る。幾つかの実施形態に整合して、セッションデータの視覚的表現は、ユーザ入力によってＯＮされたとき、セッションデータによって表される通信セッションの状態をクライアントデバイス１０６に返送させるリンク、または、他の相互作用要素を含むことが出来る。図６に図示されるように、方法６００は、オプションの動作６３０と６３５を含むことが出来る。動作６３０においては、ユーザによってなされた、セッションデータ（例えば、ハイパーリンク）の選択は、ユーザ入力モジュール３００によって受信されることが出来る。ユーザの選択（例えば、ハイパーリンクをＯＮ状態にする）に応答して、セッションデータによって表される通信セッションの状態は、動作６３５において復元されることが出来る。上記からの例を続けると、クライアントデバイス１０６上に提示されるスクラッチパッドは、ユーザによって選択されたとき、クライアントデバイス１０６に、元の検索問い合わせ結果ページへ戻させる、ハイパーリンクを含むことが出来る。
【００６８】
図７は、幾つかの実施形態に整合する、追加のセッションデータを格納するための例示的方法を図示するフローチャートである。方法７００は、方法７００のステップが、アプリケーションサーバ１２２、または、クライアントデバイス１０６と１０８、及び、特に、スクラッチパッドアプリケーションを含むモジュール３００〜３１０によって、部分的に、または、全体として実行されることが出来るように、１以上のプロセッサによる実行用のコンピュータ可読命令に実体化されることが出来る。更に、方法７００は、幾つかの実施形態に整合して、方法６００の完了に続いて開始することが出来る。
【００６９】
動作７０５において、ユーザ入力モジュール３００は、方法６００の動作６１５において格納されたセッションデータによって表される状態とは異なる通信セッションの追加の状態を保存するための追加のユーザ入力を受信することが出来る。ユーザ入力は、方法６００を参照して上記した方法に従って受信されることが出来る。ユーザ入力の受信に応じて、状態モジュール３０２は、通信セッションの追加の状態を表す追加のセッションデータが、動作７１０において、一時的に格納されるようにすることが出来る。追加のセッションデータは、データベース１３０に、または、幾つかの実施形態においては、クライアントデバイス１０６のマシン可読媒体に、一時的に格納されることが出来る。追加のセッションデータは、失効期間が経過するまで格納されることが出来る。動作７１５において、ユーザインタフェースモジュール３０４は、スクラッチパッドインタフェースが、追加のセッションデータの視覚的表現を含むように更新されるようにする命令を、クライアントデバイス１０６へ送信することが出来る。
【００７０】
図６を参照して提示された例を続けると、ユーザは、アプリケーションサーバ１２２とのクライアントデバイス１０６上の通信セッションを継続することができ、そうすることで、他の商品についての追加のキーワード検索を実行することが出来る。アプリケーションサーバ１２２からクライアントデバイス１０６において検索結果を受信すると、ユーザは、再び検索結果をダブルタップすることにより、通信セッションの追加の状態を保存することが出来る。ユーザ入力に応じて、状態モジュール３０２は、追加の検索結果を表すセッションデータが、一時的に保存されるようにすることが出来る。更に、スクラッチパッドインタフェースは、追加の検索結果を含むように、ユーザ入力モジュール３００によって、更新されることが出来る。
【００７１】
図８は、幾つかの実施形態に整合する、セッションデータを消去するための例示的方法８００を図示するフローチャートである。方法８００のステップが、アプリケーションサーバ１２２、またはクライアントデバイス１０６、及び、特に、スクラッチパッドアプリケーション１２６を含むモジュール３００〜３１０によって、部分的に、または全体として実行され得るように、方法８００は、１以上のプロセッサによる実行用のコンピュータ可読命令に実体化されることが出来る。更に、方法８００は、幾つかの実施形態に整合して、方法６００または７００の完了に続いて開始することができる。
【００７２】
幾つかの実施形態に整合して、状態モジュール３０２は、失効期間が経過するまで、データベース１３０にセッションデータが一時的に格納させられるようにすることが出来る。動作８０５において、状態モジュール３０２は、失効期間が経過したことを判定することが出来る。幾つかの実施形態に整合して、失効期間は、通信セッションの継続時間とすることができ、そのような実施形態においては、動作８０５は、通信セッションが終了したことを判定することを含む。幾つかの実施形態においては、失効期間は、デフォルト値または、ユーザによって設定される値とすることが出来る。
【００７３】
動作８１０において、状態モジュール３０２は、失効期間が経過したと判定するのに応じて、格納されたセッションデータが消去されるようにすることが出来る。幾つかの実施形態においては、クライアントデバイス１０６が、依然通信セッションを行っている場合、ユーザインタフェースモジュール３０４は、動作８１５において、クライアントデバイス１０６にスクラッチパッドインタフェースをリフレッシュさせる命令を、クライアントデバイス１０６に送信することが出来る。リフレッシュされると、スクラッチパッドインタフェースは、失効期間が経過したセッションデータの視覚的表現はもはや含まず、そして、ユーザは、経過したセッションデータによって表される通信セッションの状態にもはや戻ることは出来ない。
【００７４】
図９は、幾つかの実施形態に整合する、通信セッションの状態を自動的に格納するための例示的方法９００を図示するフローチャートである。方法９００のステップが、アプリケーションサーバ１２２、またはクライアントデバイス１０６、及び、特に、スクラッチパッドアプリケーション１２６を含むモジュール３００〜３１０によって、部分的に、または全体として実行されることが出来るように、方法９００は、１以上のプロセッサによる実行用のコンピュータ可読命令に実体化されることが出来る。
【００７５】
動作９０５において、解析モジュール３０６は、主体ユーザの履歴のセッションデータにアクセスすることが出来る。履歴のセッションデータは、主体ユーザの様々なクライアントデバイスとアプリケーションサーバ１２２との間の以前の通信セッションに関連する。履歴のセッションデータから、解析モジュールは、動作９１０において、主体ユーザの典型的なプロセスフローを判定することが出来る。典型的なプロセスフローは、特定の結果を達成するために、主体ユーザによって定常的に実行される動作のシーケンスである。例えば、ネットワークベースのマーケットプレイスからアイテムを購入するための主体ユーザの典型的なプロセスフロー（「チェックアウトフロー」とも呼ぶ）は、検索問い合わせを実行することと、少なくとも３つの結果を検討することと、より改善された検索問い合わせを実行することと、少なくとも１つの追加の結果を検討することと、少なくとも１つのアイテムを電子ショッピングカートに追加することと、少なくとも１つのアイテムの購入を完了することと、を含むことが出来る。動作９０５と９１０は、幾つかの実施形態においては実行されなくてもよいことは理解されるべきである。
【００７６】
動作９１５において、アプリケーションサーバ１２２は、クライアントユーザによって動作するクライアントデバイス１０６との通信セッションを確立することが出来る。アプリケーションサーバ１２２とのセッションを開始すると、主体ユーザは、ログインする、または彼のアイデンティティを認証することを促されることが出来、履歴のセッションデータと、動作９１０において学習された典型的なプロセスフローに対する主体ユーザのつながりをアプリケーションサーバ１２２に提供することが出来る。動作９２０において、解析モジュール３０６は、通信セッションが、ユーザの典型的なプロセスフローを含むことを判定することが出来る。この判定は、典型的なプロセスフローの動作と一致する、ユーザによって実行される動作に基づくことが出来る。幾つかの実施形態においては、この判定は、アプリケーションサーバ１２２に、クライアントデバイス１０６によって提供されるコンテキスト情報に基づくことが出来る。
【００７７】
主体ユーザによって定常的に実行される動作と、それらが実行される順序の知識が与えられると、解析モジュール３０６は、繰り返されるものも含め、主体ユーザが実行するだろう動作を予測することが出来る。このように、解析モジュール３０６は、動作９２５において、主体ユーザの典型的なプロセスフローに基づいて、繰り返される可能性の高い特定の動作を特定することが出来る。幾つかの実施形態に整合して、特定の動作の特定は、典型的なプロセスフローを含む動作のシーケンスにおいて、以前の動作に定型的に戻る、ユーザから発生する典型的なプロセスフローにおける非効率性に基づくことが出来る。幾つかの実施形態においては、特定の動作の特定は、ある状態において経過する時間の量に基づくことができ、それは、主体ユーザの典型的なプロセスフローを改定すると、主体ユーザが、（例えば、その状態に導いた動作を繰り返すことにより）その状態に戻る可能性が高いことを示すことが出来る。
【００７８】
動作９３０において、状態モジュール３０２は、通信セッションの状態を表すセッションデータが、所定の期間格納されるようにすることが出来る。セッションデータは、データベース１３０内、または幾つかの実施形態においては、クライアントデバイス１０６のマシン可読媒体内に格納されることが出来る。動作９３５において、ユーザインタフェースモジュール３０４は、ここに記述した方法に従って、セッションデータによって表される通信セッションの状態の視覚的表現を含む、スクラッチパッドインタフェースを生成することが出来る。動作９４０において、ユーザインタフェースモジュール３０４は、スクラッチパッドインタフェースをクライアントデバイス１０６に提示させる命令を、クライアントデバイス１０６へ提供することが出来る。
【００７９】
図１０は、幾つかの実施形態に整合する、通信セッションの状態を表すユーザインタフェース要素をグループ化するための例示的方法１０００を図示するフローチャートである。方法１０００のステップが、アプリケーションサーバ１２２、またはクライアントデバイス１０６、及び、特に、スクラッチパッドアプリケーション１２６を含むモジュール３００〜３１０によって、部分的に、または全体として実行され得るように、方法１０００は、１以上のプロセッサによる実行用のコンピュータ可読命令に実体化されることが出来る。
【００８０】
動作１００５において、グループ化モジュール３０８は、通信セッションの複数の状態を表すセッションデータの複数の集合にアクセスすることが出来る。セッションデータの複数の集合は、ユーザによって、または、スクラッチパッドアプリケーション１２８によって自動的に保存された、通信セッションの状態に対応することが出来る。動作１０１０において、グループ化モジュール３０８は、状態のそれぞれ間の類似性に従って、複数の状態をグループ化することが出来る。グループ化は、ユーザ入力に応じて、または、ユーザの介在なしで自動的に実行されることが出来る。例えば、グループ化は、ある状態に導く実行される同様の動作または動作の集合に基づくことができ、その状態は、典型的なプロセスフローの一部であるか、または、その状態を表すセッションデータ内の共通の属性である。
【００８１】
動作１０１５において、グループ化モジュール３０８は、状態の各グループにラベルを割り当てることが出来る。ラベルは、ユーザ入力に基づくか、または、グループ化に基づいて自動的に決定されることが出来る。例えば、状態が共通の属性に基づいてグループ化される場合においては、グループ化モジュール３０８は、共通の属性を用いてグループにラベルを割り当てることが出来る。動作１０２０において、ユーザインタフェースモジュール３０４は、動作１０１０において判定されたグループ化内で提示されるセッションデータの複数の集合の視覚的表現によって、スクラッチパッドインタフェースをデバイスに提示させる命令を、クライアントデバイス１０６へ提供することが出来る。
［モジュール、コンポーネント、及び論理］
ある実施形態が、論理または複数のコンポーネント、モジュール、もしくは機構を含むものとしてここに記述される。モジュールは、ソフトウェアモジュール（例えば、マシン可読媒体上もしくは伝送信号に実体化されたコード）またはハードウェアモジュールのいずれかを構成することが出来る。ハードウェアモジュールは、ある動作を実行することが出来る有形のユニットであり、ある方法で、構成され、または、配置されることが出来る。例示的実施形態においては、１以上のコンピュータシステム（例えば、スタンドアロン、クライアント、もしくはサーバコンピュータシステム）またはコンピュータシステムの１以上のハードウェアモジュール（例えば、プロセッサもしくはプロセッサのグループ）は、ここに記述したある動作を実行するように動作するハードウェアモジュールとして、ソフトウェア（例えば、アプリケーションもしくはアプリケーションの一部）によって構成されることが出来る。
【００８２】
様々な実施形態において、ハードウェアモジュールは、機械的または電子的に実装されることが出来る。例えば、ハードウェアモジュールは、ある動作を実行するために恒久的に構成された（例えば、ＦＰＧＡもしくはＡＳＩＣなど、専用プロセッサとして）専用回路あるいは論理を含むことが出来る。ハードウェアモジュールは、また、ある動作を実行するために、ソフトウェアによって一時的に構成される（例えば、汎用プロセッサもしくは他のプログラマブルプロセッサに含まれるような）プログラマブル論理または回路を含むことが出来る。機械的に、専用且つ恒久的に構成された回路で、または一時的に構成される（例えば、ソフトウェアによって構成される）回路で、ハードウェアモジュールを実装することの決定は、コストと時間を考慮に入れて行われ得ることが理解されるだろう。
【００８３】
従って、語句「ハードウェアモジュール」は、ある方法で動作する、及び／またはここに記述したある動作を実行するように、物理的に構成される、恒久的に構成される（例えば、ハードワイヤード）または一時的に構成される（例えば、プログラムされる）なら、有形なエンティティを含むと理解されるべきである。ハードウェアモジュールが一時的に構成される（例えば、プログラムされる）実施形態を考えるならば、ハードウェアモジュールの夫々は、ある瞬間に構成される、または実例化される必要はない。例えば、ハードウェアモジュールが、ソフトウェアを用いて構成される汎用プロセッサを含む場合、汎用プロセッサは、異なる時点で、それぞれ異なるハードウェアモジュールとして構成されることが出来る。ソフトウェアは、従って、例えば、ある瞬間に特定のハードウェアモジュールを構成し、異なる瞬間には、異なるハードウェアモジュールを構成するようにプロセッサを構成することが出来る。
【００８４】
ハードウェアモジュールは、他のハードウェアモジュールとの情報のやり取りを提供することが出来る。従って、記述されたハードウェアモジュールは、通信可能なように結合されているとみなすことが出来る。そのようなハードウェアモジュールが複数同時に存在する場合には、通信は、（例えば、適切な回路とハードウェアモジュールを接続するバスとを介して）信号伝送によって達成されることが出来る。複数のハードウェアモジュールが異なる時点で構成される、または実例化される実施形態においては、そのようなハードウェアモジュール間の通信は、例えば、複数のハードウェアモジュールがアクセスするメモリ構造内の情報の格納及び取得を介して、達成されることが出来る。例えば、一つのハードウェアモジュールは、動作を行い、その動作の出力を、通信可能に結合されているメモリデバイス内に格納することが出来る。更なるハードウェアモジュールは、そして、その後の時間に、格納された出力を取得し、処理するためにメモリデバイスにアクセスすることが出来る。ハードウェアモジュールは、また、入力または出力デバイスとの通信を開始することができ、リソース（例えば、情報の集合）を操作することが出来る。
【００８５】
ここに記述された例示的方法の様々な動作は、関連する動作を実行するように、（例えば、ソフトウェアによって）一時的に構成されるまたは、恒久的に構成される１以上のプロセッサによって、少なくとも部分的に実行されることが出来る。一時的に構成されるか、または恒久的に構成されるかによらず、そのようなプロセッサは、１以上の動作または機能を実行するように動作するプロセッサ実装のモジュールを構成することが出来る。ここに言うモジュールは、幾つかの例示的実施形態においては、プロセッサ実装のモジュールを含むことが出来る。
【００８６】
同様に、ここに記述した方法は、少なくとも部分的にプロセッサ実装されることが出来る。例えば、方法の動作のうちの少なくとも幾つかは、１以上のプロセッサまたはプロセッサ実装のモジュールによって実行されることが出来る。動作のうちのある動作の実行は、単一のマシンに存在するものだけではなく、複数のマシンに渡って展開された、１以上のプロセッサ間で分散されることが出来る。幾つかの例示的実施形態においては、プロセッサまたは複数のプロセッサは、（例えば、家庭環境、オフィス環境、もしくはサーバファームとして）単一の場所に配置されることができ、他の実施形態においては、プロセッサは、複数の場所に渡って分散されることが出来る。
【００８７】
１以上のプロセッサは、また、「クラウドコンピューティング」環境において、または「ソフトウェア・アズ・ア・サービス」（ＳａａＳ）として、関連の動作の実行をサポートするように動作することも出来る。例えば、動作のうちの少なくとも幾つかは、（プロセッサを含むマシンの例として）コンピュータのグループによって実行されることが出来、これらの動作は、ネットワーク（例えば、インターネット）を介して、及び、１以上の適切なインタフェース（例えば、ＡＰＩ）を介して、アクセスされることが出来る。
［電子装置及びシステム］
例示的実施形態は、デジタル電子回路、もしくはコンピュータハードウェア、ファームウェア、ソフトウェア、またはこれらの組み合わせで実装されることが出来る。例示的実施形態は、例えば、プログラマブルプロセッサ、コンピュータ、もしくは複数のコンピュータなどのデータ処理装置によって実行され、またはその動作を制御するために、情報担体、例えば、マシン読み可読媒体に有形に実体化されたコンピュータプログラムなどの、コンピュータプログラム製品を用いて実装されることが出来る。
【００８８】
コンピュータプログラムは、コンパイルされた、または解釈された言語を含む、プログラミング言語の任意の形態で書かれることができ、それは、スタンドアロンプログラムとして、またはモジュール、サブルーチンもしくはコンピューティング環境に用いるのに適した他のユニットとして含む、任意の形態で展開されることが出来る。コンピュータプログラムは、１つのコンピュータ上もしくは、１つのサイトの複数のコンピュータ上で実行されるように展開されることができ、または複数のサイトに分散されることができ、通信ネットワークによって相互接続されることが出来る。
【００８９】
例示的実施形態において、動作は、入力データに操作をし、出力を生成することにより、機能を実行するコンピュータプログラムを実行する１以上のプログラマブルプロセッサによって実行されることが出来る。方法の動作は、また、専用論理回路（例えば、ＦＰＧＡまたはＡＳＩＣ）によって実行され、例示的実施形態の装置は、専用論理回路（例えば、ＦＰＧＡまたはＡＳＩＣ）として実装されることが出来る。
【００９０】
コンピューティングシステムは、クライアントとサーバとを含むことができる。クライアントとサーバは、一般に、相互に離れており、典型的には、通信ネットワークを介して相互作用する。クライアントとサーバの関係は、それぞれのコンピュータ上で走り、相互にクライアント・サーバ関係を有するコンピュータプログラムによって発生する。プログラマブルコンピューティングシステムを展開する実施形態においては、ハードウェアとソフトウェアの両方のアーキテクチャを考える必要があることは理解されるだろう。特に、ある機能を、恒久的に構成されたハードウェア（例えば、ＡＳＩＣ）で実装するか、一時的に構成されたハードウェア（例えば、ソフトウェアとプログラマブルプロセッサとの組み合わせ）で実装するか、または、恒久的及び一時的に構成されるハードウェアの組み合わせで実装するかどうかの選択は、設計上の選択事項であり得ることが理解されるだろう。以下に、様々な例示的実施形態において、展開され得るハードウェア（例えば、マシン）及びソフトウェアアーキテクチャを説明する。
［例示的なマシンアーキテクチャ及びマシン可読媒体］
図１１は、コンピュータシステム１１００の例示的形態におけるマシンの概略的表現であり、これにおいては、ここに記述した方法のうちの任意の１以上の方法をマシンに実行させるための命令１１２４の集合が実行されることが出来る。コンピュータシステム１１００は、幾つかの実施形態に整合して、クライアントデバイス１０６、第三者サーバ１１４、または、アプリケーションサーバ１２２に対応することが出来る。別の実施形態においては、マシンは、スタンドアロンデバイスとして動作し、または、他のマシンに接続される（例えば、ネットワーク化される）ことが出来る。ネットワーク化された展開においては、マシンは、サーバ・クライアントネットワーク環境においては、サーバまたはクライアントマシンの能力で動作することができ、または、ピアツーピア（もしくは分散）ネットワーク環境においては、ピアマシンとして動作することが出来る。マシンは、パーソナルコンピュータ（ＰＣ）、タブレットＰＣ、セットトップボックス（ＳＴＢ）、ＰＤＡ、セル電話、スマートフォン（例えば、ｉＰｈｏｎｅ（登録商標））、タブレットコンピュータ、ウェブ装置、ネットワークルータ、スイッチもしくはブリッジ、またはそのマシンによって行われるべきアクションを特定する（シーケンシャルもしくはその他の）命令を実行することが出来る任意のマシンとすることが出来る。更に、単一のマシンのみが図示されているが、語句「マシン」は、また、ここに議論した方法のうちの任意の１以上の方法を実行するための命令の集合（もしくは、複数の集合）を個別に、または協働して実行するマシンの任意の集合を含むと解釈されるべきである。
【００９１】
例示的なコンピュータシステム１１００は、プロセッサ１１０２（例えば、中央演算装置（ＣＰＵ）、グラフィック処理ユニット（ＧＰＵ）、または両方）、メインメモリ１１０４及び静的メモリ１１０６を含み、これらは、相互にバス１１０８を介して通信する。コンピュータシステム１１００は、ビデオディスプレイユニット１１１０（例えば、液晶ディスプレイ（ＬＣＤ）または陰極線管（ＣＲＴ））を更に含むことが出来る。コンピュータシステム１１００は、また、１以上の入出力（Ｉ／Ｏ）デバイス１１１２、位置コンポーネント１１１４、ディスクドライブユニット１１１６、信号生成デバイス１１１８（例えば、スピーカ）、及びネットワークインタフェースデバイス１１２０を含む。Ｉ／Ｏデバイス１１１２は、例えば、キーボード、マウス、キーパッド、マルチタッチ面（例えば、タッチスクリーンまたはトラックパッド）、マイク、カメラなどを含むことが出来る。
【００９２】
位置コンポーネント１１１４は、コンピュータシステム１１００の位置を決定するために用いられることが出来る。幾つかの実施形態においては、位置コンポーネント１１１４は、ＧＰＳ信号をＧＰＳ衛星と通信するためのネットワークインタフェースデバイス１１２０を利用することが出来る、ＧＰＳトランシーバと対応することが出来る。位置コンポーネント１１１４は、また、インターネットプロトコル（ＩＰ）アドレスルックアップを用いることによって、または、近傍の携帯通信基地局に基づいて位置を三角測量することによって、コンピュータシステム１１００の位置を決定するように構成されることも出来る。位置コンポーネント１１１４は、メインメモリ１１０４または静的メモリ１１０６内にユーザ定義位置を格納するように更に構成されることが出来る。幾つかの実施形態においては、モバイル位置有効化アプリケーションは、コンピュータシステム１１００を操作しているユーザの位置を特定するために、アプリケーションサーバまたは第三者サーバにコンピュータシステム１１００の位置を送信するように、位置コンポーネント１１１４とネットワークインタフェースデバイス１１２０と共に動作することが出来る。
【００９３】
幾つかの実施形態においては、ネットワークインタフェースデバイス１１２０は、トランシーバとアンテナに対応することが出来る。トランシーバは、コンピュータシステム１１００の性質に依存して、アンテナを介して、セルラネットワーク信号、無線データ信号、または、他の種類の信号を送受信するように構成されることが出来る。
［マシン可読媒体］
ディスクドライブユニット１１１６は、ここに記述した方法もしくは機能のうちの任意の１以上を実体化し、または、これによって用いられるデータ構成および命令１１２４（例えば、ソフトウェア）のうちの１以上の集合が格納されるマシン可読媒体１１２２を含む。命令１１２４は、また、マシン可読媒体も構成するメインメモリ１１０４とプロセッサ１１０２と共に、コンピュータシステム１１００による実行中に、メインメモリ１１０４、静的メモリ１１０６、及び／または、プロセッサ１１０２内に、完全に、または少なくとも部分的に存在することも出来る。
【００９４】
幾つかの実施形態と整合して、命令１１２４は、オペレーティングシステム（ＯＳ）の動作に関連することが出来る。更に、命令１１２４は、幾つかの実施形態と整合して、アプリケーション（「アプリ」と一般に呼ばれる）によって実行される動作に関連することが出来る。そのようなアプリケーションの一例は、ウェブブラウザまたはブラウザを使うユーザインタフェースのような、コンテンツを表示するモバイルブラウザアプリケーションである。
【００９５】
マシン可読媒体１１２２が、例示的実施形態には、単一の媒体であるとして示されたが、語句「マシン可読媒体」は、１以上のデータ構造または命令１１２４を格納する単一の媒体または複数の媒体（例えば、集中、もしくは分散データベース、及び／または、関連するキャッシュ及びサーバ）を含むことが出来る。語句「マシン可読媒体」は、また、マシンによる実行のための、且つ、本開示の方法のうちの任意の１以上をマシンに実行させるための命令（例えば、命令１１２４）を格納し、符号化し、または、担持することができ、またはそのような命令に用いられ、もしくは、そのような命令に関連づけられるデータ構造を格納し、符号化し、または、担持することが出来る、任意の有形な媒体を含むものと解釈されるべきである。語句「マシン可読媒体」は、従って、これらには限定されないが、固体メモリ、光及び磁気媒体を含むものと解釈されるべきである。マシン可読媒体の特定の例は、例えば、半導体メモリデバイス（例えば、消去可能プログラマブルリードオンリメモリ（ＥＰＲＯＭ）、電気的に消去可能なプログラマブルリードオンリメモリ（ＥＥＰＲＯＭ））、及び、フラッシュメモリデバイス、内蔵ハードディスク及び取り外し可能なディスクなどの磁気ディスク、磁気光ディスク、及びＣＤ−ＲＯＭ、およびＤＶＤ−ＲＯＭディスクを含む不揮発性メモリを含む。
【００９６】
更に、有形マシン可読媒体は、伝送信号を具現化しないという意味において非一時的である。しかし、有形マシン可読媒体を「非一時的」とラベル付けすることは、媒体が移動できないことを意味すると解釈されるべきではなく、媒体は、ある実世界の位置から他の位置に輸送可能であると考えられるべきである。更に、マシン可読媒体は有形であるので、媒体は、マシン可読デバイスであると考えられることが出来る。
［伝送媒体］
命令１１２４は、伝送媒体を用いて、通信ネットワーク１１２６を介して更に送受信されることが出来る。命令１１２４は、ネットワークインタフェースデバイス１１２０及び、複数の既知の伝送プロトコルのうちの任意の１つ（例えば、ＨＴＴＰ）を用いて伝送されることが出来る。通信ネットワークの例は、ＬＡＮ、ＷＡＮ，インターネット、モバイル電話ネットワーク、ＰＯＴＳネットワーク、及び無線データネットワーク（例えば、ＷｉＦｉ及びＷｉＭａｘネットワーク）を含む。語句「伝送媒体」は、マシンによる実行のための命令１１２４を格納し、符号化し、または、担持することが出来る任意のマシン可読媒体を含むものと解釈されるべきであり、デジタルもしくはアナログ通信信号またはそのようなソフトウェアの通信を促進する他の遷移媒体を含む。
【００９７】
本発明の実施形態は、特定の例示的実施形態を参照して記述されたが、本発明の主題のより広い範囲から逸脱することなく、これらの実施形態に様々な変更や改変がなされ得ることは明らかであろう。従って、明細書と図面は、限定的な意味ではなく、例示的な意味としてみなされるべきである。本明細書の一部を形成する添付の図面は、例示によって、限定ではなく、主題が実施されうる特定の実施形態を示す。図示された実施形態は、当業者が、ここに開示された教示を実施することを可能とするように、十分詳細に記述されている。構造的及び論理的な置き換えと変更が、本開示の範囲から逸脱することなく行われるように、他の実施形態が用いられることが出来、これらから導出されることが出来る。この詳細な説明は、従って、限定的な意味で解釈されるべきではなく、様々な実施形態の範囲は、請求項が権利を付与される均等物の全範囲と共に、添付の請求項のみによって定義される。
【００９８】
本発明の主題のそのような実施形態は、単なる便宜上、及び、２以上が実際に開示される場合、任意の単一の発明または発明の概念にこの出願の範囲を自主的に限定することを意図せずに、語句「発明」によって、個別に、及び／又は集合的に言及されることが出来る。従って、特定の実施形態が、ここに図示され、記述されたが、同一の目的を達成するように計画された任意の配置は、示された特定の実施形態の代替とすることが出来ることを理解されたい。この開示は、様々な実施形態の任意の及びすべての適応または変形を包含することを意図されている。上記実施形態の組み合わせ、及び、ここには特に記述されない他の実施形態は、上記記述を吟味すれば、当業者には明らかであろう。
【００９９】
この文書で参照した、すべての公報、特許、及び特許文書は、参照により、個別に組み込まれたごとく、その全体においてここに参照により組み込まれる。この文書と、参照により組み込まれたこれらの文書との間で、語法に矛盾が発生した場合には、組み込まれた参照文献の語法は、この文書の語法に対する補足と考えられるべきであり、矛盾が解消しない場合、この文書の語法が優先する。
【０１００】
この文書においては、語句「一つ（ａ）」または「一つ（ａｎ）」が、特許文書で一般的なように、「少なくとも１つ（ａｔ  ｌｅａｓｔ  ｏｎｅ）」または「１以上（ｏｎｅ  ｏｒ  ｍｏｒｅ）」の任意の他の例または語法とは独立して、１以上を含むものとして用いられる。この文書においては、語句「または（ｏｒ）」は、非排他的であるか、または「ＡまたはＢ（Ａ  ｏｒ  Ｂ）」が、他に断られない限り、「ＡであるがＢでない（Ａ  ｂｕｔ  ｎｏｔ  Ｂ）」、「ＢであるがＡでない（Ｂ  ｂｕｔ  ｎｏｔ  Ａ）」及び「ＡでありＢである（Ａ  ａｎｄ  Ｂ）」を含むように言及するために用いられている。添付の請求項においては、語句「含む（ｉｎｃｌｕｄｉｎｇ）」及び「ｉｎ  ｗｈｉｃｈ」は、それぞれの語句「含む（ｃｏｍｐｒｉｓｉｎｇ）」及び「ｗｈｅｒｅｉｎ」の平易な英語の同意語として用いられている。また、以下の請求項においては、語句「含む（ｉｎｃｌｕｄｉｎｇ）」及び「含む（ｃｏｍｐｒｉｓｉｎｇ）」はオープンエンドで、つまり、請求項内でそのような語句の後に記載されるものに加えた要素を含むシステム、デバイス、製品、またはプロセスも、依然、その請求項の範囲内であると考えられる。更に、以下の請求項においては、語句「第１（ｆｉｒｓｔ）」、「第２（ｓｅｃｏｎｄ）」及び「第３（ｔｈｉｒｄ）」などは、単にラベルとしてのみ用いられており、その対象に数字的要件を課すことは意図していない。
【符号の説明】
【０１０１】
５００  検索問い合わせ
５０２  検索結果
５０４、５０６、５０８、５１０、５１２  アイテム
５１４  スクラッチパッドインタフェース
５１６、５１８  要素
５２０  グループ
５２２  タブ
５２４、５２６、５２８、５３０、５３２  検索結果
５３４、５３６  要素
５３８  グループ
５５０  検索問い合わせ
【図１】
2020173834.tif 000003
【図２】
2020173834.tif 000004
【図３】
2020173834.tif 000005
【図４Ａ】
2020173834.tif 000006
【図４Ｂ】
2020173834.tif 000007
【図５Ａ】
2020173834.tif 000008
【図５Ｂ】
2020173834.tif 000009
【図５Ｃ】
2020173834.tif 000010
【図５Ｄ】
2020173834.tif 000011
【図５Ｅ】
2020173834.tif 000012
【図６】
2020173834.tif 000013
【図７】
2020173834.tif 000014
【図８】
2020173834.tif 000015
【図９】
2020173834.tif 000016
【図１０】
2020173834.tif 000017
【図１１】
2020173834.tif 000018