The present invention relates to systems and methods for distributing software applications. More particularly, the present invention relates to a system and a method for distributing software applications while maintaining control of the distributed software. More specifically, the present invention relates to the distribution and the control of software applications across mobile terminals.
Shareware distribution gives users a chance to try software before buying it. When a user accesses and continues to use a Shareware program, the user is expected to register the program after a reasonable evaluation period. Individual programs differ on details—some request registration while others require it, while still others specify a maximum trial period after which the program no longer executes. By registering the program, a user may obtain anything from the right to continue using the software to an updated program with a printed user's manual. Copyright laws apply to both Shareware and commercial software, and the copyright holder retains all rights. Shareware is a distribution method, not a type of software. With the growth of the Internet, many large commercial software publishers release “trial” versions of their products for download and personal use. These “trial” versions are usually limited in some fashion, for example, the trial software may only execute for a specified length of time or have a limited set of features relative to the commercially purchased version.
Digital Rights Management (“DRM”) is a term used to describe a range of techniques that use information about rights and rights holders to manage copyrighted material and the terms and conditions on which the material is made available to users. More specifically, DRM involves the description, layering, analysis, valuation, trading, and monitoring of an owner's property rights to an asset. DRM covers the management of the digital rights to the physical manifestation of a work (e.g., a textbook) or the digital manifestation of a work (e.g., a Web page). DRM also covers the management of an asset whether the asset has a tangible or an intangible value. Current DRM technologies include languages for describing the terms and conditions for an asset, tracking asset usage by enforcing controlled environments or encoded asset manifestations, and closed architectures for the overall management of the digital rights.
In general, DRM protection is based on the principle that every end-entity able to consume DRM protected content is equipped with a cryptographic key that is usually unique for every end-entity. DRM protected content is distributed, possibly together with a set of consumption rights, in encrypted form. Thus, only authorized parties, usually those that have paid for the content, are able to consume the content. This is done, for example, by encrypting the content with the public key matching the recipient's private DRM key (asymmetric key encryption). For practical reasons, usually a hybrid scheme is chosen, wherein DRM protected content is encrypted under a content encryption key (CEK) using symmetric encryption. The CEK in turn is then encrypted with the public DRM key matching the recipient's private DRM key. The CEK may be accompanied by consumption rights (which may also be encrypted) expressing the usage rules for the DRM protected content. In both approaches only authorized parties are able to consume the DRM protected content assuming secure and correct implementation. The two approaches, however, also share a drawback originating from the fact that every end-entity is equipped with a unique DRM key: content (or the CEK) has to be personalized for every device prior to consumption.
Usually, DRM content is protected, i.e., encrypted, (and therefore personalized) by the network side for various reasons, e.g., to guarantee payment for the content. Typically, the network infrastructure has a server for personalizing content transported in the wireless network. The network centric nature of current approaches, however, is not very suitable for certain types of content, e.g., free content. The most prominent example being content intended for preview or “trial” purposes. Accordingly, it is usually the case that the transfer of purchased, DRM-protected content from one terminal to another cannot be performed by the end user of a terminal.
Typically, the rights holders for content want to enforce certain usage rights over content management, and this includes, in most cases, control over how content can be copied and which technical and security requirements have to be met. DRM version 1.0 from the Open Mobile Alliance (OMA) is an industry-wide standard that allows developers and publishers to protect the intellectual property value of applications and content provided to mobile devices. The OMA DRM version 1.0 standards provide three DRM methods to enable secure mobile content delivery: forward lock, combined delivery, and separate delivery. “Forward lock” restricts a user from forwarding content that the user has received to other mobile terminals. Using “forward lock,” the plaintext content is packaged inside a DRM message that is delivered to the terminal. The device is allowed to play, display, or execute the content, but it cannot forward the object. “Combined delivery” includes content usage rules that restrict user access to the digital media wherein the usage rules are embedded in the digital media. “Combined delivery” prevents peer-to-peer distribution and also controls the content usage. In the combined delivery method, the DRM message contains two objects, the content and a rights object. The rights object defines permissions and constraints for the use of content. These can, for example provide permission to use the content only for 10 days or to play a music file only once. Neither the content nor the rights object can be forwarded from the target device. This differs from Shareware which also embeds the rights within the content because Shareware can be forwarded to another target device.
The purpose of “Separate Delivery” is to protect higher value content. It enables super-distribution which allows the device to forward the content, but not the usage rights. This is achieved by delivering the content and usage rights using separate channels. “Super-distribution” allows for content to be wrapped and rights to be ascribed to the use of that content as it travels over the Web. The content is encrypted into DRM Content Format (DCF) using symmetric encryption; the DCF provides plaintext headers describing content type, encryption algorithm, and other useful information. The rights object holds the symmetric CEK that is used by the DRM User Agent in the device for decryption. The rights object is created by using the OMA Rights Expression Language. Recipients of super-distribution enabled content must contact the content retailer to obtain rights to either preview or purchase the media. Thus, the separate delivery method enables viral distribution of media maximizing the number of potential customers while retaining control for the content provider through centralized rights acquisition.
The patent application publication Serial No. 2002/0184156 provides a method and apparatus for facilitating the transfer of usage rights for digital content. The system comprises digital content, a usage rights module containing usage rights information associated with the content for a user, a transfer permission module containing transfer permission information for the content, a current user identification module containing identity information indicating the identity of the user, and means for manipulating the current user identification module to change the identity information. Payment for the work is passed from user or to distributor by way of a clearinghouse that collects requests from the user and distributor and from other users who wish to use particular content. The clearinghouse collects payment information, such as debit transactions, credit card transactions, or other known electronic payment schemes.
International Publication Number WO 03/034653, assigned to the assignee of the present invention, provides a method and apparatus for the super-distribution of content on a network having a plurality of terminals. The network includes various terminals including desktop computers, mobile communication devices, and intelligent home appliances all of which have connectivity to a common network. A super-distribution federation model that integrates DRM technology with the Short Messaging Service (SMS) facilities of a cellular network is provided. The user of a terminal can forward content to another terminal so that the other user can inspect and purchase the content if desired.
Games are an exciting way to communicate and to connect with a large community of like minded people. Rich mobile games, combined with connected local area multiplayer gaming over Bluetooth and wide area multiplayer gaming using cellular networks, open the door for completely new gaming concepts. Developers are providing mobile terminals that support mobile game decks combined with mobile communication devices that use short range, local wireless networks supported by the Bluetooth wireless technology as well as the long range, wide area wireless networks provided by cellular networks. Thus, in addition to providing communications, mobile terminals also feature applications for providing gaming, digital music players, e-mail, and other Java based applications. Currently, these applications are provided separately to each mobile terminal generally on memory cards using the Multi-Media Card (MMC) standard. This method utilizes the traditional distribution method for digital media wherein to access the application, each user must separately purchase the application.
Multiplayer games and some other applications, however, require more than inspection of the content. To encourage purchase of a multiplayer game, users should be able to play the game for at least some period of time or on some number of occasions before purchase of the game is required. Thus, there is a need for systems and methods that permit users to utilize applications while flexibly restricting the further distribution of the application. Further, there is a need for systems and methods that provide protected content while making it easier to start multi-player gaming sessions.
The present invention is directed to a system, device, and method of partially sharing digital media between mobile terminals. Briefly, one exemplary embodiment relates to a method of providing shared applications for mobile terminals, the method comprising configuring a first version of an application for execution on a first mobile terminal, connecting the first mobile terminal to a second mobile terminal, transferring a second version of the application to a second mobile terminal using the connection, and limiting an execution of the second version of the application.
Another exemplary embodiment relates to a method of providing shared applications for mobile terminals, the method comprising configuring an application for execution on a first mobile terminal, initiating execution of the application at the first mobile terminal, connecting the first mobile terminal with a second mobile terminal, sending a view of the executing application from the first mobile terminal to the second mobile terminal, and receiving the view of the executing application from the first mobile terminal at the second mobile terminal.
Yet another exemplary embodiment relates to a computer program product computer code configured to connect a first mobile terminal to a second mobile terminal, to transfer a second version of the computer code to the second mobile terminal using the connection, and to limit an execution of the second version of the computer code.
Yet another exemplary embodiment relates to a computer program product computer code configured to connect a first mobile terminal to a second mobile terminal, to create a view at the first mobile terminal, to send the view created from the first mobile terminal to the second mobile terminal, to receive control information from the second mobile terminal, and to respond to the control information received from the second mobile terminal.
Yet another exemplary embodiment relates to a system for providing shared applications for mobile terminals, the system comprising a first mobile terminal executing an application, and a second mobile terminal wherein the first mobile terminal connects to the second mobile terminal, transfers a second version of the application to the second mobile terminal, and limits an execution of the second version of the application.
Yet another exemplary embodiment relates to a system for providing shared applications for mobile terminals, the system comprising a first mobile terminal executing an application that creates a view, and a second mobile terminal wherein the first mobile terminal connects to the second mobile terminal and sends the view of the application to the second mobile terminal, and further wherein the second mobile terminal receives the view of the application and sends control information for the application to the first mobile terminal.
Yet another exemplary embodiment relates to a device configured to provide shared applications for mobile terminals operating in a communication network, the device comprising a communication interface that connects the device to a second device, and a processor coupled to the communication interface that executes an application, wherein the communication interface transfers a second version of the application to the second device, and the processor limits an execution of the second version of the application.
Yet another exemplary embodiment relates to a device configured to provide shared applications for mobile terminals operating in a communication network, the device comprising a communication interface that connects the device to a second device, and a processor coupled to the communication interface that transfers a view of the application to the second device, receives control information for the application from the second device, and responds to the control information received from the second device.
Other principle features and advantages of the invention will become apparent to those skilled in the art upon review of the following drawings, the detailed description, and the appended claims.
Exemplary embodiments will hereafter be described with reference to the accompanying drawings.
The term “mobile terminal” should be understood to include cellular telephones; PDAs with telephonic or wireless communication capabilities such as those manufactured by PALM, Inc.; Instant Messaging Devices, such as those manufactured by Blackberry, Inc.; notebook computers with telephonic or wireless communication capabilities; and other mobile devices that can communicate using various transmission technologies (including CDMA, GSM, TDMA, Bluetooth, and others) or media (radio, infrared, laser, and the like). In addition to providing communications, mobile terminals also feature applications for providing gaming, digital music players, e-mail, and other Java based applications
The term “execution” is the process of running a program or the carrying out of the operation called for by an instruction. A computer processor executes an instruction, meaning that it performs the operations called for by that instruction.
Connecting a mobile terminal to another mobile terminal may be through one or more of the following connection methods without limitation: a link established according to the Bluetooth Standards and Protocols, an infrared communications link, a wireless communications link, a cellular network link, a physical serial connection, a physical parallel connection, a link established according to the Transmission Control Protocol/Internet Protocol and Standards, etc. Other connection methods may be used. Thus, these connection methods are for illustration and not for purposes of limitation. Transferring content from one mobile terminal to another mobile terminal may be using one or more of these connection types. Transferring may use messaging services provided for mobile communication devices including, but not limited to, the SMS, the Multi-Media Messaging Service (MMS), e-mail, and Instant Messaging (IM). E-mail and/or IM may themselves be based on the SMS and the MMS. SMS for transferring content may be used in exemplary embodiments due to the low overhead of such messages. Other transfer methods, however, may be used.
In an exemplary embodiment, the mobile terminal 6, as shown in
A first user purchases an application for execution on a mobile terminal. The purchase may have been at a traditional store and involve a MMC that plugs into the mobile terminal through the MMC interface 28. Alternatively, the application may have been purchased from a network server 14 or a Web server (not shown) and downloaded to the mobile terminal 6 using a network connection. As shown in
Continued processing depends on the operational configuration of the second version of the application. The second version of the application may have the same functionality as the application executing on the first terminal 6. The functionality of an application includes the complete set of capabilities provided by the application separate from the usage rights for that application. The shared application, however, may have reduced functionality. An example of reduced functionality might include an inability to initiate a new game session. Thus, the second version of the application having a reduced functionality may only allow a user to join an already executing multi-player game.
Functionality is distinct from usage rights for the application. The second version of the application may provide the same functionality as the application executing on the first terminal 6, but, for example, only allow execution of the application a predetermined number of times. Usage rights, thus, limit the execution of the second version of the application. In an exemplary embodiment as shown in
In an alternative embodiment, as shown in
In an alternative embodiment, as shown at operation 60 in
In an alternative embodiment, as shown at operation 70 in
In an alternative embodiment, as shown at operation 80 in
As shown in
In
In an alternative embodiment, a computer program product is provided and executed by the processor 22. The computer program product provides an application and supports sharing of the application between mobile terminals. The computer program product may include a user interface that is displayed on display 20 of the terminal 6. The computer program product comprises computer code configured to connect a first mobile terminal to a second mobile terminal, transfer a second version of the computer code to the second mobile terminal using the connection, and limit an execution of the second version of the computer code. The execution of the second version of the computer code transferred to the second mobile terminal 8 may be, for example, through any of the methods discussed relative to
In an alternative exemplary embodiment as shown in
At operation 124, the user of the second terminal 8 responds to the received view by creating control information pertinent to the application executing at the first terminal 6 through the controlled application. Multiple second terminals 8 also may receive the view from the first terminal 6 and create control information in response to receiving the view from the first terminal 6. Control information may include information, for example, indicating movement of a character in a game that is being “played” by the user of the second terminal 8. The control information created at the second terminal 8 is sent to the first terminal 6 at operation 126. The first terminal 6 receives the control information at operation 128. The application executing at the first terminal 6 interprets the control information received from the second terminals 8 at operation 130. The application view, at operation 132, is updated to reflect the control information received from the second terminal 8. At operation 134, a test is performed to determine if the application continues to execute at the first terminal 6. If the application stops executing at the first terminal 6, the controlled application execution at the second terminal 8 stops at operation 136. If the application continues to execute at the first terminal 6, the updated view reflecting the received control information from the second terminals 8 is sent to the second terminals 8 at operation 118. As a result, the exemplary embodiment depicted in
In an alternative exemplary embodiment, a computer program product is provided and executed by the processor 22. The computer program product provides an application and supports sharing of the application controls between mobile terminals. The computer program product may include a user interface that is displayed on display 20 of the terminal 6. The computer program product comprises computer code configured to connect a first mobile terminal to a second mobile terminal, to create a view of the application executing at the first mobile terminal, to send the view created from the first mobile terminal to the second mobile terminal, to receive control information from the second mobile terminal, and to respond to the control information received from the second mobile terminal. The computer code may be further configured to interpret the control information received from the second mobile terminal, to update the view of the application executing at the first mobile terminal with the interpreted control information, and to send the updated view from the first mobile terminal to the second mobile terminal.
In an alternative exemplary embodiment, a computer program product is provided and executed by the processor 22. The computer program product provides a controlled application that displays a view of an application executing at a first terminal 6. The computer program product comprises computer code configured to connect a first mobile terminal to a second mobile terminal, to receive a view of an application executing at the first mobile terminal, to display the view of the executing application received from the first mobile terminal, to create control information for the executing application at the first mobile terminal, and to send the control information to the first mobile terminal.
This detailed description outlines exemplary embodiments of a method, a device, a system, and a computer code product for providing shared applications between mobile terminals. These embodiments control distribution of digital media including applications while allowing sharing of the digital media under controlled circumstances to encourage future purchase of the digital media. In the foregoing description, for purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It is evident, however, to one skilled in the art that the exemplary embodiments may be practiced without these specific details. In other instances, structures and devices are shown in block diagram form in order to facilitate description of the exemplary embodiments.
While the exemplary embodiments illustrated in the Figures and described above are presently preferred, it should be understood that these embodiments are offered by way of example only. Other embodiments may include, for example, different techniques for performing the same operations. The invention is not limited to a particular embodiment, but extends to various modifications, combinations, and permutations that nevertheless fall within the scope and spirit of the appended claims.