[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

DE3789175T2 - Programmverwaltung für mehrere zentrale Verarbeitungseinheiten. - Google Patents

Programmverwaltung für mehrere zentrale Verarbeitungseinheiten.

Info

Publication number
DE3789175T2
DE3789175T2 DE3789175T DE3789175T DE3789175T2 DE 3789175 T2 DE3789175 T2 DE 3789175T2 DE 3789175 T DE3789175 T DE 3789175T DE 3789175 T DE3789175 T DE 3789175T DE 3789175 T2 DE3789175 T2 DE 3789175T2
Authority
DE
Germany
Prior art keywords
program
file
request message
network
remote
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE3789175T
Other languages
English (en)
Other versions
DE3789175D1 (de
Inventor
James Forrest Crossley
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE3789175D1 publication Critical patent/DE3789175D1/de
Application granted granted Critical
Publication of DE3789175T2 publication Critical patent/DE3789175T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multi Processors (AREA)
  • Information Transfer Between Computers (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

    HINTERGRUND DER ERFINDUNG Gebiet der Erfindung
  • Die vorliegende Erfindung bezieht sich im allgemeinen auf die Verwaltung einer Mehrplatz/Multitasking-Computerumgebung und noch spezieller auf eine Prozedur, die den Benutzern eines Computersystems, das eine Vielzahl von in einem lokalen Netzwerk verbundenen Computern umfaßt, gestattet, sowohl Dateiressourcen als auch Anwendungsprogramme im lokalen Netzwerk ohne Änderung der bestehenden, für den Betrieb in einer Nicht-Netzwerk-Umgebung entworfenen, Anwendungsprogramme gemeinsam zu benutzen.
  • Beschreibung des Standes der Technik
  • Um zu gestatten, daß durch die Benutzer der Computer auf ein Anwendungsprogramm und Dateiressourcen zugegriffen werden kann, wurde der Netzwerkbetrieb einzelner Computer von größter Wichtigkeit für die Datenverarbeitungsindustrie. Insbesondere Wirtschaftseinheiten, von großen Firmen bis zu relativ kleinen Unternehmen, forderten einen Weg, der den Benutzern von Personalcomputern, die in ihren Büroräumen installiert sind, gestattet, sowohl Anwendungsprogramme als auch Dateiressourcen in einem Netzwerk gemeinsam zu benutzen. Die Fähigkeit der Hardware, dies auszuführen, wurde in einer Form bereitgestellt, die als lokales Netzwerk (LAN) bekannt ist, wovon es verschiedene Architekturen gibt. Als nur ein Beispiel hat die IBM Corporation das PC-Netzwerk kommerziell verfügbar gemacht, das eine Adapterkarte zum Einfügen in jeden Personalcomputer enthält, der sowohl in einem Netzwerk als auch mit anderen peripheren Verbindungsapparaten verbunden ist.
  • Der Bedarf der Kunden der Anwendungsprogramme erfordert die Installation mehrerer identischer Software-Anordnungen in einer durch den Kunden verwalteten Umgebung; z. B. in Schreib-, Geschäfts-, Berufs- und Konstruktions- oder Wissenschafts-Systemen. In vielen Fällen führte dies zu einer vollständigen Wende bei den Verfahren, welche die Personalcomputer-Software-Industrie mehrere Jahre verwendete; das heißt, Anwendungsprogramme, die in einzelne Pakete gepackt wurden und eine Lizenz, dieses Programm an einem einzelnen Computer oder an nur einem Computer zu einer Zeit zu verwenden. Die große Mehrheit kommerziell verfügbarer Anwendungsprogramme (ebenso die Betriebssysteme) wird heute auf diese Art vertrieben. Mit dem Aufkommen der Forderung nach Netzwerkbetrieb entstand eine Notwendigkeit, derartig bestehenden, kommerziell verfügbaren Programmen zu gestatten, in einem lokalen Netzwerk zu arbeiten. Diese Zwangslage hatte früher nur eine Lösung, und dies war der Neuentwurf der Anwendungsprogramme, um in einem Netzwerk zu arbeiten. Diese Lösung ist nicht nur teuer, sie hat auch eine wellenartige Wirkung. Wenn die Anwendungsprogramme einmal für den Betrieb in einem Netzwerk neu entworfen wurden, müssen sie neu verteilt und auf den Geräten des Endbenutzers neu installiert werden. Diese Prozedur erfordert im allgemeinen die Lizenzen der Besitzer der Kopien von Anwendungsprogrammen, um über die Nicht-Netzwerk-Originalversionen entweder durch Zerstörung der Kopien oder Rückgabe der Kopien an den Verleger zu verfügen.
  • Die Industrie begegnet auch dem Problem der Sicherung der Kostenrückgewinnung zuzüglich eines Gewinns von den Anwendungsprogrammen, die sie entwickelt. Die einzelne Kopierlizenz oder der Preis eines Anwendungsprogramms war relativ effektiv gedacht, so daß der Preis eines Programms eine direkte Funktion einer vernünftigen Schätzung der Benutzeranzahl sein kann. Jedoch erzeugt die Einführung eines lokalen Netzwerkes, die mehreren Benutzern die Verwendung des gleichen Anwendungsprogramms gestattet, ein besonderes Problem hinsichtlich der Preisbildung. Die Anzahl derartiger Benutzer kann relativ unbegrenzt sein. Tatsächlich ermöglicht die neue Technologie der Mikroprozessoren und Speicher mit höherer Geschwindigkeit, welche die Entwicklung der Programmierfunktion angetrieben hat, die in Mehrfachprozessoren voneinander abhängig abläuft, immer mehr Benutzern, das gleiche Programm und die Datendateien gemeinsam zu benutzen. Die praktische Grenze der Anzahl der Benutzer, die auf ein einzelnes Programm und die zugeordneten Datendateien zugreifen können, ist im allgemeinen von der Zugriffsgeschwindigkeit abhängig. Es kommt ein Punkt, an dem die Anzahl der parallelen Benutzer so groß wird, daß der einzelne nicht innerhalb eines angemessenen Zeitraums auf das Programm oder die Datendateien zugreifen kann. Wenn jedoch die Technologie die Prozessoren und Speichereinheiten verbessert, wird die Zugriffsgeschwindigkeit und die Rechenzeit verbessert, und die Zahl der parallelen Benutzer kann sich erhöhen.
  • Die Europäische Patentanmeldung 0 136 666, übertragen an die IBM Corporation, offenbart ein eindeutiges Multiprozessor-Verfahren (MP-Verfahren), um ein Programm für ein Einzelprozessorsystem (UPS), das nicht für den Betrieb auf einem MP-System geschrieben wurde, auf mehreren CPUs des MPs auszuführen. Getrennte Kopien des UPS werden im gemeinsam benutzten Hauptspeicher (MS) des MP zur Verfügung gestellt. Ein Steuerprogramm vom Hypervisor-Typ (genannt partitioniertes Mehrprozessor-System, PMP) verwendet das MP-Verfahren, um eine gleichzeitige Ausführung der mehrfachen Kopien eines UPS auf verschiedenen CPUs des MP als virtuelle UPS-Gast-Maschinen zu aktivieren. PMP kann irgendeine CPU zur alleinigen Ausführung einer speziellen Kopie des UPS bestimmen. Die Kopien des UPS laufen auf verschiedenen CPUs unabhängig voneinander, aber sie können E/A-Einrichtungen gemeinsam benutzen.
  • Der Gegenstand der Erfindung wurde als ein Ergebnis des Vorhandenseins einer großen Anzahl von Computer-Software-Anwendungsprogrammen entwickelt, die dazu entworfen wurden, in einer Einzelbenutzer-Umgebung ausgeführt zu werden und auf eine Mehrbenutzer/Multitasking-Betriebssystem-Umgebung umgestellt werden mußten. Die ursprünglichen Anwendungsprogramme hatten keine Voraussetzungen für die gemeinsame Benutzung von Dateien oder Eintragssperrung, wie es später durch Änderung der Zeiten und der mit dem Computer verbundenen Umgebung erforderlich war. In der Vergangenheit wurde die Umstellung derartiger Anwendungsprogramme für Einzelbenutzer-Umgebungen nur durch die Investition von viel Zeit und Geld für das Umschreiben der Anwendungsprogramme für die Mehrbenutzer/Multitasking-Umgebung erreicht. Überdies war diese Einführung in diesem Fall nicht durchführbar, weil bestehende Anwendungsprogramme nicht geändert werden konnten, da das Basisprogramm schon an bestehende Endbenutzer verkauft und durch sie installiert war, die eine Netzwerkumgebung mit minimalen Kosten entwickeln wollten. Wenn die traditionelle Einführung erfolgt wäre, hätten über 400 Programme Quellprogrammänderungen zur Anpassung an die neue Umgebung erfordert. Der Sprachcompiler, für den die ursprünglichen Programme geschrieben waren, unterstützte die gemeinsame Benutzung von Dateien oder Eintragssperrung nicht und so würde jeder Versuch zur Modifizierung der Anwendungsprogramme, um diese Merkmale zu unterstützen, Compileränderungen oder Ad-hoc-Assembleraufrufe erfordern, um die erforderliche Dateiunterstützung auszuführen. Eine weitere Komplikation für die Aufgabe war die Tatsache, daß aufgrund der großen Zahl von Anwendungsprogrammen weder eine Person noch ein Computersystem verstand, wie jedes Programm die Datendateien benutzte, auf welche die Programme zugriffen. Einige der Anwendungsprogramme erforderten temporäre Arbeitsdateien. Wenn dasselbe Programm auf zwei verschiedenen Systemen lief, die eine temporäre Datei mit einem speziellen Namen verwendeten, war das Ergebnis keineswegs akzeptabel. Außerdem waren die Anwendungsprogramme in Programme und Programmgruppen gegliedert, deren Prozeßsperrung gesteuert werden mußte.
  • Das für die Implementierung verwendete Netzwerk war das Lokale Netzwerk (LAN) von IBM für den IBM Personalcomputer. Es unterstützt zwei Basistypen logischer Systeme: Serversysteme, die ihre Einrichtungen mit anderen Computern im Netzwerk gemeinsam benutzen, und ferne Systeme, die Einrichtungen verwenden, die an die Serversysteme angeschlossen sind. Die Serversysteme boten im allgemeinen Zugriff auf ihre Plattendateien und Drucker für ferne Systemen. Die Warnung für dieses Protokoll erfolgte, wenn Dateien parallel von anderen Systemen gefordert wurden, der Standardwert war "nicht gemeinsam benutzen"; d. h. es konnte zu einer Zeit nur ein Computersystem und sein Anwendungsprogramm eine nicht gemeinsam zu benutzende Datei öffnen. Wenn mehrere Anwendungsprogramme durch mehrere Systeme Dateizugriff erforderten, wurde von dem anfordernden Programm ein spezieller Parameter gefordert, der die gemeinsame Dateinutzung anzeigte.
  • Zu den durch die Umstellung von einer Einzelnutzerumgebung auf eine Netzwerkumgebung auftretenden Problemen gehörte, daß das Netzwerk den Benutzern die Möglichkeit bietet, illegal Anwendungsprogramme und ihre zugehörigen Steuerdateien auf ferne Systeme zu kopieren. Da es gewöhnlich zu lange dauerte, Programme durch das Netzwerk zu laden, würden die Benutzer Kopien anfertigen und versuchen, die Gesamtleistung ihres Netzwerks zu erhöhen. Während die Anwendungsprogramme schneller laufen wurden, gerieten die Programme außer Kontrolle, weil ihre Steuerdateien durch das Netzwerk vervielfältigt würden.
  • Weiterhin ist es wünschenswert, daß der Übergang von einer Nicht-Netzwerk-Umgebung auf eine Netzwerk-Umgebung für bestehende Benutzer fließend und durchschaubar ist; d. h. minimale Umschulung und Anpassung an die neue Umgebung erfordert. Es ist ebenfalls wünschenswert, daß ein Benutzer, wenn er einmal die Brücke zu einer Netzwerkumgebung überschritten hat, noch in der Lage sein sollte, Einzel-Anwendungsprogramme in Nicht-Netzwerk- Umgebung oder -Modus laufen zu lassen.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Es ist daher eine allgemeine Aufgabe meiner Erfindung, die gemeinsame Benutzung von Programmen und zugeordneter Datendateien durch mehrere Benutzer in einem Netzwerk zu gestatten.
  • Es ist eine andere und noch speziellere Aufgabe der Erfindung, eine Prozedur bereitzustellen, die es gestattet, eine breite Basis bestehender Anwendungsprogramme, die für eine Nicht-Netzwerk-Umgebung geschrieben wurden, in einer Mehrbenutzer/Multitasking-Umgebung zu verwenden, ohne den Quellencode der Anwendungsprogramme umschreiben zu müssen.
  • Es ist eine andere Aufgabe der vorliegenden Erfindung, eine Prozedur bereitzustellen, die an ein bestehendes lokales Netzwerk angepaßt wird, das den Benutzern der Anwendungsprogramme, die für den Betrieb in Nicht-Netzwerk-Umgebung erstellt wurden, gestattet, dieselben Programme mit minimaler Umschulung in der Netzwerk-Umgebung zu verwenden.
  • Es ist eine weitere Aufgabe meiner Erfindung, die vorgehenden Aufgaben zu einem angemessenen Preis sowohl für den Programmentwickler als auch für die Programmendbenutzer zu erreichen.
  • Es wurde ein als "Knotenaktivierer" bezeichnetes Programm entwickelt, das Programmen eine Ausführung über mehrere intelligente Knoten (einzelne Zentraleinheiten oder Computer) und die gemeinsame Benutzung dieser Programme durch mehrere Benutzer in einem Netzwerk gestattet. Das Verfahren umfaßt ein Programm, das in jedem Knoten oder Computer im Netzwerk gespeichert ist; dieses Programm wandelt eine Datenverwaltungsanforderung in ein Protokoll für die gemeinsame Benutzung von Dateien und die Eintragssperrung um, das an einen Knoten oder Computer weitergeleitet werden kann, der zum Servercomputer bestimmt wurde. Außerdem umfaßt das Verfahren ein anderes im Servercomputer gespeichertes Programm, das Mittel zur Entscheidung enthält, welcher der anfordernden Computer Zugriff auf ein spezielles Anwendungsprogramm als Antwort auf eine Anforderung vom anfordernden Computer haben kann.
  • Bei der Bestimmung, wie die Möglichkeiten der gemeinsamen Benutzung von Dateien für Programme, die für das Konzept blind waren, bereitzustellen sind, wurde die folgende Technik verwendet. Jedes Programm einer Basis von über 400 Programmen wurde untersucht, um zu bestimmen, ob es seine Absicht war, eine bestehende Datei nur zu lesen, eine neue Datei zu erstellen oder eine bestehende Datei zu aktualisieren. Es wurde eine auf Programmnamen basierende symmetrische Matrix erstellt, die jedes Programm durch den Namen kennzeichnet und dadurch, ob das Programm parallel mit anderen Programmen im Netzwerk laufen könnte oder nicht. Das folgende ist ein Muster der Matrix.
  • Die obige Tabelle stellt vier benannte Anwendungsprogramme (AA00, AA01, AA02 und AA03) dar. Der Buchstabe "N" bedeutet, daß ein Programm nicht ausgeführt werden kann, wenn ein Konflikt mit einem anderen Benutzer oder einer Aufgabe im Netzwerk auftreten wird; z. B. kann Programm AA00 im Netzwerk nicht ablaufen, wenn schon das Programm AA01 im Netzwerk abläuft. Jedoch kann Programm AA00 ablaufen, wenn eine andere Kopie seiner selbst oder die Programme AA02 oder AA03 zu dieser Zeit im Netzwerk laufen.
  • Um die obigen Steuerentscheidungen zu treffen, ist eine gewisse Steuerstufe erforderlich, ehe eine Anforderung zum Laden eines Programms an das Betriebssystem weitergeleitet wird. Um dieses Abfangen einer Benutzer- oder Programm-Anforderung auszuführen, wurde eine Softwareebene an den Anfang des Disk Operating Systems (DOS) des IBM Personalcomputers (PC) hinzugefügt. Der Softwarezusatz, bezeichnet als Hypervisor, fängt alle Programmlade-/Ausführungs-Anforderungen und Dateiverarbeitungsanforderungen ab. Das Abfangen hat einen doppelten Zweck.
  • Erstens werden alle Programmlade-/Ausführungs-Anforderungen an das Serversystem gerichtet, das Informationen über jeden Benutzer im System verwaltet; d. h. welche Programme sie zur Zeit ausführen.
  • Das Serversystem nimmt den Namen des angeforderten Programms und prüft die aktuelle Benutzerliste und die Programm-Matrix, um zu sichern, daß es innerhalb des Netzwerks keine Konflikte gibt. Wenn keine Konflikte gefunden werden, wird die Benutzertabelle aktualisiert, um die Absicht des fernen Systems zu zeigen, das Programm zu laden. Wenn umgekehrt das ferne System die Ausführung eines Programms abschließt, wird die Benutzertabelle im Serversystem aktualisiert, um diese neue Steuerinformationskomponente zu zeigen. Wenn während des Programmladens durch das ferne System ein Konflikt empfangen wird, erscheint auf dem Anzeigeschirm des Benutzers eine Nachricht, die ihm vorschlägt, die Anforderung zu wiederholen, bis der Konflikt gelöst wurde, oder die aktuelle Programmladeanforderung abzubrechen.
  • Zweitens werden alle Dateiöffnungs-Anforderungen von dem Hypervisor aufgefangen und umgewandelt, um Attribute der gemeinsamen Dateibenutzung zu zeigen, die nicht als ein Ergebnis der früher verwendeten Programmierverfahren festgesetzt sind. Außerdem können die Namen der temporären Arbeitsdateien geändert werden, um den parallelen Aspekt der Anwendungen in einer Mehrbenutzer/Multitasking-Umgebung hervorzuheben. Wenn unter bestimmten Bedingungen eine Anwendung gerade ausgewählte Anwendungssteuerdateisätze liest oder schreibt, werden diese Anforderungen ebenfalls von dem Hypervisor abgefangen und der Datensatz wird gewechselt, wie die Mehrbenutzer-Umgebung vorschreibt.
  • Weiterhin wird beim Gebrauch der Erfindung, bedingt durch die Programmsteuerung, bestimmten Anwendungsprogrammen nicht gestattet, auf fernen Computersystemen zu laufen, sondern nur im Server/Ressourcen-Verwaltungs-Computersystem.
  • Als eine zusätzliche Ebene der Programmanwendungssteuerung muß das Problem der Sicherung, daß nur ordnungsgemäß lizenzierte Benutzer erfolgreich im Netzwerk arbeiten könnten, betrachtet werden. Der Benutzer kann die Basisanwendungen kaufen (zwischen 70 und 400 Programmen) und kann dann die Programme auf dem Serversystem ebenso wie in einer Einzelnutzer-Computersystem-Anwendung installieren. Damit zusätzliche Benutzer innerhalb der Netzwerkumgebung arbeiten können, wird jeder zusätzliche Benutzer aufgefordert, eine Anwendungs-Netzwerk-Berechtigungs-Diskette zu kaufen. Jede Diskette wird im Werk mit einer eindeutigen seriellen Nummer verschlüsselt. Der Mechanismus des Hinzufügens von Benutzern ist folgender. Jeder ferne Benutzer wird aufgefordert, eine Kopie seiner Netzwerk-Berechtigungs-Diskette zu erstellen. Das Original der Netzwerk-Berechtigungs-Diskette wird von der Person verwendet, die an dem Serversystem arbeitet, und die Kopie wird von dem ersten fernen Computersystem verwendet. Ehe irgendwelche fernen Benutzer die Verwendung von Anwendungsprogrammen beginnen könnten, wird das Serversystem aufgefordert, seinen Netzwerk-Hypervisor zu starten. Nur dann können irgendwelche der fernen Systeme ihre Hypervisoren erfolgreich starten. Wenn die fernen Systeme beginnen, wird ihre einheitliche Netzwerk-Disketten-Seriennummer an das Serversystem gesendet und von ihm zur Nachprüfung der Echtheit und einer Prüfung, daß die gesendete Seriennummer nicht schon in Benutzung ist, aufgezeichnet. Die Serversoftware sorgt auch für das Erkennen der fernen Computersysteme, die sich trennen oder sich selbst ordnungsgemäß aus dem Netzwerk entfernen, und meldet diese Systeme entsprechend aus dem Anwendungsnetzwerk ab.
  • Ein Vorteil dieses Verfahrens besteht darin, daß der Programmcode, der die Ausführung der vom Server fernen Funktion verteilt oder "aktiviert", ein Einzelprogramm ist, das in jeden der fernen Computer geladen wird. Dasselbe gilt für den Programmcode, der in den Servercomputer eingegeben wird. Das "Knotenaktivierer"-Programm, als das die zwei Programme angesehen werden können, sind Begleiter für die Anwendungsprogramme, deren Funktion und Datendateien im Netzwerk gemeinsam zu nutzen sind.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die vorgehenden und andere Aufgaben, Perspektiven und Vorteile der Erfindung sind aus der folgenden detaillierten Beschreibung einer bevorzugten Ausführungsform mit Bezug auf die Zeichnungen besser zu verstehen, in denen:
  • Fig. 1 ein vereinfachtes Blockdiagramm ist, das ein lokales Netzwerk zeigt, das aus einem Servercomputer und einem fernen oder anfordernden Knoten mit dem installierten "Knotenaktivierer"-Programm zusammengesetzt ist; und
  • Fig. 2 bis 10 logische Flußdiagramme sind, welche die Einzelheiten des Betriebs der Prozedur gemäß der Erfindung zeigen.
  • In den logischen Flußdiagrammen wird die gesamte Logik gegenüber der herkömmlichen vertikalen Darstellung in horizontaler Darstellung gezeigt. Der Eingang zu jeder Seite des logischen Ablaufs erfolgt von der äußeren linken Mitte der Seite, wobei der Ausgang auf der äußeren rechten Seite ist. Jedes Verzweigungssymbol (oder Rautenform) wird an der 9.00-Uhr-Position betreten und mit einem TRUE-Ergebnis an der 12.00-Uhr-Position und mit einem FALSE-Ergebnis an der 6.00-Uhr-Position verlassen. Jedes Verzweigungssymbol ist mit dem Symbol "D" markiert, gefolgt von einer Zahl, die einer weiteren bei der eingehenden Beschreibung der auszuführenden Entscheidung entspricht. Diese sind an der 10.30-Uhr-Position angeordnet. Logische Verfahren oder Berechnungen (rechteckige Formen) werden von links betreten und rechts verlassen. Herkömmliche Unterroutinen werden durch einen zusätzlichen horizontalen Strich innerhalb des Rechtecks bezeichnet, wobei sich der Name der aufgerufenen Unterroutine im kleinsten Teil des Rechtecks befindet. Die Funktion der Unterroutine wird im größeren Teil des Rechtecks beschrieben. Kreise werden als Verbindungen verwendet und dienen lediglich der Beschreibung, wie zwei logische Punkte zu einem einzigen Punkt zusammenlaufen. Der logische Ablauf tritt an den 12.00-Uhr- und 6.00-Uhr-Positionen in einen Kreis ein, wobei sich die Ablaufausgabe an der 3.00-Uhr-Position fortsetzt.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM DER ERFINDUNG
  • Das folgende ist ein kurzer Überblick über die Prozedur gemäß der Erfindung und wird mit Bezug auf Fig. 1 der Zeichnungen dargestellt. Wie in Fig. 1 dargestellt, enthält ein lokales Netzwerk mindestens zwei Computer 10 und 12, die über ein Kommunikations-Netzwerk 14 verbunden sind. Einer dieser Computer 10 wird als der Server bezeichnet und umfaßt Speichereinheiten 16 zum Speichern von Datendateien und Anwendungsprogrammen, die für den Zugriff im Netzwerk zur Verfügung stehen müssen. Der andere Computer 12 wird als ein ferner oder anfordernden Knoten bezeichnet und auch er kann Speichereinheiten 18 umfassen, um eine Untergruppe von Programmen zu speichern, obwohl diese Programme im Netzwerk nicht gemeinsam genutzt würden. Weiterhin wird, wie in Fig. 1 gezeigt, das Basisprogramm oder lizenzierte Anwendungsprogramm 20 an dem Servercomputer installiert. Das "Knotenaktivierer"-Programm 22 mit einer Lizenz unter dem Basisprogramm 20 ist an dem anfordernden Knoten 12 installiert und berechtigt den anfordernden Knoten das Anwendungsprogramm auszuführen.
  • Das Startverfahren von Computersystemen in einem Netzwerk beinhaltet das Starten des Betriebssystems, anderweitig bekannt als Einleitendes Programmladen (IPL), das Starten des PC-Netzwerks (d. h. der LAN-Software) und Starten der Netzwerk/Betriebssystem-Erweiterung oder des Hypervisors. Die Hypervisorsoftware ist das, was als "Knotenaktivierer" bezeichnet wurde und funktioniert etwas unterschiedlich, abhängig davon, ob sie im Serversystem oder dem fernen System läuft.
  • Im Serversystem gibt es zwei Teile des Hypervisors. Der erste Teil wirkt als eine Erweiterung auf das PC-Netzwerk, und zwar über seine Nachroutine, die Datei/Programm-Anforderungen und spezielle Datensteuerblöcke, die von einem fernen an das Serversystem weitergeleitet werden, prüft und beantwortet. Der zweite Teil des Serverhypervisors fängt die geeigneten Betriebssystemaufrufe von den Anwendungsprogrammen ab und wandelt sie in eine Form um, die für die gemeinsame Benutzung von Dateien und Eintragssperrungstechniken des Betriebssystems annehmbar ist. Irgendwelche speziellen Datensteuerblockinformationen, die von der Nachroutine gefordert werden, werden erzeugt und direkt an den Nachprozessor weitergegeben, ohne daß sie durch das Netzwerk gehen müssen. Dies kommt daher, daß das Serversystem auch einen Benutzer haben könnte, der eine Anwendung an dem Computersystem ausführt.
  • An dem fernen System fängt der Hypervisor geeignete Betriebssystemaufrufe von den Anwendungsprogrammen ab und wandelt sie in eine Form, die für die gemeinsame Benutzung von Dateien und Eintragssperrungstechniken des Betriebssystems annehmbar ist. Das Betriebssystem überträgt dann irgendwelche Datei- und Programmanforderungen, die lokal nicht erfüllt werden konnten, an das Serversystem. Irgendwelche speziellen Datensteuerblockinformationen, die von der Nachroutine gefordert werden, werden von dem PC-Netzwerkprogramm erzeugt und an das Serversystem weitergeleitet.
  • Der Hypervisor wird auf einer Diskette für Personalcomputer, wie z. B. den IBM PC, vertrieben. Jede Diskette hat eine eindeutige Seriennummer, die in einer Datei mit dem Namen SERIAL verschlüsselt ist. Für jedes ferne System, das ein Benutzer verwendet und das den Hypervisor erfordert, wird die Seriennummer von der Diskette auf das Serversystem kopiert. Das Serversystem verwaltet eine Datei aller eindeutigen seriellen Nummern, die berechtigt sind, das System zu nutzen. Das Starten des Hypervisors auf dem Serversystem wird gefordert, ehe irgendwelche fernen Systeme die Anwendungsprogramme erfolgreich ausnutzen können. Das Startverfahren lädt den Hypervisor zusammen mit einem Verzeichnis aller seriellen Nummern, die von fernen Computern angemeldet werden können, in den Speicher. Der Hypervisor koppelt sich über den Interrupt 21 (hexadezimal) an das PC-DOS-Betriebssystem und an die PC-Netzwerk-Benutzer-Nachroutine. Ein Stoppen des Hypervisors auf dem Serversystem kann nur ausgeführt werden, wenn es keine fernen Systeme gibt, die aktuell die Version des Hypervisors an ihren Computersystemen benutzen. Im Fall, daß ferne Systeme noch an dem Serversystem-Hypervisor angemeldet sind, wird dem Serversystembediener oder dem Benutzer eine Nachricht angezeigt, die kennzeichnet, daß ein ferner Hypervisor in Benutzung ist. Außerdem wird der Hypervisor nur Anwendungen überwachen, welche die Logik zur Aktivierung ihrer Verwendung beinhalten. Deshalb würden normale Endbenutzer-Anwendungsprogramme im normalen Ablauf der Ereignisse durch den Hypervisor nicht beeinflußt werden
  • Die Benutzer-Nachroutine ist eine Unterroutine, die zu jeder Zeit, wenn ein Netzwerk-Service von dem Serversystem angefordert wird, zur Steuerung weitergeleitet wird. Die Unterroutine wird durch einen Steuerblock weitergeleitet, der den Servicetyp verkörpert, der von einem fernen System angefordert wird. Dieser Steuerblock enthält typischerweise Steuerinformationen (was ist zu tun) und Daten (den Namen der zu öffnenden Datei).
  • Nun wird auf Fig. 2 der Zeichnungen Bezug genommen. Der erste Entscheidungsblock D1 wird durch einen Aufruf an die Server-Basis betreten und prüft den Steuerblock nach einer Anforderung, den fernen Computer als einen neuen Benutzer im Netzwerk festzulegen. Innerhalb des Steuerblocks gibt es eine Benutzerseriennummer, die mit einem Gruppenmuster (wie z. B. einer Prüfsumme) übereinstimmen sollte. Die Entscheidung im Entscheidungsblock D2 sichert, daß die empfangene Seriennummer richtig verschlüsselt ist. Wenn das Ergebnis des Entscheidungsblocks D2 FALSE ist, dann wird der Steuerblock im Funktionsblock P1 neu formatiert, um anzuzeigen, daß die an das Serversystem weitergeleitete Seriennummer ungültige Informationen beinhaltete. Der Steuerblockinhalt wird an das ferne System, das die Anforderung einleitete, zurückgegeben. Wenn andererseits das Ergebnis des Entscheidungsblocks D2 TRUE ist, dann wird im Entscheidungsblock D3 die Seriennummer mit allen anderen fernen Computern verglichen, die aktuell im System angemeldet sind. Hierbei besteht die Absicht darin, zu sichern, daß ein Benutzer des fernen Computers nicht mit mehreren Sitzungen in der Zentrale angemeldet ist. Wenn das Ergebnis des Entscheidungsblocks D3 FALSE ist, wird der Steuerblock im Funktionsblock P2 neu formatiert, um anzuzeigen, daß ein anderes fernes System zur Zeit mit dieser seriellen Nummer angemeldet ist. Der Steuerblockinhalt wird wieder an das ferne System, das die Anforderung einleitete, zurückgegeben. Wenn andererseits das Ergebnis des Entscheidungsblocks D3 TRUE ist, dann sichert der Entscheidungsblock D4, daß der Host oder das Serversystem zur Zeit kein Programm ausführt, das die Nutzung dedizierter Hostressourcen erfordert. Wenn das Ergebnis des Entscheidungsblocks D4 TRUE ist, wird der Steuerblock im Funktionsblock P3 neu formatiert, um anzuzeigen, daß das Serversystem zur Zeit in einem dedizierten Modus läuft und zu dieser Zeit keine Anmeldung von fernen Stationen annehmen wird. Der Steuerblockinhalt wird wiederum an das ferne System zurückgegeben, das die Anforderung einleitete. Wenn andererseits das Ergebnis des Entscheidungsblocks D4 FALSE ist, wird der Steuerblock im Funktionsblock P4 neu formatiert, um anzuzeigen, daß sich das ferne System erfolgreich beim Serversytem-Ressourcenverwalter angemeldet hat. Der dem fernen System zugeordnete Steuerblock wird auf einen neuen Benutzerstatus gesetzt (ein neuer Start für das ferne System). Die geeignete "ON-LINE"-Anzeige wird im mit dem fernen System verbundenen Steuerblock gesetzt. Der Steuerblockinhalt wird an das ferne System zurückgegeben, das die Anforderung einleitete.
  • Kehren wir nun zum Entscheidungsblock D1 zurück, wenn das Ergebnis FALSE war, d. h. im Fall, daß ein ferner Computer abgeschaltet oder durch ein IPL neu gestartet wird, wird das Netzwerksteuerprogramm einen Steuerblock mit der passenden fernen Systemadresse bereitstellen. Die Entscheidung im Entscheidungsblock D5 prüft den Hinweis des Netzwerkprogramms eines fernen Computers, der logisch aufgehört hat, zu existieren. Wenn das Ergebnis dieser Entscheidung FALSE ist, wird im Funktionsblock P6 eine Unterroutine SVR000 aufgerufen. Diese Unterroutine wird in Fig. 3 detaillierter beschrieben. Wenn andererseits das Ergebnis der Entscheidung im Entscheidungsblock D5 TRUE ist, wird im Entscheidungsblock D6 eine Prüfung durchgeführt, um zu bestimmen, ob der ferne Computer an diesem Ressourcenverwalter angemeldet war. Wenn das Ergebnis der Prüfung im Entscheidungsblock D6 TRUE ist, wird das ferne System im Funktionsblock P5 vom "ON-LINE"-Status entfernt; anderenfalls geht die Steuerung direkt an das Netzwerk weiter.
  • Fig. 3 ist der logische Ablauf für die Unterroutine SVR000, die im in Fig. 2 gezeigten logischen Verfahren P6 aufgerufen wird. In Fig. 3 wird der ferne Computer, wenn dieser ein Programm oder eine Programmgruppe anfordert, den Namen des Programms oder der Programmgruppe an das Serversystem liefern. Die Entscheidung im Entscheidungsblock D7 bestimmt, ob eine Programm- oder Programmgruppen-Startanforderung durchzuführen ist. Wenn das Ergebnis der Entscheidung im Entscheidungsblock D7 TRUE ist, wird im Funktionsblock P7 eine Tabellensuche auf Grundlage des bereitgestellten Namens des Programms oder der Programmgruppe durchgeführt. Die Ergebnisse der Tabellensuche zeigen, ob das Programm oder die Programmgruppe parallel ausgeführt werden können, während andere Systeme einschließlich des Serversystems ablaufen. Außerdem wird ein Anzeiger, der anzeigt, daß dieses Programm oder diese Programmgruppe nur auf dem Serversystem laufen kann, ebenfalls aus dieser Tabelle erzeugt. Dann wird im Entscheidungsblock D8 eine Prüfung durchgeführt, um zu sichern, daß das angeforderte Programm oder die Programmgruppe nicht Nur-Serverprogramm oder -programmgruppe ist und zur Zeit nicht irgendwelche Programme, die der Server zur Zeit ausführen kann, stören wird. Wenn das Ergebnis der Entscheidung im Entscheidungsblock D8 TRUE ist, dann wird der Steuerblock im Funktionsblock P8 neu formatiert, um anzuzeigen, daß das ferne System das Programm oder die Programmgruppe nicht wie angefordert ausführen kann, da es von dem Serversystembenutzer nicht initiiert wurde. Der Steuerblockinhalt wird wieder an das ferne System zurückgegeben, das die Anforderung einleitete. Wenn andererseits das Ergebnis der Entscheidung im Entscheidungsblock D8 FALSE ist, testet die Entscheidung im Entscheidungsblock D9, ob dieses Programm irgendein anderes Programm stört, das zur Zeit entweder durch das Serversystem oder irgendwelche fernen Systeme, die an das Serversystem angeschlossen sind, benutzt wird. Wenn die Entscheidung im Entscheidungsblock D9 TRUE ist, wird der Steuerblock im Funktionsblock P9 neu formatiert, um anzuzeigen, daß ein anderes Computersystem zur Zeit ein Programm oder eine Programm ausführt, die dieses Programm oder die Programmgruppe stören werden. Der Name des Computers, der zur Zeit diese Anforderung aufrechterhält, ist ebenfalls im Steuerblock angeordnet, und der Steuerblockinhalt wird an das ferne System zurückgegeben, das die Anforderung einleitete. Wenn andererseits das Ergebnis der Entscheidung im Entscheidungsblock D9 FALSE ist, wird der Name des angeforderten Programms oder der Programmgruppe an den Tabelleneingang des fernen Computers angeordnet, der sich im Serversystem-Ressourcenverwalter im Funktionsblock P10 befindet. Dieser wird verwendet, wenn das nächste Mal eine Computer-Anforderung durch das Programm oder die Programmgruppe weitergeleitet wird, welche die Logik des Server-Ressourcenverwalters anfordert.
  • Fig. 4 ist der logische Ablauf für die in der logischen Funktion P11 aufgerufenen Unterroutine, die in Fig. 3 gezeigt ist. In Fig. 4 prüft die Entscheidung im Entscheidungsblock D10 den Steuerblock nach einer Anforderung zum Beenden der Nutzung eines Programms oder einer Programmgruppe. Wenn das Ergebnis des Entscheidungsblocks D10 TRUE ist, dann wird im Funktionsblock P12 der Name des Programms oder der Programmgruppe, der zur Zeit im Steuerblock der fernen Station gekennzeichnet ist, entfernt. Die Wirkung ist, daß nicht gemeinsam benutzte Ressourcen eines Programms oder einer Programmgruppe freigegeben werden. Wenn andererseits die Entscheidung im Entscheidungsblock D10 FALSE ist, dann erfolgt im Entscheidungsblock D11 eine Prüfung des Steuerblocks nach dem Beenden eines fernen Systems (abmelden) von dem Serversystem-Ressourcenverwalter. Ein TRUE-Ergebnis der Entscheidung im Entscheidungsblock D11 gibt alle Ressourcen frei, die im Funktionsblock P13 verwaltet und für den anfordernden Computer gehalten werden.
  • Wie vorher festgelegt, erfordern Anwendungsprogramme Dateiservice von dem Betriebssystem. Um diese Aufgabe zu erfüllen, führen sie einen Software-Interrupt 21 (hexadezimal) mit einem Unterfunktionscode aus. Der Unterfunktionscode erfordert solche Dinge wie Öffnen einer Datei, Schließen einer Datei und viele andere Funktionen. Sowohl an dem Server als auch an den fernen Systemen ist eine Logik angeordnet (das logische DOS-Abfangen), das die Steuerung vor dem Betriebssystem erlangt und individuelle Aktivitäten zur Unterstützung der gemeinsamen Benutzung von Dateien und Netzwerkaktivitäten ausführt.
  • Mit Bezug auf Fig. 5 der Zeichnungen ist der Eintrittspunkt des logischen Ablaufdiagramms durch "DOSTRAP" bezeichnet, um das logische DOS-Abfangen anzuzeigen. Im Entscheidungsblock D12 erfolgt eine Prüfung eines internen Schalters, um zu sehen, ob das Anwendungsprogramm durch den Bediener gestartet wurde und zur Zeit ausgeführt wird. Dieser interne Schalter steuert, ob das logische DOS-Abfangen aktiviert wird. Diese Prüfung verhindert die Änderung irgendwelcher System-Interrupt-Aufrufe für Anwendungsprogramme, die keine Modifizierungen benötigen. Wenn das Ergebnis der im Entscheidungsblock D12 erfolgten Prüfung TRUE ist, wird im Entscheidungsblock D13 eine Prüfung der Interrupt- 21 (hexadezimal)-Unterfunktion durchgeführt, um Aufruf e, die eine spezielle Verarbeitung erfordern, auszusondern. Unterfunktionen, die keine spezielle Verarbeitung erfordern, werden direkt über den FALSE-Pfad an das Betriebssystem weitergegeben, wobei das Betriebssystem die Steuerung direkt an die Anwendung zurückgibt, nachdem der angeforderte Service ausgeführt wurde.
  • Wir kehren zum Entscheidungsblock D12 zurück, wenn das Ergebnis dieser Entscheidung FALSE ist, dann erfolgt im Entscheidungsblock D14 eine Prüfung der Interrupt-21-Unterfunktion, um zu bestimmen, ob eine Anforderung ein Programm zu laden und auszuführen angefordert ist. Falls ja, erfolgt im Entscheidungsblock D15 eine Prüfung des Namens des zu ladenden und auszuführenden Programms, um zu sichern, daß es das Anwendungsprogramm ist, das spezielle Betriebssystemrücksichten erfordert. Wenn das der Fall ist, aktiviert der Funktionsblock P15 einen Schalter eines internen lokalen Speichers, der anzeigt, daß das Anwendungsprogramm zur Ausführung in den Speicher geladen wird. Alle weiteren DOS-System-Interrupts (21 hexadezimal) sollten zur speziellen Verarbeitung abgefragt werden.
  • Fig. 6 zeigt den logischen Ablauf für die in Funktionsblock P14 aufgerufene Unterroutine, die in Fig. 5 gezeigt wird. In Fig. 6 erfolgt im Entscheidungsblock D16 eine Prüfung der Interrupt- 21 (hexadezimal)-Unterfunktion für eine Datei-Öffnungs-Anforderung eines Dateisteuerblocks (FCB). Wenn das Ergebnis der Prüfung im Entscheidungsblock D16 TRUE ist, dann wird eine Unterroutine angefordert, um im Funktionsblock P16 einen eindeutigen Dateinamen zu erzeugen, wenn ein derartiger eindeutiger Dateiname erforderlich ist. Dann wird im Funktionsblock P17 der Name der zu öffnenden Datei in einer internen Dateinamentabelle angeordnet. Die Tabelle wird als Querverweis zwischen Dateinamen und Dateibehandlung verwendet, wenn eine Datei einmal durch den DOS-Behandlungs-Dateiöffnungsservice eröffnet wurde. Im Funktionsblock P18 wird DOS durch den Interrupt 21 (hexadezimal) aufgefordert, die Benutzerdatei zu öffnen und eine interne Dateilbehandlung (Systemnamenäquivalent) zu melden. Der Dateiteilungs-Parameter wird als Teil der Anforderung eingeschaltet. Die von DOS empfangene Behandlung wird im Funktionsblock P19 in der internen Dateitabelle zur späteren Datei-Eingabe/Ausgabe-Anforderungs-Behandlung gespeichert. Schließlich wird im Funktionsblock P20 der Datei-Steuerblock des Aufrufers neu formatiert, so daß es erscheint, als wurde ein normaler Aufruf ausgeführt.
  • Kehren wir zum Entscheidungsblock D16 zurück, wenn das Ergebnis der Entscheidung FALSE ist, dann erfolgt im Entscheidungsblock D17 eine Prüfung der Interrupt-21 (hexadezimal)-Unterfunktion für eine Datei-Schließen-Anforderung eines Dateisteuerblocks. Wenn das Ergebnis dieser Prüfung TRUE ist, erfolgt eine Suche nach der Dateinamentabelle im Funktionsblock P21, um die entsprechende Dateibehandlung, die vom DOS-Datei-Service gefordert wird, festzustellen. Dann wird DOS im Funktionsblock P22 aufgefordert, die Datei über das Dateibehandlungsprotokoll zu schließen. Im Funktionsblock P23 wird der Anwendungsdateiname von der internen Dateitabelle gelöscht, und im Funktionsblock P24 wird der Dateisteuerblock des Aufrufers neu formatiert, um zu zeigen, daß die Datei des Aufrufers geschlossen wurde.
  • Kehren wir zum Entscheidungsblock D17 zurück, wenn das Ergebnis der Entscheidung FALSE ist, wird im Funktionsblock P25 eine Unterroutine angefordert. Diese Unterroutine wird die DOS-Interrupt-21 (hexadezimal)-Unterfunktion weiter bestimmen, um festzustellen, ob eine spezielle Aktion im Auftrag des Anwendungsprogramms ausgeführt werden sollte.
  • Fig. 7 zeigt den logischen Ablauf der Unterroutine, die im Funktionsblock P25 aufgerufen und in Fig. 6 gezeigt wird. In Fig. 7 erfolgt im Entscheidungsblock D18 eine Prüfung der Interrupt-21 (hexadezimal) -Unterfunktion nach einer Lesedateianforderung eines Dateisteuerblocks. Wenn das Ergebnis der Prüfung TRUE ist, dann wird im Funktionsblock P26 die Dateinamentabelle durchsucht, um die vom DOS-Dateiservice geforderte entsprechende Dateibehandlung ausfindig zu machen. Dies wird im Funktionsblock P27 von einer Anforderungen an DOS über den Interrupt 21 (hexadezimal) zum Lesen eines Datensatzes von der Datei des Anwendungsprogramms über eine Dateibehandlung (Systemnamenäquivalent) gefolgt. Im Funktionsblock P28 wird der Dateisteuerblock des Aufrufers neu formatiert und es scheint somit, als wurde ein normaler Dateisteuerblockaufruf ausgeführt.
  • Kehren wir zum Entscheidungsblock D18 zurück, wenn das Ergebnis der Prüfung in diesem Entscheidungsblock FALSE ist, erfolgt im Entscheidungsblock D19 eine Prüfung der Interrupt-21 (hexadezimal)-Unterfunktion nach einer Dateischreibanforderung eines Dateisteuerblocks. Wenn das Ergebnis dieser Prüfung TRUE ist, dann erfolgt im Funktionsblock P29 ein Durchsuchen der Dateinamentabelle, um die entsprechende vom DOS-Service geforderte Dateibehandlung festzustellen.
  • Dann wird im Funktionsblock P30 DOS über den Interrupt 21 (hexadezimal) aufgefordert, einen Datensatz von dem Anwendungsprogramm über eine Dateibehandlung (Systemnamenäquivalent) in eine Datei zu schreiben. Der Funktionsblock 31 formatiert den Dateisteuerblock des Aufrufers neu, es erscheint somit, als wurde ein normaler Dateisteuerblockaufruf ausgeführt.
  • Kehren wir zum Entscheidungsblock D19 zurück, wenn das Ergebnis dieser Prüfung FALSE ist, dann wird im Funktionsblock P32 eine Unterroutine aufgerufen, welche die DOS-Interrupt-21 (hexadezimal)-Unterfunktion bestimmt, um zu festzustellen, ob eine spezielle Handlung im Namen des Anwendungsprogramm ausgeführt werden sollte.
  • Fig. 8 zeigt den logischen Ablauf der im Funktionsblock P32 aufgerufenen Unterroutine, gezeigt in Fig. 7. In Fig. 8 erfolgt im Entscheidungsblock D20 eine Prüfung der Interrupt-21 (hexadezimal)-Unterfunktion nach einer Dateisteuerblockneuanordnung der Dateianordnung oder der Suchoperation. Wenn das Ergebnis der Prüfung TRUE ist, dann wird im Funktionsblock P33 die Dateinamentabelle durchsucht, um die entsprechende Dateibehandlung, die vom DOS-Dateiservice gefordert wurde, zu finden. Der Funktionsblock P34 fordert DOS über den Interrupt 21 (hexadezimal) auf, die logische Datensatzposition über die Dateibehandlung (Systemnamenäquivalent) neu anzuordnen. Dann wird im Funktionsblock P35 der Dateisteuerblock des Aufrufers neu formatiert, so daß es scheint, als wurde ein normaler Dateisteuerblockaufruf ausgeführt.
  • Kehre man zum Entscheidungsblock D20 zurück, wenn das Ergebnis der Prüfung FALSE ist, erfolgt im Entscheidungsblock D21 eine Prüfung der Interrupt-21 (hexadezimal)-Unterfunktion nach einem Dateisteuerblock zum Erzeugen einer neuen Datei. Wenn das Ergebnis der Prüfung TRUE ist, ruft der Funktionsblock P36 eine Unterroutine auf, welche die DOS-Interrupt-21 (hexadezimal)-Unterfunktion weiter bestimmt, um festzustellen, ob eine spezielle Aktion im Namen des Anwendungsprogramms ausgeführt werden sollte.
  • Kehren wir zum Entscheidungsblock D21 zurück, wenn das Ergebnis der Prüfung FALSE ist, ruft der Funktionsblock P38 eine Unterroutine auf, welche die DOS-Interrupt-21 (hexadezimal)-Unterfunktion weiter bestimmt, um festzustellen, ob eine spezielle Aktion im Namen des Anwendungsprogramms ausgeführt werden sollte.
  • Fig. 9 zeigt den logischen Ablauf der im Funktionsblock P38 in Fig. 8 gerufenen Unterroutine. In Fig. 9 prüft der Entscheidungsblock D22 die Interrupt-21 (hexadezimal)-Unterfunktion nach einem Dateisteuerblock zum Löschen einer bestehenden Datei. Wenn das Ergebnis der im Entscheidungsblock D22 ausgeführten Prüfung TRUE ist, ruft der Funktionsblock P39 eine Unterroutine auf, um einen eindeutigen Dateinamen zu erzeugen, wenn ein solcher erforderlich ist. DOS wird dann über den Interrupt 21 (hexadezimal) aufgefordert, eine bestehende Datei über eine ASCIIZ-Zeichenkette im Funktionsblock P40 zu löschen. Eine ASCIIZ-Zeichenkette ist eine Zeichenfolge, die in ASCII (American Standard Code for Information Interchange) verschlüsselt ist, wobei jedes ASCII-Zeichen durch eine binäre Null (Z) abgegrenzt ist.
  • Wenn die Prüfung im Entscheidungsblock D22 FALSE ist, prüft der Entscheidungsblock D23 die Interrupt-21 (hexadezimal)-Unterfunktion nach einem Dateisteuerblock, um einer bestehenden Datei einen neuen Namen zu geben. Wenn diese Prüfung TRUE ergibt, wird im Funktionsblock P41 eine Unterroutine aufgerufen, um einen eindeutigen Dateinamen zu erzeugen, wenn ein solcher gefordert ist, und dann erfolgt über den Interrupt 21 (hexadezimal) eine Anforderung an DOS, im Funktionsblock P42 einer bestehende Datei über eine ASCIIZ-Zeichenkette einen neuen Namen zu geben. Wenn andererseits das Ergebnis der Prüfung im Entscheidungsblock D23 FALSE ist, wird im Funktionsblock P43 das Beendigungsverfahren ausgeführt. Die interne Dateinamentabelle wird gelöscht und alle Dateien werden während des Beendigungsverfahrens vom Betriebssystem geschlossen.
  • Fig. 10 zeigt den logischen Ablauf für die in den Funktionsblöcken P39 und P41 von Fig. 9 aufgerufenen Unterroutinen. In Fig. 10 führt der Entscheidungsblock D24 eine Tabellensuche nach dem Dateinamen aus, der an die Interrupt-Routine weitergegeben wurde, um zu bestimmen, ob die Datei einen eindeutigen Namen erfordert, der statt des Namens, den das Anwendungsprogramm wünscht, zu benutzen ist. Falls ja, fügt der Funktionsblock P44 die Benutzerstationsnummer (zwei Stellen) an den Dateinamen an, der an diese Unterroutine weitergegeben wird.
  • Die Konzeptionen der Programmberechtigung und/oder Steuerung gemäß der Erfindung finden breite Anwendungen auf dem Gebiet der Computerwissenschaft. Spezialisierungsgebiete wie künstliche Intelligenz, parallele Verarbeitung und Prozeßsteuerung könnten von der Erfindung profitieren.

Claims (3)

1. Ein Verfahren, das einem oder mehreren fernen Computern gestattet, ein oder mehrere Anwendungsprogramme auszuführen und Datendateien unter der Steuerung eines Servercomputers (10) gemeinsam zu benutzen, die in einem Netzwerk (14) miteinander verbunden sind, wobei der eine oder die mehreren fernen Computer (12) ohne Änderung der bestehenden Anwendungsprogramme, die für den Lauf in einer Nicht-Netzwerk- Umgebung entworfen wurden, folgendes umfaßt:
Erstellen einer Programm-Matrix an dem Servercomputer, wobei die Einträge anzeigen, ob ein Programm ausgeführt werden kann, während ein anderes Programm oder eine Programmgruppe auf dem Netzwerk laufen;
Verwalten einer Liste der Programme auf dem Servercomputer, die zur Zeit im Netzwerk ausgeführt werden, und der Datendateien, auf die zur Zeit zugegriffen wird, oder die anderweitig nicht für einen Zugriff zur Verfügung stehen (P10, P12, P13);
Übertragen einer eindeutigen Identifizierung (D1) von jedem fernen Computer an den Servercomputer;
Aufzeichnen der eindeutigen Kennzeichnungen der fernen Computer an dem Servercomputer, um ein Kennzeichen zu liefern, daß die fernen Computer berechtigt sind, Anwendungsprogramme zu verwenden und auf Datendateien zuzugreifen (P4);
Umwandeln einer von dem Servercomputer oder einem der fernen Computer ausgehenden Datenverwaltungsanforderung in eine Protokollanforderungsnachricht zur gemeinsamen Nutzung von Dateien und Eintragssperrung;
Übertragen der Protokollanforderungsnachricht zur gemeinsamen Benutzung von Dateien und Eintragssperrung, die von einem der fernen Computer ausgeht, an den Servercomputer;
Prüfen der Programm-Matrix und der Liste, um zu bestimmen (P7), ob die Anforderungsnachricht einen Konflikt mit einem zur Zeit laufenden Programm verursacht; und
Prüfen der aufgezeichneten eindeutigen Identifikationen der fernen Computer, um zu bestimmen, ob der ferne Computer, der die Anforderungsnachricht übertragen hat, berechtigt ist, ein Anwendungsprogramm laufen zu lassen oder auf eine Datendatei zuzugreifen (D2, D3, D4).
2. Verfahren gemäß Anspruch 1, dadurch gekennzeichnet, daß es weiterhin umfaßt:
Erfüllen der Anforderungsnachricht, wenn die Anforderungsnachricht keinen Konflikt mit einem zur Zeit laufenden Programm oder einer Datendatei verursacht; und
Aktualisieren der Liste (P10), anderenfalls die Anforderungsnachricht ablehnen (P8, P9, P11).
3. Verfahren gemäß Anspruch 2, dadurch gekennzeichnet, daß es weiterhin umfaßt
Übertragen einer Informationsnachricht an einen fernen Computer, von dem die Anforderungsnachricht ausging, um anzuzeigen, daß es einen Konflikt gibt, wenn die Anforderungsnachricht abgelehnt wird; und
einem Benutzers des Servercomputers oder eines fernen Computers, von dem die Anforderungsnachricht ausging, anzeigen, daß es einen Konflikt gibt und daß die Anforderungsnachricht abgelehnt wird.
DE3789175T 1986-07-29 1987-06-16 Programmverwaltung für mehrere zentrale Verarbeitungseinheiten. Expired - Fee Related DE3789175T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/890,389 US4780821A (en) 1986-07-29 1986-07-29 Method for multiple programs management within a network having a server computer and a plurality of remote computers

Publications (2)

Publication Number Publication Date
DE3789175D1 DE3789175D1 (de) 1994-04-07
DE3789175T2 true DE3789175T2 (de) 1994-09-15

Family

ID=25396610

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3789175T Expired - Fee Related DE3789175T2 (de) 1986-07-29 1987-06-16 Programmverwaltung für mehrere zentrale Verarbeitungseinheiten.

Country Status (5)

Country Link
US (1) US4780821A (de)
EP (1) EP0254854B1 (de)
JP (1) JP2506795B2 (de)
BR (1) BR8703308A (de)
DE (1) DE3789175T2 (de)

Families Citing this family (248)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5287537A (en) * 1985-11-15 1994-02-15 Data General Corporation Distributed processing system having plural computers each using identical retaining information to identify another computer for executing a received command
US5060150A (en) * 1987-01-05 1991-10-22 Motorola, Inc. Process creation and termination monitors for use in a distributed message-based operating system
US5136708A (en) * 1987-06-09 1992-08-04 Oce-Nederland B.V. Distributed office automation system with specific task assignment among workstations
US5261080A (en) * 1987-08-21 1993-11-09 Wang Laboratories, Inc. Matchmaker for assisting and executing the providing and conversion of data between objects in a data processing system storing data in typed objects having different data formats
US5005122A (en) * 1987-09-08 1991-04-02 Digital Equipment Corporation Arrangement with cooperating management server node and network service node
WO1989002631A1 (en) * 1987-09-08 1989-03-23 Digital Equipment Corporation Naming service for networked digital data processing system
US5109515A (en) * 1987-09-28 1992-04-28 At&T Bell Laboratories User and application program transparent resource sharing multiple computer interface architecture with kernel process level transfer of user requested services
US4943912A (en) * 1987-10-13 1990-07-24 Hitachi, Ltd. Parallel processor system having control processor and array control apparatus for selectively activating different processors
US5319780A (en) * 1987-10-19 1994-06-07 International Business Machines Corporation System that implicitly locks a subtree or explicitly locks a node based upon whether or not an explicit lock request is issued
US5390297A (en) * 1987-11-10 1995-02-14 Auto-Trol Technology Corporation System for controlling the number of concurrent copies of a program in a network based on the number of available licenses
JPH0776939B2 (ja) * 1988-03-16 1995-08-16 富士ゼロックス株式会社 通信ネットワークシステム
US4962449A (en) * 1988-04-11 1990-10-09 Artie Schlesinger Computer security system having remote location recognition and remote location lock-out
US4924378A (en) * 1988-06-13 1990-05-08 Prime Computer, Inc. License mangagement system and license storage key
AU3594189A (en) * 1988-06-21 1990-01-04 Amdahl Corporation Controlling the initiation of logical systems in a data processing system with logical processor facility
US5091849A (en) * 1988-10-24 1992-02-25 The Walt Disney Company Computer image production system utilizing first and second networks for separately transferring control information and digital image data
US5093918A (en) * 1988-12-22 1992-03-03 International Business Machines Corporation System using independent attribute lists to show status of shared mail object among respective users
US5274810A (en) * 1989-01-10 1993-12-28 Bull Hn Information Systems Inc. Dynamic control of program execution order on a personal computer
US5341477A (en) * 1989-02-24 1994-08-23 Digital Equipment Corporation Broker for computer network server selection
US5142680A (en) * 1989-04-26 1992-08-25 Sun Microsystems, Inc. Method for loading an operating system through a network
US5560008A (en) * 1989-05-15 1996-09-24 International Business Machines Corporation Remote authentication and authorization in a distributed data processing system
US5167019A (en) * 1989-06-23 1992-11-24 Digital Equipment Corporation Apparatus and method for interconnecting a plurality of devices to a single node in a node-limited serial data bus computer network
US5247676A (en) * 1989-06-29 1993-09-21 Digital Equipment Corporation RPC based computer system using transparent callback and associated method
JPH0362257A (ja) * 1989-07-31 1991-03-18 Toshiba Corp ネットワークモニタリングシステム
US5261051A (en) * 1989-08-14 1993-11-09 Microsoft Corporation Method and system for open file caching in a networked computer system
US5206934A (en) * 1989-08-15 1993-04-27 Group Technologies, Inc. Method and apparatus for interactive computer conferencing
US5212633A (en) * 1989-08-18 1993-05-18 Sharedata System for transferring resident programs to virtual area and recalling for instant excution in memory limited DOS system using program control tables
US5218699A (en) * 1989-08-24 1993-06-08 International Business Machines Corporation Remote procedure calls in heterogeneous systems
US5163131A (en) * 1989-09-08 1992-11-10 Auspex Systems, Inc. Parallel i/o network file server architecture
AU651321B2 (en) * 1989-09-08 1994-07-21 Network Appliance, Inc. Multiple facility operating system architecture
US5408608A (en) * 1989-09-14 1995-04-18 Fujitsu Limited Distributed data base control center having a plurality of information tables for facilitating a direct communication among terminal units of a network
US5138712A (en) * 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
US5073933A (en) * 1989-12-01 1991-12-17 Sun Microsystems, Inc. X window security system
JP2532148B2 (ja) * 1990-01-19 1996-09-11 富士通株式会社 インテリジェント・ネットワ―クにおけるデ―タベ―ス管理方式
US6212557B1 (en) 1990-01-29 2001-04-03 Compaq Computer Corporation Method and apparatus for synchronizing upgrades in distributed network data processing systems
JPH03229352A (ja) * 1990-02-05 1991-10-11 Hitachi Ltd プログラム変更方法
JP2691081B2 (ja) * 1990-05-16 1997-12-17 インターナショナル・ビジネス・マシーンズ・コーポレイション コンピュータ・ネットワーク
US5261089A (en) * 1990-05-16 1993-11-09 International Business Machines Corporation Optimization of commit procedures by utilizing a two-phase commit procedure only when necessary
US5319774A (en) * 1990-05-16 1994-06-07 International Business Machines Corporation Recovery facility for incomplete sync points for distributed application
JP3293839B2 (ja) * 1990-05-16 2002-06-17 インターナショナル・ビジネス・マシーンズ・コーポレーション 作業ユニットに合わせてコミット範囲を調整するコンピュータ・システム
US5276876A (en) * 1990-05-16 1994-01-04 International Business Machines Corporation Registration of resources for commit procedures
US5327532A (en) * 1990-05-16 1994-07-05 International Business Machines Corporation Coordinated sync point management of protected resources
US5319773A (en) * 1990-05-16 1994-06-07 International Business Machines Corporation Asynchronous resynchronization of a commit procedure
US5165031A (en) * 1990-05-16 1992-11-17 International Business Machines Corporation Coordinated handling of error codes and information describing errors in a commit procedure
US5255389A (en) * 1990-06-21 1993-10-19 International Business Machines Corporation Document interchange replace option via a copy command
EP0540680A4 (en) * 1990-07-20 1993-11-18 Temple University Of The Commonwealth System Of Higher Education System for high-level virtual computer with heterogeneous operating systems
US5226176A (en) * 1990-08-20 1993-07-06 Microsystems, Inc. System for selectively aborting operation or waiting to load required data based upon user response to non-availability of network load device
JPH05134957A (ja) * 1990-10-10 1993-06-01 Fuji Xerox Co Ltd データ管理システム
JP3074737B2 (ja) * 1990-12-29 2000-08-07 カシオ計算機株式会社 ファイル更新処理装置
JP3270102B2 (ja) * 1991-03-11 2002-04-02 ヒューレット・パッカード・カンパニー ライセンス付与方法及びシステム
JP3032788B2 (ja) * 1991-05-08 2000-04-17 ディジタル イクイプメント コーポレイション ライセンス管理システム
US5293619A (en) * 1991-05-30 1994-03-08 Sandia Corporation Method and apparatus for collaborative use of application program
EP0519109B1 (de) * 1991-06-21 1998-12-23 International Business Machines Corporation Zugriffskontrolle in Rechnernetzen
CA2071804A1 (en) * 1991-06-24 1992-12-25 Ronald G. Ward Computer system manager
CA2072178A1 (en) * 1991-06-24 1992-12-25 Said S. Saadeh Innate bus monitor for computer system manager
US5260999A (en) * 1991-06-28 1993-11-09 Digital Equipment Corporation Filters in license management system
EP0520709A3 (en) * 1991-06-28 1994-08-24 Digital Equipment Corp A method for providing a security facility for remote systems management
US5438508A (en) * 1991-06-28 1995-08-01 Digital Equipment Corporation License document interchange format for license management system
US5204897A (en) * 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
CA2067633C (en) * 1991-07-24 1996-10-01 Eric Jonathan Bauer Method and apparatus for accessing a computer-based file system
JPH0575628A (ja) * 1991-09-13 1993-03-26 Fuji Xerox Co Ltd ネツトワーク資源監視システム
EP0537903A2 (de) * 1991-10-02 1993-04-21 International Business Machines Corporation Verteiltes Kontrollsystem
DE69225389T2 (de) * 1991-12-20 1998-09-10 Int Computers Ltd Programmattributsteuerung in einem Rechnersystem
US5778348A (en) * 1991-12-24 1998-07-07 Pitney Bowes Inc. Remote activation of rating capabilities in a computerized parcel manifest system
US5956505A (en) * 1991-12-24 1999-09-21 Pitney Bowes Inc. Remote activation of software features in a data processing device
US5257381A (en) * 1992-02-28 1993-10-26 Intel Corporation Method of intercepting a global function of a network operating system and calling a monitoring function
US5243596A (en) * 1992-03-18 1993-09-07 Fischer & Porter Company Network architecture suitable for multicasting and resource locking
US5628014A (en) * 1992-03-20 1997-05-06 Paranode, Inc. Methods and apparatus for node caching at the file level
US5642515A (en) * 1992-04-17 1997-06-24 International Business Machines Corporation Network server for local and remote resources
JPH0619771A (ja) * 1992-04-20 1994-01-28 Internatl Business Mach Corp <Ibm> 異種のクライアントによる共用ファイルのファイル管理機構
JP2659896B2 (ja) * 1992-04-29 1997-09-30 インターナショナル・ビジネス・マシーンズ・コーポレイション 構造化文書複製管理方法及び構造化文書複製管理装置
CA2094410C (en) * 1992-06-18 1998-05-05 Joshua Seth Auerbach Distributed management communications network
EP0581421B1 (de) * 1992-07-20 2003-01-15 Compaq Computer Corporation Verfahren und Sytem um, auf Bescheinigung gestützt, Alias zu entdecken
EP0592080A2 (de) * 1992-09-24 1994-04-13 International Business Machines Corporation Verfahren und Gerät für Kommunikation zwischen Prozessen in einem Multirechnersystem
US5421004A (en) * 1992-09-24 1995-05-30 International Business Machines Corporation Hierarchical testing environment
WO1994010804A1 (en) * 1992-10-27 1994-05-11 Oakleigh Systems, Inc. Access control security system using digital communication
GB2273800A (en) * 1992-12-24 1994-06-29 Ibm Distributed data processing system
US5896531A (en) * 1993-02-26 1999-04-20 International Business Machines Corporation Method and system for managing environments with a data processing system
EP0618540B1 (de) * 1993-04-01 2001-12-12 Microsoft Corporation Gemeinsamer Speicherbereich für lange und kurze Dateinamen
US6286013B1 (en) * 1993-04-01 2001-09-04 Microsoft Corporation Method and system for providing a common name space for long and short file names in an operating system
WO1994025913A2 (en) * 1993-04-30 1994-11-10 Novadigm, Inc. Method and apparatus for enterprise desktop management
US6138126A (en) * 1995-05-31 2000-10-24 Network Appliance, Inc. Method for allocating files in a file system integrated with a raid disk sub-system
US6604118B2 (en) 1998-07-31 2003-08-05 Network Appliance, Inc. File system image transfer
DE69435146D1 (de) * 1993-06-03 2008-11-13 Network Appliance Inc Verfahren und Vorrichtung zum Beschreiben beliebiger Bereiche eines Dateisystems
WO1994029796A1 (en) * 1993-06-03 1994-12-22 Network Appliance Corporation A method for allocating files in a file system integrated with a raid disk sub-system
US7174352B2 (en) 1993-06-03 2007-02-06 Network Appliance, Inc. File system image transfer
EP0701715A4 (de) * 1993-06-04 1999-11-17 Network Appliance Corp Verfahren zur paritätsdarstellung in einem raid-untersystem unter verwendung eines nichtflüchtigen speichers
US5359660A (en) * 1993-10-07 1994-10-25 International Business Machines Corporation Local area network peripheral lock method and system
US6026454A (en) * 1993-12-17 2000-02-15 Packard Bell Nec, Inc. Interface for multiplexing and reformatting information transfer between device driver programs and a network application program which only accepts information in a predetermined format
JP3428711B2 (ja) * 1993-12-29 2003-07-22 キヤノン株式会社 情報処理システム
US5657451A (en) * 1994-01-24 1997-08-12 Telefonaktiebolaget Lm Ericsson System for determining whether to accept new supplementary services based upon identified types of supplementary service interactions and identified supplementary service interaction criteria
US6658488B2 (en) 1994-02-28 2003-12-02 Teleflex Information Systems, Inc. No-reset option in a batch billing system
US6708226B2 (en) 1994-02-28 2004-03-16 At&T Wireless Services, Inc. Multithreaded batch processing system
US7412707B2 (en) * 1994-02-28 2008-08-12 Peters Michael S No-reset option in a batch billing system
US5668993A (en) 1994-02-28 1997-09-16 Teleflex Information Systems, Inc. Multithreaded batch processing system
US5999916A (en) * 1994-02-28 1999-12-07 Teleflex Information Systems, Inc. No-reset option in a batch billing system
WO1995023372A1 (en) * 1994-02-28 1995-08-31 Teleflex Information Systems, Inc. Method and apparatus for processing discrete billing events
US5586274A (en) * 1994-03-24 1996-12-17 Hewlett-Packard Company Atomic operation control scheme
JP3454947B2 (ja) * 1994-06-07 2003-10-06 富士通株式会社 パーソナル通信サービス分散制御システム
US5564017A (en) * 1994-06-30 1996-10-08 International Business Machines Corporation Procedure for safely terminating network programs during network logoff
US6219726B1 (en) * 1994-07-27 2001-04-17 International Business Machines Corporation System for providing access protection on media storage devices by selecting from a set of generated control parameters in accordance with application attributes
US5513351A (en) * 1994-07-28 1996-04-30 International Business Machines Corporation Protecting a system during system maintenance by usage of temporary filenames in an alias table
US5701463A (en) * 1994-09-09 1997-12-23 Cheyenne Advanced Technology Limited Method of replacing the identity of a file with another as part of a file open request in a computer system
JPH0887460A (ja) * 1994-09-19 1996-04-02 Seiko Epson Corp インストールシステム
US5978594A (en) * 1994-09-30 1999-11-02 Bmc Software, Inc. System for managing computer resources across a distributed computing environment by first reading discovery information about how to determine system resources presence
US5553239A (en) * 1994-11-10 1996-09-03 At&T Corporation Management facility for server entry and application utilization in a multi-node server configuration
US5684956A (en) * 1994-11-14 1997-11-04 Billings; Roger E. Data transmission system with parallel packet delivery
US5745748A (en) * 1994-12-09 1998-04-28 Sprint Communication Co. L.P. System and method for direct accessing of remote data
US5680549A (en) * 1994-12-30 1997-10-21 Compuserve Incorporated System for transferring network connections from first to second program where the first enters an inactive state and resumes control of connections when second terminates
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
US5640540A (en) * 1995-02-13 1997-06-17 International Business Machines Corporation Method and apparatus for translating key codes between servers over a conference networking system
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US7133846B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
EP0861461B2 (de) 1995-02-13 2012-03-07 Intertrust Technologies Corp Systeme und verfahren für ein sicheres übertragungsmanagement und elektronischerrechtsschutz
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
JPH08249254A (ja) * 1995-03-15 1996-09-27 Mitsubishi Electric Corp マルチコンピュータシステム
US5740438A (en) * 1995-03-31 1998-04-14 International Business Machines Corporation Methods and system for network communications of multiple partitions
US5729682A (en) * 1995-06-07 1998-03-17 International Business Machines Corporation System for prompting parameters required by a network application and using data structure to establish connections between local computer, application and resources required by application
US5956712A (en) * 1995-06-07 1999-09-21 International Business Machines Corporation Byte range locking in a distributed environment
JP3778593B2 (ja) * 1995-06-23 2006-05-24 富士通株式会社 システム資源管理装置および管理方法
US5668958A (en) * 1995-09-12 1997-09-16 International Business Machines Corporation Heterogeneous filing system with common API and reconciled file management rules
US6006018A (en) * 1995-10-03 1999-12-21 International Business Machines Corporation Distributed file system translator with extended attribute support
US5953514A (en) * 1995-10-23 1999-09-14 Apple Computer, Inc. Method and apparatus for transparent remote execution of commands
US6219045B1 (en) * 1995-11-13 2001-04-17 Worlds, Inc. Scalable virtual world chat client-server system
KR100295957B1 (ko) * 1996-05-18 2001-10-24 박종섭 프로그램 다운로딩을 위한 동적 식별번호 부여방법
US6263442B1 (en) * 1996-05-30 2001-07-17 Sun Microsystems, Inc. System and method for securing a program's execution in a network environment
US7555458B1 (en) 1996-06-05 2009-06-30 Fraud Control System.Com Corporation Method of billing a purchase made over a computer network
US20030195848A1 (en) 1996-06-05 2003-10-16 David Felger Method of billing a purchase made over a computer network
US8229844B2 (en) 1996-06-05 2012-07-24 Fraud Control Systems.Com Corporation Method of billing a purchase made over a computer network
US5796633A (en) * 1996-07-12 1998-08-18 Electronic Data Systems Corporation Method and system for performance monitoring in computer networks
US5696701A (en) * 1996-07-12 1997-12-09 Electronic Data Systems Corporation Method and system for monitoring the performance of computers in computer networks using modular extensions
US5946463A (en) * 1996-07-22 1999-08-31 International Business Machines Corporation Method and system for automatically performing an operation on multiple computer systems within a cluster
US5790788A (en) * 1996-07-23 1998-08-04 International Business Machines Corporation Managing group events by a name server for a group of processors in a distributed computing environment
US5828840A (en) * 1996-08-06 1998-10-27 Verifone, Inc. Server for starting client application on client if client is network terminal and initiating client application on server if client is non network terminal
US7249344B1 (en) 1996-10-31 2007-07-24 Citicorp Development Center, Inc. Delivery of financial services to remote devices
US5867153A (en) 1996-10-30 1999-02-02 Transaction Technology, Inc. Method and system for automatically harmonizing access to a software application program via different access devices
US5949975A (en) * 1997-03-12 1999-09-07 Microsoft Corp. Method and system for negotiating capabilities when sharing an application program with multiple computer systems
US6389464B1 (en) 1997-06-27 2002-05-14 Cornet Technology, Inc. Device management system for managing standards-compliant and non-compliant network elements using standard management protocols and a universal site server which is configurable from remote locations via internet browser technology
US6453352B1 (en) * 1997-07-14 2002-09-17 Electronic Data Systems Corporation Integrated electronic commerce system and method
DE19731116A1 (de) * 1997-07-19 1999-01-28 Bosch Gmbh Robert Steuergerät für ein System und Verfahren zum Betrieb eines Steuergerätes
US6516351B2 (en) 1997-12-05 2003-02-04 Network Appliance, Inc. Enforcing uniform file-locking for diverse file-locking protocols
US6192518B1 (en) 1998-01-22 2001-02-20 Mis Only, Inc. Method for distributing software over network links via electronic mail
US6457130B2 (en) 1998-03-03 2002-09-24 Network Appliance, Inc. File access control in a multi-protocol file server
US6317844B1 (en) 1998-03-10 2001-11-13 Network Appliance, Inc. File server storage arrangement
US7096358B2 (en) * 1998-05-07 2006-08-22 Maz Technologies, Inc. Encrypting file system
US6343984B1 (en) 1998-11-30 2002-02-05 Network Appliance, Inc. Laminar flow duct cooling system
US6266774B1 (en) * 1998-12-08 2001-07-24 Mcafee.Com Corporation Method and system for securing, managing or optimizing a personal computer
US6327355B1 (en) 1999-01-29 2001-12-04 Telefonaktiebolaget Lm Ericsson (Publ) Use of platform-independent code for supporting services in an intelligent network
US6324581B1 (en) * 1999-03-03 2001-11-27 Emc Corporation File server system using file system storage, data movers, and an exchange of meta data among data movers for file locking and direct access to shared file systems
US7010554B2 (en) * 2002-04-04 2006-03-07 Emc Corporation Delegation of metadata management in a storage system by leasing of free file system blocks and i-nodes from a file system owner
US6434594B1 (en) 1999-03-09 2002-08-13 Talk2 Technology, Inc. Virtual processing network enabler
US6341314B1 (en) * 1999-03-30 2002-01-22 International Business Machines Corporation Web-based virtual computing machine
WO2000062176A1 (en) * 1999-04-13 2000-10-19 Sony Electronics Inc. System for establishing and maintaining connections and confirming format compatibility between units, subunits and content
US6513121B1 (en) * 1999-07-20 2003-01-28 Avaya Technology Corp. Securing feature activation in a telecommunication system
US6968384B1 (en) 1999-09-03 2005-11-22 Safenet, Inc. License management system and method for commuter licensing
US7716348B1 (en) 1999-09-03 2010-05-11 Safenet, Inc. License management system and method with license balancing
US6842896B1 (en) 1999-09-03 2005-01-11 Rainbow Technologies, Inc. System and method for selecting a server in a multiple server license management system
US7035918B1 (en) 1999-09-03 2006-04-25 Safenet Canada. Inc. License management system and method with multiple license servers
US7130315B1 (en) 1999-09-10 2006-10-31 Sony Corporation Method of and apparatus for utilizing extended AV/C command and response frames including transaction label and common result/error code
EP1087293A3 (de) * 1999-09-24 2006-02-01 Hitachi, Ltd. Ein Rechnersystem und ein Programminstallierungsverfahren davon
US6578054B1 (en) * 1999-10-04 2003-06-10 Microsoft Corporation Method and system for supporting off-line mode of operation and synchronization using resource state information
EP1188294B1 (de) 1999-10-14 2008-03-26 Bluearc UK Limited Vorrichtung und verfahren zur hardware-ausführung oder hardware-beschleunigung von betriebssystemfunktionen
US6907463B1 (en) * 1999-10-19 2005-06-14 Audiogalaxy, Inc. System and method for enabling file transfers executed in a network environment by a software program
US6816882B1 (en) * 2000-05-31 2004-11-09 International Business Machines Corporation System and method for automatically negotiating license agreements and installing arbitrary user-specified applications on application service providers
US7024696B1 (en) 2000-06-14 2006-04-04 Reuben Bahar Method and system for prevention of piracy of a given software application via a communications network
US6647448B1 (en) 2000-06-29 2003-11-11 Sony Corporation Method and apparatus for managing resource schedules in a peer to peer distributed networking environment
US6901444B1 (en) * 2000-06-30 2005-05-31 Sony Corporation Method of and apparatus for communicating data structures between devices in a networking environment
US8566248B1 (en) 2000-08-04 2013-10-22 Grdn. Net Solutions, Llc Initiation of an information transaction over a network via a wireless device
US9928508B2 (en) * 2000-08-04 2018-03-27 Intellectual Ventures I Llc Single sign-on for access to a central data repository
US7257581B1 (en) 2000-08-04 2007-08-14 Guardian Networks, Llc Storage, management and distribution of consumer information
US7353252B1 (en) 2001-05-16 2008-04-01 Sigma Design System for electronic file collaboration among multiple users using peer-to-peer network topology
US7325234B2 (en) * 2001-05-25 2008-01-29 Siemens Medical Solutions Health Services Corporation System and method for monitoring computer application and resource utilization
US7003604B2 (en) * 2001-10-04 2006-02-21 Sony Corporation Method of and apparatus for cancelling a pending AV/C notify command
US6944704B2 (en) * 2001-10-04 2005-09-13 Sony Corporation Method and apparatus for utilizing extended AV/C command frames including status inquiry, notify inquiry and control inquiry command types
US7529778B1 (en) 2001-12-12 2009-05-05 Microsoft Corporation System and method for providing access to consistent point-in-time file versions
US6909910B2 (en) 2002-02-01 2005-06-21 Microsoft Corporation Method and system for managing changes to a contact database
US8166185B2 (en) * 2002-03-05 2012-04-24 Hewlett-Packard Development Company, L.P. System and method for enterprise software distribution
US6983449B2 (en) 2002-03-15 2006-01-03 Electronic Data Systems Corporation System and method for configuring software for distribution
US7590618B2 (en) * 2002-03-25 2009-09-15 Hewlett-Packard Development Company, L.P. System and method for providing location profile data for network nodes
WO2003104947A2 (en) 2002-06-06 2003-12-18 Hardt Dick C Distributed hierarchical identity management
US7885896B2 (en) 2002-07-09 2011-02-08 Avaya Inc. Method for authorizing a substitute software license server
US8041642B2 (en) 2002-07-10 2011-10-18 Avaya Inc. Predictive software license balancing
US7681245B2 (en) 2002-08-30 2010-03-16 Avaya Inc. Remote feature activator feature extraction
US7228567B2 (en) * 2002-08-30 2007-06-05 Avaya Technology Corp. License file serial number tracking
US7966520B2 (en) 2002-08-30 2011-06-21 Avaya Inc. Software licensing for spare processors
US7698225B2 (en) 2002-08-30 2010-04-13 Avaya Inc. License modes in call processing
US7707116B2 (en) 2002-08-30 2010-04-27 Avaya Inc. Flexible license file feature controls
US20040078339A1 (en) * 2002-10-22 2004-04-22 Goringe Christopher M. Priority based licensing
US7457822B1 (en) 2002-11-01 2008-11-25 Bluearc Uk Limited Apparatus and method for hardware-based file system
US8041735B1 (en) 2002-11-01 2011-10-18 Bluearc Uk Limited Distributed file system and method
US7890997B2 (en) 2002-12-26 2011-02-15 Avaya Inc. Remote feature activation authentication file system
US20040157557A1 (en) * 2003-02-07 2004-08-12 Lockheed Martin Corporation System for a dynamic ad-hoc wireless network
JP4120415B2 (ja) * 2003-02-10 2008-07-16 株式会社日立製作所 トラフィック制御計算装置
JP2004258840A (ja) * 2003-02-25 2004-09-16 Hitachi Ltd 仮想化されたi/oデバイスをもつ計算機システム
US7260557B2 (en) * 2003-02-27 2007-08-21 Avaya Technology Corp. Method and apparatus for license distribution
US7743022B2 (en) 2003-02-28 2010-06-22 Microsoft Corporation Method and system for synchronizing data shared among peer computing devices
US7373657B2 (en) * 2003-03-10 2008-05-13 Avaya Technology Corp. Method and apparatus for controlling data and software access
US7640324B2 (en) * 2003-04-15 2009-12-29 Microsoft Corporation Small-scale secured computer network group without centralized management
US8103592B2 (en) * 2003-10-08 2012-01-24 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf of first process
US7788496B2 (en) * 2003-10-08 2010-08-31 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf thereof
US7979911B2 (en) 2003-10-08 2011-07-12 Microsoft Corporation First computer process and second computer process proxy-executing code from third computer process on behalf of first process
JP4311636B2 (ja) * 2003-10-23 2009-08-12 株式会社日立製作所 記憶装置を複数の計算機で共用する計算機システム
US7644376B2 (en) 2003-10-23 2010-01-05 Microsoft Corporation Flexible architecture for notifying applications of state changes
US7516200B2 (en) * 2003-12-18 2009-04-07 Sap Ag. Aggregation and integration scheme for grid relevant customization information
US20050165748A1 (en) * 2004-01-15 2005-07-28 Seagate Technology Llc Method and apparatus for querying a computerized database
US7353388B1 (en) 2004-02-09 2008-04-01 Avaya Technology Corp. Key server for securing IP telephony registration, control, and maintenance
US7272500B1 (en) 2004-03-25 2007-09-18 Avaya Technology Corp. Global positioning system hardware key for software licenses
DE102004016473A1 (de) * 2004-03-31 2005-10-20 Bosch Gmbh Robert Ablaufsteuerung von Funktionen auf miteinander wechselwirkenden Geräten
US7834819B2 (en) * 2004-04-01 2010-11-16 Polyvision Corporation Virtual flip chart method and apparatus
US20070044028A1 (en) * 2004-04-01 2007-02-22 Dunn Michael H Virtual flip chart method and apparatus
US7948448B2 (en) 2004-04-01 2011-05-24 Polyvision Corporation Portable presentation system and methods for use therewith
US20060095483A1 (en) * 2004-04-23 2006-05-04 Waratek Pty Limited Modified computer architecture with finalization of objects
US7844665B2 (en) 2004-04-23 2010-11-30 Waratek Pty Ltd. Modified computer architecture having coordinated deletion of corresponding replicated memory locations among plural computers
US7788314B2 (en) 2004-04-23 2010-08-31 Waratek Pty Ltd. Multi-computer distributed processing with replicated local memory exclusive read and write and network value update propagation
US20050251792A1 (en) * 2004-05-06 2005-11-10 Smith David W System for adaptively determining executable application operation characteristics
US8527752B2 (en) 2004-06-16 2013-09-03 Dormarke Assets Limited Liability Graduated authentication in an identity management system
US9245266B2 (en) 2004-06-16 2016-01-26 Callahan Cellular L.L.C. Auditable privacy policies in a distributed hierarchical identity management system
US8504704B2 (en) 2004-06-16 2013-08-06 Dormarke Assets Limited Liability Company Distributed contact information management
US7617256B2 (en) * 2004-07-19 2009-11-10 Microsoft Corporation Remote file updates through remote protocol
US7707405B1 (en) 2004-09-21 2010-04-27 Avaya Inc. Secure installation activation
US7270228B2 (en) * 2004-09-22 2007-09-18 Metal Fabricating Corporation Hanger for conveyor assembly
US7747851B1 (en) 2004-09-30 2010-06-29 Avaya Inc. Certificate distribution via license files
US8229858B1 (en) 2004-09-30 2012-07-24 Avaya Inc. Generation of enterprise-wide licenses in a customer environment
US7965701B1 (en) 2004-09-30 2011-06-21 Avaya Inc. Method and system for secure communications with IP telephony appliance
US7873596B2 (en) 2006-05-23 2011-01-18 Microsoft Corporation Extending cluster allocations in an extensible file system
US8606830B2 (en) 2004-12-17 2013-12-10 Microsoft Corporation Contiguous file allocation in an extensible file system
US8321439B2 (en) 2004-12-17 2012-11-27 Microsoft Corporation Quick filename lookup using name hash
US9639554B2 (en) * 2004-12-17 2017-05-02 Microsoft Technology Licensing, Llc Extensible file system
US8332526B2 (en) 2005-05-25 2012-12-11 Microsoft Corporation Data communication protocol including negotiation and command compounding
US20070038697A1 (en) * 2005-08-03 2007-02-15 Eyal Zimran Multi-protocol namespace server
US7617216B2 (en) * 2005-09-07 2009-11-10 Emc Corporation Metadata offload for a file server cluster
US20070055703A1 (en) * 2005-09-07 2007-03-08 Eyal Zimran Namespace server using referral protocols
US7814023B1 (en) 2005-09-08 2010-10-12 Avaya Inc. Secure download manager
US20070088702A1 (en) * 2005-10-03 2007-04-19 Fridella Stephen A Intelligent network client for multi-protocol namespace redirection
DE102007010789A1 (de) 2007-03-02 2008-09-04 Deutsche Thomson Ohg Verfahren zum Betreiben eines Netzwerkes sowie lokales Netzwerk und Netzwerkkomponente
US8898355B2 (en) * 2007-03-29 2014-11-25 Lenovo (Singapore) Pte. Ltd. Diskless client using a hypervisor
US7941657B2 (en) * 2007-03-30 2011-05-10 Lenovo (Singapore) Pte. Ltd Multi-mode mobile computer with hypervisor affording diskless and local disk operating environments
US7530106B1 (en) 2008-07-02 2009-05-05 Kaspersky Lab, Zao System and method for security rating of computer processes
US8949925B2 (en) * 2008-08-01 2015-02-03 Dell Products, Lp System and method for roaming protected content backup and distribution
US9633183B2 (en) 2009-06-19 2017-04-25 Uniloc Luxembourg S.A. Modular software protection
US8631277B2 (en) 2010-12-10 2014-01-14 Microsoft Corporation Providing transparent failover in a file system
US9331955B2 (en) 2011-06-29 2016-05-03 Microsoft Technology Licensing, Llc Transporting operations of arbitrary size over remote direct memory access
US8856582B2 (en) 2011-06-30 2014-10-07 Microsoft Corporation Transparent failover
US20130067095A1 (en) 2011-09-09 2013-03-14 Microsoft Corporation Smb2 scaleout
US8788579B2 (en) 2011-09-09 2014-07-22 Microsoft Corporation Clustered client failover
US8881145B2 (en) * 2011-12-15 2014-11-04 Industrial Technology Research Institute System and method for generating application-level dependencies in one or more virtual machines
US10264213B1 (en) 2016-12-15 2019-04-16 Steelcase Inc. Content amplification system and method

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2469751A1 (fr) * 1979-11-07 1981-05-22 Philips Data Syst Processeur d'intercommunication du systeme utilise dans un systeme de traitement de donnees reparti
US4430728A (en) * 1981-12-29 1984-02-07 Marathon Oil Company Computer terminal security system
US4503499A (en) * 1982-09-14 1985-03-05 Eaton Corporation Controlled work flow system
SE448919B (sv) * 1983-03-04 1987-03-23 Ibm Svenska Ab Metod for att overfora informationsenheter i ett datornetsystem, samt datornetsystem for genomforande av metoden
US4633430A (en) * 1983-10-03 1986-12-30 Wang Laboratories, Inc. Control structure for a document processing system
US4564903A (en) * 1983-10-05 1986-01-14 International Business Machines Corporation Partitioned multiprocessor programming system
US4649533A (en) * 1983-10-25 1987-03-10 Keycom Electronic Publishing Method and apparatus for retrieving remotely located information
US4604694A (en) * 1983-12-14 1986-08-05 International Business Machines Corporation Shared and exclusive access control
US4633245A (en) * 1983-12-30 1986-12-30 International Business Machines Corporation Local area network interconnect switching system
DE3408904A1 (de) * 1984-03-10 1985-09-12 Philips Kommunikations Industrie AG, 8500 Nürnberg Schaltungsanordnung zur abwehr des unberechtigten zugangs zu einem durch teilnehmerindividuelle passworte gesicherten kommunikationssystem
US4677434A (en) * 1984-10-17 1987-06-30 Lotus Information Network Corp. Access control system for transmitting data from a central station to a plurality of receiving stations and method therefor

Also Published As

Publication number Publication date
EP0254854A2 (de) 1988-02-03
EP0254854A3 (en) 1990-05-09
EP0254854B1 (de) 1994-03-02
US4780821A (en) 1988-10-25
DE3789175D1 (de) 1994-04-07
BR8703308A (pt) 1988-03-15
JP2506795B2 (ja) 1996-06-12
JPS6336458A (ja) 1988-02-17

Similar Documents

Publication Publication Date Title
DE3789175T2 (de) Programmverwaltung für mehrere zentrale Verarbeitungseinheiten.
DE69605568T2 (de) Verfahren zum schaffen eines benutzerglobalen namenraums in einem mehrbenutzer-betriebssystem
DE69429686T2 (de) Transaktionsverwaltung in objektorientiertem System
DE69328162T2 (de) Gerät und Verfahren zum Verfügbarstellen eines Teiles eines Namensraumes als ein Teil eines anderen Namensraumes
DE69331599T2 (de) Verfahren und Vorrichtung für einen Dateiprozessor mit Cachespeicher
DE69617509T2 (de) Vorrichtung und Verfahren zur Feststellung von Objekttypen in einem verteilten Objektsystem
DE69802437T2 (de) Feinkörniger übereinstimmungsmechanismus für optimistische parallelsteuerung mit verriegelungsgruppen
DE3851049T2 (de) Ein Sicherheitswegmechanismus für ein Betriebssystem.
DE69024753T2 (de) Tragbarer, Ressourcen teilender Datei-Server, der gemeinsame Routines benutzt
DE69936162T2 (de) Verfahren und Gerät für ein objektorientiertes Unterbrechungssystem
DE69531112T2 (de) Mechanismus zum verknüpfen von dateien auf einem emulierten system mit dem zentralsystem für den zugriff durch emulierte systembenutzer
DE69129479T2 (de) Verteiltes Rechnersystem
DE69728176T2 (de) Verfahren und gerät das verteilte steuerung von gemeinsamen betriebsmitteln erlaubt
DE69736697T2 (de) Verfahren und Gerät zur Steuerung von Zugriff auf Systembetriebsmittel
DE69907776T2 (de) Verfahren und Vorrichtung zur Identifizierung gefährdeter Bauteile in einem System mit redundanten Bauteilen
DE69901176T2 (de) Rechnersystem mit einem emulationscoprozessor und verfahren zur emulation eines anwendungsprogramms
DE69112156T2 (de) Gerät zur Realisierung von Datenbanken zum Verschaffen von objektorientiertem Aufrufen von Anwendungsprogrammen.
DE69228350T2 (de) Verwaltungssschnittstelle und format für lizenzverwaltungssystem
DE69424597T2 (de) Erweiterbares Dateiensystem
DE69229156T2 (de) Digitaldatenprozessor mit verbesserter Wiederanlaufkennzeichnung und Verzweigung
DE69428741T2 (de) Dateisicherungssystem
DE69231436T2 (de) Verfahren und Gerät um auf ein rechnergestütztes Dateiensystem zuzugreifen
DE69510226T2 (de) Verfahren und vorrichtung zur aktualisierung oder änderung eines netzwerkverzeichnisses
DE3854384T2 (de) Verfahren zum Betreiben eines einen anteilig genutzten virtuellen Speicher verwendenden Multiprozessorsystems.
DE3786069T2 (de) Virtueller Programmablauf auf einem Mehrfachverarbeitungssystem.

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8339 Ceased/non-payment of the annual fee