Multi-tenant point of sale system and method thereof

A single code base with containerized microservices and Kubernetes addresses scalability and flexibility issues in multi-tenant POS systems, ensuring efficient and reliable operation across variable network topologies.

JP2026026074APending Publication Date: 2026-02-16エヌ·シー·アール·ヴォイクス·コーポレイション
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2025160919
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-09-30
Filing Date
2025-09-29
Publication Date
2026-02-16

AI Technical Summary

Technical Problem

Existing multi-tenant POS systems face scalability, flexibility, and efficiency issues due to reliance on multiple code bases and fragmented architectures, leading to increased complexity, operational costs, and inconsistent performance across variable network topologies.

Method used

A single code base with containerized microservices orchestrated by Kubernetes supports multiple tenants, enabling customization through configuration settings and dynamic network topology adaptation, ensuring seamless operation across diverse environments.

Benefits of technology

This approach simplifies system management, reduces operational costs, and enhances performance and reliability by optimizing each tenant's services for their specific network conditions, maintaining high availability and flexibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026026074000001_ABST
    Figure 2026026074000001_ABST
Patent Text Reader

Abstract

To provide a multi-tenant point-of-sale (POS) system which supports a plurality of tenants by using a single code base and copes with a variable network topology.SOLUTION: Leveraging a unified architecture that enables tenant-specific configuration settings while centralizing core functionality eliminates the need for multiple versions of software and reduces system complexity. The adoption of containerized microservices orchestrated via Kubernetes dynamically adapts to different network conditions and ensures optimal performance and reliability across diverse operating environments. This architecture not only simplifies system administration and accelerates deployment of updates, but also improves scalability and flexibility, providing a robust, adaptable, and efficient multi-tenant POS solution.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] Related Applications This application claims priority to and is a continuation-in-part of Application No. 18 / 790,368, entitled "Multi-Tenant Point of Sale (POS) System," filed July 31, 2024, the disclosure of which is incorporated herein by reference in its entirety.

[0002] The present invention relates to point of sale (POS) systems, and more particularly to multi-tenant POS systems that support multiple tenants through a single code base and accommodate variable network topologies. Summary of the Invention [Problem to be solved by the invention]

[0003] Existing multi-tenant solutions often suffer from scalability, flexibility, and efficiency issues due to their reliance on multiple code bases and fragmented system architectures. These systems typically require extensive customization and individual maintenance for each tenant, resulting in increased complexity, higher operational costs, and delays in the deployment of updates and new features. In addition, traditional multi-tenant architectures may not effectively support variable network topologies, resulting in inconsistent performance and limited adaptability to different operating environments. This can hinder operators' ability to provide seamless and robust services across diverse geographic locations and network conditions, ultimately affecting user experience and operational efficiency. [Means for solving the problem]

[0004] According to one aspect of the present invention, a method is provided that includes providing a single code base configured to support multiple tenants; receiving a customization request for a point of sale (POS) system; applying the customization request via a configuration setting change in the single code base without modifying source code of the single code base; deploying the customized POS system to at least one edge processing environment associated with a particular tenant of the multiple tenants; and synchronizing transaction data across the at least one edge processing environment and the multiple tenants during operation of the customized POS system.

[0005] The present invention utilizes a single code base, significantly simplifying system management, reducing operational costs, and improving consistency in update and feature deployment. Furthermore, through containerized microservices and orchestration with Kubernetes®, it effectively supports variable network topologies, optimizing each tenant's services for their specific network conditions and maintaining high performance and reliability despite geographical differences and infrastructure limitations. [Brief explanation of the drawings]

[0006] [Figure 1] FIG. 1 illustrates a multi-tenant point of sale (POS) system that supports variable network topologies through a single code base, according to an exemplary embodiment. [Figure 2] 2 illustrates the features and services provided by and supported by the multi-tenant POS system of FIG. 1 according to an exemplary embodiment. [Figure 3] 2 is a diagram of an architecture for the multi-tenant POS system of FIG. 1 showing a variable network topology, according to an exemplary embodiment. [Figure 4]2A-2C illustrate microservice interactions for various network topologies of the multi-tenant POS system of FIG. 1 according to an exemplary embodiment. [Figure 5] 1 is a flowchart of a method for providing and operating a multi-tenant POS system via a single code base, according to an exemplary embodiment. [Figure 6] 10 is a flowchart of another method for providing and operating a multi-tenant POS system via a single code base, according to an exemplary embodiment. [Figure 7] 1 is a flowchart of a method for operating a multi-tenant POS system with a variable network topology, according to an exemplary embodiment. [Figure 8] 10 is a flowchart of another method for operating a multi-tenant POS system with a variable network topology, according to an exemplary embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0007] Multitenancy has traditionally presented significant challenges in the retail technology space, particularly in point-of-sale (POS) systems. Prior art in this area often employs overly rigid or fragmented solutions, requiring separate instances or adaptations for each tenant. This not only complicates and increases the costs of system management, but also inhibits the rapid deployment of updates and integrations necessary for modern retail operations. Furthermore, these traditional systems often have difficulty efficiently supporting variable network topologies, which is crucial for retailers that operate across diverse locations with different connectivity and infrastructure capabilities.

[0008] The embodiments of the present invention presented herein revolutionize the approach to multi-tenancy in POS systems by introducing a unified architecture that utilizes a single code base across all tenants. This innovation significantly simplifies system management, reduces operational costs, and improves consistency in update and feature deployment. Furthermore, embodiments of the present invention elegantly support various network topologies through advanced distributed computing techniques and robust data synchronization mechanisms. By leveraging containerized microservices orchestrated via Kubernetes, the system ensures that each tenant's services are optimized for that tenant's specific network conditions, thereby maintaining high performance and reliability despite geographic differences and infrastructure limitations. This comprehensive solution not only addresses the inherent limitations of traditional systems, but also establishes a new standard for scalability and flexibility in multi-tenant POS systems.

[0009] Embodiments of the present invention provide a single code base for multi-tenant POS systems by leveraging a unified architecture that centralizes core functionality while allowing tenant-specific configuration settings. This approach eliminates the need for multiple versions of software, which traditionally led to fragmented and inconsistent system behavior across different tenants. By maintaining a single code base, the system ensures that all updates, enhancements, and bug fixes are uniformly applied, improving the overall security and functionality of the system. This architecture not only simplifies system maintenance and management, but also accelerates the deployment of new features and integrations, ensuring all tenants benefit from the latest advancements without delay.

[0010] Furthermore, embodiments of the present invention support variable network topologies through a flexible deployment model designed to operate efficiently across both centralized and distributed network environments. The system utilizes containerized microservices that can be dynamically deployed to either cloud-based infrastructure or on-premises, depending on each tenant's specific needs and conditions. This adaptability is crucial for maintaining high levels of performance and availability, especially in scenarios where network connectivity can vary significantly. For example, in areas with limited or no internet access, the system can deploy more resources on-premises to ensure the POS system remains operational and responsive. Conversely, in environments with robust internet connectivity, the system can leverage cloud services to optimize scalability and resource management.

[0011] Integrating Kubernetes for orchestration further enhances the system's ability to manage these diverse deployments. Kubernetes facilitates scaling and management of containerized applications across various environments and enables the system to automatically adjust resources based on real-time demand and network conditions. This not only ensures optimal performance and cost efficiency, but also provides a seamless user experience across all operational scenarios. The use of Kubernetes also supports disaster recovery and business continuity strategies by enabling rapid redeployment of services to alternative locations in the event of a network outage or other network issue.

[0012] Overall, embodiments of the present invention provide a robust and flexible solution that addresses the core challenges of multi-tenancy and network variability in POS systems. By maintaining a single code base and supporting diverse network topologies, the system provides a scalable, efficient, highly available, and user-friendly platform that meets the evolving needs of modern retail environments.

[0013] 1 is a diagram illustrating a multi-tenant POS system 100 supporting variable network topologies through a single code base, according to an example embodiment, in which components are shown in simplified schematic form, with only those components relevant to understanding the embodiment.

[0014] Additionally, the various components (identified in system 100) are illustrated and the arrangement of the components is presented for illustrative purposes only, although other arrangements having more or fewer components are possible without departing from the teachings of multi-tenant POS system 100 supporting variable network topologies through a single code base presented herein below.

[0015] System 100 includes a cloud 110 and multiple variable edge processing environments 120 having variable network topologies. Cloud 110 includes at least one processor 111 and a non-transitory computer-readable storage medium (hereinafter "medium") 112, which includes instructions for cloud services 113, cloud or on-premise services 114, and application programming interfaces (APIs) 115. These instructions, when executed by processor 111, cause processor 111 to perform the processes or operations described herein and below with respect to 113-115.

[0016] Each edge processing environment includes one or more, or any combination of, at least one processor 121 and at least one medium, which includes instructions for thin-client software-defined storage (SDS), thick-server and thin-client SDS, thick-server and thick-client distributed SDS (DSDS), and API 126. These instructions, when executed by processor 121, cause processor 121 to perform the processes or operations described herein and below with respect to 123-126. Each edge processing environment also includes one or more servers 127 and transaction terminals 128 (hereinafter simply “terminals 128”).

[0017] Cloud services 113 and cloud or on-premise services 114 are delivered as microservices through a single master code base. These microservices are customized or modified through configuration settings, not through changes to their master code base. These microservices are cloud-native and tenant-aware, such that store nodes, servers 127, and / or terminals 128 become extensions of cloud 110. These microservices can be deployed to any processing environment or device needed for business continuity in the event of a network outage, a device outage, slow network response time, and / or slow device response time. For example, these microservices can be deployed to any hosted cloud, such as cloud 110, store servers 127, and / or store terminals 128.

[0018] These microservices work together to provide retailers with continuity of functionality related to their point-of-sale systems, which is necessary for them to sell goods or services to customers with high availability and flexibility, even if the retailer experiences any device and / or network issues. By way of example only, these microservices comprise a fully operational point-of-sale system with a payment microservice, a loyalty microservice, a fuel microservice, a pharmacy microservice, a merchandising microservice, a monitoring microservice, an authentication microservice, an analytics microservice, a self-service microservice, and others.

[0019] These microservices are unified and work together to provide a highly available and flexible POS system for the operator. The operator's edge devices are connected and interfaced across multiple channels (i.e., omnichannel) through these microservices. For example, a unified POS system provided by a given operator's microservice configuration supports edge devices associated with business channels for grocery stores, gas stations, pharmacies, and quick-service restaurants. If any edge device fails or if the network connection to the cloud 110 fails, these microservices flexibly and dynamically reconfigure to provide continuity in the operator's POS system.

[0020] The single code base for these microservices utilizes the same API 115. Furthermore, communication between the microservices is achieved through APIs 115 and 126. APIs 115 and 126 are based on well-documented open APIs, allowing seamless integration with third-party services used by a given operator. This enables data exchange and functionality extension via external APIs. Furthermore, the single code base initially delivered as microservices from cloud 110 as cloud services 113 and cloud or on-premise services 114 utilizes configuration settings rather than branching or modifications from the code source.

[0021] Each microservice supports multiple tenants through its single code source, making the onboarding process seamless. Once plugged into the Business Services Layer (BSL), businesses can immediately start using these microservices, providing them with a highly available and unified POS system across all their channels.

[0022] These microservices are containerized and orchestration is achieved using Kubernetes, allowing them to run on any operating system (OS) and any processing device, such as the cloud 110, store servers 127, and store terminals 128. APIs 115 and 126 are JavaScript Object Notation (JSON) and Representational State Transfer (REST) ​​compliant. In this way, system 100 implements a modern, containerized, OS-agnostic stack.

[0023] The system 100 transmits data from the cloud 110 to the edge processing environment 120 without requiring that the data conform to any predefined schema. This removes barriers to the deployment of new features and new data that operators require due to the evolving nature of the industry. Thus, the system 100 utilizes schema-agnostic data synchronization.

[0024] Each workload in the operator's unified POS system is containerized and managed by Kubernetes (K8S). A given workload includes one or more microservices required to process that workload. Each microservice within a workload uses platform tenant identifiers for data isolation at the API level (e.g., using relevant headers), the code level (e.g., processing each request in the correct tenant, store, and POS group context), the memory state isolation level (e.g., static fields, dependency injection), the database level (e.g., either a database instance or an identifying database table column), and the distributed caching level (e.g., maintaining each data unit in its own context). Stateless pods (i.e., the smallest deployable computing unit in K8S) are used to ensure dynamic and elastic scaling. The database uses a master-slave approach for efficient caching, and memory usage is kept below 8GB. Each operator configuration is deployed and monitored, and the corresponding operator transaction data is synchronized.

[0025] Each merchant can have one to three configurations for a unified multi-tenant POS system through merchant-specific configurations utilizing a single code base. Additionally, merchants can have a combination of all three configurations. Each of these three primary configurations is provided through a thin-client SDS 123, a thick-server and thin-client SDS 124, and a thick-server and thick-client DSDS 125. In one embodiment, the cloud or on-premise services 114 use the same API 115. Having the same API contract and authentication mechanism makes interactions across the cloud 110 and edge processing environments 120 seamless for clients and tenants.

[0026] 2 illustrates features and services 200 provided by and supported by the multi-tenant POS system of FIG. 1 , according to an example embodiment. Microservices and microservice configurations provide a BSL 201, integrated out-of-the-box services (OOTB) 202, a flexible common user interface 203, edge-enabled services 204, containerized microservices 205, cross-segment support 206, localization capabilities 207, proactive solution management 208, all-in-one payment services 209, predictive AI and analytics services 210, and omni-channel services 211. Because APIs 115 and 126 are based on open standards, any third-party services required by a given operator are easily and seamlessly integrated into the operator's microservice configuration for the operator's unified omni-channel and multi-tenant POS system, derived from a single code base and supporting variable network topologies.

[0027] 3 is a diagram of an architecture 300 for the multi-tenant POS system of FIG. 1 illustrating a variable network topology, according to an example embodiment. Cloud 110 includes cloud services 113, which include microservices for transaction data management (TDM) 113-1, digital receipt 113-2, and configuration control management (CCM) 113-3. Cloud 110 also includes cloud or on-premise services 114, which include microservices for sales 114-1, catalog 114-2, cash office 114-3, content delivery management (CDM) 114-4, identity and access management (IAM) security 114-5, central merchandise returns 114-6, receipt 114-7, upper layer protocol (UPL) 114-8, and data synchronization 114-9.

[0028] The edge processing environment 120 includes one or more of three primary configuration settings for these microservices: A first network topology is supported by configured microservices associated with a thin client SDS 123. In this network topology, one or more terminals 128 include a common payment client (CCL) 128-1 and a POS XLR 128-2 (i.e., an extended POS communications microservice 128-2 utilizing an API 126), where these microservices are hosted on the cloud 110.

[0029] The second network topology is supported by configured microservices associated with thick server and thin client SDS 124, where an on-premises store server 127 hosts these microservices, which include sales 114-1, catalog 114-2, CDM 114-4, POS configuration 127-1, IAM security 114-5, user equipment (UE) 127-2, cash office 114-3, data synchronization 114-9, and receipt 114-7. Terminals 128 in this network topology include CCL 128-1 and POS XLR 128-2.

[0030] A third network topology is supported by configured microservices associated with a thick server and thick client DSDS 125, where either an on-premises headless store server 127 or a terminal 128 hosts these microservices, including Sales 114-1, Catalog 114-2, CDM 114-4, POS Configuration 127-1, IAM Security 114-5, UE 127-2, Cash Office 114-3, Data Sync 114-9, Receipt 114-7, CCL 128-1, and POS XLR 128-2. The headless server 127, a single terminal 128, or a collection of collaborating terminals 128 functions as an edge primary 125-1 for the edge processing environment 120, shown as the third network topology.

[0031] In particular, a single store can deploy a combination of these network topologies using any combination of microservice configuration settings for thin-client SDS 123, thick-server and thin-client SDS 124, and / or thick-server and thick-client DSDS 125. Furthermore, when a network or device issue is detected, the business can switch to a different network topology to maintain business continuity and high availability of the business's unified, multi-tenant POS system supported by a single code base. In one embodiment, the switch to the new network topology is performed based on a configuration file, through a dashboard interface, or through an API. In one embodiment, an artificial intelligence application or service assesses network conditions and resources and dynamically switches to the new network topology.

[0032] FIG. 4 illustrates microservice interactions 400 for various network topologies of the multi-tenant POS system of FIG. 1 , according to an example embodiment. The cloud 110 provides containerized microservices 401 and utilizes APIs 115 to interact with other microservices and network topologies. The thick server and thin client SDS 124 on the on-premises server 127 utilize containerized microservices 402 and utilize APIs 126 to interact with other microservices and network topologies. The thick server and thick client SDS 125 on the on-premises headless server 127 or terminal 128 utilize containerized microservices 403 and utilize APIs 126 to interact with other microservices and network topologies. The thin client SDS 123 on each terminal 128 utilizes APIs 126 to interact with other microservices and network topologies.

[0033] In particular, when a network or device issue is encountered, a different operational network topology is initiated to maintain high availability of business operations. In one embodiment, the switch to the new network topology is performed dynamically and in real time, so as to appear transparent to the operator. In one embodiment, if a store server or network issue is encountered that renders the existing network topology unusable, the thick terminal configuration settings for that network topology can automatically switch to self-contained operation, making it the cluster master node and ensuring essential microservices remain available.

[0034] The system 100 provides a flexible, dynamic, and unified multi-tenant POS system that supports variable network topologies across multiple channels using a single code base. As a result, customization for any given POS system is achieved through configuration settings, not through source code changes. A given business can operate its unified multi-tenant POS system very lightly, utilizing more of the cloud 110, or very robustly, utilizing a combination of the cloud and the business's own on-premises servers 127 and / or terminals 128. Furthermore, the system 100 provides high availability for the business's configured POS system. This allows the business to use a combination of thin and thick configurations to balance local resources and business continuity needs when encountering issues that affect business continuity due to network or edge device problems. The system is dynamically scalable and containerized for efficiency.

[0035] System 100 not only improves operational efficiency but also reduces maintenance and upgrade costs associated with maintaining multiple operable network topologies for POS systems. Furthermore, because system 100 adjusts to network conditions and hardware performance without manual intervention, retailers can achieve smoother operations, especially during peak sales periods. This reliability ensures that customer transactions are processed quickly and accurately, improving the overall shopping experience and potentially increasing customer loyalty through reduced wait times and service interruptions.

[0036] Unlike traditional single-tenant POS systems, which often require significant downtime for maintenance or fail to provide seamless performance across different network conditions, system 100 offers a robust solution that adapts to variable network topologies in real time. Traditional systems typically involve complex and time-consuming configuration setup for each tenant and store, increasing operational costs and increasing the likelihood of human error. In contrast, system 100 utilizes a unified code base and containerized microservices, allowing for instant adjustments and updates across all tenants without requiring individual configuration for each tenant, thereby streamlining operations and reducing the likelihood of error.

[0037] Consider a scenario in which a retail chain experiences a sudden network outage at one of its busiest locations during a holiday sales period. With a traditional POS system, this could cause transaction delays or even a complete service outage, significantly impacting sales and customer satisfaction. However, system 100 detects the problem and, based on instructions provided through a dashboard interface, API, configuration file, or the self-management behavior of an artificial intelligence application or service, switches to an on-premise operation mode, ensuring sales continue smoothly without interruption. Kubernetes handles topology or server failures to maintain smooth operation, and terminals can switch to using microservices on other nodes / devices or to operate with cloud services. Such capabilities demonstrate the practical application of system 100 in a real-world retail environment, providing tangible benefits to businesses by maintaining operational resilience.

[0038] The above-referenced and other embodiments will now be described with reference to FIGS. 5 through 8. FIG. 5 is a flowchart of a method 500 for providing and operating a multi-tenant POS system through a single code base, according to an exemplary embodiment. A software module that implements method 500 is referred to as a "flexible POS orchestrator." The flexible POS orchestrator is implemented as executable instructions programmed and resident in memory and / or a non-transitory computer-readable (processor-readable) storage medium and executed by one or more processors of one or more devices. The processors of the devices that execute the flexible POS orchestrator are specifically configured and programmed to process the flexible POS orchestrator. The flexible POS orchestrator may have access to one or more network connections during its operation. The network connections may be wired, wireless, or a combination of wired and wireless.

[0039] In one embodiment, the device that executes the flexible POS orchestrator is cloud 110, server 127, and / or terminal 128. In one embodiment, the flexible POS orchestrator is cloud service 113, cloud or on-premise service 114, API 115, thin client SDS 123, thick server and thin client SDS 124, thick server and thick client DSDS 125, and / or API 126.

[0040] At 510, the flexible POS orchestrator provides a single code base configured to support multiple tenants, i.e., source code associated with the single code base is not modified for customization, but rather, custom configuration settings are performed to customize an instance of the single code base.

[0041] In one embodiment, the flexible POS orchestrator provides a single code base that is operating system independent and data schema independent at 511. In one embodiment, the flexible POS orchestrator defines multiple containerized microservices and workloads for these microservices within the single code base at 511 and 512.

[0042] At 520, the flexible POS orchestrator receives a customization request for the POS system, the customization request defining and / or mapping to specific configuration settings for the POS system.

[0043] At 530, the flexible POS orchestrator applies the customization request through a configuration setting change in a single code base without modifying one or more source code elements of the single code base. In one embodiment, at 531, the flexible POS orchestrator integrates at least a portion of the customized POS system with a third-party service based on the customization request. In one embodiment, at 531 and 532, the flexible POS orchestrator uses an API to integrate interactions with the third-party service within the portion of the customized POS system.

[0044] At 540, the flexible POS orchestrator deploys the customized POS system to at least one edge processing environment associated with a particular tenant of the plurality of tenants. In one embodiment, at 541, the flexible POS orchestrator authenticates each of the plurality of tenants and each edge processing environment before deploying the customized POS system at 540.

[0045] In one embodiment, at 542, the flexible POS orchestrator deploys the customized POS system to multiple edge processing environments associated with the customization request. In one embodiment, at 543, the flexible POS orchestrator deploys the customized POS system to each edge processing environment. Each edge processing environment includes at least one host device. The host device includes one or more of a cloud processing environment, an on-premises store server, and one or more store terminals.

[0046] At 550, the flexible POS orchestrator synchronizes transaction data across edge processing environments and multiple tenants during operation of the customized POS system, thereby ensuring data integrity and real-time data updates during operation of the POS system.

[0047] In one embodiment, at 560, the flexible POS orchestrator maintains and manages a single code base on the cloud processing environment, i.e., the single code base remains under the control of the cloud processing environment, and instances of the POS system are derived, deployed, and started based on the customization requests and configuration settings of the single code base.

[0048] In one embodiment, the flexible POS orchestrator monitors performance metrics of the customized POS system for each of the multiple tenants and each edge processing environment via microservices associated with a single code base at 570. In one embodiment, the flexible POS orchestrator coordinates host edge devices associated with the edge processing environments for the customized POS systems based on the performance metrics via another microservice associated with the single code base at 570 and 571.

[0049] In one embodiment, at 580, the flexible POS orchestrator maintains operation of the customized POS system within at least one edge processing environment when wide area network connectivity to and from the edge processing environment is unavailable, thereby ensuring continuity of transaction operations for stores associated with the customized POS system.

[0050] FIG. 6 is a flowchart of another method 600 for providing and operating a multi-tenant POS system via a single code base, according to an exemplary embodiment. A software module implementing method 600 is referred to as a "single-code-based unified multi-tenant POS manager." The single-code-based unified multi-tenant POS manager is implemented as executable instructions programmed and resident in memory and / or a non-transitory computer-readable (processor-readable) storage medium and executed by one or more processors of one or more devices. The processors executing the single-code-based unified multi-tenant POS manager are configured and programmed specifically to process the single-code-based unified multi-tenant POS manager. The single-code-based unified multi-tenant POS manager may have access to one or more network connections during its operation. The network connections may be wired, wireless, or a combination of wired and wireless.

[0051] In one embodiment, the device executing the single-code-based unified multi-tenant POS manager is cloud 110, server 127, and / or terminal 128. In one embodiment, the single-code-based unified multi-tenant POS manager is cloud service 113, cloud or on-premise service 114, API 115, thin client SDS 123, thick server and thin client SDS 124, thick server and thick client DSDS 125, API 126, and / or method 500. In one embodiment, the single-code-based unified multi-tenant POS manager offers a different, and in some respects enhanced, processing perspective than that described above for method 500 of FIG.

[0052] At 610, the single code base unified multi-tenant POS manager configures POS systems for multiple tenants associated with multiple edge processing environments using a single code base that enables tenant and edge-specific customization. In one embodiment, at 611, the single code base unified multi-tenant POS manager obtains settings for the single code base using a customization request provided by at least one store, configures the single code base with the settings, and obtains a configured POS system.

[0053] At 620, the single-code-based unified multi-tenant POS manager deploys the configured POS systems across multiple edge processing environments and multiple tenants, providing high availability and flexibility to ensure continuous and uninterrupted operation of the configured POS systems.

[0054] The single-code-based unified multi-tenant POS manager monitors the performance of the POS systems configured in each edge processing environment at 630. In one embodiment, the single-code-based unified multi-tenant POS manager monitors in real time at 631 response times and network availability associated with the POS systems configured in each edge processing environment to obtain performance metrics.

[0055] At 640, the single code based unified multi-tenant POS manager dynamically adjusts the configured POS systems in response to the performance metrics obtained during monitoring. In one embodiment, at 641, the single code based unified multi-tenant POS manager dynamically scales resources associated with the configured POS systems in response to the performance metrics.

[0056] In one embodiment, at 642, the single-code-based unified multi-tenant POS manager changes the host device for the POS system configured in the at least one edge processing environment in response to the performance indicators. In one embodiment, at 642 and 643, the single-code-based unified multi-tenant POS manager changes the host device from a cloud-hosted device to an edge-hosted device of the at least one edge processing environment if the performance indicators indicate that the network connection to the cloud-hosted device is experiencing connectivity or responsiveness issues. This is based on instructions received from a dashboard interface, an API, a configuration file, or an artificial intelligence management service.

[0057] FIG. 7 is a flowchart of a method 700 for operating a multi-tenant POS system with a variable network topology, according to an exemplary embodiment. The software module that implements method 700 is referred to as a "dynamic multi-tenant POS system manager." The dynamic multi-tenant POS system manager is implemented as executable instructions programmed and resident in memory and / or a non-transitory computer-readable (processor-readable) storage medium and executed by one or more processors of one or more devices. The processors that execute the dynamic multi-tenant POS system manager are configured and programmed specifically to process the dynamic multi-tenant POS system manager. The dynamic multi-tenant POS system manager may have access to one or more network connections during its operation. The network connections may be wired, wireless, or a combination of wired and wireless.

[0058] In one embodiment, the device that executes the dynamic multi-tenant POS system manager is cloud 110, server 127, and / or terminal 128. In one embodiment, the dynamic multi-tenant POS system manager is cloud service 113, cloud or on-premise service 114, API 115, thin client SDS 123, thick server and thin client SDS 124, thick server and thick client DSDS 125, and / or API 126.

[0059] At 710, the multi-tenant POS system manager detects a change in network topology at a tenant location. In one embodiment, at 711, the multi-tenant POS system manager identifies a loss of network connectivity or a decrease in network bandwidth at a tenant location.

[0060] In one embodiment, the multi-tenant POS system manager monitors performance metrics of edge devices associated with the network topology during operation of the multi-tenant POS system at 712. In one embodiment, the multi-tenant POS system manager identifies the network topology as one or any combination of a cloud processing environment with thin clients, a thick on-premise server with thin clients, and a thick on-premise server with thick clients at 713.

[0061] At 720, the multi-tenant POS system manager adjusts the settings in the multi-tenant POS system to accommodate the change. This ensures that the multi-tenant POS system is adjusted to ensure its operation and business continuity. In one embodiment, the change is made based on instructions received through a dashboard interface or API. In one embodiment, the change is made dynamically and in real time based on the operation of an artificial intelligence service that manages resource and network topology changes.

[0062] At 730, the multi-tenant POS system manager configures the microservices to operate with the new network topology. In one embodiment, at 731, the multi-tenant POS system manager configures the microservices within the containerized workloads associated with the new network topology.

[0063] In one embodiment, the multi-tenant POS system manager configures the multi-tenant POS system to be hosted by the new host device based on instructions from a dashboard service, an application programming interface, a configuration settings file, or an artificial intelligence management service at 732. In one embodiment, the multi-tenant POS system manager configures at least one workload associated with several microservices to interact with a third-party service at 733.

[0064] In one embodiment, at 734, the multi-tenant POS system manager configures at least one microservice to perform identity and access management security for workloads handled by the remaining microservices during operation of the multi-tenant POS system within the new network topology. In one embodiment, at 735, the multi-tenant POS system manager configures at least one microservice to obtain and provide predictive analytics during operation of the multi-tenant POS system within the new network topology.

[0065] In one embodiment, at 736, the multi-tenant POS system manager configures at least one microservice to provide schema-agnostic transaction data synchronization for the new network topology. In one embodiment, at 737, the multi-tenant POS system manager maintains high availability and operation of the multi-tenant POS system by switching the multi-tenant POS system from the network topology to the new network topology.

[0066] In one embodiment, at 740, the multi-tenant POS system manager operates the multi-tenant POS system within a new network topology that spans multiple omni-channels.

[0067] FIG. 8 is a flowchart of another method 800 for operating a multi-tenant POS system with a variable network topology, according to an exemplary embodiment. A software module that implements method 800 is referred to as a "variable network topology POS system manager." The variable network topology POS system manager is implemented as executable instructions programmed and resident in memory and / or a non-transitory computer-readable (processor-readable) storage medium and executed by one or more processors of one or more devices. The processors that execute the variable network topology POS system manager are specifically configured and programmed to process the variable network topology POS system manager. The variable network topology POS system manager may have access to one or more network connections during its operation. The network connections may be wired, wireless, or a combination of wired and wireless.

[0068] In one embodiment, the device that executes the variable network topology POS system manager is cloud 110, server 127, and / or terminal 128. In one embodiment, the variable network topology POS system manager is cloud service 113, cloud or on-premise service 114, API 115, thin client SDS 123, thick server and thin client SDS 124, thick server and thick client DSDS 125, API 126, and / or method 700. In one embodiment, the variable network topology POS system manager offers a different, and in some respects enhanced, processing perspective than that described above for method 700 of FIG.

[0069] At 810, the variable network topology POS system manager monitors performance status across multiple edge processing environments associated with multiple tenant locations associated with the POS system. In one embodiment, at 811, the variable network topology POS system manager uses at least one microservice associated with the POS system to perform the monitoring and provide the status.

[0070] At 820, the variable network topology POS system manager identifies a suboptimal condition at one or more of the plurality of tenant locations, the suboptimal condition indicating that the business continuity of operations for the POS system is experiencing issues or challenges that may result in a loss of operations.

[0071] At 830, the variable network topology POS system manager automatically and seamlessly adjusts the POS system based on the optimized state by switching an original network topology associated with at least one of the plurality of edge processing environments for the POS system to a new network topology. In one embodiment, at 831, the variable network topology POS system manager changes a host device for the POS system within at least one of the plurality of edge processing environments to achieve the optimized state.

[0072] In one embodiment, at 832, the variable network topology POS system manager maintains continuity of operation of the POS system during the transition from the network topology to the new network topology. In one embodiment, at 833, the variable network topology POS system manager configures containerized workloads and microservices associated with the POS system to operate within the new network topology. In one embodiment, at 833 and 834, the variable network topology POS system manager configures a first microservice to provide schema-agnostic data synchronization and a second microservice to provide identity and access management security for the workloads within the new network topology.

[0073] When software is described in a particular form (such as components or modules), this is merely to aid in understanding and is not intended to limit how the software implementing those functions may be architected or structured. For example, while modules are illustrated as separate modules, they may be implemented as a uniform code, as separate components, some (but not all) of these modules may be combined, or the functions may be implemented in software structured in any other convenient form.

[0074] Further, while software modules are illustrated as being executed on a single piece of hardware, the software may be distributed across several processors, or in any other convenient manner.

[0075] The above description is illustrative and not limiting. Many other embodiments will be apparent to those skilled in the art upon reviewing the above description. Accordingly, the scope of each embodiment should be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.

[0076] In the foregoing description of the embodiments, various features are grouped together in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure should not be interpreted as reflecting that the embodiments have more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter lies in less than all features of a single disclosed embodiment. Thus, the following claims are hereby incorporated into the Description of the Embodiments, with each claim standing on its own as a separate exemplary embodiment.

Claims

1. Providing a single code base configured to support multiple tenants; receiving a customization request for a point of sale (POS) system; applying the customization requests via configuration changes of the single code base without modifying source code of the single code base; deploying a customized POS system in at least one edge processing environment associated with a particular tenant of the plurality of tenants; synchronizing transaction data across the at least one edge processing environment and the plurality of tenants during operation of the customized POS system; A method for a multi-tenant point of sale, including:

2. Maintaining and managing said single code base on a cloud processing environment The method of claim 1 further comprising:

3. monitoring performance metrics of the customized POS system for each of the plurality of tenants and each of the edge processing environments via microservices associated with the single code base; The method of claim 1 further comprising:

4. and coordinating, via another microservice associated with the single code base, a host edge device associated with each of the edge processing environments for the customized POS system based on the performance metrics. The method of claim 3 further comprising:

5. maintaining operation of the customized POS system within the at least one edge processing environment when wide area network connectivity to and from the at least one edge processing environment is unavailable; The method of claim 1 further comprising:

6. providing the single code base as an operating system-independent and data schema-independent code base; The method of claim 1.

7. the providing includes defining a plurality of containerized microservices and workloads for the microservices within the single code base. The method of claim 6.

8. the applying includes integrating at least a portion of the customized POS system with a third-party service based on the customization request. The method of claim 1.

9. the integrating includes using an application programming interface to integrate interaction with the third-party service within the at least a portion of the customized POS system. The method of claim 8.

10. the deploying includes authenticating each of the plurality of tenants and each of the edge processing environments before deploying the customized POS system. The method of claim 1.

11. deploying the customized POS system to a plurality of the edge processing environments associated with the customization request; The method of claim 1.

12. the deploying includes deploying the customized POS system to each edge processing environment, each edge processing environment including at least one host device that hosts the customized POS system; the at least one host device includes one or more of a cloud processing environment, an on-premise store server, and one or more store terminals; The method of claim 11.

13. Configuring a point of sale (POS) system for multiple tenants associated with multiple edge processing environments using a single code base that enables tenant and edge-specific customizations; Deploying a configured POS system across the plurality of edge processing environments and the plurality of tenants; monitoring performance of the configured POS system within each edge processing environment; dynamically adjusting the configured POS system in response to performance indicators obtained during the monitoring; and A method comprising:

14. the configuring includes obtaining settings for the single code base using a customization request provided by at least one store, and configuring the single code base with the settings to obtain the configured POS system. The method of claim 13.

15. the monitoring includes monitoring in real time response times and network availability associated with the configured POS systems within each edge processing environment to obtain the performance metrics. The method of claim 13.

16. said dynamically adjusting including dynamically scaling resources associated with said configured POS system in response to said performance indicators; The method of claim 13.

17. the dynamically adjusting includes changing a host device for the configured POS system within at least one of the edge processing environments in response to the performance metrics and based on instructions received from a dashboard interface, an application programming interface, a configuration settings file, or an artificial intelligence management service. The method of claim 13.

18. the modifying includes modifying the host device from the cloud hosted device to an edge hosted device of the at least one edge processing environment if the performance indicators indicate that a network connection to a cloud hosted device is experiencing connectivity or responsiveness issues.

18. The method of claim 17.

19. at least one processor and a non-transitory computer-readable storage medium, the non-transitory computer-readable storage medium, when executed by the at least one processor, causing the at least one processor to: Maintaining a single code base that supports multiple tenants across multiple edge processing environments; and receiving a customization request from the single code base; configuring the single code base with the customization requests to create a configured point of sale (POS) system; Deploying the configured POS system to the plurality of edge processing environments and the plurality of tenants; synchronizing operational data associated with the configured POS system across the plurality of edge processing environments and the plurality of tenants when the configured POS system operates within the plurality of edge processing environments; A multi-tenant point of sale system that stores instructions to

20. the at least one processor further Integrating workloads associated with the configured POS system with external application programming interfaces (APIs) for seamless data exchange and functionality extension with third-party services used by the multiple tenants and the multiple edge processing environments. configured to:

20. The multi-tenant point of sale system of claim 19.