DE69727721T2 - Rechnervorrichtung und Bussteuerungsschema - Google Patents

Rechnervorrichtung und Bussteuerungsschema Download PDF

Info

Publication number
DE69727721T2
DE69727721T2 DE69727721T DE69727721T DE69727721T2 DE 69727721 T2 DE69727721 T2 DE 69727721T2 DE 69727721 T DE69727721 T DE 69727721T DE 69727721 T DE69727721 T DE 69727721T DE 69727721 T2 DE69727721 T2 DE 69727721T2
Authority
DE
Germany
Prior art keywords
data
bus
memory
units
communication control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
DE69727721T
Other languages
English (en)
Other versions
DE69727721D1 (de
Inventor
Shigehiro Minato-ku Asano
Suzuki Masaki
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.)
Toshiba Corp
Original Assignee
Toshiba 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 Toshiba Corp filed Critical Toshiba Corp
Application granted granted Critical
Publication of DE69727721D1 publication Critical patent/DE69727721D1/de
Publication of DE69727721T2 publication Critical patent/DE69727721T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q11/00Selecting arrangements for multiplex systems
    • H04Q11/04Selecting arrangements for multiplex systems for time-division multiplexing
    • H04Q11/0428Integrated services digital network, i.e. systems for transmission of different types of digitised signals, e.g. speech, data, telecentral, television signals
    • H04Q11/0478Provisions for broadband connections
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/14Handling requests for interconnection or transfer
    • G06F13/36Handling requests for interconnection or transfer for access to common bus or bus system
    • G06F13/362Handling requests for interconnection or transfer for access to common bus or bus system with centralised access control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L12/5602Bandwidth control in ATM Networks, e.g. leaky bucket
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5603Access techniques
    • H04L2012/5609Topology
    • H04L2012/5613Bus (including DQDB)
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5614User Network Interface
    • H04L2012/5615Network termination, e.g. NT1, NT2, PBX
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5614User Network Interface
    • H04L2012/5616Terminal equipment, e.g. codecs, synch.
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5638Services, e.g. multimedia, GOS, QOS
    • H04L2012/5646Cell characteristics, e.g. loss, delay, jitter, sequence integrity
    • H04L2012/5652Cell construction, e.g. including header, packetisation, depacketisation, assembly, reassembly
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/54Store-and-forward switching systems 
    • H04L12/56Packet switching systems
    • H04L12/5601Transfer mode dependent, e.g. ATM
    • H04L2012/5678Traffic aspects, e.g. arbitration, load balancing, smoothing, buffer management
    • H04L2012/5679Arbitration or scheduling

Description

  • HINTERGRUND DER ERFINDUNG
  • Fachgebiet der Erfindung
  • Die vorliegende Erfindung betrifft eine Computervorrichtung, die eine Vielzahl von mit einem Bus verbundene Einheiten aufweist, oder eine Endlosdaten-Servervorrichtung, die einen Bus zum Übertragung von Daten zwischen Einheiten verwendet.
  • Beschreibung des Standes der Technik
  • In Computersystemen, die digitale Informationen bearbeiten, wird weitestgehend ein Bus als günstiges Verfahren hingenommen, um eine Vielzahl von Einheiten zu verbinden. Bei der Auslegung eines Systems, welches einen Bus verwendet, liegt ein Problem darin, dass sehr leicht ein Engpass bezüglich der Bandbreite des Busses auftreten kann. Um die Bandbreite des Busses zu vergrößern, wäre es möglich, die Anzahl der Signalleitungen oder die Betriebsfrequenz des Busses zu erhöhen. Wenn jedoch eine Vielzahl von Einheiten an einem Bus angeschlossen sind, muss im Allgemeinen das Recht, den Bus zu verwenden, festgesetzt werden. Die Tatsache, dass solch eine Entscheidung eine bestimmte Zeit in Anspruch nimmt, begründet eine Schwelle im Hinblick auf eine Steigerung der Verwendungsrate des Busses.
  • Darüber hinaus werden in Computersystemen, die eine große Anzahl von Speichern verwenden, weitgehend kostengünstige DRAMs als Speicher verwendet. Wenn DRAMs in einer Hochgeschwindigkeits-Seitenwechsel-Betriebsart verwendet werden, können sie eine große Bandbreite unterbringen, jedoch sind sie dem Problem hinsichtlich der großen Latenz bzw. langen Latenzzeit unterworfen. Wenn demzufolge Daten zwischen einem DRAM und einem Bus übertragen werden, setzt zusätzlich zu der Entscheidungsoperation diese Latenzzeit die Verwendungsrate des Busses weiter herab.
  • Ein Typ eines Computersystems, das einen Bus verwendet, ist eine Endlosdaten-Servervorrichtung. Ein Endlosdaten-Server zum Bearbeiten von Endlosdaten, wie etwa Videodaten und/oder Audiodaten, führt während einer zeitlichen Synchronisation mit Terminalvorrichtungen in Echtzeit fortlaufend Abläufe zum Auslesen der in Speichervorrichtungen gespeicherten Endlosdaten und Abläufe zum Übertragen der Daten (einer festgesetzten Menge in einer festgesetzten Zeitperiode) aus.
  • Solch eine Endlosdaten-Servervorrichtung wird in Fachgebieten, wie etwa beim Videoabrufdienst, verwendet, wobei Videodaten, die eine Vielzahl von Video-Dateien aufweisen, gespeichert werden, und wobei eine beliebige Video-Datei in Erwiderung auf eine Anforderung von einem Terminal übertragen wird, und sie wird beim Online-Shopping-Dienst verwendet, wobei Produktinformationen mittels Video über ein Netzwerk bereitgestellt werden. Demzufolge empfängt der Endlosdaten-Server auf einer zufälligen Basis Anforderungen von einer Vielzahl von Benutzern, und es ist erforderlich, ein Leistungsvermögen aufzuweisen, jeweils verschiedene Endlosdaten zu einer hohen Anzahl von Benutzern gleichzeitig zu übertragen.
  • Eine exemplarische, herkömmliche Endlosdaten-Servervorrichtung 700 weist einen Aufbau auf, wie er in 1 gezeigt wird. In diesem Endlosdaten-Server wird eine von einem Benutzer oder einem Anwendungsprogramm ausgegebene Zugriffsanforderung hinsichtlich Endlosdaten zwischen Softwareprozessen oder mittels einer Übertragung über ein Netzwerk, etc. versendet. Diese Zugriffsanforderung wird von einer Kommunikations-Steuerungseinheit 702 empfangen und über einen Bus 704 zu einer Haupt-Steuerungsvorrichtung 706 übertragen. Die Haupt-Steuerungsvorrichtung 706 weist dann eine Speichereinheit 708 an, die angeforderten Endlosdaten auszulesen. In Erwiderung hierauf liest eine Datenspeicher-Steuerungsvorrichtung 710 der Speichereinheit 708 die vorgesehenen Endlosdaten aus eine Datenspeicher-Vorrichtung 712 aus und schreibt die Daten in einen Pufferspeicher 714. Die Haupt-Steuerungsvorrichtung 706 weist dann eine der Kommunikations-Steuerungseinheiten 702 an, die Daten in den Pufferspeicher 714 zu übertragen. In Erwiderung hierauf überträgt die Kommunikations-Steuerungseinheit 702 die Endlosdaten zu einem Übertragungsziel, welches in der Zugriffsanforderung vorgesehen ist. Diese Abläufe werden gewöhnlich in Einheiten eines festgelegten Zeitintervalls durchgeführt, das Zeitschlitz bezeichnet wird.
  • Eine andere exemplarische, herkömmliche Endlosdaten-Servervorrichtung weist einen Aufbau auf, wie er in 2 gezeigt wird. In diesem herkömmlichen Datenserver wird eine Zerlegungs-Technik verwendet. Eine Anzahl bzw. Reihe von Speichereinheiten 708 sind vorgesehen, welche parallel mit dem Bus 704 verbunden sind. Die Endlosdaten werden in den Speichereinheiten 708 derart gespeichert, dass ein Endlosdaten-Strom gespeichert wird, indem er unter einer Vielzahl von Speicherplattenvorrichtungen eingeteilt wird, die die Komponenten der Reihe sind. Das Ziel dieser Technik liegt darin, es einer hohen Anzahl von Benutzern zu ermöglichen, simultan auf die gleichen Endlosdaten zuzugreifen und ein Leistungsvermögen hinsichtlich einer Gesamtdatenübertragung zu erhöhen (gesamte Bandbreite).
  • In solchen herkömmlichen Endlosdaten-Servervorrichtungen geben die Speichereinheit 708 und die Kommunikations-Steuerungseinheit 702 Anforderungen hinsichtlich der Verwendung des Busses 704 heraus, und diese Anforderungen werden mittels einer nicht in den Figuren dargestellten Festsetzungs- bzw. Entscheidungsvorrichtung festgesetzt. Die Speichereinheit 708 oder die Kommunikations-Steuerungseinheit 702 überträgt bzw. empfängt unter Verwendung des Busses 704 die Daten zu bzw. von dem Pufferspeicher 714, wenn sie das Recht, den Bus zu verwenden, erworben hat. Als ein Ergebnis hiervon verringert die für die Entscheidung erforderliche Zeit die Verwendungsrate des Busses 704, und von daher nimmt die Anzahl der Benutzer ab, die gleichzeitig zugreifen können.
  • Zusätzlich ist es für den Endlosdaten-Server notwendig, grundsätzlich eine Übertragung einer festsetzten Datenmenge in einem festgesetzten Zeitintervall zu jedem Benutzer-Terminal zu garantieren, um sicherzustellen, dass das Benutzer-Terminal mit den Endlosdaten ohne Unterbrechung arbeiten kann. Zu diesem Zweck wird die Benutzerrate des Busses weiter herabgesetzt, um somit einen Spielraum bereitzustellen.
  • Die EP-A-675 445 offenbart ein System, um Zeitschlitze auf dem Bus Vorrichtungen zuzuweisen, welchen ein bestimmter Festsetzungs- bzw. Entscheidungspegel zugewiesen wurde. Von daher kann ein bestimmter Zeitschlitz von einer oder mehreren Vorrichtungen, die den Festsetzungs- bzw. Entscheidungspegel 6 aufweisen, verwendet werden, und ein anderer Zeitschlitz kann von Vorrichtungen des Pegels 2, etc verwendet werden.
  • Die US-A-4,600,988 offenbart ein Mikroprozessorsystem zur Verwendung eines Busses, wobei pro Zeiteinheit nur ein Prozessor einen Zugriff hat. Es werden garantierte Reaktionszeiten bereitgestellt, und das System wird dahingehend überwacht, welcher Prozessor einen Zugriff auf den Bus hat.
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Von daher liegt eine Aufgabe der vorliegenden Erfindung darin, eine Computervorrichtung und ein Bus-Steuerungsschema bereitzustellen, in welchen die Verwendungsrate eines Busses verbessert werden kann.
  • Eine weitere Aufgabe der vorliegenden Erfindung liegt darin, eine Endlosdaten-Servervorrichtung bereitzustellen, in welcher die Verwendungsrate eines Busses für die Datenübertragung erhöht werden kann, während in einer festgesetzten Zeitperiode eine ununterbrochene Übertragung einer festgesetzten Datenmenge zu jedem Benutzer-Terminal sichergestellt wird.
  • Zusätzliche Eigenschaften und Vorteile der Erfindung werden in der nachfolgenden Beschreibung fortgeführt, und sie werden zum Teil anhand der Beschreibung ersichtlich oder können durch eine praktische Anwendung der Erfindung erlernt werden. Die Aufgaben und andere Vorteile der Erfindung werden im Einzelnen anhand der in der ausgeführten Beschreibung und den Patentansprüchen hiervon sowie anhand der in den beigefügten Zeichnungen dargestellten Vorrichtung und Verfahren realisiert und erzielt.
  • In Übereinstimmung mit der vorliegenden Erfindung wird eine Computervorrichtung bereitgestellt, die folgendes aufweist:
    eine Vielzahl von Funktionseinheiten zum Übertragen von Endlosdaten, einen Bus zum Verbinden der Vielzahl der Einheiten, einen Speicher zum Speichern eines Programms, und eine Einrichtung, um ein Recht, den Bus zu verwenden, einer der Vielzahl der Einheiten in Übereinstimmung mit dem in dem Speicher gespeicherten Programm deterministisch zuzuweisen.
  • Bevorzugte Eigenschaften bzw. Merkmale der Erfindung werden in den Patentansprüchen 2 bis 26 ausgeführt.
  • Ferner wird in Übereinstimmung mit der vorliegenden Erfindung ein Bus-Steuerungsverfahren in einem Computer angegeben, der eine Vielzahl von Funktionseinheiten zur Übertragung von Endlosdaten und einen die Vielzahl der Einheiten verbindenden Bus aufweist, wobei das Verfahren die folgenden Verfahrensschritte aufweist: den Verfahrensschritt des Speicherns eines Programms, ein Recht, den Bus zu verwenden, deterministisch zuzuweisen in einem Speicher, den Verfahrensschritt, um ein Recht, den Bus zu verwenden, jeder der Vielzahl der Einheiten in Übereinstimmung mit dem in dem Speicher gespeicherten Programm deterministisch zuzuweisen, und den Verfahrensschritt des Verwendens von jeder der Einheiten des Busses in Übereinstimmung mit dem zugeordneten Verwendungsrecht.
  • Andere Eigenschaften und Vorteile der vorliegenden Erfindung werden anhand der nachfolgenden Beschreibung ersichtlich, die in Verbindung mit den beigefügten Zeichnungen zu lesen ist. Sowohl die vorangehende allgemeine Beschreibung als auch die nachfolgende detaillierte Beschreibung liefern Beispiele, die mit dieser Erfindung übereinstimmen, und die beschreiben, wie die mit der Erfindung übereinstimmenden Systeme und Verfahren auszuführen und zu verwenden sind. Diese Beschreibung schränkt nicht die beanspruchte Erfindung ein.
  • Die beigefügten Zeichnungen werden eingeführt, um ein besseres Verständnis der Erfindung zu liefern, und sie sind in dieser Spezifikation eingebunden und begründen einen Teil dieser Spezifikation, und verschiedene, beispielhaft erläuterte Ausführungsformen der Erfindung dienen zusammen mit der Beschreibung dazu, das Prinzip der Erfindung zu erläutern.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Blockdiagramm einer herkömmlichen Endlosdaten-Servervorrichtung.
  • 2 ist ein Blockdiagramm einer anderen herkömmlichen Endlosdaten-Servervorrichtung.
  • 3 ist ein Blockdiagramm einer ersten Ausführungsform einer Endlosdaten-Servervorrichtung gemäß der vorliegenden Erfindung.
  • 4 zeigt exemplarisch einen internen Aufbau bzw. Konfiguration einer Kommunikations-Steuerungseinheit.
  • 5 zeigt eine teilweise andere Konfiguration der ersten Ausführungsform eines Endlosdaten-Servers.
  • 6(a) und 6(b) zeigen exemplarisch ein Format einer Anweisung in einer Mikro-Ablaufsteuerungs-Tabelle eines gespeicherten Programms.
  • 7 zeigt exemplarisch ein Format der Mikro-Ablaufsteuerungs-Tabelle.
  • 8 erläutert die Beziehung zwischen Mikro-Zeitschlitzen, Mini-Zeitschlitzen und Zeitschlitzen.
  • 9 zeigt ein Beispiel, in welchem die Mikro-Ablaufsteuerungs-Tabelle in eine Vielzahl von Speicheradreßbereiche eingeteilt ist.
  • 10 ist eine Darstellung eines Zeitablaufes der Übertragung zu zwei Kommunikations-Steuerungseinheiten (0) und (1) über einen Bus.
  • 11 stellt schematisch den Ablauf von Daten innerhalb der Kommunikations-Steuerungseinheit dar.
  • 12 zeigt die Beziehung zwischen einer Vielzahl von Speicheradreßbereiche und Mikro-Zeitschlitze.
  • 13 zeigt exemplarisch eine interne Konfiguration des Mikro-Schedulers in Mikro-Ablaufsteuerungs-Tabelle.
  • 14(a) ist eine Darstellung des Zeitablaufes, welche die in Reihe durchzuführende Verarbeitung in einem herkömmlichen System darstellt.
  • 14(b) ist ein Darstellung des Zeitablaufes, das den Effekt der Fließbandverarbeitung in dem Mikro-Scheduler-System darstellt.
  • 15 ist ein Blockdiagramm einer zweiten Ausführungsform einer Endlosdaten-Servervorrichtung gemäß der vorliegenden Erfindung.
  • 16 zeigt die Beziehung zwischen Befehlen des Mikro-Schedulers zu Pufferspeichern und Daten von Pufferspeichern zu der Kommunikations-Steuerungseinheit.
  • 17 ist ein Blockdiagramm einer dritten Ausführungsform einer Endlosdaten-Servervorrichtung gemäß der vorliegenden Erfindung.
  • 18 ist eine Darstellung, die ein Beispiel einer Konfiguration des Mikro-Schedulers und der Mikro-Ablaufsteuerungs-Tabelle zeigt.
  • 19 ist eine Darstellung, die ein anderes alternatives Beispiel einer Konfiguration des Mikro-Schedulers und der Mikro-Ablaufsteuerungs-Tabelle zeigt.
  • 20 zeigt exemplarisch eine interne Konfiguration der Datenspeicher-Steuerungsvorrichtung.
  • DETAILLIERTE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORMEN
  • Nun werden Ausführungsformen gemäß der vorliegenden Erfindung detailliert beschrieben.
  • In einer Computervorrichtung der Ausführungsformen verwenden eine Vielzahl von Einheiten einen Bus in Übereinstimmung mit deterministischen Zuordnungen eines Mikro-Schedulers hinsichtlich eines Rechts, den Bus zu verwenden. Eine Endlosdaten-Servervorrichtung zum Bedienen bzw. Versorgen von Endlosdaten, wie etwa Video- und/oder Audio-Daten, in Erwiderung auf eine Vielzahl von gleichzeitigen Zugriffsanforderungen wird als ein Beispiel der Computervorrichtung in den Ausführungsformen angenommen. Von daher wird der Begriff der "Computervorrichtung", wie er hierin benutzt wird, verwendet, um im breiten Sinne sämtliche Vorrichtungen abzudecken, die geeignet sind, Datenübertragungen der hierin allgemein beschriebenen Arten zu bewirken.
  • In der ersten Ausführungsform und der zweiten Ausführungsform wird die vorliegende Erfindung mit den Kommunikations-Steuerungseinheiten des Endlosdaten-Servers umgesetzt. In der dritten Ausführungsform wird die vorliegende Erfindung mit sowohl den Kommunikations-Steuerungseinheiten als auch den Speichereinheiten des Endlosdaten-Servers umgesetzt.
  • Nun unter Hinzunahme auf die 3 bis 14 wird die erste Ausführungsform beschrieben.
  • 3 zeigt eine Konfiguration einer Endlosdaten-Servervorrichtung 2 gemäß der ersten Ausführungsform. Es wird ein Beispiel des Herunterladens zu einem Netzwerk oder zu einem Benutzer beschrieben.
  • Die in 3 gezeigte Endlosdaten-Servervorrichtung 2 weist folgendes auf: eine Speichereinheit 4, die eine festgesetzte Anzahl von Datenspeicher-Vorrichtungen (Speicherplatten) 6, welche Endlosdaten speichern, und eine Datenspeicher-Steuerungsvorrichtung (SCSI-Controller) 8, welche Daten aus den Datenspeicher-Vorrichtungen 6 ausliest, enthält; einen Pufferspeicher 10, der temporär von der Speichereinheit 4 ausgelesene Daten speichert; eine oder mehrere (in diesem Fall zwei) Kommunikations-Steuerungseinheiten 12, die die Daten des Pufferspeichers 10 zu einem Netzwerk 14 übertragen, das zu jedem Benutzer-Terminal 16 adressiert ist; einen Bus (VBUS) 18, der den Pufferspeicher 10 und die Kommunikations-Steuerungseinheiten 12 verbindet; und einen Bus (HBUS) 19, der die Speichereinheit 4 und den Pufferspeicher 10 verbindet.
  • Während die vorliegende Ausführungsform hinsichtlich eines Beispiels des Herunterladens beschrieben wird, sei darauf hingewiesen, dass in dem Fall des Heraufladens eine Kommunikations-Steuerungseinheit 12 Daten zu dem Pufferspeicher 10 überträgt, der Pufferspeicher 10 die Daten temporär speichert, und dass die Datenspeicher-Steuerungsvorrichtung 8 die in dem Pufferspeicher 10 gespeicherten Daten in die Datenspeicher-Vorrichtung 6 schreibt.
  • Die Endlosdaten-Servervorrichtung weist ferner folgendes auf:
    eine Haupt-Steuerungsvorrichtung 20, die das gesamte System steuert, im Einzelnen das Netzwerk aufbaut und den Ablauf des Auslesens von Daten aus den Datenspeicher-Vorrichtungen 6 steuert und die Daten in Erwiderung auf Anforderungen von Terminals 16 zum Netzwerk 14 sendet; eine Mikro-Ablaufsteuerungs-Tabelle 22, die ein Programm speichert, das eine mittels der Haupt-Steuerungsvorrichtung 20 festgelegte Mikro-Ablaufsteuerung anzeigt, und ein Mikro-Scheduler 24, der deterministisch das Recht, den Bus 18 zu verwenden, dem Pufferspeicher 10 oder den Kommunikations-Steuerungseinheiten 12 in Übereinstimmung mit dem in der Mikro-Ablaufsteuerungs-Tabelle 22 gespeicherten Programm zuordnet.
  • Die Aufgaben der Speichereinheit 4, der Kommunikations-Steuerungseinheit 12 und des Pufferspeichers 10 sind im Wesentlichen die gleichen wie die der entsprechenden Einheiten in den 1 und 2. In dieser Ausführungsform jedoch gibt die Haupt-Steuerungsvorrichtung 20 Operationsanweisungen an die Speichereinheit 4 und an die Kommunikations-Steuerungseinheiten 12 in Zeitschlitzen (festgesetzte Zeitintervalle) heraus und schreibt das Programm in eine Mikro-Ablaufsteuerungs-Tabelle 22, welches die Mikro-Ablaufsteuerung anzeigt. Der Mikro-Scheduler 22 steuert deterministisch die Verwendung des Busses 18 mittels des Pufferspeichers 10 und der Kommunikations-Steuerungseinheiten 12 in Übereinstimmung mit diesem Programm. Wie hierin verwendet, bedeutet solch eine deterministische Steuerung das Durchführen einer Steuerung unabhängig von den Anforderungen der Einheiten, beispielsweise der Einheiten 12 und des Pufferspeichers 10, den Bus 18 zu verwenden.
  • Beim Durchführen solch einer Steuerung hat der Mikro-Scheduler 22 oder irgendeine Festsetzungs- bzw. Entscheidungsvorrichtung das Recht, den Bus zu verwenden, abhängig von Busverwendungs-Anforderungen von den verschiedenen Einheiten nicht festgesetzt. Statt dessen garantiert der Mikro-Scheduler 22 Bus-Verwendungszeiten für jede Einheit, indem das Recht, den Bus zu verwenden, in Übereinstimmung mit einer zuvor festgelegten Mikro-Ablaufsteuerung zugeordnet wird. Auf diese Weise werden eine festgesetzte Menge von Endlosdaten zu einer der Kommunikations-Steuerungseinheiten 12 in einer festgesetzten Zeit übertragen, und es kann garantiert werden, dass eine festgesetzte Menge von Endlosdaten auf dem Kommunikationspfad in einem festgesetzten Zeitintervall übertragen wird, während die Verwendungsrate des Busses erhöht werden kann. Demzufolge kann die Anzahl der Benutzer, die gleichzeitig bedient werden, erhöht werden.
  • Weitere Vorteile, die aus dem Betrieb des Mikro-Schedulers 22 resultieren, liegen darin, dass die Kapazität des Pufferspeichers 10 und eines Paket-Speichers, der temporär Endlosdaten speichert, bis die Daten zu dem Kommunikationspfad mittels einer Kommunikations-Steuerungseinheit 12 übertragen werden, reduziert werden können. Ebenso kann die Kapazität eines Puffers in einem an den Kommunikationspfad angeordneten Benutzer-Terminal reduziert werden, welcher empfangende Pakete hält, bis die Endlosdaten verfügbar werden.
  • Als nächstes werden die Konfigurationen der Haupt-Steuerungsvorrichtung 20, der Speichereinheit 4 und der Kommunikations-Steuerungseinheit 12 beschrieben.
  • Die Haupt-Steuerungsvorrichtung 20 kann beispielsweise eine CPU und Speichervorrichtungen wie in einem elektronischen Computer, und Ausführungssoftware zur Steuerung des gesamten Systems mittels der CPU aufweisen. Um das gesamte System zu steuern, verwaltet (oder kann festlegen) die Haupt-Steuerungsvorrichtung 20 die Spezifikation von jedem Satz der in dem System gespeicherten Endlosdaten, die Anordnung der verschiedenen Sätze der Endlosdaten an jeder Datenspeicher-Vorrichtung 6, den Kommunikationspfad, zu welchem jede Kommunikations-Steuerungseinheit 12 verbunden sein kann, usw. Eine beispielhafte Spezifikation der Endlosdaten kann Information zur Spezifizierung eines jeden Satzes von Endlosdaten enthalten, wie etwa einen Namen der Endlosdaten oder einen ID-Code, die gesamte Datenlänge von jedem Satz von Endlosdaten, oder die Gesamtanzahl von Blöcken in Fällen, in welchen die Endlosdaten in eine Vielzahl von Blöcken eingeteilt sind.
  • Die Datenspeicher-Vorrichtungen 6 zur Speicherung der Endlosdaten sind üblicherweise in der Gestalt von Speicherplatten-Vorrichtungen vorgesehen. Für solche Speicherplatten-Vorrichtungen wird am häufigsten eine Magnetplatten-Vorrichtung verwendet, jedoch kann auch eine optische Speicherplatte oder eine opto-magnetische Speicherplatten-Vorrichtung, etc. verwendet werden. Anstelle der Speicherplatten-Vorrichtung kann eine Halbleiter-Speichervorrichtung, wie etwa RAM oder EEPROM, als Datenspeicher-Vorrichtung verwendet werden. Die in den Datenspeicher-Vorrichtungen 6 gespeicherten Endlosdaten sind Daten, die eine Struktur, wie etwa ein Endlosstrom von Bits oder Bytes, aufweisen. In bevorzugter Weise werden die Endlosdaten in gebündelten Einheiten, wie etwa Blöcken, gespeichert und verwaltet.
  • Die Datenspeicher-Steuerungsvorrichtung 8 liest die in den jeweiligen Datenspeicher-Vorrichtungen 6 gespeicherten Endlosdaten aus und schreibt die Daten in eine vorgesehene Adresse in dem Pufferspeicher 10. In dem Fall des Herunterladens liest die Datenspeicher-Steuerungsvorrichtung 8 die in dem Pufferspeicher 10 gespeicherten Endlosdaten aus und schreibt die Daten in eine entsprechende Datenspeicher-Vorrichtung 6. In dieser Ausführungsform wird angenommen, dass eine Magnetplatten-Vorrichtung, die eine SCSI-Schnittstelle aufweist, als Datenspeicher-Vorrichtung 6 verwendet wird. Von nun an wird die Datenspeicher-Vorrichtung 6 als "Speicherplatte 6" bezeichnet, die Datenspeicher-Steuerungsvorrichtung 8 wird als "SCSI-Controller 8" bezeichnet. Ein typisches Beispiel von Endlosdaten sind Videodaten. In diesem Fall wird die Endlosdaten-Servervorrichtung ein Videoserver genannt.
  • Die Kommunikations-Steuerungseinheit 12 liest die Endlosdaten von einer vorgesehenen Adresse des Pufferspeichers 10 aus und überträgt die Daten zu einem Kommunikationspfad des Netzwerks 14. In dem Fall des Herunterladens funktioniert die Kommunikations-Steuerungseinheit 12 in der entgegengesetzten Richtung.
  • Die Kommunikations-Steuerungseinheit 12 kann an ein ATM-Netzwerk, Ethernet oder FDDI, etc. verbunden sein. Obwohl in dieser Ausführungsform das Netzwerk 14 als ATM-Netzwerk und die Kommunikations-Steuerungseinheit 12 als ATM-Controller 30 dargestellt sind, kann in dem Fall der Verwendung eines auf einem anderen Protokoll basierenden Netzwerkes eine geeignete Schnittstellenfunktion vorgesehen sein, die an das Netzwerk angepasst ist, um in der Kommunikations-Steuerungseinheit 12 angeschlossen zu sein.
  • 4 zeigt exemplarisch eine interne Konfiguration der Kommunikations-Steuerungseinheit 12. Die Kommunikations-Steuerungseinheit 12 weist einen ATM-Controller 30 und einen Netzwerkprozessor 40 auf.
  • Der Netzwerkprozessor 40 konfiguriert einen Steuerspeicher 42 in dem ATM-Controller 30 in Übereinstimmung mit den Anweisungen der Haupt-Steuerungsvorrichtung 20. Informationen für eine ATM-Schaltungskonfiguration und für eine Puffer-Konfiguration in einem Paketspeicher 44 werden in dem Steuerspeicher 42 gespeichert. Die Daten von dem Pufferspeicher 10 werden temporär in dem Paketspeicher 44 in dem ATM-Controller 30 gespeichert, nachdem sie durch eine Bus-Schnittstelleneinheit (die von nun an VBUSIF genannt wird) 46 hindurchgelaufen sind. Die zu dem Paketspeicher 44 gesendeten Daten werden in ATM-Pakete assembliert und in ein Signal einer physikalischen Schicht mittels einer SAR-Chip-Einheit (von nun an SARCHIP genannt) 48 umgewandelt, und dann werden sie zu dem ATM-Netzwerk 14 durch eine Schnittstelleneinheit 50 einer physikalischen Schicht übertragen.
  • Als nächstes wird die Betriebsweise des oben beschriebenen Endlosdaten-Servers beschrieben.
  • Wenn einer der Benutzer-Terminals 16 eine Zugriffsanforderung zu dem Endlosdaten-Server herausgibt, schlägt die Haupt-Steuerungsvorrichtung 20 beispielsweise in einer in der Haupt-Steuerungsvorrichtung 20 gehaltenen Tabelle nach, in welchem Abschnitt von welcher Speicherplatten-Vorrichtung 6 in der Speichereinheit 4 die angeforderten Endlosdaten gefunden werden müssen, und baut einen Plan bzw. eine Ablaufsteuerung für den Speicherplattenzugriff auf, so dass der Speicherplattenzugriff nicht in Konflikt mit Anforderungen von anderen Benutzer-Terminals steht.
  • Im Allgemeinen wird der Zugriff in großen fortlaufenden Einheiten eine hohe Zugriffseffizienz der Speicherplatten-Vorrichtung 6 erzielen, so dass der Endlosdaten-Server digitalisierte komprimierte Daten in vergleichsweise großen Einheiten (beispielsweise 128 KByte) ausliest und diese in den Pufferspeicher 10 schreibt. In einem Fall, wenn die Daten bei einer Rate von beispielsweise 4 MBps ausgelesen werden, dauert das Wiedergeben der Daten etwa 250 msec. Der Speicherplattenzugriff von 128 KByte ist wesentlich schneller als die Wiedergabegeschwindigkeit von 250 msec. Beispielsweise ist der Speicherplattenzugriff in 60 msec fertiggestellt. Dies bedeutet, dass eine Vielzahl von Anforderungen für Endlosdaten gleichzeitig mittels einer einzelnen Speicherplatten-Vorrichtung bearbeitet werden können.
  • Die Haupt-Steuerungsvorrichtung 20 dient in Erwiderung auf Anforderungen von einer hohen Anzahl von Benutzern, indem die Anforderungen mittels Software, die "Scheduler" bzw. "Abwickler" genannt wird, eingestellt werden, was eine effiziente Ablaufsteuerung ausbildet, so dass keine Konflikte hinsichtlich eines Speicherplattenzugriffs bei der Speicherplatten-Vorrichtung 12 auftreten. Um die Steuerung zu vereinfachen, führt der Scheduler bzw. Abwickler bei jedem speziellen, als "Zeitschlitz" bezeichneten Zeitintervall Befehle dem SCSI-Controller 18 in der Speichereinheit 4 zu, wodurch die Ablaufsteuerung für den nächsten Zeitschlitz (oder für einige Zeitschlitze im voraus) durch das Ende von jeder Zeitschlitzpause ermittelt wird.
  • Von der Haupt-Steuerungsvorrichtung 20, die die obig in Übereinstimmung mit der Anforderung von dem Benutzer-Terminal 16 beschriebene Ablaufsteuerung durchgeführt hat, wird der SCSI-Controller 8 in der Speichereinheit 4 Anweisungen empfangen und dann die angeforderten Daten von der Speicherplatten-Vorrichtung 6 auslesen. Der Controller 8 speichert dann sequentiell die ausgelesenen Daten in einer vorgesehenen Adresse des Pufferspeichers 10.
  • Auf die gleiche wie oben beschriebene Weise ermittelt die Haupt-Steuerungsvorrichtung 20 für jeden Zeitschlitz die Ablaufsteuerung für die Datenübertragung zu Terminals 16 und gibt eine Anweisung an den ATM-Controller 30 in der Kommunikations-Steuerungseinheit 12 heraus. Dann gibt der Pufferspeicher 10 Daten unter der Steuerung von dem Mikro-Scheduler 24 aus, und die Kommunikations-Steuerungseinheit 12 erhält unter der Steuerung des Mikro-Schedulers 24 die ausgegebenen Daten.
  • Eine festgesetzte Menge von Endlosdaten wird von daher in jeder festgesetzten Zeitperiode, z. B. in einem Zeitschlitz, von der adressierten Kommunikations-Steuerungseinheit 12 zu jedem anfragenden Benutzer-Terminal 16 durch das Netzwerk 14 übertragen.
  • Als nächstes wird der Ablauf bzw. die Operation des Mikro-Schedulers 24 detailliert beschrieben.
  • Der Mikro-Scheduler 24 steuert die Verwendung des Busses 18, der den Pufferspeicher 10 und die Kommunikations-Steuerungseinheiten 12 verbindet, in Übereinstimmung mit einem Mikro-Ablaufsteuerungs-Programm, welches in der Mikro-Ablaufsteuerungs-Tabelle 22 gespeichert ist. Im Einzelnen liest der Mikro-Scheduler 24 Steuerbefehle, einschließlich Operationsbefehle zu Ziel-Einheiten, nacheinander aus jeder Dateneingabe der Mikro-Ablaufsteuerungs-Tabelle 22 aus und gibt den Operationsbefehl zu einer entsprechenden Ziel-Einheit.
  • Diese auf der Mikro-Ablaufsteuerung basierende Steuerung ermöglicht es, dass nur der entsprechenden Ziel-Einheit die Erlaubnis überlassen wird, den Bus 18 zu jeder Zeit mit zu verwenden.
  • Das Recht, den Bus zu verwenden, wird einer Ziel-Einheit zugeordnet, die einen Befehl empfangen hat, der sie anweist, Daten auf den Bus auszugeben. Eine andere Ziel-Einheit, die einen Befehl empfangen hat, der sie anweist, Daten auf den Bus einzugeben, ist eine Empfangs-Einheit zur Verwendung des Busses. In dieser Ausführungsform wird in dem Fall des Herunterladens das Recht, den Bus zu verwenden, dem Pufferspeicher 10 zugewiesen, und eine der Kommunikations-Steuerungseinheiten 12 wird eine Ziel-Einheit, die die. Empfangs-Einheit von der Einheit ist, welche das Recht, den Bus zu verwenden, aufweist. Im Gegensatz hierzu ist für das Heraufladen das Benutzungsrecht einer der Kommunikations-Steuerungseinheiten 12 zugeordnet, und der Pufferspeicher 10 wird zu einer empfangenden Ziel-Einheit. In Fällen, wenn eine Vielzahl von Pufferspeichern in der Vorrichtung bestehen, wie etwa in der zweiten Ausführungsform, die nachfolgend unter Hinzunahme auf 15 beschrieben ist, wird einer der Pufferspeicher 10, der den Befehl von dem Mikro-Scheduler 24 empfangen hat, zu einer empfangenden Ziel-Einheit.
  • Es sollte darauf hingewiesen werden, dass die Befehle zu jeder Kommunikations-Steuerungseinheit 12 durch den Bus 18 übertragen werden können, wie es in 5 gezeigt wird, obwohl sie in 3 unabhängig von dem Bus 18 durch einen Steuerbus 31 übertragen werden. Die Konfiguration von 3 kann eine höhere Verwendungsrate des Busses 18 erzielen.
  • Das obig beschriebene Mikro-Ablaufsteuerungsprogramm wird mittels einer Haupt-Steuerungsvorrichtung 20 ermittelt und in der Mikro-Ablaufsteuerungs-Tabelle 22 gespeichert. Die Mikro- Ablaufsteuerungs-Tabelle 22 weist einen SRAM oder dergleichen auf und wird mittels der Haupt-Steuerungsvorrichtung 20 für jeden Zeitschlitz neu beschrieben bzw. überschrieben. Dieses Überschreiben entspricht der Steuerung der Speicherplatten-Vorrichtung 6, die für jeden Zeitschlitz geändert wird.
  • Die Mikro-Ablaufsteuerungs-Tabelle 22 kann eine Vielzahl von Speicheradreßbereiche aufweisen, und das Schreiben von der Haupt-Steuerungsvorrichtung 20 zu einem vorgegebenen Speicheradreßbereich kann parallel mit dem Lesen unter der Steuerung des Mikro-Schedulers 24 von einem anderen Speicheradreßbereich ausgeführt werden.
  • Als nächstes wird das Format eines in der Mikro-Ablaufsteuerungs-Tabelle 22 gespeicherten Mikro-Ablaufsteuerungsprogramms beschrieben.
  • Die Mikro-Ablaufsteuerungs-Tabelle 22 speichert in der Gestalt einer Tabelle Steuerungsanweisungen eines vorbestimmten Formates, wie es beispielsweise in den 6(a) und 6(b) gezeigt wird. Wie in 6(a) gezeigt, ist in jeder Dateneingabe eine Anweisung beschrieben, die zumindest einen Befehl (,der einen Operationsmodus anzeigt), eine Quell-Adresse und eine Ziel-Adresse aufweist. In dieser Ausführungsform, wie sie detaillierter nachfolgend beschrieben wird, weist die Dateneingabe ebenso, wie es in 6(b) gezeigt ist, die Anzahl der Wiederholungen des Befehles auf. Es ist für die Mikro-Ablaufsteuerungs-Tabelle 22 möglich, einen NOP-Befehl einzufügen, der anweist, nichts zu tun.
  • In den Feldern "Befehl" werden Befehle für einen (nicht in der Figur dargestellten) Speicher-Controller in den Pufferspeicher 10 und für einen ATM-Controller 30 in den Kommunikations-Steuerungseinheiten 12 gespeichert. In dieser Ausführungsform können solche Befehle in der Gestalt von den folgenden beiden Typen vorliegen:
    • (1) Sende-Befehl: Übertragen von dem Pufferspeicher 10 zu dem Paket-Speicher in dem ATM-Controller 30. Dieses entspricht dem Fall des Herunterladens.
    • (2) Lese-Befehl: Übertragen von dem ATM-Controller (30) zu dem Pufferspeicher 10. Dieses entspricht dem Fall des Heraufladens.
  • Abgesehen von diesen Befehlen kann in einem Fall, wenn eine RAI (redundante Anordnung von Laufwerken)-Technik in dem Speichersystem verwendet wird, der Mikro-Scheduler einen Befehl zu dem Speicher-Controller senden, der in dem Fall eines Fehlers einer Speicherplatten-Vorrichtung des RAID eine Wiederherstellung von Daten von dem RAID anweist. Wenn in diesem Fall die Haupt-Steuerungsvorrichtung einen Speicherplatten-Vorrichtungsfehler erkennt, schreibt sie einen Befehl für die RAID in die Mikro-Ablaufsteuerungs-Tabelle. Der Mikro-Scheduler kann ebenso einen Befehl zu dem Speicher-Controller senden, um Paritätsdaten für Daten zu berechnen, die von dem ATM-Controller 30 über den Pufferspeicher 10 zu der RAID übertragen werden.
  • In dem Fall eines "Sende-Befehls" ist die Quell-Adresse eine Kopfadresse zum Auslesen des Pufferspeichers 10, in welchem die Daten gespeichert sind, und die Ziel-Adresse ist die Adresseninformation des Paket-Speichers 44 in dem ATM-Controller 30, der die Ziel-Einheit ist. In dem Fall eines "Lese-Befehls" tritt das umgekehrte auf.
  • 7 zeigt ein exemplarisches Format einer Mikro-Ablaufsteuerungs-Tabelle. Die Mikro-Ablaufsteuerungs-Tabelle weist eine Vielzahl von in 6 gezeigten Mikro- Ablaufsteuerungs-Anweisungen auf, die in einer Tabellenstruktur angeordnet sind. Der Mikro-Scheduler 24 führt diese Befehle sequentiell jeweils eine Dateneingabe pro Zeit aus.
  • Beispielsweise ist innerhalb des Mikro-Schedulers 24 ein Dateizeiger bzw. ein Datensatzzeiger vorgesehen, der die Position der Dateneingaben der Mikro-Ablaufsteuerungs-Tabelle hält, welche als nächstes auszuführen ist. Der Mikro-Scheduler 24 gibt auf der Basis des Inhaltes der Dateneingabe bei der mittels diesem Dateizeiger angezeigten Position einen Datenübertragungsbefehl zu (den Speicher-Controller von) dem Pufferspeicher 10 und zu (dem ATM-Controller 30 von) der Kommunikations-Steuerungseinheit 12 aus. Dieser Befehl. bewirkt, dass Daten von dem Pufferspeicher 10, in welchem die Daten gespeichert sind, zu einer der Kommunikations-Steuerungseinheiten 12 gesendet werden, die gegenwärtig die Ziel-Einheit ist ("Sende-Befehl"), oder alternativ hierzu, dass die Daten von einer der Kommunikations-Steuerungseinheiten 12, die die gegenwärtige Ziel-Einheit ist, von dem Pufferspeicher 10 gelesen werden ("Lese-Befehl").
  • Zusätzlich ist in 7 ein Feld "Wiederholungen" in jeder Dateneingabe der Mikro-Ablaufsteuerungs-Tabelle vorgesehen. Dieses Feld zeigt Informationen an, die anzeigen, wie oft jede entsprechende Dateneingabe auszuführen ist, bevor zu einer nächsten Dateneingabe gegangen wird. Der Wert des Dateizeigers bzw. Datensatzzeigers wird von daher nicht aktualisiert, während ein Befehl bei der gleichen Dateneingabeposition so häufig wiederholt wird, wie es das Feld anzeigt.
  • Wie obig beschrieben, baut in dieser Ausführungsform die Ablaufsteuerung, während Speicherplattenzugriffe abgewickelt werden, in der Haupt-Steuerungsvorrichtung 20 eine Mikro-Ablaufsteuerungs-Tabelle auf. Diese Mikro-Ablaufsteuerungs-Tabelle wird in Einheiten gesteuert, die wesentlich feiner als ein Zeitschlitz sind. In dieser Ausführungsform wird beispielsweise angenommen, dass die kleinste Einheit zur Steuerung vier Wörter (16 Byte) beträgt und dass Vier-Wortdaten in vier Taktimpulsen ausgelesen werden können. Um die Leseeffizienz zu betrachten, kann diese Minimumeinheit eine Einheit zum fortlaufenden Lesen des Pufferspeichers sein (z. B. die Pulsgröße der synchronen DRAM). Diese Minimumeinheit wird von nun an als ein "Mikro-Zeitschlitz" bezeichnet. Der Mikro-Scheduler 24 liest von daher Anweisungsinformation der Mikro-Ablaufsteuerungs-Tabelle bei jedem Mikro-Zeitschlitz aus und führt diese ausgelesene Anweisung durch.
  • In dem Fall, wenn eine Mikro-Ablaufsteuerungs-Tabelle vorgesehen ist, die einen Zeitschlitz (beispielsweise 60 msec) abdeckt, wobei angenommen wird, dass ein Taktimpuls 40 nsec beträgt, würden etwa 380K von Dateneingaben erforderlich sein. Solch ein großer Betrag von Dateneingaben würde Probleme hervorrufen, sowohl hinsichtlich der Speicherkosten für die Mikro-Ablaufsteuerungs-Tabelle als auch hinsichtlich der Zeit, die für die Übertragung von der Haupt-Steuerungsvorrichtung 20 erforderlich ist. Die Anzahl von Dateneingaben kann von daher mittels der nachfolgenden Verfahren herabgesetzt werden, was es ermöglicht, dass die Speicherkosten der Mikro-Ablaufsteuerungs-Tabelle reduziert werden kann.
  • Das erste Verfahren liegt darin, einen Zeitschlitz in "Mini-Zeitschlitze" einzuteilen. Die gesamte Mikro-Ablaufsteuerungs-Tabelle wird so oft wie die Anzahl der Mini-Zeitschlitze wiederholt verwendet. Wenn beispielsweise ein 1K-Speicher für Dateneingaben vorgesehen ist, wird die Tabelle wiederholt 380-mal verwendet. Auf diese Weise kann die Speicherkapazität herabgesetzt werden, in diesem Beispiel um Faktor 1/380. Dieses Verfahren kann auf einfache Weise implementiert bzw. verwendet werden, indem beispielsweise ein Zähler in dem Mikro-Scheduler 24 vorgesehen wird.
  • Das zweite Verfahren, wie es in 7 gezeigt ist; liegt darin, ein "Wiederholungs"-Feld für jede Dateneingabe in der Mikro-Ablaufsteuerungs-Tabelle vorzusehen, so dass eine einzelne Dateneingabe mehrmals ausgeführt wird.
  • Ebenso kann durch die Kombination der obigen beiden Verfahren die Speicherkapazität der Mikro-Ablaufsteuerungs-Tabelle weiter herabgesetzt werden.
  • Die Beziehung zwischen Mikro-Zeitschlitzen, Mini-Zeitschlitzen und Zeitschlitzen in dieser Ausführungsform wird nun unter Hinzunahme auf 8 beschrieben.
  • Wie obig beschrieben, setzt sich ein Mikro-Zeitschlitz aus einer festen Anzahl von Bus-Zyklen zusammen. In diesem Beispiel entsprechen zehn Zyklen einem Mikro-Zeitschlitz. Ein Mikro-Zeitschlitz entspricht einem Befehl in der Mikro-Ablaufsteuerungs-Tabelle. In dem in größerem Maßstab in
  • 8 gezeigten Mikro-Zeitschlitz werden Daten, die für einen Benutzer "a" bestimmt sind, übertragen.
  • Eine feste Anzahl von Mikro-Zeitschlitzen wird als ein Mini-Zeitschlitze behandelt. 8 zeigt die Übertragung von Daten, die für den Benutzer "c" bestimmt sind, und Daten, die für einen Benutzer "a" bestimmt sind. In diesem Beispiel besetzen die Daten für den Benutzer "a" innerhalb eines Mini-Zeitschlitzes 9 Mikro-Zeitschlitze. Dieses kann mittels des obig beschriebenen zweiten Verfahrens implementiert werden, wobei der gleiche Übertragungsbefehl wiederholt für eine Vielzahl von Mikro-Zeitschlitzen innerhalb eines Mini-Zeitschlitzes ausgeführt wird.
  • Ein Zeitschlitz setzt sich aus einer festen Anzahl von Mini-Zeitschlitzen zusammen. In diesem Beispiel entsprechen zehn Mini-Zeitschlitze einem Zeitschlitz. Mit dem obig beschriebenen ersten Verfahren entspricht ein Mini-Zeitschlitz einem Durchlauf durch die Mikro-Ablaufsteuerungs-Tabelle. Wie in 8 gezeigt, wird dieser Mini-Zeitschlitz wiederholt ausgeführt.
  • Von daher kann das Senden von Daten zu jedem Benutzer-Terminal mit einer festen Rate in einem Zeitschlitz sichergestellt werden, indem Endlosdaten in gleichmäßigen Zeitintervallen, die kürzer als der Zeitschlitz sind, zu der Kommunikations-Steuerungseinheit 12 gesendet werden. Wenn das Senden von Daten mit einer festen Rate auf diese Weise sichergestellt wird, kann die Größe des Paket-Speichers 44 innerhalb des ATM-Controllers 30 und/oder der Puffer des Benutzer-Terminals 16 verkleinert werden.
  • Von daher kann gemäß dieser Ausführungsform das Mikro-Ablaufsteuerungsprogramm derart aufgebaut sein, dass das Recht, den Bus 18 zu verwenden, dem Pufferspeicher 10 mit einer der Kommunikations-Steuerungseinheiten 12 bei einer festgelegten Position in jedem Mini-Zeitschlitz zugeordnet wird, um die Daten zu dem entsprechenden Benutzer-Terminal abzugeben. Diese Mini-Zeitschlitze werden erzielt, indem der Zeitschlitz in eine Vielzahl gleicher Teile eingeteilt wird. Durch die Steuerung der Verwendung des Busses in Übereinstimmung mit diesem Programm wird es möglich, sicherzustellen, dass Endlosdaten zu der Kommunikations-Steuerungseinheit 12 bei gleichmäßigen Zeitintervallen, die kürzer als der Zeitschlitz sind, gesendet werden.
  • Ebenso kann das Mikro-Ablaufsteuerungsprogramm derart aufgebaut sein, dass das Recht, den Bus 18 zu verwenden, dem Pufferspeicher 10 mit einer der Kommunikations-Steuerungseinheiten 12 in Mikro-Zeitschlitzen zugeordnet wird. Die Anzahl der Mikro-Zeitschlitze ist proportional zu einer Bit-Rate der Daten, die zu dem entsprechenden Benutzer-Terminal übertragen werden müssen. Die Mikro-Zeitschlitze werden erzielt, indem der Zeitschlitz in eine Vielzahl gleicher Teilen eingeteilt wird. In dem Fall, wenn ebenso Mini-Zeitschlitze verwendet werden, werden die Mikro-Zeitschlitze erzielt, indem der Mini-Zeitschlitz in eine Vielzahl gleicher Teile eingeteilt wird. Durch die Steuerung der Verwendung des Busses in Übereinstimmung mit diesem Programm wird es möglich, eine Zeitperiode der Verwendung des Busses gemäß der Bitrate, die für jedes Benutzer-Terminal in jedem Zeitschlitz erforderlich ist, sicherzustellen. Aus diesem Grund wird das "Wiederholungs"-Feld auf die Anzahl festgelegt, die der Bitrate entspricht.
  • Als nächstes wird ein Fall beschrieben, in welchem die Mikro-Ablaufsteuerungs-Tabelle in eine Vielzahl von Speicheradreßbereiche eingeteilt und ausgeführt wird, während zwischen diesen Speicheradreßbereiche gewechselt wird.
  • 9 zeigt ein Beispiel, in welchem die Mikro-Ablaufsteuerungs-Tabelle in zwei Speicheradreßbereiche eingeteilt ist. Dieses Beispiel entspricht dem Fall, in welchem zwei Kommunikations-Steuerungseinheiten 12 vorhanden sind, wie es in 3 gezeigt ist. Die jeweiligen Speicheradreßbereiche entsprechen Mikro-Ablaufsteuerungen für die Kommunikations-Steuerungseinheiten.
  • Der Mikro-Scheduler 24 führt den Speicheradreßbereich 0 und den Speicheradreßbereich 1 abwechselnd für jeden Mikro-Zeitschlitz aus. 10 zeigt eine Darstellung des zeitlichen Ablaufes zur Übertragung zu zwei Kommunikations-Steuerungseinheiten (0) und (1) durch den Bus 18.
  • Der Vorteil der Verwendung dieses Verfahrens liegt darin, dass ein Engpass hinsichtlich der Bandbreite der Paket-Speichereinheit 44 in dem ATM-Controller 30 herabgesetzt werden kann. Wenn beispielsweise die Kommunikations-Steuerungseinheit (0) fortlaufend angewiesen wird, würde der Paketspeicher 44 in der Kommunikations-Steuerungseinheit (0) bei jedem Taktimpuls in einem Schreib-Modus sein, was es unmöglich macht, eine Anforderung von dem SARCHIP 48 anzunehmen. Als ein Ergebnis hiervon wird das Senden eines ATM-Paketes möglicherweise blockiert. Dies liegt daran, weil, wie es in 11 gezeigt ist, der SARCHIP 48 aufgrund der Datenübertragung von dem VBUSIF 46 nicht auf den Paket-Speicher 44 zugreifen kann. Es könnte erwägt werden, den Paketspeicher 44 als Dualport-Speicher aufzubauen, dieses würde jedoch die Kosten ansteigen lassen.
  • Wenn demgemäß wie in dieser Ausführungsform die Befehle von dem Mikro-Scheduler 24 in zwei Teile eingeteilt und abwechselnd durch zwei Kommunikations-Steuerungseinheiten (0) und (1) ausgeführt werden, können die Übertragungen von dem Pufferspeicher 10 zu dem Paket-Speicher 44 halbiert werden, wodurch ermöglicht wird, dass ein Engpass hinsichtlich der Bandbreite abgeschwächt wird.
  • Als nächstes wird die Beziehung zwischen der Mikro-Ablaufsteuerungs-Tabelle, den Speicheradreßbereiche und den Mikro-Zeitschlitzen beschrieben.
  • 12 zeigt die Beziehung zwischen zwei Speicheradreßbereiche und Mikro-Zeitschlitzen, die in dieser Ausführungsform beschrieben werden. Jede "Skaleneinteilung" entspricht in 12 einem Mikro-Zeitschlitz. Die Übertragung zu dem ATM-Controller (0) wird in dem Speicheradreßbereich 0 beschrieben, und die Übertragung zu dem ATM-Controller (1) wird in dem Speicheradreßbereich 1 beschrieben. Die kleinen Buchstaben in 12 zeigen Daten an, die zu entsprechend unterschiedlichen Benutzer-Terminals übertragen werden müssen. Die Daten werden zu dem ATM-Controller (0) in der Folge: a, a, a, b, b, c, c, c, c, gesendet; und zu dem ATM-Controller (1) in der Folge: e, f, g, h, 1, j, j, j, j gesendet. Dieses Beispiel zeigt, dass der Bus 18 verwendet wird, indem Daten bei jedem Mikro-Zeitschlitz zu dem ATM-Controller (0) und ATM-Controller (1) ineinandergeschachtelt werden.
  • Es sei darauf hingewiesen, dass die Mikro-Ablaufsteuerungs-Tabelle in drei, vier oder mehrere Speicheradreßbereiche eingeteilt werden kann, abhängig von einer Konfiguration der Kommunikations-Steuerungseinheiten und der ATM-Controller.
  • Es sei ferner darauf hingewiesen, dass die Verwendung der Mikro-Ablaufsteuerungs-Tabelle andere Vorteile aufweist. Wenn die Mikro-Ablaufsteuerungs-Tabelle entsprechend der Anzahl der Einteilung des Zeitschlitzes wiederholt verwendet wird, und/oder, wie es in 5 oder 7 gezeigt ist, die Dateneingabe in der Mikro-Ablaufsteuerungs-Tabelle so oft wiederholt wird, wie es mittels des "Wiederholungs"-Feldes in jeder Dateneingabe angezeigt wird, werden die Quell-Adressen- und die Ziel-Adressen-Felder der Dateneingabe bei jeder Wiederholung aktualisiert. Falls beispielsweise, wenn eine Dateneingabe der Mikro-Ablaufsteuerungs-Tabelle einmal ausgeführt wird, 16 Bytes von Daten übertragen werden, werden die Adressen um 16 Bytes erhöht.
  • Diese Adressen-Aktualisierungsfunktion zeigt, dass der Mikro-Scheduler 24 als DMA-Controller dient. Im Allgemeinen unterstützt ein DMA-Controller aufgrund der Einschränkungen bzw. Beschränkungen von Hardware-Betriebsmitteln nur eine beschränkte Anzahl von Kanälen. Beispielsweise können in dem Fall eines Zwei-Kanal-DMA-Controllers Daten hinsichtlich zwei verschiedener Quell-/Ziel-Adressenpaare übertragen werden; wenn jedoch die Übertragung auf mehr als zwei Kanälen erforderlich ist, muss das DMA-Betriebsmittel vor der Übertragung durch den Prozessor zurückgesetzt werden.
  • Bei der Endlosdaten-Servervorrichtung gemäß der vorliegenden Erfindung erfordert jedoch die Übertragung zwischen dem Pufferspeicher und den Paket-Speichern in den Kommunikations-Steuerungseinheiten eine Anzahl von Kanäle, die gleich der Anzahl der mittels des Endlosdaten-Servers unterstützten Benutzer ist. Als ein Ergebnis hiervon würde ein Zurücksetzen des DMA mittels des Prozessors eine wesentliche Beanspruchung auf den Prozessor darstellen.
  • Gemäß dieser Ausführungsform wird, wenn der Mikro-Scheduler 24 als DMA-Controller betrachtet wird, die unterstützbare Anzahl Kanäle durch die Anzahl der Dateneingaben in der Mikro-Ablaufsteuerungs-Tabelle zuvor festgelegt. Da die Mikro-Ablaufsteuerungs-Tabelle durch den Speicher implementiert bzw. verwendet wird, können beispielsweise selbst tausend Kanäle oder mehr unterstützt werden. Wenn der Mikro-Scheduler 24 eingesetzt wird, muß das Einstellen bzw. Festsetzen für das DMA höchstens einmal in einem Zeitschlitz ausgeführt werden, und innerhalb eines jeden Zeitschlitzes werden keine Unterbrechungen in dem Prozessor auftreten, um das DMA zurückzusetzen.
  • Als nächstes wird ein Fall des Heraufladens von Daten von einem Benutzer-Terminal oder einer Archivierungsvorrichtung, die Endlosdateninhalte enthält, beschrieben.
  • Das Heraufladen ist eine Operation, die notwendig ist, um neue Inhalte zu einem Endlosdaten-Server hinzuzufügen. Das Heraufladen wird durchgeführt, indem es den Daten gestattet wird, auf dem Bus 18 zu fließen. Im Einzelnen können Endlosdaten, die in der Gestalt von ATM-Paketen von einer Archivierungsvorrichtung zu einem ATM-Netzwerk 14 übertragen werden, durch die Kommunikations-Steuerungseinheit 12 auf dem Bus 18 gelesen werden. Es können Endlosdaten gelesen werden, indem eine Magnetband- bzw. Speicherbandvorrichtung, eine SpeicherSpeicherplattenvorrichtung oder dergleichen direkt an die Kommunikations-Steuerungseinheit 12 angeschlossen wird.
  • Dieses Heraufladen kann gleichzeitig mit dem Herunterladen durchgeführt werden. Für solche gleichzeitigen Operationen ermittelt die Haupt-Steuerungsvorrichtung 20 eine kombinierte Ablaufsteuerung für die Datenübertragung auf dem Bus 18 von dem Pufferspeicher 10 zu der Kommunikations-Steuerungseinheit 12 und von der Kommunikations-Steuerungseinheit 12 zu dem Pufferspeicher 10, und schreibt das Mikro-Ablaufsteuerungsprogramm in die Mikro-Ablaufsteuerungs-Tabelle 22 zur Steuerung der bidirektionalen Verwendung des Busses 18.
  • Selbst beim Herunterladen werden die ausgelesenen Daten mit einer zeitlichen Koordinierung durch den Bus 18 gesendet, die deterministisch mittels des Mikro-Schedulers 24 auf genau die gleiche Weise wie beim Herunterladen gesteuert wird. Die Daten auf dem Bus 18 werden in den Pufferspeicher 10 geschrieben und dann von dem Pufferspeicher 10 zu der Speichereinheit 4 geschrieben.
  • Die von dem ATM-Netzwerk empfangenen Daten werden in den Paket-Speicher 44 mittels des SARCHIP 48 geschrieben. Der Paket-Speicher 44 dient als ein Puffer zwischen dem ATM-Netzwerk 14 und dem Endlosdaten-Server. Der innere Aufbau des Paket-Speichers wird beispielsweise als ein Ring-Puffer verwaltet, dessen Schreibe-Zeiger vorgerückt wird, wenn von einem ATM-Netzwerk 14 hineingeschrieben wird; im Gegensatz hierzu wird sein Lese-Zeiger durch den Netzwerkprozessor 40 um den Betrag, der in der Mikro-Ablaufsteuerungs-Tabelle bei jedem Zeitschlitz festgelegt ist, vorgerückt. Der Schreibe-Zeiger kann mittels des SARCHIP 48 verwaltet werden.
  • In der Mikro-Ablaufsteuerungs-Tabelle wird ein Befehl, Daten in den Pufferspeicher 10 von dem Paket-Speicher 44 des ATM-Controllers 30 zu schreiben, geschrieben. Indem dieser Befehl ausgeführt wird, werden Daten zu dem Bus 18 von dem Paket-Speicher 44 des ATM-Controllers 30 gesendet, und die auf den Bus 18 heraufgeladenen Daten werden in den Pufferspeicher 10 geschrieben.
  • Wenn in diesem Fall die Zufuhr von Daten von dem ATM-Netzwerk 14 zu dem Paket-Speicher 44 langsamer als das Lesen der Daten aus dem Paket-Speicher 44 auf den Bus 18 ist, was mittels des Mikro-Schedulers 24 ablaufgesteuert wird, ist es für den Ring-Puffer möglich, leer zu werden. Wenn die Zufuhr der Daten nicht den Anschluss finden kann und der Ring-Puffer tatsächlich leer wird, fällt das System in einen Zustand, in welchem keine Daten entsprechend einem Befehl von dem Mikro-Scheduler 24 auf dem Bus 18 vorhanden sind. Von daher ermittelt der Netzwerkprozessor 40 der Kommunikations-Steuerungseinheit 12 diesen geleerten Zustand und gibt dann zu dem Zeitpunkt ein Steuersignal heraus, mit welchem der Mikro-Scheduler 24 das Auslesen des Paket-Speichers 44 anfordert, so dass Daten nicht auf den Bus 18 gesetzt werden. Da keine Daten auf dem Bus 18 sind, erhöht ebenso der Mikro-Scheduler 24 nicht die Adressen in der Dateneingabe und gibt eine Anweisung an den Pufferspeicher 10 aus, nicht in den Speicher zu schreiben.
  • Der obige Zustand kann erzeugt werden, wenn die Bitrate von dem ATM-Netzwerk 14 nicht konstant ist. Wenn die Bitrate konstant ist, dient der Paketspeicher 44 als Puffer ohne den Bedarf des Auslösens des obigen Mechanismus, und der Paketspeicher 44 wird nicht leer werden. Wenn im Gegensatz hierzu die Bitrate nicht festgelegt ist, ist es bevorzugt, Befehle zum Lesen von dem ATM-Netzwerk 14 bei der voraussichtlich maximalen Rate in dem Mikro-Scheduler zu speichern und den obig beschriebenen Mechanismus zu aktivieren.
  • Hierin wurde obig als ein Beispiel ein Verfahren des Heraufladens von Daten von dem ATM-Netzwerk durch den Bus 18 beschrieben. Jedoch würde es möglich sein, eine Vorrichtung hinzuzufügen, um Daten direkt dem Bus 18 zuzuführen.
  • Als nächstes wird exemplarisch eine interne Konfiguration des Mikro-Schedulers 24 und der Mikro-Ablaufsteuerungs-Tabelle 22 unter Bezugnahme auf 13 beschrieben.
  • Ein SRAM wird für die Mikro-Ablaufsteuerungs-Tabelle 22 verwendet, und eine Haupt-Steuerungsvorrichtung 20 kann Informationen in dieses SRAM schreiben. In 13 ist das SRAM 22 in zwei Speicheradreßbereiche eingeteilt: der Speicheradreßbereich 0 und der Speicheradreßbereich 1 entsprechend der Anzahl der Kommunikations-Steuerungseinheiten 30 (siehe 9). Ein Programm, welches die Basis für das Ziel bzw. die Bestimmung der jeweiligen entsprechenden Ziel-Einheit wird, ist in jedem Speicheradreßbereich gespeichert. Entsprechend dieser Speicheradreßbereiche werden ebenso der noch zu beschreibende Zeiger und Wiederholungszähler dupliziert. Ein Übergang bzw. ein Umstellen oder Umschalten zwischen diesen Speicheradreßbereiche wird mittels eines in 13 gezeigten Speicheradreßbereich-Signals durchgeführt. Das Speicheradreßbereich-Signal ist ein Signal, welches wiederholt zwischen 1 und 0 für jeden Mikro-Zeitschlitz invertiert wird. Auf diese Weise werden Daten auf eine Weise der Verschachtelung der Ziele für entsprechende Kommunikations-Steuerungseinheiten bei jedem Mikro-Zeitschlitz übertragen.
  • Die durch den Mikro-Scheduler 24 von der Mikro-Ablaufsteuerungs-Tabelle 22 ausgelesene Information wird temporär in einem Register 60 gespeichert. Ein Bus zwischen der Mikro-Ablaufsteuerungs-Tabelle 22 und dem Register 60 ist ein Tri-State- bzw. Drei-Zustands-Bus. Gleichzeitig werden, wenn der Inhalt des Befehls-Feldes ein "Sende-Befehl" ist, die Quell-Adresse und der Befehl zu dem Pufferspeicher 10 gesendet, während die Ziel-Adresse und der Befehl zu einem der ATM-Controller 30 gesendet werden. Wenn der Inhalt des Befehl-Feldes ein "Lese-Befehl" ist, werden die Ziel-Adresse und der Befehl zu dem Pufferspeicher 10 gesendet, während jeweils die Quell-Adresse und der Befehl zu einem der ATM-Controller 30 gesendet werden.
  • Die Quell-Adresse und die Ziel-Adresse werden um eine Schrittgrößen- bzw. Inkrement-Nummer durch jeweilige Inkrementgeber 62 und 64 erhöht. Die Schrittgrößen-Nummer ist ein Pufferadressen-Intervall, das dem Betrag der in einem Mikro-Zeitschlitz übertragenen Daten entspricht. Dann werden die Information in der Mikro-Ablaufsteuerungs-Tabelle 22 überschrieben, um die vorgerückte Information durch ein Schreib-Steueranschluss 66, welches ein Tri-State-Steueranschluss ist, zu reflektieren.
  • Der Anfangswert eines CONT-Bits wird auf "1" festgelegt. Die "Wiederholungs"-Information in dem Register 60 wird dann in einen Wiederholungszähler 68 oder 70 geladen, und "0" wird als CONT-Bit in das Register 60 zurückgeschrieben. Das Laden der "Wiederholungs"-Information in Wiederholungszähler 68 und 70 wird durch ein Freigabesignal EN freigegeben, das mittels einer Logik erzeugt wird, die jeweils AND-Steueranschlüsse 76 und 78 aufweist. Das Speicheradreßbereich-Signal wird direkt und invertiert jeweils den Steueranschlüssen 78 und 79 zugeführt. Das CONT-Bit wird ebenso an die Steueranschlüsse 76 und 78 angewandt. Als ein Ergebnis hiervon wird die "Wiederholungs"-Information in jeden der Wiederholungszähler 68 und 70 durch die Freigabe mittels eines Signals EN geladen.
  • Während das CONT-Bit auf "0" festgelegt ist, wird der Wert in jedem der Wiederholungszähler zu jeder Zeit um 1 herabgesetzt, wenn die entsprechende Dateneingabe in der Mikro-Ablaufsteuerungs-Tabelle 22 ausgeführt wird. Wenn der Wiederholungszähler 68 oder 70 zu 0 wird, wird jeweils ein Zeiger 72 oder 74, der auf die Dateneingabesposition der als nächstes auszuführenden Mikro-Ablaufsteuerungs-Tabelle zeigt, erhöht, und "1" wird erneut zurück als CONT-Bit geschrieben. Ein Multiplexer MPXA 80 ist angeschlossen, um die Ausgaben der Zeiger 72 und 74 zu empfangen. Der Multiplexer 80 wählt eine dieser Ausgaben gemäß dem hierzu angewandten Speicheradreßbereich-Signal aus.
  • Die obig genannten Operationen werden fortgesetzt, bis sämtliche Dateneingaben in der Mikro-Ablaufsteuerungs-Tabelle 22 ausgeführt wurden. Dann wird die obige Operation entsprechend der Anzahl der Mini-Zeitschlitze in einem Zeitschlitz häufig wiederholt, wobei die Adressen in der Mikro-Ablaufsteuerungs-Tabelle aktualisiert werden, indem sie durch den Schreib-Steueranschluss 66 überschrieben werden. Nachdem die Operation für einen Zeitschlitz fertiggestellt ist, werden neue Inhalte in der Mikro-Ablaufsteuerungs-Tabelle 22 mittels der Haupt-Steuerungsvorrichtung 20 gespeichert.
  • In 13 ist das SRAM 22 in einer Dualport-Struktur ausgeführt, so dass ein beliebiger Zugriff sowohl von der Haupt-Steuerungsvorrichtung 20 als auch von dem Mikro-Scheduler 24 durchgeführt werden kann. Anstelle, dass das SRAM 22 als Dualport ausgeführt wird, kann es auch eine Doppel-Pufferstruktur aufweisen. In diesem Fall liest der Mikro-Scheduler 22 von dem anderen Speicheradreßbereich, während die Haupt-Steuerungsvorrichtung 20 in den einen Speicheradreßbereich schreibt.
  • Durch die Verwendung der "Wiederholung" in der Mikro-Ablaufsteuerungs-Tabelle 22 ist es möglich, Videos verschiedener Datenraten in der Video-Servervorrichtung zu bearbeiten. Es sei beispielsweise angenommen, dass die Datenübertragungsrate des Busses 18 1056 MBit/Sekunde beträgt, d. h. 33 MHz, mit einer Breite von 32 Bits, und dass die Anzahl der Dateneingaben in der Mikro-Ablaufsteuerungs-Tabelle 22 4096 mit der "Wiederholung" = 1 beträgt, dann wird die Videodatenrate zu 1056 MBite/4096= 258 KBit/Sekunde betragen. Zum Versenden bei 4 MBit/Sekunde wird die "Wiederholung" auf 16 festgelegt. Von daher kann die Video-Übertragungsrate auf einfache Weise festgelegt werden, indem die "Wiederholungen" festgelegt werden.
  • Obwohl ein 258 KBit-Quantisierungsfehler in der Übertragungsrate besteht, da das Terminal 16 und der ATM-Controller 30 Puffer aufweisen, kann dieser Quantisierungsfehler innerhalb eines festen Bereiches gehalten werden, indem die "Wiederholungen" für jeden Zeitschlitz eingestellt werden.
  • Einer der Vorteile der Verwendung des Mikro-Schedulers 24 ist die effiziente Verwendung des Busses aufgrund von hochgradig überlappenden Zugriffen. Durch die Verwendung des Mikro- Schedulers 24, wie es in 14(b) gezeigt wird, kann die Zugriffszeit (Latenzzeit des Speichers) zum Lesen von Daten von dem Pufferspeicher 18 zu der Kommunikations-Steuerungseinheit 12 verdeckt bzw. verborgen werden, und Daten können übertragen werden, während Daten gelesen werden.
  • Mit dem herkömmlichen Verfahren ist Zeit für die Festsetzung einer Vielzahl von Anforderungen erforderlich, und es ist nicht möglich, eine Datenübertragung und ein Lesen von Daten parallel auszuführen, so dass sämtliche Vorgänge nacheinander auszuführen sind. Wie es in 14(a) gesehen wird, erfolgen die Operationen der Lese-Anforderung, des Lesens von Daten und der Datenübertragung in Reihen während einer Reihe von beliebigen Zeitintervallen.
  • Im Gegensatz hierzu ist mit dem Mikro-Schedulersystem die Effizienz der Busverwendung sehr hoch, da die Verarbeitung parallel ausgeführt wird. Wie in 14(b) zu sehen ist, gibt der Mikro-Scheduler 24 eine Lese-Anforderung während jedem Mikro-Zeitschlitz heraus, während in jedem nachfolgenden Mikro-Zeitschlitz eine Datenleseoperation in Erwiderung auf die Lese-Anforderung in dem unmittelbar vorangehenden Mikro-Zeitschlitz erfolgt. Jedoch erfolgt die nächste Lese-Anforderungs-Operation in dem gleichen Mikro-Zeitschlitz wie das Datenlesen gemäß der unmittelbar vorausgehenden Leseanforderung. Ferner findet eine Datenübertragungs-Operation während jedem Mikro-Zeitschlitz entsprechend dem Datenlesen in dem unmittelbar vorangehenden Mikro-Zeitschlitz statt. Jedoch findet die nächste Datenlese-Operation in dem gleichen Mikro-Zeitschlitz statt wie der Datentransfer entsprechend der unmittelbar vorangehenden Lese-Operation.
  • Nun wird unter Hinzunahme auf die 15 und 16 eine zweite Ausführungsform der vorliegenden Erfindung beschrieben. 15 zeigt eine Konfiguration einer Endlosdaten-Servervorrichtung gemäß der zweiten Ausführungsform.
  • Die in 15 gezeigte Endlosdaten-Servervorrichtung weist folgendes auf: eine Vielzahl von (in diesem Fall vier) Speichereinheiten 4, wobei jede eine vorgeschriebene Anzahl von Datenspeicher-Vorrichtungen 6 aufweist, welche Endlosdaten speichern, und Datenspeicher-Steuerungsvorrichtungen 8, die Daten von den Datenspeicher-Vorrichtungen 6 auslesen oder in die Datenspeicher-Vorrichtungen 6 schreiben; eine Vielzahl von Pufferspeichern 10, die mit jeweiligen Speichereinheiten 4 versehen sind, wobei jeder Pufferspeicher 10 für das temporäre Speichern der von der entsprechenden Speichereinheit 4 ausgelesenen oder in die entsprechende Speichereinheit 4 zu schreibende Daten dient; eine oder mehrere (in diesem Fall zwei) Kommunikations-Steuerungseinheiten 12, die die Daten des Pufferspeichers 10 zu dem Netzwerk 14 übertragen, das zu jedem Benutzer-Terminal 16 adressiert ist, oder um Daten zu dem Pufferspeicher 10 zu übertragen; einen Bus 18, den die Pufferspeicher 10 und Kommunikations-Steuerungseinheiten 12 verwendet; und Busse 18, die die Speichereinheiten 4 mit ihren entsprechenden Pufferspeichern 10 verbinden.
  • Die Endlosdaten-Servervorrichtung weist ferner folgendes auf:
    eine Haupt-Steuerungsvorrichtung 20, die das gesamte System steuert, im Einzelnen das Netzwerk einrichtet und den Ablauf des Lesens von Daten von Datenspeicher-Vorrichtungen 6 und den Ablauf des Sendens von Daten zum Netzwerk 14 in Erwiderung auf Anforderungen von Terminals 16 steuert; eine Mikro-Ablaufsteuerungs-Tabelle 22, die ein Mikro-Ablaufsteuerungsprogramm speichert, das mittels der Haupt-Steuerungsvorrichtung 20 festgelegt wird; und einen Mikro-Scheduler 24, der deterministisch das Recht, den Bus 18 zu verwenden, entweder der Pufferspeicher 10 oder der Kommunikations-Steuerungseinrichtungen 12 in Übereinstimmung mit den in der Mikro-Ablaufsteuerungs-Tabelle 22 gespeicherten Programm zuordnet.
  • Von daher sind in dieser Ausführungsform eine Vielzahl (in dem Fall von 15 vier) Pufferspeicher 10 über den Bus 18 mit den ATM-Controllern 30 der Kommunikations-Steuerungseinheiten 12 verbunden, wobei jeder Pufferspeicher für dedizierte Operation mit seiner entsprechenden Speichereinheit vorgesehen ist.
  • In einem Fall wie diese Ausführungsform, in welchem eine Vielzahl von Speichereinheiten 4 vorgesehen sind, können die Daten auf Speicherplatten-Vorrichtungen 6 über der Vielzahl der Speichereinheiten 4 abgestreift werden. Dann kann, indem die Speicherplatten parallel ausgelesen werden, die Bandbreite für den Speicherplattenzugriff vergrößert werden, was es ermöglicht, zu gleicher Zeit Endlosdaten an mehrere Benutzer zu liefern. Des weiteren kann ein RAID-System verwendet werden, indem einige der Vielzahl der Speichereinheiten 4 als Paritäts-Speicherplatten zugeordnet werden, die Fehlerkorrektur-Codes speichern.
  • 16 zeigt die Beziehung zwischen Befehlen von den Mikro-Scheduler 24 zu Pufferspeichern 10, und die Daten, die von Pufferspeichern 10 zu der Kommunikations-Steuerungseinheit 12 gesendet wurden, wenn die Daten von jedem Pufferspeicher 10 zu einer der Kommunikations-Steuerungseinheiten 12 gesendet werden. In 16 sind die Zeitperioden 1 bis 9 Mikro-Zeitschlitze. Wenn eine Leseanforderung A zu jedem Pufferspeicher 10 von dem Mikro-Scheduler 24 in der Zeitperiode 1 herausgegeben wird, werden die angeforderten Daten sequentiell von den vier Pufferspeichern 10 derart ausgelesen, dass: in der Zeitperiode 6 die Daten von dem Pufferspeicher (0) ausgegeben werden; in der Zeitperiode 7 die Daten von dem Pufferspeicher (1) ausgegeben werden; in der Zeitperiode 8 die Daten von dem Pufferspeicher (2) ausgegeben werden; und in der Zeitperiode 9 die Daten von dem Pufferspeicher (3) ausgegeben werden. Auf diese Weise beginnt die Beantwortung der Leseanforderung A in der Zeitperiode 1 von der Zeitperiode 6 (die Antwort auf eine vorangehende Lese-Anforderung wird während der Zeitperioden 2 bis 5 ausgeführt), und von daher wird die Speicher-Latenzzeit mittels dieser sich überlappenden Aktion verdeckt. Dieses wird ferner gezeigt, indem die nächste Lese-Anforderung B während der Ausgabe von Daten in der Zeitperiode 3 in Erwiderung auf die Lese-Anforderung, die der Lese-Anforderung A vorangeht, initiiert wird.
  • Es sei darauf hingewiesen, dass, wie es in der ersten Ausführungsform beschrieben ist, die Befehle zu jeder Kommunikations-Steuerungseinheit 12 und zu jedem Pufferspeicher 10 gegeben werden können, indem der Bus 18 gemeinsam genutzt wird, obwohl in 15 dedizierte Steuerbusse von dem Mikro-Scheduler 24 zu Pufferspeichern 10 und ATM-Controllern 30 vorgesehen sind.
  • Unter Bezugnahme auf die 17 bis 20 wird nun eine dritte Ausführungsform der vorliegenden Erfindung geschrieben.
  • In den ersten und zweiten Ausführungsformen wird der Bus 18 zwischen den ATM-Controllern 30 und dem Pufferspeicher (Speichern) 10 mittels des Mikro-Schedulers 24 gesteuert. Es wird ebenso möglich sein, den Steuerbus 19 zwischen dem SCSI-Controller 8 und dem Pufferspeicher 10 mittels des Mikro-Schedulers 24 zu steuern.
  • 17 zeigt eine Konfiguration einer Endlosdaten-Servervorrichtung gemäß der dritten Ausführungsform.
  • Die fortlaufende Servervorrichtung dieser Ausführungsform besteht im Grunde genommen aus der gleichen Konfiguration wie die zweite Ausführungsform, jedoch unterscheidet sie sich darin, dass der Mikro-Scheduler 24 die Busverwendung sowohl hinsichtlich der Speicherung als auch hinsichtlich des Netzwerks steuert, und darin, dass das Mikro-Ablaufsteuerungsprogramm, welches in der Mikro-Ablaufsteuerungs-Tabelle 22 gespeichert werden muss, sowohl für die Speicherung als auch für das Netzwerk errichtet wird.
  • Es ist ebenso möglich, die erste Ausführungsform derart abzuändern, dass der Mikro-Scheduler 24 die Verwendung von sowohl dem Bus 18 als auch dem Bus 19 jeweils steuert.
  • Obwohl in 17 zwei Steuerbusse jeweils zu den Pufferspeichern 10 und zu den SCSI-Controllern 8 von dem Mikro-Scheduler 24 dediziert bzw. reserviert werden, kann ein Steuerbus von dem Pufferspeichern 10 und den SCSI-Controllern 8 gemeinsam genutzt werden.
  • In einem Fall, wie in dieser Ausführungsform, wo sowohl die Speicherung als auch das Netzwerk mittels des Mikro-Schedulers 24 gesteuert werden, können die nachfolgenden zwei Konfigurationen des Mikro-Schedulers 24 und der Mikro-Ablaufsteuerungs-Tabelle 22 betrachtet werden:
    • (1) Wie in 18 gezeigt, sind der Mikro-Scheduler (A) 24 und die Mikro-Ablaufsteuerungs-Tabelle (A) 22, die die Speicherung steuern, unabhängig von dem Mikro-Scheduler (B) 24 und der Mikro-Ablaufsteuerungs-Tabelle (B) 22, welche das Netzwerk steuern.
    • (2) Wie in 19 gezeigt, steuert der gemeinsame Mikro-Scheduler 24 sowohl die Speicherung als auch das Netzwerk, während die Mikro-Ablaufsteuerungs-Tabelle 22 in einen Abschnitt zur Steuerung der Speicherung und in einen Abschnitt zur Steuerung des Netzwerkes eingeteilt ist.
  • 20 zeigt exemplarisch eine interne Konfiguration des SCSI-Controllers 8. Das SARCHIP 48 in der internen Konfiguration des ATM-Controllers 30 in der Kommunikations-Steuerungseinheit 12 (in 4 gezeigt) ist durch das SCSI-CHIP 90 ersetzt, der Paket-Speicher 44 ist durch den Speicherungsspeicher 92 ersetzt, und das ATM-Netzwerk außerhalb ist durch das SCSI ersetzt. Ebenso ist der Netzwerkprozessor 40 durch einen Speicherungsprozessor 94 ersetzt, und das VBUSIF 46 ist durch eine Bus-Schnittstelleneinheit HBUSIF 96 ersetzt.
  • In dieser Ausführungsform ist der Abschnitt der Speicherungsseite verschieden, obwohl der Abschnitt der Netzwerkseite der gleiche wie in der ersten oder zweiten Ausführungsform ist. Ein Mikro-Ablaufsteuerungsprogramm wird errichtet, welches das Recht, den Bus zu verwenden, zwischen dem SCSI-Controller 8 und dem Pufferspeicher 10 zuordnet. Das Verwendungsrecht wird dem Pufferspeicher 10 zur Übertragung von Daten von dem Pufferspeicher 10 zu dem SCSI-Controller 8 zugeordnet.
  • Alternativ hierzu wird das Verwendungsrecht dem SCSI-Controller 8 zugewiesen, wenn der SCSI-Controller 8 den Bus zur Übertragung von Daten zu dem Pufferspeicher 10 verwendet, welche von einer der Datenspeicher-Vorrichtungen 6 ausgelesen werden. Da das Recht, den Bus zu verwenden, deterministisch zugewiesen wird, und da das Lesen von Daten von Datenspeicher-Vorrichtungen 6 intermittierend ablaufen kann, kann es Zeitintervalle geben, während welcher die Periode, bei der der SCSI-Controller 8 das Recht, den Bus zu verwenden, aufweist, wenn keine Daten zur Übertragung vorliegen.
  • Als erstes werden die von der Speicherplattenvorrichtung 6 ausgelesenen Daten in dem Speicherungsspeicher 92 des SCSI-Controllers 8 angesammelt. Die Kapazität des Speicherungsspeichers 92 des SCSI-Controllers 8 ist gleich oder größer als der Betrag der Daten, auf die in den angeschlossenen Speicherplattenvorrichtungen 6 in einem Zeitschlitz zugegriffen werden muß. Wenn beispielsweise der SCSI-Controller 8 in einem Zeitschlitz einen Lesebefehl hinsichtlich vier Speicherplattenvorrichtungen 6 herausgibt, wobei auf jede bei 64 KByte pro Zeitschlitz zugegriffen wird, sollte die Kapazität des Speicherungsspeichers 92 256 KByte oder mehr betragen. In dem Fall der Verwendung eines Doppelpuffers sollte die Kapazität des Speicherungsspeichers 93 zumindest 512 KByte betragen. Im Folgenden wird ein Fall, in welchem ein Doppelpuffer als Speicherungsspeicher 92 verwendet wird, der auf einfache Weise zu implementieren ist, beschrieben.
  • Die in den Speicherungsspeicher 92 in einem bestimmten Zeitschlitz geschriebenen Daten werden in dem nächsten Zeitschlitz zu dem Pufferspeicher 10 übertragen. Da ein Doppelpuffer verwendet wird, überträgt der eine Speicheradreßbereich Daten von der Speicherplattenvorrichtung 6 zu dem Speicherungsspeicher 92, während der andere Speicheradreßbereich Daten zu dem Pufferspeicher 10 überträgt. Die Übertragung zwischen dem Speicherungsspeicher 92 und dem Pufferspeicher 10 läuft bei einer festgesetzten Rate ab, und die Verwendungsrate des Busses kann in Richtung 100% gesteigert werden. In diesem Fall dient der Speicherungsspeicher 92 dazu, Daten zu zwischenzuspeichern bzw. zu puffern, die bei der festgesetzten Rate nicht von den Speicherplattenvorrichtungen 6 ankommen.
  • Wenn im Gegensatz hierzu Inhalte, wie obig beschrieben, heraufgeladen werden, arbeitet bzw. funktioniert der Bus in der entgegengesetzten Richtung. Im Einzelnen werden die Daten von dem Pufferspeicher 10 zu dem Speicherungsspeicher 92 in Übereinstimmung mit Anweisungen von dem Mikro-Scheduler 24 übertragen, und dann werden die Daten von dem Speicherungsspeicher 92 zu der Speicherplattenvorrichtung 6 übertragen. In diesem Fall dient ebenso der Speicherungsspeicher 92 als Puffer.
  • Es sollte darauf hingewiesen werden, dass in dieser Ausführungsform ebenso eine Anordnung möglich ist, in welcher der Mikro-Scheduler 24 die Verwendung des Busses lediglich für die Speicherungsseite steuert. In diesem Fall ist in der obigen Konfiguration eine Einrichtung zum Übertragen von Information von dem Mikro-Scheduler 24 zu der Kommunikations-Steuerungseinheit 12 unnötig, und der Mikro-Scheduler 24 und die Mikro-Ablaufsteuerungs-Tabelle 22 sind entsprechend der Speicherungsseite vorgesehen, wobei die Haupt-Steuerungsvorrichtung 20 abgeändert ist, um lediglich die Mikro-Ablaufsteuerung für die Steuerungsseite auszuführen. Die Konfiguration und Operation in diesem Abschnitt der Speicherungsseite sind die gleichen wie die obig beschriebenen, während die in dem Abschnitt der Netzwerkseite die herkömmlichen sind, d. h, das Recht, den Bus zu verwenden, wird mittels einer Festsetzungsvorrichtung gesteuert.
  • Obwohl in den obigen Ausführungsformen die Speicherplatten mittels eines SCSI-Controllers verbunden werden, würde es möglich sein, andere Speicherplattenschnittstellen zu verwenden, beispielsweise einen Faser-Kanal. Obwohl ATM in dem Netzwerk verwendet wird, kann ebenso ein anderes Netzwerk, wie etwa das Ethernet, verwendet werden. Während ein System, das lediglich einen Mikro-Scheduler aufweist, offenbart wird, würde es darüber hinaus möglich sein, eine Vielzahl von Mikro-Scheduler, wie etwa für jeweilige Pufferspeicher, bereitzustellen.
  • Zusätzlich zu dem bereits obig erwähnten wird ein Fachmann erkennen, dass viele Änderungen und Variationen der obigen Ausführungsformen gemacht werden können, ohne von der Neuheit und den vorteilhaften Eigenschaften der vorliegenden Erfindung abzuweichen. Demgemäß sind sämtliche Änderungen und Variationen beabsichtigt, dass sie innerhalb des Umfangs der beigefügten Ansprüche enthalten sind.
  • Die Spezifikation und die Beispiele sind nur exemplarisch. Die nachfolgenden Patentansprüche definieren den wirklichen Umfang der Erfindung.

Claims (27)

  1. Computervorrichtung, die folgendes aufweist: eine Vielzahl von Funktionseinheiten (4, 10, 12) zum Übertragen von Endlosdaten; einen Bus (18, 19) zum Verbinden der Vielzahl von Einheiten (4, 10, 12); einen Speicher (22) zum Speichern eines Programmes; eine Einrichtung (24), um ein Recht, den Bus zu verwenden, jeder der Vielzahl der Einheiten in Übereinstimmung mit dem in dem Speicher (22) gespeicherten Programm deterministisch zuzuweisen.
  2. Computervorrichtung nach Anspruch 1, die ferner eine Haupt-Steuerungsvorrichtung (20) zum Erzeugen des Programmes und zum Schreiben des erzeugten Programmes in den Speicher (22) aufweist.
  3. Computervorrichtung nach Anspruch 2, wobei der Speicher (22) folgendes aufweist: eine Vielzahl von Speicheradreßbereiche; und eine Einrichtung zum Durchführen des Schreibens von der Haupt-Steuerungsvorrichtung in einen der Speicheradreßbereiche, während gleichzeitig ein anderer Speicheradreßbereich der Speicheradreßbereiche zu der Zuweisungseinrichtung (24) ausgelesen wird.
  4. Computervorrichtung nach Anspruch 1, wobei die Zuweisungseinrichtung (24) eine Einrichtung aufweist, um eine Verarbeitungsart und eine Adresse zu jede der Vielzahl der Einheiten (4, 10, 12) in Übereinstimmung mit dem in dem Speicher (22) gespeicherten Programm zu übertragen; und wobei jede der Vielzahl der Einheiten (4, 10, 12) eine Einrichtung zum Verwenden des Busses in Übereinstimmung mit der Verarbeitungsart und der Adresse aufweist.
  5. Computervorrichtung nach Anspruch 4, die ferner einen Steuerbus zum Verbinden der Vielzahl der Einheiten (4, 10, 12) und der Zuweisungseinrichtung (24) aufweist; und wobei die Übertragungseinrichtung eine Einrichtung aufweist, um die Verarbeitungsart und die Adresse über den Steuerbus zu übertragen.
  6. Computervorrichtung nach Anspruch 4, wobei die Übertragungseinrichtung eine Einrichtung aufweist, um die Verarbeitungsart und die Adresse über den Bus (18, 19) zu übertragen.
  7. Computervorrichtung nach Anspruch 1, wobei der Speicher (22) eine Einrichtung zum Speichern einer Vielzahl von Dateneingaben als das Programm aufweist, wobei jede Dateneingabe eine Quell-Adresse, eine Ziel-Adresse und eine Folge- bzw. Wiederholungszahl aufweist; und wobei die Zuweisungseinrichtung eine Einrichtung aufweist, um einen Vorgang entsprechend einer Anzahl, die gleich der Wiederholungszahl ist, zu wiederholen, welcher Vorgang basierend auf den Quell- und Ziel-Adressen das Übertragen einer Anweisung zu zumindest eine der Vielzahl der Einheiten (4, 12) und das Inkrementieren der Quell- und Zieladressen aufweist.
  8. Computervorrichtung nach Anspruch 7, wobei die Zuweisungseinrichtung (24) eine Einrichtung aufweist, um das Inkrementieren der Quell- und Ziel-Adressen anzuhalten und um zumindest eine der Vielzahl der Einheiten, zu welcher eine Schreibanweisung übertragen wurde, anzuweisen, nicht die Schreibanweisung auszuführen, wenn keine Daten entsprechend der Schreibanweisung vorliegen.
  9. Computervorrichtung nach Anspruch 1, wobei der Speicher (22) eine Vielzahl von Speicheradressbereiche zum Speichern von jeweiligen Programmen aufweist, wobei jedes Programm verwendet wird, um das Recht, den Bus zu verwenden, einer entsprechenden Einheit für die Vielzahl der Einheiten (4, 10, 12) zuzuweisen.
  10. Computervorrichtung nach Anspruch 9, wobei die Zuweisungseinrichtung eine Einrichtung aufweist, um das Recht, den Bus zu verwenden, zumindest zwei Einheiten der Vielzahl von Einheiten für die Übertragung von Daten zuzuweisen.
  11. Computervorrichtung nach Anspruch 1, wobei die Computervorrichtung eine Endlosdaten-Servervorrichtung zum Übertragen von in einer Speichereinheit (4) gespeicherten Endlosdaten ist, und wobei die Funktionseinheiten (10, 12) folgendes aufweisen: eine Pufferspeicher-Einheit (10) zum temporären Speichern von aus der Speichereinheit (4) ausgelesenen, gewünschten Endlosdaten; und eine Vielzahl von Kommunikations-Steuerungseinheiten (12) zum Übertragen der in der Pufferspeicher-Einheit gespeicherten, gewünschten Endlosdaten zu einem Kommunikationspfad (14); und wobei der Bus (18) dazu dient, die Pufferspeicher-Einheit (10) mit der Vielzahl der Kommunikations-Steuerungseinheiten (12) zu verbinden; und wobei die Zuweisungseinrichtung (24) dazu dient, in Übereinstimmung mit dem in dem Speicher (22) gespeicherten Programm ein Recht, den Bus zu verwenden, der Pufferspeicher-Einheit (10) zum Übertragen der Endlosdaten zu zumindest einer der Kommunikations-Steuerungseinheiten (12) deterministisch zuzuweisen.
  12. Endlosdaten-Servervorrichtung nach Anspruch 11, die ferner folgendes aufweist: eine Haupt-Steuerungsvorrichtung (22) zum Erzeugen des Programmes, um das Übertragen der gewünschten Endlosdaten von der Pufferspeicher-Einheit (10) zu zumindest einer Kommunikations-Steuerungseinheit der Vielzahl der Kommunikations-Steuerungseinheiten (12) bei gleichmäßigen Zeitintervallen zu steuern, und um das erzeugte Programm in den Speicher (22) zu schreiben.
  13. Endlosdaten-Servervorrichtung nach Anspruch 11, die ferner eine Haupt-Steuerungsvorrichtung (22) aufweist, welche folgendes aufweist: eine Einrichtung zum Steuern des Ablaufes einer Übertragung der gewünschten Endlosdaten von der Pufferspeicher-Einheit (22) zu dem Kommunikationspfad durch zumindest eine der Vielzahl der Kommunikations-Steuerungseinheiten (12) in Einheiten von Zeitschlitzen, wobei jeder Zeitschlitz gleichförmig in Mini-Zeitschlitze eingeteilt ist; und eine Einrichtung zum Erzeugen des Programmes und zum Schreiben des erzeugten Programmes in den Speicher derart, dass zum Übertragen der gewünschten Endlosdaten das Recht, den Bus (18) zu verwenden, der Pufferspeicher-Einheit (10) für jeden Benutzer zu einer entsprechenden Kommunikations-Steuerungseinheit der Vielzahl der Kommunikations-Steuerungseinheiten (12) bei einer festen Position in jedem Mini-Zeitschlitz zugeordnet wird.
  14. Endlosdaten-Server Vorrichtung nach Anspruch 13, wobei die Erzeugungseinrichtung eine Einrichtung zum Erzeugen des Programmes gemäß dem Mini-Zeitschlitz aufweist, und wobei die Zuweisungseinrichtung eine Einrichtung aufweist, um das Programm so oft, wie die Anzahl der Mini-Zeitschlitze in einem Zeitschlitz beträgt, zu wiederholen.
  15. Endlosdaten-Servervorrichtung nach Anspruch 11, die ferner eine Haupt-Steuerungsvorrichtung (20) aufweist, welche folgendes aufweist: eine Einrichtung zum Steuern des Ablaufes einer Übertragung der gewünschten Endlosdaten von der Pufferspeicher-Einheit (10) zu dem Kommunikationspfad (14) durch zumindest eine der Vielzahl der Kommunikations-Steuerungseinheiten (12) in Einheiten von Zeitschlitzen, wobei jeder Zeitschlitz gleichförmig in Mikro-Zeitschlitze eingeteilt ist; und eine Einrichtung zum Erzeugen des Programmes und zum Schreiben des erzeugten Programmes in den Speicher (22) derart, dass das Recht, den Bus zu verwenden, der Pufferspeicher-Einheit (10) für das Übertragen der gewünschten Endlosdaten bei einer festgesetzten Bitrate für jeden Benutzer zu einer entsprechenden Kommunikations-Steuerungseinheit der Vielzahl der Kommunikations-Steuerungseinheiten (12) während der Mikro-Zeitschlitze zugewiesen wird, wobei die Anzahl der Mikro-Zeitschlitze proportional zu der festgelegten Bitrate ist.
  16. Endlosdaten-Servervorrichtung nach Anspruch 15, wobei der Speicher (22) eine Einrichtung zum Speichern einer Vielzahl von Dateneingaben als Programm aufweist, wobei jede Dateneingabe eine Pufferspeicher-Einheit-Adresse, eine Kommunikations-Steuerungseinheit-Adresse und eine Folge- bzw. Wiederholungsanzahl entsprechend der Anzahl der Mikro-Zeitschlitze aufweist; und wobei die Zuweisungseinrichtung eine Einrichtung aufweist, um einen Vorgang entsprechend einer Anzahl, die gleich der Folge- bzw. Wiederholungsanzahl ist, zu wiederholen, welcher Vorgang die Übertragung einer Anweisung zu der Pufferspeicher-Einheit (10) und zu zumindest einer Kommunikations-Steuerungseinheit der Vielzahl der Kommunikations-Steuerungseinheiten (12) basierend auf den Pufferspeicher-Einheit- und Kommunikations-Steuerungseinheit-Adressen enthält.
  17. Endlosdaten-Servervorrichtung nach Anspruch 11, wobei der Speicher eine Vielzahl von Speicheradreßbereiche zum Speichern einer Vielzahl von Programmen aufweist, wobei jedes Programm zum Anweisen einer entsprechenden Kommunikationseinheit der Vielzahl der Kommunikationseinheiten (12) dient.
  18. Endlosdaten-Servervorrichtung nach Anspruch 17, wobei die Zuweisungseinrichtung eine Einrichtung aufweist, um das Recht, den Bus (18) zu verwenden, derart zuzuweisen, dass die jeweiligen Verwendungen des Busses durch die Pufferspeicher-Einheit (10) zum Übertragen der erwünschten Endlosdaten zu den Kommunikations-Steuerungseinheiten (12) verschachtelt werden.
  19. Computervorrichtung nach Anspruch 1, wobei die Computervorrichtung eine Endlosdaten-Servervorrichtung zum Übertragen von Endlosdaten zu und von einer Speichereinheit (4) ist, und wobei die Funktionseinheiten (8, 19) folgendes aufweisen: eine Speicher-Steuerungseinheit (8) zum Auslesen von Endlosdaten von der Speichereinheit (4) und zum Schreiben von Endlosdaten in die Speichereinheit (4); und eine Pufferspeicher-Einheit (10) zum temporären Speichern der ausgelesenen Endlosdaten und der in die Speicher-Steuerungseinheit (4) zu schreibenden Endlosdaten, wobei die Computervorrichtung ferner eine Kommunikations-Steuerungseinheit (12) zum Übertragen der in der Pufferspeicher-Einheit (10) gespeicherten Endlosdaten zu einem Kommunikationspfad (14) und zum Empfangen der in der Pufferspeicher-Einheit (10) zu speichernden Endlosdaten aufweist; wobei der Bus (19) dazu dient, die Speicher-Steuerungseinheit (4) mit der Pufferspeicher-Einheit (10) zu verbinden; und wobei die Zuweisungseinrichtung (24) dazu dient, um ein Recht, den Bus (19) zu verwenden, sowohl der Speicher-Steuerungseinheit (4) als auch der Pufferspeicher-Einheit (10) in Übereinstimmung mit dem im Speicher. (25) gespeicherten Programm deterministisch zuzuweisen.
  20. Endlosdaten-Servervorrichtung nach Anspruch 19, die ferner folgendes aufweist: einen anderen Bus (18), um die Pufferspeicher-Einheit (10) mit der Kommunikations-Steuerungseinheit (12) zu verbinden, und wobei die Zuweisungseinrichtung eine Einrichtung aufweist, um ein Recht, den anderen Bus (18) zu verwenden, sowohl der Kommunikations-Steuerungseinheit (12) als auch der Pufferspeicher-Einheit (10) in Übereinstimmung mit dem in dem Speicher (22) gespeicherten Programm deterministisch zuzuweisen.
  21. Endlosdaten-Servervorrichtung nach Anspruch 19, wobei die Zuweisungseinrichtung eine erste Zuweisungseinrichtung ist und wobei der Speicher ein erster Speicher ist; wobei die Endlosdaten-Servervorrichtung ferner folgendes aufweist: einen anderen Bus (18), um die Pufferspeicher-Einheit (10) mit der Kommunikations-Steuerungseinheit (12) zu verbinden; einen zweiten Speicher zum Speichern eines anderen Programmes; und eine zweite Einrichtung, um ein Recht, den anderen Bus (18) zu verwenden, sowohl der Kommunikations-Steuerungseinheit (12) als auch der Pufferspeicher-Einheit (10) in Übereinstimmung mit dem in dem zweiten Speicher gespeicherten anderen Programm deterministisch zuzuordnen.
  22. Computervorrichtung nach Anspruch 1, wobei die Computervorrichtung eine Endlosdaten-Servervorrichtung zum Heraufladen von Endlosdaten in eine Speichereinheit (4) ist, und wobei die Funktionseinheit (12) folgendes aufweist: eine Pufferspeicher-Einheit (10) zum temporären Speichern heraufgeladener Endlosdaten, die in die Speichereinheit (4) geschrieben werden müssen; eine Vielzahl von Kommunikations-Steuerungseinheiten (12) zum Übertragen der von außerhalb der Vorrichtung heraufzuladenen Endlosdaten zu der Pufferspeicher-Einheit (10); und wobei: der Bus (18) dazu dient, die Pufferspeicher-Einheit (10) mit der Vielzahl der Kommunikations-Steuerungseinheiten (12) zu verbinden; und wobei die Zuweisungseinrichtung (24) dazu dient, ein Recht, den Bus (18) zu verwenden, jeder Kommunikations-Steuerungseinheit der Vielzahl der Kommunikations-Steuerungseinheiten (12) in Übereinstimmung mit dem in dem Speicher (12) gespeicherten Programm deterministisch zuzuweisen.
  23. Endlosdaten-Servervorrichtung nach Anspruch 22, wobei der Speicher eine Einrichtung zum Speichern einer Vielzahl von Dateneingaben als Programm aufweist, wobei jede Dateneingabe eine Pufferspeicher-Einheit-Adresse, eine Kommunikations-Steuerungseinheit-Adresse und eine Folge- bzw. Wiederholungsanzahl aufweist; wobei die Zuweisungseinrichtung folgendes aufweist: eine Einrichtung, um einen Vorgang entsprechend einer Anzahl, die gleich der Folge- bzw. Wiederholungsanzahl ist, zu wiederholen, welcher Vorgang das Übertragen einer Anweisung zu der Pufferspeicher-Einheit (10) und zu einer Vielzahl der Kommunikations-Steuerungseinheit (12) basierend auf den Adressen der Pufferspeicher-Einheit (10) und der Kommunikations-Steuerungseinheit (12) enthält, und um diese Adressen zu inkrementieren; und eine Einrichtung, um das Inkrementieren der Adressen der Pufferspeicher-Einheit und der Kommunikations-Steuerungseinheit anzuhalten, und um die Pufferspeicher-Einheit (10), zu welcher eine Schreib- Anweisung übertragen wurde, anzuweisen, nicht die Schreibanweisung auszuführen, wenn keine Daten entsprechend der Schreibanweisung vorliegen.
  24. Computervorrichtung nach Anspruch 1, wobei die Computervorrichtung eine Endlosdaten-Servervorrichtung zum Übertragen von in einer Vielzahl von Speichereinheiten (4) gespeicherten Endlosdaten ist, und wobei die Funktionseinheiten (4, 12) folgendes aufweisen: eine Vielzahl von Speichereinheiten (10) zum temporären Speichern von aus den entsprechenden Speichereinheiten (4) ausgelesenen, erwünschten Endlosdaten; und eine Kommunikations-Steuerungseinheit (12) zum Übertragen der in den Pufferspeicher-Einheiten (10) gespeicherten, erwünschten Endlosdaten zu einem Kommunikationspfad, und wobei der Bus (18) dazu dient, die Vielzahl der Pufferspeicher-Einheit (10) und die Kommunikations-Steuerungseinheit (12) zu verbinden; und wobei die Zuweisungseinrichtung (24) dazu dient, um ein Recht, den Bus (18) zu verwenden, jeder Pufferspeicher-Einheit der Vielzahl der Pufferspeicher-Einheiten (10) in Übereinstimmung mit dem in dem Speicher (22) gespeicherten Programm deterministisch zuzuordnen.
  25. Computervorrichtung nach Anspruch 1, wobei die Computervorrichtung eine Endlosdaten-Servervorrichtung zum Übertragen von Endlosdaten zu und von einer Speichereinheit (4) ist, und wobei die Funktionseinheiten (10, 12) folgendes aufweisen: eine Pufferspeicher-Einheit (10) zum temporären Speichern der von der Speichereinheit (4) ausgelesenen Endlosdaten und der in die Speichereinheiten (4) zu schreibenden Endlosdaten; und eine Kommunikations-Steuerungseinheit (12) zum Übertragen der in der Pufferspeicher-Einheit (10) gespeicherten Endlosdaten zu einem Kommunikationspfad (14) und zum Empfangen der in der Pufferspeicher-Einheit (10) zu speichernden Endlosdaten, wobei: der Bus (18) dazu dient, die Pufferspeicher-Einheit (10) mit der Kommunikations-Steuerungseinheit (12) zu verbinden; und wobei die Zuweisungseinrichtung (24) dazu dient, ein Recht, den Bus (18) zu verwenden, sowohl der Kommunikations-Steuerungseinheit (12) als auch der Pufferspeicher-Einheit (10) in Übereinstimmung mit dem in dem Speicher (22) gespeicherten Programm deterministisch zuzuordnen.
  26. Computervorrichtung nach Anspruch 1, wobei: jede der Einheiten einen Bedarf aufweist, den Bus (18, 19) zu verwenden; der Speicher (22) dazu dient, eine Ablaufsteuerung zu speichern; und wobei die Einrichtung (24) auf eine externe Benutzeranforderung anspricht bzw. reagiert und dazu dient, um ein Recht, den Bus zu verwenden, jeder der Einheiten in Übereinstimmung mit der Ablaufsteuerung zuzuordnen, um auf die Benutzer- Anforderung zu reagieren.
  27. Bus-Steuerungsverfahren in einem Computer, der eine Vielzahl von Funktionseinheiten (4, 10, 12) zum Übertragen von Endlosdaten und einen Bus (18, 19) zum Verbinden der Vielzahl der Einheiten (4, 10, 12) aufweist, wobei das Verfahren die folgenden Verfahrensschritte aufweist: Speichern eines Programmes zum Zuordnen eines Rechtes, den Bus (18, 19) zu verwenden, in einem Speicher (22); deterministisches Zuweisen eines Rechtes, den Bus (18, 19:) zu verwenden, zu jeder der Vielzahl der Einheiten (4, 10, 12) in Übereinstimmung mit dem in dem Speicher (22) gespeicherten Programm; und Verwenden des Busses (18, 19) von jeder der Einheiten (4, 10, 12) in Übereinstimmung mit dem zugeordneten Verwendungsrecht.
DE69727721T 1996-03-18 1997-03-18 Rechnervorrichtung und Bussteuerungsschema Expired - Fee Related DE69727721T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP8061467A JPH09251437A (ja) 1996-03-18 1996-03-18 計算機装置及び連続データサーバ装置
JP6146796 1996-03-18

Publications (2)

Publication Number Publication Date
DE69727721D1 DE69727721D1 (de) 2004-04-01
DE69727721T2 true DE69727721T2 (de) 2004-07-29

Family

ID=13171890

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69727721T Expired - Fee Related DE69727721T2 (de) 1996-03-18 1997-03-18 Rechnervorrichtung und Bussteuerungsschema

Country Status (4)

Country Link
US (1) US5978875A (de)
EP (1) EP0797151B1 (de)
JP (1) JPH09251437A (de)
DE (1) DE69727721T2 (de)

Families Citing this family (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0977401B1 (de) * 1997-03-21 2007-02-14 Hitachi, Ltd. Elektronische vorrichtung , verfahren zur verwendung der vorrichtung und system mit der vorrichtung
US6253240B1 (en) 1997-10-31 2001-06-26 International Business Machines Corporation Method for producing a coherent view of storage network by a storage network manager using data storage device configuration obtained from data storage devices
USRE42761E1 (en) 1997-12-31 2011-09-27 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US5941972A (en) 1997-12-31 1999-08-24 Crossroads Systems, Inc. Storage router and method for providing virtual local storage
US6289375B1 (en) 1998-10-30 2001-09-11 International Business Machines Corporation Method and apparatus for invoking network agent functions using a hash table
US6314460B1 (en) * 1998-10-30 2001-11-06 International Business Machines Corporation Method and apparatus for analyzing a storage network based on incomplete information from multiple respective controllers
US7281199B1 (en) * 1999-04-14 2007-10-09 Verizon Corporate Services Group Inc. Methods and systems for selection of multimedia presentations
JP3356110B2 (ja) 1999-04-21 2002-12-09 日本電気株式会社 機能拡張システム及びそれに用いるデータ転送方法
AU4707001A (en) * 1999-11-12 2001-06-25 Crossroads Systems, Inc. Encapsulation protocol for linking storage area networks over a packet-based network
US6965934B1 (en) 1999-11-12 2005-11-15 Crossroads Systems, Inc. Encapsulation protocol for linking storage area networks over a packet-based network
US6731939B1 (en) * 2000-10-20 2004-05-04 Nokia Corporation Apparatus, and associated method, for allocating channels in a radio communication system
US7174359B1 (en) * 2000-11-09 2007-02-06 International Business Machines Corporation Apparatus and methods for sequentially scheduling a plurality of commands in a processing environment which executes commands concurrently
US6708239B1 (en) * 2000-12-08 2004-03-16 The Boeing Company Network device interface for digitally interfacing data channels to a controller via a network
US20020112070A1 (en) * 2000-12-08 2002-08-15 The Boeing Company Network controller for digitally controlling remote devices via a common bus
DE60228697D1 (de) * 2001-04-26 2008-10-16 Boeing Co System und verfahren zum aufrechterhalten des ordnungsgemässen abschlusses und einer fehlerfreien kommunikation in einem netzwerkbus
WO2002088966A1 (en) * 2001-04-26 2002-11-07 The Boeing Company Systems, methods, and bus controllers for creating an event trigger on a network bus
WO2002088965A1 (en) * 2001-04-26 2002-11-07 The Boeing Company System and method for preloading a bus controller with command schedule
US7111100B2 (en) * 2002-04-26 2006-09-19 The Boeing Company Systems and methods for assigning an address to a network device added to an existing network
US7010621B2 (en) * 2002-02-14 2006-03-07 The Boeing Company System having a spread-spectrum clock for further suppression of electromagnetic emissions in network devices communicating via a network bus
US7065583B2 (en) * 2002-02-14 2006-06-20 The Boeing Company System and associated suppression assembly for limiting electromagnetic emissions in network devices communicating via a network bus
US7478174B2 (en) * 2002-04-26 2009-01-13 The Boeing Company Systems and methods for maintaining network stability
US7082485B2 (en) * 2002-07-24 2006-07-25 The Boeing Company Systems and methods for establishing peer-to-peer communications between network devices communicating via a common bus
US7174402B2 (en) * 2003-04-07 2007-02-06 The Boeing Company Systems, network devices and methods for highly configurable peer-to-peer communications between network devices communicating via a common bus
US20060067280A1 (en) * 2004-09-29 2006-03-30 Howard John S Wireless medium access control protocol with micro-scheduling
JP4760169B2 (ja) * 2005-07-05 2011-08-31 ソニー株式会社 無線通信装置,コンピュータプログラム,無線通信方法,および無線通信システム
JP5205956B2 (ja) * 2007-12-27 2013-06-05 富士通株式会社 メモリ制御装置
US9286066B2 (en) 2009-11-24 2016-03-15 Nec Corporation Processor, and method of loop count control by processor
JP7347157B2 (ja) * 2019-11-22 2023-09-20 富士通株式会社 情報処理システム、ストレージ制御プログラム、及び、ストレージ制御装置

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3236302A1 (de) * 1982-09-30 1984-04-05 Siemens AG, 1000 Berlin und 8000 München Speicherprogrammierbare steuerung
US4517670A (en) * 1983-06-15 1985-05-14 General Electric Company Preemptive bid communication system
US4941086A (en) * 1984-02-02 1990-07-10 International Business Machines Corporation Program controlled bus arbitration for a distributed array processing system
US4688168A (en) * 1984-08-23 1987-08-18 Picker International Inc. High speed data transfer method and apparatus
US5193193A (en) * 1988-09-14 1993-03-09 Silicon Graphics, Inc. Bus control system for arbitrating requests with predetermined on/off time limitations
US5307471A (en) * 1990-01-31 1994-04-26 Nec Corporation Memory controller for sub-memory unit such as disk drives
JP2986176B2 (ja) * 1990-05-11 1999-12-06 株式会社日立製作所 バス権制御方式およびバスシステム
US5367678A (en) * 1990-12-06 1994-11-22 The Regents Of The University Of California Multiprocessor system having statically determining resource allocation schedule at compile time and the using of static schedule with processor signals to control the execution time dynamically
JPH05173938A (ja) * 1991-10-08 1993-07-13 Fujitsu Ltd 間欠dma制御方式
US5471640A (en) * 1992-07-06 1995-11-28 Hewlett-Packard Programmable disk array controller having n counters for n disk drives for stripping data where each counter addresses specific memory location by a count n
DE69518403T2 (de) * 1994-01-10 2001-03-29 Dow Chemical Co Ein massiv multiplexierter, superskalarer prozessor mit harvard-architektur
US5533205A (en) * 1994-03-30 1996-07-02 International Business Machines Corporation Method and system for efficient bus allocation in a multimedia computer system
US5463624A (en) * 1994-04-15 1995-10-31 Dsc Communications Corporation Bus arbitration method for telecommunications switching
JPH08153113A (ja) * 1994-11-28 1996-06-11 Fujitsu Ltd マルチメディアサーバ
US5528767A (en) * 1995-03-21 1996-06-18 United Microelectronics Corp. Programmable multi-level bus arbitration apparatus in a data processing system

Also Published As

Publication number Publication date
EP0797151A3 (de) 1999-04-14
JPH09251437A (ja) 1997-09-22
EP0797151A2 (de) 1997-09-24
DE69727721D1 (de) 2004-04-01
EP0797151B1 (de) 2004-02-25
US5978875A (en) 1999-11-02

Similar Documents

Publication Publication Date Title
DE69727721T2 (de) Rechnervorrichtung und Bussteuerungsschema
DE69735936T2 (de) Seriendatenschnittstellenverfahren und vorrichtung #
DE60314347T2 (de) Betriebsmittelverwaltungsgerät
DE3200761C2 (de)
DE69932400T2 (de) Steuerungsvorrichtung für einen Portverwalter zur Verbindung von verschiedenen Funktionsmodulen
DE69532383T2 (de) Verfahren und vorrichtung zur dynamischen erzeugung und erhaltung von rahmenbasierten abfrageprogrammen für das abfragen von isochronen und asynchronen funktionen, die wartezeiten und bandbreiten für die isochronen funktionen garantieren
DE3909948C2 (de)
DE3300260C2 (de)
EP1989598B1 (de) Verfahren, kommunikationsnetzwerk und steuereinheit zum zyklischen übertragen von daten
DE3642324C2 (de) Multiprozessoranlage mit Prozessor-Zugriffssteuerung
DE69533680T2 (de) Verfahren und Vorrichtung zur dynamischen Bestimmung und Zuteilung von Zugriffsguoten für ein gemeinsames Betriebsmittel
DE60316141T2 (de) Echtzeit-speicherbereichsnetzwerk
DE60307798T2 (de) Arbitrierung von gemeinsamen Speicher
DE60123396T2 (de) Diskzuordnungssystem mit umordnung einer begrenzten anzahl von anforderungen
EP2137626B1 (de) Verfahren und vorrichtung zur zugriffssteuerung mehrerer applikationen
EP0006164B1 (de) Multiprozessorsystem mit gemeinsam benutzbaren Speichern
DE4003759C2 (de) Verfahren und Anordnung zur Übertragung von Daten über einen Bus zwischen selektiv ankoppelbaren Stationen
DE2358545A1 (de) Datenverarbeitungssystem mit dynamisch veraenderlichem vorrangzugriffssystem
DE3301628A1 (de) Schaltungsanordnung fuer den datenaustausch zwischen zwei rechnern
DE69914425T2 (de) Modulare Übertragungssteuerung und -Verfahren
DE60101253T2 (de) Arbiter für ein Warteschlangenverwaltungssystem
CH634940A5 (en) Channel-adapter arrangement
DE3049774C2 (de)
DE602005006338T2 (de) Vorrichtung und Verfahren zur Datenübertragungsverarbeitung
DE2517302A1 (de) Datenverarbeitungssystem mit mehrprogramm-verarbeitung

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8339 Ceased/non-payment of the annual fee