DE10296682T5 - Integriertes Verfahren zur Aufteilung von Netzwerkdatendienstleistungen unter mehreren Teilnehmern - Google Patents

Integriertes Verfahren zur Aufteilung von Netzwerkdatendienstleistungen unter mehreren Teilnehmern Download PDF

Info

Publication number
DE10296682T5
DE10296682T5 DE10296682T DE10296682T DE10296682T5 DE 10296682 T5 DE10296682 T5 DE 10296682T5 DE 10296682 T DE10296682 T DE 10296682T DE 10296682 T DE10296682 T DE 10296682T DE 10296682 T5 DE10296682 T5 DE 10296682T5
Authority
DE
Germany
Prior art keywords
participant
session
database
access
information
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.)
Withdrawn
Application number
DE10296682T
Other languages
English (en)
Inventor
Joris J. Acton Wils
Beth K. Stow Miaoulis
Jack J. Marion Stiffler
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.)
EMC Corp
Original Assignee
EMC 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 EMC Corp filed Critical EMC Corp
Publication of DE10296682T5 publication Critical patent/DE10296682T5/de
Withdrawn legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/101Access control lists [ACL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/61Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources taking into account QoS or priority requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1485Tariff-related aspects
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • 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
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Abstract

Verfahren zur Aufteilung von Netzwerk-Datendienstleistungen unter einer Mehrzahl von Teilnehmern, um es einer Mehrzahl von Ausgangsteilnehmern zu gestatten, selektiv Zugriff auf eine Mehrzahl von Bestimmungsteilnehmern zu nehmen, welche Datendienstleistungen anbieten, wobei jeder Bestimmungsteilnehmer an einer Bestimmungsadresse gelegen ist, und das Verfahren folgendes umfaßt:
(a) Definieren einer Mehrzahl unabhängiger Netzwerke, von denen jedes eine Gruppe von Zugangsanschlüssen und eine einzigartige Gruppe von Bestimmungsadressen aufweist und logisch getrennt von allen anderen unabhängigen Netzwerken ist, so daß keine Information von einem unabhängigen Netzwerk zu einem anderen unabhängigen Netzwerk gelangen kann;
(b) Verwenden, wenn ein Ausgangsteilnehmer mit einer Identität eine Anfrage macht, um ein erstes unabhängiges Netzwerk zu verwenden, um die Verbindung zu einem Bestimmungsteilnehmer herzustellen und Zugriff auf eine Ressource zu nehmen, der genannten Identität zur Feststellung, ob der Ausgangsteilnehmer die Erlaubnis hat, das erste Netzwerk zu verwenden;
(c) Feststellen, falls der Ausgangsteilnehmer die Erlaubnis zur Verwendung des ersten...

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Erfindung betrifft die Bereitstellung von Datendiensten einschließlich Datenspeicherdiensten, von einem mittig gelegenen Datenzentrum über ein Netzwerk für eine Mehrzahl von Datenserviceteilnehmern, und die Mechanismen zur Sicherstellung, daß die gebotenen Dienste vorbestimmte Sicherheits- und Qualitätsanforderungen der Dienstleistungsziele erfüllen.
  • HINTERGRUND DER ERFINDUNG
  • Datenservicezentren bieten Teilnehmern Zugang zu einer Vielfalt von Datendienstleistungen unter Verwendung einer Vielfalt von Protokollen. In vielen Fällen umfassen diese Dienstleitungen den Zugang zu einer zentralen Datenbank, welche aus vielen Datenspeichermitteln bestehen kann. Die Datenbank, zu welcher die Teilnehmer Zugang suchen, speichert im Allgemeinen sowohl statische als auch dynamische Inhalte einschließlich Textdateien und graphische Dateien, Videodateien und Animationsdateien, digitale Musik, digitale Bibliotheken, Aktienmarktberichte und individuelle Portfolioberichte, finanzielle Aussagen und viele andere Arten von Informationen. Die Protokolle, welche für den Zugriff zu den gespeicherten Informationen verwendet werden, umfassen Hypertext Transfer Protocoll (HTTP), File Transfer Protocol (FTP), Transmission Control Protocol (TCP), User Datagram Protocol (UDP), Network File System (NFS), Web-based NFS (WebNFS), Small Computer System Interface (SCSI) and Common Internet File System (CIFS) als Protokolle.
  • Ein typisches Datendienstleistungszentrum muß im Allgemeinen seine Dienstleitungen gleichzeitig für eine große Anzahl von Teilnehmern unter Verwendung von vielerlei Kombinationen dieser Protokolle verfügbar machen. Weiter muß das Zentrum für jeden Teilnehmer Sicherheitsdienste bieten, welche andere Teilnehmer daran hindern, unberechtigten Zugriff auf die Teilnehmerdaten zu nehmen. Das Datenbankzentrum muß weiter Abrechnungsdienste bieten, um den Teilnehmern die gebotenen Dienstleistungen in Rechnung zu stellen und ein Verkehrsprofil einstellen zu können.
  • Sämtliche dieser Dienstleistungen müssen in Übereinstimmung mit vorbestimmten Qualitäts- und Dienstleistungsvorgaben geboten werden, welche mit den Teilnehmern vereinbart sind. Weiter müssen die Dienstleistungen in differenzierter Weise durchgeführt werden, wobei jeder Teilnehmer die Art von Dienstleistung erhält, welche er abonniert hat.
  • Dienstleistungssysteme nach dem Stande der Technik verwendeten gesonderte Prozeduren für die individuelle Handhabung jeder der vielerlei Anforderungen. Dienstleistungssysteme nach dem Stande der Technik geben nur eine sehr begrenzte Unterstützung für eine Mehrzahl von Teilnehmern. Sie bieten nicht gesonderte Dienstleistungsqualität und Abrechnungsmodi. Sie bieten nur eine schwache Auftrennung des Zugriffs. Aus diesem Grunde müßten praktisch Datenzentrumsadministratoren körperlich getrennte Datenservicesysteme für jeden Teilnehmer aufbauen, was zu einem wesentlich erhöhten Kapitalaufwand und Aufwand für Unterhaltung und Administration führen würde.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Gemäß den Grundsätzen der Erfindung verwenden ein Verfahren und eine Einrichtung zur Aufteilung von Netzwerk-Datendienstleistungen unter vielen Teilnehmern die Information, die in verschiedenen Tabellen gespeichert ist, um eine Mehrzahl unabhängiger Netzwerke zu definieren, wobei jedes unabhängige Netzwerk eine Gruppe von Zugriffsanschlüssen und eine einzigartige Gruppe von Bestimmungsadressen ent hält und logisch von allen anderen unabhängigen Netzwerken getrennt ist, so daß keine Information von einem unabhängigen Netzwerk zu einem anderem unabhängigen Netzwerk gelangen kann. Wenn ein Teilnehmer eine Anfrage macht, um ein unabhängiges Netzwerk zu verwenden, dann wird ein Teilnehmerschlüsselwort, das auf der Identität des Teilnehmers und dem Netzwerkzugriffsanschluß basiert, dazu verwendet, Zugriff auf die Informationen in den Tabellen zu nehmen, um zu bestimmen, ob der Teilnehmer die Erlaubnis hat, das unabhängige Netzwerk zu verwenden.
  • Wenn der Teilnehmer die Erlaubnis hat, das unabhängige Netzwerk zu verwenden, dann wird die aus den Tabellen gewonnene Information dazu verwendet, zu bestimmen, ob der Ursprungsteilnehmer oder ein Bestimmungsteilnehmer Kontrolle über die Ressource hat. Wenn ein Bestimmungsteilnehmer die Kontrolle über die Ressource hat, wird die in der Anfrage enthaltene Information dazu verwendet, einen Bestimmungsteilnehmer und einen Antwortanschluß zu identifizieren. Wenn ein Ursprungsteilnehmer oder Ausgangsteilnehmer die Kontrolle über die Ressource hat, so wird die Identität dazu Verwendet, zu bestimmen, ob der Ursprungsteilnehmer Zugriff zu der Ressource nehmen kann.
  • Gemäß einer anderen Ausführungsform der Erfindung ermöglicht es ein integriertes Verfahen einem Datendienstleistungssystem, zwei Niveaus der Sicherheit zu bieten, um sicherzustellen, daß nichtberechtigte Benutzer keinen Zugriff zu dem System erhalten oder Zugriff zu dessen geschützten Ressourcen zu erhalten.
  • Der erste Sicherheitspegel ist an der Netzwerkschnittstelle zu dem System gegeben, wo Benutzer, welche Zugriff auf das System zu nehmen suchen, gegenüber einer Datenbank berechtigter Benutzer einer Überprüfung unterzogen werden und nur zugelassen werden, wenn sie in diese Datenbank eingetragen worden sind. Eine zweite Sicherheitsschranke ist auf dem Niveau der Ressource vorgesehen, wo eine zweite Datenbank dazu verwendet wird, die Systemressourcen zu spezifizieren, zur welchen jeder Benutzer Zugriff hat.
  • Verpflichtungen bezüglich der Dienstleistungsqualität werden durch Abteilung von Systemkapazität auf der Basis eines Servicevertrages eines Teilnehmers berücksichtigt, wobei sichergestellt wird, daß kein Teilnehmer mehr als seinen Anteil dieser Kapazität zu dem Preis irgend eines anderen Teilnehmers erhält, welcher anderenfalls weniger als seinen gerechten Anteil erhielte. Zusätzlich wird jedem Teilnehmer gestattet, vorzuschreiben, wie seine Kapazität unter seinen verschiedenen Gebrauchsabschnitten oder Sessionen aufzuteilen ist, und die Prozedur bezüglich der Dienstleistungsqualität garantiert eine gerechte Aufteilung unter den Gebrauchsabschnitten oder Sessionen des Teilnehmers entsprechend diesen Vorschriften. Schließlich werden die Systemressourcen überwacht und die Ergebnisse dieser Überwachung dienen dazu, zu verhindern, daß Anfragen, welche gegenwärtig aufgrund ungenügender Systemressourcen nicht bedient werden können, die Dienstleistung bezüglich solcher Anfragen blockieren, welche bedient werden können.
  • Andere Ausführungsformen der vorliegenden Erfindung bieten auch Abrechnungsmerkmale, welche es jedem Teilnehmer an dem Datenservice ermöglichen, seine Verwendung des Systems zu überwachen, sowohl insgesamt als auch unterteilt nach den einzelnen Gebrauchsabschnitten, oder Sessionen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die obigen und weitere Vorteile der Erfindung ergebe sich noch deutlicher durch Bezugnahme auf die folgende Beschreibung in Verbindung mit den begleitenden Zeichnungen. In diesen stellen dar:
  • 1 eine Wiedergabe der verschiedenen Datenstrukturen, welche verwendet werden, um die Merkmale der Sicherheit, der Dienstleistungsqualität und der Abrechnung nach der Erfindung zu verwirklichen, sowie eine Darstellung der Beziehung unter diesen Strukturen;
  • 2 ein Flußdiagramm, welches das Ansprechen auf eine Anforderung einer Dienstleistung gemäß den Grundsätzen der Erfindung zeigt und insbesondere die Prozedur verdeutlicht, durch welche die Legitimiertheit einer Zugriffsanfrage festgestellt wird;
  • 3 ein Flußdiagramm, welches die Prozedur darstellt, welche zur Bestimmung verwendet wird, ob ein Benutzer, welcher Zugriff auf eine bestimmte Systemressource verlangt, tatsächlich die Erlaubnis hat, Zugriff auf diese Ressource zu nehmen;
  • 4 ein Flußdiagramm, welches die Prozedur zeigt, um eine Anfrage, die als legitim festgestellt worden ist, auf eine geeignete Liste von Anfragen zu setzen, welche auf einen Service warten;
  • 5 ein Flußdiagramm, welches die Prozedur einer zyklischen Behandlung einer Gruppe aktiver Teilnehmer und die Bestimmung des Teilnehmers verdeutlicht, der als nächster für die Dienstleistung erwählt wird;
  • 6 ein Flußdiagramm, welches die Prozedur zur zyklischen Behandlung der aktiven Gebrauchsabschnitte oder Sessionen eines Teilnehmers zeigt, wobei diejenigen Gebrauchsabschnitte identifiziert werden, die für eine Dienstleistung ausgewählt werden und die betreffenden Anfragen der Gebrauchsabschnitte oder Sessionen einer geeigneten Applikation zu geführt werden;
  • 7 ein Flußdiagramm, welches die Aktivitäten zeigt, welche unternommen werden, wenn eine Anforderung oder Anfrage durch eine Applikation bedient worden ist; und
  • 8 ein Flußdiagramm, welches die Abrechnungsprozedur verdeutlicht, durch welche Daten, welche eine Verwendung des Systems durch die Teilnehmer und die Gebrauchsabschnitte reflektieren, gesammelt und aktualisiert werden.
  • DETAILLIERTE BESCHREIBUNG
  • Für die Zwecke der vorliegenden Beschreibung bezeichnet der Ausdruck "Datenservicesystem" oder einfach "System" die Hardware und die Software, welche zur Verwirklichung der gewünschten Datenbankzentrum-Dienstleistungen verwendet werden, und der Ausdruck "Teilnehmer" bezieht sich auf einen Kunden, dem Zugriff auf irgendeine Untergruppe der verfügbaren Dienstleistungen und der zugehörigen Daten gewährt wird. Ein Teilnehmer besteht typischerweise aus einer Anzahl von Benutzern und Hostrechnern. Jeder Teilnehmer wird durch eine Gruppe von Attributen identifiziert, welche als Teilnehmerschlüsselwort bezeichnet werden, welches eindeutig den Teilnehmer von anderen Teilnehmern unterscheidet.
  • Ein Teilnehmer wird als "registrierter Teilnehmer" bezeichnet, sobald der Datenbanksystemadministrator ein Teilnehmerschlüsselwort oder mehrere Teilnehmerschlüsselwörter in die entsprechenden Datenbank eingeführt hat. Jedes Teilnehmerschlüsselwort identifiziert Rechnersysteme, welche dem Teilnehmer zugeordnet sind, durch Attribute in den Eingangsanfragen (beispielsweise eine Ausgangsadresseninformation und/oder die Systemanschlüsse, über welche der Teilnehmer Zugriff zu dem Datendiesnstleistungssystem hat. Der Systemadministrator gibt auch die Systemressourcen ein, zu welchen der Teilnehmer Zugriff nehmen kann. Der registrierte Teilnehmer kann dann seine eigenen Ressourcen innerhalb dieses größeren Zusammenhanges handhaben. Beispielsweise kann ein Teilnehmer zwei oder mehr "virtuelle Teilnehmer" konfigurieren und der Datenbankzentrum-Systemadministrator kann dann jedem virtuellen Teilnehmer seine eigenen Gruppe einer IP-Adresse oder mehreren IP-Adressen, zugehörige Volumen oder Dateisvsteme, Gruppen von Applikationen und Zugriffsrechte zuordnen.
  • Ein anderes wichtiges Konzept ist ein Gebrauchsabschnitt oder ein Session. Eine Session wird entweder charakteristischer Weise durch ein Protokoll definiert, das von dem Teilnehmer verwendet wird, um mit dem System zu kommunizieren, oder aber durch ein Teilnehmer-Ressourcen-Paar d. h., durch eine von einem Teilnehmer ausgelöste Transaktion, um Zugriff zu einer bestimmten Systemressource zu erhalten (beispielsweise ein Dateisystem oder ein logisches Speichervolumen). Ein Gebrauchsabschnitt oder eine Session wird bei Empfang der ersten Serviceanfrage oder Dienstleistungsanfrage geöffnet und bleibt aktiv, solange weiterhin Anfragen unter diesem Gebrauchsabschnitt empfangen werden. Wenn keine solchen Anfragen schweben, dann wird die Session oder der Gebrauchsabschnitt als inaktiv bezeichnet. Ein inaktiver Gebrauchsabschnitt oder eine inaktive Session kann rasch neu aktiviert werden, wenn unter diesem Gebrauchsabschnitt neue Anforderungen empfangen werden. Inaktive Gebrauchsabschnitte, welche über eine vorbestimmte Zeitdauer keine Anfragen empfangen haben, können geschlossen werden, um Systemressourcen einzusparen. Gebrauchsabschnitte oder Sessionen können auch durch eine Vielfalt von Mitteln geschlossen werden, abhängig von dem Kommunikationsprotokoll, welches verwendet wird, einschließlich überlanger Leerlaufzeit, Ausschaltungen, administrativen Anforderungen oder anderen Mechanismen. Ein Teilnehmer wird als "aktiv" bezeichnet, solange irgendeiner seiner zugeordneten Gebrauchsabschnitte aktiv ist. Anderenfalls wird er als "inaktiv" bezeichnet.
  • Eine Ausführungsform eines Datenservicesystems, welche gemäß den Grundsätzen der vorliegenden Erfindung aufgebaut ist, enthält eine Gruppe von integrierten Prozeduren, welche es einem Datenservicesystem ermöglichen, in wirkungsvoller Weise Merkmale bezüglich Sicherheit, Dienstleistungsqualität und Abrechnung zu bieten. Diese Prozeduren arbeiten mit einer Gruppe von miteinander in Beziehung stehenden Datenstrukturen zum Verfolgen von Teilnehmern und Sessionen oder Gebrauchsabschnitten und zur Bestimmung ihrer Zugriffsprivilegien und des Serviceniveaus, zu welchem sie zugelassen sind. Die Information in diesen Strukturen wird entweder durch den Datenbankzentrum-Systemadministrator, durch einzelne Teilnehmer oder durch Errechnung durch das Datenservicesystem geliefert. Um diesen Prozeß zu vereinfachen, wird bei einer Ausführungsform diese Information durch Management-Informations-Basistabellen (MIB) in Entsprechung mit dem Internet Society RFC 1155-Standanrd repräsentiert. Da die Tabellen ein Standardformat haben, kann ihr Inhalt unter Verwendung des breit akzeptierten Simple Network Management Protocol (SNMP) Gegenstand eines Zugriffs sein und gehandhabt werden.
  • Datenstrukturen, welche bei einer Ausführungsform der vorliegenden Erfindung verwendet werden, sind schematisch in 1 gezeigt. Diejenigen Strukturen, welche als MIB-Tabellen organisiert sind, sind durch schraffierte Beschriftungsfelder angedeutet und werden als "Tabellen", und nicht mit dem allgemeineren Ausdruck "Datenbank" bezeichnet. Die Basistabelle 102 enthält einen Eintrag für jeden Teilnehmer, und dieser Eintrag enthält den Teilnehmernamen, die Kontaktinformation und nach Wunsch zusätzliche beschreibende Informationen. Die Information für diesen Eintrag wird durch den Datensystemadministrator eingegeben. Die Eingabe wird durch eine einzigartige Nummer indiziert, welche als "Teilnehmerführung" bezeichnet wird, welche jedem Teilnehmer zugeordnet wird, wenn dieser registriert wird. Die Aufzeichnung der Zuordnung vom Teilnehmernamen zur Teilnehmerführung wird auch in der inversen Tabelle 100 festgehalten, so daß nachfolgende Bezugnahmen auf den Namen des Teilnehmers leicht in die entsprechende Teilnehmerführung umgesetzt werden können. Die inverse Tabelle wird intern ohne Zutun des Systemadministrators aufgebaut.
  • In dieser Ausführungsform wird, wenn ein Teilnehmer auf das System Zugriff zu nehmen sucht, er durch eine einheitliche Kennzeichnung identifiziert, die unzweideutig für diesen Teilnehmer gilt und als "Teilnehmerschlüsselwort" bezeichnet wird. Das Teilnehmerschlüsselwort ist aus teilnehmerspezifischen Attributen zusammengesetzt, die aus der Eingangsanfrage zusammengetragen sind, wobei deren Natur von der Kommunikations-Infrastruktur abhängig ist. Beispielsweise umfassen für Speicher-Bereichsnetzwerke unter Verwendung von Fibre-Channel die relevanten Attribute, die Systemanschlußadresse, die Fibre-Channel-Domäne und Bereichsidentifizierungen sowie die zugeteilte Schleifenanschlußadresse (AL-PA). Für Internetzugriffe ist das Teilnehmerschlüsselwort vom Rechnersystem aus irgendeiner Untergruppe folgender Gegenstände aufgebaut: Die Identität des Systemanschlusses, über welchen die Anforderung empfangen wurde, die Markierung, welche das virtuelle Netz örtlichen Bereiches (VLAN) identifiziert, über welches die eingegebene Anfrage übermittelt wurde, die Ausgangs-Internet-Protokoll-Adresse (IP), die Bestimmungsort-IP-Adresse und die Ausgangs-TCP- oder -UDP-Anschlußadressen. Ein Teilnehmer kann einige dieser Parameter als belanglos bezeichnen, wodurch der Teilnehmer in die Lage versetzt wird, sich durch einen Bereich von Adressen repräsentieren zu lassen. Andere Parameter werden mit anderen Protokollen und Kommunikationstopologien verwendet.
  • Das Teilnehmerschlüsselwort kann zusätzlich zur Identifizierung des Teilnehmers dazu verwendet werden, unberechtigten Zugriff auf Ressourcen zu verhindern, welche dem Teilnehmer zugeordnet sind. Demgemäß hängt die spezifische Untergruppe von Attributen, die zur Definition des Teilnehmerschlüsselwortes verwendet werden, teilweise davon ab, was unter physikalischer Kontrolle des Datenbankzentrums steht. Wenn beispielsweise das Datenbankzentrum den körperlichen Zugriff zu dem virtuellen Netz örtlichen Bereiches steuert, dann braucht die Systemanschlußadresse nicht in dem Schlüsselwort enthalten zu sein, das für den Internetzugriff verwendet wird, da die Verbindungen vom virtuellen Netz örtlichen Bereiches zum Systemanschluß sicher sind. Wenn das Datenbankzentrum Ursprungs-IP-Adressenfilterungs-Leitanschlüsse zwischen die Teilnehmer und das virtuelle Netz örtlichen Bereiches setzt, dann bieten diese Adressen ein Mittel für eine sichere Teilnehmeridentifizierung. In entsprechender Weise bilden dann, wenn das Datenbankzentrum Einrichtungen enthält, welche unabhängig Teilnehmer identifiziert und sie zu einer bekannten Gruppe von TCP- oder UDP-Anschlußadressen zuordnet, diese Adressen ein weiteres Mittel für eine zuverlässige Identifizierung eines Teilnehmers. Trotzdem können auch Ursprungs- oder Ausgangsadressen und Netzwerkadressen, welche nicht unter Steuerung durch das Datenbankzentrum stehen, beispielsweise Medienzugangssteueradressen (Media Access Control (MAC)) und World Wide Names zur Identifizierung des Teilnehmers verwendet werden. Während diese Adressen verhältnismäßig leicht nachgemacht werden können, bieten sie doch ein bestimmtes Schutzniveau gegen zufälliges Eindringen.
  • Für jeden Eintrag in der Basistabelle 102 gibt es einen entsprechenden Eintrag (ebenfalls durch die Teilnehmerführung indiziert,) in drei anderen Tabellen und Datenbanken, nämlich der Teilnehmer-Abrechnungstabelle 118, der Teilnehmer-Verkehrsvertragstabelle 112 und der Teilnehmer-Uberwachungsdatenbank 122. Die erste dieser Tabellen, nämlich die Teilnehmer-Abrechnungstabelle 118, dient zur Aufzeichnung der Menge von Dienstleistung, die dem einzelnen Teilnehmer geboten worden ist und wird periodisch durch das Datenbankzentrum-Rechnersystem mit Statistiken aktualisiert, welche die Verwendung des Systems durch jeden Teilnehmer über die jüngste Abrechnungsperiode hin reflektieren. Typischerweise ist in dieser Tabelle auch die Zahl von Operationen enthalten, die von dem Teilnehmer durchgeführt werden sowie die Menge von Daten, welche während der laufenden Abrechnungsperiode empfangen und übertragen worden sind. Jeder Teilnehmer kann seine entsprechende Eintragung in der Teilnehmer-Abrechnungstabelle ablesen und ist so in die Lage versetzt, seinen eigenen Pegel von Aktivitäten zu überwachen.
  • Die nächsten beiden Tabellen bzw. Datenbanken werden in Kombination dazu verwendet jedem Teilnehmer die Qualität der Dienstleistung, auf welcher er Anrecht hat, zu garantieren. Die Teilnehmer-Verkehrsvertragstabelle 112 führt im einzelnen das Niveau der Dienstleistung auf, welches durch den Teilnehmer vereinbart worden ist, und enthält den Bruchteil der Kapazität des Systems, welcher jedem Teilnehmer gemäß seinem Dienstleistungsvertrag zukommt. Information kann in diese Tabelle sowohl durch die Teilnehmer als auch das Datenbankzentrumspersonal eingegeben werden und ermöglicht es den Teilnehmern, vorzuschreiben, wie die betreffenden Ressourcen über die verschiedenen Klassen von Gebrauchsabschnitten oder Sessionen hin zu verteilen sind. Da auf die Tabelle durch einen Teilnehmer Zugriff genommen werden kann, kann der Teilnehmer das von ihm gewünschte Niveau der Dienstleistung spezifizieren und kann entsprechend belastet werden.
  • Die Teilnehmer-Überwachungsdatenbank 122 wird von dem Datenbankzentrum-Rechnersvstem dazu verwendet, die laufende Aktivität, welche zu jedem aktiven Teilnehmer gehört, zu verfolgen. Jede Eintragung enthält einen Zählerstand zum Festhalten der Anzahl von für den betreffenden Teilnehmer schwebenden Anfragen, eine Dienstleistungsqualitätsgröße, welche zu dem Bruchteil der dem Teilnehmer zugeordneten Kapazität, welche verwendet wurde, in Beziehung steht, sowie Zeiger zu anderen Datenstrukturen, welche die Reihenfolge anzeigen, in welcher seine Arbeitsabschnitte oder Sessionen zu bedienen sind. Diese Datenstrukturen basieren wiederum auf Dienstleistungsqualitätsgrößen, welche den Bruchteil der Kapazität reflektieren, welche jedem der Bearbeitungsabschnitte oder der Sessionen des Teilnehmers zugeordnet sind, welcher durch diesen Bearbeitungsabschnitt gebraucht wurde. Ein einfaches Beispiel einer Bearbeitungsqualitätsgröße, welche einer Session zugeordnet ist, ist das Verhältnis Cu(i)/f(i)Cs, wobei Cu(i) die bisher durch den i-ten Bearbeitungsabschnitt des Teilnehmers verbrauchte Kapazität ist und f(i) der Bruchteil der dem Teilnehmer zugeordneten Kapazität Cs ist, welcher dem betreffenden Bearbeitungsabschnitt zugeordnet ist. Die Größe Cu(i) wird typischerweise periodisch renormalisiert, um die Kapazität zu reflektieren, welche über das jüngste Zeitintervall hinweg verwendet wurde, wobei in diesem Falle Cs die Kapazität repräsentiert, die je Zeitintervall zugeordnet wurde. Diese Information wird verwendet, um sicherzustellen, daß jeder Teilnehmer die Dienstleistungsqualität erhält, welche vertraglich zugesichert wurde, daß diese Dienstleistungsqualität über seine Bearbeitungsabschnitte oder Sessionen entsprechend den Vorschriften des Teilnehmers verteilt wird und, insbesondere, daß kein Teilnehmer oder keine Session unter schlechterer Dienstleistung aufgrund einer übergroßen Nachfrage auf der Seite eines anderen Teilnehmers oder einer anderen Session leidet.
  • Eine andere Datenstruktur, die Sessionsdatenbank oder Bearbeitungsabschnitt-Datenbank 120 wird von dem Datenbankzentrum-System unterhalten und dient zur Förderung der Verarbeitung einer Anfrage im Zusammenhang mit einer offenen Session. Hier wird eine „Sessionsführung" als ein Index für einen Eintrag in der Datenbank verwendet, welche Zeiger zu den Listen von Anfragen enthält, welche für die betreffende Session schweben und, falls zutreffend, zu dem relevanten Eintrag in der Teilnehmerdateisystem-Aufzeichnungsdatenbank 106 (siehe unten). Zusätzlich enthält jeder Eintrag eine Größe, welche Beziehung zu dem Bruchteil des Durchsatzes hat, der der Session zugeordnet ist, von dem zu einer gegebenen Zeit Gebrauch gemacht worden ist. Jede Session ist eindeutig durch ihre zugeordnete Sessionsführung identifiziert, die aus der Verkettung der Teilnehmerführung und einem Sessionsschlüsselwort gebildet ist, das aus anderen Feldern aufgebaut ist, die von dem Kommunikationsprotokoll-Header extrahiert sind. In einer Ethernet-Umgebung wird beispielsweise das Sessionsschlüsselwort aus einer Untergruppe der Protokollidentifizierungs-Ausgangs-und-Bestimmungsadresse (IP) und den Übertragungsschicht-Ausgangs-und-Bestimmungs-Anschlußfeldadressen extrahiert. In der Umgebung eines Fibre Chanel Network werden typischerweise die Knotenpunktidentifizierung (N-ID) und die logische Zieleinheitsnummer (LUN) verwendet.
  • In einer anderen Ausführungsform hat ein Teilnehmer die Möglichkeit, seine Sessionen, unterschieden durch ihre Sessionsschlüsselwörter, verschiedenen Prioritätsklassen zuzuordnen und unterschiedliche Bruchteile seines insgesamt zugeordneten Systemdurchsatzes den Sessionen in jeder Klasse zuzuordnen, indem die Information in der Teilnehmer-Verkehrsvertragstabelle manipuliert wird. Beispielsweise kann der Systemadministrator sämtlichen Sessionen, welche eine bestimmte IP-Bestimmungsadresse haben, einer hohen Prioritätsklasse zuordnen, wodurch solchen Sessionen ein größerer Bruchteil des verfügbaren Durchsatzes zugeteilt wird, als sie anderenfalls hätten. Um sich dieser Möglichkeit anzupassen, wird die Prioritätsklasse jeder Session aus der Teilnehmer-Verkehrsvertragstabelle 112 bei Schaffung der Session extrahiert und an die Größe angehängt, die der Session in der Sessions-Datenbank 120 zugeordnet ist.
  • In wieder einer anderen Ausführungsform wird ein Konzept der sogenannten Sessionsgruppen eingeführt. Sessionsgruppen werden verwendet, um eine Verschlechterung des Verhaltens des Systems aufgrund einer übergroßen Nachfrage bezüglich irgendeiner Untergruppe der Systemressourcen zu verhindern, wenn andere Sessionen, welche diese Untergruppe nicht erfordern, für die Dienstleistung auswählbar sind. In herkömmlichen Systemen werden, wenn die Warteschlange von Anfragen für eine spezifische Ressource (beispielsweise ein physikalisches Plattenlaufwerk oder einen Kommunikationsanschluß) einen vorgeschriebenen Grenzwert erreichen, sämtliche nachfol genden Anfragen blockiert, bis einige jener Anfragen bedient worden sind, obwohl andere Systemressourcen nicht voll ausgenützt sein können. Gemäß den Grundsätzen der vorliegenden Erfindung wird bei dieser Ausführungsform, wenn eine Session durch das Datenbankzentrum-System geschaffen ist, diese einer Sessionsgruppe zugeordnet, welche durch die Untergruppe der Systemressourcen definiert ist, welche sie verwendet (Systemanschluß, Speichervolumen, usw.). Die Gruppe, zu welcher eine Session gehört, wird an ihrem Eintrag in die Sessionsdatenbank 120 angehängt. Bevor irgendeine Session bedient wird, wird der Pegel oder das Niveau ihrer Sessionsgruppenaktivität geprüft, um festzustellen, ob die Sessionsgruppe die Kapazität erreicht hat. Ist dies der Fall, dann wird die Session zeitweise umgangen und eine andere Session wird für die Dienstleistung auswählbar gemacht. Dies verhindert, daß eine Session durch eine andere Session blockiert wird, welche auf Ressourcen wartet, die für die eine Session tatsächlich nicht verfügbar werden müssen.
  • In einer anderen Ausführungsform hängen eine Größe der Dienstleistungsqualität und ihre Verwirklichung von der Betriebsumgebung, der annehmbaren Komplexität des Rechenaufwandes und der Qualität der Dienstleistungsfälle ab. Die Maßgröße selbst bezieht sich gewöhnlich auf den Bruchteil der gegenwärtig verfügbaren Durchsatzkapazität, welche dem betreffenden Teilnehmer oder der betreffenden Session zugeordnet ist, kann jedoch alternativ auch die durchschnittliche Verzögerung umfassen, welche eine Anfrage erfährt, oder kann irgendeine Kombination dieser und anderer Vorgänge umfassen.
  • Beispielsweise kann eine Durchsatz-Bemessungsgröße mit einer Struktur geordneter Listen zum Ordnen von Sessionen basierend auf ihren zugehörigen Bemessungsgrößen kombiniert werden. Mit dieser Struktur werden für jeden Teilnehmer bis zu N Aktiv-Sessionslisten und eine inaktive Liste definiert und die Anzahl von Sessionen auf jeder Liste und ein Zeiger zu jeder Liste werden in der Teilnehmer-Uberwachungsdatenbank 122 festgehalten. Die Listen-Kopfteile geben das erste Mal an, welches irgendeine Session auf jeder Liste, repräsentiert durch ihre Sessionsführung, Anspruch auf Dienstleistung hat. Beispielsweise enthält die Liste 0 die Führungsangaben sämtlicher Sessionen, welche gegenwärtig für eine Dienstleistung in Frage kommen, und die Liste k enthält die Führungsangaben jener Sessionen, die als nächstes zu der Zeit Tk = T1 + (k – 1)Δt für eine Dienstleistung in Frage kommen, wobei Δt ein vorbestimmtes Zeitintervall ist. Ein Beispiel einer Durchsatzmaßgröße könnte die Anzahl von Bytes sein, welche zu schreiben oder zu lesen sind. Ein anderes Beispiel könnte die Anzahl von 32KB-Blöcken sein, welche zu schreiben oder zu lesen sind. Ein anderes Beispiel könnte die Anzahl von Dateisystem-Basisoperationen sein, welche benötigt werden, um die Anfrage zu bedienen. Die ersten beiden Beispiele können auf normale Datenlesevorgänge und Datenschreibvorgänge angewendet werden. Das letztere Beispiel trifft gut auf das Lesen von Verzeichnissen zu, was typischerweise sehr bearbeitungsintensiv ist, jedoch wenige Bytes erzeugt.
  • Wenn eine auswählbare Session für eine Dienstleistung ausgewählt wird, dann werden ihre schwebenden Anfragen der Reihe nach bedient, entweder, bis ihre zugehörige Gruppen-, Teilnehmer- oder Sessionsgrenze erreicht ist, oder bis keine Abfragen mehr übrig geblieben sind, welche noch nicht bedient worden sind. Die Sessionsgrenze ist erreicht, wenn der Durchsatz, welcher durch alle bedienten Anfragen während des laufenden Serviceintuervalls verbraucht worden ist, als einen s-Sekundenwert der zugeteilten Kapazität für irgendeinen vorgeschriebenen Wert s überschreitend eingeschätzt wird. Wenn diese Grenze erreicht ist, dann wird der Führungswert der Session an die Liste i angehängt, wobei i die größte ganze Zahl ist, für welche Ti < t + s ist und wobei t die gegenwärtige Zeit bezeichnet, und es wird dann die nächste zu bedienende Session ausgewählt. Wenn alle Anfragen der Session bedient wurden sind, bevor sie diese Grenze erreicht, dann wird ihre Führungsangabe zusammen mit dem Header oder Kopfteil der Liste, an welche sie angehängt worden wäre, wenn sie noch aktiv wäre, auf die inaktive Liste gesetzt.
  • Wenn eine Anfrage einer Applikation vorgelegt wird, dann antwortet die Applikation mit einer Abschätzung der Kapazität, welche zur Befriedigung dieser Anfrage erforderlich ist. Die zugehörige Maßgröße des Teilnehmers wird aktualisiert, um diese Abschätzung wiederzugeben. Wenn auf diese Aktualisierung folgend der gegenwärtige Teilnehmer immer noch ungenutzte Kapazität hat und immer noch Anfragen hat, welche einer Dienstleistung bedürfen, dann wird seine nächste auswählbare Anfrage bedient. Anderenfalls wird der nächste auswählbare Teilnehmer ausgewählt. Sämtliche Sessionen des neuen Teilnehmers auf irgendeiner Liste j, für welche Tj kleiner als oder gleich der laufenden Zeit t ist, sind nun für die Bearbeitung wählbar und sämtliche dieser Listen werden demgemäß an die Liste 0 angehängt. Wenn sämtliche dieser Listen einschließlich der Liste 0 leer sind, dann wird die erste nicht-leere Liste, beispielsweise die Liste k, die neue Liste 0, selbst wenn Tk>t. Wenn die Liste i die erste Liste ist, die nicht an die Liste 0 angehängt wird, dann wird ihr Kopfteil oder Header das neue T1, der alte Kopfteil oder Header Ti+1, wird das neue T2 usw., und neue, zeitweise leere Listen werden mit den Kopfteilen Tj = T1 + jΔt für N – i < j < N – 1 gebildet. Die Sessionen werden dann beginnend mit der ersten Session auf der Liste 0 bedient. Wenn alle Sessionen auf der Liste 0 bedient sind, bevor der Teilnehmer seine ihm zugeordnete Kapazität erreicht hat und der Teilnehmer immer noch mindestens eine aktive Session hat, dann werden wieder eine nicht-leere Liste oder mehrere nicht-leere Listen an die Liste 0 angehängt und die verbleibenden Header oder Kopfteile der Listen werden, wie zuvor gesagt, modifiziert. Hat der Teilnehmer keine aktiven Sessionen, wird er als inaktiv ausgezeichnet.
  • Die Aufteilung der dem Teilnehmer bewilligten Kapazität unter seinen aktiven Sessionen wird im Effekt jedes Mal eingestellt, wenn der Teilnehmer für die Dienstleistung auswählbar wird, in dem Bestreben, die Anzahl von Sessionen auf der Liste 0 annähernd gleich der Anzahl von Sessionen zu halten, welche bedient werden können, bevor der Teilnehmer seine Kapazität erreicht. Wenn zu der Zeit, zu der ein Teilnehmer für die Dienstleistung auswählbar wird, die Liste k die erste nicht-leere Liste ist, wobei Tk größer als die gegenwärtige Zeit t ist, dann wird die Zuordnung zu jeder Session proportional erhöht. Wenn aber die Zahl von Eintragungen auf der Liste 0 irgendeine vorgeschriebene Zahl M überschreitet. dann wird die Zuteilung für jede Session proportional verringert.
  • In entsprechender Weise wird die Aufteilung der Systemkapazität unter den aktiven Teilnehmern periodisch eingestellt, um die gegenwärtig verfügbare Gesamtkapazität wiederzugeben. Eine Hintergrund-Uberwachungseinrichtung überwacht die Systemparameter, die sich auf jede Sessionsgruppe beziehen, beispielsweise die Länge der verschiedenen Systemreihen. Diese Daten werden dann dynamisch jedes Mal dann aktualisiert, wenn eine Anfrage nach einer Dienstleistung vorgelegt wird, wodurch eine laufende Abschätzung der Kapazität unterhalten wird, die für jede Sessionsgruppe verfügbar ist. Wenn diese Parameter anzeigen, daß eine Sessionsgruppe sich der Maximalkapazität nähert, dann wird die effektive Zuordnung für diese Gruppe proportional vermindert. Wenn sie anzeigen, daß eine Sessionsgruppe unterbenutzt ist, dann wird ihre effektive Zuteilung proportional erhöht. Sessionsgruppenzuteilungen werden unter den aktiven Teilnehmern entsprechend ihren jeweiligen vertraglich vereinbarten Dienstleistungsniveaus verteilt.
  • Die Summe der verfügbaren Kapazitäten der Sessionsgruppen dient zur Definition der verfügbaren Systemkapazität. Aktive Teilnehmer werden gemäß einer sogenannten Round-Robin-Art bedient. Jeder Teilnehmer erhält einen Teil seines Anteils an der verfügbaren Systemkapazität jedesmal zugeordnet, wenn er für den Service ausgewählt wird und wenn der gegenwärtige Teilnehmer die zeitliche Grenze erreicht hat, welche durch diese Zuordnung auf Systemebene vorgegeben ist, so bewegt sich der Ablauf der Befriedigung von Anfragen zum nächsten Teilnehmer auf der aktiven Liste. Der Anteil der Systemkapazität der für einen Teilnehmer während irgendeines Serviceintervalls verfügbar gemacht wird, ist im allgemeinen geringer als 100% seines vollen Anteils an dieser Kapazität. Die Funktion des Systemkapazitätsparameters ist es daher die Wahrscheinlichkeit zu begrenzen, daß irgendein Teilnehmer die für irgendeine gegebene Sessionsgruppe verfügbare Kapazität erschöpft, bevor andere Teilnehmer die Chance hatten, Anfragen zu plazieren, welche Ressourcen erfordern, die zu derselben Sessionsgruppe gehören. Der Anteil der Systemkapazität, welcher irgendeiner Runde zugeordnet wird, bedingt einen Kompromiß zwischen Arbeitsqualität und Fairneß. Wenn zuwenig Kapazität verfügbar gemacht wird, dann kann jeder Teilnehmer nur eine kleine Zahl von Anfragen plazieren, bevor sich die Runde bezüglich der Bedienung von Anfragen zu dem nächsten Teilnehmer bewegt, was in einer rechnermäßigen Ineffizienz resultiert. Wenn zuviel Kapazität verfügbar gemacht wird, dann kann jeder Teilnehmer praktisch spätere Teilnehmer daran hindern ihren fairen Anteil an einigen der Ressourcen des Systems zu erhalten.
  • Die verschiedenen Zuteilungen werden selbstverständlich in geeigneter Weise auch erhöht und vermindert, wenn sich die Zahlen der aktiven Teilnehmer oder Sessionen aufgrund der Tatsache ändern, daß aktive Teilnehmer oder Sessionen inaktiv werden oder umgekehrt. Das Ergebnis von all dem ist, daß der Bruchteil der Systemkapazität, welche einem Teilnehmer zugeordnet wird, eine Funktion der Anzahl von Teilnehmern und des vertraglich vereinbarten Niveaus der Dienstleistung für jeden Teilnehmer ist. In entsprechender Weise ist der Bruchteil eines Teilnehmeranteils der Systemkapazität, welcher irgendeiner Session des Teilnehmers zugeordnet wird, eine Funktion der relativen Priorität, welche der Session zugeordnet wird, des relativen Bruchteils der System-Gesamtkapazität, welche für die Sessionsgruppe verfügbar ist und der Anzahl von anderen Sessionen des Teilnehmers, welcher zu der betreffenden Gruppe gehören.
  • Eine weitere Ausführungsform der vorliegenden Erfindung bietet Teilnehmern zwei Sicherheitspegel. (Ein dritter Pegel wird typischerweise durch die teilnehmerspezifische Applikation selbst geboten). Der erste dieser Pegel, der Netzwerksicherheitspegel, stellt sicher, daß nur registrierte Teilnehmer in der Lage sind, sich Zugang zu dem System über die Netzwerkanschlüsse zu verschaffen, für welche sie eine vertragliche Vereinbarung haben, oder, in Fällen, in denen dieser Pegel einer Abschirmung nicht geeignet ist, daß nur diejenigen Bestimmungsorte, welche durch den Teilnehmer bezeichnet werden, Information über jene Anschlüsse empfangen dürfen. Der zweite Sicherheitspegel, nämlich der Ressourcen-Sicherheitspegel, stellt sicher, daß die Ressourcen jedes Teilnehmers nur in der Weise zugänglich werden können, welche von jedem Mitglied der Gruppe des Teilnehmers vorgeschrieben wird.
  • Bei dieser Ausführungsform wird der erste Pegel der Sicherheit (Netzwerksicherheit) durch das Konzept eines "unabhängigen Netzwerkes" geschaffen. Ein unabhängiges Netzwerk ist eine Netzwerkkonfiguration, welche logisch getrennt von allen anderen uunabhängigen Netzwerken in dem System ist, wodurch die Konfiguration und die Leitregeln für jedes derartige Netzwerk unabhängig definiert werden können. Jedes unabhängige Netzwerk ist von allen anderen Netzwerken aus Sicherheitsgründen isoliert. Keine Informationspakete können von einem solchen Netzwerk zu einem anderen Netzwerk durch das System laufen. Darüber hinaus kann ein unabhängiges Netzwerk direkt mit einem externen Netzwerk verbunden werden, beispielsweise dem Internet oder einem eigenen privaten Netzwerk des Teilnehmers, und kann zu den Konfigurationsforderungen des angefügten Netzwerkes passend gemacht werden. Dieser Pegel der Sicherheit geht davon aus, daß die körperlichen Komponenten, welche das unabhängige Netzwerk bilden, unter vollständiger Kontrolle eines Netzwerkadministrators stehen, welcher das Vertrauen des Dantenbankzentrumadministrators hat.
  • Die unabhängige Netzwerkstruktur ermöglicht es dem System, eine Sicherheit auf Netzwerkebene durch Zuordnung einer einzigartigen Gruppe von Bestimmungs-IP-Adressen zu jedem unabhängigen Netzwerk zu bieten. Über ein unabhängiges Netzwerk wird kein Zugriff auf irgendeine Bestimmungsadresse außer jenen gewährt, welche ihr zugeordnet worden sind. Diese Zugriffsregeln werden unter Verwendung dreier verschiedener MIB-Tabell1en durchgesetzt: die Tabelle 114 für die Details unabhängiger Netzwerke, die Applikationsaddressentabelle 110 und die Teilnehmer-Netzwerkidentifikationstabelle 116.
  • ie Tabelle 114 für die Details unabhängiger Netzwerke enthält einen Eintrag für jedes unabhängige Netzwerk, welcher die Charakteristiken dieses Netzwerks identifiziert. Er ist durch ein Netzwerkschlüsselwort indiziert, das aus einer Untergruppe derjenigen Parameter besteht, welche zur Identifizierung des Teilnehmers verwendet werden (das zuvor definierte Teilnehmerschlüsselwort). Für einen Ethernet-Zugriff können für diesen Zweck beispielsweise die VLAN-Markierung oder die physikalische Verbindung oder beide verwendet werden. Für eine ATM-Verbindung wird das Netzwerk durch die Gruppe virtueller Schaltungen identifiziert, welche diese Verbindung enthalten. Für Fibre-Channel wird das Netzwerk durch den Systemanschluß definiert, mit welchem es physikalisch verbunden ist.
  • Die in der Tabelle 114 aufgeführte Information für jedes unabhängige Netzwerk enthält die Attribute dieses Netzwerks (Systemanschlüsse, welche durch das Netzwerk verwendet werden, geführte Protokolle, u.s.w.), die Netzwerkführungsgröße, welche durch das System zugeteilt und weiterhin verwendet wird, um das unabhängige Netzwerk zu identifizieren, sowie zwei Flaggen. Die erste dieser Flaggen zeigt, wenn sie gesetzt wird, an, daß der Ausgangsteilnehmer (der Teilnehmer, der den Zugriff eingeleitet hat) und der Bestimmungsteilnehmer (der Teilnehmer, der die Ressourcen kontrolliert, auf die Zugriff genommen werden soll) identisch sind und daher keine weitere Erlaubnis für den Zugriff erforderlich ist. In diesem Falle ist der Teilnehmerführungswert auch Teil der Eintragung für das betreffende unabhängige Netzwerk, so daß keine zusätzlichen Tabellenkontrollen zu seiner Identifizierung benötigt werden.
  • Die zweite Flagge zeigt an, daß der steuernde oder kontrollierende Teilnehmer der Bestimmungsteilnehmer ist, wie dies beispielsweise für normale Internetzugriffe zutrifft. In diesem Falle muß die Applikationsadressentabelle 110 zu Rate gezogen werden, um den Führungswert des steuernden Teilnehmers, die Zugriffserlaubnisse und den Systemanschluß, welcher in Reaktion auf diesen Zugriff zu verwenden ist, zu bestimmen. Der relevante Eintrag in die Tabelle 110 wird durch ein anderes Schlüsselwort indiziert, das als "Applikationsschlüssel wort" bezeichnet wird. Das Applikationsschlüsselwort besteht aus dem Netzwerkführungswert, der aus der Tabelle 114 extrahiert wird, kombiniert mit anderer Information, die zusammen mit der Anfrage empfangen wird. Die verwendete spezifische Information ist wieder abhängig von dem wirksam werdenden Kommunikationsprotokoll, enthält jedoch typischerweise die Bestimmungs-IP-Adresse und die gerade verwendete UDP- oder TCP-Anschlußnummer.
  • Wenn keine Flagge gesetzt ist, dann ist der relevante Teilnehmer der Ausgangsteilnehmer und der Teilnehmerführungswert und die zugehörigen Zugriffserlaubnisse müssen von der Teilnehmernetzwerkidentifizierungstabelle 116 extrahiert werden. Das zuvor definierte Teilnehmerschlüsselwort wird als der Index für diese Tabelle verwendet. Die Tabelle 116 hat einen Eintrag, der ein Feld für die Erlaubnisse für jedes gültige Schlüsselwort enthält. Ist das Teilnehmerschlüsselwort eingetragen, was anzeigt, daß der betreffende Teilnehmer für einen Zugriff über den beschriebenen Systemanschluß unter Verwendung der vorgeschriebenen Netzwerkadresse registriert ist, und die Erlaubnis für die gewünschte Art des Zugriffs vorliegt, dann wird der Zugriff gewährt. Anderenfalls wird der Versuch des Zugriffs zurückgewiesen.
  • Zusätzlich zur Schaffung der Sicherheit auf Netzwerkebene wird die Struktur der unabhängigen Netzwerke auch dazu verwendet, die Systemverfügbarkeit zu erhöhen. Typischerweise hat ein unabhängiges Netzwerk vielfache körperliche Anschlüsse zur Zugriffnahme auf das System. Teilnehmer, die mit dem Datenbankzentrum über ein geschaltetes Netzwerk verbunden sind, können beispielsweise mehrfache Systemanschlüsse verwenden. Die Zuordnung dieser Anschlüsse zu einem unabhängigen Netzwerk gibt dem Teilnehmer die Möglichkeit. auf das System über irgendeinen der Anschlüsse Zugriff zu nehmen, der zu seinem zugeordneten unabhängigen Netzwerk gehört. Anfragen, die über einen Anschluß kommen, können über einen anderen Anschluß desselben Netzwerkes beantwortet werden, wodurch der Verkehr wirkungsvoller gehandhabt werden kann. Die Struktur unabhängiger Netzwerke gestattet es auch, daß ein anderer Anschluß die Rolle eines fehlerhaften Anschlusses übernimmt, ohne daß die Verbindungsmöglichkeit beeinflußt wird.
  • Bei dieser Ausführungsform wird der zweite Sicherheitspegel, nämlich der Ressourcensicherheitspegel, unter Verwendung dreier weiterer MIB-Tabellen verwirklicht: die Dateisystem-Detailtabelle 104, die Teilnehmer-Dateisystem-Zugriffstabelle 106 und die Teilnehmer-Dateisystem-Aufzeichnungstabelle 108. Der Inhalt der ersten beiden dieser Tabellen kann durch einen Datensystemadministrator beeinflußt werden, um die Dateisysteme (Tabelle 104) zu definieren und um Zugriffsrechte zu ihnen (Tabelle 106) zuzuteilen. Die erste dieser Tabellen wird durch den Dateisystemnamen (d.h., der Name, der dem Dateisystem von seinem Schöpfer gegeben worden ist) indiziert, und die zweite wird durch eine Verknüpfung des Dateisystemnamens mit dem Führungswert des Teilnehmers indiziert, für welchen die Zugriffsprivilegien definiert sind. Wenn der indizierte Eintrag in der Tabelle 106 vorhanden ist, dann hat der betreffende Teilnehmer die vorgeschriebenen Zugriffsprivilegien (beispielsweise NFS-Read, NFS-Write, FTP-Read, FTP-Write, CIFS-Read, CIFS-Write, HTTP-Read, HTTP-Write).
  • Die Eintragungen in der Teilnehmer-Dateisystem-Aufzeichnungstabelle 108 werden durch den Teilnehmer bestimmt, doch vergleicht das System diese Eintragungen mit den Eintragungen in der Tabelle 106, um zu verhindern, daß irgendein Teilnehmer versucht, sich Zugriff zu irgendeinem Dateisystem zu verschaffen, wozu er nicht berechtigt ist. Die Eintragungen in der Tabelle 108 werden durch ein Dateisystem-Schlüsselwort und nicht durch einen Dateisystemnamen indiziert. Die Definition des Dateisystemschlüsselwortes ist abhängig von dem Protokoll und der Applikation. Bei einigen Applikationen versieht beispielsweise der Systemadministrator den Teilnehmer mit einzigartigen Logikeinheit-Nummern (LUNs), welche zu spezifischen Speichervolumen führen, beispielsweise Speicherbereichsnetzwerk-Dateisysteme (SAN). Für Internetapplikationen ist das Dateisystem-Schlüsselwort der universellen Ressourcenortungsadresse (URL) gleichgesetzt. In allen Fällen jedoch kann das Dateisystem-Schlüsselwort aus der Information extrahiert werden, welche mit der Anfrage empfangen wird und kann daher mit dem Teilnehmerführungswert verkettet werden, um die relevanten Zugriffsprivilegien in der Tabelle 108 zu orten.
  • Die MIB-Tabellen sind sämtlich als flache Datenbanken gespeichert. Die Verwendung dieser Datenbanken bewirkt, daß jedes Mitglied einer Teilnehmergruppe die Ressourcen des Teilnehmers durch beschreibbare Dateien oder Simple-Network-Management-Protocol (SNMP-Befehle) überwachen und steuern kann. Die MIB-Tabellen definieren die Parameter, welche der Teilnehmer beeinflussen kann und die zulässigen Grenzen für diese Parameter. Durch Manipulation der Information in der Teilnehmer-Dateisystem-Aufzeichnungstabelle 108 kann beispielsweise der Teilnehmer verschiedene virtuelle Teilnehmer-Untergruppen definieren, welche jeweils ihre eigene IP-Adresse haben. Der Teilnehmer kann dann jeder Untergruppe das Speichervolumen oder das Dateisystem zuordnen, zu welchem die Untergruppe Zugriff hat, ferner die Anzahl aktiver Sessionen, welche die Untergruppe zu irgendeiner Zeit unterhalten kann, ihre URL-Aufzeichnungen (Uniform Resource Locator), ihr Benutzerpaßwort und die Gruppe, welcher sie zugeordnet ist. Zusätzlich kann der Teilnehmer auf diese Datenbanken Zugriff nehmen, um seinen Dienstleistungsvertrag festzulegen und seine Systemnutzungsparameter zu überwachen.
  • Die Verwendung einiger oder aller dieser verschiedenen Tabellen und Listen kann verdeutlicht werden, indem das Ansprechen des Systems auf eine Zugriffsanfrage eines Teilnehmers gemäß einer Ausführungsform der Erfindung verfolgt wird. Die erste Routine zur Behandlung einer Anfrage wird als Netzwerkzugriffssteuerroutine bezeichnet und die in dieser Routine enthaltenen Schritte sind in dem Flußdiagramm von 2 aufgezeigt.
  • Die Routine beginnt, wenn eine neue Dienstleistungsanfrage durch das System empfangen wird. In dem Schritt 200 prüft die Netzwerkzugriffskontrolle zuerst die Sessionsdatenbank 120 bezüglich der Sessionsführungsgröße und im Schritt 202 bestimmt die Routine, ob die Anfrage Teil einer laufenden Session oder eines laufenden Arbeitsabschnittes ist. Wenn die Session bereits existiert, so ist insbesondere ihre Führungsgröße in der Sessions-Datenbank zu finden und die Netzwerk-Zugriffsberechtigungen des Teilnehmers sind bereits eingerichtet und geprüft und müssen daher nicht neu eingerichtet werden. In diesem Falle schreitet die Routine zu dem Schritt 218 vor, in welchem eine weitere Routine, welche als Ressourcenzugriffs-Steuerungsroutine zu bezeichnen ist, dann aufgerufen wird, um den zweiten Pegel der Sicherheit durchzusetzen, d.h. zu bestimmen, ob der Anfragende die notwendigen Erlaubnisse für den Zugriff auf die gewünschte Ressource hat. Diese letzte Routine wird unten diskutiert und trifft im Schritt 220 eine Entscheidung, ob der Zugriff zugelassen wird oder verweigert wird. Wenn die Zugriffsanfrage nicht akzeptiert wird, dann kehrt die Ressourcen-Zugriffssteuerungsroutine mit einer Nachricht "Zugriff verweigert" zurück und die Anfrage wird von der Netzwerk-Zugriffssteuerungsroutine im Schritt 226 zurückgewiesen. Dann endet die Netzwerk-Zugriffssteuerungsroutine.
  • Wenn in dem Schritt die Zugriffsanfrage akzeptiert wird, wird in dem Schritt 222 der die schwebenden Anfragen des Teilnehmers zählende Zähler inkrementiert und im Schritt 224 wird eine Bestimmung darüber getroffen, ob der Zähler eine vorbestimmte Grenze erreicht hat. Wenn eine Feststellung in dem Schritt 224 getroffen wird, daß der Zähler den Grenzwert erreicht hat, dann schreitet die Routine zu dem Schritt 228 fort, wo für diesen Teilnehmer die Durchflußkontrolle in Lauf gesetzt wird, wodurch verhindert wird, daß irgendwelche neuen Anfragen akzeptiert werden, bis mindestens eine der schwebenden Anfragen bedient worden ist.
  • In jedem Falle schreitet die Netzwerk-Zugriffssteuerungsroutine zu dem Schritt 230 fort, in welchem eine Routine aufgerufen wird, welche als Anfrage-Vorlageroutine zu bezeichnet ist und die Netzwerkzugriffssteuerungsroutine endet.
  • Wenn in dem Schritt 202 kein passender Eintrag in der Sessionsdatenbank gefunden wird, dann schreitet die Routine zu dem Schritt 204 fort, in welchem die Tabelle 114 für die Details der unabhängigen Netzwerke befragt wird, wobei das Netzwerkschlüsselwort im ersten Schritt bei der Identifizierung des steuernden Teilnehmers verwendet wird. Im Schritt 206 wird eine Feststellung, basierend auf den Ergebnissen dieser Befragung, getroffen. Wenn eine Eintragung entsprechend dem Netzwerkschlüsselwort in der Tabelle 114 nicht gefunden wird, dann schreitet die Routine zu dem Schritt 216 fort, in welchem die Anfrage unmittelbar zurückgewiesen wird. Die Routine endet dann.
  • Anderenfalls wird eine Eintragung gewonnen und die beiden Flaggen der Eintragung werden, wie oben in Verbindung mit 1 behandelt, geprüft. Abhängig davon, welche, falls irgendeine, der beiden Flaggen gesetzt ist, kann die Führungsgröße für den steuernden Teilnehmer von der Tabelle 114 für die Details der unabhängigen Netzwerke selbst extrahiert werden, wie im Schritt 208 dargestellt ist. Alternativ kann die Führungsgröße von der Applikationsadressentabelle 110 erhalten werden, wie in dem Schritt 210 aufgezeigt ist, oder die Führungsgröße kann von der Teilnehmer-Netzwerkidentifikationstabelle 116 erhalten werden, wie in Schritt 212 aufgezeigt ist.
  • Insbesondere, wenn der Ausgangsteilnehmer und der Bestimmungsteilnehmer identisch sind, wie durch eine Flaggen, welche von der Tabelle 114 gewonnen wird, angezeigt wird, dann kann die Führungsgröße des steuernden Teilnehmers von der Tabelle 114 extrahiert werden und die Erlaubnis wird automatisch erteilt, da der Teilnehmer, welcher die Ressource kontrolliert, auch der Teilnehmer ist, der Zugriff zu der betreffenden Ressource verlangt. Wenn dies jedoch nicht der Fall ist, dann liefert die Information, welche entweder aus der Tabelle 110 oder der Tabelle 116 gewonnen wird, wie durch die zweite Flagge bestimmt ist, sowohl die Führungsgröße des steuernden Teilnehmers als auch die Zugriffserlaubnisse, welche durch diesen Teilnehmer spezifiziert werden, wie zuvor diskutiert wurde.
  • Es wird dann eine Feststellung in dem Schritt 214 getroffen, ob eine Erlaubnis für den Zugriff auf die Ressource erteilt wird. Wenn auf der Basis der von den Tabellen 110 und 116 gewonnenen Information in dem Schritt 214 die Erlaubnis nicht erteilt wird, dann schreitet die Routine zu dem Schritt 226 fort, in welchem die Session zurückgewiesen wird und die Routine endet. Anderenfalls wird, wie im Schritt 216 aufgezeigt, eine neue Session geschaffen.
  • Die Schaffung einer Session hat verschiedene Schritte zur Folge. Wenn der Teilnehmer zuvor nicht aktiv war, dann wird zuerst ein Eintrag für ihn in die Teilnehmerüberwachungs-Datenbank 122 eingebracht. Dies wiederum bezieht die Prüfung der Teilnehmer-Verkehrsvertragstabelle 112 ein, um den vertragsmäßigen Dienstleistungspegel für diesen Teilnehmer festzustellen. Zum zweiten wird die Sessions-Führungsgröße an die Eintragung in der Teilnehmer-Überwachungsdatenbank für den Teilnehmer angehängt. Wenn die zuvor beschriebene Metrik verwendet wird, wird beispielsweise die neue Session an die Liste 0 des Teilnehmers angehängt. Zum dritten wird eine Eintragung für diese Session in die Sessionsdatenbank 120 gemacht, wobei die neue Anfrage aufgeführt wird, die Sessionsgruppe der Session identifiziert wird und falls Prioritätsniveaus verwendet werden, der zugeordnete Prioritätspegel, wie er in der Tabelle 112 spezifiziert ist, beschrieben wird.
  • Wenn die Session einmal geschaffen ist, dann schreitet die Routine über die Schritte 218 bis 230 fort, wie zuvor beschrieben wurde.
  • Ein Flußdiagramm, das die Schritte beschreibt, welche in der zuvor erwähnten Ressourcen-Zugriffssteuerungsroutine durchgeführt werden, ist in 3 gezeigt. Wenn diese Routine im Schritt 300 aufgerufen wird, dann befragt sie zunächst die Sessionsdatenbank 120, um festzustellen, ob ein Zeiger vorhanden ist, welcher verwendet werden kann, um Zugriff zu der Teilnehmer-Dateisystem-Aufzeichnungsdatenbank 108 zu nehmen. Wenn ein solcher Zeiger vorhanden ist, was in dem Schritt 302 festgestellt wird, dann schreitet die Routine zu dem Schritt 204 fort, wo dieser Zeiger dazu verwendet wird, unmittelbar Zugriff zu einer Bitaufzeichnungseintragung in der Datenbank 108 zu nehmen, welche die relevanten Zugriffserlaubnisse enthält. Wenn, basierend auf diesen Erlaubnissen, der Zugriff in dem Schritt 308 als legitim festgestellt wird, dann kehrt die Routine mit einem "Zugriff gestattet"-Rückkehrwert zurück, wie im Schritt 318 dargelegt ist. Wenn alternativ im Schritt 308 festgestellt wird, daß die Anfrage nicht legal ist, dann kehrt die Routine mit einem "Zugriff verweigert"-Rückkehrwert im Schritt 312 zurück.
  • Wenn in dem Schritt 302 kein Zeiger in der Sessionsdatenbank 120 gefunden wird, dann schreitet die Routine zu dem Schritt 306 fort, in welchem eine Verkettung der Teilnehmerführungsgröße und des Dateisystem-Schlüsselwortes verwendet wird, um als Index für eine Nachsuchung in der Teilnehmer-Dateisystem-Aufzeichnungsdatenbank 108 zu dienen, um die bestimmenden Zugriffserlaubnisse aufzufinden. Wenn der Zugriffsversuch in dem Schritt 310 sich als illegal herausstellt, dann schreitet die Routine zu dem Schritt 312 fort und kehrt mit einem Zugriffsverweigerungs-Rückkehrwert zurück. Wenn der Zugriff zugelassen wird, was in dem Schritt 310 festgestellt wird, da die Sessionsdatenbank 120 nicht bereits einen Zeiger zu der Datenbank 108 enthält (was in dem Schritt 300 bestimmt wird), dann stellt die Routine zuerst fest, ob die Dateisession an die Ressource gebunden ist, auf welche zugegriffen wird, Schritt 314. Eine Session ist an eine Ressource gebunden, wenn alle vorgelegten Anfragen als Teil der betreffenden Session daran gebunden sind, Zugriff nur auf diese Ressource zu nehmen. Dies wiederum ist eine Funktion der Art der Session, welche geschaffen worden ist. NFS-Sessionen, welche TCP verwenden, sind beispielsweise an ein bestimmtes Dateisystem oder einen Anhaltspunkt gebunden. NFS-Sessionen, welche UDP verwenden, sind dies nicht. In entsprechender Weise können HTTP-Sessionen entweder ausdauernde Sessionen sein, welche nicht an einer Ressource gebunden sind, oder können nicht dauerhafte Sessionen sein, welche an einer Ressource gebunden sind.
  • Wenn, wie in Schritt 314 bestimmt wird, die Session an eine Ressource gebunden ist, wird ein Zeiger zu dem relevanten Erlaubniseintrag in der Teilnehmer-Dateisvstem-Aufzeichnunasdatenbank 108 in die Sessionsdatenbank 120 gesetzt, wodurch das Bedienen nachfolgender Anfragen, welche während derselben Session gemacht werden, beschleunigt wird. Wenn die Session nicht an die Ressource gebunden ist, so kann dies selbstverständlich gemacht werden, da die nächste Anfrage unter dieser Session durchaus eine andere Ressource betreffen kann, so daß der Eintrag, auf welchen hingewiesen wird, nicht länger relevant wäre. In jedem Falle kehrt die Routine in dem Schritt 318 mit einem "Zugriff gestattet"-Rückkehrwert zurück.
  • Die Schritte der Anfragenvorlagenroutine sind in dem Flußdiagramm von 4 festgehalten. Bei ihrem Aufruf schreitet die Routine zu dem Schritt 402 fort, in welchem eine Feststellung getroffen wird, ob die zugehörige Session aktiv ist. Wenn die Feststellung getroffen wird, daß die Session inaktiv ist, so wird sie in dem Schritt 404 dadurch aktiviert, daß die Session von der inaktiven Liste, die in dem entsprechenden Eintrag in der Teilnehmerüberwachungs-Datenbank identifiziert ist, zu dem entsprechenden aktiven Listenplatz bewegt wird, wie durch die jüngste Maßzahl der inaktiven Session festgelegt ist (nächste wählbare Dienstleistungszeit unter Verwendung der zuvor beschriebenen Verwirklichung einer Listenordnung). In dem Schritt 406 wird die Anfrage zu der Anfrageliste der Session hinzugefügt, welche durch einen Zeiger in der Sessions-Datenbank 120 bezeichnet ist. Als nächstes werden in dem Schritt 208 die zuvor erwähnten Qualitätsparameter, welche durch die Systempegel-Qualitätsüberwachungs-Hintergrundaufgabeneinrichtung festgehalten werden, geprüft, um festzustellen, ob das System mit der Kapazität arbeitet. Wenn das System mit der Kapazität arbeitet, dann endet die Routine. Wenn das System nicht mit der Kapazität arbeitet, dann ruft die Anfragenvorlageroutine die Anfragen-Bedienungsroutine im Schritt 410 auf und endet dann.
  • Ein Flußdiagramm für die Anfragenbedienungsroutine ist in 5 gezeigt. Ein Teilnehmer oder eine Session wird als Angepaßter oder als Konformant bezeichnet, wenn seine Maßzahl nicht den laufenden Maßzahlschwellwert für den betreffenden Teilnehmer oder die betreffende Session überschreitet. Die Anfragen-Bedienungsroutine durchläuft alle der aktiven Teilnehmer unter Bedienung der aktiven Sessionen jedes Teilnehmers der Reihe nach, bis entweder alle aktiven Sessionen der Teilnehmer bedient worden sind oder bis die Teilnehmer nicht länger Konformanten sind. Um dies möglich zu machen, können die Maßzahlschwellwerte der Sessionen periodisch erhöht werden, solange der Teilnehmer angepaßt ist oder ein Konformant ist und immer noch schwebende Anfragen vorhanden sind. Eine Session wird als für die Serviceleistung auswählbar bezeichnet, wenn sie ein Konformant ist.
  • Die Anfragenbedienungsroutine wird stets mit dem Führungswert eines Teilnehmers aufgerufen, der als der "anfängliche Teilnehmer" bezeichnet wird. Beim Aufruf im Schritt 500 bestimmt die Routine zuerst das Konformanzkriterium für jeden aktiven Teilnehmer und setzt dann den gegenwärtigen Teilnehmerzeiger mit dem anfänglichen Teilnehmer gleich. Die Bestimmung des Konformanzkriteriums geschieht in der Weise, daß zuerst die gegenwärtig verfügbare Kapazität für jede Sessionsgruppe basierend auf Parametern abgeschätzt wird, welche durch die Hintergrund-Qualitätsüberwachungs-Aufgabeneinrichtung erzeugt und mit dem Bedarf aktualisiert werden, der durch die Anfragen repräsentiert wird, welche vorgelegt wurden, seit die Aufgabeneinrichtung zuletzt gelaufen ist. Die für jede Sessionsgruppe verfügbare Kapazität wird dann unter den aktiven Teilnehmern in Entsprechung mit ihren vertragsmäßigen Pegeln der Dienstleistung aufgeteilt. Schließlich wird die Systemkapazität der Summe der Kapazitäten für die Sessionsgruppen gleichgesetzt und ein Teil dieser Kapazität wird jedem Teilnehmer zugeteilt, wie oben beschrieben wurde.
  • Sind einmal in dem Schritt 502 die Konformanzkriterien bestimmt, so wird eine weitere Feststellung getroffen, ob der gegenwärtige Teilnehmer ein Konformant ist, d.h., ob er nicht bereits den ihm zugeteilten Anteil der Systemkapazität überschritten hat. Wenn der Teilnehmer als Konformant festgestellt worden ist, dann schreitet die Routine zu dem Schritt 504 fort, wo festgestellt wird, ob der Teilnehmer irgendwelche schwebenden Anfragen hat.
  • Wenn schwebende Anfragen existieren, dann wird im Schritt 506 die Sessions-Schwellwertmaßzahl aktualisiert, so daß mindestens eine Session angepaßt oder konform ist. Wenn die zuvor erwähnte Verwirklichung der geordneten Listen verwendet wird. um Sessionen zu ordern, zieht dieser Schritt die Neubezeichnung und, wenn nötig, das Verschmelzen der Sessionslisten auf der Basis der gegenwärtigen Zeit nach sich, wie oben beschrieben wurde. Die Anfragen-Bedienungsroutine ruft dann die Anfragen-Ausgaberoutine (unten beschrieben) im Schritt 508 auf. Wenn die letztgenannte Routine im Schritt 510 ausgeführt ist, dann setzt die Anfragenbedienungsroutine den gegenwärtigen Teilnehmer mit dem nächsten aktiven Teilnehmer in der Teilnehmer-Uberwachungsdatenbank 122 gleich und, wenn der gegenwärtige Teilnehmer wieder der anfängliche Teilnehmer ist, was im Schritt 512 bestimmt wird, was anzeigt, daß alle aktiven Teilnehmer bedient worden sind, endet die Routine. Anderenfalls schleift sich die Routine im Schritt 502 zurück und setzt sich mit den Schritten 504 bis 510 fort. Immer, wenn sich herausstellt, daß ein Teilnehmer entweder nicht mehr ein Konformant ist (was im Schritt 502 festgestellt wird) oder keine schwebenden Anfragen hat (was im Schritt 504 festgestellt wird), dann schreitet die Routine unmittelbar zu dem nächsten aktiven Teilnehmer fort, was durch den Schritt 510 aufgezeigt ist.
  • Die Anfragenausgaberoutine ist durch das Flußdiagramm verdeutlicht, das in 6 gezeigt ist. Diese Routine läuft durch alle auswählbahren Sessionen für den gegenwärtigen Teilnehmer durch und legt für jede auswählbare Session die schwebenden Anfragen der Session eine nach der anderen vor, bis diese Session für die weitere Bedienung oder Dienstleistung nicht mehr auswählbar ist. Nach dem Aufruf wird im Schritt 600 die erste auswählbare nicht bediente Session des Teilnehmers ausgewählt und im Schritt 602 wird eine Prüfung durchgeführt, um festzustellen, ob die ausgewählte Session zu einer Gruppe von konformen Sessionen gehört.
  • Wenn die ausgewählte Session zu einer Gruppe von Konformanten gehört, dann wird im Schritt 604 die erste schwebende Anfrage der ausgewählten Session an die geeignete Applikation ausgegeben und basierend auf der durch die Applikation rückgelieferten Informationen werden die Daten bezüglich der Qualität der Dienstleistung für den Teilnehmer, die Sessionsgruppe und die Session aktualisiert, um die abgeschätzte Durchsatzkapazität zu reflektieren, welche für das Bedienen der betreffenden Anfrage benötigt wird.
  • Als nächstes wird in dem Schritt 606 ein die Anzahl schwebender Anfragen für den betreffenden Teilnehmer enthaltender Zähler dekrementiert und, falls der Teilnehmer zuvor unter Durchflußkontrolle stand, wird diese Beschränkung beseitigt, da die Vorlage einer seiner Anfragen an die Applikation Platz für eine weitere Anfrage in der Schlange von schwebenden Anfragen des Teilnehmers schafft.
  • Wenn auf die Vorlage der Anfrage folgend der Teilnehmer entweder keine schwebenden Anfragen mehr hat, was in dem Schritt 608 festgestellt wird, oder nicht länger ein Konformant ist, was in dem Schritt 610 festgestellt wird, dann kehrt die Routine zurück. Anderenfalls schreitet die Routine zu dem Schritt 612 fort, in welchem die Session auf Konformanz geprüft wird. Wenn die Session immer noch ein Konformant ist und immer noch schwebende Anfragen aufweist, was in dem Schritt 614 festgestellt wird, dann kehrt die Routine zu dem Schritt 602 zurück und wiederholt die Folge von Schritten 602 bis 612. Wenn aber in dem Schritt 614 festgestellt wird, daß die Session keine Anfragen mehr hat, dann wird in dem Schritt 616 die Session auf die Liste inaktiver Sessionen gesetzt.
  • Wenn die Session entweder in dem Schritt 616 deaktiviert worden ist, nicht mehr ein Konformant ist (wie im Schritt 612 festgestellt) oder in dem Schritt 602 sich als zu einer nicht konformen Sessionsgruppe gehörend herausgestellt hat, dann schreitet die Routine zum Schritt 618 fort, wo eine Feststellung darüber gemacht wird, ob der Teilnehmer andere auswählbare Sessionen hat. Hat er solche, dann kehrt die Routine zum Schritt 600 zurück und wählt die letzte auswählbare Session. Wenn jedoch keine Sessionen mehr auswählbar sind, dann wird das Auswahlkriterium in dem Schritt 620 eingestellt, bevor eine Rückkehr zu dem Schritt 600 erfolgt. Die Auswählbarkeitskriterien werden geändert, da der Teilnehmer bereits als Konformant festgestellt worden ist und schwebende Anfragen hat. Somit müssen die am meisten als nahezu auswählbar geltenden Sessionen auswählbar gemacht werden, um der Dienstleistungsqualität zu genügen, auf welche der Teilnehmer Anspruch hat. Wenn die zuvor beschriebene Lösung mit den geordneten Listen verwendet wird, um Sessionen zu ordnen, dann umfaßt der Schritt 620 das Verbinden der ersten nicht leeren Liste von Sessionen mit der Liste Null und kann auch eine Neubezeichnung und, wenn nötig ein Verschmelzen der Sessionslisten, basierend auf der gegenwärtigen Zeit, nach sich ziehen.
  • Zwei andere Routinen werden benötigt, um eine Ausführungsform der vorliegenden Erfindung zu verwirklichen: Eine Anfragenvervollständigungsroutine und eine Abrechnungsroutine. Flußdiagramme dieser beiden Routinen sind in 7 bzw. 8 gezeigt. Die Anfragenvervollständigungsroutine in 7 wird durch die relevante Applikation aufgerufen, nachdem jede Anfrage, welche ihr vorgelegt wurde, durch die betreffende Applikation bedient worden ist. Da die ursprüngliche Abschätzung der Kapazität, welche zur Bedienung einer Anfrage benötigt wird, welche zu der Anfragenbedienungsroutine (in 6 dargestellt) zurückgegeben wurde, unpräzise sein kann, da die Durchsatzkapazität, die zum Bedienen der Anfrage vor dem Bedienen der Anfrage nicht errechenbar oder vorhersagbar sein kann, aktualisiert der erste Schritt 700 in der Anfragenvervollständigungsroutine die relevante Sessionsmeßgröße mit der Differenz zwischen der abgeschätzten und der tatsächlichen Menge von Daten, die bei dem Bedienen der Anfrage übertragen werden. Dies geschieht durch Veranlassen der Applikation, diese Differenz zu liefern, wenn sie die Anfragenvervollständigungsroutine aufruft und danach durch Verwendung dieser Information zum Aktualisieren der Maßzahl, welche zusammen mit der Sessionsführungsgröße in der Sessions-Datenbank 120 gespeichert wird. Diese Information wird nachfolgend verwendet, wenn die Teilnehmerund Sessions-Maßzahlen in der Anfragenbedienungsroutine und der Anfragenausgaberoutine aktualisiert werden. Im einzelnen wird die Differenz zwischen dem abgeschätzten und dem tatsächlichen Bedarf dazu verwendet, die neue Kapazitätszuordnung zu dem betreffenden Teilnehmer bzw. der betreffenden Session zu inkrementieren oder zu dekrementieren, je nach entsprechenden Verhältnissen.
  • Als nächstes aktualisiert dann die Anfragenvervollständigungsroutine die Abschätzung der Kapazität, welche für die betrachtete Sessionsgruppe verfügbar ist. Da die Anfrage bedient worden ist, kann die Kapazität, die zuvor für ihre Bedienung reserviert wurden war, für andere schwebende Anfragen in derselben Sessionsgruppe freigegeben werden.
  • Eine Abrechnungsroutine, beispielsweise eine solche, wie sie in 8 gezeigt ist, läuft periodisch ab, um die Information in der Teilnehmerabrechnungstabelle 118 zu aktualisieren. Wenn diese Routine läuft, so aktualisiert sie zuerst die Abrechnungsinformation für jede offene Session im Schritt 800 durch Verfolgung durch die Sessions-Datenbank und Festhalten der jüngsten Durchsatzdaten für jede Session. Im Schritt 802 werden dann die Daten, die zu jeder Session der Sessionen eines Teilnehmers gehören, kombiniert, um die Abrechnungsinformation für jeden aktiven Teilnehmer zu aktualisieren. Als nächstes wird im Schritt 804 die Liste inaktiver Sessionen für jeden aktiven Teilnehmer abgetastet und diejenigen Sessionen, welche für eine vorbestimmte Zeitdauer inaktiv waren, werden geschlossen, indem sie von der Sessions-Datenbank 120 gestrichen werden. Schließlich werden sämtliche Teilnehmer, welche keine aktiven Sessionen haben, von der Liste der aktiven Teilnehmer in dem Schritt 806 entfernt. Diese beiden letzten Schritte verhindern, daß die Sessionsdatenbank und die Teilnehmer-Überwachungsdatenbank 122 unnötig groß werden, wodurch die Recheneffizienz wesentlich verbessert wird.
  • Eine Software-Verwirklichung der oben beschriebenen Ausführungsform kann eine Reihe von Rechnerbefehlen enthalten, welche entweder auf einem berührbaren Medium, beispielsweise einem computerlesbaren Medium, beispielsweise einer Diskette, einer CD-ROM, einem ROM-Speicher oder einer Festplatte fixiert sind, oder zu einem Rechnersystem über ein Modem oder eine andere Schnittstelleneinrichtung über ein Übertragungsmedium übertragbar sind. Das Medium kann entweder ein körperliches Medium sein, einschließlich, jedoch nicht beschränkt auf optischen oder analogen Kommunikationsleitungen, oder kann durch drahtlose Technik verwirklicht werden, einschließlich, jedoch nicht beschränkt auf Mikrowellentechnik, Infrarotübertragungstechnik oder andere Übertragungstechniken. Es kann sich auch um das Internet handeln. Die Reihe von Rechnerbefehlen verwirklicht die gesamte zuvor bezüglich der Erfindung beschriebene Funktionalität oder einen Teil hiervon. Der Fachmann erkennt, daß solche Rechnerbefehle in einer Anzahl von Programmiersprachen geschrieben werden können, um mit vielerlei Rechnerarchitekturen oder Betriebssystemen Verwendung zu finden. Weiter können solche Befehle unter Verwendung einer beliebigen, gegenwärtig bekannten oder zukünftigen Speichertechnologie einschließlich, jedoch nicht beschränkt auf, Halbleiter, magnetische, optische oder andere Speichergeräte gespeichert werden oder unter Verwendung einer beliebigen Kommunikationstechnologie gegenwärtig bekannter Art oder zukünftiger Art übertragen werden, einschließlich, jedoch nicht beschränkt auf, optische Übertragungstechniken, Infrarotübertragungstechniken, Mikrowellenübertragungstechniken oder anderen Übertragungstechniken. Es ist in Betracht gezogen, daß ein entsprechendes Computerprogrammprodukt als ein entfernbares Medium mit zugehöriger gedruckter oder elektronischer Dokumentation in den Handel gelangt, beispielsweise als datenkomprimiert eingegebene Software, mit welcher ein Rechnersystem vorgeladen ist, beispielsweise auf einer System-ROM oder einer Festplatte, oder von einem Server oder einer elektronischen Nachrichtenstelle über ein Netzwerk verteilt, beispielsweise das Internet oder World Wide Web.
  • Obwohl eine beispielsweise Ausführungsform der Erfindung geoffenbart wurde, versteht es sich für den Fachmann, daß zahlreiche Änderungen und Modifikationen durchgeführt werden können, mit welchen einige der Vorteile der Erfindung erreicht werden, ohne daß hierdurch der der Erfindung zugrundeliegende Gedanke verlassen wird. Beispielsweise ist es für den Fachmann offensichtlich, daß zwar sich die Beschreibung mit einem bestimmten Hardwaresystem befaßte, daß jedoch andere Hardware und Systemsoftware in derselben Weise wie die beschriebene verwendet werden kann. Andere Aspekte, beispielsweise spezifische Instruktionen, die zum Erreichen einer bestimmten Funktion verwendet werden, sowie andere Modifikationen des erfinderischen Konzepts sind als durch die anliegenden Ansprüche umfaßt anzusehen.
  • Zusammenfassung
  • Ein Verfahren und eine Einrichtung zur Aufteilung von Netzwerk-Datendienstleistungen unter einer Mehrzahl von Teilnehmern verwendet Information, welche in verschiedenen Tabellen gespeichert ist, zum Definieren einer Mehrzahl von unabhängigen Netzwerken, wobei jedes unabhängige Netzwerk eine Gruppen von Zugangsanschlüssen und eine einzigartige Gruppe von Bestimmungsadressen aufweist und logisch von sämtlichen anderen unabhängigen Netzwerken getrennt ist, so daß keine Information von einem unabhängigen Netzwerk zu einem anderen unabhängigen Netzwerk gelangen kann. Wenn ein Teilnehmer eine Anfrage macht, um ein unabhängiges Netzwerk zu verwenden, dann wird ein Teilnehmer-Schlüsselwort, das auf der Teilnehmeridentität und dem Netzwerkzugangsanschluß basiert, dazu verwendet, festzustellen, ob der Teilnehmer die Erlaubnis hat, das unabhängige Netzwerk zu verwenden. Hat der Teilnehmer die Erlaubnis, das unabhängige Netzwerk zu verwenden, dann wird Information, die aus den Tabellen gewonnen wird, dazu verwendet, festzustellen, ob der Ausgangsteilnehmer oder ein Bestimmungsteilnehmer die Kontrolle über die Ressource hat. Wenn ein Bestimmungsteilnehmer die Kontrolle über die Ressource hat, wird die Information in der Anfrage verwendet, um einen Bestimmungsteilnehmer und einen Antwortanschluß zu identifizieren. Hat der Ausgangsteilnehmer die Kontrolle über die Ressource, wird die Identität verwendet, um festzustellen, ob der Ausgangsteilnehmer Zugriff auf die Ressource nehmen kann.

Claims (49)

  1. Verfahren zur Aufteilung von Netzwerk-Datendienstleistungen unter einer Mehrzahl von Teilnehmern, um es einer Mehrzahl von Ausgangsteilnehmern zu gestatten, selektiv Zugriff auf eine Mehrzahl von Bestimmungsteilnehmern zu nehmen, welche Datendienstleistungen anbieten, wobei jeder Bestimmungsteilnehmer an einer Bestimmungsadresse gelegen ist, und das Verfahren folgendes umfaßt: (a) Definieren einer Mehrzahl unabhängiger Netzwerke, von denen jedes eine Gruppe von Zugangsanschlüssen und eine einzigartige Gruppe von Bestimmungsadressen aufweist und logisch getrennt von allen anderen unabhängigen Netzwerken ist, so daß keine Information von einem unabhängigen Netzwerk zu einem anderen unabhängigen Netzwerk gelangen kann; (b) Verwenden, wenn ein Ausgangsteilnehmer mit einer Identität eine Anfrage macht, um ein erstes unabhängiges Netzwerk zu verwenden, um die Verbindung zu einem Bestimmungsteilnehmer herzustellen und Zugriff auf eine Ressource zu nehmen, der genannten Identität zur Feststellung, ob der Ausgangsteilnehmer die Erlaubnis hat, das erste Netzwerk zu verwenden; (c) Feststellen, falls der Ausgangsteilnehmer die Erlaubnis zur Verwendung des ersten unabhängigen Netzwerkes hat, ob der Ausgangsteilnehmer oder ein Bestimmungsteilnehmer die Kontrolle über die Ressource hat; (d) Verwenden, wenn ein Bestimmungsteilnehmer die Kontrolle über die Ressource hat, einer Information in der Anfrage zum Identifizieren eines Bestimmungsteilnehmers und eines Antwortanschlusses; und (e) Verwenden, falls der Ausgangsteilnehmer die Kontrolle über die Ressource hat, der Identität zur Bestimmung, ob der Ausgangsteilnehmer Zugriff auf die Ressource nehmen kann.
  2. Verfahren nach Anspruch 1, bei welchem die Identität einen Zugangsanschluß identifiziert, über welchen der Ausgangsteilnehmer sich Zugang zu dem ersten unabhängigen Netzwerk verschafft.
  3. Verfahren nach Anspruch 1, bei welchem der Schritt (a) das Speichern von Information für jeden Ausgangsteilnehmer, welche jedes unabhängige Netzwerk definiert, zu welchem der betreffende Ausgangsteilnehmer Zugang hat, in einer ersten Datenbank umfaßt.
  4. Verfahren nach Anspruch 3, bei welchem der Schritt (b) die Verwendung der Identität für den Zugriff auf die erste Datenbank und für die Feststellung, ob die Information, welche das erste unabhängige Netzwerk betrifft, sich in der ersten Datenbank befindet und wenn dies so ist, diese Information zu gewinnen, umfaßt.
  5. Verfahren nach Anspruch 4, bei welchem der Schritt (c) die Verwendung der Information, welche das erste Netzwerk betrifft, für die Bestimmung umfaßt, ob der Ausgangsteilnehmer oder ein Bestimmungsteilnehmer die Kontrolle über die Ressource hat.
  6. Verfahren nach Anspruch 5, bei welchem der Schritt (d) die Verwendung der Information betreffend das erste Netzwerk und der Information in der Anfrage für den Zugriff auf eine zweite Datenbank und zur Gewinnung einer Identifizierung eines Bestimmungsteilnehmers und eines Antwortanschlusses umfaßt.
  7. Verfahren nach Anspruch 5 oder 6, bei welchem der Schritt (e) die Verwendung der Identifizierung für den Zugriff auf eine dritte Datenbank zur Feststellung, ob eine Information betreffend den Ausgangsteilnehmer sich in der dritten Datenbank befindet und, wenn dies so ist, zur Gewinnung einer Erlaubnisinformation aus der dritten Datenbank umfaßt.
  8. Verfahren nach Anspruch 1, welches weiter folgende Schritte aufweist: (f) Verwenden einer vierten Datenbank zur Speicherung einer durch einen Administrator des Datenzentrums eingegebenen Information, welche eine Mehrzahl von Dateisystemen definiert; (g) Verwendung einer fünften Datenbank zur Speicherung einer durch einen Administrator des Datenzentrums eingegebenen Information, welche Zugriffsprivilegien der Mehrzahl von Teilnehmern auf Dateisysteme definiert, die durch Informationen in der ersten Datenbank definiert sind; (h) Verwendung einer sechsten Datenbank zur Speicherung von Informationen, welche durch die Mehrzahl von Teilnehmern eingegeben werden und Untergruppen von Teilnehmern definieren, und Zuordnen jeder Untergruppe zu einem Dateisystem, das durch die erste Datenbank definiert ist; und (i) Vergleichen der Information in der sechsten Datenbank mit der Information in der vierten Datenbank zum Verhindern eines Zugriffs der Mehrzahl von Teilnehmern auf ein Dateisystem, zu welchem sie keinen Zugriff haben.
  9. Verfahren nach Anspruch 8, bei welchem die sechste Datenbank entsprechend einem Informationshandhabungs-Basisprotokoll strukturiert ist.
  10. Verfahren zum Aufteilen von Netzwerk-Datendienstleistungen unter mehreren Teilnehmern, von denen jeder Anfragen für den selektiven Zugriff auf eine Mehrzahl von Datendienstleistungen macht, wobei das Verfahren folgendes umfaßt: (a) Definieren mindestens eines Bearbeitungsabschnittes oder einer Session für jeden der Mehrzahl von Teilnehmern, wobei während einer Session von jedem Teilnehmer Anfragen erzeugt werden können; (b) Zuordnen einer Durchsatzmaßzahl, welche ein Maß für die Qualität der Dienstleistung ist, zu jeder Session; (c) Zuordnen mindestens einer Liste aktiver Sessionen und einer Inaktivitätsliste zu jedem der Mehrzahl von Teilnehmern und Einsetzen von Sessionen, die für jeden Teilnehmer definiert sind, auf die Liste aktiver Sessionen, die zu diesem Teilnehmer gehört; und (d) Ordnen der Listen aktiver Sessionen von einer ersten Liste bis zu einer letzten Liste und Bedienen schwebender Anfragen in den Sessionen in der ersten Liste aktiver Sessionen.
  11. Verfahren nach Anspruch 10, bei welchem der Schritt (a) das Eröffnen einer Session für einen der Mehrzahl von Teilnehmern umfaßt, wenn der eine Teilnehmer eine Anfrage erzeugt, sowie das Schließen der Session umfaßt, wenn keine weiteren Anfragen erzeugt werden.
  12. Verfahren nach Anspruch 10, bei welchem der Schritt (a) das Zuordnen jeder Session zu einer Sessionsgruppe umfaßt, die durch eine Gruppe von Ressourcen definiert wird, die von der betreffenden Session benutzt werden.
  13. Verfahren nach Anspruch 12, bei welchem der Schritt (d) das Prüfen der Sessionsgruppe vor dem Bedienen schwebender Anfragen in der jeweiligen Session, um zu bestimmen, ob die zu der jeweiligen Sessionsgruppe zugeordneten Ressourcen die Kapazität erreicht haben, und das Umgehend der Session, wenn die Gruppe von Ressourcen die Kapazität erreicht hat, umfaßt.
  14. Verfahren nach Anspruch 10, bei welchem der Schritt (b) das Zuordnen einer Durchsatzmeßzahl, die zu einem Bruchteil der gegenwärtig verfügbaren Durchsatzkapazität Beziehung hat, die der jeweiligen Session zugeordnet ist, umfaßt.
  15. Verfahren nach Anspruch 14, bei welchem eine Applikation auf eine Anfrage für eine Dienstleistung durch Rückgabe einer Abschätzung der Ressourcenkapazität antwortet, welche notwendig wird, um auf die Anfrage zu reagieren, und bei welchem der Schritt (b) das Einstellen der Durchsatzmaßzahl basierend auf der Abschätzung umfaßt.
  16. Verfahren nach Anspruch 15, welches weiter folgenden Schritt aufweist: (e) Auswahl des nächsten wählbaren Teilnehmers zum Bedienen von Anfragen, wenn eine Durchsatzeinstellung das Ergebnis hat, daß ein Teilnehmer die zugeteilte Kapazität überschreitet.
  17. Verfahren nach Anspruch 10, bei welchem der Schritt (d) das Bedienen schwebender Anfragen in einer aktiven Session auf der ersten Liste aktiver Sessionen umfaßt, bis der Durchsatz, der von allen bedienten Anfragen als einen vorbestimmten Betrag zugeordneter Kapazität überschreitend eingeschätzt wird oder alle Anfragen bedient worden sind.
  18. Verfahren nach Anspruch 17, bei welchem der Schritt (d) weiter das Entfernen der aktiven Session aus der ersten Liste aktiver Sessionen und das Setzen der aktiven Session auf eine andere Sessionsliste umfaßt, wenn der durch alle bedienten Anfragen verbrauchte Durchsatz als einen vorbestimmten Kapazitätsbetrag überschreitend eingeschätzt wird, welcher der aktiven Session zugeordnet ist.
  19. Verfahren nach Anspruch 17, bei welchem der Schritt (d) weiter das Entfernen der aktiven Session aus der ersten Aktiv-Sessionsliste und das Setzen der aktiven Session auf die inaktive Liste umfaßt, wenn sämtliche Anfragen bedient worden sind.
  20. Einrichtung zur Aufteilung von Netzwerkdatendienstleistungen unter einer Mehrzahl von Teilnehmern, um es einer Mehrzahl von Ausgangsteilnehmern zu ermöglichen, selektiv Zugriff auf eine Mehrzahl von Bestimmungsteilnehmern zu nehmen, welche Datendienstleistungen bieten, wobei jeder Bestimmungsteilnehmer an einer Bestimmungsadresse gelegen ist und die Einrichtung folgendes enthält: Mittel zum Definieren einer Mehrzahl unabhängiger Netzwerke, von denen jedes eine Gruppe von Zugangsanschlüssen und eine einzigartige Gruppe von Bestimmungsadressen enthält und logisch getrennt von allen anderen unabhängigen Netzwerken ist, so daß keine Information von einem unabhängigen Netzwerk zu einem anderen unabhängigen Netzwerk gelangen kann; erste Mittel zur Verwendung, wenn ein Ausgangsteilnehmer mit einer bestimmten Identität eine Anfrage zur Verwendung eines ersten unabhängigen Netzwerks macht, um Verbindung zu einem Bestimmungsteilnehmer aufzunehmen und Zugriff auf eine Ressource zu nehmen, der betreffenden Identität zur Bestimmung, ob der Ausgangsteilnehmer die Erlaubnis zur Verwendung des ersten unabhängigen Netzwerkes hat; Mittel zur Bestimmung, wenn der Ausgangsteilnehmer die Erlaubnis zur Verwendung des ersten unabhängigen Netzwerkes hat, ob der Ausgangsteilnehmer oder ein Bestimmungsteilnehmer die Kontrolle über die Ressource hat; zweite Mittel zur Verwendung, wenn ein Bestimmungsteilnehmer die Kontrolle über die Ressource hat, dieser Information in der Anfrage zur Identifizierung eines Bestimmungsteilnehmers und eines Antwortanschlusses; und dritte Mittel zur Verwendung, wenn der Ausgangsteilnehmer die Kontrolle über die Ressource hat, zur Bestimmung, ob der Ausgangsteilnehmer Zugriff zu der Ressource nehmen kann.
  21. Einrichtung nach Anspruch 20, bei welcher die Identität einen Zugangsanschluß identifiziert, über welchen der Ausgangsteilnehmer Zugang zu dem ersten unabhängigen Netzwerk nimmt.
  22. Einrichtung nach Anspruch 20, bei welcher die Mittel zum Definieren einer Mehrzahl von unabhängigen Netzwerken eine erste Datenbank sowie Mittel enthalten, um in der ersten Datenbank Information für jeden Ausgangsteilnehmer zu speichern, welche das jeweilige unabhängige Netzwerk definiert, zu welchem der Ausgangsteilnehmer Zugang hat.
  23. Einrichtung nach Anspruch 22, bei welcher die ersten Mittel zur Verwendung Mittel zur Verwendung der Identität für den Zugriff auf die erste Datenbank und zur Bestimmung enthalten, ob die Information, welche das erste unabhängige Netzwerk betrifft, sich in der ersten Datenbank befindet und, falls dies der Fall ist, die betreffende Information zu gewinnen.
  24. Einrichtung nach Anspruch 23, bei welcher die Mittel zur Bestimmung vorsehen, die genannte Information betreffend das erste Netzwerk dazu zu verwenden, festzustellen, ob der Ausgangsteilnehmer oder ein Bestimmungsteilnehmer die Kontrolle über die Ressource hat.
  25. Einrichtung nach Anspruch 24, bei welcher die zweiten Mittel zur Verwendung eine zweite Datenbank und Mittel zur Verwendung der Information betreffend das erste Netzwerk und Information in der Anfrage enthalten, um Zugriff auf die zweite Datenbank zu nehmen und eine Identifizierung eines Bestimmungsteilnehmers und eines Antwortanschlusses zu gewinnen.
  26. Einrichtung nach Anspruch 24, bei welcher die dritten Mittel zur Verwendung eine dritte Datenbank und Mittel zur Verwendung der Identität enthalten, um Zugriff auf die dritte Datenbank zu nehmen, um festzustellen, ob sich Information betreffend dem Ausgangsteilnehmer in der dritten Datenbank befindet und, wenn dies der Fall ist, eine Erlaubnisinformation aus der dritten Datenbank zu gewinnen.
  27. Einrichtung nach Anspruch 20, welche weiter folgendes enthält: eine vierte Datenbank und Mittel zur Verwendung der vierten Datenbank zur Speicherung von Information, welche von einem Administrator des Datenbankzentrums eingegeben ist, zur Definition einer Mehrzahl von Dateisystemen; eine fünfte Datenbank und Mittel zur Verwendung der fünften Datenbank zur Speicherung von Information, welche durch einen Administrator des Datenbankzentrums eingegeben ist, zur Definition von Zugriffsprivilegien der Mehrzahl von Teilnehmern auf Dateisysteme, welche durch Information in der ersten Datenbank definiert sind; eine sechste Datenbank und Mittel zur Verwendung der sechsten Datenbank zur Speicherung von Information, welche durch die Mehrzahl von Teilnehmern eingegeben ist, zur Definition von Untergruppen von Teilnehmern und zur Zuordnung jeder Untergruppe zu einem Dateisystem, das durch die erste Datenbank definiert ist; und Mittel zur Abgleichung oder zum Vergleich der Information in der sechsten Datenbank mit der Information in der vierten Datenbank zum Verhindern, daß die Mehrzahl von Teilnehmern Zugriff auf ein Dateisystem nimmt, zu welchem sie keine Zugriffserlaubnis haben.
  28. Einrichtung nach Anspruch 27, welcher die sechste Datenbank entsprechend einem Informationshandhabungs-Basisprotokoll strukturiert ist.
  29. Einrichtung zur Aufteilung von Netzwerk-Datendienstleistungen unter mehreren Teilnehmern, von denen jeder Anfragen ausgibt, um selektiv Zugriff auf eine Mehrzahl von Datendienstleistungen zu nehmen, wobei die Einrichtung folgendes enthält: Mittel zum Definieren mindestens einer Session oder eines Bearbeitungsabschnittes für jeden der Mehrzahl von Teilnehmern, wobei während der jeweiligen Session Anfragen von jedem Teilnehmer geschaffen werden können; Mittel zum Zuordnen einer Durchsatzmaßzahl zu jeder Session, wobei die Durchsatzmaßzahl ein Maß der Servicequalität ist; Mittel zum Zuordnen mindestens einer Aktiv-Sessionsliste und einer inaktiven Liste zu jedem der Mehrzahl von Teilnehmern und zum Einsetzen von Sessionen, welche für jeden Teilnehmer definiert worden sind, in die Aktiv-Sessionsliste, die dem betreffenden Teilnehmer zugeordnet ist; und Mittel zum Ordnen der Aktiv-Sessionslisten von einer ersten Liste bis zu einer letzten Liste und zum Bedienen schwebender Anfragen in Sessionen der ersten Aktiv-Sessionsliste.
  30. Einrichtung nach Anspruch 29, bei welcher die Mittel zum Definieren mindestens einer Session Mittel zur Öffnung einer Session für einen der Mehrzahl von Teilnehmern umfassen, wenn der eine Teilnehmer eine Anfrage erzeugt, sowie Mittel zum Schließen der Session enthalten, wenn keine weiteren Anfragen erzeugt werden.
  31. Einrichtung nach Anspruch 29, bei welcher die Mittel zum Definieren Mittel zum Zuordnen jeder Session zu einer Sessionsgruppe enthalten, welche durch eine Gruppe von Ressourcen definiert ist, die von der jeweiligen Session verwendet werden.
  32. Einrichtung nach Anspruch 31, bei welcher die Mittel zum Ordnen der Aktiv-Sessionslisten Mittel zur Prüfung der Sessionsgruppe vor dem Bedienen schwebender Anfragen in der jeweiligen Session umfassen, um festzustellen, ob die Ressourcen, die der jeweiligen Sessionsgruppe zugeordnet sind, die Kapazität erreicht haben und Mittel enthalten, um die Session zu umgehen, wenn die Gruppe von Ressourcen die Kapazität erreicht hat.
  33. Einrichtung nach Anspruch 29, bei welcher die Mittel zur Zuordnung einer Durchsatzmaßzahl zu jeder Session Mittel zur Zuordnung einer Durchsatzmaßzahl zu jeder Session in der Weise enthalten, daß diese Durchsatzmaßzahl in Beziehung zu einem Bruchteil der gegenwärtig verfügbaren Durchsatzkapazität steht, welche jeder Session zugeordnet ist.
  34. Einrichtung nach Anspruch 33, bei welcher eine Applikation auf eine Anfrage nach einer Dienstleistung durch Rückgabe einer Abschätzung der Ressourcenkapazität antwortet, welche notwendig ist, um auf die Anfrage zu antworten und wobei die Mittel zur Zuordnung einer Durchsatzmaßzahl zu jeder Session Mittel zur Einstellung der Durchsatzmaßzahl basierend auf dem Schätzwert enthalten.
  35. Einrichtung nach Anspruch 34, welche weiter Mittel zur Auswahl des nächsten auswählbaren Teilnehmers für die Bedienung von Anfragen enthält, wenn eine Durchsatzeinstellung die Folge hat, daß ein Teilnehmer eine ihm zugeordnete Kapazität überschreitet.
  36. Einrichtung nach Anspruch 29, bei welcher die Mittel zum Ordnen der Aktiv-Sessionslisten Mittel zum Bedienen schwebender Anfragen in einer aktiven Session auf der ersten Aktiv-Sessionsliste enthalten, bis der Durchsatz, der durch sämtliche bedienten Anfragen verbraucht worden ist, abschätzungsgemäß einen vorbestimmten Betrag zugeordneter Kapazität überschreitet oder sämtliche Anfragen bedient worden sind.
  37. Einrichtung nach Anspruch 36, bei welcher die Mittel zum Ordnen der Aktiv-Sessionslisten weiter Mittel zur Entfernung der aktiven Session aus der ersten Aktiv-Sessionsliste sowie Mittel zum Setzen der aktiven Session auf eine andere Sessionsliste umfassen, wenn der Durchsatz, der durch alle bedienten Anfragen verbraucht wird, abschätzungsgemäß einen vorbestimmten Kapazitätsbetrag, der der aktiven Session zugeordnet ist, überschreitet.
  38. Einrichtung nach Anspruch 36, bei welcher die Mittel zum Ordnen der Aktiv-Sessionslisten weiter Mittel zum Entfernen der aktiven Session aus der ersten aktiven Sessionsliste und Mittel zum Setzen der aktiven Session auf die inaktive Liste enthalten, wenn sämtliche Anfragen bedient worden sind.
  39. Computerprogrammprodukt zum Aufteilen von Netzwerk-Datendienstleistungen unter einer Mehrzahl von Teilnehmern, um einer Mehrzahl von Ausgangsteilnehmern zu ermöglichen selektiv Zugriff auf eine Mehrzahl von Bestimmungsteilnehmern zu nehmen, welche Datendienstleistungen bieten, wobei jeder Bestimmungsteilnehmer an einer Bestimmungsadresse gelegen ist und das Computerprogrammprodukt ein von einem Computer verwendbares Medium enthält, auf welchem sich ein computerlesbarer Programmcode befindet, welcher folgendes enthält: einen Programmcode zum Definieren einer Mehrzahl unabhängiger Netzwerke, wobei jedes unabhängige Netzwerk eine Gruppe von Zugangsanschlüssen und eine einzigartige Gruppe von Bestimmungsadressen enthält und logisch getrennt von allen anderen unabhängigen Netzwerken ist, so daß keine Information von einem unabhängigen Netzwerk zu einem anderen unabhängigen Netzwerk gelangen kann; einen ersten Programmcode, welcher, wenn ein Ausgangsteilnehmer mit einer bestimmten Identität eine Anfrage zur Verwendung eines ersten unabhängigen Netzwerkes zur Herstellung der Verbindung zu einem Bestimmungsteilnehmer und für den Zugriff zu einer Ressource macht, die Identität verwendet, um festzustellen, ob der Ausgangsteilnehmer die Erlaubnis hat, das erste unabhängige Netzwerk zu verwenden; einen Programmcode, welcher, wenn der Ausgangsteilnehmer die Erlaubnis zur Verwendung des ersten unabhängigen Netzwerkes hat, bestimmt, ob der Ausgangsteilnehmer oder ein Bestimmungsteilnehmer die Kontrolle über die Ressource hat; einen zweiten Programmcode, der, wenn ein Bestimmungsteilnehmer die Kontrolle über die Ressource hat, die Information in der Anfrage verwendet, um einen Bestimmungsteilnehmer und einen Antwortanschluß zu identifizieren; und einen dritten Programmcode, der, wenn der Ausgangsteilnehmer die Kontrolle über die Ressource hat, die Identität verwendet, um festzustellen, ob der Ausgangsteilnehmer Zugriff auf die Ressource nehmen kann.
  40. Computerprogrammprodukt nach Anspruch 39, bei welchem die Identität einen Zugangsanschluß identifiziert, über welchen der Ausgangsteilnehmer Zugang zu dem ersten unabhängigen Netzwerk hat.
  41. Computerprogrammprodukt nach Anspruch 39, bei welchem der Programmcode zum Definieren einer Mehrzahl unabhängiger Netzwerke einen Programmcode zur Speicherung einer ersten Datenbankinformation für jeden Ausgangsteilnehmer enthält, welcher das jeweilige unabhängige Netzwerk definiert, zu welchem der betreffende Ausgangsteilnehmer Zugang hat.
  42. Computerprogrammprodukt nach Anspruch 41, bei welchem der erste Programmcode zur Verwendung einen Programmcode zur Verwendung der genannten Identität in der Weise enthält, daß Zugriff zu der ersten Datenbank genommen wird und bestimmt wird, ob Information betreffend das erste unabhängige Netzwerk sich in der ersten Datenbank befindet und, wenn dies der Fall ist, die betreffende Information gewonnen wird.
  43. Computerprogrammprodukt nach Anspruch 42, bei welchem die Mittel zur Bestimmung Mittel zur Verwendung der Information betreffend das erste Netzwerk enthalten, um festzustellen, ob der Ausgangsteilnehmer oder der Bestimmungsteilnehmer die Kontrolle über die Ressource hat.
  44. Computerprogrammprodukt nach Anspruch 43, bei welchem der zweite Programmcode zur Verwendung einen Programmcode zur Verwendung der genannten Information betreffend das erste Netzwerk und Information in der Anfrage enthält, um Zugriff zu einer zweiten Datenbank zu nehmen und eine Identifizierung eines Bestimmungsteilnehmers und eines Antwortanschlusses zu gewinnen.
  45. Computerprogrammprodukt nach Anspruch 43, bei welchem der dritte Programmcode zur Verwendung einen Programmcode zur Verwendung der genannten Identität enthält, um Zugriff zu einer dritten Datenbank zu nehmen, um festzustellen, ob Information betreffend den Ausgangsteilnehmer sich in der dritten Datenbank befindet und, falls dies der Fall ist, die Erlaubnisinformation aus der dritten Datenbank zu gewinnen.
  46. Computerprogrammprodukt nach Anspruch 39, welches weiter folgendes enthält: einen Programmcode zur Verwendung einer vierten Datenbank zur Speicherung von Information, welche durch einen Administrator des Datenbankzentrums eingegeben ist, welche eine Mehrzahl von Dateisystemem definiert; einen Programmcode zur Verwendung einer fünften Datenbank zur Speicherung von Information, welche durch einen Administrator des Datenbankzentrums eingegeben ist, zum Definieren von Zugriffsprivilegien einer Mehrzahl von Teilnehmern auf Dateisysteme, welche durch die Information in der ersten Datenbank definiert sind; einen Programmcode zur Verwendung einer sechsten Datenbank zur Speicherung von Information, welche durch die Mehrzahl von Teilnehmern eingegeben wird, zur Definition von Untergruppen von Teilnehmern und zur Zuordnung jeder Untergruppe zu einem Dateisystem, welches durch die erste Datenbank definiert ist; und einen Programmcode zum Abgleichen oder Vergleichen der Information in der sechsten Datenbank mit der Information in der vierten Datenbank zum Verhindern, daß die mehreren Teilnehmer Zugriff auf ein Dateisystem nehmen, zu welchem sie keine Zugriffserlaubnis haben.
  47. Computerprogrammprodukt zum Aufteilen von Netzwerk-Datendienstleistungen unter mehreren Teilnehmern, von denen jeder Anfragen für einen selektiven Zugriff auf eine Mehrzahl von Datendienstleistungen macht und das Computerprogrammprodukt ein von einem Computer verwendbares Medium enthält, auf welchem sich ein computerlesbarer Programmcode befindet, welcher folgendes enthält: einen Programmcode zum Definieren mindestens einer Session für jeden der Mehrzahl der Teilnehmer, wobei während dieser Session Anfragen von dem jeweiligen Teilnehmer erzeugt werden können; einen Programmcode zur Zuordnung einer Durchsatzmeßzahl, welche ein Maß für die Servicequalität bildet, zu jeder Session; einen Programmcode zum Zuordnen einer Aktiv-Sessionsliste und einer inaktiven Liste zu jedem der Mehrzahl von Teilnehmern und zum Einsetzen von Sessionen, welche für jeden Teilnehmer definiert sind, in die Aktiv-Sessionsliste, welche dem betreffenden Teilnehmer zugeordnet ist; und einen Programmcode zum Ordnen der Aktiv-Sessionslisten von einer ersten Liste bis zu einer letzten Liste und zum Bedienen schwebender Anfragen in den Sessionen in der ersten Aktiv-Sessionsliste.
  48. Rechner-Datensignal, das sich in einer Trägerwelle befindet, zum Aufteilen von Netzwerk-Datendienstleistungen unter einer Mehrzahl von Teilnehmern, um es einer Mehrzahl von Ausgangsteilnehmern zu ermöglichen, selektiv Zugriff auf eine Mehrzahl von Bestimmungsteilnehmern zu nehmen. welche Datendienstleistungen anbieten, wobei jeder Bestimmungsteilnehmer an einer bestimmten Bestimmungsadresse gelegen ist und das Rechnerdatensignal folgendes enthält: einen Programmcode zum Definieren einer Mehrzahl unabhängiger Netzwerke, von denen jedes eine Gruppe von Zugangsanschlüssen und eine einzigartige Gruppe von Bestimmungsadressen enthält und logisch getrennt von allen anderen unabhängigen Netzwerken ist, so daß keine Information von einem unabhängigen Netzwerk zu dem anderen unabhängigen Netzwerk gelangen kann; einen ersten Programmcode, welcher, wenn ein Ausgangsteilnehmer mit einer bestimmten Identität eine Anfrage zur Verwendung eines ersten unabhängigen Netzwerkes macht, um die Verbindung zu einem Bestimmungsteilnehmer herzustellen und Zugriff auf eine Ressource zu nehmen, der in der Weise wirksam ist, daß er die genannte Identität dazu verwendet, festzustellen, ob der Ausgangsteilnehmer die Erlaubnis zur Verwendung des ersten unabhängigen Netzwerkes hat; einen Programmcode, welcher, wenn der Ausgangsteilnehmer die Erlaubnis zur Verwendung des ersten unabhängigen Netzwerkes hat, in der Weise wirksam ist, daß er feststellt, ob der Ausgangsteilnehmer oder ein Bestimmungsteilnehmer die Kontrolle über die Ressource hat; einen zweiten Programmcode, welcher, wenn ein Bestimmungsteilnehmer die Kontrolle über die Ressource hat, in der Weise wirksam ist, daß er Information in der Anfrage verwendet, um einen Bestimmungsteilnehmer und einen Antwortanschluß zu identifizieren; und einen dritten Programmcode, welcher, wenn der Ausgangsteilnehmer die Kontrolle über die Ressource hat, in der Weise wirksam ist, daß er die genannte Identität verwendet, um festzustellen, ob der Ausgangsteilnehmer Zugriff auf die Ressource nehmen kann.
  49. Rechner-Datensignal, welches sich in einer Trägerwelle befindet, zur Aufteilung von Netzwerk-Datendienstleistungen unter einer Mehrzahl von Teilnehmern, von denen jeder Anfragen macht, um selektiv Zugriff auf eine Mehrzahl von Datendienstleistungen zu nehmen, wobei das Rechner-Datensignal folgendes enthält: einen Programmcode zum Definieren mindestens einer Session für jeden der Mehrzahl von Teilnehmern, wobei während dieser Session Anfragen von dem jeweiligen Teilnehmer erzeugt werden können: einen Programmcode zur Zuordnung einer Durchsatz-Maßzahl, welche ein Maß für die Servicequalität bildet, zu jeder Session; einen Programmcode zur Zuordnung mindestens einer Aktiv-Sessionsliste und einer inaktiven Liste zu jedem der Mehrzahl von Teilnehmern und zum Einsetzen von Sessionen, die für jeden Teilnehmer definiert sind, in die Aktiv-Sessionsliste, welche dem betreffenden Teilnehmer zugeordnet ist; und einen Programmcode zum Ordnen der Aktiv-Sessionslisten von einer ersten Liste bis zu einer letzten Liste und zum Bedienen schwebender Anfragen in den Sessionen der ersten Aktiv-Sessionsliste.
DE10296682T 2001-04-18 2002-04-18 Integriertes Verfahren zur Aufteilung von Netzwerkdatendienstleistungen unter mehreren Teilnehmern Withdrawn DE10296682T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US28443901P 2001-04-18 2001-04-18
US60/284,439 2001-04-18
US10/124,630 US7277953B2 (en) 2001-04-18 2002-04-17 Integrated procedure for partitioning network data services among multiple subscribers
US10/124,630 2002-04-17
PCT/US2002/012444 WO2002086715A2 (en) 2001-04-18 2002-04-18 Integrated procedure for partitioning network data services among multiple subscribers

Publications (1)

Publication Number Publication Date
DE10296682T5 true DE10296682T5 (de) 2004-04-22

Family

ID=26822788

Family Applications (1)

Application Number Title Priority Date Filing Date
DE10296682T Withdrawn DE10296682T5 (de) 2001-04-18 2002-04-18 Integriertes Verfahren zur Aufteilung von Netzwerkdatendienstleistungen unter mehreren Teilnehmern

Country Status (5)

Country Link
US (2) US7277953B2 (de)
AU (1) AU2002258884A1 (de)
DE (1) DE10296682T5 (de)
GB (1) GB2386291B (de)
WO (1) WO2002086715A2 (de)

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8346733B2 (en) 2006-12-22 2013-01-01 Commvault Systems, Inc. Systems and methods of media management, such as management of media to and from a media storage library
US7603518B2 (en) 2005-12-19 2009-10-13 Commvault Systems, Inc. System and method for improved media identification in a storage device
JP2003242123A (ja) * 2002-02-21 2003-08-29 Hitachi Ltd 合議型アクセス制御方法
US7944953B2 (en) * 2002-04-03 2011-05-17 Tvworks, Llc Method and apparatus for transmitting data in a data stream
US7490348B1 (en) * 2003-03-17 2009-02-10 Harris Technology, Llc Wireless network having multiple communication allowances
AU2004227949B9 (en) 2003-04-03 2010-07-22 Commvault Systems, Inc. System and method for dynamically performing storage operations in a computer network
WO2004090789A2 (en) 2003-04-03 2004-10-21 Commvault Systems, Inc. System and method for extended media retention
US7289632B2 (en) * 2003-06-03 2007-10-30 Broadcom Corporation System and method for distributed security
US8078705B2 (en) * 2004-04-05 2011-12-13 Hewlett-Packard Development Company, L.P. Key-configured topology with connection management
US7711835B2 (en) * 2004-09-30 2010-05-04 Citrix Systems, Inc. Method and apparatus for reducing disclosure of proprietary data in a networked environment
US8613048B2 (en) 2004-09-30 2013-12-17 Citrix Systems, Inc. Method and apparatus for providing authorized remote access to application sessions
US7748032B2 (en) 2004-09-30 2010-06-29 Citrix Systems, Inc. Method and apparatus for associating tickets in a ticket hierarchy
US7765369B1 (en) 2004-11-05 2010-07-27 Commvault Systems, Inc. Method and system for selectively deleting stored data
US20060133333A1 (en) * 2004-12-21 2006-06-22 Utstarcom, Inc. Method and apparatus to increase session capacity
US8024568B2 (en) 2005-01-28 2011-09-20 Citrix Systems, Inc. Method and system for verification of an endpoint security scan
US8126914B2 (en) * 2005-03-23 2012-02-28 International Business Machines Corporation Selecting a resource manager to satisfy a service request
US20070168244A1 (en) 2006-01-19 2007-07-19 International Business Machines Corporation Methods and apparatus for coordinating and selecting protocols for resources acquisition from multiple resource managers
EP1830268B1 (de) * 2006-03-03 2019-05-08 STMicroelectronics (Research & Development) Limited Integrierte Mehrzweckschaltung
CN101496387B (zh) * 2006-03-06 2012-09-05 思科技术公司 用于移动无线网络中的接入认证的系统和方法
US8826280B1 (en) * 2006-03-23 2014-09-02 Emc Corporation Processing raw information for performing real-time monitoring of task queues
US8539493B1 (en) 2006-03-23 2013-09-17 Emc Corporation Configurable prioritization and aging of queued tasks
US8347295B1 (en) 2006-03-23 2013-01-01 Emc Corporation Profile-based assignment of queued tasks
US8151323B2 (en) 2006-04-12 2012-04-03 Citrix Systems, Inc. Systems and methods for providing levels of access and action control via an SSL VPN appliance
US7539783B2 (en) 2006-09-22 2009-05-26 Commvault Systems, Inc. Systems and methods of media management, such as management of media to and from a media storage library, including removable media
US8533846B2 (en) * 2006-11-08 2013-09-10 Citrix Systems, Inc. Method and system for dynamically associating access rights with a resource
US7831566B2 (en) 2006-12-22 2010-11-09 Commvault Systems, Inc. Systems and methods of hierarchical storage management, such as global management of storage operations
US8706976B2 (en) * 2007-08-30 2014-04-22 Commvault Systems, Inc. Parallel access virtual tape library and drives
US8230345B2 (en) * 2008-02-28 2012-07-24 Jewish War Veterans, U.S. National Memorial, Inc. Yahrzeit system and method
US20100070466A1 (en) 2008-09-15 2010-03-18 Anand Prahlad Data transfer techniques within data storage devices, such as network attached storage performing data migration
US9244779B2 (en) 2010-09-30 2016-01-26 Commvault Systems, Inc. Data recovery operations, such as recovery from modified network data management protocol data
US8707403B2 (en) * 2011-08-10 2014-04-22 Time Inc. Subscription interface for providing access to digital publications
US8751746B2 (en) * 2011-12-15 2014-06-10 Apple Inc. QoS management in the L2 cache
EP2712450A4 (de) 2012-03-30 2015-09-16 Commvault Systems Inc Informatonsverwaltung von daten mobiler vorrichtungen
US9053058B2 (en) 2012-12-20 2015-06-09 Apple Inc. QoS inband upgrade
US9069799B2 (en) 2012-12-27 2015-06-30 Commvault Systems, Inc. Restoration of centralized data storage manager, such as data storage manager in a hierarchical data storage system
CN104702710B (zh) * 2013-12-09 2019-02-26 中国联合网络通信集团有限公司 端口分配方法及装置
US9548897B2 (en) 2014-01-17 2017-01-17 Amazon Technologies, Inc. Network entity registry for network entity handles included in network traffic policies enforced for a provider network
US9929969B1 (en) * 2014-12-31 2018-03-27 VCA IP Holding Company LLC Tenant-based management system and method for distributed computing environments
US20180234320A1 (en) * 2015-03-10 2018-08-16 Aruba Networks, Inc. Capacity comparisons
US9928144B2 (en) 2015-03-30 2018-03-27 Commvault Systems, Inc. Storage management of data using an open-archive architecture, including streamlined access to primary data originally stored on network-attached storage and archived to secondary storage
US10101913B2 (en) 2015-09-02 2018-10-16 Commvault Systems, Inc. Migrating data to disk without interrupting running backup operations
US10742735B2 (en) 2017-12-12 2020-08-11 Commvault Systems, Inc. Enhanced network attached storage (NAS) services interfacing to cloud storage
US11593223B1 (en) 2021-09-02 2023-02-28 Commvault Systems, Inc. Using resource pool administrative entities in a data storage management system to provide shared infrastructure to tenants

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5606668A (en) * 1993-12-15 1997-02-25 Checkpoint Software Technologies Ltd. System for securing inbound and outbound data packet flow in a computer network
US5835726A (en) * 1993-12-15 1998-11-10 Check Point Software Technologies Ltd. System for securing the flow of and selectively modifying packets in a computer network
US6002667A (en) * 1995-07-19 1999-12-14 Fujitsu Network Communications, Inc. Minimum guaranteed cell rate method and apparatus
US6226678B1 (en) * 1995-09-25 2001-05-01 Netspeak Corporation Method and apparatus for dynamically defining data communication utilities
US6088451A (en) * 1996-06-28 2000-07-11 Mci Communications Corporation Security system and method for network element access
US5935210A (en) * 1996-11-27 1999-08-10 Microsoft Corporation Mapping the structure of a collection of computer resources
US6408336B1 (en) * 1997-03-10 2002-06-18 David S. Schneider Distributed administration of access to information
US6516416B2 (en) * 1997-06-11 2003-02-04 Prism Resources Subscription access system for use with an untrusted network
US6891824B1 (en) * 1997-06-30 2005-05-10 Emc Corporation Audible communication with a modem over a wide area network
US6104700A (en) * 1997-08-29 2000-08-15 Extreme Networks Policy based quality of service
US6202156B1 (en) * 1997-09-12 2001-03-13 Sun Microsystems, Inc. Remote access-controlled communication
US6047377A (en) * 1997-12-11 2000-04-04 Sun Microsystems, Inc. Typed, parameterized, and extensible access control permissions
AUPP308298A0 (en) * 1998-04-20 1998-05-14 Ericsson Australia Pty Ltd Access control method and apparatus
US6167052A (en) * 1998-04-27 2000-12-26 Vpnx.Com, Inc. Establishing connectivity in networks
US6338089B1 (en) * 1998-10-06 2002-01-08 Bull Hn Information Systems Inc. Method and system for providing session pools for high performance web browser and server communications
US7140039B1 (en) * 1999-06-08 2006-11-21 The Trustees Of Columbia University In The City Of New York Identification of an attacker in an electronic system
US6463474B1 (en) * 1999-07-02 2002-10-08 Cisco Technology, Inc. Local authentication of a client at a network device
US6772333B1 (en) * 1999-09-01 2004-08-03 Dickens Coal Llc Atomic session-start operation combining clear-text and encrypted sessions to provide id visibility to middleware such as load-balancers
FI108184B (fi) * 1999-10-12 2001-11-30 Sonera Oyj Palvelun pääsynvalvonta
GB2358761B (en) * 2000-01-25 2002-03-13 3Com Corp Multi-port network communication device with selective mac address filtering
US6496935B1 (en) * 2000-03-02 2002-12-17 Check Point Software Technologies Ltd System, device and method for rapid packet filtering and processing
US6976079B1 (en) * 2000-09-29 2005-12-13 International Business Machines Corporation System and method for upgrading software in a distributed computer system
US7036113B1 (en) * 2000-10-26 2006-04-25 International Business Machines Corporation Detection of resource exceptions
US20020078164A1 (en) * 2000-12-13 2002-06-20 Marnetics Ltd. System and method for data transfer acceleration in a TCP network environment
US7146635B2 (en) * 2000-12-27 2006-12-05 International Business Machines Corporation Apparatus and method for using a directory service for authentication and authorization to access resources outside of the directory service
US20020097678A1 (en) * 2001-01-23 2002-07-25 Bisher James A. Method and apparatus for bandwidth management associated with misbehaving sessions
US6981064B1 (en) * 2001-02-15 2005-12-27 Cisco Technology, Inc Supporting multiple point-to-point sessions between network devices on an ATM backbone
US7382727B2 (en) * 2001-02-21 2008-06-03 Cisco Technology, Inc. System and method for asymmetrical bandwidth management
US6957258B2 (en) * 2001-03-28 2005-10-18 Netrake Corporation Policy gateway
US20040213155A1 (en) * 2001-03-29 2004-10-28 Mitel Semiconductor V.N. Inc. Multi-processor data traffic shaping and forwarding
US6957261B2 (en) * 2001-07-17 2005-10-18 Intel Corporation Resource policy management using a centralized policy data structure

Also Published As

Publication number Publication date
GB2386291A (en) 2003-09-10
WO2002086715A2 (en) 2002-10-31
GB2386291B (en) 2004-11-17
AU2002258884A1 (en) 2002-11-05
WO2002086715A3 (en) 2003-03-20
US20030004950A1 (en) 2003-01-02
US20070294418A1 (en) 2007-12-20
US7277953B2 (en) 2007-10-02
GB0312298D0 (en) 2003-07-02

Similar Documents

Publication Publication Date Title
DE10296682T5 (de) Integriertes Verfahren zur Aufteilung von Netzwerkdatendienstleistungen unter mehreren Teilnehmern
DE69832946T2 (de) Verteiltes System und Verfahren zur Steuerung des Zugriffs auf Netzmittel und Ereignismeldungen
DE60317403T2 (de) Mehrstufige Cache-Speicherarchitektur und Cache-Speicherverwaltungsverfahren für gleichrangiges Namensauflösungs-Protokoll
DE112018003482B4 (de) Serveranfrageverwaltung
DE602004004321T2 (de) Vorrichtung und Verfahren zur Echtzeitbeurteilung einer Netzverwaltungsregel
DE69825801T2 (de) Vorrichtung und Verfahren zur Ermöglichung gleichranginger Zugangskontrolle in einem Netz
DE60004537T2 (de) In einer relationalen datenbank integriertes contextbasiertes system zur veröffentlichung und abonnierung
DE60306186T2 (de) Verfahren und system zur anordnung von dienste in einer webdienstarchitektur
EP1290530B1 (de) Verschlüsseln von abzuspeichernden daten in einem iv-system
DE69628682T2 (de) System und Verfahren um die Belastung einer Mehrzahl von Datei-Servern zu verteilen
DE69916928T2 (de) Zugriffsverfahren und Server für Netzwerkverzeichnis
DE60038707T2 (de) Internet-Schnittstellensystem
DE69836812T2 (de) Verfahren und gerät zum dynamischen warteschlange-abschätzen
DE69637221T2 (de) Universelles Nachrichtenablieferungssystem
DE19842673B4 (de) Verfahren und Vorrichtung zur Vermittlung bei der Datenkommunikation
DE60311396T2 (de) Verfahren zur Gestaltung eines Peer-to-Peer Netzwerks mit Hilfe eines gemeinsamen Gruppenetiketts
DE60306480T2 (de) Verfahren zur Kommunikation von Knoten in Peer-to-Peer Netzwerken mit Hilfe eines gemeinsamen Gruppenetiketts
DE112011104787B4 (de) Nutzung von Inhalten über persönliche Clouds
DE10311074A1 (de) Verfahren und Anordnungen in einem Telekommunikationsnetz
EP0959588A2 (de) Netzelement mit einer Steuerungseinrichtung und Steuerungsverfahren
DE60132360T2 (de) Verwaltung von netzwerk-verkehr durch anwendung einer hashfunktion
DE202015104128U1 (de) Datenzugriffssystem
DE69932147T2 (de) Kommunikationseinheit und Kommunikationsverfahren mit Profilverwaltung
DE60210356T2 (de) Verwalter von Dienststufenübereinkommen in einem Datennetz
EP1298515A2 (de) Verfahren zur Steuerung des Zugriffs auf Ressourcen eines Datenverarbeitungssystems

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8139 Disposal/non-payment of the annual fee