← Back to Patent Explorer
US5812136A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for fast rendering of a three dimensional graphical object

Assignee: Microsoft Technology Licensing LLC
•
Filing: 1996-10-30
•
Granted: 1998-09-22
•
Expires: 2016-10-30
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A system and method for fast rendering of three dimensional graphics is presented. The system and method of the present invention renders an object using one or more encapsulated execute buffers. Each execute buffer comprises a vertex pool having a plurality of vertices which together define at least a portion of the object to be rendered. The vertex pool allows a large degree of vertex sharing to occur when rendering that portion of the object defined by the vertex pool and thus reduces the number of vertices that must be processed by a graphic subsystem in order to render that portion of the object. An encapsulated execute buffer also comprises an instruction stream that contains instructions for controlling the execution of the graphic subsystem with respect to the vertex pool so that the graphic subsystem will appropriately process the vertices of the vertex pool and render that portion of the object defined by the vertex pool. Graphics subsystems of the present invention are optimized to process encapsulated execute buffers.

Inventors

  • 👤 Servan Keondjian

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-09 15:26
CPC Classifications
G; G06; G06T; G06T15/00

Claims Analysis

Total Claims: 56
Claim 1
Independent Claim 169 words
A method of rendering and displaying a three dimensional object using a computer system having a central processing unit (CPU) and a means for implementing one or more graphical functions such as coordinate transformation, object lighting and rasterizing, the method comprising the steps of: said CPU defining at least one vertex pool comprised of a plurality of vertices which together define at least a portion of the object to be rendered; said CPU forming at least one encapsulated execute buffer by joining together an instruction stream with said at least one vertex pool so that the encapsulated execute buffer serves as a contained unit adapted for processing by said means for implementing, and wherein said instruction stream contains program code means for controlling the execution of one or more of said graphical functions with respect to said at least one vertex pool; and said CPU causing said at least one execute buffer to be processed by said means for implementing so at to graphically render said three dimensional object.
Claim 2
Independent Claim 169 words
A method of rendering and displaying a three dimensional object using a computer system having a central processing unit (CPU) and a means for implementing one or more graphical functions such as coordinate transformation, object lighting and rasterizing, the method comprising the steps of: said CPU defining at least one vertex pool comprised of a plurality of vertices which together define at least a portion of the object to be rendered; said CPU forming at least one encapsulated execute buffer by joining together an instruction stream with said at least one vertex pool so that the encapsulated execute buffer serves as a contained unit adapted for processing by said means for implementing, and wherein said instruction stream contains program code means for controlling the execution of one or more of said graphical functions with respect to said at least one vertex pool; and said CPU causing said at least one execute buffer to be processed by said means for implementing so at to graphically render said three dimensional object.
Claim 3
Dependent Claim 62 words
A method of rendering and displaying a three dimensional object as recited in claim 1 wherein said at least one vertex pool is sized such that when said at least one vertex pool is processed by said means for implementing, the vertices of said at least one vertex pool can be contained within an internal vertex buffer of said means for implementing.
Claim 4
Dependent Claim 52 words
A method of rendering and displaying a three dimensional object as recited in claim 1 wherein said CPU chooses the vertices that are used to define said at least one vertex pool from a substantially localized area in order to increase the amount of vertex sharing among vertices in said vertex pool.
Claim 5
Dependent Claim 44 words
A method of rendering and displaying a three dimensional object as recited in claim 1 wherein said CPU creates a plurality of encapsulated execute buffers so that as one execute buffer is being processed by said means for implementing, another buffer is being created.
Claim 6
Dependent Claim 56 words
A method of rendering and displaying a three dimensional object as recited in claim 1 wherein said instruction stream is organized to minimize the number of times that the state of said means for implementing is changed by changing at least one parameter used by said means for implementing to perform one or more graphical functions.
Claim 7
Dependent Claim 51 words
A method of rendering and displaying a three dimensional object as recited in claim 1 wherein said instruction stream comprises program code means that change the state of said means for implementing by changing at least one parameter used by said means for implementing to perform one or more graphical functions.
Claim 8
Independent Claim 200 words
A method of rendering and displaying a three dimensional object using a computer system having a central processing unit (CPU) and a means for implementing one or more graphical functions such as coordinate transformation, object lighting and rasterizing, the method comprising the steps of: said CPU defining at least one vertex pool comprised of a plurality of vertices which together define at least a portion of the object to be rendered, said CPU selecting said plurality of vertices from at least one substantially localized area so as to increase the vertex sharing among the vertices of said at least one vertex pool; said CPU forming at least one encapsulated execute buffer by joining together an instruction stream with said at least one vertex pool so that the encapsulated execute buffer serves as a contained unit adapted for processing by said means for implementing, and wherein said instruction stream contains program code means for controlling the execution of one or more of said graphical functions with respect to said at least one vertex pool; and said CPU causing said at least one execute buffer to be processed by said means for implementing so at to graphically render said three dimensional object.
Claim 9
Independent Claim 200 words
A method of rendering and displaying a three dimensional object using a computer system having a central processing unit (CPU) and a means for implementing one or more graphical functions such as coordinate transformation, object lighting and rasterizing, the method comprising the steps of: said CPU defining at least one vertex pool comprised of a plurality of vertices which together define at least a portion of the object to be rendered, said CPU selecting said plurality of vertices from at least one substantially localized area so as to increase the vertex sharing among the vertices of said at least one vertex pool; said CPU forming at least one encapsulated execute buffer by joining together an instruction stream with said at least one vertex pool so that the encapsulated execute buffer serves as a contained unit adapted for processing by said means for implementing, and wherein said instruction stream contains program code means for controlling the execution of one or more of said graphical functions with respect to said at least one vertex pool; and said CPU causing said at least one execute buffer to be processed by said means for implementing so at to graphically render said three dimensional object.
Claim 10
Dependent Claim 67 words
A method of rendering and displaying a three dimensional object as recited in claim 7 wherein said at least one encapsulated execute buffer is formed in memory shared by said CPU and said means for implementing such that after said encapsulated execute buffer is formed in said memory, said means for implementing can retrieve the information of said at least one encapsulated execute buffer from said memory.
Claim 11
Dependent Claim 51 words
A method of rendering and displaying a three dimensional object as recited in claim 8 wherein said instruction stream comprises program code means that changes the state of said means for implementing by changing at least one parameter used by said means for implementing to perform one or more graphical functions.
Claim 12
Dependent Claim 46 words
A method of rendering and displaying a three dimensional object as recited in claim 9 wherein said instruction stream comprises indices into said at least one vertex pool so that said instruction stream can identify vertices from said at least one vertex pool to operate on.
Claim 13
Dependent Claim 62 words
A method of rendering and displaying a three dimensional object as recited in claim 10 wherein said at least one vertex pool is sized such that when said at least one vertex pool is processed by said means for implementing, the vertices of said at least one vertex pool can be contained within an internal vertex buffer of said means for implementing.
Claim 14
Dependent Claim 240 words
In a computer system comprising a central processing unit (CPU) and a graphic subsystem comprising one or more of means for coordinate transformation of vertices defining at least a portion of a graphical object, means for lighting said vertices and means for rasterizing, a method of rendering a three dimensional graphical object comprising the steps of: said graphic subsystem establishing access to an encapsulated execute buffer so that vertices and program code means can be retrieved therefrom, said encapsulated execute buffer being formed by joining together at least one vertex pool comprised of a plurality of vertices which together define at least a portion of a three dimensional object to be rendered and an instruction stream comprising program code means for controlling said one or more of means for coordinate transformation, means for lighting and means for rasterizing; said graphic subsystem retrieving program code means from said instruction stream; and said graphic subsystem generating in response to said retrieved program code means appropriate controls to cause said one or more of means for coordinate transformation, said means for lighting, and said means for rasterizing to perform a function designated by said retrieved program code means, such that by retrieving the program code means in said instruction stream of the encapsulated execute buffer and generating controls in response to said retrieved program code means the three dimensional object defined by the vertices in said at least one vertex pool is rendered.
Claim 15
Dependent Claim 240 words
In a computer system comprising a central processing unit (CPU) and a graphic subsystem comprising one or more of means for coordinate transformation of vertices defining at least a portion of a graphical object, means for lighting said vertices and means for rasterizing, a method of rendering a three dimensional graphical object comprising the steps of: said graphic subsystem establishing access to an encapsulated execute buffer so that vertices and program code means can be retrieved therefrom, said encapsulated execute buffer being formed by joining together at least one vertex pool comprised of a plurality of vertices which together define at least a portion of a three dimensional object to be rendered and an instruction stream comprising program code means for controlling said one or more of means for coordinate transformation, means for lighting and means for rasterizing; said graphic subsystem retrieving program code means from said instruction stream; and said graphic subsystem generating in response to said retrieved program code means appropriate controls to cause said one or more of means for coordinate transformation, said means for lighting, and said means for rasterizing to perform a function designated by said retrieved program code means, such that by retrieving the program code means in said instruction stream of the encapsulated execute buffer and generating controls in response to said retrieved program code means the three dimensional object defined by the vertices in said at least one vertex pool is rendered.
Claim 16
Dependent Claim 48 words
A method of rendering a three dimensional graphical object as recited in claim 12 wherein said encapsulated execute buffer resides in shared memory and access to said encapsulated execute buffer is achieved by reading said at least one vertex pool and said instruction stream from said shared memory.
Claim 17
Dependent Claim 62 words
A method of rendering a three dimensional graphical object as recited in claim 12 wherein said retrieved program code means comprises indices into said at least one vertex pool so that one or more of said means for coordinate transformation, said means for lighting, and said means for rasterizing can access one or more vertices of said at least one vertex pool.
Claim 18
Dependent Claim 52 words
A method of rendering a three dimensional graphical object as recited in claim 12 wherein said graphic subsystem comprises an internal vertex buffer and wherein as vertices from said at least one vertex pool are transformed by said means for coordinate transformation, said transformed vertices are placed in said internal vertex buffer.
Claim 19
Dependent Claim 51 words
A method of rendering a three dimensional graphical object as recited in claim 12 wherein said graphic subsystem comprises an internal vertex buffer and wherein as vertices from said at least one vertex pool are lit by said means for lighting, said lit vertices are placed in said internal vertex buffer.
Claim 20
Dependent Claim 41 words
A method of rendering a three dimensional graphical object as recited in claim 12 wherein said graphic subsystem comprises an internal vertex buffer and wherein vertices to be rasterized by said means for rasterizing are retrieved from said internal vertex buffer.
Claim 21
Dependent Claim 218 words
In a computer having a central processing unit (CPU), a subsystem for rendering a three dimensional object by processing encapsulated execute buffers formed by joining together at least one vertex pool comprised of a plurality of vertices which together define at least a portion of the object to be rendered and an instruction stream comprising program code means for controlling the execution of said graphic subsystem, said subsystem comprising: means for implementing one or more graphical functions comprising at least one of coordinate transformation, object lighting and rasterizing; means for accessing and retrieving vertices and program code means stored in an encapsulated execute buffer formed by joining together at least one vertex pool comprised of a plurality of vertices which together define at least a portion of an object to be rendered and an instruction stream comprising program code means for controlling said means for implementing in order to control the rendering of said object; and means for decoding said instruction stream and for controlling said means for implementing in response to said decoded instruction stream with respect to said at least one vertex pool, so that said means for implementing performs one or more of transformation, object lighting, and rasterizing in response to said instruction stream to render said object from said at least one vertex pool.
Claim 22
Dependent Claim 218 words
In a computer having a central processing unit (CPU), a subsystem for rendering a three dimensional object by processing encapsulated execute buffers formed by joining together at least one vertex pool comprised of a plurality of vertices which together define at least a portion of the object to be rendered and an instruction stream comprising program code means for controlling the execution of said graphic subsystem, said subsystem comprising: means for implementing one or more graphical functions comprising at least one of coordinate transformation, object lighting and rasterizing; means for accessing and retrieving vertices and program code means stored in an encapsulated execute buffer formed by joining together at least one vertex pool comprised of a plurality of vertices which together define at least a portion of an object to be rendered and an instruction stream comprising program code means for controlling said means for implementing in order to control the rendering of said object; and means for decoding said instruction stream and for controlling said means for implementing in response to said decoded instruction stream with respect to said at least one vertex pool, so that said means for implementing performs one or more of transformation, object lighting, and rasterizing in response to said instruction stream to render said object from said at least one vertex pool.
Claim 23
Dependent Claim 34 words
A subsystem as recited in claim 18 further comprising means for directly accessing said means for implementing so that said one or more graphical functions of said means for implementing may be accessed directly.
Claim 24
Dependent Claim 37 words
A subsystem as recited in claim 18 further comprising means for directly accessing said means for implementing so that parameters affecting the functioning of said means for implementing may be set through said means for directly accessing.
Claim 25
Dependent Claim 36 words
A subsystem as recited in claim 18 further comprising means for forming an internal vertex buffer that can be used by said means for implementing to store the results of said one or more graphical functions.
Claim 26
Dependent Claim 20 words
A subsystem as recited in claim 21 wherein the means for forming an internal vertex buffer comprises fast cache memory.
Claim 27
Dependent Claim 47 words
A subsystem as recited in claim 18 wherein said encapsulated execute buffer resides in memory accessible by both said graphical subsystem and said CPU and wherein said means for accessing and retrieving retrieves vertices and program code means stored in said encapsulated execute buffer from said memory.
Claim 28
Dependent Claim 25 words
A subsystem as recited in claim 18 wherein said means for implementing comprises means for coordinate transformation, means for object lighting and means for rasterizing.
Claim 29
Dependent Claim 244 words
In a computer having a central processing unit (CPU), a subsystem for rendering a three dimensional object by processing encapsulated execute buffers formed by joining together at least one vertex pool comprised of a plurality of vertices which together define at least a portion of the object to be rendered and an instruction stream comprising program code means for controlling the execution of said graphic subsystem, said subsystem comprising: means for implementing one or more graphical functions comprising at least one of coordinate transformation, object lighting and rasterizing; means for directly accessing said means for implementing so that said one or more graphical functions may be accessed directly through said means for directly accessing; means for accessing and retrieving vertices and program code means stored in an encapsulated execute buffer formed by joining together at least one vertex pool comprised of a plurality of vertices which together define at least a portion of an object to be rendered and an instruction stream comprising program code means for controlling said means for implementing in order to control the rendering of said object; and means for decoding said instruction stream and for controlling said means for implementing in response to said decoded instruction stream with respect to said at least one vertex pool, so that said means for implementing performs one or more of transformation, object lighting, and rasterizing in response to said instruction stream to render said object from said at least one vertex pool.
Claim 30
Dependent Claim 244 words
In a computer having a central processing unit (CPU), a subsystem for rendering a three dimensional object by processing encapsulated execute buffers formed by joining together at least one vertex pool comprised of a plurality of vertices which together define at least a portion of the object to be rendered and an instruction stream comprising program code means for controlling the execution of said graphic subsystem, said subsystem comprising: means for implementing one or more graphical functions comprising at least one of coordinate transformation, object lighting and rasterizing; means for directly accessing said means for implementing so that said one or more graphical functions may be accessed directly through said means for directly accessing; means for accessing and retrieving vertices and program code means stored in an encapsulated execute buffer formed by joining together at least one vertex pool comprised of a plurality of vertices which together define at least a portion of an object to be rendered and an instruction stream comprising program code means for controlling said means for implementing in order to control the rendering of said object; and means for decoding said instruction stream and for controlling said means for implementing in response to said decoded instruction stream with respect to said at least one vertex pool, so that said means for implementing performs one or more of transformation, object lighting, and rasterizing in response to said instruction stream to render said object from said at least one vertex pool.
Claim 31
Dependent Claim 26 words
A subsystem as recited in claim 25 wherein parameters affecting the functioning of said means for implementing may be set through said means for directly accessing.
Claim 32
Dependent Claim 46 words
A subsystem as recited in claim 26 wherein said encapsulated execute buffer resides in memory accessible by both said subsystem and said CPU and wherein said means for accessing and retrieving retrieves vertices and program code means stored in said encapsulated execute buffer from said memory.
Claim 33
Dependent Claim 36 words
A subsystem as recited in claim 27 further comprising means for forming an internal vertex buffer that can be used by said means for implementing to store the results of said one or more graphical functions.
Claim 34
Dependent Claim 20 words
A subsystem as recited in claim 28 wherein said means for forming an internal vertex buffer comprises fast cache memory.
Claim 35
Dependent Claim 25 words
A subsystem as recited in claim 28 wherein said means for implementing comprises means for coordinate transformation, means for object lighting and means for rasterizing.
Claim 36
Dependent Claim 28 words
A subsystem as recited in claim 30 wherein said means for coordinate transformation places vertices that have been transformed into said means for forming an internal vertex buffer.
Claim 37
Dependent Claim 28 words
A subsystem as recited in claim 31 wherein said means for object lighting places vertices that have been lit into said means for forming an internal vertex buffer.
Claim 38
Dependent Claim 26 words
A subsystem as recited in claim 32 wherein said means for rasterizing reads vertices to be rasterized from said means for forming an internal vertex buffer.
Claim 39
Dependent Claim 147 words
A computer-readable medium having computer-executable instructions comprising: means for defining at least one vertex pool comprised of a plurality of vertices which together define at least a portion of a three dimensional graphical object to be rendered; means for forming at least one encapsulated execute buffer by joining together an instruction stream with said at least one vertex pool so that the encapsulated execute buffer serves as a contained unit adapted for processing by means for implementing one or more graphical functions comprising at least one of coordinate transformation, object lighting and rasterizing, and wherein said instruction stream contains program code means for controlling the execution of one or more of said graphical functions with respect to said at least one vertex pool; and means for causing said execute buffer to be processed by said means for implementing so at to graphically render said three dimensional object.
Claim 40
Dependent Claim 147 words
A computer-readable medium having computer-executable instructions comprising: means for defining at least one vertex pool comprised of a plurality of vertices which together define at least a portion of a three dimensional graphical object to be rendered; means for forming at least one encapsulated execute buffer by joining together an instruction stream with said at least one vertex pool so that the encapsulated execute buffer serves as a contained unit adapted for processing by means for implementing one or more graphical functions comprising at least one of coordinate transformation, object lighting and rasterizing, and wherein said instruction stream contains program code means for controlling the execution of one or more of said graphical functions with respect to said at least one vertex pool; and means for causing said execute buffer to be processed by said means for implementing so at to graphically render said three dimensional object.
Claim 41
Dependent Claim 56 words
A computer-readable medium as recited in claim 34 wherein said means for defining said at least one vertex pool selects vertices for inclusion into said at least one vertex pool from at least one substantially localized area in order to increase the amount of vertex sharing among the vertices of said at least one vertex pool.
Claim 42
Dependent Claim 39 words
A computer-readable medium as recited in claim 34 wherein said instruction stream comprises program code means that causes said means for implementing to change state by changing at least one parameter used by said one or more graphical functions.
Claim 43
Dependent Claim 47 words
A computer-readable medium as recited in claim 36 wherein said instruction stream is organized to minimize the number of state transitions caused by said instruction stream in said means for implementing by grouping together program code means that require a designated state for said means for implementing.
Claim 44
Dependent Claim 155 words
A computer-readable medium having executable-instructions comprising: means for implementing one or more graphical functions comprising at least one of coordinate transformation, object lighting and rasterizing; means for accessing and retrieving vertices and program code means stored in an encapsulated execute buffer formed by joining together at least one vertex pool comprised of a plurality of vertices which together define at least a portion of an object to be rendered and an instruction stream comprising program code means for controlling said means for implementing in order to control the rendering of said object; and means for decoding said instruction stream and for controlling said means for implementing in response to said decoded instruction stream with respect to said at least one vertex pool, so that said means for implementing performs one or more of transformation, object lighting, and rasterizing in response to said instruction stream to render said object from said at least one vertex pool.
Claim 45
Dependent Claim 155 words
A computer-readable medium having executable-instructions comprising: means for implementing one or more graphical functions comprising at least one of coordinate transformation, object lighting and rasterizing; means for accessing and retrieving vertices and program code means stored in an encapsulated execute buffer formed by joining together at least one vertex pool comprised of a plurality of vertices which together define at least a portion of an object to be rendered and an instruction stream comprising program code means for controlling said means for implementing in order to control the rendering of said object; and means for decoding said instruction stream and for controlling said means for implementing in response to said decoded instruction stream with respect to said at least one vertex pool, so that said means for implementing performs one or more of transformation, object lighting, and rasterizing in response to said instruction stream to render said object from said at least one vertex pool.
Claim 46
Dependent Claim 36 words
A computer-readable medium as recited in claim 38 further comprising means for directly accessing said means for implementing so that said one or more graphical functions may be accessed directly through said means for directly accessing.
Claim 47
Dependent Claim 34 words
A computer-readable medium as recited in claim 39 wherein said means for directly accessing allows parameters affecting the functioning of said means for implementing to be set directly through said means for directly accessing.
Claim 48
Dependent Claim 18 words
A computer-readable medium as recited in claim 38 wherein said means for implementing comprises means for coordinate transformation.
Claim 49
Dependent Claim 19 words
A computer-readable medium as recited in claim 41 wherein said means for implementing further comprises means for object lighting.
Claim 50
Dependent Claim 18 words
A computer-readable medium as recited in claim 42 wherein said means for implementing further comprises means for rasterizing.
Claim 51
Dependent Claim 149 words
In a computer system having a central processing unit (CPU) and a means for implementing one or more graphical functions such as coordinate transformation, object lighting and rasterizing, a method of creating a data structure used to render and display a three dimensional object, the method comprising the steps of: said CPU defining at least one vertex pool comprised of a plurality of vertices which together define at least a portion of the object to be rendered; and said CPU forming at least one encapsulated execute buffer by joining together an instruction stream with said at least one vertex pool so that the encapsulated execute buffer serves as a contained unit adapted for processing by said means for implementing, and wherein said instruction stream contains program code means for controlling the execution of one or more of said graphical functions with respect to said at least one vertex pool.
Claim 52
Dependent Claim 149 words
In a computer system having a central processing unit (CPU) and a means for implementing one or more graphical functions such as coordinate transformation, object lighting and rasterizing, a method of creating a data structure used to render and display a three dimensional object, the method comprising the steps of: said CPU defining at least one vertex pool comprised of a plurality of vertices which together define at least a portion of the object to be rendered; and said CPU forming at least one encapsulated execute buffer by joining together an instruction stream with said at least one vertex pool so that the encapsulated execute buffer serves as a contained unit adapted for processing by said means for implementing, and wherein said instruction stream contains program code means for controlling the execution of one or more of said graphical functions with respect to said at least one vertex pool.
Claim 53
Dependent Claim 53 words
A method of creating a data structure as recited in claim 44 wherein the size of the at least one vertex pool is matched to the size of an internal vertex buffer of said means for implementing so that said at least one vertex pool can be stored in said internal vertex buffer.
Claim 54
Dependent Claim 47 words
A method of creating a data structure as recited in claim 44 wherein the vertices of said at least one vertex pool are selected from at least one substantially localized region in order to increase the vertex sharing among vertices of said at least one vertex pool.
Claim 55
Dependent Claim 136 words
In a computer system having a central processing unit (CPU) and a means for implementing one or more graphical functions such as coordinate transformation, object lighting and rasterizing, an object oriented execute buffer for processing by said means for implementing in order to render a three dimensional graphical object, said execute buffer comprising: at least one vertex pool comprised of a plurality of vertices which together define at least a portion of a three dimensional object to be rendered by said means for implementing; and an instruction stream comprising program code means for controlling the execution of one or more of said graphical functions with respect to said at least one vertex pool in order to cause said means for implementing to render that portion of the object defined by said at least one vertex pool.
Claim 56
Dependent Claim 136 words
In a computer system having a central processing unit (CPU) and a means for implementing one or more graphical functions such as coordinate transformation, object lighting and rasterizing, an object oriented execute buffer for processing by said means for implementing in order to render a three dimensional graphical object, said execute buffer comprising: at least one vertex pool comprised of a plurality of vertices which together define at least a portion of a three dimensional object to be rendered by said means for implementing; and an instruction stream comprising program code means for controlling the execution of one or more of said graphical functions with respect to said at least one vertex pool in order to cause said means for implementing to render that portion of the object defined by said at least one vertex pool.

References Cited (Backward Citations)

US5519816A Cited
US5504845A Cited
US5497452A Cited
US5515483A Cited
US5666472A Cited
US5557710A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 2001-09-21 2002-03-23 2002-09-22 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2005-09-21 2006-03-23 2006-09-22 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2009-09-21 2010-03-23 2010-09-22 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag