DE10113577A1 - Verfahren, Computerprogrammprodukt und Computersystem zur Unterstützung mehrerer Anwendungssysteme mittels eines einzelnen Datenbank-Systems - Google Patents
Verfahren, Computerprogrammprodukt und Computersystem zur Unterstützung mehrerer Anwendungssysteme mittels eines einzelnen Datenbank-SystemsInfo
- Publication number
- DE10113577A1 DE10113577A1 DE10113577A DE10113577A DE10113577A1 DE 10113577 A1 DE10113577 A1 DE 10113577A1 DE 10113577 A DE10113577 A DE 10113577A DE 10113577 A DE10113577 A DE 10113577A DE 10113577 A1 DE10113577 A1 DE 10113577A1
- Authority
- DE
- Germany
- Prior art keywords
- application
- database
- profile
- memory area
- memory
- 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.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/25—Integrating or interfacing systems involving database management systems
- G06F16/252—Integrating or interfacing systems involving database management systems between a Database Management System and a front-end application
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99931—Database or file accessing
- Y10S707/99932—Access augmentation or optimizing
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Multi Processors (AREA)
Abstract
Mehrere Anwendungssysteme benutzen ein einziges Datenbanksystem. Ein erstes und mindestens ein zweites Anwendungssystem (901, 902) führen Anwendungsservices für Anwendungssystembenutzer aus. Das Datenbanksystem (900) hat mindestens einen ersten und zweiten Speicherbereich (920-1, 920-2), wobei die Speicherbereiche disjunkt sind. Das Datenbanksystem (900) speichert eine erste Zuordnung eines ersten vorbestimmten Profils (110) zum ersten Speicherbereich (920-1) und eine zweite Zuordnung eines zweiten vorbestimmten Profils (111) zum zweiten Speicherbereich (920-2). Das erste und zweite Profil (110, 111) sind einzigartig und beziehen sich auf das jeweilige erste und zweite Anwendungssystem (901, 902). Das erste und zweite Anwendungssystem (901, 902) greifen jeweils auf den ersten und zweiten Speicherbereich (920-1, 920-2) mittels des entsprechenden Profils (110, 111) zu.
Description
- Die Erfindung bezieht sich im allgemeinen auf Datenbanksysteme für Anwendungssysteme und im besonderen auf Verfahren, Computerprogrammprodukt und System zur Verbesserung der Effizienz des Datenbankmanagements in einer Systemlandschaft aus mehreren Applikationssystemen.
- Im vergangenen Jahrzehnt implementierten viele Organisationen sogenannte Enterprise Resource Planning (ERP) Software, um eine einzige integrierte Lösung zur Durchführung ihrer Geschäftsprozesse zu haben. Client- Server-Technologie wurde erstmals mit der SAP R/3 ERP- Software eingeführt, die der defacto Branchenstandard für Geschäftsanwendungssoftware wurde. Client-Server- Technologie trennt den Client (Frontend) vom Anwendungsserver, auf dem die Anwendungssoftware läuft. Der Anwendungsserver wiederum ist vom Datenbankserver getrennt, auf dem die Datenbanksoftware läuft. Die Datenbank beinhaltet alle Daten, die für die Anwendungssoftware relevant sind. Die hohe Skalierbarkeit dieses Mehrschichtenansatzes erlaubt einer großen Anzahl von Benutzern in einer Organisation, gleichzeitig im gleichen Applikationssystem zu arbeiten. Die Systemlast kann besser zwischen Applikationsserver und Datenbankserver verteilt werden, als dies bei Systemen möglich war, bei denen Anwendungen direkt auf dem Datenbankserver liefen. Die technischen Möglichkeiten des Internet und die Idee, Geschäftsprozesse nicht nur innerhalb einer Organisation, sondern auch über Organisationsgrenzen hinweg zu optimieren, brachten viele neue betriebswirtschaftliche Softwareanwendungen hervor, die entwickelt wurden, um die innerbetrieblichen ERP- Anwendungsprogramme zu ergänzen. Beispiele dafür sind Customer Relationship Management Anwendungen (CRM) zur Verbesserung des Managements von Kundenbeziehungen und Supply Chain Management Anwendungen (SCM) zur Verbesserung von sowohl der Logistik zwischen Unternehmen als auch der Lieferantenbeziehungen.
- Dieser Ansatz resultiert jedoch in einer Vielzahl verschiedener und verteilter Softwarepakete und erhöht die Komplexität der Systemlandschaft in Organisationen. Eine typische Systemlandschaft besteht heute aus verteilten Systemen mit verschiedenen Softwareanwendungen und getrennten Servern. Jedes System erfordert seine eigene Datenbank, die wiederum auf einer eigens dafür vorgesehenen physischen Hardware (Datenbankserver) läuft. Die Gründe dafür liegen zum Teil in der Hardware, zum Teil in der Software. So waren beispielsweise in der Vergangenheit die meisten Shared-Memory-Prozessor Systeme (SMP) auf weniger als 16 Prozessoren und der gemeinsame Hauptspeicher auf weniger als 4 Gigabyte limitiert. Betriebssysteme boten nicht die Möglichkeit, mehrere logische Partitionen für Gruppen von Prozessoren zu erzeugen. Datenbanken konnten nur eine Maximalanzahl an Tabellen verwalten (z. B. 10 000).
- Fig. 1 zeigt ein Beispiel einer zum Stand der Technik gehörenden Computersystemlandschaft für eine Organisation. Die Anwendungssysteme ERP 1, CRM 2 und SCM 3 sind über ein Netzwerk miteinander verbunden. Das Netzwerk ist ein Local Area Network (LAN) oder ein Wide Area Network (WAN) oder jedes andere aus dem Stand der Technik bekannte Netzwerk. Das Netzwerk umfasst die Teile 10 und 11. Jedes der Anwendungssysteme erfordert sein eigenes Datenbanksystem (DB) mit den entsprechenden Anwendungsdaten, z. B. ERP DB 4, CRM DB 5 und SCM DB 6. Jedes Datenbanksystem 4-6 ist über die entsprechenden Anwendungssysteme 1-3 über die Netzwerkzweige 12-14 verbunden. Jedes Anwendungssystem 1-3 stellt den Mehrheiten 20-22 von Anwendungsbenutzern verschiedene Anwendungsservices zur Verfügung. Einer einzelnen Person können dabei mehrere Anwendungsbenutzer aus jeder der Mehrheiten zugeordnet werden. Beispielsweise können mittels eines browser-basierten Front End Computers (nicht gezeigt) über das Netzwerk alle Anwendungsbenutzer der Mehrheiten 20-22 mit dem entsprechenden Anwendungssystemen 1-3 verbunden 23-25 werden. Das System, welches dem Stand der Technik entspricht, benötigt daher drei verschiedene Datenbankservercomputer und erfordert zusätzlich die Verwaltung (Backup, Tune, Manage) dieser drei Datenbanksysteme. Im Falle eines totalen oder teilweisen Systemzusammenbruchs ist es außerdem sehr schwierig, eine konsistente Sicherung (Backup) aller Datenbanksysteme mit dem Datenbestand unmittelbar vor dem Zusammenbruch zu bewerkstelligen.
- Aufgrund des permanenten Datenaustauschs zwischen den verschiedenen Softwareanwendungen ist dies kritisch. Den Grund dafür erläutert das folgende Beispiel.
- Ein Vertriebsmitarbeiter erzeugt einen Auftrag über die Internet Sales Anwendung des CRM Systems 2. Danach wird der Auftrag in die Auftragsabwicklungsanwendung des ERP Systems 1 übergeleitet. Das SCM System 3 analysiert den Auftrag hinsichtlich der Verfügbarkeit unter Benutzung der Verfügbarkeitsprüfungsanwendung und schließlich erzeugt ein analytisches Anwendungssystem für Simulationen (nicht gezeigt) den entsprechenden Forecast für den Auftrag. Um die Datenintegrität aller geschäftlichen Anwendungsdaten sicher zu stellen, ist deshalb eine volle und konsistente Wiederherstellung aller Datenbanken in der Systemlandschaft mit dem Datenstand unmittelbar vor dem Systemzusammenbruch (Point-in-time Recovery) erforderlich.
- Die vorliegende Erfindung offenbart System, Verfahren und Computerprogrammprodukt, um Benutzern mehrere betriebliche Softwareanwendungen mit wesentlich weniger Hardware und weniger Systemverwaltungsaufwand zur Verfügung zu stellen. Dies wird dadurch erreicht, dass mehrere unabhängige und verschiedene Softwarenanwendungen in Verbindung mit einem einzigen Datenbanksystem laufen. Für n verschiedene Anwendungen wird nur ein physischer Datenbankserver benötigt, wohingegen in Systemen, die dem Stand der Technik entsprechen, n physische Datenbankserver erforderlich sind. Somit muss nur ein Datenbanksystem verwaltet werden (z. B. tägliches Backup, Datenbanktuning, Sicherheitsverwaltung). Die vorliegende Erfindung verringert somit die Kosten, die für eine Organisation mit dem Besitz von Anwendungssystemen verbunden sind. Im folgenden wird der Begriff Datenbanksystem so verwendet, dass er sowohl ein Mittel zum Speichern von Daten als auch ein Mittel zum Auslesen von Daten umfasst. Mittel zum Speichern sind beispielsweise Tabellen oder Bereiche. Ein Mittel zum Auslesen ist beispielsweise ein Datenbankbetriebssystem. Datenbanksysteme sind kommerziell verfügbar.
- Datenbanksysteme werden manchmal als Datenbankmanagementsysteme (DBMS) bezeichnet.
- Bevorzugt handelt es sich bei dem Datenbanksystem um ein relationales Datenbanksystem. Bevorzugt kommunizieren Anwendungssystem und Datenbanksystem mittels vordefinierter Instruktionen einer vordefinierten Datenbankbeschreibungssprache. Solche Sprachen sind im Stand der Technik bekannt. Ein Beispiel dafür ist die Standard Query Language (SQL). Technische Restriktionen, die zum Multidatenbanksystemparadigma im Stand der Technik geführt haben, wurden in der Zwischenzeit gelöst. Die vorliegende Erfindung macht sich folgende Merkmale eines hoch performanten Datenbanksystems zu Nutze:
Nachgewiesene Skalierbarkeit von 32- oder 64- Prozessor SMP Servern (z. B. HP_Superdom, Compaq Alpha);
Betriebssysteme, die 32- oder 64-Prozessor SMP Server unterstützen (z. B. HP-UX, True 64);
Unterstützung der 64-Bit Technologie in Betriebssystemen von SMP Servern, wodurch es möglich wird, mehr als vier Gigabyte Hauptspeicher zu adressieren;
Relationale Datenbankmanagementsysteme (RDBMS), die Datenbankserver mit 64 Prozessoren unterstützen, wodurch eine hohe Performance ermöglicht wird, wenn mehrere Anwendungssysteme in Verbindung mir einem Datenbanksystem laufen;
RDBMS, die mehr als 50 000 verschiedene Tabellen in einer Datenbank unterstützen, wodurch das Management von Daten verschiedener Anwendungen auf einer Datenbank ermöglicht wird. - Die vorliegende Erfindung löst weiterhin das technische Problem, dass ein Datenbanksystem gemäß dem Stand der Technik nicht in der Lage ist, Anwendungsdaten zu speichern, die aus mehreren Anwendungssystemen stammen, wobei diese Anwendungssysteme das Datenbanksystem gleichzeitig nutzen. Das Computersystem gemäß Anspruch 1 und das Verfahren gemäß Anspruch 8 erlauben mehreren Anwendungssystemen, das gleiche physische Datenbanksystem gleichzeitig zu nutzen. Dies wird dadurch erreicht, dass gemäß der Ansprüche 10 und 12 das Datenbanksystem in der Lage ist, mehrere Profile (verschiedene Typen von Datenbankbenutzern) zu unterstützen, wobei jedes Profil einem Anwendungssystem zugeordnet ist. Gemäß Anspruch 2 wird jedes Anwendungssystem durch das zugeordnete Profil zum "Besitzer" eines Speicherbereichs des Datenbanksystems. Im folgenden werden der Begriff Profil und der Begriff Datenbankprofil synonym verwendet. Alle anwendungsbezogenen Daten der verschiedenen Anwendungssysteme werden konsistent in disjunkten Speicherbereichen des Datenbanksystems abgelegt. Die entsprechende Datenbanksoftware wird gemäß Anspruch 16 als Computerprogrammprodukt beschrieben. Die entsprechende Clientsoftware für das Anwendungssystem wird gemäß Anspruch 17 ebenfalls als Computerprogrammprodukt beschrieben. Die zugrundeliegenden Datenstrukturen sind in den Ansprüchen 14 und 15 beschrieben.
- Ein weiterer Vorteil der vorliegenden Erfindung liegt darin, dass die Architektur mit einem einzelnen Datenbanksystem die Möglichkeit bietet, ein Upgrade für ein Anwendungssystem einzuspielen, ohne dabei andere Anwendungssysteme, die das gleiche Datenbanksystem nutzen, abschalten zu müssen. Der Fachmann erreicht dies beispielsweise dadurch, dass er die gemeinsamen Programmteile der Datenbanksoftware auf jedes Datenbankprofil repliziert.
- Weiterhin löst die vorliegende Erfindung das technische Problem, dass in einem System gemäß dem Stand der Technik im Falle eines totalen oder teilweisen Systemzusammenbruchs eine vollständige, konsistente Wiederherstellung der verschiedenen Anwendungssysteme im Netzwerk nicht möglich ist. Ein Backup kann online durchgeführt werden, indem kontinuierlich die Änderungen der Anwendungsdaten in ein Backup-Datenbanksystem geschrieben werden. Wenn das Datenbanksystem heruntergefahren ist, kann ein Offline-Backup durchgeführt werden, indem eine Kopie des Datenbanksystems erstellt wird. Der Online-Backup wird benutzt, um eine konsistente Point-in-time Recovery zu gewährleisten, wohingegen der Offline-Backup als Grundlage für weitere Systemimplementierungen innerhalb der Organisation dienen kann.
- Außerdem liefert die vorliegende Erfindung eine Lösung für das technische Problem einer nicht adequaten Lastverteilung zwischen Datenbanksystem und Anwendungssystemen, die durch den gleichzeitigen Zugriff mehrerer Anwendungssysteme auf das Datenbanksystem verursacht wird. Eine Verbesserung der Lastverteilung wird gemäß den Ansprüchen 1 und 5-7 dadurch erreicht, dass mehrere Anwendungssysteme ein einziges Datenbanksystem nutzen, wobei das Datenbanksystem ein Betriebssystem nutzt, welches die Möglichkeit bietet, mehrere logische Gruppen von Prozessoren in einem SMP System zu erzeugen. Jedem Anwendungssystem wird dann eine dieser Gruppen von Prozessoren des Datenbankservercomputers zugeordnet. Wenn beispielsweise die höchste Datenbanklast durch ein ERP System verursacht wird und ein CRM- sowie ein SCM System eine niedrigere Last bewirken, so wäre eine mögliche Konfiguration, dem ERP System 24 Prozessoren zuzuordnen, dem CRM System 16 Prozessoren und dem SCM System nur 8 Prozessoren zuzuordnen, sofern der Datenbankserver Shared Memory Prozessoren (SMP) benutzt und wenigstens 48 Prozessoren enthält. Ein Fachmann kann die Skalierbarkeit des Datenbanksystems weiter erhöhen, indem er, gemäß Anspruch 3, parallele Datenbankserver einsetzt, wobei verschiedene Server in einen einzigen großen virtuellen Datenbankserver mit einem Shared Cashe Memory zusammengefasst werden.
- Fig. 1 zeigt ein Beispiel für eine Computersystemlandschaft einer Organisation gemäß dem Stand der Technik;
- Fig. 2 zeigt ein bevorzugtes Ausführungsbeispiel eines Computersystems mit mehreren Anwendungssystemen die, gemäß der vorliegenden Erfindung, das selbe Datenbanksystem nutzen;
- Fig. 3 zeigt eine Detailsicht des bevorzugten Ausführungsbeispiels des Computersystems;
- Fig. 4 zeigt Datenbanktabellen im Speicher des Datenbanksystems gemäß der vorliegenden Erfindung;
- Fig. 5 zeigt ein vereinfachtes Flussdiagramm eines Verfahrens zur Kommunikation mehrerer Anwendungssysteme mit einem einzelnen Datenbanksystem gemäß der vorliegenden Erfindung;
- Fig. 6 zeigt ein vereinfachtes Blockdiagramm der Anwendungssysteme und des Datenbanksystems mit Zuordnungsmatrizen; und
- Fig. 7 zeigt ein weiteres bevorzugtes Ausführungsbeispiel gemäß der vorliegenden Erfindung.
- Fig. 2 zeigt ein bevorzugtes Ausführungsbeispiel eines Computersystems 999 mit mehreren Anwendungscomputersystemen 901, 902, die das selbe Datenbankcomputersystem 900 gemäß der vorliegenden Erfindung nutzen. Das Computersystem 999 umfasst dabei eine Mehrzahl von Computern 900, 901, 902 (oder 90Q, wobei Q = 0. . .Q-1, Q eine beliebige Zahl)
- Die Computer 900-902 sind über ein Netzwerk 990 verbunden. Datenbankcomputer 900 umfasst Prozessor 910, Speicher 920, Bus 930 und, optional, Eingabevorrichtung 940 und Ausgabevorrichtung 950 (Ein- und Ausgabevorrichtung ergeben das Benutzerinterface 960). Die Erfindung liegt vor als Computerprogrammprodukt (CPP) 100 (oder 10Q, wobei Q = 0. . .Q-1, Q eine beliebige Zahl), Programmträger 970 und Programmsignal 980. Diese Komponenten werden im folgenden als Programm bezeichnet.
- Die Elemente 100 und 910-980 des Computers 900 verallgemeinern die entsprechenden Elemente 10Q und 91 Q--98Q (gezeigt für Q = 0 in Computern 90Q).
- Computer 900 ist beispielsweise ein konventioneller Datenbankserver in der Form eines Multiprozessorcomputers, eines Mainframecomputers, eines tragbaren oder stationären PCs oder dergleichen.
- Prozessor 910 steht für mindestens einen Prozessor wie z. B. einem Zentralprozessor (CPU), einem Mikrocontroller (MCU), einem digitalen Signalprozessor (DST) oder dergleichen.
- Speicher 920 symbolisiert Elemente, die Daten und Instruktionen entweder temporär oder permanent speichern. Obwohl Speicher 920 zum besseren Verständnis als Teil des Computers 900 gezeigt ist, kann die Speicherfunktion auch anderswo im Netzwerk 990 implementiert werden, beispielsweise in den Computern 901/902 und im Prozessor 910 selbst (z. B. Cache, Register). Memory 920 kann ein Read-only-memory (ROM) ein Random-access-memory (RAM) oder ein Speicher mit anderen Zugriffsoptionen sein. Speicher 920 wird physisch als ein computerlesbarer Datenträger implementiert, wie z. B.:
- a) magnetische Datenträger wie z. B. Festplatte, Diskette, Magnetband;
- b) optische Datenträger wie z. B. CD-ROM, DVD;
- c) Halbleiterdatenträger wie z. B. DRAM, SRAM, EPROM, EEPROM oder jedes andere beliebige Medium wie z. B. Papier
- Optional ist Speicher 920 über verschiedene Medien verteilt. Teile des Speichers 920 können fest oder austauschbar angebracht sein. Zum lesen von oder schreiben auf dem Datenträger benutzt der Computer 900 Mittel, die im Stand der Technik bekannt sind, wie z. B. Diskettenlaufwerke oder Bandlaufwerke.
- Speicher 920 speichert Unterstützungskomponenten wie z. B. ein Bios (Basic input output system), ein Betriebssystem (OS), eine Programmbibliothek, einen Compiler, einen Interpreter oder ein Textverarbeitungsprogramm. Unterstützungskomponenten sind kommerziell verfügbar und können auf dem Computer 900 von Fachleuten installiert werden. Zum besseren Verständnis sind diese Komponenten nicht dargestellt.
- Computerprogramm 100 umfasst Programminstruktionen und, optional, Daten, die den Prozessor 910 unter anderem dazu veranlassen, die Verfahrensschritte 430-450 der vorliegenden Erfindung auszuführen. Die Verfahrensschritte werden später im Detail erläutert. Mit anderen Worten definiert das Computerprogramm 100 die Funktion des Computers 900 und seine Interaktion mit dem Systemnetzwerk 999. Ohne die Absicht zur Einschränkung kann beispielsweise Computerprogramm 100 als Quellcode in einer beliebigen Programmiersprache und als Binärcode in kompilierter Form vorliegen. Der Fachmann ist in der Lage, Computerprogramm 100 in Verbindung mit jeder der zuvor erläuterten Unterstützungskomponenten (z. B. Compiler, Interpreter, Betriebssystem) zu benutzen.
- Zum besseren Verständnis ist das Computerprogramm 100 im Speicher 920 dargestellt. Computerprogramm 100 kann aber auch beliebig anderswo gespeichert sein. Computerprogramm 100 kann ebenfalls auf dem Datenträger 970 gespeichert sein.
- Datenträger 970 ist außerhalb des Computers 900 dargestellt. Um Computerprogramm 100 auf den Computer 900 zu übertragen, kann der Datenträger 970 in das Eingabegerät 940 eingeführt werden. Datenträger 970 ist als ein beliebiger computerlesbarer Datenträger implementiert, wie z. B. als eines der Medien, die zuvor erläutert wurden (vgl. Memory 920). Im Allgemeinen ist der Datenträger 970 ein Erzeugnis, welches aus einem computerlesbaren Medium besteht und einen computerlesbaren Programmcode beinhaltet, um das Verfahren der vorliegenden Erfindung auszuführen. Außerdem kann das Programmsignal 980 ebenfalls das Computerprogramm 100 beinhalten. Signal 980 wird über das Netzwerk 990 zum Computer 900 übertragen.
- Optional beinhalten die Datenträger 971/972 (nicht gezeigt) und das Programmsignal 981/982 das Computerprogrammprodukt (CPP) 101/102 (nicht gezeigt), welches von dem Prozessor 911/912 (nicht gezeigt)in Computer 901/902 entsprechend ausgeführt wird.
- Eingabevorrichtung 940 steht für eine Vorrichtung, die Daten und Anweisungen zur Verarbeitung durch Computer 900 bereitstellt. Beispielsweise ist Eingabevorrichtung 940 eine Tastatur, eine Zeigevorrichtung (Maus, Trackball, Cursorpfeile), Mikrofon, Joystick, Scanner. Obwohl es sich bei den Beispielen allesamt um Vorrichtungen mit menschlicher Interaktion handelt, kann die Vorrichtung 940 auch ohne menschliche Interaktion auskommen, wie z. B. ein drahtloser Empfänger (z. B. mittels Satelliten- oder terrestrischer Antenne), ein Sensor (z. B. ein Thermometer), ein Zähler (z. B. ein Stückzahlzähler in einer Fabrik). Eingabevorrichtung 940 kann ebenfalls zum lesen des Datenträgers 970 verwendet werden.
- Ausgabevorrichtung 950 steht für eine Vorrichtung, die Anweisungen und Daten, welche verarbeitet wurden, anzeigt. Beispiele dafür sind ein Monitor oder ein anderer Anzeigetyp (Kathodenstrahlröhre, Flachbildschirm, Flüssigkristallanzeige, ein Lautsprecher, ein Drucker, eine Vibrationsalarmanzeige). Ähnlich wie bei der Eingabevorrichtung 940 kommuniziert die Ausgabevorrichtung 950 mit dem Benutzer, aber sie kann genauso mit anderen Computern kommunizieren.
- Eingabevorrichtung 940 und Ausgabevorrichtung 950 können in einer einzigen Vorrichtung kombiniert werden. Beide Vorrichtungen 940, 950 können optional bereit gestellt werden.
- Bus 930 und Netzwerk 990 stellen logische und physische Verbindungen dar, die sowohl Anweisungen als auch Datensignale übertragen. Verbindungen innerhalb des Computers 900 werden üblicherweise als Bus 930 bezeichnet, Verbindungen zwischen den Computern 900-902 werden als Netzwerk 990 bezeichnet. Die Vorrichtungen 940 und 950 sind mit dem Computer 900 durch den Bus 930 (wie gezeigt) verbunden oder optional über das Netzwerk 990 angeschlossen. Die Signale innerhalb des Computers 900 sind überwiegend elektrische Signale, wohingegen die Signale im Netzwerk elektrische, magnetische und optische Signale oder auch drahtlose Radiosignale sein können. Netzwerkumgebungen (wie Netzwerk 990) sind in Büros, unternehmensweiten Computernetzwerken, Intranets und im Internet (z. B. World Wide Web) üblich. Die physische Entfernung zwischen den Computern im Netzwerk ist nicht von Bedeutung. Netzwerk 990 kann ein drahtloses oder ein verdrahtetes Netzwerk sein. Als mögliche Beispiele für Implementierungen des Netzwerk 990 seien hier angeführt: ein lokales Netzwerk (LAN), ein Wide Area Network (WAN), ein integriertes Servicedigitalnetzwerk (ISDN), eine Infrarot(IR)-verbindung, eine Radioverbindung wie beispielsweise das Universal Mobile Telecommunication System (UMTS) oder eine Satellitenverbindung.
- Übertragungsprotokolle und Datenformate sind im Stand der Technik bekannt. Beispiele dafür sind: TCP/IP (Transmission Control Protocol/Internet Protocol), HTTP (Hypertext Transfer Protocol), URL (Unique Resource Locator), HTML (Hypertext Markup Language), XML (Extensible Markup Language), WML (Wireless Application Markup Language) etc.
- Schnittstellen zum Koppeln der einzelnen Komponenten sind ebenfalls im Stand der Technik bekannt. Zur Vereinfachung sind die Schnittstellen nicht dargestellt. Eine Schnittstelle kann beispielsweise eine serielle Schnittstelle, eine parallele Schnittstelle, ein Gameport, ein universeller serieller Bus, ein internes oder externes Modem, ein Grafikadapter oder eine Soundkarte sein.
- Fig. 3 zeigt eine Detailsicht des bevorzugten Ausführungsbeispiels von Computersystem 999. Computersystem 999 umfasst mindestens ein erstes Anwendungssystem 901 und ein zweites Anwendungssystem 902 sowie ein Datenbanksystem 900. Das erste Anwendungssystem 901 führt mindestens einen ersten Anwendungsservice aus einer Mehrheit 201 von Anwendungsservices (AS1) aus. Das zweite Anwendungssystem 902 führt mindestens einen zweiten Anwendungsservice aus einer Mehrheit 301 von Anwendungsservices (AS2) aus.
- Mindestens ein Benutzer aus einer ersten Mehrheit von Anwendungsbenutzern 801 kann Anwendungsservices von AS1 nutzen, indem er zu dem ersten Anwendungssystem 901 eine Verbindung über wenigstens einen Frontendcomputer (nicht gezeigt) aufbaut. Der Frontendcomputer kann beispielsweise ein PC, ein Laptopcomputer, ein Webserver oder dergleichen sein.
- In der gleichen Weise kann mindestens ein Benutzer aus einer zweiten Mehrheit von Anwendungsbenutzern 802 Applikationsservices von AS2 nutzen, indem er sich mit dem zweiten Anwendungssystem 902 über mindestens einen Frontendcomputer (nicht gezeigt) verbindet. Zum besseren Verständnis sei erläutert, dass die Verbindungen 990-1 von Mehrheit 801 zum ersten Anwendungssystem 901 und 990-2 von Mehrheit 802 zum zweiten Anwendungssystem 902 als Teil des Netzwerks 990 dargestellt sind und gleichbedeutend mit den Verbindungen zu den Frontendcomputern (nicht gezeigt) sind. Ein Anwendungsbenutzer kann den gleichen Frontendcomputer benutzen, um beide Anwendungssystem (901, 902) zu erreichen. Es ist nicht notwendig für die Erfindung, dass jeder Anwendungsbenutzer einer unterschiedlichen Person zugeordnet ist. Vielmehr kann eine Person mehreren Anwendungsbenutzern aus mehreren Anwendungssystemen zugeordnet werden.
- Vorzugsweise hat der Speicher 920 des Datenbanksystems 900 mindestens einen ersten Speicherbereich 920-1 und einen zweiten Speicherbereich 920-2. Die Speicherbereiche sind disjunkt, d. h. Änderungen im ersten Speicherbereich 920-1 haben keinerlei Einfluss auf den zweiten Speicherbereich 920-2 und umgekehrt. Datenbanksystem 900 speichert mindestens eine erste Zuordnung eines ersten, vorher bestimmten Profils 110 zum ersten Speicherbereich 920-1 und speichert wenigstens eine zweite Zuordnung eines zweiten, vorher bestimmten Profils 111 zum zweiten Speicherbereich 920-2. Vorzugsweise sind das erste Profil 110 und das zweite Profil 111 einzigartig und beziehen sich jeweils auf das erste und zweite Anwendungssystem (901, 902). Diese Beziehung wird durch die gestrichelten Linien 110-1 und 111-2 verdeutlicht.
- Wenn ein Anwendungsbenutzer einen Anwendungsservice in einem der Anwendungssysteme 901 oder 902 startet, greift das Anwendungssystem (das den Service ausführt) auf Datenbanksystem 900 zu. Im Fall, dass ein Anwendungsservice von AS1 gestartet wird, greift das erste Anwendungssystem 901 auf den ersten Speicherbereich 920-1 des Datenbanksystems 900 über das Profil 110 zu. Für den Fall, dass ein Anwendungsservice von AS2 gestartet wird, greift das zweite Applikationssystem 902 auf den zweiten Speicherbereich 920-2 des gleichen Datenbanksystems 900 über das Profil 111 zu. Zum besseren Verständnis können die Profile 110 und 111 als Benutzer des Datenbanksystems 900 gesehen werden, wobei der Datenbankbenutzer das jeweilige Anwendungssystem (902, 902) ist, das sich auf das entsprechende Profil (110, 111) bezieht (110-1, 111-1). Diese Architektur ermöglicht, mit einer großen Anzahl an Anwendungsbenutzern über ein einzelnes Profil auf dem Datenbanksystem 900 zu arbeiten und dabei die Last des Datenbanksystems niedrig zu halten. Für die Erfindung ist es nicht notwendig, dass zu einem Anwendungssystem nur ein Profil zugeordnet wird. Im Falle einer größeren Anzahl an Profilen für ein Anwendungssystem wird die Last des Datenbanksystems im Vergleich zur Last der Anwendungssysteme erhöht - insbesondere dann, wenn mehrere Anwendungssysteme in Verbindung mit einem einzigen Datenbanksystem laufen. Typischerweise kann ein Anwendungssystem mehrere Anwendungsservercomputer umfassen, um die Last auf mehrere Prozessoren zu verteilen. Deshalb kann die Skalierbarkeit des Anwendungssystems durch Hinzufügen weiterer Hardware erhöht werden. Insbesondere dann, wenn mehrere Anwendungssysteme im Zusammenhang mit einem einzigen Datenbanksystem laufen, ist die Last des Datenbanksystems ebenfalls kein kritischer Faktor mehr, da der Einsatz von parallelen Datenbankservern hilft, die Skalierbarkeit des Datenbanksystems zu erhöhen und somit den Ein- Datenbankansatz gemäß der vorliegenden Erfindung ermöglicht.
- Fig. 4 zeigt gemäß der vorliegenden Erfindung Datenbanktabellen 190 bis 193 im Speicher 920 im Speicher des Datenbanksystems 900. Die Tabellen 190, 191 sind im ersten Speicherbereich 920-1 und die Tabellen 192, 193 sind im zweiten Speicherbereich 920-2 gespeichert. Profil 110 ist dem ersten Speicherbereich 920-1 und Profil 111 dem zweiten Speicherbereich 920-2 zugeordnet. Dies bedeutet, dass nur das erste Anwendungssystem 901 auf den ersten Speicherbereich 920-1 und nur das zweite Anwendungssystem 902 auf den zweiten Speicherbereich 920-2 zugreifen kann. Jede Tabelle beinhaltet in ihrem Tabellenkopf Informationen über die Profile, die auf die Tabelle Zugriff haben. Über die Profile sind damit indirekt auch die Anwendungssysteme definiert, die auf eine bestimmte Tabelle zugreifen können. Manchmal benötigen verschiedene Anwendungssysteme Zugriff auf die gleichen Informationen. Wenn beispielsweise ein ERP System mit einem SCM System integriert ist, sollte nach Möglichkeit die Stammdatentabelle für Materialien im ERP System konsistent mit der Materialstammdatentabelle des SCM Systems sein. Die verschiedenen Speicherbereiche (z. B. 920-1, 920-2) des Datenbanksystems 900 sind disjunkt. Der Speicherbereich mit dem Profil für das ERP System erlaubt dem SCM System nicht, auf seine Materialstammdatentabelle zuzugreifen. Deshalb existieren manche Tabellen in mehr als einem Speicherbereich des Datenbanksystems. Die Konsistenz dieser Tabellen wird durch das jeweilige Anwendungssystem garantiert, indem jedes Anwendungssystem über das Netzwerk 990 mit den anderen Anwendungssystemen kommuniziert und dabei jedes System konsistent seine eigene Tabellen in dem jeweiligen Speicherbereich aktualisiert.
- Nachdem die Erfindung als Computersystem beschrieben wurde, wird im folgenden die Erfindung als Verfahren erläutert.
- Fig. 5 zeigt ein vereinfachtes Flussdiagramm des Verfahrens 400 zur Kommunikation mehrerer Anwendungssysteme mit einem einzigen Datenbanksystem. Verfahren 400 umfasst die folgenden Schritte: Bereitstellung von Anwendungssystemen 410, Verbinden eines Datenbanksystems mit den Applikationssystemen 420, Teilen des Datenbankspeichers in disjunkte Speicherbereiche 430, Zuordnen der Speicherbereiche zu Anwendungssystemen 440 und Zugreifen auf Speicherbereiche durch Anwendungssysteme 450.
- Im Schritt 410 werden wenigstens ein erstes Anwendungssystem 901 (vgl. Fig. 3) und ein zweites Anwendungssystem 902 bereitgestellt. Jedes der Anwendungssysteme führt mindestens einen Anwendungsservice aus einer Mehrheit von Anwendungsservices (201, 301) aus, wobei diese Anwendungsservices jeweils von einer Mehrheit von Benutzern (801, 802) des jeweiligen Anwendungssystems (901, 920) gestartet werden können.
- In Schritt 420 wird das Datenbanksystem 900 mit dem ersten Anwendungssystem 901 und mindestens dem zweiten Anwendungssystem 902 verbunden. Die Verbindung wird über das Netzwerk 990 realisiert.
- In Schritt 430 wird der Speicher 920 des Datenbanksystems 900 logisch geteilt, wobei mindestens ein erster Speicherbereich 920-1 und ein zweiter Speicherbereich 920-2 erzeugt werden. Die Speicherbereiche sind disjunkt. Speicherbereiche 920-1 und 920-2 speichern die Tabellen 190 bis 193 (vgl. Fig. 4) des Datenbanksystems 900.
- Im Schritt 440 wird der erste Speicherbereich 920-1 dem ersten Anwendungssystem 901 zugeordnet und der zweite Speicherbereich 920-2 dem zweiten Anwendungssystem 902. Bevorzugter Weise können die Zuordnungen von Speicherbereichen zu Anwendungssystemen in der folgenden Art und Weise implementiert werden:
Mindestens ein vordefiniertes, einzigartiges Profil 110, 110 des Datenbanksystems 900 wird dem jeweiligen Speicherbereich 920-1, 920-2 zugeordnet. Die Zuordnungen können in einer "Speicherbereich-zu-Profil-Zuordnung" als Datenbankmatrix abgelegt werden, wie in Matrix 1 (vgl. Fig. 6) verdeutlicht. Matrix 1 Speicherbereich-zu-Profil-Zuordnung
- Mindestens eines der vordefinierten Profile 110, 111 eines jeden Speicherbereichs 920-1, 920-2 wird dem entsprechenden Anwendungssystem 901, 902 zugeordnet. Diese Zuordnungen können in einer "Profil-zu- Anwendungssystem-Zuordnung" als Datenbankmatrix abgelegt werden, wie in Matrix 2 (vgl. Fig. 6) verdeutlicht. Matrix 2 Profil-zu-Anwendungssystem-Zuordnung
- In Schritt 450 greifen das erste und zweite Anwendungssystem (901, 902) auf den jeweils ersten und zweiten Speicherbereich (920-1, 920-2) zu. Bevorzugter Weise greifen die Applikationssysteme 901, 902 auf das Datenbanksystem 900 über mindestens eines der ihnen zugeordneten Profile 110, 111 zu. Der Zugriff eines Anwendungssystems auf ein Datenbanksystem löst bevorzugter Weise eine der folgenden Datenbankoperationen aus: Lesen, Schreiben, Kopieren, Ändern, Einfügen, Anhängen oder Löschen von Tabelleneinträgen innerhalb des Speicherbereichs, der dem Anwendungssystem zugeordnet ist. Ein Fachmann kann die Profile 110 und 111 sowie die Zuordnungsmatrizen 1 und 2 implementieren, indem er Datenbankpuffer benutzt, so dass die logische Zuordnung eines jeden Anwendungssystems zu dem entsprechenden Speicherbereich gültig bleibt, während System 999 läuft. Deshalb muss die Zuordnung nicht bei jedem Zugriff eines Anwendungssystems auf das Datenbanksystem aufs Neue erzeugt werden.
- Fig. 6 zeigt ein vereinfachtes Blockdiagramm der Anwendungssysteme 901 und 902 und des Datenbanksystems 900 mit den Zuordnungsmatrizen 180, 181 und 182. Die Matrizen 180, 181 und 182 speichern die Zuordnungen, welche zuvor in Verbindung mit den Matrizen 1 und 2 erläutert wurden. Idealer Weise speichert Matrix 180 die Speicherbereich-zu-Profil-Zuordnung (vgl. Matrix 1); Matrix 181 speichert die Profil-zu-Anwendungssystem- Zuordnung für System 901 (vgl. Matrix 2); und Matrix 182 speichert die Profil-zu-Anwendungssystem-Zuordnung für System 902 (vgl. Matrix 2).
- Der Speicherort der Matrizen 180 bis 182 ist nicht wesentlich für die vorliegende Erfindung. Idealerweise können die Matrizen 180 bis 182 gespeichert sein, wie in Fig. 6 verdeutlicht. Matrix 180 ist im Speicher 920 des Systems 900 abgelegt; Matrix 181 im Speicher 921 des Systems 901 und Matrix 182 im Speicher 922 des Systems 902. Ein Fachmann kann unter der Voraussetzung, dass die Matrizen die zuvor erläuterte Funktionalität bieten, diese auch anderweitig abspeichern. Bevorzugter Weise sind die Matrizen 181 bis 183 Teil des jeweiligen Computerprogrammprodukts 100/101/102.
- Fig. 7 illustriert ein spezifisches, bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung, wobei Anwendungssysteme 904 bis 909 der SAP Produktfamilie und ein Datenbanksystem 903, wie zum Beispiel eine Oracle 8i Datenbank, zum Einsatz kommen. Zwei R/3 ERP Systeme 904/905, ein CRM System 906, ein SCM System 907, ein Workplace (WP) System 908 und ein Knowledge Warehouse (KW) System 909 sind über das Netzwerk 995 mit dem Datenbanksystem 903 verbunden. Speicher 923 des Datenbanksystems 903 ist in 6 disjunkte Speicherbereiche 923-1 bis 923-6 unterteilt. Profile P1 bis P6 sind den Speicherbereichen 923-1 bis 923-6 gemäß der Matrix 3 zugeordnet. Matrix 3 Profil-zu-Speicherbereich-Zuordnung
- Jedes Profil ist in Matrix 4 einem entsprechenden Anwendungssystem zugeordnet. Matrix 4 Profil-zu-Anwendungssystem-Zuordnung
- Die Zuordnungen sind als gestrichelte Linien dargestellt. Jedes Anwendungssystem 904 bis 909 kann gemäß der Zuordnungen, die in den Matrizen 3 und 4 definiert sind, über die zugeordneten Profile nur auf die Daten des jeweilig zugeordneten Speicherbereichs des Datenbanksystems 903 zugreifen. Dies garantiert die Datenintegrität für jedes Anwendungssystem, obwohl alle Anwendungssysteme 904-909 das selbe Datenbanksystem nutzen. Es ist möglich, für ein beliebiges Anwendungssystem ein Upgrade einzuspielen, währen die anderen Anwendungssysteme weiterlaufen. Ein konsistenter Backup aller Anwendungsdaten des Datenbanksystems 903 kann sowohl online als auch offline durchgeführt werden. Der Online-Backup schreibt jede Änderung der Anwendungsdaten in ein Datenbankbackup-System (nicht gezeigt), sobald eine Änderung der Daten erfolgt. Eine vollständige konsistente Wiederherstellung dieses Ein- Datenbank-Systems ist damit im Fall eines totalen oder teilweisen Systemzusammenbruchs gewährleistet.
- Nachdem die vorliegende Erfindung als Verfahren und System beschrieben wurde, soll die Erfindung im folgenden noch als Datenstruktur (Zuordnungsschema), Computerprogrammprodukt und computerlesbares Medium beschrieben werden.
- Eine Datenstruktur, die die Zuordnung mehrerer Anwendungssysteme (900, 901, 902) zu einem Datenbanksystem 990 beschreibt, soll im folgenden Zuordnungsstruktur (180-182) genannt werden. Ein erstes Anwendungssystem 901 stellt einer ersten Mehrheit von Anwendungsbenutzern 801 Anwendungsservices zur Verfügung. Mindestens ein zweites Anwendungssystem 902 stellt einer zweiten Mehrheit von Anwendungsbenutzern 802 Anwendungsservices zur Verfügung. Das Zuordnungsschema ist gekennzeichnet durch eine erste Zuordnung 180 des Datenbanksystems 900, mittels derer einem ersten Profil 110 und mindestens einem zweiten Profil 111 Datenbankservices zur Verfügung gestellt werden. Das Zuordnungsschema ist weiterhin gekennzeichnet durch die Zuordnungen 181 und 182. In der Zuordnung 181 wird das erste Anwendungssystem 901 dem ersten Profil 110 zugeordnet und in der Zuordnung 182 wird das zweite Anwendungssystem dem zweiten Profil 111 zugeordnet. Das erste und das zweite Profil sind jeweils den disjunkten Speicherbereichen 920-1, 920-2 im Speicher 920 des Datenbanksystem 900 zugeordnet.
- Computerprogrammprodukt (100/101/102) gemäß der vorliegenden Erfindung veranlasst eine Mehrheit an Prozessoren (910-912) ein Anwendungssystem-zu- Datenbanksystem-Zuordnungsschema (180-182) bereit zu stellen.
- Ein erster Programmteil 100 veranlasst Prozessor 910 des Datenbanksystems 900, den Speicher 920 des Datenbanksystems 900 disjunkt in einen ersten Speicherbereich 920-1 und mindestens einen zweiten Speicherbereich 920-2 aufzuteilen. Der erste Programmteil 100 stellt ebenfalls ein erstes Datenbankprofil 110 und mindestens ein zweites Datenbankprofil 111 zur Verfügung, wobei jedes Profil als Datenbankbenutzer betrachtet werden kann. Das erste und das zweite Profil 110, 111werden jeweils dem ersten und zweiten Speicherbereich 920-1, 920-2 zugeordnet.
- Ein zweiter Programmteil 101 veranlasst Prozessor 911 eines ersten Anwendungssystems 901 mindestens einen ersten Anwendungsservice für eine erste Mehrheit von Anwendungsbenutzern 801 bereit zu stellen und mindestens das erste Datenbankprofil 110 zu benutzen, um Daten vom ersten Anwendungssystem 901 zum Datenbanksystem 900 zu kommunizieren.
- Mindestens ein dritter Programmteil 102 veranlasst Prozessor 912 eines zweiten Anwendungssystems 902 einer zweiten Mehrheit von Anwendungsbenutzern 802 mindestens einen zweiten Anwendungsservice zur Verfügung zu stellen und benutzt mindestens das zweite Datenbankprofil 111, um Daten vom zweiten Anwendungssystem 902 zum Datenbanksystem 900 zu kommunizieren.
- Ein weiteres Computerprogrammprodukt (101/102) gemäß der vorliegenden Erfindung veranlasst einen Prozessor 911/912 in einem Computer eines Anwendungssystems 901/902 (welches mindestens einen Applikationsservice ausführt) mit Datenbankcomputer 900 zu kommunizieren. Dabei veranlasst das Computerprogrammprodukt (101/102) den Prozessor 911/912 mit dem Datenbankcomputer mittels eines einzigartigen Profils 110/111 zu kommunizieren, wobei das Profil zu dem jeweiligen Anwendungssystem 901/902 zugeordnet 180-183 ist. Der Speicher 920 des Datenbankcomputers 900 ist logisch aufgeteilt in einen ersten Speicherbereich 920-1 und mindestens einen zweiten Speicherbereicht 920-2. Die Speicherbereiche sind disjunkt, wobei der erste Speicherbereich 920-1 für Daten des Applikationssystems (z. B. 901) reserviert ist und der zweite Speicherbereich 920-2 für Daten von mindestens einem weiteren Anwendungssystem, welches auf einem weiteren Computer läuft.
- Das Computerprogrammprodukt der vorliegenden Erfindung kann auf einem computerlesbaren Medium gespeichert werden, das eine Mehrheit an Sequenzen oder Instruktionen gespeichert hat. Wenn diese Instruktionen von einem oder mehreren Prozessoren ausgeführt werden, durchläuft der Prozessor die folgenden Schritte:
Veranlassen einer disjunkten Aufteilung eines Speichers 920 eines Datenbanksystems 900 in einen ersten Speicherbereich 920-1 und mindestens einen zweiten Speicherbereich 920-2 durch einen Prozessor 910 des Datenbanksystems und Bereitstellen eines ersten Datenbankprofils 110 und mindestens eines zweiten Datenbankprofils 111, wobei das erste und zweite Profil 110, 111 dem ersten und zweiten Speicherbereich 920-1, 920-2 entsprechend zugeordnet sind. - Veranlassen des Bereitstellens von mindestens einem ersten Anwendungsservice für eine erste Mehrheit von Anwendungsnutzern 801 durch einen Prozessor 911 des ersten Applikationssystems 901 und mindestens das erste Datenbankprofil 110 zu benutzen, um Daten vom ersten Anwendungssystem 901 zum Datenbanksystem 900 zu kommunizieren.
- Veranlassen der Bereitstellung von mindestens einem zweiten Anwendungsservice für eine zweite Mehrheit von Anwendungsbenutzern 802 durch einen Prozessor 912 eines zweiten Anwendungssystems 902 und mindestens das zweite Datenbankprofil 111 zu benutzen, um Daten vom zweiten Anwendungssystem 902 zum Datenbanksystem 900 zu kommunizieren.
Claims (18)
1. Computersystem (999), welches mindestens ein erstes
Anwendungssystem (901) und ein zweites
Anwendungssystem (902) und ein Datenbanksystem (900)
umfasst, wobei jedes Anwendungssystem mindestens
einen Anwendungsservice für mindestens einen
Anwendungsbenutzer ausführt; das Computersystem (999)
dadurch gekennzeichnet, dass:
das Datenbanksystem (900) einen ersten Speicherbereich (920-1) und mindestens einen zweiten Speicherbereich (920-2) hat, wobei die Speicherbereiche disjunkt sind;
das Datenbanksystem (900) mindestens eine erste Zuordnung eines ersten vorbestimmten Profils (110) zum ersten Speicherbereich (920-1) und mindestens eine zweite Zuordnung eines zweiten vorbestimmten Profils (111)zum zweiten Speicherbereich (920-1) hat, wobei das erste und zweite Profil (110, 111) einzigartig sind und sich entsprechend auf das erste und zweite Anwendungssystem (901, 902) beziehen;
das erste Anwendungssystem (901) und das zweite Anwendungssystem (902) jeweils entsprechend auf den ersten Speicherbereich (920-1) und den zweiten Speicherbereich (920-2) mittels der entsprechenden Profile (110, 111) zugreifen.
das Datenbanksystem (900) einen ersten Speicherbereich (920-1) und mindestens einen zweiten Speicherbereich (920-2) hat, wobei die Speicherbereiche disjunkt sind;
das Datenbanksystem (900) mindestens eine erste Zuordnung eines ersten vorbestimmten Profils (110) zum ersten Speicherbereich (920-1) und mindestens eine zweite Zuordnung eines zweiten vorbestimmten Profils (111)zum zweiten Speicherbereich (920-1) hat, wobei das erste und zweite Profil (110, 111) einzigartig sind und sich entsprechend auf das erste und zweite Anwendungssystem (901, 902) beziehen;
das erste Anwendungssystem (901) und das zweite Anwendungssystem (902) jeweils entsprechend auf den ersten Speicherbereich (920-1) und den zweiten Speicherbereich (920-2) mittels der entsprechenden Profile (110, 111) zugreifen.
2. Das Computersystem (999) von Anspruch 1, wobei die
Speicherbereiche (920-1, 920-2) Tabellen (190-193)
des Datenbanksystems (900) speichern.
3. Das Computersystem (999) von Anspruch 1, wobei das
Datenbanksystem (900) ein paralleles Serversystem
ist.
4. Das Computersystem (999) von Anspruch 1, wobei das
Datenbanksystem (900) ein relationales
Datenbanksystem ist.
5. Das Computersystem (999) von Anspruch 1, wobei das
Datenbanksystem (900) Shared-Memory-Prozessoren
benutzt.
6. Das Computersystem (999) von Anspruch 5, wobei das
Datenbanksystem (900) ein Betriebssystem benutzt,
welches logische Gruppen von Prozessoren erzeugt.
7. Das Computersystem (999) von Anspruch 6, wobei jede
logische Gruppe von Prozessoren einem
Anwendungssystem zugeordnet ist.
8. Ein Verfahren (400) zur Kommunikation mit einem
Datenbanksystem (900), wobei das Verfahren (400) die
folgenden Schritte umfasst:
bereitstellen (410) von einem ersten Anwendungssystem (901) und mindestens einem zweiten Anwendungssystem (902), wobei jedes Anwendungssystem mindestens einen Anwendungsservice für eine Mehrheit von Benutzern (801, 802) des Anwendungssystems ausführt (901, 902);
verbinden (420) des Datenbanksystems (900) mit dem ersten Anwendungssystem (901) und mindestens dem zweiten Anwendungssystem (902);
einteilen (430) eines Speichers (920) des Datenbanksystems (900) in einen ersten Speicherbereich (920-1) und mindestens einen zweiten Speicherbereich (920-2), wobei die Speicherbereiche (920-1, 920-2) disjunkt sind;
zuordnen (440) des ersten und zweiten Speicherbereichs (920-1, 920-2) zu dem entsprechenden ersten und zweiten Anwendungssystem; und
zugreifen (450) des ersten und zweiten Anwendungssystems (920-1, 920-2) auf den entsprechenden ersten und zweiten Speicherbereich (920-1, 920-2).
bereitstellen (410) von einem ersten Anwendungssystem (901) und mindestens einem zweiten Anwendungssystem (902), wobei jedes Anwendungssystem mindestens einen Anwendungsservice für eine Mehrheit von Benutzern (801, 802) des Anwendungssystems ausführt (901, 902);
verbinden (420) des Datenbanksystems (900) mit dem ersten Anwendungssystem (901) und mindestens dem zweiten Anwendungssystem (902);
einteilen (430) eines Speichers (920) des Datenbanksystems (900) in einen ersten Speicherbereich (920-1) und mindestens einen zweiten Speicherbereich (920-2), wobei die Speicherbereiche (920-1, 920-2) disjunkt sind;
zuordnen (440) des ersten und zweiten Speicherbereichs (920-1, 920-2) zu dem entsprechenden ersten und zweiten Anwendungssystem; und
zugreifen (450) des ersten und zweiten Anwendungssystems (920-1, 920-2) auf den entsprechenden ersten und zweiten Speicherbereich (920-1, 920-2).
9. Das Verfahren von Anspruch 8, wobei die
Speicherbereiche (920-1, 920-2) im Einteilen Schritt
(430) Tabellen (190-193) des Datenbanksystems (900)
speichern.
10. Das Verfahren von Anspruch 8, wobei im Zuordnen
Schritt (440) jedem Speicherbereich (920-1, 920-2)
mindestens ein vorbestimmtes, einzigartiges
Datenbankprofil (110, 111) zugeordnet wird.
11. Das Verfahren von Anspruch 10, wobei im Zuordnen
Schritt (440) jedes vorbestimmte Datenbankprofil
(110, 111) einem Anwendungssystem (901, 902)
zugeordnet wird.
12. Das Verfahren von Anspruch 11, wobei im Zugreifen
Schritt (450) jedes Anwendungssystem (901, 902)
mittels mindestens eines vorbestimmten, ihm
zugeordneten Profils auf das Datenbanksystem (900)
zugreift.
13. Das Verfahren von Anspruch 8, wobei im Zugreifen
Schritt (450) der Zugriff als eine der folgenden
Datenbankoperationen erfolgt: lesen, schreiben,
kopieren, ändern, einfügen, anhängen oder löschen.
14. Anwendungssystem-zu-Datenbanksystem-Zuordnungsschema
(180-182), welches in einer Systemlandschaft (900,
901, 902, 990) benutzt wird, in der ein erstes
Anwendungssystem (901) einer ersten Mehrheit von
Anwendungsbenutzern (801) Anwendungsservices zur
Verfügung stellt und mindestens ein zweites
Anwendungssystem (902) einer zweiten Mehrheit von
Anwendungsbenutzern (802) Anwendungsservices zur
Verfügung stellt; das Zuordnungsschema (180-182)
gekennzeichnet durch
eine erste Zuordnung (180) eines Datenbanksystems (900) zu einem ersten Profil (110) und mindestens einem zweiten Profil (111), wobei das Datenbanksystem (900) Datenbankservices für das erste und das zweite Profil (110, 111) bereitstellt;
weitere Zuordnungen (181, 182), wobei das erste Anwendungssystem (901) dem ersten Profil (110) und das zweite Anwendungssystem dem zweiten Profil (111) zugeordnet wird.
eine erste Zuordnung (180) eines Datenbanksystems (900) zu einem ersten Profil (110) und mindestens einem zweiten Profil (111), wobei das Datenbanksystem (900) Datenbankservices für das erste und das zweite Profil (110, 111) bereitstellt;
weitere Zuordnungen (181, 182), wobei das erste Anwendungssystem (901) dem ersten Profil (110) und das zweite Anwendungssystem dem zweiten Profil (111) zugeordnet wird.
15. Das Zuordnungsschema von Anspruch 14, wobei das erste
und das zweite Profil (110, 111) entsprechenden
disjunkten Speicherbereichen (920-1, 920-2) eines
Speichers (920) des Datenbanksystems (900) zugeordnet
sind.
16. Ein Computerprogrammprodukt (100/101/102), das eine
Mehrheit von Prozessoren (910, 911, 912) dazu
veranlasst, ein Anwendungssystem-zu-Datenbanksystem-
Zuordnungsschema (180-182) bereitzustellen, wobei das
Computerprogrammprodukt (100/101/102) gekennzeichnet
ist durch
einen ersten Programmteil (100), der einen Prozessor (910) eines Datenbanksystems (900) dazu veranlasst, dass ein Speicher (920) des Datenbanksystems (900) disjunkt in einen ersten Speicherbereich (920-1) und mindestens einen zweiten Speicherbereich (920-2) unterteilt wird und ein erstes Datenbankprofil (110) und mindestens ein zweites Datenbankprofil (111) bereitgestellt werden, wobei das erste und das zweite Datenbankprofil (110, 111) entsprechend dem ersten und zweiten Speicherbereich (920-1, 920-2) zugeordnet sind;
einen zweiten Programmteil (101), der einen Prozessor (911) eines ersten Anwendungssystems (901) dazu veranlasst, mindestens einen ersten Anwendungsservice für eine erste Mehrheit (801) von Anwendungsbenutzern bereitzustellen und mindestens das erste Dantebankprofil (110) zu benutzen, um Daten vom ersten Anwendungssystem (901) zum Datenbanksystem (900) zu kommunizieren; und
mindestens einen dritten Programmteil (102), der einen Prozessor (912) eines zweiten Anwendungssystems (902) dazu veranlasst, mindestens einen zweiten Anwendungsservice für eine zweite Mehrheit (802) von Anwendungsbenutzern bereitzustellen und mindestens das zweite Dantebankprofil (111) zu benutzen, um Daten vom zweiten Anwendungssystem (902) zum Datenbanksystem (900) zu kommunizieren.
einen ersten Programmteil (100), der einen Prozessor (910) eines Datenbanksystems (900) dazu veranlasst, dass ein Speicher (920) des Datenbanksystems (900) disjunkt in einen ersten Speicherbereich (920-1) und mindestens einen zweiten Speicherbereich (920-2) unterteilt wird und ein erstes Datenbankprofil (110) und mindestens ein zweites Datenbankprofil (111) bereitgestellt werden, wobei das erste und das zweite Datenbankprofil (110, 111) entsprechend dem ersten und zweiten Speicherbereich (920-1, 920-2) zugeordnet sind;
einen zweiten Programmteil (101), der einen Prozessor (911) eines ersten Anwendungssystems (901) dazu veranlasst, mindestens einen ersten Anwendungsservice für eine erste Mehrheit (801) von Anwendungsbenutzern bereitzustellen und mindestens das erste Dantebankprofil (110) zu benutzen, um Daten vom ersten Anwendungssystem (901) zum Datenbanksystem (900) zu kommunizieren; und
mindestens einen dritten Programmteil (102), der einen Prozessor (912) eines zweiten Anwendungssystems (902) dazu veranlasst, mindestens einen zweiten Anwendungsservice für eine zweite Mehrheit (802) von Anwendungsbenutzern bereitzustellen und mindestens das zweite Dantebankprofil (111) zu benutzen, um Daten vom zweiten Anwendungssystem (902) zum Datenbanksystem (900) zu kommunizieren.
17. Computerprogrammprodukt (101/102), das einen
Prozessor (911/912) in einem Computer eines
Anwendungssystems (901/902), welches mindestens einen
Anwendungsservice ausführt, dazu veranlasst, mit
einem Datenbankcomputer (900) zu kommunizieren, wobei
das Computerprogrammprodukt (101/102) dadurch
gekennzeichnet ist,
dass es den Prozessor (911/912) veranlasst, mit dem
Datenbankcomputer mittels eines einzigartigen,
dem Anwendungssystem zugeordneten (180-183)
Profils (110/111) zu kommunizieren, wobei der
Datenbankcomputer (900) einen Speicher (920) hat,
der logisch in einen ersten Speicherbereich
(920-1) und mindestens einen zweiten, disjunkten
Speicherbereich (920-2) unterteilt ist, so dass
der erste Speicherbereich (920-1) für Daten eines
Anwendungssystems (901) reserviert ist und der
zweite Speicherbereich (920-2) für Daten eines
weiteren Anwendungssystems (902).
18. Ein computerlesbares Medium (970), welches eine
Mehrzahl an Befehlssequenzen gespeichert hat, die,
wenn von einem oder mehreren Prozessoren verarbeitet,
die folgenden Schritte ausführen:
veranlassen, dass ein Prozessor (910) eines Datenbanksystems (900) einen Speicher (920) des Datenbanksystems (900) in einen ersten Speicherbereich (920-1) und mindestens einen zweiten, disjunkten Speicherbereich (920-2) teilt und ein erstes und mindestens ein zweites Datenbankprofil (110, 111) bereitstellt, wobei das jeweils erste und zweite Datenbankprofil (110, 111) entsprechend dem ersten und zweiten Speicherbereich (920-1, 920-2) zugeordnet sind;
veranlassen, dass ein Prozessor (911) eines ersten Anwendungssystems (901) einer ersten Mehrheit von Anwendungsbenutzern mindestens einen ersten Anwendungsservice zur Verfügung stellt und mindestens das erste Datenbankprofil (110) benutzt, um Daten vom ersten Anwendungssystem (901) zum Datenbanksystem (900) zu kommunizieren; und
veranlassen, dass ein Prozessor (912) eines zweiten Anwendungssystems (902) einer zweiten Mehrheit von Anwendungsbenutzern mindestens einen zweiten Anwendungsservice zur Verfügung stellt und mindestens das zweite Datenbankprofil (111) benutzt, um Daten vom zweiten Anwendungssystem (902) zum Datenbanksystem (900) zu kommunizieren.
veranlassen, dass ein Prozessor (910) eines Datenbanksystems (900) einen Speicher (920) des Datenbanksystems (900) in einen ersten Speicherbereich (920-1) und mindestens einen zweiten, disjunkten Speicherbereich (920-2) teilt und ein erstes und mindestens ein zweites Datenbankprofil (110, 111) bereitstellt, wobei das jeweils erste und zweite Datenbankprofil (110, 111) entsprechend dem ersten und zweiten Speicherbereich (920-1, 920-2) zugeordnet sind;
veranlassen, dass ein Prozessor (911) eines ersten Anwendungssystems (901) einer ersten Mehrheit von Anwendungsbenutzern mindestens einen ersten Anwendungsservice zur Verfügung stellt und mindestens das erste Datenbankprofil (110) benutzt, um Daten vom ersten Anwendungssystem (901) zum Datenbanksystem (900) zu kommunizieren; und
veranlassen, dass ein Prozessor (912) eines zweiten Anwendungssystems (902) einer zweiten Mehrheit von Anwendungsbenutzern mindestens einen zweiten Anwendungsservice zur Verfügung stellt und mindestens das zweite Datenbankprofil (111) benutzt, um Daten vom zweiten Anwendungssystem (902) zum Datenbanksystem (900) zu kommunizieren.
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10113577A DE10113577A1 (de) | 2001-03-20 | 2001-03-20 | Verfahren, Computerprogrammprodukt und Computersystem zur Unterstützung mehrerer Anwendungssysteme mittels eines einzelnen Datenbank-Systems |
EP01126777A EP1244028B1 (de) | 2001-03-20 | 2001-11-09 | Verfahren, Rechnerprogrammprodukt und Rechnersystem, um einem einzigen Datenbanksystem zu ermöglichen, mehrere Anwendungssysteme zu unterstützen |
CA2363359A CA2363359C (en) | 2001-03-20 | 2001-11-20 | Method, computer program product and computer system for a single database system to support multiple application systems |
US09/989,070 US7392236B2 (en) | 2001-03-20 | 2001-11-21 | Method, computer program product and computer system for a single database system to support multiple application systems |
AU10028/02A AU765236B2 (en) | 2001-03-20 | 2002-01-03 | Method, computer program product and computer system for a single database system to support multiple application systems |
JP2002078017A JP3999542B2 (ja) | 2001-03-20 | 2002-03-20 | 複数のアプリケーションシステムをサポートするための単一データベースシステム向けの方法、コンピュータプログラムプロダクト及びコンピュータシステム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE10113577A DE10113577A1 (de) | 2001-03-20 | 2001-03-20 | Verfahren, Computerprogrammprodukt und Computersystem zur Unterstützung mehrerer Anwendungssysteme mittels eines einzelnen Datenbank-Systems |
Publications (1)
Publication Number | Publication Date |
---|---|
DE10113577A1 true DE10113577A1 (de) | 2003-01-09 |
Family
ID=7678266
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE10113577A Ceased DE10113577A1 (de) | 2001-03-20 | 2001-03-20 | Verfahren, Computerprogrammprodukt und Computersystem zur Unterstützung mehrerer Anwendungssysteme mittels eines einzelnen Datenbank-Systems |
Country Status (6)
Country | Link |
---|---|
US (1) | US7392236B2 (de) |
EP (1) | EP1244028B1 (de) |
JP (1) | JP3999542B2 (de) |
AU (1) | AU765236B2 (de) |
CA (1) | CA2363359C (de) |
DE (1) | DE10113577A1 (de) |
Families Citing this family (135)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1244008A1 (de) * | 2001-03-20 | 2002-09-25 | Sap Ag | Verfahren, Rechnerprogramm und Rechner zum automatischen Auswählen von Anwendungsdiensten um Daten vom Server zum Client zu übertragen abhängig von der Client-Einrichtung |
US7921023B2 (en) * | 2001-12-28 | 2011-04-05 | Sap Aktiengesellschaft | Portal for implementation of multiple software components |
US20030126159A1 (en) * | 2001-12-28 | 2003-07-03 | Nwafor John I. | Method and system for rollback of software system upgrade |
US20040167871A1 (en) * | 2003-02-20 | 2004-08-26 | Bea Systems, Inc. | Content mining for virtual content repositories |
US7293286B2 (en) | 2003-02-20 | 2007-11-06 | Bea Systems, Inc. | Federated management of content repositories |
US7840614B2 (en) | 2003-02-20 | 2010-11-23 | Bea Systems, Inc. | Virtual content repository application program interface |
US7562298B2 (en) | 2003-02-20 | 2009-07-14 | Bea Systems, Inc. | Virtual content repository browser |
US20050182796A1 (en) * | 2004-02-12 | 2005-08-18 | International Business Machines Corporation | Method and system for protecting data associated with a replaced image file during a re-provisioning event |
US7580953B2 (en) | 2004-04-13 | 2009-08-25 | Bea Systems, Inc. | System and method for schema lifecycles in a virtual content repository that integrates a plurality of content repositories |
US20050251503A1 (en) * | 2004-04-13 | 2005-11-10 | Bea Systems, Inc. | System and method for content and schema versioning |
US7475091B2 (en) | 2004-04-13 | 2009-01-06 | Bea Systems, Inc. | System and method for viewing a virtual content repository |
US20060041558A1 (en) * | 2004-04-13 | 2006-02-23 | Mccauley Rodney | System and method for content versioning |
EP1632872A1 (de) * | 2004-08-31 | 2006-03-08 | 2012244 Ontario Inc. | System und Verfahren zur Verwaltung von Datenbanken in einem tragbaren Gerät |
US7580915B2 (en) | 2004-12-14 | 2009-08-25 | Sap Ag | Socket-like communication API for C |
US7593930B2 (en) * | 2004-12-14 | 2009-09-22 | Sap Ag | Fast channel architecture |
US7600217B2 (en) | 2004-12-14 | 2009-10-06 | Sap Ag | Socket-like communication API for Java |
US7672949B2 (en) | 2004-12-28 | 2010-03-02 | Sap Ag | Connection manager having a common dispatcher for heterogeneous software suites |
US7539821B2 (en) | 2004-12-28 | 2009-05-26 | Sap Ag | First in first out eviction implementation |
US8370448B2 (en) * | 2004-12-28 | 2013-02-05 | Sap Ag | API for worker node retrieval of session request |
US7552153B2 (en) * | 2004-12-28 | 2009-06-23 | Sap Ag | Virtual machine monitoring using shared memory |
US7694065B2 (en) | 2004-12-28 | 2010-04-06 | Sap Ag | Distributed cache architecture |
US8204931B2 (en) | 2004-12-28 | 2012-06-19 | Sap Ag | Session management within a multi-tiered enterprise network |
US7971001B2 (en) | 2004-12-28 | 2011-06-28 | Sap Ag | Least recently used eviction implementation |
US7500133B2 (en) * | 2004-12-28 | 2009-03-03 | Sap Ag | Connection manager for handling message oriented protocol-based requests |
US20060143256A1 (en) | 2004-12-28 | 2006-06-29 | Galin Galchev | Cache region concept |
US7523196B2 (en) * | 2004-12-28 | 2009-04-21 | Sap Ag | Session monitoring using shared memory |
US7591006B2 (en) * | 2004-12-29 | 2009-09-15 | Sap Ag | Security for external system management |
US7890507B2 (en) * | 2005-02-25 | 2011-02-15 | International Business Machines Corporation | System and method of joining data obtained from horizontally and vertically partitioned heterogeneous data stores using string-based location transparent search expressions |
US20060195427A1 (en) * | 2005-02-25 | 2006-08-31 | International Business Machines Corporation | System and method for improving query response time in a relational database (RDB) system by managing the number of unique table aliases defined within an RDB-specific search expression |
US7505985B2 (en) * | 2005-02-25 | 2009-03-17 | International Business Machines Corporation | System and method of generating string-based search expressions using templates |
US8589562B2 (en) | 2005-04-29 | 2013-11-19 | Sap Ag | Flexible failover configuration |
US10467593B2 (en) * | 2005-04-29 | 2019-11-05 | Oracle America, Inc. | Providing contextual collaboration within enterprise applications |
US7689660B2 (en) * | 2005-06-09 | 2010-03-30 | Sap Ag | Application server architecture |
US7966412B2 (en) | 2005-07-19 | 2011-06-21 | Sap Ag | System and method for a pluggable protocol handler |
US7945677B2 (en) * | 2005-09-06 | 2011-05-17 | Sap Ag | Connection manager capable of supporting both distributed computing sessions and non distributed computing sessions |
US20070094306A1 (en) * | 2005-10-26 | 2007-04-26 | Kyriazakos Nikolaos G | Method and model for enterprise system development and execution |
US8707323B2 (en) | 2005-12-30 | 2014-04-22 | Sap Ag | Load balancing algorithm for servicing client requests |
US20070156907A1 (en) | 2005-12-30 | 2007-07-05 | Galin Galchev | Session handling based on shared session information |
US8028090B2 (en) | 2008-11-17 | 2011-09-27 | Amazon Technologies, Inc. | Request routing utilizing client location information |
US7991910B2 (en) | 2008-11-17 | 2011-08-02 | Amazon Technologies, Inc. | Updating routing information based on client location |
US7970820B1 (en) | 2008-03-31 | 2011-06-28 | Amazon Technologies, Inc. | Locality based content distribution |
US8156243B2 (en) | 2008-03-31 | 2012-04-10 | Amazon Technologies, Inc. | Request routing |
US8447831B1 (en) | 2008-03-31 | 2013-05-21 | Amazon Technologies, Inc. | Incentive driven content delivery |
US8321568B2 (en) | 2008-03-31 | 2012-11-27 | Amazon Technologies, Inc. | Content management |
US8601090B1 (en) | 2008-03-31 | 2013-12-03 | Amazon Technologies, Inc. | Network resource identification |
US8606996B2 (en) | 2008-03-31 | 2013-12-10 | Amazon Technologies, Inc. | Cache optimization |
US8533293B1 (en) | 2008-03-31 | 2013-09-10 | Amazon Technologies, Inc. | Client side cache management |
US7962597B2 (en) | 2008-03-31 | 2011-06-14 | Amazon Technologies, Inc. | Request routing based on class |
US7925782B2 (en) | 2008-06-30 | 2011-04-12 | Amazon Technologies, Inc. | Request routing using network computing components |
US9912740B2 (en) | 2008-06-30 | 2018-03-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US9407681B1 (en) | 2010-09-28 | 2016-08-02 | Amazon Technologies, Inc. | Latency measurement in resource requests |
JP5401903B2 (ja) * | 2008-10-03 | 2014-01-29 | 富士通株式会社 | 故障情報監視装置及び故障情報監視方法 |
US8060616B1 (en) | 2008-11-17 | 2011-11-15 | Amazon Technologies, Inc. | Managing CDN registration by a storage provider |
US8732309B1 (en) | 2008-11-17 | 2014-05-20 | Amazon Technologies, Inc. | Request routing utilizing cost information |
US8122098B1 (en) | 2008-11-17 | 2012-02-21 | Amazon Technologies, Inc. | Managing content delivery network service providers by a content broker |
US8073940B1 (en) | 2008-11-17 | 2011-12-06 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US8521880B1 (en) | 2008-11-17 | 2013-08-27 | Amazon Technologies, Inc. | Managing content delivery network service providers |
US8065417B1 (en) | 2008-11-17 | 2011-11-22 | Amazon Technologies, Inc. | Service provider registration by a content broker |
US8756341B1 (en) | 2009-03-27 | 2014-06-17 | Amazon Technologies, Inc. | Request routing utilizing popularity information |
US8412823B1 (en) | 2009-03-27 | 2013-04-02 | Amazon Technologies, Inc. | Managing tracking information entries in resource cache components |
US8688837B1 (en) | 2009-03-27 | 2014-04-01 | Amazon Technologies, Inc. | Dynamically translating resource identifiers for request routing using popularity information |
US8521851B1 (en) | 2009-03-27 | 2013-08-27 | Amazon Technologies, Inc. | DNS query processing using resource identifiers specifying an application broker |
US8782236B1 (en) | 2009-06-16 | 2014-07-15 | Amazon Technologies, Inc. | Managing resources using resource expiration data |
US8397073B1 (en) | 2009-09-04 | 2013-03-12 | Amazon Technologies, Inc. | Managing secure content in a content delivery network |
US8433771B1 (en) * | 2009-10-02 | 2013-04-30 | Amazon Technologies, Inc. | Distribution network with forward resource propagation |
US9495338B1 (en) | 2010-01-28 | 2016-11-15 | Amazon Technologies, Inc. | Content distribution network |
US8819283B2 (en) | 2010-09-28 | 2014-08-26 | Amazon Technologies, Inc. | Request routing in a networked environment |
US8577992B1 (en) | 2010-09-28 | 2013-11-05 | Amazon Technologies, Inc. | Request routing management based on network components |
US8924528B1 (en) | 2010-09-28 | 2014-12-30 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US10958501B1 (en) | 2010-09-28 | 2021-03-23 | Amazon Technologies, Inc. | Request routing information based on client IP groupings |
US10097398B1 (en) | 2010-09-28 | 2018-10-09 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8930513B1 (en) | 2010-09-28 | 2015-01-06 | Amazon Technologies, Inc. | Latency measurement in resource requests |
US9712484B1 (en) | 2010-09-28 | 2017-07-18 | Amazon Technologies, Inc. | Managing request routing information utilizing client identifiers |
US8938526B1 (en) | 2010-09-28 | 2015-01-20 | Amazon Technologies, Inc. | Request routing management based on network components |
US8468247B1 (en) | 2010-09-28 | 2013-06-18 | Amazon Technologies, Inc. | Point of presence management in request routing |
US9003035B1 (en) | 2010-09-28 | 2015-04-07 | Amazon Technologies, Inc. | Point of presence management in request routing |
US8452874B2 (en) | 2010-11-22 | 2013-05-28 | Amazon Technologies, Inc. | Request routing processing |
US9391949B1 (en) | 2010-12-03 | 2016-07-12 | Amazon Technologies, Inc. | Request routing processing |
US10467042B1 (en) | 2011-04-27 | 2019-11-05 | Amazon Technologies, Inc. | Optimized deployment based upon customer locality |
CN102521209B (zh) * | 2011-12-12 | 2015-03-11 | 浪潮电子信息产业股份有限公司 | 一种并行多处理器计算机的设计方法 |
US8904009B1 (en) | 2012-02-10 | 2014-12-02 | Amazon Technologies, Inc. | Dynamic content delivery |
US10021179B1 (en) | 2012-02-21 | 2018-07-10 | Amazon Technologies, Inc. | Local resource delivery network |
US8762408B2 (en) | 2012-03-07 | 2014-06-24 | Sap Ag | Optimizing software applications |
US10623408B1 (en) | 2012-04-02 | 2020-04-14 | Amazon Technologies, Inc. | Context sensitive object management |
US9154551B1 (en) | 2012-06-11 | 2015-10-06 | Amazon Technologies, Inc. | Processing DNS queries to identify pre-processing information |
US9525659B1 (en) | 2012-09-04 | 2016-12-20 | Amazon Technologies, Inc. | Request routing utilizing point of presence load information |
US9323577B2 (en) | 2012-09-20 | 2016-04-26 | Amazon Technologies, Inc. | Automated profiling of resource usage |
US10205698B1 (en) | 2012-12-19 | 2019-02-12 | Amazon Technologies, Inc. | Source-dependent address resolution |
US9092292B2 (en) | 2013-05-16 | 2015-07-28 | Sap Se | Shared application binary storage |
US9294391B1 (en) | 2013-06-04 | 2016-03-22 | Amazon Technologies, Inc. | Managing network computing components utilizing request routing |
US10091096B1 (en) | 2014-12-18 | 2018-10-02 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10033627B1 (en) | 2014-12-18 | 2018-07-24 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10097448B1 (en) | 2014-12-18 | 2018-10-09 | Amazon Technologies, Inc. | Routing mode and point-of-presence selection service |
US10225326B1 (en) | 2015-03-23 | 2019-03-05 | Amazon Technologies, Inc. | Point of presence based data uploading |
US9887931B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9819567B1 (en) | 2015-03-30 | 2017-11-14 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9887932B1 (en) | 2015-03-30 | 2018-02-06 | Amazon Technologies, Inc. | Traffic surge management for points of presence |
US9832141B1 (en) | 2015-05-13 | 2017-11-28 | Amazon Technologies, Inc. | Routing based request correlation |
US10616179B1 (en) | 2015-06-25 | 2020-04-07 | Amazon Technologies, Inc. | Selective routing of domain name system (DNS) requests |
US10097566B1 (en) | 2015-07-31 | 2018-10-09 | Amazon Technologies, Inc. | Identifying targets of network attacks |
US9794281B1 (en) | 2015-09-24 | 2017-10-17 | Amazon Technologies, Inc. | Identifying sources of network attacks |
US9774619B1 (en) | 2015-09-24 | 2017-09-26 | Amazon Technologies, Inc. | Mitigating network attacks |
US9742795B1 (en) | 2015-09-24 | 2017-08-22 | Amazon Technologies, Inc. | Mitigating network attacks |
US10270878B1 (en) | 2015-11-10 | 2019-04-23 | Amazon Technologies, Inc. | Routing for origin-facing points of presence |
US10257307B1 (en) | 2015-12-11 | 2019-04-09 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10049051B1 (en) | 2015-12-11 | 2018-08-14 | Amazon Technologies, Inc. | Reserved cache space in content delivery networks |
US10348639B2 (en) | 2015-12-18 | 2019-07-09 | Amazon Technologies, Inc. | Use of virtual endpoints to improve data transmission rates |
US10075551B1 (en) | 2016-06-06 | 2018-09-11 | Amazon Technologies, Inc. | Request management for hierarchical cache |
US10110694B1 (en) | 2016-06-29 | 2018-10-23 | Amazon Technologies, Inc. | Adaptive transfer rate for retrieving content from a server |
US9992086B1 (en) | 2016-08-23 | 2018-06-05 | Amazon Technologies, Inc. | External health checking of virtual private cloud network environments |
US10033691B1 (en) | 2016-08-24 | 2018-07-24 | Amazon Technologies, Inc. | Adaptive resolution of domain name requests in virtual private cloud network environments |
US10469513B2 (en) | 2016-10-05 | 2019-11-05 | Amazon Technologies, Inc. | Encrypted network addresses |
US10372499B1 (en) | 2016-12-27 | 2019-08-06 | Amazon Technologies, Inc. | Efficient region selection system for executing request-driven code |
US10831549B1 (en) | 2016-12-27 | 2020-11-10 | Amazon Technologies, Inc. | Multi-region request-driven code execution system |
US10938884B1 (en) | 2017-01-30 | 2021-03-02 | Amazon Technologies, Inc. | Origin server cloaking using virtual private cloud network environments |
US10592509B2 (en) | 2017-03-01 | 2020-03-17 | Sap Se | Declarative rules for optimized access to data |
US10503613B1 (en) | 2017-04-21 | 2019-12-10 | Amazon Technologies, Inc. | Efficient serving of resources during server unavailability |
IT201700057287A1 (it) * | 2017-05-26 | 2018-11-26 | St Microelectronics Srl | Procedimento per gestire schede a circuito integrato, scheda ed apparecchiatura corrispondenti |
US11075987B1 (en) | 2017-06-12 | 2021-07-27 | Amazon Technologies, Inc. | Load estimating content delivery network |
US10447648B2 (en) | 2017-06-19 | 2019-10-15 | Amazon Technologies, Inc. | Assignment of a POP to a DNS resolver based on volume of communications over a link between client devices and the POP |
US10742593B1 (en) | 2017-09-25 | 2020-08-11 | Amazon Technologies, Inc. | Hybrid content request routing system |
US10452646B2 (en) | 2017-10-26 | 2019-10-22 | Sap Se | Deploying changes in a multi-tenancy database system |
US10740315B2 (en) | 2017-10-26 | 2020-08-11 | Sap Se | Transitioning between system sharing types in multi-tenancy database systems |
US10733168B2 (en) | 2017-10-26 | 2020-08-04 | Sap Se | Deploying changes to key patterns in multi-tenancy database systems |
US10713277B2 (en) | 2017-10-26 | 2020-07-14 | Sap Se | Patching content across shared and tenant containers in multi-tenancy database systems |
US10657276B2 (en) | 2017-10-26 | 2020-05-19 | Sap Se | System sharing types in multi-tenancy database systems |
US10482080B2 (en) | 2017-10-26 | 2019-11-19 | Sap Se | Exchanging shared containers and adapting tenants in multi-tenancy database systems |
US10621167B2 (en) | 2017-10-26 | 2020-04-14 | Sap Se | Data separation and write redirection in multi-tenancy database systems |
US10740318B2 (en) | 2017-10-26 | 2020-08-11 | Sap Se | Key pattern management in multi-tenancy database systems |
US10592578B1 (en) | 2018-03-07 | 2020-03-17 | Amazon Technologies, Inc. | Predictive content push-enabled content delivery network |
US10942892B2 (en) | 2018-05-18 | 2021-03-09 | Sap Se | Transport handling of foreign key checks |
US10915551B2 (en) | 2018-06-04 | 2021-02-09 | Sap Se | Change management for shared objects in multi-tenancy systems |
US10936624B2 (en) | 2018-06-12 | 2021-03-02 | Sap Se | Development and productive use of system with parallel use of production data and zero downtime of software changes |
US10862852B1 (en) | 2018-11-16 | 2020-12-08 | Amazon Technologies, Inc. | Resolution of domain name requests in heterogeneous network environments |
US11025747B1 (en) | 2018-12-12 | 2021-06-01 | Amazon Technologies, Inc. | Content request pattern-based routing system |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5638527A (en) * | 1993-07-19 | 1997-06-10 | Dell Usa, L.P. | System and method for memory mapping |
JP3687990B2 (ja) | 1994-01-25 | 2005-08-24 | 株式会社日立製作所 | メモリアクセス機構 |
US5596745A (en) * | 1994-05-16 | 1997-01-21 | International Business Machines Corporation | System and procedure for concurrent database access by multiple user applications through shared connection processes |
US5897635A (en) * | 1995-06-07 | 1999-04-27 | International Business Machines Corp. | Single access to common user/application information |
US5857208A (en) * | 1996-05-31 | 1999-01-05 | Emc Corporation | Method and apparatus for performing point in time backup operation in a computer system |
US6061793A (en) * | 1996-08-30 | 2000-05-09 | Regents Of The University Of Minnesota | Method and apparatus for embedding data, including watermarks, in human perceptible sounds |
FR2767939B1 (fr) | 1997-09-04 | 2001-11-02 | Bull Sa | Procede d'allocation de memoire dans un systeme de traitement de l'information multiprocesseur |
US6477591B1 (en) * | 1998-03-03 | 2002-11-05 | Highground Systems, Inc. | Method and apparatus for storing and copying data via a first path and a second path wherein second path bypasses mirror driver |
US6502108B1 (en) * | 1999-10-25 | 2002-12-31 | International Business Machines Corporation | Cache-failure-tolerant data storage system storing data objects with version code equipped metadata tokens |
US6598174B1 (en) * | 2000-04-26 | 2003-07-22 | Dell Products L.P. | Method and apparatus for storage unit replacement in non-redundant array |
-
2001
- 2001-03-20 DE DE10113577A patent/DE10113577A1/de not_active Ceased
- 2001-11-09 EP EP01126777A patent/EP1244028B1/de not_active Expired - Lifetime
- 2001-11-20 CA CA2363359A patent/CA2363359C/en not_active Expired - Lifetime
- 2001-11-21 US US09/989,070 patent/US7392236B2/en not_active Expired - Lifetime
-
2002
- 2002-01-03 AU AU10028/02A patent/AU765236B2/en not_active Expired
- 2002-03-20 JP JP2002078017A patent/JP3999542B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
AU1002802A (en) | 2002-09-26 |
US7392236B2 (en) | 2008-06-24 |
JP3999542B2 (ja) | 2007-10-31 |
US20020174097A1 (en) | 2002-11-21 |
EP1244028A2 (de) | 2002-09-25 |
CA2363359A1 (en) | 2002-09-20 |
AU765236B2 (en) | 2003-09-11 |
EP1244028B1 (de) | 2012-06-13 |
CA2363359C (en) | 2011-05-03 |
JP2002373092A (ja) | 2002-12-26 |
EP1244028A3 (de) | 2006-07-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE10113577A1 (de) | Verfahren, Computerprogrammprodukt und Computersystem zur Unterstützung mehrerer Anwendungssysteme mittels eines einzelnen Datenbank-Systems | |
DE69502381T2 (de) | Verfahren und vorrichtung zum steuern des zugriffs auf eine datenbank | |
DE69831777T2 (de) | Framework zur finanziellen Integration von Geschäftsapplikationen | |
DE112013001308T5 (de) | Verwalten von mandantenspezifischen Datensätzen in einer mandantenfähigen Umgebung | |
WO2002101582A1 (de) | Ändern der datenstruktur mit der in einem computersystem ein anwendungsprogramm auf datenbanksysteme zugreift | |
DE112014001361T5 (de) | Verfahren, Vorrichtung und computerlesbares Medium für effiziente Ausführung von Operationen an individuellen Datenwerten | |
DE202012013427U1 (de) | Verknüpfung von Tabellen in einem MapReduce-Verfahren | |
DE112011101508T5 (de) | Zentrale Steuerung von Datenbankanwendungen | |
WO1999067725A1 (de) | Verfahren und system zur schnellen speicherresidenten verarbeitung von transaktionsdaten | |
DE10040213A1 (de) | System und Verfahren zur dynamischen, auf dem jeweiligen Aufgabenbereich beruhenden Konfiguration von Benutzerprofilen | |
DE102013215009A1 (de) | Verfahren und System zur Optimierung der Datenübertragung | |
DE102013222384A1 (de) | Sicherheits-Screening auf Kontextgrundlage für Zugriff auf Daten | |
DE602004007925T2 (de) | Verwalten einer beziehung zwischen einem zielvolumen und einem quellenvolumen | |
EP1637955A1 (de) | Erzeugung aktualisierbarer anonymisierter Datensätze für Test- und Entwicklungszwecke | |
DE602004008742T2 (de) | Methode und system zum abbilden von xml auf eine n-dimensionale datenstruktur | |
DE112011103428T5 (de) | Automatisierte Analyse zusammengesetzter Anwendungen | |
WO2002021327A2 (de) | Verfahren und computerprogramm zur erzeugung von dateien für ein datenbanksystem für ein betriebswirtschaftliches anwendungsprogramm | |
DE102005049055A1 (de) | Verfahren, um Ereignisse in einem Systemereignisprotokoll in eine Reihenfolge zu bringen | |
DE112021000338B4 (de) | Auslagern der statistikerfassung | |
DE19534819A1 (de) | Verfahren und Vorrichtung zum Konfigurieren einer Datenbank | |
DE112021003031T5 (de) | Archivieren von nur-beschleuniger-datenbanktabellen | |
EP1637954A1 (de) | Erzeugung anonymisierter Datensätze aus produktiven Anwendungen | |
EP1637956A1 (de) | Erzeugung anonymisierter Datensätze zum Testen und Entwickeln von Anwendungen | |
DE112007002327T5 (de) | Persistente Sperren auf Ressourcen zur Steuerung der Nebenläufigkeit | |
EP1285315B1 (de) | Informationsverarbeitungssystem und verfahren zu dessen betrieb |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8110 | Request for examination paragraph 44 | ||
R002 | Refusal decision in examination/registration proceedings | ||
R003 | Refusal decision now final |
Effective date: 20130820 |