System and method for automatically distributing copies of a replicated database in a computer system
Abstract
A computer implemented system, method and computer program product for automatically distributing copies of a replicated database (46, 48, 50) for a computer system is disclosed comprising at least first (22) and second (24) host computers. Each of the host computers operatively control at least one associated computer mass storage device controller (26A, 26B; 28A, 28B; 30A, 30B) coupled to commonly accessible computer mass storage devices (32, 34, 36) by means of at least one storage device bus (38, 40, 42). The system and method comprises the step of enumerating each of the various host computers of the computer system (20), each of the computer mass storage device controllers associated with each host computer and each of the computer mass storage devices coupled to the storage device buses coupling the controllers. Copies of the replicated database are then automatically distributed across the computer mass storage devices such that failures of one or more of the computer mass storage device controllers or the computer mass storage devices will not interrupt operation of the replicated database in the computer system.

Term
Term ended
Projected expiry passed 26 April 2017, 9.4 years ago.
- Priority
- Filed
- Published
- Projected expiry
- Today
8 claims: 4 independent, 4 dependent
- 1A computer implemented method for automatically distributing copies of a replicated database (46, 48, 50) for a computer system comprising at least first and second host computers (22, 24), each of said host computers operatively controlling at least one associated computer mass storage device controller (26 A , 26 B ; 28 A , 28 B ; 30 A , 30 B ) coupled to commonly accessible computer mass storage devices (32, 34, 36) by means of at least one storage device bus (38, 40, 42), the method comprising the steps of:enumerating each of said at least first and second host computers of said computer system (28), each of said at least one computer mass storage device controllers and each of said computer mass storage devices coupled to said at least one storage device bus;and automatically distributing said copies of said replicated database across said computer mass storage devices such that one or more failures of said at least one computer mass storage device controllers or said computer mass storage devices will not interrupt operation of said replicated database in said computer system.
- 3A computer program product comprising:a computer useable medium having computer readable code embodied therein for causing a computer to effect automatically distributing copies of a replicated database (46, 48, 50) for a computer system comprising at least first and second host computers (22, 24), each of said host computers operatively controlling at least one associated computer mass storage device controller (26 A , 26 B ;28 A , 28 B ;30 A , 30 B ) coupled to commonly accessible computer mass storage devices (32, 34, 36) by means of at least one storage device bus (38, 40, 42), the computer program product comprising: computer readable program code devices configured to cause a computer to effect enumerating each of said at least first and second host computers of said computer system (20), each of said at least one computer mass storage device controllers and each of said computer mass storage devices coupled to said at least one storage device bus;and computer readable program code devices configured to cause a computer to effect automatically distributing said copies of said replicated database across said computer mass storage devices such that one or more failures of said at least one computer mass storage device controllers or said computer mass storage devices will not interrupt operation of said replicated database in said computer system.
- 5A computer implemented method for automatically distributing copies of a replicated database for a computer system comprising at least first and second host computers (22, 24), each of said host computers operatively controlling at least one associated computer mass storage device controller (26 A , 26 B ; 28 A , 28 B ; 30 A , 30 B ) coupled to commonly accessible computer mass storage devices by means of at least one storage device bus (38, 40, 42), the method comprising the steps of:providing for enumerating each of said at least first and second host computers of said computer system, each of said at least one computer mass storage device controllers and each of said computer mass storage devices coupled to said at least one storage device bus;and providing for automatically distributing said copies of said replicated database (46, 48, 50) across said computer mass storage devices such that one or more failures of said at least one computer mass storage device controllers or said computer mass storage devices will not interrupt operation of said replicated database in said computer system (20).
- 7A computer system (20) comprising:at least first (22) and second (24) host computers;at least first and second computer mass storage device controllers (26 A ;28 A ;30 A , 26 B ;28 B , 30 B ) respectively operatively controlled by each of said at least first and second host computers;a plurality of computer mass storage devices (32, 34, 36) coupled to said at least first and second computer mass storage device controllers by means of at least one storage device bus (38, 40, 42);and a computer program operative in conjunction with one of said at least first and second host computers to enumerate each of said at least first and second host computers, each of said at least first and second computer mass storage device controllers and each of said computer mass storage devices and to provide for automatically distributing copies of a replicated database across said plurality of computer mass storage devices such that one or more failures of said at least first and second computer mass storage device controllers or said plurality of computer mass storage devices will not interrupt operation of said replicated database in said computer system.
Independent claims4
17 paragraphs in 3 sections, as filed
0001The present invention relates, in general, to the field of computers and computer database systems incorporating a plurality of computer mass storage devices for storing data. More particularly, the present invention relates to a system and method for automatically distributing copies of a replicated database in a computer system.
0002In a replicated computer database system, copies of the database (the "replicas") are distributed across various physical computer mass storage devices, such as individual disk drives, in order to ensure that the loss of a single drive does not compromise the contents of the database. In other words, replicated systems must guarantee that the most recent data is being presented to the system. Shared sets of disk drives in multi-host computer systems may comprise a pair of host computers and a plurality of associated disk drives, each storing a portion of the database. However, there has heretofore been no automated means for distribution of database replicas across the various system components to minimize the number of potential single points of failure. The distribution of the replicas has historically been a system administration function effectuated on an <u>ad</u><u>hoc</u> basis and, as a consequence, its efficacy has been dependent on the knowledge and skills of a given system administrator. Moreover, the distribution of replicas in this manner can often result in the utilization of an excessive number of replicas to ensure data availability with a concomitant degradation in overall system performance.
SUMMARY OF THE INVENTION
0003The system and method of the present invention advantageously automates the distribution of replicas in a replicated database without relying solely on the system administrator to perform this function. While nevertheless allowing for the system administrator to exercise judgment in the final placement of replicas, the computer program implemented function disclosed herein provides a system and method of especial utility in the automated distribution of database replicas such that single points of failure are minimized.
0004In order to effectuate this, the present invention provides a computer program product, system and method which first analyzes the organization of the computer mass storage devices and controllers attached to the computer system and then determines the optimal distribution of the replicas such that the failure of a one or more controllers, computer mass storage devices or groups thereof (the latter hereinafter referred to as "trays" in conjunction with the SPARCstorage™ Array ("SSA") series of computer mass storage disk drive arrays) will not result in a lack of database service.
0005In a particular embodiment disclosed herein in conjunction with the DiskSuite™ computer program developed and licensed by Sun Microsystems, Inc., assignee of the present invention, the system, method and computer program product of the present invention will automatically distribute database replicas such that more than a single drive, tray or controller may be lost without compromising system integrity.
0006Particularly disclosed herein is a computer implemented system and method for automatically distributing copies of a replicated database for a computer system comprising at least first and second host computers. Each of the host computers operatively control at least one associated computer mass storage device controller coupled to commonly accessible computer mass storage devices by means of at least one storage device bus. The system and method comprises the step of enumerating each of the various host computers of the computer system, each of the computer mass storage device controllers associated with each host computer and each of the computer mass storage devices coupled to the storage device buses coupling the controllers. Copies of the replicated database are then automatically distributed across the computer mass storage devices such that failures of one or more of the computer mass storage device controllers or the computer mass storage devices will not interrupt operation of the replicated database in the computer system.
BRIEF DESCRIPTION OF THE DRAWINGS
0007The aforementioned and other features and objects of the present invention and the manner of attaining them will become more apparent and the invention itself will be best understood by reference to the following description of a preferred embodiment taken in conjunction with the accompanying drawings, wherein: <ul id="ul0001" list-style="none" compact="compact"><li>Fig. 1 is a simplified representational drawing of a general purpose computer forming a portion of the operating environment of the present invention;</li><li>Fig. 2 is a simplified conceptual representation of a computer system for possible utilization in conjunction with a replicated database comprising, for example, a pair of host computers H<sub>A</sub> and H<sub>B</sub> each having a number of storage controllers C<sub>0</sub>, C<sub>1</sub> and C<sub>2</sub> in operative association therewith each coupled to common computer mass storage device bus to which are coupled one or more computer mass storage devices (such as Winchester, "fixed", "rigid" or "hard" disk drives) collectively represented as devices D<sub>0</sub>, D<sub>1</sub> and D<sub>2</sub> respectively each having a portion thereof for storing a database replica R<sub>0</sub>, R<sub>1</sub> and R<sub>2</sub>;</li><li>Fig. 3 is a further conceptual representation of a computer system for possible utilization in conjunction with a replicated database comprising, for example, a number of SPARCstorage™ Array ("SSA") disk drive arrays SSA<sub>0</sub>, SSA<sub>1</sub>, SSA<sub>2</sub> each having a number of disk drive trays T<sub>0</sub>, T<sub>1</sub> and T<sub>2</sub> comprising, for example, six disk drives when utilized in conjunction with a Small Computer System Interface ("SCSI") computer mass storage bus;</li><li>Fig. 4 is an additional conceptual representation of a computer system for possible utilization in conjunction with a replicated database comprising, for example, a pair of host computers H<sub>A</sub> and H<sub>B</sub> each having a pair of controllers C<sub>0</sub> and C<sub>1</sub> coupled to disk drive arrays SSA<sub>0</sub> and SSA<sub>1</sub> respectively having a plurality of distributed database replicas ("R") resident on certain of the disk drives of particular trays T<sub>0</sub>, T<sub>1</sub> and T<sub>2</sub> and wherein 50% of the trays have "failed" as indicated by the Xs through trays T<sub>0</sub> of SSA<sub>0</sub> and SSA<sub>1</sub> and tray T<sub>1</sub> of SSA<sub>1</sub>; and</li><li>Fig. 5 is a follow-on conceptual representation of the computer system of Fig. 4 showing, for example, the situation wherein an additional controller C<sub>2</sub> is associated with hosts H<sub>A</sub> and H<sub>B</sub> coupled to SSA<sub>2</sub> wherein tray T<sub>2</sub> thereof has failed and wherein 55% of the trays incorporating database replicas have not failed.</li></ul>
DESCRIPTION OF A PREFERRED EMBODIMENT
0008The environment in which the present invention is used encompasses the general distributed computing system, wherein general purpose computers, workstations or personal computers are connected via communication links of various types, in a client-server arrangement, wherein programs and data, many in the form of objects, are made available by various members of the system for execution and access by other members of the system. Some of the elements of a general purpose workstation computer are shown in Fig. 1, wherein a processor 1 is shown, having an input/output ("I/O") section 2, a central processing unit ("CPU") 3 and a memory section 4. The I/O section 2 may be connected to a keyboard 5, a display unit 6, a disk storage unit 9, a CDROM drive or unit 7 or a computer network 11 such as a wide area network ("WAN"), local area network ("LAN") or other network connection such as the Internet. The CDROM unit 7 can read a CDROM or CDROM medium 8 which typically contains programs 10 and data. The computer program products containing mechanisms to effectuate the apparatus and methods of the present invention may reside in the memory section 4, or on a disk storage unit 9 or on the CDROM 8 or network 11 of such a system.
0009With reference additionally now to Fig. 2, a simplified conceptual representation of a computer system 20 for possible utilization in conjunction with a replicated database is shown. The computer system 20 comprises, for example, a pair of host computers H<sub>A</sub> 22 and H<sub>B</sub> 24 each having a number of storage controllers C<sub>0</sub>, C<sub>1</sub> and C<sub>2</sub> in operative association therewith. The controllers C<sub>0</sub> 26<sub>A</sub>, C<sub>1</sub> 28<sub>A</sub> and C<sub>2</sub> 30<sub>A</sub> are associated with host 22 while the controllers C<sub>0</sub> 26<sub>B</sub>, C<sub>1</sub> 28<sub>B</sub> and C<sub>2</sub> 30<sub>B</sub> are associated with host 24. The pairs of controllers C<sub>0</sub>, C<sub>1</sub> and C<sub>2</sub> are each coupled to respectively common computer mass storage device buses 38, 40 and 42 to which are coupled one or more computer mass storage device(s) (such as Winchester, "fixed", "rigid" or "hard" disk drives) collectively represented as devices D<sub>0</sub> 32, D<sub>1</sub> 34 and D<sub>2</sub> 36 as shown. Each of the device(s) D<sub>0</sub> 32, D<sub>1</sub> 34 and D<sub>2</sub> 36 have a portion thereof for storing a database replica R<sub>0</sub> 46, R<sub>1</sub> 48 and R<sub>2</sub> 50.
0010With reference additionally now to Fig. 3, a further conceptual representation of a computer system 20 for possible utilization in conjunction with a replicated database is shown. The computer system 20 is similar to that shown in Fig. 2 except that the representation of the devices 32, 34 and 36 (Fig. 2) have been expanded to, for example, a number of SPARCstorage™ Array ("SSA") disk drive arrays SSA<sub>0</sub> 52, SSA<sub>1</sub> 54, SSA<sub>2</sub> 56 respectively. Each of the disk drive arrays SSA<sub>0</sub> 52, SSA<sub>1</sub> 54, SSA<sub>2</sub> 56 have a number of disk drive trays T<sub>0</sub>, T<sub>1</sub> and T<sub>2</sub> comprising, for example, six disk drives, which is the maximum which can be utilized in conjunction with conventional SCSI computer mass storage buses 38, 40 and 42 respectively wherein each bus supports a total of eight initiator and target devices. Fast/Wide SCSI would allow for use with up to 14 target devices in conjunction with two initiator/hosts. The system and method herein disclosed may also be utilized, for example, in conjunction with a fiber channel connection in lieu of other bus architectures.
0011With reference additionally now to Fig. 4, an additional conceptual representation of a computer system 60 for possible utilization in conjunction with a replicated database is shown. The computer system 60 comprises, for example, a pair of host computers H<sub>A</sub> 22 and H<sub>B</sub> 24 as previously described with respect to the preceding figures each having a pair of controllers C<sub>0</sub> 26<sub>A</sub>/26<sub>B</sub> and C<sub>1</sub> 28<sub>A</sub>/28<sub>B</sub> coupled to disk drive arrays SSA<sub>0</sub> 52 and SSA<sub>1</sub> 54 respectively. The disk drive arrays SSA<sub>0</sub> 52 and SSA<sub>1</sub> 54 are shown as having a plurality of distributed database replicas ("R") resident on certain of the disk drives of particular trays T<sub>0</sub>, T<sub>1</sub> and T<sub>2</sub>. In this example, exactly 50% of the trays have "failed" as indicated by the Xs through trays T<sub>0</sub> of SSA<sub>0</sub> 52 and SSA<sub>1</sub> 54 and tray T<sub>1</sub> of SSA<sub>1</sub> 54 and exactly half of the previously available replicas are no longer accessible.
0012As previously noted, replicated systems must guarantee that the most recent data is being presented to the computer system 60. The worst case scenario that must be detected and prevented if at all possible is a double replica failure, sometimes referred to as "split brain". The "split brain" scenario occurs when two identical copies of data are in use (e.g. "a" and "b"). At some point in time, assume "b" becomes unaccessible and "a" is in use. Thereafter, if "a" becomes unaccessible and "b" then becomes accessible and in use, "old" data can be unknowingly used. Even worse is the situation where "a" and "b" then both become accessible and in use wherein different data can be provided at different times with no updates being done between times.
0013Utilizing the system and method of the present invention as embodied in the DiskSuite™ computer program, the "split brain" problem is obviated by replicating the database and requiring a "replica quorum". A replica quorum is achieved if at least HALF + 1 of the replicas are accessible. For example, if there are three or more replicas available on separate computer mass storage devices or controllers, then the database can sustain a single replica failure. In the example of Fig. 4, since a replica quorum cannot be obtained (i.e. only 50% of the replicas are available and not 50% + 1 replicas), then the system administrator must intervene to correct the problem so that "old" data and/or "garbage" data will not be used.
0014With reference additionally now to Fig. 5, a follow-on conceptual representation of a computer system 70 which is built upon the computer system 60 of Fig. 4 is shown. The computer system 70 comprises, for example, an additional pair of controllers C<sub>2</sub> associated with hosts H<sub>A</sub> 22 (controller 30<sub>A</sub>) and H<sub>B</sub> 24 (controller 30<sub>B</sub>) which may have been later added to the computer system 60 (Fig. 4) or and original part thereof. In this example, the additional controllers 30<sub>A</sub> and 30<sub>B</sub> are coupled to SSA<sub>2</sub> 56 by means of computer mass storage device bus 42 and tray T<sub>2</sub> thereof is additionally shown as having failed. In this example, (and unlike the computer system 60 of Fig. 4) more than 50% of the database replicas remain and approximately 55% of the trays incorporating database replicas have not failed. For this reason, a replica quorum is obtained since at least HALF + 1 of the replicas remain accessible.
0015The following is a representative computer program pseudocode list which may be used to automate the allocation of replicas in a particular diskset configuration of possible use in conjunction with the DiskSuite™ computer program:<img file="EP0807885A1_D0001.tif" />
0016The following computer program source listing is a further example of a computer implemented method that may be utilized in conjunction with the DiskSuite™ program available from Sun Microsystems, Inc. to automate the allocation of replicas in a diskset:<img file="EP0807885A1_D0002.tif" /><img file="EP0807885A1_D0003.tif" /><img file="EP0807885A1_D0004.tif" /><img file="EP0807885A1_D0005.tif" /><img file="EP0807885A1_D0006.tif" /><img file="EP0807885A1_D0007.tif" /><img file="EP0807885A1_D0008.tif" /><img file="EP0807885A1_D0009.tif" /><img file="EP0807885A1_D0010.tif" /><img file="EP0807885A1_D0011.tif" /><img file="EP0807885A1_D0012.tif" /><img file="EP0807885A1_D0013.tif" /><img file="EP0807885A1_D0014.tif" /><img file="EP0807885A1_D0015.tif" /><img file="EP0807885A1_D0016.tif" />
0017While there have been described above the principles of the present invention in conjunction with specific computer system configurations and methods for automatically distributing copies of a replicated database, it is to be clearly understood that the foregoing description is made only by way of example and not as a limitation to the scope of the invention. Particularly, it is recognized that the teachings of the foregoing disclosure will suggest other modifications to those persons skilled in the relevant art. Such modifications may involve other features which are already known per se and which may be used instead of or in addition to features already described herein. Although claims have been formulated in this application to particular combinations of features, it should be understood that the scope of the disclosure herein also includes any novel feature or any novel combination of features disclosed either explicitly or implicitly or any generalization or modification thereof which would be apparent to persons skilled in the relevant art, whether or not such relates to the same invention as presently claimed in any claim and whether or not it mitigates any or all of the same technical problems as confronted by the present invention. The applicants hereby reserve the right to formulate new claims to such features and/or combinations of such features during the prosecution of the present application or of any further application derived therefrom.
Contents3
20 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20
Every citation, both ways
| Document | Relation | Office | Category | Cited during | Relevant claims |
|---|---|---|---|---|---|
| WO0014637A2 | Cited by | World Intellectual Property Organization (WIPO) | – | International search | – |
| WO0014637A3 | Cited by | World Intellectual Property Organization (WIPO) | – | International search | – |
| EP0593062A2 | Cites | European Patent Office (EPO) | A | Search report | 1,3,5,7 |
| EP0593062A2 | Cites | European Patent Office (EPO) | A | Search report | 1,3,5,7 |
| WO9117506A1 | Cites | World Intellectual Property Organization (WIPO) | – | Examiner | – |
| WO9425919A1 | Cites | World Intellectual Property Organization (WIPO) | Y | Search report | 1-8 |
| WO9425919A1 | Cites | World Intellectual Property Organization (WIPO) | Y | Search report | 1-8 |
| PARIS J -F ET AL: "DYNAMIC MANAGEMENT OF HIGHLY REPLICATED DATA", PROCEEDINGS OF THE SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS, HOUSTON, OCT. 5 - 7, 1992, no. SYMP. 11, 5 October 1992 (1992-10-05), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 20 - 27, XP000410448 | Non-patent | – | – | Search report | – |
| SPASOJEVIC M: "OPTIMAL REPLICA CONTROL PROTOCOLS FOR RING NETWORKS", PROCEEDINGS OF THE SYMPOSIUM ON RELIABLE DISTRIBUTED SYSTEMS, HOUSTON, OCT. 5 - 7, 1992, no. SYMP. 11, 5 October 1992 (1992-10-05), INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS, pages 57 - 65, XP000410452 | Non-patent | – | – | Search report | – |
6 members in 4 offices; this record represents the family
Priority claims2
| Document | Office | Kind | Date |
|---|---|---|---|
| 643550 | United States of America | – | |
| 64355096 | United States of America | A |
Members6
| Document | Office | Kind | |
|---|---|---|---|
| EP0807885A1This record | European Patent Office (EPO) | A1 | |
| JPH10124369A | Japan | A | |
| EP0807885B1 | European Patent Office (EPO) | B1 | |
| DE69702019D1 | Germany | D1 | |
| DE69702019T2 | Germany | T2 | |
| US6467046B1 | United States of America | B1 |
31 legal events, as 3 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Patent expired after termination of 20 yearsExpiredPE20 | PE20 | GB | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Notification of lapseLapsedST | ST | FR | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Nl: lapsed or anulled due to non-payment of the annual feeLapsedNLV4 | NLV4 | EP | |
| Se: european patent has lapsedLapsedEUG | EUG | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Lapsed in a contracting state [announced via postgrant information from national office to epo]LapsedPG25 | PG25 | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| Annual fee paid to national office [announced via postgrant information from national office to epo]GrantedPGFP | PGFP | EP | |
| European patent in force as of 2002-01-01IF02 | IF02 | GB | |
| No opposition filedOpposition26N | 26N | EP | |
| No opposition filed within time limitOppositionORIGINAL CODE: 0009261PLBE | PLBE | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: NO OPPOSITION FILED WITHIN TIME LIMITSTAA | STAA | EP | |
| Fr: translation filedET | ET | EP | |
| Corresponds to:REF | REF | EP | |
| Designated contracting statesAK | AK | EP | |
| (expected) grantORIGINAL CODE: 0009210GRAA | GRAA | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOS IGRAGRAH | GRAH | EP | |
| Despatch of communication of intention to grantORIGINAL CODE: EPIDOS AGRAGRAG | GRAG | EP | |
| Despatch of communication of intention to grant a patentORIGINAL CODE: EPIDOS IGRAGRAH | GRAH | EP | |
| Party data changed (applicant data changed or rights of an application transferred)RAP1 | RAP1 | EP | |
| Despatch of communication of intention to grantORIGINAL CODE: EPIDOS AGRAGRAG | GRAG | EP | |
| First examination report despatched17Q | 17Q | EP | |
| Request for examination filed17P | 17P | EP | |
| Designated contracting statesAK | AK | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 0807885
- Application
- 972012611
Titles3
- German
- System und Verfahren zur automatischen Verteilung von Kopien einer replizierten Datenbank in einem Rechnersystem
- English
- System and method for automatically distributing copies of a replicated database in a computer system
- French
- Système et méthode pour la distribution automatique de copies d'une base de données répliquée dans un système d'ordinateur
Classification
- CPC, 1
- G06F11/2094
- IPC, 4
- G06F12 16
- G06F11 14
- G06F11 20
- G06F12 00
Designated states1
- Contracting states, 1
- Sweden