Language selection

Search

Patent 2547713 Summary

Third-party information liability

Some of the information on this Web page has been provided by external sources. The Government of Canada is not responsible for the accuracy, reliability or currency of the information supplied by external sources. Users wishing to rely upon this information should consult directly with the source of the information. Content provided by external sources is not subject to official languages, privacy and accessibility requirements.

Claims and Abstract availability

Any discrepancies in the text and image of the Claims and Abstract are due to differing posting times. Text of the Claims and Abstract are posted:

  • At the time the application is open to public inspection;
  • At the time of issue of the patent (grant).
(12) Patent Application: (11) CA 2547713
(54) English Title: SYSTEM AND METHODS FOR RESOLVING LICENSE DEPENDENCIES AND FOR AUTHENTICATING LICENSES
(54) French Title: SYSTEME ET PROCEDES PERMETTANT DE RESOUDRE LES DEPENDANCES A L'EGARD DE LICENCES E D'AUTHENTIFIER DES LICENCES
Status: Dead
Bibliographic Data
(51) International Patent Classification (IPC):
  • G06F 21/10 (2013.01)
  • G06Q 10/10 (2012.01)
  • G06Q 50/18 (2012.01)
(72) Inventors :
  • LEVIN, DOUGLAS ANDREW (United States of America)
  • PEDERSEN, PALLE MARTIN (United States of America)
  • SHAH, ASHESH C. (United States of America)
(73) Owners :
  • BLACK DUCK SOFTWARE, INC. (United States of America)
(71) Applicants :
  • BLACK DUCK SOFTWARE, INC. (United States of America)
(74) Agent: SMART & BIGGAR
(74) Associate agent:
(45) Issued:
(86) PCT Filing Date: 2004-12-03
(87) Open to Public Inspection: 2005-06-23
Availability of licence: N/A
(25) Language of filing: English

Patent Cooperation Treaty (PCT): Yes
(86) PCT Filing Number: PCT/US2004/040453
(87) International Publication Number: WO2005/057457
(85) National Entry: 2006-05-30

(30) Application Priority Data:
Application No. Country/Territory Date
10/728,173 United States of America 2003-12-04
10/728,174 United States of America 2003-12-04

Abstracts

English Abstract




Published without an Abstract


French Abstract

Publié sans précis

Claims

Note: Claims are shown in the official language in which they were submitted.





-50-


CLAIMS

1. A method comprising:
identifying a first license associated with a first protectable content;
providing a plurality of known license attributes;
associating at least some of the known license attributes with the first
license;
assigning a restriction value to each of the associated license attributes,
the restriction
values of the associated license attributes specifying particular restrictions
pertaining to the first
protectable content;
assigning at least one use value and at least one interaction value to at
least some of the
associated license attributes, the at least one use value representing a
permissible degree of
distribution of the first protectable content and the at least one interaction
value representing a
permissible degree of manipulation of the first protectable content;
comparing the assigned restriction, use, and interaction values of the at
least some of the
associated license attributes with corresponding attribute values associated
with a second license,
the second license being associated with a second protectable content; and
based on the comparison, determining attributes associated with a third
protectable
content, the third protectable content being at least partly based on a
combination of at least
some aspects of the first and second protectable content.
2. The method of claim 1, wherein the first protectable content and the second
protectable
content correspond to different software elements.
3. The method of claim 2, wherein the software elements are compliant with an
open source
definition.
4. The method of claim 2, wherein the first protectable content is compliant
with an open
source definition and the second protectable content is not compliant with the
open source
definition.
5. The method of claim 1, wherein the first protectable content corresponds to
at least one
of a multimedia presentation, a video segment, an audio segment, a textual
representation, a
work of art, a visual representation, a technological know-how, a business
know-how, and a
contract right.
6. The method of claim 1, wherein the license attributes associated with the
first license




-51-

correspond to at least one of a software code format, a software naming
convention, a software
code annotation, a warranty, a reverse-engineering activity, a patent
litigation activity, a
standards body, a violation of intellectual property rights, and a textual
description of at least one
aspect of the first license.
7. The method of claim 1, wherein the assigned restriction values correspond
to at least one
of a prohibition, a requirement, and a nullity.
8. The method of claim 1, wherein the assigned restriction values are set to
at least one of
true, false, required, don't care, forbidden, 1, 0, -1, and text.
9. The method of claim 1, wherein the assigned use values correspond to at
least one of an
acquisition, a personal use, a research use, an organizational use, a limited
distribution, and an
unlimited distribution of at least one aspect of the first protectable
content.
10. The method of claim 1, wherein the assigned interaction values correspond
to at least one
of an original element, a modified element, a group of distinct elements, a
group of
interconnected elements, a group of elements capable of providing a desired
functionality, a
plurality of interoperable groups of elements capable of providing a plurality
of functions, an
unrestricted manipulation of elements, and an unrestricted ownership of
elements of at least one
aspect of the first protectable content.
11. The method of claim 1, further comprising:
analyzing the first protectable content to identify the first license.
12. The method of claim 1, further comprising:
storing the restriction values, use values, and interaction values assigned to
the at least
some of the associated license attributes of the first license;
storing the corresponding attribute values associated with the second license;
based on the comparison of values, identifying values associated with the
attributes
associated with the third protectable content, the third protectable content
being associated with a
third license;
storing the identified values associated with the attributes of the third
protectable content;
and
using the stored attribute values of at least one of the first license, second
license, and
third license to determine attributes of a fourth protectable content, the
fourth protectable content
being based on a combination including at least some aspects of at least one
of the first




-52-


protectable content, second protectable content, and third protectable
content.
13. The method of claim 1, further comprising:
storing the restriction values, use values, and interaction values assigned to
the at least
some of the associated license attributes of the first license;
storing the corresponding attribute values associated with the second license;
based on the comparison of values, identifying values associated with the
attributes
associated with the third protectable content, the third protectable content
being associated with a
third license;
storing the identified values associated with the attributes of the third
protectable content;
and
using the stored attribute values associated with the third protectable
content to determine
attribute values of a fourth protectable content, the fourth protectable
content being based on a
combination including at least some aspects of the third protectable content.
14. The method of claim 13, further comprising:
based on the attribute values of the fourth protectable content, determining a
plurality of
license alternatives for the fourth protectable content.
15. The method of claim 14, further comprising:
selecting one of the plurality of license alternatives based on an operational
environment
associated with the fourth protectable content.
16. The method of claim 14, further comprising:
storing the plurality of license alternatives in a network-accessible
location.
17. The method of claim 1, further comprising:
providing a third license representative of the attributes associated with the
third
protectable content.
18. The method of claim 1, further comprising:
based on the attributes associated with the third protectable content,
determining a
plurality of license alternatives for the third protectable content.
19. The method of claim 18, further comprising:
selecting one of the plurality of license alternatives based on an operational
environment
associated with the third protectable content.




-53-


20. The method of claim 18, further comprising:
storing the plurality of license alternatives in a network-accessible
location.
21. The method of claim 1, wherein the at least one assigned use value is
equivalent to a
default use value associated with the first license.
22. The method of claim 1, wherein the at least one assigned use value
overrides a default
use value associated with the first license.
23. The method of claim 1, wherein the at least one assigned interaction value
is equivalent
to a default interaction value associated with the first license.
24. The method of claim 1, wherein the at least one assigned interaction value
overrides a
default interaction value associated with the first license.
25. The method of claim 1, wherein the assigned restriction, use, and
interaction values of the
at least some of the associated license attributes of the first license
override at least some of the
corresponding attribute values associated with the second license to form
attribute values
associated with the third protectable content.
26. The method of claim 1, wherein the assigned restriction, use, and
interaction values of the
at least some of the associated license attributes of the first license
coexist along with at least
some of the corresponding attribute values associated with the second license
as at least some
attribute values of the attributes associated with the third protectable
content.
27. The method of claim 1, further comprising:
detecting event information associated with at least one of an error, a
warning, and a
conflict generated during the comparison, the event information including
indicia pertaining to at
least one of an event type, a frequency of occurrence of the event type, a
related use value, a
related interaction value, and an identifier associated with at least one of
the first license and
second license; and
storing the event information in a data structure.
28. The method of claim 1, further comprising:
assigning at least one source value to each of the attributes associated with
the third
protectable content, the source values identifying attribute information
associated with at least
one of the first and second licenses that affected values associated with
particular ones of the
attributes of the third protectable content.




-54-


29. A data structure comprising:
a plurality of first license attributes associated with a first license, at
least some of the
first license attributes including restriction, use, and interaction values,
wherein restriction values
specify particular restrictions pertaining to a first protectable content, use
values represent a
permissible degree of distribution of the first protectable content, and
interaction values represent
a permissible degree of manipulation of the first protectable content;
a plurality of second license attributes associated with a second license, at
least some of
the second license attributes including restriction, use, and interaction
values, wherein restriction
values specify particular restrictions pertaining to a second protectable
content, use values
represent a permissible degree of distribution of the second protectable
content, and interaction
values represent a permissible degree of manipulation of the second
protectable content; and
a plurality of aggregated license attributes associated with an aggregated
license, at least
some of the aggregated license attributes being based upon a comparison of the
restriction, use,
and interaction values associated with the first license with corresponding
values associated with
the second license, wherein the aggregated license attributes affect at least
one operation of an
aggregated content formed, at least in part, by a combination of at least some
aspects of the first
and second protectable contents.
30. The data structure of claim 29, wherein the first protectable content and
the second
protectable content correspond to different software elements.
31. The data structure of claim 30, wherein the software elements are
compliant with an open
source definition.
32. The data structure of claim 30, wherein the first protectable content is
compliant with an
open source definition and the second protectable content is not compliant
with the open source
definition.
33. The data structure of claim 29, wherein the first protectable content
corresponds to at
least one of a multimedia presentation, a video segment, an audio segment, a
textual
representation, a work of art, a visual representation, a technological know-
how, a business
know-how, and a contract right.
34. The data structure of claim 29, wherein the first license attributes
associated with the first
license correspond to at least one of a software code format, a software
naming convention, a
software code annotation, a warranty, a reverse-engineering activity, a patent
litigation activity, a




-55-


standards body, a violation of intellectual property rights, and a textual
description of at least one
aspect of the first license.
35. The data structure of claim 29, wherein the restriction values of the
first license attributes
correspond to at least one of a prohibition, a requirement, and a nullity.
36. The data structure of claim 29, wherein the restriction values of the
first license attributes
are set to at least one of true, false, required, don't care, forbidden, 1, 0,
-1, and text.
37. The data structure of claim 29, wherein the use values of the first
license attributes
correspond to at least one of an acquisition, a personal use, a research use,
an organizational use,
a limited distribution, and an unlimited distribution of at least one aspect
of the first protectable
content.
38. The data structure of claim 29, wherein the interaction values of the
first license attributes
correspond to at least one of an original element, a modified element, a group
of distinct
elements, a group of interconnected elements, a group of elements capable of
providing a desired
functionality, a plurality of interoperable groups of elements capable of
providing a plurality of
functions, an unrestricted manipulation of elements, and an unrestricted
ownership of elements
of at least one aspect of the first protectable content.
39. The data structure of claim 29, wherein the first protectable content is
identified based on
an analysis of the first license.
40. The data structure of claim 29, further comprising:
a plurality of license alternatives including license terms based on the
restriction, use, and
interaction values of the first and second protectable contents.
41. The data structure of claim 40, wherein the license alternatives are
stored in a network-
accessible location.
42. The data structure of claim 29, wherein at least some of the use values of
the first license
attributes correspond to a default use value associated with the first
license.
43. The data structure of claim 29, wherein at least one of the use values of
the first license
attributes overrides a default use value associated with the first license.
44. The data structure of claim 29, wherein at least some of the interaction
values of the first
license attributes correspond to a default interaction value associated with
the first license.
45. The data structure of claim 29, wherein at least one of the interaction
values of the first




-56-


license attributes overrides a default interaction value associated with the
first license.
46. The data structure of claim 29, wherein at least some of the restriction,
use, and
interaction values of the first license attributes override at least some of
the restriction, use, and
interaction values of the second license attributes to form at least some of
the aggregated license
attributes.
47. The data structure of claim 29, wherein at least some of the restriction,
use, and
interaction values of the first license attributes coexist along with at least
some of the restriction,
use, and interaction values of the second license attributes to form at least
some of the
aggregated license attributes.
48. The data structure of claim 29, further comprising:
event information associated with at least one of an error, a warning, and a
conflict
generated during the comparison, the event information including indicia
pertaining to at least
one of an event type, a frequency of occurrence of the event type, a related
use value, a related
interaction value, and an identifier associated with at least one of the first
license and second
license.
49. The data structure of claim 29, further comprising:
a source value assigned to each of the aggregated license attributes, the
source values
identifying attribute information associated with at least one of the first
and second licenses that
affected values associated with particular aggregated license attributes.
50. A method comprising:
identifying a first plurality of license attributes associated with a first
protectable content;
identifying a second plurality of license attributes associated with a second
protectable
content;
assigning a restriction value to each of the first plurality of license
attributes specifying
particular restrictions pertaining to the first protectable content;
assigning a restriction value to each of the second plurality of license
attributes
specifying particular restrictions pertaining to the second protectable
content;
assigning at least one of a use value and an interaction value to at least
some of the first
plurality of license attributes, the assigned use values of the first
plurality of license attributes
representing a permissible degree of distribution of the first protectable
content and the
interaction values of the first plurality of license attributes representing a
permissible degree of




-57-


manipulation of the first protectable content;
assigning at least one of a use value and an interaction value to at least
some of the
second plurality of license attributes, the assigned use values of the second
plurality of license
attributes representing a permissible degree of distribution of the second
protectable content and
the interaction values of the second plurality of license attributes
representing a permissible
degree of manipulation of the second protectable content;
comparing at least some of the assigned restriction, use, and interaction
values of the first
plurality of license attributes to corresponding assigned restriction, use,
and interaction values of
the second plurality of license attributes; and
based, at least in part, on the comparison, determining a plurality of license
alternatives
affecting an aggregated content, the aggregated content being based on a
combination of at least
some aspects of the first and second protectable content.
51. The method of claim 50, wherein the first protectable content and the
second protectable
content correspond to different software elements.
52. The method of claim 51, wherein the software elements are compliant with
an open
source definition.
53. The method of claim 51, wherein the first protectable content is compliant
with an open
source definition and the second protectable content is not compliant with the
open source
definition.
54. The method of claim 50, wherein the first protectable content corresponds
to at least one
of a multimedia presentation, a video segment, an audio segment, a textual
representation, a
worlc of art, a visual representation, a technological know-how, a business
know-how, and a
contract right.
55. The method of claim 50, wherein at least one of the first plurality of
license attributes
corresponds to at least one of a software code format, a software naming
convention, a software
code annotation, a warranty, a reverse-engineering activity, a patent
litigation activity, a
standards body, a violation of intellectual property rights, and a textual
description of at least one
aspect of the first protectable content.
56. The method of claim 50, wherein each of the restriction values assigned to
the first and
second plurality of license attributes corresponds to one of a prohibition, a
requirement, and a
nullity.




-58-


57. The method of claim 50, wherein at least one of the assigned use values of
the first
plurality of license attributes corresponds to at least one of an acquisition,
a personal use, a
research use, an organizational use, a limited distribution, and an unlimited
distribution of at
least one aspect of the first protectable content.
58. The method of claim 50, wherein at least one of the assigned interaction
values of the
first plurality of license attributes corresponds to at least one of an
original element, a modified
element, a group of distinct elements, a group of interconnected elements, a
group of elements
capable of providing a desired functionality, a plurality of interoperable
groups of elements
capable of providing a plurality of functions, an unrestricted manipulation of
elements, and an
unrestricted ownership of elements of at least one aspect of the first
protectable content.
59. The method of claim 50, further comprising:
analyzing the first protectable content to identify the first plurality of
license attributes.
60. The method of claim 50, wherein at least some of the use values assigned
to at least some
of the first and second plurality of license attributes are equivalent to a
default use value.
61. The method of claim 50, wherein at least one of the use values assigned to
the first
plurality of license attributes overrides a default use value.
62. The method of claim 50, wherein at least some of the interaction values
assigned to at
least some of the first and second plurality of license attributes are
equivalent to a default
interaction value.
63. The method of claim 50, wherein at least one of the interaction values
assigned to the
first plurality of license attributes overrides a default interaction value.
64. The method of claim 50, wherein the assigned restriction, use, and
interaction values of
the first plurality of license attributes override at least some of the
restriction, use, and interaction
values assigned to the second plurality of license attributes to form
attribute values associated
with the aggregated content.
65. The method of claim 50, wherein at least some of the assigned restriction,
use, and
interaction values of the first plurality of license attributes coexist along
with at least some of the
restriction, use, and interaction values assigned to the second plurality of
license attributes as at
least some attribute values associated with the aggregated content.
66. A method comprising:




-59-


receiving a request to identify a license of an aggregated content, the
aggregated content
being based, at least in part, on a combination of a plurality of constituent
protectable-content
elements;
identifying a plurality of licenses associated with a first one of the
plurality of constituent
protectable-content elements;
identifying at least one license associated with each of the other constituent
protectable-
content elements;
comparing license attribute values associated with each of the plurality of
licenses of the
first constituent protectable-content element with corresponding license
attribute values
associated with each of the other constituent protectable-content elements;
based, at least in part, on the comparison, identifying a plurality of license
alternatives for
the aggregated content; and
selecting the requested license of the aggregated content from among the
plurality of
license alternatives based, at least in part, on an operational environment of
the aggregated
content.
67. A method comprising:
accessing a license profile associated with a protectable content, the license
profile
identifying attributes affecting at least one operation of the protectable
content;
accessing an identifier representing the protectable content; and
based, at least in part, on the license profile and protectable content
identifier,
determining an authenticity of a license associated with the protectable
content.
68. The method of claim 67, wherein the protectable content corresponds to a
software
element.
69. The method of claim 68, wherein the software element is compliant with an
open source
definition.
70. The method of claim 68, wherein the attributes correspond to at least one
of a software
code format, a software naming convention, a software code annotation, a
warranty, a reverse-
engineering activity, a patent litigation activity, a standards body, a
violation of intellectual
property rights, and a textual description of at least one aspect of the
protectable content.
71. The method of claim 67, wherein the protectable content corresponds to at
least one of a
multimedia presentation, a video segment, an audio segment, a textual
representation, a work of




-60-


art, a visual representation, a technological know-how, a business know-how,
and a contract
right.
72. The method of claim 67, further comprising:
executing, on behalf of an owner of the protectable content, a hash algorithm
to form the
protectable content identifier.
73. The method of claim 72, further comprising:
forming, on behalf of the owner of the protectable content, the license
profile based on
the license associated with the protectable content.
74. The method of claim 73, further comprising:
validating, by an entity not associated with the owner of the protectable
content, the
license profile and the protectable content identifier.
75. The method of claim 73, further comprising:
receiving a request message to register the license, the request message
including indicia
pertaining to the protectable content identifier, the license profile, and the
owner.
76. The method of claim 75, wherein the request message is encrypted and
digitally signed.
77. The method of claim 67, further comprising:
accessing indicia identifying an owner of the protectable content;
identifying a type of algorithm used to form the protectable content
identifier; and
based on the license profile, the protectable content identifier, the indicia
identifying the
owner, and the type of algorithm used to form the protectable content
identifier, computing an
identifier associated with the license.
78. The method of claim 77, further comprising:
transmitting the computed license identifier to the owner of the protectable
content, the
computed license identifier being coupled with the protectable content being
distributed to at
least one user of the protectable content.
79. The method of claim 78, wherein the computed license identifier is
encrypted and
digitally-signed prior to its transmission to the owner of the protectable
content.
80. The method of claim 78, further comprising:
receiving a request message to authenticate the license associated with the
protectable
content from the at least one user of the protectable content;




-61-


comparing the computed license identifier with a corresponding license
identifier
provided by the at least one user of the protectable content in the request
message; and
based on the comparison, providing indicia accessible by the at least one user
pertaining
to the authenticity of the license.
81. The method of claim 80, wherein the indicia pertaining to the authenticity
of the license
includes at least one of the license, information identifying an owner of the
license, information
identifying the owner of the protectable content, and an alphanumeric code
enabling the at least
one operation of the protectable content.
82. The method of claim 67, wherein determining the authenticity of the
license associated
with the protectable content comprises:
computing an identifier associated with the license based, at least partly, on
the license
profile and the protectable content identifier;
receiving a request message to authenticate the license associated with the
protectable
content from at least one user of the protectable content;
comparing the computed license identifier with a corresponding license
identifier
provided by the at least one user of the protectable content in the request
message; and
based on the comparison, providing indicia accessible by the at least one user
pertaining
to the authenticity of the license.
83. The method of claim 67, wherein at least some of the attributes are
assigned at least one
restriction value that specifies particular restrictions pertaining to the
protectable content.
84. The method of claim 83, wherein the at least one assigned restriction
value corresponds
to at least one of a prohibition, a requirement, and a nullity.
85. The method of claim 83, wherein the at least one assigned restriction
value corresponds
to at least one of true, false, required, don't care, forbidden, 1, 0, -1, and
text.
86. The method of claim 67, wherein at least some of the attributes are
assigned at least one
use value representing a permissible degree of distribution of the protectable
content.
87. The method of claim 86, wherein the at least one assigned use value
corresponds to at
least one of an acquisition, a personal use, a research use, an organizational
use, a limited
distribution, and an unlimited distribution of at least one aspect of the
protectable content.
88. The method of claim 86, wherein the at least one assigned use value is
equivalent to a




-62-


default use associated with the license.
89. The method of claim 86, wherein the at least one assigned use value
overrides a default
use value associated with the license.
90. The method of claim 67, wherein at least some of the attributes are
assigned at least one
interaction value representing a permissible degree of manipulation of the
protectable content.
91. The method of claim 90, wherein the at least one assigned interaction
value corresponds
to at least one of an original element, a modified element, a group of
distinct elements, a group
of interconnected elements, a group of elements capable of providing a desired
functionality, a
plurality of interoperable groups of elements capable of providing a plurality
of functions, an
unrestricted manipulation of elements, and an unrestricted ownership of
elements of at least one
aspect of the protectable content.
92. The method of claim 90, wherein the at least one assigned interaction
value is equivalent
to a default interaction associated with the license.
93. The method of claim 90, wherein the at least one assigned interaction
value overrides a
default interaction value associated with the license.

Description

Note: Descriptions are shown in the official language in which they were submitted.



CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
SYSTEMS AND METHODS FOR RESOLVING LICENSE DEPENDENCIES AND FOR
AUTHENTICATING LICENSES
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application incorporates by reference, and claims priority to and
the benefit of,
United States patent application Serial No. 10/728,173, which was filed on
December 4, 2003,
and United States patent application Serial No. 10/728,174, which was filed on
December 4,
2003.
TECHNICAL FIELD
[0002] The disclosed technology relates generally to aggregations of legally-
protectable
content and to license authentication. More particularly, the disclosed
technology relates to
resolving license attributes to facilitate the aggregation of legally-
protectable content, and to a
license authority that is capable of authenticating licenses and/or owners of
such licenses for
legally-protectable content based, at least in part, on license profiles and
content identifiers
associated with the legally-protectable content.
BACKGROUND
[0003] Individuals, groups, associations, organizations, and/or other types of
entities
interested in using, installing, distributing, selling, acquiring, compiling,
aggregating, and/or
otherwise intermingling and/or interacting with legally-protectable content
such as music, art,
video, text, multimedia, technology (e.g., software), technological/business
know-how, contract
rights, andJor any other type of content that is protectable under patent law,
copyright law,
trademark law, trade secret law, contract law, and/or under other legal bases
need to consider the
individual rights, restrictions, and/or prohibitions established by content
owners for the use,
distribution, modification, combination, interaction, and/or other
manipulation of such content to


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
avoid infringing upon the content owners' rights in that content.
[0004] For example, an information technology professional, such as a Chief
Information
Officer of a corporation, may want to ensure that a license whose terms govern
manipulations of
a software element being considered for installation and integration within a
corporation's
technological infrastructure is authentic and that such terms coincide with
the information
technology professional's expectations so as to avoid infringing a content
owner's rights in that
software element and exposing the corporation to unexpected legal/financial
liabilities. The risk
of infringing a content owner's rights in a software element is increased when
such elements are
used in collaborative development enviromnents in which entities developing
particular software
elements share such elements with other entities, who may be potentially
unrelated to the
developing entities. Unlike traditional development environments in which a
single entity
controls the entire development of a software product and the ownership of,
and rights in, the
software product are well known and/or readily identifiable, the software
products generated, at
least in part, by aggregating software elements from multiple entities in a
collaborative
development environment may obfuscate the legal rights, obligations,
restrictions, and/or
prohibitions that pertain to an aggregated software product and thus increase
the risk that the
makers, distributors, installers, maintainers, users, and/or other entities
associated with an
aggregated software product may infringe upon the legal rights of one or more
of the entities that
developed the constituent software elements that were incorporated into the
aggregated software
product.
[0005] Although content owners can mitigate the uncertainty in the legal
rights associated
with particular aggregated content by forming licenses that explicitly set
forth the rights,
obligations, restrictions, and/or prohibitions governing the use of aggregated
content (e.g., the
GNLJ General Public License, the Berkeley Software Distribution License, the
Mozilla Public
License, etc.), it becomes increasingly more difficult to do so as the number
of collaborating


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-3-
content owners and the complexity of the aggregated content increase.
Accordingly, entities
participating in a collaborative environment have a continuing interest in
developing
technologies that can mitigate the risk of infringing another's rights in
legally-protectable
content incorporated into an aggregated content product and/or service.
SUMMARY OF THE INVENTION
[0006] In one aspect, the disclosed technology can mitigate the risk of
infringing a content
owner's rights in legally-protectable content by comparing restrictions
established by that
content owner for the use, distribution, modification, combination,
interaction, and/or. other
manipulation of such content with comparable restrictions associated with
another content
owner's rights in other legally-protectable content to identify
compatibilities and/or
incompatibilities in such owners' rights, particularly where at least certain
aspects of the legally-
protectable content are combined to form an aggregated content. The
restrictions associated with
legally-protectable content are typically represented as license terms in one
or more license
agreements. In addition to default terms that generally affect the use,
distribution, modification,
combination, interaction, and/or other manipulation of legally-protectable
content, the disclosed
technology can also compare the use, distribution, modification, combination,
interaction, and/or
other manipulations pertaining to particular license terms, which may differ
from the default
terms, and thus provide a term-by-term comparison of license agreements to
identify
compatibilities and/or incompatibilities in an aggregated content of interest.
Maintaining a
history of the particular license terms and/or comparisons thereof facilitates
the generation of one
or more license alternatives that may be implemented for an aggregated content
of interest,
particularly when one or more previously-aggregated content elements are
combined with one or
more new content elements to form a higher level of aggregated content.
[0007] In one embodiment, the disclosed technology can be used to develop
systems and


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-4-
perform methods in which one or more known license attributes can be
associated with a first
license that contains restrictions pertaining to a first protectable content.
The first license can be
identified by, for example, analyzing the first protectable content.
Restriction values can be
assigned to each of the license attributes associated with the first license
to specify particular
restrictions pertaining to the first protectable content. Similarly, one or
more use values and/or
interaction values can also be assigned to at least some of the license
attributes associated with
the first license.
[0008] In one embodiment, one or more of the assigned use values and/or
assigned
interaction values can be equivalent to default use and/or interaction values
associated with the
first license, respectively. Alternatively, one or more of the assigned use
values and/or assigned
interaction values can override default use and/or interaction values
associated with the first
license, respectively. In one embodiment, the assigned restriction, use,
and/or interaction values
of at least some of the license attributes of the first license can override
at least some of the
corresponding attribute values associated with the second license to form
attribute values
associated with a third protectable content. In one embodiment, the assigned
restriction, use,
and/or interaction values of at least some of the license attributes of the
first license can coexist
along with at least some of the corresponding attribute values associated with
the second license,
as at least some attribute values of the attributes associated with the third
protectable content.
The assigned use values can represent a permissible degree of distribution of
at least some
aspects of the first protectable content. The assigned interaction values can
represent a
permissible degree of manipulation of at least some aspects of the first
protectable content.
[0009] The restriction, use, and/or interaction values assigned to at least
some of the license
attributes of the first license can be compared with corresponding attribute
values associated with
a second license that contains restrictions pertaining to a second protectable
content and such
comparisons can serve as a basis for determining attributes associated with a
third protectable


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-5-
content, where the third protectable content is based, at Ieast in part, on a
combination of at least
some aspects of the first protectable content and the second protectable
content.
[0010] The first and/or second protectable content can correspond to one or
more multimedia
presentations, video segments, audio segments, textual representations, works
of art, visual
representations, technological know-how (e.g., manufacturing processes),
business know-how
(e.g., marketing information), contract rights, and/or software elements
(e.g., open source
software compliant with an open source definition, proprietary software not
compliant with an
open source definition, etc.). In one illustrative embodiment in which the
first and/or second
protectable content correspond to one or more software elements, the license
attributes that may
be associated with the first license can, for example, correspond to one or
more software code
formats, software naming conventions, softwaxe code annotations, warranties,
reverse-
engineering activities, patent litigation activities, standards bodies,
violations of intellectual
property rights, and/or textual descriptions of at least one aspect of the
first license. A restriction
value that may be assigned to one or more of the license attributes can, for
example, correspond
to a prohibition, a requirement, or a nullity (a neutral value that may be,
for example, equivalent
to the terms "none" or "not applicable") and can be set to, for example, true,
false, required,
don't care, forbidden, 1 (indicating a requirement), 0 (indicating a nullity),
-1 (indicating a
prohibition), and/or a textual value. A use value that may be assigned to one
or more of the
license attributes can, for example, correspond to an acquisition, a personal
use, a research use,
an organizational use, a limited distribution use, and/or an unlimited
distribution use of one or
more aspects of the first and/or second protectable content. Similarly, an
interaction value that
may be assigned to one or more of the license attributes can, for example,
correspond to an
original element, a modified element, a group of distinct elements, a group of
interconnected
elements, a group of elements capable of providing more than one function, an
unrestricted
manipulation of elements, and an unrestricted ownership of elements of one or
more aspects of


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-6-
the first and/or second protectable content.
[0011] In one embodiment and based on a comparison of restriction, use, and/or
interaction
values assigned to at least some license attributes of a first license with
corresponding values
assigned to license attributes of a second license, values for license
attributes associated with a
third license and/or a tlurd protectable content can be identified. The
attribute values of the third
protectable content can serve as a basis for determining one or more license
alternatives (which
may 'be stored in a network-accessible location) for the third protectable
content and one or more
of such license alternatives can be selected based on an operational
environment associated with
the third protectable content. The license attributes of the third protectable
content can include
one or more source values that may identify attribute information associated
with the first and/or
second licenses, which may have affected corresponding values of the third
protectable content.
The license attributes and associated values of the first, second, and/or
third license can be stored
and used to determine license attributes and/or license attribute values
associated with a fourth
protectable content that may be based on a combination of at least some
aspects of the first
protectable content, second protectable content, and/or third protectable
content. The attribute
values of the fourth protectable content can serve as a basis for determining
one or more license
alternatives (which may be stored in a network-accessible location) for the
fourth protectable
content and one or more of such license alternatives can be selected based on
an operational
environment associated with the fourth protectable content.
[0012] In one embodiment, event information, such as may be associated with an
error, a
warning, and/or a conflict, detected during the comparison of attribute values
can be stored in
one or more event data structures. By way of non-limiting example, event
information can
include indicia pertaining to an event type, a frequency of occurrence of the
event type, a related
use value, a related interaction value, and/or an identifier associated with
the first and/or second
license.


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
[0013] In one embodiment, the disclosed technology can be used to develop
systems and
perform'methods in which one or more first license attributes associated with
a first protectable
content and one or more second license attributes associated with a second
protectable content
can be identified. The first and/or second license attributes can be
identified by, for example,
analyzing the first and/or second protectable content, respectively. One or
more restriction
values can be assigned to each of the first and second license attributes to
specify particular
restrictions pertaining to the first protectable content and second
protectable content,
respectively. A use value, representing a permissible degree of distribution
of the first
protectable content, and/or an interaction value, representing a permissible
degree of
manipulation of the first protectable content, can be assigned to at least
some of the first license
attributes. Similarly, a use value, representing a permissible degree of
distribution of the second
protectable content, and/or an interaction value, representing a permissible
degree of
manipulation of the second protectable content, can be assigned to at least
some of the second
license attributes. A comparison between at least some of the assigned
restriction, use, and/or
interaction values of the first license attributes with corresponding
restriction, use, and
interaction values of the second license attributes can serve as a basis for
determining license
alternatives affecting an aggregated content that is based on a combination of
at least some
aspects of the first and second protectable content.
[0014] The first and/or second protectable content can correspond to one or
more multimedia
presentations, video segments, audio segments, textual representations, works
of art, visual
representations, technological know-how (e.g., manufacturing processes),
business know-how
(e.g., marketing information), contract rights, and/or software elements
(e.g., open source
software compliant with an'open source definition, proprietary software not
compliant with an
open source definition, etc.). In one illustrative embodiment in which the
first and/or second
protectable content correspond to one or more software elements, the
particular restrictions


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
_g_
pertaining to the first and/or second protectable content can, for example,
correspond to one or
more software code formats, software naming conventions, software code
annotations,
warranties, reverse-engineering activities, patent litigation activities,
standards bodies, violations
of intellectual property rights, and/or textual descriptions of one or more
aspects of the first
and/or second protectable content. A restriction value that may be assigned to
one or more of the
first and/or second license attributes can, for example, correspond to a
prohibition, a
requirement, or a nullity (a neutral value that may be, for example,
equivalent to the terms
"none" or "not applicable"). One or more of the use values that may be
assigned to one or more
of the first and/or second license attributes can, for example, correspond to
an acquisition, a
personal use, a research use, an organizational use, a limited distribution
use, and/or an unlimited
distribution use of one or more aspects of the first and/or second protectable
content. Similarly,
one or more of the interaction values that may be assigned to one or more of
the first and/or
second license attributes can, for example, correspond to an original element,
a modified
element, a group of distinct elements, a group of intercomiected elements, a
group of elements
capable of providing more than one function, an unrestricted manipulation of
elements, and an
unrestricted ownership of elements of one or more aspects of the first and/or
second protectable
content.
[0015] In one embodiment, one or more of the assigned use values and/or
assigned
interaction values of the first and/or second license attributes can be
equivalent to default use
values and/or default interaction values. Alternatively, one or more of the
assigned use values
and/or assigned interaction values 'of the first and/or second license
attributes can override
default use values and/or default interaction values. In one embodiment, the
assigned restriction,
use, and/or interaction values of the first license attributes can override at
least some of the
restriction, use, and/or interaction values assigned to the second license
attributes to form
attribute values associated with an aggregated content. In one embodiment, at
least some of the


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-9-
assigned restriction, use, and/or interaction values of the first license
attributes can coexist along
with at least some of the restriction, use, and/or interaction values assigned
to the second license
attributes, as at least some attribute values associated with the aggregated
content.
[0016] In one embodiment, the disclosed technology can be used to develop
systems and
perform methods in which requests are received to identify a license of an
aggregated content,
which is based, at least in part, on a combination of constituent protectable-
content elements.
Licenses associated with a first one of the constituent protectable-content
elements can be
identified along with one or more licenses associated with each of the other
constituent
protectable-content elements. License attribute values associated with each of
the licenses of the
first constituent protectable-content element can be compared with
corresponding license
attribute values associated with each of the other constituent protectable-
content elements and
such comparison can serve, at least in part, as a basis for identifying
license alternatives for the
aggregated content. The requested license for the aggregated content can be
selected from
among the license alternatives based, at least in part, on an
operational/deployment environment
of the aggregated content.
[0017) In another aspect, the disclosed technology can mitigate the risk of
infringing a
content owner's rights in legally-protectable content by, for example,
operating as a trusted,
third-party license authority between content owners and content
users/manipulators to ensure
that a license governing at least some aspects of the protectable content is
authentic and thus
validly represents the restrictions imposed by one or more content owners
pertaining to the use,
distribution, modification, combination, interaction, and/or other
manipulation of such content.
[0018] In one embodiment, the disclosed technology can be used to develop
systems and
perform methods in which a license profile that is associated with a
protectable content and that
identifies attributes affecting at least one operation of the protectable
content is accessed along
with an identifier that represents the protectable content. The license
profile and the protectable


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-10-
content identifier can serve as a basis for determining an authenticity of a
license associated with
the protectable content. In one illustrative embodiment, the license profile
based on the license
associated with the protectable content and/or the protectable content
identifier (formed by, for
example, a hash algorithm) can be formed by (or on behalf of) an owner of the
protectable
content and the license profile and protectable content identifier can be
subsequently validated
by an independent third-party entity that is otherwise not associated with the
content owner. The
protectable content can correspond to one or more multimedia presentations,
video segments,
audio segments, textual representations, works of art, visual representations,
technological lcnow-
how (e.g., manufacturing processes), business know-how (e.g., marketing
information), contract
rights, and/or software elements (e.g., open source software compliant with an
open source
definition, proprietary software not compliant with an open source definition,
etc.).
[0019] In one illustrative embodiment in which the protectable content
corresponds to one or
more software elements, the license attributes identified by the license
profile can, for example,
correspond to license terms in the license associated with the protectable
content, where such
attributes correspond to one or more software code formats, software naming
conventions,
software code annotations, warranties, reverse-engineering activities, patent
litigation activities,
standards bodies, violations of intellectual property rights, and/or textual
descriptions of at least
one aspect of the protectable content. One or more restriction values that may
be assigned to
and/or otherwise be associated with one or more of the license attributes can,
for example,
correspond to a prohibition, a requirement, or a nullity (a neutral value that
may be, for example,
equivalent to the terms "none" or "not applicable") and can be set to, for
example, true, false,
required, don't care, forbidden, 1 (indicating a requirement), 0 (indicating a
nullity), -1
(indicating a prohibition), and/or a textual value. One or more use values
that may be assigned
to and/or otherwise be associated with one or more of the license attributes
can, for example,
correspond to a permissible degree of distribution of the protectable content
and can be set, for


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-11-
example, to values that reflect a particular acquisition, a personal use, a
research use, an
organizational use, a limited distribution use, and/or an unlimited
distribution use of one or more
aspects of the protectable content. One or more of the assigned use values can
also be equivalent
to or override a default use associated with the license. Similarly, one or
more interaction values
that may be assigned to and/or otherwise be associated with one or more of the
license attributes
can, for example, correspond to a permissible degree of distribution of the
protectable content
and can be set, for example, to values that reflect an original element, a
modified element, a
group of distinct elements, a group of interconnected elements, a group of
elements capable of
providing more than one function, an unrestricted manipulation of elements,
and an unrestricted
ownership of elements of one or more aspects of the protectable content. As
with use values, one
or more of the assigned interaction values can also be equivalent to or
override a default
interaction associated with the license.
[0020] In one illustrative embodiment, an encrypted andlor digitally-signed
request message
that is transmitted by (or on behalf of) an owner of protectable content and
which includes
indicia pertaining to a protectable content identifier (e.g., the identifier
itself, a type of algorithm
used to form the identifier, etc.), a license profile, and/or the content
owner can be received and
such indicia can serve as a basis for computing an identifier associated with
a license of the
protectable content. The computed license identifier can be encrypted,
digitally-signed, and
transmitted to the content owner for subsequent coupling with the protectable
content that is
distributed to one or more users of the protectable content. One or more users
of the protectable
content can transmit a request message to authenticate a license associated
with the protectable
content and upon receipt of such request message the computed license
identifier can be
compared with a corresponding license identifier provided by one or more of
such users. This
comparison can serve as a basis for determining, providing, and/or otherwise
malting indicia
pertaining to the authenticity of the license accessible to the requesting
user. Such indicia can,


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-12-
for example, include the authenticated license itself, an authenticated
profile of the license,
information identifying an owner of the authenticated license, information
identifying the owner
of the protectable content, a measure of risk associated with the authenticity
of the license,
and/or an alphanumeric code enabling the operation of one or more aspects of
the protectable
content.
BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The foregoing discussion will be understood more readily from the
following detailed
description of the disclosed technology when taken in conjunction with the
accompanying
drawings, in which:
FIG. 1 schematically illustrates an exemplary collaboration architecture
employing
aspects of the disclosed technology that can be used to identify one or more
aggregated licenses
for an aggregated content that is based on a combination of individually-
licensed, protectable--
content elements;
FIG. 2 illustrates an exemplary methodology that may be performed by one or
more
software processes executing within the collaboration architecture of FIG. 1
to identify an
aggregated license for an aggregated content of interest;
FIGS. 3A and 3B schematically illustrate an exemplary licensing authority
architecture
employing aspects of the disclosed technology that can be used to authenticate
one or more
licenses associated with protectable-content elements; and
FIG. 4 illustrates an exemplary methodology that may be performed by one or
more
software processes executing within the licensing authority architecture of
FIGs. 3A and 3B to
authenticate licenses associated with protectable-content elements of
interest.


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-13-
DETAILED DESCRIPTION
Definitions
[0022] For the purposes of this disclosure, the following terms are defined as
follows:
"aggregated content" (also referred to herein as an "aggregated-content
element") refers
to a collection and/or combination of at least some aspects of two or more
protectable-content
elements that cooperate to perform one or more desired functions, where such
protectable-
content elements may be separately and/or individually licensed/owned, and
those skilled in the
art will recognize that aggregated-content elements can also be combined with
other aggregated
and/or non-aggregated content elements to form content elements that exhibit
relatively higher
levels of aggregation;
"aggregated license" refers to a license that sets forth restrictions for an
aggregated-
content element;
"content" (also referred to herein as "protectable content," "protectable-
content element,"
or "constituent protectable-content element") refers, separately or in any
combination, to one or
more multimedia presentations, video segments, audio segments, textual
representations, works
of art, visual representations, technological know-how (e.g., manufacturing
processes), business
know-how (e.g., marketing information), contract rights, software elements
(e.g., open source
software compliant with an open source definition, proprietary software not
compliant with an
open source definition, etc.), and/or any other type of matter/representation
that may be legally-
protectable under patent law, copyright law, trademark law, trade secret law,
contract law, and/or
under other legal bases;
"data structure" refers to a database table, a linked list, and/or any other
type of data
format or configuration that enables a data set to be referenced;
"digital data processing device" refers to a personal computer, computer
worlcstation,
laptop computer, server computer, mainframe computer, handheld device (e.g.,
personal digital


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-14-
assistant, Pocket PC, cellular telephone, etc.), information appliance, or any
other type of generic
or special-purpose processor-controlled device that is capable of receiving,
processing, and/or
transmitting digital data;
"event" refers to one or more errors, warnings, conflicts, and/or other types
of
occurrences that may occur when evaluating, aggregating, and/or otherwise
processing license
attributes;
"event information" refers to information that may be stored in corresponding
event data
structures and may include, for example, an event type (e.g., copyright
detection, author
detection, license attribute conflict, etc.), an event counter that specifies
a frequency of
occurrence for a particular event, indicia pertaining to a use and/or
interaction value associated
with an event, and/or indicia (e.g., a name/identifier, a value, a type,
and/or a directory path
associated with one or more aggregated-content elements and/or protectable-
content elements)
pertaining to a source of information associated with an event;
"license" refers to a collection of clauses (e.g., license terms) that set
forth restrictions
(e.g., requirements, obligations, grants, prohibitions, limitations, etc.)
that may affect a use (e.g.,
distribution), interaction (e.g., modification, combination), and/or other
manipulation of
protectable content;
"license alternatives" refers to one or more licenses that may be suitable for
a particular
operational/deployment environment of an aggregated-content element;
"license attributes" refers to representations of license restrictions that
may be processed
by software processes executing on one or more digital data processing
devices, and can exhibit
one or more values that may facilitate an attribute-by-attribute analysis of
two or more
protectable-content elements that form at least part of an aggregated content,
such as, for
example, one or more restriction values (which can specify an applicability of
one or more
license attributes to a content element by, for example, specifying if such
attributes are required,


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-15-
prohibited, not applicable, true, false, or the like), use values (which can
represent a permissible
degree of distribution associated with one or more license attributes), and/or
interaction values
(which can represent a permissible degree of manipulation associated with one
or more license
attributes);
"license authority" refers to one or more software processes (e.g., software
processes that
handle requests, analyze protectable content, evaluate licenses, aggregate
licenses, provide
substantially unique identifiers of the licenses and protectable content,
and/or assess risk) that
operate on protectable content, licenses, license profiles, and/or other types
of data and
parameters so as to serve as a trusted, third-party entity between owners and
users/manipulators
of protectable content that can authenticate the validity of licenses,
identify content owners,
and/or determine risk measures that may be used to insure against potential
legal/financial
liability that may be incurred if a content owner's rights in a particular
protectable content are
infringed by an unwitting content user/manipulator;
"license profile" refers to a collection of license attributes associated with
a particular
protectable content and/or a particular license;
"object code" refers to a compiled version of source code that is understood
by a
processor of a digital data processing device, but which is difficult to
understand and/or
manipulate by a human;
"processor" refers to logic circuitry that responds to and processes
instructions that drive
digital data processing devices and can include, without limitation, a central
processing mit, an
arithmetic logic unit, an application specific integrated circuit, a task
engine, and/or any
combinations, arrangements, or multiples thereof;
"software code" refers to source code and/or object code;
"software process" refers to a set of executable instructions, operations,
variables,
parameters, data, data structures, software drivers, plug-ins, and/or any
other types of elements


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-16-
that are needed to form an execution environment sufficient to perform the
desired functionality
of a process, and those skilled in the art will recognize that the
functionality described for a
particular software process can be incorporated into one or more other
processes and that the
software processes themselves can be otherwise combined, separated, and/or
organized without
adversely affecting the operation of the disclosed technology and thus are
intended merely for
illustrative purposes;
"source code" refers to programming statements generated by and/or readily
identifiable
by a software programmer; and
"substantially" refers to an indication of a precise relationship, condition,
arrangement,
orientation, and/or other characteristic as well as deviations thereof, as
understood by one of
ordinary skill in the art, to the extent that such deviations do not
materially affect the disclosed
methods and systems.
Overview
[0023] Unless otherwise specified, the illustrated embodiments can be
understood as
providing exemplary features of varying detail of certain embodiments, and
therefore, unless
otherwise specified, features, components, processes, elements, data,
attributes, attribute values,
and/or aspects of the illustrations can be otherwise combined, interconnected,
sequenced,
separated; interchanged, relocated/repositioned, and/or rearranged without
departing from the
disclosed systems or methods. Additionally, the shapes, sizes, and
orientations of elements are
also exemplary and, unless otherwise specified, can be altered without
affecting the disclosed
technology.
[0024] By way of non-limiting example and with reference to an embodiment in
which
protectable content refers to software elements, a non-exclusive list of
license attributes that may
be associated with such software elements can include one or more software
code formats (e.g.,
requirement for providing access to source code if executable code is
distributed, requirement to


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-17-
make newly-added software code available in a source code format, requirement
to distribute
newly-added source code under terms of a particular license, etc.), software
naming conventions
(e.g., requirement that non-original software files be renamed to avoid
conflict with names of
original software files), software code annotations (e.g., requirement that a
notification be added
to modified executable and/or source code), warranties (e.g., disclaimer of
warranties and
liability for original source code), fees (e.g., allowing waxranty fees,
distribution/media cost-
recovery fees, and/or software program fees associated with one or more
software elements,
etc.), reverse-engineering activities (e.g., requirement that distributed
and/or newly-added
software code be capable of reverse-engineering), patent litigation activities
(e.g., contingency in
which initiation of a patent litigation terminates a license), standards
bodies (e.g.', requirement
that newly-added software code conform to applicable standards specified by a
particular
standards body), violations of intellectual property rights (e.g., requirement
that contributors of
new software code warrant that such new code is free of intellectual property
violations and that
all applicable rights have been properly secured, prohibition against using
the name and
trademarks associated with an original software element and/or original author
in promoting
modified softwaxe code, etc.), and/or textual descriptions of corresponding
licenses (e.g.,
requirement to include the actual text of an original license when
distributing corresponding
software code, requirement to include explanatory license text for software
modifications,
requirement to display notifications during execution of software code,
requirement to provide
license text regarding a distribution term and/or attribution procedures,
etc.). As described above,
restriction values can specify an applicability of one or more such license
attributes to a software
element by, for example, specifying if such attributes are required,
prohibited, not applicable,
true, false, etc.
[0025] Continuing with the exemplary software element embodiment, use values
assigned to
one or more license attributes can, for example, correspond to an acquisition,
a personal use, a


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-18-
research and development use, an organizational use (e.g., a deployment of
software code within
an organization in a form that may exceed personal use and/or research and
development use), a
limited distribution use (e.g., a deployment of software code without wide
distribution), and/or
an unlimited distribution use (e.g., a distribution of software code to
unrelated entities) of at least
one aspect of a software element. Similarly, interaction values assigned to
one or more license
attributes can, for example, correspond to an original software element (e.g.,
unmodified source
code), a modified software element (e.g., original source code files that have
been altered by the
addition of new code or the deletion of some original code), a group of
distinct software
elements (e.g., a collection of original and added source code files forming a
software module), a
group of interconnected software elements (e.g., a collection of original
and/or added source
code and object code files forming a library, where such files are meant to be
linked with other
software elements), a group of software elements capable of providing one or
more functions
(e.g., software code capable of being compiled into an executable software
application program,
software code capable of providing separate and interoperable software
application programs,
etc.), an unrestricted manipulation of software elements, and/or an
unrestricted ownership of
software elements.
[0026] Collaborative development environments in which individuals,
organizations, and/or
other entities engage in joint intellectual, artistic, and/or other expressive
efforts to
advance/expedite development in an area of interest may necessitate
interactions with protectable
content that may be proprietary to one or more of such entities. Restrictions
affecting a use (e.g.,
distribution), interaction (e.g., modification or combination), and/or other
manipulation of
protectable content can be stipulated by an owner of such content in license
terms set forth, for
example, in one or more license agreements that may enable interested parties
to use and/or
interact with the content in a manner that facilitates collaboration, while
concurrently avoiding
infringement of the content owner's rights in such protectable content. The
lilcelihood of


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-19-
infringing a content owner's rights in protectable content is particularly
acute in situations in
which two or more protectable-content elements are combined and/or otherwise
manipulated to
form an aggregated content, which may be subject to the restrictions of its
constituent
protectable-content elements as may be set forth as terms in one or more
licenses.
License Dependency Resolution
[0027] In brief overview of a first aspect of the invention, and with
reference to the
illustrative embodiment shown in FIG. 1, a collaboration architecture 100
employing aspects of
the disclosed technology can be used to select/identify an aggregated license
102, from perhaps a
multitude of aggregated license alternatives 104, that sets forth restrictions
affecting one or more
aggregated-content elements 106, where such restrictions are based, at least
in part, on
restrictions contained within licenses 108 associated with protectable content
110 that forms
such aggregated content 106. The restrictions contained within such
constituent protectable-
content licenses 108 can be represented as license attributes 112 that are
drawn from a set of
known/available license attributes 114 and such license attributes 112 can be
assigned one or
more restriction values 116, use values 118, and/or interaction values 120,
which facilitate a
comparative attribute-by-attribute analysis of the constituent protectable-
content licenses 108
and thus enables the identification of aggregated license attributes 122 and
associated values that
form the basis for one or more aggregated license alternatives 104.
[0028] Although one or more of the exemplary embodiments provided herein
describe
applications of at least some aspects of the disclosed technology to a pair of
licenses 108', 108"
and/or a pair of protectable content elements 110', 110", those skilled in the
art will recognize
that the disclosed technology can be applied to substantially any number of
licenses, license
combinations, protectable content elements, and/or protectable content element
combinations/aggregations and, thus, such exemplary embodiments are merely
illustrative and
are not intended to be limiting in any respect. Further, and although one or
more of the


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-20-
exemplary embodiments provided herein describe comparative attribute-by-
attribute analyses of
license attributes 112 in which a particular attribute/attribute value of a
first license 108' is
compared with a corresponding attribute/attribute value of a second license
108", those skilled in
the art will recognize that the disclosed technology can be applied to a wide
variety of
attribute/attribute value analyses such as, for example, when two or more
attributes/attribute
values of a first license 108' are compared with each other and/or with one or
more
attributes/attribute values of one or more other licenses to identify
aggregated license attributes
122 and associated values that form a basis for one or more aggregated license
profiles 128
and/or aggregated license alternatives 104 and, thus, such exemplary
embodiments are merely
illustrative and are not intended to be limiting in any respect. By way of non-
limiting example
and with reference to an embodiment in which protectable content refers to
software elements,
two distinct attributes and their associated attribute values of a first
exemplary license may
require that access to original (unmodified) source code and access to added
source code (e.g.,
source code that is added to the original source code) be made available to a
user if
corresponding executable code is distributed to the user, but these two
attributes and associated
attribute values may conflict with, for example, a single attributelattribute
value of a second
exemplary license that may prohibit distribution of source code. The
corresponding attributes
and associated attribute values of the resulting aggregated license profile,
in this non-limiting
example, may therefore include indicia representative of such distribution
incompatibilities.
[0029] In more detail and with reference now also to an illustrative operation
as shown in
FIG. 2, an administrator and/or other entity (not shown) authorized to
configure a collaboration
architecture 100 employing at least some aspects of the disclosed technology
can identify known
types of license attributes 114 that may be associated with one or more
protectable-content
elements 110 and can make such known license attributes 114 available in one
or more
repositories 124 (e.g., databases) to support subsequent attribute-processing
activities that may


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-21 -
involve the collaboration architecture 100 (202). The known license attributes
114 can, for
example, represent types of license restrictions that may occur in licenses
that affect transactions
in one or more industries (e.g., music industry, software industry, etc.)
and/or operational
environments.
[0030] Once the repository 124 of the collaboration architecture 100 is
populated with
known license attributes 114, a request handling software process 126 can
receive a request to,
for example, identify one or more license alternatives 104 and/or aggregated
license attributes
122 associated with an aggregated content of interest 106 (204). The
aggregated content of
interest 106 can, for example, correspond to aggregated content that already
exists, aggregated
content that is currently under development, and/or aggregated content that is
being considered
for development. As will be recognized by those skilled in the art, a request
can be provided to
the request handling software process 126 via an electronic message (e.g.,
electronic mail
message), an electronic document (e.g., an electronic file), an input data
stream (e.g., keyboard
and/or mouse actions), a web page, and/or in any other manner which enables
the request
handling software process 126 to reliably receive and identify information
pertaining to an
aggregated content of interest 106 (e.g., name and/or other indicia of the
aggregated content 106,
name and/or other indicia of the constituent protectable-content elements 110
that form such
aggregated content 106, license information associated with the aggregated
content 106 and/or
constituent protectable content 110, etc.).
[0031] In response to receiving a request, the request handling software
process 126 can
seaxch one or more repositories 124 to ascertain whether one or more license
profiles 128 of the
aggregated content 106 are stored therein (206). If an aggregated license
profile 128 exists, the
request handling software process 126 can provide the requesting entity with
such license profile
128 andlor with one or more corresponding aggregated license alternatives 104,
from which a
selected aggregated license 102 maybe selected (208). If an aggregated license
profile 128 is not


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-22-
located within one or more of the repositories 124, the request handling
software process 126 can
identify constituent protectable-content elements 110 (which may also be
stored in one or more
of the repositories 124) that form the aggregated content of interest 106 from
information
contained within the received request and/or by instructing a content analysis
software process
132 to analyze the aggregated content of interest 106 (which may also be
stored in one or more
of the repositories 124) to identify its constituent protectable-content
elements 110 by, for
example, searching for particular segments of software code, embedded
copyright information,
embedded license information, embedded ownership information, embedded version
information, and/or any other type of indicia useful in identifying the
constituent protectable-
content elements 110 (210). Similarly, licenses 108 associated with the
constituent protectable
content 110 can be identified from information contained within the received
request and/or from
information embedded in the constituent protectable content 110 and discovered
by the content
analysis software process 132.
[0032] In response to identifying the licenses 108 (which may also be stored
in one or more
repositories 124) associated with the constituent protectable-content elements
110, the request
handling software process 126 can make a determination whether one or more
license profiles
130 representing such licenses 108 exist by, for example, searching one or
more repositories 124
for such profile information (212). This determination can affect whether a
license evaluation
software process 134 needs to initially form one or more new license profiles
130 for the licenses
108 of the constituent protectable-content elements 110 (in the case where
license profiles 130
do not exist) prior to analyzing the attribute values of such protectable
content 110 to identify
compatibilities and/or incompatibilities in their corresponding licenses 108.
[0033] For example, if license profiles 130 for the licenses 108 of
constituent protectable-
content elements 110 do not yet exist, the request handling software process
126 can instruct a
license evaluation software process 134 to evaluate the licenses 108 to
determine relevant


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
- 23 -
subsets of the known license attributes 114 that may be assigned/associated to
represent such
licenses 108 (214). The license evaluation software process 134 can identify
relevant subsets of
the known license attributes 114 by, for example, mapping restrictions
contained within license
terms in the licenses 108 to particular known license attributes, evaluating
information contained
within the request received by the request handling software process 126 that
pertains to the
licenses 108 and/or associated license restrictions, and/or based on
additional information
provided by the requesting entity and/or administrator/authorized user of the
collaboration
architecture 100. Once the relevant subsets of the known license attributes
114 have been
identified and assigned to represent the licenses 108 of the constituent
protectable-content
elements 110, the license evaluation software process 134 can further analyze
the licenses 108 to
assign one or more restriction values 116 (specifying an applicability of an
associated attribute),
use values 118 (specifying a permissible degree of distribution that may cause
an associated
attribute to become applicable), interaction values 120 (specifying a
permissible degree of
manipulation that may be associated with a particular attribute), and/or other
values (e.g., license
text excerpts and/or other license identifying information associated with an
attribute) to one or
more of the assigned attributes 112 and these attributes and attribute values
can be stored in one
or more license profiles 130 in a repository 124, which may facilitate future
processing activity
within the collaboration architecture 100 if and/or when such licenses 108 are
encountered again
(216).
[0034] Although the assigned attributes 112 in the FIG. 1 embodiment indicate
that
corresponding restriction, use, and interaction values 116-120 are assigned to
each of the
attributes 112, those skilled in the art will recognize that one or more of
such values 116-120,
separately or in any combination, need not be assigned to any particular
attribute 112 and that the
illustrated embodiment is merely exemplary of one possible embodiment and is
not intended to
be limiting in any respect. Further, the licenses 108 of one or more
constituent protectable


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-24-
content elements 110 can include license terms that specify default
distribution and/or
manipulation restrictions that may be represented as common use and/or
interaction values for at
least some of the attributes 112 of corresponding license profiles 130,
although the disclosed
technology can also accommodate particular use and/or interaction values that
may override such
common/default values as required. In one illustrative embodiment, default
restrictions in
license terms can be represented as use, interaction, and/or other types of
values that can be
shared among license attributes 112 by, for example, assigning such default
values to
corresponding attributes (that do not have any overriding values that
supersede the default
values), assigning pointers and/or other indicia to the corresponding
attributes so that default
values can be referenced and tal~en into account during subsequent processing
activities, and/or
via any other method or mechanism which provides access to such default values
during
processing activities performed by a license aggregation software process 136,
whose
functionality is further described below.
[0035] Upon completion of the license profiles 130 and/or if such license
profiles 130
previously existed, a license aggregation software process 136 can analyze the
attribute values
116-120 of one or more attributes 112 associated with the constituent
protectable-content
elements 110 forming at least part of an aggregated content 106 in view of an
intended
operational/deployment environment and/or other operational parameters
associated with the
aggregated content 106 to determine specific attribute and/or attribute value
compatibilities
and/or incompatibilities between the licenses 108 of such constituent
protectable-content
elements 110 (218). If an incompatibility and/or other type of error, warning,
and/or information
is detected during this analysis (and which is not already identified as an
attribute value) (220),
the license aggregation software process 136 can generate event data such as,
for example, an
event type 138, a frequency of occurrence 140 of an event, indicia of use
and/or interaction
values associated with an event 142, and/or other indicia that may pertain to
a source of


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
- 25 -
information for the event and such event data can be stored in one or more
event data structures
146, which may be stored as part of one or more license profiles 128, 130
and/or as separate data
structures within one or more repositories 124 (222). The event data
structures 146 can be useful
in resolving incompatibilities between licenses 108 that may be specific to
such licenses 108 and
thus may not have been otherwise accounted for in values 116-120 assigned to
corresponding
license attributes 112. For example, event data 138-144 stored within one or
more event data
structures 146 can be communicated to an entity that submitted a corresponding
request that was
received by the request handling software process 126 andlor to other
interested entities (e.g.,
one or more content owners or entities affiliated with such content owners
that are associated
with the protectable content 110 andlor aggregated content 106) and such
entities can seek
waivers, new license terms, a redesign of the aggregated content 106, a
modification of the
operational/deployment environment of the aggregated content 106, new design
alternatives,
and/or other types of corrective action that can mitigate the risk of
infringing a content owner's
rights in the protectable content 110 and/or aggregated content 106 associated
with the detected
incompatibilities. In addition to detecting and resolving incompatibilities,
event data structures
146 can also include warnings and/or other information that may be addressed
in a more subtle
manner than that discussed above, such as by, for example, identifying text
(e.g., notices
describing operational boundaries associated with the operational/deployment
environment of
the aggregated content 106) that needs to be inserted into one or more
aggregated license
alternatives 104 associated with the aggregated content 106.
[0036] In more detail and with respect to one illustrative embodiment, a
license aggregation
software process 136 can compare one or more attribute values 116'-120,' 116"-
120" associated
with one or more license attributes 112' of a first license 108' with one or
more corresponding
attribute values 116"'-120"', 116'°-120'° associated with one or
more license attributes 112" of a
second license 108" to identify aggregated license attributes 122 associated
with an aggregated


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-26-
content of interest 106. Aggregated license attributes 122 can be stored as
one or more
aggregated license profiles 128 in one or more repositories 124, which may
facilitate future
processing activity within the collaboration architecture 100 if/when such
aggregated license
profiles 128 are needed again (224). Attributes and attribute values of the
first license 108' can
be compared with corresponding attributes and attribute values of the second
license 108" in an
attribute-by-attribute and/or attribute value-by-attribute value manner to
ensure that any
compatibilities and/or incompatibilities that may be associated with the
combination of
protectable content elements 110', 110" to form an aggregated content 106,
targeted for
deployment/operation in a particular mannerlenvironment, are identified at a
level of granularity
sufficient to reliably detect potential/actual infringement risks associated
with particular aspects
of the aggregated content 106. Similarly, the attribute-by-attribute and/or
attribute value-by-
attribute value comparison can serve as a basis for determining whether
particular aspects of the
aggregated content 106 are governed by the attributes/license terms of the
first license 108', the
attributes/license terms of the second license 108", and/or any combinations
(e.g., one or more of
the attributes and/or attribute values of the first license 108' may govern an
aspect of the
aggregated content 106, while one or more of the attributes and/or attribute
values of the second
license 108" may govern a different aspect of the aggregated content 106)
and/or hybrids thereof
(e.g., attribute values associated with an attribute of the first license 108'
and attribute values
associated with an attribute of the second license 108" may be assigned to a
common attribute of
the aggregated content 106 and thus coexist as further discussed below, one or
more attribute
values associated with an attribute of the first license 108' may override
attribute values
associated with an attribute of the second license 108" in some situations or
be overridden
thereby in other situations, etc.). Those skilled in the art will recognize
that this type of analysis
can be performed for any number of attributes, attribute values, and/or
licenses and that the
disclosed embodiments are merely illustrative and are not intended to be
limiting in any respect.


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
[0037] In one embodiment, the restriction, use, and/or interaction values 116'-
120' assigned
to an attribute 112' of a first license 108' may coexist with one or more of
the restriction, use,
and/or interaction values 116"'-120"' assigned to an attribute 112" of a
second license 108" if
such values do not result in a dominant or subservient relationslup that would
necessitate a
modification in the attribute values of a corresponding aggregated license
attribute 122 (see, for
example, the attribute values assigned to Aggregated License Attribute 1 in
FIG. 1 ). For
example, one or more coexisting values and/or value sets 116'-120' and 116"'-
120"' for a first
attribute of an aggregated content 106 may reflect optional occurrences within
an
operational/deployment environment, such as when, for example, license fees
are forbidden
when the aggregated content 106 is used for research and development purposes,
but fees are
required when the aggregated content 106 is widely distributed. In this
manner, the disclosed
technology can be used to generate one or more aggregated license alternatives
104, based on
attributes whose values may accommodate a diverse spectrum of occurrences
within one or more
operational/deployment environments. Those skilled in the art will recognize
that multiple
values and/or value sets can be assigned to a wide variety of different
attribute types and that the
disclosed examples and embodiments are merely illustrative and are not
intended to be limiting
in any respect.
[0038] In one embodiment, one or more restriction, use, and/or interaction
values 116"-120"
assigned to an attribute 112' of a first license 108' may dominate or be
subservient to one or
more restriction, use, and/or interaction values 116'°-120'°
assigned to an attribute 112" of a
second license 108", which may necessitate that attribute values of a
corresponding aggregated
license attribute (see, for example, Aggregated License Attribute 2 in FIG. 1)
reflect a
combination of attribute values associated with the corresponding attributes
of the first and
second license 108', 108" (which may occur if there is partial domination or
subservience) or
reflect one set of attribute values in the case where there is complete
domination or subservience.


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-28-
For example, a restriction value of an attribute associated with a first
license may be more
restrictive (e.g., recite a requirement or prohibition of the associated
attribute) than a restriction
value of an attribute associated with a second license (e.g., when a
neutral/don't care value is
specified), in which case the restriction value of the first license governs
the combination of such
values and is thus represented as a restriction value to a corresponding
attribute of an aggregated
content. Similarly, use and/or interaction values of an attribute associated
with a first license
may also be more or less restrictive than use and/or interaction values of an
attribute associated
with a second license and the selection of the controlling values for the
corresponding attribute
of the aggregated content can be based, at least partly, on the relative
restrictiveness of such
values. In this manner, the disclosed technology can be used to generate one
or more aggregated
license alternatives 104 based on attributes whose values reflect the more
restrictive aspects of
constituent protectable content licenses and which thus mitigate the risk of
infringing one or
more of such licenses in a particular operational/deployment environment.
[0039] In one illustrative embodiment, an aggregated license profile 128
and/or one or more
other data structures stored within a repository 124 of the collaboration
architecture 100 can
include content-descriptive information (not shown) that characterizes one or
more aspects of the
aggregated content 106 itself, rather than or in addition to the aggregated
license attributes 122
and associated attribute values that pertain to license terms of one or more
aggregated license
alternatives 104. By way of non-limiting example and with respect to an
exemplary embodiment
in which an aggregated content 106 refers to an aggregation of one or more
software elements,
content-descriptive information can correspond to manipulations/interactions
of at least some
aspects of constituent protectable content elements 110 that form such
aggregated content 106
and can, for example, specify whether the aggregated content 106 includes a
software library
formed from a combination of source code from the constituent protectable
content elements
110, whether the aggregated content 106 includes a software application formed
from a


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-29-
combination of software libraries from the constituent protectable content
elements 110, and/or
the like.
[0040] In one illustrative embodiment, an aggregated license profile 128
and/or one or more
other data structures stored within a repository 124 of the collaboration
architecture 100 can
include profile-override information (not shown) that can be used to, for
example,
add/modify/delete one or more attributes 112 and/or associated attribute
values in a license
profile 130 of a constituent protectable content element 110 that forms an
aggregated content of
interest 106, so as to accommodate special situations where, for example, a
user of the
aggregated content 106 obtains a waiver and/or otherwise negotiates with an
authorized owner of
the constituent protectable element 110 to obtain license terms that differ
from those originally
expressed in a license 108 of the constituent protectable content 110 and
which enable the user to
interact with the aggregated content 106 in a desired manner. Accordingly, the
profile-override
information can be used by a license evaluation software process 134 and/or
license aggregation
software process 136 to custom-design license profiles 130 and aggregated
license profiles 128
for particular users and/or particular operational/deployment environments. By
way of non-
limiting example and with reference to an embodiment in which protectable
content 110 refers to
one or more software elements, a potential distributor of an aggregated
software product 106
who wants to distribute such product 106, but is prevented from doing so
because of distribution
incompatibilities in the license terms of its constituent software elements
110, can obtain
authorization from an authorized content owner to modify particular license
terms that cause
such incompatibilities so that the aggregated software product 106 can be
distributed as desired.
The authorization obtained from the content owner can be represented as
profile-override
information that can override (e.g., add, modify, delete) one or more
attributes/attribute values of
a license profile 130 that governs one or more of such constituent software
elements 110 and
when such attributes and attribute values are combined, by a license
aggregation software


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-30-
process 136, with corresponding attributes and attribute values of other
constituent license
profiles 130, the resulting aggregated license profile 128 and/or aggregated
license alternatives
can reflect such overridden attributes/attribute values that enable the
distributor of the aggregated
software product 106 to distribute such aggregated software product 106 as
authorized/desired.
Those skilled in the art will recognize that profile-override information is
one example of various
types of data/information that can be stored within an aggregated license
profile 128 and/or other
data structure in the repository 124 of the collaboration architecture to
describe and/or affect how
a particular aggregated license profile 128 was formed.
[0041] Additional values that may be assigned to aggregated license attributes
122 and/or
stored in source data structures (not shown) may include source
information/values 148-152
(e.g., indicia pertaining to related license clauses/attributes, storage
location within a repository
124, etc.), license text excerpts 154 (that may be used to explain
particular,aggregated license
attributes 122), and/or any other type of information that may be useful in
characterizing/profiling an aggregated content of interest 106. Source
information and
associated values 148-152 assigned to aggregated license attributes 122 can
provide information
that is useful in identifying and/or locating the license attributes 112
and/or attribute values 116,
120 associated with constituent protectable content 110 that participated in
the formation and/or
assignment of the aggregated license attributes 122 and/or values. A source
value 148 assigned
to a particular aggregated license attribute 122 and/or stored in a source
data structure can, for
example, identify a file name, a license name/identifier, a directory path of
a license and/or
license attribute, a particular location within a file, a list of associated
protectable content 110, a
list of associated aggregated content 106, and/or any other type of
information that is useful in
tracking and reporting issues and/or other information pertaining to
processing activity
performed by the license aggregation software process 136 during its formation
of the
aggregated license attributes. In one embodiment, the source information 148-
152 can be used


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-31-
in concert with event data 138-144 stored in the event data structures 146 to
identify and locate
those elements of the collaboration architecture 100 that were processed and
that contributed to
particular event types, thereby facilitating troubleshooting and/or other
remedial activities.
Similarly text, such as license text excerpts 154 from one or more licenses
108, may be
included/assigned to one or more aggregated license attributes 122 and may
include, for
example, modification instructions, distribution information, author
attribution information,
operational notices (e.g., software runtime notices), publishing information,
transferability
information, devices/platforms that may be used together with the aggregated
content, governing
jurisdictions, and/or any other type of information that is useful in forming
one or more
aggregated license alternatives, resolving incompatibilities, and/or providing
information that
mitigates a likelihood of infringement. In this manner, license text excerpts
154 and/or other
textual information can facilitate the formation of aggregated license
alternatives (and may be
included entirely or partly in such licenses) and/or facilitate the resolution
of incompatibilities.
[0042] Those skilled in the art will recognize that more than one aggregated
license profile
128 may exist for a particular aggregated content 106, particularly where one
or more of its
constituent protectable-content elements 110 can be governed by more than one
license 108. In
such situations, multiple aggregated license profiles 128 can be formed to
represent the various
permutations of licenses and associated license attributes. Particular
aggregated license profiles
128 that are not compatible with an operational environment of the
corresponding aggregated
content of interest 106 can be discarded. Otherwise one or more aggregated
license profiles 128
that are viable relative to the operational environment of the aggregated
content 106 can be used
by the license aggregation software process 136 to generate, identify, and/or
store one or more
aggregated license alternatives 104 for the aggregated content 106 (226). In
one embodiment,
the license aggregation software process 136 can generate the license
alternatives 104 by, for
example, mapping the aggregated license attributes 122 and associated
attribute values to license


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-32-
clause templates that can be updated to represent the desired license
alternatives. In one
embodiment, the request handling software process 126 can provide the
aggregated content
profile 128 for an aggregated content of interest 106 to a requesting entity
that can subsequently
use the profile information to generate the legal language forming the
aggregated license
alternatives 104 and the resulting license alternatives can be subsequently
stored in one or more
repositories.
[0043] In more detail and with respect to one illustrative embodiment, the
operation,
deployment, and/or manipulation of a particular protectable content element
110 can be
governed by one of several different license alternatives. In order to support
the combination of
at least some aspects of this protectable content 110 with that of other
protectable content, which
may also be governed by more than one license, to form an aggregated content
106, the disclosed
technology can process the various permutations in license alternatives by,
for example,
performing an attribute-by-attribute and/or attribute value-by-attribute value
comparison for the
attributes in these sets of license alternatives. For example, if a first
protectable content has two
license alternatives (e.g., L1 and L2) and a second protectable content has
three license
alternatives (e.g., L3, L4, and LS), the disclosed technology can process
permutations of such
licenses that may include combinations involving license pairs LIL3, LIL4,
LILS, L2L3, L2L4,
and L2L5. Those skilled in the art will recognize that the disclosed
technology can be applied to
any number of licenses, protectable content elements, and/or other license
combinations that may
differ from license pairs (e.g., if three or more protectable content elements
are being aggregated,
' then the license combinations may, but need not, involve three or more
licenses per combination)
and that the disclosed embodiments are merely exemplary. As previously
discussed, license
profiles 130 for one or more of licenses Ll-LS that provide license attribute
information,
including restriction, use, and/or interaction values for such attributes, may
already exist in a
repository 124 and/or can be generated using the license evaluation software
process 134.


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
- 33 -
[0044] Upon identifying/generating the license profiles 130 for licenses L1-
L5, the license
aggregation software process 136 can compare, sequentially or in parallel, the
attribute values of
attributes associated with L1 with corresponding attribute values of
attributes associated with L3
for license combination L1L3 and for each of the other combination pairs. As
previously
described, processing information associated with the license evaluation
software process 134
and/or license aggregation software process 136 can be tracked and stored
within one or more
repositories and can include, for example, license profiles 130, event data
138-144 in one or
more event data structures 146, aggregated license attributes and values
(e.g., dominant values,
subservient values, coexisting values, source values, license text excerpts,
etc.). The processed
and stored information can be used to identify aggregated license alternatives
that are based on
the various license combinations and can facilitate the selection of a
preferred aggregated license
for a particular operational/deployment environment. As the number of license
aggregation
operations performed by the disclosed technology increases, the performance of
the
collaboration architecture 100 may also increase since the data stored in the
repositories 124 may
already include the license profiles 130, aggregated license profiles 128,
and/or other processing
data that can facilitate the generation, evaluation, and/or selection of
aggregated license
alternatives.
[0045] The various software processes 126, 132, 134, 136, processing
operations,
repositories 124, content 106, 110, known license attributes 114, assigned
attributes 112,
attribute values 116-120, 148-152, license profiles 128, 130, entity types,
event data structures
146 and associated event data 138-144, and/or other elements of the
collaboration architecture
100 can operate on and/or otherwise be associated with one or more digital
data processing
devices (not shown) that may be interconnected by a networlc (not shown).
[0046] The instructions executed by a processor represent, at a low level, a
sequence of "0's"
and "1's" that describe one or more physical operations of a digital data
processing device.


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-34-
These instructions can be pre-loaded into a programmable memory (e.g., EEPROM)
that is
accessible to the processor and/or can be dynamically loaded into/from one or
more volatile
(e.g., RAM, cache, etc.) and/or non-volatile (e.g., hard drive, etc.) memory
elements
communicatively coupled to the processor. The instructions can, for example,
correspond to the
initialization of hardware within a digital data processing device, an
operating system that
enables the hardware elements to communicate under software control and
enables other
computer programs to communicate, and/or software application
programs/software processes
that are designed to perform particular functions for an entity or other
computer programs, such
as functions relating to processing license registration requests and/or
license authentication
requests.
[0047] A local user can interact with a digital data processing device by, for
example,
viewing a command line, graphical, and/or other user interface and entering
commands via an
input device, such as a mouse, keyboard, touch sensitive screen, track ball,
lceypad, etc. The user
interface can be generated by a graphics subsystem of a digital data
processing device, which
renders the interface into an on or off screen surface (e.g., in a video
memory and/or on a display
screen). Inputs from the user can be received via an input/output subsystem
and routed to a
processor via an internal bus (e.g., system bus) for execution under the
control of the operating
system.
[0048] Similaxly, a remote user can interact with a digital data processing
device over a data
communications network. The inputs from the remote user can be received and
processed in
whole or in part by a remote digital data processing device collocated with
the remote user.
Alternatively or in combination, the inputs can be transmitted baclc to and
processed by the local
digital data processing device or to another digital data processing device
via one or more
networks using, for example, thin client technology. The user interface of the
local digital data
processing device can also be reproduced, in whole or in part, at the remote
digital data


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
- 35 -
processing device collocated with the remote user by transmitting graphics
information to the
remote device and instructing the graphics subsystem of the remote device to
render and display
at least part of the interface to the remote user. Network communications
between two or more
digital data processing devices typically require a network subsystem (e.g.,
as embodied in a
network interface card) to establish the communications link between the
devices. The
communications link interconnecting digital data processing devices can
include elements of a
data coimnunications network, a point to point connection, a bus, and/or any
other type of digital
data path capable of conveying processor-readable data.
[0049] A data communications networlc (e.g., Internet, intranets, etc.) can
comprise a series
of network nodes that can be interconnected by network devices and
communication lines (e.g.,
public carrier lines, private lines, satellite lines, etc.) that enable the
network nodes to
communicate. The transfer of data (e.g., messages) between network nodes can
be facilitated by
network devices, such as routers, switches, multiplexers, bridges, gateways,
etc., that can
manipulate and/or route data from a source node to a destination node
regardless of any
dissimilarities in the network topology (e.g., bus, star, token ring), spatial
distance (local,
metropolitan, or wide area network), transmission technology (e.g., TCP/IP,
Systems Network
Architecture), data type (e.g., data, voice, video, or multimedia), nature of
connection (e.g.,
switched, non-switched, dial-up, dedicated, or virtual), and/or physical link
(e.g., optical fiber,
coaxial cable, twisted pair, wireless, etc.) between the source and
destination network nodes.
License Authentication
[0050] In another aspect, the disclosed technology can mitigate the rislc of
infringing a
content owner's rights in protectable content by operating as a trusted, third-
party license
authority between content owners and content users to ensure that a license
governing at least
some aspects of the protectable content is authentic and thus validly
represents the restrictions
imposed by content owners pertaining to the use, distribution, modification,
combination,


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-36-
interaction, and/or other manipulation of such content.
[0051] The disclosed technology can also be used in determining a measure of
risk that
pertains to a level of confidence that a particular license is authentic. In
one illustrative
embodiment, the disclosed teclmology can be used to determine a license
profile for a particular
license of interest and the risk measure can be based, at least in part, on
the entity that developed
such license profile. For example, a relatively high risk measure that
represents a relatively low-
level of confidence that a particular license is authentic and/or that such
license adequately
identifies a content owner's rights in a protectable content of interest may
be encountered if the
content owner generates a corresponding license profile without the benefit of
automated content
analysis and/or license evaluation software tools/processes and/or without
involvement of a
third-party entity to validate the accuracy of the license profile. Similarly,
a relatively moderate
risk measure that represents a relatively medium-level of confidence that a
particular license is
authentic andlor that such license adequately identifies a content owner's
rights in a protectable
content of interest may be encountered if a content owner employs automated
content analysis
and/or license evaluation software tools/processes to generate a corresponding
license profile,
but does not validate the accuracy of the license profile using a third-party
entity. Further, a
relatively low risk measure that represents a relatively high-level of
confidence may be
encountered if automated content analysis and/or license evaluation software
tools/processes are
used to generate the corresponding license profile and one or more third-party
(independent)
entities validate the accuracy of such license profile.
[0052] The risk measure and/or confidence level can serve as a basis for one
or more entries
in an actuarial data structure (e.g., database table), which can subsequently
be used to determine
one or more provisions in an insurance contract (e.g., pertaining to a
premium) that may insure
particular content users, manipulators, and/or aggregators for potential
liability that may arise
upon infringement of a content owner's rights in protectable content. In one
embodiment,


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-37-
relatively low risk measures and high confidence levels may enable content
users/aggregators to
purchase liability insurance. for potential infringement of protectable
content at a favorable
premium, whereas moderate risk measures and confidence levels may result in
higher premiums
and relatively high risk measures and low confidence levels may result in more
burdensome
premiums or may perhaps result in a lack of insurance carriers willing to
engage in such liability
insurance contracts.
[0053] In brief overview and with reference to an illustrative embodiment of
at least some
aspects of the disclosed technology as shown in FIGs. 3A and 3B, a content
owner 302 (and/or
other entities/software processes authorized to act on behalf of such content
owner 302) can
register one or more licenses 304 of one or more protectable and/or aggregated
content elements
306 with a trusted, third-party entity (e.g., the license authority 308),
which can subsequently
authenticate the validity of such licenses 304 and their applicability to
particular protectable
content elements 306, upon request by one or more users 310 of such content
306. Licenses 304
for particular protectable content elements 306 can be registered with a
license authority 308 by,
for example, generating content identifiers 312 that substantially uniquely
identify particular
protectable content elements of interest 306, generating one or more license
profiles 314 that
represent attributes 316 of corresponding licenses 304, and storing such
content identifiers 312
and license profiles 314 within a repository 318 residing in and/or otherwise
accessible to a
digital data processing device 320 supporting the operations of the license
authority 308. The
license authority 308 can compute an identifier 322 that substantially
uniquely represents a
license 304 and its association with a corresponding protectable content 306
based, at least in
part, on the license profile 314 and content identifier 312 associated
therewith. A content owner
302 can provide the computed license identifier 322 to a content user 310
prior to, concurrently,
or after providing the user 310 with the corresponding protectable content 306
and the user 310
can authenticate the validity and applicability of the content's license 304
by, for example,


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-38-
requesting that the license authority 308 confirm that the license identifier
324 received from the
content owner 302 is substantially equivalent to the license identifier 322
previously computed
by such license authority 308.
[0054] In more detail and with reference now also to an illustrative operation
as shown in
FIG. 4, a content owner 302 can provide a product/license identification
software process 326
with access (e.g., network access, web access, and/or any other type of direct
or indirect access)
to one or more protectable/aggregated content elements of interest 306 and
such software process
326 can apply one or more hash algorithms 328 and/or other algorithm types 330
to the
protectable/aggregated content elements of interest 306 to compute a content
identifier 312
thereof (402). Those skilled in the art will recognize that the particular
hash algorithm 328 used
to transform characters within the protectable/aggregated content elements 306
into one or more
representative values (i.e., content identifiers 312) may employ, for example,
a division
remainder method, a folding method, a radix transformation method, a digit
rearrangement
method, a secure hash method, an MD2 method, an MD4 method, an MDS method,
and/or any
other type of methodology, teclmique, or algorithm that can substantially
uniquely identify
protectable/aggregated content elements of interest 306. Although the
illustrative embodiment
shown in FIGs. 3A and 3B shows that the protectable/aggregated content 306 is
located on a
content owner's digital data processing device 332, those slcilled in the art
will recognize that
such content can be located witlun a repository 318 associated with a digital
data processing
device 320 of the license authority 308, a repository (not shown) associated
with a digital data
processing device (not shown) off a third-party validating entity 334, and/or
in any other type off
storage media communicatively coupled to the software processes of the license
authority 308.
Further, one or more aspects of the product/license identification software
process 326 (and/or
one or more aspects of other software processes of the license authority 308)
and/or associated
algorithm types 330 (e.g., hash algorithms 328) can be performed on digital
data processing


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-39-
devices that are different from that of the license authority 308 such as, for
example, on a content
owner's digital data processing device 332, on a digital data processing
device associated with a
third-party validating entity 334, and/or on any other digital data processing
device
communicatively coupled to the digital data processing device 320 of the
license authority 308.
[0055] Prior to, concurrently, or following the computation of a content
identifier 312 for a
particular protectable/aggregated content of interest 306, a content owner 302
and/or a third-
party validating entity334 can access a license evaluation software process
336 of the license
authority 308 to evaluate one or more licenses 304 associated with a
particular
protectable/aggregated content of interest 306 to determine relevant subsets
of known license
attributes 338 that may be assigned/associated to represent such licenses 304
in one or more
license profiles 314 (404). Known license attributes 338 can, for example,
represent types of
license restrictions that may occur in licenses that affect transactions in
one or more industries
(e.g., music industry, software industry, etc.) and/or operational
environments. The license
evaluation software process 336 can identify relevant subsets of the known
license attributes 338
by, for example, mapping restrictions contained within license terms in the
licenses 304 to
particular known license attributes, evaluating information provided by a
content owner 302,
evaluating information provided by a third-party validating entity, and/or
based on information
provided by any other authorized entity and/or software process. Once the
relevant subsets of
the known license attributes 338 have been identified and assigned to
represent the licenses 304
of the protectable/aggregated content 306, the license evaluation software
process 336 can
further analyze the licenses 304 to assign one or more restriction values 340
(specifying an
applicability of an associated attribute), use values 342 (specifying a
permissible degree of
distribution that may cause an associated attribute to become applicable),
interaction values 344
(specifying a permissible degree of manipulation that may be associated with a
particular
attribute), and/or other values (e.g., license text excerpts and/or other
license identifying


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-40-
information associated with an attribute) to one or more of the assigned
attributes 316 and these
attributes and attribute values can be stored in one or more license profiles
314 in a repository
318 accessible by one or more digital data processing devices 320, 332, which
may facilitate
future processing activity within the licensing authority architecture 308 if
and/or when such
licenses 304 are encountered again. Although the assigned attributes 316 in
the FIG. 3B
embodiment indicate that corresponding restriction, use, and interaction
values 340-344 are
assigned to each of the attributes 316, those skilled in the art will
recognize that one or more of
such values 340-344, separately or in any combination, need not be assigned to
any particular
attribute 316 and that the illustrated embodiment is merely exemplary of one
possible
embodiment and is not intended to be limiting in any respect. Further, the
licenses 304 of one or
more protectable content elements 306 can include license terms that specify
default distribution
and/or manipulation restrictions that may be represented as common use and/or
interaction
values for at least some of the attributes 316 of corresponding license
profiles 314, although the
disclosed technology can also accommodate particular use and/or interaction
values that may
override such common/default values as required. In one illustrative
embodiment, default
restrictions in license terms can be represented as use, interaction, and/or
other types of values
that can be shared among license attributes 316 by, for example, assigning
such default values to
corresponding attributes (that do not have any overriding values that
supersede the default
values), assigning pointers and/or other indicia to the corresponding
attributes so that default
values can be referenced and taken into account during subsequent processing
activities, and/or
via any other method or mechanism which provides access to such default values
during
processing activities performed by one or more software processes of the
license authority 308.
[0056] In an embodiment in which a license 304 for a particular
protectable/aggregated
content of interest 306 does not exist, has not been identified, and/or is not
accessible by one or
more of the software processes of the license authority 308, the content owner
302 andlor third-


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-41 -
party validating entity 334 can instruct a content analysis software process
346 to analyze the
protectable/aggregated content of interest 306 to identify an applicable
license 304 and/or license
profile 314 thereof (if such license profile already exists). The content
analysis software process
346 can, for example, search for particular character strings (e.g., segments
of software code),
embedded copyright information, embedded license information, embedded
ownership
information, embedded version information, and/or any other type of indicia
useful in identifying
a license 304 of a protectable/aggregated content of interest 306. Once the
content analysis
software process 346 has identified the license 304, the license evaluation
software process 336
can form a corresponding license profile 314 as previously described, if such
license profile 314
does not already exist.
[0057] In one illustrative embodiment, a content owner 302 may seek to
register an
aggregated content 306 that includes two or more constituent protectable
content elements with
the license authority 308 in which case, the license evaluation software
process 336 can evaluate
the terms in an aggregated license 304 to form an aggregated license profile
314, as discussed
above (assuming that such aggregated license 304 exists). However, in
embodiments where an
aggregated license does not exist and/or is not accessible, the license
evaluation software process
336 can form license profiles 314 representing licenses of the aggregated
content's constituent
protectable content elements and a license aggregation software process 348 of
the license
authority 308 can analyze the attributes and attribute values of such
constituent license profiles
to determine specific attribute and attribute value compatibilities and/or
incompatibilities that
can be used to form an aggregated license profile and/or aggregated license
for the aggregated
content of interest. The functionality provided by the license evaluation
software process 336
and the license aggregation software process 348 is described above with
respect to, for example,
license evaluation software process 134 and license aggregation software
process 136,
respectively.


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-42-
[0058] With continuing reference to FIGs. 3A, 3B, and 4, a content owner 302
can convey a
protectable/aggregated content of interest 306, a corresponding content
identifier 312, a
corresponding license 304, and/or a corresponding license profile 314 to a
third-party validating
entity 334 by, for example, including one or more of such elements 306, 312,
304, 314 in a
validation request message 350 (which may be encrypted and digitally signed)
that is transmitted
to the third-party validating entity 334 directly or via a network 352.
Alternatively, the validation
request message 350 can provide information (e.g., user identifier and/or
password) to the third-
party validating entity 334, which enables such entity 334 to access the
protectable/aggregated
content of interest 306, the corresponding content identifier 312, the
corresponding license 304,
and/or the corresponding license profile 314 (e.g., via a secure web site).
(0059] In response to receiving the validation request message 350, the third-
party validating
entity 334, which may (but need not) be associated with the license authority
308, can access one
or more of the product/license identification, content analysis, license
evaluation, and/or license
aggregation software processes 326, 346, 336, 348 that may be operating
locally and/or on the
digital data processing device 320 of the license authority 308 and apply one
or more of such
processes 326, 346, 336, 348 to one or more of the protectable/aggregated
content of interest
306, the corresponding content identifier 312, the corresponding license 304,
and/or the
corresponding license profile 314 to form a validated content identifier
andlor validated license
profile (406). The validated content identifier and/or validated license
profile can be compared
with corresponding content identifiers and/or corresponding license profiles
formed by the
content owner 302 (if any such identifiers or profiles were computed by the
content owner) to
identify errors and/or inconsistencies therein. The validated content
identifier, validated license
profile, identifier 354 of the content owner 302, identifier 354 of the third-
party validating entity,
and/or other related data/information (e.g:, the protectable/aggregated
content 306, license 304,
etc.) can be incorporated into a registration request message 355 (e.g., an
electronic mail


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
- 43 -
message, an electronic file, a stream of digital data packets, etc.) that may
be encrypted, digitally
signed, and transmitted to a request handling software process 356 of the
license authority 308
via the network 352 for registration (408).
[0060] As previously described, the particular mechanism used to generate and
convey a
content identifier 312 and/or license profile 314 to a license authority 308
can determine a
measure of rislc 358 that may affect one or more provisions in an insurance
contract, which
insures interested parties from unwittingly infringing a content owner's
rights in a
pxotectable/aggregated content 306. For example, a relatively low measure of
risk 358 may be
obtained when a third-party validating' entity 334 employs product/license
identification, content
analysis, license evaluation, and/or license aggregation software processes
326, 346, 336, 348 to
form the content identifier 312 and/or license profile 314 for a particular
protectable/aggregated
content 306 as compared with a relatively high measure of risk 358 that may be
obtained when a
content owner does not use a third-party validating entity 334 or the software
processes 326, 346,
336, 348 of the license authority 308.
[0061] Upon receipt of a registration request message 355 from a content owner
302 or third-
party validating entity 334, a request handling software process 356 can
decrypt, parse, and/or
otherwise process the message 355 to access the content identifier 312
associated with a
protectable/aggregated content of interest 306, the license profile 314
representing a license 304
associated with the protectable/aggregated content of interest 306, the
identifier 354 identifying
the content owner 302, andlor any other information that may be contained
therein (e.g.,
protectable/aggregated content 306, license 304, identifier 354 of the third-
party validating
entity, indicia pertaining to the mechanism/procedure used to form the content
identifier 3I2
andlor license profile 314, etc.) (410). The request handling software process
356 can analyze the
format (e.g., number of digits, alphanumeric sequences, etc.) of the content
identifier 312 to
identify the particular algorithm type 330 used to form such content
identifier 312 (412). The


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-44-
request handling software process 356 can further instruct a product/Iicense
identification
software process 326 to compute a license identifier 322 that substantially
uniquely identifies the
license 304 of the protectable/aggregated content of interest 306 by applying,
for example, one
or more algorithm types 330 (e.g., hash algorithms 328) to the content
identifier 312, license
profile 314, owner/validator identifier 354, and/or algorithm type 330 used to
form the content
identifier 312 (414). The request handling software process 356 can store the
computed license
identifier 322, content identifier 312, identified algorithm type 330, license
prof 1e 314,
owner/validator identifier 354, protectable/aggregated content 306, license
304, and/or other
related information in one or more repositories 318 communicatively coupled to
the digital data
processing device 320 of the license authority 308 and can associate such
elements in one or
more data structures (not shown) to effectuate registration of the license 304
and/or
protectable/aggregated content 306.
[0062] Once the license 304 and/or protectable/aggregated content are
registered, the request
handling software process 356 can form a reply message that transmits the
resulting computed
License identifier 322 to the content owner 302 (416). The content owner 302
can electronically
distribute (e.g., incorporate into an email message, make available on a web
site, etc.) and/or
otherwise convey (e.g., mail a CD, DVD, floppy disk, and/or other media) the
computed license
identifier 322, the associated protectable/aggregated content 306, the
associated license 304,
and/or other data/information to one or more content users 310 (418). In one
embodiment, the
computed license identifier 322 can correspond to a code that enables the
protectable/aggregated
content 306 to partially or fully operate. Upon receipt of the information
transmitted from the
content owner 302, the content user 3I0 may want to confirm that such
information is authentic
and has not been tampered with and/or otherwise manipulated by unauthorized
parties.
Accordingly, the content user 310 can instruct one or more software processes
(not shown)
executing on a digital data processing device 360 accessible to the content
user 310, such as


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
- 45 -
processes associated with a web browser software application, to form and
transmit an
authenticity request message 362 that may be encrypted and digitally signed
and which includes
a license identifier 324 received from the content owner 302 to the request
handling software
process 356 of the license authority 308 (420).
[0063] Upon receipt of the authenticity request message 362, the request
handling software
process 356 can decrypt and/or otherwise manipulate the message 362 to access
the license
identifier 324 transmitted by the content user 310. The request handling
software process 356
can instruct a risk assessment software process 364 to authenticate the
received license identifier
324 by, for example, comparing the received license identifier 324 with the
computed license
identifier 322 that was previously formed and transmitted by the software
processes of the
license authority 308 to the content owner 302 to confirm that the license
identifiers 324, 322 are
substantially equivalent (422). If the license identifiers 322, 324 axe not
substantially equivalent,
then the request handling software process 356 can form and transmit a reply
message to the
content user 310 that the license identifier 324 received from the content
owner 302 by the
content user 310 has failed authentication. If the risk assessment software
process 364
determines that the license identifiers 322, 324 are substantially equivalent,
the process 364 can
form authenticity indicia 366 (e.g., one or more risk measures 358) that can
be transmitted to
and/or otherwise accessed by the content user 310 (424).
[0064] Authenticity indicia 366 can be interpreted to inform the content user
310 of a risk of
infringing a content owner's rights in a protectable/aggregated content of
interest 306 that may
be based on, for example, a content owner's authority to license the content
of interest 306 (e.g.,
whether the content owner 302 has full or partial rights to license the
content 306 and/or whether
the rights of other content owners may be infringed), a tampering and/or other
unauthorized
manipulation of the content 306 and/or associated license 304 (e.g., whether
unauthorized
entities have improperly modified, copied, distributed, and/or otherwise
manipulated the content


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
- 46 -
306, whether entities are perpetrating a fraud on the content user 310 by
feigning a lawful
interest in the content 306, etc.), and/or on any other bases that expose a
content user 310 to a
risk of infringing a content owner's rights in a content of interest 306.
Authenticity indicia 366
can include, for example, one or more of the following, separately or in any
combination: a
validated/authenticated content identifier 312, a validated/authenticated
protectable/aggregated
content 306, a validated/authenticated license 304, a validated/authenticated
license profile 314,
and/or one or more risk measures 358. Authenticity indicia 366 that has been
validated and/or
authenticated can indicate to the content user 310 that the license authority
has authenticated the
validity of such indicia and/or associated content 304 and/or data and has a
particular confidence
in the accuracy and reliability of such content/data, as expressed in one or
more of the risk
measures 358.
[0065] Risk measures 358 can be computed by the risk assessment software
process 364
based on, for example, numerical weights that can be associated with the type
of entities
involved in the formation of the content identifier 312 and license profile
314 of a
protectable/aggregated content of interest 306. aFor example, greater
numerical weights can be
applied to content identifiers 312 and license profiles 314 that are formed by
automated software
processes 326, 346, 336, 348 and independent, third-party validating entities
334 than to content
identifiers 312 and license profiles 314 that are formed by a content owner
302 and without
having the benefit of one or more automated processes 326, 346, 336, 348
and/or validating
entities 334. The relatively greater numerical weights encountered by using
automated processes
326, 346, 336, 348 and independent third-party validating entities 3341 can
correspond to a
relatively higher confidence level (relatively low risk level) that a license
304 of a
protectable/aggregated content 306 is accurate and reliable and may thus
present little, if any,
risk of infringing a content owner's rights in a content of interest 306.
Similarly, relatively
smaller numerical weights encountered when automated processes 326, 346, 336,
348 and/or


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-47-
validating entities 334 are not used can correspond to a relatively lower
confidence level
(relatively high risk level) that a license 304 of the protectable/aggregated
content 306 is
accurate and reliable and may thus present a significant and quantifiable
infringement risk. Risk
measures 358 that are computed from such exemplary numerical weights can be
incorporated
into one or more actuarial tables that can form the basis for one or more
provisions of an
insurance contract targeted at insuring against potential infringement.
Accordingly, content
users 310, content distributors, content aggregators, insurance carriers,
and/or other interested
entities can use such risk measures 358 to formulate a liability insurance
contract, negotiate
better license terms with content owners 302, increase an end-user price of
such content 306,
and/or otherwise mitigate potential legal and/or financial liability prior to
using and/or otherwise
interacting with the content 306.
[0066] In one illustrative embodiment, a measure of risk 358 that may form an
entry in an
actuarial risk table can be determined from an equation whose variables axe
based on an
accuracy/reliability of a license profile 314 and/or on an
association/correlation between a
license profile 314 and a particular protectable/aggregated content of
interest 306. These
variables can lie within a continuum, from a relatively low
accuracylcorrelation to a relatively
high accuracy/correlation. For example, a variable based on an accuracy of a
license profile 314
can exhibit increasing values as the accuracy of the license profile 314
increases in the following
exemplary continuum (from low to high accuracy): a) a license profile 314 is
not formed for a
protectable content of interest 306, b) a license profile 314 is partially
formed for a protectable
content of interest 306 by a content owner 302 of such content 306, c) a
license profile 314 is
fully formed for a protectable content of interest 306 by a content owner 302
of such content
306, d) an aggregated license profile 314 is fully formed by an aggregated
content owner for an
aggregated content of interest that includes two or more constituent
protectable content elements,
e) an aggregated license profile 314 is fully formed by analyzing a relatively
high level portion


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-48-
of an aggregated content of interest using one or more automated software
processes 326, 346,
336, 348, f) an aggregated license profile 314 is fully formed by
comprehensively analyzing an
aggregated content of interest, including an analysis of its constituent
protectable content
elements, using one or more automated software processes 326, 346, 336, 348,
g) an aggregated
license profile 314 is fully formed by comprehensively analyzing an aggregated
content of
interest, including an analysis of its constituent protectable content
elements, using one or more
automated software processes 326, 346, 336, 348 and where license profiles of
the constituent
protectable content elements are validated by a third-party validating entity
334, h) same as prior
element, except also validate the aggregated license profile 314 using the
third-party validating
entity 334, and i) same as prior element, except also have the third-party
validating entity 334
form the aggregated and constituent license profiles using the automated
software processes 326,
346, 336, 348. Similarly, a variable based on a correlation between a license
profile 314 and its
associated protectable/aggregated content 306 can exhibit increasing values as
the correlation
between such profile 314 and content 306 increases in the following exemplary
continuum (from
low to high correlation): a) there is no correlation between a license profile
314 and a particular
protectable/aggregated content of interest 306, b) a content owner 302 of a
protectable/aggregated content 306 specifies that the content 306 and
associated profile 314 are
correlated, c) a content owner 302 of a protectable/aggregated content 306
specifies that the
content 306 and associated profile 314 are correlated and the identity of such
content owner 302
is verified by an independent third-party entity (e.g., a third-party
validating entity 334, a digital
certificate authority, a license authority 308, etc.), d) same as prior
element, except also submit
the protectable/aggregated content 306 and associated profile 314 to the
independent third-party
entity, which can subsequently confirm the identity of the submitted content
306 and profile 314
(by, for example, issuing a digital certificate indicative of such confirmed
identity), and e) same
as prior element, except also have the independent third-party entity analyze
the contents of the


CA 02547713 2006-05-30
WO 2005/057457 PCT/US2004/040453
-49-
protectable/aggregated content 306 relative to the associated profile 314 to
confirm/verify a
correlation between such content 306 and profile 314 (by, for example, issuing
a digital
certificate indicative of such confirmed/verified correlation).
[0067] Although the disclosed technology has been described with reference to
specific
embodiments, it is not intended that such details should be regarded as
limitations upon the
scope of the invention, except as and to the extent that they are included in
the accompanying
claims.
[0068] What is claimed is:

Representative Drawing

Sorry, the representative drawing for patent document number 2547713 was not found.

Administrative Status

For a clearer understanding of the status of the application/patent presented on this page, the site Disclaimer , as well as the definitions for Patent , Administrative Status , Maintenance Fee  and Payment History  should be consulted.

Administrative Status

Title Date
Forecasted Issue Date Unavailable
(86) PCT Filing Date 2004-12-03
(87) PCT Publication Date 2005-06-23
(85) National Entry 2006-05-30
Dead Application 2010-12-03

Abandonment History

Abandonment Date Reason Reinstatement Date
2009-12-03 FAILURE TO PAY APPLICATION MAINTENANCE FEE
2009-12-03 FAILURE TO REQUEST EXAMINATION

Payment History

Fee Type Anniversary Year Due Date Amount Paid Paid Date
Application Fee $400.00 2006-05-30
Registration of a document - section 124 $100.00 2006-09-12
Maintenance Fee - Application - New Act 2 2006-12-04 $100.00 2006-11-20
Maintenance Fee - Application - New Act 3 2007-12-03 $100.00 2007-11-26
Maintenance Fee - Application - New Act 4 2008-12-03 $100.00 2008-11-25
Owners on Record

Note: Records showing the ownership history in alphabetical order.

Current Owners on Record
BLACK DUCK SOFTWARE, INC.
Past Owners on Record
LEVIN, DOUGLAS ANDREW
PEDERSEN, PALLE MARTIN
SHAH, ASHESH C.
Past Owners that do not appear in the "Owners on Record" listing will appear in other documentation within the application.
Documents

To view selected files, please enter reCAPTCHA code :



To view images, click a link in the Document Description column. To download the documents, select one or more checkboxes in the first column and then click the "Download Selected in PDF format (Zip Archive)" or the "Download Selected as Single PDF" button.

List of published and non-published patent-specific documents on the CPD .

If you have any difficulty accessing content, you can call the Client Service Centre at 1-866-997-1936 or send them an e-mail at CIPO Client Service Centre.


Document
Description 
Date
(yyyy-mm-dd) 
Number of pages   Size of Image (KB) 
Claims 2006-05-30 13 724
Drawings 2006-05-30 5 200
Description 2006-05-30 49 2,741
Cover Page 2006-08-14 1 26
Abstract 2005-06-23 1 1
Assignment 2006-09-12 4 150
PCT 2006-05-30 3 147
Assignment 2006-05-30 2 84
Correspondence 2006-08-10 1 27