[go: up one dir, main page]

WO2025008951A1 - Method and system for memory management in a communication network - Google Patents

Method and system for memory management in a communication network Download PDF

Info

Publication number
WO2025008951A1
WO2025008951A1 PCT/IN2024/050932 IN2024050932W WO2025008951A1 WO 2025008951 A1 WO2025008951 A1 WO 2025008951A1 IN 2024050932 W IN2024050932 W IN 2024050932W WO 2025008951 A1 WO2025008951 A1 WO 2025008951A1
Authority
WO
WIPO (PCT)
Prior art keywords
contexts
thread
message
subset
invalid
Prior art date
Application number
PCT/IN2024/050932
Other languages
French (fr)
Inventor
Birendra Bisht
Aayush Bhatnagar
Harbinder Pal Singh
Abhay Kumar
Priti Kelkar
P R Srikanth REDDY
Surabhi RANJAN
Vivek Kumar
Original Assignee
Jio Platforms Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Jio Platforms Limited filed Critical Jio Platforms Limited
Publication of WO2025008951A1 publication Critical patent/WO2025008951A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/023Free address space management
    • G06F12/0253Garbage collection, i.e. reclamation of unreferenced memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]

Definitions

  • the present disclosure relates generally to the field of wireless communication systems. More particularly, the present disclosure relates to methods and systems for memory management in a communication network.
  • Wireless communication technology has rapidly evolved over the past few decades, with each generation bringing significant improvements and advancements.
  • the first generation of wireless communication technology was based on analog technology and offered only voice services.
  • 2G second-generation
  • 3G technology marked the introduction of high-speed internet access, mobile video calling, and location-based services.
  • 4G fourth-generation
  • 5G fifth-generation
  • wireless communication technology has become more advanced, sophisticated, and capable of delivering more services to its users.
  • a method for memory management in a communication network comprises receiving, by a transceiver unit at a SIB, a message from one or more sources. Furthermore, the method includes transferring, by the transceiver unit, the received message to a thread for processing. Furthermore, the method includes generating, by a generator unit, a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread.
  • the method includes maintaining, by the generator unit, a list comprising the set of contexts associated with a thread-specific area of the thread. Furthermore, the method includes executing, by a processing unit via a garbage collector, a scanning of the list subsequent to a completion of the message processing to identify a subset of valid contexts and a subset of invalid contexts, from the set of contexts. Thereafter, the method includes deallocating, by a deallocator unit via the garbage collector, a memory associated with the subset of invalid contexts.
  • the one or more sources include at least one from among a user equipment (UE) and a network entity.
  • UE user equipment
  • the method further comprises assigning, by the processing unit, each received message to a dedicated thread.
  • the subset of invalid contexts includes one or more contexts associated with an expired object validity status and the subset of valid contexts includes one or more contexts associated with an active object validity status.
  • the deallocating the memory comprises managing the set of contexts associated with the message based on one or more pre-defined parameters, the one or more pre-defined parameters being at least one of user-defined parameters and system-defined parameters, wherein managing the set of contexts associated with the message comprises identifying a target context and selectively deleting one or more contexts from the set of contexts.
  • the subset of valid context and the subset of invalid context are identified based on the predefined parameters.
  • the deallocating the set of invalid contexts comprises deleting the subset of invalid contexts from the list.
  • a system for memory management in a communication network comprises a transceiver unit configured to receive a message from one or more sources.
  • the transceiver unit is configured to transfer the received message to a thread for processing.
  • the system comprises a generator unit connected to the transceiver unit.
  • the generator unit is configured to generate a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread.
  • the generator unit is configured to maintain a list comprising the set of contexts associated with a thread-specific area of the thread.
  • the system comprises a processing unit connected to the generator unit.
  • the processing unit is configured to execute, via a garbage collector, a scanning of the list subsequent to a completion of the message processing to identify, a subset of valid contexts and a subset of invalid contexts, from the set of contexts.
  • the system comprises a deallocator unit connected to the processing unit, the deallocator unit is configured to deallocate, via the garbage collector, a memory associated with the subset of invalid contexts.
  • the processing unit is further configured to assign each received message to a dedicated thread.
  • the one or more sources include at least one from among a user equipment (UE) and a network entity.
  • UE user equipment
  • the subset of invalid contexts comprises one or more contexts associated with an expired object validity status and the subset of valid contexts includes one or more contexts associated with an active object validity status.
  • Another aspect of the present disclosure comprises a non-transitory computer-readable storage medium storing instruction for memory management in a communication network
  • the storage medium include executable code which, when executed by one or more units of a system causes: a transceiver unit to receive, at a SIB, a message from a user equipment (UE), and transfer the received message to a thread for processing; a generator unit to generate a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread, and maintain a list comprising the set of contexts associated with thread-specific area of the thread; a processing unit to execute, via a garbage collector, a scanning of the list subsequent to a completion of the message processing to identify, a subset of valid contexts and a subset of invalid contexts, from the set of contexts and a deallocator unit to deallocate, via the garbage collector, a memory associated with the subset of invalid contexts.
  • FIG.1 illustrates an exemplary block diagram of a system for memory management in a communication network, in accordance with exemplary implementation of the present disclosure.
  • FIG.2 illustrates an exemplary method flow diagram indicating a method for memory management in a communication network, in accordance with exemplary implementation of the present disclosure.
  • FIG.3 illustrates an exemplary sequence flow diagram indicating a process for memory management in a communication network, in accordance with exemplary implementation of the present disclosure.
  • FIG. 5 illustrates an exemplary block diagram of a computing device upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure.
  • FIG. 6 illustrates an exemplary block diagram of an SIB [600] for memory management in a communication network, in accordance with exemplary embodiments of the present disclosure.
  • exemplary and/or “demonstrative” is used herein to mean serving as an example, instance, or illustration.
  • the subject matter disclosed herein is not limited by such examples.
  • any aspect or design described herein as “exemplary” and/or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art.
  • the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising” as an open transition word without precluding any additional or other elements.
  • an “electronic device”, or “portable electronic device”, or “user device” or “communication device” or “user equipment” or “device” refers to any electrical, electronic, electromechanical, and computing device.
  • the user device is capable of receiving and/or transmitting one or more parameters, performing function/s, communicating with other user devices, and transmitting data to the other user devices.
  • the user equipment may have a processor, a display, memory, a battery, and an input mean such as a hard keypad and/or a soft keypad.
  • the user equipment may be capable of operating on any radio access technology including but not limited to IP-enabled communication, Zig Bee, Bluetooth, Bluetooth Low Energy, Near Field Communication, Z-Wave, Wi-Fi, Wi-Fi Direct, etc.
  • the user equipment may include, but is not limited to, a mobile phone, smartphone, virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other device as may be obvious to a person skilled in the art for implementation of the features of the present disclosure.
  • VR virtual reality
  • AR augmented reality
  • the user device may also comprise a “processor” or “processing unit [108]”, wherein the processor refers to any logic circuitry for processing instructions.
  • the processor may be a general-purpose processor, a special-purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array circuits, any other type of integrated circuits, etc.
  • the processor may perform signal coding data processing, input/output processing, and/or any other functionality that enables the working of the system according to the present disclosure. More specifically, the processor is a hardware processor.
  • Radio Access Technology refers to the technology used by mobile devices/ user equipment (UE) to connect to a cellular network. It refers to the specific protocol and standards that govern the way devices communicate with base stations, which are responsible for providing the wireless connection. Further, each RAT has its own set of protocols and standards for communication, which define the frequency bands, modulation techniques, and other parameters used for transmitting and receiving data. Examples of RATs include GSM (Global System for Mobile Communications), CDMA (Code Division Multiple Access), UMTS (Universal Mobile Telecommunications System), LTE (Long-Term Evolution), and 5G. The choice of RAT depends on a variety of factors, including the network infrastructure, the available spectrum, and the mobile device's/device's capabilities. Mobile devices often support multiple RATs, allowing them to connect to different types of networks and provide optimal performance based on the available network resources.
  • a message is received from one or more sources.
  • the one or more sources include at least one from among a user equipment (UE) and a network entity.
  • UE user equipment
  • the received message is transferred to a thread or a dedicated thread for the processing of the message.
  • a set of contexts is generated for the processing of the message, wherein each context of the set of contexts is maintained in a thread-specific area of the corresponding thread.
  • a list comprising the set of contexts associated with thread-specific areas of respective threads is also maintained by the system.
  • the system executes a scanning of the list subsequent to (or after)completion of the message processing to identify a subset of valid contexts and a subset of invalid contexts, from the set of contexts. After identification, the system deallocates a memory associated with the subset of invalid contexts.
  • the storage of the set of contexts is optimized by the identification of invalid context from the set of contexts and then deallocation of the invalid context from the memory.
  • FIG. 1 an exemplary block diagram of a system [100], for memory management in a communication network is shown.
  • the system [100] comprises a transceiver unit [102], one or more sources [104], a generator unit [106], a processing unit [108], a deallocator unit [110], and a storage unit [112], Also, all of the components/ units of the system [100] are assumed to be connected to each other unless otherwise indicated below. As shown in the figures all units shown within the system should also be assumed to be connected to each other. Also, in Fig.
  • system [100] may comprise multiple such units, or the system [100] may comprise any such numbers of said units, as required to implement the features of the present disclosure.
  • system [100] may reside in a server or a network entity.
  • the system [100] is configured for memory management in the communication network, with the help of the interconnection between the components/units of the system [100], More specifically, the system [100] is configured for memory management in an IMS network.
  • the system [100] includes the transceiver unit [102], The transceiver unit [102] is configured to receive a message, at a SIB, from the one or more sources [104], Furthermore, the transceiver unit [102] is configured to transfer the received message to a thread for processing.
  • the processing unit [108] is configured to assign each received message to a dedicated thread.
  • an IMS network refers to an Internet Protocol (IP) Multimedia Subsystem (IMS) network that provides an architectural framework for delivering IP-based multimedia services.
  • IP Internet Protocol
  • IMS Internet Multimedia Subsystem
  • the IMS network is majorly used for interactive services like Voice over New Radio (VoNR), Video Conferencing, and the like over IP networks.
  • VoIP Voice over New Radio
  • IMS network enables secure and reliable multimedia communications between diverse devices across diverse networks.
  • the IMS network provides a unified infrastructure and common mechanisms for controlling, manipulating, routing, and managing sessions.
  • the IMS architecture includes a plurality of components.
  • the plurality of components includes but is not limited to application servers, Home Subscriber Server (HSS), a Call Session Control Function (CSCF), a Signalling Gateway (SGW), a Media Gateway Control Function (MGCF), a Media Resource Functions (MRF), User Data Repository (UDR), a Breakout Gateway Control Function (BGCF), IP Network, and Public Switched Telephone Network.
  • HSS Home Subscriber Server
  • CSCF Call Session Control Function
  • SGW Signalling Gateway
  • MRF Media Gateway Control Function
  • UDR User Data Repository
  • BGCF Breakout Gateway Control Function
  • the application servers are applications providing services, such as telephone call control, call continuity, conference calling, and supplementary service configuration.
  • the HSS is the master database that maintains all user profile information used to authenticate and authorize subscribers.
  • the Call Session Control Function (CSCF) is configured for controlling sessions between endpoints (referred to as terminals) and applications.
  • the User Data Repository (UDR) is configured to store user-related information.
  • the Breakout Gateway Control Function (BGCF) is configured to determine the network for routing calls to the public switched telephone networks (PSTN).
  • PSTN public switched telephone networks
  • the Signalling Gateway (SGW) is responsible for bridging the traditional Public Switched Telephone Network (PSTN) with an IP -based IMS network.
  • the function of SGW includes but is not limited to protocol conversion, network interworking, signalling transport, security, load balancing, and traffic management.
  • the Media Gateway Control Function is configured to control media gateway (MGW) and to facilitate communication between IP -based IMS networks and circuit-switched networks such as public switched telephone networks (PSTN).
  • the Media Resource Functions provides media-related tasks and services (e.g., playing media, and announcements) to the user.
  • the IP network uses internet protocol for communication between user devices.
  • the Gateway in the IMS network acts as a bridge between the IMS network and other networks, such as PSTN, and mobile networks.
  • the PSTN integration in the IMS network is essentially an integration for ensuring interoperability between the traditional telephony services and model IP-based services.
  • the SIB (Serving Call Session Control Function (S-CSCF), Interrogating Call Session Control Function (I-CSCF), and Breakout Gateway Control Function (BGCF)) refers to a platform or network entity in an IMS network that manages and executes tasks of Serving Call Session Control Function (S-CSCF), Interrogating Call Session Control Function (I-CSCF), and Breakout Gateway Control Function (BGCF).
  • SIB is also referred to as a converged call session control function.
  • S-CSCF is responsible for conducting registration and session control for the registered UEs.
  • I-CSCF is responsible for determining which serving CSCF should be assigned to control a session requested by the UE.
  • BGCF Breakout Gateway Control Function
  • PSTN public switched telephone network
  • a message refers to a piece of data, a signal, a command, or any instruction sent by the user equipment (UE) or network entity (e.g., Proxy Call Session Control Function (PCSCF), Home Subscriber Server (HSS)) to perform one or more tasks in a telecommunication network.
  • the message may be a session initiation protocol (SIP) message such as INVITE or REGISTER message, received from the UE.
  • SIP session initiation protocol
  • a plurality of messages comprises a group of messages (e.g., four messages) received at SIB, from one or more sources, for processing.
  • a thread refers to a message processing entity configured to handle the message received at the thread or assigned to the thread.
  • a dedicated thread refers to a thread dedicated to the processing of a message based on the type of the message. The dedicated thread is only used for the processing of the message to prevent any delay in the processing.
  • the context refers to a data entity class that holds the information needed by the thread to handle the received message.
  • the context holds the information related to a particular session or transaction such as user identities, session parameters, and state information.
  • the set of contexts refers to a group of contexts created or handled by a thread.
  • the valid context refers to an active context relevant to the current session or upcoming session.
  • the valid context has a valid period.
  • the invalid context refers to an outdated context that is not valid or relevant to the current session or upcoming session.
  • the invalid context surpassed its validity period.
  • expired object validity status indicates that the context or object is no longer relevant or usable for the current or upcoming sessions.
  • the thread-specific area is an area where the contexts associated with the processing of the message are maintained or stored for each thread, ensuring that the processing of messages is isolated and organized according to the respective threads handling it. This helps in managing resources efficiently and avoiding conflicts between different threads accessing shared memory areas.
  • the garbage collector refers to an automatic memory management mechanism or component in the computation environment to detect unnecessary or expired contexts and to make the memory space (or context storage) free by removing the invalid contexts.
  • the system [100] further comprises the generator unit [106] connected to at least the transceiver unit [102],
  • the generator unit [106] is configured to generate a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread. Furthermore, the generator unit [106] maintains a list comprising the set of contexts associated with the thread-specific area of the thread
  • the system [100] comprises the processing unit [108] connected to at least the generator unit [106],
  • the processing unit [108] is configured to execute, via a garbage collector, a scanning of the list subsequent to a completion of the message processing to identify a subset of valid contexts and a subset of invalid contexts, from the set of contexts.
  • the subset of invalid contexts comprises one or more contexts associated with an expired object validity status and the subset of valid contexts includes one or more contexts associated with an active object validity status.
  • the processing unit [108] of the system [100] is configured to manage the context storage associated with the message based on the identifying target context from the set of contexts.
  • the system comprises the deallocator unit [110] connected to at least the processing unit [108],
  • the deallocator unit [110] is configured to deallocate, via the garbage collector, a memory associated with the subset of invalid contexts.
  • the deallocator unit [110] optimizes memory management to free up the memory.
  • the deallocation of memory comprises managing the set of contexts associated with the message based on one or more pre-defined parameters, the one or more pre-defined parameters being at least one of user-defined parameters and system-defined parameters.
  • the user-defined parameters may include the expiry time of each context, frequency of use of context, one or more conditions defined to remove the context, and the like.
  • the system-defined parameters comprise reachability of context, number of active references to the context, memory status (whether near to full stage or memory is low), and the like.
  • the deallocator unit [110] is further configured to deallocate the set of invalid contexts by deleting the subset of invalid contexts from the list.
  • the deallocating unit may deallocate with memory based on user input or automatically based on one or more pre-defined parameters.
  • the system includes the storage unit [112], The storage unit may be connected to the transceiver unit [102], the one or more sources [104], the generator unit [106], the processing unit [108], and the deallocator unit [110],
  • the storage unit [112] is configured to store data required to implement the features of the present disclosure.
  • the storage unit [112] may store context-related data, message-related data, thread-related data, and the like.
  • the SIB is associated with the one or more units (e.g., the transceiver unit [102], the generator unit [106], the processing unit [108], the deallocator unit [110], and the storage unit [112]) to implement the features of the present disclosure.
  • the transceiver unit [102], the generator unit [106], the processing unit [108], the deallocator unit [110], and the storage unit [112] to implement the features of the present disclosure.
  • FIG. 2 an exemplary method flow diagram [200], memory management in a communication network, in accordance with exemplary embodiments of the present invention is shown.
  • the method [200] is performed by the system [100], As shown in Figure 2, the method [200] starts at step [202],
  • a first message may be received from a first UE, a second message may be received from a second UE, a third message may be received from a first network entity and a fourth message may be received from a second network entity.
  • the method further comprises assigning, by a processing unit [108], each received message to a dedicated thread.
  • the message received at the transceiver unit [102] is assigned to the dedicated thread for processing.
  • the method [200] as disclosed by the present disclosure comprises transferring, by the transceiver unit [102], the received message to a thread for processing.
  • the thread may be a dedicated thread assigned by the SIB for the processing of the message.
  • the method [200] comprises generating, by a generator unit [106], a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread.
  • the method [200] as disclosed by the present disclosure comprises executing, by a processing unit [108] via a garbage collector, a scanning of the list subsequent to completion of the message processing to identify, a subset of valid contexts and a subset of invalid contexts, from the set of contexts.
  • the subset of invalid contexts includes one or more contexts associated with an expired object validity status
  • the subset of valid contexts includes one or more contexts associated with an active object validity status
  • the method [200] as disclosed by the present disclosure comprises deallocating, by a deallocator unit [110] via the garbage collector, a memory associated with the subset of invalid contexts.
  • the automatic deallocation of the memory comprises managing the set of contexts associated with the message based on one or more pre-defined parameters.
  • the subset of valid context and the subset of invalid context are identified based on the one or more predefined parameters.
  • the one or more pre-defined parameters include at least one of user-defined parameters and system-defined parameters, wherein managing the set of contexts associated with the message comprises identifying a target context and selectively deleting one or more contexts from the set of contexts.
  • the method terminates at step [216],
  • FIG. 3 an exemplary sequence flow diagram indicating a process for memory management in a communication network is shown.
  • a message (Ml) is received from the user equipment [302] at a SIB node [304],
  • the message (Ml) is transferred or assigned to a thread (Tl) to process the message (Ml).
  • the thread T1 starts working on the message Ml.
  • the thread Tl may create or handle one or more contexts i.e., Cl, C2, C3 for the processing of the received message Ml.
  • the message may be an INVITE message to initiate a video call session
  • the context Cl may be related to the latest session information (such as active state)
  • C2 may be related to previous session (such as old session timestamp)
  • C3 may be related to session data from previous failed attempt.
  • a smart list of contexts is maintained in the thread-specific area of Tl.
  • the thread Tl performs processing of the message Ml utilizing the one or more contexts.
  • the SIB node [304] sends a processed message to a network node [306], As used herein, the network node [306] refers to a subsequent network node to which the processed message is transmitted from the SIB after the processing.
  • a garbage collector scans a list of contexts maintained in the thread-specific area of Tl to identify valid context and invalid context. Based on the validity of the context (Cl, C2, C3), the garbage collector deletes the context that is no longer required to optimize the memory. In an exemplary implementation, the garbage collector identifies the invalid contexts i.e., C2, C3, and deletes these contexts from the memory to free up the space.
  • the thread Tl returns to process another message received at the SIB. Thereafter, the flow ends.
  • FIG. 4 an exemplary method flow diagram [400] for handling various messages through various threads is shown, in accordance with exemplary embodiments of the present disclosure.
  • a plurality of messages is transmitted to SIB for processing.
  • the plurality of messages is received from one or more sources.
  • the one or more sources include at least one from among a user equipment (UE) and a network entity.
  • UE user equipment
  • Message Ml is received from a first UE
  • Message M2 is received from a second UE
  • Message M3 is received from a third UE.
  • the SIB assigns different or multiple threads for handling the plurality of messages.
  • SIB uses thread 1, thread 2, and thread 3 for handling the plurality of messages.
  • thread 1 is configured to handle Message Ml
  • thread 2 is configured to handle Message M2
  • thread 3 is configured to handle Message M3.
  • thread 1 handles one of the plurality of messages (e.g., Message Ml) and creates contexts Cl, C2, and C3 for the processing of the message. After processing the messages, thread 1 may send the processed message to the subsequent network node for further processing. After sending the processed message, the thread-specific area associated with thread 1 includes the Cl, C2, and C3 context.
  • thread 3 handles one of the plurality of messages (e.g., Message M3) and creates contexts C6, and C7 for the processing of the message. After processing the message, thread 3 may send the processed message to the subsequent network node (e.g., Unified Data Management node) for further processing. After sending the processed message, the threadspecific area associated with thread 3 includes C6 and C7 contexts.
  • the subsequent network node e.g., Unified Data Management node
  • the SIB handles a list of contexts that include Cl, C2, C3, C4, C4, C6, and C7.
  • the SIB then uses the garbage collector to identify the valid and invalid contexts from the list of contexts. Accordingly, the SIB may delete or remove the invalid context from the thread-specific area to free the memory and thus optimize the computation and memory resources.
  • FIG. 5 illustrates an exemplary block diagram of a computing device [500] (also referred to herein as a computer system [500]) upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure.
  • the computing device [500] may also implement a method for memory management in a communication network utilizing the system.
  • the computing device [500] itself implements the method for memory management in a communication network using one or more units configured within the computing device [500], wherein said one or more units are capable of implementing the features as disclosed in the present disclosure.
  • the computing device [500] may include a bus [502] or other communication mechanism for communicating information, and a processor [504] coupled with bus [502] for processing information.
  • the processor [504] may be, for example, a general-purpose microprocessor.
  • the computing device [500] may also include a main memory [506], such as a random-access memory (RAM), or other dynamic storage device, coupled to the bus [502] for storing information and instructions to be executed by the processor [504],
  • the main memory [506] also may be used for storing temporary variables or other intermediate information during the execution of the instructions to be executed by the processor [504], Such instructions, when stored in non-transitory storage media accessible to the processor [504], render the computing device [500] into a specialpurpose machine that is customized to perform the operations specified in the instructions.
  • the computing device [500] further includes a read-only memory (ROM) [508] or other static storage device coupled to the bus [502] for storing static information and instructions for the processor [504],
  • An input device [514] may be coupled to the bus [502] for communicating information and command selections to the processor [504]
  • Another type of user input device may be a cursor controller [516], such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor [504], and for controlling cursor movement on the display [512]
  • This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allow the device to specify positions in a plane.
  • the computing device [500] also may include a communication interface [518] coupled to the bus [502],
  • the communication interface [518] provides a two-way data communication coupling to a network link [520] connected to a local network [522].
  • the communication interface [518] may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line.
  • the communication interface [518] may be a local area network (LAN) card to provide a data communication connection to a compatible LAN.
  • LAN local area network
  • Wireless links may also be implemented.
  • the communication interface [518] sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
  • the computing device [500] can send messages and receive data, including program code, through the network(s), the network link [520], and the communication interface [518],
  • a server [530] might transmit a requested code for an application program through the Internet [528], the ISP [526], the Host [524], the local network [522], and the communication interface [518],
  • the received code may be executed by the processor [504] as it is received, and/or stored in the storage device [510], or other non-volatile storage for later execution.
  • the computing device [500] encompasses a wide range of electronic devices capable of processing data and performing computations. Examples of computing device [500] include, but are not limited only to, personal computers, laptops, tablets, smartphones, servers, and embedded systems. The devices may operate independently or as part of a network and can perform a variety of tasks, such as data storage, retrieval, and analysis. Additionally, computing device [500] may include peripheral devices, such as monitors, keyboards, and printers, as well as integrated components within larger electronic systems, sselling their versatility in various technological applications. [0093] Referring to Figure 6 (FIG. 6) an exemplary block diagram of an SIB [600] is shown.
  • I-CSCF Interrogating Call Session Control Function
  • HSS Home Subscriber Server
  • the Breakout Gateway Control Function (BGCF) [606] is an IMS element that chooses the network where PSTN breakout happens. If the breakout is to occur, then the BGCF [606] selects an MGCF (Media Gateway Control Function) which will be responsible for interworking with the PSTN. The MGCF then receives the SIP signalling from the BGCF [606] and sends it on ISUP (ISDN user part) towards PSTN.
  • BGCF Breakout Gateway Control Function
  • the proposed SIB is configured to receive a message from one or more sources.
  • the SIB is configured to transfer the received message to a thread for processing.
  • the SIB is configured to generate a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread.
  • the SIB is configured to maintain a list comprising the set of contexts associated with thread-specific area of the thread.
  • the SIB is configured to execute, via a garbage collector, a scanning of the list after completion of the message processing to identify a subset of valid contexts and a subset of invalid contexts from the set of contexts.
  • the proposed SIB is configured to deallocate, via the garbage collector, a memory associated with the subset of invalid contexts.
  • Another aspect of the present disclosure comprises a non-transitory computer-readable storage medium storing instruction for memory management in a communication network, the instructions include executable code which, when executed by one or more units of a system causes: a transceiver unit [102] configured to receive, at a SIB, a message from one or more sources [104] , and transfer the received message to a thread for processing; a generator unit [106] connected to at least the transceiver unit [102], the generator unit [106] configured to generate a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread, and maintain a list comprising the set of contexts associated with thread-specific area of the thread; a processing unit [108] connected to at least the generator unit [106], the processing unit [108] configured to execute via a garbage collector, a scanning of the list subsequent to a completion of the message processing to identify, a subset of valid contexts and a subset of invalid contexts, from the set

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The present disclosure relates to a method and a system for memory management in a communication network The disclosure encompasses receiving a message from one or more sources; transferring the received message to a thread for processing; generating a set of contexts for processing the message, wherein each context of the set of contexts is maintained in a thread- specific area of the thread; maintaining a list comprising the set of contexts associated with a thread-specific area of the thread; executing a scanning of the list subsequent to completion of the message processing to identify a subset of valid contexts and a subset of invalid contexts, from the set of contexts; and deallocating a memory associated with the subset of invalid contexts.

Description

METHOD AND SYSTEM FOR MEMORY MANAGEMENT IN A COMMUNICATION NETWORK
FIELD OF THE DISCLOSURE
[0001] The present disclosure relates generally to the field of wireless communication systems. More particularly, the present disclosure relates to methods and systems for memory management in a communication network.
BACKGROUND
[0002] The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art.
[0003] Wireless communication technology has rapidly evolved over the past few decades, with each generation bringing significant improvements and advancements. The first generation of wireless communication technology was based on analog technology and offered only voice services. However, with the advent of the second-generation (2G) technology, digital communication and data services became possible, and text messaging was introduced. 3G technology marked the introduction of high-speed internet access, mobile video calling, and location-based services. The fourth-generation (4G) technology revolutionized wireless communication with faster data speeds, better network coverage, and improved security. Currently, the fifth-generation (5G) technology is being deployed, promising even faster data speeds, low latency, and the ability to connect multiple devices simultaneously. With each generation, wireless communication technology has become more advanced, sophisticated, and capable of delivering more services to its users.
[0004] Further, over the period various solutions have been developed to improve the performance of communication devices and to optimize context storage associated with a message. However, there are certain challenges with existing solutions. One major drawback is the reliance on manual memory management techniques, which require developers to explicitly allocate and deallocate memory. This approach introduced a high risk of human error, leading to memory leaks and dangling pointer issues. Memory leaks occur when the memory is not properly deallocated, resulting in wastage of resources and decreasing system performance over time. Additionally, dangling pointers arise when a pointer references memory that is already deallocated, leading to unexpected program behavior and potential crashes. These issues posed considerable challenges in software development and maintenance, necessitating a more efficient and reliable solution. Moreover, manual memory management is a time-consuming and labor-intensive process, diverting developers' focus from higher-level tasks. Another significant drawback is the lack of automatic memory management mechanisms, which means that developers need to manually track and release memory resources, resulting in suboptimal system performance and reduced scalability.
[0005] Thus, there exists an imperative need in the art for a technical solution that aims to address at least the above-mentioned technical issues by performing memory management in a communication network efficiently and effectively.
OBJECTS OF THE INVENTION
[0006] Some of the objects of the present disclosure, which at least one embodiment disclosed herein satisfies are listed herein below.
[0007] It is an object of the present disclosure to provide a system and a method for memory management in a communication network.
[0008] It is another object of the present disclosure to provide a solution to optimize the context storage associated with the message based on an identification of invalid context from the set of contexts.
[0009] It is yet another object of the present disclosure to deallocate a memory associated with the subset of invalid contexts.
SUMMARY OF THE INVENTION
[0010] This section is provided to introduce certain aspects of the present disclosure in a simplified form that are further described below in the detailed description. This summary is not intended to identify the key features or the scope of the claimed subject matter. [0011] According to an aspect of the present disclosure, a method for memory management in a communication network is disclosed. The method comprises receiving, by a transceiver unit at a SIB, a message from one or more sources. Furthermore, the method includes transferring, by the transceiver unit, the received message to a thread for processing. Furthermore, the method includes generating, by a generator unit, a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread. Furthermore, the method includes maintaining, by the generator unit, a list comprising the set of contexts associated with a thread-specific area of the thread. Furthermore, the method includes executing, by a processing unit via a garbage collector, a scanning of the list subsequent to a completion of the message processing to identify a subset of valid contexts and a subset of invalid contexts, from the set of contexts. Thereafter, the method includes deallocating, by a deallocator unit via the garbage collector, a memory associated with the subset of invalid contexts.
[0012] In an exemplary aspect, the one or more sources include at least one from among a user equipment (UE) and a network entity.
[0013] In an exemplary aspect, the method further comprises assigning, by the processing unit, each received message to a dedicated thread.
[0014] In an exemplary aspect, the subset of invalid contexts includes one or more contexts associated with an expired object validity status and the subset of valid contexts includes one or more contexts associated with an active object validity status.
[0015] In an exemplary aspect, the deallocating the memory comprises managing the set of contexts associated with the message based on one or more pre-defined parameters, the one or more pre-defined parameters being at least one of user-defined parameters and system-defined parameters, wherein managing the set of contexts associated with the message comprises identifying a target context and selectively deleting one or more contexts from the set of contexts.
[0016] In an exemplary aspect, the subset of valid context and the subset of invalid context are identified based on the predefined parameters.
[0017] In an exemplary aspect, the deallocating the set of invalid contexts comprises deleting the subset of invalid contexts from the list. [0018] According to an aspect of the present disclosure, a system for memory management in a communication network is disclosed. The system comprises a transceiver unit configured to receive a message from one or more sources. The transceiver unit is configured to transfer the received message to a thread for processing. Furthermore, the system comprises a generator unit connected to the transceiver unit. The generator unit is configured to generate a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread. Furthermore, the generator unit is configured to maintain a list comprising the set of contexts associated with a thread-specific area of the thread. Furthermore, the system comprises a processing unit connected to the generator unit. The processing unit is configured to execute, via a garbage collector, a scanning of the list subsequent to a completion of the message processing to identify, a subset of valid contexts and a subset of invalid contexts, from the set of contexts. Thereafter, the system comprises a deallocator unit connected to the processing unit, the deallocator unit is configured to deallocate, via the garbage collector, a memory associated with the subset of invalid contexts.
[0019] In an exemplary aspect, the processing unit is further configured to assign each received message to a dedicated thread.
[0020] In an exemplary aspect, the one or more sources include at least one from among a user equipment (UE) and a network entity.
[0021] In an exemplary aspect, the subset of invalid contexts comprises one or more contexts associated with an expired object validity status and the subset of valid contexts includes one or more contexts associated with an active object validity status.
[0022] In an exemplary aspect, the deallocation of memory comprises managing the set of contexts associated with the message based on one or more pre-defined parameters, the one or more predefined parameters being at least one of user-defined parameters and system-defined parameters. Managing the set of contexts associated with the message comprises identifying a target context and selectively deleting one or more contexts from the set of contexts.
[0023] In an exemplary aspect, the subset of valid context and the subset of invalid context are identified based on the predefined parameters. [0024] In an exemplary aspect, the deallocator unit is configured to deallocate the set of invalid contexts by deleting the subset of invalid contexts from the list.
[0025] Another aspect of the present disclosure comprises a non-transitory computer-readable storage medium storing instruction for memory management in a communication network, the storage medium include executable code which, when executed by one or more units of a system causes: a transceiver unit to receive, at a SIB, a message from a user equipment (UE), and transfer the received message to a thread for processing; a generator unit to generate a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread, and maintain a list comprising the set of contexts associated with thread-specific area of the thread; a processing unit to execute, via a garbage collector, a scanning of the list subsequent to a completion of the message processing to identify, a subset of valid contexts and a subset of invalid contexts, from the set of contexts and a deallocator unit to deallocate, via the garbage collector, a memory associated with the subset of invalid contexts.
BRIEF DESCRIPTION OF DRAWINGS
[0026] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.
[0027] FIG.1 illustrates an exemplary block diagram of a system for memory management in a communication network, in accordance with exemplary implementation of the present disclosure.
[0028] FIG.2 illustrates an exemplary method flow diagram indicating a method for memory management in a communication network, in accordance with exemplary implementation of the present disclosure. [0029] FIG.3 illustrates an exemplary sequence flow diagram indicating a process for memory management in a communication network, in accordance with exemplary implementation of the present disclosure.
[0030] FIG.4 illustrates an exemplary scenario system architecture for handling various messages through various threads, in accordance with exemplary implementation of the present disclosure.
[0031] FIG. 5 illustrates an exemplary block diagram of a computing device upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure.
[0032] FIG. 6 illustrates an exemplary block diagram of an SIB [600] for memory management in a communication network, in accordance with exemplary embodiments of the present disclosure.
[0033] The foregoing shall be more apparent from the following more detailed description of the disclosure.
DESCRIPTION
[0034] In the following description, for the purposes of explanation, various specific details are set forth in order to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein. Example embodiments of the present disclosure are described below, as illustrated in various drawings in which like reference numerals refer to the same parts throughout the different drawings.
[0035] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made to the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth. [0036] It should be noted that the terms "mobile device", "user equipment", "user device", “communication device”, “device” and similar terms are used interchangeably to describe the invention. These terms are not intended to limit the scope of the invention or imply any specific functionality or limitations on the described embodiments. The use of these terms is solely for convenience and clarity of description. The invention is not limited to any particular type of device or equipment, and it should be understood that other equivalent terms or variations thereof may be used interchangeably without departing from the scope of the invention as defined herein.
[0037] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
[0038] Also, it is noted that individual embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be rearranged. A process is terminated when its operations are completed but could have additional steps not included in a figure.
[0039] The word “exemplary” and/or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and/or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive in a manner similar to the term “comprising” as an open transition word without precluding any additional or other elements. [0040] As used herein, an “electronic device”, or “portable electronic device”, or “user device” or “communication device” or “user equipment” or “device” refers to any electrical, electronic, electromechanical, and computing device. The user device is capable of receiving and/or transmitting one or more parameters, performing function/s, communicating with other user devices, and transmitting data to the other user devices. The user equipment may have a processor, a display, memory, a battery, and an input mean such as a hard keypad and/or a soft keypad. The user equipment may be capable of operating on any radio access technology including but not limited to IP-enabled communication, Zig Bee, Bluetooth, Bluetooth Low Energy, Near Field Communication, Z-Wave, Wi-Fi, Wi-Fi Direct, etc. For instance, the user equipment may include, but is not limited to, a mobile phone, smartphone, virtual reality (VR) devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other device as may be obvious to a person skilled in the art for implementation of the features of the present disclosure.
[0041] Further, the user device may also comprise a “processor” or “processing unit [108]”, wherein the processor refers to any logic circuitry for processing instructions. The processor may be a general-purpose processor, a special-purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array circuits, any other type of integrated circuits, etc. The processor may perform signal coding data processing, input/output processing, and/or any other functionality that enables the working of the system according to the present disclosure. More specifically, the processor is a hardware processor.
[0042] As portable electronic devices and wireless technologies continue to improve and grow in popularity, the advancing wireless technologies for data transfer are also expected to evolve and replace the older generations of technologies. In the field of wireless data communications, the dynamic advancement of various generations of cellular technology is also seen. The development, in this respect, has been incremental in the order of second generation (2G), third generation (3G), fourth generation (4G), and now fifth generation (5G), and more such generations are expected to continue in the forthcoming time.
[0043] Radio Access Technology (RAT) refers to the technology used by mobile devices/ user equipment (UE) to connect to a cellular network. It refers to the specific protocol and standards that govern the way devices communicate with base stations, which are responsible for providing the wireless connection. Further, each RAT has its own set of protocols and standards for communication, which define the frequency bands, modulation techniques, and other parameters used for transmitting and receiving data. Examples of RATs include GSM (Global System for Mobile Communications), CDMA (Code Division Multiple Access), UMTS (Universal Mobile Telecommunications System), LTE (Long-Term Evolution), and 5G. The choice of RAT depends on a variety of factors, including the network infrastructure, the available spectrum, and the mobile device's/device's capabilities. Mobile devices often support multiple RATs, allowing them to connect to different types of networks and provide optimal performance based on the available network resources.
[0044] As discussed in the background section, the current known solutions for managing context storage associated with a message have several shortcomings such as the use of manual memory management introduces a high potential for errors, e.g., memory leaks and dangling pointers. Further, developers need to explicitly allocate and deallocate memory, which is a time-consuming process, prone to oversight, and diverts valuable developer resources from other critical tasks.
[0045] The present disclosure aims to overcome the above-mentioned and other existing problems in this field of technology by disclosing a novel solution that deallocates the memory in a communication network. At first, a message is received from one or more sources. The one or more sources include at least one from among a user equipment (UE) and a network entity. Next, the received message is transferred to a thread or a dedicated thread for the processing of the message. Next, a set of contexts is generated for the processing of the message, wherein each context of the set of contexts is maintained in a thread-specific area of the corresponding thread. Further, a list comprising the set of contexts associated with thread-specific areas of respective threads is also maintained by the system. Next, the system executes a scanning of the list subsequent to (or after)completion of the message processing to identify a subset of valid contexts and a subset of invalid contexts, from the set of contexts. After identification, the system deallocates a memory associated with the subset of invalid contexts. Thus, in the present solution, the storage of the set of contexts is optimized by the identification of invalid context from the set of contexts and then deallocation of the invalid context from the memory. By implementing this approach, the solution enhances the efficiency of context storage and improves the overall processing of messages.
[0046] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the accompanying drawings. [0047] Referring to Figure 1 (FIG. 1), an exemplary block diagram of a system [100], for memory management in a communication network is shown. The system [100] comprises a transceiver unit [102], one or more sources [104], a generator unit [106], a processing unit [108], a deallocator unit [110], and a storage unit [112], Also, all of the components/ units of the system [100] are assumed to be connected to each other unless otherwise indicated below. As shown in the figures all units shown within the system should also be assumed to be connected to each other. Also, in Fig. 1 only a few units are shown, however, the system [100] may comprise multiple such units, or the system [100] may comprise any such numbers of said units, as required to implement the features of the present disclosure. In an implementation, the system [100] may reside in a server or a network entity.
[0048] The system [100] is configured for memory management in the communication network, with the help of the interconnection between the components/units of the system [100], More specifically, the system [100] is configured for memory management in an IMS network. The system [100] includes the transceiver unit [102], The transceiver unit [102] is configured to receive a message, at a SIB, from the one or more sources [104], Furthermore, the transceiver unit [102] is configured to transfer the received message to a thread for processing. In an exemplary implementation, the processing unit [108] is configured to assign each received message to a dedicated thread.
[0049] As used herein, an IMS network refers to an Internet Protocol (IP) Multimedia Subsystem (IMS) network that provides an architectural framework for delivering IP-based multimedia services. For example, the IMS network is majorly used for interactive services like Voice over New Radio (VoNR), Video Conferencing, and the like over IP networks. IMS network enables secure and reliable multimedia communications between diverse devices across diverse networks. Furthermore, the IMS network provides a unified infrastructure and common mechanisms for controlling, manipulating, routing, and managing sessions. The IMS architecture includes a plurality of components. The plurality of components includes but is not limited to application servers, Home Subscriber Server (HSS), a Call Session Control Function (CSCF), a Signalling Gateway (SGW), a Media Gateway Control Function (MGCF), a Media Resource Functions (MRF), User Data Repository (UDR), a Breakout Gateway Control Function (BGCF), IP Network, and Public Switched Telephone Network.
[0050] The application servers are applications providing services, such as telephone call control, call continuity, conference calling, and supplementary service configuration. The HSS is the master database that maintains all user profile information used to authenticate and authorize subscribers. The Call Session Control Function (CSCF) is configured for controlling sessions between endpoints (referred to as terminals) and applications. The User Data Repository (UDR) is configured to store user-related information. The Breakout Gateway Control Function (BGCF) is configured to determine the network for routing calls to the public switched telephone networks (PSTN). The Signalling Gateway (SGW) is responsible for bridging the traditional Public Switched Telephone Network (PSTN) with an IP -based IMS network. The function of SGW includes but is not limited to protocol conversion, network interworking, signalling transport, security, load balancing, and traffic management. The Media Gateway Control Function (MGCF) is configured to control media gateway (MGW) and to facilitate communication between IP -based IMS networks and circuit-switched networks such as public switched telephone networks (PSTN). The Media Resource Functions (MRF) provides media-related tasks and services (e.g., playing media, and announcements) to the user. The IP network uses internet protocol for communication between user devices. The Gateway in the IMS network acts as a bridge between the IMS network and other networks, such as PSTN, and mobile networks. The PSTN integration in the IMS network is essentially an integration for ensuring interoperability between the traditional telephony services and model IP-based services.
[0051] As used herein, the SIB (Serving Call Session Control Function (S-CSCF), Interrogating Call Session Control Function (I-CSCF), and Breakout Gateway Control Function (BGCF)) refers to a platform or network entity in an IMS network that manages and executes tasks of Serving Call Session Control Function (S-CSCF), Interrogating Call Session Control Function (I-CSCF), and Breakout Gateway Control Function (BGCF). In an exemplary implementation, SIB is also referred to as a converged call session control function.
[0052] As used herein, S-CSCF is responsible for conducting registration and session control for the registered UEs.
[0053] As used herein, I-CSCF is responsible for determining which serving CSCF should be assigned to control a session requested by the UE.
[0054] As used herein, the Breakout Gateway Control Function (BGCF) is an IMS element that chooses the network where a public switched telephone network (PSTN) breakout happens. [0055] As used herein, a message refers to a piece of data, a signal, a command, or any instruction sent by the user equipment (UE) or network entity (e.g., Proxy Call Session Control Function (PCSCF), Home Subscriber Server (HSS)) to perform one or more tasks in a telecommunication network. For example, the message may be a session initiation protocol (SIP) message such as INVITE or REGISTER message, received from the UE. As used herein, a plurality of messages comprises a group of messages (e.g., four messages) received at SIB, from one or more sources, for processing.
[0056] As used herein, a thread refers to a message processing entity configured to handle the message received at the thread or assigned to the thread. As used herein, a dedicated thread refers to a thread dedicated to the processing of a message based on the type of the message. The dedicated thread is only used for the processing of the message to prevent any delay in the processing.
[0057] As used herein, the context refers to a data entity class that holds the information needed by the thread to handle the received message. In an example, the context holds the information related to a particular session or transaction such as user identities, session parameters, and state information.
[0058] As used herein, the set of contexts refers to a group of contexts created or handled by a thread.
[0059] As used herein, the valid context refers to an active context relevant to the current session or upcoming session. The valid context has a valid period.
[0060] As used herein, the active object with a validity status indicates that the context or object is currently relevant and usable for processing the message.
[0061] As used herein, the invalid context refers to an outdated context that is not valid or relevant to the current session or upcoming session. The invalid context surpassed its validity period.
[0062] As used herein, expired object validity status indicates that the context or object is no longer relevant or usable for the current or upcoming sessions.
[0063] As used herein, the thread-specific area is an area where the contexts associated with the processing of the message are maintained or stored for each thread, ensuring that the processing of messages is isolated and organized according to the respective threads handling it. This helps in managing resources efficiently and avoiding conflicts between different threads accessing shared memory areas.
[0064] As used herein, the garbage collector refers to an automatic memory management mechanism or component in the computation environment to detect unnecessary or expired contexts and to make the memory space (or context storage) free by removing the invalid contexts.
[0065] The system [100] further comprises the generator unit [106] connected to at least the transceiver unit [102], The generator unit [106] is configured to generate a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread. Furthermore, the generator unit [106] maintains a list comprising the set of contexts associated with the thread-specific area of the thread
[0066] The system [100] comprises the processing unit [108] connected to at least the generator unit [106], The processing unit [108] is configured to execute, via a garbage collector, a scanning of the list subsequent to a completion of the message processing to identify a subset of valid contexts and a subset of invalid contexts, from the set of contexts. The subset of invalid contexts comprises one or more contexts associated with an expired object validity status and the subset of valid contexts includes one or more contexts associated with an active object validity status. In an exemplary aspect, the processing unit [108] of the system [100] is configured to manage the context storage associated with the message based on the identifying target context from the set of contexts. In an exemplary aspect of the present disclosure, the context storage associated with the message is optimized based on the identification of the target context from the set of contexts and based on a deletion of the one or more contexts from the set of contexts received at the storage unit by the dedicated thread. In an example, the target context may correspond to the invalid context that needs to be removed from the storage unit.
[0067] Furthermore, the system comprises the deallocator unit [110] connected to at least the processing unit [108], The deallocator unit [110] is configured to deallocate, via the garbage collector, a memory associated with the subset of invalid contexts. The deallocator unit [110] optimizes memory management to free up the memory. The deallocation of memory comprises managing the set of contexts associated with the message based on one or more pre-defined parameters, the one or more pre-defined parameters being at least one of user-defined parameters and system-defined parameters. In an exemplary implementation, the user-defined parameters may include the expiry time of each context, frequency of use of context, one or more conditions defined to remove the context, and the like. In an exemplary implementation, the system-defined parameters comprise reachability of context, number of active references to the context, memory status (whether near to full stage or memory is low), and the like. The deallocator unit [110] is further configured to deallocate the set of invalid contexts by deleting the subset of invalid contexts from the list. In a non-limiting embodiment, the deallocating unit may deallocate with memory based on user input or automatically based on one or more pre-defined parameters.
[0068] The system includes the storage unit [112], The storage unit may be connected to the transceiver unit [102], the one or more sources [104], the generator unit [106], the processing unit [108], and the deallocator unit [110], The storage unit [112] is configured to store data required to implement the features of the present disclosure. For example, the storage unit [112] may store context-related data, message-related data, thread-related data, and the like.
[0069] In an implementation of the present disclosure, the SIB is associated with the one or more units (e.g., the transceiver unit [102], the generator unit [106], the processing unit [108], the deallocator unit [110], and the storage unit [112]) to implement the features of the present disclosure.
[0070] Referring to Figure 2 (FIG. 2), an exemplary method flow diagram [200], memory management in a communication network, in accordance with exemplary embodiments of the present invention is shown. In an implementation, the method [200] is performed by the system [100], As shown in Figure 2, the method [200] starts at step [202],
[0071] At step [204], the method [200] as disclosed by the present disclosure comprises receiving, by a transceiver unit [102] at a SIB, a message from one or more sources [104], The one or more sources include at least one from among a user equipment (UE) and a network entity. In an example, the message may be received from a user equipment (UE). In another example, the message may be received from a network entity. In yet another example, one message may be received from the user equipment and another message may be received from the network entity. In yet another example, a first message may be received from a first UE, a second message may be received from a second UE, a third message may be received from a first network entity and a fourth message may be received from a second network entity. The method further comprises assigning, by a processing unit [108], each received message to a dedicated thread. The message received at the transceiver unit [102] is assigned to the dedicated thread for processing. [0072] At step [206], the method [200] as disclosed by the present disclosure comprises transferring, by the transceiver unit [102], the received message to a thread for processing. The thread may be a dedicated thread assigned by the SIB for the processing of the message.
[0073] At step [208], the method [200], as disclosed by the present disclosure, comprises generating, by a generator unit [106], a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread.
[0074] At step [210], the method [200] as disclosed by the present disclosure comprises maintaining, by the generator unit [106], a list comprising the set of contexts associated with the thread-specific area of the thread.
[0075] At step [212], the method [200] as disclosed by the present disclosure comprises executing, by a processing unit [108] via a garbage collector, a scanning of the list subsequent to completion of the message processing to identify, a subset of valid contexts and a subset of invalid contexts, from the set of contexts.
[0076] Further, the subset of invalid contexts includes one or more contexts associated with an expired object validity status, and the subset of valid contexts includes one or more contexts associated with an active object validity status.
[0077] At step [214], the method [200] as disclosed by the present disclosure comprises deallocating, by a deallocator unit [110] via the garbage collector, a memory associated with the subset of invalid contexts. The automatic deallocation of the memory comprises managing the set of contexts associated with the message based on one or more pre-defined parameters. The subset of valid context and the subset of invalid context are identified based on the one or more predefined parameters. The one or more pre-defined parameters include at least one of user-defined parameters and system-defined parameters, wherein managing the set of contexts associated with the message comprises identifying a target context and selectively deleting one or more contexts from the set of contexts. Thereafter, the method terminates at step [216],
[0078] Referring to Figure 3 (FIG. 3) an exemplary sequence flow diagram indicating a process for memory management in a communication network is shown. At step SI, a message (Ml) is received from the user equipment [302] at a SIB node [304], At step S2, the message (Ml) is transferred or assigned to a thread (Tl) to process the message (Ml). The thread T1 starts working on the message Ml. At step S3, the thread Tl may create or handle one or more contexts i.e., Cl, C2, C3 for the processing of the received message Ml. In an exemplary implementation, the message may be an INVITE message to initiate a video call session, and the context Cl may be related to the latest session information (such as active state), C2 may be related to previous session (such as old session timestamp), and C3 may be related to session data from previous failed attempt. At step S4, a smart list of contexts is maintained in the thread-specific area of Tl. At step S5, the thread Tl performs processing of the message Ml utilizing the one or more contexts. At step S6, the SIB node [304] sends a processed message to a network node [306], As used herein, the network node [306] refers to a subsequent network node to which the processed message is transmitted from the SIB after the processing. In a non-limiting example, the network node may refer to one of the Proxy Call Session Control Functions (PCSCF), Application Server, Home Subscriber Server (HSS), or Interconnection Border Control Function (IBCF). The network node [306] receives the processed message to execute further tasks and actions. The further tasks and actions performed by the network node depend upon the type of message received at the network node. In an example, the HSS (network node) may verify the identity of the user after receiving the processed message (e.g., an authentication request from the UE) or may provide details related to the profile of the caller and callee, to the SIB node, after receiving the processed message (e.g., INVITE request from the UE). At step S7, a garbage collector scans a list of contexts maintained in the thread-specific area of Tl to identify valid context and invalid context. Based on the validity of the context (Cl, C2, C3), the garbage collector deletes the context that is no longer required to optimize the memory. In an exemplary implementation, the garbage collector identifies the invalid contexts i.e., C2, C3, and deletes these contexts from the memory to free up the space. At S8, the thread Tl returns to process another message received at the SIB. Thereafter, the flow ends.
[0079] Referring to Figure 4 (FIG. 4) an exemplary method flow diagram [400] for handling various messages through various threads is shown, in accordance with exemplary embodiments of the present disclosure.
[0080] At step [402], a plurality of messages is transmitted to SIB for processing. The plurality of messages is received from one or more sources. The one or more sources include at least one from among a user equipment (UE) and a network entity. In an example, Message Ml is received from a first UE, Message M2 is received from a second UE, and Message M3 is received from a third UE. [0081] At step [404], the SIB assigns different or multiple threads for handling the plurality of messages. In an exemplary implementation, SIB uses thread 1, thread 2, and thread 3 for handling the plurality of messages. In an example, thread 1 is configured to handle Message Ml, thread 2 is configured to handle Message M2, and thread 3 is configured to handle Message M3.
[0082] At step [406], thread 1 handles one of the plurality of messages (e.g., Message Ml) and creates contexts Cl, C2, and C3 for the processing of the message. After processing the messages, thread 1 may send the processed message to the subsequent network node for further processing. After sending the processed message, the thread-specific area associated with thread 1 includes the Cl, C2, and C3 context.
[0083] At step [408], thread 2 handles one of the plurality of messages (e.g., Message M2) and creates contexts C4, and C5 for the processing of the message. After processing the message, thread 2 may send the processed message to the subsequent network node for further processing. After sending the processed message, the thread-specific area associated with thread 2 includes the C4 and C5 contexts.
[0084] At step [410], thread 3 handles one of the plurality of messages (e.g., Message M3) and creates contexts C6, and C7 for the processing of the message. After processing the message, thread 3 may send the processed message to the subsequent network node (e.g., Unified Data Management node) for further processing. After sending the processed message, the threadspecific area associated with thread 3 includes C6 and C7 contexts.
[0085] Thus, the SIB handles a list of contexts that include Cl, C2, C3, C4, C4, C6, and C7. The SIB then uses the garbage collector to identify the valid and invalid contexts from the list of contexts. Accordingly, the SIB may delete or remove the invalid context from the thread-specific area to free the memory and thus optimize the computation and memory resources.
[0086] Figure 5 (FIG. 5) illustrates an exemplary block diagram of a computing device [500] (also referred to herein as a computer system [500]) upon which the features of the present disclosure may be implemented in accordance with exemplary implementation of the present disclosure. In an implementation, the computing device [500] may also implement a method for memory management in a communication network utilizing the system. In another implementation, the computing device [500] itself implements the method for memory management in a communication network using one or more units configured within the computing device [500], wherein said one or more units are capable of implementing the features as disclosed in the present disclosure.
[0087] The computing device [500] may include a bus [502] or other communication mechanism for communicating information, and a processor [504] coupled with bus [502] for processing information. The processor [504] may be, for example, a general-purpose microprocessor. The computing device [500] may also include a main memory [506], such as a random-access memory (RAM), or other dynamic storage device, coupled to the bus [502] for storing information and instructions to be executed by the processor [504], The main memory [506] also may be used for storing temporary variables or other intermediate information during the execution of the instructions to be executed by the processor [504], Such instructions, when stored in non-transitory storage media accessible to the processor [504], render the computing device [500] into a specialpurpose machine that is customized to perform the operations specified in the instructions. The computing device [500] further includes a read-only memory (ROM) [508] or other static storage device coupled to the bus [502] for storing static information and instructions for the processor [504],
[0088] A storage device [510], such as a magnetic disk, optical disk, or solid-state drive is provided and coupled to the bus [502] for storing information and instructions. The computing device [500] may be coupled via the bus [502] to a display [512], such as a cathode ray tube (CRT), Liquid crystal Display (LCD), Light Emitting Diode (LED) display, Organic LED (OLED) display, etc. for displaying information to a computer user. An input device [514], including alphanumeric and other keys, touch screen input means, etc., may be coupled to the bus [502] for communicating information and command selections to the processor [504], Another type of user input device may be a cursor controller [516], such as a mouse, a trackball, or cursor direction keys, for communicating direction information and command selections to the processor [504], and for controlling cursor movement on the display [512], This input device typically has two degrees of freedom in two axes, a first axis (e.g., x) and a second axis (e.g., y), that allow the device to specify positions in a plane.
[0089] The computing device [500] may implement the techniques described herein using customized hard-wired logic, one or more ASICs or FPGAs, firmware, and/or program logic which in combination with the computing device [500] causes or programs the computing device [500] to be a special-purpose machine. According to one implementation, the techniques herein are performed by the computing device [500] in response to the processor [504] executing one or more sequences of one or more instructions contained in the main memory [506], Such instructions may be read into the main memory [506] from another storage medium, such as the storage device [510], Execution of the sequences of instructions contained in the main memory [506] causes the processor [504] to perform the process steps described herein. In alternative implementations of the present disclosure, hard-wired circuitry may be used in place of or in combination with software instructions.
[0090] The computing device [500] also may include a communication interface [518] coupled to the bus [502], The communication interface [518] provides a two-way data communication coupling to a network link [520] connected to a local network [522], For example, the communication interface [518] may be an integrated services digital network (ISDN) card, cable modem, satellite modem, or a modem to provide a data communication connection to a corresponding type of telephone line. As another example, the communication interface [518] may be a local area network (LAN) card to provide a data communication connection to a compatible LAN. Wireless links may also be implemented. In any such implementation, the communication interface [518] sends and receives electrical, electromagnetic or optical signals that carry digital data streams representing various types of information.
[0091] The computing device [500] can send messages and receive data, including program code, through the network(s), the network link [520], and the communication interface [518], In the Internet example, a server [530] might transmit a requested code for an application program through the Internet [528], the ISP [526], the Host [524], the local network [522], and the communication interface [518], The received code may be executed by the processor [504] as it is received, and/or stored in the storage device [510], or other non-volatile storage for later execution.
[0092] The computing device [500] encompasses a wide range of electronic devices capable of processing data and performing computations. Examples of computing device [500] include, but are not limited only to, personal computers, laptops, tablets, smartphones, servers, and embedded systems. The devices may operate independently or as part of a network and can perform a variety of tasks, such as data storage, retrieval, and analysis. Additionally, computing device [500] may include peripheral devices, such as monitors, keyboards, and printers, as well as integrated components within larger electronic systems, showcasing their versatility in various technological applications. [0093] Referring to Figure 6 (FIG. 6) an exemplary block diagram of an SIB [600] is shown. In an exemplary implementation, the SIB is a microservice-based and cloud-native voice-over New Radio (NR) solution to perform the roles of call session control function (CSCF). The SIB [600] comprises a Serving Call Session Control Function (S- CSCF) [602], an Interrogating Call Session Control Function (I-CSCF) [604] and Breakout Gateway Control Function (B-GCF) [606], The S- CSCF [602] conducts both registration and session control for the registered UEs. It functions as a registrar and enables the network location information of the UE to be available at the HSS. Further, the Serving CSCF [602] maintains a full state of the sessions and includes the capability to originate and terminate a session on behalf of a requesting endpoint.
[0094] The Interrogating Call Session Control Function (I-CSCF) [604] determines which serving CSCF [602] needs to be assigned for controlling the session requested by the UE. I-CSCF [604] obtains the request for the address of S-CSCF [602] from the Home Subscriber Server (HSS) during a registration request and provides it to the P-CSCF for subsequent multimedia requests.
[0095] The Breakout Gateway Control Function (BGCF) [606] is an IMS element that chooses the network where PSTN breakout happens. If the breakout is to occur, then the BGCF [606] selects an MGCF (Media Gateway Control Function) which will be responsible for interworking with the PSTN. The MGCF then receives the SIP signalling from the BGCF [606] and sends it on ISUP (ISDN user part) towards PSTN.
[0096] In an implementation of the present invention, the proposed SIB is configured to receive a message from one or more sources. Next, the SIB is configured to transfer the received message to a thread for processing. Next, the SIB is configured to generate a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread. Next, the SIB is configured to maintain a list comprising the set of contexts associated with thread-specific area of the thread. Next, the SIB is configured to execute, via a garbage collector, a scanning of the list after completion of the message processing to identify a subset of valid contexts and a subset of invalid contexts from the set of contexts. Thereafter, the proposed SIB is configured to deallocate, via the garbage collector, a memory associated with the subset of invalid contexts.
[0097] Another aspect of the present disclosure comprises a non-transitory computer-readable storage medium storing instruction for memory management in a communication network, the instructions include executable code which, when executed by one or more units of a system causes: a transceiver unit [102] configured to receive, at a SIB, a message from one or more sources [104] , and transfer the received message to a thread for processing; a generator unit [106] connected to at least the transceiver unit [102], the generator unit [106] configured to generate a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread, and maintain a list comprising the set of contexts associated with thread-specific area of the thread; a processing unit [108] connected to at least the generator unit [106], the processing unit [108] configured to execute via a garbage collector, a scanning of the list subsequent to a completion of the message processing to identify, a subset of valid contexts and a subset of invalid contexts, from the set of contexts and a deallocator unit [110] connected to at least the processing unit [108], the deallocator unit[110] configured to deallocate, via the garbage collector, a memory associated with the subset of invalid contexts.
[0098] As is evident from the above, the present disclosure provides a technically advanced solution for managing a context storage associated with a message by implementing automatic memory de-allocation through a garbage collector. This advancement has a profound technical effect on the memory management process. The garbage collector autonomously de-allocates memory for objects whose validity has expired, relieving the code author from the responsibility of memory de-allocation. As the thread processes messages, the garbage collector scans the smart list and returns the memory back. This eliminates the need for manual handling of memory leakage and dangling pointer issues typically associated with manual memory management. The introduction of garbage collection ensures efficient memory utilization, reduces the risk of memory-related errors, and simplifies the development process by automating memory management tasks. This technical advancement improves the reliability and performance of systems, enhancing overall efficiency of the system.
[0099] Further, in accordance with the present disclosure, it is to be acknowledged that the functionality described for the various components/units can be implemented interchangeably. While specific embodiments may disclose a particular functionality of these units for clarity, it is recognized that various configurations and combinations thereof are within the scope of the disclosure. The functionality of specific units as disclosed in the disclosure should not be construed as limiting the scope of the present disclosure. Consequently, alternative arrangements and substitutions of units, provided they achieve the intended functionality described herein, are considered to be encompassed within the scope of the present disclosure.
[0100] While considerable emphasis has been placed herein on the disclosed embodiments, it will be appreciated that many embodiments can be made and that many changes can be made to the embodiments without departing from the principles of the present disclosure. These and other changes in the embodiments of the present disclosure will be apparent to those skilled in the art, whereby it is to be understood that the foregoing descriptive matter to be implemented is illustrative and non-limiting.

Claims

I/We Claim:
1. A method for memory management in a communication network, the method comprises: receiving, by a transceiver unit [102] at a SIB, a message from one or more sources [104]; transferring, by the transceiver unit [102], the received message to a thread for processing; generating, by a generator unit [106], a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread; maintaining, by the generator unit [ 106], a list comprising the set of contexts associated with thread-specific area of the thread; executing, by a processing unit [108] via a garbage collector, a scanning of the list subsequent to completion of the message processing to identify, a subset of valid contexts and a subset of invalid contexts, from the set of contexts; and deallocating, by a deallocator unit [110] via the garbage collector, a memory associated with the subset of invalid contexts.
2. The method as claimed in claim 1, wherein the method further comprises assigning, by the processing unit [108], each received message to a dedicated thread.
3. The method as claimed in claim 1, wherein the one or more sources comprise at least one from among a user equipment (UE) and a network entity.
4. The method as claimed in claim 1, wherein the subset of invalid contexts includes one or more contexts associated with an expired object validity status, and the subset of valid contexts comprise one or more contexts associated with an active object validity status.
5. The method as claimed in claim 1, wherein the deallocating the memory comprises managing the set of contexts associated with the message based on one or more pre-defined parameters, the one or more pre-defined parameters being at least one of user-defined parameters and system-defined parameters, wherein managing the set of contexts associated with the message comprises identifying a target context and selectively deleting one or more contexts from the set of contexts.
6. The method as claimed in claim 5, wherein the subset of valid context and the subset of invalid context are identified based on the one or more pre-defined parameters.
7. The method as claimed in claim 1 wherein the deallocating the set of invalid contexts comprises deleting the subset of invalid contexts from the list.
8. A system [100] for memory management in a communication network, the system comprises: a transceiver unit [102] configured to: receive, at a SIB, a message from one or more sources [104], and transfer the received message to a thread for processing; a generator unit [106] connected to the transceiver unit [102], the generator unit [106] is configured to: generate a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread, and maintain a list comprising the set of contexts associated with a thread-specific area of the thread; a processing unit [108] connected to the generator unit [106], the processing unit [108] is configured to execute, via a garbage collector, a scanning of the list subsequent to completion of the message processing to identify, a subset of valid contexts and a subset of invalid contexts, from the set of contexts; and a deallocator unit [110] connected to the processing unit [108], the deallocator unit [110] is configured to deallocate, via the garbage collector, a memory associated with the subset of invalid contexts.
9. The system as claimed in claim 8, wherein the processing unit [108] is further configured to assign each received message to a dedicated thread.
10. The system as claimed in claim 8, wherein the one or more sources [104] comprise at least one from among a user equipment (UE) and a network entity.
11. The system as claimed in claim 8, wherein the subset of invalid contexts comprises one or more contexts associated with an expired object validity status, and the subset of valid contexts comprises one or more contexts associated with an active object validity status.
12. The system as claimed in claim 8, wherein the deallocation of the memory comprises managing the set of contexts associated with the message based on one or more pre-defined parameters, the one or more pre-defined parameters being at least one of user-defined parameters and system-defined parameters, wherein managing the set of contexts associated with the message comprises identifying a target context and selectively deleting one or more contexts from the set of contexts.
13. The system as claimed in claim 12, wherein the subset of valid context and the subset of invalid context are identified based on the one or more pre-defined parameters.
14. The system as claimed in claim 8, wherein the deallocator unit [110] is configured to deallocate the set of invalid contexts by deleting the subset of invalid contexts from the list.
15. A non-transitory computer-readable storage medium storing instruction for memory management in a communication network, the storage medium comprising executable code which, when executed by one or more units of a system, causes: a transceiver unit [102] to: receive a message from one or more sources [104], and transfer the received message to a thread for processing; a generator unit [106] to: generate a set of contexts for processing the message, each context of the set of contexts being maintained in a thread-specific area of the thread, and maintain a list comprising the set of contexts associated with a thread-specific area of the thread; a processing unit [108] to execute via a garbage collector, a scanning of the list subsequent to completion of the message processing to identify, a subset of valid contexts and a subset of invalid contexts, from the set of contexts; and a deallocator unit [110] to deallocate, via the garbage collector, a memory associated with the subset of invalid contexts.
PCT/IN2024/050932 2023-07-05 2024-06-26 Method and system for memory management in a communication network WO2025008951A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN202321045008 2023-07-05
IN202321045008 2023-07-05

Publications (1)

Publication Number Publication Date
WO2025008951A1 true WO2025008951A1 (en) 2025-01-09

Family

ID=94171258

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IN2024/050932 WO2025008951A1 (en) 2023-07-05 2024-06-26 Method and system for memory management in a communication network

Country Status (1)

Country Link
WO (1) WO2025008951A1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9213638B1 (en) * 2015-03-24 2015-12-15 Xamarin Inc. Runtime memory management using multiple memory managers

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9213638B1 (en) * 2015-03-24 2015-12-15 Xamarin Inc. Runtime memory management using multiple memory managers

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
KONSTANTINOS SAGONAS ET AL.: "Message Analysis-Guided Allocation and Low Pause Incremental Garbage Collection in a Concurrent Language", ISMM '04: PROCEEDINGS OF THE 4TH INTERNATIONAL SYMPOSIUM ON MEMORY MANAGEMENT, 24 October 2004 (2004-10-24), pages 1 - 12, XP058233987, Retrieved from the Internet <URL:https://doi.org/10.1145/1029873.1029875> DOI: 10.1145/1029873.1029875 *

Similar Documents

Publication Publication Date Title
US9952888B2 (en) Method and system to dynamically instantiate virtual repository for any services
EP2974159B1 (en) Method, device and system for voice communication
WO2021088671A1 (en) Method for calling terminal capability, device, and computer storage medium
WO2015192559A1 (en) Ims, and method and apparatus for provisioning service in ims
US11659607B2 (en) Session initiated protocol (SIP) session establishment with a home subscriber server (HSS) outage
US9032082B2 (en) Method and device configured for processing an SDP request in a media path optimization process
CN102651732A (en) Service triggering method and system in Internet protocol multimedia subsystem (IMS) network
US11419167B2 (en) Session initiated protocol (SIP) session establishment with a home subscriber server (HSS) outage
JP2009171104A (en) Communication system, dhcp server, sip server, selection method of sip server and program
WO2025008951A1 (en) Method and system for memory management in a communication network
WO2024051627A1 (en) Communication establishment method and apparatus, terminal device, and network side device
CN1499790A (en) Method of interface for opening service to outside world through soft exchange facilities
CN103997491A (en) Quantum secret communication telephone subscriber terminal extension gateway system
US20160182572A1 (en) Method, device, and system for implementing prompting and collecting user information
EP4274188B1 (en) Switchover to another outbound p-cscf initiated by an ims of a communication network
CN113438698B (en) Call routing method, device, medium and electronic equipment
WO2025008895A1 (en) Method and system for performing handover from wlan to new radio (nr) in a wireless network
WO2025008919A1 (en) Method and system for identifying scscf node associated with originating party
WO2025008917A1 (en) Method and system for extracting desired sip packets at sib node server
US20240340976A1 (en) Session management function selection and blocking
WO2025013070A1 (en) Method and system for call checkpointing in an internet protocol multimedia subsystem
WO2025012950A1 (en) Method and system for dynamically provisioning streaming data records (sdr) information
CN101997839B (en) Method and application server for acquiring user capability from third part call control
WO2025013069A1 (en) Method and system for synchronizing an international mobile subscriber identifier (imsi) thread binding
WO2025008911A1 (en) Method and system for sending an alert notification to a user equipment (ue) subscriber

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 24835672

Country of ref document: EP

Kind code of ref document: A1