US20080313630A1 - Method And System For Distributing A Software Application To A Specified Recipient - Google Patents
Method And System For Distributing A Software Application To A Specified Recipient Download PDFInfo
- Publication number
- US20080313630A1 US20080313630A1 US12/197,485 US19748508A US2008313630A1 US 20080313630 A1 US20080313630 A1 US 20080313630A1 US 19748508 A US19748508 A US 19748508A US 2008313630 A1 US2008313630 A1 US 2008313630A1
- Authority
- US
- United States
- Prior art keywords
- application
- message
- recipient
- install image
- automatically
- 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.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
Definitions
- the present invention relates to networked communications, and more particularly to, a method and system for using a computer system to distribute a software application to a specified recipient.
- Software applications for computer systems are widely available in retail stores, mail-order catalogs, and via the Internet, for example.
- a user who purchases a software application package either installs the application directly onto his or her computer system via removable media, e.g., compact disk (CD) or DVD, or downloads the application via a network communication, such as the Internet.
- the user can provide the removable media, if such is available, to the coworker so that the coworker can install the application on the coworker's computer system.
- the coworker might be able to download the application from the user's computer system, or copy the application from a network hard drive.
- the user might be able to transmit the application in an electronic message to the coworker via email.
- Each of the distribution mechanisms described above are functional, but cumbersome for the user.
- the user must perform numerous tasks to share the application or module.
- the user must invoke the email program, browse through the hard drive to retrieve the installation file(s), and attach the installation file(s) to the email message.
- the user to distribute the application by FTP, the user must place the installation image or files on an available FTP server, notify the intended recipients that the application is on the server, and provide security and location information to the recipients.
- the present invention provides a computer-implemented method and system for allowing a user to distribute an application in an electronic device to at least one specified recipient.
- the method according to the present invention includes invoking a share function by the user, and in response to the user invoking the share function, transmitting automatically an install image associated with the application to the at least one specified recipient.
- the install image is an installable copy of the application.
- the install image automatically installs and persistently stores the application onto a device associated with the at least one specified recipient.
- the software application is provided with an integrated share button that allows the user of the application to automatically distribute the application to a specified recipient.
- a share function is automatically invoked.
- the share function sends a self-installing copy of the application, referred to as an install image, from the user's computer to the specified recipient.
- the share function asks a computer system to send the install image to the specified recipient. Once the specified recipient receives the install image, the application is installed automatically and persistently stored onto the specified recipient's computer system.
- FIG. 2 is a block diagram of a system in which a first preferred embodiment of the present invention may be implemented.
- FIG. 3 is a flowchart illustrating a method by which an album viewing application is distributed according to the preferred embodiment of the present invention.
- FIG. 5 is a block diagram of a system in which a second preferred embodiment of the present invention may be implemented.
- FIG. 6 is a high level flowchart illustrating an application distribution process according to the second preferred embodiment of the present invention.
- FIGS. 7A-7C are flowcharts illustrating the distribution process in more detail according to the second preferred embodiment of the present invention.
- FIGS. 8A and 8B are exemplary templates according to the preferred embodiment of the present invention.
- FIG. 9 is a flowchart for generating and transmitting a notify message according to a preferred embodiment of the present invention.
- the present invention relates to networked communications, and more particularly, to a method and system for distributing an application in a computer system to a specified recipient.
- the following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements.
- Various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art.
- the preferred embodiment is described with respect to a photo-album viewing application, the principles described can also be applied to any software application.
- the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.
- a user of an application or application module is allowed to distribute the application or module and associated data to a specified recipient via a share function.
- the share function is automatically invoked when the user selects a share button integrated into the application or module.
- an “application” comprises one or more modules.
- the term “application” will be used to represent both, an application and any module(s) in the application.
- concepts that are described with respect to an application are also applicable to a module in the application.
- FIG. 1 a window displayed by a photo-album viewing application is illustrated.
- the application displays images 20 in an album viewer window 10 .
- the window 10 includes an integrated Share button 50 , which, when selected by the user, invokes the share function.
- the Share button 50 can also be in a menu item 30 , such as the File pull-down menu 30 a for example.
- the share button 50 can also be in a context menu or in a Start menu such that the share function can be invoked without opening the application.
- FIG. 2 is a block diagram of a system 200 utilizing the share function according to a first preferred embodiment of the present invention.
- the system 200 includes a user computer system 210 utilized by a user 211 , a recipient computer system 230 , and a management server 240 .
- the user 210 and recipient 230 systems are personal computers (PCs), workstations or the like.
- the management server 240 tracks and stores distribution data between the user 210 and recipient 230 systems.
- the user system 210 , recipient system 230 , and management server 240 are coupled to one another via a network 220 , such as the Internet.
- the user 210 and recipient 230 systems each include at least one message delivery mechanism, such as an email client 218 , 218 ′.
- the user system 210 includes an application 212 , such as the album viewing application in FIG. 1 , that includes a share function 214 and an install image 216 , which is a self contained and compressed installable image of the application 212 , as is well known to those skilled in the art.
- the install image 216 can be self-executing, i.e., auto-installing, such that no other tool is needed to install the associated application 512 . This type of install image 216 is also well known in the art.
- the share function 214 can also be a separate module outside of the application 212 and accessible by a plurality of applications (not shown).
- the share function 214 allows the user 211 to distribute the application 212 and any associated data such as images 20 to the recipient system 230 merely by selecting the integrated Share button 50 associated with the application 212 .
- FIG. 3 is a flowchart illustrating a method by which the album viewing application is distributed according to the preferred embodiment of the present invention.
- the process begins when the application 212 is displayed to the user 211 with the integrated share button 50 , or alternatively, when the share button 50 is displayed in the menu item 30 , the context menu or start menu (step 300 ).
- the user 211 selects the share button 50 to invoke the share function 214 in the application 212 (step 301 ).
- the share function 214 automatically retrieves or creates the install image 216 associated with the application 212 (step 302 ).
- the share function 214 retrieves the install image 216 .
- the share function 214 creates the install image 216 by collecting from the user system 210 the files and data needed to install the application 212 .
- the share function 214 optionally allows the user 211 to add images 20 and album data to the install image 216 associated with the application 212 (step 303 ).
- the share function 214 invokes a message delivery mechanism chosen by the user 211 (step 304 ) and appends the install image 216 thereto.
- the share function 214 invokes the system's default email client 218 and appends the install image 216 to the email message 222 as an attachment (step 306 ).
- the share function 214 optionally inserts a script and an install button into the email message 222 (step 308 ) so that when the install button is selected by the recipient 230 , the attached install image 216 is automatically launched.
- the user is allowed to designate an address for at least one recipient 230 .
- the nature of the address depends on the delivery mechanism chosen by the user 211 . So, for instance, if the delivery mechanism is the email client 218 , the address is an email address. Whereas, if the delivery mechanism is an ftp client (not shown), the address is a URL.
- the message 222 is transmitted to the designated recipient(s) 230 (step 312 ).
- the share function 214 optionally transmits an event message 224 to the management server 240 so that the distribution event can be recorded and tracked by, for example, the licensor or developer of the application 212 .
- the event message 224 preferably includes distribution data relating to the user 211 , the recipient(s) 230 , the application 212 and other relevant information.
- FIG. 3 illustrates a process flow according to a first preferred embodiment of the present invention
- the order in which the steps are presented is not essential to the practice of the present invention.
- the retrieval of the install image 216 can be performed after the delivery mechanism has been invoked (step 304 ), or the user 211 can provide addresses (step 310 ) earlier in the process, e.g., before the insertion of the script and install button (step 308 ).
- the method of the present invention should not be limited by the sequence of steps illustrated in FIG. 3 .
- FIG. 4 is a flowchart illustrating a method for installing a software application in a recipient according to the first preferred embodiment of the present invention.
- the recipient system 230 can select the install button in the email message 222 (step 400 ), which runs the script that launches the install image 216 ′ (step 402 ).
- the recipient 231 can launch the install image 216 ′ automatically by selecting, e.g., double-clicking, the install image 216 ′.
- the install image 216 ′ automatically installs the application 212 ′ and any associated data, e.g., images 20 , on the recipient system 230 (step 404 ), and optionally launches the application 212 ′ (step 406 ).
- the application 212 ′ displays the album window 10 and images 20 shown in FIG. 1 .
- the install image 216 ′ transmits an “installed” message 232 to the management server 240 so that the distribution event can be recorded and tracked (step 410 ).
- the installed message 232 preferably includes distribution data relating to the user 211 , the recipient(s) 231 , the application 212 ′ and other relevant information.
- the user system 210 transmits the install image 216 associated with the application 212 directly to the recipient system 230 .
- the user system 210 submits a request to distribute the application 212 to the management server 240 , where the install image 216 is stored and distributed to the recipient system 230 by the management server 240 .
- FIG. 5 is a block diagram of the system 500 , where similar components are identified by similar reference numerals.
- other network enabled devices such as a mobile phone 502 and camera 504 , are coupled to the network 220 .
- Each component 510 , 530 , 502 , 504
- the management server 540 is capable of accepting communications via a plurality of protocols, e.g., email, SMS, and MMS, to name a few.
- a plurality of install images 216 corresponding to a plurality of applications are stored persistently in storage 542 at the management server 540 .
- the plurality of install images 216 include various versions of an application 512 that may be specific to various device types and/or operating environments.
- the storage 542 includes install images 216 associated with a version of an application 512 that is run on Windows XPTM PCs, a Linux desktop version, a version for Java enabled mobile devices, and various proprietary operating environments. Versioning by language can also be supported, as well as versions of an application 512 based on other criteria, such as custom versions for particular corporate customers and versions based on recipient privileges.
- the user system 510 includes the application 512 to be distributed.
- the application 512 may also reside in any one of the other devices, such as the mobile phone 502 or camera 504 , and distributed therefrom.
- the application 512 comprises the share function 514 which is invoked when the user 211 selects the share button 50 associated with the application 512 .
- the install image 216 associated with the application 512 is stored in persistent storage 542 at the management server 540 .
- FIG. 6 is a high level flowchart illustrating an application distribution process according to the second preferred embodiment of the present invention.
- the share function 514 When the share function 514 is invoked by the user 211 , the share function 514 automatically transmits a request to the management server 540 to distribute the application 512 and any associated data to a specified recipient (step 600 ).
- the management server 540 determines which version of the application 512 is suitable for the recipient device, e.g., 530 (step 602 ).
- the management server 540 sends the install image 216 associated with that version of the application 512 to the recipient device (step 604 ), e.g., the recipient system 530 , the mobile phone 502 , and/or the camera 504 .
- the recipient device receives the install image 216
- the recipient 231 launches the install image 216 which automatically installs the associated application 512 onto the recipient system 530 (step 606 ).
- the management server 540 records and tracks the distribution event (step 608 ).
- FIGS. 7A , 7 B and 7 C describe in more detail the distribution process according to the second preferred embodiment of the present invention.
- FIG. 7A illustrates the method by which the sending device, e.g., user system 510 , transmits the request to distribute the application 512 (i.e., step 600 in FIG. 6 ).
- FIGS. 7B and 7C illustrates the method by which the management server 540 determines the appropriate version of the application 512 to distribute (i.e., step 602 ), and the method by which the management server 540 sends the install image to the recipient device 530 (i.e., step 604 ).
- FIG. 7A illustrates the method by which the sending device, e.g., user system 510 , transmits the request to distribute the application 512 (i.e., step 600 in FIG. 6 ).
- FIGS. 7B and 7C illustrates the method by which the management server 540 determines the appropriate version of the application 512 to distribute (i.e., step 602 ),
- FIG. 7C further illustrates the method by which the recipient device 530 installs the application 512 via the install image 216 (i.e., step 606 ).
- the sending and receiving devices are not limited to the PCs ( 510 and 530 ) and can be other network enabled devices such as the mobile phone 502 or camera 504 .
- the distribution process begins when the application 512 , e.g., the photo-album viewing application, is displayed to the user 211 with the integrated share button 50 , or alternatively, when the share button 50 is displayed in the menu item 30 , the context menu or start menu (step 700 ).
- the user 211 selects the share button 50 to invoke the share function 514 in the application 512 (step 702 ).
- the share function 514 automatically creates a “distribute request” 522 that includes an identifier 524 associated with the application 512 to be distributed (step 704 ).
- the user 211 is then allowed to provide at least one address for the recipient(s) 530 (step 706 ).
- the address can depend on the recipient, e.g., 231 , or the recipient device, e.g., 530 . Therefore, the address can be an email address, SMS/MMS addresses, a URL or any other type of address including a postal address.
- the data not already on the server 550 e.g., images and album data
- the management server 540 e.g., images and album data
- an identifier associated with the uploaded data is appended to the distribute request 522 (step 709 ).
- the distribute request 522 it preferably includes the application identifier 524 , the at least one address for the recipient(s) 530 , an identifier associated with the user 211 , and other data specific to the business purposes of the service provider.
- the share function 514 sends the request 522 to the management server 540 (step 710 ) preferably using a Simple Object Access Protocol (SOAP) call.
- SOAP Simple Object Access Protocol
- the share function 514 can transmit the request 522 using other transport mechanisms because the management server 540 is capable of accepting requests via Email, SMS, MMS, etc. Accordingly, those skilled in the art appreciate that any number of other suitable transport mechanisms may be utilized.
- FIG. 7B is an exemplary distribute template 800 a according to the preferred embodiment of the present invention.
- the distribute template 800 a includes information that is common to each of the recipients specified in the request 522 . For example, it includes the message type, an identifier associated with the request 522 , the application identifier 524 and other relevant data as is shown in FIG. 8A .
- the management server 540 gets a first recipient identified in the request 522 (step 715 ), and selects which delivery mechanism of a plurality of mechanisms 552 to call (step 716 ) based on the address of the recipient because each delivery mechanism 552 is associated with a communication mode, e.g., email, SMS/MMS, ftp. Once identified, the management server 540 calls the selected delivery mechanism 552 and passes the template 800 a to the delivery mechanism 552 (step 717 ).
- a communication mode e.g., email, SMS/MMS, ftp.
- the selected delivery mechanism 552 utilizes the template 800 a to generate and transmit a notify message 544 to the recipient (step 718 ).
- the notify message 544 includes the application identifier 524 and a setup mechanism 546 .
- the setup mechanism 546 determines, among other things, the device type and operating system if the application 512 is not already present on the device or if it is out-of-date, and whether any data specified in the request 522 is present on the device 530 .
- FIG. 9 is a flowchart for generating and transmitting the notify message 544 using an email delivery mechanism according to a preferred embodiment of the present invention.
- the email delivery mechanism gets the email address for the recipient from the management server 540 and constructs the notify message 544 that includes the application identifier 524 from the distribute template 552 and a script to launch the setup mechanism 546 (step 902 ).
- the setup mechanism 546 is attached to the notify message 544 (step 904 ), and the notify message 554 is sent to the email address (step 906 ).
- the management server 540 gets a next recipient (step 721 ) and repeats steps 716 - 720 . Otherwise, the management server 540 waits to receive another message (step 722 ).
- the distribution process continues in FIG. 7C at Circle B, when the recipient device 530 receives the notify message 544 from the management server 540 (step 723 ).
- the recipient 231 preferably selects the install button in the notify message 544 (step 724 ), which automatically invokes the script that launches the setup mechanism 546 (step 725 ).
- the setup mechanism 546 determines a number of things, including whether the application 512 is already installed on the device and if so, whether it is up-to-date. If the application 512 is not on the device or if the application 512 is out-of-date, the setup mechanism 512 determines the device type (e.g., mobile phone 502 or PC 530 ), the operating system environment (e.g., Windows XP or Linux) (step 726 ). The setup mechanism 546 then creates and sends a “get application” (GetApp) request 532 to the management server 540 (step 727 ).
- the GetApp request 532 preferably includes the application identifier 524 , and data and versioning information specific to the operating system environment.
- FIG. 8B is an exemplary GetApp template 800 b according to the preferred embodiment of the present invention.
- the GetApp template 800 b includes the message type, an identifier associated with the request 522 , the appropriate application's 512 ′ identifier 524 , an identifier associated with the corresponding distribute request 522 , information identifying the operating environment constraints, and other relevant data as is shown in FIG. 8B .
- the management server 540 selects the appropriate delivery mechanism 552 to call (step 716 ) based on the address of the recipient device 530 .
- the management server 540 then calls the selected delivery mechanism 552 and passes the template 800 b to the delivery mechanism 552 (step 717 ).
- the selected delivery mechanism 552 utilizes the template 800 b to generate and transmit an install message 554 to the recipient (step 718 ), where the install message 554 includes the install image 216 associated with the appropriate version of the application 512 ′ and/or associated data, e.g., images or album data.
- the message 554 can also include a reference to data stored in storage 550 at the management server 540 . Such data is preferably retrieved, as needed, when the application 512 ′ is running on the recipient device 530 .
- the distribution process continues in FIG. 7C at Circle D, when the recipient device 530 receives the install message 554 from the management server 540 (step 730 ).
- the setup mechanism 546 launches the install image 216 (step 731 ), which automatically installs the application 512 ′ and associated data, if any (step 732 ).
- the install image 216 launches the application 512 ′ (step 733 ) and the application 512 ′ displays a window 10 ( FIG. 1 ) with the images 20 (step 734 ).
- the setup mechanism 546 transmits an “installed” message to the management server 540 ( 735 ).
- the installed message is similar to that 232 ( FIG. 2 ) in the first preferred embodiment, and preferably includes distribution data relating to the user 211 , the recipient(s) 231 , the application 512 ′ and other relevant information.
- the distribution process concludes in FIG. 7B at Circle E, when the management server 540 receives a message from the recipient device 530 (step 712 ) and determines that the message received is an installed message (step 736 ).
- the management server 540 records and stores the distribution data in storage 550 (step 737 ).
- each step of the distribution process can be tracked by the management server 540 .
- the management server 540 can log each distribute request 522 , noting items such as the sending device 510 , specified recipient(s) 530 , and the application 512 and/or data.
- the management server 540 can also log GetApp requests 532 and installed messages 232 from recipients 530 . Tracking such information is useful for a number of reasons. For example, the information can be used to track licensing data, and to analyze patterns of distribution that occur among users of the various applications distributed.
- an integrated share button in an application or application module allows a user to distribute the application or module to specified recipients via a share function.
- the share function allows the user to easily share the application or module and associated data with others without requiring detailed knowledge of the delivery mechanism.
- the distribution process can be monitored and controlled by an authoritative entity, such as the licensor, or corporate IT department.
Abstract
The present invention is related to a computer-implemented method and system for allowing a user to distribute an application in an electronic device to at least one specified recipient. The method according to the present invention includes invoking a share function in the electronic device by the user, and in response to the user invoking the share function, transmitting automatically an install image associated with the application to the at least one specified recipient. According to the present invention, the install image is an installable copy of the application.
Description
- This application is a Continuation application of co-pending U.S. patent application Ser. No. 10/818,598, filed Apr. 6, 2004, titled “Method and System for Distributing A Software Application to a Specified Recipient,” (now U.S. Pat. No. ______, issued ______), which is commonly owned with this application and is herein incorporated by reference.
- The present invention relates to networked communications, and more particularly to, a method and system for using a computer system to distribute a software application to a specified recipient.
- Software applications for computer systems are widely available in retail stores, mail-order catalogs, and via the Internet, for example. Typically, a user who purchases a software application package either installs the application directly onto his or her computer system via removable media, e.g., compact disk (CD) or DVD, or downloads the application via a network communication, such as the Internet. If the user wishes to share the application with another user, e.g., a coworker, the user can provide the removable media, if such is available, to the coworker so that the coworker can install the application on the coworker's computer system. If the removable media is not available, the coworker might be able to download the application from the user's computer system, or copy the application from a network hard drive. Alternatively, the user might be able to transmit the application in an electronic message to the coworker via email.
- Each of the distribution mechanisms described above are functional, but cumbersome for the user. In every instance, the user must perform numerous tasks to share the application or module. For example, to distribute the application by email, the user must invoke the email program, browse through the hard drive to retrieve the installation file(s), and attach the installation file(s) to the email message. In another example, to distribute the application by FTP, the user must place the installation image or files on an available FTP server, notify the intended recipients that the application is on the server, and provide security and location information to the recipients.
- Moreover, even if the user is able and willing to perform the tasks needed to distribute the application, there still remains the problem of determining which file(s) must be provided in order to distribute the application to the recipient. For example, often times, an installation image for the application is not available and the necessary application files are scattered throughout the user's computer system. Identifying and gathering the required application file(s) is not necessarily an intuitive task.
- Accordingly, a need exists for an improved system and method that allows a user to use a computer system to distribute a software application or module to others. Furthermore, there exists a need for a system and method for tracking such distribution of software applications. The present invention addresses such a need.
- The present invention provides a computer-implemented method and system for allowing a user to distribute an application in an electronic device to at least one specified recipient. The method according to the present invention includes invoking a share function by the user, and in response to the user invoking the share function, transmitting automatically an install image associated with the application to the at least one specified recipient. According to the present invention, the install image is an installable copy of the application. When it is received by the at least one specified recipient, the install image automatically installs and persistently stores the application onto a device associated with the at least one specified recipient.
- Through aspects of the present invention, the software application is provided with an integrated share button that allows the user of the application to automatically distribute the application to a specified recipient. When the share button is selected by the user, a share function is automatically invoked. In one aspect of the invention, the share function sends a self-installing copy of the application, referred to as an install image, from the user's computer to the specified recipient. In another aspect of the invention, the share function asks a computer system to send the install image to the specified recipient. Once the specified recipient receives the install image, the application is installed automatically and persistently stored onto the specified recipient's computer system.
-
FIG. 1 depicts an exemplary window displayed by a photo-album viewing application. -
FIG. 2 is a block diagram of a system in which a first preferred embodiment of the present invention may be implemented. -
FIG. 3 is a flowchart illustrating a method by which an album viewing application is distributed according to the preferred embodiment of the present invention. -
FIG. 4 is a flowchart illustrating a method for installing a software application in a recipient according to the first preferred embodiment of the present invention. -
FIG. 5 is a block diagram of a system in which a second preferred embodiment of the present invention may be implemented. -
FIG. 6 is a high level flowchart illustrating an application distribution process according to the second preferred embodiment of the present invention. -
FIGS. 7A-7C are flowcharts illustrating the distribution process in more detail according to the second preferred embodiment of the present invention. -
FIGS. 8A and 8B are exemplary templates according to the preferred embodiment of the present invention. -
FIG. 9 is a flowchart for generating and transmitting a notify message according to a preferred embodiment of the present invention. - The present invention relates to networked communications, and more particularly, to a method and system for distributing an application in a computer system to a specified recipient. The following description is presented to enable one of ordinary skill in the art to make and use the invention and is provided in the context of a patent application and its requirements. Various modifications to the preferred embodiment and the generic principles and features described herein will be readily apparent to those skilled in the art. For example, while the preferred embodiment is described with respect to a photo-album viewing application, the principles described can also be applied to any software application. Thus, the present invention is not intended to be limited to the embodiment shown but is to be accorded the widest scope consistent with the principles and features described herein.
- According to a preferred embodiment of the present invention, a user of an application or application module is allowed to distribute the application or module and associated data to a specified recipient via a share function. The share function is automatically invoked when the user selects a share button integrated into the application or module. Typically, an “application” comprises one or more modules. For purposes of the description of the present invention, however, the term “application” will be used to represent both, an application and any module(s) in the application. Thus, concepts that are described with respect to an application are also applicable to a module in the application.
- In
FIG. 1 a window displayed by a photo-album viewing application is illustrated. Here, the application displaysimages 20 in an album viewer window 10. The window 10 includes an integratedShare button 50, which, when selected by the user, invokes the share function. Note that theShare button 50 can also be in amenu item 30, such as the File pull-down menu 30 a for example. Theshare button 50 can also be in a context menu or in a Start menu such that the share function can be invoked without opening the application. -
FIG. 2 is a block diagram of asystem 200 utilizing the share function according to a first preferred embodiment of the present invention. Thesystem 200 includes a user computer system 210 utilized by auser 211, arecipient computer system 230, and amanagement server 240. Preferably, the user 210 andrecipient 230 systems are personal computers (PCs), workstations or the like. Themanagement server 240 tracks and stores distribution data between the user 210 andrecipient 230 systems. The user system 210,recipient system 230, andmanagement server 240 are coupled to one another via anetwork 220, such as the Internet. The user 210 andrecipient 230 systems each include at least one message delivery mechanism, such as anemail client - According to the first preferred embodiment of the present invention, the user system 210 includes an
application 212, such as the album viewing application inFIG. 1 , that includes ashare function 214 and an installimage 216, which is a self contained and compressed installable image of theapplication 212, as is well known to those skilled in the art. In a preferred embodiment, the installimage 216 can be self-executing, i.e., auto-installing, such that no other tool is needed to install the associatedapplication 512. This type of installimage 216 is also well known in the art. - Although shown as being in the
application 212, theshare function 214 can also be a separate module outside of theapplication 212 and accessible by a plurality of applications (not shown). Theshare function 214 allows theuser 211 to distribute theapplication 212 and any associated data such asimages 20 to therecipient system 230 merely by selecting theintegrated Share button 50 associated with theapplication 212. -
FIG. 3 is a flowchart illustrating a method by which the album viewing application is distributed according to the preferred embodiment of the present invention. Referring toFIG. 2 andFIG. 3 , the process begins when theapplication 212 is displayed to theuser 211 with theintegrated share button 50, or alternatively, when theshare button 50 is displayed in themenu item 30, the context menu or start menu (step 300). Theuser 211 selects theshare button 50 to invoke theshare function 214 in the application 212 (step 301). When invoked by theuser 211, theshare function 214 automatically retrieves or creates the installimage 216 associated with the application 212 (step 302). In one embodiment, theshare function 214 retrieves the installimage 216. In another embodiment, theshare function 214 creates the installimage 216 by collecting from the user system 210 the files and data needed to install theapplication 212. - According to one aspect of the present invention, the
share function 214 optionally allows theuser 211 to addimages 20 and album data to the installimage 216 associated with the application 212 (step 303). Once the installimage 216 is finalized, theshare function 214 invokes a message delivery mechanism chosen by the user 211 (step 304) and appends the installimage 216 thereto. Preferably, theshare function 214 invokes the system'sdefault email client 218 and appends the installimage 216 to theemail message 222 as an attachment (step 306). In a further aspect of the present invention, theshare function 214 optionally inserts a script and an install button into the email message 222 (step 308) so that when the install button is selected by therecipient 230, the attached installimage 216 is automatically launched. - In
step 310, the user is allowed to designate an address for at least onerecipient 230. The nature of the address depends on the delivery mechanism chosen by theuser 211. So, for instance, if the delivery mechanism is theemail client 218, the address is an email address. Whereas, if the delivery mechanism is an ftp client (not shown), the address is a URL. - After the
user 211 has provided at least one address for one or more recipients 230 (step 310), themessage 222 is transmitted to the designated recipient(s) 230 (step 312). Instep 314, theshare function 214 optionally transmits anevent message 224 to themanagement server 240 so that the distribution event can be recorded and tracked by, for example, the licensor or developer of theapplication 212. Theevent message 224 preferably includes distribution data relating to theuser 211, the recipient(s) 230, theapplication 212 and other relevant information. - Although
FIG. 3 illustrates a process flow according to a first preferred embodiment of the present invention, those skilled in the art will readily appreciate that the order in which the steps are presented is not essential to the practice of the present invention. For instance, the retrieval of the install image 216 (step 302) can be performed after the delivery mechanism has been invoked (step 304), or theuser 211 can provide addresses (step 310) earlier in the process, e.g., before the insertion of the script and install button (step 308). Accordingly, the method of the present invention should not be limited by the sequence of steps illustrated inFIG. 3 . -
FIG. 4 is a flowchart illustrating a method for installing a software application in a recipient according to the first preferred embodiment of the present invention. Referring toFIG. 2 andFIG. 4 , once therecipient system 230 receives theemail message 222 including the installimage 216, therecipient 231 can select the install button in the email message 222 (step 400), which runs the script that launches the installimage 216′ (step 402). Alternatively, therecipient 231 can launch the installimage 216′ automatically by selecting, e.g., double-clicking, the installimage 216′. The installimage 216′ automatically installs theapplication 212′ and any associated data, e.g.,images 20, on the recipient system 230 (step 404), and optionally launches theapplication 212′ (step 406). Instep 408, theapplication 212′ displays the album window 10 andimages 20 shown inFIG. 1 . - Once the
application 212′ is installed onto therecipient system 230, the installimage 216′ transmits an “installed”message 232 to themanagement server 240 so that the distribution event can be recorded and tracked (step 410). The installedmessage 232 preferably includes distribution data relating to theuser 211, the recipient(s) 231, theapplication 212′ and other relevant information. - In the first preferred embodiment, illustrated in
FIGS. 2 , 3 and 4, and described above, the user system 210 transmits the installimage 216 associated with theapplication 212 directly to therecipient system 230. In a second preferred embodiment, the user system 210 submits a request to distribute theapplication 212 to themanagement server 240, where the installimage 216 is stored and distributed to therecipient system 230 by themanagement server 240. - To describe in more detail the second preferred embodiment of the present invention, please refer to
FIG. 5 , which is a block diagram of thesystem 500, where similar components are identified by similar reference numerals. Here, in addition to user and recipient systems (510, 530), other network enabled devices, such as amobile phone 502 andcamera 504, are coupled to thenetwork 220. Each component (510, 530, 502, 504) is capable of executingapplications 512 and utilizes different communication protocols in order to receive and transmit data. In turn, themanagement server 540 is capable of accepting communications via a plurality of protocols, e.g., email, SMS, and MMS, to name a few. - According to the second preferred embodiment, a plurality of install
images 216 corresponding to a plurality of applications are stored persistently instorage 542 at themanagement server 540. The plurality of installimages 216 include various versions of anapplication 512 that may be specific to various device types and/or operating environments. For example, thestorage 542 includes installimages 216 associated with a version of anapplication 512 that is run on Windows XP™ PCs, a Linux desktop version, a version for Java enabled mobile devices, and various proprietary operating environments. Versioning by language can also be supported, as well as versions of anapplication 512 based on other criteria, such as custom versions for particular corporate customers and versions based on recipient privileges. - The user system 510 includes the
application 512 to be distributed. Note that theapplication 512 may also reside in any one of the other devices, such as themobile phone 502 orcamera 504, and distributed therefrom. Like the first preferred embodiment, theapplication 512 comprises theshare function 514 which is invoked when theuser 211 selects theshare button 50 associated with theapplication 512. Unlike the first preferred embodiment, however, the installimage 216 associated with theapplication 512 is stored inpersistent storage 542 at themanagement server 540. -
FIG. 6 is a high level flowchart illustrating an application distribution process according to the second preferred embodiment of the present invention. When theshare function 514 is invoked by theuser 211, theshare function 514 automatically transmits a request to themanagement server 540 to distribute theapplication 512 and any associated data to a specified recipient (step 600). In response, themanagement server 540 determines which version of theapplication 512 is suitable for the recipient device, e.g., 530 (step 602). - Once the appropriate version of the application is determined, the
management server 540 sends the installimage 216 associated with that version of theapplication 512 to the recipient device (step 604), e.g., therecipient system 530, themobile phone 502, and/or thecamera 504. Once the recipient device receives the installimage 216, therecipient 231 launches the installimage 216 which automatically installs the associatedapplication 512 onto the recipient system 530 (step 606). Lastly, themanagement server 540 records and tracks the distribution event (step 608). -
FIGS. 7A , 7B and 7C describe in more detail the distribution process according to the second preferred embodiment of the present invention.FIG. 7A illustrates the method by which the sending device, e.g., user system 510, transmits the request to distribute the application 512 (i.e.,step 600 inFIG. 6 ).FIGS. 7B and 7C illustrates the method by which themanagement server 540 determines the appropriate version of theapplication 512 to distribute (i.e., step 602), and the method by which themanagement server 540 sends the install image to the recipient device 530 (i.e., step 604).FIG. 7C further illustrates the method by which therecipient device 530 installs theapplication 512 via the install image 216 (i.e., step 606). Note that the sending and receiving devices are not limited to the PCs (510 and 530) and can be other network enabled devices such as themobile phone 502 orcamera 504. - Beginning with
FIG. 7A and referring toFIG. 5 , the distribution process begins when theapplication 512, e.g., the photo-album viewing application, is displayed to theuser 211 with theintegrated share button 50, or alternatively, when theshare button 50 is displayed in themenu item 30, the context menu or start menu (step 700). Theuser 211 selects theshare button 50 to invoke theshare function 514 in the application 512 (step 702). When invoked by theuser 211, theshare function 514 automatically creates a “distribute request” 522 that includes anidentifier 524 associated with theapplication 512 to be distributed (step 704). Theuser 211 is then allowed to provide at least one address for the recipient(s) 530 (step 706). The address can depend on the recipient, e.g., 231, or the recipient device, e.g., 530. Therefore, the address can be an email address, SMS/MMS addresses, a URL or any other type of address including a postal address. - If the
user 211 wishes to include other application specific data, such as an album, with the application 512 (step 707), the data not already on theserver 550, e.g., images and album data, is uploaded to the management server 540 (step 708). Then, an identifier associated with the uploaded data (not shown) is appended to the distribute request 522 (step 709). When the distributerequest 522 is completed, it preferably includes theapplication identifier 524, the at least one address for the recipient(s) 530, an identifier associated with theuser 211, and other data specific to the business purposes of the service provider. - Next, the
share function 514 sends therequest 522 to the management server 540 (step 710) preferably using a Simple Object Access Protocol (SOAP) call. Notably, theshare function 514 can transmit therequest 522 using other transport mechanisms because themanagement server 540 is capable of accepting requests via Email, SMS, MMS, etc. Accordingly, those skilled in the art appreciate that any number of other suitable transport mechanisms may be utilized. - The method continues in
FIG. 7B at Circle A, where themanagement server 540 receives the distributerequest 522 from the user system 510 (step 712) and determines that the message received is a distribute request 522 (step 713). Themanagement server 504 builds a distribute template 548 (step 714) from therequest 522.FIG. 8A is an exemplary distributetemplate 800 a according to the preferred embodiment of the present invention. The distributetemplate 800 a includes information that is common to each of the recipients specified in therequest 522. For example, it includes the message type, an identifier associated with therequest 522, theapplication identifier 524 and other relevant data as is shown inFIG. 8A . - Referring again to
FIG. 7B , once the distributetemplate 800 a is built, themanagement server 540 gets a first recipient identified in the request 522 (step 715), and selects which delivery mechanism of a plurality ofmechanisms 552 to call (step 716) based on the address of the recipient because eachdelivery mechanism 552 is associated with a communication mode, e.g., email, SMS/MMS, ftp. Once identified, themanagement server 540 calls the selecteddelivery mechanism 552 and passes thetemplate 800 a to the delivery mechanism 552 (step 717). - The selected
delivery mechanism 552 utilizes thetemplate 800 a to generate and transmit a notifymessage 544 to the recipient (step 718). The notifymessage 544 includes theapplication identifier 524 and asetup mechanism 546. When launched on the recipient'sdevice 530, thesetup mechanism 546 determines, among other things, the device type and operating system if theapplication 512 is not already present on the device or if it is out-of-date, and whether any data specified in therequest 522 is present on thedevice 530. - The process for generating and transmitting the notify message 544 (step 718) varies with the
delivery mechanism 552. For example,FIG. 9 is a flowchart for generating and transmitting the notifymessage 544 using an email delivery mechanism according to a preferred embodiment of the present invention. Instep 900, the email delivery mechanism gets the email address for the recipient from themanagement server 540 and constructs the notifymessage 544 that includes theapplication identifier 524 from the distributetemplate 552 and a script to launch the setup mechanism 546 (step 902). Next, thesetup mechanism 546 is attached to the notify message 544 (step 904), and the notifymessage 554 is sent to the email address (step 906). - Referring again to
FIG. 7B , if the message transmitted is a notify message 544 (step 719) and more recipients are present (step 720), themanagement server 540 gets a next recipient (step 721) and repeats steps 716-720. Otherwise, themanagement server 540 waits to receive another message (step 722). - After the notify
message 544 is sent to the recipient's address, the distribution process continues inFIG. 7C at Circle B, when therecipient device 530 receives the notifymessage 544 from the management server 540 (step 723). Therecipient 231 preferably selects the install button in the notify message 544 (step 724), which automatically invokes the script that launches the setup mechanism 546 (step 725). - As stated above, the
setup mechanism 546 determines a number of things, including whether theapplication 512 is already installed on the device and if so, whether it is up-to-date. If theapplication 512 is not on the device or if theapplication 512 is out-of-date, thesetup mechanism 512 determines the device type (e.g.,mobile phone 502 or PC 530), the operating system environment (e.g., Windows XP or Linux) (step 726). Thesetup mechanism 546 then creates and sends a “get application” (GetApp)request 532 to the management server 540 (step 727). TheGetApp request 532 preferably includes theapplication identifier 524, and data and versioning information specific to the operating system environment. - The distribution process continues to Circle C, which points back to
FIG. 7B , when themanagement server 540 receives a message from the recipient device 530 (step 712) and determines that the message is a GetApp request 532 (step 728). In response to theGetApp request 532, themanagement server 540 builds a GetApp template 548 (step 729) from therequest 532.FIG. 8B is anexemplary GetApp template 800 b according to the preferred embodiment of the present invention. TheGetApp template 800 b includes the message type, an identifier associated with therequest 522, the appropriate application's 512′identifier 524, an identifier associated with the corresponding distributerequest 522, information identifying the operating environment constraints, and other relevant data as is shown inFIG. 8B . - Referring again to
FIG. 7B , once theGetApp template 800 b is built, themanagement server 540 selects theappropriate delivery mechanism 552 to call (step 716) based on the address of therecipient device 530. Themanagement server 540 then calls the selecteddelivery mechanism 552 and passes thetemplate 800 b to the delivery mechanism 552 (step 717). The selecteddelivery mechanism 552 utilizes thetemplate 800 b to generate and transmit an installmessage 554 to the recipient (step 718), where the installmessage 554 includes the installimage 216 associated with the appropriate version of theapplication 512′ and/or associated data, e.g., images or album data. Note that themessage 554 can also include a reference to data stored instorage 550 at themanagement server 540. Such data is preferably retrieved, as needed, when theapplication 512′ is running on therecipient device 530. - After the install
message 554 is sent to the recipient's address, the distribution process continues inFIG. 7C at Circle D, when therecipient device 530 receives the installmessage 554 from the management server 540 (step 730). Thesetup mechanism 546 launches the install image 216 (step 731), which automatically installs theapplication 512′ and associated data, if any (step 732). After theapplication 512′ has been installed persistently on therecipient device 530, the installimage 216 launches theapplication 512′ (step 733) and theapplication 512′ displays a window 10 (FIG. 1 ) with the images 20 (step 734). - At this point, the
setup mechanism 546 transmits an “installed” message to the management server 540 (735). The installed message is similar to that 232 (FIG. 2 ) in the first preferred embodiment, and preferably includes distribution data relating to theuser 211, the recipient(s) 231, theapplication 512′ and other relevant information. - The distribution process concludes in
FIG. 7B at Circle E, when themanagement server 540 receives a message from the recipient device 530 (step 712) and determines that the message received is an installed message (step 736). Themanagement server 540 records and stores the distribution data in storage 550 (step 737). - In a preferred embodiment, each step of the distribution process (
FIG. 6 ) can be tracked by themanagement server 540. For instance, themanagement server 540 can log each distributerequest 522, noting items such as the sending device 510, specified recipient(s) 530, and theapplication 512 and/or data. Themanagement server 540 can also log GetApp requests 532 and installedmessages 232 fromrecipients 530. Tracking such information is useful for a number of reasons. For example, the information can be used to track licensing data, and to analyze patterns of distribution that occur among users of the various applications distributed. - Through aspects of the preferred embodiments of the present invention, an integrated share button in an application or application module allows a user to distribute the application or module to specified recipients via a share function. When invoked, the share function allows the user to easily share the application or module and associated data with others without requiring detailed knowledge of the delivery mechanism. Moreover, the distribution process can be monitored and controlled by an authoritative entity, such as the licensor, or corporate IT department.
- Although the present invention has been described in accordance with the embodiment shown, one of ordinary skill in the art will readily recognize that there could be variations to the embodiments and those variations would be within the spirit and scope of the present invention. Accordingly, many modifications may be made by one of ordinary skill in the art without departing from the spirit and scope of the appended claims.
Claims (26)
1. A computer-implemented method for allowing a user to distribute an application in an electronic device to at least one specified recipient comprising:
invoking a share function included in an application in an electronic device; and
in response to invoking the share function, automatically determining an install image associated with the application, automatically invoking a delivery mechanism to generate a message addressable to at least one specified recipient, and automatically attaching information identifying the determined install image to the message, wherein the install image is an installable copy of the application.
2. The method of claim 1 further comprising:
receiving the install image associated with the application in a device associated with the at least one specified recipient; and
automatically installing and persistently storing the application on the device associated with the at least one specified recipient.
3. The method of claim 1 , wherein the install image is a self-installing copy of the application.
4. The method of claim 1 , wherein invoking a share function includes:
displaying a share button when the application is running, the integrated share button, when selected, for automatically invoking the share function.
5. The method of claim 4 , wherein displaying the share button includes displaying the share button in at least one of a menu item, a context menu, and a program start menu.
6. The method of claim 1 , wherein the install image associated with the application is stored in the electronic device and further comprising automatically attaching the determined install image to the message.
7. The method of claim 1 , comprising:
receiving at least one address for the at least one recipient; and
sending the message to the at least one recipient via the delivery mechanism.
8. The method of claim 1 , comprising:
adding data associated with the application to the install image prior to attaching the install image to the message.
9. The method of claim 1 , comprising:
providing a script and an install button to the message, wherein when the install button is selected by the at least one recipient, the script automatically launches the install image.
10. The method of claim 1 further comprising:
sending distribution data related to the distribution of the application to a computer system for tracking; and
storing the distribution data at the computer system.
11. A computer-implemented method for allowing a user to distribute an application in an electronic device to at least one specified recipient comprising:
receiving a first message sent from an electronic device to a computer system for storing a plurality of install images associated with a plurality of applications, the first message requesting the computer system to distribute an application in the electronic device to at least one recipient, wherein the first message is automatically generated in response to an invoking of a share function included in the application in the electronic device and includes at least one address for the at least one recipient; and
in response to receiving the first message, automatically determining an install image associated with the application, automatically invoking a delivery mechanism to generate a second message addressable to the at least one specified recipient, and automatically attaching the determined install image to the message, wherein the install image is an installable copy of the application.
12. The method of claim 11 , comprising:
determining a version of the application appropriate for the at least one recipient, wherein automatically determining the install image includes retrieving the install image associated with the appropriate version of the application; and
sending the message to the at least one recipient via the delivery mechanism.
13. The method of claim 12 , wherein determining a version of the application further includes:
in response to receiving the first message, sending a third message from the computer system to the at least one recipient, wherein the third message includes a setup mechanism;
querying the at least one recipient by the setup mechanism to determine an operating environment associated with the at least one recipient;
receiving a fourth message from the setup mechanism to the computer system, wherein the fourth message includes information related to the at least one recipient and the associated operating environment; and
selecting, based on the information in the fourth message, the appropriate version of the application.
14. The method of claim 11 further comprising:
tracking distribution information by the computer system; and
storing the distribution information in a database coupled to the computer system.
15. The method of claim 11 , wherein the application is a photo album viewing application and the method further includes:
adding album data to the install image associated with the photo album viewing application prior to sending the message including the attached install image to the at least one specified recipient.
16. The method of claim 11 , wherein the install image associated with the application automatically launches the application after the install image has installed the application onto the device.
17. The method of claim 11 , wherein the application comprises one or more modules, at least one of the modules including an integrated share button, which when selected by the user, invokes the share function.
18. A computer readable medium containing program instructions for allowing a user to distribute an application in an electronic device to at least one specified recipient, the computer readable medium comprising instructions for:
invoking a share function included in an application in an electronic device; and
in response to invoking the share function, automatically determining an install image associated with the application, automatically invoking a delivery mechanism to generate a message addressable to at least one specified recipient, and automatically attaching information identifying the determined install image to the message, wherein the install image is an installable copy of the application.
19. A computer readable medium containing program instructions for allowing a user to distribute an application in an electronic device to at least one specified recipient, the computer readable medium comprising instructions for:
receiving a first message sent from an electronic device to a computer system for storing a plurality of install images associated with a plurality of applications, the first message requesting the computer system to distribute an application in the electronic device to at least one recipient, wherein the first message is automatically generated in response to an invoking of a share function included in the application in the electronic device and includes at least one address for the at least one recipient; and
in response to receiving the first message, automatically determining an install image associated with the application, automatically invoking a delivery mechanism to generate a second message addressable to the at least one specified recipient, and automatically attaching the determined install image to the message, wherein the install image is an installable copy of the application.
20. A system comprising:
a first device comprising:
an application having an integrated share button and a share function coupled to the application, wherein when the share function in the first device is invoked via the integrated share button, an install image associated with the application is automatically determined; and
a delivery mechanism, automatically invoked to generate a message addressable to at least one user-specified device in communication with the first device, configured to automatically attach the determined install image to the message, the install image being an installable copy of the application.
21. A system comprising:
a server in communication with a first device and at least one other device, the server including:
storage for storing a plurality of install images associated with a plurality of applications; and
means for receiving a first message from the first device including a request to distribute an application in first device to the at least one other device, wherein the first message is automatically generated in response to an invoking of a share function included in the application in the first device and includes at least one address for the at least one other device;
wherein in response to receiving the first message, the server is configured to automatically determine an install image associated with the application, automatically invoke a delivery mechanism to generate a second message addressable to the at least one specified recipient, and automatically attaching the determined install image to the message, wherein the install image is an installable copy of the application.
22. The system of claim 21 , wherein the server is configured to determine which version of the application is appropriate for the at least one other device, and based on this determination, retrieves the install image associated with the appropriate version of the application.
23. The system of claim 22 , wherein the server is configured to send the retrieved install image associated with the appropriate version of the application to the at least one other device.
24. The system of claim 21 , wherein the user is allowed to attach data associated with the application to the install image, thereby distributing the application and the associated data.
25. The system of claim 24 , wherein the application is a photo album viewing application and the associated data includes image data.
26. The system of claim 21 , wherein the server collects and records distribution data related to the first device and to the user-specified device.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/197,485 US20080313630A1 (en) | 2004-04-06 | 2008-08-25 | Method And System For Distributing A Software Application To A Specified Recipient |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/818,598 US7434217B2 (en) | 2004-04-06 | 2004-04-06 | Method and system for distributing a software application to a specified recipient |
US12/197,485 US20080313630A1 (en) | 2004-04-06 | 2008-08-25 | Method And System For Distributing A Software Application To A Specified Recipient |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/818,598 Continuation US7434217B2 (en) | 2004-04-06 | 2004-04-06 | Method and system for distributing a software application to a specified recipient |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080313630A1 true US20080313630A1 (en) | 2008-12-18 |
Family
ID=35055845
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/818,598 Expired - Fee Related US7434217B2 (en) | 2004-04-06 | 2004-04-06 | Method and system for distributing a software application to a specified recipient |
US12/197,485 Abandoned US20080313630A1 (en) | 2004-04-06 | 2008-08-25 | Method And System For Distributing A Software Application To A Specified Recipient |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/818,598 Expired - Fee Related US7434217B2 (en) | 2004-04-06 | 2004-04-06 | Method and system for distributing a software application to a specified recipient |
Country Status (2)
Country | Link |
---|---|
US (2) | US7434217B2 (en) |
WO (1) | WO2005101201A2 (en) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110296404A1 (en) * | 2010-06-01 | 2011-12-01 | Dell Products L.P. | Systems and methods for host-level distributed scheduling in a distributed environment |
CN102752457A (en) * | 2012-07-19 | 2012-10-24 | 腾讯科技(深圳)有限公司 | Method and system for installing applications |
CN103458377A (en) * | 2013-09-05 | 2013-12-18 | 珠海市魅族科技有限公司 | Information sending method and terminal of application |
US20140181801A1 (en) * | 2012-12-25 | 2014-06-26 | Kaspersky Lab Zao | System and method for deploying preconfigured software |
Families Citing this family (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4727278B2 (en) * | 2005-04-05 | 2011-07-20 | 株式会社エヌ・ティ・ティ・ドコモ | Application program verification system, application program verification method, and computer program |
US20070143446A1 (en) * | 2005-12-21 | 2007-06-21 | Morris Robert P | Methods, systems, and computer program products for installing an application from one peer to another including application configuration settings and data |
US20080028323A1 (en) * | 2006-07-27 | 2008-01-31 | Joshua Rosen | Method for Initiating and Launching Collaboration Sessions |
US7979514B2 (en) * | 2008-10-27 | 2011-07-12 | At&T Mobility Ii, Llc | Method and system for application provisioning |
CN102257476B (en) * | 2008-12-18 | 2015-12-16 | 爱立信电话股份有限公司 | Delivery applications |
US8667246B2 (en) | 2009-05-13 | 2014-03-04 | Hewlett-Packard Development Company, L.P. | System for virtual disks version control |
US9672022B2 (en) * | 2010-06-23 | 2017-06-06 | Microsoft Technology Licensing, Llc | Applications including multiple experience modules |
KR101847073B1 (en) * | 2011-02-11 | 2018-05-29 | 삼성전자주식회사 | Method and apparatus for managing content in processing device |
US9171314B2 (en) * | 2011-06-16 | 2015-10-27 | Microsoft Technology Licensing, Llc | Cloud based management of an in-store device experience |
CA2860374C (en) | 2011-12-23 | 2020-11-17 | Airstrip Ip Holdings, Llc | Systems and methods for developing multi-platform applications for computing devices |
CN104346190A (en) * | 2013-08-08 | 2015-02-11 | 联想(北京)有限公司 | Information processing method and electronic equipment |
WO2016109977A1 (en) | 2015-01-06 | 2016-07-14 | 华为技术有限公司 | Desktop sharing method and mobile terminal |
US10594839B2 (en) * | 2017-05-09 | 2020-03-17 | Microsoft Technology Licensing, Llc | Virtual assistant skill deployment |
US10552136B2 (en) | 2018-06-29 | 2020-02-04 | Alibaba Group Holding Limited | One click application asset distribution |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010031454A1 (en) * | 1997-05-30 | 2001-10-18 | Alex Mintz | Multi-functional communication and aggregation platform |
US20020073312A1 (en) * | 2000-12-08 | 2002-06-13 | International Business Machines Corporation | Secure electronic software distribution |
US6449635B1 (en) * | 1999-04-21 | 2002-09-10 | Mindarrow Systems, Inc. | Electronic mail deployment system |
US20020156852A1 (en) * | 2001-04-20 | 2002-10-24 | Hughes David A. | Super distribution of music samples using email |
US6542936B1 (en) * | 1997-07-03 | 2003-04-01 | Ipac Acquisition Subsidiary I, Llc | System for creating messages including image information |
US20030145056A1 (en) * | 2001-12-25 | 2003-07-31 | Sony Corporation | Apparatus and method for sharing information between terminals on a network |
US20030182210A1 (en) * | 2002-03-25 | 2003-09-25 | Erik Weitzman | Producing and sharing personalized photo calendar |
US7092509B1 (en) * | 1999-09-21 | 2006-08-15 | Microlog Corporation | Contact center system capable of handling multiple media types of contacts and method for using the same |
US7853946B2 (en) * | 2003-02-28 | 2010-12-14 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and control program |
-
2004
- 2004-04-06 US US10/818,598 patent/US7434217B2/en not_active Expired - Fee Related
-
2005
- 2005-04-06 WO PCT/US2005/011426 patent/WO2005101201A2/en active Application Filing
-
2008
- 2008-08-25 US US12/197,485 patent/US20080313630A1/en not_active Abandoned
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20010031454A1 (en) * | 1997-05-30 | 2001-10-18 | Alex Mintz | Multi-functional communication and aggregation platform |
US6542936B1 (en) * | 1997-07-03 | 2003-04-01 | Ipac Acquisition Subsidiary I, Llc | System for creating messages including image information |
US6449635B1 (en) * | 1999-04-21 | 2002-09-10 | Mindarrow Systems, Inc. | Electronic mail deployment system |
US7092509B1 (en) * | 1999-09-21 | 2006-08-15 | Microlog Corporation | Contact center system capable of handling multiple media types of contacts and method for using the same |
US20020073312A1 (en) * | 2000-12-08 | 2002-06-13 | International Business Machines Corporation | Secure electronic software distribution |
US20020156852A1 (en) * | 2001-04-20 | 2002-10-24 | Hughes David A. | Super distribution of music samples using email |
US20030145056A1 (en) * | 2001-12-25 | 2003-07-31 | Sony Corporation | Apparatus and method for sharing information between terminals on a network |
US20030182210A1 (en) * | 2002-03-25 | 2003-09-25 | Erik Weitzman | Producing and sharing personalized photo calendar |
US7853946B2 (en) * | 2003-02-28 | 2010-12-14 | Canon Kabushiki Kaisha | Information processing apparatus, information processing method, and control program |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20110296404A1 (en) * | 2010-06-01 | 2011-12-01 | Dell Products L.P. | Systems and methods for host-level distributed scheduling in a distributed environment |
CN102752457A (en) * | 2012-07-19 | 2012-10-24 | 腾讯科技(深圳)有限公司 | Method and system for installing applications |
US20140181801A1 (en) * | 2012-12-25 | 2014-06-26 | Kaspersky Lab Zao | System and method for deploying preconfigured software |
US9244671B2 (en) * | 2012-12-25 | 2016-01-26 | AO Kaspersky Lab | System and method for deploying preconfigured software |
CN103458377A (en) * | 2013-09-05 | 2013-12-18 | 珠海市魅族科技有限公司 | Information sending method and terminal of application |
Also Published As
Publication number | Publication date |
---|---|
US20050223376A1 (en) | 2005-10-06 |
WO2005101201A3 (en) | 2007-03-29 |
US7434217B2 (en) | 2008-10-07 |
WO2005101201A2 (en) | 2005-10-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20080313630A1 (en) | Method And System For Distributing A Software Application To A Specified Recipient | |
US9323519B2 (en) | Packaging an application | |
KR102121626B1 (en) | Associating a file type with an application in a network storage service | |
US7634556B2 (en) | Electronic message management | |
US6947943B2 (en) | System for development, management and operation of distributed clients and servers | |
US7689664B2 (en) | System and method for installing and configuring software applications on a mobile networked terminal | |
US8620286B2 (en) | Method and system for promoting and transferring licensed content and applications | |
US20110047540A1 (en) | System and Methodology for Automating Delivery, Licensing, and Availability of Software Products | |
US20060190806A1 (en) | Systems and method for deploying a software application on a wireless device | |
US20030119386A1 (en) | Method and system for installing server-specific plug-ins | |
US20090144837A1 (en) | Systems and methods for software application certification service | |
KR101203284B1 (en) | Using messages to extend crm functionality | |
US20160148301A1 (en) | System and method for strong and providing content to client devices | |
US8775554B2 (en) | Cloud-based web page applications for extending functionality | |
WO2005098595A2 (en) | Methods and systems for interfacing applications with a search engine | |
JP2009508235A (en) | Data distribution method for mobile devices | |
US11327816B2 (en) | Monitoring components in a service framework | |
US20020180764A1 (en) | Method and system for digital image management | |
US7809837B2 (en) | User interface for configuring web services for remote portlets | |
JP5613295B2 (en) | Storage medium for providing system, method and program for managing distribution of contents to apparatus | |
US20030066059A1 (en) | Method for executing java application midlet using communication among java applications | |
WO2001027714A2 (en) | Information providing media, and information providing system and method using same | |
JP2002304535A (en) | Advertisement information providing method and its device and advertisement information providing program and storage medium with its program stored | |
KR20070022390A (en) | System and method for content management |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: SCENERA TECHNOLOGIES, LLC, NEW HAMPSHIRE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:IPAC ACQUISITION SUBSIDIARY I, LLC;REEL/FRAME:021606/0938 Effective date: 20061102 Owner name: IPAC ACQUISITION SUBSIDIARY I, LLC, NEW HAMPSHIRE Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MORRIS, ROBERT P.;REEL/FRAME:021606/0893 Effective date: 20040406 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |