Systems and methods for creating URLs that will not expire

The service catalog application creates custom URLs with unlimited expiration dates for S3 object storage, addressing security risks by redirecting users through S3-signed URLs with limited times, ensuring continuous access and security.

JP2025535059AActive Publication Date: 2025-10-22RAKUTEN MOBILE INC
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2025519767
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2022-12-21
Publication Date
2025-10-22
Estimated Expiration
2042-12-21

AI Technical Summary

Technical Problem

Existing systems cannot generate URLs with unlimited expiration dates for S3 object storage, posing security risks due to the need for limited expiration times and potential exposure of security keys.

Method used

A service catalog application generates custom URLs with an unlimited expiration date by redirecting users through a layer on top of S3-signed URLs, ensuring security keys are not exposed and allowing access to user artifacts without exposing the entire S3 object database.

Benefits of technology

Users can access their artifacts indefinitely without risking security key exposure, as the custom-generated URLs redirect to S3-signed URLs with limited expiration times, maintaining security and accessibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025535059000001_ABST
    Figure 2025535059000001_ABST
Patent Text Reader

Abstract

A method for creating non-expiring uniform resource locators (URLs) includes receiving, at a service catalog application, one or more registration POST application programming interface (API) calls; processing, by the service catalog application, each payload included in the one or more registrations included in the POST API calls; storing, by the service catalog application, one or more artifacts corresponding to the one or more registrations in object storage; generating, by the service catalog application, one or more custom URLs corresponding to the artifact buckets and artifact file paths; registering, by the service catalog application, the one or more custom URLs in a database; and sending, by the service catalog application, a response payload including the one or more custom URLs to a user.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This description relates to a system and method for creating URLs that do not expire. [Background technology]

[0002] A cellular network is a telecommunications system in which mobile devices (e.g., mobile phone devices) communicate over radio waves through one or more local antennas at a cellular base station (e.g., cell tower). Cellular service is provided to a coverage area divided into small geographic areas called cells. Each cell is served by a separate low-power multi-channel transceiver and antenna at the cell tower. Mobile devices within a cell communicate through that cell's antenna on multiple frequency channels and individual frequency channels assigned by the base station from a common pool of frequencies used by the cellular network.

[0003] A radio access network (RAN) is the part of a communications system that implements radio access technology. The RAN resides between devices such as mobile phones, computers, or remote control machines and provides connectivity to a core network (CN). Depending on the standard, mobile phones and other wirelessly connected devices are variously known as user equipment (UE), terminal equipment (TE), mobile stations (MS), etc. Summary of the Invention [Means for solving the problem]

[0004] In some embodiments, a method for creating non-expiring uniform resource locators (URLs) includes receiving, at a service catalog application, one or more registration POST application programming interface (API) calls; processing, by the service catalog application, each payload included in the one or more registrations included in the POST API calls; storing, by the service catalog application, one or more artifacts corresponding to the one or more registrations in object storage; generating, by the service catalog application, one or more custom URLs corresponding to the artifact buckets and artifact file paths; registering, by the service catalog application, the one or more custom URLs in a database; and sending, by the service catalog application, a response payload including the one or more custom URLs to a user.

[0005] In some embodiments, an apparatus includes a processor and memory having instructions stored thereon that, in response to being executed by the processor, cause the processor to receive, at a service catalog application, one or more registration POST application programming interface (API) calls; process, by the service catalog application, each payload included in the one or more registrations included in the POST API calls; store, by the service catalog application, one or more artifacts corresponding to the one or more registrations in object storage; generate, by the service catalog application, one or more custom URLs corresponding to the artifact buckets and artifact file paths; register, by the service catalog application, the one or more custom URLs in a database; and send, by the service catalog application, a response payload including the one or more custom URLs to a user.

[0006] In some embodiments, a non-transitory computer-readable medium has instructions stored thereon that, in response to being executed by a processor, cause the processor to receive, at a service catalog application, one or more registration POST application programming interface (API) calls; process, by the service catalog application, each payload included in the one or more registrations included in the POST API calls; store, by the service catalog application, one or more artifacts corresponding to the one or more registrations in object storage; generate, by the service catalog application, one or more custom URLs corresponding to the artifact buckets and artifact file paths; register, by the service catalog application, the one or more custom URLs in a database; and send, by the service catalog application, a response payload including the one or more custom URLs to a user.

[0007] Aspects of the present disclosure can be understood from the following detailed description when read in conjunction with the accompanying drawings. In accordance with standard industry practice, various features are not drawn to scale. In some embodiments, the dimensions of various features have been arbitrarily increased or decreased for clarity of discussion. [Brief explanation of the drawings]

[0008] [Figure 1] 1 is a diagrammatic representation of a system for network slice design (NSD), according to some embodiments. [Figure 2] 1 is a diagram of a universal network service (NS) bundle, according to some embodiments. [Figure 3] FIG. 1 is a data flow diagram of a method for policy onboarding integration, according to some embodiments. [Figure 4] FIG. 1 is a data flow diagram of a method for creating a non-expiring URL, according to some embodiments. [Figure 5] FIG. 1 is a data flow diagram of a method for accessing an artifact after a URL has expired, according to some embodiments. [Figure 6] FIG. 1 is a high-level functional block diagram of a processor-based system according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0009] The following disclosure provides many different embodiments or examples for implementing the particular features of the discussed subject matter. To simplify the embodiments, example components, values, operations, materials, arrangements, and the like are described below. These are, of course, examples and are not intended to be limiting. Other components, values, operations, materials, arrangements, and the like are contemplated. For example, forming a first feature over a second feature in the following description includes embodiments in which the first and second features are formed in direct contact, and further includes embodiments in which an additional feature is formed between the first and second features such that the first and second features cannot be in direct contact. Additionally, some embodiments repeat reference numerals and / or letters in multiple instances. This repetition is for brevity and clarity and is not intended to dictate a relationship between the various embodiments and / or configurations discussed.

[0010] Additionally, spatially relative terms such as "bottom," "lower," "lower side," "upper," and the like are used herein for ease of description to describe the relationship of one element or feature to another element or feature as shown in the figures. The spatially relative terms are intended to encompass different orientations of the device in use or operation in addition to the orientation shown in the figures. The device may be otherwise oriented (rotated 90 degrees or at other orientations) and the spatially relative descriptors used herein interpreted accordingly.

[0011] A network service (NS) bundle is a bundle that includes technical services, configurations, manifest files, or other suitable services and files within some embodiments. Technical services are further subdivided into different network service descriptors (NSDs) and virtualized network function descriptors (VNFDs). VNFDs are created in application bundles.

[0012] An application bundle file is a single relocatable file containing artifacts for running an application. The application bundle file is configured to run on an instance (or instantiation). Moving the application bundle file relocates the application file. With the exception of system libraries, the application bundle file contains toolkit artifacts configured to be used to run the application. The application does not access external toolkits when running on an execution host (e.g., a smartphone used by a subscriber). Logically, an application bundle file includes the application directory and a portion of the output directory, as well as subdirectories from toolkits contributed to the application. When an application bundle file is submitted for execution, it is deployed to the host where the application runs. The application bundle file is then unbundled into a runtime application directory hierarchy similar to the compile-time hierarchy that added any external toolkit entities. The application bundle file has an identifier that uniquely distinguishes one build of the application from another. When an application bundle file is submitted for execution, the identifier is used to check whether another instance of the same application is already running, and in response, the identifier shares an unbundled execution location. In this case, the same runtime application directory hierarchy is used to execute a given application bundle file.

[0013] A Network Service Descriptor (NSD) is a deployment template containing information used by a network function virtualization orchestrator (NFVO) for the life cycle management (LCM) of a Network Service (NS). An NS is a configuration of network functions (NFs or applications) arranged as a set of functions with unspecified connectivity between NFs or according to one or more forwarding graphs.

[0014] A network slice (a portion of the original network architecture that has been divided or sliced ​​into multiple logical and independent networks configured to efficiently meet different service requirements) is divided into subnets, where each subnet is dedicated to a domain (e.g., RAN, CN, transport domain, or end-to-end (E2E) domain, each of which includes). A transport domain refers to the telecommunications transmission facility under which voice, data, and video communications are distributed between distant locations for use on a shared basis.

[0015] Within a subnet, there are one or more NSs or bundles of NSs. Within an NS, there are one or more NFs or bundles of NFs. The Orchestrator Bundle Catalog (orchestration is the automated configuration, coordination, and management of computer systems and software) registers application bundles (e.g., bundles containing the executable code of an application and its associated resources). The Onboarding Service creates a bundle / package object in the central inventory. The Onboarding Service sends a request to the Policy Manager to create a policy descriptor file (without the source element universally unique identifier (UUID), which is a 128-bit label used for computer system information).

[0016] The policy manager determines the degree to which a service / device is allowed to do what it is trying / requesting (decision) and can then enforce the decision (enforcement). Some examples of policies include (1) is a customer allowed to use this service? (2) is there enough capacity to support this new service? (3) what happens to non-SLA (Service Level Agreement) customers when a node approaches congestion? (4) is a service request / activity a security threat?

[0017] The policy manager sends the policy ID back to the orchestrator, which stores the policy ID along with the package ID. An NF instantiation request is received from a user (e.g., instantiate an NF using an NFT (Network Function Template) that contains a policy descriptor file with the policy ID).

[0018] An instance is created in the central inventory. The Orchestrator deploys the NF / application and sends a notification to the Policy Manager to enable the policy with the respective policy ID. The policy file is modified with the pending information (such as source element UUID). After modifying the pending information, the descriptor is referred to as a policy template. The policy template is now ready for activation by the user.

[0019] In some embodiments, systems and methods are described for creating non-expiring uniform resource locators (URLs). In some embodiments, systems and methods are described for creating non-expiring URLs to extend the expiration date of signed URLs from a storage solution. In some embodiments, systems and methods are described for creating non-expiring URLs to extend the expiration date of signed URLs from an on-demand cloud computing platform S3 storage solution. For purposes of describing the embodiments, S3 storage, S3 object storage, or S3-compliant object storage are used interchangeably. In some embodiments, S3 object storage, S3 storage, or S3-compliant object storage includes all object storage that complies with the S3 (Application Programming Interface) API.

[0020] A URL, commonly called a web address, is a reference to a web resource that specifies its location on a computer network and a mechanism for retrieving the web resource. A URL is a type of uniform resource identifier (URI), but the two terms are used interchangeably. URLs most commonly occur to reference web pages (Hypertext Transfer Protocol (HTTP)), but are also used for file transfer (FTP), email (mailto), database access (Java Database Connectivity (JDBC)), and many other applications. Most web browsers display the URL of a web page above the page in the address bar. A typical URL is constructed to have the form http: / / www.example.com / index.html, indicating the protocol (http), hostname (www.example.com), and filename (index.html).

[0021] Users who do not have full on-demand cloud computing platform credentials or permission to access an S3 object are granted temporary access by using a signed URL. A signed URL is generated for an on-demand cloud computing platform user who has access to the object. The generated URL is then given to the authorized user. The signed URL is entered in a browser or used by a program or HTML web page. The credentials used by the signed URL are those of the on-demand cloud computing platform user who generated the URL. The signed URL remains valid for a limited period of time specified when the URL was generated.

[0022] The on-demand cloud computing platform service provides object storage through a web services interface. The on-demand cloud computing platform S3 stores many types of objects, enabling uses such as storage for internet applications, backup, disaster recovery, data archiving, data lakes for analytics, and hybrid cloud storage. The on-demand cloud computing platform S3 manages data using an object storage architecture that provides scalability, high availability (HA), and low latency with high durability. The on-demand cloud computing platform S3's storage units are objects organized into buckets. Each object is identified by a unique, user-assigned key. Buckets are managed using a console provided by the on-demand cloud computing platform S3, programmatically using the on-demand cloud computing platform software development kit (SDK), the REST application programming interface (API), the REST API from code, the REST API from the command line, or the REST API from a browser. Objects can be up to 5 terabytes in size. Requests are authorized using an access control list associated with each object bucket and support versioning, which is disabled by default. The on-demand cloud computing platform authentication mechanism enables the creation of an authentication URL that is valid for a specified amount of time. Each item in the bucket is further served as a BitTorrent feed. The on-demand cloud computing platform S3 acts as a seed host for the torrent, allowing any BitTorrent client to retrieve the files. This significantly reduces the bandwidth costs of downloading popular objects. The bucket is configured to store HTTP log information in a sibling bucket.

[0023] In some embodiments, a user registers a bundle / template / descriptor via a POST API call. In computing, POST is a request method supported by HTTP, which is used by the World Wide Web (www). By design, the POST request method requests that a web server accept data enclosed in the body of a request message, which the server will most likely store (e.g., payload). POST calls are often used when uploading files or submitting completed web forms. As part of a POST request, any quantity of data of any type is sent to the server in the body of the request message. A header field in a POST request typically indicates the Internet media type of the message body.

[0024] In some embodiments, the service catalog application processes the payload and stores the artifact in S3 object storage. In computing and telecommunications, the payload is a portion of the transmitted data that is the intended message. Headers and metadata are transmitted to enable payload delivery. Object storage (also known as object-based storage) is computer data storage that manages data as objects, as opposed to other storage architectures such as file systems, which manage data as a hierarchy of files, and block storage, which manages data as blocks within sectors and tracks. Each object typically contains data, a variable amount of metadata, and a globally unique identifier. Object storage is implemented at multiple levels, including the device level (object storage device), the system level, and the interface level. In either case, object storage attempts to enable capabilities not addressed by other storage architectures, such as interfaces directly programmable by applications, namespaces that span multiple instances of physical hardware, and data management features such as data replication and data distribution at object-level granularity. Object storage systems enable the retention of large amounts of unstructured data, where data is written once and read one (or multiple) times. Object storage is used for purposes such as storing objects such as videos and photos, or files for online collaboration services.

[0025] In another approach, the service catalog requests S3 signed URLs with expiry times from an S3 function that generates signed URLs with limited expiry times. The service catalog then receives the S3 signed URLs with expiry times from the S3 function. The service catalog registers the S3 signed URLs with expiry times in its database along with payload artifacts. Artifacts are separate documents that make up the architecture. Artifacts provide a description of the organization from various perspectives that are important to different parties. Artifacts are intended to improve communication between different parties.

[0026] In another approach, a response payload is sent to the user with an S3 signed URL link for the artifact. In response to the expiration date passing, a user attempting to download the file from S3 object storage using the S3 signed URL provided by the service catalog receives a failure indication informing the user that the URL is invalid or expired.

[0027] Service Catalog generates signed URLs for S3 object storage for registered artifacts during bundle / template / descriptor onboarding. Other approaches do not provide a solution to provide signed URLs with unlimited expiry time to ensure that the URLs remain accessible for the entire period that the files are stored in s3 object storage.

[0028] URLs configured with an expiration date pose a problem. S3 signed URLs are generated using an access key and secret key, and it is not possible to create a URL with an infinite expiration date. Furthermore, S3 signed URLs with an infinite expiration date create the risk of exposing the security key. S3 signed URLs cannot be exposed for long periods of time, as this could allow hackers to access the base of the system. Therefore, S3 signed URLs cannot be used in response to the creation of an extended expiration date, as the signed URLs generated by S3 include a signed security header.

[0029] It is useful for users to have access to the artifacts registered by them at any time. However, the security key cannot be shared with the user, and the file path also helps the user to access the artifacts in response to the S3 generated signed URL given to the user.

[0030] In some embodiments, a feature is developed that allows URLs for accessing user files in S3 object storage to be configured with an unlimited expiration date. At the same time, security keys are not exposed, and URLs generated by the service catalog for each artifact do not include security headers, so there is no risk of exposing the system. Therefore, in some embodiments, a solution is presented that provides unlimited expiration dates for S3 URLs.

[0031] In some embodiments, the service catalog custom API URL for each artifact is created with the following formula: {Service catalog endpoint} / api / v1 / storage / s3 / {bucket name where the file resides} / {path to the file}

[0032] An API is a way for two or more computer programs to communicate with each other. An API is a type of software interface that provides services to other software. In contrast to a user interface, which connects a computer to a person, an application programming interface connects computers or software to each other. An API is not intended to be used directly by anyone other than the computer programmer who built it into the software (end user). An API is often composed of different parts that function as tools or services available to programmers. A program or programmer using one of these parts is said to call that part of the API. The calls that make up an API are also known as subroutines, methods, requests, or endpoints. An API specification describes these calls, meaning that an API specification explains how to use or implement an API. The term API is often used to refer to web APIs, which enable communication between computers connected by the Internet. There are also APIs for programming languages, software libraries, computer operating systems, and computer hardware.

[0033] The above expression is a common API that is called when a user clicks / downloads a service catalog generated URL to download a specific artifact. When this API is triggered, the API will internally call / redirect to an S3 function by providing the access key and security key to create an S3 signed URL with expiry time limited to "X seconds".

[0034] In some embodiments, a layer is created on top of S3-signed URLs, where service catalog-generated URLs are accessed at any time and the service catalog-generated URLs do not expire. When a user clicks on a service catalog-generated URL (point-and-click is when a user moves a pointer to a specific location on the screen (pointing) and then presses a button on a mouse, usually the left button (click) or other pointing device), the user is redirected to an S3-signed URL generated on the fly and with a limited expiration time. In this way, in response to a user downloading a file, the redirected URL expires in "X seconds." Therefore, the security key is not exposed for an unlimited time. Furthermore, when the security key is changed, the service catalog ensures that the new key is used to generate the redirected URL. The service catalog-generated URL used by the user remains the same. Therefore, the user is not affected.

[0035] In some embodiments, once a user is granted access to the service catalog, the user can access and download artifacts. Access to the S3 object database is removed from the process. In this way, the user has access to their artifacts, not the entire S3 object database where artifacts are stored by many other, possibly unrelated and unknown, users.

[0036] In some embodiments, users register bundles / templates / descriptors via a POST API call. The service catalog processes the payload and stores the artifacts in S3 object storage. The service catalog then generates a URL for each artifact. The URL is a custom URL according to the following formula: {Service catalog endpoint} / api / v1 / storage / s3 / {bucket name where the file resides} / {path to the file}

[0037] The storage catalog then registers the custom-generated URLs for the artifacts in its database, and the service catalog sends a response payload to the user with the custom-generated URL links for each artifact.

[0038] In some embodiments, in response to a user desiring to download a file from S3 object storage after its expiration date using a custom-generated URL provided by the service catalog (the custom URL is the catalog endpoint), the request proceeds to the service catalog instead of the S3 object storage. The service catalog then generates an S3 signed URL for the bucket name and file path of the custom URL provided in the POST API call. An S3 function then returns the signed URL for the bucket name and file path provided in the POST API call. The service catalog redirects the API and internally invokes the generated signed URL. Each artifact is then successfully downloaded for the user.

[0039] FIG. 1 is a diagrammatic representation of a system for network slice design (NSD) 100, according to some embodiments.

[0040] The NSD system 100 includes a CN 102 communicatively connected to a RAN 104 via a transport network 106 communicatively connected to base stations 108A and 108B (hereinafter, base stations 108), where antennas 110 are wirelessly connected to UEs 112 located within geographic coverage cells 114A and 114B (hereinafter, geographic coverage cells 114). The CN 102 includes one or more service providers 116, a KPI server 118, and a service builder module 120.

[0041] The CN 102 (also known as a backbone) is the portion of a computer network that interconnects networks, providing a pathway for exchanging information between different local area networks (LANs) or sub-networks. In some embodiments, the CN 102 ties diverse networks together across a wide geographic area, within different buildings in a campus environment, or within the same building.

[0042] In some embodiments, the RAN 104 is a global system for mobile communications (GSM) RAN, a GSM / EDGE RAN, a universal mobile telecommunications system (UMTS) RAN (UTRAN), an evolved UMTS terrestrial radio access network (E-UTRAN), an Open RAN (O-RAN), or a Cloud RAN (C-RAN). The RAN 104 resides between the UE 112 (e.g., a mobile phone, a computer, or any remote control machine) and the CN 102. In some embodiments, the RAN 104 is a C-RAN for simplified representation and explanation. In some embodiments, base band units (BBUs) replace the C-RAN.

[0043] In a hierarchical telecommunications network, the transport network 106 of the NSD system 100 includes intermediate links between the CN 102 and the RAN 104. The two main methods in mobile backhaul implementations are fiber-based backhaul and wireless point-to-point backhaul. Other methods, such as copper-based wireline, satellite communications, and point-to-multipoint wireless technologies, are being phased out as capacity and latency requirements become higher in 4G and 5G networks. Backhaul refers to the network side that communicates with the Internet. The connection between the base station 108 and the UE 112 begins with the transport network 106 connected to the CN 102. In some embodiments, the transport network 106 includes wireline, fiber optic, and wireless components. The wireless section includes using microwave band, mesh, and edge network topologies that use high-capacity wireless channels to send packets to microwave or fiber links.

[0044] In some embodiments, the base station 108 is a lattice or self-supporting tower, a guy tower, a monopole tower, and a hidden tower (e.g., a tower designed to resemble a tree, a cactus, a water tower, a sign, a lighting standard, and other types of structures). In some embodiments, the base station 108 is a cellular-enabled mobile device site where antennas and electronic communications equipment are typically located on a radio mast, tower, or other elevated structure to create a cell (or adjacent cells) in the network. The elevated structure typically supports antenna(s) 110 and one or more sets of transmitters / receivers (transceivers), digital signal processors, control electronics, remote radio heads (RRHs), primary and backup power sources, and shelters. Base stations are known by other names, such as a transceiver base station, a mobile telephone mast, or a cellular base station. In some embodiments, other edge devices are configured to wirelessly communicate with the UEs. The edge devices provide an entry point to a service provider CN, such as the CN 102. Examples include routers, routing switches, integrated access devices (IADs), multiplexers, and various metropolitan area network (MAN) and wide area network (WAN) access devices.

[0045] In at least one embodiment, antenna 110 is a sector antenna. In some embodiments, antenna 110 is a type of directional microwave antenna with a sector-shaped radiation pattern. In some embodiments, the sector angle of the arc is a 60°, 90°, or 120° design, with a few extra degrees to ensure overlap. Additionally, sector antennas are mounted in multiples if wider or full-circle coverage is desired. In some embodiments, antenna 110 is a rectangular antenna, sometimes called a panel antenna or radio antenna, used to transmit and receive waves or data between mobile devices or other devices and base stations. In some embodiments, antenna 110 is a circular antenna. In some embodiments, antenna 110 operates at microwave or ultra-high frequency (UHF) frequencies (300 MHz to 3 GHz). In other examples, antennas 110 are selected for their size and directionality. In some embodiments, antenna 110 is a MIMO (multiple-input multiple-output) antenna that simultaneously transmits and receives two or more data signals over the same wireless channel by taking advantage of multipath propagation.

[0046] In some embodiments, the UE 112 is a computer or computing system. Additionally or alternatively, the UE 112 has a liquid crystal display (LCD), light emitting diode (LED), or organic light emitting diode (OLED) screen interface, such as a user interface (UI) 622 ( FIG. 6 ), which provides a touchscreen interface with physical buttons along with digital buttons and a keyboard or a physical keyboard. In some embodiments, the UE 112 connects to the Internet and interconnects with other devices. Additionally or alternatively, the UE 112 incorporates an integrated camera, functionality for making and receiving voice and video phone calls, video games, and global positioning system (GPS) capabilities. Additionally or alternatively, the UE runs an operating system (OS) that allows capability-specific third-party apps to be installed and executed. In some embodiments, the UE 112 is a computer (such as a tablet computer, netbook, digital media player, digital assistant, graphing calculator, handheld game console, handheld personal computer (PC), laptop, mobile internet device (MID), personal digital assistant (PDA), pocket calculator, portable media player, or ultra-mobile PC), a mobile phone (such as a camera phone, feature phone, smartphone, or phablet), a digital camera (such as a digital camcorder, or digital still camera (DSC), digital video camera (DVC), or front-facing camera), a pager, a personal navigation device (PND), a wearable computer (such as a calculator watch, smartwatch, head-mounted display, earphones, or biometric device), or a smart card.

[0047] In some embodiments, the geographic coverage cell 114 includes a shape and size. In some embodiments, the geographic coverage cell 114 is a macrocell (covering 1 Km to 30 Km), a microcell (covering 200 m to 2 Km), or a picocell (covering 4 m to 200 m). In some embodiments, the geographic coverage cell is circular, oval (FIG. 1), sector, or lobe shaped, although the geographic coverage cell 114 may be configured in almost any shape or size. The geographic coverage cell 114 represents the geographic area in which the antennas 110 and the UEs 112 are configured to communicate.

[0048] A service provider 116 or CSP is a company, vendor, customer, or organization that provides Internet backbone access directly to Internet service providers and sells bandwidth or network access to subscribers (using UEs), usually through access to a Network Access Point (NAP). Service providers are sometimes referred to as backbone providers, Internet providers, or vendors. Service providers include telecommunications companies, data carriers, wireless communication providers, Internet service providers, and cable television operators that offer high-speed Internet access.

[0049] In some embodiments, the service builder module 120 is configured to allow a user to design one or more network slices. In some embodiments, the network slice design is GUI-based. In some embodiments, operations include a user entering basic information such as a network slice name, slice type, domain, and shared or non-shared slice selection. Other operations include defining NS profile parameters (holding the original requirements of a communication service instance, such as latency, data rate, and mobility level) required by the slice's northbound interface (e.g., internal to the system or manually from a user) and translating the NS profile parameters into slice profile parameters (holding slice subnet parameter information for different network domain slice subnet instances (NSSIs), such as RAN, transport network (TN), and CN NSSIs).

[0050] In some embodiments, the service builder module 120 is configured to integrate policy onboarding, such as network function / network service (NF) / (NS) package onboarding.

[0051] FIG. 2 is a diagram of a universal NS bundle 200, according to some embodiments.

[0052] For the purposes of this description, applications and network functions are used interchangeably unless they are to be distinguished from one another.

[0053] In FIG. 2 , NS bundle 202 is an aggregation of technical services 204 (and other services, such as icons 206) that are further subdivided into different NSDs 205 and VNFDs 207. In some embodiments, VNFD 207 is created using application bundles 208, 210. In some embodiments, policy descriptors 212 and 214 are part of application bundles 208 and 210. In some embodiments, policy descriptor files 212 and 214 are in json format. In some embodiments, the policy bundle is part of a network service (NS) / network function (NF) bundle that includes other artifacts such as technical application images, metrics, configuration files, or other suitable files within the scope of some embodiments.

[0054] JSON is an open-standard file format and data-interchange format that uses human-readable text to store and transmit data objects consisting of attribute-value pairs and arrays (or other serializable values). JSON is a data format with diverse uses in electronic data exchange, including that between servers and web applications. JSON is a language-independent data format. JSON is derived from JavaScript, but many modern programming languages ​​include code for generating and parsing JSON-formatted data. JSON filenames use the extension json.

[0055] FIG. 3 is a data flow diagram of a method for policy onboarding integration 300, according to some embodiments.

[0056] In some embodiments, the method 300 for policy onboarding integration describes operations for policy onboarding integration. Although the operations of the method for policy onboarding integration 300 are described and shown as having a particular order, the operations in the method for policy onboarding integration 300 are configured to be performed in any order unless specifically specified otherwise. The method 300 for policy onboarding integration is implemented as a set of operations, such as operations 302 through 320.

[0057] At operation 302 of the method for policy onboarding integration 300, a service builder 358 registers application bundles, such as application bundles 208 and 210, in a bundle catalog 364 of an orchestrator 360. In response to the submission of an NF application, the service builder tool 358 creates the application bundle and automatically registers the application bundle in the bundle catalog 364 of the orchestrator 360 via an application programming interface (API). A bundle is a set of products offered under a single privilege or license that does not contain dedicated components. In the bundle catalog 364, a bundle is modeled as a software product with a setup relationship to the software product.

[0058] In some embodiments, service builder tool 358 is similar to service builder module 120 and includes a reference to the NS bundle when the reference is created by the slice manager. The slice manager is responsible for creating network slices and NS subnets, and orchestrator 360 is responsible for creating NSs and NFs. The process flows from operation 302 to operation 304.

[0059] In some embodiments, method 300 describes a method for the creation and transport of NS bundles. A slice manager processes the NS bundles for further execution of bundle services to northbound systems (processing specific targets of systematic operations). In some embodiments, method 300 describes policy bundles that follow the same principles as bundle processing, with the additional step of showing how policy bundles are managed.

[0060] At operation 304 of the method for policy onboarding integration 300, the onboarding service 350 of the orchestrator 360 creates a bundle / package object in a central inventory (CI) 352 and stores the bundle / package object as an inventory file. In some embodiments, the object is a variable, a data structure, a function, or a method. As a region of memory, an application bundle object contains values ​​and is referenced by an identifier. In some embodiments, the application bundle object is a combination of variables, functions, and data structures. In some embodiments, the application bundle object is a table or column, or an association between data and database entities. The process flows from operation 304 to operation 306.

[0061] At operation 306 of the method for policy onboarding integration 300, the onboarding service 350 sends a request to the policy manager 354 to create a policy descriptor file (e.g., policy name, policy descriptor file (e.g., policy descriptor files 212 and 214), bundle / package UUID, but without the source element UUID). In some embodiments, the application bundle descriptor file is a JSON file (e.g., policy.descriptor.json) that describes the application bundle. The descriptor file includes general information about the application bundle as well as modules that the application bundle wants to use or extend. The descriptor file serves as a binding between a remote application (e.g., user 362) and an application in a CN, such as CN 102. In some embodiments, when an administrator of a cloud instance installs an application, a descriptor file containing a pointer to the NS is installed. The process flows from operation 306 to operation 308.

[0062] In operation 308 of the method for policy onboarding integration 300, the policy manager 354 returns the rule-based policy and the policy ID corresponding to the application bundle to the orchestrator 360. The process flows from operation 308 to operation 310.

[0063] At operation 310 of the method for policy onboarding integration 300, a lifecycle management (LCM) or network function (NF) planning module 356 stores the policy ID along with the package ID. Application LCM is the product lifecycle management (e.g., management, development, and maintenance) of computer programs. The lifecycle encompasses requirements management, software architecture, computer programming, software testing, software maintenance, change management, continuous integration, project management, and release management. The process flows from operation 310 to operation 312.

[0064] At operation 312 of the method for policy onboarding integration 300, a NF instantiation request (e.g., to instantiate an NF using an NFT that includes a policy descriptor file with a policy ID) is received from a user 362. The process flows from operation 312 to operation 314.

[0065] At operation 314 of the method for policy onboarding integration 300, an NF instance is created in CI 352. In some embodiments, a user instantiates / installs an NF for which a policy bundle has been created. The context of the NF instantiation is included to pertain to this NF being for policy creation. The process flows from operation 314 to operation 316.

[0066] In operation 316 of the method for policy onboarding integration 300, orchestrator 360 deploys NFs / applications for user 362. The process flows from operation 316 to operation 318.

[0067] At operation 318 of the method for policy onboarding integration 300, orchestrator 360 sends a notification to policy manager 354 to activate the rule-based policy with the respective policy ID. Thus, when user 362 is using the application, the rule-based policy is in effect for the application. The process flows from operation 318 to operation 320.

[0068] In operation 320 of the method for policy onboarding integration 300, the policy manager 354 modifies the policy file with pending information (e.g., source element UUIDs, etc.). After filling the pending information, the policy descriptor file becomes a policy template. The policy template table is updated and the enabling policy ID is activated. In some embodiments, the template references a valid working policy file (i.e., template is a name ecosystem term). A policy template is created once the created policy has parameters for implementing the policy.

[0069] FIG. 4 is a data flow diagram of a method for creating a non-expiring URL 400 according to some embodiments.

[0070] 4 is described to provide an understanding of a method for creating a non-expiring URL 400. In some embodiments, the method for creating a non-expiring URL 400 is performed by processing circuitry 602, which is described below with respect to FIG. 6. In some embodiments, some or all of the operations of the method for creating a non-expiring URL 400 are performed according to instructions corresponding to instructions 606, which are described below with respect to FIG.

[0071] Although the method for creating a URL 400 that will not expire includes operations 402-410, the operations are not necessarily performed in the order shown. Operations may be added, substituted, reordered, and / or removed as appropriate in accordance with the spirit and scope of the embodiments. In some embodiments, one or more of the operations of the method for creating a URL 400 that will not expire are repeated. In some embodiments, the operations of the method for creating a URL 400 that will not expire are performed sequentially unless otherwise specified.

[0072] At operation 402 of the method for creating a non-stale URL 400, one or more bundles / templates / descriptors are registered via a POST API call initiated by a user 462. In some embodiments, operation 402 is similar to operation 302 of method 300. The POST API call is sent to a service catalog application 420. In some embodiments, service catalog application 420 is included in orchestrator 360. In some embodiments, service catalog application 420 is a standalone application operatively connected to service builder 358. In some embodiments, user 462 registers one or more bundles / templates / descriptors through a UI, such as UI 622 of FIG. 6 . The process flows from operation 402 to operation 404.

[0073] In operation 404 of the method for creating a non-stale URL 400, the service catalog 420 processes the payload of one or more bundles / templates / descriptors and stores artifacts 422A and 422B in S3 object storage 424. The process flows from operation 404 to operation 406.

[0074] In operation 406 of the method for creating a non-stale URL 400, the service catalog application 420 generates a URL for the artifacts 422A and 422B. The URL is a custom catalog API with the following template format: {ServiceCatalogendpoint} / api / v1 / storage / s3 / {bucket name where the file exists} / {path to the file}

[0075] In some embodiments, {ServiceCatalogendpoint} / api / v1 / storage / s3 describes a call, meaning that the call explains how to use or implement the call. APIs are often composed of different parts that act as tools or services available to programmers. A program or programmer that uses one of these parts is said to call that part of the API. The calls that make up an API are also known as subroutines, methods, requests, or endpoints.

[0076] In some embodiments, an S3 bucket used to store cloud trail log files is configured to have a name that conforms to naming standards. In some embodiments, S3 describes bucket names as a series of one or more labels separated by periods that conform to the following rules: (1) bucket names are 3 to 63 characters long and contain lowercase letters, numbers, periods, and dashes, (2) each label in a bucket name begins with a lowercase letter or number, (3) bucket names cannot contain an underscore, end with a dash, have consecutive periods, or have a dash adjacent to a period, and (4) bucket names cannot be formatted as an IP address.

[0077] In some embodiments, a path to a file is a string configured to be used to uniquely identify a location in a directory structure. The path to a file is configured according to a directory tree hierarchy, with components separated by delimiters representing each directory. The delimiters are commonly a forward slash (" / "), a backslash character ("\"), or a colon (":"), although some operating systems use different delimiters. Paths are widely used in computer science to represent directory / file relationships common in modern operating systems and are essential for constructing URLs. Resources are represented by either absolute or relative paths. The process flows from operation 406 to operation 408.

[0078] At operation 408 of the method for creating non-expiring URLs 400, service catalog application 420 registers the custom-generated URLs for artifacts 422A and 422B in database 426. In the non-limiting example of Figure 4, the custom-generated URL link for artifact 1 428 and the custom-generated URL link for artifact 2 430 are included in artifact table 432 stored in database 426. The process flows from operation 408 to operation 410.

[0079] At operation 410 of the method for creating a non-expiring URL 400, a response payload including a custom-generated URL link for the artifact is sent to the user 462. In some embodiments, the response payload is sent to a UI, such as UI 622 of FIG. 6. In the non-limiting example of FIG. 4, the response payload includes custom URL links 428 and 430. In some embodiments, the custom-generated URL link for the artifact is configured to be used in a method for accessing the artifact after URL 500 expires (described below).

[0080] FIG. 5 is a data flow diagram of a method for accessing an artifact after the URL 500 has expired, according to some embodiments.

[0081] Figure 5 is described for understanding a method for accessing an artifact after expiration of URL 500. In some embodiments, the method for accessing an artifact after expiration of URL 500 is performed by processing circuitry 602, described below with respect to Figure 6. In some embodiments, some or all of the operations of the method for accessing an artifact after expiration of URL 500 are performed according to instructions corresponding to instructions 606, described below with respect to Figure 6.

[0082] The method for accessing an artifact after revocation of URL 500 includes operations 502-510, although the operations are not necessarily performed in the order shown. Operations may be added, substituted, reordered, and / or removed as appropriate in accordance with the spirit and scope of the embodiments. In some embodiments, one or more of the operations of the method for accessing an artifact after revocation of URL 500 are repeated. In some embodiments, the operations of the method for accessing an artifact after revocation of URL 500 are performed sequentially unless otherwise specified.

[0083] At operation 502 of the method for accessing artifacts after URL 500 expiration, service catalog application 420 receives a request from user 462 to download one or more files from S3 object storage 424 after a URL expiration date has passed using one or more custom-generated URLs generated by service catalog application 420. The process flows from operation 502 to operation 504.

[0084] In operation 504 of the method for accessing an artifact after the URL 500 has expired, the service catalog application 420 generates a signed URL or bucket name and file path provided in operation 502. The process flows from operation 504 to operation 506.

[0085] In operation 506 of the method for accessing artifacts after URL 500 expiration, service catalog 420 receives one or more signed URLs with expiration dates from S3 function 534. The process flows from operation 506 to operation 508.

[0086] In operation 508 of the method for accessing an artifact after URL 500 has expired, service catalog application 420 redirects the API (call to one or more custom-generated URLs) and sends a redirect response that user 462 uses to download one or more signed URLs generated by service catalog application 420. The process flows from operation 508 to operation 510.

[0087] In operation 510 of the method for accessing artifacts after URL 500 expires, the service catalog application 420 sends the one or more requested artifacts from operation 502 to the user 462 based on one or more custom-generated URLs that are redirected by the API to one or more newly created signed URLs.

[0088] 6 is a block diagram of a processing circuit 600 for creating non-expiring URLs, according to some embodiments. In some embodiments, the processing circuit 600 for creating non-expiring URLs is a general-purpose computing device that includes a hardware processor 602 and a non-transitory computer-readable storage medium 604. The storage medium 604 is encoded with, i.e., stores, among other things, computer program code 606, i.e., a set of executable instructions such as algorithms, or methods 300, 400, and 500. Execution of the instructions 606 by the hardware processor 602 represents (at least in part) a method for creating non-expiring URLs for an S3 storage solution that implements some or all of the methods described herein (hereinafter, processes and / or methods) according to one or more embodiments.

[0089] The processor 602 is electrically coupled to a computer-readable storage medium 604 via a bus 608. The processor 602 is further electrically coupled by the bus 608 to an I / O interface 610. A network interface 612 is further electrically connected to the processor 602 via the bus 608. The network interface 612 connects to a network 614 such that the processor 602 and the computer-readable storage medium 604 connect to external elements via the network 614. The processor 602 is configured to execute computer program code 606 encoded on the computer-readable storage medium 604 to cause the processing circuit 600 to create non-expiring URLs that can be used to perform some or all of the mentioned processes and / or methods. In one or more embodiments, the processor 602 is a central processing unit (CPU), a multiprocessor, a distributed processing system, an application-specific integrated circuit (ASIC), and / or other suitable processing unit.

[0090] In one or more embodiments, computer-readable storage medium 604 is an electronic, magnetic, optical, electromagnetic, infrared, and / or semiconductor system (or apparatus or device). For example, computer-readable storage medium 604 includes semiconductor or solid-state memory, magnetic tape, removable computer diskette, random access memory (RAM), read-only memory (ROM), rigid magnetic disk, and / or optical disk. In one or more embodiments using an optical disk, computer-readable storage medium 604 includes a compact disk-read-only memory (CD-ROM), a compact disk-read / write (CD-R / W), and / or a digital video disk (DVD).

[0091] In one or more embodiments, the storage medium 604 stores computer program code 606 configured to cause the processing circuit 600 to create non-expiring URLs that can be used to perform some or all of the mentioned processes and / or methods. In one or more embodiments, the storage medium 604 further stores information such as algorithms that enable performing some or all of the mentioned processes and / or methods.

[0092] The processing circuit 600 for creating a non-expiring URL includes an I / O interface 610. The I / O interface 610 is coupled to external circuitry. In one or more embodiments, the I / O interface 610 includes a keyboard, a keypad, a mouse, a trackball, a trackpad, a touchscreen, and / or cursor direction keys for communicating information and commands to the processor 602.

[0093] The processing circuit 600 for creating a non-expiring URL further includes a network interface 612 coupled to the processor 602. The network interface 612 enables the processing circuit 600 to create a non-expiring URL for communication with a network 614 to which one or more other computer systems connect. The network interface 612 includes a wireless network interface, such as BLUETOOTH, WIFI, WIMAX, GPRS, or WCDMA, or a wired network interface, such as ETHERNET, USB, or IEEE-864. In one or more embodiments, some or all of the mentioned processes and / or methods are implemented in two or more processing circuits 600 to create a non-expiring URL.

[0094] The processing circuit 600 for creating non-expiring URLs is configured to receive information via an I / O interface 610. The information received via the I / O interface 610 includes one or more of instructions, data, design rules, and / or other parameters for processing by the processor 602. The information is transferred to the processor 602 via the bus 608. The processing circuit 600 for creating non-expiring URLs is configured to receive information related to a UI 622 via the I / O interface 610. The information is stored in the computer-readable medium 604 as a user interface (UI) 622.

[0095] In some embodiments, some or all of the processes and / or methods mentioned are implemented as stand-alone software applications for execution by a processor. In some embodiments, some or all of the processes and / or methods mentioned are implemented as software applications that are part of an additional software application. In some embodiments, some or all of the processes and / or methods mentioned are implemented as plug-ins to a software application.

[0096] In some embodiments, a method for creating non-expiring uniform resource locators (URLs) includes receiving, at a service catalog application, one or more registration POST application programming interface (API) calls; processing, by the service catalog application, each payload included in the one or more registrations included in the POST API calls; storing, by the service catalog application, one or more artifacts corresponding to the one or more registrations in object storage; generating, by the service catalog application, one or more custom URLs corresponding to the artifact buckets and artifact file paths; registering, by the service catalog application, the one or more custom URLs in a database; and sending, by the service catalog application, a response payload including the one or more custom URLs to a user.

[0097] In some embodiments, the one or more registration POST API calls are one or more of a bundle, a template, or a descriptor.

[0098] In some embodiments, the custom URL is a custom catalog API.

[0099] In some embodiments, the method further includes receiving, by the service catalog application, a request to download the artifact from object storage, the artifact corresponding to the revoked signed URL, and receiving, by the service catalog application, the previously created custom URL where the custom URL is a catalog endpoint.

[0100] In some embodiments, the method further includes generating, by the service catalog application, a signed URL that corresponds to the bucket name and file path included in the catalog endpoint, and sending, by the service catalog application, the signed URL to a function.

[0101] In some embodiments, the method further includes receiving, by the service catalog application, a signed URL with an expiration date from the feature.

[0102] In some embodiments, the method further includes redirecting, by the service catalog application, the custom catalog API to invoke the signed URL based on the previously created custom URL.

[0103] In some embodiments, the method further includes sending, by the service catalog application, a redirect response that enables the user to download the artifact from the object storage.

[0104] In some embodiments, an apparatus includes a processor and memory having instructions stored thereon that, in response to being executed by the processor, cause the processor to receive, at a service catalog application, one or more registration POST application programming interface (API) calls; process, by the service catalog application, each payload included in the one or more registrations included in the POST API calls; store, by the service catalog application, one or more artifacts corresponding to the one or more registrations in object storage; generate, by the service catalog application, one or more custom URLs corresponding to the artifact buckets and artifact file paths; register, by the service catalog application, the one or more custom URLs in a database; and send, by the service catalog application, a response payload including the one or more custom URLs to a user.

[0105] In some embodiments, the one or more registration POST application programming interface (API) calls are one or more of a bundle, a template, or a descriptor.

[0106] In some embodiments, the custom URL is a custom catalog API.

[0107] In some embodiments, the instructions, in response to being executed by the processor, further include causing the processor to receive, by the service catalog application, a request to download an artifact from object storage, the artifact corresponding to the revoked signed URL, and receiving, by the service catalog application, the previously created custom URL where the custom URL is a catalog endpoint.

[0108] In some embodiments, the instructions, in response to being executed by the processor, further cause the processor to generate, by the service catalog application, a signed URL that corresponds to the bucket name and file path included in the catalog endpoint, and to send, by the service catalog application, the signed URL to the function.

[0109] In some embodiments, the instructions, in response to being executed by the processor, further cause the processor to receive, by the service catalog application, a signed URL with an expiration date from the function.

[0110] In some embodiments, the instructions, in response to being executed by the processor, further cause the processor to redirect the custom catalog API to invoke a signed URL based on a custom URL previously created by the service catalog application.

[0111] In some embodiments, the instructions, in response to being executed by the processor, further cause the processor to send, by the service catalog application, a redirect response that enables the user to download the artifact from the object storage.

[0112] In some embodiments, a non-transitory computer-readable medium has instructions stored thereon that, in response to being executed by a processor, cause the processor to receive, at a service catalog application, one or more registration POST application programming interface (API) calls; process, by the service catalog application, each payload included in the one or more registrations included in the POST API calls; store, by the service catalog application, one or more artifacts corresponding to the one or more registrations in object storage; generate, by the service catalog application, one or more custom URLs corresponding to the artifact buckets and artifact file paths; register, by the service catalog application, the one or more custom URLs in a database; and send, by the service catalog application, a response payload including the one or more custom URLs to a user.

[0113] In some embodiments, the instructions, in response to being executed by the processor, further include causing the processor to receive, by the service catalog application, a request to download an artifact from object storage, the artifact corresponding to the revoked signed URL, and receiving, by the service catalog application, the previously created custom URL where the custom URL is a catalog endpoint.

[0114] In some embodiments, the instructions, in response to being executed by the processor, further cause the processor to generate, by the service catalog application, a signed URL that corresponds to the bucket name and file path included in the catalog endpoint, and to send, by the service catalog application, the signed URL to the function.

[0115] In some embodiments, the instructions, in response to being executed by the processor, further cause the processor to receive, by the service catalog application, a signed URL with an expiration date from the function.

[0116] The foregoing outlines features of some embodiments so that those skilled in the art may better understand aspects of the present disclosure. Those skilled in the art will readily appreciate that this disclosure may be used as a basis for designing or modifying other processes and structures to carry out the same purposes and / or achieve the same advantages as the embodiments introduced herein. Those skilled in the art should further recognize that such equivalent constructions do not depart from the spirit and scope of the present disclosure, and that various changes, substitutions, and alterations may be made herein without departing from the spirit and scope of the present disclosure.

Claims

1. A method for creating a non-expiring uniform resource locator (URL) is Receiving one or more registration POST application programming interface (API) calls at a service catalog application; processing, by the service catalog application, each payload included in one or more registrations included in the POST API call; storing, by the service catalog application, one or more artifacts corresponding to the one or more registrations in object storage; generating, by the service catalog application, one or more custom URLs corresponding to artifact buckets and artifact file paths; registering, by the service catalog application, the one or more custom URLs in a database; sending, by the service catalog application, a response payload to the user that includes the one or more custom URLs.

2. the one or more registration POST API calls: bundle, Template, or one or more of the descriptors, The method of claim 1.

3. The custom URL is a custom catalog API, The method of claim 1.

4. receiving, by the service catalog application, a request to download an artifact from the object storage; the artifact corresponds to a revoked signed URL, and receiving, by the service catalog application, a previously created custom URL where the custom URL is a catalog endpoint. The method of claim 1 , comprising:

5. generating, by the service catalog application, a signed URL corresponding to a bucket name and file path contained in the catalog endpoint; sending, by the service catalog application, the signed URL to a function; The method of claim 4 further comprising:

6. receiving, by the service catalog application, the signed URL with an expiration date from the feature; The method of claim 5 further comprising:

7. redirecting a custom catalog API to invoke the signed URL based on the custom URL previously created by the service catalog application; The method of claim 6 further comprising:

8. sending, by the service catalog application, a redirect response that enables the user to download the artifact from the object storage. The method of claim 7 further comprising:

9. a processor; In response to being executed by the processor, the processor: receiving one or more registration POST application programming interface (API) calls at a service catalog application; processing, by the service catalog application, each payload included in one or more registrations included in the POST API call; storing, by the service catalog application, one or more artifacts corresponding to the one or more registrations in object storage; generating, by the service catalog application, one or more custom URLs corresponding to the artifact bucket and artifact file paths; registering, by the service catalog application, the one or more custom URLs in a database; a memory having instructions stored thereon that cause the service catalog application to send a response payload to a user that includes the one or more custom URLs; 1. An apparatus comprising:

10. the one or more registration POST application programming interface (API) calls: bundle, Template, or one or more of the descriptors, 10. The apparatus of claim 9.

11. The custom URL is a custom catalog API, 10. The apparatus of claim 9.

12. The instructions, in response to being executed by the processor, further cause the processor to: receiving, by the service catalog application, a request to download an artifact from the object storage, the artifact corresponding to a revoked signed URL; The apparatus of claim 9 , further comprising receiving, by the service catalog application, a custom URL previously created where the custom URL is a catalog endpoint.

13. The instructions, in response to being executed by the processor, further cause the processor to: causing the service catalog application to generate a signed URL corresponding to a bucket name and file path contained in the catalog endpoint; The apparatus of claim 12 , wherein the service catalog application causes the signed URL to be sent to a function.

14. The instructions, in response to being executed by the processor, further cause the processor to: The apparatus of claim 13 , further comprising causing the service catalog application to receive the signed URL with an expiration date from the function.

15. The instructions, in response to being executed by the processor, further cause the processor to: The apparatus of claim 14 , wherein the service catalog application redirects a custom catalog API to invoke the signed URL based on the previously created custom URL.

16. The instructions, in response to being executed by the processor, further cause the processor to: The apparatus of claim 15 , further comprising causing the service catalog application to send a redirect response that enables the user to download the artifact from the object storage.

17. In response to being executed by a processor, the processor: receiving one or more registration POST application programming interface (API) calls at a service catalog application; processing, by the service catalog application, each payload included in one or more registrations included in the POST API call; storing, by the service catalog application, one or more artifacts corresponding to the one or more registrations in object storage; generating, by the service catalog application, one or more custom URLs corresponding to the artifact bucket and artifact file paths; registering, by the service catalog application, the one or more custom URLs in a database; A non-transitory computer-readable medium having instructions stored thereon that cause the service catalog application to send a response payload to a user that includes the one or more custom URLs.

18. The instructions, in response to being executed by the processor, further cause the processor to: receiving, by the service catalog application, a request to download an artifact from the object storage, the artifact corresponding to a revoked signed URL; 20. The non-transitory computer-readable medium of claim 17, comprising receiving, by the service catalog application, a previously created custom URL where the custom URL is a catalog endpoint.

19. The instructions, in response to being executed by the processor, further cause the processor to: causing the service catalog application to generate a signed URL corresponding to a bucket name and file path contained in the catalog endpoint; 20. The non-transitory computer-readable medium of claim 18, causing the service catalog application to send the signed URL to a function.

20. The instructions, in response to being executed by the processor, further cause the processor to:

20. The non-transitory computer-readable medium of claim 19, further comprising causing the service catalog application to receive the signed URL with an expiration date from the function.

Citation Information

Patent Citations

  • Image processing apparatus and control method of image processing apparatus

    CN113873091A

  • Intermediate server and communication device

    JP2013110716A

  • Print server, control method thereof, and program

    JP2019160057A

  • Program

    JP2019200565A

  • Service providing system and service providing method

    JP2019219782A