CN104350470A - 用于管理网络导航的系统和方法 - Google Patents

用于管理网络导航的系统和方法 Download PDF

Info

Publication number
CN104350470A
CN104350470A CN201380030218.5A CN201380030218A CN104350470A CN 104350470 A CN104350470 A CN 104350470A CN 201380030218 A CN201380030218 A CN 201380030218A CN 104350470 A CN104350470 A CN 104350470A
Authority
CN
China
Prior art keywords
memory
file
application
crumbs
user
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.)
Granted
Application number
CN201380030218.5A
Other languages
English (en)
Other versions
CN104350470B (zh
Inventor
詹姆斯·W·Mc·高恩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel Optical Networks Israel Ltd
Original Assignee
Alcatel Optical Networks Israel Ltd
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 Alcatel Optical Networks Israel Ltd filed Critical Alcatel Optical Networks Israel Ltd
Publication of CN104350470A publication Critical patent/CN104350470A/zh
Application granted granted Critical
Publication of CN104350470B publication Critical patent/CN104350470B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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
    • 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
    • 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
    • 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/4812Task transfer initiation or dispatching by interrupt, e.g. masked
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

包括应用以及对应于所述应用在特定时间的状态的数据被保持在用户设备的第一存储器中,所述第一存储器包括永久性存储装置。所述应用例如可以是软件应用。响应于请求,所述文件被传输到设备的第二存储器,所述第二存储器包括随机存取存储器。所述文件作为运行应用被激活或设置。所述用户设备可以是蜂窝电话、无线电话、个人数字助理、个人计算机、膝上型计算机、工作站、大型计算机等等。在一个实施例中,所述文件被带到用户设备的前台。

Description

用于管理网络导航的系统和方法
技术领域
本说明书总体上涉及用于经由网络访问应用的系统和方法,并且更具体来说涉及用于管理网络中的导航的系统和方法。
背景技术
随着因特网使用的增加,用于在各个网站当中进行导航的工具和方法变得越来越重要。许多因特网浏览器允许用户创建书签列表或者常用网站的列表。这样的列表通常包含去到用户所选择的各个网站的链接。这样的链接例如可以包含统一资源定位符(URL)。当用户后来选择某一书签或常用图标时,浏览器访问所述链接从而访问相关联的网站。
发明内容
根据一个实施例,包括应用以及对应于所述应用在特定时间的状态的数据被保持在用户设备的第一存储器中,所述第一存储器包括永久性存储装置。所述应用例如可以是软件应用。响应于请求,所述文件被传输到设备的第二存储器,所述第二存储器包括随机存取存储器。所述文件作为运行应用被激活或设置。所述用户设备可以是蜂窝电话、无线电话、个人数字助理、个人计算机、膝上型计算机、工作站、大型计算机等等。在一个实施例中,所述文件被带到用户设备的前台。
在一个实施例中,第一存储器包括长期存储器,第二存储器包括运行存储器。
在另一个实施例中,多个文件被保持在第一存储器中,每一个对应的文件包括对应的软件应用以及对应于所述对应的应用的状态的数据。显示分别对应于所述多个文件的多个选项。接收关于所述多个选项的其中之一的选择。
在一个实施例中,如果存储在第一存储器中的文件数目超出预定数目,则从第一存储器中移除所述多个文件当中的一个或更多个。每一个文件可以包括表明该文件何时被存储的时间标记。基于对应的时间标记,可以从第一存储器中移除所述多个文件当中的所选文件。
通过参照具体实施方式部分和附图,本领域技术人员将认识到本公开内容的前述和其他优点。
附图说明
图1示出了根据一个实施例的通信系统;
图2A-2D示出了根据一个实施例的示例性用户设备的功能组件;
图3A-3H示出了根据一个实施例的与对应的网络应用相关联的各个网页;
图4示出了描绘根据一个实施例的取回和激活面包屑(breadcrumb)的方法的流程图;
图5A示出了根据一个实施例的图2A-2D的用户设备的功能组件;
图5B示出了根据一个实施例的网页;以及
图6示出了可以被用来实施本发明的某些实施例的示例性计算机的组件。
具体实施方式
图1示出了根据一个实施例的可以被用来提供在线服务的通信系统100。通信系统100包括网络105、第一服务器141、第二服务器151以及用户设备160。在图1的示例性实施例中,网络105是因特网。在其他实施例中,网络105可以包括多种不同类型的网络当中的一种或更多种,比如内联网、局域网(LAN)、广域网(WAN)、无线网络、基于光纤信道的存储区域网络(SAN)或以太网。可以使用其他网络。或者网络105可以包括不同类型的网络的组合。
在图1的说明性实施例中,服务器141保持并且操作网站142,其经由网络105提供在线服务。网站142例如可以通过由服务器141托管的万维网页面来访问,并且可以利用传统的Web浏览器来浏览。
网站142与存储在服务器141上的一项或更多项软件应用相关联,其中包括应用145。在图1的说明性实施例中,应用145在线游戏应用。举例来说,用户可以通过选择显示在网页上的适当图标来访问网站142并且选择玩游戏。当用户选择图标时,应用145执行,从而允许用户玩所期望的游戏。在其他实施例中,应用145可以包括任何其他类型的应用,比如在线信息服务,在线文档处理服务,播放音频、视频或显示文字或者音频、视频和文字的任意组合的媒体递送服务,例如电子邮件阅读器之类的通信应用,书籍阅读器,照片或幻灯片观看器(其中包括用于照片或技术制图的观看器),社交网络网站,博客,地图(比如道路或天气地图),在线白板或绘图工具,或者可以经由网络105访问的任何其他类型的服务。
当采用用户设备160的用户访问网站142并且激活应用145时,服务器141为用户设备160提供应用145的全部或一部分。用户设备160接收应用(或者其一部分),并且将所述应用(或者其一部分)存储在运行存储器中。随后作为用户设备160上的运行应用激活或设置运行存储器中的应用145的版本。在一个实施例中,所述应用或程序被放置到活跃存储器中,并且准备所述应用或程序以供依赖于所使用的特定操作系统的情境来施行,这通常是由设备的操作系统实施的功能。
类似地,服务器151保持并且操作网站152,其经由网络105提供在线服务。网站152例如可以通过由服务器151托管的万维网页面来访问,并且可以利用传统的Web浏览器来浏览。
网站152与存储在服务器151上的一项或更多项软件应用相关联,其中包括应用155。在图1的说明性实施例中,网站152是提供针对各种新闻文章的新闻网站,并且应用155是显示所选新闻文章的应用。举例来说,用户可以通过选择显示在网页上的适当图标来访问网站152并且选择阅读文章。当用户选择图标时,应用155执行,从而允许用户阅读所期望的文章。在其他实施例中,应用155可以包括任何其他类型的应用,比如在线游戏应用,在线信息服务,在线文档处理服务,播放音频、视频或显示文字或者音频、视频和文字的任意组合的媒体递送服务,例如电子邮件阅读器之类的通信应用,书籍阅读器,照片或幻灯片观看器(其中包括用于照片或技术制图的观看器),社交网络网站,博客,地图(比如道路或天气地图),在线白板或绘图工具,或者可以经由网络105访问的任何其他类型的服务。
当采用用户设备160的用户访问网站152并且激活应用155时,服务器151为用户设备160提供应用155的全部或一部分。用户设备160接收应用(或者其一部分),并且将所述应用(或者其一部分)存储在运行存储器中。随后作为用户设备160上的运行应用激活或设置运行存储器中的应用155的版本。
用户设备160可以是允许用户经由网络105进行通信的任何设备。用户设备160可以通过直接(有线)链接或无线方式连接到网络105。用户设备160可以具有用于显示信息的显示屏(未示出)。在图1的说明性实施例中,用户设备160包括移动通信设备,比如蜂窝电话或其他无线电话、个人数字助理等等。或者用户设备160可以是个人计算机、膝上型计算机、平板式计算机、工作站、大型计算机等等。可以使用其他设备。
图2A示出了根据一个实施例的用户设备160的功能组件。用户设备160包括web浏览器210和显示器270。web浏览器210例如可以是被用来经由因特网访问万维网站点的传统web浏览器。显示器270向用户显示文本文档、电子数据表数据、网页、视频以及其他信息。例如可以在显示器270上显示在线游戏的网页。
用户设备160包括操作系统252。操作系统252控制用户设备160的其他组件的操作。操作系统252例如可以包括软件。
用户设备160还包括运行存储器225和长期存储装置235。在用户设备160进行操作的同时,运行存储器225不时地被用户设备160的其他组件使用来暂时存储控制数据和其他信息。在用户设备160上执行软件应用的同时,可以不时地将所述应用的全部或一部分暂时存储在运行存储器225中。举例来说,当经由网络105访问在线应用时,可以在执行应用的同时将所述在线应用的全部或一部分暂时存储和保持在运行存储器225中。通常在用户登出或者导航离开在线应用之后,可以从运行存储器225中移除之前保持在运行存储器225中的在线应用(或者其一部分)。运行存储器225例如可以包括静态随机存取存储器(RAM),或者动态随机存取存储器(DRAM)。在其他实施例中,运行存储器225可以包括其他类型的存储器设备。
长期存储装置235通过比运行存储器225更加永久性并且长期的方式来存储各种类型的数据。长期存储装置235可以包括非易失性的永久性存储装置,其中用户或应用可以规定用于取回的数据的逻辑划分。在一个实施例中,长期存储装置235例如可以包括除了被用于直接发送到处理器以用于代码执行的指令和数据的工作存储器之外的任何存储器。在各个实施例中,长期存储装置235可以包括(而不限于)一个或更多旋转盘驱动器、固态盘驱动器、光盘、带驱动器、例如SD和microSD卡之类的可移除存储器芯片、USB驱动器、网络存储装置、云存储机制等等。长期存储装置235可以由操作系统“安放”,并且可以是可寻址的“驱动器”空间(而不是系统存储器的延伸)。可以使用其他类型的存储器设备。
用户设备160还包括面包屑管理器260。面包屑管理器260不时地接收针对存储信息的请求,所述信息涉及用户设备160当前正经由网络105访问的在线应用(比如应用145或应用155)。作为响应,面包屑管理器260在长期存储装置235中记录涉及用户设备当前正在访问的应用的信息。所述信息可以包括存储在RAM中的所述应用的本地版本以及有关的数据。这样的文件在这里被称作“面包屑”。
根据图1的实施例,用户可以采用用户设备160经由网络105访问各种网站。举例来说,用户可以采用用户设备160来访问网站142,并且玩与应用145相关联的特定游戏。在访问网站142和应用145时,用户可以创建并且存储与应用145相关联的面包屑,以便使得用户能够在后来的某一时间返回与应用145相关联的所选网页。用户随后可以导航到其他网站,并且随后使用所存储的面包屑返回应用145和所选网页。
假设用户采用(用户设备160的)浏览器210来访问网站142,以便玩所期望的游戏。通过众所周知的方式,可以要求用户登录用户帐户以便访问所述网站。
举例来说,用户可以采用浏览器210导航到网站142。当用户访问网站142时,网站142可以与浏览器210通信,并且导致在显示器270上显示例如在图3A中示出的网页。网页304示出了标题为“精彩游戏”的网页。浏览器210还可以显示菜单栏315,其显示例如文件选项317之类的一个或更多菜单选项,以及允许用户在页面304内上下滚动的滚动条322。在其他实施例中,可以不显示菜单栏和/或滚动条。网页304包括可以被选择来玩标题为“游戏1000”的特定游戏的图标307。在所述说明性实施例中,应用145与标题为“游戏1000”相关联的游戏。
假设用户希望玩“游戏1000”,则用户通过利用光标309在图标307上点击或者通过用手指(例如在触摸屏上)按下图标来选择图标。当用户选择图标307时,网站142通过向用户设备160提供应用145的全部或一部分的一个版本来做出响应。用户设备160接收应用145的该版本,并且将其存储在运行存储器225中以作为本地版本(A)280,正如图2A中所示出的那样。
在所述说明性实施例中,本地版本(A)280在用户设备160上运行(例如执行或启动),并且使得如图3B中所示的网页出现在(用户设备160的)显示器270上。如图3B所示,网页330示出了所期望的游戏的页面。用户开始玩游戏。可以在用户玩游戏的同时更新本地版本(A)280,从而反映出用户所获得的分数、等级等等。在用户玩游戏的同时,本地版本(A)280还可以(在运行存储器225内的其他位置处)分开存储与游戏的状态、网页和/或用户的活动有关的数据。举例来说,可以将有关的数据存储在运行存储器225中,比如用户的输入优选项,用户的每次会话游戏时间和累计游戏时间,关于在游戏中达到的一项或更多项成就的表示(比如所完成的关卡、每个关卡的分数和/或评定),用户认证信息(比如由应用145传递到本地版本(A)280的用户名和口令或者一次性凭证,以便例如跟踪用户与游戏的活跃会话),来自多人在线游戏的其他玩家的相关信息等等。
假设用户玩了几分钟游戏并且随后接收到电话呼叫。另外还假设用户希望关闭页面330并且接听电话呼叫,但是用户希望创建面包屑从而使其可以很容易地在后来的某一时间(例如在电话呼叫结束之后)返回如图3B中所示的网页330。根据一个实施例,用户可以创建并且在长期存储装置235中保存一个文件,该文件包括与用户当前正在访问的网页330有关的信息。
在一个实施例中,用户例如通过三次点击计算机鼠标上的按钮来选择“保存面包屑”选项。或者,用户可以三次点击触摸屏上的图标或指定位置。或者如图3C中所示,用户可以从显示在屏幕上的菜单391中选择“保存面包屑”396。或者,可以对操作系统进行预先配置,以便例如在游戏应用处于进程中并且接收到呼叫时自动创建面包屑。可以使用选择保存面包屑的权项的其他方法。面包屑管理器260接收用户对于保存面包屑选项的选择。
响应于用户选择保存面包屑选项,面包屑管理器260使得将包含本地版本(A)280的文件连同拷贝自运行存储器225的其他有关数据保存在长期存储装置235中或者传输到长期存储装置235,以作为如图2B中所示的面包屑A(290)。这样的文件被称作“面包屑”。
在一个实施例中,面包屑包括后面描述的信息的全部或一部分。后面的描述使用与JavaScript对象标记(JSON)和Android操作系统相关联的术语和标记。可以使用其他格式(比如XML或专有格式)和其他操作系统。
与应用的本地版本相关联的面包屑包括以下字段:id,appName(应用名称),desc,时间标记、dex,ram。字段id是被指派来组织面包屑的独有标识符。字段appName包括用户设备的应用名称,其通常是被用来最初启动应用的可执行程序的名称。“desc”字段包括由设备使用来向用户描述应用的较长的应用名称。字段“时间标记”表明面包屑何时被最初存储。在一个实施例中,利用众所周知的ticks(跳动量)格式来表示时间标记。字段“dex”和“ram”可以分别具有许多兆字节的长度。这些字段当中的每一个保持二进制数据。字段“dex”包括对应于应用的实际文件。字段“ram”包括通常处于系统RAM中的在应用正在运行时与所述应用相关联的所有随机存取存储器(RAM)的内容。因此,字段“ram”是关于取得面包屑时存储在存储器中的应用的表示。该数据通常处于RAM中,所述应用的一部分或全部可以被交换到页面文件(这在操作系统将所述应用的一部分从物理RAM中取出并且置入存储装置中时发生)。这样的存储器交换技术对于本领域技术人员是众所周知的。
其他格式(其中包括原生地支持二进制的那些格式)可以被用于dex和ram内容全部二者,并且还可以被用于面包屑本身。可以把附加的信息与面包屑一同存储,其中包括用户优选项、例如对应于系统的独有标识符之类的系统信息、例如网络接口控制器(NIC)之类的任何硬件设备的相关状态或者对于识别和使用面包屑有用的任何其他信息。
现在假设在电话呼叫完成之后,用户决定在返回“游戏1000”之前浏览几篇新闻文章。用户相应地采用浏览器210,并且导航到新闻网站152。当用户导航离开显示在网页330上的“游戏1000”时,可以从运行存储器225中去除本地版本(280),正如图2B中所示出的那样。
当用户访问网站152时,网站152使得将应用155的本地版本存储在运行存储器225中以作为本地版本(B)281,正如图2C中所示出的那样。本地版本(B)281使得在显示器270上显示如图3D中示出的新闻网页。标题为“新闻网站”的新闻网页334包括对应于“新闻报道A”的第一图标398以及对应于“新闻报道B”的第二图标399。假设用户点击图标399,则本地版本(B)281使得显示网页336,该网页显示出标题为“新闻报道B”的文章383,正如图3E中所示出的那样。
假设用户阅读文章383的一部分并且随后希望创建第二面包屑,从而使其可以很容易在后来的某一时间返回网页336以便完成阅读所述文章。用户相应地创建包括与网页336有关的信息的第二面包屑。用户通过前面描述的方式选择保存面包屑选项。面包屑管理器260接收用户对于保存面包屑选项的选择,并且作为响应使得将与本地版本(B)281相关联的面包屑保存在长期存储装置235中。参照图2D,将与本地版本(B)281相关联的面包屑存储在长期存储装置235中以作为面包屑B(291)。
用户现在导航离开网页336,以便访问社交网络网站处的个人网页,比如图3F中所示的网页361。当用户导航离开网页336时,从运行存储器225中移除本地版本(B)281,正如图2D中所示出的那样。
现在假设用户希望返回他在接收到电话呼叫时正在玩的“游戏1000”的页面。图4是根据一个实施例的用于取回和激活面包屑的方法的流程图。在步骤410处,包括应用以及对应于所述应用在特定时间的状态的数据的文件被保持在长期存储器中。正如前面所讨论的那样,面包屑A(290)和面包屑B(291)被保持在用户设备160的长期存储装置235中。
根据一个实施例,用户可以选择用以取回面包屑的选项。举例来说,用户可以点击适当的按钮,从而使得如图3G中所示的菜单出现。菜单372包括取回面包屑选项377。在所述说明性实施例中,用户选择取回面包屑选项377,并且作为响应,面包屑管理器260识别存储装置中的面包屑A(290)和面包屑B(291)。
显示分别对应于多个所存储的面包屑文件的多个选项。因此,面包屑管理器260使得在显示器270上显示包括一个或更多图标的第二菜单,正如图3H中所示出的那样。菜单394包括与面包屑A(290)相关联的第一图标396以及与面包屑B(291)相关联的第二图标397。
接收关于所述多个选项的其中之一的选择。回顾面包屑A与“游戏1000”相关联,用户选择与面包屑A(290)相关联的图标396。面包屑管理器260接收用户的选择。
在步骤420处,响应于用户请求,将文件传输到运行存储器。因此,响应于用户选择取回面包屑选项377和图标396,面包屑管理器260从长期存储装置235取回面包屑A(290)的拷贝,并且将所述拷贝存储在运行存储器225中以作为面包屑A(290-R),正如图5A中所示出的那样。
在步骤430处,作为运行应用激活或设置所述文件。在一个实施例中,重新启动所述文件。在另一个实施例中,重新执行所述文件。在另一个实施例中,将所述文件的一部分拷贝到被操作系统列为可用(或者未被列为不可用)的RAM存储器的一个节段。修改操作系统的存储器跟踪表以便反映出这一改变,并且托管处理器的各个寄存器的数值被设定到其在创建面包屑时被设定到的数值,其中操作系统指令寄存器例外,其被设定到活跃存储器内的与其在创建面包屑时被设定到的相同偏移量处的存储器位置。举例来说,如果在面包屑被创建时所述指令处于活跃存储器中的应用的第一百个字处,则操作系统指令寄存器被设定到工作存储器中的应用的第一百个字(其通常是物理系统RAM中或者操作系统的存储器地址空间中的不同数值)。
在所述说明性实施例中,面包屑管理器260将现在存储在运行存储器225中的面包屑A(290-R)的版本设置成运行应用。在被设置成运行应用之后,面包屑A(290-R)使得“游戏1000”的网页330出现在显示器270上,正如图5B中所示出的那样。用户现在可以在其早前停止游戏的点处或其附近继续玩游戏。
可以将任意数目的面包屑存储在存储装置235中。存储在存储装置235中的面包屑可以被存储任何适当的时间长度。在一个实施例中,面包屑管理器260可以监测长期存储装置235,并且确保存储不超出预定数目的面包屑。举例来说,在一个实施例中,多达十个面包屑被存储在长期存储装置235中。具体来说,最近的十个面包屑被存储。当所存储的面包屑的数目超出十个时,面包屑管理器260从长期存储装置235中移除较早前的面包屑。例如可以通过以下步骤移除一个或更多面包屑:检查所存储的各个面包屑的时间标记,并且移除分别由其时间标记表明的最早的那些面包屑。
在各个实施例中,可以按照不同于所描述或示出的具体顺序来实施这里所描述的各个方法步骤,其中包括在图4中描述的各个方法步骤。在其他实施例中,可以提供其他步骤,或者可以从所描述的方法中去除一些步骤。
这里所描述的系统、装置和方法可以利用数字电路来实施,或者利用一台或更多台计算机来实施,其中所述计算机使用众所周知的计算机处理器、存储器单元、存储设备、计算机软件以及其他组件。通常来说,计算机包括用于执行指令的处理器以及用于存储指令和数据的一个或更多存储器。计算机还可以包括或者耦合到一个或更多大容量存储设备,比如一个或更多磁盘、内部硬盘和可移除盘、磁光盘、光盘等等。
这里所描述的系统、装置和方法可以利用按照客户端-服务器关系操作的计算机来实施。通常来说,在这样的系统中,客户端计算机的位置远离服务器计算机,并且经由网络进行交互。所述客户端-服务器关系可以由分别运行在客户端和服务器计算机上的计算机程序来定义和控制。
这里所描述的系统、装置和方法可以被使用在基于网络的云计算系统内。在这样的基于网络的云计算系统中,连接到网络的服务器或另一个处理器经由网络与一台或更多台客户端计算机进行通信。客户端计算机例如可以经由驻留并且操作在客户端计算机上的网络浏览器应用与服务器进行通信。客户端计算机可以将数据存储在服务器上,并且经由网络访问数据。客户端计算机可以经由网络向服务器传送针对数据的请求或者针对在线服务的请求。服务器可以实施所请求的服务,并且向(一台或多台)客户端计算机提供数据。服务器还可以传送适于使得客户端计算机实施指定功能的数据,例如实施计算、在屏幕上显示指定数据等等。举例来说,服务器可以传送适于使得客户端计算机实施这里所描述的一个或更多方法步骤(其中包括图4的一个或更多步骤)的请求。这里所描述的方法的某些步骤(其中包括图4的一个或更多步骤)可以由服务器或者有基于网络的云计算系统中的另一个处理器实施。这里所描述的方法的某些步骤(其中包括图4的一个或更多步骤)可以由基于网络的云计算系统中的客户端计算机实施。这里所描述的方法的各个步骤(其中包括图4的一个或更多步骤)可以由服务器和/或由基于网络的云计算系统中的客户端计算机按照任意组合来实施。
这里所描述的系统、装置和方法可以利用有形地具体实现在信息载体中的计算机程序产品来实施,其例如被具体实现在非瞬时性机器可读存储设备中以供可编程处理器执行;并且这里所描述的方法步骤(其中包括图4的一个或更多步骤)可以利用可由这样的处理器执行的一个或更多计算机程序来实施。计算机程序是可以被直接或间接地使用在计算机中以便实施特定或者或者产生特定结果的计算机程序指令的集合。计算机程序可以通过任何形式的可编程语言来编写,其中包括已编译或已解译语言,并且可以通过任何形式来部署,其中包括被部署成独立的程序或者适合于使用在计算环境中的模块、组件、子例程或其他单元。
在图6中示出了可以被用来实施这里所描述的系统、装置和方法的示例性计算机的高层级方框图。计算机600包括处理器601,其适于耦合到数据存储设备602和存储器603。处理器601通过执行定义计算机600的总体操作的计算机程序指令来控制这样的操作。所述计算机程序指令可以被存储在数据存储设备602或者其他计算机可读介质中,并且在希望执行所述计算机程序指令时被加载到存储器603中。因此,图4的方法步骤可以由存储在存储器603和/或数据存储设备602中的计算机程序指令定义,并且由执行所述计算机程序指令的处理器601控制。举例来说,所述计算机程序指令可以被实施成由本领域技术人员编码来实施由图4的方法步骤定义的算法的计算机可执行程序代码。相应地,通过执行所述计算机程序指令,处理器601执行由图4的方法步骤定义的算法。计算机600还包括一个或更多网络接口604以用于经由网络与其他设备通信。计算机600还包括允许与计算机600进行用户交互的一个或更多输入/输出设备605(例如显示器、键盘、鼠标、扬声器、按钮等等)。
处理器601可以包括通用和专用微处理器全部二者,并且可以是单一处理器或者计算机600的多个处理器的其中之一。处理器601例如可以包括一个或更多中央处理单元(CPU)。处理器601、数据存储设备602和/或存储器603可以包括一个或更多专用集成电路(ASIC)和/或一个或更多现场可编程门阵列(FPGA)、由其补充或者被合并在其中。
数据存储设备602和存储器603分别包括有形的非瞬时性计算机可读存储介质。数据存储设备602和存储器603可以分别包括高速随机存取存储器,比如动态随机存取存储器(DRAM)、静态随机存取存储器(SRAM)、双倍数据速率同步动态随机存取存储器(DDR RAM)或者其他随机存取固态存储器设备,并且可以包括非易失性存储器,比如一个或更多磁盘存储设备(比如内部硬盘和可移除盘)、磁光盘存储设备、光盘存储设备、闪存设备、半导体存储器设备,比如可擦写可编程只读存储器(EPROM)、电可擦写可编程只读存储器(EEPROM)、紧致盘只读存储器(CD-ROM)、数字通用盘只读存储器(DVD-ROM)盘,或者其他非易失性固态存储器设备。
输入/输出设备605可以包括外设,比如打印机、扫描仪、显示屏等等。举例来说,输入/输出设备605可以包括显示设备(比如用于向用户显示信息的阴极射线管(CRT)或液晶显示器(LCD)监视器)、键盘以及指示设备,比如可以由用户用以向计算机600提供输入的鼠标或轨迹球。
这里所讨论的任何或所有系统和装置,其中包括用户设备及其组件(其中包括web浏览器210、显示器270、面包屑管理器260、运行存储器225以及长期存储装置235),可以利用诸如计算机600之类的计算机来实施。
本领域技术人员将认识到,实际的计算机或计算机系统的实现方式可以具有其他结构并且还可以包含其他组件,图6是用于说明性目的的关于这样的计算机的其中一些组件的高层级表示。
前面的具体实施方式部分应当被理解成在每一方面都是说明性和示例性而非限制性的,并且这里所公开的本发明的范围不应从具体实施方式部分确定,而应从根据专利法所允许的完全宽度来解释的权利要求书确定。应当理解的是,这里所示出并且描述的实施例仅仅是为了说明本发明的原理,本领域技术人员在不背离本发明的范围和精神的情况下可以实施多种修改。在不背离本发明的范围和精神的情况下,本领域技术人员可以实施多种其他特征组合。

Claims (10)

1.一种方法,其包括:
将文件保持在第一存储器中,所述文件包括应用以及对应于所述应用在特定时间的状态的数据,所述第一存储器包括永久性存储装置;
响应于请求,将所述文件传输到第二存储器,所述第二存储器包括随机存取存储器;以及
激活所述文件作为运行应用。
2.权利要求1的方法,其还包括:
由用户设备保持存储在该用户设备的第一存储器中的文件,所述文件包括应用以及对应于所述应用在特定时间的状态的数据,所述第一存储器包括永久性存储装置;
响应于请求,将所述文件传输到用户设备的第二存储器,所述第二存储器包括随机存取存储器。
3.权利要求1的方法,其还包括:
将多个文件保持在第一存储器中,每一个对应的文件包括对应的软件应用以及对应于所述对应的应用的状态的数据;
显示分别对应于所述多个文件的多个选项;以及
接收关于所述多个选项的其中之一的选择。
4.权利要求3的方法,其还包括:
如果存储在第一存储器中的文件数目超出预定数目,则从第一存储器中移除所述多个文件当中的一个或多个。
5.权利要求1的方法,其中:
第一存储器包括长期存储器;并且
第二存储器包括运行存储器。
6.一种设备,其包括:
被配置来存储第一数据的第一存储器,所述第一存储器包括永久性存储装置;
被配置来存储第二数据的第二存储器,所述第二存储器包括随机存取存储器;以及
处理器,其被配置来:
在第一存储器中存储文件,所述文件包括应用以及对应于所述应用在特定时间的状态的数据;
响应于请求,将所述文件传输到第二存储器;以及
激活所述文件作为运行应用。
7.权利要求6的设备,其中,所述处理器还被配置来:
把所述文件带到所述设备的前台。
8.权利要求6的设备,其中,所述处理器还被配置来:
将多个文件保持在第一存储器中,每一个对应的文件包括对应的应用以及对应于所述对应的应用在所述对应的文件被生成时的状态的数据。
9.权利要求6的设备,其中,所述处理器还被配置来:
如果存储在第一存储器中的文件数目超出预定数目,则从第一存储器中移除所述多个文件当中的一个或多个。
10.权利要求6的设备,其中,所述设备包括蜂窝电话、无线电话、个人数字助理、个人计算机、膝上型计算机、工作站和大型计算机的其中之一。
CN201380030218.5A 2012-06-08 2013-05-22 用于管理网络导航的系统和方法 Active CN104350470B (zh)

Applications Claiming Priority (3)

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

Publications (2)

Publication Number Publication Date
CN104350470A true CN104350470A (zh) 2015-02-11
CN104350470B CN104350470B (zh) 2018-06-26

Family

ID=48579489

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380030218.5A Active CN104350470B (zh) 2012-06-08 2013-05-22 用于管理网络导航的系统和方法

Country Status (7)

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

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

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040107199A1 (en) * 2002-08-22 2004-06-03 Mdt Inc. Computer application backup method and system
CN1954319A (zh) * 2004-06-03 2007-04-25 国际商业机器公司 保存多个浏览器实例作为可选web工程
US20110143739A1 (en) * 2008-02-06 2011-06-16 Jan Rippingale Methods and Apparatus for Wireless Phone Optimizations of Battery Life, Web Page Reloads, User Input, User Time, Bandwidth Use and/or Application State Retention
EP2387217A2 (en) * 2010-05-11 2011-11-16 LG Electronics Inc. Mobile terminal and method of operating the same
JP2012088940A (ja) * 2010-10-20 2012-05-10 Nec System Technologies Ltd 情報処理装置、情報処理方法、及びプログラム

Family Cites Families (20)

* 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 ファイル管理方法およびファイル管理装置
WO2000060869A1 (en) 1999-04-08 2000-10-12 Internet Pictures Corporation Perspective-corrected video presentations
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
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
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 国际商业机器公司 用于网页的导航方法和系统
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
US20120154510A1 (en) 2010-12-17 2012-06-21 Microsoft Corporation Smart Camera for Virtual Conferences

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040107199A1 (en) * 2002-08-22 2004-06-03 Mdt Inc. Computer application backup method and system
CN1954319A (zh) * 2004-06-03 2007-04-25 国际商业机器公司 保存多个浏览器实例作为可选web工程
US20110143739A1 (en) * 2008-02-06 2011-06-16 Jan Rippingale Methods and Apparatus for Wireless Phone Optimizations of Battery Life, Web Page Reloads, User Input, User Time, Bandwidth Use and/or Application State Retention
EP2387217A2 (en) * 2010-05-11 2011-11-16 LG Electronics Inc. Mobile terminal and method of operating the same
JP2012088940A (ja) * 2010-10-20 2012-05-10 Nec System Technologies Ltd 情報処理装置、情報処理方法、及びプログラム

Also Published As

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

Similar Documents

Publication Publication Date Title
US10462231B2 (en) Continuing an application session on a different device
JP6916351B2 (ja) 通信セッションの状態の保存
CN102132273B (zh) 注释网页内容
CN103765419B (zh) 用于在主机文档服务中提供离线访问的系统和方法
CN102939584B (zh) 列表集成
CN105009070B (zh) 计算机应用促进
US9122767B2 (en) Method and apparatus for pre-rendering expected system response
US20150193395A1 (en) Predictive link pre-loading
CA2861616A1 (en) Method and system to provide a scroll map
CN104704468A (zh) Web应用程序的跨系统安装
CN110058854B (zh) 用于生成应用的方法、终端设备和计算机可读介质
CN110069734A (zh) 一种页面组件的展现方法和装置
US20160248890A1 (en) Hybrid native networked applications
US20240169011A1 (en) Presenting indicators associated with network-associated content
CN104350470A (zh) 用于管理网络导航的系统和方法
US10148602B2 (en) Enhancing messaging application functionality
CN109086304B (zh) 一种电子书签的更新方法、装置及存储介质
US20220067118A1 (en) Systems and Methods for Personalization for Digital Displayed Media
US20150040020A1 (en) Clickstream monitoring
CN102811234B (zh) 保存应用的方法及装置
CN111079049A (zh) 终端设备的显示内容处理方法、装置及存储介质
CN112464116B (zh) 页面显示方法、装置、计算机设备和存储介质
US11199949B2 (en) Automation tool for generating web pages and links
JP2019098064A (ja) 情報処理装置及びプログラム
US20230244366A1 (en) In-page navigation

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant