WO2009140393A1 - Automatic installation of a software product on a device - Google Patents

Automatic installation of a software product on a device Download PDF

Info

Publication number
WO2009140393A1
WO2009140393A1 PCT/US2009/043797 US2009043797W WO2009140393A1 WO 2009140393 A1 WO2009140393 A1 WO 2009140393A1 US 2009043797 W US2009043797 W US 2009043797W WO 2009140393 A1 WO2009140393 A1 WO 2009140393A1
Authority
WO
WIPO (PCT)
Prior art keywords
software product
installation
client device
source
authorized
Prior art date
Application number
PCT/US2009/043797
Other languages
French (fr)
Inventor
Mark Zuber
Christopher Vander Mey
Shankar Ganesh
Original Assignee
Google Inc.
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 Inc. filed Critical Google Inc.
Priority to EP09747477A priority Critical patent/EP2297666A1/en
Publication of WO2009140393A1 publication Critical patent/WO2009140393A1/en

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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Abstract

Methods, systems, and apparatus, including medium-encoded computer program products, for installing software include receiving a request to install a software product on a device (105) and identifying the software product and the source (120, 125) of the software product based on the request. A message, which includes data identifying the software product and the source (120, 125) of the software product, is transmitted to a remote update device (150). An authorization message is received from the remote update device (150) indicating whether the source (120, 125) of the software product is authorized to provide the software product. If the authorization message indicates that the source (120, 125) of the software product is authorized to provide the software product, the software product is automatically installed on the device (105).

Description

AUTOMATIC INSTALLATION OF A SOFTWARE PRODUCT ON Λ
DEVICE
REFERENCE TO RELATED APPLICATIONS The present application claims the benefit of priority to U.S. Patent Application No.
12/120, 1 33 filed on May 13, 2008. the entire contents of which are incorporated herein. TECHNICAL FIELD
This description relates to installing one or more software products on a remote device. BACKGROUND
When a user desires to install a software application or software application updates on a computer, the process typically involves a long scries of prompts to which the user must respond in order to complete the installation process. Some of these steps are driven by the need for security and authorization that typically need to be addressed with each software installation request. Such issues may require action by a systems administrator or other high level security agent. Installed software applications may require maintenance in the form υf software updates in order to provide additional features, to fix bugs, to increase robustness, to block security holes, or to address other issues. Online downloads of these updates, as well as the download of software applications generally have grown in popularity. Users often employ a web browser installed on their computers to access the sources of software applications and download these software applications. SUMMARY
Systems and methods can be implemented to automatically install software products while ensuring authorized installation of the software product. In one general aspect, a request to install a software product on a device is received.
Based on the request, the software product and the source of the software product are identified. A message including data identifying the software product and the source of the software product is transm itted to a remote update device. In response to the message, an authorization message is received from the remote update device indicating whether the source of the software product is authorized to provide the software product. If the authorization message indicates that the source of the software product is authorized to provide the software product, the software product is automatically installed on the device.
Implementations can include one or more of the following features. An error message can be transmitted to the source of the software product if the authorization message indicates that the source of the software product is not authorized to provide the software product. The error message can indicate that the installation of the software product failed. The request to install a software product can comprise installation instructions. Alternate installation instructions tor installing a software product on a device may be received from the source of the request to install a software product in response to the error message. The alternate installation instructions can include displaying at least one prompt to a user and receiving at least one user selection in response to the user prompt.
The softw are product is automatically installed in accordance with the installation instructions. Λ notification message is transmitted to a source of the installation instructions indicating that an installation assistant plug-in is installed on the device prior to receiving the request to install the software product. The software product can be an update of software already installed on the device. The software product is installed on the device by an installation assistant module. A software license update message is received from the remote update device, indicating that an updated end user license agreement is needed prior to installation of the software product, and a user acceptance of the. updated end user license agreement may be received prior to installing the software product. An authorization to install the software product can be received from the user through a web browser on the device.
Received installation instructions are processed to produce a processed installation instruction set. The received installation instructions received through a browser application to a module separate from the browser application are detected. The received installation instructions are processed to install the software product. Permission is received from a user through a user interface to install a software product.
In another general aspect there is at least one client device. A remote application server is adapted to transmit installation instructions for installation of the software product to the at least one client device and further adapted to transmit software product data to the at least one client device. At least one other remote application server is responsible for transmitting software product data and comprises a remote download server. At least one update server is adapted to receive an authorization query from the at least one client device, process the authorization query, and transmit an authorization message to the at least one client device.
Implementations may include one or more of the following features. The remote download server is distinct from the remote application server responsible for transmitting the installation instructions. At least one update server is adapted to process the authorization query to determine whether the remote download server is authorized to provide the software product to the client device. At least one update server is adapted to transmit an authorization message to the at least one client device indicating that the remote download server is authorised to provide the software product to the at least one client device. Λt least one update server is adapted to transmit an authorization message to the at least one client device indicating that the remote download server is authorized to provide the software product to the at least one client device.
At least one remote application server can be a web server. At least one client device comprises an installation assistant module, wherein the installation assistant module is adapted to install the software product on the at least one client device. At least one client device comprises an installation assistant plug-in, wherein the installation assistant plug-in is adapted to receive and process the installation instructions to produce a processed installation instruction set. The installation assistant module is adapted to receive and process the processed installation instruction set. At least one of the installation assistant module or the installation assistant plug-in is adapted to operate with a web browser installed on the at least one client device. At least one client device comprises a user authorization module, wherein the user authorization module is adapted to receive permission from a user to install the software product on the at least one client device.
In another general aspect, an authentication query is received from a client device. The authentication query is sent from the client device in response to an installation request received by the client device from a remote download device and identi fies an installation request and a source of the installation request. The authentication query is processed to determine whether the remote download device is authorized to provide a software product identified in the installation request to the client device. An authorization status message is transmitted to the client device, indicating whether the remote download device is authorized to provide the software product to the client device.
Implementations may include one or more of the following features. Installation request identification data is interpreted to identify at least one of the software product or the source of the software product. The source of the software product can be a web server distinct from the remote download device. A database is consulted for an indication that the source of the software product is authorized to provide at least one application file to the client device for use in installing the software product on the client device. The authentication query can be installation instructions corresponding to the software product, wherein at least one of the software product or the source of the software product can be identified from the installation instructions. It can be determined whether the client device is authorized to execute the installation instructions. A network address is referenced corresponding to the source of the software product. Λ software license update associated w ith the software product is identified and transmitted to the client device. The source of at least one installation file corresponding to the software product is identified from the authentication query. The software product is identified from the authentication query. Λ list of authorized installation file sources is consulted for the identification of the source of at least one installation file corresponding to the software product. Λn authorization status message is generated indicating that the remote application device is authorized to provide the software product to the client device if the remote application device is identified on the list of authorized application devices. The remote application device is identified. A received installation request is analyzed. It can be determined whether the remote application device is authorized to provide the received installation request to the client device. A database is consulted for the identification of the software product and verify that the remote application device is authorized to provide a software product corresponding to the received installation request.
DESCRIPTION OF DRAWINGS
FIG. I A is a block diagram illustrating an example configuration of an automatic installation system for software products. F7IG. I B is a block diagram illustrating an example modular configuration of an automatic installation system for software products.
FIG. 2 is a flow diagram illustrating an example of the interaction of components in one configuration of an automatic installation system for software products.
FlG. 3 is a flow diagram of an example process for automatically installing a software product on a computer device.
FIG. 4 is a flow diagram of an example process for processing an authorization query by an update device. hike reference symbols in the various drawings indicate like elements.
DETAILED DESCRIPTION As shown in FIG. I A. a system 100 for use in automatically installing software products, including software product updates, is provided. A client device 105 can communicate with one or mote remote servers across a network 1 10. The network can be any electronic communications network known in the art. for example a LAN or the internet. Additional client devices I 15 may also be capable of connecting to the network. Client devices may connect to the network using known communication techniques, for example via a hardwire (e.g., Ethernet) or a wireless (e.g.. Ii-RF. 802.1 I b. VViMAX, etc.) connection. Remote computer devices 120, 125, 130. 135 are also capable of communicating across the network 1 10, including communicatively coupling with client devices 105, 1 15 through the network 1 10. One or more of the client devices 105, 1 15 may also be capable of communicating with a remote computer device designated as a remote update device 150. The remote update device 150 may be capable of fielding and communicating responses to queries from one or more of the client devices 105, 1 15 relating to various aspects of installing software products on a client device. Communications between the client devices 105. 1 15. remote computer devices 120, 125, 130, 135, and the remote update device 150 may be conducted using any suitable protocols, for example, the TCP/IP model. Remote computer devices may be implemented as computer servers or computer server systems.
FIG. I B shows a modular representation of one possible implementation of the system illustrated in FIG. I Λ. An installation assistant 140 is installed on a client device 105. The installation assistant 140 may be one or more software components installed on a client device 105 that arc capable of managing the installation of at least one software product on the client device. The installation assistant 140 may be capable of managing the installation of several distinct software products, including products that represent updates of software products already installed on the client device 105. In some implementations, the installation assistant 140 may manage the installation of all software products on a given client device 105. Alternatively, the installation assistant 140 may be responsible only for the installation of a discrete number of software products. Λdditionally,vthe installation assistant 140 may either be a stand-alone application, or integrated with a web browser, virtual machine, or any other implementation compatible with the device 105 or the device's operating system. In some implementations, an installation assistant 140 installed and running on a device 105 may consist of three major parts: (1 ) a runtime component which may handle the core update and install services; (2) a web browser control (e.g.. ActiveX for Internet Explorer) which may allow web pages and web-based applications to interface w ith the installation assistant 140; and (3) a graphical user interface layer which may provide progress and feedback to the user during installation, updates, or any other services provided by the installation assistant 140.
The installation assistant 140 may provide installation of software products by executing binary installation instructions passed to it. The installation instructions may be passed and received through a variety of sources. For example, the instructions may be delivered to the device via a portable data memory device, such as a thumbdrive, portable hard drive. CD, DVD. or other memory means known in the art. The instructions might also be provided over a closed, private network from another computer or server connected to the network, or provided from a server or other computing device over the internet or other large scale computer network. In connection with installation instructions received by the installation assistant 140, the installation assistant may then receive and install binary files corresponding io the software product on the device 105. Installation instructions, or other binary files corresponding to the software product, may comprise, for example, a sofiware- prodtict-specific installation stub. The installation assistant 140 may then invoke the installation stub instrumentality to complete the installation of the related software product. As another example, installation instructions could point the installation assistant 140 to the IJRL of a remote download server 135, from which binary files relating to the installation of a software product are to be downloaded and then installed on the client device 105.
FIG. I B also shows an installation assistant plug-in 145 installed on the device 105 in some implementations. The installation assistant plug-in 145 may be installed to run continuously during the runtime of a supervising program, such as a web browser or the device operating ^) stem. Some implementations of the installation assistant 140 may be designed to run only in connection with the installation of a software product on the device, whether it be the actual process of installing a software product, the receipt of a request to install a software product on the device, or the handling of installation instructions or other tasks related to the installation of software products. The plug-in 145 may be designed to run continuously, even when the installation assistant 140 is idle. Additionally, the plug-in 145 may be designed to communicate with the installation assistant 140.
In one example, the plug-in I45 may be embedded in the client device's 105 web browser 142. The plug-in 145 may be designed to route messages related to the installation of software products to the installation assistant 140. The messages may be received by the device via TCP/IP communications from remote web servers 120. 125, 130, 135. Here, the plug-in 145 ma) be capable of accepting arbitrary messages from arbitrary sources accessed through the web browser. In some examples, the plug-in 145 serves as a router for messages intended to be handled by the installation assistant 140. To accomplish this the plug-in 145 may, for example, store and execute logic instructions for recognizing messages, such as installation instructions, that should be relayed to the installation assistant 140. Alternatively, the routing functionality of the plug-in may be simplified in other implementations. I1Or example, in order for a web server to send a message or specific type of message to the installation assistant 140. the web server 120 may be required to specifically address the message lor routing by the plug-in 145. This may be accomplished by web servers 120, 125, 130, 135. accessed by the web browser, querying the device 105 regarding the installation of a particular installation assistant 140 or plug-in 145 on the device 105. If the web server 120 receives a positive response (i.e., indicating that a particular installation assistant 140 and/or plug-in 145 is installed on the device 105). the web server 120 could then send data intended for the plug-in 145. such as by employing a message tag, certificate, or other data recognizable to the plug-in 145 and signaling that the message is Io be processed by the plug- in 145 and/or the installation assistant 140. The plug-in 145 could process these plug-in- supported-mcssages, for example, to invoke the installation assistant 140, route subsequent messages to the installation assistant 140 or the supported message itself to the installation assistant 140. or even perform certain authentication and authorization functions to certify the trustworthiness of the source of messages received by the device 105.
In some implementations, the plug-in 145 is designed to accept arbitrary messages from arbitrary sources, for example sets of installation instructions sent by arbitrary web servers 1 20, 125, 130, 135 offering the download of particular software products. This may be facilitated by providing the plug-in 145 with a fixed instruction set or vocabulary. Remote application and download devices 120, 125, 130, 135 would he responsible for formatting data sent to or through the plug-in so as to comport with this predefined plug-in vocabulary. If the arbitrary message sent to the plug-in 145 does not present data compatible with the plug-in vocabulary, the plug-in 145 could pass the message to a second component, such as a web browser 142 operating in concert with the plug-in 145, the installation assistant 140. or some other application on the device 105 capable of responsively processing the message. On the other hand, if the message employs plug-in vocabulary, enabling the plug-in to process the message, the plug-in would then be alerted that it is to handle further processing of this particular message.
FIGS. I A and I B also illustrate a remote update device 150. The update device 150 is capable of communicating with the device 105. Communication may be facilitated through the installation assistant 140, the plug-in 145. or both. The functions of the installation assistant 140 and the plug-in 145 can be integrated into a single software module. The update device 150 may also be capable of communicating with one or more devices attached to a network 1 10. In some implementations, the client device 105 facilitates communication with the update device 150 through the installation assistant 140. Other implementations may provide for the plug-in 145 to interface with the update device 150 on behalf of the client device 105. In implementations where the plug-in 145 interfaces with the update device 150, the plug-in 145 could function as a gate-keeper for installation instructions intended tor the installation assistant 140. For example, the plug-in 145 could receive an installation request, which may include installation instructions, and forward the installation request to the update 5 device 150. The plug-in 145 could operate so as to only forward the installation instructions to the installation assistant if a message returned by the update device 150 indicates that it is safe to pass the installation instructions to the installation assistant 140.
The update device 150 is capable of processing queries and other messages received from the client device 105 related to the installation of software products on the client device iθ ! 05. For example, the update device 150 may receive a query from the client device 105 regarding the trustworthiness or accuracy of certain installation instructions received by the client device 105. Λs an example, installation instructions received by the device 105 may direct the installation assistant 140 to send a request to a certain URL associated with a web server 130 in order to download data files required for the installation of a certain software
15 product on the device 105. Prior to sending this request and thereby potentially exposing the device 105 to a malicious site associated with the URL, the device 105 sends a query to the update device 150. The query may specifically request the update device to authenticate the URL. In other implementations, the query may simply consist of the device 105 forwarding verbatim installation instructions, including the URL pointer in question, for processing by
20 the update dev ice 150.
The update device ma> develop a response to the query by, for example, consulting a whitelist maintained by the update device 150 to sec if the software product being offered for installation in conjunction with the installation instructions matches a URI stored as a trusted source for files associated with the installation of the software product. Alternatively or in
?5 addition, the update device could consult a blacklist, storing a list of forbidden sources and software products, or other databases capable of providing the data necessary to construct a responsive query reply message. A processor module 160 and a storage module 165 may be provided on the update device 150. whereby the storage module 165 may manage storage and maintenance of the whitclist or other databases. The processor module 160 could be
30 responsible for processing the data comprising the query, calling information from the storage module 165. and building a response message destined for the client device 105. The processor module 160 may also execute logic instructions allowing the processor module 160 to route query responses generated by the update device 150 to the originating client device 105. After processing the query, the update device then responds to the client device 105, allow ing the update device 150 to determine whether or not to proceed with the installation of the software product. In addition to validating the source of the installation instructions, the update
Figure imgf000010_0001
ice 150 may also parse the installation instructions and validate that the installation instructions have been previously approved, correspond to instructions expected from the particular source, or are otherwise considered to be safe.
PlG. 2 illustrates a flow- diagram illustrating the interaction of some of the components of system 100, including operations 200 capable of being carried out by the system 100 and its various potential components. In some implementations, operations illustrated beneath a heading corresponding to a particular system component arc performed by that component.
In this particular example 200. installation instructions are sent 205 from one or more application servers to a client device and then received by the client device 105. The installation instructions are received 210 by an installation assistant plug-in installed on the device and linked to a browser application on the device. The plug-in routes 215 the instructions to an installation assistant module installed on the device that is responsible for installing one or more software products associated with received installation instructions. The plug-in may process the installation instructions prior to routing them to the installation assistant module, so that, for example, only a portion of the installation instructions are forwarded 220 to the installation assistant module. The plug-in, in some implementations, may send additional instructions to the installation assistant. For example, the additional instructions may indicate that certain authentication queries need to be made regarding the installation instructions before the installation instructions are executed by the installation assistant.
Λ query is sent 225 from the device to an update device to authenticate the received installation instructions. The update device then receives 230 the query and processes 235 it. After processing the query, the update device sends 240 a query response message to the client device. The query response, responsive to the subject matter of the query sent at 225. may indicate that installation instructions, or certain installation steps, are trustworthy and authorized for execution by the client device. The query sent at 225 and the query response returned at 240 may alternatively pertain to any query related to the installation of a software product on a client device. For example, the query may relate to checking whether installation of the software product is needed (i.e. whether the software product or an equivalent is already installed on the device), checking to see if an end-user license agreement for the software product needs to be accepted by a user of the device, and/or suggesting installation instruction modifications or alternate installation instructions for a given software product.
Once the query response is received 245 by the client device, the client device then executes 250 the installation instructions. Execution of the installation instructions 250 may proceed differently than originally set forth in the installation instructions sent at 205. if, for example, the query response resulted in modification or replacement of the installation instructions. In fact, if a query response indicates, for example, that the installation instructions received by the client device at 210 are not authentic or instruct the client device to access an unauthorized URI., the client device may respond to receipt of such a query response b> refusing to execute the installation instructions received at 210.
In some implementations, execution of the installation instructions 250 by the client device proceed by requesting 255 files from an application data source, in this example, an outside web server. The outside web server may be distinct from the application server that sent the installation instructions at 205. The application data source receives 260 the request and transmits 265 the files to the client device. After receiving these data files, the client device uses the received data files to complete installation of the software product.
FIG 3 illustrates one implementation of a process 300 for automatically installing a software product onto a device. First, a request to install a software product on a device is received 305. The request may comprise one or more instructions that are to be performed to install the software product on the device. The software product sought to be installed, together with the source of the software product are then identified 310. The identity of the software product and its source may be derived from the installation instructions themselves or other data transmitted in connection with the request to install a software product. The source may also be identified by capturing the web address or URL of the webpage from which the browser application receives the request to install a software product. The device may identify the name of the software product or some other data associated with the software product. Certain instruction steps contained in the installation instructions, for example, may serve to identify the software product, or perhaps also the source of the software product. For example, the installation instructions may direct the device to download certain data files by accessing a certain network address or URL. The name of this network address or URL could then be used to identify the software product and its source.
Upon identifying the software product and the source of the software product, the device transmits 3 15 a message communicating the identity of the software product and the source of the software product to a remote update device. This message could be generated and transmitted as an XML, HTML, or other formatted communication. The message could contain the explicit name of the software product and source, could name a network address or URL affiliated with the software product and source, forward installation instructions received with the request to install the software product, or simply forward the entire request to install to the remote update server. In any event, data comprising the message is capable of being processed by the remote update server to identify the software product and the source of the software product. In response to the transmission of this message, an authorization message is received 320 from the remote update device. The contents of this message communicate w hether the source of the software product is authorized to provide the software product. If the message indicates that the source of the software product is authorized to provide the software product, the software product is then automatically installed 325 on the device.
Receipt of the authorization message 320 may, in some implementations, result in the installing 325 of the software product on the device if the authorization message, in fact. indicates that the source of the software product is authorized to provide the software product. Installation of the software product, in some implementations may proceed automatically, without further approval or intervention by the user of the device, upon receipt of the authorization message 320.
Automatically installing a software product allows users to streamline the process for adding softw are programs to their devices as well as update software applications already installed on their devices by omitting several installation steps, such as required prompts to the user and inputs from the user of the device. While prompts and inputs involving the user slow the installation process, they do allow the user to manage what is being installed on their devices and how. Automating this process, while streamlining the user experience, threatens to allow malicious software products to be unwittingly installed on the user's device. Among the benefits of the process 300, when employed with an automatic installation process, such as described generally above, the process 300 allows for the device to check the authenticity and security of software products being offered for installation on the device, and guard against the installation of unauthorized or otherwise malicious software products on the device. Such implementations would allow for the secure, automatic installation of software products without input from the user.
Alternatively, automatic installation of the software products could also take place after receiving an initial user authorization to install a software product. The user authorization could be received through a web browser, for example, by the user selecting a π download program link on a website corresponding to the source of the software product (e.g.. thereby implementing a one-click installation process). Other implementations ma> include a pop-up dialogue box asking the user to authorize installation of a certain software product before proceeding with the automatic installation of the software product. If the authorization message received at 320 indicates that an installation request, installation instructions, software product, or a software product source are not authorized, the authorization message could be processed so as to deny automatic installation of the software product. In some implementations the authorization message could be processed so as to generate and transmit an error message to the source of the installation instructions or installation request. Additionally, a prompt could be displayed to a user indicating that automatic installation of the software product failed. Were automatic installation of the software product to fail, the user might then be offered installation of the software product through an alternative installation method. For example, the alternative installation method might require one or more user selections, indicating user authorization of the installation, acceptance of certain installation conditions, designating a memory address for installation of the software product, and/or setting certain user profiles and other parameters and preferences related to installation of the software product.
HG. 4 illustrates one implementation of a process 400 for handling an authorization query by an update device. An authorization query is first received 4 IO from a client device iti response to an installation request received from a remote download device. In some implementations, the authorization query includes data capable of being interpreted so as to identify an installation request and/or the source of the installation request. The authorization query is processed 420 to determine whether the remote download device is authorized to make the installation request, or. in other examples, to determine whether the installation request and underlying installation instructions contained in the installation request or sent in accordance with the installation request are authentic or trustworthy. Processing the authorization query may require consultation of data, for example a database comprising a whitelist of authorized software products and/or software product sources and/or a blacklist of unauthorized products and/or sources. Upon processing the authorization query 420, an authorization status message is generated 430 and then transmitted 440 to the client device indicating the results of the update device's processing of the authorization query. Tor example, the status message ma\ indicate that the software product source is authorized to provide a certain software product. The status message may indicate, in the alternative, that installation of the software product. according to the installation request, is unauthorized. The status message may indicate additional data relating to the installation of the software program, including whether an end- user license agreement associated with the software product needs to be accepted or updated. In some embodiments, this additional data may be unsolicited and automatically included in the status message returned to the client device.
Implementations of the subject matter and the functional operations described in this specification can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structures disclosed in this specification and their structural equivalents, or in combinations of one or more of them. Implementations of the subject matter described in this specification can be implemented as one or more computer program products, i.e., one or more modules of computer program instructions tangibly stored on a computer-readable storage device for execution by, or to control the operation of. data processing apparatus. In addition, the one or more computer program products can be tangibly encoded in a propagated signal, which is an artificially generated signal, e.g.. a machine-generated electrical, optical, or electromagnetic signal, that is generated to encode information for transmission to suitable receiver apparatus for execution by a computer. The computer-readable storage device can be a machine-readable storage device, a machine- readable storage substrate, a memory device, or a combination of one or more of them. The term "data processing apparatus"' encompasses all apparatus, devices, and machines for processing data, including by way of example a programmable processor, a computer, or multiple processors or computers. The apparatus can include, in addition to hardware, code that creates an execution environment for the computer program in question, e.g.. code that constitutes processor firmware, a protocol stack, a database management system, an operating system, a cross-platform runtime environment, or a combination of one or more of them. In addition, the apparatus can employ various different computing model infrastructures, such as web services, distributed computing and grid computing infrastructures.
Λ computer program (also known as a program, software, software application, script, or code) can be written in any form of programming language, including compiled or interpreted languages, declarative or procedural languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file in a file system. Λ program can be stored in a portion of a file that holds other programs or data (e.g., one or more scripts stored in a markup language document), in a
1? single file dedicated to the program in question, or in multiple coordinated tiles (e.g.. files that store one or more modules, sub-programs, or portions of code). A computer program can he deployed to be executed on one computer or on multiple computers that are located ai one site or distributed across multiple sites and interconnected by a communication network. The processes and logic flows described in this specification can be performed by one or more programmable processors executing one or more computer programs to perform Junctions by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus can also be implemented as. special purpose logic circuitry, e.g., an FPGΛ (field programmable gate array) or an ASIC (application-specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory' or a random access memory or both. The essential elements of a computer are a processor for performing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. However, a computer need not have such devices. Moreover, a computer can be embedded in another device, e.g., a mobile telephone, a personal digital assistant (PDA), a mobile audio or video player, a game console, a Global Positioning System (GPS) receiver, or a portable storage device (e.g.. a universal serial bus (USB) flash drive), to name just a few. Devices suitable for storing computer program instructions and data include all forms of non-volatile mcnion , media and memory devices, including by way of example semiconductor memory devices, e.g.. EPROM, I'liPROM, and flash memory devices; magnetic disks, e.g., internal hard disks or removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks. The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, implementations of the subject matter described in this specification can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, e.g., a mouse or a trackball, by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well; for example, feedback provided to the user can be any form of sensory feedback, e.g., visual feedback, auditory feedback, or tactile feedback; and input from the user can be received in any farm, including acoustic, speech, or tactile input.
Implementations of the subject matter described in this specification can be implemented in a computing system that includes a back-end component, e.g., as a data server, or that includes a middleware component, e.g.. an application server, or that includes a front-end component, e.g.. a client computer having a graphical user interface or a Web browser through which a user can interact with an implementation of the subject matter described is this specification, or any combination of one or more such back-end, middleware, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network.
Examples of communication networks include a local area network ("LAN") and a wide area network ("WAN'"), an inter-network (e.g., the Internet), and pecr-to-peer networks (e.g.. ad hoc pcer-to-peer networks).
The computing system can include clients and servers. A client and server are generally remote from each other and typically interact through a communication network. The relationship of client and server arises by virtue of computer programs running on the respective computers and having a client-server relationship to each other.
While this speci fication contains many implementation details, these should not be construed as limitations on the scope of the invention or of what may be claimed, but rather as descriptions of features specific to particular implementations of the invention. Certain features that are described in this specification in the context of separate embodiments can also be implemented in combination in a single embodiment. Conversely, various features that are described in the context of a single embodiment can also be implemented in multiple embodiments separately or in any suitable sub-combination. Moreover, although features may be described above as acting in certain combinations and even initially claimed as such, one or more features from a claimed combination can in some cases be excised from the combination, and the claimed combination may be directed to a sub-combination or variation of a sub-combination.
Similarly, while operations are depicted in the drawings in a particular order, this should not be understood as requiring that such operations be performed in the particular order shown or in sequential order, or that all illustrated operations be performed, to achieve desirable results. In certain circumstances, multitasking and parallel processing may be advantageous. Moreover, the separation of various system components in the implementations described above should not be understood as requiring such separation in all implementations, and it should be understood that the described program components and systems can generally be integrated together in a single software product or packaged into multiple software products.
Thus, particular implementations of the invention have been described. Other implementations are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, ihc processes depicted in the accompanying figures do not necessarily require the particiilai order shown, or sequential order, to achieve desirable results. In certain implementations, multitasking and parallel processing may be advantageous.

Claims

WHAT IS CLAIMED IS:
I . Λ method comprising: receiving a request to install a software product on a device: identifying the software product and the source of the software product based on the request; transmitting a message to a remote update device, the message comprising data identifying the software product and the source of the software product; receiving an authorization message from the remote update device indicating whether the source of the software product is authorized to provide the software product; and automatically installing the software product on the device if the authorization message indicates that the source of the software product is authorized to provide the software product.
2. The method of claim 1 further comprising transmitting an error message to the source of the software product if the authorization message indicates that the source of the software product is not authorized to provide the software product.
3. The method of claim 2 wherein the error message comprises data indicating that dow nload of the program application failed.
4. The method of claim 2 wherein the request to install a software product on a device comprises installation instructions, the method further comprising receiving alternate installation instructions for installing a software product on a device from the source of the request to install a software product in response to the error message, the alternate installation instructions defining an alternate installation process.
5. The method of claim 4, wherein the alternate application installation process comprises displaying at least one prompt to a user and receiving at least one user selection in response to the at least one prompt.
6. The method of claim I , further comprising transmitting a notification message to a source of the request to install a software product indicating that an installation assistant plug-in is installed on the device, wherein the request to install a software product is received in response to the notification message.
7. The method of claim I . wherein the software product comprises an update of software previously installed on the device.
8. The method of claim 1. further comprising: receiving a software license update message from the remote update device, wherein llic software license update message indicates that an updated end user license agreement is needed prior to installation of" the software product; and receiving a user acceptance of the updated end user license agreement prior to automatically installing the software product.
9. The method of claim 1 , further comprising receiving, from a user, an authorization to install the software product, wherein the authorization to install the software product is received from a user through a web browser on the device.
10. Λn article comprising a machine-readable medium storing instructions for causing computer processing apparatus to perform operations comprising: identifying a software product and the source of the software product based on received installation instructions for installing the software product; transmitting a message to a remote update device, the message comprising data identifying the software product and the source of the software product; receiving an authorization message from the remote update device indicating whether the source of the software product is authorized Io provide the software product; and automatically installing the software product if the authorization message indicates that the source of the software product is authorized to provide the software product.
1 1 . The article of claim 10, wherein the machine-readable medium further stores instructions for causing computer processing apparatus to perform operations comprising transmitting an error message to the source of the software product if the authorization message indicates that the source of the software product is not authorized to provide the software product.
12. The article of claim 10, wherein the machine-readable medium further stores instructions for causing computer processing apparatus to perform operations comprising automatical!} installing the software product in accordance with the installation instructions.
13. The article of claim 10. wherein the machine-readable medium further stores instructions for causing computer processing apparatus to perform operations comprising: processing the received installation instructions to produce a processed installation instruction set: detecting the received installation instructions received through a browser application to a module separate from the browser application: and processing the received installation instructions to install the software product.
14. The article of claim 10, wherein the operations further comprise receiving permission to install a software product from a user through a user interface.
15. Λ system for automatically installing a software product comprising: at least one client device; at least one remote application server capable of transmitting installation instructions for installation of the software product to the at least one client device and capable υf transmitting software product data to the at least one client device, wherein at least one other remote application server is responsible for transmitting software product data and comprises at least one remote download server; and at least one update server capable of receiving an authorization query from the at least one client device, processing the authorization query, and transmitting an authorization message to the at least one client device.
16. The system of claim 15, wherein the at least one remote download server is distinct from the at least one remote application server responsible for transmitting the installation instructions.
17. The system of claim 15, wherein the at least one update server is further capable of processing the authorization query to determine whether the at least one remote download server is authorized to provide the software product to the client device.
18. The system of claim 15, wherein the at least one update server is further capable of transmitting an authorization message to the at least one client device indicating that the remote. download server is authorized to provide the software product to the at least one client device.
19. The system of claim 15, wherein the at least one remote application server comprises a web server.
20. The system of claim 15. wherein the at least one client dev ice comprises an installation assistant module, wherein the installation assistant module is capable of installing the software product on the at least one client device.
2 i . The system of claim 20, wherein the at least one client device comprises an installation assistant plug-in, wherein the installation assistant plug-in is capable of receiving and processing the installation instructions to produce a processed installation instruction set.
22. The system of claim 21 , wherein the installation assistant module is capable of receiving and processing the processed installation instruction set.
23. The system of claim 21 wherein at least one of the installation assistant module or the installation assistant plug-in is adapted to operate with a web browser installed on the at least one client device.
24. The system of claim 15, wherein the at least one client device comprises a user authorization module, wherein the user authorization module is capable of receiving permission from a user to install the software product on the at least one client device.
25. A method comprising: receiving an authentication query from a client device, wherein the authentication cμierλ is sent from the client device in response to an installation request received by the client device from a remote download device and the authentication query comprises at least installation request identification data; processing the authentication query to determine whether the client device is authorized to accept the installation request; and transmitting an authorization status message to the client device, wherein the authorization status message indicates whether the client device is authorized to accept the installation request.
26. The method of claim 25, wherein processing the authentication query comprises interpreting installation request identification data to identify at least one of the software product or the source of the software product.
27. The method of claim 25, wherein the source of the software product comprises a web server distinct from the remote download device.
28. The method of claim 25 further comprising consulting a database for an indication that the software product is authorized to be installed on the client device.
29. The method of claim 28 further comprising consulting a database for an indication that the source of the software product is authorized to provide at least one application file to the client device for use in installing the software product on the client device.
30. The method of claim 25. wherein the authentication query comprises installation instructions corresponding to the software product, wherein at least one of the .software product or the source of the software product can be identified from the installation instructions.
31. The method of claim 30, further comprising determining whether the client device is authorized to execute the installation instructions.
32. The method of claim 30. wherein the installation instructions reference a network address corresponding to the source of the software product.
33. Λn article comprising a machine-readable medium storing instructions for causing computer processing apparatus to perform operations comprising: receiving an authentication query from a client device, wherein the authentication query is sent from the client device in response to an installation request received by the client device from a remote download device and the authentication query comprises data identifying at least one of an installation request, the remote application device, a software product corresponding to the installation request, or a source of at least one installation file corresponding to the software product; processing the authentication query to determine whether the client device is authorized to install the software product corresponding to the installation request: and transmitting an authorization status message to the client device, wherein the authorization status message indicates whether the client device is authorized to install the .software product.
34. The article of claim 33. the machine-readable medium further stores instructions for causing computer processing apparatus to perform operations comprising: identifying whether a software license update is associated with the .software product; and transmitting software license update data to the client device.
35. The article of claim 33, wherein processing the authentication query comprises: identifying the source of at least one installation file corresponding to the software product; identifying the software product; and determining whether the source of at least one installation file is authorized to provide at least one file corresponding to the software product to the client device.
36. The article of claim 35. wherein processing the authentication query further comprises: consulting a list of authorized installation file sources for the identification of the source of at least one installation file corresponding to the software product: and εenerating an authorization status message indicating that the source is authorized to provide at least one installation file corresponding to the software product to the client device if the source is identified on the list of authorized installation file sources.
37. The article of claim 33, wherein processing the authentication query comprises: identifying the remote application device; analyzing a received installation request; and determining whether the remote application device is authorized to provide the received installation request to the client device.
38. The article of claim 37, wherein processing the authentication query further comprises: consulting a database for the identification of the remote application device; and consulting the database to verify that the remote application device is authorized to provide a software product corresponding to the received installation request.
PCT/US2009/043797 2008-05-13 2009-05-13 Automatic installation of a software product on a device WO2009140393A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
EP09747477A EP2297666A1 (en) 2008-05-13 2009-05-13 Automatic installation of a software product on a device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/120,133 US20090288079A1 (en) 2008-05-13 2008-05-13 Automatic installation of a software product on a device
US12/120,133 2008-05-13

Publications (1)

Publication Number Publication Date
WO2009140393A1 true WO2009140393A1 (en) 2009-11-19

Family

ID=40941851

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2009/043797 WO2009140393A1 (en) 2008-05-13 2009-05-13 Automatic installation of a software product on a device

Country Status (3)

Country Link
US (1) US20090288079A1 (en)
EP (1) EP2297666A1 (en)
WO (1) WO2009140393A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016024876A1 (en) * 2014-08-11 2016-02-18 Oracle International Corporation Method and system for managing fine-grained policies for requiring user approval of device management operations
WO2019095387A1 (en) * 2017-11-16 2019-05-23 青岛海信电器股份有限公司 Remotely-assisted automatic upgrading method and device

Families Citing this family (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8285746B2 (en) * 2008-06-16 2012-10-09 Canon U.S.A., Inc. Securing data from a shared device
US8918761B1 (en) 2008-12-05 2014-12-23 Amazon Technologies, Inc. Elastic application framework for deploying software
KR20110062937A (en) * 2009-12-04 2011-06-10 삼성전자주식회사 Server connected to image forming apparatus and client, client, and remote installing method for driver thereof
US20110154135A1 (en) * 2009-12-22 2011-06-23 Research In Motion Limited Method, system and apparatus for installing software on a mobile electronic device via a proxy server
US9264448B2 (en) * 2010-01-20 2016-02-16 Blackberry Limited Apparatus, and an associated method, for facilitating secure operations of a wireless device
US8458809B2 (en) * 2010-01-20 2013-06-04 Research In Motion Limited Apparatus, and an associated method, for facilitating secure operations of a wireless device
US8756311B2 (en) * 2010-05-28 2014-06-17 Openpeak Inc. Shared heartbeat service for managed devices
US8583091B1 (en) 2010-09-06 2013-11-12 Sprint Communications Company L.P. Dynamic loading, unloading, and caching of alternate complete interfaces
US9992055B2 (en) * 2010-12-31 2018-06-05 Openpeak Llc Disseminating commands from a DMS server to fielded devices using an extendable command architecture
US20120246630A1 (en) * 2011-03-23 2012-09-27 Secure By Design System and Method for Automating Installation and Updating of Third Party Software
US9619810B1 (en) 2011-10-11 2017-04-11 Sprint Communications Company L.P. Zone architecture for dynamic targeted content creation
US9195479B2 (en) * 2011-10-17 2015-11-24 Google Inc. Selective notification of native applications
WO2013071391A1 (en) * 2011-11-14 2013-05-23 Research In Motion Limited Methods and devices for configuring a device based on personal identification information
KR101850817B1 (en) * 2011-11-17 2018-04-23 삼성전자주식회사 The method and apparatus for auto installing applications into different terminal
US9413839B2 (en) 2012-07-31 2016-08-09 Sprint Communications Company L.P. Traffic management of third party applications
US9183412B2 (en) 2012-08-10 2015-11-10 Sprint Communications Company L.P. Systems and methods for provisioning and using multiple trusted security zones on an electronic device
US8855605B2 (en) 2012-09-25 2014-10-07 Dropbox Inc. Associating a particular account configuration during the out of box experience for a mobile device
US9442709B1 (en) 2012-10-24 2016-09-13 Sprint Communications Company L.P. Transition experience during loading and updating an interface and applications pack
US9591339B1 (en) 2012-11-27 2017-03-07 Apple Inc. Agnostic media delivery system
US9774917B1 (en) 2012-12-10 2017-09-26 Apple Inc. Channel bar user interface
US10200761B1 (en) 2012-12-13 2019-02-05 Apple Inc. TV side bar user interface
US9532111B1 (en) 2012-12-18 2016-12-27 Apple Inc. Devices and method for providing remote control hints on a display
US10521188B1 (en) 2012-12-31 2019-12-31 Apple Inc. Multi-user TV user interface
US9582260B2 (en) * 2013-01-11 2017-02-28 Adobe Systems Incorporated Method and apparatus for remote purchase, installation, and licensing of software
US9830169B2 (en) 2013-09-30 2017-11-28 Adobe Systems Incorporated Method and apparatus for remotely delivering software
US9513888B1 (en) * 2014-01-30 2016-12-06 Sprint Communications Company L.P. Virtual preloads
US9594471B1 (en) 2014-01-31 2017-03-14 Sprint Communications Company L.P. System and method for inserting additional icon content into a display screen
CN106415475A (en) 2014-06-24 2017-02-15 苹果公司 Column interface for navigating in a user interface
US9348571B2 (en) * 2014-08-25 2016-05-24 General Electric Company Method, device, and program storage device for autonomous software life cycle management
JP2016148947A (en) * 2015-02-10 2016-08-18 キヤノン株式会社 Information processing apparatus, management device, control method of information processing apparatus, control method of management device, and program
US9357378B1 (en) 2015-03-04 2016-05-31 Sprint Communications Company L.P. Subscriber identity module (SIM) card initiation of custom application launcher installation on a mobile communication device
US9398462B1 (en) 2015-03-04 2016-07-19 Sprint Communications Company L.P. Network access tiered based on application launcher installation
US9996682B2 (en) * 2015-04-24 2018-06-12 Microsoft Technology Licensing, Llc Detecting and preventing illicit use of device
US9483253B1 (en) 2015-04-30 2016-11-01 Sprint Communications Company L.P. Methods for customization of default applications on a mobile communication device
JP2017004175A (en) * 2015-06-08 2017-01-05 キヤノン株式会社 Management system and control method thereof, information processing device, and program
US10209976B2 (en) 2015-12-30 2019-02-19 Dropbox, Inc. Automated application installation
US10871962B2 (en) * 2016-05-27 2020-12-22 Sap Se Zero downtime maintenance in constrained systems
US10362013B2 (en) 2016-05-27 2019-07-23 Dropbox, Inc. Out of box experience application API integration
US11250118B2 (en) * 2016-06-12 2022-02-15 Apple Inc. Remote interaction with a device using secure range detection
US11176237B2 (en) 2016-06-12 2021-11-16 Apple Inc. Modifying security state with secured range detection
DK201670582A1 (en) 2016-06-12 2018-01-02 Apple Inc Identifying applications on which content is available
DK201670581A1 (en) 2016-06-12 2018-01-08 Apple Inc Device-level authorization for viewing content
US11582215B2 (en) 2016-06-12 2023-02-14 Apple Inc. Modifying security state with secured range detection
US9871905B1 (en) 2016-08-09 2018-01-16 Sprint Communications Company L.P. Systems and methods for customized delivery of virtually installed applications
US11966560B2 (en) 2016-10-26 2024-04-23 Apple Inc. User interfaces for browsing content from multiple content applications on an electronic device
US10454764B2 (en) * 2016-12-07 2019-10-22 Schneider Electric Software, Llc System and method for managing machine images on a plurality of distributed servers
KR102303665B1 (en) * 2017-03-29 2021-09-17 삼성전자주식회사 Method for providing payment service having plug-in service and electronic device therefor
DK201870354A1 (en) 2018-06-03 2019-12-20 Apple Inc. Setup procedures for an electronic device
US10891017B1 (en) 2018-08-25 2021-01-12 Sprint Communications Company L.P. Rotating icon selection and interaction software development kit (SDK)
US11232126B2 (en) 2018-11-21 2022-01-25 Sap Se Zero downtime upgrade of systems with database-side replication
US10853693B2 (en) 2018-12-04 2020-12-01 Sap Se Software logistic for learning applications
WO2020198221A1 (en) 2019-03-24 2020-10-01 Apple Inc. User interfaces for viewing and accessing content on an electronic device
US11683565B2 (en) 2019-03-24 2023-06-20 Apple Inc. User interfaces for interacting with channels that provide content that plays in a media browsing application
US11445263B2 (en) 2019-03-24 2022-09-13 Apple Inc. User interfaces including selectable representations of content items
CN114297620A (en) 2019-03-24 2022-04-08 苹果公司 User interface for media browsing application
US11863837B2 (en) 2019-05-31 2024-01-02 Apple Inc. Notification of augmented reality content on an electronic device
WO2020243645A1 (en) 2019-05-31 2020-12-03 Apple Inc. User interfaces for a podcast browsing and playback application
US11249770B2 (en) * 2020-01-16 2022-02-15 Vmware, Inc. Connected provisioning
US11843838B2 (en) 2020-03-24 2023-12-12 Apple Inc. User interfaces for accessing episodes of a content series
US11899895B2 (en) 2020-06-21 2024-02-13 Apple Inc. User interfaces for setting up an electronic device
US11720229B2 (en) 2020-12-07 2023-08-08 Apple Inc. User interfaces for browsing and presenting content
US11934640B2 (en) 2021-01-29 2024-03-19 Apple Inc. User interfaces for record labels
CN114513500A (en) * 2022-01-19 2022-05-17 统信软件技术有限公司 Method, device and system for batch installation of browser plug-ins and computing device
CN115587342B (en) * 2022-11-28 2023-11-07 金现代信息产业股份有限公司 Software product authorization license protection system and method

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006101758A2 (en) * 2005-03-22 2006-09-28 Microsoft Corporation Application identity and rating service
WO2007041699A1 (en) * 2005-10-04 2007-04-12 Computer Associates Think, Inc. Preventing the installation of rootkits using a master computer
WO2008014800A1 (en) * 2006-07-31 2008-02-07 Telecom Italia S.P.A. A system for implementing security on telecommunications terminals

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5974454A (en) * 1997-11-14 1999-10-26 Microsoft Corporation Method and system for installing and updating program module components
US20030217008A1 (en) * 2002-02-20 2003-11-20 Habegger Millard J. Electronic document tracking
US7657885B2 (en) * 2004-04-16 2010-02-02 Gateway, Inc. System and method for downloading software and services
WO2005106678A1 (en) * 2004-04-30 2005-11-10 Research In Motion Limited System and method of operation control on an electronic device
US8645948B2 (en) * 2006-12-12 2014-02-04 Qualcomm Incorporated Apparatus and methods for client-driven server-side installation

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006101758A2 (en) * 2005-03-22 2006-09-28 Microsoft Corporation Application identity and rating service
WO2007041699A1 (en) * 2005-10-04 2007-04-12 Computer Associates Think, Inc. Preventing the installation of rootkits using a master computer
WO2008014800A1 (en) * 2006-07-31 2008-02-07 Telecom Italia S.P.A. A system for implementing security on telecommunications terminals

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016024876A1 (en) * 2014-08-11 2016-02-18 Oracle International Corporation Method and system for managing fine-grained policies for requiring user approval of device management operations
CN107078997A (en) * 2014-08-11 2017-08-18 甲骨文国际公司 Manage the method and system of the fine-grained policy for needing the management operation of user's approval device
WO2019095387A1 (en) * 2017-11-16 2019-05-23 青岛海信电器股份有限公司 Remotely-assisted automatic upgrading method and device

Also Published As

Publication number Publication date
EP2297666A1 (en) 2011-03-23
US20090288079A1 (en) 2009-11-19

Similar Documents

Publication Publication Date Title
US20090288079A1 (en) Automatic installation of a software product on a device
EP3724755B1 (en) Artifact lifecycle management on a cloud computing system
CN104584480B (en) Cloud assisted method for application safety verification and service
US9398082B2 (en) Software appliance management using broadcast technique
US7188181B1 (en) Universal session sharing
US8261258B1 (en) Common installer client
US9135433B2 (en) Identifying reputation and trust information for software
US8321949B1 (en) Managing software run in a computing system
US8914905B2 (en) Access control system, communication terminal, server, and access control method
US9229844B2 (en) System and method for monitoring web service
JP2005317022A (en) Account creation via mobile device
US20110154441A1 (en) Online development environment server, online marketplace server, online development environment constituting method, and developed application providing method
CN103917977A (en) Detect and prevent illegal consumption of content on the internet
US8127033B1 (en) Method and apparatus for accessing local computer system resources from a browser
CN111737687A (en) Access control method, system, electronic device and medium for webpage application system
US8826005B1 (en) Security for software in a computing system
CN111406257B (en) System and method for authentication
US20150113628A1 (en) Infrastructure support optimization
Jensen Beginning Azure IoT Edge computing: extending the cloud to the intelligent edge
Jensen Beginning Azure IoT Edge Computing
KR102632546B1 (en) Method and system for transferring software artifacts from a source network to a target network
CN115589337B (en) Network connection method and system
KR20180078764A (en) Method for providing validation procedure for automated test of application runnable on vehicle terminal, thereby supporting registeration of said application to market portal server, and developer portal server and application management server using the same
Halvorsen Authentication in the mesh with WebAssembly
KR20020005062A (en) Method of useing software lease service offer device and it for internet

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09747477

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

WWE Wipo information: entry into national phase

Ref document number: 2009747477

Country of ref document: EP