CN106462423A - 用于通过基于web的场境集成web和本地应用的系统和方法 - Google Patents

用于通过基于web的场境集成web和本地应用的系统和方法 Download PDF

Info

Publication number
CN106462423A
CN106462423A CN201580025409.1A CN201580025409A CN106462423A CN 106462423 A CN106462423 A CN 106462423A CN 201580025409 A CN201580025409 A CN 201580025409A CN 106462423 A CN106462423 A CN 106462423A
Authority
CN
China
Prior art keywords
application
user
list
computing device
cloud computing
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
CN201580025409.1A
Other languages
English (en)
Other versions
CN106462423B (zh
Inventor
迈克尔·杰弗里·普洛克皮奥
杰尔特·里布兰德
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.)
Google LLC
Original Assignee
Google LLC
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 Google LLC filed Critical Google LLC
Publication of CN106462423A publication Critical patent/CN106462423A/zh
Application granted granted Critical
Publication of CN106462423B publication Critical patent/CN106462423B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

一种访问云计算系统的客户端计算设备,所述云计算系统识别应用,用户可以使用所述应用来访问云计算服务。所述客户端计算设备接收与所述云计算系统上的用户账户相关联的应用的账户列表,并且识别所述客户端计算设备的特性和安装在所述客户端计算设备上的应用的本地列表中的至少一个。所述客户端计算设备基于所述账户列表以及所识别的本地列表和设备特性来生成应用的可用性列表。

Description

用于通过基于web的场境集成web和本地应用的系统和方法
相关申请的交叉引用
本申请要求于2014年6月17日提交的美国申请序列号No.14/306,527号的优先权,该申请的全部内容通过引用合并于此。
背景技术
个人计算机在传统上仅仅使用可直接访问(access)的资源来执行程序和存储文件。但是,随着网络访问变得越来越普遍,使用远程资源来执行程序和存储文件也已成为可能。远程资源(通常称为云计算)的使用可以允许用户使用可以访问网络的任何设备来访问文件或者应用。云计算因此可以减少用户对本地计算机资源的需要,并且,不管哪个设备可用,都向用户保证:用户将能够访问期望的文件或者应用的最新版本。云计算系统通常允许用户使用由云计算系统所执行的基于web的应用来访问文件,但是并不会针对用户的设备对这样的基于web的应用进行优化。
发明内容
因此,在本领域中,存在对识别客户端计算设备的用户可以使用来访问由云计算系统所提供的服务的应用的需要。本文所描述的系统和方法允许客户端计算设备识别用户可用的并且用户可以利用其来访问云计算服务的应用,无论是安装在客户端计算设备上的在线的基于web的应用还是本地应用。
在某些方面中,本文所描述的系统和方法涉及识别云计算服务的用户可用的应用。客户端计算设备可以被配置为访问云计算服务,并且可以包括与识别数据库和应用数据库通信的通信处理器。识别数据库可以存储与客户端计算设备的至少一种特性有关的信息,并且应用数据库可以存储与安装在客户端计算设备上的应用有关的信息。通信处理器可以请求对提供云计算服务的云计算服务器的访问,并且传送验证客户端计算设备是经授权访问与用户账户相关联的信息的信息。通信处理器可以接收与用户账户相关联的应用的账户列表,并且可以识别客户端计算设备的特性和安装在客户端计算设备上的应用的本地列表中的至少一个。客户端计算设备的特性可以从识别数据库中检索到,并且可以包括客户端计算设备的操作系统、安装在客户端计算设备上的互联网浏览器、或者其它合适的信息。本地列表可以从应用数据库中检索到或者从应用数据库衍生出,并且可以包括安装在客户端计算设备上的浏览器扩展。浏览器扩展可以是互联网浏览器的插件,该插件提供用于经由客户端计算设备与云计算服务器交互的用户界面。通信处理器可以基于账户列表以及客户端计算设备的特性和应用的本地列表中的所述至少一个,来生成能够由客户端计算设备执行的应用的可用性列表。
在某些实施方式中,通信处理器从云计算服务器接收识别用户账户可用的文件类型的信息,诸如,通过接收与用户账户相关联的文件的列表。在这样的实施方式中,通信处理器确定在应用的可用性列表上的任何应用是否能够访问文件类型,并且,如果能够访问,则向用户提供这样的应用的列表。文件类型可以通过文件扩展、多用途互联网邮件扩展(MIME)类型或者一些其它合适的手段来识别。通信处理器可以接收对在应用的可用性列表上的应用的用户选择,并且响应于接收到用户选择,利用用户所选择的应用来访问文件类型的文件,在某些实施方式中,通过生成文件。在某些实施方式中,如果应用的可用性列表不包括能够访问文件类型的应用,则通信处理器生成并且向用户提供应用的经过滤的账户列表,所述经过滤的账户列表包括在应用的账户列表上并且与设备的特性相关联但是未包括在应用的本地列表中的应用。
在某些实施方式中,通信处理器可以接收对在应用的可用性列表上的应用的用户选择,并且响应于接收到用户选择,执行用户所选择的应用。
在某些实施方式中,通信处理器可以将可用性列表传送至云计算服务器。
附图说明
在所附权利要求中阐述了本文所描述的系统和方法。然而,为了解释的目的,在以下附图中阐述了多种实施例。
图1是根据说明性实施方式的云计算系统的框图;
图2是根据说明性实施方式的云计算引擎的框图;
图3是根据说明性实施方式的云计算设备的框图;
图4描绘了根据说明性实施方式的用户界面的示例性屏幕截图,该用户界面用于向用户呈现个人计算机可用以访问在图1的云计算系统上的文件的应用的列表;
图5描绘了根据说明性实施方式的用户界面的示例性屏幕截图,该用户界面用于向用户呈现移动计算设备可用以生成在图1的云计算系统上的文件的应用的列表;
图6是根据说明性实施方式的用于验证云计算系统的用户的身份的过程的流程图;
图7是根据说明性实施方式的用于识别云计算系统的用户可用的应用的过程的流程图;以及
图8是根据说明性实施方式的用于执行本文所描述的过程中的任何一个过程的计算设备的框图。
具体实施方式
在以下描述中,为了解释的目的,阐述了大量细节。然而,本领域的普通技术人员要认识到,在不使用这些具体细节的情况下也可以实施本文所描述的实施方式,并且在不脱离本文所描述的系统和方法的范围的情况下,可以修改、补充或者更改本文所描述的实施方式。
本文所描述的系统和方法涉及识别用户可以使用来访问由云计算系统所提供的服务的应用。这样的应用可以包括:由云计算系统所提供的在线的基于web的应用、由第三方提供并且被配置为与云计算系统交互的在线的基于web的应用、以及安装在客户端计算设备上的用户正使用来访问云计算服务的本地应用。并非由云计算系统所提供的应用可以通过应用编程接口(API)或者其它合适的手段与云计算系统交互。本地应用可以包括独立应用(诸如,文字处理器)、或者将功能添加至安装在用户设备上的独立应用的插件(诸如,浏览器扩展)。不管本地应用是或者不是独立应用,其都可以被配置为与云计算系统本身交互,或者可以通过中间应用与云计算系统交互。作为后者的说明性示例,云计算系统可以通过其相关联的互联网浏览器与浏览器扩展直接交互。在这样的示例中,云计算系统可以将云计算服务的输出传送至互联网浏览器作为超文本标记语言(HTML),然后,互联网浏览器可以将该输出提供给浏览器扩展。
用户因此可以使用在线的基于web的应用来访问云计算服务,所述在线的基于web的应用与云计算服务和用户正使用来访问云计算服务的客户端计算设备两者兼容。同样地或者替选地,如果这样的本地应用能够直接或者间接访问云计算服务,则用户可以使用安装在客户端计算设备上的本地应用来访问云计算服务。为了识别可用的应用,经授权访问在云计算服务器上的用户账户的客户端计算设备可以接收与用户账户相关联的应用的账户列表。客户端计算设备可以识别客户端计算设备的特性和安装在客户端计算设备上的应用的本地列表中的至少一个,并且可以基于该识别来过滤应用的账户列表。过滤应用的账户列表可以生成能够由客户端计算设备执行的应用的可用性列表。
图1是云计算系统100的说明性框图,该云计算系统100可以提供云计算服务,诸如,计算机文件的远程储存器和对计算机文件的访问。计算机文件可以包括文本、图片、音频文件、视频文件、演示文件、电子表格、二进制数据文件、计算机指令、HTML文件或者其它合适的文件。将文件存储在云计算设备102上,该云计算设备102可以包括服务器、个人计算机、大型计算机、计算设备集群、或者一些其它合适的计算设备,并且将关于图2更详细地描述该云计算设备102。可以经由网络104将文件上传至云计算设备102或者通过该云计算设备102访问这些文件。网络104是计算机网络,并且在某些实施方式中可以是互联网。用户通过客户端设备106访问在云计算设备102上的文件。客户端设备106可以是个人膝上型计算机、个人台式计算机、平板计算机、智能手机、或者一些其它合适的计算设备,并且将关于图3更详细地描述该客户端设备106。用户可以通过用户界面(UI)108与云计算设备102交互,该UI 108可以基于由云计算设备102发送的指令的全部或者部分由客户端设备106来生成。
UI 108是用户可以通过其访问与云计算设备102相关联的文件和应用的界面。UI108可以包括由客户端设备106执行并且显示从云计算设备102所接收的信息的应用,诸如,web浏览器或者其它合适的应用。UI 108可以响应于用户的预定动作来生成命令并且将所述命令发送至云计算设备102,该预定动作可以包括利用光标选择图标或者在触摸屏上选择图标、利用光标选择菜单选项或者在触摸屏上选择菜单选项、写入文本命令、或者其它合适的动作。命令可以包括:利用默认应用来访问文件的请求、检索能够访问文件并且用户可用的应用的列表的请求、利用所选择的应用来访问文件的请求、或者其它合适的命令。在某些实施方式中,与UI 108的不同用户交互可以生成不同的命令。
作为在具有触摸屏的客户端设备106上的这样的实施方式的说明性示例,UI 108可以检测到用户轻击触摸屏上与文件相关联的区域。如果用户在预定时间量内停止按压该区域,则UI 108可以生成使用预定默认应用来访问文件的请求。如果用户按压该区域持续了比预定时间量更长的时间段,则UI 108向云计算设备102请求能够打开文件的可用应用的列表并且将该列表提供给用户。响应于用户从列表中选择应用,UI 108可以请求云计算设备102提供访问用户所选择的应用的文件。
云计算系统100允许用户使用客户端设备106来访问服务。服务可以包括生成、访问或者编辑文件、执行基于web的应用、或者其它合适的服务。客户端设备106通过网络104连接至云计算设备102。UI 108显示由云计算设备102所提供的信息,诸如,与用户相关联的文件的列表。用户可以与UI 108交互以请求对文件或者应用的访问,诸如,通过利用光标选择图标。云计算设备102可以向客户端设备106提供用户可用的应用的列表,该客户端设备106可以过滤列表以生成用户立即可用的应用的列表。客户端设备106可以向用户提供可用应用的列表,并且执行用户从该列表中选择的应用。
图2是云计算引擎200的说明性框图,该云计算引擎200可以充当图1的云计算设备102。云计算引擎200允许客户端设备106通过网络104访问服务。云计算引擎200通过通信端口202传送和接收数据。通信处理器204识别通过通信端口202所接收的用户指令,并且基于所接收的指令来将信息传送至客户端设备106。文件被存储在资源数据库206中,用户信息被存储在用户数据库208中,并且与应用有关的信息可以被存储在应用数据库210中。在某些实施方式中,应用数据库210也可以存储应用。认证处理器212可以验证用户的身份、客户端设备106是否是经授权访问由云计算引擎200所提供的服务、用户选择的应用是否是经授权访问与云计算引擎200相关联的文件、或者其它合适的信息。
所描绘的通信端口202是经由网络104接收用户命令并且传送由云计算引擎200发送的信息和文件内容的网络端口。通信端口202可以包括100BASE-TX端口、1000BASE-T端口、10GBASE-T端口、Wi-Fi天线、蜂窝天线或者其它合适的网络端口。在某些实施方式中,可以存在与所描绘的不同数目的端口。在某些实施方式中,通信端口202可以提供安全通信,诸如,通过使用安全套接层(SSL)协议、传输层安全(TLS)协议、或者其它合适的协议。
通信处理器204可以是计算机处理器,该计算机处理器识别通过通信端口202所接收的指令,并且作为响应,将信息传送至客户端设备106。在客户端设备106连接至云计算引擎200之后,通信处理器204可以识别用户设备正在尝试访问的用户账户,在某些实施方式中,通过将由用户所提供的登录信息与存储在用户数据库208中的信息进行比较。通过进识别从用户所接收的数据源的分组报头、通过查询客户端设备106、通过在登录时由客户端设备106所提供的信息、或者通过对用户设备进行识别的一些其它合适的方法,通信处理器204可以进一步识别客户端设备106。
通信处理器204可以基于存储在应用数据库210中的信息来识别与用户账户相关联的应用的账户列表。通信处理器204可以基于一种或者多种标准来将账户列表传送至客户端设备106,该一种或者多种标准可以包括:认证处理器212是否已经验证客户端设备106是经授权访问与用户账户相关联的信息、接收到对访问与用户账户相关联的应用的列表的请求、接收到对访问或者生成文件的请求、或者一些其它合适的标准。在通信处理器204响应于与文件类型相关联的请求而传送账户列表的实施方式中,通信处理器204可以基于文件扩展、多用途互联网邮件扩展(MIME)类型、文件元数据、或者基于一些其它合适的识别信息来识别与请求相关联的文件类型。在一些这样的实施方式中,通信处理器204可以过滤账户列表以仅仅包括能够与所识别的文件类型交互的应用。在一些实施方式中,如果账户列表不包括能够访问与用户请求相关联的文件类型的任何应用,则通信处理器204可以向用户提供获得对能够访问所识别的文件类型的一个或者多个应用的访问的选项。可以通过下令UI 108显示具有获得对应用的访问的链接的消息,来提供这样的选项。在一些这样的实施方式中,响应于用户接受到获得对应用的访问的选项,通信处理器204可以将应用安装在客户端设备106上。
通信处理器204也可以通过传送执行用户选择的应用的指令、用户选择的应用的输出、与用户账户相关联的文件信息、或者其它合适的信息来将云计算服务提供至用户。
资源数据库206可以是存储与云计算系统100相关联的至少一个文件的计算机可读可写介质,该至少一个文件可以包括文本、图像、音频文件、视频文件、电子表格、演示文件、HTML文件、或者其它合适的计算机文件。资源数据库206也可以存储与每个文件相关联的元数据,该元数据可以包括文件的MIME类型。在某些实施方式中,文件元数据也可以包括:经授权查看或者编辑文件的一个或者多个用户、用于生成文件的应用、用于访问文件的默认应用、先前访问或者编辑文件的时间和人的记录、或者其它合适的信息。在某些实施方式中,资源数据库206的一部分可以通过远程网络来访问,并且可以是第三方数据库。
用户数据库208可以是存储与云计算引擎200的至少一个用户相关联的信息的计算机可读可写介质。该信息可以包括以下中的一个或者多个:与用户相关联的用户名和密码、与每个用户相关联的文件的列表、与用户相关联的至少一个客户端设备106的列表、与用户相关联的云应用的列表、用户可用的应用的列表、用户已经经授权访问每个文件或者在用户的文件中所表示的文件类型的每个应用的列表、用户已经识别出用于访问文件类型的默认应用、用户指定的偏好、或者其它合适的用户信息。
应用数据库210可以是存储和与云计算引擎200相关联的应用有关的信息的计算机可读可写介质。应用数据库210可以包括编译的或者未编译的计算机指令,该计算机指令包括应用、访问云应用的链接、下载原生应用的链接、与应用相关联的图标、应用的描述、或者与应用有关的其它合适的信息。包括应用的计算机指令可以由云计算引擎200执行并且可以将输出传送至客户端设备106,或者在某些实施方式中,可以由web浏览器将该计算机指令传送至客户端设备106以便执行。这样的计算机指令可以用HTML、JavaScript、Asynchronous JavaScript and XML(Ajax)、或者另一种合适的计算机语言来写入。应用数据库210可以存储与应用相关联的元数据,该元数据可以包括:应用能够打开的文件类型、可以执行应用的那些客户端设备106的特性、应用所兼容的互联网浏览器、经授权使用应用的用户、应用是否能够与云计算引擎200交互以访问云计算资源、应用的替选版本、或者其它合适的信息。在某些实施方式中,应用数据库210可以包括未存储在应用数据库210中的应用的元数据。
在某些实施方式中,资源数据库206、用户数据库208和应用数据库210中的两个或者多个可以被组合为单个数据库。作为这样的实施方式的说明性示例,单个数据库可以存储识别用户账户的信息和与用户账户相关联的文件。
认证处理器212可以是阻止与云计算引擎200相关联的信息的未经授权的访问的计算机处理器。可以通过将用户名和密码组合、识别客户端设备106的信息、与客户端设备106相关联的地理信息、或者从客户端设备106所接收的其它合适的信息中的一个或者多个与存储在用户数据库208中的信息进行比较,来检测未经授权的访问。如果请求生成器验证不成功,则认证处理器212可以向用户或者系统管理员传送消息,阻止客户端设备106,暂时锁定用户账户,或者采取一些其它预定动作。在某些实施方式中,如果客户端设备106先前没有连接至云计算引擎200,则认证处理器212可以要求用户提供识别信息,该识别信息可以包括用户名和密码组合、通过发送至先前由用户所提供的电话号码的语音或者文本消息而提供给用户的识别号码、或者其它预定识别信息。在某些实施方式中,通过搜索资源数据库206、用户数据库208和应用数据库210以确定应用是否与用户相关联、应用是否与文件的文件类型相关联、用户是否是已经授权应用访问文件或者文件类型、或者其它合适的验证信息,认证处理器212可以验证应用可以被允许访问文件。在一些这样的实施方式中,认证处理器212可以对比存储在资源数据库206、用户数据库208或者应用数据库210中的一个或者多个中的信息来验证由应用所提供的安全令牌。如果应用未经授权访问文件,则认证处理器212可以防止应用访问文件,向用户或者系统管理员传送消息,或者采取一些其它合适的动作。在某些实施方式中,至用户的这样的消息可以询问用户是否希望授权应用访问文件。在某些实施方式中,认证处理器212可以使用诸如SSL协议或者TLS协议的协议来建立与客户端设备106的安全连接。
云计算引擎200经由网络104从通信端口202处的客户端设备106接收传输。认证处理器212可以将由客户端设备106所提供的信息与存储在用户数据库208中的信息进行比较以验证用户是经授权访问云计算账户的。通信处理器204可以在从客户端设备106接收到连接请求之后识别云计算账户。通信处理器204可以向客户端设备106传送与用户账户相关联的应用的账户列表,并且可以接收可以由客户端设备106执行的应用的可用性列表。通信处理器204可以向用户提供在可用性列表上的应用能够访问与用户账户相关联的文件的指示,并且可以响应于用户命令而执行或者下令客户端设备106执行来自列表的应用。通信处理器204可以基于用户命令或者基于与用户账户相关联的应用的输出来生成、更改或者删除与资源数据库206中的文件相关联的文件或者元数据。
图3是客户端计算设备300的说明性框图,该客户端计算设备300可以充当图1的客户端设备106。客户端计算设备300允许用户访问由云计算设备102所提供的云计算服务。客户端计算设备300通过通信端口302传送和接收数据。通信处理器304通过通信端口302传送用户指令并且从云计算设备102接收信息。将与客户端计算设备300有关的信息和与客户端计算设备300相关联的任何用户存储在识别(ID)数据库306中,并且将应用和与安装在客户端计算设备300上或者与该客户端计算设备300相关联的应用有关的信息存储在应用数据库308中。在某些实施方式中,ID数据库306和应用数据库308可以被组合为单个数据库。用户界面(UI)310是可以允许用户向应用或者向云计算设备102提供指令并且可以向用户显示应用的输出、由云计算设备102所生成的信息、或者其它合适的信息的界面。
所描绘的通信端口302是通过网络104传送用户命令并且接收由云计算设备102发送的信息和文件内容的网络端口。通信端口302可以包括100BASE-TX端口、1000BASE-T端口、10GBASE-T端口、Wi-Fi天线、蜂窝天线、或者其它合适的网络端口。在某些实施方式中,可以存在与所描绘的不同数目的端口。在某些实施方式中,通信端口302可以提供安全通信,诸如,通过使用安全套接层(SSL)协议、传输层安全(TLS)协议、或者其它合适的协议。
通信处理器304可以是计算机处理器,该计算机处理器作用于通过UI 310所接收的用户指令和通过通信端口302所接收的信息,这可以包括向云计算设备102传送指令和信息。通信处理器304可以请求访问与云计算设备102相关联的用户账户。通信处理器304也可以传送验证客户端计算设备300是经授权访问与用户账户相关联的信息的信息。这样的授权信息可以与初始访问请求一起传送或者可以响应于云计算设备102所进行的查询来传送,并且可以包括存储在ID数据库306中的信息、由用户通过UI 310所提供的信息、或者两者。
通信处理器304可以从云计算设备102接收与用户账户相关联的应用的账户列表。通信处理器204可以识别客户端计算设备300的一种或者多种特性和安装在客户端计算设备上的应用的本地列表。客户端计算设备300的特性可以包括设备的品牌和型号、设备的操作系统、提供用于访问云计算设备102的服务的UI的互联网浏览器、或者其它合适的信息。应用的本地列表可以包括:由客户端计算设备300执行的应用、安装在客户端计算设备300上的应用、由用于访问云计算设备102的互联网浏览器执行的浏览器扩展、或者其它合适的应用。通信处理器304可以基于客户端计算设备300的任何所识别的特性并且基于应用的本地列表,通过过滤所接收的账户列表来生成可以由客户端计算设备300执行的应用的可用性列表。在某些实施方式中,同样地或者替选地,通信处理器304可以将来自应用的本地列表的应用添加至所接收的账户列表以生成应用的可用性列表。通信处理器304可以将应用的可用性列表的全部或者部分传送至云计算设备102。在某些实施方式中,通信处理器304可以基于在账户列表上的应用可用的文件的类型来进一步过滤账户列表。作为说明性示例,如果用户已经指示希望选择应用来生成或者访问电子表格,则通信处理器304不仅可以基于哪些应用与用户账户相关联并且与客户端计算设备300兼容,还基于哪些应用能够访问电子表格文件,来生成应用的可用性列表。
ID数据库306可以是存储与客户端计算设备300或者客户端计算设备300的用户有关的信息的计算机可读可写介质。这样的信息可以包括设备的制造商、设备的型号、设备的媒体访问控制(MAC)地址、设备的操作系统、与设备相关联的用户的云计算账户登录信息的部分或者全部、与设备相关联的互联网浏览器、或者其它合适的信息。存储在ID数据库306中的信息可以用于验证客户端计算设备300是经授权访问与云计算账户相关联的信息的,诸如,识别设备先前已经经授权访问账户的信息。同样地或者替选地,存储在ID数据库306中的信息也可以用于过滤排除与客户端计算设备300不兼容的应用的应用过滤列表。作为说明性示例,如果云计算账户与仅仅与一个操作系统兼容的应用相关联,则对于使用运行不同操作系统的客户端计算设备300来访问账户的用户而言,这些应用是不可用的。
应用数据库308可以是存储和与客户端计算设备300相关联的应用有关的信息的计算机可读可写介质。应用数据库308可以包括编译的或者未编译的计算机指令,该计算机指令包括应用、访问云应用的链接、下载原生应用的链接、与应用相关联的图标、应用的描述、由客户端计算设备300执行的将功能添加至互联网浏览器的浏览器扩展、或者与应用有关的其它合适的信息。计算机指令可以用C++、HTML、JavaScript、AsynchronousJavaScript and XML(Ajax)或者另一种合适的计算机语言来写入。应用数据库308可以存储与应用相关联的元数据,该元数据可以包括:应用能够打开的文件类型、应用兼容的互联网浏览器、经授权使用应用的用户、应用是否能够与云计算设备102交互以访问云计算资源、应用的替选版本、或者其它合适的信息。在某些实施方式中,ID数据库306和应用数据库308可以被实现为单个数据库。作为这样的实施方式的说明性示例,用于访问与云计算服务相关联的信息的互联网浏览器可以被存储在应用数据库中,并且互联网浏览器的身份可以包括客户端计算设备300的特性。
UI 310可以是允许用户与由客户端计算设备300执行的应用和由云计算设备102所提供的服务交互的界面,并且可以包括图1的UI 108。UI 310可以包括键盘、鼠标、触摸屏、或者其它合适的输入设备。UI 310可以包括显示器、音频输出、或者其它合适的输出设备,并且向用户提供从云计算设备102所接收的或者由应用所生成的信息的表示,诸如,在图4中所描绘的。
客户端计算设备300通过网络104与云计算设备102通信以访问云计算服务。通过通信端口302来发送和接收传输,并且通过通信处理器304来生成和作用于传输。通信处理器304可以将验证客户端计算设备300是经授权访问云计算账户的信息传送至云计算设备102。通信处理器304可以从云计算设备102接收与云计算账户相关联的应用的账户列表,并且基于列表以及存储在ID数据库306和应用数据库308中的信息,可以生成利用客户端计算设备300来访问云计算账户的用户可用的应用的可用性列表。可以通过UI 310向用户呈现可用性列表和与云计算账户相关联的其它信息。UI 310可以进一步允许用户从可用性列表中选择应用来执行。作为说明性示例,用户可以与UI 310交互以请求对存储在云计算设备102上的资源的访问,查看用户可用的并且能够访问资源的应用的列表,从列表中选择应用,并且使用所选择的应用来访问资源。
图4描绘了UI 400的示例性屏幕截图,该UI 400可以是图3的UI 310。可以将UI400显示在台式或者膝上型个人计算机上,并且在某些实施方式中,可以基于从云计算设备102所接收的信息,由互联网浏览器生成该UI 400。如图所示,UI 400向用户呈现均能够访问文件并且是用户可用的程序404A-F(统称为程序404)的列表402。列表402可以由通信处理器304生成,并且程序404可以包括:由云计算服务所提供的在线web应用、存储在生成UI400的计算设备上并且由该计算设备执行的独立本地应用、以及用户已经添加至与UI 400相关联的互联网浏览器的浏览器扩展。用户可以选择程序404中的一个来访问文件。在某些实施方式中,用户可以进一步指示将来用于打开文件或者文件类型的默认应用。
图5描绘了UI 500的示例性屏幕截图,该UI 500可以是图3的UI 310。UI 500显示在移动计算设备上,并且向用户呈现能够生成特定文件类型的文件的应用的列表,该移动计算设备可以包括智能手机或者平板计算机。如所描绘的,用户尚未请求使用默认应用来生成文件,并且因此,向该用户呈现可用应用的列表502。可以基于从云计算设备102所接收的应用的账户列表、安装在生成UI 500的设备上的应用(包括浏览器扩展)、待生成的文件的文件类型、或者其它合适的信息,由通信处理器304生成列表502。用户可以选择程序504A-B中的一个来生成文件。在所描绘的实施方式中,用户可以进一步指示将来用于生成所述文件类型的文件的新的默认应用。在某些这样的实施方式中,通信处理器304可以将默认应用选择传送至云计算设备102,以允许将用户的偏好应用于其它设备,在某些实施方式中,根据设备特性,用户将来利用该云计算设备102来访问相同的云计算账户信息。
图6是用户验证过程600的说明性流程图。参照图2,用户验证过程600验证请求生成器是经授权访问与云计算引擎200相关联的信息的。用户验证过程600开始于步骤601,在步骤601中,通信处理器204识别来自与云计算账户相关联的客户端设备106的请求,诸如,登录请求或者对与账户相关联的信息的请求。在步骤602中,认证处理器212基于与该请求有关的信息来确定客户端设备106是否已经经授权访问与云计算账户相关联的信息。与该请求有关的信息可以包括:与该请求的源有关的信息(诸如,从其接收到该请求的互联网协议(IP)地址)和包括在该请求内的信息(诸如,用户登录信息)。参照图3,这样的信息可以包括从ID数据库306中检索到的信息和在生成该请求时由用户通过UI 310所提供的信息中的一个或者多个。认证处理器212可以确定这样的信息是否与存储在用户数据库208中的信息匹配,以确定客户端设备106是否已经经授权访问所请求的云计算账户。在某些实施方式中,在允许客户端设备106访问授权用户的数据之前,认证处理器212可以检查其它数据。在这样的实施方式中,认证处理器212可以将存储在用户数据库208中的信息与来自客户端设备106的全球定位系统(GPS)数据、IP路由数据、或者与客户端设备106相关联的其它数据进行比较,并且可以在不匹配的情况下进入步骤607。作为这样的实施方式的说明性示例,如果第一客户端设备106正在访问与用户账户相关联的数据,并且第二客户端设备106在不同的地理位置尝试访问与相同的用户账户相关联的数据,则认证处理器212可以阻止第二客户端设备106访问云计算引擎200。在某些实施方式中,第一客户端设备106可以经授权访问相同用户的与第二客户端设备106所访问的不同的集合。作为这样的实施方式的说明性示例,用户可以授权移动计算设备访问与用户相关联的文件,而不是访问与用户的账户相关联的敏感财务文件。
如果步骤602确认客户端设备106被授权,则在步骤603中,认证处理器212可以允许客户端设备106访问授权用户的数据。如果客户端设备106未被授权,则用户验证过程600可以继续进行步骤604。在步骤604中,认证处理器212可以经由通信处理器204请求客户端设备106提供验证其经授权访问用户账户的信息。这样的信息可以包括用户ID和密码组合、个人识别号码(PIN)、传送至由用户所提供的电话号码的自动生成的识别号码、或者其它合适的识别信息。在步骤605中接收验证信息之后,通信处理器204将该信息传递至认证处理器212。在步骤606中,认证处理器212可以将验证信息与存储在用户数据库208中的信息进行比较以确定验证信息是否正确。如果验证信息不正确,则认证处理器212可以下令通信处理器204在步骤607中阻止设备的访问,并且可以暂时阻止访问账户,警告用户或者系统管理员,或者采取其它合适的动作。
如果用户识别正确,则步骤608可以确定用户是否想授权客户端设备106,这可以通过识别用户在提供识别信息时是否选择了“记住该设备(remember this device)”选项、通过向用户传送选择是否永久授权客户端设备106的提示、或者通过一些其它合适的方法来确定。如果用户识别不正确,则在步骤609中,认证处理器212向客户端设备106提供暂时访问。否则,在步骤610中,认证处理器212向客户端设备106提供对云计算引擎200的访问,并且将识别设备的信息记录在用户数据库208中。
图7是应用识别过程700的说明性流程图。应用识别过程700向云计算服务的用户提供用户可用的应用的列表。过程700可以发生在用户验证过程600已经发生之后,或者,在一些实施方式中,可以包括在过程700的一个或者多个步骤中的用户验证过程600。
参照图3,应用识别过程700开始于步骤701,在步骤701中,用户提出与UI 310中的应用相关联的请求。这样的用户请求的说明性示例包括:生成特定文件类型的文件的请求、访问文件的请求、和提供与云计算账户相关联的应用的列表的请求。UI 310将该请求转发至通信处理器304用于动作。通信处理器304通过执行步骤702来做出响应,在步骤702中,通信处理器304从云计算设备102请求与用户账户相关联的应用的列表。
在步骤703中,通信处理器304从云计算设备102接收应用的账户列表。应用的账户列表是和与用户账户相关联的应用有关的信息的列表,并且可以由参照图2所描述的云计算设备102生成。在步骤704中,通信处理器304通过ID数据库306识别客户端计算设备300的特性。这样的特性的说明性示例包括:客户端计算设备300的品牌和型号、由客户端计算设备300运行的操作系统、以及在UI 310中所呈现的互联网浏览器。在步骤705中,通信处理器304进一步通过应用数据库308识别安装在客户端计算设备上的应用的本地列表。在某些实施方式中,可以按照不同的顺序或者彼此同时地执行步骤703至705中的两个或者更多个。
步骤706确定是否仅有从云计算设备102所接收的在账户列表上的应用是经授权访问与用户账户相关联的信息的。步骤706因此确定如何生成可以与云计算服务交互并且用户可以在客户端计算设备300上执行的应用的可用性列表。如果本地列表可以包括可以访问用户账户的应用,那么,在步骤707中,当基于客户端设备特性来进行过滤时,通信处理器304可以通过将应用的本地列表与账户列表组合来生成可用性列表。在某些实施方式中,通信处理器304可以首先基于这样的应用是否能够与云计算设备102交互、用户是否已经授权应用访问或者编辑存储在云计算设备102上的文件、或者基于其它合适的标准,来过滤应用的本地列表。在这样的实施方式中,可以将用于过滤在本地列表上的应用的信息存储在应用数据库308中,作为与应用相关联的元数据。
相反,如果应用的账户列表表示能够与云计算服务交互并且经授权访问用户账户信息的应用的完整列表,则过程700可以在步骤706之后继续至步骤708。在步骤708中,通信处理器304基于本地列表和客户端设备特性,通过过滤账户列表来生成应用的可用性列表。作为说明性示例,账户列表可以包括三个应用,所述三个应用中的一个应用与客户端计算设备300不兼容,并且该三个应用中的第二应用与客户端计算设备300兼容,但是未安装在该客户端计算设备300上。在这样的示例中,可用性列表仅仅包括第三应用。
无论执行的是步骤707和708中的哪个步骤,过程700都继续至步骤709,在步骤709中,基于用户请求来过滤通信处理器304可用性列表。如果用户请求仅仅是提供用户可用的应用的列表,则可用性列表不变。然而,如果用户请求与应用的一些可识别类别相关联,则相应地过滤可用性请求。作为说明性示例,如果用户请求是生成电子表格,则步骤709可以过滤可用性列表以只包括能够生成电子表格的应用。
在某些实施方式中,在步骤702中,通信处理器304可以将客户端计算设备300的特性、与用户请求有关的信息、或者应用的本地列表传送至云计算设备102,从而允许云计算设备102在传送在步骤703中所接收的账户列表之前执行步骤707、708和709中的一个或者多个,并且允许客户端计算设备300跳过这样的步骤。
在步骤710中,通信处理器304确定经过滤的可用性列表是否包括任何应用。作为说明性示例,如果用户请求了能够打开仅可以由与客户端计算设备300不兼容的应用访问的文件的应用列表,则在经过滤的可用性列表上应该不存在应用。如果经过滤的可用性列表包括任何应用,则过程700结束于步骤711:通信处理器304对UI 310下令向用户显示该列表。否则,过程700可以结束于步骤712,在步骤712中,通信处理器304经由UI 310通知用户没有可用的应用。在某些实施方式中,步骤712可以进一步建议用户获得访问的应用,诸如,通过显示与用户账户相关联并且与客户端计算设备300兼容但是没有安装在该客户端计算设备300上的应用的列表。在某些实施方式中,该列表可以包括用户将应用安装在客户端计算设备300上的选项。
图8是可以用于实现或者支持图1、图2或者图3的系统的任何组件并且用于执行本文所描述的过程中的任何的计算设备的框图。云计算引擎200可以被实现在具有合适的电路的一个或者多个计算设备800上,并且客户端设备可以通过具有合适的电路的一个或者多个计算设备800与云计算设备102通信。在某些方面中,云计算系统100的多个组件可以被包括在一个计算设备800内。在某些实施方式中,组件和储存器设备可以跨多个计算设备800被实现。
计算设备800包括至少一个通信接口单元、输入/输出控制器810、系统存储器、和一个或者多个数据储存器设备。这可以支持网络连接,诸如,至图1中的网络104的连接。系统存储器包括至少一个随机存取存储器(RAM 802)和至少一个只读存储器(ROM 804)。例如,RAM 802可以支持图2的资源数据库206。所有这些元件都与中央处理单元(CPU 806)通信以促进计算设备800的操作。计算设备800可以按照多种不同的方式来配置。例如,计算设备800可以是传统的独立计算机,或者可替选地,计算设备800的功能可以跨多个计算机系统和架构分布。在图8中,计算设备800可以经由网络或者本地网络链接至其它服务器或者系统。
计算设备800可以被配置在分布式架构中,其中,数据库和处理器被安置在单独的单元或者位置中。一些单元执行主要处理功能,并且至少包含通用控制器或者处理器和系统存储器。在分布式架构实施方式中,这些单元中的每一个可以经由通信接口单元808附接至通信集线器或者端口(未示出),该通信集线器或者端口充当与其它服务器、客户端或者用户计算机、以及其它相关设备的主要通信链接。通信集线器或者端口本身可以具有最低处理能力,主要充当通信路由器。多种通信协议可以是该系统的一部分,包括但不限于:以太网、SAP、SASTM、ATP、BLUETOOTHTM、GSM和TCP/IP。
CPU 806包括处理器,诸如,一个或者多个传统微处理器和一个或者多个辅助协同处理器,诸如,用于从CPU 806分流工作负荷的数学协同处理器。CPU 806与通信接口单元808和输入/输出控制器810通信,CPU 806通过该通信接口单元808和该输入/输出控制器810与诸如其它服务器、用户终端或者设备等的其它设备通信。通信接口单元808和该输入/输出控制器810可以包括:例如,用于与其它处理器、服务器或者客户端终端同时通信的多个通信信道。
CPU 806也与数据储存器设备通信。数据储存器设备可以包括磁存储器、光学存储器或者半导体存储器的适当的组合,并且可以包括,例如,RAM 802、ROM 804、闪存驱动器、诸如高密度光盘的光盘、或者硬盘或者驱动器。例如,CPU 806和数据储存器设备分别可以整体位于单个计算机或者其它计算设备内;或者通过通信介质(诸如,USB端口、串口电缆、同轴电缆、以太网电缆、电话线、射频收发器、或者其它类似的无线或者有线介质、或者上述的组合)彼此连接。例如,CPU 806可以经由通信接口单元808连接至数据储存器设备。CPU806可以被配置为执行一种或者多种特定处理功能。
数据储存器设备可以存储,例如,(i)用于计算设备800的操作系统812、(ii)适用于根据本文所述的系统和方法并且具体地根据关于CPU 806详细描述的过程来指导CPU806的一个或者多个应用814(例如,计算机程序代码或者计算机程序产品);或者(iii)适用于存储可以用于存储程序所需的信息的信息的(多个)数据库816。所描绘的数据库816可以是任何合适的数据库系统,并且可以是本地或者分布式数据库系统。
例如,操作系统812和应用814可以按照压缩的、未编译的和加密的格式来被存储,并且可以包括计算机程序代码。可以将程序的指令从除了数据储存器设备之外的计算机可读介质(诸如,从ROM 804或者从RAM 802,或者从体现为载波的计算机数据信号(诸如,在连接至互联网的设备当中转移的已知web内发现的计算机数据信号))读入到处理器的主存储器中。虽然程序中的指令序列的执行使CPU 806执行本文所描述的过程步骤,但是可以使用硬连线电路系统来替代用于实施本公开的过程的软件指令,或者可以将硬连线电路系统与该软件指令组合使用。因此,所述的系统和方法并不限于硬件和软件的任何具体组合。
可以提供合适的计算机程序代码以执行与本文所描述的云计算系统有关的一种或者多种功能。程序还可以包括程序元素,诸如,操作系统812、数据库管理系统、和允许处理器经由输入/输出控制器810与计算机外围设备(例如,视频显示器、键盘、计算机鼠标等)交互的“设备驱动器”。
本文所使用的术语“计算机可读介质”指任何非暂时性介质,该任何非暂时性介质向计算机设备800的处理器(或者本文所描述的设备的任何其它处理器)提供指令或者参与向该处理器提供指令用于执行。这样的介质可以采用许多形式,包括但不限于非易失性介质和易失性介质。例如,非易失性介质包括光盘、磁盘、光磁盘、或者集成电路存储器,诸如,闪存。易失性介质包括通常构成主存储器的动态随机存取存储器(DRAM)。例如,计算机可读介质的常见形式包括,软盘、软磁盘、硬盘、磁带、任何其它磁性介质、CD-ROM、DVD、任何其它光学介质、穿孔卡片、纸带、具有孔图案的任何其它物理介质、RAM、PROM、EPROM或者EEPROM(电可擦除可编程只读存储器)、FLASH-EEPROM、任何其它存储器芯片或者匣、或者计算机可以读取的任何其它非暂时性介质。
各种形式的计算机可读介质可以涉及将一个或者多个指令的一个或者多个序列携载至CPU 806(或者本文所描述的设备的任何其它处理器)用于执行。例如,指令最初可以承载在远程计算机(未示出)的磁盘上。远程计算机可以将指令加载到动态存储器中,并且使用调制解调器,通过以太网连接、电缆线甚或电话线来发送指令。位于计算设备800本地的通信设备(例如,服务器)可以接收关于相应通信线的数据并且将该数据放置在处理器的系统总线上。系统总线将数据携载至主存储器,处理器从该主存储器检索并且执行指令。在由处理器执行之前或者之后,可以可选地将主存储器所所接收的指令存储在存储器中。另外,可以经由通信端口接收指令,作为电信号、电磁信号或者光学信号,这些信号是携带各种类型的信息的示例性型式的无线通信或者数据流。
上述的某些实施方式可以通过制备专用集成电路或者通过将传统组件电路的适当的网络互相连接来实现的,如本领域的技术人员所了解到的。本领域的技术人员要理解,可以使用多种不同的技术和工艺中的任何一种来表示信息和信号。例如,贯穿上述说明可能提及的数据、指令、请求、信息、信号、比特、符号和芯片可以用电压、电流、电磁波、磁场或者颗粒、光场或者颗粒、或者它们的任何组合来表示。
虽然本文已经示出并且描述了本公开的各种实施方式,但是对于本领域的技术人员而言显而易见的是这些实施方式的提供仅仅是以示例的形式。本领域的技术人员现在在不脱离本公开的情况下可以进行众多的变化、改变和取代。例如,如果用户利用本地应用访问云计算服务,则云计算引擎200可以将本地应用添加至账户列表,并且,如果用户选择的应用未安装,则云计算引擎200可以建议用户将用户所选择的应用的本地应用安装在客户端设备106上。同样,云计算引擎200和客户端计算设备300可以在相同程序的版本之间区分,诸如,通过允许一个版本访问与用户账户相关联的信息,而不允许另一个版本。如果安装了应用,则客户端计算设备300也可以通过执行应用的原生版本来对执行该应用的命令做出响应,否则执行相同的应用的云版本。应该理解,可以在实践本公开时采用本文所描述的本公开的实施方式的各种替选。本文所描述的系统和方法的实施方式的元素可以单独地实施或者与其它实施方式组合地实施。以下权利要求旨在限定本公开的范围,并且因此覆盖在这些权利要求及其等效物的范围内的方法和结构。

Claims (26)

1.一种用于识别云计算服务的用户可用的应用的计算机实现的方法,包括:
由客户端计算设备请求访问提供所述云计算服务的云计算服务器;
将验证所述客户端计算设备是经授权访问与用户账户相关联的信息的信息传送至所述云计算服务器;
接收与所述用户账户相关联的应用的账户列表;
识别所述客户端计算设备的特性和安装在所述客户端计算设备上的应用的本地列表中的至少一个;以及
基于应用的所述账户列表以及所述客户端计算设备的所述特性和安装在所述客户端计算设备上的应用的所述本地列表中的所述至少一个,来生成能够由所述客户端计算设备执行的应用的可用性列表。
2.根据权利要求1所述的方法,进一步包括:
从所述云计算服务器接收识别所述用户账户可用的文件类型的信息;
确定在应用的所述可用性列表上的至少一个应用是否能够访问所述文件类型;以及
响应于确定在应用的所述可用性列表上的至少一个应用能够访问所述文件类型,向所述用户提供在应用的所述可用性列表上的所述至少一个应用的应用列表。
3.根据权利要求2所述的方法,其中,识别所述用户账户可用的文件类型的所述信息包括与所述用户账户相关联的至少一个文件的列表。
4.根据权利要求2所述的方法,进一步包括:
响应于确定在应用的所述可用性列表上没有能够访问所述文件类型的应用,过滤应用的所述账户列表以生成应用的经过滤的账户列表,其中,应用的所述经过滤的账户列表包括与所述设备的所述特性相关联但是不在应用的所述本地列表上的应用;以及
向所述用户提供应用的所述经过滤的账户列表。
5.根据权利要求2所述的方法,进一步包括:
接收对在应用的所述可用性列表上的应用的用户选择;以及
响应于接收所述用户选择,利用用户所选择的应用来访问所述文件类型的文件。
6.根据权利要求5所述的方法,进一步包括:生成所述文件类型的所述文件。
7.根据权利要求2所述的方法,其中,所述文件类型是通过多用途互联网邮件扩展(MIME)类型来识别的。
8.根据权利要求2所述的方法,其中,所述文件类型是通过与所述文件相关联的文件扩展来识别的。
9.根据权利要求1所述的方法,进一步包括:
接收对在应用的所述可用性列表上的应用的用户选择;以及
响应于接收所述用户选择,执行用户所选择的应用。
10.根据权利要求1所述的方法,进一步包括:将所述可用性列表传送至所述云计算服务器。
11.根据权利要求1所述的方法,其中,安装在所述客户端计算设备上的应用的所述本地列表包括浏览器扩展。
12.根据权利要求1所述的方法,其中,所述客户端计算设备的所述特性包括所述客户端计算设备的操作系统。
13.根据权利要求1所述的方法,其中,所述客户端计算设备的所述特性包括安装在所述客户端计算设备上的互联网浏览器。
14.一种被配置为访问云计算服务的客户端计算设备,包括:
通信处理器,所述通信处理器与以下组件通信:
识别数据库,所述识别数据库被配置用于存储与所述客户端计算设备的至少一种特性有关的信息;以及
应用数据库,所述应用数据库被配置用于存储与安装在所述客户端计算设备上的应用有关的信息;
其中,所述通信处理器被配置用于:
请求对提供所述云计算服务的云计算服务器的访问;
将验证所述客户端计算设备是经授权访问与用户账户相关联的信息的信息传送至所述云计算服务器;
接收与所述用户账户相关联的应用的账户列表;
识别所述客户端计算设备的特性和安装在所述客户端计算设备上的应用的本地列表中的至少一个;以及
基于应用的所述账户列表以及所述客户端计算设备的所述特性和安装在所述客户端计算设备上的应用的所述本地列表中的所述至少一个,来生成能够由所述客户端计算设备执行的应用的可用性列表。
15.根据权利要求14所述的系统,进一步包括:
用户界面,所述用户界面与所述通信处理器通信,其中,所述用户界面被配置用于向用户提供信息;
其中,所述通信处理器进一步被配置用于:
从所述云计算服务器接收识别所述用户账户可用的文件类型的信息,
确定在应用的所述可用性列表上的至少一个应用是否能够访问所述文件类型,以及
响应于确定在应用的所述可用性列表上的至少一个应用能够访问所述文件类型,指引所述用户界面向所述用户提供在应用的所述可用性列表上的所述至少一个应用的应用列表。
16.根据权利要求15所述的系统,其中,识别所述用户账户可用的文件类型的所述信息包括与所述用户账户相关联的至少一个文件的列表。
17.根据权利要求15所述的系统,其中,所述通信处理器进一步被配置用于:
响应于确定在应用的所述可用性列表上没有能够访问所述文件类型的应用,过滤应用的所述账户列表以生成应用的经过滤的账户列表,其中,应用的所述经过滤的账户列表包括与所述设备的所述特性相关联但是不在应用的所述本地列表上的应用;以及
指引所述用户界面向所述用户提供应用的所述经过滤的账户列表。
18.根据权利要求15所述的系统,
其中,所述用户界面进一步被配置为接收对在应用的所述可用性列表上的应用的用户选择,以及
其中,所述通信处理器进一步被配置用于:响应于所述用户选择,利用用户所选择的应用来访问所述文件类型的文件。
19.根据权利要求18所述的系统,其中,所述通信处理器进一步被配置用于生成所述文件类型的所述文件。
20.根据权利要求15所述的系统,其中,所述文件类型是通过与所述文件相关联的多用途互联网邮件扩展(MIME)类型来识别的。
21.根据权利要求15所述的系统,其中,所述文件类型是通过与所述文件相关联的文件扩展来识别的。
22.根据权利要求14所述的系统,进一步包括:
用户界面,所述用户界面被配置用于接收对在应用的所述可用性列表上的应用的用户选择,
其中,所述通信处理器进一步被配置用于:响应于所述用户选择执行用户所选择的应用。
23.根据权利要求14所述的系统,其中,所述通信处理器进一步被配置用于将所述可用性列表传送至所述云计算服务器。
24.根据权利要求14所述的系统,其中,安装在所述客户端计算设备上的应用的所述本地列表包括浏览器扩展。
25.根据权利要求14所述的系统,其中,所述客户端计算设备的所述特性包括所述客户端计算设备的操作系统。
26.根据权利要求14所述的系统,其中,所述客户端计算设备的所述特性包括安装在所述客户端计算设备上的互联网浏览器。
CN201580025409.1A 2014-06-17 2015-06-16 用于通过基于web的场境集成web和本地应用的系统和方法 Active CN106462423B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/306,527 2014-06-17
US14/306,527 US20150365469A1 (en) 2014-06-17 2014-06-17 System and method for integrating web and native applications from web-based contexts
PCT/US2015/036073 WO2015195694A1 (en) 2014-06-17 2015-06-16 System and method for integrating web and native applications from web-based contexts

Publications (2)

Publication Number Publication Date
CN106462423A true CN106462423A (zh) 2017-02-22
CN106462423B CN106462423B (zh) 2021-04-09

Family

ID=53490301

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201580025409.1A Active CN106462423B (zh) 2014-06-17 2015-06-16 用于通过基于web的场境集成web和本地应用的系统和方法

Country Status (4)

Country Link
US (1) US20150365469A1 (zh)
EP (1) EP3158433B1 (zh)
CN (1) CN106462423B (zh)
WO (1) WO2015195694A1 (zh)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9424018B2 (en) * 2011-03-21 2016-08-23 Microsoft Technology Licensing, Llc Filtering and promoting application store applications
JP6325796B2 (ja) * 2013-11-06 2018-05-16 キヤノン株式会社 情報処理端末およびその制御方法、並びにプログラム
WO2016043530A1 (en) * 2014-09-18 2016-03-24 Samsung Electronics Co., Ltd. System and method for providing service via application
US9876849B2 (en) 2014-11-05 2018-01-23 Google Llc Opening local applications from browsers
US20170257353A1 (en) * 2016-03-07 2017-09-07 Ricoh Company, Ltd. System For Using Login Information And Historical Data To Determine Processing For Data Received From Various Data Sources
US20180182043A1 (en) * 2016-12-23 2018-06-28 General Electric Company Jet engine asset value analyzer
US10637849B2 (en) 2017-06-08 2020-04-28 Sap Se Logon file import and export for online working environments
US10924528B1 (en) * 2018-06-29 2021-02-16 Parallels International Gmbh Method to determine use of local and remote applications in a distributed multiuser environment for shared file resources
US11366841B2 (en) * 2019-02-14 2022-06-21 Bank Of Montreal Systems and methods for secure storage and retrieval of trade data
US20230418624A1 (en) * 2022-06-24 2023-12-28 Microsoft Technology Licensing, Llc File opening optimization

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1470482A2 (en) * 2001-10-02 2004-10-27 Citrix Systems, Inc. Methods for distributed program execution with file-type association in a client-server network
US20090177573A1 (en) * 2003-11-18 2009-07-09 Beadle Alastair J D System and method for managing relationships between brokers and traders
CN101558400A (zh) * 2007-01-08 2009-10-14 网讯公司 用于选择性地处理、建议和启动应用程序的方法和设备
US20100281102A1 (en) * 2009-05-02 2010-11-04 Chinta Madhav Methods and systems for launching applications into existing isolation environments
CN102035815A (zh) * 2009-09-29 2011-04-27 华为技术有限公司 数据获取方法、接入节点和系统
CN102075571A (zh) * 2010-12-31 2011-05-25 成都市华为赛门铁克科技有限公司 应用程序的执行方法、设备及系统
US20120159531A1 (en) * 2010-12-17 2012-06-21 Verizon Patent And Licensing Inc. Displaying encoded video content via a display adapter
US20120246291A1 (en) * 2011-03-21 2012-09-27 Microsoft Corporation Filtering and Promoting Application Store Applications
US20130276112A1 (en) * 2008-04-29 2013-10-17 Gregory William Dalcher System, method, and computer program product for dynamically adjusting a level of security applied to a system
US20130346450A1 (en) * 2012-06-26 2013-12-26 Google Inc. System and method for detecting and integrating with native applications enabled for web-based storage
US20140101310A1 (en) * 2012-10-04 2014-04-10 Box, Inc. Seamless access, editing, and creation of files in a web interface or mobile interface to a collaborative cloud platform

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6523166B1 (en) * 1998-09-21 2003-02-18 Microsoft Corporation Method and system for on-demand installation of software implementations
BRPI1010897A2 (pt) * 2009-05-19 2019-02-19 Nholdings Sa método e sistema para prover um dispositivo local com serviços de computador de um provedor remoto e método e sistema para anunciar um usuário de uma máquina virtual hospedada por um servido remoto
US9355115B2 (en) * 2011-11-21 2016-05-31 Microsoft Technology Licensing, Llc Client application file access
US9672023B2 (en) * 2013-03-15 2017-06-06 Apple Inc. Providing a unified update center for security software updates and application software updates
US10320628B2 (en) * 2013-06-19 2019-06-11 Citrix Systems, Inc. Confidence scoring of device reputation based on characteristic network behavior

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1470482A2 (en) * 2001-10-02 2004-10-27 Citrix Systems, Inc. Methods for distributed program execution with file-type association in a client-server network
US20090177573A1 (en) * 2003-11-18 2009-07-09 Beadle Alastair J D System and method for managing relationships between brokers and traders
CN101558400A (zh) * 2007-01-08 2009-10-14 网讯公司 用于选择性地处理、建议和启动应用程序的方法和设备
US20130276112A1 (en) * 2008-04-29 2013-10-17 Gregory William Dalcher System, method, and computer program product for dynamically adjusting a level of security applied to a system
US20100281102A1 (en) * 2009-05-02 2010-11-04 Chinta Madhav Methods and systems for launching applications into existing isolation environments
CN102035815A (zh) * 2009-09-29 2011-04-27 华为技术有限公司 数据获取方法、接入节点和系统
US20120159531A1 (en) * 2010-12-17 2012-06-21 Verizon Patent And Licensing Inc. Displaying encoded video content via a display adapter
CN102075571A (zh) * 2010-12-31 2011-05-25 成都市华为赛门铁克科技有限公司 应用程序的执行方法、设备及系统
US20120246291A1 (en) * 2011-03-21 2012-09-27 Microsoft Corporation Filtering and Promoting Application Store Applications
US20130346450A1 (en) * 2012-06-26 2013-12-26 Google Inc. System and method for detecting and integrating with native applications enabled for web-based storage
US20140101310A1 (en) * 2012-10-04 2014-04-10 Box, Inc. Seamless access, editing, and creation of files in a web interface or mobile interface to a collaborative cloud platform

Also Published As

Publication number Publication date
EP3158433A1 (en) 2017-04-26
CN106462423B (zh) 2021-04-09
US20150365469A1 (en) 2015-12-17
WO2015195694A1 (en) 2015-12-23
EP3158433B1 (en) 2022-10-19

Similar Documents

Publication Publication Date Title
CN106462423A (zh) 用于通过基于web的场境集成web和本地应用的系统和方法
US20200304485A1 (en) Controlling Access to Resources on a Network
US11036773B2 (en) System and method for detecting and integrating with native applications enabled for web-based storage
US11792199B2 (en) Application-assisted login for a web browser
CN104364790B (zh) 用于实施多因素认证的系统和方法
US8613051B2 (en) System and method for COPPA compliance for online education
CN109286633A (zh) 单点登陆方法、装置、计算机设备及存储介质
CN108293045A (zh) 本地和远程系统之间的单点登录身份管理
US9813499B2 (en) Virtual storage system and method of sharing access to the virtual storage system for adding electronic documents
US20140297700A1 (en) System and method to store third-party metadata in a cloud storage system
KR20190035970A (ko) 통신 세션에서의 가상 어시스턴트
JP2015528947A (ja) 個人情報の安全な通信のための方法とシステム
CN105556894A (zh) 网络连接自动化
CN103973444B (zh) 安全令牌和服务访问系统
CN106134143A (zh) 用于动态网络接入管理的方法、设备和系统
CN105229987A (zh) 主动联合的移动认证
US9836233B2 (en) Virtual storage system and methods of copying electronic documents into the virtual storage system
CN106664307A (zh) 硬件资源访问系统和技术
CN113542201B (zh) 一种用于互联网业务的访问控制方法与设备
CN107770192A (zh) 在多系统中身份认证的方法和计算机可读存储介质
WO2020056996A1 (zh) 管理捐款信息的方法、装置、计算机设备及存储介质
CN107464121A (zh) 电子账户的挂失、解挂、业务管理方法、装置及设备
US9742744B1 (en) Documents with location attributes for access and storage
CN107911443A (zh) 一种会话信息处理方法、装置、服务器和可读存储介质
CN111652625B (zh) 认证方法及装置、电子设备、计算机可读存储介质

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information
CB02 Change of applicant information

Address after: American California

Applicant after: Google limited liability company

Address before: American California

Applicant before: Google Inc.

GR01 Patent grant
GR01 Patent grant