CN104508673B - 在网络环境中控制开发者应用的分发和使用 - Google Patents

在网络环境中控制开发者应用的分发和使用 Download PDF

Info

Publication number
CN104508673B
CN104508673B CN201280075021.9A CN201280075021A CN104508673B CN 104508673 B CN104508673 B CN 104508673B CN 201280075021 A CN201280075021 A CN 201280075021A CN 104508673 B CN104508673 B CN 104508673B
Authority
CN
China
Prior art keywords
application
service
developer
network
services
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.)
Expired - Fee Related
Application number
CN201280075021.9A
Other languages
English (en)
Other versions
CN104508673A (zh
Inventor
S.M.普拉布
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.)
Hewlett Packard Development Co LP
Original Assignee
Hewlett Packard Development Co LP
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 Hewlett Packard Development Co LP filed Critical Hewlett Packard Development Co LP
Publication of CN104508673A publication Critical patent/CN104508673A/zh
Application granted granted Critical
Publication of CN104508673B publication Critical patent/CN104508673B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/60Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Abstract

公开了一种用于在网络环境中控制开发者应用的分发和使用的方法。为开发者提供门户以提交开发者应用以供在网络环境中使用。开发者应用被操作以用于请求使用开发者应用的网络设备。开发者应用被操作以生成针对请求使用开发者应用的单独的网络设备的输出。阻止开发者应用在任何单独的网络设备上操作以访问不是针对该开发者应用允许的预定组的指定服务的部分的服务。

Description

在网络环境中控制开发者应用的分发和使用
背景技术
Web(网络)使能的打印机存在至不同网络的连接并且具有至因特网的访问。在一些情况中,web使能的打印机的用户可以操作控制面板来打印从因特网接收的内容。
附图说明
图1图示了在实施例下用于管理应用的示例系统。
图2图示了根据实施例的用于使开发者能够向应用环境提供应用的示例方法。
图3图示了在实施例下用于管理应用的示例方法。
图4是图示了在其上可以实现本文描述的实施例的计算机系统的框图。
具体实施方式
本文描述的实施例提供了这样的系统和方法,所述系统和方法使得应用开发者能够有效地向应用目录提供应用而同时提供安全应用环境以确保应用不会行为不当。在一些实现方式中,通过监视正在运行时(runtime)环境中运行的应用,系统可以防止一个或多个应用在应用运行时期间访问未授权的网络服务和/或未授权的客户端设备服务。
根据本文描述的示例,一个或多个应用可以使用一个或多个系统资源在运行时环境中运行。一个或多个应用可以由用户在诸如网络使能的打印机之类的网络设备处远程操作或控制。当应用在运行时,系统可以确定应用是否尝试访问该应用不具有对其的访问权的未授权网络服务和/或未授权设备服务。如果确定应用尝试访问一个或多个未授权服务,则系统可以防止应用访问所述一个或多个未授权服务。
在一个示例中,提供针对开发者的门户。所述门户使得开发者能够提交开发者应用以供在网络环境中使用。应用可以被操作用于请求开发者应用的使用的网络设备。开发者应用被操作来生成针对请求开发者应用的使用的单独网络设备的输出(例如,用户接口特征)。可以防止开发者应用在网络设备上操作以访问不是针对该开发者应用而允许的预定组的指定服务的部分的服务。
在一些实施例中,各个应用在其操作期间将访问的诸如网络服务和/或设备服务之类的应用和关于应用的信息可以存储在一个或多个数据库中。可以参考数据库以确定应用被授权访问什么预定组的服务以及应用未被授权访问什么组的服务。通过在运行时期间参考或使用数据库,当应用做出功能调用以访问服务时,系统可以控制运行时环境允许做出该功能调用,或者阻止对所请求的服务做出该功能调用。
再进一步的,系统使得应用开发者能够向应用目录提交应用,使得用户可以选择一个或多个应用并将一个或多个应用安装到客户端设备。可以要求开发者在一个或其它时间标识他或她的应用将在其操作期间访问的一组服务(例如,一个或多个网络服务和/或一个或多个设备服务)。例如,可以提示开发者提供服务信息以便向系统提交应用。基于一个或多个所标识的服务,可以执行一致性(conformance)处理以在可以将应用上传或部署到应用目录之前审查(review)该应用。
在其它实施例中,可以将应用目录提供给用户的客户端设备,以使得用户能够查看各种可用应用和将由这些应用访问的相应服务。例如,以该方式,在用户进行挑选以选择应用并将应用安装在他或她的网络使能的打印机上之前,可以向用户提供关于应用将访问的服务的相关信息。在一些变型中,应用开发者可以重新定义或更改他或她的应用将使用的一个或多个服务以更新在应用服务数据库和应用目录中的信息。
本文描述的一个或多个实施例提供了通过程序或作为计算机实现的方法执行的方法、技术和由计算设备执行的动作。如本文所使用的,通过程序意指通过使用代码或计算机可执行的指令。这些指令可以存储在计算设备的一个或多个存储器资源中。通过程序执行的步骤可以是或可以不是自动的。
可以使用程序模块或部件来实现本文描述的一个或多个实施例。程序模块或部件可以包括能够执行一个或多个阐述的任务或功能的程序、子例程、程序部分或者软件部件或硬件部件。如本文所使用的,模块或部件可以独立于其它模块或部件存在于硬件部件上。可替代地,模块或部件可以是其它模块、程序或机器的共享元件或过程。
本文描述的一些实施例通常可以要求使用计算设备,包括处理和存储器资源。例如,本文描述的一个或多个实施例可以整体或部分地实现在计算设备上,所述计算设备诸如台式计算机、蜂窝或智能电话、个人数字助理(PDA)、膝上型计算机、打印机、数码相框以及平板设备。存储器、处理和网络资源都可以结合本文描述的任何实施例的建立、使用或执行(包括结合任何方法的执行或结合任何系统的实现)来使用。
此外,可以通过可由一个或多个处理器执行的指令的使用来实现本文描述的一个或多个实施例。这些指令可以承载在计算机可读介质上。用下面的图示出或描述的机器提供了处理资源和计算机可读介质的示例,用于实现本发明的实施例的指令可以在所述处理资源和计算机可读介质上承载和/或执行。具体地,用本发明的实施例示出的多个机器包括一个或多个处理器和用于保持数据和指令的各种形式的存储器。计算机可读介质的示例包括永久存储器储存设备,诸如个人计算机或服务器上的硬盘驱动器。计算机储存介质的其它示例包括便携式储存单元,诸如CD或DVD单元、闪速存储器(诸如承载在智能电话、多功能设备或平板设备上)以及磁存储器。计算机、终端、网络使能的设备(例如,诸如蜂窝电话之类的移动设备)都是利用处理器、存储器和存储在计算机可读介质上的指令的机器和设备的示例。另外,可以以计算机程序或能够承载这样的程序的计算机可用的载体介质的形式来实现实施例。
系统描述
图1图示了在实施例下的用于管理应用的示例系统。诸如通过图1的示例描述的系统100可以在各种计算环境中实现。例如,系统100可以通过服务器或其它网络使能的计算设备的组合来实现。在其它变型中,系统100可以实现在包括独立系统的其它计算平台上。作为替代或附加,系统100的一些或全部部件可以诸如通过在用户终端上操作的应用实现在客户端设备上。因此,系统100可以实现为网络服务,其可以使得应用开发者能够向应用目录提交应用,并且管理在系统100上运行的应用以确保应用合适地表现。
系统100可以通过网络经由网络接口(例如,无线的或使用有线线路)通信,以与一个或多个开发者设备160、一个或多个客户端打印机170、一个或多个网络(云)服务180和一个或多个客户端设备190通信。在一个实现方式中,系统100可以被提供作为服务,所述服务可操作来与所描述的设备和服务通信以便提供云打印服务(例如,使用云资源提供的打印服务)。如本文所描述的,开发者设备、客户端设备和/或客户端打印机可以包括移动计算设备、个人计算机、平板设备、网络使能的打印机等。
在一些实现方式中,系统100包括开发者接口110、应用服务数据库114、应用一致性120以及应用目录124。开发者接口110(或门户)使得应用开发者能够使用开发者设备160向系统100提交开发者已经创建的应用以供审查和以供上传到应用目录124。应用可以包括可以由用户使用客户端打印机170来访问或操作的打印应用。打印应用可以向用户提供快捷方式以将来自因特网的内容直接打印到客户端打印机170,而不必使用单独的计算设备(例如,诸如PC)来获取内容。
开发者接口110可以例如经由网页或演示(presentation)为应用开发者提供手段来向系统100提交他或她的应用111。一旦使得应用对于用户为可用,用户就可以安装应用(例如,应用的图标和指针,诸如链接)以在他或她的相应设备上使用。例如,开发者接口110可以使得应用开发者能够向系统100注册、登录、开发应用、提交应用、提供关于应用的信息(例如,图像、应用将做的内容、其花费的费用等等),以及指定在应用期间应用将访问的服务。
因为开发者具有应用需要访问什么服务的知识,所以开发者也可以指定应用将在其操作期间访问什么类型的服务(例如,服务数据113)。开发者可以通过使用开发者接口110(例如,开发者门户)来标识针对他或她的应用的一组指定服务。在一些实现方式中,应用开发者可以在应用开发期间或之后定义针对应用的访问说明符(specifier)(例如,用于不同服务的标识)。在一个示例中,开发者接口110可以在开发者被允许向系统100上传或提交应用111之前提示开发者提供服务数据113。开发者接口110还可以经由网页或演示来提供反馈161,以在应用提交过程期间通知开发者任何问题或附加的必要信息。
在操作期间,应用可以基于单独的应用的设计、目的或实现来访问各种不同的网络服务180(例如,在云或其它网络资源上的服务)和/或设备服务。因为开发者接口110可以要求应用开发者标识应用111将访问的一组服务,所以系统100可以具有针对每个提交的应用授权哪些服务的知识。以该方式,所标识的服务可以被授权,使得如果应用请求所标识的服务则准许访问,而可以不对开发者未指定的服务授权,使得如果应用请求未授权的服务则拒绝访问。
在一些示例中,应用可以在云上访问的网络服务180可以包括(i)电子邮件服务(或消息传送服务)——如果应用将能够使用云上的电子邮件服务来发送或接收电子邮件;(ii)个性化服务——如果应用将存储任何用户的个性化信息(诸如用户偏好或电子邮件信息等);(iii)外部托管内容——如果应用需要访问外部托管的内容以打印(例如,RSS馈送等);或(iv)电子商务服务(或交易服务)——如果应用将允许金融交易,诸如从应用内部进行购买。开发者也可以标识其它网络服务。
开发者针对他或她的应用111标识的服务数据113还可以包括设备特定的服务。在其中应用111是打印应用的实现方式中,应用可以访问的设备服务可以包括(i)打印服务——如果应用将使用打印机的打印能力;(ii)扫描仪服务——如果应用将使用设备的扫描仪;(iii)传真服务——如果应用将使用设备的传真机能力;(iv)存储器储存——如果应用将从打印机的储存设备(内部或外部)进行读取/向打印机的储存设备(内部或外部)进行写入;(v)墨水水平信息——如果应用可以获取关于打印机上的墨水的当前水平的信息;(vi)墨盒信息——如果应用可以获取关于墨盒的信息(例如墨盒类型、墨盒是原装的还是赝品);(vii)调度的打印服务——如果应用可以根据调度(每天、每周等)在没有用户动作的情况下递送内容;(vii)安全性服务——如果应用可以施加要在打印机上实现的密码限制或安全性(例如,确保提供正确的登录或标识以保证未授权用户不能使用应用或打印机);或(ix)其它打印机服务——如果应用可以使用打印机的其它特征,诸如灯或声音、或关于在纸托盘中纸量的信息。通过指定必要服务,服务数据113可以定义将由应用在运行时期间访问的最大组的服务。然后,该服务数据113可以由安全性服务150用于在运行时期间限制在云上以及在打印机上的应用特权。
在开发者向开发者接口110提交应用111并指定应用的特权(例如,所述组指定服务)之后,开发者接口110可以将服务数据113存储在应用服务数据库114中。一个或多个应用服务数据库114可以存储已经由开发者(或其它实体)提交的应用的记录或条目与对应的服务数据113,对应的服务数据113标识应用将具有对其的访问权(例如,被授权使用)的一个或多个网络服务和一个或多个设备服务。在一些实现方式中,开发者可以与开发者接口110交互以重新定义或更新/更改针对他或她的应用的服务数据113(例如,如果开发者对应用做出改变)。对服务数据113的改变可以存储在应用服务数据库114中。
作为附加或者替代,系统100可以使得其它网络服务和/或其它设备服务能够被应用访问。这可以是例如可用或必要的附加的服务的结果,所述附加的服务在之前对于开发者而言是不可用于与他或她的应用一起使用的。系统100(例如经由打印服务130等)可以使得一个或多个附加服务能够自动包括在由开发者标识的一组指定服务中。以该方式,应用可以具有对该应用之前没有特权访问的系统100的服务、设备服务和/或网络服务的访问权。在其它变型中,应用的用户还可以管理(例如,添加或删除,或者临时阻止等)用于来自他或她的客户端设备190或客户端打印机170的应用(他或她已经安装)的一组指定服务。例如,用户可以从针对特定应用的预定组的指定服务中移除扫描仪服务,以阻止应用能够使用用户的打印机的扫描仪功能。
一旦开发者提交了应用111,应用111就被提供给应用一致性120以在可以将应用111上传或添加到应用目录124之前进行审查。取决于各种实现方式,应用一致性120可以自动地、手动地或者自动和手动二者地执行分层的应用一致性处理。归因于应用的不断增长的流行性和公共应用开发者的不断增加的数量,应用可能使应用环境饱和。应用一致性120可以用于管辖提交到应用环境的应用(例如,保护应用环境)并且如果可能的话提供用于将应用上传到应用目录的快速的周转时间(turnaround time)。
应用一致性120可以基于所标识的每个应用的服务来执行应用一致性处理。应用一致性120可以获取针对已经提交的特定应用111的服务数据113,并且基于应用111将在其操作期间具有对其的访问权的一个或多个指定服务的总数量、一个或多个指定服务的类型和/或一个或多个指定服务的重要性,可以执行不同的一致性处理来审查所提交的应用111。
在一些实现方式中,应用一致性120可以使用分层处理,使得应用基于应用将访问的一个或多个服务的总数量而经受不同的一致性审查。例如,比第二应用访问更多网络服务和/或更多设备服务的第一应用可以经受比第二应用更严格的应用一致性处理。在一些情况中,预定阈值可以用于确定层或分级(例如,七个或更多服务=最高层;三至六个服务=中间层;两个或更少=底层)。在另一示例中,访问被标记或认为(比一个或多个其它服务)更重要或更侵入的特定网络服务的应用可以经受比不访问这样的网络服务的应用更严格的应用一致性处理。
在一些变型中,可以基于功能和/或服务在重要性上对一个或多个网络服务和/或一个或多个设备服务进行分类。例如,电子商务服务可以被分类在高安全性类别中(例如,因为可以通过使用应用而进行购买,由此潜在地曝露了用户的金融信息),而用于确定用户的打印机的墨水水平的服务可以被分类在低安全性类别中。
在一个实现方式中,与中等安全性分类服务(例如,诸如2X或1.5X的倍数)相比,高安全性分类服务可以被应用加权值(例如,诸如3X的倍数),使得应用一致性120可以通过将针对特定应用的服务的总数(其也被加权)加和来确定值。然后,应用一致性120可以基于其中加和的值处于其中的范围来确定层。例如,如果存在总共二十个服务,其中十个服务没有应用的权重,五个服务具有2X倍数的权重以及五个服务具有3X的权重,则总值可以是35。层可以被确定,使得第一层的范围可以从0到8,第二层的范围可以从9到17,第三层的范围可以从18到30,以及第四层的范围可以为31或更高。在一个示例中,应用一致性120可以使得在第一层中(基于它们的标识的服务数据113)的应用经受最放松的一致性审查(或者被自动批准并提交给应用目录124而不进行审查),而使在第四层中的应用经受最严格的一致性审查。以该方式,与开发者已经将其指定为使用小数量的服务和/或具有低重要性的服务的应用相比,开发者已经将其指定为使用高数量的服务和/或具有高重要性的服务的应用可以经受更严格的一致性审查。
在确定审查所提交的应用要使用哪个级别或严格度的一致性处理之后,应用一致性120可以执行相应的一致性审查。可以自动地、手动地或自动和手动二者地执行一致性审查。在一些实现方式中,系统100可以由管理系统用户访问,所述管理系统用户可以手动地执行不同的一致性审查(例如,通过检查开发者提供的应用信息,诸如描述、图像、应用代码等)。在其它变型中,可以通过以下来自动执行不同一致性审查中的每一个:针对特定对象的存在而检查所提交的应用的代码(例如,通过参考标识哪些对象针对重要性或可疑性被标记的数据库),和/或使用准则来确定所提交的应用是否缺少必需品(例如,应用目录124可以要求某些特征以便允许应用供用户安装)。在一些情形中,审查还可以要求管理系统用户的输入以便执行审查。
在审查应用之后,应用一致性120可以将所开发的应用111(例如,已经通过一致性审查的应用)上传或提供给应用目录124。应用目录124可以存储由各个开发者和其它实体提交的多个不同应用,并且包括每个应用的服务数据113。应用目录124还可以存储对应于应用的其它信息,诸如预览图像、应用的描述、应用创建日期和/或上传日期等等。
以该方式,与其它应用相比,某些应用可以具有将应用上传到目录的更快的周转时间。通过使用分层的应用一致性处理,还可以鼓励应用开发者仅标识应用功能所专门要求的那些服务。另外,通过管理应用以仅使用对于合适地起作用所专门必要的服务,可以减少系统100的网络使用。
系统100还包括打印服务130、一个或多个运行时环境140和安全性服务150。用户可以操作它们的客户端设备190以访问系统100的打印服务130。打印服务130可以使用来自应用目录124的应用信息125来提供应用目录124的网页或演示。例如,所述演示可以被呈现给用户的客户端设备190以使得用户能够查看不同的可用应用及相关联的信息。通过提供应用111的应用信息125、对应的服务数据113(例如,应用将在操作期间访问的所标识的服务)以及演示上的其它应用信息,用户可以访问应用目录124以浏览可用的应用并专门查看每个应用已经被标识以使用的服务。以该方式,如果用户进行挑选以在他或她的客户端打印机170上安装应用,则用户可以完全知晓应用将使用什么服务。
每个用户可以操作客户端设备190以通过提供用户信息191(例如,用户标识、密码、简档等)并且通过向打印服务130注册一个或多个客户端打印机170来创建用户账户。用户可以通过向打印服务130提供打印机信息来注册他或她的一个或多个打印机170。打印机信息可以包括用于打印机的地址(例如,IP地址或注册的打印机电子邮件地址、打印机的类型,打印机是(例如,彩色打印机、激光打印机、喷墨打印机等)、打印机的规范(例如,硬件、存储器大小、屏幕尺寸等)或关于打印机的其它信息(例如,其已经或可以执行的服务)。向打印服务130注册的每个打印机170的打印机信息可以与每个打印机170的打印机标识符一起存储在打印机数据库和/或用户数据库(未示出)中。向打印服务130注册打印机170使得用户能够访问应用目录124以浏览一个或多个应用并将一个或多个应用安装到他或她的一个或多个注册的打印机170和/或他或她的客户端设备190。
当用户选择要安装在他或她的客户端打印机170上的应用时,打印服务130可以使得应用图标信息131被提供和安装到用户的打印机170。打印服务130可以访问打印机数据库和/或用户数据库以标识哪个客户端打印机170提供应用图标信息131。应用图标信息131可以用于使得用户能够发起和控制在客户端打印机170上安装的应用。应用图标信息131可以包括例如要安装的应用的图形和指针,诸如统一资源定位符(URL)和/或其它元数据。因为系统100在运行时环境140(或多个运行时环境)中运行应用145(例如在云上运行应用),所以仅应用图标信息131有必要提供给客户端打印机170。应用并非原生地在客户端打印机170上运行。用户可以与客户端打印机170的触敏显示器或控制面板交互以启动应用(例如,通过选择应用图形)并使得运行时环境140运行所选择的应用。
在一个实现方式中,当用户操作客户端打印机170并发起应用时,打印机170可以向打印服务130提供打印机信息173(例如,地址或打印机标识符),使得打印服务130可以标识哪个打印机170被请求操作所选择的应用。另外,可以访问指向应用的指针,使得打印服务130可以标识用户已经请求操作哪个应用。然后,可以访问在客户端打印机170与运行所选择应用145的运行时环境140之间的接口信道,使得可以响应于在客户端打印机170上的不同用户输入171而向客户端打印机170提供实时用户接口(UI)特征141。例如,因为应用并非原生地在客户端打印机170上运行,所以运行时环境140可以在应用使用或操作期间将UI特征141传送到客户端打印机170上的瘦客户端。运行时环境140可以具有对存储在应用目录124中的应用的访问权127,使得运行时环境140可以运行所选择的应用145并将适当的UI特征141传送到适当的打印机170。
运行时环境140(例如,应用容器)可以支持在系统100上应用145的执行和操作。在一些实现方式中,运行时环境140为当前正运行(或在使用中)的应用145提供访问一个或多个设备服务(例如,在客户端打印机170上的设备服务)和/或访问诸如网络服务180之类的一个或多个外部服务的机制。如在图1中所描述的,运行时环境140可以同时运行针对不同的用户和用户的客户端打印机170的多个应用145。当操作应用145试图访问网络服务180和/或(发起应用145的打印机170的)打印机设备服务时,应用145可以做出针对该服务的功能调用(例如,访问打印机170的存储器储存)。因为应用145在运行时环境140中运行,所以运行时环境140可以代表应用做出调用。
安全性服务150可以监视运行时环境140(或多个运行时环境140)以确定正在运行时环境140中运行的应用145是否请求访问未授权网络服务和/或未授权设备服务(例如,通过执行运行时检查)。安全性服务150可以访问应用服务数据库114以标识用于正在运行时环境140中运行的每个应用145的服务数据113。以该方式,安全性服务150可以确定每个应用具有对哪些服务的访问权(例如,作为开发者标识特定服务的结果而被授权访问),以便施行一个或多个应用145做出的任何调用(并且继而,由运行时环境140代表应用做出的调用)。安全性服务150可以对应用145施加限制153以阻止某些调用被做出,如果确定应用请求访问未授权服务的话。
如果应用145做出对尚未被指定为其可以访问的服务的服务的调用(以及运行时环境140代表应用做出该调用),则安全性服务150可以控制运行时环境140阻止做出对未授权/未标识服务的这样的调用(例如,针对设备服务的对客户端打印机170的调用或对云服务180的调用)。在一个实现方式中,安全性服务150也可以阻止对未授权调用(来自设备和/或云服务)的应答或响应被应用145接收。例如,安全性服务150可以通过限制可以从运行时环境140到客户端打印机170做出的应用编程接口(API)调用来处理对打印机设备服务(例如,墨水水平信息或墨盒信息)的限制访问。另一方面,对已经被标识为授权服务的服务做出的调用可以被安全性服务150准许。在一些变型中,安全性服务150可以是运行时环境140的一部分或与运行时环境140包括在一起。以该方式,安全性服务150可以阻止流氓应用(例如,正访问它们没有对其的访问权的服务的应用)影响系统100的应用环境。
在一些变型中,在系统100中描述的一些部件可以提供作为单独的部件或者作为相同部件的部分。可以用各种应用(例如,软件)和/或用实现系统100的计算机系统的硬件来实现逻辑。
方法
图2图示了根据实现方式的用于使得开发者能够向应用环境提供应用的示例方法。诸如通过图2描述的方法可以使用例如用图1描述的部件来实现。因此,对图1的元件做出的参考是出于说明用于执行被描述的步骤或子步骤的合适元件或部件的目的。
应用开发者可以创建和开发诸如用户可以在用户的打印机上操作的打印应用之类的应用,并经由开发者门户或接口100提交一个或多个应用(步骤200)。例如,开发者可以创建这样的应用,该应用使得贺卡能够被选择并从用户的打印机打印。开发者接口100可以提供网页或演示以使得开发者能够提交他或她的应用与应用环境所要求的其它适当信息(例如,要示出在应用目录上的截屏图像、应用的简要描述、购买应用的费用、许可协议等等)。
还可以要求开发者标识所提交的应用将在其操作期间访问的一个或多个网络服务和/或一个或多个设备服务(步骤210)。在一些实现方式中,在开发者可以继续应用提交过程之前,开发者接口可以要求开发者提供关于应用将访问的服务的信息。这可以确保每个应用可以具有该应用被特许访问的一个或多个网络服务和/或一个或多个设备服务的相关联的授权集合。
例如,参照贺卡应用示例,应用开发者可以指定贺卡应用将访问的一个或多个网络服务包括外部托管的内容(例如,不同贺卡模板的云服务/储存)。开发者还可以指定贺卡应用将访问的一个或多个打印机设备服务包括打印服务(例如,以使得用户能够直接从打印机打印所选择的贺卡)、墨水水平信息和墨盒信息(例如,应用可以通知用户彩色墨水水平是否不足以完成针对有色的贺卡的打印请求)。然后,所标识的一个或多个网络服务和/或一个或多个设备服务可以存储在一个或多个应用服务数据库114中。可以通过应用一致性120和安全性服务150来参考应用服务数据库114,诸如用图1所描述的。
一旦开发者已经提交了应用并标识应用将在操作期间访问的一个或多个相应服务,可以基于所标识的服务来执行分层的一致性处理(步骤220)。应用一致性120可以参考一个或多个应用服务数据库以标识所提交的应用将在其操作期间访问哪个或哪些服务。基于所标识的服务的总数、所标识的服务的类型和/或所标识的服务的重要性,应用一致性120可以使应用经受不同的分层一致性审查。
例如,应用一致性120可以确定仅三个服务(例如,总共二十或三十个等之中的)已经被应用开发者指定用于贺卡应用。另外,这三个服务对于用户或系统100不是侵入的,因为该应用将不访问例如个性化数据、金融数据或系统资源。基于所标识的服务,应用一致性120可以以最小量的要求准则和条件来执行放松的一致性审查(例如,最不严格审查)。
然后,可以基于一致性处理来将应用上传或存储在应用目录中(步骤230)。取决于应用已经受的一致性审查的类型,可以在不同的时间(经由应用目录)使应用对于用户可用。典型地,如果应用经受较严格的一致性审查,则与经受不太严格的一致性审查的应用相比,该应用被批准和上传所花费的时间量一般而言将更长。在一些实现方式中,如果应用已经经受较严格的审查并且应用已经被批准供用户使用,则该应用可以与向用户进行标识的信息一起被上传到应用目录。这可以向用户提供对应用质量的完全公开。
以该方式,系统100使得应用开发者能够有效地(并且有时快速地)开发并向系统100提供它们的应用以供客户使用。另外,收集的应用信息可以用于提供安全的应用环境并且进行保护以防流氓应用访问未授权资源和服务。
图3图示了在实施例下用于管理应用的示例方法。诸如通过图2描述的方法可以使用例如用图1描述的部件来实现。因此,对图1的元件做出的参考是出于说明用于执行被描述的步骤或子步骤的合适元件或部件的目的。
用户的网络使能的打印机可以包括(例如,默认地)用户可以在打印机上操作和控制的多个应用。用户还可以访问应用目录以浏览附加应用并将附加应用安装到它们的打印机。例如,打印应用可以包括打印来自外部网络源或服务(例如,诸如云储存或电子邮件服务)的文档的应用,或用于打印电影票、彩色书本或诸如日历和纵横填字字谜之类的其它内容的应用。当用户选择应用以安装时,打印服务130例如可以将诸如图标信息和用于应用的指针的应用数据发送到用户的打印机,以安装到所述打印机。使用打印机的触敏显示器、控制面板或其它输入机构和显示器,用户可以通过选择适当的图形图标来发起打印机上的应用(步骤300)。
当用户发起或启动打印机上的所选择的应用时,通过网络(例如使用所选择的应用的诸如URL的指针)将关于用户的选择的信息提供给系统100。然后,所选择的应用可以在系统100上的运行时环境中运行(步骤310)。当用户通过与打印机上的应用的UI特征交互来提供用户输入时,关于用户的选择的信息被提供给运行时环境140,并且然后在应用使用期间将适当的UI实时发送到打印机。
当应用在运行时环境140上运行时,安全性服务可以监视应用和/或运行时环境140以确定应用正在请求访问什么服务(步骤320)。例如,因为运行时环境140可以代表应用对网络服务和/或设备服务做出功能调用(例如,对设备服务或功能做出API调用),所以安全性服务可以标识什么调用正被特定应用请求。另外,安全性服务可以参考应用服务数据库以确定应用被授权访问什么类型的服务。
通过监视应用和/或运行时环境140和通过参考应用服务数据库,安全性服务可以确定正被操作的应用是否在请求访问一个或多个未授权服务(步骤330)。安全性服务可以确定每个应用具有对哪些服务的访问权,以及应用是否在请求访问不在应用具有对其的访问权的一组服务中的服务。安全性服务可以通过控制运行时环境140代表应用做出的调用来施行由应用做出的任何调用。如果应用请求访问未授权服务,则安全性服务可以通过对应用施加限制来拒绝访问(步骤340)。例如,可以通过控制运行时环境140来阻止对未授权服务的调用。如果应用请求访问授权服务,则安全性服务可以准许访问应用。
硬件图
图4是图示本文描述的示例可以在其上实现的计算机系统的框图。例如,在图1的上下文中,系统100可以使用诸如通过图4描述的计算机系统(或计算机系统的组合)来实现。
在一个实现方式中,计算机系统400包括处理器410、主存储器420、ROM 430、储存设备440和通信接口450。计算机系统400包括用于处理信息的至少一个处理器410。计算机系统400还包括用于存储信息和要由处理器410执行的指令的主存储器420,诸如随机存取存储器(RAM)或其它动态储存设备。主存储器420还可以用于在要由处理器410执行的指令的执行期间存储临时变量或其它中间信息。计算机系统400还可以包括只读存储器(ROM)430或用于存储用于处理器410的静态信息和指令的其它静态储存设备。诸如磁盘或光盘的储存设备440被提供来存储信息和指令。
通信接口450可以使得计算机系统400能够通过使用网络链路(无线或有线线路)来与一个或多个网络480通信。计算机系统400可以使用网络链路与一个或多个客户端设备、一个或多个开发者设备、一个或多个云服务以及一个或多个网络使能的打印机通信。在一些示例中,计算机系统400可以经由网络链路接收由一个或多个开发者提交的包括服务数据452的应用信息,服务数据452标识所开发的应用具有对其的访问权的网络服务和/或设备服务。例如,应用信息可以存储在储存设备440中。当应用在计算机系统400上运行时,应用可以被监视,使得可以对应用具有对其的访问权的所请求的网络服务和/或设备服务做出服务调用454。另一方面,如果应用请求访问未授权服务,则阻止做出服务调用454。
计算机系统400可以包括显示设备460,诸如阴极射线管(CRT)、LCD监视器或电视机,例如用于向用户显示图形和信息。诸如包括字母数字键和其它键的键盘的输入机构470可以耦合到计算机系统400用于向处理器410传送信息和命令选择。输入机构470的其它非限制性的说明性示例包括鼠标、轨迹球、触敏屏幕或光标方向键,用于向处理器410传送方向信息和命令选择并且用于控制显示器460上的光标移动。尽管在图4中描绘了仅一个输入机构470,但是实施例可以包括耦合到计算机系统400的任何数量的输入机构470。在一些示例中,计算机系统400的授权用户可以使用输入机构470和显示设备480来审查开发者提交的应用,以便确定应用是否可以被提供给应用目录。
本文描述的实施例涉及用于实现本文描述的技术的计算机系统400的使用。根据一个实施例,响应于处理器410执行包含在主存储器420中的一个或多个指令的一个或多个序列而由计算机系统400执行那些技术。这样的指令可以从诸如储存设备440的另一机器可读介质被读入到主存储器420中。包含在主存储器420中的指令的序列的执行使得处理器410执行本文描述的过程步骤。在替代实施例中,可以使用硬连线电路来替代软件指令或与软件指令相组合来实现本文描述的实施例。因此,所描述的实施例并不限于硬件电路和软件的任何特定组合。
预期本文描述的实施例将扩展到本文描述的独立于其它概念、思想或系统的单独的元素和概念,以及预期实施例将包括在本申请中任何位置记载的元素的组合。尽管参照附图在本文详细描述了实施例,但是应当理解的是,本发明并不限于那些精确的实施例。这样,许多修改和变型对于本领域技术人员而言将是显而易见的。因此,意图通过所附权利要求及其等同物来限定本发明的范围。此外,预期单独地或作为实施例的部分所描述的特定特征可以与其它单独地描述的特征或其它实施例的部分相组合,即使其它特征和实施例未提及该特定特征。因此,未描述组合不应排除发明人要求保护对这样的组合的权利。

Claims (14)

1.一种用于在网络环境中控制开发者应用的分发和使用的方法,所述方法由一个或多个处理器执行并且包括:
为开发者提供门户以提交应用以在被批准上传到应用目录之前审查以供在所述网络环境中使用;
响应于接收到开发者经由门户提交的应用并且在应用被审查之前,要求开发者标识在应用操作期间应用将访问的特定网络服务;
为请求使用所述开发者应用的网络设备操作所述开发者应用,所述开发者应用被操作以生成针对使用所述开发者应用的单独的网络设备的输出;以及
阻止所述开发者应用在访问不是针对所述开发者应用允许的预定组的指定服务的部分的服务的任何单独的网络设备上操作。
2.根据权利要求1所述的方法,其中,阻止所述开发者应用包括:(i)从数据库中标识针对所述开发者应用的所述预定组的指定服务,以及(ii)确定所述应用尝试访问不是所述预定组的指定服务之一的网络服务或设备服务。
3.根据权利要求2所述的方法,还包括:
提供应用目录以使得用户能够浏览和在网络设备上安装至少所述开发者应用或附加应用,其中,所述应用目录使得用户能够查看针对所述开发者应用或所述附加应用中的每一个的所述预定组的指定服务。
4.根据权利要求1所述的方法,其中,阻止所述开发者应用包括:(i)阻止由所述开发者应用向单独的网络设备做出针对不是预定组的指定服务的部分的服务的功能调用,或者(ii)阻止单独的网络设备对针对不是预定组的指定服务的部分的服务的功能调用进行响应。
5.根据权利要求1所述的方法,其中,所述预定组的指定服务能够包括电子邮件服务、个性化服务、外部托管的内容或交易服务中的至少一个。
6.根据权利要求1所述的方法,其中,所述单独的网络设备包括网络使能的打印机,并且其中,所述预定组的指定服务能够包括以下中的至少一个:打印能力、扫描仪能力、传真机能力、存储器储存、墨水水平信息、墨盒信息、调度的打印能力或安全性服务。
7.一种系统,包括:
一个或多个处理器;以及
存储器资源,用于使得所述一个或多个处理器能够提供:
开发者接口,用于使得应用开发者能够提交应用,响应于接收到开发者提交的应用并且在应用被审查以批准要上传到应用目录以供在网络中使用之前,要求应用开发者标识一个或多个网络服务和一个或多个设备服务,在所述应用的操作期间,所述应用将对所述一个或多个网络服务和一个或多个设备服务具有访问权;
应用一致性模块,用于(i)执行一致性处理以确定所述应用是否能够被提供给所述应用目录,所述一致性处理基于所标识的一个或多个网络服务和所标识的一个或多个设备服务,以及(ii)基于所述一致性处理,在所述应用目录中提供所述应用以供网络设备访问和阻止所述应用在任何网络设备上操作以访问不是针对所述应用允许的预定组的指定服务的部分的服务。
8.根据权利要求7所述的系统,其中,所述开发者接口将所标识的一个或多个网络服务和所标识的一个或多个设备服务与所述应用一起存储在数据库中。
9.根据权利要求7所述的系统,其中,所述存储器资源使得所述一个或多个处理器能够提供应用目录以使得用户能够浏览和在网络设备上安装至少所述应用或附加应用,其中,所述应用目录使得用户能够查看网络服务和设备服务,所述应用或所述附加应用中的每一个对所述网络服务和设备服务具有访问权。
10.根据权利要求9所述的系统,其中,所述网络设备是网络使能的打印机,并且其中,所述设备服务包括以下中的至少一个:打印能力、扫描仪能力、传真机能力、存储器储存、墨水水平信息、墨盒信息、调度的打印能力或安全性服务。
11.根据权利要求7所述的系统,其中,所述网络服务包括电子邮件服务、个性化服务、外部托管的内容或交易服务中的至少一个。
12.一种用于控制应用的使用的计算机系统,所述计算机系统包括:
一个或多个处理器;以及
存储器;
其中,所述一个或多个处理器使用存储在所述存储器中的指令来:
接收开发者应用;
响应于接收到开发者提交的应用并且在应用被审查以批准以供在网络中使用之前,要求开发者标识在应用操作期间应用将访问的特定的一组网络服务;
检测何时为请求未被指定的服务的网络计算设备而操作所述开发者应用;以及
阻止所述网络计算设备上的所述开发者应用使用所述服务。
13.根据权利要求12所述的计算机系统,其中,所述一个或多个处理器使用所述指令以通过以下操作来阻止所述服务可用于所述开发者应用:(i)阻止向所述网络计算设备做出针对所述服务的功能调用,或者(ii)阻止所述网络计算设备对针对所述服务的功能调用进行响应。
14.根据权利要求12所述的计算机系统,其中,所述特定的一组网络服务能够包括电子邮件服务、个性化服务、外部托管的内容或交易服务中的至少一个。
CN201280075021.9A 2012-10-23 2012-10-23 在网络环境中控制开发者应用的分发和使用 Expired - Fee Related CN104508673B (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2012/061479 WO2014065784A1 (en) 2012-10-23 2012-10-23 Controlling distribution and use of a developer application in a network environment

Publications (2)

Publication Number Publication Date
CN104508673A CN104508673A (zh) 2015-04-08
CN104508673B true CN104508673B (zh) 2019-04-02

Family

ID=50545004

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201280075021.9A Expired - Fee Related CN104508673B (zh) 2012-10-23 2012-10-23 在网络环境中控制开发者应用的分发和使用

Country Status (4)

Country Link
US (1) US10073967B2 (zh)
EP (1) EP2912593B1 (zh)
CN (1) CN104508673B (zh)
WO (1) WO2014065784A1 (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9973566B2 (en) * 2013-11-17 2018-05-15 Nimbix, Inc. Dynamic creation and execution of containerized applications in cloud computing
US10824756B2 (en) 2013-09-20 2020-11-03 Open Text Sa Ulc Hosted application gateway architecture with multi-level security policy and rule promulgations
EP2851833B1 (en) 2013-09-20 2017-07-12 Open Text S.A. Application Gateway Architecture with Multi-Level Security Policy and Rule Promulgations
US10171501B2 (en) 2013-09-20 2019-01-01 Open Text Sa Ulc System and method for remote wipe
US11593075B2 (en) 2015-11-03 2023-02-28 Open Text Sa Ulc Streamlined fast and efficient application building and customization systems and methods
US11388037B2 (en) 2016-02-25 2022-07-12 Open Text Sa Ulc Systems and methods for providing managed services
CN107729025A (zh) * 2017-09-30 2018-02-23 广州市网畅信息技术有限公司 一种一体化管理系统的构建平台
CN114553786B (zh) * 2022-04-22 2022-09-09 深圳丰尚智慧农牧科技有限公司 网络请求熔断方法、装置、计算机设备和存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1613062A (zh) * 2001-12-07 2005-05-04 株式会社Ntt都科摩 移动通信终端、应用软件分发装置、应用软件分发系统、执行状态显示控制方法、执行状态显示控制程序及计可读记录媒体算机可读记录媒体
CN1979512A (zh) * 2005-12-06 2007-06-13 国际商业机器公司 分发软件产品的方法和系统
CN102024122A (zh) * 2009-09-15 2011-04-20 株式会社理光 软件管理装置、软件分发服务器、软件分发系统及软件安装方法

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8719562B2 (en) 2002-10-25 2014-05-06 William M. Randle Secure service network and user gateway
US7099663B2 (en) * 2001-05-31 2006-08-29 Qualcomm Inc. Safe application distribution and execution in a wireless environment
NZ531131A (en) 2001-08-13 2005-12-23 Qualcomm Inc Using permissions to allocate device resources to an application
EP1760989A1 (en) * 2005-08-30 2007-03-07 Alcatel Web Services in a peer to peer network
EP2090009A4 (en) * 2006-12-08 2009-12-23 Bright Hub Inc SOFTWARE LICENSE MANAGEMENT
US9118706B2 (en) * 2007-06-29 2015-08-25 Verizon Patent And Licensing Inc. Using imported data from security tools
US9003059B2 (en) 2008-03-31 2015-04-07 Microsoft Technology Licensing, Llc Running applications in an online or offline mode based on the availability of the connection to the remote web server
US8307412B2 (en) * 2008-10-20 2012-11-06 Microsoft Corporation User authentication management
US8615581B2 (en) 2008-12-19 2013-12-24 Openpeak Inc. System for managing devices and method of operation of same
US8621553B2 (en) 2009-03-31 2013-12-31 Microsoft Corporation Model based security for cloud services
JP2010257094A (ja) * 2009-04-23 2010-11-11 Hitachi Ltd 階層ストレージ管理システムにおける移動候補ファイルの抽出方法
US8863267B2 (en) * 2009-06-26 2014-10-14 Oracle International Corporation Subscriber based policy for service network gateways
US8255991B1 (en) 2009-08-17 2012-08-28 Google Inc. Computer application pre-permissioning
US20120011573A1 (en) * 2010-07-12 2012-01-12 Menasce Daniel A System and method for managing insider security threats
US8544068B2 (en) 2010-11-10 2013-09-24 International Business Machines Corporation Business pre-permissioning in delegated third party authorization
US8953199B2 (en) * 2011-01-31 2015-02-10 Hewlett-Packard Development Company, L.P. Method and system to recommend an application
US20120203618A1 (en) 2011-02-07 2012-08-09 Upwave, Inc. Image printing systems and methods
US8713628B2 (en) 2011-02-08 2014-04-29 Verizon Patent And Licensing Inc. Method and system for providing cloud based network security services

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1613062A (zh) * 2001-12-07 2005-05-04 株式会社Ntt都科摩 移动通信终端、应用软件分发装置、应用软件分发系统、执行状态显示控制方法、执行状态显示控制程序及计可读记录媒体算机可读记录媒体
CN1979512A (zh) * 2005-12-06 2007-06-13 国际商业机器公司 分发软件产品的方法和系统
CN102024122A (zh) * 2009-09-15 2011-04-20 株式会社理光 软件管理装置、软件分发服务器、软件分发系统及软件安装方法

Also Published As

Publication number Publication date
WO2014065784A1 (en) 2014-05-01
EP2912593A1 (en) 2015-09-02
EP2912593A4 (en) 2016-05-25
CN104508673A (zh) 2015-04-08
US10073967B2 (en) 2018-09-11
EP2912593B1 (en) 2022-01-05
US20150310208A1 (en) 2015-10-29

Similar Documents

Publication Publication Date Title
CN104508673B (zh) 在网络环境中控制开发者应用的分发和使用
US8166404B2 (en) System and/or method for authentication and/or authorization
US7647625B2 (en) System and/or method for class-based authorization
US9294466B2 (en) System and/or method for authentication and/or authorization via a network
CN104412272B (zh) 使用户登录到浏览器的方法、系统和设备
US9680836B2 (en) Generation of a visually obfuscated representation of an alphanumeric message that indicates availability of a proposed identifier
WO2018108059A1 (zh) 模板数据处理、请求模板数据、模板数据展示的方法和装置
US20070079357A1 (en) System and/or method for role-based authorization
US20090125977A1 (en) Language framework and infrastructure for safe and composable applications
US8042146B2 (en) Apparatus and method for generating an electronic document, and storage medium
US20170235936A1 (en) Secure credential service for cloud platform applications
US20210377277A1 (en) Service providing system, information processing system, and use permission assigning method
US20200233907A1 (en) Location-based file recommendations for managed devices
US9268505B2 (en) Process management system, information processing apparatus and information processing system
US11431716B2 (en) Information processing apparatus and non-transitory computer readable medium
JP5963725B2 (ja) 画像形成装置
JP6897418B2 (ja) 情報処理装置
JP7160148B2 (ja) 情報処理装置、表示方法及びプログラム
JP2018205787A (ja) 情報処理装置、電子文書の表示方法及びプログラム
US20230136200A1 (en) Organization-based Template Publishing and Discovery
WO2024085966A1 (en) Access decision management system for digital resources
SARALAY THE TRANSITIVITY OF TRUST PROBLEM IN THE INTERACTION OF ANDROID APPLICATIONS

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
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20190402

CF01 Termination of patent right due to non-payment of annual fee