(57)【要約】  あるアプリケーションと、特定の時刻におけるそのアプリケーションのステータスに対応するデータとを含むファイルが、ユーザ・デバイスの第１のメモリの中に保持され、その第１のメモリは、永続的ストレージを備えている。アプリケーションは、例えば、ソフトウェア・アプリケーションとすることができる。要求に応じて、ファイルは、デバイスの第２のメモリへと転送され、第２のメモリは、ランダム・アクセス・メモリを備えている。ファイルは、実行中のアプリケーションとしてアクティブにされ、またはセットアップされる。ユーザ・デバイスは、セル電話、ワイヤレス電話、携帯型個人情報端末、パーソナル・コンピュータ、ラップトップ・コンピュータ、ワークステーション、メインフレーム・コンピュータなどとすることができる。一実施形態においては、ファイルは、ユーザ・デバイスのフォアグラウンドへと持っていかれる。
2015528932.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ・デバイスの第１のメモリの中にファイルを保持するステップであって、前記ファイルは、以前に実行中のアプリケーションのローカル・バージョンと、時間の第１のインスタンスにおける前記以前に実行中のアプリケーションに関連する揮発性メモリのコンテンツに対応するデータとを含んでおり、前記第１のメモリは、永続的ストレージを備える、保持するステップと、
要求に応じて、前記ユーザ・デバイスの、ランダム・アクセス・メモリを備える第２のメモリに対して前記ファイルを転送するステップと、
時間の前記第１のインスタンスの後の時間の第２のインスタンスにおいて、時間の前記先行する第１のインスタンスから前記以前に実行中のアプリケーションの実行を継続するように、前記ファイルを実行中のアプリケーションとしてアクティブにするステップと
を含む方法。
【請求項２】
ユーザ・デバイスにより、前記ユーザ・デバイスの第１のメモリに記憶される前記ファイルを保持するステップであって、前記ファイルは、前記アプリケーションと、特定の時刻における前記アプリケーションのステータスに対応するデータとを含んでおり、前記第１のメモリは、永続的ストレージを備える、保持するステップと、
要求に応じて、前記ユーザ・デバイスの、ランダム・アクセス・メモリを備える第２のメモリに対して前記ファイルを転送するステップと
をさらに含む、請求項１に記載の方法。
【請求項３】
それぞれの各ファイルが、それぞれのソフトウェア・アプリケーションと、前記それぞれのアプリケーションのステータスに対応するデータとを含む、複数のファイルを前記第１のメモリの中に保持するステップと、
前記複数のファイルにそれぞれ対応する複数のオプションを表示するステップと、
前記複数のオプションのうちの１つの選択を受信するステップと
をさらに含む、請求項１に記載の方法。
【請求項４】
前記第１のメモリに記憶されるファイルの数が、所定の数を超過する場合に、前記第１のメモリから前記複数のファイルのうちの１つまたは複数を取り除くステップ
をさらに含む、請求項３に記載の方法。
【請求項５】
前記第１のメモリは、長期メモリを備え、また
前記第２のメモリは、実行中のメモリを備える、請求項１に記載の方法。
【請求項６】
永続的ストレージを備えており、第１のデータを記憶するように構成された第１のメモリと、
ランダム・アクセス・メモリを備えており、第２のデータを記憶するように構成された第２のメモリと、
前記第１のメモリに、以前に実行中のアプリケーションのローカル・バージョンと、時間の第１のインスタンスにおいて前記以前に実行中のアプリケーションに関連する揮発性メモリのコンテンツに対応するデータとを含むファイルを記憶し、
要求に応じて、前記第２のメモリに対して前記ファイルを転送し、また
時間の前記第１のインスタンスの後の時間の第２の第２のインスタンスにおいて、時間の前記先行する第１のインスタンスから前記以前に実行中のアプリケーションの実行を継続するように前記ファイルを実行中のアプリケーションとしてアクティブにするように
構成されたプロセッサと
を備えるデバイス。
【請求項７】
前記プロセッサは、さらに、前記デバイスのフォアグラウンドに前記ファイルを持ってくるように構成されている、請求項６に記載のデバイス。
【請求項８】
前記プロセッサは、さらに、それぞれの各ファイルが、それぞれのアプリケーションと、前記それぞれのファイルが生成されたときにおける前記それぞれのアプリケーションのステータスに対応するデータとを含む、複数のファイルを前記第１のメモリの中に保持するように構成されている、請求項６に記載のデバイス。
【請求項９】
前記プロセッサは、さらに、前記第１のメモリに記憶されるファイルの数が、所定の数を超過する場合に、前記第１のメモリから前記複数のファイルのうちの１つまたは複数を取り除くように構成されている、請求項６に記載のデバイス。
【請求項１０】
前記デバイスは、セル電話と、ワイヤレス電話と、携帯型個人情報端末と、パーソナル・コンピュータと、ラップトップ・コンピュータと、ワークステーションと、メインフレーム・コンピュータとのうちの１つを備える、請求項６に記載のデバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本明細書は、一般に、ネットワークを経由してアプリケーションにアクセスするためのシステムおよび方法に関し、またより詳細には、ネットワークにおいてナビゲーションを管理するためのシステムおよび方法に関する。
【背景技術】
【０００２】
インターネットの使用が増大するにつれて、ウェブサイトの間でナビゲートするためのツールおよび方法が、ますます重要になっている。多数のインターネット・ブラウザにより、ユーザは、ブックマークのリスト、またはお気に入りのウェブサイトのリストを生成できるようになる。そのようなリストは、一般的に、ユーザが選択している様々なウェブサイトに対するリンクを含んでいる。そのようなリンクは、例えば、ユニフォーム・リソース・ロケータ（ＵＲＬ：ｕｎｉｆｏｒｍ  ｒｅｓｏｕｒｃｅ  ｌｏｃａｔｏｒ）を含むこともある。ユーザが、その後に、ブックマークまたはお気に入りのアイコンを選択するときに、ブラウザは、リンクにアクセスして、関連するウェブサイトにアクセスする。
【発明の概要】
【課題を解決するための手段】
【０００３】
一実施形態によれば、あるアプリケーションと、特定の時刻におけるそのアプリケーションのステータスに対応するデータとを含むファイルが、ユーザ・デバイスの第１のメモリの中に保持され、その第１のメモリは、永続的ストレージを備えている。アプリケーションは、例えば、ソフトウェア・アプリケーションとすることができる。要求に応じて、ファイルは、デバイスの第２のメモリへと転送され、第２のメモリは、ランダム・アクセス・メモリを備えている。ファイルは、実行中のアプリケーションとしてアクティブにされ、またはセットアップされる。ユーザ・デバイスは、セル電話、ワイヤレス電話、携帯型個人情報端末（ｐｅｒｓｏｎａｌ  ｄｉｇｉｔａｌ  ａｓｓｉｓｔａｎｔ）、パーソナル・コンピュータ、ラップトップ・コンピュータ、ワークステーション、メインフレーム・コンピュータなどとすることができる。一実施形態においては、ファイルは、ユーザ・デバイスのフォアグラウンドへと持っていかれる。
【０００４】
一実施形態においては、第１のメモリは、長期メモリを備えており、また第２のメモリは、実行中のメモリを備えている。
【０００５】
別の実施形態においては、複数のファイルが、第１のメモリに保持され、それぞれの各ファイルは、それぞれのソフトウェア・アプリケーションと、そのそれぞれのアプリケーションのステータスに対応するデータとを含む。複数のファイルにそれぞれ対応する複数のオプションが、表示される。複数のオプションのうちの１つの選択が、受信される。
【０００６】
一実施形態においては、第１のメモリに記憶されるファイルの数が、所定の数を超過する場合に、複数のファイルのうちの１つまたは複数が、第１のメモリから取り除かれる。各ファイルが、ファイルが記憶された時刻を示すタイムスタンプを含むこともある。複数のファイルのうちの選択された１つが、それぞれのタイムスタンプに基づいて、第１のメモリから取り除かれることもある。
【０００７】
本開示のうちのこれらの利点および他の利点は、以下の詳細な説明および添付の図面を参照すれば、当業者には明らかであろう。
【図面の簡単な説明】
【０００８】
【図１】一実施形態による通信システムを示す図である。
【図２Ａ】一実施形態による例示のユーザ・デバイスの機能コンポーネントを示す図である。
【図２Ｂ】一実施形態による例示のユーザ・デバイスの機能コンポーネントを示す図である。
【図２Ｃ】一実施形態による例示のユーザ・デバイスの機能コンポーネントを示す図である。
【図２Ｄ】一実施形態による例示のユーザ・デバイスの機能コンポーネントを示す図である。
【図３Ａ】一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。
【図３Ｂ】一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。
【図３Ｃ】一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。
【図３Ｄ】一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。
【図３Ｅ】一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。
【図３Ｆ】一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。
【図３Ｇ】一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。
【図３Ｈ】一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。
【図４】一実施形態による、ブレッドクラム（ｂｒｅａｄｃｒｕｍｂ）を取り出し、またアクティブにする方法を示すフローチャートである。
【図５Ａ】一実施形態による、図２Ａ〜２Ｄのユーザ・デバイスの機能コンポーネントを示す図である。
【図５Ｂ】一実施形態によるウェブ・ページを示す図である。
【図６】本発明のある種の実施形態を実施するために使用され得る例示のコンピュータのコンポーネントを示す図である。
【発明を実施するための形態】
【０００９】
図１は、一実施形態による、オンライン・サービスを提供するために使用され得る通信システム１００を示すものである。通信システム１００は、ネットワーク１０５と、第１のサーバ１４１と、第２のサーバ１５１と、ユーザ・デバイス１６０とを備えている。図１の例示の実施形態においては、ネットワーク１０５は、インターネットである。他の実施形態においては、ネットワーク１０５は、例えば、イントラネット、ローカル・エリア・ネットワーク（ＬＡＮ：ｌｏｃａｌ  ａｒｅａ  ｎｅｔｗｏｒｋ）、広域ネットワーク（ＷＡＮ：ｗｉｄｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、ワイヤレス・ネットワーク、ファイバ・チャネル・ベースのストレージ・エリア・ネットワーク（ＳＡＮ：ｓｔｏｒａｇｅ  ａｒｅａ  ｎｅｔｗｏｒｋ）、イーサネット（Ｅｔｈｅｒｎｅｔ）など、いくつかの異なるタイプのネットワークのうちの１つまたは複数を備えることができる。他のネットワークが、使用されてもよい。代わりに、ネットワーク１０５は、異なるタイプのネットワークの組合せを備えることもできる。
【００１０】
図１の実例となる実施形態においては、サーバ１４１は、ウェブサイト１４２を保持し、また動作させ、このウェブサイトは、ネットワーク１０５を経由してオンライン・サービスを提供する。ウェブサイト１４２は、サーバ１４１によってホストされ、また例えば、従来のウェブ・ブラウザを使用して視聴され得るワールド・ワイド・ウェブ・ページ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ  ｐａｇｅ）を経由してアクセス可能とすることができる。
【００１１】
ウェブサイト１４２は、アプリケーション１４５を含めて、サーバ１４１の上に記憶される１つまたは複数のソフトウェア・アプリケーションに関連づけられる。図１の実例となる実施形態においては、アプリケーション１４５は、オンライン・ゲーム・アプリケーションである。例えば、ユーザは、ウェブサイト１４２にアクセスし、またウェブ・ページの上に表示される適切なアイコンを選択することにより、ゲームをすることを選択することができる。ユーザが、アイコンを選択するときに、アプリケーション１４５は、実行し、ユーザが、望ましいゲームをすることができるようになる。他の実施形態においては、アプリケーション１４５は、オンライン情報サービス、オンライン・ドキュメント処理サービス、オーディオ、ビデオを再生し、またはテキストを示すメディア配信サービス、オーディオ、ビデオ、およびテキストの任意の組合せなど、他の任意のタイプのアプリケーション、電子メール・リーダー、ブック・リーダー、写真または技術的図面についてのビューア（ｖｉｅｗｅｒｓ）を含む写真またはスライドショーのビューア、ソーシャル・ネットワーキング・ウェブサイト、ブログ、地図（道路地図や気候地図など）、オンライン・ホワイトボード、描画ツールなどの通信アプリケーション、あるいはネットワーク１０５を経由してアクセス可能な他の任意のタイプのサービスを含むことができる。
【００１２】
ユーザ・デバイス１６０を使用するユーザが、ウェブサイト１４２にアクセスし、またアプリケーション１４５をアクティブにするときに、サーバ１４１は、ユーザ・デバイス１６０に対してアプリケーション１４５のすべてまたは一部分をサービスする。ユーザ・デバイス１６０は、アプリケーション（またはその一部分）を受信し、また実行中のメモリにアプリケーション（またはその一部分）を記憶する。次いで、実行中のメモリの中のアプリケーション１４５のバージョンは、ユーザ・デバイス１６０の上の実行中のアプリケーションとして、アクティブにされ、またはセットアップされる。一実施形態においては、アプリケーションまたはプログラムは、アクティブなメモリの中へと配置され、またアプリケーションまたはプログラムは、実行のために準備され、ある機能が、使用される特定のオペレーティング・システムのコンテキストに依存して、デバイスのオペレーティング・システムによって正常に実行される。
【００１３】
同様に、サーバ１５１は、ネットワーク１０５を経由してオンライン・サービスを提供するウェブサイト１５２を保持し、また動作させる。ウェブサイト１５２は、サーバ１５１によってホストされ、また例えば、従来のウェブ・ブラウザを使用して視聴され得るワールド・ワイド・ウェブ・ページを経由してアクセス可能とすることができる。
【００１４】
ウェブサイト１５２は、アプリケーション１５５を含めて、サーバ１５１の上に記憶される１つまたは複数のソフトウェア・アプリケーションに関連づけられる。図１の実例となる実施形態においては、ウェブサイト１５２は、様々なニュース記事に対してアクセスを提供するニュース・ウェブサイトであり、またアプリケーション１５５は、選択されたニュース記事を表示するアプリケーションである。例えば、ユーザは、ウェブ・ページの上に表示される適切なアイコンを選択することにより、ウェブサイト１５２にアクセスし、またある記事を読むことを選択することができる。ユーザが、アイコンを選択するときに、アプリケーション１５５は、実行し、ユーザは、望ましい記事を読むことができるようになる。他の実施形態においては、アプリケーション１５５は、オンライン・ゲーム・アプリケーション、オンライン情報サービス、オンライン・ドキュメント処理サービス、オーディオ、ビデオを再生し、またはテキストを示すメディア配信サービス、オーディオ、ビデオ、およびテキストの任意の組合せなど、他の任意のタイプのアプリケーション、電子メール・リーダー、ブック・リーダー、写真または技術的図面についてのビューアを含む写真またはスライドショーのビューア、ソーシャル・ネットワーキング・ウェブサイト、ブログ、地図（道路地図や気候地図など）、オンライン・ホワイトボード、描画ツールなどの通信アプリケーション、あるいはネットワーク１０５を経由してアクセス可能な他の任意のタイプのサービスを含むことができる。
【００１５】
ユーザ・デバイス１６０を使用するユーザが、ウェブサイト１５２にアクセスし、またアプリケーション１５５をアクティブにするときに、サーバ１５１は、ユーザ・デバイス１６０に対してアプリケーション１５５のすべてまたは一部分をサービスする。ユーザ・デバイス１６０は、アプリケーション（またはその一部分）を受信し、また実行中のメモリにアプリケーション（またはその一部分）を記憶する。次いで、実行中のメモリの中のアプリケーション１５５のバージョンは、ユーザ・デバイス１６０の上の実行中のアプリケーションとしてアクティブにされ、またはセットアップされる。
【００１６】
ユーザ・デバイス１６０は、ユーザが、ネットワーク１０５を経由して通信することを可能にする任意のデバイスとすることができる。ユーザ・デバイス１６０は、直接の（有線の）リンクを通して、またはワイヤレスにネットワーク１０５に接続されることもある。ユーザ・デバイス１６０は、情報を表示するためのディスプレイ画面（図示されず）を有することができる。図１の実例となる実施形態においては、ユーザ・デバイス１６０は、セル電話または他のワイヤレス電話、携帯型個人情報端末などのモバイル通信デバイスを備える。代わりに、ユーザ・デバイス１６０は、パーソナル・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、ワークステーション、メインフレーム・コンピュータなどとすることもできる。他のデバイスが、使用されてもよい。
【００１７】
図２Ａは、一実施形態によるユーザ・デバイス１６０の機能コンポーネントを示すものである。ユーザ・デバイス１６０は、ウェブ・ブラウザ２１０と、ディスプレイ２７０とを備える。ウェブ・ブラウザ２１０は、例えば、インターネットを経由してワールド・ワイド・ウェブ・サイトにアクセスするために使用される従来のウェブ・ブラウザとすることができる。ディスプレイ２７０は、ユーザに対してテキスト・ドキュメントと、スプレッドシート・データと、ウェブ・ページと、ビデオと、他の情報とを表示する。例えば、オンライン・ゲームのウェブ・ページは、ディスプレイ２７０の上に表示されることもある。
【００１８】
ユーザ・デバイス１６０は、オペレーティング・システム２５２を備えている。オペレーティング・システム２５２は、ユーザ・デバイス１６０の他のコンポーネントのオペレーションを制御する。オペレーティング・システム２５２は、例えば、ソフトウェアを備えることができる。
【００１９】
ユーザ・デバイス１６０はまた、実行中のメモリ２２５と、長期ストレージ２３５とを備える。実行中のメモリ２２５は、ユーザ・デバイス１６０が動作している間に、制御データと他の情報とを一時的に記憶するために、ユーザ・デバイス１６０の他のコンポーネントによって時々使用される。時々、ソフトウェア・アプリケーションのすべてまたは一部分は、アプリケーションが、ユーザ・デバイス１６０の上で実行している間に、実行中のメモリ２２５に一時的に記憶されることもある。例えば、オンライン・アプリケーションが、ネットワーク１０５を経由してアクセスされるときに、オンライン・アプリケーションのすべてまたは一部分は、アプリケーションが実行している間に、実行中のメモリ２２５に記憶され、また一時的に保持されることもある。一般的に、ユーザが、オンライン・アプリケーションをログオフし、またはオンライン・アプリケーションからナビゲートして離れるときに、実行中のメモリ２２５に保持されたオンライン・アプリケーション（またはその一部分）は、実行中のメモリ２２５から取り除かれることもある。実行中のメモリ２２５は、例えば、スタティック・ランダム・アクセス・メモリ（ＲＡＭ：ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、またはダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ：ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）を備えることができる。他の実施形態においては、実行中のメモリ２２５は、他のタイプのメモリ・デバイスを備えることもできる。
【００２０】
長期ストレージ２３５は、実行中のメモリ２２５よりももっと永続的で長期になるようにして、様々なタイプのデータを記憶する。長期ストレージ２３５は、ユーザまたはアプリケーションが、取り出すためのデータの論理的分割を指定することができる不揮発性の永続的ストレージを備えることができる。一実施形態においては、長期ストレージ２３５は、例えば、コードの実行のためにプロセッサに対して直接に送信される命令およびデータのために使用されるワーキング・メモリ以外の任意のメモリを備えることができる。様々な実施形態において、長期メモリ２３５は、限定することなく、１つまたは複数の回転するディスク・ドライブ、ソリッド・ステート・ディスク・ドライブ、光ディスク、テープ・ドライブ、ＳＤカードやマイクロＳＤカードなどの着脱可能メモリ・チップ、ＵＳＢドライブ、ネットワーク・ストレージ、クラウド・ストレージ・メカニズムなどを備えることができる。長期ストレージ２３５は、オペレーティング・システムによって「マウント」されることもあり、またアドレス指定可能な「ドライブ」空間（システム・メモリの拡張に対立するものとして）とすることができる。他のタイプのメモリ・デバイスが、使用されてもよい。
【００２１】
ユーザ・デバイス１６０はまた、ブレッドクラム・マネージャ２６０も備える。ブレッドクラム・マネージャ２６０は、時々、ユーザ・デバイス１６０が、現在ネットワーク１０５を経由してアクセスしているオンライン・アプリケーション（アプリケーション１４５やアプリケーション１５５など）に関する情報を記憶する要求を受信する。それに応じて、ブレッドクラム・マネージャ２６０は、長期ストレージ２３５に、ユーザ・デバイスが現在アクセスしているアプリケーションに関する情報を記録する。情報は、ＲＡＭに記憶されるアプリケーションのローカル・バージョンと、関連したデータとを含むことができる。そのようなファイルは、本明細書において、「ブレッドクラム」と称される。
【００２２】
図１の実施形態によれば、ユーザは、ユーザ・デバイス１６０を使用して、ネットワーク１０５を経由して様々なウェブサイトにアクセスすることができる。例えば、ユーザは、ユーザ・デバイス１６０を使用して、ウェブサイト１４２にアクセスし、またアプリケーション１４５に関連する特定のゲームをすることができる。ウェブサイト１４２と、アプリケーション１４５とにアクセスしながら、ユーザは、アプリケーション１４５に関連するブレッドクラムを生成し、また記憶して、ユーザが、後で、アプリケーション１４５に関連する選択されたウェブ・ページに戻ることを可能にすることができる。次いで、ユーザは、他のウェブサイトにナビゲートし、またその後に、記憶されたブレッドクラムを使用して、アプリケーション１４５と、選択されたウェブ・ページに戻ることができる。
【００２３】
ユーザが、ブラウザ２１０（ユーザ・デバイス１６０の）を使用して、ウェブサイト１４２にアクセスして、望ましいゲームをすることを仮定する。よく知られているやり方では、ユーザは、ユーザ・アカウントにログインして、ウェブサイトにアクセスすることが必要とされることもある。
【００２４】
例えば、ユーザは、ブラウザ２１０を使用して、ウェブサイト１４２へとナビゲートすることができる。ユーザが、ウェブサイト１４２にアクセスするときに、ウェブサイト１４２は、ブラウザ２１０と通信し、また図３Ａに示されるウェブ・ページなどのウェブ・ページが、ディスプレイ２７０の上に表示されるようにさせることができる。ウェブ・ページ３０４は、「すばらしいゲーム（Ｆａｎｔａｓｔｉｃ  Ｇａｍｅｓ）」という名称のウェブ・ページを示すものである。ブラウザ２１０はまた、ファイル・オプション３１７や、ユーザがページ３０４の内部でスクロール・アップし、またスクロール・ダウンすることを可能にするスクロール・バー３２２など、１つまたは複数のメニュー・オプションを表示するメニュー・バー３１５を表示することもできる。他の実施形態においては、メニュー・バーおよび／またはスクロール・バーは、表示されないこともある。ウェブ・ページ３０４は、「ゲーム１０００（Ｇａｍｅ  １０００）」という名称の特定のゲームをするように選択され得るアイコン３０７を含んでいる。実例となる実施形態においては、アプリケーション１４５は、「ゲーム１０００」という名称のゲームに関連づけられる。
【００２５】
ユーザが、「ゲーム１０００」をすることを望むことを仮定すると、ユーザは、カーソル３０９を用いてアイコンをクリックすることにより、または指でアイコンを（例えば、タッチ画面の上で）押すことにより、アイコン３０７を選択する。ユーザが、アイコン３０７を選択するときに、ウェブサイト１４２は、ユーザ・デバイス１６０に対して、アプリケーション１４５のすべてまたは一部分のバージョンを提供することにより応答する。ユーザ・デバイス１６０は、アプリケーション１４５のこのバージョンを受信し、また図２Ａに示されるように、それをローカル・バージョン（Ａ）２８０として実行中のメモリ２２５に記憶する。
【００２６】
実例となる実施形態においては、ローカル・バージョン（Ａ）２８０は、ユーザ・デバイス１６０の上で実行し（例えば、実行し、または起動し）、また図３Ｂにおいて示されるウェブ・ページなどのウェブ・ページが、ディスプレイ２７０（ユーザ・デバイス１６０の）の上に現れるようにさせる。図３Ｂによって示されるように、ウェブ・ページ３３０は、望ましいゲームのページを示している。ユーザは、ゲームをし始める。ローカル・バージョン（Ａ）２８０は、ユーザが、ユーザのスコア、達成されるレベルなどを反映するようにゲームをする間に、アップデートされることもある。ユーザが、ゲームをする間に、ローカル・バージョン（Ａ）２８０はまた、ゲーム、ウェブ・ページ、および／またはユーザのアクティビティのステータスに関連したデータを（実行中のメモリ２２５の内部の他のロケーションにおいて）別々に記憶することもできる。例えば、入力についてのユーザの好み、セッションごとの、また集約したユーザの遊びの時間、ゲームの中で達成される１つまたは複数の達成についての表現（完了されたレベル、スコア、および／またはレベル当たりの格付けなど）、ユーザ認証情報（ユーザ名およびパスワード、例えば、ゲームに伴うユーザのアクティブ・セッションを追跡するためにローカル・バージョン（Ａ）２８０に対してアプリケーション１４５によって渡される１回限りの証明書など）、オンライン・マルチ・プレイヤー・ゲームの他のプレイヤーからの関連のある情報などの関連したデータが、実行中のメモリ２２５に記憶されることもある。
【００２７】
ユーザが、数分間にわたってゲームを行い、次いで電話コールを受信するものと仮定する。さらに、ユーザが、ページ３３０を閉じ、また電話コールを取りたいと思うが、ユーザが、後で（例えば、電話コールが終了した後に）、図３Ｂに示されるようにウェブ・ページ３３０に簡単に戻ることができるようにするためにブレッドクラムを生成したいと思うものと仮定する。一実施形態によれば、ユーザは、ユーザが現在アクセスしている、ウェブ・ページ３３０に関連した情報を含むファイルを生成し、また長期ストレージ２３５に保存することができる。
【００２８】
一実施形態においては、ユーザは、例えば、コンピュータ・マウスの上のボタンをトリプル・クリックすることにより、「保存ブレッドクラム（ｓａｖｅ  ｂｒｅａｄｃｒｕｍｂ）」オプションを選択する。代わりに、ユーザは、アイコンを、またはタッチ・スクリーンの上の指定されたロケーションをトリプル・クリックすることもできる。代わりに、図３Ｃに示されるように、ユーザは、画面の上に表示されるメニュー３９１から「保存ブレッドクラム」オプション３９６を選択することもできる。代わりに、オペレーティング・システムは、例えば、ゲーム・アプリケーションが、進行中であり、またコールが受信されるときに、ブレッドクラムを自動的に生成するようにあらかじめ構成されていることもある。ブレッドクラムを保存するオプションを選択する他の方法が、使用されることもある。ブレッドクラム・マネージャ２６０は、保存ブレッドクラム・オプションのユーザの選択を受信する。
【００２９】
保存ブレッドクラム・オプションのユーザの選択に応じて、ブレッドクラム・マネージャ２６０は、図２Ｂに示されるように、実行中のメモリ２２５からコピーされる他の関連したデータと一緒に、ローカル・バージョン（Ａ）２８０を含むファイルが、ブレッドクラムＡ（２９０）として、長期ストレージ２３５に保存され、または長期ストレージ２３５に対して転送されるようにさせる。そのようなファイルは、「ブレッドクラム」と称される。
【００３０】
一実施形態においては、ブレッドクラムは、以下で説明される情報のすべてまたは一部分を含んでいる。以下の説明は、ジャバ・スクリプト・オブジェクト表記法（ＪＳＯＮ：ＪａｖａＳｃｒｉｐｔ  Ｏｂｊｅｃｔ  Ｎｏｔａｔｉｏｎ）とアンドロイド・オペレーティング・システムとに関連する専門用語と表記法とを使用する。ＸＭＬフォーマットや独自フォーマットなど、他のフォーマットと、他のオペレーティング・システムとが、使用されることもある。
【００３１】
アプリケーションのローカル・バージョンに関連するブレッドクラムは、以下のフィールド：ｉｄ、ａｐｐＮａｍｅ（アプリケーション名）、ｄｅｓｃ、ｔｉｍｅｓｔａｍｐ（タイムスタンプ）、ｄｅｘ、ｒａｍを含む。フィールドｉｄは、ブレッドクラムを組織化するように割り当てられる固有識別子である。フィールドａｐｐＮａｍｅは、アプリケーションについてのユーザ・デバイスの名前を含んでおり、この名前は、一般的に、アプリケーションを最初に起動するために使用される実行ファイルの名前である。「ｄｅｓｃ」フィールドは、ユーザに対してアプリケーションを説明するためにデバイスによって使用される長いアプリケーション名を含んでいる。フィールド「ｔｉｍｅｓｔａｍｐ」は、いつブレッドクラムが、最初に記憶されたかを示している。一実施形態においては、ｔｉｍｅｓｔａｍｐは、よく知られているティックス・フォーマット（ｔｉｃｋｓ  ｆｏｒｍａｔ）を使用して示される。フィールド「ｄｅｘ」とフィールド「ｒａｍ」とは、おのおの、長さが、多数メガバイトのものとすることができる。これらのフィールドのおのおのは、２進法データを保持する。フィールド「ｄｅｘ」は、アプリケーションのための実際のファイルを含んでいる。フィールド「ｒａｍ」は、それが一般的にシステムＲＡＭの中で実行している間に、アプリケーションに関連づけられるすべてのランダム・アクセス・メモリ（ＲＡＭ）の内容を含んでいる。それゆえに、フィールド「ｒａｍ」は、ブレッドクラムが取られた時刻にメモリに記憶されるようなアプリケーションの表現である。このデータは、一般的に、ＲＡＭの中にあり、アプリケーションの一部分またはすべては、ページ・ファイルに対してスワップされることもある（これは、オペレーティング・システムが、アプリケーションの一部分を物理的ＲＡＭから追い出し、またストレージに入れるときに行われる）。そのようなメモリ・スワッピング技法は、当業者にはよく知られている。
【００３２】
２進法を生来サポートするこれらのフォーマットを含めて、他のフォーマットが、ｄｅｘ内容とｒａｍ内容との両方のために、またブレッドクラムそれ自体のためにも使用されることもある。ユーザの好み、システムについての固有の識別子などのシステム情報、ネットワーク・インターフェース制御装置（ＮＩＣ：ｎｅｔｗｏｒｋ  ｉｎｔｅｒｆａｃｅ  ｃｏｎｔｒｏｌｌｅｒｓ）など、任意のハードウェア・デバイスの関連のある状態、またはブレッドクラムを識別し、また使用するために有用な他の任意の情報を含めて、追加の情報が、ブレッドクラムと一緒に記憶されることもある。
【００３３】
次に、電話コールを完了した後に、ユーザが、「ゲーム１０００」に戻ることに先立って、いくつかのニュース記事を再検討することを決定することを仮定する。ユーザは、それに応じて、ブラウザ２１０を使用し、また新しいウェブサイト１５２へとナビゲートする。ユーザが、ウェブ・ページ３３０の上に表示される「ゲーム１０００」からナビゲートして離れるときに、ローカル・バージョン（２８０）は、図２Ｂに示されるように、実行中のメモリ２２５から取り除かれることもある。
【００３４】
ユーザが、ウェブサイト１５２にアクセスするときに、ウェブサイト１５２は、アプリケーション１５５のローカル・バージョンが、図２Ｃに示されるように、ローカル・バージョン（Ｂ）２８１として実行中のメモリ２２５に記憶されるようにさせる。ローカル・バージョン（Ｂ）２８１は、図３Ｄに示されるウェブ・ページなどニュース・ウェブ・ページが、ディスプレイ２７０の上に表示されるようにさせる。「ニュース・ウェブサイト（Ｎｅｗｓ  Ｗｅｂｓｉｔｅ）」という名称のニュース・ウェブ・ページ３３４は、「ニュース・ストーリーＡ」についての第１のアイコン３９８と、「ニュース・ストーリーＢ」についての第２のアイコン３９９とを含む。ユーザが、アイコン３９９をクリックすることを仮定すると、ローカル・バージョン（Ｂ）２８１は、「ニュース・ストーリーＢ」という名称の記事３８３を示すウェブ・ページ３３６が、図３Ｅに示されるように、表示されるようにさせる。
【００３５】
ユーザが、記事３８３の一部分を読み、また次いで彼が後でウェブ・ページ３３６に簡単に戻って、その記事を読むことを完了することができるようにするために、第２のブレッドクラムを生成したいと思うものと仮定する。ユーザは、それに応じてウェブ・ページ３３６に関連した情報を含む第２のブレッドクラムを生成する。ユーザは、上記で説明されるようにして、保存ブレッドクラム・オプションを選択する。ブレッドクラム・マネージャ２６０は、保存ブレッドクラム・オプションのユーザの選択を受信し、またそれに応じてローカル・バージョン（Ｂ）２８１に関連するブレッドクラムが、長期ストレージ２３５に保存されるようにさせる。図２Ｄを参照すると、ローカル・バージョン（Ｂ）２８１に関連するブレッドクラムが、ブレッドクラムＢ（２９１）として長期ストレージ２３５に記憶される。
【００３６】
ユーザは、次に、ウェブ・ページ３３６からナビゲートして離れて、図３Ｆに示されるウェブ・ページ３６１など、ソーシャル・ネットワーキング・ウェブサイトにおける個人ウェブ・ページを訪問する。ユーザが、ウェブ・ページ３３６からナビゲートして離れるときに、ローカル・バージョン（Ｂ）２８１は、図２Ｄに示されるように、実行中のメモリ２２５から取り除かれる。
【００３７】
次に、ユーザが、彼が電話コールを受信したときに彼が遊んでいた「ゲーム１０００」のページに戻りたいと思うものと仮定する。図４は、一実施形態による、ブレッドクラムを取り出し、またアクティブにするための方法についてのフローチャートである。ステップ４１０において、アプリケーションと、特定の時刻におけるそのアプリケーションのステータスに対応するデータとを含むファイルが、長期メモリに保持される。上記で考察されるように、ブレッドクラムＡ（２９０）と、ブレッドクラムＢ（２９１）とは、ユーザ・デバイス１６０の長期ストレージ２３５に保持される。
【００３８】
一実施形態によれば、ユーザは、ブレッドクラムを取り出すオプションを選択することができる。例えば、ユーザは、適切なボタンをクリックして、図３Ｇにおいて示されるメニューなどのメニューが、現れるようにさせることができる。メニュー３７２は、取り出しブレッドクラム・オプション（ｒｅｔｒｉｅｖｅ  ｂｒｅａｄｃｒｕｍｂ  ｏｐｔｉｏｎ）３７７を含んでいる。実例となる実施形態においては、ユーザは、取り出しブレッドクラム・オプション３７７を選択し、またそれに応じてブレッドクラム・マネージャ２６０は、ストレージにおいて、ブレッドクラムＡ（２９０）とブレッドクラムＢ（２９１）とを識別する。
【００３９】
複数の記憶されたブレッドクラム・ファイルにそれぞれ対応する複数のオプションが、表示される。このようにして、ブレッドクラム・マネージャ２６０は、１つまたは複数のアイコンを含む第２のメニューが、図３Ｈに示されるように、ディスプレイ２７０の上に表示されるようにさせる。メニュー３９４は、ブレッドクラムＡ（２９０）に関連する第１のアイコン３９６と、ブレッドクラムＢ（２９１）に関連する第２のアイコン３９７とを含む。
【００４０】
複数のオプションのうちの１つの選択が受信される。ブレッドクラムＡが、「ゲーム１０００」に関連することを思い起こして、ユーザは、ブレッドクラムＡ（２９０）に関連するアイコン３９６を選択する。ブレッドクラム・マネージャ２６０は、ユーザの選択を受信する。
【００４１】
ステップ４２０において、ユーザ要求に応じて、ファイルは、実行中のメモリへと転送される。それゆえに、取り出しブレッドクラム・オプション３７７と、アイコン３９６とのユーザの選択に応じて、ブレッドクラム・マネージャ２６０は、図５Ａに示されるように、長期ストレージ２３５からブレッドクラムＡ（２９０）のコピーを取り出し、またブレッドクラムＡ（２９０−Ｒ）として実行中のメモリ２２５にそのコピーを記憶する。
【００４２】
ステップ４３０において、ファイルは、実行中のアプリケーションとしてアクティブにされ、またはセットアップされる。一実施形態においては、ファイルは、再起動される。別の実施形態においては、ファイルは、再実行される。別の実施形態においては、ファイルの一部分は、オペレーティング・システムにより、使用可能としてリストアップされた（または使用可能でないとしてリストアップされない）ＲＡＭメモリのセクションにコピーされる。オペレーティング・システムのメモリ追跡テーブルは、この変更を反映するように修正され、またホスト・プロセッサのレジスタの値は、オペレーティング・システムの命令レジスタを除いて、それらがブレッドクラムが生成されたときに設定された値に設定され、このオペレーティング・システムの命令レジスタは、ブレッドクラムが生成されたときにそれが設定された同じオフセットでアクティブ・メモリの内部のメモリ・ロケーションに設定される。例えば、命令が、ブレッドクラムが生成されたときにアクティブ・メモリの中のアプリケーションの１００番目のワードにあった場合に、オペレーティング・システムの命令レジスタは、ワーキング・メモリの中のアプリケーションの１００番目のワードに設定される（これは、一般的に、物理システムＲＡＭの中の、またはオペレーティング・システムのメモリ・アドレス空間の中の異なる値である）。
【００４３】
実例となる実施形態においては、ブレッドクラム・マネージャ２６０は、今や実行中のメモリ２２５に記憶されるブレッドクラムＡ（２９０−Ｒ）のバージョンを実行中のアプリケーションとしてセットアップする。実行中のアプリケーションとしてセットアップされた後に、ブレッドクラムＡ（２９０−Ｒ）は、「ゲーム１０００」のウェブ・ページ３３０が、図５Ｂに示されるように、ディスプレイ２７０の上に現れるようにさせる。ユーザは、今や、彼がゲームを以前に停止したポイントで、またはポイントの近くでゲームをすることを再開することができる。
【００４４】
任意の数のブレッドクラムが、ストレージ２３５に記憶される可能性がある。ストレージ２３５に記憶されるブレッドクラムは、適切な任意の長さの時間にわたって記憶される可能性がある。一実施形態においては、ブレッドクラム・マネージャ２６０は、長期ストレージ２３５を監視し、また所定の数よりも多くのブレッドクラムが、記憶されていないことを保証することができる。例えば、一実施形態においては、１０個までのブレッドクラムが、長期ストレージ２３５に記憶される。とりわけ、最新の１０個のブレッドクラムが、記憶される。ブレッドクラム・マネージャ２６０は、記憶されたブレッドクラムの数が、１０を超過するときに、長期ストレージ２３５から以前のブレッドクラムを取り除く。１つまたは複数のブレッドクラムの除去は、例えば、記憶されたブレッドクラムのそれぞれのタイムスタンプを検査すること、およびそれらのそれぞれのタイムスタンプによって示されるように、最も以前のこれらのブレッドクラムを取り除くことにより、実行されることもある。
【００４５】
様々な実施形態においては、図４において説明される方法ステップを含めて、本明細書において説明される方法ステップは、説明され、または示される特定の順序とは異なる順序で、実行される可能性がある。他の実施形態においては、他のステップが、説明された方法から、提供されることもあり、またはステップは、説明された方法から、取り除かれることもある。
【００４６】
本明細書において説明されるシステム、装置、および方法は、デジタル回路を使用して、またはよく知られているコンピュータ・プロセッサと、メモリ・ユニットと、ストレージ・デバイスと、コンピュータ・ソフトウェアと、他のコンポーネントとを使用した１つまたは複数のコンピュータを使用して、実施されることもある。一般的に、コンピュータは、命令を実行するためのプロセッサと、命令およびデータを記憶するための１つまたは複数のメモリとを含んでいる。コンピュータは、１つまたは複数の磁気ディスク、内部ハード・ディスクおよび着脱可能ディスク、光磁気ディスク、光ディスクなど、１つまたは複数のマス・ストレージ・デバイス（ｍａｓｓ  ｓｔｏｒａｇｅ  ｄｅｖｉｃｅｓ）を含むことができ、または１つまたは複数のマス・ストレージ・デバイスに結合されることもある。
【００４７】
本明細書において説明されるシステム、装置、および方法は、クライアント・サーバ関係で動作するコンピュータを使用して実施されることもある。一般的に、そのようなシステムにおいては、クライアント・コンピュータは、サーバ・コンピュータから離れて位置しており、またネットワークを経由して相互作用する。クライアント・サーバ関係は、それぞれのクライアント・コンピュータと、サーバ・コンピュータとの上で実行されるコンピュータ・プログラムによって規定され、また制御されることもある。
【００４８】
本明細書において説明されるシステム、装置、および方法は、ネットワーク・ベースのクラウド・コンピューティング・システムの内部で使用されることもある。そのようなネットワーク・ベースのクラウド・コンピューティング・システムにおいては、ネットワークに接続されるサーバまたは別のプロセッサは、ネットワークを経由して１つまたは複数のクライアント・コンピュータと通信する。クライアント・コンピュータは、例えば、クライアント・コンピュータの上に存在し、またその上で動作するネットワーク・ブラウザ・アプリケーションを経由してサーバと通信することができる。クライアント・コンピュータは、サーバの上にデータを記憶し、またネットワークを経由してデータにアクセスすることができる。クライアント・コンピュータは、ネットワークを経由してサーバに対してデータについての要求を、またはオンライン・サービスについての要求を送信することができる。サーバは、要求されたサービスを実行し、またクライアント・コンピュータ（単数または複数）に対してデータを提供することができる。サーバは、クライアント・コンピュータに指定された機能を実行するように、例えば、算出を実行するように、画面の上で指定されたデータを表示するなどのように、させるように適合されたデータを送信することもできる。例えば、サーバは、図４のステップのうちの１つまたは複数を含めて、本明細書において説明される方法ステップのうちの１つまたは複数を実行するようにクライアント・コンピュータにさせるように適合された要求を送信することができる。図４のステップのうちの１つまたは複数を含めて、本明細書において説明される方法のある種のステップは、ネットワーク・ベースのクラウド・コンピューティング・システムにおいて、サーバにより、または別のプロセッサにより実行されることもある。図４のステップのうちの１つまたは複数を含めて、本明細書において説明される方法のある種のステップは、ネットワーク・ベースのクラウド・コンピューティング・システムにおいて、クライアント・コンピュータによって実行されることもある。図４のステップのうちの１つまたは複数を含めて、本明細書において説明される方法のステップは、任意の組合せの形で、ネットワーク・ベースのクラウド・コンピューティング・システムにおいて、サーバにより、かつ／またはクライアント・コンピュータにより実行されることもある。
【００４９】
本明細書において説明されるシステム、装置、および方法は、プログラマブル・プロセッサによる実行のために、情報キャリアの形で、例えば、非一時的マシン読取り可能ストレージ・デバイスの形で有形に実施されるコンピュータ・プログラム製品を使用して実施されることもあり、また図４のステップのうちの１つまたは複数を含めて、本明細書において説明される方法ステップは、そのようなプロセッサによって実行可能である１つまたは複数のコンピュータ・プログラムを使用して実施されることもある。コンピュータ・プログラムは、ある種のアクティビティを実行し、またはある種の結果をもたらすコンピュータにおいて、直接的にまたは間接的に、使用され得る１組のコンピュータ・プログラム命令である。コンピュータ・プログラムは、コンパイルされた言語またはインタープリートされた言語を含めて、任意の形式のプログラミング言語で書かれる可能性があり、またコンピュータ・プログラムは、スタンドアロン・プログラムとして、またはモジュールとして、コンポーネント、サブルーチン、またはコンピューティング環境において使用するために適した他のユニットを含めて、任意の形式で展開される可能性がある。
【００５０】
本明細書において説明されるシステム、装置、および方法を実施するために使用され得る例示のコンピュータの高レベル・ブロック図が、図６において示される。コンピュータ６００は、データ・ストレージ・デバイス６０２と、メモリ６０３とに動作可能なように結合されるプロセッサ６０１を備えている。プロセッサ６０１は、そのようなオペレーションを規定するコンピュータ・プログラム命令を実行することにより、コンピュータ６００の全体的なオペレーションを制御する。コンピュータ・プログラム命令は、データ・ストレージ・デバイス６０２、または他のコンピュータ読取り可能媒体に記憶され、またコンピュータ・プログラム命令の実行が望ましいときに、メモリ６０３にロードされることもある。このようにして、図４の方法ステップは、メモリ６０３および／またはデータ・ストレージ・デバイス６０２に記憶されるコンピュータ・プログラム命令によって規定され、またコンピュータ・プログラム命令を実行するプロセッサ６０１によって制御される可能性がある。例えば、コンピュータ・プログラム命令は、当業者によってプログラムされるコンピュータ実行可能コードとして実施されて、図４の方法ステップによって規定されるアルゴリズムを実行することができる。それに応じて、コンピュータ・プログラム命令を実行することにより、プロセッサ６０１は、図４の方法ステップによって規定されるアルゴリズムを実行する。コンピュータ６００はまた、ネットワークを経由して他のデバイスと通信するための１つまたは複数のネットワーク・インターフェース６０４を含んでいる。コンピュータ６００はまた、コンピュータ６００とのユーザ相互作用を可能にする１つまたは複数の入出力デバイス６０５（例えば、ディスプレイ、キーボード、マウス、スピーカ、ボタンなど）を含んでいる。
【００５１】
プロセッサ６０１は、汎用マイクロプロセッサと、専用マイクロプロセッサとの両方を含むことができ、またコンピュータ６００についての唯一のプロセッサ、または複数のプロセッサのうちの１つとすることができる。プロセッサ６０１は、例えば、１つまたは複数の中央演算処理装置（ＣＰＵ：ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔｓ）を備えることができる。プロセッサ６０１、データ・ストレージ・デバイス６０２、および／またはメモリ６０３は、１つまたは複数の特定用途向け集積回路（ＡＳＩＣ：ａｐｐｌｉｃａｔｉｏｎ−ｓｐｅｃｉｆｉｃ  ｉｎｔｅｇｒａｔｅｄ  ｃｉｒｃｕｉｔｓ）および／または１つまたは複数のフィールド・プログラマブル・ゲート・アレイ（ＦＰＧＡ：ｆｉｅｌｄ  ｐｒｏｇｒａｍｍａｂｌｅ  ｇａｔｅ  ａｒｒａｙｓ）を含んでおり、１つまたは複数のＡＳＩＣおよび／または１つまたは複数のＦＰＧＡによって補完され、または１つまたは複数のＡＳＩＣおよび／または１つまたは複数のＦＰＧＡに組み込まれる可能性がある。
【００５２】
データ・ストレージ・デバイス６０２と、メモリ６０３とは、おのおの、有形な非一時的コンピュータ読取り可能ストレージ媒体を備えている。データ・ストレージ・デバイス６０２と、メモリ６０３とは、おのおの、ダイナミック・ランダム・アクセス・メモリ（ＤＲＡＭ：ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、スタティック・ランダム・アクセス・メモリ（ＳＲＡＭ：ｓｔａｔｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、ダブル・データ・レート・シンクロナス・ダイナミック・ランダム・アクセス・メモリ（ＤＤＲ  ＲＡＭ：ｄｏｕｂｌｅ  ｄａｔａ  ｒａｔｅ  ｓｙｎｃｈｒｏｎｏｕｓ  ｄｙｎａｍｉｃ  ｒａｎｄｏｍ  ａｃｃｅｓｓ  ｍｅｍｏｒｙ）、他のランダム・アクセス・ソリッド・ステート・メモリ・デバイスなどの高速ランダム・アクセス・メモリを含んでいることもあり、また内部ハード・ディスクや着脱可能ディスクなど、１つまたは複数の磁気ディスク・ストレージ・デバイス、光磁気ディスク・ストレージ・デバイス、光ディスク・ストレージ・デバイス、フラッシュ・メモリ・デバイス、消去可能プログラマブル・リード・オンリー・メモリ（ＥＰＲＯＭ：ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、電気的消去可能プログラマブル・リード・オンリー・メモリ（ＥＥＰＲＯＭ：ｅｌｅｃｔｒｉｃａｌｌｙ  ｅｒａｓａｂｌｅ  ｐｒｏｇｒａｍｍａｂｌｅ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）などの半導体メモリ・デバイス、コンパクト・ディスク・リード・オンリー・メモリ（ＣＤ−ＲＯＭ：ｃｏｍｐａｃｔ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）、デジタル多用途ディスク・リード・オンリー・メモリ（ＤＶＤ−ＲＯＭ：ｄｉｇｉｔａｌ  ｖｅｒｓａｔｉｌｅ  ｄｉｓｃ  ｒｅａｄ−ｏｎｌｙ  ｍｅｍｏｒｙ）ディスク、他の不揮発性ソリッド・ステート・ストレージ・デバイスなどの不揮発性メモリを含んでいることもある。
【００５３】
入出力デバイス６０５は、プリンタ、スキャナ、ディスプレイ画面などの周辺機器を含むことができる。例えば、入出力デバイス６０５は、ユーザに対して情報を表示するための、陰極線管（ＣＲＴ：ｃａｔｈｏｄｅ  ｒａｙ  ｔｕｂｅ）や液晶ディスプレイ（ＬＣＤ：ｌｉｑｕｉｄ  ｃｒｙｓｔａｌ  ｄｉｓｐｌａｙ）モニタなどのディスプレイ・デバイスと、キーボードと、ユーザが、コンピュータ６００に対して入力を提供することができる、マウスやトラックボールなどのポインティング・デバイスとを含むことができる。
【００５４】
ユーザ・デバイス１６０を含めて、本明細書において考察されるシステムおよび装置のうちのどれか、またはすべてと、ウェブ・ブラウザ２１０と、ディスプレイ２７０と、ブレッドクラム・マネージャ２６０と、実行中のメモリ２２５と、長期ストレージ２３５とを含むそのコンポーネントとは、コンピュータ６００などのコンピュータを使用して、実施される可能性がある。
【００５５】
当業者なら、実際のコンピュータまたはコンピュータ・システムの実装形態が、他の構造を有することができ、また同様に他のコンポーネントを含むことができること、および図６が、実例となる目的のための、そのようなコンピュータのコンポーネントのうちのいくつかの高レベル表現であることを認識するであろう。
【００５６】
上記の詳細な説明は、あらゆる点で、例証的であり例示的であるが、限定的ではないものとして理解されるべきであり、また本明細書において開示される本発明の範囲は、詳細な説明から決定されるべきではなく、それとは異なり特許法によって許可される全容に従って解釈されるように、特許請求の範囲から決定されるべきである。本明細書において示され、また説明される実施形態が、本発明の原理を例証しているにすぎないこと、および様々な修正形態が、本発明の範囲および精神から逸脱することなく当業者によって実施され得ることを理解すべきである。当業者なら、本発明の範囲および精神を逸脱することなく、様々な他の特徴の組合せを実施することができる。
【図１】
2015528932.tif 000003
【図２Ａ】
2015528932.tif 000004
【図２Ｂ】
2015528932.tif 000005
【図２Ｃ】
2015528932.tif 000006
【図２Ｄ】
2015528932.tif 000007
【図３Ａ】
2015528932.tif 000008
【図３Ｂ】
2015528932.tif 000009
【図３Ｃ】
2015528932.tif 000010
【図３Ｄ】
2015528932.tif 000011
【図３Ｅ】
2015528932.tif 000012
【図３Ｆ】
2015528932.tif 000013
【図３Ｇ】
2015528932.tif 000014
【図３Ｈ】
2015528932.tif 000015
【図４】
2015528932.tif 000016
【図５Ａ】
2015528932.tif 000017
【図５Ｂ】
2015528932.tif 000018
【図６】
2015528932.tif 000019
【国際調査報告】
2015528932.tif 000020
2015528932.tif 000021
2015528932.tif 000022