US20090138876A1 - Method and system for delivering application packages based on user demands - Google Patents
Method and system for delivering application packages based on user demands Download PDFInfo
- Publication number
- US20090138876A1 US20090138876A1 US11/944,456 US94445607A US2009138876A1 US 20090138876 A1 US20090138876 A1 US 20090138876A1 US 94445607 A US94445607 A US 94445607A US 2009138876 A1 US2009138876 A1 US 2009138876A1
- Authority
- US
- United States
- Prior art keywords
- client terminal
- server
- user
- subscribed
- application
- 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
- 238000000034 method Methods 0.000 title claims abstract description 44
- 230000008569 process Effects 0.000 claims abstract description 12
- 230000000977 initiatory effect Effects 0.000 claims abstract description 8
- 238000004891 communication Methods 0.000 claims description 15
- 230000003442 weekly effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000002716 delivery method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006266 hibernation Effects 0.000 description 1
- 238000007726 management method Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/121—Restricting unauthorised execution of programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/629—Protecting access to data via a platform, e.g. using keys or access control rules to features or functions of an application
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/12—Payment architectures specially adapted for electronic shopping systems
- G06Q20/123—Shopping for digital content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/12—Payment architectures specially adapted for electronic shopping systems
- G06Q20/123—Shopping for digital content
- G06Q20/1235—Shopping for digital content with control of digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/12—Payment architectures specially adapted for electronic shopping systems
- G06Q20/127—Shopping or accessing services according to a time-limitation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/20—Network management software packages
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/101—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
- G06F21/1015—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities to users
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
Definitions
- the present invention relates to a method and a system for delivering application packages. More particularly, the present invention relates to a method and a system for delivering application packages based on user demands.
- OS operating system
- application packages operable under the OS be installed in the data processor.
- the OS may provide resources for operating the data processor and manage the sharing of the resources.
- the application packages may use the resources of the OS to perform specific tasks.
- the data processor may be purchased including an OS and some basic application packages pre-installed in the data processor.
- the user of the data processor may then obtain a license for the OS and/or the application packages with or without additional fees. If the user wants the data processor to perform a special task and none of the pre-installed application packages can perform the task, the user will then need to purchase a special application package that performs the task and install the purchased special application package in the data processor before use.
- the purchase of an application package means the purchase of a license which allows a user to use that application package on a single machine with an unlimited time period.
- the purchase of such a license may be very costly. Accordingly, many other types of licenses have been developed recently.
- the on-demand license allows the user to pay a fee only when the licensed application package is subscribed and/or used. The user will not need to pay anything if the application package is unsubscribed and/or not in use.
- the on-demand license type is applicable mostly to web applications.
- running a web application i.e., under a web browser, may be several times slower than running the application directly under an OS. Accordingly, there is a need to develop a method and a system that can more efficiently deliver application packages based on user demands.
- the method includes subscribing services of a service provider operating a server, the server including an operating system and a plurality of application packages installed therein, initiating a client terminal by performing a network booting process using the operating system installed in the server, and executing in the client terminal a subscribed application package installed in the server using resources of the operating system resident in the client terminal.
- the method includes initiating a client terminal using an operating system installed in a server situated in a communication network, the client terminal accessing the server via a service provider, providing, to the user, a list of application packages subscribed by the user, the application packages being installed in the server, selecting an application package from the list, running the selected application package on the client terminal using resources of the operating system, and charging the user a fee by the service provider according to the list of subscribed application packages.
- FIG. 1 illustrates a system for delivering application packages according to an embodiment consistent with the present invention.
- FIG. 2 illustrates a system for delivering application packages according to another embodiment consistent with the present invention.
- FIG. 3 illustrates a method for delivering application packages according to an embodiment consistent with the present invention.
- FIG. 1 there is illustrated a system for delivering application packages according to an embodiment consistent with the present invention.
- a server 100 which may be operated and maintained by a service provider, is connected to a wide area network (WAN) 10 .
- server 100 may include an operating system (OS) server 110 , an application package (AP) server 120 , and a user data (UD) server 130 .
- OS operating system
- AP application package
- UD user data
- server 100 may include a billing module 140 and an output unit 150 .
- OS server 110 may include one or more operating systems installed therein.
- the installed operation systems may be open source operating systems, such as Linux, BSD, and the like, or proprietary operating systems, such as Windows® of Microsoft Corp., “Mac OS X” of Apple Inc., and the like.
- AP server 120 may include a plurality of application packages installed therein.
- the application packages may be open source software packages, such as “OpenOffice.org,” or proprietary software packages, such as “Office 2007” of Microsoft Corp.
- UD server 130 may include a plurality of storage units. Each storage unit may correspond to a user account for storing data of the user. Each storage unit has a capacity quota. For example, the capacity quota may be 100 GB.
- UD server 130 may include a plurality of hard disks, thereby forming a file system under Redundant Array of Independent Disks (RAID) architecture. Accordingly, storing user data in UD server 130 may be better secured than saving them in mass storage device 260 , which does not normally employ a RAID architecture.
- the user data stored in UD server 130 may be encrypted.
- a user may subscribe services provided by the service provider.
- the services may include licenses to use one or more of the operating systems and/or one or more application packages installed in server 100 .
- the services may further include rights to use the storage unit of a certain capacity quota.
- the services may include output services.
- the user who has subscribed the output services may utilize output unit 150 to output, for example, documents, pictures, and the like, or to prepare a recording medium, such as a CD, a DVD, and the like.
- the output services for preparing the recording medium may be used to backup data files of the user.
- the service provider may then ship the documents, pictures, data CDs, data DVDs, and the like, to the user via courier.
- Billing module 140 may issue a bill to charge the user for the services the user subscribed and/or used.
- a client terminal 200 may be connected to WAN 10 via an access point 20 .
- client terminal 200 may be a data processor, such as a personal computer, a personal digital assistant, and the like, a communication apparatus, such as a cell phone, a smart phone, and the like, or a consumer electronic product, such as a television set, a game box, and the like.
- Client terminal 200 may include a central processing unit (CPU) 210 , a random access memory (RAM) 220 , a read only memory (ROM) 230 , an input/output (I/O) unit 240 , an extension port (EP) 250 (for example, a universal serial bus (USB) port, or a card reader), a mass storage device 260 (for example, a hard disk), and a network interface (NI) 270 .
- CPU central processing unit
- RAM random access memory
- ROM read only memory
- I/O input/output
- EP 250 for example, a universal serial bus (USB) port, or a card reader
- mass storage device 260 for example, a hard disk
- NI network interface
- client terminal 200 may not require mass storage device 260 .
- Client terminal 200 may be operated using UD server 130 as a substitute mass storage device, with or without mass storage device 260 in client terminal 200 .
- Access point 20 may be a wireless access point (for example, a wireless router, a base station, and the like), or a wired access point (for example, a cable/DSL modem, an optical modem, and the like).
- Client terminal 200 uses NI 270 to gain access to WAN 10 via access point 20 , so as to communicate with server 100 .
- NI 270 may be a wired network card, such as an Ethernet card, or a wireless network card, such as a WiMAX or WiFi interface device, depending on the type of access point 20 used.
- a server 100 is connected to a local area network (LAN) 12 .
- server 100 may include an operating system (OS) server 110 , an application package (AP) server 120 , and a user data (UD) server 130 .
- OS operating system
- AP application package
- UD user data
- server 100 may be managed by the service provider.
- server 100 which is connected to LAN 12 , may be managed by the administrator of LAN 12 , such as a corporate information technology (IT) department.
- the service provider provides licenses for a client terminal 200 to use the operating systems installed in OS server 110 and the application packages installed in AP server 120 .
- client terminal 200 is connected to LAN 12 .
- Client terminal 200 may use NI 270 to access server 100 via LAN 12 .
- LAN 12 may comprise Ethernet, and NI 270 may comprise an Ethernet card.
- LAN 12 may comprise an Intranet, which may connect client terminal 200 and server 100 under the same domain but located at different geographical locations.
- LAN 12 may be connected to WAN 10 via an access point 20 .
- FIG. 3 there is illustrated a method for delivering application packages according to an embodiment consistent with the present invention.
- the method consistent with the present invention will be described in detail with reference to FIG. 3 as well as to FIGS. 1 and/or 2 .
- the user needs to obtain a client terminal and subscribe the services of the service provider.
- the user may already have a client terminal. Accordingly, the user only needs to subscribe the services without acquiring a new client terminal.
- the user may not already have a client terminal. Accordingly, the user needs to obtain a client terminal first.
- the service provide may provide a client terminal to the user when the user subscribes their services.
- the user may visit a vendor store of the service provider located at, for example, a shopping center close to the user's neighborhood. The user may then subscribe the services using a client terminal of the vendor store. On the other hand, if the user already have a client terminal, the user may then visit a web store of the service provider, and subscribe the services of the service provider through the web store.
- the service provider may then issue a user identification device, such as a SIM card, an IC card, a flash memory drive, a memory card, a CD-ROM, and the like, which may record subscription information of the user.
- the user identification device may be connected with client terminal 200 via EP 250 .
- the subscription information may include user information, pass code, account information, subscription details, and/or system configurations of client terminal 200 .
- the user identification device may be integrated with ROM 230 of client terminal 200 .
- the subscription information may be recorded in ROM 230 of client terminal 200 , if client terminal 200 is provided to the user by the service provider.
- Step 300 the user powers on client terminal 200 .
- client terminal 200 may begin performing a network booting process.
- client terminal 200 attempts to associate with a communication network 14 (for example, WAN 10 or LAN 12 ) by sending out a request to communication network 14 .
- communication network 14 may include a wireless communication network, which is accessible to client terminal 200 via a wireless access point, such as a base station.
- client terminal 200 may have access to server 200 .
- client terminal 200 may be assigned a network address upon association with communication network 14 .
- client terminal 200 may use a predetermined network address included in the subscription details recorded in the user identification device.
- client terminal 200 may broadcast a request for finding server 100 that includes an operating system installed therein.
- a server address of server 100 may be included in the subscription details recorded in the user identification device.
- client terminal 200 may find server 100 within a short time period.
- server 100 may begin a booting process (or initiating process) based on the subscription information by transferring from server 100 the operating system subscribed by the user. Before the booting process, however, server 100 may need to authenticate the user. In one embodiment, server 100 may authenticate the user by requesting, for example, the subscription information from client terminal 200 .
- client terminal 200 does not require the operating system be installed in mass storage device 260 of client terminal 200 . If client terminal 200 includes mass storage device 260 , the user may then use the entire capacity of mass storage device 260 to store user data, without sacrificing storage space for the operating system.
- client terminal 200 may further include a non-volatile memory module (not shown) having a storage capacity substantially the same as that of RAM 220 . If the user wants to power off client terminal 200 to save energy, but does not want to spend time on the network booting process when powering on client terminal 200 again, dynamic data in RAM 220 of client terminal 200 may be transferred to the non-volatile memory when powering off, so as to allow client terminal 200 to enter a hibernation mode. When the user powers on client terminal 200 again, the dynamic data stored in the non-volatile memory module may be loaded back to RAM 220 .
- client terminal 200 may return to its original state of operation at the time the power is turned off. Accordingly, no reboot of client terminal 200 may be necessary. Essentially, client terminal 200 may need to go through this network booting process only when client terminal 200 is powered on for the first time. Nevertheless, client terminal 200 may still need to reboot when certain portions of the operating system go crashed and are unrecoverable.
- client terminal 200 may request server 100 to send a list of application packages installed in AP server 120 .
- Server 100 may then provide the list of application packages to client terminal 200 .
- the user is licensed to use one or more application packages in the list.
- client terminal 200 does not require the application packages be installed in mass storage device 260 of client terminal 200 . Accordingly, if client terminal 200 includes mass storage device 260 , the user may use the entire capacity of mass storage device 260 to store user data.
- Step S 340 in order to execute or run a subscribed application package on client terminal 200 , the user may select the subscribed application package from the list of application packages, and send a request for the selected application package to server 100 .
- server 100 may need to verify the user's subscription of the selected application package before activating the selected application package. Once the user's subscription is verified, client terminal 200 then begin transferring the selected application package and execute the selected application package on client terminal 200 , using resources of the operating system resident in RAM 220 of client terminal 200 .
- client terminal 200 may communicate with server 100 , and vice versa, to obtain component parts or add-on modules of the selected application package from AP server of server 100 , and/or to store temporary data into U D server 130 of server 100 , for example. Further, while running the selected application package, the user of client terminal 200 may store a newly created data file into server 100 and/or retrieve a previously created data file from server 100 . Moreover, the user may output a data file through output unit 150 of server 100 . The service provider may then ship the output material, such as document papers, to the user via courier.
- Step S 350 when the user is to terminate the execution of the selected application package, client terminal 200 may inform server 100 that the selected application package is to be terminated. Client terminal 200 may then release the running application package from RAM 220 of client terminal 200 .
- Step S 360 when the user wants to change his subscription of services, the user may use client terminal 200 to send a request for subscription update to server 100 .
- server 100 may send a list of application packages including currently subscribed application packages and available application packages not currently subscribed.
- the user may search for the new application package from the available application packages. The user may then select the new application package found from the available application packages. Further, the user may subscribe the new application package by updating the list of application packages, that is, by adding the new application package to the subscribed application packages.
- the user may select the application package to be unsubscribed from the currently subscribed application packages. Further, the user may unsubscribe the selected application package by updating the list of application packages, that is, by removing the selected application package from the subscribed application packages.
- application packages can be delivered to the user according to the user's demands.
- the user may simply subscribe it from the service provider.
- the user may simply unsubscribe it.
- the user may subscribe or unsubscribe the license of the application package on a daily basis, a weekly basis, a monthly basis, and the like. In this manner, the user only pays for the license of an application package when he subscribes and/or uses the application package. Thus, the user does not need to pay the large fee for purchasing the license of an application package as in the related art.
- the service provider may charge the user a fee for the services that are subscribed. More specifically, billing module 140 of server 100 may issue a bill according to the user's subscription of the services of the service provider. In one embodiment, billing module 140 may issue a bill to the user periodically, such as monthly, weekly, and the like. In one embodiment, the bill may be sent to the user via an electronic mail.
- the present invention may provide a system and a method for delivering application packages based on user demands. Unlike the delivery method of application packages in the related art, the present invention does not require the application packages be executed on top of a web browser. Rather, the application packages may be executed directly on a client terminal using resources of an operating system resident in the RAM of the client terminal. Accordingly, the performance of the application packages may be several times better than running the application packages over a web browser.
- the minimum system requirement of the server may be largely reduced.
- the server may fully dedicate to the management of the application packages and/or the operating systems without sharing computing time for execution of those application packages. Accordingly, the same server may support much more client terminals under the architecture of the present invention than under the architecture of the related art.
Abstract
A method and a system are provided for delivering on-demand software packages. In one aspect, the method may include subscribing services of a service provider operating a server, the server including an operating system and several application packages installed therein, initiating a client terminal by performing a network booting process using the operating system installed in the server, and executing in the client terminal a subscribed application package installed in the server using resources of the operating system resident in the client terminal. The method may further include charging the user a fee according to the application packages and the operating system subscribed by the user.
Description
- The present invention relates to a method and a system for delivering application packages. More particularly, the present invention relates to a method and a system for delivering application packages based on user demands.
- In order to normally operate a data processor, such as a personal computer, it is often required that an operating system (OS) and some application packages operable under the OS be installed in the data processor. The OS may provide resources for operating the data processor and manage the sharing of the resources. The application packages may use the resources of the OS to perform specific tasks.
- In certain cases, the data processor may be purchased including an OS and some basic application packages pre-installed in the data processor. The user of the data processor may then obtain a license for the OS and/or the application packages with or without additional fees. If the user wants the data processor to perform a special task and none of the pre-installed application packages can perform the task, the user will then need to purchase a special application package that performs the task and install the purchased special application package in the data processor before use.
- Normally, the purchase of an application package means the purchase of a license which allows a user to use that application package on a single machine with an unlimited time period. However, the purchase of such a license may be very costly. Accordingly, many other types of licenses have been developed recently.
- Among the recently developed licenses, an on-demand license has attracted much attention. The on-demand license allows the user to pay a fee only when the licensed application package is subscribed and/or used. The user will not need to pay anything if the application package is unsubscribed and/or not in use.
- Currently, the on-demand license type is applicable mostly to web applications. However, running a web application, i.e., under a web browser, may be several times slower than running the application directly under an OS. Accordingly, there is a need to develop a method and a system that can more efficiently deliver application packages based on user demands.
- In light of the above, there is provided a method and a system for delivering application packages based on user demands.
- In one embodiment, the method includes subscribing services of a service provider operating a server, the server including an operating system and a plurality of application packages installed therein, initiating a client terminal by performing a network booting process using the operating system installed in the server, and executing in the client terminal a subscribed application package installed in the server using resources of the operating system resident in the client terminal.
- In another embodiment, the method includes initiating a client terminal using an operating system installed in a server situated in a communication network, the client terminal accessing the server via a service provider, providing, to the user, a list of application packages subscribed by the user, the application packages being installed in the server, selecting an application package from the list, running the selected application package on the client terminal using resources of the operating system, and charging the user a fee by the service provider according to the list of subscribed application packages.
-
FIG. 1 illustrates a system for delivering application packages according to an embodiment consistent with the present invention. -
FIG. 2 illustrates a system for delivering application packages according to another embodiment consistent with the present invention. -
FIG. 3 illustrates a method for delivering application packages according to an embodiment consistent with the present invention. - Hereinafter, embodiments consistent with the present invention will be described in detail with reference to the accompanying drawings, in which like reference numerals refer to like elements.
- Referring to
FIG. 1 , there is illustrated a system for delivering application packages according to an embodiment consistent with the present invention. - As shown in
FIG. 1 , aserver 100, which may be operated and maintained by a service provider, is connected to a wide area network (WAN) 10. In one embodiment,server 100 may include an operating system (OS)server 110, an application package (AP)server 120, and a user data (UD)server 130. Although threedifferent servers servers server 100 may include abilling module 140 and anoutput unit 150. -
OS server 110 may include one or more operating systems installed therein. In one embodiment, the installed operation systems may be open source operating systems, such as Linux, BSD, and the like, or proprietary operating systems, such as Windows® of Microsoft Corp., “Mac OS X” of Apple Inc., and the like. - AP
server 120 may include a plurality of application packages installed therein. The application packages may be open source software packages, such as “OpenOffice.org,” or proprietary software packages, such as “Office 2007” of Microsoft Corp. -
UD server 130 may include a plurality of storage units. Each storage unit may correspond to a user account for storing data of the user. Each storage unit has a capacity quota. For example, the capacity quota may be 100 GB. In one embodiment,UD server 130 may include a plurality of hard disks, thereby forming a file system under Redundant Array of Independent Disks (RAID) architecture. Accordingly, storing user data inUD server 130 may be better secured than saving them inmass storage device 260, which does not normally employ a RAID architecture. In addition, to protect privacy of the user, the user data stored inUD server 130 may be encrypted. - A user may subscribe services provided by the service provider. The services may include licenses to use one or more of the operating systems and/or one or more application packages installed in
server 100. The services may further include rights to use the storage unit of a certain capacity quota. Further, the services may include output services. The user who has subscribed the output services may utilizeoutput unit 150 to output, for example, documents, pictures, and the like, or to prepare a recording medium, such as a CD, a DVD, and the like. In one embodiment, the output services for preparing the recording medium may be used to backup data files of the user. The service provider may then ship the documents, pictures, data CDs, data DVDs, and the like, to the user via courier.Billing module 140 may issue a bill to charge the user for the services the user subscribed and/or used. - Referring again to
FIG. 1 , aclient terminal 200 may be connected to WAN 10 via anaccess point 20. In one embodiment,client terminal 200 may be a data processor, such as a personal computer, a personal digital assistant, and the like, a communication apparatus, such as a cell phone, a smart phone, and the like, or a consumer electronic product, such as a television set, a game box, and the like. -
Client terminal 200 may include a central processing unit (CPU) 210, a random access memory (RAM) 220, a read only memory (ROM) 230, an input/output (I/O)unit 240, an extension port (EP) 250 (for example, a universal serial bus (USB) port, or a card reader), a mass storage device 260 (for example, a hard disk), and a network interface (NI) 270. In one embodiment,client terminal 200 may not requiremass storage device 260.Client terminal 200 may be operated usingUD server 130 as a substitute mass storage device, with or withoutmass storage device 260 inclient terminal 200. -
Access point 20 may be a wireless access point (for example, a wireless router, a base station, and the like), or a wired access point (for example, a cable/DSL modem, an optical modem, and the like).Client terminal 200 uses NI 270 to gain access to WAN 10 viaaccess point 20, so as to communicate withserver 100. In one embodiment, NI 270 may be a wired network card, such as an Ethernet card, or a wireless network card, such as a WiMAX or WiFi interface device, depending on the type ofaccess point 20 used. - Referring to
FIG. 2 , there is illustrated a system for delivering application packages according to another embodiment consistent with the present invention. As shown, aserver 100 is connected to a local area network (LAN) 12. As discussed above,server 100 may include an operating system (OS)server 110, an application package (AP)server 120, and a user data (UD)server 130. In one embodiment,server 100 may be managed by the service provider. However, it is appreciated thatserver 100, which is connected toLAN 12, may be managed by the administrator ofLAN 12, such as a corporate information technology (IT) department. The service provider provides licenses for aclient terminal 200 to use the operating systems installed inOS server 110 and the application packages installed inAP server 120. - As shown in
FIG. 2 ,client terminal 200 is connected toLAN 12.Client terminal 200 may useNI 270 to accessserver 100 viaLAN 12. In one embodiment,LAN 12 may comprise Ethernet, andNI 270 may comprise an Ethernet card. However, it is to be understood thatLAN 12 may comprise an Intranet, which may connectclient terminal 200 andserver 100 under the same domain but located at different geographical locations. Further,LAN 12 may be connected toWAN 10 via anaccess point 20. - Referring to
FIG. 3 , there is illustrated a method for delivering application packages according to an embodiment consistent with the present invention. Hereinafter, the method consistent with the present invention will be described in detail with reference toFIG. 3 as well as toFIGS. 1 and/or 2. - First, the user needs to obtain a client terminal and subscribe the services of the service provider. In one example, the user may already have a client terminal. Accordingly, the user only needs to subscribe the services without acquiring a new client terminal. In another example, the user may not already have a client terminal. Accordingly, the user needs to obtain a client terminal first. In certain cases, however, the service provide may provide a client terminal to the user when the user subscribes their services.
- If the user does not yet have a client terminal and desires to subscribe the services, the user may visit a vendor store of the service provider located at, for example, a shopping center close to the user's neighborhood. The user may then subscribe the services using a client terminal of the vendor store. On the other hand, if the user already have a client terminal, the user may then visit a web store of the service provider, and subscribe the services of the service provider through the web store.
- After the user subscribes the services, the service provider may then issue a user identification device, such as a SIM card, an IC card, a flash memory drive, a memory card, a CD-ROM, and the like, which may record subscription information of the user. The user identification device may be connected with
client terminal 200 viaEP 250. The subscription information may include user information, pass code, account information, subscription details, and/or system configurations ofclient terminal 200. In one embodiment, the user identification device may be integrated withROM 230 ofclient terminal 200. For example, the subscription information may be recorded inROM 230 ofclient terminal 200, ifclient terminal 200 is provided to the user by the service provider. - Referring to
FIG. 3 , inStep 300, the user powers onclient terminal 200. Immediately after powering onclient terminal 200,client terminal 200 may begin performing a network booting process. - In Step 310,
client terminal 200 attempts to associate with a communication network 14 (for example,WAN 10 or LAN 12) by sending out a request tocommunication network 14. In one embodiment,communication network 14 may include a wireless communication network, which is accessible toclient terminal 200 via a wireless access point, such as a base station. Onceclient terminal 200 is associated withcommunication network 14,client terminal 200 may have access toserver 200. In one embodiment,client terminal 200 may be assigned a network address upon association withcommunication network 14. Alternatively,client terminal 200 may use a predetermined network address included in the subscription details recorded in the user identification device. - In Step 320, after
client terminal 200 is associated withcommunication network 14,client terminal 200 may broadcast a request for findingserver 100 that includes an operating system installed therein. In one embodiment, a server address ofserver 100 may be included in the subscription details recorded in the user identification device. In this case,client terminal 200 may findserver 100 within a short time period. Onceserver 100 is found,client terminal 200 may begin a booting process (or initiating process) based on the subscription information by transferring fromserver 100 the operating system subscribed by the user. Before the booting process, however,server 100 may need to authenticate the user. In one embodiment,server 100 may authenticate the user by requesting, for example, the subscription information fromclient terminal 200. Because the operating system is installed inserver 100,client terminal 200 does not require the operating system be installed inmass storage device 260 ofclient terminal 200. Ifclient terminal 200 includesmass storage device 260, the user may then use the entire capacity ofmass storage device 260 to store user data, without sacrificing storage space for the operating system. - The network booting process described above may be time consuming, especially when the bandwidth of
communication network 14 is narrow. Accordingly, in one embodiment,client terminal 200 may further include a non-volatile memory module (not shown) having a storage capacity substantially the same as that ofRAM 220. If the user wants to power offclient terminal 200 to save energy, but does not want to spend time on the network booting process when powering onclient terminal 200 again, dynamic data inRAM 220 ofclient terminal 200 may be transferred to the non-volatile memory when powering off, so as to allowclient terminal 200 to enter a hibernation mode. When the user powers onclient terminal 200 again, the dynamic data stored in the non-volatile memory module may be loaded back toRAM 220. In this manner,client terminal 200 may return to its original state of operation at the time the power is turned off. Accordingly, no reboot ofclient terminal 200 may be necessary. Essentially,client terminal 200 may need to go through this network booting process only whenclient terminal 200 is powered on for the first time. Nevertheless,client terminal 200 may still need to reboot when certain portions of the operating system go crashed and are unrecoverable. - In Step 330, after performing the network booting process,
client terminal 200 may requestserver 100 to send a list of application packages installed inAP server 120.Server 100 may then provide the list of application packages toclient terminal 200. According to the subscription information recorded in the user identification device, the user is licensed to use one or more application packages in the list. For those application packages not subscribed by the user, the user is not licensed to use them. Because the subscribed application packages are installed inserver 100,client terminal 200 does not require the application packages be installed inmass storage device 260 ofclient terminal 200. Accordingly, ifclient terminal 200 includesmass storage device 260, the user may use the entire capacity ofmass storage device 260 to store user data. - In Step S340, in order to execute or run a subscribed application package on
client terminal 200, the user may select the subscribed application package from the list of application packages, and send a request for the selected application package toserver 100. In one embodiment,server 100 may need to verify the user's subscription of the selected application package before activating the selected application package. Once the user's subscription is verified,client terminal 200 then begin transferring the selected application package and execute the selected application package onclient terminal 200, using resources of the operating system resident inRAM 220 ofclient terminal 200. - While running the selected application package on
client terminal 200,client terminal 200 may communicate withserver 100, and vice versa, to obtain component parts or add-on modules of the selected application package from AP server ofserver 100, and/or to store temporary data intoU D server 130 ofserver 100, for example. Further, while running the selected application package, the user ofclient terminal 200 may store a newly created data file intoserver 100 and/or retrieve a previously created data file fromserver 100. Moreover, the user may output a data file throughoutput unit 150 ofserver 100. The service provider may then ship the output material, such as document papers, to the user via courier. - In Step S350, when the user is to terminate the execution of the selected application package,
client terminal 200 may informserver 100 that the selected application package is to be terminated.Client terminal 200 may then release the running application package fromRAM 220 ofclient terminal 200. - In Step S360, when the user wants to change his subscription of services, the user may use
client terminal 200 to send a request for subscription update toserver 100. In response,server 100 may send a list of application packages including currently subscribed application packages and available application packages not currently subscribed. - If the user wants to subscribe a new application package, the user may search for the new application package from the available application packages. The user may then select the new application package found from the available application packages. Further, the user may subscribe the new application package by updating the list of application packages, that is, by adding the new application package to the subscribed application packages.
- If the user wants to unsubscribe a currently subscribed application package, the user may select the application package to be unsubscribed from the currently subscribed application packages. Further, the user may unsubscribe the selected application package by updating the list of application packages, that is, by removing the selected application package from the subscribed application packages.
- Accordingly, application packages can be delivered to the user according to the user's demands. When the user demands an application package, the user may simply subscribe it from the service provider. On the other hand, when the user no longer demands a certain application package, the user may simply unsubscribe it. In one embodiment, the user may subscribe or unsubscribe the license of the application package on a daily basis, a weekly basis, a monthly basis, and the like. In this manner, the user only pays for the license of an application package when he subscribes and/or uses the application package. Thus, the user does not need to pay the large fee for purchasing the license of an application package as in the related art.
- In Step S370, the service provider may charge the user a fee for the services that are subscribed. More specifically,
billing module 140 ofserver 100 may issue a bill according to the user's subscription of the services of the service provider. In one embodiment,billing module 140 may issue a bill to the user periodically, such as monthly, weekly, and the like. In one embodiment, the bill may be sent to the user via an electronic mail. - In view of the above, the present invention may provide a system and a method for delivering application packages based on user demands. Unlike the delivery method of application packages in the related art, the present invention does not require the application packages be executed on top of a web browser. Rather, the application packages may be executed directly on a client terminal using resources of an operating system resident in the RAM of the client terminal. Accordingly, the performance of the application packages may be several times better than running the application packages over a web browser.
- Further, because application packages may be executed directly on the client terminal, not on the server, the minimum system requirement of the server may be largely reduced. The server may fully dedicate to the management of the application packages and/or the operating systems without sharing computing time for execution of those application packages. Accordingly, the same server may support much more client terminals under the architecture of the present invention than under the architecture of the related art.
- While embodiments consistent with the present invention have been described in detail, it is to be understood by those skilled in the art that various modifications and/or alterations may be made without departing from the spirit and scope of the appended claims. Accordingly, it is intended that the scope of the present invention be defined in the appended claims and their equivalents.
Claims (19)
1. A method, comprising:
subscribing services of a service provider operating a server, the server including an operating system and a plurality of application packages installed therein;
initiating a client terminal by performing a network booting process using the operating system installed in the server; and
executing in the client terminal a subscribed application package installed in the server using resources of the operating system resident in the client terminal.
2. The method of claim 1 , wherein the services comprise licenses to use the operating system and the application packages installed in the server.
3. The method of claim 2 , wherein the services comprise rights to use a storage unit of the server for storing user data in the storage unit.
4. The method of claim 3 , further comprising saving, into the storage unit, a data file generated from executing the subscribed application package.
5. The method of claim 3 , further comprising retrieving, from the storage unit, a data file previously generated in the executed subscribed application package.
6. The method of claim 3 , wherein the services comprise output services.
7. The method of claim 6 , further comprising outputting the data file through an output unit of the server.
8. The method of claim 6 , further comprising backing up the storage unit by storing the user data into a recording medium.
9. The method of claim 1 , wherein the network booting process comprises:
associating the client terminal with a communication network via an access point to communicate with the server of the service provider; and
initiating the client terminal using the operating system installed in the server, the operating system being subscribed by a user of the client terminal.
10. The method of claim 9 , wherein the access point comprises a wireless access point.
11. The method of claim 9 , wherein the communication network comprises a wireless communication network or an intranet.
12. The method of claim 1 , further comprising:
providing to the client terminal a list of application packages installed in the server, the list including application packages subscribed by a user; and
selecting from the list an application package to be executed on the client terminal.
13. The method of claim 12 , further comprising updating the list of application packages by subscribing an additional application package or by unsubscribing a currently subscribed application package.
14. The method of claim 12 , further comprising charging the user a fee according to the list of application packages the user subscribed and according to the operating system the user subscribed.
15. The method of claim 14 , wherein charging the user comprises periodically billing the user.
16. A method, comprising:
initiating a client terminal using an operating system installed in a server, the client terminal accessing the server through a communication network via an access point;
providing to the client terminal a list of subscribed application packages, the subscribed application packages being installed in the server;
selecting an application package from the list;
executing the selected application package on the client terminal using resources of the operating system resident in the client terminal; and
charging the user of the client terminal a fee by the service provider according to the list of application packages the user subscribed.
17. The method of claim 16 , further comprising updating the list of application packages by subscribing an additional application package or by unsubscribing a currently subscribed application package.
18. A system, comprising:
means for initiating a client terminal using an operating system installed in a server, the client terminal accessing the server through a communication network via an access point;
means for providing to the client terminal a list of subscribed application packages, the subscribed application packages being installed in the server;
means for selecting an application package from the list;
means for executing the selected application package on the client terminal using resources of the operating system resident in the client terminal; and
means for charging the user of the client terminal a fee by the service provider according to the list of application packages the user subscribed.
19. The method of claim 18 , further comprising means for updating the list of application packages by subscribing an additional application package or by unsubscribing a currently subscribed application package.
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/944,456 US20090138876A1 (en) | 2007-11-22 | 2007-11-22 | Method and system for delivering application packages based on user demands |
US13/865,217 US9805349B1 (en) | 2007-11-22 | 2013-04-18 | Method and system for delivering application packages based on user demands |
US15/715,355 US20180025137A1 (en) | 2007-11-22 | 2017-09-26 | Method and system for delivering application packages based on user demands |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/944,456 US20090138876A1 (en) | 2007-11-22 | 2007-11-22 | Method and system for delivering application packages based on user demands |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/865,217 Continuation US9805349B1 (en) | 2007-11-22 | 2013-04-18 | Method and system for delivering application packages based on user demands |
Publications (1)
Publication Number | Publication Date |
---|---|
US20090138876A1 true US20090138876A1 (en) | 2009-05-28 |
Family
ID=40670853
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/944,456 Abandoned US20090138876A1 (en) | 2007-11-22 | 2007-11-22 | Method and system for delivering application packages based on user demands |
US13/865,217 Active 2030-04-13 US9805349B1 (en) | 2007-11-22 | 2013-04-18 | Method and system for delivering application packages based on user demands |
US15/715,355 Abandoned US20180025137A1 (en) | 2007-11-22 | 2017-09-26 | Method and system for delivering application packages based on user demands |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/865,217 Active 2030-04-13 US9805349B1 (en) | 2007-11-22 | 2013-04-18 | Method and system for delivering application packages based on user demands |
US15/715,355 Abandoned US20180025137A1 (en) | 2007-11-22 | 2017-09-26 | Method and system for delivering application packages based on user demands |
Country Status (1)
Country | Link |
---|---|
US (3) | US20090138876A1 (en) |
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100192145A1 (en) * | 2009-01-27 | 2010-07-29 | Dell Products L.P. | Operation System Installation Methods and Media |
US20100188402A1 (en) * | 2009-01-28 | 2010-07-29 | International Business Machines Corporation | User-Defined Non-Visible Geometry Featuring Ray Filtering |
US20110138050A1 (en) * | 2009-12-03 | 2011-06-09 | International Business Machines Corporation | Optimizing cloud service delivery within a cloud computing environment |
US20120071139A1 (en) * | 2010-09-21 | 2012-03-22 | Kumar Nanda | Method and system for activating services on a wireless terminal |
US20120096264A1 (en) * | 2010-10-15 | 2012-04-19 | Oracle America, Inc. | Java store television |
US20120260246A1 (en) * | 2011-04-06 | 2012-10-11 | International Business Machines Corporation | Software application installation |
US20130326495A1 (en) * | 2012-06-01 | 2013-12-05 | Nokia Corporation | Wireless programming |
US9369959B2 (en) | 2011-10-31 | 2016-06-14 | Nokia Technologies Oy | Wirelessly transferring data to a packaged electronic device |
CN106897586A (en) * | 2016-08-04 | 2017-06-27 | 阿里巴巴集团控股有限公司 | A kind of application programming interface API right management methods and device |
US10148665B2 (en) | 2016-05-10 | 2018-12-04 | Microsoft Technology Licensing, Llc | Self-service acquisition of subscriptions to online services |
US10855674B1 (en) * | 2018-05-10 | 2020-12-01 | Microstrategy Incorporated | Pre-boot network-based authentication |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8775577B1 (en) * | 2007-12-18 | 2014-07-08 | Amazon Technologies, Inc. | System and method for configuration management service |
Citations (49)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5204055A (en) * | 1989-12-08 | 1993-04-20 | Massachusetts Institute Of Technology | Three-dimensional printing techniques |
US5669069A (en) * | 1994-04-19 | 1997-09-16 | Nokia Mobile Phones Limited | Card reading configuration in a mobile phone |
US5762125A (en) * | 1996-09-30 | 1998-06-09 | Johnson & Johnson Professional, Inc. | Custom bioimplantable article |
US5765205A (en) * | 1995-12-27 | 1998-06-09 | International Business Machines Corporation | Method and system for on-demand software distribution |
US5790753A (en) * | 1996-01-22 | 1998-08-04 | Digital Equipment Corporation | System for downloading computer software programs |
US6311221B1 (en) * | 1998-07-22 | 2001-10-30 | Appstream Inc. | Streaming modules |
US20010039546A1 (en) * | 2000-05-05 | 2001-11-08 | Moore Michael R. | System and method for obtaining and storing information for deferred browsing |
US20020157089A1 (en) * | 2000-11-06 | 2002-10-24 | Amit Patel | Client installation and execution system for streamed applications |
US6546547B1 (en) * | 1999-09-22 | 2003-04-08 | Cisco Technology, Inc. | Method and system for an automated net booting tool |
US20030120740A1 (en) * | 2001-12-20 | 2003-06-26 | Beeman Edward S. | System and method for keeping data current |
US6684227B2 (en) * | 2000-04-13 | 2004-01-27 | Fujitsu Services Limited | Electronic content store |
US6754896B2 (en) * | 1998-09-21 | 2004-06-22 | Microsoft Corporation | Method and system for on-demand installation of software implementations |
US20040153908A1 (en) * | 2002-09-09 | 2004-08-05 | Eprivacy Group, Inc. | System and method for controlling information exchange, privacy, user references and right via communications networks communications networks |
US20040163131A1 (en) * | 2003-01-31 | 2004-08-19 | Benco David S. | Telecommunication feature activation and billing support from a centralized server |
US6826546B1 (en) * | 2000-08-17 | 2004-11-30 | Ideaflood, Inc. | Method and system for licensing a copy of a copyright protected work |
US20040260806A1 (en) * | 2003-06-20 | 2004-12-23 | Eric Martin | System supporting communication between a web enabled application and another application |
US6854009B1 (en) * | 1999-12-22 | 2005-02-08 | Tacit Networks, Inc. | Networked computer system |
US20050033850A1 (en) * | 2003-08-07 | 2005-02-10 | International Business Machines Corporation | Personal on-demand media streaming system and method |
US20050044433A1 (en) * | 2003-08-19 | 2005-02-24 | Dunstan Robert A. | Storing encrypted and/or compressed system context information when entering a low-power state |
US20050144431A1 (en) * | 2003-12-31 | 2005-06-30 | Jade Quantum Technologies, Inc. | IP-based method and apparatus for remote booting computers in wide-area-network environment |
US20050149740A1 (en) * | 2003-12-31 | 2005-07-07 | Kotzin Michael D. | Method and apparatus for device authentication |
US6954853B2 (en) * | 2002-02-26 | 2005-10-11 | Via Technologies, Inc. | Remote boot system for multiple client terminals and method thereof |
US6954852B2 (en) * | 2002-04-18 | 2005-10-11 | Ardence, Inc. | System for and method of network booting of an operating system to a client computer using hibernation |
US6959320B2 (en) * | 2000-11-06 | 2005-10-25 | Endeavors Technology, Inc. | Client-side performance optimization system for streamed applications |
US20060015931A1 (en) * | 2004-07-15 | 2006-01-19 | Davis Mark C | Wireless-boot diskless mobile computing |
US20060013393A1 (en) * | 2000-02-08 | 2006-01-19 | Swisscom Mobile Ag | Single sign-on process |
US20060031547A1 (en) * | 2004-05-07 | 2006-02-09 | Wyse Technology Inc. | System and method for integrated on-demand delivery of operating system and applications |
US7017162B2 (en) * | 2001-07-10 | 2006-03-21 | Microsoft Corporation | Application program interface for network software platform |
US7036040B2 (en) * | 2002-11-26 | 2006-04-25 | Microsoft Corporation | Reliability of diskless network-bootable computers using non-volatile memory cache |
US7035874B1 (en) * | 2002-03-29 | 2006-04-25 | Ncr Corp. | Media streaming in a database |
US7062567B2 (en) * | 2000-11-06 | 2006-06-13 | Endeavors Technology, Inc. | Intelligent network streaming and execution system for conventionally coded applications |
US7072950B2 (en) * | 2001-01-23 | 2006-07-04 | Sony Corporation | Method and apparatus for operating system and application selection |
US7089300B1 (en) * | 1999-10-18 | 2006-08-08 | Apple Computer, Inc. | Method and apparatus for administering the operating system of a net-booted environment |
US20060199613A1 (en) * | 2003-01-20 | 2006-09-07 | Fredrik Almgren | Method for automatic selection of configuration profile to mobile phone |
US20060294019A1 (en) * | 2005-06-22 | 2006-12-28 | Lenovo (Singapore) Pte. Ltd. | On demand business model to reuse software license |
US7233985B2 (en) * | 1999-10-18 | 2007-06-19 | Apple Inc. | Providing a reliable operating system for clients of a net-booted environment |
US20070208834A1 (en) * | 2006-02-14 | 2007-09-06 | Nanamura Roberto N | On-demand software service system and method |
US20070282480A1 (en) * | 2003-11-10 | 2007-12-06 | Pannese Patrick D | Methods and systems for controlling a semiconductor fabrication process |
US7321936B2 (en) * | 2002-04-18 | 2008-01-22 | Ardence, Inc. | System for and method of streaming data to a computer in a network |
US7356679B1 (en) * | 2003-04-11 | 2008-04-08 | Vmware, Inc. | Computer image capture, customization and deployment |
US7406693B1 (en) * | 2001-09-10 | 2008-07-29 | Ncr Corporation | Method of controlling applications |
US20080319910A1 (en) * | 2007-06-21 | 2008-12-25 | Microsoft Corporation | Metered Pay-As-You-Go Computing Experience |
US7475186B2 (en) * | 2003-10-31 | 2009-01-06 | Superspeed Software | System and method for persistent RAM disk |
US7516147B2 (en) * | 2003-10-23 | 2009-04-07 | Sumisho Computer Systems Corporation | URL system and method for licensing content |
US7664834B2 (en) * | 2004-07-09 | 2010-02-16 | Maxsp Corporation | Distributed operating system management |
US20120303479A1 (en) * | 2011-05-26 | 2012-11-29 | Microsoft Corporation | Online shopping optimization system |
US8352357B2 (en) * | 2002-03-25 | 2013-01-08 | Paid, Inc. | Method and system for improved online auction |
US8543899B2 (en) * | 2007-03-30 | 2013-09-24 | Sandisk Technologies Inc. | Controlling access to digital content |
US8639784B2 (en) * | 2003-02-06 | 2014-01-28 | International Business Machines Corporation | Client device configuration with hooks |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020087883A1 (en) | 2000-11-06 | 2002-07-04 | Curt Wohlgemuth | Anti-piracy system for remotely served computer applications |
US8831995B2 (en) | 2000-11-06 | 2014-09-09 | Numecent Holdings, Inc. | Optimized server for streamed applications |
US20020083183A1 (en) | 2000-11-06 | 2002-06-27 | Sanjay Pujare | Conventionally coded application conversion system for streamed delivery and execution |
US7043524B2 (en) | 2000-11-06 | 2006-05-09 | Omnishift Technologies, Inc. | Network caching system for streamed applications |
US7451196B1 (en) | 2000-12-15 | 2008-11-11 | Stream Theory, Inc. | Method and system for executing a software application in a virtual environment |
US7649637B2 (en) | 2001-04-05 | 2010-01-19 | Anoto Ab | Method for printing a global position-coding pattern |
US20060048136A1 (en) | 2004-08-25 | 2006-03-02 | Vries Jeff D | Interception-based resource detection system |
US20060090069A1 (en) | 2004-10-22 | 2006-04-27 | Venturcom, Inc. | Method and system for caching read requests from a shared image in a computer network |
US7240162B2 (en) | 2004-10-22 | 2007-07-03 | Stream Theory, Inc. | System and method for predictive streaming |
JP2008527468A (en) | 2004-11-13 | 2008-07-24 | ストリーム セオリー,インコーポレイテッド | Hybrid local / remote streaming |
US20060136389A1 (en) | 2004-12-22 | 2006-06-22 | Cover Clay H | System and method for invocation of streaming application |
WO2006102621A2 (en) | 2005-03-23 | 2006-09-28 | Stream Theory, Inc. | System and method for tracking changes to files in streaming applications |
US8024523B2 (en) | 2007-11-07 | 2011-09-20 | Endeavors Technologies, Inc. | Opportunistic block transmission with time constraints |
US20070112899A1 (en) | 2005-11-14 | 2007-05-17 | Edwards Matthew F | Method and apparatus for fast boot of an operating system |
US8261345B2 (en) | 2006-10-23 | 2012-09-04 | Endeavors Technologies, Inc. | Rule-based application access management |
US8892738B2 (en) | 2007-11-07 | 2014-11-18 | Numecent Holdings, Inc. | Deriving component statistics for a stream enabled application |
-
2007
- 2007-11-22 US US11/944,456 patent/US20090138876A1/en not_active Abandoned
-
2013
- 2013-04-18 US US13/865,217 patent/US9805349B1/en active Active
-
2017
- 2017-09-26 US US15/715,355 patent/US20180025137A1/en not_active Abandoned
Patent Citations (52)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5204055A (en) * | 1989-12-08 | 1993-04-20 | Massachusetts Institute Of Technology | Three-dimensional printing techniques |
US5669069A (en) * | 1994-04-19 | 1997-09-16 | Nokia Mobile Phones Limited | Card reading configuration in a mobile phone |
US5765205A (en) * | 1995-12-27 | 1998-06-09 | International Business Machines Corporation | Method and system for on-demand software distribution |
US5790753A (en) * | 1996-01-22 | 1998-08-04 | Digital Equipment Corporation | System for downloading computer software programs |
US5762125A (en) * | 1996-09-30 | 1998-06-09 | Johnson & Johnson Professional, Inc. | Custom bioimplantable article |
US6311221B1 (en) * | 1998-07-22 | 2001-10-30 | Appstream Inc. | Streaming modules |
US6754896B2 (en) * | 1998-09-21 | 2004-06-22 | Microsoft Corporation | Method and system for on-demand installation of software implementations |
US6546547B1 (en) * | 1999-09-22 | 2003-04-08 | Cisco Technology, Inc. | Method and system for an automated net booting tool |
US7089300B1 (en) * | 1999-10-18 | 2006-08-08 | Apple Computer, Inc. | Method and apparatus for administering the operating system of a net-booted environment |
US7233985B2 (en) * | 1999-10-18 | 2007-06-19 | Apple Inc. | Providing a reliable operating system for clients of a net-booted environment |
US6854009B1 (en) * | 1999-12-22 | 2005-02-08 | Tacit Networks, Inc. | Networked computer system |
US20060013393A1 (en) * | 2000-02-08 | 2006-01-19 | Swisscom Mobile Ag | Single sign-on process |
US6684227B2 (en) * | 2000-04-13 | 2004-01-27 | Fujitsu Services Limited | Electronic content store |
US20010039546A1 (en) * | 2000-05-05 | 2001-11-08 | Moore Michael R. | System and method for obtaining and storing information for deferred browsing |
US6826546B1 (en) * | 2000-08-17 | 2004-11-30 | Ideaflood, Inc. | Method and system for licensing a copy of a copyright protected work |
US20020157089A1 (en) * | 2000-11-06 | 2002-10-24 | Amit Patel | Client installation and execution system for streamed applications |
US7062567B2 (en) * | 2000-11-06 | 2006-06-13 | Endeavors Technology, Inc. | Intelligent network streaming and execution system for conventionally coded applications |
US6918113B2 (en) * | 2000-11-06 | 2005-07-12 | Endeavors Technology, Inc. | Client installation and execution system for streamed applications |
US6959320B2 (en) * | 2000-11-06 | 2005-10-25 | Endeavors Technology, Inc. | Client-side performance optimization system for streamed applications |
US7072950B2 (en) * | 2001-01-23 | 2006-07-04 | Sony Corporation | Method and apparatus for operating system and application selection |
US7017162B2 (en) * | 2001-07-10 | 2006-03-21 | Microsoft Corporation | Application program interface for network software platform |
US7406693B1 (en) * | 2001-09-10 | 2008-07-29 | Ncr Corporation | Method of controlling applications |
US20030120740A1 (en) * | 2001-12-20 | 2003-06-26 | Beeman Edward S. | System and method for keeping data current |
US6954853B2 (en) * | 2002-02-26 | 2005-10-11 | Via Technologies, Inc. | Remote boot system for multiple client terminals and method thereof |
US8352357B2 (en) * | 2002-03-25 | 2013-01-08 | Paid, Inc. | Method and system for improved online auction |
US7035874B1 (en) * | 2002-03-29 | 2006-04-25 | Ncr Corp. | Media streaming in a database |
US7334122B2 (en) * | 2002-04-18 | 2008-02-19 | Ardence, Inc. | System for and method of network booting of an operating system to a client computer using hibernation |
US6954852B2 (en) * | 2002-04-18 | 2005-10-11 | Ardence, Inc. | System for and method of network booting of an operating system to a client computer using hibernation |
US7321936B2 (en) * | 2002-04-18 | 2008-01-22 | Ardence, Inc. | System for and method of streaming data to a computer in a network |
US20040153908A1 (en) * | 2002-09-09 | 2004-08-05 | Eprivacy Group, Inc. | System and method for controlling information exchange, privacy, user references and right via communications networks communications networks |
US7036040B2 (en) * | 2002-11-26 | 2006-04-25 | Microsoft Corporation | Reliability of diskless network-bootable computers using non-volatile memory cache |
US20060199613A1 (en) * | 2003-01-20 | 2006-09-07 | Fredrik Almgren | Method for automatic selection of configuration profile to mobile phone |
US20040163131A1 (en) * | 2003-01-31 | 2004-08-19 | Benco David S. | Telecommunication feature activation and billing support from a centralized server |
US8639784B2 (en) * | 2003-02-06 | 2014-01-28 | International Business Machines Corporation | Client device configuration with hooks |
US7356679B1 (en) * | 2003-04-11 | 2008-04-08 | Vmware, Inc. | Computer image capture, customization and deployment |
US20040260806A1 (en) * | 2003-06-20 | 2004-12-23 | Eric Martin | System supporting communication between a web enabled application and another application |
US20050033850A1 (en) * | 2003-08-07 | 2005-02-10 | International Business Machines Corporation | Personal on-demand media streaming system and method |
US20050044433A1 (en) * | 2003-08-19 | 2005-02-24 | Dunstan Robert A. | Storing encrypted and/or compressed system context information when entering a low-power state |
US7516147B2 (en) * | 2003-10-23 | 2009-04-07 | Sumisho Computer Systems Corporation | URL system and method for licensing content |
US7475186B2 (en) * | 2003-10-31 | 2009-01-06 | Superspeed Software | System and method for persistent RAM disk |
US20070282480A1 (en) * | 2003-11-10 | 2007-12-06 | Pannese Patrick D | Methods and systems for controlling a semiconductor fabrication process |
US20050149740A1 (en) * | 2003-12-31 | 2005-07-07 | Kotzin Michael D. | Method and apparatus for device authentication |
US20050144431A1 (en) * | 2003-12-31 | 2005-06-30 | Jade Quantum Technologies, Inc. | IP-based method and apparatus for remote booting computers in wide-area-network environment |
US20060031547A1 (en) * | 2004-05-07 | 2006-02-09 | Wyse Technology Inc. | System and method for integrated on-demand delivery of operating system and applications |
US7664834B2 (en) * | 2004-07-09 | 2010-02-16 | Maxsp Corporation | Distributed operating system management |
US7281068B2 (en) * | 2004-07-15 | 2007-10-09 | International Business Machines Corporation | Wireless-boot diskless mobile computing |
US20060015931A1 (en) * | 2004-07-15 | 2006-01-19 | Davis Mark C | Wireless-boot diskless mobile computing |
US20060294019A1 (en) * | 2005-06-22 | 2006-12-28 | Lenovo (Singapore) Pte. Ltd. | On demand business model to reuse software license |
US20070208834A1 (en) * | 2006-02-14 | 2007-09-06 | Nanamura Roberto N | On-demand software service system and method |
US8543899B2 (en) * | 2007-03-30 | 2013-09-24 | Sandisk Technologies Inc. | Controlling access to digital content |
US20080319910A1 (en) * | 2007-06-21 | 2008-12-25 | Microsoft Corporation | Metered Pay-As-You-Go Computing Experience |
US20120303479A1 (en) * | 2011-05-26 | 2012-11-29 | Microsoft Corporation | Online shopping optimization system |
Cited By (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20100192145A1 (en) * | 2009-01-27 | 2010-07-29 | Dell Products L.P. | Operation System Installation Methods and Media |
US8875125B2 (en) * | 2009-01-27 | 2014-10-28 | Dell Products L.P. | Operation system installation methods and media |
US20100188402A1 (en) * | 2009-01-28 | 2010-07-29 | International Business Machines Corporation | User-Defined Non-Visible Geometry Featuring Ray Filtering |
US8248415B2 (en) * | 2009-01-28 | 2012-08-21 | International Business Machines Corporation | User-defined non-visible geometry featuring ray filtering |
US20110138050A1 (en) * | 2009-12-03 | 2011-06-09 | International Business Machines Corporation | Optimizing cloud service delivery within a cloud computing environment |
US9274848B2 (en) * | 2009-12-03 | 2016-03-01 | International Business Machines Corporation | Optimizing cloud service delivery within a cloud computing environment |
US8798580B2 (en) * | 2010-09-21 | 2014-08-05 | Cellco Partnership | Method and system for activating services on a wireless terminal |
US20120071139A1 (en) * | 2010-09-21 | 2012-03-22 | Kumar Nanda | Method and system for activating services on a wireless terminal |
US20120096264A1 (en) * | 2010-10-15 | 2012-04-19 | Oracle America, Inc. | Java store television |
US9626488B2 (en) * | 2010-10-15 | 2017-04-18 | Oracle America, Inc. | Java store television |
US10373139B2 (en) * | 2010-10-15 | 2019-08-06 | Oracle America, Inc. | Java store television |
US20120260246A1 (en) * | 2011-04-06 | 2012-10-11 | International Business Machines Corporation | Software application installation |
US9369959B2 (en) | 2011-10-31 | 2016-06-14 | Nokia Technologies Oy | Wirelessly transferring data to a packaged electronic device |
USRE47394E1 (en) | 2011-10-31 | 2019-05-14 | Wsou Investments, Llc | Wirelessly transferring data to a packaged electronic device |
US20130326495A1 (en) * | 2012-06-01 | 2013-12-05 | Nokia Corporation | Wireless programming |
US9307347B2 (en) * | 2012-06-01 | 2016-04-05 | Nokia Technologies Oy | Wireless programming |
US10148665B2 (en) | 2016-05-10 | 2018-12-04 | Microsoft Technology Licensing, Llc | Self-service acquisition of subscriptions to online services |
CN106897586A (en) * | 2016-08-04 | 2017-06-27 | 阿里巴巴集团控股有限公司 | A kind of application programming interface API right management methods and device |
US10855674B1 (en) * | 2018-05-10 | 2020-12-01 | Microstrategy Incorporated | Pre-boot network-based authentication |
Also Published As
Publication number | Publication date |
---|---|
US20180025137A1 (en) | 2018-01-25 |
US9805349B1 (en) | 2017-10-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9805349B1 (en) | Method and system for delivering application packages based on user demands | |
US20220407725A1 (en) | File storage method, terminal, and storage medium | |
JP5437998B2 (en) | Consumption of items via user device | |
CN102938039B (en) | For the selectivity file access of application | |
US20160350682A1 (en) | Open market content distribution | |
CN100461097C (en) | Side-by-side drivers | |
US8205001B1 (en) | Digital rights management integrated service solution | |
US20070100753A1 (en) | Information terminal device and content backup method | |
CN1489043A (en) | Software licensing management system and method and recording medium | |
CN104254862A (en) | Content purchasing | |
EP2035968A1 (en) | Method and apparatus for searching rights object and mapping method and mapping apparatus for the same | |
CN101981955B (en) | Method and apparatus for managing tokens for digital rights management | |
US20110126193A1 (en) | System and Method for Imaging and Provisioning of Information Handling System | |
KR20110045104A (en) | Method, system, and device for license-centric content consumption | |
KR101350104B1 (en) | Method, system, and device for license-centric content consumption | |
CN101310263A (en) | Data communication with remote network node | |
WO2016003431A1 (en) | Composite document referenced resources | |
US9886685B2 (en) | Distributed digital rights-managed file transfer and access control | |
WO2009048923A1 (en) | Playlist resolver | |
WO2008154060A2 (en) | Method and apparatus to enable a securely provisioned computing environment | |
CN1388459A (en) | Imaging data processing system, printing forming system and storage medium forming system | |
CN103259847B (en) | File push method, desktop cloud platform and server | |
US10133759B1 (en) | System for determining storage or output of data objects | |
JP2004126908A (en) | Data storage system, data management method, and data storage medium | |
WO2006015538A1 (en) | Method and device for providing memory space to mobile terminal |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |