Notice of Pre-AIA or AIA Status
The present application, filed on or after March 16, 2013, is being examined under the first inventor to file provisions of the AIA .
Claim Rejections - 35 USC § 102
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of the appropriate paragraphs of 35 U.S.C. 102 that form the basis for the rejections under this section made in this Office action:
A person shall be entitled to a patent unless –
(a)(1) the claimed invention was patented, described in a printed publication, or in public use, on sale, or otherwise available to the public before the effective filing date of the claimed invention.
(a)(2) the claimed invention was described in a patent issued under section 151, or in an application for patent published or deemed published under section 122(b), in which the patent or application, as the case may be, names another inventor and was effectively filed before the effective filing date of the claimed invention.
Claim(s) 1, 2, 4, 5, 7-9, 11, 12, 14-18, and 20 are rejected under 35 U.S.C. 102(a)(2) as being anticipated by Meyer (United States Patent US 6810389), hereinafter Meyer.
Regarding claim 1, Meyer teaches a computer-implemented method, comprising: receiving, with at least one processor, a configuration set lease request from a client application in response to the client application being launched; in response to receiving the configuration set lease request, determining, with the at least one processor, a unique configuration set from a pool of different configuration sets ([Col. 7 Lines 19-23] “the term "license" is used to designate permission or authorization for a client computer system to use or "implement" (run) a single designated software product, such as a program, or to view data incorporated in the software product.” [Col. 7 Lines 32-35] “The license server 760 receives the license request and determines if the requesting client computer system is allowed to check out or be assigned a license for that program, i.e., allowed to run or use the program.” A client computer system requests a lease of a license, which permits or authorizes the client computer system to use a software program or data in the software product. Configuration is interpreted as a specification or arrangement and selection of hardware and software components of a computer system. A license lease request is a specification or selection of software components of the computer system among a pool of licenses. The pool of licenses is different licenses of various software and various policy for the lease. Furthermore, in response to the request to lease the license, the permission for the client computer to use the request is determined.);
communicating, with the at least one processor, the unique configuration set to the client application; activating, with the at least one processor, a lease of the unique configuration set by associating the client application with the unique configuration set in a lease database and removing the unique configuration set from the pool of different configuration sets ([Col. 7 Lines 35-39] “a license is checked out to a client computer system only if the requesting computer system is allowed to have the requested license according to a predetermined software license policy.” [Col. 7 Lines 19-23] “the term "license" is used to designate permission or authorization for a client computer system to use or "implement" (run) a single designated software product, such as a program, or to view data incorporated in the software product.” [Col. Line 54-Line 665] “If the requesting entity no longer requires the license, at 1530, the license is released… licenses that have been checked out are returned to the pool of available licenses when the licenses are no longer in use. Returning a feature license may in turn make a package license available for use… a package license is returned to an available pool of licenses depends upon the particular licensing policies in use.” The license request is for the software in the client computer. Thus, the software of the client computer, which requests the license, communicates regarding the license. Then, as the license request is granted or checked out, the software is used or activated. Since Meyer teaches that “the license is released…Returning a feature license may in turn make a package license available for use,” the checked-out license is not available in the pool of the available license.);
determining, with the at least one processor, a live status of the client application while the lease is active; in response to determining that the lease is valid based on the live status of the client application, persisting, with the at least one processor, the lease in the lease database ([Col. 51-57] “At 1520 the license is used by the requesting entity. At 1525, a determination is made regarding whether the requesting entity has completed using the license…If the requesting entity is still using the license, use of the license continues at 1520.” A status of the completion of the usage of the license is determined or monitored. When the license is still in the use by the requesting entity, the license remains to be used by the request entity, which makes the license not in available in the pool.); and
in response to determining that the lease is invalid based on the live status of the client application, deactivating, with the at least one processor, the lease of the unique configuration set in the lease database by adding the unique configuration set back to the pool of different configuration sets ([Col. Line 54-Line 665] “If the requesting entity no longer requires the license, at 1530, the license is released… licenses that have been checked out are returned to the pool of available licenses when the licenses are no longer in use. Returning a feature license may in turn make a package license available for use… a package license is returned to an available pool of licenses depends upon the particular licensing policies in use.” In response to the completion of the license usage or when the license is no longer required by the requesting entity, which deactivates the license, the license is returned or added to the pool.).
Regarding claim 2, Meyer teaches receiving a lease termination request from the client application in response to an indication that the client application is finished using the unique configuration set; and in response to receiving the lease termination request, deactivating the lease of the unique configuration set in the lease database by adding the unique configuration set back to the pool of different configuration sets ([Col. Line 54-Line 665] “If the requesting entity no longer requires the license, at 1530, the license is released… licenses that have been checked out are returned to the pool of available licenses when the licenses are no longer in use. Returning a feature license may in turn make a package license available for use… a package license is returned to an available pool of licenses depends upon the particular licensing policies in use.”).
Regarding claim 4, Meyer teaches wherein the lease database is at least one of the following: a NoSQL database, an in-memory database, a filesystem store, or any combination thereof ([Col. 7 Lines 40-50] “Internal database 765 can be implemented on a standard storage device or memory device coupled to the license server 760,…a license file, a hard drive can store license data…the internal license database”).
Regarding claim 5, Meyer teaches wherein the unique configuration set comprises data configured for a computing environment of the client application (FIG. 8 “M-package license 800” [Col. 8 Lines 22-24] “M-package license 800 includes a package definition string 805 that is used to specify a grouping mode for features.” FIG. 13-15. The M-package license specify policy or an environment that how the license is granted for parent licenses and child licenses for the software in the client computer.).
Regarding claim 7, Meyer teaches adding the unique configuration set back to the pool of different configuration sets; and updating the lease database by removing the association between the unique configuration set and the client application, such that the unique configuration set is not associated with any client applications ([Col. 9 Lines 52-61] “At 1525, a determination is made regarding whether the requesting entity has completed using the license. If the requesting entity no longer requires the license, at 1530, the license is released…licenses that have been checked out are returned to the pool of available licenses when the licenses are no longer in use. Returning a feature license may in turn make a package license available for use.” As the license is returned to the pool of the available licenses, the license for the software of the client computer is no longer available, which removes the permission of the license for the software in the client computer or the association between the license and the client application.).
Regarding claim(s) 8, 9, 11, 12, and 14, the claim(s) 8, 9, 11, 12, and 14 are the apparatus claims of the method claim(s) 1, 2, 4, 5, and 7. The claim(s) 8, 9, 11, 12, and 14 do not further teach or define the limitation over the limitations recited in the rejected claims above. Therefore, Meyer teaches all the limitations of the claim(s) 8, 9, 11, 12, and 14.
Regarding claim(s) 15-18 and 20, the claim(s) 15-18 and 20 are a computer program product, the computer program product comprising at least one non-transitory computer readable medium including one or more instructions of the method claim(s) 1, 2, 4, 5, and 7. Meyer further teaches a computer program product, the computer program product comprising at least one non-transitory computer readable medium including one or more instructions that, when executed by at least one processor, cause the at least one processor ([Col. 14 line 65 – Col. 15 Line 1] “As known to those skilled in the art, the program code corresponding to implement aspects of the present invention may all be stored on a computer-readable medium.”). The claim(s) 15-18 and 20 does(do) not further teach or define the limitation over the limitations recited in the rejected claims above. Therefore, Meyer teaches all the limitations of the claim(s) 15-18 and 20.
Claim Rejections - 35 USC § 103
In the event the determination of the status of the application as subject to AIA 35 U.S.C. 102 and 103 (or as subject to pre-AIA 35 U.S.C. 102 and 103) is incorrect, any correction of the statutory basis (i.e., changing from AIA to pre-AIA ) for the rejection will not be considered a new ground of rejection if the prior art relied upon, and the rationale supporting the rejection, would be the same under either status.
The following is a quotation of 35 U.S.C. 103 which forms the basis for all obviousness rejections set forth in this Office action:
A patent for a claimed invention may not be obtained, notwithstanding that the claimed invention is not identically disclosed as set forth in section 102, if the differences between the claimed invention and the prior art are such that the claimed invention as a whole would have been obvious before the effective filing date of the claimed invention to a person having ordinary skill in the art to which the claimed invention pertains. Patentability shall not be negated by the manner in which the invention was made.
Claim(s) 3 and 10 are rejected under 35 U.S.C. 103 as being unpatentable over Meyer in view of Wellum et al. (United States Patent Application Publication US 2023/0267010), hereinafter Wellum.
Regarding claim 3, Meyer teaches all the limitations of the computer-implemented method of claim 2, as discussed above.
However, Meyer does not teach wherein the configuration set lease request and the lease termination request are Representational State Transfer (RESTful) Application Programming Interface (API) requests.
Wellum teaches wherein the configuration set lease request and the lease termination request are Representational State Transfer (RESTful) Application Programming Interface (API) requests ([0225] “In a manner similar to cloud providers, such a software provider may own and/or operate one of the source devices 2100sft to serve as a customer interaction device by which customers seeking to lease or purchase licenses for software for a computing cluster may obtain information concerning different types of licensing offered by that software provider under various leasing or purchasing arrangements.” [0212] “the control device(s) 1350 may communicate with the requesting device(s) 1370 and with the node device(s) 1330 through portions of a network 1399 extending thereamong… It may be that one or more instances of a control routine 1354 cause the instantiation and maintenance of a web portal or other variety of portal that is based on any of a variety of communication protocols, etc. (e.g., a restful API).”).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified Meyer by incorporating the teaching of Wellum of Representational State Transfer (RESTful) Application Programming Interface (API) requests. They are all directed toward licenses for software. As well known in the art before the effective filing date of the claimed invention, the RESTful APIs provides flexibility and independence by separating the client and server concerns and simplicity by using standard HTTP methods that are familiar to most developers. Therefore, it would be advantageous to incorporate the teaching of Wellum of Representational State Transfer (RESTful) Application Programming Interface (API) requests in order to provide flexibility and simplicity.
Regarding claim(s) 10, the claim(s) 10 is the apparatus claim of the method claim(s) 3. The claim(s) 10 does not further teach or define the limitation over the limitations recited in the rejected claims above. Therefore, Meyer in view of Wellum teaches all the limitations of the claim(s) 10.
Claim(s) 6, 13, and 19 are rejected under 35 U.S.C. 103 as being unpatentable over Meyer in view of Stickle et al. (United States Patent US 9846899), hereinafter Stickle.
Regarding claim 6, Meyer teaches all the limitations of the computer-implemented method of claim 1, as discussed above.
However, Meyer does not explicitly teach storing a unique instance identifier (ID) wherein the unique instance ID is associated with the unique configuration set and an instance of the client application; and storing a configuration set ID, wherein the configuration set ID is associated with the instance of the client application; wherein the unique instance ID is associated with the instance of the client application and cannot be associated with any other instances of the client application or with any other client applications.
Stickle teaches storing a unique instance identifier (ID) wherein the unique instance ID is associated with the unique configuration set and an instance of the client application; and storing a configuration set ID, wherein the configuration set ID is associated with the instance of the client application; wherein the unique instance ID is associated with the instance of the client application and cannot be associated with any other instances of the client application or with any other client applications ([Col. 5 Lines 6-31] “The database can include a licensing table 328 having a plurality of fields. The example illustrated fields include a customer number, an account number, license information (e.g., master key number, expiration date, etc.), ephemeral license information (e.g., ephemeral license numbers, expiration dates, etc.), an instance identification, etc. Thus, the licensing table can include the information needed to provision an ephemeral license to the application instance 310 through the licensing module 314. The database 326 can also include information regarding a pool of licenses from which the ephemeral licenses are pulled and provisioned. The licensing module 314 can further communicate with the metadata service 209. The metadata service can include a metadata service engine 340 and a database 342… the identification information can include attributes associated with an environment in which the software application instance is executing… an account identification, a unique identifier of the software application instance, a configuration of the software application instance,” As shown in FIG. 3, the tables include customer number, an account number, that indicates the client application information. The tables further include instance ID, which is associated with the license, a customer, and an account information. As each instance is given with its instance ID, which is associated with the customer ID, the account ID, license information.).
It would have been obvious to one of ordinary skill in the art before the effective filing date of the claimed invention to have modified the teaching of Meyer by modifying the teaching of Stickle of storing a unique instance identifier (ID) wherein the unique instance ID is associated with the unique configuration set and an instance of the client application; and storing a configuration set ID, wherein the configuration set ID is associated with the instance of the client application; wherein the unique instance ID is associated with the instance of the client application and cannot be associated with any other instances of the client application or with any other client applications. They are all directed toward license of software. As recognized by Stickle, in virtualized and cloud computing environments, it is very hard to tie the use of a specific instance of a software tool or application to a customer as software instances run in an abstracted environment that can grow or shrink as needed, which stresses many suppliers licensing and pricing models (Background). By organizing and storing the license and instances using its identifier, each instance associated with its own customer identifier and an identifier of software application instance, the tracking of each instance can be effectively tracked and monitored. Therefore, it would be advantageous to incorporate the teaching of Stickle of storing a unique instance identifier (ID) wherein the unique instance ID is associated with the unique configuration set and an instance of the client application; and storing a configuration set ID, wherein the configuration set ID is associated with the instance of the client application; wherein the unique instance ID is associated with the instance of the client application and cannot be associated with any other instances of the client application or with any other client applications in order to effectively monitor each instance.
Regarding claim(s) 13, the claim(s) 13 is the apparatus claim of the method claim(s) 6. The claim(s) 13 does not further teach or define the limitation over the limitations recited in the rejected claims above. Therefore, Meyer in view of Stickle teaches all the limitations of the claim(s) 13.
Regarding claim(s) 19, the claim(s) 19 is a computer program product, the computer program product comprising at least one non-transitory computer readable medium including one or more instructions of the method claim(s) 6. Meyer further teaches a computer program product, the computer program product comprising at least one non-transitory computer readable medium including one or more instructions that, when executed by at least one processor, cause the at least one processor ([Col. 14 line 65 – Col. 15 Line 1] “As known to those skilled in the art, the program code corresponding to implement aspects of the present invention may all be stored on a computer-readable medium.”). The claim(s) 19 does(do) not further teach or define the limitation over the limitations recited in the rejected claims above. Therefore, Meyer in view of Stickle teaches all the limitations of the claim(s) 19.
Conclusion
The prior art made of record and not relied upon is considered pertinent to applicant's disclosure.
Ohkado (United States Patent US 8640209) teaches to facilitate changing authentication information in an environment having two or more configuration items.
Viavant et al. (United States Patent Application Publication US 2004/0243691) teaches ensuring an allowable client configuration for an application by downloading and executing an analysis application to gather configuration data.
Any inquiry concerning this communication or earlier communications from the examiner should be directed to HYUN SOO KIM whose telephone number is (571)270-1768. The examiner can normally be reached Monday - Friday 8:30 am - 5:30 pm.
Examiner interviews are available via telephone, in-person, and video conferencing using a USPTO supplied web-based collaboration tool. To schedule an interview, applicant is encouraged to use the USPTO Automated Interview Request (AIR) at http://www.uspto.gov/interviewpractice.
If attempts to reach the examiner by telephone are unsuccessful, the examiner’s supervisor, Jaweed Abbaszadeh can be reached at (571)270-1640. The fax phone number for the organization where this application or proceeding is assigned is 571-273-8300.
Information regarding the status of published or unpublished applications may be obtained from Patent Center. Unpublished application information in Patent Center is available to registered users. To file and manage patent submissions in Patent Center, visit: https://patentcenter.uspto.gov. Visit https://www.uspto.gov/patents/apply/patent-center for more information about Patent Center and https://www.uspto.gov/patents/docx for information about filing in DOCX format. For additional questions, contact the Electronic Business Center (EBC) at 866-217-9197 (toll-free). If you would like assistance from a USPTO Customer Service Representative, call 800-786-9199 (IN USA OR CANADA) or 571-272-1000.
/HYUN SOO KIM/Examiner, Art Unit 2176