IP Library Granted Patent US 9,430,195
Granted Patent B1
US 9,430,195 · App. 13/044,774 · Granted Aug 30, 2016

Dynamic server graphics

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 9,430,195
App. No.
13/044,774
Granted
Aug 30, 2016
Kind
B1
Abstract

A method of dynamically generating a graphic includes receiving, at a vector graphics engine loaded on a server system, graphic template input; receiving, at the vector graphics engine loaded on the server system, data template input; and generating, at the server system, code in a standard format representative of a vector graphic. The generating includes identifying a special tag associated with the vector graphics engine, converting code associated with this tag from a first format associated with the vector graphics engine to a second standardized format, and binding data content based on the received data template input to graphic content based on the received graphic template input.

Claims (38)

1. A method of rendering a dynamic graphic utilizing a vector graphics engine comprising:

receiving, at a vector graphics engine loaded on a computing device, a graphic template; wherein the graphics template is enabled to contain complex compound primitives and wherein the vector graphics engine is enabled to convert the complex compound primitives into vector graphics output; wherein the complex compound primitive contains code; wherein the code in the complex compound primitive is enabled to be translated by the vector graphics engine into a scalable vector graphics format; wherein the complex primitive supports inheritance to enable creation of additional layers and by enabling the complex compound primitive to be extended in another complex compound primitive that inherits an object of the complex compound primitive; wherein the code is enabled to be converted into high level constructs; wherein the high level constructs include an array construct, grid construct, list construct, and stack construct;

receiving, at the vector graphics engine loaded on the computing device, a data template; wherein the vector graphics engine is enabled to read data from data sources identified in the data template including being enabled to read data from a database; binding, in a data binding process executed by a processor of the computing device, data identified via the data template to vector graphic content identified by the graphic template; and

generating, by the processor of the computing device, vector graphic output that conforms to a particular format, the vector graphic output including the bound data identified via the data template in vector graphic form in accordance with the graphic template.

2. The method of claim 1 , wherein the particular format that the vector graphic output conforms to is the scalable vector graphic (SVG) standard.

3. The method of claim 1 , wherein the graphic template comprises a plurality of other graphic templates.

4. The method of claim 1 , wherein the graphic template comprises a plurality of other graphic templates associated together in an embedded hierarchy.

5. The method of claim 1 , wherein the method includes a step of parsing, by the vector graphics engine loaded on the computing device, source for one or more tags existing in a special namespace.

6. The method of claim 5 , wherein the method includes a step of matching such one or more tags to one or more complex compound primitives programmatically enabled within the vector graphics engine loaded on the computing device.

7. The method of claim 1 , wherein the vector graphics engine loaded on the computing device is configured to convert code representative of high level constructs into the particular format.

8. The method of claim 7 , wherein the high level constructs include an array construct.

9. The method of claim 7 , wherein the high level constructs include a grid construct.

10. The method of claim 7 , wherein the high level constructs include a list construct.

11. The method of claim 7 , wherein the high level constructs include a stack construct.

12. The method of claim 1 , wherein the vector graphics engine is configured to pass through markup standard to the particular format.

13. The method of claim 1 , wherein the computing device is connected to a network.

14. The method of claim 13 , wherein the vector graphics engine loaded on the computing device is configured to process received data asynchronously.

15. The method of claim 13 , wherein the vector graphics engine loaded on the computing device is configured to process received data synchronously.

16. A method of dynamically generating a graphic comprising:

receiving, at a vector graphics engine loaded on a server system, graphic template input; wherein the graphics template is enabled to contain complex compound primitives and wherein the vector graphics engine is enabled to convert the complex compound primitives into vector graphics output;

receiving, at the vector graphics engine loaded on the server system, data template input; wherein the vector graphics engine is enabled to read data from data sources identified in the data template including being enabled to read data from a database; wherein the complex compound primitive contains code; wherein the code in the complex compound primitive is enabled to be translated by the vector graphics engine into a scalable vector graphics format; wherein the complex primitive supports inheritance to enable creation of additional layers by enabling the complex compound primitive to be extended in another complex compound primitive that inherits an object of the complex compound primitive; wherein the code is enabled to be converted into high level constructs; wherein the high level constructs include an array construct, grid construct, list construct, and stack construct; and

generating, at the server system, code in a standard format representative of a vector graphic, said generating comprising;

identifying a special tag associated with the vector graphics engine, converting code associated with this tag from a first format associated with the vector graphics engine to a second standardized format, and binding data content based on the received data template input to graphic content based on the received graphic template input.

17. A computer program product comprising:

a non-transitory computer readable medium encoded with computer executable program code, the code configured to enable the execution of:

receiving, at a vector graphics engine loaded on a server system, graphic template input; wherein the graphics template is enabled to contain complex compound primitives and wherein the vector graphics engine is enabled to convert the complex compound primitives into vector graphics output; wherein the complex compound primitive contains code; wherein the code in the complex compound primitive is enabled to be translated by the vector graphics engine into a scalable vector graphics format; wherein the complex primitive supports inheritance to enable creation of additional layers by enabling the complex compound primitive to be extended in another complex compound primitive that inherits an object of the complex compound primitive; wherein the code is enabled to be converted into high level constructs; wherein the high level constructs include an array construct, grid construct, list construct, and stack construct;

receiving, at the vector graphics engine loaded on the server system, data template input; wherein the vector graphics engine is enabled to read data from data sources identified in the data template including being enabled to read data from a database; and

generating, at the server system, code in a standard format representative of a vector graphic, said generating comprising;

identifying a special tag associated with the vector graphics engine, converting code associated with this tag from a first format associated with the vector graphics engine to a second standardized format, and

binding data content based on the received data template input to graphic content based on the received graphic template input.

18. A computer program product comprising:

a non-transitory computer readable medium encoded with computer executable program code, the code configured to enable the execution of:

receiving, at a vector graphics engine loaded on a computing device, a graphic template; wherein the graphics template is enabled to contain complex compound primitives and wherein the vector graphics engine is enabled to convert the complex compound primitives into vector graphics output; wherein the complex compound primitive contains code; wherein the code in the complex compound primitive is enabled to be translated by the vector graphics engine into a scalable vector graphics format; wherein the complex primitive supports inheritance to enable creation of additional layers by enabling the complex compound primitive to be extended in another complex compound primitive that inherits an object of the complex compound primitive; wherein the code is enabled to be converted into high level constructs; wherein the high level constructs include an array construct, grid construct, list construct, and stack construct;

receiving, at the vector graphics engine loaded on the computing device, a data template; wherein the vector graphics engine is enabled to read data from data sources identified in the data template including being enabled to read data from a database;

binding, in a data binding process executed by a processor of the computing device, data identified via the data template to vector graphic content identified by the graphic template; and

generating, by the processor of the computing device, vector graphic output that conforms to a particular format, the vector graphic output including the bound data identified via the data template in vector graphic form in accordance with the graphic template.

19. The method of claim 18 , wherein the particular format that the vector graphic output conforms to is the scalable vector graphic (SVG) standard.

20. The method of claim 19 , wherein the graphic template comprises a plurality of other graphic templates.

Assignments (11)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL USA L.P.; ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2013
From: PECORARO, ALEXIS SALVATORE; ANTILA, DAVID E; NARKIER, SHEPPARD DAVID; RENAUD, PAUL EDWARD
To: ADAPTIVITY, INC.
Reel/Frame 030540/0772 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 22, 2013
From: ADAPTIVITY, INC.
To: EMC CORPORATION
Reel/Frame 030467/0642 →
SECURITY AGREEMENT Recorded Feb 23, 2012
From: ADAPTIVITY, INC.
To: SILICON VALLEY BANK
Reel/Frame 027750/0600 →