Method and system for managing an application
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2025-02-10
- Publication Date
- 2026-08-13
Smart Images

Figure SG2025050094_13082026_PF_FP_ABST
Abstract
Description
[0001] Description
[0002] Title of Invention: Method and System for Managing an Application
[0003] FIELD OF INVENTION
[0004] [1] The present disclosure relates broadly, but not exclusively, to methods and systems for managing an application.
[0005] BACKGROUND
[0006] [2] Creating an application, for example via an interface that utilizes artificial intelligence (Al) or other similar technology, typically involves "prompt engineering" which is a complex procedure that requires significant technical expertise. Further, traditional approaches to creating applications are code-intensive, making it less accessible to nontechnical users.
[0007] [3] Due to the speed and quantity of applications that can be created on a platform for managing an application, merely browsing through the applications on such platforms is impractical for searching for a suitable application, and existing search tools on such platforms are inadequate for finding a right application, resulting in inaccurate and unsuitable search results.
[0008] [4] A need therefore exists to provide methods and systems that seek to overcome or at least minimize the above mentioned challenges.SUMMARY
[0009] [5] According to a first aspect of the present disclosure, there is provided a method for managing an application, comprising: determining, by a processor, metadata associated with a keyword indicated in a request for an application; identifying, by the processor, an application in response to the request based on whether the determined metadata matches with metadata associated with the application; processing, by the processor, a request for creating an application, the request defining a behaviour and a response for the application, or indicating a function to be performed by the application; and creating, by the processor, the application based on the defined behaviour and response, or based on the indicated function.
[0010] [6] According to a second aspect of the present disclosure, there is provided a system for managing an application, comprising: at least one processor; and at least one memory including computer program code; the at least one memory and the computer program code configured to, with the at least one processor, cause the system at least to: determine metadata associated with a keyword indicated in a request for an application; identify an application in response to the request based on whether the determined metadata matches with metadata associated with the application; process a request for creating an application, the request defining a behaviour and a response for the application, or indicating a function to be performed by the application; and create the application based on the defined behaviour and response, or based on the indicated function.BRIEF DESCRIPTION OF THE DRAWINGS
[0011] [7] Embodiments and implementations are provided by way of example only, and will be better understood and readily apparent to one of ordinary skill in the art from the following written description, read in conjunction with the drawings, in which:
[0012] [8] Fig. 1 illustrates a system for managing an application according to various embodiments of the present disclosure.
[0013] [9] Fig. 2 is a schematic diagram of an application server, according to various embodiments of the present disclosure.
[0014]
[0010] Fig. 3 illustrates an example flow diagram for searching an application according to various embodiments.
[0015]
[0011] Fig. 4 illustrates an example flow diagram for creating an application according to various embodiments.
[0016]
[0012] Fig. 5 illustrates a further example flow diagram for creating an application according to various embodiments.
[0017]
[0013] Fig. 6 is a schematic block diagram of a general purpose computer system upon which the application server shown in Figs. 1 and 2 can be practiced.
[0018]
[0014] Fig. 7 is a schematic block diagram of a general purpose computer system upon which a combined transaction processing and application server of Fig. 1 can be practiced.
[0019]
[0015] Fig. 8 shows an example of a computing device to realize the transaction processing server shown in Fig. 1.
[0020]
[0016] Fig. 9 shows an example of a computing device to realize the application server shown in Figs. 1 and 2.
[0021]
[0017] Fig. 10 shows an example of a computing device to realize a combined transaction processing and application server shown in Fig. 1 .
[0018] Skilled artisans will appreciate that elements in the figures are illustrated for simplicity and clarity and have not necessarily been depicted to scale. For example, the dimensions of some of the elements in the illustrations, block diagrams or flowcharts may be exaggerated in respect to other elements to help to improve understanding of the present embodiments.
[0022] DETAILED DESCRIPTION
[0023] Terms Description
[0024]
[0019] An application refers to a program or piece of software designed to fulfil a particular purpose. The application may be created and executed via, for example, a computing device, server, system, platform, or other similar entity in order to perform its function as designated during the creation process for the application. An application may, in performing its functions, be configured to interact with other entities such as another computing device, server, platform, system, or a large language model (LLM) service, a multimodal LLM (MLLM) service, a plugin (e.g., a computer program that the application may utilize to work more efficiently or have more features), another application, or other similar entities.
[0025]
[0020] Managing an application refers to a creation, cataloging, search (e.g., for a suitable application out of a plurality of applications), troubleshooting, data storage and retrieval, updating, offer for purchase and other similar services in relation to the application. An application may be managed via a computing device, a server, a system, a platform, or other similar entity.
[0026]
[0021] A request for creating the application (e.g., sent by a user via a requestor device, provider device, or other similar device to the server) refers to an instruction with relevant information in order to create an application which may be sent to a computing device, a server, a system, a platform, or other similar entity (e.g., configured for managing an application) for creating the application. The request for creating an application may define a behaviour (e.g., how the application to be created should process an input, what kind of input is acceptable or is to be rejected by the application, and other similar behaviour) and a response (e.g., what is the output of the application as a result of the processed input) for the application, or indicate a function to be performed by the application, or other similar manner of defining the application to be created. For example, the function may be one ofinvoking a large language model (LLM) service, a multimodal LLM (MLLM) service, executing a plugin (e.g., a computer program that the application may utilize to work more efficiently or have more features), performing a search, running another application, or other similar functions. The request for creating an application may also indicate external programs, a data source, a plugin, a server, or other similar entities that the application can access and utilize for performing its operations and functions. The request for creating an application may be received by the computing device, server, system, platform, or other similar entity via a drag-and-drop interface, a chat interface, an input of text, drawing, speech (e.g., interpreted with a speech to text recognition software), or other similar form of input, and processing the request utilizing a model such as a large language model (LLM) , a multimodal LLM (MLLM) service, machine learning model, or other similar model to advantageously enable an application to be created without requiring coding skills.
[0027]
[0022] A request for an application refers to a search for an application based on a keyword (which may comprise one or more words that is indicative of a title, a function, a category, a department, a file size, a date of creation or update of an application, a description, or other similar information relating to an application) indicated in the request. The request may be sent via an input of text, drawing, speech (e.g., interpreted with a speech to text recognition software), or other similar form of input, so that a keyword may be determined from the input, and metadata associated with the keyword may be determined and used for identifying a suitable application from, for example, a plurality of applications that are available on the platform (e.g., including an application that is created via the request for creating an application as explained above). In an implementation, the request for an application may be received by a computing device, server, system, platform, or other similar entity (e.g., configured for managing an application) via a drag-and-drop interface, a chat interface, an input of text, drawing, speech (e.g., interpreted with a speech to text recognition software), or other similar form of input, and processing the request utilizing a model such as a large language model (LLM), machine learning model, or other similar model to advantageously enable an application to be searched more efficiently.
[0028]
[0023] Metadata refers to descriptive information relating to an application, for example relating to a title, function, category, department, file size, output, and other similar information relating to the application, which can be used for identifying a suitable application. As explained above, from a keyword provided in an input of text, drawing,speech (e.g., interpreted with a speech to text recognition software), or other similar form of input sent via a request from an application, metadata associated with the keyword may be determined and used for identifying a suitable application from, for example, a plurality of applications that are available on the platform (e.g., including an application that is created via the request for creating an application as explained above). The extracted metadata may be compared with metadata associated with each of the plurality of applications on the platform and application(s) with metadata that matches (e.g., which may be identical or similar to a degree that may be configurable by the user sending the request and / or pre-configured in the platform) that of the extracted metadata will be recommended in response to the request. The metadata associated with an application may be represented as a vector which is stored in, for example, a vector database of the platform. Correspondingly, a query vector may be generated based on the extracted metadata for comparison with one or more vectors in the vector database to find a matching vector (e.g., a matching metadata) and therefore identify a suitable application.
[0029]
[0024] A platform refers to a set of technologies that is used as a base for facilitating exchanges between two or more interdependent servers, entities and / or devices, for example between a requestor device (of a product, service, an application, or other similar request) and a provider device (of the product, service, application, or other similar request). A platform may be configured for managing an application, offering no-code or low-code environments for building applications. The platform may integrate a plurality of applications (e.g., artificial intelligence (Al) applications, or other similar applications) by enabling access by a requestor device or provider device to an application through various interfaces such as a web portal, Slack, Application Programming Interface (API), or other similar interfaces. The platform may offer a service such as for creating an application, searching for an application, and other similar service to a requestor, and may be one that utilizes Al to facilitate these operations. The platform may also be configured to offer a product or service (such as a ride, delivery, or other similar services) provided by a provider to a requestor. The requestor can typically access the platform via a website, an application, or other similar methods in order to make a request for the service.
[0030]
[0025] In at least some embodiments, a user may be any suitable type of entity, which may include a person (e.g., associated with a requestor device, provider device, or other similar device) who sends a request for an application or a request for creating an application to the platform via an application server, a consumer looking to purchase ororder a product or service via a transaction processing server, a seller or merchant looking to sell a product or service via the transaction processing server, a motorcycle driver or pillion rider in a case of the user looking to book or provide a motorcycle ride via the transaction processing server, a car driver or passenger in a case of the user looking to book or provide a car ride via the transaction processing server, and other similar entity that selects or orders an item on the platform. A user who is registered to the transaction processing server will be called a registered user. A user who is not registered to the transaction processing server will be called a non-registered user. The term user will be used to collectively refer to both registered and non-registered users. A user may interchangeably be referred to as a requestor (e.g. a person who requests for a product or service) or a provider (e.g. a person who provides the requested product or service to the requestor).
[0031]
[0026] In at least some embodiments, an application server is a server that hosts software application programs for managing an application. In an example, the application server may be configured to only allow users authorized by the platform (e.g., an employee associated with the platform) to access its service. In another example, the application server may be configured to provide access by any user to a plurality of applications managed by the application server (e.g,., enabling any user to create, share, search for, install, execute, or perform any other similar action relating to an application managed by the application server) and enable a payment to be made (e.g., in a form of a one-time payment, a subscription, or other similar payment via the transaction processing server) by a user for providing a service for creating an application, buying an application, using an application, or other similar services relating to the application. The application server may be implemented as shown in the schematic diagram of Fig. 2.
[0032]
[0027] In at least some embodiments, a transaction processing server is a server that hosts software application programs for processing payment transactions for, for example, a travel-ordination request, purchasing of a good, a service or an application (e.g., resulting from a request for an application or for a request for creating an application) by a user, and other similar services. The transaction processing server communicates with any other servers (e.g., an application server) concerning processing payment transactions relating to the purchasing of the good, service, or application. For example, data relating to a purchase of a service, an item or an application (e.g. a price for the service, item or application, a name of the purchased item, service or application, a timestamp indicating date and time of purchase, session ID, item ID, user ID, country / city ID, a price, and other similar data) may be provided to the application server for processing and / or storing. The transaction processing server may use a variety of different protocols and procedures in order to process the payment and / or travel co-ordination requests. It will be appreciated that purchasing and ordering may be used interchangeably.
[0033]
[0028] Transactions that may be performed via a transaction processing server include application, product or service purchases, credit purchases, debit transactions, fund transfers, account withdrawals, etc. Transaction processing servers may be configured to process transactions via cash-substitutes, which may include payment cards, letters of credit, checks, payment accounts, etc.
[0034]
[0029] In at least some embodiments, the transaction processing server is usually managed by a service provider that may be an entity (e.g. a company or organization) which operates to process transaction requests (e.g., for ordering an item) and / or travel co-ordination requests. The transaction processing server may include one or more computing devices that are used for processing transaction requests (e.g., relating to payment for providing a service relating to an application, or other similar services) and / or travel co-ordination requests.
[0035]
[0030] In at least some embodiments, a transaction account is an account of a user who is registered at a transaction processing server. The user can be an employee associated with a platform, a customer, a merchant providing a product for sale on a platform and / or for onboarding the platform, a hail provider (e.g., a driver), or any third parties (e.g., a courier) who want to use the transaction processing server. In certain circumstances, the transaction account is not required to use the transaction processing server. A transaction account includes details (e.g., name, address, vehicle, face image, user ID, etc.) of a user. The transaction processing server manages the transaction.
[0036]
[0031] Embodiments will be described, by way of example only, with reference to the drawings. Like reference numerals and characters in the drawings refer to like elements or equivalents.
[0037]
[0032] Some portions of the description which follows are explicitly or implicitly presented in terms of algorithms and functional or symbolic representations of operations on datawithin a computer memory. These algorithmic descriptions and functional or symbolic representations are the means used by those skilled in the data processing arts to convey most effectively the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities, such as electrical, magnetic or optical signals capable of being stored, transferred, combined, compared, and otherwise manipulated.
[0038]
[0033] Unless specifically stated otherwise, and as apparent from the following, it will be appreciated that throughout the present specification, discussions utilizing terms such as “creating”, “modifying”, “invoking”, “receiving”, “performing”, “verifying”, “encrypting”, “extracting”, “processing”, “identifying”, “generating”, “determining”, “associating”, “selecting”, “calculating”, “storing”, “indicating”, or the like, refer to the action and processes of a computer system, or similar electronic device, that manipulates and transforms data represented as physical quantities within the computer system into other data similarly represented as physical quantities within the computer system or other information storage, transmission or display devices.
[0039]
[0034] In addition, the present specification also implicitly discloses a computer program, in that it would be apparent to the person skilled in the art that the individual steps of the method described herein may be put into effect by computer code. The computer program is not intended to be limited to any particular programming language and implementation thereof. It will be appreciated that a variety of programming languages and coding thereof may be used to implement the teachings of the disclosure contained herein. Moreover, the computer program is not intended to be limited to any particular control flow. There are many other variants of the computer program, which can use different control flows without departing from the scope of the specification.
[0040]
[0035] Furthermore, one or more of the steps of the computer program may be performed in parallel rather than sequentially. Such a computer program may be stored on any computer readable medium. The computer readable medium may include storage devices such as magnetic or optical disks, memory chips, or other storage devices suitable for interfacing with a computer. The computer readable medium may also include a hardwired medium such as exemplified in the Internet system, or wireless medium such as exemplified in the GSM mobile telephone system. The computer program when loadedand executed on such a computer effectively results in an apparatus that implements the steps of the preferred method.
[0041]
[0036] As previously mentioned, traditional approaches to building applications are codeintensive, making it less accessible to non-technical users. Due to limited accessibility, non-technical users struggle to create or modify applications. Developing new features and managing prompts for such applications involve cumbersome coding processes that are time-consuming and complicated. Security is also an issue, as secure and compliant access to resources (especially internal, proprietary resources that are only meant for employees of a platform) for managing applications is challenging. Furthermore, finding a right application that meets specific needs is not straightforward. While some platforms (e.g., Dify) may offer no-code or low-code environments for building simple applications, these are limited in feature scope and integration options.
[0042]
[0037] Creating a new service (e.g., for building applications as mentioned above) requires careful planning, particularly around service architecture, dependencies, and infrastructure procurement. It is often simpler to build Al capabilities directly into an existing application where needed. There are various tasks involved for creating a service for building applications as mentioned above. When integrating with a service provider such a LLM, Al model or ML model provider, it involves creating an account, setting up authentication, and implementing the necessary code to interact with the service provider’s API. Crafting prompts that are efficient for searching for and / or creating an application usually requires multiple rounds of testing to fine-tune them and ensure they handle all edge cases effectively. Proper handling of chat history is also essential to maintain data integrity and privacy. To provide additional context to a model utilized for searching for and / or creating an application, it may be required to include integrating internal business data or live information, such as order details for a food delivery service or a frequently asked questions (FAQ) database for internal services that may not be not publicly accessible. Further, in a case where LLM is utilized for searching for or creating an application, since LLM context windows are limited, engineers need to design optimized lookup mechanisms to provide relevant data quickly and efficiently, so as to Implement an efficient data retrieval method.
[0043]
[0038] Thus, a platform is proposed for managing an application that serves both technical and non-technical users by providing a no-code / low-code environment. The proposed platform simplifies much of the above-mentioned workflow by offering a user-friendly webportal to manage these tasks. Applications may be versioned, enabling a user to safely test new prompts and roll out updates only when the user is confident in the changes. It may be configured to integrate one or more applications by enabling effortless access through, for example, a web portal, Slack, API, or other similar interface, while ensuring security through open authentication (OAuth) login, secret keys, and other similar security measures. On such a platform, non-technical users can build applications (e.g., Al applications, LLM applications, chat applications, workflow applications, or other similar applications) without coding. Applications that are created and stored on the platform may be secured by OAuth login, secret keys, and other similar security measures, and can be embedded into other services (e.g., enterprise services or other similar services). Application and document management may be streamlined in the platform, and safe prompt engineering may be facilitated with controlled rollout / rollback of created and / or updated applications. Further, intelligent search features on the platform enable users to find the most relevant application(s) based on semantic understanding of a request for an application. It will be appreciated that ‘platform’ may also be referred to herein as a ‘system’.
[0044]
[0039] Fig. 1 illustrates a block diagram of an example system 100 for managing an application. In some embodiments, the system 100 enables a payment transaction for an application (e.g., purchasing an application, utilizing the system for managing an application on a subscription payment basis, or other similar arrangement), an item, a good or service, and / or a request for a ride or delivery of a physical item (e.g. one or more items) by a user (e.g., between a requestor and a provider).
[0045]
[0040] The system 100 comprises a requestor device 102, a provider device 104, an acquirer server 106, a transaction processing server 108, an issuer server 110, an application server 140 and a reference database 150.
[0046]
[0041] The requestor device 102 is in communication with a provider device 104 via a connection 11 , and may be associated with a user. The connection 112 may be wireless (e.g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet). The requestor device 102 is also in communication with the application server 140 via a connection 121 , wherein the application server 140 may be configured to receive data relating to a request for an application or a request for creating an application from the requestor device 102. The connection 121 may be via a network (e.g., the Internet). Therequestor device 102 may also be connected to a cloud that facilitates the system 100 for managing an application. For example, the requestor device 102 can send a signal or data to the cloud directly via a wireless connection (e.g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet).
[0047]
[0042] The provider device 104 is in communication with the requestor device 102 as described above, usually via the transaction processing server 108, and may be associated with a provider of a service (e.g. a driver responding to a request for a ride or delivery). The provider device 104 is, in turn, in communication with an acquirer server 106 via a connection 114. The provider device 104 is also in communication with the application server 140 via a connection 123, wherein the application server 140 may be configured to receive data relating to a request for an application or a request for creating an application from the provider device 104. The connections 114 and 123 may be via a network (e.g., the Internet). The provider device 104 may also be connected to a cloud that facilitates the system 100 for managing an application. For example, the provider device 104 can send a signal or data to the cloud directly via a wireless connection (e.g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet).
[0048]
[0043] The acquirer server 106, in turn, is in communication with the transaction processing server 108 via a connection 116. The transaction processing server 108, in turn, is in communication with an issuer server 110 via a connection 118. The connections 116 and 118 may be via a network (e.g., the Internet).
[0049]
[0044] The transaction processing server 108 is further in communication with the application server 140 via a connection 120. The connection 120 may be over a network (e.g., a local area network, a wide area network, the Internet, etc.). In one arrangement, the transaction processing server 108 and the application server 140 are combined and the connection 120 may be an interconnected bus.
[0050]
[0045] The application server 140, in turn, is in communication with the reference database 150 via respective connection 122. The connection 122 may be over a network (e.g., the Internet). The application server 140 may also be connected to a cloud that facilitates the system 100 for managing an application. For example, the application server 140 can send a signal or data to the cloud directly via a wireless connection (e.g., via NFC communication, Bluetooth, etc.) or over a network (e.g., the Internet).
[0046] The reference database 150 may comprise data that is utilized by the application server 140 for managing an application. For example, data relating to one or more applications that are managed by the application server 140, one or more vectors representing metadata associated with the one or more applications, one or more functions, plugins or services (e.g., LLM services) that may be invoked by an application, programs used by the application server 140 for creating or searching for an application, or other similar data may be stored in the reference database 150. In an implementation, the reference database 150 may be combined with the application server 140. In an example, the reference database 150 may be managed by an external entity.
[0051]
[0047] The application server 140 may be configured to determine metadata associated with a keyword indicated in a request for an application, and identify an application (e.g., from the one or more applications managed by the application server 140) in response to the request based on whether the determined metadata matches with metadata associated with the application.
[0052]
[0048] Determining the metadata associated with the keyword may further comprise generating a vector based on the determined metadata. Identifying the application may further comprise identifying a vector representing the metadata associated with the application that matches the generated vector. The application server 140 may be further configured to identify the application based on a department, a team, a ranking or popularity associated with the application.
[0053]
[0049] The application server 140 may be further configured to process a request for creating an application, the request defining a behaviour and a response for the application, and create the application based on the defined behavior and response. The request for creating the application may further indicate a data source or plugin, and creating the application may further comprise configuring the application to access the data source or plugin.
[0054]
[0050] The application server 140 may be further configured to process a request for creating an application, the request indicating a function to be performed by the application, and create the application based on the indicated function. The function may be one of invoking a LLM service, executing a plugin, performing a search, running another application, or other similar function. The application server 140 may be further configuredto modify the created application to include a further function. The application server 140 may be further configured to receive the request for creating the application via a chat interface, and processing the request utilizing a LLM or other similar model.
[0055]
[0051] In an implementation, there may be more than one reference databases, in which the application server 140 may be configured to determine which database to use for each step during the process of managing an application. Alternatively, one or more modules may store the above-mentioned data instead of the reference database 150, wherein the module may be integrated as part of the application server 140 or external from the application server 140.
[0056]
[0052] In the illustrative embodiment, each of the devices 102, 104, and the servers 106, 108, 110, 140, and / or reference database 150 provides an interface to enable communication with other connected devices 102, 104 and / or servers 106, 108, 110, 140, and / or reference database 150. Such communication is facilitated by an application programming interface (“API”). Such APIs may be part of a user interface that may include graphical user interfaces (GUIs), Web-based interfaces, programmatic interfaces such as application programming interfaces (APIs) and / or sets of remote procedure calls (RPCs) corresponding to interface elements, messaging interfaces in which the interface elements correspond to messages of a communication protocol, and / or suitable combinations thereof. For example, it is possible for the requestor device 102 to send data relating to a requested service such as a request for an application, a request for creating an application, a ride, delivery or other similar service, and for the provider device 104 to send data relating to a request for an application, a request for creating an application, acceptance or rejection of a ride or delivery request, in response to an enquiry shown on the GUI running on the respective API.
[0057]
[0053] Use of the term ‘server’ herein can mean a single computing device or a plurality of interconnected computing devices which operate together to perform a particular function. That is, the server may be contained within a single hardware unit or be distributed among several or many different hardware units.
[0058]
[0054] The application server 140 is associated with an entity (e.g. a company or organization or moderator of the service). In one arrangement, the application server 140 is owned and operated by the entity operating the transaction processing server 108. Insuch an arrangement, the application server 140 may be implemented as a part (e.g., a computer program module, a computing device, etc.) of the transaction processing server 108.
[0059]
[0055] The transaction processing server 108 may also be configured to manage the registration of users. A registered user has a transaction account (see the discussion above) which includes details of the user. The registration step is called on-boarding. A user may use either the requestor device 102 or the provider device 104 to perform onboarding to the transaction processing server 108.
[0060]
[0056] It may not be necessary to have a transaction account at the transaction processing server 108 to access the functionalities of the transaction processing server 108. However, there may be functions that are only available to a registered user (e.g., only allowing a registered user to access more functions and capabilities relating to a request for an application or a request for creating an application utilizing the application server 140, or other similar arrangements).
[0061]
[0057] The on-boarding process for a user is performed by the user through one of the requestor device 102 or the provider device 104. In one arrangement, the user downloads an app (which includes the API to interact with the transaction processing server 108) to the requestor device 102 or the provider device 104. In another arrangement, the user accesses a website (which includes the API to interact with the transaction processing server 108) on the requestor device 102 or the provider device 104. The user is then able to interact with the application server 140. The user may be a requestor or a provider associated with the requestor device 102 or the provider device 104, respectively.
[0062]
[0058] Details of the registration may include, for example, name of the user, address of the user, emergency contact, blood type or other healthcare information, next-of-kin contact, permissions to retrieve or receive data and information from the requestor device 102 and / or the provider device 104 for managing an application, such as permission to receive data relating to a request for an application, a request for creating an application, selection or order of an item or service from the requestor device 102 and / or the provider device 104, or other similar data and information. Alternatively, another mobile device may be selected instead of the requestor device 102 and / or the provider device 104 forretrieving the data. Once on-boarded, the user would have a transaction account that stores all the details.
[0063]
[0059] The requestor device 102 is associated with a customer (or requestor) who is a party to a transaction that occurs between the requestor device 102 and the provider device 104, or between the requestor device 102 and the application server 140. The requestor device 102 may be a computing device such as a desktop computer, an interactive voice response (IVR) system, a smartphone, a laptop computer, a personal digital assistant computer (PDA), a mobile computer, a tablet computer, and the like. The requestor device 102 may be associated with a user who initiates a request for an application or a request for creating an application, a request for a ride or delivery, or who selects or orders an item.
[0064]
[0060] The requestor device 102 includes transaction credentials (e.g., a payment account) of a requestor to enable the requestor device 102 to be a party to a payment transaction. If the requestor has a transaction account, the transaction account may also be included (i.e . , stored) in the requestor device 102. For example, a mobile device (which is a requestor device 102) may have the transaction account of the customer stored in the mobile device.
[0065]
[0061] In one example arrangement, the requestor device 102 is a computing device in a watch or similar wearable and is fitted with a wireless communications interface (e.g., a NFC interface). The requestor device 102 can then electronically communicate with the provider device 104 regarding a transaction request. The customer uses the watch or similar wearable can make a request regarding the transaction request, or make a selection or order of an item, by pressing a button on the watch or wearable.
[0066]
[0062] The provider device 104 is associated with a provider who is also a party to the transaction request that occurs between the requestor device 102 and the provider device 104. The provider device 104 may be a computing device such as a desktop computer, an interactive voice response (IVR) system, a smartphone, a laptop computer, a personal digital assistant computer (PDA), a mobile computer, a tablet computer, and the like. The provider device 104 may be associated with a user who initiates a request for an application or a request for creating an application, a provider of a ride or delivery (e.g. adriver or deliverer responding to the request for the ride or delivery), or a user who selects or orders an item.
[0067]
[0063] Hereinafter, the term “provider” refers to a service provider and any third party associated with providing a product or service for purchase, or a travel or ride or delivery service via the provider device 104. Therefore, the transaction account of a provider refers to both the transaction account of a provider and the transaction account of a third party (e.g., a travel co-ordinator or merchant) associated with the provider.
[0068]
[0064] If the provider has a transaction account, the transaction account may also be included (i.e., stored) in the provider device 104. For example, a mobile device (which is a provider device 104) may have the transaction account of the provider stored in the mobile device.
[0069]
[0065] In one example arrangement, the provider device 104 is a computing device in a watch or similar wearable and is fitted with a wireless communications interface (e.g., a NFC interface). The provider device 104 can then electronically communicate with the requestor to make request regarding the transaction request, or make a selection or order of an item, by pressing a button on the watch or wearable.
[0070]
[0066] The acquirer server 106 is associated with an acquirer who may be an entity (e.g. a company or organization) which issues (e.g. establishes, manages, administers) a payment account (e.g. a financial bank account) of a merchant. Examples of the acquirer include a bank and / or other financial institution. As discussed above, the acquirer server 106 may include one or more computing devices that are used to establish communication with another server (e.g., the transaction processing server 108) by exchanging messages with and / or passing information to the other server. The acquirer server 106 forwards the payment transaction relating to a transaction request (e.g., in relation to a request for an application, a request for creating an application, an order of an item, or other similar transaction) or a request for a ride to the transaction processing server 108.
[0071]
[0067] The transaction processing server 108 is configured to process processes relating to a transaction account by, for example, forwarding data and information associated with a transaction for, for example, a travel-ordination request, purchasing of an application or a service (e.g., resulting from a request for an application, a request for creating anapplication, or other similar request) to the other servers in the system 100 such as the application server 140. In an example, the transaction processing server 108 may, instead of the requestor device 102 or provider device 104, transmit data relating to a purchase of a service, an item, or an application (e.g. a price for the service, item or application, a name of the purchased item, service or application, a time stamp indicating date and time of purchase, session ID, item ID, user ID, country / city ID, a price, and other similar data), to the application server 140. The transaction processing server 108 may use a variety of different protocols and procedures in order to process the payment and / or travel coordination requests. It will be appreciated that payment for a transaction may be made via a variety of methods such as credit cards, debit cards, digital wallets, buy-first pay-later schemes, and other similar payment methods.
[0072]
[0068] The issuer server 110 is associated with an issuer and may include one or more computing devices that are used to perform a payment transaction. The issuer may be an entity (e.g. a company or organization) which issues (e.g. establishes, manages, administers) a transaction credential or a payment account (e.g. a financial bank account) associated with the owner of the requestor device 102. As discussed above, the issuer server 110 may include one or more computing devices that are used to establish communication with another server (e.g., the transaction processing server 108) by exchanging messages with and / or passing information to the other server.
[0073]
[0069] The reference database 150 is a database or server associated with an entity (e.g. a company or organization) which manages (e.g. establishes, administers) data relating to one or more applications managed by the application server 140, users, transactions, products, services, and other similar data, for example relating to the entity. In an arrangement, the reference database 150 may comprise data that is utilized by the application server 140 for managing an application. For example, data relating to one or more applications that are managed by the application server 140, one or more vectors representing metadata associated with the one or more applications, one or more functions, plugins or services (e.g., LLM services) that may be invoked by an application, programs used by the application server 140 for creating or searching for an application, or other similar data may be stored in the reference database 150. Further, data relating to a request for an application, a request for creating an application, or other similar data, may be transmitted in real time (e.g., transmitted when a user inputs the request for an application, a request for creating an application, or other similar request) and stored inthe reference database 150. In an implementation, the reference database 150 may be combined with the application server 140. In an example, the reference database 150 may be managed by an external entity.
[0074]
[0070] Advantageously, the system 100 enables non-technical users to build applications (e.g., Al applications, LLM applications, chat applications, workflow applications, or other similar applications) without coding. Applications that are created and stored on the platform may be advantageously secured by OAuth login, secret keys, and other similar security measures, and can be embedded into other services (e.g., enterprise services or other similar services). For example, communication between the system 100 and a user may be secured via a service account which is a username and password pair that the user can generate in, for example, a portal associated with the system 100. Only a user with a certain role associated with the system 100 (e.g., an employee, a client, or other similar user of the system 100) is able to generate the password, which advantageously ensures that each use case of the system 100 may be reviewed for API access. Application and document management may be streamlined in the platform, and safe prompt engineering may be facilitated with controlled rollout / rollback of created and / or updated applications. Further, intelligent search features on the platform advantageously enable users to find the most relevant application(s) based on semantic understanding of a request for an application.
[0075]
[0071] Fig. 2 illustrates a schematic diagram of an example application server 140 according to various embodiments. The application server 140 may comprise a data module 260 configured to receive data and information from the requestor device 102, provider device 104, transaction processing server 108, reference database 150, a cloud and other sources of information for managing an application. For example, the data module 260 may be configured to receive data and information required for: determining metadata associated with a keyword indicated in a request for an application, and identifying an application in response to the request based on whether the determined metadata matches with metadata associated with the application; generating a vector based on the determined metadata; identifying a vector representing the metadata associated with the application that matches the generated vector; identifying the application based on a department, a team, a ranking or popularity associated with the application; processing a request for creating an application, the request defining a behaviour and a response for the application, and creating the application based on thedefined behaviour and response; configuring the application to access a data source or plugin indicated in the request for creating an application; processing, by the processor, a request for creating an application, the request indicating a function to be performed by the application, and creating the application based on the indicated function, wherein the function may be one of invoking a LLM service, executing a plugin, performing a search, or running another application; modifying the created application to include a further function; receiving the request for creating the application via a chat interface, and processing the request utilizing a LLM; and other similar processes, from the requestor device 102, the provider device 104, transaction processing server 108, reference database 150, and / or other sources of information. The data module 260 may be further configured to send information relating to data retrieved in response to a request for an application or a request for creating an application made by a user to the requestor device 102, the provider device 104, the transaction processing server 108, or other destinations where the information is required.
[0076]
[0072] The application server 140 may comprise a creation module 262 that is configured for processing a request for creating an application. The request may define a behaviour and a response for the application, and creating the application is based on the defined behaviour and response. The request for creating the application may further indicate a data source or plugin, and creating the application may further comprise configuring the application to access the data source or plugin. In an example, the request may indicate a function to be performed by the application; and creating the application may be based on the indicated function. The function may be one of invoking a LLM service, executing a plugin, performing a search, or running another application. The creation module 262 may be configured to modify the created application to include a further function. The creation module may be configured to receive the request for creating the application via a chat interface, and processing the request utilizing a LLM or other similar model.
[0077]
[0073] The application server 140 may also comprise a search module 264 that is configured for determining metadata associated with a keyword indicated in a request for an application, and identify an application in response to the request based on whether the determined metadata matches with metadata associated with the application. Determining the metadata associated with the keyword may further comprise generating a vector based on the determined metadata. Identifying the application may further comprise identifying a vector representing the metadata associated with the applicationthat matches the generated vector. The search module may further comprise Identifying the application based on a department, a team, a ranking or popularity associated with the application.
[0078]
[0074] Each of the data module 260, creation module 262 and search module 264 may further be in communication with a processing module (not shown) of the application server 140, for example for coordination of respective tasks and functions during the process. The data module 260 may be further configured to communicate with and store data and information for each of the processing module, creation module 262 and search module 264. Alternatively, all the tasks and functions required for managing an application may be performed by a single processor of the application server 140.
[0079]
[0075] Different types of applications may be created on the platform e.g., via the application server 140. A user may create, for example, a simple chat application (e.g., an application that enables communication between one or more users (or between a user and, for example, an Al-powered response provider) via input such as text, speech, or other similar input), a more intricate workflow application (e.g., a software tool that automates the tasks involved in, for example, a business process, in which the workflow application routes data along a predefined path until an item in the process is completed. Tasks in the workflow may include approvals, adding information, data transfers, or other similar tasks), or other similar application. For a chat application, a behaviour and a response for the application may be defined (e.g., indicated in a request for creating an application sent to the application server 140) by setting up a system prompt for the application. One or more sources of information such as a document (e.g., text document (TXT), comma-separated values file (CSV), word document, excel document, powerpoint document, portable document format (PDF), web links, a file or folder from an online source (e.g., a cloud, a Google Drive account, or other similar source), or other similar document format) may be indicated and / or uploaded (e.g., uploaded to reference database 150) so that the application to be created can access the document for its operation. Further, one or more plugins (e.g., one or more plugins that the application to be created can use to access external APIs or services, enabling the application to fetch and process external data as required) may be specified in the request for creating an application.
[0076] Further, a user may also create, for example, a workflow application. In an example, a user-friendly drag-and-drop interface may be implemented to enable users to define one or more functions (e.g., indicating one or more functions to be performed by the application to be created in the request for creating an application) and a data flow that is desired for the application to be created. Various functions may be implemented for the application, for example invoking services such as a LLM service (e.g., enabling the created application to, among other uses, process input such as voice recognition, natural language, facial expressions, and other similar input), executing a plugin (e.g., enable the application to utilize a plugin that may be pre-defined in the application server 140 to interact with, for example, external APIs or services), perform a similarity search (e.g., conduct semantic searches on an uploaded or defined knowledge base), running another application (e.g., running another application that is stored in the reference database 150 and managed by the application server 140, thus enabling reusability and modularization of functionalities in the application server 140), execute plugin tasks (e.g., plugin tasks that may be predefined in the application server 140) within the application, and other similar functions. Applications that are created in the application server 140 may be shared among users via, for example, URL links or through an operating system such as Slack by tagging the application name to be shared. Further, APIs may be configured to allow for programmatic access for service-to-service communication among users e.g., enabling sharing of information among the users regarding applications that are available on the application server 140.
[0080]
[0077] The application server 140 may be configured to allow for additional functions to be supported by the application in the future based on evolving needs and user feedback. Creation of an application may be implemented in a form of a process diagram. For example, a plurality of functions that is to be performed by the application may be chained together into a structured process diagram, creating a visual representation of the workflow associated with the application. This advantageously facilitates understanding and managing complex data flows and interactions associated with the creation of the application. In an implementation, the workflow application may be configured to be accessed via a chat interface, ensuring seamless interaction with the created application.
[0081]
[0078] Application security and visibility may be configured according to the requirements of the application to improve security. In an implementation, data relating to application search and creation (e.g., data to be utilized for a request for an application or a requestfor creating an application respectively) may be segmented based on tenants (e.g., a tenant being a group of users who share a common access with specific privileges to a software instance) to ensure isolation. For example, each user that may be registered with the application server 140 may have one or more tenants (e.g., personal, company-wide, or team-specific tenants, or other similar tenants). Further, data may be marked as public or private, and collaborators may be specified with granular access control for such data. Furthermore, a tier system for data may be implemented, such that sensitive data is managed with stricter controls based on the tier label assigned. For example, a tier 1 application may be one that is not made available to public users such that, for example, only tier 1 users (e.g., employees associated with the application server 140) may use the tier 1 application. Checks may also be performed for the application server 140 to ensure that tier 1 data can only be accessed by tier 1 applications and that there are no crosscontamination of data, thus ensuring data privacy and protection.
[0082]
[0079] Advanced search mechanisms may be implemented for the platform (e.g., in the application server 140) to simplify the process of finding a right application among an extensive repository of applications that may be stored in the reference database 150. With thousands of applications being created within a short time due to the simplified application creation process, merely browsing through the applications to find a suitable application is impractical. Thus, a process for searching an application may be implemented such that metadata may be determined based on a keyword indicated in a request for an application, and an application may be identified in response to the request based on whether the determined metadata matches with metadata associated with the application. In an implementation, the application server 140 may maintain a vector database (e.g., stored in the reference database 150) that stores metadata for each application that is managed by the application server 140, including an application’s name, description, system prompt, tags, and other similar information. For example, each metadata associated with an application managed by the application server 140 may be semantically represented as a vector which enables the application server 140 to understand and interpret a contextual meaning of a request for an application.
[0083]
[0080] In an implementation, when a user submits a search query (e.g., a request for an application), the application server 140 may utilize a model for interpreting the request such as an LLM or other similar model to comprehend and extract the essence of the query, transforming it into a semantic vector based on metadata that is determined basedon the request. The vector representation of the request may then be matched against application metadata stored in the vector database via a semantic search. The semantic search may yield an initial set of n results, where n is a configurable parameter. These initial results may be further refined based on multiple configurable weightage factors, including a department associated with the request (e.g., applications created by one or more users or employees within a same department or team associated with the application server 140 may receive higher prioritization, ensuring relevance to the request), a popularity associated with an application (e.g., frequently used or highly-rated applications may be ranked higher, signifying their utility and reliability), a date associated with a creation and / or update of an application (e.g., applications that have been recently created or updated may receive a slight advantage to enhance relevance of information provided in response to the request).
[0084]
[0081] In an implementation, the request for an application may be sent as a query that is entered in an interface such as, for example, a search box available on a portal associated with the application server 140. The application server 140 processes the query and may be configured to display a ranked list of relevant applications in response to the request. Additional filters may be applied to narrow down results, such as filtering by department, creation date, date of a last update, application category, or other similar filters. A search result page may be generated in response to the request for an application that may offer a detailed description, usage statistics, direct access links to the apps, and other similar information that advantageously make it easy for a user to evaluate and deploy a desired application.
[0085]
[0082] Users can interact with the application server 140 via an interface such as, for example, an Al-operated chat in an operating system such as Linux, android, IOS, Windows, Slack, or other similar operating systems. By simply typing out a query (e.g., a request for an application), one or more recommendations can be received for the most relevant applications in response to the query. Further, LLM integration into the request processing advantageously allows the application server 140 to understand the context of the query and suggest one or more appropriate applications instantaneously. Actionable items may be provided in the response, such as direct links to application descriptions or usage guides, thus facilitating quick access and deployment. In an implementation, a best match application may be executed by the application server 140 immediately after processing the request for the application. To achieve this, the application server 140 may utilize a feature such as a chat completion tools feature. For example, after performing asemantic search and re-ranking based on various factors (e.g., name, description, department info, popularity, recency, or other similar factors), all these metadata may be sent to a LLM or Al-powered applications such ChatGPT, which may then be configured to pick a best tool to execute.
[0086]
[0083] In an implementation, users of the application server 140 may be able to tag their created applications with relevant keywords, aiding in the semantic indexing. Applications may be automatically categorized by the application server 140 based on their metadata and usage patterns. Applications managed by the application server 140 may be rated and reviewed by the users, advantageously providing valuable feedback that is integrated into a search ranking algorithm that may be employed by the application server 140. Application usage metrics, such as frequency and duration of use, may also be tracked by the application server 140 to identify popular applications and enhance their discoverability during a search process. The application server 140 may be further configured to maintain profiles of users to capture their preferences and past interactions, so as to improve application search results for each user. Based on user profiles, the application server 140 may be further configured to push personalized application suggestions, ensuring that users can discover the most relevant tools without needing to search for them actively.
[0087]
[0084] For example, a user such as an employee in a finance department associated with the application server 140 may want to search for an application to assist in month financial forecasting. The user may send a request for an application to the application server 140 by typing, for example, keyword “monthly financial forecasting” into a portal’s search box on an interface associated with the application server 140. The application server 140 (e.g., via the search module 264) may be configured to extract a semantic meaning of the request e.g., by determining metadata associated with the keyword “monthly financial forecasting”. A vector representing the determined metadata may be generated and semantically matched against one or more vector representations of application metadata that is stored in, for example, the reference database 150. In an implementation, the search may be a K-nearest neighbor (KNN) search on the stored one or more vectors for a match with the generated vector. In an implementation, an initial set of search results are retrieved (for example, an initial set of 20 applications that are identified based on the semantic matching) and these results may be ranked based on a degree of semantic similarity with the indicated keyword. Since the user is from the finance department (e.g., a profile for the user registered with the application server 140 indicates that the user isfrom the finance department), applications that are created by other employees in the finance department, highly rated finance forecasting applications, recently created and / or updated finance forecasting applications, and other similar applications may be re-ranked higher on the search result. The user is thus able to see a refined and prioritized list of relevant applications in response to the user’s request for an application, complete with descriptions and user ratings for each identified application in the search result list. It is then possible to select one of the identified applications to, for example, read more about the application, install the application, start using the application immediately, or other similar option. By implementing such robust search and discovery features, the present invention advantageously ensures that a user can easily navigate through a vast number of applications to find precisely which application is required, thereby amplifying productivity and collaboration within the organization.
[0088]
[0085] In an implementation, the input from the user for searching an application may be an image, a digital document, or other similar entity, in which the application server 140 (via the search module 264) may be configured to extract the image, text, and other elements of the input for processing by, for example, a MLLM service. In an implementation, a file or document may be downloaded and extracted based on the input from a user to facilitate for searching an application. These implementations advantageously enabling a more varied form of input from a user.
[0089]
[0086] Fig. 3 illustrates an example flow diagram for a method 300 for searching an application for a service according to various embodiments. In a step 302, metadata associated with a keyword indicated in a request for an application is determined. In a step 304, an application is identified in response to the request based on whether the determined metadata matches with metadata associated with the application.
[0090]
[0087] Fig. 4 illustrates an example flow diagram for a method 400 for creating an application for a service according to various embodiments. In a step 402, a request for creating an application is processed, the request defining a behaviour and a response for the application. In a step 404, the application is created based on the defined behaviour and response.
[0091]
[0088] Fig. 5 illustrates a further example flow diagram for a method 500 for creating an application for a service according to various embodiments. In a step 502, a request forcreating an application is processed, the request indicating a function to be performed by the application. In a step 504, the application is created based on the indicated function.
[0092]
[0089] Fig. 6 depicts an example computer system 1400, in accordance with which the application server 140 described can be practiced. The computer system 1400 includes a computer module 1401. An external Modulator-Demodulator (Modem) transceiver device 1416 may be used by the computer module 1401 for communicating to and from a communications network 1420 via a connection 1421. The communications network 1420 may be a wide-area network (WAN), such as the Internet, a cellular telecommunications network, or a private WAN. Where the connection 1421 is a telephone line, the modem 1416 may be a traditional “dial-up” modem. Alternatively, where the connection 1421 is a high capacity (e.g., cable) connection, the modem 1416 may be a broadband modem. A wireless modem may also be used for wireless connection to the communications network 1420.
[0093]
[0090] The computer module 1401 typically includes at least one processor unit 1405, and a memory unit 1406. For example, the memory unit 1406 may have semiconductor random access memory (RAM) and semiconductor read only memory (ROM). The computer module 1401 also includes an interface 1408 for the external modem 1416. In some implementations, the modem 1416 may be incorporated within the computer module 1401 , for example within the interface 1408. The computer module 1401 also has a local network interface 1411 , which permits coupling of the computer system 1400 via a connection 1423 to a local-area communications network 1422, known as a Local Area Network (LAN). As illustrated in Fig. 6, the local communications network 1422 may also couple to the wide network 1420 via a connection 1424, which would typically include a so-called “firewall” device or device of similar functionality. The local network interface 1411 may comprise an Ethernet circuit card, a Bluetooth® wireless arrangement or an IEEE 802.11 wireless arrangement; however, numerous other types of interfaces may be practiced for the interface 1411.
[0094]
[0091] The I / O interfaces 1408 may afford either or both of serial and parallel connectivity, the former typically being implemented according to the Universal Serial Bus (USB) standards and having corresponding USB connectors (not illustrated). Storage devices 1409 are provided and typically include a hard disk drive (HDD) 1410. Other storage devices such as a floppy disk drive and a magnetic tape drive (not illustrated) mayalso be used. An optical disk drive 1412 is typically provided to act as a non-volatile source of data. Portable memory devices, such optical disks, USB-RAM, portable, external hard drives, and floppy disks, for example, may be used as appropriate sources of data to the system 1400.
[0095]
[0092] The components 1405 to 1412 of the computer module 1401 typically communicate via an interconnected bus 1304 and in a manner that results in a conventional mode of operation of the computer system 1400 known to those in the relevant art. For example, the processor 1405 is coupled to the system bus 1404 using a connection 1418. Likewise, the memory 1406 and optical disk drive 1412 are coupled to the system bus 1404 by connections 1419. Examples of computers on which the described arrangements can be practiced include IBM-PC’s and compatibles, Sun Sparcstations, Apple or like computer systems.
[0096]
[0093] The methods 300, 400 and 500, where performed by the application server 140 may be implemented using the computer system 1400. The processes may be implemented as one or more software application programs 1433 executable within the computer system 1400. In particular, the methods 300, 400 and 500 are effected by instructions in the software 1433 that are carried out within the computer system 1400. The software instructions may be formed as one or more code modules, each for performing one or more particular tasks. The software may also be divided into two separate parts, in which a first part and the corresponding code modules performs the methods 300, 400 and 500 and a second part and the corresponding code modules manage a user interface between the first part and the user.
[0097]
[0094] The software may be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the computer system 1400 from the computer readable medium, and then executed by the computer system 1400. A computer readable medium having such software or computer program recorded on the computer readable medium is a computer program product. The use of the computer program product in the computer system 1400 preferably effects an advantageous apparatus for an application server 140.
[0098]
[0095] The software 1433 is typically stored in the HDD 1410 or the memory 1406. The software is loaded into the computer system 1400 from a computer readable medium, andexecuted by the computer system 1400. Thus, for example, the software 1433 may be stored on an optically readable disk storage medium (e.g., CD-ROM) 1425 that is read by the optical disk drive 1412. A computer readable medium having such software or computer program recorded on it is a computer program product. The use of the computer program product in the computer system 1400 preferably effects an apparatus for a application server 140.
[0099]
[0096] In some instances, the application programs 1433 may be supplied to the user encoded on one or more CD-ROMs 1425 and read via the corresponding drive 1412, or alternatively may be read by the user from the networks 1420 or 1422. Still further, the software can also be loaded into the computer system 1400 from other computer readable media. Computer readable storage media refers to any non-transitory tangible storage medium that provides recorded instructions and / or data to the computer system 1400 for execution and / or processing. Examples of such storage media include floppy disks, magnetic tape, optical disc, a hard disk drive, a ROM or integrated circuit, USB memory, a magneto-optical disk, or a computer readable card such as a PCMCIA card and the like, whether or not such devices are internal or external of the computer module 1401. Examples of transitory or non-tangible computer readable transmission media that may also participate in the provision of software, application programs, instructions and / or data to the computer module 1401 include radio or infra-red transmission channels as well as a network connection to another computer or networked device, and the Internet or Intranets including e-mail transmissions and information recorded on Websites and the like.
[0100]
[0097] The second part of the application programs 1433 and the corresponding code modules mentioned above may be executed to implement one or more graphical user interfaces (GUIs) to be rendered or otherwise represented upon a display. Through manipulation of typically a keyboard and a mouse, a user of the computer system 1400 and the application may manipulate the interface in a functionally adaptable manner to provide controlling commands and / or input to the applications associated with the GUI(s). Other forms of functionally adaptable user interfaces may also be implemented, such as an audio interface utilizing speech prompts output via loudspeakers and user voice commands input via a microphone.
[0098] It is to be understood that the structural context of the computer system 1400 (i.e., the application server 140) is presented merely by way of example. Therefore, in some arrangements, one or more features of the computer system 1400 may be omitted. Also, in some arrangements, one or more features of the computer system 1400 may be combined together. Additionally, in some arrangements, one or more features of the computer system 1400 may be split into one or more component parts.
[0101]
[0099] Fig. 8 shows an implementation of the transaction processing server 108. In this implementation, the transaction processing server 108 may be generally described as a physical device comprising at least one processor 802 and at least one memory 804 including computer program codes. The at least one memory 804 and the computer program codes are configured to, with the at least one processor 802, cause the transaction processing server 108 to facilitate the operations described in methods 300, 400 and 500. The transaction processing server 108 may also include a transaction processing module 806. The memory 804 stores computer program code that the processor 802 compiles to have transaction processing module 806 perform the respective functions.
[0102]
[0100] With reference to Fig. 1, the transaction processing module 806 performs the function of communicating with the requestor device 102 and the provider device 104; and the acquirer server 106 and the issuer server 110 to respectively receive and transmit a transaction for, for example, purchasing an application, purchasing a subscription service for an application, a request for a ride or delivery, or other similar messages. The transaction processing module 806 may be configured to process processes relating to a transaction account by forwarding data and information associated with a transaction for, for example, a travel-ordination request, purchasing of an application or a service (e.g., resulting from a request for an application, a request for creating an application, or other similar request) to the other servers in the system 100 such as the application server 140. In an example, the transaction processing server 108 may, instead of the requestor device 102 or provider device 104, transmit data relating to a purchase of a service, an item, or an application (e.g. a price for the service, item or application, a name of the purchased item, service or application, a time stamp indicating date and time of purchase, session ID, item ID, user ID, country / city ID, a price, and other similar data), to the application server 140. The transaction processing server 108 may use a variety of different protocols and procedures in order to process the payment and / or travel co-ordination requests. Itwill be appreciated that payment for a transaction may be made via a variety of methods such as credit cards, debit cards, digital wallets, buy-first pay-later schemes, and other similar payment methods. It will be appreciated that payment for a transaction may be made via a variety of methods such as credit cards, debit cards, digital wallets, buy-first pay-later schemes, and other similar payment.
[0103]
[0101] Fig. 9 shows an alternative implementation of the application server 140 (i.e., the computer system 1400). In the alternative implementation, application server 140 may be generally described as a physical device comprising at least one processor 902 and at least one memory 904 including computer program codes. The at least one memory 904 and the computer program codes are configured to, with the at least one processor 902, cause the application server 140 to perform the operations described in the method 700. The application server 140 may also include a data module 906, a creation module 908 and a search module 910. The memory 904 stores computer program code that the processor 902 compiles to have each of the modules 906 to 910 performs their respective functions.
[0104]
[0102] With reference to Figs. 1 to 5, the creation module 908 performs the function of processing a request for creating an application. The request may define a behaviour and a response for the application, and creating the application is based on the defined behaviour and response. The request for creating the application may further indicate a data source or plugin, and creating the application may further comprise configuring the application to access the data source or plugin. In an example, the request may indicate a function to be performed by the application; and creating the application may be based on the indicated function. The function may be one of invoking a LLM service, executing a plugin, performing a search, or running another application. The creation module 262 may be configured to modify the created application to include a further function. The creation module may be configured to receive the request for creating the application via a chat interface, and processing the request utilizing a LLM or other similar model.
[0105]
[0103] With reference to Figs. 1 to 5, the search module 910 performs the function of determining metadata associated with a keyword indicated in a request for an application, and identify an application in response to the request based on whether the determined metadata matches with metadata associated with the application. Determining the metadata associated with the keyword may further comprise generating a vector basedon the determined metadata. Identifying the application may further comprise identifying a vector representing the metadata associated with the application that matches the generated vector. The search module may further comprise Identifying the application based on a department, a team, a ranking or popularity associated with the application.
[0106]
[0104] With reference to Figs. 1 to 5, the data module 906 performs the functions of receiving data and information from the requestor device 102, provider device 104, transaction processing server 108, reference database 150, a cloud and other sources of information to manage an application. For example, the data module 906 may be configured to receive data and information required for: determining metadata associated with a keyword indicated in a request for an application, and identifying an application in response to the request based on whether the determined metadata matches with metadata associated with the application; generating a vector based on the determined metadata; identifying a vector representing the metadata associated with the application that matches the generated vector; identifying the application based on a department, a team, a ranking or popularity associated with the application; processing a request for creating an application, the request defining a behaviour and a response for the application, and creating the application based on the defined behaviour and response; configuring the application to access a data source or plugin indicated in the request for creating an application; processing, by the processor, a request for creating an application, the request indicating a function to be performed by the application, and creating the application based on the indicated function, wherein the function may be one of invoking a LLM service, executing a plugin, performing a search, or running another application; modifying the created application to include a further function; receiving the request for creating the application via a chat interface, and processing the request utilizing a LLM; and other similar processes, from the requestor device 102, the provider device 104, transaction processing server 108, reference database 150, and / or other sources of information. The data module 906 may be further configured to send information relating to data retrieved in response to a request for an application or a request for creating an application made by a user to the requestor device 102, the provider device 104, the transaction processing server 108, or other destinations where the information is required.
[0107]
[0105] Fig. 7 depicts a general-purpose computer system 1500, upon which a combined transaction processing server 108 and application server 140 described can be practiced. The computer system 1500 includes a computer module 1501. An external Modulator-Demodulator (Modem) transceiver device 1516 may be used by the computer module 1501 for communicating to and from a communications network 1520 via a connection 1521. The communications network 1520 may be a wide-area network (WAN), such as the Internet, a cellular telecommunications network, or a private WAN. Where the connection 1521 is a telephone line, the modem 1516 may be a traditional “dialup” modem. Alternatively, where the connection 1521 is a high capacity (e.g., cable) connection, the modem 1516 may be a broadband modem. A wireless modem may also be used for wireless connection to the communications network 1520.
[0108]
[0106] The computer module 1501 typically includes at least one processor unit 1505, and a memory unit 1506. For example, the memory unit 1506 may have semiconductor random access memory (RAM) and semiconductor read only memory (ROM). The computer module 1501 also includes an interface 1508 for the external modem 1516. In some implementations, the modem 1516 may be incorporated within the computer module 1501 , for example within the interface 1508. The computer module 1501 also has a local network interface 1511 , which permits coupling of the computer system 1500 via a connection 1523 to a local-area communications network 1522, known as a Local Area Network (LAN). As illustrated in Fig. 7, the local communications network 1522 may also couple to the wide network 1520 via a connection 1524, which would typically include a so-called “firewall” device or device of similar functionality. The local network interface 1511 may comprise an Ethernet circuit card, a Bluetooth® wireless arrangement or an IEEE 802.11 wireless arrangement; however, numerous other types of interfaces may be practiced for the interface 1511.
[0109]
[0107] The I / O interfaces 1508 may afford either or both of serial and parallel connectivity, the former typically being implemented according to the Universal Serial Bus (USB) standards and having corresponding USB connectors (not illustrated). Storage devices 1509 are provided and typically include a hard disk drive (HDD) 1510. Other storage devices such as a floppy disk drive and a magnetic tape drive (not illustrated) may also be used. An optical disk drive 1512 is typically provided to act as a non-volatile source of data. Portable memory devices, such optical disks, USB-RAM, portable, external hard drives, and floppy disks, for example, may be used as appropriate sources of data to the system 1500.
[0108] The components 1505 to 1512 of the computer module 1501 typically communicate via an interconnected bus 1504 and in a manner that results in a conventional mode of operation of the computer system 1500 known to those in the relevant art. For example, the processor 1505 is coupled to the system bus 1504 using a connection 1518. Likewise, the memory 1506 and optical disk drive 1512 are coupled to the system bus 1504 by connections 1519. Examples of computers on which the described arrangements can be practised include IBM-PC’s and compatibles, Sun Sparcstations, Apple or like computer systems.
[0110]
[0109] The steps of the methods 300, 400 and 500 performed by the application server 140 and facilitated by the transaction processing server 108 may be implemented using the computer system 1500. For example, the steps of the methods 300, 400 and 500 as performed by the application server 140 may be implemented as one or more software application programs 1533 executable within the computer system 1500. In particular, the steps of the methods 300, 400 and 500 are effected by instructions in the software 1533 that are carried out within the computer system 1500. The software instructions may be formed as one or more code modules, each for performing one or more particular tasks. The software may also be divided into two separate parts, in which a first part and the corresponding code modules performs the steps of the methods 300, 400 and 500, and a second part and the corresponding code modules manage a user interface between the first part and the user.
[0111]
[0110] The software may be stored in a computer readable medium, including the storage devices described below, for example. The software is loaded into the computer system 1500 from the computer readable medium, and then executed by the computer system 1500. A computer readable medium having such software or computer program recorded on the computer readable medium is a computer program product. The use of the computer program product in the computer system 1500 preferably effects an advantageous apparatus for a combined transaction processing and application server.
[0112]
[0111] The software 1533 is typically stored in the HDD 1510 or the memory 1506. The software is loaded into the computer system 1500 from a computer readable medium, and executed by the computer system 1500. Thus, for example, the software 1533 may be stored on an optically readable disk storage medium (e.g., CD-ROM) 1525 that is read by the optical disk drive 1512. A computer readable medium having such software orcomputer program recorded on it is a computer program product. The use of the computer program product in the computer system 1500 preferably effects an apparatus for a combined transaction processing and application server.
[0113]
[0112] In some instances, the application programs 1533 may be supplied to the user encoded on one or more CD-ROMs 1525 and read via the corresponding drive 1512, or alternatively may be read by the user from the networks 1520 or 1522. Still further, the software can also be loaded into the computer system 1500 from other computer readable media. Computer readable storage media refers to any non-transitory tangible storage medium that provides recorded instructions and / or data to the computer system 1500 for execution and / or processing. Examples of such storage media include floppy disks, magnetic tape, optical disc, a hard disk drive, a ROM or integrated circuit, USB memory, a magneto-optical disk, or a computer readable card such as a PCMCIA card and the like, whether or not such devices are internal or external of the computer module 1501. Examples of transitory or non-tangible computer readable transmission media that may also participate in the provision of software, application programs, instructions and / or data to the computer module 1501 include radio or infra-red transmission channels as well as a network connection to another computer or networked device, and the Internet or Intranets including e-mail transmissions and information recorded on Websites and the like.
[0114]
[0113] The second part of the application programs 1533 and the corresponding code modules mentioned above may be executed to implement one or more graphical user interfaces (GUIs) to be rendered or otherwise represented upon a display. Through manipulation of typically a keyboard and a mouse, a user of the computer system 1500 and the application may manipulate the interface in a functionally adaptable manner to provide controlling commands and / or input to the applications associated with the GUI(s). Other forms of functionally adaptable user interfaces may also be implemented, such as an audio interface utilizing speech prompts output via loudspeakers and user voice commands input via a microphone.
[0115]
[0114] It is to be understood that the structural context of the computer system 1500 (i.e., combined transaction processing and application server 1500) is presented merely by way of example. Therefore, in some arrangements, one or more features of the server 1500 may be omitted. Also, in some arrangements, one or more features of the server 1500may be combined together. Additionally, in some arrangements, one or more features of the server 1500 may be split into one or more component parts.
[0116]
[0115] Fig. 10 shows an alternative implementation of combined transaction processing and application server (i.e., the computer system 1500). In the alternative implementation, the combined transaction processing and application server may be generally described as a physical device comprising at least one processor 1002 and at least one memory 904 including computer program codes. The at least one memory 1004 and the computer program codes are configured to, with the at least one processor 1002, cause the combined transaction processing and application server to perform the operations described in the steps of the methods 300, 400 and 500. The combined transaction processing and application server may also include a transaction processing module 806, a data module 906, a creation module 908 and a search module 910. The memory 1004 stores computer program code that the processor 1002 compiles to have each of the modules 806 to 912 perform their respective functions. The transaction processing module 806 performs the same functions as described for the same transaction processing module in Fig. 8. The data module 906, creation module 908 and search module 910 perform the same functions as described for the same corresponding modules in Fig. 9.
[0117]
[0116] It will be appreciated by a person skilled in the art that numerous variations and / or modifications may be made to the present disclosure as shown in the specific embodiments without departing from the scope of the specification as broadly described. The present embodiments are, therefore, to be considered in all respects to be illustrative and not restrictive.
Claims
CLAIMSWhat is claimed is:
1. A method for managing an application, comprising:determining, by a processor, metadata associated with a keyword indicated in a request for an application;identifying, by the processor, an application in response to the request based on whether the determined metadata matches with metadata associated with the application;processing, by the processor, a request for creating an application, the request defining a behaviour and a response for the application, or indicating a function to be performed by the application; andcreating, by the processor, the application based on the defined behaviour and response, or based on the indicated function.
2. The method of claim 1 , wherein determining the metadata associated with the keyword further comprises generating a vector based on the determined metadata.
3. The method of claim 2, wherein identifying the application further comprises identifying a vector representing the metadata associated with the application that matches the generated vector.
4. The method of claim 1 , further comprising identifying the application based on a department, a team, a ranking or popularity associated with the application.
5. The method of claim 1 , wherein the request for creating the application further indicates a data source or plugin, and creating the application further comprises configuring the application to access the data source or plugin.
6. The method of claim 1 , wherein the function is one of invoking a large language model (LLM) service, executing a plugin, performing a search, or running another application.
7. The method of claim 1 , further comprising modifying the created application to include a further function.
8. The method of claim 1 , further comprising receiving the request for creating the application via a chat interface, and processing the request utilizing a large language model (LLM).
9. A system for managing an application, comprising:at least one processor; andat least one memory including computer program code; the at least one memory and the computer program code configured to, with at least one processor, cause the system at least to:determine metadata associated with a keyword indicated in a request for an application; andidentify an application in response to the request based on whether the determined metadata matches with metadata associated with the application;process a request for creating an application, the request defining a behaviour and a response for the application, or indicating a function to be performed by the application; andcreate the application based on the defined behaviour and response, or based on the indicated function.
10. The system of claim 9, wherein determining the metadata associated with the keyword further comprises generating a vector based on the determined metadata.
11. The system of claim 10, wherein identifying the application further comprises identifying a vector representing the metadata associated with the application that matches the generated vector.
12. The system of claim 9, further configured to identify the application based on a department, a team, a ranking or popularity associated with the application.
13. The system of claim 9, wherein the request for creating the application further indicates a data source or plugin, and creating the application further comprises configuring the application to access the data source or plugin.
14. The system of claim 9, wherein the function is one of invoking a large language model (LLM) service, executing a plugin, performing a search, or running another application.
15. The system of claim 9, further configured to modify the created application to include a further function.
16. The system of claim 9, further configured to receive the request for creating the application via a chat interface, and process the request utilizing a LLM model.