Patent US5829006A successfully refreshed from Google Patents.
← Back to Patent Explorer
US5829006A Expired / Lapsed US ⏱️ 0.0 years remaining

System and method for efficient relational query generation and tuple-to-object translation in an object-relational gateway supporting class inheritance

Assignee: International Business Machines Corp
•
Filing: 1995-06-06
•
Granted: 1998-10-27
•
Expires: 2015-06-06
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract An object-relational database gateway for use in a computing environment having a relational database management system (RDBMS) is disclosed. Object-oriented objects in the computing environment conform to a class inheritance hierarchy defined by an object-oriented schema. The gateway includes a query generator to generate from an object-oriented query a set of relational queries. The object-oriented query identifies one or more target objects of a target class which are desired to be constructed. The set of relational queries, when processed, enable the RDBMS to retrieve tuples required to initialize base attributes of the target objects that are defined by the target class and by any super-classes and sub-classes of the target class. The gateway also includes a tuple-to-object translator to translate the tuples to object-oriented objects consistent with the class inheritance hierarchy.

Inventors

  • 👤 Bhaskar A. Parvathaneny
  • 👤 Venkatachary Srinivasan

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-10-31 22:10
CPC Classifications
G; G06; G06F; G06F16/00; G06F16/20; G06F16/28; G06F16/289; Y; Y10; Y10S; Y10S707/00; Y10S707/953; Y10S707/954; Y10S707/955; Y10S707/956; Y10S707/99931; Y10S707/99933; Y10S707/99934; Y10S707/99941; Y10S707/99942; Y10S707/99943; Y10S707/99944; Y10S707/99945

Claims Analysis

Total Claims: 33
Claim 1
Independent Claim 191 words
A method of processing object-oriented queries so as to retrieve data from a relational database management system (RDBMS), comprising the steps of: (1) receiving an object-oriented query and at least one prefetch path from an object-oriented source, said object-oriented query identifying one or more target objects of a target class which are desired to be constructed, said at least one prefetch path identifying one or more prefetch path objects which are desired to be constructed; and (2) generating from said object-oriented query a set of relational queries that, when processed, enable said RDBMS to retrieve tuples required to initialize base attributes of said target objects that are defined by said target class and by any super-classes and sub-classes of said target class; wherein said stop (2) includes the steps of: (a) determining whether the number of super-classes of said target class is greater than a super-class limit, and (b if the number of super-classes of said target class is greater than sad super-class limit, then generating a query for each super-class of said target class, wherein said query, when processed, enables said RDBMS to retrieve base attributes of said each super-class.
Claim 2
Independent Claim 191 words
A method of processing object-oriented queries so as to retrieve data from a relational database management system (RDBMS), comprising the steps of: (1) receiving an object-oriented query and at least one prefetch path from an object-oriented source, said object-oriented query identifying one or more target objects of a target class which are desired to be constructed, said at least one prefetch path identifying one or more prefetch path objects which are desired to be constructed; and (2) generating from said object-oriented query a set of relational queries that, when processed, enable said RDBMS to retrieve tuples required to initialize base attributes of said target objects that are defined by said target class and by any super-classes and sub-classes of said target class; wherein said stop (2) includes the steps of: (a) determining whether the number of super-classes of said target class is greater than a super-class limit, and (b if the number of super-classes of said target class is greater than sad super-class limit, then generating a query for each super-class of said target class, wherein said query, when processed, enables said RDBMS to retrieve base attributes of said each super-class.
Claim 3
Dependent Claim 102 words
The method of claim 1, wherein step (2) comprises the steps of: (a) generating a translated object query from said object-oriented query, said translated object query being a relational database query that, when processed, enables said RDBMS to retrieve data needed to initialize base attributes of said target objects that are defined by said target class; and (b) generating from said translated object query one or more relational queries that, when processed, enable said RDBMS to retrieve tuples required to initialize base attributes of said target objects that are defined by said target class and by any super-classes of said target class.
Claim 4
Dependent Claim 111 words
The method of claim 2 in which said object-oriented query includes a condition list, and in which said RDBMS includes a first table that maps to said target class and zero or more second tables that respectively map to said any super-classes of said target class, wherein step (b) comprises the step of: generating, from said translated object query, a relational query that, when processed by said RDBMS, enables said RDBMS to retrieve from said first table first tuples that satisfy said condition list, and that enables said RDBMS to retrieve from said second tables second tuples that have primary key values equal to primary key values of said first tuples.
Claim 5
Dependent Claim 148 words
The method of claim 2 in which said object-oriented query includes a condition list, and in which said RDBMS includes a first table that maps to said target class and zero or more second tables that respectively map to said any super-classes of said target class, wherein step (b) comprises the step of: generating a first relational query by modifying said translated object query to include a statement to order first tuples retrieved from said first table by a primary key of said target class; and generating, from said translated object query, a second relational query for each super-class of said target class, said second relational query, when processed by said RDBMS, enabling said RDBMS to retrieve from a second table corresponding to said each super-class second tuples that satisfy said condition list, and that have primary key values equal to primary key values of said first tuples.
Claim 6
Dependent Claim 102 words
The method of claim 1, wherein step (2) comprises the steps of: (a) generating a translated object query from said object-oriented query, said translated object query being a relational database query that, when processed, enables said RDBMS to retrieve data needed to initialize base attributes of said target objects that are defined by said target class; and (b) generating from said translated object query one or more relational queries that, when processed, enable said RDBMS to retrieve tuples required to initialize base attributes of said target objects that are defined by said target class and by any sub-classes of said target class.
Claim 7
Dependent Claim 148 words
The method of claim 5 in which said object-oriented query includes a condition list, and in which said RDBMS includes a first table that maps to said target class and zero or more second tables that respectively map to said any sub-classes of said target class, wherein step (b) comprises the step of: generating a first relational query by modifying said translated object query to include a statement to order first tuples retrieved from said first table by a primary key of said target class; and generating, from said translated object query, a second relational query for each sub-class of said target class, said second relational query, when processed by said RDBMS, enabling said RDBMS to retrieve from a second table corresponding to said each sub-class second tuples that satisfy said condition list, and that have primary key values equal to primary key values of said first tuples.
Claim 8
Dependent Claim 273 words
The method of claim 1 in which said object-oriented query includes a condition list, and in which said RDBMS includes a first table that maps to said target class, zero or more second tables that respectively map to said any super-classes of said target class, and zero or more third tables that respectively map to said any sub-classes of said target class, wherein step (2) comprises the steps of: (a) generating a translated object query from said object-oriented query, said translated object query being a relational database query that, when processed, enables said RDBMS to retrieve data needed to initialize base attributes of said target objects that are defined by said target class; (b) generating a first relational query by modifying said translated object query to include a statement to order first tuples retrieved from said first table by a primary key of said target class; (c) generating, from said translated object query, a second relational query for each super-class of said target class, said second relational query, when processed by said RDBMS, enabling said RDBMS to retrieve from a second table corresponding to said each super-class second tuples that satisfy said condition list, and that have primary key values equal to primary key values of said first tuples; and (d) generating, from said translated object query, a third relational query for each sub-class of said target class, said third relational query, when processed by said RDBMS, enabling said RDBMS to retrieve from a third table corresponding to said each sub-class third tuples that satisfy said condition list, and that have primary key values equal to primary key values of said first tuples.
Claim 9
Dependent Claim 83 words
The method of claim 1, further comprising the steps of: (3) modifying said set of relational queries according to said at least one prefetch path to produce a modified set of relational queries that, when processed, enable said RDBMS to retrieve tuples required to initialize base attributes of said prefetch path objects that are defined by said prefetch path class and by any super-classes and sub-classes of said prefetch path class; and (4) causing said RDBMS to process said set of relational queries.
Claim 10
Dependent Claim 111 words
The method of claim 8, wherein step (3) comprises the steps of: identifying a defining class in which each prefetch path is defined; identifying a query in said set of relational queries that is directed to retrieving tuples from said defining class; modifying said identified query so as to enable said RDBMS to retrieve foreign key information from a relational table corresponding to said defining class; generating an additional set of relational queries that, when processed, enables said RDBMS to retrieve tuples required to initialize base attributes of said prefetch path objects that are defined by said prefetch path class and by any super-classes and sub-classes of said prefetch path class.
Claim 11
Dependent Claim 28 words
The method of claim 1, further comprising the steps of: (3) translating said tuples to object-oriented objects consistent with a class inheritance hierarchy defined by an object-oriented schema.
Claim 12
Dependent Claim 224 words
The method of claim 10 in which said set of relational queries comprises a target tuple stream set and one or more sub-tuple stream sets, said target tuple stream set comprising queries that enable said RDBMS to retrieve tuples needed to initialize base attributes of said target objects defined by said target class and any super-classes of said target class, each sub-tuple stream set comprising queries that enable said RDBMS to retrieve information needed to initialize base attributes of said target objects defined by classes in a unique sub-class branch of said class inheritance hierarchy, step (3) comprising the steps of: (a) selecting a tuple retrieved as a result of processing queries in said target tuple stream set; (b) selecting a sub-tuple stream set; (c) selecting a greatest derived class in said selected sub-tuple stream set; (d) determining whether a primary key value of said selected tuple appears in a retrieved tuple that maps to said selected class; (e) if a primary key value of said selected tuple appears in a retrieved tuple that maps to said selected class, then creating a new object of said selected class; and (f) initializing base attributes of said new object using information contained in said selected tuple and in other retrieved tuples having a primary key value equal to a primary key value of said selected tuple.
Claim 13
Dependent Claim 95 words
The method of claim 11, wherein step (3) further comprises the following steps that are performed if it is determined in step (d) that a primary key value of said selected tuple does not appear in a retrieved tuple that maps to said selected class: (g) determining whether there are additional classes in said selected sub-tuple stream set left to process; (h) if there are additional classes in said selected sub-tuple stream set left to process, then selecting a next most derived class in said selected sub-tuple stream set; and (i) returning to step (d).
Claim 14
Dependent Claim 75 words
The method of claim 12, wherein step (3) further comprises the following steps that are performed if it is determined in step (g) that there are no additional classes in said selected sub-tuple stream set left to process: (j) determining whether there are additional sub-tuple stream sets left to process; (k) if there are additional sub-tuple stream sets left to process, then selecting another of said sub-tuple stream sets; and (m) returning to step (c).
Claim 15
Dependent Claim 83 words
The method of claim 13, wherein step (3) further comprises the following steps that are performed if it is determined in step (j) that there are no additional sub-tuple stream sets left to process: (n) creating a new object of said target class; and (o) initializing base attributes of said new object of said target class using information contained in said selected tuple and in other retrieved tuples having a primary key value equal to a primary key value of said selected tuple.
Claim 16
Dependent Claim 214 words
An object-relational database gateway for use in a computing environment having a relational database management system (RDBMS), objects in said computing environment conforming to a class inheritance hierarchy defined by an object-oriented schema, said gateway comprising: receiving means for receiving an object-oriented query and at least one prefetch path from an object-oriented source, said object-oriented query identifying one or more target objects of a target class which are desired to be constructed, said at least one prefetch path identifying one or more prefetch path objects which are desired to be constructed; and query set generating means for generating from said object-oriented query a set of relational queries that, when processed, enable said RDBMS to retrieve tuples required to initialize base attributes of said target objects that are defined by said target class and by any super-classes and sub-classes of said target class; wherein said query set generating means includes: (a) means for determining whether the number of super-classes of said target class is greater than a super-class limit, and (b) means for generating a query for each super class of said target class if the number of super-classes of said target class is greater than said super-class limit, wherein said query, when processed, enables said RDBMS to retrieve base attributes of said each super-class.
Claim 17
Dependent Claim 214 words
An object-relational database gateway for use in a computing environment having a relational database management system (RDBMS), objects in said computing environment conforming to a class inheritance hierarchy defined by an object-oriented schema, said gateway comprising: receiving means for receiving an object-oriented query and at least one prefetch path from an object-oriented source, said object-oriented query identifying one or more target objects of a target class which are desired to be constructed, said at least one prefetch path identifying one or more prefetch path objects which are desired to be constructed; and query set generating means for generating from said object-oriented query a set of relational queries that, when processed, enable said RDBMS to retrieve tuples required to initialize base attributes of said target objects that are defined by said target class and by any super-classes and sub-classes of said target class; wherein said query set generating means includes: (a) means for determining whether the number of super-classes of said target class is greater than a super-class limit, and (b) means for generating a query for each super class of said target class if the number of super-classes of said target class is greater than said super-class limit, wherein said query, when processed, enables said RDBMS to retrieve base attributes of said each super-class.
Claim 18
Dependent Claim 107 words
The gateway of claim 15, wherein said query set generating means comprises: means for generating a translated object query from said object-oriented query, said translated object query being a relational database query that, when processed, enables said RDBMS to retrieve data needed to initialize base attributes of said target objects that are defined by said target class; and relational query generating means for generating from said translated object query one or more relational queries that, when processed, enable said RDBMS to retrieve tuples required to initialize base attributes of said target objects that are defined by said target class and by any super-classes of said target class.
Claim 19
Dependent Claim 111 words
The gateway of claim 16, wherein said object-oriented query includes a condition list, and wherein said RDBMS includes a first table that maps to said target class and zero or more second tables that respectively map to said any super-classes of said target class, wherein said relational query generating means comprises: means for generating, from said translated object query, a relational query that, when processed by said RDBMS, enables said RDBMS to retrieve from said first table first tuples that satisfy said condition list, and that enables said RDBMS to retrieve from said second tables second tuples that have primary key values equal to primary key values of said first tuples.
Claim 20
Dependent Claim 150 words
The gateway of claim 16, wherein said object-oriented query includes a condition list, and wherein said RDBMS includes a first table that maps to said target class and zero or more second tables that respectively map to said any super-classes of said target class, wherein said relational query generating means comprises: means for generating a first relational query by modifying said translated object query to include a statement to order first tuples retrieved from said first table by a primary key of said target class; and means for generating, from said translated object query, a second relational query for each super-class of said target class, said second relational query, when processed by said RDBMS, enabling said RDBMS to retrieve from a second table corresponding to said each super-class second tuples that satisfy said condition list, and that have primary key values equal to primary key values of said first tuples.
Claim 21
Dependent Claim 107 words
The gateway of claim 15, wherein said query set generating means comprises: means for generating a translated object query from said object-oriented query, said translated object query being a relational database query that, when processed, enables said RDBMS to retrieve data needed to initialize base attributes of said target objects that are defined by said target class; and relational query generating means for generating from said translated object query one or more relational queries that, when processed, enable said RDBMS to retrieve tuples required to initialize base attributes of said target objects that are defined by said target class and by any sub-classes of said target class.
Claim 22
Dependent Claim 150 words
The gateway of claim 19, wherein said object-oriented query includes a condition list, and wherein said RDBMS includes a first table that maps to said target class and zero or more second tables that respectively map to said any sub-classes of said target class, wherein said relational query generating means comprises: means for generating a first relational query by modifying said translated object query to include a statement to order first tuples retrieved from said first table by a primary key of said target class; and means for generating, from said translated object query, a second relational query for each sub-class of said target class, said second relational query, when processed by said RDBMS, enabling said RDBMS to retrieve from a second table corresponding to said each sub-class second tuples that satisfy said condition list, and that have primary key values equal to primary key values of said first tuples.
Claim 23
Dependent Claim 275 words
The gateway of claim 15, wherein said object-oriented query includes a condition list, and wherein said RDBMS includes a first table that maps to said target class, zero or more second tables that respectively map to said any super-classes of said target class, and zero or more third tables that respectively map to said any sub-classes of said target class, wherein said query set generating means comprises: means for generating a translated object query from said object-oriented query, said translated object query being a relational database query that, when processed, enables said RDBMS to retrieve data needed to initialize base attributes of said target objects that are defined by said target class; means for generating a first relational query by modifying said translated object query to include a statement to order first tuples retrieved from said first table by a primary key of said target class; means for generating, from said translated object query, a second relational query for each super-class of said target class, said second relational query, when processed by said RDBMS, enabling said RDBMS to retrieve from a second table corresponding to said each super-class second tuples that satisfy said condition list, and that have primary key values equal to primary key values of said first tuples; and means for generating, from said translated object query, a third relational query for each sub-class of said target class, said third relational query, when processed by said RDBMS, enabling said RDBMS to retrieve from a third table corresponding to said each sub-class third tuples that satisfy said condition list, and that have primary key values equal to primary key values of said first tuples.
Claim 24
Dependent Claim 73 words
The gateway of claim 15, further comprising: relational query set modifying means for modifying said set of relational queries according to said at least one prefetch path to produce a modified set of relational queries that, when processed, enable said RDBMS to retrieve tuples required to initialize base attributes of said prefetch path objects that are defined by said prefetch path class and by any super-classes and sub-classes of said prefetch path class.
Claim 25
Dependent Claim 121 words
The gateway of claim 22, wherein said relational query set modifying means comprises: means for identifying a defining class in which each prefetch path is defined; means for identifying a query in said set of relational queries that is directed to retrieving tuples from said defining class; means for modifying said identified query so as to enable said RDBMS to retrieve foreign key information from a relational table corresponding to said defining class; and means for generating an additional set of relational queries that, when processed, enables said RDBMS to retrieve tuples required to initialize base attributes of said prefetch path objects that are defined by said prefetch path class and by any super-classes and sub-classes of said prefetch path class.
Claim 26
Dependent Claim 22 words
The gateway of claim 15, further comprising: translating means for translating said tuples to object-oriented objects consistent with said class inheritance hierarchy.
Claim 27
Dependent Claim 226 words
The gateway of claim 15, wherein said set of relational queries comprises a target tuple stream set and one or more sub-tuple stream sets, said target tuple stream set comprising queries that enable said RDBMS to retrieve tuples needed to initialize base attributes of said target objects defined by said target class and any super-classes of said target class, each sub-tuple stream set comprising queries that enable said RDBMS to retrieve information needed to initialize base attributes of said target objects defined by classes in a unique sub-class branch of said class inheritance hierarchy, said translating means comprising: means for selecting a tuple retrieved as a result of processing queries in said target tuple stream set; means for selecting a sub-tuple stream set; means for selecting a greatest derived class in said selected sub-tuple stream set; means for determining whether a primary key value of said selected tuple appears in a retrieved tuple that maps to said selected class; means for creating a new object of said selected class if a primary key value of said selected tuple appears in a retrieved tuple that maps to said selected class; and means for initializing base attributes of said new object using information contained in said selected tuple and in other retrieved tuples having a primary key value equal to a primary key value of said selected tuple.
Claim 28
Dependent Claim 189 words
An object-relational database gateway for use in a computing environment having a relational database management system (RDBMS), object-oriented objects in said computing environment conforming to a class inheritance hierarchy defined by an object-oriented schema, said gateway comprising: a query generator to generate from an object-oriented query a set of relational queries, said object-oriented query identifying one or more target objects of a target class which are desired to be constructed, said set of relational queries, when processed, enabling said RDBMS to retrieve tuples required to initialize base attributes of said target objects that are defined by said target class and by any super-classes and sub-classes of said target class; and a tuple-to-object translator to translate said tuples to object-oriented objects consistent with said class inheritance hierarchy; wherein said query generator determines whether the number of super-classes of said target class is greater than a super-class limit, and generates a query for each super class of said target class if the number of super-classes of said target class is greater than said super-class limit wherein said query when processed, enables said RDBMS to retrieve base attributes of said each super-class.
Claim 29
Dependent Claim 189 words
An object-relational database gateway for use in a computing environment having a relational database management system (RDBMS), object-oriented objects in said computing environment conforming to a class inheritance hierarchy defined by an object-oriented schema, said gateway comprising: a query generator to generate from an object-oriented query a set of relational queries, said object-oriented query identifying one or more target objects of a target class which are desired to be constructed, said set of relational queries, when processed, enabling said RDBMS to retrieve tuples required to initialize base attributes of said target objects that are defined by said target class and by any super-classes and sub-classes of said target class; and a tuple-to-object translator to translate said tuples to object-oriented objects consistent with said class inheritance hierarchy; wherein said query generator determines whether the number of super-classes of said target class is greater than a super-class limit, and generates a query for each super class of said target class if the number of super-classes of said target class is greater than said super-class limit wherein said query when processed, enables said RDBMS to retrieve base attributes of said each super-class.
Claim 30
Dependent Claim 186 words
A computer system, comprising: a processor; a relational database management system (RDBMS), coupled to said processor; a controller to control said processor, comprising: a query generator to enable said processor to generate from an object-oriented query a set of relational queries, said object-oriented query identifying one or more target objects of a target class which are desired to be constructed, said set of relational queries, when processed, enabling said RDBMS to retrieve tuples required to initialize base attributes of said target objects that are defined by said target class and by any super-classes and sub-classes of said target; and a tuple-to-object translator to enable said processor to translate said tuples to object-oriented objects consistent with a class inheritance hierarchy defined by an object-oriented schema; wherein said query generator determines whether number of super-classes of said target class is greater than a super-class limit, and generates a query for each super class of said target class if the number of super-classes of said target class is greater than said super-class limit, wherein said query, when processed, enables said RDBMS to retrieve base attributes of said each super-class.
Claim 31
Dependent Claim 186 words
A computer system, comprising: a processor; a relational database management system (RDBMS), coupled to said processor; a controller to control said processor, comprising: a query generator to enable said processor to generate from an object-oriented query a set of relational queries, said object-oriented query identifying one or more target objects of a target class which are desired to be constructed, said set of relational queries, when processed, enabling said RDBMS to retrieve tuples required to initialize base attributes of said target objects that are defined by said target class and by any super-classes and sub-classes of said target; and a tuple-to-object translator to enable said processor to translate said tuples to object-oriented objects consistent with a class inheritance hierarchy defined by an object-oriented schema; wherein said query generator determines whether number of super-classes of said target class is greater than a super-class limit, and generates a query for each super class of said target class if the number of super-classes of said target class is greater than said super-class limit, wherein said query, when processed, enables said RDBMS to retrieve base attributes of said each super-class.
Claim 32
Dependent Claim 251 words
A controller for enabling a processor to process object-oriented queries so as to retrieve data from a relational database management system (RDBMS), comprising: a query generator to enable said processor to generate from an object-oriented query a set of relational queries, said object-oriented query identifying one or more target objects of a target class which are desired to be constructed, said set of relational queries, when processed, enabling said RDBMS to retrieve tuples required to initialize base attributes of said target objects that are defined by said target class and by any super-classes and sub-classes of said target class; and a tuple-to-object translator to enable said processor to translate sad tuples to object-oriented objects consistent with a class inheritance hierarchy defined by an object-oriented schema; wherein said query generator determines whether the number of super-classes of said target class is greater than a super-class limit, and generates a query for each super class of said target class if the number of super-classes of said target class is greater than said super-class limit, wherein said query, when processed, enables said RDBMS to retrieve base attributes of said each super-class; wherein said query generator determines whether the number of super-classes of said target class is greater than a super-class limit, and generates a query for each super class of said target class if the number of super-classes of said target class is greater than said super-class limit wherein said query, when processed, enables said RDBMS to retrieve base attributes of said each super-class.
Claim 33
Dependent Claim 251 words
A controller for enabling a processor to process object-oriented queries so as to retrieve data from a relational database management system (RDBMS), comprising: a query generator to enable said processor to generate from an object-oriented query a set of relational queries, said object-oriented query identifying one or more target objects of a target class which are desired to be constructed, said set of relational queries, when processed, enabling said RDBMS to retrieve tuples required to initialize base attributes of said target objects that are defined by said target class and by any super-classes and sub-classes of said target class; and a tuple-to-object translator to enable said processor to translate sad tuples to object-oriented objects consistent with a class inheritance hierarchy defined by an object-oriented schema; wherein said query generator determines whether the number of super-classes of said target class is greater than a super-class limit, and generates a query for each super class of said target class if the number of super-classes of said target class is greater than said super-class limit, wherein said query, when processed, enables said RDBMS to retrieve base attributes of said each super-class; wherein said query generator determines whether the number of super-classes of said target class is greater than a super-class limit, and generates a query for each super class of said target class if the number of super-classes of said target class is greater than said super-class limit wherein said query, when processed, enables said RDBMS to retrieve base attributes of said each super-class.

USPTO Annuity & Maintenance Windows

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

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag