DE102021124620A1 - Proaktives auswählen von virtual-reality-inhaltskontexten - Google Patents

Proaktives auswählen von virtual-reality-inhaltskontexten Download PDF

Info

Publication number
DE102021124620A1
DE102021124620A1 DE102021124620.2A DE102021124620A DE102021124620A1 DE 102021124620 A1 DE102021124620 A1 DE 102021124620A1 DE 102021124620 A DE102021124620 A DE 102021124620A DE 102021124620 A1 DE102021124620 A1 DE 102021124620A1
Authority
DE
Germany
Prior art keywords
time
available bandwidth
location
computer
content
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.)
Granted
Application number
DE102021124620.2A
Other languages
English (en)
Other versions
DE102021124620B4 (de
Inventor
Subha Kiran Patnaikuni
Sarbajit K. Rakshit
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of DE102021124620A1 publication Critical patent/DE102021124620A1/de
Application granted granted Critical
Publication of DE102021124620B4 publication Critical patent/DE102021124620B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • H04L41/5041Network service management, e.g. ensuring proper service fulfilment according to agreements characterised by the time relationship between creation and deployment of a service
    • H04L41/5051Service on demand, e.g. definition and deployment of services in real time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/487Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using geographical or spatial information, e.g. location
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/011Arrangements for interaction with the human body, e.g. for user immersion in virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0876Network utilisation, e.g. volume of load or congestion level
    • H04L43/0882Utilisation of link capacity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/02Protocol performance
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25841Management of client data involving the geographical location of the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/431Generation of visual interfaces for content selection or interaction; Content or additional data rendering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44213Monitoring of end-user related data
    • H04N21/44218Detecting physical presence or behaviour of the user, e.g. using sensors to detect if the user is leaving the room or changes his face expression during a TV program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4524Management of client data or end-user data involving the geographical location of the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/647Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
    • H04N21/64723Monitoring of network processes or resources, e.g. monitoring of network load
    • H04N21/64738Monitoring network characteristics, e.g. bandwidth, congestion level
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Social Psychology (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Library & Information Science (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Ein Computer wählt proaktiv Virtual-Reality-(VR-)Inhalte aus. Der Computer empfängt Positionsmetadaten von einer VR-Interaktionseinheit, wobei die Positionsmetadaten einen Referenzort enthalten. Der Computer empfängt Bandbreiten-Metadaten für den Referenzort, die Werte der verfügbaren Bandbreite enthalten, die auf einer Zeitskala indexiert sind. Der Computer empfängt Informationen über die Anforderungen an die VR-Inhalte, die Schwellenwerte der verfügbaren Bandbreite enthalten, um für eine Mehrzahl von VR-Inhaltskontexten eine annehmbare Leistung zu erzielen. Der Computer empfängt zu einem Referenzzeitpunkt eine Anforderung zum Bereitstellen von VR-Inhalten zu einem zweiten Zeitpunkt, der chronologisch nach dem Referenzzeitpunkt liegt. Der Computer wählt vor dem Eintreten des zweiten Zeitpunkts einen VR-Inhaltskontext aus, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite liegt, der dem zweiten Zeitpunkt auf der Zeitskala entspricht.

Description

  • HINTERGRUND
  • Die vorliegende Erfindung bezieht sich allgemein auf das Gebiet von Virtual-Reality-(VR-)Systemen und insbesondere auf Auswählen von Inhalten, die auf einer VR-Interaktionseinheit angezeigt werden sollen.
  • VR-Systeme können Benutzern interaktive Erlebnisse bereitstellen, die vielfältige Aktivitäten oder Kontexte simulieren, darunter Einkaufen (z.B. in virtuellen Geschäften mit mehreren Kontexten), soziale Interaktion (z.B. virtueller Austausch von Erfahrungen mit anderen), immersives Spielen usw. VR-Systeme benötigen große Datenmengen, und für den Erfolg der VR-Interaktion ist eine ausreichende verfügbare Bandbreite erforderlich, um die hohen Anforderungen an die Datenübertragung wirksam zu unterstützen.
  • VR-Systeme benötigen im Allgemeinen zwar große Datenmengen, jedoch haben nicht alle Inhalte und Kontexte die gleichen Anforderungen an die verfügbare Bandbreite (d.h., einige Inhalte und Kontexte sind datenintensiver als andere). Kontexte mit grafikintensivem Inhalt und besonders hoher Auflösung benötigen besonders viel verfügbare Bandbreite, während statischer und grafisch einfacher Inhalt vergleichsweise weniger verfügbare Bandbreite benötigt.
  • Aus vielfältigen Gründen kann die verfügbare Bandbreite von Ort zu Ort und an einigen Orten sogar von einer Tageszeit zur anderen variieren. Diese Schwankungen können besonders für Benutzer problematisch sein, die versuchen, Kontexte zu erleben, für die mehr Bandbreite erforderlich ist, als an einem bestimmten Ort oder zu einer bestimmten Zeit verfügbar ist. Dies kann zu Schwierigkeiten für Benutzer führen, die versuchen, eine Reihe von Kontexten während einer VR-Sitzung effizient und zufriedenstellend zu erleben, die eine Vielfalt verfügbarer Bandbreite während der Sitzung bereitstellt. Diese Probleme können beispielsweise auftreten, wenn sich ein Benutzer von Orten oder Zeiträumen mit großer verfügbarer Bandbreite zu Orten oder Zeiträumen mit relativ geringer verfügbarer Bandbreite bewegt. Diese Schwierigkeiten können besonders problematisch sein, wenn versucht wird, eine Reihe von Kontexten vor dem Hintergrund unterschiedlicher Anforderungen an Kontextdaten und wechselnder Verfügbarkeit der Bandbreite zu erleben, da einige Inhalte und bestimmte Kontexte nur an bestimmten Orten oder zu bestimmten Zeiten erfolgreich erlebt werden können.
  • KURZDARSTELLUNG
  • In Ausführungsformen gemäß der vorliegenden Erfindung umfasst ein durch einen Computer implementiertes Verfahren zum proaktiven Auswählen von Virtual-Reality-(VR-)Inhalten Empfangen von Positionsmetadaten von einer VR-Interaktionseinheit durch den Computer, wobei die Positionsmetadaten einen Referenzort enthalten. Der Computer empfängt Bandbreiten-Metadaten für den Referenzort, die Werte der verfügbaren Bandbreite enthalten, die auf einer Zeitskala indexiert sind, und empfängt Informationen über die Anforderungen an die VR-Inhalte, die Schwellenwerte der verfügbaren Bandbreite enthalten, um für eine Gruppe von VR-Inhaltskontexten eine annehmbare Leistung zu erzielen. Der Computer empfängt ferner zu einem Referenzzeitpunkt eine Anforderung zum Bereitstellen von VR-Inhalten zu einem zweiten Zeitpunkt, der nach dem Referenzzeitpunkt liegt. Der Computer wählt ferner vor dem Eintreten des zweiten Zeitpunkts einen VR-Inhaltskontext aus, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite liegt, der dem zweiten Zeitpunkt entspricht. Gemäß anderen Aspekten erfolgt das Auswählen zumindest teilweise in Übereinstimmung mit einem Präferenzwert, der den VR-Inhaltskontexten zugehörig ist, wobei diese aus einer Liste ausgewählt werden, die aus einer spezifischen Benutzeranforderung, einem wirtschaftlichen Wert, der Popularität und der Aktualität eines letzten Besuchs durch die VR-Interaktionseinheit besteht. Gemäß anderen Aspekten zeigen die Positionsmetadaten an, dass sich die VR-Interaktionseinheit zum zweiten Zeitpunkt an einem zweiten Ort befinden wird, wobei der Computer Bandbreiten-Metadaten für den zweiten Ort empfängt, die mindestens einen Wert der verfügbaren Bandbreite enthalten, und der VR-Inhaltskontext zumindest teilweise in Übereinstimmung mit der verfügbaren Bandbreite des zweiten Orts erstellt wird. Gemäß anderen Aspekten enthalten die Positionsmetadaten Informationen, die aus einer Liste ausgewählt werden, die aus Bewegungsgeschwindigkeit, Bewegungsrichtung und Bewegungsschnelligkeit besteht. Gemäß anderen Aspekten zeigen die Positionsmetadaten an, dass sich die VR-Interaktionseinheit zu einem dritten Zeitpunkt an einem dritten Ort befinden wird, wobei der Computer Bandbreiten-Metadaten für den dritten Ort empfängt, die Werte der verfügbaren Bandbreite enthalten, die auf der Zeitskala indexiert sind, wobei der Computer vor dem Eintreten des dritten Zeitpunkts eine Abweichungsbedingung feststellt, insofern als der ausgewählte VR-Inhaltskontext einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der über dem Wert der verfügbaren Bandbreite an dem dritten Ort zu dem dritten Zeitpunkt liegt, und wobei der Computer als Reaktion auf das Feststellen der Abweichungsbedingung vor dem Eintreten des dritten Zeitpunkts eine Korrekturmaßnahme durchführt. Gemäß anderen Aspekten besteht die Korrekturmaßnahme darin, einen zweiten VR-Inhaltskontext auszuwählen, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem dritten Ort zu dem dritten Zeitpunkt liegt. Gemäß anderen Aspekten besteht die Korrekturmaßnahme darin, dass der Computer einem Benutzer der VR-Interaktionseinheit vorschlägt, an dem dritten Ort zu einem vierten Zeitpunkt anzukommen, der zumindest teilweise so ausgewählt wird, dass der Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite für den ausgewählten VR-Inhaltskontext unter der verfügbaren Bandbreite an dem dritten Ort zu dem vierten Zeitpunkt liegt. Gemäß anderen Aspekten besteht die Korrekturmaßnahme darin, dass der Computer einen autonomen Positionierungsmechanismus für die VR-Interaktionseinheit anweist, an dem dritten Ort zu einem vierten Zeitpunkt anzukommen, der zumindest teilweise so ausgewählt wird, dass der Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite für den ausgewählten VR-Inhaltskontext unter der verfügbaren Bandbreite an dem dritten Ort zu dem vierten Zeitpunkt liegt. Gemäß anderen Aspekten zeigen die Positionsmetadaten an, dass sich die VR-Interaktionseinheit zum zweiten Zeitpunkt an einem zweiten Ort und zu einem dritten Zeitpunkt an einem dritten Ort befinden wird, wobei der Computer Bandbreiten-Metadaten für den zweiten Ort empfängt, die Werte der verfügbaren Bandbreite enthalten, die zeitlich indexiert sind, und wobei das Auswählen des VR-Inhaltskontexts durch den Computer zumindest teilweise in Übereinstimmung mit dem Wert der verfügbaren Bandbreite für den zweiten Ort zu dem zweiten Zeitpunkt erfolgt, wobei der Computer Bandbreiten-Metadaten für den dritten Ort empfängt, die Werte der verfügbaren Bandbreite enthalten, die auf der Zeitskala indexiert sind, wobei der Computer vor dem Eintreten des dritten Zeitpunkts einen zweiten VR-Inhaltskontext auswählt, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem dritten Ort liegt, wobei das Auswählen des zweiten VR-Inhaltskontexts durch den Computer zumindest teilweise in Übereinstimmung mit dem Wert der verfügbaren Bandbreite für den dritten Ort zu dem dritten Zeitpunkt erfolgt. Gemäß anderen Aspekten wird der zweite VR-Inhaltskontext durch den Computer zumindest teilweise unter Berücksichtigung eines Präferenzwerts ausgewählt, der den VR-Inhaltskontexten zugehörig ist, wobei diese aus einer Liste ausgewählt werden, die aus einer spezifischen Benutzeranforderung, einem wirtschaftlichen Wert, der Popularität und der Aktualität eines letzten Besuchs durch die VR-Interaktionseinheit besteht. Gemäß anderen Aspekten zeigen die Positionierungsmetadaten an, dass sich die VR-Interaktionseinheit zu einem dritten Zeitpunkt und einem vierten Zeitpunkt an dem Referenzort befinden wird, wobei der Computer vor dem Eintreten des dritten Zeitpunkts eine Abweichungsbedingung feststellt, insofern als der ausgewählte VR-Inhaltskontext einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der über dem Wert der verfügbaren Bandbreite an dem Referenzort zu dem dritten Zeitpunkt liegt, wobei der Computer vor dem Eintreten des dritten Zeitpunkts eine Wiederübereinstimmungsbedingung feststellt, insofern als der ausgewählte VR-Inhaltskontext einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem Referenzort zu dem vierten Zeitpunkt liegt, wobei der Computer als Reaktion auf das Feststellen der Abweichungsbedingung und der Wiederübereinstimmungsbedingung zwischen dem Eintreten des dritten Zeitpunkts bis zum Eintreten des vierten Zeitpunkts zu einem VR-Ersatzinhaltskontext wechselt, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem Referenzort zu dem dritten Zeitpunkt liegt.
  • Gemäß einer anderen Ausführungsform umfasst ein System zum proaktiven Auswählen von Virtual-Reality-(VR-)Inhalten ein Computersystem, das ein durch einen Computer lesbares Speichermedium mit darin enthaltenen Programmanweisungen aufweist, wobei die Programmanweisungen von einem Computer ausgeführt werden können, um den Computer zu veranlassen: Positionsmetadaten von einer VR-Interaktionseinheit zu empfangen, wobei die Positionsmetadaten einen Referenzort enthalten; Bandbreiten-Metadaten für den Referenzort zu empfangen, die Werte der verfügbaren Bandbreite enthalten, die auf einer Zeitskala indexiert sind; Informationen über die Anforderungen an die VR-Inhalte zu empfangen, die Schwellenwerte der verfügbaren Bandbreite enthalten, um für eine Mehrzahl von VR-Inhaltskontexten eine annehmbare Leistung zu erzielen; zu einem Referenzzeitpunkt eine Anforderung zum Bereitstellen von VR-Inhalten zu einem zweiten Zeitpunkt zu empfangen, wobei der zweite Zeitpunkt chronologisch nach dem Referenzzeitpunkt liegt; und vor dem Eintreten des zweiten Zeitpunkts einen VR-Inhaltskontext auszuwählen, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite liegt, der dem zweiten Zeitpunkt auf der Zeitskala entspricht.
  • Gemäß einer anderen Ausführungsform umfasst ein Computerprogrammprodukt zum proaktiven Auswählen von Virtual-Reality-(VR-)Inhalten ein durch einen Computer lesbares Speichermedium mit darin enthaltenen Programmanweisungen, wobei die Programmanweisungen von einem Computer ausgeführt werden können, um den Computer zu veranlassen: unter Verwendung des Computers Positionsmetadaten von einer VR-Interaktionseinheit zu empfangen, wobei die Positionsmetadaten einen Referenzort enthalten; unter Verwendung des Computers Bandbreiten-Metadaten für den Referenzort zu empfangen, die Werte der verfügbaren Bandbreite enthalten, die auf einer Zeitskala indexiert sind; unter Verwendung des Computers Informationen über die Anforderungen an die VR-Inhalte zu empfangen, die Schwellenwerte der verfügbaren Bandbreite enthalten, um für eine Mehrzahl von VR-Inhaltskontexten eine annehmbare Leistung zu erzielen; zu einem Referenzzeitpunkt eine Anforderung zum Bereitstellen von VR-Inhalten zu einem zweiten Zeitpunkt zu empfangen, wobei der zweite Zeitpunkt chronologisch nach dem Referenzzeitpunkt liegt; und unter Verwendung des Computers vor dem Eintreten des zweiten Zeitpunkts einen VR-Inhaltskontext auszuwählen, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite liegt, der dem zweiten Zeitpunkt auf der Zeitskala entspricht.
  • Im Hinblick auf die erkannten Mängel und Probleme versucht die vorliegende Offenbarung, das Auswählen von VR-Kontext proaktiv zu koordinieren, um die dynamische, historisch jedoch bekannte Bandbreiten-Verfügbarkeit während einer bestimmten VR-Sitzung Rechnung anzupassen.
  • Figurenliste
  • Diese und andere Aufgaben, Merkmale und Vorteile der vorliegenden Erfindung ergeben sich anhand der folgenden ausführlichen Beschreibung veranschaulichender Ausführungsformen, die in Verbindung mit den beigefügten Zeichnungen zu lesen ist. Die verschiedenen Merkmale der Zeichnungen sind nicht maßstabsgetreu, da die Abbildungen der Klarheit dienen, um dem Fachmann das Verständnis der Erfindung in Verbindung mit der ausführlichen Beschreibung zu erleichtern. Die Zeichnung sind nachstehend aufgeführt:
    • 1 ist ein schematisches Blockschaubild, das einen Überblick über ein System für ein durch einen Computer implementiertes Verfahren zum vorausschauenden Auswählen von Virtual-Reality-Inhalten veranschaulicht, das Bedingungen für eine demnächst verfügbare Bandbreite gemäß Ausführungsformen der vorliegenden Erfindung proaktiv anpasst.
    • 2 ist ein Ablaufplan, der ein Verfahren veranschaulicht, das unter Verwendung des in 1 gezeigten Systems zum vorausschauenden Auswählen von Virtual-Reality-Inhalten implementiert wird, das Bedingungen für eine demnächst verfügbare Bandbreite gemäß einigen Aspekten der Erfindung proaktiv anpasst.
    • 3 ist ein Ablaufplan, der ein Verfahren veranschaulicht, das unter Verwendung des in 1 gezeigten Systems zum vorausschauenden Auswählen von Virtual-Reality-Inhalten implementiert wird, das Bedingungen für eine demnächst verfügbare Bandbreite gemäß einigen Aspekten der Erfindung proaktiv anpasst.
    • 4 ist ein Ablaufplan, der ein Verfahren veranschaulicht, das unter Verwendung des in 1 gezeigten Systems zum vorausschauenden Auswählen von Virtual-Reality-Inhalten implementiert wird, das Bedingungen für eine demnächst verfügbare Bandbreite gemäß einigen Aspekten der Erfindung proaktiv anpasst.
    • 5 ist ein Ablaufplan, der ein Verfahren veranschaulicht, das unter Verwendung des in 1 gezeigten Systems zum vorausschauenden Auswählen von Virtual-Reality-Inhalten implementiert wird, das Bedingungen für eine demnächst verfügbare Bandbreite gemäß einigen Aspekten der Erfindung proaktiv anpasst.
    • 6 ist ein Ablaufplan, der ein Verfahren veranschaulicht, das unter Verwendung des in 1 gezeigten Systems zum vorausschauenden Auswählen von Virtual-Reality-Inhalten implementiert wird, das Bedingungen für eine demnächst verfügbare Bandbreite gemäß einigen Aspekten der Erfindung proaktiv anpasst.
    • 7 ist eine Tabelle, die wie durch einige Aspekte der Erfindung implementiert beispielhafte Bandbreiten-Metadaten für mehrere Orte zeigt, die auf einer Zeitskala indexiert sind.
    • 8 ist eine Tabelle, die wie durch einige Aspekte der Erfindung implementiert beispielhafte Schwellenwerte der für eine annehmbare Metadaten-Leistung verfügbaren Bandbreite für mehrere VR-Inhaltskontexte zusammen mit zugehörigen typischen Kontext-Sitzungszeitpunkten zeigt.
    • 9 ist eine schematische Darstellung einer Karte, die einen Referenzort, einen zweiten Ort und einen dritten Ort zeigt, die gemäß einigen Aspekten der Erfindung implementiert werden.
    • 10 ist ein schematisches Blockschaubild, das ein Computersystem gemäß einer Ausführungsform der Offenbarung zeigt, das ganz oder teilweise in eine(n) oder mehrere der in 1 gezeigten Computer oder Einheiten integriert werden kann und mit den in 1 gezeigten Systemen und Verfahren zusammenarbeitet.
    • 11 zeigt eine Cloud-Computing-Umgebung gemäß einer Ausführungsform der vorliegenden Erfindung.
    • 12 zeigt Abstraktionsmodellschichten gemäß einer Ausführungsform der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Die folgende Beschreibung mit Bezugnahme auf die beigefügten Zeichnungen wird bereitgestellt, um ein umfassendes Verständnis der beispielhaften Ausführungsformen der Erfindung wie in den Ansprüchen und ihren Entsprechungen definiert zu ermöglichen. Die Beschreibung enthält zum besseren Verständnis spezifische Einzelheiten, die jedoch nur als beispielhaft zu verstehen sind. Fachleute erkennen daher, dass verschiedene Änderungen und Modifizierungen der hier beschriebenen Ausführungsformen vorgenommen werden können, ohne vom Anwendungsbereich und Grundgedanken der Erfindung abzuweichen. Aus Gründen der Klarheit und Kürze können die Beschreibungen von bekannten Funktionen und Konstruktionen darüber hinaus weggelassen werden.
  • Die in der folgenden Beschreibung und den Ansprüchen verwendeten Begriffe und Wörter sind nicht auf die bibliografischen Bedeutungen beschränkt, sondern werden lediglich verwendet, um ein klares und eindeutiges Verständnis der Erfindung zu ermöglichen. Für Fachleute ist daher offensichtlich, dass die folgende Beschreibung von beispielhaften Ausführungsformen der vorliegenden Erfindung nur zur Veranschaulichung und nicht zur Einschränkung der Erfindung bereitgestellt wird, wie sie in den beigefügten Ansprüchen und ihren Entsprechungen definiert ist.
  • Es versteht sich, dass die Singularformen „ein/eine/einer/eines“ und „der/die/das“ die Pluralformen umfassen, es sei denn, der Zusammenhang zeigt eindeutig etwas anderes auf. Die Bezugnahme auf „einen Teilnehmer“ schließt beispielsweise die Bezugnahme auf einen oder mehrere solcher Teilnehmer ein, es sei denn, der Zusammenhang zeigt eindeutig etwas anderes auf.
  • Mit gemeinsamer Bezugnahme auf die Figuren im Allgemeinen und besonderer Bezugnahme auf 1 wird nun ein Überblick über ein Verfahren zum vorausschauenden Auswählen von Virtual-Reality-Inhalten gezeigt, der in einem System 100 verwendet werden kann, wie es von einem Servercomputer 102 mit einem optional gemeinsam genutzten Speicher 104 und Aspekten, die proaktiv Bedingungen für eine verfügbare Bandbreite anpassen, gemäß einer Ausführungsform der vorliegenden Offenbarung ausgeführt wird. Der Servercomputer 102 tauscht Daten mit einer Systemuhr 106 aus, die Referenzzeitwerte und ein konsistentes, chronologisches Indexieren für Aspekte der vorliegenden Erfindung bereitstellt. Ein VR-Kontextdatensatz (VRCD) 108 stellt Kontextinhalte und die zugehörigen Daten zu den Bandbreitenanforderungen bereit. Der Servercomputer 102 tauscht ferner Daten mit einer Quelle von Metadaten über die verfügbare Bandbreite (ABM) 110 aus. In einigen Aspekten der Erfindung stellt eine VR-Interaktionseinheit 112 (VRID) VRID-Positionsmetadaten 114 bereit, die Informationen über die VRID bereitstellen, darunter Ort, Geschwindigkeit, Fahrtrichtung und möglicherweise Schnelligkeit, die alle auf Referenzzeiten indexiert werden können, die zum Koordinieren der Informationen verwendet werden, die von der Systemuhr 106 bereitgestellt werden. Ein VR-Inhaltsauswahlmodul (VRCSM) 116 wählt wie nachstehend genauer beschrieben proaktiv einen VR-Kontext aus VR-Kontexten aus, die Bandbreitenanforderungen aufweisen, die für die Bandbreite geeignet sind, die an den Orten und zu den Zeiten verfügbar ist, an denen sich die VRID 114 befindet. Das VR-Inhaltserzeugungsmodul (VRCGM) 118 bereitet Inhalte für ausgewählte Kontexte vor und sendet diese an die VRID 114, damit dieser von einem Benutzer (nicht dargestellt) erlebt werden kann.
  • Mit weiterer Bezugnahme auf 2 werden nun Aspekte eines Verfahrens im Einzelnen beschrieben, das in dem vorstehend beschriebenen System 100 zum vorausschauenden Auswählen von Virtual-Reality-Inhalten verwendet werden kann, das proaktiv Bedingungen für eine demnächst verfügbare Bandbreite gemäß einigen Aspekten der Erfindung anpasst. Gemäß Aspekten dieser Ausführungsform befindet sich ein Benutzer, der eine VRID 112 steuert, an einem Ort (z.B. Haus, Geschäftsgebäude, Flughafen usw.) und möchte eine virtuelle Einkaufstour durchführen. Bei Block 202 empfängt der Servercomputer 102 die VRID-Positionsmetadaten 114, darunter ein Referenzort 902 (am besten auf der Karte 900 in 11 zu sehen), für die VRID 112. Bei Block 204 empfängt der Servercomputer 102 die Bandbreiten-Metadaten 110 (in Tabelle 700 in 7 dargestellt) für mehrere Orte 702, die die Werte 704 der für jeden Ort verfügbaren Bandbreite enthalten, die auf einer Zeitskala indexiert sind (z.B. die repräsentativen Referenzzeitpositionen 706, 708, 710, 712), die der von der Systemuhr 106 verwendeten Zeitskala entsprechen.
  • Bei Block 206 empfängt der Servercomputer 102 Informationen über die Anforderung an den VR-Kontextinhalt, die Schwellenwerte der verfügbaren Bandbreite enthalten, um für eine Gruppe von VR-Inhaltskontexten eine annehmbare Leistung zu erzielen. Wie hier verwendet, bedeutet der Begriff „Kontext“ eine virtuelle Umgebung, die derjenigen ähnelt, die man bei der Ausübung einer Aktivität wie Einkaufen in einem konventionellen (z.B. nicht virtuellen) Geschäft erleben kann. Ein konventionelles Geschäft kann mehrere Abteilungen oder Arten von zusammengefassten Waren (z.B. Kleidung, Kosmetika, Blumen, Obst, Reinigungsmittel, Bürobedarf und sonstiges, wie von Fachleuten ausgewählt) haben, die während eines bestimmten Einkaufs erlebt werden können. Die Kontexte (von denen mehrere bei 802 in Tabelle 800 von 8 dargestellt sind) können jeweils einen bestimmten Satz von Merkmalen (z.B. Ebenen des zu verarbeitenden Verpackungsinhalts, Details des Aussehens, Aspekte, die bei einer Kaufentscheidung zu berücksichtigen sind, Zeit, die in der Regel mit der Produktgruppe während eines bestimmten Einkaufs verbracht wird, usw.) aufweisen. Für das Darstellen verschiedener Kontexte in einem virtuellen Geschäft sind daher verschiedene Datenmengen erforderlich. Virtuelles Einkaufen im Kontext 802 von Blumen kann beispielsweise eine Bandbreite erfordern, die bei einer Rate über einem Schwellenwert 804 für eine annehmbare Leistung von 200 MB/s verfügbar ist, während für das Einkaufen im Kontext von Reinigungsmitteln für eine annehmbare Leistung nur 25 MB/s notwendig sind. Der Grund dafür ist, dass für das richtige Darstellen von geometrisch einfachen rechteckigen Verpackungen, wie sie häufig im Kontext 802 von Reinigungsmitteln zu finden sind, viel weniger Daten benötigt werden als für das Darstellen von bunten und oft hoch detaillierten Blumen. Mit anderen Worten, der Reinigungsmittelkontext 802 weist einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite auf, der niedriger als derjenige des Blumenkontexts ist. Gemäß
    8 weist der Reinigungsmittelkontext 802 einen Schwellenwert 804 der verfügbaren Bandbreite von 25 MB/s auf, während der Blumenkontext einen Schwellenwert der verfügbaren Bandbreite von 200 MB/s aufweist. Es sei darauf hingewiesen, dass die Kontexte 802 variieren können und nach dem Ermessen eines Fachmanns ausgewählt werden können. Es sei ferner darauf hingewiesen, dass die Kontexte 802 nicht auf die Art der Waren beschränkt sein müssen, sondern auch die Gamifizierung einer Situation, die Zusammenarbeit und andere Aspekte, die Daten benötigen, umfassen können, die wie von einem Fachmann auf diesem Gebiet ausgewählt die Erfahrung eines Kontexts verbessern können.
  • Der Versuch, die Kontexte 802 darzustellen, wenn die verfügbare Bandbreite 704 unter den jeweiligen Kontextschwellenwerten 804 liegt, führt zu einer unannehmbaren Erfahrung des Benutzers. Für eine erfolgreiche VR-Sitzung ist es daher wünschenswert, nur die Kontexte 802 mit Schwellenwerten 804 der verfügbaren Bandbreite auszuwählen, die unter der verfügbaren Bandbreite 704 liegen. Wie vorstehend erwähnt und in 7 dargestellt, kann die verfügbare Bandbreite 704 zwischen den Orten 702 und sogar zu verschiedenen Zeitpunkten 706, 708, 710, 712 für einige Orte (z.B. den Ort Nr. 3) variieren.
  • Weiterhin unter Bezugnahme auf 2 empfängt der Servercomputer 102 bei Block 208 zu einem Referenzzeitpunkt 706 (z.B. 13 Uhr), der von der Systemuhr 106 erzeugt wird, eine Anforderung zum Bereitstellen eines VR-Inhalts zu einem zweiten, späteren Zeitpunkt 708 (z.B. 15 Uhr). Um ein erfolgreiches Darstellen des Kontexts 802 zum zweiten Zeitpunkt 708 zu gewährleisten, verwendet der Servercomputer 102 das VRCSM 116, um sicherzustellen, dass ein Kontext mit einem Schwellenwert 804 der für eine annehmbare Leistung verfügbaren Bandbreite ausgewählt wird, der unter der Bandbreite 704 liegt, die zum zweiten Zeitpunkt 708 am Referenzort 902 (in 11 als Ort Nr. 1 dargestellt) verfügbar ist. Der Servercomputer 102 wählt daher bei Block 210 vor dem Eintreten des zweiten Zeitpunkts 708 einen VR-Inhaltskontext aus, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite am Referenzort 902 zum zweiten Zeitpunkt liegt.
  • Es sei darauf hingewiesen, dass der Servercomputer 102 beim Auswählen von darzustellenden Kontexten neben der verfügbaren Bandbreite und zugehörigen Leistungsschwellenwerten noch andere Faktoren berücksichtigen kann. Der Servercomputer kann in verschiedenen Ausführungsformen beispielsweise auch einen Präferenzwert für einen VR-Inhaltskontext in Betracht ziehen. Gemäß Aspekten verschiedener Ausführungsformen dieser Erfindung kann der Präferenzwert eine spezifische Benutzeranforderung, einen wirtschaftlichen Wert, die Popularität und die Aktualität eines letzten Besuchs eines Kontexts durch eine bestimmte VR-Interaktionseinheit und andere, von einem Fachmann auf diesem Gebiet ausgewählte Faktoren umfassen. Auf diese Weise kann der Servercomputer 102 sicherstellen, dass die Kontexte 802 auf Wunsch in Übereinstimmung mit mehreren Faktoren ausgewählt werden. Dadurch können die Benutzerje nach Systemprofil zum Beispiel ein Auswählen des Kontexts steuern, die Anbieter von Inhalten können ein Auswählen von Kontexten fördern, die kommerziell besonders wichtig sind, und die Vielfalt der Kontexte von einer Sitzung zur nächsten fördern. Somit können strategische Präferenzen beim Auswählen eines Kontexts unter verschiedenen Kontexten für das Darstellen berücksichtigt werden, für die demnächst ausreichend Bandbreite zur Verfügung stehen. Werden mehrere Präferenzwerte angegeben, können diese in eine Reihenfolge gebracht werden, sodass bestimmte Präferenzwerte mehr Gewicht erhalten als andere.
  • Es sei darauf hingewiesen, dass gemäß verschiedener Aspekte von Ausführungsformen dieser Erfindung die verfügbare Bandbreite 704 in einigen Ausführungsformen durch Attribute eines Benutzerkontos geändert werden kann. Zu diesen Kontoattributen können Standard- oder VIP-Status, kostenloses oder kostenpflichtiges Konto oder andere ausgewählte Aspekte gehören, die von einem Fachmann ausgewählt werden, um die für einen bestimmten Benutzer verfügbare Bandbreite zu erhöhen oder zu verringern.
  • Sobald ein geeigneter Kontext 802 (z.B. ein Kontext, für den demnächst ausreichend Bandbreite zur Verfügung steht, um Schwellenwerte für eine annehmbare Leistung zu erfüllen, und der die Erwägungen zum angegebenen Präferenzwert erfüllt) ausgewählt ist, bereitet der Servercomputer bei Block 212 über das VRCGM 118 den Inhalt für den ausgewählten Kontext vor und sendet den Inhalt für das interaktive Darstellen an die VRID 112.
  • Mit weiterer Bezugnahme auf 3 werden Aspekte eines Verfahrens im Einzelnen beschrieben, das in dem vorstehend beschriebenen System 100 zum vorausschauenden Auswählen von Virtual-Reality-Inhalten verwendet werden kann, das Bedingungen für eine demnächst verfügbare Bandbreite gemäß Aspekten der Erfindung proaktiv anpasst. Gemäß Aspekten dieser Ausführungsform befindet sich ein Benutzer, der eine VRID 112 steuert, an einem Referenzort 902 (z.B. Haus, Geschäftsgebäude, Flughafen usw.) und möchte eine virtuelle Einkaufstour durchführen, während er an einen zweiten Ort reist. Bei Block 302 empfängt der Servercomputer 102 die VRID-Positionsmetadaten 114 zu einem Referenzzeitpunkt 706 (der von der Systemuhr erzeugt wird) für die VR-Interaktionseinheit (VRID), die angeben, dass sich die VRID derzeit an einem Referenzort 902 befindet und zu einem zweiten, chronologisch späteren Zeitpunkt 708 an einem zweiten Ort 904 befinden wird. Bei Block 304 empfängt der Servercomputer 102 die Bandbreiten-Metadaten 110 (in Tabelle 700 von 7 dargestellt) für den zweiten Ort 904, die die Werte 704 der verfügbaren Bandbreite für den zweiten Ort enthalten (bei dem es sich gemäß Aspekten dieser Ausführungsform um Ort Nr. 2 handelt), die auf einer Zeitskala indexiert sind (z.B. die repräsentativen Referenzzeitpositionen 706, 708, 710, 712), die der von der Systemuhr 106 verwendeten Zeitskala entspricht. Bei Block 306 empfängt der Servercomputer Informationen über die Anforderungen an die VR-Kontextinhalte, die Schwellenwerte der verfügbaren Bandbreite enthalten, um eine annehmbare Leistung für eine Gruppe von VR-Inhaltskontexten zu erzielen. Bei Block 308 empfängt der Servercomputer 102 zu einem von der Systemuhr erzeugten Referenzzeitpunkt 706 eine Anforderung zum Bereitstellen von VR-Inhalten zu einem zweiten Zeitpunkt. Bei Block 310 wählt der Servercomputer 102 unter Verwendung des VRCSM 116 vor dem zweiten Zeitpunkt und unter Berücksichtigung der vorstehend beschriebenen Präferenzwerte des VR-Inhaltskontexts einen VR-Inhaltskontext 802 aus, der einen Schwellenwert der für eine annehmbare Leistung 804 verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem zweiten Ort 904 zu dem zweiten Zeitpunkt 708 liegt. Bei Block 312 bereitet der Servercomputer 102 über das VRCGM 118 Inhalte für den ausgewählten Kontext 804 vor und sendet diese für das interaktive Darstellen an die VRID 112.
  • Mit weiterer Bezugnahme auf 4 werden Aspekte eines Verfahrens im Einzelnen beschrieben, das in dem vorstehend beschriebenen System 100 zum vorausschauenden Auswählen von Virtual-Reality-Inhalten verwendet werden kann, das Bedingungen für eine demnächst verfügbare Bandbreite gemäß Aspekten der Erfindung proaktiv anpasst. Gemäß Aspekten dieser Ausführungsform befindet sich ein reisender Benutzer, der eine VRID 112 steuert, zu einem Referenzzeitpunkt 706 an einem Referenzort 902 (z.B. Haus, Geschäftsgebäude, Flughafen usw.), zu einem zweiten Zeitpunkt 708 an einem zweiten Ort 904 und zu einem dritten Zeitpunkt 710 an einem dritten Ort 906. Gemäß anderen Aspekten dieser Ausführungsform erkennt und korrigiert der Servercomputer eine wie nachstehend genauer beschriebene Abweichungsbedingung der Bandbreite. Bei Block 402 empfängt der Servercomputer 102 zu einem Referenzzeitpunkt 702 Positionsmetadaten für die VRID 112, die angeben, dass sich die VRID derzeit an einem Referenzort 902 befindet und sich zu einem zweiten Zeitpunkt 708 an einem zweiten Ort 904 und zu einem dritten Zeitpunkt 710 an einem dritten Ort 906 befinden wird. Bei Block 404 empfängt der Servercomputer 102 Bandbreiten-Metadaten für den zweiten und dritten Ort 904, 906, die Werte 704 der verfügbaren Bandbreite enthalten, die auf der von der Systemuhr 106 verwendeten Zeitskala indexiert sind. Bei Block 406 empfängt der Servercomputer 102 Informationen über die Anforderungen an die VR-Kontextinhalte, die Schwellenwerte 804 der verfügbaren Bandbreite enthalten, um für eine Mehrzahl von VR-Inhaltskontexten 802 eine annehmbare Leistung zu erzielen. Der Servercomputer 102 empfängt zu einem von der Systemuhr 106 erzeugten Referenzzeitpunkt 706 eine Anforderung zum Bereitstellen von VR-Inhalten zu einem zweiten Zeitpunkt 708. Gemäß Aspekten dieser Ausführungsform liegt der zweite Zeitpunkt 708 chronologisch nach dem Referenzzeitpunkt 706, und der dritte Zeitpunkt 710 liegt chronologisch nach dem zweiten Zeitpunkt. Der Servercomputer 102 wählt über das VRCSM 116 proaktiv geeignete Kontexte für den nächsten Standort 904, 906 zu den zugehörigen nächsten Zeitpunkten 708, 710 aus. Bei Block 410 wählt der Servercomputer 102 vor dem zweiten Zeitpunkt 708 und unter Berücksichtigung des maßgeblichen Präferenzwerts des VR-Inhaltskontexts (wie vorstehend beschrieben) einen VR-Inhaltskontext 802 aus, der einen Schwellenwert 804 der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert 704 der verfügbaren Bandbreite an dem zweiten Ort 904 zu dem zweiten Zeitpunkt liegt. Bei Block 412 stellt der Servercomputer 102 vor dem Eintreten des dritten Zeitpunkts 710 auf der Grundlage des Werts 704 der verfügbaren Bandbreite an dem dritten Ort 906 zu dem dritten Zeitpunkt 710 proaktiv eine Abweichungsbedingung fest. Wie hier verwendet, bezeichnet der Begriff „Abweichungsbedingung“ eine Situation, in der der Bandbreiten-Schwellenwert 804 für eine annehmbare Leistung über der verfügbaren Bandbreite 704 liegt, damit der ausgewählte Kontext an einem Ort zufriedenstellend dargestellt werden kann, an dem sich die VRID 12 zu einem nächsten Zeitpunkt befindet wird. Um eine zufriedenstellende VR-Sitzung zu gewährleisten, führt der Servercomputer 102 bei Block 414 vor dem Eintreten des dritten Zeitpunkts 710 eine Korrekturmaßnahme durch. Gemäß einem Aspekt der Erfindung kann die Korrekturmaßnahme Auswählen eines zweiten VR-Inhaltskontexts umfassen, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem dritten Ort 906 zu dem dritten Zeitpunkt 710 liegt. Gemäß einem anderen Aspekt der Erfindung kann die Korrekturmaßnahme Vorschlagen umfassen, dass der Benutzer der VR-Interaktionseinheit an dem dritten Ort 906 zu einem vierten Zeitpunkt 712 ankommt, der zumindest teilweise so ausgewählt wird, dass der Schwellenwert 804 der für eine annehmbare Leistung verfügbaren Bandbreite für den ausgewählten VR-Inhaltskontext 802 unter der verfügbaren
    Bandbreite 704 an dem dritten Ort 906 zu dem vierten Zeitpunkt 712 liegt (z.B. zu einem späteren Zeitpunkt als der dritte Zeitpunkt 710). Gemäß einem anderen Aspekt der Erfindung kann die Korrekturmaßnahme Anweisen eines autonomen Positionsmechanismus (nicht dargestellt) für die VRID 12 umfassen, an dem dritten Ort 906 zu einem vierten Zeitpunkt 712 anzukommen, der zumindest teilweise so ausgewählt wird, dass der Schwellenwert 804 der für eine annehmbare Leistung verfügbaren Bandbreite für den ausgewählten VR-Inhaltskontext 802 unter der verfügbaren Bandbreite 704 an dem dritten Ort 906 zu dem vierten Zeitpunkt 712 liegt. Ein Fachmann kann andere Korrekturmaßnahmen auswählen. Sobald der Servercomputer 102 die festgestellte Abweichungsbedingung proaktiv beseitigt hat, bereitet der Servercomputer 102 bei
    Block 416 über das VRCGM 118 Inhalte für die ausgewählten Kontexte 802 vor und sendet diese zu den zugehörigen festgelegten Zeitpunkten 708, 710, 712 für das interaktive Darstellen an die VRID 112. Es sei darauf hingewiesen, dass Abweichungsbedingungen aus verschiedenen Gründen auftreten können, z.B. wenn ein Benutzer mehr Zeit als erwartet 806 für einen bestimmten Kontext 802 benötigt oder die Wiederholung des Darstellens eines zuvor dargestellten Kontexts anfordert.
  • Mit weiterer Bezugnahme auf 5 werden Aspekte eines Verfahrens im Einzelnen beschrieben, das in dem vorstehend beschriebenen System 100 zum vorausschauenden Auswählen von Virtual-Reality-Inhalten verwendet werden kann, das Bedingungen für eine demnächst verfügbare Bandbreite gemäß Aspekten der Erfindung proaktiv anpasst. Gemäß Aspekten dieser Ausführungsform befindet sich ein reisender Benutzer, der eine VRID 112 steuert, zu einem Referenzzeitpunkt 706 an einem Ort (z.B. Haus, Geschäftsgebäude, Flughafen usw.), zu einem zweiten Zeitpunkt 708 an einem zweiten Ort 904, zu einem dritten Zeitpunkt 708 an einem dritten Ort 906 und zu einem dritten Zeitpunkt 710 an einem dritten Ort 906. Dies kann der Fall sein, wenn ein Benutzer nach einem festgelegten Fahrplan auf einer festgelegten Strecke unterwegs ist (z.B. mit einem fahrplanmäßigen öffentlichen Verkehrsmittel, fahrplanmäßigem Zug, bei einer Reise auf einer bekannten Strecke wie einer Straße oder einem schiffbaren Wasserweg mit einer festgelegten Geschwindigkeit). Gemäß Aspekten dieser Ausführungsform vermeidet der Servercomputer 102 proaktiv Abweichungsbedingungen, wenn sich die VRID 112 zu den bekannten Zeitpunkten 706, 708, 710 an verschiedenen Orten 902, 904, 906 bewegt. Bei Block 502 empfängt der Servercomputer 102 Positionsmetadaten für die VRID 112, die angeben, dass sich die VRID zu einem zweiten Zeitpunkt 708 an einem zweiten Ort 904 und zu einem dritten Zeitpunkt 710 an einem dritten Ort 906 befinden wird. Bei Block 504 empfängt der Servercomputer 102 Bandbreiten-Metadaten für einen Referenzort 902, den zweiten Ort 904 und den dritten Ort 906, die die Werte der verfügbaren Bandbreite für jeden Ort enthalten, der auf der von der Systemuhr 106 verwendeten Zeitskala indexiert ist. Bei Block 506 empfängt der Servercomputer 102 Informationen über die Anforderungen an die VR-Kontextinhalte, die die Schwellenwerte 804 der verfügbaren Bandbreite enthalten, um für mehrere VR-Inhaltskontexte 802 eine annehmbare Leistung zu erreichen. Bei Block 508 empfängt der Servercomputer 102 zu einem von der Systemuhr erzeugten Referenzzeitpunkt 706 eine Anforderung zum Bereitstellen von VR-Inhalten zu einem zweiten Zeitpunkt 708. Gemäß Aspekten liegt der zweite Zeitpunkt 708 chronologisch nach dem Referenzzeitpunkt 706. Um ein zufriedenstellendes Darstellen von Inhalten während einer VR-Nutzungssitzung (z.B. während einer Reise) zu gewährleisten, wählt der Servercomputer 102 über das VRCSM 116 proaktiv Inhalte aus, die mit der verfügbaren Bandbreite für die bekannten Orte 902, 904, 906 zu den bekannten bevorstehenden Zeitpunkten 706, 708, 710 übereinstimmen. Es sei festgestellt, dass der Servercomputer 102 wie vorstehend beschrieben beim Auswählen von darzustellendem Inhalt auch Präferenzwerte des Kontexts berücksichtigen kann. Bei Block 510 wählt der Servercomputer 102 vor dem zweiten Zeitpunkt 708 und unter Berücksichtigung maßgeblicher Präferenzwerte des VR-Inhaltskontexts einen VR-Inhaltskontext 802 aus, der einen Schwellenwert 804 der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem zweiten Ort 904 zu dem zweiten Zeitpunkt liegt. Bei Block 512 wählt der Servercomputer 102 vor dem dritten Zeitpunkt 710 und unter Berücksichtigung maßgeblicher Präferenzwerte des VR-Inhaltskontexts einen VR-Inhaltskontext 802 aus, der einen Schwellenwert 804 der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert 704 der verfügbaren Bandbreite an dem dritten Ort 906 zu dem dritten Zeitpunkt 710 liegt. Sobald der Servercomputer 102 proaktiv geeignete Kontexte 802 ausgewählt hat, bereitet der Servercomputer 102 bei Block 514 über das VRCGM 118 Inhalte für die ausgewählten Kontexte 802 vor und sendet diese zu den zugehörigen festgelegten Zeitpunkten 708, 710 für das interaktive Darstellen an die VRID 112.
  • Mit weiterer Bezugnahme auf 6 werden Aspekte eines Verfahrens im Einzelnen beschrieben, das in dem vorstehend beschriebenen System 100 zum vorausschauenden Auswählen von Virtual-Reality-Inhalten verwendet werden kann, das Bedingungen für eine demnächst verfügbare Bandbreite gemäß Aspekten der Erfindung proaktiv anpasst. Gemäß Aspekten dieser Ausführungsform befindet sich ein Benutzer, der eine VRID 112 steuert, zu einem Referenzzeitpunkt 706, während eines zweiten Zeitpunkts 708, während eines dritten Zeitpunkts 710 und zumindest bis zu einem vierten Zeitpunkt an einem Referenzort 902 (z.B. Haus, Geschäftsgebäude, Flughafen usw.). Gemäß anderen Aspekten dieser Ausführungsform erkennt und korrigiert der Servercomputer eine wie nachstehend genauer beschriebene Abweichungsbedingung der Bandbreite zwischen dem dritten und vierten Zeitpunkt. Bei Block 602 empfängt der Servercomputer 102 Positionsmetadaten für die VRID 112, die angeben, dass sich die VRID zu einem dritten Zeitpunkt 710 und einem vierten Zeitpunkt 712 an dem Referenzort 902 befinden wird (zusätzlich zu einem Referenzzeitpunkt 706 und einem zweiten Zeitpunkt 708). Bei Block 606 empfängt der Servercomputer 102 Informationen über die Anforderungen an die VR-Kontextinhalte, die Schwellenwerte 804 der verfügbaren Bandbreite enthalten, um für eine Gruppe von VR-Inhaltskontexten 802 eine annehmbare Leistung zu erzielen. Bei Block 608 empfängt der Servercomputer 102 zu einem von der Systemuhr 106 erzeugten Referenzzeitpunkt 706 eine Anforderung zum Bereitstellen von VR-Inhalten zu einem zweiten Zeitpunkt 708. Gemäß Aspekten dieser Ausführungsform liegt der zweite Zeitpunkt 708 chronologisch nach dem Referenzzeitpunkt 706, der dritte Zeitpunkt 710 liegt chronologisch nach dem zweiten Zeitpunkt, und der vierte Zeitpunkt 712 liegt chronologisch nach dem dritten Zeitpunkt. Um ein zufriedenstellendes Darstellen von Inhalten während einer VR-Nutzungssitzung (z.B. während eines längeren Aufenthalts an einem Referenzort) zu gewährleisten, wählt der Servercomputer 102 über das VRCSM 116 proaktiv Inhalte aus, die mit der verfügbaren Bandbreite für den Referenzort 902 zu den bekannten nächsten Zeitpunkten 706, 708, 710, 712 übereinstimmen. Es sei festgestellt, dass der Servercomputer 102 wie vorstehend beschrieben beim Auswählen von darzustellenden Inhalten auch Präferenzwerte des Kontexts berücksichtigen kann. Bei Block 608 wählt der Servercomputer 102 unter Berücksichtigung maßgeblicher Präferenzwerte des VR-Inhaltskontexts einen VR-Inhaltskontext aus, der einen Schwellenwert 804 der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert 704 der verfügbaren Bandbreite zu dem zweiten Zeitpunkt 708 liegt. Bei Block 610 stellt der Servercomputer 102 vor dem Eintreten des dritten Zeitpunkts 710 auf der Grundlage des Werts 704 der verfügbaren Bandbreite am Referenzort 902 zum dritten Zeitpunkt 710 eine Abweichungsbedingung (wie vorstehend beschrieben) fest. Bei Block 612 stellt der Servercomputer 102 vor dem Eintreten des vierten Zeitpunkts 712 auf der Grundlage des Werts 704 der verfügbaren Bandbreite am Referenzort 902 zum vierten Zeitpunkt eine Wiederübereinstimmungsbedingung fest. Wie hier verwendet, bezeichnet der Begriff „Abweichungsbedingung“ eine Situation, in der die verfügbare Bandbreite 704 zunimmt und der Bandbreiten-Schwellenwert 804 für eine annehmbare Leistung wie zuvor unter der verfügbaren Bandbreite 704 liegt. Auf diese Weise kann der ausgewählte Kontext 802 an einem Ort, an dem sich die VRID 112 zu einem späteren Zeitpunkt befinden wird, zufriedenstellend dargestellt werden. Bei Block 614 wechselt der Servercomputer 102 vom Darstellen des ursprünglich ausgewählten 802 zwischen dem dritten Zeitpunkt 710 bis zum Eintreten des vierten Zeitpunkts 712 zu einem VR-Ersatzinhaltskontext (z.B. einer gesponserten Nachricht), der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem Referenzort 902 zu dem dritten Zeitpunkt 710 liegt. Bei Eintreten des vierten Zeitpunkts 712 wählt der Servercomputer 102 einen anderen Kontext für das Darstellen aus (möglicherweise kehrt er zurück zu dem ursprünglich ausgewählten Kontext). Sobald der Servercomputer 102 bei der festgestellten Abweichungsbedingung zum dritten Zeitpunkt 710 und der Wiederübereinstimmungsbedingung zum vierten Zeitpunkt 712 proaktiv Inhalte ausgewählt hat, bereitet der Servercomputer 102 über das VRCGM 118 bei Block 616 Inhalte für die ausgewählten Kontexte 802 vor und sendet diese zu den zugehörigen festgelegten Zeitpunkten 708, 710, 712 für das interaktive Darstellen an die VRID 112.
  • Tabelle 800 zeigt ferner, dass beim Einkaufen in verschiedenen Kontexten in der Regel unterschiedliche relative Zeiträume 806 verwendet werden können. Es hat sich gezeigt, dass beispielsweise der Kauf von Obst, bei dem der Reifegrad beurteilt werden muss, 5 Zeiteinheiten pro Sitzung erfordert, während der Kauf von eher austauschbaren Produkten (z.B. Büromaterial) nur 3 Zeiteinheiten pro Sitzung erfordert. Dies wird vom Servercomputer 102 genutzt, um bei Fahrten durch mehrere Orte oder über mehrere Zeiträume hinweg voraussichtlich geeignete Fahrpläne zu ermitteln, sodass für Kontexte, für die in der Regel viel Zeit benötigt wird, die notwendige Bandbreite zur Verfügung steht. Diese Zeit, die voraussichtlich für einen bestimmten Kontext aufgewendet wird, kann als einer der Präferenzwerte betrachtet werden, die in der vorstehend beschriebenen Weise beim Auswählen von infrage kommenden Kontexten verwendet werden.
  • Mit Blick auf die Ablaufpläne und die Blockschaubilder veranschaulichen der Ablaufplan und die Blockschaubilder in den Figuren die Architektur, die Funktionalität und den Betrieb möglicher Implementationen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit im Wesentlichen gleichzeitig ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Mit Bezug auf 12 enthält ein System oder eine Computerumgebung 1000 eine Computerdarstellung 1010, die in Form einer allgemeinen Datenverarbeitungseinheit dargestellt ist. Das Verfahren 100 kann beispielsweise in einem Programm 1060, einschließlich Programmanweisungen, ausgeführt sein, in einer durch einen Computer lesbaren Speichereinheit oder einem durch einen Computer lesbaren Speichermedium ausgeführt sein, die/das allgemein zum Beispiel als Speicher 1030 und insbesondere als durch ein Computer lesbares Speichermedium 1050 bezeichnet wird. Dieser Speicher und/oder dieses durch einen Computer lesbare Speichermedium enthält einen nichtflüchtigen Arbeitsspeicher oder einen nichtflüchtigen Speicher. Der Speicher 1030 kann zum Beispiel ein Speichermedium 1034 wie einen RAM (Direktzugriffsspeicher) oder einen ROM (Nur-Lese-Speicher) sowie einen Cache-Speicher 1038 umfassen. Das Programm 1060 kann von dem Prozessor 1020 auf dem Computersystem 1010 ausgeführt werden (um Programmschritte, Code oder Programmcode auszuführen). Zusätzlicher Datenspeicher kann auch in Form einer Datenbank 1110 ausgeführt sein, die die Daten 1114 enthält. Bei dem Computersystem 1010 und dem Programm 1060 handelt es sich um allgemeine Darstellungen eines Computers und eines Programms, die lokal bei einem Benutzer vorhanden sein oder als ein entfernt angeordneter Dienst (zum Beispiel als ein auf einer Cloud beruhender Dienst) bereitgestellt werden können, und die in weiteren Beispielen unter Verwendung einer Website bereitgestellt werden können, auf die unter Verwendung des Datenübertragungsnetzwerks 1200 zugegriffen werden kann (z.B. die mit einem Netzwerk, dem Internet oder Cloud-Diensten interagiert). Es versteht sich, dass das Computersystem 1010 hier auch allgemein eine Computereinheit oder einen in einer Einheit enthaltenen Computer wie einen Laptop- oder Desktop-Computer usw. oder einen oder mehrere Server, allein oder als Teil eines Rechenzentrums, darstellt. Das Computersystem kann einen Netzwerkadapter/eine Schnittstelle 1026 und Eingabe/Ausgabe-Schnittstelle(n) (E/A-Schnittstellen) 1022 enthalten. Die E/A-Schnittstelle 1022 ermöglicht die Ein- und Ausgabe von Daten mit einer externen Einheit 1074, die mit dem Computersystem verbunden sein kann. Der Netzwerkadapter/die Schnittstelle 1026 kann die Datenübertragungen zwischen dem Computersystem und einem Netzwerk bereitstellen, das allgemein als das Datenübertragungsnetzwerk 1200 dargestellt ist.
  • Der Computer 1010 kann im allgemeinen Kontext von durch ein Computersystem ausführbaren Anweisungen beschrieben werden, z.B. als Programmmodule, die von einem Computersystem ausgeführt werden. Im Allgemeinen können Programmmodule Routinen, Programme, Objekte, Komponenten, Logik, Datenstrukturen usw. enthalten, die bestimmte Aufgaben durchführen oder bestimmte abstrakte Datentypen implementieren. Die Verfahrensschnitte und Systemkomponenten sowie Techniken können in Modulen des Programms 1060 ausgeführt sein, um die Aufgaben der einzelnen Schritte des Verfahrens und des Systems durchzuführen. Die Module sind in der Figur allgemein als Programmmodule 1064 dargestellt. Das Programm 1060 und die Programmmodule 1064 können bestimmte Schritte, Routinen, Unterroutinen, Anweisungen oder Code des Programms ausführen.
  • Das Verfahren der vorliegenden Offenbarung kann lokal auf einer Einheit wie einer mobilen Einheit ausgeführt werden, oder es kann in einem Dienst ausgeführt werden, z.B. auf dem Server 1100, der entfernt angeordnet sein kann und auf den unter Verwendung des Datenübertragungsnetzwerks 1200 zugegriffen werden kann. Das Programm oder die ausführbaren Anweisungen können auch von einem Anbieter als Dienst angeboten werden. Der Computer 1010 kann in einer verteilten Cloud-Computing-Umgebung eingesetzt werden, wo die Aufgaben von entfernt angeordneten Verarbeitungseinheiten durchgeführt werden, die über ein Datenübertragungsnetzwerk 1200 verbunden sind. In einer verteilten Cloud-Computing-Umgebung können sich Programmmodule sowohl auf lokalen als auch auf entfernt angeordneten Computersystem-Speichermedien befinden, darunter Speichereinheiten mit Arbeitsspeichern.
  • Der Computer 1010 kann eine Vielfalt von durch einen Computer lesbaren Medien enthalten. Bei diesen Medien kann es sich um beliebige verfügbare Medien handeln, auf die der Computer 1010 (z.B. Computersystem oder Server) zugreifen kann und die sowohl flüchtige als auch nichtflüchtige Medien sowie wechselbare und nichtwechselbare Medien umfassen können. Der Computerspeicher 1030 kann zusätzliche vom Computer lesbare Medien in Form von flüchtigen Speichern, z.B. den Direktzugriffsspeicher (RAM) 1034 und/oder den Cache-Speicher 1038, enthalten. Der Computer 1010 kann weiterhin andere wechselbare/nichtwechselbare, flüchtige/nichtflüchtige Computerspeichermedien enthalten, in einem Beispiel das tragbare durch einen Computer lesbare Speichermedium 1072. In einer Ausführungsform kann das durch einen Computer lesbare Speichermedium 1050 zum Lesen und Beschreiben eines nichtwechselbaren, nichtflüchtigen magnetischen Mediums bereitgestellt werden. Das durch einen Computer lesbare Speichermedium 1050 kann zum Beispiel als Festplatte ausgeführt sein. Zusätzlicher Speicher und Datenspeicher können zum Beispiel als Speichersystem 1110 (z.B. eine Datenbank) zum Speichern von Daten 1114 und zum Austauschen von Daten mit der Verarbeitungseinheit 1020 bereitgestellt werden. Die Datenbank kann auf einem
    Server 1100 gespeichert oder Teil dieses Servers sein. Obwohl nicht dargestellt, können ein Laufwerk für magnetische Speicherplatten zum Auslesen und Beschreiben einer wechselbaren, nichtflüchtigen magnetischen Speicherplatte (z.B. „Diskette“) und ein Laufwerk für optische Speicherplatten zum Auslesen oder Beschreiben einer wechselbaren, nichtflüchtigen optischen Speicherplatte wie einer CD-ROM, DVD-ROM und andere optische Medien bereitgestellt werden. In solchen Fällen kann jedes über eine oder mehrere Datenmedien-Schnittstellen mit dem Bus 1014 verbunden sein. Wie unten weiter dargestellt und beschrieben, kann der Speicher 1030 mindestens ein Programmprodukt enthalten, das eines oder mehrere Programmmodule enthalten kann, die so konfiguriert sind, dass sie die Funktionen der Ausführungsformen der Erfindung ausführen.
  • Das/die in der vorliegenden Offenbarung beschriebene(n) Verfahren kann/können zum Beispiel in einem oder mehreren Computerprogrammen ausgeführt sein, die allgemein als Programm 1060 bezeichnet werden und im Speicher 1030 des durch einen Computer lesbaren Speichermediums 1050 gespeichert werden können. Das Programm 1060 kann die Programmmodule 1064 enthalten. Die Programmmodule 1064 können im Allgemeinen wie hier beschrieben die Funktionen und/oder Methodiken von Ausführungsformen der Erfindung ausführen. Das eine oder die mehreren Programme 1060 sind im Speicher 1030 gespeichert und können von der Verarbeitungseinheit 1020 ausgeführt werden. Der Speicher 1030 kann zum Beispiel ein Betriebssystem 1052, ein oder mehrere Anwendungsprogramme 1054, andere Programmmodule und Programmdaten auf dem durch einen Computer lesbaren Speichermedium 1050 speichern. Es versteht sich, dass das Programm 1060, das Betriebssystem 1052 und das/die Anwendungsprogramm(e) 1054, die auf dem durch einen Computer lesbaren Speichermedium 1050 gespeichert sind, in ähnlicher Weise von der Verarbeitungseinheit 1020 ausgeführt werden können. Es versteht sich des Weiteren, dass die Anwendung 1054 und das/die Programm(e) 1060 allgemein dargestellt sind und eine oder mehrere Anwendungen und ein oder mehrere Programme, die in der vorliegenden Erfindung beschrieben werden, ganz umfassen oder Teil davon sein können, oder umgekehrt, das heißt, dass die Anwendung 1054 und das Programm 1060 eine oder mehrere Anwendungen oder ein oder mehrere Programme, die in der vorliegenden Offenbarung beschrieben werden, ganz umfassen oder Teil davon sein können. Es versteht sich weiterhin, dass das Steuersystem 70 (in 10 dargestellt) das gesamte Computersystem 1010 und seine Komponenten oder einen Teil davon enthalten kann und/oder dass das Steuersystem mit dem gesamten Computersystem 1010 und seinen Komponenten oder einem Teil davon als entfernt angeordnetes Computersystem Daten austauschen kann, um die in der vorliegenden Offenbarung beschriebenen Funktionen umzusetzen. Es versteht sich weiterhin, dass die in 1 dargestellte(n) eine oder mehreren Datenübertragungseinheiten 110 in ähnlicher Weise das gesamte Computersystem 1010 und seine Komponenten oder einen Teil davon umfassen kann/können, und/oder dass die Datenübertragungseinheiten mit dem gesamten Computersystem 1010 und seinen Komponenten oder einem Teil als entfernt angeordnetes Computersystem Daten austauschen können, um die in der vorliegenden Offenbarung beschriebenen Funktionen umzusetzen.
  • Ein oder mehrere Programme können in einem oder mehreren durch einen Computer lesbaren Speichermedien gespeichert werden, sodass ein Programm in einem durch einen Computer lesbaren Speichermedium ausgeführt und/oder codiert ist. In einem Beispiel kann das gespeicherte Programm Programmanweisungen zum Ausführen durch einen Prozessor oder ein Computersystem mit einem Prozessor enthalten, um ein Verfahren durchzuführen oder das Computersystem zu veranlassen, eine oder mehrere Funktionen durchzuführen.
  • Der Computer 1010 kann auch mit einer oder mehreren externen Einheiten 1074 wie einer Tastatur, einer Zeigeeinheit, einer Anzeige 1080 usw.; mit einer oder mehreren Einheiten, die einen Benutzer in die Lage versetzen, mit dem Computer 1010 zu interagieren; und/oder beliebigen Einheiten (z.B. Netzwerkkarte, Modem usw.) Daten austauschen, die den Computer 1010 in die Lage versetzen, mit einer oder mehreren Datenverarbeitungseinheiten Daten auszutauschen. Eine solche Datenübertragung kann über die Eingabe/Ausgabe-Schnittstellen (E/A-Schnittstellen) 1022 erfolgen. Überdies kann der Computer 1010 mit einem oder mehreren Netzwerken 1200 wie beispielsweise einem lokalen Netzwerk (LAN), einem allgemeinen Weitverkehrsnetzwerk (WAN) und/oder einem öffentlichen Netzwerk (z.B. das Internet) über den Netzwerkadapter 1026 Daten austauschen. Wie dargestellt, tauscht der Netzwerkadapter 1026 über den Bus 1014 mit den anderen Komponenten des Computers 1010 Daten aus. Es versteht sich, dass sonstige Hardware- und/oder Software-Komponenten in Verbindung mit dem Computer 1010 verwendet werden können, auch wenn sie nicht dargestellt sind. Zu Beispielen zählen, ohne auf diese beschränkt zu sein: Mikrocode, Einheitentreiber 1024, redundante Verarbeitungseinheiten, Anordnungen externer Festplattenlaufwerke, RAID-Systeme, Bandlaufwerke und Speichersysteme für die Datenarchivierung usw.
  • Es versteht sich, dass ein Computer oder ein Programm, das auf dem Computer 1010 ausgeführt wird, über ein oder mehrere Datenübertragungsnetzwerke, die als Datenübertragungsnetzwerk 1200 ausgeführt sind, mit einem Server, der als Server 1100 ausgeführt ist, Daten austauschen kann. Das Datenübertragungsnetzwerk 1200 kann Übertragungsmedien und Netzwerkverbindungen enthalten, die zum Beispiel drahtlose und drahtgebundene Verbindungen oder Lichtwellenleiter sowie Router, Firewalls, Switches und Gateway-Computer umfassen können. Das Datenübertragungsnetzwerk kann Verbindungen wie beispielsweise drahtgebundene, drahtlose Datenübertragungsverbindungen oder Lichtwellenleiter enthalten. Ein Datenverarbeitungsnetzwerk kann eine weltweite Sammlung von Netzwerken und Gateways wie das Internet darstellen, die verschiedene Protokolle zum Austauschen von Daten untereinander verwenden, z.B. Lightweight Directory Access Protocol (LDAP), Transport Control Protocol/Internet Protocol (TCP/IP), Hypertext Transport Protocol (HTTP), Wireless Application Protocol (WAP) usw. Ein Netzwerk kann auch eine Reihe verschiedener Arten von Netzwerken umfassen, z.B. ein Intranet, ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN).
  • In einem Beispiel kann ein Computer ein Netzwerk verwenden, das unter Verwendung des Internets auf eine Website im Web (World Wide Web) zugreifen kann. In einer Ausführungsform kann ein Computer 1010, einschließlich einer mobilen Einheit, ein Datenübertragungssystem oder -netzwerk 1200 enthalten, das z.B. das Internet oder ein öffentliches Telefonnetz (PSTN) oder ein Mobilfunknetzwerk umfassen kann. Das PSTN kann Telefonleitungen, Lichtwellenleiter, Übertragungsverbindungen, Mobilfunknetzwerke und Datenübertragungssatelliten umfassen. Das Internet kann zahlreiche Such- und Textnachrichtentechniken ermöglichen, z.B. das Verwenden eines Mobiltelefons oder Laptop-Computers, um Anfragen an Suchmaschinen über Textnachrichten (SMS), Multimedia Messaging Service (MMS) (verwandt mit SMS), eMail oder einen Webbrowser zu senden. Die Suchmaschine kann Suchergebnisse abrufen, das heißt, Links zu Websites, Dokumenten oder anderen herunterladbaren Daten, die der Abfrage entsprechen, und dem Benutzer die Suchergebnisse auf ähnliche Weise über die Einheit, beispielsweise als Webseite mit Suchergebnissen, bereitstellen.
  • Bei der vorliegenden Erfindung kann es sich um ein System, ein Verfahren und/oder ein Computerprogrammprodukt auf jedem möglichen technischen Detaillierungsgrad der Integration handeln. Das Computerprogrammprodukt kann (ein) durch einen Computer lesbare(s) Speichermedium (oder -medien) umfassen, auf dem/denen durch einen Computer lesbare Programmanweisungen gespeichert ist/sind, um einen Prozessor dazu zu veranlassen, Aspekte der vorliegenden Erfindung auszuführen.
  • Bei dem durch einen Computer lesbaren Speichermedium kann es sich um eine physische Einheit handeln, die Anweisungen zur Verwendung durch eine Einheit zur Ausführung von Anweisungen behalten und speichern kann. Bei dem durch einen Computer lesbaren Speichermedium kann es sich zum Beispiel um eine elektronische Speichereinheit, eine magnetische Speichereinheit, eine optische Speichereinheit, eine elektromagnetische Speichereinheit, eine Halbleiterspeichereinheit oder jede geeignete Kombination daraus handeln, ohne auf diese beschränkt zu sein. Zu einer nicht erschöpfenden Liste spezifischerer Beispiele des durch einen Computer lesbaren Speichermediums gehören die Folgenden: eine tragbare Computerdiskette, eine Festplatte, ein Direktzugriffsspeicher (RAM), ein Nur-Lese-Speicher (ROM), ein löschbarer programmierbarer Nur-Lese-Speicher (EPROM bzw. Flash-Speicher), ein statischer Direktzugriffsspeicher (SRAM), ein tragbarer Kompaktspeicherplatte-Nur-Lese-Speicher (CD-ROM), eine DVD (digital versatile disc), ein Speicher-Stick, eine Diskette, eine mechanisch codierte Einheit wie zum Beispiel Lochkarten oder gehobene Strukturen in einer Rille, auf denen Anweisungen gespeichert sind, und jede geeignete Kombination daraus. Ein durch einen Computer lesbares Speichermedium soll in der Verwendung hierin nicht als flüchtige Signale an sich aufgefasst werden, wie zum Beispiel Funkwellen oder andere sich frei ausbreitende elektromagnetische Wellen, elektromagnetische Wellen, die sich durch einen Wellenleiter oder ein anderes Übertragungsmedium ausbreiten (z.B. einen Lichtwellenleiter durchlaufende Lichtimpulse) oder durch einen Draht übertragene elektrische Signale.
  • Hierin beschriebene, durch einen Computer lesbare Programmanweisungen können von einem durch einen Computer lesbaren Speichermedium auf jeweilige Datenverarbeitungs/Verarbeitungs-Einheiten oder über ein Netzwerk wie zum Beispiel das Internet, ein lokales Netzwerk, ein Weitverkehrsnetzwerk und/oder ein drahtloses Netzwerk auf einen externen Computer oder eine externe Speichereinheit heruntergeladen werden. Das Netzwerk kann Kupferübertragungskabel, Lichtwellenübertragungsleiter, drahtlose Übertragung, Router, Firewalls, Vermittlungseinheiten, Gateway-Computer und/oder Edge-Server aufweisen. Eine Netzwerkadapterkarte oder Netzwerkschnittstelle in jeder Datenverarbeitungs/Verarbeitungs-Einheit empfängt durch einen Computer lesbare Programmanweisungen aus dem Netzwerk und leitet die durch einen Computer lesbaren Programmanweisungen zur Speicherung in einem durch einen Computer lesbaren Speichermedium innerhalb der entsprechenden Datenverarbeitungs/Verarbeitungs-Einheit weiter.
  • Bei durch einen Computer lesbaren Programmanweisungen zum Ausführen von Arbeitsschritten der vorliegenden Erfindung kann es sich um Assembler-Anweisungen, ISA-Anweisungen (Instruction-Set-Architecture), Maschinenanweisungen, maschinenabhängige Anweisungen, Mikrocode, Firmware-Anweisungen, zustandssetzende Daten, Konfigurationsdaten für integrierte Schaltungen oder entweder Quellcode oder Objektcode handeln, die in einer beliebigen Kombination aus einer oder mehreren Programmiersprachen geschrieben werden, darunter objektorientierte Programmiersprachen wie Smalltalk, C++ o. ä. sowie prozedurale Programmiersprachen wie die Programmiersprache „C“ oder ähnliche Programmiersprachen. Die durch einen Computer lesbaren Programmanweisungen können vollständig auf dem Computer des Benutzers, teilweise auf dem Computer des Benutzers, als eigenständiges Software-Paket, teilweise auf dem Computer des Benutzers und teilweise auf einem entfernt angeordneten Computer oder vollständig auf dem entfernt angeordneten Computer oder Server ausgeführt werden. In letzterem Fall kann der entfernt angeordnete Computer mit dem Computer des Benutzers durch eine beliebige Art Netzwerk verbunden sein, darunter ein lokales Netzwerk (LAN) oder ein Weitverkehrsnetzwerk (WAN), oder die Verbindung kann mit einem externen Computer hergestellt werden (zum Beispiel über das Internet unter Verwendung eines Internet-Dienstanbieters). In einigen Ausführungsformen können elektronische Schaltungen, darunter zum Beispiel programmierbare Logikschaltungen, vor Ort programmierbare Gatter-Anordnungen (FPGA, field programmable gate arrays) oder programmierbare Logikanordnungen (PLA, programmable logic arrays) die durch einen Computer lesbaren Programmanweisungen ausführen, indem sie Zustandsinformationen der durch einen Computer lesbaren Programmanweisungen nutzen, um die elektronischen Schaltungen zu personalisieren, um Aspekte der vorliegenden Erfindung durchzuführen.
  • Aspekte der vorliegenden Erfindung sind hierin unter Bezugnahme auf Ablaufpläne und/oder Blockschaltbilder bzw. Schaubilder von Verfahren, Vorrichtungen (Systemen) und Computerprogrammprodukten gemäß Ausführungsformen der Erfindung beschrieben. Es wird darauf hingewiesen, dass jeder Block der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder sowie Kombinationen von Blöcken in den Ablaufplänen und/oder den Blockschaltbildern bzw. Schaubildern mittels durch einen Computer lesbare Programmanweisungen ausgeführt werden können.
  • Diese durch einen Computer lesbaren Programmanweisungen können einem Prozessor eines Universalcomputers, eines Spezialcomputers oder einer anderen programmierbaren Datenverarbeitungsvorrichtung bereitgestellt werden, um eine Maschine zu erzeugen, sodass die über den Prozessor des Computers bzw. der anderen programmierbaren Datenverarbeitungsvorrichtung ausgeführten Anweisungen ein Mittel zur Umsetzung der in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte erzeugen. Diese durch einen Computer lesbaren Programmanweisungen können auch auf einem durch einen Computer lesbaren Speichermedium gespeichert sein, das einen Computer, eine programmierbare Datenverarbeitungsvorrichtung und/oder andere Einheiten so steuern kann, dass sie auf eine bestimmte Art funktionieren, sodass das durch einen Computer lesbare Speichermedium, auf dem Anweisungen gespeichert sind, einen Herstellungsartikel aufweist, darunter Anweisungen, welche Aspekte der/des in dem Block bzw. den Blöcken des Ablaufplans und/oder der Blockschaltbilder bzw. Schaubilder angegebenen Funktion/Schritts umsetzen.
  • Die durch einen Computer lesbaren Programmanweisungen können auch auf einen Computer, eine andere programmierbare Datenverarbeitungsvorrichtung oder eine andere Einheit geladen werden, um das Ausführen einer Reihe von Prozessschritten auf dem Computer bzw. der anderen programmierbaren Vorrichtung oder anderen Einheit zu verursachen, um einen auf einem Computer ausgeführten Prozess zu erzeugen, sodass die auf dem Computer, einer anderen programmierbaren Vorrichtung oder einer anderen Einheit ausgeführten Anweisungen die in dem Block bzw. den Blöcken der Ablaufpläne und/oder der Blockschaltbilder bzw. Schaubilder festgelegten Funktionen/Schritte umsetzen.
  • Die Ablaufpläne und die Blockschaltbilder bzw. Schaubilder in den Figuren veranschaulichen die Architektur, die Funktionalität und den Betrieb möglicher Ausführungen von Systemen, Verfahren und Computerprogrammprodukten gemäß verschiedenen Ausführungsformen der vorliegenden Erfindung. In diesem Zusammenhang kann jeder Block in den Ablaufplänen oder Blockschaltbildern bzw. Schaubildern ein Modul, ein Segment oder einen Teil von Anweisungen darstellen, die eine oder mehrere ausführbare Anweisungen zur Ausführung der bestimmten logischen Funktion(en) aufweisen. In einigen alternativen Ausführungen können die in dem Block angegebenen Funktionen in einer anderen Reihenfolge als in den Figuren gezeigt stattfinden. Zwei nacheinander gezeigte Blöcke können zum Beispiel in Wirklichkeit als ein Schritt ausgeführt, gleichzeitig ausgeführt, im Wesentlich gleichzeitig ausgeführt, ganz oder teilweise zeitlich überlappend ausgeführt werden, oder die Blöcke können manchmal je nach entsprechender Funktionalität in umgekehrter Reihenfolge ausgeführt werden. Es ist ferner anzumerken, dass jeder Block der Blockschaltbilder bzw. Schaubilder und/oder der Ablaufpläne sowie Kombinationen aus Blöcken in den Blockschaltbildern bzw. Schaubildern und/oder den Ablaufplänen durch spezielle auf Hardware beruhende Systeme umgesetzt werden können, welche die festgelegten Funktionen oder Schritte durchführen, oder Kombinationen aus Spezial-Hardware und Computeranweisungen ausführen.
  • Die vorliegende Offenbarung enthält zwar eine ausführliche Beschreibung von Cloud-Computing, es versteht sich jedoch, dass die Umsetzung der hierin dargelegten Lehren nicht auf eine Cloud-Computing-Umgebung beschränkt ist. Stattdessen können Ausführungsformen der vorliegenden Erfindung gemeinsam mit beliebigen Arten von jetzt bekannter oder später erfundener Datenverarbeitungsumgebung umgesetzt werden.
  • Cloud-Computing ist ein Modell zum Liefern eines Dienstes, der einen problemlosen, bedarfsorientierten Netzwerkzugriff auf einen gemeinsamen Pool von konfigurierbaren Datenverarbeitungsressourcen (z.B. Netzwerke, Netzwerkbandbreite, Server, Verarbeitung, Speicher, Anwendungen, virtuelle Maschinen und Dienste) ermöglicht, die mit minimalem Verwaltungsaufwand bzw. minimaler Interaktion mit einem Anbieter des Dienstes schnell bereitgestellt und freigegeben werden können. Dieses Cloud-Modell kann mindestens fünf Eigenschaften, mindestens drei Dienstmodelle und mindestens vier Implementierungsmodelle enthalten.
  • Bei den Eigenschaften handelt es sich um die Folgenden:
  • On-Demand Self-Service (bedarfsorientierte Selbstbedienung): Ein Cloud-Nutzer kann einseitig automatisch nach Bedarf Datenverarbeitungsfunktionen wie Serverzeit und Netzwerkspeicher bereitstellen, ohne dass eine menschliche Interaktion mit dem Anbieter der Dienste erforderlich ist.
  • Broad Network Access (breiter Netzzugriff): Über ein Netzwerk sind Funktionen verfügbar, auf die durch Standardmechanismen zugegriffen wird, die die Verwendung durch heterogene schlanke oder leistungsintensive Client-Plattformen unterstützen (z.B. Mobiltelefone, Laptops und PDAs).
  • Ressource Pooling (Ressourcen-Bündelung): Die Datenverarbeitungsressourcen des Anbieters werden gebündelt, um mehreren Nutzern unter Verwendung eines Mehrmietermodells zu dienen, wobei verschiedene physische und virtuelle Ressourcen dynamisch nach Bedarf zugewiesen und neu zugewiesen werden. Es gibt eine gefühlte Standortunabhängigkeit, da der Nutzer allgemein keine Kontrolle bzw. Kenntnis über den genauen Standort der bereitgestellten Ressourcen hat, aber in der Lage sein kann, einen Standort auf einer höheren Abstraktionsebene festzulegen (z.B. Land, Staat oder Rechenzentrum).
  • Rapid Elasticity (schnelle Anpassungsfähigkeit): Funktionen können für eine schnelle horizontale Skalierung (scale out) schnell und elastisch bereitgestellt werden, in einigen Fällen auch automatisch, und für ein schnelles Scale-in schnell freigegeben werden. Für den Nutzer erscheinen die für das Bereitstellen verfügbaren Funktionen häufig unbegrenzt und sie können jederzeit in jeder beliebigen Menge gekauft werden.
  • Measured Service (messbarer Dienst): Cloud-Systeme steuern und optimieren die Verwendung von Ressourcen automatisch, indem sie eine Messfunktion auf einer gewissen Abstraktionsebene nutzen, die für die Art von Dienst geeignet ist (z.B. Speicher, Verarbeitung, Bandbreite sowie aktive Benutzerkonten). Die Inanspruchnahme von Ressourcen kann überwacht, gesteuert und gemeldet werden, wodurch sowohl für den Anbieter als auch für den Nutzer des verwendeten Dienstes Transparenz bereitgestellt wird.
  • Es gibt folgende Dienstmodelle:
  • Software as a Service (Saas) (Software als Dienst): Die dem Nutzer bereitgestellte Funktion besteht darin, die in einer Cloud-Infrastruktur laufenden Anwendungen des Anbieters zu verwenden. Die Anwendungen sind über eine schlanke Client-Schnittstelle wie einen Web-Browser (z.B. auf dem Web beruhende eMail) von verschiedenen Client-Einheiten aus zugänglich. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter das Netzwerk, Server, Betriebssysteme, Speicher bzw. sogar einzelne Anwendungsfunktionen, mit der möglichen Ausnahme von eingeschränkten benutzerspezifischen Einstellungen der Anwendungskonfiguration.
  • Platform as a Service (Paas) (Plattform als Dienst): Die dem Nutzer bereitgestellte Funktion besteht darin, durch einen Nutzer erstellte bzw. erhaltene Anwendungen, die unter Verwendung von durch den Anbieter unterstützten Programmiersprachen und Werkzeugen erstellt wurden, in der Cloud-Infrastruktur einzusetzen. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, darunter Netzwerke, Server, Betriebssysteme bzw. Speicher, hat aber die Kontrolle über die eingesetzten Anwendungen und möglicherweise über Konfigurationen der Hosting-Umgebung der Anwendung.
  • Infrastructure as a Service (laas) (Infrastruktur als Dienst): Die dem Nutzer bereitgestellte Funktion besteht darin, Verarbeiten, Speicher, Netzwerke und andere grundlegende Datenverarbeitungsressourcen bereitzustellen, wobei der Nutzer in der Lage ist, beliebige Software einzusetzen und auszuführen, zu der Betriebssysteme und Anwendungen gehören können. Der Nutzer verwaltet bzw. steuert die zugrunde liegende Cloud-Infrastruktur nicht, hat aber die Kontrolle über Betriebssysteme, Speicher, eingesetzte Anwendungen und möglicherweise eine eingeschränkte Kontrolle über ausgewählte Netzwerkkomponenten (z.B. Host-Firewalls).
  • Es gibt folgende Einsatzmodelle:
  • Private Cloud: Die Cloud-Infrastruktur wird einzig und allein für eine Organisation betrieben. Sie kann durch die Organisation oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder in fremden Räumen befinden.
  • Community Cloud (Benutzergemeinschafts-Cloud): Die Cloud-Infrastruktur wird von mehreren Organisationen gemeinsam genutzt und unterstützt eine spezielle Benutzergemeinschaft, die gemeinsame Anliegen hat (z.B. Aufgabe, Sicherheitsanforderungen, Richtlinien sowie Überlegungen bezüglich der Einhaltung von Vorschriften). Sie kann durch die Organisationen oder einen Dritten verwaltet werden und kann sich in den eigenen Räumen oder fremden Räumen befinden.
  • Public Cloud (öffentliche Cloud): Die Cloud-Infrastruktur wird der allgemeinen Öffentlichkeit oder einer großen Branchengruppe zur Verfügung gestellt und gehört einer Organisation, die Cloud-Dienste verkauft.
  • Hybrid Cloud (hybride Cloud): Die Cloud-Infrastruktur besteht aus zwei oder mehr Clouds (privat, Benutzergemeinschaft oder öffentlich), die zwar einzelne Entitäten bleiben, aber durch eine standardisierte oder herstellereigene Technologie miteinander verbunden sind, die eine Übertragbarkeit von Daten und Anwendungen ermöglicht (z.B. Cloud-Zielgruppenverteilung für den Lastenausgleich zwischen Clouds).
  • Eine Cloud-Computing-Umgebung ist dienstorientiert und schwerpunktmäßig auf Statusunabhängigkeit, geringe Kopplung, Modularität und semantische Interoperabilität ausgerichtet. Der Kern der Cloud-Computing ist eine Infrastruktur, die ein Netzwerk aus miteinander verbundenen Knoten enthält.
  • Mit Bezug nunmehr auf 11 ist eine veranschaulichende Cloud-Computing-Umgebung 2050 dargestellt. Wie gezeigt, enthält die Cloud-Computing-Umgebung 2050 einen oder mehrere Cloud-Computing-Knoten 2010, mit denen von Cloud-Nutzern verwendete lokale Datenverarbeitungseinheiten wie der persönliche digitale Assistent (PDA) oder das Mobiltelefon 2054A, der Desktop-Computer 2054B, der Laptop-Computer 2054C und/oder das Kraftfahrzeug-Computersystem 2054N Daten austauschen können. Die Knoten 2010 können miteinander Daten austauschen. Sie können physisch oder virtuell in einem oder mehreren Netzwerken wie private, benutzergemeinschaftliche, öffentliche oder hybride Clouds wie oben beschrieben oder in einer Kombination davon in Gruppen angeordnet sein (nicht dargestellt). Dies ermöglicht es der Cloud-Computing-Umgebung 2050, Infrastruktur, Plattformen und/oder Software als Dienste anzubieten, für die ein Cloud-Nutzer keine Ressourcen auf einer lokalen Datenverarbeitungseinheit vorhalten muss. Es versteht sich, dass die in 11 gezeigten Arten von Datenverarbeitungseinheiten 2054A bis N nur veranschaulichend sein sollen und die Datenverarbeitungsknoten 2010 und die Cloud-Computing-Umgebung 2050 mit jeder Art von computergestützter Einheit über jede Art von Netzwerk und/oder netzwerkadressierbarer Verbindung Daten austauschen kann (z.B. über einen Web-Browser).
  • Mit Bezug nunmehr auf 12 wird ein Satz funktionaler Abstraktionsschichten gezeigt, die von der Cloud-Computing-Umgebung 2050 (11) bereitgestellt wird. Es versteht sich im Voraus, dass die in 12 dargestellten Komponenten, Schichten und Funktionen nur veranschaulichend sein sollen und Ausführungsformen der Erfindung nicht darauf beschränkt sind. Wie dargestellt, werden die folgenden Schichten und entsprechenden Funktionen bereitgestellt:
  • Die Hardware- und Software-Schicht 2060 enthält Hardware- und Software-Komponenten. Zu Beispielen für Hardware-Komponenten gehören: die Großrechner 2061; die Server 2062 auf Grundlage der RISC-Architektur (RISC = Reduced Instruction Set Computer, Computer mit reduziertem Befehlssatz), die Server 2063; die Blade-Server 2064; die Speichereinheiten 2065; sowie die Netzwerke und Netzwerkkomponenten 2066. In einigen Ausführungsformen enthalten die Software-Komponenten die Netzwerk-Anwendungsserver-Software 2067 und die Datenbank-Software 2068.
  • Die Virtualisierungsschicht 2070 stellt eine Abstraktionsschicht bereit, aus der die folgenden Beispiele für virtuelle Entitäten bereitgestellt werden können: virtuelle Server 2071; virtuelle Speicher 2072; virtuelle Netzwerke 2073; darunter virtuelle private Netzwerke; virtuelle Anwendungen und Betriebssysteme 2074; und virtuelle Clients 2075.
  • In einem Beispiel kann die Verwaltungsschicht 2080 die nachfolgend beschriebenen Funktionen bereitstellen. Die Ressourcenbereitstellung 2081 ermöglicht eine dynamische Bereitstellung von Datenverarbeitungsressourcen und anderen Ressourcen, die verwendet werden, um Aufgaben in der Cloud-Computing-Umgebung durchzuführen. Messen und Preisfindung 2082 stellen Kostenverfolgung beim Verwenden von Ressourcen in der Cloud-Computing-Umgebung sowie Abrechnung oder Rechnungsstellung für die Inanspruchnahme dieser Ressourcen bereit. In einem Beispiel können diese Ressourcen Lizenzen für Anwendungssoftware umfassen. Die Sicherheitsfunktion stellt eine Identitätsprüfung für Cloud-Nutzer und Aufgaben sowie Schutz für Daten und andere Ressourcen bereit. Ein Benutzerportal 2083 stellt Nutzern und Systemadministratoren den Zugang zur Cloud-Computing-Umgebung bereit. Die Verwaltung der Dienstgüte 2084 stellt Zuordnung und Verwaltung von Cloud-Computing-Ressourcen bereit, sodass die erforderliche Dienstgüte erreicht wird. Die Planung und Erfüllung der Dienstgütevereinbarung (Service Level Agreement, SLA) 2085 stellt eine Vorabeinteilung und eine Beschaffung von Cloud-Computing-Ressourcen bereit, deren künftiger Bedarf auf der Grundlage einer Dienstgütevereinbarung vorausgesehen wird.
  • Die Arbeitslastschicht 2090 stellt Beispiele für Funktionalitäten bereit, für die die Cloud-Computing-Umgebung verwendet werden kann. Zu Beispielen für Arbeitslasten und Funktionen, die von dieser Schicht bereitgestellt werden können, gehören: Abbildung und Navigation 2091; Software-Entwicklung und Lebenszyklusverwaltung 2092; Bereitstellung von Ausbildung in virtuellen Klassenzimmern 2093; Datenanalyseverarbeitung 2094; Transaktionsverarbeitung 2095; sowie das vorausschauende Auswählen von Virtual-Reality-Inhalten, bei dem Bedingungen der demnächst verfügbaren Bandbreite proaktiv angepasst werden 2096.
  • Die Beschreibungen der verschiedenen Ausführungsformen der vorliegenden Erfindung wurden zum Zwecke der Veranschaulichung vorgestellt, sollen jedoch nicht erschöpfend oder auf die Ausführungsformen beschränkt sein. Ebenso sind Beispiele von Merkmalen oder Funktionen der hier beschriebenen Ausführungsformen der Offenbarung, unabhängig davon, ob sie in der Beschreibung einer bestimmten Ausführungsform verwendet oder als Beispiele aufgeführt werden, nicht dazu gedacht, die hier beschriebenen Ausführungsformen der Offenbarung einzuschränken oder die Offenbarung auf die hier beschriebenen Beispiele zu beschränken. Für Fachleute ist offensichtlich, dass viele Änderungen und Abwandlungen möglich sind, ohne vom Anwendungsbereich und Erfindungsgedanken der beschriebenen Ausführungsformen abzuweichen. Die hierin verwendete Terminologie wurde gewählt, um die Grundgedanken der Ausführungsformen, die praktische Anwendung oder technische Verbesserung gegenüber Technologien auf dem Markt bestmöglich zu erläutern oder es Fachleuten zu ermöglichen, die hierin beschriebenen Ausführungsformen zu verstehen.

Claims (20)

  1. Durch einen Computer implementiertes Verfahren zum proaktiven Auswählen von Virtual-Reality-(VR-)Inhalten, wobei das Verfahren aufweist: Empfangen von Positionsmetadaten von einer VR-Interaktionseinheit durch den Computer, wobei die Positionsmetadaten einen Referenzort enthalten; Empfangen von Bandbreiten-Metadaten für den Referenzort durch den Computer, die Werte der verfügbaren Bandbreite enthalten, die auf einer Zeitskala indexiert sind; Empfangen von Informationen über die Anforderungen an die VR-Inhalte durch den Computer, die Schwellenwerte der verfügbaren Bandbreite enthalten, um für eine Mehrzahl von VR-Inhaltskontexten eine annehmbare Leistung zu erzielen; Empfangen zu einem Referenzzeitpunkt einer Anforderung zum Bereitstellen von VR-Inhalten zu einem zweiten Zeitpunkt durch den Computer, wobei der zweite Zeitpunkt chronologisch nach dem Referenzzeitpunkt liegt; und Auswählen eines VR-Inhaltskontexts durch den Computer vor dem Eintreten des zweiten Zeitpunkts, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite liegt, der dem zweiten Zeitpunkt auf der Zeitskala entspricht.
  2. Verfahren nach Anspruch 1, wobei das Auswählen zumindest teilweise in Übereinstimmung mit einem Präferenzwert erfolgt, der den VR-Inhaltskontexten zugehörig ist, wobei diese aus einer Liste ausgewählt werden, die aus einer spezifischen Benutzeranforderung, einem wirtschaftlichen Wert, einer Popularität und einer Aktualität eines letzten Besuchs durch die VR-Interaktionseinheit besteht.
  3. Verfahren nach Anspruch 1, wobei: die Positionsmetadaten anzeigen, dass sich die VR-Interaktionseinheit zu einem zweiten Zeitpunkt an einem zweiten Ort befinden wird; der Computer Bandbreiten-Metadaten für den zweiten Ort empfängt, die mindestens einen Wert der verfügbaren Bandbreite enthalten; und das Auswählen des VR-Inhaltskontexts zumindest teilweise in Übereinstimmung mit dem mindestens einen Wert der verfügbaren Bandbreite des zweiten Orts erfolgt.
  4. Verfahren nach Anspruch 3, wobei die Positionsmetadaten Informationen aufweisen, die aus einer Liste ausgewählt werden, die aus Bewegungsgeschwindigkeit, Bewegungsrichtung und Bewegungsschnelligkeit besteht.
  5. Verfahren nach Anspruch 3, wobei: die Positionsmetadaten anzeigen, dass sich die VR-Interaktionseinheit zu einem dritten Zeitpunkt an einem dritten Ort befinden wird; der Computer Bandbreiten-Metadaten für den dritten Ort empfängt, die Werte der verfügbaren Bandbreite enthalten, die auf der Zeitskala indexiert sind; der Computer vor dem Eintreten des dritten Zeitpunkts eine Abweichungsbedingung feststellt, wobei der VR-Inhaltskontext einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der über dem Wert der verfügbaren Bandbreite an dem dritten Ort zu dem dritten Zeitpunkt liegt; und der Computer als Reaktion auf das Feststellen der Abweichungsbedingung vor dem Eintreten des dritten Zeitpunkts eine Korrekturmaßnahme durchführt.
  6. Verfahren nach Anspruch 5, wobei die Korrekturmaßnahme aus einer Liste ausgewählt wird, die aufweist: Auswählen eines zweiten VR-Inhaltskontexts, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem dritten Ort zu dem dritten Zeitpunkt liegt; Vorschlagen durch den Computer, dass ein Benutzer der VR-Interaktionseinheit an dem dritten Ort zu einem vierten Zeitpunkt ankommt, der zumindest teilweise so ausgewählt wird, dass der Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite für den ausgewählten VR-Inhaltskontext unter der verfügbaren Bandbreite an dem dritten Ort zu dem vierten Zeitpunkt liegt; und Anweisen eines autonomen Positionierungsmechanismus für die VR-Interaktionseinheit durch den Computer, an dem dritten Ort zu einem vierten Zeitpunkt anzukommen, der zumindest teilweise so ausgewählt wird, dass der Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite für den ausgewählten VR-Inhaltskontext unter der verfügbaren Bandbreite an dem dritten Ort zu dem vierten Zeitpunkt liegt.
  7. Verfahren nach Anspruch 1, wobei: die Positionsmetadaten anzeigen, dass sich die VR-Interaktionseinheit zu einem zweiten Zeitpunkt an einem zweiten Ort und zu einem dritten Zeitpunkt an einem dritten Ort befinden wird; der Computer Bandbreiten-Metadaten für den zweiten Ort empfängt, die Werte der verfügbaren Bandbreite enthalten, die auf der Zeitskala indexiert sind; das Auswählen des VR-Inhaltskontexts durch den Computer zumindest teilweise in Übereinstimmung mit dem Wert der verfügbaren Bandbreite für den zweiten Ort zu dem zweiten Zeitpunkt auf der Zeitskala erfolgt; der Computer Bandbreiten-Metadaten für den dritten Ort empfängt, die Werte der verfügbaren Bandbreite enthalten, die auf der Zeitskala indexiert sind; der Computer vor dem Eintreten des dritten Zeitpunkts einen zweiten VR-Inhaltskontext auswählt, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem dritten Ort liegt; und das Auswählen des zweiten VR-Inhaltskontexts durch den Computer zumindest teilweise in Übereinstimmung mit dem Wert der verfügbaren Bandbreite für den dritten Ort zu dem dritten Zeitpunkt auf der Zeitskala erfolgt.
  8. Verfahren nach Anspruch 7, wobei der zweite VR-Inhaltskontext durch den Computer zumindest teilweise unter Berücksichtigung eines Präferenzwerts ausgewählt wird, der den VR-Inhaltskontexten zugehörig ist, wobei diese aus einer Liste ausgewählt werden, die aus einer spezifischen Benutzeranforderung, einem wirtschaftlichen Wert, der Popularität und der Aktualität eines letzten Besuchs durch die VR-Interaktionseinheit besteht.
  9. Verfahren nach Anspruch 1, wobei: die Positionsmetadaten anzeigen, dass sich die VR-Interaktionseinheit zu einem dritten Zeitpunkt und einem vierten Zeitpunkt an dem Referenzort befinden wird; der Computer vor dem Eintreten des dritten Zeitpunkts eine Abweichungsbedingung feststellt, wobei der ausgewählte VR-Inhaltskontext einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der über dem Wert der verfügbaren Bandbreite an dem Referenzort zu dem dritten Zeitpunkt liegt; der Computer vor dem Eintreten des dritten Zeitpunkts eine Wiederübereinstimmungsbedingung feststellt, wobei der ausgewählte VR-Inhaltskontext einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem Referenzort zu dem vierten Zeitpunkt liegt; und als Reaktion auf das Feststellen der Abweichungsbedingung und der Wiederübereinstimmungsbedingung zwischen dem Eintreten des dritten Zeitpunkts bis zum Eintreten des vierten Zeitpunkts zu einem VR-Ersatzinhaltskontext gewechselt wird, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem Referenzort zu dem dritten Zeitpunkt liegt.
  10. Verfahren nach Anspruch 9, wobei: der VR-Ersatzinhaltskontext eine gesponserte Nachricht enthält; und der Computer zu dem vierten Zeitpunkt zu dem ursprünglich ausgewählten VR-Inhaltskontext zurückwechselt.
  11. System zum proaktiven Auswählen von Virtual-Reality-(VR-)Inhalten, wobei das System aufweist: ein Computersystem, das ein durch einen Computer lesbares Speichermedium mit darauf enthaltenen Programmanweisungen aufweist, wobei die Programmanweisungen von einem Computer ausführbar sind, um den Computer zu veranlassen: Positionsmetadaten von einer VR-Interaktionseinheit zu empfangen, wobei die Positionsmetadaten einen Referenzort enthalten; Bandbreiten-Metadaten für den Referenzort zu empfangen, die Werte der verfügbaren Bandbreite enthalten, die auf einer Zeitskala indexiert sind; Informationen über die Anforderungen an die VR-Inhalte zu empfangen, die Schwellenwerte der verfügbaren Bandbreite enthalten, um für eine Mehrzahl von VR-Inhaltskontexten eine annehmbare Leistung zu erzielen; zu einem Referenzzeitpunkt eine Anforderung zum Bereitstellen von VR-Inhalten zu einem zweiten Zeitpunkt zu empfangen, wobei der zweite Zeitpunkt chronologisch nach dem Referenzzeitpunkt liegt; und vor dem Eintreten des zweiten Zeitpunkts einen VR-Inhaltskontext auszuwählen, der einen Schwellenwert, der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite liegt, der dem zweiten Zeitpunkt auf der Zeitskala entspricht.
  12. System nach Anspruch 11, wobei: die Positionsmetadaten anzeigen, dass sich die VR-Interaktionseinheit zu einem zweiten Zeitpunkt an einem zweiten Ort befinden wird; die Anweisungen den Computer weiterhin veranlassen, Bandbreiten-Metadaten für den zweiten Ort zu empfangen, die mindestens einen Wert der verfügbaren Bandbreite enthalten; und das Auswählen des VR-Inhaltskontexts zumindest teilweise in Übereinstimmung mit dem mindestens einen Wert der verfügbaren Bandbreite des zweiten Orts erfolgt.
  13. System nach Anspruch 12, wobei: die Positionsmetadaten anzeigen, dass sich die VR-Interaktionseinheit zu einem dritten Zeitpunkt an einem dritten Ort befinden wird; die Anweisung den Computer weiterhin veranlasst, Bandbreiten-Metadaten für den dritten Ort zu empfangen, die Werte der verfügbaren Bandbreite enthalten, die auf der Zeitskala indexiert sind; vor dem Eintreten des dritten Zeitpunkts eine Abweichungsbedingung festzustellen, wobei der ausgewählte VR-Inhaltskontext einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der über dem Wert der verfügbaren Bandbreite an dem dritten Ort zu dem dritten Zeitpunkt liegt; und als Reaktion auf das Feststellen der Abweichungsbedingung vor dem Eintreten des dritten Zeitpunkts eine Korrekturmaßnahme durchzuführen.
  14. System nach Anspruch 13, wobei die Korrekturmaßnahme aus einer Liste ausgewählt wird, die aufweist: den Computer zu veranlassen, einen zweiten VR-Inhaltskontext auszuwählen, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem dritten Ort zu dem dritten Zeitpunkt liegt; den Computer zu veranlassen, einem Benutzer der VR-Interaktionseinheit vorzuschlagen, an dem dritten Ort zu einem vierten Zeitpunkt anzukommen, der zumindest teilweise so ausgewählt wird, dass der Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite für den ausgewählten VR-Inhaltskontext unter der verfügbaren Bandbreite an dem dritten Ort zu dem vierten Zeitpunkt liegt; und den Computer zu veranlassen, einen autonomen Positionierungsmechanismus für die VR-Interaktionseinheit anzuweisen, an dem dritten Ort zu einem vierten Zeitpunkt anzukommen, der zumindest teilweise so ausgewählt wird, dass der Schwellenwert für eine annehmbare Leistung der verfügbaren Bandbreite für den ausgewählten VR-Inhaltskontext unter der verfügbaren Bandbreite an dem dritten Ort zu dem vierten Zeitpunkt liegt.
  15. System nach Anspruch 11, wobei: die Positionsmetadaten anzeigen, dass sich die VR-Interaktionseinheit zu einem zweiten Zeitpunkt an einem zweiten Ort und zu einem dritten Zeitpunkt an einem dritten Ort befinden wird; die Anweisungen den Computer weiterhin veranlassen, Bandbreiten-Metadaten für den zweiten Ort zu empfangen, die Werte der verfügbaren Bandbreite enthalten, die auf der Zeitskala indexiert sind; wobei das Auswählen des VR-Inhaltskontexts zumindest teilweise in Übereinstimmung mit dem Wert der verfügbaren Bandbreite für den zweiten Ort zu dem zweiten Zeitpunkt auf der Zeitskala erfolgt; Bandbreiten-Metadaten für den dritten Ort zu empfangen, die Werte der verfügbaren Bandbreite enthalten, die auf einer Zeitskala indexiert sind; vor dem Eintreten des dritten Zeitpunkts einen zweiten VR-Inhaltskontext auszuwählen, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem dritten Ort liegt; und wobei das Auswählen des zweiten VR-Inhaltskontexts durch den Computer zumindest teilweise in Übereinstimmung mit dem Wert der verfügbaren Bandbreite für den dritten Ort zu dem dritten Zeitpunkt auf der Zeitskala erfolgt.
  16. System nach Anspruch 11, wobei: die Positionsmetadaten anzeigen, dass sich die VR-Interaktionseinheit zu einem dritten Zeitpunkt und einem vierten Zeitpunkt an dem Referenzort befinden wird; die Anweisungen den Computer weiterhin veranlassen, vor dem Eintreten des dritten Zeitpunkts eine Abweichungsbedingung festzustellen, wobei der ausgewählte VR-Inhaltskontext einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der über dem Wert der verfügbaren Bandbreite an dem Referenzort zu dem dritten Zeitpunkt liegt; vor dem Eintreten des dritten Zeitpunkts eine Wiederübereinstimmungsbedingung festzustellen, wobei der ausgewählte VR-Inhaltskontext einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem Referenzort zu dem vierten Zeitpunkt liegt; und als Reaktion auf das Feststellen der Abweichungsbedingung und der Wiederübereinstimmungsbedingung zwischen dem Eintreten des dritten Zeitpunkts bis zum Eintreten des vierten Zeitpunkts zu einem VR-Ersatzinhaltskontext zu wechseln, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem Referenzort zu dem dritten Zeitpunkt liegt.
  17. Computerprogrammprodukt zum proaktiven Auswählen von Virtual-Reality-(VR-) Inhalten, wobei das Computerprogrammprodukt ein durch einen Computer lesbares Speichermedium mit darauf enthaltenen Programmanweisungen aufweist, wobei die Programmanweisungen von einem Computer ausführbar sind, um den Computer zu veranlassen: unter Verwendung des Computers Positionsmetadaten von einer VR-Interaktionseinheit zu empfangen, wobei die Positionsmetadaten einen Referenzort enthalten; unter Verwendung des Computers Bandbreiten-Metadaten für den Referenzort zu empfangen, die Werte der verfügbaren Bandbreite enthalten, die auf einer Zeitskala indexiert sind; unter Verwendung des Computers Informationen über die Anforderungen an die VR-Inhalte zu empfangen, die Schwellenwerte der verfügbaren Bandbreite enthalten, um für eine Mehrzahl von VR-Inhaltskontexten eine annehmbare Leistung zu erzielen; zu einem Referenzzeitpunkt eine Anforderung zum Bereitstellen von VR-Inhalten zu einem zweiten Zeitpunkt zu empfangen, wobei der zweite Zeitpunkt chronologisch nach dem Referenzzeitpunkt liegt; und unter Verwendung des Computers vor dem Eintreten des zweiten Zeitpunkts einen VR-Inhaltskontext auszuwählen, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite liegt, der dem zweiten Zeitpunkt auf der Zeitskala entspricht.
  18. Computerprogrammprodukt nach Anspruch 17, wobei: die Positionsmetadaten anzeigen, dass sich die VR-Interaktionseinheit zu einem zweiten Zeitpunkt an einem zweiten Ort befinden wird; die Anweisungen den Computer weiterhin veranlassen, Bandbreiten-Metadaten für den zweiten Ort zu empfangen, die mindestens einen Wert der verfügbaren Bandbreite enthalten; und das Auswählen des VR-Inhaltskontexts zumindest teilweise in Übereinstimmung mit dem mindestens einen Wert der verfügbaren Bandbreite des zweiten Orts erfolgt.
  19. Computerprogrammprodukt nach Anspruch 17, wobei: die Positionsmetadaten anzeigen, dass sich die VR-Interaktionseinheit zu einem zweiten Zeitpunkt an einem zweiten Ort und zu einem dritten Zeitpunkt an einem dritten Ort befinden wird; die Anweisungen den Computer weiterhin veranlassen, Bandbreiten-Metadaten für den zweiten Ort zu empfangen, die Werte der verfügbaren Bandbreite enthalten, die auf der Zeitskala indexiert sind; wobei das Auswählen des VR-Inhaltskontexts zumindest teilweise in Übereinstimmung mit dem Wert der verfügbaren Bandbreite für den zweiten Ort zu dem zweiten Zeitpunkt auf der Zeitskala erfolgt; unter Verwendung des Computers Bandbreiten-Metadaten für den dritten Ort zu empfangen, die Werte der verfügbaren Bandbreite enthalten, die auf der Zeitskala indexiert sind; unter Verwendung des Computers vor dem Eintreten des dritten Zeitpunkts einen zweiten VR-Inhaltskontext auszuwählen, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite zu dem dritten Zeitpunkt liegt; und wobei das Auswählen des zweiten VR-Inhaltskontexts durch den Computer zumindest teilweise in Übereinstimmung mit dem Wert der verfügbaren Bandbreite für den dritten Ort zu dem dritten Zeitpunkt auf der Zeitskala erfolgt.
  20. Computerprogrammprodukt nach Anspruch 17, wobei: die Positionsmetadaten anzeigen, dass sich die VR-Interaktionseinheit zu einem dritten Zeitpunkt und einem vierten Zeitpunkt an dem Referenzort befinden wird; die Anweisungen den Computer weiterhin veranlassen, vor dem Eintreten des dritten Zeitpunkts eine Abweichungsbedingung festzustellen, wobei der ausgewählte VR-Inhaltskontext einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der über dem Wert der verfügbaren Bandbreite an dem Referenzort zu dem dritten Zeitpunkt liegt; vor dem Eintreten des dritten Zeitpunkts eine Wiederübereinstimmungsbedingung festzustellen, wobei der ausgewählte VR-Inhaltskontext einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem Referenzort zu dem vierten Zeitpunkt liegt; und als Reaktion auf das Feststellen der Abweichungsbedingung und der Wiederübereinstimmungsbedingung zwischen dem Eintreten des dritten Zeitpunkts bis zum Eintreten des vierten Zeitpunkts zu einem VR-Ersatzinhaltskontext zu wechseln, der einen Schwellenwert der für eine annehmbare Leistung verfügbaren Bandbreite aufweist, der unter dem Wert der verfügbaren Bandbreite an dem Referenzort zu dem dritten Zeitpunkt liegt.
DE102021124620.2A 2020-09-29 2021-09-23 Proaktives auswählen von virtual-reality-inhaltskontexten Active DE102021124620B4 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/035,783 2020-09-29
US17/035,783 US20220103655A1 (en) 2020-09-29 2020-09-29 Proactively selecting virtual reality content contexts

Publications (2)

Publication Number Publication Date
DE102021124620A1 true DE102021124620A1 (de) 2022-03-31
DE102021124620B4 DE102021124620B4 (de) 2024-07-04

Family

ID=80624734

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102021124620.2A Active DE102021124620B4 (de) 2020-09-29 2021-09-23 Proaktives auswählen von virtual-reality-inhaltskontexten

Country Status (5)

Country Link
US (1) US20220103655A1 (de)
JP (1) JP2022056380A (de)
CN (1) CN114356070A (de)
DE (1) DE102021124620B4 (de)
GB (1) GB2600815B (de)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11799920B1 (en) * 2023-03-09 2023-10-24 Bank Of America Corporation Uninterrupted VR experience during customer and virtual agent interaction

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7844724B2 (en) * 2007-10-24 2010-11-30 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US9247523B1 (en) * 2012-01-17 2016-01-26 Cox Communications, Inc. System, method and device for initiating actions for mobile devices prior to a mobile user entering problem zones
US9596670B2 (en) * 2013-01-16 2017-03-14 Apple Inc. Location assisted service capability monitoring
CA2948642A1 (en) * 2014-05-29 2015-12-03 Nextvr Inc. Methods and apparatus for delivering content and/or playing back content
TW201633825A (zh) * 2015-01-29 2016-09-16 Vid衡器股份有限公司 增強無線網路應用QoE之頻寬預測及預取
US9973448B2 (en) 2015-02-25 2018-05-15 At&T Mobility Ii Llc Predictive cached buffer for communication devices
KR102313485B1 (ko) * 2015-04-22 2021-10-15 삼성전자주식회사 가상현실 스트리밍 서비스를 위한 영상 데이터를 송수신하는 방법 및 장치
US10491711B2 (en) * 2015-09-10 2019-11-26 EEVO, Inc. Adaptive streaming of virtual reality data
US9721393B1 (en) * 2016-04-29 2017-08-01 Immersive Enterprises, LLC Method for processing and delivering virtual reality content to a user
GB2550589B (en) * 2016-05-23 2019-12-04 Canon Kk Method, device, and computer program for improving streaming of virtual reality media content
US11089280B2 (en) * 2016-06-30 2021-08-10 Sony Interactive Entertainment Inc. Apparatus and method for capturing and displaying segmented content
US10306180B2 (en) * 2016-10-21 2019-05-28 Liquidsky Software, Inc. Predictive virtual reality content streaming techniques
US10862771B2 (en) * 2016-11-10 2020-12-08 Ciena Corporation Adaptive systems and methods enhancing service quality of experience
GB2558206A (en) * 2016-12-16 2018-07-11 Nokia Technologies Oy Video streaming
US10805620B2 (en) * 2017-01-11 2020-10-13 Mediatek Inc. Method and apparatus for deriving composite tracks
US10587883B2 (en) * 2017-07-14 2020-03-10 Qualcomm Incorporated Region-wise packing, content coverage, and signaling frame packing for media content
US10680927B2 (en) * 2017-08-25 2020-06-09 Advanced Micro Devices, Inc. Adaptive beam assessment to predict available link bandwidth
US11811854B2 (en) * 2018-12-30 2023-11-07 Dish Network Technologies India Private Limited Delivery of digital video content based upon geographic location
US20210099743A1 (en) * 2019-09-27 2021-04-01 Lenovo (Singapore) Pte. Ltd. Presenting content based on network bandwidth

Also Published As

Publication number Publication date
GB2600815A9 (en) 2022-10-05
CN114356070A (zh) 2022-04-15
JP2022056380A (ja) 2022-04-08
GB2600815A (en) 2022-05-11
DE102021124620B4 (de) 2024-07-04
US20220103655A1 (en) 2022-03-31
GB2600815B (en) 2022-12-21

Similar Documents

Publication Publication Date Title
DE112012000444B4 (de) Verfahren, System und Computerprogrammprodukt zum Ermitteln einer optimalen Datenverarbeitungsumgebung zum Ausführen eines Abbildes sowie Verfahren zum Implementieren eines entsprechenden Systems
DE102021125182B4 (de) Gemeinsam genutzte unternehmenscloud
DE112020005095T5 (de) Automatische trennung und extraktion von tabellendaten unter verwendung von maschinellem lernen
DE102012215219A1 (de) Ermitteln von Verteilungen von Abbildmustern von virtuellen Maschinen in einer vernetzten Datenverarbeitungsumgebung
DE102013205572A1 (de) Verwenden von softwarekomponenten-metadaten zum bereitstellen von virtuellen maschinen in einer vernetzten datenverarbeitungsumgebung
DE102021127254A1 (de) Inhaltssensitives Auswählen von Knoten zum Erstellen von Containern
DE112020003825T5 (de) Entsprechung zwischen externen Operationen und Containern sowie Mutationsereignissen
DE102013206354A1 (de) Adaptive Bewertung der Objektrelevanz auf der Grundlage dynamischer Benutzereigenschaften
DE112021004577T5 (de) Verwalten eines aufgabenablaufs in einer edge-datenverarbeitungsumgebung
DE112021002487T5 (de) Teilen einer geografisch konzentrierten arbeitslast zwischen benachbarten mec-hosts mehrerer netzbetreiber
DE102021130396A1 (de) Datenzugriffsüberwachung und -steuerung
DE112022002615T5 (de) Kontinuierliche funktionsfähigkeit und integrität von anwendungen während eines migrationsvorgangs
DE112021001163T5 (de) Dynamisches erstellen von facetten unter verwendung von graphpartitionierung
DE102014116744A1 (de) Management von Informationstechnologieressourcen
DE102021122508A1 (de) Ausgleichen von grossrechner- und verteilten arbeitslasten auf der grundlage von leistung und kosten
DE112016004745B4 (de) Syndiziertes, auf einer Cloud beruhendes Dienstmodell "Benachrichtigung als ein Dienst" Erweiterung in einem RSS-Feed
DE102021124620B4 (de) Proaktives auswählen von virtual-reality-inhaltskontexten
DE102021129637A1 (de) Verteiltes stream-computing mit mehreren umgebungen
DE112021005219T5 (de) Automatischer Vorhersageskalierer für eine hierarchische Datenverarbeitungsinfrastruktur
DE112021005848T5 (de) Koordinieren von in einer skalierbaren anwendung umgesetzten anfragen
DE102021125019A1 (de) Orchestrierung von einheiten für das internet der dinge
DE112021005394T5 (de) Tag-gesteuerte planung von datenverarbeitungsressourcen zur funktionsausführung
DE112021000619T5 (de) Adaptive zustandsverwaltung für statusunabhängige services
DE112018005283T5 (de) Deduplizierung für dateien in einem cloud-computing-speicher und in datenübertragungswerkzeugen
DE112021005927T5 (de) Patchen von arbeitsabläufen

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R079 Amendment of ipc main class

Free format text: PREVIOUS MAIN CLASS: H04L0029020000

Ipc: H04L0065000000

R016 Response to examination communication
R018 Grant decision by examination section/examining division
R084 Declaration of willingness to licence