In one embodiment of the invention, browser plug-in includes a personal content tunnel (pct) object processor, a pct resolution module, and a server interface. The pct object processor processes a pct object returned by a content server in response to a request from a client. The pct object contains pct information. The pct resolution module resolves a service uniform resource identifier (URI) using the pct information according to a pct resolution protocol. The service URI identifies a pct resolution server. The server interface receives a content URI and a pct termination point resolved by the pct resolution server.
|
9. A method comprising:
processing a pct object (PCTO) returned by a content server in response to a request from a client, the PCTO containing pct information;
resolving a service uniform resource identifier (URI) using the pct information according to a pct resolution protocol, the service URI identifying a pct resolution server;
receiving a content URI and a pct termination point resolved by the pct resolution server; and
initiating a content delivery session between the client and a local node using a carrier tunnel identified by a carrier type identifier, the local node providing access to a content delivered from the content server;
wherein the local node is one of a first local content host and a broadband service node, the first local content host caching the content, the broadband service node connecting to one of a second local content host caching the content and the content server via a content server tunnel.
1. A browser plug-in comprising:
a personal-content tunnel (pct) object processor to process a pct object (PCTO) returned by a content server in response to a request from a client, the PCTO containing pct information;
pct resolution module coupled to the pct object processor to resolve a service uniform resource identifier (URI) using the pct information according to a pct resolution protocol, the service URI identifying a pct resolution server;
a server interface to receive a content URI and a pct termination point resolved by the pct resolution server; and
a session initiator to initiate a content delivery session between the client and a local node using a carrier tunnel identified by a carrier type identifier, the local node providing access to a content delivered from the content server;
wherein the local node is one of a first local content host and a broadband service node, the first local content host caching the content, the broadband service node connecting to one of a second local content host caching the content and the content server via a content server tunnel.
17. A computer program product comprising:
a machine useable medium having computer program code embedded therein, the computer program product having;
computer readable program code to process a pct object (PCTO) returned by a content server in response to a request from a client, the PCTO containing pct information;
computer readable program code to resolve a service uniform resource identifier (URI) using the pct information according to a pct resolution protocol, the service URI identifying a pct resolution server;
computer readable program code to receive a content URI and a pct termination point resolved by the pct resolution server; and
computer readable program code to initiate a content delivery session between the client and a local node using a carrier tunnel identified by a carrier type identifier, the local node providing access to a content delivered from the content server;
wherein the local node is one of a first local content host and a broadband service node, the first local content host caching the content, the broadband service node connecting to one of a second local content host caching the content and the content server via a content server tunnel.
20. A system comprising:
a content server coupled to a network to provide a content;
a pct resolution server coupled to the network to that resolves a service uniform resource identifier (URI) using pct information to a content uniform resource identifier (URI) and a pct termination point; and
a client coupled to a first broadband service node via a broadband medium, the first broadband service node coupling to the network, the client having a browser interfacing to a browser plug-in, the browser plug-in comprising:
a personal content tunnel (pct) object processor to process a pct object (PCTO) returned by the content server in response to a client request from the client, the PCTO containing pct information,
a pct resolution module coupled to the pct object processor to resolve a service uniform resource identifier (URI) using the pct information according to a pct resolution protocol, the service URI identifying the pct resolution server,
a server interface to receive the content URI and the pct termination point resolved by the pct resolution server, and
a session initiator to initiate a content delivery session between the client and a local node using a carrier tunnel identified by a carrier type identifier, the local node providing access to the content delivered from the content server.
2. The browser plug-in of
3. The browser plug-in of
an authenticator to authenticate the client using the authentication parameter, the authentication parameter being one of a realm, a domain, a username, and a password.
4. The browser plug-in of
a pct object receiver to receive the pct object via a Hypertext Transfer protocol (HTTP) link; and
a pct object interpreter to interpret the received pct object.
5. The browser plug-in of
a pct object identifier to identify the pct object based on a unique encoding type.
6. The browser plug-in of
7. The browser plug-in of
8. The browser plug-in of
a routing controller to establish a route for the content delivery session between the client and the subnet containing the Internet protocol (IP) address of the content server, the subnet being identified by a network mask in the pct routing control parameter.
10. The method of
11. The method of
authenticating the client using the authentication parameter, the authentication parameter being one of a realm, a domain, a username, and a password.
12. The method of
receiving the pct object via a Hypertext Transfer protocol (HTTP) link; and
interpreting the received pct object.
13. The method of
identifying the pct object based on a unique encoding type.
14. The method of
15. The method of
16. The method of
establishing a route for the content delivery session between the client and the subnet containing the Internet protocol (IP) address of the content server, the subnet being identified by a network mask in the pct routing control parameter.
18. The computer program product of
19. The computer program product of
21. The system of
22. The system of
23. The system of
|
This patent application claims the benefit of U.S. Provisional Application No. 60/303,419 filed on Jul. 6, 2001.
1. Field of the Invention
This invention relates to computer networks. In particular, the invention relates to content delivery.
2. Description of Related Art
The popularity of the Internet has created many opportunities to provide services or contents to users. Users now can have easy access to a large number of service providers to receive services, products, or advertisements. Examples of these services include video conferencing, online gaming, digital book downloading, video and audio programming, etc.
However, existing services to deliver contents to clients or subscribers have a number of drawbacks. First, the content or service delivered is typically performed on a narrow band basis. Second, clients do not receive premium services tailored according to their preferences, choices, and budget. Third, the delivery of contents is typically based on an unpredictable best effort standard. Fourth, the content providers do not have control of how their content is delivered.
Therefore, there is a need in the technology to provide an efficient technique for content delivery via broadband networks.
In one embodiment of the invention, browser plug-in includes a personal content tunnel (PCT) object processor, a PCT resolution module, and a server interface. The PCT object processor processes a PCT object returned by a content server in response to a request from a client. The PCT object contains PCT information. The PCT resolution module resolves a service uniform resource identifier (URI) using the PCT information according to a PCT resolution protocol. The service URI identifies a PCT resolution server. The server interface receives a content URI and a PCT termination point resolved by the PCT resolution server.
According to one embodiment of the present invention, the PCT information includes at least one of a carrier type identifier, a PCT routing control parameter, a PCT session time-out parameter, a bandwidth parameter, an authentication parameter, and the service URI. The PCT object processor includes a PCT object receiver to receive the PCT object via a Hypertext Transfer Protocol (HTTP) link, and a PCT object interpreter to interpret the received PCT object. The plug-in further includes a session initiator. The session initiator initiates a content delivery session between the client and a local node using a carrier tunnel identified by the carrier type identifier. The local node provides access to content delivered from the content server. The local node may be a local content host, a broadband service node, or a second broadband service node and a local content host. The second broadband service node connects to a local content host caching the content or the content server via a content server tunnel.
An embodiment of the invention may provide at least one of the following benefits (1) increasing customer's satisfaction for services, (2) providing content providers better means to control content delivery, (3) increasing customer's accessibility to worldwide services, (4) maintaining subscriber loyalty, and (5) improving commercial transactions between wholesale service providers and retail services providers.
Other aspects and features of the present invention will become apparent to those ordinarily skilled in the art upon review of the following description of specific embodiments of the invention in conjunction with the accompanying figures.
The features and advantages of the present invention will become apparent from the following detailed description of the present invention in which:
The present invention is a method and apparatus to provide personal content delivery to a client or subscriber. The content is a program, or service, that can be transmitted and delivered over a network. Examples of the content include a movie, a video and/or audio program, a musical performance, a sequence of images, graphics, audio segments, a textual page, a book, a literal work, a visual artwork, etc. The content is delivered according to personalized criteria, requirements, or profiles. The client/subscriber subscribes to the services offered by a content provider or a service provider. The client/subscriber may pay for the premium services.
The personal content delivery is based on a Personal Content Tunnel (PCT) mechanism. A PCT is intended for use by client software (e.g., Web browsers) to establish an individual, focused delivery channel. Such a channel may be used to deliver content requiring custom traffic parameters (e.g., high bandwidth, low latency, or a preferred forwarding path). Dynamically created sessions can establish such traffic parameters, and remain active for the duration needed by the delivered content.
Local Exchange Carriers (LEC's), Internet Service Providers (ISP's), and content providers can all benefit from such PCT capability. By placing the content sources close to the edge of the network, and allowing PCT termination directly at the subscriber edge of the network, LEC's or ISP's can deliver high quality, controlled broadband content that would bypass their normal Internet peering links. Such capability is useful for both the access provider and the content source, as typical Internet peering links provide relatively low bandwidth at a high cost, and travel via less controllable congestion paths.
In the following description, for purposes of explanation, numerous details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one skilled in the art that these specific details are not required in order to practice the present invention. For example, specific details are not provided as to whether the method is implemented in a station as a software routine, hardware circuit, firmware, or a combination thereof.
Embodiments of the invention may be represented as a software product stored on a machine-readable medium (also referred to as a computer-readable medium, a processor-readable medium, or a computer usable medium having a computer readable program code embodied therein). The machine-readable medium may be any type of magnetic, optical, or electrical storage medium including a diskette, compact disk read only memory (CD-ROM), memory device (volatile or non-volatile), or similar storage mechanism. The machine-readable medium may contain various sets of instructions, code sequences, configuration information, or other data. Those of ordinary skill in the art will appreciate that other instructions and operations necessary to implement the described invention may also be stored on the machine-readable medium. Software running from the machine readable medium may interface with circuitry to perform the described tasks. Hardware and software structures may be coupled in a number of interfaces. A software module may be coupled to another software module by passing parameters, sharing common memory blocks, and exchanging variables or messages.
The client/subscriber 110 may have several meanings depending on the context. In one context, the client/subscriber 110 is an application for personal content delivery that runs on a computer, a workstation, a mobile device, a hand-held computer, a personal digital assistant (PDA). In another context, the client/subscriber may refer to the physical device or system (e.g., a computer, a workstation) that has the application program for content delivery session. Yet, in another context, the client/subscriber 110 may refer to a person, an account, an entity, a business, a fictitious name, a residence, a group of people, etc. who subscribes to the personal content delivery service.
Each of the K clients/subscribers 1101 to 110K typically has a browser or a software program to allow a user to view Web pages and navigate through the Web. The K clients/subscribers 1101 to 110K have respective K browser plug-ins 1151 to 115K. Each of the K browser plug-ins 1151 to 115K is a software or hardware module or any combination of hardware and software that adds a specific feature or service to the browser. The specific feature or service is the personal content delivery that allows the corresponding client/subscriber to receive a personalized content delivered according to some predefined protocol.
Each of the J broadband access media 1201 to 120J represents a broadband carrier to transmit the content at high speed with high quality of service (QoS). Examples of the broadband access medium include Digital Subscriber Loop (DSL), time division multiplexing (TDM), wholesale dial, cable, cable modem, high-speed modem, wireless, frame relay/asynchronous transfer mode (FR/ATM). Each of the J broadband access media 1201 to 120J may include an access switch that interfaces to a number of clients/subscribers and route to the broadband service node 130.
The broadband service node (BSN) 130 is a subsystem located at the edge of the network 150 to help a content provider or service provider to aggregate a large number of subscribers and centrally provision them with highly customized network services, including personal content delivery. The BSN 130 interfaces to the broadband access medium 120 and the network 150 to provide controlled content delivery to a client/subscriber via a premium channel and medium while utilizing the existing network communication systems such as the Internet.
The content manager 135 is associated with the BSN 130 to manage a personal content delivery session. The content manager 135 may include a graphical user interface (GUI) to allow intelligent interactive session between the client/subscriber and the content provider. The content manager 135 may include a service creation system that creates services personalized to the subscribers. The content manager 135 may also include or interface to application programs for billing, accounting, service subscription, content selection, content rating, advertisements, and any other content management tasks.
The local content host 140 is a subsystem that stores the contents delivered by the content provider and distributes this content to the subscribers. The local content host 140 may be a server, a database workstation, or a high speed cache unit. The local content host 140 is connected to the BSN 130 and the network 150 to transfer the content received from the content provider via the network 150 to the client/subscriber via the BSN 130.
The network 150 represents any network for data and media (e.g., video/audio) transmission and communication. The network 150 may be a wide area network (WAN), a local area network (LAN), the Internet, an intranet, a network backbone, an Internet Protocol (IP) ethernet, an IP ATM, a virtual private network (VPN), a tunnel, an IP Security (IPSec), etc.
The content servers 1701 to 170N communication with the subscribers 110 via PCT's. The PCT is a tunnel over which content is provided, and is established and terminated in a session driven manner. A PCT is carried over individual Point-to-Point Protocol (PPP) sessions. These PPP sessions are carried over tunneling technologies or over multi dialing technologies. Examples of tunneled technologies include Layer Two Tunneling Protocol (L2TP), Point-to-Point Tunneling Protocol (PPTP), and the Layer 2 Forwarding Protocol (L2F) all over IP, and PPP over Ethernet (PPPoE) over bridge segments. Examples of multi dialing technologies include Integrated Services Digital Networks (ISDN) and PPP over ATM (PPPoA) over Switched Virtual Connections (SVC's).
The PCT resolution server 160 is a server connected to the network 150 that perform PCT service resolution using a PCT protocol to be described later. The PCT resolution server 160 is accessed by a link to a predefined uniform resource identifier (URI) via a Hypertext Transfer Protocol (HTTP).
The N content servers 1701 to 170N are servers that are associated with N content providers 1801 to 180N, respectively. Each of the N content servers 1701 to 170N is involved in the establishment of a content delivery session with a requesting client/subscriber 10. Each of the N content servers 1701 to 170N may transfer the content to a local content host before or during a content delivery session. Alternatively, each of the N content servers 1701 to 170N may also be connected to the client/subscriber via a tunnel particular to the content provider. In this case, a tunneling switch may be necessary to switch the PCT to the content provider tunnel at a service node. The content providers 1801 to 180N may be any service providers that can provide content to be delivered to a subscriber. The content providers 1801 to 180N may be a movie distributor, a bookstore, a music distributor, etc.
The PCT object processor 210 processes a PCT object (PCTO) 215 returned by the content server 170 in response to a request from the client/subscriber 10. The PCTO contains PCT information needed to establish a PCT. The PCT information may contain one or more of the following: a carrier type identifier, a PCT routing control parameter, a PCT session time-out parameter, a bandwidth parameter, an authentication parameter, and a service URI. The carrier type identifier specifies the type of carrier used for the delivery session. The PCT routing control parameter specifies the routing information such as the mask for the subnet containing the Internet Protocol (IP) address of the content server. The authentication parameter is a parameter used for authentication purposes. This parameter may be a username or user identifier, a password, a realm, or a domain. The PCT object 205 can be pointed to by a typical URI and retrieved using common protocols. In one embodiment, the PCT object 205 is embedded in HTTP content and is retrieved via HTTP. The PCT object processor 210 includes a PCT object receiver 212 and a PCT object interpreter 214. The PCT object receiver 212 retrieves the PCT object 205 via HTTP. The PCT object interpreter 214 interprets the received PCT object 205. The PCT object interpreter 214 includes a PCT object identifier 216. The PCT object identifier 216 identifies the PCT object based on a unique encoding type. In one embodiment, the unique encoding type is the Multipurpose Internet Mail Extensions (MIME).
The PCT resolution module 220 resolves a service uniform resource identifier (URI) using the PCT information contained in the PCT object 205 according to a PCT resolution protocol. The service URI identifies the PCT resolution server 160 (FIG. 1).
The server interface 230 receives a content URI and a PCT termination point resolved by the PCT resolution server 160. The server interface 230 then passes the content URI and the PCT termination point to the session initiator 240 to initiate a personal content delivery session. The content URI identifies the source for the content.
The session initiator 240 initiates a content delivery session between the client/subscriber 110 and a local node using a carrier tunnel identified by the carrier type identifier. The carrier tunnel uses a tunneling protocol which may be one of a point-to-point protocol (PPP)/layer two tunneling protocol (L2TP) or a PPP/point-to-point tunneling protocol (PPTP) as discussed before. The local node provides access to content delivered from the content server 170 (FIG. 1). There may be several scenarios in which the content is delivered to the client/subscriber 110. These scenarios are described in
The routing controller 250 establishes a route for the subnet containing the Internet Protocol (IP) address of the content server, to be used for the content delivery session. The subnet is identified by a network mask in the PCT routing control parameter.
The authenticator 260 authenticates the client/subscriber using the authentication parameter. Typically more than one authentication parameter is used. These parameters may include a username, a user's password, a realm, and a domain. If the client/subscriber cannot be authenticated (e.g., incorrect password), the content delivery request may be declined.
To support a personal content delivery session, a PCT resolution protocol is used. The PCT resolution protocol uses User Datagram Protocol (UDP) over a well known port. It uses a text-based, single request-response sequence for resolution.
The PCT protocol takes place in six steps:
Step 1: The client 110 sends a request to the content server 1701 via the BSN 1301. This request is typically performed by a content server link 310 to the content server 1701. For example, the content server link 310 may be:
http://www.CPA.com/trailers/clip.avi
Step 2: The content server 170, returns the PCT object 320 to the client 110 via the BSN 1301. The PCT object 320 contains PCT information. The PCT information includes a service URI 330. An example of the service URI 330 is a URI 335:
pctrp://pctrs.ISP.com/CPA/trailers/clip.avi
Step 3: The client 110 sends a request to the PCT resolution server that includes a client request identifier (ID), a PCT carrier identifier, a client identifier, and a PCT service URI 335. The client 10 obtains the PCT service URI 335 from the received the PCT object 320 and uses the PCT service URI 337 which is the same as the service URI 335. The service URI 337 identifies the PCT resolution server 160.
RESOLVE<Client request ID><PCT carrier ID><Client ID><service URI>
Example
RESOLVE 54321 PPTP 199.242.48.30 pctrp://pctrs.ISP.com/CPA/trailers/clip.avi
Step 4: The PCT resolution server 160 responds by sending a PCT termination point 350 and a content URI 360 to the client. An example of the PCT termination point is 355 and an example of the content URI is the URI 365.
RESOLVED<Client request ID><PCT carrier ID><PCT Termination Point><Content URI>
UNRESOLVED<Client request ID>
Examples
RESOLVED 54321 PPTP 199.242.50.6 http://cacheWestCPA.ISP.com/trailers/clip.avi
Step 5A: The client 110 obtains the content URI 360 and uses it as a URI 367 to access the local content host 1401 via the BSN 1301. In the above example, the content URI 367 is:
http://cacheWestCPA.ISP.com/trailers/clip.avi
Step 6A: The local content host 1401 stores the content to be delivered. Upon being requested, the local content host 1401 delivers the stored content to the requesting client 110 via the BSN 1301.
There are also six steps. Steps 1, 3, and 4 are the same as in FIG. 3A. Steps 2, 5B, and 6B are different as follows:
Step 2: The content server 1701 returns the PCT object 320 to the client 110 via the BSN 1301. The PCT object 320 contains PCT information. The PCT information includes a service URI 330, a netmask 340, and authentication information 345. An example of the service URI 330 is a URI 335:
pctrp://pctrs.ISP.com/CPA/trailers/clip.avi
An example of the netmask 340 is a netmask 342:
255.255.255.255
An example of the authentication information 345 is authentication information 347:
Username: Guest
Password: Guest
Step 5B: The client 110 obtains the content URI 360 and uses it as a URI 367 to direct to the local content host 1401 via the BSN 1302. In the above example, the content URI 367 is:
http://cacheWestCPA.ISP.com/trailers/clip.avi
Step 6B: The local content host 1402 stores the content to be delivered. The content may be stored by the content server 1701. Upon being requested, the local content host 1402 delivers the stored content to the requesting client 110 via the BSN 1302.
There are six steps. Steps 1, 2, 3, and 4 are the same as in
Step 5C: The client 110 obtains the content URI 360 and uses it as a URI 367 to access the local content host 1401 via the BSN 1302. In the above example, the content URI 367 is:
http://cacheWestCPA.ISP.com/trailers/clip.avi
At BSN 1302, the traffic is switched from the PCT to the content server tunnels 372 and 374.
Step 6B: The content servers 1701 and 1702 delivers the stored content to the requesting client 110 via the BSN 1302 through the content provider tunnels 372 and 374, respectively.
The access interface 410 interfaces to a client 110 via the broadband medium 120 (FIG. 1). The client 10 is one of a plurality of subscribers for content delivery via a PCT. The access interface 410 may have interface to an access switch that connects to a number of clients/subscribers. The access interface 410 includes a subscriber aggregator 415 to aggregate the subscribers. The subscriber aggregator 415 allows content providers or service providers to aggregate tens of thousands of subscribers onto one platform and apply highly customized IP services to those subscribers. Subscribers coming into the network across various broadband access technologies such as DSL, cable, and wireless are aggregated and have customized services applied on a per subscriber basis.
The network interface 420 includes a backbone interface to connect to the network 150 (FIG. 1). The backbone interface may include trunks and virtual private networks (VPN). The network interface 410 is coupled to the content server 170 and the PCT resolution server 160 via the network 150 (
The VPN's emulate a multi-site routed core network, appearing as an IP cloud to edge devices allowing the client 110 to outsource the core routing to the content provider associated with the content server 170. The edge router of the content server 170 appears as a neighbor to the client's routed network, with all VPN tunnels established between these content server routers. The client 110 is therefore relieved from the burden of establishing and maintaining the VPN tunnels.
The content interface 430 is coupled to the content manager 135 (
The subscriber manager 440 manages service requests from the subscribers. The tasks of the subscriber manager 440 include policy and profile creation and provisioning, administrative control, and accounting. The administrative control may create multiple accounts for each client/subscriber with different permissions on each account based on the user's job function, skill level, experience, and other criteria.
The traffic manager 450 manages traffic over the network 150 according to the service requests. The traffic manager 450 may perform the following tasks: differentiated service (DiffServ) marking, traffic shaping, and traffic policing. In one embodiment, the traffic manager 450 supports the Assured Forwarding (AFP) Per Hop Behavior Group of the IETF Diffserv architecture. DiffServ allows the content or service provider to confidently offer varying levels of service to subscribers and bill accordingly. The traffic manager 450 also identifies IP flows and shapes to an absolute bandwidth and/or a relative bandwidth under times of congestion. Different flows receive different bandwidth allocations. This all occurs on a per-subscriber basis. Traffic policing provides the content/service provider with the ability to define the type and relevant amount of traffic a subscriber can both source and receive. The traffic manager 450 defines types of traffic categories and applies rules as to what happens with excess traffic in these categories. The committed rate, committed burst size, peak rate, and peak burst size thresholds are set with corresponding actions.
The firewall manager 460 prevents unwanted or unauthorized traffic from leaving or entering a subscriber's site. Actions of the firewall manager 460 include anti-spoofing, encryption (IPSec), and Network Address Translation (NAT). Anti-spoofing filters incoming traffic based on the expected source address(es) of the subscriber's link. Encryption capabilities include IPSec and associated key management protocols. NAT permits subscribers to maintain private address spaces for reasons of address management or security, only translating to globally recognized IP address at the service node.
As shown in
The connection between the content server 170 and the client 110 is via the PCT. The PCT is carried over a point-to-point protocol (PPP) session. The PPP session is one of a tunneled carrier and a multi-dialing carrier as discussed earlier.
Other examples of the PCT protocol include LEC providing ISP selection, LEC providing hosted broadband content, and a content provider publishing content on the Web.
1) LEC providing ISP selection:
A LEC can provide web-based ISP selection using PCTs. In the examples below the LEC itself is referred to as ISP_A.
ISP_A (wholesaler) provides customers with 1483/b connections, and DHCP served addresses from the private address space [10.x]. ISP_A's network includes an LNS's capable of L2TP and PPTP tunnel switching to various ISPs based on PPP realm and/or domain name parameters.
Web Page:
ISP_B PCT Object:
PCT Service URI: pctrp://pctrs.ISP_A.com/ISP_B/ISP_BHome.html
Netmask=0.0.0.0
PPP authentication realm=ISP_B
PPP authentication domain=ISP_B.com
ISP_C PCT Object:
PCT Service URI: pctrp://pctrs.ISP_A.com/ISP_C/ISP_CHome.html
Netmask=0.0.0.0
PPP authentication realm=ISP_C
PPP authentication domain=ISP_C.net
ISP_A's PCTRS Server is configured to resolve as follows:
PCT Service URI: pctrp://pctrs.ISP_A.com/<path>:
PCT Termination Point: LNS address is derived from client IP address.
For example, if ISP_A were running multiple CONTENT GATEWAYs:
CONTENT GATEWAY 1:
CONTENT GATEWAY 2:
etc.
The LNS address is the 0.2 address within the IP clients/19 subnet.
Content URI: http://hostedHomes.ISP_A.com/<path>
All other PCT Server URIs: unresolved.
2) LEC Providing Hosted Broadband Content:
ISP_A provides customers with 1483/b connections, and DHCP served addresses from the private address space [10.x]. ISP_A's network includes an LNS's capable of L2TP and PPTP tunnel switching to various ISP based on PPP realm and/or domain name parameters.
Web Page:
Content_Provider_A Movies
Simba's Pride Link to DisnetMovies.simbasPride PCT Object
Snow White Link to DisnetMovies.snowWhite PCT Object
Content_Provider_B News
Link to Content_Provider_B News PCT Object:
Content_Provider_AMovies.simbasPride PCT Object:
PCT Service URI:
Netmask=255.255.255.255
PPP authentication realm=Content_Provider_A
PPP authentication domain=Content_Provider_A.com
PPP authentication user=guest
PPP authentication password=guest
ISP_A's PCTRS Server is configured to resolve as follows:
PCT Service URI: pctrp://pctrs.ISP_A.com/Content_Provider_A/<path>:
PCT Termination Point: LNS address is derived from client IP address.
For east coast client IP addresses:
Content URI: http://hostedContent_Provider_AEast.ISP_A.com/<path>
For west coast client IP addresses:
Content URI: http://hostedContent_Provider_AWest.ISP_A.com/<path>
(where <path>is derived from the PCT Service URI above).
3) Content Provider publishing Content on the Web:
A Content Provider can publish content using PCT Objects on the web. Such objects can then be displayed by any Internet connected web browser (with PCT Object plug-in installed). However, when viewed from networks that have peering or hosting relationships with the content provider, optimized paths to the content will be taken.
This capability allows Content Providers to publish globally accessible data once, and in a single format, and to separately [and centrally] handle the network path optimization issues via PCT Resolution Server setups.
Web Page:
Content_Provider_A Movies
Simba's Pride Link to DisnetMovies.simbasPride PCT Object
Snow White Link to DisnetMovies.snowWhite PCT Object
Content_Provider_AMovies.simbasPride PCT Object:
pctrp://pctrs. Content_Provider_A.com/Content_Provider_A/movies/simbasPride.avi
Netmask=255.255.255.255
PPP authentication realm=Content_Provider_A
PPP authentication domain=Content_Provider_A.com
PPP authentication user=guest
PPP authentication password=guest
Content_Provider_A's PCT Resolution Servers can be configured with knowledge of PCT Termination Points for various address spaces. For address spaces for which optimized PCT Termination Point paths do not exist, the Content_Provider_A PCT Resolution Servers can return an IP carrier technology resolution response.
By establishing Peering and hosting agreements with various ISPs and LECs, Content_Provider_A can optimize delivery of its globally available content over certain networks.
In the above example, the PCT Client would query the Content_Provider_A PCTRS Server with the following request:
RESOLVE 54321 L2TP 199.242.48.30
pctrp://pctrs.Content_Provider_A.com/Content_Provider_A/movies/simbasPride.avi
If the Client (199.242.48.30) is in a network that the content provider has no known agreements with, the server will respond with:
RESOLVED 54321 IP 199.242.48.30
http://www.Content_Provider_A.com/Content_Provider_A/movies/simbasPride.avi.
However, if the Client (199.242.48.30) is in a network with a PCT hosting setup, the server could respond with:
RESOLVED 54321 L2TP 199.242.50.6
http://hostedContent_Provider_A.coolIsp.com/Content_Provider_A/movies/simbasPride.avi
While this invention has been described with reference to illustrative embodiments, this description is not intended to be construed in a limiting sense. Various modifications of the illustrative embodiments, as well as other embodiments of the invention, which are apparent to persons skilled in the art to which the invention pertains are deemed to lie within the spirit and scope of the invention.
Tene, Gil, Bryden, Simon, Gleeson, Bryan, Pillalamarri, Shyam, Filho, Reinaldo Penno
Patent | Priority | Assignee | Title |
10079869, | Mar 21 2001 | Comcast Cable Communications Management, LLC | Method and system for managing and distributing digital media |
10104193, | May 13 2010 | Futurewei Technologies, Inc. | System, apparatus for content delivery for internet traffic and methods thereof |
10264305, | Mar 02 2010 | Twentieth Century Fox Film Corporation | Delivery of encoded media content |
10397374, | Mar 23 2004 | IOENGINE, LLC | Apparatus, method and system for a tunneling client access point |
10447819, | Mar 23 2004 | IOENGINE, LLC | Apparatus, method and system for a tunneling client access point |
10524096, | Mar 07 2018 | Electronics and Telecommunications Research Institute | Method of identifying internet of things group service based on object identifier |
10972584, | Mar 23 2004 | Vitesco Technologies USA, LLC | Apparatus, method and system for a tunneling client access point |
10992786, | Mar 23 2004 | IOENGINE LLC | Apparatus, method and system for a tunneling client access point |
11082537, | Mar 23 2004 | IOENGINE, LLC | Apparatus, method and system for a tunneling client access point |
11102335, | Mar 23 2004 | IOENGINE, LLC | Apparatus, method and system for a tunneling client access point |
11632415, | Mar 23 2004 | IOENGINE, LLC | Apparatus, method and system for a tunneling client access point |
11818194, | Mar 23 2004 | IOENGINE, LLC | Apparatus, method and system for a tunneling client access point |
11818195, | Mar 23 2004 | IOENGINE, LLC | Apparatus, method and system for a tunneling client access point |
7047304, | Aug 14 2001 | The DIRECTV Group, Inc. | System and method for provisioning broadband service in a PPPoE network using a configuration domain name |
7079527, | Sep 20 2001 | The DIRECTV Group, Inc. | System and method for provisioning broadband service in a PPPoE network using DTMF communication |
7089309, | Mar 21 2001 | Comcast Cable Communications Management, LLC | Method and system for managing and distributing digital media |
7154912, | Aug 14 2001 | DIRECTV, LLC | System and method for provisioning broadband service in a PPPoE network using a list of stored domain names |
7219153, | Dec 02 2002 | Cisco Technology, Inc. | Methods and apparatus for distributing content |
7603470, | Aug 14 2001 | The DIRECTV Group, Inc. | System and method for provisioning broadband service in a PPPoE network using a configuration domain name |
7680912, | Jul 27 2001 | Comcast Cable Communications Management, LLC | System and method for managing and provisioning streamed data |
7827565, | Mar 12 2004 | Microsoft Technology Licensing, LLC | Integration architecture for non-integrated tools |
8266689, | Jul 19 2007 | OWL Cyber Defense Solutions, LLC | Bilateral communication using multiple one-way data links |
8353022, | Jun 24 2011 | OWL Cyber Defense Solutions, LLC | Bilateral communication using multiple one-way data links |
8381287, | Jul 19 2006 | Secure Exchange Solutions, LLC | Trusted records using secure exchange |
8402088, | Jun 11 2001 | Apple Inc | Establishing telephone calls at a specified future time using a URI and a web-based telephony application |
8812672, | Mar 21 2001 | Comcast Cable Communications Management, LLC | Method and system for managing and distributing digital media |
8831222, | Jul 19 2007 | OWL Cyber Defense Solutions, LLC | Bilateral communication using multiple one-way data links |
8903846, | Oct 29 1999 | Oracle International Corporation | Method and apparatus for integrating data from external sources into a database system |
8949350, | Aug 26 2011 | International Business Machines Corporation | Tracking desktop application referrals to content distributed over a network |
8982738, | May 13 2010 | FUTUREWEI TECHNOLOGIES, INC | System, apparatus for content delivery for internet traffic and methods thereof |
9059969, | Mar 23 2004 | IOENGINE, LLC | Apparatus, method and system for a tunneling client access point |
9088539, | Jul 19 2007 | OWL Cyber Defense Solutions, LLC | Data transfer system |
9237995, | Mar 04 2005 | The Procter & Gamble Company | Methods of cleansing skin and rinse-off or wipe-off compositions therefor |
9386116, | May 13 2010 | FUTUREWEI TECHNOLOGIES, INC | System, apparatus for content delivery for internet traffic and methods thereof |
9420055, | May 13 2010 | FUTUREWEI TECHNOLOGIES, INC | System, apparatus for content delivery for internet traffic and methods thereof |
9485246, | Dec 29 2009 | Nokia Technologies Oy | Distributed authentication with data cloud |
9628579, | May 13 2010 | FUTUREWEI TECHNOLOGIES, INC | System, apparatus for content delivery for internet traffic and methods thereof |
9723096, | May 13 2010 | Futurewei Technologies, Inc. | System, apparatus for content delivery for internet traffic and methods thereof |
9774703, | Mar 23 2004 | IOENGINE, LLC | Apparatus, method and system for a tunneling client access point |
Patent | Priority | Assignee | Title |
6182141, | Dec 20 1996 | Intel Corporation | Transparent proxy server |
6731630, | Feb 29 2000 | Hewlett Packard Enterprise Development LP | Flexible dial plan for a data network telephony system |
20020027915, | |||
20020065906, | |||
20020184301, | |||
20040110670, | |||
20040143579, | |||
20050010816, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jun 13 2001 | PILLALAMARRI, SHYAM | Nortel Networks Limited | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012281 | /0613 | |
Jun 13 2001 | TENE, GIL | Nortel Networks Limited | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012281 | /0613 | |
Jun 19 2001 | GLEESON, BRYAN | Nortel Networks Limited | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012281 | /0613 | |
Jun 25 2001 | FILHO, REINALDO PENNO | Nortel Networks Limited | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012281 | /0613 | |
Jul 06 2001 | BRYDEN, SIMON | Nortel Networks Limited | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 012281 | /0613 | |
Oct 18 2001 | Nortel Networks Limited | (assignment on the face of the patent) | / | |||
Jul 29 2011 | Nortel Networks Limited | Rockstar Bidco, LP | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 027164 | /0356 | |
May 09 2012 | Rockstar Bidco, LP | Rockstar Consortium US LP | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 032422 | /0919 | |
Jan 28 2015 | Constellation Technologies LLC | RPX CLEARINGHOUSE LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034924 | /0779 | |
Jan 28 2015 | NETSTAR TECHNOLOGIES LLC | RPX CLEARINGHOUSE LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034924 | /0779 | |
Jan 28 2015 | Rockstar Consortium US LP | RPX CLEARINGHOUSE LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034924 | /0779 | |
Jan 28 2015 | ROCKSTAR CONSORTIUM LLC | RPX CLEARINGHOUSE LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034924 | /0779 | |
Jan 28 2015 | Bockstar Technologies LLC | RPX CLEARINGHOUSE LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034924 | /0779 | |
Jan 28 2015 | MOBILESTAR TECHNOLOGIES LLC | RPX CLEARINGHOUSE LLC | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 034924 | /0779 | |
Feb 26 2016 | RPX Corporation | JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENT | SECURITY AGREEMENT | 038041 | /0001 | |
Feb 26 2016 | RPX CLEARINGHOUSE LLC | JPMORGAN CHASE BANK, N A , AS COLLATERAL AGENT | SECURITY AGREEMENT | 038041 | /0001 | |
Dec 22 2017 | JPMORGAN CHASE BANK, N A | RPX Corporation | RELEASE REEL 038041 FRAME 0001 | 044970 | /0030 | |
Dec 22 2017 | JPMORGAN CHASE BANK, N A | RPX CLEARINGHOUSE LLC | RELEASE REEL 038041 FRAME 0001 | 044970 | /0030 |
Date | Maintenance Fee Events |
Apr 19 2005 | ASPN: Payor Number Assigned. |
Sep 30 2008 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Jan 25 2013 | M1552: Payment of Maintenance Fee, 8th Year, Large Entity. |
Mar 17 2017 | REM: Maintenance Fee Reminder Mailed. |
Sep 04 2017 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Aug 09 2008 | 4 years fee payment window open |
Feb 09 2009 | 6 months grace period start (w surcharge) |
Aug 09 2009 | patent expiry (for year 4) |
Aug 09 2011 | 2 years to revive unintentionally abandoned end. (for year 4) |
Aug 09 2012 | 8 years fee payment window open |
Feb 09 2013 | 6 months grace period start (w surcharge) |
Aug 09 2013 | patent expiry (for year 8) |
Aug 09 2015 | 2 years to revive unintentionally abandoned end. (for year 8) |
Aug 09 2016 | 12 years fee payment window open |
Feb 09 2017 | 6 months grace period start (w surcharge) |
Aug 09 2017 | patent expiry (for year 12) |
Aug 09 2019 | 2 years to revive unintentionally abandoned end. (for year 12) |