Methods and apparatus for automated support system workflows
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- RAKUTEN SYMPHONY INC
- Filing Date
- 2022-08-19
- Publication Date
- 2026-06-12
Smart Images

Figure 0007873776000001 
Figure 0007873776000002 
Figure 0007873776000003
Abstract
Description
Technical Field
[0001] The present disclosure generally relates to communication systems, and more particularly to methods and apparatus for support system automation workflows.
Background Art
[0002] In the case of support system (such as business support system (BSS)) transformation, the implementation and execution of workflows have conventionally been time-consuming and complex. In particular, the conventional method of collecting requirements, performing an analysis of which core components may require changes, and then going through the software development or change request process has not been effective. There is a need to execute use cases with a simplified, low-cost, and rapid market approach. In particular, in the related art, a BSS automation workflow engine has not been provided as a product for constructing and executing use cases. Improvements are presented herein.
Summary of the Invention
[0003] The following presents a simplified summary of such embodiments in order to provide a basic understanding of one or more embodiments of the present disclosure. This summary is not an extensive overview of all contemplated embodiments, and is not intended to identify key or critical elements of all embodiments, nor is it intended to delineate the scope of any or all embodiments. Its sole purpose is to present some concepts of one or more embodiments of the present disclosure in a simplified form as a prelude to the more detailed description that is presented later.
[0004] A method, apparatus, and non-transitory computer-readable medium for BSS automation workflows are disclosed by the present disclosure.
[0005] According to an exemplary embodiment, a method performed by at least one processor of user equipment (UE) includes the step of displaying a presentation user interface received from a server, the presentation interface including (i) a symbol display containing one or more symbols, and (ii) a work area. The method further includes the steps of selecting a first symbol from the symbol display and moving the first symbol to the work area. The method further includes the steps of selecting a second symbol from the symbol display and moving the second symbol to the work area. The method further includes the step of connecting the first symbol to the second symbol in the work area to form a workflow topology. The method further includes the step of sending the workflow topology to the server.
[0006] According to an exemplary embodiment, a method executed by at least one processor in a server includes the step of providing a presentation user interface to a user device (UE), the presentation interface including (i) a symbol display including one or more symbols, and (ii) a work area. The method further includes the step of receiving from the UE a workflow topology specifying interconnections between a first symbol from at least one or more symbols and a second symbol from one or more symbols. The first symbol is associated with a first microservice, and the second symbol is associated with a second microservice. The method further includes the step of generating a workflow schedule for at least the first and second microservices. The method further includes the step of executing at least the first and second microservices according to the workflow schedule.
[0007] According to an exemplary embodiment, the device includes at least one memory configured to store computer program code, and at least one processor configured to access the at least one memory and to operate as instructed by the computer program code. The computer program code includes presentation interface display code configured to cause at least one of the at least one processor to display a presentation user interface received from a server, the presentation interface including (i) a symbol display including one or more symbols, and (ii) a work area. The computer program code further includes a first selection code configured to cause at least one of the at least one processor to select a first symbol from the symbol display and move the first symbol to the work area. The computer program code further includes a second selection code configured to cause at least one of the at least one processor to select a second symbol from the symbol display and move the second symbol to the work area. The computer program code further includes a connection code configured to cause at least one of the at least one processor to connect the first symbol to the second symbol in the work area to form a workflow topology. The computer program code further includes the step of sending code configured to cause at least one of the at least one processors to send a workflow topology to the server.
[0008] According to an exemplary embodiment, the server includes at least one memory configured to store computer program code, and at least one processor configured to access the at least one memory and to operate as instructed by the computer program code. The computer program code includes presentation user interface providing code configured to cause at least one of the at least one processor to provide a presentation user interface to a user device (UE), the presentation interface including (i) a symbol display including one or more symbols, and (ii) a work area. The computer program code further includes receiving code configured to cause at least one of the at least one processor to receive from the UE a workflow topology specifying interconnections between at least one or more symbols, a first symbol from one or more symbols, and a second symbol from one or more symbols, the first symbol being associated with a first microservice, and the second symbol being associated with a second microservice. The computer program code further includes generating code configured to cause at least one of the at least one processor to generate workflow schedules for at least the first and second microservices. The computer program code further includes executable code configured to cause at least one of the at least one processors to execute at least a first microservice and a second microservice according to a workflow schedule.
[0009] Further embodiments are described below, some of which will become apparent from the description and / or can be learned by carrying out the embodiments presented in this disclosure.
[0010] The above and other aspects, features, and embodiments of the present disclosure will become apparent from the following description in conjunction with the accompanying drawings. [Brief explanation of the drawing]
[0011] [Figure 1] This is a diagram illustrating an exemplary BSS architecture according to various embodiments of the present disclosure.
[0012] [Figure 2] This is a diagram illustrating an exemplary processing device according to various embodiments of the present disclosure.
[0013] [Figure 3A] This is a schematic diagram of an exemplary communication system according to various embodiments of the present disclosure.
[0014] [Figure 3B] This is a diagram illustrating an exemplary environment in which the systems and / or methods described herein can be implemented according to various embodiments of this disclosure.
[0015] [Figure 4] This figure shows exemplary BSS automated workflow products according to various embodiments of the present disclosure.
[0016] [Figure 5] This figure shows exemplary user interfaces according to various embodiments of the present disclosure.
[0017] [Figure 6] This disclosure provides exemplary use cases based on various embodiments. [Figure 7] This disclosure provides exemplary use cases based on various embodiments. [Figure 8] This disclosure provides exemplary use cases based on various embodiments. [Figure 9] This disclosure provides exemplary use cases based on various embodiments.
[0018] [Figure 10] This disclosure provides an exemplary workflow schedule based on various embodiments.
[0019] [Figure 11] Shows an exemplary sequence diagram of one embodiment for creating a workflow topology.
[0020] [Figure 12] Shows an exemplary sequence diagram of one embodiment for creating a new microservice.
[0021] [Figure 13] Shows a flowchart of one embodiment of a process for creating a workflow topology.
[0022] [Figure 14] Shows a flowchart of one embodiment of a process for receiving and executing a workflow topology.
Embodiments for Carrying Out the Invention
[0023] The following detailed description of exemplary embodiments refers to the accompanying drawings. The same reference numerals in different drawings may identify the same or similar elements.
[0024] The foregoing disclosure provides examples and explanations, but is not intended to be exhaustive or to limit the implementation forms to the forms disclosed as such. Changes and modifications may be possible in light of the above disclosure, or may be obtained from the implementation of the implementation forms. Further, one or more features or components of one embodiment may be incorporated into another embodiment (or one or more features of another embodiment), or may be combined with another embodiment (or one or more features of another embodiment). In addition, in the flowcharts and descriptions of the operations provided below, it is understood that one or more operations may be omitted, one or more operations may be added, one or more operations may be (at least partially) executed simultaneously, and the order of one or more operations may be interchanged.
[0025] It will be apparent that the systems and / or methods described herein may be implemented in various forms of hardware, firmware, or combinations of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods is not limited to the implementation form. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, and it is understood that software and hardware may be designed to implement the systems and / or methods based on the descriptions herein.
[0026] Even if specific combinations of features are described in the claims and / or disclosed herein, these combinations are not intended to limit the disclosure of possible implementations. In fact, many of these features may be combined in ways not specifically described in the claims and / or disclosed herein. Each of the dependent claims listed below may directly depend on only one claim, but the disclosure of possible implementations includes configurations in which each dependent claim is combined with all other claims in the claims.
[0027] Any element, action, or instruction used herein should not be construed as important or essential unless explicitly stated otherwise. Furthermore, where used herein, the articles “a” and “an” are intended to include one or more items and may be used interchangeably with “one or more.” When only one item is intended, use the term “one” or similar phrases. Also, where used herein, terms such as “has,” “have,” “having,” “include,” and “including” are intended to be non-restrictive. Additionally, the phrase “based on” is intended to mean “at least partially based on” unless otherwise specified. Furthermore, expressions such as “at least one of A and B” or “at least one of A or B” should be understood to include only A, only B, or both A and B.
[0028] Throughout this specification, any reference to “one embodiment,” “one embodiment,” or similar language means that a particular feature, structure, or characteristic described in relation to the embodiment shown is included in at least one embodiment of the present solution. Therefore, throughout this specification, the phrases “in one embodiment,” “in one embodiment,” and similar wording may all, though not necessarily, refer to the same embodiment.
[0029] Furthermore, the features, advantages, and characteristics described herein may be combined in any suitable manner in one or more embodiments. Those skilled in the art will recognize, in light of the description herein, that the disclosure can be practiced even without one or more of the particular features or advantages of a particular embodiment. In other examples, additional features and advantages may be recognized in certain embodiments that are not present in all embodiments of the disclosure.
[0030] Embodiments of this disclosure relate to an enhanced Open Digital Architecture (ODA) that includes an Automation Workflow layer between the customer engagement layer and the core component layer. Figure 1 shows one embodiment of the BSS architecture with an added event-based automation workflow & CDP layer 102. In some embodiments, this new product layer automates and creates new use cases in the customer engagement layer without requiring significant changes to the core BSS components.
[0031] Embodiments of this disclosure offer a faster time to market because BSS use cases may be configurable based on a no-code / low-code approach at the product layer rather than on individual core BSS components. Embodiments of this disclosure also offer long-term cost benefits achieved by avoiding / reducing change requests on core BSS components, which require higher total costs and more time. Embodiments of this disclosure also enable the reuse of functional components at the user level without requiring coding.
[0032] As shown in Figure 1, each of the different architectural layers 101-105 may be configured as an event stream layer via an event stream 106, or they may be connected via an open API 107. Furthermore, the different architectural layers may include a management component 108, which includes a digital workflow 109, a security platform 110, a third-party API gateway 111, log management 112, document management 113, and service assurance 114, each of which can provide the operational capabilities of the architecture of this disclosure. For example, the digital workflow 109 is configured to provide business workflows (e.g., Business Process Model and Notation (BPMN)), the security platform 110 is configured to provide security-related credentials, the third-party API gateway 111 is configured to provide external component integration, the log management 112 is configured to provide activity logs within the architecture, the document management 113 is configured to manage documents (e.g., reports, contracts, etc.) (e.g., store, retrieve, etc.), and the service assurance 114 is configured to ensure service quality (e.g., monitor system operation to ensure service quality, etc.).
[0033] In some embodiments, event stream 106 is a Kafka event stream. Kafka is a distributed event store and stream processing platform. It is an open-source system that provides a unified, high-throughput, low-latency platform for processing real-time data feeds. Kafka can connect to external systems (for data import / export) via Kafka Connect and provides the Kafka Stream library for stream processing applications. Kafka uses a binary TCP-based protocol optimized for efficiency and relies on a "message set" abstraction that naturally groups messages together to reduce network round-trip overhead. While Kafka may be used in some embodiments, other real-time data streams may be used, and these streams may also be open source. The use of real-time data streams and microservices gives rise to a new restructuring open-source platform.
[0034] In some implementations, this method may be executed on a cloud computing platform. In some implementations, the first to fourth computer architecture layers 101 to 104 (and optionally the fifth computer architecture layer 105) may be integrated via an application programming interface, e.g., API 107. In some implementations, internal reports on the first to fourth architecture layers 101 to 104 (and optionally the fifth computer architecture layer 105) may be centralized. In some implementations, this method may be executed on an event streaming layer, e.g., computer architecture layer 106.
[0035] Figure 2 shows an exemplary device for implementing an embodiment of the present disclosure. Device 200 can correspond to any type of known computer, server, or data processing device. For example, device 200 may include a processor, personal computer (PC), printed circuit board (PCB) with computing devices, minicomputer, mainframe computer, microcomputer, telephone computing device, wired / wireless computing device (e.g., smartphone, personal digital assistant (PDA)), laptop, tablet, smart device, or any other similar functional device.
[0036] In some embodiments, as shown in Figure 2, the device 200 may include a set of components such as a processor 220, memory 230, storage component (storage device) 240, input component 250, output component 260, and communication interface 270.
[0037] Bus 210 may comprise one or more components that enable communication between components within the set of components of device 200. For example, bus 210 may be a communication bus, a crossover bar, a network, etc. Although bus 210 is shown as a single line in Figure 2, bus 210 may be implemented using multiple (two or more) connections between components within the set of components of device 200. This disclosure is not limited thereto.
[0038] Device 200 may comprise one or more processors, such as processor 220. Processor 220 may be implemented as hardware, firmware, and / or a combination of hardware and software. For example, processor 220 may include a central processing unit (CPU), graphics processing unit (GPU), accelerated processing unit (APU), microprocessor, microcontroller, digital signal processor (DSP), field-programmable gate array (FPGA), application-specific integrated circuit (ASIC), general-purpose single-chip or multi-chip processor, or other programmable logic devices, discrete gates or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The general-purpose processor may be a microprocessor, or any conventional processor, controller, microcontroller, or state machine. Processor 220 may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors working with a DSP core, or any other such configuration. In some embodiments, specific processes and methods may be performed by circuits specific to a given function.
[0039] The processor 220 can control the overall operation of device 200 and / or a set of components of device 200 (e.g., memory 230, storage component 240, input component 250, output component 260, and communication interface 270).
[0040] Device 200 may further comprise memory 230. In some embodiments, memory 230 may include random access memory (RAM), read-only memory (ROM), electrically erasable programmable ROM (EEPROM), flash memory, magnetic memory, optical memory, and / or other types of dynamic or static storage devices. Memory 230 can store information and / or instructions for use (e.g., execution) by processor 220.
[0041] The storage component 240 of device 200 can store information related to the operation and use of device 200, and / or computer-readable instructions and / or code. For example, the storage component 240 may include hard disks (e.g., magnetic disks, optical disks, magneto-optical disks, and / or solid-state disks), compact discs (CDs), digital multipurpose discs (DVDs), Universal Serial Bus (USB) flash drives, Personal Computer Memory Card International Association (PCMCIA) cards, floppy disks, cartridges, magnetic tapes, and / or other types of non-temporary computer-readable media, along with their corresponding drives.
[0042] Device 200 may further comprise an input component 250. The input component 250 may include one or more components that enable Device 200 to receive information via user input, such as a touchscreen, keyboard, keypad, mouse, stylus, button, switch, microphone, camera, etc. Alternatively or additionally, the input component 250 may include sensors for sensing information, such as a Global Positioning System (GPS) component, accelerometer, gyroscope, actuator, etc.
[0043] The output component 260 of device 200 may include one or more components (e.g., a display, a liquid crystal display (LCD), a light-emitting diode (LED), an organic light-emitting diode (OLED), a haptic feedback device, a speaker, etc.) that can provide output information from device 200.
[0044] Device 200 may further include a communication interface 270. The communication interface 270 may include a receiver component, a transmitter component, and / or a transceiver component. The communication interface 270 may enable device 200 to establish connections with other devices (e.g., a server, another device) and / or to forward communications. The communications may be conducted via a wired connection, a wireless connection, or a combination of wired and wireless connections. The communication interface 270 may enable device 200 to receive information from another device and / or provide information to another device. In some embodiments, the communication interface 270 can provide communication with another device via networks such as local area networks (LANs), wide area networks (WANs), metropolitan area networks (MANs), private networks, ad hoc networks, intranets, the Internet, fiber optic-based networks, cellular networks (e.g., 5G networks, Long-Term Evolution (LTE) networks, 3G networks, Code Division Multiple Access (CDMA) networks, etc.), public land mobile networks (PLMNs), telephone networks (e.g., Public Switched Telephone Networks (PSTNs)), and / or combinations of these or other types of networks. Alternatively or additionally, the communication interface 270 can provide communication with another device via device-to-device (D2D) communication links such as FlashLinQ, WiMedia, Bluetooth, ZigBee, Wi-Fi, LTE, and 5G. In other embodiments, the communication interface 270 may include Ethernet interfaces, optical interfaces, coaxial interfaces, infrared interfaces, radio frequency (RF) interfaces, etc.
[0045] Device 200 can perform operations based on a processor 220 that executes computer-readable instructions and / or code that can be stored in a non-temporary computer-readable medium such as memory 230 and / or storage component 240. The computer-readable medium can refer to a non-temporary memory device. A memory device may include memory space within a single physical storage device and / or memory space distributed across multiple physical storage devices.
[0046] Computer-readable instructions and / or code may be read into the memory 230 and / or storage component 240 from another computer-readable medium or from another device via the communication interface 270. When the computer-readable instructions and / or code stored in the memory 230 and / or storage component 240 are executed by the processor 220, or when they are executed, one or more of the processes described herein can be caused to be executed by the device 200.
[0047] Alternatively or additionally, hardwired circuitry may be used in place of or in combination with software instructions to perform one or more processes described herein. Therefore, the embodiments described herein are not limited to any particular combination of hardware circuitry and software.
[0048] The number and arrangement of components shown in Figure 2 are provided as an example. In practice, there may be more components, fewer components, different components, or components in different arrangements than those shown in Figure 2. Furthermore, two or more components shown in Figure 2 may be implemented within a single component, or a single component shown in Figure 2 may be implemented as multiple distributed components. Additionally or alternatively, the set of components (one or more) shown in Figure 2 may perform one or more functions that are described as being performed by another set of components shown in Figure 2.
[0049] Figure 3A shows an example of a communication system according to various embodiments of the present disclosure. The communication system 300 may include one or more user equipment (UEs) 310, one or more base stations 320, at least one transport network 330, at least one core network 340, and one or more servers 360. Device 200 (Figure 2) may be incorporated into the UE 310 or the server 360.
[0050] One or more UE310s may access at least one core network 340 and / or IP service 350 via connections to one or more base stations 320 on the RAN domain 324 and via at least one transport network 330. Furthermore, one or more UE310s may connect to the IP service 350 via a Wi-Fi connection or a wired connection. One or more UE310s may upload information to one or more servers 360 or download information from one or more servers via one or more base stations 320 or via Wi-Fi or a wired connection.
[0051] Examples of UE310s may include mobile phones, smartphones, Session Initiation Protocol (SIP) phones, laptops, personal digital assistants (PDAs), satellite radios, Global Positioning System (GPS), multimedia devices, video devices, digital audio players (e.g., MP3 players), cameras, game consoles, tablets, smart devices, wearable devices, vehicles, electric meters, gas pumps, large or small kitchen appliances, healthcare devices, implants, sensors / actuators, displays, or any other similarly functioning devices. Some of one or more UE310s may be referred to as IoT (Internet of Things) devices (e.g., parking meters, gas pumps, toasters, vehicles, cardiac monitors, etc.). One or more UE310s may also be referred to as a station, mobile station, subscriber station, mobile unit, subscriber unit, radio unit, remote unit, mobile device, radio device, radio communication device, remote device, mobile subscriber station, access terminal, mobile terminal, radio terminal, remote terminal, handset, user agent, mobile agent, client, or several other appropriate terms.
[0052] One or more base stations 320 can wirelessly communicate with one or more UEs 310 on the RAN domain 324. Each of the one or more base stations 320 can provide communication coverage to one or more UEs 310 located within the geographical coverage area of the base station 320. In some embodiments, as shown in Figure 3A, the base station 320 can transmit one or more beamformed signals to one or more UEs 310 in one or more transmit directions. The UEs 310 can receive beamformed signals from the base station 320 in one or more receive directions. Additionally or alternatively, one or more UEs 310 can transmit beamformed signals to the base station 320 in one or more transmit directions. The base station 320 can receive beamformed signals from one or more UEs 310 in one or more receive directions.
[0053] One or more base stations 320 may include macrocells (e.g., high-power cellular base stations) and / or small cells (e.g., low-power cellular base stations). Small cells may include femtocells, picocells, and microcells. Whether macrocells or large cells, base stations 320 may include, and / or be referred to as, access points (APs), evolved (or evolved universal terrestrial radio access network (E-UTRAN)) node B (eNBs), next-generation node B (gNBs), or any other type of base station known to those skilled in the art.
[0054] One or more operational base stations 320 may be configured to interface with at least one core network 340 through at least one transport network 330 (e.g., establish connection, transfer data, etc.). In addition to other functions, one or more base stations 320 may perform one or more of the following functions: transferring data received from one or more UEs 310 (e.g., uplink data) to at least one core network 340 via at least one transport network 330, and transferring data received from at least one core network 340 (e.g., downlink data) to one or more UEs 310 via at least one transport network 330.
[0055] The transport network 330 can transfer data (e.g., uplink data, downlink data) and / or signaling between the RAN domain 324 and the CN domain 344. For example, the transport network 330 can provide one or more backhaul links between one or more base stations 320 and at least one core network 340. The backhaul links may be wired or wireless.
[0056] The core network 340 may be configured to provide one or more services (e.g., enhanced mobile broadband (eMBB), ultra-reliable low-latency communications (URLLC), and massive machine type communications (mMTC)) to one or more UEs 310 connected to the RAN domain 324 via the TN domain 334. Alternatively or additionally, the core network 340 can serve as an entry point for IP services 350. IP services 350 may include the internet, intranets, IP multimedia subsystems (IMS), streaming services (e.g., video, audio, games, etc.), and / or other IP services.
[0057] Figure 3B is a diagram of an exemplary environment 370 in which the system and / or method described herein may be implemented. As shown in Figure 3B, the environment 370 may include a user device 372, a platform 374, and a network 380. The devices in environment 370 may be interconnected via wired connections, wireless connections, or a combination of wired and wireless connections. In embodiments, any of the functions and operations of the embodiments of this disclosure may be performed by any combination of the elements shown in Figure 3B. The user device 372 may be an example of UE 310 (Figure 3A). The user device 372 may be implemented by device 200 (Figure 2).
[0058] User device 372 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information related to platform 374. For example, user device 372 may include computing devices (e.g., desktop computers, laptop computers, tablet computers, handheld computers, smart speakers, servers, etc.), mobile phones (e.g., smartphones, wireless phones, etc.), wearable devices (e.g., smart glasses or smartwatches), or similar devices. In some implementations, user device 372 may receive information from platform 374 and / or transmit information to the platform.
[0059] Platform 374 includes one or more devices capable of receiving, generating, storing, processing, and / or providing information. In some implementations, Platform 374 may include a cloud server or a group of cloud servers. In some implementations, Platform 374 may be designed modularly so that specific software components can be swapped in or out according to specific needs. Thus, Platform 374 can be easily and / or quickly reconfigured for different applications.
[0060] In some implementations, as shown in the figure, platform 374 may be hosted in a cloud computing environment 376. In particular, the implementations described herein are described assuming that platform 374 is hosted in a cloud computing environment 376, but in some implementations, platform 374 may not be cloud-based (i.e., it may be implemented outside a cloud computing environment), or it may be partially cloud-based.
[0061] The cloud computing environment 376 includes an environment that hosts platform 374. The cloud computing environment 376 can provide services such as computing, software, data access, and storage that do not require end-user (e.g., user device 372) knowledge of the physical location and configuration of the system and / or device that hosts platform 374. As shown in the figure, the cloud computing environment 376 may include a group of computing resources 378 (collectively referred to as “computing resources 378” and individually as “computing resources 378”).
[0062] Computing resource 378 includes one or more personal computers, clusters of computing devices, workstation computers, server devices, or other types of computing and / or communication devices. In some implementations, computing resource 378 can host platform 374. Cloud resources may include computing instances running on computing resource 378, storage devices provided on computing resource 378, data transfer devices provided by computing resource 378, etc. In some implementations, computing resource 378 can communicate with other computing resources 378 via wired connections, wireless connections, or a combination of wired and wireless connections.
[0063] As further shown in Figure 3B, the computing resources 378 include a group of cloud resources such as one or more applications (APPs) 378-1, one or more virtual machines (VMs) 378-2, virtualized storage (VS) 378-3, and one or more hypervisors (HYPs) 378-4.
[0064] Application 378-1 includes one or more software applications that can be provided to or accessed by a user device 372. Application 378-1 may eliminate the need to install and run software applications on the user device 372. For example, Application 378-1 may include any other software that can be provided via the platform 374 and / or the cloud computing environment 376. In some implementations, one application 378-1 can send and receive information to and from one or more other applications 378-1 via a virtual machine 378-2.
[0065] The virtual machine 378-2 includes a software implementation of a machine (e.g., a computer) that runs programs like a physical machine. Depending on the use and degree of correspondence between the virtual machine 378-2 and any real machine, the virtual machine 378-2 may be either a system virtual machine or a process virtual machine. A system virtual machine can provide a complete system platform that supports the execution of a complete operating system (OS). A process virtual machine can run a single program and can support a single process. In some implementations, the virtual machine 378-2 can run on behalf of a user (e.g., a user device 372) and manage the infrastructure of the cloud computing environment 376, such as data management, synchronization, or long-duration data transfer.
[0066] Virtualized storage 378-3 includes one or more storage systems and / or one or more devices that use virtualization technology within the storage system or device of the computing resource 378. In some implementations, in the context of a storage system (with respect to the storage system), the types of virtualization may include block virtualization and file virtualization. Block virtualization can represent the extraction (or separation) of logical storage from physical storage so that the storage system can be accessed regardless of physical storage or heterogeneous structure (storage structure different from physical storage). Separation allows storage system administrators flexibility in how they manage end-user storage. File virtualization can eliminate the dependency between data accessed at the file level and where the file is physically stored. This can enable optimization of storage usage, server consolidation, and / or performance of uninterrupted file migration.
[0067] Hypervisor 378-4 can provide hardware virtualization technology that enables multiple operating systems (e.g., guest operating systems) to run simultaneously on a host computer such as computing resource 378. Hypervisor 378-4 can present a virtual operating platform to guest operating systems and manage the execution of guest operating systems. Multiple instances (configurations) of various operating systems can share virtualized hardware resources.
[0068] Network 380 includes one or more wired and / or wireless networks. For example, Network 380 may include cellular networks (e.g., fifth-generation (5G) networks, long-term evolution (LTE) networks, third-generation (3G) networks, code division multiple access (CDMA) networks, etc.), public land mobile networks (PLMN), local area networks (LANs), wide area networks (WANs), metropolitan area networks (MANs), telephone networks (e.g., public switched telephone networks (PSTNs)), private networks, ad-hoc networks, intranets, the Internet, fiber optic-based networks, etc., and / or combinations of these or other types of networks.
[0069] The number and arrangement of devices and networks shown in Figure 3B are provided as an example. In practice, there may be more devices and / or networks, fewer devices and / or networks, different devices and / or networks, or devices and / or networks in different arrangements than those shown in Figure 3B. Furthermore, two or more devices shown in Figure 3B may be implemented within a single device, or a single device shown in Figure 3B may be implemented as multiple distributed devices. Additionally or alternatively, a set of devices in environment 370 (e.g., one or more devices) may perform one or more functions described as being performed by another set of devices in environment 370.
[0070] Figure 4 shows one embodiment of the BSS Automation Workflow product 400. The BSS Automation Workflow product 400 may include a presentation layer 402, an application layer 404, and a database layer 406. In some embodiments, the presentation layer 400 may be a portal layer downloaded from one or more servers 360 to the UE 310 (Figure 3A). The presentation layer may also be downloaded to a user device 372 operating in the environment 370. This portal layer may include all action controls or interactive elements that the user can drag and drop to build the use cases they need. The presentation layer may be built using HTML5, JavaScript, and CSS web technologies.
[0071] In some embodiments, the presentation layer 400 includes an automation portal 402A which may include an automation flow builder 402A_1. The automation flow builder 402A_1 may include a work canvas for the user to drag and drop functions, configure parameters, and link them to create use cases. The automation portal 402A may also include an automation flow execution program 402A_2 which enables the execution of saved / created workflows. One embodiment of the presentation layer 400 is described in further detail below with reference to Figure 5.
[0072] In some embodiments, the application layer 404 may include functional business logic that drives the core functionality of the application. This functional business logic may be made available to the user in the presentation layer. These layers may include all core applications, which in some embodiments may be deployed as microservices. The application layer 404 may include a UI application 404A having a task development module 404A_1. The task development module 404A_1 may provide a development portal where developers can create new task functions. Once tested and approved, these new task functions may be exposed in an automation flow builder 402A_1. This component provides custom build capabilities to the system. This development module may also include all runtime microservices for the automation flow execution program 402A_2.
[0073] The application layer may further include a microservice application module 404B having a design-time service 404B_1 and a runtime service 404B_2. The design-time service 404B_1 can schedule execution based on user configurations in the automated flow builder 402A_1. The runtime service 404B_2 can provide the actual execution of tasks based on individual task designs. For example, each task may have its own microservice (single) or set of microservices. The application layer may further include a reference database 404C, which may be an internal database (DB) for tracking and logging task schedules. For example, the reference database (DB) 404C may store workflows created in the automated flow builder 402A_1.
[0074] In some embodiments, the database layer 406 may include a database / data storage system and a data access layer 406A. These include No-SQL databases and relational databases that can be used by application components. The database / data storage system may comprise a relational database management system (RDBMS) 406B, a document-oriented NoSQL system 406C, and a column-oriented NoSQL system 406D.
[0075] The data access layer 406A can provide SQL-based logic creation for accessing arbitrary customer data. Data access may also be provided through task configuration by the user. In some embodiments, the user may not be able to access the dataset directly, but instead can access metadata. The RDBMS 406B may be used to store transaction base data, status logs, reference data, and customer segments. The document-oriented NoSQL system 406C may be used to store customer profiles (e.g., in JSON format), real-time aggregation of customer data, and real-time model execution. The column-oriented NoSQL system 406D may be used to store transaction data, batch aggregation, and scheduled model execution.
[0076] Figure 5 shows an exemplary user interface 500 providing one embodiment of the automated flow builder 402A_1. The user interface may be downloaded from the application layer 404. The user interface 500 may include a symbol display 502 and a workspace 504 (e.g., a canvas). The symbol display may include one or more behavioral symbols (e.g., building blocks, interactive elements, etc.), each of which may be associated with one or more behavioral microservices. In particular, the user interface 500 provides the user with plug-and-play capability to build use cases. Symbols in the symbol display 502 may be dragged and dropped in the workspace 504 and interconnected with each other to create a workflow topology. Figures 6-9 show exemplary use cases with workflow topologies created using the user interface 500. In some embodiments, the UI application 404A controls access rights to symbols in the symbol display 502. In this regard, access to certain symbols may be denied based on the user or customer profile.
[0077] Figure 6 shows an exemplary Order Tracking & Notification use case 600. Each symbol shown in use case 600 may be associated with one or more microservices and may be presented in a work area (e.g., work area 504). The Order Tracking & Notification use case 600 begins with a symbol representing the device order delivery process 602, proceeds to a symbol representing the customer profile information process 604, and can collect customer information such as preferred language and / or contact details. Use case 600 may also include symbols representing the email delivery process 606A and the SMS delivery process 606B for providing email and SMS notifications to the customer, respectively. Use case 600 may include a symbol representing the wait process 608, which keeps the workflow of use case 600 in the same state until conditions such as a specified delivery date are met. As the delivery date approaches, the use case may include a symbol representing the check delivery status process 610. Use case 600 may include a symbol representing the new delivery date process 612A for scheduling a new delivery date to be initiated if delivery is not complete. Use case 600 may also include a symbol representing the termination process 612B, which is initiated when delivery is complete.
[0078] Figure 7 shows an exemplary Bill Notification & Payment Reminder use case 700. Each symbol shown in use case 700 may be associated with one or more microservices and may be presented in a work area (e.g., work area 504). Use case 700 can begin with a symbol representing the bill generation event process 702, which generates an invoice. Use case 704 can proceed to a symbol representing the customer profile information process 704. The customer profile information process 704 may be run by the same microservice that runs the customer profile information process 604 (Figure 6). Therefore, by reusing the same microservice, it is not necessary to write and generate code to implement the customer profile information process 704. Use case 700 may include a symbol representing the email process 706, which sends an invoice 706 by email. The email process 706 may be run by the same microservice that runs the email process 606A. Use case 700 may include a symbol representing a waiting process 708 that keeps the workflow of use case 700 in the same state until a condition is met, for example, three days before the invoice payment due date.
[0079] The standby process 708 may be run by the same microservice that runs standby process 608, but under different conditions. For example, standby process 608 may specify a delivery date as a condition, and standby process 708 may specify an invoice due date as a condition. The specified conditions may be provided as parameters to the microservices that run standby processes 608 and 708. Parameters may also be specified when a symbol is dragged from the symbol library 502 and dropped into the work area 504. Use case 700 may further include a symbol representing a payment confirmation process 710 that is executed when the conditions of standby process 708 are met. Use case 700 may also include a symbol representing a reminder process 712A that is started when payment has not been received (no payment has been received). Use case 700 may also include a symbol representing a termination process 712B that is started when payment has been received (no payment has been received).
[0080] Figure 8 shows an exemplary use case 800 for Get Current Offers. Use case 800 may include one or more symbols, each representing one or more processes that request an offer, such as a request process 802 from e-care or a request process 804 from the sales portal. Use case 800 may further include a symbol representing a get current possible offer process 806 that provides the current offer (latest offer) in response to the request. Use case 800 may further include a symbol representing a waiting process 808 that keeps use case 808 in the same state until a condition is met (for example, a time condition of one hour). The waiting process 808 may be run by the same microservice that runs waiting processes 608 and 708. Use case 800 may further include a symbol representing an offer taken process 810 that determines whether the offer was accepted after leaving the waiting process 808. Use case 800 may further include a symbol representing an email process 812 that notifies the recipient that the offer is still valid if it is determined that the offer has not been accepted.
[0081] Figure 9 shows an exemplary use case 900 for Future Date Activation. Use case 900 can begin with a symbol representing the activation request for future data process 902. Use case 900 may further include a symbol representing a waiting process 904 that keeps use case 900 in the same state until conditions are met, such as a promised activation date and time (agreed activation date and time). Waiting process 904 may run as the same microservice that runs waiting processes 608, 708, and 808. Use case 900 may further include a symbol representing the complete service activation process 906. Use case 900 may further include a symbol representing a customer profile information process 604, which may be run by the same microservice that runs the customer profile information process 908. Use case 900 may include symbols representing email process 910A and SMS process 910B, and these processes may be executed by the same microservice that runs email process 606A and SMS process 606B, respectively.
[0082] Figure 10 shows an exemplary workflow schedule. The workflow schedule can be generated by the design-time service 404B_1. The workflows specified in the workflow schedule may correspond to specific use cases. For example, workflow_1 may correspond to one of the use cases shown in Figures 6-9. The workflow schedule can specify the microservices used for each workflow. For example, if workflow_1 corresponds to use case 600, microservice_1 may correspond to the device order delivery process 602. The workflow schedule can further specify the parameters used for each microservice. These parameters may be retrieved from the database layer 406 by the runtime service 404B_2 while the corresponding microservice is running. As shown in Figure 10, a microservice may not have parameters, such as microservice_2 for workflow_1. The workflow schedule can further specify the execution time for each microservice. Execution time can correspond to a specific time (e.g., 10 minutes, 1 hour, etc.), a specific date (e.g., a specific day of the week, the 5th of each month, etc.), or any other specific condition (e.g., data received from a customer, etc.).
[0083] Figure 11 shows an exemplary sequence diagram of one embodiment for generating a workflow topology. The presentation layer may reside on UE310, and the application layer may reside on Server 360 (Figure 3A). The database layer may also be part of Server 360, or it may be one or more remote operational databases relative to Server 360. In step 1100, the application layer provides a presentation interface to the presentation layer, such as interface 500 (Figure 5). In step 1102, the workflow topology is created in the presentation layer, such as the workflow topology provided in the use cases shown in Figures 6-9. In step S1104, the created workflow topology is sent to the application layer and stored in step 1106. In step 1108, a workflow schedule is generated, such as the schedule shown in Figure 10. In step S1110, the workflow schedule is executed. For example, each workflow specified in the workflow schedule is executed according to the execution time of the respective microservice specified for each workflow. Once each workflow is executed, in step S1112, one or more workflow parameters are retrieved from the database layer.
[0084] Figure 12 shows an exemplary sequence diagram of one embodiment for developing a new microservice. The presentation layer may be on UE310, and the application layer may be on server 360 (Figure 3A). The application layer provides a development interface to the presentation layer in step 1200. In step 1202, a new microservice is created via the development interface of the presentation layer. In step 1204, the new microservice is sent to the application layer, and in step 1206, the new microservice is stored. In step 1208, the symbolic representation is updated by the new microservice. In step 1210 (in step 1210), a presentation interface with the updated symbolic representation is provided to the presentation layer.
[0085] Figure 13 shows an exemplary flowchart of one embodiment of process 1300 for generating a workflow topology. Process 1300 may run on the presentation layer in UE310 (Figure 3A). The process can typically begin in step S1302, when a presentation user interface received from the server is displayed on the presentation layer. The presentation interface may include a symbol display, which includes one or more symbols and a work area, as shown, for example, in Figure 5. The process proceeds to step S1304, where the first symbol is selected from the symbol display and the first symbol is moved to the work area. The process proceeds to step 1306, where the second symbol is selected from the symbol display and the second symbol is moved to the work area. The process proceeds to step S1308, where the first and second symbols are connected in the work area to form the workflow topology. The process proceeds to step 1310, where the workflow is sent to the server.
[0086] Figure 14 shows an exemplary flowchart of one embodiment of process 1400 for receiving and executing a workflow topology. Process 1400 may run on the application layer of server 360 (Figure 3A). The process can typically begin in step S1402, when a presentation layer user interface is provided to the UE, such as the user interface shown in Figure 5. The process proceeds to step S1404, where a workflow topology is received from the UE, such as the workflow topology shown in the use cases of Figures 6-9. The workflow topology may specify interconnections between at least a first symbol associated with a first microservice and a second symbol associated with a second microservice. In another example, the first symbol may be interconnected in parallel with the second and third symbols, indicating that the microservice associated with the first symbol triggers the microservice associated with the second symbol and the microservice associated with the third symbol in parallel. The process proceeds to step S1406, where a workflow schedule is generated for at least the first and second microservices. The process proceeds to step S1408, where it executes at least the first and second microservices according to the workflow schedule.
[0087] The foregoing disclosures are provided as examples and explanations, but are not intended to be exhaustive or to limit implementations to the disclosed forms themselves. Modifications and variations may be possible in light of the foregoing disclosures, or such modifications and variations may be obtained from the implementations.
[0088] It should be understood that the specific order or hierarchy of blocks in the processes / flowcharts disclosed herein is an example of exemplary technique. It should be understood that the specific order or hierarchy of blocks in the processes / flowcharts may be rearranged based on design preferences. Furthermore, some blocks may be combined or omitted. The method claims of the claims present elements of various blocks in a sample order and do not mean to limit the specific order or hierarchy presented.
[0089] Some embodiments may relate to systems, methods, and / or computer-readable media in integration at any possible level of technical detail. Furthermore, one or more of the above components may be implemented as instructions stored in a computer-readable medium and executable by at least one processor (and / or include at least one processor). The computer-readable medium may include computer-readable non-transitory storage medium (there may be more media) having computer-readable program instructions for causing a processor to perform an operation.
[0090] A computer-readable storage medium can be a tangible device capable of holding and storing instructions for use by an instruction execution device. A computer-readable storage medium may, but is not limited to, electronic storage devices, magnetic storage devices, optical storage devices, electromagnetic storage devices, semiconductor storage devices, or any suitable combination thereof. A non-exhaustive list of more specific examples of computer-readable storage mediums includes portable computer diskettes, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), static random access memory (SRAM), portable compact disk read-only memory (CD-ROM), digital multipurpose disks (DVDs), memory sticks, floppy disks, mechanically encoded devices such as punch cards or grooved raised structures on which instructions are recorded, and any suitable combination thereof. The computer-readable storage mediums used herein should not be construed as transient signals themselves, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through waveguides or other transmission media (e.g., optical pulses through optical fiber cables), or electrical signals transmitted through wires.
[0091] The computer-readable program instructions described herein may be downloaded from a computer-readable storage medium to each computing / processing device, or to an external computer or external storage device via a network, such as the Internet, a local area network, a wide area network, and / or a wireless network. The network may include copper transmission cables, optical transmission fibers, wireless transmissions, routers, firewalls, switches, gateway computers, and / or edge servers. A network adapter card or network interface within each computing / processing device receives computer-readable program instructions from the network and transfers the computer-readable program instructions for storage in a computer-readable storage medium within each computing / processing device.
[0092] The computer-readable program code / instructions for performing the operation may be assembler instructions, instruction set architecture (ISA) instructions, machine instructions, machine-dependent instructions, microcode, firmware instructions, state setting data, integrated circuit configuration data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk and C++, and procedural programming languages such as the C programming language or similar programming languages. The computer-readable program instructions may be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or wide area network (WAN), or it may be connected to an external computer (for example, via the Internet using an Internet service provider). In some embodiments, for example, an electronic circuit including a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA) can execute computer-readable program instructions by utilizing state information of computer-readable program instructions for personalizing the electronic circuit in order to perform an action or operation.
[0093] These computer-readable program instructions may be provided to the processor of a general-purpose computer, a dedicated computer, or other programmable data processing device for manufacturing machines, thereby creating a means for instructions executed via the processor of the computer or other programmable data processing device to implement functions / operations specified in one or more blocks of a flowchart and / or block diagram. These computer-readable program instructions may also be stored in a computer-readable storage medium that can instruct computers, programmable data processing devices, and / or other devices to function in a particular way, and as a result, the computer-readable storage medium that internally stores the instructions includes a product containing instructions that implement modes of functions / operations specified in one or more blocks of a flowchart and / or block diagram.
[0094] Computer-readable program instructions may also be loaded into a computer, another programmable device, or another device to cause a series of operational steps to be performed on the computer, another programmable device, or another device in order to produce a computer implementation process, the instructions executed on the computer, another programmable device, or another device, thereby implementing a function / operation specified in one or more blocks of a flowchart and / or block diagram.
[0095] The flowcharts and block diagrams in the attached drawings illustrate the architecture, functions, and operation of possible implementations of systems, methods, and computer-readable media according to various embodiments. In this regard, each block in a flowchart or block diagram may represent a module, segment, or part of an instruction containing one or more executable instructions for implementing a particular logical function. Methods, computer systems, and computer-readable media may contain more blocks, fewer blocks, different blocks, or blocks in different arrangements compared to the illustrated blocks. In some alternative implementations, the functions described in the blocks may be performed in a different order than shown in the diagram. For example, two blocks shown consecutively may be executed in practice simultaneously or substantially simultaneously, or blocks may sometimes be executed in reverse order depending on the functions they relate to. It should also be noted that each block in a block diagram and / or flowchart, and combinations of blocks in a block diagram and / or flowchart, may be implemented by a dedicated hardware-based system that performs a specified function or operation, or a combination of dedicated hardware and computer instructions.
[0096] It will be apparent that the systems and / or methods described herein may be implemented in various forms of hardware, firmware, or combinations of hardware and software. The actual dedicated control hardware or software code used to implement these systems and / or methods is not limited to the implementation form. Therefore, the operation and behavior of the systems and / or methods are described herein without reference to specific software code, and it is understood that software and hardware may be designed to implement the systems and / or methods based on the descriptions herein.
[0097] The above disclosure also includes the embodiments listed below.
[0098] (1) A method performed by at least one processor in a user device (UE) including the step of displaying a presentation user interface received from a server. The presentation interface includes (i) a symbol display including one or more symbols, and (ii) a work area. The method further includes the steps of selecting a first symbol from the symbol display and moving the first symbol to the work area, selecting a second symbol from the symbol display and moving the second symbol to the work area, forming a workflow topology in the work area by connecting the first symbol to the second symbol, and sending the workflow topology to a server.
[0099] (2) The method described in feature (1), wherein each symbol in the symbol representation is associated with a microservice executed by the server.
[0100] (3) The method according to feature (1) or (2), wherein the first symbol and the second symbol are moved to the work area via a drag-and-drop operation.
[0101] (4) The method according to any one of features (1) to (3), wherein at least one first symbol in the work area includes one or more configurable parameters.
[0102] (5) A method according to any one of features (1) to (4), further comprising the steps of: displaying a development interface that includes one or more tools for developing a new microservice; associating a symbol with the new microservice; and adding the new microservice to the symbol display.
[0103] (6) A method performed by at least one processor in a server, comprising the steps of providing a presentation user interface to a user device (UE). The presentation interface includes (i) a symbol display including one or more symbols, and (ii) a work area. The method further includes receiving from the UE a workflow topology specifying interconnections between at least one or more symbols, a first symbol from one or more symbols, and a second symbol from one or more symbols. The first symbol is associated with a first microservice, and the second symbol is associated with a second microservice. The method further includes generating a workflow schedule for at least the first and second microservices, and executing at least the first and second microservices according to the workflow schedule.
[0104] (7) The method according to feature (6), further comprising the step of storing the workflow topology received from the UE in a database.
[0105] (8) The method according to feature (6) or (7), wherein the step of executing the first microservice and the second microservice includes the step of retrieving one or more parameters from a database.
[0106] (9) A method according to any one of features (6) to (8), further comprising the steps of: providing the UE with a development interface that includes one or more tools for developing a new microservice; receiving the new microservice and a new symbol associated with the new microservice from the UE; and adding the new microservice to a display panel.
[0107] (10) The method according to any one of features (6) to (9), further comprising the step of denying access to at least one symbol among one or more symbols in the display panel in response to a determination that the UE does not have access to at least one symbol.
[0108] (11) A device comprising at least one memory configured to store computer program code, and at least one processor configured to access the at least one memory and to operate as instructed by the computer program code. The computer program code comprises presentation interface display code configured to cause at least one of the at least one processor to display a presentation user interface received from a server. The presentation interface comprises (i) a symbol display comprising one or more symbols, and (ii) a work area. The computer program code further includes: a first selection code configured to cause at least one of the at least one processors to select a first symbol from a symbol display and move the first symbol to a work area; a second selection code configured to cause at least one of the at least one processors to select a second symbol from a symbol display and move the second symbol to a work area; a connection code configured to cause at least one of the at least one processors to connect the first symbol to the second symbol in the work area to form a workflow topology; and a transmission code configured to cause at least one of the at least one processors to send the workflow topology to a server.
[0109] (12) The device described in feature (11), in which each symbol in the symbol representation is associated with a microservice executed by the server.
[0110] (13) The device according to feature (11) or (12), wherein the first symbol and the second symbol are moved to the work area via a drag-and-drop operation.
[0111] (14) The device according to any one of features (11) to (13), wherein at least one first symbol in the work area includes one or more configurable parameters.
[0112] (15) The device according to any one of features (11) to (14), wherein the computer program code further includes development interface display code configured to cause at least one of the at least one processors to display a development interface including one or more tools for developing a new microservice, and association code configured to cause at least one of the at least one processors to associate a symbol with a new microservice, and the new microservice is added to the symbol display.
[0113] (16) A server comprising at least one memory configured to store computer program code, and at least one processor configured to access the at least one memory and to operate as instructed by the computer program code. The computer program code comprises presentation user interface providing code configured to cause at least one of the at least one processor to provide a presentation user interface to a user device (UE). The presentation interface comprises (i) a symbol display comprising one or more symbols, and (ii) a work area. The computer program code further comprises receiving code configured to cause at least one of the at least one processor to receive from the UE a workflow topology specifying interconnections between at least one first symbol of one or more symbols and a second symbol of one or more symbols. The first symbol is associated with a first microservice, and the second symbol is associated with a second microservice. The computer program code further includes generating code configured to cause at least one of the at least one processors to generate workflow schedules for at least a first microservice and a second microservice, and executing code configured to cause at least one of the at least one processors to execute at least a first microservice and a second microservice according to the workflow schedule.
[0114] (17) The server according to feature (16), wherein the computer program code further includes storage code configured to cause at least one of the at least one processors to store the workflow topology received from the UE in a database.
[0115] (18) The server according to feature (16) or (17), wherein executable code causes at least one of the at least one processors to execute the first microservice and the second microservice, and further causes the at least one processor to retrieve one or more parameters from a database.
[0116] (19) The server according to any one of features (16) to (18), further comprising: development interface providing code configured to cause at least one of the at least one processors to provide the UE with a development interface including one or more tools for developing a new microservice; receiving code configured to cause at least one of the at least one processors to receive a new microservice and a new symbol associated with the new microservice from the UE; and additional code configured to cause at least one of the at least one processors to add the new microservice to a display panel.
[0117] (20) The server according to any one of features (16) to (19), wherein the computer program code further includes a denial code configured to cause at least one of the at least one processors to deny access to at least one symbol among one or more symbols in the display panel in response to a determination that the UE does not have access rights to at least one symbol.
Claims
1. A method performed by at least one processor in a user device (UE), wherein the method is The step includes displaying a presentation user interface received from a server, wherein the presentation user interface includes (i) a symbol display including one or more symbols, and (ii) a work area. The above method further, The steps include selecting a first symbol from the symbol display and moving the first symbol to the work area, The steps include selecting a second symbol from the symbol display and moving the second symbol to the work area, The steps include: connecting the first symbol to the second symbol in the work area to form a workflow topology; A method comprising the step of sending the workflow topology to the server.
2. The method according to claim 1, wherein each symbol in the symbol representation is associated with a microservice executed by the server.
3. The method according to claim 1, wherein the first symbol and the second symbol are moved to the work area via a drag-and-drop operation.
4. The method according to claim 1, wherein at least the first symbol in the work area includes one or more configurable parameters.
5. The above method further, Steps include displaying a development interface that includes one or more tools for developing new microservices, This includes the step of associating the new microservice with a symbol, The method according to claim 1, wherein the new microservice is added to the symbolic representation.
6. A method executed by at least one processor in a server, wherein the method is The steps include providing a presentation user interface to a user device (UE), the presentation user interface including (i) a symbol display including one or more symbols, and (ii) a work area. The method further includes receiving from the UE a workflow topology specifying at least an interconnection between a first symbol from the one or more symbols and a second symbol from the one or more symbols, wherein the first symbol is associated with a first microservice and the second symbol is associated with a second microservice. The above method further, The steps include generating workflow schedules for at least the first microservice and the second microservice, A method comprising the step of executing at least the first microservice and the second microservice in accordance with the workflow schedule.
7. The method according to claim 6, further comprising the step of storing the workflow topology received from the UE in a database.
8. The method according to claim 6, wherein the step of executing the first microservice and the second microservice includes the step of obtaining one or more parameters from a database.
9. The steps include providing the UE with a development interface that includes one or more tools for developing new microservices, The steps include receiving the new microservice and a new symbol associated with the new microservice from the UE, The steps include adding the new microservice to the display panel, The method according to claim 6, further comprising:
10. The method according to claim 6, further comprising the step of denying access to at least one of the one or more symbols in response to a determination that the UE does not have access rights to at least one symbol.
11. At least one memory configured to store computer program code, A processor configured to access the at least one memory and to operate as instructed by the computer program code, A device including, wherein the computer program code is The presentation interface display code is configured to cause at least one of the at least one processors to display a presentation user interface received from the server, the presentation user interface includes (i) a symbol display including one or more symbols, and (ii) a work area. The aforementioned computer program code further, A first selection code is configured to cause at least one of the at least one processors to select a first symbol from the symbol display and move the first symbol to the work area, A second selection code is configured to cause at least one of the aforementioned processors to select a second symbol from the symbol display and move the second symbol to the work area, A connection code configured to cause the first symbol to connect to the second symbol within the work area to form a workflow topology is provided in at least one of the at least one processors, A device including a transmission code configured to cause at least one of the at least one processors to send the workflow topology to the server.
12. The device according to claim 11, wherein each symbol in the symbol display is associated with a microservice executed by the server.
13. The device according to claim 11, wherein the first symbol and the second symbol are moved to the work area via a drag-and-drop operation.
14. The device according to claim 11, wherein at least the first symbol in the work area includes one or more configurable parameters.
15. The aforementioned computer program code Development interface display code configured to cause at least one of the at least one processors to display a development interface including one or more tools for developing a new microservice, The at least one of the aforementioned processors further includes association code configured to associate a symbol with the new microservice, The device according to claim 11, wherein the new microservice is added to the symbol display.
16. At least one memory configured to store computer program code, A processor configured to access the at least one memory and to operate as instructed by the computer program code, A server including, wherein the computer program code is At least one of the above at least one processor includes presentation user interface providing code configured to cause a presentation user interface to be provided to a user device (UE), the presentation user interface includes (i) a symbol display including one or more symbols, and (ii) a work area. The aforementioned computer program code further, The at least one of the at least one processors includes a receive code configured to cause at least one of the UEs to receive a workflow topology specifying interconnections between a first symbol from the one or more symbols and a second symbol from the one or more symbols, wherein the first symbol is associated with a first microservice and the second symbol is associated with a second microservice. The aforementioned computer program code further, Generation code configured to cause at least one of the at least one processors to generate workflow schedules for at least the first microservice and the second microservice, An executable code configured to cause at least one of the at least one processors to execute at least the first microservice and the second microservice according to the workflow schedule, A server that includes this.
17. The server according to claim 16, further comprising storage code configured to cause at least one of the at least one processors to store the workflow topology received from the UE in a database.
18. The server according to claim 16, wherein at least one of the at least one processors, the executable code that causes the first microservice and the second microservice to execute, further causes the at least one processor to retrieve one or more parameters from a database.
19. The aforementioned computer program code Development interface providing code configured to cause the UE to provide a development interface including one or more tools for developing new microservices to at least one of the aforementioned at least one processor, A receive code configured to cause at least one of the above at least one processors to receive the new microservice and a new symbol associated with the new microservice from the UE, The server according to claim 16, further comprising additional code configured to cause at least one of the at least one processors to add the new microservice to the display panel.
20. The aforementioned computer program code The server according to claim 16, further comprising a denial code configured to cause at least one of the at least one processors to deny access to the at least one symbol among the one or more symbols in response to a determination that the UE does not have access rights to at least one symbol.