IP Library Granted Patent US 10,509,631
Granted Patent B2
US 10,509,631 · App. 15/953,766 · Granted Dec 17, 2019

Techniques for generating customized software

Inventors: Wei Duan (Sichuan, CN); Qiang Ma (Chengdu, CN); Jia Rui Tang (Sichuan, CN)
Assignee: EMC IP Holding Company LLC
G06F8/34G06F9/4843G06F11/3684G06F11/3688
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,509,631
App. No.
15/953,766
Granted
Dec 17, 2019
Kind
B2
Abstract

Techniques for customizing a software product may include receiving customization information describing customizations to the software product requested by a user; submitting a request including the customization information to a web service; and responsive to receiving the request, performing processing comprising: creating, by the web service, a new job to generated a customized version of the software product in accordance with the customization information of the request; automatically generating at least one customized file in accordance with the customization information; generating the customized version of the software product including the at least one customized file; and testing the customized version of the software product.

Claims (67)

1. A method of customizing a software product comprising:

displaying a user interface of a generation wizard to the user, wherein the user interface includes a first portion comprising a table listing customizable features of the software product and wherein the user interface includes a second portion used to preview any customization made to the software product using the first portion, wherein the second portion includes a tabbed list of a plurality of screenshots and associated screenshot identifiers, and wherein the table of the first portion includes, for each of the customizable features, an index uniquely identifying said each customizable feature and wherein the index for said each customizable feature includes a screenshot identifier of one of the plurality of screenshots of the tabbed list;

receiving customization information describing customizations to the software product requested by a user at a first point in time;

submitting a request including the customization information to a web service;

responsive to receiving the request, performing processing comprising:

creating, by the web service, a new job to generate a first customized version of the software product in accordance with the customization information of the request for the first point in time;

automatically generating at least one customized file in accordance with the customization information for the first customized version of the software product;

generating a template for the first customized version based on the customization information of the request for the first point in time;

generating the first customized version of the software product including the at least one customized file; and

testing the first customized version of the software product.

2. The method of claim 1 , wherein the processing further comprises:

automatically generating a new test case in accordance with the customization information, and wherein said testing includes executing code that includes the new test case.

3. The method of claim 1 , wherein said testing includes selecting one or more tests which test features of the software product affected by the customizations requested by the user.

4. The method of claim 1 , further comprising:

loading, at a second point in time subsequent to the first point in time, the template that includes the customization information describing customizations made to the software product from the first point in time;

receiving, at a third point time subsequent to the second point in time, additional customization information specified by the user, wherein the additional customization information describes at least one additional customization to the software product requested by the user at the third point in time; and

creating a new template for a second customized version of the software product, wherein the template includes customizations specified by the template from the first point in time and includes the at least one additional customization described by the additional customization information from the third point in time.

5. The method of claim 4 , wherein the generation wizard is used in connection with generating customized versions of the software product.

6. The method of claim 5 , wherein the method further comprises:

specifying, using the user interface of the generation wizard, a first customization to the software product; and

in response to said specifying, automatically updating the second portion of the user interface of the generation wizard to display the result of the first customization.

7. The method of claim 6 , wherein the displayed result of the first customization is performed without generating the first customized version of the software product.

8. The method of claim 6 , wherein the first customization includes a modification to information displayed in a user interface of the first customized version of the software product.

9. The method of claim 6 , wherein the first customization includes a modification to an icon displayed in a user interface of the first customized version of the software product.

10. The method of claim 9 , wherein specifying the first customization includes providing an image file for a customized image to be displayed in a user interface of the first customized version of the software product rather than a default image.

11. The method of claim 6 , wherein the first customization includes specifying a customized link displayed in a user interface of the first customized version of the software product and wherein, when the customized link is selected during execution of the first customized version of the software product, transfers control to a customized location identified in the first customization.

12. The method of claim 6 , wherein the first customization includes modify an attribute of a user interface element that is displayed in a user interface of the first customized version of the software product, wherein the first customization includes modifying a default value for the attribute to a customized value for the attribute.

13. The method of claim 12 , wherein the attribute affects a visual aspect of the user interface element.

14. The method of claim 4 , wherein said processing includes:

determining whether testing of the first customized version of the software product has completed successfully; and

responsive to determining the first customized version of the software product has completed successfully, providing a notification to the user, wherein the notification identifies a website location from which the first customized version of the software product is downloadable.

15. The method of claim 1 , further comprising:

periodically determining statuses of jobs, wherein each of the jobs has been created as a result of a different request for customizations to the software product, wherein said different request is made using the generation wizard; and

updating displayed information for the jobs in accordance with the statuses determined.

16. A system comprising:

at least one processor; and

a memory comprising code stored thereon, that when executed, performs a method of customizing a software product comprising:

displaying a user interface of a generation wizard to the user, wherein the user interface includes a first portion comprising a table listing customizable features of the software product and wherein the user interface includes a second portion used to preview any customization made to the software product using the first portion, wherein the second portion includes a tabbed list of a plurality of screenshots and associated screenshot identifiers, and wherein the table of the first portion includes, for each of the customizable features, an index uniquely identifying said each customizable feature and wherein the index for said each customizable feature includes a screenshot identifier of one of the plurality of screenshots of the tabbed list;

receiving customization information describing customizations to the software product requested by a user at a first point in time;

submitting a request including the customization information to a web service;

responsive to receiving the request, performing processing comprising:

creating, by the web service, a new job to generate a first customized version of the software product in accordance with the customization information of the request for the first point in time;

automatically generating at least one customized file in accordance with the customization information for the first customized version of the software product;

generating a template for the first customized version based on the customization information of the request for the first point in time;

generating the first customized version of the software product including the at least one customized file; and

testing the first customized version of the software product.

17. A non-transitory computer readable medium comprising code that, when executed, performs a method of customizing a software product comprising:

displaying a user interface of a generation wizard to the user, wherein the user interface includes a first portion comprising a table listing customizable features of the software product and wherein the user interface includes a second portion used to preview any customization made to the software product using the first portion, wherein the second portion includes a tabbed list of a plurality of screenshots and associated screenshot identifiers, and wherein the table of the first portion includes, for each of the customizable features, an index uniquely identifying said each customizable feature and wherein the index for said each customizable feature includes a screenshot identifier of one of the plurality of screenshots of the tabbed list;

receiving customization information describing customizations to the software product requested by a user at a first point in time;

submitting a request including the customization information to a web service;

responsive to receiving the request, performing processing comprising:

creating, by the web service, a new job to generate a first customized version of the software product in accordance with the customization information of the request for the first point in time;

automatically generating at least one customized file in accordance with the customization information for the first customized version of the software product;

generating a template for the first customized version based on the customization information of the request for the first point in time;

generating the first customized version of the software product including the at least one customized file; and

testing the first customized version of the software product.

18. The non-transitory computer readable medium of claim 17 , wherein the processing further comprises:

automatically generating a new test case in accordance with the customization information, and wherein said testing includes executing code that includes the new test case.

19. The non-transitory computer readable medium of claim 17 , wherein said testing includes selecting one or more tests which test features of the software product affected by the customizations requested by the user.

20. The non-transitory computer readable medium of claim 17 , wherein the method further comprises:

loading, at a second point in time subsequent to the first point in time, the template that includes the customization information describing customizations made to the software product from the first point in time;

receiving, at a third point time subsequent to the second point in time, additional customization information specified by the user, wherein the additional customization information describes at least one additional customization to the software product requested by the user at the third point in time; and

creating a new template for a second customized version of the software product, wherein the template includes customizations specified by the template from the first point in time and includes the at least one additional customization described by the additional customization information from the third point in time.

21. The non-transitory computer readable medium of claim 20 , wherein the generation wizard is used in connection with generating customized versions of the software product.

22. The non-transitory computer readable medium of claim 21 , wherein the method further comprises:

specifying, using the user interface of the generation wizard, a first customization to the software product; and

in response to said specifying, automatically updating the second portion of the user interface of the generation wizard to display the result of the first customization.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (046366/0014) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060450/0306 →
RELEASE OF SECURITY INTEREST AT REEL 046286 FRAME 0653 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0093 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 046286/0653 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Jun 1, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 046366/0014 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 16, 2018
From: DUAN, WEI; MA, QIANG; TANG, JIA RUI
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 045552/0201 →
Continuity (1)
Related Publication 20190317735A1 · Oct 17, 2019