WO2023131626A1 - Method and apparatus for managing digital assets and non-fungible tokens - Google Patents

Method and apparatus for managing digital assets and non-fungible tokens Download PDF

Info

Publication number
WO2023131626A1
WO2023131626A1 PCT/EP2023/050128 EP2023050128W WO2023131626A1 WO 2023131626 A1 WO2023131626 A1 WO 2023131626A1 EP 2023050128 W EP2023050128 W EP 2023050128W WO 2023131626 A1 WO2023131626 A1 WO 2023131626A1
Authority
WO
WIPO (PCT)
Prior art keywords
gaming
item
data
player
video game
Prior art date
Application number
PCT/EP2023/050128
Other languages
French (fr)
Inventor
Joris HUIJBREGTS
Tom YAXLEY
Original Assignee
Bright Star Studios Aps
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 Bright Star Studios Aps filed Critical Bright Star Studios Aps
Publication of WO2023131626A1 publication Critical patent/WO2023131626A1/en

Links

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/73Authorising game programs or game devices, e.g. checking authenticity
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/04Payment circuits
    • G06Q20/06Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
    • G06Q20/065Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
    • G06Q20/0655Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash e-cash managed centrally
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/08Payment architectures
    • G06Q20/12Payment architectures specially adapted for electronic shopping systems
    • G06Q20/123Shopping for digital content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/389Keeping log of transactions for guaranteeing non-repudiation of a transaction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0207Discounts or incentives, e.g. coupons or rebates
    • G06Q30/0209Incentive being awarded or redeemed in connection with the playing of a video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q2220/00Business processing using cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/80Wireless

Definitions

  • the subject disclosure relates to managing digital assets and non -fungible tokens.
  • FIG. 1 is a block diagram illustrating an exemplary, non-limiting embodiment of a communication system in accordance with various aspects described herein.
  • FIG. 2A is a block diagram illustrating an example, non-limiting embodiment of a system functioning within the communication system of FIG. 1 in accordance with various aspects described herein.
  • FIG. 2B depicts an illustrative embodiment of a method in accordance with various aspects described herein.
  • FIG. 2C depicts an illustrative embodiment of a user interface in accordance with various aspects described herein.
  • FIG. 2D depicts an illustrative embodiment of a user interface in accordance with various aspects described herein.
  • FIG. 3A depicts an illustrative embodiment of a method in accordance with various aspects described herein.
  • FIG. 3B depicts an illustrative embodiment of a method in accordance with various aspects described herein.
  • FIG. 3C depicts an illustrative embodiment of a process and sector map in accordance with various aspects described herein.
  • FIG. 3D depicts an illustrative embodiment of a method in accordance with various aspects described herein.
  • FIG. 3E depicts an illustrative embodiment of a method in accordance with various aspects described herein.
  • FIG. 4 is a block diagram of an example, non-limiting embodiment of a computing environment in accordance with various aspects described herein.
  • FIG. 5 is a block diagram of an example, non-limiting embodiment of a communication device in accordance with various aspects described herein.
  • an NFT can be data stored on a digital ledger that certifies or authenticates a digital asset as unique as compared to a fungible asset, such as cryptocurrency that is interchangeable with another identical item.
  • the NFT digital assets can be various types including items or objects associated with one or more video games, such as gaming skins, outfits, weapons, jewelry, pets, furnishings, housing, land, vehicles, non-player character assistants or other items and objects that can be presented (visually and/or audibly) in the video game(s) such as in association with or in connection to a particular player.
  • the NFT digital assets can be various unique actions associated with a particular player, such as movements, dancing, speech, singing, or other visual and/or audible actions that can be presented in the video game(s).
  • the NFT digital assets can be a particular appearance(s) associated with a particular player in one or more video games.
  • video games can include virtual worlds or other virtual environments where digital items and objects exist.
  • the video games can be browser-based or can be other types of online video games.
  • the video games can be multi-player games or single player games which may or may not be browser-based.
  • the NFT digital assets can be associated with browserbased video games and/or with non-browser-based video games.
  • the NFT digital assets are gaming items that are given away for free through end game objectives.
  • the NFT digital assets can be cosmetic or aesthetic in nature and do not provide any in-game competitive advantages to the player over other non-NFT in-game items.
  • the NFT digital assets have the same in-game characteristics (other than appearance) as non-NFT items, such as an NFT sword providing the player with the same abilities (power, speed, damage, defense, etc.) as a non-NFT sword (e.g., standard in-game sword) but appearing differently in the video game.
  • the NFT digital asset cannot be lost or unintentionally dispossessed from the owner or player and/or cannot deteriorate.
  • the NFT digital asset may be improved and/or adjusted.
  • the NFT digital asset may not be improved and/or adjusted.
  • acquisition of the NFT digital asset may be by way of one or more of being: found in the video game, made in the video game, bought via an exchange, leased via an exchange, bought in the game, and/or leased in the game.
  • a gaming platform or other entity that is originating the NFT digital asset can limit ways in which it is acquired including specifically prohibiting one or some of: being found in the video game, being made in the video game, being bought via an exchange, being leased via an exchange, being bought in the game, or being leased in the game.
  • the NFT digital assets are minted, created, or otherwise generated through use of distributed ledger technology (e.g., blockchain).
  • distributed ledger technology e.g., blockchain
  • the NFT digital assets can be created using smart contract protocols on a suitable blockchain, such as the Ethereum blockchain, although other types of distributed ledgers and blockchains can also be utilized.
  • the NFT digital assets are stored (e.g., blockchain-based storage) and tradeable or otherwise transferable which generates a transaction record on the corresponding blockchain. The transaction record allows for authentication and verification of the NFT transaction.
  • the NFT digital asset can include metadata making it non-fungible and can further include or otherwise be associated with historical data for in-game activity for the NFT digital asset, such as acquisition information showing how the NFT digital asset was acquired (e.g., an acquisition clip capturing the portion of the video game when the NFT digital asset was obtained), information regarding prior owners, and so forth.
  • acquisition information showing how the NFT digital asset was acquired (e.g., an acquisition clip capturing the portion of the video game when the NFT digital asset was obtained), information regarding prior owners, and so forth.
  • the historical data can be maintained over multiple transfers so that in- game activity occurring under different owners (e.g., different players) can be accessed.
  • the type of in-game activity that is maintained as historical data can vary, such as gaming clips and/or descriptive information each time a transfer has occurred, descriptive information and/or gaming clips for significant events in the game when the NFT digital asset was being presented, and/or a time line of historical events associated with the NFT digital asset (e.g., when found or made, when sold, and so forth).
  • gaming items that are NFT digital assets can be derived or created from other gaming items that are also NFT digital assets such as breeding of pets.
  • historical data including transaction and ownership data can be maintained for some or all of the gaming items in the lineage, such as keeping records of pets as in a family tree.
  • the transaction and ownership data can be maintained in blockchains.
  • an exchange can be provided that allows for trading of the NFT digital assets including buying/selling (which is recorded on the blockchain).
  • the exchange can present various information in a user interface that is associated with the NFT digital asset, such as some or all of the historical data for the NFT digital asset.
  • the exchange may allow an owner of the NFT digital asset to select the particular historical data that is presented including owner identification, age of NFT digital asset, timeline of historical events (e.g., when found, purchased, etc.), and/or number of this type of digital asset in a particular game (or in existence).
  • a browser-based game can be executed at an end user device according to video gaming data that is provided on demand.
  • the map of the video game can be broken down into sectors which are different gaming canvasses.
  • a prediction can be made as to a player entering an adjacent gaming canvass and that particular canvass or a portion thereof (e.g., objects and information associated therewith) can be downloaded to the browser (or commence downloading) before the player enters that particular adjacent gaming canvass.
  • the prediction can be based on various criteria including a directional vector of player movement, historical movement of the player or other players, locations of objects of interests, behavior patterns, quests being followed, or other tendencies of the player that can facilitate predicting where the player will go.
  • a machine learning model can be trained on one, some or all of these criteria (as well as other criteria described herein) to facilitate predicting the movement of the player and selecting the adjacent gaming canvass.
  • downloading of the video game data can be made more efficient through various prioritization and unloading schemes. For example, prioritizing downloading can be based on whether an object is static or dynamic, the type of object, the size or volume of the object, and/or the distance of the object to the player.
  • the unloading of the video gaming data can be made more efficient by implementing various schemes, such as a memory pressure calculation for the end user device, reference counting of resources associated with the static and dynamic objects, access times for the static and dynamic objects, and/or unloading policies assigned to a resource type.
  • various schemes such as a memory pressure calculation for the end user device, reference counting of resources associated with the static and dynamic objects, access times for the static and dynamic objects, and/or unloading policies assigned to a resource type.
  • One or more aspects of the subject disclosure include a method including providing, by a processing system including a processor, a user interface that includes item information for a gaming item, where the item information includes historical data for the gaming item, where the historical data includes transaction data for the gaming item, where the gaming item is a non-fungible token digital asset that is presented in a video game.
  • the method includes facilitating, by the processing system, a transfer of the non-fungible token digital asset from a previous owner to a present owner, where the transfer is recorded in a blockchain of the non-fungible token digital asset according to a consensus decision of multiple nodes associated with a distributed ledger platform, and where the transaction data is updated according to the transfer to the present owner.
  • One or more aspects of the subject disclosure include a device having a processing system including a processor; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations.
  • the operations include detecting a particular gaming event in a video game for a player associated with a gaming item that is a non-fungible token digital asset that is presented in the video game.
  • the operations include adding event metadata representative of the particular gaming event to a file that is linked to the non-fungible token digital asset.
  • the operations include providing the file to a content delivery network, where the file is accessible to facilitate providing a user interface that includes item information for the gaming item, where the item information includes historical data for the gaming item, where the historical data includes transaction data for the gaming item, and wherein the transaction data is maintained in a blockchain of the non-fungible token digital asset according to a consensus decision of multiple nodes associated with a distributed ledger platform.
  • One or more aspects of the subject disclosure include a non-transitory machine-readable medium, comprising executable instructions that, when executed by a processing system including a processor, facilitate performance of operations.
  • the operations include detecting a particular gaming event in a video game for a player associated with a gaming item that is a non-fungible token digital asset that is presented in the video game, where the gaming item is created from first and second gaming items in the video game.
  • the operations include adding event metadata representative of the particular gaming event to a file that is linked to the non-fungible token digital asset.
  • the operations include providing the file to a content delivery network, where the file is accessible to facilitate providing a user interface that includes item information for the gaming item, where the item information includes historical data for the gaming item, where the historical data includes transaction data for the gaming item, and wherein the transaction data is maintained in a blockchain of the non-fungible token digital asset according to a consensus decision of multiple nodes associated with a distributed ledger platform.
  • One or more aspects of the subject disclosure include a method including providing, by a processing system including a processor over a network to an end user device, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game, where each of the plurality of gaming canvasses is a sector of a map of the video game, where the first video gaming data facilitates playing of the video game in a browser of the end user device.
  • the method includes providing, by the processing system over the network to the end user device, at least a portion of second video gaming data associated with a second gaming canvass, where the second gaming canvass is selected from among the plurality of gaming canvasses according to a predicting of movement of the player, where the second gaming canvass is another sector of the map adjacent to the first gaming canvass, where the providing the at least a portion of the second video gaming data occurs prior to the player entering the second gaming canvass, and where the second video gaming data facilitates playing of the video game in the browser of the end user device.
  • One or more aspects of the subject disclosure include a non-transitory machine-readable medium, comprising executable instructions that, when executed by an end user device, facilitate performance of operations.
  • the operations include receiving, over a network from a server, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game, wherein each of the plurality of gaming canvasses is a sector of a map of the video game.
  • the operations include executing the video game in a browser of the end user device based at least in part on the first video gaming data.
  • the operations include receiving user input at a user interface of the end user device associated with controlling movement of a player in the first gaming canvass.
  • the operations include receiving, over the network from the server, at least a portion of second video gaming data associated with a second gaming canvass, wherein the receiving the at least a portion of the second video gaming data occurs prior to the player entering the second gaming canvass, where the second gaming canvass is selected from among the plurality of gaming canvasses according to a predicting of movement of the player, where the second gaming canvass is another sector of the map adjacent to the first gaming canvass.
  • the operations include continuing executing the video game in the browser of the end user device based at least in part on the second video gaming data.
  • One or more aspects of the subject disclosure include a device having a processing system including a processor; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations.
  • the operations include providing, over a network to an end user device, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game, where each of the plurality of gaming canvasses is a sector of a map of the video game, where the first video gaming data facilitates playing the video game in a browser of the end user device.
  • the operations include providing, over the network to the end user device, at least a portion of second video gaming data associated with a second gaming canvass, where the providing the at least a portion of the second video gaming data occurs prior to a player entering the second gaming canvass, where the second gaming canvass is selected from among the plurality of gaming canvasses according to a predicting of movement of the player, where the second gaming canvass is another sector of the map adjacent to the first gaming canvass, and where the second video gaming data facilitates playing of the video game in the browser of the end user device.
  • One or more aspects of the subject disclosure include a method including providing, by a processing system including a processor over a network to an end user device, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game without providing a remainder of video gaming data that is not associated with the first gaming canvass, wherein each of the plurality of gaming canvasses is a sector of a map of the video game, wherein the first video gaming data enables commencing playing the video game in a browser of the end user device.
  • the method includes providing, by the processing system over the network to the end user device, second video gaming data associated with a second gaming canvass that is another sector of the map adjacent to the first gaming canvass, where the providing the second video gaming data commences prior to a player entering the second gaming canvass, where the second video gaming data facilitates playing of the video game in the browser of the end user device.
  • the providing the second video gaming data comprises: prioritizing downloading of static objects according to Axis-Aligned Bounding Box (AABB) volume and distance to the player; and prioritizing downloading of dynamic objects according to type and distance to the player, where unloading of the video gaming data is according to a memory pressure calculation for the end user device, reference counting of resources associated with the static and dynamic objects, access times for the static and dynamic objects, and unloading policies assigned to a resource type.
  • AABB Axis-Aligned Bounding Box
  • One or more aspects of the subject disclosure include a non-transitory machine-readable medium, comprising executable instructions that, when executed by an end user device, facilitate performance of operations.
  • the operations include receiving, over a network, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game without receiving a remainder of video gaming data that is not associated with the first gaming canvass, where each of the plurality of gaming canvasses is a sector of a map of the video game.
  • the operations include executing the video game in a browser of the end user device based at least in part on the first video gaming data.
  • the operations include receiving user input at a user interface of the end user device associated with controlling movement of a player in the first gaming canvass.
  • the operations include receiving, over the network, second video gaming data associated with a second gaming canvass that is another sector of the map adjacent to the first gaming canvass, where the receiving the second video gaming data occurs prior to the player entering the second gaming canvass.
  • the operations include sending, over the network to an edge node of a content delivery network, a single request for resources associated with chunks of a portion of the second video gaming data.
  • the operations include receiving, over the network from the edge node of the content delivery network, bundled resources that were obtained in real-time by the edge node in response to the single request.
  • the operations include continuing executing the video game in the browser of the end user device based at least in part on the second video gaming data and the bundled resources.
  • One or more aspects of the subject disclosure include an end user device having a processing system including a processor; a user interface; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations.
  • the operations include receiving, over a network, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game without receiving a remainder of video gaming data that is not associated with the first gaming canvass, wherein each of the plurality of gaming canvasses is a sector of a map of the video game.
  • the operations include executing the video game in a browser based at least in part on the first video gaming data.
  • the operations include receiving user input at the user interface associated with controlling movement of a player in the first gaming canvass.
  • the operations include receiving, over the network, second video gaming data associated with a second gaming canvass that is another sector of the map adjacent to the first gaming canvass, where the receiving the second video gaming data occurs prior to the player entering the second gaming canvass.
  • the operations include continuing executing the video game in the browser of the end user device based at least in part on the second video gaming data, where unloading of the video gaming data is according to a memory pressure calculation for the end user device, reference counting of resources associated with the static and dynamic objects, access times for the static and dynamic objects, and unloading policies assigned to a resource type.
  • System 100 can include one or more gaming platforms 180 for providing gaming services to end user devices (e.g., browser-based or other types of video games), one or more exchange platforms 190 for managing NFT digital assets (including transfers of the NFT digital assets) that are associated with video game(s) managed by the gaming platform(s), and blockchain nodes/platform(s) 195 that can be utilized for creating and maintaining the NFT digital assets.
  • the platforms 180, 190 and/or 195 can include various software and hardware such as devices, servers or other equipment (including cloud-based resources and processing) that allows the platforms to perform various computing functionality, such as described herein.
  • an end user device 105 is illustrated (e.g., a mobile phone although other end user devices can also be utilized, such as desktop or laptop computers, tablets, gaming console, etc., which can access, transmit and receive data via a hardwire and/or wireless technology) which is executing a video game 106 (e.g., rendering in its browser) based at least in part on transmitting and receiving video gaming information or data 107 over the network 125.
  • the video gaming data 107 can be of various types that enable a browser to execute/render a video game including one some or all of chunks, resource requests, resources, zip files, bundled resources, audio/video files, texture, model, prefab, shader, shader program, scene, serialized structure, and other types.
  • system 100 can facilitate in whole or in part managing NFT digital assets associated with one or more video games (e.g., a transfer exchange); providing an exchange for transaction of the NFT digital assets; streaming video gaming data on-demand as a player moves around a map in a browser-based video game; predicting player movement based on various criteria including trajectory, historical movements, and/or objects of interest so that adjacent gaming canvass can be pre-loaded (in whole or in part) prior to the player reaching that particular location; prioritizing downloading of particular objects according to various parameters including player distance, object type, and/or object size to facilitate quality of experience and resource usage; and/or performing unloading of objects based on various criteria including memory pressure, reference counting and/or access time to facilitate quality of experience and resource usage.
  • video games e.g., a transfer exchange
  • streaming video gaming data on-demand as a player moves around a map in a browser-based video game
  • predicting player movement based on various criteria including trajectory, historical movements, and/or objects of interest so that adjacent gaming canvass can be
  • a communications network 125 is presented for providing broadband access 110 to a plurality of data terminals 114 via access terminal 112, and wireless access 120 to a plurality of mobile devices 124 and vehicle 126 via base station or access point 122.
  • the network 125 can provide other services such as voice access to a plurality of telephony devices and/or media access to a plurality of audio/video display devices via media terminals.
  • communication network 125 is coupled to one or more content sources 170 of gaming resources, audio, video, graphics, text and/or other content or media.
  • broadband access 110 and wireless access 120 are shown separately, one or more of these forms of access (including voice access and media access) can be combined to provide multiple access services to a single client device (e.g., mobile devices 124 can receive media content via media terminals, data terminals can be provided voice access via a switching device, and so on).
  • client device e.g., mobile devices 124 can receive media content via media terminals, data terminals can be provided voice access via a switching device, and so on).
  • the communications network 125 can include a plurality of network elements (NE) 150, 152, 154, 156, etc. for facilitating the broadband access 110, wireless access 120, voice access, media access, the distribution of content from content sources 175 and/or video gaming streaming such as in a browser-based environment.
  • the communications network 125 can include a circuit switched or packet switched network, a voice over Internet protocol (VoIP) network, Internet protocol (IP) network, a cable network, a passive or active optical network, a 4G, 5G, or higher generation wireless access network, WIMAX network, UltraWideband network, personal area network or other wireless access network, a broadcast satellite network and/or other communications network.
  • VoIP voice over Internet protocol
  • IP Internet protocol
  • the access terminal 112 can include a digital subscriber line access multiplexer (DSLAM), cable modem termination system (CMTS), optical line terminal (OLT) and/or other access terminal.
  • DSL digital subscriber line
  • CMTS cable modem termination system
  • OLT optical line terminal
  • the data terminals 114 can include personal computers, laptop computers, netbook computers, tablets or other computing devices along with digital subscriber line (DSL) modems, data over coax service interface specification (DOCSIS) modems or other cable modems, a wireless modem such as a 4G, 5G, or higher generation modem, an optical modem and/or other access devices.
  • DSL digital subscriber line
  • DOCSIS data over coax service interface specification
  • the base station or access point 122 can include a 4G, 5G, or higher generation base station, an access point that operates via an 802.11 standard such as 802.1 In, 802.1 lac or other wireless access terminal.
  • the mobile devices 124 can include mobile phones, e-readers, tablets, phablets, wireless modems, and/or other mobile computing devices.
  • the content sources 170 can include content delivery network(s), as well as other types of sources such as broadcast television and radio sources, video on demand platforms and streaming video and audio services platforms, data servers, web servers and other content servers, and/or other sources of media.
  • the communications network 125 can include wired, optical and/or wireless links and the network elements 150, 152, 154, 156, etc.
  • service switching points can include service switching points, signal transfer points, service control points, network gateways, media distribution hubs, servers, firewalls, routers, edge devices, switches and other network nodes for routing and controlling communications traffic over wired, optical and wireless links as part of the Internet and other public networks as well as one or more private networks, for managing subscriber access, for billing and network management and for supporting other network functions.
  • System 100 allows for managing of NFT assets via the exchange platform 190 and the blockchain nodes/platform 195.
  • the NFT assets can be digital assets that are associated with one or more video games that are managed by, or otherwise associated with, the gaming platform 180 or other gaming platforms.
  • Various technologies can be implemented in order to provide, maintain and manage the NFT digital assets.
  • system 100 can provide or make use of a distributed ledger operating as a database for maintaining a digital record of transactions, which can be shared with nodes or devices across the network.
  • system 100 can employ blockchains for managing the NFT digital assets through use of blockchain nodes 195 which can be a peer to peer network of nodes.
  • particular data associated with the NFT digital assets can be grouped together into blocks that are linked together as a chain.
  • node(s) 195 can communicate with other nodes to validate transactions of the particular blockchain.
  • the NFT digital asset can be certified as unique and not interchangeable.
  • the NFT digital assets can be created or minted, such as through utilizing smart contract protocols on a blockchain.
  • NFT digital assets can be stored utilizing blockchain-based storage technology such as storing keys in wallets.
  • each NFT includes metadata (e.g., creating non-fungibility) and transfers or transactions for the NFT digital asset can be recorded on the blockchain.
  • Various distributed ledger and/or blockchain functionality can be employed by system 100 for managing the NFT digital assets.
  • nodes (or other blockchain participant devices) of the network can be provided with a same view of the blockchain information and any changes are reflected (e.g., simultaneously) across the ledger network so that accuracy of the transaction can be confirmed (e.g., via reconciliation of individual versions against other versions).
  • system 100 can utilize distributed ledgers that are public and/or private.
  • the blockchains of the NFT digital assets operate as databases maintained by nodes 195, where blocks of data are linked together using cryptography such that each new block can be connected to the previous block to act as an audit trail.
  • nodes 195 operate according to a consensus protocol to verify particular data of the blockchain so that the distributed ledger is updated across all nodes (e.g., simultaneously) and a new block is added to the blockchain resulting in a permanent record of the change.
  • other blockchain and/or distributed ledger protocols can be employed, which may or may not include consensus protocol, in order to record the transaction of the blockchain and/or distributed ledger in an accurate, secure and certifiable manner.
  • Exchange platform 190 can be utilized for transactions of the NFT digital assets.
  • the exchange platform 190 can be a stand-alone system and/or can be integrated with the gaming platform 180.
  • the exchange platform 190 can provide a user interface that includes various item information for a gaming item that is an NFT digital asset.
  • the item information can include historical data for the gaming item, such as significant in-game events (e.g., slaying a particular boss monster).
  • the item information or historical data can include transaction data for the gaming item, such as ownership, transactions, timing, and so forth which can be maintained in a blockchain.
  • some or all of the historical data associated with the NFT digital asset can be maintained or stored: in the blockchain, in a separate file (e.g., JSON file) indexed or associated to the NFT digital asset, or both.
  • the gaming item is an NFT digital asset that is presented in a video game(s) provided via the gaming platform 180.
  • Exchange platform 190 can facilitate a transfer (e.g., selling or leasing) of the NFT digital asset from a current owner to a new owner, where the transfer is recorded in a blockchain of the NFT digital asset.
  • the blockchain can employ a consensus decision protocol by multiple nodes 195 associated with a distributed ledger platform, where the transaction data of the blockchain is updated according to the transfer to the new owner.
  • the historical data associated with the NFT digital asset includes a gaming clip captured from the video game when the gaming item was obtained in the video game.
  • the gaming platform 180 (and/or an end user device) can record or instruct a recording of portions of the video game when an NFT digital asset is originally found, created or otherwise transfers possession in the game.
  • the generating of the clip can be done automatically or can be done at the direction or authorization of the user controlling the particular player.
  • the exchange platform 190 can be paid a fee (e.g., a percentage of the purchase price or a fixed cost) for enabling the transfer (e.g., selling or leasing) of the NFT digital asset from a current owner to a new owner.
  • event metadata can be stored responsive to a player in possession (or ownership) of the gaming item performing a particular in-game action, where the event metadata indicates the particular in-game action that was performed. For example, certain events can trigger generating the metadata such as slaying a particular boss monster, completing a particular quest, achieving a particular game objective, and so forth.
  • the event metadata can be stored in various ways by various devices (e.g., the end user device 105 and/or a server of the gaming platform 180), such as in a JSON (or other) file that is linked to or otherwise associated with the NFT digital asset.
  • some or all of the event metadata can be stored in the blockchain of the NFT digital asset, such as a subset of the event metadata that represents more or the most significant in-game events (e.g., as designated by the gaming platform 180).
  • the exchange platform 190 can transmit and receive various data 192 that allows for presenting a user interface (e.g., at the end user device 105) for managing transactions associated with the NFT digital assets.
  • the exchange platform 190 or other computing devices of system 100 can access a file (e.g., a JSON file) that is linked to the NFT digital asset to obtain event metadata that describes a particular in-game action that was performed by a player in possession (or ownership) of the gaming item, where historical data presented by the exchange platform in the user interface for the gaming item is based on the event metadata.
  • the JSON or other file that is linked to the NFT digital asset and that includes descriptive information for the gaming item including in-game events can be stored by and accessible via a content delivery network, such as CDN 170.
  • the JSON or other file can include an image(s) or video of the gaming item.
  • the user interface provided by the exchange platform 190 enables or allows manipulation of views of the image or video of the gaming item, such as rotation, zooming, panning, and so forth.
  • the user interface provided by the exchange platform 190 includes a written description of the gaming item, a time line indicating different owners of the gaming item, and/or a time line indicating in-game events for the gaming item.
  • the NFT digital asset is compatible with and can be presented in a single video game or in different video games.
  • These different video games can be in the same or different gaming genres or sub-genres, such as an NFT digital asset which is a helmet to be worn by a player in an action video game and in a role-playing video game or as another example in a World War Il-themed video game and in a medieval-themed video game.
  • the different video games can be developed or operated by the same or different gaming developers and/or the same of different gaming service providers.
  • lists and resource identifications can be utilized to facilitate when a client returns to play the video game, such as manifests and/or hashes being analyzed by the game client to identify particular objects that should be obtained when a client returns to play the video game. For example, when a player starts playing a video game for the first time, the player may start the game at an origination point. However, after finishing a gaming session and the returning to start a new video gaming session, the player will want to continue from the departure point (e.g., point on map when previous gaming session was finished) rather starting from the origination session.
  • System 100 can utilize manifests and/or hashes to facilitate this process.
  • the game client may have relevant chunks, resources or objects already stored locally. For instance, all or some of the resources can have a hash. Local hashes can be stored for those chunks. In one embodiment, if the local chunks are out-of- date or otherwise need updating then the gaming client can download only the ones that are out-of-date and utilize the local chunks for the others.
  • a manifest file can identify a hash mapping of a video game or a particular canvas(ses) of the video game. The gaming client can, in conjunction with a manifest file, check locally first to see if it has the hash or chunk stored already and then can obtain out-of-date resources as needed.
  • manifest files can be pushed to the game client so the game client can obtain resource(s) (e.g., new tree) and does not need to leave game or cause a server restart.
  • manifest files can be pushed to and/or pulled by the game client according to various triggers (e.g., periodically, gaming events, distance to a new gaming canvass, etc.).
  • System 100 allows for streaming of video gaming data on-demand.
  • the gaming platform 180 can transmit and receive various data 182 that allows for providing gaming services to end user devices.
  • Gaming platform 180 can have various components and perform various functions that enable gaming services according to the type of service, such as browser-based gaming that facilitates rendering the video game via the browser on the display of the end user device or non-browser-based online gaming.
  • gaming platform 180 can facilitate or otherwise provide video gaming data to the end user device 105 such that not all of the gaming data needs to be downloaded before the video game starts (e.g., the user has control over the player in the video game).
  • video gaming data associated with a first gaming canvass can be provided to the end user device utilizing various streaming techniques (e.g., chunks that reference resources, resource requests received from the end user device by various devices (such as CDN 170, gaming platform 180) and so forth).
  • a prediction can be made as to the next needed gaming canvass prior to the player entering that particular next gaming canvass. For instance, the prediction can be made and then updated according to one or more of a trajectory (e.g., direction and/or speed) of the player, historical movements or tendencies of the player and/or other players, or objects of interest in or near the gaming canvass.
  • a trajectory e.g., direction and/or speed
  • the gaming canvass sector size can be selected according to various criteria such as network conditions and/or device capabilities.
  • gaming canvass sizes for the entire map can be the same.
  • gaming canvass sizes for the entire map can be different such as larger gaming canvasses in areas of the video game world where player movement tends to be faster (e.g., where fewer objects of interest are located) and smaller gaming canvasses in areas of the video game world where player movement tends to be slower (e.g., where numerous objects of interest are located).
  • the prediction can be the basis of selecting the next gaming canvass and video gaming data associated with this next gaming canvass can commence download prior to the player entering this next gaming canvass.
  • the download of video gaming data for the next gaming canvass is commenced and completed before the player enters this next gaming canvass. In another embodiment, the download of video gaming data for the next gaming canvass is commenced before the player enters this next gaming canvass and is completed while the player is in this next gaming canvass.
  • the prediction can be performed in a number of different ways as described herein including according to a machine learning model such as a convolutional neural network that is trained according to player behavior and/or other player behaviors.
  • the prediction can be performed by various devices including the end user device 105 and/or the gaming platform 180.
  • the training of the machine learning model can be performed by various devices including the gaming platform 180 and/or the end user device 105.
  • System 100 allows for a thin gaming client to be utilized on an end user device to facilitate a browser-based video game.
  • the download of complex objects e.g., house, dragon
  • simpler objects e.g., blade of grass
  • a type of content can dictate or influence prioritization of download (e.g., audio and complex objects).
  • unloading of the video gaming data is according to one or more of a memory pressure calculation for the end user device, reference counting of resources associated with static and dynamic objects, access times for the static and dynamic objects, and unloading policies assigned to a resource type. Some or all of the prioritization can be determined by various devices including the gaming platform 180 and/or the end user device 105.
  • the CDN 170 can transmit and receive various data 172 that allows for execution of the video game 106 at the end user device 105.
  • the CDN 170 can receive resource requests and can provide the resources over the network 125 to the end user device 105 to enable execution of the video game by the browser.
  • the end user device 105 can send, over the network to an edge node of the CDN 170, a single request for resources associated with chunks of a portion of gaming canvass of the video game and then the edge node can transmit over the network 125 bundled resources that are obtained in real-time by the edge node in response to the single request.
  • the bundled resources can be sent in a compressed format such as a zip file.
  • FIG. 2A illustrates a block diagram for a work flow 200 associated with the NFT digital asset which can be used in system 100.
  • various distributed ledger and blockchain technology illustrated as platform 201 can be employed to maintain or manage the NFT digital asset.
  • the NFT digital assets are non-fungible and are issued on a blockchain in order to be authenticated through a decentralized system of nodes 204, such as utilizing a consensus protocol.
  • the NFTs are stored in or otherwise recorded via smart contracts 205.
  • the smart contracts 205 can be of various types (e.g., Ethereum) and/or can be executable code that runs on top of the distributed ledger where the NFT is recorded.
  • the NFTs can be certified unique because each digital asset can be linked to a single token stored in the smart contract 205. In one embodiment, only one person can own the specific token authenticating ownership of the content.
  • the smart contracts 205 can employ Turing-complete scripting languages and/or can execute state transition replication over consensus algorithms.
  • the owner 202 e.g., via the exchange 190 of FIG. 1
  • the NFT owner 202 can digitize raw data into a particular format and can store the raw data in an external database outside the blockchain and/or store the raw data inside the blockchain.
  • the NFT owner 202 e.g., via the exchange 190
  • the NFT digital asset is sold (or leased)
  • a new transaction occurs which invokes the smart contract 205 and then the transaction can be confirmed through mathematical consensus so that the NFT becomes linked permanently to the unique hash identifier and the distributed blockchain record.
  • maintain and managing of the NFT digital assets can employ ERC-721 and can make use of public blockchain protocols and platforms such as Ethereum, EOS, Cardano, and so forth.
  • a file 206 can be linked to the NFT digital asset.
  • the file 206 can include event metadata that describes a particular in-game action(s) that were performed by a player in possession (or ownership) of the gaming item.
  • the type of historical data to be recorded via the event metadata can vary and can be presented (in whole or in part) in the user interface of the exchange platform 190 for the gaming item.
  • the file 206 can be stored at various locations, such as the CDN 170, the end user device 105, and/or the gaming platform 180, and can be accessed by the exchange platform 190 for presentation.
  • the file 206 is a JSON file.
  • the file 206 includes an image or video of the gaming item and/or a gaming clip captured from the video game when the gaming item was obtained in the video game.
  • the NFT digital asset can be a static NFT with permanently immutable traits and data recorded on the blockchain.
  • historical data e.g., in-game events
  • the traits of the NFT digital asset e.g., color, shape, design, aesthetic features
  • the NFT digital asset can be a dynamic NFT with traits and data (some or all) that can be changed such as through in-game events.
  • certain traits of the NFT digital asset can be altered such as via an armorer improvement of a weapon or clothing alterations of a costume through in-game efforts (e.g., a player performing blacksmithing, leatherworking, dyeing, etc.).
  • one, some or all the changes to the traits can be recorded in the blockchain and/or in a separate file so that a history of the improvement of the NFT digital asset is stored.
  • player-designed changes to traits of the NFT digital asset which are stored in the blockchain can also include a user signature or indicia, such as a user signing (e.g., handwritten signature) the bottom of a customized clothing outfit, which can also be permanently stored in the blockchain.
  • FIG. 2B illustrates a block diagram for a work flow 210 for storing in-game events in connection with the NFT digital asset which can be used in system 100. This example shows the events being stored in a separate file(s), however, other embodiments can have one, some or all of the particular events stored in the blockchain (e.g., based on the event being a first or fastest in the video game at a particular point in time).
  • the work flow 210 or portions thereof can be performed by various devices in system 100 including the end user device 105 and/or the gaming platform 180.
  • metadata can be added whenever the player performs a notable in-game action (e.g., when in possession or ownership of the NFT digital asset). For instance, being the first player to slay a boss monster or being the fastest to clear a dungeon can be events that are stored in a file that is indexed or otherwise associated with the NFT digital asset.
  • the events or the metadata describing the events (or a portion thereof) are never removed from the association with the gaming item.
  • an in-game action which satisfies an event threshold (e.g., defined by the gaming platform 180 such as based on a number of times the event has been or is predicted to be accomplished over a given time period) triggers generating metadata descriptive of the event (time, location, event parameters, etc.) and loading the metadata on to a file, such as a JSON file (which may already exist and be associated with the NFT digital asset or may be a new file that is generated and then associated with the NFT digital asset).
  • the file can then be uploaded at 2108 for storage or to provide other devices with access thereto, such as to CDN 170.
  • the adding of the event metadata triggers a notification to other devices of change to the file, such as other clients, gaming platform 180, exchange platform 190, and so forth.
  • the CDN 170 can be provided with a notification that the file has been changed so that a cache can be cleared to facilitate access to the correct metadata included in the updated file.
  • the exchange platform 190 can access metadata in the file (e.g., JSON file) which is linked to the NFT digital asset.
  • the exchange platform 190 (including operated by third party entities or operated by an entity providing the video game service) can index this data to visually show the NFT digital (e.g., an image included in the JSON file) or provide a text-based description of the item and/or historical events (which can also be included in the JSON file).
  • a plot of land in the video game can have X, Y coordinates as their metadata, as well as a description of historical events that are unique to that particular item, which can then be presented in a user interface by the exchange platform 190 based on accessing the JSON file.
  • storing information on the blockchain of the NFT digital asset can be limited to particular information, such as ownership/transactions while other information is added to the JSON file such as historical in-game events.
  • the amount and type of information that is stored in the blockchain of the NFT digital asset can vary according to various criteria, such as available processing resources, cost/efficiency of blockchain storage, significance of in-game event, type of NFT digital asset, and so forth.
  • the particular information to be stored on the blockchain can be controlled by the gaming platform 180, which may or may not change over the lifetime of the video game or of the NFT digital asset.
  • FIG. 2C is a block diagram illustrating an example, non-limiting embodiment of a user interface (UI) 220 functioning within the communication system of FIG. 1 in accordance with various aspects described herein.
  • the UI 220 can be managed or provided via various devices such as the exchange platform 190 (which can be a third party entity or can be operated by the entity operating the gaming platform 180).
  • the UI 220 can be presented on various devices such as end user device 105 or other computing devices in the system 100 that are seeking information regarding particular NFT digital assets.
  • the UI 220 can present various information, including a manipulatable view 2202 of an image/video and/or a text description, of the gaming item which is an NFT digital asset.
  • the UI 220 shows the name of the NFT digital asset, the number of other players that have a similar NFT digital assets (e.g., each NFT digital asset has a unique identity but in this example there can be other NFT digital assets that look the same and which also have their own unique identities), the lifetime of the NFT digital asset, the owner, and a written description of the NFT digital asset.
  • a time line 2204 of ownership with dates, how acquired, and by whom acquired, can be presented in the UI 220.
  • the NFT digital asset may be a one of a kind such that there are no other similar gaming items (no other NFT digital assets with a similar appearance) available in the video game(s).
  • the NFT digital asset may be part of a set of similar gaming items where each member of the set is a different NFT digital asset.
  • members of the set may appear similar, although they remain non-fungible due to their blockchain data.
  • the gaming platform 180 may limit the number of a weapon XYZ that will ever be introduced into the game to one hundred. Each of the weapons XYZ may look similar but they are each NFT digital assets that are non-fungible.
  • the UI 220 can show the total number of the type of NFT that will be made available and/or show the number that have already been made available. In one embodiment, a single player may own multiple ones of the total number of the type of NFT that is being made available.
  • FIG. 2D is a block diagram illustrating an example, non-limiting embodiment of a user interface (UI) 250 functioning within the communication system of FIG. 1 in accordance with various aspects described herein.
  • the UI 250 can be managed or provided via various devices such as the exchange platform 190 (which can be a third party entity or can be operated by the entity operating the gaming platform 180).
  • the UI 250 can be presented on various devices such as end user device 105 or other computing devices in the system 100 that are seeking information regarding particular NFT digital assets.
  • the UI 250 can present various information, including a manipulatable view 2502 of an image/video and/or a text description, of the gaming item which is an NFT digital asset.
  • the NFT gaming item is a pet (e.g., a horse) and the UI 250 shows the name of the NFT digital asset, compatible video games that can present or utilize the NFT digital asset, a description of the NFT digital asset, and the owner.
  • a time line 2504 of ownership e.g., with dates, how acquired, and by whom acquired
  • a time line 2506 of ingame events e.g. with dates, locations, and description
  • the lineage 2508 of the pet e.g., mother, father, grandparents, and so forth
  • the lineage 2508 of the pet can be presented along with various information regarding that lineage.
  • historical information including ownership and/or in-game events can be presented for each or some of the lineage, such as in a time line or other format.
  • the name of the NFT gaming item can be provided by the original and/or new owner, and can be stored in the blockchain, where the name may or may not be changeable.
  • the UI 250 allows a potential buyer to access various information regarding the NFT digital asset so that an information transaction decision (buying or leasing) can be made.
  • the NFT digital asset can be created from other NFT digital assets (e.g., breeding pets, combining items of clothing, combining weapons, grouping pets such as a team of dogs, and so forth).
  • NFT digital assets e.g., breeding pets, combining items of clothing, combining weapons, grouping pets such as a team of dogs, and so forth.
  • a player/owner may obtain (e.g., find in-game, purchase/lease from exchange, etc.) two pets that are each NFT digital assets and breed them to create a third pet that is an NFT digital asset.
  • a player/owner may obtain (e.g., find in-game, purchase/lease from exchange, etc.) a group of pets that are each NFT digital assets and create a team of pets (e.g., horses for a wagon, dogs for a sled, etc.) that is an NFT digital asset.
  • a group of pets that are each NFT digital assets and create a team of pets (e.g., horses for a wagon, dogs for a sled, etc.) that is an NFT digital asset.
  • a player/owner may obtain (e.g., find in-game, make/assemble, purchase/lease from exchange, etc.) a group of items that are each NFT digital assets and combine them into a single item such as creating a complete player wardrobe by combing a hat, shirt, coat, shoes and so forth which becomes an NFT digital asset or creating a single weapon which becomes an NFT digital asset from multiple smaller weapons (that are each NFT digital assets) such as a doubled headed spear from two individual spears.
  • the blockchains for the original or individual NFT digital assets can continue to be maintained.
  • historical information including ownership and/or in-game events can be presented for some or all of the original NFT digital assets, such as in a time line or other format.
  • FIG. 3A illustrates a block diagram for a process 300 for streaming the data on-demand as the player moves around the map or world of the video game (rather than downloading everything up front) which can be used in system 100. All or some of the functions of process 300 can be performed by various devices of system 100 including the client/end user device 105. In one embodiment, this provides for a thin game client executed within a browser with a dynamic limited gaming canvas. For example, a player starts in a specific area. 3D models can be downloaded on-demand while the player can already begin to move around and interact with the video game. As the player moves from a first location to a second location, the client can predict where the player is going and can start to download the second location even before the player reaches the second location.
  • Process 300 can determine when a player is visiting a new area at 3002 and then attempt to download and process the appropriate scene at 3004 and 3006.
  • Process 300 provides for monitoring the cache at 3008 to determine whether a file is to be downloaded or whether the data can be loaded from the cache.
  • Process 300 allows for determining whether all dependencies are loaded 3010 and then displaying a model at 3012 if enough dependencies are met and displaying a scene at 3014 if all dependencies are loaded.
  • downloading priority rules can be applied. For example, static objects (e.g., buildings, grass, water, etc.) can be prioritized by size (e.g., AABB bounding box volume) and/or the distance to the particular player. This means larger objects, closest to the player will load first, then large objects away from the player, and lastly smaller objects from closest to furthest away from the player.
  • dynamic objects e.g., other players, creatures, non-player characters
  • a first animal that cannot damage the player can be given a lower/lowest priority for download of dynamic objects, while a second animal that can damage or kill the player can have a higher/highest priority for download.
  • the same schemes can be applied to the creature’s animations and combat abilities, which are required for the client to visualize combat associated with the creature.
  • Downloading of other players can have a particular priority based on the area the player is in, such as if the player is in a player-vs-player zone where other players can damage or kill the player then the client can prioritize the downloading of players over everything else or over other gaming items.
  • download priority can be given to collision data.
  • the downloading priority for asset types can be based on dynamic meshes first, then particle systems and other prefabs, then static meshes, then the remainder of data such as audio, quest information, and so forth.
  • particular information that is determined (e.g., by the client) to be needed in a particular time period, such as within the near future (e.g., the next few seconds or minutes) can be provided with special priority. For instance, if the client determines that it requires particular information right away to present to the player (e.g., a conversation tree when a player has begun interacting with a non-player character), this resource corresponding to the particular information can skip to the front, or at least ahead, in the download queue.
  • unloading of objects can be performed by way of various criteria and techniques, including reference counting and unloading policies or conditions, which can be employed or enforced by the client. For example, all objects can be reference counted such that each time a resource is referenced it increases the counter by one and when dereferenced it decreases the counter by one. When the counter reaches zero and the conditions for that resource type are met the resource is unloaded.
  • memory pressure can be employed to determine or otherwise to be used as a factor in unloading. For instance, whenever the game client determines that it has begun consuming memory resources over a particular threshold then objects can be more aggressively expelled from memory.
  • the unloading conditions of each or some resource types can be unique.
  • the unloading of large files can be done based on a lack of use, such as only after the resource has gone unused for a particular time threshold (e.g., 5 minutes of reference count being zero), and/or if the memory pressure is high enough (e.g., above a memory pressure threshold) to evict the song from memory sooner.
  • a particular time threshold e.g., 5 minutes of reference count being zero
  • the memory pressure is high enough (e.g., above a memory pressure threshold) to evict the song from memory sooner.
  • pre-processed bundling of resources can be performed.
  • certain resources can always be requested as a single bundle, instead of many individual pieces.
  • the game UI can include or consist of many small images, icons, audio clips and/or XML definition files. These files can be bundled at the video game’s build-time to improve or optimize the client’s download requirements and to help reduce bandwidth.
  • each compressed bundle can contain resources inside that, once uncompressed, will be added to the resource management system. For instance, if the client downloads a bundle that contains tree A and later needs tree A again then the client will not download the non-bundled resource again, but instead will use the already cached resource.
  • real-time bundling of resources can be employed or implemented. For example, when a resource is needed, it can be requested from a CDN network (e.g., Cloudflare). In one embodiment, some of the resources can be downloaded one at a time over HTTP/2 or HTTP/3 (full duplexing enabled). In one embodiment, a bundled file can be utilized to download exactly the assets that the client determines it needs. For instance, using CDN edge node workers, the exemplary embodiments can build bundles in real-time, on the fly, for the clients.
  • a CDN network e.g., Cloudflare
  • some of the resources can be downloaded one at a time over HTTP/2 or HTTP/3 (full duplexing enabled).
  • a bundled file can be utilized to download exactly the assets that the client determines it needs. For instance, using CDN edge node workers, the exemplary embodiments can build bundles in real-time, on the fly, for the clients.
  • FIG. 3B illustrates a block diagram for a process 320 for bundling of resources which can be used in system 100. All or some of the functions of process 320 can be performed by various devices of system 100 including the client/end user device 105 and/or the CDN 170. As an example, if a client needs a resource(s) at 3202 such as to download tree A, tree B, grass A and building A then instead of doing four separate requests to download these resources (and potentially more requests for its dependencies), the client can do a single request to an edge node 3204 or other device of the CDN and request all assets at once.
  • a resource(s) at 3202 such as to download tree A, tree B, grass A and building A
  • the client can do a single request to an edge node 3204 or other device of the CDN and request all assets at once.
  • the edge node can then obtain all assets and/or dependencies needed, bundle them together into a compressed file 3205 (e.g., a zip file), and send this bundle back to the client.
  • a compressed file 3205 e.g., a zip file
  • Process 320 reduces the amount of requests but puts additional load on the edge nodes.
  • Process 320 also reduces bandwidth, as the client only has to download what is needed, and some file formats share similar header data which can be compressed, such as via dictionary-based compressors.
  • FIG. 3C illustrates a block diagram representative of a process/sector map 330 for predicting video game data that should be provided to the client which can be used in system 100. All or some of the functions of process 330 can be performed by various devices of system 100 including the client/end user device 105 and/or the gaming platform 180.
  • the map or world of the video game can be broken up or otherwise categorized into a plurality of gaming canvasses which are each a sector of the map or world.
  • predicting a next needed gaming canvass can be utilized to facilitate and improve the efficiency of data downloading and execution of the video game by the end user device.
  • scenes can be loaded in chunks where a chunk contains all static entities in a given area.
  • process 330 can be utilized to predict where players will end up in a specific time window. By calculating a directional vector, process 330 allows for pre-loading the correct chunks before the user is able to see them, creating a seamless experience.
  • One or more other criteria can also be utilized alone, in combination with each other and/or in combination with the directional vector for predicting the next needed gaming canvass, such as the predicting being based on an object location of an object of interest in the video game, the object location being in the second gaming canvass or closer to the second gaming canvass than to a third gaming canvass adjacent to the first (current) gaming canvass; the predicting being based on historical movement of the player through the first gaming canvass; and/or the predicting being based on historical movement of other players through the first gaming canvass.
  • a predicted time can be estimated for when the player will enter the second gaming canvass and/or providing additional video gaming data (corresponding to the second gaming canvass) can be based on the predicted time.
  • a commencement of the providing the additional video gaming data can be selected based on the predicted time.
  • one or more download parameters and/or streaming parameters can be selected based on the predicted time such as a data rate for the downloading of the additional video gaming data.
  • the gaming canvasses can be further divided and the downloading schemes described herein can be based on those subdivisions and movement of the player through those sub-divisions.
  • machine learning or a convolutional neural network can be used to train a model to predict user behavior.
  • the machine learning or the convolutional neural network can utilize one or more of the criteria described above as training data including the directional vector. This can be useful for players that behave in unpredictable or complex ways, such as following a specific questline of the video game.
  • chunk sizes can be static.
  • preloading of a larger area around the player can be performed.
  • the speed of download can be adjusted to prevent or reduce overburdening the network, which could lead to lag.
  • FIG. 3D illustrates a block diagram representative of a process 340 for work flow in the resource system which can be used in system 100. All or some of the functions of process 340 can be performed by various devices of system 100 including the client/end user device 105.
  • all resources in a scene file can be given a loadPriority. For example, the higher the load priority the more the object will be prioritized. In one embodiment, this may not result in the object being loaded first.
  • Process 340 can utilize main and worker threads as illustrated. For example, four simultaneous objects can be downloaded, however, if the network speed of a client is fast enough this number can be increased to speed up download speeds.
  • Process 340 illustrates four resource downloaders 3410 operating according to the resource download queue 3408 and then providing output to the resource processor queue 3412 where resource processors 3414 operate according to the resource processor queue and then provide output to the resource finalizer 3416.
  • resource processors can be spawn based on core count such that the more cores a user has in their system results in more resource processors being spawned such that more resources can be processed at a same time.
  • object download priority can be based on gameplay effect. For example, when a player walks through a spider web (which is being executed at the gaming platform 180) the server would still detect that condition and slow the player down but the downloading of the spider web would have a lower priority that downloading a building which a player could not walk through and would be stuck. In this example, the building can have a higher priority since it is a true collision stopping movement, as opposed to the spider web which slows the player down.
  • FIG. 3E illustrates a block diagram representative of a process 350 for work flow in the resource unload system which can be used in system 100. All or some of the functions of process 350 can be performed by various devices of system 100 including the client/end user device 105.
  • data unloading can be performed according to various techniques and criteria such as memory pressure, reference counting and access times.
  • memory pressure is determined at 3505 by calculating the available memory on the system, minus the resources in the resource load queue.
  • a weighting factor can be employed to facilitate ensuring memory is available, such as resources in the load queue weighing double to ensure there is enough memory available to process the resource upon loading.
  • reference counting can be performed where every time a resource is referenced (via handles), the reference count is incremented by one and every time a reference is removed it is decremented by one. When the counter reaches zero the reference becomes eligible for cleanup/unload (e.g., subject to other unloading policies and procedures).
  • access times can be monitored where every time the reference count changes the current time is stored with it. This allows for monitoring when a resource reference count reached zero.
  • each or some resource types can have their own loading/unloading policy.
  • Process 350 illustrates different types of resources (e.g., audio clip, texture, model, prefab, shader/shader program, scene, and serialized structure) and the corresponding unloading policy that in applicable.
  • Process 350 can provide a particular order 3512 for the resource types 3510 to be considered for unloading, such as audio being the first resource type eligible for unloading due to its large file size and relative low gameplay impact as compared to other resource types (e.g., lower in the order illustrated in FIG. 3E) which can have a larger gameplay impact and/or smaller size (e.g., prefab).
  • Process 350 also calculates memory pressure, determines whether the memory pressure is above a particular threshold at 3506, and determines whether the resource is referenced at 3508, prior to applying the unload policies (by type).
  • the functions, thresholds, order for the resource types to be considered for unloading, and/or unload policies described in process 350 can be adjusted (e.g., by the gaming platform 180 and/or the end user device 105) according to one or more of various factors, such as network conditions, end user device capabilities, quality of service metrics, type of video game being played, location of player in the video game map, quality of service metrics, and so forth.
  • the memory pressure threshold may be increased where network conditions are providing for slower downloads while the unload policy for an audio clip may have its access time decreased where the player is in a location of the map where memory requirements/usage are generally higher (e.g., many other players are present).
  • these adjustments to the functions, thresholds, order for the resource types to be considered for unloading, and/or unload policies described in process 350 can be performed dynamically, such as based on measurements being made by the end user device 105 and/or the gaming platform 180 (or other devices), and can be implemented at a particular end user device or across a group of devices (e.g., numerous end user devices utilizing a same network to play the same video game).
  • a virtualized communication network can be utilized in whole or in part to perform various functions and aspects described herein.
  • a virtualized communication network can be used to implement some or all of the subsystems and functions of system 100, as well as aspects ofFIGs. 2A-3E.
  • a virtualized communication network can facilitate in whole or in part managing NFT digital assets associated with one or more video games (e.g., a transfer exchange); providing an exchange for transaction of the NFT digital assets; streaming video gaming data on-demand as a player moves around a map in a browser-based video game; predicting player movement based on various criteria including trajectory, historical movements, objects of interest so that adjacent gaming canvass can be pre- loaded (in whole or in part) prior to the player reaching that particular location; prioritizing downloading of particular objects according to various parameters including player distance, object type, and/or object size to facilitate quality of experience and resource usage; and/or performing unloading of objects based on various criteria including memory pressure, reference counting and/or access time to facilitate quality of experience and resource usage.
  • NFT digital assets associated with one or more video games
  • video games e.g., a transfer exchange
  • streaming video gaming data on-demand as a player moves around a map in a browser-based video game
  • cloud networking architecture can utilize a transport layer, a virtualized network function cloud and/or one or more cloud computing environments.
  • the virtualized communication network can employ virtual network elements (VNEs) that perform some or all of the functions of network elements 150, 152, 154, 156, such as providing Network Function Virtualization Infrastructure (NFVI) or infrastructure that is capable of being directed with software and Software Defined Networking (SDN) protocols to perform a network functions and services.
  • VNEs virtual network elements
  • NFVI Network Function Virtualization Infrastructure
  • SDN Software Defined Networking
  • This infrastructure can include several types of substrates such as servers that support Network Function Virtualization (NFV).
  • edge routers can be implemented via VNEs composed of NFV software modules, merchant silicon, and/or associated controllers.
  • the virtualized network function cloud can interface with the transport layer to provide VNEs to provide specific NF Vs by leveraging cloud operations, applications, and architectures to support networking workloads, such as VNEs employing network function software that provides either a one-for-one mapping of traditional network element function or alternately some combination of network functions designed for cloud computing.
  • VNEs can include route reflectors, domain name system (DNS) servers, and dynamic host configuration protocol (DHCP) servers, system architecture evolution (SAE) and/or mobility management entity (MME) gateways, broadband network gateways, IP edge routers for IP- VPN, Ethernet and other services, load balancers, distributers and other network elements.
  • DNS domain name system
  • DHCP dynamic host configuration protocol
  • SAE system architecture evolution
  • MME mobility management entity
  • broadband network gateways IP edge routers for IP- VPN, Ethernet and other services
  • load balancers load balancers
  • distributers distributers and other network elements.
  • the cloud computing environments can interface with the virtualized network function cloud via APIs.
  • FIG. 4 there is illustrated a block diagram of a computing environment in accordance with various aspects described herein.
  • FIG. 4 and the following discussion are intended to provide a brief, general description of a suitable computing environment 400 in which the various embodiments of the subject disclosure can be implemented.
  • computing environment 400 can be used in the implementation of devices of system 100, as well as computing devices and hardware utilized in connection with FIGs. 2A-3E, such as end user devices, gaming platforms, exchange platforms, content delivery networks, blockchain nodes, blockchain platforms, network elements, access terminals, base station or access points, switching devices, media terminals, and/or VNEs.
  • computing environment 400 can facilitate in whole or in part managing NFT digital assets associated with one or more video games (e.g., a transfer exchange); providing an exchange for transaction of the NFT digital assets; streaming video gaming data on-demand as a player moves around a map in a browser-based video game; predicting player movement based on various criteria including trajectory, historical movements, objects of interest so that adjacent gaming canvass can be pre-loaded (in whole or in part) prior to the player reaching that particular location; prioritizing downloading of particular objects according to various parameters including player distance, object type, and/or object size to facilitate quality of experience and resource usage; and/or performing unloading of objects based on various criteria including memory pressure, reference counting and/or access time to facilitate quality of experience and resource usage.
  • video games e.g., a transfer exchange
  • streaming video gaming data on-demand as a player moves around a map in a browser-based video game
  • predicting player movement based on various criteria including trajectory, historical movements, objects of interest so that adjacent gaming canvass can be pre-loaded (in
  • program modules comprise routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
  • program modules comprise routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
  • program modules comprise routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types.
  • the methods can be practiced with other computer system configurations, comprising single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operatively coupled to one or more associated devices.
  • a processing circuit includes one or more processors as well as other application specific circuits such as an application specific integrated circuit, digital logic circuit, state machine, programmable gate array or other circuit that processes input signals or data and that produces output signals or data in response thereto. It should be noted that while any functions and features described herein in association with the operation of a processor could likewise be performed by a processing circuit.
  • the illustrated embodiments of the embodiments herein can be also practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network.
  • program modules can be located in both local and remote memory storage devices.
  • Computing devices typically comprise a variety of media, which can comprise computer-readable storage media and/or communications media, which two terms are used herein differently from one another as follows.
  • Computer-readable storage media can be any available storage media that can be accessed by the computer and comprises both volatile and nonvolatile media, removable and non-removable media.
  • Computer-readable storage media can be implemented in connection with any method or technology for storage of information such as computer- readable instructions, program modules, structured data or unstructured data.
  • Computer-readable storage media can comprise, but are not limited to, random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or other tangible and/or non-transitory media which can be used to store desired information.
  • RAM random access memory
  • ROM read only memory
  • EEPROM electrically erasable programmable read only memory
  • flash memory or other memory technology
  • CD-ROM compact disk read only memory
  • DVD digital versatile disk
  • magnetic cassettes magnetic tape
  • magnetic disk storage magnetic disk storage devices or other tangible and/or non-transitory media which can be used to store desired information.
  • tangible or “non- transitory” herein as applied to storage, memory or computer-readable media, are to be understood to exclude only propagating transitory signals per se as modifiers and do not relinquish rights to all standard storage, memory or computer-readable media that are not only propagating transitory signals per se.
  • Computer-readable storage media can be accessed by one or more local or remote computing devices, e.g., via access requests, queries or other data retrieval protocols, for a variety of operations with respect to the information stored by the medium.
  • Communications media typically embody computer-readable instructions, data structures, program modules or other structured or unstructured data in a data signal such as a modulated data signal, e.g., a carrier wave or other transport mechanism, and comprises any information delivery or transport media.
  • modulated data signal or signals refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in one or more signals.
  • communication media comprise wired media, such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
  • FIG. 4 depicts an exemplary diagrammatic representation of a machine in the form of a computer system 400 within which a set of instructions, when executed, may cause the machine to perform any one or more of the functions, processes, or methods described above.
  • One or more instances of the machine can operate, for example, as the devices associated with FIGs. 1-3E.
  • the machine may be connected (e.g., using a network 426) to other machines.
  • the machine may operate in the capacity of a server or a client user machine in server-client user network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
  • the machine may comprise a server computer, a client user computer, a personal computer (PC), a tablet PC, a smart phone, a laptop computer, a desktop computer, a control system, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • a communication device of the subject disclosure includes broadly any electronic device that provides voice, video or data communication.
  • the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methods discussed herein.
  • the computer system 400 may include a processor (or controller) 402 (e.g., a central processing unit (CPU), a graphics processing unit (GPU, or both), a main memory 404 and a static memory 406, which communicate with each other via a bus 408.
  • the computer system 400 may further include a display unit 410 (e.g., a liquid crystal display (LCD), a flat panel, or a solid-state display.
  • the computer system 400 may include an input device 412 (e.g., a keyboard), a cursor control device 414 (e.g., a mouse), a disk drive unit 416, a signal generation device 418 (e.g., a speaker or remote control) and a network interface device 420.
  • the embodiments described in the subject disclosure can be adapted to utilize multiple display units 410 controlled by two or more computer systems 400.
  • presentations described by the subject disclosure may in part be shown in a first of the display units 410, while the remaining portion is presented in a second of the display units 410.
  • the disk drive unit 416 may include a tangible computer-readable storage medium 422 on which is stored one or more sets of instructions (e.g., software 424) embodying any one or more of the methods or functions described herein, including those methods illustrated above.
  • the instructions 424 may also reside, completely or at least partially, within the main memory 404, the static memory 406, and/or within the processor 402 during execution thereof by the computer system 400.
  • the main memory 404 and the processor 402 also may constitute tangible computer-readable storage media.
  • Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices that can likewise be constructed to implement the methods described herein.
  • Application specific integrated circuits and programmable logic array can use downloadable instructions for executing state machines and/or circuit configurations to implement embodiments of the subject disclosure.
  • Applications that may include the apparatus and systems of various embodiments broadly include a variety of electronic and computer systems. Some embodiments implement functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit.
  • the example system is applicable to software, firmware, and hardware implementations.
  • the operations or methods described herein are intended for operation as software programs or instructions running on or executed by a computer processor or other computing device, and which may include other forms of instructions manifested as a state machine implemented with logic components in an application specific integrated circuit or field programmable gate array.
  • software implementations e.g., software programs, instructions, etc.
  • a computing device such as a processor, a controller, a state machine or other suitable device for executing instructions to perform operations or methods may perform such operations directly or indirectly by way of one or more intermediate devices directed by the computing device.
  • tangible computer-readable storage medium 422 is shown in an example embodiment to be a single medium, the term “tangible computer-readable storage medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
  • tangible computer-readable storage medium shall also be taken to include any non-transitory medium that is capable of storing or encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methods of the subject disclosure.
  • tangible computer-readable storage medium shall accordingly be taken to include, but not be limited to: solid-state memories such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories, a magneto -optical or optical medium such as a disk or tape, or other tangible media which can be used to store information. Accordingly, the disclosure is considered to include any one or more of a tangible computer-readable storage medium, as listed herein and including art-recognized equivalents and successor media, in which the software implementations herein are stored.
  • each of the standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, and HTTP) represent examples of the state of the art. Such standards are from time-to- time superseded by faster or more efficient equivalents having essentially the same functions.
  • Wireless standards for device detection e.g., RFID
  • short-range communications e.g., Bluetooth, Wi-Fi, ZigBee
  • long-range communications e.g., WiMAX, GSM, CDMA, LTE
  • the computer 400 can be operable to communicate with any wireless devices or entities operatively disposed in wireless communication, e.g., a printer, scanner, desktop and/or portable computer, portable data assistant, communications satellite, any piece of equipment or location associated with a wirelessly detectable tag (e.g., a kiosk, news stand, restroom), and telephone.
  • This can comprise Wireless Fidelity (Wi-Fi) and BLUETOOTH® wireless technologies.
  • Wi-Fi can allow connection to the Internet from a couch at home, a bed in a hotel room or a conference room at work, without wires.
  • Wi-Fi is a wireless technology similar to that used in a cell phone that enables such devices, e.g., computers, to send and receive data indoors and out; anywhere within the range of a base station.
  • Wi-Fi networks use radio technologies called IEEE 802.11 (a, b, g, n, ac, ag, etc.) to provide secure, reliable, fast wireless connectivity.
  • IEEE 802.11 a, b, g, n, ac, ag, etc.
  • a Wi-Fi network can be used to connect computers to each other, to the Internet, and to wired networks (which can use IEEE 802.3 or Ethernet).
  • Wi-Fi networks operate in the unlicensed 2.4 and 5 GHz radio bands for example or with products that contain both bands (dual band), so the networks can provide real-world performance similar to the basic 1 OBaseT wired Ethernet networks used in many offices.
  • a mobile network platform can be provided such as utilizing network elements 150, 152, 154, 156, and/or VNEs.
  • mobile platform can facilitate in whole or in part managing NFT digital assets associated with one or more video games (e.g., a transfer exchange); providing an exchange for transaction of the NFT digital assets; streaming video gaming data on-demand as a player moves around a map in a browser based video game; predicting player movement based on various criteria including trajectory, historical movements, objects of interest so that adjacent gaming canvass can be pre-loaded (in whole or in part) prior to the player reaching that particular location; prioritizing downloading of particular objects according to various parameters including player distance, object type, and/or object size to facilitate quality of experience and resource usage; and/or performing unloading of objects based on various criteria including memory pressure, reference counting and/or access time to facilitate quality of experience and resource usage.
  • the mobile network platform can generate and receive signals transmitted and received by base stations or access points, and can include various components, such as nodes, gateways, interfaces, servers, or disparate platforms, that facilitate both packet-switched (PS) (e.g., internet protocol (IP), frame relay, asynchronous transfer mode (ATM)) and circuit-switched (CS) traffic (e.g., voice and data), as well as control generation for networked wireless telecommunication.
  • PS packet-switched
  • IP internet protocol
  • ATM asynchronous transfer mode
  • CS circuit-switched
  • mobile network platform can be included in telecommunications carrier networks, and can be considered carrier-side components as discussed elsewhere herein.
  • Mobile network platform can include CS gateway node(s) which can interface CS traffic received from legacy networks like telephony network(s) (e.g., public switched telephone network (PSTN), or public land mobile network (PLMN)) or a signaling system #7 (SS7) network.
  • CS gateway node(s) can authorize and authenticate traffic (e.g., voice) arising from such networks.
  • CS gateway node(s) can access mobility, or roaming, data generated through SS7 network; for instance, mobility data stored in a visited location register (VLR), which can reside in memory.
  • VLR visited location register
  • CS gateway node(s) interfaces CS-based traffic and signaling and PS gateway node(s).
  • CS gateway node(s) can be realized at least in part in gateway GPRS support node(s) (GGSN). It should be appreciated that functionality and specific operation of CS gateway node(s), PS gateway node(s), and serving node(s), is provided and dictated by radio technology(ies) utilized by mobile network platform for telecommunication over a radio access network with other devices, such as a radiotelephone.
  • GGSN gateway GPRS support node
  • PS gateway node(s) can authorize and authenticate PS-based data sessions with served mobile devices.
  • Data sessions can comprise traffic, or content(s), exchanged with networks external to the mobile network platform, like wide area network(s) (WANs), enterprise network(s), and service network(s), which can be embodied in local area network(s) (LANs), can also be interfaced with mobile network platform through PS gateway node(s).
  • WANs and enterprise network(s) can embody, at least in part, a service network(s) like IP multimedia subsystem (IMS).
  • IMS IP multimedia subsystem
  • PS gateway node(s) can generate packet data protocol contexts when a data session is established; other data structures that facilitate routing of packetized data also can be generated.
  • PS gateway node(s) can comprise a tunnel interface (e.g., tunnel termination gateway (TTG) in 3 GPP UMTS network(s) (not shown)) which can facilitate packetized communication with disparate wireless network(s), such as WiFi networks.
  • TSG tunnel termination gateway
  • mobile network platforms can include serving node(s) that, based upon available radio technology layer(s) within technology resource(s) in the radio access network, convey the various packetized flows of data streams received through PS gateway node(s).
  • server node(s) can deliver traffic without reliance on PS gateway node(s); for example, server node(s) can embody at least in part a mobile switching center.
  • serving node(s) can be embodied in serving GPRS support node(s) (SGSN).
  • server(s) in mobile network platform can execute numerous applications that can generate multiple disparate packetized data streams or flows, and manage (e.g., schedule, queue, format ... ) such flows.
  • Such application(s) can comprise add-on features to standard services (for example, provisioning, billing, customer support ... ) provided by mobile network platform.
  • Data streams e.g., content(s) that are part of a voice call or data session
  • PS gateway node(s) for authorization/authentication and initiation of a data session
  • serving node(s) for communication thereafter can be conveyed to PS gateway node(s) for authorization/authentication and initiation of a data session.
  • server(s) can comprise utility server(s), a utility server can comprise a provisioning server, an operations and maintenance server, a security server that can implement at least in part a certificate authority and firewalls as well as other security mechanisms, and the like.
  • security server(s) secure communication served through mobile network platform to ensure network’s operation and data integrity in addition to authorization and authentication procedures that CS gateway node(s) and PS gateway node(s) can enact.
  • provisioning server(s) can provision services from external network(s) like networks operated by a disparate service provider; for instance, WAN or Global Positioning System (GPS) network(s) (not shown).
  • Provisioning server(s) can also provision coverage through networks associated to mobile network platform (e.g., deployed and operated by the same service provider), such as distributed antennas networks that enhance wireless service coverage by providing more network coverage.
  • server(s) can comprise one or more processors configured to confer at least in part the functionality of mobile network platform.
  • the one or more processor can execute code instructions stored in memory, for example.
  • server(s) can comprise a content manager, which operates in substantially the same manner as described hereinbefore.
  • memory can store information related to operation of mobile network platform.
  • Other operational information can comprise provisioning information of mobile devices served through mobile network platform, subscriber databases; application intelligence, pricing schemes, e.g., promotional rates, flat-rate programs, couponing campaigns; technical specification(s) consistent with telecommunication protocols for operation of disparate radio, or wireless, technology layers; and so forth.
  • Memory can also store information from at least one of telephony network(s), WAN, SS7 network, or enterprise network(s).
  • memory can be, for example, accessed as part of a data store component or as a remotely connected memory store.
  • the mobile platform can provide a suitable environment in which the various aspects of the disclosed subject matter can be implemented. While the subject matter has been described above in the general context of computer-executable instructions of a computer program that runs on a computer and/or computers, those skilled in the art will recognize that the disclosed subject matter also can be implemented in combination with other program modules. Generally, program modules comprise routines, programs, components, data structures, etc. that perform particular tasks and/or implement particular abstract data types.
  • FIG. 5 an illustrative embodiment of a communication device 500 is shown.
  • the communication device 500 can serve as an illustrative embodiment of devices associated with FIGs. 1-4 such as end user device 105, gaming platform 180, exchange platform 190, CDN 170.
  • computing device 500 can facilitate in whole or in part managing NFT digital assets associated with one or more video games (e.g., a transfer exchange); providing an exchange for transaction of the NFT digital assets; streaming video gaming data on-demand as a player moves around a map in a browser-based video game; predicting player movement based on various criteria including trajectory, historical movements, objects of interest so that adjacent gaming canvass can be pre-loaded (in whole or in part) prior to the player reaching that particular location; prioritizing downloading of particular objects according to various parameters including player distance, object type, and/or object size to facilitate quality of experience and resource usage; and/or performing unloading of objects based on various criteria including memory pressure, reference counting and/or access time to facilitate quality of experience and resource usage.
  • video games e.g., a transfer exchange
  • the communication device 500 can comprise a wireline and/or wireless transceiver 502 (herein transceiver 502), a user interface (UI) 504, a power supply 514, a location receiver 516, a motion sensor 518, an orientation sensor 520, and a controller 506 for managing operations thereof.
  • the transceiver 502 can support short-range or long-range wireless access technologies such as Bluetooth®, ZigBee®, WiFi, DECT, or cellular communication technologies, just to mention a few (Bluetooth® and ZigBee® are trademarks registered by the Bluetooth® Special Interest Group and the ZigBee® Alliance, respectively).
  • Cellular technologies can include, for example, CDMA-1X, UMTS/HSDPA, GSM/GPRS, TDMA/EDGE, EV/DO, WiMAX, SDR, LTE, as well as other next generation wireless communication technologies as they arise.
  • the transceiver 502 can also be adapted to support circuit-switched wireline access technologies (such as PSTN), packet-switched wireline access technologies (such as TCP/IP, VoIP, etc.), and combinations thereof.
  • the UI 504 can include a depressible or touch-sensitive keypad 508 with a navigation mechanism such as a roller ball, a joystick, a mouse, or a navigation disk for manipulating operations of the communication device 500.
  • the keypad 508 can be an integral part of a housing assembly of the communication device 500 or an independent device operably coupled thereto by a tethered wireline interface (such as a USB cable) or a wireless interface supporting for example Bluetooth®.
  • the keypad 508 can represent a numeric keypad commonly used by phones, and/or a QWERTY keypad with alphanumeric keys.
  • the UI 504 can further include a display 510 such as monochrome or color LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) or other suitable display technology for conveying images to an end user of the communication device 500.
  • a display 510 such as monochrome or color LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) or other suitable display technology for conveying images to an end user of the communication device 500.
  • a portion or all of the keypad 508 can be presented by way of the display 510 with navigation features.
  • the display 510 can use touch screen technology to also serve as a user interface for detecting user input.
  • the communication device 500 can be adapted to present a user interface having graphical user interface (GUI) elements that can be selected by a user with a touch of a finger.
  • GUI graphical user interface
  • the display 510 can be equipped with capacitive, resistive or other forms of sensing technology to detect how much surface area of a user’s finger has been placed on a portion of the touch screen display. This sensing information can be used to control the manipulation of the GUI elements or other functions of the user interface.
  • the display 510 can be an integral part of the housing assembly of the communication device 500 or an independent device communicatively coupled thereto by a tethered wireline interface (such as a cable) or a wireless interface.
  • the UI 504 can also include an audio system 512 that utilizes audio technology for conveying low volume audio (such as audio heard in proximity of a human ear) and high volume audio (such as speakerphone for hands free operation).
  • the audio system 512 can further include a microphone for receiving audible signals of an end user.
  • the audio system 512 can also be used for voice recognition applications.
  • the UI 504 can further include an image sensor 513 such as a charged coupled device (CCD) camera for capturing still or moving images.
  • CCD charged coupled device
  • the power supply 514 can utilize common power management technologies such as replaceable and rechargeable batteries, supply regulation technologies, and/or charging system technologies for supplying energy to the components of the communication device 500 to facilitate long-range or short-range portable communications.
  • the charging system can utilize external power sources such as DC power supplied over a physical interface such as a USB port or other suitable tethering technologies.
  • the location receiver 516 can utilize location technology such as a global positioning system (GPS) receiver capable of assisted GPS for identifying a location of the communication device 500 based on signals generated by a constellation of GPS satellites, which can be used for facilitating location services such as navigation.
  • GPS global positioning system
  • the motion sensor 518 can utilize motion sensing technology such as an accelerometer, a gyroscope, or other suitable motion sensing technology to detect motion of the communication device 500 in three-dimensional space.
  • the orientation sensor 520 can utilize orientation sensing technology such as a magnetometer to detect the orientation of the communication device 500 (north, south, west, and east, as well as combined orientations in degrees, minutes, or other suitable orientation metrics).
  • the communication device 500 can use the transceiver 502 to also determine a proximity to a cellular, WiFi, Bluetooth®, or other wireless access points by sensing techniques such as utilizing a received signal strength indicator (RS SI) and/or signal time of arrival (TO A) or time of flight (TOF) measurements.
  • the controller 506 can utilize computing technologies such as a microprocessor, a digital signal processor (DSP), programmable gate arrays, application specific integrated circuits, and/or a video processor with associated storage memory such as Flash, ROM, RAM, SRAM, DRAM or other storage technologies for executing computer instructions, controlling, and processing data supplied by the aforementioned components of the communication device 500.
  • computing technologies such as a microprocessor, a digital signal processor (DSP), programmable gate arrays, application specific integrated circuits, and/or a video processor with associated storage memory such as Flash, ROM, RAM, SRAM, DRAM or other storage technologies for executing computer instructions, controlling, and processing data supplied by the aforementioned components of the communication device 500.
  • the communication device 500 can include a slot for adding or removing an identity module such as a Subscriber Identity Module (SIM) card or Universal Integrated Circuit Card (UICC).
  • SIM Subscriber Identity Module
  • UICC Universal Integrated Circuit Card
  • SIM or UICC cards can be used for identifying subscriber services, executing programs, storing subscriber data, and so on.
  • the memory components described herein can be either volatile memory or nonvolatile memory, or can comprise both volatile and nonvolatile memory, by way of illustration, and not limitation, volatile memory, non-volatile memory, disk storage, and memory storage.
  • nonvolatile memory can be included in read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory.
  • Volatile memory can comprise random access memory (RAM), which acts as external cache memory.
  • RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchhnk DRAM (SLDRAM), and direct Rambus RAM (DRRAM).
  • SRAM synchronous RAM
  • DRAM dynamic RAM
  • SDRAM synchronous DRAM
  • DDR SDRAM double data rate SDRAM
  • ESDRAM enhanced SDRAM
  • SLDRAM Synchhnk DRAM
  • DRRAM direct Rambus RAM
  • the disclosed memory components of systems or methods herein are intended to comprise, without being limited to comprising, these and any other suitable types of memory.
  • information regarding use of services can be generated including services being accessed, media consumption history, user preferences, and so forth.
  • This information can be obtained by various methods including user input, detecting types of communications (e.g., video content vs. audio content), analysis of content streams, sampling, and so forth.
  • the generating, obtaining and/or monitoring of this information can be responsive to an authorization provided by the user.
  • an analysis of data can be subject to authorization from user(s) associated with the data, such as an opt-in, an opt-out, acknowledgement requirements, notifications, selective authorization based on types of data, and so forth.
  • Some of the embodiments described herein can also employ artificial intelligence (Al) to facilitate automating one or more features described herein.
  • the embodiments e.g., in connection with automatically identifying acquired cell sites that provide a maximum value/benefit after addition to an existing communication network
  • the classifier can be employed to determine a ranking or priority of each cell site of the acquired network.
  • Such classification can employ a probabilistic and/or statistical-based analysis (e.g., factoring into the analysis utilities and costs) to determine or infer an action that a user desires to be automatically performed.
  • a support vector machine (SVM) is an example of a classifier that can be employed. The SVM operates by finding a hypersurface in the space of possible inputs, which the hypersurface attempts to split the triggering criteria from the non-triggering events. Intuitively, this makes the classification correct for testing data that is near, but not identical to training data.
  • Other directed and undirected model classification approaches comprise, e.g., naive Bayes, Bayesian networks, decision trees, neural networks, fuzzy logic models, and probabilistic classification models providing different patterns of independence can be employed. Classification as used herein also is inclusive of statistical regression that is utilized to develop models of priority.
  • one or more of the embodiments can employ classifiers that are explicitly trained (e.g., via a generic training data) as well as implicitly trained (e.g., via observing UE behavior, operator preferences, historical information, receiving extrinsic information).
  • SVMs can be configured via a learning or training phase within a classifier constructor and feature selection module.
  • the classifier(s) can be used to automatically learn and perform a number of functions, including but not limited to determining according to predetermined criteria which of the acquired cell sites will benefit a maximum number of subscribers and/or which of the acquired cell sites will add minimum value to the existing communication network coverage, etc.
  • the terms “component,” “system” and the like are intended to refer to, or comprise, a computer- related entity or an entity related to an operational apparatus with one or more specific functionalities, wherein the entity can be either hardware, a combination of hardware and software, software, or software in execution.
  • a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, computer-executable instructions, a program, and/or a computer.
  • an application running on a server and the server can be a component.
  • One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers. In addition, these components can execute from various computer readable media having various data structures stored thereon. The components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal).
  • a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal).
  • a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry, which is operated by a software or firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and executes at least a part of the software or firmware application.
  • a component can be an apparatus that provides specific functionality through electronic components without mechanical parts, the electronic components can comprise a processor therein to execute software or firmware that confers at least in part the functionality of the electronic components. While various components have been illustrated as separate components, it will be appreciated that multiple components can be implemented as a single component, or a single component can be implemented as multiple components, without departing from example embodiments.
  • the various embodiments can be implemented as a method, apparatus or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware or any combination thereof to control a computer to implement the disclosed subject matter.
  • article of manufacture as used herein is intended to encompass a computer program accessible from any computer- readable device or computer-readable storage/communications media.
  • computer readable storage media can include, but are not limited to, magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips), optical disks (e.g., compact disk (CD), digital versatile disk (DVD)), smart cards, and flash memory devices (e.g., card, stick, key drive).
  • magnetic storage devices e.g., hard disk, floppy disk, magnetic strips
  • optical disks e.g., compact disk (CD), digital versatile disk (DVD)
  • smart cards e.g., card, stick, key drive
  • example and exemplary are used herein to mean serving as an instance or illustration. Any embodiment or design described herein as “example” or “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, use of the word example or exemplary is intended to present concepts in a concrete fashion.
  • the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations.
  • terms such as “user equipment,” “mobile station,” “mobile,” subscriber station,” “access terminal,” “terminal,” “handset,” “mobile device” can refer to a wireless device utilized by a subscriber or user of a wireless communication service to receive or convey data, control, voice, video, sound, gaming or substantially any data-stream or signaling-stream.
  • the foregoing terms are utilized interchangeably herein and with reference to the related drawings.
  • the terms “user,” “subscriber,” “customer,” “consumer” and the like are employed interchangeably throughout, unless context warrants particular distinctions among the terms. It should be appreciated that such terms can refer to human entities or automated components supported through artificial intelligence (e.g., a capacity to make inference based, at least, on complex mathematical formalisms), which can provide simulated vision, sound recognition and so forth.
  • artificial intelligence e.g., a capacity to make inference based, at least, on complex mathematical formalisms
  • processor can refer to substantially any computing processing unit or device comprising, but not limited to comprising, singlecore processors; single-processors with software multithread execution capability; multicore processors; multi-core processors with software multithread execution capability; multi-core processors with hardware multithread technology; parallel platforms; and parallel platforms with distributed shared memory.
  • a processor can refer to an integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), a discrete gate or transistor logic, discrete hardware components or any combination thereof designed to perform the functions described herein.
  • ASIC application specific integrated circuit
  • DSP digital signal processor
  • FPGA field programmable gate array
  • PLC programmable logic controller
  • CPLD complex programmable logic device
  • processors can exploit nano-scale architectures such as, but not limited to, molecular and quantum-dot based transistors, switches and gates, in order to optimize space usage or enhance performance of user equipment.
  • a processor can also be implemented as a combination of computing processing units.
  • a flow diagram may include a “start” and/or “continue” indication.
  • the “start” and “continue” indications reflect that the steps presented can optionally be incorporated in or otherwise used in conjunction with other routines.
  • start indicates the beginning of the first step presented and may be preceded by other activities not specifically shown.
  • continue indicates that the steps presented may be performed multiple times and/or may be succeeded by other activities not specifically shown.
  • a flow diagram indicates a particular ordering of steps, other orderings are likewise possible provided that the principles of causality are maintained.
  • the term(s) “operably coupled to”, “coupled to”, and/or “coupling” includes direct coupling between items and/or indirect coupling between items via one or more intervening items.
  • Such items and intervening items include, but are not limited to, junctions, communication paths, components, circuit elements, circuits, functional blocks, and/or devices.
  • a signal conveyed from a first item to a second item may be modified by one or more intervening items by modifying the form, nature or format of information in a signal, while one or more elements of the information in the signal are nevertheless conveyed in a manner than can be recognized by the second item.
  • an action in a first item can cause a reaction on the second item, as a result of actions and/or reactions in one or more intervening items.
  • a method comprises: providing, by a processing system including a processor over a network to an end user device, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game, wherein each of the plurality of gaming canvasses is a sector of a map of the video game, wherein the first video gaming data facilitates playing of the video game in a browser of the end user device; and providing, by the processing system over the network to the end user device, at least a portion of second video gaming data associated with a second gaming canvass, wherein the second gaming canvass is selected from among the plurality of gaming canvasses according to a predicting of movement of a player, wherein the second gaming canvass is another sector of the map adjacent to the first gaming canvass, wherein the providing the at least a portion of the second video gaming data occurs prior to the player entering the second gaming canvass, and wherein the second video gaming data facilitates playing of the video game in the browser of the end user device.
  • the predicting is based on a directional vector of the player that is calculated from player movement through the first gaming canvass. In one or more embodiments of a method, the predicting is based on an object location of an object of interest in the video game. In one or more embodiments of a method, the object location is in the second gaming canvass or is closer to the second gaming canvass than to a third gaming canvass adjacent to the first gaming canvass. In one or more embodiments of a method, the predicting is based on historical movement of the player through the first gaming canvass. In one or more embodiments of a method, the predicting is based on historical movement of other players through the first gaming canvass.
  • a predicted time is estimated for when the player will enter the second gaming canvass, wherein the providing the at least a portion of second video gaming data is based on the predicted time.
  • a commencement of the providing the at least a portion of second video gaming data is selected based on the predicted time.
  • a data rate of the providing the at least a portion of second video gaming data is selected based on the predicted time.
  • the providing of at least a portion of the first and second video gaming data is via chunks that reference resources.
  • the predicting is performed utilizing a machine learning model, wherein training data for the machine learning model includes one of present player movement of the player through the first gaming canvass, historical player movement of the player through the first gaming canvass, other historical player movement of other players through the first gaming canvass, object locations of objects of interest in the video game, or a combination thereof.
  • a size of one or more of the plurality of gaming canvasses of the video game is selected according to network conditions of the network, device capabilities of the end user device, or a combination thereof.
  • a non-transitory machine-readable medium comprises executable instructions that, when executed by an end user device, facilitate performance of operations, the operations comprising: receiving, over a network from a server, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game, wherein each of the plurality of gaming canvasses is a sector of a map of the video game; executing the video game in a browser of the end user device based at least in part on the first video gaming data; receiving user input at a user interface of the end user device associated with controlling movement of a player in the first gaming canvass; receiving, over the network from the server, at least a portion of second video gaming data associated with a second gaming canvass, wherein the receiving the at least a portion of the second video gaming data occurs prior to the player entering the second gaming canvass, wherein the second gaming canvass is selected from among the plurality of gaming canvasses according to a predicting of movement of the player, wherein the second gaming canvas
  • the predicting is performed utilizing a machine learning model, wherein training data for the machine learning model includes one of present player movement of the player through the first gaming canvass, historical player movement of the player through the first gaming canvass, other historical player movement of other players through the first gaming canvass, object locations of objects of interest in the video game, or a combination thereof.
  • the predicting is performed according to estimating a predicted time when the player will enter the second gaming canvass based on a velocity of the player, and wherein a commencement of the receiving the at least a portion of second video gaming data is based on the predicted time.
  • a device comprises: a processing system including a processor; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations, the operations comprising: providing, over a network to an end user device, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game, wherein each of the plurality of gaming canvasses is a sector of a map of the video game, wherein the first video gaming data facilitates playing the video game in a browser of the end user device; and providing, over the network to the end user device, at least a portion of second video gaming data associated with a second gaming canvass, wherein the providing the at least a portion of the second video gaming data occurs prior to a player entering the second gaming canvass, wherein the second gaming canvass is selected from among the plurality of gaming canvasses according to a predicting of movement of the player, wherein the second gaming canvass is another sector of the map adjacent to the first gaming canvass, and wherein the second
  • the predicting is performed utilizing a machine learning model, wherein training data for the machine learning model includes one of present player movement of the player through the first gaming canvass, historical player movement of the player through the first gaming canvass, other historical player movement of other players through the first gaming canvass, object locations of objects of interest in the video game, or a combination thereof.
  • the predicting is performed according to estimating a predicted time when the player will enter the second gaming canvass based on a velocity of the player, and wherein a commencement of the providing the at least a portion of second video gaming data is based on the predicted time.
  • the providing of at least a portion of the first and second video gaming data is via chunks that reference resources, wherein at least a portion of the resources are available at a content delivery network.
  • a size of one or more of the plurality of gaming canvasses of the video game is selected according to network conditions of the network, device capabilities of the end user device, or a combination thereof.
  • a method comprises: providing, by a processing system including a processor over a network to an end user device, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game without providing a remainder of video gaming data that is not associated with the first gaming canvass, wherein each of the plurality of gaming canvasses is a sector of a map of the video game, wherein the first video gaming data enables commencing playing the video game in a browser of the end user device; and providing, by the processing system over the network to the end user device, second video gaming data associated with a second gaming canvass that is another sector of the map adjacent to the first gaming canvass, wherein the providing the second video gaming data commences prior to a player entering the second gaming canvass, wherein the second video gaming data facilitates playing of the video game in the browser of the end user device, and wherein the providing the second video gaming data comprises: prioritizing downloading of static objects according to Axis-Aligned Bounding Box (
  • the prioritizing downloading of static objects is based on a higher priority for larger AABB volumes. In one or more embodiments of a method, the prioritizing downloading of static objects is based on a higher priority for a closer distance to the player. In one or more embodiments of a method, the prioritizing downloading of dynamic objects is based on a higher priority for the type of the dynamic objects that can damage a player. In one or more embodiments of a method, the providing the second video gaming data comprises: prioritizing downloading of other players according to whether the other players can damage the player. In one or more embodiments of a method, the memory pressure calculation is based on an available memory for use by the end user device and resources in a resource load queue.
  • the providing the second video gaming data comprises: prioritizing downloading type of content according to dynamic meshes then particle systems then static meshes. In one or more embodiments of a method, the providing the second video gaming data comprises: determining that particular content is to be presented within a particular time period and prioritizing downloading of that particular content over other content already in a downloading queue. In one or more embodiments of a method, the particular content that is to be presented within the particular time period is a conversation tree for the player interacting with a non-player character. In one or more embodiments of a method, the providing of at least a portion of the first and second video gaming data is via chunks that reference resources.
  • At least a portion of the resources are requested by the end user device from a content delivery network.
  • the content delivery network bundles a group of resources in real time at an edge node to satisfy a single request by the end user device.
  • the end user device receives the bundled group of resources from the edge node in a file utilizing a compressed format.
  • the second gaming canvass is selected from among the plurality of gaming canvasses according to a predicting of movement of the player.
  • the predicting is performed utilizing a machine learning model, wherein training data for the machine learning model includes one of present player movement of the player through the first gaming canvass, historical player movement of the player through the first gaming canvass, other historical player movement of other players through the first gaming canvass, object locations of objects of interest in the video game, or a combination thereof.
  • the predicting is performed according to estimating a predicted time when the player will enter the second gaming canvass based on a velocity of the player, and wherein a commencement of the providing the second video gaming data is based on the predicted time.
  • a non-transitory machine-readable medium comprises executable instructions that, when executed by an end user device, facilitate performance of operations, the operations comprising: receiving, over a network, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game without receiving a remainder of video gaming data that is not associated with the first gaming canvass, wherein each of the plurality of gaming canvasses is a sector of a map of the video game; executing the video game in a browser of the end user device based at least in part on the first video gaming data; receiving user input at a user interface of the end user device associated with controlling movement of a player in the first gaming canvass; receiving, over the network, second video gaming data associated with a second gaming canvass that is another sector of the map adjacent to the first gaming canvass, wherein the receiving the second video gaming data occurs prior to the player entering the second gaming canvass; sending, over the network to an edge node of a content delivery network, a single request for resources
  • unloading of the video gaming data is according to a memory pressure calculation for the end user device, reference counting of resources associated with the static and dynamic objects, access times for the static and dynamic objects, and unloading policies assigned to a resource type
  • the receiving the second video gaming data comprises prioritizing downloading of static objects according to Axis-Aligned Bounding Box (AABB) volume and distance to the player and prioritizing downloading of dynamic objects according to type and distance to the player.
  • AABB Axis-Aligned Bounding Box
  • an end user device comprises: a processing system including a processor; a user interface; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations, the operations comprising: receiving, over a network, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game without receiving a remainder of video gaming data that is not associated with the first gaming canvass, wherein each of the plurality of gaming canvasses is a sector of a map of the video game; executing the video game in a browser based at least in part on the first video gaming data; receiving user input at the user interface associated with controlling movement of a player in the first gaming canvass; receiving, over the network, second video gaming data associated with a second gaming canvass that is another sector of the map adjacent to the first gaming canvass, wherein the receiving the second video gaming data occurs prior to the player entering the second gaming canvass; and continuing executing the video game in the browser of the end user device based at least in part
  • the operations further comprise: sending, over the network to an edge node of a content delivery network, a single request for resources associated with chunks of a portion of the second video gaming data; and receiving, over the network from the edge node of the content delivery network, bundled resources that were obtained in real-time by the edge node in response to the single request.

Abstract

Aspects of the subject disclosure may include, for example, providing a user interface that includes item information for a gaming item, where the item information includes historical data for the gaming item, where the historical data includes transaction data for the gaming item, where the gaming item is a non-fungible token digital asset that is presented in a video game. A transfer of the non-fungible token digital asset can be facilitated from a previous owner to a present owner, where the transfer is recorded in a blockchain of the non-fungible token digital asset according to a consensus decision of multiple nodes associated with a distributed ledger platform, and where the transaction data is updated according to the transfer to the present owner. Other embodiments are disclosed.

Description

METHOD AND APPARATUS FOR MANAGING DIGITAL ASSETS AND NON- FUNGIBLE TOKENS
Inventors Joris Huijbregts Tom Yaxley
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims priority to U.S. Patent Application Serial No. 63/297,945 filed January 10, 2022, and U.S. Patent Application Serial No. 63/297,940 filed January 10, 2022, and U.S. Patent Application Serial No. 63/297,941 filed January 10, 2022. The contents of each of the foregoing are hereby incorporated by reference into this application as if set forth herein in full.
FIELD OF THE DISCLOSURE
[0002] The subject disclosure relates to managing digital assets and non -fungible tokens.
BACKGROUND
[0003] As more users experience virtual worlds, digital assets, video games and other electronic media, interest in these electronic media expands. Users often spend a large amount of time involved in or experiencing these electronic media, such as playing in a video game with other users. Gaming items (e.g., gaming skins, weapons, pets) can be difficult and time consuming to obtain. Once obtained, users often place a value on possession, maintaining and utilization of these particular gaming items. Other users may have an interest in the particular gaming item of another user. Uniqueness of a gaming item can increase that value. However, managing the uniqueness of gaming items presents particular difficulties since these are digital assets rather than physical assets.
[0004] As user interest in (and thus user participation or access to) virtual worlds, digital assets, video games and other electronic media expands, resource requirements increase. Additionally, user expectation of quality of experience also is increasing. A traditional game downloads all 3D models, audio, code, and so forth up front and then loads it in at the start of a level or the entire game. This ensures that all files are present on the file system when launching the game and makes the development process easier. However, the end-user has the unfortunate downside of having to download the entire game before being able to play the game, as well as subsequently receiving large updates and patches, such as tens of gigabytes or more. Delays in accessing a game can be a frustrating experience for a user.
BRIEF DESCRIPTION OF THE DRAWINGS
[0005] Reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein:
[0006] FIG. 1 is a block diagram illustrating an exemplary, non-limiting embodiment of a communication system in accordance with various aspects described herein.
[0007] FIG. 2A is a block diagram illustrating an example, non-limiting embodiment of a system functioning within the communication system of FIG. 1 in accordance with various aspects described herein.
[0008] FIG. 2B depicts an illustrative embodiment of a method in accordance with various aspects described herein.
[0009] FIG. 2C depicts an illustrative embodiment of a user interface in accordance with various aspects described herein.
[00010] FIG. 2D depicts an illustrative embodiment of a user interface in accordance with various aspects described herein.
[00011] FIG. 3A depicts an illustrative embodiment of a method in accordance with various aspects described herein.
[00012] FIG. 3B depicts an illustrative embodiment of a method in accordance with various aspects described herein.
[00013] FIG. 3C depicts an illustrative embodiment of a process and sector map in accordance with various aspects described herein.
[00014] FIG. 3D depicts an illustrative embodiment of a method in accordance with various aspects described herein. [00015] FIG. 3E depicts an illustrative embodiment of a method in accordance with various aspects described herein.
[00016] FIG. 4 is a block diagram of an example, non-limiting embodiment of a computing environment in accordance with various aspects described herein.
[00017] FIG. 5 is a block diagram of an example, non-limiting embodiment of a communication device in accordance with various aspects described herein.
DETAILED DESCRIPTION
[00018] The subject disclosure describes, among other things, illustrative embodiments for generating, adjusting, describing, transferring and/or managing NFT digital assets. As an example, an NFT can be data stored on a digital ledger that certifies or authenticates a digital asset as unique as compared to a fungible asset, such as cryptocurrency that is interchangeable with another identical item. The NFT digital assets can be various types including items or objects associated with one or more video games, such as gaming skins, outfits, weapons, jewelry, pets, furnishings, housing, land, vehicles, non-player character assistants or other items and objects that can be presented (visually and/or audibly) in the video game(s) such as in association with or in connection to a particular player. In other embodiments, the NFT digital assets can be various unique actions associated with a particular player, such as movements, dancing, speech, singing, or other visual and/or audible actions that can be presented in the video game(s). In other embodiments, the NFT digital assets can be a particular appearance(s) associated with a particular player in one or more video games. In one or more embodiments, video games can include virtual worlds or other virtual environments where digital items and objects exist. In one or more embodiments, the video games can be browser-based or can be other types of online video games. In one or more embodiments, the video games can be multi-player games or single player games which may or may not be browser-based. In one or more embodiments, the NFT digital assets can be associated with browserbased video games and/or with non-browser-based video games. In one embodiment, the NFT digital assets are gaming items that are given away for free through end game objectives. [00019] In one or more embodiments, the NFT digital assets can be cosmetic or aesthetic in nature and do not provide any in-game competitive advantages to the player over other non-NFT in-game items. In one or more embodiments, the NFT digital assets have the same in-game characteristics (other than appearance) as non-NFT items, such as an NFT sword providing the player with the same abilities (power, speed, damage, defense, etc.) as a non-NFT sword (e.g., standard in-game sword) but appearing differently in the video game. In one embodiment, the NFT digital asset cannot be lost or unintentionally dispossessed from the owner or player and/or cannot deteriorate. In one embodiment, the NFT digital asset may be improved and/or adjusted. In another embodiment, the NFT digital asset may not be improved and/or adjusted. In one embodiment, acquisition of the NFT digital asset may be by way of one or more of being: found in the video game, made in the video game, bought via an exchange, leased via an exchange, bought in the game, and/or leased in the game. In another embodiment, a gaming platform or other entity that is originating the NFT digital asset can limit ways in which it is acquired including specifically prohibiting one or some of: being found in the video game, being made in the video game, being bought via an exchange, being leased via an exchange, being bought in the game, or being leased in the game.
[00020] In one or more embodiments, the NFT digital assets are minted, created, or otherwise generated through use of distributed ledger technology (e.g., blockchain). For example, the NFT digital assets can be created using smart contract protocols on a suitable blockchain, such as the Ethereum blockchain, although other types of distributed ledgers and blockchains can also be utilized. In other embodiments, the NFT digital assets are stored (e.g., blockchain-based storage) and tradeable or otherwise transferable which generates a transaction record on the corresponding blockchain. The transaction record allows for authentication and verification of the NFT transaction. The NFT digital asset can include metadata making it non-fungible and can further include or otherwise be associated with historical data for in-game activity for the NFT digital asset, such as acquisition information showing how the NFT digital asset was acquired (e.g., an acquisition clip capturing the portion of the video game when the NFT digital asset was obtained), information regarding prior owners, and so forth. In one or more embodiments, the historical data can be maintained over multiple transfers so that in- game activity occurring under different owners (e.g., different players) can be accessed. In one or more embodiments, the type of in-game activity that is maintained as historical data can vary, such as gaming clips and/or descriptive information each time a transfer has occurred, descriptive information and/or gaming clips for significant events in the game when the NFT digital asset was being presented, and/or a time line of historical events associated with the NFT digital asset (e.g., when found or made, when sold, and so forth).
[00021] In one or more embodiments, gaming items that are NFT digital assets can be derived or created from other gaming items that are also NFT digital assets such as breeding of pets. In one embodiment, historical data including transaction and ownership data can be maintained for some or all of the gaming items in the lineage, such as keeping records of pets as in a family tree. As an example, the transaction and ownership data can be maintained in blockchains.
[00022] In one or more embodiments, an exchange can be provided that allows for trading of the NFT digital assets including buying/selling (which is recorded on the blockchain). For example, the exchange can present various information in a user interface that is associated with the NFT digital asset, such as some or all of the historical data for the NFT digital asset. As an example, the exchange may allow an owner of the NFT digital asset to select the particular historical data that is presented including owner identification, age of NFT digital asset, timeline of historical events (e.g., when found, purchased, etc.), and/or number of this type of digital asset in a particular game (or in existence).
[00023] In one or more embodiments, a browser-based game can be executed at an end user device according to video gaming data that is provided on demand. For example, the map of the video game can be broken down into sectors which are different gaming canvasses. A prediction can be made as to a player entering an adjacent gaming canvass and that particular canvass or a portion thereof (e.g., objects and information associated therewith) can be downloaded to the browser (or commence downloading) before the player enters that particular adjacent gaming canvass. The prediction can be based on various criteria including a directional vector of player movement, historical movement of the player or other players, locations of objects of interests, behavior patterns, quests being followed, or other tendencies of the player that can facilitate predicting where the player will go. In one embodiment, a machine learning model can be trained on one, some or all of these criteria (as well as other criteria described herein) to facilitate predicting the movement of the player and selecting the adjacent gaming canvass. [00024] In one or more embodiments, downloading of the video game data can be made more efficient through various prioritization and unloading schemes. For example, prioritizing downloading can be based on whether an object is static or dynamic, the type of object, the size or volume of the object, and/or the distance of the object to the player. In another embodiment, the unloading of the video gaming data can be made more efficient by implementing various schemes, such as a memory pressure calculation for the end user device, reference counting of resources associated with the static and dynamic objects, access times for the static and dynamic objects, and/or unloading policies assigned to a resource type. Other embodiments are described in the subject disclosure.
[00025] One or more aspects of the subject disclosure include a method including providing, by a processing system including a processor, a user interface that includes item information for a gaming item, where the item information includes historical data for the gaming item, where the historical data includes transaction data for the gaming item, where the gaming item is a non-fungible token digital asset that is presented in a video game. The method includes facilitating, by the processing system, a transfer of the non-fungible token digital asset from a previous owner to a present owner, where the transfer is recorded in a blockchain of the non-fungible token digital asset according to a consensus decision of multiple nodes associated with a distributed ledger platform, and where the transaction data is updated according to the transfer to the present owner. [00026] One or more aspects of the subject disclosure include a device having a processing system including a processor; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations. The operations include detecting a particular gaming event in a video game for a player associated with a gaming item that is a non-fungible token digital asset that is presented in the video game. The operations include adding event metadata representative of the particular gaming event to a file that is linked to the non-fungible token digital asset. The operations include providing the file to a content delivery network, where the file is accessible to facilitate providing a user interface that includes item information for the gaming item, where the item information includes historical data for the gaming item, where the historical data includes transaction data for the gaming item, and wherein the transaction data is maintained in a blockchain of the non-fungible token digital asset according to a consensus decision of multiple nodes associated with a distributed ledger platform.
[00027] One or more aspects of the subject disclosure include a non-transitory machine-readable medium, comprising executable instructions that, when executed by a processing system including a processor, facilitate performance of operations. The operations include detecting a particular gaming event in a video game for a player associated with a gaming item that is a non-fungible token digital asset that is presented in the video game, where the gaming item is created from first and second gaming items in the video game. The operations include adding event metadata representative of the particular gaming event to a file that is linked to the non-fungible token digital asset. The operations include providing the file to a content delivery network, where the file is accessible to facilitate providing a user interface that includes item information for the gaming item, where the item information includes historical data for the gaming item, where the historical data includes transaction data for the gaming item, and wherein the transaction data is maintained in a blockchain of the non-fungible token digital asset according to a consensus decision of multiple nodes associated with a distributed ledger platform.
[00028] One or more aspects of the subject disclosure include a method including providing, by a processing system including a processor over a network to an end user device, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game, where each of the plurality of gaming canvasses is a sector of a map of the video game, where the first video gaming data facilitates playing of the video game in a browser of the end user device. The method includes providing, by the processing system over the network to the end user device, at least a portion of second video gaming data associated with a second gaming canvass, where the second gaming canvass is selected from among the plurality of gaming canvasses according to a predicting of movement of the player, where the second gaming canvass is another sector of the map adjacent to the first gaming canvass, where the providing the at least a portion of the second video gaming data occurs prior to the player entering the second gaming canvass, and where the second video gaming data facilitates playing of the video game in the browser of the end user device.
[00029] One or more aspects of the subject disclosure include a non-transitory machine-readable medium, comprising executable instructions that, when executed by an end user device, facilitate performance of operations. The operations include receiving, over a network from a server, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game, wherein each of the plurality of gaming canvasses is a sector of a map of the video game. The operations include executing the video game in a browser of the end user device based at least in part on the first video gaming data. The operations include receiving user input at a user interface of the end user device associated with controlling movement of a player in the first gaming canvass. The operations include receiving, over the network from the server, at least a portion of second video gaming data associated with a second gaming canvass, wherein the receiving the at least a portion of the second video gaming data occurs prior to the player entering the second gaming canvass, where the second gaming canvass is selected from among the plurality of gaming canvasses according to a predicting of movement of the player, where the second gaming canvass is another sector of the map adjacent to the first gaming canvass. The operations include continuing executing the video game in the browser of the end user device based at least in part on the second video gaming data.
[00030] One or more aspects of the subject disclosure include a device having a processing system including a processor; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations. The operations include providing, over a network to an end user device, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game, where each of the plurality of gaming canvasses is a sector of a map of the video game, where the first video gaming data facilitates playing the video game in a browser of the end user device. The operations include providing, over the network to the end user device, at least a portion of second video gaming data associated with a second gaming canvass, where the providing the at least a portion of the second video gaming data occurs prior to a player entering the second gaming canvass, where the second gaming canvass is selected from among the plurality of gaming canvasses according to a predicting of movement of the player, where the second gaming canvass is another sector of the map adjacent to the first gaming canvass, and where the second video gaming data facilitates playing of the video game in the browser of the end user device.
[00031] One or more aspects of the subject disclosure include a method including providing, by a processing system including a processor over a network to an end user device, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game without providing a remainder of video gaming data that is not associated with the first gaming canvass, wherein each of the plurality of gaming canvasses is a sector of a map of the video game, wherein the first video gaming data enables commencing playing the video game in a browser of the end user device. The method includes providing, by the processing system over the network to the end user device, second video gaming data associated with a second gaming canvass that is another sector of the map adjacent to the first gaming canvass, where the providing the second video gaming data commences prior to a player entering the second gaming canvass, where the second video gaming data facilitates playing of the video game in the browser of the end user device. The providing the second video gaming data comprises: prioritizing downloading of static objects according to Axis-Aligned Bounding Box (AABB) volume and distance to the player; and prioritizing downloading of dynamic objects according to type and distance to the player, where unloading of the video gaming data is according to a memory pressure calculation for the end user device, reference counting of resources associated with the static and dynamic objects, access times for the static and dynamic objects, and unloading policies assigned to a resource type.
[00032] One or more aspects of the subject disclosure include a non-transitory machine-readable medium, comprising executable instructions that, when executed by an end user device, facilitate performance of operations. The operations include receiving, over a network, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game without receiving a remainder of video gaming data that is not associated with the first gaming canvass, where each of the plurality of gaming canvasses is a sector of a map of the video game. The operations include executing the video game in a browser of the end user device based at least in part on the first video gaming data. The operations include receiving user input at a user interface of the end user device associated with controlling movement of a player in the first gaming canvass. The operations include receiving, over the network, second video gaming data associated with a second gaming canvass that is another sector of the map adjacent to the first gaming canvass, where the receiving the second video gaming data occurs prior to the player entering the second gaming canvass. The operations include sending, over the network to an edge node of a content delivery network, a single request for resources associated with chunks of a portion of the second video gaming data. The operations include receiving, over the network from the edge node of the content delivery network, bundled resources that were obtained in real-time by the edge node in response to the single request. The operations include continuing executing the video game in the browser of the end user device based at least in part on the second video gaming data and the bundled resources.
[00033] One or more aspects of the subject disclosure include an end user device having a processing system including a processor; a user interface; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations. The operations include receiving, over a network, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game without receiving a remainder of video gaming data that is not associated with the first gaming canvass, wherein each of the plurality of gaming canvasses is a sector of a map of the video game. The operations include executing the video game in a browser based at least in part on the first video gaming data. The operations include receiving user input at the user interface associated with controlling movement of a player in the first gaming canvass. The operations include receiving, over the network, second video gaming data associated with a second gaming canvass that is another sector of the map adjacent to the first gaming canvass, where the receiving the second video gaming data occurs prior to the player entering the second gaming canvass. The operations include continuing executing the video game in the browser of the end user device based at least in part on the second video gaming data, where unloading of the video gaming data is according to a memory pressure calculation for the end user device, reference counting of resources associated with the static and dynamic objects, access times for the static and dynamic objects, and unloading policies assigned to a resource type.
[00034] Referring now to FIG. 1, a block diagram is shown illustrating an example, non-limiting embodiment of a system 100 in accordance with various aspects described herein. System 100 can include one or more gaming platforms 180 for providing gaming services to end user devices (e.g., browser-based or other types of video games), one or more exchange platforms 190 for managing NFT digital assets (including transfers of the NFT digital assets) that are associated with video game(s) managed by the gaming platform(s), and blockchain nodes/platform(s) 195 that can be utilized for creating and maintaining the NFT digital assets. The platforms 180, 190 and/or 195 can include various software and hardware such as devices, servers or other equipment (including cloud-based resources and processing) that allows the platforms to perform various computing functionality, such as described herein. For instance, an end user device 105 is illustrated (e.g., a mobile phone although other end user devices can also be utilized, such as desktop or laptop computers, tablets, gaming console, etc., which can access, transmit and receive data via a hardwire and/or wireless technology) which is executing a video game 106 (e.g., rendering in its browser) based at least in part on transmitting and receiving video gaming information or data 107 over the network 125. The video gaming data 107 can be of various types that enable a browser to execute/render a video game including one some or all of chunks, resource requests, resources, zip files, bundled resources, audio/video files, texture, model, prefab, shader, shader program, scene, serialized structure, and other types.
[00035] As an example, system 100 can facilitate in whole or in part managing NFT digital assets associated with one or more video games (e.g., a transfer exchange); providing an exchange for transaction of the NFT digital assets; streaming video gaming data on-demand as a player moves around a map in a browser-based video game; predicting player movement based on various criteria including trajectory, historical movements, and/or objects of interest so that adjacent gaming canvass can be pre-loaded (in whole or in part) prior to the player reaching that particular location; prioritizing downloading of particular objects according to various parameters including player distance, object type, and/or object size to facilitate quality of experience and resource usage; and/or performing unloading of objects based on various criteria including memory pressure, reference counting and/or access time to facilitate quality of experience and resource usage.
[00036] In particular, a communications network 125 is presented for providing broadband access 110 to a plurality of data terminals 114 via access terminal 112, and wireless access 120 to a plurality of mobile devices 124 and vehicle 126 via base station or access point 122. The network 125 can provide other services such as voice access to a plurality of telephony devices and/or media access to a plurality of audio/video display devices via media terminals. In addition, communication network 125 is coupled to one or more content sources 170 of gaming resources, audio, video, graphics, text and/or other content or media. While broadband access 110 and wireless access 120 are shown separately, one or more of these forms of access (including voice access and media access) can be combined to provide multiple access services to a single client device (e.g., mobile devices 124 can receive media content via media terminals, data terminals can be provided voice access via a switching device, and so on).
[00037] The communications network 125 can include a plurality of network elements (NE) 150, 152, 154, 156, etc. for facilitating the broadband access 110, wireless access 120, voice access, media access, the distribution of content from content sources 175 and/or video gaming streaming such as in a browser-based environment. The communications network 125 can include a circuit switched or packet switched network, a voice over Internet protocol (VoIP) network, Internet protocol (IP) network, a cable network, a passive or active optical network, a 4G, 5G, or higher generation wireless access network, WIMAX network, UltraWideband network, personal area network or other wireless access network, a broadcast satellite network and/or other communications network.
[00038] In various embodiments, the access terminal 112 can include a digital subscriber line access multiplexer (DSLAM), cable modem termination system (CMTS), optical line terminal (OLT) and/or other access terminal. The data terminals 114 can include personal computers, laptop computers, netbook computers, tablets or other computing devices along with digital subscriber line (DSL) modems, data over coax service interface specification (DOCSIS) modems or other cable modems, a wireless modem such as a 4G, 5G, or higher generation modem, an optical modem and/or other access devices. In various embodiments, the base station or access point 122 can include a 4G, 5G, or higher generation base station, an access point that operates via an 802.11 standard such as 802.1 In, 802.1 lac or other wireless access terminal. The mobile devices 124 can include mobile phones, e-readers, tablets, phablets, wireless modems, and/or other mobile computing devices.
[00039] In various embodiments, the content sources 170 can include content delivery network(s), as well as other types of sources such as broadcast television and radio sources, video on demand platforms and streaming video and audio services platforms, data servers, web servers and other content servers, and/or other sources of media. In various embodiments, the communications network 125 can include wired, optical and/or wireless links and the network elements 150, 152, 154, 156, etc. can include service switching points, signal transfer points, service control points, network gateways, media distribution hubs, servers, firewalls, routers, edge devices, switches and other network nodes for routing and controlling communications traffic over wired, optical and wireless links as part of the Internet and other public networks as well as one or more private networks, for managing subscriber access, for billing and network management and for supporting other network functions.
[00040] System 100 allows for managing of NFT assets via the exchange platform 190 and the blockchain nodes/platform 195. The NFT assets can be digital assets that are associated with one or more video games that are managed by, or otherwise associated with, the gaming platform 180 or other gaming platforms. Various technologies can be implemented in order to provide, maintain and manage the NFT digital assets. As an example, system 100 can provide or make use of a distributed ledger operating as a database for maintaining a digital record of transactions, which can be shared with nodes or devices across the network. In one embodiment, system 100 can employ blockchains for managing the NFT digital assets through use of blockchain nodes 195 which can be a peer to peer network of nodes. For example, particular data associated with the NFT digital assets (e.g., ownership, transactions, etc.) can be grouped together into blocks that are linked together as a chain. In one embodiment, node(s) 195 can communicate with other nodes to validate transactions of the particular blockchain. In this way, the NFT digital asset can be certified as unique and not interchangeable. In one or more embodiments, the NFT digital assets can be created or minted, such as through utilizing smart contract protocols on a blockchain. In one embodiment, NFT digital assets can be stored utilizing blockchain-based storage technology such as storing keys in wallets. In one embodiment, each NFT includes metadata (e.g., creating non-fungibility) and transfers or transactions for the NFT digital asset can be recorded on the blockchain. [00041] Various distributed ledger and/or blockchain functionality can be employed by system 100 for managing the NFT digital assets. For example, nodes (or other blockchain participant devices) of the network can be provided with a same view of the blockchain information and any changes are reflected (e.g., simultaneously) across the ledger network so that accuracy of the transaction can be confirmed (e.g., via reconciliation of individual versions against other versions). In one embodiment, system 100 can utilize distributed ledgers that are public and/or private. In one embodiment, the blockchains of the NFT digital assets operate as databases maintained by nodes 195, where blocks of data are linked together using cryptography such that each new block can be connected to the previous block to act as an audit trail. In one embodiment, nodes 195 operate according to a consensus protocol to verify particular data of the blockchain so that the distributed ledger is updated across all nodes (e.g., simultaneously) and a new block is added to the blockchain resulting in a permanent record of the change. In other embodiments, other blockchain and/or distributed ledger protocols can be employed, which may or may not include consensus protocol, in order to record the transaction of the blockchain and/or distributed ledger in an accurate, secure and certifiable manner. [00042] Exchange platform 190 can be utilized for transactions of the NFT digital assets. For example, the exchange platform 190 can be a stand-alone system and/or can be integrated with the gaming platform 180. In one embodiment, the exchange platform 190 can provide a user interface that includes various item information for a gaming item that is an NFT digital asset. For instance, the item information can include historical data for the gaming item, such as significant in-game events (e.g., slaying a particular boss monster). In another example, the item information or historical data can include transaction data for the gaming item, such as ownership, transactions, timing, and so forth which can be maintained in a blockchain. In another embodiment, some or all of the historical data associated with the NFT digital asset can be maintained or stored: in the blockchain, in a separate file (e.g., JSON file) indexed or associated to the NFT digital asset, or both. In one embodiment, the gaming item is an NFT digital asset that is presented in a video game(s) provided via the gaming platform 180. Exchange platform 190 can facilitate a transfer (e.g., selling or leasing) of the NFT digital asset from a current owner to a new owner, where the transfer is recorded in a blockchain of the NFT digital asset. For example, the blockchain can employ a consensus decision protocol by multiple nodes 195 associated with a distributed ledger platform, where the transaction data of the blockchain is updated according to the transfer to the new owner. In one embodiment, the historical data associated with the NFT digital asset includes a gaming clip captured from the video game when the gaming item was obtained in the video game. In this example, the gaming platform 180 (and/or an end user device) can record or instruct a recording of portions of the video game when an NFT digital asset is originally found, created or otherwise transfers possession in the game. The generating of the clip can be done automatically or can be done at the direction or authorization of the user controlling the particular player. In one embodiment, the exchange platform 190 can be paid a fee (e.g., a percentage of the purchase price or a fixed cost) for enabling the transfer (e.g., selling or leasing) of the NFT digital asset from a current owner to a new owner.
[00043] In one embodiment, event metadata can be stored responsive to a player in possession (or ownership) of the gaming item performing a particular in-game action, where the event metadata indicates the particular in-game action that was performed. For example, certain events can trigger generating the metadata such as slaying a particular boss monster, completing a particular quest, achieving a particular game objective, and so forth. The event metadata can be stored in various ways by various devices (e.g., the end user device 105 and/or a server of the gaming platform 180), such as in a JSON (or other) file that is linked to or otherwise associated with the NFT digital asset. In another embodiment, some or all of the event metadata can be stored in the blockchain of the NFT digital asset, such as a subset of the event metadata that represents more or the most significant in-game events (e.g., as designated by the gaming platform 180).
[00044] The exchange platform 190 can transmit and receive various data 192 that allows for presenting a user interface (e.g., at the end user device 105) for managing transactions associated with the NFT digital assets. In one embodiment, the exchange platform 190 or other computing devices of system 100 can access a file (e.g., a JSON file) that is linked to the NFT digital asset to obtain event metadata that describes a particular in-game action that was performed by a player in possession (or ownership) of the gaming item, where historical data presented by the exchange platform in the user interface for the gaming item is based on the event metadata. In one embodiment, the JSON or other file that is linked to the NFT digital asset and that includes descriptive information for the gaming item including in-game events can be stored by and accessible via a content delivery network, such as CDN 170. In one embodiment, the JSON or other file can include an image(s) or video of the gaming item. In another embodiment, the user interface provided by the exchange platform 190 enables or allows manipulation of views of the image or video of the gaming item, such as rotation, zooming, panning, and so forth. In one embodiment, the user interface provided by the exchange platform 190 includes a written description of the gaming item, a time line indicating different owners of the gaming item, and/or a time line indicating in-game events for the gaming item.
[00045] In one embodiment, the NFT digital asset is compatible with and can be presented in a single video game or in different video games. These different video games can be in the same or different gaming genres or sub-genres, such as an NFT digital asset which is a helmet to be worn by a player in an action video game and in a role-playing video game or as another example in a World War Il-themed video game and in a medieval-themed video game. In this example, the different video games can be developed or operated by the same or different gaming developers and/or the same of different gaming service providers.
[00046] In one or more embodiments, lists and resource identifications can be utilized to facilitate when a client returns to play the video game, such as manifests and/or hashes being analyzed by the game client to identify particular objects that should be obtained when a client returns to play the video game. For example, when a player starts playing a video game for the first time, the player may start the game at an origination point. However, after finishing a gaming session and the returning to start a new video gaming session, the player will want to continue from the departure point (e.g., point on map when previous gaming session was finished) rather starting from the origination session. System 100 can utilize manifests and/or hashes to facilitate this process. When the player returns to the video game, the game client may have relevant chunks, resources or objects already stored locally. For instance, all or some of the resources can have a hash. Local hashes can be stored for those chunks. In one embodiment, if the local chunks are out-of- date or otherwise need updating then the gaming client can download only the ones that are out-of-date and utilize the local chunks for the others. For example, a manifest file can identify a hash mapping of a video game or a particular canvas(ses) of the video game. The gaming client can, in conjunction with a manifest file, check locally first to see if it has the hash or chunk stored already and then can obtain out-of-date resources as needed. In one embodiment, manifest files can be pushed to the game client so the game client can obtain resource(s) (e.g., new tree) and does not need to leave game or cause a server restart. In one embodiment, manifest files can be pushed to and/or pulled by the game client according to various triggers (e.g., periodically, gaming events, distance to a new gaming canvass, etc.).
[00047] System 100 allows for streaming of video gaming data on-demand. The gaming platform 180 can transmit and receive various data 182 that allows for providing gaming services to end user devices. Gaming platform 180 can have various components and perform various functions that enable gaming services according to the type of service, such as browser-based gaming that facilitates rendering the video game via the browser on the display of the end user device or non-browser-based online gaming. For example, gaming platform 180 can facilitate or otherwise provide video gaming data to the end user device 105 such that not all of the gaming data needs to be downloaded before the video game starts (e.g., the user has control over the player in the video game). For instance, video gaming data associated with a first gaming canvass (e.g., a particular sector of the video game map) can be provided to the end user device utilizing various streaming techniques (e.g., chunks that reference resources, resource requests received from the end user device by various devices (such as CDN 170, gaming platform 180) and so forth). A prediction can be made as to the next needed gaming canvass prior to the player entering that particular next gaming canvass. For instance, the prediction can be made and then updated according to one or more of a trajectory (e.g., direction and/or speed) of the player, historical movements or tendencies of the player and/or other players, or objects of interest in or near the gaming canvass. In one embodiment, the gaming canvass sector size can be selected according to various criteria such as network conditions and/or device capabilities. In one embodiment, gaming canvass sizes for the entire map can be the same. In another embodiment, gaming canvass sizes for the entire map can be different such as larger gaming canvasses in areas of the video game world where player movement tends to be faster (e.g., where fewer objects of interest are located) and smaller gaming canvasses in areas of the video game world where player movement tends to be slower (e.g., where numerous objects of interest are located). The prediction can be the basis of selecting the next gaming canvass and video gaming data associated with this next gaming canvass can commence download prior to the player entering this next gaming canvass. In one embodiment, the download of video gaming data for the next gaming canvass is commenced and completed before the player enters this next gaming canvass. In another embodiment, the download of video gaming data for the next gaming canvass is commenced before the player enters this next gaming canvass and is completed while the player is in this next gaming canvass. The prediction can be performed in a number of different ways as described herein including according to a machine learning model such as a convolutional neural network that is trained according to player behavior and/or other player behaviors. The prediction can be performed by various devices including the end user device 105 and/or the gaming platform 180. The training of the machine learning model can be performed by various devices including the gaming platform 180 and/or the end user device 105.
[00048] System 100 allows for a thin gaming client to be utilized on an end user device to facilitate a browser-based video game. In one embodiment, the download of complex objects (e.g., house, dragon) can be prioritized over simpler objects (e.g., blade of grass). In another embodiment, a type of content can dictate or influence prioritization of download (e.g., audio and complex objects). In another embodiment, unloading of the video gaming data is according to one or more of a memory pressure calculation for the end user device, reference counting of resources associated with static and dynamic objects, access times for the static and dynamic objects, and unloading policies assigned to a resource type. Some or all of the prioritization can be determined by various devices including the gaming platform 180 and/or the end user device 105.
[00049] In one embodiment, the CDN 170 can transmit and receive various data 172 that allows for execution of the video game 106 at the end user device 105. For example, the CDN 170 can receive resource requests and can provide the resources over the network 125 to the end user device 105 to enable execution of the video game by the browser. In one embodiment, the end user device 105 can send, over the network to an edge node of the CDN 170, a single request for resources associated with chunks of a portion of gaming canvass of the video game and then the edge node can transmit over the network 125 bundled resources that are obtained in real-time by the edge node in response to the single request. The bundled resources can be sent in a compressed format such as a zip file.
[00050] FIG. 2A illustrates a block diagram for a work flow 200 associated with the NFT digital asset which can be used in system 100. As described herein, various distributed ledger and blockchain technology (illustrated as platform 201) can be employed to maintain or manage the NFT digital asset. As described herein, the NFT digital assets are non-fungible and are issued on a blockchain in order to be authenticated through a decentralized system of nodes 204, such as utilizing a consensus protocol. In one embodiment, the NFTs are stored in or otherwise recorded via smart contracts 205. For instance, the smart contracts 205 can be of various types (e.g., Ethereum) and/or can be executable code that runs on top of the distributed ledger where the NFT is recorded. For example, the NFTs can be certified unique because each digital asset can be linked to a single token stored in the smart contract 205. In one embodiment, only one person can own the specific token authenticating ownership of the content. In one embodiment, the smart contracts 205 can employ Turing-complete scripting languages and/or can execute state transition replication over consensus algorithms. In one embodiment, to transfer an NFT digital asset to a buyer 203, the owner 202 (e.g., via the exchange 190 of FIG. 1) can utilize a private key and can send the digital asset to another address with a correct digital signature, which can be performed as a smart contract transaction (see e.g., ERC- 721). In one embodiment, the NFT owner 202 can digitize raw data into a particular format and can store the raw data in an external database outside the blockchain and/or store the raw data inside the blockchain. In one embodiment, the NFT owner 202 (e.g., via the exchange 190) can sign a transaction, including the hash of NFT data, and then can send the transaction to the smart contract 205 which allows for the transaction to be confirmed as described herein. Whenever the NFT digital asset is sold (or leased), a new transaction occurs which invokes the smart contract 205 and then the transaction can be confirmed through mathematical consensus so that the NFT becomes linked permanently to the unique hash identifier and the distributed blockchain record. In one embodiment, maintain and managing of the NFT digital assets can employ ERC-721 and can make use of public blockchain protocols and platforms such as Ethereum, EOS, Cardano, and so forth.
[00051] In one embodiment, a file 206 can be linked to the NFT digital asset. For example, the file 206 can include event metadata that describes a particular in-game action(s) that were performed by a player in possession (or ownership) of the gaming item. The type of historical data to be recorded via the event metadata can vary and can be presented (in whole or in part) in the user interface of the exchange platform 190 for the gaming item. For example, the file 206 can be stored at various locations, such as the CDN 170, the end user device 105, and/or the gaming platform 180, and can be accessed by the exchange platform 190 for presentation. In one embodiment, the file 206 is a JSON file. In one embodiment, the file 206 includes an image or video of the gaming item and/or a gaming clip captured from the video game when the gaming item was obtained in the video game.
[00052] In one embodiment, the NFT digital asset can be a static NFT with permanently immutable traits and data recorded on the blockchain. In this example, historical data (e.g., in-game events) can be stored in a separate file which can be updated but the traits of the NFT digital asset (e.g., color, shape, design, aesthetic features) cannot be altered, although ownership changes can be recorded in the blockchain. In another embodiment, the NFT digital asset can be a dynamic NFT with traits and data (some or all) that can be changed such as through in-game events. For example, certain traits of the NFT digital asset (e.g., one or more of the color, shape, design, aesthetic features) can be altered such as via an armorer improvement of a weapon or clothing alterations of a costume through in-game efforts (e.g., a player performing blacksmithing, leatherworking, dyeing, etc.). In this example, one, some or all the changes to the traits can be recorded in the blockchain and/or in a separate file so that a history of the improvement of the NFT digital asset is stored. In one embodiment, player-designed changes to traits of the NFT digital asset which are stored in the blockchain can also include a user signature or indicia, such as a user signing (e.g., handwritten signature) the bottom of a customized clothing outfit, which can also be permanently stored in the blockchain. [00053] FIG. 2B illustrates a block diagram for a work flow 210 for storing in-game events in connection with the NFT digital asset which can be used in system 100. This example shows the events being stored in a separate file(s), however, other embodiments can have one, some or all of the particular events stored in the blockchain (e.g., based on the event being a first or fastest in the video game at a particular point in time). The work flow 210 or portions thereof can be performed by various devices in system 100 including the end user device 105 and/or the gaming platform 180. For example at 2102, metadata can be added whenever the player performs a notable in-game action (e.g., when in possession or ownership of the NFT digital asset). For instance, being the first player to slay a boss monster or being the fastest to clear a dungeon can be events that are stored in a file that is indexed or otherwise associated with the NFT digital asset. In one embodiment, the events or the metadata describing the events (or a portion thereof) are never removed from the association with the gaming item. In one embodiment of workflow 210 at 2104 and 2106, an in-game action which satisfies an event threshold (e.g., defined by the gaming platform 180 such as based on a number of times the event has been or is predicted to be accomplished over a given time period) triggers generating metadata descriptive of the event (time, location, event parameters, etc.) and loading the metadata on to a file, such as a JSON file (which may already exist and be associated with the NFT digital asset or may be a new file that is generated and then associated with the NFT digital asset). The file can then be uploaded at 2108 for storage or to provide other devices with access thereto, such as to CDN 170. In one embodiment at 2110, the adding of the event metadata triggers a notification to other devices of change to the file, such as other clients, gaming platform 180, exchange platform 190, and so forth. In one embodiment at 2112, the CDN 170 can be provided with a notification that the file has been changed so that a cache can be cleared to facilitate access to the correct metadata included in the updated file.
[00054] In one or more embodiments, the exchange platform 190 can access metadata in the file (e.g., JSON file) which is linked to the NFT digital asset. The exchange platform 190 (including operated by third party entities or operated by an entity providing the video game service) can index this data to visually show the NFT digital (e.g., an image included in the JSON file) or provide a text-based description of the item and/or historical events (which can also be included in the JSON file). As one example, a plot of land in the video game can have X, Y coordinates as their metadata, as well as a description of historical events that are unique to that particular item, which can then be presented in a user interface by the exchange platform 190 based on accessing the JSON file.
[00055] In one embodiment, storing information on the blockchain of the NFT digital asset can be limited to particular information, such as ownership/transactions while other information is added to the JSON file such as historical in-game events. However, the amount and type of information that is stored in the blockchain of the NFT digital asset can vary according to various criteria, such as available processing resources, cost/efficiency of blockchain storage, significance of in-game event, type of NFT digital asset, and so forth. In one embodiment, the particular information to be stored on the blockchain can be controlled by the gaming platform 180, which may or may not change over the lifetime of the video game or of the NFT digital asset.
[00056] FIG. 2C is a block diagram illustrating an example, non-limiting embodiment of a user interface (UI) 220 functioning within the communication system of FIG. 1 in accordance with various aspects described herein. The UI 220 can be managed or provided via various devices such as the exchange platform 190 (which can be a third party entity or can be operated by the entity operating the gaming platform 180). The UI 220 can be presented on various devices such as end user device 105 or other computing devices in the system 100 that are seeking information regarding particular NFT digital assets. The UI 220 can present various information, including a manipulatable view 2202 of an image/video and/or a text description, of the gaming item which is an NFT digital asset. In this example, the UI 220 shows the name of the NFT digital asset, the number of other players that have a similar NFT digital assets (e.g., each NFT digital asset has a unique identity but in this example there can be other NFT digital assets that look the same and which also have their own unique identities), the lifetime of the NFT digital asset, the owner, and a written description of the NFT digital asset. In one embodiment, a time line 2204 of ownership with dates, how acquired, and by whom acquired, can be presented in the UI 220.
[00057] In one embodiment, the NFT digital asset may be a one of a kind such that there are no other similar gaming items (no other NFT digital assets with a similar appearance) available in the video game(s). In one embodiment, the NFT digital asset may be part of a set of similar gaming items where each member of the set is a different NFT digital asset. In this example, members of the set may appear similar, although they remain non-fungible due to their blockchain data. For example, the gaming platform 180 may limit the number of a weapon XYZ that will ever be introduced into the game to one hundred. Each of the weapons XYZ may look similar but they are each NFT digital assets that are non-fungible. Continuing with this example, once all one hundred of weapons XYZ are introduced into the video game, the only way for a player to obtain the weapon XYZ is from another player already in possession or ownership, such as through buying or leasing weapon XYZ via exchange platform 190.
[00058] In one embodiment, the UI 220 can show the total number of the type of NFT that will be made available and/or show the number that have already been made available. In one embodiment, a single player may own multiple ones of the total number of the type of NFT that is being made available.
[00059] FIG. 2D is a block diagram illustrating an example, non-limiting embodiment of a user interface (UI) 250 functioning within the communication system of FIG. 1 in accordance with various aspects described herein. The UI 250 can be managed or provided via various devices such as the exchange platform 190 (which can be a third party entity or can be operated by the entity operating the gaming platform 180). The UI 250 can be presented on various devices such as end user device 105 or other computing devices in the system 100 that are seeking information regarding particular NFT digital assets. The UI 250 can present various information, including a manipulatable view 2502 of an image/video and/or a text description, of the gaming item which is an NFT digital asset. In this example, the NFT gaming item is a pet (e.g., a horse) and the UI 250 shows the name of the NFT digital asset, compatible video games that can present or utilize the NFT digital asset, a description of the NFT digital asset, and the owner. In one embodiment, a time line 2504 of ownership (e.g., with dates, how acquired, and by whom acquired) can be presented in the UI 250. In one embodiment, a time line 2506 of ingame events (e.g. with dates, locations, and description) can be presented in the UI 250. In one embodiment, the lineage 2508 of the pet (e.g., mother, father, grandparents, and so forth) can be presented along with various information regarding that lineage. For instance, historical information including ownership and/or in-game events can be presented for each or some of the lineage, such as in a time line or other format. In one embodiment, the name of the NFT gaming item can be provided by the original and/or new owner, and can be stored in the blockchain, where the name may or may not be changeable. The UI 250 allows a potential buyer to access various information regarding the NFT digital asset so that an information transaction decision (buying or leasing) can be made.
[00060] In one embodiment, the NFT digital asset can be created from other NFT digital assets (e.g., breeding pets, combining items of clothing, combining weapons, grouping pets such as a team of dogs, and so forth). For example, a player/owner may obtain (e.g., find in-game, purchase/lease from exchange, etc.) two pets that are each NFT digital assets and breed them to create a third pet that is an NFT digital asset. As another example, a player/owner may obtain (e.g., find in-game, purchase/lease from exchange, etc.) a group of pets that are each NFT digital assets and create a team of pets (e.g., horses for a wagon, dogs for a sled, etc.) that is an NFT digital asset. As another example, a player/owner may obtain (e.g., find in-game, make/assemble, purchase/lease from exchange, etc.) a group of items that are each NFT digital assets and combine them into a single item such as creating a complete player wardrobe by combing a hat, shirt, coat, shoes and so forth which becomes an NFT digital asset or creating a single weapon which becomes an NFT digital asset from multiple smaller weapons (that are each NFT digital assets) such as a doubled headed spear from two individual spears. In one or more of these examples the blockchains for the original or individual NFT digital assets can continue to be maintained. In one or more of these examples, historical information including ownership and/or in-game events can be presented for some or all of the original NFT digital assets, such as in a time line or other format.
[00061] FIG. 3A illustrates a block diagram for a process 300 for streaming the data on-demand as the player moves around the map or world of the video game (rather than downloading everything up front) which can be used in system 100. All or some of the functions of process 300 can be performed by various devices of system 100 including the client/end user device 105. In one embodiment, this provides for a thin game client executed within a browser with a dynamic limited gaming canvas. For example, a player starts in a specific area. 3D models can be downloaded on-demand while the player can already begin to move around and interact with the video game. As the player moves from a first location to a second location, the client can predict where the player is going and can start to download the second location even before the player reaches the second location. In one embodiment, everything will be loaded by the client just before the player enters the new area (e.g., adjacent gaming canvass). This can create a seamless experience for the user, allowing the user to start playing the game in a short period of time (e.g., 5 seconds). Process 300 can determine when a player is visiting a new area at 3002 and then attempt to download and process the appropriate scene at 3004 and 3006. Process 300 provides for monitoring the cache at 3008 to determine whether a file is to be downloaded or whether the data can be loaded from the cache. Process 300 allows for determining whether all dependencies are loaded 3010 and then displaying a model at 3012 if enough dependencies are met and displaying a scene at 3014 if all dependencies are loaded.
[00062] In one embodiment, downloading priority rules can be applied. For example, static objects (e.g., buildings, grass, water, etc.) can be prioritized by size (e.g., AABB bounding box volume) and/or the distance to the particular player. This means larger objects, closest to the player will load first, then large objects away from the player, and lastly smaller objects from closest to furthest away from the player. In one embodiment, dynamic objects (e.g., other players, creatures, non-player characters) can be prioritized based on the distance to the player and/or their type. For example, a first animal that cannot damage the player can be given a lower/lowest priority for download of dynamic objects, while a second animal that can damage or kill the player can have a higher/highest priority for download. The same schemes can be applied to the creature’s animations and combat abilities, which are required for the client to visualize combat associated with the creature. Downloading of other players can have a particular priority based on the area the player is in, such as if the player is in a player-vs-player zone where other players can damage or kill the player then the client can prioritize the downloading of players over everything else or over other gaming items. In one embodiment, download priority can be given to collision data.
[00063] In one embodiment, the downloading priority for asset types can be based on dynamic meshes first, then particle systems and other prefabs, then static meshes, then the remainder of data such as audio, quest information, and so forth. In one embodiment, particular information that is determined (e.g., by the client) to be needed in a particular time period, such as within the near future (e.g., the next few seconds or minutes) can be provided with special priority. For instance, if the client determines that it requires particular information right away to present to the player (e.g., a conversation tree when a player has begun interacting with a non-player character), this resource corresponding to the particular information can skip to the front, or at least ahead, in the download queue. [00064] In one embodiment, unloading of objects can be performed by way of various criteria and techniques, including reference counting and unloading policies or conditions, which can be employed or enforced by the client. For example, all objects can be reference counted such that each time a resource is referenced it increases the counter by one and when dereferenced it decreases the counter by one. When the counter reaches zero and the conditions for that resource type are met the resource is unloaded. In one embodiment, memory pressure can be employed to determine or otherwise to be used as a factor in unloading. For instance, whenever the game client determines that it has begun consuming memory resources over a particular threshold then objects can be more aggressively expelled from memory. In one embodiment, the unloading conditions of each or some resource types can be unique. For example, the unloading of large files (e.g., background music) can be done based on a lack of use, such as only after the resource has gone unused for a particular time threshold (e.g., 5 minutes of reference count being zero), and/or if the memory pressure is high enough (e.g., above a memory pressure threshold) to evict the song from memory sooner.
[00065] In one embodiment, pre-processed bundling of resources can be performed. For example, certain resources can always be requested as a single bundle, instead of many individual pieces. For instance, the game UI can include or consist of many small images, icons, audio clips and/or XML definition files. These files can be bundled at the video game’s build-time to improve or optimize the client’s download requirements and to help reduce bandwidth. As an example, each compressed bundle can contain resources inside that, once uncompressed, will be added to the resource management system. For instance, if the client downloads a bundle that contains tree A and later needs tree A again then the client will not download the non-bundled resource again, but instead will use the already cached resource.
[00066] In one embodiment, real-time bundling of resources can be employed or implemented. For example, when a resource is needed, it can be requested from a CDN network (e.g., Cloudflare). In one embodiment, some of the resources can be downloaded one at a time over HTTP/2 or HTTP/3 (full duplexing enabled). In one embodiment, a bundled file can be utilized to download exactly the assets that the client determines it needs. For instance, using CDN edge node workers, the exemplary embodiments can build bundles in real-time, on the fly, for the clients.
[00067] FIG. 3B illustrates a block diagram for a process 320 for bundling of resources which can be used in system 100. All or some of the functions of process 320 can be performed by various devices of system 100 including the client/end user device 105 and/or the CDN 170. As an example, if a client needs a resource(s) at 3202 such as to download tree A, tree B, grass A and building A then instead of doing four separate requests to download these resources (and potentially more requests for its dependencies), the client can do a single request to an edge node 3204 or other device of the CDN and request all assets at once. The edge node can then obtain all assets and/or dependencies needed, bundle them together into a compressed file 3205 (e.g., a zip file), and send this bundle back to the client. Process 320 reduces the amount of requests but puts additional load on the edge nodes. Process 320 also reduces bandwidth, as the client only has to download what is needed, and some file formats share similar header data which can be compressed, such as via dictionary-based compressors.
[00068] FIG. 3C illustrates a block diagram representative of a process/sector map 330 for predicting video game data that should be provided to the client which can be used in system 100. All or some of the functions of process 330 can be performed by various devices of system 100 including the client/end user device 105 and/or the gaming platform 180. In one embodiment, the map or world of the video game can be broken up or otherwise categorized into a plurality of gaming canvasses which are each a sector of the map or world. As explained herein, predicting a next needed gaming canvass can be utilized to facilitate and improve the efficiency of data downloading and execution of the video game by the end user device. As an example, scenes can be loaded in chunks where a chunk contains all static entities in a given area. In this example, the chunk itself does not contain any resources but refers to or references them. In one embodiment, through velocity/ direction extrapolation, process 330 can be utilized to predict where players will end up in a specific time window. By calculating a directional vector, process 330 allows for pre-loading the correct chunks before the user is able to see them, creating a seamless experience. One or more other criteria can also be utilized alone, in combination with each other and/or in combination with the directional vector for predicting the next needed gaming canvass, such as the predicting being based on an object location of an object of interest in the video game, the object location being in the second gaming canvass or closer to the second gaming canvass than to a third gaming canvass adjacent to the first (current) gaming canvass; the predicting being based on historical movement of the player through the first gaming canvass; and/or the predicting being based on historical movement of other players through the first gaming canvass. In one embodiment, a predicted time can be estimated for when the player will enter the second gaming canvass and/or providing additional video gaming data (corresponding to the second gaming canvass) can be based on the predicted time. In one embodiment, a commencement of the providing the additional video gaming data (corresponding to the second gaming canvass) can be selected based on the predicted time. In one embodiment, one or more download parameters and/or streaming parameters can be selected based on the predicted time such as a data rate for the downloading of the additional video gaming data. In one embodiment, the gaming canvasses can be further divided and the downloading schemes described herein can be based on those subdivisions and movement of the player through those sub-divisions.
[00069] In one embodiment, machine learning or a convolutional neural network can be used to train a model to predict user behavior. In one embodiment, the machine learning or the convolutional neural network can utilize one or more of the criteria described above as training data including the directional vector. This can be useful for players that behave in unpredictable or complex ways, such as following a specific questline of the video game. In one embodiment, chunk sizes can be static. In another embodiment, depending on network conditions for the client (e.g., network speed and latency), preloading of a larger area around the player can be performed. In one embodiment, the speed of download can be adjusted to prevent or reduce overburdening the network, which could lead to lag. In one embodiment, other parameters of the video game can be adjusted according to network conditions, such as decreasing game resolution where download speeds are below a particular threshold, where memory pressure is above a particular threshold, where the download queue is above a particular threshold, or for some other condition that is effecting the execution of the video game. [00070] FIG. 3D illustrates a block diagram representative of a process 340 for work flow in the resource system which can be used in system 100. All or some of the functions of process 340 can be performed by various devices of system 100 including the client/end user device 105. In one embodiment, all resources in a scene file can be given a loadPriority. For example, the higher the load priority the more the object will be prioritized. In one embodiment, this may not result in the object being loaded first. For example, a building can have a higher priority than a flower, but the building file is much larger to download causing the asynchronous operation to take longer. Depending on the network connection, the number of network connections can be changed, which can be controlled by various devices including the client/end user device 105 and/or the gaming platform 180. Process 340 can utilize main and worker threads as illustrated. For example, four simultaneous objects can be downloaded, however, if the network speed of a client is fast enough this number can be increased to speed up download speeds. Process 340 illustrates four resource downloaders 3410 operating according to the resource download queue 3408 and then providing output to the resource processor queue 3412 where resource processors 3414 operate according to the resource processor queue and then provide output to the resource finalizer 3416. In one or more embodiments, resource processors can be spawn based on core count such that the more cores a user has in their system results in more resource processors being spawned such that more resources can be processed at a same time.
[00071] In one embodiment, object download priority can be based on gameplay effect. For example, when a player walks through a spider web (which is being executed at the gaming platform 180) the server would still detect that condition and slow the player down but the downloading of the spider web would have a lower priority that downloading a building which a player could not walk through and would be stuck. In this example, the building can have a higher priority since it is a true collision stopping movement, as opposed to the spider web which slows the player down.
[00072] FIG. 3E illustrates a block diagram representative of a process 350 for work flow in the resource unload system which can be used in system 100. All or some of the functions of process 350 can be performed by various devices of system 100 including the client/end user device 105. In one embodiment, data unloading can be performed according to various techniques and criteria such as memory pressure, reference counting and access times. In one embodiment, memory pressure is determined at 3505 by calculating the available memory on the system, minus the resources in the resource load queue. In one embodiment, a weighting factor can be employed to facilitate ensuring memory is available, such as resources in the load queue weighing double to ensure there is enough memory available to process the resource upon loading.
[00073] In one embodiment, reference counting can be performed where every time a resource is referenced (via handles), the reference count is incremented by one and every time a reference is removed it is decremented by one. When the counter reaches zero the reference becomes eligible for cleanup/unload (e.g., subject to other unloading policies and procedures). In one embodiment, access times can be monitored where every time the reference count changes the current time is stored with it. This allows for monitoring when a resource reference count reached zero. In one embodiment, each or some resource types can have their own loading/unloading policy. Process 350 illustrates different types of resources (e.g., audio clip, texture, model, prefab, shader/shader program, scene, and serialized structure) and the corresponding unloading policy that in applicable.
[00074] Process 350 can provide a particular order 3512 for the resource types 3510 to be considered for unloading, such as audio being the first resource type eligible for unloading due to its large file size and relative low gameplay impact as compared to other resource types (e.g., lower in the order illustrated in FIG. 3E) which can have a larger gameplay impact and/or smaller size (e.g., prefab). Process 350 also calculates memory pressure, determines whether the memory pressure is above a particular threshold at 3506, and determines whether the resource is referenced at 3508, prior to applying the unload policies (by type). In one or more embodiments, the functions, thresholds, order for the resource types to be considered for unloading, and/or unload policies described in process 350 can be adjusted (e.g., by the gaming platform 180 and/or the end user device 105) according to one or more of various factors, such as network conditions, end user device capabilities, quality of service metrics, type of video game being played, location of player in the video game map, quality of service metrics, and so forth. For instance, the memory pressure threshold may be increased where network conditions are providing for slower downloads while the unload policy for an audio clip may have its access time decreased where the player is in a location of the map where memory requirements/usage are generally higher (e.g., many other players are present). In one embodiment, these adjustments to the functions, thresholds, order for the resource types to be considered for unloading, and/or unload policies described in process 350 can be performed dynamically, such as based on measurements being made by the end user device 105 and/or the gaming platform 180 (or other devices), and can be implemented at a particular end user device or across a group of devices (e.g., numerous end user devices utilizing a same network to play the same video game).
[00075] While for purposes of simplicity of explanation, the respective processes are shown and described as a series of blocks in FIGs. 2B, 3 A, 3B, 3D and 3E, it is to be understood and appreciated that the claimed subject matter is not limited by the order of the blocks, as some blocks may occur in different orders and/or concurrently with other blocks from what is depicted and described herein. Moreover, not all illustrated blocks may be required to implement the methods described herein.
[00076] In one or more embodiments, a virtualized communication network can be utilized in whole or in part to perform various functions and aspects described herein. In particular a virtualized communication network can be used to implement some or all of the subsystems and functions of system 100, as well as aspects ofFIGs. 2A-3E. For example, a virtualized communication network can facilitate in whole or in part managing NFT digital assets associated with one or more video games (e.g., a transfer exchange); providing an exchange for transaction of the NFT digital assets; streaming video gaming data on-demand as a player moves around a map in a browser-based video game; predicting player movement based on various criteria including trajectory, historical movements, objects of interest so that adjacent gaming canvass can be pre- loaded (in whole or in part) prior to the player reaching that particular location; prioritizing downloading of particular objects according to various parameters including player distance, object type, and/or object size to facilitate quality of experience and resource usage; and/or performing unloading of objects based on various criteria including memory pressure, reference counting and/or access time to facilitate quality of experience and resource usage.
[00077] For example, cloud networking architecture can utilize a transport layer, a virtualized network function cloud and/or one or more cloud computing environments. As another example, the virtualized communication network can employ virtual network elements (VNEs) that perform some or all of the functions of network elements 150, 152, 154, 156, such as providing Network Function Virtualization Infrastructure (NFVI) or infrastructure that is capable of being directed with software and Software Defined Networking (SDN) protocols to perform a network functions and services. This infrastructure can include several types of substrates such as servers that support Network Function Virtualization (NFV). For instance, edge routers can be implemented via VNEs composed of NFV software modules, merchant silicon, and/or associated controllers. Other network elements such as other routers, switches, edge caches, and middle-boxes can be instantiated from the common resource pool. [00078] The virtualized network function cloud can interface with the transport layer to provide VNEs to provide specific NF Vs by leveraging cloud operations, applications, and architectures to support networking workloads, such as VNEs employing network function software that provides either a one-for-one mapping of traditional network element function or alternately some combination of network functions designed for cloud computing. For example, VNEs can include route reflectors, domain name system (DNS) servers, and dynamic host configuration protocol (DHCP) servers, system architecture evolution (SAE) and/or mobility management entity (MME) gateways, broadband network gateways, IP edge routers for IP- VPN, Ethernet and other services, load balancers, distributers and other network elements. The cloud computing environments can interface with the virtualized network function cloud via APIs.
[00079] Turning now to FIG. 4, there is illustrated a block diagram of a computing environment in accordance with various aspects described herein. In order to provide additional context for various embodiments of the embodiments described herein, FIG. 4 and the following discussion are intended to provide a brief, general description of a suitable computing environment 400 in which the various embodiments of the subject disclosure can be implemented. In particular, computing environment 400 can be used in the implementation of devices of system 100, as well as computing devices and hardware utilized in connection with FIGs. 2A-3E, such as end user devices, gaming platforms, exchange platforms, content delivery networks, blockchain nodes, blockchain platforms, network elements, access terminals, base station or access points, switching devices, media terminals, and/or VNEs. Each of these devices can be implemented via computerexecutable instructions that can run on one or more computers, and/or in combination with other program modules and/or as a combination of hardware and software. For example, computing environment 400 can facilitate in whole or in part managing NFT digital assets associated with one or more video games (e.g., a transfer exchange); providing an exchange for transaction of the NFT digital assets; streaming video gaming data on-demand as a player moves around a map in a browser-based video game; predicting player movement based on various criteria including trajectory, historical movements, objects of interest so that adjacent gaming canvass can be pre-loaded (in whole or in part) prior to the player reaching that particular location; prioritizing downloading of particular objects according to various parameters including player distance, object type, and/or object size to facilitate quality of experience and resource usage; and/or performing unloading of objects based on various criteria including memory pressure, reference counting and/or access time to facilitate quality of experience and resource usage.
[00080] Generally, program modules comprise routines, programs, components, data structures, etc., that perform particular tasks or implement particular abstract data types. Moreover, those skilled in the art will appreciate that the methods can be practiced with other computer system configurations, comprising single-processor or multiprocessor computer systems, minicomputers, mainframe computers, as well as personal computers, hand-held computing devices, microprocessor-based or programmable consumer electronics, and the like, each of which can be operatively coupled to one or more associated devices.
[00081] As used herein, a processing circuit includes one or more processors as well as other application specific circuits such as an application specific integrated circuit, digital logic circuit, state machine, programmable gate array or other circuit that processes input signals or data and that produces output signals or data in response thereto. It should be noted that while any functions and features described herein in association with the operation of a processor could likewise be performed by a processing circuit.
[00082] The illustrated embodiments of the embodiments herein can be also practiced in distributed computing environments where certain tasks are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.
[00083] Computing devices typically comprise a variety of media, which can comprise computer-readable storage media and/or communications media, which two terms are used herein differently from one another as follows. Computer-readable storage media can be any available storage media that can be accessed by the computer and comprises both volatile and nonvolatile media, removable and non-removable media. By way of example, and not limitation, computer-readable storage media can be implemented in connection with any method or technology for storage of information such as computer- readable instructions, program modules, structured data or unstructured data.
[00084] Computer-readable storage media can comprise, but are not limited to, random access memory (RAM), read only memory (ROM), electrically erasable programmable read only memory (EEPROM), flash memory or other memory technology, compact disk read only memory (CD-ROM), digital versatile disk (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices or other tangible and/or non-transitory media which can be used to store desired information. In this regard, the terms “tangible” or “non- transitory” herein as applied to storage, memory or computer-readable media, are to be understood to exclude only propagating transitory signals per se as modifiers and do not relinquish rights to all standard storage, memory or computer-readable media that are not only propagating transitory signals per se.
[00085] Computer-readable storage media can be accessed by one or more local or remote computing devices, e.g., via access requests, queries or other data retrieval protocols, for a variety of operations with respect to the information stored by the medium.
[00086] Communications media typically embody computer-readable instructions, data structures, program modules or other structured or unstructured data in a data signal such as a modulated data signal, e.g., a carrier wave or other transport mechanism, and comprises any information delivery or transport media. The term “modulated data signal” or signals refers to a signal that has one or more of its characteristics set or changed in such a manner as to encode information in one or more signals. By way of example, and not limitation, communication media comprise wired media, such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared and other wireless media.
[00087] FIG. 4 depicts an exemplary diagrammatic representation of a machine in the form of a computer system 400 within which a set of instructions, when executed, may cause the machine to perform any one or more of the functions, processes, or methods described above. One or more instances of the machine can operate, for example, as the devices associated with FIGs. 1-3E. In some embodiments, the machine may be connected (e.g., using a network 426) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client user machine in server-client user network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
[00088] The machine may comprise a server computer, a client user computer, a personal computer (PC), a tablet PC, a smart phone, a laptop computer, a desktop computer, a control system, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine. It will be understood that a communication device of the subject disclosure includes broadly any electronic device that provides voice, video or data communication. Further, while a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methods discussed herein.
[00089] The computer system 400 may include a processor (or controller) 402 (e.g., a central processing unit (CPU), a graphics processing unit (GPU, or both), a main memory 404 and a static memory 406, which communicate with each other via a bus 408. The computer system 400 may further include a display unit 410 (e.g., a liquid crystal display (LCD), a flat panel, or a solid-state display. The computer system 400 may include an input device 412 (e.g., a keyboard), a cursor control device 414 (e.g., a mouse), a disk drive unit 416, a signal generation device 418 (e.g., a speaker or remote control) and a network interface device 420. In distributed environments, the embodiments described in the subject disclosure can be adapted to utilize multiple display units 410 controlled by two or more computer systems 400. In this configuration, presentations described by the subject disclosure may in part be shown in a first of the display units 410, while the remaining portion is presented in a second of the display units 410.
[00090] The disk drive unit 416 may include a tangible computer-readable storage medium 422 on which is stored one or more sets of instructions (e.g., software 424) embodying any one or more of the methods or functions described herein, including those methods illustrated above. The instructions 424 may also reside, completely or at least partially, within the main memory 404, the static memory 406, and/or within the processor 402 during execution thereof by the computer system 400. The main memory 404 and the processor 402 also may constitute tangible computer-readable storage media. [00091] Dedicated hardware implementations including, but not limited to, application specific integrated circuits, programmable logic arrays and other hardware devices that can likewise be constructed to implement the methods described herein. Application specific integrated circuits and programmable logic array can use downloadable instructions for executing state machines and/or circuit configurations to implement embodiments of the subject disclosure. Applications that may include the apparatus and systems of various embodiments broadly include a variety of electronic and computer systems. Some embodiments implement functions in two or more specific interconnected hardware modules or devices with related control and data signals communicated between and through the modules, or as portions of an application-specific integrated circuit. Thus, the example system is applicable to software, firmware, and hardware implementations.
[00092] In accordance with various embodiments of the subject disclosure, the operations or methods described herein are intended for operation as software programs or instructions running on or executed by a computer processor or other computing device, and which may include other forms of instructions manifested as a state machine implemented with logic components in an application specific integrated circuit or field programmable gate array. Furthermore, software implementations (e.g., software programs, instructions, etc.) including, but not limited to, distributed processing or component/object distributed processing, parallel processing, or virtual machine processing can also be constructed to implement the methods described herein. It is further noted that a computing device such as a processor, a controller, a state machine or other suitable device for executing instructions to perform operations or methods may perform such operations directly or indirectly by way of one or more intermediate devices directed by the computing device.
[00093] While the tangible computer-readable storage medium 422 is shown in an example embodiment to be a single medium, the term "tangible computer-readable storage medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "tangible computer-readable storage medium" shall also be taken to include any non-transitory medium that is capable of storing or encoding a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methods of the subject disclosure.
[00094] The term "tangible computer-readable storage medium" shall accordingly be taken to include, but not be limited to: solid-state memories such as a memory card or other package that houses one or more read-only (non-volatile) memories, random access memories, or other re-writable (volatile) memories, a magneto -optical or optical medium such as a disk or tape, or other tangible media which can be used to store information. Accordingly, the disclosure is considered to include any one or more of a tangible computer-readable storage medium, as listed herein and including art-recognized equivalents and successor media, in which the software implementations herein are stored.
[00095] Although the present specification describes components and functions implemented in the embodiments with reference to particular standards and protocols, the disclosure is not limited to such standards and protocols. Each of the standards for Internet and other packet switched network transmission (e.g., TCP/IP, UDP/IP, HTML, and HTTP) represent examples of the state of the art. Such standards are from time-to- time superseded by faster or more efficient equivalents having essentially the same functions. Wireless standards for device detection (e.g., RFID), short-range communications (e.g., Bluetooth, Wi-Fi, ZigBee), and long-range communications (e.g., WiMAX, GSM, CDMA, LTE) can be used by computer system 400.
[00096] The computer 400 can be operable to communicate with any wireless devices or entities operatively disposed in wireless communication, e.g., a printer, scanner, desktop and/or portable computer, portable data assistant, communications satellite, any piece of equipment or location associated with a wirelessly detectable tag (e.g., a kiosk, news stand, restroom), and telephone. This can comprise Wireless Fidelity (Wi-Fi) and BLUETOOTH® wireless technologies. Thus, the communication can be a predefined structure as with a conventional network or simply an ad hoc communication between at least two devices. [00097] Wi-Fi can allow connection to the Internet from a couch at home, a bed in a hotel room or a conference room at work, without wires. Wi-Fi is a wireless technology similar to that used in a cell phone that enables such devices, e.g., computers, to send and receive data indoors and out; anywhere within the range of a base station. Wi-Fi networks use radio technologies called IEEE 802.11 (a, b, g, n, ac, ag, etc.) to provide secure, reliable, fast wireless connectivity. A Wi-Fi network can be used to connect computers to each other, to the Internet, and to wired networks (which can use IEEE 802.3 or Ethernet). Wi-Fi networks operate in the unlicensed 2.4 and 5 GHz radio bands for example or with products that contain both bands (dual band), so the networks can provide real-world performance similar to the basic 1 OBaseT wired Ethernet networks used in many offices.
[00098] In one embodiment, a mobile network platform can be provided such as utilizing network elements 150, 152, 154, 156, and/or VNEs. For example, mobile platform can facilitate in whole or in part managing NFT digital assets associated with one or more video games (e.g., a transfer exchange); providing an exchange for transaction of the NFT digital assets; streaming video gaming data on-demand as a player moves around a map in a browser based video game; predicting player movement based on various criteria including trajectory, historical movements, objects of interest so that adjacent gaming canvass can be pre-loaded (in whole or in part) prior to the player reaching that particular location; prioritizing downloading of particular objects according to various parameters including player distance, object type, and/or object size to facilitate quality of experience and resource usage; and/or performing unloading of objects based on various criteria including memory pressure, reference counting and/or access time to facilitate quality of experience and resource usage.
[00099] In one or more embodiments, the mobile network platform can generate and receive signals transmitted and received by base stations or access points, and can include various components, such as nodes, gateways, interfaces, servers, or disparate platforms, that facilitate both packet-switched (PS) (e.g., internet protocol (IP), frame relay, asynchronous transfer mode (ATM)) and circuit-switched (CS) traffic (e.g., voice and data), as well as control generation for networked wireless telecommunication. As a nonlimiting example, mobile network platform can be included in telecommunications carrier networks, and can be considered carrier-side components as discussed elsewhere herein. Mobile network platform can include CS gateway node(s) which can interface CS traffic received from legacy networks like telephony network(s) (e.g., public switched telephone network (PSTN), or public land mobile network (PLMN)) or a signaling system #7 (SS7) network. CS gateway node(s) can authorize and authenticate traffic (e.g., voice) arising from such networks. Additionally, CS gateway node(s) can access mobility, or roaming, data generated through SS7 network; for instance, mobility data stored in a visited location register (VLR), which can reside in memory. Moreover, CS gateway node(s) interfaces CS-based traffic and signaling and PS gateway node(s). As an example, in a 3 GPP UMTS network, CS gateway node(s) can be realized at least in part in gateway GPRS support node(s) (GGSN). It should be appreciated that functionality and specific operation of CS gateway node(s), PS gateway node(s), and serving node(s), is provided and dictated by radio technology(ies) utilized by mobile network platform for telecommunication over a radio access network with other devices, such as a radiotelephone.
[000100] In addition to receiving and processing CS-switched traffic and signaling, PS gateway node(s) can authorize and authenticate PS-based data sessions with served mobile devices. Data sessions can comprise traffic, or content(s), exchanged with networks external to the mobile network platform, like wide area network(s) (WANs), enterprise network(s), and service network(s), which can be embodied in local area network(s) (LANs), can also be interfaced with mobile network platform through PS gateway node(s). It is to be noted that WANs and enterprise network(s) can embody, at least in part, a service network(s) like IP multimedia subsystem (IMS). Based on radio technology layer(s) available in technology resource(s) or radio access network, PS gateway node(s) can generate packet data protocol contexts when a data session is established; other data structures that facilitate routing of packetized data also can be generated. To that end, in an aspect, PS gateway node(s) can comprise a tunnel interface (e.g., tunnel termination gateway (TTG) in 3 GPP UMTS network(s) (not shown)) which can facilitate packetized communication with disparate wireless network(s), such as WiFi networks. [000101] In one embodiment, mobile network platforms can include serving node(s) that, based upon available radio technology layer(s) within technology resource(s) in the radio access network, convey the various packetized flows of data streams received through PS gateway node(s). It is to be noted that for technology resource(s) that rely primarily on CS communication, server node(s) can deliver traffic without reliance on PS gateway node(s); for example, server node(s) can embody at least in part a mobile switching center. As an example, in a 3 GPP UMTS network, serving node(s) can be embodied in serving GPRS support node(s) (SGSN).
[000102] For radio technologies that exploit packetized communication, server(s) in mobile network platform can execute numerous applications that can generate multiple disparate packetized data streams or flows, and manage (e.g., schedule, queue, format ... ) such flows. Such application(s) can comprise add-on features to standard services (for example, provisioning, billing, customer support ... ) provided by mobile network platform. Data streams (e.g., content(s) that are part of a voice call or data session) can be conveyed to PS gateway node(s) for authorization/authentication and initiation of a data session, and to serving node(s) for communication thereafter. In addition to application server, server(s) can comprise utility server(s), a utility server can comprise a provisioning server, an operations and maintenance server, a security server that can implement at least in part a certificate authority and firewalls as well as other security mechanisms, and the like. In an aspect, security server(s) secure communication served through mobile network platform to ensure network’s operation and data integrity in addition to authorization and authentication procedures that CS gateway node(s) and PS gateway node(s) can enact. Moreover, provisioning server(s) can provision services from external network(s) like networks operated by a disparate service provider; for instance, WAN or Global Positioning System (GPS) network(s) (not shown). Provisioning server(s) can also provision coverage through networks associated to mobile network platform (e.g., deployed and operated by the same service provider), such as distributed antennas networks that enhance wireless service coverage by providing more network coverage.
[000103] It is to be noted that server(s) can comprise one or more processors configured to confer at least in part the functionality of mobile network platform. To that end, the one or more processor can execute code instructions stored in memory, for example. It is should be appreciated that server(s) can comprise a content manager, which operates in substantially the same manner as described hereinbefore.
[000104] In one embodiment, memory can store information related to operation of mobile network platform. Other operational information can comprise provisioning information of mobile devices served through mobile network platform, subscriber databases; application intelligence, pricing schemes, e.g., promotional rates, flat-rate programs, couponing campaigns; technical specification(s) consistent with telecommunication protocols for operation of disparate radio, or wireless, technology layers; and so forth. Memory can also store information from at least one of telephony network(s), WAN, SS7 network, or enterprise network(s). In an aspect, memory can be, for example, accessed as part of a data store component or as a remotely connected memory store.
[000105] In order to provide a context for the various aspects of the disclosed subject matter, the mobile platform can provide a suitable environment in which the various aspects of the disclosed subject matter can be implemented. While the subject matter has been described above in the general context of computer-executable instructions of a computer program that runs on a computer and/or computers, those skilled in the art will recognize that the disclosed subject matter also can be implemented in combination with other program modules. Generally, program modules comprise routines, programs, components, data structures, etc. that perform particular tasks and/or implement particular abstract data types.
[000106] Turning now to FIG. 5, an illustrative embodiment of a communication device 500 is shown. The communication device 500 can serve as an illustrative embodiment of devices associated with FIGs. 1-4 such as end user device 105, gaming platform 180, exchange platform 190, CDN 170. For example, computing device 500 can facilitate in whole or in part managing NFT digital assets associated with one or more video games (e.g., a transfer exchange); providing an exchange for transaction of the NFT digital assets; streaming video gaming data on-demand as a player moves around a map in a browser-based video game; predicting player movement based on various criteria including trajectory, historical movements, objects of interest so that adjacent gaming canvass can be pre-loaded (in whole or in part) prior to the player reaching that particular location; prioritizing downloading of particular objects according to various parameters including player distance, object type, and/or object size to facilitate quality of experience and resource usage; and/or performing unloading of objects based on various criteria including memory pressure, reference counting and/or access time to facilitate quality of experience and resource usage.
[000107] The communication device 500 can comprise a wireline and/or wireless transceiver 502 (herein transceiver 502), a user interface (UI) 504, a power supply 514, a location receiver 516, a motion sensor 518, an orientation sensor 520, and a controller 506 for managing operations thereof. The transceiver 502 can support short-range or long-range wireless access technologies such as Bluetooth®, ZigBee®, WiFi, DECT, or cellular communication technologies, just to mention a few (Bluetooth® and ZigBee® are trademarks registered by the Bluetooth® Special Interest Group and the ZigBee® Alliance, respectively). Cellular technologies can include, for example, CDMA-1X, UMTS/HSDPA, GSM/GPRS, TDMA/EDGE, EV/DO, WiMAX, SDR, LTE, as well as other next generation wireless communication technologies as they arise. The transceiver 502 can also be adapted to support circuit-switched wireline access technologies (such as PSTN), packet-switched wireline access technologies (such as TCP/IP, VoIP, etc.), and combinations thereof.
[000108] The UI 504 can include a depressible or touch-sensitive keypad 508 with a navigation mechanism such as a roller ball, a joystick, a mouse, or a navigation disk for manipulating operations of the communication device 500. The keypad 508 can be an integral part of a housing assembly of the communication device 500 or an independent device operably coupled thereto by a tethered wireline interface (such as a USB cable) or a wireless interface supporting for example Bluetooth®. The keypad 508 can represent a numeric keypad commonly used by phones, and/or a QWERTY keypad with alphanumeric keys. The UI 504 can further include a display 510 such as monochrome or color LCD (Liquid Crystal Display), OLED (Organic Light Emitting Diode) or other suitable display technology for conveying images to an end user of the communication device 500. In an embodiment where the display 510 is touch-sensitive, a portion or all of the keypad 508 can be presented by way of the display 510 with navigation features. [000109] The display 510 can use touch screen technology to also serve as a user interface for detecting user input. As a touch screen display, the communication device 500 can be adapted to present a user interface having graphical user interface (GUI) elements that can be selected by a user with a touch of a finger. The display 510 can be equipped with capacitive, resistive or other forms of sensing technology to detect how much surface area of a user’s finger has been placed on a portion of the touch screen display. This sensing information can be used to control the manipulation of the GUI elements or other functions of the user interface. The display 510 can be an integral part of the housing assembly of the communication device 500 or an independent device communicatively coupled thereto by a tethered wireline interface (such as a cable) or a wireless interface.
[000110] The UI 504 can also include an audio system 512 that utilizes audio technology for conveying low volume audio (such as audio heard in proximity of a human ear) and high volume audio (such as speakerphone for hands free operation). The audio system 512 can further include a microphone for receiving audible signals of an end user. The audio system 512 can also be used for voice recognition applications. The UI 504 can further include an image sensor 513 such as a charged coupled device (CCD) camera for capturing still or moving images.
[000111] The power supply 514 can utilize common power management technologies such as replaceable and rechargeable batteries, supply regulation technologies, and/or charging system technologies for supplying energy to the components of the communication device 500 to facilitate long-range or short-range portable communications. Alternatively, or in combination, the charging system can utilize external power sources such as DC power supplied over a physical interface such as a USB port or other suitable tethering technologies.
[000112] The location receiver 516 can utilize location technology such as a global positioning system (GPS) receiver capable of assisted GPS for identifying a location of the communication device 500 based on signals generated by a constellation of GPS satellites, which can be used for facilitating location services such as navigation. The motion sensor 518 can utilize motion sensing technology such as an accelerometer, a gyroscope, or other suitable motion sensing technology to detect motion of the communication device 500 in three-dimensional space. The orientation sensor 520 can utilize orientation sensing technology such as a magnetometer to detect the orientation of the communication device 500 (north, south, west, and east, as well as combined orientations in degrees, minutes, or other suitable orientation metrics).
[000113] The communication device 500 can use the transceiver 502 to also determine a proximity to a cellular, WiFi, Bluetooth®, or other wireless access points by sensing techniques such as utilizing a received signal strength indicator (RS SI) and/or signal time of arrival (TO A) or time of flight (TOF) measurements. The controller 506 can utilize computing technologies such as a microprocessor, a digital signal processor (DSP), programmable gate arrays, application specific integrated circuits, and/or a video processor with associated storage memory such as Flash, ROM, RAM, SRAM, DRAM or other storage technologies for executing computer instructions, controlling, and processing data supplied by the aforementioned components of the communication device 500.
[000114] Other components not shown in FIG. 5 can be used in one or more embodiments of the subject disclosure. For instance, the communication device 500 can include a slot for adding or removing an identity module such as a Subscriber Identity Module (SIM) card or Universal Integrated Circuit Card (UICC). SIM or UICC cards can be used for identifying subscriber services, executing programs, storing subscriber data, and so on.
[000115] The terms “first,” “second,” “third,” and so forth, as used in the claims, unless otherwise clear by context, is for clarity only and doesn’t otherwise indicate or imply any order in time. For instance, “a first determination,” “a second determination,” and “a third determination,” does not indicate or imply that the first determination is to be made before the second determination, or vice versa, etc.
[000116] In the subject specification, terms such as “store,” “storage,” “data store,” data storage,” “database,” and substantially any other information storage component relevant to operation and functionality of a component, refer to “memory components,” or entities embodied in a “memory” or components comprising the memory. It will be appreciated that the memory components described herein can be either volatile memory or nonvolatile memory, or can comprise both volatile and nonvolatile memory, by way of illustration, and not limitation, volatile memory, non-volatile memory, disk storage, and memory storage. Further, nonvolatile memory can be included in read only memory (ROM), programmable ROM (PROM), electrically programmable ROM (EPROM), electrically erasable ROM (EEPROM), or flash memory. Volatile memory can comprise random access memory (RAM), which acts as external cache memory. By way of illustration and not limitation, RAM is available in many forms such as synchronous RAM (SRAM), dynamic RAM (DRAM), synchronous DRAM (SDRAM), double data rate SDRAM (DDR SDRAM), enhanced SDRAM (ESDRAM), Synchhnk DRAM (SLDRAM), and direct Rambus RAM (DRRAM). Additionally, the disclosed memory components of systems or methods herein are intended to comprise, without being limited to comprising, these and any other suitable types of memory.
[000117] Moreover, it will be noted that the disclosed subject matter can be practiced with other computer system configurations, comprising single-processor or multiprocessor computer systems, mini-computing devices, mainframe computers, as well as personal computers, hand-held computing devices (e.g., PDA, phone, smartphone, watch, tablet computers, netbook computers, etc.), microprocessor-based or programmable consumer or industrial electronics, and the like. The illustrated aspects can also be practiced in distributed computing environments where tasks are performed by remote processing devices that are linked through a communications network; however, some if not all aspects of the subject disclosure can be practiced on stand-alone computers. In a distributed computing environment, program modules can be located in both local and remote memory storage devices.
[000118] In one or more embodiments, information regarding use of services can be generated including services being accessed, media consumption history, user preferences, and so forth. This information can be obtained by various methods including user input, detecting types of communications (e.g., video content vs. audio content), analysis of content streams, sampling, and so forth. The generating, obtaining and/or monitoring of this information can be responsive to an authorization provided by the user. In one or more embodiments, an analysis of data can be subject to authorization from user(s) associated with the data, such as an opt-in, an opt-out, acknowledgement requirements, notifications, selective authorization based on types of data, and so forth. [000119] Some of the embodiments described herein can also employ artificial intelligence (Al) to facilitate automating one or more features described herein. The embodiments (e.g., in connection with automatically identifying acquired cell sites that provide a maximum value/benefit after addition to an existing communication network) can employ various Al-based schemes for carrying out various embodiments thereof. Moreover, the classifier can be employed to determine a ranking or priority of each cell site of the acquired network. A classifier is a function that maps an input attribute vector, x = (xl, x2, x3, x4, ... , xn), to a confidence that the input belongs to a class, that is, f(x) = confidence (class). Such classification can employ a probabilistic and/or statistical-based analysis (e.g., factoring into the analysis utilities and costs) to determine or infer an action that a user desires to be automatically performed. A support vector machine (SVM) is an example of a classifier that can be employed. The SVM operates by finding a hypersurface in the space of possible inputs, which the hypersurface attempts to split the triggering criteria from the non-triggering events. Intuitively, this makes the classification correct for testing data that is near, but not identical to training data. Other directed and undirected model classification approaches comprise, e.g., naive Bayes, Bayesian networks, decision trees, neural networks, fuzzy logic models, and probabilistic classification models providing different patterns of independence can be employed. Classification as used herein also is inclusive of statistical regression that is utilized to develop models of priority.
[000120] As will be readily appreciated, one or more of the embodiments can employ classifiers that are explicitly trained (e.g., via a generic training data) as well as implicitly trained (e.g., via observing UE behavior, operator preferences, historical information, receiving extrinsic information). For example, SVMs can be configured via a learning or training phase within a classifier constructor and feature selection module. Thus, the classifier(s) can be used to automatically learn and perform a number of functions, including but not limited to determining according to predetermined criteria which of the acquired cell sites will benefit a maximum number of subscribers and/or which of the acquired cell sites will add minimum value to the existing communication network coverage, etc. [000121] As used in some contexts in this application, in some embodiments, the terms “component,” “system” and the like are intended to refer to, or comprise, a computer- related entity or an entity related to an operational apparatus with one or more specific functionalities, wherein the entity can be either hardware, a combination of hardware and software, software, or software in execution. As an example, a component may be, but is not limited to being, a process running on a processor, a processor, an object, an executable, a thread of execution, computer-executable instructions, a program, and/or a computer. By way of illustration and not limitation, both an application running on a server and the server can be a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one computer and/or distributed between two or more computers. In addition, these components can execute from various computer readable media having various data structures stored thereon. The components may communicate via local and/or remote processes such as in accordance with a signal having one or more data packets (e.g., data from one component interacting with another component in a local system, distributed system, and/or across a network such as the Internet with other systems via the signal). As another example, a component can be an apparatus with specific functionality provided by mechanical parts operated by electric or electronic circuitry, which is operated by a software or firmware application executed by a processor, wherein the processor can be internal or external to the apparatus and executes at least a part of the software or firmware application. As yet another example, a component can be an apparatus that provides specific functionality through electronic components without mechanical parts, the electronic components can comprise a processor therein to execute software or firmware that confers at least in part the functionality of the electronic components. While various components have been illustrated as separate components, it will be appreciated that multiple components can be implemented as a single component, or a single component can be implemented as multiple components, without departing from example embodiments.
[000122] Further, the various embodiments can be implemented as a method, apparatus or article of manufacture using standard programming and/or engineering techniques to produce software, firmware, hardware or any combination thereof to control a computer to implement the disclosed subject matter. The term “article of manufacture” as used herein is intended to encompass a computer program accessible from any computer- readable device or computer-readable storage/communications media. For example, computer readable storage media can include, but are not limited to, magnetic storage devices (e.g., hard disk, floppy disk, magnetic strips), optical disks (e.g., compact disk (CD), digital versatile disk (DVD)), smart cards, and flash memory devices (e.g., card, stick, key drive). Of course, those skilled in the art will recognize many modifications can be made to this configuration without departing from the scope or spirit of the various embodiments.
[000123] In addition, the words “example” and “exemplary” are used herein to mean serving as an instance or illustration. Any embodiment or design described herein as “example” or “exemplary” is not necessarily to be construed as preferred or advantageous over other embodiments or designs. Rather, use of the word example or exemplary is intended to present concepts in a concrete fashion. As used in this application, the term “or” is intended to mean an inclusive “or” rather than an exclusive “or”. That is, unless specified otherwise or clear from context, “X employs A or B” is intended to mean any of the natural inclusive permutations. That is, if X employs A; X employs B; or X employs both A and B, then “X employs A or B” is satisfied under any of the foregoing instances. In addition, the articles “a” and “an” as used in this application and the appended claims should generally be construed to mean “one or more” unless specified otherwise or clear from context to be directed to a singular form.
[000124] Moreover, terms such as “user equipment,” “mobile station,” “mobile,” subscriber station,” “access terminal,” “terminal,” “handset,” “mobile device” (and/or terms representing similar terminology) can refer to a wireless device utilized by a subscriber or user of a wireless communication service to receive or convey data, control, voice, video, sound, gaming or substantially any data-stream or signaling-stream. The foregoing terms are utilized interchangeably herein and with reference to the related drawings.
[000125] Furthermore, the terms “user,” “subscriber,” “customer,” “consumer” and the like are employed interchangeably throughout, unless context warrants particular distinctions among the terms. It should be appreciated that such terms can refer to human entities or automated components supported through artificial intelligence (e.g., a capacity to make inference based, at least, on complex mathematical formalisms), which can provide simulated vision, sound recognition and so forth.
[000126] As employed herein, the term “processor” can refer to substantially any computing processing unit or device comprising, but not limited to comprising, singlecore processors; single-processors with software multithread execution capability; multicore processors; multi-core processors with software multithread execution capability; multi-core processors with hardware multithread technology; parallel platforms; and parallel platforms with distributed shared memory. Additionally, a processor can refer to an integrated circuit, an application specific integrated circuit (ASIC), a digital signal processor (DSP), a field programmable gate array (FPGA), a programmable logic controller (PLC), a complex programmable logic device (CPLD), a discrete gate or transistor logic, discrete hardware components or any combination thereof designed to perform the functions described herein. Processors can exploit nano-scale architectures such as, but not limited to, molecular and quantum-dot based transistors, switches and gates, in order to optimize space usage or enhance performance of user equipment. A processor can also be implemented as a combination of computing processing units.
[000127] As used herein, terms such as “data storage,” data storage,” “database,” and substantially any other information storage component relevant to operation and functionality of a component, refer to “memory components,” or entities embodied in a “memory” or components comprising the memory. It will be appreciated that the memory components or computer-readable storage media, described herein can be either volatile memory or nonvolatile memory or can include both volatile and nonvolatile memory.
[000128] What has been described above includes mere examples of various embodiments. It is, of course, not possible to describe every conceivable combination of components or methodologies for purposes of describing these examples, but one of ordinary skill in the art can recognize that many further combinations and permutations of the present embodiments are possible. Accordingly, the embodiments disclosed and/or claimed herein are intended to embrace all such alterations, modifications and variations that fall within the spirit and scope of the appended claims. Furthermore, to the extent that the term “includes” is used in either the detailed description or the claims, such term is intended to be inclusive in a manner similar to the term “comprising” as “comprising” is interpreted when employed as a transitional word in a claim.
[000129] In addition, a flow diagram may include a “start” and/or “continue” indication. The “start” and “continue” indications reflect that the steps presented can optionally be incorporated in or otherwise used in conjunction with other routines. In this context, “start” indicates the beginning of the first step presented and may be preceded by other activities not specifically shown. Further, the “continue” indication reflects that the steps presented may be performed multiple times and/or may be succeeded by other activities not specifically shown. Further, while a flow diagram indicates a particular ordering of steps, other orderings are likewise possible provided that the principles of causality are maintained.
[000130] As may also be used herein, the term(s) “operably coupled to”, “coupled to”, and/or “coupling” includes direct coupling between items and/or indirect coupling between items via one or more intervening items. Such items and intervening items include, but are not limited to, junctions, communication paths, components, circuit elements, circuits, functional blocks, and/or devices. As an example of indirect coupling, a signal conveyed from a first item to a second item may be modified by one or more intervening items by modifying the form, nature or format of information in a signal, while one or more elements of the information in the signal are nevertheless conveyed in a manner than can be recognized by the second item. In a further example of indirect coupling, an action in a first item can cause a reaction on the second item, as a result of actions and/or reactions in one or more intervening items.
[000131] Although specific embodiments have been illustrated and described herein, it should be appreciated that any arrangement which achieves the same or similar purpose may be substituted for the embodiments described or shown by the subject disclosure. The subject disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above embodiments, and other embodiments not specifically described herein, can be used in the subject disclosure. For instance, one or more features from one or more embodiments can be combined with one or more features of one or more other embodiments. In one or more embodiments, features that are positively recited can also be negatively recited and excluded from the embodiment with or without replacement by another structural and/or functional feature. The steps or functions described with respect to the embodiments of the subject disclosure can be performed in any order. The steps or functions described with respect to the embodiments of the subject disclosure can be performed alone or in combination with other steps or functions of the subject disclosure, as well as from other embodiments or from other steps that have not been described in the subject disclosure. Further, more than or less than all of the features described with respect to an embodiment can also be utilized.
[000132] In one or more embodiments, a method comprises: providing, by a processing system including a processor over a network to an end user device, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game, wherein each of the plurality of gaming canvasses is a sector of a map of the video game, wherein the first video gaming data facilitates playing of the video game in a browser of the end user device; and providing, by the processing system over the network to the end user device, at least a portion of second video gaming data associated with a second gaming canvass, wherein the second gaming canvass is selected from among the plurality of gaming canvasses according to a predicting of movement of a player, wherein the second gaming canvass is another sector of the map adjacent to the first gaming canvass, wherein the providing the at least a portion of the second video gaming data occurs prior to the player entering the second gaming canvass, and wherein the second video gaming data facilitates playing of the video game in the browser of the end user device.
[000133] In one or more embodiments of a method, the predicting is based on a directional vector of the player that is calculated from player movement through the first gaming canvass. In one or more embodiments of a method, the predicting is based on an object location of an object of interest in the video game. In one or more embodiments of a method, the object location is in the second gaming canvass or is closer to the second gaming canvass than to a third gaming canvass adjacent to the first gaming canvass. In one or more embodiments of a method, the predicting is based on historical movement of the player through the first gaming canvass. In one or more embodiments of a method, the predicting is based on historical movement of other players through the first gaming canvass. In one or more embodiments of a method, a predicted time is estimated for when the player will enter the second gaming canvass, wherein the providing the at least a portion of second video gaming data is based on the predicted time. In one or more embodiments of a method, a commencement of the providing the at least a portion of second video gaming data is selected based on the predicted time. In one or more embodiments of a method, a data rate of the providing the at least a portion of second video gaming data is selected based on the predicted time. In one or more embodiments of a method, the providing of at least a portion of the first and second video gaming data is via chunks that reference resources. In one or more embodiments of a method, the predicting is performed utilizing a machine learning model, wherein training data for the machine learning model includes one of present player movement of the player through the first gaming canvass, historical player movement of the player through the first gaming canvass, other historical player movement of other players through the first gaming canvass, object locations of objects of interest in the video game, or a combination thereof. In one or more embodiments of a method, a size of one or more of the plurality of gaming canvasses of the video game is selected according to network conditions of the network, device capabilities of the end user device, or a combination thereof.
[000134] In one or more embodiments, a non-transitory machine-readable medium comprises executable instructions that, when executed by an end user device, facilitate performance of operations, the operations comprising: receiving, over a network from a server, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game, wherein each of the plurality of gaming canvasses is a sector of a map of the video game; executing the video game in a browser of the end user device based at least in part on the first video gaming data; receiving user input at a user interface of the end user device associated with controlling movement of a player in the first gaming canvass; receiving, over the network from the server, at least a portion of second video gaming data associated with a second gaming canvass, wherein the receiving the at least a portion of the second video gaming data occurs prior to the player entering the second gaming canvass, wherein the second gaming canvass is selected from among the plurality of gaming canvasses according to a predicting of movement of the player, wherein the second gaming canvass is another sector of the map adjacent to the first gaming canvass; and continuing executing the video game in the browser of the end user device based at least in part on the second video gaming data.
[000135] In one or more embodiments of a non-transitory machine-readable medium, the predicting is performed utilizing a machine learning model, wherein training data for the machine learning model includes one of present player movement of the player through the first gaming canvass, historical player movement of the player through the first gaming canvass, other historical player movement of other players through the first gaming canvass, object locations of objects of interest in the video game, or a combination thereof. In one or more embodiments of a non-transitory machine-readable medium, the predicting is performed according to estimating a predicted time when the player will enter the second gaming canvass based on a velocity of the player, and wherein a commencement of the receiving the at least a portion of second video gaming data is based on the predicted time.
[000136] In one or more embodiments, a device comprises: a processing system including a processor; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations, the operations comprising: providing, over a network to an end user device, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game, wherein each of the plurality of gaming canvasses is a sector of a map of the video game, wherein the first video gaming data facilitates playing the video game in a browser of the end user device; and providing, over the network to the end user device, at least a portion of second video gaming data associated with a second gaming canvass, wherein the providing the at least a portion of the second video gaming data occurs prior to a player entering the second gaming canvass, wherein the second gaming canvass is selected from among the plurality of gaming canvasses according to a predicting of movement of the player, wherein the second gaming canvass is another sector of the map adjacent to the first gaming canvass, and wherein the second video gaming data facilitates playing of the video game in the browser of the end user device.
[000137] In one or more embodiments of a device, the predicting is performed utilizing a machine learning model, wherein training data for the machine learning model includes one of present player movement of the player through the first gaming canvass, historical player movement of the player through the first gaming canvass, other historical player movement of other players through the first gaming canvass, object locations of objects of interest in the video game, or a combination thereof. In one or more embodiments of a device, the predicting is performed according to estimating a predicted time when the player will enter the second gaming canvass based on a velocity of the player, and wherein a commencement of the providing the at least a portion of second video gaming data is based on the predicted time. In one or more embodiments of a device, the providing of at least a portion of the first and second video gaming data is via chunks that reference resources, wherein at least a portion of the resources are available at a content delivery network. In one or more embodiments of a device, a size of one or more of the plurality of gaming canvasses of the video game is selected according to network conditions of the network, device capabilities of the end user device, or a combination thereof.
[000138] In one or more embodiments, a method comprises: providing, by a processing system including a processor over a network to an end user device, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game without providing a remainder of video gaming data that is not associated with the first gaming canvass, wherein each of the plurality of gaming canvasses is a sector of a map of the video game, wherein the first video gaming data enables commencing playing the video game in a browser of the end user device; and providing, by the processing system over the network to the end user device, second video gaming data associated with a second gaming canvass that is another sector of the map adjacent to the first gaming canvass, wherein the providing the second video gaming data commences prior to a player entering the second gaming canvass, wherein the second video gaming data facilitates playing of the video game in the browser of the end user device, and wherein the providing the second video gaming data comprises: prioritizing downloading of static objects according to Axis-Aligned Bounding Box (AABB) volume and distance to the player; and prioritizing downloading of dynamic objects according to type and distance to the player, wherein unloading of the video gaming data is according to a memory pressure calculation for the end user device, reference counting of resources associated with the static and dynamic objects, access times for the static and dynamic objects, and unloading policies assigned to a resource type.
[000139] In one or more embodiments of a method, the prioritizing downloading of static objects is based on a higher priority for larger AABB volumes. In one or more embodiments of a method, the prioritizing downloading of static objects is based on a higher priority for a closer distance to the player. In one or more embodiments of a method, the prioritizing downloading of dynamic objects is based on a higher priority for the type of the dynamic objects that can damage a player. In one or more embodiments of a method, the providing the second video gaming data comprises: prioritizing downloading of other players according to whether the other players can damage the player. In one or more embodiments of a method, the memory pressure calculation is based on an available memory for use by the end user device and resources in a resource load queue. In one or more embodiments of a method, the providing the second video gaming data comprises: prioritizing downloading type of content according to dynamic meshes then particle systems then static meshes. In one or more embodiments of a method, the providing the second video gaming data comprises: determining that particular content is to be presented within a particular time period and prioritizing downloading of that particular content over other content already in a downloading queue. In one or more embodiments of a method, the particular content that is to be presented within the particular time period is a conversation tree for the player interacting with a non-player character. In one or more embodiments of a method, the providing of at least a portion of the first and second video gaming data is via chunks that reference resources. In one or more embodiments of a method, at least a portion of the resources are requested by the end user device from a content delivery network. In one or more embodiments of a method, the content delivery network bundles a group of resources in real time at an edge node to satisfy a single request by the end user device. In one or more embodiments of a method, the end user device receives the bundled group of resources from the edge node in a file utilizing a compressed format. In one or more embodiments of a method, the second gaming canvass is selected from among the plurality of gaming canvasses according to a predicting of movement of the player. In one or more embodiments of a method, the predicting is performed utilizing a machine learning model, wherein training data for the machine learning model includes one of present player movement of the player through the first gaming canvass, historical player movement of the player through the first gaming canvass, other historical player movement of other players through the first gaming canvass, object locations of objects of interest in the video game, or a combination thereof. In one or more embodiments of a method, the predicting is performed according to estimating a predicted time when the player will enter the second gaming canvass based on a velocity of the player, and wherein a commencement of the providing the second video gaming data is based on the predicted time.
[000140] In one or more embodiments, a non-transitory machine-readable medium comprises executable instructions that, when executed by an end user device, facilitate performance of operations, the operations comprising: receiving, over a network, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game without receiving a remainder of video gaming data that is not associated with the first gaming canvass, wherein each of the plurality of gaming canvasses is a sector of a map of the video game; executing the video game in a browser of the end user device based at least in part on the first video gaming data; receiving user input at a user interface of the end user device associated with controlling movement of a player in the first gaming canvass; receiving, over the network, second video gaming data associated with a second gaming canvass that is another sector of the map adjacent to the first gaming canvass, wherein the receiving the second video gaming data occurs prior to the player entering the second gaming canvass; sending, over the network to an edge node of a content delivery network, a single request for resources associated with chunks of a portion of the second video gaming data; receiving, over the network from the edge node of the content delivery network, bundled resources that were obtained in real-time by the edge node in response to the single request; and continuing executing the video game in the browser of the end user device based at least in part on the second video gaming data and the bundled resources.
[000141] In one or more embodiments of a non-transitory machine-readable medium, unloading of the video gaming data is according to a memory pressure calculation for the end user device, reference counting of resources associated with the static and dynamic objects, access times for the static and dynamic objects, and unloading policies assigned to a resource type, and wherein the receiving the second video gaming data comprises prioritizing downloading of static objects according to Axis-Aligned Bounding Box (AABB) volume and distance to the player and prioritizing downloading of dynamic objects according to type and distance to the player.
[000142] In one or more embodiments, an end user device comprises: a processing system including a processor; a user interface; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations, the operations comprising: receiving, over a network, first video gaming data associated with a first gaming canvass of a plurality of gaming canvasses of a video game without receiving a remainder of video gaming data that is not associated with the first gaming canvass, wherein each of the plurality of gaming canvasses is a sector of a map of the video game; executing the video game in a browser based at least in part on the first video gaming data; receiving user input at the user interface associated with controlling movement of a player in the first gaming canvass; receiving, over the network, second video gaming data associated with a second gaming canvass that is another sector of the map adjacent to the first gaming canvass, wherein the receiving the second video gaming data occurs prior to the player entering the second gaming canvass; and continuing executing the video game in the browser of the end user device based at least in part on the second video gaming data, wherein unloading of the video gaming data is according to a memory pressure calculation for the end user device, reference counting of resources associated with the static and dynamic objects, access times for the static and dynamic objects, and unloading policies assigned to a resource type.
[000143] In one or more embodiments of an end user device, the operations further comprise: sending, over the network to an edge node of a content delivery network, a single request for resources associated with chunks of a portion of the second video gaming data; and receiving, over the network from the edge node of the content delivery network, bundled resources that were obtained in real-time by the edge node in response to the single request.

Claims

CLAIMS What is claimed is:
1. A method, comprising: providing, by a processing system including a processor, a user interface that includes item information for a gaming item, wherein the item information includes historical data for the gaming item, wherein the historical data includes transaction data for the gaming item, wherein the gaming item is a non-fungible token digital asset that is presented in a video game; and facilitating, by the processing system, a transfer of the non-fungible token digital asset from a previous owner to a present owner, wherein the transfer is recorded in a blockchain of the non-fungible token digital asset according to a consensus decision of multiple nodes associated with a distributed ledger platform, and wherein the transaction data is updated according to the transfer to the present owner.
2. The method of claim 1, wherein the historical data includes a gaming clip captured from the video game when the gaming item was obtained in the video game.
3. The method of claim 1, comprising: storing, by the processing system, event metadata responsive to a player in possession of the gaming item performing a particular in-game action, the event metadata indicating the particular in-game action that was performed.
4. The method of claim 3, wherein the event metadata is stored in a JSON file that is linked to the non-fungible token digital asset.
5. The method of claim 1, comprising: accessing, by the processing system, a file that is linked to the non-fungible token digital asset to obtain event metadata that describes a particular in-game action that was performed by a player in possession of the gaming item, wherein the historical data presented in the user interface for the gaming item is based on the event metadata.
59
6. The method of claim 5, wherein the file is a JSON file and includes an image of the gaming item.
7. The method of claim 6, wherein the user interface provides for manipulation of views of the image of the gaming item.
8. The method of claim 1, wherein the item information includes a written description of the gaming item, and wherein the historical data includes a time line indicating different owners of the gaming item.
9. The method of claim 1, wherein the video game is a plurality of different video games in different gaming genres.
10. The method of claim 9, wherein the plurality of different video games is operated by different gaming service providers.
11. A device, comprising: a processing system including a processor; and a memory that stores executable instructions that, when executed by the processing system, facilitate performance of operations, the operations comprising: detecting a particular gaming event in a video game for a player associated with a gaming item that is a non-fungible token digital asset that is presented in the video game; adding event metadata representative of the particular gaming event to a file that is linked to the non-fungible token digital asset; and providing the file to a content delivery network, wherein the file is accessible to facilitate providing a user interface that includes item information for the gaming item, wherein the item information includes historical data for the gaming item, wherein the historical data includes transaction data for the gaming item, and wherein the transaction data is maintained in a blockchain of the non-fungible token digital asset according to a consensus decision of multiple nodes associated with a distributed ledger platform.
60
12. The device of claim 11, wherein the user interface facilitates a transfer of the non- fungible token digital asset from a previous owner to a present owner, wherein the transfer is recorded in the blockchain, and wherein the transaction data is updated according to the transfer to the present owner.
13. The device of claim 11 , wherein the historical data includes a gaming clip captured from the video game when the gaming item was obtained in the video game.
14. The device of claim 11 , wherein the file is a JSON file and includes an image of the gaming item.
15. The device of claim 11 , wherein the item information includes a written description of the gaming item, wherein the historical data includes a time line indicating different owners of the gaming item, and wherein types of historical data that are collected for the gaming item are adjustable.
16. The device of claim 11 , wherein the gaming item is compatible with a plurality of different video games that includes the video game, and wherein the plurality of different video games is operated by different gaming service providers.
17. The device of claim 11, wherein the gaming item is created from first and second gaming items in the video game, and wherein the historical data for the gaming item provided via the user interface includes first historical data for the first gaming item and second historical data for the second gaming data.
18. The device of claim 17, wherein the gaming item, the first gaming item and the second gaming item are each pets, wherein the first and second gaming items are non- fungible token digital assets, and wherein other transaction data is maintained via the distributed ledger platform for the first and second gaming items.
61
19. A non-transitory machine-readable medium, comprising executable instructions that, when executed by a processing system including a processor, facilitate performance of operations, the operations comprising: detecting a particular gaming event in a video game for a player associated with a gaming item that is a non-fungible token digital asset that is presented in the video game, wherein the gaming item is created from first and second gaming items in the video game; adding event metadata representative of the particular gaming event to a file that is linked to the non-fungible token digital asset; and providing the file to a content delivery network, wherein the file is accessible to facilitate providing a user interface that includes item information for the gaming item, wherein the item information includes historical data for the gaming item, wherein the historical data includes transaction data for the gaming item, and wherein the transaction data is maintained in a blockchain of the non-fungible token digital asset according to a consensus decision of multiple nodes associated with a distributed ledger platform.
20. The non-transitory machine-readable medium of claim 19, wherein the historical data for the gaming item provided via the user interface includes first historical data for the first gaming item and second historical data for the second gaming data, wherein the first and second gaming items are non-fungible token digital assets, and wherein other transaction data is maintained via the distributed ledger platform for the first and second gaming items.
62
PCT/EP2023/050128 2022-01-10 2023-01-04 Method and apparatus for managing digital assets and non-fungible tokens WO2023131626A1 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US202263297945P 2022-01-10 2022-01-10
US202263297940P 2022-01-10 2022-01-10
US202263297941P 2022-01-10 2022-01-10
US63/297,945 2022-01-10
US63/297,940 2022-01-10
US63/297,941 2022-01-10

Publications (1)

Publication Number Publication Date
WO2023131626A1 true WO2023131626A1 (en) 2023-07-13

Family

ID=84981238

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/EP2023/050128 WO2023131626A1 (en) 2022-01-10 2023-01-04 Method and apparatus for managing digital assets and non-fungible tokens

Country Status (1)

Country Link
WO (1) WO2023131626A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190118094A1 (en) * 2017-10-25 2019-04-25 Sony Interactive Entertainment LLC Blockchain gaming system
US20200005284A1 (en) * 2018-07-01 2020-01-02 Madhu Vijayan Systems and Methods for Implementing Blockchain-Based Content Engagement Platforms Utilizing Media Wallets
KR20200091647A (en) * 2019-01-23 2020-07-31 넷마블 주식회사 Technique for item transaction
US11141664B1 (en) * 2021-02-25 2021-10-12 Mythical, Inc. Systems and methods for a seller-initiated peer-to-peer exchange of a non-fungible digital asset

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190118094A1 (en) * 2017-10-25 2019-04-25 Sony Interactive Entertainment LLC Blockchain gaming system
US20200005284A1 (en) * 2018-07-01 2020-01-02 Madhu Vijayan Systems and Methods for Implementing Blockchain-Based Content Engagement Platforms Utilizing Media Wallets
KR20200091647A (en) * 2019-01-23 2020-07-31 넷마블 주식회사 Technique for item transaction
US11141664B1 (en) * 2021-02-25 2021-10-12 Mythical, Inc. Systems and methods for a seller-initiated peer-to-peer exchange of a non-fungible digital asset

Similar Documents

Publication Publication Date Title
US8821294B2 (en) Real-time data services API
US20230096017A1 (en) System for extended reality visual contributions
US20150258433A1 (en) Low-Friction Synchronous Interaction in Multiplayer Online Game
US8388450B1 (en) Expanding the gaming social network with unrelated players
US20230169368A1 (en) Sequential decision analysis techniques for e-sports
US11654372B2 (en) Methods, systems, and devices for identifying a portion of video content from a video game for a player or spectator
US10924778B1 (en) Content management in over-the-top services
US20210365514A1 (en) Systems and methods for administrating suggested merchandising arrangements
US20230030362A1 (en) System for Delivery of XR Ad Programs
US20210400090A1 (en) Content delivery and consumption with affinity-based remixing
US20230281221A1 (en) Method for content synchronization and replacement
US20220103902A1 (en) System for content curation with user context and content leverage
JP2022525880A (en) Server load prediction and advanced performance measurement
US20220156797A1 (en) Methods, devices, and systems for providing personalized immersive content in extended reality (xr) environments
WO2023131626A1 (en) Method and apparatus for managing digital assets and non-fungible tokens
US20230116757A1 (en) Techniques for real-time object creation in extended reality environments
US20230035651A1 (en) Apparatuses and methods for facilitating an insertion of markers in content
US11670084B2 (en) Method of determining occlusion based visibility for volumetric video streaming
US20220150294A1 (en) System for socially shared and opportunistic content creation
WO2023133542A1 (en) Methods and devices for supporting online video games utilizing a dedicated game server
US20230143716A1 (en) Apparatuses and methods for facilitating equalization across one or more platforms and applications
US20240131422A1 (en) Method and apparatus for improving performance of a gaming application
US20240144571A1 (en) System for Derivation of Consistent Avatar Appearance Across Metaverse Ecosystems
US11151774B1 (en) Adaptive immersive media rendering pipeline
KR102608396B1 (en) Method, apparatus and program for providing rewards for supporter activities

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23700169

Country of ref document: EP

Kind code of ref document: A1