HK1191126A - On-line software rental - Google Patents
On-line software rental Download PDFInfo
- Publication number
- HK1191126A HK1191126A HK14104349.4A HK14104349A HK1191126A HK 1191126 A HK1191126 A HK 1191126A HK 14104349 A HK14104349 A HK 14104349A HK 1191126 A HK1191126 A HK 1191126A
- Authority
- HK
- Hong Kong
- Prior art keywords
- software product
- data processing
- processing device
- software
- user
- Prior art date
Links
Abstract
The present invention relates to on-line software rental. Methods, systems, and apparatus, including computer program products, for a rental service through a computer network. A collection of virtual containers is assigned to a set of users including one or more users. Each virtual container in the collection is configured to identify one or more software products that are rented by users in the set. A user in the set is authorized to access a software product through the computer network based on whether the software product is identified as a rented software product in one or more virtual containers of the collection assigned to the set of users.
Description
The application is a divisional application of Chinese patent application No.03825164.7 entitled "on-line software lease" with the application date of 09, 16/2003.
Technical Field
The invention relates to distributing software.
Background
The internet is a global computer network that utilizes the common communication protocol, TCP/IP (transmission control protocol/internet protocol), to route data from one place to another. High speed connections, such as broadband connections, enable a user on the internet to interact with another user or service provider without long interruptions, even if the interaction requires the transfer of large amounts of data. For example, a user on the internet may play a computer game online, i.e., when connected to a server in which a portion of the game software is running. Typically, one or more computer programs or portions of programs are downloaded to a user's client computer prior to playing a game. The client computer may install the downloaded computer program (or a portion of the program) to play the game. While the game is running, the client computer communicates with the server, for example, to receive data from the server based on user input and the current and future state of the game.
In addition to playing games online, consumers may purchase game software from a brick-and-mortar computer software retailer or an Internet retailer. The purchased software may then be installed on one or more computing systems and used on the one or more computing systems.
Disclosure of Invention
A server in a computer network utilizes a virtual container assigned to a user to authorize online access to software, such as game software, rented by the user over the network. In general, in one aspect, the invention provides: methods and apparatus, including computer program products, for providing rental services over a computer network. A collection of virtual containers is assigned to a group of users including one or more users. Each virtual container in the collection of virtual containers is configured to identify one or more software products rented by users in the group of users. Users in the user group are authorized to access the software product over the computer network based on whether the software product is identified as a rented software product in one or more virtual containers in the collection assigned to the user group.
Particular implementations can include one or more of the following features. Rented software products in the virtual container can be identified for a rental period. The rented software product can be deleted from the virtual container at the end of the rental period. A user subscription for renting software products may be received from a user in the group of users, and a collection of virtual containers may be assigned according to the user subscription. Allocating a collection of virtual containers according to a user subscription may include allocating a predetermined number of virtual containers during a subscription period. The allocation of a batch of virtual containers may be cancelled at the end of the subscription period. The computer network may include the internet. Rented software products may include game software, educational or business software, or electronic media content.
Information about a client system connected to a computer network for using the rented software product may be acquired and access may be granted based on the acquired information. Authorizing access based on the obtained information may include denying access to the rented software product. Obtaining information about the client system may include determining whether the client system includes one or more personal computers and digital gaming devices. If access is authorized, access is provided to the users in the group of users to use the rented software product such that a client portion of the rented software product operates in the client system when the users in the group of users use the rented software product over the computer network. The client portion of the rented software product can be determined based on the information obtained about the client system. Obtaining information about the client system may include obtaining information describing a connection speed of the client device over a computer network.
A user interface for renting software products may be provided. In a user interface, user input may be received. The received user input may select a software product and place the selected software product in a virtual container of the assigned collection of virtual containers to be identified as a rented software product. The list of software may be presented in a user interface. The software listing may include one or more items, each of which represents a software product for rental. User input may be received for selecting one or more items in the software listing. Receiving user input for selecting one or more items in the software listing may include receiving user input for selecting one or more items in the software listing according to one or more of type, name, manufacturer, and system requirements. Presenting the software listing may include presenting the software listing according to one or more of alphabetical order of names, release dates, and popularity of the software products for rental. Presenting the software listing may include presenting the software listing based on a user profile.
Assigning a collection of virtual containers to a group of users can include assigning one or more virtual containers for rental having high priority, variable rental periods, or defined content. Assigning a collection of virtual containers to a group of users can include assigning restricted access virtual containers that cannot be used by one or more users in the group of users to access the software product, or assigning multi-player virtual containers to be associated with a multi-player game.
Software products identified in virtual containers in the allocated collection of virtual containers may be offered for sale. Offering to sell the software product may include offering a sales ticket for the software product or an option for downloading the software product over a computer network. The number of virtual containers in the allocated collection of virtual containers may be increased. Increasing the number of virtual containers may include increasing the number of virtual containers if a user in the group earns a bonus for using the rented software product.
In general, in another aspect, the invention provides methods and apparatus, including computer program products, for renting software online. The method comprises the following steps: selecting one or more software products available for rental from an online rental service over a computer network; and subscribing to a software package provided by the online rental service. The software package assigns a collection of virtual containers to one or more users. The selected software product is placed in one or more virtual containers in a collection of virtual containers to identify the selected software product as a software product rented by an assigned user. If the software product is identified as a rented software product in a virtual container of a collection of virtual containers assigned to the user, the user is allowed access to the software product.
Particular implementations can include one or more of the following features. Authorization may be received from the online rental service to access the rented software product. Selecting one or more software products may include selecting a software game. Allowing the user to access the software product may include allowing the user to play a selected software game.
In general, in another aspect, the invention provides: methods and apparatus, including computer program products, for providing rental services over a computer network. A subscription of a user is received. A collection of virtual containers is assigned to the user based on the received subscription. Each virtual container in the batch of virtual containers is configured to identify one or more software products rented by the user. User input is received that selects one or more software products to be identified as rented software products in one or more virtual containers of a collection assigned to a user. The user is authorized to access the software product over the computer network if the software product is identified as a rented software product in one or more virtual containers of the collection assigned to the user.
In general, in another aspect, the invention provides a server system for renting software products over a computer network. The server system includes a rental manager for assigning a collection of virtual containers to a group of users including one or more users. Each virtual container in the collection of virtual containers is configured to identify one or more software products rented by users in the group of users. The rental manager is further configured to authorize users in the group of users to access the software product over the computer network based on whether the software product is identified as a rented software product in one or more virtual containers in the collection assigned to the group of users.
Particular implementations can include one or more of the following features. The software product may include a software game. The server system may include an application engine configured to allow one or more users to play one or more software games if the rental manager authorizes access to the software games. The server system may include a selection tool configured to select one or more software products for rental. The selection tool may be further configured to select a user subscription from a plurality of subscription models. The selection tool may be further configured to select from a plurality of purchase options. The server system may include a system check tool configured to determine whether a client system used by one or more users in the group of users is suitable for renting software products available from the server system. The server system may include a payment manager configured to manage and record received payments for renting software products.
The invention can potentially be implemented to realize one or more of the following advantages. A server on a computer network, such as the internet, may provide a software rental service to users of the network. For example, a user may rent and play game software online. The rental service can provide a single game rental and/or subscription to the user. A user may subscribe to a software package that includes a predetermined number of games that may be played an unlimited number of times during a rental period. A subscribing user may have one or more specially assigned virtual containers (e.g., slots) that identify software (e.g., game software) rented by the user. The user may select a game for each slot. The slots may include dedicated slots corresponding to software rentals with defined content and/or defined access. For example, a dedicated slot may be dedicated to renting games having one or more particular levels or types, and/or may be accessible only by particular users (e.g., users above a certain age). One type of slot may allow a user to participate in a game involving multiple players. Alternatively or additionally, one or more slots may have a variable rental period and/or assigned priority, such as a high priority for renting up-to-date games. The user may optionally purchase the rented software.
The details of one or more implementations of the invention are set forth in the accompanying drawings and the description below. Other features and advantages of the invention will become apparent from the following description, the accompanying drawings, and the claims.
Drawings
FIGS. 1A and 1B are schematic diagrams of a system for renting software online.
FIGS. 2 and 3 are flow diagrams illustrating methods for renting software online.
Fig. 4-9 show exemplary screen shots in a user interface for renting game software online.
Like reference symbols in the various drawings indicate like elements.
Detailed Description
FIG. 1A shows a system 100 that allows users in a network 10 to rent software, such as games, online. System 100 includes a first client 110, a server 120, and a data store 130. A user interacts with a client 110 connected to a server 120 through a network 10. The system 100 also includes a second client 141 and a third client 142 that can be connected to the server 120 over the network 10. In alternative embodiments, the system may include any number of clients.
The server 120 may access a data store 130, which data store 130 stores software applications for renting and optionally corresponding documents. In one implementation, the data storage 130 stores software applications for computer games, and the server 120 rents games online. Although system 100 for renting games online will be described in detail below, in alternative implementations, system 100 may be used to rent any other software product. For example, the system 100 may be used to rent educational or business software applications, or media or other electronic content.
Network 10 may be a public network such as the internet in which data is communicated over public communication links. Alternatively, the network 10 may be a private network such as a LAN (local area network), or may include a combination of a public network and a private network. For example, the internet may be utilized to connect two or more LANs. In a private network, software may be leased to users who may access that network.
The client 110 is a set of programs running in a client computer system and, among other functions, requests services from the server 120. The client system may include one or more personal computers and/or one or more digital gaming devices, such asX-box or Sony. Client 110 is capable of interacting with server 120 to rent and play games over network 10. For example, client 110 may request a game rental and play service for a user, i.e., a player. Typically, other clients, such as clients 141 and/or 142, utilize server 120 to request gaming services for other players in network 10.
Client 110 includes a browser application 112 and a launcher application (not shown). Browser application 112, once invoked, allows a user of client 110 to interact with other applications or services over network 10. Before game play, a launcher application may be downloaded from, for example, server 120, which allows client 110 to interpret data streams received from server 120 during game play.
The server 120 may be implemented in the form of a computer program that provides services to clients and typically runs on one or more server computers. Server 120 includes web front end 122, rental manager 124, and application engine 126. The web front end 122 provides customized views to communicate with the user for renting and/or playing games. Rental manager 124 provides a rental service that allows users to rent games over network 10, as discussed further with reference to fig. 1B. The application engine 126 provides a play service that allows the user to play the rented game. In one implementation, the application engine 126 runs a computer program or portion of a program that rents a game while the user is playing the rented game. Alternatively or additionally, the application engine 126 may be connected through the network 10 to one or more other servers capable of running the program or a portion of the program of the game. In one implementation, server 120 includes only rental manager 124 to provide rental services, and the corresponding play services are provided by one or more other servers in network 10.
Fig. 1B shows an implementation of rental manager 124. In this implementation, rental manager 124 includes selection tool 152, authorization manager 156, system check tool 158, and payment manager 159. Selection tool 152 allows the user to select one or more games and provides the user with the option of renting or purchasing the selected games. Authorization manager 156 assigns slots (slots) 157 to users, where each slot is a virtual container configured to identify one or more games rented by a respective user. If the game is identified in the slot assigned to the user, authorization manager 156 authorizes the user to play the game, as discussed further with reference to FIG. 3. The system check tool 158 can determine whether the client system is suitable for playing one or more special games, as discussed further with reference to FIG. 2. Payment manager 159 manages and records payments for user rentals and purchases.
The selection tool 152 specifies available game software 153, subscription models 154, and purchase options 155. Available game software 153 specifies games from which a user can select one or more games to rent or purchase. Available game software 153 can specify games that are available from server 120, or that will be available from server 120 (or optionally from other servers in network 10). Selection tool 152 may also include or indicate information about available game software 153, as discussed further with reference to FIG. 2. Based on available game software 153, selection tool 152 can present one or more game lists to the user and receive user selections of one or more games from the game lists. In addition to selecting a game, selection tool 152 also allows the user to select from a plurality of options to rent the selected game. For example, the user may select from a variety of subscription services specified by the subscription model 154, as further discussed with reference to FIG. 3. Selection tool 152 can also provide the user with selected games for purchase as specified by purchase options 155 and receive user selections of one or more of purchase options 155.
In addition to subscriptions, selection tool 152 can also provide a single game rental (not shown in FIG. 1B). When a single game rental is desired, the user designates a particular game and is charged a predetermined rental price, such as $ 4.95. After the rental price is given, the user is authorized to play the selected game, for example, over network 10 for a predetermined time period, typically several days (e.g., one to three days), depending on the parameters associated with the individual game rental. Alternatively or additionally, the user may be limited to a predetermined time of actual game play.
FIG. 2 shows a method 200 for renting software, such as one or more games, online. Method 200 may be performed in system 100 (fig. 1A), or in other systems that allow users to rent software, such as games, online in a computer network. The user selects a rental service (step 210). To select a rental service, the user may view, for example, a web page received from server 120 over network 10. In one implementation, the web page is a dynamic web page generated by the web front end 122 and includes navigation tools for viewing details of the rental service description. Alternatively, the user may receive an electronic or traditional mail that includes a description of the rental service.
After the rental service is selected, the corresponding launcher application is invoked in the user's client computer (step 220). The launcher application allows the client computer to interpret data received from the respective server, for example, to play a game. For example, a launcher application and data for a game may be downloaded from server 120 (FIG. 1A), and the downloaded launcher application may be installed in a client computer. Alternatively or additionally, the launcher application may be available from other sources, such as on an optical disc associated with the selected rental service. Optionally, the launcher application may be updated prior to invoking the launcher application. In an alternative implementation, the launcher application may be invoked when the user chooses to view a game presentation, order a game package, rent a game, or when the server performs a system check on the client as described below.
Next, the client system is examined to determine the software and/or hardware environment of the client (step 230). The results of the check may be used to verify that the client meets system requirements for using rental services, such as online rental and/or game play. In one implementation, rental manager 124 performs a primary system check on the client system. The primary system checks to see if the client system meets the basic requirements of the rental service. The basic system requirements may include one or more of the following requirements: speed requirements, such as broadband connections; operating system requirements, such as Windows95 or above; processor requirements, such as a Pentium processor running at a frequency of 233MHz or faster; memory requirements, such as 64MB or more of RAM (random Access memory); available magnetic memory space, e.g., 500MB or more; a sound card; a video card; a browser, launcher, or other application, such as Microsoft Direct X for playing games. Optionally, the server can check whether the client system includes a personal computer or a gaming device, e.g.OrIn addition, the server is able to measure the speed of high-speed connections.
Optionally, the system check may be initiated at any time by the user, or automatically by rental manager 124 prior to rental, for example, or by application engine 126 prior to starting game play. When a system check is performed prior to renting or playing a game, the system check may compare the results of the system check to the system requirements of the game. In one implementation, the comparison is used to decide which (or how much) data needs to be downloaded to the client before or during game play.
The server 120 can inform the user about the result of the system check by transmitting the system check record to the client. Fig. 4 shows an exemplary system check record. If the client system does not meet the basic system requirements, rental manager 124 can ask the user to upgrade one or more features of the client system before using the rental service. Alternatively, rental manager 124 can present the user with limited game options. The limited selection may include games that can only be played in the current software and/or hardware environment of the client system. Optionally, the subscription fee may be adjusted when the user has only limited options.
The user selects one or more game software applications for rental (step 240). To select a game, web front end 122 provides a user interface to the user over network 10, and rental manager 124 provides one or more game lists based on available game software 153. The game list may include all available game software applications or may be a selection from available games based on user input and/or some predefined criteria. The selection may be based on categories or types, such as actions, adventure, street game, role-playing, simulation, sports, and policy. Alternatively, the selection may be based on the distributor, manufacturer, or rating. The rating may include a rating of quality and/or content, or may be based on an age recommended for the game player. In one implementation, the selection includes games that can be played in a given client system.
The game list may be ordered based on one or more ordering characteristics. The ranking features may include, for example, alphabetical order of game titles, release date, or one or more statistical measures, i.e., features based on statistical evaluation of game-related data. For example, a statistical metric for the game may be calculated by rental manager 124, and the statistical metric may include a "popularity" that reflects the number of players renting the game over a specified period of time. Further, the game list may be selected and ordered based on one or more search parameters, such as words in the game name. The ranking may be performed by linking various ranking features so that a combination of criteria can be used to present the selection to the user.
Optionally, the game list may include rental information such as the number of slots required to rent the games in the list, as well as the current or future availability of games. For example, the list of games may include games that will be available in the near future. Further, the game list may indicate whether a game is to be deleted from the rental service, i.e., after some time later, the game will not be available for rental. The game list may also display the number of slots currently available for renting games. Fig. 5 shows an exemplary game list.
In an alternative implementation, rental manager 124 can provide a game list of recommended games based on the player's profile. If one or more of the slots 157 have been allocated to a player, the game list may include the same number of recommended games as the number of available, i.e., empty, slots. In one implementation, the recommended game may be presented in an empty slot. Alternatively, the empty slot may include information to help select the next game for rental. For example, an empty slot may present a screen from a recently added game.
Optionally, the user may pre-select one or more games in the list of games to obtain a product page that provides detailed information about the pre-selected games. The product sheet may include one or more of the following features: the size of the code that needs to be downloaded to play the game; a corresponding download time estimate; short and/or long game descriptions; instructions for the game; frequently asked game questions; grade information; a screen from a game; sales information; a navigation tool for accessing similar games in the rental service; and an address for accessing a publisher or manufacturer of the game, discussion group, or other internet site containing game-related information. FIG. 6 shows an exemplary product page.
After selecting one or more game software applications, the user rents the selected game software applications (step 250). In one implementation, the user may select a single game rental or subscribe to a rental service according to one of the subscription models 154. For example, a user may subscribe to have many allocated slots, as discussed with reference to FIG. 3. If the user has subscribed to and has one or more allocated slots, the user can use the empty slots if available, or the user can select a single game rental, as shown in the exemplary screen slot in FIG. 7.
The user executes one or more of the rented applications (step 260). For example, a user may play a game online or offline. Authorization manager 156 can authorize the play of rented games, and if authorized, application engine 126 can provide programs that allow the user to play the games. For online game play, the application engine 126 may execute a corresponding program or portion of a program as the user plays the game. In an alternative implementation, after authorization, rental manager 124 can direct the user to another server that provides game play services upon authorization by rental manager 124.
FIG. 3 shows a method 300 for implementing a software rental reservation service. Method 300 may be performed by server 120 in system 100 (FIG. 1A), or by other servers in a system that allows users in a computer network to rent software, such as games, online. The server 120 provides the subscription to the user according to the subscription model 154 (step 310). Alternatively, the subscription may be provided by electronic or traditional mail, or by telephone. In one implementation, the subscription model 154 may provide game pieces, where each game piece specifies a plurality of games, such as three, five, or ten games. When subscribing to a game package, a user can select a specified number of games and can play any of the selected games for a rental period, such as a month. In one implementation, the rental period for the game package is substantially longer than the rental period for a single game rental. FIG. 8 shows an exemplary presentation of a game package including three games, five games, and ten games.
The server 120 receives the user subscription, e.g., through the network 10 (step 320). Alternatively, the operator may enter the user subscription into the server 120, or conversely, information regarding the user subscription may be provided to the server 120. In one implementation, the user may subscribe to the game piece at any time. For example, the user may authorize the payment manager 159 to charge a subscription fee on a credit card. Alternatively, the user may select other payment methods, such as money orders or personal checks, and the operator may enter payment information into the server 120 so that the payment manager 159 can record the payment.
To enforce the received user subscription corresponding to the game package, the server 120 allocates a set of slots to the user based on the game package (step 330). For example, a game package of n games may be implemented by allocating a set of slots including n slots to a user. Slots are virtual containers used to identify games rented by users. That is, the rented games are placed in slots (metaphorically). Typically, a slot identifies a rented game. Optionally, the slots may be configured to identify a plurality of rented games. For example, one slot may identify two rented games, such as games with low or decreasing market value. Alternatively, renting a single game may acquire multiple slots to identify the same game, for example, if the game has a high market value or high demand. Fig. 9 shows a ten-slot implementation.
In the user interface, the server 120 receives user input for placing one or more game applications into the slots allocated to the user (step 340). For example, the user may drag, drop down a menu to select from the menu, or otherwise indicate which game belongs to which allocated slot. Games can be placed in slots as long as the game pieces are valid, i.e. the user has properly subscribed to the game pieces. Once the game is placed in the slot, the slot identifies the game as a game rented by the user.
The slot identifies the rented game for a rental period. In one implementation, the rental period has a predefined duration, such as thirty days, from the time the game is placed in the slot. Alternatively, the rental period may begin at a predefined time, such as the first day of each month. Further, different slots may have different rental periods, or rental periods may be established based on the market value of the game to be rented. Optionally, the server 120 may indicate to the user the remaining time of the game in the slot. For example, the server may display the remaining time and/or expiration date for each game in the slots allocated to the user.
The server 120 authorizes access to the game application identified in the slot assigned to the user (step 350). Based on the authorization, the server 120 or another server may provide a play service to play the game in the slot. When the game is in the slot, i.e., during the rental period, the user can play the game without any additional restrictions. If there is a problem with the game during the rental period, such as the game "frozen" or starting incorrectly, rental manager 124 (e.g., payment manager 159) can provide the user with an automatic refund (e.g., if the game selection is not compatible with the user's system).
Periodically, such as at the end of a rental or billing period, server 120 can restore or update the assigned set of slots based on user input and/or billing information provided, for example, by payment manager 159 (decision 360). If the allocated set of slots cannot be restored or updated ("no" branch of decision 360), the user subscription is cancelled (step 370). If the allocated set of slots is restored or updated ("yes" branch of decision 360), the corresponding slots are allocated to the user (i.e., method 300 returns to step 330).
Typically, the user subscription is updated at the end of a billing period, e.g., each month, when a subscription fee should be paid. In one implementation, slots are automatically restored. For example, slots may be allocated to users according to a self-renewing subscription service, provided that appropriate payment is received, or until a cancellation request is received from the user. Typically, the user can unsubscribe from the service at the end of the billing period. Alternatively, the user may subscribe for a subscription period, e.g., one year, and may unsubscribe from the service at the end of the subscription period.
At the time of update, the user can upgrade or downgrade the allocated slots. In one implementation, the game pieces may be upgraded at any time by adding slots to the game pieces. In one implementation, a user cannot downgrade a subscribed game piece without canceling the game piece. Alternatively, the user may be allowed to cancel any tenancy or any number of slots at a given time. In one implementation, the user may be required to pay a cancellation fee. In one implementation, a user may earn free slots by playing games often, or may receive a second game in an existing slot.
At the end of the rental period, the game is deleted from the corresponding slot. Once the slot is emptied, a new game may be placed in the slot. Optionally, the previous game in the slot may be resumed for the next rental period. In one implementation, games cannot be deleted from the slot until the end of the rental period. Alternatively, if a game is deleted from a slot before the end of the rental period, the user may select a new game for the slot from a defined set of games (i.e., the subscription service rents a particular number of slots instead of a particular number of games).
Optionally, the user may have purchase options for the rented game during or at the end of the rental period. The purchase option may provide for online purchase of rented games at a price. In one implementation, the user may download the rented game immediately upon purchase. Alternatively, the user may receive credentials from the retailer to purchase the rented game. The credential may identify the rental service that issued the credential. If the voucher is for a game at a retailer, the retailer can send the voucher to the game issuer so that the game issuer can identify the rental service that assists in selling the game.
In an alternative implementation, a set of slots may include one or more dedicated slots. In one implementation, a dedicated slot may have a priority assigned, for example, corresponding to the market value of a game that may be placed in the dedicated slot. For example, high market value or high demand games may be placed in the high priority slots. Alternatively, high priority slots may provide improved service from the server, for example by providing high resolution images or large bandwidth. In one implementation, a dedicated slot may provide a variable lease. Further, the dedicated slots may have an associated rating or category that can be used to limit games that may be placed in the dedicated slots.
In one implementation, a group of users (e.g., a household) may share a set of slots. The shared set of slots may include slots that are dedicated to different members of the user group. Games in a given slot may be accessed by a password held by a given user group member. The designated slot may have a limit. For example, a slot assigned to a child can only identify games that are considered suitable for the child.
In one implementation, server 120 may enforce reservations for multiplayer games. For example, the server 120 may install a dedicated slot for games played by multiple players. By placing the multiplayer game in such a dedicated slot, the user can be authorized to participate in the game. The multiplayer game may be provided by the server 120. Alternatively, another service provider on the Internet may provide play services for a multiplayer game, and server 120 may provide only rental services (e.g., server 120 may authorize users to participate in the game).
The invention can be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them. The invention can be implemented as a computer program product, i.e., a computer program tangibly embodied in an information carrier, e.g., in a machine-readable storage device or in a propagated signal, for execution by, or to control the operation of, data processing apparatus, e.g., a programmable processor, a computer, or multiple computers. A computer program can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program can be deployed to be executed on one computer or on multiple computers at one site or on multiple sites that are interconnected by a communication network.
Method steps of the invention can be performed by one or more programmable processors executing a computer program to perform functions of the invention by operating on input data and generating output. Method steps of the invention may also be performed by, and apparatus of the invention may be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processors of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all forms of non-volatile memory, including by way of example semiconductor memory devices, e.g., EPROM (electrically programmable read-only memory), EEPROM (electrically erasable and programmable read-only memory), and flash memory devices; magnetic disks, such as internal hard disks or removable disks; magneto-optical disks; and CD-ROM (compact disc read only) and DVD-ROM (digital versatile disc read only). The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
To provide for interaction with a user, the present invention may be implemented on a computer having: a display device for displaying information to a user, such as a CRT (cathode ray tube) or LCD (liquid crystal display) monitor; and a keyboard and a pointing device, such as a mouse or a trackball, by which a user can provide input to the computer. Other kinds of devices may also be used to provide for interaction with the user; for example, feedback provided to the user can be any form of sensory feedback, such as visual feedback, auditory feedback, or tactile feedback; and input from the user may be received in any form, including acoustic, speech, or tactile input.
The invention has been described with reference to specific embodiments. Other embodiments are within the scope of the following claims. For example, the steps of the invention may be performed in a differing order and still achieve desirable results. In alternative implementations, the described techniques for renting game software online can also be used to rent other software products, such as software applications such as educational or business applications, or electronic content such as media content or any other content for rental. In addition to leasing, these techniques may also be used, for example, to license, authorize use of, or authorize access to a software product.
Claims (34)
1. A server system for providing one or more software products over a computer network, the server system comprising:
a lease manager configured to assign a set of virtual containers to a group of users including one or more users, wherein the set is selected from a plurality of sets, each set having a different number of virtual containers, and wherein each virtual container in the set is implemented by a server system and configured to identify one or more software products leased by users in the group, wherein the lease manager assigns a different virtual container priority level to at least one virtual container in the set than another virtual container, wherein each virtual container priority level corresponds to a variable software product access level, and wherein the lease manager is further configured to, depending on whether the software product is identified as a software product leased in one or more virtual containers in the set assigned to the group of users, to authorize the users in the group to access the software product via the computer network,
wherein the software product comprises a plurality of software games, the server system further comprising:
an application engine configured to allow one or more users to play one or more software games of the plurality of software games if the rental manager authorizes access to the one or more software games.
2. The server system of claim 1, further comprising:
a selection tool configured to select one or more software products for rental.
3. The server system according to claim 1, wherein:
the selection tool is further configured to select a user subscription from a plurality of subscription models.
4. The server system of claim 1, further comprising:
a system check tool configured to determine whether a client system used by one or more users in the group of users is suitable for renting software products available from the server system.
5. A data processing apparatus executing a software product, the software product tangibly embodied in a machine-readable medium for providing access to the software product over a computer network, the software product including instructions operable to cause the data processing apparatus to:
assigning a set of virtual containers to a group of users including one or more users, each virtual container in the set implemented by at least one computer and configured to identify one or more software products rented by users in the group, wherein at least one virtual container in the set provides a different time period duration than at least one other virtual container in the set, and wherein at least one virtual container in the set allows for the deletion of a software product or the addition of a new software product before the expiration of the time period associated with the at least one virtual container; and
authorizing users in the group to access a software product over the computer network based on whether the software product is identified as a rented software product in one or more virtual containers in the set assigned to the group of users.
6. The data processing device of claim 5 executing a software product, the software product further comprising instructions operable to cause the data processing device to:
identifying the rented software product in the virtual container for a rental period.
7. The data processing device of claim 6, wherein the software product further comprises instructions operable to cause the data processing device to:
deleting the rented software product from the virtual container at the end of a lease.
8. The data processing device of claim 5 executing a software product, the software product further comprising instructions operable to cause the data processing device to:
receiving a user subscription from a user in the group for renting a software product,
wherein assigning the set of virtual containers comprises assigning the set of virtual containers according to the user subscription.
9. The data processing device executing the software product of claim 8, wherein:
allocating the set of virtual containers according to the user subscription includes allocating a predetermined number of virtual containers within a subscription period.
10. The data processing device of claim 9, wherein the software product further comprises instructions operable to cause the data processing device to:
the allocation of the set of virtual containers is cancelled at the end of the subscription period.
11. The data processing device executing the software product of claim 5, wherein the computer network comprises the internet.
12. The data processing device executing the software product of claim 5, wherein the rented software product comprises game software.
13. The data processing device executing a software product according to claim 5, wherein the rented software product comprises educational or business software.
14. The data processing device executing the software product of claim 5, wherein the rented software product comprises electronic media content.
15. The data processing device of claim 5 executing a software product, the software product further comprising instructions operable to cause the data processing device to:
obtaining information about a client system connected to the computer network for using the rented software product,
wherein granting access comprises granting access based on the obtained information.
16. The data processing device executing the software product of claim 15, wherein
Authorizing access based on the obtained information includes denying access to the rented software product.
17. The data processing device executing the software product of claim 15, wherein:
obtaining information about the client system includes determining whether the client system includes one or more personal computers and digital gaming devices.
18. The data processing device of claim 15, the software product further comprising instructions operable to cause the data processing device to:
if access is authorized, providing access for the users in the group to use the rented software product such that a client portion of the rented software product operates in the client system when the users in the group use the rented software product over the computer network.
19. The data processing device executing the software product of claim 18, further comprising:
determining a client portion of the rented software product based on the acquired information about the client system.
20. The data processing device executing the software product of claim 15, wherein:
obtaining information about the client system includes obtaining information describing a connection speed of the client device over the computer network.
21. The data processing device of claim 5 executing a software product, the software product further comprising instructions operable to cause the data processing device to:
a user interface for renting a software product is provided.
22. The data processing device of claim 21, wherein the software product further comprises instructions operable to cause the data processing device to:
user input is received in the user interface for selecting a software product and placing the selected software product in one of the set of assigned virtual containers to be identified as a rented software product.
23. The data processing device of claim 21, wherein the software product further comprises instructions operable to cause the data processing device to:
presenting, in a user interface, a software list comprising one or more items, each item representing a software product for rental; and
user input is received for selecting one or more items in the list.
24. The data processing device executing the software product of claim 23, wherein:
receiving user input for selecting one or more of the software listings includes receiving user input for selecting one or more of the software listings by one or more of type, name, manufacturer, and system requirements.
25. The data processing device executing the software product of claim 23, wherein:
presenting the list of software includes presenting the list of software according to one or more of alphabetical order of names, release dates, and popularity of the software products for lease.
26. The data processing device executing the software product of claim 23, wherein:
presenting the list of software includes presenting the list of software according to a user profile.
27. The data processing device executing the software product of claim 5, wherein:
assigning the set of virtual containers to the group of users includes assigning one or more virtual containers for lease with high priority.
28. The data processing device executing the software product of claim 5, wherein:
assigning the set of virtual containers to the user group includes assigning one or more virtual containers for lease with a variable lease period.
29. The data processing device executing the software product of claim 5, wherein:
assigning the set of virtual containers to the user group includes assigning one or more virtual containers for rental with the defined content.
30. The data processing device executing the software product of claim 5, wherein:
assigning the set of virtual containers to the group of users includes assigning restricted access virtual containers that cannot be used by one or more users in the group to access the software product.
31. The data processing device executing the software product of claim 5, wherein:
assigning the set of virtual containers to the user group includes assigning a multi-player virtual container to be associated with the multi-player game.
32. The data processing device of claim 5 executing a software product, the software product further comprising instructions operable to cause the data processing device to: offering to sell the software product identified in one of the set of allocated virtual containers.
33. The data processing device executing the software product of claim 32, wherein:
offering for sale the software product includes offering an option for downloading the software product over the computer network.
34. The data processing device of claim 5 executing a software product, the software product further comprising instructions operable to cause the data processing device to: the number of virtual containers in the set of allocated virtual containers is increased.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US60/411,279 | 2002-09-16 |
Publications (1)
Publication Number | Publication Date |
---|---|
HK1191126A true HK1191126A (en) | 2014-07-18 |
Family
ID=
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7523071B2 (en) | On-line software rental | |
US20020002074A1 (en) | Method for an online player game payment system | |
US8663003B2 (en) | Ordering, delivering, and licensing wager gaming content | |
US8781878B2 (en) | Computer method and apparatus for outcome-based pricing of goods and services | |
US20030040363A1 (en) | Entertainment internet/network site and contest method | |
US20020072412A1 (en) | Online gaming with prize incentives | |
US20010034703A1 (en) | Controlled entertainment spending account | |
US8996409B2 (en) | Management of online trading services using mediated communications | |
KR101668793B1 (en) | Apparatus and method of purchasing commodities in online game as deputy | |
JP6726306B2 (en) | IP-based VR content providing method and system | |
US10902701B2 (en) | Delivering and licensing wager gaming content | |
US8073780B2 (en) | Token based club digital content licensing method | |
HK1191126A (en) | On-line software rental | |
JPH08164262A (en) | Prize exchange system by game media for game machine | |
US20020056110A1 (en) | Method and apparatus for generating revenue for owners and providers of content | |
KR100414725B1 (en) | Method for servicing time meter-rate system of on line game and system therefor | |
JP2001312667A (en) | Data receiving device, data receiving method, recording medium recording program for performing data receiving process, data distribution device, data distribution method, recording medium recording program for performing data transmitting process, and data distribution system | |
WO2001075758A2 (en) | Entertainment layer overlaid on online transactions | |
KR20020054056A (en) | System and method for exchanging a value of bonus point providing when buying an objects, and method and system for using the exchanged point | |
JP2002360897A (en) | System, method, server and program for game |