JP6199961B2 - ネットワーク・ナビゲーションを管理するためのシステムおよび方法 - Google Patents

ネットワーク・ナビゲーションを管理するためのシステムおよび方法 Download PDF

Info

Publication number
JP6199961B2
JP6199961B2 JP2015516038A JP2015516038A JP6199961B2 JP 6199961 B2 JP6199961 B2 JP 6199961B2 JP 2015516038 A JP2015516038 A JP 2015516038A JP 2015516038 A JP2015516038 A JP 2015516038A JP 6199961 B2 JP6199961 B2 JP 6199961B2
Authority
JP
Japan
Prior art keywords
memory
application
file
user
running
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2015516038A
Other languages
English (en)
Other versions
JP2015528932A (ja
Inventor
マッゴーワン,ジェームス,ダブリュ.
Original Assignee
アルカテル−ルーセント
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by アルカテル−ルーセント filed Critical アルカテル−ルーセント
Publication of JP2015528932A publication Critical patent/JP2015528932A/ja
Application granted granted Critical
Publication of JP6199961B2 publication Critical patent/JP6199961B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/485Task life-cycle, e.g. stopping, restarting, resuming execution
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1415Saving, restoring, recovering or retrying at system level
    • G06F11/1438Restarting or rejuvenating
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1446Point-in-time backing up or restoration of persistent data
    • G06F11/1458Management of the backup or restore process
    • G06F11/1469Backup restoration techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/14Error detection or correction of the data by redundancy in operation
    • G06F11/1402Saving, restoring, recovering or retrying
    • G06F11/1471Saving, restoring, recovering or retrying involving logging of persistent data for recovery
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0238Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory
    • G06F12/0246Memory management in non-volatile memory, e.g. resistive RAM or ferroelectric memory in block erasable memory, e.g. flash memory

Description

本明細書は、一般に、ネットワークを経由してアプリケーションにアクセスするためのシステムおよび方法に関し、またより詳細には、ネットワークにおいてナビゲーションを管理するためのシステムおよび方法に関する。
インターネットの使用が増大するにつれて、ウェブサイトの間でナビゲートするためのツールおよび方法が、ますます重要になっている。多数のインターネット・ブラウザにより、ユーザは、ブックマークのリスト、またはお気に入りのウェブサイトのリストを生成できるようになる。そのようなリストは、一般的に、ユーザが選択している様々なウェブサイトに対するリンクを含んでいる。そのようなリンクは、例えば、ユニフォーム・リソース・ロケータ(URL:uniform resource locator)を含むこともある。ユーザが、その後に、ブックマークまたはお気に入りのアイコンを選択するときに、ブラウザは、リンクにアクセスして、関連するウェブサイトにアクセスする。
一実施形態によれば、あるアプリケーションと、特定の時刻におけるそのアプリケーションのステータスに対応するデータとを含むファイルが、ユーザ・デバイスの第1のメモリの中に保持され、その第1のメモリは、永続的ストレージを備えている。アプリケーションは、例えば、ソフトウェア・アプリケーションとすることができる。要求に応じて、ファイルは、デバイスの第2のメモリへと転送され、第2のメモリは、ランダム・アクセス・メモリを備えている。ファイルは、実行中のアプリケーションとしてアクティブにされ、またはセットアップされる。ユーザ・デバイスは、セル電話、ワイヤレス電話、携帯型個人情報端末(personal digital assistant)、パーソナル・コンピュータ、ラップトップ・コンピュータ、ワークステーション、メインフレーム・コンピュータなどとすることができる。一実施形態においては、ファイルは、ユーザ・デバイスのフォアグラウンドへと持っていかれる。
一実施形態においては、第1のメモリは、長期メモリを備えており、また第2のメモリは、実行中のメモリを備えている。
別の実施形態においては、複数のファイルが、第1のメモリに保持され、それぞれの各ファイルは、それぞれのソフトウェア・アプリケーションと、そのそれぞれのアプリケーションのステータスに対応するデータとを含む。複数のファイルにそれぞれ対応する複数のオプションが、表示される。複数のオプションのうちの1つの選択が、受信される。
一実施形態においては、第1のメモリに記憶されるファイルの数が、所定の数を超過する場合に、複数のファイルのうちの1つまたは複数が、第1のメモリから取り除かれる。各ファイルが、ファイルが記憶された時刻を示すタイムスタンプを含むこともある。複数のファイルのうちの選択された1つが、それぞれのタイムスタンプに基づいて、第1のメモリから取り除かれることもある。
本開示のうちのこれらの利点および他の利点は、以下の詳細な説明および添付の図面を参照すれば、当業者には明らかであろう。
一実施形態による通信システムを示す図である。 一実施形態による例示のユーザ・デバイスの機能コンポーネントを示す図である。 一実施形態による例示のユーザ・デバイスの機能コンポーネントを示す図である。 一実施形態による例示のユーザ・デバイスの機能コンポーネントを示す図である。 一実施形態による例示のユーザ・デバイスの機能コンポーネントを示す図である。 一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。 一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。 一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。 一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。 一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。 一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。 一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。 一実施形態によるそれぞれのネットワーク・アプリケーションに関連する様々なウェブ・ページを示す図である。 一実施形態による、ブレッドクラム(breadcrumb)を取り出し、またアクティブにする方法を示すフローチャートである。 一実施形態による、図2A〜2Dのユーザ・デバイスの機能コンポーネントを示す図である。 一実施形態によるウェブ・ページを示す図である。 本発明のある種の実施形態を実施するために使用され得る例示のコンピュータのコンポーネントを示す図である。
図1は、一実施形態による、オンライン・サービスを提供するために使用され得る通信システム100を示すものである。通信システム100は、ネットワーク105と、第1のサーバ141と、第2のサーバ151と、ユーザ・デバイス160とを備えている。図1の例示の実施形態においては、ネットワーク105は、インターネットである。他の実施形態においては、ネットワーク105は、例えば、イントラネット、ローカル・エリア・ネットワーク(LAN:local area network)、広域ネットワーク(WAN:wide area network)、ワイヤレス・ネットワーク、ファイバ・チャネル・ベースのストレージ・エリア・ネットワーク(SAN:storage area network)、イーサネット(Ethernet)など、いくつかの異なるタイプのネットワークのうちの1つまたは複数を備えることができる。他のネットワークが、使用されてもよい。代わりに、ネットワーク105は、異なるタイプのネットワークの組合せを備えることもできる。
図1の実例となる実施形態においては、サーバ141は、ウェブサイト142を保持し、また動作させ、このウェブサイトは、ネットワーク105を経由してオンライン・サービスを提供する。ウェブサイト142は、サーバ141によってホストされ、また例えば、従来のウェブ・ブラウザを使用して視聴され得るワールド・ワイド・ウェブ・ページ(World Wide Web page)を経由してアクセス可能とすることができる。
ウェブサイト142は、アプリケーション145を含めて、サーバ141の上に記憶される1つまたは複数のソフトウェア・アプリケーションに関連づけられる。図1の実例となる実施形態においては、アプリケーション145は、オンライン・ゲーム・アプリケーションである。例えば、ユーザは、ウェブサイト142にアクセスし、またウェブ・ページの上に表示される適切なアイコンを選択することにより、ゲームをすることを選択することができる。ユーザが、アイコンを選択するときに、アプリケーション145は、実行し、ユーザが、望ましいゲームをすることができるようになる。他の実施形態においては、アプリケーション145は、オンライン情報サービス、オンライン・ドキュメント処理サービス、オーディオ、ビデオを再生し、またはテキストを示すメディア配信サービス、オーディオ、ビデオ、およびテキストの任意の組合せなど、他の任意のタイプのアプリケーション、電子メール・リーダー、ブック・リーダー、写真または技術的図面についてのビューア(viewers)を含む写真またはスライドショーのビューア、ソーシャル・ネットワーキング・ウェブサイト、ブログ、地図(道路地図や気候地図など)、オンライン・ホワイトボード、描画ツールなどの通信アプリケーション、あるいはネットワーク105を経由してアクセス可能な他の任意のタイプのサービスを含むことができる。
ユーザ・デバイス160を使用するユーザが、ウェブサイト142にアクセスし、またアプリケーション145をアクティブにするときに、サーバ141は、ユーザ・デバイス160に対してアプリケーション145のすべてまたは一部分をサービスする。ユーザ・デバイス160は、アプリケーション(またはその一部分)を受信し、また実行中のメモリにアプリケーション(またはその一部分)を記憶する。次いで、実行中のメモリの中のアプリケーション145のバージョンは、ユーザ・デバイス160の上の実行中のアプリケーションとして、アクティブにされ、またはセットアップされる。一実施形態においては、アプリケーションまたはプログラムは、アクティブなメモリの中へと配置され、またアプリケーションまたはプログラムは、実行のために準備され、ある機能が、使用される特定のオペレーティング・システムのコンテキストに依存して、デバイスのオペレーティング・システムによって正常に実行される。
同様に、サーバ151は、ネットワーク105を経由してオンライン・サービスを提供するウェブサイト152を保持し、また動作させる。ウェブサイト152は、サーバ151によってホストされ、また例えば、従来のウェブ・ブラウザを使用して視聴され得るワールド・ワイド・ウェブ・ページを経由してアクセス可能とすることができる。
ウェブサイト152は、アプリケーション155を含めて、サーバ151の上に記憶される1つまたは複数のソフトウェア・アプリケーションに関連づけられる。図1の実例となる実施形態においては、ウェブサイト152は、様々なニュース記事に対してアクセスを提供するニュース・ウェブサイトであり、またアプリケーション155は、選択されたニュース記事を表示するアプリケーションである。例えば、ユーザは、ウェブ・ページの上に表示される適切なアイコンを選択することにより、ウェブサイト152にアクセスし、またある記事を読むことを選択することができる。ユーザが、アイコンを選択するときに、アプリケーション155は、実行し、ユーザは、望ましい記事を読むことができるようになる。他の実施形態においては、アプリケーション155は、オンライン・ゲーム・アプリケーション、オンライン情報サービス、オンライン・ドキュメント処理サービス、オーディオ、ビデオを再生し、またはテキストを示すメディア配信サービス、オーディオ、ビデオ、およびテキストの任意の組合せなど、他の任意のタイプのアプリケーション、電子メール・リーダー、ブック・リーダー、写真または技術的図面についてのビューアを含む写真またはスライドショーのビューア、ソーシャル・ネットワーキング・ウェブサイト、ブログ、地図(道路地図や気候地図など)、オンライン・ホワイトボード、描画ツールなどの通信アプリケーション、あるいはネットワーク105を経由してアクセス可能な他の任意のタイプのサービスを含むことができる。
ユーザ・デバイス160を使用するユーザが、ウェブサイト152にアクセスし、またアプリケーション155をアクティブにするときに、サーバ151は、ユーザ・デバイス160に対してアプリケーション155のすべてまたは一部分をサービスする。ユーザ・デバイス160は、アプリケーション(またはその一部分)を受信し、また実行中のメモリにアプリケーション(またはその一部分)を記憶する。次いで、実行中のメモリの中のアプリケーション155のバージョンは、ユーザ・デバイス160の上の実行中のアプリケーションとしてアクティブにされ、またはセットアップされる。
ユーザ・デバイス160は、ユーザが、ネットワーク105を経由して通信することを可能にする任意のデバイスとすることができる。ユーザ・デバイス160は、直接の(有線の)リンクを通して、またはワイヤレスにネットワーク105に接続されることもある。ユーザ・デバイス160は、情報を表示するためのディスプレイ画面(図示されず)を有することができる。図1の実例となる実施形態においては、ユーザ・デバイス160は、セル電話または他のワイヤレス電話、携帯型個人情報端末などのモバイル通信デバイスを備える。代わりに、ユーザ・デバイス160は、パーソナル・コンピュータ、ラップトップ・コンピュータ、タブレット・コンピュータ、ワークステーション、メインフレーム・コンピュータなどとすることもできる。他のデバイスが、使用されてもよい。
図2Aは、一実施形態によるユーザ・デバイス160の機能コンポーネントを示すものである。ユーザ・デバイス160は、ウェブ・ブラウザ210と、ディスプレイ270とを備える。ウェブ・ブラウザ210は、例えば、インターネットを経由してワールド・ワイド・ウェブ・サイトにアクセスするために使用される従来のウェブ・ブラウザとすることができる。ディスプレイ270は、ユーザに対してテキスト・ドキュメントと、スプレッドシート・データと、ウェブ・ページと、ビデオと、他の情報とを表示する。例えば、オンライン・ゲームのウェブ・ページは、ディスプレイ270の上に表示されることもある。
ユーザ・デバイス160は、オペレーティング・システム252を備えている。オペレーティング・システム252は、ユーザ・デバイス160の他のコンポーネントのオペレーションを制御する。オペレーティング・システム252は、例えば、ソフトウェアを備えることができる。
ユーザ・デバイス160はまた、実行中のメモリ225と、長期ストレージ235とを備える。実行中のメモリ225は、ユーザ・デバイス160が動作している間に、制御データと他の情報とを一時的に記憶するために、ユーザ・デバイス160の他のコンポーネントによって時々使用される。時々、ソフトウェア・アプリケーションのすべてまたは一部分は、アプリケーションが、ユーザ・デバイス160の上で実行している間に、実行中のメモリ225に一時的に記憶されることもある。例えば、オンライン・アプリケーションが、ネットワーク105を経由してアクセスされるときに、オンライン・アプリケーションのすべてまたは一部分は、アプリケーションが実行している間に、実行中のメモリ225に記憶され、また一時的に保持されることもある。一般的に、ユーザが、オンライン・アプリケーションをログオフし、またはオンライン・アプリケーションからナビゲートして離れるときに、実行中のメモリ225に保持されたオンライン・アプリケーション(またはその一部分)は、実行中のメモリ225から取り除かれることもある。実行中のメモリ225は、例えば、スタティック・ランダム・アクセス・メモリ(RAM:random access memory)、またはダイナミック・ランダム・アクセス・メモリ(DRAM:dynamic random access memory)を備えることができる。他の実施形態においては、実行中のメモリ225は、他のタイプのメモリ・デバイスを備えることもできる。
長期ストレージ235は、実行中のメモリ225よりももっと永続的で長期になるようにして、様々なタイプのデータを記憶する。長期ストレージ235は、ユーザまたはアプリケーションが、取り出すためのデータの論理的分割を指定することができる不揮発性の永続的ストレージを備えることができる。一実施形態においては、長期ストレージ235は、例えば、コードの実行のためにプロセッサに対して直接に送信される命令およびデータのために使用されるワーキング・メモリ以外の任意のメモリを備えることができる。様々な実施形態において、長期メモリ235は、限定することなく、1つまたは複数の回転するディスク・ドライブ、ソリッド・ステート・ディスク・ドライブ、光ディスク、テープ・ドライブ、SDカードやマイクロSDカードなどの着脱可能メモリ・チップ、USBドライブ、ネットワーク・ストレージ、クラウド・ストレージ・メカニズムなどを備えることができる。長期ストレージ235は、オペレーティング・システムによって「マウント」されることもあり、またアドレス指定可能な「ドライブ」空間(システム・メモリの拡張に対立するものとして)とすることができる。他のタイプのメモリ・デバイスが、使用されてもよい。
ユーザ・デバイス160はまた、ブレッドクラム・マネージャ260も備える。ブレッドクラム・マネージャ260は、時々、ユーザ・デバイス160が、現在ネットワーク105を経由してアクセスしているオンライン・アプリケーション(アプリケーション145やアプリケーション155など)に関する情報を記憶する要求を受信する。それに応じて、ブレッドクラム・マネージャ260は、長期ストレージ235に、ユーザ・デバイスが現在アクセスしているアプリケーションに関する情報を記録する。情報は、RAMに記憶されるアプリケーションのローカル・バージョンと、関連したデータとを含むことができる。そのようなファイルは、本明細書において、「ブレッドクラム」と称される。
図1の実施形態によれば、ユーザは、ユーザ・デバイス160を使用して、ネットワーク105を経由して様々なウェブサイトにアクセスすることができる。例えば、ユーザは、ユーザ・デバイス160を使用して、ウェブサイト142にアクセスし、またアプリケーション145に関連する特定のゲームをすることができる。ウェブサイト142と、アプリケーション145とにアクセスしながら、ユーザは、アプリケーション145に関連するブレッドクラムを生成し、また記憶して、ユーザが、後で、アプリケーション145に関連する選択されたウェブ・ページに戻ることを可能にすることができる。次いで、ユーザは、他のウェブサイトにナビゲートし、またその後に、記憶されたブレッドクラムを使用して、アプリケーション145と、選択されたウェブ・ページに戻ることができる。
ユーザが、ブラウザ210(ユーザ・デバイス160の)を使用して、ウェブサイト142にアクセスして、望ましいゲームをすることを仮定する。よく知られているやり方では、ユーザは、ユーザ・アカウントにログインして、ウェブサイトにアクセスすることが必要とされることもある。
例えば、ユーザは、ブラウザ210を使用して、ウェブサイト142へとナビゲートすることができる。ユーザが、ウェブサイト142にアクセスするときに、ウェブサイト142は、ブラウザ210と通信し、また図3Aに示されるウェブ・ページなどのウェブ・ページが、ディスプレイ270の上に表示されるようにさせることができる。ウェブ・ページ304は、「すばらしいゲーム(Fantastic Games)」という名称のウェブ・ページを示すものである。ブラウザ210はまた、ファイル・オプション317や、ユーザがページ304の内部でスクロール・アップし、またスクロール・ダウンすることを可能にするスクロール・バー322など、1つまたは複数のメニュー・オプションを表示するメニュー・バー315を表示することもできる。他の実施形態においては、メニュー・バーおよび/またはスクロール・バーは、表示されないこともある。ウェブ・ページ304は、「ゲーム1000(Game 1000)」という名称の特定のゲームをするように選択され得るアイコン307を含んでいる。実例となる実施形態においては、アプリケーション145は、「ゲーム1000」という名称のゲームに関連づけられる。
ユーザが、「ゲーム1000」をすることを望むことを仮定すると、ユーザは、カーソル309を用いてアイコンをクリックすることにより、または指でアイコンを(例えば、タッチ画面の上で)押すことにより、アイコン307を選択する。ユーザが、アイコン307を選択するときに、ウェブサイト142は、ユーザ・デバイス160に対して、アプリケーション145のすべてまたは一部分のバージョンを提供することにより応答する。ユーザ・デバイス160は、アプリケーション145のこのバージョンを受信し、また図2Aに示されるように、それをローカル・バージョン(A)280として実行中のメモリ225に記憶する。
実例となる実施形態においては、ローカル・バージョン(A)280は、ユーザ・デバイス160の上で実行し(例えば、実行し、または起動し)、また図3Bにおいて示されるウェブ・ページなどのウェブ・ページが、ディスプレイ270(ユーザ・デバイス160の)の上に現れるようにさせる。図3Bによって示されるように、ウェブ・ページ330は、望ましいゲームのページを示している。ユーザは、ゲームをし始める。ローカル・バージョン(A)280は、ユーザが、ユーザのスコア、達成されるレベルなどを反映するようにゲームをする間に、アップデートされることもある。ユーザが、ゲームをする間に、ローカル・バージョン(A)280はまた、ゲーム、ウェブ・ページ、および/またはユーザのアクティビティのステータスに関連したデータを(実行中のメモリ225の内部の他のロケーションにおいて)別々に記憶することもできる。例えば、入力についてのユーザの好み、セッションごとの、また集約したユーザの遊びの時間、ゲームの中で達成される1つまたは複数の達成についての表現(完了されたレベル、スコア、および/またはレベル当たりの格付けなど)、ユーザ認証情報(ユーザ名およびパスワード、例えば、ゲームに伴うユーザのアクティブ・セッションを追跡するためにローカル・バージョン(A)280に対してアプリケーション145によって渡される1回限りの証明書など)、オンライン・マルチ・プレイヤー・ゲームの他のプレイヤーからの関連のある情報などの関連したデータが、実行中のメモリ225に記憶されることもある。
ユーザが、数分間にわたってゲームを行い、次いで電話コールを受信するものと仮定する。さらに、ユーザが、ページ330を閉じ、また電話コールを取りたいと思うが、ユーザが、後で(例えば、電話コールが終了した後に)、図3Bに示されるようにウェブ・ページ330に簡単に戻ることができるようにするためにブレッドクラムを生成したいと思うものと仮定する。一実施形態によれば、ユーザは、ユーザが現在アクセスしている、ウェブ・ページ330に関連した情報を含むファイルを生成し、また長期ストレージ235に保存することができる。
一実施形態においては、ユーザは、例えば、コンピュータ・マウスの上のボタンをトリプル・クリックすることにより、「保存ブレッドクラム(save breadcrumb)」オプションを選択する。代わりに、ユーザは、アイコンを、またはタッチ・スクリーンの上の指定されたロケーションをトリプル・クリックすることもできる。代わりに、図3Cに示されるように、ユーザは、画面の上に表示されるメニュー391から「保存ブレッドクラム」オプション396を選択することもできる。代わりに、オペレーティング・システムは、例えば、ゲーム・アプリケーションが、進行中であり、またコールが受信されるときに、ブレッドクラムを自動的に生成するようにあらかじめ構成されていることもある。ブレッドクラムを保存するオプションを選択する他の方法が、使用されることもある。ブレッドクラム・マネージャ260は、保存ブレッドクラム・オプションのユーザの選択を受信する。
保存ブレッドクラム・オプションのユーザの選択に応じて、ブレッドクラム・マネージャ260は、図2Bに示されるように、実行中のメモリ225からコピーされる他の関連したデータと一緒に、ローカル・バージョン(A)280を含むファイルが、ブレッドクラムA(290)として、長期ストレージ235に保存され、または長期ストレージ235に対して転送されるようにさせる。そのようなファイルは、「ブレッドクラム」と称される。
一実施形態においては、ブレッドクラムは、以下で説明される情報のすべてまたは一部分を含んでいる。以下の説明は、ジャバ・スクリプト・オブジェクト表記法(JSON:JavaScript Object Notation)とアンドロイド・オペレーティング・システムとに関連する専門用語と表記法とを使用する。XMLフォーマットや独自フォーマットなど、他のフォーマットと、他のオペレーティング・システムとが、使用されることもある。
アプリケーションのローカル・バージョンに関連するブレッドクラムは、以下のフィールド:id、appName(アプリケーション名)、desc、timestamp(タイムスタンプ)、dex、ramを含む。フィールドidは、ブレッドクラムを組織化するように割り当てられる固有識別子である。フィールドappNameは、アプリケーションについてのユーザ・デバイスの名前を含んでおり、この名前は、一般的に、アプリケーションを最初に起動するために使用される実行ファイルの名前である。「desc」フィールドは、ユーザに対してアプリケーションを説明するためにデバイスによって使用される長いアプリケーション名を含んでいる。フィールド「timestamp」は、いつブレッドクラムが、最初に記憶されたかを示している。一実施形態においては、timestampは、よく知られているティックス・フォーマット(ticks format)を使用して示される。フィールド「dex」とフィールド「ram」とは、おのおの、長さが、多数メガバイトのものとすることができる。これらのフィールドのおのおのは、2進法データを保持する。フィールド「dex」は、アプリケーションのための実際のファイルを含んでいる。フィールド「ram」は、それが一般的にシステムRAMの中で実行している間に、アプリケーションに関連づけられるすべてのランダム・アクセス・メモリ(RAM)の内容を含んでいる。それゆえに、フィールド「ram」は、ブレッドクラムが取られた時刻にメモリに記憶されるようなアプリケーションの表現である。このデータは、一般的に、RAMの中にあり、アプリケーションの一部分またはすべては、ページ・ファイルに対してスワップされることもある(これは、オペレーティング・システムが、アプリケーションの一部分を物理的RAMから追い出し、またストレージに入れるときに行われる)。そのようなメモリ・スワッピング技法は、当業者にはよく知られている。
2進法を生来サポートするこれらのフォーマットを含めて、他のフォーマットが、dex内容とram内容との両方のために、またブレッドクラムそれ自体のためにも使用されることもある。ユーザの好み、システムについての固有の識別子などのシステム情報、ネットワーク・インターフェース制御装置(NIC:network interface controllers)など、任意のハードウェア・デバイスの関連のある状態、またはブレッドクラムを識別し、また使用するために有用な他の任意の情報を含めて、追加の情報が、ブレッドクラムと一緒に記憶されることもある。
次に、電話コールを完了した後に、ユーザが、「ゲーム1000」に戻ることに先立って、いくつかのニュース記事を再検討することを決定することを仮定する。ユーザは、それに応じて、ブラウザ210を使用し、また新しいウェブサイト152へとナビゲートする。ユーザが、ウェブ・ページ330の上に表示される「ゲーム1000」からナビゲートして離れるときに、ローカル・バージョン(280)は、図2Bに示されるように、実行中のメモリ225から取り除かれることもある。
ユーザが、ウェブサイト152にアクセスするときに、ウェブサイト152は、アプリケーション155のローカル・バージョンが、図2Cに示されるように、ローカル・バージョン(B)281として実行中のメモリ225に記憶されるようにさせる。ローカル・バージョン(B)281は、図3Dに示されるウェブ・ページなどニュース・ウェブ・ページが、ディスプレイ270の上に表示されるようにさせる。「ニュース・ウェブサイト(News Website)」という名称のニュース・ウェブ・ページ334は、「ニュース・ストーリーA」についての第1のアイコン398と、「ニュース・ストーリーB」についての第2のアイコン399とを含む。ユーザが、アイコン399をクリックすることを仮定すると、ローカル・バージョン(B)281は、「ニュース・ストーリーB」という名称の記事383を示すウェブ・ページ336が、図3Eに示されるように、表示されるようにさせる。
ユーザが、記事383の一部分を読み、また次いで彼が後でウェブ・ページ336に簡単に戻って、その記事を読むことを完了することができるようにするために、第2のブレッドクラムを生成したいと思うものと仮定する。ユーザは、それに応じてウェブ・ページ336に関連した情報を含む第2のブレッドクラムを生成する。ユーザは、上記で説明されるようにして、保存ブレッドクラム・オプションを選択する。ブレッドクラム・マネージャ260は、保存ブレッドクラム・オプションのユーザの選択を受信し、またそれに応じてローカル・バージョン(B)281に関連するブレッドクラムが、長期ストレージ235に保存されるようにさせる。図2Dを参照すると、ローカル・バージョン(B)281に関連するブレッドクラムが、ブレッドクラムB(291)として長期ストレージ235に記憶される。
ユーザは、次に、ウェブ・ページ336からナビゲートして離れて、図3Fに示されるウェブ・ページ361など、ソーシャル・ネットワーキング・ウェブサイトにおける個人ウェブ・ページを訪問する。ユーザが、ウェブ・ページ336からナビゲートして離れるときに、ローカル・バージョン(B)281は、図2Dに示されるように、実行中のメモリ225から取り除かれる。
次に、ユーザが、彼が電話コールを受信したときに彼が遊んでいた「ゲーム1000」のページに戻りたいと思うものと仮定する。図4は、一実施形態による、ブレッドクラムを取り出し、またアクティブにするための方法についてのフローチャートである。ステップ410において、アプリケーションと、特定の時刻におけるそのアプリケーションのステータスに対応するデータとを含むファイルが、長期メモリに保持される。上記で考察されるように、ブレッドクラムA(290)と、ブレッドクラムB(291)とは、ユーザ・デバイス160の長期ストレージ235に保持される。
一実施形態によれば、ユーザは、ブレッドクラムを取り出すオプションを選択することができる。例えば、ユーザは、適切なボタンをクリックして、図3Gにおいて示されるメニューなどのメニューが、現れるようにさせることができる。メニュー372は、取り出しブレッドクラム・オプション(retrieve breadcrumb option)377を含んでいる。実例となる実施形態においては、ユーザは、取り出しブレッドクラム・オプション377を選択し、またそれに応じてブレッドクラム・マネージャ260は、ストレージにおいて、ブレッドクラムA(290)とブレッドクラムB(291)とを識別する。
複数の記憶されたブレッドクラム・ファイルにそれぞれ対応する複数のオプションが、表示される。このようにして、ブレッドクラム・マネージャ260は、1つまたは複数のアイコンを含む第2のメニューが、図3Hに示されるように、ディスプレイ270の上に表示されるようにさせる。メニュー394は、ブレッドクラムA(290)に関連する第1のアイコン396と、ブレッドクラムB(291)に関連する第2のアイコン397とを含む。
複数のオプションのうちの1つの選択が受信される。ブレッドクラムAが、「ゲーム1000」に関連することを思い起こして、ユーザは、ブレッドクラムA(290)に関連するアイコン396を選択する。ブレッドクラム・マネージャ260は、ユーザの選択を受信する。
ステップ420において、ユーザ要求に応じて、ファイルは、実行中のメモリへと転送される。それゆえに、取り出しブレッドクラム・オプション377と、アイコン396とのユーザの選択に応じて、ブレッドクラム・マネージャ260は、図5Aに示されるように、長期ストレージ235からブレッドクラムA(290)のコピーを取り出し、またブレッドクラムA(290−R)として実行中のメモリ225にそのコピーを記憶する。
ステップ430において、ファイルは、実行中のアプリケーションとしてアクティブにされ、またはセットアップされる。一実施形態においては、ファイルは、再起動される。別の実施形態においては、ファイルは、再実行される。別の実施形態においては、ファイルの一部分は、オペレーティング・システムにより、使用可能としてリストアップされた(または使用可能でないとしてリストアップされない)RAMメモリのセクションにコピーされる。オペレーティング・システムのメモリ追跡テーブルは、この変更を反映するように修正され、またホスト・プロセッサのレジスタの値は、オペレーティング・システムの命令レジスタを除いて、それらがブレッドクラムが生成されたときに設定された値に設定され、このオペレーティング・システムの命令レジスタは、ブレッドクラムが生成されたときにそれが設定された同じオフセットでアクティブ・メモリの内部のメモリ・ロケーションに設定される。例えば、命令が、ブレッドクラムが生成されたときにアクティブ・メモリの中のアプリケーションの100番目のワードにあった場合に、オペレーティング・システムの命令レジスタは、ワーキング・メモリの中のアプリケーションの100番目のワードに設定される(これは、一般的に、物理システムRAMの中の、またはオペレーティング・システムのメモリ・アドレス空間の中の異なる値である)。
実例となる実施形態においては、ブレッドクラム・マネージャ260は、今や実行中のメモリ225に記憶されるブレッドクラムA(290−R)のバージョンを実行中のアプリケーションとしてセットアップする。実行中のアプリケーションとしてセットアップされた後に、ブレッドクラムA(290−R)は、「ゲーム1000」のウェブ・ページ330が、図5Bに示されるように、ディスプレイ270の上に現れるようにさせる。ユーザは、今や、彼がゲームを以前に停止したポイントで、またはポイントの近くでゲームをすることを再開することができる。
任意の数のブレッドクラムが、ストレージ235に記憶される可能性がある。ストレージ235に記憶されるブレッドクラムは、適切な任意の長さの時間にわたって記憶される可能性がある。一実施形態においては、ブレッドクラム・マネージャ260は、長期ストレージ235を監視し、また所定の数よりも多くのブレッドクラムが、記憶されていないことを保証することができる。例えば、一実施形態においては、10個までのブレッドクラムが、長期ストレージ235に記憶される。とりわけ、最新の10個のブレッドクラムが、記憶される。ブレッドクラム・マネージャ260は、記憶されたブレッドクラムの数が、10を超過するときに、長期ストレージ235から以前のブレッドクラムを取り除く。1つまたは複数のブレッドクラムの除去は、例えば、記憶されたブレッドクラムのそれぞれのタイムスタンプを検査すること、およびそれらのそれぞれのタイムスタンプによって示されるように、最も以前のこれらのブレッドクラムを取り除くことにより、実行されることもある。
様々な実施形態においては、図4において説明される方法ステップを含めて、本明細書において説明される方法ステップは、説明され、または示される特定の順序とは異なる順序で、実行される可能性がある。他の実施形態においては、他のステップが、説明された方法から、提供されることもあり、またはステップは、説明された方法から、取り除かれることもある。
本明細書において説明されるシステム、装置、および方法は、デジタル回路を使用して、またはよく知られているコンピュータ・プロセッサと、メモリ・ユニットと、ストレージ・デバイスと、コンピュータ・ソフトウェアと、他のコンポーネントとを使用した1つまたは複数のコンピュータを使用して、実施されることもある。一般的に、コンピュータは、命令を実行するためのプロセッサと、命令およびデータを記憶するための1つまたは複数のメモリとを含んでいる。コンピュータは、1つまたは複数の磁気ディスク、内部ハード・ディスクおよび着脱可能ディスク、光磁気ディスク、光ディスクなど、1つまたは複数のマス・ストレージ・デバイス(mass storage devices)を含むことができ、または1つまたは複数のマス・ストレージ・デバイスに結合されることもある。
本明細書において説明されるシステム、装置、および方法は、クライアント・サーバ関係で動作するコンピュータを使用して実施されることもある。一般的に、そのようなシステムにおいては、クライアント・コンピュータは、サーバ・コンピュータから離れて位置しており、またネットワークを経由して相互作用する。クライアント・サーバ関係は、それぞれのクライアント・コンピュータと、サーバ・コンピュータとの上で実行されるコンピュータ・プログラムによって規定され、また制御されることもある。
本明細書において説明されるシステム、装置、および方法は、ネットワーク・ベースのクラウド・コンピューティング・システムの内部で使用されることもある。そのようなネットワーク・ベースのクラウド・コンピューティング・システムにおいては、ネットワークに接続されるサーバまたは別のプロセッサは、ネットワークを経由して1つまたは複数のクライアント・コンピュータと通信する。クライアント・コンピュータは、例えば、クライアント・コンピュータの上に存在し、またその上で動作するネットワーク・ブラウザ・アプリケーションを経由してサーバと通信することができる。クライアント・コンピュータは、サーバの上にデータを記憶し、またネットワークを経由してデータにアクセスすることができる。クライアント・コンピュータは、ネットワークを経由してサーバに対してデータについての要求を、またはオンライン・サービスについての要求を送信することができる。サーバは、要求されたサービスを実行し、またクライアント・コンピュータ(単数または複数)に対してデータを提供することができる。サーバは、クライアント・コンピュータに指定された機能を実行するように、例えば、算出を実行するように、画面の上で指定されたデータを表示するなどのように、させるように適合されたデータを送信することもできる。例えば、サーバは、図4のステップのうちの1つまたは複数を含めて、本明細書において説明される方法ステップのうちの1つまたは複数を実行するようにクライアント・コンピュータにさせるように適合された要求を送信することができる。図4のステップのうちの1つまたは複数を含めて、本明細書において説明される方法のある種のステップは、ネットワーク・ベースのクラウド・コンピューティング・システムにおいて、サーバにより、または別のプロセッサにより実行されることもある。図4のステップのうちの1つまたは複数を含めて、本明細書において説明される方法のある種のステップは、ネットワーク・ベースのクラウド・コンピューティング・システムにおいて、クライアント・コンピュータによって実行されることもある。図4のステップのうちの1つまたは複数を含めて、本明細書において説明される方法のステップは、任意の組合せの形で、ネットワーク・ベースのクラウド・コンピューティング・システムにおいて、サーバにより、かつ/またはクライアント・コンピュータにより実行されることもある。
本明細書において説明されるシステム、装置、および方法は、プログラマブル・プロセッサによる実行のために、情報キャリアの形で、例えば、非一時的マシン読取り可能ストレージ・デバイスの形で有形に実施されるコンピュータ・プログラム製品を使用して実施されることもあり、また図4のステップのうちの1つまたは複数を含めて、本明細書において説明される方法ステップは、そのようなプロセッサによって実行可能である1つまたは複数のコンピュータ・プログラムを使用して実施されることもある。コンピュータ・プログラムは、ある種のアクティビティを実行し、またはある種の結果をもたらすコンピュータにおいて、直接的にまたは間接的に、使用され得る1組のコンピュータ・プログラム命令である。コンピュータ・プログラムは、コンパイルされた言語またはインタープリートされた言語を含めて、任意の形式のプログラミング言語で書かれる可能性があり、またコンピュータ・プログラムは、スタンドアロン・プログラムとして、またはモジュールとして、コンポーネント、サブルーチン、またはコンピューティング環境において使用するために適した他のユニットを含めて、任意の形式で展開される可能性がある。
本明細書において説明されるシステム、装置、および方法を実施するために使用され得る例示のコンピュータの高レベル・ブロック図が、図6において示される。コンピュータ600は、データ・ストレージ・デバイス602と、メモリ603とに動作可能なように結合されるプロセッサ601を備えている。プロセッサ601は、そのようなオペレーションを規定するコンピュータ・プログラム命令を実行することにより、コンピュータ600の全体的なオペレーションを制御する。コンピュータ・プログラム命令は、データ・ストレージ・デバイス602、または他のコンピュータ読取り可能媒体に記憶され、またコンピュータ・プログラム命令の実行が望ましいときに、メモリ603にロードされることもある。このようにして、図4の方法ステップは、メモリ603および/またはデータ・ストレージ・デバイス602に記憶されるコンピュータ・プログラム命令によって規定され、またコンピュータ・プログラム命令を実行するプロセッサ601によって制御される可能性がある。例えば、コンピュータ・プログラム命令は、当業者によってプログラムされるコンピュータ実行可能コードとして実施されて、図4の方法ステップによって規定されるアルゴリズムを実行することができる。それに応じて、コンピュータ・プログラム命令を実行することにより、プロセッサ601は、図4の方法ステップによって規定されるアルゴリズムを実行する。コンピュータ600はまた、ネットワークを経由して他のデバイスと通信するための1つまたは複数のネットワーク・インターフェース604を含んでいる。コンピュータ600はまた、コンピュータ600とのユーザ相互作用を可能にする1つまたは複数の入出力デバイス605(例えば、ディスプレイ、キーボード、マウス、スピーカ、ボタンなど)を含んでいる。
プロセッサ601は、汎用マイクロプロセッサと、専用マイクロプロセッサとの両方を含むことができ、またコンピュータ600についての唯一のプロセッサ、または複数のプロセッサのうちの1つとすることができる。プロセッサ601は、例えば、1つまたは複数の中央演算処理装置(CPU:central processing units)を備えることができる。プロセッサ601、データ・ストレージ・デバイス602、および/またはメモリ603は、1つまたは複数の特定用途向け集積回路(ASIC:application−specific integrated circuits)および/または1つまたは複数のフィールド・プログラマブル・ゲート・アレイ(FPGA:field programmable gate arrays)を含んでおり、1つまたは複数のASICおよび/または1つまたは複数のFPGAによって補完され、または1つまたは複数のASICおよび/または1つまたは複数のFPGAに組み込まれる可能性がある。
データ・ストレージ・デバイス602と、メモリ603とは、おのおの、有形な非一時的コンピュータ読取り可能ストレージ媒体を備えている。データ・ストレージ・デバイス602と、メモリ603とは、おのおの、ダイナミック・ランダム・アクセス・メモリ(DRAM:dynamic random access memory)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ダブル・データ・レート・シンクロナス・ダイナミック・ランダム・アクセス・メモリ(DDR RAM:double data rate synchronous dynamic random access memory)、他のランダム・アクセス・ソリッド・ステート・メモリ・デバイスなどの高速ランダム・アクセス・メモリを含んでいることもあり、また内部ハード・ディスクや着脱可能ディスクなど、1つまたは複数の磁気ディスク・ストレージ・デバイス、光磁気ディスク・ストレージ・デバイス、光ディスク・ストレージ・デバイス、フラッシュ・メモリ・デバイス、消去可能プログラマブル・リード・オンリー・メモリ(EPROM:erasable programmable read−only memory)、電気的消去可能プログラマブル・リード・オンリー・メモリ(EEPROM:electrically erasable programmable read−only memory)などの半導体メモリ・デバイス、コンパクト・ディスク・リード・オンリー・メモリ(CD−ROM:compact disc read−only memory)、デジタル多用途ディスク・リード・オンリー・メモリ(DVD−ROM:digital versatile disc read−only memory)ディスク、他の不揮発性ソリッド・ステート・ストレージ・デバイスなどの不揮発性メモリを含んでいることもある。
入出力デバイス605は、プリンタ、スキャナ、ディスプレイ画面などの周辺機器を含むことができる。例えば、入出力デバイス605は、ユーザに対して情報を表示するための、陰極線管(CRT:cathode ray tube)や液晶ディスプレイ(LCD:liquid crystal display)モニタなどのディスプレイ・デバイスと、キーボードと、ユーザが、コンピュータ600に対して入力を提供することができる、マウスやトラックボールなどのポインティング・デバイスとを含むことができる。
ユーザ・デバイス160を含めて、本明細書において考察されるシステムおよび装置のうちのどれか、またはすべてと、ウェブ・ブラウザ210と、ディスプレイ270と、ブレッドクラム・マネージャ260と、実行中のメモリ225と、長期ストレージ235とを含むそのコンポーネントとは、コンピュータ600などのコンピュータを使用して、実施される可能性がある。
当業者なら、実際のコンピュータまたはコンピュータ・システムの実装形態が、他の構造を有することができ、また同様に他のコンポーネントを含むことができること、および図6が、実例となる目的のための、そのようなコンピュータのコンポーネントのうちのいくつかの高レベル表現であることを認識するであろう。
上記の詳細な説明は、あらゆる点で、例証的であり例示的であるが、限定的ではないものとして理解されるべきであり、また本明細書において開示される本発明の範囲は、詳細な説明から決定されるべきではなく、それとは異なり特許法によって許可される全容に従って解釈されるように、特許請求の範囲から決定されるべきである。本明細書において示され、また説明される実施形態が、本発明の原理を例証しているにすぎないこと、および様々な修正形態が、本発明の範囲および精神から逸脱することなく当業者によって実施され得ることを理解すべきである。当業者なら、本発明の範囲および精神を逸脱することなく、様々な他の特徴の組合せを実施することができる。

Claims (10)

  1. ユーザ・デバイスの第1のメモリの中にファイルを保持するステップであって、前記ファイルは、以前に実行中のウェブサイトから実行されるオンライン・アプリケーションのローカル・バージョンと、前記以前に実行中のオンライン・アプリケーションの実行時間の第1のインスタンスにおける前記以前に実行中のオンライン・アプリケーションに関連する揮発性メモリのコンテンツに対応するデータとを含んでおり、前記第1のメモリは、永続的ストレージを備える、保持するステップと、
    要求に応じて、前記ユーザ・デバイスの、ランダム・アクセス・メモリを備える第2のメモリに対して前記ファイルを転送するステップと、
    前記時間の前記第1のインスタンスの後およびユーザがナビゲートして前記ウェブサイトから離れた後の時間の第2のインスタンスにおいて、時間の前記先行する第1のインスタンスから前記以前に実行中のオンライン・アプリケーションの実行を継続するように、前記ファイルを実行中のアプリケーションとしてアクティブにするステップと
    を含む方法。
  2. ユーザ・デバイスにより、前記ユーザ・デバイスの第1のメモリに記憶される前記ファイルを保持するステップであって、前記ファイルは、前記アプリケーションと、特定の時刻における前記アプリケーションのステータスに対応するデータとを含んでおり、前記第1のメモリは、永続的ストレージを備える、保持するステップと、
    要求に応じて、前記ユーザ・デバイスの、ランダム・アクセス・メモリを備える第2のメモリに対して前記ファイルを転送するステップと
    をさらに含む、請求項1に記載の方法。
  3. それぞれの各ファイルが、それぞれのソフトウェア・アプリケーションと、前記それぞれのアプリケーションのステータスに対応するデータとを含む、複数のファイルを前記第1のメモリの中に保持するステップと、
    前記複数のファイルにそれぞれ対応する複数のオプションを表示するステップと、
    前記複数のオプションのうちの1つの選択を受信するステップと
    をさらに含む、請求項1に記載の方法。
  4. 前記第1のメモリに記憶されるファイルの数が、所定の数を超過する場合に、前記第1のメモリから前記複数のファイルのうちの1つまたは複数を取り除くステップ
    をさらに含む、請求項3に記載の方法。
  5. 前記第1のメモリは、長期メモリを備え、また
    前記第2のメモリは、実行中のメモリを備える、請求項1に記載の方法。
  6. 永続的ストレージを備えており、第1のデータを記憶するように構成された第1のメモリと、
    ランダム・アクセス・メモリを備えており、第2のデータを記憶するように構成された第2のメモリと、
    前記第1のメモリに、以前に実行中のウェブサイトから実行されるオンライン・アプリケーションのローカル・バージョンと前記以前に実行するオンライン・アプリケーションの実行時間の第1のインスタンスにおいて前記以前に実行中のオンライン・アプリケーションに関連する揮発性メモリのコンテンツに対応するデータとを含むファイルを記憶し、
    要求に応じて、前記第2のメモリに対して前記ファイルを転送し、また
    前記時間の前記第1のインスタンスの後およびユーザがナビゲートして前記ウェブサイトから離れた後の時間の第2のインスタンスにおいて、時間の前記先行する第1のインスタンスから前記以前に実行中のオンライン・アプリケーションの実行を継続するように前記ファイルを実行中のアプリケーションとしてアクティブにするように
    構成されたプロセッサと
    を備えるデバイス。
  7. 前記プロセッサは、さらに、前記デバイスのフォアグラウンドに前記ファイルを持ってくるように構成されている、請求項6に記載のデバイス。
  8. 前記プロセッサは、さらに、それぞれの各ファイルが、それぞれのアプリケーションと、前記それぞれのファイルが生成されたときにおける前記それぞれのアプリケーションのステータスに対応するデータとを含む、複数のファイルを前記第1のメモリの中に保持するように構成されている、請求項6に記載のデバイス。
  9. 前記プロセッサは、さらに、前記第1のメモリに記憶されるファイルの数が、所定の数を超過する場合に、前記第1のメモリから前記複数のファイルのうちの1つまたは複数を取り除くように構成されている、請求項6に記載のデバイス。
  10. 前記デバイスは、セル電話と、ワイヤレス電話と、携帯型個人情報端末と、パーソナル・コンピュータと、ラップトップ・コンピュータと、ワークステーションと、メインフレーム・コンピュータとのうちの1つを備える、請求項6に記載のデバイス。
JP2015516038A 2012-06-08 2013-05-22 ネットワーク・ナビゲーションを管理するためのシステムおよび方法 Active JP6199961B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/492,318 2012-06-08
US13/492,318 US9411639B2 (en) 2012-06-08 2012-06-08 System and method for managing network navigation
PCT/US2013/042211 WO2013184354A1 (en) 2012-06-08 2013-05-22 System and method for managing network navigation

Publications (2)

Publication Number Publication Date
JP2015528932A JP2015528932A (ja) 2015-10-01
JP6199961B2 true JP6199961B2 (ja) 2017-09-20

Family

ID=48579489

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015516038A Active JP6199961B2 (ja) 2012-06-08 2013-05-22 ネットワーク・ナビゲーションを管理するためのシステムおよび方法

Country Status (7)

Country Link
US (1) US9411639B2 (ja)
EP (1) EP2859445A1 (ja)
JP (1) JP6199961B2 (ja)
KR (1) KR20150013706A (ja)
CN (1) CN104350470B (ja)
TW (1) TW201413480A (ja)
WO (1) WO2013184354A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10282218B2 (en) * 2016-06-07 2019-05-07 Google Llc Nondeterministic task initiation by a personal assistant module
US10977209B2 (en) * 2017-10-23 2021-04-13 Spectra Logic Corporation Bread crumb directory with data migration

Family Cites Families (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6137485A (en) 1995-03-20 2000-10-24 Canon Kabushiki Kaisha Image transmission method and apparatus, and image transmission system including the apparatus
US5896128A (en) 1995-05-03 1999-04-20 Bell Communications Research, Inc. System and method for associating multimedia objects for use in a video conferencing system
JP3563889B2 (ja) 1996-10-15 2004-09-08 キヤノン株式会社 カメラ制御システムおよびカメラ制御システムの制御方法
US6209088B1 (en) * 1998-09-21 2001-03-27 Microsoft Corporation Computer hibernation implemented by a computer operating system
JP2000215089A (ja) 1999-01-25 2000-08-04 Sony Corp ファイル管理方法およびファイル管理装置
WO2000060853A1 (en) 1999-04-08 2000-10-12 Internet Pictures Corporation Method and apparatus for providing virtual processing effects for wide-angle video images
US20040107199A1 (en) * 2002-08-22 2004-06-03 Mdt Inc. Computer application backup method and system
US20040189701A1 (en) 2003-03-25 2004-09-30 Badt Sig Harold System and method for facilitating interaction between an individual present at a physical location and a telecommuter
US7073052B2 (en) * 2003-05-22 2006-07-04 International Business Machines Corporation Method and system for storing active files and programs in a hibernation mode
US7484220B2 (en) * 2004-05-26 2009-01-27 Qualcomm Incorporated Method, software and apparatus for using application state history information when re-launching applications
US20060004785A1 (en) * 2004-06-03 2006-01-05 International Business Machines Corporation Saving multiple browser instances as a selectable web project
US20080063389A1 (en) 2006-09-13 2008-03-13 General Instrument Corporation Tracking a Focus Point by a Remote Camera
US8510743B2 (en) 2007-10-31 2013-08-13 Google Inc. Terminating computer applications
WO2009099506A2 (en) 2008-02-06 2009-08-13 Pottish, Susan Methods and apparatus for wireless phone optimizations of battery life, web page reloads, user input, user time, bandwidth use and/or application state retention
EP2263190A2 (en) 2008-02-13 2010-12-22 Ubisoft Entertainment S.A. Live-action image capture
US8250477B1 (en) 2008-11-04 2012-08-21 Sensei, Inc. Mobile client application for managing user interface components
US8355040B2 (en) 2008-10-16 2013-01-15 Teliris, Inc. Telepresence conference room layout, dynamic scenario manager, diagnostics and control system and method
US8584026B2 (en) 2008-12-29 2013-11-12 Avaya Inc. User interface for orienting new users to a three dimensional computer-generated virtual environment
US9083791B2 (en) * 2009-01-22 2015-07-14 Yahoo ! Inc. Web-hosted framework for mobile applications
CN101887444B (zh) * 2009-05-15 2012-12-19 国际商业机器公司 用于网页的导航方法和系统
KR101657545B1 (ko) 2010-05-11 2016-09-19 엘지전자 주식회사 휴대 단말기 및 그 동작 방법
US8688774B2 (en) 2010-08-09 2014-04-01 Eustace Prince Isidore Method, system, and devices for facilitating real-time social and business interactions/networking
US8261261B2 (en) 2010-09-01 2012-09-04 Google Inc. Installing a computer program
JP2012088940A (ja) 2010-10-20 2012-05-10 Nec System Technologies Ltd 情報処理装置、情報処理方法、及びプログラム
US20120154510A1 (en) 2010-12-17 2012-06-21 Microsoft Corporation Smart Camera for Virtual Conferences

Also Published As

Publication number Publication date
US20130332664A1 (en) 2013-12-12
TW201413480A (zh) 2014-04-01
CN104350470A (zh) 2015-02-11
WO2013184354A1 (en) 2013-12-12
CN104350470B (zh) 2018-06-26
EP2859445A1 (en) 2015-04-15
US9411639B2 (en) 2016-08-09
JP2015528932A (ja) 2015-10-01
KR20150013706A (ko) 2015-02-05

Similar Documents

Publication Publication Date Title
US11799984B2 (en) Installable web applications
RU2632144C1 (ru) Компьютерный способ создания интерфейса рекомендации контента
US9110568B2 (en) Browser tab management
US8527883B2 (en) Browser operation with sets of favorites
RU2599540C2 (ru) Бескодовое совместное использование объектов электронных таблиц
JP6062987B2 (ja) ネットワークストレージ管理システム
JP2018503895A (ja) ウェブコンテンツのタグ付けおよびフィルタリング
US9842091B2 (en) Switching to and from native web applications
CN113747376A (zh) 消息扩展应用程序商店
US20140208326A1 (en) File presenting method and apparatus for a smart terminal
US20160077673A1 (en) Intelligent Canvas
JP6033752B2 (ja) ファイル位置のショートカットおよびウィンドウの配置構成
US9503551B2 (en) Hybrid native networked applications
JP6199961B2 (ja) ネットワーク・ナビゲーションを管理するためのシステムおよび方法
WO2018057401A1 (en) Preserve input focus while scrolling in a virtualized dataset
US9009158B2 (en) Computer capable of retrieving ambiguous information
US20130166627A1 (en) Clearing Locally Stored Objects Of A Browser Plugin
JP5499138B1 (ja) コンテンツ表示方法、サーバ装置、プログラム及び記憶媒体
JP6302117B1 (ja) 情報表示プログラム、情報表示方法、情報表示装置、及び配信装置
JP5602323B2 (ja) コンテンツ表示方法、サーバ装置、プログラム及び記憶媒体
CN117546130A (zh) 仪表板浏览模式

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160127

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20160216

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20160516

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160816

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170110

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20170410

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170710

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170824

R150 Certificate of patent or registration of utility model

Ref document number: 6199961

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250