U.S. patent application number 11/487900 was filed with the patent office on 2007-01-04 for dynamic service enablement of applications in heterogenous mobile environments.
This patent application is currently assigned to JULY SYSTEMS, INC.. Invention is credited to Jyotirmoy Chakravorty, Vishal Lal, Rajesh TS Reddy, Umesh Singhal.
Application Number | 20070006327 11/487900 |
Document ID | / |
Family ID | 34079888 |
Filed Date | 2007-01-04 |
United States Patent
Application |
20070006327 |
Kind Code |
A1 |
Lal; Vishal ; et
al. |
January 4, 2007 |
Dynamic service enablement of applications in heterogenous mobile
environments
Abstract
A system and methodology for dynamically enabling services
related to digital content. The services are provided to mobile
users on their mobile devices by a mobile service provider. The
mobile devices may have different operating systems which may be
proprietary operating systems and open operating systems. A mobile
user downloads a client on his mobile device. The client implements
a policy-based workflow on the digital content. Thereafter, the
mobile user downloads digital content. Where a Java enabled mobile
device is used, a wrapper is downloaded with the digital content.
The mobile user initiates a request to use the digital content. The
mobile service provider dynamically generates a set of options for
the mobile user. Each option provides a service related to the
digital content. The mobile service provider delivers a service
according to the option selected by the mobile user.
Inventors: |
Lal; Vishal; (Bangalore,
IN) ; Singhal; Umesh; (Bangalore, IN) ;
Chakravorty; Jyotirmoy; (Bangalore, IN) ; Reddy;
Rajesh TS; (Bangalore, IN) |
Correspondence
Address: |
William L, Botjer
P.O. Box 478
Center Moriches
NY
11934
US
|
Assignee: |
JULY SYSTEMS, INC.
Santa Clara
CA
|
Family ID: |
34079888 |
Appl. No.: |
11/487900 |
Filed: |
July 17, 2006 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10623932 |
Jul 21, 2003 |
7089594 |
|
|
11487900 |
Jul 17, 2006 |
|
|
|
Current U.S.
Class: |
726/31 ;
705/59 |
Current CPC
Class: |
G06F 21/10 20130101;
G06Q 20/123 20130101 |
Class at
Publication: |
726/031 ;
705/059 |
International
Class: |
G06F 17/30 20060101
G06F017/30; G06F 7/04 20060101 G06F007/04; G06K 9/00 20060101
G06K009/00; H03M 1/68 20060101 H03M001/68; H04K 1/00 20060101
H04K001/00; H04L 9/00 20060101 H04L009/00; H04L 9/32 20060101
H04L009/32; H04N 7/16 20060101 H04N007/16; G06Q 99/00 20060101
G06Q099/00 |
Claims
1. A method for dynamically enabling services for mobile users, the
services being related to digital content, the services being
provided by a mobile service provider, the services being received
by the mobile users on their mobile devices, the mobile devices
being Java enabled, the services being defined in a workflow, the
workflow being based on policies, the workflow being implemented on
the digital content by a wrapper, the wrapper being applied to the
digital content, the method comprising the steps of: a. downloading
the digital content by a mobile user, wherein the wrapper is
downloaded along with the digital content; b. initiating a request
by the mobile user for using the digital content, wherein the
request is sent to the mobile service provider; c. generating
dynamically a set of options for the mobile user, the set of
options being generated by applying policies to a context
information by the mobile service provider, the context information
being related to the mobile user, each option from the set of
options providing a service related to the digital content, wherein
the mobile user is prompted to select an option from the set of
options; d. informing the mobile service provider about the option
selected by the mobile user, through the wrapper; and e. delivering
the service to the mobile user by the mobile service provider
according to the option selected by the mobile user.
2. The method of claim 1, wherein the digital content comprises a
Java2 Micro Edition (J2ME) application.
3. The method of claim 1, wherein the context information comprises
information about at least one of: the mobile device used by the
mobile user, the profile of the mobile user, the preferences of the
mobile user, the network of the mobile user, network geography,
time of a day, and events associated with the day.
4. The method of claim 3 further comprising the step of
facilitating display of one or more advertisements, the
advertisements being based on the context information.
5. The method of claim 4, wherein the step of facilitating the
display of the one or more advertisements comprises the step of
displaying the advertisement with user options for mobile user, the
user options prompting the mobile user to perform an action related
to a displayed advertisement.
6. The method of claim 4; wherein the step of facilitating the
display of the one or more advertisements comprises the step of
displaying at least one of: an advertisement for a free digital
content, an advertisement for a discounted content, an
advertisement for a digital content with a predefined price, an
advertisement for a product, and an advertisement for a
service.
7. The method of claim 1, wherein the step of generating
dynamically the set of options for the mobile user comprises the
step of providing the services, the services comprising at least
one of: using the digital content and referring the digital content
to another mobile user.
8. The method of claim 7, wherein the step of using the digital
content comprises at least one of: executing the digital content,
purchasing a license, viewing related digital content, purchasing
the related digital content, and accessing a vault, the vault being
a personal online storage space.
9. The method of claim 8, wherein the step of purchasing the
license comprises the step of allowing purchase of the license
through the wrapper before an existing license expires, the step of
purchasing the license being facilitated without a need to download
the digital content again.
10. The method of claim 7, wherein the step of purchasing the
license comprises the step of making a payment by the mobile user
corresponding to the license to be purchased, the payment being
made through a charging mechanism.
11. The method of claim 10, wherein the charging mechanism
comprises at least one of: an operator billing, billing aggregator,
WAP billing, SMS billing, a credit-card, debit card, Automatic
Clearing House (ACH), and a mobile-wallet (m-wallet).
12. The method of claim 8, wherein the related digital content is
selected on the basis of at least one of: the request initiated by
the mobile user and the context information.
13. The method of claim 8, wherein the related digital content
comprises the digital content, the digital content being compatible
with the mobile device is selected from at least one of: J2ME
application, a game, a screen saver, a tone, a music, a video clip,
a Multimedia Messaging Service (MMS), informational services, and a
wall paper.
14. The method of claim 7, wherein the step of referring the
digital content to another mobile user comprises at least one of
sharing the digital content with another mobile user, challenging
another mobile user, and gifting the digital content to another
mobile user.
15. The method of claim 14, wherein the step of gifting the digital
content to the another mobile user comprises the steps of: a.
displaying a phone book to the mobile user to choose mobile number
of the another mobile user; b. prompting the mobile user for
confirmation of a charge of the digital content using a charging
mechanism; c. facilitating the communication of the confirmation to
the mobile service provider through the wrapper; d. sending a
Wireless Application Protocol (WAP) push with a gift message to the
another mobile user by the mobile service provider, the WAP push
being sent to determine a mobile device being used by the another
mobile user; e. sending a compatible digital content by the mobile
service provider, the compatible digital content being compatible
with the determined mobile device, to the other mobile user; and f.
committing the charge to the mobile user by the mobile service
provider.
16. The method of claim 1, wherein the digital content is
downloaded through at least one of: Internet, email, Compact Disc
(CD), Infrared, Bluetooth, binary Short Messaging Service (SMS),
and WAP.
17. The method of claim 1, wherein the method is carried out by one
or more computer programs.
18. A method for dynamically enabling services for mobile users,
the services being related to a digital content, the services being
provided by a mobile service provider, the services being received
by the mobile users on their mobile devices, the mobile devices
using open operating systems, the services being defined in a
workflow, the workflow being based on policies, the workflow being
implemented on the digital content by a client, the method
comprising the steps of: a. downloading the digital content by a
mobile user, wherein the client is downloaded before the digital
content; b. initiating a request by the mobile user for using the
digital content, wherein the request is sent to the mobile service
provider; c. generating dynamically a set of options for the mobile
user, the set of options being generated by application of policies
on the context information by the mobile service provider, a
context information being related to the mobile user, each option
from the set of options providing a service, wherein the mobile
user is prompted to select an option from the set of options; d.
informing the mobile service provider about the option selected by
the mobile user through the client; and e. delivering the service
to the mobile user by the mobile service provider, according to the
option selected by the mobile user.
19. The method of claim 18, wherein an open operating system
installed on a mobile device is at least one of Microsoft Pocket
PC.TM., WinCE.TM., and Symbian.TM..
20. The method of claim 18, wherein the digital content comprises a
digital application, the digital application being at least one of
a J2ME application, a Symbian application, and a native
application.
21. The method of claim 18, wherein the workflow based on Digital
Rights Management (DRM) policies is implemented on the digital
content by the client.
22. The method of claim 18, wherein the digital content and the
client are downloaded through at least one of: Internet, email,
Compact Disc (CD), Infrared, Bluetooth, binary SMS, and WAP.
23. The method of claim 18, wherein the method is carried out by
one or more computer programs.
24. A system for dynamically enabling services for mobile users,
the services being related to a digital content, the services being
defined in a workflow, the workflow being based on policies, the
workflow being implemented on the digital content by a wrapper, the
wrapper being applied to the digital content, the system
comprising: a. at least one mobile service provider, the mobile
service provider facilitating dynamic enablement of the services,
the mobile service provider comprising a mobile application server,
the mobile application server enabling implementation of the
workflow on the digital content and delivery of the services, the
mobile application server further comprising: i. a User Interaction
Workflow Engine (UIWE), the UIWE interacting with the wrapper and
facilitating application of policies on a context information, to
generate a set of options, the context information being related to
a mobile user, each option from the set of options providing a
service; ii. a context server, the context server providing the
context information to the UIWE, the context server comprising a
database of the context information, the context information
comprising information about at least one of: a mobile device used
by the mobile user, profile of the mobile user, preferences of the
mobile user, a network of the mobile user, and, a network
geography; and iii. a Service Control and Execution Unit (SCEU),
the SCEU defining a control workflow, the mobile application server
working on the basis of the control workflow including instructions
between the UIWE, the context server, and service delivery
functions of the mobile application server, and between the UIWE
and the wrapper; and b. at least one mobile device, the mobile
device downloading the digital content along with the wrapper, the
wrapper implementing the workflow on the digital content for
enabling the services on the mobile device.
25. The system of claim 24, wherein the mobile service provider
includes an advertisement server, the advertisement server
comprising: a. an advertisement database, the advertisement
database further comprising means for interacting with the context
server for determining the one or more advertisement on the basis
of the context information; and b. means for delivering the one or
more advertisements to the mobile user.
26. The system of claim 24, wherein the service delivery functions
comprise a messaging unit, a licensing server, and a charging
unit.
27. The system of claim 24, wherein the services are present in at
least one of a network operator, an enterprise, and one or more
mobile service providers.
28. A system for dynamically enabling services for mobile users,
the services being related to a digital content, the services being
defined in a workflow, the workflow being based on policies, the
workflow being implemented on the digital content by a client, the
system comprising: a. at least one mobile service provider, the
mobile service provider facilitating dynamic enablement of the
services, the mobile service provider comprising a mobile
application server, the mobile application server enabling
implementation of the workflow on the digital content and delivery
of the services, the mobile application server further comprising:
i. a User Interaction Workflow Engine (UIWE), the UIWE interacting
with the client and facilitating application of policies on the
context information, to generate a set of options, a context
information being related to a mobile user, each option from the
set of options providing a service; ii. a context server, the
context server providing the context information to the UIWE, the
context server comprising a database of the context information,
the context information comprising information about at least one
of a mobile device used by the mobile user, profile of the mobile
user, preferences of the mobile user, a network of the mobile user,
a network geography, time of a day, events associated with the day,
and the digital content; and iii. a Service Control and Execution
Unit (SCEU), the SCEU defining a control workflow, the mobile
application server working on the basis of the control workflow,
the control workflow including instructions between the UIWE, the
context server, and service delivery functions of the mobile
application server, and, between the UIWE and the client; and b. at
least one mobile device, the mobile device having downloaded the
digital content and the client, the client implementing the
workflow on the digital content, for enabling the services on the
mobile device.
29. The system of claim 28, wherein the mobile service provider
includes an advertisement server, the advertisement server
comprising: a. an advertisement database, the advertisement
database further comprising means for interacting with a context
server for determining the advertisement on the basis of the
context information; and b. means for delivering the advertisements
to the mobile user.
30. The method of claim 28, wherein the service delivery functions
comprise a messaging unit, a licensing server, and a charging
unit.
31. The system of claim 28, wherein the services are present in at
least one of a network operator, an enterprise, and one or more
mobile service providers.
Description
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is a continuation-in-part of U.S. patent
application Ser. No. 10/623,932 filed Jul. 21, 2003
BACKGROUND
[0002] The present invention, in general, relates to distribution
and usage of digital content over mobile devices. In particular,
this invention relates to policy based usage of digital content
(applications).
[0003] With rapid developments in wireless technologies and with
the onset of technically superior mobile devices and networks,
distribution of digital content, which was predominantly being
carried out only on the Internet, is now significantly being done
over mobile networks as well. The new-generation mobile devices
include mobile phones, Personal Digital Assistant (PDA), Laptops,
etc with digital applications such as calendar, games, and the
like. The new-generation mobile networks have a high data-transfer
rate and, at the same time, support a greater number of mobile
users. Thus, developments in mobile network technologies and
superior mobile devices have enabled the transfer of digital
content over wireless networks.
[0004] Broadly speaking, the transfer of digital content over the
mobile networks is done in the following manner. Initially, a user
requests for download of digital content from his/her mobile
service provider. A content provider, which is in contact with a
mobile service provider, hosts the downloadable digital content.
The user then downloads the requested digital content on his/her
mobile device through the mobile service provider. However, as the
present mobile devices have the capability to distribute (or
forward) the digital content to other mobile devices, a mobile
device user can potentially distribute the downloaded digital
content to numerous other mobile device users. This means that
digital content such as games, graphics, utilities (such as a
currency converter) and the like can be forwarded to other users if
there is no protection for preventing such distribution. Such
uncontrolled distribution is not desirable to the content provider
(of the "unprotected" digital content). In order to explain this
point more clearly, consider an example of a mobile service
provider who provides mobile games for some payments by the user.
If the game is "unprotected", then the same may be forwarded and
used by numerous other mobile users who have devices capable of
receiving and using the game. This is economically undesirable for
the content providers. Further, such distribution also leads to
problems of licensing and copyright violations. Indeed, the content
providers are wary of such problems and these problems are
deterring content providers from hosting "rich" digital content for
mobile devices without taking necessary steps towards protecting
the digital content. It is desirable that the digital content
provided by the content provider be protected from such misuse.
That is, it is desirable that every mobile user using the digital
content pays the content provider in some way to compensate the
content provider. In order to address the problem of uncontrolled
distribution of digital content, content providers rely on Mobile
Digital Rights Management (Mobile DRM) techniques that protect
digital content, and allow only authorized usage of the digital
content.
[0005] Mobile DRM provides a secure infrastructure for the
preparation, transmission, and prevention of misuse of the
protected digital content. Thus content providers before making
digital content available for usage protect the digital content
with DRM Packages. A mobile user now cannot indiscriminately
transfer this "protected" digital content to other mobile users
without the requisite payments being made by the other users as
well.
[0006] With the implementation of Mobile DRM, the existing state of
technology for mobile networks works as follows: a user requests
for download of digital content from his/her mobile service
provider. Upon receiving the request, the user is prompted to pay
for the digital content that he/she intends to download. After
receiving the necessary payments, the mobile service provider
forwards the digital content (which may have digital rights
associated with it) to the user. The user is then able to download
the requested digital content on his/her mobile device. The
associated digital rights prevent the unauthorized distribution and
usage of the downloaded digital content from mobile devices.
[0007] The basic requirements of a Mobile DRM system are
scalability, provision of security to digital content and ease of
implementation. To meet the scalability requirement, the Mobile DRM
system should be able to handle diverse types of rights that may be
issued by different issuers (for instance different content
providers).
[0008] For the requirement for provision of security to digital
content, the Mobile DRM system must prevent illegal use (such as
unauthorized copying, alteration, and distribution) of the digital
content. The system should also ensure that the digital content is
used according to the rights assigned to it by the content
provider.
[0009] In the above arrangement, it is usually the prerogative of
the content provider to assign rights to the digital contents and
prevent possible misuse while determining a pricing structure for
the digital content at the same time. Assigning all the rights to
the digital content at the content provider's end may lead to
inflexibility in terms of the way the digital content is used in
the future. For example, the content provider may fix the pricing
of a song and the number of times it can be played without payment.
Once this is fixed, the mobile service provider, who distributes
this digital content, may not be able to change the above
attributes for different user requirements. Further, the content
provider may not want the digital content to be copied from one
user to another. This may prevent the further distribution of
digital content in an authorized manner from one user to another
(called superdistribution) and eventually will limit the number of
users of the digital content.
[0010] For meeting the ease of implementation requirement, the
Mobile DRM should require minimal installation of software on the
user's mobile device for the implementation of Mobile DRM policies.
A new user, therefore, should require minimal installation of
software before he/she is able to download and distribute the
protected digital content. This is advantageous for the mobile
service provider as it increases the ease with which the mobile
service provider can get new mobile device users to use the
services provided by the mobile service provider. There are some
solutions available in the art that try to address the
above-mentioned requirements. Content Policy System (CPS), a
product from Beep Science AS, Norway is a Digital Rights Management
solution for mobile service providers. This is a server-side
solution that enables the mobile service provider to act as a
payment collector for their own and partners' digital content, and
ensures that copyright restrictions are enforced. The product also
allows for superdistribution of digital content amongst users.
[0011] Another product RIGHTS|SYSTEM from Intertrust Technologies
Corporation, CA, USA supports Digital Rights Management of any kind
of digital content. The associated technology offers its customers
the choice of choosing their business model and distribution
method. In this system, the digital content is assigned rights
through a packager before it is distributed. The user can then buy
the digital content and rights to its use by making appropriate
payments to the retailer of the digital content. The product also
allows for superdistribution of digital content amongst users. The
product requires the digital content to be protected and be
assigned rights to it before it is sent to the mobile service
provider for further distribution. This inhibits the mobile service
provider from applying flexible charging policies to the digital
content.
[0012] In addition to the drawbacks mentioned above, both the
products mentioned above are directed more towards DRM of computer
networks rather than that on mobile networks.
[0013] US patent application number US20010052077 A1, titled
"Universal Mobile Id System And Method For Digital Rights
Management", allows client devices and users to receive customized
digital content from service provider's servers irrespective of
service provider's prior knowledge of clients' configurations or
users' preferences. The disclosed invention also prevents an
authorized user from passing on digital content to another user who
is not authorized to access the paid digital content. The
information about the user and his/her mobile device is captured in
a Universal Mobile ID (UMID) that enables the service provider's
servers to customize digital content for clients for whom no prior
knowledge is available. The application prevents an authorized user
from passing on digital content to another user, who is not
authorized to view the paid digital content. This is not desirable
as the mobile service provider here limits the distribution of the
digital content, thereby limiting the total number of users who may
possibly pay for the digital content. Further, this requires every
mobile device to be given a UMID. This again requires new users to
formally "register" with the mobile service provider thereby
restricting the total number of possible users.
[0014] United States patent application number US20040148523 A1,
titled "Digital Rights Management", discloses a method for digital
rights management in a network. A DRM server is responsible for
issuing rights to requesting DRM clients. Once a DRM client obtains
the rights, the rights are locked to a pseudo- or semi-unique node
identifier obtained or calculated from the characteristics of the
client. Rights of access to DRM-protected digital content are then
granted subject to rights specifications and node identifier. This
patent application attempts to grant rights of use to each mobile
device instead of assigning rights to each application. This is not
desirable as this leads to inflexibility in the implementation of
DRM policies. It is desirable that the implementation of DRM
policies is application (or digital content) based rather than
user-based.
[0015] United States patent application number US20040249768 A1,
titled "Digital Rights Management In A Mobile Communications
Environment", provides a method to control the access, copying
and/or transfer of digital contents by mobile, wireless devices
using digital vouchers. The content provider can specify the terms
and conditions for distribution of the primary digital content. A
digital voucher is similar to a license that is stored in the
mobile or wireless device. The digital voucher authorizes the
mobile device to access digital content that may be located
elsewhere in the network. A DRM agent that is present on a server
computer generates the voucher. A user can download a copy of the
digital content that he or she is allowed to view according to the
terms and conditions of the digital voucher using the mobile
device. A user can distribute digital content to others based on
the conditions in the digital voucher, that is, if the user has
sharing authorization. The application requires the digital voucher
to be present on the mobile device. This is not desirable, as this
requires some kind of "registration" of the mobile device with the
mobile service provider. Further, the implementation of charging
policies is done when the digital voucher is created. Instead, it
is desirable that the charging policies be implemented at the
instant of download, giving greater flexibility to the mobile
service provider.
[0016] In addition to the points mentioned above, it is also
desirable that the DRM system need not have any DRM agent software
running on the mobile device itself to implement DRM policies.
Another desirable feature, which is not provided in existing
systems, is that of applying charging policies to the digital
content at runtime while it is being downloaded by a user on the
mobile device. This enables the mobile service provider enforce
multiple charging policies for the same kind of digital content
depending on different business models.
[0017] Hence, there is a need for a system for data distribution
over a mobile network that allows charging of digital content as it
is being delivered to the mobile device. This system must also be
able to safeguard the rights of the content providers during the
process of superdistribution of the digital content. Further, there
is a need for a system that does not require any kind of DRM agent
on the mobile device itself to implement DRM policies.
Additionally, there is also a need for a system that does not
require the content provider to assign fixed rights to all the
digital content for DRM enforcement before it is ready for
distribution through the mobile service provider. Therefore, the
same digital content can be issued different rights for different
users. Further, there is a need for a system that allows for the
update and re-issue of a license for the same digital content.
[0018] Further, there is a need for a system for enabling services
related to the digital content for the mobile users. The services
may include using, purchasing, referring, gifting, and the like,
related to the digital content. The digital content includes
applications such as games, music, video and the like. Furthermore,
there is a need for dynamic enablement of services related to the
protected digital content. Further, there is a need to dynamically
offer the services related to the digital content on the basis of
preferences of the mobile user. Further, there is a need to provide
options for using the digital content or referring the digital
content to other mobile users. Further, there is a need to develop
a profitable business model wherein the mobile service provider can
offer related digital content to mobile users by way of
recommendations based on user profiles. There is also a need for
the business model to cause revenue generation for the mobile
service provider through advertisements. The advertisements may
result in the delivery of subsidized or free digital content to the
mobile user.
SUMMARY
[0019] The present invention is directed to dynamic enablement of
services related to a digital content in all types of mobile
devices.
[0020] An object of the present invention is to dynamically enable
services related to Java-based digital content in Java enabled
mobile devices.
[0021] Another object of the present invention is to dynamically
enable services related to the digital content in mobile devices
with open operating systems. The open operating systems exposes
API's for developing native applications. Examples of open
operating systems include but are not limited to Symbian.TM.,
Microsoft Pocket PC.TM., and WinCE.TM..
[0022] Another object of the present invention is to provide a
dynamic catalog driven by a policy-based workflow system to mobile
users on their mobile devices. The mobile service provider
dynamically generates a catalog of services for a mobile user. The
catalog is generated by a workflow system. The workflow includes a
flow of instructions that are executed one after the other, when
the mobile user initiates a request related to a service. The
timing, source and destination of the instructions are controlled
by the workflow system. The workflow is based on policies. The
policies are rules associated with various entities such as the
digital content, type of mobile devices, mobile users, network and
the like. The workflow system includes an engine that generates the
flow of instructions and other system components that facilitate
the execution of the instructions.
[0023] Another object of the present invention is to provide
services related to digital content apart from Digital Rights
Management on the Java based digital content without installing
additional software on the mobile devices.
[0024] Yet another object of the present invention is to provide
services related to the digital content in all types of mobile
devices. For example, services can be Digital Rights Management,
content download, referring, and gifting the digital content.
[0025] Yet another object of the present invention is to provide
services in mobile devices with open operating systems using a
client, which is downloaded on the mobile devices.
[0026] In order to achieve the above-mentioned objects, the present
invention discloses a novel method for dynamic service enablement
of a digital content. Services related to the digital content are
defined in a workflow system which is policy driven. The services
may be added or deleted from the workflow system as and when
required. In the case where the mobile devices used by the mobile
users are Java enabled, the mobile service provider facilitates
application of a wrapper to the digital content to enable these
services. A mobile user downloads the digital content on a mobile
device. The wrapper is downloaded along with the digital content.
When the mobile user initiates a request for using the digital
content, a platform deployed by the mobile service provider
dynamically generates a set of options in the form of a catalog for
the mobile user. The set of options is generated by applying
policies to context information related to the mobile user. Each
option facilitates a service related to the digital content such as
using the digital content, purchasing a license, sharing the
digital content with another mobile user, challenging another
mobile user in a game, and gifting the digital content to another
mobile user.
[0027] The mobile user is prompted to select an option from the set
of options. Accordingly, the option selected by the mobile user is
informed to the mobile service provider through the wrapper. The
service related to the digital content is delivered according to
the option selected by the mobile user. Further, advertisements
related to various digital content, non-digital content, products,
and services that may be of interest to the mobile user are
displayed on the mobile device, after the request for using the
digital content is initiated. The advertisements may include
discount and subsidy offers. The advertisements are based on the
context information.
[0028] In accordance with an embodiment of the present invention,
the above mentioned objects are achieved by using mobile devices
that function on open operating systems. The open operating systems
support Java based as well as non-Java based digital content. In
this case, a client is downloaded on the mobile device to enable
the services dynamically. The client facilitates the download and
management of the digital content. Further, the client facilitates
the communication related to the enablement of services, between
the mobile device and the mobile service provider. The option
selected by the mobile user is informed to the mobile service
provider through the client. Further, usage and execution of the
digital content on the mobile device is facilitated through the
client.
BRIEF DESCRIPTION OF THE DRAWINGS
[0029] The preferred embodiments of the invention will hereinafter
be described in conjunction with the appended drawings provided to
illustrate and not to limit the invention, wherein like
designations denote like elements, and in which:
[0030] FIG. 1 is a block schematic of a system for distribution and
management of digital content over mobile devices in accordance
with an embodiment of the present invention;
[0031] FIG. 2 is a flow chart depicting basic steps of the
invention in accordance with an embodiment of the present
invention;
[0032] FIG. 3 illustrates a sample workflow in accordance with an
embodiment of the present invention;
[0033] FIG. 4 is a flow chart depicting the method of registration
of the digital content with a mobile service provider in accordance
with an embodiment of the present invention;
[0034] FIG. 5 is a flow chart depicting the method of updating of
digital content with the mobile service provider in accordance with
an embodiment of the present invention;
[0035] FIG. 6 is a flow chart depicting the method of downloading
of digital content for combined delivery in accordance with an
embodiment of the present invention;
[0036] FIG. 7 is a flow chart depicting the method of downloading
of digital content for separate delivery in accordance with an
embodiment of the present invention;
[0037] FIG. 8 is a flow chart depicting the method of usage of
digital content in case of combined delivery in accordance with an
embodiment of the present invention; and
[0038] FIG. 9 is a flow chart depicting the method of usage of
digital content in case of separate delivery in accordance with an
embodiment of the present invention.
[0039] FIG. 10 is a schematic block diagram of a system for
dynamically enabling services related to a digital content in
accordance with an embodiment of the present invention;
[0040] FIG. 11 is a flow diagram depicting a method for dynamically
enabling services related to a digital content in accordance with
an embodiment of the present invention;
[0041] FIG. 12 illustrates an exemplary workflow in accordance with
the an embodiment of the present invention; and
[0042] FIG. 13 is a flow diagram depicting a method for gifting the
digital content to another mobile user in accordance with an
embodiment of the present invention.
DESCRIPTION OF PREFERRED EMBODIMENTS
[0043] The present invention discloses a system and method for
enforcement of Digital Rights Management (DRM) policies on digital
content for their subsequent distribution from a mobile service
provider to mobile devices and subsequent usage of the digital
content on mobile devices.
[0044] The present invention further discloses a method and system
for dynamic service enablement of digital content in heterogeneous
environment. The heterogeneous environment includes mobile devices
having different operating systems. The different operating systems
include proprietary operating systems and open operating systems.
The different operating systems may or may not support Java. Open
operating systems expose API's for native application development.
Examples of open operating systems include but are not limited to
Symbian.TM., Microsoft Pocket PC.TM., and WinCE.TM.. Further
different network types such as Code Division Multiple Access
(CDMA), General Packet Radio Service (GPRS), and Wireless Local
Area Network (WLAN) are included in the heterogeneous environment.
The services related to the digital content are dynamically enabled
through implementation of a workflow based on policies, hereinafter
referred to as a policy-based workflow.
[0045] In accordance with an embodiment of the present invention,
the policy-based workflow is implemented by the mobile service
provider through a wrapper applied to the digital content. The
digital content is downloaded on a mobile device functioning on an
operating system that supports Java. The operating system may be a
proprietary operating system or an open operating system. In
accordance with another embodiment of the present invention, the
policy-based workflow is implemented by the mobile service provider
through a client. In accordance with this embodiment of the present
invention, the mobile device functions on an open operating
system.
[0046] FIG. 1 is a block schematic of a system for distribution and
management of digital content over mobile devices in accordance
with an embodiment of the present invention. The setup shows a
content provider 102, a mobile service provider 104 and a mobile
device 106. Content provider 102 provides digital content to mobile
service provider 104 that can be downloaded on mobile device 106.
The digital content that can be executed on mobile device 106 is
also referred to as an application. Mobile service provider 104 is
the provider of voice and data communication services to users of
mobile device 106. Content provider 102 can host all kinds of
digital content and applications. This digital content is available
for usage by mobile device 106 through mobile service provider 104.
In addition to this, mobile service provider 104 may also host some
of the digital content. Alternatively, mobile service provider 104
can host all of the digital content and in such case there is no
need for content provider 102.
[0047] A business gateway 108 acts as an interface for information
exchange between mobile service provider 104 and content provider
102 and vice versa. Business gateway 108 as described in an
embodiment of the present invention, has been described in greater
detail in patent application titled "Policy Service System and
Methodology", filed on Jun. 23, 2003, as U.S. application Ser. No.
10/601,397. The patent application is incorporated herein by
reference as if fully set forth herein. Business gateway 108
authenticates content provider 102 to ensure that the digital
content is being provided by a trusted content provider 102.
Subsequently, content provider 102 is allowed to provide the
digital content to mobile service provider 104 via business gateway
108. Mobile service provider 104 further comprises a DRM Packager
110, a Content Server 112, and a Licensing Server 114.
[0048] DRM Packager 110 is present on mobile service provider 104
and is responsible for generating rights to the usage of the
digital content. In effect, DRM Packager 110 is responsible for
generating a container, which is a digital wrapper around the
digital content. Hence, the container consists of the digital
content and optional digital rights that govern the usage of the
digital content. The container enforces the digital rights on
mobile device 106. The set of digital rights associated with the
digital content is a license. Content server 112 is used to deliver
the digital content to mobile device 106. FIG. 1 shows content
server 112 to be present as a part of mobile service provider 104,
in an embodiment. However, this is not a necessary requirement. In
an alternate embodiment, if mobile service provider 104 does not
host the digital content, content server 112 is present outside
mobile service provider 104.
[0049] Licensing server 114 accepts HTTP (Hypertext Transfer
Protocol) requests coming from mobile device 106. The address of
licensing server 114 is embedded in the container that comes with
the downloaded digital content. Hence, when the user makes a
payment or requests for license update, the request directly goes
to licensing server 114. If the user requests an update of the
license, a Meta Controller then returns the possible upgrade
options for the license. The Meta Controller as described in an
embodiment of the invention, has been described in greater detail
in patent application titled "Policy Service System and
Methodology", as described above. Licensing server 114 then sends
an updated license to the user after the user agrees to make the
required payment. The container, present on mobile device 106,
updates the license. The payment is made transparently by means of
a billing system. For example, if the user has subscribed through a
pre-paid account, the user's account is charged for the required
amount. If the user has a post-paid account, the user is charged in
the monthly bill. In an alternate embodiment, the user can also be
charged through a payment site. This depends on the charging model
of the service decided by mobile service provider 104 and content
provider 102 when the service is created. Further, licensing server
114 supports DRM standards such as Open Mobile Alliance (OMA) DRM
1.0, and OMA DRM 2.0.
[0050] In accordance with an embodiment of the invention, mobile
device 106 is Java enabled. A Java enabled mobile device means
mobile device 106 is capable of running all J2ME applications. J2ME
applications run on mobile device 106 with the help of virtual
machines. Examples of such virtual machines are Java Virtual
Machine (JVM), Kilobyte Virtual Machine (KVM). These virtual
machines are well known in the prior art.
[0051] FIG. 2 is a flow chart depicting the basic steps of the
invention in accordance with an embodiment of the present
invention. To make the digital content hosted by content provider
102 available to the mobile device user, content provider 102 needs
to register the digital content with mobile service provider 104,
as shown in step 202. The registration process includes generation
of the license that determines the default usage conditions of the
digital content and enables charging for the downloaded content, as
shown in step 204. The license also prevents the digital content to
be forwarded to other users of mobile device 106. This prevents
illegal distribution of the digital content amongst users of mobile
devices similar to mobile device 106, once content has been
downloaded onto mobile device 106. Once downloaded, the license is
stored in memory of mobile device 106 in area called Record
Management Store (RMS). The RMS can be accessed only by the digital
content for which the license is created. No other digital content
is given the rights to access this memory space in mobile device
106. Even if the digital content is copied to another mobile device
similar to mobile device 106, the digital content cannot be used
because the corresponding license will not be present in its RMS.
This method ensures that the digital content cannot be used even if
it is copied to some other mobile device. Thus, the data in the RMS
can only be read only by a related digital content and cannot be
copied to another mobile device.
[0052] The mobile user finds out about the digital content
available for download through a web browser that is present on
mobile device 106 by surfing a web portal of mobile service
provider 104, as shown in step 206. In step 208, the mobile user
requests and initiates the download of the digital content that
he/she intends to use. The delivery of the digital content to
mobile device 106 is done by Content Server 112. The delivery of
the digital content can be done in two different ways--combined and
separate delivery. The kind of delivery is chosen at the time of
delivering the digital content is decided by the agreement between
mobile service provider 104 and content provider 102. This is
accomplished at step 210.
[0053] In combined delivery, the digital content wrapped with the
license determining the usage conditions of the digital content is
sent to mobile device 106 on request from the mobile device user,
as shown in step 212. In separate delivery, the digital content is
delivered to the mobile device user without any license embedded
with it, as shown in step 214. In this case, the license is
obtained from mobile service provider 104 when the digital content
is used for the first time, as shown in step 216. Separate delivery
in this way facilitates superdistribution where the digital
content/application can be forwarded to users of mobile device
similar to mobile device 106 without the license. A mobile device
user who has received the digital content from another mobile
device user can use the digital content in the same manner as
mobile device user who received the application directly from
mobile service provider 104 on the basis of the conditions of use
specified in the attached license. Further, the superdistribution
may be achieved through email, Bluetooth, infrared, WAP, Compact
Disc (CD), binary Short Messaging Service (SMS), and the like.
[0054] A user of mobile device 106 can use the downloaded content
as per the conditions set in the license, as shown in step 218. At
step 220, it is checked whether the usage conditions that are
specified in the license have expired. If yes, a connection of
mobile device 106 is made with licensing server 114. The user is
then given the options, such as the option of either buying the
digital content for unlimited use or upgrading the license for a
specified number of accesses. Based on the user's choice, the user
is prompted for fulfilling certain preconditions, such as making
necessary payments. This is shown in step 222. After the user has
fulfilled the required preconditions, licensing server 114 upgrades
the license and delivers the new license to mobile device 106. This
is shown in step 224. The generation, updating of the license and
the implementation of rights through the license for use of the
digital content is achieved through Rights Workflow.
[0055] Rights Workflow as described in an embodiment of the present
invention, has been described in greater detail in patent
application titled "Policy Service System and Methodology" as
described above. A brief description of Rights Workflow is provided
here.
[0056] Rights Workflow defines the execution message sequence flow,
that is, it allows for the rights to be processed through a series
of workflow steps. A particular digital content can have one or
more workflows associated with it. Each workflow is executed based
on prevailing conditions. When a request for a license is made,
licensing server 114 interrogates the workflow to ensure that the
workflow integrity is maintained.
[0057] The workflow has a start state with multiple end-points.
That is, the digital content can be assigned different rights at
different stages of use. This is specified by a Rights Information
Model. The rights information model specifies the rights associated
with the digital content, the time period of the rights, the access
conditions and the associated fees. The generated license comprises
constraints parameters and requirement parameters. The constraints
parameters are used to enhance the permissions by allowing
fine-grained control of the application. The constraints parameters
comprise a count of the number of times the application is
permitted for use and the shelf life of the digital content. After
the expiry of the shelf life mentioned in the license, the digital
content cannot be used without getting the license renewed or
updated. The requirement parameters, however, are the obligations
that need to be fulfilled in order to exercise the permissions. For
example, the requirement of paying $5 each time a video is played,
without which the video will not be played is a requirement
parameter. As a combination, the constraints parameters and the
requirement parameters enable the enforcement of multiple business
models.
[0058] In accordance with an embodiment of the present invention,
the Rights Workflow is implemented as a workflow based on policies.
The policies are associated with the various entities which include
but are not limited to the digital content, types of mobile
devices, profiles of the mobile users, network, network geography,
and the like. The network geography is the location or the area in
which the mobile user is connected to the network. The policies
encompass DRM, licensing, referring, and gifting of the digital
content, recommending related digital content, offering subsidized
digital content, displaying advertisements, and the like.
[0059] After the digital content is downloaded on mobile device
106, the container maintains the current state of the license. The
container is described in greater details later in the
description.
[0060] FIG. 3 illustrates a sample workflow in accordance with an
embodiment of the present invention. The sample workflow
illustrates Rights Workflow and Rights Information Models
implementation for Java-based digital content. To illustrate how
the Rights Workflow and Rights Information Models work as a series
of workflow steps, consider three different rights as follows:
[0061] Rights R1: Rights to use for 2 times for free.
[0062] Constraints parameter: Use allowed for 2 times
[0063] Requirement parameter: None
[0064] Rights R2: Rights to use for 5 times for a payment of
$1.
[0065] Constraints parameter: Use allowed for 5 times
[0066] Requirement parameter: $1
[0067] Rights R3: Rights to use for unlimited number of times for
$5.
[0068] Constraints parameter: Use allowed for unlimited number of
times.
[0069] Requirement parameter: $5.
[0070] In step 302 of the workflow, the license with rights R1 that
is associated with a particular digital content is sent with
downloaded digital content on mobile device 106.
[0071] The container keeps track of the number of times the digital
content has already been used and maintains the stage of the
workflow. When the number of times the digital content is used
becomes greater than two, a connection is made with licensing
server 114. Licensing server 114 contacts the Meta Controller that
checks the stage of workflow. The Meta Controller then returns the
possible upgrade options, that is, rights R2 or rights R3 in the
present example. This is achieved in step 304 of the workflow. A
license is created based on the rights returned by the Meta
Controller to licensing server 114. If rights R3 are chosen, the
same is delivered to the user and mobile device 106 does not need
to contact licensing server 114 again, as shown in step 306 of the
workflow. However, if rights R2 are chosen, the same is delivered
to the user, as shown in step 308 of the workflow. In this case,
the process of upgrading is repeated on the expiry of rights R2 and
the user is again given the choice of either opting for rights R2
or rights R3.
[0072] A license to any digital content is constructed using a
combination of several license parameters.
[0073] For example, a license containing rights can look like:
TABLE-US-00001 <license-data> <license-constraints>
<name>DefaultConstraintCount</name>
<type>0</type> <value>2</value>
</license-constraints> <license-options>
<name>DefaultRightPayForFullRights</name>
<caption>Unlimited for Price USD 5</caption>
</license-options> <license-options>
<name>DefaultRightPayFor5Views</name>
<caption>Play 2 times for Price 1</caption>
</license-options> </license-data>
[0074] This is a license for unlimited usage for 5 dollars.
[0075] FIG. 4 is a flow chart depicting the method of registration
of the digital content with a mobile service provider in accordance
with an embodiment of the present invention. The method of
registration is applicable to Java based digital content. At step
402, mobile service provider 104 obtains the digital content from
content provider 102 in the form of JAD and JAR files. JAR is the
acronym for Java Archive. A JAR file is a file that contains the
class, image, and sound files for a Java applet gathered into a
single file and compressed for faster downloading to the user's Web
browser. The JAR format is based on the zip file format. Therefore,
the digital content is encoded in the JAR format to reduce its
size. Further, JAR encoded content is compatible for use with
Java-enabled mobile devices. JAD is the acronym for Java
Application Descriptor. JAD is a description of the Java
application. A JAD contains the description of the JAR in terms of
the size of the JAR, the location of where the JAR resides, the
version of the JAR etc. In an embodiment, the content from content
provider 102 is obtained by "pull" technology. The server (on
mobile service provider 104) fetches the content (based on the URL
provided) from content provider 102 after the registration process.
In an alternate embodiment, content provider 102 can also provide
content on the basis of "push" technology. In such a case, content
provider 102 updates the content periodically, or whenever there is
an update in the hosted contents.
[0076] At step 404, it is checked whether content provider 102 or
mobile service provider 104 hosts the digital content. If content
provider 102 hosts the digital content, a unique key for the JAR
file fetched in step 402 is created, as shown in step 406. Any
well-known encryption algorithm, such as MD5, can be used to
generate the key from the JAD. A sample key may look like
6b696d697461435355504552454e47. The key is generated at the time of
registration and is stored in a database inside mobile service
provider 104. When the user tries to download, this key is
generated again and checked against the key stored in the database.
This ensures that the digital content is not tampered with and it
is free from software viruses.
[0077] At step 408, the entry point of the application is extracted
from the JAD file. After extracting the entry point of the digital
content being registered, at step 410, a container is generated for
the digital content. The container is a Digital Rights Management
layer that is wrapped around the digital content to be protected to
prevent its misuse. The container is generated on the basis of
requirements of content provider 102.
[0078] The above point can be explained further by means of an
example.
[0079] MIDlet-Name: TicTacToe
[0080] MIDlet-Vendor: Forum Nokia
[0081] MIDlet-Version: 1.1.0
[0082] MIDlet-Jar-Size: 8949
[0083] MIDlet-Jar-URL: TicTacToe.jar
[0084] MIDlet-1: TicTacToe, /tictactoe.png,
example.tictactoe.TicTacToeMIDlet
[0085] MIDlet-Description: A Brief Introduction to MIDP
Graphics
[0086] The above is an example of a JAD file with an entry point as
TicTacToeMIDlet. This entry point to the digital content is
extracted from the JAD file and it is replaced by another entry
point. This is the entry point for the container used for
protection of the digital content. In the present example,
example.tictactoe.TicTacToeMIDlet is replaced by
example.tictactoe.JulyCDWrapper. The resulting file is as shown
below:
[0087] MIDlet-Name: TicTacToe
[0088] MIDlet-Vendor: Forum Nokia
[0089] MIDlet-Version: 1.1.0
[0090] MIDlet-Jar-Size: 15921
[0091] MIDlet-Jar-URL: TicTacToe.jar
[0092] MIDlet-1: TicTacToe, /tictactoe.png,
example.tictactoe.JulyCDWrapper
[0093] MIDlet-Description: A Brief Introduction to MIDP
Graphics
[0094] At step 412, the license is generated. The license contains
a set of permissions, constraints, and requirements for the
application. It defines the permission parameters that grant rights
to the application.
[0095] After the creation of the license, a new JAD file is created
at step 414. This JAD file is exposed to the user who accesses the
file through the web browser of mobile device 106. In accordance
with an embodiment of the invention, the JAD file is reflected as a
service in the service catalogue of mobile service provider 104.
After the creation of the JAD file, a new JAR file is created at
step 416. The resulting file is the complete application with the
container containing the license, and the digital content.
[0096] At step 418, the JAR file created in step 416 is encoded to
reduce its size and to make reverse engineering of the protected
digital content as difficult as possible. The digital content and
the license that is wrapped to the digital content are in Java.
There is a danger that this application is reengineered back to
Java code. In accordance with an embodiment of the invention,
obfuscation of the Java application is done. Obfuscation can be
done on the class name, method names and attribute names, which
form a large part of the program code. The business logic of the
code and any data in the code is not changed. The process of
obfuscation can be explained by means of a simple example: method
getParameters( ) is changed to a( ) after obfuscation. This leads
to reduction in the size of the application and the wrapped rights
object.
[0097] At step 420, the JAD and JAR files are tested on a variety
of devices and emulators present on mobile service provider 104 to
check whether the files generated as a result of the registration
process function as expected or not. In order to test the new JAR,
a number of toolkits existing in the art may be used. These
toolkits simulate the manner in which a license is
processed/executed when the user downloads Java based content on
the device. Some examples of these toolkits are Sun's J2ME Toolkit
manufactured by Sun Microsystems, Santa Clara, Calif., US, Sprint
PCS Toolkit manufactured by Sprint PCS, Overland Park, Kans., US
and Nokia 7210 Emulator Phone, Nokia 6650 Emulator Phone and Nokia
7210 Real Phone manufactured by Nokia, Espoo, Finland.
[0098] Finally, at step 422, the JAD files are stored on Content
Server 112 so that they are available for download. This completes
the process of registration of the digital content from content
provider 102 on mobile service provider 104. In accordance with an
embodiment of the invention, the digital content made available at
content server 112 is in the form of content descriptors. Content
descriptors as described in an embodiment of the invention, has
been described in greater detail in patent application titled
"Policy Service System and Methodology" as described above.
[0099] If mobile service provider 104 hosts the Java based digital
content instead of content provider 102 as checked in step 404,
step 406, as already discussed, is skipped. Further, in step 422,
both the JAD and JAR files are stored on Content Server 112 so that
they are available for download. The rest of the steps for
registration of the digital content remain the same as described
above.
[0100] During the process of registration of the digital content
with mobile service provider 104, content provider 102 can also
participate in the definition of parameters that form the license.
Mobile service provider 104 fetches the digital content and
interprets the parameters. This is done by means of Open Digital
Rights Language (ODRL). ODRL is a rights expression language. The
ODRL specification supports an extensible language and vocabulary
(data dictionary) for the expression of terms and conditions over
any digital content including permissions, constraints,
obligations, conditions, and offers and agreements with rights
holders. The ODRL specification does not have any licensing
requirements and is free to use. The specifications of ODRL can be
obtained from www.odrl.net. Using this scheme, the present
invention can be used to create a new license for the digital
content for which the original license provided by content provider
102 has expired.
[0101] FIG. 5 is a flow chart depicting the method of updating of
Java based digital content with the mobile service provider in
accordance with an embodiment of the present invention. At step
502, content provider 102 invokes the updating procedure. As
already mentioned, the updating procedure can be based either on
"push" technology, or on "pull" technology. At step 504, it is
checked whether mobile service provider 104 hosts the digital
content or content provider 102 hosts the digital content. If
mobile service provider 104 hosts the digital content, both the JAD
and JAR files for the digital content are updated at step 506. In
case the content provider 102 hosts the digital content, only the
JAD file is updated and old JAR file is discarded as depicted in
step 508. Subsequently, at step 510, it is checked whether the
entry point of the digital content is changed or not. If the entry
point of the digital content is changed, then the procedure for
registration as described earlier and shown in FIG. 4 is followed,
as depicted in step 512. If the entry point of the digital content
is not changed, at step 514, the old JAR file is simply replaced by
the new JAR file. This step concludes the process of updating the
digital content.
[0102] FIG. 6 is a flow chart depicting the method of downloading
of the digital content for combined delivery in accordance with an
embodiment of the invention. In step 602, the user of mobile device
106 uses a service catalogue to search by means of web browser
present on mobile device 106 for the digital content that he/she
may want to download. The user can also search for the digital
content by accessing the web portal hosted by mobile service
provider 104. In this case, the user accesses the web portal by
means of a computer connected to the Internet. The service
catalogue as described in an embodiment of the present invention,
has been described in greater detail in patent application titled
"Policy Service System and Methodology", as described above. In
step 604, the user accesses the JAD file that is created on mobile
service provider 104. In case the user wants to download the
digital content, the user requests for the JAR file residing in a
server hosted by content provider 102, as shown in step 606. In
step 608, licensing server 114 downloads the JAR file from content
server 112. In step 610, a check is performed to find whether the
digital content is hosted by mobile service provider 104 or content
provider 102. If content provider 102 hosts the digital content, an
integrity check is performed to check whether the digital content
has been tampered with and to ensure that the digital content is
not affected by a software virus, as shown in step 612. If the key
generated for the digital content is the same as the key for the
digital content registered with business gateway 108, the integrity
check is successful. In step 614, the license governing the use of
the digital content is generated. In case mobile service provider
104 hosts the digital content, the integrity check as described in
step 612 does not need to be performed. Further, the generation of
the license as in step 614 is not needed as the license is
generated during the registration process itself. In step 616, the
new JAR file is sent to the user with the container containing the
license.
[0103] FIG. 7 is a flow chart depicting the method of downloading
of digital content for separate delivery in accordance with an
embodiment of the invention. In step 702, the user of mobile device
106 uses a service catalogue to search by means of web browser
present on mobile device 106 for the application that he/she may
want to download by accessing the web portal hosted by mobile
service provider 104. In step 704, the user accesses the JAD file
that is created on mobile service provider 104. In case the user
wants to download the digital content, the user requests the JAR
file residing in a server hosted content provider 102, as shown in
step 706. In step 708, licensing server 114 downloads the JAR file
from content server 112. In step 710, a check is performed to find
whether the digital content is hosted by mobile service provider
104 or content provider 102. If content provider 102 hosts the
digital content, an integrity check is performed to check whether
the digital content has been tampered with and to ensure that the
digital content is not affected by a software virus, as shown in
step 712. If the key generated for the digital content is the same
as the key for the digital content registered with business gateway
108, the integrity check is successful. In the case when mobile
service provider 104 hosts the digital content, the integrity check
as described in step 712 does not need to be performed. In step
714, the new JAR file is sent to the user with the embedded
container but without the license in it.
[0104] Further, the digital content may be downloaded through CD,
Bluetooth, Infrared, WAP, email, binary SMS, and the like. In case
where a Java enabled mobile device is used, the wrapper is
downloaded along with the digital content. In case where a mobile
device is using an open operating system and the digital content is
not Java-based, the digital content is downloaded in a different
manner as described in conjunction with FIG. 11.
[0105] FIG. 8 is a flow chart depicting the method of usage of
digital content in case of combined delivery in accordance with an
embodiment of the present invention. In step 802, when the user
first uses the digital content downloaded on mobile device 106, the
user uses the digital content based on the license that is embedded
with the digital content. The user uses the digital content by
means of controls and user interface present on mobile device 106.
In step 804, it is checked whether the license has expired or not.
If the license is still valid, the user is allowed to use the
digital content, again based on the conditions in the license.
However, if in step 804, it is found that the license has expired,
a connection between mobile device 106 and licensing server 114 is
established. On connection with licensing server 114, the user is
prompted to buy the digital content or upgrade the present license,
as shown in step 808. In step 810, the user is prompted to make
necessary payments based on his/her choice. In step 812, the
license is updated based on the user's preference and the updated
license is delivered to mobile device 106.
[0106] FIG. 9 is a flow chart depicting the method of usage of
digital content in case of separate delivery in accordance with an
embodiment of the present invention. In step 902, on the first
launch of the application by the user, a connection is made between
mobile device 106 and licensing server 114 to obtain the license
associated with the application. After obtaining the license, the
user can use the digital content based on the conditions defined in
the license, as shown in step 904. In step 906, it is checked
whether the license has expired or not. If the license is still
valid, the user is allowed to use the digital content, again based
on the conditions in the license. The user uses the digital content
by means of the controls and the user interface present on mobile
device 106. However, if in step 906, it is found that the license
has expired, a connection between mobile device 106 and licensing
server 114 is made. On connection with licensing server 114, the
user is prompted to buy the application or upgrade the present
license, as shown in step 910. In step 912, the user is prompted to
make necessary payments based on his/her choice. In step 914, the
license is updated based on the user's preference and the updated
license is delivered to mobile device 106.
[0107] FIG. 10 is a schematic block diagram of a system 1000 for
dynamically enabling services related to the digital content, in
accordance with an embodiment of the present invention. System 1000
includes mobile service provider 104 and a mobile device 106.
Mobile service provider 104 includes a mobile application server
1002 and a content management system 1004. Content management
system 1004 is an extension of content server 112. Mobile
application server 1002 includes a User Interaction Workflow Engine
(UIWE) 1006, licensing server 114, a messaging unit 1008, a context
server 1010, a charging unit 1012, and a Service Control and
Execution Unit (SCEU) 1014. Content management system 1004 includes
a catalog creation unit 1016, a content packager 1018, a content
server 1020, and an advertisement server 1022. In accordance with
an embodiment of the present invention, mobile service provider
104, mobile device 106 and licensing server 114 are the elements as
described in conjunction with FIG. 1. In accordance with various
embodiments of the present invention, the elements may have zero or
more extended functionalities.
[0108] Mobile application server 1002 is a server deployed by
mobile service provider 104 for facilitating dynamic enablement of
services related to the digital content. Further, content
management system 1004 is another server deployed by mobile service
provider 104. Content management system 1004 hosts the digital
content, the services related to which are dynamically enabled for
mobile users. Content management system 1004 stores the digital
content and exposes interfaces for one or more content providers
102 and retailers to create and change the services. Content
provider 102 has been described in detail in conjunction with FIG.
1 and not shown in FIG. 10 for ease of comprehension of the figure.
The retailers may be mobile service provider 104 or an enterprise
selling the digital content. Thereafter, the services are
provisioned into mobile application server 1002 and made available
to the mobile users. Mobile application server 1002 and content
management system 1004 together form a platform for the dynamic
service enablement of a digital content. The platform may be
present in a network operator, an enterprise or one or more mobile
service providers depending upon functions performed by various
components and sub-components of the platform.
[0109] Policies are associated with various entities. Examples of
such entities include but are not limited to digital content,
mobile users, mobile devices, network, network geography, and
prices and ratings of the digital content. The network geography
defines the area or the location in which the mobile user is
connected to the network. The policies include rules that allow
usage of the digital content. For example, the rules for rights of
digital content, referring the digital content, showing
advertisement, and allowing user to gift the digital content. An
example of a rule may be offering subsidized unlimited license to a
mobile user who has referred a game to five other mobile users. The
policy-based workflow is implemented on the digital content by the
wrapper or the client.
[0110] Content management system 1004 manages offline attributes of
the dynamic service enablement of the digital content. Catalog
creation unit 1016 is software that creates catalogs of the digital
content and related services that are available to the mobile user.
For example, a catalog of the digital content includes games, wall
papers, screen savers, music, and tones. Where the mobile user is
using mobile device 106 with an open operating system, the digital
content may include Symbian applications and native applications.
The open operating system supports Java-based as well as non-Java
based digital content. Further, a catalog of services related to a
game includes services such as play the game, refer the game to
another mobile user, challenge a friend, and gift a friend. The
catalog creation unit 1016 upgrades the existing catalogs when a
new digital content or a service is made available to the mobile
users.
[0111] Content packager 1018 is an extension to DRM packager 110.
Content packager 1018 allows creation of the wrapper for the
digital content. The wrapper may be created for implementing DRM or
dynamic service enablement of the digital content based on
requirement of mobile service provider 104.
[0112] In accordance with an embodiment of the present invention,
content packager 1018 associates the policies to the digital
content. Further, content packager 1018 applies the wrapper to the
digital content. The wrapper facilitates implementation of the
policy-based workflow on the digital content, when the digital
content is downloaded by the mobile user. As a result, the wrapper
acts as a policy-based-workflow enforcer for dynamic service
enablement.
[0113] Content packager 1018 is present in content management
system 1004 if mobile device 106 is Java enabled. In this case,
content packager 1018 applies the wrapper to Java based digital
content. In accordance with an embodiment of the present invention,
mobile device 106 has an open operating system that does not
support Java. Consequently, the policy-based workflow is
implemented in a different manner. In this case, the wrapper is not
applied to the digital content. Therefore, the wrapper is not
downloaded along with the digital content. However, a client is
installed on mobile device 106. The client is installed before
downloading the digital content. After its installation, the client
facilitates implementation of the policy-based workflow on the
digital content. Furthermore, the client performs all the functions
of the wrapper. The functions performed by the client include
downloading digital content and enabling the services related to
the digital content.
[0114] Content server 1020 functions in a manner similar to content
server 112. Content server 112 delivers the digital content along
with the wrapper to mobile device 106 through mobile application
server 1002. Further, the digital content along with the wrapper
may be downloaded on mobile device 106 through Web, email, Compact
Disc (CD), Bluetooth, Infra red, WAP, binary SMS and the like. In
case where an open operating system is being used, the client is
downloaded through the same means.
[0115] Advertisement server 1022 delivers advertisements based on
the context information. Advertisement server 1022 comprises an
advertisement database. Further, the advertisement database
interacts with context server 1010 to collect the context
information. The context information includes the information about
the mobile user profile, preferences of the mobile user, type of
mobile device 106, network of the mobile user, network geography,
time of the day, events associated with the day, and the like. The
network geography includes the area in which the mobile user is
connected to the network. The events associated with the day may
include celebration occasions, holidays, birthday of the mobile
user, sports events, and the like. In accordance with an embodiment
of the invention, the context information may be collected from a
context database of a partner mobile service provider. Further,
advertisement server 1022 determines the advertisements that should
be delivered to the mobile user on the basis of the context
information. The determined advertisements are delivered to the
mobile user on mobile device 106. The delivery is enabled through
mobile application server 1002 and the wrapper or the client.
[0116] Messaging unit 1008 and charging unit 1012 are service
delivery functions of mobile application server 1002. Messaging
unit 1008 includes standard blocks of mobile service provider 104.
For example, means for delivering Short Messaging Service (SMS),
Multimedia messaging Service (MMS), and means for enabling WAP push
messages. Charging unit 1012 includes means for implementing
charging mechanisms like operator billing, billing aggregator,
premium SMS, credit-card, WAP billing, debit card, Automatic
Clearing House (ACH), and mobile-wallet (m-wallet). Charging unit
1012 interacts with operator billing system and Short Messaging
Service Centre (SMSC).
[0117] UIWE 1006 is a rule-based engine for generating a dynamic
catalog of services for the mobile user. Further, UIWE 1006 is an
interface between the wrapper and mobile application server 1002.
The wrapper has the address of UIWE 1006 embedded into it. The
digital content is downloaded on mobile device 106 along with the
wrapper. When the mobile user initiates a request for using the
digital content, the request is received at UIWE 1006. UIWE 1006
collects the context information which is related to the mobile
user. For example, the context information includes the type of
mobile device 106, the network of the mobile user, the network
geography, the profile of the mobile user, the preferences of the
mobile user, the time of the day, the events associated with the
day, and the like. The context information is collected as user
Identifier (ID), device ID, network etc. Thereafter, UIWE 1006
applies the policies on the context information of the mobile user
to generate a set of options for the mobile user. The set of
options is formulated in run time by UIWE 1006. Each time a new
request is received, a new set of options is generated. Each option
from the set of options facilitates a service related to the
digital content. For example, for a mobile user requesting to play
a soccer mobile game and having a mobile device supporting video,
the set of options may be, play another soccer video game, download
soccer video clips, refer the soccer game to a friend, and
challenge a friend. The friend is another mobile user. The option
selected by the mobile user is further informed to UIWE 1006
through the wrapper. As a result, UIWE 1006 may generate another
set of options. Further, UIWE may inform SCEU 1014 about the option
selected by the mobile user. Further, SCEU 1014 directs license
server 114, messaging unit 1008 or charging unit 1012 to deliver
the service or a license according to the option selected by the
mobile user.
[0118] In accordance with an embodiment of the present invention,
where mobile device 106 works on the open operating system, UIWE
1006 provides an interface between the client and mobile
application server 1002. Further, UIWE 1006 communicates with
mobile device 106 through the client in place of the wrapper.
[0119] Context server 1010 is a database of context information.
The context information is retrieved each time a request for using
the digital content is initiated by a mobile user. In accordance
with an embodiment of the present invention, context information
1010 may not be present in mobile application server 1002. The
context information is therefore available on the context database
of the partner service provider. Consequently, UIWE 1006 and
advertisement server 1022 connect to the partner service provider
for retrieving the context information.
[0120] Service Control and Execution Unit (SCEU) 1014 executes and
controls the workflow in mobile application server 1002. SCEU 1014
defines a control workflow, on the basis of which mobile
application server 1002 operates. The control workflow includes
instructions between any two out of license server 114, messaging
unit 1008, charging unit 1012, context server 1010, UIWE 1006, and
the wrapper in mobile device 106. Further, the instructions from
the wrapper are received at UIWE 1006 only. In case of mobile
device 106 installed with the open operating system, the wrapper is
not present and the client participates in the workflow. As
mentioned earlier, SCEU 1014 is rule based software that determines
the source, destination and timing of the instructions in mobile
application server 1002. In accordance with an embodiment of the
present invention, SCEU 1014 and UIWE 1006 may be enabled with same
software. Further, the delivery of the digital content and license
to mobile device 106 is facilitated from other units such as
messaging unit 1008, licensing server 114, and charging unit
1012.
[0121] FIG. 11 is a flow chart depicting a method for dynamically
enabling services related to a digital content in accordance with
an embodiment of the present invention. At step 1102, the service
policy is associated with the digital content by mobile service
provider 106. The wrapper is applied to the digital content to
facilitate implementation of the policy-based workflow. At step
1104, the digital content is downloaded by the mobile user. The
digital content may be downloaded through mobile application server
1002 or through Web, email, CD, Bluetooth, Infra red, WAP, binary
SMS, and the like. The wrapper is downloaded along with the digital
content. At step 1106, a request for using the digital content is
initiated by the mobile user. The request is sent to UIWE 1006. At
step 1108, UIWE dynamically generates a set of options for the
mobile user. The set of options is generated as a result of
application of policies to the context information. Each option
facilitates a service related to the digital content. Further, the
mobile user is prompted to select an option from the set of
options. At step 1110, the display of one or more advertisements is
facilitated for the mobile user. The advertisements may be related
to digital content, non-digital content, products and services that
are available at marked or discounted prices and that may be of
interest to the mobile user. The advertisements are based on the
context information related to the mobile user. The advertisements
are displayed with user options. The user options prompt the mobile
user to perform an action such as purchase, get a trial version,
register later, and the like related to the displayed
advertisement. The mobile user selects an option from the user
options and the set of options. At step 1112, mobile service
provider 104 is informed about the option selected by the mobile
user. At step 1114, the service related to the digital content is
delivered to mobile device 106 according to the option selected by
the mobile user.
[0122] In accordance with an embodiment of the present invention,
when mobile device 106 is functioning on an open operating system
that supports Java-based as well as non-Java-based digital content,
the wrapper is not applied to the digital content. Further, the
wrapper is not downloaded along with the digital content. However,
in such a case, a client is downloaded and installed on mobile
device 106. The client is downloaded before downloading the digital
content. Thereafter, the client enables interaction between mobile
device 106 and UIWE 1006. The interaction includes the download of
the digital content from mobile application server 1002. Further,
the interaction includes management of the digital content on
mobile device 106. The management includes enablement of the
services related to the digital content. The services include
executing the digital content, purchasing a license, purchasing
related digital content, accessing vault, sharing the digital
content with another mobile user, gifting the digital content to
another mobile user, online rating the digital content,
facilitating display of advertisements, implementing DRM policies,
and the like. The services related to the digital content have been
described in conjunction with FIGS. 12 and 13.
[0123] FIG. 12 is a flow diagram depicting an exemplary workflow in
accordance with an embodiment of the present invention. As
mentioned in the previous flow diagram, the set of options is
generated when the request for using the digital content is
initiated. Different types of services related to the digital
content are facilitated by the set of options. The set of options
are presented to the mobile user in the form of a catalog. For
example, an option at step 1202 facilitates using the digital
content. Further, another option at step 1204 facilitates referring
the digital content to other mobile users. If the mobile user
selects the option of using the digital content, a further set of
options is dynamically generated. At step 1206, UIWE 1006
facilitates checking if the mobile user initiates the use for the
first time or if an existing license is expired. If the license is
expired, then at step 1208, the option of purchasing a license is
enforced. The context information in this case includes the mobile
user ID with an expired or no license associated with it. The
policies enforce a license such that the license has to be
purchased by making a payment, before using the digital content. If
the existing license is not expired, then a further set of options
is generated. For example, the option at step 1210 facilitates
executing the digital content, the option at step 1212 facilitates
accessing vault, and the option at step 1208 facilitates purchasing
a license.
[0124] One or more options may further be generated allowing the
mobile user to buy a license according to his choice. For example,
the mobile user may choose to purchase a license for playing a game
five times or he may choose to purchase a license for unlimited
usage of the game. The options are generated based on the context
information. The one or more options of licenses may be generated
by using the present assignee's patent application titled `Method
and System for Dynamic Multilevel Licensing of mobile Data
Services` with U.S. patent application Ser. No. 10/954,857; which
is incorporated by reference as set forth herein in its entirety;
or by any other suitable technique. The option of purchasing a
license (step 1208) is also generated in case the license is not
expired. In this case, the license may be purchased for higher
versions or more usage of the digital content.
[0125] The vault is a personal online storage space provided to the
mobile user when the mobile user purchases the digital content. If
the option of accessing vault (step 1212) is selected then UIWE
1006 may generate further options like view content in a personal
online storage and download content in the personal online storage.
Further, option at step 1213 facilitates viewing related digital
content which allows the mobile user to browse the online catalogs
of the related digital content. The option of viewing related
digital content is generated based on the request initiated by the
mobile user at step 1106 and the context information. For example,
if the mobile user initiates a request for using a soccer game and
the mobile device used by the mobile user supports video, then a
catalog of video soccer games is generated for the mobile user to
view, purchase or avail at a discount or for free. Consequently,
the mobile user can purchase any of the digital content. The
purchase takes place through the charging mechanism such as
operator billing, credit card, m-wallet, debit card, ACH and the
like. Furthermore, an option of receiving a related digital content
for free allows the mobile user to receive free related digital
content. The mobile user may share or gift the related digital
content to another mobile user also.
[0126] Further, an option of viewing more digital content may also
be generated, where the more digital content is not related to the
request initiated by the mobile user and the context information.
The related digital content and the more digital content may be any
downloadable digital content compatible with the mobile device on
which it is being downloaded. The examples of the related digital
content and the more digital content include but are not limited to
J2ME applications, games, screen savers, tones, music, video clips,
Multimedia Messaging Service (MMS), informational services, and
wall papers. The informational services include news, sports
updates, business updates, horoscope, currency changer, and the
like.
[0127] If the mobile user selects the option of referring the
digital content to another mobile user (step 1204), a second
further set of options is generated. For example, the option of
sharing the digital content (step 1214), the option of challenging
a friend (step 1216), and the option of gifting the digital content
to a friend (step 1218). As mentioned earlier, the friend can be
another mobile user. The option of sharing the digital content
allows the mobile user to share the digital content with other
mobile users. Similarly, challenging a friend allows the mobile
user to use a digital content in competition with another mobile
user.
[0128] As an example, a catalog described below is presented to a
mobile user, who has downloaded a soccer game:
1. Top 5 Downloads
2. More sports games
3. Recommended games for you
4. People who purchased this also liked
[0129] The catalog is generated on the basis of the mobile user's
profile, the mobile user's purchase history and the policies. The
option of `top five downloads` is presented as a policy. The mobile
user has downloaded a soccer game. Therefore the option of `more
sports games` is generated based on the mobile user's profile. The
`more sports games` are based upon the preferences of the mobile
user. Further, the option of recommended games' is generated on the
basis of the mobile user's profile. The option of `people who
purchased this also liked` is generated on the basis of mobile user
purchase history associated with that game.
[0130] FIG. 13 is a flow diagram depicting the method for gifting
the digital content to another mobile user, in accordance with an
embodiment of the present invention. When the option of gifting the
digital content to a friend is selected, then the policy-based
workflow shown in FIG. 13 is generated by UIWE 1006. The
policy-based workflow is implemented by the wrapper or the client.
At step 1302, a phonebook is displayed to the mobile user on mobile
device 106. The mobile user selects another mobile user from the
phonebook or selects a new contact as another mobile user. Further,
at step 1304, the mobile user is prompted for the confirmation of a
charge of the digital content. When the mobile user confirms the
charge of the digital content on mobile device 106, then at step
1306, the confirmation is communicated to UIWE 1006 through the
wrapper. In case mobile device 106 is functioning on open operating
system, and non-Java based digital content, this is communicated by
the client. At step 1308, a WAP push is sent to the other mobile
user with a gift message to determine the mobile device being used
by the other mobile user. Thereafter, UIWE 1006 determines the form
of digital content that is compatible with the determined mobile
phone. Thereafter at step 1310, the compatible digital content is
sent to the other mobile user. Further, at step 1312, the charge of
the digital content is committed to the mobile user. The other
mobile user may browse the catalogs of the related digital content
and may also purchase some more digital content.
[0131] The services that may be dynamically enabled to the mobile
users further include but are not limited to community services
like chat, voting, and rating the digital content. Further,
tournament services are also enabled. For example, in games which
are points based, the mobile user can view and post scores to the
leader board. Prizes may be associated with the tournament.
[0132] The advertisements may be displayed in a form and manner
based on the context information. The context information is the
information related to the mobile user. The advertisements are
displayed when the mobile user interacts with the downloaded
digital content. A rule may enforce a new advertisement to be
displayed each time the advertisement is to be displayed.
[0133] In accordance with an embodiment of the present invention,
another rule may define a service on the basis of the context
information. The rule may enforce the service to be displayed after
the digital content has been used for a predefined number of times
by the mobile user. The service based on the context information is
displayed in place of the advertisements.
[0134] In accordance with another embodiment of the present
invention, an advertisement is displayed for predefined time
duration before displaying the set of options to the mobile
user.
[0135] In yet another embodiment of the present invention, the
advertisement may be displayed as a banner when the wrapper or the
client is making a connection with mobile service provider 104.
[0136] To summarize, in an embodiment of the invention, a mobile
service provider provides digital content to mobile users using
Java enabled mobile devices. Further, the digital content is
provided to mobile users using mobile devices with open operating
systems that support Java as well as non-Java based digital
content. In accordance with an embodiment of the invention, the
digital content is provided in collaboration with a content
provider. The mobile service provider can also host the digital
content. To make the digital content available to the mobile users,
the digital content needs to be registered with the mobile service
provider. Further, to protect the digital content and to regulate
how the digital content is used by mobile users, a license is
generated for the digital content as a part of the registration
process. The license defines the initial conditions based on which,
that particular digital content can be used, once it is downloaded
on the mobile device. The license enables the implementation of DRM
policies on the digital content. The license also prevents the
digital content to be forwarded or copied to other users.
[0137] The mobile user discovers the digital content on the mobile
service provider's web portal or by a service catalogue present on
the mobile service provider by means of a web browser on the mobile
device. Once a user requests the download of some digital content,
the same is delivered to the user's mobile device by the mobile
service provider. There are two methods of delivering the digital
content to the mobile user--combined and separate delivery. In
combined delivery, the downloaded digital content includes a
license embedded with it. In separate delivery, however, the
license is not included with the digital content being downloaded.
In this case, the license is obtained from the mobile service
provider when the digital content is used for the first time.
Separate delivery in this way facilitates superdistribution where
the digital content can be forwarded without the license.
[0138] A user can use the digital content on the basis of the
conditions in the license associated with it. When the license
expires, the user is prompted to pay for upgrading the license for
further use of the digital content. On the necessary payments being
made by the user, the license is upgraded and the user can continue
to use the downloaded digital content. The user may upgrade the
license even before an existing license has expired.
[0139] In accordance with an embodiment of the present invention,
the mobile service provider dynamically enables services related to
the digital content. The services are enabled on mobile devices
operated with different operating systems. The digital content is
associated with policies and is hosted by the mobile service
provider. The mobile user discovers the digital content and
downloads the digital content on his/her mobile device. In
accordance with an embodiment of the present invention, the wrapper
is downloaded along with the digital content. Thereafter, the
mobile user initiates a request for using the digital content. The
request is processed by a rule based engine in the mobile service
provider. The rule based engine collects context information and
applies the policies to the context information. The context
information is information related to the mobile user.
Consequently, an interactive set of options is dynamically
generated for the mobile user. Finally, the service is delivered to
the mobile user or to other mobile users. The delivery is according
to the options selected by the mobile user during the workflow.
[0140] In accordance with another embodiment of the invention, a
client is downloaded on the mobile device that uses an open
operating system. Thereafter, the client manages the download and
usage of the digital content on the mobile device. Further, the
wrapper is not present and the client facilitates the communication
of the mobile device with the mobile service provider. The services
are dynamically enabled for the mobile users through the
client.
[0141] The system and method as described above provides several
advantages. One advantage of the invention is that it enables a
server side implementation of DRM. That is, it enables
implementation of DRM policies on the digital content without the
need of any DRM agent being available on the mobile device and
without the need of any software installation on the mobile device
to implement licensing. Another advantage of the invention is to
enable the implementation of charging policies on the digital
content during download of the digital content on the mobile
device. Further, the invention enables the mobile service provider
to implement DRM enforcement on the digital content, so that the
content provider does not need to package the digital content with
DRM policies.
[0142] The present invention provides the advantage of dynamic
service enablement of the digital content. Further, the present
invention provides another advantage of dynamic service enablement
on all types of mobile devices. The mobile devices may have
different operating systems including proprietary operating systems
that support Java and open operating systems.
[0143] The present invention provides yet another advantage of
providing additional business models to mobile service providers by
enabling them to push advertisements to the mobile users. This
creates a new stream of revenue for the mobile service providers.
Further, the present invention provides another advantage to the
mobile user by providing him subsidized or free digital content,
the mobile user being benefited through the same business
models.
[0144] The system, as described in the present invention or any of
its components, may be embodied in the form of a processing
machine. Typical examples of a processing machine include a
general-purpose computer, a programmed microprocessor, a
micro-controller, a peripheral integrated circuit element, and
other devices or arrangements of devices that are capable of
implementing the steps that constitute the method of the present
invention.
[0145] The processing machine executes a set of instructions that
are stored in one or more storage elements, in order to process
input data. The storage elements may also hold data or other
information as desired. The storage element may be in the form of
an information source or a physical memory element present in the
processing machine.
[0146] The set of instructions may include various commands that
instruct the processing machine to perform specific tasks such as
the steps that constitute the method of the present invention. The
set of instructions may be in the form of a software program. The
software may be in various forms such as system software or
application software. Further, the software might be in the form of
a collection of separate programs, a program module with a larger
program or a portion of a program module. The software might also
include modular programming in the form of object-oriented
programming. The processing of input data by the processing machine
may be in response to user commands, or in response to results of
previous processing or in response to a request made by another
processing machine.
[0147] A person skilled in the art can appreciate that the various
processing machines and/or storage elements may not be physically
located in the same geographical location. The processing machines
and/or storage elements may be located in geographically distinct
locations and connected to each other to enable communication.
Various communication technologies may be used to enable
communication between the processing machines and/or storage
elements. Such technologies include session of the processing
machines and/or storage elements, in the form of a network. The
network can be an intranet, an extranet, the Internet or any client
server models that enable communication. Such communication
technologies may use various protocols such as TCP/IP, UDP, ATM or
OSI.
[0148] While the preferred embodiments of the invention have been
illustrated and described, it will be clear that the invention is
not limited to these embodiments only. Numerous modifications,
changes, variations, substitutions and equivalents will be apparent
to those skilled in the art without departing from the spirit and
scope of the invention as described in the claims.
* * * * *
References