throbber
(12)
`
`United States Patent
`Colossoetal.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,962,424 B1
`Jun. 14, 2011
`
`US007962424B1
`
`(54)
`
`(75)
`
`OVERDRAFTLICENSES AND LICENSE
`DISTRIBUTION
`
`Inventors: Juan-Carlos Colosso, Mt. View. CA
`(US); Katherine K. Nadell, Sunnyvale,
`CA (US); Wei Cheng, San Jose, CA
`(US)
`
`(73)
`
`Assignee: Adobe Systems Incorporated, San Jose,
`CA (US)
`
`5/2002 Hillegassetal.
`2002/0065781 Al
`8/2002 Biddleetal.
`2002/01L07809 Al
`11/2002 Yanget al.
`2002/0169625 Al
`3/2004 Stefik etal. wu... 7TOS/SL
`2004/0059678 Al*
`4/2004 Goringeet al.
`2004/0078339 Al
`§/2004 Rajamani
`2004/0088176 Al
`6/2004 Rich etal.
`2004/0117467 Al
`6/2004 Endoh
`2004/0117784 Al
`5/2005 Misra et al.
`2005/0102240 Al
`6/2005 Harperet al.
`2005/0132347 Al
`11/2006 Cutter et al.
`2006/0265334 AQ
`2/2007 Kinsley etal.
`2007/0026942 Al
`FOREIGN PATENT DOCUMENTS
`(*) Notice:—Subject to any disclaimer, the termofthis
`JP
`07200492 A *
`8/1995
`patent
`is extended or adjusted under 35
`U.S.C. 154(b) by 1002 days.
`
`
`
`* cited by examiner
`
`Primary Examiner—James A Reagan
`(21)
`Appl. No.: 11/585,561
`(74) Attorney, Agent, or Firm — Kilpatrick Townsend &
`Stockton LLP
`
`(22)
`
`Filed:
`
`Oct. 24, 2006
`
`(51)
`
`(52)
`
`(58)
`
`(56)
`
`Int. Cl,
`(2006.01)
`GO06F 21400
`DSCs iesscessecievss 705/901; 705/50; 705/51; 705/54;
`705/57; 705/59; 705/902; 705/903; 705/904;
`705/908; 705/911; 380/227; 380/228; 380/229:
`380/230; 380/201; 380/202: 380/203; 380/204
`Field of Classification Search .................... 705/50,
`705/51, 54, 57, 59, 901-904, 908, 911;
`380/227-230, 201-204
`See applicationfile for complete searchhistory.
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,204,897 A ™
`5,579,222 A
`5,745,879 A
`6,615,191 Bl
`6,760,324 Bl
`7,035,918 Bl
`7,603,318 Bl
`
`4/1993) Wyman wee 710/200
`11/1996 Bains etal,
`4/1998 Wyman
`9/2003 Seeley
`7/2004 Scott et al.
`4/2006 Reddingetal.
`10/2009 Colosso et al.
`
`(57)
`
`ABSTRACT
`
`In response toreceiving anorder(e.g., including payment for
`one or more software licenses), a license distribution manager
`allocates a specified number of software licenses for distri-
`bution to a corresponding customer’s clients that utilize the
`licenses to operate software associated with a corresponding
`vendor software application. The license distribution man-
`ager can allocate one or more overdraft licenses for distribu-
`tion to the customerin addition to the specified number of
`software licenses associated with the order. Accordingly, the
`license distribution manager can allocate extra software
`licenses (e.g., the overdraft licenses) and distribute moresoft-
`ware licenses than are actually purchased by a respective
`customer. This enables the customerto use one or more pro-
`visional
`licenses (e.g., overdraft
`licenses)
`that support
`restricted use of the vendor's software application such as
`until the customer can replace the provisional licenses with
`corresponding purchased licenses.
`
`26 Claims, 8 Drawing Sheets
`
` NETWOR
`
`(E.G., CUSTOMER MANAGED
`NETWORK ENVIRONMENT}
`
`GOOGLE 1006
`
`GOOGLE 1006
`
`1
`
`

`

`U.S. Patent
`
`Jun. 14, 2011
`
`Sheet 1 of 8
`
`US 7,962,424 BI
`
`
`
`OS9VNVINYOGNSA
`
`
`
`INSLSASSNISN3SON
`
`
`
`YONLSN
`
`y3qYNO
`
`LOW
`
`WALSAS
`
`Set
`
`OFE
`
`‘sD
`
`
`
`(¥aANaS“9'3)
`
`YSAYsaS
`
`oO)
`o_
`
`|
`
`YSOVNViPlas.
`‘isla¥yaeONGgol-3SN30I1i‘,=@a
`inaito|ANAIT9i 0or
` Orr
`O-Soraso|?Z-SOL5LNAId
`
`
`
`
`
`
`GSOVNVINH3SINOLSND“9'3)
`
`
`
`(LNSWNOUIANSHYOMLSEN
`
`2
`
`
`
`
`

`

`U.S. Patent
`
`Jun. 14, 2011
`
`Sheet 2 of 8
`
`US 7,962,424 BI
`
`OL
`
`bLL
`
`O4NI
`
`SAVG021
`
`NOILVuldxX3adsa1gsVvN30319313sYASWNANQ31sVNa-SSN350I1AAAAAS-O€7
`
`
`
`
` dOY38WNNAAAaAS-0r~b-0¢e€-0rec-0breL-OFe
`
`
`
`
`
`v-0€Z€-0€22-082L-0€z
`
`O4NISSYuNLVA4IMS|ONILSOHMSAMaS|SASNSOITIOLOndoud
`
`WNLaduad
`NOLLValdX4
`
`
`Z‘AX'MYSAYSSYHOUNSASw|08LYVBONDVaw”
`ow|S3aYNLV3a4MS
`Qa18VNA
`
`
`
`‘(09LNAWdOTAAACANDV-YSINOLSND
`AdALNOLLNEIMLSIG|GaYyaqYo
`
`SdALNOILNEINLSIO
`
`ONILSOHYSAYSS
`
`YAAYSSYOUNSA
`daL0313s
`
`9SVECL#YAQHOASWHOWNd
`
`LIVYdHAAOLonaoudd
`AlawivAy|GA1aVN3-3SN3011
`
`¢Old
`
`SSSN39I1
`
`3
`
`
`
`
`
`

`

`U.S. Patent
`
`Jun. 14, 2011
`
`Sheet 3 of 8
`
`US 7,962,424 Bl
`
`Ort
`
`‘$9
`
`
`
`(YSAYAS“9*‘3)
`
`ort
`
`YADVNVIN
`
`ASN30N1
`
`sid—_—
`
`
`
`
`
`LNSI19
`
`b-SOL
`
`YsAYSS
`
`oot
`
`€Old
`
`L-S9L
`
`*
`
`LNANS
`
`LNAI
`
`LNaAIND
`
`oeteenenee
`
`cecusenenouee®
`
`4
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Jun. 14, 2011
`
`Sheet 4 of 8
`
`US 7,962,424 BI
`
`Y430uO
`
`LOW
`
`WALSAS
`
`Sel
`
`ASNa9N
`
`1sia}aibssai2
`
`
`
`(4Y3AYSS“9'S)
`
`so?YaOVNWWae
`
` Orr
`
`uaAuas
`
`oor
`
`
`
`GSSVNVINYOON3A
`
`
`
`WALSASSNISN39I1
`
`LNAINS
`
`IN-SOL
`
`LN3IT9
`
`e-S9l
`
`LN3hN9
`
`b-SOL
`
`r-Ol4mati,
`
`5
`
`
`
`
`

`

`U.S. Patent
`
`Jun. 14, 2011
`
`Sheet 5 of 8
`
`US 7,962,424 BI
`
`
`
`c-0FlL-OFL
`
`
`
`ASN39INASN39N
`
`
`
`NOILNGIYLSIGNOILNGIYLSIA
`
`
`
`YSaOVNVINYyoW
`
`
`
`Ssa00udNOILVONIddV
`
`
`
`3OWSYSLNI‘WWOO
`
`Sts
`
`
`
`FOVSAYALNIOlYSLNdINOD
`
`OLL
`
`ANOWANa
`
`
`
`(Y3SANRS"9'3)
`
`W3LSAS
`
`6
`
`
`

`

`Sheet 6 of 8
`
`US 7,962,424 BI
`
`9Sls
`
`U.S. Patent
`
`Jun. 14, 2011
`
`GalsiOsdSVWALWOOTIV
`0z9NOILVOIIddSYVMLIOSYHOGN3AAONIGNOdS3yyOoV40NOLLVWeSdOJ1ISVN3OLSASNSOINSYVMLAOS4OYAEWNNGsAlsIOAdSSHLALNGIYLSIG
`
`
`
`
`
`
`SLOSSSN30I1SYVMLAOSJOYAEINNN
`
`
`Gz9NOILWONddVSYWVMLAOS
`LAVYOUSAONVSLVOOTIV NOILNEIYLSIGYO4
`QalslOadSAHLNVHLSHOWJONOILNGINLSIG31GVN3OLYSCHONISSN3911
`
`
`YOONAAONIGNOdS3YyeO)FHL40NOILVWeadOJIGVNAOLSSN39I1LAVYGHAAOSHLSLNEIYLSIO
`
`
`
`
`
`
`
`SASN3OI1TSYWMLIOS40YASWNN
`
`7
`
`

`

`U.S. Patent
`
`Jun. 14, 2011
`
`Sheet 7 of 8
`
`US 7,962,424 BI
`
`L‘Ol4(v)
`
`SYOWHOSNO3LVSHO SLN3I10
`O¢Z\}AYVMLIOSYOONSAODNIGNOdS3SYHODVJONOLLVYAdO3STEYNAOLYSWOLSNDAHLHLIMGSLVIODOSSV
`
`
`
`
` GslslOad$SHLSLNAIYLSIA SheSSSN39MSYVMLAOSJOYAEWANGalslIOSdSSHLYOSLNSWAVd401d/3903Y
`
`
`
`
`
`
`
`
`
`
`\}NOLuWdNi1SW31LWG3SV8SSSN3OMSYVMLIOS4OYSEWNNG3lsIOSdSSHL4ONOILNSINLSIG31aVNAa
`SLN3I19OLNOLLOANNOONHOMLANVYSAOSASNSDI1SYWMLAOSJOYSSWNN
`
`
`
`O&4\)3sNa0ML4vYauSAO3HLONISNLNAIT1DSALLOadS3yVONYS3uidX4SSN3ONLSVYOHSAOSHL
`
`
`
`
`
`
`
`SezNOILVONTIdd¥SYVMLIOSYOONAAONIGNOdS3AYYODAHLJOY3SNSAILOAdS3SYVOL\|SaVIIVAYSuvSSUNLVaSSYVMLIOSANVMOHLIWITOLSSNS90I1L4VYOHSAOSHLSYNDIINOD
`
`
`
`
`
`
`
`
`SHLNVHLSYOWJONOILNGIYLSICSISVNAOLYACHONISSSN3011LAVHOHSAO
`
`
`
`HOIHMYSLSV‘NOILVYNGAWILGSLIWITVHOSGINVA3dOLSSN3ONL4VYGYSAO3HLSYNDISNOD
`
`
`
`
`
`NOILVOIMIddV¥SYVMLSOSYOONAAONIGNOdSSYHODSHLALVesdOYSDNOTONNWO
`
`
`
`
`
`
`OllyNOILNGIYLSIOYOsSAYVMLAOSSASN3ON
`
`
`ASVHOUNVONIAISOSYOLSSNOdS3YNI
`dOYAaWNNNGalsIOAdSVALVOOTIV‘YSWOLSNDVWOYSYSCNO
`
`
`
`
`SHLAGNOLLVOlIdd¥
`
`
`
`
`
`SSSN39I1SYVMLIOSJOYAGINNNGalsiOads
`
`8
`
`

`

`US 7,962,424 BI
`
`
`
`
`
`
`
`
`
`SS/\|39O1SGSSNSSN3OILIVYGHAAOSHLLWHLYO/GNYNOILWOIIddvSYWMLIOSYOGNSAONIGNOdSayYOD
`8Sls 3SN39I1
`3HLJOSOVSNAYVHOdWALAINOS318VN3SSNSONMLAWHYOUSAOSHLLVHLYSWOLSNDSHLASILON
`
`
`
`
`
`
`
`
`
`SYVMLIOSGSSVWHONNdVHLIMGa0V1d3u
`
`YAWOLSNDAHLAdGSSVHOYNd
`
`U.S. Patent
`
`Jun. 14, 2011
`
`Sheet 8 of 8
`
`OS2\,YSWOLSNDSHLOLSSN39NLIVECH3AOSHLJONOLLNEIYLSIGSHLJONOLLVOISILONS0IAOdd
`
`
`
`
`
`
`
`StLNOILWONIddV¥VSYVMLIOS
`‘%YOONSAONIGNOdS3SYYO)SHL40NOILVHSdOSTEVNAOLSSN39I1LIVYOHSAOSHLSLNSIYLSIC
`
`
`
`
`
`SIGVN3 Op,
`SH1LJONOILNEIYLSIODNILOALAGOLSSNOdS3YNISSN3A9NLAVYGUSAOSHLAONOILNGINLSIG
`
`
`
`N33dLONSWHASN391I1LAVYCGHSAOSHLHONOHLN3AR‘SSSN39I1SYVMLAOS4OYASWNNG3IsIO3dS
`
`
`
`
`
`
`
`9
`
`

`

`US 7,962,424 BI
`
`1
`OVERDRAFT LICENSES AND LICENSE
`DISTRIBUTION
`
`RELATED APPLICATIONS
`
`This application is related to U.S. patent applications
`entitled “SURRENDER AND MANAGEMENTOFSOFT-
`WARELICENSES,”(Ser. No. 11/385,512), “LICENSE DIS-
`TRIBUTION,”
`(Ser. No.
`11/585,734),
`“SOFTWARE
`LICENSE DISTRIBUTION AND REGISTRATION
`
`BYPASSING,”(Ser. No. 11/585,559), all of which are being
`filed on the same date as the present application (by the
`commonassignee Adobe Systems, Inc.), the entire teachings
`of all of which are incorporated herein by this reference.
`
`BACKGROUND
`
`Software vendors typically require a purchase of a corre-
`sponding software license in order to enable a respective user
`the right to download, install, and/or use a software applica-
`tion. For example, in a retail setting, a respective user can
`purchase a CD (Compact Disk) or other type of storage
`including a software program for downloading onto a respec-
`tive computer system owned by the user. Such a CD can
`include a serial number. The serial number provided by the
`vendor enables downloading and/or installation ofthe soft-
`ware application stored on the CD.
`As an example, when downloading or attempting to
`execute the software program, a respective installer program
`for installing the software application on the user’s computer
`system may require the user to input the serial number asso-
`ciated with the CD. Uponreceipt of the serial number by the
`installer program, the installer programsendstheserial num-
`ber over a network to a server managed by the vendorofthe
`software program being downloaded or executed. In general,
`the vendor’s server uses the serial numberto track and iden-
`tify which specific copy of the software applicationis being
`downloaded to or executed on a respective computer system.
`In addition to the serial number, the vendor’s server may
`require further input (e.g., a user’s, name, address, business,
`etc.) from a respective user to register the software program
`for use. After obtaining such information from the user, the
`server typically provides an authentication code enabling the
`respectiveuserto install and/or execute the software program
`onthe user’s computer system.
`
`SUMMARY
`
`ay
`
`0
`
`~
`2
`
`a
`
`4
`
`45
`
`Conventional techniques fordistributing software licenses
`enabling operation of a corresponding vendor’s software 5
`application suffer from a number of deficiencies. For
`example, conventional techniques enable a respective orga-
`nization to purchase a numberof software licenses for distri-
`butionto respective clients (e.g., users and/or computer sys-
`tems) associated with the organization. For example, an 5
`organization may require and purchase ten licenses, one for
`each often different users in the organization. A licensing
`server receiving this order can thereafter enable distribution
`of up to the ten purchased software licenses by the organiza-
`tion. Such techniquesare limiting, for example, because con-
`ventional techniques donot take into account that a respective
`purchaser may not properly estimate the numberoflicenses
`needed for the organization. By way of example, the organi-
`zation may actually need twelve software licenses instead of
`ten. In such a circumstance, the organization will have to
`place a new purchase order for the additional number of
`software licenses to accountfor the shortfall. Typically, gen-
`
`60
`
`65
`
`2
`eration of another purchase order for the new licenses
`requires approval at multiple levels of the organization,
`including the organization’s financial department. Thus,
`there may be a lengthy delay betweena timethat the organi-
`zation needs the new licenses andthetimethe organizationis
`actually able to obtain the newlicenses from the software
`vendor. This length delay may impact a development sched-
`ule since software vendors will normally not enable distribu-
`tion of corresponding software licenses until the vendor
`receives the order as well as paymentfor the new licenses.
`One way to overcomethis problemis to order more soft-
`ware licenses than the organization expects to use. For
`example, the organizationcanorderfifteen licenses instead of
`ten. However, this requires that the purchaser(e.g., organiza-
`tion) pay for licenses that the organization may not use, Con-
`sequently, the organization may be reluctant to purchase the
`software licenses because the organization may end up pay-
`ing for licenses that it will not use.
`Techniques discussed herein deviate with respect to con-
`ventional applications such as those discussed aboveas well
`as additional techniques also knownin the prior art. For
`example, certain specific embodiments herein are directed to
`overcoming deficiencies associated with the above-men-
`tioned techniques and/orotherdeficiencies inthe prior art not
`mentioned above.
`Conventional techniques as discussed above have imple-
`mented overdraft licenses for concurrent licensing applica-
`tions. As will be discussed further in this specification, certain
`embodiments herein include issuing time-limited overdraft
`licenses on a per-seat basis. Overdraftlicenses distributed on
`a per-seat basis can have vendor specific policies such as
`duration (as indicated) and persistency (whether they can or
`cannot be reused by clients on the network). For certain
`vendors, overdraft licenses are not persistentin the pool. This
`means that if an overdraft is downloaded to a given client
`machine, that overdraft is “consumed” and will not be re-
`established in the pool. These and other details will be dis-
`cussed below.
`
`In a general embodiment as described herein, a license
`distribution managerreceives a purchase order for a specified
`numberof multiple software licenses. In response to receiv-
`ing the order (e.g., including payment for the licenses), the
`license distribution managerallocates a specified number of
`software licenses for distribution to a corresponding custom-
`er’s clients that utilize the licenses to operate software asso-
`ciated with a corresponding vendor software application. The
`license distribution manager can create one or more extra
`licenses (e.g., overdraft licenses) for distribution in addition
`to the specified numberofsoftware licenses associated with
`the order, Accordingly, the license distribution manager can
`create extra softwarelicenses (e.g., the overdraft licenses) and
`distribute more software licenses thanare actually purchased
`by a respective customer, alleviating a potential problem that
`would otherwise occur if the customer happened to errone-
`ously order fewer licenses than were actually needed by the
`organization. In other words, the overdraft licenses (e.g., one
`or more non-purchased or non-ordered software licenses)
`created and/or supplied by the vendor-operated license dis-
`tribution managerenable the customerto at least temporarily
`use as many software licenses as required by the customer
`until the (provisional) overdraft licenses provided by the
`license distribution manager are replaced with regular soft-
`ware licenses purchased by the customer.
`According to one configuration, a vendor may choosethat
`a number ofoverdraft licenses be automatically added to
`every order of purchased application licenses, with no up-
`front costs to the customer. Other possible implementations
`
`10
`
`10
`
`

`

`US 7,962,424 BI
`
`3
`include automatically provided the overdraft
`may not
`licenses, but rather only for customers who agree to pay a
`given fee for having the option to use a specified numberof
`overdrafts. When suchoptionis exercised, the software ven-
`dor may use the paid fee towards the payment ofthe full
`license or someotherfinancial arrangement.
`The one or more embodiments as described herein contrast
`
`ay
`
`0
`
`wa
`
`licenses associated with an original order have beendistrib-
`uted to the customer’s clients. In additionto or in lieu ofthis
`notification, the network administrator can be notified each 5
`time the license distribution managerdistributes one or more
`ofthe overdraft licenses to the customer’s clients. Accord-
`
`ingly, the customer can be put on notice that the provisional
`licenses (e.g., distributed overdraft licenses) need to be con-
`verted to regular purchased licenses some time in the future.
`Accordingly, the customer will not be surprised of an expira-
`tion ofthe one or more overdraft licenses issued to the cus-
`tomer’s users.
`Embodiments herein can include a configuration of one or
`more computerized devices, workstations, handheld or laptop
`computers, or the like to carry out and/or supportany or all of
`the method operationsdisclosed herein. In other words, one
`
`60
`
`65
`
`11
`
`with conventional license distribution models that only pro-
`vide an amountof licenses as specified by a respective pur-
`chase order. As discussed above, enabling distribution of only
`an ordered amount of licenses can be detrimental to a cus-
`tomerthat needs extra licenses on short order. Conventional
`systems thus do not provide an easy way to allocate additional
`software licenses for distributionto the customer’s clients.
`Models for distributing software licenses can vary depend-
`ing on the application. For example, according to one
`embodiment herein, the license distribution manager is a
`publicly accessible, vendor-managed server that distributes
`the software licenses over a network (e.g., the Internet) to one
`~
`or more clients associated with the customer placing the 2
`order. According to other embodiments herein, the license
`distribution managerdistributes the software licenses from a
`customer-managed server to the one or more customers asso-
`ciated with the client. Additional embodiments provide yet
`other ways to distribute softwarelicenses.
`Overdraft licenses according to embodiments herein can
`provide the sametypeofuserprivilegesas those afforded by
`the original licenses associated with the orderorbe restricted.
`For example, in this latter embodiment, an overdraft license
`can be limited with respect to usage time and/or available
`software features. More specifically, the overdraft licenses
`can be configured to be valid (enabling operation ofcorre-
`sponding vendor software) for a limited time duration, after
`which the overdraft license expires and a respective client
`using the overdraft license can no longer operate the corre-
`sponding vendorsoftware application. In addition to orin lieu
`of modifying a time-based parameter associated with the
`overdraft licenses, the overdraft licenses can be configured to
`limit how many software features are available to a respective
`user of the corresponding vendor software application. Lim-
`iting parameters (i.e., configuring the overdrafi license to
`have a limited operational scope) associated with overdraft
`licenses can provide incentive for a respective customer to
`replace the temporary overdraft licenses with a correspond-
`ing one or more regular software licenses purchased by the
`customer. The number of overdraft licenses allocated and
`thereafter distributed to the customer’s clients can also vary
`depending on the application. For example, larger or loyal
`customers can be afforded a greater number of overdraft
`licenses for use than newer customers.
`In addition to the embodiments as discussed above, the
`customer can receive notification whenall of the software
`
`a
`
`4
`
`45
`
`50
`
`4
`or more computerized devices or processors can be pro-
`grammedand/or configured to operate as explained hereinto
`carry out different embodiments ofthe invention.
`Yet other embodiments herein include software programs
`to perform the steps and operations summarized above and
`disclosed in detail below. One such embodiment comprises a
`computer program product that has a computer-readable
`mediumincluding computer program logic encoded thereon
`that, when performed in a computerized device having a
`processor and corresponding memory, programs the proces-
`sor to performthe operations disclosed herein. Such arrange-
`ments are typically provided as software, code and/or other
`data (e.g., data structures) arranged or encoded on a computer
`readable medium such as
`an optical medium (e.g.,
`CD-ROM), floppy or hard disk or other a medium suchas
`firmware or microcode in one or more ROM or RAM or
`PROMchips or as an Application Specific Integrated Circuit
`(ASIC). The software or firmware or other such configura-
`tions canbe installed onto a computerized device to cause the
`computerized device to perform the techniques explained
`herein.
`Accordingly, one particular embodiment of the present
`application is directed to a computer program product that
`includes a computer readable medium having instructions
`stored thereon for supporting operations suchas distribution
`of one or more overdraft licenses. The instructions, when
`carried out by a processor ofa respective computer device,
`cause the processor to perform the steps of: i) allocating a
`specified number of software licenses for distribution; 11)
`allocating one or more overdraft licenses in order to enable
`distribution of more than the specified number of software
`licenses; iii) distributing the specified number of software
`licenses to enable operation of a corresponding vendorsoft-
`ware application; and iv) distributing the overdraft license to
`enable operation ofthe corresponding vendor software appli-
`cation. The numbering ofthe steps has been added forclarity
`sake, these steps need not be performed in any particular
`order.
`Other embodiments of the present disclosure include soft-
`ware programs to perform any of the method embodiment
`steps and operations summarized above and disclosed in
`detail below.
`
`Also, it is to be understood that the system, method and
`apparatus herein can be embodied strictly as a software pro-
`gram, as software and hardware, or as hardware alone such as
`within a processor, or within an operating system ora within
`a software application. Example embodiments ofthe inven-
`tion may be implemented within products and/or software
`applications such as those manufactured by Adobe Systems,
`Inc. of San Jose, Calif., USA.
`As discussed above, techniques herein are well suited for
`use in distribution of software licenses such as overdraft
`licenses. However,
`it should be noted that embodiments
`herein are not limited to use in such applications and that the
`techniques discussed herein are well suited for other applica-
`tions as well. Note that each ofthe different features, tech-
`niques, configurations, etc. discussed herein can be executed
`independently or in combination. Accordingly, the present
`invention can be embodied and viewed in many different
`ways.
`Notethat this summary does not specify every embodiment
`and/or incrementally novel aspect of the present disclosure or
`claimed invention. Instead, this summary only provides a
`preliminary discussion of different embodiments and corre-
`sponding points of novelty over conventional techniques. For
`additional details and/or possible perspectives (permutations)
`
`11
`
`

`

`US 7,962,424 BI
`
`5
`ofthe invention, the readeris directed to the Detailed Descrip-
`tion section and corresponding figures of the present disclo-
`sure.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`ay
`
`The foregoing and other objects, features, and advantages
`ofthe invention will be apparent from the following more
`particular description of preferred embodiments herein, as
`illustrated in the accompanying drawings in whichlike ref-
`erence characters refer to the same parts throughoutthe dil-
`ferent views. The drawingsare notnecessarily to scale, with
`emphasis instead being placed uponillustrating the embodi-
`ments, principles and concepts.
`FIG. 1 is an example diagram of a computer network envi-
`ronment enabling distribution of overdraft licenses from a
`vendor-managed (remote) server according to embodiments
`herein.
`FIG. 2 is a diagramillustrating an example of ordered
`~
`licenses and overdraft licenses according to embodiments 2
`herein.
`
`0
`
`wa
`
`FIG, 3 is an example diagram of a computer network envi-
`ronment enabling distribution of overdraft licenses froma
`customer-managed (local) server according to embodiments
`herein.
`FIG. 4 is an example diagram illustrating serving of over-
`draft licenses from multiple servers according to embodi-
`ments herein.
`
`FIG, 5 is an example of a computer environment and cor-
`responding computer system for executing a license distribu-
`tion manager application and distribution of overdraft
`licenses according to embodiments herein.
`technique
`FIG. 6 is a flowchart
`illustrating a general
`enabling distribution of overdraft
`licenses according to
`embodiments herein.
`FIGS. 7 and 8 combine to form a flowchart illustrating
`more specific techniques ofdistributing overdraft licenses
`according to embodiments herein.
`
`DETAILED DESCRIPTION
`
`a
`
`4
`
`45
`
`According to an example embodimentas described herein,
`in response to receiving anorder (e.g., including paymentfor
`one or more software licenses), a license distribution manager
`(e.g., a license server) allocates a specified numberof soft-
`ware licenses for distribution to a corresponding customer's
`clients (e.g., employees) that utilize the licenses to operate
`software associated with a corresponding vendor software
`application. The license distribution manager can create and/
`or allocate one or more overdraft licenses for distribution to §
`the customer’s clients in addition to the specified number of
`softwarelicenses associated with the order. Accordingly, the
`license distribution manager can allocate extra software
`licenses (e.g., the overdraft licenses) and distribute more soft-
`ware licenses than are actually purchased by a respective 5
`customer. This enables the customerto use one or more pro-
`visional licenses that support temporary use of the vendor's
`software application such as until the customer can replace
`the provisional
`licenses with corresponding purchased
`licenses.
`Use of overdraft licenses as described herein contrasts with
`conventional license distribution models that only provide an
`amount of licenses as specified by a respective purchase
`order. As discussed above, conventional techniques oflimit-
`ing distribution oflicenses to only those specified in a pur-
`chase order as in conventional distribution models can be
`detrimental to a customer that needs extra licenses on short
`
`60
`
`65
`
`6
`order. Conventional systems thus do not provide an easy way
`to allocate additional software licenses for distributionto the
`
`customer’s clients. (There are multiple non-electronic licens-
`ing models that have the notionofall-you-can-eat licensing,
`with a “pay-up” option every 12 months orso).
`FIG. 1 is a diagram of a computer network environment
`100 supporting distribution ofsoftware licenses according to
`embodiments herein. As shown, computer network environ-
`ment 100 includes network 191, network 190, and a vendor
`managed licensing system 183. The vendor management
`licensing system 183 includes an order management system
`125, repository 180 for storing order information 187, com-
`puter system 110 for executing license distribution manager
`140, and repository 181 for storing license information 170
`(e.g., information associated with a set of purchased, and/or
`ordered licenses) and license information 171 (e.g., informa-
`tion associated with a set of one or more overdraft licenses).
`Network 191 such as a customer-managed network environ-
`mentincludes user 108, display screen 130, computer system
`115, server 160, and clients 165 (e.g., client 165-1, client
`165-2, client 165-3, .. .
`, client 165-M), Computer network
`environment 100 also includes client 165-P, .
`.
`. client 165-Q
`associated with the customer that operates network 191.
`Theselatter clients (namely, clients 165-P .
`.
`. 165-Q) can be
`home-based computers in which a customer’s employees
`work outof their homes and have access to a public network
`such as the Internet.
`In one embodiment, each ofclients 165 (e.g., end users
`such as employees, terminal computer equipment such as a
`personal computer,etc.) includes a computer device operated
`by a respective user in an organization(e.g., a company, firm,
`group of persons, etc.). In order to download and/or execute
`software applications on a respective client, the correspond-
`ing clientfirst obtains a software license provided by a respec-
`tive software vendor, The following disclosure illustrates
`example embodiments in which a user 108 (e.g., a network
`administrator or employee ofan organization purchasing the
`software licenses) orders and/or purchases a respective set of
`software licenses. In response to a respective orderfor soft-
`ware licenses, a license distribution server (e.g., computer
`system 110, server 160, or some other distribution source or
`method) enables distribution of the ordered software licenses
`as well as one or more overdraft licenses.
`Morespecifically, as illustrated in FIG. 1, the user 108
`initially places an order 151 (e.g., a purchase order) for a
`group of software licenses (for distribution to clients 165)
`froma respective software vendor based on communications
`over link 122-1 (e.g., a telephonelink, internet connection,
`postal service, etc.) to order management system 125.
`Assumein this example that the customer places an order for
`one hundred software licenses for use ofa particular software
`application.
`As briefly mentioned above, user 108 (or other represen-
`tative of an organization as the case may be) can place an
`order 151 in many different ways. For example, the user 108
`can communicate over a telephone link to an operator at
`vendorAto place an order for multiple software licenses. As
`another example, the user 108 also can log onto a website
`served by the order management system 125 and submit an
`order for multiple software licenses. As yet another example,
`auser 108 can send an order 151 via a delivery service(e.g.,
`U.S. Postal Service) to order managementsystem 125, and so
`on.
`
`Order management system 125 of vendor managed licens-
`ing system 183 can include people and/or corresponding
`computerresources for managing orders from manydifferent
`customers in addition to the order 151 from user 108. The
`
`12
`
`12
`
`

`

`US 7,962,424 BI
`
`7
`order management system 125 can create the appropriate
`licensing information enabling license distribution manager
`140 or server 160 that later on distributes licenses to clients
`
`165 (165-1... 165-M),.
`As shown, for a specific one of many possible orders
`received from many customers, order management system
`125 stores order information 187 in repository 180 (e.g., a
`database, data storagefacility,memory, etc.). Order informa-
`tion 187 associated with order 151 can include customer
`information such as the name or identifier of a customer
`
`ay
`
`0
`
`placing a purchase order, a purchase order numberassociated
`withan order, a paymentstatus of the order, billing informa-
`tion, authorization information enabling operation of target
`software, a numberoflicenses and corresponding versions/
`features ofthe software licenses being purchased,etc.
`According to one configuration, after approval to grant
`software licenses associated with order 151, the order man-
`agement system 125 communicates with a license distribu-
`tion server such aslicense distribution manager 140 of com-
`puter system 110. Such a communication 152 caninclude an 2
`indicationthat a set of ordered software licenses can be dis-
`
`tributed based on further instructions provided by the cus-
`tomer making the purchase order. For example,
`in one
`embodiment, the order management system 125 confirms
`paymentforthe order(orat least that the order was placed by
`acreditworthy customer) and forwards a pooloflicense infor-
`mation 152 (associated with order 151 by Acme Development
`Company) over a respective network connection(e.g., a local
`area network, public network such as the interne, etc.) to the
`license distribution manager 140.
`Based on receipt of the pool oflicense information, the
`license distribution manager 140, in turn, stores the pool of
`license informationin repository 181 as license information
`170 (e.g., labeled A). In other words, the order management
`system 125 and/orlicense distribution manager 140 allocate a
`numberof overdraft licenses in license information 171 (e.g.,
`license pool A‘) for distribution to clients 165. Recall that in
`the present example, the pool of licenses A as specified by
`license information 170 includes one hundred software
`licenses allocated for use by clients 165 (e.g., computer sys-
`tems and/or employees associated with the customer placing
`order 151)
`in computer network environment 100. An
`approval message received from by the license distribution
`manager 140 fromthe order management system 125 or mere
`receipt of the license information 170 and/or license informa-
`tion 171 can indicate thatthe license distribution manager 140
`is free to enable distribution ofthe softwarelicenses in license
`pool A.
`Via an exchange of messages (e.g., messages 153 and
`messages 154), the license distribution manager 140 can ini-
`tially notify respective user 108 that the software licenses
`associated with the order 151 have been approved and/or are
`ready for distribution based onselection by the user 108. The
`user 108 can specify how to distribute the one hundred
`ordered software licenses via one or moreservers (e.g.,com-
`puter system 110, server 160, etc.) as discussed in related U.S.
`patent application entitled “LICENSE DISTRIBUTION,”
`(Ser. No. 11/585,734), filed on the same date as the present
`disclosure, the entire teachings of which are incorporated
`herein by this reference.
`After selection ofa respective server to distribute a set of
`licenses associated with order 151, the licenses are ready for
`distribution. Assumein the present example that the user 108
`(or other decision-making authority) specifies to have the
`licenses in license pool A distributed from a vendor-managed
`server such as computer system 110. In such an example, the
`license distribution manager 140 enables distribution of soft-
`
`30
`
`4
`
`45
`
`5
`
`5
`
`60
`
`65
`
`8
`ware licenses in license pool A to clients 165. In addition to
`enabling

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket