Search Images Maps Play YouTube News Gmail Drive More »
Advanced Patent Search | Web History | Sign in

Patents

The disclosed technology can be used to develop systems and perform methods in which restriction, use, and/or interaction values can be assigned to license attributes associated with a first license to specify particular restrictions, uses (e.g., distribution), and interactions (e.g., manipulations) pertaining to a first protectable content. These restriction, use, and/or interaction values can be compared with corresponding attribute values associated with a second license and a second protectable content and such comparisons can serve as a basis for determining attributes associated with a third protectable content, where the third protectable content is based on a combination of at least some aspects of the first protectable content and the second protectable content. 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...

InventorsDouglas Andrew Levin, Palle Martin Pedersen, Ashesh C. Shah
Original AssigneeBlack Duck Software, Inc.
Primary Examiner: Calvin Loyd Hewitt, II
Secondary Examiner: Mohammad Nilforoush
Attorney: Goodwin Procter LLP
Current U.S. Classification705/59; 705/51; 705/54

View patent at USPTO
Search USPTO Assignment Database
Download USPTO Public PAIR data

Citations

Cited PatentFiling dateIssue dateOriginal AssigneeTitle
US5313616Sep 18, 1990May 17, 199488Open Consortium, Ltd.Method for analyzing calls of application program by inserting monitoring routines into the executable version and redirecting calls to the monitoring routines
US5343527Oct 27, 1993Aug 30, 1994International Business Machines CorporationHybrid encryption method and system for protecting reusable software components
US5469354Feb 28, 1992Nov 21, 1995Hitachi, Ltd.Document data processing method and apparatus for document retrieval
US5577249Aug 8, 1995Nov 19, 1996International Business Machines CorporationMethod for finding a reference token sequence in an original token string within a database of token strings using appended non-contiguous substrings
US5765152Oct 13, 1995Jun 9, 1998Trustees of Dartmouth CollegeSystem and method for managing copyrighted electronic media
US5774883May 25, 1995Jun 30, 1998Method for selecting a seller's most profitable financing program
US5796830Jul 29, 1996Aug 18, 1998International Business Machines CorporationInteroperable cryptographic key recovery system
US5892900Aug 30, 1996Apr 6, 1999InterTrust Technologies Corp.Systems and methods for secure transaction management and electronic rights protection
US5893095Mar 28, 1997Apr 6, 1999Virage, Inc.Similarity engine for content-based retrieval of images
US5917912Jan 8, 1997Jun 29, 1999InterTrust Technologies CorporationSystem and methods for secure transaction management and electronic rights protection
US5958051Jan 9, 1997Sep 28, 1999Sun Microsystems, Inc.Implementing digital signatures for data streams and data archives
US6029002Nov 13, 1995Feb 22, 2000Peritus Software Services, Inc.Method and apparatus for analyzing computer code using weakest precondition
US6035402Dec 20, 1996Mar 7, 2000GTE CyberTrust Solutions IncorporatedVirtual certificate authority
US6072493Mar 30, 1998Jun 6, 2000BellSouth CorporationSystem and method for associating services information with selected elements of an organization
US6148401Nov 19, 1997Nov 14, 2000AT&T Corp.System and method for providing assurance to a host that a piece of software possesses a particular property
US6188995Jul 28, 1997Feb 13, 2001Apple Computer, Inc.Method and apparatus for enforcing software licenses
US6189146Mar 18, 1998Feb 13, 2001Microsoft CorporationSystem and method for software licensing
US6226618Aug 13, 1998May 1, 2001International Business Machines CorporationElectronic content delivery system
US6240409Jul 31, 1998May 29, 2001The Regents of the University of CaliforniaMethod and apparatus for detecting and summarizing document similarity within large document sets
US6249769Nov 2, 1998Jun 19, 2001International Business Machines CorporationMethod, system and program product for evaluating the business requirements of an enterprise for generating business solution deliverables
US6260141Mar 1, 2000Jul 10, 2001Software license control system based on independent software registration server
US6263348Jul 1, 1998Jul 17, 2001Serena Software International, Inc.Method and apparatus for identifying the existence of differences between two files
US6275223Jul 8, 1998Aug 14, 2001Nortel Networks LimitedInteractive on line code inspection process and tool
US6282698Dec 4, 1998Aug 28, 2001Lucent Technologies Inc.Detecting similarities in Java sources from bytecodes
US6330670Jan 8, 1999Dec 11, 2001Microsoft CorporationDigital rights management operating system
US6381698Sep 8, 2000Apr 30, 2002AT&T CorpSystem and method for providing assurance to a host that a piece of software possesses a particular property
US6393438Jun 15, 2001May 21, 2002Serena Software International, Inc.Method and apparatus for identifying the existence of differences between two files
US6397205Nov 22, 1999May 28, 2002Duquesne University of the Holy GhostDocument categorization and evaluation via cross-entrophy
US6480834Nov 17, 1999Nov 12, 2002Serena Software, Inc.Method and apparatus for serving files from a mainframe to one or more clients
US6480959Nov 20, 1998Nov 12, 2002Jamama, LLCSoftware system and associated methods for controlling the use of computer programs
US6493709Mar 18, 1999Dec 10, 2002The Regents of the University of CaliforniaMethod and apparatus for digitally shredding similar documents within large document sets in a data processing environment
US6499035Jul 15, 1998Dec 24, 2002Microsoft CorporationLicensing java objects
US6546114Sep 7, 1999Apr 8, 2003Microsoft CorporationTechnique for detecting a watermark in a marked image
US6557105Apr 14, 1999Apr 29, 2003Tut Systems, Inc.Apparatus and method for cryptographic-based license management
US6574348Sep 7, 1999Jun 3, 2003Microsoft CorporationTechnique for watermarking an image and a resulting watermarked image
US6658626Sep 3, 1999Dec 2, 2003The Regents of the University of CaliforniaUser interface for displaying document comparison information
US6862696May 3, 2001Mar 1, 2005CigitalSystem and method for software certification
US6931532Oct 21, 1999Aug 16, 2005International Business Machines CorporationSelective data encryption using style sheet processing
US6941459Oct 21, 1999Sep 6, 2005International Business Machines CorporationSelective data encryption using style sheet processing for decryption by a key recovery agent
US6954747Nov 14, 2000Oct 11, 2005Microsoft CorporationMethods for comparing versions of a program
US6961849Oct 21, 1999Nov 1, 2005International Business Machines CorporationSelective data encryption using style sheet processing for decryption by a group clerk
US6976170Oct 15, 2001Dec 13, 2005Method for detecting plagiarism
US6978367Oct 21, 1999Dec 20, 2005International Business Machines CorporationSelective data encryption using style sheet processing for decryption by a client proxy
US6981023Mar 8, 2000Dec 27, 2005Message routing
US6983371Nov 13, 2000Jan 3, 2006International Business Machines CorporationSuper-distribution of protected digital content
US7197156Sep 23, 1999Mar 27, 2007Digimarc CorporationMethod and apparatus for embedding auxiliary information within original data
US7254587Jan 12, 2004Aug 7, 2007International Business Machines CorporationMethod and apparatus for determining relative relevance between portions of large electronic documents
US7305701Apr 30, 2001Dec 4, 2007Microsoft CorporationMethods and arrangements for controlling access to resources based on authentication method
US20020065781Apr 27, 2001Licensed digital material distribution system and method
US20020138441Aug 3, 2001Technique for license management and online software license enforcement
US20020138477Oct 30, 2001Configurable software system and user interface for automatically storing computer files
US20020138764Jan 31, 2002System and method for an automatic license facility
US20020162030Apr 30, 2001Methods and arrangements for controlling access to resources based on authentication method
US20020188608Jun 12, 2001Automated license dependency resolution and license generation
US20020194010Jun 15, 2001System and related methods for managing and enforcing software licenses
US20030018891Jun 7, 2002Encrypted packet inspection
US20030074163Oct 12, 2001Method and system for automated integration of design analysis subprocesses
US20030079174Oct 18, 2001International Business Machines CorporationApparatus and method for source compression and comparison
US20030125975Nov 12, 2002Siemens AktiengesellschaftMethod for generating licenses
US20030126456Nov 12, 2002Siemens AktiengesellschaftMethod for licensing software
US20030159055Sep 28, 2001System and method for verifying integrity of system with multiple components
US20030163684Dec 16, 2002Method and system to securely distribute content via a network
US20030167236Mar 31, 2003CONTENTGUARD HOLDINGS, INC.Method and apparatus for repackaging portions of digital works as new digital works
US20030172035Mar 8, 2002Method and system for managing software licenses
US20040068734Oct 7, 2002Microsoft CorporationSoftware license isolation layer
US20040073789Oct 15, 2002Method for collaborative software licensing of electronically distributed computer programs
US20040162827Feb 18, 2004Nahava Inc.Method and apparatus for fundamental operations on token sequences: computing similarity, extracting term values, and searching efficiently
US20050015343Sep 11, 2003License management device, license management method, and computer program
US20050039034Jul 31, 2003International Business Machines CorporationSecurity containers for document components
US20050060643Aug 12, 2004MiaVia, Inc.DOCUMENT SIMILARITY DETECTION AND CLASSIFICATION SYSTEM
US20050065930Sep 12, 2003Navigating a software project repository
US20050114840Nov 25, 2003Software tool for detecting plagiarism in computer source code
US20050125358Dec 4, 2003Black Duck Software, Inc.Authenticating licenses for legally-protectable content based on license profiles and content identifiers
US20050125359Dec 4, 2003Black Duck Software, Inc.Resolving license dependencies for aggregations of legally-protectable content
US20050166094Nov 3, 2004Testing tool comprising an automated multidimensional traceability matrix for implementing and validating complex software systems
US20050216898Sep 13, 2004System for software source code comparison
US20050235342Jan 16, 2004Cryptography correctness detection methods and apparatuses
US20060015465Feb 25, 2005Apparatus, method and program for license information ascertainment
US20060031364Aug 20, 2005Message routing
US20060031686Jul 27, 2005Purdue Research FoundationMethod and system for tamperproofing software
US20060107070Oct 17, 2005Method and system for secure computational outsourcing and disguise
US20060122983Aug 18, 2005Locating electronic instances of documents based on rendered instances, document fragment digest generation, and digest based document fragment determination
US20060155975Nov 13, 2003Koninklijke Philips Electronics N.V.Method and apparatus for processing conditonal branch instructions
US20060195540May 10, 2006MESSAGE ROUTING WITH TELECOMMUNICATION NUMBER ADDRESSING AND KEY MANAGEMENT
US20070157311Dec 29, 2005Microsoft CorporationSecurity modeling and the application life cycle
US20070162890May 11, 2006Microsoft CorporationSECURITY ENGINEERING AND THE APPLICATION LIFE CYCLE
US20070299825Sep 20, 2005KODERS, INC.Source Code Search Engine
US20080215897Apr 14, 2008INTERNATIONAL BUSINESS MACHINES CORPORATIONSecurity Containers for Document Components
US20080304669Jun 11, 2007THE BOEING COMPANYRECIPIENT-SIGNED ENCRYPTION CERTIFICATES FOR A PUBLIC KEY INFRASTRUCTURE

Referenced by

Citing PatentFiling dateIssue dateOriginal AssigneeTitle
US7657866Apr 28, 2005Feb 2, 2010OpenLogic, Inc.Providing documentation for assembling, installing, and supporting of software stacks
US7661089Apr 28, 2005Feb 9, 2010OpenLogic, Inc.Tools for stacking uncoordinated software projects
US7665086Apr 28, 2005Feb 16, 2010OpenLogic, Inc.Software project filter
US7669199Apr 28, 2005Feb 23, 2010OpenLogic, Inc.Installation of software stacks including uncoordinated projects
US8091142Apr 26, 2005Jan 3, 2012Microsoft CorporationSupplementary trust model for software licensing/commercial digital distribution policy

Claims

1. A method comprising:

identifying, by a processor, a first license associated with a first protectable content;

associating, by a processor, a portion of a plurality of license attributes with the first license;

assigning, by a processor, 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, by a processor, at least one use value and at least one interaction value to a portion of the associated license attributes, the at least one use value representing a degree of distribution of the first protectable content and the at least one interaction value representing a degree of manipulation of the first protectable content;
comparing, by a processor, 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;
detecting, by a processor, whether an event occurred associated with the comparison, wherein the event is at least one of an incompatibility, an error, and a warning;
responsive to the comparison and the event detection, determining, by a processor, license attributes associated with a third protectable content, the third protectable content comprising a portion of the first protectable content and a portion of the second protectable content; and
storing in a computer readable memory the determined license attributes associated with the third protectable content;
wherein each processor is implemented in a digital data processing device.

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 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, by a processor, the first protectable content to identify the first license.

12. The method of claim 1, further comprising:

storing, by a processor, the restriction values, use values, and interaction values assigned to the at least some of the associated license attributes of the first license;

storing, by a processor, the corresponding attribute values associated with the second license;

based on the comparison of values, identifying, by a processor, values associated with the attributes associated with the third protectable content, the third protectable content being associated with a third license;

storing, by a processor, 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, by a processor, 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 protectable content, second protectable content, and third protectable content.

13. The method of claim 1, further comprising:

storing, by a processor, the restriction values, use values, and interaction values assigned to the at least some of the associated license attributes of the first license;

storing, by a processor, the corresponding attribute values associated with the second license;

based on the comparison of values, identifying, by a processor, values associated with the attributes associated with the third protectable content, the third protectable content being associated with a third license;

storing, by a processor, 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, by a processor, 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, by a processor, a plurality of license alternatives for the fourth protectable content.

15. The method of claim 14, further comprising:

selecting, by a processor, 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, by a processor, 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, by a processor, a plurality of license alternatives for the third protectable content.

19. The method of claim 18, further comprising:

selecting, by a processor, one of the plurality of license alternatives based on an operational environment associated with the third protectable content.

20. The method of claim 18, further comprising:

storing, by a processor, 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:

generating, by a processor, information associated with the detected event, 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, by a processor, the event information in a data structure.

28. The method of claim 1, further comprising assigning, by a processor, 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.