US20080263177A1 - Method and computer system for selecting an edge server computer - Google Patents
Method and computer system for selecting an edge server computer Download PDFInfo
- Publication number
- US20080263177A1 US20080263177A1 US12/171,744 US17174408A US2008263177A1 US 20080263177 A1 US20080263177 A1 US 20080263177A1 US 17174408 A US17174408 A US 17174408A US 2008263177 A1 US2008263177 A1 US 2008263177A1
- Authority
- US
- United States
- Prior art keywords
- server
- computer
- client
- hyperlink
- media
- Prior art date
- Legal status (The legal status 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 status listed.)
- Abandoned
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/80—Responding to QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/1066—Session management
- H04L65/1101—Session protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/61—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
- H04L65/612—Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/101—Server selection for load balancing based on network conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1012—Server selection for load balancing based on compliance of requirements or conditions with available server resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1014—Server selection for load balancing based on the content of a request
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1021—Server selection for load balancing based on client or server locations
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1095—Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/40—Network security protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/10015—Access to distributed or replicated servers, e.g. using brokers
Definitions
- the present invention relates to the field of data communication, in particular to distributing and streaming of data, for accessing digital information, including audio, video and business type information, at remotely stored locations and for communicating that information to a users premise.
- a system for accessing digital information over a computer network contains a master server which is situated geographically so as to be accessible to network subscribers. It's geographic and network location is dependent upon communication network systems and subsystem cost and availability in order to best serve a customers premise, whether it's a retail store or similar point-of-sale or other end-user-location. Security mechanisms that require centralized database authorization prior to the transmission of content and/or the manufacture of any of the products is provided in addition.
- New media data extends traditional computer data formats into more natural data formats for the interaction of humans and computers by incorporating images, motion pictures, voice, audio and video.
- One of the key problems with new media data is transferring the usually huge amounts of content through a network.
- a stream server requires all data to be streamed to reside locally on the stream server.
- the connection bandwidth to the rendering client (media player) has to fulfill at least the requirements corresponding to the nature of the data to be transmitted. For this reason stream servers are placed on so called edge servers (the edge of the network in the connection path to the client; also referred to as the “last mile”).
- the meta data or meta file usually contains at least an identification (key) of the media data to be streamed and the identification of the stream server e.g. the TCP/IP host name of the stream server machine and the port the stream server software listens to.
- the web browser When a user wants to have media streamed to his client he normally “clicks” on a hyperlink identifying the media on the web page presented to him through his web browser.
- the web browser generates a http request containing the media identification information.
- the application server sends the media meta data to the client's web browser.
- the web browser Based on that information the web browser typically invokes the corresponding media player which resides on a client and is responsible to receive the meta data from the network, negotiate connection to the stream server, receive and to render the data in parallel.
- the invention allows to determine an edge server location to which the client is connected while sending the request for streaming to the application server. This determination is done by adding information to the client's http request containing the media identifier on the way to it's Web application server which is contacted by the client to select a file for downloading and/or streaming.
- the Web application server is contacted by the client by inputting the corresponding uniform resource locator into the client's Web browser program.
- the connection between the client and the Web application server is provided by establishing a communication path including a plurality of server computer nodes.
- the first server computer node in the path from the client to the Web application server is the server topologically closest to the client which can thus be expected to be an efficient edge server to provide the streaming services with the best performance and shortest latency time for the client.
- this server being the first node in the path from the client to the Web application server—is selected by the Web application server or an associated media request broker to be the server from which the download of the desired file is to be performed.
- the corresponding Meta data provided from the media request broker to the Web application server to the client contains data identifying the selected server.
- the media request broker contains a file comprising a set of alternative servers being located in the same geographical or topological region as the first server node in the path between the client and the Web application server.
- the server from which the download is to be performed is selected from the group comprising the set of servers in the same geographical/topological region as the node itself.
- the selection of a particular server out of this group of servers is done based on a determination of a relative quality weight index of the server in the group.
- the relative quality weight can be determined based on one or more of the following criteria: availability of the desired media on the server, number of transactions in process, usage of processing resources and available bandwidth in the communication path to the client.
- the other server computers in the path from the client to the Web application server are also taken into consideration for the selection of the particular server.
- each of these additional servers can also have associated regional servers which can also be taken into consideration for determining an appropriate server to perform the download and/or streaming operation.
- a server computer can contain stream servers of different data formats. If a media is available on that server computer in a format which is different to the format required by the requesting client this server computer can still be selected to be the server computer of choice. In this case the data format available on the server computer is transcoded “on the fly” to the desired format and then streamed to the client.
- a particular field of application of the present invention is mobile communication, in particular with respect to digital telephony such as UMTS.
- the client can be any mobile device, such as a mobile phone having an integrated MP3 player, a personal digital assistant or a portable computer, such as a Laptop or Palm top computer, having a wireless interface.
- a particular advantage of the present invention is that by selecting a server based on it's quality weight the computer network can be balanced as far as the distribution of computing and/or bandwidth resources is concerned. The overall system throughput can thereby be optimized.
- FIG. 1 is a block diagram of a first embodiment of a computer system of the invention
- FIG. 2 is a block diagram of a second embodiment of a computer system of the invention.
- FIG. 3 is an embodiment of a method of the invention.
- the computer system of FIG. 1 has a client 1 .
- the client 1 has a web browser and a media player 2 , for example an IBM Video charger player.
- the client 1 can connect with the help of his web browser to Web application server 3 via a computer network, such as the Internet comprising the edge servers ES 1 , ES 2 , ES 3 , ES 4 and other edge servers not shown in FIG. 1 .
- the edge server ES 1 has a media cache controller 4 , stream server 5 and cache 6 .
- the stream server can be an IBM Video charger to interface with the corresponding media player 2 of client 1 .
- the streaming operation is performed out of the cache 6 .
- the media cache controller 4 controls and analyses the status and operation of stream server 5 and it's cache 6 .
- media cache controller 4 evaluates a present system status to provide a quality weight indicating the loading of the system.
- the quality weight can include one or more of the following criteria: availability of the selected file in the cache 6 , available bandwidth for connecting to the client 1 , percentage of processing resources of the edge server ES 1 and/or other criteria.
- edge server ES 1 has a memory 7 for storage of the identifier ID 1 of the edge server ES 1 .
- Hook 8 is coupled to the memory 7 .
- Each of the edge servers passes the http requests and responses of the client and the web application server back and forth. For every http request coming from the client the edge server calls the hook 8 and passes this http request to it.
- the hook examines this http request for a unique signature which identifies the request as a media request. If the hook identifies this signature it appends it's identifier ID 1 to the http request and passes the request back to the edge server. The edge server sends it to the next edge server ES 2 . . . ESn—if there is one—or to the application server.
- edge servers ES 2 , ES 3 and ES 4 in the communication path between the client 1 and the Web application server 3 are of the same or a similar constitution than edge server ES 1 .
- the computer system of FIG. 1 further includes media server 9 which stores the selected media 10 .
- Media server 9 can be coupled to anyone of the edge servers ES 1 to ES 4 for downloading the media 10 to the corresponding edge server.
- Web application server 3 is coupled to media request broker 11 .
- the media request broker 11 selects one of the edge servers ES 1 to ES 4 or another edge server to perform the streaming operation of the desired data to client 1 . Based on this selection of a server by media request broker 11 the Web application server generates the Meta data for the client 1 .
- the Web application server has a memory 12 for at least temporarily storing the http request of the client augmented by data indicative of one or more of the edge servers comprised in the communication path between the client 1 and the Web application server 3 .
- the Web application server further contains servlet 14 which is invoked through this http request when client 1 clicks on the Hyperlink to a media 10 .
- client 1 clicks on a hyperlink within a Web page 13 in it's Web browser program in order to request the desired media from the Web application server 3 via the Internet.
- the web browser generates the corresponding http request which is routed through the edge servers ES 1 to ES 4 such that a communication path including those edge servers results.
- edge server ES 1 adds information to the http request to add it's identifier ID 1 to the request.
- edge servers ES 2 to ES 4 also append corresponding data to the http request.
- the resulting http request is composed of the original URL plus data indicative of the identifiers ID 1 to ID 4 .
- servlet 14 is invoked with all the information contained within the client's http request and it transfers at least the extension to the media request broker 11 .
- the media request broker has a variety of options to select an appropriate edge server as a server for streaming of the desired file 10 to client 1 .
- One option is to select the edge server ES 1 as the edge server which is closest to the client 1 in the communication path which has been established through the Internet to the Web application server 3 .
- edge server ES 1 It is assumed that the closest edge server ES 1 also provides highest bandwidth.
- the identity of the edge server ES 1 is determined by the media request broker by analyzing the appended extension provided by the hook running on each edge server ES 1 to ESn.
- the media request broker 11 Based on this information the media request broker 11 generates the Meta data which is required by client 1 to access a stream server.
- the Meta data includes the complete Network address of stream server 5 (e.g. IP-address and port) and a key for access to the desired media 10 is provided to client 1 by Web application server 3 .
- the client 1 In response to receipt of the Meta data the client 1 connects to the edge server ES 1 , in particular to stream server 5 , to invoke the streaming operation. In case the desired media 10 is already available in the cache 6 the streaming can start immediately.
- the Media request broker can also take into consideration the further edge servers ES 2 to ES 4 as identified by the extension provided by Servlet 14 .
- Media request broker 11 evaluates the quality weights provided by the Media cache controllers 4 of the corresponding edge servers ES 1 to ES 4 to select the most suitable edge server.
- the edge server ES 2 may already contain the media 10 in it's cache 6 while the media 10 is not available in the cache 6 of the edge server ES 1 .
- the quality weight of the edge server ES 2 is greater than the quality weight of the edge server ES 1 even though the edge server ES 1 is closer to client 1 due to the fact that the edge server ES 2 already has the required data.
- edge server ES 2 or another edge server can be selected by the Media request broker for other reasons, for example the edge server ES 1 being overloaded, the stream server 5 of the edge server ES 1 being down or not having the required data format.
- FIG. 2 shows a further preferred embodiment of the invention wherein like elements are denoted by the same reference numerals.
- the edge server ES 1 of the computer system of FIG. 2 has an additional media cache controller 15 , stream server 16 and cache 17 .
- the stream server 16 is capable of streaming a different format than stream server 5 .
- edge server ES 1 has memory 7 and hook 8 .
- hook 8 serves to provide an extension to the http request provided by the client 1 to append information indicative of the identifier ID 1 of the edge server ES 1 .
- the edge server ES 1 On a second level of hierarchy the edge server ES 1 has a media edge controller 18 which communicates with the media cache controllers 4 and 15 of the individual stream servers 5 and 16 .
- the computer system comprises the edge servers ES 1 a , ES 1 b , ES 1 c and ES 1 d which are located in the same geographical/topological region or area 19 of the edge server ES 1 .
- the other edge servers ES 2 to ES 4 can be associated to corresponding additional edge servers in their respective regions or areas.
- the database 20 stored by the media request broker 11 .
- the database 20 groups edge servers of each of the regions or areas; for example in case of the region 19 it assigns the edge server ES 1 to the additional edge servers ES 1 a to ES 1 d .
- the database 20 can contain similar entries for the further edge servers ES 2 to ES 4 .
- the media request broker 11 When the media request broker 11 obtains the extension from servlet 14 it identifies the first edge server in the path between client 1 and Web application server 3 —which is the edge server ES 1 . In the next step media request broker 11 identifies the additional edge servers ES 1 a to ES 1 d being located in the same geographical/topological region 19 of the edge server ES 1 by querying database 20 .
- the media request broker 11 obtains the relative quality weights from the media cache controllers and/or media edge controllers of the respective group of edge servers of the region 19 .
- the media request broker 11 selects the stream server providing the highest quality weight from this group of edge servers.
- the media request broker 11 performs an equivalent operation for the next edge server ES 2 and the associated regional group of additional edge servers not shown in FIG. 2 to search for a stream server having a sufficient quality weight.
- the media request broker 11 returns a stream server address to the Web application server 3 based on which the meta data for client 1 is generated.
- media request broker 11 select—for example—Edge Server ES 1 with stream server 16 even though the actual media to be streamed is only residing in the cache of stream server 5 in the format of stream server 5 which is not compatible to the format necessary for media player 2 at the client.
- the edge server ES 1 has a transcoder program for transcoding the data provided by stream server 16 into the required format of the media player 2 .
- the transcoding is initiated by media request broker with a corresponding message to the media edge controller.
- the requested media taken from the cache of Stream Server 16 is transcoded and the resulting media is stored in the cache of Stream Server 5 .
- a meta file is generated pointing to stream server 5 and the media would be streamed from stream server 5 to the media player.
- step 1 a client connects to a web page containing hyperlinks to media objects (e.g. Media files).
- media objects e.g. Media files.
- step 2 the client selects a media by clicking hyperlink.
- step 3 a Web Browser generates a http request containing the unique signature of the media request.
- Step 4 is a for-next-loop containing the following steps 5 , 6 and 7 :
- edge server ESm Pass Http request to edge server ESm. Invoke hook at edge server ESm. Check hook if media request signature is present.
- step 6 it is decided if a media request signature is present. If this is the case an ID of the edge server ESm is appended to the http request in step 7 and the control goes back to step 5 with an incremented m. Otherwise m is incremented directly and the control goes back to step 5 as long as m remains lesser or equal to n.
- step 8 the Http request arrives at the Web Application Server.
- step 9 the Web Application Server invokes a servlet and passes a URL and the extension(s) of the Edge Servers to the Servlet.
- the extension of the URL is accessed in step 10 by the servlet to provide the extension to the media request broker in step 11 .
- a potential edge server is the first edge server in the communication path between the client and the Web page—which is edge server ES 1 —or an edge server from a regional group of the edge server ES 1 and/or one of the edge servers ES 2 to ES 4 and/or corresponding regional groups of the edge servers ES 2 to ES 4 .
- step 13 the media request broker selects an appropriate edge server based on the quality weight as determined in step 12 .
- step 14 Based on the selected edge server corresponding media data is generated in step 14 which is send to the client in step 15 .
- the client connects to the edge server indicated in the meta data and provides the key to the edge server to initiate the streaming in step 160 .
- the streaming actually starts in step 17 .
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Multimedia (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Business, Economics & Management (AREA)
- Business, Economics & Management (AREA)
- Information Transfer Between Computers (AREA)
- Computer And Data Communications (AREA)
- Image Generation (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Media Distribution within the Internet is done with the help of Application-Servers, Content-Servers and distributed Edge-Servers where the clients are connected to Media Distribution Services. A computer system is provided comprising client 1, having a Web browser with a media player 2, Web application server 3, content server, edge servers ES1 to ES4 and media request broker 11. After the client 1 has selected a media for streaming the media request broker 11 makes a determination concerning an appropriate edge server to perform the streaming operation. This determination is made based on an extension of the client's http request made by the edge server and passed from the application server to the media request broker.
Description
- The present invention relates to the field of data communication, in particular to distributing and streaming of data, for accessing digital information, including audio, video and business type information, at remotely stored locations and for communicating that information to a users premise.
- From U.S. Pat. No. 5,734,719 a system for accessing digital information over a computer network is known. The system contains a master server which is situated geographically so as to be accessible to network subscribers. It's geographic and network location is dependent upon communication network systems and subsystem cost and availability in order to best serve a customers premise, whether it's a retail store or similar point-of-sale or other end-user-location. Security mechanisms that require centralized database authorization prior to the transmission of content and/or the manufacture of any of the products is provided in addition.
- New media data extends traditional computer data formats into more natural data formats for the interaction of humans and computers by incorporating images, motion pictures, voice, audio and video. One of the key problems with new media data is transferring the usually huge amounts of content through a network.
- A stream server requires all data to be streamed to reside locally on the stream server. The connection bandwidth to the rendering client (media player) has to fulfill at least the requirements corresponding to the nature of the data to be transmitted. For this reason stream servers are placed on so called edge servers (the edge of the network in the connection path to the client; also referred to as the “last mile”).
- In order to initiate a streaming operation streaming meta data needs to be provided to the renderer client (media player) requesting the stream. The meta data or meta file usually contains at least an identification (key) of the media data to be streamed and the identification of the stream server e.g. the TCP/IP host name of the stream server machine and the port the stream server software listens to.
- When a user wants to have media streamed to his client he normally “clicks” on a hyperlink identifying the media on the web page presented to him through his web browser. The web browser generates a http request containing the media identification information. As a response to that the application server sends the media meta data to the client's web browser. Based on that information the web browser typically invokes the corresponding media player which resides on a client and is responsible to receive the meta data from the network, negotiate connection to the stream server, receive and to render the data in parallel.
- The way streaming technology is realized today, media players are only able to render streams from a corresponding stream server usually built by the same company. Examples of such proprietary stream formats are the IBM Video charger/Video charger player, Apple-quick time, Microsoft MediaServer/MediaPLayer and Real Networks G2 server/player.
- A common problem of the prior art data transfer protocols, in particular streaming protocols over a computer network, such as the Internet, is the bandwidth required to perform a streaming operation.
- It is thus an object of the present invention to provide an improved method and computer system for distributing content data to edge servers and in particular, to select an edge server or acceptable alternative edge server which is located topologically nearest to the client which requests the streaming service.
- The object of the invention is achieved by the features stated in the enclosed independent claims to which reference should now be made. Further advantageous arrangements and embodiments of the invention are set forth in the respective sub claims.
- The invention allows to determine an edge server location to which the client is connected while sending the request for streaming to the application server. This determination is done by adding information to the client's http request containing the media identifier on the way to it's Web application server which is contacted by the client to select a file for downloading and/or streaming.
- Typically the Web application server is contacted by the client by inputting the corresponding uniform resource locator into the client's Web browser program. The connection between the client and the Web application server is provided by establishing a communication path including a plurality of server computer nodes. The first server computer node in the path from the client to the Web application server is the server topologically closest to the client which can thus be expected to be an efficient edge server to provide the streaming services with the best performance and shortest latency time for the client.
- In one embodiment of the invention this server—being the first node in the path from the client to the Web application server—is selected by the Web application server or an associated media request broker to be the server from which the download of the desired file is to be performed. The corresponding Meta data provided from the media request broker to the Web application server to the client contains data identifying the selected server.
- In a further preferred embodiment the media request broker contains a file comprising a set of alternative servers being located in the same geographical or topological region as the first server node in the path between the client and the Web application server. In this case the server from which the download is to be performed is selected from the group comprising the set of servers in the same geographical/topological region as the node itself.
- The selection of a particular server out of this group of servers is done based on a determination of a relative quality weight index of the server in the group. The relative quality weight can be determined based on one or more of the following criteria: availability of the desired media on the server, number of transactions in process, usage of processing resources and available bandwidth in the communication path to the client.
- In a further preferred embodiment the other server computers in the path from the client to the Web application server are also taken into consideration for the selection of the particular server. In addition each of these additional servers can also have associated regional servers which can also be taken into consideration for determining an appropriate server to perform the download and/or streaming operation.
- In a further preferred embodiment a server computer can contain stream servers of different data formats. If a media is available on that server computer in a format which is different to the format required by the requesting client this server computer can still be selected to be the server computer of choice. In this case the data format available on the server computer is transcoded “on the fly” to the desired format and then streamed to the client.
- A particular field of application of the present invention is mobile communication, in particular with respect to digital telephony such as UMTS. In this case the client can be any mobile device, such as a mobile phone having an integrated MP3 player, a personal digital assistant or a portable computer, such as a Laptop or Palm top computer, having a wireless interface.
- A particular advantage of the present invention is that by selecting a server based on it's quality weight the computer network can be balanced as far as the distribution of computing and/or bandwidth resources is concerned. The overall system throughput can thereby be optimized.
- The present invention is illustrated by way of example and is not limited by the figures of the accompanying drawings in which:
-
FIG. 1 is a block diagram of a first embodiment of a computer system of the invention, -
FIG. 2 is a block diagram of a second embodiment of a computer system of the invention; and -
FIG. 3 is an embodiment of a method of the invention. - The computer system of
FIG. 1 has aclient 1. Theclient 1 has a web browser and amedia player 2, for example an IBM Video charger player. - The
client 1 can connect with the help of his web browser toWeb application server 3 via a computer network, such as the Internet comprising the edge servers ES1, ES2, ES3, ES4 and other edge servers not shown inFIG. 1 . The edge server ES1 has amedia cache controller 4, streamserver 5 andcache 6. - The stream server can be an IBM Video charger to interface with the
corresponding media player 2 ofclient 1. The streaming operation is performed out of thecache 6. Themedia cache controller 4 controls and analyses the status and operation ofstream server 5 and it's cache 6. - In particular
media cache controller 4 evaluates a present system status to provide a quality weight indicating the loading of the system. The quality weight can include one or more of the following criteria: availability of the selected file in thecache 6, available bandwidth for connecting to theclient 1, percentage of processing resources of the edge server ES1 and/or other criteria. - Further the edge server ES1 has a
memory 7 for storage of the identifier ID1 of the edge server ES1.Hook 8 is coupled to thememory 7. - Each of the edge servers passes the http requests and responses of the client and the web application server back and forth. For every http request coming from the client the edge server calls the
hook 8 and passes this http request to it. - The hook examines this http request for a unique signature which identifies the request as a media request. If the hook identifies this signature it appends it's identifier ID1 to the http request and passes the request back to the edge server. The edge server sends it to the next edge server ES2 . . . ESn—if there is one—or to the application server.
- The further edge servers ES2, ES3 and ES4 in the communication path between the
client 1 and theWeb application server 3 are of the same or a similar constitution than edge server ES1. - The computer system of
FIG. 1 further includesmedia server 9 which stores the selectedmedia 10.Media server 9 can be coupled to anyone of the edge servers ES1 to ES4 for downloading themedia 10 to the corresponding edge server. -
Web application server 3 is coupled tomedia request broker 11. Themedia request broker 11 selects one of the edge servers ES1 to ES4 or another edge server to perform the streaming operation of the desired data toclient 1. Based on this selection of a server bymedia request broker 11 the Web application server generates the Meta data for theclient 1. - The Web application server has a
memory 12 for at least temporarily storing the http request of the client augmented by data indicative of one or more of the edge servers comprised in the communication path between theclient 1 and theWeb application server 3. - The Web application server further contains
servlet 14 which is invoked through this http request whenclient 1 clicks on the Hyperlink to amedia 10. - In
operation client 1 clicks on a hyperlink within aWeb page 13 in it's Web browser program in order to request the desired media from theWeb application server 3 via the Internet. As already explained in detail above the web browser generates the corresponding http request which is routed through the edge servers ES1 to ES4 such that a communication path including those edge servers results. - As the communication path is build up the
hook 8 of edge server ES1 adds information to the http request to add it's identifier ID1 to the request. Likewise the further edge servers ES2 to ES4 also append corresponding data to the http request. - Thus the resulting http request is composed of the original URL plus data indicative of the identifiers ID1 to ID4.
- Subsequently
servlet 14 is invoked with all the information contained within the client's http request and it transfers at least the extension to themedia request broker 11. - The media request broker has a variety of options to select an appropriate edge server as a server for streaming of the desired
file 10 toclient 1. One option is to select the edge server ES1 as the edge server which is closest to theclient 1 in the communication path which has been established through the Internet to theWeb application server 3. - It is assumed that the closest edge server ES1 also provides highest bandwidth. The identity of the edge server ES1 is determined by the media request broker by analyzing the appended extension provided by the hook running on each edge server ES1 to ESn.
- Based on this information the
media request broker 11 generates the Meta data which is required byclient 1 to access a stream server. The Meta data includes the complete Network address of stream server 5 (e.g. IP-address and port) and a key for access to the desiredmedia 10 is provided toclient 1 byWeb application server 3. - In response to receipt of the Meta data the
client 1 connects to the edge server ES1, in particular to streamserver 5, to invoke the streaming operation. In case the desiredmedia 10 is already available in thecache 6 the streaming can start immediately. - If this is not the case first a download operation of the
file 10 from themedia server 9 to thecache 6 of the edge server ES1 needs to be initiated. - Alternatively the Media request broker can also take into consideration the further edge servers ES2 to ES4 as identified by the extension provided by
Servlet 14. In either caseMedia request broker 11 evaluates the quality weights provided by theMedia cache controllers 4 of the corresponding edge servers ES1 to ES4 to select the most suitable edge server. - For example the edge server ES2 may already contain the
media 10 in it'scache 6 while themedia 10 is not available in thecache 6 of the edge server ES1. In this case the quality weight of the edge server ES2 is greater than the quality weight of the edge server ES1 even though the edge server ES1 is closer toclient 1 due to the fact that the edge server ES2 already has the required data. - Likewise edge server ES2 or another edge server can be selected by the Media request broker for other reasons, for example the edge server ES1 being overloaded, the
stream server 5 of the edge server ES1 being down or not having the required data format. -
FIG. 2 shows a further preferred embodiment of the invention wherein like elements are denoted by the same reference numerals. The edge server ES1 of the computer system ofFIG. 2 has an additionalmedia cache controller 15,stream server 16 andcache 17. Thestream server 16 is capable of streaming a different format thanstream server 5. Again edge server ES1 hasmemory 7 andhook 8. - As in the
previous embodiment hook 8 serves to provide an extension to the http request provided by theclient 1 to append information indicative of the identifier ID1 of the edge server ES1. - On a second level of hierarchy the edge server ES1 has a
media edge controller 18 which communicates with themedia cache controllers individual stream servers - Further the computer system comprises the edge servers ES1 a, ES1 b, ES1 c and ES1 d which are located in the same geographical/topological region or
area 19 of the edge server ES1. Likewise the other edge servers ES2 to ES4 can be associated to corresponding additional edge servers in their respective regions or areas. - This situation is reflected by the
database 20 stored by themedia request broker 11. Thedatabase 20 groups edge servers of each of the regions or areas; for example in case of theregion 19 it assigns the edge server ES1 to the additional edge servers ES1 a to ES1 d. Thedatabase 20 can contain similar entries for the further edge servers ES2 to ES4. - When the
media request broker 11 obtains the extension fromservlet 14 it identifies the first edge server in the path betweenclient 1 andWeb application server 3—which is the edge server ES1. In the next stepmedia request broker 11 identifies the additional edge servers ES1 a to ES1 d being located in the same geographical/topological region 19 of the edge server ES1 by queryingdatabase 20. - Further the
media request broker 11 obtains the relative quality weights from the media cache controllers and/or media edge controllers of the respective group of edge servers of theregion 19. Themedia request broker 11 selects the stream server providing the highest quality weight from this group of edge servers. - If the highest quality weight of a stream server of this group of edge servers is not sufficient, for example because it is below a predefined threshold value, the
media request broker 11 performs an equivalent operation for the next edge server ES2 and the associated regional group of additional edge servers not shown inFIG. 2 to search for a stream server having a sufficient quality weight. - As a result of this process the
media request broker 11 returns a stream server address to theWeb application server 3 based on which the meta data forclient 1 is generated. - In the embodiment of the
FIG. 2 it is also possible formedia request broker 11 to select—for example—Edge Server ES1 withstream server 16 even though the actual media to be streamed is only residing in the cache ofstream server 5 in the format ofstream server 5 which is not compatible to the format necessary formedia player 2 at the client. This is due to the fact that the edge server ES1 has a transcoder program for transcoding the data provided bystream server 16 into the required format of themedia player 2. - The transcoding is initiated by media request broker with a corresponding message to the media edge controller. In the example the requested media taken from the cache of
Stream Server 16 is transcoded and the resulting media is stored in the cache ofStream Server 5. Subsequently a meta file is generated pointing to streamserver 5 and the media would be streamed fromstream server 5 to the media player. - With respect to
FIG. 3 now a preferred embodiments of a method of the invention is explained in greater detail. In step 1 a client connects to a web page containing hyperlinks to media objects (e.g. Media files). Instep 2 the client selects a media by clicking hyperlink. - In step 3 a Web Browser generates a http request containing the unique signature of the media request.
-
Step 4 is a for-next-loop containing the followingsteps - For all
edge servers 1 to n: - Pass Http request to edge server ESm.
Invoke hook at edge server ESm.
Check hook if media request signature is present. - In
step 6 it is decided if a media request signature is present. If this is the case an ID of the edge server ESm is appended to the http request instep 7 and the control goes back tostep 5 with an incremented m. Otherwise m is incremented directly and the control goes back tostep 5 as long as m remains lesser or equal to n. - In
step 8 the Http request arrives at the Web Application Server. Next instep 9 the Web Application Server invokes a servlet and passes a URL and the extension(s) of the Edge Servers to the Servlet. - The extension of the URL is accessed in
step 10 by the servlet to provide the extension to the media request broker instep 11. - Based on the extension the media request broker determines quality weights of potential edge servers in
step 12. A potential edge server is the first edge server in the communication path between the client and the Web page—which is edge server ES1—or an edge server from a regional group of the edge server ES1 and/or one of the edge servers ES2 to ES4 and/or corresponding regional groups of the edge servers ES2 to ES4. - In
step 13 the media request broker selects an appropriate edge server based on the quality weight as determined instep 12. - Based on the selected edge server corresponding media data is generated in
step 14 which is send to the client instep 15. - The client connects to the edge server indicated in the meta data and provides the key to the edge server to initiate the streaming in step 160. The streaming actually starts in
step 17. -
- 1. A method for selecting a first server computer for sending of data to a client computer, the method comprising the steps of:
- accessing a second server computer through a path in a computer network, the path comprising a first set of server computers,
- adding information indicative of at least one server computer of the first set of server computers to a locator of a resource on the second server computer, the resource having a unique signature as part of their identifier; and
- selecting the first server computer based on the information added to the locator.
- 2. The method of
definition 1 the second server computer being a Web application server comprising a Web page with a Hyperlink referencing the data to be send to the client, the hyperlink including a unique signature, the method further comprising the step of selecting the Hyperlink by the client; subsequently generating an http request out of this hyperlink by a web browser; this http request containing the unique signature identifying the media request. - 3. The method of
definitions - at least temporarily storing the information added to the locator on the second server computer,
- providing of the information to a Media Request Broker in response to a client's selection of the Hyperlink.
- 4. The method of anyone of
definitions - 5. The method of anyone of the preceding definitions further comprising the steps of:
- determining a quality weight of at least one of the server computers in the path,
- selecting the first server computer from the first set of server computers based on the quality weight.
- 6. The method of anyone of the preceding definitions further comprising the steps of:
- storing of a set of locators of a second set of server computers being in the same geographical/topological area as a server computer in the first set of server computers, and
- determining a quality weight of at least one of the server computers of the second set for selection of the first server computer.
- 7. The method of anyone of the preceding definitions further comprising the steps of:
- providing the media request broker with the information, the information being indicative of the server computer of the first set of server computers being the first node in the path,
- determining a quality weight based on the information for the first server computer node in the path and for the server computers of the second set of server computers belonging to that server computer node,
- selecting one of the server computers from the group comprising the first server computer node in the path and the set of second server computers with a quality weight being greater than a predefined threshold value,
- determining a quality weight of a second server computer node in the path in case none of the quality weights of the first group is sufficient.
- 8. The method of anyone of the preceding definitions the quality weights being determined based on one or more of the following criteria: availability of the data on a server computer, number of transactions in process on the server computer, percentage of processing resources in use on the server computer, communication bandwidth available in the communication link with the client.
- 9. A server computer system comprising a stream server (5, 16) and storage means (6, 17) for storing and/or buffering of data to be streamed to a client (1), means (7) for storing an identifier of the server computer and means (8) for adding information to a locator provided by the client, the information being indicative of the identifier.
- 10. The server computer system of
definition 9 further comprising means for converting of the data from one stream format to another. - 11. A computer system comprising a Web application server (3) and a media request broker (11), the Web application server containing a Web page (13) with a Hyperlink referencing a media (10) to be streamed to a client (1) and means (12) for at least temporarily storing of information indicative of a first node in a communication path between the client and the Web application server in a computer network, means (14) for providing the information to the media request broker upon selection of the Hyperlink by the client, and means (20) for selecting a stream server for streaming the data to the client based on the information.
- 12. A system for selecting a first server computer from a plurality of server computers for sending of data to a client, the system comprising means adapted for carrying out the steps of the method according to anyone of the preceding
definitions 1 to 8. - 13. A data processing program for execution in a data processing system comprising software code portions for performing a method according to anyone of the
definitions 1 to 8 when the program is run on the computer. - 14. A computer program product stored on a computer usable medium, comprising computer readable program means for causing a computer to perform a method according to anyone of the
definitions 1 to 8 when the program is run on the computer.
Claims (16)
1-14. (canceled)
15. A method for selecting a first server computer for sending of data to a client computer, the method comprising the steps of:
accessing a second server computer through a path in a computer network, the path comprising a first set of one or more server computers;
adding information indicative of at least one server computer of the first set of one or more server computers to a locator of a resource on the second server computer, the resource having a unique signature as part of its identifier; and
selecting the first server computer based on the information added to the locator.
16. The method of claim 15 , the second server computer being a Web application server comprising a Web page with a hyperlink referencing the data to be sent to the client computer, the hyperlink including a unique signature, the method further comprising the steps of selecting the hyperlink by the client computer, and subsequently generating an http request out of this hyperlink by a web browser, this http request containing the unique signature identifying a media request.
17. The method of claim 16 , further comprising the steps of:
at least temporarily storing the information added to the locator on the second server computer; and
providing of the information to a media request broker in response to a selection of the hyperlink by the client computer.
18. The method of claim 17 , the media request broker selecting the first server computer based on the information.
19. The method of claim 15 , further comprising the steps of:
determining a quality weight of at least one of the one or more server computers in the path; and
selecting the first server computer from the first set of one or more server computers based on the quality weight.
20. The method of claim 15 , further comprising the steps of:
storing of a set of locators of a second set of one or more server computers being in a same geographical/topological area as a server computer in the first set of one or more server computers; and
determining a quality weight of at least one of the one or more server computers of the second set for selection of the first server computer.
21. A system comprising:
a stream server and storage means for storing and/or buffering of data to be streamed to a client;
circuitry for storing an identifier of a server computer; and
a hook for adding information to a locator provided by the client, the information being indicative of the identifier.
22. The system of claim 21 , further comprising circuitry for converting of the data from one stream format to another.
23. The system of claim 21 , further comprising:
a Web application server and a media request broker, the Web application server containing a Web page with a hyperlink referencing a media to be streamed to a client and circuitry for at least temporarily storing of information indicative of a first node in a communication path between the client and the Web application server in a computer network;
a servlet for providing the information to the media request broker upon selection of the hyperlink by the client; and
circuitry for selecting the stream server for streaming the data to the client based on the information.
24. A system for selecting a first server computer for sending of data to a client computer, comprising:
circuitry for accessing a second server computer through a path in a computer network, the path comprising a first set of one or more server computers;
circuitry for adding information indicative of at least one server computer of the first set of one or more server computers to a locator of a resource on the second server computer, the resource having a unique signature as part of its identifier; and
circuitry for selecting the first server computer based on the information added to the locator.
25. The system of claim 24 , the second server computer being a Web application server comprising a Web page with a hyperlink referencing the data to be sent to the client computer, the hyperlink including a unique signature, the system further comprising circuitry for selecting the hyperlink by the client computer, and subsequently generating an http request out of this hyperlink by a web browser this http request containing the unique signature identifying a media request.
26. The system of claim 24 , further comprising:
circuitry for determining a quality weight of at least one of the one or more server computers in the path; and
circuitry for selecting the first server computer from the first set of one or more server computers based on the quality weight.
27. A computer program product stored on a computer usable medium, comprising computer readable means for causing a computer system to perform a method comprising the program steps of:
accessing a second server computer through a path in a computer network, the path comprising a first set of one or more server computers;
adding information indicative of at least one server computer of the first set of one or more server computers to a locator of a resource on the second server computer, the resource having a unique signature as part of its identifier; and
selecting the first server computer based on the information added to the locator.
28. The computer program product of claim 27 , the second server computer being a Web application server comprising a Web page with a hyperlink referencing the data to be sent to the client computer, the hyperlink including a unique signature, the computer program product further comprising the program step of selecting the hyperlink by the client computer, and subsequently generating an http request out of this hyperlink by a web browser, this http request containing the unique signature identifying a media request.
29. The computer program product of claim 28 further comprising the program steps of:
at least temporarily storing the information added to the locator on the second server computer; and
providing of the information to a media request broker in response to a selection of the hyperlink by the client computer.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/171,744 US20080263177A1 (en) | 2001-04-18 | 2008-07-11 | Method and computer system for selecting an edge server computer |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EPEP01109563.5 | 2001-04-18 | ||
EP01109563 | 2001-04-18 | ||
US10/474,972 US7426546B2 (en) | 2001-04-18 | 2002-03-16 | Method for selecting an edge server computer |
PCT/EP2002/002947 WO2002084976A1 (en) | 2001-04-18 | 2002-03-16 | Method and computer system for selecting an edge server computer |
US12/171,744 US20080263177A1 (en) | 2001-04-18 | 2008-07-11 | Method and computer system for selecting an edge server computer |
Related Parent Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/EP2002/002947 Continuation WO2002084976A1 (en) | 2001-04-18 | 2002-03-16 | Method and computer system for selecting an edge server computer |
US10/474,972 Continuation US7426546B2 (en) | 2001-04-18 | 2002-03-16 | Method for selecting an edge server computer |
Publications (1)
Publication Number | Publication Date |
---|---|
US20080263177A1 true US20080263177A1 (en) | 2008-10-23 |
Family
ID=8177169
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/474,972 Expired - Fee Related US7426546B2 (en) | 2001-04-18 | 2002-03-16 | Method for selecting an edge server computer |
US12/171,744 Abandoned US20080263177A1 (en) | 2001-04-18 | 2008-07-11 | Method and computer system for selecting an edge server computer |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/474,972 Expired - Fee Related US7426546B2 (en) | 2001-04-18 | 2002-03-16 | Method for selecting an edge server computer |
Country Status (6)
Country | Link |
---|---|
US (2) | US7426546B2 (en) |
EP (1) | EP1396132B1 (en) |
JP (1) | JP3994057B2 (en) |
AT (1) | ATE349130T1 (en) |
DE (1) | DE60216918T2 (en) |
WO (1) | WO2002084976A1 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080212971A1 (en) * | 2005-12-16 | 2008-09-04 | Tamir Shaanan | Wireless Infrared Multimedia System |
US20110088076A1 (en) * | 2009-10-08 | 2011-04-14 | Futurewei Technologies, Inc. | System and Method for Media Adaptation |
US20130254261A1 (en) * | 2012-03-21 | 2013-09-26 | Jason Frederick Nicholls | System and Method of Managing Servers for Streaming Desktop Applications |
US20160248678A1 (en) * | 2014-06-27 | 2016-08-25 | Agora Lab, Inc. | Systems and methods for improved communication packet delivery over a public network |
US20170141924A1 (en) * | 2015-11-17 | 2017-05-18 | Markany Inc. | Large-scale simultaneous digital signature service system based on hash function and method thereof |
US10200668B2 (en) * | 2012-04-09 | 2019-02-05 | Intel Corporation | Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content |
US20210329050A1 (en) * | 2018-09-06 | 2021-10-21 | Nokia Technologies Oy | Method and apparatus for stream descriptor binding in a streaming environment |
Families Citing this family (56)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020002039A1 (en) | 1998-06-12 | 2002-01-03 | Safi Qureshey | Network-enabled audio device |
DE60216918T2 (en) | 2001-04-18 | 2007-08-30 | International Business Machines Corp. | METHOD AND COMPUTER SYSTEM FOR SELECTION OF A BORDER COMPUTER |
US8942082B2 (en) | 2002-05-14 | 2015-01-27 | Genghiscomm Holdings, LLC | Cooperative subspace multiplexing in content delivery networks |
US7187681B1 (en) | 2002-06-11 | 2007-03-06 | Cisco Technology, Inc. | Method and apparatus for traffic quality and billing authorization by request token insertion |
US7941553B2 (en) | 2002-10-18 | 2011-05-10 | International Business Machines Corporation | Method and device for streaming a media file over a distributed information system |
US7945648B2 (en) * | 2003-10-27 | 2011-05-17 | Hewlett-Packard Development Company, L.P. | Methods and systems for dynamically configuring a network component to reroute media streams |
US8782654B2 (en) | 2004-03-13 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Co-allocating a reservation spanning different compute resources types |
WO2005089241A2 (en) | 2004-03-13 | 2005-09-29 | Cluster Resources, Inc. | System and method for providing object triggers |
US9826046B2 (en) * | 2004-05-05 | 2017-11-21 | Black Hills Media, Llc | Device discovery for digital entertainment network |
US8028323B2 (en) | 2004-05-05 | 2011-09-27 | Dryden Enterprises, Llc | Method and system for employing a first device to direct a networked audio device to obtain a media item |
US8028038B2 (en) | 2004-05-05 | 2011-09-27 | Dryden Enterprises, Llc | Obtaining a playlist based on user profile matching |
US20070266388A1 (en) | 2004-06-18 | 2007-11-15 | Cluster Resources, Inc. | System and method for providing advanced reservations in a compute environment |
US9325805B2 (en) | 2004-08-02 | 2016-04-26 | Steve J Shattil | Content delivery in wireless wide area networks |
US8176490B1 (en) | 2004-08-20 | 2012-05-08 | Adaptive Computing Enterprises, Inc. | System and method of interfacing a workload manager and scheduler with an identity manager |
US8271980B2 (en) | 2004-11-08 | 2012-09-18 | Adaptive Computing Enterprises, Inc. | System and method of providing system jobs within a compute environment |
US8863143B2 (en) | 2006-03-16 | 2014-10-14 | Adaptive Computing Enterprises, Inc. | System and method for managing a hybrid compute environment |
US7698430B2 (en) | 2005-03-16 | 2010-04-13 | Adaptive Computing Enterprises, Inc. | On-demand compute environment |
US9075657B2 (en) | 2005-04-07 | 2015-07-07 | Adaptive Computing Enterprises, Inc. | On-demand access to compute resources |
US9015324B2 (en) | 2005-03-16 | 2015-04-21 | Adaptive Computing Enterprises, Inc. | System and method of brokering cloud computing resources |
US9231886B2 (en) | 2005-03-16 | 2016-01-05 | Adaptive Computing Enterprises, Inc. | Simple integration of an on-demand compute environment |
US8782120B2 (en) | 2005-04-07 | 2014-07-15 | Adaptive Computing Enterprises, Inc. | Elastic management of compute resources between a web server and an on-demand compute environment |
AU2010201379B2 (en) * | 2010-04-07 | 2012-02-23 | Limelight Networks, Inc. | System and method for delivery of content objects |
FR2889012B1 (en) * | 2005-07-22 | 2007-08-24 | Alcatel Sa | MEDIA SERVER RESOURCE MANAGEMENT DEVICE FOR INTERFACING BETWEEN APPLICATION SERVERS AND MEDIA SERVERS WITHIN A COMMUNICATION NETWORK |
US7698061B2 (en) | 2005-09-23 | 2010-04-13 | Scenera Technologies, Llc | System and method for selecting and presenting a route to a user |
US20100198977A1 (en) * | 2006-09-27 | 2010-08-05 | Adobe Systems Incorporated | Automatic live stream trees |
US8041773B2 (en) | 2007-09-24 | 2011-10-18 | The Research Foundation Of State University Of New York | Automatic clustering for self-organizing grids |
US8270937B2 (en) * | 2007-12-17 | 2012-09-18 | Kota Enterprises, Llc | Low-threat response service for mobile device users |
US8010601B2 (en) | 2007-12-21 | 2011-08-30 | Waldeck Technology, Llc | Contiguous location-based user networks |
US8024431B2 (en) | 2007-12-21 | 2011-09-20 | Domingo Enterprises, Llc | System and method for identifying transient friends |
CN101534241B (en) * | 2008-03-14 | 2012-07-04 | 华为技术有限公司 | Method and system for relieving network flow and session control unit |
US8725740B2 (en) | 2008-03-24 | 2014-05-13 | Napo Enterprises, Llc | Active playlist having dynamic media item groups |
US20100010997A1 (en) * | 2008-07-11 | 2010-01-14 | Abo Enterprise, LLC | Method and system for rescoring a playlist |
US20100017261A1 (en) * | 2008-07-17 | 2010-01-21 | Kota Enterprises, Llc | Expert system and service for location-based content influence for narrowcast |
US8504073B2 (en) | 2008-08-12 | 2013-08-06 | Teaneck Enterprises, Llc | Customized content delivery through the use of arbitrary geographic shapes |
US7921223B2 (en) | 2008-12-08 | 2011-04-05 | Lemi Technology, Llc | Protected distribution and location based aggregation service |
US20120047087A1 (en) | 2009-03-25 | 2012-02-23 | Waldeck Technology Llc | Smart encounters |
US8874724B2 (en) | 2009-08-26 | 2014-10-28 | At&T Intellectual Property I, L.P. | Using a content delivery network for security monitoring |
US10877695B2 (en) | 2009-10-30 | 2020-12-29 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US11720290B2 (en) | 2009-10-30 | 2023-08-08 | Iii Holdings 2, Llc | Memcached server functionality in a cluster of data processing nodes |
US11330046B2 (en) | 2010-03-01 | 2022-05-10 | Tybalt, Llc | Content delivery in wireless wide area networks |
US10419533B2 (en) | 2010-03-01 | 2019-09-17 | Genghiscomm Holdings, LLC | Edge server selection for device-specific network topologies |
US8244874B1 (en) | 2011-09-26 | 2012-08-14 | Limelight Networks, Inc. | Edge-based resource spin-up for cloud computing |
WO2012142508A1 (en) | 2011-04-15 | 2012-10-18 | Skyfire Labs, Inc. | Real-time video optimizer |
US20130132544A1 (en) * | 2011-11-23 | 2013-05-23 | Telefonaktiebolaget L M Ericsson (Publ) | Precise geolocation for content caching in evolved packet core networks |
US10069885B2 (en) * | 2013-03-18 | 2018-09-04 | Ericsson Ab | Bandwidth management for over-the-top adaptive streaming |
US9009354B2 (en) * | 2012-12-20 | 2015-04-14 | Sap Se | Services and management layer for diverse data connections |
US8788703B1 (en) | 2013-08-05 | 2014-07-22 | Iboss, Inc. | Content caching |
US8972513B2 (en) * | 2013-08-05 | 2015-03-03 | Iboss, Inc. | Content caching |
US10791168B1 (en) | 2018-05-21 | 2020-09-29 | Rafay Systems, Inc. | Traffic aware network workload management system |
JP7183762B2 (en) * | 2018-12-19 | 2022-12-06 | 日本電信電話株式会社 | Server selection device, server selection method and program |
CN114073059B (en) | 2019-03-29 | 2025-01-17 | 三星电子株式会社 | Apparatus and method for providing edge computing service in wireless communication system |
US10489789B1 (en) | 2019-05-02 | 2019-11-26 | Capital One Services, Llc | Systems and methods for providing notifications to devices |
WO2021135663A1 (en) * | 2019-12-31 | 2021-07-08 | 华为技术有限公司 | Application instance determination method, device, and system |
CN111556514B (en) * | 2020-04-14 | 2021-09-21 | 北京航空航天大学 | Decentralized mobile edge computing resource discovery and selection method and system |
CN112601114B (en) * | 2020-12-14 | 2023-03-21 | 杭州当虹科技股份有限公司 | GB28181 on-demand stream pulling realization method based on hook callback |
US11936757B1 (en) | 2022-04-29 | 2024-03-19 | Rafay Systems, Inc. | Pull-based on-demand application deployment to edge node |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038599A (en) * | 1997-04-23 | 2000-03-14 | Mpath Interactive, Inc. | Latency server and matchmaker |
US6230200B1 (en) * | 1997-09-08 | 2001-05-08 | Emc Corporation | Dynamic modeling for resource allocation in a file server |
US6327622B1 (en) * | 1998-09-03 | 2001-12-04 | Sun Microsystems, Inc. | Load balancing in a network environment |
US20020026511A1 (en) * | 2000-04-28 | 2002-02-28 | Garcia-Luna-Aceves Jj | System and method for controlling access to content carried in a caching architecture |
US20020152239A1 (en) * | 2001-04-16 | 2002-10-17 | David Bautista-Lloyd | Method, system, and program for providing data updates to a page including multiple regions of dynamic content |
US6970913B1 (en) * | 1999-07-02 | 2005-11-29 | Cisco Technology, Inc. | Load balancing using distributed forwarding agents with application based feedback for different virtual machines |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB9624419D0 (en) | 1996-11-23 | 1997-01-08 | Inmedia Investment Ltd | Communication system for delivery of content over electronic networks |
US6553376B1 (en) | 1998-11-18 | 2003-04-22 | Infolibria, Inc. | Efficient content server using request redirection |
JP2001007844A (en) | 1999-06-24 | 2001-01-12 | Canon Inc | Network status server, information distribution system, and its control method and storage medium storing its control program |
DE60216918T2 (en) | 2001-04-18 | 2007-08-30 | International Business Machines Corp. | METHOD AND COMPUTER SYSTEM FOR SELECTION OF A BORDER COMPUTER |
-
2002
- 2002-03-16 DE DE60216918T patent/DE60216918T2/en not_active Expired - Lifetime
- 2002-03-16 WO PCT/EP2002/002947 patent/WO2002084976A1/en active IP Right Grant
- 2002-03-16 AT AT02704760T patent/ATE349130T1/en not_active IP Right Cessation
- 2002-03-16 JP JP2002582582A patent/JP3994057B2/en not_active Expired - Fee Related
- 2002-03-16 US US10/474,972 patent/US7426546B2/en not_active Expired - Fee Related
- 2002-03-16 EP EP02704760A patent/EP1396132B1/en not_active Expired - Lifetime
-
2008
- 2008-07-11 US US12/171,744 patent/US20080263177A1/en not_active Abandoned
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6038599A (en) * | 1997-04-23 | 2000-03-14 | Mpath Interactive, Inc. | Latency server and matchmaker |
US6230200B1 (en) * | 1997-09-08 | 2001-05-08 | Emc Corporation | Dynamic modeling for resource allocation in a file server |
US6327622B1 (en) * | 1998-09-03 | 2001-12-04 | Sun Microsystems, Inc. | Load balancing in a network environment |
US6970913B1 (en) * | 1999-07-02 | 2005-11-29 | Cisco Technology, Inc. | Load balancing using distributed forwarding agents with application based feedback for different virtual machines |
US20020026511A1 (en) * | 2000-04-28 | 2002-02-28 | Garcia-Luna-Aceves Jj | System and method for controlling access to content carried in a caching architecture |
US20020152239A1 (en) * | 2001-04-16 | 2002-10-17 | David Bautista-Lloyd | Method, system, and program for providing data updates to a page including multiple regions of dynamic content |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080212971A1 (en) * | 2005-12-16 | 2008-09-04 | Tamir Shaanan | Wireless Infrared Multimedia System |
US20110088076A1 (en) * | 2009-10-08 | 2011-04-14 | Futurewei Technologies, Inc. | System and Method for Media Adaptation |
US20130254261A1 (en) * | 2012-03-21 | 2013-09-26 | Jason Frederick Nicholls | System and Method of Managing Servers for Streaming Desktop Applications |
US10200668B2 (en) * | 2012-04-09 | 2019-02-05 | Intel Corporation | Quality of experience reporting for combined unicast-multicast/broadcast streaming of media content |
US20160248678A1 (en) * | 2014-06-27 | 2016-08-25 | Agora Lab, Inc. | Systems and methods for improved communication packet delivery over a public network |
US10680742B2 (en) * | 2014-06-27 | 2020-06-09 | Agora Lab, Inc. | Systems and methods for improved communication packet delivery over a public network |
US20170141924A1 (en) * | 2015-11-17 | 2017-05-18 | Markany Inc. | Large-scale simultaneous digital signature service system based on hash function and method thereof |
US10091004B2 (en) * | 2015-11-17 | 2018-10-02 | Markany Inc. | Large-scale simultaneous digital signature service system based on hash function and method thereof |
US20210329050A1 (en) * | 2018-09-06 | 2021-10-21 | Nokia Technologies Oy | Method and apparatus for stream descriptor binding in a streaming environment |
US11695814B2 (en) * | 2018-09-06 | 2023-07-04 | Nokia Technologies Oy | Method and apparatus for stream descriptor binding in a streaming environment |
Also Published As
Publication number | Publication date |
---|---|
EP1396132A1 (en) | 2004-03-10 |
DE60216918D1 (en) | 2007-02-01 |
US7426546B2 (en) | 2008-09-16 |
US20040148393A1 (en) | 2004-07-29 |
WO2002084976A1 (en) | 2002-10-24 |
ATE349130T1 (en) | 2007-01-15 |
JP3994057B2 (en) | 2007-10-17 |
EP1396132B1 (en) | 2006-12-20 |
DE60216918T2 (en) | 2007-08-30 |
JP2004523854A (en) | 2004-08-05 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP1396132B1 (en) | Method and computer system for selecting an edge server computer | |
CN106031130B (en) | Content distribution network framework with edge proxies | |
EP0966715B1 (en) | System and method for selection and retrieval of diverse types of video data on a computer network | |
US7941553B2 (en) | Method and device for streaming a media file over a distributed information system | |
JP3974307B2 (en) | Method and apparatus for cooperative proxy system for distributed placement of object rendering | |
US7792915B2 (en) | Content distribution overlay network and methods for operating same in a P2P network | |
US7207044B2 (en) | Methods and systems for integrating with load balancers in a client and server system | |
KR101072966B1 (en) | Method, device and system for distributing file data | |
JP2953591B2 (en) | Load balancing across processor of server computer | |
US8412764B1 (en) | Methods and apparatus for processing client requests in a content distribution network using client lists | |
US20100005187A1 (en) | Enhanced Streaming Operations in Distributed Communication Systems | |
US6490615B1 (en) | Scalable cache | |
US20020002611A1 (en) | System and method for shifting functionality between multiple web servers | |
US20030145096A1 (en) | Method and device for delivering information through a distributed information system | |
US7844708B2 (en) | Method and apparatus for load sharing and data distribution in servers | |
US20040204073A1 (en) | Network technology augmented user device framework | |
EP1844591B1 (en) | System architecture and method for scheduled downloading services | |
JP2002334012A (en) | Service request processing method and its implementation system, and its processing program and recording medium | |
JP3943867B2 (en) | Server-side proxy, data transfer method and program | |
JP3943868B2 (en) | Server-side proxy, data transfer method and program | |
JP2005122358A (en) | Web content delivery system, web content delivery program, and proxy server | |
JP2003108462A (en) | Device and method for transferring data | |
Tusch et al. | Adaptive distributed multimedia streaming server in Internet settings | |
JP2004501443A (en) | Deterministic routing and transparent destination change on the client side |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- AFTER EXAMINER'S ANSWER OR BOARD OF APPEALS DECISION |