WO2014042513A1 - A system and method for transmitting web content - Google Patents

A system and method for transmitting web content Download PDF

Info

Publication number
WO2014042513A1
WO2014042513A1 PCT/MY2013/000158 MY2013000158W WO2014042513A1 WO 2014042513 A1 WO2014042513 A1 WO 2014042513A1 MY 2013000158 W MY2013000158 W MY 2013000158W WO 2014042513 A1 WO2014042513 A1 WO 2014042513A1
Authority
WO
WIPO (PCT)
Prior art keywords
web
mobile server
mediator
computing devices
content
Prior art date
Application number
PCT/MY2013/000158
Other languages
French (fr)
Inventor
Neng Choong Khong
Suan Lee Cheng
Original Assignee
Mimos Berhad
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 Mimos Berhad filed Critical Mimos Berhad
Publication of WO2014042513A1 publication Critical patent/WO2014042513A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/34Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/566Grouping or aggregating service requests, e.g. for unified processing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Definitions

  • the present invention generally relates to a system and method for transmitting web content and more particularly to a system and method for dynamically allocating a computing device for transmitting web content from a server to multiple client devices.
  • some existing approaches to solve such issues includes proxy caching, content distribution networks (CDN) and Peer-to-Peer (P2P) networking.
  • CDN content distribution networks
  • P2P Peer-to-Peer
  • these solutions need to be manually installed or configured beforehand and their network locations are fixed upon deployment.
  • client requests i.e. from which network or sub-network the requests came from.
  • P2P networking a client tends to make multiple connections to different clients to obtain different bits or parts of the content and thereon, aggregates those parts into a complete content.
  • the content is distributed across multiple clients and thus, consuming less server resource, the user still consumes a lot of network resources due to multiple connections to the multiple clients.
  • the present invention provides a system for transmitting web content.
  • the system comprises of a web server (100) residing in a wide area network, and at least two computing devices (300) residing in a local area network.
  • Said system further includes a mediator (200), wherein said mediator (200) is configured for deciding and managing a computing device (300a) allocated for transmitting the web content from said web server (100), and providing redirection information to said computing devices (300b) in order to obtain the web content of said web server (100) from said allocated computing device (300a).
  • Each computing device (300) includes a web browser (310) embedded with a web agent (320), wherein said web agent (320) is used for registering with said mediator (200), redirecting said web browser (310) to obtain the web content from said allocated computing device (300a), and providing status information to said mediator (200).
  • Said allocated computing device (300a) comprises of a mobile _sejver_mod Je X350)L.an.d._a._mobile -server- container-(360), wherein said mobile server module (350) is used to execute server functionality, and wherein said mobile server container (360) is used to register said mobile server module (350) with said mediator (200), update status information of said mobile server module (350) to said mediator (200) and download said mobile server module (350) to said allocated computing devices (300a).
  • said mobile server module (350) is a web service running on said mobile server container (360).
  • the present invention also provides a method for transmitting a web content or web service.
  • the method is characterised by the steps of requesting a web content or web service from a web server (100) by a web browser of a computing device (300); replying to the web browser (310) by the web server (100) with a web page, the requested content or service, and a script for embedding a web agent (320) in the web browser (310); registering the embedded web agent (320) in the web browser (310) with the mediator (200) by using a unique identification; determining whether any other computing devices (300) having a registered web agent (320) is requesting for the same content or service; sending the requested web content or web service from the web server (100) to the computing device (300) if the number of computing devices (300) requesting for the same content or service is less than a predetermined threshold value; allocating one of the computing devices (300a) by the mediator (200) if the number of computing devices (300) is greater than or equal to the predetermined threshold value
  • the method further includes the steps of if one or more computing devices (300b) are no longer requesting and retrieving the web content or service from the allocated computing device (300a), notifying to the mediator (200) from the respective web agents of the computing devices (300b) for disconnection; determining whether the number of computing devices (300) is less than the predetermined threshold value; and if the number of computing devices (300) is less
  • the step of allocating a computing device (300a) for transmitting the web content or web service includes the steps of generating a unique identification by the mobile server container (360); registering the mobile server container (360) with the mediator (200); storing the received registration information by the mediator (200); sending a list of active mobile server modules (350) to the mediator (200) from the mobile server container (360); selecting a mobile server module (350) from the list of active mobile server modules by the mediator (200), wherein the selection is based on whether the active mobile server module (350) is from the same LAN as the web agents (320) of the computing devices (300b); determining whether the number of computing devices that the mobile server module (350) currently serving exceeds a predetermined threshold by the mediator (200); sending a hosting message from the mediator (200) to the mobile server container (360) coupled to the selected mobile server module (350), wherein the hosting message include an indication to activate a new mobile server module (350) if the number of computing devices that the mobile server module (350) currently serving exceed
  • the step of hosting the web content or web service from the web server (100) by the mobile server module (350) includes the steps of initiating the mobile server module (350) by the mobile server container (360); requesting the web content from the web server (100) by the mobile server module (350); sending the web content from the web server (100) to the mobile server module (350); creating a thread by the mobile server module (350) to listen to the requests from other computing devices (300b); informing the mobile server container (360) that the mobile server module (350) is ready to serve the requests from other computing devices (300b); creating a thread by the mobile server module (350) for periodically updating the mobile server container (360) on its status; sending a readiness message to the mediator (200) by the mobile server container (360); informing the web agents (320) of the other computing devices (300b) to perform redirection; and updating a table containing a list of registered web agents (320) by the mediator (200).
  • FIG. 1 illustrates a network architecture of a system for transmitting web content according to an embodiment of the present invention.
  • FIG. 2 is a block diagram of a system for transmitting web content according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of a method for transmitting web content according to an embodiment of the present invention.
  • FIG. 4 is a flowchart of a method for allocating a computing device (300a) for transmitting web content according to an embodiment of the present invention.
  • FIG. 5 is a flowchart of a method for setting up an allocated computing device (300a) to host web content or web service from a web server (100) according to an embodiment of the present invention.
  • the system comprises of a web server (100), a mediator (200), and a plurality of computing devices (300).
  • the computing devices (300) are connected in a local area network (LAN), whereas the web server (100) and mediator (200) are connected in a wide area network (WAN).
  • the local area network (LAN) is connected to the wide area network (WAN) through either a gateway or a router.
  • the system is able to reduce the number of identical WAN connections and to make higher utilization of the LAN bandwidth for contents delivery.
  • FIG. 2 shows a block diagram of the system for transmitting web content.
  • the web server (100) is used for maintaining and delivering web contents or services such as video on demand, multimedia live streaming and etc.
  • the web server (100) is connected to the computing devices (300) residing in the LAN.
  • the mediator (200) is used to decide and manage a computing device (300a) allocated for transmitting the web content from the web server (100). Moreover, the mediator (200) is used to provide redirection information to the rest of computing devices (300b) in order to obtain the web content of the web server (100) from the allocated computing device (300a). Although the system is shown as having the mediator (200) connected to one LAN, the mediator (200) can be connected to multiple LANs and thus, the mediator (200) is responsible for managing multiple allocated computing devices (300a) from multiple LANs.
  • the web browser (310) is used for requesting and receiving web contents or services.
  • the web browser (310) is embedded with the web agent (320) during the initial request of web content from the web server (100), wherein when the web browser (310) sends a request for a web content or web service to the web server (100), the web server (100) replies to the web browser (310) with a web page, the requested content or services, and a script for embedding the web agent (320) in the web browser (310).
  • the web agent (320) is then used for registering with the mediator (200), redirecting the web browser (310) to obtain the web content from the allocated computing device (300a), and providing status information to the mediator (200).
  • the allocated computing device (300a) comprises of at least one mobile server module (350) and a mobile server container (360).
  • the mobile server module (350) is used to execute server functionality.
  • the mobile server module (350) is used to request and receive web contents or services from the web server (100) and transmit those web contents or services to the computing devices (300) requesting such contents or services.
  • the mobile server module (350) only transmits the contents or services to the computing devices (300) that are within its LAN.
  • the mobile server module (350) is preferably a web service running on the mobile server container (360).
  • the mobile server container (360) is used to register the mobile server module (350) with the mediator (200), update status information of the mobile server module (350) to the mediator (200) and download the mobile server module (350) to the allocated computing devices (300a).
  • the allocated computing device (300a) is shown as having one mobile server module (350) coupled to the mobile server container (360), the mobile server container (360) can be coupled with multiple mobile server module (350) to serve the requests from the computing devices (300b).
  • a web browser of a computing device (300) requests a web content or web service from a particular web server (100) as in step 401.
  • the computing device (300) _sends_a_Hypertext-Transfer-Protocol-(HT-TP)-request-to the web-server (100)-
  • the web server (100) replies to the web browser (310) with a web page, the requested web content or web service, and a script for embedding the web agent (320) in the web browser (310) as in step 402.
  • the embedded web agent (320) in the web browser (310) generates a unique identification.
  • the embedded web agent (320) uses the generated identification to register with the mediator (200) as in step 403.
  • information such as IP address of the computing device (300), IP address of the gateway and trace route, is sent by the embedded web agent (320) to the mediator (200) for registration.
  • the mediator (200) registers the web agent (320) and determines whether any other computing devices (300) having a registered web agent (320) are requesting for the same content.
  • the number of computing devices (300) requesting for the same content is compared with a predetermined threshold value. If the number of computing devices (300) is less than the predetermined threshold value, the computing device (300) continues receiving the requested web content from the web server (100). However, if the number of computing devices (300) is greater than or equal to the predetermined threshold value, the mediator (200) allocates one of the computing devices (300a) for transmitting the requested content as in decision 404 and step 405.
  • the mediator (200) sends a redirection message to the web agents (320) of the computing devices (300b) requesting for the same content as in step 406.
  • the redirection message is to notify the web agents (320) to perform a redirection to obtain the content from the allocated computing device (300a).
  • the web agents (320) retrieve the content from the allocated computing device (300a) instead from the web server (100) as in step 407.
  • the respective web agents of the computing devices (300b) notifies the mediator (200) for disconnection and thereon, the mediator (200) determines whether the number of computing devices (300) is less than the predetermined threshold value. If the number of computing devices (300) is less than the predetermined threshold value, the mediator (200) triggers the web agents to stop retrieving the content from the allocated computing device (300a) and thereon, each web agent directs its computing device (300) to retrieve the content from the web server (100) instead. However, if the number of computing devices (300) is greater than or equal to the predetermined threshold value, the rest of the web agents (320) still retrieve the content from the allocated computing device (300a).
  • the mobile server container (360) generates a unique identification and registers itself with the mediator (200) by sending information such as the unique identification of the mobile server container (360), IP address of the mobile server container (360), IP address of the gateway, and trace route (step 501).
  • the mediator (200) builds a table comprising a list of unique identification of the mobile server containers (360), IP addresses of the gateway and the mobile server container (360), and trace route (step 502).
  • Table 1 An example of the table is shown in Table 1 which includes a list of registered mobile server container (360) and its information.
  • the mobile server container (360) sends a list of active mobile server modules (350) to the mediator (200) (step 503).
  • An example of the list of active mobile server module (350) is shown in Table 2.
  • a mobile server module (350) is determined to be active based on the status report periodically sent by the mobile server module (350) to the mobile server container (360).
  • the mediator (200) selects the active mobile server module (350) that is from the same LAN as the web agents (320) of the computing devices (300b). Thereon, the mediator (200) checks whether the number of computing devices that the mobile server module (350) currently serving exceeds a predetermined threshold. If the number of computing devices.exceeds-the--predetermined--threshold,-the-mediator--(200)-sends a-hosting message to the mobile server container (360) coupled with the selected mobile server module (350) to indicate that the mobile server container (350) is selected and to activate a new mobile server module (350) for serving the computing devices (300b).
  • the mediator (200) sends a hosting message to the mobile server container (360) to indicate that the mobile server container (360) and its existing mobile server module (350) are selected for serving the computing devices (300b).
  • the selected mobile server container (360) receives the hosting message sent by the mediator (200) (decision 504 and step 505).
  • the mobile server container (360) parses and processes the hosting message. If the hosting message requires the mobile server container (360) to activate a new mobile server module (350), the ' mobile server container (360) downloads a new mobile server module (350) to the allocated computing device (300a) and thereon, the mobile server container (360) loads the new mobile server module (350). If the hosting message requires the mobile server container (360) to use the existing mobile server module (350), the mobile server container (360) loads the existing mobile server module (350) to host the web content from the web server (100) and transmit the web content to the computing devices (300b).
  • the mobile server module (350) hosts the web content from the web server (100) (step 506).
  • the mobile server module (350) is able to serve the computing devices (300b) by transmitting the requested web content to them.
  • the mobile server container (360) determines whether there is a termination message received from the mediator (200) or the allocated computing device (300a) (decisions 507 and 508). If there is no termination message, then the mobile server container (360) sends a list of active mobile server modules (350) to the mediator (200) as in decision 508 and step 503. Otherwise, the mobile server container (360) de-registers itself from mediator (200) as in decision 508 and step 509. Referring to FIG. 5, there is shown a flowchart of a method for setting up an allocated computing device (300a) to host web content or web service from a web server (100) as in step 506 of FIG. 4.
  • the mobile server container (360) starts the mobile server module (350) and tJierei)n,_the___mobile _server--module-(-350) requests the web content from the web server (100) (steps 601 and 602).
  • the web server (100) is identified by the mobile server module (350) by using a link provided by the mediator (200).
  • the web server (100) sends the requested content to the mobile server module (350).
  • mobile server module (350) creates a thread for listening to the requests from the rest of the computing devices (300b) (steps 603 and 604).
  • the mobile server module (350) informs the mobile server container (360) its readiness to serve the requests from other computing devices (300) (step 605).
  • the mobile server module (350) then creates a thread for periodically updating the mobile server container (360) on its status (step 606).
  • the mobile server container (360) sends a readiness message to the mediator (200) to indicate that the mobile server module (350) is ready to serve the requests from other computing devices (300b) (step 607).
  • the mediator (200) informs the web agents (320) of the other computing devices (300b) requesting the web content to perform redirection.
  • the mediator (200) also updates a table containing a list of the registered web agents (320).
  • the list includes unique ID of the web agents (320), IP address of the computing devices (300) and gateway, links containing the requested content, and the unique ID of the mobile server container (360) serving the web agents (320).
  • An example of the table is provided in Table 3.
  • the mobile server module (350) transmits the content to the computing devices (300b) upon request.
  • IP Mobile Bitwidth Memory

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The present invention relates to a system and method for transmitting web content. The system comprises of a web server (100), a mediator (200), and a plurality of computing devices (300). The system is able to reduce the number of identical WAN connections and to make higher utilization of the LAN bandwidth for contents delivery. This is done by dynamically allocating at least one computing device (300a) within the LAN to act as a mobile server and thereon, the rest of the computing devices (300b) requesting for the same content are directed to the allocated computing device to receive the requested content rather than receiving the content directly from the web server (100).

Description

A SYSTEM AND METHOD FOR TRANSMITTING WEB CONTENT
FIELD OF INVENTION
The present invention generally relates to a system and method for transmitting web content and more particularly to a system and method for dynamically allocating a computing device for transmitting web content from a server to multiple client devices.
BACKGROUND OF THE INVENTION
Given that many applications today are architected as client and server applications to store data and perform computation in a remote server cloud, the increase of client requests directly incurs workload and traffic onto both the server cloud as well as a long-distance network respectively. There are occasions whereby an extremely large number of users logging into the same server and
\
requesting for the same web content at the same time. Such occasion could overload and halt the server or network.
In order to reduce unnecessary and duplicated workload and traffic in both the server and long-distance network, there is a need to provide an efficient content or service delivery mechanism that could serve an increased number of client requests, with minimum traffic incurred to both the server and long-distance network. However, these two conflicting requirements become more challenging given today's Internet traffics are increasingly of dynamic contents (e.g.-multimedia contents, audio, videos, session-oriented and transactional-oriented) which consume more server and network resources than static contents (e.g. texts and pictures). This urges for better techniques to scale and improve the performance of the existing Internet infrastructure.
Thus, some existing approaches to solve such issues includes proxy caching, content distribution networks (CDN) and Peer-to-Peer (P2P) networking. However, in general, these solutions need to be manually installed or configured beforehand and their network locations are fixed upon deployment. Hence, such approaches do not scale effectively and flexibly according to the location of the client requests (i.e. from which network or sub-network the requests came from). Moreover, in P2P networking, a client tends to make multiple connections to different clients to obtain different bits or parts of the content and thereon, aggregates those parts into a complete content. Although the content is distributed across multiple clients and thus, consuming less server resource, the user still consumes a lot of network resources due to multiple connections to the multiple clients.
Therefore, there is a need to provide a system and method for transmitting web content that addresses the aforementioned problems. SUMMARY OF INVENTION
The present invention provides a system for transmitting web content. The system comprises of a web server (100) residing in a wide area network, and at least two computing devices (300) residing in a local area network. Said system further includes a mediator (200), wherein said mediator (200) is configured for deciding and managing a computing device (300a) allocated for transmitting the web content from said web server (100), and providing redirection information to said computing devices (300b) in order to obtain the web content of said web server (100) from said allocated computing device (300a). Each computing device (300) includes a web browser (310) embedded with a web agent (320), wherein said web agent (320) is used for registering with said mediator (200), redirecting said web browser (310) to obtain the web content from said allocated computing device (300a), and providing status information to said mediator (200). Said allocated computing device (300a) comprises of a mobile _sejver_mod Je X350)L.an.d._a._mobile -server- container-(360), wherein said mobile server module (350) is used to execute server functionality, and wherein said mobile server container (360) is used to register said mobile server module (350) with said mediator (200), update status information of said mobile server module (350) to said mediator (200) and download said mobile server module (350) to said allocated computing devices (300a). Preferably, said mobile server module (350) is a web service running on said mobile server container (360).
The present invention also provides a method for transmitting a web content or web service. The method is characterised by the steps of requesting a web content or web service from a web server (100) by a web browser of a computing device (300); replying to the web browser (310) by the web server (100) with a web page, the requested content or service, and a script for embedding a web agent (320) in the web browser (310); registering the embedded web agent (320) in the web browser (310) with the mediator (200) by using a unique identification; determining whether any other computing devices (300) having a registered web agent (320) is requesting for the same content or service; sending the requested web content or web service from the web server (100) to the computing device (300) if the number of computing devices (300) requesting for the same content or service is less than a predetermined threshold value; allocating one of the computing devices (300a) by the mediator (200) if the number of computing devices (300) is greater than or equal to the predetermined threshold value; sending a redirection message from the mediator (200) to the web agents (320) of the computing devices (300b) requesting for the same content; and retrieving the web content or web service from the allocated computing device (300a) by the computing devices (300b) requesting for the same content or service.
Preferably, the method further includes the steps of if one or more computing devices (300b) are no longer requesting and retrieving the web content or service from the allocated computing device (300a), notifying to the mediator (200) from the respective web agents of the computing devices (300b) for disconnection; determining whether the number of computing devices (300) is less than the predetermined threshold value; and if the number of computing devices (300) is less
Figure imgf000004_0001
the web content or web service from the web server (100).
Preferably, the step of allocating a computing device (300a) for transmitting the web content or web service includes the steps of generating a unique identification by the mobile server container (360); registering the mobile server container (360) with the mediator (200); storing the received registration information by the mediator (200); sending a list of active mobile server modules (350) to the mediator (200) from the mobile server container (360); selecting a mobile server module (350) from the list of active mobile server modules by the mediator (200), wherein the selection is based on whether the active mobile server module (350) is from the same LAN as the web agents (320) of the computing devices (300b); determining whether the number of computing devices that the mobile server module (350) currently serving exceeds a predetermined threshold by the mediator (200); sending a hosting message from the mediator (200) to the mobile server container (360) coupled to the selected mobile server module (350), wherein the hosting message include an indication to activate a new mobile server module (350) if the number of computing devices that the mobile server module (350) currently serving exceeds the predetermined threshold; receiving the hosting message by the mobile server container (360), wherein if the hosting message requires the mobile server container (360) to activate a new mobile server module (350), downloading a new mobile server module (350) to the allocated computing device (300a) by the mobile server container (360); and hosting the web content or web service from the web server (100) by the mobile server module (350). If no hosting message has been received, determining whether the mobile server container (360) receives a termination message from the mediator (200) or the allocated computing device (300a), and wherein if there is no termination message, sending a list of active mobile server modules (350) from the mobile server container (360) to the mediator (200), and wherein if there is a termination message, deregistering the mobile server container (360) from the mediator (200).
Preferably, the step of hosting the web content or web service from the web server (100) by the mobile server module (350) includes the steps of initiating the mobile server module (350) by the mobile server container (360); requesting the web content from the web server (100) by the mobile server module (350); sending the web content from the web server (100) to the mobile server module (350); creating a thread by the mobile server module (350) to listen to the requests from other computing devices (300b); informing the mobile server container (360) that the mobile server module (350) is ready to serve the requests from other computing devices (300b); creating a thread by the mobile server module (350) for periodically updating the mobile server container (360) on its status; sending a readiness message to the mediator (200) by the mobile server container (360); informing the web agents (320) of the other computing devices (300b) to perform redirection; and updating a table containing a list of registered web agents (320) by the mediator (200). BRIEF DESCRIPTION OF THE DRAWINGS
The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
FIG. 1 illustrates a network architecture of a system for transmitting web content according to an embodiment of the present invention.
FIG. 2 is a block diagram of a system for transmitting web content according to an embodiment of the present invention.
FIG. 3 is a flowchart of a method for transmitting web content according to an embodiment of the present invention. FIG. 4 is a flowchart of a method for allocating a computing device (300a) for transmitting web content according to an embodiment of the present invention.
FIG. 5 is a flowchart of a method for setting up an allocated computing device (300a) to host web content or web service from a web server (100) according to an embodiment of the present invention.
DESCRIPTION OF THE PREFFERED EMBODIMENT
^preferred__embodiment_of-the--present-invention-will-be-deseribed-herein below with reference to the accompanying drawings. In the following description, well known functions or constructions are not described in detail since they would obscure the description with unnecessary detail.
Referring to FIG. 1 , there is shown a network architecture of a system for transmitting web content according to an embodiment of the present invention. Generally, the system comprises of a web server (100), a mediator (200), and a plurality of computing devices (300). The computing devices (300) are connected in a local area network (LAN), whereas the web server (100) and mediator (200) are connected in a wide area network (WAN). The local area network (LAN) is connected to the wide area network (WAN) through either a gateway or a router. The system is able to reduce the number of identical WAN connections and to make higher utilization of the LAN bandwidth for contents delivery. This is done by dynamically allocating at least one computing device (300a) within the LAN to act as a mobile server and thereon, the rest of the computing devices (300b) requesting for the same content are directed to the allocated computing device to receive the requested content rather than receiving the content directly from the web server (100). Thus, the system reduces multiple direct client-to-server connections to only one, which is made by the allocated computing device (300a).
FIG. 2 shows a block diagram of the system for transmitting web content. The web server (100) is used for maintaining and delivering web contents or services such as video on demand, multimedia live streaming and etc. The web server (100) is connected to the computing devices (300) residing in the LAN.
The mediator (200) is used to decide and manage a computing device (300a) allocated for transmitting the web content from the web server (100). Moreover, the mediator (200) is used to provide redirection information to the rest of computing devices (300b) in order to obtain the web content of the web server (100) from the allocated computing device (300a). Although the system is shown as having the mediator (200) connected to one LAN, the mediator (200) can be connected to multiple LANs and thus, the mediator (200) is responsible for managing multiple allocated computing devices (300a) from multiple LANs.
^^h .cpmp ngjdevice...(.3.00.).-Comprises
with a web agent (320). The web browser (310) is used for requesting and receiving web contents or services. The web browser (310) is embedded with the web agent (320) during the initial request of web content from the web server (100), wherein when the web browser (310) sends a request for a web content or web service to the web server (100), the web server (100) replies to the web browser (310) with a web page, the requested content or services, and a script for embedding the web agent (320) in the web browser (310). The web agent (320) is then used for registering with the mediator (200), redirecting the web browser (310) to obtain the web content from the allocated computing device (300a), and providing status information to the mediator (200). Each web agent (320) embedded in the web browser (310) of the computing devices (300) generates and maintains a unique identification for registering with the mediator (200). The allocated computing device (300a) comprises of at least one mobile server module (350) and a mobile server container (360). The mobile server module (350) is used to execute server functionality. In particular, the mobile server module (350) is used to request and receive web contents or services from the web server (100) and transmit those web contents or services to the computing devices (300) requesting such contents or services. The mobile server module (350) only transmits the contents or services to the computing devices (300) that are within its LAN. The mobile server module (350) is preferably a web service running on the mobile server container (360). The mobile server container (360) is used to register the mobile server module (350) with the mediator (200), update status information of the mobile server module (350) to the mediator (200) and download the mobile server module (350) to the allocated computing devices (300a). Although the allocated computing device (300a) is shown as having one mobile server module (350) coupled to the mobile server container (360), the mobile server container (360) can be coupled with multiple mobile server module (350) to serve the requests from the computing devices (300b).
Referring now to FIG. 3, there is shown a flowchart of a method for transmitting web content or web service by using the system of FIG. 1. Initially, a web browser of a computing device (300) requests a web content or web service from a particular web server (100) as in step 401. Preferably, the computing device (300) _sends_a_Hypertext-Transfer-Protocol-(HT-TP)-request-to the web-server (100)- Thereon, the web server (100) replies to the web browser (310) with a web page, the requested web content or web service, and a script for embedding the web agent (320) in the web browser (310) as in step 402. The embedded web agent (320) in the web browser (310) generates a unique identification. The embedded web agent (320) uses the generated identification to register with the mediator (200) as in step 403. Moreover, information such as IP address of the computing device (300), IP address of the gateway and trace route, is sent by the embedded web agent (320) to the mediator (200) for registration.
Thereon, the mediator (200) registers the web agent (320) and determines whether any other computing devices (300) having a registered web agent (320) are requesting for the same content. The number of computing devices (300) requesting for the same content is compared with a predetermined threshold value. If the number of computing devices (300) is less than the predetermined threshold value, the computing device (300) continues receiving the requested web content from the web server (100). However, if the number of computing devices (300) is greater than or equal to the predetermined threshold value, the mediator (200) allocates one of the computing devices (300a) for transmitting the requested content as in decision 404 and step 405. Once the mediator has received a readiness message from the mobile server container (360) indicating that it is ready to serve the requests from other computing devices (300), the mediator (200) sends a redirection message to the web agents (320) of the computing devices (300b) requesting for the same content as in step 406. The redirection message is to notify the web agents (320) to perform a redirection to obtain the content from the allocated computing device (300a).
Once the web agents (320) have received the redirection message, the web agents (320) retrieve the content from the allocated computing device (300a) instead from the web server (100) as in step 407.
If one or more computing devices (300b) are no longer requesting and retrieving the content from the allocated computing device (300a), the respective web agents of the computing devices (300b) notifies the mediator (200) for disconnection and thereon, the mediator (200) determines whether the number of computing devices (300) is less than the predetermined threshold value. If the number of computing devices (300) is less than the predetermined threshold value, the mediator (200) triggers the web agents to stop retrieving the content from the allocated computing device (300a) and thereon, each web agent directs its computing device (300) to retrieve the content from the web server (100) instead. However, if the number of computing devices (300) is greater than or equal to the predetermined threshold value, the rest of the web agents (320) still retrieve the content from the allocated computing device (300a).
Referring to FIG. 4, there is shown a flowchart of a method of allocating a computing device (300) for transmitting the web content as in step 405 of FIG. 3. Initially, the mobile server container (360) generates a unique identification and registers itself with the mediator (200) by sending information such as the unique identification of the mobile server container (360), IP address of the mobile server container (360), IP address of the gateway, and trace route (step 501).
Once the mediator (200) has received the information, the mediator (200) builds a table comprising a list of unique identification of the mobile server containers (360), IP addresses of the gateway and the mobile server container (360), and trace route (step 502). An example of the table is shown in Table 1 which includes a list of registered mobile server container (360) and its information.
Thereon, the mobile server container (360) sends a list of active mobile server modules (350) to the mediator (200) (step 503). An example of the list of active mobile server module (350) is shown in Table 2. A mobile server module (350) is determined to be active based on the status report periodically sent by the mobile server module (350) to the mobile server container (360).
Based on the list of active mobile server modules (350), the mediator (200) selects the active mobile server module (350) that is from the same LAN as the web agents (320) of the computing devices (300b). Thereon, the mediator (200) checks whether the number of computing devices that the mobile server module (350) currently serving exceeds a predetermined threshold. If the number of computing devices.exceeds-the--predetermined--threshold,-the-mediator--(200)-sends a-hosting message to the mobile server container (360) coupled with the selected mobile server module (350) to indicate that the mobile server container (350) is selected and to activate a new mobile server module (350) for serving the computing devices (300b). Otherwise, the mediator (200) sends a hosting message to the mobile server container (360) to indicate that the mobile server container (360) and its existing mobile server module (350) are selected for serving the computing devices (300b). Thereon, the selected mobile server container (360) receives the hosting message sent by the mediator (200) (decision 504 and step 505). The mobile server container (360) parses and processes the hosting message. If the hosting message requires the mobile server container (360) to activate a new mobile server module (350), the ' mobile server container (360) downloads a new mobile server module (350) to the allocated computing device (300a) and thereon, the mobile server container (360) loads the new mobile server module (350). If the hosting message requires the mobile server container (360) to use the existing mobile server module (350), the mobile server container (360) loads the existing mobile server module (350) to host the web content from the web server (100) and transmit the web content to the computing devices (300b).
Next, the mobile server module (350) hosts the web content from the web server (100) (step 506). Thus, the mobile server module (350) is able to serve the computing devices (300b) by transmitting the requested web content to them.
However, if within a predetermined period of time, no hosting message has been sent by the mediator (200), the mobile server container (360) determines whether there is a termination message received from the mediator (200) or the allocated computing device (300a) (decisions 507 and 508). If there is no termination message, then the mobile server container (360) sends a list of active mobile server modules (350) to the mediator (200) as in decision 508 and step 503. Otherwise, the mobile server container (360) de-registers itself from mediator (200) as in decision 508 and step 509. Referring to FIG. 5, there is shown a flowchart of a method for setting up an allocated computing device (300a) to host web content or web service from a web server (100) as in step 506 of FIG. 4. Initially, the mobile server container (360) starts the mobile server module (350) and tJierei)n,_the__mobile _server--module-(-350) requests the web content from the web server (100) (steps 601 and 602). The web server (100) is identified by the mobile server module (350) by using a link provided by the mediator (200).
Thereon, the web server (100) sends the requested content to the mobile server module (350). Once the mobile server module (350) receives the content, mobile server module (350) creates a thread for listening to the requests from the rest of the computing devices (300b) (steps 603 and 604).
Thereafter, the mobile server module (350) informs the mobile server container (360) its readiness to serve the requests from other computing devices (300) (step 605). The mobile server module (350) then creates a thread for periodically updating the mobile server container (360) on its status (step 606).
Thereon, the mobile server container (360) sends a readiness message to the mediator (200) to indicate that the mobile server module (350) is ready to serve the requests from other computing devices (300b) (step 607). Subsequently, the mediator (200) informs the web agents (320) of the other computing devices (300b) requesting the web content to perform redirection. The mediator (200) also updates a table containing a list of the registered web agents (320). The list includes unique ID of the web agents (320), IP address of the computing devices (300) and gateway, links containing the requested content, and the unique ID of the mobile server container (360) serving the web agents (320). An example of the table is provided in Table 3. Thereon, the mobile server module (350) transmits the content to the computing devices (300b) upon request.
While embodiments of the invention have been illustrated and described, it is not intended that these embodiments illustrated and describe all possible forms of the invention. Rather, the words used in the specifications are words of description rather than limitation and various changes may be made without departing from the scope of the invention.
Network System
Info Info (CPU,
Gateway (IP Mobile (Bandwidth Memory
ID IP Address
Address) Server ID usage, Usage, uplink, Free downlink) Memory)
550e8400- 23435,
1 Mbps,
e29b-41d4- 192.168.1.2 54545, 2GHz, 1.6G,
66.1.33.138 500kbps,
a716- 28 65662, 1G
500kbps
446655440000 78884 f47ac10b-58cc- 23145, 500kbps,
3.2GHz,
4372-a567- 10.1.35.168 218.208.36.65 67892, 200kbps,
700M, 1.2G
0e02b2c3d479 13567 300kbps
Table 1
Figure imgf000013_0001
Table 2 Gateway (IP Mobile Server
ID IP Address Content URL
Address) Container ID
21 EC2020-
550e8400-e29b-
3AEA-1069- http://content.socc
192.168.1.129 66.1.33.138 41d4-a716-
A2DD- er/testg
446655440000
08002B30309D
21EC2020- f47ac10b-58cc-
3AEA-1069- http://fdsf.tvshow/c
10.1.35.221 218.208.36.65 4372-a567-
A2DD- omedy
0e02b2c3d479
08002B30309D
5F3504A0-
550e8400-e29b-
5F19-1 ED3- http://content.socc
192.168.1.178 66.1.33.138 41d4-a716-
9A0C- er/testg
446655440000
3305E82C4F50
38a52be4- f47ac10b-58cc-
9352-453e- http://fdsf.tvshow/c
10.1.33.134 218.208.36.65 4372-a567- af97- omedy
0e02b2c3d479
5c3b448652f0
Table 3

Claims

1. A system for transmitting web content comprising:
a) a web server (100) residing in a wide area network, and b) at least two computing devices (300) residing in a local area network, wherein said system is characterised in that:
c) said system further includes a mediator (200), wherein said mediator (200) is configured for:
i. deciding and managing a computing device (300a) allocated for transmitting the web content from said web server (100), and
ii. providing redirection information to said computing devices (300b) in order to obtain the web content of said web server (100) from said allocated computing device (300a); d) each computing device (300) includes a web browser (310) embedded with a web agent (320), wherein said web agent (320) is used for registering with said mediator (200), redirecting said web browser (310) to obtain the web content from said allocated computing device (300a), and providing status information to said mediator (200); and
_e)_Aaid_allocated_com^^
module (350) and a mobile server container (360), wherein said mobile server module (350) is used to execute server functionality, and wherein said mobile server container (360) is used to register said mobile server module (350) with said mediator (200), update status information of said mobile server module (350) to said mediator (200) and download said mobile server module (350) to said allocated computing devices (300a).
2. The system (100) as claimed in claim 1 , wherein said mobile server module (350) is a web service running on said mobile server container (360). A method for transmitting a web content or web service is characterised by the steps of:
a) requesting a web content or web service from a web server (100) by a web browser of a computing device (300);
b) replying to the web browser (310) by the web server (100) with a web page, the requested content or service, and a script for embedding a web agent (320) in the web browser (310);
c) registering the embedded web agent (320) in the web browser (310) with the mediator (200) by using a unique identification;
d) determining whether any other computing devices (300) having a registered web agent (320) is requesting for the same content or service;
e) sending the requested web content or web service from the web server (100) to the computing device (300) if the number of computing devices (300) requesting for the same content or service is less than a predetermined threshold value;
f) allocating one of the computing devices (300a) by the mediator (200) if the number of computing devices (300) is greater than or equal to the predetermined threshold value;
g) sending a redirection message from the mediator (200) to the web agents (320) of the computing devices (300b) requesting for the same content; and
h)—etrieving— the -web— content— or— web- service— from— the— allocated" computing device (300a) by the computing devices (300b) requesting for the same content or service.
The method as claimed in claim 3, wherein the method further includes the steps of:
a) if one or more computing devices (300b) are no longer requesting and retrieving the web content or service from the allocated computing device (300a), notifying to the mediator (200) from the respective web agents of the computing devices (300b) for disconnection;
b) determining whether the number of computing devices (300) is less than the predetermined threshold value; and c) if the number of computing devices (300) is less than the predetermined threshold value, directing computing devices (300) to retrieve the web content or web service from the web server (100).
The method as claimed in claim 3, wherein allocating a computing device (300a) for transmitting the web content or web service includes the steps of: a) generating a unique identification by the mobile server container (360);
b) registering the mobile server container (360) with the mediator (200); c) storing the received registration information by the mediator (200); d) sending a list of active mobile server modules (350) to the mediator (200) from the mobile server container (360);
e) selecting a mobile server module (350) from the list of active mobile server modules by the mediator (200), wherein the selection is based on whether the active mobile server module (350) is from the same LAN as the web agents (320) of the computing devices (300b);
f) determining whether the number of computing devices that the mobile server module (350) currently serving exceeds a predetermined threshold by the mediator (200);
g) sending a hosting message from the mediator (200) to the mobile server container (360) coupled to the selected mobile server module (350), wherein the hosting message include an indication to activate a .new_mobile server-module-(350)- if-the-number-of computing-devices that the mobile server module (350) currently serving exceeds the predetermined threshold;
h) receiving the hosting message by the mobile server container (360), wherein if the hosting message requires the mobile server container (360) to activate a new mobile server module (350), downloading a new mobile server module (350) to the allocated computing device (300a) by the mobile server container (360); and
i) hosting the web content or web service from the web server (100) by the mobile server module (350).
The method as claimed in claim 5, wherein if no hosting message has been received, determining whether the mobile server container (360) has received a termination message from the mediator (200) or the allocated computing device (300a), and wherein if there is no termination message, sending a list of active mobile server modules (350) from the mobile server container (360) to the mediator (200), and wherein if there is a termination message, de- registering the mobile server container (360) from the mediator (200).
The method as claimed in claim 5, wherein hosting the web content or web service from the web server (100) by the mobile server module (350) includes the steps of:
a) initiating the mobile server module (350) by the mobile server container (360);
b) requesting the web content from the web server (100) by the mobile server module (350);
c) sending the web content from the web server (100) to the mobile server module (350);
d) creating a thread by the mobile server module (350) to listen to the requests from other computing devices (300b);
e) informing the mobile server container (360) that the mobile server module (350) is ready to serve the requests from other computing devices (300b);
f) creating a thread by the mobile server module (350) for periodically updating the mobile server container (360) on its status;
g) sending a readiness message to the mediator (200) by the mobile server container (360);
h) informing the web agents (320) of the other computing devices (300b) to perform redirection; and
i) updating a table containing a list of registered web agents (320) by the mediator (200).
PCT/MY2013/000158 2012-09-12 2013-09-06 A system and method for transmitting web content WO2014042513A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
MYPI2012700634 2012-09-12
MYPI2012700634A MY170020A (en) 2012-09-12 2012-09-12 A system and method for transmitting web content

Publications (1)

Publication Number Publication Date
WO2014042513A1 true WO2014042513A1 (en) 2014-03-20

Family

ID=49510476

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/MY2013/000158 WO2014042513A1 (en) 2012-09-12 2013-09-06 A system and method for transmitting web content

Country Status (2)

Country Link
MY (1) MY170020A (en)
WO (1) WO2014042513A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160364748A1 (en) * 2015-06-11 2016-12-15 Outbrain Inc. Computer-implemented method and system for assigning yield and revenue values to web page content in real time

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090265473A1 (en) * 2006-02-21 2009-10-22 Aamer Hydrie Topology Management in Peer-to-Peer Content Distribution Clouds
EP2464057A1 (en) * 2009-08-27 2012-06-13 ZTE Corporation Device, method and related device for obtaining service content for personal network equipment

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090265473A1 (en) * 2006-02-21 2009-10-22 Aamer Hydrie Topology Management in Peer-to-Peer Content Distribution Clouds
EP2464057A1 (en) * 2009-08-27 2012-06-13 ZTE Corporation Device, method and related device for obtaining service content for personal network equipment

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20160364748A1 (en) * 2015-06-11 2016-12-15 Outbrain Inc. Computer-implemented method and system for assigning yield and revenue values to web page content in real time
WO2016200489A1 (en) * 2015-06-11 2016-12-15 Outbrain, Inc. Computer-implemented method and system for assigning yield and revenue values to web page content in real time

Also Published As

Publication number Publication date
MY170020A (en) 2019-06-20

Similar Documents

Publication Publication Date Title
KR102514250B1 (en) Method, Apparatus and System for Selecting a Mobile Edge Computing Node
US9602591B2 (en) Managing TCP anycast requests
US20190075075A1 (en) Content node network address selection for content delivery
US9094464B1 (en) Connection digest for accelerating web traffic
US10506469B1 (en) Resilient in-band mobile core user plane function selection using segment routing load balancing
US8458250B2 (en) Request routing using network computing components
CN109347968B (en) Method, equipment and system for downloading data blocks of resource file
CN106941507B (en) Request message scheduling method and device
EP2787742B1 (en) Method and system for transmitting network video
JP6663082B2 (en) Data Streaming Support Control Based on Node Type
US20200366725A1 (en) Methods and apparatus for delivering content
CN110620802B (en) Load balancing method and device
US11115498B2 (en) Multi-path management
CN103873497A (en) Method, device and system for scheduling information
CN105554046A (en) Scheduling method and apparatus of terminal request for content distribution system, and equipment
EP3066575B1 (en) Server network address selection based on network characteristics of service providers
US20180091631A1 (en) Systems and methods for writing prioritized http/2 data to a socket buffer
WO2015100283A1 (en) Systems and methods for delivering content to clients that are suboptimally mapped
CN111567090B (en) Terminal device and method of operating a terminal device for use with a telecommunications network
WO2014042513A1 (en) A system and method for transmitting web content
US9112934B2 (en) Apparatus and method for configuring on-demand content delivering overlay network
WO2012000165A1 (en) Network entity and method for providing data to at least one user entity in a communication network
KR101524470B1 (en) System for distributed mobile contents delivery network and Method for contents delivery using the same
CN117319500A (en) Content providing method and device
KR20130029548A (en) System and method for providing contents delivery network service through wireless networks

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: 13783697

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13783697

Country of ref document: EP

Kind code of ref document: A1