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

Graphics interface processing methodology in symmetric multiprocessing or distributed network environments

Assignee: International Business Machines Corp
•
Filing: 1997-04-10
•
Granted: 1998-10-06
•
Expires: 2017-04-10
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A method and implementing multiprocessor computer system 200 in which graphics applications 101 are executed in conjunction with a graphics interface 103 to graphics hardware 115. The methodology is also applicable to an implementing distributed network system. A master thread 105, or master node in a distributed network system, receives commands from a graphics application 101 and assembles 313 the commands into workgroups with an associated workgroup control block 315 and a synchronization tag 317. For each workgroup, the master thread flags changes in the associated workgroup control block. At the end of each workgroup, the master thread copies the changed attributes into the associated workgroup control block 319. The workgroup control blocks are scanned 403 by the rendering threads, or rendering node in a distributed network system, and unprocessed workgroups are locked 406, and the rendering threads attribute state is updated 413 from the previous workgroup control blocks. Once the rendering thread has updated its attributes, it has the necessary state to independently process the workgroup, thus allowing parallel execution. A synchronizer thread reorders the graphics datastream, created by the rendering threads, using the synchronization tags and sequentially sends the resultant data to the graphics hardware 115.

Inventors

  • 👤 John Joseph Lawless
  • 👤 Bimal Poddar
  • 👤 Alice Elizabeth Putney
  • 👤 Harald Jean Smit

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-08 13:23
CPC Classifications
G; G06; G06F; G06F9/00; G06F9/06; G06F9/46; G06F9/48; G06F9/4806; G06F9/4843; G06F9/52; G06T; G06T1/00; G06T1/20

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 110 words
A method of processing commands received from a software application by a graphics interface, the graphics interface being selectively operable to provide output datastreams for application to a graphics hardware subsystem, said method comprising: receiving commands from the software application by a master thread within the graphics interface; updating a master thread context for attribute changes in said commands; assembling the commands into workgroups having associated workgroup control blocks; copying said attribute changes to said workgroup control blocks; scanning said workgroup control blocks by rendering threads whereby said rendering threads are updated with attribute changes; and sending said output datastreams created by said rendering threads to the graphics hardware subsystem.
Claim 2
Independent Claim 110 words
A method of processing commands received from a software application by a graphics interface, the graphics interface being selectively operable to provide output datastreams for application to a graphics hardware subsystem, said method comprising: receiving commands from the software application by a master thread within the graphics interface; updating a master thread context for attribute changes in said commands; assembling the commands into workgroups having associated workgroup control blocks; copying said attribute changes to said workgroup control blocks; scanning said workgroup control blocks by rendering threads whereby said rendering threads are updated with attribute changes; and sending said output datastreams created by said rendering threads to the graphics hardware subsystem.
Claim 3
Dependent Claim 35 words
The method as set forth in claim 1 wherein said assembling further includes marking synchronization tags in said workgroup control blocks, said synchronization tags being indicative of the sequence in which said commands were received.
Claim 4
Dependent Claim 26 words
The method as set forth in claim 2 and, after said scanning, said method further including: sequencing said output datastreams in accordance with said synchronization tags.
Claim 5
Dependent Claim 31 words
The method as set forth in claim 3 wherein after said updating, said method further includes: creating a workgroup control block; and flagging said attribute changes in said workgroup control block.
Claim 6
Dependent Claim 29 words
The method as set forth in claim 3 wherein after said scanning, said method further includes: locking said workgroup control blocks until after said rendering threads have been updated.
Claim 7
Dependent Claim 23 words
The method as set forth in claim 5 wherein said rendering thread attributes are updated in reverse order from previous workgroup control blocks.
Claim 8
Dependent Claim 31 words
The method as set forth in claim 2 wherein after said updating, said method further includes: creating a workgroup control block; and flagging said attribute changes in said workgroup control block.
Claim 9
Dependent Claim 29 words
The method as set forth in claim 2 wherein after said scanning, said method further includes: locking said workgroup control blocks until after said rendering threads have been updated.
Claim 10
Dependent Claim 23 words
The method as set forth in claim 8 wherein said rendering thread attributes are updated in reverse order from previous workgroup control blocks.
Claim 11
Dependent Claim 31 words
The method as set forth in claim 1 wherein after said updating, said method further includes: creating a workgroup control block; and flagging said attribute changes in said workgroup control block.
Claim 12
Dependent Claim 29 words
The method as set forth in claim 10 wherein after said scanning, said method further includes: locking said workgroup control blocks until after said rendering threads have been updated.
Claim 13
Dependent Claim 23 words
The method as set forth in claim 11 wherein said rendering thread attributes are updated in reverse order from previous workgroup control blocks.
Claim 14
Dependent Claim 32 words
The method as set forth in claim 1 wherein after said scanning, said method further includes: locking said workgroup control blocks until after said rendering threads have completed processing of said workgroups.
Claim 15
Dependent Claim 23 words
The method as set forth in claim 13 wherein said rendering thread attributes are updated in reverse order from previous workgroup control blocks.
Claim 16
Dependent Claim 173 words
A storage medium including machine readable indicia, said storage medium being selectively coupled to a reading device, said reading device being selectively coupled to processing circuitry, said reading device being selectively operable to read said machine readable indicia and provide program signals representative thereof, said program signals being effective to cause said processing circuitry to interface a software application with a graphics hardware subsystem associated with said processing circuitry, said program signals being selectively operable to cause said processing circuitry to provide output data streams for application to said graphics hardware subsystem by performing the steps of: receiving commands from the software application by a master thread using the graphics interface; updating a master thread context for attribute changes in said commands; assembling the commands into workgroups having associated workgroup control blocks; copying said attribute changes to said workgroup control blocks; scanning said workgroup control blocks by rendering threads whereby said rendering threads are updated with attribute changes; and sending said output datastreams created by said rendering threads to the graphics hardware subsystem.
Claim 17
Dependent Claim 173 words
A storage medium including machine readable indicia, said storage medium being selectively coupled to a reading device, said reading device being selectively coupled to processing circuitry, said reading device being selectively operable to read said machine readable indicia and provide program signals representative thereof, said program signals being effective to cause said processing circuitry to interface a software application with a graphics hardware subsystem associated with said processing circuitry, said program signals being selectively operable to cause said processing circuitry to provide output data streams for application to said graphics hardware subsystem by performing the steps of: receiving commands from the software application by a master thread using the graphics interface; updating a master thread context for attribute changes in said commands; assembling the commands into workgroups having associated workgroup control blocks; copying said attribute changes to said workgroup control blocks; scanning said workgroup control blocks by rendering threads whereby said rendering threads are updated with attribute changes; and sending said output datastreams created by said rendering threads to the graphics hardware subsystem.
Claim 18
Dependent Claim 15 words
The medium as set forth in claim 15 wherein said medium comprises a magnetic diskette.
Claim 19
Dependent Claim 14 words
The medium as set forth in claim 15 wherein said medium comprises a CD-ROM.
Claim 20
Dependent Claim 162 words
An information processing system comprising: a plurality of processing circuits; a memory device for use in conjunction with said processing circuits, said memory device being selectively operable for storing a software application; a bus system connecting said processing circuits and said memory device; a graphics hardware subsystem connected to said bus system; and an interface element, said interface element being selectively operable for receiving commands from said software application to provide output data streams for application to said graphics hardware subsystem, said interface element being further selectively operable for: updating a master thread context for attribute changes in said commands; assembling the commands into workgroups having associated workgroup control blocks; copying said attribute changes to said workgroup control blocks; scanning said workgroup control blocks by rendering threads whereby said rendering threads are updated with attribute changes; and sending said output datastreams created by said rendering threads to the graphics hardware subsystem, said rendering threads being executed in parallel by said processing circuits.
Claim 21
Dependent Claim 162 words
An information processing system comprising: a plurality of processing circuits; a memory device for use in conjunction with said processing circuits, said memory device being selectively operable for storing a software application; a bus system connecting said processing circuits and said memory device; a graphics hardware subsystem connected to said bus system; and an interface element, said interface element being selectively operable for receiving commands from said software application to provide output data streams for application to said graphics hardware subsystem, said interface element being further selectively operable for: updating a master thread context for attribute changes in said commands; assembling the commands into workgroups having associated workgroup control blocks; copying said attribute changes to said workgroup control blocks; scanning said workgroup control blocks by rendering threads whereby said rendering threads are updated with attribute changes; and sending said output datastreams created by said rendering threads to the graphics hardware subsystem, said rendering threads being executed in parallel by said processing circuits.
Claim 22
Dependent Claim 18 words
The information processing circuit as set forth in claim 18 wherein said interface element is a software interface.

References Cited (Backward Citations)

US5251322A Cited
US5185599A Cited
US5509115A Cited
US5230039A Cited
US5315698A Cited
US5321810A Cited
US5481669A Cited
US5550962A Cited
US5548694A Cited
US5594854A Cited

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag