1. Field of the Invention
The present invention relates to transmission efficiency in a communications network. More specifically, the present invention relates to reducing acquisition times in a wireless communications network.
2. Background Art
FLO is a technology designed primarily for the efficient and economical distribution of the same multimedia content to millions of wireless subscribers simultaneously. The goal of FLO technology is to reduce costs associated with delivering such content and allow users to surf channels of content on the mobile handsets typically used for traditional cellular voice and data services. This multimedia content is also known as services. A service is an aggregation of one or more independent data components. Each independent data component of a service is called a flow.
Services are classified into two types based on their coverage: Wide-area services and Local-area services. A Local-area service is multicast for reception within a metropolitan area. By contrast, Wide-area services are multicast in one or more metropolitan areas.
FLO services are carried over one or more logical channels, known as MediaFLO™ Logical Channels or MLCs. An MLC may be divided into a maximum of three logical sub-channels. These logical sub-channels are called streams. Each flow is carried in a single stream.
Processing of MLCs in a FLO network is controlled based upon control Protocol information. The control protocol information is transmitted over the air by the network in units call physical layer packets (PLPs). An erroneous physical layer packet received at the FLO device carrying a fragment of this control protocol information will require the device to make another attempt to receive the control protocol information in its entirety. This will result in increased time duration for the device to begin receiving a service.
What is needed, therefore, is a method and system to enable the FLO device to independently decode and process the control information embedded within individual PLPs.
Consistent with the principles of the present invention as embodied and broadly described herein, the present invention includes a method for enhancing acquisition latency in a communications network. The method includes identifying control information associated with transmitted information and fragmenting the identified control information. Each fragment of control information is then associated with a corresponding transmission unit of the transmitted information.
In an aspect, an apparatus is provided for enhancing acquisition latency in a communications network. The apparatus includes means for identifying control information associated with transmitted information and means for fragmenting the control information. Means for associating are provided for associating each fragment of control information with a corresponding transmission unit of the transmitted information.
In another aspect, a computer readable medium carrying one or more sequences of one or more instructions for execution by one or more processors performs a method for enhancing acquisition latency in a communications network. The instructions when executed by the one or more processors, cause the one or more processors to perform the steps of identifying control information associated with transmitted information. Also performed are the steps of fragmenting the control information and associating each fragment of control information with a corresponding transmission unit of the transmitted information.
In yet another aspect, a processor is configured for enhancing acquisition latency in a communications network. The processor includes identification logic for identifying control information associated with transmitted information. The processor also includes fragmenting logic for fragmenting the control information and associating logic for associating each fragment of control information with a corresponding transmission unit of the transmitted information.
The transmission unit of control protocol information is called a control protocol packet (CPP). When requiring transmission over the air, the CPP is made substantially the same size as the PLP. Control protocol messages carrying the control information are fragmented such that each fragment is contained within a CPP. Header information is added to each CPP to convey to a receiver the total number of packets the control information spans. A CPP identifier is carried to make the device aware of the CPPs received thus far. In the present invention, control protocol messages are designed to allow individual CPPs to contain a meaningful logical fragment of a control protocol message.
Further features and advantages of the present invention as well as the structure and operation of various embodiments of the present invention, are described in detail below with reference to the accompanying drawings.
The accompanying drawings, which are incorporated herein and constitute part of the specification, illustrate embodiments of the present invention and, together with the general description given above and the detailed description of the embodiments given below, serve to explain the principles of the invention. In the drawings:
The following detailed description of the present invention refers to the accompanying drawings that illustrate exemplary embodiments consistent with this invention. Other embodiments are possible, and modifications may be made to the embodiments within the spirit and scope of the invention. Therefore, the following detailed description is not meant to limit the invention. Rather, the scope of the invention is defined by the appended claims.
This specification discloses one or more embodiments that incorporate the features of this invention. The disclosed embodiment(s) merely exemplify the invention. The scope of the invention is not limited to the disclosed embodiment(s). The invention is defined by the claims appended hereto.
The embodiment(s) described, and references in the specification to “one embodiment”, “an embodiment”, “an example embodiment”, etc., indicate that the embodiment(s) described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is understood that it is within the knowledge of one skilled in the art to effect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
It would be apparent to one skilled in the art that the present invention, as described below, may be implemented in many different embodiments of hardware, software, firmware, and/or the entities illustrated in the drawings. Any actual software code with the specialized controlled hardware to implement the present invention is not limiting of the present invention. Thus, the operation and behavior of the present invention will be described with the understanding that modifications and variations of the embodiments are possible, given the level of detail presented herein.
The network 100 comprises a content provider (CP), a content provider network 104, an optimized broadcast network 106, and a wireless access network 108. The network 100 also includes devices 110 that comprise a mobile telephone 112, a personal digital assistance (PDA) 114, and a notebook computer 116. The devices 110 illustrate just some of the devices that are suitable for use with the transport system. It should be noted that although three devices are shown in
The content provider 102 operates to provide content for distribution to users in the network 100. The content comprises video, audio, multimedia content, clips, real-time and non real-time content, scripts, programs, data or any other type of suitable content. The content provider 102 provides the content to the content provider network 104 for distribution. For example the content provider 102 communicates with the content provider network 104 via the communication link 118, which comprises any suitable type of wired and/or wireless communication link.
The content provider network 104 comprises any combination of wired and wireless networks that operate to distribute content for delivery to users. The content provider network 104 communicates with the optimized broadcast network 106 via the link 120. The link 120 comprises any suitable type of wired and/or wireless communication link. The optimized broadcast network 106 comprises any combination of wired and wireless networks that are designed to broadcast high quality content. For example, the optimized broadcast network 106 may be a specialized proprietary network that has been optimized to deliver high quality content to selected devices over a plurality of optimized communication channels.
The transport system operates to deliver content from the content provider 102 for distribution to a content server (CS) 122 at the content provider network 104 that operates to communicate with a broadcast base station (BBS) 124 at the wireless access network. The CS 122 and the BBS 124 communicate using one or more embodiments of a transport interface 126 that allows the content provider network 104 to deliver content in the form of content flows to the wireless access network 108 for broadcast/multicast to the devices 110. The transport interface 126 comprises a control interface 128 and a bearer channel 130. The control interface 128 operates to allow the CS 122 to add, change, cancel, or otherwise modify contents flows that flow from the content provider network 104 to the wireless access network 108. The bearer channel 130 operates to transport the content flows from the content provider network 104 to the wireless access network 108.
The CS 122 uses the transport interface 126 to schedule a content flow to be transmitted to the BBS 124 for broadcast/multicast over the wireless access network 108. For example, the content flow may comprise a non real-time content clip that was provided by the content provider 102 for distribution using the content provider network 104. The CS 122 operates to negotiate with the BBS 124 to determine one or more parameters associated with the content clip. Once the BBS 124 receives the content clip, it broadcasts/multicasts the content clip over the wireless access network 108 for reception by one or more of the devices 110. Any of the devices 110 may be authorized to receive the content clip and cache it for later viewing by the device user.
In the foregoing example, the device 110 comprises a client program 132 that operates to provide a program guide that displays a listing of content that is scheduled for broadcast over the wireless access network 108. The device user may then select to receive any particular content for rendering in real-time or to be stored in a cache 134 for later viewing. For example the content clip may be scheduled for broadcast during the evening hours, and the device 112 operates to receive the broadcast and cache the content clip in the cache 134 so that the device user may view the clip the next day. Typically, the content is broadcast as part of a subscription service and the receiving device may need to provide a key or otherwise authenticate itself to receive the broadcast.
The transport system allows the CS 122 to receive program-guide records, program contents, and other related information from content provider 102. The CS 122 updates and/or creates content for delivery to devices 110.
The processing logic 202 comprises a central processing unit (CPU), processor, gate array, hardware logic, memory elements, virtual machine, software, and/or any combination of hardware and software. Thus, the processing logic 202 generally comprises logic to execute machine-readable instructions and to control one or more other functional elements of the server 200 via the internal data bus 212.
The resources and interfaces 204 comprise hardware and/or software that allow the server 200 to communicate with internal and external systems. For example, the internal systems may include mass storage systems, memory, display driver, modem, or other internal device resources. The external systems may include user interface devices, printers, disk drives, or other local devices or systems.
The transceiver logic 210 comprises hardware logic and/or software that operates to allow the server 200 to transmit and receive data and/or other information with remote devices or systems using communication channel 216. For example, the communication channel 216 comprises any suitable type of communication link to allow the server 200 to communicate with a data network.
The activation logic 214 comprises a CPU, processor, gate array, hardware logic, memory elements, virtual machine, software, and/or any combination of hardware and software. The activation logic 214 operates to activate a CS and/or a device to allow the CS and/or the device to select and receive content and/or services described in the PG 206. The activation logic 214 transmits a client program 220 to the CS and/or the device during the activation process. The client program 220 runs on the CS and/or the device to receive the PG 206 and display information about available content or services to the device user. Thus, the activation logic 214 operates to authenticate a CS and/or a device, download the client 220, and download the PG 206 for rendering on the device by the client 220.
The PG 206 comprises information in any suitable format that describes content and/or services that are available for devices to receive. For example, the PG 206 may be stored in a local memory of the server 200 and may comprise information such as content or service identifiers, scheduling information, pricing, and/or any other type of relevant information. The PG 206 comprises one or more identifiable sections that are updated by the processing logic 202 as changes are made to the available content or services.
The PG record 208 comprises hardware and/or software that operates to generate notification messages that identify and/or describe changes to the PG 206. For example, when the processing logic 202 updates the PG 206, the PG records logic 208 is notified about the changes. The PG records logic 208 then generates one or more notification messages that are transmitted to CSs, which may have been activated with the server 200, so that these CSs are promptly notified about the changes to the PG 206.
As part of the content delivery notification message, a broadcast indicator is provided that indicates when a section of the PG identified in the message will be broadcast. For example, the broadcast indicator may comprise one bit to indicate that the section will be broadcast and a time indicator that indicates when the broadcast will occur. Thus, the CSs and/or the devices wishing to update their local copy of the PG records can listen for the broadcast at the designated time to receive the updated section of the PG records.
In one embodiment, the content delivery notification system comprises program instructions stored on a computer-readable media, which when executed by a processor, for instance, the processing logic 202, provides the functions of the server 200 described herein. For example, the program instructions may be loaded into the server 200 from a computer-readable media, such as a floppy disk, CDROM, memory card, FLASH memory device, RAM, ROM, or any other type of memory device or computer-readable media that interfaces to the server 200 through the resources 204. In another embodiment, the instructions may be downloaded into the server 200 from an external device or network resource that interfaces to the server 200 through the transceiver logic 210. The program instructions, when executed by the processing logic 202, provide a guide state notification system as described herein.
The processing logic 302 comprises a CPU, processor, gate array, hardware logic, memory elements, virtual machine, software, and/or any combination of hardware and software. Thus, the processing logic 302 generally comprises logic configured to execute machine-readable instructions and to control one or more other functional elements of the CS 300 via the internal data bus 308.
The resources and interfaces 304 comprise hardware and/or software that allow the CS 300 to communicate with internal and external systems. For example, internal systems may include mass storage systems, memory, display driver, modem, or other internal device resources. The external systems may include user interface devices, printers, disk drives, or other local devices or systems.
The transceiver logic 306 comprises hardware and/or software that operate to allow the CS 300 to transmit and receive data and/or other information with external devices or systems through communication channel 314. For example, the communication channel 314 may comprise a network communication link, a wireless communication link, or any other type of communication link.
During operation, the CS 300 is activated so that it may receive available content or services over a data network. For example, the CS 300 identifies itself to a content provider server during an activation process. As part of the activation process, the CS 300 receives and stores PG records by PG logic 312. The PG 312 contains information that identifies content or services available for the CS 300 to receive. The client 310 operates to render information in the PG logic 312 on the CS and/or the device 300 using the resources and interfaces 304. For example, the client 310 renders information in the PG logic 312 on a display screen that is part of the device. The client 310 also receives user input through the resources and interfaces so that a device user may select content or services.
The CS 300 receives notification messages through the transceiver logic 306. For example, the messages may be broadcast or unicast to the CS 300 and received by the transceiver logic 306. The PG notification messages identify updates to the PG records at the PG logic 312. In one embodiment, the client 310 processes the PG notification messages to determine whether the local copy at the PG logic 312 needs to be updated. For example, in one embodiment, the notification messages include a section identifier, start time, end time, and version number.
The CS 300 operates to compare the information in the PG notification messages to locally stored information at the existing PG logic 312. If the CS 300 determines from the PG notification messages that one or more sections of the local copy at the PG logic 312 needs to be updated, the CS 300 operates to receive the updated sections of the PG in one of several ways. For example, the updated sections of the PG may be broadcast at a time indicated in the PG notification messages, so that the transceiver logic 306 may receive the broadcasts and pass the updated sections to the CS 300, which in turn updates the local copy at the PG logic 312.
The CS 300 determines which sections of the PG need to be updated based on the received PG update notification messages, and transmits a request to a CP server to obtain the desired updated sections of the PG. For example, the request may be formatted using any suitable format and comprise information such as a requesting CS identifier, section identifier, version number, and/or any other suitable information.
The CS 300 performs one or more of the following functions in one or more embodiments of a PG notification system. It should be noted that the following functions might be changed, rearranged, modified, added to, deleted, or otherwise adjusted within the scope of the invention.
1. The CS is activated for operation with a content provider system to receive content or services. As part of the activation process, a client and PG are transmitted to the CS.
2. One or more PG notification messages are received by the CS and used to determine if one or more sections of the locally stored PG need to be updated.
3. In one embodiment, if the CS determines that one or more sections of the locally stored PG need to be updated, the CS listens to a broadcast from the distribution system to obtain the updated sections of the PG that it needs to update its local copy.
4. In another embodiment, the CS transmits one or more request messages to the CP to obtain the updated sections of the PG it needs.
5. In response to the request, the CP transmits the updated sections of the PG to the CS.
6. The CS uses the received updated sections of the PG to update its local copy of the PG.
The content delivery system comprises program instructions which may be stored on a computer-readable media, which when executed by a processor, such as the processing logic 302, provides the functions of the content delivery notification system as described herein. For example, instructions may be loaded into the CS 300 from a computer-readable media, such as a floppy disk, CDROM, memory card, FLASH memory device, RAM, ROM, or any other type of memory device or computer-readable media that interfaces to the CS 300 through the resources and interfaces 304. In another embodiment, the instructions may be downloaded into the CS 300 from a network resource that interfaces to the CS 300 through the transceiver logic 306. The instructions, when executed by the processing logic 302, provide a content delivery system as described herein.
It should be noted that the CS 300 represents just one implementation and that other implementations are possible within the scope of the invention.
As mentioned above, the FLO based network 100 multicasts several services as an aggregation of one or more independent data components. Each independent data component is called a flow and can include a video component, audio component, text or signaling component of a service. FLO services are carried over one or more logical channels in MLCs.
In the exemplary illustration of
For example, the MLC having identification (ID) 10 is divided into portions 406a-406d, each corresponding to one of the frames F1-F4. The frame F1 also includes an MLC portion 408, which corresponds to the MLC 20, in addition to the portion 406a, which corresponds to the MLC 10.
Also, within the data portion 404, each of the frames F1-F4 of the super-frame 400 includes respective control channels 410a-410d that carry important information regarding transmission characteristics of a respective portion of the MLCs (e.g. MLCs 10 and 20) included within the respective frame.
The header portion 402 of the super-frame 400 includes an overhead information symbols (OIS) channel 412. The OIS channel 412, among other things, informs the device 112 of the location of the MLC 10 within the super-frame 400. Thus, when the device 112 initially requests service, it must first decode the OIS channel 412 within the super-frame 400 to know the precise location, and other characteristics, related to the MLC 10 before data within the MLC 10 can be unpacked and used.
From another perspective, an MLC is a logical grouping at the physical layer that is configured to carry unique data. At the application layer, data, also known as flows, are carried in entities known as streams. The Application layer provides services for an application to ensure that effective communication with another application program in a network is possible. The streams are in turn carried in MLCs. For example, a single MLC can carry up to three streams (i.e., up to three different flows of different application level data).
In
In
Also in
As a practical matter, the device 112 will first request information to be downloaded, for example, from the CNN mobile service 501. Before the device 112 can begin receiving either the video flow 502 or the audio flow 504, the device 112 will first need to map the requested flows (502 and 504) to their associated MLC (MLCs 10 and 20, respectively) and then receive the MLCs 10 and 20 at the physical layer of the network 100. The information to accomplish this is contained within the control channel 410a.
By way of review, the OIS channel 412 includes information related to the location of the MLCs 10 and 20 within the super-frame 400. Additionally, the OIS channel 412 includes information to assist the device 112 to properly decode and receive the control channel 410a(located within each of the frames F1-F4).
The control channel 410a includes essential information regarding flow- to-MLC mapping. The control channel 410a also includes information regarding transmission characteristics of the particular MLCs, such as MLC 10 and 20, so that once the flow mapping is determined by the device 112, the device 112 can physically tune to and receive the MLCs. For example, part of this physical tuning might include instructions from the device to the physical layer of the network 100 on how to send and receive associated data bits, associated with a selected one of the flows (e.g. the video flow 502 and/or audio flow 504) over the air.
The OIS channel 412, on the other hand, has its own fixed transmit mode. By way of example, the fixed transmit mode associated with the super-frame 400 includes quadrature phase shift keying (QPSK) at a rate of one fifth. As soon the device 112 is activated, it immediately knows the transmit mode of the OIS channel 412 and can immediately tune thereto. Once tuned to the OIS channel 412, the device 112 reads the OIS channel 412 to receive further instructions regarding how to receive and decode the control channel 410a.
The OIS channel 412 is structured to tell the device 112, for example, that to see control channel 410a, the device 112 must transmit in accordance with specific transmission parameters. By transmitting in accordance with these specific parameters, the device 112 is able receive the control channel 410a, and the control protocol information therein, and read the flow-to-MLC mapping. The control channel 410a of
In the example of the super-frame 400 of
Now that the device 112 knows that its requested service is included in the MLC 10, it also knows that in order to receive the service, it has to configure for a transmit mode including, for example, QPSK modulation with a rate of one third. Other transmit parameters are included in the information related to the transmit mode, such as the encoding scheme.
Next, the device 112 will receive the flow ID 100.1 (i.e., audio) and its mapping to the MLC 20. Consequently, the device 112 will receive the transmit information indicating, for example, that to receive the MLC 20 the device 112 will have to operate using quadrature amplitude modulation (QAM) at a rate of one half. After the device 112 begins operation in accordance with this information it can begin to download the requested service information.
Before any of the devices 110 can begin to receive and decode any particular MLC, the control protocol information with the control channel 410a must be received in its entirety. Within conventional systems, the control data can accumulate, due to acquisition latency, and may span several super-frames. Thus, it can take a device several seconds to download all of the control information and begin transmitting a service. This several second time span increases the probability of the control information being corrupted or otherwise incomplete. If the control information is corrupted or incomplete in any way, the device cannot use it. Instead, the device must wait for a subsequent super-frame to begin the process of receiving the OIS and control channels anew, resulting in service delays for the user.
The flow description message 700 is transported at the physical layer of the network 100. As well understood by those of skill in the art, the network physical layer provides the channel structure, frequency, power output, modulation and encoding specification for the network's forward link. Within the network 100, this physical layer assumes the responsibility of obtaining an MLC and transmitting the MLC over the air.
In a conventional network, an MLC is transmitted over the air in PLPs. Data from an MLC for a particular super-frame might be broken, for example, into three packets. Each of the three packets can then be transmitted over the air individually. On a receive side, once each of the three packets has been received, they will be accumulated and associated with the particular MLC. The problem is, however, if any one of the packets has been interrupted during transmission (e.g., due to transmission anomalies), the entire MLC will be unusable.
Thus, over the course of an entire period of one second (a reasonable time span for a typical super-frame), an MLC has a high likelihood of corruption or interruption. Assume, for example, that a single MLC may span 12 PLPs for over the air transmission. Then, if any one of the 12 PLPs is corrupted, the chain of MLC information will be lost and the device will be required to wait for the next super-frame to repeat this process. That is, none of the individual PLPs of a conventional network has valuable information independent from the remaining PLPs within a sequence. The present invention, as shown in the exemplary illustration of
In the exemplary embodiment of
The CPP 808 and the CPP 810 can be separately transmitted and received, independent from each other. That is, the portion of the MLC 802 fragmented to form the CPP 808 might be lost during a transmission sequence. If, however, the CPP 810 was not lost and was received on the receive side, the portion of the MLC represented by the CPP 808, will be usable. Since each of the CPPs 806 and 810, and any others within a sequence, are separate logical entities and independently usable, acquisition latency can be reduced.
Acquisition latency is reduced because although some of the PLPs may be lost during transmission, those PLPs that were actually received can still be used. For example, if PLPs 3/12 and 4/12 of the PLPs 804 were corrupted during transmission, but the remainder of the PLPs 804 were received, the device 112 can still receive the requested service. In this example, during a subsequent super-frame, the device 112 would only need to request the missing PLPs 3/12 and 4/12.
In the embodiment of
The present invention enables a FLO device to independently process control information embedded in individual PLPs. The PLPs are also individually usable and decodable. This independent processing and decoding ability facilitates a reduction of acquisition time at the FLO device within a FLO based communications network.
The present invention has been described above with the aid of functional building blocks illustrating the performance of specified functions and relationships thereof. The boundaries of these functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternate boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed.
Any such alternate boundaries are thus within the scope and spirit of the claimed invention. One skilled in the art will recognize that these functional building blocks can be implemented by analog and/or digital circuits, discrete components, application-specific integrated circuits, firmware, processor executing appropriate software, and the like, or any combination thereof. Thus, the breadth and scope of the present invention should not be limited by any of the above-described exemplary embodiments, but should be defined only in accordance with the following claims and their equivalents.
The foregoing description of the specific embodiments will so fully reveal the general nature of the invention that others can, by applying knowledge within the skill of the art (including the contents of the references cited herein), readily modify and/or adapt for various applications such specific embodiments, without undue experimentation, without departing from the general concept of the present invention. Therefore, such adaptations and modifications are intended to be within the meaning and range of equivalents of the disclosed embodiments, based on the teaching and guidance presented herein. It is to be understood that the phraseology or terminology herein is for the purpose of description and not of limitation, such that the terminology or phraseology of the present specification is to be interpreted by the skilled artisan in light of the teachings and guidance presented herein, in combination with the knowledge of one of ordinary skill in the art.
The Detailed Description section should primarily be used to interpret the claims. The Summary and Abstract sections may set forth one or more, but not all exemplary embodiments of the present invention as contemplated by the inventor(s), and thus, are not intended to limit the claims.
It is to be appreciated that the Detailed Description section, and not the Summary and Abstract sections, is intended to be used to interpret the claims. The Summary and Abstract sections may set forth one or more but not all exemplary embodiments of the present invention as contemplated by the inventor(s), and thus, are not intended to limit the present invention and the appended claims in any way.
The present Application for Patent claims priority to Provisional Application Ser. No. 60/660,866, filed Mar. 10, 2005, and assigned to the assignee hereof and hereby expressly incorporated by reference herein.
Number | Date | Country | |
---|---|---|---|
60660866 | Mar 2005 | US |