Methods to enable perspective-centric spatial map services

The implementation of perspective-centric spatial map services addresses the lack of differentiated spatial map information by adapting to client-specific contexts and subscription levels, providing personalized and efficient spatial map perspectives.

WO2025227037A1PCT designated stage Publication Date: 2025-10-30INTERDIGITAL PATENT HOLDINGS INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
PCT/US2025/026376
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-26
Filing Date
2025-04-25
Publication Date
2025-10-30

AI Technical Summary

Technical Problem

Spatial map services lack perspective-centric features and functionality to provide differentiated spatial map information to clients with varying situational contexts, spatial map requirements, and service subscription levels.

Method used

Implement methods to enable perspective-centric spatial map services by determining spatial map perspectives based on client information, service subscription, application context, and group membership, supporting operations such as creating, updating, and managing spatial map perspectives, and providing customized spatial map information based on client position, orientation, and subscription level.

Benefits of technology

Enables spatial map services to provide personalized and differentiated spatial map perspectives to clients, enhancing user experience and efficiency by adapting to changing client contexts and subscription levels.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025026376_30102025_PF_FP_ABST
    Figure US2025026376_30102025_PF_FP_ABST
Patent Text Reader

Abstract

A spatial map service may support spatial map perspectives comprising groups of spatial anchors, wherein the groups of spatial anchors may be determined based on different areas and aspects of the spatial map as well as the clients who access the spatial map. The spatial map service may receive information associated with a client comprising at least one of a past position, a current position, an expected position, an orientation, a range, or a trajectory. The spatial map service may determine at least one of service subscription information associated with the client, an application context of the client, or a group membership status of the client. The spatial map service may cause execution of one or more perspective-centric spatial map operations based on at least one of the received information, the service subscription information, the application context, or the group membership status of the client.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS TO ENABLE PERSPECTIVE-CENTRICSPATIAL MAP SERVICESCROSS-REFERENCE TO RELATED APPLICATIONS

[0001] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 639,297, filed April 26, 2024, which is hereby incorporated by reference in its entirety.BACKGROUND

[0002] Spatial map services may be used by different types of clients having different situational context, spatial map requirements, and service subscription levels. These types of factors may require a spatial map service to provide different perspectives of spatial map information to different clients. To date, spatial map services equipped with perspective-centric features and functionality is currently lacking. Accordingly, there is a need for improved spatial map services equipped with perspective-centric features and functionality.SUMMARY

[0003] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to limitations that solve any or all disadvantages noted in any part of this disclosure.

[0004] Spatial map services may be used by different types of clients (e.g., devices, applications, services, and / or users) having different situational context, spatial map requirements, and service subscription levels. For example, clients may have different spatial positions or orientations, different spatial content I service interests, or different service plans (e.g., basic or premium plans). These types of factors may require a spatial map service to provide different perspectives of spatial map information to different clients. For example, perspectives which limit the spatial anchors within the spatial map that are made visible tocertain clients based on their position and orientation within the spatial map. To date, spatial map services equipped with perspective-centric features and functionality is currently lacking.

[0005] Methods are described herein to enable perspective-centric spatial map services. The techniques described herein define a spatial map service supporting spatial map perspectives comprising groups of spatial anchors, wherein the groups of spatial anchors are determined based on different areas and aspects of the spatial map as well as the clients who access the spatial map.

[0006] In one example a spatial map service may receive information associated with a client, wherein the received information comprises at least one of a past position, a current position, an expected position, an orientation, a range, or a trajectory. The spatial map service may determine at least one of service subscription information associated with the client, an application context of the client, or a group membership status of the client. The spatial map service may cause execution of one or more perspective-centric spatial map operations based on at least one of the received information, the service subscription information, the application context, or the group membership status of the client.BRIEF DESCRIPTION OF THE DRAWINGS

[0007] In order to facilitate a more robust understanding of the application, reference is now made to the accompanying drawings, in which like elements are referenced with like numerals. These drawings should not be construed to limit the application and are intended only to be illustrative.

[0008] FIG. 1 is a system diagram of an example machine-to-machine (M2M), Internet of Things (loT), or Web of Things (WoT) communication system in which one or more disclosed embodiments may be implemented;

[0009] FIG. 2 is a system diagram of an example architecture that may be used within the M2M / IoT / WoT communications sy stem illustrated in FIG. 1;

[0010] FIG. 3 is a system diagram of an example communication network node, such as an M2M / IoT / WoT device, gateway, or server that may be used within the communications system illustrated in FIGs. 1 and 2;

[0011] FIG. 4 is a block diagram of an example computing system in which a node of the communication system of FIG. 1 and 2 may be embodied;

[0012] FIG. 5 shows an example of real-world AR spatial anchors;

[0013] FIG. 6 shows an example indoor spatial map;

[0014] FIG. 7 shows an example spatial map sendees architecture;

[0015] FIG. 8 shows another example spatial map services architecture;

[0016] FIG. 9 shows example spatial map perspectives;

[0017] FIG. 10 shows example spatial map perspectives based on client position & orientation;

[0018] FIG. 11 shows an example perspective-centric spatial map services architecture;

[0019] FIG. 12 shows example lifecycle management operations for spatial map perspectives;

[0020] FIG. 13 shows an example of perspective-centric spatial map operations; and

[0021] FIG. 14 shows an example graphical user interface (GUI).DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

[0022] Methods are described herein to enable perspective-centric spatial map services.

[0023] The following abbreviations may be used herein:Table 1 - Abbreviations

[0024] Definitions for the following terms, per their intended meaning and usage in the context of the description herein, are provided below for reference.Table 2 - Terms

[0025] FIG. 1 is a diagram of an example machine-to machine (M2M), Internet of Things (loT), or Web of Things (WoT) communication system 10 in which one or more disclosed embodiments may be implemented. Generally, M2M technologies provide building blocks for the loT / W oT, and any M2M device, M2M gateway, M2M server, or M2M service platform may be a component or node of the IOT / WOT as well as an IOT / WOT Service Layer, etc. Any of the client, proxy, or server devices illustrated in any of FIGs. 5-14 may comprise a node of a communication system, such as the ones illustrated in FIGs. 5-14.

[0026] The service layer may be a functional layer within a network service architecture. Service layers are typically situated above the application protocol layer such as HTTP, CoAP or MQTT and provide value added services to client applications. The service layer also provides an interface to core networks at a lower resource layer, such as for example, a control layer and transport / access layer. The service layer supports multiple categories of (service) capabilities or functionalities including a service definition, service runtime enablement, policy management, access control, and service clustering. Recently, several industry standards bodies, e.g., oneM2M, have been developing M2M service layers to address the challenges associated with the integration of M2M types of devices and applications into deployments such as the Intemet / Web, cellular, enterprise, and home networks. A M2M service layer can provide applications and / or various devices with access to a collection of or a set of the above mentioned capabilities or functionalities, supported by the service layer, which can be referred to as a CSE or SCL. A few examples include but are not limited to security, charging, data management, device management, discovery, provisioning, and connectivity management which can be commonly used by various applications. These capabilities or functionalities are made available to such various applications via APIs which make use of message formats, resource structures and resource representations defined by the M2M service layer. The CSE or SCL is a functional entity that may be implemented by hardware and / or software and that provides (service) capabilities or functionalities exposed to various applications and / or devices (i.e., functional interfaces between such functional entities) in order for them to use such capabilities or functionalities.

[0027] As shown in FIG. 1, the M2M / IoT / WoT communication system 10 includes a communication network 12. The communication network 12 may be a fixed network (e.g., Ethernet, Fiber, ISDN, PLC, or the like) or a wireless network (e.g., WLAN, cellular, or the like) or a network of heterogeneous networks. For example, the communication network 12may be comprised of multiple access networks that provide content such as voice, data, video, messaging, broadcast, or the like to multiple users. For example, the communication network 12 may employ one or more channel access methods, such as code division multiple access (CDMA), time division multiple access (TDMA), frequency division multiple access (FDMA), orthogonal FDMA (OFDMA), single-carrier FDMA (SC-FDMA), and the like. Further, the communication network 12 may comprise other networks such as a core network, the Internet, a sensor network, an industrial control network, a personal area network, a fused personal network, a satellite network, a home network, or an enterprise network for example.

[0028] As shown in FIG. 1, the M2M / IOT / WOT communication system 10 may include the Infrastructure Domain and the Field Domain. The Infrastructure Domain refers to the network side of the end-to-end M2M deployment, and the Field Domain refers to the area networks, usually behind an M2M gateway. The Field Domain and Infrastructure Domain may both comprise a variety of different nodes (e.g., servers, gateways, device, and the like) of the network. For example, the Field Domain may include M2M gateways 14 and devices 18. It will be appreciated that any number of M2M gateway devices 14 and M2M devices 18 may be included in the M2M / IoT / WoT communication system 10 as desired. Each of the M2M gateway devices 14 and M2M devices 18 are configured to transmit and receive signals, using communications circuitry, via the communication network 12 or direct radio link. A M2M gateway 14 allows wireless M2M devices (e.g., cellular and non-cellular) as well as fixed network M2M devices (e g., PLC) to communicate either through operator networks, such as the communication network 12 or direct radio link. For example, the M2M devices 18 may collect data and send the data, via the communication network 12 or direct radio link, to an M2M application 20 or other M2M devices 18. The M2M devices 18 may also receive data from the M2M application 20 or an M2M device 18. Further, data and signals may be sent to and received from the M2M application 20 via an M2M Service Layer 22, as described below. M2M devices 18 and gateways 14 may communicate via various networks including, cellular, WLAN, WPAN (e.g., Zigbee, 6L0WPAN, Bluetooth), direct radio link, and wireline for example. Exemplary M2M devices include, but are not limited to, tablets, smart phones, medical devices, temperature and weather monitors, connected cars, smart meters, game consoles, personal digital assistants, health and fitness monitors, lights, thermostats, appliances, garage doors and other actuator-based devices, security devices, and smart outlets.

[0029] Referring to FIG. 2, the illustrated M2M Service Layer 22 in the field domain provides services for the M2M application 20, M2M gateways 14, and M2M devices 18 and the communication network 12. It will be understood that the M2M Service Layer 22 may communicate with any number of M2M applications, M2M gateways 14, M2M devices 18, and communication networks 12 as desired. The M2M Service Layer 22 may be implemented by one or more nodes of the network, which may comprise servers, computers, devices, or the like. The M2M Service Layer 22 provides service capabilities that apply to M2M devices 18, M2M gateways 14, and M2M applications 20. The functions of the M2M Service Layer 22 may be implemented in a variety of ways, for example as a web server, in the cellular core network, in the cloud, etc.

[0030] Similar to the illustrated M2M Service Layer 22, there is the M2M Service Layer 22’ in the Infrastructure Domain. M2M Service Layer 22’ provides services for the M2M application 20’ and the underlying communication network 12 in the infrastructure domain. M2M Service Layer 22’ also provides services for the M2M gateways 14 and M2M devices 18 in the field domain. It will be understood that the M2M Service Layer 22’ may communicate with any number of M2M applications, M2M gateways and M2M devices. The M2M Service Layer 22’ may interact with a Service Layer by a different service provider. The M2M Service Layer 22’ may be implemented by one or more nodes of the network, which may comprise servers, computers, devices, virtual machines (e g., cloud computing / storage farms, etc.) or the like.

[0031] Referring also to FIG. 2, the M2M Service Layers 22 and 22’ provide a core set of service delivery capabilities that diverse applications and verticals may leverage. These service capabilities enable M2M applications 20 and 20’ to interact with devices and perform functions such as data collection, data analysis, device management, security, billing, service / device discovery, etc. Essentially, these service capabilities free the applications of the burden of implementing these functionalities, thus simplifying application development and reducing cost and time to market. The Service Layers 22 and 22’ also enable M2M applications 20 and 20’ to communicate through various networks such as network 12 in connection with the services that the Service Layers 22 and 22’ provide.

[0032] The M2M applications 20 and 20’ may include applications in various industries such as, without limitation, transportation, health and wellness, connected home, energy management, asset tracking, and secunty and surveillance. As mentioned above, theM2M Service Layer, running across the devices, gateways, servers and other nodes of the system, supports functions such as, for example, data collection, device management, security, billing, location tracking / geofencing, device / service discovery, and legacy systems integration, and provides these functions as services to the M2M applications 20 and 20’.

[0033] Generally, a Service Layer, such as the Service Layers 22 and 22’ illustrated in FIG. 2, defines a software middleware layer that supports value-added service capabilities through a set of Application Programming Interfaces (APIs) and underlying networking interfaces. Both the ETSI M2M and oneM2M architectures define a Service Layer. ETSI M2M’s Service Layer is referred to as the Service Capability Layer (SCL). The SCL may be implemented in a variety of different nodes of the ETSI M2M architecture. For example, an instance of the Service Layer may be implemented within an M2M device (where it is referred to as a device SCL (DSCL)), a gateway (where it is referred to as a gateway SCL (GSCL)) and / or a network node (where it is referred to as a network SCL (NSCL)). The oneM2M Service Layer supports a set of Common Service Functions (CSFs) (i.e., service capabilities). An instantiation of a set of one or more particular types of CSFs is referred to as a Common Services Entity (CSE) which may be hosted on different types of network nodes (e.g., infrastructure node, middle node, application-specific node). The Third Generation Partnership Project (3GPP) has also defined an architecture for machine-type communications (MTC). In that architecture, the Senice Layer, and the service capabilities it provides, are implemented as part of a Service Capability Server (SCS). Whether embodied in a DSCL, GSCL, or NSCL of the ETSI M2M architecture, in a Service Capability Server (SCS) of the 3GPP MTC architecture, in a CSF or CSE of the oneM2M architecture, or in some other node of a network, an instance of the Service Layer may be implemented as a logical entity (e.g., software, computer-executable instructions, and the like) executing either on one or more standalone nodes in the network, including servers, computers, and other computing devices or nodes, or as part of one or more existing nodes. As an example, an instance of a Service Layer or component thereof may be implemented in the form of software running on a network node (e.g., server, computer, gateway, device or the like) having the general architecture illustrated in FIG. 3 or FIG. 4 described below.

[0034] Further, the methods and functionalities described herein may be implemented as part of an M2M network that uses a Service Onented Architecture (SOA) and / or a Resource- Oriented Architecture (ROA) to access services.

[0035] FIG. 3 is a block diagram of an example hardware / software architecture of a node of a network, such as one of the clients, servers, or proxies illustrated in FIGs. 5-18, which may operate as an M2M server, gateway, device, or other node in an M2M network such as that illustrated in FIGs. 5-18. As shown in FIG. 3, the node 30 may include a processor 32, non-removable memory' 44, removable memory 46, a speaker / mi crophone 38, a keypad 40, a display, touchpad, and / or indicators 42, a power source 48, a global positioning system (GPS) chipset 50, and other peripherals 52. The node 30 may also include communication circuitry, such as a transceiver 34 and a transmit / receive element 36. It will be appreciated that the node 30 may include any sub-combination of the foregoing elements while remaining consistent with an embodiment. This node may be a node that implements the methods described herein, e.g., in relation to the methods described in reference to FIGs. 5-14 or the data structures of FIGs. 5-14, Tables 1-3, or in a claim.

[0036] The processor 32 may be a general purpose processor, a special purpose processor, a conventional processor, a digital signal processor (DSP), a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits (ASICs), Field Programmable Gate Array (FPGAs) circuits, any other type of integrated circuit (IC), a state machine, and the like. In general, the processor 32 may execute computer-executable instructions stored in the memory (e.g., memory 44 and / or memory 46) of the node in order to perform the various required functions of the node. For example, the processor 32 may perform signal coding, data processing, power control, input / output processing, and / or any other functionality that enables the node 30 to operate in a wireless or wired environment. The processor 32 may run application-layer programs (e.g., browsers) and / or radio access-layer (RAN) programs and / or other communications programs. The processor 32 may also perform security operations such as authentication, security key agreement, and / or cryptographic operations, such as at the access-layer and / or application layer for example.

[0037] As shown in FIG. 3, the processor 32 is coupled to its communication circuitry (e.g., transceiver 34 and transmit / receive element 36). The processor 32, through the execution of computer executable instructions, may control the communication circuitry in order to cause the node 30 to communicate with other nodes via the network to which it is connected. In particular, the processor 32 may control the communication circuitry in order to perform the methods described herein, e.g., in relation to FIGs. 5-13, or in a claim. While FIG. 3 depictsthe processor 32 and the transceiver 34 as separate components, it will be appreciated that the processor 32 and the transceiver 34 may be integrated together in an electronic package or chip.

[0038] The transmit / receive element 36 may be configured to transmit signals to, or receive signals from, other nodes, including M2M servers, gateways, device, and the like. For example, in an embodiment, the transmit / receive element 36 may be an antenna configured to transmit and / or receive RF signals. The transmit / receive element 36 may support various networks and air interfaces, such as WLAN, WPAN, cellular, and the like. In an embodiment, the transmit / receive element 36 may be an emitter / detector configured to transmit and / or receive IR, UV, or visible light signals, for example. In yet another embodiment, the transmit / receive element 36 may be configured to transmit and receive both RF and light signals. It will be appreciated that the transmit / receive element 36 may be configured to transmit and / or receive any combination of wireless or wired signals.

[0039] In addition, although the transmit / receive element 36 is depicted in FIG. 3 as a single element, the node 30 may include any number of transmit / receive elements 36. More specifically, the node 30 may employ MIMO technology. Thus, in an embodiment, the node 30 may include two or more transmit / receive elements 36 (e.g., multiple antennas) for transmitting and receiving wireless signals.

[0040] The transceiver 34 may be configured to modulate the signals that are to be transmitted by the transmit / receive element 36 and to demodulate the signals that are received by the transmit / receive element 36. As noted above, the node 30 may have multi-mode capabilities. Thus, the transceiver 34 may include multiple transceivers for enabling the node 30 to communicate via multiple RATs, such as UTRA and IEEE 802. 11, for example.

[0041] The processor 32 may access information from, and store data in, any type of suitable memory, such as the non-removable memory 44 and / or the removable memory 46. For example, the processor 32 may store session context in its memory, as described above. The non-removable memory' 44 may include random-access memory (RAM), read-only memory (ROM), a hard disk, or any other type of memory storage device. The removable memory 46 may include a subscriber identity module (SIM) card, a memory stick, a secure digital (SD) memory card, and the like. In other embodiments, the processor 32 may access information from, and store data in, memory that is not physically located on the node 30, such as on a server or a home computer. The processor 32 may be configured to control lighting patterns, images, or colors on the display or indicators 42.

[0042] The processor 32 may receive power from the power source 48, and may be configured to distribute and / or control the power to the other components in the node 30. The power source 48 may be any suitable device for powering the node 30. For example, the power source 48 may include one or more dry cell batteries (e.g., nickel-cadmium (NiCd), nickel-zinc (NiZn), nickel metal hydride (NiMH), lithium-ion (Li-ion), etc ), solar cells, fuel cells, and the like.

[0043] The processor 32 may also be coupled to the GPS chipset 50, which is configured to provide location information (e.g., longitude and latitude) regarding the current location of the node 30. It will be appreciated that the node 30 may acquire location information by way of any suitable location-determination method while remaining consistent with an embodiment.

[0044] The processor 32 may further be coupled to other peripherals 52, which may include one or more software and / or hardware modules that provide additional features, functionality and / or wired or wireless connectivity. For example, the peripherals 52 may include various sensors such as an accelerometer, biometrics (e.g., finger print) sensors, an e- compass, a satellite transceiver, a sensor, a digital camera (for photographs or video), a universal serial bus (USB) port or other interconnect interfaces, a vibration device, a television transceiver, a hands free headset, a Bluetooth® module, a frequency modulated (FM) radio unit, a digital music player, a media player, a video game player module, an Internet browser, and the like.

[0045] The node 30 may be embodied in other apparatuses or devices, such as a sensor, consumer electronics, a wearable device such as a smart watch or smart clothing, a medical or eHealth device, a robot, industrial equipment, a drone, a vehicle such as a car, truck, train, or airplane. The node 30 may connect to other components, modules, or systems of such apparatuses or devices via one or more interconnect interfaces, such as an interconnect interface that may comprise one of the peripherals 52.

[0046] FIG. 4 is a block diagram of an exemplary computing system 90 which may also be used to implement one or more nodes of a network, such as the clients, servers, or proxies illustrated in FIGs. 5-14, which may operate as an M2M server, gateway, device, or other node in an M2M network such as that illustrated in FIGs. 5-14.

[0047] Computing system 90 may comprise a computer or server and may be controlled primarily by computer readable instructions, which may be in the form of software,wherever, or by whatever means such software is stored or accessed. Such computer readable instructions may be executed within a processor, such as central processing unit (CPU) 91, to cause computing system 90 to do work. In many known workstations, servers, and personal computers, central processing unit 91 is implemented by a single-chip CPU called a microprocessor. In other machines, the central processing unit 91 may comprise multiple processors. Coprocessor 81 is an optional processor, distinct from main CPU 91, that performs additional functions or assists CPU 91. CPU 91 and / or coprocessor 81 may receive, generate, and process data related to the disclosed systems and methods for E2E M2M Service Layer sessions, such as receiving session credentials or authenticating based on session credentials.

[0048] In operation, CPU 91 fetches, decodes, and executes instructions, and transfers information to and from other resources via the computer’s main data-transfer path, system bus 80. Such a system bus connects the components in computing system 90 and defines the medium for data exchange. System bus 80 typically includes data lines for sending data, address lines for sending addresses, and control lines for sending interrupts and for operating the system bus. An example of such a system bus 80 is the PCI (Peripheral Component Interconnect) bus.

[0049] Memories coupled to system bus 80 include random access memory (RAM) 82 and read only memory (ROM) 93. Such memories include circuitry that allows information to be stored and retrieved. ROMs 93 generally contain stored data that cannot easily be modified. Data stored in RAM 82 may be read or changed by CPU 91 or other hardware devices. Access to RAM 82 and / or ROM 93 may be controlled by memory controller 92. Memory controller 92 may provide an address translation function that translates virtual addresses into physical addresses as instructions are executed. Memory controller 92 may also provide a memory protection function that isolates processes within the system and isolates system processes from user processes. Thus, a program running in a first mode may access only memory mapped by its own process virtual address space; it cannot access memory within another process’s virtual address space unless memory sharing between the processes has been set up.

[0050] In addition, computing system 90 may contain peripherals controller 83 responsible for communicating instructions from CPU 91 to peripherals, such as printer 94, keyboard 84, mouse 95, and disk drive 85.

[0051] Display 86, which is controlled by display controller 96, is used to display visual output generated by computing system 90. Such visual output may include text, graphics, animated graphics, and video. Display 86 may be implemented with a CRT-based video display, an LCD-based flat-panel display, gas plasma-based flat-panel display, or a touch-panel. Display controller 96 includes electronic components required to generate a video signal that is sent to display 86.

[0052] Further, computing system 90 may contain communication circuitry, such as for example a network adaptor 97, that may be used to connect computing system 90 to an external communications network, such as network 12 of FIGs. 1-4, to enable the computing system 90 to communicate with other nodes of the network.

[0053] Emerging technologies such as augmented reality (AR) and virtual reality (VR) enhance user experience by immersing users with their surrounding environment, whether physical or virtual. A user may get access to information to enrich their augmented reality experience or be totally immersed with a virtual reality experience. Spatial anchors play an important role in both AR and VR technologies and enable users to interact with the augmented or virtual worlds.

[0054] Spatial anchors connect locations in a virtual (VR) and / or real -world (AR) environment with digital content. For example, FIG. 5 shows spatial anchors in a real-world AR use case. In this use case, spatial anchors are anchored to the locations of store fronts on a city street. Each spatial anchor also has digital content associated with it (e.g., type of location, icon, rating, distance away). These spatial anchors are used to attract potential customers into the stores and guide them to products which meet their personalized shopping preferences (e.g., personalized advertisements and discounts on products they typically buy). Spatial anchors may be rendered and viewed on personal device such as smart phones, watches, or glasses as a user walks down a city street. For spatial anchors to have purpose and provide value, they must be anchored to a location within a spatial map.

[0055] FIG. 5 shows an example in which each of the spatial anchors are anchored to the location of a storefront 500. For outdoor navigation use cases like this one, the spatial map may be based on Global Positioning System (GPS) coordinates. Each spatial anchor may have an associated latitude and longitude coordinates of the location they are anchored to. In doing so, the coordinates enable outdoor spatial anchors to be easily integrated with personalnavigation systems supporting GPS based maps of streets and points of interest such as businesses and landmarks.

[0056] FIG. 6 show an example 600 for indoor use cases such as the shopping use case, in which the use of GPS based maps may not be an option due to the lack of satellite coverage indoors. In addition, for both indoor and outdoor use cases, GPS has limitations regarding location precision (several meters). Instead, other types of location technologies (e.g. Wi-Fi and / or 3GPP positioning and ranging) coupled with indoor mapping and localization services may be required. For example, mapping of indoor spaces has a unique set of challenges compared to mapping of outdoor spaces. Unlike streets and landmarks, many indoor spaces have an increased likelihood and frequency of changes. For example, it is not uncommon for the layout of aisles, shelves, and merchandise within a store to change on a frequent basis. As a result, frequent remapping of the sales floor of the store may be required. Indoor mapping technologies for these types of use cases must be agile and support dynamic updating of indoor maps to support spatial anchors that may move about within a spatial map.

[0057] FIG. 7 illustrates an example architecture 700 for supporting spatial map services within the context of a 3 GPP system. The architecture supports spatial map client(s) and server(s). A spatial map server is accessed by VAL servers to create and offload the management of VAL server defined spatial maps to the spatial map server. The spatial map server may also be accessed by a spatial map client on behalf of VAL clients which interface to the spatial map server. To generate and maintain spatial maps, the spatial map server may interface to other functions and services in a 3GPP system such as but not limited to those shown in FIG. 3.

[0058] Note, one skilled in the art will recognize that other spatial map service architectures than the one shown in FIG. 7 may be possible.

[0059] FIG. 8 shows another example spatial map services architecture 800. In this example, the spatial map client and server may be realized as functions within other clients and servers such as a location management client and server, or a mobile metaverse client or server as shown in FIG. 8.

[0060] Spatial map services may be used by different types of clients (e.g., devices, applications, services, and / or users) having different situational context, spatial map requirements, and service subscription levels. For example, clients may have different spatial positions or orientations, different spatial content / service interests, or different service plans(e.g., basic or premium plans). These types of factors may require a spatial map service to provide different perspectives of spatial map information to different clients. For example, perspectives which limit the spatial anchors within the spatial map that are made visible to certain clients based on their position and orientation within the spatial map. In addition, for any given client, their situational context (e.g., position, orientation, content / service interests, etc.) may change with a high degree of variability. This may require the spatial map service to provide frequent updates to clients to inform them of changing spatial map perspectives applicable to those clients. To further complicate matters, spatial map services must have multitenancy support and be capable of servicing large numbers of clients simultaneously and providing different spatial map perspectives to these individual clients. In addition, some use cases may require spatial map services to track and make other clients visible to them within spatial map perspectives, while other use cases may require clients to remain unaware of other clients and keep their presence unknown. To date, spatial map services equipped with perspective-centric features and functionality is currently lacking.

[0061] The techniques described herein define methods to enable perspective-centric spatial map services. Some of the key features defined herein may include the following:

[0062] A spatial map server supporting spatial map perspectives comprising groups of spatial anchors, wherein the groups of spatial anchors are determined based on different areas and aspects of the spatial map and the clients who access the spatial map, and the spatial map server supports the following perspective-centric spatial map operations:

[0063] Receiving a request from a client (e.g., device, application, user) to create, update, retrieve, subscribe to, or delete a spatial map perspective, wherein the request comprises one or more of a client identifier, spatial map perspective identifier, a group of spatial anchors or objects associated with the perspective, an area, orientation, range, trajectory, content or services associated with the perspective, a spatial map perspective subscription events of interest, access control policies used to determine which clients are permitted to access the spatial map perspective,

[0064] Processing the spatial map perspective create, update, retrieve, subscribe to, or delete request and returning a response comprising one or more of a spatial map perspective identifier, a group of spatial anchors or objects associated with the perspective, an area, orientation, range, trajectory, content or services associated with the perspective, a spatial mapperspective subscription events of interest, access control policies used to determine which clients are permitted to access the spatial map perspective,

[0065] Receiving a request to configure a spatial map perspective lifecycle management policy, wherein the policy comprises one or more spatial map perspective creation, update, or delete policies,

[0066] Using the spatial map perspective lifecycle management policies to create, update, or delete spatial map perspectives if / when the trigger conditions specified within the policies are met,

[0067] Detecting a client’s current position, orientation, range and / or trajectory, determining one or more spatial map perspectives applicable to the client and sending a spatial map perspective notification to the client comprising information such as the group of spatial anchors associated with the perspective,

[0068] Detecting if / when a client’s position, orientation, range and / or trajectory changes resulting in a required spatial map perspective update, and sending a spatial map perspective notification to the client comprising information such as an updated perspective and group of spatial anchors,

[0069] Receiving a request from a client specifying the client’s current position, orientation, range and / or trajectory, determining one or more spatial map perspectives applicable to the client and sending a spatial map perspective notification to the client comprising information such as the group of spatial anchors associated with the perspective,

[0070] Receiving a spatial map request associated with a given client, and based on the client’s service subscription information (e.g., identifier and credentials of client device, application and / or user, service subscription plan level, spatial map content or service preferences), determining which spatial map perspectives a client is permitted to access, and / or a customized / personalized spatial map perspective for the given client comprising content or services preferred by the client,

[0071] Receiving a spatial map request for a given client comprising application context and determining a spatial map perspective and / or content or services within a spatial map perspective which a client is allowed to access, wherein the context may be a client’s job function, character role, game level or credit, or an application key,

[0072] Receiving a spatial map request comprising a client group identifier and determining which spatial map perspectives and / or content or services of a spatial map perspective a client is allowed to access based on the client group identifier,

[0073] Supporting multi-client spatial map perspectives in which the spatial map service may share information with clients regarding other clients who are members of the same group and who are simultaneously present in the same area associated with the spatial map perspective.

[0074] A spatial map client (e.g., device, application, user) supporting the following perspective-centric spatial map operations:

[0075] Sending a request to a spatial map server to create, update, retrieve, subscribe to, or delete a spatial map perspective, wherein the request comprises one or more of a client identifier, spatial map perspective identifier, a group of spatial anchors or objects associated with the perspective, an area, orientation, range, trajectory, content or services associated with the perspective, a spatial map perspective subscription events of interest, access control policies used to determine which clients are permitted to access the spatial map perspective,

[0076] Receiving a response from a spatial map server comprising one or more of a spatial map perspective identifier, a group of spatial anchors or objects associated with the perspective, an area, orientation, range, trajectory, content, or services associated with the perspective, a spatial map perspective subscription events of interest, access control policies used to determine which clients are permitted to access the spatial map perspective,

[0077] Sending a request to a spatial map server to configure a spatial map perspective lifecycle management policy, wherein the policy comprises one or more spatial map perspective creation, update, or delete policies,

[0078] Receiving a spatial map perspective notification from a spatial map server comprising information such as the group of spatial anchors associated with the perspective,

[0079] Sending a query request to a spatial map server specifying the client’s current position, orientation, range and / or trajectory, and receiving spatial map perspective information such as the group of spatial anchors associated with the perspective,

[0080] Sending a spatial map request to a spatial map server, comprising the client’s service subscription information (e.g., identifier and credentials of client device, application and / or user, service subscription plan level, spatial map content or service preferences), and receiving a response comprising information regarding the spatial map perspective(s) a clientis permited to access, and / or a customized / personalized spatial map perspective for the given client comprising content or services preferred by the client,

[0081] Sending a spatial map request to a spatial map server comprising application context of the client and receiving a response comprising one or more spatial map perspectives and / or content or services within spatial map perspectives which a client is allowed to access, wherein the context may be a client’s job function, character role, game level or credit, or an application key,

[0082] Sending a spatial map request to a spatial map server comprising a client group identifier and receiving a response comprising one or more spatial map perspectives and / or content or services of one or more spatial map perspectives a client is allowed to access based on the client group identifier.

[0083] For a given spatial map, one or more spatial map perspectives may be defined. The perspectives may be based on one or more aspects of a spatial map and / or the devices, applications, services, or users (i.e., clients) which interact with a spatial map. For example, spatial map perspectives may be based on different regions, areas, rooms, viewing angles of a spatial map. Each spatial map perspective may comprise an applicable subset / group of spatial anchors of the spatial map.

[0084] FIG. 9 shows example spatial map perspectives 900. As shown in the example of FIG. 9, a spatial map for a room may have multiple perspectives. The perspectives may be based on different viewing angles within the room. For example, a window & desk perspective, or a door perspective.

[0085] The spatial map shown in FIG. 9 map comprise a subset / group of spatial anchors that are linked together to form a spatial map perspective. The spatial anchors may be classified as “fixed”, “semi-fixed”, or “mobile” according to the characteristics of the spatial anchor. For example, the room shown in the figure may have one or more spatial anchors (e.g., spatial anchors 1, 2, 3, and 4) with a “fixed” classification to indicate the permanence of the spatial anchors within a spatial map. The spatial anchors may collectively be used to describe the room. Similarly, the door and window may also be classified as “fixed” to further describe features associated with the room. The desk and chair, on the other hand, may be classified as “semi-fixed” as its location in relation to the room is currently fixed but it may be moved at a future time. The spatial anchor of a user with a device such as a user equipment (UE) may be classified as “mobile” as the location of the UE (and hence the user) may change quitefrequently or be absent from the spatial map perspective altogether. Note that one skilled in the art will recognize the suggested classifications are not intended to limit or exclude other possible enumerations for classifying spatial anchors within a spatial map perspective.

[0086] The classification of spatial anchors may further be enumerated as primary or secondary to identify spatial anchors that may be discoverable for spatial map perspectives. In the example of the room, spatial anchor 1 may be classified as primary while spatial anchors 2, 3, and 4 may be classified as secondary. Spatial anchor 1 may appear in discovery results while spatial anchors 2, 3, and 4 may not.

[0087] Note that FIG. 9 shows one example of the realization of a spatial map perspective where different spatial anchors describe the locations of different features (e.g. door, window, and desk) of a spatial map. Each spatial anchor may include context information associated with the spatial anchor which may be used to describe the size, shape, dimension, composition, features, texture, etc. of the door, window, and desk. For example, a spatial anchor may be associated with the door and context information about the door is provided to supplement the spatial anchor. In this case, information about the door’s size, shape, dimensions, composition, features (e.g. where door handle is located), texture, and the relative location to other spatial anchors may be associated with the spatial anchor. Note the location associated with a spatial anchor may be relative or absolute, e.g. the location of the spatial anchor of the room may comprise of GPS coordinates and / or civil address.

[0088] The discovery, selection and sharing of spatial map perspectives with spatial map clients may be based on situational context of the spatial map clients who interact with the spatial map server and its spatial maps.

[0089] FIG. 10 shows example spatial map perspectives based on client position and orientation 1000. In the example shown in FIG. 10, the perspectives a spatial map server shares with a client may be based on a client’s current position (e.g., where they are standing) and / or their orientation (e.g., which direction they are facing or which object they are looking at). As the position and / or orientation of a client changes over time, a spatial map server may provide a client with updated spatial map perspectives.

[0090] Sharing of spatial map perspectives with different clients may also be qualified by additional constraints such as a client’s privileges to access certain features of a spatial map (e.g., high-precision localization, access to premium areas and / or content of a spatial map, etc.). In doing so, perspectives may be used as a means of providing differentiatedspatial map services to different clients. For example, different clients having the same position and orientation may be provided with different spatial map perspectives having different spatial map content, visuals, or services. The determination on which clients are given access to which perspectives, may be based on their different service subscription levels.

[0091] FIG. 11 illustrates a proposed architecture 1100 for supporting perspectivecentric spatial map services within the context of a 3GPP system. A 3GPP system may support spatial map client(s) and server(s). These clients and servers may support the perspectivecentric spatial map features and functionality as described herein. For example, VAL clients and servers may issue requests to spatial map clients and servers to perform lifecycle management operations on spatial map perspectives such as creating new spatial map perspectives for a spatial map. Spatial map clients and servers may also receive requests to perform perspective-centric spatial map operations such as querying a spatial map to identify spatial map perspectives which are applicable to the current position and / or orientation of a client.

[0092] Note, one skilled in the art will recognize that the architecture show n in FIG. 11 is not intended to limit or exclude other possible architectural options for supporting perspective-centric spatial map services within a 3GPP system. For example, alternatively the perspective-centric spatial map functionality may be realized as features of other services within a 3GPP system such as but not limited to an XR, metaverse, or location management service in a 3GPP system which supports spatial map functionality'.

[0093] Note that the perspective-centric spatial map functionality shown in FIG. 11 and described herein may also be deployed in non-3GPP based systems. For example, spatial map services deployed by a cloud service provider offering perspective-centric spatial map functionality which may or may not communicate with a 3 GPP network. The perspectivecentric spatial map functionality of a cloud service provider may expose APIs for VAL clients to access the functionality described herein.

[0094] Note, one skilled in the art will also recognize that the term client and server referenced herein may be realized as software deployed on one or more network apparatuses comprising processor(s), memory, and network interface(s). The apparatuses may be deployed as cloud apparatuses, edge apparatuses, or device apparatuses. One or more servers and / or clients of the same or different type may be deployed on a single apparatus. A single server or client may be split and deployed across multiple apparatuses. The functionality of one type ofserver or client may be combined or consolidated with the functionality of another type of server or client and deployed together with one another on one or more apparatuses.

[0095] A spatial map client and / or server may generate, store and / or be configured with context information for spatial map perspectives such as but not limited to the context information elements defined in Table 3. This context information may originate from and / or be shared with other functions and services in a 3GPP system such as but not limited to those shown in FIG. 11, e g. VAL clients and servers, spatial anchor clients and servers, other spatial map clients and servers, 3GPP core network functions, group management clients and servers, and location management clients and servers.

[0096] One skilled in the art will recognize that a spatial map client or server may generate, store and / or be configured with additional context information elements not captured in Table 3. Note that context information for spatial map perspectives may be generated, stored and / or be configured by cloud service platforms deployed together or independent of 3GPP systems.Table 3 - Context Information for Spatial Map Perspectives

[0097] In an example, an apparatus, such as a spatial map server, may receive, from a client device, a request for a spatial map subscription, wherein the request indicates one or more spatial map perspective events of interest to the client device. The client device may comprise a VAL client or spatial map client. The request may indicate interest in receiving one or more notifications indicating at least one of: when a spatial map perspective has been created, updated, or deleted; when usage of a spatial map perspective should be stopped or started; or when a transition from one spatial map perspective to another spatial map perspective is required. The one or more spatial map perspective events of interest to the client device may comprise at least one of: an indication that a spatial map perspective has been created, updated, or deleted; an indication that the client device needs to start or stop using one or more spatial map perspectives; or an indication that the client device needs to transition from using one spatial map perspective to another spatial map perspective. The apparatus may send, to the client device, information associated with the spatial map subscription, wherein the information indicates a spatial map subscription identifier. The information associated with the spatial map subscription may further indicate at least one of: a subscription level; product, scenery, or lighting preferences related to a spatial map perspective; a type of spatial map perspective; or a type of content or service option associated with a spatial map perspective. The apparatus may send, to the client device and based on detecting that a spatial map perspective event of the one or more spatial map perspective events has occurred, a notification comprising spatial map perspective information. The spatial map perspective information may indicate at least one of: one or more identifiers of objects associated with a spatial map perspective; one or more identifiers of spatial map perspectives; when a spatial map perspective has been created, updated, or deleted; when usage of a spatial map perspective should be stopped or started; or when a transition from one spatial map perspective to another spatial map perspective is required.

[0098] FIG. 12 shows an example procedure 1200 defining different types of lifecycle management operations for spatial map perspectives that may be supported by a spatial map service. For example, operations such as creating, retrieving, updating, and deleting a spatial map perspective may be supported. In addition, operations to subscribe to a spatial map perspective and receive notifications if / when perspective related events of interest are detected may also be supported. The spatial map perspective lifecycle management operations may be performed by a spatial map client or server upon receiving an explicit request to perform theoperation. For example, a VAL client or server may send a request to a spatial map client or server to create a spatial map perspective. These requests may comprise one or more information elements such as but not limited to those defined in Table 3. Alternatively, a spatial map client or server may be configured with one or more perspective lifecycle management policies such as but not limited to those defined in Table 3. These policies may comprise information which the spatial map client or server uses to autonomously perform spatial map perspective lifecycle management operations if / when rules defined within the policy have been met.

[0099] Note, the lifecycle management operations may be sequenced and performed in an order different than the order show n in FIG. 12. One skilled in the art will also recognize the proposed perspective-centric spatial map functionality may be deployed in separate spatial map client and server functions as shown in FIG. 12. Alternatively, perspective-centric spatial map functionality may be integrated and deployed together with other client and servers such as but limited to the other client and servers shown in FIG. 12.

[0100] Referring to FIG. 12, at step 1, a spatial map perspective may be created and / or updated by a spatial map client or server. This operation may be initiated by one or more explicit requests the spatial map client or server receives from a VAL client or server (e.g., a spatial map perspective create or update request). The requests may comprise one or more information elements such as but not limited to those defined in Table 3. For example, a spatial map perspective ID, perspective area, perspective position, perspective orientation, perspective range, and / or applicable set of spatial anchors. Upon receiving a request to create or update a spatial map perspective, a spatial map client or server may determine a group of spatial anchors applicable to the spatial map perspective. This determination may rely on a list of spatial anchors specified in the request. Alternatively, the spatial map client or server may determine a group of spatial anchors which reside in the perspective area, have the perspective orientation, range, trajectory, or content / sendees specified in the request.

[0101] Rather than or in addition to receiving requests to create or update a spatial map perspective, a spatial map client or server may be configured with one or more perspective lifecycle management policies to create or update spatial map perspectives such as but not limited to those defined in Table 3. The policies may comprise information which the spatial map client or server uses to autonomously perform spatial map perspective create or update operations if / when rules defined within the policy have been met. For example, create a newperspective if / when a client is detected in an area of the spatial map for which an existing perspective does not already exist. A policy may also define rules on how to format I structure a newly created perspective such as how to configure applicable area, position, orientation, range, and spatial anchors associated with spatial map perspective. These policies may be configured onto a spatial map client or server by one or more of the entities shown in FIG. 12 or by other means. The spatial map client or server may also interact with one or more other entities in the system such as but not limited to those shown in FIG. 12 when creating and / or updating spatial map perspectives.

[0102] A spatial map client or server may return a response to a spatial map create or update request it receives. In the response, the spatial map client or server may include one or more of a spatial map perspective identifier, a status indicating whether the spatial map perspective was created or updated successfully, and a group of spatial anchors and / or objects associated with the spatial map perspective. One or more additional information elements defined in Table 3 may also be included.

[0103] At step 2, spatial map perspectives may be discovered and / or retrieved via the spatial map client or server. This operation may be initiated by one or more explicit requests the spatial map client or server receives from a VAL client or server (e.g., a spatial map perspective retrieve or discover request). The requests may comprise one or more information elements such as but not limited to those defined in Table 3. For example, a spatial map perspective ID, perspective area, perspective position, perspective orientation, perspective range, and / or applicable set of spatial anchors. This request may include spatial map perspective query conditions which comprise one or more of these information elements. Based on the request, a spatial map client or server may determine whether a spatial map perspective exists which satisfies the request. If so, the spatial map client or server may return information about this spatial map perspective to the VAL client or server. For example, a response may comprise one or more spatial map perspective identifiers and / or a group of spatial anchors and / or objects associated with a spatial map perspective. One or more additional information elements defined in Table 3 may also be included. During this retrieve and / or discovery operation, the spatial map client or server may interact with other services and functions in the system such as but not limited to those shown in FIG. 12.

[0104] At step 3, a subscription to a spatial map perspective may be made via the spatial map client or server. These subscriptions may be initiated by a VAL client or serversending a spatial map perspective subscription request to a spatial map client or server. This request may include one or more spatial map perspective events which are of interest to the VAL client or server, and which are defined in Table 3. For example, a VAL client or server may indicate they are interested in receiving a notification if / when a spatial map perspective has been created, updated, or deleted, or if / when usage of a spatial map perspective should be stopped or started, or if / when a transition from one spatial map perspective to another is required. The spatial map client or server may return information about this spatial map perspective subscription to the VAL client or server. For example, a response may comprise a spatial map perspective subscription identifier. One or more additional information elements defined in Table 3 may also be included. Based on the request, a spatial map client or server may monitor and detect if / when the spatial map perspective events of interest occur, and in turn send spatial map perspective notifications to a VAL client or server. Within spatial map notifications, a spatial map client or server may include spatial map perspective information such as but not limited to one or more information elements defined in Table 3. When processing spatial map perspective subscriptions, detecting spatial map perspective events of interest, and / or generating spatial map perspective notifications, the spatial map client or server may interact with other services and functions in the system such as but not limited to those shown in FIG. 12.

[0105] At step 4, a subscription to a spatial map perspective may be cancelled via the spatial map client or server. This operation may be initiated by a VAL client or server sending a spatial map perspective unsubscribe request to a spatial map client or server. This request may include an identifier of one or more spatial map perspective subscriptions. Upon receiving the request, the spatial map client or server may delete the subscription(s), stop monitoring for the spatial map perspective events or interest, and discontinue sending spatial map perspective notifications associated with the subscription(s). While processing a spatial map unsubscribe request, the spatial map client or server may interact with other services and functions in the system such as but not limited to those shown in FIG. 12.

[0106] At step 5, a spatial map perspective may be deleted. This operation may be initiated by a VAL client or server sending a spatial map perspective delete request to a spatial map client or server. This request may include an identifier and / or one or more deletion criteria of one or more spatial map perspectives. Upon receiving the request, the spatial map server and / or client may delete the spatial map perspective based on the information provided in therequest. Alternatively, a spatial map client or server may be configured with one or more perspective lifecycle management policies to delete spatial map perspectives such as but not limited to those defined in Table 3. The policies may comprise information which the spatial map client or server uses to autonomously perform spatial map perspective delete operations if / when rules defined within the policy have been met. For example, if / when no clients have used the perspective within a certain amount of time. These policies may be configured onto a spatial map client or server by one or more of the entities show n in FIG. 12 or by other means. The spatial map client or server may also interact with one or more other entities in the system such as but not limited to those shown in FIG. 12 when deleting spatial map perspectives. Note, this request may support an option to not just delete a spatial map perspective, but also delete the set of spatial anchors associated with the spatial map perspective from a spatial map. Hence this option may enable a convenient way to delete a set of spatial anchors from a spatial map.

[0107] After one or more spatial map perspectives have been created and are accessible to a spatial map client or service, or alternatively after one or more spatial map perspective policies have been configured such that spatial map perspectives can be autonomously created by a spatial map client or service, then a spatial map client or server may start performing spatial map perspective-centric operations.

[0108] FIG. 13 shows an example procedure 1300 capturing several proposed spatial map perspective-centric operations. When performing these operations, a spatial map client or server may store and use spatial map perspective context such as but not limited to the context information elements defined in Table 3. A spatial map client or server may also interact with one or more entities in the system such as but not limited to the entities shown in FIG. 13.

[0109] Note, the perspective-centric spatial map operations shown in FIG. 13 may be sequenced and performed in an order different than the order shown. In addition, only one or a subset of these operations may be performed. One skilled in the art will also recognize the proposed perspective-centric spatial map functionality may be deployed in a separate spatial map client and server as shown in FIG. 13 or deployed together with other client and servers such as but not limited to those clients and server shown in FIG. 13.

[0110] Referring to FIG. 13, at step 1, a spatial map service may perform perspective-centric spatial map operations based on a client’s past, current, or expected position, orientation, range and / or trajectory. A spatial map service may receive client position,orientation, range and / or trajectory information from the client. Alternatively, the spatial map service may determine this information. The spatial map service may interact with one or more other services or functions in the system to determine the position, orientation, range and / or trajectory of the client such as a location management function, server, client in the system. The spatial map service may determine the client’s position, orientation, range and / or trajectory relative to one or more features of a spatial map perspective (e.g., spatial anchors or objects within the spatial map perspective). For example, based on the client’s current position, orientation, range and / or trajectory, the spatial map service may discover a group of spatial anchors and / or objects in the spatial map associated with a perspective which is applicable to the client’s position, orientation, range and / or trajectory. This discovered perspective may be based on a direction a client is facing and / or a determined view angle of the client with respect to these spatial map features. Alternatively, the perspective may be based on a certain range / distance between the client and these spatial map features. The perspective may also be determined based on a trajectory, route, or path of a client relative to these spatial map features. If when the client changes their position, orientation, range and / or trajectory, the spatial map service may determine an updated spatial map perspective applicable to the client. If / when a new spatial map perspective has been determined, the spatial map sendee may share spatial map perspective information with the client. This sharing may involve the spatial map service sending one or more spatial map perspective notifications to a client comprising information regarding the updated spatial map perspective. Alternatively, the spatial map service may allow clients to query the service to discover and / or retrieve updated spatial map perspective information. This query may involve the client sending a discover and / or retrieve request to the spatial map service which comprises spatial map perspective filter criteria. The filter criteria may comprise a past, current, or expected position, orientation, range and / or trajectory of the client. Based on this filter criteria, the spatial map sen ice may return a response to the client. The response may comprise information regarding spatial map perspective information which the spatial map service determines applicable to the client’s past, current, or expected position, orientation, range and / or trajectory. This information may include but is not limited to one or more elements defined in Table 3 such as a list of spatial anchors and respective attributes for a given spatial map perspective.

[0111] For example, based on a client’s current position, orientation, range and / or trajectory, a spatial map service can send a notification to the client comprising a spatial anchorperspective comprised of a group of spatial anchors. The spatial anchor group may have a primary anchor with one or more secondary anchors. The spatial anchor group may comprise spatial anchor content rendering information for one or more spatial anchors associated with a perspective of a spatial map. This information may be used by a client to render a spatial map perspective view (e.g. apart of a room). As the client changes their position, orientation, range and / or trajectory, the spatial map service may determine a different spatial map perspective matching the client’s new position, orientation, range and / or trajectory. As a result, the spatial map service may trigger the sending of a spatial map perspective notification to the client comprising updated spatial anchor group and content rendering information for the new perspective. In addition, the spatial map sendee may proactively search and / or determine nearby or expected positions, orientations, ranges and / or trajectories of the client and in turn send proactive I predicted spatial map perspective information to the client such that the client may perform proactive content rendering operations to improve client QoE.

[0112] At step 2, a spatial map service may perform perspective-centric spatial map operations based on a client’s service subscription. When receiving spatial map requests associated with a given client, a spatial map service may use client service subscription information (e.g., identifier and credentials of client device, application and / or user, service subscription plan level, spatial map content or service preferences), to determine which spatial map perspectives a client is permitted to access. This may enable a spatial map service to support spatial map perspectives based on different service subscription levels. For example, only clients having a certain level of service subscription (e.g., gold or platinum) may be allowed to access certain spatial map perspectives and / or features of a given perspective (e.g., premium content or services associated with spatial anchors of a given perspective). A spatial map service may also use service subscription information to determine content or service preferences of clients. Service subscription may be pre-provisioned to the spatial map service. For example, via service subscription policies. Alternatively, the spatial map service may interface to other functions or services in the system to obtain service subscription information. When sending requests to the spatial map service, a client may include a service subscriber identifier which the spatial map service may use to determine the service subscription information and service preferences associated with the client. Based on these preferences, a spatial map service may customize I personalize a spatial map perspective for a given client. A spatial map service may select a particular type of content or service from a pool of supportedcontent or services associated with a spatial map perspective and / or one or more of its associated spatial anchors. For example, a client may have certain product, scenery, or lighting preferences. Based on these preferences, a spatial map service may select certain types of spatial map perspectives and / or certain types of content or service options associated with a given spatial map perspective. A spatial map service may interact with other functions and services within the system to access service subscription information of clients. For example, a spatial map service may interface to client service subscription repository of a service provider or network provider user data repository (e.g., 5G CN UDM).

[0113] At step 3, a spatial map service may perform perspective-centric spatial map operations based on a client’s application context. When receiving a spatial map request for a given client, a spatial map service may determine if, how and when to process the spatial map request based on the client’s application context. Thus, the spatial map service may support different spatial map perspectives for client’s based on their application context. Application context may be provided to the spatial map service when clients issue individual spatial map access requests to the spatial map service. For example, a spatial map service may receive application context such as but not limited to a client’s job function, character role, game level or credit, or an application key, certain spatial map perspectives and / or certain content or services of a spatial map perspective. Based on this application context, a spatial map service may determine certain spatial map perspectives and / or content or services within a spatial map perspective which a client is allowed to access. For example, a client may embed an application key in a spatial map access request it sends to a spatial map service. The spatial map service may use this application key to determine which spatial map perspectives to unlock and allow the client to access. This type of feature may be useful for application developers who wish to provide access to certain perspectives of spatial maps to certain clients and / or to certain clients during certain situations (e.g., certain spatial map perspectives are unlocked once a client has reached a certain rewards level or advanced to a certain level in a game).

[0114] At step 4, a spatial map service may perform perspective-centric spatial map operations based on a client’s group membership status. When receiving a spatial map request for a given client, a spatial map service may determine if, how and when to process the spatial map request based on the client’s group membership status. For example, the spatial map service may support spatial map perspectives which are only accessible to members of a specific group. In another example, a spatial map service may support multi-client spatial mapperspectives in which the spatial map service may share information with clients regarding other clients who are members of the same group and who are simultaneously present in the same area associated with the spatial map perspective. To support multi-client spatial maps, a spatial map service may represent each client as mobile spatial anchor within the spatial map perspective. For example, the spatial map service may share the position, orientation, range, and traj ectory with all the clients such that they can become aware and interact with one another within the spatial map perspective. This sharing may be qualified based on whether an individual client provides their consent to address any privacy concerns of the client.

[0115] A client group identifier may be provided to the spatial map service when clients issue individual spatial map access requests to the spatial map service. Alternatively, a spatial map service may interact with other functions or services in the system to determine which groups a client is a member of. This interaction may take place when the spatial map service receives a request from an individual client or sometime in advance.

[0116] In one embodiment, spatial map servers and / or clients may implement spatial map perspective context information elements (such as but not limited to those defined in Table 3) as one or more RESTful resources. The RESTful resources may have unique addresses (e.g. URIs, URNs, etc.) and may also have one or more attributes that comprise resource data and / or metadata. These spatial map perspective resources may be created, retrieved, discovered, updated, or deleted by VAL clients and servers, as well as by other entities in the system such as but not limited to those shown in FIG. 11. Spatial map servers and clients may support RESTful APIs based on these resources. Via these APIs the spatial map perspective lifecycle management operations defined herein may be initiated. In addition, the APIs may also be used to initiate the perspective-centric spatial map procedures defined herein. These APIs may be based on RESTful protocols such as HTTP and CoAP.

[0117] In another embodiment, spatial map servers and / or clients may implement spatial map perspective context information elements (such as but not limited to those defined in Table 3) as one or more topics within atopic space of a message broker (e.g., MQTT broker, AMQP broker, etc.). A spatial map server and / or client may function as the message broker. Alternatively, the message broker may be hosted external to the spatial map server and / or client. For example, by another entity in the system which the spatial map server or client may communicate with. A spatial map server and / or client may send and / or receive publish and / orsubscribe requests to topics within a message broker. The topics may have unique addresses (e.g. topic names, etc.) and one or more attributes that contain topic data and / or metadata.

[0118] These spatial map perspective topics may be created, retrieved, discovered, updated, or deleted by VAL clients and servers, as well as by other entities in the sy stem such as but not limited to those shown in FIG. 11. Spatial map servers and clients may support APIs based on these topics. Via these APIs the spatial map perspective lifecycle management operations defined herein may be initiated. In addition, the APIs may also be used to initiate the perspective-centric spatial map procedures defined herein. These APIs may be based on Pub / Sub protocols such as MQTT and AMQP.

[0119] FIG. 14 shows an example of a graphical user interface (GUI) 1400 for configuring spatial map perspectives for a spatial map. The example shows a spatial map along with two perspectives: a window I desk perspective and a door perspective which provide groups of spatial anchors for each respective viewing angle. A VAL server and / or client may support a spatial map GUI to allow users to interact with a spatial map service to perform the spatial map perspective lifecycle management operations and / or perspective-centric spatial map operations defined within herein. For example, a user may use the GUI to create different perspectives for a spatial map.

Claims

What is claimed:

1. An apparatus comprising one or more processors and memory storing instructions which, when executed by the one or more processors, cause the apparatus to: receive, from a client device, a request for a spatial map subscription, wherein the request indicates one or more spatial map perspective events of interest to the client device; send, to the client device, information associated with the spatial map subscription, wherein the information indicates a spatial map subscription identifier; and send, to the client device and based on detecting that a spatial map perspective event of the one or more spatial map perspective events has occurred, a notification comprising spatial map perspective information.

2. The apparatus of claim 1, wherein the one or more spatial map perspective events of interest to the client device comprise at least one of: an indication that a spatial map perspective has been created, updated, or deleted; an indication that the client device needs to start or stop using one or more spatial map perspectives; or an indication that the client device needs to transition from using one spatial map perspective to another spatial map perspective.

3. The apparatus of claim 1, wherein the information associated with the spatial map subscription further indicates at least one of: a subscription level; product, scenery, or lighting preferences related to a spatial map perspective; a type of spatial map perspective; or a type of content or service option associated with a spatial map perspective.

4. The apparatus of claim 1, wherein the spatial map perspective information indicates at least one of: one or more identifiers of objects associated with a spatial map perspective; one or more identifiers of spatial map perspectives; when a spatial map perspective has been created, updated, or deleted; when usage of a spatial map perspective should be stopped or started; orwhen a transition from one spatial map perspective to another spatial map perspective is required.

5. The apparatus of claim 1 , wherein the request indicates interest in receiving one or more notifications indicating at least one of: when a spatial map perspective has been created, updated, or deleted; when usage of a spatial map perspective should be stopped or started; or when a transition from one spatial map perspective to another spatial map perspective is required.

6. The apparatus of claim 1, wherein the apparatus comprises a spatial map server.

7. The apparatus of claim 1, wherein the client device comprises a vertical application layer (VAL) client or spatial map client.

8. A method comprising: receiving, from a client device, a request for a spatial map subscription, wherein the request indicates one or more spatial map perspective events of interest to the client device; sending, to the client device, information associated with the spatial map subscription, wherein the information indicates a spatial map subscription identifier; and sending, to the client device and based on detecting that a spatial map perspective event of the one or more spatial map perspective events has occurred, a notification comprising spatial map perspective information.

9. The method of claim 8, wherein the one or more spatial map perspective events of interest to the client device comprise at least one of: an indication that a spatial map perspective has been created, updated, or deleted; an indication that the client device needs to start or stop using one or more spatial map perspectives; or an indication that the client device needs to transition from using one spatial map perspective to another spatial map perspective.

10. The method of claim 8, wherein the information associated with the spatial map subscription further indicates at least one of: a subscription level; product, scenery, or lighting preferences related to a spatial map perspective; a type of spatial map perspective; or a type of content or service option associated with a spatial map perspective.

11. The method of claim 8, wherein the spatial map perspective information indicates at least one of: one or more identifiers of objects associated with a spatial map perspective; one or more identifiers of spatial map perspectives; when a spatial map perspective has been created, updated, or deleted; when usage of a spatial map perspective should be stopped or started; or when a transition from one spatial map perspective to another spatial map perspective is required.

12. The method of claim 8, wherein the request indicates interest in receiving one or more notifications indicating at least one of: when a spatial map perspective has been created, updated, or deleted; when usage of a spatial map perspective should be stopped or started; or when a transition from one spatial map perspective to another spatial map perspective is required.

13. The method of claim 8, wherein the method is performed by a spatial map server.

14. The method of claim 8, wherein the client device comprises a vertical application layer (VAL) client or spatial map client.

15. An apparatus comprising one or more processors and memory storing instructions which, when executed by the one or more processors, cause the apparatus to:send, to a server, a request for a spatial map subscription, wherein the request indicates one or more spatial map perspective events of interest to the apparatus; receive, from the server, information associated with the spatial map subscription, wherein the information indicates a spatial map subscription identifier; and receive, from the server and based on detecting that a spatial map perspective event of the one or more spatial map perspective events has occurred, a notification comprising spatial map perspective information.

16. The apparatus of claim 15, wherein the one or more spatial map perspective events of interest to the client device comprise at least one of: an indication that a spatial map perspective has been created, updated, or deleted; an indication that the client device needs to start or stop using one or more spatial map perspectives; or an indication that the client device needs to transition from using one spatial map perspective to another spatial map perspective.

17. The apparatus of claim 15, wherein the information associated with the spatial map perspective subscription further indicates at least one of: a subscription level; product, scenery, or lighting preferences related to a spatial map perspective; a type of spatial map perspective; or a type of content or service option associated with a spatial map perspective.

18. The apparatus of claim 15, wherein the spatial map perspective information indicates at least one of: one or more identifiers of objects associated with a spatial map perspective; one or more identifiers of spatial map perspectives; when a spatial map perspective has been created, updated, or deleted; when usage of a spatial map perspective should be stopped or started; or when a transition from one spatial map perspective to another spatial map perspective is required.

19. The apparatus of claim 15, wherein the request indicates interest in receiving one or more notifications indicating at least one of: when a spatial map perspective has been created, updated, or deleted; when usage of a spatial map perspective should be stopped or started; or when a transition from one spatial map perspective to another spatial map perspective is required.

20. The apparatus of claim 15, wherein the apparatus comprises a vertical application layer (VAL) client or spatial map client.