利用不同文件宿主的文件访问的制作方法

文档序号:6484749阅读:176来源:国知局
利用不同文件宿主的文件访问的制作方法
【专利摘要】从应用接收文件访问请求。标识出所述文件访问请求的一个或多个文件类型,并且还标识出支持所标识出的一个或多个文件类型的文件的一个或多个文件宿主。显示用户界面,该用户界面包括托管区。在该托管区内,所述一个或多个文件宿主中的至少一个显示所述用户界面的一部分,该部分标识出能够被选择来供获取的至少一个文件宿主的一个或多个文件或者所述一个或多个文件被保存在其中的能够被选择的一个或多个位置。
【专利说明】利用不同文件宿主的文件访问
【背景技术】
[0001]用户常常对多种不同文件感兴趣,比如文档文件、图像文件、音乐文件、视频文件等等。这些文件可以被存储在各种存储设备上,比如用户计算机的硬驱动器上或者网络上的服务器上。然而,对于用户,跟踪跨这样的存储设备的这些文件可能是麻烦的,常常需要用户从他或她期望利用其来使用文件的各个应用访问那些各不相同的存储设备,并且需要用户记住哪些存储设备具有哪些文件。

【发明内容】

[0002]本
【发明内容】
被提供来以简要形式介绍概念的选择,以下将在【具体实施方式】中对这些概念进行进一步的描述。本
【发明内容】
既不是旨在标识所要求保护主题的关键特征或必要特征,也不是旨在被用来限制所要求保护主题的范围。
[0003]根据一个或多个方面,从应用接收文件访问请求。标识出文件访问请求的一个或多个文件类型,并且还标识出支持所标识出的一个或多个文件类型的文件的一个或多个文件宿主。显示用户界面,该用户界面包括托管区。在该托管区内,所述一个或多个文件宿主中的至少一个显示用户界面的一部分,该部分标识出能够被选择来供获取的、所述至少一个文件宿主的一个或多个文件。
[0004]根据一个或多个方面,从应用接收文件访问请求。标识出要由该应用保存的文件的文件类型,并且还标识出支持所标识出的文件类型的文件的一个或多个文件宿主。显示用户界面,该用户界面包括托管区。在该托管区内,所述一个或多个文件宿主中的至少一个显示允许所述至少一个文件宿主保存文件的、用户界面的一部分。
【专利附图】

【附图说明】
[0005]将参照附图描述【具体实施方式】。在附图中,附图标记最左侧的(多个)数字标识该附图标记最先出现的图。在说明书和附图中,不同实例中的相同附图标记的使用可以表示相似或相同的项目。
[0006]图1图示出根据一个或多个实施例的实施了这里所讨论的利用了不同文件宿主技术的文件访问的示例系统。
[0007]图2图示出根据一个或多个实施例的实施了这里所讨论的利用了不同文件宿主技术的文件访问的另一示例系统。
[0008]图3、4、5和6中的每一个描述了根据一个或多个实施例的、使用了这里所讨论的利用了不同宿主技术的文件访问来显示的示例用户界面。
[0009]图7图示出根据一个或多个实施例的实施了利用不同文件宿主的文件访问的示例过程。
[0010]图8图示出根据一个或多个实施例的实施了利用不同文件宿主的文件访问的另一示例过程。【具体实施方式】
[0011]概沭
这里讨论利用了不同文件宿主的文件访问。当使用应用时,用户可以获取由诸如文件系统、其他应用、服务提供者等各种不同的文件宿主所保持的文件。类似地,用户可以将文件保存到各种不同的文件宿主。显示具有托管区的用户界面(UI),并且各种不同的文件宿主可以在该托管区内显示用户界面。每个文件宿主可以按照文件宿主所期望的那样在该托管区内裁剪该显示。通过与该托管区中显示的用户界面交互,用户可以将来自各种不同文件宿主的供获取的文件选择到他或她正使用的应用中,和/或选择文件要被保存到的目的地文件宿主。
[0012]在以下讨论中,首先描述了可操作来执行这里所描述的技术的示例系统。然后,描述了可在所述示例系统和其他系统中操作的示例过程。同样,示例系统不限于该示例过程的执行。
[0013]示例系统
图1图示出根据一个或多个实施例的实施这里所讨论的利用了不同文件宿主技术的文件访问的示例系统100。所图示系统100包括可以按照多种方式来配置的计算设备102。例如,计算设备102可以被配置为能够在网络104上进行通信的计算机,比如桌面型计算机、平板或笔记本计算机、移动站、娱乐器械、在通信上耦合至显示设备的机顶盒、电视或其他显示设备、蜂窝或其他无线电话、游戏控制台、等等。
[0014]计算设备102的范围可以从具有丰富的存储器和处理器资源的全资源设备(例如,个人计算机、游戏控制台)到具有有限存储器和/或处理资源的短缺资源设备(例如,传统机顶盒、手持式游戏控制台)。附加地,虽然示出了单个计算设备102,但是计算设备102可以代表多个不同设备,比如,由企业用来执行操作的多个服务器、遥控器和机顶盒组合、图像捕获设备(例如,照相机)和被配置来捕获手势的游戏控制台、等等。
[0015]计算设备102还可以包括使得计算设备102的硬件执行操作(例如,配置处理器、功能块等)的实体(例如,软件)。例如,计算设备102可以包括计算机可读介质,该计算机可读介质可以被配置来保持使得计算设备更具体地计算设备102的硬件执行操作的指令。因此,所述指令用于配置执行操作的硬件,并且按照这种方式导致所述执行操作的硬件的变换。可以由计算机可读介质通过多种不同配置向计算设备102提供指令。
[0016]一种这样的计算机可读介质配置是信号承载介质,因此被配置为比如经由网络104向计算设备的硬件传送指令(例如,像载波一样)。计算机可读介质还可以被配置为计算机可读存储介质,因此其不是信号承载介质。计算机可读存储介质的示例包括随机存取存储器(RAM)、只读存储器(ROM)、光盘(例如,DVD或⑶)、闪存、硬盘存储器和可以使用磁、光学和其他技术来存储指令和其他数据的其他存储器设备。
[0017]网络104可以采取多种不同配置。例如,网络104可以包括因特网、广域网(WAN)、局域网(LAN)、个域网(PAN)、无线网络、公共电话网络、内联网、其组合等等。此外,虽然示出了单个网络104,但是网络104可以被配置成包括多个网络。
[0018]计算设备102被图示为包括文件管理模块106。文件管理模块106代表用于管理对一个或多个文件(包括文件系统108中的文件)的访问的功能。可以以多种方式实施文件管理模块106,比如,实施成独立应用、计算设备102的操作系统的一部分、结合操作系统执行的应用等等。
[0019]文件系统108采用用于通过计算设备102组织并且存储文件110的技术。文件系统108例如可以采用文件夹的层级结构来管理存储装置中的文件110(例如,可执行文件和/或库文件)。可以被文件管理模块106和文件系统108采用的多种其他文件管理技术被考虑。附加地,可以使用文件管理模块106来管理多种不同类型的文件110。例如,文件110可以是文本(文档)文件、图像文件、视频文件、音频文件、其组合等。
[0020]应用112是在计算设备102上运行的一个或多个程序、脚本、或其他指令集合。应用112可以采取多种不同配置,比如,娱乐应用(例如,游戏或音频/视频播放器)、实用应用(例如,word处理器或Web浏览器)、参考应用(例如,词典或百科全书)等。应用112可以是在计算设备102上运行并且可以被存储为文件110的一个或多个程序、脚本、或其他指令集合。可替换地,应用112可以是从远程服务(例如,经由网络104)下载且在计算设备102上运行而未被存储为文件110的一个或多个程序、脚本、或其他指令集合。或者,应用112可以是在远程服务上运行的一个或多个程序、脚本、或其他指令集合,其中,用户界面由该远程服务生成并且(例如,经由网络104)提供给计算设备102用于显示,以及在计算设备102处接收的输入(例如,经由网络104)返回给该远程服务用于处理。
[0021]在一个或多个实施例中,应用112是隔离应用,其运行的方式是,应用112访问计算设备102的资源(例如,联网计算机、因特网、模块、设备、存储器、其他应用)的能力受限。计算设备102的操作系统(和/或其他软件、固件和/或硬件)允许隔离应用访问已经被分配该隔离应用或者以其他方式使得其可被该隔离应用使用的、计算设备102的存储器和其他资源,但是阻止该隔离应用访问计算设备102的其他存储器、资源、和/或在计算设备102上运行的应用。这保护在计算设备102上运行的其他应用免于受到隔离应用的干扰,也保护该隔离应用免于受到在计算设备102上运行的其他应用的干扰,从而将该应用与在计算设备102上的其他应用隔离。
[0022]在一个或多个实施例中,应用112通过在沙盒中运行而以受限的方式运行。虽然在计算设备102中图示出单个应用112,但是应该注意的是,可以在计算设备102中并发地运行多个应用(每个应用在其自身的沙盒中执行)。
[0023]文件管理模块106还被图示为包括代理器模块114和挑选器模块116。代理器模块114代表文件管理模块106的用于管理应用112对各种不同文件宿主(比如,文件系统108、其他应用、服务提供者等)的访问的功能。代理器模块114例如可以充当用于查找应用112所请求的文件并返回向应用112提供那些文件的中介。此外,这样的文件可以被提供给应用112,而应用112无需知道获得文件的地点(例如,文件系统108所使用的命名空间、宿主等)。例如,代理器模块114可以用作抽象层,该抽象层将应用112与关于各种不同文件宿主和那些文件宿主存储文件的方式的具体细节隔离。
[0024]附加地,代理器模块114可以采用挑选器模块116来配置用户界面,使得用户可以从各种不同的文件宿主选择文件。挑选器模块116包括UI模块122,该UI模块122酌情管理与文件宿主的通信,包括管理远程访问(例如,经由网络104与服务提供者120的)。UI模块122还基于与其他文件宿主的通信来管理用户界面的至少一部分。例如,UI模块122可以配置用户界面的一部分,使得用户可以选择可经由网络104上的(例如,使用一个或多个计算设备实施的)服务提供者120访问的远程文件,选择由服务提供者120的应用管理的远程文件,选择由计算设备102上的其他应用管理的文件,等等。
[0025]诸如应用112和挑选器模块116之类的计算设备102的各种不同模块和应用可以从计算设备102的用户接收用户输入。这些用户输入可以提供数据、用户选择等。可以以多种不同方式提供用户输入,比如,通过按压设备102的键区或键盘的一个或多个按键,按压设备102的控制器(例如,遥控设备、鼠标、轨迹板等)的一个或多个按键,按压设备102的触摸板或触摸屏的特定部分,在设备102的触摸板或触摸屏上做出特定手势,和/或在设备102的控制器(例如,遥控设备、鼠标、轨迹板等)上做出特定手势。也可以经由其他物理反馈输入向设备102提供用户输入,比如,轻敲设备102的任何部分、可以被设备102的运动检测组件认出的动作(比如,摇动设备102、旋转设备102等)等等。也可以以其他方式提供用户输入,比如,经由针对麦克风的可听输入、经由图像捕获设备所观察到的手或其他身体部位的运动、等等。
[0026]一般而言,可以使用软件、固件、硬件(例如,固定逻辑电路)、人工处理或这些实施方式的组合来实施这里所描述的任何功能。如这里所使用的术语“模块”和“功能” 一般表示硬件、软件、固件或其组合。在软件实施方式的情况下,模块、功能或逻辑表示指令和执行由硬件规定的操作的硬件,比如,一个或多个处理器和/或功能块。
[0027]图2图示出根据一个或多个实施例的实施这里所讨论的利用了不同文件宿主技术的文件访问的示例系统200。可以由用于执行文件管理技术的图1的计算设备102的文件管理模块106部分地实施所图示的系统200。
[0028]所图示的系统200包括应用202(其可以例如是图1的应用112)、代理器模块114、挑选器模块116和一个或多个文件宿主204。在该示例中,应用202经由代理器模块114所暴露的一个或多个应用编程接口(API)与代理器模块114通信,以访问文件宿主204。虽然图2中图示出单个应用202和特定文件宿主204,但是应该注意的是,系统200可以包括访问任何数量的文件宿主204的任何数量的应用202。
[0029]在一个或多个实施例中,应用202被允许访问文件宿主204而无需知道特定文件被文件宿主204布置、组织、保持等在哪里和/或特定文件被文件宿主204如何布置、组织、保持等。例如,应用202可以不知道文件宿主204用于访问文件的命名空间或数据模型。因此,代理器模块114可以将经由API接收的来自应用202的请求转换为可理解来查找感兴趣的文件的形式。
[0030]在其他实施例中,可以使得应用202知道,在特定文件宿主204内,文件被布置和安置在哪里,和/或文件被如何布置和安置。例如,应用202可以被配置成使用本地文件系统212所支持的命名空间,使得代理器模块114不执行请求的转换。多种其他示例也被考虑,比如,对于特定应用,允许直接访问本地文件系统212而不用与代理器模块114进行交互(在这种情况下,可以经由不同于以下讨论的用户界面206的其他用户界面访问文件)。
[0031]挑选器模块116呈现用户界面206,以促进用户选择供获取的文件和/或用于保存文件的目的地。用户界面206允许从各种不同的文件宿主获取文件和/或将文件保存到各种不同的文件宿主。例如,用户界面206可以包括其中显示了由文件宿主204生成的用户界面的托管区。
[0032]代理器模块114和挑选器模块116充当应用202与文件宿主204之间的中介。应用202可以不知道文件宿主204,并且文件宿主可以不知道应用202。附加地,由挑选器模块116提供包括托管区的用户界面206,在该托管区中,文件宿主204可以显示用户界面的一部分。因此,应用202可以在任何给定时刻都不知道在该托管部分中显示用户界面的特定文件宿主,也可以不知道从其访问文件的特定文件宿主204 (例如,从其获取了文件和/或将文件保存到其中的那个文件宿主204)。
[0033]代理器模块114和/或挑选器模块116可以与各种不同的文件宿主204进行通信,t匕如,本地文件系统212、应用214、远程文件系统216和服务提供者218。代理器模块114和/或挑选器模块116可以以不同方式与文件宿主204进行通信,并且在一个或多个实施例中,利用指示如何与各个文件宿主204进行通信的信息配置模块114和/或116 (或者,模块114和/或116可以以其他方式获取指示如何与各个文件宿主204进行通信的信息)。
[0034]文件宿主204涉及组织、管理和/或存储文件的系统、服务、应用等。文件宿主204可以在托管区中显示用户界面,以允许访问(例如,获取、存储等)文件宿主的文件(文件宿主所组织、管理和/或存储的文件)。文件宿主204可以使用各种不同的数据模型(在存储文件中使用的格式和/或协议)来以各种不同的方式组织和存储文件,比如,将文件存储为存储设备上的单独文件,数据库或其他记录中的文件、文件分组或集合的一部分(例如,zip文件或机柜文件的一部分)等等。不论文件宿主204所使用的数据模型,每个文件宿主204都知道如何访问(例如,标识、存储、获取、修改)该文件宿主204所组织、管理和/或存储的文件。
[0035]本地文件系统212是在作为运行应用202的计算设备的一部分或者与其相连的、包括可移除存储设备的本地存储设备上的一个或多个文件夹中存储文件222的文件宿主。本地文件系统212可以例如在本地硬盘、光盘、闪存设备、或其他计算机可读存储介质上存储文件222。
[0036]远程文件系统216是在与运行应用202的计算设备不同的远程存储设备上的一个或多个文件夹中存储文件226的文件宿主。例如,该远程存储设备可以经由图1的网络104耦合至运行应用202的计算设备。类似于本地文件系统212,远程文件系统216可以在各种不同的计算机可读存储介质上存储文件。
[0037]类似于图1的应用112,应用214可以采取多种不同的配置,并且可以是在各种设备上运行的一个或多个程序、脚本、或其他指令集合。类似于图1的应用112,应用214也可以是隔离应用。典型地,应用214在与应用202相同的计算设备上运行,但是可替换地,其可以在另一计算设备上运行。应用214是以各种方式存储文件224的文件宿主。应用214可以利用本地文件系统212和/或远程文件系统216存储文件224,但是典型地,文件224可仅仅通过应用214进行访问。
[0038]服务提供者218是可以采取多种不同配置的一个或多个应用,其向应用202提供各种不同服务,比如相片管理服务、社交网络服务、消息传递或其他通信服务、文档编辑服务等。服务提供者218包括典型地运行在不同于应用202所运行的计算设备的一个或多个计算设备(比如,经由图1的网络104与运行应用202的计算设备相耦合的一个或多个计算设备)上的一个或多个应用。服务提供者218是以各种方式存储文件228的文件宿主。月艮务提供者218可以利用本地文件系统212和/或远程文件系统216存储文件228,但是典型地,文件228可仅仅通过服务提供者218进行访问。
[0039]当应用202想要访问文件宿主以便允许应用202的用户将供获取的一个或多个文件选择到应用202中或从应用202保存一个或多个文件时,应用202向代理器模块114传送文件访问请求。因为应用202做出文件访问请求,所以应用202也称作下命令应用(callingapplication)。例如通过调用代理器模块114的API来传送文件访问请求。响应于该文件访问请求,代理器模块114调用挑选器模块116,挑选器模块116显示用户界面206。可替换地,应用202可以绕开代理器模块114并且将文件访问请求传送至挑选器模块116,直接调用挑选器模块116来显示用户界面206而不用通过代理器模块114。
[0040]用户界面206包括托管区,托管区是该用户界面的一部分,其中,一个或多个文件宿主204可以显示用户界面。在该托管区内显示的用户界面由文件宿主204生成。在该托管区内显示用户界面的应用214或服务提供者218也可以称作托管应用。每个文件宿主204可以按照该文件宿主204所希望的那样裁剪该托管区内的显示,可选地,按照该文件宿主204所希望的那样随着时间修改和改变该显示。应用202可以不知道(并且不了解)生成在托管区内显示的用户界面的方式,文件宿主204所使用的数据模型或命名空间等。类似地,挑选器模块挑选器模块116可以不知道(并且不了解)生成在托管区内显示的用户界面的方式,文件宿主204所使用的数据模型或命名空间等。
[0041]挑选器模块116 (例如,挑选器模块116的UI模块122)提供一个或多个文件宿主204可以在其中显示用户界面的托管区。托管区可以是例如,文件宿主204的用户界面可以被显示或者以其他方式呈现在其中的窗口。可以以不同方式在托管区内显示用户界面。例如,可以从文件宿主204接收要在托管区内显示的用户界面,并且由挑选器模块116进行显示。作为另一个示例,可以允许文件宿主204在托管区中(例如,在特定窗口中)直接显示用户界面。然而,不论在托管区内显示用户界面的方式是什么,文件宿主的用户界面被限制在该托管区。不允许文件宿主的用户界面覆写Π的不在托管区内的其他区域,并且不允许文件宿主的用户界面霸占由计算设备的操作系统或者在计算设备上运行的其他应用提供的
U1
[0042]应该注意的是,当挑选器模块116提供一个或多个文件宿主204可以在其中显示用户界面的托管区时,托管区不由合并到应用202中的插件或扩展代码提供。除了不知道(并且不了解)生成在托管区内显示的用户界面的方式之外,应用202可以不知道生成在托管区内显示的用户界面的特定文件宿主。生成在托管区内显示的用户界面的该特定文件宿主以及能够生成在托管区内显示的用户界面的文件宿主204可以改变,而无需应用202知道该改变。
[0043]用户界面206可以每次显示单个文件宿主204可以在其中显示用户界面的单个托管区,并且在托管区内显示用户界面的该文件宿主204可以随着时间而改变。可替换地,用户界面206可以并发地显示多个托管区,以允许多个文件宿主204并发地显示用户界面。
[0044]挑选器模块116可以按照不同方式标识要在托管区内显示用户界面的文件宿主204。在一个或多个实施例中,各种不同文件宿主204的标识符被呈现为用户界面206的一部分,比如在用户界面206的文件宿主标识部分中。选择标识符之一的用户输入被接收,并且挑选器模块116调用具有所选标识符的、要在托管区内显示用户界面的文件宿主204。可替换地,挑选器模块116可以以其他方式标识要在托管区内显示用户界面的文件宿主204,比如通过标识默认文件宿主(例如,挑选器模块116配有的默认文件宿主,或者,挑选器模块116可以以其他方式标识的默认文件宿主),随机地或者根据其他规则或标准选择文件宿主,基于从系统200的用户接收的偏好或配置设置标识文件宿主,等等。
[0045]可以以不同方式确定系统200中可用的文件宿主204。在一个或多个实施例中,每个文件宿主204被登记为用于挑选器模块116的文件宿主204。作为登记处理的一部分,提供关于文件宿主204的各种不同信息,比如,如何激活文件宿主204,文件宿主所支持的文件类型,等等。可以在各种不同时刻执行该登记,比如,当文件宿主被安装到实施挑选器模块116的计算设备上时,当响应于用户请求,文件宿主访问实施挑选器模块116的计算设备时,等等。当确定了系统200中可用的文件宿主204(例如,并且比如,针对其的标识符将被显示在用户界面206的文件宿主标识部分内的文件宿主204)时,挑选器模块116可以仅仅标识已经登记为用于挑选器模块116的文件宿主204的那些文件宿主。
[0046]可替换地,可以以不同方式标识系统200中可用的文件宿主204。例如,可以(例如,经由图1的网络104)访问远程服务以标识运行应用202的计算设备当前可访问的服务,并且那些标识出的服务可以是文件宿主204。作为另一示例,来自运行应用202的计算设备的销售者或管理员的文件宿主列表可以被访问来确定系统200中可用的文件宿主204。
[0047]附加地,在一个或多个实施例中,文件宿主204可以支持不同文件类型。文件类型指的是,文件中存储的数据的特定类型和/或数据被存储在文件中的格式。例如,文件类型可以是图像文件、音频文件、视频文件、文本文件等。作为另一示例,文件类型可以是JPEG(联合图像专家组)文件、PDF (可移植文档格式)文件等。文件宿主204所支持的文件类型涉及,组织、管理和/或存储具有该文件类型的文件的文件宿主204。比如在以上讨论的登记处理期间,标识每个文件宿主204所支持的文件类型。作为文件访问请求的一部分,应用202可以标识出应用202期望用于该文件访问请求的一种或多种文件类型。挑选器模块116仅仅标识(例如,像针对其的标识符要被显示在用户界面206的文件宿主标识部分内的文件宿主204 —样的)那些支持应用202所请求的文件类型的文件宿主。因此,不支持应用202所请求的文件类型的文件宿主204不被标识为可以在托管区内显示用户界面的文件宿主。然而,如果对于该文件宿主204所支持的另一文件类型,接收到来自应用202的随后的访问请求,则该文件宿主204被标识为可以在托管区内显示用户界面的文件宿主。
[0048]当文件宿主204被标识为要在托管区内显示用户界面的文件宿主204时,挑选器模块116激活,或者以其他方式调用所标识出的文件宿主204。挑选器模块116知道,或者可以获得指示如何激活或调用文件宿主204的信息。可以例如作为如上讨论的登记处理的一部分而获得该信息。如果文件宿主204还未运行,则挑选器模块116激活或发动文件宿主204,以调用文件宿主204来在托管区内显示用户界面。如果文件宿主204已经在运行,则挑选器模块116调用文件宿主204来在托管区内显示用户界面。
[0049]被激活或被调用的文件宿主204按照文件宿主204自己确定的各种不同方式在托管区中显示用户界面。可以用诸如图标、视频序列、文本描述等不同表示来显示文件。用户可以以不同方式输入数据,比如,经由文本输入域,经由手势,可听见地,等等。
[0050]文件宿主204在托管区中显示的用户界面可以允许对由文件宿主204管理的文件进行各种不同访问。例如,用户界面可以允许导览文件夹或其他文件分组,选择供获取的一个或多个文件,选择用于保存文件的一个或多个位置,等等。
[0051]在来自应用202的文件访问请求请求获取一个或多个文件的情况下,由文件宿主204显示的用户界面标识出(例如,显示图标或缩略图表示)应用202的用户可以从其选择的一个或多个文件宿主204中的每一个的一个或多个文件。如上所讨论的,选择可以由提供多种不同输入的用户做出。在选择了(来自一个或多个文件宿主204的)一个或多个文件时,所述一个或多个文件宿主204向挑选器模块116提供所选择的一个或多个文件(或者在哪里和/或如何获取所述一个或多个所选文件的指示)。挑选器模块116向代理器模块114提供所述一个或多个所选文件(或者,在哪里和/或如何获取所述一个或多个所选文件的指示)。代理器模块114向应用202返回所述一个或多个所选文件(或可替换地,应用202可以在哪里和/或如何获取所述一个或多个所选文件或所述一个或多个文件的内容的指示)。
[0052]在来自应用202的文件访问请求请求保存或存储一个或多个文件的情况下,由文件宿主204显示的用户界面标识出(例如,显示图标或缩略图表示)应用202的用户可以从其选择的文件宿主204的一个或多个位置。由文件宿主204显示的用户界面也可以提供用户输入部分,以允许用户提供关于一个或多个文件的各种不同信息(例如,所述一个或多个文件的名称,所述一个或多个文件的描述)。作为用于保存或存储文件的文件访问请求的一部分,应用202可以可选地提供标识文件的信息。该信息可以被提供给在托管区内显示用户界面的文件宿主204,以允许文件宿主204将与要保存的文件相关的信息合并到托管区中的用户界面中。例如,应用202可以(经由代理器模块114和挑选器模块116)向文件宿主204提供代表要保存的文件的缩略图或图标。文件宿主204可以将该缩略图或图标作为托管区中的用户界面的一部分进行显示。
[0053]应用202向代理器模块114提供要保存的一个或多个文件(或者,在哪里和/或如何获得所述要保存的一个或多个文件的指示)。代理器模块114向挑选器模块116提供所述要保存的一个或多个文件(或者,在哪里和/或如何获得所述要保存的一个或多个文件的指示),挑选器模块116向在托管区中显示用户界面的文件宿主204提供所述要保存的一个或多个文件(或者,在哪里和/或如何获得所述要保存的一个或多个文件的指示)。在接收到用于存储所述一个或多个文件的位置的用户选择时,在托管区中显示用户界面的文件宿主204在所选位置存储所述一个或多个文件(以及可选地,与关于所述一个或多个文件的另外提供的信息一起)。应用202可以作为文件访问请求的一部分或者可替换地在其他时间(例如,响应于来自挑选器模块116的针对所述一个或多个文件的请求,该请求是响应于用户选择所述一个或多个文件要被保存的位置而由挑选器模块116提供的),提供所述要保存的一个或多个文件(或者,在哪里和/或如何获得所述要保存的一个或多个文件的指示)。
[0054]在系统200中,应用202是向代理器模块114提供访问请求的下命令应用,而应用214是可以在用户界面206的托管区中提供用户界面的托管应用。然而,应该注意的是,应用可以在相同时刻和/或不同时刻是托管应用和/或下命令应用。例如,应用202可以是社交网络应用,而应用214可以是相片编辑应用。在某一时刻,社交网络应用可以是托管应用,而相片编辑应用可以是下命令应用,以允许从社交网络应用获取图像到相片编辑应用,而在稍后的时刻,相片编辑应用可以是托管应用,而社交网络应用可以是下命令应用,以允许从相片编辑应用获取图像到社交网络应用。继续该示例,当相片编辑应用相对于社交网络应用是下命令应用时,字处理应用可以是下命令应用,而相片编辑应用可以是用于字处理器应用的托管应用,从而在允许从社交网络应用获取图像到相片编辑应用的同时,允许从相片编辑应用获取图像到字处理应用。[0055]这里讨论的利用了不同文件宿主技术的文件访问支持各种使用场景。例如,当使用特定应用时,用户能够请求将特定类型的文件(例如,图片)获取到该一个应用中。支持该特定类型的文件的各种其他应用或服务提供者可以被标识,并且向用户显示用户界面。用户能够从那些各种不同的其他应用选择一个或多个文件,响应于此,所选一个或多个文件被获取到了用户正使用的特定应用中。因此,用户可以容易地将来自另一个应用的文件获取到该特定应用中,而不用非得分离地将来自其他应用的文件保存到存储设备上,然后将那些已保存的文件获取到该特定应用中。此外,用户可以从其他应用获取这样的文件,而文件要被获取至的特定应用却不知道所述其他应用所使用的数据模型(并且不知道所述其他应用本身)。
[0056]示例用户界面
以下章节描述了可以使用前述系统和设备来实施的示例用户界面。计算设备102例如可以通过在计算设备102的硬件(例如,被指令配置成执行操作的一个或多个处理器和/或功能块)上执行指令,来输出用户界面206。虽然针对挑选器模块116的用户界面206的输出描述了这些技术,但是在不背离其精神和范围的情况下,各种各样的不同用户界面可以采用这些技术。
[0057]图3描绘了被配置为移动通信设备并且输出用户界面302的图1的计算设备102的示例实施方式300。如上所讨论的,可以输出用户界面302以提供对各种不同文件宿主204的文件的访问。相应地,用户界面302可以被配置成,支持响应于用户输入而导览各种文件宿主204的文件,使得用户可以管理如何执行该访问。
[0058]该示例中的用户界面302被图示为包括导航部分304,导航部分304包括已经接收到用于打开图片类型的文件的文件访问请求的指示。用户界面302还包括宿主标识部分306,例如可以响应于用户选择导航部分304中的“跳至”选项而显示宿主标识部分306。宿主标识部分306显示各种不同文件宿主204的标识符。在所图示的示例中,宿主标识部分306显示以下项的标识符:“计算机、” “桌面、” “下载、” “音乐、” “图片、” “相片图库应用、”以及“社交应用。” “计算机、” “桌面、” “下载、” “音乐、” “图片”的标识符可以涉及不同文件宿主或者相同文件宿主的不同位置(例如,本地文件系统中的不同文件夹或库)。标识符“相片图库应用”标识作为应用的文件宿主(例如,相片图库应用),并且标识符“社交应用”标识也作为应用的文件宿主(例如,社交网络应用)。标识符被列出为文本表示,但是多种其他表不也被考虑,比如图像、图标、视频序列等。
[0059]用户可以以如上所讨论的多种不同方式经由用户界面302提供输入。例如,用户可以使用他或她的手308触摸因而选择了导航部分304中的“跳至”选项来显示宿主标识部分306,或者触摸因而选择了在宿主标识部分306中的标识符之一来在托管区中显示由所选标识符标识出的文件宿主的文件。
[0060]因此,可以响应于多种因素而输出用户界面302。例如,代理器模块114可以从应用112接收文件访问请求。作为响应,代理器模块114和/或挑选器模块116可以输出用户界面302。多种其它示例也被考虑。
[0061]图4描绘了被配置为移动通信设备并且输出用户界面402的图1的计算设备102的示例实施方式400。如上所讨论的,用户界面402可以被输出以标识出能够由用户选择的文件宿主204的文件。用户界面402假设用户界面302的宿主标识部分306中的“相片图库应用”标识符被选择。相应地,用户界面302可以被配置成,支持响应于用户输入而导览相片图库应用的文件,使得用户可以管理如何执行该访问。
[0062]用户界面402包括导航部分304,导航部分304图不出相片图库应用的标识符(例如,“相片图库应用”)和能够被用户选择以返回前一屏幕(例如,用户界面302)的向上箭头。
[0063]用户界面402还包括托管区404,在托管区404中,相片图库应用生成用户界面。在所图示的示例中,相片图库应用生成了用户界面,该用户界面在托管区404的左手侧具有大图像,并且在托管区404的右手侧具有相片图库应用的其他图像的缩略图。用户可以选择(例如,通过用他或她的手308触摸)在托管区404的右手侧的缩略图,以将所选图像显示为托管区404的左手侧的大图像。用户可以选择(例如,通过用他或她的手308触摸)导入按钮406,以将包括托管区404的左手侧的大图像的文件返回至下命令应用。也可以提供多种其他用户输入来选择托管区404的左手侧的大图像作为代表要返回至下命令应用的文件,比如,双击或双敲大图像,按压图像的缩略图并且保持至少阈值时间量,等等。
[0064]图5描绘了被配置为移动通信设备并且输出用户界面502的图1的计算设备102的示例实施方式400。用户界面502类似于用户界面402,但是包括集合部分504,集合部分504促进从一个或多个不同文件宿主选择多个文件。集合部分504可以例如由挑选器模块116提供。可以以不同方式选择文件,比如,双击或双敲文件,将文件从托管区404的右手侧拖动至集合部分504并且放下,等等。当文件被选择时,该文件的缩略图被显示在集合部分504中。可选地,用户可以例如通过选择导航部分304中的向上箭头返回到用户界面302,来从多个文件宿主选择文件。然后,用户可以选择另一个文件源(例如,由宿主标识部分306中的“社交应用”代表的社交网络应用)的标识符,响应于此,社交网络应用提供在托管区404中显示的用户界面。来自社交网络应用的一个或多个附加文件可以被选择并且被添加到集合部分504中(除了从相片图库应用中选择的、已经显示在集合部分504中的文件的缩略图之外)。
[0065]在用户选择了 一个或多个文件之后,用户可以选择(例如,通过用他或她的手308触摸)导入按钮506以将所选择的一个或多个文件(其缩略图显示在集合部分504中)返回给下命令应用。也可以提供多种其他用户输入来将所选择的一个或多个文件返回至下命令应用。
[0066]图6描绘了图1的计算设备102在显示被配置为保存文件到文件宿主的用户界面时的示例实施方式600。在该示例中,用户界面602被计算设备102配置成将文件保存到相片图库应用文件宿主。用户界面602包括托管区604,在该托管区604中,相片图库应用生成用户界面,并且该托管区604包括文件的表示,在该实例中,该文件的表示是图像。山的表示被图示为被选择以保存到文件宿主。
[0067]托管区604还包括保存部分606,保存部分606被配置成载明关于要保存的文件的信息,在该实例中,所述信息是名称“假期”以及文件类型(JPEG文件)。此外,软键盘608被显示为托管区604的一部分,并且被配置成接收触摸输入以将数据输入到保存部分606。按照这种方式,用户可以通过与用户界面602进行交互,来导览用户界面,指定要保存的文件,输入被用来保存文件的信息(例如,文件类型),以及将文件保存。
[0068]示例过程
以下讨论描述了可以使用前述系统和设备来实施的利用了不同文件宿主技术的文件访问。每个过程的各个方面可以以硬件、固件、软件或其组合来实施。所述过程被示为详细描述了由一个或多个设备执行的操作的一组动作,并且所述过程不必限于针对由相应动作执行操作而示出的顺序。在以下讨论的部分中,将参照图1和2的元件。
[0069]图7图示出根据一个或多个实施例的实施了利用不同文件宿主的文件访问的示例过程700。由诸如文件管理模块106之类的文件管理模块来实施过程700。在过程700中,从应用接收文件访问请求(动作702)。如上所讨论的,请求可以通过应用调用文件管理模块的代理器模块所暴露的API而被接收,并且可以是用于获取一个或多个文件的请求。
[0070]标识出文件访问请求的一个或多个文件类型(动作704)。如上所讨论的,这些一个或多个文件类型可以被标识为文件访问请求的一部分。典型地,这些一个或多个文件类型是应用请求获取的文件类型。
[0071]标识出支持所标识出的一个或多个文件类型的文件的一个或多个文件宿主(动作706)。这些一个或多个文件宿主可以是如上所讨论的各种不同类型的文件宿主,比如其他应用。可以以不同方式标识文件宿主所支持的文件类型,比如在如以上讨论的登记处理期间。
[0072]显示包括托管区的用户界面(动作708)。在托管区内,所述一个或多个文件宿主中的至少一个显示标识出可以被选择来供获取的一个或多个文件的、用户界面的一部分。如上所讨论的,显示用户界面的一部分的文件宿主可以改变。附加地,如上所讨论的,应用可以不知道哪个文件宿主正在托管区中显示用户界面,并且文件宿主可以按照该文件宿主所希望的那样在托管区中裁剪用户界面。
[0073]接收所述至少一个文件宿主的一个或多个文件的用户选择(动作710)。可以如上所讨论的那样接收来自一个或多个文件宿主中的每一个的一个或多个文件的用户选择。
[0074]将用户选择的一个或多个文件返回给应用(动作712)。如上所讨论的,应用可以不知道从所述一个或多个文件宿主中的哪一个选择了所述一个或多个文件。
[0075]图8图示出根据一个或多个实施例的实施了利用不同文件宿主的文件访问的另一示例过程800。过程800由诸如文件管理模块106之类的文件管理模块来实施。在过程800中,从应用接收文件访问请求(动作802)。如上所讨论的,请求可以通过应用调用文件管理模块的代理器模块所暴露的API而被接收,并且可以是用于保存一个或多个文件的请求。
[0076]标识出要由应用保存的文件的文件类型(动作804)。可以按照不同方式标识出该文件类型,比如被包括为文件访问请求的一部分,由用户输入提供,是文件中所固有的(例如,由作为文件的名称的一部分的扩展标识出的,作为与文件相关联的元数据被标识出白勺),等等。
[0077]标识出支持所标识出的文件类型的文件的一个或多个文件宿主(动作806)。这些一个或多个文件宿主可以是如上所讨论的各种不同类型的文件宿主,比如其他应用。可以以不同方式标识文件宿主所支持的文件类型,比如在如以上讨论的登记处理期间。
[0078]显示包括托管区的用户界面(动作808)。在托管区内,所述一个或多个文件宿主中的至少一个显示用户界面的、允许所述至少一个文件宿主保存文件的一部分。如上所讨论的,用户可以经由在托管区中显示的用户界面选择文件要被保存的位置。如上所讨论的,显示用户界面的一部分的文件宿主可以改变。附加地,如上所讨论的,应用可以不知道哪个文件宿主正在托管区中显示用户界面,并且文件宿主可以按照该文件宿主所期望的那样在托管区中裁剪用户界面。
[0079]结论
这里讨论了由各种不同模块执行的各种不同动作,比如,传送、接收、发送、存储、生成、获得等等。应该注意的是,各种不同模块可以使得这样的动作被执行。使得动作被执行的特定模块包括执行该动作的该特定模块本身,或者可替换地,调用或者以其他方式访问执行该动作(或者结合该特定模块执行该动作)的另一组件或模块的该特定模块。
[0080]尽管已经用特定于结构特征和/或方法动作的语言对本主题作了描述,但应理解,在所附权利要求中限定的主题未必局限于上述的具体特征或动作。相反,上述具体特征和动作是作为实施权利要求的示例形式来公开的。
【权利要求】
1.一种计算设备中的方法,所述方法包括:从应用接收文件访问请求;标识出所述文件访问请求的一个或多个文件类型;标识出支持所标识出的一个或多个文件类型的文件的一个或多个文件宿主;以及 显示包括托管区的用户界面,在该托管区中,所述一个或多个文件宿主中的至少一个 显示所述用户界面的一部分,该部分标识出能够被选择来供获取的、所述至少一个文件宿 主的一个或多个文件。
2.如权利要求1所述的方法,所述一个或多个文件宿主包括在计算设备上运行的一个 或多个其他应用。
3.如权利要求2所述的方法,所述应用在计算设备上以受限的方式运行,所述受限的 方式阻止所述应用干扰所述一个或多个其他应用并且阻止所述一个或多个其他应用干扰 所述应用。
4.如权利要求1所述的方法,所述一个或多个文件宿主包括在不同于所述计算设备的 一个或多个设备上运行的服务提供者的一个或多个其他应用。
5.如权利要求1所述的方法,所述应用不知道所述一个或多个文件宿主中的每一个所 使用的数据模型。
6.如权利要求1所述的方法,还包括:接收所述一个或多个文件宿主中的至少一个的一个或多个文件的用户选择;以及 将用户选择的一个或多个文件返回给所述应用。
7.一种计算设备,包括:文件管理模块,所述文件管理模块实施包括以下步骤的动作:从应用接收文件访问请求;标识出要由所述应用保存的文件的文件类型;标识出支持所标识出的文件类型的文件的一个或多个文件宿主;以及 显示包括托管区的用户界面,在该托管区中,所述一个或多个文件宿主中的至少一个 显示允许由所述至少一个文件宿主保存文件的、所述用户界面的一部分。
8.如权利要求7所述的计算设备,所述动作还包括限制所述一个或多个文件宿主中的 所述至少一个在该托管区内显示用户界面的一部分。
9.如权利要求7所述的计算设备,所述显示包括显示所述文件能够被保存在其中的所 述至少一个文件宿主的一个或多个位置的标识符,所述方法还包括:接收所述一个或多个位置中的一个的用户选择;以及 向所述至少一个文件宿主提供所述文件以将所述文件存储在用户选择的位置。
10.如权利要求7所述的计算设备,所述应用不知道所述一个或多个文件宿主中的哪 个正在该托管区中显示用户界面的一部分。
【文档编号】G06F17/30GK103562908SQ201180071198
【公开日】2014年2月5日 申请日期:2011年10月9日 优先权日:2011年5月27日
【发明者】S.D.霍格维尔夫, D.C.菲尔兹, M.J.吉尔摩尔, R.A.埃贝林, S.J.鲍尔, M.米什拉, T.K.比姆, R.H.廖, B.J.卡拉斯, M.P.迪南, J.哈里斯, R.J.怀特, L.王, D.L.戴维斯 申请人:微软公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1