CN114356070A - Actively selecting virtual reality content context - Google Patents

Actively selecting virtual reality content context Download PDF

Info

Publication number
CN114356070A
CN114356070A CN202111120382.8A CN202111120382A CN114356070A CN 114356070 A CN114356070 A CN 114356070A CN 202111120382 A CN202111120382 A CN 202111120382A CN 114356070 A CN114356070 A CN 114356070A
Authority
CN
China
Prior art keywords
time
location
available bandwidth
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.)
Withdrawn
Application number
CN202111120382.8A
Other languages
Chinese (zh)
Inventor
S·K·帕特奈库尼
S·K·莱科施特
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 CN114356070A publication Critical patent/CN114356070A/en
Withdrawn legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • 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
    • 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)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Social Psychology (AREA)
  • Environmental & Geological Engineering (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Information Transfer Between Computers (AREA)
  • Processing Or Creating Images (AREA)

Abstract

A computer actively selects Virtual Reality (VR) content. The computer receives location metadata from the VR interaction device, the location metadata including a reference location. The computer receives bandwidth metadata for a reference location that includes available bandwidth values indexed to a time scale. The computer receives VR content requirement information including available bandwidth thresholds for a plurality of VR content contexts to achieve acceptable performance. The computer receives a request for VR content delivery at a second time later in the chronological order at a reference time. The computer selects a VR content context having an available bandwidth threshold for acceptable performance that is lower than an available bandwidth value corresponding to a second time on the time scale before the second time occurs.

Description

Actively selecting virtual reality content context
Technical Field
The present invention relates generally to the field of Virtual Reality (VR) systems, and more particularly to selecting content to be displayed in a VR interaction device.
Background
VR systems may provide users with interactive experiences that simulate various activities or contexts, including shopping (e.g., at a virtual store with multiple contexts), social interactions (e.g., virtually sharing experiences with others), immersive games, and so forth. VR systems consume large amounts of data and the success of VR interactions requires sufficient available bandwidth to effectively support elevated data transmission requirements.
While VR systems typically consume large amounts of data, not all content and context have the same available bandwidth requirements (i.e., some content and context are more data intensive than others). Contexts with graphics rich content and particularly high resolution require a particularly large amount of available bandwidth, while static and graphics simple content consumption requires relatively less available bandwidth.
For various reasons, the amount of available bandwidth may vary between different locations, and in some locations, even between different times of the day. Such variations are particularly troublesome for users attempting to experience environments requiring more bandwidth than is available at a particular location or time. This can create difficulties for a user attempting to effectively and satisfactorily experience a range of contexts during a VR session that provides various available bandwidths throughout the session. These problems may occur, for example, when a user moves through a location or time period having a large amount of available bandwidth into a location or time period having a relatively small amount of available bandwidth. These difficulties are particularly problematic when attempting to experience a range of contexts based on varying contextual data requirements and varying bandwidth availability, as certain content and specific contexts can only be successfully experienced at a particular location or at a particular time.
Disclosure of Invention
In an embodiment according to the invention, a computer-implemented method of proactively selecting Virtual Reality (VR) content comprises: receiving, by a computer, location metadata from a VR interaction device, the location metadata including a reference location. The computer receives bandwidth metadata for the reference location, the bandwidth metadata including available bandwidth values indexed to a time scale, and the computer receives VR content requirement information including available bandwidth thresholds for a set of VR content contexts to achieve acceptable performance. The computer also receives, at the reference time, a request for VR content delivery at a second time later than the reference time. The computer also selects a VR content context having an available bandwidth threshold for acceptable performance that is lower than an available bandwidth value corresponding to the second time before the second time occurs. According to other aspects, the selection is made based at least in part on preference values associated with the VR content context, the preference values selected from a list including a particular user request, commercial value, popularity, last access of the VR interaction device. According to other aspects, the location metadata indicates that the VR interaction device is to be at a second location at the second time, the computer receives bandwidth metadata for the second location that includes at least one available bandwidth value, and makes the VR content context based at least in part on the available bandwidth for the second location. According to other aspects, the location metadata includes information selected from a list including a speed of movement, a direction of movement, and a rate of movement. According to other aspects, the location metadata indicates that the VR interaction device is to be at a third location at a third time, the computer receives bandwidth metadata for the third location that includes available bandwidth values indexed to the timescale, the computer determines a mismatch condition before the third time occurs, wherein the selected VR content context has an available bandwidth threshold for acceptability that is higher than the available bandwidth values at the third location at the third time, and in response to determining the mismatch condition, a corrective action is taken by the computer before the third time occurs. According to other aspects, the corrective action is to select a second VR content context having an available bandwidth threshold for acceptable performance that is lower than the available bandwidth value at the third location at the third time. According to other aspects, the corrective action is a suggestion by the computer to the user of the VR interaction device to reach the third location at least partially at the selected fourth time such that an available bandwidth threshold for acceptable performance for the selected VR content environment is lower than an available bandwidth at the third location at the fourth time. According to other aspects, the corrective action is for the computer to direct the autonomous positioning mechanism for the VR interaction device to reach the third location at least partially at the selected fourth time such that an available bandwidth threshold for acceptable performance for the selected VR content context is lower than an available bandwidth at the third location at the fourth time. According to other aspects, the location metadata indicates that the VR interaction device is to be at a second location at a second time and at a third location at a third time, the computer receives bandwidth metadata for the second location, including available bandwidth values indexed by time, and selection of a VR content context is made by a computer based at least in part on the available bandwidth values for a second location at a second time, the computer receiving bandwidth metadata for a third location, including available bandwidth values indexed to a time scale, the computer selecting a second VR content context having an available bandwidth threshold for acceptable performance that is lower than the available bandwidth value at a third location before a third time occurs, the selection of the second VR content context by the computer being made based at least in part on the available bandwidth value for the third location at the third time. According to other aspects, the computer selects the second VR content context at least in part considering preference values associated with the VR content context, the preference values selected from a list comprising a particular user request, commercial value, popularity, last access of the VR interaction device. According to other aspects, the location metadata indicates that the VR interaction device is to be at a reference location at a third time and a fourth time, the computer determines a mismatch condition before the third time occurs, wherein the selected VR content context has an available bandwidth threshold for acceptable performance that is higher than an available bandwidth value at the reference location at a third time, the computer determines a re-match condition before the third time occurs, wherein the selected VR content context has an available bandwidth threshold for acceptable performance that is lower than an available bandwidth value at the reference location at a fourth time, in response to determining the mismatch condition and the re-match condition, the computer switches to an alternate VR content context having an available bandwidth threshold for acceptable performance that is lower than the available bandwidth value at the reference location at the third time between the third time occurring until the fourth time occurring.
According to another embodiment, a system for proactively selecting Virtual Reality (VR) content includes a computer system including a computer-readable storage medium having program instructions embodied therewith, the program instructions executable by a computer to cause the computer to: receiving location metadata from a VR interaction device, the location metadata including a reference location; receiving bandwidth metadata for the reference location, the bandwidth metadata including available bandwidth values indexed to a time scale; receiving VR content requirement information, the VR content requirement information including a threshold of available bandwidth for acceptable performance for multiple VR content contexts; receiving, at a reference time, a request for VR content delivery at a second time, the second time later in chronological order than the reference time; and selecting a VR content context before the second time occurs, the VR content context having an available bandwidth threshold for acceptable performance that is lower than an available bandwidth value corresponding to the second time on the timescale.
According to another embodiment, a computer program product for proactively selecting Virtual Reality (VR) content includes a computer-readable storage medium embodying program instructions executable by a computer to cause the computer to: receiving, using the computer, location metadata from a VR interaction device, the location metadata including a reference location; receiving, using the computer, bandwidth metadata for the reference location, the bandwidth metadata including available bandwidth values indexed to a time scale; receiving, using the computer, VR content requirement information including available bandwidth thresholds for a plurality of VR content contexts to achieve acceptable performance; receiving, at a reference time, a request for VR content delivery at a second time, the second time later in chronological order than the reference time; and selecting, using the computer, a VR content context before the second time occurs, the VR content context having an available bandwidth threshold for acceptable performance that is lower than an available bandwidth value corresponding to the second time on the timescale.
The present disclosure recognizes drawbacks and problems associated with attempting to proactively coordinate VR context selection to match dynamic but historically known bandwidth availability during a given VR session.
Drawings
These and other objects, features and advantages of the present invention will become apparent from the following detailed description of illustrative embodiments thereof, which is to be read in connection with the accompanying drawings. The various features of the drawings are not to scale, since for clarity the illustrations are intended to assist those skilled in the art in understanding the invention in conjunction with the detailed description. The drawings are as follows:
FIG. 1 is a schematic block diagram illustrating an overview of a system for predictively selecting virtual reality content that proactively adapts to upcoming available bandwidth conditions, in accordance with an embodiment of the present invention.
Fig. 2 is a flow diagram illustrating a method for predictively selecting virtual reality content that proactively adapts to upcoming available bandwidth conditions, implemented using the system shown in fig. 1, in accordance with some aspects of the present invention.
Fig. 3 is a flow diagram illustrating a method for predictively selecting virtual reality content that proactively adapts to upcoming available bandwidth conditions, implemented using the system shown in fig. 1, in accordance with some aspects of the present invention.
Fig. 4 is a flow diagram illustrating a method for predictively selecting virtual reality content that proactively adapts to upcoming available bandwidth conditions, implemented using the system shown in fig. 1, in accordance with some aspects of the present invention.
Fig. 5 is a flow diagram illustrating a method for predictively selecting virtual reality content that proactively adapts to upcoming available bandwidth conditions, implemented using the system shown in fig. 1, in accordance with some aspects of the present invention.
Fig. 6 is a flow diagram illustrating a method for predictively selecting virtual reality content that proactively adapts to upcoming available bandwidth conditions, implemented using the system shown in fig. 1, in accordance with some aspects of the present invention.
FIG. 7 is a table illustrating sample available bandwidth metadata for several locations and indexed to a time scale implemented by some aspects of the present invention.
Fig. 8 is a table illustrating exemplary available bandwidth thresholds for acceptable metadata performance for several VR content contexts and associated typical context session times, as implemented by some aspects of the present invention.
FIG. 9 is a schematic representation of a map showing a reference location, a second location, and a third location, implemented according to some aspects of the present invention.
FIG. 10 is a schematic block diagram depicting a computer system that may be incorporated, in whole or in part, into one or more of the computers or devices shown in FIG. 1 and that cooperates with the systems and methods shown in FIG. 1, according to embodiments of the present disclosure.
FIG. 11 depicts a cloud computing environment according to an embodiment of the present invention.
FIG. 12 depicts abstraction model layers according to an embodiment of the invention.
Detailed Description
The following description with reference to the accompanying drawings is provided to assist in a comprehensive understanding of exemplary embodiments of the invention as defined by the claims and their equivalents. It includes various specific details to aid understanding, but such details are to be regarded as merely exemplary. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiments described herein can be made without departing from the scope and spirit of the invention. In addition, descriptions of well-known functions and constructions may be omitted for clarity and conciseness.
The terms and words used in the following description and claims are not limited to bibliographic meanings, but are used only to enable a clear and consistent understanding of the invention. Therefore, it will be apparent to those skilled in the art that the following descriptions of the exemplary embodiments of the present invention are provided for illustration only and not for the purpose of limiting the invention as defined by the appended claims and their equivalents.
It should be understood that the singular forms "a", "an" and "the" include plural referents unless the context clearly dictates otherwise. Thus, for example, reference to "a participant" includes reference to one or more of such participants, unless the context clearly indicates otherwise.
Referring now to the drawings in general and to fig. 1 in particular, an overview of aspects of a method of predictively selecting virtual reality content usable within a system 100 and proactively adapting to available bandwidth conditions, as performed by a server computer 102 having an optionally shared storage 104, in accordance with embodiments of the present disclosure, is shown. The server computer 102 communicates with a system clock 106 that provides a reference time value and a consistent and chronological index for aspects of the invention. A VR context data set (VRCD)108 provides contextual content and associated bandwidth requirement data. The server computer 102 also communicates with a source of Available Bandwidth Metadata (ABM) 110. In some aspects of the invention, the VR interactive device 112(VRID) provides VRID location metadata 114 that provides information about the VRID, including location, speed, direction of travel, and possibly speed, all of which can be indexed to a reference time for coordination with the information provided by the system clock 106. The VR content selection module (VRCSM)116 actively selects a VR context from VR contexts having bandwidth requirements suitable for the bandwidth available at the location and time at which the VRID 114 will appear, as will be more fully described below. The VR content generation module (VRCGM)118 prepares content for the selected context and sends it to the VRID 114 for experience by the user (not shown).
Referring now additionally to fig. 2, aspects of a method that may be used within the system 100 described above to predictively select virtual reality content that proactively adapts to upcoming available bandwidth conditions, in accordance with some aspects of the present invention, will be discussed in detail. According to aspects of this embodiment, a user controlling the VRID 112 is in one location (e.g., home, commercial building, airport, etc.) and wishes to make a virtual shopping trip. At block 202, the server computer 102 receives the VRID location metadata 114, which includes a reference location 902 (best seen on the map 900 in FIG. 9) for the VRID 112. At block 204, the server computer 102 receives bandwidth metadata 110 (shown in table 700 of fig. 7) for several locations 702, which includes, for each location, an available bandwidth value 704 that is indexed to a time scale (e.g., representative reference time locations 706, 708, 710, 712) corresponding to a time scale used by the system clock 106.
At block 206, the server computer 102 receives VR contextual content requirement information, which includes available bandwidth thresholds for acceptable performance for a set of VR content contexts. As used herein, the term "context" means a virtual setting similar to what might be experienced when performing an activity (such as shopping) in an entity (e.g., non-virtual) store. A brick and mortar store may have several departments or types of bundled goods (e.g., clothing, cosmetics, flowers, fruits, detergents, office supplies, and others selected by those skilled in the art) to experience during a given shopping session. Contexts (several of which are shown at 802 in the table 800 shown in FIG. 8) may each have a different set of characteristics (e.g., level of packaging content to be processed, appearance details, aspects to be considered in making a purchase decision, time typically spent interacting with a product group during a given shopping session, etc.). As a result, representing different contexts in a virtual store will require different amounts of data. For example, virtual shopping in the flower context 802 may require bandwidth available at a rate above a threshold 804 for acceptable performance of 200Mb/s, while shopping in the detergent context requires only 25Mb/s for acceptable performance. This is because the proper rendering of geometrically simple rectangular packages, often found in the detergent context 802, uses much less data than the rendering of colored and often highly detailed flowers. In other words, detergent context 802 has a lower threshold of available bandwidth for acceptable performance than a threshold of available bandwidth for acceptable performance for flower context. According to FIG. 8, a detergent context 802 has an available bandwidth threshold 804 of 25MB/s, while a flower context has an available bandwidth threshold of 200 MB/s. Note that the context 802 may vary and may be selected at the discretion of one skilled in the art. It should also be noted that the context 802 need not be limited to the type of merchandise, and may also include gamification, collaboration, and other data consumption aspects of the context that may enhance the experience of the context, as selected by one of ordinary skill in the art.
Attempting to delineate a context 802 when the available bandwidth 704 is below a corresponding context threshold 804 would result in an unacceptable user experience. Thus, in order to have a successful VR session, it is desirable to select only contexts 802 that have an available bandwidth threshold 804 that is lower than the available bandwidth 704. As described above and shown in fig. 7, the available bandwidth 704 may vary between locations 702, and even for some locations (e.g., location #3) at different times 706, 708, 710, 712.
With continued reference to fig. 2, in block 208, the server computer 102 receives a request for VR content delivery at a later second time 708 (e.g., 3 pm) at a reference time 706 (e.g., 1 pm) generated by the system clock 106. To ensure that the context 802 at the second time 708 is successfully depicted, the server computer 102 uses the VRCSM 116 to ensure that a context is selected at the reference location 902 (which is shown in fig. 9 as location #1) that has an available bandwidth threshold 804 for acceptable performance that is below the bandwidth 704 that will be available at the second time 708. Thus, at block 210, the server computer 102 selects a VR content context having an available bandwidth threshold for acceptable performance that is lower than the available bandwidth value at the reference location 902 at the second time before the second time 708 occurs.
Note that in addition to available bandwidth and associated performance thresholds, the server computer 102 may also consider other factors in selecting a context to present. For example, in various embodiments, the server computer may also consider VR content context preference values. According to aspects of various embodiments of the invention, preference values may include a particular user request, commercial value, popularity, last access to context by a given VR interaction device, and other factors selected by one of ordinary skill in the art. In this way, the server computer 102 can ensure that the context 802 is selected as needed based on a number of factors. Depending on the system profile, this would allow, for example, the user to guide context selection, allow content providers to encourage selection of contexts that are particularly commercially important, and encourage variation of context between different sessions. In this way, policy preferences may be taken into account when selecting one context for delineation from several contexts for which upcoming bandwidth availability is sufficient. If several preference values are indicated, they may be ordered such that some preference values are given a greater influence than others.
Note that in some embodiments, the available bandwidth 704 may be modified by attributes of the user account, in accordance with aspects of the included embodiments of the present invention. These account attributes may include standard versus VIP status, free versus paid account, or other aspects selected to increase or decrease the bandwidth available to a given user, as selected by those skilled in the art.
Once an appropriate context 802 is selected (e.g., the upcoming bandwidth availability is sufficient to meet the acceptable performance threshold and meet the indicated preference value considered context), at block 212, the server computer prepares content for the selected context via VRCGM 118 and sends the content to VRID 112 for interactive rendering.
Referring now additionally to fig. 3, aspects of a method that may be used within the system 100 described above to predictively select virtual reality content that proactively adapts to upcoming available bandwidth conditions, in accordance with some aspects of the present invention, will be discussed in detail. According to aspects of this embodiment, a user controlling the VRID 112 is at a reference location 902 (e.g., home, commercial building, airport, etc.) and wishes to make a virtual shopping trip while traveling to a second location. At block 302, the server computer 102 receives VRID location metadata 114 for a VR interaction device (VRID) at a reference time 706 (generated by a system clock), the VRID location metadata indicating that the VRID is currently at a reference location 902 and will be at a second location 904 at a second, later in time sequence 708. At block 304, the server computer 102 receives bandwidth metadata 110 (shown in table 700 of fig. 7) for a second location 904 that includes an available bandwidth value 704 for the second location (which is location #2 according to aspects of the present embodiment) indexed to a timescale (e.g., representative reference timescale locations 706, 708, 710, 712) corresponding to the timescale used by the system clock 106. At block 306, the server computer receives VR contextual content requirement information including available bandwidth thresholds for a set of VR content contexts to achieve acceptable performance. At block 308, the server computer 102 receives a request for VR content delivery at a second time at a reference time 706 generated by a system clock. At block 310, the server computer 102 uses the VRCSM 116 to select a VR content context 802 prior to the second time and in view of VR content context preference values as described above, the VR content context having an available bandwidth threshold 804 for acceptable performance that is lower than an available bandwidth value at the second location 904 at the second time 708. At block 312, the server computer 102 prepares the content for the selected context 804 via VRCGM 118 and sends it to VRID 112 for interactive rendering.
Referring now additionally to fig. 4, aspects of a method that may be used within the system 100 described above to predictively select virtual reality content that proactively adapts to upcoming available bandwidth conditions, in accordance with some aspects of the present invention, will be discussed in detail. According to aspects of the present embodiment, a traveling user controlling the VRID 112 will be at a reference location 902 (e.g., home, commercial building, airport, etc.) at a reference time 706, will be at a second location 904 at a second time 708, and will be at a third location 906 at a third time 710. According to other aspects of the present embodiment, the server computer detects and corrects a bandwidth mismatch condition, as described more fully below. At block 402, the server computer 102 receives location metadata for the VRID 112 at a reference time 702, the location metadata indicating that the VRID is currently at a reference location 902, will be at a second location 904 at a second time 708, and will be at a third location 906 at a third time 710. At block 404, the server computer 102 receives bandwidth metadata for the second and third locations 904, 906, the bandwidth metadata including an available bandwidth value 704 indexed to a time scale used by the system clock 106. At block 406, the server computer 102 receives VR contextual content requirement information that includes available bandwidth thresholds 804 for a plurality of VR content contexts 802 to achieve acceptable performance. At block 408, the server computer 102 receives a request for VR content delivery at a second time 708 at a reference time 706 generated by the system clock 106. According to aspects of this embodiment, the second time 708 is later in time sequence than the reference time 706, and the third time 710 is later in time sequence than the second time. The server computer 102 actively selects the appropriate context for the upcoming location 904, 906 at the associated upcoming time 708, 710 via the VRCSM 116. At block 410, the server computer 102 selects a VR content context 802 prior to the second time 708 and in view of the associated VR content context preference value (as described above) that has an available bandwidth threshold 804 for acceptable performance that is lower than the available bandwidth value 704 at the second location 904 at the second time. At block 412, the server computer 102 proactively determines a mismatch condition based on the available bandwidth value 704 at the third location 906 at the third time 710 before the third time 710 occurs. As used herein, the term "mismatch condition" means the case: for a selected context to be satisfactorily depicted at a location where the VRID 112 will be at an upcoming time, the bandwidth threshold 804 for acceptable performance will be higher than the available bandwidth 704. To ensure a satisfactory VR session, the server computer 102 takes corrective action at block 414 before the third time 710 occurs. According to an aspect of the invention, the corrective action may include selecting a second VR content context having an available bandwidth threshold for acceptable performance that is lower than the available bandwidth value at third location 906 at third time 710. According to another aspect of the invention, the corrective action can include suggesting to the user of the VR interaction device that the third location 906 be reached at least in part at the selected fourth time 712, such that the available bandwidth threshold 804 for acceptable performance for the selected VR content context 802 is lower than the available bandwidth 704 at the third location 906 at the fourth time 712 (e.g., a time later than the third time 710). According to another aspect of the invention, the corrective action can include directing an autonomous location mechanism (not shown) for the VRID 112 to reach the third location 906 at least partially at the selected fourth time 712 such that the available bandwidth threshold 804 for acceptable performance for the selected VR content environment 802 is lower than the available bandwidth 704 at the third location 906 at the fourth time 712. Other corrective actions may be selected by those skilled in the art. Once the server computer 102 has proactively resolved the noted mismatch condition, at block 416, the server computer 102 prepares content for the selected context 802 via the VRCGM 118 and sends it to the VRID 112 for interactive rendering at the associated predetermined time 708, 710, 712. Note that a mismatch condition may occur for a variety of reasons, including the user spending more time than expected 806 for a given context 802, or requesting that the previously depicted depiction of a context be repeated.
Referring now additionally to fig. 5, aspects of a method that may be used within the system 100 described above to predictively select virtual reality content that proactively adapts to upcoming available bandwidth conditions, in accordance with some aspects of the present invention, will be discussed in detail. In accordance with aspects of the present embodiment, a traveling user controlling the VRID 112 will be at one location (e.g., home, commercial building, airport, etc.) at the reference time 706, will be at a second location 904 at a second time 708, and will be at a third location 906 at a third time 710. This may occur when a user travels along a predetermined route according to a predetermined schedule (e.g., using predetermined public transportation, predetermined rail transit, traveling along a known route (e.g., a road or navigable waterway at a predetermined speed)). According to aspects of this embodiment, the server computer 102 proactively avoids mismatch conditions when the VRID 112 moves past different locations 902, 904, 906 at known times 706, 708, 710. At block 502, the server computer 102 receives location metadata for the VRID 112 indicating that the VRID will be at a second location 904 at a second time 708 and a third location 906 at a third time 710. At block 504, the server computer 102 receives bandwidth metadata for the reference location 902, the second location 904, and the third location 906 that includes an available bandwidth value for each location indexed to a time scale used by the system clock 106. At block 506, the server computer 102 receives VR contextual content requirement information that includes available bandwidth thresholds 804 for several VR content contexts 802 to achieve acceptable performance. At block 508, the server computer 102 receives a request for VR content delivery at a second time 708 at a reference time 706 generated by the system clock. According to aspects of the invention, the second time 708 is chronologically later than the reference time 706. To ensure satisfactory content delineation throughout the VR usage session (e.g., during travel), the server computer 102 actively selects content via the VRCSM 116 that matches the available bandwidth for the known locations 902, 904, 906 at the known upcoming times 706, 708, 710. Note that, as described above, the server computer 102 may also consider context preference values when selecting content to be rendered. At block 510, the server computer 102 selects, prior to the second time 708 and taking into account any relevant VR content context preference values, a VR content context 802 having an available bandwidth threshold 804 for acceptable performance that is lower than the available bandwidth value at the second location 904 at the second time. At block 512, the server computer 102 selects, prior to the third time 710 and taking into account any relevant VR content context preference values, a VR content context 802 having an available bandwidth threshold 804 for acceptable performance that is lower than the available bandwidth value 704 at the third location 906 at the third time 710. Once the server computer 102 has actively selected the appropriate context 802, at block 514, the server computer 102 prepares content for the selected context 802 via the VRCGM 118 and sends it to the VRID 112 for interactive rendering at the associated scheduled time 708, 710.
Referring now additionally to fig. 6, aspects of a method that may be used within the system 100 described above to predictively select virtual reality content that proactively adapts to upcoming available bandwidth conditions, in accordance with some aspects of the present invention, will be discussed in detail. According to aspects of this embodiment, a user controlling the VRID 112 will be at a reference location 902 (e.g., home, commercial building, airport, etc.) during the reference time 706, the second time 708, the third time 710, and at least until the fourth time. According to other aspects of this embodiment, the server computer detects and resolves the bandwidth mismatch condition between the third and fourth times, as described more fully below. At block 602, the server computer 102 receives location metadata for the VRID 112 indicating that the VRID will be at the reference location 902 at a third time 710 and a fourth time 712 (in addition to at the reference time 706 and the second time 708). At block 606, the server computer 102 receives VR contextual content requirement information that includes available bandwidth thresholds 804 for a set of VR content contexts 802 to achieve acceptable performance. At block 608, the server computer 102 receives a request for VR content delivery at a second time 708 at a reference time 706 generated by the system clock 106. According to aspects of this embodiment, the second time 708 is later in time sequence than the reference time 706, the third time 710 is later in time sequence than the second time, and the fourth time 712 is later in time sequence than the third time. To ensure satisfactory content delineation throughout the VR usage session (e.g., during prolonged stay at the reference location), the server computer 102 actively selects content via the VRCSM 116 that matches the available bandwidth for the reference location 902 at the known upcoming times 706, 708, 710, 712. Note that, as described above, the server computer 102 may also consider context preference values when selecting content to be rendered. At block 608, the server computer 102 selects a VR content context having an available bandwidth threshold 804 for acceptable performance that is lower than the available bandwidth value 704 at the second time 708, taking into account any relevant VR content context preference values. At block 610, the server computer 102 determines a mismatch condition (as described above) based on the available bandwidth value 704 at the reference location 902 at the third time 710 before the third time 710 occurs. At block 612, the server computer 102 determines a re-match condition based on the available bandwidth value 704 at the reference location 902 at the fourth time before the fourth time 712 occurs. As used herein, the term "re-match condition" means a situation in which the available bandwidth 704 increases and the bandwidth threshold 804 for acceptable performance will be lower than the available bandwidth 704 as previously. As a result, the selected context 802 can be satisfactorily depicted at the location where the VRID 112 will be at the upcoming time. At block 614, the server computer 102 switches the initially selected context 802 from delineating the third time 710 until the fourth time 712 occurs to an alternative VR content context (e.g., sponsorship information) having an available bandwidth threshold for acceptable performance that is lower than the available bandwidth value at the reference location 902 at the third time 710. The server computer 102 will select another context (possibly returning to the originally selected context) for the depiction at the time the fourth time 712 occurred. Once the server computer 102 has actively selected the content during the mismatch condition at the third time 710 and the re-match condition at the fourth time 712, at block 616, the server computer 102 prepares the content for the selected context 802 via the VRCGM 118 and sends it to the VRID 112 for interactive rendering at the associated scheduled times 708, 710, 712, at block 416.
The table 800 also shows different relative amounts of time 806 that may be generally used when shopping in various contexts. For example, purchasing fruit that requires a maturity assessment is shown as involving 5 time units per session, while purchasing more alternative products (e.g., office supplies) is shown as requiring only 3 time units per session. This is used by the server computer 102 to determine the expected appropriate schedule during a trip across several locations or during several time periods, allowing the necessary amount of bandwidth to be available for contexts that typically require a large amount of time to schedule. This expected time to take for a given context may be considered one of the preference values used in the above-described manner in selecting from among the selection feasible contexts.
With respect to the flowchart and block diagrams, the flowchart and block diagrams in the figures of the present disclosure illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
Referring to FIG. 10, a system or computer environment 1000 includes a computer schematic 1010 illustrated in the form of a general purpose computing device. The method 100 may be implemented, for example, in a program 1060 comprising program instructions embodied on a computer-readable storage device or computer-readable storage medium (e.g., generally referred to as memory 1030, and more particularly as computer-readable storage medium 1050). Such memory and/or computer-readable storage media include non-volatile memory or non-volatile storage. For example, memory 1030 may include storage media 1034, such as RAM (random access memory) or ROM (read only memory), and cache 1038. The program 1060 may be executed by the processor 1020 of the computer system 1010 (to execute program steps, code, or program code). Additional data stores may also be embodied as a database 1110 that includes data 1114. Computer system 1010 and program 1060 are general representations of computers and programs that may be local to a user or provided as a remote service (e.g., as a cloud-based service), and in further examples may be provided using a website that is accessible using communications network 1200 (e.g., interacting with a network, the internet, or a cloud service). It should be understood that computer system 1010 also generally represents herein a computer device or a computer included in a device (such as a laptop or desktop computer, etc.), or one or more servers, either alone or as part of a data center. The computer system may include a network adapter/interface 1026 and input/output (I/O) interface(s) 1022. The I/O interface 1022 allows for input and output of data with external devices 1074 that can be connected to the computer system. A network adapter/interface 1026 may provide communication between the computer system and a network, shown generally as communication network 1200.
The computer 1010 may be described in the general context of computer system-executable instructions, such as program modules, being executed by a computer system. Generally, program modules may include routines, programs, objects, components, logic, data structures, etc. that perform particular tasks or implement particular abstract data types. The method steps and system components and techniques may be embodied in modules of the program 1060 for performing the tasks of each step of the method and system. These modules are generally represented in the figures as program modules 1064. The program 1060 and the program module 1064 may execute specific steps, routines, subroutines, instructions or code of the program.
The methods of the present disclosure may run locally on a device, such as a mobile device, or may run a service, for example, on a server 1100 that may be remote and accessible using the communications network 1200. The program or executable instructions may also be provided as a service by a provider. The computer 1010 may be practiced in distributed cloud computing environments where tasks are performed by remote processing devices that are linked through a communications network 1200. In a distributed cloud computing environment, program modules may be located in both local and remote computer system storage media including memory storage devices.
Computer 1010 may include a variety of computer readable media. Such media can be any available media that is accessible by computer 1010 (e.g., a computer system or server) and can include both volatile and nonvolatile media, and removable and non-removable media. Computer memory 1030 may include additional computer-readable media in the form of volatile memory, such as Random Access Memory (RAM)1034 and/or cache memory 1038. The computer 1010 may also include other removable/non-removable, volatile/nonvolatile computer storage media, in one example a portable computer readable storage medium 1072. In one embodiment, computer-readable storage media 1050 may be provided for reading from and writing to non-removable, nonvolatile magnetic media. The computer-readable storage medium 1050 may be embodied as, for example, a hard disk drive. Additional memory and data storage may be provided, for example, as a storage system 1110 (e.g., a database) for storing data 1114 and communicating with the processing unit 1020. The database may be stored on or part of the server 1100. Although not shown, a magnetic disk drive for reading from and writing to a removable, nonvolatile magnetic disk (e.g., a "floppy disk") and an optical disk drive for reading from or writing to a removable, nonvolatile optical disk such as a CD-ROM, DVD-ROM, or other optical media may be provided. In such instances, each can be connected to the bus 1014 by one or more data media interfaces. As will be further depicted and described below, memory 1030 may include at least one program product that may include one or more program modules configured to carry out the functions of embodiments of the invention.
For example, the method(s) described in this disclosure may be embodied in one or more computer programs (generally referred to as program 1060) and may be stored in memory 1030 in computer-readable storage medium 1050. The program 1060 may include a program module 1064. Program modules 1064 may generally perform the functions and/or methods of embodiments of the present invention as described herein. One or more programs 1060 are stored in memory 1030 and executable by processing unit 1020. By way of example, memory 1030 may store an operating system 1052, one or more application programs 1054, other program modules, and program data on the computer-readable storage media 1050. It is to be appreciated that the program 1060, the operating system 1052, and the application program(s) 1054 stored on the computer-readable storage medium 1050 can be similarly executed by the processing unit 1020. It is also to be understood that the application 1054 and the program(s) 1060 are shown generically and can include all or part of one or more applications and programs discussed in this disclosure, or vice versa, i.e., the application 1054 and the program 1060 can be all or part of one or more applications or programs discussed in this disclosure. It should also be understood that the control system 70 (shown in FIG. 10) may include all or part of the computer system 1010 and its components, and/or the control system may communicate with all or part of the computer system 1010 and its components as a remote computer system to implement the control system functions described in this disclosure. It should also be understood that one or more of the communication devices 110 shown in fig. 1 may similarly include all or part of computer system 1010 and its components, and/or that a communication device may communicate with all or part of computer system 1010 and its components as a remote computer system to implement the computer functionality described in this disclosure.
The one or more programs may be stored in one or more computer-readable storage media, such that the programs are embodied and/or encoded in the computer-readable storage media. In one example, the stored program may include program instructions for execution by a processor or a computer system having a processor to perform a method or cause a computer system to perform one or more functions.
The computer 1010 may also communicate with one or more external devices 1074 (such as a keyboard, pointing device, display 1080, etc.); one or more devices that enable a user to interact with the computer 1010; and/or any device (e.g., network card, modem, etc.) that enables computer 1010 to communicate with one or more other computing devices. Such communication may occur via input/output (I/O) interfaces 1022. The computer 1010 may also communicate with one or more networks 1200, such as a Local Area Network (LAN), a general Wide Area Network (WAN), and/or a public network (e.g., the internet), via a network adapter/interface 1026. As shown, the network adapter 1026 communicates with the other components of the computer 1010 via the bus 1014. It should be appreciated that although not shown, other hardware and/or software components may be used in conjunction with the computer 1010. Examples include, but are not limited to: microcode, device drivers 1024, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archive storage systems, among others.
It should be appreciated that the computer or programs running on the computer 1010 may communicate with the server (embodied as server 1100) via one or more communication networks (embodied as communication network 1200). The communications network 1200 may include transmission media and network links (including, for example, wireless, wireline, or optical fiber), as well as routers, firewalls, switches, and gateway computers. The communication network may include connections, such as wire, wireless communication links, or fiber optic cables. The communication network may represent a worldwide collection of networks and gateways (e.g., the internet) that use various protocols to communicate with one another, such as the Lightweight Directory Access Protocol (LDAP), the transmission control protocol/internet protocol (TCP/IP), the hypertext transfer protocol (HTTP), the Wireless Application Protocol (WAP), and so forth. The network may also include many different types of networks, such as an intranet, a Local Area Network (LAN), or a Wide Area Network (WAN).
In one example, the computer may use a network that may use the internet to access websites on the web (world wide web). In one embodiment, the computer 1010, which includes a mobile device, may use a communication system or network 1200, which may include the Internet or a Public Switched Telephone Network (PSTN), such as a cellular network. The PSTN may include telephone lines, fiber optic cables, transmission links, cellular networks, and communications satellites. The internet may facilitate many search and text messaging technologies, for example, using a cellular phone or laptop computer to send queries to a search engine via text messaging (SMS), Multimedia Messaging Service (MMS) (related to SMS), email, or web browser. The search engine may retrieve the search results, i.e., links to websites, documents, or other downloadable data corresponding to the query, and similarly provide the search results to the user via the device as, for example, web pages of the search results.
The present invention may be a system, method, and/or computer program product with any possible level of technical detail integration. The computer program product may include computer-readable storage medium(s) having thereon computer-readable program instructions for causing a processor to perform various aspects of the present invention.
The computer readable storage medium may be a tangible device that can hold and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic memory device, a magnetic memory device, an optical memory device, an electromagnetic memory device, a semiconductor memory device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer-readable storage medium includes the following: a portable computer diskette, a hard disk, a Random Access Memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), a Static Random Access Memory (SRAM), a portable compact disc read-only memory (CD-ROM), a Digital Versatile Disc (DVD), a memory stick, a floppy disk, a mechanical coding device such as a raised structure in a punch card or groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer-readable storage medium as used herein should not be construed as a transitory signal per se, such as a radio wave or other freely propagating electromagnetic wave, an electromagnetic wave propagating through a waveguide or other transmission medium (e.g., optical pulses through a fiber optic cable), or an electrical signal transmitted through a wire.
The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to a corresponding computing/processing device, or to an external computer or external storage device via a network (e.g., the internet, a local area network, a wide area network, and/or a wireless network). The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers and/or edge servers. The network adapter card or network interface in each computing/processing device receives computer-readable program instructions from the network and forwards the computer-readable program instructions for storage in a computer-readable storage medium within the respective computing/processing device.
Computer-readable program instructions for carrying out operations of the present invention may be assembly instructions, Instruction Set Architecture (ISA) instructions, machine-related instructions, microcode, firmware instructions, state setting data, configuration data for an integrated circuit, or source or object code written in any combination of one or more programming languages, including an object oriented programming language such as Smalltalk, C + + or the like and a procedural programming language such as the "C" programming language or a similar programming language. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a Local Area Network (LAN) or a Wide Area Network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet service provider). In some embodiments, an electronic circuit comprising, for example, a programmable logic circuit, a Field Programmable Gate Array (FPGA), or a Programmable Logic Array (PLA), can personalize the electronic circuit by executing computer-readable program instructions with state information of the computer-readable program instructions in order to perform aspects of the present invention.
Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems) and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer-readable program instructions.
These computer-readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer-readable program instructions may also be stored in a computer-readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer-readable storage medium having stored therein the instructions which implement the aspects of the function/act specified in the flowchart and/or block diagram block or blocks.
The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other devices to cause a series of operational steps to be performed on the computer, other programmable apparatus or other devices to produce a computer implemented process such that the instructions which execute on the computer, other programmable apparatus or other devices implement the functions/acts specified in the flowchart and/or block diagram block or blocks.
The flowchart and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, with some or all of the blocks being executed temporally overlapping, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems which perform the specified functions or acts, or combinations of special purpose hardware and computer instructions.
It should be understood that although this disclosure includes detailed descriptions regarding cloud computing, implementation of the teachings recited herein is not limited to a cloud computing environment. Rather, embodiments of the invention can be implemented in connection with any other type of computing environment, whether now known or later developed.
Cloud computing is a service delivery model for enabling convenient, on-demand network access to a shared pool of configurable computing resources (e.g., networks, network bandwidth, servers, processing, memory, storage, applications, VMs, and services) that can be provisioned and released quickly with minimal administrative cost or interaction with the service provider. Such a cloud model may include at least five characteristics, at least three service models, and at least four deployment models.
The characteristics are as follows:
self-service on demand: consumers of the cloud may unilaterally automatically provide computing capabilities (such as server time and network storage) on demand without manual interaction with the service provider.
Wide network access: capabilities are available on the network and accessed through standard mechanisms that facilitate the use of heterogeneous thin or thick client platforms (e.g., mobile phones, laptops, and PDAs).
Resource pool: the provider's computing resources are relegated to a resource pool to serve multiple consumers using a multi-tenant model, where different physical and virtual resources are dynamically allocated and reallocated according to demand. Typically, the customer has no control or knowledge of the exact location of the resources provided, but can specify locations at a higher level of abstraction (e.g., country, state, or data center), and thus has location independence.
Quick elasticity: the ability to expand outward quickly and resiliently (in some cases automatically) can be provided quickly and released quickly to contract quickly. To the consumer, the capabilities available for offering generally appear to be unlimited and may be purchased in any number at any time.
Measurable service: cloud systems automatically control and optimize resource usage by leveraging metering capabilities at some level of abstraction appropriate to the type of service (e.g., storage, processing, bandwidth, and active user accounts). Resource usage can be monitored, controlled, and reported, providing transparency to both the provider and consumer of the utilized service.
The service model is as follows:
software as a service (SaaS): the capability provided to the consumer is to use the provider's applications running on the cloud infrastructure. Applications may be accessed from various client devices through a thin client interface (e.g., web-based email) such as a web browser. In addition to limited user-specific application configuration settings, consumers do not manage nor control the underlying cloud infrastructure including network, server, operating system, storage, or even individual application capabilities, among others.
Platform as a service (PaaS): the capability provided to the consumer is to deploy on the cloud infrastructure consumer-created or obtained applications created using programming languages and tools supported by the provider. The consumer does not manage or control the underlying cloud infrastructure, including networks, servers, operating systems, or storage, but has control over the applications that are deployed, and possibly also the application hosting environment configuration.
Infrastructure as a service (IaaS): the capability provided to the consumer is to provide the processing, storage, network, and other underlying computing resources in which the consumer can deploy and run any software, including operating systems and applications. The consumer does not manage nor control the underlying cloud infrastructure, but has control over the operating system, storage, deployed applications, and possibly limited control over selected network components (e.g., host firewalls).
The deployment model is as follows:
private cloud: the cloud infrastructure operates solely for an organization. It may be administered by the organization or a third party and may exist either inside or outside the organization.
Community cloud: the cloud infrastructure is shared by several organizations and supports specific communities with common interest relationships (e.g., tasks, security requirements, policy and compliance considerations). It may be administered by the organization or a third party and may exist either inside or outside the organization.
Public cloud: the cloud infrastructure may be available to the general public or large industry groups and owned by organizations selling cloud services.
Mixing cloud: the cloud infrastructure consists of two or more clouds (private, community, or public) that remain unique entities but are bound together by standardized or proprietary technologies that enable data and application portability (e.g., cloud bursting for load balancing between clouds).
Cloud computing environments are service-oriented with features focused on stateless, low-coupling, modularity, and semantic interoperability. At the heart of computing is an infrastructure comprising a network of interconnected nodes.
Referring now to fig. 11, an illustrative cloud computing environment 2050 is depicted. As shown, cloud computing environment 2050 includes one or more cloud computing nodes 2010 to which local computing devices used by cloud consumers, such as Personal Digital Assistants (PDAs) or cellular telephones 2054A, desktop computers 2054B, laptop computers 2054C, and/or automobile computer systems 2054N may communicate. The nodes 2010 may communicate with each other. They may be physically or virtually grouped (not shown) in one or more networks, such as a private cloud, community cloud, public cloud, or hybrid cloud as described above, or a combination thereof. This allows the cloud computing environment 50 to provide infrastructure as a service, platform as a service, and/or software as a service without the cloud consumer needing to maintain resources for it on the local computing device. It should be appreciated that the various computing devices 2054A-N illustrated in fig. 11 are merely illustrative and that the computing nodes 2010 and the cloud computing environment 2050 can communicate with any type of computing device over any type of network and/or network addressable connection (e.g., using a web browser).
Referring now to fig. 12, a set of functional abstraction layers provided by cloud computing environment 2050 (fig. 11) is illustrated. It should be understood in advance that the components, layers, and functions shown in fig. 12 are merely illustrative and embodiments of the present invention are not limited thereto. As shown, the following layers and corresponding functions are provided:
the hardware and software layer 2060 includes hardware and software components. Examples of hardware components include: mainframe 2061; a RISC (reduced instruction set computer) architecture-based server 2062; a server 2063; a blade server 2064; a storage device 2065; and a network and networking component 2066. In some embodiments, the software components include web application server software 2067 and database software 2068.
Virtualization layer 2070 provides an abstraction layer from which the following examples of virtual entities may be provided: a virtual server 2071; virtual memory 2072; a virtual network 2073 comprising a virtual private network; virtual applications and operating system 2074; and virtual client 2075.
In one example, the management layer 2080 may provide the functions described below. The resource provisioning function 2081 provides for dynamic acquisition of computing resources and other resources for performing tasks in a cloud computing environment. The metering and pricing function 2082 provides cost tracking for the use of resources within the cloud computing environment and provides bills or invoices for the consumption of these resources. In one example, these resources may include application software licenses. The security functions provide authentication for cloud consumers and tasks, and protection for data and other resources. User portal function 2083 provides consumers and system administrators access to the cloud computing environment. The service level management function 2084 provides for the allocation and management of cloud computing resources to meet a desired level of service. Service Level Agreement (SLA) planning and fulfillment function 2085 provides for pre-arrangement and procurement of cloud computing resources for which future demands are predicted according to SLAs.
Workload layer 2090 provides an example of the functionality that may utilize a cloud computing environment. In this layer, examples of workloads and functions that may be provided include: mapping and navigation 2091; software development and lifecycle management 2092; virtual classroom education offers 2093; data analysis process 2094; transaction processing 2095; and predictively selecting virtual reality content 2096 that proactively adapts to the upcoming available bandwidth conditions.
The description of various embodiments of the present invention has been presented for purposes of illustration but is not intended to be exhaustive or limited to the disclosed embodiments. Likewise, the examples of features or functions of the embodiments of the present disclosure described herein are not intended to limit the embodiments of the present disclosure described herein, or to limit the present disclosure to the examples described herein, whether used in the description of the particular embodiments or listed as examples. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the described embodiments. The terminology used herein is chosen to best explain the principles of the embodiments, the practical application, or improvements to the technology found in the marketplace, or to enable others of ordinary skill in the art to understand the embodiments disclosed herein.

Claims (21)

1. A computer-implemented method of proactively selecting Virtual Reality (VR) content, comprising:
receiving, by the computer, location metadata from a VR interaction device, the location metadata including a reference location;
receiving, by the computer, bandwidth metadata for the reference location, the bandwidth metadata including available bandwidth values indexed to a time scale;
receiving, by the computer, VR content requirement information including available bandwidth thresholds for a plurality of VR content contexts to achieve acceptable performance;
receiving, by the computer at a reference time, a request for VR content delivery at a second time, the second time later in chronological order than the reference time; and
selecting, by the computer, a VR content context before the second time occurs, the VR content context having an available bandwidth threshold for acceptable performance that is lower than an available bandwidth value corresponding to the second time on the timescale.
2. The method of claim 1, wherein the selecting is based at least in part on a preference value associated with the VR content context, the preference value selected from a list comprising: specific user request, commercial value, popularity, last visit of the VR interaction device.
3. The method of claim 1, wherein,
the location metadata indicates that the VR interaction device is to be at a second location at the second time;
receiving, by the computer, bandwidth metadata for the second location comprising at least one available bandwidth value; and
the selection of the VR content context is made based at least in part on the at least one available bandwidth value of the second location.
4. The method of claim 3, wherein the location metadata comprises information selected from a list comprising a rate of movement, a direction of movement, and a speed of movement.
5. The method of claim 3, wherein,
the location metadata indicates that the VR interaction device is to be at a third location at a third time;
receiving, by the computer, bandwidth metadata for the third location comprising available bandwidth values indexed to the timescale;
determining, by the computer, a mismatch condition before the third time occurs in which the selected VR content context has an available bandwidth threshold for acceptable performance that is higher than an available bandwidth value at the third location at the third time; and
in response to determining the mismatch condition, a corrective action is taken by the computer before the third time occurs.
6. The method of claim 5, wherein the corrective action is selected from a list comprising:
selecting a second VR content context having an available bandwidth threshold for acceptable performance that is lower than an available bandwidth value at the third location at the third time;
suggesting, by the computer, to a user of the VR interaction device, that the third location is reached at least partially at the selected fourth time such that an available bandwidth threshold for acceptable performance for the selected VR content context is below an available bandwidth at the third location at the fourth time; and
directing, by the computer, an autonomous positioning mechanism for the VR interaction device to reach the third location at least partially at the selected fourth time such that an available bandwidth threshold for acceptable performance for the selected VR content context is lower than an available bandwidth at the third location at the fourth time.
7. The method of claim 1, wherein,
the location metadata indicates that the VR interaction device is to be at a second location at the second time and is to be at a third location at a third time;
receiving, by the computer, bandwidth metadata for the second location that includes available bandwidth values indexed to the timescale;
wherein the selection of the VR content context is made by the computer at least in part according to an available bandwidth value for the second location at the second time on the timescale;
receiving, by the computer, bandwidth metadata for the third location comprising available bandwidth values indexed to the timescale;
selecting, by the computer, a second VR content context having an available bandwidth threshold for acceptable performance that is lower than an available bandwidth value at the third location before the third time occurs; and
wherein the selection of the second VR content context is made by the computer at least in part according to an available bandwidth value for the third location at the third time on the timescale.
8. The method of claim 7, wherein the second VR content context is selected by the computer at least in part in consideration of a preference value associated with the VR content context, the preference value selected from a list comprising: specific user request, commercial value, popularity, last visit of the VR interaction device.
9. The method of claim 1, wherein,
the location metadata indicates that the VR interaction device is to be at the reference location at a third time and a fourth time;
determining, by the computer, a mismatch condition before the third time occurs in which the selected VR content context has an available bandwidth threshold for acceptable performance that is higher than an available bandwidth value at the reference location at the third time;
determining, by the computer, a re-match condition before the third time occurs in which the selected VR content context has an available bandwidth threshold for acceptable performance that is lower than an available bandwidth value at the reference location at the fourth time; and
in response to determining the mismatch condition and the re-match condition, switch to an alternative VR content context having an available bandwidth threshold for acceptable performance below an available bandwidth value at the reference location at the third time between the third time occurring until the fourth time occurring.
10. The method of claim 9, wherein,
the alternate VR content context includes sponsorship information; and
the computer switches back to the originally selected VR content context at the fourth time.
11. A system for proactively selecting Virtual Reality (VR) content, comprising:
a computer system comprising a computer readable storage medium embodying program instructions executable by a computer to cause the computer to:
receiving location metadata from a VR interaction device, the location metadata including a reference location;
receiving bandwidth metadata for the reference location, the bandwidth metadata including available bandwidth values indexed to a time scale;
receiving VR content requirement information including available bandwidth thresholds for a plurality of VR content contexts to achieve acceptable performance;
receiving, at a reference time, a request for VR content delivery at a second time, the second time later in chronological order than the reference time; and
selecting a VR content context having an available bandwidth threshold for acceptable performance below an available bandwidth value corresponding to the second time on the timescale before the second time occurs.
12. The system of claim 11, wherein,
the location metadata indicates that the VR interaction device is to be at a second location at the second time;
the instructions further cause the computer to receive bandwidth metadata for the second location comprising at least one available bandwidth value; and
the selection of the VR content context is made based at least in part on the at least one available bandwidth value of the second location.
13. The system of claim 12, wherein,
the location metadata indicates that the VR interaction device is to be at a third location at a third time;
the instructions further cause the computer to receive bandwidth metadata for the third location that includes the available bandwidth value indexed to the timescale;
determining, prior to occurrence of the third time, a mismatch condition in which the selected VR content context has an available bandwidth threshold for acceptable performance that is higher than an available bandwidth value at the third location at the third time; and
in response to determining the mismatch condition, taking a corrective action before the third time occurs.
14. The system of claim 13, wherein the corrective action is selected from a list comprising:
causing the computer to select a second VR content context having an available bandwidth threshold for acceptable performance that is lower than an available bandwidth value at the third location at the third time;
causing the computer to suggest to a user of the VR interaction device that the third location is reached at least partially at the selected fourth time such that an available bandwidth threshold for acceptable performance for the selected VR content context is below an available bandwidth at the third location at the fourth time; and
causing the computer to direct an autonomous positioning mechanism for the VR interaction device to reach the third location at least partially at the selected fourth time such that an available bandwidth threshold for acceptable performance for the selected VR content context is below an available bandwidth at the third location at the fourth time.
15. The system of claim 11, wherein,
the location metadata indicates that the VR interaction device is to be at a second location at the second time and is to be at a third location at a third time;
the instructions further cause the computer to receive bandwidth metadata for the second location that includes the available bandwidth value indexed to the timescale;
wherein the selection of the VR content context is made at least in part as a function of available bandwidth values for the second location at the second time on the timescale;
receiving bandwidth metadata for the third location that includes available bandwidth values indexed to the timescale;
selecting a second VR content context having an available bandwidth threshold for acceptable performance that is lower than an available bandwidth value at the third location before the third time occurs; and
wherein the selection of the second VR content environment is made by the computer at least in part according to an available bandwidth value for the third location at the third time on the timescale.
16. The system of claim 11, wherein,
the location metadata indicates that the VR interaction device is to be at the reference location at a third time and a fourth time;
the instructions further cause the computer to determine, prior to occurrence of the third time, a mismatch condition in which the selected VR content context has an available bandwidth threshold for acceptable performance that is higher than an available bandwidth value at the reference location at the third time;
determining a re-match condition before the third time occurs in which the selected VR content context has an available bandwidth threshold for acceptable performance that is lower than an available bandwidth value at the reference location at the fourth time; and
in response to determining the mismatch condition and the re-match condition, switch to an alternative VR content context having an available bandwidth threshold for acceptable performance below an available bandwidth value at the reference location at the third time between the third time occurring until the fourth time occurring.
17. A computer program product for proactively selecting virtual reality, VR, content, the computer program product comprising a computer-readable storage medium embodying program instructions executable by a computer to cause the computer to:
receiving, using the computer, location metadata from a VR interaction device, the location metadata including a reference location;
receiving, using the computer, bandwidth metadata for the reference location, the bandwidth metadata including available bandwidth values indexed to a time scale;
receiving, using the computer, VR content requirement information including available bandwidth thresholds for a plurality of VR content contexts to achieve acceptable performance;
receiving, at a reference time, a request for VR content delivery at a second time, the second time later in chronological order than the reference time; and
selecting, using the computer, a VR content context having an available bandwidth threshold for acceptable performance below an available bandwidth value corresponding to the second time on the timescale before the second time occurs.
18. The computer program product of claim 17,
the location metadata indicates that the VR interaction device is to be at a second location at the second time;
the instructions further cause the computer to receive bandwidth metadata for the second location comprising at least one available bandwidth value; and
the selection of the VR content context is made based at least in part on the at least one available bandwidth value of the second location.
19. The computer program product of claim 17,
the location metadata indicates that the VR interaction device is to be at a second location at the second time and is to be at a third location at a third time;
the instructions further cause the computer to receive bandwidth metadata for the second location that includes the available bandwidth value indexed to the timescale;
wherein the selection of the VR content context is made at least in part as a function of available bandwidth values for the second location at the second time on the timescale;
receiving, using the computer, bandwidth metadata for the third location that includes available bandwidth values indexed to the timescale;
selecting, using the computer, a second VR content context having an available bandwidth threshold for acceptable performance that is lower than an available bandwidth value at the third location before the third time occurs; and
wherein the selection of the second VR content environment is made by the computer at least in part according to an available bandwidth value for the third location at the third time on the timescale.
20. The computer program product of claim 17,
the location metadata indicates that the VR interaction device is to be at the reference location at a third time and a fourth time;
the instructions further cause the computer to determine, prior to occurrence of the third time, a mismatch condition in which the selected VR content context has an available bandwidth threshold for acceptable performance that is higher than an available bandwidth value at the reference location at the third time;
determining a re-match condition before the third time occurs in which the selected VR content context has an available bandwidth threshold for acceptable performance that is lower than an available bandwidth value at the reference location at the fourth time; and
in response to determining the mismatch condition and the re-match condition, switch to an alternative VR content context having an available bandwidth threshold for acceptable performance below an available bandwidth value at the reference location at the third time between the third time occurring until the fourth time occurring.
21. A computer system comprising means for performing the steps of the method according to any one of claims 1 to 10, respectively.
CN202111120382.8A 2020-09-29 2021-09-24 Actively selecting virtual reality content context Withdrawn CN114356070A (en)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
CN114356070A true CN114356070A (en) 2022-04-15

Family

ID=80624734

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111120382.8A Withdrawn CN114356070A (en) 2020-09-29 2021-09-24 Actively selecting virtual reality content context

Country Status (5)

Country Link
US (1) US20220103655A1 (en)
JP (1) JP2022056380A (en)
CN (1) CN114356070A (en)
DE (1) DE102021124620A1 (en)
GB (1) GB2600815B (en)

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

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101953115A (en) * 2007-10-24 2011-01-19 社会传播公司 Automation real time data stream exchange in shared virtual area field communication environment
US20140200038A1 (en) * 2013-01-16 2014-07-17 Apple Inc. Location Assisted Service Capability Monitoring
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
WO2016123497A1 (en) * 2015-01-29 2016-08-04 Vid Scale, Inc. Bandwidth prediction and prefetching for enhancing the qoe of applications over wireless networks
US20160248704A1 (en) * 2015-02-25 2016-08-25 At&T Intellectual Property I, Lp Predictive cached buffer for communication devices
GB201621407D0 (en) * 2016-12-16 2017-02-01 Nokia Technologies Oy Video streaming
CN106416239A (en) * 2014-05-29 2017-02-15 奈克斯特Vr股份有限公司 Methods and apparatus for delivering content and/or playing back content
US20180091577A1 (en) * 2015-04-22 2018-03-29 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving image data for virtual-reality streaming service
CN109155873A (en) * 2016-05-23 2019-01-04 佳能株式会社 That improves virtual reality media content spreads defeated method, apparatus and computer program
US20190068473A1 (en) * 2017-08-25 2019-02-28 Advanced Micro Devices, Inc. Adaptive Beam Assessment to Predict Available Link Bandwidth
US20190222491A1 (en) * 2016-11-10 2019-07-18 Ciena Corporation Adaptive systems and methods enhancing service Quality of Experience
CN110870321A (en) * 2017-07-14 2020-03-06 高通股份有限公司 Region-by-region packaging, content coverage, and signaling frame packaging for media content
WO2020142424A1 (en) * 2018-12-30 2020-07-09 Sling Media Pvt Ltd Improved delivery of digital video content based upon geographic location

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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
US20180007422A1 (en) * 2016-06-30 2018-01-04 Sony Interactive Entertainment Inc. Apparatus and method for providing and displaying content
US10306180B2 (en) * 2016-10-21 2019-05-28 Liquidsky Software, Inc. Predictive virtual reality content streaming techniques
US10805620B2 (en) * 2017-01-11 2020-10-13 Mediatek Inc. Method and apparatus for deriving composite tracks
US20210099743A1 (en) * 2019-09-27 2021-04-01 Lenovo (Singapore) Pte. Ltd. Presenting content based on network bandwidth

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101953115A (en) * 2007-10-24 2011-01-19 社会传播公司 Automation real time data stream exchange in shared virtual area field 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
US20140200038A1 (en) * 2013-01-16 2014-07-17 Apple Inc. Location Assisted Service Capability Monitoring
CN106416239A (en) * 2014-05-29 2017-02-15 奈克斯特Vr股份有限公司 Methods and apparatus for delivering content and/or playing back content
WO2016123497A1 (en) * 2015-01-29 2016-08-04 Vid Scale, Inc. Bandwidth prediction and prefetching for enhancing the qoe of applications over wireless networks
US20160248704A1 (en) * 2015-02-25 2016-08-25 At&T Intellectual Property I, Lp Predictive cached buffer for communication devices
US20180091577A1 (en) * 2015-04-22 2018-03-29 Samsung Electronics Co., Ltd. Method and apparatus for transmitting and receiving image data for virtual-reality streaming service
CN109155873A (en) * 2016-05-23 2019-01-04 佳能株式会社 That improves virtual reality media content spreads defeated method, apparatus and computer program
US20190222491A1 (en) * 2016-11-10 2019-07-18 Ciena Corporation Adaptive systems and methods enhancing service Quality of Experience
GB201621407D0 (en) * 2016-12-16 2017-02-01 Nokia Technologies Oy Video streaming
CN110870321A (en) * 2017-07-14 2020-03-06 高通股份有限公司 Region-by-region packaging, content coverage, and signaling frame packaging for media content
US20190068473A1 (en) * 2017-08-25 2019-02-28 Advanced Micro Devices, Inc. Adaptive Beam Assessment to Predict Available Link Bandwidth
WO2020142424A1 (en) * 2018-12-30 2020-07-09 Sling Media Pvt Ltd Improved delivery of digital video content based upon geographic location

Also Published As

Publication number Publication date
GB2600815A (en) 2022-05-11
US20220103655A1 (en) 2022-03-31
JP2022056380A (en) 2022-04-08
DE102021124620A1 (en) 2022-03-31
GB2600815B (en) 2022-12-21
GB2600815A9 (en) 2022-10-05

Similar Documents

Publication Publication Date Title
US10275235B2 (en) Adaptable management of web application state in a micro-service architecture
US10761952B2 (en) Intelligent failover migration across multiple high availability stacks based on quality of prior failover migrations
US20200174914A1 (en) System, method and recording medium for generating mobile test sequences
US20230009930A1 (en) Continuous Liveness and Integrity of Applications During Migration
US10963580B2 (en) Systems and methods for rule based dynamic selection of rendering browsers
US10082933B2 (en) Context sensitive active fields in user interface
US11321762B2 (en) Automated hybrid propensity decision vector generation using artificial intelligence
CN114356070A (en) Actively selecting virtual reality content context
US20170010927A1 (en) Generating storage plans in storage management systems
US11093566B2 (en) Router based query results
US20230138727A1 (en) Carbon footprint-based control of cloud resource consumption
US11205294B1 (en) Computer-implemented optimization of animation speed and spatial aspects of visualized temporal data
US10223463B2 (en) Node controllers for hierarchical data structures
US20220358570A1 (en) Displaying real-time purchase decision criteria in a virtual reality environment
US20220300984A1 (en) Providing virtual support to an end-user based on experience
US10417055B2 (en) Runtime movement of microprocess components
US11645253B1 (en) Managing a new version of an integration flow during a rolling update
US11205042B2 (en) System and method to transform content and to generate a visual indicator of that transformation
US11880668B2 (en) Dynamically altering a code execution workflow during development using augmented reality
US11558337B1 (en) Activity-based message management
CN113206819B (en) Method and device for sending signaling based on multi-level session descriptor
US20230359973A1 (en) Ad-hoc application development
US11388219B2 (en) Interactive data transfer
US20230251933A1 (en) Predicting recovery point objective drifts
US20230135794A1 (en) Synchronizing item recommendations across applications using machine learning

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
WW01 Invention patent application withdrawn after publication

Application publication date: 20220415

WW01 Invention patent application withdrawn after publication