-
QUERVERWEIS AUF ZUGEHÖRIGE ANMELDUNG
-
Diese Anmeldung beansprucht die Priorität und den Vorteil der koreanischen Patentanmeldung Nr.
2017-0135066 , eingereicht am 18. Oktober 2017, und auch der koreanischen Patentanmeldung Nr.
2018-0047370 , eingereicht am 28. April 2018, deren Offenbarungen hierin durch Bezugnahme in ihrer Gesamtheit enthalten sind.
-
HINTERGRUND
-
Gebiet der Erfindung
-
Die vorliegende Erfindung betrifft Arbeitsablauf- und Framework- bzw. Rahmenstruktur-Technologie und insbesondere ein Arbeitsablaufmaschinen-Framework, das eine einzeldomänenadaptive und auch eine domänenübergreifend adaptive arbeitsablaufdurchführende Plattform durch eine systematische Konfiguration von dynamischen Maschinenkomponenten erzeugen kann, um Arbeitsabläufe verschiedener Arbeitsdomänen oder Zieldomänen zu verarbeiten.
-
Diskussion des Standes der Technik
-
Arbeitsablauftechnologie bezieht sich auf Automatisierungstechnologie für Geschäftsprozesse, bei welchen Dokumente, Information, Aufgaben, etc. von einem Anwender (einer Anwendung) zu einem anderen Anwender übertragen bzw. transferiert werden, um sie gemäß einer Reihe von Geschäftsprozedurregeln zu verarbeiten. Insbesondere ist eine datenbasierte Dienstarbeitsablauferzeugungsprozedur wie folgt. Zuerst werden eine Datenquelle und ein Verfahren zum Sammeln der Datenquelle bestimmt. Ein Verfahren zum Verarbeiten der gesammelten Daten und ein Verfahren zum Analysieren der verarbeiteten Daten (z.B. Analyse durch Maschinenlernen, Vorhersage, wissensbasierte Inferenz, etc.) werden bestimmt. Ein Verfahren zum Bedienen des Analyseergebnisses wird bestimmt. Eine Maschine (Maschinen), die zum Durchführen des entsprechenden Arbeitsablaufs nötig ist (sind), wird/werden konfiguriert, und dann wird ein Verfahren zum Verpflichten bzw. Verknüpfen der Maschinen definiert. Dadurch wird die Arbeitsablauferzeugungsprozedur beendet.
-
In letzter Zeit hat eine intelligente Technologie des Internets von Dingen (loT), die verschiedenen Objekten künstliche Intelligenz zuteilt, die Aufmerksamkeit auf sich gezogen. Insbesondere gibt es für intelligente Internetanwendungen (z.B. Smarte Stadt), die eine große Anzahl von heterogenen loT-Domänen begleiten, eine Notwendigkeit für ein System, das heterogene Objektintelligenzdomänen regeln, managen und steuern kann. Zusätzlich können Probleme entstehen, die eine intelligente Verarbeitung von verschiedenen Arbeitsdomänen erfordern (z.B. Energie, Gesundheit, Transportwesen, Erziehung, Energieversorgungsanlagen, etc.). Selbst innerhalb einer einzelnen Arbeitsdomäne kann es eine Vielfalt von Zieldomänen geben, und zwar im Bereich von einer Vorrichtung, die Daten erzeugt und Aktionen durchführt, bis zu einem Edge, das Daten verarbeitet, transferiert, sofort analysiert und bestimmt, und einer Cloud, die eine komplizierte Analyse und Anwendungen durchführt. Ebenso kann es innerhalb der Arbeitsdomäne oder der Zieldomäne eine räumliche Domäne gemäß einer Raumklassifizierung und eine Zeitdomäne gemäß einer Zeitklassifizierung geben. Zusätzlich kann es verschiedene Domänen geben, wie beispielsweise eine Datenverarbeitungsdomäne, eine Lerndomäne, eine Vorhersagedomäne oder eine Dienstdomäne. Daher gibt es eine Notwendigkeit nach einem vereinheitlichten Verfahren und System zum effektiven Regeln, Managen und Steuern von solchen komplizierten mehrschichtigen Domänen (die hierin nachfolgend „übergreifende Domänen“ genannt werden).
-
Andererseits sind verschiedene Technologien entwickelt worden, um Einsichten von loT-Daten zu extrahieren und zu analysieren und um ein schnelles und genaues Entscheiden zu unterstützen, um Erkenntnisse schnell zu extrahieren, die in Big Data (großen Daten) enthalten sind, die durch IoT gesammelt sind, und um die Erkenntnisse auf ein Geschäft anzuwenden. Dies muss notwendigerweise durch eine Stromverarbeitungstechnologie für Echtzeitanalytiken und Plattformtechnologie für Echtzeitvorhersage/Analyse unterstützt werden.
-
Ebenso gibt es, da es eine größer werdende Notwendigkeit gibt, einen Arbeitsablauf durch Verwenden von Maschinenlernen zu entwickeln, welches in letzter Zeit aufgetaucht ist, bei einer IoT-Big-Data-Analyse, und loT-Domänen von verschiedenen Grundsätzen bzw. Zielen entwickelt worden sind, eine Notwendigkeit für eine vereinheitliche Plattformtechnologie, die die Domänen systematisch integrieren kann, um eine erkenntnisreichere Analyse oder einen erkenntnisreicheren Dienst zu ermöglichen. Jedoch hat eine herkömmliche Arbeitsablauftechnologie Beschränkungen beim Kombinieren von Maschinenlernen mit loT-Big-Data, die unterschiedliche Charakteristiken haben, und zwar in Abhängigkeit von Vorrichtungen, Daten und Domänen.
-
ZUSAMMENFASSUNG DER ERFINDUNG
-
Um die oben beschriebenen Beschränkungen und Probleme und überwinden, gibt eines Notwendigkeit für ein vereinheitlichtes System, das einen Arbeitsablauf gemäß dem Zweck jeder Domäne durch systematische Konfiguration von Maschinenkomponenten erzeugen und durchführen kann und auf einfache Weise auf eine andere Domäne angewendet werden kann, um einen (domänenadaptiven) Arbeitsablauf zu erzeugen und durchzuführen, der für die andere Domäne geeignet ist, und insbesondere eine integrierte Steuerung und ein integriertes Management durchführen kann, um mit einer übergreifenden Domäne fertig zu werden.
-
Demgemäß neigt die vorliegende Erfindung dazu, ein Arbeitsablaufmaschinen-Framework zum Erzeugen einer domänenadaptiven oder sogar domänenübergreifend adaptiven arbeitsablaufdurchführenden Plattform vorzuschlagen, die zu Zwecken durch systematische Konfiguration von dynamischen Maschinenkomponenten geeignet ist.
-
Gemäß einem Aspekt der vorliegenden Erfindung zum Adressieren der Aufgabe der vorliegenden Erfindung wird ein Arbeitsablaufmaschinen-Framework zur Verfügung gestellt, das enthält:
- eine Ressourcenmanagementeinheit, die konfiguriert ist, um Ressourcen zu managen, die Maschinenkomponenten und Arbeitsablaufeigenschaftsspezifikationskomponenten, die nötig sind, um einen durch einen Anwender definierten Arbeitsablauf durchzuführen, enthalten;
- eine Systemkonfigurationseinheit, die konfiguriert ist, um eine Maschine durch Aneinanderfügen der Eigenschaftsspezifikationskomponenten, dynamisches Kombinieren der Maschinenkomponenten, die nötig sind, um den Arbeitsablauf durchzuführen, und Konfigurieren nötiger Maschinenkomponentenbehälter gemäß einer Arbeitsablaufspezifikation zu erzeugen; und
- eine Systemsteuereinheit, die konfiguriert ist, um gemäß einer Art, die in einer Arbeitsablaufeigenschaftsspezifikation definiert ist, die Ausführung von einer oder mehreren Maschinen anzutreiben und zu steuern, die durch die Systemkonfigurationseinheit erzeugt sind.
-
Ebenso wird gemäß einem weiteren Aspekt der vorliegenden Erfindung dann, wenn das Arbeitsablaufmaschinen-Framework zu jeder von zwei oder mehr unterschiedlichen einzelnen Domänen zugeteilt ist, ein domänenübergreifend adaptives Arbeitsablaufmaschinen-Framework zur Verfügung gestellt, das ein domänenübergreifendes Konvergenzsystem enthält, das mit den Einzeldomänen-Arbeitsablaufmaschinen-Frameworks über ein Netzwerk verbunden ist und das konfiguriert ist, um gemäß einem durch einen Anwender definierten domänenübergreifenden Arbeitsablauf eine einzelne Domäne zu bestimmen, für welche die Maschine zu nutzen ist, unter einzelnen Domänen, die in einer übergreifenden Domäne enthalten sind.
-
Figurenliste
-
Die obigen und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung werden Fachleuten auf dem Gebiet durch detailliertes Beschreiben beispielhafter Ausführungsformen davon unter Bezugnahme auf die beigefügten Zeichnungen klarer werden, in welchen:
- 1 ein schematisches Diagramm eines Arbeitsablaufmaschinen-Frameworks gemäß der vorliegenden Erfindung ist;
- 2 ein detailliertes Blockdiagramm einer Systemkonfigurationseinheit 30 ist;
- 3 ein beispielhaftes Diagramm eines GUI-Bildschirms zum Darstellen einer Konfiguration eines System-Definierers-Editors 70 ist;
- 4 eine Prozedur zum Konfigurieren einer Maschine zeigt, die einen Arbeitsablauf konfiguriert, aus der Spezifikation der Maschine;
- 5 ein Blockdiagramm einer Maschine als ein Beispiel eines Arbeitsablaufdurchführungsfalls ist, der durch eine Arbeitsablaufkonfigurationseinheit 36 der 1 konfigurierbar ist;
- 6 ein Beispiel einer Maschinenkonfiguration zeigt, die mit einem Einheitenoperator ausgestattet ist;
- 7 eine spezifische Ausführungsform einer Datenverarbeitungsmaschine zeigt, die in 6 gezeigt ist;
- 8 ein weiteres Beispiel einer Maschinenkonfiguration zeigt, die mit einem Einheitenoperator ausgestattet ist;
- 9 eine Konfiguration eines arbeitsablaufdurchführenden Systems zeigt, bei welchem eine oder mehrere Maschinen auf eine pipelineartige Weise verbunden sind;
- 10 eine Konfiguration eines arbeitsablaufdurchführenden Systems zeigt, bei welchem eine oder mehrere Maschinen durch mehrere Typen von Datenpfaden laufen gelassen werden;
- 11 ein Beleuchtungs-/Temperatur-Steuerungs-Arbeitsablaufdienstszenario basierend auf dem loT und künstlicher Intelligenz darstellt;
- 12 einen Verkehrsgeschwindigkeitsüberwachungsdienst basierend auf tiefem Lernen darstellt;
- 13 eine interne Konfiguration eines Arbeitsablaufmaschinen-Frameworks 10 der 11 zeigt;
- 14 ein Beispiel einer Konfiguration einer dienenden Maschine bzw. Dienstmaschine zum Bereitstellen eines intelligenten Dienstes als eine Maschine zum Bereitstellen eines Dienstes zu einem Client oder einem Anwender zeigt;
- 15 eine interne Konfiguration eines Arbeitsablaufmaschinen-Frameworks 10 der 12 zeigt;
- 16 ein Beispiel einer Konfiguration eines domänenübergreifenden Arbeitsablaufmaschinen-Frameworks zeigt;
- 17 eine Prozedur zum Durchführen eines domänenübergreifenden Arbeitsablaufs zeigt;
- 18 ein Szenario zum Erreichen einer smarten Stadt darstellt;
- 19 eine Ausführungsform eines Arbeitsablaufmaschinen-Frameworks zeigt, das konfiguriert ist, um die smarte Stadt der 18 zu erreichen; und
- 20 eine Ausführungsform einer Konfiguration einer smarten Steuerungsempfehlungsmaschine für Straßenbeleuchtung eines Arbeitsablaufs 94 zeigt, der in 19 gezeigt ist.
-
DETAILLIERTE BESCHREIBUNG BEISPIELHAFTER AUSFÜHRUNGSFORMEN
-
1 ist ein Blockdiagramm, das eine Ausführungsform eines Arbeitsablaufmaschinen-Frameworks gemäß der vorliegenden Erfindung zeigt. Ein Arbeitsablaufmaschinen-Framework 10 gemäß der vorliegenden Erfindung enthält grundsätzlich:
- - einen System-Definierer-Editor 70, der konfiguriert ist, um eine Struktur und Spezifikationen von durchzuführender Arbeit (Arbeitsablauf) zu definieren und zu bearbeiten;
- - eine Ressourcenmanagementeinheit 20, die konfiguriert ist, um Ressourcen zu managen, einschließlich: Eigenschaftsspezifikationskomponenten bezogen auf Eigenschaften zum Definieren von Maschinenkomponenten einer Arbeitsablaufspezifikation (einer Maschinenspezifikation d.h. einer Spezifikation, die aus einer oder mehreren Maschinen besteht, die den Arbeitsablauf bilden), um durch einen Anwender durch den System-Definierer-Editor 70 definiert zu werden, Maschinenkomponenten, die Maschinenzusammensetzungselemente sind, die eine Maschine bilden, um den Arbeitsablauf durchzuführen, vordefinierter Arbeitsablaufspezifikationsinstanzen, etc.;
- - eine Systemkonfigurationseinheit 30, die konfiguriert ist, um Arbeitsablaufeigenschaftsspezifikationen aneinanderzufügen und Maschinenkomponenten dynamisch zu kombinieren, die nötig sind, um den Arbeitsablauf durchzuführen und um eine Maschineninstanz (Maschineninstanzen) 32 zu konfigurieren (der oder die hierin nachfolgend austauschbar Maschine genannt werden), der (oder die) den Arbeitsablauf durchführt (durchführen);
- - eine Maschine (eine Instanz) 32, die durch die Systemkonfigurationseinheit 30 erzeugt ist; und
- - eine Systemsteuereinheit 40, die konfiguriert ist, um die Ressourcenmanagementeinheit 20, die Systemkonfigurationseinheit 30 und die Maschine 32 zu steuern.
-
Im Arbeitsablaufmaschinen-Framework 10 definiert ein Anwender einen Arbeitsablauf, der aus einer oder mehreren Maschinen besteht, um ein erwünschtes System aufzubauen. Hier ist der Arbeitsablauf zusammengesetzt aus einer Definition von der einen oder den mehreren Maschinen. Die Definition der Maschinen bezieht sich auf eine Kombination eines Maschinenbehälters zum Enthalten von Maschinenkomponenten und auf Maschinenkomponenten, um im Maschinenbehälter enthalten zu sein.
-
Der Maschinenkomponentenbehälter wird als eine Kombination von einer oder mehreren Leserkomponenten, Schreiberkomponenten, Läuferkomponenten, Operatorkomponenten und Steuerungskomponenten erzeugt. Jede der Leserkomponenten, Schreiberkomponenten, Läuferkomponenten, Operatorkomponenten und Steuerungskomponenten wird als eine Kombination einer Eigenschaftsspezifikationskomponente zum Definieren von Eigenschaften zum Bestimmen von Charakteristiken von Komponenten und einer Ausführungskomponente entsprechend einer aktuellen Implementierung von Komponenten erzeugt. Als ein Beispiel entspricht die Ausführungskomponente einer Klasse, wie beispielsweise Java und C++, und entspricht die Eigenschaftsspezifikationskomponente einem Erzeugerparameter, der in einem Erzeuger einer Klasse enthalten sein kann, oder einer Klasse, die Erzeugerparameter enthält. Durch Definieren eines Arbeitsablaufs für eine oder mehrere Maschinen entsprechend einer Definition eines Ausführungssystems, das auf diese Weise erzeugt ist, ist es möglich, die ausführbare Maschine dynamisch zu konfigurieren und auch ein Arbeitsablaufsystem zu erzeugen, das für verschiedene Arbeitsdomänen nötig ist.
-
2 zeigt eine detaillierte Konfiguration und zusätzliche Elemente des Systems der 1.
-
Das System kann weiterhin folgendes enthalten: eine Ausführungsinstanzeneinheit 50, in welcher Maschinen 32, die als eine Kombination von Maschinenkomponenten konfiguriert sind, die durch die Systemkonfigurationseinheit 30 dynamisch erzeugt sind, in der Form von Maschineninstanzen erzeugt und gemanagt werden (was als Ergebnis beendete und ausgeführte Maschinen anzeigt); eine Komponenteneinheit 60, die ein Raum ist, wo eine Maschinenkomponente 64 und eine Eigenschaftsspezifikationskomponente 62, gemanagt durch die Ressourcenmanagementeinheit 20, physikalisch oder virtuell gespeichert werden; und ein Frontend 77, das konfiguriert ist, um einen Arbeitsablauf vom System-Definierer-Editor 70 zu empfangen und den Arbeitsablauf zur Systemkonfigurationseinheit 30 zu transferieren.
-
Das Frontend 77 dient zum Herbeiführen bzw. Vermitteln einer Ausführung eines Prozesses zum Empfangen einer Anfrage von einem Client und zum Verarbeiten der empfangenen Anfrage und dient dazu, auf verschiedene Anfragen zu antworten, wie beispielsweise Anwendermanagement- oder Speicherungsmanagement-Anfragen. Beispiele des Frontends 77 können ein System enthalten, das ein allgemeines sockelkommunikationsbasiertes Hörermodul, einen allgemeinen Anwendungsserver oder einen Web-Anwendungsserver, der eine webbasierte REST-API zur Verfügung stellt, enthält. In Abhängigkeit vom Fall kann das Frontend 77 auf einem Netzwerk laufen, das unterschiedlich von demjenigen eines Backends ist, das den System-Definierer-Editor 70 oder das Framework 10 bildet.
-
Bevor das Arbeitsablaufmaschinen-Framework 10 der 1 und der 2 vollständig beschrieben wird, wird zuerst der System-Definierer-Editor 70 beschrieben werden, der dazu dient, einen Arbeitsablauf zu schreiben, der Spezifikationen für eine Reihe von Operationen definiert, um das Ausführungssystem im Framework 10 anzutreiben, und das Frontend 77 anzufragen, anzuweisen, dass das Ausführungssystem im Framework 10 betrieben wird.
-
Der System-Definierer-Editor 70 fungiert, um eine detaillierte Domäne für eine erwünschte Arbeit zu definieren, eine Arbeitsablaufstruktur zu definieren, um für jede Domäne durchgeführt zu werden, eine Maschinenkomponente (Maschinenkomponenten) gemäß der Struktur auszuwählen, um einen Arbeitsablauf zu definieren, der einen Ablauf durchführt, und eine detaillierte Spezifikation jeder Maschinenkomponente zu schreiben. Dafür kann sich der System-Definierer-Editor 70 beim Framework (insbesondere die Ressourcenmanagementeinheit 20) über Eigenschaftsspezifikationskomponenten und Maschinenkomponenten erkundigen.
-
Hier kann die Arbeitsablaufstruktur beispielsweise Prozesse anzeigen, wie beispielsweise ein Sammeln von Daten von einer spezifischen IoT-Plattform, eine Datenverarbeitung, ein Lernen, etc., und die sequentielle Handhabung von diesen Prozessen kann einem Arbeitsablauf entsprechen, der einen Ablauf durchführt. Die Spezifikation von Komponenten bezieht sich auf Details, die für jede Elementkomponente definiert sind, wie beispielsweise von welcher Vorrichtung Daten zu sammeln sind, welches Verbindungsverfahren zu verwenden ist, ob empfangene Daten in einem Arbeitsspeicher oder einem Speicher zu speichern sind, welche Speicherinformation zu verwenden ist, wo ein Speicher ist, etc., um eine Arbeit darüber durchzuführen, von welchen Daten zu bringen sind, wie die Daten zu verarbeiten sind und zu welchen die Daten zu senden sind.
-
Durch den System-Definierer-Editor 70 kann ein Anwender (z.B. ein Datenwissenschaftler, ein Modellentwickler, ein Geschäftsentwickler, etc.) Maschinenkomponenten 64 definieren, die einen Arbeitsablauf bilden, und Eigenschaftsspezifikationskomponenten 62 zum Definieren von Parametern zum Bestimmen von Charakteristiken der Maschinenkomponenten 64 gemäß einer bestimmten Regel, und kann auch ein Komponenten- und Eigenschaftsspezifikations-Paar definieren und bearbeiten.
-
3 ist ein beispielhaftes Diagramm eines GUI-Bildschirms 71 zum Darstellen einer Konfiguration des System-Definierers-Editors 70. Die folgende Beschreibung des GUI-Bildschirms 71 wird zur Beschreibung der Konfiguration und der Operation des System-Definierer-Editors 70 eingesetzt werden.
-
Der GUI-Bildschirm 71 enthält ein Funktionsmenü 72, eine Maschinentyp-Auswahleinheit 73, eine Komponentenauswahleinheit 74, eine Komponenteneigenschaftsauswahl/Bearbeitungseinheit 75 und eine Arbeitsablaufinstanzenspeicher/Untersuchungseinheit 76.
-
Das Funktionsmenü 72 ist ein Menü zum Auswählen verschiedener Funktionen des System-Definierer-Editors 70 und kann zusammengesetzt sein aus beispielsweise Menüelementen zum Auswählen von Funktionen, wie beispielsweise Neu (Schreiben eines neuen Arbeitsablaufs), Offen (Laden eines gesicherten Arbeitsablaufs), Sichern (Sichern eines Arbeitsablaufs), Laufenlassen (Laufenlassen eines Arbeitsablaufs), Ergebnis (Anschauen laufengelassener Ergebnisse) und Hilfe.
-
Die Maschinentypauswahleinheit 73 stellt verschiedene Maschinentypen zur Verfügung und lässt zu, dass ein Anwender einen erwünschten unter einer Vielfalt von Maschinentypen auswählt. Die Typen von Maschinen enthalten beispielsweise eine Echtzeitstreaming-Verarbeitungsmaschine, eine Stapelverarbeitungsanalysemaschine, eine Maschine für eine Datenverarbeitung auf eine Aufforderung hin, eine Auswertungsmaschine, eine Stapelverarbeitungsdatenaufnahmemaschine, eine Streamingmaschinenlernvorhersagemaschine, eine Maschine zum Bedienen einer Konvergenz auf eine Aufforderung hin, etc.
-
Die Komponentenauswahleinheit
74 stellt eine Liste verschiedener Maschinenkomponenten für jeden Komponententyp zur Verfügung, um zuzulassen, dass ein Anwender einen Komponententyp und eine Maschinenkomponente für den Komponententyp auswählt. Die nachstehende Tabelle 1 ist ein Beispiel einer Liste von Komponententypen und Maschinenkomponenten, welche durch die Komponentenauswahleinheit
74 zur Verfügung gestellt wird.
[Tabelle 1]
Komponententyp | Maschinenkomponente |
| Datenleser |
| HttpServerLeser |
Leser | Kafka-Leser |
| Mongodb-Leser |
| ... |
| Dateienschreiber |
Schreiber | Kafka-Schreiber |
| Mongodb-Leser |
| ... |
| Auslösesession-Steuerung |
Steuerung | Auslösesessionstreamingsteuerung |
| ... |
| Auslöse-Läufer |
Läufer | Tensorfluss-Läufer |
| ... |
Operator | MinMax-Skalierer |
| Aggregator |
| ... |
-
Die Komponenteneigenschaftsauswahl/Bearbeitungseinheit 75 kann Eigenschaften der durch die Komponentenauswahleinheit 74 ausgewählten Maschinenkomponente zur Verfügung stellen, um zuzulassen, dass ein Anwender nach den Eigenschaften fragt, diese auswählt und bearbeitet.
-
Die Arbeitsablaufinstanzenauswahleinheit 76 zeigt eine Liste an, in welcher früh erzeugte Arbeitsabläufe gespeichert sind. Ein Arbeitsablauf, den ein Anwender wünscht, erneut zu verwenden, kann unter den Arbeitsabläufen ausgewählt werden. Der ausgewählte Arbeitsablauf kann erneut editiert bzw. bearbeitet werden, oder das Framework 10 kann angefragt werden, den ausgewählten Arbeitsablauf ohne ein erneutes Editieren durchzuführen. Die erneute Verwendung kann auf den gesamten Arbeitsablauf abzielen oder kann auf jede einzelne Maschine abzielen, die im Arbeitsablauf enthalten ist, um die Maschinen zu editieren oder auszuführen.
-
Wenn der System-Definierer-Editor 70 eine Arbeitsablaufspezifikationsdatei herstellt, wird die Datei zur Systemkonfigurationseinheit 30 des Frameworks 10 zur Verfügung gestellt, das in 1 gezeigt ist. In diesem Fall kann das Frontend 77 dazu dienen, die Arbeitsablaufspezifikation zu empfangen und sie zur Systemkonfigurationseinheit 30 zu transferieren.
-
Kehrt man zurück zu den 1 und 2, fungiert die Ressourcenmanagementeinheit 30, um Komponenten zu managen, die nötig sind, um den Arbeitsablauf durchzuführen. Wie es in 2 detailliert gezeigt ist, enthält die Ressourcenmanagementeinheit 20 folgendes:
- - eine Eigenschaftsspezifikationskomponentenmanagementeinheit 20, die konfiguriert ist, um Eigenschaftsspezifikationskomponenten 62 zu managen (und auch upzudaten), in welchen Eigenschaftsspezifikationen zum Bestimmen von Charakteristiken oder Eigenschaften von Komponenten einer Arbeitsablaufinstanz enthalten sind, und eine Liste der Eigenschaftsspezifikationskomponenten 62; und
- - eine Maschinenkomponentenmanagementeinheit 24, die konfiguriert ist, um Komponenten zur Ausführung (d.h. Maschinenkomponenten) zu managen (und auch upzudaten), um eine Liste der Komponenten hinzuzufügen.
-
Ebenso kann die Ressourcenmanagementeinheit 20 zusätzlich eine Arbeitsablaufspezifikationsinstanzenmanagementeinheit 26 enthalten, die konfiguriert ist, um Arbeitsablaufspezifikationsinstanzen zu managen, die zuvor erzeugt und gespeichert worden sind. Die Arbeitsablaufspezifikationsinstanzenmanagementeinheit 26 speichert und managt die Arbeitsablaufspezifikationsinstanzen so, dass die Arbeitsablaufspezifikationsinstanzen später gemäß einer Anfrage vom System-Definierer-Editor 70 über z.B. die Arbeitsablaufinstanzenauswahleinheit 76 der 3 verwendet werden können.
-
Zusätzlich fungiert die Systemkonfigurationseinheit 30 in 1, um eine Komponente zu erzeugen, die zum Durchführen des erzeugten Arbeitsablaufs nötig ist. Die Systemkonfigurationseinheit 30 konfiguriert nötige Maschinenkomponentenbehälter 32 gemäß einer Arbeitsablaufspezifikation, die durch das Frontend 77 durchgelaufen ist, um Maschineninstanzen zu erzeugen.
-
Spezifischer enthält unter Bezugnahme auf 2 die Systemkonfigurationseinheit 30 folgendes:
- - eine Arbeitsablaufeigenschaftsspezifikationszusammenbaueinheit 34, die eine Leistungsfähigkeitsplattform, die Arbeitsablaufspezifikation konfiguriert, die vom System-Definierer-Editor 70 empfangen ist, zu den Eigenschaftsspezifikationskomponenten bindet, um eine Reihe von Eigenschaftsspezifikationskomponenten zu erzeugen, und
- - eine Arbeitsablaufkonfigurationseinheit 36, die einen Arbeitsablauf konfiguriert, der eine Plattform durchführt, durch Extrahieren definierter Maschinenkomponenteninformation von den zusammengebauten Eigenschaftenspezifikationskomponenten 62, um die Eigenschaftsspezifikationskomponenten 62 und die Maschinenkomponenten 64 zu binden.
-
Die Arbeitsablaufeigenschaftsspezifikationszusammenbaueinheit 34 bindet die Arbeitsablaufspezifikationen zum Konfigurieren des Arbeitsablaufs, der eine Plattform durchführt, an die Eigenschaftsspezifikationskomponenten 62, um eine Reihe von Eigenschaftsspezifikationskomponenteninstanzen zu erzeugen. Beispiele der durch die Arbeitsablaufeigenschaftsspezifikationszusammenbaueinheit 34 erzeugten Eigenschaftsspezifikationskomponenten 62 enthalten Protobuf-Nachrichtenobjekt von Google, Fallklasse von Scala, Eigenschaftsobjekt von Java und Ähnliches.
-
Die Arbeitsablaufkonfigurationseinheit 36 konfiguriert eine Arbeitsablaufleistungsfähigkeitsinstanzeneinheit 50 dynamisch, die eine Reihe von Maschineninstanzen enthält, zum Durchführen des Arbeitsablaufs durch Binden der Maschinenkomponenten 64, die den Arbeitsablauf bilden, mit den Eigenschaftsspezifikationskomponenten, die Parameter zum Bestimmen der Charakteristiken der Maschinenkomponenten 64 definieren, und dann durch Binden von Instanzen der Maschinenkomponenten, die durch den ersten Bindungsprozess mit den Maschinenbehältem erzeugt sind. In der Arbeitsablaufleistungsfähigkeitsinstanzeneinheit 50 werden eine oder mehrere Maschinen 32 dynamisch erzeugt und ausgeführt durch die Arbeitsablaufkonfigurationseinheit 36. Diese Maschinen 32, die erzeugt werden, um einen Arbeitsablauf durchzuführen, können als ein unabhängiges Programmpaket auf derselben Computermaschine oder auf Computermaschinen, die miteinander über ein Netzwerk verbunden sind, genutzt und ausgeführt werden, oder können in Einheiten einer virtuellen Maschine gepackt werden und bei unterschiedlichen physikalischen Computermaschinen genutzt werden.
-
Die Systemsteuereinheit 40 der 1 und 2 ist ein Modul zum Spielen von Schlüsselrollen des Frameworks der vorliegenden Erfindung, wie beispielsweise zum Dienen, um die Maschineninstanzen 32 anzutreiben, die durch die Systemkonfigurationseinheit 30 erzeugt sind, gemäß der Verarbeitungsprozedur, oder zum Beenden des Antreibens der Maschineninstanzen 32. Ebenso steuert die Systemsteuereinheit 40 die Ausführung durch Antreiben von einer oder mehreren Maschinen 32, die in der Arbeitsablaufleistungsfähigkeitsinstanzeneinheit 50 erzeugt sind, auf eine Weise, die in den Arbeitsablaufeigenschaftsspezifikationen definiert ist. Anders ausgedrückt wird dann, wenn die Systemsteuereinheit 40 eine Arbeitsablaufleistungsfähigkeitsanfrage zu der Arbeitsablaufleistungsfähigkeitsinstanzeneinheit 50 durchführt, der Arbeitsablauf durchgeführt. Für selbst irgendeine erwünschte Domäne macht es dies möglich, ein Ziel eines durch einen Anwender erzeugten Arbeitsablaufs zu erreichen.
-
Beispielsweise kann die Systemsteuereinheit 40 eine oder mehrere Maschinen 32 steuern, die mehrere Typen von unterschiedlichen Datenquellen und Datenzielorten haben, so dass sie auf eine pipelinemäßige Weise ausgeführt werden. Alternativ kann die Systemsteuereinheit 40 eine oder mehrere Maschinen 32 steuern, die mehrere Typen von unterschiedlichen Datenquellen und Datenzielorten haben, so dass sie gleichzeitig ausgeführt werden. Verschiedene Typen von Maschinenkonfigurationen werden nachstehend detailliert beschrieben werden.
-
4 zeigt eine Prozedur zum Konfigurieren einer Maschine 32 aus Arbeitsablaufspezifikationen, die durch den System-Definierer-Editor 70 erzeugt sind.
-
Zuerst empfängt die Arbeitsablaufkonfigurationseinheit 36 der Systemkonfigurationseinheit 30 Arbeitsablaufspezifikationen (340) und erzeugt eine Reihe von Eigenschaftsspezifikationskomponenteninstanzen, die Eigenschaftsspezifikationen von Maschinenkomponenten enthalten, um eine Maschine zu konfigurieren (342). Eine Eigenschaftsspezifikationskomponente 62, die in diesem Fall verwendet ist, kann das Protobuf-Nachrichtenobjekt von Google, die Fallklasse von Scala oder eine andere „Klasse“, die einen Wert in einer Programmsprache enthalten kann, sein.
-
Die Arbeitsablaufkonfigurationseinheit 36 spezifiziert die Eigenschaftsspezifikationskomponenteninstanzen als Erzeugerparameter der Maschinenkomponente 64 und erzeugt Maschinenkomponenteninstanzen (344).
-
Wenn Maschineninstanzen, die eine Steuerung, einen Leser, einen Läufer, einen Schreiber und einen Einheitenoperator enthalten, der die Maschine bildet, erzeugt ist, verbindet die Arbeitsablaufkonfigurationseinheit 36 die Maschineninstanzen dynamisch mit dem Maschinenkomponentenbehälter 31 durch Verwenden einer Maschinenkomponentenbehälterinstanz als ein Erzeugerparameter, um eine Maschineninstanz 32 zu erzeugen (346). Eine Maschineninstanz 32 wird für jede Maschinendefinition auf dem Arbeitsablauf erzeugt und dann durch die Arbeitsablaufleistungsfähigkeitsinstanzeneinheit 50 ausgeführt und gemanagt.
-
Durch die Prozedur der 4 wird die Arbeitsablaufleistungsfähigkeitsinstanz dynamisch konfiguriert. Hier kann eine Maschine in der Form einer virtuellen Maschine definiert und konfiguriert werden.
-
Die 5 bis 10 zeigen verschiedene Konfigurationsverfahren der Maschine 32 als Beispiele der Arbeitsablaufleistungsfähigkeitsinstanz, die durch die Arbeitsablaufkonfigurationseinheit 36 konfiguriert ist, die unter Bezugnahme auf 1 beschrieben ist.
-
Die in 5 gezeigte Basismaschine 32 enthält einen Leser 322, der konfiguriert ist, um Daten von einer oder mehreren Datenquellen zu bringen; einen oder mehrere Schreiber 324, die konfiguriert sind, um Daten, die intern verarbeitet sind, in einen oder mehrere Datenzielorte zu schreiben; einen Läufer 326, der konfiguriert ist, um ein separates Ausführungsprogramm oder eine Plattform zum Verarbeiten von Eingangsdaten auszuführen oder um eine Session zu managen; und eine Steuerung 328, die konfiguriert ist, um solche Daten durch den Leser einzugeben und um die Daten über den Läufer zu verarbeiten, und die verantwortlich für eine Reihe von Steuerungen zum Ausgeben der verarbeiteten Daten ist.
-
Die Steuerung 328 fungiert, um eine Reihe von Prozessen zu steuern, die mit dem Leser 322, dem Schreiber 324, dem Läufer 326 und einem Einheitenoperator 323, der nachstehend beschrieben werden wird, durchgeführt sind. Die Steuerung 328 führt eine eingegebene Anfrage durch, um den Leser 322 anzuweisen, Daten von einer Datenquelle zu lesen, führt eine Verarbeitungsanfrage durch, um den Läufer 326 anzuweisen, ein Verarbeitungs-Framework anzutreiben, um die durch den Leser 322 gelesenen Daten zu verarbeiten und die verarbeiteten Daten zum Schreiber 324 zu senden, und führt eine Ausgabeanfrage durch, um den Schreiber 324 anzuweisen, die verarbeiteten Daten in einen Datenzielort zu schreiben.
-
Der Leser 322 der Maschine 32 fungiert, um Daten von irgendeinem Typ von Datenspeicher (nicht gezeigt) unter einem internen Speicherpuffer oder Cache, einem Dateiensystem, einem Nachrichtensystem, einer Datenbank und einem Netzwerktreiber zu lesen. Gleichermaßen fungiert der Schreiber 324, um Daten in irgendeinem Typ von Datenspeicher (nicht gezeigt) unter einem internen Speicherpuffer oder Cache, einem Dateiensystem, einem Nachrichtensystem, einer Datenbank und einem Netzwerktreiber zu schreiben. Der Einheitenoperator 323 fungiert, um Daten zu empfangen, zu verarbeiten und auszugeben. Beispielsweise kann der Einheitenoperator 323 eine Implementierung von verschiedenen Datenverarbeitungsfunktionen sein, die in dem Filter/Integrations/Reduktions/Umwandlungs-Verfahren enthalten sind, auf das bei einer Technologie zur Auswertung größerer Datenmengen Bezug genommen ist. Der Läufer 326 kann irgendein Programm oder externe Plattformen/Frameworks sein, die nötig sind, um die Daten zu verarbeiten, und kann einen Verbinder, eine Steuerung einen Sessionmanager und Ähnliches enthalten, von welchen jeder mit einer Plattform für tiefes Lernen verbunden sein kann oder eine davon ausführen kann, wie beispielsweise Tensorfluss, Caffe für eine Analyse für tiefes Lernen und ein Auslösen für eine Verarbeitung von Big Data und eine wissensbasierte Verarbeitungsmaschine, wie beispielsweise Jena.
-
Andererseits kann dann, wenn Knoten in der Reihenfolge des Lesers 322, eines oder mehrerer Einheitenoperatoren 323a bis 323c und des Schreibers 324 konfiguriert sind, wie es in den 5 und 6 gezeigt ist, die Steuerung 328 eine Steuerung in einer sequentiellen Verarbeitungsweise durchführen, in welcher Daten sequentiell in eine Pipeline gebracht und zum nächsten Knoten transferiert werden, einer simultanen Verarbeitungsweise, in welcher jeder Knoten gleichzeitig ausgeführt wird, und einer gleichzeitigen/sequentiellen Verarbeitungsweise, die eine Kombination der zwei Arten ist.
-
6 zeigt eine Maschine, die konfiguriert ist, um durch Verwenden von einem oder mehreren aufeinanderfolgenden Einheitenoperatoren 323a bis 323c auf eine pipelinemäßige Weise unter den Weisen zum Konfigurieren der Basismaschine 32 der 5 eine sequentielle Datenverarbeitung in einer Reihe von Prozessen zum Verarbeiten von Eingangsdaten durch die Steuerung 328 durchzuführen und dann die verarbeiteten Daten zum Schreiber 324 zu transferieren. Die Steuerung 328 führt eine Eingabeanfrage durch, um den Leser 322 anzuweisen, Daten von einer Datenquelle zu lesen, führt eine Operatorausführungsanfrage durch, um den Läufer 326 anzuweisen, ein Datenverarbeitungs-Framework anzutreiben und die durch den Leser 322 gelesenen Daten zu verarbeiten, führt eine pipelinemäßige Verarbeitungsausführungsanfrage zu jedem der Einheitenoperatoren 323a bis 323c durch und führt eine Ausgabeanfrage durch, um den Schreiber 324 anzuweisen, die verarbeiteten Daten in einen Datenzielort zu schreiben. Gemäß dem Konfigurationsverfahren der 6 ist es möglich, verschiedene Domänen gemäß ihren Aufgaben durch Verwenden einer Kombination von verschiedenen Einheitenoperatoren auf einfache Weise zu handhaben. Die Einheitenoperatoren 323a bis 323c können Implementierungen von Verfahren zum Filtern, zur Integration, zur Reduktion und zur Umwandlung entsprechend Techniken zur Auswertung größerer Datenmengen sein.
-
7 zeigt eine spezifische Ausführungsform einer Datenverarbeitungsmaschine, die in 6 gezeigt ist. Die Datenverarbeitungsmaschine führt ein Auslöse-Framework zur Datenverarbeitung aus, liest Daten durch einen Leser, der konfiguriert ist, um Daten von einer Datei, JDBC, Kafka, etc. zu lesen, verarbeitet die Daten durch einen Einheitenoperator zum Entfernen einer spezifischen Spalte, einen Datenverknüpfungs-Einheitenoperator, einen Einheitenoperator zur Unterstellung eines fehlenden Werts, einen Skalierungs-Einheitenoperator, einen Filterungs-Einheitenoperator und einen Pivot-Einheitenoperator und gibt die verarbeiteten Daten zu der Datei, JDBC, Kafka, etc. durch einen Schreiber aus.
-
8 zeigt eine Konfiguration einer Maschine mit einem Schema, bei welchem die Steuerung 328 der 6 die Einheitenoperatoren 323a bis 323c antreibt, d.h. einer Maschine mit einem Schema, bei welchem ein oder mehrere Einheitenoperatoren angetrieben werden, um Daten gleichzeitig zu verarbeiten, zusätzlich zu einem Schema, bei welchem Daten vom Leser 322 empfangen werden und durch eine Reihe von Einheitenoperatoren auf eine pipelinemäßige Weise sequentiell verarbeitet werden.
-
Als eine weitere Ausführungsform der Maschinen 32 mit den oben beschriebenen verschiedenen Konfigurationen kann der Läufer 326 verbunden sein mit verschiedenen Softwareprogrammen oder Verarbeitungs-Frameworks, wie beispielsweise einem Framework für tiefes Lernen, wie beispielsweise Caffe oder Tensorfluss, einem Framework zur Verarbeitung von Big Data, wie beispielsweise Spark bzw. Auslösen oder Hadoop MapReduce, und einem Analyse-Framework, wie beispielsweise R oder Python, oder diese enthalten.
-
Als noch eine weitere Ausführungsform kann die Maschine 32 ausgestattet sein mit einem Leser und einem Schreiber, die verschiedene Datenpfade in demselben System als Datenquellen und Datenzielorte verwenden. Das bedeutet, dass die Maschine einen Leser und einen Schreiber hat, die konfiguriert sind, um als Datenquellen und Datenzielorte Quellen (im selben System) mit verschiedenen Logiktreiberkonzepten, wie beispielsweise einem Puffer innerhalb eines Speichers oder einem Cache, einem Dateiensystem, einem Nachrichtensendesystem, einer Datenbank und einem Netzwerk definieren, um Daten von den Datenquellen zu empfangen und Daten zu den Datenzielorten auszugeben.
-
Als noch eine weitere Ausführungsform kann die oben beschriebene Maschine 32 als eine Maschine konfiguriert sein, die Datenpfade verwendet, die in unterschiedlichen Systemen oder Netzwerke vorhanden sind, als eine Datenquelle und ein Datenzielort. Dafür kann Netzwerkadresseninformation, Host-Information oder Information für entfernte Treiber in den Einstellungen des Lesers und des Schreibers enthalten sein. Durch getrenntes Verwenden unterschiedlicher Datenquellen und Datenzielorte für den Leser und den Schreiber ist es möglich, die Maschine als eine Streaming- bzw. Stromverarbeitungsmaschine zwischen der Zielortquelle und dem Datenzielort oder als ein Filter auf dem Datenpfad zu verwenden.
-
9 zeigt eine Ausführungsform, bei welcher dann, wenn es eine Vielzahl von Arbeitsablaufdurchführungsmaschinen 32a bis 32c gibt, ein Datenübertragungspfad 338 auf eine pipelinemäßige Weise verwendet wird, wobei Daten von einem Datenzielort eines Schreibers von einer Maschine zu einer Datenquelle eines Lesers einer anderen Maschine ausgegeben werden. Hier kann der Datenübertragungspfad 338 beispielsweise Kafka sein. Durch Verwenden der in 9 gezeigten Konfiguration ist es möglich, einen komplizierten Arbeitsablauf durch Kooperation der Maschinen 32a bis 32c zum Verarbeiten unterschiedlicher Verwendungen eines Arbeitsablaufs durchzuführen.
-
In 9 kann oder können eine oder mehrere Maschinen 32a bis 32c auch unter unterschiedlichen physikalischen Umgebungen (z.B. Netzwerken, Clustern, etc.) sein und können unterschiedliche Typen von Läufern haben. Wenn beispielsweise die erste Maschine 32a mit einem Läufer zum Verarbeiten von Daten kooperiert und die zweite Maschine 32b mit einem Framework für tiefes Lernen kooperiert, ist es möglich, durch den Datenübertragungspfad 338 einen Arbeitsablauf zum Lösen eines komplizierten Problems in unterschiedlichen Umgebungen auszuführen. In diesem Fall können die Maschinen gleichzeitig, sequentiell oder individuell zu spezifischen Zeitpunkten ausgeführt werden.
-
10 zeigt ein Beispiel, bei welchem ein Arbeitsablaufdurchführungssystem auf eine pipelinemäßige Weise konfiguriert ist, wobei eine oder mehrere Maschinen 32a bis 32c eine Verarbeitung unter Verwendung unterschiedlicher Typen von Datenübertragungspfaden durchführen (z.B. eines Dateiensystemübertragungspfads 340 und eines Netzwerkstromübertragungspfads 342), und zwar für jeweils eine Datenquelle und einen Datenzielort. In diesem Fall hat jede Maschine eine Vielzahl von Lesern und eine Vielzahl von Schreibern. Hier zeigt der Dateiensystemübertragungspfad 340 einen Stapelverarbeitungsübertragungspfad an und zeigt ein Netzwerkstrom-Übertragungspfad 342 einen Echtzeitübertragungspfad an. Gemäß dem Schema der 10 ist es möglich, ein Arbeitsablaufsystem mit einer Struktur, wie beispielsweise einer Lambda-Architektur, zu konfigurieren, wobei sowohl eine Echtzeitverarbeitung als auch eine Stapelverarbeitung durchgeführt werden kann.
-
Spezifische Arbeitsablaufdienstszenarien werden eingeführt werden, um beim Verstehen der Struktur und der Operation des oben beschriebenen Frameworks der vorliegenden Erfindung zu helfen.
-
11 stellt ein Beleuchtungs-/Temperatur-Steuerungsarbeitsablaufdienstszenario basierend auf IoT und AI (künstlicher Intelligenz) dar. Ein Arbeitsablaufmaschinen-Framework 10 empfängt einen Temperaturerfassungswert von einem Temperatursensor 81 in einem Gebäude und führt einen vordefinierten Arbeitsablauf durch eine Maschine (Maschinen) durch, die im Framework 10 erzeugt ist (sind), um eine smarte Glühbirne 82 zu steuern, um eine optimale Beleuchtungssteuerung durchzuführen, und um einen smarte System-Klimaanlagen-/Heizeinheit 83 zu steuern, um eine optimale Temperatursteuerung durchzuführen.
-
Das Bezugszeichen 80 zeigt eine Beleuchtung mit künstlicher Intelligenz und einen Temperatursteuerungsdienst zum Vorhersagen einer Änderung bezüglich einer Temperatur in der Zukunft, beispielsweise nach einer Stunde, durch ein Vorhersagemodell durch Verwenden von Daten, die vom Temperatursensor 81 eingegeben sind, an; zum Schätzen eines Werts für eine Beleuchtungseinstellung und eine Klimaanlagentemperatureinstellung, die für die vorhergesagte Temperatur geeignet ist; und zum Senden von Beleuchtungseinstellungswerten für die Ssarte Glühbirne und von Temperatureinstellungswerten für die smarte System-Klimaanlagen-/Heizeinheit 83.
-
12 stellt einen Verkehrsgeschwindigkeitsüberwachungsdienst basierend auf tiefem Lernen dar. Ein Arbeitsablaufmaschinen-Framework 10 kann Geschwindigkeitsinformation von Verkehrsgeschwindigkeitssensoren (Simulatoren) 84 empfangen, die an einer Verkehrsstelle in einem spezifischen Gebiet eingebaut sind, einen vordefinierten Arbeitsablauf durch eine Maschine (Maschinen) durchführen, die im Framework 10 erzeugt ist (sind), und Leistungsfähigkeitsdaten zu einem intelligenten Verkehrsgeschwindigkeitsvorhersagedienst 85 liefern, der in dem entsprechenden Gebiet eingebaut ist, so dass die Daten durch ein Auto-Armaturenbrett 87 oder einen Bildschirm eines Smartphones 88 überwacht werden können. Die durch das Auto 87 oder das Smartphone 88 überwachten Inhalte sind beispielsweise Verkehrsgeschwindigkeitsinformation, die auf einer Karte des spezifischen Gebiets angezeigt wird, wie es durch das Bezugszeichen 86 angezeigt ist.
-
13 zeigt eine interne Konfiguration des Arbeitsablaufmaschinen-Frameworks 10 der 11. Die im Arbeitsablaufmaschinen-Framework 10 erzeugten Maschinen enthalten eine Aufnahme/Daten/Vorhersage-Maschine 52 und eine Bedienungsmaschine 53.
-
Elemente der Aufnahme/Daten/Vorhersage-Maschine 52 sind wie folgt:
- 522: Ein Stromleser, der konfiguriert ist, um hereinkommende Daten durch Öffnen eines Web-Serviceports zu lesen;
- 528: Eine Steuerung, die konfiguriert ist, um einen Leser 522, Operatoren 523a bis 523f und einen Schreiber 524 sequentiell zu steuern, wenn die Anzahl von Teilen von Stromdaten, die gelesen sind, größer als eine bestimmte Anzahl ist;
- 523a: Ein Operator, der konfiguriert ist, um eine Spalte zu extrahieren, bei welcher ein Temperaturwert unter den Teilen von Daten angeordnet ist;
- 523b: Ein Operator, der konfiguriert ist, um einen Wert auf innerhalb eines Bereichs eines spezifischen Werts zu normalisieren;
- 523c: Ein Operator, der konfiguriert ist, um eine Spalte in eine Zeile umzuwandeln oder eine Zeile in eine Spalte umzuwandeln;
- 523d: Ein Operator, der konfiguriert ist, um einen transferierten Wert durch Verwenden eines spezifizierten Maschinenlernmodells vorherzusagen/zu bestimmen;
- 523e: Ein Operator, der konfiguriert ist, um einen Wert zu innerhalb eines Bereichs eines spezifischen Werts zur Entnormalisierung zurückzubringen;
- 523f: Ein Operator, der konfiguriert ist, um eine spezifische Spalte, die einen Labelwert unter mehreren Werten enthält, die als ein Ergebnis einer Vorhersage erzeugt sind, zu extrahieren;
- 524: Ein Schreiber, der konfiguriert ist, um einen Endwert in einer Strommaschine (z.B. Kafka) zu schreiben; und
- 526: Ein Läufer, der konfiguriert ist, um eine Umgebung bereitzustellen, in welcher ein Operator ausgeführt werden kann.
-
Elemente der Bedienungsmaschine 53 sind wie folgt:
- 532: Ein Leser, der konfiguriert ist, um Werte aus einer Strommaschine zu lesen, wann immer es nötig ist;
- 536: Ein Web-Server, der konfiguriert ist, um ein spezifisches Web-Port zu öffnen und auf eine Anfrage von einem Endanwender (Rest-Läufer) zu warten; und
- 538: Eine Steuerung, die konfiguriert ist, um eine Reihe von Abläufen zu steuern, um einen Verarbeitungsergebniswert der Aufnahme/Daten/Vorhersage-Maschine 52 durch den Leser 532 zu lesen, eine Datenbank nach einem optimalen Wert zu durchsuchen und eine Antwort zu senden, wenn eine Anfrage empfangen wird, und zwar durch das spezifische Web-Port auf dem Web-Server, der auf dem Rest-Läufer 536 läuft.
-
Ein Temperaturerfassungswert des Temperatursensors 81 wird zur Aufnahme/Daten/Vorhersage-Maschine 52 als ein REST-Signal eingegeben und durch eine Vielzahl von Operatoren verarbeitet, die durch den System-Definierer-Editor 70 entwickelt sind. Ein Vorhersageergebniswert wird aus einem Speicher gelesen und zur Bedienungsmaschine 53 transferiert. Gemäß dem Temperaturerfassungswert des Temperatursensors 81 wird die smarte Glühbirne 82 zur automatischen Beleuchtungssteuerung gesteuert.
-
14 zeigt ein Beispiel einer Konfiguration einer Bedienungsmaschine zum Bereitstellen eines intelligenten Dienstes als eine Maschine zum Bereitstellen eines Dienstes zu einem Client oder einem Anwender. Ein Leser 322, eine Vielzahl von Pipeline-Operatoren 323a bis 323c, ein Schreiber 324, ein Läufer 326 und eine Steuerung 328 sind ähnlich denjenigen, die unter Bezugnahme auf 8 beschrieben sind. Jedoch ist die dienende Maschine bzw. Bedienungsmaschine der 14 konfiguriert, um zur Dienstausführung in den Arbeitsablaufdiensten der 11 und 13 zu dienen. In 14 sind Spark bzw. Auslösen, Tensorfluss, Jena (Zeit), REST-Server, Jena (Raum) und Jena (domänenspezifisch) gezeigt, die externe Systeme sind, die mit jeder der Maschinenkomponenten kooperieren.
-
Eine Steuerung der Bedienungsmaschine kann die Maschine durch Verwenden eines Lesers konfigurieren, der konfiguriert ist, um verarbeitete Daten von einer Maschine zu lesen, die einen Läufer hat, wie beispielsweise Spark, oder verarbeitete Daten von einer Maschine zu lesen, die ein Framework für tiefes Lernen hat, wie beispielsweise Tensorfluss als einen Läufer, einen Operator, der konfiguriert ist, um ontologiebasierte Inferenz unter Verwendung des Werts durchzuführen, und einen Läufer, der konfiguriert ist, um das Ergebnis durch die REST-Schnittstelle zu bedienen, um somit einen intelligenten Dienst bereitzustellen.
-
15 zeigt einen internen Aufbau des Arbeitsablaufmaschinen-Frameworks 10 der 12. Die im Arbeitsablaufmaschinen-Framework 10 erzeugten Maschinen enthalten: eine Datenmaschine 54, die konfiguriert ist, um dann, wenn Zeit/Geschwindigkeit/TRV in Echtzeit alle 5 Minuten von einem Verkehrszentrum 84 mit 1382 Verbindungen übertragen sind, Zeit/Geschwindigkeit/TRV zu lesen, zeitserielle Daten für jede Verbindung zum Zwecke einer Tensorflow-RNN-Operator vorzuverarbeiten 24 und die vorverarbeiteten Daten zu übertragen bzw. zu senden; und eine Vorhersagemaschine 55, die konfiguriert ist, um zeitserielle Daten für jede Verbindung zum Zwecke einer Tensorfluss-RNN-Operation zu empfangen 24 und einen vorhergesagten Wert entsprechend 15 Minuten später auszugeben.
-
Gleich denjenigen, die unter Bezugnahme auf die 5 bis 8 beschrieben sind, enthält die Datenmaschine 54 einen Leser 542, eine Steuerung 548, einen Läufer 546 und Operatoren 543a bis 543f. Die Vorhersagemaschine 55 enthält auch einen Leser 552 und eine Steuerung 558, gleich denjenigen die unter Bezugnahme auf die 5 bis 8 beschrieben sind. Jedoch ist der Tensorflow 555, der konfiguriert ist, um eine auf einem rekurrenten neuronalen Netz (RNN) basierende Vorhersage durchzuführen, enthalten, anstelle eines Läufers.
-
16 zeigt ein Verfahren zum dynamischen Konfigurieren eines domänenübergreifend adaptiven Arbeitsablaufmaschinen-Frameworksystems durch kooperatives Verbinden der oben beschriebenen Vielzahl von einzeldomänenadaptiven Arbeitsablaufmaschinen-Frameworks 10 miteinander über ein Netzwerk. Wenn die Arbeitsablaufkonfiguration der 1 für eine übergreifende Domäne beabsichtigt ist, ist ein domänenübergreifendes Konvergenzsystem 10' zum allgemeinen Managen und Steuern von einem oder mehreren einzeldomänenadaptiven Arbeitsablaufmaschinen-Frameworks 10 zusätzlich enthalten, um ein domänenübergreifend adaptives Arbeitsablaufmaschinen-Framework zu implementieren.
-
Das domänenübergreifende Konvergenzsystem 10' hat grundsätzlich eine Struktur und Funktionen gleich denjenigen des Einzeldomänen-Arbeitsablaufmaschinen-Frameworks 10 der 1 oder der 2 und dient dazu, verschiedenen Domänen zu integrieren und zu schichten. Das domänenübergreifende Konvergenzsystem 10' managt Ressourcen in Bezug auf eine domänenübergreifende Arbeitsablaufdurchführung, teilt einiges von dem domänenübergreifenden Arbeitsablauf zu jeder Domäne als ein Arbeitsablauf zu und führt den Arbeitsablauf auf einem Framework jeder Domäne durch. Demgemäß kann das domänenübergreifende Konvergenzsystem 10' eine domänenübergreifende Ressourcenmanagementeinheit 20', eine domänenübergreifende Systemkonfigurationseinheit 30' und eine domänenübergreifende Systemsteuereinheit 40' enthalten.
-
Wenn ein Anwender den System-Definierer-Editor 70' des oben beschriebenen Konzepts verwendet, um einen domänenübergreifend bezogenen Arbeitsablauf zu definieren und Arbeitsablaufspezifikationen zu erzeugen, die Anfragen dafür enthalten, welche Sensordaten gesammelt sein werden, welches Modell ausgewählt sein wird und wo eine erzeugte Maschine (erzeugte Maschinen) auf geeignete Weise genutzt sein werden, bestimmt das domänenübergreifende Konvergenzsystem 10' eine Domäne, zu welcher eine nötige Maschine (nötige Maschinen) gemäß dem Arbeitsablauf zu nutzen ist/sind, der im System-Definierer-Editor 70' definiert ist. In diesem Fall berücksichtigen Kriterien zum Bestimmen der Maschinennutzung beispielsweise eine Netzwerkbelastung, eine Leistungsfähigkeit, eine Entfernung innerhalb eines Netzwerks, welche Domäne optimal zur Verwendung einer spezifischen Maschine ist, und ob Komponenten zum Ausführen einer Maschine in einer entsprechenden Domäne vorhanden sind.
-
Die domänenübergreifende Ressourcenmanagementeinheit 20' empfängt periodisch einen Bericht für Arbeitsablaufressourcen von der Ressourcenmanagementeinheit 20 der Vielzahl von Einzeldomänen-Arbeitsablaufmaschinen-Frameworks 10 (siehe 1 oder 2) und updatet und managt die Arbeitsablaufressourcen. Beispielsweise können die Arbeitsablaufressourcen eines oder mehreres von Komponentenressourcen zum Durchführen des Arbeitsablaufs, Netzwerkverbindungsinformation, Hardwareressourceninformation, Spezifikationsinformation einer virtuellen Maschine, Konfigurationsinformation eines Systems, Information über eine verfügbare Vorrichtung eines Systems und verfügbare Zustände enthalten. Ebenso updatet die domänenübergreifende Ressourcenmanagementeinheit 20' verfügbare Komponenten, Hardware, Netzwerkinformation und Vorrichtungsinformation für jede Domäne durch Ressourceninformation, die von jeder Domäne empfangen ist, und behält sie bei. Die durch die Ressourcenmanagementeinheit 20' gemanagten Ressourcen können beispielsweise eine Liste von Maschinenkomponente für jede Domäne, Daten zur Kostenschätzung, Zuverlässigkeit zwischen Domänen, etc. enthalten.
-
Um eine vom System-Definierer-Editor 70' empfangene domänenübergreifende Arbeitsablaufinstanzenspezifikation zu handhaben, unterteilt die domänenübergreifende Systemkonfigurationseinheit 30' die einzelne domänenübergreifenden Arbeitsablaufinstanzenspezifikation in eine Vielzahl von Einzeldomänen-Arbeitsablaufspezifikationen unter Bezugnahme auf Lokalisierungen von und ein Verbindungsverfahren für verfügbaren Ressourcen, die von der domänenübergreifenden Ressourcenmanagementeinheit 20' empfangen sind, und nutzt die Einzeldomänen-Arbeitsablaufspezifikationen zu den Einzeldomänen-Arbeitsablaufmaschinen-Frameworks 10. Jedes der Einzeldomänen-Arbeitsablaufmaschinen-Frameworks 10 konfiguriert dynamisch die Maschine(n), die zu jeder Domäne zugeordnet ist (sind).
-
Um ein Starten, ein Beenden oder ähnliches einer Ausführung eines Arbeitsablaufdurchführungssystems zu steuern, das durch jedes der Einzeldomänen-Arbeitsablaufmaschinen-Frameworks 10 erzeugt ist, das heißt eine oder mehrere Maschinen, die zu den Domänen genutzt ist oder sind, fragt die domänenübergreifende Systemsteuereinheit 40' eine Systemsteuereinheit 40 von jedem der Einzeldomänen-Arbeitsablaufmaschinen-Frameworks 10 an, um die Ausführung zu steuern, so dass das Arbeitsablaufdurchführungssystem auf der übergreifenden Domäne betrieben und fertiggestellt werden kann.
-
Das Arbeitsablaufmaschinen-Framework 10 von jeder Domäne konfiguriert dynamisch eine Maschine, die zu jeder Domäne zugeteilt ist, und treibt dann die Maschine gemäß der Ausführungsanfrage von der domänenübergreifenden Systemsteuereinheit 40' an, um eine Ausführung durchzuführen. In diesem Fall kann ein Datentransfer zwischen Maschinen direkt durch einen Netzwerktreiber durchgeführt werden, wie es unter Bezugnahme auf 10 beschrieben ist, und kann durch Verwenden von einem oder mehreren von verschiedenen Datenpfaden durchgeführt werden, wie beispielsweise ein Nachrichtensendesystem, wie beispielsweise eine verteilte Nachrichtensendewarteschlange und andere verteilte Dateiensysteme.
-
Die Systemsteuereinheit 40 von jedem Einzeldomänen-Arbeitsablaufmaschinen-Framework 10 sendet Signale, die beispielsweise den Fortschritt oder die Beendigung der Maschinen zurück zur domänenübergreifenden Systemsteuereinheit 40' des domänenübergreifenden Konvergenzsystems 10' anzeigen.
-
Um die Ressourceninformation upgedatet zu halten, fragt die domänenübergreifende Ressourcenmanagementeinheit 20' jedes Einzeldomänen-Arbeitsablaufmaschinen-Framework 10 nach der Ressourceninformation, die von jeder Domäne empfangen ist, das heißt nach verfügbaren Komponenten und Hardware, Netzwerkinformation, Vorrichtungsinformation für jede Domäne, etc. Zusätzlich unterteilt die domänenübergreifende Systemkonfigurationseinheit 30', während sie beim Durchführen eines domänenübergreifenden Arbeitsablaufs ist, den domänenübergreifenden Arbeitsablauf in einen oder mehrere Domänenarbeitsabläufe, um einen optimalen Maschinenarbeitsablauf auf den Arbeitsablaufmaschinen-Frameworks 10 von einer oder mehreren Domänen zu platzieren. Dafür fragt die domänenübergreifende Systemkonfigurationseinheit 30' die domänenübergreifende Ressourcenmanagementeinheit 20' nach der letzten Ressourceninformation auf jedem Einzeldomänen-Arbeitsablaufmaschinen-Framework 10 und beendet die Aufgabe einer Aufteilung in einen oder mehrere Domänenarbeitsabläufe durch Verwenden eines Prozesses zur Bestimmung von Maschinen, um auf jedem Einzeldomänen-Arbeitsablaufmaschinen-Framework 10 gemäß der optimalen Maschinennutzungspolitik konfiguriert zu sein (siehe Schritt 260 in 17). Als nächstes sendet die domänenübergreifende Systemkonfigurationseinheit 30' jeden aufgeteilten Domänenarbeitsablauf zu jedem der Einzeldomänen-Arbeitsablaufmaschinen-Frameworks 10, um ein System dynamisch zu konfigurieren, das die Maschine(n) zum Durchführen des domänenübergreifenden Arbeitsablaufs auf einer oder mehreren Domänen ausführen kann.
-
Jedes Einzeldomänen-Arbeitsablaufmaschinen-Framework 10 registriert eine Liste von seinen eigenen Ressourcen im domänenübergreifenden Konvergenzsystem 10' und fragt periodisch nach einem Updaten der Liste. Hier kann die Ressourcenliste eine Liste von Komponentenressourcen zur Arbeitsablaufdurchführung sein und kann auch Netzwerkverbindungsinformation, Hardwareressourceninformation, Spezifikationsinformation einer virtuellen Maschine, Konfigurationsinformation eines Systems, verfügbarer Vorrichtungsinformation eines Systems, verfügbaren Zuständen und ähnlichem entsprechen.
-
17 zeigt eine Prozedur, bei welcher das domänenübergreifende Konvergenzsystem 10' der 16 eine Arbeitsablaufspezifikation empfängt, effektiv nutzt und durchführt. In diesem Fall kann der Arbeitsablauf ein einzeldomänenadaptiver Arbeitsablauf oder ein domänenübergreifend adaptiver Arbeitsablauf in Abhängigkeit von Aufgaben, die anzusprechen sind, oder Anwendungen sein.
-
Zuerst bestimmt der System-Definierer-Editor 70' einen Arbeitsablauf durch eine Arbeitsablauferzeugungsprozedur und definiert Arbeitsablaufspezifikationen einschließlich einer Gruppe von Maschinenkomponentenbehältern zum Erzeugen von Maschinen, die den Arbeitsablauf bilden (100). Wenn die Arbeitsablaufspezifikationen vom System-Definierer-Editor 70' empfangen werden, bestimmt das domänenübergreifende Konvergenzsystem 10', zu welcher Domäne ein Maschinenkomponentenbehälter (Maschinenkomponentenbehälter), der (die) in den Arbeitsablaufspezifikationen eingestellt ist (sind) genutzt werden wird (werden), und geht weiter zu einem Nutzungsprozess (200). Wenn die Spezifikationen für eine Maschine(n), die für den Arbeitsablauf nötig ist (sind) zu einer Domäne (Domänen) genutzt wird, sind alle Vorbereitungen zum Durchführen des Arbeitsablaufs für eine einzelne Domäne oder eine übergreifende Domäne beendet und wird der Arbeitsablauf schließlich ausgeführt (300).
-
Der Prozess 200, bei welchem die domänenübergreifende Systemkonfigurationseinheit 30' des domänenübergreifenden Konvergenzsystems 10' eine Nutzungsstelle von jedem Maschinenkomponentenbehälter und eine Nutzung der Maschinenkomponentenbehälter bestimmt, wird detailliert beschrieben werden, wie es folgt.
-
Zuerst prüft das domänenübergreifende Konvergenzsystem 10', ob eine anfängliche Quelle (d.h. die Stelle von durch eine Maschine zu sammelnden Daten, beispielsweise eine spezifische DB, eine Sensorstelle, etc.) und ein Endzielort (z.B. eine Datenquelle für eine andere Maschine oder eine Speicherstelle) von Daten, die für jede Maschine nötig sind, in derselben Domäne vorhanden sind (210). In diesem Fall können die Datenquelle und der Datenzielort eine loT-Vorrichtung sein, ein strukturierter Datenspeicher, wie beispielsweise eine Datenbank, ein Dateiensystem, oder ähnliches, und können auch ein Web-Serviceterminal sein.
-
Wenn die Datenquelle und der Zielort in derselben Domäne vorhanden sind, erkundigt sich das domänenübergreifende Konvergenzsystem 10' bei der Ressourcenmanagementeinheit darüber und führt eine Bestimmung darüber durch, ob eine Reihe von Maschinen beginnend von einer anfänglichen Datenquelle bis zu einem Endzielort konfiguriert sein kann, durch Verwenden von Ressourcen in der entsprechenden Domäne (220). Wenn die Maschinenkonfiguration möglich ist (z.B. alle Maschinenkomponenten, die zu der Maschinenkonfiguration fähig sind, in einer Ressourcenregistratur der entsprechenden Domäne vorhanden sind), nutzt das domänenübergreifende Konvergenzsystem 10' eine Maschinenspezifikation so, dass die Maschine in der entsprechenden Domäne dynamisch konfiguriert wird (230), und lässt somit zu, dass der Arbeitsablauf durchgeführt wird.
-
Wenn die Datenquelle und der Datenzielort der Maschine nicht zur selben Domäne im Schritt 210 gehören oder wenn im Schritt 220 bestimmt wird, dass die Konfiguration des Maschinenkomponentenbehälters durch verwenden der Ressourcen in der entsprechenden Domäne möglich ist, geht der Prozess weiter zu einem Schritt 240 zum Suchen nach einer anderen Domäne, die zu derselben Komponentenkonfiguration fähig ist (d.h. Suchen der Ressourcenmanagementeinheit) und zum Bestimmen einer Gruppe von alternativen Kandidatendomänen.
-
Wenn die alternative Kandidatendomänengruppe bestimmt ist, führt das domänenübergreifende Konvergenzsystem 10' eine Kostenschätzung durch, um eine alternative Domäne aus der Kandidatendomänengruppe zu bestimmen (250). In diesem Fall können die Kosten durch Kombinieren von einem oder mehreren des Folgenden berechnet werden: Zuverlässigkeit zwischen Domänen, die Menge an verfügbaren Computerressourcen und Netzwerktransferkosten, wie beispielsweise eine Entfernung über eine Netzwerktopologie, einen Netzwerkdurchsatz, eine erwartete Latenz oder ähnliches.
-
Als nächstes wendet das domänenübergreifende Konvergenzsystem 10' eine Nutzungsdomänenauswahlpolitik (Nutzungsdomänenauswahlpolitiken) an, um eine optimale nutzbare Domäne auszuwählen (260). In diesem Fall kann die Domänenauswahlpolitik eine Prozesszuteilungspolitik sein, die dasselbe Ausmaß oder Verhältnis von Ressourcen zu jeder Domäne zuteilt, eine optimale Energiepolitik, die eine Energieeffizienz berücksichtigt, eine Prioritätenpolitik, die Domänen zur Zuteilung priorisiert, oder ähnliches. Der Schritt für die Kostenberechnung und der Schritt für eine Politikauswahl sind nicht sequentiell.
-
Wenn Spezifikationen für alle Maschinen, die für den Arbeitsablauf nötig sind, zu einer entsprechenden Domäne (zu entsprechenden Domänen) genutzt wird (230), sind alle Vorbereitungen zum Durchführen des Arbeitsablaufs für die entsprechende Domäne oder eine übergreifende Domäne beendet und der Arbeitsablauf wird schließlich durchgeführt (300). Ausführungsanweisungen der Systemsteuereinheit 40' im domänenübergreifenden Konvergenzsystem 10' werden zur Systemsteuereinheit 40 von jedem Einzeldomänen-Framework 10 über einen Steuerkanal gesendet, um den Arbeitsablauf auszuführen.
-
Um das domänenübergreifend adaptive Arbeitsablaufmaschinen-Framework der 16 und 17 weiter zu verstehen, wird ein spezifisches zugehöriges Szenario und eine Systemkonfiguration zusätzlich unter Bezugnahme auf die 18 bis 20 beschrieben werden.
-
18 stellt ein Szenario zum Erreichen einer smarten Stadt. Zuerst kann eine smarte Stadt durch eine optimale (smarte) öffentliche Energieversorgung und eine Steuerung auf eine Anforderung hin, eine öffentliche Verkehrssteuerung und eine optimale Steuerung bezüglich anderer Anwendungen erreicht werden. Die optimale öffentliche Energieversorgung und eine Steuerung auf eine Anforderung hin können erreicht werden durch eine optimale öffentliche Energieanforderungssteuerung und eine Versorgungssteuerung gemäß einer öffentlichen Energieversorgung und eine Bedarfspolitik. Hier kann die smarte öffentliche Energiebedarfssteuerung erreicht werden durch eine optimale Straßenlichtsteuerung, eine optimale Nebelsteuerung (z.B. Steuerung einer Nebelentfernungsvorrichtung) und andere optimale öffentliche Vorrichtungssteuerung). Die optimale Straßenlichtsteuerung kann erreicht werden durch Bezugnehmen auf eine optimale Straßenverkehrssteuerungspolitik gemäß einem vorhergesagten Straßenverkehrsausmaß und vorhergesagten Wetterbedingungen. Die Straßenverkehrsausmaßvorhersage kann erreicht werden durch Bezugnehmen auf ein Ergebnis, das durch Überwachen eines Verkehrsausmaßes für jede Straße erhalten ist.
-
19 zeigt eine Ausführungsform eines domänenübergreifenden Arbeitsablaufmaschinen-Frameworks, das konfiguriert ist, um die smarte Stadt der 18 zu erreichen.
-
Zuerst kann das Überwachen des Verkehrsausmaßes durchgeführt werden durch ein Maschinen-Framework durch einen Straßenverkehrsausmaßüberwachungsarbeitsablauf 91 einschließlich einer Maschine zum Sammeln erfasster Daten von verschiedenen Verkehrssensoren, eine Verkehrsausmaßstatistikverarbeitungsmaschine zum Lesen der erfassten Daten, die durch die Sammelmaschine gesammelt sind, und Durchführen einer Operation für Verkehrsausmaßstatistiken, wie beispielsweise ein Gesamtausmaß oder ein durchschnittliches Ausmaß, und eine Verkehrsausmaßstatistikbedienungsmaschine zum Ausgeben eines Verkehrsausmaßstatistikverarbeitungsergebnisses in Antwort auf eine externe Anfrage. Dies macht es somit möglich, ein erwünschtes Verkehrsausmaßüberwachungssystem zu konfigurieren.
-
Als nächstes kann die Straßenverkehrsausmaßvorhersage einen Straßenverkehrsausmaßvorhersagearbeitsablauf 92 definieren und durchführen, der eine Verkehrssensorinformationssammelmaschine des Straßenverkehrsausmaßüberwachungsarbeitsablaufs 91, eine Verkehrsausmaßvorhersagemaschine zum Verarbeiten der gesammelten erfassten Information in Eingangsdaten, die für die Vorhersage nötig sind, Leser der verarbeiteten Daten und Durchführen einer auf Maschinenlernen basierten Vorhersage, und eine Verkehrsausmaßvorhersagebedienungsmaschine zum Ausgeben des vorhergesagten Ergebnisses in Antwort auf eine externe Anfrage enthält. Dies macht es somit möglich, ein erwünschtes Straßenverkehrsausmaßvorhersagesystem dynamisch zu konfigurieren.
-
Die Wettervorhersage kann einen Wettervorhersagearbeitsablauf 93 definieren und durchführen, der eine Wetterinformationssammelmaschine enthält, die konfiguriert ist, um Wetterinformation zu sammeln und geeignet zu verarbeiten, eine Wettervorhersagemaschine, die konfiguriert ist, um Wetter auf der Basis eines Maschinenlernmodells vorherzusagen, und eine Wettervorhersagebedienungsmaschine, die konfiguriert ist, um ein Wettervorhersageergebnis zu bedienen. Dies macht es somit möglich, ein erwünschtes Wettervorhersagesystem zu konfigurieren.
-
Die Straßenverkehrssteuerpolitik kann einen Straßenverkehrssteuerarbeitsablauf 90 definieren und durchführen, der eine situationsbasierte Straßenverkehrssteuerungsempfehlungsmaschine enthält, die konfiguriert ist, um eine optimale Straßenverkehrssteuerungspolitik durch Verwenden einer Wissensbasis oder eines Maschinenlernens durch eine regelbasierte Inferenz oder eine Empfehlungsoperation unter Verwendung eines Kontextes entsprechend einer spezifischen Situation als eine Eingabe zu extrahieren. Dies macht es somit möglich, ein System zum Erreichen der Aufgabe bzw. des Ziels zu konfigurieren.
-
Die smarte Straßenlichtsteuerung kann einen smarten Straßenlichtsteuerungsarbeitsablauf 94 definieren und durchführen, der konfiguriert ist, um eine smarte Straßenlichtsteuerungsempfehlungsmaschine zu erzeugen, die auf eine externe Anfrage dadurch reagiert, dass sie eine Operation zum Erkundigen bei der oben beschriebenen Verkehrsausmaßvorhersagebedienungsmaschine und der Wettervorhersagebedienungsmaschine nach einem Straßenverkehrsausmaßvorhersageergebnis und nach einem Wettervorhersageergebnis enthält und dass sie eine Operation zum Bereitstellen der Ergebnisse zu der situationsbasierten Straßenverkehrssteuerungsempfehlungsmaschine enthält, um eine nötige Straßenverkehrssteuerung abzuleiten. Dies macht es somit möglich, ein System zum Erreichen der Aufgabe zu konfigurieren.
-
Andere Szenarien, die in 18 gezeigt sind, aber nicht beschrieben sind, können jeweilige Arbeitsabläufe auf eine ähnliche Weise konfigurieren, um dadurch ein System zum Erreichen ihrer eigenen Aufgaben dynamisch zu konfigurieren.
-
20 stellt eine Ausführungsform einer Konfiguration der Maschine zur Empfehlung einer smarten Straßenlichtsteuerung des Arbeitsablaufs zur Steuerung von smartem Straßenlicht 94 unter den in 19 gezeigten Szenarien dar. Die Maschine zur Empfehlung einer smarten Straßenlichtsteuerung enthält eine Läuferkomponente 326, die konfiguriert ist, um einen REST-Server 325 zum Reagieren auf eine externe Anfrage anzutreiben; einen Operator 323a, der konfiguriert ist, um dann, wenn eine Anfrage durch den REST-Server 325 empfangen wird, sich bei einer Wettervorhersagemaschine 93' durch einen Operator zum Erkundigen über ein Wettervorhersageergebnis zu erkundigen und um das Vorhersageergebnis zu bringen; einen Operator 323c, der konfiguriert ist, um eine Verkehrsausmaßvorhersagemaschine 92' über ein zukünftiges Straßenverkehrsausmaßvorhersageergebnis zu fragen und es zu bringen; einen Operator 323b, der konfiguriert ist, um ein durch einen jeweiligen Operator erlangtes Ergebnis zu empfangen, Situationsinformation zu erzeugen, sich bei einer situationsbasierten Straßenverkehrssteuerungsempfehlungsmaschine 90' durch Verwenden der erzeugten Situationsinformation zu erkundigen, um Straßenverkehrssteuerung zu erhalten, die für die Situation geeignet ist, eine Straßenlichtsteuerungspolitik von der Straßenverkehrssteuerung zu extrahieren und die extrahierte Straßenlichtsteuerungspolitik zum REST-Server 325 zu transferieren; und eine Steuerung 328, die konfiguriert ist, um eine Logikablaufbeziehung zwischen dem Läufer 326 und jedem ihrer Operatoren zu steuern.
-
Kehrt man zurück zu der Durchführungsprozedur des domänenübergreifenden Arbeitsablaufs der 17, wird eine ergänzende Beschreibung für jedes der Szenarien in Bezug auf eine Kostenschätzung durchgeführt werden (250), welche eine Basis zur Bestimmung einer alternativen Kandidatendomäne ist, und eine optimale Kandidatendomänenbestimmung (260) in der Prozedur zum Bestimmen einer Gruppe von Komponentenbehältern, die nötig sind, um einen Arbeitsablauf durchzuführen (100) und zum Bestimmen von Nutzungsstellen von den Maschinenkomponentenbehältern und zum Nutzen von ihnen (200).
-
Für die situationsbasierte Straßenverkehrssteuerungsempfehlungsmaschine im Straßenverkehrssteuerungsarbeitsablauf 90 ist das Empfehlungsergebnis direkt bezogen auf die Straßenlichtsteuerungsempfehlung, so dass die Maschine gemäß einer Gewichtungspolitik genutzt wird, die bevorzugt eine Zuverlässigkeit zwischen Domänen berücksichtigt.
-
Für die Erfassungsdatensammelmaschine, die Verkehrsausmaßstatistikverarbeitungsmaschine und die Verkehrsausmaßstatistikbedienungsmaschine in dem Straßenverkehrsausmaßüberwachungsarbeitsablauf 91 werden die Maschinen gemäß einer Gewichtungspolitik genutzt, die bevorzugt verfügbare Computerressourcen und Netzwerktransferkosten auf eine Maschinennutzung zum Zwecke einer Echtzeitüberwachung berücksichtigt.
-
Für die Verkehrsausmaßvorhersagemaschine und die Verkehrsausmaßvorhersagebedienungsmaschine des Straßenverkehrsausmaßüberwachungsarbeitsablaufs des Straßenverkehrsausmaßvorhersagearbeitsablaufs 92 sollte eine Vorhersage unter Verwendung eines Sammelergebnisses der Sammelmaschine durchgeführt werden, und somit werden die Maschinen bevorzugt unter Berücksichtigung von Kosten für eine Vernetzung mit einer Domäne genutzt, zu welcher die Sammelmaschine genutzt wird.
-
Im Wettervorhersagearbeitsablauf 93 werden deshalb, weil die Wetterinformation zur Sicherheit nicht sehr wichtig ist, die Maschinen bevorzugt unter Berücksichtigung von verfügbaren Computerressourcen genutzt.
-
Im smarten Straßenlichtsteuerungsarbeitsablauf 94 einschließlich der smarten Straßenlichtsteuerungsempfehlungsmaschine werden deshalb, weil Maschinen dafür, um sich bei ihnen zu erkundigen, auf unterschiedliche Domänen verteilt sind und wichtige Information enthalten, die Maschinen gemäß einer Gewichtungspolitik genutzt, die bevorzugt eine Zuverlässigkeit zwischen Domänen berücksichtigt.
-
Durch die obigen Konfigurationen und Prozesse ist es möglich, Komponenten durch Verwenden eines Maschinenlernmodells und eines Analysemodells für Big Data zu implementieren und zu managen, die entwickelt worden sind, um ein spezifisches Problem in einem Analysedienst für große Daten in Echtzeit oder ähnlichem zu lösen, der eine Analyse durchführt, die loT, Big Data und Maschinenlernen kombiniert. Zusätzlich ist es möglich, ein einzeldomänenadaptives oder ein domänenübergreifend adaptives Arbeitsablaufmaschinen-Framework zu implementieren, das die Komponenten dynamisch wiederverwenden kann, so dass eine Leistungsfähigkeits- bzw. Durchführungsplattform zum Lösen ähnlicher Probleme in verschiedenen Arbeitsdomänen oder Zieldomänen auf einfache Weise konfiguriert werden kann.
-
Durch die systematische Konfiguration der Maschinenkomponenten ist es möglich, einen Arbeitsablauf zu erzeugen und durchzuführen, der für eine Anwendung und für eine Aufgabe geeignet ist, entsprechend jeder Domäne, und ist es auch möglich, eine andere Domäne auf einfache Weise anzuwenden, um einen Arbeitsablauf zu erzeugen und durchzuführen, der für die andere Domäne geeignet ist. Das bedeutet, dass es möglich ist, ein domänenadaptives Arbeitsablaufmaschinen-Framework auf einfache Weise zu konfigurieren, das Maschinenkomponenten dynamisch wiederverwenden kann, so dass eine Durchführungsplattform zum Lösen ähnlicher Probleme in verschiedenen Arbeitsdomänen oder Zieldomänen auf einfache Weise konfiguriert werden kann. Ebenso ist es durch zusätzliches Enthaltensein eines domänenübergreifenden Wissenskonvergenzgehirnsystems möglich, ein domänenübergreifend adaptives Arbeitsablaufmaschinen-Framework zu konfigurieren. Weiterhin ist es möglich, Komponenten durch Verwenden eines Maschinenlernmodells und eines Analysemodells für Big Data zu implementieren und zu managen, die entwickelt worden sind, um ein spezifisches Problem in einem Analysedienst für große Daten in Echtzeit zu lösen, der eine Analyse durchführt, die IoT, Big Data und Maschinenlernen kombiniert.
-
In einer Umgebung, in welcher verschiedene Dienste für künstliche Intelligenz oder Anwendungen erforderlich sind, ist es durch Entwickeln und Ausstatten von zusätzlichen nötigen Komponenten oder Wiederverwenden von zuvor entwickelten und ausgestatteten Komponenten ohne Entwickeln einer individuellen Lösung für jede Anwendung möglich, ein Framework zum Konfigurieren/Ausführen einer Gruppe von Arbeitsablaufdurchführungsmaschinen zu implementieren, die einen neuen Arbeitsablauf erfüllen.
-
Der oben beschriebene Gegenstand der vorliegenden Erfindung ist als illustrativ und nicht als beschränkend anzusehen, und es sollte verstanden werden, dass zahlreiche andere Modifikationen und Ausführungsformen durch Fachleute auf dem Gebiet erdacht werden können, ohne vom Sinngehalt und Schutzumfang der vorliegenden Erfindung abzuweichen. Demgemäß sind die Ausführungsformen der vorliegenden Erfindung als beschreibend und nicht als beschränkend für die vorliegende Erfindung anzusehen und beschränken den Schutzumfang der vorliegenden Erfindung nicht. Der Schutzumfang der Erfindung sollte durch die beigefügten Ansprüche ausgelegt werden, und alle technischen Ideen innerhalb des Schutzumfangs ihrer Äquivalente sollten derart ausgelegt werden, dass sie im Schutzumfang der Erfindung enthalten sind.
-
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 Patentliteratur
-
- KR 20170135066 [0001]
- KR 20180047370 [0001]