-
HINTERGRUND
-
Öffentliche Bibliotheken, nationale Datenlager, Datenbanken des öffentlichen Dienstes und Datenbanken für historische Zeitungen sammeln, kategorisieren und filtern häufig historische Datensätze. Häufig wird für eine Datenkategorisierung auf eine Metadatenverwaltung zurückgegriffen. Beispielsweise werden Sprachmarker bei Metadaten verwendet, um gesammelte internationale Dokumente in Text-, Grafik-, Audio- und Videostream-Datenformaten unter gewissen Sprach-, Schrift-, Bereichs- und Codierungskategorien zu klassifizieren, archivieren, kategorisieren und verarbeiten. Der Sprachmarker kann in gesammelte Informationen eingebettet und/oder integriert werden, um eine vernetzte Informationsverarbeitung und -verwaltung zu unterstützen. Insbesondere bei HTML und XML können Sprachmarker die Sprache von Text oder anderen Elementen in HTML- und XML-Dokumenten anzeigen.
-
KURZDARSTELLUNG
-
Gemäß einem Aspekt der vorliegenden Offenbarung werden ein Verfahren und eine Technik zum Verwalten von Sprachmarkern bei internationaler Datenspeicherung offenbart. Das Verfahren beinhaltet: Zugreifen auf eine standardisierte Datenablage für Sprachmarker, um Änderungen an Sprachmarkern in der Datenablage zu identifizieren; Durchsuchen von kategorisierten Datensätzen einer Datenquelle unter Verwendung von Sprachmarkern, um in Datensätzen der Datenquelle vorhandene Sprachmarker zu identifizieren; Ermitteln, ob die in den Datensätzen der Sprachquelle vorhandenen Sprachmarker in Bezug auf die Sprachmarker in der Datenablage uneinheitlich sind; als Antwort auf ein Feststellen, dass die in den Datensätzen der Datenquelle vorhandenen Sprachmarker in Bezug auf die Sprachmarker in der Datenablage uneinheitlich sind, Festlegen einer Sprachmarker-Aktualisierungsrichtlinie für die Datenquelle; und Durchführen eines Sprachmarker-Aktualisierungsprozesses für die Datensätze gemäß der Sprachmarker-Aktualisierungsrichtlinie, um die Datensätze auf der Grundlage der Sprachmarker in der Datenablage neu zu kategorisieren.
-
KURZBESCHREIBUNG DER MEHREREN ANSICHTEN DER ZEICHNUNGEN
-
Um die vorliegende Anmeldung, ihre Aufgaben und Vorteile umfassender verstehen zu können, wird nun auf die folgenden Beschreibungen zusammen mit den beliegenden Zeichnungen Bezug genommen, in denen:
-
1 eine Ausführungsform eines Netzwerks von Datenverarbeitungssystemen ist, in denen die veranschaulichenden Ausführungsformen der vorliegenden Offenbarung umgesetzt sein können;
-
2 eine Ausführungsform eines Datenverarbeitungssystems ist, in dem die veranschaulichenden Ausführungsformen der vorliegenden Offenbarung umgesetzt sein können;
-
3 ein Schaubild ist, das eine Ausführungsform eines Datenverarbeitungssystems zum Verwalten von Sprachmarkern veranschaulicht, in dem Ausführungsformen der vorliegenden Offenbarung umgesetzt sein können;
-
4 ein Schaubild ist, das einen Sprachmarker-Aktualisierungsprozess gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht;
-
5 ein Schaubild ist, das eine weitere Ausführungsform eines Sprachmarker-Aktualisierungsprozesses unter Verwendung einer Abstraktionsebene für Sprachmarker gemäß der vorliegenden Offenbarung veranschaulicht;
-
6 ein Ablaufplan ist, der ein Verfahren zum Verwalten von Sprachmarkern gemäß der vorliegenden Offenbarung zeigt; und
-
7 ein Ablaufplan ist, der eine weitere Ausführungsform eines Verfahrens zum Verwalten von Sprachmarkern gemäß der vorliegenden Offenbarung zeigt.
-
AUSFÜHRLICHE BESCHREIBUNG
-
Ausführungsformen der vorliegenden Offenbarung stellen ein Verfahren, ein System und ein Computerprogrammprodukt zum Verwalten von Sprachmarkern bei internationaler Datenspeicherung bereit. Beispielsweise verbessern Ausführungsformen der vorliegenden Offenbarung ein Verwalten von Sprachmarkern, aktualisieren neue Sprachmarker in alten Metadaten und kategorisieren aus weltweiten Quellen gesammelte Daten neu. Beispielsweise ermöglichen Ausführungsformen der vorliegenden Offenbarung, dass gespeicherte Metadaten mit Sprachmarkern verwaltet und/oder aktualisiert werden, indem neue Sprachmarker in Datenablagen für Sprachmarker erfasst werden, lokale Sprachmarker-Tabellen dynamisch aus den Datenablagen für Sprachmarker synchronisiert werden und die gespeicherten Daten unter Verwendung der neuen Sprachmarker gemäß für die Datenquelle erstellten Profilen/Richtlinien dynamisch aktualisiert und/oder neu kategorisiert werden. Bei manchen Ausführungsformen wird auf standardisierte Datenablagen für Sprachmarker zugegriffen, um Änderungen von Sprachmarkern in der Datenablage zu identifizieren, werden unter Verwendung von Sprachmarkern kategorisierte Datensätze einer Datenquelle durchsucht, um in Datensätzen der Datenquelle vorhandene Sprachmarker zu identifizieren; wird eine Ermittlung angestellt, ob die in den Datensätzen der Datenquelle vorhandenen Sprachmarker in Bezug auf die Sprachmarker in der Datenablage uneinheitlich sind; und ist dies der Fall, wird eine Sprachmarker-Aktualisierungsrichtlinie für die Datenquelle festgelegt, wird ein Sprachmarker-Aktualisierungsprozess für die Datensätze gemäß der Sprachmarker-Aktualisierungsrichtlinie durchgeführt, um die Datensätze auf der Grundlage der Sprachmarker in der Datenablage neu zu kategorisieren.
-
Wie der Fachmann verstehen wird, können Aspekte der vorliegenden Offenbarung in Form eines Systems, eines Verfahrens oder eines Computerprogrammprodukts umgesetzt sein. Demgemäß können Aspekte der vorliegenden Offenbarung die Form einer ausschließlich aus Hardware bestehenden Ausführungsform, einer ausschließlich aus Software bestehenden Ausführungsform (Firmware, residente Software, Mikrocode usw. mit eingeschlossen) oder einer Ausführungsform annehmen, die Software- und Hardware-Aspekte kombiniert, die hier allesamt allgemein als „Schaltung”, „Modul” oder „System” bezeichnet werden können. Ferner können Aspekte der vorliegenden Offenbarung die Form eines Computerprogrammprodukts annehmen, das als ein oder mehrere computerlesbare Medien umgesetzt ist, die einen computerlesbaren Programmcode aufweisen.
-
Es kann eine beliebige Kombination aus einem oder mehreren computernutzbaren oder computerlesbaren Medien verwendet werden. Das computerlesbare Medium kann ein computerlesbares Signalmedium oder ein computerlesbares Speichermedium sein. Ein computerlesbares Speichermedium kann beispielsweise ein/e elektronische/s, magnetische/s, optische/s, elektromagnetische/s, Infrarot- oder Halbleitersystem, -vorrichtung oder -einheit oder eine geeignete Kombination des Vorstehenden sein, ohne jedoch darauf beschränkt zu sein. Spezifischere Beispiele (nichterschöpfende Liste) für das computerlesbare Speichermedium sind unter anderem: eine elektrische Verbindung mit einem oder mehreren Leitungen, eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM (Erasable Programmable Read Only Memory) oder Flash-Speicher), ein Lichtwellenleiter, ein tragbarer Compact-Disk-Nur-Lese-Speicher (CD-ROM, Compact Disc-Read Only Memory), eine optische Speichereinheit, eine magnetische Speichereinheit oder eine geeignete Kombination des Vorstehenden. Im Kontext dieses Dokuments kann ein computerlesbares Speichermedium jedes konkrete Medium sein, das ein Programm zur Verwendung durch ein/e Anweisungsausführungssystem, -vorrichtung oder -einheit oder in Verbindung damit enthalten oder speichern kann.
-
Ein computerlesbares Signalmedium kann ein sich ausbreitendes Datensignal beinhalten, das einen computerlesbaren Programmcode aufweist, beispielsweise im Basisband oder als Teil einer Trägerwelle. Ein solches sich ausbreitendes Signal kann eine Vielfalt von Formen annehmen, beispielsweise elektromagnetisch, optisch oder eine geeignete Kombination davon, ohne jedoch darauf beschränkt zu sein. Ein computerlesbares Signalmedium kann ein beliebiges computerlesbares Medium sein, bei dem es sich nicht um ein computerlesbares Speichermedium handelt und das ein Programm zur Verwendung durch ein/e Anweisungsausführungssystem, -vorrichtung oder -einheit oder in Verbindung damit übertragen, weiterleiten oder transportieren kann.
-
Der in einem computerlesbaren Medium enthaltene Programmcode kann mithilfe eines geeigneten Mediums übertragen werden, beispielsweise drahtlos, kabelgebunden, Lichtwellenleiterkabel, HF usw. oder eine Kombination des Vorstehenden, ohne jedoch darauf beschränkt zu sein.
-
Ein Computerprogrammcode zum Ausführen von Vorgängen für Aspekte der vorliegenden Offenbarung kann in irgendeiner Kombination aus einer oder mehreren Programmiersprachen geschrieben sein, beispielsweise objektorientierte Programmiersprache wie Java, Smalltalk, C++ oder dergleichen und herkömmliche prozedurale Programmiersprachen wie die „C”-Programmiersprache oder ähnliche Programmiersprachen. Der Programmcode kann zur Gänze auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder zur Gänze auf dem fernen Computer oder -Server ausgeführt werden. Bei letzterem Szenario kann der ferne Computer über einen beliebigen Netzwerktyp, beispielsweise lokales Netz (LAN, Local Area Network) oder Weitverkehrsnetz (WAN, Wide Area Network), mit dem Computer des Benutzers verbunden sein oder die Verbindung zu einem externen Computer kann hergestellt werden (z. B. über einen Internet-Diensteanbieter über Internet).
-
Aspekte der vorliegenden Offenbarung sind im Folgenden unter Bezugnahme auf die Ablaufplandarstellungen und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Offenbarung beschrieben. Es versteht sich, dass jeder Block der Ablaufplandarstellungen und/oder Blockschaubilder und Kombinationen von Blöcken in den Ablaufplandarstellungen und/oder Blockschaubildern durch Computerprogrammanweisungen umgesetzt werden können. Diese Computerprogrammanweisungen können für einen Prozessor eines Universalcomputers, eines spezifischen Computers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu herzustellen, so dass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, ein Mittel für das Umsetzen der in dem einen oder den mehreren Ablaufplan- und/oder Blockschaubildblöcken angegebenen Funktionen/Aktionen zu erstellen.
-
Diese Computerprogrammanweisungen können auch in einem computerlesbaren Medium gespeichert werden, das einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung anweisen, auf eine bestimmte Weise zu funktionieren, so dass die im computerlesbaren Medium gespeicherten Anweisungen einen Herstellungsgegenstand herstellen, der ein Anweisungsmittel beinhaltet, das die in den einen oder mehreren Ablaufplan- und/oder Blockschaubildblöcken angegebene Funktion/Aktion umsetzt.
-
Die Computerprogrammanweisungen können auch in einen Computer oder eine andere programmierbare Datenverarbeitungsvorrichtung geladen werden, um zu bewirken, dass eine Reihe von Betriebsschritten im Computer oder auf der anderen programmierbaren Vorrichtung durchgeführt wird, um ein computerausgeführtes Verfahren herzustellen, so dass die Anweisungen, die auf dem Computer oder auf der anderen programmierbaren Vorrichtung ausgeführt werden, Verfahren zum Umsetzen der in dem einen oder den mehreren Ablaufplan- und/oder Blockschaubildblöcken angegebenen Funktionen/Aktionen bereitstellen.
-
Es wird nun auf die Figuren und insbesondere auf die 1 bis 2 Bezug genommen, in denen beispielhafte Schaubilder von Datenverarbeitungsumgebungen bereitgestellt sind, in denen veranschaulichende Ausführungsformen der vorliegenden Offenbarung umgesetzt sein können. Es versteht sich, dass die 1 bis 2 nur beispielhaft sind und in Bezug auf die Umgebungen, in denen verschiedene Ausführungsformen umgesetzt sein können, keine Einschränkung geltend machen oder implizieren. An den gezeigten Umgebungen können viele Änderungen vorgenommen werden.
-
1 ist eine bildliche Darstellung eines Netzwerks von Datenverarbeitungssystemen, in denen veranschaulichende Ausführungsformen der vorliegenden Offenbarung umgesetzt sein können. Bei dem Netzwerk-Datenverarbeitungssystem 100 handelt es sich um ein Netzwerk von Computern, in dem die veranschaulichenden Ausführungsformen der vorliegenden Offenbarung umgesetzt sein können. Das Netzwerk-Datenverarbeitungssystem 100 enthält ein Netzwerk 130, bei dem es sich um das Medium handelt, das verwendet wird, um Datenübertragungsverbindungen zwischen diversen Einheiten und Computern bereitzustellen, die innerhalb des Netzwerk-Datenverarbeitungssystems 100 miteinander verbunden sind. Das Netzwerk 130 beinhaltet Verbindungen wie kabelgebundene, drahtlose Datenübertragungsverbindungen oder Lichtwellenleiter.
-
Bei manchen Ausführungsformen sind ein Server 140 und ein Server 150 sowie ein Datenspeicher 160 mit dem Netzwerk 130 verbunden Bei dem Server 140 und dem Server 150 kann es sich z. B. um IBM® Power SystemsTM-Server handeln. Außerdem sind Clients 110 und 120 mit dem Netzwerk 130 verbunden. Bei den Clients 110 und 120 kann es sich z. B. um Personal Computers oder Netzwerkcomputer handeln. Beim gezeigten Beispiel stellt der Server 140 Daten und/oder Dienste, darunter Datendateien, Betriebssystemabbilder und Anwendungen, ohne jedoch darauf beschränkt zu sein, an die Clients 110 und 120 bereit. Das Netzwerk-Datenverarbeitungssystem 100 kann zusätzliche Server, Clients und andere Einheiten beinhalten.
-
Beim gezeigten Beispiel handelt es sich bei dem Netzwerk-Datenverarbeitungssystem 100 um das Internet, wobei das Netzwerk 130 eine weltweite Sammlung von Netzwerken und Gateways darstellt, die Transmission-Control-Protocol-/Internet-Protocol-(TCP/IP-)Protokollfamilie verwendet, um Daten untereinander auszutauschen. Im Herzen des Internets befindet sich ein Hauptstrang von Hochgeschwindigkeits-Datenübertragungsleitungen zwischen Hauptknoten oder Host-Computern, die aus Tausenden von kommerziellen, Regierungs-, Bildungs- und anderen Computersystemen bestehen, die Daten und Nachrichten leiten. Natürlich kann das Netzwerk-Datenverarbeitungssystem 100 auch als Reihe unterschiedlicher Netzwerktypen umgesetzt sein, z. B. Intranet, lokales Netz (LAN) oder Weitverkehrsnetz (WAN). 1 ist als Beispiel und nicht als architektonische Einschränkung für die verschiedenen veranschaulichenden Ausführungsformen angedacht.
-
2 ist eine Ausführungsform eines Datenverarbeitungssystem 200, z. B. eines Clients 110 und/oder Servers 140, ohne jedoch darauf beschränkt zu sein, in dem eine Ausführungsform eines Systems zum Verwalten von Sprachmarkern gemäß der vorliegenden Offenbarung umgesetzt sein kann. Bei dieser Ausführungsform beinhaltet das Datenverarbeitungssystem 200 einen Bus oder ein Datenübertragungsstruktur 202, die einen Datenaustausch zwischen einer Prozessoreinheit 204, einem Speicher 206, einem Permanentspeicher 208, einer Datenübertragungseinheit 210, einer Eingabe/Ausgabe-(E/A-)Einheit 212 und einer Anzeige 214 bereitstellt.
-
Die Prozessoreinheit 204 dient dazu, Anweisungen für eine Software auszuführen, die in den Speicher 206 geladen werden kann. Bei der Prozessoreinheit 204 kann es sich um einen Satz von einem oder mehreren Prozessoren oder um einen Mehrprozessorkern handeln, je nach der bestimmten Umsetzung. Darüber hinaus kann die Prozessoreinheit 204 unter Verwendung eines oder mehrerer heterogener Prozessorsysteme umgesetzt werden, wobei ein Hauptprozessor mit sekundären Prozessoren auf einem einzelnen Chip vorhanden ist. Bei einem weiteren veranschaulichendes Beispiel kann es sich bei der Prozessoreinheit 204 um ein symmetrisches Mehrprozessorsystem handeln, das mehrere Prozessoren des gleichen Typs enthält.
-
Bei manchen Ausführungsformen kann der Speicher 206 ein Direktzugriffsspeicher oder eine andere beliebige flüchtige oder nichtflüchtige Speichereinheit sein. Der Permanentspeicher 208 kann diverse Formen annehmen, je nach der bestimmten Umsetzung. Beispielsweise kann der Permanentspeicher 208 eine oder mehrere Komponenten oder Einheiten enthalten. Der Permanentspeicher 208 kann eine Festplatte, ein Flash-Speicher, eine wiederbeschreibbare optische Platte, ein wiederbeschreibbares optisches Band oder eine Kombination des Vorstehenden sein. Die vom Permanentspeicher 208 verwendeten Medien können auch auswechselbar sein, z. B. eine auswechselbare Festplatte, ohne jedoch darauf beschränkt zu sein.
-
Die Datenübertragungseinheit 210 stellt einen Datenaustausch mit anderen Datenverarbeitungssystemen oder -einheiten bereit. Bei diesen Beispielen ist die Datenübertragungseinheit 210 eine Netzwerkschnittstellenkarte. Modems, Kabelmodems und Ethernet-Karten sind nur einige der derzeit verfügbaren Typen von Netzwerkschnittstellenadaptern. Die Datenübertragungseinheit 210 kann einen Datenaustausch durch Verwendung von physischen und/oder drahtlosen Datenübertragungsverbindungen bereitstellen.
-
Die Eingabe/Ausgabe-Einheit 212 ermöglicht ein Eingeben und Ausgeben von Daten in bzw. aus anderen Einheiten, die mit dem Datenverarbeitungssystem 200 verbunden sein können. Bei manchen Ausführungsformen kann die Eingabe/Ausgabe-Einheit 212 eine Verbindung für eine Benutzereingabe über eine Tastatur oder eine Maus bereitstellen. Darüber hinaus kann die Eingabe/Ausgabe-Einheit 212 eine Ausgabe an einen Drucker senden. Die Anzeige 214 stellt einen Mechanismus zum Anzeigen von Informationen für einen Benutzer bereit.
-
Anweisungen für das Betriebssystem und Anwendungen oder Programme befinden sich im Permanentspeicher 208. Diese Anweisungen können in den Speicher 206 geladen werden, damit sie von der Prozessoreinheit 204 ausgeführt werden können. Die Prozesse der verschiedenen Ausführungsformen können von der Prozessoreinheit 204 unter Verwendung von durch Computer umgesetzten Anweisungen durchgeführt werden, die sich in einem Speicher, z. B. dem Speicher 206, befinden können. Diese Anweisungen werden als Programmcode, computernutzbarer Programmcode oder computerlesbarer Programmcode bezeichnet, der von einem Prozessor in der Prozessoreinheit 204 gelesen und ausgeführt werden kann. Bei den verschiedenen Ausführungsformen kann der Programmcode auf verschiedenen physischen oder materiellen computerlesbaren Medien umgesetzt sein, z. B. als Speicher 206 oder Permanentspeicher 208.
-
Der Programmcode 216 befindet sich in einer funktionsfähigen Form auf einem computerlesbaren Medium 218, das selektiv auswechselbar ist, und kann in das Datenverarbeitungssystem 200 geladen oder übertragen werden, damit er von der Prozessoreinheit 204 ausgeführt werden kann. Der Programmcode 216 und die computerlesbaren Medien 218 bilden bei diesen Beispielen ein Computerprogrammprodukt 220. Bei einem Beispiel können die computerlesbaren Medien 218 in materieller Form vorliegen, z. B. als optische oder magnetische Platte, die in ein Laufwerk eingesetzt oder in diesem platziert ist, oder eine andere Einheit, die Teil des Permanentspeichers 208 ist, für eine Übertragung auf eine Speichereinheit, z. B. eine Festplatte, die Teil des Permanentspeichers 208 ist. Bei einer materiellen Form können die computerlesbaren Medien 218 auch die Form eines Permanentspeichers annehmen, z. B. einer Festplatte, eines Thumb-Laufwerks oder eines Flash-Speichers, der mit der Datenverarbeitungssystem 200 verbunden ist. Die materielle Form der computerlesbaren Medien 218 wird auch als computerbeschreibbares Speichermedium bezeichnet. Unter manchen Umständen sind die computerlesbaren Medien 218 ggf. nicht auswechselbar.
-
Alternativ kann der Programmcode 216 von den computerlesbaren Medien 218 über eine Datenübertragungsverbindung zur Datenübertragungseinheit 210 und/oder über eine Verbindung zur Eingabe/Ausgabe-Einheit 212 auf das Datenverarbeitungssystem 200 übertragen werden. Bei den veranschaulichenden Beispielen können die Datenübertragungsverbindung und/oder die Verbindung physisch oder drahtlos sein.
-
Die unterschiedlichen Komponenten, die für das Datenverarbeitungssystem 200 veranschaulicht sind, sollen die Art und Weise, mit der unterschiedliche Ausführungsformen umgesetzt sein können, architektonisch nicht einschränken. Die unterschiedlichen veranschaulichenden Ausführungsformen können in einem Datenverarbeitungssystem umgesetzt sein, das neben oder anstatt der für das Datenverarbeitungssystem 200 gezeigten weitere Komponenten beinhaltet. Andere in 2 gezeigte Komponenten können von den gezeigten veranschaulichenden Beispielen abweichen. Beispielsweise ist eine Speichereinheit im Datenverarbeitungssystem 200 eine beliebige Hardware-Vorrichtung, die Daten speichern kann. Der Speicher 206, der Permanentspeicher 208 und die computerlesbaren Medien 218 sind Beispiele für Speichereinheiten in materieller Form.
-
3 ist eine veranschaulichende Ausführungsform eines Systems 300 zum Verwalten von Sprachmarkern gemäß der vorliegenden Offenbarung. Das System 300 kann auf Datenverarbeitungssystemen oder Plattformen wie z. B. Servern 140 und/oder 150, Clients 110 und/oder 120, ohne auf diese beschränkt zu sein, oder an anderen Datenverarbeitungssystem-Positionen umgesetzt sein. Das System 300 ermöglicht das dynamische Verwalten von mehrsprachigen Daten, die in der Vergangenheit gesammelt wurden, auf der Grundlage neuer Sprachmarker. Beispielsweise ermöglichen Ausführungsformen der vorliegenden Offenbarung, dass gespeicherte Metadaten mit Sprachmarkern verwaltet und/oder aktualisiert werden, indem neue Sprachmarker in Datenablagen für Sprachmarker erfasst werden, lokale Sprachmarker-Tabellen dynamisch aus den Datenablagen für Sprachmarker synchronisiert werden und die gespeicherten Daten unter Verwendung der neuen Sprachmarker dynamisch aktualisiert und/oder neu kategorisiert werden.
-
Beispielsweise werden Sprachmarker bei Metadaten verwendet, um gesammelte internationale Dokumente in Text-, Grafik-, Audio- und Videostream-Datenformaten unter gewissen Sprach-, Schrift-, Bereichs- und Codierungskategorien zu klassifizieren, archivieren, kategorisieren und verarbeiten. Der Sprachmarker kann in gesammelte Informationen eingebettet und/oder integriert werden, um eine vernetzte Informationsverarbeitung und -verwaltung zu unterstützen. Beispielsweise sind Sprachmarker eine Möglichkeit zum Markieren von Ressourcen, um sie in der bestimmten Sprache des Menschen anzuzeigen, in der sie verfasst sind. In den meisten Fällen werden gespeicherte Materialien mit Machine Readable Cataloging XML (MARCXML, maschinenlesbare Katalogisierungs-XML) kategorisiert, und Sprachmarker werden als Teil von Metadatenattributen gespeichert. Die moderne Website-Archivierung ist ein weiteres Beispiel (beispielsweise werden Sprachmarker als Teil von Webseiten-Momentaufnahmen für verschiedene Informationsabrufzwecke gespeichert). Bei HTML und XML werden Sprachmarker als Metadatenattribut verwendet, um die Sprache von Text oder anderen Elementen in HTML- und XML-Dokumenten anzuzeigen. Das Sprachattribut wird verwendet, um Sprachmarker in HTML zu spezifizieren, und das Attribut xml:lang wird für XML verwendet. Tabelle 1 veranschaulicht ein Beispiel für einen Sprachmarker im Open-Graph-Protokoll und Tabelle 2 veranschaulicht mehrere Beispiele für unterschiedliche Sprachmarker-Typen und -Formate.
Tabelle 1
Sprachmarker | Sprache | Submarker |
en | Englisch | Sprache |
mas | Sprache der Massai | Sprache |
fr-CA | Französisch (Kanada) | Sprache + Region |
es-419 | Spanisch (Lateinamerika) | Sprache + Region |
zh-Hans | Vereinfachtes Chinesisch | Sprache + Schrift |
zh-Hans-CN | Vereinfachtes Chinesisch (China) | Sprache + Schrift + Region |
Tabelle 2
-
Moderne Sprachmarker-Syntax wird durch BCP 47 (wobei BCP für Best Current Practice bzw. derzeit beste Verfahrensweise steht) definiert und ist eine unveränderliche Bezeichnung für eine Reihe von RFCs (Request for Comments), deren Zahlen sich mit Aktualisierung der RFCs verändern. Die aktuellste RFC, die Sprachmarker-Syntax beschreibt, ist RFC 5646, Tags for the Identification of Language (Marker zum Identifizieren von Sprachen), und löst die älteren RFCs 4646, 3066 und 1766 ab. In der Branche werden auch diverse Standards der ISO (International Organisation for Standardization) (z. B. ISO 639-1, ISO 639-2, ISO 639-3, ISO-15924, ISO-3166) verwendet, um Sprachmarker für eine kulturübergreifende Unterstützung zu erstellen. Neben ISO-Standards dürfen Anbieter von Anwendungen oder Betriebssystemen ihre eigenen Marker aus einem Sprachsubmarker-Register (Language Subtag Registry) der IANA (Internet Assigned Numbers Authority) registrieren.
-
Sprachmarker werden aus technischen oder politischen Gründen jedoch geändert, aktualisiert, zusammengeführt, getrennt oder abgelehnt. Seit 2004 beispielsweise wurden mehr als 27 Schriften geändert und abgewandelt. Ein Beispiel dafür ist die chinesische Schrift „Han”, die in „Hant” bzw. „Hans” für traditionelles Chinesisch bzw. vereinfachtes Chinesisch aufgeteilt wurde. Aufgrund von Sprachmarker-Änderungen, der gespeicherten und gesammelten mehrsprachigen Daten sind die alten Sprachmarker in Bezug auf unterschiedliche Produkte, Plattformen, Standards und unterschiedliche historische Zeiten nicht einheitlich. Tabelle 3 veranschaulicht mehrere Beispiele für Sprachmarker-Änderungen im Laufe der Zeit.
Sprache | Sprachsubmarker | Schriftsubmarker | Regionsubmarker | Sprachmarker | Jahr |
Serbisch (kyrillisch) | sr | | YU | sr_YU | Vor 2000 |
Serbisch (kyrillisch) | sr | (Cyrl) | CS | sr_CS | 2000 |
Serbisch (kyrillisch) | sr | (Cyrl) | RS | sr_RS | 2006 |
Serbisch (kyrillisch) | sr | Cyrl | RS | sr_Cyrl_RS | 2011 |
Serbisch (lateinisch) | sh | | YU | sr_YU | Vor 2000 |
Serbisch (lateinisch) | sh | | SP | sh_SP | 2000 |
Serbisch (lateinisch) | sr | Latin | CS | sr_Latin_CS | 2006 |
Serbisch (lateinisch) | sr | Latin | RS | sr_Latin_RS | 2011 |
Hebräisch | iw | | IL | iw_IL | Vor 2003 |
Hebräisch | he | | IL | he_IL | 2003 |
Chinesisch (vereinfacht) | zh | | CN | zh_CN | Vor 2011 |
Chinesisch (vereinfacht) | zh | Hans | CN | zh_Hans_CN | 2011 |
Chinesisch (traditionell) | zh | | TW | zh_TW | Vor 2011 |
Chinesisch (traditionell) | zh | Hant | TW | zh_Hant_TW | 2011 |
Tabelle 3
-
Somit ändern sich manche Sprachmarker und zugehörige Regeln im Laufe der Zeit. Verschiedene Sprachmarker wurden verwendet, um Informationen und Datensätze in einer gleichen Sprache zu unterschiedlichen Zeitpunkten zu speichern und klassifizieren. Anders ausgedrückt, die gespeicherten Dateien, Datensätze und Metadaten können in einer gleichen Sprache in der Vergangenheit, in der Gegenwart und in der Zukunft unterschiedlich behandelt, gehandhabt und klassifiziert worden sein bzw. werden. Solche Sprachmarker-Unterschiede führen beim Verwalten von Daten, Filtern von Daten und Abrufen von Informationen zu Problemen. Wenn mit alten, neuen oder sogar abgelehnten Sprachmarker in Metadatendateien vermischt, kann es schwierig sein, die gewünschten oder korrekten Informationen zu finden.
-
Bei der in 3 veranschaulichten Ausführungsform beinhaltet das System 300 einen Host 302 (z. B. Server 140 und/oder 150 oder Clients 110 und/oder 120) mit einer Prozessoreinheit 310, einem Speicher 312 und einer kategorisierten Datenquelle 314, die unter Verwendung von Sprachmarker kategorisiert wurde (zumindest ein Teil dieser Daten). Die Datenquelle 314 kann sich im Speicher 312 oder an einem separaten Speicherort (in Bezug auf den Host 302 lokal oder entfernt) befinden. Wie in Tabelle 3 veranschaulicht, kann ein Sprachmarker eine Reihe von „Submarker” beinhalten, wobei jeder Submarker den Bereich von Sprache, der vom allgemeinen Marker identifiziert wird, verfeinert oder verkleinert. Bei der veranschaulichten Ausführungsform werden drei Sprachsubmarker unterschieden: 1) einen Sprachsubmarker; 2) einen Schriftsubmarker; und 3) einen Regionsubmarker.
-
Der „Sprachmarker” bezieht sich auf einen vollständigen Marker (z. B. „zh_Hans_CN”). Der Sprachsubmarker ist die primäre Sprache, der Schriftsubmarker zeigt die Abweichungen des Schrift- oder Schreibsystems an, die die geschriebenen Formen einer Sprache oder deren Dialekte unterscheiden, und der Regionsubmarker zeigt die linguistischen Abweichungen an, die einem spezifischen Gebiet oder einer spezifischen Region zugehörig oder dafür geeignet sind. Es versteht sich, dass Ausführungsformen der vorliegenden Offenbarung auf diverse Sprachmarker- und Submarker-Kennungen anwendbar sind.
-
Bei der veranschaulichten Ausführungsform beinhaltet der Speicher 312 ein oder mehrere Sprachmarker-Verwaltungsprofile 320, eine oder mehrere Sprachmarker-Tabellen 322 und ein Sprachmarker-Verwaltungsmodul 324. Das Sprachmarker-Verwaltungsmodul 324 ermöglicht ein Verwalten und/oder Aktualisieren von Datensätzen/Daten der Datenquelle 314 mit Sprachmarkern, indem Sprachmarker-Änderungen in Datenablagen für Sprachmarker erfasst werden, lokale Sprachmarker-Tabellen (z. B. Tabellen 322) aus den Datenablagen für Sprachmarker dynamisch synchronisiert werden und eingebettete Sprachmarker und Metadaten in den Daten der Quelle 314 für gespeicherte Daten dynamisch aktualisiert werden. In 3 beispielsweise beinhaltet das Sprachmarker-Verwaltungsmodul 324 ein Suchmodul 330, ein Aktualisierungsmodul 332, einen Überwachungsagenten 334, eine Schnittstelle 336 und ein Verifizierungsmodul 338. Das Sprachmarker-Verwaltungsmodul 324 kann auf eine beliebige bekannte Art und Weise unter Verwendung bekannter Techniken umgesetzt werden, die auf Hardware beruhen können, auf Software beruhen können oder eine Kombination von beidem. Beispielsweise kann das Sprachmarker-Verwaltungsmodul 324 eine Software, eine Logik und/oder einen ausführbaren Code zum Durchführen diverser Funktionen wie hier beschrieben aufweisen (z. B. in Form von Software und/oder eines Algorithmus, die bzw. der auf einer Prozessoreinheit ausgeführt wird, einer Hardware-Logik, die sich in einem Prozessor oder einem anderen Logikchiptyp befindet, in einer einzelnen integrierten Schaltung zusammengefasst oder auf verschiedenen Chips in einem Datenverarbeitungssystem verteilt).
-
Das Sprachmarker-Verwaltungsmodul 324 kann verwendet werden, um ein oder mehrere Sprachmarker-Verwaltungsprofile 320 einzurichten und/oder zu konfigurieren. Ein Profil 320 kann verwendet werden, um die Richtlinien, Präferenzen und/oder Regeln des Sprachmarker-Verwaltungsmoduls 324 zum Verwalten von Sprachmarker-Prozessen und/oder gewisse Richtlinien/Präferenzen/Regeln, die auf gewisse Datenspeicher/-archive anwendbar sind, vorab festzulegen, z. B. die Häufigkeit einer Aktualisierung von Sprachmarkern, ob Sprachmarker in der Datenquelle 314 zu ersetzen/abzuwandeln sind, ob ein neuer Datensatz aus dem ursprünglichen Datensatz mit neuen Sprachmarkern erstellt werden sollte (Abwandeln des Markers im neuen Datensatz, ohne dabei den ursprünglichen Datensatz zu ändern), ob ein Prozess des Zuordnens von neuen/aktuellen Sprachmarkern zu alten Sprachmarkern für die Datenquelle 314 durchgeführt werden sollte (wobei die ursprünglichen Datensätze unverändert bleiben/intakt bleiben, während aktuelle Sprachmarkercodes mit den alten Sprachmarkercodes verknüpft werden, die in solchen Datensätzen verwendet werden), usw., ohne jedoch darauf beschränkt zu sein. Die Profile 320 können mit einer bestimmten Quelle für die Datenquelle 314, einem bestimmten Benutzer, einer Kombination davon oder anderen Merkmalen verknüpft sein. Eine Schnittstelle 336 kann von einem Benutzer/Administrator verwendet werden, um Profile 320 einzurichten und Sprachmarker zu protokollieren, zu verfolgen, zu überprüfen, abzuwandeln, zu analysieren und zu berichten; den Prozess des Ersetzens und Zuordnens von alten Sprachmarkern einzuleiten und/oder zu steuern; Sprachmarker-Aktualisierungen zu steuern; Sprachmarker-Tabellen zu erstellen, zu ergänzen und/oder zu bearbeiten; usw.
-
Sprachmarker-Tabellen 322 können Informationen aufweisen, die einen Sprachmarker-Verlauf definieren und/oder anzeigen, der von unterschiedlichen Sprachmarker-Standards (z. B. RFC, ISO-Standards usw.) abgeleitet ist. Bei der in 3 veranschaulichten Ausführungsform beinhalten die Tabellen 322 eine Sprachsubmarker-Verlaufstabelle 340, eine Schriftsubmarker-Verlaufstabelle 342, eine Regionsubmarker-Verlaufstabelle 344 und eine Sprachmarker-Alias-Tabelle 346. Die Tabellen 340, 342, 344 und 346 werden verwendet, um Verlaufsänderungen von Sprachcodes und/oder Querverweisen zwischen Codes unterschiedlicher Standards, Plattformen und/oder Anwendungen anzuzeigen und/oder zu identifizieren. Beispielsweise kann die Sprachsubmarker-Verlaufstabelle 340 den folgenden Sprachsubmarkercode-Verlauf z. B. beinhalten:
sh -> sr
iw -> he
-
Die Schriftsubmarker-Verlaufstabelle 342 kann z. B. Einträge für den folgenden Schriftsubmarkercode-Verlauf enthalten:
sh -> sr-Latn
sr -> sr-Cyrl
zh -> zh-Hans
zh -> zh-Hant
-
Die Regionsubmarker-Verlaufstabelle 344 kann z. B. Einträge für den folgenden Regionsubmarkercode-Verlauf beinhalten:
YU -> CS -> RS
-
Die Sprachmarker-Alias-Tabelle 346 kann unterschiedliche Codeeinträge enthalten, die sich auf Codes in unterschiedlichen Standards, Plattformen, Anwendungen, ausschließlich für einen bestimmten Benutzer bestimmte Markercodes usw. beziehen bzw. diese querverweisen, z. B.:
sr_Cyrl_RS, sr_Cyrl_CS, sr_CS, sr_RS, sr_YU
sr_Latn_RS, sr_Latn_CS, sh_CS, sh_RS, sh_YU
-
In 3 kann das Verwaltungsmodul 324 auf ein oder mehrere Datenablagen für Sprachmarker 350 zugreifen oder auf diese Zugriff haben (z. B. über das Netzwerk 130 oder einen anderen Typ von Datenübertragungsnetzwerk). Die Datenablagen für Sprachmarker 350 können einer Quelle von Standards für Datenablagen für Sprachmarker oder Sprachmarken wie ISO, BCP, RFC, IANA usw. zugehörig sein, so dass eine oder mehrere Datenablagen 350 aktuelle, standardisierte Sprachmarker-Syntaxcodes enthalten. Bei der veranschaulichten Ausführungsform gehören zu den Datenablagen 350 eine Datenablage 352 für Sprachsubmarkercodes 352, eine Datenablage 354 für Schriftsubmarkercodes 354, eine Datenablage 356 für Regionsubmarker-Codes und eine Datenablage 358 für Sprachmarker-Alias-Referenzen. Die Datenablagen 352, 354, 356 und 358 beinhalten im Allgemeinen Sprachmarkercode-Informationen, z. B. Informationen, die sich auf Sprachsubmarkercode-Änderungen, Schriftsubmarkercode-Änderungen, Regionsubmarkercode-Änderungen bzw. Änderungen in Zusammenhang mit gewissen plattformspezifischen, anwendungsspezifischen oder anderen Typen von Markercodes beziehen.
-
Wie oben angezeigt, beinhaltet das Sprachmarker-Verwaltungsmodul 324 einen Überwachungsagenten 334. Der Überwachungsagent 334 ist so konfiguriert, dass er Sprachmarkercode-Änderungen in Datenablagen 350 in Echtzeit oder gemäß einem vorab festgelegten/gewünschten Plan überwacht und/oder verfolgt. Der Überwachungsagent 334 greift auf Datenablagen 350 zu und/oder wird anderweitig (z. B. von Datenablagen 350) über jedwede Änderung an Sprachmarkercodes (z. B. Sprachsubmarkercodes, Schriftsubmarkercodes, Regionsubmarkercodes und/oder Sprachmarker-Alias-Code-Referenzen) benachrichtigt und aktualisiert die entsprechenden/jeweiligen Sprachmarker-Tabellen 322. Der Überwachungsagent 334 ist außerdem so konfiguriert, dass er die Datenquelle 314 (oder Informationen/Datensätzen, die zur Datenquelle 314 hinzugefügt/mit dieser zusammengeführt wurden) in Echtzeit oder gemäß einem vorab definierten/gewünschten Plan überwacht, um Sprachmarker in der Datenquelle 314 zu identifizieren und in einigen Fällen entdeckte Sprachmarker zu Tabellen 322 hinzuzufügen. Beispielsweise kann eine Datenbank von Datensätzen in die Datenquelle 314 zusammengeführt werden, und die zusammengeführten Datensätze können Sprachmarker, die durch neuere Sprachmarker ersetzt wurden, Sprachmarker, die in den Tabellen 322 nicht aufscheinen, usw. beinhalten. Der Überwachungsagent 334 kann hinzugefügte/zusammengeführte Datensätze der Datenquelle 314 überwachen und/oder automatisch analysieren und eine entsprechende Aktion einleiten (beispielsweise wenn es das Profil 320 anzeigt, Ersetzen von Sprachmarkern in den zusammengeführten Datensätzen; Erzeugen einer Warnung in Bezug auf die entdeckten Sprachmarker; Verbinden mit Datenablagen 350, um änderungsspezifische Informationen über solche Sprachmarker einzuholen; Hinzufügen von Informationen über die entdeckten Sprachmarker zu Tabellen 322; usw.). Der Überwachungsagent 334 kann außerdem so konfiguriert sein, dass er die Datenablagen 350 und/oder die Datenquelle 314 überwacht und einen Benutzer/Administrator auf alle Änderungen an Sprachmarkern und/oder alle entdeckten Sprachmarker in der Datenquelle 314 (z. B. infolge von Datensätzen, die zur Datenquelle 314 hinzugefügt/in diese zusammengeführt wurden) hinweist.
-
Das Suchmodul 330 ist so konfiguriert, dass es Sprachmarker in der Datenquelle 314 findet und die entdeckten Sprachmarker in der Datenquelle 314 mit neuen Sprachmarkern, wie sie in den Tabellen 322 angeführt sind, verknüpft/in Zugehörigkeit setzt. Das Suchmodul 330 kann verschachtelte Suchschleifen durchführen, um Sprachmarker in der Datenquelle 314 zu finden (z. B. erste Runde: Suche auf der Grundlage der Sprachsubmarker-Verlauf-Code-Tabelle 340; zweite Runde: Suche auf der Grundlage der Schriftsubmarker-Verlauf-Code-Tabelle 342; dritte Runde: Suche auf der Grundlage der Regionsubmarker-Verlauf-Code-Tabelle 344; und vierte Runde: Suche auf der Grundlage der Alias-Verlauf-Code-Tabelle 346) und entdeckte Marker in der Datenquelle 314 mit den neuen Markercodes gemäß den Tabellen 322 verknüpfen/in Zugehörigkeit setzen. Bei manchen Ausführungsformen kann das Suchmodul 330 so konfiguriert sein, dass es alle zugehörigen Sprachmarker in der Datenquelle 314 anhand einer einzelnen Sprachmarker-Eingabe (z. B. über die Schnittstelle 336) findet.
-
Das Aktualisierungsmodul 332 ist so konfiguriert, dass es eine Echtzeit-Sprachmarker-Aktualisierungsverarbeitung in der Datenquelle 314 durchführt und/oder virtuelle Metadaten für die Datenquelle 314 auf der Grundlage aktueller Sprachmarkercodes erzeugt. Beispielsweise kann das Modul 332 auf der Grundlage der Option und/oder des Profils 320 eines Benutzers die Datenquelle 314 durchsuchen, um alte und uneinheitliche Sprachmarker in der Datenquelle 314 zu finden, und danach entweder die alten Marker durch aktuelle Sprachmarker ersetzen oder eine Abstraktionsebene (z. B. Erzeugen neuer virtualisierter Metadaten (z. B. Metadaten von Metadaten) verwenden, um die alten und uneinheitlichen Sprachmarker dem aktuellen Sprachmarker zuzuordnen. Bei einer Ausführungsform beispielsweise kann das Aktualisierungsmodul 332 die alten Sprachmarker in der Datenquelle 314 automatisch durch die aktuellen Sprachmarker ersetzen. In manchen Fällen jedoch kann das Ersetzen des alten Markers durch den neuen Marker unerwünscht sein (ein Benutzer möchte z. B. die Unversehrtheit des ursprünglichen Datensatzes nicht zerstören und/oder diesen nicht ändern). Somit kann das Aktualisierungsmodul 332 bei einer weiteren Ausführungsform so konfiguriert sein, dass es Referenzmetadaten 360 (file_ID, old_langTag, new_langTag) erzeugt und die erzeugten Referenzmetadaten 360 mit dem Datensatz der Datenquelle 314 verknüpft, anstatt der alte Marker durch den aktuellen Marker in einem Datensatz der Datenquelle 314 zu ersetzen oder zu aktualisieren, um den alte Sprachmarker dem neuen Sprachmarker für den Datensatz der Datenquelle 314 zuzuweisen.
-
Das Verifizierungsmodul 338 ist so konfiguriert, dass es feststellt, dass das Ersetzen/Aktualisieren von Sprachmarkern korrekt durchgeführt wurde, und/oder feststellt, dass die Referenzmetadaten 360 mit dem entsprechenden Datensatz der Datenquelle 314 verknüpft sind. Bei manchen Ausführungsformen beispielsweise kann das Verifizierungsmodul 338 aktualisierte/geänderte Datensätze der Datenquelle 314 verfolgen und feststellen, dass die aktualisierten/geänderten Datensätze die aktuellen Sprachmarker enthalten und/oder anderweitig vorhanden sein können, auf der Grundlage der aktuellen Sprachmarker. Ist dies nicht der Fall, kann das Verifizierungsmodul 338 so konfiguriert sein, dass es den Prozess nichtig macht und/oder umkehrt und eine Warnung über eine fehlgeschlagene Aktualisierungs/Ersetzungs-Operation erzeugt. Bei manchen Ausführungsformen kann das Verifizierungsmodul 338 so konfiguriert sein, dass es eine Kopie und/oder alternativen Datensatz der Datenquelle 314 erzeugt, den Sprachmarker aktualisiert, dessen Genauigkeit überprüft und danach den ursprünglichen Datensatz der Datenquelle 314 durch den aktualisierten Datensatz ersetzt. Das Verifizierungsmodul 338 kann auch Protokolldateien erzeugen die den zu aktualisierenden und den Datensätzen nach Aktualisieren entsprechen, und feststellen, dass die gleichen Datensätze (oder Menge von Datensätzen) oder Protokolldateiinformationen für einen bestimmten Sprachmarker-Aktualisierungsprozess übereinstimmen. Somit versteht es sich, dass das Verifizierungsmodul 338 so konfiguriert sein kann, dass es eine akzeptable Sprachmarker-Verarbeitung unter Verwendung einer Vielfalt diverser Techniken überprüft.
-
Im Betrieb kann sich das Verwaltungsmodul 324 somit eine Schnittstelle zu den Datenablagen für Sprachmarker 350 haben und jedwede Änderungen an Sprachmarkercodes ermitteln/identifizieren. Das Verwaltungsmodul 324 kann danach die Sprachmarker-Tabellen 322 automatisch aktualisieren, so dass diese die eine oder mehreren Verlaufsänderungen an solchen Sprachmarkercodes widerspiegeln. Das Verwaltungsmodul 324 kann die Datenquelle 314 mit den neuen/aktualisierten Sprachmarkercode-Informationen automatisch (z. B. jeweils nach gewissen Regeln und/oder Prozessen, die in einem bestimmten Profil 320 festgelegt sind) verarbeiten (z. B. Referenzmetadaten auf der Grundlage der neuen Sprachmarkercodes aktualisieren, abwandeln und/oder erstellen, einen Bericht erzeugen, der Sprachmarker-Status-Informationen anzeigt usw.). Das Verwaltungsmodul 324 kann danach automatisch feststellen, dass das Verarbeiten von Sprachmarkern für die Datenquelle 314 korrekt durchgeführt wurde.
-
4 ist ein Schaubild, das ein Ersetzen von Sprachmarkern gemäß der vorliegenden Offenbarung veranschaulicht. Wie oben erörtert, kann die Datenquelle 314 in manchen Fällen alte und/oder uneinheitliche Sprachmarker auf der Grundlage aktueller Standard-Sprachmarker aufweisen. Das Verwaltungsmodul 324 kann die Datenquelle 314 durchsuchen (z. B. die bestehenden oder alten Datensätze der Datenquelle 314 1), Sprachmarker in solchen Datensätzen lokalisieren, aktuelle Sprachmarker auf der Grundlage der Sprachmarker-Tabellen 322 ermitteln und die Sprachmarker automatisch ersetzen, um aktualisierte Datensätze der Datenquelle 314 2 mit den aktuellen Sprachmarkern zu erzeugen. Das Verwaltungsmodul kann verfolgen, welche Datensätze gerade aktualisiert werden, und feststellen, dass die aktualisierten Datensätze korrekt mit den aktuellen Sprachmarkern aktualisiert wurden.
-
5 ist ein Schaubild, das eine weitere Ausführungsform des Ersetzens von Sprachmarkern gemäß der vorliegenden Offenbarung veranschaulicht. Wie zuvor beschrieben, kann die Datenquelle 314 Datensätze umfassen, die ein Benutzer nicht abwandeln möchte oder kann, ohne die Unversehrtheit oder Eigenschaften solcher Daten (oder aus anderen Gründen) negativ zu beeinflussen. Anstatt die Sprachmarker in solchen Datensätzen abzuwandeln und/oder zu ersetzen, werden bei dieser Ausführungsform relationale Metadaten erzeugt, die die jeweiligen Datensätze (und die alten Sprachmarker davon) mit den aktuellen Sprachmarkern verknüpfen. Bei der veranschaulichten Ausführungsform beispielsweise können gewisse Datensätze 314 in Ordner oder andere Typen von Gruppierungen (auch wenn solche Gruppierungen nicht erforderlich sind) organisiert sein, wenn die Datensätze bestimmter Ordner auf alte Sprachmarker verweisen oder diese verwenden. Das Verwaltungsmodul 324 durch die Datenquelle 314, identifiziert die alten Sprachmarker in der Datenquelle 314, identifiziert die aktuellen Sprachmarker aus den Tabellen 322 und erzeugt Sprachmarker-Referenzmetadaten 360, die den aktuellen Sprachmarker mit dem alten Sprachmarker verknüpfen. In 5 beispielsweise werden Metadaten 360 1 für einen Ordner1 erzeugt, um den aktuellen Sprachmarker sr_Latin_RS mit einem Ordner von Datensätzen unter Verwendung des alten Sprachmarkers sr_Latin_CS zu verknüpfen. Metadaten 360 2 werden für einen Ordner2 erzeugt, um den aktuellen Sprachmarker sr_Latin_RS mit einem Ordner von Datensätzen unter Verwendung des alten Sprachmarkers sr_CS zu verknüpfen. Metadaten 360 3 werden für einen Ordner3 erzeugt, um den aktuellen Sprachmarker sr_Latin_RS mit einem Ordner von Datensätzen unter Verwendung des alten Sprachmarkers sh_YU zu verknüpfen. Metadaten 360 4 werden für einen Ordner4 erzeugt, um den aktuellen Sprachmarker sr_Cyrl_RS mit einem Ordner von Datensätzen unter Verwendung des alten Sprachmarkers sr_RS zu verknüpfen. Metadaten 360 5 werden für einen Ordner5 erzeugt, um den aktuellen Sprachmarker sr_Cyrl_RS mit einem Ordner von Datensätzen unter Verwendung des alten Sprachmarkers sr_CS zu verknüpfen. Metadaten 360 6 werden für einen Ordner6 erzeugt, um den aktuellen Sprachmarker sr_Cyrl_RS mit einem Ordner von Datensätzen unter Verwendung des alten Sprachmarkers sr_YU zu verknüpfen. Die Referenzmetadaten 360 können als Teil der Datenquelle 314 gespeichert oder anderweitig lokalisiert werden. Beim Suchen nach Daten unter Verwendung der aktuellen Sprachmarker zeigen die Referenzmetadaten 360 auf Datensätze unter Verwendung der alten Sprachmarker/Verknüpfungen zu diesen, damit die alten, ursprünglichen Datensätze intakt bleiben.
-
6 ist ein Ablaufplan, der eine Ausführungsform eines Verfahrens zum Verwalten von Sprachmarkern gemäß der vorliegenden Offenbarung zeigt. Das Verfahren beginnt bei Block 602, wobei ein Überwachungsagent 334 eine oder mehrere Datenablagen für Sprachmarker 350 auf Änderungen und/oder Aktualisierungen an Sprachmarkercodes überwacht. Beim Entscheidungsblock 604 wird ermittelt, ob eine Änderung und/oder Aktualisierung an einem Sprachmarkercode erfolgt ist. Ist dies nicht der Fall, fährt das Verfahren mit einem Überwachen der einen oder mehreren Datenablagen für Sprachmarker 350 auf Änderungen und/oder Aktualisierungen an Sprachmarkercodes fort. Wenn beim Entscheidungsblock 604 festgestellt wird, dass eine Aktualisierung und/oder Änderung an einem Sprachmarkercode erfolgt ist, fährt das Verfahren mit Block 606 fort, bei dem der Überwachungsagent 334 den entsprechenden Sprachmarkercode zu Sprachmarkercode-Verlaufstabellen 322 hinzufügt und/oder in diesen aktualisiert.
-
7 ist ein Ablaufplan, der eine Ausführungsform eines Verfahrens zum Verwalten von Sprachmarkern gemäß der vorliegenden Offenbarung zeigt. Das Verfahren beginnt bei Block 702, bei dem ein oder mehrere Sprachmarker-Verwaltungsprofile 320 eingerichtet und/oder geladen werden können. Bei Block 704 lädt ein Verwaltungsmodul 324 Sprachmarker-Verlaufstabellen 322 und/oder greift anderweitig auf diese zu. Bei Block 706 analysiert das Verwaltungsmodul 324 eine Datenquelle 314. Bei Block 708 analysiert das Verwaltungsmodul 324 Sprachmarker, die in der Datenquelle 314 verwendet werden. Bei Block 710 berichtet das Verwaltungsmodul 324 den Status der entdeckten Sprachmarker. Bei manchen Ausführungsformen beispielsweise kann das Verwaltungsmodul 324 einen Bericht erzeugen und/oder Statusinformationen, die die entdeckten Sprachmarker identifizieren anderweitig verfügbar machen, der anzeigt bzw. die anzeigen, ob gewisse Sprachmarker veraltet sind oder anderweitig ersetzt/aktualisiert wurden, der bzw. die Sprachmarker anzeigt bzw. anzeigen, die weitere Informationen erfordern (z. B. gegebenenfalls anzeigt bzw. anzeigen, dass es an Verlaufsinformationen für den entdeckten Sprachmarker in den Tabellen 322 fehlt), usw.
-
Beim Entscheidungsblock 712 wird ermittelt, ob eine Datenquelle 314 alte, ungültige oder veraltete Sprachmarker enthält. Beispielsweise kann das Verwaltungsmodul 324 die entdeckten Marker in der Datenquelle 314 mit Informationen in den Tabellen 322 bewerten, um zu ermitteln, ob die entdeckten Marker aktualisiert/geändert wurden. Ist dies nicht der Fall, ist keine weitere Aktion erforderlich. Wenn die Datenquelle 314 jedoch alte/ungültige Sprachmarker enthält, fährt das Verfahren mit dem Entscheidungsblock 714 fort, bei dem ermittelt wird, ob alte/ungültige Marker ersetzt werden sollten. Beispielsweise kann das Verwaltungsmodul 324 das Profil 320 bewerten, um zu ermitteln, ob die alten/ungültigen Sprachmarker automatisch ersetzt werden sollten oder ggf. eine andere Aktion durchgeführt werden sollte. Wenn die alten/ungültigen Sprachmarker zu ersetzen sind, fährt das Verfahren mit Block 716 fort, bei dem das Verwaltungsmodul 324 die alten/ungültigen Sprachmarker in der Datenquelle 314 durch die aktuellen Sprachmarker ersetzt. Beim Entscheidungsblock 718 wird ermittelt, ob die Sprachmarker ersetzt wurden. Wenn beispielsweise die Datenquelle 314 nicht abgewandelt werden kann oder das Verwaltungsmodul 324 auf einen Zustand stößt, der verhindert, dass das Verwaltungsmodul 324 den Sprachmarker in der Datenquelle 314 erfolgreich ersetzt/aktualisiert, kann das Verwaltungsmodul 324 beim Block 720 ein Fehlerprotokoll erzeugen, das Details zum Zustand eines solchen Zustands liefert.
-
Wenn die Sprachmarker ersetzt/aktualisiert wurden, geht das Verfahren vom Entscheidungsblock 718 zu Block 722 über, bei dem das Verwaltungsmodul 324 den Prozess des Ersetzens/Aktualisierens von Sprachmarkern überprüft. Wie oben angezeigt, kann das Verwaltungsmodul 324 feststellen, dass die aktualisierten Datensätze der Datenquelle 314 unter Verwendung der aktuellen Sprachmarker lokalisiert werden können, die Datenquelle 314 erneut durchsuchen, um zu sicherzustellen, dass keine alten/ungültigen Sprachmarker in der Datenquelle 314 bleiben, Protokolldateien der Datenquelle 314 vor und nach dem Ersetzen von Sprachmarkern vergleichen oder andere Aktionen durchführen, um das erfolgreiche Aktualisieren der alten Sprachmarker durch aktuelle Sprachmarkercodes zu überprüfen. Beim Entscheidungsblock 724 wird ermittelt, ob der Prozess des Ersetzens/Aktualisierens von Sprachmarkern erfolgreich überprüft wurde. Ist dies nicht der Fall, fährt das Verfahren mit Block 720 fort, bei dem das Verwaltungsmodul 324 ein Fehlerprotokoll erzeugen kann, das Details zur fehlenden Verifizierungsmodul liefert. Wenn der Prozess des Ersetzens/Aktualisierens von Sprachmarkern beim Entscheidungsblock 724 überprüft wurde, endet das Verfahren.
-
Beim Entscheidungsblock 714 fährt das Verfahren, wenn das Ersetzen/Aktualisieren der entdeckten alten/ungültigen Sprachmarker nicht zu ersetzen ist, mit Entscheidungsblock 726 fort, bei dem ermittelt wird, ob Sprachmarker-Referenzmetadaten 360 für die entdeckten Sprachmarker zu erzeugen sind. Wie früher angezeigt, können beispielsweise gewisse Datensätze verfälscht werden, wenn die Datensätze geändert werden. Somit kann es unwünschenswert sein, alte Sprachmarker in solchen Daten abzuwandeln/zu ersetzen. Wenn keine Referenzmetadaten 360 zu erzeugen sind (z. B. wenn ein anderes Verfahren erwünscht ist, um die alten Marker mit den neuen Markern zu verknüpfen, oder wenn eine weitere Überprüfung/Analyse der Datenquelle 314 erforderlich ist), endet das Verfahren. Wenn Referenzmetadaten 360 zu erzeugen sind, fährt das Verfahren mit Block 728 fort, bei dem das Verwaltungsmodul 324 die Sprachmarker-Referenzmetadaten für den alten Sprachmarker auf der Grundlage des aktuellen Sprachmarkers erzeugt (z. B. unter Verwendung von Informationen in den Tabellen 322). Bei Block 730 verknüpft das Verwaltungsmodul 324 die Referenzmetadaten 360 mit dem alten Sprachmarker. Beim Entscheidungsblock 732 wird ermittelt, ob die Referenzmetadaten 360 mit dem alten Sprachmarker verknüpft wurden. Ist dies nicht der Fall, fährt das Verfahren mit Block 720 fort, bei dem das Verwaltungsmodul 324 ein Fehlerprotokoll erzeugen kann, das Details zur fehlgeschlagenen Verknüpfung liefert. Bei erfolgreicher Verknüpfung fährt das Verfahren mit Block 734 fort, bei dem das Verwaltungsmodul 324 die Verknüpfung der Referenzmetadaten 360 mit den alten Sprachmarkern überprüft. Beispielsweise kann das Verwaltungsmodul 324 feststellen, dass die Datensätze der Datenquelle 314, die durch die Referenzmetadaten 360 verknüpft sind, unter Verwendung der aktuellen Sprachmarker lokalisiert werden können, oder andere Aktionen durchführen, um die erfolgreiche Verknüpfung der alten Sprachmarker mit den aktuellen Sprachmarkercodes sicherzustellen. Schlägt die Überprüfung fehl, fährt das Verfahren mit Block 720 fort, bei dem das Verwaltungsmodul 324 ein Fehlerprotokoll erzeugen kann, das Details zur fehlgeschlagenen Überprüfung liefert. Bei erfolgreicher Überprüfung endet das Verfahren.
-
Somit ermöglichen Ausführungsformen der vorliegenden Offenbarung das dynamische Verwalten von mehrsprachigen Daten, die in der Vergangenheit gesammelt wurden, auf der Grundlage neuer Sprachmarker. Beispielsweise ermöglichen Ausführungsformen der vorliegenden Offenbarung, dass gespeicherte Daten mit Sprachmarkern verwaltet und/oder aktualisiert werden, indem neue Sprachmarker-Änderungen in Datenablagen für Sprachmarker erfasst werden, lokale Sprachmarker-Tabellen dynamisch aus den Datenablagen für Sprachmarker synchronisiert werden und eingebettete Sprachmarker und Metadaten in gespeicherten Daten dynamisch aktualisiert werden.
-
Die hier verwendete Terminologie dient lediglich zum Beschreiben bestimmter Ausführungsformen und soll die Offenbarung nicht einschränken. Wie hier verwendet, sollen die Singularformen von Artikeln wie „ein” und „der” auch die Pluralformen mit einschließen, außer wenn der Kontext es eindeutig anders vorgibt. Es sei ferner verstanden, dass die Ausdrücke „aufweisen” und/oder „aufweisend”, wie in dieser Schrift verwendet, das Vorhandensein von angegebenen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen und/oder Komponenten festlegen, das Vorhandensein oder das Hinzufügen von einem/r oder mehreren anderen Merkmalen, ganzen Zahlen, Schritten, Operationen, Elementen, Komponenten und/oder Gruppen davon jedoch nicht ausschließen.
-
Die entsprechenden Strukturen, Materialien, Aktionen und sämtliche Mittel oder Schritt-plus-Funktion-Elemente in den folgenden Ansprüchen sollen jedwede Struktur, jedwedes Material oder jedwede Aktion für das Durchführen der Funktion in Kombination mit anderen beanspruchten Elementen, wie spezifisch beansprucht, beinhalten. Die Beschreibung der vorliegenden Offenbarung ist zum Zwecke der Veranschaulichung und Beschreibung dargeboten, soll jedoch nicht als ausschöpfend oder die Offenbarung in der offenbarten Form einschränkend verstanden werden. Für den Fachmann sind viele Änderungen und Variationen ersichtlich, ohne sich vom Umfang und Geist der Offenbarung zu entfernen. Die Ausführungsform wurde gewählt und beschrieben, um die Grundgedanken der Offenbarung und die praktische Anwendung bestmöglich zu erläutern und um anderen Fachleuten zu ermöglichen, die Offenbarung in verschiedenen Ausführungsformen mit verschiedenen Änderungen, wie sie sich für die bestimmte angedachte Verwendung eignen, zu verstehen.
-
Der Ablaufplan und die Blockschaubilder in den Figuren zeigen die Architektur, die Funktionalität und den Betrieb möglicher Umsetzungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedener Ausführungsformen der vorliegenden Erfindung. In dieser Hinsicht kann jeder Block des Ablaufplans oder der Blockschaubilder ein Modul, ein Segment oder einen Teil eines Codes darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen für die Umsetzung der einen oder mehreren angegebenen logischen Funktionen aufweist. Es sei darüber hinaus angemerkt, dass die in den Blöcken ausgewiesenen Funktionen bei einigen alternativen Umsetzungen in einer anderen Reihenfolge als in den Figuren gezeigt auftreten können. Beispielsweise können zwei aufeinander folgende Blöcke tatsächlich im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, je nach Funktionalität. Es sei ferner angemerkt, dass jeder Block der Blockschaubilder und/oder der Ablaufplandarstellung und Kombinationen von Blöcken in den Blockschaltbildern und/oder in der Ablaufplandarstellung durch spezifische Systeme auf Hardware-Grundlage umgesetzt sein können, die die angegebenen Funktionen oder Aktionen oder Kombinationen von spezifischen Hardware- und Computeranweisungen durchführen.
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Nicht-Patentliteratur
-
- RFC 5646 [0035]
- RFCs 4646 [0035]
- 3066 [0035]
- 1766 [0035]
- ISO 639-1 [0035]
- ISO 639-2 [0035]
- ISO 639-3 [0035]
- ISO-15924 [0035]
- ISO-3166 [0035]