CN105103129A - 将计算设备的功能资源与基于网络的编程资源一起使用 - Google Patents
将计算设备的功能资源与基于网络的编程资源一起使用 Download PDFInfo
- Publication number
- CN105103129A CN105103129A CN201280078100.5A CN201280078100A CN105103129A CN 105103129 A CN105103129 A CN 105103129A CN 201280078100 A CN201280078100 A CN 201280078100A CN 105103129 A CN105103129 A CN 105103129A
- Authority
- CN
- China
- Prior art keywords
- computing equipment
- instruction
- resource
- request
- network
- 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
Links
- 238000000034 method Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 20
- 230000004044 response Effects 0.000 claims description 13
- 230000008569 process Effects 0.000 claims description 12
- 230000009183 running Effects 0.000 claims description 2
- 238000007639 printing Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 7
- 239000002609 medium Substances 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000012790 confirmation Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000005314 correlation function Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000009434 installation Methods 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000012120 mounting media Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer And Data Communications (AREA)
- Power Sources (AREA)
- Accessory Devices And Overall Control Thereof (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
Abstract
从安装在计算设备上的应用程序内执行的基于网络的编程资源接收请求。根据该请求,标识计算设备的一个或多个功能资源。该功能资源否则对于计算设备上的所安装的应用程序内执行的基于网络的编程资源而言是不可访问的。使用所标识的一个或多个功能资源来执行任务。
Description
背景技术
网站正在日益提供更多的功能服务和基于网络的编程资源(例如,在网络浏览器内运行的基于网络的应用程序)。存在用以使得不同平台的计算设备能够访问和利用通过因特网提供的各种编程资源和服务的许多市售浏览器。一般地,浏览器使不同计算平台上的最终用户能够在访问网站及其各种服务和应用程序时具有统一的体验。尽管有许多类型的计算平台在使用中,但浏览器通常使用一般协议、格式和规则集进行操作。结果是无论在使用中的计算设备或平台如何,用户在其访问网站时具有非常类似的体验。
附图说明
图1图示出用于将计算设备的本地可用资源暴露于基于网络的编程资源的示例性系统。
图2图示出在计算设备上操作以将本地可用资源暴露于基于网络的应用程序和编程资源的示例性方法。
图3图示出用于使本地可用资源与基于网络的应用程序和编程资源的使用自动化的示例性方法。
图4图示出一种示例性方法,对于其而言可以启用网络资源以利用计算设备的本地资源接口应用程序。
图5图示出用于可在其上面实现本文所述实施例的计算机系统的示例性硬件图。
具体实施方式
本文所述的实施例使得能够使得计算设备的功能资源可用于与基于网络的编程资源和服务一起使用。特别地,本文所述的示例使能诸如浏览器或其它所安装的程序之类的应用程序能够提供用于执行基于网络的编程资源(例如,基于网络的应用程序)的环境,所述基于网络的编程资源可以利用计算设备的各种功能资源,诸如本地或连接的硬件部件。本文所述的实施例的示例包括用于使得网络服务和应用程序能够访问计算设备的功能资源的应用程序或数据产品、计算设备以及系统。
根据某些示例,从安装在计算设备上的应用程序内执行的基于网络的编程资源接收请求。根据该请求,标识计算设备的一个或多个功能资源,其否则是在计算设备上的所安装的应用程序内执行的基于网络的编程资源不可访问的。使用所标识的一个或多个功能资源来执行任务。
此外,计算设备可以包括处理器以对来自在计算设备的浏览器内执行的基于网络的编程资源的调用进行响应。该调用可指定计算设备的功能资源。处理器根据该调用而利用功能资源,并且向基于网络的编程资源提供输出。
此外,在某些示例中,在计算设备上标识一组功能资源。接收请求,其中,从通过计算设备的浏览器执行的基于网络的编程资源生成该请求。确定在请求中指定的功能资源。与利用在请求中指定的功能资源相结合地执行任务。
如本文所使用的,术语“基于网络”将指定(designation)称为从万维网上的网站或位置访问或发起。因此,“基于网络的编程资源”和“基于网络的应用程序”指的是从万维网上的网站或位置发起的各编程资源或应用程序。基于网络的编程资源的另一示例是本地面向网络的应用程序,其可以在本地安装以在操作时与特定网络资源或网页通信。例如,许多计算设备利用被设计成访问特定网站并从特定网站检索应用程序内容的‘应用程序’(app)。可以通过诸如由浏览器提供的应用环境或计算设备上的其它网络使能应用程序来执行基于网络的编程资源或基于网络的应用程序。
在一个实施方式中,处理来自在计算设备上操作的基于网络的应用程序(例如,执行来自网站的JavaScript应用程序的浏览器)的请求。
在另一变体中,可以由嵌入到基于网络的编程资源中的指令来触发该请求,该基于网络的编程资源被从网络服务或应用程序提供给浏览器。标识被指定为用于在该请求中使用的计算设备的一个或多个功能资源。所述一个或多个功能资源包括否则网络服务通过该浏览器不可访问的资源。可使用所标识的一个或多个功能资源来执行任务。
此外,示例规定操作计算设备。可以通过指示访问基于网络的编程资源的浏览器用信号将调用发送到正在计算设备上操作的第二应用程序来操作该计算设备。该请求指定计算设备的功能资源。可以利用来自利用所指定的功能资源的输出。
此外,可以在计算设备上操作第一应用程序以标识一组功能资源。可以操作第一应用程序以对从基于网络的编程资源生成的请求进行响应。可以确定在请求中指定的功能资源。可以与访问和利用在请求中指定的功能资源相结合地执行任务。
本文所述的示例认识到市售浏览器通常具有有限的能力来使得网络服务能够访问或利用在其上面安装了该浏览器的计算设备的许多功能资源。例如,许多种基于网络的计算设备包括可以通过已通过计算设备的操作系统提供的编程接口来访问和利用的功能资源。此类功能资源的分类示例包括与计算设备集成的本地硬件部件(例如,传感器)、所连接的设备(例如,打印机和扫描仪)、网络连接资源(例如,家庭网络设备)和文件系统资源。
商用浏览器可访问计算设备的操作系统资源,但是仅经由浏览器自己的浏览器对象模型(BOM)使那些资源中的某些暴露于网络应用程序。实际上,网络应用程序对某些计算设备资源具有非常有限的访问,不像浏览器和本地地安装在计算设备上的其它应用程序(例如,AdobePhotoshop)。此外,不同的网络浏览器具有不同的BOM,限制了基于网络的应用程序的开发者以针对所有最终用户保持统一的体验的方式提供对计算设备的功能资源的一致访问的能力。此外,在常规方法下,基于网络的应用程序仅进行操作以触发基于网络的应用程序并未控制的基于浏览器的用户交互。例如,常规的基于网络的应用程序必须依赖于浏览器以用于打印,并且基于网络的应用程序除了其它之外还不能控制浏览器的打印机选择对话框的外观和功能,也不能通过浏览器完全跟踪打印进展。
在存在关于基于网络的应用程序例如访问计算设备的功能资源的能力的许多缺点的同时,存在关于与特定网站或资源一起使用的本地面向网络的应用程序的其它缺点。此类客户端应用程序通常局限于特定的平台和设备,并且为最终用户设备提供访问除了该应用程序被设计成用于的基于网络的应用程序之外的基于网络的应用程序的有限能力。作为示例,可将本地照片管理应用程序设计成在WINDOWS(由MICROSOFT公司制造)上而不在MacOS(由APPLE有限公司制造)上运行。
除其它益处之外,本文所述的示例还使得网站操作员能够开发网络服务和应用程序,其使用并利用否则通过浏览器的BOM不可用的最终用户设备的许多功能资源。此外,虽然存在许多计算设备平台,但可以使得用于网络服务和应用程序利用功能资源的能力是平台不可知的。因此,开发者不需要生成专用于平台的功能以供要求访问最终用户的计算设备的功能资源的网络服务和应用程序使用。
本文所述的一个或多个实施例规定以编程方式或者作为计算机实现的方法来执行由计算设备执行的方法、技术和动作。以编程方式意指通过使用代码或计算机可执行指令。以编程方式执行的步骤可以是也可不是自动的。
可使用编程模块或部件来实现本文所述的一个或多个实施例。编程模块或部件可包括程序、子例程、程序的一部分或者能够执行一个或多个所述任务或功能的软件部件或硬件部件。如本文所使用的,模块或部件可以独立于其它模块或部件而存在于硬件部件上。替换地,模块或部件可以是其它模块、程序或机器的共享元件或过程。
此外,可通过使用可由一个或多个处理器执行的指令来实现本文所述的一个或多个实施例。这些指令可承载在计算机可读介质上。用下面的图示出或描述的机器提供可以在其上面承载和/或执行用于实现本发明的实施例的指令的处理资源和计算机可读介质的示例。特别地,用本发明的实施例示出的许多机器包括(一个或多个)处理器和用于保持数据和指令的各种形式的存储器。计算机可读介质的示例包括永久性存储器存储设备,诸如个人计算机或服务器上的硬驱。计算机存储介质的其它示例包括便携式存储单元,诸如CD或DVD单元、闪存(诸如承载在许多蜂窝式电话/通讯设备上)以及磁存储器。计算机、终端、网络使能设备(例如,诸如蜂窝电话之类的移动设备)是利用处理器、存储器以及存储在计算机可读介质上的指令的机器和设备的所有示例。另外,可以计算机程序或能够承载此类程序的计算机可使用的载体介质的形式来实现实施例。
系统概述
图1图示出用于将计算设备的本地可用资源暴露于基于网络的应用程序的示例性系统。更具体地,系统100可以在计算设备10上实现,并且包括应用程序层级编程资源,包括一个或多个浏览器110和功能资源接口应用程序(“FRIA”)120。如更详细地描述的,可以将系统100实现成访问并使用在计算设备上提供或者可用于计算设备的一组资源140。该组资源140包括硬件资源,其可以通过操作系统或计算设备10的其它功能访问和/或控制。
可以将FRIA120实现为这样的应用程序,其进行操作以便为基于网络的编程资源(例如,通过浏览器执行的基于网络的应用程序)提供对计算设备10的该组资源140中的所选资源的访问。如更详细地描述的,浏览器110提供了一个示例,对于该示例而言可以执行基于网络的应用程序或其它功能以从FRIA120生成针对计算设备10的功能资源的请求。在某些实施方式中,FRIA120作为计算设备10上的独立部件进行操作,但是可以接收标准的基于网络的请求并对该请求进行响应。同样地,可以与任何安装的应用程序相结合地实现和使用FRIA120,包括在计算设备10上操作的任何浏览器。
参考图1的示例,浏览器110为基于网络的应用程序105(作为从网站下载的基于网络的编程资源的示例)提供执行环境以从FRIA120进行请求112。例如,可以将FRIA120结构化成对超文本传输协议(HTTP)调用(诸如在通过浏览器110中的任何一个来执行基于网络的应用程序JavaScript时进行的表述性状态转移(或者‘RESTful’)调用)进行响应。FRIA120能够对请求进行响应并与用信号发送此类请求的部件(例如,浏览器110)进行通信。这样,通过浏览器110中的任何一个运行的基于网络的应用程序以及能够生成例如RESTful调用的其它应用程序能够接收对计算设备10的操作及其它本地资源的直接访问。
虽然图1的示例指定浏览器110的使用,但在变体中,可以利用其它网络使能应用程序来执行可以利用FRIA120的基于网络的编程资源。例如,可以将系统100配置成采用其它网络使能应用程序(其可以执行用于生成对FRIA120的RESTful调用的脚本)进行操作。
计算设备10可以对应于例如台式或膝上型计算机,诸如运行WINDOWS操作系统(由MICROSOFT公司制造)的计算机。作为替换或者附加,计算设备10可以对应于移动计算设备,诸如平板电脑(例如,由APPLE有限公司制造的iPAD)或多功能蜂窝式/电话设备。此外,在其它变体中,计算设备10可以对应于专用设备,诸如打印机、复印机、扫描仪(或者打印机、扫描仪和/或复印机的组合)、投影仪、电视或因特网连接的装置。
在操作中,驻留于计算设备10上的浏览器110中的一个进行操作以通过因特网来访问网络服务102。例如,浏览器110可以用来执行从网站提供的基于网络的应用程序。在实施方式中,浏览器110可以对应于商用网络浏览器,诸如MICROSOFTEXPLORER(由Microsoft公司制造)或FIREFOX(由Mozilla公司制造)。网络服务102可以对应于提供服务或应用程序的任何网站。网络服务102的特定示例包括照片共享网站、发布站点、云服务(例如,云打印服务)、优惠券站点等。
在一个实施方式中,浏览器110可以访问下载资源108,并且执行对应于基于网络的应用程序105的编程逻辑。根据某些示例,网络服务102将指令109嵌入下载资源108(例如,网页)中。在执行时,应用程序105生成对同一计算设备10上的FRIA120的调用。指令109可以指定对FRIA120进行定位的本地链接或URL。指令109还可以指定正从FRIA120请求的资源或资源类型(例如,打印作业、扫描作业、OS服务等)。在某些实施方式中,下载资源108可以包括作为应用程序105由浏览器110执行的JavaScript。
应用程序105可以通过浏览器110执行以向FRIA120发送请求112。请求112可以标识在从网络服务102接收到的指令109中指定的功能资源(例如,本地资源、所连接的设备等)。可以通过类型或功能来标识功能资源。请求112还可以指定任务或操作(或操作组),该任务或操作(或操作组)将由FRIA120与使用指定功能资源140相结合地执行。到FRIA120的请求112可以由应用程序105(或其它编程资源)生成,通过浏览器110执行,并且可以被结构化为标准的基于网络的调用。可以使用驻留于计算设备10上的任何浏览器110来访问资源108,执行应用程序105,并将请求112用信号发送到FRIA120。
在一个实施方式中,下载资源108包括用于在浏览器110中生成JavaScript应用程序的指令,从该JavaScript应用程序生成请求112(例如,RESTful调用)并传送到FRIA120。作为响应,FRIA120可以在执行任务时(例如,创建打印作业、使用RIP引擎)利用计算设备10的指定功能资源。可选地,FRIA120可以向通过浏览器110执行的基于网络的应用程序返回响应113或输出。作为附加或变体,下载资源108可以包括多个指令或逻辑以启用多个请求以及处理来自FRIA120的响应。例如,被提供以下载资源108的逻辑可以处理来自FRIA120的输出(例如,传感器输出、执行的确认作业等),并基于FRIA输出向FRIA120发布另一请求。
可以将FRIA120实现为在计算设备10的后台中活动的应用程序。在一个实施方式中,当浏览器访问提供用于利用FRIA120的编程资源的网站时,网站上的资源发起检查以确定FRIA120是否被安装在特定机器上。如果未安装FRIA120,则可以自动地发起下载和安装过程。例如,用户可以被提示(或者不)接受FRIA120应用程序资源的下载。一旦下载,可以使得FRIA120可以在计算设备10上操作。在一个实施方式中,作为默认,每当计算设备10是运作的时,FRIA120就是运作的。在变体中,FRIA120可以对应于这样的应用程序,其当浏览器110中的任一个在使用中时、或者替换地当计算设备10被用于网络操作时是活动的。此外,可以通过用户设置、用户输入和/或其它指定将FRIA120触发至操作。
在图1的示例中,FRIA120包括入站接口122、任务逻辑124和到计算设备的一组功能资源140的一组本地或设备接口130。功能资源140可以包括操作系统资源,诸如计算设备的集成硬件部件(例如,触摸屏、传感器)、所连接的硬件部件(例如,通过本地无线或有线端口连接的设备,诸如打印机、打印机/扫描仪)、被连接到计算设备的本地联网部件(例如,家庭网络环境中的所连接的电视)。此外,在变体中,可通过FRIA使得其可用的资源组140包括云服务(例如,影印服务),该云服务可独立于浏览器环境在计算设备10上直接访问。
在图1的示例中,接口130包括操作系统接口126、文件系统接口128和/或到其它部件的其它接口129,所述其它部件诸如集成硬件部件(例如,计算设备的加速度计或触摸屏)或所连接的硬件部件(例如,本地打印机)。作为示例,接口组130可以提供本地资源的使用或控制以用于打印发现、打印作业以及扫描作业。在一个实施方式中,可以将入站接口122配置成处理通过执行浏览器110内的编程资源(例如,应用程序)生成的请求。可以使用通用的基于网络的协议和格式(例如,超文本传输协议(HTTP)调用、文件传输协议(FTP)、RESTful调用等)来发布请求112。在变体中,入站接口122可以从驻留于计算设备10上的任何网络使能应用程序接收基于网络的调用。此外,入站接口122可以从在计算设备10上运行的其它应用程序接收被格式化为基于网络的调用的请求。在某些变体中,还可以将入站接口122配置成提供对请求的浏览器通用、基于网络的协议和格式的响应。
在某些实施方式中,FRIA120可以基于与请求112一起提供的信息和数据来执行利用计算设备10的功能资源140的任务。作为示例,请求112可以包括数据,该数据(i)标识用于功能资源(例如,打印)的查询或资源指令,(ii)输入值(例如,传感器或硬件部件输出值),(iii)将被功能资源使用的文件(例如,要打印的文件)的网络上的位置,和/或(iv)将被功能资源使用的文件或资源的本地位置。在某些实施方式中,FRIA120还发布对来自浏览器110的请求112的响应113,并且响应113可以包括输出数据或信息。可以以多种方式利用此输出数据或信息。作为特定示例,FRIA120可以返回(i)由FRIA120响应于请求执行的任务的确认或日志,(ii)从特定硬件部件的所命令的使用返回的值(例如,传感器输出),和/或(iii)已处理的文件等。此外,可以将FRIA120配置成将响应或输出传送到其它部件或位置,诸如到网络服务102或者到由网络服务102标识的位置。例如,出站接口136(如下所述)可以直接地向网络服务102返回响应113(或输出)。
在某些变体中,出站接口136可以向计算设备10上的其它部件(诸如浏览器110)或其它应用程序发布基于网络的请求或调用。例如,可以将出站接口136配置成向驻留于计算设备10上的控制或信号部件发布HTTP调用、FTP调用、RESTful调用或其它通信。此外,出站接口136可以向网络资源(诸如网络服务102(例如,网站))发布调用。
在一个实施方式中,浏览器110访问适合于本地资源和FRIA120的使用的网站。当从网站下载资源108时,入站接口122即时回答从通过浏览器110执行的编程资源用信号发送的一个或多个请求112。入站接口122可以标识由该请求标识的特定本地资源或本地资源类型以及将结合请求112执行的一个或多个任务。请求112被传送至任务逻辑124,其可以根据请求112利用相关的本地资源接口来访问和/或利用特定本地资源。任务逻辑124还可以与访问或使用本地资源相结合地执行操作。例如,请求112可指定打印操作,其促使FRIA120经由入站接口122向通过浏览器110执行的编程资源(例如,基于网络的应用程序105)返回可用于计算设备10的打印机列表。在本示例中,入站接口122接收该请求并标识用于确定可用于计算设备10的打印机的OS接口126。任务逻辑124可以执行操作以使用OS接口126来标识可用的打印机。入站接口122可以向标识可用的打印机的请求应用程序105发布响应113。
随后,通过浏览器110执行的编程资源可以发布附加请求112,诸如打印机选择、打印机设置以及用于打印的文件等。可以响应于例如从下载资源108传送的用户输入和/或附加指令而通过浏览器110来生成后续请求112。浏览器110还可以包括用以控制任务或来自FRIA120(或其部件)的输出的数据。例如,通过浏览器110的执行环境进行的请求112可以指定例如在提供输出(例如,打印机设置)时由计算设备10的指定功能资源利用的控制参数。还可以在利用指定功能资源(例如,要打印的副本数目)时或者在执行与使用功能资源有关的任务(例如,打印作业已被执行的确认)时由FRIA120使用该控制参数。
在某些实施方式中,任务逻辑124包括用于向FRIA120提供特定服务或功能的部件。例如,任务逻辑124可以包括一个或多个本地服务132和调度器134。作为示例,本地服务132可以包括光栅图像打印(RIP)引擎。来自通过浏览器110执行的编程资源的请求112可以指定用于打印的文件。入站接口122可以接收请求112并使用RIP引擎来产生文件的光栅图像。本地服务132(例如,RIP引擎)可以经由OS接口126(例如,通过打印机接口)向例如本地连接的打印机发送输出。
在某些实施方式中,FRIA120可以独立于浏览器110或通过浏览器110执行的基于网络的应用程序105操作。作为附加或变体,FRIA120可以包括可以被自动化或以编程方式控制以检索资源115以供计算设备10的本地资源使用的出站接口136。在一个实施方式中,调度器134可以在其操作中控制出站接口136。例如,调度器134可以在由出站接口136执行检索操作时实现进度表(例如,每日时间)。作为示例,出站接口136可以每天早上检索在线新闻文件。在一个实施方式中,出站接口136向入站接口122生成请求112,其指定所检索的文件或文件组。从浏览器部件136生成的请求112还可以采取标准浏览器类型调用(例如,REST调用)的形式。入站接口122可以标识本地资源(例如,打印机)并使用任务逻辑124(例如,RIP引擎)来生成用于所连接的打印机或其它本地资源的输出。可以经由FRIA120的OS接口126将输出传送至本地资源(例如,打印机)。
作为对出站接口136的替换或变体,入站接口122可以生成控制通信以指引浏览器110执行操作。入站接口122可以例如控制浏览器以根据诸如由调度器134提供的事件或进度表来执行检索及其它操作。
可以通过诸如在图1的示例中描述的系统100来提供多种功能和服务。作为附加示例,网络服务102可以提供应用程序或编程资源,该应用程序或编程资源提供用于由最终用户打印的优惠券。系统100可以启用网络服务以控制打印操作。例如,如果优惠券被限制为每个客户一个,则可以由基于网络的服务来控制用户的打印优惠券的多个副本的能力。例如,从网络服务102提供的指令109可仅启用用于特定优惠券项目的单个打印作业。
作为另一示例,网络服务102可以接收关于项目被打印、扫描或者以其他方式被使用的次数的反馈。例如,FRIA120可以向网络服务102(例如,通过浏览器110或直接地)传送反馈,其确认对于特定项目而言已完成打印作业中的一个。因此,在优惠券的情况下,网络服务102可以接收关于优惠券被打印的次数的反馈。
作为另一示例,计算设备10可存储可以被网络服务的应用程序访问和采取行动的文件。例如,网络服务102可以命令FRIA120对特定文件进行定位,并且将文件发送到附接的打印机。此外,FRIA120可以例如使用RIP引擎来本地地打印文件。FRIA120还可以修改文件。例如,FRIA120的RIP引擎可以创建文件的光栅化版本。替换地,可以在FRIA120中包括其它服务以基于来自网络服务102的输入对文件进行结构化或修改。
在其它实施方式中,网络服务102可以指定在文件被结构化或修改之后该文件将被传送回到服务102。例如,FRIA120可以执行脚本,其中,其出站接口136将HTTP(或多个HTTP)通信用信号发送到网络服务102的网站或指定(designation)。进一步举例,FRIA120可将文件的光栅化版本发送回到网络服务102或由网络服务102指定的另一站点。
作为另一示例,可在包括集成的一组传感器的移动计算设备上实现系统100。例如,移动计算设备可包括加速度计、陀螺仪、接近传感器、光传感器和/或磁强计。可以针对特定的平台、诸如移动计算平台来配置FRIA120。FRIA120的接口可以供给诸如通过设备的操作系统使得其可用的传感器接口。计算设备10的浏览器110访问网络服务,诸如在线游戏服务。来自网络服务102的下载资源108包括对游戏动作和设置进行响应的指令,并且可以要求FRIA120实时地获取传感器值以便增强游戏体验。因此,响应于通过浏览器110进行的请求,可以由FRIA120来读取传感器值。FRIA120操作的结果可以包括传感器值,该传感器值被传送回到通过浏览器110执行的基于网络的应用程序105且然后被例如通过浏览器110执行的JavaScript的实现利用。
方法
图2图示出在计算设备上操作以将本地可用资源暴露于基于网络的应用程序和编程资源的示例性方法。图3图示出用于使本地可用资源与基于网络的应用程序和编程资源的使用自动化的示例性方法。图4图示出一种示例性方法,对于其而言可以启用网络资源以利用计算设备的本地资源接口应用程序(例如,FRIA120)。在描述图2、图3和图4的示例时,可出于举例说明用于执行正在描述的步骤或子步骤的适当部件的目的而对图1的元件进行参考。
参考图2,可以操作计算设备的浏览器110以执行基于网络的应用程序105或其它编程资源(210)。可以例如通过其中启用了FRIA服务的网站来访问基于网络的应用程序。采用开发者期望的特定资源,开发者可以在网站处对页面或资源进行结构化以触发FRIA的使用。浏览器110可以例如下载包括指令109的基于网络的应用程序105,并且该指令可以在浏览器110内执行以生成对安装在计算设备10上的FRIA120的REST调用。
响应于通过浏览器110访问下载资源108并执行应用程序105,应用程序105向FRIA发送标准的基于网络的调用(220)。该调用可以基于开发者的指定和包括在网页中的(一个或多个)指令来请求资源。
FRIA确定在调用中指定了什么资源(230)。例如,该资源可以是本地的,要求使用驱动器、应用程序接口或端口。可以使用操作系统接口126来访问特定本地资源。FRIA120使用指定资源来执行任务(240)。在一个实施方式中,在调用中指定的资源可以对应于硬件资源(242),诸如打印机(例如,所连接的设备)或传感器(例如,加速度计、陀螺仪等)。替换地,在调用中指定的本地资源可以对应于文件系统资源(244)。还可以在调用中指定诸如家庭网络资源(例如,跨家庭网络的本地连接的设备)或云服务之类的其它资源(246)。
根据从由浏览器110下载的网络资源要求的功能,由FRIA执行的任务可以导致各种结果。例如,在打印示例中,该结果可以对应于产生文件的硬拷贝的本地连接的打印机。通过使用本地资源,由FRIA120执行的任务的结果还可以导致FRIA120用信号将数据或其它信息发送回到浏览器110。例如,FRIA120可以将文件已被打印的确认用信号发送回到通过浏览器110执行的基于网络的应用程序105和/或从其提供下载资源108的网站。
参考图3的示例,可以将FRIA120配置成自动地访问基于网络的资源(310)。特别地,可以将FRIA120配置成自动地访问特定网络资源(例如,由URL定位的),并与计算设备的一个或多个本地可用资源相结合地以特定方式利用资源。
在一个示例中,如用图1所述,FRIA可以包括调度器134,其可以控制出站接口136以检索特定资源并执行其它任务(312)。可以由例如包括在被浏览器110访问的下载资源108中的指令109来配置调度器134。作为替换或附加,可以指引FRIA120响应于指定的事件而自动地执行例如网络资源的检索操作(314)。例如,当用户打印优惠券时,可以将FRIA120配置成检索另一优惠券。
一经配置,FRIA120可以被触发以访问特定网络资源(320)。当被触发时,FRIA120访问指定网络资源(例如诸如由URL定位的)并执行特定任务,该特定任务利用计算设备的功能资源(330)。例如,FRIA120可以利用驱动器、硬件部件或操作系统接口以便执行利用计算设备的本地资源之一的任务。例如,本地资源的使用可以与例如FRIA120的出站接口136所检索的网络资源相结合。
在图4中,网站提供商可以选择提供可以利用计算设备的功能资源的资源,诸如本地或操作系统层级部件(例如,驱动器、附接设备)。在一个实施方式中,网站主机或开发者可以选择向访问控制列表注册其域(410)。该访问控制列表可以标识被允许在其网络资源中指定用于FRIA120的指令的那些域。在一个实施方式中,将访问控制器链接到FRIA120。例如,包括已安装的FRIA120的每个计算设备还可接收已更新的访问控制列表,该访问控制列表反映允许什么域指定导致FRIA120执行相应任务的指令。
除注册域之外,每个网络服务提供商还可以标识从FRIA120需要什么资源(412)。例如,网络服务102的主机或开发者可以指定针对本地打印服务的需要。可以将域的关联以及可以在来自该域的指令中指定的(一个或多个)特定资源保持在访问控制列表上。因此,网络服务提供商必须具有请求使用或访问特定类型的本地资源的许可。提供例如打印相关功能的网络服务(例如,照片共享站点)可经由安装在最终用户设备上的FRIA120来访问和使用打印相关接口。此类网络服务可能同样地不能请求对其它类型的本地资源的访问。
在一个实施方式中,访问控制列表的条目(包括针对该域被批准访问的相关的功能计算设备资源)可以确定浏览器110是否用将请求112用信号发送到FRIA120或者FRIA120是否对来自浏览器110的请求进行响应。特别地,访问控制列表可以确定FRIA120是否对通过经由计算设备的浏览器110执行的基于网络的编程资源(例如,应用程序105)用信号发送的请求进行响应。例如,FRIA120可以对照访问控制列表中的域的被批准列表来检查在来自浏览器110内执行的应用程序105的请求中指定的域。
提供商可以使得基于网络的应用程序能够执行并访问最终用户设备的功能资源(420)。在一个实施方式中,提供商可以例如在下载资源108中嵌入一个或多个指令。结果,通过最终用户终端的浏览器执行的编程资源将请求用信号发送到本地安装的FRIA120。提供商还可以配置下载资源108,从而使得基于网络的应用程序105执行以访问相应的FRIA120并利用对应计算设备的指定的功能资源。
当计算设备访问网站时,可以进行关于FRIA120是否被安装在该终端上的编程确定(430)。如果FRIA120存在,则可以将网络资源连同指令一起下载到终端(434)。如果FRIA120不存在,则可以触发一过程以使得FRIA120能够被下载(438)。该过程可以涉及提示用户接受该下载以及将用户指引到一站点或网络位置,在该站点或网络位置处使得FRIA120可用于下载和安装。
在FRIA120被安装的情况下,下载资源108可以提供例如编程资源以触发或用信号发送用于访问FRIA120的请求(440)。例如,可以通过浏览器110中的Javascript来实现基于网络的应用程序105。可以将基于网络的应用程序105结构化成触发或生成对FRIA120的请求112(例如,HTTP调用)。请求112还可以指定在该请求的情况下需要的特定功能资源(或其集合)。
计算机硬件描述
图5图示出在其上面可实现本文所述的实施例的示例性计算机系统。根据某些实施方式,计算设备500可以对应于台式计算机、膝上型计算机、移动计算设备(例如,能够实现电话、消息发送以及数据服务的蜂窝式设备)、平板电脑、膝上型计算机、上网本、媒体重放设备、智能电视、媒体重放设备、投影仪、照相机、打印机、扫描仪或其它网络使能设备。计算设备500包括处理器510、存储器资源520、显示设备530、一个或多个通信子系统540以及输入机构550。通信子系统540可以包括网络端口,诸如用于启用网络浏览的有线或无线(例如,蜂窝、WiFi等)通信端口。计算设备500还可包括一个或多个传感器560(例如,加速度计、接近传感器、光传感器、触摸屏、磁强计等)以及用于所连接的设备的各种端口。
计算设备500可操作一操作系统以使得能够使用设备的各种部件。另外,计算设备500可以实现应用级逻辑和编程。存储器520存储指令以便由处理器510执行。在一个实施方式中,处理器510可以使用存储在存储器520中的指令来运行应用程序。参考图1的示例,处理器510可以运行对应于浏览器110和FRIA120的应用程序。在一个实施方式中,处理器510可以执行用于将FRIA120(“FRIA指令518”)实现为计算设备10上的恒定进程的应用指令518。这样,FRIA120操作并等待来自基于网络的编程资源(诸如通过浏览器执行的基于网络的应用程序)的请求。相应地,可以用软件和/或其它逻辑来配置处理器510以执行采用诸如由图1、图2或图3以及在本文中的其它地方所述的示例提供的一个或多个过程、步骤及其它功能。
虽然已参考附图在本文中详细地描述了说明性实施例,但本公开涵盖对特定实施例和细节的变体。意图在于由权利要求及其等价物来限定本文所述的实施例的范围。此外,可设想单独地或作为实施例的一部分描述的特定特征可以与其它单独描述的特征或其它实施例的部分组合。因此,没有描述组合不应阻止(一个或多个)发明人要求对此类组合的权利。
Claims (15)
1.一种存储用于操作计算设备的指令的非暂时计算机可读介质,该指令可由所述计算设备的一个或多个处理器执行以促使所述一个或多个处理器执行包括以下各项的操作:
处理从安装在所述计算设备上的应用程序内执行的基于网络的编程资源生成的请求;
标识所述计算设备的在所述请求中被指定为供使用的一个或多个功能资源,其中,所述一个或多个功能资源否则对于所述计算设备上的所安装的应用程序内执行的基于网络的编程资源而言是不可访问的;以及
使用所标识的一个或多个功能资源来执行任务。
2.权利要求1的计算机可读介质,还包括用于操作第一应用程序以处理该请求并通过所述计算设备的操作系统来访问在所述请求中指定的一个或多个功能资源的指令。
3.权利要求1的计算机可读介质,其中,用于标识所述计算设备的一个或多个功能资源的所述指令包括用于通过所述计算设备的操作系统与配备有或连接到所述计算设备的一个或多个硬件部件对接的指令。
4.权利要求1的计算机可读介质,其中,所述一个或多个功能资源包括被连接到所述计算设备或与所述计算设备集成的一组设备。
5.权利要求3的计算机可读介质,其中,所述一个或多个硬件部件包括打印机、扫描仪、复印机、投影仪、电视或传感器中的至少一个。
6.权利要求1的计算机可读介质,其中,用于执行所述任务的所述指令包括用于使用与所述计算设备的所连接的设备相对应的功能资源的指令。
7.权利要求1的计算机可读介质,其中,用于执行所述任务的所述指令包括用于确定来自与所述计算设备的所连接的设备相对应的功能资源的输出的指令以及用于向所述基于网络的编程资源返回基于该输出的响应的指令。
8.权利要求1的计算机可读介质,其中,用于处理所述请求的所述指令包括用于处理从在浏览器内执行的基于网络的编程资源生成的超文本传输协议(HTTP)调用的指令,所述浏览器在所述计算设备上操作。
9.权利要求8的计算机可读介质,其中,用于处理所述请求的所述指令包括用于处理表述性状态转移调用的指令。
10.权利要求2的计算机可读介质,还包括用以在所述计算设备是运作的时自动操作所述第一应用程序作为后台进程的指令。
11.一种计算设备,包括:
一个或多个存储器资源,以及
一个或多个处理器,被耦合到所述存储器资源,所述一个或多个处理器用以:
对来自在所述计算设备的浏览器内执行的基于网络的编程资源的调用进行响应,该调用指定所述计算设备的功能资源;
根据该调用而利用所述功能资源;以及
将来自利用所述功能资源的输出提供给所述基于网络的编程资源。
12.权利要求11的计算设备,其中,所述一个或多个处理器在后台中操作第二应用程序以便接收所述调用并提供所述输出。
13.权利要求12的计算设备,其中,所述一个或多个处理器通过所述计算设备的操作系统与配备有或连接到所述计算设备的一个或多个硬件部件对接。
14.权利要求11的计算设备,其中,所述一个或多个处理器还使从其提供所述基于网络的编程资源的域与访问控制列表相关联,该访问控制列表提供对于所述计算设备的部件访问指定功能资源的许可。
15.一种用于操作计算设备的方法,该方法包括:
标识所述计算设备上的一组功能资源;
接收从通过所述计算设备的浏览器执行的基于网络的编程资源生成的请求;
确定在所述请求中指定的功能资源;以及
与利用在所述请求中指定的所述功能资源相结合地执行任务。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2012/062878 WO2015084291A2 (en) | 2012-10-31 | 2012-10-31 | Using functional resources of a computing device with web-based programmatic resources |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105103129A true CN105103129A (zh) | 2015-11-25 |
CN105103129B CN105103129B (zh) | 2019-11-22 |
Family
ID=53274248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201280078100.5A Expired - Fee Related CN105103129B (zh) | 2012-10-31 | 2012-10-31 | 一种用于操作计算设备的方法、设备及介质 |
Country Status (4)
Country | Link |
---|---|
US (1) | US9753774B2 (zh) |
EP (1) | EP2915043B1 (zh) |
CN (1) | CN105103129B (zh) |
WO (1) | WO2015084291A2 (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140201619A1 (en) * | 2013-01-11 | 2014-07-17 | Beijing Lenovo Software Ltd. | Method And Device For Implementing Local Operation On Web Page |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6928443B1 (en) * | 2001-02-22 | 2005-08-09 | Daniel Joseph Giambalvo | Framework for creating search systems of networked resources |
CN1658608A (zh) * | 2004-01-30 | 2005-08-24 | 捷讯研究有限公司 | 用于提供可修改通用应用内容的系统和方法 |
CN101111820A (zh) * | 2005-03-30 | 2008-01-23 | 国际商业机器公司 | 选择和传递可移植门户小程序的方法和设备 |
US20090240935A1 (en) * | 2008-03-20 | 2009-09-24 | Microsoft Corporation | Computing environment configuration |
US20120050795A1 (en) * | 2010-08-27 | 2012-03-01 | Canon Kabushiki Kaisha | Print job management system and control method thereof, information processing apparatus, and print server |
US8171074B2 (en) * | 2005-10-25 | 2012-05-01 | Canon Kabushiki Kaisha | Web service system, schedule execution apparatus and control method thereof |
WO2012108547A2 (en) * | 2011-02-10 | 2012-08-16 | Seiko Epson Corporation | Network system, interface board, method of controlling printing on an network system, and program |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7496578B2 (en) | 1999-11-04 | 2009-02-24 | Aol Llc | Shared internet storage resource, user interface system, and method |
US7308440B2 (en) | 2000-12-11 | 2007-12-11 | Microsoft Corporation | System and method for representing an object used in management of multiple network resources |
US7036006B2 (en) * | 2001-05-17 | 2006-04-25 | Veritas Operating Corporation | System to provide computing as a product using dynamic computing environments |
US8255548B2 (en) | 2002-06-13 | 2012-08-28 | Salesforce.Com, Inc. | Offline web services API to mirror online web services API |
US8176490B1 (en) * | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
US8024743B2 (en) * | 2004-12-30 | 2011-09-20 | Sap Ag | Connection of clients for management of systems |
US8458612B2 (en) | 2007-07-29 | 2013-06-04 | Hewlett-Packard Development Company, L.P. | Application management framework for web applications |
US8341268B2 (en) * | 2009-08-28 | 2012-12-25 | Microsoft Corporation | Resource sharing in multi-principal browser |
WO2011069169A1 (en) * | 2009-12-04 | 2011-06-09 | Financialos, Inc. | Methods for platform-agnostic definitions and implementations of applications |
US20120042016A1 (en) * | 2010-08-10 | 2012-02-16 | Google Inc. | Exposing resource capabilities to web applications |
JP2012048457A (ja) * | 2010-08-26 | 2012-03-08 | Canon Inc | 印刷サーバ装置、印刷装置、情報処理方法及びプログラム |
US10205760B2 (en) * | 2014-05-05 | 2019-02-12 | Citrix Systems, Inc. | Task coordination in distributed systems |
-
2012
- 2012-10-31 CN CN201280078100.5A patent/CN105103129B/zh not_active Expired - Fee Related
- 2012-10-31 EP EP12891439.7A patent/EP2915043B1/en active Active
- 2012-10-31 US US14/439,062 patent/US9753774B2/en active Active
- 2012-10-31 WO PCT/US2012/062878 patent/WO2015084291A2/en active Application Filing
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6928443B1 (en) * | 2001-02-22 | 2005-08-09 | Daniel Joseph Giambalvo | Framework for creating search systems of networked resources |
CN1658608A (zh) * | 2004-01-30 | 2005-08-24 | 捷讯研究有限公司 | 用于提供可修改通用应用内容的系统和方法 |
CN101111820A (zh) * | 2005-03-30 | 2008-01-23 | 国际商业机器公司 | 选择和传递可移植门户小程序的方法和设备 |
US8171074B2 (en) * | 2005-10-25 | 2012-05-01 | Canon Kabushiki Kaisha | Web service system, schedule execution apparatus and control method thereof |
US20090240935A1 (en) * | 2008-03-20 | 2009-09-24 | Microsoft Corporation | Computing environment configuration |
US20120050795A1 (en) * | 2010-08-27 | 2012-03-01 | Canon Kabushiki Kaisha | Print job management system and control method thereof, information processing apparatus, and print server |
WO2012108547A2 (en) * | 2011-02-10 | 2012-08-16 | Seiko Epson Corporation | Network system, interface board, method of controlling printing on an network system, and program |
Also Published As
Publication number | Publication date |
---|---|
EP2915043A2 (en) | 2015-09-09 |
WO2015084291A3 (en) | 2015-08-13 |
WO2015084291A2 (en) | 2015-06-11 |
CN105103129B (zh) | 2019-11-22 |
EP2915043A4 (en) | 2016-08-03 |
US20150355944A1 (en) | 2015-12-10 |
US9753774B2 (en) | 2017-09-05 |
EP2915043B1 (en) | 2020-09-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109542427B (zh) | 一种系统定制方法、装置及电子设备和存储介质 | |
CN101378400B (zh) | 实现桌面应用和Web应用聚合的方法、服务器和系统 | |
CN106484383A (zh) | 页面渲染方法、装置及设备 | |
CN102591928A (zh) | 表现包括从跳转列表任务和项目访问的内容的内容 | |
CN101202794A (zh) | 移动设备的网络控制仿真器 | |
CN104641363A (zh) | 评估应用兼容性 | |
EP2912593B1 (en) | Controlling distribution and use of a developer application in a network environment | |
CN105074652B (zh) | 用于向打印机远程提供应用功能的方法和计算机系统 | |
WO2014035870A1 (en) | Method and apparatus of responding to webpage access request | |
AU2015206386B2 (en) | Privacy setting metadata for application developers | |
CN112930530B (zh) | 用于网络应用程序执行的客户端应用程序 | |
JP5819203B2 (ja) | 多機能装置に接続する大容量記憶装置にネットワークアクセスを可能にするシステム及び方法 | |
CN111079048A (zh) | 一种页面加载方法及装置 | |
CN102937963A (zh) | 使用协议处理程序的模板和服务器内容下载 | |
CN110213105A (zh) | 一种跨平台微应用创建方法 | |
CN112818270A (zh) | 数据跨域传递方法、装置及计算机设备 | |
CN105103129A (zh) | 将计算设备的功能资源与基于网络的编程资源一起使用 | |
CN102629932A (zh) | 通过web应用程序控制嵌入式设备的方法 | |
US10291743B2 (en) | Configuring service endpoints in native client applications | |
US9491221B1 (en) | System and method for brokering distributed computation | |
US8214499B2 (en) | System and method for enabling software applications as a service in a non-intrusive manner | |
JP7434485B2 (ja) | 情報処理端末、制御方法、およびオペレーティングシステム | |
JP6786656B2 (ja) | 情報処理端末、情報処理端末の制御方法およびプログラム | |
JP7571909B1 (ja) | オンデマンドサービス提供システム、オンデマンドサービス提供方法、及びプログラム | |
KR101748450B1 (ko) | 복수의 플랫폼을 연동하여 웹페이지를 공유하는 방법 및 서버 |
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: 20191122 |