-
HINTERGRUND
-
Technisches Gebiet
-
Die beispielhaften Ausführungsformen beziehen sich allgemein auf die Klassifizierung von Bakterien und insbesondere auf die Klassifizierung von Bakterien auf Grundlage der Bakterien-Morphologie und -Motilität.
-
HINTERGRUND
-
Industrien wie die Lebensmittel- und Gesundheitsindustrie sind besorgt über das Vorhandensein von Bakterien wie E. Coli, Salmonellen, Listerien und Campylobacter in Lebensmitteln für Verbraucher. Da sich diese Bakterien vermehren und wachsen, wenn die Umwelt- und Ernährungsbedingungen stimmen, können sie schnell zu Mikrokolonien und ferner zu makroskopischen dünnen Biofilmen heranwachsen, die innerhalb weniger Stunden eine potenzielle Gefahr für die Verbraucher darstellen. Aus diesem Grund sind Lebensmittelanbieter wie Fleisch- und Gemüseproduzenten verpflichtet, solche Bakterien in ihren Produkten auf sehr geringe Mengen zu begrenzen, beispielsweise auf zehn koloniebildende Einheiten (colony forming units, cfu) pro Milliliter oder 10 cfu/ml. Die derzeit von der Lebensmittelindustrie verwendeten Verfahren zur Ermittlung von Bakterientypen in Lebensmitteln beinhalten einen Anreicherungsprozess, bei dem die Probe über einen Zeitraum von 8 bis 24 Stunden untersucht wird, während dessen die Bakterienzahl auf 104 cfu/ml ansteigt. Sobald diese Bakterienkonzentration für den Test zur Verfügung steht, werden Polymerase-Kettenreaktionen (polymerase-chain reactions, PCR) oder DNA-Sequenzierungsverfahren verwendet, um bestimmte Typen von Bakterien auf Grundlage ihrer DNA zu ermitteln, jedoch sind diese Verfahren nicht sehr effizient und einfach.
-
Daher besteht in der Technik ein Bedarf, das oben genannte Problem zu lösen.
-
KURZDARSTELLUNG
-
Unter einem ersten Aspekt betrachtet, stellt die vorliegende Erfindung ein computer-implementiertes Verfahren zur Klassifizierung von Bakterien bereit, wobei das Verfahren umfasst: Extrahieren einer Morphologie-Signatur, die einem oder mehreren Bakterien entspricht; Extrahieren einer Motilitäts-Signatur, die dem einen oder mehreren Bakterien entspricht; Zusammenführen der Morphologie-Signatur und der Motilitäts-Signatur zu einer zusammengeführten Vektor-Signatur; und Klassifizieren des einen oder der mehreren Bakterien auf Grundlage der zusammengeführten Vektor-Signatur.
-
Gemäß einem weiteren Aspekt stellt die vorliegende Erfindung ein Computerprogrammprodukt zum Klassifizieren von Bakterien bereit, wobei das Computerprogrammprodukt ein computerlesbares Speichermedium umfasst, das von einer Verarbeitungsschaltung gelesen werden kann und Anweisungen zur Ausführung durch die Verarbeitungsschaltung speichert, um ein Verfahren zum Ausführen der Schritte der Erfindung auszuführen.
-
Gemäß einem weiteren Aspekt stellt die vorliegende Erfindung ein Computerprogramm bereit, das auf einem computerlesbaren Medium gespeichert ist und in den internen Speicher eines digitalen Computers geladen werden kann, und das Teile eines Softwarecodes umfasst, wenn das besagte Programm auf einem Computer ausgeführt wird, um die erfindungsgemäßen Schritte auszuführen.
-
Gemäß einem weiteren Aspekt stellt die vorliegende Erfindung ein Computerprogrammprodukt zur Klassifizierung von Bakterien bereit, wobei das Computerprogrammprodukt umfasst: ein oder mehrere nicht-flüchtige, computerlesbare Speichermedien und Programmanweisungen, die auf dem einen oder den mehreren nichtflüchtigen, computerlesbaren Speichermedien gespeichert sind, die in der Lage sind, ein Verfahren auszuführen, wobei das Verfahren umfasst: Extrahieren einer Morphologie-Signatur, die einem oder mehreren Bakterien entspricht; Extrahieren einer Motilitäts-Signatur, die dem einen oder den mehreren Bakterien entspricht; Zusammenführen der Morphologie-Signatur und der Motilitäts-Signatur in eine zusammengeführte Vektor-Signatur; und Klassifizieren des einen oder der mehreren Bakterien auf Grundlage der zusammengeführten Vektor-Signatur.
-
Gemäß einem weiteren Aspekt stellt die vorliegende Erfindung ein Computersystem zur Klassifizierung von Bakterien bereit, wobei das Computersystem umfasst: einen oder mehrere Computerprozessoren, ein oder mehrere computerlesbare Speichermedien und Programmanweisungen, die auf dem einen oder den mehreren computerlesbaren Speichermedien gespeichert sind, zur Ausführung durch mindestens einen des einen oder der mehreren Prozessoren, der bzw. die in der Lage ist bzw. sind, ein Verfahren auszuführen, wobei das Verfahren umfasst: Extrahieren einer Morphologie-Signatur, die einem oder mehreren Bakterien entspricht; Extrahieren einer Motilitäts-Signatur, die dem einen oder den mehreren Bakterien entspricht; Zusammenführen der Morphologie-Signatur und der Motilitäts-Signatur in eine zusammengeführte Vektor-Signatur; und Klassifizieren des einen oder der mehreren Bakterien auf Grundlage der zusammengeführten Vektor-Signatur.
-
Die beispielhaften Ausführungsformen offenbaren ein Verfahren, ein Computerprogrammprodukt und ein Computersystem zur Identifizierung von Bakterien auf Grundlage der Morphologie und Motilität. Das Verfahren kann das Extrahieren einer Morphologie-Signatur, die einem oder mehreren Bakterien entspricht, und das Extrahieren einer Motilitäts-Signatur, die dem einen oder mehreren Bakterien entspricht, umfassen. Das Verfahren kann ferner das Zusammenführen der Morphologie-Signatur und der Motilitäts-Signatur zu einer kombinierten Vektor-Signatur und die Klassifizierung des einen oder der mehreren Bakterien auf Grundlage der zusammengeführten Vektor-Signatur umfassen.
-
Gemäß einigen Ausführungsformen kann das Extrahieren der Morphologie-Signatur auf Grundlage des Vergleichs einer Morphologie der einen oder mehreren Bakterien mit einem Modell basieren, das die Bakterien-Morphologie mit dem Bakterientyp korreliert.
-
In Ausführungsformen kann das Modell, das die Bakterien-Morphologie mit dem Bakterientyp korreliert, Merkmale beinhalten, die aus einer Gruppe ausgewählt sind, die Zellgröße, Zellgestalt, Zelllänge, Zelldurchmesser, Zellvolumen und Gram-Färbetyp umfasst.
-
Gemäß einigen Ausführungsformen kann die Extraktion der Motilitäts-Signatur auf Grundlage eines Vergleichs der Bakterien-Motilität mit einem Modell basieren, das die Bakterien-Motilität mit dem Bakterientyp korreliert.
-
In Ausführungsformen kann das Modell, das die Bakterien-Motilität mit dem Bakterientyp korreliert, Merkmale beinhalten, die aus einer Gruppe ausgewählt sind, die eine Lauflänge (run length), eine durchschnittliche Lauflänge, eine Laufgeschwindigkeit (run velocity), eine durchschnittliche Laufgeschwindigkeit, eine Taumel-Länge (tumble length), eine durchschnittliche Taumel-Länge, eine Taumel-Geschwindigkeit, eine durchschnittliche Taumel-Geschwindigkeit und ein Taumel-Intervall umfasst.
-
Gemäß einigen Ausführungsformen kann das Modell, das die Bakterien-Motilität mit dem Bakterientyp korreliert, ferner die Merkmalsreplikationsrate beinhalten.
-
In Ausführungsformen können die Morphologie-Signatur, die Motilitäts-Signatur und die zusammengeführte Vektor-Signatur durch Algorithmen der künstlichen Intelligenz erzeugt werden.
-
Figurenliste
-
Die folgende detaillierte Beschreibung, die nur als Beispiel dient und nicht als Beschränkung ausschließlich dasselbe zu verstehen ist, ist am besten in Verbindung mit den beiliegenden Zeichnungen verständlich, in denen:
- 1 ein beispielhaftes schematisches Diagramm eines Systems zur Klassifizierung von Bakterien 100 darstellt, gemäß den beispielhaften Ausführungsformen.
- 2 einen beispielhaften Ablaufplan 200 darstellt, der die Operationen eines Bakterien-Klassifikators 134 des Systems zur Klassifizierung von Bakterien 100 bei der Aufzeichnung von Bakterien unter Verwendung eines Smart-Gerät-Mikroskops veranschaulicht, gemäß den beispielhaften Ausführungsformen.
- 3 einen beispielhaften Ablaufplan 300 darstellt, der die allgemeinen Operationen des Bakterien-Klassifikators 134 des Systems zur Klassifizierung von Bakterien 100 bei der Klassifizierung von Bakterien unter Verwendung von Morphologie- und Motilitäts-Signaturen veranschaulicht, gemäß den beispielhaften Ausführungsformen.
- 4 einen beispielhaften Ablaufplan 400 darstellt, der die Operationen des Bakterien-Klassifikators 134 des Systems zur Klassifizierung von Bakterien 100 bei der Extraktion einer bakteriellen Morphologie-Signatur veranschaulicht, gemäß den beispielhaften Ausführungsformen.
- 5 einen beispielhaften Ablaufplan 500 darstellt, der die Operationen des Bakterien-Klassifikators 134 des Systems zur Klassifizierung von Bakterien 100 bei der Extraktion einer bakteriellen Motilitäts-Signatur veranschaulicht, gemäß den beispielhaften Ausführungsformen.
- 6 einen Lauf und Taumel (run and tumble) von Bakterien darstellt, die während der Erzeugung einer Motilitäts-Signatur analysiert werden, gemäß den beispielhaften Ausführungsformen.
- 7 ein Beispiel für den Bakterien-Klassifikator 134 darstellt, der E. Coli-Bakterien klassifiziert, gemäß den beispielhaften Ausführungsformen.
- 8 ein Beispiel für den Bakterien-Klassifikator 134 darstellt, der Bacillus Subtilis-Bakterien klassifiziert, gemäß den beispielhaften Ausführungsformen.
- 9 ein beispielhaftes Blockschaubild darstellt, das die Hardwarekomponenten des Systems zur Bestimmung von Gesprächspartnern 100 aus 1 darstellt, in Übereinstimmung mit den beispielhaften Ausführungsformen.
- 10 eine Cloud-Computing-Umgebung darstellt, gemäß den beispielhaften Ausführungsformen.
- 11 Abstraktionsmodellschichten darstellt, gemäß den beispielhaften Ausführungsformen Abstraktionsmodellschichten.
-
Die Zeichnungen sind nicht notwendigerweise maßstabsgerecht. Die Zeichnungen sind lediglich schematische Darstellungen und sollen keine konkreten Parameter der beispielhaften Ausführungsformen darstellen. Die Zeichnungen sollen lediglich typische beispielhafte Ausführungsformen darstellen. Gleiche Elemente sind in den Zeichnungen mit den gleichen Bezugszahlen versehen.
-
AUSFÜHRLICHE BESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNGEN
-
Hierin werden ausführliche Ausführungsformen der beanspruchten Strukturen und Verfahren offenbart; es versteht sich jedoch, dass die offenbarten Ausführungsformen lediglich zur Veranschaulichung der beanspruchten Strukturen und Verfahren dienen, die in verschiedenen Formen verkörpert sein können. Die beispielhafte Ausführungsformen sind lediglich veranschaulichend und können jedoch in vielen verschiedenen Formen verkörpert werden und sollte nicht so ausgelegt werden, dass sie auf die hierin dargelegten beispielhaften Ausführungsformen beschränkt ist. Vielmehr werden diese beispielhaften Ausführungsformen bereitgestellt, damit diese Offenbarung umfassend und vollständig ist und den Umfang dieser Erfindung Fachleuten vollständig vermittelt. In der Beschreibung können Einzelheiten allgemein bekannter Merkmale und Techniken weggelassen werden, um zu vermeiden, dass die vorliegenden Ausführungsformen unnötig unklar werden.
-
Wenn in der Beschreibung auf „eine Ausführungsform“, „eine beispielhafte Ausführungsform“ usw. Bezug genommen wird, weist dies darauf hin, dass die beschriebene Ausführungsform ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft beinhalten kann, jedoch muss nicht jede Ausführungsform das bestimmte Merkmal, die bestimmte Struktur oder Eigenschaft unbedingt beinhalten. Darüber hinaus beziehen sich solche Ausdrücke nicht unbedingt auf dieselbe Ausführungsform. Wenn ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft in Verbindung mit einer Ausführungsform beschrieben wird, wird ferner vorausgesetzt, dass ein Fachmann über die Kenntnisse verfügt, um ein solches Merkmal, eine solche Struktur oder Eigenschaft in Verbindung mit sonstigen Ausführungsformen zu verwirklichen, unabhängig davon, ob sie ausdrücklich beschrieben werden.
-
Um die Darstellung der beispielhaften Ausführungsformen nicht zu beeinträchtigen, können in der folgenden ausführlichen Beschreibung einige aus dem Stand der Technik bekannte Verarbeitungsschritte oder Operationen zu Darstellungs- und Veranschaulichungszwecken zusammengefasst und in einigen Fällen nicht im Detail beschrieben worden sein. In anderen Fällen werden einige aus dem Stand der Technik bekannte Verarbeitungsschritte oder Operationen möglicherweise überhaupt nicht beschrieben. Es sollte klar sein, dass sich die folgende Beschreibung auf die besonderen Merkmale oder Elemente gemäß den verschiedenen beispielhaften Ausführungsformen konzentriert.
-
Industrien wie die Lebensmittel- und Gesundheitsindustrie sind besorgt über das Vorhandensein von Bakterien wie E. Coli, Salmonellen, Listerien und Campylobacter in Verbrauchernahrungsmitteln. Da sich diese Bakterien vermehren und wachsen, wenn die Umwelt- und Ernährungsbedingungen stimmen, können sie schnell zu Mikrokolonien und ferner zu makroskopischen dünnen Biofilmen heranwachsen, die innerhalb weniger Stunden eine potenzielle Gefahr für die Verbraucher darstellen. Aus diesem Grund sind Lebensmittelanbieter wie Fleisch- und Gemüseproduzenten verpflichtet, solche Bakterien in ihren Produkten auf sehr geringe Mengen zu begrenzen, beispielsweise auf zehn koloniebildende Einheiten (cfu) pro Milliliter oder 10 cfu/ml. Die derzeit von der Industrie verwendeten Verfahren zur Ermittlung der Typen von Bakterien in Lebensmitteln beinhalten einen Anreicherungsprozess, bei dem die Probe über 8-24 Stunden getestet wird, wobei die Bakterienzahl auf 104 cfu/ml ansteigt. Sobald diese Bakterienkonzentration für den Test zur Verfügung steht, werden Polymerase-Kettenreaktionen (PCR) oder DNA-Sequenzierungsverfahren verwendet, um bestimmte Typen von Bakterien auf Grundlage ihrer DNA zu ermitteln, allerdings sind diese Verfahren nicht sehr effizient und einfach.
-
Beispielhafte Ausführungsformen offenbaren ein Mittel zur Abbildung von Bakterien unter Verwendung eines kostengünstigen Mikroskops und zur anschließenden Klassifizierung der Bakterien auf der Grundlage von mehrschichtigen neuronalen Netzwerken und Computer-Vision-Techniken. Die beispielhaften Ausführungsformen beinhalten ein angepasstes, kostengünstiges Mikroskop zur Abbildung und Klassifizierung von Bakterien in Flüssigkeiten oder auf festen Oberflächen unter Verwendung von Modellen der künstlichen Intelligenz. Beispielhafte Ausführungsformen verbessern bestehende Lösungen, indem sie nicht nur Algorithmen der künstlichen Intelligenz verwenden, um einzelne Bakterien zu identifizieren, sondern dies auch auf schnellere, effizientere, kostengünstigere und genauere Weise unter Verwendung eines kostengünstigen Mikroskops tun.
-
1 stellt das System zur Klassifizierung von Bakterien 100 gemäß beispielhaften Ausführungsformen dar. Gemäß den beispielhaften Ausführungsformen kann das System zur Klassifizierung von Bakterien 100 ein Smart-Gerät 120 und einen Bakterienklassifizierungsserver 130 beinhalten, die über ein Netzwerk 108 miteinander verbunden sein können. Während die Programmierung und die Daten der beispielhaften Ausführungsformen ferngesteuert über mehrere Server über das Netzwerk 108 gespeichert und darauf zugegriffen werden können, können die Programmierung und die Daten der beispielhaften Ausführungsformen alternativ oder zusätzlich lokal auf nur einem physischen Computergerät oder unter anderen Computergeräten als den dargestellten gespeichert sein. In beispielhaften Ausführungsformen können der Bakterien-Klassifikator 134 und die erforderlichen Komponenten vollständig auf dem Smart-Gerät 120 gespeichert sein, um lokal verwendet zu werden, ohne dass eine Verbindung zum Netzwerk 108 erforderlich ist. Die Operationen des Systems zur Klassifizierung von Bakterien 100 werden hier im Detail beschrieben.
-
In den beispielhaften Ausführungsformen kann das Netzwerk 108 ein Kommunikationskanal sein, der in der Lage ist, Daten zwischen angeschlossenen Geräten zu übertragen. Dementsprechend können die Komponenten des Systems zur Klassifizierung von Bakterien 100 Netzwerkkomponenten oder Netzwerkgeräte darstellen, die über das Netzwerk 108 miteinander verbunden sind. In den beispielhaften Ausführungsformen kann das Netzwerk 108 das Internet sein, das eine weltweite Ansammlung von Netzwerken und Gateways darstellt, um die Kommunikation zwischen Geräten zu unterstützen, die mit dem Internet verbunden sind. Darüber hinaus kann das Netzwerk 108 verschiedene Typen von Verbindungen nutzen, wie z. B. drahtgebundene, drahtlose, faseroptische Verbindungen usw., die als Intranet-Netzwerk, lokales Netzwerk (LAN), Weitverkehrsnetzwerk (WAN) oder eine Kombination davon realisiert werden können. In weiteren Ausführungsformen kann das Netzwerk 108 ein Bluetooth-Netzwerk, ein Wi-Fi-Netzwerk oder eine Kombination davon sein. In weiteren Ausführungsformen kann das Netzwerk 108 ein Telekommunikationsnetzwerk sein, das zur Erleichterung von Telefongesprächen zwischen zwei oder mehr Teilnehmern verwendet wird und ein Festnetz, ein drahtloses Netzwerk, ein geschlossenes Netzwerk, ein Satellitennetzwerk oder eine Kombination davon umfasst. Im Allgemeinen kann das Netzwerk 108 eine beliebige Kombination von Verbindungen und Protokollen darstellen, die die Kommunikation zwischen angeschlossenen Geräten unterstützen.
-
In beispielhaften Ausführungsformen beinhaltet das Smart-Gerät 120 einen optischen Adapter 122 und einen Bakterien-Identifizierungs-Client 124 und kann ein Unternehmensserver, ein Laptop-Computer, ein Notebook, ein Tablet-Computer, ein Netbook-Computer, ein Personal Computer (PC), ein Desktop-Computer, ein Server, ein persönlicher digitaler Assistent (PDA), ein Drehtelefon, ein Touchtone-Telefon, ein Smartphone, ein Mobiltelefon, ein virtuelles Gerät, ein Thin-Client, ein loT-Gerät oder ein anderes elektronisches Gerät oder Computersystem sein, das in der Lage ist, Daten von und zu anderen Computergeräten zu empfangen und zu senden. In Ausführungsformen kann das Smart-Gerät 120 ein Messinstrument sein, wie eine Digitalkamera, ein Imager, ein Verbundlichtmikroskop, ein Stereomikroskop, ein Digitalmikroskop, ein USB-Computermikroskop, ein Taschenmikroskop, ein Elektronenmikroskop, ein Rastersondenmikroskop, ein akustisches Mikroskop und dergleichen, vorzugsweise mit einer optischen Auflösung von 1 Mikrometer oder mehr. Das Smart-Gerät 120 kann eine einstellbare optische Auflösung haben, aber in der beispielhaften Ausführungsform kann es eine optische Auflösung von einem Mikrometer für die Abbildung von Bakterien mit einer Länge von 1-10 Mikrometern haben. Es wird gewürdigt, dass die optische Auflösung des Smart-Gerätes 120 auf Grundlage der Anwendung variiert werden kann, und es wird ferner gewürdigt, dass das Erreichen derartiger optischer Auflösungen die Verwendung eines Verbesserungsgerätes erfordern kann, wie z.B. eines optischen Adapters 122, der hier im Detail beschrieben wird. Während das Smart-Gerät 120 als ein einzelnes Gerät dargestellt ist, kann das Smart-Gerät 120 in anderen Ausführungsformen einen Cluster oder eine Mehrzahl von Computergeräten umfassen, die zusammen oder unabhängig voneinander arbeiten. Das Smart-Gerät 120 wird unter Bezugnahme auf 9 als Hardware-Implementierung, unter Bezugnahme auf 10 als Teil einer Cloud-Implementierung und/oder unter Verwendung funktionaler Abstraktionsschichten für die Verarbeitung unter Bezugnahme auf 11 im Detail beschrieben.
-
In beispielhaften Ausführungsformen kann der optische Adapter 122 ein Gerät sein, das in der Lage ist, die Ansammlung von Sensordaten zu verbessern. In der beispielhaften Ausführungsform kann eine solche Modifikation eine Vergrößerung, Beleuchtung, Auflösung, Verarbeitung, Filterung, Rauschunterdrückung usw. beinhalten. Beispielhaft kann der optische Adapter 122 ein Objektiv sein, das in der Lage ist, ein von einem Smartphone (dem Smart-Gerät 120) aufgenommenes Bild für eine erweiterte Analyse zu vergrößern. Er kann auch über eine spezielle Linse verfügen, um Bilder mit sehr geringer Bildverzerrung, spezieller Beleuchtung und Optik zu erhalten, um Bilder von Bakterien mit gutem Kontrast zu einem Hintergrund zu erhalten. Der optische Adapter 122 kann die optische Auflösung der vom Smart-Gerät 120 aufgenommenen Bilder erhöhen und das Bild (z. B. 15- bis 100-fach) mit einer Auflösung von beispielsweise einem Mikrometer vergrößern. In anderen Ausführungsformen kann der optische Adapter 122 eine Lichtquelle, Zoom- und Fokus-Einstellungen, Hardware zur Befestigung des optischen Adapters 122 am Smart-Gerät 120, mikrofluidische Behälterzellen zur Aufnahme von bakteriellen Kulturproben, einen Probentisch zur Betrachtung der Proben und andere Ausrüstung umfassen. Die mikrofluidischen Behälterzellen zur Aufnahme der bakteriellen Kulturproben können 3-10 µL bakterielle Kulturproben enthalten. Es wird gewürdigt, dass in Ausführungsformen, bei denen das Smart-Gerät 120 in der Lage ist, die gewünschten optischen Auflösungen ohne die Verwendung des optischen Adapters 122 zu erreichen, wie z. B. bei einem Digitalmikroskop, eine solche Verbesserung über den optischen Adapter 122 nicht erforderlich ist und daher bei solchen Ausführungsformen weggelassen werden kann.
-
Der Bakterienklassifizierungs-Client 124 kann als Client in einer Client-Server-Beziehung vorgehen und kann eine Software- und/oder Hardware-Anwendung sein, die in der Lage ist, mit einem Server und anderen Computergeräten über das Netzwerk 108 zu kommunizieren und eine Benutzerschnittstelle für einen Benutzer bereitzustellen, um mit ihnen zu interagieren. Darüber hinaus kann in der beispielhaften Ausführungsform der Bakterienklassifizierungs-Client 124 in der Lage sein, Daten von dem Smart-Gerät 120 zu und von anderen Geräten über das Netzwerk 108 zu übertragen. In Ausführungsformen verwendet der Bakterienklassifizierungs-Client 124 verschiedene drahtgebundene und drahtlose Verbindungsprotokolle für die Datenübertragung und den Datenaustausch, einschließlich Bluetooth, 2,4-GHz- und 5-GHz-Internet, Nahfeldkommunikation, Z-Wave, Zigbee, usw. Der Bakterienklassifizierungs-Client 124 wird in den 2-5 im Detail beschrieben.
-
In den beispielhaften Ausführungsformen kann der BakterienKlassifizierungsserver 130 ein oder mehrere Bakterien-Klassifizierungsmodelle 132 und einen Bakterien-Klassifikator 134 beinhalten und als Server in einer Client-Server-Beziehung mit dem Bakterien-Klassifizierungs-Client 124 vorgehen. Der Server zur Klassifizierung von Bakterien 130 kann ein Unternehmensserver, ein Laptop-Computer, ein Notebook, ein Tablet-Computer, ein Netbook-Computer, ein PC, ein Desktop-Computer, ein Server, ein PDA, ein Drehtelefon, ein Touchtone-Telefon, ein Smartphone, ein Mobiltelefon, ein virtuelles Gerät, ein Thin Client, ein loT-Gerät oder ein anderes elektronisches Gerät oder Computersystem sein, das in der Lage ist, Daten von und zu anderen Computergeräten zu empfangen und zu senden. Während der Bakterienklassifizierungsserver 130 als ein einzelnes Gerät dargestellt ist, kann der Bakterienklassifizierungsserver 130 in anderen Ausführungsformen einen Cluster oder eine Mehrzahl von Computergeräten umfassen, die zusammen oder unabhängig voneinander arbeiten. Der Bakterienklassifizierungsserver 130 wird im Detail als Hardware-Implementierung unter Bezugnahme auf 9, als Teil einer Cloud-Implementierung unter Bezugnahme auf 10 und/oder unter Verwendung von funktionalen Abstraktionsschichten für die Verarbeitung unter Bezugnahme auf 11 beschrieben.
-
Bei den Bakterienklassifizierungsmodellen 132 kann es sich um einen oder mehrere Algorithmen handeln, die eine Korrelation zwischen einem oder mehreren Bakterientypen und einem oder mehreren Eigenschaften modellieren, die von dem einen oder mehreren Bakterientypen oder Merkmalen gezeigt werden. Beispielhaft können solche Bakterien E. Coli, Bacillus, Salmonella, Listeria, Campylobacter und andere Staphylococcus-Bakterien umfassen, während solche korrelierten Merkmale Bakterien-Morphologie (z. B. Größe, Gestalt, Länge, Durchmesser, Volumen, Farbe usw.), Bakterien-Motilität (z. B. Bewegung, Schwimmgeschwindigkeit, Laufzeit (run time), Taumel-Länge), Koloniemuster, Wachstumsrate, Reproduktionsrate, Färbe-Reaktion und andere Datenquellen umfassen können, die einer Analyse durch künstliche Intelligenz zugänglich sind. In der beispielhaften Ausführungsform können die Bakterienklassifizierungsmodelle 132 sowohl für spezifische Bakterien als auch für unterschiedliche Lebensstadien der Bakterien in sowohl flüssigen Kulturen als auch in Biofilmen und auf festen Oberflächen individuell erzeugt werden. Die Bakterienklassifizierungsmodelle 132 können unter Verwendung von Verfahren des maschinellen Lernens erzeugt werden, wie z. B. neuronale Netzwerke, Deep Learning neuronale Netzwerke, Computer-Vision-Techniken, Partikelverfolgungsalgorithmen usw., um eine Wahrscheinlichkeit zu modellieren, mit der eines oder mehrere der Merkmale einen Typ von Bakterien angeben. In Ausführungsformen können solche Merkmale durch das Modell auf Grundlage einer Wahrscheinlichkeit gewichtet werden, dass ein Merkmal auf eine korrekte Bakterie hinweist, und solche Gewichtungen können durch Verwendung einer Rückkopplungsschleife optimiert werden. Die Bakterienklassifizierungsmodelle 132 werden unter Bezugnahme auf die 2-5 im Detail beschrieben.
-
In den beispielhaften Ausführungsformen kann der Bakterien-Klassifikator 134 ein Software- und/oder Hardware-Programm sein, das in der Lage ist, eine bakterielle Kulturprobe zu empfangen sowie Einstellungen für den Fokus und den Zoom der bakteriellen Kulturprobe zu empfangen. Die Kennung der Bakterien ist ferner in der Lage, eine Videoaufnahme der Bakterien mit der eingestellten Zoom- und Fokuseinstellung bei bestimmten Rahmenraten für eine bestimmte verstrichene Zeitdauer aufzuzeichnen. Der Bakterien-Klassifikator 134 ist zusätzlich in der Lage, sequentielle Rahmen der bakteriellen Kulturprobe aus der aufgezeichneten Videoaufnahme zu extrahieren und eine Morphologie- und Motilitäts-Signatur der bakteriellen Kulturprobe zu erstellen. Der Bakterien-Klassifikator 134 ist in der Lage, die Morphologie- und Motilitäts-Signaturen zusammenzuführen und die bakterielle Kulturprobe auf der Grundlage eines Vergleichs der zusammengeführten Vektor-Signatur mit einem Modell zu klassifizieren. Der Bakterien-Klassifikator 134 wird unter Bezugnahme auf 2-5 im Detail beschrieben.
-
2 zeigt einen beispielhaften Ablaufplan, der die Operationen eines Bakterien-Klassifikators 134 des Systems zur Klassifizierung von Bakterien 100 bei der Aufzeichnung von Bakterien unter Verwendung eines Mikroskops eines Smart-Geräts veranschaulicht, gemäß den beispielhaften Ausführungsformen.
-
Der Bakterien-Klassifikator 134 kann eine bakterielle Kulturprobe Empfangen (Schritt 202). In den beispielhaften Ausführungsformen kann der Bakterien-Klassifikator 134 eine Kulturprobe empfangen, die sich in einer Flüssigkeit oder auf einer festen Oberfläche befindet. In Ausführungsformen, in denen die Bakterienkulturprobe in einer Flüssigkeit klassifiziert wird, kann die Probe 3-10 Mikroliter umfassen, und in Ausführungsformen unter Verwendung des optischen Adapters 122 können die Proben in mikrofluidischen Proben-Behälterzellen enthalten sein. In Ausführungsformen, die Bakterien auf einer Oberfläche klassifizieren, kann die Oberfläche mehrere Quadratzentimeter groß sein. Sowohl bei Ausführungsformen mit flüssiger als auch mit fester Oberfläche kann die bakterielle Kulturprobe innerhalb einer Ansicht oder eines Probentisches des Smart-Gerätes 120 oder des optischen Adapters 122 zentriert werden. Beispielhaft kann die bakterielle Kulturprobe eine mikrofluidische Zelle von 4 Mikrolitern sein, die unbekannte Bakterien umfasst. In anderen Ausführungsformen kann der Bakterien-Klassifikator 134 auf einer x-y-Verschiebung montiert werden, um größere Bereiche, wie z. B. eine Arbeitsfläche, zu scannen.
-
Der Bakterien-Klassifikator 134 kann eine Einstellung des Mikroskop-Fokus empfangen (Schritt 204). In der beispielhaften Ausführungsform kann der Bakterien-Klassifikator 134 eine Fokuseinstellung des Mikroskops empfangen, um die Fokusebene des Smart-Gerätes 120 mittels eines physischen Aktuators, wie z. B. Knöpfe, Schieberegler, Tasten usw., oder mittels digitaler Mittel, wie z. B. eines Touchscreens mit digitalen Knöpfen, Schiebern, Tasten usw., die den physischen Aktuator elektrisch steuern, zu verändern. In Ausführungsformen kann der Bakterien-Klassifikator 134 die Einstellung der Schärfe über das Smart-Gerät 120 empfangen, oder in Ausführungsformen, die eine Bildverbesserung über den optischen Adapter 122 realisieren, kann der Bakterien-Klassifikator 134 die Einstellung der Schärfe über den optischen Adapter 122 empfangen. Beispielhaft kann der optische Adapter 122 einen Drehknopf zur Einstellung eines Abstands oder Winkels zwischen einer oder mehreren Linsen des optischen Adapters 122 und dem Smart-Gerät 120 haben, wodurch der Fokus des Smart-Geräts 120 verändert wird.
-
Der Bakterien-Klassifikator 134 kann eine Einstellung des Mikroskop-Zooms empfangen (Schritt 206). In der beispielhaften Ausführungsform kann der Bakterien-Klassifikator 134 eine Einstellung des Mikroskop-Zooms empfangen, um einen Blickwinkel des Smart-Gerätes 120 mittels eines physischen Aktuators, wie Knöpfe, Schieberegler, Tasten usw., oder mittels digitaler Mittel, wie einem Touchscreen mit digitalen Knöpfen, Schiebern, Tasten usw., zu ändern. In Ausführungsformen kann der Bakterien-Klassifikator 134 die Einstellung des Zooms über das Smart-Gerät 120 empfangen, oder, in Ausführungsformen, die eine Bildverbesserung über den optischen Adapter 122 realisieren, kann der Bakterien-Klassifikator 134 die Einstellung des Zooms über den optischen Adapter 122 empfangen. Beispielhaft kann der optische Adapter 122 einen Drehknopf zur Einstellung eines Abstands oder Winkels zwischen einer oder mehreren Linsen des optischen Adapters 122 und dem Smart-Gerät 120 haben, wodurch sich der Fokus des Smart-Geräts 120 ändert.
-
Der Bakterien-Klassifikator 134 kann Videoaufnahmen mit verschiedenen Rahmenraten für einen bestimmten Zeitablauf aufzeichnen (Schritt 208). In Ausführungsformen kann der Bakterien-Klassifikator 134 die Bakterien mit einer Auflösung von 1 Mikron und einer Rahmenrate von 25-250 Rahmen pro Sekunde für eine Zeitdauer von 1-2 Minuten aufzeichnen. Es wird jedoch gewürdigt, dass der Bakterien-Klassifikator 134 so konfiguriert werden kann, dass er die Bakterien mit verschiedenen Auflösungen, Rahmenraten und Zeitdauern auf Grundlage der Bakterien, der Ausrüstung und der Anwendung aufzeichnet. In der beispielhaften Ausführungsform kann die aufgezeichnete Videoaufnahme vom Bakterienklassifizierungs-Client 124 über das Netzwerk 108 an den Bakterienklassifizierungs-Server 130 übertragen werden, während in anderen Ausführungsformen die aufgezeichnete Videoaufnahme lokal auf dem Smart-Gerät 120 gespeichert und analysiert werden kann.
-
3 veranschaulicht einen beispielhaften Ablaufplan, der die Operationen des Bakterien-Klassifikators 134 des Systems zur Klassifizierung von Bakterien 100 bei der Klassifizierung von Bakterien anhand von Morphologie- und Motilitäts-Signaturen gemäß den beispielhaften Ausführungsformen darstellt. Es wird gewürdigt, dass 3 einen allgemeinen Überblick über die Operationen des Bakterien-Klassifikators 134 darstellt, während 4-5 eine ausführlichere Beschreibung der Analyse der Bakterien-Morphologie bzw. -Motilität bereitstellen.
-
Der Bakterien-Klassifikator 134 kann sequentielle Rahmen aus einer aufgezeichneten Videoaufnahme extrahieren (Schritt 302). In der beispielhaften Ausführungsform kann der Bakterien-Klassifikator 134 eine beliebige Anzahl von Rahmen innerhalb der Videorahmenrate über eine beliebige Aufzeichnungszeitdauer extrahieren, die ausreicht, um die Morphologie und Motilität einer Bakterie aufzuzeichnen. Dementsprechend kann der Bakterien-Klassifikator 134 gemäß einem Bakterientyp eine Anzahl von Rahmen extrahieren, die ausreicht, um eine Bakteriengestalt (z. B. Größe, Durchmesser, Volumen usw.) zu ermitteln, sowie eine ausreichende Anzahl von Rahmen und eine ausreichende Zeitdauer, um eine Bakterienbewegung zu analysieren (z. B. Laufen (run), Taumeln (tumble), Wiedererzeugen/Wiedervervielfältigen). In Ausführungsformen können die gewünschten Rahmenraten fest und periodisch sein (z. B. ein Rahmen pro Sekunde), während in anderen Ausführungsformen die Rahmenraten mit der Zeit zunehmen oder abnehmen können (z. B. erhöhte Rahmenraten-Extraktionen zu späteren Zeitpunkten während der gesamten Zeitdauer). In weiteren Ausführungsformen können Rahmen auf bestimmte Phänomene hin analysiert werden und Rahmen können extrahiert werden oder die Rate der Rahmen-Extraktion kann beim Auftreten der bestimmten Phänomene erhöht werden. In ähnlicher Weise kann die Zeitdauer, über die Rahmen extrahiert werden, fest oder variabel sein, wobei einige Ausführungsformen eine feste Zeitdauer realisieren, während andere eine verkürzte oder verlängerte Zeitdauer auf Grundlage der bakteriellen Aktivität oder des Auftretens bestimmter Phänomene realisieren.
-
Unter Bezugnahme auf ein veranschaulichendes Beispiel kann der Bakterien-Klassifikator 134 Rahmen mit einer Rate von 25 Rahmen pro Sekunde für eine Zeitdauer von 2 Minuten aus einer aufgezeichneten Videoaufnahme von 3 Minuten extrahieren, die eine oder mehrere Bakterien darstellt.
-
Der Bakterien-Klassifikator 134 kann eine Morphologie-Signatur extrahieren (Schritt 304). In der beispielhaften Ausführungsform handelt es sich bei der extrahierten Morphologie-Signatur um eine Darstellung einer Bakterie in Bezug auf Eigenschaften wie pathogene vs. nicht-pathogene Bakterien, Gram-Färbetyp, Gestalt, Länge, Zelldurchmesser, Zellvolumen usw. Der Bakterien-Klassifikator 134 kann dann eine Ähnlichkeit der extrahierten Morphologie-Signatur mit der Morphologie-Signatur klassifizierter Bakterien ermitteln, um die unbekannten Bakterien zu klassifizieren. Die Operationen des Bakterien-Klassifikators 134 in Bezug auf die Extraktion einer Morphologie-Signatur werden in 4 im Detail beschrieben.
-
In Fortsetzung des oben veranschaulichten Beispiels extrahiert der Bakterien-Klassifikator 134 eine Morphologie-Signatur von Bakterien, die in den extrahierten Rahmen erfasst wurden.
-
Der Bakterien-Klassifikator 134 extrahiert eine Motilitäts-Signatur (Schritt 306). In der beispielhaften Ausführungsform ist die extrahierte Motilitäts-Signatur eine Darstellung eines Bakteriums in Bezug auf die Fähigkeit des Bakteriums, sich unter Verwendung von Stoffwechselenergie unabhängig zu bewegen. Die Motilitäts-Signatur kann Eigenschaften wie die Lauflängen/Zeitdauer der Bakterien, die Laufgeschwindigkeiten und Durchschnittsgeschwindigkeiten der Bakterien, die Taumel-Längen und die Länge/Zeitdauer der Taumel-Läufe, die Vermehrungs-/Replikationsrate der Bakterien usw. umfassen. Der Bakterien-Klassifikator 134 kann dann eine Ähnlichkeit der extrahierten Motilitäts-Signatur mit der Motilitäts-Signatur von klassifizierten Bakterien ermitteln, um die unbekannten Bakterien zu klassifizieren. Die Operationen des Bakterien-Klassifikators 134 im Hinblick auf die Extraktion einer Motilitäts-Signatur werden in 5 im Detail beschrieben.
-
Unter nochmaliger Bezugnahme auf das veranschaulichende Beispiel, das zuvor vorgestellt wurde, extrahiert der Bakterien-Klassifikator 134 eine Motilitäts-Signatur von Bakterien, die in den extrahierten Rahmen erfasst wurden.
-
Der Bakterien-Klassifikator 134 kann die Morphologie- und Motilitäts-Signaturen zu einer zusammengeführten Vektor-Signatur zusammenführen (Schritt 308). In der beispielhaften Ausführungsform werden die Morphologie- und Motilitäts-Signaturen zu einem konsolidierten Vektor zusammengeführt, der die kombinierten Signaturen repräsentiert. Der Bakterien-Klassifikator 134 kann dann den zusammengeführten Vektor mit einem Modell vergleichen, das einen Schwellenwertkomparator verwendet, dessen Ergebnis einen Typ von Bakterien angibt, der in der Bakterien-Kulturprobe mit einem bestimmten Vertrauensniveau vorhanden ist.
-
Zurückkehrend zum veranschaulichenden Beispiel, kombiniert der Bakterien-Klassifikator 134 die Morphologie-Signatur mit der Motilitäts-Signatur, um eine zusammengeführte Vektor-Signatur zu erstellen.
-
Der Bakterien-Klassifikator 134 kann die Bakterien-Kulturprobe klassifizieren und quantifizieren (Schritt 310). In der beispielhaften Ausführungsform kann der Bakterien-Klassifikator 134 die Bakterien-Kulturprobe auf Grundlage der Ergebnisse des Schwellenwertvergleichs zwischen dem zusammengeführten Vektor und dem Modell nach einem oder mehreren individuellen Bakterientypen klassifizieren. Beispielsweise kann der Bakterien-Klassifikator 134 auf Grundlage der Ermittlung, dass der zusammengeführte Vektor einen Ähnlichkeitsschwellenwert mit zusammengeführten Vektoren von einem oder mehreren bekannten Bakterien überschreitet, die unbekannten Bakterien als bekannte Bakterien klassifizieren.
-
Der Bakterien-Klassifikator 134 ist außerdem in der Lage, eine Konzentration der klassifizierten Bakterien zu quantifizieren, da der Bakterien-Klassifikator 134 in der Lage ist, einzelne Bakterien zu klassifizieren. In Ausführungsformen kann der Bakterien-Klassifikator 134 ferner so konfiguriert sein, dass er die Vermehrungs-/Replikationsrate von Bakterien auf Grundlage der Morphologie- und Motilitätsanalyse erkennt, wodurch der Bakterien-Klassifikator 134 die Vermehrungsrate von Bakterien bei der Klassifizierung von Bakterien berücksichtigen kann. Beispielhaft kann der Bakterien-Klassifikator 134 die beobachteten Vermehrungs-/Replikationsraten mit bekannten Bakterienvermehrungs-/Replikationsraten vergleichen und dann eine ermittelte Ähnlichkeit zwischen den Raten bei der Klassifizierung der Bakterien berücksichtigen. Ferner kann der Bakterien-Klassifikator 134 so konfiguriert sein, dass er die Erkennung der bakteriellen Vermehrung wirksam einsetzt, um zwischen lebenden und nicht lebenden Zellen zu unterscheiden. Beispielhaft kann der Bakterien-Klassifikator 134 auf Grundlage des Erkennens sehr niedriger Reproduktionsraten und/oder des Erkennens einer verzögerten Phase des bakteriellen Lebenszyklus ermitteln, dass eine Zelle nicht lebendig ist.
-
Unter Bezugnahme auf das oben veranschaulichte Beispiel vergleicht der Bakterien-Klassifikator 134 den zusammengeführten Vektor der Bakterien-Kulturprobe mit zusammengeführten Vektoren bekannter Bakterien, um zu ermitteln, dass die bakterielle Probe E. Coli und Bacillus Subtilis umfasst, wie in den 7-8 dargestellt.
-
Der Bakterien-Klassifikator 134 kann Modelle einstellen (Schritt 312). In Ausführungsformen kann der Bakterien-Klassifikator 134 das empfangene Feedback nutzen, um die Bakterien-Klassifikationsmodelle 132 zu ändern und die Genauigkeit, Geschwindigkeit, Effizienz usw. zu verbessern. Dementsprechend können die Bakterienklassifizierungsmodelle 132 so konfiguriert sein, dass sie die Bakterienklassifizierungsmodelle 132 kontinuierlich ändern/verbessern, wenn Feedback-Informationen verfügbar sind. Der Bakterien-Klassifikator 134 kann auf verschiedene Weise Feedback empfangen, z. B. durch Benutzereingaben, überwachtes/unüberwachtes Trainieren, erweiterte Analyse zusätzlicher Informationen, wenn die Bakterienkultur ferner untersucht wird, usw. Solche Änderungen an den Bakterienklassifizierungsmodellen 132 können das Hinzufügen/Entfernen von Merkmalen, die Konsolidierung von Merkmalen, die Zunahme/Abnahme von Gewichtungen, die mit bestimmten Merkmalen verknüpft sind, usw. in Bezug auf jeden Typ und jedes Lebensstadium von Bakterien beinhalten. Beispielhaft kann der Bakterien-Klassifikator 134 die mit Merkmalen verknüpften Gewichtungen erhöhen, auf die man sich bei der Ableitung einer durch Feedback als richtig bestätigten Bakterienklassifikation verlassen hat, während er die mit Merkmalen verknüpften Gewichtungen verringert, auf die man sich bei der Ableitung einer falschen Bakterienklassifikation verlassen hat. In einfachster Weise kann der Bakterien-Klassifikator 134 ein Feedback von einem Benutzer oder Administrator empfangen, das angibt, dass ein richtiges oder falsches Bakterium ermittelt wurde, wobei Ausführungsformen bei der Initialisierung eine strenge Trainierungsphase der Bakterien-Klassifikationsmodelle 132 initiieren. Der Bakterien-Klassifikator 134 kann ein solches Feedback von einem Benutzer oder Administrator nach dem Zufallsprinzip in regelmäßigen Abständen anfordern, wobei der Bakterien-Klassifikator 134 eine Bakterie unterhalb eines Schwellenwerts für die Gewissheit/Wahrscheinlichkeit usw. ableitet. In komplexeren Ausführungsformen kann der Bakterien-Klassifikator 134 so konfiguriert sein, dass er vorangehende BakterienKlassifizierungen zu einem späteren Zeitpunkt auf Grundlage der weiteren Entwicklung der Bakterienkolonien bestätigt, wodurch die Schwierigkeit ihrer Ermittlung verringert wird. Das Trainieren der Bakterienklassifizierungsmodelle 132 wird in den 4-5 im Detail beschrieben.
-
Unter nochmaliger Bezugnahme auf das vorangehende Beispiel fordert der Bakterien-Klassifikator 134 einen Benutzer auf, zu bestätigen, dass es sich bei den klassifizierten Bakterien um E. Coli und Bacillus Subtilis handelt. Alternativ kann der Bakterien-Klassifikator 134 die Bakterien erneut analysieren, nachdem er einige Minuten verstreichen ließ, um weitere Daten zu sammeln und die Ergebnisse zu überprüfen. Auf Grundlage der empfangenen Bestätigung, dass der Bakterien-Klassifikator 134 die richtigen Bakterien ermittelt hat, kann der Bakterien-Klassifikator 134 die Gewichtungen, die mit den Merkmalen verknüpft sind, auf die man sich bei der Ermittlung verlassen hat, erhöhen.
-
4 zeigt einen beispielhaften Ablaufplan, der die Operationen veranschaulicht, die der Bakterien-Klassifikator 134 des Systems zur Klassifizierung von Bakterien 100 bei der Extraktion einer Morphologie-Signatur von Bakterien 304 gemäß den beispielhaften Ausführungsformen durchführt.
-
Der Bakterien-Klassifikator 134 kann ein Modell trainieren, das die Bakterien-Morphologie einer Zelle mit einer Bakterienklasse korreliert (Schritt 402). In der beispielhaften Ausführungsform kann der Bakterien-Klassifikator 134 ein oder mehrere Modelle trainieren, d.h. das eine oder die mehreren Bakterien-Klassifikationsmodelle 132, die in der Lage sind, einen oder mehrere Typen, Mengen und Lebensstadien von Bakterien auf Grundlage eines oder mehrerer Morphologie-Eigenschaften zu klassifizieren, die von dem einen oder den mehreren Bakterien gezeigt werden. In der beispielhaften Ausführungsform ist der Bakterien-Klassifikator 134 so trainiert, dass er bestimmte Merkmale oder Eigenschaften der Bakterien erkennt und gewichtet, die auf ihre Identität hinweisen, und diese gewichteten Eigenschaften verwendet, um einen Wert zu berechnen, der die Bakterienklasse angibt. Der Bakterien-Klassifikator 134 kann so konfiguriert sein, dass er jeden Typ von Bakterien identifiziert, der identifizierbare Eigenschaften aufweist, und solche Bakterien können E. Coli, Salmonellen, Listeria, Campylobacter usw. umfassen, während die mit den Bakterien verknüpften Merkmale Größe, Länge, Zelldurchmesser, Zellvolumen, Zellgestalt, Zellfarbe, Gram-Färbetyp, Zellvermehrung, Zellvermehrungsrate usw. beinhalten können. In der beispielhaften Ausführungsform kann der Bakterien-Klassifikator 134 darauf trainiert werden, solche Merkmale zu erkennen und mit Bakterien zu verknüpfen, und zwar durch einen überwachten und/oder unbeaufsichtigten Trainingsprozess, bei dem der Bakterien-Klassifikator 134 Merkmale verschiedener Bakterien in Flüssigkeiten und auf festen Oberflächen in allen Stadien des Lebenszyklus der Bakterien beobachtet. In verschiedenen Ausführungsformen kann der Bakterien-Klassifikator 134 trainiert werden, indem dem Bakterien-Klassifikator 134 Bilder/Videoaufnahmen verschiedener Bakterien vorgelegt werden und der Bakterien-Klassifikator 134 so konfiguriert wird, dass er ermittelte Merkmale mit dem annotierten Bakterientyp verknüpft. In solchen Ausführungsformen kann der Bakterien-Klassifikator 134 dann unter Verwendung zusätzlicher kommentierter Bilder getestet und abgestimmt werden, wobei dieses Mal jedoch der Typ der Bakterien verborgen bleibt und die Bakterien-Klassifikationsmodelle 132 auf Grundlage des später aufgedeckten Bakterientyps optimiert werden. In anderen Ausführungsformen kann ein überwachtes Lernen realisiert werden, wobei ein Moderator oder Administrator die Bakterien in den Bildern ermittelt und der Bakterien-Klassifikator 134 die Gewichte entsprechend ändert. Der Bakterien-Klassifikator 134 kann dann die erzeugten Modelle als Referenz für den Vergleich mit unbekannten Bakterien verwenden, was weiter unten im Detail beschrieben wird.
-
Um die Operationen des Bakterien-Klassifikators 134 ferner zu veranschaulichen, wird nun auf ein veranschaulichendes Beispiel verwiesen, wobei der Bakterien-Klassifikator 134 trainiert wird, um die Typen E. Coli, Campylobacter, Listeria und Salmonella zu ermitteln. Hier wird der Bakterien-Klassifikator 134 unter Verwendung der Merkmale pathogene vs. nicht-pathogene Bakterien, Gram-Färbung, Gestalt, Länge, Zelldurchmesser und Zellvolumen, wie in Tabelle 1 gezeigt, trainiert: Tabelle 1 - Bakterienmerkmale
nicht-pathogene Bakterien | Gram-Färbung | Gestalt | Länge | Zelldurchmesser | Zellvolumen |
PME 1 (E. coli) | Negativ | stabförmig | 20 µm | 0,5 - 1,5 µm | 0,6 - 0,7 µm3 |
DH5a (E. coli) | Negativ | stabförmig | 20 µm | 0,52 - 1,0 µm | 0,6 - 0,7 µm3 |
PMR1 (B. subtilis) | Positiv | stabförmig | 4-10 µm | 0,52 - 1,0 µm | 4,6 µm3 |
|
pathogene Bakterien | Gram-Färbung | Gestalt | Länge | Zelldurchmesser | Zellvolumen |
E. Coli O157:H7 | Negativ | stabförmig | 20 µm | 0,25 -1,0 µm | 0,6 - 0,7 µm3 |
Campylobacter | Negativ | Gekrümmt, kommaförmig | 0,5 -5 µm | 0,2 -0,8 µm | |
Listeria sp. | | kurze Stäbe, coccobacilli | 0,5 -2,0 µm | 0,4 -0,5 µm | |
Salmonella | Negativ | stabförmig | 2 -5 µm | 0,7 -1,5 µm | |
-
Der Bakterien-Klassifikator 134 kann Proben von Kontur- und Blob-Gestalten unbekannter Bakterien innerhalb der extrahierten Bildrahmen sammeln (Schritt 404). In der beispielhaften Ausführungsform kann der Bakterien-Klassifikator 134 Technologien wie Kantendetektoren, Sobel-Filter usw. verwenden, um die Konturen und Blobs der einzelnen Bakterien in den extrahierten Rahmen zu erkennen. Er kann die Bilder auch vorverarbeiten, um Rauschen zu reduzieren und die Merkmale der Bakterienbildsegmente zu verbessern. Neben der Erkennung der Kanten von Bakterien innerhalb der Rahmen kann der Bakterien-Klassifikator 134 ferner die Größe, den Gram-Färbetyp, die Gestalt, die Länge, den Zelldurchmesser und das Zellvolumen jeder der ermittelten Zellen innerhalb des Bildrahmens ermitteln.
-
In Fortsetzung des veranschaulichenden Beispiels extrahiert der Bakterien-Klassifikator 134 die Gestalt, die Länge, den Durchmesser und das Volumen der unbekannten Bakterien.
-
Der Bakterien-Klassifikator 134 kann das trainierte Modell auf Bildrahmen von Bakterien anwenden (Schritt 406). In Ausführungsformen kann der Bakterien-Klassifikator 134 so konfiguriert sein, dass er die Bakterien-Klassifikationsmodelle 132 auf die Bildrahmen von Bakterien anwendet, um einen oder mehrere Typen der einen oder mehreren Bakterien zu klassifizieren. Wie vorangehend beschrieben, gewichten und korrelieren die ein oder mehreren Bakterienklassifizierungsmodelle 132 Bakterienmerkmale mit bekannten Bakterienklassifizierungen. Daher ist der Bakterien-Klassifikator 134 in der Lage, unter Verwendung der während der Trainingsphase ermittelten bekannten Korrelationen dieselben Modelle auf unbekannte Bakterien anzuwenden, wobei das Ergebnis ein Wert ist, der einen höchstwahrscheinlichen Typ von Bakterien innerhalb des Bildes angibt. In Ausführungsformen kann der Bakterien-Klassifikator 134 so konfiguriert sein, dass er Ähnlichkeitsmaße, wie z. B. Ähnlichkeiten im Siamschen Netzwerk, auf die bekannten Bakterien des Modells und die unbekannten Bakterien der Bildrahmen anwendet, um ein Ähnlichkeitsmaß der beiden Bakterien zu ermitteln. Auf Grundlage des Ähnlichkeitsmaßes, das einen bestimmten Schwellenwert überschreitet, kann der Bakterien-Klassifikator 134 die unbekannten Bakterien als bekannte Bakterien klassifizieren. Das Modell kann außerdem so konfiguriert werden, dass es solche Merkmale gemäß ihrer Genauigkeit gewichtet, so dass Merkmale, die nachweislich stark mit bestimmten Bakterien korrelieren, stärker gewichtet werden und bei der Analyse stärker berücksichtigt werden. Umgekehrt werden Merkmale mit geringer Korrelation, obwohl sie immer noch wertvoll sind, bei der Ermittlung weniger stark gewichtet. Darüber hinaus kann der Bakterien-Klassifikator 134 diese Gewichtungen durch Verwendung einer Feedback-Schleife, die hier im Detail beschrieben wird, weiter optimieren und verfeinern.
-
Unter nochmaliger Bezugnahme auf das vorangehende Beispiel vergleicht der Bakterien-Klassifikator 134 Morphologie-Merkmale der abgebildeten Bakterien, z. B. Gestalt, Größe usw., mit den abgebildeten Bakterien.
-
Der Bakterien-Klassifikator 134 kann einen Multiklassen-Vorhersagevektor erzeugen (Schritt 408). In der beispielhaften Ausführungsform ist der erzeugte Multiklassen-Vorhersagevektor eine Abbildung aus der Menge von Merkmalen auf eine Menge von Signaturen. Der Bakterien-Klassifikator 134 verwendet ein maschinelles Lernmodell, das als Ausgabe in Vektorform die Klasse ermittelt, zu der die Bakterien gehören. Beispielhaft kann der Bakterien-Klassifikator 134 auf Grundlage einer binären Klassifizierung eines Vektors der Länge 1 ermitteln, ob es sich bei einem Bakterium um E. Coli oder Bacillus Subtilis handelt. In ähnlicher Weise kann eine solche Klassifizierung unter mehreren Bakterienklassen erfolgen, wobei jeder Vektorwert eine Klasse darstellt.
-
Unter nochmaliger Bezugnahme auf das vorangehende Beispiel erzeugt der Bakterien-Klassifikator 134 einen Mehrklassen-Vorhersagevektor, um auf Grundlage der Bakterien-Morphologie zu ermitteln, dass E. Coli und Bacillus Subtilis die wahrscheinlichsten in der Probe vorhandenen Bakterien sind, wobei er sich stark auf die Zelllänge und den Zelldurchmesser stützt, um die Bakterien als E. Coli und Bacillus Subtilis zu klassifizieren (siehe 7-8).
-
5 veranschaulicht einen beispielhaften Ablaufplan, der die Operationen des Bakterien-Klassifikators 134 des Systems zur Klassifizierung von Bakterien 100 bei der Extraktion einer Motilitäts-Signatur von Bakterien 306 gemäß den beispielhaften Ausführungsformen darstellt. Es wird gewürdigt, dass zum Extrahieren einer Motilitäts-Signatur der Bakterien Lauf- und Taumelbewegungen von Zufallsbewegungen unterschieden werden müssen. Um Lauf- und Taumelbewegungen von Zufallsbewegungen zu unterscheiden, nutzt der Bakterien-Klassifikator 134 einen Vergleich mit der Brownschen Zufallsbewegung, der im Folgenden im Detail beschrieben wird.
-
Der Bakterien-Klassifikator 134 kann eine oder mehrere Bakterientrajektorien über einen oder mehrere der extrahierten Bildrahmen verfolgen (Schritt 502). In der beispielhaften Ausführungsform kann der Bakterien-Klassifikator 134 eine oder mehrere Bakterientrajektorien verfolgen, indem er die Konturen und Blobs von Bakterien in einem ersten Rahmen identifiziert, z. B. unter Verwendung eines Kantendetektors, und später dieselben Bakterien in nachfolgenden Bildrahmen identifiziert. Auf Grundlage der von den Bakterien zwischen den Bildrahmen zurückgelegten Strecke und der verstrichenen Zeit zwischen den Bildrahmen ist der Bakterien-Klassifikator 134 in der Lage, eine Trajektorie der erkannten Bakterien zu ermitteln.
-
Unter nochmaliger Bezugnahme auf das obige Beispiel erkennt der Bakterien-Klassifikator 134 eine Bakterie innerhalb eines ersten Rahmens und eine gleiche Bakterie, die 0,5 µm Strecke zwischen den im Abstand von 38 Millisekunden aufgenommenen Rahmen zurückgelegt hat.
-
Der Bakterien-Klassifikator 134 kann Schwimmbewegungen (Lauf) und Taumelbewegungen für eine Teilmenge der Probe erhalten (Schritt 504). Auf Grundlage der ermittelten Trajektorien kann der Bakterien-Klassifikator 134 Lauf- und Taumelbewegungen der Bakterien erhalten. In der beispielhaften Ausführungsform kann der Bakterien-Klassifikator 134 Lauf-/Schwimmbewegungen erkennen, indem er relativ gerade Linien, z. B. Linien ohne signifikante Abweichung von einem Pfad, innerhalb der Trajektorien der Bakterien ermittelt (siehe 6). Solche geradlinigen Bewegungen können einen Mindestschwellenwert haben, um als schwimmend zu gelten, und können beispielhaft eine absolute geradlinige Strecke oder beispielsweise eine geradlinige Strecke relativ zur Bakteriengröße oder zum Seitenverhältnis usw. erfordern. Solche Strecken können beispielsweise 10 Bakterienlängen betragen. Der Bakterien-Klassifikator 134 kann außerdem Taumel oder Bewegungen, bei denen sich ein Bakterium dreht, schleudert, rotiert usw., ermitteln, indem er z. B. Fälle ermittelt, in denen das Bakterium seinen eigenen Pfad ein oder mehrere Male gekreuzt hat (siehe 7).
-
Unter nochmaliger Bezugnahme auf das obige Beispiel ermittelt der Bakterien-Klassifikator 134 Bakterien, die sich vor dem Taumeln in einer geraden Linie bewegen.
-
Der Bakterien-Klassifikator 134 kann Motilitätseigenschaften der Teilmenge der Probe berechnen (Schritt 506). In der beispielhaften Ausführungsform kann der Bakterien-Klassifikator 134 die Trajektorien der Bakterien nutzen, um die Motilitätseigenschaften zu berechnen. Beispielhaft können solche Motilitätseigenschaften eine Lauflänge, eine durchschnittliche Lauflänge, eine Laufgeschwindigkeit, eine durchschnittliche Laufgeschwindigkeit, eine Taumellänge, eine durchschnittliche Taumellänge, eine Taumelgeschwindigkeit, eine durchschnittliche Taumelgeschwindigkeit, ein Taumelintervall usw. beinhalten. In der beispielhaften Ausführungsform kann der Bakterien-Klassifikator 134 solche Eigenschaften berechnen, indem er eine von den Bakterien in einer bestimmten Zeitspanne zwischen Bildrahmen zurückgelegte Strecke ermittelt und daraus eine Bewegungsgeschwindigkeit ableitet.
-
Im obigen Beispiel ermittelt der Bakterien-Klassifikator 134 beispielsweise, dass die Bakterien, die sich über eine Strecke von 51 µm und eine Dauer von 3 Sekunden bewegt haben, eine durchschnittliche Lauflänge von 17 µm, eine durchschnittliche Laufgeschwindigkeit von 17 µm/Sekunde und ein Taumel-Intervall von 1 Sekunde aufwiesen.
-
Der Bakterien-Klassifikator 134 kann eine Bakterien-Signatur als eine Verteilung von Paaren für jede Klassifizierung ermitteln (Schritt 508). In der beispielhaften Ausführungsform erzeugt der Bakterien-Klassifikator 134 eine Motilitäts-Signatur als eine Verteilung von Paaren für jede Klassifizierung, nämlich Durchschnittsgeschwindigkeit und Taumelintervall.
-
In Bezug auf das obige Beispiel kann der Bakterien-Klassifikator 134 eine Motilitäts-Signatur auf Grundlage der Verteilung der durchschnittlichen Laufgeschwindigkeit von 17µm/Sekunde und des Taumel-Intervalls von 1 Sekunde erzeugen.
-
Der Bakterien-Klassifikator 134 kann eine Positionsverschiebung der Bakterien im Zeitablauf erhalten (Schritt 510). Um eine Lauf- und Taumelbewegung der Bakterien von einer zufälligen Bewegung zu unterscheiden, erhält der Bakterien-Klassifikator 134 eine Positionsverschiebung der Bakterien im Zeitablauf. Dabei nutzt der Bakterien-Klassifikator 134 die Trajektorien der Bakterien über die Rahmen, um die Positionsverschiebung über die Zeit zu berechnen. Beispielhaft kann der Bakterien-Klassifikator 134 die Strecke messen, die ein Bakterium innerhalb der Probe zwischen Rahmen zurücklegt, die in regelmäßigen Abständen extrahiert werden. Auf Grundlage des Abstands und des Zeitablaufs zwischen den Rahmen kann der Bakterien-Klassifikator 134 eine Positionsverschiebung im Zeitablauf ableiten.
-
In Fortsetzung des obigen Beispiels erhält der Bakterien-Klassifikator 134 eine Verschiebung gegenüber dem Zeitablauf auf Grundlage der Bewegung der Bakterien im Zeitablauf.
-
Der Bakterien-Klassifikator 134 kann die Varianz der Verschiebungen aus einer Verteilung der Positionsverschiebung im Zeitablauf extrahieren (Schritt 510). In der beispielhaften Ausführungsform erzeugt der Bakterien-Klassifikator 134 eine Positionsverschiebungsverteilung und ermittelt eine Varianz der Positionsverschiebung gegenüber den Zeitablauf-Daten. In der beispielhaften Ausführungsform betrachtet der Bakterien-Klassifikator 134 die Positionsverschiebungsverteilungen unterschiedlich großer Bakterien, wobei die Varianz kleinerer Bakterien eine größere Varianz aufweisen wird und umgekehrt. Da dies auch von der Temperatur der Bakterienkultur abhängt, werden in Ausführungsformen beide Proben bei etwa der gleichen Temperatur gehalten.
-
Der Bakterien-Klassifikator 134 kann eine Bakterien-Motilitäts-Signatur als eine Verteilung von Paaren für jede Klassifizierung klassifizieren (Schritt 512). In der beispielhaften Ausführungsform erzeugt der Bakterien-Klassifikator 134 eine Motilitäts-Signatur als eine Verteilung von Paaren für jede Klassifizierung, nämlich Varianz und Zeitablauf. In der beispielhaften Ausführungsform können die Motilitätsmerkmale und/oder Motilitäts-Signatur-Verteilungen beispielsweise über Spurvektoren, Bewegungsrate in einer bestimmten Richtung, Geschwindigkeit, Diffusion usw. angesammelt werden.
-
Zurückkehrend zum vorangehend vorgestellten Beispiel erzeugt der Bakterien-Klassifikator 134 eine Motilitäts-Signatur auf Grundlage der Verteilung von Paaren aus einer Varianz und einem Zeitablauf der Bakterien.
-
6 stellt einen Lauf und Taumel von Bakterien dar, die während der Erzeugung einer Motilitäts-Signatur analysiert werden, gemäß den beispielhaften Ausführungsformen.
-
7 stellt ein Beispiel für den Bakterien-Klassifikator 134 dar, der E. Coli-Bakterien klassifiziert, gemäß den beispielhaften Ausführungsformen.
-
8 stellt ein Beispiel für den Bakterien-Klassifikator 134 dar, der Bacillus Subtilis-Bakterien klassifiziert, gemäß den beispielhaften Ausführungsformen.
-
9 stellt ein Blockschaubild von Geräten innerhalb des Systems zur Klassifizierung von Bakterien 100 von 1 dar, gemäß den beispielhaften Ausführungsformen. Es sollte gewürdigt werden, dass 9 lediglich eine Veranschaulichung einer Ausführungsform veranschaulicht und keine Einschränkungen bezüglich der Umgebungen, in denen unterschiedliche Ausführungsformen implementiert werden können, impliziert. Es können viele Änderungen an der dargestellten Umgebung vorgenommen werden.
-
Die hier verwendeten Geräte können einen oder mehrere Prozessoren 02, einen oder mehrere computerlesbare RAMs 04, einen oder mehrere computerlesbare ROMs 06, ein oder mehrere computerlesbare Speichermedien 08, Gerätetreiber 12, ein Lese-/Schreiblaufwerk oder eine Schnittstelle 14, einen Netzwerkadapter oder eine Schnittstelle 16 beinhalten, die alle über eine Kommunikationsstruktur 18 miteinander verbunden sind. Die Kommunikationsstruktur 18 kann mit jeder Architektur realisiert werden, die für die Weitergabe von Daten und/oder Steuerinformationen zwischen Prozessoren (wie Mikroprozessoren, Kommunikations- und Netzwerkprozessoren usw.), Systemspeicher, Peripheriegeräten und anderen Hardwarekomponenten innerhalb eines Systems ausgelegt ist.
-
Ein oder mehrere Betriebssysteme 10 und ein oder mehrere Anwendungsprogramme 11 sind auf einem oder mehreren der computerlesbaren Speichermedien 08 zur Ausführung durch einen oder mehrere der Prozessoren 02 über einen oder mehrere der jeweiligen RAMs 04 (die typischerweise einen Cache-Speicher umfassen) gespeichert. In der veranschaulichten Ausführungsform kann jedes der computerlesbaren Speichermedien 08 ein Magnetplattenspeichergerät eines internen Festplattenlaufwerks, eine CD-ROM, eine DVD, ein Speicherstick, ein Magnetband, eine Magnetplatte, eine optische Platte, ein Halbleiterspeichergerät wie RAM, ROM, EPROM, Flash-Speicher oder jedes andere computerlesbare greifbare Speichergerät sein, das ein Computerprogramm und digitale Informationen speichern kann.
-
Die hier verwendeten Geräte können auch ein Schreib-/Lese-Laufwerk oder eine Schnittstelle 14 umfassen, um von einem oder mehreren tragbaren computerlesbaren Speichermedien 26 zu lesen und zu schreiben. Anwendungsprogramme 11 auf den genannten Geräten können auf einem oder mehreren der tragbaren computerlesbaren Speichermedien 26 gespeichert, über das jeweilige R/W-Laufwerk oder die Schnittstelle 14 gelesen und in das jeweilige computerlesbare Speichermedium 08 geladen werden.
-
Die hier verwendeten Geräte können auch einen Netzwerkadapter oder eine Schnittstelle 16 beinhalten, z. B. eine TCP/IP-Adapterkarte oder einen drahtlosen Kommunikationsadapter (z. B. einen drahtlosen 4G-Kommunikationsadapter mit OFDMA-Technologie). Anwendungsprogramme 11 auf den genannten Computergeräten können von einem externen Computer oder einem externen Speichergerät über ein Netzwerk (beispielhaft das Internet, ein lokales Netzwerk oder ein anderes Weitverkehrsnetzwerk oder ein drahtloses Netzwerk) und einen Netzwerkadapter oder eine Schnittstelle 16 auf das Computergerät heruntergeladen werden. Über den Netzwerkadapter oder die Schnittstelle 16 können die Programme auf computerlesbare Speichermedien 08 geladen werden. Das Netzwerk kann Kupferdrähte, optische Fasern, drahtlose Übertragung, Router, Firewalls, Computer, Gateway-Computer und/oder Edge-Server umfassen.
-
Die hier verwendeten Geräte können auch einen Anzeigebildschirm 20, eine Tastatur oder ein Tastenfeld 22 und eine Computermaus oder ein Touchpad 24 beinhalten. Die Gerätetreiber 12 bilden eine Schnittstelle zum Anzeigebildschirm 20 für die Bildgebung, zur Tastatur oder zum Tastenfeld 22, zur Computermaus oder zum Touchpad 24 und/oder zum Anzeigebildschirm 20 für die Druckabtastung bei der Eingabe alphanumerischer Zeichen und der Auswahl durch den Benutzer. Die Gerätetreiber 12, das Schreib-/Lese-Laufwerk oder die Schnittstelle 14 und der Netzwerkadapter oder die Schnittstelle 16 können Hardware und Software umfassen (gespeichert auf computerlesbaren Speichermedien 08 und/oder ROM 06).
-
Die hier beschriebenen Programme werden basierend auf der Anwendung ermittelt, für die sie in einer bestimmten der beispielhaften Ausführungsformen realisiert sind. Es sollte jedoch gewürdigt werden, dass jede bestimmte Programm-Nomenklatur hier nur der Einfachheit halber verwendet wird, und daher sollten die beispielhaften Ausführungsformen nicht darauf beschränkt werden, ausschließlich in einer bestimmten, durch eine solche Nomenklatur ermittelten und/oder implizierten Anwendung verwendet zu werden.
-
Auf Grundlage der vorstehenden Ausführungen wurden ein Computersystem, ein Verfahren und ein Computerprogrammprodukt offenbart. Es können jedoch zahlreiche Modifikationen und Ersetzungen vorgenommen werden, ohne vom Umfang der beispielhaften Ausführungsformen abzuweichen. Daher sind die beispielhaften Ausführungsformen beispielhaft und nicht einschränkend offenbart worden.
-
Es soll verstanden werden, dass, obwohl diese Offenbarung eine detaillierte Beschreibung des Cloud-Computing beinhaltet die Umsetzung der hier dargelegten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Vielmehr können die beispielhaften Ausführungsformen in Verbindung mit jedem anderen Typ von Computer-Umgebung implementiert werden, der heute bekannt ist oder später entwickelt wird.
-
Cloud Computing ist ein Modell zur Bereitstellung von Diensten, das einen bequemen, bedarfsgerechten Netzzugang zu einem gemeinsamen Vorrat konfigurierbarer Computerressourcen (z. B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Anwendungen, virtuelle Maschinen und Dienste) ermöglicht, die mit minimalem Verwaltungsaufwand oder minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Charakteristiken, mindestens drei Service-Modelle und mindestens vier Bereitstellungsmodelle beinhalten.
-
Die Charakteristiken lauten wie folgt:
- Bedarfsgesteuerte Selbstbedienung: Ein Cloud-Verbaucher kann einseitig Ressourcen für Berechnungen bereitstellen, wie z. B. Serverzeit und Netzwerkspeicher, und zwar automatisch, ohne dass eine menschliche Interaktion mit dem Anbieter des Dienstes erforderlich ist.
- Breiter Netzwerkzugriff: Die Ressourcen sind über ein Netzwerk verfügbar und werden über Standardmechanismen abgerufen, die die Verwendung durch heterogene Thin- oder Thick-Client-Plattformen (z. B. Mobiltelefone, Laptops und PDAs) fördern.
- Ressourcenbündelung: Die Computer-Ressourcen des Anbieters werden in einem Multi-Tenant-Modell gebündelt, um mehrere Verbraucher zu bedienen, wobei verschiedene physische und virtuelle Ressourcen je nach Bedarf dynamisch zugewiesen und neu zugewiesen werden. Es besteht eine gewisse Standortunabhängigkeit, da der Verbraucher in der Regel keine Kontrolle oder Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, jedoch den Standort auf einer höheren Abstraktionsebene angeben kann (z. B. Land, Staat oder Rechenzentrum).
- Flexible Anpassungsfähigkeit: Ressourcen können schnell und elastisch bereitgestellt werden, in manchen Fällen auch automatisch, um schnell zu skalieren und schnell wieder freigegeben werden, um schnell zu skalieren. Für den Verbraucher erscheinen die für die Bereitstellung verfügbaren Ressourcen oft unbegrenzt und können in beliebiger Menge und zu jeder Zeit erworben werden.
- Dienstmessung: Cloud-Systeme kontrollieren und optimieren automatisch die Ressourcennutzung, indem sie eine dem Typ des Dienstes entsprechende Steuereinheit auf einer bestimmten Abstraktionsebene verwenden (z. B. Speicher, Verarbeitung, Bandbreite und aktive Benutzerkonten). Die Ressourcennutzung kann überwacht, kontrolliert und gemeldet werden, wodurch Transparenz sowohl für den Anbieter als auch für den Nutzer des genutzten Dienstes bereitgestellt wird.
-
Die Service-Modelle lauten wie folgt:
- Software as a Service (SaaS): Die dem Verbraucher bereitgestellte Ressource besteht darin, die Anwendungen des Anbieters zu verwenden, die auf einer Cloud-Infrastruktur laufen. Der Zugriff auf die Anwendungen erfolgt von verschiedenen Mandant-Geräten aus über eine Thin-Client-Schnittstelle wie z. B. einen Webbrowser (z. B. webbasierte E-Mail). Der Verbraucher verwaltet oder kontrolliert nicht die zugrunde liegende Cloud-Infrastruktur, einschließlich Netzwerk, Server, Betriebssysteme, Steuereinheiten oder sogar einzelne Anwendungsressourcen, mit der möglichen Ausnahme begrenzter benutzerspezifischer Anwendungskonfigurationseinstellungen.
- Platform as a Service (PaaS): Die dem Verbraucher bereitgestellte Ressource besteht darin, vom Verbraucher erstellte oder erfasste Anwendungen, die mit vom Anbieter unterstützten Programmiersprachen und Tools erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Verbraucher verwaltet oder kontrolliert nicht die zugrunde liegende Cloud-Infrastruktur, die Netzwerke, Server, Betriebssysteme oder Steuereinheiten umfasst, hat aber die Kontrolle über die bereitgestellten Anwendungen und möglicherweise über die Konfigurationen der Hosting-Umgebung der Anwendungen.
- Infrastructure as a Service (laaS): Die dem Verbraucher bereitgestellte Ressource besteht in der Bereitstellung von Verarbeitungs-, Speicher-, Netzwerk- und anderen grundlegenden Computer-Ressourcen, wobei der Verbraucher in der Lage ist, beliebige Software einzusetzen und auszuführen, die Betriebssysteme und Anwendungen umfassen kann. Der Verbraucher verwaltet oder kontrolliert nicht die zugrunde liegende Cloud-Infrastruktur, sondern hat die Kontrolle über Betriebssysteme, Speicher, bereitgestellte Anwendungen und möglicherweise eine begrenzte Kontrolle über ausgewählte Netzwerkkomponenten (z. B. Host-Firewalls).
-
Die Bereitstellungsmodelle lauten wie folgt:
- Private Cloud: Die Cloud-Infrastruktur wird für lediglich eine Organisation betrieben. Sie kann von der Organisation selbst oder von einem Dritten verwaltet werden und sich an Ort und Stelle oder an einem anderen Ort befinden.
- Gemeinschafts-Cloud: Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezifische Gemeinschaft mit gemeinsamen Anliegen (z. B. Aufgabe, Sicherheitsanforderungen, Richtlinie und Einhaltung von Gesetzen und Richtlinien). Sie kann von den Organisationen selbst oder von einem Dritten verwaltet werden und sich an Ort und Stelle oder an einem anderen Ort befinden.
- Öffentliche Cloud: Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Branchengruppe bereitgestellt und ist Eigentum einer Organisation, die Cloud-Dienste verkauft.
- Hybrid-Cloud: Die Cloud-Infrastruktur ist eine Zusammensetzung aus zwei oder mehreren (privaten, Gemeinschafts- oder öffentlichen) Clouds, die eigenständige Einheiten bleiben, aber durch eine standardisierte oder herstellerspezifische Technologie miteinander verbunden sind, die eine Portierbarkeit von Daten und Anwendungen ermöglicht (z. B. das Cloud-Bursting für den Lastausgleich zwischen Clouds).
-
Eine Cloud-Datenverarbeitungsumgebung ist dienstorientiert, wobei der Schwerpunkt auf Zustandslosigkeit, geringer Kopplung, Modularität und semantischer Kompatibilität liegt. Im Mittelpunkt einer Cloud-Datenverarbeitung steht eine Infrastruktur, die ein Netzwerk von miteinander verbundenen Knoten umfasst.
-
Unter Bezugnahme auf 10 wird nun veranschaulichende Cloud-Computing-Umgebung 50 dargestellt. Wie dargestellt, beinhaltet die Cloud-Computing-Umgebung 50 eine Cloud 50 mit einem oder mehreren Cloud-Computing-Knoten 40, mit denen lokale Rechengeräte, die von Verbrauchern in der Cloud verwendet werden, wie z. B. PDAs (Personal Digital Assistant) oder Mobiltelefone 54A, Desktop-Computer 54B, Laptops 54C und/oder Computersysteme für Kraftfahrzeuge 54N, kommunizieren können. Die Knoten 40 können miteinander kommunizieren. Sie können physisch oder virtuell in einem oder mehreren Netzwerken gruppiert sein (nicht dargestellt), wie z. B. in privaten, Community-, öffentlichen oder hybriden Clouds, wie oben beschrieben, oder einer Kombination davon. Auf diese Weise kann die Cloud-Computing-Umgebung 50 Infrastruktur, Plattformen und/oder Software als Services anbieten, für die ein Verbraucher in der Cloud keine Ressourcen auf einem lokalen Rechengerät beibehalten muss. Es wird verstanden, dass die in 10 dargestellten Typen von Rechengeräten 54A-N nur zur Veranschaulichung dienen und dass die Rechenknoten 40 und die Cloud-Computing-Umgebung 50 mit jedem Typ von Computer-Gerät über jede Art von Netzwerk und/oder netzwerkadressierbare Verbindung (z. B. unter Verwendung eines Webbrowsers) kommunizieren können.
-
Unter Bezugnahme auf 11 wird nun eine Reihe von funktionalen Abstraktionsschichten gezeigt, die von der Cloud-Computing-Umgebung 50 (10) bereitgestellt werden. Es sollte im Voraus verstanden werden, dass die in 11 dargestellten Komponenten, Schichten und Funktionen nur zur Veranschaulichung dienen und die beispielhaften Ausführungsformen nicht darauf beschränkt sind. Wie gezeigt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
-
Die Hardware- und Software-Schicht 60 umfasst Hardware- und SoftwareKomponenten. Beispiele für Hardware-Komponenten beinhalten: Großrechner 61; Server auf der Grundlage der RISC-Architektur (Reduced Instruction Set Computer) 62; Server 63; Blade-Server 64; Speichergeräte 65 sowie Netzwerke und Netzwerkkomponenten 66. In einigen Ausführungsformen beinhalten die Softwarekomponenten Netzwerk-Anwendungsserversoftware 67 und Datenbanksoftware 68.
-
Die Virtualisierungsschicht 70 beinhaltet eine Abstraktionsschicht, auf der die folgenden Beispiele für virtuelle Einheiten bereitgestellt werden können: virtuelle Server 71, virtuelle Speicher 72, virtuelle Netzwerke 73, einschließlich virtueller privater Netzwerke, virtuelle Anwendungen und Betriebssysteme 74 und virtuelle Mandanten 75.
-
In einem Beispiel kann die Verwaltungsschicht 80 die im Folgenden beschriebenen Funktionen bereitstellen. Die Ressourcenbereitstellung 81 stellt die dynamische Beschaffung von Computer-Ressourcen und anderen Ressourcen bereit, die zum Ausführen von Aufgaben innerhalb der Cloud-Computing-Umgebung genutzt werden. Metering und Pricing 82 stellen die Kostenverfolgung bei der Nutzung von Ressourcen in der Cloud-Computing-Umgebung sowie die Abrechnung oder Rechnungsstellung für den Verbrauch dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungssoftware beinhalten. Sicherheit stellt die Identitätsprüfung für Verbraucher und Aufgaben in der Cloud sowie den Schutz von Daten und anderen Ressourcen bereit. Das Benutzerportal 83 stellt den Zugang zur Cloud-Computing-Umgebung für Verbraucher und Systemadministratoren bereit. Das Service-Level-Management 84 stellt die Zuweisung und Verwaltung von Cloud-Computing-Ressourcen bereit, so dass die erforderlichen Service-Levels eingehalten werden. Die Planung und Erfüllung von Service Level Agreements (SLA) 85 stellt die Anordnung und Beschaffung von Cloud-Computing-Ressourcen bereit, für die ein zukünftiger Bedarf gemäß einem SLA erwartet wird.
-
Die Schicht 90 „Arbeitslasten“ stellt Beispiele für Funktionen bereit, für die die Cloud-Computing-Umgebung genutzt werden kann. Beispiele für Arbeitslasten und Funktionen, die von dieser Schicht aus bereitgestellt werden können, umfassen: Mapping und Navigation 91; Softwareentwicklung und Lebenszyklusmanagement 92; Bereitstellung von Unterricht in virtuellen Klassenzimmern 93; Datenanalyseverarbeitung 94; Transaktionsverarbeitung 95; und Bakterienverarbeitung 96.
-
Bei den beispielhaften Ausführungsformen kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jeder möglichen technischen Detailstufe der Integration handeln. Das Computerprogrammprodukt kann ein computerlesbares Speichermedium (oder -medien) mit computerlesbaren Programmanweisungen darauf enthalten, die bewirken, dass ein Prozessor Aspekte der beispielhaften Ausführungsformen ausführt.
-
Das computerlesbare Speichermedium kann eine materielle Einheit sein, die Anweisungen zur Nutzung durch eine Einheit zur Anweisungsausführung enthalten und speichern kann. Bei dem computerlesbaren Speichermedium kann es sich beispielsweise um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder eine geeignete Kombination aus dem Vorhergehenden handeln, ohne auf diese beschränkt zu sein. Eine nicht umfassende Liste konkreterer Beispiele für das computerlesbare Speichermedium beinhaltet Folgendes: eine tragbare Computerdiskette, eine Festplatte, einen Direktzugriffsspeicher (RAM), einen Nur-Lese-Speicher (ROM), einen löschbaren programmierbaren Nur-Lese-Speicher (EPROM oder Flashspeicher), einen statischen Direktzugriffsspeicher (SRAM), einen tragbaren Compact-Disc-Nur-Lese-Speicher (CD-ROM), eine Digital Versatile Disk (DVD), einen Speicherstick, eine Diskette, eine mechanisch codierte Einheit wie Lochkarten oder erhabene Strukturen in einer Rille mit darin aufgezeichneten Anweisungen und jede geeignete Kombination aus dem Vorhergehenden. Ein wie im vorliegenden Dokument verwendetes computerlesbares Speichermedium soll nicht als transiente Signale an sich ausgelegt werden, beispielsweise Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder andere Übertragungsmedien ausbreiten (z. B. Lichtimpulse, die ein Lichtleiterkabel durchlaufen), oder durch eine Leitung übertragene elektrische Signale.
-
Im vorliegenden Dokument beschriebene computerlesbare Programmanweisungen können von einem computerlesbaren Speichermedium auf jeweilige Datenverarbeitungs/Verarbeitungs-Einheiten oder über ein Netzwerk, beispielsweise das Internet, ein lokales Netz, ein Weitverkehrsnetz und/oder ein Funknetz, auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenleiter, eine drahtlose Übertragung, Router, Firewalls, Switches, Gateway-Computer und/oder Edgeserver aufweisen. Eine Netzadapterkarte oder Netzschnittstelle in jeder Datenverarbeitungs/Verarbeitungs-Einheit empfängt aus dem Netzwerk computerlesbare Programmanweisungen und leitet die computerlesbaren Programmanweisungen zum Speichern in einem computerlesbaren Speichermedium in der jeweiligen Datenverarbeitungs/Verarbeitungs-Einheit weiter.
-
Computerlesbare Programmanweisungen zum Ausführen von Funktionen der beispielhaften Ausführungsformen können Assembler-Anweisungen, Anweisungen in einer Befehlssatzarchitektur (instruction set architecture, ISA), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmwareanweisungen, Zustandseinstelldaten, Konfigurationsdaten für integrierte Schaltkreise oder entweder Quellcode oder Objektcode sein, der in jeder Kombination aus einer oder mehreren Programmiersprachen geschrieben ist, darunter eine objektorientierte Programmiersprache wie Smalltalk, C++ oder Ähnliches, und herkömmliche prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die computerlesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Softwarepaket, teilweise auf dem Computer des Benutzers und teilweise auf einem fernen Computer oder vollständig auf dem fernen Computer oder Server ausgeführt werden. In letzterem Fall kann der ferne Computer mit dem Computer des Benutzers über jede Art von Netzwerk verbunden sein, unter anderem ein lokales Netz (LAN) oder ein Weitverkehrsnetz (WAN), oder die Verbindung kann zu einem externen Computer erfolgen (beispielsweise per Internet über einen Internet-Diensteanbieter). In einigen Ausführungsformen können elektronische Schaltungen, darunter beispielsweise programmierbare logische Schaltungen, feldprogrammierbare Gate Arrays (FPGA) oder programmierbare Logik-Arrays (PLA), die computerlesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der computerlesbaren Programmanweisungen zum individuellen Gestalten der elektronischen Schaltungen verwenden, damit Aspekte der beispielhaften Ausführungsformen ausgeführt werden.
-
Aspekte der beispielhaften Ausführungsformen sind im vorliegenden Dokument unter Bezug auf Ablaufplandarstellungen und/oder Blockschaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß den beispielhaften Ausführungsformen beschrieben. Es versteht sich, dass jeder Block der Ablaufplandarstellungen und/oder Blockschaubilder und Kombinationen aus Blöcken in den Ablaufplandarstellungen und/oder Blockschaubildern mit computerlesbaren Programmanweisungen implementiert sein kann bzw. können.
-
Diese computerlesbaren Programmanweisungen können einem Prozessor eines Allzweck-Computers, eines Computers für besondere Zwecke oder einer anderen programmierbaren Datenverarbeitungsvorrichtung zur Herstellung einer Maschine bereitgestellt werden, sodass die Anweisungen, die über den Prozessor des Computers oder der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführt werden, Mittel zum Implementieren der Funktionen/Handlungen erzeugen, die in dem Block oder den Blöcken der Ablaufpläne und/oder Blockschaubilder angegeben sind. Diese computerlesbaren Programmanweisungen können auch in einem computerlesbaren Speichermedium gespeichert werden, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten anweisen kann, auf eine besttimte Weise zu funktionieren, sodass das computerlesbare Speichermedium, in dem Anweisungen gespeichert sind, einen Herstellungsgegenstand aufweist, der Anweisungen enthält, die Aspekte der Funktion/Handlung realisieren, die in dem Block oder den Blöcken der Ablaufpläne und/oder Blockschaubilder angegeben ist.
-
Die computerlesbaren Programmanweisungen können auch in einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder andere Einheit geladen werden, um zu bewirken, dass eine Reihe von Arbeitsschritten auf dem Computer, der anderen programmierbaren Vorrichtung oder der anderen Einheit ausgeführt wird, um einen auf einem Computer realisierten Prozess zu erzeugen, sodass die Anweisungen, die auf dem Computer oder der anderen programmierbaren Vorrichtung oder der anderen Einheit ausgeführt werden, die Funktionen/Handlungen realisieren, die in dem Block oder den Blöcken des Ablaufplans und/oder Blockschaubilder angegeben sind.
-
Die Ablaufpläne und Blockschaubilder in den Figuren veranschaulichen die Architektur, Funktionalität und Funktionsweise möglicher Realisierungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen beispielhaften Ausführungsformen. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaubildern ein Modul, Segment oder einen Anweisungsbestandteil darstellen, das bzw. der eine oder mehrere ausführbare Anweisungen zur Realisierung der angegebenen Logikfunktion(en) aufweist. Bei einigen Realisierungsalternativen können die in den Blöcken angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren angegeben vorkommen. Zwei hintereinander dargestellte Blöcke können beispielsweise in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal in umgekehrter Reihenfolge ausgeführt werden, je nach der betreffenden Funktionalität. Es sei auch festgehalten, dass jeder Block der Blockschaubilder und/oder Ablaufplandarstellung und Kombinationen aus Blöcken in den Blockschaubildern und/oder der Ablaufplandarstellung durch Systeme auf der Grundlage von Hardware für besondere Zwecke realisiert sein kann bzw. können, die die angegebenen Funktionen oder Handlungen ausführen, oder Kombinationen aus Hardware für besondere Zwecke und Computeranweisungen ausführen.