US20130066792A1 - System and method for managing licenses of aggregate documents - Google Patents
System and method for managing licenses of aggregate documents Download PDFInfo
- Publication number
- US20130066792A1 US20130066792A1 US13/232,283 US201113232283A US2013066792A1 US 20130066792 A1 US20130066792 A1 US 20130066792A1 US 201113232283 A US201113232283 A US 201113232283A US 2013066792 A1 US2013066792 A1 US 2013066792A1
- Authority
- US
- United States
- Prior art keywords
- document
- sub
- aggregate
- flag
- user
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 98
- 230000009471 action Effects 0.000 claims description 7
- 230000005540 biological transmission Effects 0.000 claims description 7
- 239000000470 constituent Substances 0.000 description 9
- 230000015654 memory Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 7
- 230000008569 process Effects 0.000 description 7
- 238000012545 processing Methods 0.000 description 6
- 230000007246 mechanism Effects 0.000 description 5
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000003213 activating effect Effects 0.000 description 2
- 230000006978 adaptation Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000003491 array Methods 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007274 generation of a signal involved in cell-cell signaling Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000035755 proliferation Effects 0.000 description 1
- 230000000644 propagated effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 230000014616 translation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
- G06Q50/18—Legal services; Handling legal documents
- G06Q50/184—Intellectual property management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/93—Document management systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
Definitions
- the present application relates to document management. More specifically, the present application is directed to a system and method of managing licenses for aggregate documents.
- the GNU project's General Public License was one of the first licenses to value freedom of use over an individual author's control.
- the GPL allows others to freely modify software written under the GPL and use the software as they like.
- GPL requires that, if such modified software is redistributed, the redistributed software must also be covered under the GPL. In effect, this license does not only grant freedom of use, it requires it.
- licenses that grant the ability to modify and redistribute the software, with terms that vary widely from the GPL.
- the Mozilla Public License requires that when software covered by the license is modified and redistributed, the redistributed software must include a file that contains a list of the modifications made to the software.
- the PHP license version 3 allows modification of the software, but places restrictions on the use of the name PHP in the redistribution of the software.
- copyleft licenses that apply to written work other than software.
- An example of a copyleft license is the Academic Free License, which permits translations, adaptations and even public performances of works created under it.
- a popular collection of licenses is held under the rubric of the Creative Commons, which classifies the licenses for the rights they grant to end users.
- the “no derivative works” license allows works to be freely copied but not altered in any way.
- the terms of licenses under the Creative Commons can be combined to meet the needs of almost any author.
- a method of managing licensing information associated with aggregate documents is disclosed.
- a selection of an aggregate document that includes at least one associated sub-document is received.
- Each of the at least one sub-document is associated with at least one copyright flag.
- a sub-document is selected from the at least one sub-document.
- a copyright flag is selected from the at least one copyright flag associated with the selected sub-document. It is determined whether the selected copyright flag is resolved.
- the selected sub-document is exported to an export document capable of being transmitted to a computing system associated with a user if it is determined that the selected copyright flag is resolved.
- a system to manage licensing information associated with an aggregate document includes an aggregate document search engine, sub-document selector, flag selector, license compliance engine, and export document generator.
- the aggregate document search engine is configured to receive a selection of an aggregate document that includes at least one associated sub-document. Each of the at least one sub-document is associated with at least one copyright flag.
- the sub-document selector is configured to select a sub-document from the at least one sub-document.
- the flag selector is configured to select a copyright flag from the at least one copyright flag associated with the selected sub-document.
- the license compliance engine is configured to determine whether the selected copyright flag is resolved.
- the export document generator is configured to export the selected sub-document to an export document capable of being transmitted to a computing system associated with a user if it is determined that the selected copyright flag is resolved.
- a method of building aggregate documents includes generating an aggregate document.
- a sub-document is associated to the generated aggregate document.
- At least one license term that applies to the associated sub-document is then discovered.
- At least one copyright flag for the at least one discovered license term is generated in association with the sub-document.
- a system to build aggregate documents includes an aggregate document generator, sub-document adder, sub-document license discoverer, and sub-document license flag generator.
- the aggregate document generator is configured to generate an aggregate document.
- the sub-document adder is configured to associate a sub-document to the generated aggregate document.
- the sub-document license discoverer is configured to discover at least one license term that applies to the associated sub-document.
- the sub-document license flag generator is configured to generate at least one copyright flag for the at least one discovered license term in association with the sub-document.
- a method of assessing license compliance of an aggregate document that includes at least one associated sub-document includes selecting a copyright flag associated with a sub-document of the at least one sub-document.
- the copyright flag is associated with licensing information for the sub-document.
- a determination is made as to whether the copyright flag is resolved.
- the selected sub-document is selectively exported to an export document for transmission to a computing system based on determination that the copyright flag is resolved.
- a system of assessing license compliance of an aggregate document that includes at least one associated sub-document includes a license compliance engine.
- the license compliance engine is configured to select a copyright flag associated with a sub-document of the at least one sub-document.
- the copyright flag is associated with licensing information for the sub-document.
- the license compliance engine is also configured to determine whether the copyright flag is resolved such that the sub-document can be selectively exported to an export document for transmission to a computing system based on determination that the copyright flag is resolved.
- FIG. 1 illustrates an example document management system that includes a document license system
- FIG. 2 illustrates an example graphical user interface for an generate aggregate document in the document license system of FIG. 1 ;
- FIG. 3 illustrates an example listing of copyright flags that can be associated with sub-documents of the aggregate document in the document license system of FIG. 1 ;
- FIG. 4 illustrates a flowchart of an example method of exporting an aggregate document in the document license system of FIG. 1 ;
- FIG. 5 is a block diagram of a general computer system that can perform any computer based functions or methods disclosed herein.
- a “copyright flag” or “flag” refers to a representation of a right or term associated with the use or license of a sub-document included in an aggregate document.
- an “author” refers to a creator of the sub-document, or a right holder of the copyright for the sub-document, or a representative (agent) of the creator or right holder.
- the creator or right holder of the sub-document is a person or entity.
- FIG. 1 illustrates an example document management system 100 that includes a document license system 122 .
- the document management system 100 includes a user administration/login system 108 and document license system 122 interconnected to a user computing system(s) 104 via a network 102 .
- the network 102 can be a wide area network, local area network, or any combination of one or more networks configured to interconnect the systems, databases and other components of FIG. 1 .
- One or more of the networks can be wired or wireless.
- the user computing system(s) 104 is configured to login into the document management system 100 over the network 102 to generate and/or access one or more aggregate documents.
- the user computing system 104 is further configured to export an aggregate document from the document license system 122 in a printable format for printing, e.g., a printable format such as PDF.
- the user computing system 104 can print the aggregate document via printer 106 .
- the printer 106 can be attached directly or via a network (e.g., LAN) to the user computing system 104 .
- the user computing system 104 can be operated by a user (e.g., human operator or an aggregator/publisher program) to access, generate and/or export aggregate documents via the document license system 122 of the document management system 100 .
- the user administration/login system 108 is configured to administer users in the document management system 100 and to enable users to login into the document management system 100 over the network 102 via user computing system(s) 104 .
- the user administration/login system 108 includes a user setup subsystem 110 , user authentication (login) subsystem 112 , and user login database 114 .
- the user setup subsystem 110 is configured to setup credentials for the user's access to the document management system 100 , such as via a username and password combination.
- a user ID for the username-password combination can be assigned to the user for identification purposes within the document license system 122 .
- Other credential mechanisms for authentication of the user can be used in addition or alternatively to the username and password combination.
- a system administrator or the user can setup a user's credentials for access to the document license system 122 .
- the authentication (login) subsystem 112 is configured to login the user into the document management system 100 , such as by authenticating the user via username and password.
- the username/password combinations and associated user IDs for users that are authorized to use the document management system 100 can be maintained in the user login database 114 as will be described hereinbelow.
- the user authentication subsystem 112 can authenticate a user's username and password received from the user computing system 104 against the username-password combinations in the user login database 114 . After the user is authenticated, the user via user computing system 104 can access the document license system 122 via the user's user ID associated with the user's username/password combination. Additional or alternative authentication methods and system components can be used to login the user to the document management system 100 .
- the user login database 114 maintains the username/password combinations 118 , 120 associated with associated user IDs 116 for users that have been authorized to the document management system 100 and given access to access the document license system 122 . Additional or alternative authentication information can be maintained by the user login database 114 for login to the document management system 100 and access the document license system 122 .
- the document license system 122 is configured to enable a user (e.g., human operator or electronic aggregator/publisher program) to generate an aggregate document having multiple sub-documents and to manage copyright license information for the aggregate document.
- the document license system 122 can expose or provide multiple application program interfaces (APIs) that can be invoked by the electronic aggregator/publisher programs via computing system(s) 104 to access, generate and/or export aggregate documents via the document license system 122 .
- the document license system 122 includes a builder subsystem 124 , export subsystem 142 , and can include databases 168 , 180 , 190 .
- the databases 168 , 180 , 190 can also be distributed and maintained by one or more other systems.
- the computing system 104 e.g., at or after login
- the locations or other information concerning the databases 168 , 180 , 190 can be known or be available for access to the document license system 122 .
- the builder subsystem 124 of the document license system 122 is configured to enable a user to manage one or more aggregate documents.
- the builder subsystem 124 includes an aggregate document generator 126 , aggregate document editor 128 , sub-document search engine 130 , sub-document adder 132 , sub-document remover 134 , sub-document editor 136 , sub-document copyright license discoverer 138 and sub-document license flag generator 140 .
- the aggregate document generator 126 is configured to enable a user to generate an aggregate document in the document license system 122 . More specifically, the aggregate document generator 126 can generate an aggregate document in the aggregate document database 168 . In one embodiment or aspect, a record 169 that is associated with (representing) the aggregate document via a unique document ID is generated in the aggregate document database 168 by the aggregate document generator 126 , as will be described in greater detail below with reference to the aggregate document database 168 .
- the aggregate document editor 128 is configured to enable the user to edit an aggregate document in the aggregate document database 168 .
- the aggregate document editor 128 can edit the connection (order) of sub-documents 174 that are part of the aggregate document's record 169 .
- the aggregate document editor 128 can also enable the user to provide/edit a title 178 and/or any other information that the user would like to be stored in the aggregate document's record 169 .
- the sub-document search engine 130 is configured to enable a user to conduct a search for sub-documents in the document repository 190 and to retrieve one or more sub-documents 189 for addition to the aggregate document in the aggregate document database 168 , e.g., the aggregate document's record 169 .
- the sub-document search engine 130 is configured to present one or more graphical user interfaces (not shown) to receive user search criteria and to display the retrieved sub-documents for user selection.
- a user can search for documents by sub-document ID 192 , text in the sub-document, name of sub-document, or any other mechanism to retrieve a desired sub-document maintained in the document database 144 .
- the sub-document's ID 192 can be added to the aggregate document's record 169 .
- the sub-document adder 132 is configured to add or associate at least one sub-document selected by the user to an aggregate document in the aggregate document database 168 , e.g., the aggregate document's record 169 .
- the user can select at least one sub-document 189 from the graphical user interface presented by the sub-document search engine 130 .
- the user can select at least one sub-document 189 by its sub-document ID 192 via another graphical user interface (not shown).
- its sub-document ID 192 is added to the aggregate document's record 169 in the aggregate document database 168 . More specifically, the sub-document ID 192 is associated aggregate document ID 170 in the aggregate document database 168 .
- the sub-document remover 134 is configured to remove at least one sub-document selected by the user from an aggregate document in the aggregate document database 168 , e.g., the aggregate document's record 169 .
- the sub-document remover 134 can present a graphical user interface (e.g., FIG. 2 ) with one or more sub-documents 189 of the document repository 190 that are associated with the aggregate document, e.g., aggregate document's record 169 .
- the user can then select one or more of the sub-documents to be removed from the aggregate document.
- the user can select at least one sub-document 189 by its sub-document ID 192 via another graphical user interface (not shown).
- its sub-document ID 192 is removed from the aggregate document's record 169 in the aggregate document database 168 .
- the sub-document editor 136 is configured to enable the user to edit a sub-document document in the document repository 190 .
- the sub-document editor 138 can edit sub-document 189 .
- a copy of the sub-document having a new sub-document ID 192 can be created and saved in the document repository 190 . Edits are then made to the new sub-document.
- the new sub-document ID is added to the license database 180 and original sub-document's flags 184 , values 186 and/or certifications 188 are updated to indicate a derivative version of the original sub-document.
- the original sub-document's ID in the aggregate document database 168 is updated to the new sub-document ID in the sub-document listing 174 .
- the sub-document copyright license discoverer 138 is configured to discover or determine license information associated with a sub-document 189 that is added to the aggregate document, e.g., aggregate document's record 169 .
- the sub-document copyright license discoverer 138 can scan the sub-document for copyright, license or use information associated with the sub-document.
- the sub-document license discoverer 138 can search the sub-document for the term “copyright” or terms such as “All rights reserved” that indicate the copyright, license or use of sub-document (e.g., the author's intent with regard to sharing the sub-document).
- the sub-document license discoverer 138 can also search for embedded HTML describing the location of a Creative Commons license, which can be retrieved in order to determine the specific terms of the copyright, license or use of the sub-document. If no license or use information is discovered, a default of “standard copyright” can be used. In alternative embodiment or aspects, another default copyright can be used.
- the sub-document license flag generator 140 is configured to generate one or more license flags from the determined copyright, license or use information associated with the sub-document added to the aggregate document. For example, if the terms require attribution of the original author, an “attribution” flag could be set. In a case where the author requires specific text in the attribution that text could also be associated with the attribution flag. In another example, for an author requiring payment for non-academic uses of a work, a flag “free academic” could be set and a flag “non-academic payment” specifying a price could also be set.
- the export subsystem 142 of the document license system 122 is configured to enable a user to export an aggregate document in accordance with license or use information associated with constituent sub-documents of the aggregate document.
- the export subsystem 142 includes an aggregate document search engine 144 , export document generator 146 , sub-document adder 148 and license compliance engine 150 .
- the aggregate document search engine 144 is configured to enable a user to conduct a search for aggregate documents in the aggregate document database 168 and to retrieve an aggregate document (e.g., the aggregate document's record 169 ) for export to the user computing system 104 and/or printing via associated printer 106 .
- the aggregate document search engine 144 can present one or more graphical user interfaces (not shown) to receive user search criteria and to display the retrieved aggregate documents for user selection.
- the aggregate document search engine 144 can further receive a selection of an aggregate document to export.
- a user can search for aggregate documents by aggregate document ID 170 , user ID 172 , sub-document(s) associated with the aggregate document 174 , other aggregate documents 176 of which a particular aggregate document 169 is a constituent document, text in the aggregate document 169 (e.g., title 178 ), or any other mechanism to retrieve a desired aggregate document maintained in the aggregate document database 168 .
- the export document generator 146 is configured to enable a user to generate an export document 196 from a selected aggregate document (e.g., aggregate document 169 ) in accordance with licensing/use information associated with constituent documents of the aggregate document, (e.g., sub-document 189 ).
- the export document 196 can be transmitted or distributed from the export subsystem 142 of the document license system 122 to the computing system 104 (export document 196 is shown in dotted lines as export document 198 received by user computing system 104 ) for viewing and/or printing via printer 106 .
- the export document generator 146 invokes (executes) the license compliance engine 150 to determine one or more of the constituent documents of the selected aggregate document to be exported (added) to the export document 196 .
- the sub-document adder 148 is configured to add one or more sub-documents (e.g., content)—that comply with the licensing/use information determined by the license compliance engine 150 —to the export document 196 generated by the export document generator 146 .
- sub-documents e.g., content
- the license compliance engine 150 of the export subsystem 142 is configured to determine whether the sub-documents of an aggregate document selected for export comply with associated licensing/use information, and further configured to resolve potential non-compliance of the sub-documents such that the sub-documents can be exported (added) to the export document 196 .
- Resolution of potential non-compliance can include the addition of information required for the export of the sub-document to the export document (e.g., addition of attribution, license or watermark information to the export document). Resolution can also involve sending a notification of use of the sub-document to a certain electronic address for the author or owner of the sub-document. Further, resolution of potential non-compliance can include collection of additional information, payment or certification from the user. Moreover, resolution can involve obtaining the permission of the author associated with the sub-document to be exported. Additional or alternative compliance resolution as envisioned can be applied in the document license system 122 .
- the license compliance engine 150 includes an iterator 151 , a non-standard copyright compliance module 155 and a standard copyright compliance module 163 .
- the iterator 151 is configured to iterate over sub-documents 174 associated with a selected aggregate document 170 (e.g., aggregate document 169 ) to be processed for license compliance from the aggregate document database 168 .
- the iterator 151 is further configured to iterate over one or more flags 184 associated with each of the sub-documents 174 (e.g., associated with sub-document 169 ) in the license database 180 .
- the iterator 151 includes a sub-document selector 152 and flag selector 154 .
- the sub-document selector 152 is configured to iteratively select a sub-document (e.g., from one or more sub-documents 174 ) associated with the aggregate document (e.g., aggregate document 169 ) to be processed for license compliance from the aggregate document database 168 .
- the flag selector 154 is configured for each of the sub-documents 174 associated with the aggregate document 169 selected by the sub-document selector 152 to iteratively access or select a flag (e.g., from one or more flags 184 ), as well as related flag values 186 and/or certificates 188 that are associated with the selected sub-document (e.g., sub-document 179 ) from the license database 180 .
- the flag selector 154 can determine whether the accessed or selected flag should be processed by the non-standard copyright compliance module 155 or the standard copyright compliance module 163 .
- the selected sub-document (as well as any additional information that is associated with any matched flags) will not added to the export document by the license compliance engine 150 and the iteration of the flags for the selected sub-document 174 is terminated.
- the non-standard copyright compliance module 155 is configured to determine whether a selected flag (e.g., flag 184 ) represents a non-standard copyright use associated with the selected sub-document 182 (e.g., sub-document 169 ) in the license database 180 and to perform one or more operations to resolve the selected flag. In certain instances as described below resolution is possible while in other instances the flag will not be resolved.
- the non-standard copyright compliance module 155 includes an automatic flag resolver 156 , additional information receiver 158 , payment receiver 160 and requirement certificator 162 .
- the automatic flag resolver 156 is configured to determine whether automatic resolution of the selected flag 184 is possible, and further configured to perform an action(s) that fulfill the selected flag if automatic resolution is possible.
- the selected flag can indicate that information, such as attribution, license, watermark, or other information, is to be added to the export document 196 .
- the automatic flag resolver 156 can determine whether the indicated information is available in flag value 186 related to the selected flag 184 . If so, the license compliance engine 150 can add this information to the export document 196 to automatically resolve the selected flag 184 , once the other flags associated with the selected sub-document 174 have been successfully processed.
- the automatic flag resolver 156 can send notification of use to a specified electronic address, e.g., for the author or owner of the sub-document 174 . Similarly, this notification can be sent once the other flags associated with the selected sub-document 174 have been successfully processed.
- the additional information receiver 158 is configured to determine whether additional information from the user is required for the selected flag 184 , prompt for (e.g., via user computing device 104 ) and determine whether such additional information has been in fact received from the user.
- the selected flag 184 can require a version of the work or whether the work is derivative work.
- the automatic flag resolver 156 can prompt the user via user computing device 104 for the required additional information (e.g., version).
- the license compliance engine 150 can in some embodiments add this information to the export document 196 or in other embodiments can store this information as value 186 in association with flag 182 for the selected sub-document 174 , once the other flags associated with the selected sub-document have been successfully processed.
- the additional information receiver 158 can initially perform a check of value 186 that is associated with the flag 184 for a previously stored version and prompt the user to confirm this version.
- the payment receiver 160 is configured to determine whether payment is required to export/use the sub-document 174 , to prompt the user for payment (e.g., dollar amount in accordance with value 186 ) associated with the selected flag 184 , and further to determine whether such required payment has been in fact received from the user, such as via user computing system 104 .
- the selected flag 184 can require payment of a certain dollar amount in value 186 for exporting the sub-document 174 .
- Such payment can be for the sub-document or for each page of the sub-document if there are multiple pages in the sub-document 174 .
- the requirement certificator 162 is configured to determine whether a requirement certification is required to export/use the sub-document 174 , to prompt the user for the requirement certification (e.g., in a cases where the author has given non-electronic written permission to use a document, the user could certify that permission has been granted) associated with the selected flag 184 , and further to determine whether requirement certification has been in fact received from the user, such as via user computing system 104 .
- the selected flag 184 can indicate a requirement certification, such as permission from the author or non-academic use, to facilitate exporting of the sub-document 174 to the export document 196 .
- the requirement certificator 162 can determine whether a requirement certification is required to export/use the sub-document 174 , prompt the user for the requirement certification (e.g., the document will only be used for academic purposes) associated with the selected flag 184 , and further determine whether requirement certification has been in fact received from the user, such as via user computing system 104 .
- the selected flag 184 can indicate a requirement certification, such as the document will only be used for academic purposes, to facilitate exporting of the sub-document 174 to the export document 196 .
- the requirement certification can be stored in the certifications 188 associated with the flag 184 in the license database 180 .
- the standard copyright compliance module 163 is configured to determine whether a selected flag (e.g., flag 184 ) represents standard copyright use associated with the selected sub-document 182 (e.g., sub-document 169 ) in the license database 180 and to perform one or more operation to resolve the selected flag. In certain instances as described below resolution is possible while in other instances the flag will not be resolved.
- the standard copyright compliance module 163 includes a permission locator 164 and user certificator 166 .
- the author permission locator 164 is configured to determine whether author (or owner) permission that is required to export/use the sub-document 174 is recorded for the sub-document 174 .
- author permission is recorded, such as in value 186 for the flag 184 in the license database 180
- the author permission locator 164 is configured to provide an indication that the selected sub-document complies with the required license to be added to the aggregate document 196 .
- the author permission locator 164 is further configured to request author (or owner) permission (e.g., via electronic mail from author computing system 194 ), and to determine whether the requested permission has been received from the author.
- request for author permission can be automatic if the electronic address is recorded or available.
- the electronic address for the automatic request can be stored in the license database 180 (e.g., in value 186 for the flag 184 ).
- the author permission locator 164 is configured to request the electronic address for the author (or owner) from the user using one or more graphical user interfaces presented via the user computing system 104 , and further configured to determine whether such electronic address has in fact been received from the user.
- the user certificator 166 is configured to determine whether user certification of author permission is required to export/use the sub-document 174 , to prompt the user for the user certification (e.g., request that a scanned copy of the author's written permission be provided or that the user provide an affidavit of having received such permission) associated with the selected flag 184 , and further to determine whether user certification has been in fact received from the user, such as via user computing system 104 .
- the selected flag 184 can require user certification of author permission through a graphical user interface via user computing device 104 to facilitate exporting of the sub-document 174 to the export document 196 .
- the user certificator 166 is further configured to determine whether user certification is received.
- the license compliance engine 142 can then instruct the sub-document adder 148 to add the selected sub-document 174 to the export document 196 .
- the aggregate document database 168 is configured to maintain one or more aggregate documents (e.g., records representing the aggregate documents), such as an example aggregate document 169 .
- the aggregate documents can be identified by document IDs 170 .
- the aggregate document database 168 further maintains associations 171 (e.g., associations 172 - 178 ) related to aggregate documents (document IDs 170 ) such as the example aggregate document 169 .
- the associations 171 for the example aggregate document 169 can be maintained in one or more tables of the aggregate document database 168 and can include user ID 172 (or the owner) associated with the aggregate document 169 as provided by the user administration login system 108 , a listing of one or more sub-documents 174 associated with the example aggregate document 169 , a listing of one or more other aggregate documents 176 of which the example aggregate document 169 is considered to be a sub-document, and a title 178 associated with the example aggregate document 169 .
- the license database 180 is configured to maintain one or more sub-documents (e.g., records representing the sub-documents) that are constituents of the aggregate documents in the aggregate document database 168 , such as an example sub-document 179 that can be a constituent of the aggregate document 169 , as listed in the sub-document listing 174 for the aggregate document 169 .
- the sub-document database 180 further maintains associations 181 (e.g., associations 182 - 188 ) related to sub-documents (sub-document IDs 182 ), such as the example sub-document 179 .
- the associations 181 for the example sub-document 179 can be maintained in one or more tables of the sub-document database 180 and can include a listing of one or more flags (e.g., flag IDs) 184 associated with the example copyright license/use term for the sub-document 179 , one or more values each associated with one of the flags, and at least one requirement certification 188 associated with one of the flags.
- flag IDs e.g., flag IDs
- the document repository 190 is configured to maintain sub-documents represented or identified by their sub-document IDs 192 .
- the document repository can maintain actual sub-document content files, e.g., sub-document content file 189 that is identified by sub-document IDS 192 .
- the author computing system 194 is associated with an author (or owner) of at least one sub-document maintained in the document repository 190 , such as sub-document 189 .
- the author computing system 194 is configured to receive one or more requests (e.g., via electronic email) from the document license system 122 for the author's permission for export/use of the author's sub-document.
- the author computing system 194 is further configured to respond to such requests via one or more responses (e.g., via electronic email), automatically or to enable the author (or owner) to respond manually.
- the responses can be transmitted by the author computing system 194 to the document license system 122 .
- an email client device (not shown) can be associated with (or incorporated in) the author computing system 194 and configured to receive and transmit electronic mail concerning author permission for export/use of the author's one or more sub-documents.
- the document license system 122 enables the user via user computing system 104 to generate an aggregate document having multiple sub-documents and to export that or another aggregate document to an export document 196 in accordance with copyright license/use information associated with the sub-documents of the aggregate document.
- the export document 196 can be transmitted from the document license system 122 to the user computing system 104 , as indicated by export document 198 , for viewing and printing, such as via printer 106 . In one embodiment, transmission can be accomplished via email.
- Alternate transmission mechanisms can be used, such as direct download to the user computing system 104 via file transfer protocol (FTP) or storage in a centralized file repository (not shown) that the user can access (e.g., via FTP) and communicated to the user via an email.
- FTP file transfer protocol
- the document can be in one of many formats, such as PDF, TIFF, JPG or another format.
- FIG. 2 illustrates an example graphical user interface 200 for generating and exporting an aggregate document via the document license system 122 of FIG. 1 .
- the example graphical user interface 200 includes an aggregate document toolbar 202 , sub-document toolbar 212 and interface region 230 .
- the aggregate document toolbar 202 includes an aggregate document generation tool 204 , aggregate document editing tool 206 , aggregate document search tool 208 and aggregate document export tool 210 , which are described in greater detail below.
- the tools 204 - 210 can be invoked by the user via the user computing system 104 , e.g., clicking on a tool via a mouse or selecting/activating the tool via a keyboard.
- the aggregate document generation tool 204 is configured to generate an aggregate document 222 that can be displayed and configured in the interface region 230 .
- the aggregate document generation tool 204 can invoke or execute the aggregate document generator 126 of the builder system 124 in the document license system 122 to generate a new aggregate document 222 , e.g., aggregate document 169 in the aggregate document database 168 as illustrated in FIG. 1 .
- the aggregate document generator 126 creates a record for the aggregate document 222 —identified by doc ID 170 and associated with associations 171 (e.g., associations 172 - 178 )—in the aggregate document database 168 .
- the aggregate document editor tool 206 is configured to enable editing of the aggregate document, such as the addition/deletion of sub-documents 224 , 226 , 228 and their relationships, creating/editing a title 223 for the aggregate document 222 , as well as editing of textual or graphical information in the document aggregate document 222 .
- the aggregate document editor tool 206 can invoke or execute the aggregate document editor 128 of the builder system 124 in the document license system 122 . It is noted that the sub-documents 224 - 228 are maintained in the document repository 190 .
- Addition or deletion of sub-documents can involve adding/deleting references to the sub-documents of the document repository (e.g., uniform resource locator for web page(s), file names/paths for files or other identification for the sub-documents 224 - 228 ).
- simple relationships between constituent sub-documents can be indicated by their ordering in the sub-document listing 174 of the aggregate document database 168 .
- other more sophisticated relationships can be provided, such as how the sub-documents are to be displayed or integrated in relation to each other within the aggregate document 222 .
- Such relationships can be maintained as metadata (not shown) in the aggregate document database 168 .
- the title of the aggregate document 223 can be provided by the user and further can be stored as title 178 in the aggregate document database 168 .
- the aggregate document search tool 208 is configured to conduct a search for aggregate documents and to retrieve an aggregate document (e.g., aggregate document 222 ) for editing and or exporting in the interface 230 .
- the aggregate document search tool 208 can invoke or execute the aggregate document search engine 144 of the export subsystem 142 in the document license system 122 .
- a user can conduct a search for aggregate documents in the aggregate document database 168 and to retrieve an aggregate document 222 for export to the user computing system 104 and/or printing via associated printer 106 .
- One or more graphical user interfaces can be presented to receive user search criteria (e.g., doc ID 170 , user ID 172 , sub-doc ID 174 , aggregate doc ID 176 , title 178 and/or other criteria) and to display the retrieved aggregate documents for user selection.
- user search criteria e.g., doc ID 170 , user ID 172 , sub-doc ID 174 , aggregate doc ID 176 , title 178 and/or other criteria
- user selection of an aggregate document e.g., aggregate document 222
- the selected aggregate document is loaded into the interface region 230 in accordance with associations 171 as well as any available relationship metadata for the constituent sub-documents (e.g., sub-documents 224 - 228 ).
- the aggregate document export tool 210 is configured to export the aggregate document 222 to an export document that can be transmitted to the user computing system 104 in accordance with licensing/use information associated with constituent sub-documents 224 - 228 of the aggregate document 222 .
- the aggregate document export tool 210 can invoke or execute the export document generator 146 of the export subsystem 142 in the document license system 122 of FIG. 1 .
- an export document 196 of FIG. 1 can be generated from the aggregate document 222 of FIG. 2 and can be transmitted or distributed to the computing system 104 .
- the export document 196 can be transmitted to the user computing system 104 —shown export document 198 —for viewing and/or printing via printer 106 .
- the sub-document toolbar 212 includes a sub-document search tool 214 , sub-document addition tool 216 , sub-document removal tool 218 and sub-document editing tool 220 .
- the various tools 214 - 220 can be invoked by the user via the user computing system 104 , e.g., clicking on a tool via a mouse or selecting/activating the tool via a keyboard.
- the sub-document search tool 214 is configured to conduct a search for sub-documents and to retrieve one or more sub-documents 224 - 228 for addition to the aggregate document 222 in the in the interface 230 .
- the sub-document search tool 214 can invoke or execute the sub-document search engine 130 of the builder subsystem 124 in the document license system 122 .
- a user can conduct a search for sub-documents in the document repository 190 and to retrieve one or more sub-documents 189 for addition to the aggregate document in the aggregate document database 168 , e.g., the aggregate document's record 222 .
- One or more graphical user interfaces can be presented to receive user search criteria and to display the retrieved sub-documents for user selection.
- a user can search for sub-documents by sub-document ID 192 , text in the sub-document, name of sub-document, or any other mechanism to retrieve one or more desired sub-documents maintained in the document database 144 .
- the sub-document addition tool 216 is configured to add at least one sub-document selected by the user to the example aggregate document 222 in the aggregate document database 168 . More specifically, the sub-document's ID 192 can be added to the aggregate document's record (e.g., added to sub-document ID 174 ) in the aggregate document database 168 . The user can thereafter configure via interface 230 the relationship of the added sub-document to the sub-documents that already part of the example aggregate document 222 .
- the sub-document addition tool 216 can invoke or execute the sub-document search added 132 , and can further invoke or execute the sub-document license disocoverer 138 and sub-document license flag generator 140 of the builder subsystem 124 in the document license system 122 .
- a search of the license database 180 can be performed to determine whether records associated with the one or more of the documents 224 - 228 exist. If not, the sub-document license discoverer 138 can be invoked or executed to discover license information associated with sub-documents 224 - 228 , such as by scanning the documents 192 of the document repository 190 .
- the sub-document license flag generator 140 can be invoked or executed to then generate one or more license terms (flags) and any associated values of the flags from the copyright, license or use information associated with the sub-documents. This associated license information is stored in connection with the sub-documents in the license database 180 .
- the sub-document removal tool 218 is configured to remove at least one selected sub-document from an aggregate document 222 .
- the sub-document removal tool 214 can invoke or execute the sub-document remover 134 of the builder subsystem 124 in the document license system 122 .
- a user can remove at least one sub-document 224 , 226 or 228 from an aggregate document 222 . Removal of a sub-document entails removal of the sub-document's ID 182 from the listing of the sub-documents 174 in the aggregate document database 168 .
- the sub-document editing tool 220 is configured to edit a sub-document document in the document repository 190 .
- the sub-document editing tool 220 can invoke or execute the sub-document editor 136 of the builder subsystem 124 in the document license system 122 .
- a user can edit a sub-document document in the document repository 190 .
- the sub-document editor 138 can edit sub-document 189 .
- the sub-document editor 138 can determine whether the sub-document can be edited by determining whether there is a flag in the license database 180 for the sub-document that allows derivative works to be created.
- the sub-document editor 136 can copy the sub-document to be edited into a new sub-document having a sub-document ID 192 in the document repository 190 . Edits can then be made to the newly created sub-document.
- the new sub-document ID is added to the license database 180 and the original sub-document's flags 184 , values 186 and/or certifications 188 are updated to indicate creation of a derivative version of the original sub-document.
- the original sub-document's ID in the aggregate document database 168 is updated to reflect the new sub-document ID in the sub-document listing 174 .
- FIG. 3 illustrates an example listing 300 of copyright flags 302 that can be associated with sub-documents of the aggregate document in the document license system of FIG. 1 .
- Copyright flags can be text-based as shown in the example listing 300 or can be indicated by other representations associated with these flags, e.g., numbers letters, or other programmatic representations.
- an example “standard copyright” flag can be generated, which would require author permission to use the sub-document as part of the aggregate document.
- a value 186 that is associated with the flag may be set to one (1) to indicate that standard copyright applies.
- the standard copyright flag can be set to zero (0), indicating that standard copyright does not apply.
- An “attribution” flag can be used to allow a derivative work if an exact license is applied as with respect to the original.
- the value for the attribution flag can include the text of the attribution.
- Other flags may have no values, such as the “share alike”, “non-commercial”, “no derivatives”, “free academic” and other such flags.
- a “payment terms” flag can be associated with a value of the payment for use of the sub-document. The terms can indicate a price and whether the price is per document or per page of the document (if there are multiple pages). Other copyright flags can be used in addition to or instead of the flags shown in FIG. 3 .
- FIG. 4 illustrates a flowchart of an example method 400 of exporting an aggregate document in the document license system of FIG. 1 .
- the example method 200 starts at operation 402 .
- a selection of an aggregate document to export is received.
- the user can select the aggregate document export tool 210 to export example document 222 , as illustrated in FIG. 2 .
- An export document is generated by the export subsystem 142 , such as export document 196 in FIG. 1 .
- a determination is made as to whether the selected aggregate document 222 includes sub-documents.
- the sub-document selector 152 can determine that the aggregate document 222 include sub-documents 224 - 228 by accessing the sub-documents listing 174 associated with the example aggregate document 222 in the aggregate document database 168 .
- the method continues at operation 410 where a first sub-document is selected.
- the selection can be performed by the sub-document selector 152 of the iterator 151 in the export subsystem 142 of FIG. 1 .
- the selected aggregate document is the only one that is selected. In this case, the aggregate document does not contain any sub-documents. Thereafter, the method 400 continues at operation 412 .
- a copyright flag is selected for the (selected sub-document or aggregate document).
- Flag selection can be performed by the flag selector 154 of the iterator 151 in the export subsystem 142 of FIG. 1 .
- a flag 184 can be selected for the aggregate document 182 from the license database 180 .
- the flag selector 154 can determine whether the flag should be processed by the non-standard copyright compliance module 155 or the standard copyright compliance module 163 . If it is determined that standard copyright does not apply, the method 400 continues at operation 416 . Alternatively, if standard copyright does apply, the method continues at operation 440 .
- the selected sub-document is not added to the export document 196 in relation to the selected flag. Thereafter, the method continues at operation 460 to process additional flags, if any. Operations 416 - 420 can be performed by the automatic flag resolver 156 of the non-standard copyright compliance module 155 in the export subsystem 142 illustrated in FIG. 1 .
- the method 400 continues at operation 440 where a determination is made as to whether author permission for the selected sub-document is recorded. If it is determined that the author permission is recorded at operation 440 , the method 400 continues at operation 458 to add the sub-document to the aggregate document, e.g., aggregate document 196 . It can be considered that the standard copyright flag, which is associated with recorded author permission, is automatically resolved. If it is determined that the author permission is not recorded at operation 440 , the method 400 continues at operation 442 , where a determination is made as to whether contact information for the author is recorded or is to be requested from the user.
- the contact information for the author is requested from the user. If it is determined that the contact information was received at operation 446 , the method 400 continues at operation 448 as will be described below. If it is determined that the contact information was not received at operation 446 , the method 400 continues operation 460 to process additional flags, if any.
- operation 448 author permission is requested using contact information that was recorded or received. If it is determined that the contact information was received at 450 , the method 400 continues operation 458 to add the sub-document to the aggregate document, e.g., aggregate document 196 . If it is determined that the contact information was not received at operation 450 , the method 400 continues operation 460 to process additional flags, if any.
- Operations 440 - 450 can be performed by the permission locator 164 of the standard copyright compliance module 163 in the export subsystem 142 illustrated in FIG. 1 .
- the selected sub-document is added to the export document 196 . If the selected sub-document was previously added to (or removed from) the export document 196 in relation to another selected flag, the same sub-document is not added to the export document 196 again.
- the selected sub-document is added previously to the export document 196 in relation to another selected flag, the selected sub-document is removed from the export document 196 . Furthermore, a determination is made as to whether there are additional flags for the selected subdocument. If so, the method 400 continues at operation 412 and operations 412 - 460 are performed for the next flag. The flag iterator 154 can perform operation 460 . If there are no additional flags for the selected document, the method 400 continues at operation 462 .
- the removal (or non-inclusion) of the selected sub-document with respect to the export document 196 in connection with the non-fulfillment of the selected copyright flag does not remove the selected sub-document from the aggregate document in the aggregate document database 168 .
- an indication that a conflict exists with respect to the selected flag can be added for the selected sub-document in the license database 180 . Conflicts can sometimes be fixed at a later time, allowing the selected sub-document to be included in a future export document 196 .
- a place holder for the removed (or non-included) selected sub-document can be generated in or added to the export document 196 , indicating the removed (or non-included) selected sub-document and possibly even why it was removed.
- the user when generating an export document 196 that is intended to be reviewed before final publication, the user might specify a banner page for each removed selected sub-document, including the title, author, original source (e.g., URL), as well as the reason(s) requiring its removal.
- the sub-document selector 152 of the iterator 154 can perform operation 462 .
- FIG. 5 is a block diagram of a general computer system 500 .
- the computer system 500 may include a set of instructions that may be executed to cause the computer system 500 to perform any one or more of the computer based functions or methods disclosed herein.
- the computer system 500 or any portion thereof, may operate as a standalone device or may be connected, e.g., using a network, to other computer systems, databases and peripheral devices.
- the computer system 500 can, for example, be the user computing system 104 , the user administration login system 108 and/or the document license system 122 .
- the computer system 500 may operate in the capacity of a document management system (or portion thereof) as illustrated in FIG. 1 , for example.
- the computer system 500 may also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a control system, a scanner, a facsimile machine, a printer, a personal trusted device, a web appliance, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
- the term “system” shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions as described herein.
- the computer system 500 may include a processor 502 , e.g., a central processing unit (CPU), a graphics-processing unit (GPU), or both. Moreover, the computer system 500 may include a main memory 504 and a static memory 506 that may communicate with each other via a bus 526 . As shown, the computer system 500 may further include a video display unit 5910 , such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a projection unit, a television, a flat panel display, a solid state display, or a cathode ray tube (CRT).
- LCD liquid crystal display
- OLED organic light emitting diode
- CTR cathode ray tube
- the computer system 500 may include an input device 512 , such as a keyboard, and a cursor control device 514 , such as a mouse.
- the computer system 500 may also include a disk drive unit 516 , a signal generation device 522 , such as a speaker or remote control, and a network interface device 508 .
- the disk drive unit 516 may include a computer-readable medium 518 in which one or more sets of instructions 520 , e.g., software, may be embedded. Further, the instructions 520 may embody one or more of the methods or logic as described herein. In a particular embodiment, the instructions 520 may reside completely, or at least partially, within the main memory 504 , the static memory 506 , and/or within the processor 502 during execution by the computer system 500 . The main memory 504 and the processor 502 also may include computer-readable media.
- dedicated hardware implementations such as application specific integrated circuits, programmable logic arrays and other hardware devices, may be constructed to implement one or more of the methods described herein.
- Applications that may include the apparatus and systems of various embodiments may broadly include a variety of electronic and computer systems.
- One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that may be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations.
- the methods described herein may be implemented by software programs tangibly embodied in a processor-readable medium and may be executed by a processor. Further, in an exemplary, non-limited embodiment, implementations may include distributed processing, component/object distributed processing, and parallel processing. Alternatively, virtual computer system processing may be constructed to implement one or more of the methods or functionality as described herein.
- the present application contemplates a computer-readable medium that includes instructions 520 or receives and executes instructions 520 responsive to a propagated signal, so that a device connected to a network 524 may communicate voice, video or data over the network 524 . Further, the instructions 520 may be transmitted or received over the network 524 via the network interface device 508 .
- While the computer-readable medium is shown to be a single medium, the term “computer-readable medium” includes a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions.
- the term “computer-readable medium” shall also include any medium that is capable of storing or encoding a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations disclosed herein.
- the computer-readable medium may include a solid-state memory such as a memory card or other package that houses one or more non-volatile read-only memories. Further, the computer-readable medium may be a random access memory or other volatile re-writable memory. Additionally, the computer-readable medium may include a magneto-optical or optical medium, such as a disk or tapes or other storage device to capture signals such as those communicated over a transmission medium.
- a digital file attachment to an e-mail or other self-contained information archive or set of archives may be considered a medium that is equivalent to a tangible storage medium. Accordingly, the application is considered to include any one or more of a computer-readable medium and other equivalents and successor media, in which data or instructions may be stored.
Abstract
There is provided a method and system to manage licensing information associated with an aggregate document. In accordance with the method, a selection of an aggregate document that includes at least one associated sub-document is received. Each of the at least one sub-document is associated with at least one copyright flag. A sub-document is selected from the at least one sub-document. A copyright flag is selected from the at least one copyright flag associated with the selected sub-document. It is determined whether the selected copyright flag is resolved. The selected sub-document is exported to an export document capable of being transmitted to a computing system associated with a user if it is determined that the selected copyright flag is resolved.
Description
- 1. Field
- The present application relates to document management. More specifically, the present application is directed to a system and method of managing licenses for aggregate documents.
- 2. Brief Discussion of Related Art
- Traditional copyright restricts the use of copyrighted works, such as software. However, copyright owners have always been able to give permission to use their works on a case-by-case basis, usually in return for payment. There has also been a long tradition of some copyright owners allowing their works to be used for academic purposes for reduced payment or even for free. Accordingly, the right of copyright owners to agree to certain uses (or licenses) of their works is well established.
- The “open source” movement, which draws on talents of volunteers to develop software that can be shared by all, pioneered the creation of sharing licenses that go beyond standard copyright in what others are allowed to do with the software. These licenses, originating as they do from owners of the work, supersede the copyright for the work by specifying conditions under which the software can be used by others.
- The GNU project's General Public License (GPL) was one of the first licenses to value freedom of use over an individual author's control. The GPL allows others to freely modify software written under the GPL and use the software as they like. However, GPL requires that, if such modified software is redistributed, the redistributed software must also be covered under the GPL. In effect, this license does not only grant freedom of use, it requires it.
- There are many variants of licenses that grant the ability to modify and redistribute the software, with terms that vary widely from the GPL. For example, the Mozilla Public License requires that when software covered by the license is modified and redistributed, the redistributed software must include a file that contains a list of the modifications made to the software. As another example, the PHP license (version 3) allows modification of the software, but places restrictions on the use of the name PHP in the redistribution of the software.
- There are also a number of licenses that apply to written work other than software. The so-called “copyleft” licenses that typically allow or restrict the creation of derivative works from the original work, require that the original author be given credit, and specify whether the granted rights apply to commercial, non-commercial, academic or any uses. An example of a copyleft license is the Academic Free License, which permits translations, adaptations and even public performances of works created under it.
- A popular collection of licenses is held under the rubric of the Creative Commons, which classifies the licenses for the rights they grant to end users. For example, the “no derivative works” license allows works to be freely copied but not altered in any way. The terms of licenses under the Creative Commons can be combined to meet the needs of almost any author.
- Though there are variations of open sharing licenses, most works are still published without explicit licenses. In these cases, standard copyright applies by default.
- With the advent and proliferation of the Internet, various documents—such as web pages from different sources—can be combined into a single printable (aggregate) document. Meanwhile, the “open source” and “copyleft” movements have spawned a wide variety of ways in which copyright terms are modified by author-specified licensing terms that make re-use of documents possible outside the normal boundaries of copyright. However, these licensing terms often require specific forms of attribution or restrict copying to certain types of uses, such as to academic or non-commercial uses.
- Accordingly, when documents (e.g., web pages) or other materials from different sources are combined into an aggregate document, as is increasingly the case, there are important concerns about copyright and licensing issues. Specifically, there may be many different sets of usage requirements that must be obeyed or at least reported. Sometimes, terms of different licenses may not even be compatible, in which case the document must be changed somehow to remove the conflict. The terms of different licenses represents a management problem, which untrained end users cannot be expected to understand or deal with manually and which presents a substantial burden for the end users. Moreover, violation of copyright or even of open license terms can result in expensive legal actions and significant penalties.
- In accordance with an embodiment, a method of managing licensing information associated with aggregate documents is disclosed. In accordance with the method, a selection of an aggregate document that includes at least one associated sub-document is received. Each of the at least one sub-document is associated with at least one copyright flag. A sub-document is selected from the at least one sub-document. A copyright flag is selected from the at least one copyright flag associated with the selected sub-document. It is determined whether the selected copyright flag is resolved. The selected sub-document is exported to an export document capable of being transmitted to a computing system associated with a user if it is determined that the selected copyright flag is resolved.
- In accordance with another embodiment, a system to manage licensing information associated with an aggregate document is disclosed. The system includes an aggregate document search engine, sub-document selector, flag selector, license compliance engine, and export document generator. The aggregate document search engine is configured to receive a selection of an aggregate document that includes at least one associated sub-document. Each of the at least one sub-document is associated with at least one copyright flag. The sub-document selector is configured to select a sub-document from the at least one sub-document. The flag selector is configured to select a copyright flag from the at least one copyright flag associated with the selected sub-document. The license compliance engine is configured to determine whether the selected copyright flag is resolved. The export document generator is configured to export the selected sub-document to an export document capable of being transmitted to a computing system associated with a user if it is determined that the selected copyright flag is resolved.
- In accordance with further embodiment, a method of building aggregate documents is provided. The method includes generating an aggregate document. A sub-document is associated to the generated aggregate document. At least one license term that applies to the associated sub-document is then discovered. Thereafter, at least one copyright flag for the at least one discovered license term is generated in association with the sub-document.
- In accordance with still another embodiment, a system to build aggregate documents is provided. The system includes an aggregate document generator, sub-document adder, sub-document license discoverer, and sub-document license flag generator. The aggregate document generator is configured to generate an aggregate document. The sub-document adder is configured to associate a sub-document to the generated aggregate document. The sub-document license discoverer is configured to discover at least one license term that applies to the associated sub-document. The sub-document license flag generator is configured to generate at least one copyright flag for the at least one discovered license term in association with the sub-document.
- In accordance with an embodiment, a method of assessing license compliance of an aggregate document that includes at least one associated sub-document is provided. The method includes selecting a copyright flag associated with a sub-document of the at least one sub-document. The copyright flag is associated with licensing information for the sub-document. A determination is made as to whether the copyright flag is resolved. The selected sub-document is selectively exported to an export document for transmission to a computing system based on determination that the copyright flag is resolved.
- In accordance with an embodiment, a system of assessing license compliance of an aggregate document that includes at least one associated sub-document is provided. The system includes a license compliance engine. The license compliance engine is configured to select a copyright flag associated with a sub-document of the at least one sub-document. The copyright flag is associated with licensing information for the sub-document. The license compliance engine is also configured to determine whether the copyright flag is resolved such that the sub-document can be selectively exported to an export document for transmission to a computing system based on determination that the copyright flag is resolved.
- These and other purposes, goals and advantages of the present application will become apparent from the following detailed description of example embodiments read in connection with the accompanying drawings.
- Some embodiments are illustrated by way of example and not limitation in the figures of the accompanying drawings in which:
-
FIG. 1 illustrates an example document management system that includes a document license system; -
FIG. 2 illustrates an example graphical user interface for an generate aggregate document in the document license system ofFIG. 1 ; -
FIG. 3 illustrates an example listing of copyright flags that can be associated with sub-documents of the aggregate document in the document license system ofFIG. 1 ; -
FIG. 4 illustrates a flowchart of an example method of exporting an aggregate document in the document license system ofFIG. 1 ; and -
FIG. 5 is a block diagram of a general computer system that can perform any computer based functions or methods disclosed herein. - A system and method of managing licenses for aggregate documents are disclosed herein. In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of example embodiments. It will be evident, however, to one skilled in the art, that an example embodiment may be practiced without all of the disclosed specific details.
- As used herein a “copyright flag” or “flag” refers to a representation of a right or term associated with the use or license of a sub-document included in an aggregate document.
- As used herein an “author” refers to a creator of the sub-document, or a right holder of the copyright for the sub-document, or a representative (agent) of the creator or right holder.
- As used herein the creator or right holder of the sub-document is a person or entity.
-
FIG. 1 illustrates an exampledocument management system 100 that includes adocument license system 122. Thedocument management system 100 includes a user administration/login system 108 anddocument license system 122 interconnected to a user computing system(s) 104 via anetwork 102. Thenetwork 102 can be a wide area network, local area network, or any combination of one or more networks configured to interconnect the systems, databases and other components ofFIG. 1 . One or more of the networks can be wired or wireless. - The user computing system(s) 104 is configured to login into the
document management system 100 over thenetwork 102 to generate and/or access one or more aggregate documents. Theuser computing system 104 is further configured to export an aggregate document from thedocument license system 122 in a printable format for printing, e.g., a printable format such as PDF. As an example, theuser computing system 104 can print the aggregate document via printer 106. The printer 106 can be attached directly or via a network (e.g., LAN) to theuser computing system 104. Theuser computing system 104 can be operated by a user (e.g., human operator or an aggregator/publisher program) to access, generate and/or export aggregate documents via thedocument license system 122 of thedocument management system 100. - The user administration/
login system 108 is configured to administer users in thedocument management system 100 and to enable users to login into thedocument management system 100 over thenetwork 102 via user computing system(s) 104. The user administration/login system 108 includes auser setup subsystem 110, user authentication (login)subsystem 112, anduser login database 114. - The
user setup subsystem 110 is configured to setup credentials for the user's access to thedocument management system 100, such as via a username and password combination. A user ID for the username-password combination can be assigned to the user for identification purposes within thedocument license system 122. Other credential mechanisms for authentication of the user can be used in addition or alternatively to the username and password combination. A system administrator or the user can setup a user's credentials for access to thedocument license system 122. - The authentication (login)
subsystem 112 is configured to login the user into thedocument management system 100, such as by authenticating the user via username and password. The username/password combinations and associated user IDs for users that are authorized to use thedocument management system 100 can be maintained in theuser login database 114 as will be described hereinbelow. - Upon user login, the
user authentication subsystem 112 can authenticate a user's username and password received from theuser computing system 104 against the username-password combinations in theuser login database 114. After the user is authenticated, the user viauser computing system 104 can access thedocument license system 122 via the user's user ID associated with the user's username/password combination. Additional or alternative authentication methods and system components can be used to login the user to thedocument management system 100. - The
user login database 114 maintains the username/password combinations user IDs 116 for users that have been authorized to thedocument management system 100 and given access to access thedocument license system 122. Additional or alternative authentication information can be maintained by theuser login database 114 for login to thedocument management system 100 and access thedocument license system 122. - The
document license system 122 is configured to enable a user (e.g., human operator or electronic aggregator/publisher program) to generate an aggregate document having multiple sub-documents and to manage copyright license information for the aggregate document. Thedocument license system 122 can expose or provide multiple application program interfaces (APIs) that can be invoked by the electronic aggregator/publisher programs via computing system(s) 104 to access, generate and/or export aggregate documents via thedocument license system 122. Thedocument license system 122 includes abuilder subsystem 124,export subsystem 142, and can includedatabases - In various embodiments, the
databases databases document license system 122, such that thedocument license system 122 can access, generate and export aggregate documents as described herein. In other embodiments, the locations or other information concerning thedatabases document license system 122. - The
builder subsystem 124 of thedocument license system 122 is configured to enable a user to manage one or more aggregate documents. Thebuilder subsystem 124 includes anaggregate document generator 126,aggregate document editor 128,sub-document search engine 130,sub-document adder 132,sub-document remover 134,sub-document editor 136, sub-documentcopyright license discoverer 138 and sub-documentlicense flag generator 140. - The
aggregate document generator 126 is configured to enable a user to generate an aggregate document in thedocument license system 122. More specifically, theaggregate document generator 126 can generate an aggregate document in theaggregate document database 168. In one embodiment or aspect, arecord 169 that is associated with (representing) the aggregate document via a unique document ID is generated in theaggregate document database 168 by theaggregate document generator 126, as will be described in greater detail below with reference to theaggregate document database 168. - The
aggregate document editor 128 is configured to enable the user to edit an aggregate document in theaggregate document database 168. For example, theaggregate document editor 128 can edit the connection (order) ofsub-documents 174 that are part of the aggregate document'srecord 169. Additionally, theaggregate document editor 128 can also enable the user to provide/edit atitle 178 and/or any other information that the user would like to be stored in the aggregate document'srecord 169. - The
sub-document search engine 130 is configured to enable a user to conduct a search for sub-documents in thedocument repository 190 and to retrieve one or more sub-documents 189 for addition to the aggregate document in theaggregate document database 168, e.g., the aggregate document'srecord 169. Thesub-document search engine 130 is configured to present one or more graphical user interfaces (not shown) to receive user search criteria and to display the retrieved sub-documents for user selection. A user can search for documents bysub-document ID 192, text in the sub-document, name of sub-document, or any other mechanism to retrieve a desired sub-document maintained in thedocument database 144. Thesub-document's ID 192 can be added to the aggregate document'srecord 169. - The
sub-document adder 132 is configured to add or associate at least one sub-document selected by the user to an aggregate document in theaggregate document database 168, e.g., the aggregate document'srecord 169. In one embodiment or aspect, the user can select at least one sub-document 189 from the graphical user interface presented by thesub-document search engine 130. In another embodiment or aspect, the user can select at least one sub-document 189 by itssub-document ID 192 via another graphical user interface (not shown). Upon selection of the at least one sub-document 189, itssub-document ID 192 is added to the aggregate document'srecord 169 in theaggregate document database 168. More specifically, thesub-document ID 192 is associatedaggregate document ID 170 in theaggregate document database 168. - The
sub-document remover 134 is configured to remove at least one sub-document selected by the user from an aggregate document in theaggregate document database 168, e.g., the aggregate document'srecord 169. In one embodiment or aspect, thesub-document remover 134 can present a graphical user interface (e.g.,FIG. 2 ) with one or more sub-documents 189 of thedocument repository 190 that are associated with the aggregate document, e.g., aggregate document'srecord 169. The user can then select one or more of the sub-documents to be removed from the aggregate document. In another embodiment or aspect, the user can select at least one sub-document 189 by itssub-document ID 192 via another graphical user interface (not shown). Upon selection of the at least one sub-document 189, itssub-document ID 192 is removed from the aggregate document'srecord 169 in theaggregate document database 168. - The
sub-document editor 136 is configured to enable the user to edit a sub-document document in thedocument repository 190. For example, thesub-document editor 138 can edit sub-document 189. In an embodiment, a copy of the sub-document having a newsub-document ID 192 can be created and saved in thedocument repository 190. Edits are then made to the new sub-document. In this case, the new sub-document ID is added to thelicense database 180 and originalsub-document's flags 184,values 186 and/orcertifications 188 are updated to indicate a derivative version of the original sub-document. The original sub-document's ID in theaggregate document database 168 is updated to the new sub-document ID in thesub-document listing 174. - The sub-document
copyright license discoverer 138 is configured to discover or determine license information associated with a sub-document 189 that is added to the aggregate document, e.g., aggregate document'srecord 169. For example, the sub-documentcopyright license discoverer 138 can scan the sub-document for copyright, license or use information associated with the sub-document. For example, in the case of a web page as the sub-document, thesub-document license discoverer 138 can search the sub-document for the term “copyright” or terms such as “All rights reserved” that indicate the copyright, license or use of sub-document (e.g., the author's intent with regard to sharing the sub-document). Thesub-document license discoverer 138 can also search for embedded HTML describing the location of a Creative Commons license, which can be retrieved in order to determine the specific terms of the copyright, license or use of the sub-document. If no license or use information is discovered, a default of “standard copyright” can be used. In alternative embodiment or aspects, another default copyright can be used. - The sub-document
license flag generator 140 is configured to generate one or more license flags from the determined copyright, license or use information associated with the sub-document added to the aggregate document. For example, if the terms require attribution of the original author, an “attribution” flag could be set. In a case where the author requires specific text in the attribution that text could also be associated with the attribution flag. In another example, for an author requiring payment for non-academic uses of a work, a flag “free academic” could be set and a flag “non-academic payment” specifying a price could also be set. - The
export subsystem 142 of thedocument license system 122 is configured to enable a user to export an aggregate document in accordance with license or use information associated with constituent sub-documents of the aggregate document. Theexport subsystem 142 includes an aggregatedocument search engine 144,export document generator 146,sub-document adder 148 andlicense compliance engine 150. - The aggregate
document search engine 144 is configured to enable a user to conduct a search for aggregate documents in theaggregate document database 168 and to retrieve an aggregate document (e.g., the aggregate document's record 169) for export to theuser computing system 104 and/or printing via associated printer 106. The aggregatedocument search engine 144 can present one or more graphical user interfaces (not shown) to receive user search criteria and to display the retrieved aggregate documents for user selection. The aggregatedocument search engine 144 can further receive a selection of an aggregate document to export. A user can search for aggregate documents byaggregate document ID 170,user ID 172, sub-document(s) associated with theaggregate document 174, otheraggregate documents 176 of which a particularaggregate document 169 is a constituent document, text in the aggregate document 169 (e.g., title 178), or any other mechanism to retrieve a desired aggregate document maintained in theaggregate document database 168. - The
export document generator 146 is configured to enable a user to generate anexport document 196 from a selected aggregate document (e.g., aggregate document 169) in accordance with licensing/use information associated with constituent documents of the aggregate document, (e.g., sub-document 189). Theexport document 196 can be transmitted or distributed from theexport subsystem 142 of thedocument license system 122 to the computing system 104 (export document 196 is shown in dotted lines asexport document 198 received by user computing system 104) for viewing and/or printing via printer 106. Theexport document generator 146 invokes (executes) thelicense compliance engine 150 to determine one or more of the constituent documents of the selected aggregate document to be exported (added) to theexport document 196. - The
sub-document adder 148 is configured to add one or more sub-documents (e.g., content)—that comply with the licensing/use information determined by thelicense compliance engine 150—to theexport document 196 generated by theexport document generator 146. - The
license compliance engine 150 of theexport subsystem 142 is configured to determine whether the sub-documents of an aggregate document selected for export comply with associated licensing/use information, and further configured to resolve potential non-compliance of the sub-documents such that the sub-documents can be exported (added) to theexport document 196. Resolution of potential non-compliance can include the addition of information required for the export of the sub-document to the export document (e.g., addition of attribution, license or watermark information to the export document). Resolution can also involve sending a notification of use of the sub-document to a certain electronic address for the author or owner of the sub-document. Further, resolution of potential non-compliance can include collection of additional information, payment or certification from the user. Moreover, resolution can involve obtaining the permission of the author associated with the sub-document to be exported. Additional or alternative compliance resolution as envisioned can be applied in thedocument license system 122. - The
license compliance engine 150 includes aniterator 151, a non-standardcopyright compliance module 155 and a standardcopyright compliance module 163. - The
iterator 151 is configured to iterate oversub-documents 174 associated with a selected aggregate document 170 (e.g., aggregate document 169) to be processed for license compliance from theaggregate document database 168. Theiterator 151 is further configured to iterate over one ormore flags 184 associated with each of the sub-documents 174 (e.g., associated with sub-document 169) in thelicense database 180. Theiterator 151 includes asub-document selector 152 andflag selector 154. - The
sub-document selector 152 is configured to iteratively select a sub-document (e.g., from one or more sub-documents 174) associated with the aggregate document (e.g., aggregate document 169) to be processed for license compliance from theaggregate document database 168. - The
flag selector 154 is configured for each of the sub-documents 174 associated with theaggregate document 169 selected by thesub-document selector 152 to iteratively access or select a flag (e.g., from one or more flags 184), as well as related flag values 186 and/orcertificates 188 that are associated with the selected sub-document (e.g., sub-document 179) from thelicense database 180. Theflag selector 154 can determine whether the accessed or selected flag should be processed by the non-standardcopyright compliance module 155 or the standardcopyright compliance module 163. It is noted that if any one of the flags is not satisfied, the selected sub-document (as well as any additional information that is associated with any matched flags) will not added to the export document by thelicense compliance engine 150 and the iteration of the flags for the selectedsub-document 174 is terminated. - The non-standard
copyright compliance module 155 is configured to determine whether a selected flag (e.g., flag 184) represents a non-standard copyright use associated with the selected sub-document 182 (e.g., sub-document 169) in thelicense database 180 and to perform one or more operations to resolve the selected flag. In certain instances as described below resolution is possible while in other instances the flag will not be resolved. The non-standardcopyright compliance module 155 includes anautomatic flag resolver 156,additional information receiver 158,payment receiver 160 andrequirement certificator 162. - The
automatic flag resolver 156 is configured to determine whether automatic resolution of the selectedflag 184 is possible, and further configured to perform an action(s) that fulfill the selected flag if automatic resolution is possible. For example, the selected flag can indicate that information, such as attribution, license, watermark, or other information, is to be added to theexport document 196. - The
automatic flag resolver 156 can determine whether the indicated information is available inflag value 186 related to the selectedflag 184. If so, thelicense compliance engine 150 can add this information to theexport document 196 to automatically resolve the selectedflag 184, once the other flags associated with the selected sub-document 174 have been successfully processed. - In alternate embodiments, the
automatic flag resolver 156 can send notification of use to a specified electronic address, e.g., for the author or owner of the sub-document 174. Similarly, this notification can be sent once the other flags associated with the selected sub-document 174 have been successfully processed. - The
additional information receiver 158 is configured to determine whether additional information from the user is required for the selectedflag 184, prompt for (e.g., via user computing device 104) and determine whether such additional information has been in fact received from the user. For example, the selectedflag 184 can require a version of the work or whether the work is derivative work. Theautomatic flag resolver 156 can prompt the user viauser computing device 104 for the required additional information (e.g., version). - If the user provides the additional information (e.g., version), the
license compliance engine 150 can in some embodiments add this information to theexport document 196 or in other embodiments can store this information asvalue 186 in association withflag 182 for the selectedsub-document 174, once the other flags associated with the selected sub-document have been successfully processed. In some embodiments, theadditional information receiver 158 can initially perform a check ofvalue 186 that is associated with theflag 184 for a previously stored version and prompt the user to confirm this version. - The
payment receiver 160 is configured to determine whether payment is required to export/use the sub-document 174, to prompt the user for payment (e.g., dollar amount in accordance with value 186) associated with the selectedflag 184, and further to determine whether such required payment has been in fact received from the user, such as viauser computing system 104. For example, the selectedflag 184 can require payment of a certain dollar amount invalue 186 for exporting the sub-document 174. Such payment can be for the sub-document or for each page of the sub-document if there are multiple pages in the sub-document 174. - The
requirement certificator 162 is configured to determine whether a requirement certification is required to export/use the sub-document 174, to prompt the user for the requirement certification (e.g., in a cases where the author has given non-electronic written permission to use a document, the user could certify that permission has been granted) associated with the selectedflag 184, and further to determine whether requirement certification has been in fact received from the user, such as viauser computing system 104. For example, the selectedflag 184 can indicate a requirement certification, such as permission from the author or non-academic use, to facilitate exporting of the sub-document 174 to theexport document 196. The requirement certificator 162 can determine whether a requirement certification is required to export/use the sub-document 174, prompt the user for the requirement certification (e.g., the document will only be used for academic purposes) associated with the selectedflag 184, and further determine whether requirement certification has been in fact received from the user, such as viauser computing system 104. For example, the selectedflag 184 can indicate a requirement certification, such as the document will only be used for academic purposes, to facilitate exporting of the sub-document 174 to theexport document 196. The requirement certification can be stored in thecertifications 188 associated with theflag 184 in thelicense database 180. - The standard
copyright compliance module 163 is configured to determine whether a selected flag (e.g., flag 184) represents standard copyright use associated with the selected sub-document 182 (e.g., sub-document 169) in thelicense database 180 and to perform one or more operation to resolve the selected flag. In certain instances as described below resolution is possible while in other instances the flag will not be resolved. The standardcopyright compliance module 163 includes apermission locator 164 anduser certificator 166. - The
author permission locator 164 is configured to determine whether author (or owner) permission that is required to export/use the sub-document 174 is recorded for the sub-document 174. In embodiments in which author permission is recorded, such as invalue 186 for theflag 184 in thelicense database 180, theauthor permission locator 164 is configured to provide an indication that the selected sub-document complies with the required license to be added to theaggregate document 196. - In embodiments in which author permission is not recorded in the license database 180 (e.g., such as in
value 186 for flag 184), theauthor permission locator 164 is further configured to request author (or owner) permission (e.g., via electronic mail from author computing system 194), and to determine whether the requested permission has been received from the author. Such request for author permission can be automatic if the electronic address is recorded or available. In some embodiments, the electronic address for the automatic request can be stored in the license database 180 (e.g., invalue 186 for the flag 184). In other embodiments, theauthor permission locator 164 is configured to request the electronic address for the author (or owner) from the user using one or more graphical user interfaces presented via theuser computing system 104, and further configured to determine whether such electronic address has in fact been received from the user. - The
user certificator 166 is configured to determine whether user certification of author permission is required to export/use the sub-document 174, to prompt the user for the user certification (e.g., request that a scanned copy of the author's written permission be provided or that the user provide an affidavit of having received such permission) associated with the selectedflag 184, and further to determine whether user certification has been in fact received from the user, such as viauser computing system 104. For example, the selectedflag 184 can require user certification of author permission through a graphical user interface viauser computing device 104 to facilitate exporting of the sub-document 174 to theexport document 196. Theuser certificator 166 is further configured to determine whether user certification is received. - After the
iterator 151 iterates through the flags 184 (and associated values 186) for the selected sub-document 174 that is determined to be in copyright compliance via thenon-standard copyright module 155 or thestandard copyright module 163, thelicense compliance engine 142 can then instruct thesub-document adder 148 to add the selected sub-document 174 to theexport document 196. - The
aggregate document database 168 is configured to maintain one or more aggregate documents (e.g., records representing the aggregate documents), such as an exampleaggregate document 169. The aggregate documents can be identified bydocument IDs 170. Theaggregate document database 168 further maintains associations 171 (e.g., associations 172-178) related to aggregate documents (document IDs 170) such as the exampleaggregate document 169. Theassociations 171 for the exampleaggregate document 169 can be maintained in one or more tables of theaggregate document database 168 and can include user ID 172 (or the owner) associated with theaggregate document 169 as provided by the useradministration login system 108, a listing of one or more sub-documents 174 associated with the exampleaggregate document 169, a listing of one or more otheraggregate documents 176 of which the exampleaggregate document 169 is considered to be a sub-document, and atitle 178 associated with the exampleaggregate document 169. - The
license database 180 is configured to maintain one or more sub-documents (e.g., records representing the sub-documents) that are constituents of the aggregate documents in theaggregate document database 168, such as anexample sub-document 179 that can be a constituent of theaggregate document 169, as listed in thesub-document listing 174 for theaggregate document 169. Thesub-document database 180 further maintains associations 181 (e.g., associations 182-188) related to sub-documents (sub-document IDs 182), such as theexample sub-document 179. For example, theassociations 181 for theexample sub-document 179 can be maintained in one or more tables of thesub-document database 180 and can include a listing of one or more flags (e.g., flag IDs) 184 associated with the example copyright license/use term for the sub-document 179, one or more values each associated with one of the flags, and at least onerequirement certification 188 associated with one of the flags. - The
document repository 190 is configured to maintain sub-documents represented or identified by theirsub-document IDs 192. The document repository can maintain actual sub-document content files, e.g.,sub-document content file 189 that is identified bysub-document IDS 192. - The
author computing system 194 is associated with an author (or owner) of at least one sub-document maintained in thedocument repository 190, such assub-document 189. Theauthor computing system 194 is configured to receive one or more requests (e.g., via electronic email) from thedocument license system 122 for the author's permission for export/use of the author's sub-document. Theauthor computing system 194 is further configured to respond to such requests via one or more responses (e.g., via electronic email), automatically or to enable the author (or owner) to respond manually. The responses can be transmitted by theauthor computing system 194 to thedocument license system 122. In one embodiment, an email client device (not shown) can be associated with (or incorporated in) theauthor computing system 194 and configured to receive and transmit electronic mail concerning author permission for export/use of the author's one or more sub-documents. - In view of the foregoing, the
document license system 122 enables the user viauser computing system 104 to generate an aggregate document having multiple sub-documents and to export that or another aggregate document to anexport document 196 in accordance with copyright license/use information associated with the sub-documents of the aggregate document. Theexport document 196 can be transmitted from thedocument license system 122 to theuser computing system 104, as indicated byexport document 198, for viewing and printing, such as via printer 106. In one embodiment, transmission can be accomplished via email. Alternate transmission mechanisms can be used, such as direct download to theuser computing system 104 via file transfer protocol (FTP) or storage in a centralized file repository (not shown) that the user can access (e.g., via FTP) and communicated to the user via an email. The document can be in one of many formats, such as PDF, TIFF, JPG or another format. -
FIG. 2 illustrates an examplegraphical user interface 200 for generating and exporting an aggregate document via thedocument license system 122 ofFIG. 1 . The examplegraphical user interface 200 includes anaggregate document toolbar 202,sub-document toolbar 212 andinterface region 230. - The
aggregate document toolbar 202 includes an aggregatedocument generation tool 204, aggregatedocument editing tool 206, aggregatedocument search tool 208 and aggregatedocument export tool 210, which are described in greater detail below. The tools 204-210 can be invoked by the user via theuser computing system 104, e.g., clicking on a tool via a mouse or selecting/activating the tool via a keyboard. - The aggregate
document generation tool 204 is configured to generate an aggregate document 222 that can be displayed and configured in theinterface region 230. The aggregatedocument generation tool 204 can invoke or execute theaggregate document generator 126 of thebuilder system 124 in thedocument license system 122 to generate a new aggregate document 222, e.g.,aggregate document 169 in theaggregate document database 168 as illustrated inFIG. 1 . In generating the new aggregate document 222, theaggregate document generator 126 creates a record for the aggregate document 222—identified bydoc ID 170 and associated with associations 171 (e.g., associations 172-178)—in theaggregate document database 168. - The aggregate
document editor tool 206 is configured to enable editing of the aggregate document, such as the addition/deletion ofsub-documents title 223 for the aggregate document 222, as well as editing of textual or graphical information in the document aggregate document 222. The aggregatedocument editor tool 206 can invoke or execute theaggregate document editor 128 of thebuilder system 124 in thedocument license system 122. It is noted that the sub-documents 224-228 are maintained in thedocument repository 190. Addition or deletion of sub-documents can involve adding/deleting references to the sub-documents of the document repository (e.g., uniform resource locator for web page(s), file names/paths for files or other identification for the sub-documents 224-228). In one embodiment, simple relationships between constituent sub-documents can be indicated by their ordering in thesub-document listing 174 of theaggregate document database 168. In addition, other more sophisticated relationships can be provided, such as how the sub-documents are to be displayed or integrated in relation to each other within the aggregate document 222. Such relationships can be maintained as metadata (not shown) in theaggregate document database 168. The title of theaggregate document 223 can be provided by the user and further can be stored astitle 178 in theaggregate document database 168. - The aggregate
document search tool 208 is configured to conduct a search for aggregate documents and to retrieve an aggregate document (e.g., aggregate document 222) for editing and or exporting in theinterface 230. The aggregatedocument search tool 208 can invoke or execute the aggregatedocument search engine 144 of theexport subsystem 142 in thedocument license system 122. For example, a user can conduct a search for aggregate documents in theaggregate document database 168 and to retrieve an aggregate document 222 for export to theuser computing system 104 and/or printing via associated printer 106. One or more graphical user interfaces can be presented to receive user search criteria (e.g.,doc ID 170,user ID 172,sub-doc ID 174,aggregate doc ID 176,title 178 and/or other criteria) and to display the retrieved aggregate documents for user selection. Upon user selection of an aggregate document (e.g., aggregate document 222) from the retrieved aggregate documents, the selected aggregate document is loaded into theinterface region 230 in accordance withassociations 171 as well as any available relationship metadata for the constituent sub-documents (e.g., sub-documents 224-228). - The aggregate
document export tool 210 is configured to export the aggregate document 222 to an export document that can be transmitted to theuser computing system 104 in accordance with licensing/use information associated with constituent sub-documents 224-228 of the aggregate document 222. The aggregatedocument export tool 210 can invoke or execute theexport document generator 146 of theexport subsystem 142 in thedocument license system 122 ofFIG. 1 . For example, anexport document 196 ofFIG. 1 can be generated from the aggregate document 222 ofFIG. 2 and can be transmitted or distributed to thecomputing system 104. Theexport document 196 can be transmitted to theuser computing system 104—shownexport document 198—for viewing and/or printing via printer 106. - The
sub-document toolbar 212 includes asub-document search tool 214,sub-document addition tool 216,sub-document removal tool 218 andsub-document editing tool 220. The various tools 214-220 can be invoked by the user via theuser computing system 104, e.g., clicking on a tool via a mouse or selecting/activating the tool via a keyboard. - The
sub-document search tool 214 is configured to conduct a search for sub-documents and to retrieve one or more sub-documents 224-228 for addition to the aggregate document 222 in the in theinterface 230. Thesub-document search tool 214 can invoke or execute thesub-document search engine 130 of thebuilder subsystem 124 in thedocument license system 122. For example, a user can conduct a search for sub-documents in thedocument repository 190 and to retrieve one or more sub-documents 189 for addition to the aggregate document in theaggregate document database 168, e.g., the aggregate document's record 222. One or more graphical user interfaces can be presented to receive user search criteria and to display the retrieved sub-documents for user selection. A user can search for sub-documents bysub-document ID 192, text in the sub-document, name of sub-document, or any other mechanism to retrieve one or more desired sub-documents maintained in thedocument database 144. - The
sub-document addition tool 216 is configured to add at least one sub-document selected by the user to the example aggregate document 222 in theaggregate document database 168. More specifically, thesub-document's ID 192 can be added to the aggregate document's record (e.g., added to sub-document ID 174) in theaggregate document database 168. The user can thereafter configure viainterface 230 the relationship of the added sub-document to the sub-documents that already part of the example aggregate document 222. - The
sub-document addition tool 216 can invoke or execute the sub-document search added 132, and can further invoke or execute thesub-document license disocoverer 138 and sub-documentlicense flag generator 140 of thebuilder subsystem 124 in thedocument license system 122. Upon selection of one or more the sub-documents 224-228 to be added to the aggregate document 222, a search of thelicense database 180 can be performed to determine whether records associated with the one or more of the documents 224-228 exist. If not, thesub-document license discoverer 138 can be invoked or executed to discover license information associated with sub-documents 224-228, such as by scanning thedocuments 192 of thedocument repository 190. If no license or use information is discovered, a default of “standard copyright” can be used. The sub-documentlicense flag generator 140 can be invoked or executed to then generate one or more license terms (flags) and any associated values of the flags from the copyright, license or use information associated with the sub-documents. This associated license information is stored in connection with the sub-documents in thelicense database 180. - The
sub-document removal tool 218 is configured to remove at least one selected sub-document from an aggregate document 222. Thesub-document removal tool 214 can invoke or execute thesub-document remover 134 of thebuilder subsystem 124 in thedocument license system 122. For example, a user can remove at least one sub-document 224, 226 or 228 from an aggregate document 222. Removal of a sub-document entails removal of thesub-document's ID 182 from the listing of the sub-documents 174 in theaggregate document database 168. - The
sub-document editing tool 220 is configured to edit a sub-document document in thedocument repository 190. Thesub-document editing tool 220 can invoke or execute thesub-document editor 136 of thebuilder subsystem 124 in thedocument license system 122. A user can edit a sub-document document in thedocument repository 190. For example, thesub-document editor 138 can edit sub-document 189. In one embodiment, thesub-document editor 138 can determine whether the sub-document can be edited by determining whether there is a flag in thelicense database 180 for the sub-document that allows derivative works to be created. If so, upon editing, thesub-document editor 136 can copy the sub-document to be edited into a new sub-document having asub-document ID 192 in thedocument repository 190. Edits can then be made to the newly created sub-document. The new sub-document ID is added to thelicense database 180 and the originalsub-document's flags 184,values 186 and/orcertifications 188 are updated to indicate creation of a derivative version of the original sub-document. The original sub-document's ID in theaggregate document database 168 is updated to reflect the new sub-document ID in thesub-document listing 174. -
FIG. 3 illustrates anexample listing 300 ofcopyright flags 302 that can be associated with sub-documents of the aggregate document in the document license system ofFIG. 1 . Copyright flags can be text-based as shown in theexample listing 300 or can be indicated by other representations associated with these flags, e.g., numbers letters, or other programmatic representations. With reference to thelisting 300, an example “standard copyright” flag can be generated, which would require author permission to use the sub-document as part of the aggregate document. In this case, avalue 186 that is associated with the flag may be set to one (1) to indicate that standard copyright applies. In other cases, the standard copyright flag can be set to zero (0), indicating that standard copyright does not apply. An “attribution” flag can be used to allow a derivative work if an exact license is applied as with respect to the original. In such a case, the value for the attribution flag can include the text of the attribution. Other flags may have no values, such as the “share alike”, “non-commercial”, “no derivatives”, “free academic” and other such flags. A “payment terms” flag can be associated with a value of the payment for use of the sub-document. The terms can indicate a price and whether the price is per document or per page of the document (if there are multiple pages). Other copyright flags can be used in addition to or instead of the flags shown inFIG. 3 . -
FIG. 4 illustrates a flowchart of anexample method 400 of exporting an aggregate document in the document license system ofFIG. 1 . Theexample method 200 starts atoperation 402. Atoperation 406, a selection of an aggregate document to export is received. For example, the user can select the aggregatedocument export tool 210 to export example document 222, as illustrated inFIG. 2 . An export document is generated by theexport subsystem 142, such asexport document 196 inFIG. 1 . Atoperation 408, a determination is made as to whether the selected aggregate document 222 includes sub-documents. For example, thesub-document selector 152 can determine that the aggregate document 222 include sub-documents 224-228 by accessing the sub-documents listing 174 associated with the example aggregate document 222 in theaggregate document database 168. - If it is determined that are sub-documents, the method continues at
operation 410 where a first sub-document is selected. For example, the selection can be performed by thesub-document selector 152 of theiterator 151 in theexport subsystem 142 ofFIG. 1 . Alternatively, the selected aggregate document is the only one that is selected. In this case, the aggregate document does not contain any sub-documents. Thereafter, themethod 400 continues atoperation 412. - At
operation 412, a copyright flag is selected for the (selected sub-document or aggregate document). Flag selection can be performed by theflag selector 154 of theiterator 151 in theexport subsystem 142 ofFIG. 1 . Aflag 184 can be selected for theaggregate document 182 from thelicense database 180. - At
operation 414, a determination is made as to whether the flag indicates that “standard copyright” or “non-standard copyright” applies to the selected sub-document. For example, theflag selector 154 can determine whether the flag should be processed by the non-standardcopyright compliance module 155 or the standardcopyright compliance module 163. If it is determined that standard copyright does not apply, themethod 400 continues atoperation 416. Alternatively, if standard copyright does apply, the method continues atoperation 440. - At
operation 416, a determination is made as to whether the selected flag can be resolved automatically for the selected sub-document. If so, themethod 400 continues atoperation 418 to perform flag fulfillment, such as adding attribution, license or watermark information to the aggregate document and/or sending notification of document use to the author. If it is determined that the flag is fulfilled at 420, themethod 400 continues atoperation 458 to add the sub-document to the aggregate document, e.g.,export document 196. - If it is determined that the flag is not fulfilled at 420, the selected sub-document is not added to the
export document 196 in relation to the selected flag. Thereafter, the method continues atoperation 460 to process additional flags, if any. Operations 416-420 can be performed by theautomatic flag resolver 156 of the non-standardcopyright compliance module 155 in theexport subsystem 142 illustrated inFIG. 1 . - At
operation 422, a determination is made as to whether more information is required from the user for the selected sub-document. If so, themethod 400 continues atoperation 424 to prompt the user for the required information. If it is determined that the required information was received atoperation 426, themethod 400 continues atoperation 458 to add the sub-document to the aggregate document, e.g.,aggregate document 196. If it is determined that the required information was not received atoperation 426, themethod 400 continues atoperation 460 to process additional flags, if any. Operations 422-426 can be performed by theadditional information receiver 158 of the non-standardcopyright compliance module 155 in theexport subsystem 142 illustrated inFIG. 1 . - At
operation 428, a determination is made as to whether payment is required from the user for the selected sub-document. If so, themethod 400 continues atoperation 430 to prompt the user for the payment. If it is determined that the required payment was received atoperation 432, themethod 400 continues atoperation 458 to add the sub-document to the aggregate document, e.g.,aggregate document 196. If it is determined that the required payment was not received atoperation 432, themethod 400 continues atoperation 460 to process additional flags, if any. Operations 428-432 can be performed by thepayment receiver 160 of the non-standardcopyright compliance module 155 in theexport subsystem 142 illustrated inFIG. 1 . - At
operation 434, a determination is made as to whether requirement certification is required from the user for the selected sub-document. If so, themethod 400 continues at 436 to prompt the user for the requirement certification. If it is determined that the requirement certification was received atoperation 438, themethod 400 continues atoperation 458 to add the sub-document to the aggregate document, e.g.,aggregate document 196. If it is determined that the requirement certification was not received atoperation 438, themethod 400 continues atoperation 460 to process additional flags, if any. Operations 434-438 can be performed by therequirement certificatory 162 of the non-standardcopyright compliance module 155 in theexport subsystem 142 illustrated inFIG. 1 . - Now with reference to the determination at
operation 414, if it is determined that standard copyright does apply, themethod 400 continues atoperation 440 where a determination is made as to whether author permission for the selected sub-document is recorded. If it is determined that the author permission is recorded atoperation 440, themethod 400 continues atoperation 458 to add the sub-document to the aggregate document, e.g.,aggregate document 196. It can be considered that the standard copyright flag, which is associated with recorded author permission, is automatically resolved. If it is determined that the author permission is not recorded atoperation 440, themethod 400 continues atoperation 442, where a determination is made as to whether contact information for the author is recorded or is to be requested from the user. - At
operation 444, the contact information for the author is requested from the user. If it is determined that the contact information was received atoperation 446, themethod 400 continues atoperation 448 as will be described below. If it is determined that the contact information was not received atoperation 446, themethod 400 continuesoperation 460 to process additional flags, if any. Atoperation 448, author permission is requested using contact information that was recorded or received. If it is determined that the contact information was received at 450, themethod 400 continuesoperation 458 to add the sub-document to the aggregate document, e.g.,aggregate document 196. If it is determined that the contact information was not received atoperation 450, themethod 400 continuesoperation 460 to process additional flags, if any. It can be considered that the standard copyright flag, which is associated with recorded author contact information, is automatically resolved. Operations 440-450 can be performed by thepermission locator 164 of the standardcopyright compliance module 163 in theexport subsystem 142 illustrated inFIG. 1 . - At
operation 454, a determination is made as to whether user certification—indicating that user has author's permission—is required for the selected sub-document. If so, themethod 400 continues at 454 to prompt the user for the user certification. If it is determined that the user certification was received atoperation 456, themethod 400 continues atoperation 458 to add the sub-document to the aggregate document, e.g.,aggregate document 196. If it is determined that the user certification was not received atoperation 456, themethod 400 continues atoperation 460 to process additional flags, if any. Operations 452-456 can be performed by theuser certificatory 162 of the standardcopyright compliance module 163 in theexport subsystem 142 illustrated inFIG. 1 . - At
operation 458, the selected sub-document is added to theexport document 196. If the selected sub-document was previously added to (or removed from) theexport document 196 in relation to another selected flag, the same sub-document is not added to theexport document 196 again. - At
operation 460, if the selected sub-document was added previously to theexport document 196 in relation to another selected flag, the selected sub-document is removed from theexport document 196. Furthermore, a determination is made as to whether there are additional flags for the selected subdocument. If so, themethod 400 continues atoperation 412 and operations 412-460 are performed for the next flag. Theflag iterator 154 can performoperation 460. If there are no additional flags for the selected document, themethod 400 continues atoperation 462. - The removal (or non-inclusion) of the selected sub-document with respect to the
export document 196 in connection with the non-fulfillment of the selected copyright flag does not remove the selected sub-document from the aggregate document in theaggregate document database 168. In some embodiments, an indication that a conflict exists with respect to the selected flag can be added for the selected sub-document in thelicense database 180. Conflicts can sometimes be fixed at a later time, allowing the selected sub-document to be included in afuture export document 196. - In some embodiments, a place holder for the removed (or non-included) selected sub-document can be generated in or added to the
export document 196, indicating the removed (or non-included) selected sub-document and possibly even why it was removed. For example, when generating anexport document 196 that is intended to be reviewed before final publication, the user might specify a banner page for each removed selected sub-document, including the title, author, original source (e.g., URL), as well as the reason(s) requiring its removal. - At
operation 462, a determination is made as to whether there are additional sub-documents to be processed for the selected aggregate document, e.g., example aggregate document 222. If so, themethod 400 continues atoperation 410 and operations 410-462 are performed for the next selected sub-document. Thesub-document selector 152 of theiterator 154 can performoperation 462. -
FIG. 5 is a block diagram of ageneral computer system 500. Thecomputer system 500 may include a set of instructions that may be executed to cause thecomputer system 500 to perform any one or more of the computer based functions or methods disclosed herein. Thecomputer system 500, or any portion thereof, may operate as a standalone device or may be connected, e.g., using a network, to other computer systems, databases and peripheral devices. Thecomputer system 500 can, for example, be theuser computing system 104, the useradministration login system 108 and/or thedocument license system 122. - In a networked deployment, the
computer system 500 may operate in the capacity of a document management system (or portion thereof) as illustrated inFIG. 1 , for example. Thecomputer system 500 may also be implemented as or incorporated into various devices, such as a personal computer (PC), a tablet PC, a personal digital assistant (PDA), a mobile device, a palmtop computer, a laptop computer, a desktop computer, a communications device, a control system, a scanner, a facsimile machine, a printer, a personal trusted device, a web appliance, or any other machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while asingle computer system 500 is shown, the term “system” shall also be taken to include any collection of systems or sub-systems that individually or jointly execute a set, or multiple sets, of instructions to perform one or more computer functions as described herein. - As shown in
FIG. 5 , thecomputer system 500 may include aprocessor 502, e.g., a central processing unit (CPU), a graphics-processing unit (GPU), or both. Moreover, thecomputer system 500 may include amain memory 504 and astatic memory 506 that may communicate with each other via abus 526. As shown, thecomputer system 500 may further include a video display unit 5910, such as a liquid crystal display (LCD), an organic light emitting diode (OLED), a projection unit, a television, a flat panel display, a solid state display, or a cathode ray tube (CRT). Additionally, thecomputer system 500 may include aninput device 512, such as a keyboard, and acursor control device 514, such as a mouse. Thecomputer system 500 may also include adisk drive unit 516, asignal generation device 522, such as a speaker or remote control, and anetwork interface device 508. - In a particular embodiment, as depicted in
FIG. 5 , thedisk drive unit 516 may include a computer-readable medium 518 in which one or more sets ofinstructions 520, e.g., software, may be embedded. Further, theinstructions 520 may embody one or more of the methods or logic as described herein. In a particular embodiment, theinstructions 520 may reside completely, or at least partially, within themain memory 504, thestatic memory 506, and/or within theprocessor 502 during execution by thecomputer system 500. Themain memory 504 and theprocessor 502 also may include computer-readable media. - In an alternative embodiment, dedicated hardware implementations, such as application specific integrated circuits, programmable logic arrays and other hardware devices, may be constructed to implement one or more of the methods described herein. Applications that may include the apparatus and systems of various embodiments may broadly include a variety of electronic and computer systems. One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that may be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations.
- In accordance with various embodiments, the methods described herein may be implemented by software programs tangibly embodied in a processor-readable medium and may be executed by a processor. Further, in an exemplary, non-limited embodiment, implementations may include distributed processing, component/object distributed processing, and parallel processing. Alternatively, virtual computer system processing may be constructed to implement one or more of the methods or functionality as described herein.
- The present application contemplates a computer-readable medium that includes
instructions 520 or receives and executesinstructions 520 responsive to a propagated signal, so that a device connected to anetwork 524 may communicate voice, video or data over thenetwork 524. Further, theinstructions 520 may be transmitted or received over thenetwork 524 via thenetwork interface device 508. - While the computer-readable medium is shown to be a single medium, the term “computer-readable medium” includes a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. The term “computer-readable medium” shall also include any medium that is capable of storing or encoding a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations disclosed herein.
- In a particular non-limiting, exemplary embodiment, the computer-readable medium may include a solid-state memory such as a memory card or other package that houses one or more non-volatile read-only memories. Further, the computer-readable medium may be a random access memory or other volatile re-writable memory. Additionally, the computer-readable medium may include a magneto-optical or optical medium, such as a disk or tapes or other storage device to capture signals such as those communicated over a transmission medium. A digital file attachment to an e-mail or other self-contained information archive or set of archives may be considered a medium that is equivalent to a tangible storage medium. Accordingly, the application is considered to include any one or more of a computer-readable medium and other equivalents and successor media, in which data or instructions may be stored.
- Although the present application describes components and functions that may be implemented in particular embodiments with reference to particular standards and protocols, the application is not limited to such standards and protocols. Such standards and protocols are periodically superseded by faster or more efficient equivalents having essentially the same functions. Accordingly, replacement standards and protocols having the same or similar functions as those disclosed herein are considered equivalents thereof.
- Thus, a system and method of managing licenses for aggregate documents have been described. Although specific example embodiments have been described, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader scope of the invention. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense. The accompanying drawings that form a part hereof, show by way of illustration, and not of limitation, specific embodiments in which the subject matter may be practiced. The embodiments shown are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this application. This Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
- Although specific embodiments have been shown and described herein, it should be appreciated that any arrangement calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.
- The Abstract is provided to comply with 37 C.F.R. §1.72(b) and will allow the reader to quickly ascertain the nature of the technical disclosure of this application. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims.
- In the foregoing description of the embodiments, various features may be grouped together in a single embodiment for the purpose of streamlining the disclosure of this application. This method of disclosure is not to be interpreted as reflecting that the claimed embodiments have more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment.
Claims (54)
1. A method of managing licensing information associated with aggregate documents, the method comprising:
receiving a selection of an aggregate document that includes at least one associated sub-document, each of the at least one sub-document associated with at least one copyright flag;
selecting a sub-document from the at least one sub-document;
selecting a copyright flag from the at least one copyright flag associated with the selected sub-document;
determining whether the selected copyright flag is resolved; and
exporting the selected sub-document to an export document capable of being transmitted to a computing system associated with a user if it is determined that the selected copyright flag is resolved.
2. The method of claim 1 , the method further comprising:
determining whether the selected copyright flag indicates that standard copyright applies to the selected sub-document;
locating a permission of an author for the selected sub-document; and
adding the selected sub-document to the export document if the permission is located.
3. The method of claim 2 , wherein locating permission comprises determining the permission maintained in association with the selected sub-document in a database.
4. The method of claim 2 , wherein locating permission comprises:
contacting the author electronically to obtain the permission; and
receiving the permission from the author electronically.
5. The method of claim 4 , wherein contacting the author electronically comprises requesting a user to provide an electronic address at which to contact the author.
6. The method of claim 4 , wherein contacting the author electronically further comprises retrieving an electronic address at which to contact the author, the electronic address maintained in association with the selected sub-document in a database.
7. The method of claim 1 , the method further comprising determining whether the selected copyright flag indicates that non-standard copyright applies to the selected sub-document.
8. The method of claim 7 , the method further comprising automatically performing at least one action to resolve the at least one flag, the at least one action including one or more of adding attribution, license or watermark information to the export document.
9. The method of claim 7 , the method further comprising:
determining whether additional information is required from the user; and
receiving the additional information from user via the user computing device.
10. The method of claim 7 , the method further comprising:
determining whether payment is required from the user; and
receiving the payment from user via the user computing device.
11. The method of claim 7 , the method further comprising:
determining whether a requirement certification is required from the user; and
receiving the requirement certification from user via the user computing device.
12. The method of claim 7 , the method further comprising transmitting the export document to the user computing device.
13. A system to manage licensing information associated with aggregate documents, the system comprising:
an aggregate document search engine configured to receive a selection of an aggregate document that includes at least one associated sub-document, each of the at least one sub-document associated with at least one copyright flag;
a sub-document selector configured to select a sub-document from the at least one sub-document;
a flag selector configured to select a copyright flag from the at least one copyright flag associated with the selected sub-document;
a license compliance engine configured to determine whether the selected copyright flag is resolved; and
an export document generator configured to export the selected sub-document to an export document capable of being transmitted to a computing system associated with a user if it is determined that the selected copyright flag is resolved.
14. The system of claim 13 , wherein the system further comprises:
the method further comprising:
an iterator configured to determine whether the selected copyright flag indicates that standard copyright applies to the selected sub-document;
a permission locator configured to locate a permission of an author for the selected sub-document; and
a sub-document adder configured to add the selected sub-document to the export document if the permission is located.
15. The system of claim 14 , wherein the permission locator is further configured to determine whether the permission is maintained in association with the selected sub-document in a database.
16. The system of claim 14 , wherein the permission locator is further configured to:
contact the author electronically to obtain the permission; and
receive the permission from the author electronically.
17. The system of claim 16 , wherein the permission locator is further configured to request a user to provide an electronic address at which to contact the author.
18. The system of claim 16 , wherein the permission locator is further configured to retrieve an electronic address at which to contact the author, the electronic address maintained in association with the selected sub-document in a database.
19. The system of claim 13 , an iterator configured to determine whether the selected copyright flag indicates that non-standard copyright applies to the selected sub-document.
20. The system of claim 19 , further comprising an automatic flag resolver configured to automatically perform at least one action to resolve the at least one flag, the at least one action including one or more of attribution, license or watermark information added to the export document.
21. The system of claim 19 , further comprising an additional information receiver configured to:
determine whether additional information is required from the user; and
receive the additional information from user via the user computing device.
22. The system of claim 19 , further comprising a payment receiver configured to:
determine whether payment is required from the user; and
receive the payment from user via the user computing device.
23. The system of claim 19 , further comprising a requirement certificator configured to:
determine whether a requirement certification is required from the user; and
receive the requirement certification from user via the user computing device.
24. The system of claim 13 , further comprising an export subsystem configured to transmit the export document to the user computing device.
25. A method of building aggregate documents, the method comprising:
generating an aggregate document;
associating a sub-document to the generated aggregate document;
discovering at least one license term that applies to the associated sub-document; and
generating at least one copyright flag for the at least one discovered license term in association with the sub-document.
26. The method of claim 25 , wherein generating an aggregate document comprises generating an aggregate document identifier for the aggregate document in a first database.
27. The method of claim 26 , wherein associating a sub-document to the generated aggregate document comprises associating an identifier for the sub-document to the identifier for the aggregate document in the first database.
28. The method of claim 25 , wherein generating at least one copyright flag comprises associating at least one copyright flag identifier for the at least one discovered license term to an identifier for the sub-document in a second database.
29. The method of claim 28 , further comprising associating at least one value identifier to the at least one copyright flag identifier for the identifier of the sub-document in the second database.
30. The method of claim 25 , further comprising maintaining the sub-document in a document repository.
31. A system to build aggregate documents, the system comprising:
an aggregate document generator configured to generate an aggregate document;
a sub-document adder configured to associate a sub-document to the generated aggregate document;
a sub-document license discoverer configured to discover at least one license term that applies to the associated sub-document; and
a sub-document license flag generator configured to generate at least one copyright flag for the at least one discovered license term in association with the sub-document.
32. The system of claim 31 , wherein the aggregate document generator is further configured to generate an aggregate document identifier for the aggregate document in a first database.
33. The system of claim 21 , wherein sub-document adder is further configured to associate an identifier for the sub-document to the identifier for the aggregate document in the first database.
34. The system of claim 31 , wherein the sub-document license flag generator is further configured to associate at least one copyright flag identifier for the at least one discovered license term to an identifier for the sub-document in a second database.
35. The system of claim 34 , wherein the sub-document license flag generator is further configured to associate at least one value identifier to the at least one copyright flag identifier for the identifier of the sub-document in the second database.
36. The system of claim 31 , further comprising a document repository configured to maintain the sub-document.
37. A method of assessing license compliance of an aggregate document that includes at least one associated sub-document, the method comprising:
selecting a copyright flag associated with a sub-document of the at least one sub-document, the copyright flag associated with licensing information for the sub-document;
determining whether the copyright flag is resolved; and
selectively exporting the selected sub-document to an export document for transmission to a computing system based on determination that the copyright flag is resolved.
38. The method of claim 37 , further comprising resolving the copyright flag.
39. The method of claim 38 , wherein resolving the copyright flag comprises:
determining whether standard copyright or non-standard copyright applies based on the copyright flag; and
resolving the copyright flag in accordance with the determination that standard copyright or non-standard copyright applies.
40. The method of claim 39 , further comprising automatically resolving the copyright flag when non-standard copyright applies.
41. The method of claim 40 , wherein automatically resolving the copyright flag comprises adding information to the export document or transmitting notification of sub-document use.
42. The method of claim 39 , further comprising receiving at least one of additional information, payment and requirement certification when non-standard copyright applies.
43. The method of claim 39 , further comprising automatically resolving the copyright flag when standard copyright applies.
44. The method of claim 43 , wherein automatically resolving the copyright flag comprises determining that author permission is recorded or received.
45. The method of claim 39 , further comprising receiving at least one of author contact information, author permission, and user certification when standard copyright applies.
46. A system of assessing license compliance of an aggregate document that includes at least one associated sub-document, the system comprising:
a license compliance engine configured to:
select a copyright flag associated with a sub-document of the at least one sub-document, the copyright flag associated with licensing information for the sub-document; and
determine whether the copyright flag is resolved such that the sub-document can be selectively exported to an export document for transmission to a computing system based on determination that the copyright flag is resolved.
47. The system of claim 46 , wherein the license compliance engine is further configured to resolve the copyright flag.
48. The system of claim 47 , wherein the license compliance engine is further configured to:
determine whether standard copyright or non-standard copyright applies based on the copyright flag; and
resolve the copyright flag in accordance with the determination that standard copyright or non-standard copyright applies.
49. The system of claim 48 , wherein the license compliance engine is further configured to automatically resolve the copyright flag when non-standard copyright applies.
50. The system of claim 49 , wherein the license compliance engine is further configured to add information to the export document or transmit notification of sub-document use.
51. The system of claim 48 , wherein the license compliance engine is further configured to receive at least one of additional information, payment and requirement certification when non-standard copyright applies.
52. The system of claim 48 , further comprising automatically resolving the copyright flag when standard copyright applies.
53. The system of claim 52 , wherein the license compliance engine is further configured to determine that author permission is recorded or received.
54. The system of claim 48 , wherein the license compliance engine is further configured to receive at least one of author contact information, author permission, and user certification when standard copyright applies.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/232,283 US20130066792A1 (en) | 2011-09-14 | 2011-09-14 | System and method for managing licenses of aggregate documents |
US15/234,534 US10699355B2 (en) | 2011-09-14 | 2016-08-11 | System and method for generating an aggregate document comprised of at least one sub-document |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/232,283 US20130066792A1 (en) | 2011-09-14 | 2011-09-14 | System and method for managing licenses of aggregate documents |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/234,534 Division US10699355B2 (en) | 2011-09-14 | 2016-08-11 | System and method for generating an aggregate document comprised of at least one sub-document |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130066792A1 true US20130066792A1 (en) | 2013-03-14 |
Family
ID=47830711
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/232,283 Abandoned US20130066792A1 (en) | 2011-09-14 | 2011-09-14 | System and method for managing licenses of aggregate documents |
US15/234,534 Active 2033-11-11 US10699355B2 (en) | 2011-09-14 | 2016-08-11 | System and method for generating an aggregate document comprised of at least one sub-document |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US15/234,534 Active 2033-11-11 US10699355B2 (en) | 2011-09-14 | 2016-08-11 | System and method for generating an aggregate document comprised of at least one sub-document |
Country Status (1)
Country | Link |
---|---|
US (2) | US20130066792A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140189346A1 (en) * | 2012-12-28 | 2014-07-03 | Next Education, Llc | License server manager |
US11017061B2 (en) | 2019-05-20 | 2021-05-25 | Advanced New Technologies Co., Ltd. | Identifying copyrighted material using copyright information embedded in electronic files |
US11037469B2 (en) | 2019-05-20 | 2021-06-15 | Advanced New Technologies Co., Ltd. | Copyright protection based on hidden copyright information |
US11062000B2 (en) | 2019-05-20 | 2021-07-13 | Advanced New Technologies Co., Ltd. | Identifying copyrighted material using embedded copyright information |
US11074331B2 (en) * | 2017-10-11 | 2021-07-27 | Fujifilm Business Innovation Corp. | Information processing apparatus and non- transitory computer readable medium storing program for access control |
US11080671B2 (en) * | 2019-05-20 | 2021-08-03 | Advanced New Technologies Co., Ltd. | Identifying copyrighted material using embedded copyright information |
US11227351B2 (en) | 2019-05-20 | 2022-01-18 | Advanced New Technologies Co., Ltd. | Identifying copyrighted material using embedded copyright information |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050278258A1 (en) * | 2004-06-14 | 2005-12-15 | O'donnell Michael | User software for facilitating copyright licensing and compliance |
US20080106772A1 (en) * | 2006-11-06 | 2008-05-08 | Canon Information Systems Research Australia Pty. Ltd. | Copyright Compliance |
US7475246B1 (en) * | 1999-08-04 | 2009-01-06 | Blue Spike, Inc. | Secure personal content server |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004264898A (en) * | 2003-02-10 | 2004-09-24 | Toshiba Corp | Content processing terminal, copyright management system, and method therefor |
US20150020153A1 (en) * | 2006-09-15 | 2015-01-15 | Myspace Music Llc | Collaborative media presentation service with usage rights enforcement |
EP2316191A4 (en) * | 2008-05-27 | 2012-04-04 | Ian Barker | Method, system, and computer program for parsing, compiling and disseminating digital media |
-
2011
- 2011-09-14 US US13/232,283 patent/US20130066792A1/en not_active Abandoned
-
2016
- 2016-08-11 US US15/234,534 patent/US10699355B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7475246B1 (en) * | 1999-08-04 | 2009-01-06 | Blue Spike, Inc. | Secure personal content server |
US20050278258A1 (en) * | 2004-06-14 | 2005-12-15 | O'donnell Michael | User software for facilitating copyright licensing and compliance |
US20080106772A1 (en) * | 2006-11-06 | 2008-05-08 | Canon Information Systems Research Australia Pty. Ltd. | Copyright Compliance |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140189346A1 (en) * | 2012-12-28 | 2014-07-03 | Next Education, Llc | License server manager |
US11074331B2 (en) * | 2017-10-11 | 2021-07-27 | Fujifilm Business Innovation Corp. | Information processing apparatus and non- transitory computer readable medium storing program for access control |
US11017061B2 (en) | 2019-05-20 | 2021-05-25 | Advanced New Technologies Co., Ltd. | Identifying copyrighted material using copyright information embedded in electronic files |
US11037469B2 (en) | 2019-05-20 | 2021-06-15 | Advanced New Technologies Co., Ltd. | Copyright protection based on hidden copyright information |
US11056023B2 (en) | 2019-05-20 | 2021-07-06 | Advanced New Technologies Co., Ltd. | Copyright protection based on hidden copyright information |
US11062000B2 (en) | 2019-05-20 | 2021-07-13 | Advanced New Technologies Co., Ltd. | Identifying copyrighted material using embedded copyright information |
US11080671B2 (en) * | 2019-05-20 | 2021-08-03 | Advanced New Technologies Co., Ltd. | Identifying copyrighted material using embedded copyright information |
US11227351B2 (en) | 2019-05-20 | 2022-01-18 | Advanced New Technologies Co., Ltd. | Identifying copyrighted material using embedded copyright information |
US11409850B2 (en) | 2019-05-20 | 2022-08-09 | Advanced New Technologies Co., Ltd. | Identifying copyrighted material using embedded copyright information |
Also Published As
Publication number | Publication date |
---|---|
US20160350887A1 (en) | 2016-12-01 |
US10699355B2 (en) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10699355B2 (en) | System and method for generating an aggregate document comprised of at least one sub-document | |
US9639672B2 (en) | Selective access to portions of digital content | |
US8719691B2 (en) | Document providing system and computer-readable storage medium | |
JP4602769B2 (en) | Navigate the content space of a document set | |
US8078693B2 (en) | Inserting a multimedia file through a web-based desktop productivity application | |
US20090044283A1 (en) | Document management apparatus, document management system and method, and computer-readable medium | |
US9699193B2 (en) | Enterprise-specific functionality watermarking and management | |
US9262644B2 (en) | Server, recording medium, and image display system | |
JP2006024218A (en) | Method and apparatus for data processing as well as medium and system for data processing | |
US20080301261A1 (en) | Data file edit system, storage medium, process server, and user client | |
US10048913B2 (en) | Electronic content management workflow with document versioning | |
JP2007156612A (en) | Information processor, server device, file processing method, storage medium, and program | |
JP6167118B2 (en) | How to identify user access to a digital document using an existing rights management policy with modifications | |
JP2008181350A (en) | Information processing system, information processor and program | |
US8065743B2 (en) | Content use management system, content-providing system, content-using device and computer readable medium | |
JP5482183B2 (en) | Information processing apparatus and program | |
JP2011128796A (en) | Document use management system, document processing apparatus, manipulation authority managing apparatus, document managing apparatus and program | |
JP2006228057A (en) | Information processor and data management system | |
JP4952600B2 (en) | Management device and management program | |
JP5982962B2 (en) | Data processing apparatus, data processing system, and program | |
JP2008257340A (en) | Information processing apparatus, information processing method, storage medium and program | |
US9672383B2 (en) | Functionality watermarking and management | |
US8103668B2 (en) | Search control and authoring environment | |
JP4882550B2 (en) | Object management system, object management method, and computer program | |
JP2009104347A (en) | Access controller for providing accessible electronic document |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: XEROX CORPORATION, CONNECTICUT Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:VANDERVORT, DAVID RUSSELL;RAO, VENKATESH GURU;SILVERSTEIN, JESSE;SIGNING DATES FROM 20110908 TO 20110913;REEL/FRAME:026907/0372 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |