U.S. patent application number 12/100869 was filed with the patent office on 2008-08-07 for method and apparatus for license distribution.
This patent application is currently assigned to AVAYA TECHNOLOGY CORP.. Invention is credited to David L. Chavez.
Application Number | 20080189131 12/100869 |
Document ID | / |
Family ID | 32908127 |
Filed Date | 2008-08-07 |
United States Patent
Application |
20080189131 |
Kind Code |
A1 |
Chavez; David L. |
August 7, 2008 |
METHOD AND APPARATUS FOR LICENSE DISTRIBUTION
Abstract
A method and apparatus for license distribution are disclosed.
An endpoint requests information from a server related to
information required for the server to grant a license. The server
provides the required information to the endpoint. The endpoint
obtains the required information, and forwards the information to
the server. The server, upon receiving the information, determines
if a license may be granted to the endpoint, and transmits a
license authorization to the endpoint, which includes the number of
licenses which are granted.
Inventors: |
Chavez; David L.;
(Broomfield, CO) |
Correspondence
Address: |
SHERIDAN ROSS P.C.
1560 BROADWAY, SUITE 1200
DENVER
CO
80202
US
|
Assignee: |
AVAYA TECHNOLOGY CORP.
Basking Ridge
NJ
|
Family ID: |
32908127 |
Appl. No.: |
12/100869 |
Filed: |
April 10, 2008 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
11475340 |
Jun 26, 2006 |
|
|
|
12100869 |
|
|
|
|
10377369 |
Feb 27, 2003 |
7260557 |
|
|
11475340 |
|
|
|
|
Current U.S.
Class: |
705/1.1 |
Current CPC
Class: |
G06F 21/105 20130101;
G06Q 10/087 20130101 |
Class at
Publication: |
705/1 |
International
Class: |
H04L 9/00 20060101
H04L009/00 |
Claims
1-12. (canceled)
13. A method for copying digital content by a digital content
receiver, comprising: displaying digital content; receiving from a
user a request to copy the digital content; accessing a server
which is geographically dislocated from the digital content
receiver; receiving, from said server, a request for license
information related to requirements for granting license to copy
digital content; determining said requested license information;
communicating said requested license information to said server;
receiving, from said server, a copy license, including a number of
copies which are authorized to be made; and generating a copy of
the digital content when said number of copies is greater than
zero.
14. The method for copying digital content by a digital content
receiver, as claimed in claim 13, wherein there are no limitations
on the viewing of the digital content.
15. The method for copying digital content by a digital content
receiver, as claimed in claim 13, wherein said requested license
information includes a plurality of fields, including a content
name field, a customer name field, a number of copies requested
field, and a payment field.
16. The method for copying digital content by a digital content
receiver, as claimed in claim 15, wherein said payment field
includes a requirement for credit card information.
17. The method for copying digital content by a digital content
receiver, as claimed in claim 13, wherein said copy license
includes a plurality of fields including a content name field, a
customer name field, a number of licenses granted field, a use
allowed field, and a qualifying field.
18. The method for copying digital content by a digital content
receiver, as claimed in claim 17, wherein said qualifying field
includes authentication information.
19. The method for copying digital content by a digital content
receiver, as claimed in claim 17, wherein said qualifying field
includes a decryption key.
20. The method for copying digital content by a digital content
receiver, as claimed in claim 13, wherein said accessing and
communicating steps are performed using hyper text transfer
protocol (HTTP).
21. The method for copying digital content by a digital content
receiver, as claimed in claim 13, wherein said accessing and
communicating steps are performed using hyper text transfer
protocol over secure socket layer (HTTPS).
22. The method for copying digital content by a digital content
receiver, as claimed in claim 13, wherein said generating a copy
step includes: verifying that said number of copies is greater than
zero; verifying that a valid qualifying field is present in said
copy license; generating a copy of the digital content when said
number of copies is greater than zero and said valid qualifying
field is present; and decrementing said number of copies.
23-68. (canceled)
69. A computer readable medium encoded with instructions for
directing a digital content receiver to perform a method copying
digital content, comprising: displaying digital content; receiving
from a user a request to copy the digital content; accessing a
server which is geographically dislocated from the digital content
receiver; receiving, from said server, a request for license
information related to requirements for granting license to copy
digital content; determining said requested license information;
communicating said requested license information to said server;
receiving, from said server, a copy license, including a number of
copies which are authorized to be made; and generating a copy of
the digital content when said number of copies is greater than
zero.
70. The computer readable medium of claim 69, wherein said
requested license information includes a plurality of fields,
including a content name field, a customer name field, a number of
copies requested field, and a payment field.
71. The computer readable medium of claim 70, wherein said payment
field includes a requirement for credit card information.
72. The computer readable medium of claim 69, wherein said copy
license includes a plurality of fields including a content name
field, a customer name field, a number of licenses granted field, a
use allowed field, and a qualifying field.
73. The computer readable medium of claim 72, wherein said
qualifying field includes authentication information.
74. The computer readable medium of claim 72, wherein said
qualifying field includes a decryption key.
75. The computer readable medium of claim 69, wherein said
accessing and communicating steps are performed using hyper text
transfer protocol (HTTP).
76. The computer readable medium of claim 69, wherein said
accessing and communicating steps are performed using hyper text
transfer protocol over secure socket layer (HTTPS).
77. The computer readable medium of claim 69, wherein said
generating a copy step includes: verifying that said number of
copies is greater than zero; verifying that a valid qualifying
field is present in said copy license; generating a copy of the
digital content when said number of copies is greater than zero and
said valid qualifying field is present; and decrementing said
number of copies.
Description
FIELD OF THE INVENTION
[0001] The present invention relates generally to the licensing and
copy protection of software and video material, more specifically,
to portability and distribution of enterprise wide licenses and
licenses for copying of software and video material.
BACKGROUND OF THE INVENTION
[0002] To protect software manufacturers' intellectual property
rights in software sold to the public, manufacturer's commonly
license software to the purchaser. Additionally, in many
applications the purchaser has purchased a large number of
licenses, commonly referred to as rights to use (RTUs), which are
used across many different sites in an enterprise. In particular, a
customer may purchase a number of licenses for a release or version
of a particular software package for a customer premise
telecommunication switching system. Many times the customer also
has an enterprise network which includes telecommunication
switching systems located at several different sites. Rather than
purchase licenses for each individual site, it is often more cost
effective to purchase all of the licenses for all of the sites in a
bulk package. The licenses may be used across various sites where
different telecommunication switching systems are used. In certain
instances a customer may need to change the number of licenses for
particular sites. For example, a company may initially require 1000
licenses at site A, and 2000 licenses at site B. Due to personnel
shifts, the company may later require 500 licenses at site A, and
2500 licenses at site B. Portability of licenses between different
sites for an organization is known as "enterprise wide licensing"
or "EWL." EWL may also be advantageous for balancing loads at
different sites. For example, an enterprise may have three
telecommunications switches and thirty total licenses which are
initially distributed as ten licenses per switch. It may then be
determined that one of the switches has a heavier volume than the
other two, and it would be useful to have additional licenses at
that site. In such a case, efficient EWL would be advantageous.
[0003] Traditionally, number of licenses available at a site, after
the initial license distribution, had to be manually adjusted,
which commonly involved contacting the software distributor and
obtaining the adjustment of the licenses. This also typically
required a technician from the software distributor to visit the
sites to install files which allow for the adjusted number of
licenses. Thus, it would be advantageous for such a customer to
have portability of the licenses, allowing them to automatically
adjust the number of licenses available for any given site without
requiring the installation of separate files, and without requiring
a service call from a technician. As is known, the number of
licenses simply indicates the total number of copies of the
software package which may be operated at a given time.
Accordingly, the licenses control the number of copies of the
software package which are available at any given time. Thus, the
control of licenses may also be viewed as controlling the number of
copies of a software package.
[0004] A similar type of problem is present in the high definition
digital video content industry. In this case, a content provider
which provides high definition digital content needs to limit the
available copying of that digital content. Many content providers,
such as broadcast television content providers, are required to
allow for fair use copying, such as copying for time-shift
purposes, but want to limit other copying. This problem is
particularly important for devices which are able to digitally
record the digital content. In such cases, there is no
deterioration in quality for the copy, and additional copies may be
made with no deterioration. Accordingly, there is a large piracy
concern for such digital content communication.
[0005] Traditionally, two schemes have been commonly used to
protect content providers from unauthorized copying. One scheme,
known as Macrovision.TM., provides an inherent instability within
the picture. When the picture goes through an analog conversion,
the instability becomes apparent, degrading the picture. However,
this scheme only works if the copying is performed using an analog
conversion. As digital recording technology advances, digital
recording mediums and hardware to record digitally are become more
common. Thus, this scheme will not be effective against copying
which is performed using a digital recording medium.
[0006] A second scheme is a software restriction on digital
transfer of high definition picture. One such method is known as
1080i, which is a digital transmission format defined by the
Advanced Television Systems Committee. Embedded in the 1080i
digital transmission is an identified transmission quality of
picture. This embedded digital encoding is picked up at the
receiver, which determines if the transmission is copy protected.
While this method can be effective in allowing copying or not
allowing copying, it is not flexible with respect to the amount of
copying allowed for certain content. For example, in many cases a
content provider may need to allow copies of certain content for
fair use time-shift purposes. Using this method, if copying of the
content is allowed, additional copies may be made following the
recording of the original copy. Accordingly, it would be useful to
have a system which would allow a single fair use copy, or limited
fair use copies, to be made of such content, and limit any
additional copies which are made of the content.
[0007] Another method to limit copying of content is known as
IEEE1394 or "Firewire." If picture is copy encoded, it is trusted
that the receiver will not allow a copy to be made. If the receiver
is an original source (i.e. a personal video recorder or "PVR"), a
limit on the copies may be given. However, a drawback of this
method is that pirates can defeat the digital copy encoding in a
relatively simple manner, by locating the information containing
the permitted copying information and altering this information to
allow for unlimited copies. For example, if a Digital Video Disk
(DVD) contains information related to permissible copying of the
digital content, a pirate may locate the area on the surface of the
disk which contains this information. The pirate may then alter
that area such that the information cannot be read, which results
in copies being able to be made.
[0008] In order to attempt to limit unauthorized copying, content
providers may also encrypt the signal. In such a case, the pirate
may also defeat the encryption. While encryption is somewhat
effective, it requires that encryption keys be distributed in a
secure manner. Decoding the encryption also degrades the
performance of a video system, and can potentially cause a fault if
there is an error in the decryption. Thus, it would be advantageous
to provide a method for copy protection which does not rely on copy
encoding data in the digital content, and does not require
encryption.
[0009] Another method for limiting copying of digital content is a
failed technology known as DIVX. This technology required a digital
player which contacted, via a telephone connection, a center which
granted permission to view the digital content. This technology was
not successful and raised a number of privacy concerns, as people
did not want it to be recorded every time they viewed a movie.
Furthermore, permission was required from the authorization source
any time the product was viewed. Thus, unlimited copies of the
digital content could be made, and the content only viewed upon the
grant of permission by the authorization center. This had the
effect of removing any incentive for a producer to make any copies
of such content, because the content could be copied freely, and an
end user would simply pay when the content was actually viewed.
Thus, it would be advantageous to provide a copy protection system
which maintains incentive for producers to manufacture copies of
digital content.
[0010] Another problem area in software and digital content
distribution may occur following the distribution of the software
or some digital content. Following this distribution, it may be
determined that the software or digital content violates a law or
some rights of another owner. In the event that such a situation
arises, it would be advantageous to limit the amount of additional
copying which may be done for the software or digital content. For
example, a first customer may purchase 10,000 licenses for
telecommunications switching software and divide the number of
licenses between two sites, with each site receiving 5000 licenses.
The license purchase agreement may specify that the customer is to
pay the software distributor an amount of $10,000 per month for one
year. If the customer then fails to pay the software distributor,
it would be advantageous to provide a solution which does not allow
the customer to move copies of the software between the sites.
Thus, if the customer in this example, after failing to pay the
license fee, wishes to move 1,000 licenses from the first site to
the second site, it would be useful to the software distributor to
be able to deny the movement of the licenses until proper payment
is made. Similarly, if a digital content provider determines that
the content which is distributed violates an intellectual property
right, it would be useful for the content provider to deny any
additional copies of the content from being made. For example, a
content provider may distribute a movie in digital format, and
later discover that a scene in the movie contains a copyrighted
image which the copyright owner demands not be reproduced. In such
a case, if the content provider cannot resolve the dispute with the
copyright owner, it would be useful to deny that any additional
copies of the content be made, thus limiting the amount of damages
to the copyright owner.
[0011] Accordingly, it would be advantageous to have a mechanism
which provides copy protection for software and digital content
while not inhibiting authorized use. It would also be advantageous
for the mechanism to not require encryption, and which also does
not require transmission of information every time a customer views
the content.
SUMMARY OF THE INVENTION
[0012] These and other needs are addressed by the various
embodiments and configurations of the present invention. The
invention provides a method and apparatus for license distribution.
An endpoint requests information from a server related to
information required for the server to grant a license. The server
provides the information to the endpoint. The endpoint obtains the
required information, and forwards the information to the server.
The server, upon receiving the information, determines if a license
may be granted to the endpoint, and transmits a license
authorization to the endpoint, which includes the number of
licenses which are granted.
[0013] In accordance with one embodiment, a method for transferring
a license in an enterprise network is provided. The method includes
allocating a first number of licenses to a first site, and
allocating a second number of licenses to a second site, the first
and second sites being geographically dislocated from each other. A
license reallocation request is received, and at least one of a
third number of licenses for the first site and a fourth number of
licenses for the second site is determined, without input from a
user. A first response is communicated to the first site which
includes the third number of licenses, and a second response is
communicated to the second site which includes the fourth number of
licenses. Following the response steps, the first and second sites
are operated subject to the first site being entitled to the third
number of licenses and the second site being entitled to the fourth
number of licenses.
[0014] The method of this embodiment may also include updating a
record indicating the third and fourth number of licenses allocated
to the first and second sites, respectively. The record may be
updated by accessing a database containing license records, and
updating the records to indicate the third and fourth number of
licenses allocated to said first and second sites, respectively.
The database is accessed, in one embodiment, by establishing
communication with a server, and accessing the database on the
server which contains said license allocation records.
[0015] When making the determination of the third and fourth number
of licenses the method, in one embodiment, includes calculating a
difference between the first number and a requested number of
licenses in the reallocation request, determining an additional
number of licenses required for the first site based on the
calculated difference, determining the third number of licenses as
the sum of the first number and the additional number of licenses,
and determining the fourth number by subtracting the additional
number of licenses from the second number. In another embodiment,
the determination includes accessing a database containing license
allocation records to determine the first number and the second
number, calculating a difference between the first number and the
requested number of licenses in the reallocation request,
determining an additional number of licenses required for the first
site based on the calculated difference, and determining the fourth
number by subtracting the additional number of licenses from the
second number. When accessing the database, in one embodiment, a
server is accessed by establishing communication with the server,
and the database on the server is accessed to obtain the license
allocation records.
[0016] The first response, in one embodiment, includes a number of
fields, including a version number field, a customer name field, a
number of licenses granted field, a use allowed field, and a
qualifying field. The license reallocation request may also include
a number of fields, including a version number field, a customer
name field, a number of licenses requested field, and an
authorization field.
[0017] The receiving and communicating may be performed using a
number of protocols, including hypertext transfer protocol (http),
and hypertext transfer protocol over secure socket layer
(https).
[0018] The present invention also includes, in an embodiment, a
method for copying digital content by a digital content server. The
method includes the steps of displaying digital content, and
receiving from a user a request to copy the digital content. Upon
receiving the request, a server is accessed, with the server being
geographically dislocated from the digital content receiver. The
digital content receiver receives, from the server, a request for
license information related to requirements for granting a license
to copy digital content. The requested license information is
determined, and communicated to the server. A copy license is
received from the server, with the license including a number of
copies which are authorized to be made. A copy of the digital
content is generated when the number of copies included in the
license is greater than zero. In one embodiment, the digital
content receiver has no limitations regarding the viewing of the
digital content. The requested license information, in one
embodiment, includes several information fields including a content
name field, a customer name field, a number of copies requested
field, and a payment field. The payment field may include a
requirement for credit card information. In one embodiment, the
copy license includes a number of information fields, including a
content name field, a customer name field, a number of licenses
granted field, a use allowed field, and a qualifying field. The
qualifying field may include authentication information, and/or a
decryption key. In one embodiment, communication to and from the
server is performed using hypertext transfer protocol or hypertext
transfer protocol over secure socket layer. The copy is generated,
in one embodiment, by verifying that the number of copies is
greater than zero, verifying that a valid qualifying field is
present, generating a copy of the digital content, and decrementing
the number of copies.
[0019] The present invention includes, in another embodiment, a
method for granting a license to copy digital content. The method
includes the steps of, receiving, from a digital content receiver,
a request for license information fields; communicating the license
information fields to the digital content receiver over a network
connection; receiving license information from the digital content
recorder over the network connection; determining the availability
of a copy license based on the license information; and
communicating a license, including a number of copies which the
digital content receiver is authorized to make, to the digital
content receiver over the network connection. In one embodiment,
the determining step includes verifying copy license availability
for a content title requested to be copied, verifying proper
payment, and determining the number of copies based on the payment
and copy license availability. In another embodiment, the
determining step includes accessing a database containing copy
license permissions to determine if copy licenses are available for
the requested digital content, verifying proper payment, and
determining the number of copies based on the payment and copy
license availability. The database may be accessed by establishing
communication with a server, and accessing a database on the server
which contains the copy license availability. The license
information fields may include a number of fields, including a
content name field, a customer name field, a number of licenses
requested field, and a payment field. The copy license may include
a number of fields, including a content name field, a customer name
field, a number of licenses granted field, a use allowed field, and
a qualifying field. The qualifying may contain authentication
information and/or a decryption key. The receiving and
communicating steps in one embodiment, are performed using
hypertext transfer protocol, or hypertext transfer protocol over
secure socket layer.
[0020] These and other advantages and features of the invention
will become apparent from the following description of the
invention taken together with the drawings.
BRIEF DESCRIPTION OF THE DRAWINGS
[0021] FIG. 1 is a block diagram illustration of a copy protection
system of one embodiment of the present invention;
[0022] FIG. 2 is a block diagram illustration of one embodiment of
a system of the present invention having multiple end users at an
endpoint, and which utilizes the Internet for communications;
[0023] FIG. 3 is a flow chart diagram illustrating the general
operational steps for license distribution between a server and an
endpoint for one embodiment of the present invention;
[0024] FIG. 4 is a flow chart diagram illustrating the operational
steps performed by an endpoint for one embodiment of the present
invention;
[0025] FIG. 5 is a flow chart diagram illustrating the operational
steps performed by a server for one embodiment of the present
invention;
[0026] FIG. 6 is an illustration of a screen shot of a license
request page of one embodiment of the present invention;
[0027] FIG. 7 is an illustration of a screen shot of a license
response page of one embodiment of the present invention; and
[0028] FIG. 8 is a block diagram illustration of the license
structure of one embodiment of the present invention.
DETAILED DESCRIPTION
[0029] Referring first to FIG. 1, a block diagram illustration of a
copy protection system of one embodiment of the present invention
is described. An endpoint 100 is in communication with a server
104. The endpoint 100 may be an individual site for an enterprise
software customer, and the endpoint 100 may likewise be a piece of
equipment capable of recording digital content. The server 104 may
be associated with a software distributor or a content provider.
The server 104 communicates with a database 108, and additional
server(s) 112 as may be required. The endpoint 100 may communicate
with the server 104 in any of a number of ways. In the embodiment
of FIG. 1, the endpoint 100 has a port 116 which communicates over
a network connection 120 to a port 124 in the server. The network
connection 120 may be any number of well known connections. For
example, the network connection 120 may include the Internet. In
this case, the endpoint port 116, and the server port 124, include
Internet connections, and the network connection 120 is the
Internet. The network connection 120 may also be a telephone
connection, with the ports 116, 124 being modems. Furthermore, the
endpoint 100 and server 104 may be components of a LAN, in which
case the network connection 120 would be a standard LAN connection.
In another embodiment, the endpoint 100 is a personal computer
which is used to access the server 104 through an Internet
connection. A user at the personal computer access a web page from
the server 104, and enters information in order to obtain access
codes which will allow for a license transfer.
[0030] FIG. 2 is a block diagram illustration of one embodiment of
a system of the present invention having multiple end users at an
endpoint, and which utilizes the Internet for communications. In
this embodiment, a first endpoint 150 has a number of users,
including a first user 154, a second user 158, and additional users
up to and including an Nth user 162. The first endpoint 150
connects to the Internet 166, and communicates with a server 170.
Similar to the system described with respect to FIG. 1, the server
170 may communicate with a database 174 and additional servers 178.
In the embodiment illustrated in FIG. 2, the server 170
communicates with the database 174 and additional servers 178
through the Internet 166. The system also has a second endpoint
182, which has a number of users including a third user 186, a
fourth user 190, and additional users up to and including an Mth
user. 194. The second endpoint 182 also communicates with the
server 170 through the Internet 166. The first endpoint 150 and
second endpoint 182 in this embodiment may, for example, represent
telecommunications switches, which may be owned and operated by a
single enterprise customer in an enterprise network. The enterprise
network may be a switch based network, a server based network, or
other type of network which allows communication between components
and sites within the enterprise network.
[0031] The enterprise customer may have purchased a block of
licenses which activate certain features in the first and second
endpoints 150, 182. The total number of combined users at the
endpoints 170, 182 is then limited to the total number of licenses
purchased by the enterprise customer. As mentioned above, in
certain instances the enterprise customer may need to transfer some
or all of the licenses from the first endpoint 150 to the second
endpoint 182, in order to enable the second endpoint 182 to support
more users. In this embodiment, the server 170 may be accessed by
the second endpoint 182 which requests a transfer of licenses from
the first endpoint 150 to the second endpoint 182. Likewise, the
server 170 may be accessed by the first endpoint 150 to request
licenses be transferred to the second endpoint 182.
[0032] The server 170, in one embodiment, is operated by the
manufacturer of the endpoints who also distributes the licenses
allowing the end users to access features or software located at
the endpoints. In another embodiment, the server 170 is operated by
an distributor of telecommunications switches, who supplies
switches to various customers. The distributor may have purchased a
number of switches from the switch manufacturer, and a number of
licenses from the switch manufacturer, which the distributor
allocates to the different customers. In this embodiment, the
customer may access the server 170 and request additional licenses
from the distributor.
[0033] The server 170 determines availability of licenses, and
communicates information to the endpoints 150, 182 which may adjust
the number of available licenses at the endpoints 150, 182, thus
changing the total number of licenses available for the users
connected to each endpoint 150, 182. The communications between the
endpoints 150, 182 and server 170 will be described in more detail
below.
[0034] Referring now to FIG. 3, a flow chart diagram illustrating
the general operational steps for license distribution between a
server and an endpoint for one embodiment of the present invention
is described. Initially, as noted by block 200, the endpoint
establishes a connection with the server. When establishing this
connection, the endpoint, in one embodiment, accesses the server
using an Internet connection and an http or https protocol.
However, numerous other connections may be used to connect the
endpoint and server, such as telephone, LAN, wireless, instant
messaging, and cellular, among others as will be readily understood
by one of skill in the art. Likewise, any communication protocol
may be used, including proprietary protocols. When the endpoint
establishes the connection with the server, the server provides
information regarding license request fields, as noted at block
204. The endpoint receives this information, and populates the
license request fields with the relevant information to generate a
license request which is communicated to the server, according to
block 208. The license request may have any of a number of
structures, as will be described in more detail below.
[0035] The server receives the license request, and parses the
information contained therein to determine the information in each
of the license request fields, and determines the available license
which may be provided to the endpoint, as noted by block 212. At
block 216, the server generates a response which includes a
qualification field and a license. The license may be a limited
license, such as, for example, a one time copy license for digital
content. The license may also be a software license which is then
transferred from a first site within an enterprise to a second site
within the enterprise. The second site would then have an
additional license, and the first site would have one fewer
licenses. In such a situation, the license request may also be for
any number of licenses, allowing multiple software RTU licenses to
be transferred between sites at any given time. The qualification
field may be a separate field which is required by the software in
order to enable the software. The qualification field may also be a
decryption key which the endpoint may use to decrypt an encrypted
signal which will enable to endpoint to copy content.
[0036] According to block 220, the server communicates the response
to the endpoint, thus granting the license. The server then updates
a database to include the latest license information, as noted by
block 224. If there is an access failure at any point, the server
can report the same result back to the endpoint following a license
request which has the same information in the different fields. The
endpoint may be a piece of hardware having a connection to the
server, and may generate all of the transactions for the endpoint
and receive the license automatically, or the information from the
endpoint may be input by a user. It will be understood that
numerous alternatives exist to the flow of the operational steps of
FIG. 2. For example, the endpoint and server could communicate
individual fields related to the license request rather than
include the entire request in one structure. Furthermore, the
server may communicate with additional servers when making any
determinations regarding licenses which are available to the
endpoint.
[0037] Referring now to FIG. 4, a more detailed flow diagram
illustrating the operational steps performed by an endpoint for one
embodiment of the present invention is now described. Similarly as
mentioned above, the endpoint may perform the operational steps
automatically following a command by a user, or a user may input
information required for certain operational steps. For example,
the endpoint may be a digital video disk (DVD) player, which is
capable of both playing digital video disks and recording, or
supplying a digital signal to a digital output which another device
can connect to in order to record the digital output. The terms
"record" or "copy" are used to refer to storage of information on a
medium which may be used to view the stored information at a later
time. If a user wants to copy a DVD, the user is required to give a
copy command, following which the DVD player develops a license
request and initiates communication with a licensing authority.
[0038] Initially, according to block 300, the endpoint establishes
a connection with the server. The endpoint communicates information
to the server indicating that it needs to perform a license
transaction, as noted by block 304. The endpoint then waits for a
response from the server, as noted by block 308. At block 312, the
endpoint determines if a response from the server has been
received. If a response has not been received, the endpoint
determines if a time limit has been exceeded, according to block
316. If the time limit is exceeded, the endpoint reports an error
message, as noted by block 320. If, at block 316, the time limit is
not exceeded, the endpoint performs the functions of blocks 308
through 312 again. If the endpoint has received a response at block
312, a license request is generated including the information which
is required by the server, as noted by block 324. The endpoint,
according to block 328, communicates the license request to the
server. The endpoint waits for a response from the server at block
332, and determines if a response has been received according to
block 336. If a response has not been received from the server, the
endpoint determines if a time limit has been exceeded, as noted by
block 340. If the time limit has been exceeded, the endpoint
reports an error message, as noted by block 344. If a response is
received from the server at block 336, the endpoint parses the
response and permits copying based on information in the response,
as noted by block 348.
[0039] Referring now to FIG. 5, a flow chart illustrating the
operational steps performed by a server in one embodiment of the
present invention is now described. Initially, at block 400, the
server receives information from an endpoint indicating a license
transaction is needed. The server, at block 404, communicates
license request information to the endpoint. The server, according
to block 408, waits for a license request from the endpoint. At
block 412, the server determines if a license request has been
received from the endpoint. If a license request has not been
received, the server determines if a time limit has been exceeded,
as noted by block 416. If the time limit has been exceeded, the
server discontinues the operation, as noted by block 420. If the
server determines that a license request has been received at block
412, the server parses the information in the license request and
determines the availability of any licenses requested from the
endpoint, as noted by block 424. At block 428, the server generates
a license response including a number of licenses, which may
include zero, the permitted use of the license, and a qualification
field. The server communicates the license response to the endpoint
at block 432. The server updates the appropriate license database
to include the latest license information, as noted by block 436.
The server then determines, at block 440, whether the license
response results in any changes to the number of licenses at other
endpoints. If the license response does not alter the number of
licenses available at any other endpoints, the operation is
terminated, as noted at block 444. If the license response does
result in a change of licenses at another endpoint, the server
communicates a response to the other endpoint(s) to adjust the
number of licenses available, as noted at block 448. As will be
understood by one of skill in the art, the operational steps
described with respect to FIGS. 3-5 may be performed using either
software or hardware.
[0040] Referring now to FIG. 6, an illustration of a screen shot of
a license request page of one embodiment of the present invention
is described. The license request page 500 includes a title bar
504, a menu bar 508, a tool bar 512, and a URL address bar 516.
Each of these bars 504-516 are well known and serve the standard
functions of such bars. The license request page includes a content
area 520, which includes a number of fields required for granting a
license. A version number/name field 524 prompts for the entry of
the version number of software the licenses are requested for, or
for the name of the software or other content for which a license
is being requested. A customer name field 528 prompts for the entry
of the customer name. The customer name may be the name of an
enterprise customer, or may be the name of an individual who wishes
to copy multimedia content. A number of licenses requested field
532 prompts for the number of licenses requested by the user. This
number may correspond to the number of additional software licenses
required by one site in an enterprise network, or the number of
copies requested by a multimedia content customer. An
authorization/payment field prompts for an appropriate
authorization, or for the proper payment required for granting a
license. The authorization may include an access password for the
user, and may also include credit card or personal check
information. In one embodiment, the endpoint and server communicate
using a secure transfer protocol, such as https, for security
purposes. The content area 520 also includes a "send" button 540,
which may be used to send the information included in the license
request page to the server.
[0041] Referring now to FIG. 7, an illustration of a license
response page of one embodiment of the present invention is
described. The license response page 600 includes a title bar 604,
a menu bar 608 a tool bar 612, and a URL address bar 616. Each of
these bars 604-616 are well known and serve the standard functions
of such bars. The license response page includes a content area
620, which includes a number of fields describing the license which
is granted. A version number/name field 624 displays the version
number of software the licenses are granted for, or for the name of
the software or other content for which a license is granted. A
customer name field 628 indicates the customer name. A number of
licenses requested field 632 indicates the number of licenses which
are granted based on the license request, including zero. A use
allowed field 636 indicates the use allowed for the license. For
example, if a customer is granted a license to copy video content
from a HDTV broadcast, the use allowed field may indicate to the
device used to copy the content that not all of the content may be
copied. For example, if a broadcast of a television program
includes additional digital content, such as biographical
information for individuals in the program, the use allowed field
636 may indicate that only the video content may be copied, and
that the additional digital content may not be copied.
[0042] A qualifying field 640 contains qualifying information which
may be used by the endpoint to verify the validity of the license.
The server generates the qualifying field based on an
authentication algorithm which is based on as many of the fields as
the provider wishes to use to generate a responding qualification
field. The endpoint must receive a valid qualifying field in order
to permit any change in licenses. The qualifying field 640 may also
contain a decryption key, which would allow the endpoint to decrypt
information related to the software or content associated with the
license. The qualifying field 640 may be scrambled, or obscured by
the device receiving the license response page, thus increasing the
difficulty of unauthorized users accessing the qualifying field 640
and determining a system or formula which is used to generate the
information contained in the qualifying field 640.
[0043] Referring now to FIG. 8, the license structure of one
embodiment of the present invention is now described. As
illustrated in FIG. 8, the license structure 650 has a number of
information fields. A first field, the version number field 654
contains the version number, which may be in any format including a
binary number string or a text string, and contains information
identifying a product. For example, in an EWL application, the
version number may indicate a specific software program and the
version number of that program. Likewise, if the license is for
digital media content, the version number field 654 may include
information related to the title content and the date, such as
"Movie X, director's version, May, 2000." The license structure 650
contains a customer field 658, which contains information related
to a unique customer identifier.
[0044] A number of licenses field 662 contains information
indicating the number of licenses being granted. This number may be
the number of licenses allocated for a software program for a site,
or may contain the total number of copies allowed to be made in a
media application. A use allowed field 666 indicates any limited
use for the license. For example, if a software application has an
initial trial mode use, the use allowed will indicate that the use
is a trial mode, and the period of the trial. The use allowed field
666 may also indicate that only portions of digital content may be
copied. For example, a content provider may provide digital video
content of an event, and additional digital information which is
not required for a video image. The use allowed field may indicate
that a copy of the digital video content may be copied, and that
the additional digital information may not be copied. Finally, the
license structure 650 contains a qualifying field 670, which may
contain information for authentication/verification purposes. The
license, upon being received at the endpoint, would either allow it
to come into service based on the parameters or allow a function to
be performed, such as copying of content.
[0045] The present invention, in various embodiments, includes
components, methods, processes, systems and/or apparatus
substantially as depicted and described herein, including various
embodiments, subcombinations, and subsets thereof. Those of skill
in the art will understand how to make and use the present
invention after understanding the present disclosure. The present
invention, in various embodiments, includes providing devices and
processes in the absence of items not depicted and/or described
herein or in various embodiments hereof, including in the absence
of such items as may have been used in previous devices or
processes, e.g. for improving performance, achieving ease and\or
reducing cost of implementation.
[0046] The foregoing discussion of the invention has been presented
for purposes of illustration and description. The foregoing is not
intended to limit the invention to the form or forms disclosed
herein. Although the description of the invention has included
description of one or more embodiments and certain variations and
modifications, other variations and modifications are within the
scope of the invention, e.g. as may be within the skill and
knowledge of those in the art, after understanding the present
disclosure. It is intended to obtain rights which include
alternative embodiments to the extent permitted, including
alternate, interchangeable and/or equivalent structures, functions,
ranges or steps to those claimed, whether or not such alternate,
interchangeable and/or equivalent structures, functions, ranges or
steps are disclosed herein, and without intending to publicly
dedicate any patentable subject matter.
* * * * *