DE112012002782T5 - Verfahren und Gerät zur Anwendungskostenberechnung bei der Serviceerbringung - Google Patents

Verfahren und Gerät zur Anwendungskostenberechnung bei der Serviceerbringung Download PDF

Info

Publication number
DE112012002782T5
DE112012002782T5 DE112012002782.5T DE112012002782T DE112012002782T5 DE 112012002782 T5 DE112012002782 T5 DE 112012002782T5 DE 112012002782 T DE112012002782 T DE 112012002782T DE 112012002782 T5 DE112012002782 T5 DE 112012002782T5
Authority
DE
Germany
Prior art keywords
service
entry
providing
entries
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.)
Pending
Application number
DE112012002782.5T
Other languages
English (en)
Inventor
Tony E. Thompson
Richard W. German
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.)
Stoneware Inc
Original Assignee
Stoneware Inc
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 Stoneware Inc filed Critical Stoneware Inc
Publication of DE112012002782T5 publication Critical patent/DE112012002782T5/de
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Verschiedene Verfahren zur Anwendungskostenberechnung sind bereitgestellt, um eine Entscheidungsfindung bei einer Serviceerbringung bereitzustellen. Ein beispielhaftes Verfahren kann das Bereitstellen einer Übertragung einer Anfrage für einen Service umfassen. Das Verfahren kann weiterhin das Empfangen einer Mitteilung umfassen, die eine geordnete Liste von Einträgen zur Bereitstellung des Service aufweist. Jeder Eintrag kann Voraussetzungen aufweisen. Das Verfahren kann des Weiteren ein iteratives Evaluieren der Einträge in der Reihenfolge umfassen, die durch die geordnete Liste spezifiziert ist. Das Evaluieren eines jeweiligen Eintrags kann ein Bestimmen von Attributen, die mit den Voraussetzungen verbunden sind, die mit dem jeweiligen Eintrag in Verbindung stehen, und ein Evaluieren umfassen, ob die Attribute die Voraussetzungen erfüllen. Das Verfahren kann zusätzlich ein Bereitstellen zur Zuführung des Services, wie es in einem Eintrag spezifiziert ist, nach einer Bestimmung umfassen, dass die Attribute die Voraussetzungen des Eintrags erfüllen. Ähnliche und vergleichbare beispielhafte Verfahren, beispielhafte Geräte und beispielhafte Computerprogrammprodukte sind ebenfalls bereitgestellt.

Description

  • TECHNISCHES GEBIET
  • Ausführungsbeispiele der vorliegenden Erfindung beziehen sich allgemein auf eine Kostenberechnung einer Anwendung und beziehen sich noch genauer auf ein Verfahren, ein Gerät und ein Computerprogrammprodukt zur Anwendungskostenberechnung, um eine Entscheidungsfindung bei einer Serviceerbringung bereitzustellen.
  • HINTERGRUND
  • Die Computerindustrie hat mit der Zeit ein schnelles Wachstum und eine schnelle Entwicklung erfahren. Nicht nur haben technologische Verbesserungen zu neuen Modellen von Rechengeräten geführt, sondern sie haben auch zu Entwicklungen in den Systemen und Netzwerken geführt, in denen die Rechengeräte arbeiten und interagieren. Jedes neue Modell eines Rechengeräts, von Großrechnern und Supercomputern bis zu persönlichen Computern und mobilen Geräten, hat seinen eigenen Anteil an Vorteilen sowie Herausforderungen mit sich gebracht.
  • In den vergangenen mehreren Jahrzehnten ist das Computerwesen von verteilten Systemen, beispielsweise Großrechnern, zu dezentralisierten Systemen, beispielsweise persönlichen Computern, übergeleitet worden. Während das neue dezentralisierte, benutzerorientierte persönliche Computermodell den Benutzern gesteigerte Flexibilität und Bequemlichkeit bereitgestellt hat, resultierte es ebenso in eine ineffiziente Nutzung von Ressourcen und unnötige zusätzliche Kosten. Beispielsweise benötigte jeder persönliche Computer die Prozessleistung und Speicherkapazität, die für maximale anstatt für typische Lasten erforderlich sind. Im Ergebnis ist der jüngste Trend im Computerwesen zu einem zentralisierten Modell hin gegangen, wo Anwendungen und Daten zur Kostenreduktion und Erhöhung der Sicherheit und Effizienz zentral gemanagt, gespeichert und bereitgestellt werden können.
  • Ein aufkommendes Modell, bekannt als „die Cloud”, vertraut auf die Zuführung von Rechenressourcen über ein verteiltes Computernetzwerk. Bei einem solchen Modell stellen ein oder mehrere „Server” in der Cloud Services für einen oder mehrere verteilte „Clients” zur Verfügung. Durch die Cloud bereitgestellte Services können sich von individuellen Softwareanwendungen bis hin zu der vollen Funktionalität eines Betriebssystems erstrecken. Cloudsysteme können jedoch Nachteile aufweisen, beispielsweise das Erfordernis von Spezialsoftware, die auf dem Clientgerät installiert werden muss, um den Betrieb zu ermöglichen. Solche Spezialsoftware kann die Verfügbarkeit der Cloudservices limitieren, und zwar aufgrund fehlender Kompatibilität mit dem Clientgerät oder des Fehlens von Sonderrechten zum Installieren der Software auf dem Clientgerät bei einem Nutzer.
  • Zusätzlich stellt das Cloudmodell ernsthafte Herausforderungen beim Bereitstellen dieser Services für Endnutzer in einer beständigen und sicheren Form bereit, insbesondere bei der gegebenen weiten Vielfalt an Geräten, Hardware und Betriebssystemen, die bei nutzerseitigen Computersystemen verwendet wird. In vielen Fällen können die Konfiguration und Fähigkeiten des Clientgeräts nicht vor dem Bereitstellen des Services berücksichtigt werden. Beispielsweise können einige Serviceprovider einen bestimmten Service allen Clientgeräten in der selben Weise zuführen, ungeachtet der Kosten, Leistungsanforderungen, Speicheranforderungen, Prozessoranforderungen, Anzeigeerfordernissen, Datenübertragungsraten usw., die mit der Anwendung und der verwendeten Zuführmethode sowie dem den Service empfangenden Clientgerät zusammenhängen. Im Ergebnis können der Inhalt des bereitgestellten Services und das Verfahren zum Zuführen des Services für das spezielle Clientgerät nicht optimiert werden.
  • Daher existiert im Stand der Technik ein Bedarf für ein Computersystem, das die Fähigkeiten und Konfiguration des empfangenden Geräts berücksichtigt, wenn der Inhalt und die Zuführmethode der bereitgestellten Services bestimmt werden.
  • ZUSAMMENFASSUNG
  • Verfahren, Geräte und Computerprogrammprodukte werden hier für eine Anwendungskostenberechnung bereitgestellt, um eine Entscheidungsfindung bei einer Serviceerbringung bereitzustellen. Systeme, Verfahren, Geräte und Computerprogrammprodukte gemäß verschiedener Ausführungsbeispiele können zahlreiche Vorteile für Rechengeräte, Nutzer von Rechengeräten und Netzwerkprovider bereitstellen. Verschiedene Ausführungsbeispiele ermöglichen einem Administrator, beispielsweise ein geschäftliches Unternehmen oder eine geschäftliche Einrichtung, ein Portalumgebungssystem zum Bereitstellen eines kontrollierten und sicheren Zugangs zu einem privaten Rechenzentrum zu erzeugen, das speziell für das Zuführen von Services zu einer Gruppe von mit dem Administrator verbundenen Nutzern, beispielsweise Angestellte des geschäftlichen Unternehmens oder der geschäftlichen Institution, auf dem persönlichen Gerät des Nutzers, ungeachtet des Nutzergeräts oder des Aufenthaltsorts des Nutzers, konfiguriert ist.
  • Einige Ausführungsbeispiele ermöglichen einem Administrator in vorteilhafter Weise, intelligente Anwendungszuführobjekte zum Zuführen eines Services zu einem Nutzer in einem Portalumgebungssystem zu konfigurieren. Diesbezüglich kann ein Administrator die verschiedenen Anwendungen und/oder Verfahren zum Bereitstellen eines Service priorisieren, um zu versuchen, den Service auf die optimale Weise zuzuführen. Als ein nicht einschränkendes Beispiel kann ein intelligentes Anwendungszuführobjekt spezifizieren, dass die beste Option zum Zuführen eines Grafikeditierservices die Ausführung einer lokal installierten Version von Adobe® Photoshop® involvieren würde. Falls Adobe® Photoshop® jedoch nicht auf dem anfordernden Gerät, d. h. dem Endgerät, installiert ist, kann das intelligente Anwendungszuführobjekt spezifizieren, dass die nächst beste Option darin besteht, einen Zugang zu Adobe® Photoshop® über einen Terminalserver bereitzustellen. In einigen Fällen kann der Terminalserver nicht verfügbar sein, beispielsweise kann ein regulär geplantes Antivirusprogramm gleichzeitig auf dem Terminalserver ablaufen, wobei in diesem Fall das intelligente Anwendungszuführobjekt spezifizieren kann, dass die drittbeste Option darin besteht, eine lokal installierte Version von Microsoft® Paint® auszuführen.
  • Die verschiedenen Ausführungsbeispiele der vorliegenden Anmeldung können einem Administrator ermöglichen, zahlreiche Präferenzen zu berücksichtigen, wenn die Servicezuführoptionen priorisiert werden, einschließlich der Kosten, beispielsweise die Lizenzierungskosten, Nutzungskosten und Hardwarenutzungskosten, Leistung, beispielsweise Geschwindigkeit, Qualität und Hardware, Nutzerpraxis und andere. Während bestimmte Portalumgebungssysteme wie beispielsweise Citrix®-Server Services immer von einem Rechenzentrum über einen Terminalserver bereitstellen, stellen Ausführungsbeispiele der vorliegenden Anmeldung mehr Zuführoptionen und eine größere Flexibilität bereit, die auf einem Nutzerkontext und dem Hardwareprofil des Anfragenden Geräts basieren. Bei einigen Ausführungsbeispielen können viele Zuführoptionen und -alternativen als Reaktion auf eine einzelne Serviceanfrage versucht werden, anstatt einen Nutzer aufzufordern, Alternativen zu bestimmen und anzufordern, falls eine anfängliche Anfrage nach einem Service zurückgewiesen wird. Mehrere zusätzliche Vorteile der verschiedenen Ausführungsbeispiele der vorliegenden Anmeldung werden in Anbetracht der untenstehenden Diskussion offenbar werden.
  • Bei einem Ausführungsbeispiel ist ein Verfahren bereitgestellt, das das Bereitstellen einer Übertragung einer Anfrage für einen Service umfassen kann. Das Verfahren gemäß diesem Ausführungsbeispiel kann weiterhin das Empfangen einer Mitteilung umfassen, die eine geordnete Liste eines oder mehrerer Einträge zum Bereitstellen des Services aufweist. Jeder Eintrag kann eine oder mehrere mit dem Eintrag verbundene Voraussetzungen umfassen. Das Verfahren gemäß diesem Ausführungsbeispiel kann weiter ein iteratives Evaluieren des einen oder der mehreren Einträge in der durch die geordnete Liste spezifizierten Reihenfolge umfassen. Das Evaluieren eines jeweiligen Eintrags gemäß dem Verfahren dieses Ausführungsbeispiels kann das Bestimmen eines oder mehrerer Attribute, die mit der einen oder den mehreren Voraussetzungen in Zusammenhang stehen, die mit dem jeweiligen Eintrag verbunden sind, und das Evaluieren umfassen, ob das eine oder die mehreren Attribute die eine oder die mehreren mit dem jeweiligen Eintrag verbundenen Voraussetzungen erfüllen. Das Verfahren kann zusätzlich das Bereitstellen der Zuführung des Services, wie es in einem Eintrag spezifiziert ist, nach einer Bestimmung umfassen, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen des Eintrags erfüllen.
  • Bei einem Ausführungsbeispiel ist ein Verfahren bereitgestellt, das das Erzeugen zumindest einer geordneten Liste aus einem oder mehreren Einträgen zum Bereitstellen eines jeweiligen Services umfasst. Jeder Eintrag kann eine oder mehrere mit dem Eintrag verbundene Voraussetzungen umfassen. Das Verfahren gemäß diesem Ausführungsbeispiel kann weiter ein Empfangen einer Anfrage für einen Service umfassen. Das Verfahren gemäß diesem Ausführungsbeispiel kann weiter das Bereitstellen einer Übertragung einer geordneten Liste, die mit dem angefragten Service verbunden ist, umfassen. Zusätzlich kann das Verfahren gemäß diesem Ausführungsbeispiel das Empfangen einer Anzeige eines Eintrags der geordneten Liste umfassen. Das Verfahren gemäß diesem Ausführungsbeispiel kann weiterhin das Bereitstellen des Services, wie es in dem Eintrag spezifiziert ist, umfassen.
  • FIGURENKURZBESCHREIBUNG
  • Nachdem auf diese Weise einige Ausführungsbeispiele der Erfindung in allgemeiner Weise beschrieben worden sind, wird nun auf die begleitende Zeichnung Bezug genommen, die nicht notwendigerweise maßstäblich gezeichnet ist, und worin:
  • 1 ein System zur Anwendungskostenberechnung für eine Serviceerbringung gemäß einiger Ausführungsbeispiele der vorliegenden Erfindung darstellt,
  • 2 ein schematisches Blockdiagramm eines Endgeräts gemäß einiger Ausführungsbeispiele der vorliegenden Erfindung darstellt,
  • 3 ein Blockdiagramm eines Servers gemäß einiger Ausführungsbeispiele der vorliegenden Erfindung darstellt,
  • 4 ein Blockdiagramm eines Relaisgeräts gemäß einiger Ausführungsbeispiele der vorliegenden Erfindung darstellt,
  • 5 ein Flussdiagramm gemäß einem beispielhaften Verfahren für die Anwendungskostenberechnung für die Serviceerbringung gemäß einigen Ausführungsbeispielen der vorliegenden Erfindung darstellt und
  • 6 ein Flussdiagramm gemäß einem beispielhaften Verfahren für die Anwendungskostenberechnung für eine Serviceerbringung gemäß einigen Ausführungsbeispielen der vorliegenden Erfindung darstellt.
  • DETAILLIERTE BESCHREIBUNG
  • Ausführungsbeispiele der vorliegenden Erfindung werden nun im Folgenden unter Bezugnahme auf die begleitende Zeichnung vollständiger beschrieben, in der einige, aber nicht alle, Ausführungsbeispiele der Erfindung gezeigt sind. Tatsächlich kann die Erfindung in vielen verschiedenen Formen ausgeführt werden und sollte nicht als auf die im Folgenden gezeigten Ausführungsbeispiele beschränkt interpretiert werden; vielmehr sind diese Ausführungsbeispiele bereitgestellt, so dass diese Offenbarung anwendbare rechtliche Erfordernisse erfüllt. Gleiche Bezugsziffern beziehen sich durchgängig auf gleiche Elemente. Die Ausdrücke „Daten”, „Inhalt”, „Information” und ähnliche Ausdrücke können gemäß einigen Ausführungsbeispielen der vorliegenden Erfindung austauschbar verwendet werden, um auf Daten bezugzunehmen, die übertragen, empfangen, verarbeitet und/oder gespeichert werden können.
  • Definitionen
  • Der Ausdruck „computerlesbares Medium”, wie er hier verwendet wird, bezieht sich auf jedes Medium, das konfiguriert ist, um beim Bereitstellen von Informationen zu einem Prozessor, einschließlich Anweisungen für eine Ausführung, beteiligt zu sein. Solch ein Medium kann viele Formen annehmen, einschließlich aber nicht eingeschränkt auf ein nicht-transitorisches computerlesbares Speichermedium, beispielsweise permanente Medien und flüchtige Medien, und Übertragungsmedien. Übertragungsmedien umfassen beispielsweise Koaxialkabel, Kupferdrähte, faseroptische Kabel und Trägerwellen, die sich ohne Drähte oder Kabel durch den Raum bewegen, beispielsweise akustische Wellen und elektromagnetische Wellen, einschließlich Radiowellen, optische Wellen und Infrarotwellen. Signale weisen menschgemachte vorübergehende Variationen hinsichtlich Amplitude, Frequenz, Phase, Polarisation oder anderer physikalischer Eigenschaften auf, die durch das Übertragungsmedium übertragen werden. Beispiele computerlesbarer Medien umfassen eine Floppy Disk, eine flexible Disk, eine Festplatte, ein Magnetband, jegliche andere magnetische Medien, ein Compact Disc Read Only Memory (CD-ROM), eine Compact Disc, Compact Disc-Rewritable (CD-RW), eine Digital Versatile Disc (DVD), Blu-Ray, jegliches anderes optisches Medium, Lochkarten, Lochstreifen, optische Markierbelege, jegliches anderes physikalisches Medium mit Mustern von Löchern oder anderen optisch erkennbaren Zeichen, ein Random Access Memory (RAM), ein Programmable Read Only Memory (PROM), ein Erasable Programmable Read Only Memory (EPROM), ein FLASH-EPROM, jeglicher anderer Speicherchip oder jegliche Kassette, eine Trägerwelle oder jegliches anderes Medium, von dem ein Computer lesen kann. Der Ausdruck computerlesbares Speichermedium wird hier verwendet, um auf jegliches computerlesbares Medium außer Übertragungsmedien bezugzunehmen. Jedoch wird es geschätzt werden, dass wenn Ausführungsbeispiele mit der Verwendung eines computerlesbaren Speichermediums beschrieben werden, andere Typen von computerlesbaren Medien als Substitut oder zusätzlich zu dem computerlesbaren Speichermedium bei alternativen Ausführungsbeispielen verwendet werden können.
  • Bei der hier vorliegenden Verwendung bezieht sich der Ausdruck „Schaltung” auf alles Folgende: (a) nur hardwareartige Schaltungsimplementierungen, beispielsweise Implementierungen in nur analoger und/oder digitaler Schaltung, (b) Kombinationen von Schaltungen und Software und/oder Firmware, wie beispielsweise, falls anwendbar: (i) eine Kombination aus Prozessor(en) oder (ii) Abschnitten von Prozessor(en)/Software, einschließlich digitaler Signalprozessor(en), Software und Speicher(n), der oder die zusammenwirken, um ein Gerät, beispielsweise ein Endgerät, Relais oder Server, zu veranlassen, verschiedene Funktionen auszuführen, und (c) Schaltungen, beispielsweise ein Mikroprozessor oder Mikroprozessoren oder ein Abschnitt eines Mikroprozessors oder von Mikroprozessoren, die Software oder Firmware zum Betrieb benötigen, selbst wenn die Software oder Firmware nicht physisch vorliegt.
  • Diese Definition von „Schaltung” gilt für sämtliche Verwendungen dieses Ausdrucks in dieser Anmeldung, einschließlich in sämtlichen Ansprüchen. Als ein weiteres Beispiel, das in dieser Anmeldung verwendet wird, würde der Ausdruck „Schaltung” auch eine Implementierung lediglich eines Prozessors oder mehrerer Prozessoren oder eines Abschnitts eines Prozessors und seiner oder ihrer begleitenden Software und/oder Firmware abdecken. Der Ausdruck „Schaltung” würde auch beispielsweise und, falls anwendbar auf das besondere Anspruchselement, eine integrierte Schaltung in einem Endgerät, Relais, Server oder anderen Netzwerkgerät abdecken.
  • System
  • Unter jetziger Bezugnahme auf 1 illustriert 1 gemäß einem Ausführungsbeispiel ein Blockdiagramm eines Systems 100 zur Bereitstellung einer webfähigen Zuführung eines Rechenzentrums durch eine Portalschnittstelle, wie beispielsweise ein Desktop, der in einem Browser auf einem Endgerät 102 gebildet ist. Es wird verstanden werden, dass das System 100 sowie die Darstellungen in anderen Figuren jeweils als ein Ausführungsbeispiel bereitgestellt sind und nicht als Einschränkung des Umfangs oder Geists der Offenbarung in irgendeiner Weise interpretiert werden sollten. Diesbezüglich umfasst der Umfang der Offenbarung viele potentielle Ausführungsbeispiele zusätzlich zu den hier dargestellten und beschriebenen Ausführungsbeispielen. Während 1 ein Beispiel einer Konfiguration eines Systems zum Bereitstellen einer webfähigen Zuführung eines Rechenzentrums über eine Portalschnittstelle illustriert, können von daher viele weitere Konfigurationen ebenfalls verwendet werden, um Ausführungsbeispiele der vorliegenden Erfindung zu implementieren.
  • In Ausführungsbeispielen kann das System 100 ein Rechenzentrum 120 aufweisen. Das Rechenzentrum 120 kann zum Betrieb als eine private Cloud, öffentliche Cloud oder Kombination aus privater und öffentlicher Cloud konfiguriert sein. Beispielsweise kann eine öffentliche Cloud Services für jegliche Nutzer bereitstellen, wohingegen eine private Cloud Services für eine Untergruppe sämtlicher Nutzer bereitstellen kann, beispielsweise Angestellte eines bestimmten geschäftlichen Unternehmens, das die privaten Cloud Services bereitstellt. Das Rechenzentrum 120 kann in manchen Fällen durch eine Firewall geschützt sein. In manchen Ausführungsbeispielen kann das Rechenzentrum 120 in einem internen Netzwerk angeordnet sein, beispielsweise in einem privaten Local Area Network (LAN) oder dergleichen, oder das Rechenzentrum 120 kann durch eine dritte Partei in einer Ferne angeordnet und/oder gehostet werden. In manchen Fällen kann das Rechenzentrum 120 eine Kombination von Einheiten und Services aufweisen, die sowohl lokal als auch in einer Ferne vorliegen.
  • Gemäß einigen Ausführungsbeispielen kann das Rechenzentrum 120 einen oder mehrere Server 122 aufweisen. Ein Server 122 kann als irgendeine Recheneinrichtung ausgebildet sein oder kann in manchen Fällen als virtueller Server realisiert sein. Ein Server 122 kann ebenfalls als eine Kombination aus einer Vielzahl von Rechengeräten realisiert sein. Diesbezüglich kann der Server 122 beispielsweise als ein Server-Cluster und/oder als ein verteiltes Rechensystem realisiert sein, das über eine Vielzahl von Rechengeräten verteilt sein kann. In weiteren Ausführungsbeispielen können ein oder mehrere Server 122 in demselben Rechengerät realisiert sein.
  • Gemäß verschiedener Ausführungsbeispiele kann das System 100 eine demilitarisierte Zone (DMZ) 140 aufweisen, die außerhalb des Rechenzentrums 120 angeordnet ist. Diesbezüglich kann die DMZ 140 außerhalb der das Rechenzentrum 120 schützenden Firewall angeordnet sein. In beispielhaften Ausführungen kann die DMZ 140 ein oder mehrere Relaisgeräte 150 aufweisen. Ein Relaisgerät 150 kann als irgendein Rechengerät realisiert sein, beispielsweise ein Servercomputer, zum Beispiel ein Netzwerk-Webserver, Desktop-Computer, Laptop-Computer oder dergleichen. Bei anderen Ausführungsbeispielen kann ein Relaisgerät 150 als ein virtuelles Relais realisiert sein. Gemäß einigen Ausführungsbeispielen können die Relaisgeräte 150 in der DMZ 140 und das Rechenzentrum 120 in demselben Rechengerät realisiert sein.
  • Das System 100 kann gemäß Ausführungsbeispielen ein oder mehrere Endgeräte 102 aufweisen. Bei verschiedenen Ausführungsbeispielen können das eine oder die mehreren Endgeräte 102 außerhalb der DMZ 140 und des Rechenzentrums 120 angeordnet sein. Diesbezüglich können das eine oder die mehreren Endgeräte 102 außerhalb der das Rechenzentrum 120 schützenden Firewall angeordnet sein. Ein Endgerät 102 kann als irgendein Rechengerät realisiert sein, beispielsweise ein Desktop-Computer, Laptop-Computer, Netbook, Tablet, Portable Digital Assistant (PDA), mobiles Endgerät, mobiler Computer, mobiles Telefon, mobiles Kommunikationsgerät, Smartphone, Spielgerät, TV-Gerät, digitaler Videorecorder, Positionsgerät, jede Kombination davon und/oder dergleichen.
  • Bei bestimmten Ausführungsbeispielen kann das Endgerät 102 zum Etablieren einer Verbindung mit zumindest einem des einen oder der mehreren Relaisgeräte 150 in der DMZ 140 konfiguriert sein. Bei manchen Ausführungsbeispielen kann ein Endgerät 102, das mit einem ersten Relaisgerät 150 verbunden ist, während derselben Session zu einem zweiten Relaisgerät 150 übertragen werden. Die Verbindung kann beispielsweise über das Internet über ein Transportprotokoll hergestellt werden, beispielsweise Transmission Control Protocol (TCP), User Datagram Protocol (UDP) oder dergleichen. Bei diesen Ausführungsbeispielen kann die Verbindung über ein anwendungsspezifisches Protokoll hergestellt werden, beispielsweise Hypertext Transfer Protocol (HTTP), Hypertext Transfer Protocol Secure (HTTPS) oder dergleichen. Die Verbindung kann bei bestimmten Ausführungsbeispielen eine sichere Verbindung sein. Beispielsweise kann die Kommunikation über die Verbindung zwischen dem Endgerät 102 und dem Relaisgerät 150 unter Verwendung von Transport Layer Security (TLS), Secure Sockets Layer (SSL) oder dergleichen gesichert werden. Über die Verbindung übertragene und empfangene Daten können unter Verwendung von beispielsweise 128 bit SSL-Verschlüsselung verschlüsselt werden.
  • Gemäß verschiedener Ausführungsbeispiele kann ein Relaisgerät 150 in der DMZ 140 zum Etablieren einer Verbindung mit zumindest einem des einen oder der mehreren Server 122 in dem Rechenzentrum 120 konfiguriert sein. Beispielsweise kann ein Relaisgerät 150 zum Etablieren einer Pipelineverbindung mit einem Server 122 konfiguriert sein. Die Pipelineverbindung kann bei Ausführungsbeispielen konfiguriert sein, um eine bidirektionale Kommunikation zwischen dem Relaisgerät 150 und dem Server 122 bereitzustellen. Beispielsweise kann die Pipelineverbindung eine serielle Verbindung, Ethernet-Verbindung, Socketverbindung oder dergleichen sein. Die Pipelineverbindung kann bei manchen Ausführungsbeispielen durch einen oder mehrere Ports hergestellt sein, beispielsweise durch einen einzelnen Port in einer das Rechenzentrum 120 schützenden Firewall.
  • Ein Relaisgerät 150 kann bei Ausführungsbeispielen als ein Vermittler zwischen einem oder mehreren Endgeräten 102 und einem oder mehreren Servern 122 dienen. Diesbezüglich kann das Relaisgerät 150 als ein Endpunkt für alle Kommunikationen und Anfragen von dem Endgerät 102 zu dem Rechenzentrum 120 dienen. Das Relaisgerät 150 kann die Kommunikationen und Anfragen von dem Endgerät 102 zu dem Server 122 übermitteln. In ähnlicher Weise kann das Relaisgerät 150 über die Pipelineverbindung mit dem Server 122 alle Kommunikationen zu dem Endgerät 102, die vom Rechenzentrum 120 stammen, empfangen und die Kommunikationen zu dem Endgerät 102 über die sichere Verbindung übermitteln. Diesbezüglich kann der Server 122 zum Kommunizieren mit den Anwendungen, Filesystemen und Datenbanken innerhalb des Rechenzentrums 120 konfiguriert sein.
  • Gemäß verschiedener Ausführungsbeispiele kann die Kombination aus dem Relaisgerät 150 und dem Server 122 eine zweigliedrige Architektur zum Sichern des Rechenzentrums 120 vor externen Nutzern bereitstellen, beispielsweise ein Nutzer an einem Endgerät 102. Diesbezüglich kann das Relaisgerät 150 eine erste Stufe an Sicherheit für das Rechenzentrum 120 bereitstellen, während der Server 122 eine zweite Stufe an Sicherheit für das Rechenzentrum 120 bereitstellen kann. Bei anderen Ausführungsbeispielen kann ein Endgerät zum direkten Verbinden mit dem Server 122 konfiguriert sein, wodurch eine einstufige Architektur gebildet ist.
  • Gemäß einiger Ausführungsbeispiele kann das Rechenzentrum 120 zum Bereitstellen von Informationen und Services zu einem oder mehreren Endgeräten 102 über die oben beschriebene Architektur konfiguriert sein. Beispiele der Informationen und Services, die mittels des Rechenzentrums 120 gemäß bestimmter Ausführungsbeispiele bereitgestellt werden können, werden unten detaillierter beschrieben.
  • Bei einigen Ausführungsbeispielen kann das Rechenzentrum 120 zum Bereitstellen betriebssystemspezifischer Services 124 konfiguriert sein. Beispielsweise kann das Rechenzentrum 120 WindowsTM-Anwendungen, beispielsweise WordTM, ExcelTM, PowerPointTM oder dergleichen bereitstellen. Ein betriebssystemspezifischer Service 124 kann bei bestimmten Ausführungsbeispielen mittels eines Publizierverfahrens zugeführt werden. Diesbezüglich kann der betriebssystemspezifische Service 124 aus der Ferne von einem Terminalserver, beispielsweise Microsoft®-Terminal Server, zugeführt werden, der innerhalb des Rechenzentrums 120 läuft. Bei weiteren Ausführungsbeispielen kann ein betriebssystemspezifischer Service 124 über ein Anwendungsvirtualisierungsverfahren zugeführt werden. Diesbezüglich kann der betriebssystemspezifische Service 124 in ein ausführbares File gebündelt und dynamisch an ein Endgerät 102 zur lokalen Verarbeitung verteilt werden. Bei anderen Ausführungsbeispielen kann ein betriebssystemspezifischer Service 124 sich auf einen Service oder eine Anwendung beziehen, der oder die an dem Endgerät lokal installiert ist und mittels des Rechenzentrums 120 zur Ausführung geführt wird.
  • Bei Ausführungsbeispielen kann das Rechenzentrum 120 zum Bereitstellen intern gehosteter Webanwendungen 126 konfiguriert sein. Diesbezüglich kann die interne Webanwendung 126 nativ in das Rechenzentrum 120 integriert sein. Beispielsweise kann die interne Webanwendung 126 Webanwendungen umfassen, die zum Laufen über HTTP, HTTPS oder andere ähnliche Protokolle konfiguriert sind, beispielsweise Webserver wie beispielsweise Apache, IIS, Webportale wie beispielsweise Microsoft SharePoint®, BEA Weblogic®, IBM Websphere®, Oracle PeopleSoft®, Oracle Financials®, Content-Management-Systeme, Webkonsolen und/oder dergleichen. Bei manchen Ausführungsbeispielen können interne Webanwendungen 126 intern oder durch dritte Verkäufer entwickelt werden.
  • Gemäß verschiedener Ausführungsbeispiele kann das Rechenzentrum 120 zum Bereitstellen extern gehosteter Webanwendungen 128 konfiguriert sein. Die externen Webanwendungen 128 können beispielsweise Software as a Service (SaaS) Anwendungen umfassen. Bei bestimmten Ausführungsbeispielen kann eine externe Webanwendung 128 durch einen Dritten gehostet werden, beispielsweise bei einem entfernten Rechenzentrum. Beispielsweise können die externen Webanwendungen 128 Anwendungen umfassen, die durch Salesforce.comTM, Google AppsTM, Microsoft LiveTM, ZohoTM, MoodleTM und/oder dergleichen angeboten werden. Eine externe Webanwendung 128 kann zu dem Rechenzentrum 120 über eine vertrauenswürdige Verbindung zugeführt werden, beispielsweise unter Verwendung von Security Assertion Markup Language (SAML), eine delegierte Authentifikation und/oder dergleichen. Diesbezüglich können die externen Webanwendungen 128 zur Zuführung zu den Endgeräten 102 über die Server 122 und bei bestimmten Ausführungsbeispielen die Relaisgeräte 150 in das Rechenzentrum 120 integriert sein.
  • Bei manchen Ausführungsbeispielen kann das Rechenzentrum 120 zum Bereitstellen privater Services 130, wie beispielsweise Cloud-Services, konfiguriert sein. Diesbezüglich können die privaten Services 130 File-Services, Daten-Services oder dergleichen umfassen. Die File-Services können bei bestimmten Ausführungsbeispielen einen Zugang zu einem oder mehreren Netzwerkfilesystemen bereitstellen, beispielsweise gemeinsam genutzte Verzeichnisse, Heimverzeichnisse, öffentliche Verzeichnisse und/oder dergleichen. Bei Ausführungsbeispielen können die Daten-Services Zugang zu einer oder mehreren Datenbanken bereitstellen. Die Datenbanken können in manchen Fällen irgendeine Open Database Connectivity (ODBC) oder Java Database Connectivity (JDBC) Datenbank sein, beispielsweise Microsoft SQL (Structured Query Language) Server®, MySQLTM, Oracle Database®, IBM DB2®, Microsoft Access® und/oder dergleichen. Die Datenbanken können beispielsweise mittels Web reporting, elektronischer Web-Formulare und/oder dergleichen zugänglich sein.
  • Gemäß verschiedener Ausführungsbeispiele können die Informationen und Services des Rechenzentrums 120 einem Client oder Nutzer eines Endgeräts 102 über einen in einem Browser gebildeten Desktop präsentiert werden. Diesbezüglich kann das Endgerät 102 derart konfiguriert sein, dass es einem Nutzer einen Zugang zu einem webfähigen Browser bereitstellt, beispielsweise Microsoft Internet Explorer®, Mozilla Firefox®, Google Chrome®, Opera®, Apple Safari® und/oder dergleichen. Bei Ausführungsbeispielen kann der Nutzer unter Verwendung des Browsers des Endgeräts 102 zum Zugang zu einem Desktop fähig sein. Bei Ausführungsbeispielen kann der Desktop auf der Basis von Webtechnologien, beispielsweise Ajax, Comet und/oder dergleichen, gebildet und nativ im Browser im Endgerät 102 erzeugt sein. Diesbezüglich kann der in einem Browser gebildete Desktop Funktionen aufweisen, die einem traditionellen Desktop ähnlich sind, beispielsweise Menüs, Taskleisten, Desktop-Icons und -Hintergrund, benutzerdefinierte Einstellungen, Tastaturbefehle, Info-Bereich und/oder dergleichen. Der in dem Browser bereitgestellte Desktop kann sich von einem herkömmlichen Desktop unterscheiden, der durch das auf dem Endgerät 102 laufende Betriebssystem bereitgestellt ist. Zusätzlich kann sich der in einem Browser gebildete Desktop von einer virtuellen Präsentation eines herkömmlichen Desktop unterscheiden, der an einer externen Stelle läuft, beispielsweise innerhalb des Rechenzentrums 120. Bei manchen Ausführungsbeispielen können die Informationen und Services des Rechenzentrums 120 einem Nutzer eines Endgeräts 102 über andere Portalschnittstellen präsentiert werden, beispielsweise ein Dashboard, eine mobile Schnittstelle, eine Tablet-Schnittstelle oder irgendeine andere Portalschnittstelle, die zur Bereitstellung eines Zugangs zu einem oder mehreren Rechenzentren 120 und/oder Cloud-Services ausgebildet ist. Services und Informationen können bei bestimmten Ausführungsbeispielen ohne die Verwendung einer Portalschnittstelle direkt zu einem Nutzer zugeführt werden.
  • Endgerät
  • Unter jetziger Bezugnahme auf 2 stellt 2 ein Blockdiagramm eines Endgeräts 102 gemäß einem Ausführungsbeispiel dar. Bei dem Ausführungsbeispiel umfasst das Endgerät 102 verschiedene Komponenten zum Ausführen der hier beschriebenen verschiedenen Funktionen. Diese Komponenten können einen oder mehrere von einem Prozessor 210, einem Speicher 212, einer Kommunikationsschnittstelle 214, einer Benutzerschnittstelle 216 oder einer Servicebestimmungsschaltung 218 umfassen. Die Komponenten des hierin beschriebenen Endgeräts 102 können beispielsweise realisiert sein als Schaltung, Hardware-Elemente, beispielsweise ein geeignet programmierter Prozessor, eine kombinatorische logische Schaltung und/oder dergleichen, Computerprogrammprodukt, das computerlesbare Programmanweisungen, beispielsweise Software oder Firmware, aufweist, die in einem computerlesbaren Medium, beispielsweise der Speicher 212, gespeichert sind, und das mittels einer geeignet konfigurierten Recheneinrichtung, beispielsweise der Prozessor 210, ausführbar ist, oder einige Kombinationen davon.
  • Bei manchen Ausführungsbeispielen können eine oder mehrere der in 2 gezeigten Komponenten als ein Chip oder Chipsatz realisiert sein. In anderen Worten kann das Endgerät 102 eine oder mehrere physikalische Baugruppen, beispielsweise Chips, aufweisen, einschließlich Materialien, Komponenten und/oder Drähten auf einer strukturellen Anordnung, beispielsweise eine Sockelleiste. Die strukturelle Anordnung kann physikalische Festigkeit, Größenerhalt und/oder Begrenzung elektrischer Wechselwirkung für eine davon umfasste Komponentenschaltung bereitstellen. Diesbezüglich können der Prozessor 210, der Speicher 212, die Kommunikationsschnittstelle 214, die Benutzerschnittstelle 216 und/oder die Servicebestimmungsschaltung 218 als ein Chip oder Chipsatz realisiert sein. Das Endgerät 102 kann deshalb bei einigen Ausführungsbeispielen derart konfiguriert sein, dass es Ausführungsbeispiele der vorliegenden Erfindung auf einem einzelnen Chip oder als ein einzelnes „System auf einem Chip” implementiert. Als ein weiteres Beispiel kann das Endgerät 102 in einigen Ausführungsbeispielen eine Komponente oder Komponenten aufweisen, die derart konfiguriert ist oder sind, dass sie Ausführungsbeispiele der vorliegenden Erfindung auf einem einzelnen Chip oder als ein einzelnes „System auf einem Chip” implementiert oder implementieren. Daher kann in manchen Fällen ein Chip oder Chipsatz Komponenten zum Durchführen einer oder mehrerer Operationen zur Bereitstellung der hierin beschriebenen Funktionalitäten und/oder zum Ermöglichen einer Nutzerschnittstellennavigation bezüglich der hierin beschriebenen Funktionalitäten und/oder Services bilden.
  • Der Prozessor 210 kann beispielsweise in Form unterschiedlicher Komponenten realisiert sein, einschließlich einem oder mehreren Mikroprozessoren, einem oder mehreren Prozessoren, einem oder mehreren Koprozessoren, einem oder mehreren Mehrkernprozessoren, einem oder mehreren Controllern, einer Verarbeitungsschaltung, einem oder mehreren Computern, verschiedener anderer verarbeitender Elemente, einschließlich integrierter Schaltungen, oder einiger Kombinationen davon. Obgleich in 2 als ein einzelner Prozessor dargestellt, umfasst daher der Prozessor 210 bei einigen Ausführungsbeispielen eine Vielzahl von Prozessoren. Die Vielzahl von Prozessoren kann in operativer Kommunikation miteinander sein und kann kollektiv dazu ausgebildet sein, eine oder mehrere Funktionalitäten des hier beschriebenen Endgeräts 102 auszuführen. Die Vielzahl von Prozessoren kann auf einem einzelnen Nutzerrechengerät realisiert sein oder über eine Vielzahl von Nutzerrechengeräten verteilt sein, die kollektiv dazu ausgebildet sind als das Endgerät 102 zu funktionieren. Bei einigen Ausführungsbeispielen kann der Prozessor 210 dazu ausgebildet sein, Anweisungen auszuführen, die in dem Speicher 212 gespeichert oder auf andere Weise dem Prozessor 210 zugänglich sind. Diese Anweisungen, wenn ausgeführt durch den Prozessor 210, können das Endgerät 102 dazu veranlassen, eine oder mehrere der Funktionalitäten des hier beschriebenen Endgeräts 102 auszuführen. Von daher kann der Prozessor 210, ob konfiguriert durch Hardware oder Softwareverfahren oder durch eine Kombination davon, eine Einheit aufweisen, die zum Durchführen von Operationen gemäß Ausführungsbeispielen der vorliegenden Erfindung fähig ist, falls sie entsprechend konfiguriert ist. Wenn der Prozessor 210 als ein Ausführer von Anweisungen ausgebildet ist, die beispielsweise in dem Speicher 212 gespeichert sein können, können daher beispielsweise die Anweisungen den Prozessor 210 spezifisch konfigurieren, so dass er einen oder mehrere der hier beschriebenen Algorithmen und Operationen ausführen kann.
  • Der Speicher 212 kann beispielsweise einen flüchtigen Speicher, einen Permanent-Speicher oder einige Kombinationen davon aufweisen. Diesbezüglich kann der Speicher 212 einen oder mehrere materielle und/oder nicht-flüchtige computerlesbare Speichermedien aufweisen, die einen flüchtigen oder permanenten Speicher aufweisen können. Obgleich in 2 als ein einzelner Speicher dargestellt, kann der Speicher 212 eine Vielzahl von Speichern aufweisen. Die Vielzahl von Speichern kann auf einem einzelnen Rechengerät realisiert sein oder kann über eine Vielzahl von Rechengeräten verteilt sein, die kollektiv dazu ausgebildet sind, als das Endgerät 102 zu funktionieren. Bei verschiedenen Ausführungsbeispielen kann der Speicher 212 eine Festplatte, einen Schreib-Lese-Speicher, einen Cache-Speicher, einen Flash-Speicher, ein Compact Disc Read Only Memory (CD-ROM), ein Digital Versatile Disc Read Only Memory (DVD-ROM), eine optische Disk, eine zum Speichern von Informationen konfigurierte Schaltung oder einige Kombinationen davon aufweisen. Der Speicher 212 kann zum Speichern von Informationen, Daten, Anwendungen, Anweisungen oder dergleichen zum Befähigen des Endgeräts 102 konfiguriert sein, verschiedene Funktionen gemäß verschiedener Ausführungsbeispiele auszuführen. Bei einigen Ausführungsbeispielen ist der Speicher 212 beispielsweise dazu ausgebildet, Eingangsdaten zum Verarbeiten durch den Prozessor 212 zu puffern. Zusätzlich oder alternativ dazu kann der Speicher 212 dazu ausgebildet sein, Programmanweisungen zur Ausführung durch den Prozessor 210 zu speichern. Der Speicher 212 kann Informationen in Form von statischer und/oder dynamischer Information speichern. Diese gespeicherte Information kann durch die Servicebestimmungsschaltung 218 während der Durchführung ihrer Funktionalitäten gespeichert und/oder verwendet werden.
  • Die Kommunikationsschnittstelle 214 kann als jegliche Einrichtung oder Komponente realisiert sein, die in einer Schaltung, in einer Hardware, in einem Computerprogrammprodukt, das computerlesbare Programmanweisungen aufweist, die in einem computerlesbaren Medium, beispielsweise der Speicher 212, gespeichert sind und mittels einem Prozessgerät, beispielsweise der Prozessor 210 ausgeführt werden, oder in einer Kombination davon realisiert ist und die zum Empfangen und/oder Übertragen von Daten von/zu einem anderen Rechengerät konfiguriert ist. Bei einem Ausführungsbeispiel ist die Kommunikationsschnittstelle 214 zumindest teilweise durch den Prozessor 210 realisiert oder andernfalls durch den Prozessor 210 gesteuert. Diesbezüglich kann die Kommunikationsschnittstelle 214 mit dem Prozessor 210 in Kommunikation sein, beispielsweise über einen Bus. Die Kommunikationsschnittstelle 214 kann beispielsweise eine Netzwerkkarte, beispielsweise verdrahtet oder drahtlos, eine Antenne, einen Transmitter, einen Empfänger und/oder unterstützende Hardware oder Software zum Ermöglichen von Kommunikationen mit einem oder mehreren entfernten Rechengeräten aufweisen. Die Kommunikationsschnittstelle 214 kann zum Empfangen und/oder Übertragen von Daten unter Verwendung irgendeines Protokolls konfiguriert sein, das für Kommunikationen zwischen Rechengeräten verwendet werden kann. Diesbezüglich kann die Kommunikationsschnittstelle 214 zum Empfangen und/oder Übertragen von Daten unter Verwendung irgendeines Protokolls konfiguriert sein, das zur Übertragung von Daten über ein drahtloses Netzwerk, ein verdrahtetes Netzwerk, einige Kombinationen davon oder dergleichen verwendet werden kann, womit das Endgerät 102 und ein oder mehrere Rechengeräte oder Rechenressourcen in Kommunikation sein können. Beispielsweise kann die Kommunikationsschnittstelle 214 dazu konfiguriert sein, eine Kommunikation zwischen dem Endgerät 102 und anderen Geräten zu ermöglichen, beispielsweise ein Relaisgerät 150 oder ein Server 122. Die Kommunikationsschnittstelle 214 kann zusätzlich mit dem Speicher 212, der Benutzerschnittstelle 216 und/oder der Servicebestimmungsschaltung 218 beispielsweise über einen Bus in Kommunikation sein.
  • Die Benutzerschnittstelle 216 kann mit dem Prozessor 210 in Kommunikation sein, um einen Anzeige einer Benutzereingabe zu empfangen und/oder eine hörbare, visuelle, mechanische oder anderen Ausgabe an einen Nutzer bereitzustellen. Von daher kann die Benutzerschnittstelle 216 beispielsweise ein Keyboard, eine Maus, einen Joystick, ein Display, ein Touchscreen-Display, ein Mikrofon, einen Lautsprecher und/oder andere Eingabe/Ausgabe-Mechanismen aufweisen. Bei Ausführungsbeispielen, bei denen die Benutzerschnittstelle 216 ein Touchscreen-Display aufweist, kann die Benutzerschnittstelle 216 zusätzlich dazu konfiguriert sein, eine Anzeige einer Berührungsgeste oder eine andere Eingabe an das Touchscreen-Display zu detektieren und/oder zu empfangen. Die Benutzerschnittstelle 216 kann mit dem Speicher 212, der Kommunikationsschnittstelle 214 und/oder der Servicebestimmungsschaltung 218, beispielsweise über einen Bus, in Kommunikation sein.
  • Die Servicebestimmungsschaltung 218 kann in Form verschiedener Komponenten realisiert sein, beispielsweise als Schaltung, Hardware, Computerprogrammprodukt, das computerlesbare Programmanweisungen aufweist, die in einem computerlesbaren Medium, beispielsweise der Speicher 212, gespeichert sind und mittels eines Rechengeräts, beispielsweise der Prozessor 210, ausgeführt werden, oder einige Kombinationen davon, und ist bei einigen Ausführungsbeispielen durch den Prozessor 210 realisiert oder andernfalls durch den Prozessor 210 gesteuert. Bei Ausführungsbeispielen, bei denen die Servicebestimmungsschaltung 218 separat von dem Prozessor 210 realisiert ist, kann die Servicebestimmungsschaltung 218 mit dem Prozessor 210 in Kommunikation sein. Die Servicebestimmungsschaltung 218 kann des Weiteren mit einen oder mehreren von dem Speicher 212, der Kommunikationsschnittstelle 214 oder der Benutzerschnittstelle 216, beispielsweise über einen Bus, in Kommunikation sein.
  • Gemäß verschiedener Ausführungsbeispiele kann die Servicebestimmungsschaltung 218 dazu konfiguriert sein, eine Anfrage von einem Nutzer zu empfangen, um sich bei einem Portalumgebungssystem einzuloggen, beispielsweise bei einem webbasierten Portal, um Zugang zu beispielsweise einem Rechenzentrum zu erlangen. Die Portalschnittstelle kann beispielsweise ein Desktop in einem Browser, ein Dashboard, eine mobile Schnittstelle, eine Tabletschnittstelle oder irgendeine andere Portalschnittstelle sein, die zum Bereitstellen eines Zugangs zu einem oder mehreren Rechenzentren und/oder Cloud-Services ausgebildet ist. Die Servicebestimmungsschaltung 218 kann dazu ausgebildet sein, eine Übermittlung einer Login-Anfrage an einen Server 122 bereitzustellen, der mit dem Rechenzentrum verbunden ist, in manchen Fällen über eine Relaisgerät 150. Die Login-Anfrage kann beispielsweise die Form eines HTTP POST-Befehls haben. Bei Ausführungsbeispielen kann die Servicebestimmungsschaltung 218 vor der Übertragung der Login-Anfrage dazu konfiguriert werden, Informationen zu bestimmen, die sich auf den Nutzerkontext und/oder auf Hardware des Endgeräts 102 beziehen, das mit der Servicebestimmungsschaltung 218 verbunden ist. Diesbezüglich kann die bestimmte Nutzerkontext- und/oder Hardwareinformation in die Login-Anfrage eingeschlossen sein. Die Nutzerkontext- und/oder Hardwareinformation kann in einer Textfolge innerhalb der Login-Anfrage enthalten sein, beispielsweise eine Textfolge, die ein serialisiertes JavaScript Object Notation(JSON)-Objekt darstellt.
  • Bei Ausführungsbeispielen kann die Servicebestimmungsschaltung 218 dazu konfiguriert sein, Konfigurationsinformation für die Portalschnittstelle von dem Server 122 zu empfangen, in manchen Fällen über ein Relaisgerät 150. Die Konfigurationsinformation kann einen oder mehrere Services angeben, um sie dem Nutzer zugänglich zu machen. Diesbezüglich kann sich ein Service auf irgendeinen Service oder irgendeine Anwendung beziehen, zu dem oder zu der ein Zugang über das Portalumgebungssystem bereitgestellt wird, ungeachtet der Tatsache, ob er oder sie auf dem Endgerät 102, das mit der Servicebestimmungsschaltung 218 verbunden ist, in dem Rechenzentrum oder auf einer entfernten Einrichtung angeordnet ist. Der eine oder die mehreren angezeigten Services können basierend zumindest teilweise auf der Nutzerkontext- und/oder Hardwareinformation, die durch die Servicebestimmungsschaltung 218 bereitgestellt wird, durch den Server 122 bestimmt werden. Falls diesbezüglich beispielsweise die Hardwareinformation des Endgeräts 102, das mit der Servicebestimmungsschaltung 218 verbunden ist, nicht die Hardwarevoraussetzungen eines bestimmten Services erfüllt, kann dieser Service beschränken und daher dem Nutzer nicht zugänglich gemacht werden. Bei bestimmten Ausführungsbeispielen kann die Konfigurationsinformation nicht alle Services zurückweisen, für die die Voraussetzungen hinsichtlich Nutzerkontext und/oder Hardware beim Login nicht erfüllt sind. Diesbezüglich kann die Konfigurationsinformation anfänglich diejenigen Services beschränken, deren Voraussetzungen hinsichtlich Nutzerkontext und/oder Hardware sich auf Nutzerkontext- und/oder Hardwareinformation des Endgeräts 102 beziehen, die während einer Session statisch bleibt, beispielsweise Videokartentyp, gesamter installierter Speicher oder dergleichen. Die Konfigurationsinformation kann nicht diejenigen Services zurückweisen, deren Voraussetzungen hinsichtlich Nutzerkontext oder Hardware sich auf Nutzerkontext- und/oder Hardwareinformation beziehen, die sich während einer Session verändern können, beispielsweise Browsertyp, Netzwerkverbindungstyp, Stromquelle, Batterieladung oder dergleichen.
  • Gemäß verschiedener Ausführungsbeispiele kann die Servicebestimmungsschaltung 218 derart konfiguriert sein, dass sie dem Nutzer eine Anzeige der Portalschnittstelle bereitstellt. Diesbezüglich kann die Portalschnittstelle eine Darstellung des einen oder der mehreren Services umfassen, die durch die Konfigurationsinformation angezeigt werden, die durch den Server 122 gesendet wird. Die Portalschnittstelle kann Services und Anwendungen ausschließen, die durch den Server 122 basierend auf dem Nutzerkontext- und/oder Hardwareinformation zurückgewiesen werden. Beispielsweise können bei Ausführungsbeispielen, bei denen die Portalschnittstelle als ein Desktop in einem Browser realisiert ist, beschränkte Services und Anwendungen keine zugeordneten Icons aufweisen, die auf dem Desktop oder einem verbundenen Startmenü angezeigt werden.
  • Bei bestimmten Ausführungsbeispielen kann ein Nutzer einen Service auswählen, der durch das Portalumgebungssystem zur Zuführung bereitgestellt wird, beispielsweise durch Auswählen einer Darstellung, die mit dem Service verbunden ist, von der Portalschnittstelle, d. h. ein Icon, Menüpunkt oder dergleichen. Bei manchen Ausführungsbeispielen kann der gewünschte Service lokal auf dem Endgerät 102 gespeichert werden, das mit der Servicebestimmungsschaltung 218 verbunden ist. Die ausgewählte Darstellung kann in manchen Fällen eine Darstellung sein, die mit einem vorkonfigurierten intelligenten Anwendungszuführobjekt verbunden ist. Diesbezüglich kann die ausgewählte Darstellung nicht mit einer einzelnen besonderen Anwendung verbunden sein, sondern stattdessen mit einer geordneten Liste einer Vielzahl von Anwendungen und/oder Zuführverfahren zum Bereitstellen des gewünschten Services. Die Servicebestimmungsschaltung 218 kann dazu ausgebildet sein, eine Übertragung einer Anfrage nach dem Service oder dem intelligenten Anwendungszuführobjekt, das mit der Darstellung verbunden ist, zu dem Server 122 bereitzustellen, in manchen Fällen über ein Relaisgerät 150. Die Anfrage kann beispielsweise als Asynchronous JavaScript und Extensible Markup Language (XML) oder AJAX-Anfrage konfiguriert sein.
  • Gemäß Ausführungsbeispielen kann die Servicebestimmungsschaltung 218 dazu ausgebildet sein, ein intelligentes Anwendungszuführobjekt zu empfangen, das mit der ausgewählten Darstelllung verbunden ist. Diesbezüglich kann das intelligente Anwendungszuführobjekt durch die Servicebestimmungsschaltung 218 von einem Server 122 empfangen werden, in manchen Fällen über ein Relaisgerät 150. Die Servicebestimmungsschaltung 218 kann dazu ausgebildet sein, das intelligente Anwendungszuführobjekt in der Form beispielsweise einer Textfolge zu empfangen, die ein serialisiertes JSON-Objekt darstellt.
  • Bei verschiedenen Ausführungsbeispielen kann das intelligente Anwendungszuführobjekt eine geordnete Liste aufweisen, die eine Angabe oder Anzeige einer oder mehrerer Anwendungen und/oder eines oder mehrerer Zuführverfahren zum Bereitstellen des angefragten Services aufweist. Die geordnete Liste kann eine vorkonfigurierte Liste von Alternativen zum Bereitstellen des angefragten Services auf der Basis einer oder mehrerer Präferenzen sein. Einige Präferenzen können sich auf Kosten, d. h. Lizenzierungskosten, Nutzungskosten, Hardwarenutzungskosten oder dergleichen, und/oder Leistung, beispielsweise Geschwindigkeit, Qualität und/oder dergleichen, und/oder Nutzererfahrung und/oder dergleichen beziehen.
  • Gemäß bestimmter Ausführungsbeispiele kann jeder Eintrag der geordneten Liste eine Anwendung zum Bereitstellen des angefragten Services, ein Verfahren zum Zuführen des angefragten Services oder beides aufweisen. Beispielsweise kann die erste Alternative in der geordneten Liste die erste Präferenz für die Anwendung und/oder das Verfahren zum Zuführen des angefragten Services angeben, kann die zweite Alternative in der geordneten Liste die zweite Präferenz für die Anwendung und/oder das Verfahren zum Zuführen des angefragten Services angeben und so weiter.
  • Gemäß verschiedener Ausführungsbeispiele kann die Servicebestimmungsschaltung 218 derart ausgebildet sein, dass sie den einen oder die mehreren Einträge der geordneten Liste eines intelligenten Anwendungszuführobjekts evaluiert. Bei manchen Ausführungsbeispielen kann ein Eintrag der geordneten Liste eine oder mehrere Bedingungen und/oder Voraussetzungen aufweisen, die mit der Anwendung und/oder dem Verfahren zum Zuführen in Verbindung stehen, die mit dem jeweiligen Eintrag verbunden sind. Die Servicebestimmungsschaltung 218 kann dazu konfiguriert sein, jeden Eintrag zu evaluieren, um zu Bestimmen, ob die eine oder die mehreren Bedingungen und/oder Voraussetzungen erfüllt sind. Beispielsweise kann die Servicebestimmungsschaltung 218 zum Bestimmen konfiguriert sein, ob eine Anwendung lokal installiert wird, wenn das Verfahren zum Zuführen eines Eintrags sich auf eine lokale Zuführung einer Anwendung bezieht. In einem Fall, in dem die Bedingungen und/oder Voraussetzungen eines Eintrags erfüllt sind, kann die Servicebestimmungsschaltung 218 dazu konfiguriert sein, die Anwendung und/oder das Verfahren zur Zuführung auszuwählen, die oder das mit dem Eintrag korrespondiert, um den angefragten Service bereitzustellen. Die Servicebestimmungsschaltung 218 kann bei diesen Ausführungsbeispielen den Evaluierungsprozess beenden, sobald ein Eintrag ausgewählt ist. In einem Fall, in dem die Bedingungen und/oder Voraussetzungen eines Eintrags nicht erfüllt sind, kann die Servicebestimmungsschaltung 218 zum Zurückweisen des Eintrags und zum Evaluieren des nachfolgenden Eintrags in der geordneten Liste konfiguriert sein. Die Servicebestimmungsschaltung 218 kann bei diesen Ausführungsbeispielen dazu konfiguriert sein, den Evaluierungsprozess fortzusetzen, bis die Bedingungen und/oder Voraussetzungen eines Eintrags erfüllt sind oder bis alle Einträge zurückgewiesen worden sind.
  • Bei Ausführungsbeispielen können der eine oder die mehreren Bedingungen und/oder Voraussetzungen zumindest teilweise auf Informationen basieren, die sich auf das Endgerät 102 beziehen, das mit der Servicebestimmungsschaltung 218 verbunden ist, beispielsweise Nutzerkontext, Hardwareinformation und/oder dergleichen. Eine Voraussetzung kann bei bestimmten Ausführungsbeispielen einen Nutzerkontext und/oder eine Hardwarebedingung anzeigen, die notwendig ist oder sind, um Zugang zu dem gewünschten Service unter Verwendung der Anwendung und/oder des Verfahrens zur Zuführung, die oder das mit einem bestimmten Eintrag verbunden ist oder sind, zu erlangen, beispielsweise kann die Voraussetzung anzeigen, dass das Endgerät 102 eine Kabelverbindung zum Internet haben muss. Bei anderen Ausführungsbeispielen kann eine Voraussetzung einen Nutzerkontext und/oder eine Hardwarebedingung anzeigen, die zum Zurückweisen des gewünschten Service unter Verwendung der Anwendung und/oder dem Verfahren zur Zuführung, die oder das mit einem bestimmten Eintrag verbunden ist oder sind, führen würden, beispielsweise kann die Voraussetzung anzeigen, dass das Endgerät 102 nicht ausschließlich mit Batteriekraft betrieben werden darf.
  • Bei Ausführungsbeispielen kann die Nutzerkontext- und/oder Hardwareinformation dieselbe sein wie die Nutzerkontext- und/oder Hardwareinformation, die oben bezüglich der Login-Anfrage beschrieben ist, oder kann dieser ähnlich sein oder zusätzlich zu dieser vorliegen. Einige Beispiele einer Nutzerkontextinformation umfassen: Tageszeit, Datum, Betriebssystemtyp, Betriebssystemversion, Standardsprache, unterstützte Sprachen, Browsertyp, Browserversion, Browserplattform, Browserplattformdetails, Browserfensterhöhe, Browserfensterbreite, Bildschirmauflösung und/oder dergleichen. Verschieden Beispiele einer Hardwareinformation umfassen: aktuelle Zentralprozessoreinheit(CPU)-Nutzung, maximale durchschnittliche CPU-Nutzung, Chipsatz, Chipunterstützung für Einmalpasswort (OTP), Ladestatus, Stromquelle, d. h. Batterie oder Stromkabel, Batterieladungsprozentsatz, verbleibende Batteriezeit, aktuelle Speichernutzung, aktuelle verfügbarer Speicher, gesamter installierter Speicher, verfügbarer Festplattenplatz, gesamter Festplattenplatz, Netzwerkbandbreite, Netzwerkverbindungstyp, d. h. kabelgebunden oder drahtlos, Videokartenmodell, aktuelle Bildschirmauflösung, maximale Bildschirmauflösung, unterstütze Bildschirmauflösungen, Mausverfügbarkeit, Keyboardverfügbarkeit, Lautsprecherverfügbarkeit, Mikrofonverfügbarkeit und/oder dergleichen.
  • Das Folgende stellt verschiedene Beispiele von Zurückweisungen bereit, die mit einem Eintrag einer geordneten Liste eines intelligenten Anwendungszuführobjekts verbunden sein können. Bei einem ersten Ausführungsbeispiel kann der Eintrag eine Angabe einer Anwendung zum Bereitstellen des Service und eine damit verbundene Nutzerkontextvoraussetzung aufweisen. Beispielsweise kann der Eintrag angeben, dass die Anwendung mit einem bestimmten Browsertyp, beispielsweise Google Chrome®, inkompatibel ist. Bei einem zweiten Ausführungsbeispiel kann der Eintrag eine Anzeige eines Verfahrens zum Zuführen eines Services und eine damit verbundene Nutzerkontextvoraussetzung aufweisen.
  • Beispielsweise kann der Eintrag angeben, dass die Zufuhr des Service über einen Terminalserver während einer bestimmten Tageszeit eingeschränkt ist. Bei einem dritten Ausführungsbeispiel kann der Eintrag eine Angabe einer Anwendung zum Bereitstellen des Service und eine damit verbundene Hardwarevoraussetzung aufweisen. Beispielsweise kann der Eintrag angeben, dass die Anwendung ein Minimum an installiertem Speicher für den Betrieb erfordert. Bei einem vierten Ausführungsbeispiel kann der Eintrag eine Angabe eines Verfahrens zum Zuführen eines Service und eine damit verbundene Hardwarevoraussetzung umfassen. Beispielsweise kann der Eintrag angeben, dass die Zuführung eines Service über eine Anwendungsvirtualisierung, beispielsweise durch dynamisches Übertragen eines gebündelten ausführbaren Files an das Endgerät 102 zur lokalen Verarbeitung, eine Kabelverbindung zum Internet erfordert. Es sollte verstanden werden, dass verschiedene Voraussetzungen sowie Kombinationen von mehreren Voraussetzungen gemäß weiterer Ausführungsbeispiele mit einem Eintrag verbunden sein können, ohne dass vom Umfang der Erfindung abgewichen wird.
  • Bei manchen Ausführungsbeispielen kann die Servicebestimmungsschaltung 218 zum Bestimmen konfiguriert sein, ob eine in einem Eintrag spezifizierte Anwendung lokal auf dem Endgerät 102 installiert ist. Diesbezüglich kann der Eintrag einen Pfad oder einen Satz von Pfaden zum Anordnen des ausführbaren Files oder anderer Files einer installierten Anwendung spezifizieren. Beispielsweise kann der Eintrag spezifizieren, dass die Servicebestimmungsschaltung 218 das „Program Files”-Verzeichnis eines File-Baums eines Windows®-Betriebssystems sucht. Gemäß einiger Ausführungsbeispiele kann der Eintrag keine Information hinsichtlich des Suchorts für die installierte Anwendung bereitstellen und kann der Suchort durch die Servicebestimmungsschaltung 218 bestimmt werden. Bei bestimmten Ausführungsbeispielen kann die Servicebestimmungsschaltung 218 derart konfiguriert sein, dass sie das ausführbare File in den spezifizierten Pfad(en) und in manchen Fällen in den Unterverzeichnissen des Pfads oder der Pfade sucht. Die Servicebestimmungsschaltung 218 kann derart konfiguriert sein, dass sie eine spezifizierte Anzahl von Levels in den Unterverzeichnissen des Pfads oder der Pfade durchsucht. In weiteren Ausführungsbeispielen kann die Servicebestimmungsschaltung 218 dazu konfiguriert sein, die Anwendung im Register, Systempfad oder an anderen Orten zu suchen. Falls der Ort einer installierten Anwendung gefunden ist, kann die Servicebestimmungsschaltung 218 gemäß Ausführungsbeispielen für eine Speicherung des Orts für eine zukünftige Verwendung sorgen.
  • Gemäß verschiedener Ausführungsbeispiele kann die Servicebestimmungsschaltung 218 derart konfiguriert sein, dass sie Nutzerkontext- und/oder Hardwareinformation bestimmt, die sich auf das Endgerät 102 bezieht, das mit der Servicebestimmungsschaltung 218 verbunden ist. Diesbezüglich kann die Servicebestimmungsschaltung 218 dazu konfiguriert sein, den besonderen Nutzerkontext und/oder die besondere Hardwareinformation zu bestimmen, der und/oder die notwendig sind oder ist, um die Bedingungen der einen oder mehreren Voraussetzungen eines Eintrags einer geordneten Liste eines intelligenten Anwendungszuführobjekts zu evaluieren. Falls beispielsweise eine Bedingung eines bestimmten Eintrags erfordert, dass das Endgerät 102 eine kabelgebundene Netzwerkverbindung haben muss, kann die Servicebestimmungsschaltung 218 zur Bestimmung des Netzwerkverbindungsstatus des Endgeräts 102 konfiguriert sein.
  • Bei Ausführungsbeispielen kann die Servicebestimmungsschaltung 218 zum Bestimmen der Nutzerkontextinformation des Endgeräts 102 über eine oder mehrere Nutzerkontextanfragen konfiguriert sein. Gemäß bestimmter Ausführungsbeispiele kann die Servicebestimmungsschaltung 218 zum Abrufen von Nutzerkontextinformation über eine Programmierschnittstelle (API) konfiguriert sein, die mittels eines Softwareentwicklungssystems (SDK) bereitgestellt wird. Beispielsweise kann eine Nutzerkontextanfrage über einen JavaScript-Funktionsaufruf realisiert werden, beispielsweise von innerhalb eines Internetbrowsers oder eines Desktops, der in einer Browserportalschnittstelle gebildet ist. Die Servicebestimmungsschaltung 218 kann in manchen Fällen zum Abrufen von Nutzerkontextinformation aus dem User-Agent-Feld eines HTTP-Request-Header konfiguriert sein.
  • Gemäß verschiedener Ausführungsbeispiele kann die Servicebestimmungsschaltung 218 zum Bestimmen der Hardwareinformation des Endgeräts 102 über eine oder mehrere Hardwareinformationsanfragen konfiguriert sein. Diesbezüglich kann die Servicebestimmungsschaltung 218 zum Kommunizieren mit einem oder mehreren Hardwaregeräten konfiguriert sein, die mit dem Endgerät 102 verbunden sind. Die Hardwareanfrage kann über eine Programmierschnittstelle (API) erfolgen, die mittels eines Softwareentwicklungssystems (SDK) bereitgestellt wird, das mit einem oder mehreren der Hardwaregeräte verbunden ist. Beispielsweise kann eine Hardwareanfrage über einen JavaScript-Funktionsaufruf erfolgen, beispielsweise von innerhalb eines Internetbrowsers oder eines Desktops, der in einer Browserportalschnittstelle gebildet ist. Bei manchen Ausführungsbeispielen entspricht jede Hardwareanfrage einem einzelnen Teil einer Hardwareinformation. Bei anderen Ausführungsbeispielen kann eine einzelne Hardwareanfrage zu mehr als einem Teil an Hardwareinformation korrespondieren.
  • Bei manchen Ausführungsbeispielen kann die Servicebestimmungsschaltung 218 zum Bereitstellen einer Speicherung von Nutzerkontext- und/oder Hardwareinformation konfiguriert sein. Diesbezüglich kann die Servicebestimmungsschaltung 218 Zugang zu der gespeicherten Nutzerkontext- und/oder Hardwareinformation haben, anstatt wiederholt dieselbe Information zu erfragen. Bei anderen Ausführungsbeispielen kann die Servicebestimmungsschaltung 218 dazu konfiguriert sein, die Information jedes Mal anzufragen, um zu garantieren, dass die Information aktuell ist und sich nicht seit einer vorherigen Anfrage verändert hat.
  • Gemäß Ausführungsbeispielen kann die Servicebestimmungsschaltung 218 dazu konfiguriert sein, die Bedingungen der einen oder der mehreren Voraussetzungen eines Eintrag einer geordneten Liste eines intelligenten Anwendungszuführobjekts zumindest teilweise auf der Basis der bestimmten Nutzerkontext- und/oder Hardwareinformation zu evaluieren. Diesbezüglich kann die Servicebestimmungsschaltung 218 dazu konfiguriert sein, die Nutzerkontext- und/oder Hardwareinformation des Endgeräts 102, das mit der Servicebestimmungsschaltung 218 verbunden ist, mit den Bedingungen der einen oder der mehrere Voraussetzungen, die mit einem bestimmten Eintrag verbunden sind, zu vergleichen. Bei manchen Ausführungsbeispielen kann die Servicebestimmungsschaltung 218 bestimmen, dass der Nutzerkontext und/oder die Hardware des Endgeräts 102 die Voraussetzungen des Eintrags erfüllen. Bei diesen Ausführungsbeispielen kann die Servicebestimmungsschaltung 218 dazu konfiguriert sein, die Anwendung und/oder das Verfahren zur Zuführung auszuwählen, die oder das dem Eintrag zum Bereitstellen des angefragten Service entsprechen oder entspricht. Bei weiteren Ausführungsbeispielen kann die Servicebestimmungsschaltung 218 bestimmen, dass die Hardware des Endgeräts 102 die Voraussetzungen des Services nicht erfüllt. Bei diesen Ausführungsbeispielen kann die Servicebestimmungsschaltung 218 zum Zurückweisen des Eintrags und zum Evaluieren des nachfolgenden Eintrags in der geordneten Listen konfiguriert sein.
  • Gemäß einiger Ausführungsbeispiele können die Bedingungen und/oder Voraussetzungen eines jeden Eintrags in der geordneten Liste nicht erfüllt sein. In diesen Fällen kann die Servicebestimmungsschaltung 218 zum Bereitstellen einer Anzeige an den Nutzer konfiguriert sein, dass der Service aufgrund des Nutzerkontexts und/oder der Hardwarekonfiguration des Endgeräts 102 nicht verfügbar ist. Die Anzeige kann einen oder mehrere der Nutzerkontexte und/oder Hardwarevoraussetzungen anzeigen, die durch das Endgerät 102 nicht erfüllt werden, was zur Unverfügbarkeit des Services führte. Bei einigen Ausführungsbeispielen können eine oder mehrere Voraussetzungen statische Bedingungen sein, die während einer Session mit dem Portalumgebungssystem nicht verändert werden können. Beispielsweise kann eine Voraussetzung angeben, dass ein bestimmter Chipsatz für den Zugang zu dem angefragten Service erforderlich ist. In diesem Fall kann ein Nutzer nicht dazu in der Lage sein, dieses Problem während der Session durch Austausch des Chipsatzes des Endgeräts 102 zu lösen. Um einen Zugang zu dem angefragten Service zu erhalten, kann ein Nutzer aufgefordert werden, aus der Session auszuloggen, das Problem zu lösen und ein Einloggen wieder zu versuchen. Der Nutzer kann auch aus der Session ausloggen und versuchen, von einem verschiedenen Endgerät 102 einzuloggen, das zum Erfüllen der Bedingungen und/oder Voraussetzungen des angefragten Services konfiguriert ist.
  • Bei anderen Ausführungsbeispielen können eine oder mehrere Voraussetzungen keine statischen Bedingungen sein, beispielsweise kann der Service erfordern, dass das Endgerät 102 eine kabelgebundene Netzwerkverbindung hat oder über einen bestimmten Internetbrowser auf den Service zugreift. In diesen Fällen kann der Nutzer die nicht-statische Bedingung justieren, um die Voraussetzung zu erfüllen. Gemäß dem oben diskutierten Beispiel, kann der Nutzer eine kabelgebundene Netzwerkverbindung zu dem Endgerät 102 etablieren, um die Voraussetzung der kabelgebundenen Netzwerkverbindung zu erfüllen, oder zu dem geforderten Browser wechseln. Der Nutzer kann dann eine Angabe an die Servicebestimmungsschaltung 218 bereitstellen, dass die Bedingung eingestellt worden ist, um die Hardwarevoraussetzung zu erfüllen, beispielsweise durch ein erneutes Auswählen einer Darstellung, die mit dem Service von der Portalschnittstelle verbunden ist.
  • Gemäß verschiedener Ausführungsbeispiele kann die Servicebestimmungsschaltung 218 derart konfiguriert sein, dass sie eine Übertragung eines Berichts zu dem Server 122 bereitstellt, der den bestimmten Eintrag angibt, für welchen das Endgerät alle der Bedingungen und/oder Voraussetzungen erfüllt hat, die mit dem Service verbunden sind. Bei Ausführungsbeispielen, bei denen die Voraussetzungen erfüllt worden sind, kann der Bericht fordern, dass der Server 122 Zugang zu dem Service über die Anwendung und/oder das Verfahren zum Zuführen erlaubt, die und/oder das in dem jeweiligen Eintrag angegeben sind oder ist. Bei anderen Ausführungsbeispielen, bei denen die Bedingungen und/oder Voraussetzungen nicht für irgendeinen der Einträge erfüllt sind, kann der Bericht fordern, dass der Server keinen Zugang zu dem Service bereitstellt.
  • Server
  • Unter jetziger Bezugnahme auf die 3, stellt die 3 ein Blockdiagramm eines Servers 122 gemäß einem Ausführungsbeispiel dar. Bei dem Ausführungsbeispiel umfasst der Server 122 verschiedene Komponenten zum Durchführen der hier beschriebenen verschiedenen Funktionen. Diese Komponenten können einen oder mehrere von einem Prozessor 310, von einem Speicher 312, von einer Kommunikationsschnittstelle 314 oder von einer Servicekonfigurationsschaltung 316 aufweisen. Die Komponenten des Servers 122, wie er hierin beschrieben ist, können beispielsweise als Schaltung, Hardwareelemente, beispielsweise ein geeignet programmierter Prozessor, eine kombinatorische Logikschaltung und/oder dergleichen, ein Computerprogrammprodukt, das computerlesbare Programmanweisungen, beispielsweise Software oder Firmware, aufweist, die in einem computerlesbaren Medium, beispielsweise der Speicher 312, gespeichert sind, und das mittels eines geeignet konfigurieren Rechengeräts, beispielsweise der Prozessor 310, ausführbar ist, oder einige Kombinationen davon realisiert sein.
  • Bei einigen Ausführungsbeispielen können eine oder mehrere der in 3 gezeigten Komponenten als ein Chip oder Chipsatz ausgebildet sein. Mit anderen Worten kann der Server 122 eine oder mehrere physikalische Anordnungen, beispielsweise Chips, aufweisen, die Materialien, Komponenten und/oder Drähte auf einer strukturellen Anordnung, beispielsweise eine Sockelleiste, aufweisen. Die strukturelle Anordnung kann physikalische Festigkeit, Größenerhalt und/oder eine Begrenzung elektrischer Wechselwirkung für eine Komponentenschaltung bereitstellen, die darauf zusammengesetzt ist. Diesbezüglich können der Prozessor 310, der Speicher 312, die Kommunikationsschnittstelle 314 und/oder die Servicekonfigurationsschaltung 316 als ein Chip oder Chipsatz realisiert sein. Der Server 122 kann daher bei einigen Ausführungsbeispielen derart konfiguriert sein, dass er Ausführungsbeispiele der vorliegenden Erfindung auf einem einzelnen Chip oder als ein einzelnes „System auf einem Chip” implementiert. Als ein weiteres Beispiel kann der Server 122 in einigen Ausführungsbeispielen eine Komponente oder Komponenten aufweisen, die dazu konfiguriert sind, Ausführungsbeispiele der vorliegenden Erfindung auf einem einzelnen Chip oder als ein einzelnes „System auf einem Chip” zu implementieren. Von daher kann in einigen Fällen ein Chip oder Chipsatz Komponenten zum Ausführen einer oder mehrerer Operationen zur Bereitstellung der hierin beschriebenen Funktionalitäten bilden.
  • Der Prozessor 310 kann beispielsweise in Form verschiedener Komponenten realisiert sein, einschließlich einem oder mehrerer Mikroprozessoren, einem oder mehrerer Prozessoren, einem oder mehrerer Koprozessoren, einem oder mehrerer Multikernprozessoren, einem oder mehrerer Controller, Prozessschaltungen, einem oder mehrerer Computer, verschiedener anderer Prozesselemente, einschließlich integrierter Schaltungen oder einiger Kombinationen davon. Obgleich in 3 als ein einzelner Prozessor dargestellt, umfasst folglich in einigen Ausführungsbeispielen der Prozessor 310 eine Vielzahl von Prozessoren. Die Vielzahl von Prozessoren kann in operativer Kommunikation miteinander vorliegen und kann kollektiv konfiguriert sein, um eine oder mehrere Funktionalitäten des Servers 122 – wie hierin beschrieben – auszuführen. Die Vielzahl von Prozessoren kann auf einem einzelnen Rechengerät realisiert sein oder über eine Vielzahl von Rechengeräten verteilt sein, die kollektiv konfiguriert sind, um als der Server 122 zu funktionieren. Bei manchen Ausführungsbeispielen ist der Prozessor 310 konfiguriert, um Anweisungen auszuführen, die in dem Speicher 312 gespeichert sind oder dem Prozessor 310 auf andere Weise zugänglich sind. Diese Anweisungen können den Server 122 dazu veranlassen, eine oder mehrere der Funktionalitäten des hierin beschriebenen Servers 122 auszuführen, wenn sie durch den Prozessor 310 ausgeführt werden. Ungeachtet der Tatsache, ob er durch Hardware oder Softwareverfahren oder durch eine Kombination davon konfiguriert ist, kann der Prozessor 310 von daher eine Einheit umfassen, die zum Durchführen von Operationen gemäß Ausführungsbeispielen der vorliegenden Erfindung in der Lage ist, wenn sie entsprechend konfiguriert ist. Wenn der Prozessor 310 beispielsweise als ein Ausführer von Anweisungen realisiert ist, die beispielsweise in dem Speicher 312 gespeichert sein können, können daher die Anweisungen den Prozessor 310 spezifisch konfigurieren, um einen oder mehrere der hier beschriebenen Algorithmen und Operationen auszuführen.
  • Der Speicher 312 kann beispielsweise einen flüchtigen Speicher, einen Permanentspeicher oder Kombinationen davon aufweisen. Diesbezüglich kann der Speicher 312 einen oder mehrere materielle und/oder nicht-flüchtige computerlesbare Speichermedien aufweisen, die flüchtige und/oder nicht-flüchtige Speicher aufweisen können. Obgleich in 3 als ein einzelner Speicher dargestellt, kann der Speicher 312 eine Vielzahl von Speichern aufweisen. Die Vielzahl von Speichern kann in einem einzelnen Rechengerät realisiert sein oder kann über eine Vielzahl von Rechengeräten verteilt sein, die kollektiv konfiguriert sind, um als der Server 122 zu funktionieren. Bei verschiedenen Ausführungsbeispielen kann der Speicher 312 eine Festplatte, einen Schreib-Lese-Speicher, einen Cache-Speicher, einen Flash-Speicher, ein Compact Disc Read Only Memory (CD-ROM), ein Digital Versatile Disc Read Only Memory (DVD-ROM), eine optische Disk, eine Schaltung, die zum Speichern von Informationen konfiguriert ist, oder einige Kombinationen davon aufweisen. Der Speicher 312 kann zum Speichern von Information, Daten, Anwendungen, Anweisungen oder dergleichen konfiguriert sein, um dem Server 122 zu ermöglichen, verschiedene Funktionen gemäß verschiedenen Ausführungsbeispielen auszuführen. Beispielsweise ist der Speicher 312 bei einigen Ausführungsbeispielen zum Puffern von Eingangsdaten zur Verarbeitung durch den Prozessor 310 konfiguriert. Zusätzlich oder alternativ hierzu kann der Speicher 312 zum Speichern von Programmanweisungen zur Ausführung durch den Prozessor 310 konfiguriert sein. Der Speicher 312 kann Information in Form von statischer und/oder dynamischer Information speichern. Diese gespeicherte Information kann durch die Servicekonfigurationsschaltung 316 während des Ablaufs ihrer Funktionalitäten gespeichert und/oder verwendet werden.
  • Die Kommunikationsschnittstelle 314 kann als irgendeine Einrichtung oder Komponente realisiert sein, die in einer Schaltung, Hardware, einem Computerprogrammprodukt, das computerlesbare Programmanweisungen aufweist, die in einem computerlesebaren Medium, beispielsweise der Speicher 312, gespeichert sind, und mittels eines Prozessgeräts, beispielsweise der Prozessor 310, ausgeführt werden, oder einer Kombination davon realisiert ist, die oder das zum Empfangen und/oder Übermitteln von Daten von/zu einem anderen Rechengerät konfiguriert ist.
  • Bei einem Ausführungsbeispiel ist die Kommunikationsschnittstelle 314 zumindest teilweise durch den Prozessor 310 realisiert oder auf andere Weise durch den Prozessor 310 gesteuert. Diesbezüglich kann die Kommunikationsschnittstelle 314 mit dem Prozessor 310 in Kommunikation sein, beispielsweise über einen Bus. Die Kommunikationsschnittstelle 314 kann beispielsweise eine Netzwerkkarte, beispielsweise kabelgebunden oder drahtlos, eine Antenne, einen Transmitter, einen Receiver und/oder unterstützende Hardware oder Software zum Ermöglichen von Kommunikationen mit einem oder mehreren entfernten Rechengeräten aufweisen. Die Kommunikationsschnittstelle 314 kann zum Empfangen und/oder Übertragen von Daten unter Verwendung irgendeines Protokolls konfiguriert sein, das für Kommunikationen zwischen Rechengeräten verwendet werden kann. Diesbezüglich kann die Kommunikationsschnittstelle 314 zum Empfangen und/oder Übertragen von Daten unter Verwendung irgendeines Protokolls konfiguriert sein, das zur Übertragung von Daten über ein drahtloses Netzwerk, kabelgebundenes Netzwerk, einige Kombinationen davon oder dergleichen verwendet werden kann, über welches der Server 122 und ein oder mehrere Rechengeräte oder eine oder mehrere Rechenressourcen in Kommunikation sein können. Beispielsweise kann die Kommunikationsschnittstelle 314 zum Ermöglichen einer Kommunikation zwischen dem Server 122 und einem weiteren Gerät konfiguriert sein, beispielsweise ein Relaisgerät 150 oder ein Endgerät 102. Die Kommunikationsschnittstelle 314 kann zusätzlich mit dem Speicher 312 und/oder der Servicekonfigurationsschaltung 316 in Kommunikation sein, beispielsweise über einen Bus.
  • Die Servicekonfigurationsschaltung 316 kann in Form verschiedener Komponenten realisiert sein, beispielsweise eine Schaltung, Hardware, ein Computerprogrammprodukt, das computerlesbare Programmanweisungen aufweist, die in einem computerlesbaren Medium, beispielsweise der Speicher 312, gespeichert sind, und mittels eines Rechengeräts, beispielsweise der Prozessor 310, ausgeführt werden, oder einige Kombinationen davon, und ist bei manchen Ausführungsbeispielen durch den Prozessor 310 realisiert oder andernfalls durch den Prozessor 310 gesteuert. Bei Ausführungsbeispielen, bei denen die Servicekonfigurationsschaltung 316 separat von dem Prozessor 310 realisiert ist, kann die Servicekonfigurationsschaltung 316 mit dem Prozessor 310 in Kommunikation sein. Die Servicekonfigurationsschaltung 316 kann des Weiteren mit einem oder mehreren von dem Speicher 312 und/oder von der Kommunikationsschnittstelle 314 in Kommunikation sein, beispielsweise über einen Bus.
  • Gemäß verschiedener Ausführungsbeispiele kann die Servicekonfigurationsschaltung 316 zum Erzeugen eines oder mehrerer intelligenter Anwendungszuführobjekte konfiguriert sein. Diesbezüglich kann die Servicekonfigurationsschaltung 316 bei bestimmten Ausführungsbeispielen eine Schnittstelle bereitstellen, so dass ein Nutzer oder Administrator die intelligenten Anwendungszuführobjekte konfigurieren kann. Jedes des einen oder der mehreren intelligenten Anwendungszuführobjekte kann eine geordneten Liste aus einem oder mehreren Einträgen aufweisen, so dass jeder Eintrag eine Angabe einer Anwendung und/oder eines Zuführverfahrens zum Bereitstellen eines besonderen Service bereitstellt. Bei manchen Ausführungsbeispielen kann jeder Eintrag eine oder mehrere Bedingungen und/oder Voraussetzungen aufweisen, die vor der Bereitstellung des Service unter Verwendung der in dem Eintrag angegebenen Anwendung und/oder Zuführmethode erfüllt sein müssen. Die Servicekonfigurationsschaltung 316 kann dazu konfiguriert sein, den einen oder die mehreren Einträge in der geordneten Liste gemäß verschiedener Präferenzen zu priorisieren oder einem Administrator, beispielsweise über eine Schnittstelle, ein solches Priorisieren zu ermöglichen. Gemäß Ausführungsbeispielen kann die Servicekonfigurationsschaltung 316 zum Bereitstellen einer Speicherung des einen oder der mehreren intelligenten Anwendungszuführobjekte konfiguriert sein, beispielsweise in einem Lightweight Directory Access Protocol(LDAP)-Verzeichnis.
  • Die Servicekonfigurationsschaltung 316 kann in manchen Ausführungsbeispielen dazu konfiguriert sein, eine oder mehrere Konfigurationsoptionen mit jedem des einen oder der mehreren Einträge eines besonderen intelligenten Anwendungszuführobjekts in Verbindung zu bringen. Beispielsweise kann eine Konfigurationsoption angeben, ob die verbundene Anwendung nativ oder innerhalb des Portalumgebungssystems, beispielsweise ein Desktop innerhalb eines Browsers, bereitzustellen ist, und/oder kann die Größe, d. h. Höhe und Breite, des Fensters zum Bereitstellen des Services, den Ort des Fensters zum Bereitstellen des Services und/oder dergleichen angeben.
  • Bei manchen Ausführungsbeispielen kann die Servicekonfigurationsschaltung 316 dazu konfiguriert sein, eine Anfrage von einem Endgerät 102 für ein Einloggen eines Nutzers in einem webbasierten Portal zu empfangen, das durch den mit der Servicekonfigurationsschaltung 316 verbundenen Server 122 bereitgestellt wird. Bei bestimmten Ausführungsbeispielen kann die Login-Anfrage Nutzerkontext und/oder Hardwareinformation über das Endgerät 102 aufweisen. Bei Ausführungsbeispielen kann die Servicekonfigurationsschaltung 316 zum Bereitstellen einer Speicherung der Nutzerkontext- und/oder Hardwareinformation konfiguriert sein, die mit dem Endgerät 102 in Verbindung sind oder ist. Die Servicekonfigurationsschaltung 316 kann eine Übertragung von Konfigurationsinformation für die webbasierte Portalschnittstelle zu dem Endgerät 102 bereitstellen, in manchen Fällen über ein Relaisgerät 150. Die Konfigurationsinformation kann einen oder mehrere Services und/oder intelligente Anwendungszuführobjekte angeben, um diese dem Nutzer verfügbar zu machen. Diesbezüglich kann sich ein Service auf jeden Service oder jede Anwendung beziehen zu dem oder zu der ein Zugang über das Portalumgebungssystem bereitgestellt wird, ungeachtet der Tatsache, ob er oder sie auf dem Endgerät 102, in dem Rechenzentrum oder auf einer entfernten Einrichtung angeordnet ist.
  • Gemäß verschiedener Ausführungsbeispiele können der eine oder die mehreren angegebenen Services und/oder intelligenten Anwendungszuführobjekte mittels der Servicekonfigurationsschaltung 316 bestimmt werden, und zwar zumindest teilweise basierend auf der Nutzerkontext- und/oder Hardwareinformation, die in der Login-Anfrage bereitgestellt ist. Diesbezüglich kann in einem Fall, in dem beispielsweise die Hardwareinformation des Endgeräts 102 nicht die Hardwarevoraussetzungen eines bestimmten Services erfüllt, dieser Service eingeschränkt und daher dem Nutzer nicht verfügbar gemacht werden. In ähnlicher Weise kann bei bestimmten Ausführungsbeispielen jeder Eintrag in einem intelligenten Anwendungszuführobjekt, der mit einer eingeschränkten Anwendung und/oder Zuführmethode für einen Service in Verbindung ist, entfernt werden oder zur Weglassung in dem intelligenten Anwendungszuführobjekt markiert werden. Bei anderen Ausführungsbeispielen kann ein intelligentes Anwendungszuführobjekt als Antwort auf eine Login-Anfrage nicht verändert werden.
  • Bei bestimmten Ausführungsbeispielen kann die Servicekonfigurationsschaltung 316 nicht alle Services und/oder Einträge in intelligenten Anwendungszuführobjekten einschränken, bei denen die Nutzerkontext- und/oder Hardwarevoraussetzungen beim Login nicht erfüllt sind. Diesbezüglich kann die Servicekonfigurationsschaltung 316 diejenigen Services und/oder Einträge am Anfang zurückweisen, deren Nutzerkontext- und/oder Hardwarevoraussetzungen sich auf Nutzerkontext- und/oder Hardwareinformation des Endgeräts 102 beziehen, die während einer Session statisch bleibt, beispielsweise Videokartentyp, gesamter installierter Speicher oder dergleichen. Die Servicekonfigurationsschaltung 316 kann diejenigen Services und/oder Einträge nicht zurückweisen, deren Nutzerkontext- und/oder Hardwarevoraussetzungen sich auf Nutzerkontext- und/oder Hardwareinformation beziehen, die sich während einer Session verändern können, beispielsweise Browsertyp, Netzwerkverbindungstyp, Stromquelle oder dergleichen.
  • Gemäß verschiedener Ausführungsbeispiele kann die Servicekonfigurationsschaltung 316 zum Empfangen einer Anfrage für einen Service von einem Endgerät 102 konfiguriert sein. Bei manchen Ausführungsbeispielen kann der Service über ein intelligentes Anwendungszuführobjekt angefragt werden. Diesbezüglich kann die Anfrage bei Ausführungsbeispielen als Reaktion auf eine Nutzeranfrage nach einem besonderen intelligenten Anwendungszuführobjekt bei dem Endgerät 102 empfangen werden, wobei die Nutzeranfrage beispielsweise über eine Darstellung, beispielsweise ein Icon oder ein Menüpunkt, erfolgen kann, die mit einem intelligenten Anwendungszuführobjekt verbunden ist, das auf einer Portalschnittstelle angezeigt ist. Bei Ausführungsbeispielen kann die Serviceanfrage Nutzerkontext- und/oder Hardwareinformation über das Endgerät 102 aufweisen.
  • Die Servicekonfigurationsschaltung 316 kann bei bestimmten Ausführungsbeispielen das intelligente Anwendungszuführobjekt abrufen, das mit der Serviceanfrage verbunden ist. In Fällen, in denen die Servicekonfigurationsschaltung 316 nicht vorher die eine oder die mehreren Voraussetzungen der Einträge in dem intelligenten Anwendungszuführobjekt während des Logins evaluiert hat oder in denen die Serviceanfrage Nutzerkontext- und/oder Hardwareinformation aufweist, kann die Servicekonfigurationsschaltung 316 dazu konfiguriert sein, die Voraussetzungen jedes der Einträge zu evaluieren, und zwar zumindest teilweise basierend auf der Nutzerkontext- und/oder Hardwareinformation, die durch das Endgerät 102 bereitgestellt ist. Diesbezüglich kann die Servicekonfigurationsschaltung 316 dazu konfiguriert sein, den einen oder die mehreren Einträge, für die der Nutzerkontext und/oder die Hardwareinformation die Voraussetzungen nicht erfüllen oder erfüllt, zu entfernen oder für eine Weglassung zu markieren. Gemäß anderer Ausführungsbeispiele kann die Servicekonfigurationsschaltung 316 die Voraussetzungen der Einträge des intelligenten Anwendungszuführobjekts nicht weiter evaluieren. Bei manchen Ausführungsbeispielen kann die Servicekonfigurationsschaltung 316 dazu konfiguriert sein, die Nutzerkontext- und/oder Hardwareinformation aus einem Speicher abzurufen und die Einträge des intelligenten Anwendungszuführobjekts zu evaluieren.
  • Bei Ausführungsbeispielen kann die Servicekonfigurationsschaltung 316 dazu konfiguriert sein, eine Übertragung des intelligenten Anwendungszuführobjekts, das mit dem angefragten Service in Verbindung ist, zu dem Endgerät 102 bereitzustellen. Diesbezüglich kann das intelligente Anwendungszuführobjekt in einer Textfolge enthalten sein, beispielsweise eine Textfolge, die ein serialisiertes JavaScript Objekt Notation(JSON)-Objekt darstellt. Die Darstellung des intelligenten Anwendungszuführobjekts kann oder kann nicht die Einträge aufweisen, für die die Nutzerkontext- und/oder Hardwareinformation des Endgeräts 102, das der Servicekonfigurationsschaltung 316 bekannt ist, nicht erfüllt ist.
  • Gemäß verschiedener Ausführungsbeispiele kann die Servicekonfigurationsschaltung 316 dazu konfiguriert sein, eine Anzeige der Anwendung und/oder der Zuführmethode des angefragten Service von dem Endgerät 102 zu empfangen. Beispielsweise kann die Servicekonfigurationsschaltung 316 eine Mitteilung von dem Endgerät 102 empfangen, die den Eintrag des intelligenten Anwendungszuführobjekts anzeigt, das die Anwendung und/oder die Zuführmethode des Services umfasst. Die Servicekonfigurationsschaltung 316 kann bei Ausführungsbeispielen den Service zu dem Endgerät 102 auf eine Weise zuführen, die durch den Eintrag angegeben ist, oder in Fällen, in denen der Service früher zugeführt worden, oder lokal bei dem Endgerät 102 verfügbar ist, eine Übertragung einer Mitteilung zu dem Endgerät 102 bereitstellen, die den Zugang zu dem Service autorisiert. Bei Ausführungsbeispielen, bei denen die Nutzerkontext- und/oder Hardwarevoraussetzungen nicht für jeden der Einträge des intelligenten Anwendungszuführobjekts erfüllt sind, kann die Servicekonfigurationsschaltung 316 dazu konfiguriert sein, die Zuführung des angefragten Service nicht bereitzustellen.
  • Relaisgerät
  • Unter jetziger Bezugnahme auf die 4 stellt die 4 ein Blockdiagramm eines Relaisgeräts 150 gemäß einem Ausführungsbeispiel dar. Bei dem Ausführungsbeispiel umfasst das Relaisgerät 150 verschiedene Komponenten zur Durchführung der hier beschriebenen verschiedenen Funktionen. Diese Komponenten können einen oder mehrere von einem Prozessor 410, von einem Speicher 412, von einer Kommunikationsschnittstelle 414 oder von einer Relaismanagementschaltung 416 aufweisen. Die Komponenten des hier beschriebenen Relaisgeräts 150 können beispielsweise als Schaltung, Hardwareelemente, beispielsweise ein geeignet programmierter Prozessor, eine kombinatorische Logikschaltung und/oder dergleichen, ein Computerprogrammprodukt, das computerlesebare Programmanweisungen, beispielsweise Software oder Firmware, aufweist, die in einem computerlesbaren Medium, beispielsweise der Speicher 412 gespeichert sind, und das mittels eines geeignet konfigurierten Rechengeräts, beispielsweise der Prozessor 410 ausführbar ist, oder einige Kombinationen davon realisiert sein.
  • Bei manchen Ausführungsbeispielen können eine oder mehrere der in 4 dargestellten Komponenten als ein Chip oder Chipsatz realisiert sein. Mit anderen Worten kann das Relaisgerät 150 eine oder mehrere physikalische Anordnungen, beispielsweise Chips, aufweisen, die Materialien, Komponenten und/oder Drähte auf einer strukturellen Anordnung, beispielsweise eine Sockelleiste, aufweisen. Die strukturelle Anordnung kann physikalische Festigkeit, Größenerhalt und/oder die Begrenzung elektrischer Wechselwirkung für eine darauf ausgebildete Schaltung aus den Komponenten bereitstellen. Diesbezüglich können der Prozessor 410, der Speicher 412, die Kommunikationsschnittstelle 414 und/oder die Relaismanagementschaltung 416 als ein Chip oder Chipsatz realisiert sein. Das Relaisgerät 150 kann daher bei manchen Ausführungsbeispielen dazu konfiguriert sein, Ausführungsbeispiele der vorliegenden Erfindung auf einem einzelnen Chip oder als ein einzelnes „System auf einem Chip” zu implementieren. Als weiteres Beispiel kann das Relaisgerät 150 bei manchen Ausführungsbeispielen eine Komponente oder Komponenten aufweisen, die dazu konfiguriert ist oder sind, Ausführungsbeispiele der vorliegenden Erfindung auf einem einzelnen Chip oder als ein einzelnes „System auf einem Chip” zu implementieren. Von daher kann in manchen Fällen ein Chip oder Chipsatz Komponenten zur Durchführung einer oder mehrere Operationen zur Bereitstellung der hier beschrieben Funktionalitäten bilden.
  • Der Prozessor 410 kann beispielsweise in Form verschiedener Komponenten realisiert sein, einschließlich einem oder mehrerer Mikroprozessoren, einem oder mehrerer Prozessoren, einem oder mehrerer Koprozessoren, einem oder mehrerer Multikernprozessoren, einem oder mehrerer Controller, einer Prozessschaltung, einem oder mehrerer Computer, verschiedener anderer Rechenelemente, einschließlich integrierter Schaltungen, oder einiger Kombinationen davon. Obgleich in 4 als ein einzelner Prozessor dargestellt, umfasst daher bei manchen Ausführungsbeispielen der Prozessor 410 eine Vielzahl von Prozessoren. Die Vielzahl von Prozessoren kann in operativer Kommunikation miteinander sein und kann kollektiv dazu konfiguriert sein, eine oder mehrere Funktionalitäten des hier beschriebenen Relaisgeräts 150 auszuführen. Die Vielzahl von Prozessoren kann auf einem einzelnen Rechengerät realisiert sein oder über eine Vielzahl von Rechengeräten verteilt sein, die kollektiv dazu konfiguriert sind, als das Relaisgerät 150 zu funktionieren. Bei manchen Ausführungsbeispielen ist der Prozessor 410 dazu konfiguriert, Anweisungen auszuführen, die in dem Speicher 412 gespeichert oder dem Prozessor 410 auf andere Weise zugänglich sind. Diese Anweisungen – wenn ausgeführt durch den Prozessor 410 – können das Relaisgerät 150 dazu veranlassen, eine oder mehrere der Funktionalitäten des hierin beschriebenen Relaisgeräts 150 auszuführen. Ob durch Hardware oder Softwareverfahren oder durch eine Kombination davon konfiguriert, kann von daher der Prozessor 410 eine Einrichtung aufweisen, die zum Durchführen von Operationen gemäß Ausführungsbeispielen der vorliegenden Erfindung in der Lage ist, falls sie entsprechend konfiguriert ist. Wenn beispielsweise der Prozessor 410 als ein Ausführer von Anweisungen realisiert ist, die beispielsweise in dem Speicher 412 gespeichert sein können, können daher die Anweisungen den Prozessor 410 spezifisch dazu konfigurieren, einen oder mehrere der hierin beschriebenen Algorithmen und Operationen auszuführen.
  • Der Speicher 412 kann beispielsweise einen flüchtigen Speicher, einen Permanentspeicher oder einige Kombinationen davon aufweisen. Diesbezüglich kann der Speicher 412 einen oder mehrere materielle und/oder nicht-flüchtige computerlesbare Speichermedien aufweisen, die flüchtige und/oder nicht-flüchtige Speicher aufweisen können. Obgleich in 4 als ein einzelner Speicher dargestellt, kann der Speicher 412 eine Vielzahl von Speichern aufweisen. Die Vielzahl von Speichern kann auf einem einzelnen Rechengerät realisiert oder über eine Vielzahl von Rechengeräten verteilt sein, die kollektiv dazu konfiguriert sind, als das Relaisgerät 150 zu funktionieren. Bei verschiedenen Ausführungsbeispielen kann der Speicher 412 eine Festplatte, einen Schreib-Lese-Speicher, einen Cache-Speicher, einen Flash-Speicher, ein Compact Disc Read Only Memory (CD-ROM), ein Digital Versatile Disc Read Only Memory (DVD-ROM), eine optische Disk, einen zum Speichern von Information konfigurierten Schaltkreis oder einige Kombinationen davon aufweisen. Der Speicher 412 kann zum Speichern von Information, Daten, Anwendungen, Anweisungen oder dergleichen konfiguriert sein, um das Relaisgerät 150 zum Ausführen verschiedener Funktionen gemäß verschiedener Ausführungsbeispiele zu befähigen. Beispielsweise ist der Speicher 412 bei manchen Ausführungsbeispielen zum Puffern von Eingangsdaten zur Verarbeitung durch den Prozessor 412 konfiguriert. Zusätzlich oder alternativ hierzu kann der Speicher 412 zum Speichern von Programmanweisungen zur Ausführung durch den Prozessor 410 konfiguriert sein. Der Speicher 412 kann Information in der Form von statischer und/oder dynamischer Information speichern. Diese gespeicherte Information kann durch die Relaismanagementschaltung 416 während der Durchführung ihrer Funktionalitäten gespeichert und/oder verwendet werden.
  • Die Kommunikationsschnittstelle 414 kann als eine Einrichtung oder Komponente realisiert sein, die in einer Schaltung, Hardware, einem Computerprogrammprodukt, das computerlesebare Programmanweisungen aufweist, die in einem computerlesbaren Medium, beispielsweise der Speicher 412, gespeichert sind und mittels eines Rechengeräts, beispielsweise der Prozessor 410, ausgeführt werden, oder in einer Kombination davon realisiert ist und die zum Empfangen und/oder Übermitteln von Daten von/zu einem anderen Rechengerät konfiguriert ist. Bei einem Ausführungsbeispiel ist die Kommunikationsschnittstelle 414 zumindest teilweise durch den Prozessor 410 realisiert oder andernfalls durch den Prozessor 410 gesteuert. Diesbezüglich kann die Kommunikationsschnittstelle 414 mit dem Prozessor 410 in Kommunikation sein, beispielsweise über einen Bus. Die Kommunikationsschnittstelle 414 kann beispielsweise eine Netzwerkkarte, beispielsweise kabelgebunden oder drahtlos, eine Antenne, einen Transmitter, einen Receiver und/oder unterstützende Hardware oder Software zum Ermöglichen von Kommunikationen mit einem oder mehreren entfernten Rechengeräten aufweisen. Die Kommunikationsschnittstelle 414 kann dazu konfiguriert sein, Daten unter Verwendung irgendeines Protokolls zu empfangen und/oder zu übermitteln, das für Kommunikationen zwischen Rechengeräten verwendet werden kann. Diesbezüglich kann die Kommunikationsschnittstelle 414 derart konfiguriert sein, dass sie Daten unter Verwendung irgendeines Protokolls empfangen und/oder übermitteln kann, das zur Übertragung von Daten über ein drahtloses Netzwerk, kabelgebundenes Netzwerk oder Kombinationen davon oder dergleichen verwendet werden kann, über welches das Relaisgerät 150 und ein oder mehrere Rechengeräte oder Computerressourcen in Kommunikation sein können. Als ein Beispiel kann die Kommunikationsschnittstelle 414 dazu konfiguriert sein, eine Kommunikation zwischen dem Relaisgerät 150 und einem anderen Gerät, beispielsweise ein Endgerät 102 oder ein Server 122, zu ermöglichen. Die Kommunikationsschnittstelle 414 kann zusätzlich mit dem Speicher 412 und/oder der Relaismanagementschaltung 416 in Kommunikation sein, beispielsweise über einen Bus.
  • Die Relaismanagementschaltung 416 kann durch verschiedene Komponenten realisiert sein, beispielsweise eine Schaltung, eine Hardware, ein Computerprogrammprodukt, das computerlesbare Programmanweisungen aufweist, die in einem computerlesbaren Medium, beispielsweise der Speicher 412, gespeichert werden und mittels eines Rechengeräts, beispielsweise der Prozessor 410, ausgeführt werden, oder einige Kombinationen davon, und ist in manchen Ausführungsbeispielen durch den Prozessor 410 gebildet oder andernfalls durch den Prozessor 410 gesteuert. Bei Ausführungsbeispielen, bei denen die Relaismanagementschaltung 416 separat von dem Prozessor 410 realisiert ist, kann die Relaismanagementschaltung 416 in Kommunikation mit dem Prozessor 410 sein. Die Relaismanagementschaltung 416 kann weiterhin mit einem oder mehreren von dem Speicher 412 und/oder von der Kommunikationsschnittstelle 414 in Kommunikation sein, beispielsweise über einen Bus.
  • Gemäß verschiedener Ausführungsbeispiele kann die Relaismanagementschaltung 416 dazu konfiguriert sein, Informationen zwischen einer ersten Einheit, beispielsweise ein Endgerät 102, und einer zweiten Einheit, beispielsweise ein Server 122, zu übermitteln. Diesbezüglich kann die Relaismanagementschaltung 416 dazu konfiguriert sein, Kommunikationen von einem Endgerät 102 zu empfangen, die für einen Server 122 bestimmt sind. Die Relaismanagementschaltung 416 kann für die Übertragung der empfangenen Kommunikationen zu dem Server 122 sorgen. Auf ähnliche Weise kann die Relaismanagementschaltung 416 dazu konfiguriert sein, Kommunikationen von dem Server 122 zu empfangen, die für das Endgerät 102 bestimmt sind, und die Kommunikationen zu dem Endgerät 102 zu senden.
  • Beispiele
  • 5 zeigt ein Flussdiagramm gemäß einem beispielhaften Verfahren zur Anwendungskostenberechnung, um eine Entscheidungsfindung bei der Serviceerbringung oder Servicebereitstellung gemäß einem Ausführungsbeispiel bereitzustellen. Diesbezüglich zeigt 5 Operationen, die bei einem Endgerät 102 ausgeführt werden können. Die Operationen, die in 5 gezeigt und unter Bezugnahme auf die 5 beschrieben sind, können beispielsweise durch, mit Hilfe und/oder unter der Kontrolle des Prozessors 210, des Speichers 212, der Kommunikationsschnittstelle 214, der Benutzerschnittstelle 216 oder der Servicebestimmungsschaltung 218 durchgeführt werden. Die Operation 500 kann die Bereitstellung zur Übermittlung einer Anfrage für einen Service umfassen. Der Prozessor 210, der Speicher 212, die Kommunikationsschnittstelle 214, die Benutzerschnittstelle 216 oder die Servicebestimmungsschaltung 218 können beispielsweise die Struktur zur Durchführung der Operation 500 bereitstellen. Die Operation 510 kann das Empfangen einer Mitteilung umfassen, die eine geordnete Liste eines oder mehrerer Einträge zum Bereitstellen des Services umfasst. Jeder Eintrag kann eine oder mehrere mit dem Eintrag verbundene Voraussetzungen aufweisen. Der Prozessor 210, der Speicher 212, die Kommunikationsschnittstelle 214, die Benutzerschnittstelle 216 oder die Servicebestimmungsschaltung 218 können beispielsweise die Struktur zur Durchführung der Operation 510 bereitstellen. Die Operation 520 kann ein iteratives Evaluieren des einen oder der mehreren Einträge in der Reihenfolge umfassen, die durch die geordnete Liste spezifiziert ist. Das Evaluieren eines jeweiligen Eintrags kann ein Bestimmen eines oder mehrerer Attribute, die mit der einen oder den mehreren Voraussetzungen verbunden sind, die mit dem jeweiligen Eintrag verbunden sind, wie in Operation 520a gezeigt, und ein Evaluieren umfassen, ob das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen erfüllen, die mit dem jeweiligen Eintrag verbunden sind, wie in Operation 520b gezeigt. Der Prozessor 210, der Speicher 212, die Kommunikationsschnittstelle 214, die Benutzerschnittstelle 216 oder die Servicebestimmungsschaltung 218 können beispielsweise die Struktur zur Durchführung der Operationen 520, 520a und 520b bereitstellen. Die Operation 530 kann die Bereitstellung zur Zuführung des Services umfassen, wie er in einem Eintrag spezifiziert ist, nach einer Bestimmung, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen des Eintrags erfüllen. Der Prozessor 210, der Speicher 212, die Kommunikationsschnittstelle 214, die Benutzerschnittstelle 216 oder die Servicebestimmungsschaltung 218 können beispielsweise die Struktur zur Durchführung der Operation 530 bereitstellen.
  • 6 zeigt ein Flussdiagramm gemäß einem weiteren Beispiel eines Verfahrens zur Anwendungskostenberechnung bei der Serviceerbringung gemäß einem Ausführungsbeispiel. Diesbezüglich zeigt 6 Operationen, die bei einem Server 122 durchgeführt werden können. Die in 6 gezeigten und bezüglich 6 beschriebenen Operationen können beispielsweise durch, mit Hilfe und/oder unter der Kontrolle eines oder mehrerer von dem Prozessor 310, dem Speicher 312, der Kommunikationsschnittstelle 314 oder der Servicekonfigurationsschaltung 316 durchgeführt werden. Die Operation 600 kann ein Erzeugen zumindest einer geordneten Liste eines oder mehrerer Einträge zum Bereitstellen eines entsprechenden Services umfassen. Jeder Eintrag kann eine oder mehrere Voraussetzungen umfassen, die mit dem Eintrag verbunden sind. Der Prozessor 310, der Speicher 312, die Kommunikationsschnittstelle 314 oder die Servicekonfigurationsschaltung 316 können beispielsweise die Struktur zum Durchführen der Operation 600 bereitstellen. Die Operation 610 kann ein Empfangen einer Anfrage für einen Service umfassen. Der Prozessor 310, der Speicher 312, die Kommunikationsschnittstelle 314 oder die Servicekonfigurationsschaltung 316 können beispielsweise die Struktur zur Durchführung der Operation 610 bereitstellen. Die Operation 620 kann ein Bereitstellen einer geordneten Liste, die mit dem angefragten Service verbunden ist, für eine Übertragung umfassen. Der Prozessor 310, der Speicher 312, die Kommunikationsschnittstelle 314 oder die Servicekonfigurationsschaltung 316 können beispielsweise die Struktur zum Durchführen der Operation 620 bereitstellen. Die Operation 630 kann ein Empfangen einer Angabe oder Anzeige eines Eintrags der geordneten Liste umfassen. Der Prozessor 310, der Speicher 312, die Kommunikationsschnittstelle 314 oder die Servicekonfigurationsschaltung 316 können beispielsweise die Struktur zum Durchführen der Operation 630 bereitstellen. Die Operation 640 kann ein Bereitstellen des Services, wie er in dem Eintrag spezifiziert ist, umfassen. Der Prozessor 310, der Speicher 312, die Kommunikationsschnittstelle 314 oder die Servicekonfigurationsschaltung 316 können beispielsweise die Struktur zum Durchführen der Operation 640 bereitstellen.
  • Die 5 und 6 illustrieren jeweils ein Flussdiagramm eines Systems, eines Verfahrens und eines Computerprogrammprodukts gemäß Ausführungsbeispielen der Erfindung. Es ist zu verstehen, dass jeder Block des Flussdiagramms und Kombinationen von Blöcken in dem Flussdiagramm durch verschiedene Mittel implementiert werden können, beispielsweise Hardware und/oder ein Computerprogrammprodukt, das ein oder mehrere computerlesbare Medien aufweist – im Gegensatz zu einem computerlesbaren Übertragungsmedium, das ein propagierendes Signal beschreibt –, die ein oder mehrere Computerprogrammcodeanweisungen, Programmanweisungen oder ausführbare computerlesbare Programmcodeanweisungen aufweisen, die darin gespeichert sind. Beispielsweise können ein oder mehrere der hier beschriebenen Verfahren durch Computerprogrammanweisungen eines Computerprogrammprodukts verwirklicht sein. Diesbezüglich können das Computerprogrammprodukt oder die Computerprogrammprodukte, das oder die die hier beschriebenen Verfahren verwirklichen, mittels eines oder mehrerer Speichergeräte, beispielsweise der Speicher 212, der Speicher 312 oder der Speicher 412, eines Endgeräts, Servers, Relaisgeräts oder anderen Rechengeräts, beispielsweise das Endgerät 102, gespeichert und mittels eines Prozessors, beispielsweise der Prozessor 210, der Prozessor 310 oder der Prozessor 410, in dem Rechengerät ausgeführt werden. Bei manchen Ausführungsbeispielen, können die Computerprogrammanweisungen, die das Computerprogrammprodukt oder die Computerprogrammprodukte aufweisen, das oder die die hier beschriebenen Verfahren verwirklichen, mittels Speichergeräten einer Vielzahl von Rechengeräten gespeichert werden. Es ist wünschenswert, irgendein solches Computerprogrammprodukt auf einem Computer oder anderen programmierbaren Gerät zu laden, um eine Maschine zu erzeugen, so dass das Computerprogrammprodukt, einschließlich der Anweisungen, die auf dem Computer oder anderen programmierbaren Gerät ausgeführt werden, Mittel zum Implementieren der Funktionen erzeugt, die in dem Block oder in den Blöcken der Flussdiagramme spezifiziert sind.
  • Des Weiteren kann das Computerprogrammprodukt einen oder mehrere computerlesbare Speicher aufweisen, in denen die Computerprogrammanweisungen gespeichert werden können, so dass der eine oder die mehreren computerlesbaren Speicher einen Computer oder ein anderes programmierbares Gerät anweisen können, in einer bestimmten Weise zu funktionieren, so dass das Computerprogrammprodukt einen hergestellten Artikel aufweist, der die Funktion implementiert, die in dem Block oder in den Blöcken der Flussdiagramme spezifiziert ist. Die Computerprogrammanweisungen eines oder mehrerer Computerprogrammprodukte können auch auf einen Computer oder ein anderes programmierbares Gerät geladen werden, um eine Reihe von Operationen zu veranlassen, die auf dem Computer oder anderen programmierbaren Gerät auszuführen sind, um einen computerimplementierten Prozess zu erzeugen, so dass die Anweisungen, die auf dem Computer oder anderen programmierbaren Gerät ausgeführt werden, Operationen zum Implementieren der Funktionen bereitstellen, die in dem Block oder in den Blöcken der Flussdiagramme spezifiziert sind. Ein Abrufen, Laden und Ausführen der Programmcodeanweisungen kann sequenziell durchgeführt werden, so dass eine Anweisung zu einer Zeit abgerufen, geladen und ausgeführt wird. Bei manchen Ausführungsbeispielen kann das Abrufen, Laden und/oder Ausführen parallel durchgeführt werden, so dass mehrere Anweisungen zusammen abgerufen, geladen und/oder ausgeführt werden.
  • Folglich unterstützt eine Ausführung von Anweisungen, die mit den Operationen des Flussdiagramms verbunden sind, mittels eines Prozessors oder ein Speichern von Anweisungen, die mit den Blöcken oder Operationen des Flussdiagramms verbunden sind, in einem computerlesbaren Speichermedium Kombinationen von Operationen zur Durchführung der spezifizierten Funktionen. Es ist auch verständlich, dass eine oder mehrere Operationen des Flussdiagramms und Kombinationen von Blöcken oder Operationen in dem Flussdiagramm mittels speziell vorgesehener hardwarebasierter Computersysteme und/oder Prozessoren, die die spezifizierten Funktionen durchführen, oder mittels Kombinationen aus speziell vorgesehener Hardware und Programmcodeanweisungen implementiert werden können.
  • Die oben beschriebenen Funktionen können auf viele Weisen ausgeführt werden. Beispielsweise kann jedes geeignete Mittel zum Ausführen jeder der oben beschriebenen Funktionen verwendet werden, um Ausführungsbeispiele der Erfindung auszuführen. Bei einem Ausführungsbeispiel kann ein geeignet konfigurierter Prozessor, beispielsweise der Prozessor 210, der Prozessor 310 und/oder der Prozessor 410, sämtliche oder ein Teil der Elemente der Erfindung bereitstellen. Bei einem anderen Ausführungsbeispiel können sämtliche oder ein Teil der Elemente der Erfindung mittels eines Computerprogrammprodukts konfiguriert und unter Steuerung durch das Computerprogrammprodukt betrieben werden. Das Computerprogrammprodukt zum Durchführen der Verfahren von Ausführungsbeispielen der Erfindung umfasst ein computerlesbares Speichermedium, beispielsweise das nicht-flüchtige Speichermedium, beispielsweise der Speicher 212, der Speicher 312 und/oder der Speicher 412, und computerlesbare Programmcodeabschnitte, beispielsweise eine Serie von Computeranweisungen, die in dem computerlesbaren Speichermedium realisiert sind.
  • Bei einem Ausführungsbeispiel ist ein Verfahren bereitgestellt, das ein Bereitstellen für eine Übertragung einer Anfrage für einen Service umfassen kann. Das Verfahren dieses Ausführungsbeispiels kann weiter das Empfangen einer Mitteilung umfassen, die eine geordnete Liste aus einem oder mehreren Einträgen zum Bereitstellen des Services umfasst. Jeder Eintrag kann eine oder mehrere Voraussetzungen aufweisen, die mit dem Eintrag verbunden sind. Das Verfahren dieses Ausführungsbeispiels kann weiterhin ein iteratives Evaluieren des einen oder der mehreren Einträge in der Reihenfolge umfassen, die durch die geordnete Liste spezifiziert ist. Das Evaluieren eines jeweiligen Eintrags gemäß dem Verfahren dieses Ausführungsbeispiels kann ein Bestimmen eines oder mehrerer Attribute, die mit der einen oder den mehreren Voraussetzungen verbunden sind, die mit dem jeweiligen Eintrag verbunden sind, und ein Evaluieren umfassen, ob das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen erfüllen, die mit dem jeweiligen Eintrag verbunden sind. Das Verfahren kann zusätzlich ein Bereitstellen zur Zuführen des Services umfassen, wie es in einem Eintrag spezifiziert ist, und zwar nach einer Bestimmung, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen des Eintrags erfüllen.
  • Gemäß dem beispielhaften Verfahren kann jeder des einen oder der mehreren Einträge eine Anzeige zumindest eines von einer Anwendung zum Bereitstellen des Service und von einem Verfahren zum Zuführen des Service aufweisen. Zusätzlich können die eine oder die mehreren Voraussetzungen, die mit jedem des einen oder der mehreren Einträge verbunden sind, dem zumindest einen von der Anwendung zum Bereitstellen des Service und dem Verfahren zum Zuführen des Service entsprechen, die mit dem jeweiligen Eintrag verbunden sind. Das iterative Evaluieren des einen oder der mehreren Einträge gemäß dem beispielhaften Verfahren kann des Weiteren das Beenden der iterativen Evaluierung nach einer Bestimmung umfassen, das das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen eines Eintrags erfüllen. Gemäß dem beispielhaften Verfahren kann das Bereitstellen zur Zuführung des Services, wie es in dem Eintrag spezifiziert ist, weiterhin das Bereitstellen des Services über die Anwendung zum Bereitstellen des Services und/oder das Verfahren zum Zuführen des Services umfassen, wie sie mit dem jeweiligen Eintrag verbunden sind. Das beispielhafte Verfahren kann weiterhin ein Einschränken des Zugangs zu dem Service nach einer Bestimmung umfassen, das das eine oder die mehreren Attribute nicht die eine oder die mehreren Voraussetzungen erfüllen, die mit irgendeinem des einen oder der mehreren Einträge verbunden sind. Die Bereitstellung zur Zuführung des Services gemäß dem beispielhaften Verfahren kann weiterhin ein Bereitstellen zur Zuführung des Services über ein webbasiertes Portal umfassen. Gemäß dem Ausführungsbeispiel kann das Empfangen einer Mitteilung, die eine geordnete Liste eines oder mehrere Einträge zum Bereitstellen des Services umfasst, als Reaktion auf einen Nutzer erfolgen, der einen Service über das webbasierte Portal auswählt.
  • Bei einem weiteren Ausführungsbeispiel ist ein Gerät bereitgestellt, das zumindest einen Prozessor und zumindest einen Speicher, der einen Computerprogrammcode speichert, aufweist. Der zumindest eine Speicher und der gespeicherte Computerprogrammcode können mit dem zumindest einen Prozessor derart konfiguriert sein, dass sie das Gerät dieses Ausführungsbeispiels dazu veranlassen, zumindest für die Übertragung einer Anfrage für einen Service zu sorgen. Der zumindest eine Speicher und der gespeicherte Computerprogrammcode können mit dem zumindest einen Prozessor derart konfiguriert sein, dass sie das Gerät dieses Ausführungsbeispiel weiterhin dazu veranlassen, eine Mitteilung zu empfangen, die eine geordnete Liste eines oder mehrerer Einträge zum Bereitstellen des Services aufweist. Jeder Eintrag kann eine oder mehrerer Voraussetzungen aufweisen, die mit dem Eintrag verbunden sind. Der zumindest eine Speicher und der gespeicherte Computerprogrammcode können mit dem zumindest einen Prozessor derart konfiguriert sein, dass sie das Gerät dieses Ausführungsbeispiels zusätzlich dazu veranlassen, den einen oder die mehreren Einträge in der Reihenfolge iterativ zu evaluieren, die durch die geordnete Liste spezifiziert ist. Das Evaluieren eines jeweiligen Eintrags gemäß dem Verfahren dieses Ausführungsbeispiels kann ein Bestimmen eines oder mehrerer Attribute, die mit den einen oder mehreren Voraussetzungen verbunden sind, die mit dem jeweiligen Eintrag verbunden sind, und ein Evaluieren umfassen, ob das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen erfüllt, die mit dem jeweiligen Eintrag verbunden sind. Der zumindest eine Speicher und der gespeicherte Computerprogrammcode können mit dem zumindest einen Prozessor derart konfiguriert sein, dass sie das Gerät dieses Ausführungsbeispiels weiter dazu veranlassen, für die Zuführung des Services zu sorgen, wie es in einem Eintrag spezifiziert ist, und zwar nach einer Bestimmung, das das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen des Eintrags erfüllen.
  • Gemäß dem Ausführungsbeispiel kann jeder des einen oder der mehreren Einträge eine Angabe oder Anzeige einer Anwendung zum Bereitstellen des Services und/oder ein Verfahren zum Zuführen des Services aufweisen. Zusätzlich kann die eine oder die mehreren Voraussetzungen, die mit jedem des einen oder der mehreren Einträge verbunden sind, der Anwendung zum Bereitstellen des Services und/oder dem Verfahren zum Zuführen des Services, die mit dem jeweiligen Zugang verbunden sind, entsprechen. Das iterative Evaluieren des einen oder der mehreren Einträge des beispielhaften Verfahrens kann weiter das Beenden der iterativen Evaluierung umfassen, und zwar nach einer Bestimmung, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen eines Eintrags erfüllen. Gemäß dem Ausführungsbeispiel kann das Bereitstellen zur Zuführung des Services, wie es in dem Eintrag spezifiziert ist, weiter ein Bereitstellen des Services über die Anwendung zum Bereitstellen des Services und/oder das Verfahren zum Zuführen des Services, die mit dem jeweiligen Eintrag verbunden sind, umfassen. Der zumindest eine Speicher und der gespeicherte Computerprogrammcode können mit dem zumindest einen Prozessor derart konfiguriert sein, dass sie das Gerät dieses Ausführungsbeispiels zusätzlich dazu veranlassen, den Zugang zu dem Service nach einer Bestimmung, das das eine oder die mehreren Attribute nicht die eine oder die mehreren Voraussetzungen erfüllen, die mit irgendeinem des einen oder der mehreren Einträge verbunden sind, zu beschränken. Das Bereitstellen zur Zuführung des Services gemäß dem Ausführungsbeispiel kann weiter ein Bereitstellen zur Zuführung des Services über ein webbasiertes Portal umfassen. Gemäß dem Ausführungsbeispiel kann ein Empfangen einer Mitteilung, die eine geordnete Liste eines oder mehrerer Einträge zum Bereitstellen des Services aufweist, als Reaktion auf einen Nutzer erfolgen, der einen Service über das webbasierte Portal auswählt.
  • Bei einem weiteren Ausführungsbeispiel ist ein Computerprogrammprodukt bereitgestellt. Das Computerprogrammprodukt dieses Ausführungsbeispiels kann zumindest ein computerlesbares Speichermedium aufweisen, das computerlesbare Programmanweisungen aufweist, die darin gespeichert sind. Die Programmanweisungen dieses Ausführungsbeispiels können Programmanweisungen umfassen, die dazu konfiguriert sind, für eine Übertragung einer Anfrage für einen Service zu sorgen. Die Programmanweisungen dieses Ausführungsbeispiels können weiterhin Programmanweisungen umfassen, die zum Empfangen einer Mitteilung konfiguriert sind, die eine geordnete Liste eines oder mehrere Einträge zur Bereitstellung des Services aufweist. Jeder Eintrag kann eine oder mehrere Voraussetzungen umfassen, die mit dem Eintrag verbunden sind. Die Programmanweisungen dieses Ausführungsbeispiels können zusätzlich Programmanweisungen umfassen, die zum iterativen Evaluieren des einen oder der mehreren Einträge in der Reihenfolge konfiguriert sind, die durch die geordnete Liste spezifiziert ist. Das Evaluieren eines jeweiligen Eintrags gemäß dem Verfahren dieses Ausführungsbeispiels kann ein Bestimmen eines oder mehreren Attribute, die mit der einen oder den mehreren Voraussetzungen verbunden sind, die mit dem jeweiligen Eintrag verbunden sind, und ein Evaluieren umfassen, ob das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen erfüllen, die mit dem jeweiligen Eintrag verbunden sind. Die Programmanweisungen dieses Ausführungsbeispiels können weiterhin Programmanweisungen umfassen, die zum Bereitstellen der Zuführung des Services konfiguriert sind, wie es in einem Eintrag spezifiziert ist, und zwar nach einer Bestimmung, das das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen des Eintrags erfüllen.
  • Gemäß dem Ausführungsbeispiel kann jeder des einen oder der mehreren Einträge eine Anzeige oder Angabe einer Anwendung zum Bereitstellen des Services und/oder eines Verfahrens zum Zuführen des Services aufweisen. Zusätzlich können die eine oder die mehreren Voraussetzungen, die mit jedem des einen oder der mehreren Einträge verbunden sind, zu der Anwendung zum Bereitstellen des Services und/oder dem Verfahren zum Zuführen des Services korrespondieren, die mit dem jeweiligen Eintrag verbunden sind. Das iterative Evaluieren des einen oder der mehreren Einträge des beispielhaften Verfahrens kann des Weiteren ein Beenden der iterativen Evaluierung nach einer Bestimmung umfassen, das das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen eines Eintrags erfüllen. Gemäß dem Ausführungsbeispiel kann das Bereitstellen zur Zuführung des Services, wie es in dem Eintrag spezifiziert ist, des Weiteren das Bereitstellen des Services über die Anwendung zum Bereitstellen des Services und/oder das Verfahren zur Zuführung des Services umfassen, die mit dem jeweiligen Eintrag verbunden sind. Die Programmanweisungen dieses Ausführungsbeispiels können zusätzlich Programmanweisungen umfassen, die zum Beschränken des Zugangs zu dem Service nach einer Bestimmung konfiguriert sind, dass das eine oder die mehreren Attribute nicht die eine oder die mehreren Voraussetzungen erfüllen, die mit irgendeinem des einen oder der mehreren Einträge verbunden sind. Das Bereitstellen zur Zuführung des Services gemäß dem Ausführungsbeispiel kann des Weiteren die Bereitstellung zur Zuführung des Services über ein webbasiertes Portal umfassen. Gemäß dem Ausführungsbeispiel kann das Empfangen einer Mitteilung, die eine geordnete Liste eines oder mehrerer Einträge zum Bereitstellen des Services aufweist, als Reaktion auf einen Nutzer erfolgen, der einen Service über das webbasierte Portal auswählt.
  • Bei einem weiteren Ausführungsbeispiel ist ein Gerät bereitgestellt, das Mittel zum Bereitstellen einer Übertragung einer Anfrage für einen Service aufweist. Das Gerät dieses Ausführungsbeispiels kann des Weiteren Mittel zum Empfangen einer Mitteilung aufweisen, die eine geordnete Liste eines oder mehrerer Einträge zum Bereitstellen des Services aufweist. Jeder Eintrag kann eine oder mehrere Voraussetzungen aufweisen, die mit dem Eintrag verbunden sind. Das Gerät dieses Ausführungsbeispiels kann zusätzlich Mittel zum iterativen Evaluieren des einen oder der mehreren Einträge in der Reihenfolge aufweisen, die durch die geordnete Liste spezifiziert ist. Das Evaluieren eines jeweiligen Eintrags gemäß dem Verfahren dieses Ausführungsbeispiels kann ein Bestimmen eines oder mehrere Attribute, die mit der einen oder den mehreren Voraussetzungen in Verbindung sind, die mit dem jeweiligen Eintrag verbunden sind, und ein Evaluieren umfassen, ob das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen erfüllen, die mit dem jeweiligen Eintrag verbunden sind. Das Gerät dieses Ausführungsbeispiels kann zusätzlich Mittel zum Bereitstellen der Zuführung des Services umfassen, wie es in einem Eintrag spezifiziert ist, und zwar nach einer Bestimmung, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen des Eintrags erfüllen.
  • Gemäß dem Ausführungsbeispiel kann jeder des einen oder der mehreren Einträge eine Anzeige oder Angabe einer Anwendung zum Bereitstellen des Services und/oder eines Verfahrens zum Zuführen des Services aufweisen. Zusätzlich können die eine oder die mehreren Voraussetzungen, die mit jedem des einen oder der mehreren Einträge verbunden sind, zu der Anwendung zum Bereitstellen des Services und/oder zu dem Verfahren zum Zuführen des Services korrespondieren, die mit dem jeweiligen Eintrag verbunden sind. Das iterative Evaluieren des einen oder der mehreren Einträge des beispielhaften Verfahrens kann des Weiteren ein Beenden der iterativen Evaluierung nach einer Bestimmung umfassen, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen eines Eintrags erfüllen. Gemäß dem Ausführungsbeispiel kann das Bereitstellen zur Zuführung des Service, wie es in dem Eintrag spezifiziert ist, weiterhin ein Bereitstellen des Services über die Anwendung zum Bereitstellen des Services und/oder das Verfahren zum Zuführen des Services umfassen, die mit dem jeweiligen Eintrag verbunden sind. Das Gerät dieses Ausführungsbeispiels kann zusätzlich Mittel zum Beschränken eines Zugangs zu dem Service nach einer Bestimmung umfassen, das das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen nicht erfüllen, die mit irgendeinem des einen oder der mehreren Einträge verbunden sind. Das Bereitstellen zur Zuführung des Services gemäß dem Ausführungsbeispiel kann weiterhin das Bereitstellen zur Zuführung des Services über ein webbasiertes Portal umfassen. Gemäß dem Ausführungsbeispiel kann das Empfangen einer Mitteilung, die eine geordnete Liste eines oder mehrerer Einträge zum Bereitstellen des Services umfasst, als Reaktion auf einen Nutzer erfolgen, der einen Service über das webbasierte Portal auswählt.
  • Bei einem Ausführungsbeispiel ist ein Verfahren bereitgestellt, das das Erzeugen zumindest einer geordneten Liste eines oder mehrerer Einträge zum Bereitstellen eines jeweiligen Service aufweisen kann. Jeder Eintrag kann eine oder mehrere Voraussetzungen aufweisen, die mit dem Eintrag verbunden sind. Das Verfahren dieses Ausführungsbeispiels kann weiter ein Empfangen einer Anfrage für einen Service aufweisen. Das Verfahren dieses Ausführungsbeispiels kann weiterhin ein Bereitstellen zur Übertragung einer geordneten Liste umfassen, die mit dem angefragten Service verbunden ist. Zusätzlich kann das Verfahren dieses Ausführungsbeispiels ein Empfangen einer Angabe oder Anzeige eines Eintrags der geordneten Liste aufweisen. Das Verfahren dieses Ausführungsbeispiels kann weiterhin ein Bereitstellen des Services umfassen, wie es in dem Eintrag spezifiziert ist.
  • Gemäß dem Ausführungsbeispiel kann jeder des einen oder der mehreren Einträge eine Angabe oder Anzeige einer Anwendung zum Bereitstellen des Services und/oder eines Verfahrens zum Zuführen des Services aufweisen. Die eine oder die mehreren Voraussetzungen, die mit jedem des einen oder der mehreren Einträge des Ausführungsbeispiels verbunden sind, können zu der Anwendung zum Bereitstellen des Services und/oder zu dem Verfahren zum Zuführen des Services korrespondieren, die mit dem jeweiligen Eintrag verbunden sind. Gemäß dem Ausführungsbeispiel kann ein Bereitstellen des Services, wie es in dem Eintrag spezifiziert ist, weiterhin ein Bereitstellen des Services über die Anwendung zum Bereitstellen des Services und/oder das Verfahren zum Zuführen des Services umfassen, die mit dem jeweiligen Eintrag verbunden sind. Das beispielhafte Verfahren kann weiterhin ein Empfangen eines oder mehrerer Attribute umfassen, die mit der einen oder den mehreren Voraussetzungen verbunden sind, die mit dem einen oder den mehreren Einträgen der zumindest einen geordneten Liste verbunden sind. Zusätzlich kann das beispielhafte Verfahren ein Evaluieren umfassen, ob das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen für jeden des einen oder der mehreren Einträge erfüllen. Das beispielhafte Verfahren kann weiterhin ein Entfernen eines Eintrags von einer entsprechenden geordneten Liste nach einer Bestimmung umfassen, das das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen des Eintrags nichts erfüllen. Darüber hinaus kann das beispielhafte Verfahren ein Bereitstellen einer Speicherung der zumindest einen geordneten Liste aufweisen. Gemäß dem Ausführungsbeispiel kann ein Bereitstellen für eine Übertragung der geordneten Liste weiterhin ein Abrufen der geordneten Liste aus der Speicherung, ein Serialisieren der geordneten Liste in eine Textfolge und ein Bereitstellen zur Übertragung der Textfolge umfassen. Ein Bereitstellen des Services gemäß dem Ausführungsbeispiel kann weiterhin ein Bereitstellen des Services über ein webbasiertes Portal umfassen.
  • Bei einem weiteren Ausführungsbeispiel ist ein Gerät bereitgestellt, das zumindest einen Prozessor und zumindest einen Speicher aufweist, der einen Computerprogrammcode speichert. Der zumindest eine Speicher und der gespeicherte Computerprogrammcode können mit dem zumindest einen Prozessor dazu konfiguriert sein, das Gerät dieses Ausführungsbeispiels dazu zu veranlassen, zumindest mindestens eine geordnete Liste eines oder mehrerer Einträge zum Bereitstellen eines entsprechenden Services zu erzeugen. Jeder Eintrag kann eine oder mehrere Voraussetzungen aufweisen, die mit dem Eintrag verbunden sind. Der zumindest eine Speicher und der gespeicherte Computerprogrammcode können mit dem zumindest einen Prozessor derart konfiguriert sein, dass sie das Gerät dieses Ausführungsbeispiels weiter dazu veranlassen, eine Anfrage für einen Service zu empfangen. Der zumindest eine Speicher und der gespeicherte Computerprogrammcode können mit dem zumindest einen Prozessor dazu konfiguriert sein, das Gerät diese Ausführungsbeispiels zusätzlich dazu zu veranlassen, eine Übertragung einer geordneten Liste bereitzustellen, die mit dem angefragten Service verbunden ist. Der zumindest eine Speicher und der gespeicherte Computerprogrammcode können mit dem zumindest einen Prozessor dazu konfiguriert sein, das Gerät diese Ausführungsbeispiels weiterhin dazu zu veranlassen, eine Anzeige oder Angabe eines Eintrags der geordneten Liste zu empfangen. Der zumindest eine Speicher und der gespeicherte Computerprogrammcode können mit dem zumindest einen Prozessor dazu konfiguriert sein, das Gerät dieses Ausführungsbeispiels zusätzlich dazu zu veranlassen, den Service bereitzustellen, wie es in dem Eintrag spezifiziert ist.
  • Gemäß dem Ausführungsbeispiel kann jeder des einen oder der mehreren Einträge eine Anzeige oder Angabe einer Anwendung zum Bereitstellen des Services und/oder eines Verfahrens zur Zuführung des Services aufweisen. Die eine oder die mehreren Voraussetzungen, die mit jedem des einen oder der mehreren Einträge des Ausführungsbeispiels verbunden sind, können zu der Anwendung zum Bereitstellen des Services und/oder zu dem Verfahren zum Zuführen des Services korrespondieren, die mit dem jeweiligen Eintrag verbunden sind. Gemäß dem Ausführungsbeispiel kann ein Bereitstellen des Services, wie es in dem Eintrag spezifiziert ist, weiterhin ein Bereitstellen des Services über die Anwendung zum Bereitstellen des Services und/oder das Verfahren zum Zuführen des Services umfassen, die mit dem jeweiligen Eintrag verbunden sind. Der zumindest eine Speicher und der gespeicherte Computerprogrammcode können mit dem zumindest einen Prozessor derart konfiguriert sein, dass sie das Gerät dieses Ausführungsbeispiels zusätzlich dazu veranlassen, ein oder mehrere Attribute zu empfangen, die mit der einen oder den mehreren Voraussetzungen verbunden sind, die mit dem einen oder den mehreren Einträgen der zumindest einen geordneten Liste verbunden sind. Zusätzlich können der zumindest eine Speicher und der gespeicherte Computerprogrammcode mit dem zumindest einen Prozessor derart konfiguriert sein, dass sie das Gerät dieses Ausführungsbeispiels dazu veranlassen, zu evaluieren, ob das eine oder die mehrere Attribute die eine oder die mehreren Voraussetzungen für jeden des einen oder der mehreren Einträge erfüllen. Der zumindest eine Speicher und der gespeicherte Computerprogrammcode können mit dem zumindest einen Prozessor dazu konfiguriert sein, das Gerät dieses Ausführungsbeispiels zusätzlich zu veranlassen, einen Eintrag von einer entsprechenden geordneten Liste nach einer Bestimmung zu entfernen, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen des Eintrags nicht erfüllen. Des Weiteren können der zumindest eine Speicher und der gespeicherte Computerprogrammcode mit dem zumindest einen Prozessor dazu konfiguriert sein, das Gerät dieses Ausführungsbeispiels zusätzlich zu veranlassen, eine Speicherung der zumindest einen geordneten Liste bereitzustellen. Gemäß dem Ausführungsbeispiel kann ein Bereitstellen zur Übertragung der geordneten Liste weiterhin ein Abrufen der geordneten Liste aus der Speicherung, eine Serialisierung der geordneten Liste in eine Textfolge und ein Bereitstellen zur Übertragung der Textfolge umfassen. Ein Bereitstellen des Services gemäß dem Ausführungsbeispiel kann weiterhin ein Bereitstellen des Services über ein webbasiertes Portal umfassen.
  • Bei einem weiteren Ausführungsbeispiel ist ein Computerprogrammprodukt bereitgestellt. Das Computerprogrammprodukt dieses Ausführungsbeispiels kann zumindest ein computerlesbares Speichermedium umfassen, das computerlesbare Programmanweisungen aufweist, die darin gespeichert sind. Die Programmanweisungen dieses Ausführungsbeispiels können Programmanweisungen umfassen, die zum Erzeugen zumindest einer geordneten Liste eines oder mehrerer Einträge zum Bereitstellen eines entsprechenden Services konfiguriert sind. Jeder Eintrag kann eine oder mehrere Voraussetzungen aufweisen, die mit dem Eintrag verbunden sind. Die Programmanweisungen dieses Ausführungsbeispiels können weiterhin Programmanweisungen aufweisen, die zum Empfangen einer Anfrage für einen Service konfiguriert sind. Die Programmanweisungen dieses Ausführungsbeispiels können zusätzlich Programmanweisungen umfassen, die dazu konfiguriert sind, eine Übertragung einer geordneten Liste bereitzustellen, die mit dem angefragten Service verbunden ist. Die Programmanweisungen dieses Ausführungsbeispiels können weiterhin Programmanweisungen umfassen, die zum Empfangen einer Anzeige oder Angabe eines Eintrags der geordneten Liste konfiguriert sind. Die Programmanweisungen dieses Ausführungsbeispiels können zusätzlich Programmanweisungen aufweisen, die zum Bereitstellen des Services konfiguriert sind, wie es in dem Eintrag spezifiziert ist.
  • Gemäß dem Ausführungsbeispiel kann jeder des einen oder der mehreren Einträge eine Anzeige oder Angabe einer Anwendung zum Bereitstellen des Services und/oder ein Verfahren zum Zuführen des Services aufweisen. Die eine oder die mehreren Voraussetzungen, die mit jedem des einen oder der mehreren Einträge des Ausführungsbeispiels verbunden sind, können zu der Anwendung zum Bereitstellen des Services und/oder zu dem Verfahren zum Zuführen des Services korrespondieren, die mit dem jeweiligen Eintrag verbunden sind. Gemäß dem Ausführungsbeispiel kann das Bereitstellen des Services, wie es in dem Eintrag beschrieben ist, des Weiteren das Bereitstellen des Services über die Anwendung zum Bereitstellen des Services und/oder das Verfahren zum Zuführen des Services umfassen, die mit dem jeweiligen Eintrag verbunden sind. Die Programmanweisungen dieses Ausführungsbeispiels können des Weiteren Programmanweisungen umfassen, die zum Empfangen eines oder mehrerer Attribute konfiguriert sind, die sich auf die eine oder die mehreren Voraussetzungen beziehen, die mit dem einen oder den mehreren Einträgen der zumindest einen geordneten Liste verbunden sind. Zusätzlich können die Programmanweisungen dieses Ausführungsbeispiels Programmanweisungen umfassen, die zum Evaluieren konfiguriert sind, ob das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen für jeden des einen oder der mehreren Einträge erfüllen. Die Programmanweisungen dieses Ausführungsbeispiels können weiterhin Programmanweisungen umfassen, die zum Entfernen eines Eintrags aus einer entsprechenden geordneten Liste nach einer Bestimmung konfiguriert sind, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen des Eintrags nichts erfüllen. Des Weiteren können die Programmanweisungen dieses Ausführungsbeispiels Programmanweisungen umfassen, die zum Bereitstellen einer Speicherung der zumindest einen geordneten Liste konfiguriert sind. Gemäß dem Ausführungsbeispiel kann das Bereitstellen zur Übertragung der geordneten Liste des Weiteren ein Abrufen der geordneten Liste aus der Speicherung, ein Serialisieren der geordneten Liste in eine Textfolge und ein Bereitstellen zur Übertragung der Textfolge umfassen. Das Bereitstellen des Services gemäß dem Ausführungsbeispiel kann des Weiteren ein Bereitstellen des Services über ein webbasiertes Portal umfassen.
  • Bei einem weiteren Ausführungsbeispiel ist ein Gerät bereitgestellt, das Mittel zum Erzeugen zumindest einer geordneten Liste eines oder mehrerer Einträge zum Bereitstellen eines jeweiligen Services umfassen kann. Jeder Eintrag kann eine oder mehrere Voraussetzungen aufweisen, die mit dem Eintrag verbunden sind. Das Gerät dieses Ausführungsbeispiels kann des Weiteren Mittel zum Empfangen einer Anfrage für einen Service aufweisen. Das Gerät dieses Ausführungsbeispiels kann zusätzlich Mittel zum Bereitstellen einer Übertragung einer geordneten Liste aufweisen, die mit dem angefragten Service verbunden ist. Das Gerät dieses Ausführungsbeispiels kann des Weiteren Mittel zum Empfangen einer Anzeige oder Angabe eines Eintrags der geordneten Liste aufweisen. Das Gerät dieses Ausführungsbeispiels kann zusätzlich Mittel zum Bereitstellen des Services aufweisen, wie es in dem Eintrag spezifiziert ist.
  • Gemäß dem Ausführungsbeispiel kann jeder des einen oder der mehreren Einträge eine Anzeige oder Angabe einer Anwendung zum Bereitstellen des Services und/oder eines Verfahrens zum Zuführen des Services aufweisen. Die eine oder die mehreren Voraussetzungen, die mit jedem des einen oder der mehreren Einträge des Ausführungsbeispiels verbunden sind, können der Anwendung zum Bereitstellen des Services und/oder dem Verfahren zum Zuführen des Services entsprechen, die mit dem jeweiligen Eintrag verbunden sind. Gemäß dem Ausführungsbeispiel kann das Bereitstellen des Services, wie es in dem Eintrag spezifiziert ist, des Weiteren ein Bereitstellen des Services über die Anwendung zum Bereitstellen des Services und/oder das Verfahren zum Zuführen des Services umfassen, die mit dem jeweiligen Eintrag verbunden sind. Das Gerät dieses Ausführungsbeispiels kann des Weiteren Mittel zum Empfangen eines oder mehrerer Attribute aufweisen, die mit der einen oder den mehreren Voraussetzungen verbunden sind, die mit dem einen oder den mehreren Einträgen der zumindest einen geordneten Liste verbunden sind. Zusätzlich kann das Gerät dieses Ausführungsbeispiels Mittel zum Evaluieren aufweisen, ob das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen für jeden des einen oder der mehreren Einträge erfüllen. Das Gerät dieses Ausführungsbeispiels kann des Weiteren Mittel zum Entfernen eines Eintrags von einer entsprechenden geordneten Liste nach einer Bestimmung aufweisen, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen des Eintrags nicht erfüllen. Des Weiteren kann das Gerät dieses Ausführungsbeispiels Mittel zum Bereitstellen einer Speicherung der zumindest einen geordneten Liste aufweisen. Gemäß dem Ausführungsbespiel kann das Bereitstellen zur Übertragung der geordneten Liste weiterhin ein Abrufen der geordneten Liste aus der Speicherung, ein Serialisieren der geordneten Liste in eine Textfolge und ein Bereitstellen zur Übertragung der Textfolge umfassen. Ein Bereitstellen des Services gemäß dem Ausführungsbeispiel kann des Weiteren ein Bereitstellen des Services über ein webbasiertes Portal umfassen.
  • Viele Modifikationen und andere Ausführungsbeispiele der hier gezeigten Erfindungen werden einem Fachmann, den diese Erfindungen betreffen, offenbar werden, wobei sie die Vorteile der Lehren aufweisen, die in den vorangegangenen Beschreibungen und den beigefügten Zeichnungen dargestellt sind. Daher ist es verständlich, dass die Erfindungen nicht auf die spezifischen Ausführungsbeispiele, die hier offenbart sind, beschränkt sind und dass Modifikationen und weitere Ausführungsbeispiele im Umfang der beigefügten Ansprüche hierin mit eingeschlossen sind. Obgleich die vorangehenden Beschreibungen und die beigefügten Zeichnungen Ausführungsbeispiele im Kontext bestimmter beispielhafter Kombinationen von Elementen und/oder Funktionen beschreiben, ist es darüber hinaus gewünscht, dass verschiedene Kombinationen von Elementen und/oder Funktionen durch alternative Ausführungsbeispiele bereitgestellt werden können, ohne dass von dem Umfang der beigefügten Ansprüche abgewichen wird. Diesbezüglich werden beispielsweise verschiedene Kombinationen von Elementen und/oder Funktionen, die nicht explizit oben beschrieben sind, so betrachtet, als wenn sie in einigen der beigefügten Ansprüche angegeben wären. Obgleich hier spezifische Ausdrücke verwendet werden, sind diese in einem allgemeinen und lediglich beschreibenden Sinn verwendet und nicht zu Zwecken der Beschränkung.

Claims (27)

  1. Ein Verfahren zum Empfangen eines oder mehrerer Services für ein Endgerät, wobei das Verfahren umfasst: Übermitteln einer Anfrage für einen Service; Empfangen einer Mitteilung, die eine geordnete Liste eines oder mehrerer Einträge zum Bereitstellen des Services aufweist, wobei jeder Eintrag eine oder mehrere mit dem Eintrag verbundene Voraussetzungen aufweist; iteratives Evaluieren des einen oder der mehreren Einträge in der Reihenfolge, die durch die geordnete Liste spezifiziert ist, durch Bestimmen eines oder mehrerer mit dem Endgerät verbundener Attribute, die mit der einen oder den mehreren mit dem jeweiligen Eintrag verbundenen Voraussetzungen in Verbindung stehen, und Evaluieren, ob das eine oder die mehreren Attribute die eine oder die mehreren mit dem jeweiligen Eintrag verbundenen Voraussetzungen erfüllen, und Empfangen einer Zuführung des Services, wie es in einem Eintrag spezifiziert ist, nach einer Bestimmung, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen des Eintrags erfüllen.
  2. Das Verfahren nach Anspruch 1, wobei der Schritt des Empfangens einer Mitteilung weiter das Empfangen einer Mitteilung umfasst, wobei jeder des einen oder der mehreren Einträge zumindest eine Anzeige einer Anwendung zum Bereitstellen des Services und/oder eines Verfahrens zum Zuführen des Services umfasst.
  3. Das Verfahren nach Anspruch 2, wobei der Schritt des Empfangens einer Mitteilung weiter das Empfangen einer Mitteilung umfasst, wobei jeder des einen oder der mehreren Einträge der Anwendung zum Bereitstellen des Services und/oder dem Verfahren zum Zuführen des Services entspricht, die mit dem jeweiligen Eintrag verbunden sind.
  4. Das Verfahren nach Anspruch 3, wobei der Schritt des Empfangens einer Zuführung des Services weiter ein Empfangen des Services über die Anwendung zum Bereitstellen des Services und/oder das Verfahren zum Zuführen des Services umfasst, die mit dem jeweiligen Eintrag verbunden sind.
  5. Das Verfahren nach Anspruch 1, wobei der Schritt des iterativen Evaluierens des einen oder der mehreren Einträge weiter das Beenden des iterativen Evaluierens nach einer Bestimmung, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen eines Eintrags erfüllen, umfasst.
  6. Das Verfahren nach Anspruch 5, weiter umfassend ein Beschränken des Zugang zu einem Service nach einer Bestimmung, dass das eine oder die mehreren Attribute die eine oder die mehreren mit irgendeinem des einen oder der mehreren Einträge verbundenen Voraussetzungen nicht erfüllen.
  7. Das Verfahren nach Anspruch 1, wobei der Schritt des Empfangens einer Zuführung des Services weiter das Empfangen einer Zuführung des Services über ein webbasiertes Portal umfasst.
  8. Das Verfahren nach Anspruch 7, wobei der Schritt des Empfangens einer Mitteilung, die eine geordnete Liste eines oder mehrerer Einträge zum Bereitstellen des Services umfasst, als Reaktion auf ein Auswählen eines Services über das webbasierte Portal durch einen Benutzer erfolgt.
  9. Ein Gerät zum Empfangen eines oder mehrerer Services, wobei das Gerät umfasst: zumindest einen Prozessor, zumindest einen Speicher, der einen Computerprogrammcode speichert, wobei der zumindest eine Speicher und der gespeicherte Computerprogrammcode mit dem zumindest einen Prozessor konfiguriert sind, um das Gerät dazu zu veranlassen, eine Anfrage für einen Service zu übermitteln, eine Mitteilung zu empfangen, die eine geordnete Liste eines oder mehrerer Einträge zum Bereitstellen des Services aufweist, wobei jeder Eintrag eine oder mehrere mit dem Eintrag verbundene Voraussetzungen umfasst, den einen oder die mehreren Einträge in der Ordnung, die durch die geordnete Liste spezifiziert ist, iterativ zu evaluieren, durch ein Bestimmen eines oder mehrerer mit dem Endgerät verbundener Attribute, die mit der einen oder den mehreren mit dem jeweiligen Eingang verbundenen Voraussetzungen in Verbindung stehen, und ein Evaluieren, ob das eine oder die mehreren Attribute die eine oder die mehreren mit dem jeweiligen Eingang verbundenen Voraussetzungen erfüllen, und die Zuführung des Services, wie es in einem Eingang spezifiziert ist, nach einer Bestimmung zu empfangen, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen des Eintrags erfüllen.
  10. Das Gerät nach Anspruch 9, wobei der zumindest eine Speicher und zumindest ein gespeicherter Computerprogrammcode mit dem zumindest einen Prozessor dazu konfiguriert sind, das Gerät weiter dazu zu veranlassen, eine Anzeige einer Anwendung zum Bereitstellen des Services und/oder eines Verfahrens zum Zuführen des Services zu empfangen.
  11. Das Gerät nach Anspruch 10, wobei der zumindest eine Speicher und zumindest ein gespeicherter Computerprogrammcode mit dem zumindest einen Prozessor dazu konfiguriert sind, das Gerät weiter dazu zu veranlassen, eine Mitteilung zu empfangen, wobei jede der einen oder mehreren Voraussetzungen, die mit jedem des einen oder der mehreren Einträge verbunden sind, der Anwendung zum Bereitstellen des Services und/oder dem Verfahren zum Zuführen des Services entsprechen, die mit dem jeweiligen Eintrag verbunden sind.
  12. Das Gerät nach Anspruch 11, wobei der zumindest eine Speicher und zumindest ein gespeicherter Computerprogrammcode mit dem zumindest einen Prozessor dazu konfiguriert sind, weiterhin das Empfangen des Services über die Anwendung zum Bereitstellen des Services und/oder das Verfahren zum Zuführen des Services, die mit dem jeweiligen Eintrag verbunden sind, zu veranlassen.
  13. Das Gerät nach Anspruch 9, wobei der zumindest eine Speicher und zumindest ein gespeicherter Computerprogrammcode mit dem zumindest einen Prozessor dazu konfiguriert sind, die iterative Evaluierung nach einer Bestimmung zu beenden, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen eines Eintrags erfüllen.
  14. Das Gerät nach Anspruch 13, wobei der zumindest eine Speicher und zumindest ein gespeicherter Computerprogrammcode mit dem zumindest einen Prozessor dazu konfiguriert sind, den Zugang zu dem Service nach einer Bestimmung zu beschränken, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen, die mit irgendeinem des einen oder der mehreren Einträge verbunden sind, nicht erfüllen.
  15. Das Gerät nach Anspruch 13, wobei der zumindest eine Speicher und zumindest ein gespeicherter Computerprogrammcode mit dem zumindest einen Prozessor dazu konfiguriert sind, die Zuführung des Services über ein webbasiertes Portal zu empfangen.
  16. Das Gerät nach Anspruch 15, wobei der zumindest eine Speicher und zumindest ein gespeicherter Computerprogrammcode mit dem zumindest einen Prozessor dazu konfiguriert sind, eine Mitteilung, die eine geordnete Liste eines oder mehrerer Einträge zum Bereitstellen des Services umfasst, als Reaktion auf das Auswählen eines Services über das webbasierte Portal durch einen Benutzer, zu empfangen.
  17. Ein Computerprogrammprodukt zum Bereitstellen einer Zuführung eines oder mehrerer Services, wobei das Computerprogrammprodukt umfasst: zumindest ein computerlesbares Speichermedium mit darin gespeicherten computerlesbaren Programmanweisungen, wobei die Programmanweisungen dazu konfiguriert sind, eine Übertragung einer Anfrage für einen Service bereitzustellen, eine Mitteilung zu empfangen, die eine geordnete Liste eines oder mehrerer Einträge zum Bereitstellen des Services aufweist, wobei jeder Eintrag eine oder mehrere mit dem Eintrag verbundene Voraussetzungen umfasst, den einen oder die mehreren Einträge in der Ordnung, die durch die geordnete Liste spezifiziert ist, iterativ zu evaluieren, durch Bestimmen eines oder mehrerer Attribute, die mit der einen oder den mehreren mit dem jeweiligen Eintrag verbundenen Voraussetzungen in Verbindung stehen, und Evaluieren, ob das eine oder die mehreren Attribute die eine oder die mehreren mit dem jeweiligen Eintrag verbundenen Voraussetzungen erfüllen, und die Zuführung des Services, wie es in einem Eintrag spezifiziert ist, nach einer Bestimmung bereitzustellen, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen des Eintrags erfüllen.
  18. Das Computerprogrammprodukt nach Anspruch 17, wobei die Programmanweisungen weiter dazu konfiguriert sind, eine Mitteilung zu empfangen, wobei jeder des einen oder der mehreren Einträge zumindest eine Anzeige einer Anwendung zum Bereitstellen des Services und/oder eines Verfahrens zum Zuführen des Services umfasst.
  19. Das Computerprogrammprodukt nach Anspruch 18, wobei die Programmanweisungen weiter dazu konfiguriert sind, eine Mitteilung zu empfangen, wobei jeder des einen oder der mehreren Einträge der Anwendung zum Bereitstellen des Services und/oder dem Verfahren zum Zuführen des Services entspricht, die mit dem jeweiligen Eintrag verbunden sind.
  20. Das Computerprogrammprodukt nach Anspruch 19, wobei die Programmanweisungen weiter dazu konfiguriert sind, den Service über die Anwendung zum Bereitstellen des Services und/oder das Verfahren zum Zuführen des Services, die mit dem entsprechenden Eintrag verbunden sind, zu empfangen.
  21. Das Computerprogrammprodukt nach Anspruch 20, wobei die Programmanweisungen weiter dazu konfiguriert sind, die iterative Evaluierung nach einer Bestimmung zu beenden, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen eines Eintrags erfüllen.
  22. Das Computerprogrammprodukt nach Anspruch 21, wobei die Programmanweisungen weiter dazu konfiguriert sind, einen Zugang zu einem Service nach einer Bestimmung zu beschränken, dass das eine oder die mehreren Attribute die eine oder die mehreren Voraussetzungen, die mit irgendeinem des einen oder der mehreren Einträge verbunden sind, nicht erfüllen.
  23. Das Computerprogrammprodukt nach Anspruch 17, wobei die Programmanweisungen weiter dazu konfiguriert sind, die Zuführung des Services über ein webbasiertes Portal zu empfangen.
  24. Das Computerprogrammprodukt nach Anspruch 23, wobei die Programmanweisungen weiter dazu konfiguriert sind, die Mitteilung, die eine geordnete Liste eines oder mehrerer Einträge zum Bereitstellen des Services umfasst, als Reaktion auf ein Auswählen eines Services über das webbasierte Portal durch einen Benutzer zu empfangen.
  25. Ein Verfahren zum Bereitstellen eines oder mehrerer Services für ein Endgerät, wobei das Verfahren umfasst: Erzeugen zumindest einer geordneten Liste eines oder mehrerer Einträge zum Bereitstellen eines entsprechenden Service, wobei jeder Eintrag eine oder mehrere mit dem Eintrag verbundene Voraussetzungen umfasst; Empfangen einer Anfrage für einen Service; Übermitteln einer geordneten Liste, die mit dem angefragten Service verbunden ist; Empfangen einer Anzeige eines Eintrags der geordneten Liste; und Bereitstellen des Services, wie es in dem Eintrag spezifiziert ist.
  26. Das Verfahren nach Anspruch 25, weiter umfassend den Schritt eines Speicherns der zumindest einen geordneten Liste.
  27. Das Verfahren nach Anspruch 26, weiter umfassend die Schritte eines Abrufens der geordneten Liste aus einem Speicher, Serialisierens der geordneten Liste in eine Textfolge und Bereitstellens einer Übertragung der Textfolge.
DE112012002782.5T 2011-07-01 2012-07-02 Verfahren und Gerät zur Anwendungskostenberechnung bei der Serviceerbringung Pending DE112012002782T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161504016P 2011-07-01 2011-07-01
US61/504,016 2011-07-01
US13/540,121 US20130006806A1 (en) 2011-07-01 2012-07-02 Method and apparatus for application costing for service provisioning
US13/540,121 2012-07-02
PCT/US2012/045277 WO2013006559A2 (en) 2011-07-01 2012-07-02 Method and apparatus for application costing for service provisioning

Publications (1)

Publication Number Publication Date
DE112012002782T5 true DE112012002782T5 (de) 2014-03-20

Family

ID=47391576

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112012002782.5T Pending DE112012002782T5 (de) 2011-07-01 2012-07-02 Verfahren und Gerät zur Anwendungskostenberechnung bei der Serviceerbringung

Country Status (3)

Country Link
US (1) US20130006806A1 (de)
DE (1) DE112012002782T5 (de)
WO (1) WO2013006559A2 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10237763B1 (en) * 2012-08-18 2019-03-19 Global Eagle Entertainment Inc. Real time data meter
US10315724B2 (en) * 2013-01-11 2019-06-11 Shimano Inc. Composite bicycle component
US9369462B2 (en) * 2014-08-05 2016-06-14 Dell Products L.P. Secure data entry via audio tones
JP6561996B2 (ja) * 2014-11-07 2019-08-21 ソニー株式会社 情報処理装置、制御方法、および記憶媒体

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6910154B1 (en) * 2000-08-18 2005-06-21 Network Appliance, Inc. Persistent and reliable delivery of event messages
US7117504B2 (en) * 2001-07-10 2006-10-03 Microsoft Corporation Application program interface that enables communication for a network software platform
US7213065B2 (en) * 2001-11-08 2007-05-01 Racemi, Inc. System and method for dynamic server allocation and provisioning
US7200657B2 (en) * 2002-10-01 2007-04-03 International Business Machines Corporation Autonomic provisioning of network-accessible service behaviors within a federated grid infrastructure
CA2406565A1 (en) * 2002-10-04 2004-04-04 Ibm Canada Limited-Ibm Canada Limitee Method and apparatus for using business rules or user roles for selecting portlets in a web portal
US20060294238A1 (en) * 2002-12-16 2006-12-28 Naik Vijay K Policy-based hierarchical management of shared resources in a grid environment
US7516221B2 (en) * 2003-08-14 2009-04-07 Oracle International Corporation Hierarchical management of the dynamic allocation of resources in a multi-node system
US20060026268A1 (en) * 2004-06-28 2006-02-02 Sanda Frank S Systems and methods for enhancing and optimizing a user's experience on an electronic device
US8607322B2 (en) * 2004-07-21 2013-12-10 International Business Machines Corporation Method and system for federated provisioning
US20060265499A1 (en) * 2005-05-23 2006-11-23 Menasce Daniel A Service Allocation Mechanism
US20070118496A1 (en) * 2005-11-21 2007-05-24 Christof Bornhoevd Service-to-device mapping for smart items
GB2450144A (en) * 2007-06-14 2008-12-17 Cvon Innovations Ltd System for managing the delivery of messages
US8634796B2 (en) * 2008-03-14 2014-01-21 William J. Johnson System and method for location based exchanges of data facilitating distributed location applications
US7856500B2 (en) * 2008-07-11 2010-12-21 International Business Machines Corporation Method for placing composite applications in a federated environment

Also Published As

Publication number Publication date
WO2013006559A3 (en) 2014-04-24
WO2013006559A2 (en) 2013-01-10
US20130006806A1 (en) 2013-01-03

Similar Documents

Publication Publication Date Title
US20240250862A1 (en) Systems and methods for providing managed services
DE112012002780B4 (de) Verfahren und Vorrichtung zur Berücksichtigung des Aufwands von Anwendungen basierend auf Kundenhardware
DE112012003731T5 (de) Verfahren und Vorrichtung zum Schlüssel-Sharing in Verbindung mit dem Remote Desktop Protocol
DE112012002774T5 (de) Verfahren und Vorrichtung für einen keep-alive Push-Agenten
EP3391616B1 (de) Vorrichtungsverwaltung mit tunnelierung
DE112020000629T5 (de) Vereinheitlichte und automatisierte installation, einsatz, konfiguration und verwaltung von softwaredefinierten speicheranlagen
DE112016006083T5 (de) Bereitstellung von Rechenressourcen für eine virtuelle Maschine, die ausgelegt ist eine Gruppe von Anwendungsprogrammen zu Hosten, die einem Benutzer zugeordnet sind
DE112015004562T5 (de) Kontextbasiertes Cloud-System für die Zusicherung von Sicherheit
DE112017002283T5 (de) Effiziente bereitstellung von vorrichtungen
DE112016001075T5 (de) Verteiltes speichern und abrufen von datensätzen
US11095648B2 (en) Dashboard as remote computing services
DE102016222034A1 (de) Dynamische Kennworterzeugung
DE202015009286U1 (de) Kurzlebige Anwendungen
DE112012002889T5 (de) Authentifizieren eines Rich Clients aus einer bestehenden Browser-Sitzung heraus
DE102012203561A1 (de) Die Personifikation/Bevollmächtigung eines Benutzers in einem Merkmal-basierenden Authentifizierungssystem
DE112012003741T5 (de) Verfahren und Vorrichtung für eine serverseitige Fernarbeitsaufnahme und -wiedergabe
DE112018004471T5 (de) Zugreifen auf gateway-verwaltungskonsole
US9087322B1 (en) Adapting service provider products for multi-tenancy using tenant-specific service composition functions
US20160269446A1 (en) Template representation of security resources
DE202023100535U1 (de) Systeme für Multi-Blockchain- und Multi-Token-Interoperabilität durch gemeinsame Blockchain-Integration
DE102015101062B4 (de) Serversystem, Verfahren zur Steuerung eines Serversystems und Speichermedium
US20220021726A1 (en) Smart url integration using serverless service
DE112015003955T5 (de) Örtlichkeitsspezifische Wi-Fi-Verbindungsfähigkeitsbenachrichtigungen
US20180316757A1 (en) Selective server-side execution of client-side scripts
DE102016007400A1 (de) Techniken zum Evaluieren von Anwendungen durch die Verwendung einer Hilfsanwendung

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R082 Change of representative

Representative=s name: SCHWEIGER & PARTNERS, DE

Representative=s name: SCHWEIGER & PARTNER, DE

R082 Change of representative

Representative=s name: GRUENECKER PATENT- UND RECHTSANWAELTE PARTG MB, DE

R016 Response to examination communication