Enforcing user defined and/or configurable policies to select which (e.g., DSL) line a (e.g., PPPoE) session would use when there are multiple lines present. This avoids the adverse network conditions that exist if the multiple DSL lines are directly connected to the premises local area network (or “LAN”). Once a line is selected, the session may be supported, in its entirety, over that selected line. A device may include embedded (e.g., DSL) modems so external ATU-Rs would not be required. Furthermore, the complexity of the modem functionality would be reduced since the embedded modem would not require the learning bridge logic, which is currently implemented in external PPPoE capable modems. No changes to premises networking equipment (hubs, bridges, PCs) would be required.

§ 1.1 Field of the Invention
The present invention concerns accessing a packet network, such as the Internet for example, over a number of lines, such as digital subscriber lines (or "DSL lines") for example. More specifically, the present invention concerns the selection of one of the lines over which access to the packet network is facilitated.
§ 1.2 Related Art
The description of art in this section is not, and should not be interpreted to be, an admission that such art is prior art to the present invention. First, since the present invention often refers to communications protocols, the concept of a communications protocol stack is introduced in § 1.2.1 below for the reader's convenience. Then, network architecture reference models are introduced in § 1.2.2 below for the reader's convenience. These two (2) sections introduce certain concepts and terms that are well known to those skilled in the art. Then, accessing a packet (e.g., IP) network (e.g., the Internet) is described in § 1.2.3 below for the reader's convenience. Finally, challenges faced by customers, having at least one local area network (or LAN), accessing the network via multiple lines, such as digital subscriber lines (or DSL lines) for example, are described in § 1.2.4 below.
§ 1.2.1 Communications Protocol Stack
Although networking software and network reference models are known to those skilled in the art, they are introduced here for the reader's convenience.
To reduce their complexity, networks may be organized as a series of layers or levels, each one built upon the one below it as shown in FIG. 1. Each layer functions to offer certain services to the higher layer, thereby shielding those higher layers from the details of how the offered services are actually implemented. The entities comprising the corresponding layers on different machines are called "peers". Such peers use rules and conventions, also referred to as the layer n protocol, to communicate with each other as depicted by the dashed lines in FIG. 1. Actually, no data are directly transferred from layer n on one machine to layer n on another machine. Rather, each layer passes data and control information to the layer immediately below it, until the lowest layer (layer 1) is reached. Below layer 1, is a physical medium 110 through which actual communications take place. Thus, referring to FIG. 1, actual communications take place via the solid lines and the physical medium 110, while virtual peer-to-peer communications occur via the dashed lines.
Still referring to FIG. 1, interfaces are arranged between adjacent layers. Each of these interfaces defines primitive operations and services that the lower layer offers to the upper layer.
The set of layers and protocols may be referred to, collectively, as a "network architecture". A list of protocols used by a system, one protocol per layer, may be referred to as a "protocol stack" or "protocol suite".
§ 1.2.2 Network Architecture Reference Models
FIG. 2 illustrates a comparison of the Open Systems Interconnection (or "OSI") reference model 210 for network architectures and the transfer control protocol/Internet protocol (or "TCP/IP") reference model 220 for network architectures. Although those skilled in the art will be familiar with both reference models, each is introduced below for the reader's convenience.
§ 18.104.22.168 The OSI Reference Model
As shown in FIG. 2, the OSI reference model 210 has seven (7) distinct layers; namely, (i) a physical layer 211, (ii) a data link layer 212, (iii) a network layer 213, (iv) a transport layer 214, (v) a session layer 215, (vi) a presentation layer 216, and (vii) an application layer 217. Each layer is briefly introduced below.
The physical layer 211 deals with transmitting raw bits over a communications channel. Thus, the physical layer is typically concerned with mechanical, electrical, optical, and procedural interfaces, as well as the physical transmission medium (e.g., twisted copper pair, co-axial cable, optical fiber, etc.) which lies below the physical layer.
The data link layer 212 functions to transform a raw communications facility into a line that appears free from undetected transmission errors to the network layer 213. The data link layer 212 does this by having the sending host segment its data into "data frames", transmitting these frames to the receiving host, and processing "acknowledgement frames" sent back from the receiver.
The network layer 213 functions to control the operation of a subnetwork between the hosts and controls the routing of packets between the hosts.
The transport layer 214 functions to accept data from the session layer 215 and segment this data into smaller units, if necessary, for use by the network layer 213. The transport layer 214 also determines a type of service (e.g., an error-free, point-to-point service) to provide to the session layer 215. Further, the transport layer 214 controls the flow of data between hosts. The transport layer 214 is a true "end-to-end" layer, from source host to destination host, since a program on the source machine converses with a similar program on the destination machine, using message headers and control messages.
The session layer 215 functions to allow different machines to establish sessions between them. The session layer 215 may manage dialog control and maintain synchronization.
The presentation layer 215 concerns the syntax and semantics of information transmitted.
The application layer 216 may function to define network virtual terminals that editors and other programs can use, and to transfer files.
§ 188.8.131.52 The TCP/IP Model
In recent decades, and in the past five (5) to ten (10) years in particular, computers have become interconnected by networks by an ever increasing extent; initially, via local area networks (or "LANs"), and more recently via LANs, wide area networks (or WANs) and the Internet. In 1969, the Advanced Research Projects Agency (ARPA) of the U.S. Department of Defense (DoD) deployed ARPANET as a way to explore packet-switching technology and protocols that could be used for cooperative, distributed, computing. Early on, ARPANET was used by the TELNET application which permitted a single terminal to work with different types of computers, and by the file transfer protocol (or "FTP") which permitted different types of computers to transfer files from one another. In the early 1970s′, electronic mail became the most popular application which used ARPANET.
Since this packet switching technology was so successful, the ARPA applied it to tactical radio communications (Packet Radio) and to satellite communications (SATNET). However, since these networks operated in very different communications environments, certain parameters, such as maximum packet size for example, were different in each case. Thus, methods and protocols were developed for "internetworking" these different packet switched networks. This work lead to the transmission control protocol (or "TCP") and the internet protocol (or "IP") which became the TCP/IP protocol suite. Although the TCP/IP protocol suite, which is the foundation of the Internet, is known to those skilled in the art, it is briefly described below for the reader's convenience.
As shown in FIG. 2, the TCP/IP reference model 220 includes a physical layer 221, a network access layer 222, an internet layer 223, a transport layer 224, and an application layer 225. Each of these layers is briefly introduced below.
The physical layer 221 defines the interface between a data transmission device (e.g., a computer) and a transmission medium (e.g., twisted pair copper wires, co-axial cable, optical fiber, etc.). It specifies the characteristics of the transmission medium, the nature of the signals, the data rate, etc.
The network access layer 222 defines the interface between an end system and the network to which it is attached. It concerns access to, and routing data across, a network. Frame relay is an example of a network access layer.
The internet layer 223 functions to permit hosts to inject packets into any network and have them travel independently to the destination machine (which may be on a different network). Since these packets may travel independently, they may event arrive in an order other than the order in which they were sent. Higher layers can be used to reorder the packets. Thus, the main function of the internet layer 320 is to deliver (e.g., route) IP packets to their destination.
The transport layer 224 is an end-to-end protocol. For example, the transmission control protocol (or "TCP") is a reliable connection-oriented protocol that allows a byte stream originating on one machine to be delivered, without error, on any other machine on the Internet. More specifically, the TCP protocol fragments an incoming data stream into discrete messages, each of which is passed to the internet layer 223. At the destination, the TCP protocol reassembles the received messages into an output stream.
The TCP/IP model 220 does not have session and presentation layers. Instead, an application layer 225 contains all of the higher-level protocols which are used to support various types of end use applications (e.g., the simple mail transfer protocol (or "SMTP") for e-mail, the file transfer protocol (or "FTP"), etc.).
The TCP/IP model does not define what occurs below the internet layer 223, other than to note that the host has to connect to the network using some protocol so that it can send IP packets over it. This protocol varies from host to host and network to network.
Basically, each of the layers encapsulates, or converts, data in a higher level layer. For example, referring to FIG. 4, user data 400 as a byte stream is provided with a TCP header 402 to form a TCP segment 410. The TCP segment 410 is provided with an IP header 412 to form an IP datagram 420. The IP datagram 420 is provided with a network header 422 to define a network-level packet 430. The network-level packet 430 is then converted to radio, electrical, optical (or other) signals sent over the transmission medium at a specified rate with a specified type of modulation.
The TCP header 402, as illustrated in FIG. 5, includes at least twenty (20) octets (i.e., 160 bits). Fields 502 and 504 identify ports at the source and destination systems, respectively, that are using the connection. Values in the sequence number 506, acknowledgement number 508 and window 516 fields are used to provide flow and error control. The value in the checksum field 518 is used to detect errors in the TCP segment 410.
FIGS. 6A and 6B illustrate two (2) alternative IP headers 412 and 412′, respectively. Basically, FIG. 6A depicts the IP protocol (Version 4) which has been used. FIG. 6B depicts a next generation IP protocol (Version 6) which, among other things, provides for more source and destination addresses.
More specifically, referring to FIG. 6A, the four (4) bit version field 602 indicates the version number of the IP, in this case, version 4. The four (4) bit Internet header length field 604 identifies the length of the header 412 in 32-bit words. The eight (8) bit type of service field 606 indicates the service level that the IP datagram 420 should be given. The sixteen (16) bit total length field 608 identifies the total length of the IP datagram 420 in octets. The sixteen (16) bit identification field 610 is used to help reassemble fragmented user data carried in multiple packets. The three (3) bit flags field 612 is used to control fragmentation. The thirteen (13) bit fragment offset field 614 is used to reassemble a datagram 420 that has become fragmented. The eight (8) bit time to live field 616 defines a maximum time that the datagram is allowed to exist within the network it travels over. The eight (8) bit protocol field 618 defines the higher-level protocol to which the data portion of the datagram 420 belongs. The sixteen (16) bit header checksum field 620 permits the integrity of the IP header 412 to be checked. The 32-bit source address field 322 contains the IP address of the sender of the IP datagram 420 and the 32-bit destination address field contains the IP address of the host to which the IP datagram 120 is being sent. Options and padding 626 may be used to describe special packet processing and/or to ensure that the header 412 is a complete multiple of 32-bit words.
Referring to FIG. 6B, the four (4) bit version field 602 indicates the version number of the IP, in this case, version 6. The four (4) bit priority field 628 enables a sender to prioritize packets sent by it. The 24-bit flow label field 630 is used by a source to label packets for which special handling is requested. The sixteen (16) bit payload length field 632 identifies the size of data carried in the packet. The eight (8) bit next header field 634 is used to indicate whether another header is present and if so, to identify it. The eight (8) bit hop limit field 636 serves to discard the IP datagram 420 if a hop limit (e.g., the number of times the packet is routed) is exceeded. Also provided are 128-bit source and destination address fields 322′ and 324′, respectively.
Having described the TCP/IP protocol stack 220, the routing of a TCP/IP packet is now described.
A TCP/IP packet is communicated over the Internet (or any internet or intranet) via routers. Basically, routers in the Internet use destination address information (Recall fields 624 and 624′.) to forward packets towards their destination. Routers interconnect different networks. More specifically, routers accept incoming packets from various connected networks, use a look-up table to determine a network upon which the packet should be placed, and routes the packet to the determined network.
FIG. 7, which includes FIGS. 7A through 7C, illustrates the communication of data from a sender, to a receiver, using the TCP/IP protocol stack. Referring first to FIG. 7A, an application protocol 702 prepares a block of data (e.g., an e-mail message (SMTP), a file (FTP), user input (TELNET), etc.) 400 for transmission. Before the data 400 are sent, the sending and receiving applications agree on a format and encoding and agree to exchange data (Recall, e.g., the peer-to-peer communications depicted with dashed lines in FIG. 1.). If necessary, the data are converted (character code, compression, encryption, etc.) to a form expected by the destination device.
The TCP layer 704 may segment the data block 400, keeping track of the sequence of segments. Each TCP segment 410 includes a header 402 containing a sequence number (recall field 506) and a frame check sequence to detect errors. A copy of each TCP segment is made so that if a segment is lost or damaged, it can be retransmitted. When an acknowledgement of safe receipt is received from the receiver, the copy of the segment is erased.
The IP layer 706 may break the TCP segment into a number of datagrams 420 to meet size requirements of networks over which the data will be communicated. Each datagram includes the IP header 412.
A network layer 708, such as frame relay for example, may apply a header and trailer 422 to frame the datagram 420. The header may include a connection identifier and the trailer may contain a frame check sequence for example. Each frame 430 is then transmitted, by the physical layer 710, over the transmission medium as a sequence of bits.
FIG. 7B illustrates the operation of the TCP/IP protocol stack at a router in the network. The physical layer 712 receives the incoming signal 430 from the transmission medium and interprets it as a frame of bits. The network (e.g., frame relay) layer 714 then removes the header and trailer 422 and processes them. A frame check sequence may be used for error detection. A connection number may be used to identify the source. The network layer 714 then passes the IP datagram 420 to the IP layer 718.
The IP layer examines the IP header 412 and makes a routing decision (Recall the destination address 324, 324′). A logical link control (or "LLC") layer 720 uses a simple network management protocol (or "SNMP") and adds a header 750 which contains a sequence number and address information. Another network layer 722 (e.g., media access control (or "MAC")) adds a header and trailer 760. The header may contain address information and the trailer may contain a frame check sequence. The physical layer 724 then transmits the frame 450 over another transmission medium.
FIG. 7C illustrates the operation of the TCP/IP protocol stack at a receiver. The physical layer 732 receives the signals from the transmission medium and interprets them as a frame of bits. The network layer 734 removes the header and trailer 760 and processes them. For example, the frame check sequence in the trailer may be used for error detection. The resulting packet 440 is passed to the transport layer 736 which processes the header 750 for flow and error control. The resulting IP datagram 420 is passed to the IP layer 738 which removes the header 412. Frame check sequence and other control information may be processed at this point.
The TCP segment 410 is then passed to the TCP layer 740 which removes the header 402 and may check the frame check sequence. (In the event of a match, the match is acknowledged and in the event of a mismatch, the packet is discarded.) The TCP layer 740 then passes the data 400 to the application layer 742. If the user data was segmented (or fragmented), the TCP layer 740 reassembles it. Finally, the application layer 742 performs any necessary transformations, such as decompression and decryption for example, and directs the data to an appropriate area of the receiver, for use by the receiving application.
Having described the concept of a network architecture, as well as the OSI reference model and the TCP/IP protocol suite, certain background technologies, all related to accessing a packet network, are now introduced in § 1.2.3 below.
§ 1.2.3 Packet (e.g., Internet or IP) Network Access
The present invention is related to accessing a packet network such as the Internet for example. To appreciate at least some of the advantages of the present invention, certain technologies associated with accessing a packet network should be understood. Although these technologies are understood by those skilled in the art, they are introduced below for the reader's convenience. More specifically, the point-to-point protocol (or "PPP") is introduced in § 126.96.36.199 below, local area networks and Ethernet are introduced in § 220.127.116.11 below, digital subscriber line (or "DSL") services are introduced in § 220.127.116.11 below, and the point-to-point protocol over Ethernet (PPPoE) protocol is introduced in § 220.127.116.11 below.
§ 18.104.22.168 Point-to-Point Protocol ("PPP")
Briefly stated, the point-to-point protocol (or ("PPP") is a data link layer (i.e., layer 2) protocol that allows a computer to connect to the Internet via a standard dial-up telephone line and a modem. Typically, the computer will call up an Internet service provider (or "ISP"). The computer may merely function as a character-oriented terminal logged into the Internet service provider's time-sharing system. In this mode, also referred to as a "shell account", a user can type commands and run programs, but graphical Internet services, such as the World Wide Web for example, are not available. On the other hand, a computer can call the Internet service provider's router and act like a full-blown Internet host, in which case, all Internet services, including graphical services, are available.
The serial line IP (or "SLIP") protocol was the first widely used point-to-point data link protocol. In accordance with the SLIP protocol, a computer would just send raw IP packets over the line, with a special framing flag byte at the end. Unfortunately, SLIP has a number of serious problems. First, it doesn't detect or correct errors—higher layers are left to deal with these functions. Second, SLIP supports only IP. Third, each party's IP address must be known by the other in advance. That is, neither IP address can be dynamically assigned during setup. This third limitation precludes, as a practical matter, the use of SLIP by various Internet service providers since they often dynamically assign a number of Internet addresses to their customers (so that they can service a number of customers which is greater than the number of Internet addresses that they have). Fourth, SLIP does not support authentication. Finally, since SLIP is not an approved Internet standard, many different and incompatible versions exist.
The point-to-point protocol (or "PPP") was designed to overcome the problems of the SLIP protocol. That is, among other improvements, PPP detects errors, supports multiple protocols, permits IP addresses to be negotiated at connection time, and permits authentication. Basically, PPP provides (1) a framing method that unambiguously delineates the start and end of frames and that handles error detection, (2) a link control protocol (or "LCP") for bringing lines up, testing the times, negotiating options, and bringing the lines down, and (3) a way to negotiate network-layer options independently of the network layer protocol to be used.
FIG. 8 illustrates a PPP full frame format 800. This frame 800 may use character stuffing to ensure that all frames are an integral number of bytes. The frame 800 starts with a standard high-level data link control (or "HDLC") flag byte "01111110", denoted 810. An address field 820 is typically always set to "11111111" to indicate that all stations are to accept the frame. A control field 830 may be used to number a sequence of frames, although a default value of "00000011" indicates an unnumbered frame. Note that since, in a default mode, the address and control fields 820 and 830 are constant, two parties may negotiate to omit these fields, thereby saving two (2) bytes per frame, via the link control protocol (or "LCP"). A protocol field 840 identifies what type of packet (e.g., LCP, NCP, IP, IPX, AppleTalk, etc.) is in the payload field 850. Codes starting with a "0" bit are network layer protocols (e.g., IP, IXP, OSI, CLNP, XNS), while codes starting with a "1" bit are protocols (e.g., LCP, NCP) used to negotiate other protocols. The default size of the protocol field 840 is two (2) bytes. However, the parties can negotiate this field down to one (1) byte per frame, again via the link control protocol (or "LCP"). A payload field 850 has a variable length, up to a negotiated maximum value. If the length is not negotiated during line setup (e.g., via LCP), a default length of 1500 bytes is used. A checksum field 860 is used for error detection. The checksum field 860 has a default value of two (2) bytes, but can be negotiated to four (4) bytes. A standard high-level data link control (HDLC) flag byte "01111110", denoted 870, ends the frame 800.
Now, an exemplary operation of the PPP, in a situation where a user calls up an Internet service provider to make their computer a temporary Internet host, is described. The computer calls the Internet service provider's router via a modem. The router's modem then answers the call and establishes a physical connection. The computer then sends the router a series of LCP packets in the payload field 850 of one or more PPP frames 800. These packets and the responses from the router negotiate the PPP parameters to be used during the course of the call. Then, the computer sends a series of NCP packets to configure the network layer. For example, a computer typically wants to run the TCP/IP protocol stack and therefore needs an IP address. Since there are not enough IP addresses for each user to have a static, permanent, IP address, each Internet service provider typically obtains a number of IP addresses and dynamically assigns them to each attached device for the duration of a session with the attached device. In this way, the Internet service provider can have more customers than IP addresses (but cannot service all of its customers simultaneously). The NCP for IP is used to assign the IP address to the computer. At this point, the computer is an Internet host and can therefore send and receive IP packets, just as hardwired hosts can. When the use is done, the NCP is used to tear down the network layer connection, thereby freeing up the assigned IP address. The LCP is then used to terminate the data link layer connection. Finally, the computer instructs its modem to hang up the phone line, thereby releasing the physical layer connection. FIG. 9 illustrates a sequence of states that the PPP my go through when bringing up and tearing down (modem or router-router) line connections.
Having described how the point-to-point protocol may be used to establish a connection from a computer to the Internet, it should be noted that many computers are connected to a local area network (or LAN) and access the Internet via the LAN. Section 220.127.116.11 below introduces LANs in general, and Ethernet in particular.
§ 184.108.40.206 Local Area Networks (LANs) and Ethernet
Although those skilled in the art understand LANs and Ethernet, each is introduced here for the reader's convenience.
Local area networks (or "LANs") have been used to connect computers in offices, schools and factories to share resources (e.g., printers) and to exchange information. LANs are generally restricted in size. Thus, the worst-case transmission time is bounded and known in advance. Knowing this bound permits certain network designs, that would not be possible otherwise, to be used, and also simplifies network management. LANs typically use a single cable to which all machines are attached for transmitting communications amongst the machines. LANs may employ various topologies, such as bus, ring, etc.
Ethernet is a well known and widely deployed local area network (or "LAN") protocol. Ethernet has a bus (as opposed to a ring or star) topology. Devices on an Ethernet LAN can transmit whenever they want to—if two (2) or more packets collide, each device waits a random time and tries again. More specifically, as defined in IEEE 802.3, Ethernet is a LAN with persistent carrier sense multiple access (or "CSMA") and collision detection (or "CD"). If a device wants to transmit, it "listens" to the cable (hence the term "carrier sense"). If the cable is sensed as being busy, the device waits for the cable to become idle. If the cable is idle or becomes idle, the device transmits. If two (2) or more devices begin to transmit simultaneously (hence the term "multiple access"), there will be a collision which will be detected (hence the term "collision detection"). In the event of a collision, the devices causing the collision will (i) terminate their transmission, (ii) wait a random time, and (iii) try to transmit again (assuming that the cable is idle). Accordingly, a CSMA/CD cable or bus has one (1) of three (3) possible states—contention (or collision), transmission, or idle.
The IEEE 802.3 frame structure 1000 (or MAC Sublayer Protocol) is illustrated in FIG. 12. Each frame 1200 starts with a preamble 1210 of seven (7) bytes (each byte containing the pattern "10101010"). The Manchester encoding (which defines a "1" with a high-to-low signal transition and a "0" with a low-to-high signal transition) of this pattern produces a 10-MHz square wave for 5.6 μsec to allow the receiver's clock to synchronize with the sender's. The one (1) byte start of frame delimiter 1220 contains the pattern "10101011" to denote the start of the frame. The source and destination addresses 1230 and 1240, respectively, may be six (6) bytes (or 48 bits) long. The second most significant bit is used to distinguish local addresses from global addresses. Thus 46 bits are available for addresses (or about 7×1013 unique addresses. Thus, any device can uniquely address any other device by using the right 48-bit address—it is up to the network layer to figure out how to locate the device associated with the destination address.
These 48-bit source and destination addresses 1230 and 1240, respectively, may be referred to as media access control (or "MAC") addresses. Basically, each device that may be connected to a network or the Internet has an assigned unique MAC address. (Some bits of the MAC address are assigned to various device manufactures. The manufactures then ensure that each device manufactured by it has a unique MAC address.)
The two (2) byte length of data field 1250 indicates the number of bytes (between 0 and 1500) present in the data field 1260. Valid frames 1200 must be at least 64 bytes long. Thus, if the data field 1260 is less than 46 bytes, the pad field 1270 is used to ensure that the frame 1200, from the destination address field 1230 through the checksum field 1280, is at least 64 bytes.
The four (4) byte checksum field 1280 is basically a 32-bit hash code of the data and can be used to detect errors in the data.
Having described how the point-to-point protocol may be used to establish a connection from a computer to the Internet in § 220.127.116.11 above, as well as LANs in general, and Ethernet in particular in § 188.8.131.52 above, a physical layer protocol, using standard twisted pair copper telephone lines, is introduced in § 18.104.22.168 below.
§126.96.36.199 Digital Subscriber Line ("DSL") Service
Although those skilled in the art understand digital subscriber line (or "DSL") services, they are introduced here for the reader's convenience.
Voice grade data modems are presently limited to approximately 56 Kbps. Bandwidth limitations of voice band lines often do not come from the subscriber line itself. Rather, they come from filters at the edge of the core network which limit voice grade bandwidth to about 3.3 or 4 kHz. Without such filters, copper access lines can pass frequencies into MHz regions, albeit with substantial attenuation. Such attenuation increases with line length, modulation frequency, and decreasing wire diameter (or increasing wire gauge).
Digital subscriber line (or "DSL") is a generic name for a group of digital services to be provided by local telephone companies to their local subscribers. DSL lines can carry both voice and data signals at the same time, in both directions, as well as signaling and call information data. High data rate DSL (or "HDSL") uses advanced modulation techniques to transmit 1.544 Mbps in bandwidths ranging from 80 kHz to 240 kHz. Such rates may be supported over 24 gauge lines up to 12,000 feet. Single line DSL (or "SDSL") is basically a single line version of HDSL. (Note that "SDSL" has also been used to refer to symmetric DSL.) Asymmetric DSL (or "ADSL") supports an asymmetric data stream, as its name implies, with much more bandwidth made available to a customer than from a customer. For example, downstream (i.e., to customer) rates of 1.544 Mbps, 2.048 Mbps, 6.312 Mbps and 8.448 Mbps may be supported on lines up to 18,000 feet, 16,000 feet, 12,000 feet, and 9,000 feet, respectively. Upstream (i.e., from customer) rates from 16 Kbps to 640 Kbps may also be supported. Both upstream and downstream data communications operate at frequencies above that of the plain old telephone service (or POTS), such that POTS service is independent of ADSL data services.
As can be appreciated from this sampling of digital service line (or "DSL") services, they are expected to be very popular, particularly for Internet access. FIG. 10 illustrates two (2) customers 1010 which use a DSL service to connect with an Internet service provider 1050. The first customer has a PC and a DSL modem 1020a. The DSL modem 1020a communicates with a digital subscriber line multiplexer (or "DSLAM") 1030 via a DSL line. The DSLAM 1030 forwards communications to the Internet service provider 1050 via a network 1040. The second customer 1010b has a number of computers in a local area network (LAN) defined by the Ethernet hub 1015. The hub 1015 is coupled with a DSL modem 1020a.
§ 188.8.131.52 Point-to-Point Protocol Over Ethernet
As described in § 22.214.171.124 above, in many access technologies, the most cost effective method to attach multiple hosts to the customer premise access device, is via Ethernet. PPP over Ethernet (or "PPPoE") enables a network of hosts to connect, over a simple bridging access device, to a remote access concentrator. With PPPoE, each host uses it's own PPP stack and the user is presented with a familiar user interface.
PPPoE has two (2) stages—a discovery stage and a PPP session stage. When a host wishes to initiate a PPPoE session, it first performs a discovery to identify the Ethernet MAC address of the peer and to establish a PPPoE SESSION_ID. In the discovery stage, a host (the client) discovers an access concentrator (the server). Based on the network topology, there may be more than one access concentrator that the host can communicate with. The discovery stage allows the host to discover all access concentrators and then select one. When the discovery stage completes successfully, both the host and the selected access concentrator have the information they will use to build their point-to-point connection over Ethernet. The discovery stage remains stateless until a PPP session is established. Once a PPP session is established, both the host and the access concentrator allocate the resources for a PPP virtual interface.
Since a PPPoE frame is very similar to the standard Ethernet frame 1200, the following will refer to the Ethernet frame 1200 of FIG. 12. Referring once again to the Ethernet frame 1200 of FIG. 12, the destination address field 1230 contains either a unicast Ethernet destination address, or the Ethernet broadcast address (0xffffffff). For discovery stage packets, the value is either a unicast or broadcast address. For the PPP session stage packets, this field 1230 contains the peer's unicast address (as determined from the discovery stage). The source address field 1240 contains the Ethernet MAC address of the source device. The length of data field 1250 is used as an ether type field 1250′ in the context of PPPoE (this is the main difference between Ethernet and PPPoE frames) and may be set to either 0x8863 to indicate a discovery stage frame, or 0x8864 to indicate a PPP session stage frame.
The Ethernet payload 1260′ for PPPoE is illustrated in FIG. 13. The version field 1310 is four (4) bits and may be set to 0x1, for example for a particular version of the PPPoE specification. The type field 1320 is four (4) bits and may be set to 0x1, for example for a particular version of the PPPoE specification. The code field is eight (8) bits and may be used to identify certain type of information used in the discovery and PPP session stages. The session ID field 1350 is sixteen (16) bits and is an unsigned value in network byte order. Its value is defined for discovery stage packets and is fixed for a given PPP session. The value of the session ID field 1350, as well as the values for the source and destination address fields 1230 and 1240, may be used to uniquely identify a PPPoE session. The length field 1360 is sixteen (16) bits. Its value, in network byte order, indicates the length of the PPPoE payload 1370.
Having introduced the PPPoE protocol and the PPP payload for PPPoE, the stages of the PPPoE protocol are now described. The discovery stage includes four (4) steps: (i) the Host broadcasting an initiation packet; (ii) one or more access concentrators sending offer packets; (iii) the host sending a unicast session request packet; and (iv) the selected access concentrator sending a confirmation packet. Once the host receives the confirmation packet, each of the peers know the PPPoE session ID and each other's Ethernet address. The host may proceed to the PPP session stage. When the access concentrator sends the confirmation packet, it may proceed to the PPP session stage.
All discovery stage Ethernet frames have the ether type field 1250′ set to the value 0x8863. The PPPoE payload 1370 contains zero or more TAGs. A TAG is a TLV (type-length-value) construct and is illustrated in FIG. 14. The TAG type field 1410 is sixteen (16) bits in network byte order. The TAG length field 1420 is sixteen (16) bits. It is an unsigned number in network byte order, indicating the length in octets of the TAG value field 1430.
The discovery stage Ethernet packets, corresponding to the four (4) steps introduced above, are now described. Recall that in the first step, the host broadcasts an initialization packet. The initialization packet is referred to as a PPPoE Active Discovery Initiation (or "PADI") packet. The Host sends the PADI packet with the destination address 1230 set to the broadcast address. The code field 1340 is set to 0x09 and the session ID field 1350 is set to 0x0000. The PADI packet contains one TAG of having a Service-Name tag type 1410, indicating the service the host is requesting, and any number of other TAG types. FIG. 11 illustrates an exemplary PADI packet.
Recall that in the second step of the discovery stage, one or more access controllers send offer packets. An offer packet is referred to as a PPPoE Active Discovery Offer (or "PADO") packet. More specifically, when an access concentrator receives a PADI packet that it can serve, it replies by sending a PADO packet. The destination address 1230 is simply the unicast address of the host that sent the PADI packet. The code field 1340 is set to 0x07 and the session ID field 1350 is set to 0x0000. The PADO packet contains one AC-Name TAG containing the access concentrator's name, a Service-Name TAG identical to the one in the PADI packet, and any number of other Service-Name TAGs indicating other services that the access concentrator offers. If the access concentrator cannot serve the PADI packet it does not respond with a PADO packet.
Recall that in the third step of the discovery stage, the host sends a unicast session request packet. This packet may be referred to as a PPPoE Active Discovery Request (or "PADR") packet. The host that sent the PADI packet may receive more than one PADO packets in response. The host chooses one of these PADO packets. (The choice can be based on the AC-Name or the services offered by the access concentrator.) The host then sends one PADR packet to the access concentrator selected. The destination address field 1230 is set to the unicast Ethernet address of the selected access concentrator. The code field 1340 is set to 0x19 and the session ID field 1350 is set to 0x0000. The PADR packet contains one TAG of TAG_TYPE Service-Name, indicating the service the host is requesting, and any number of other TAG types.
Finally, recall that in the fourth step of the discovery stage, the selected access concentrator sends a confirmation packet. This confirmation packet may be referred to as a PPPoE Active Discovery Session-confirmation (or "PADS") packet. More specifically, when the selected access concentrator receives a PADR packet, it prepares to begin a PPPoE session. It generates a unique session ID value for the PPPoE session and replies to the host with a PADS packet. The destination address field 1230 is the unicast Ethernet address of the host that sent the PADR. The code field 1340 is set to 0x65 and the session ID field 1350 is set to the unique value generated for this PPPoE session. The PADS packet contains one TAG of TAG_TYPE Service-Name, indicating the service under which access concentrator has accepted the PPPoE session, and any number of other TAG types. If the access concentrator does not like the Service-Name in the PADR packet, will then reply with a PADS packet containing a TAG of TAG_TYPE Service-Name-Error (and any number of other TAG types). In this case the session ID field 1350 is set to 0x0000.
A PPPoE Active Discovery Terminate (or "PADT") packet may be sent anytime after a session is established to indicate that a PPPoE session has been terminated. It may be sent by either the host or the access concentrator. The destination address field 1230 is a unicast Ethernet address, the code field 1340 is set to 0xa7, and the session ID field 1350 be set to identify the session which is to be terminated. No TAGs are required. When a PADT is received, no further PPP traffic is allowed to be sent using that session.
As stated above, once the discovery stage is complete, the PPP session stage commences. Once the PPPoE session begins, PPP data is sent as in any other PPP encapsulation. All Ethernet packets are unicast. The Ether type field 1250′ is set to 0x8864. The PPPoE code field 1340 is set to 0x00. The session ID field 1350 is the value assigned (by the access concentrator) in the fourth step discovery stage. The PPPoE payload contains a PPP frame. The frame begins with the PPP Protocol-ID.
§ 1.2.4 Challenges Faced by Customers Having LAN(S) Accessing Multiple DSL Lines
Currently, modem development to support digital subscriber line (or "DSL") services assumes that a single DSL line is extended from a communications provider (such as a regional bell operating company or "RBOC") to a customer's premises. (Recall, for example, customers 1010 in FIG. 10.) In some instances, often when the customer premises supports a small business or home office, a single DSL line may not provide sufficient bandwidth for the customer's needs. Instead of buying a dedicated line (i.e., T1 or T3 connection), some customers may find that purchasing multiple DSL lines to their premises is more affordable. Many of such customers will have local area networks (or LANs).
FIG. 15 is a high level block diagram which illustrates an environment 1500 in which a customer, having a local area network, has more than one digital subscriber line 1560 to a facility 1520 of a communications provider. The customer will often want to allow one of their terminals 1512, such as a computer for example, to call the Internet service provider's router and act like a full-blown Internet host. To reiterate, such a connection may be established in accordance with the point-to-point protocol, as described in § 18.104.22.168 above, or more specifically, via the point-to-point protocol over Ethernet protocol (or PPPoE) described in § 22.214.171.124 above.
As FIG. 15 shows, the premises 1510 of the customer may have a LAN, such as an Ethernet LAN, defined by a Ethernet hub or bridge 1514 having a number of terminals 1512, such as computers for example, connected to it. The Ethernet hub or bridge 1514 may also be coupled with a number of ADSL terminating units-remote (or "ATU-Rs") 1516. If an Ethernet hub 1514 is used, the hub 1514 merely provides a simple means of connecting the terminals 1512 of the LAN. If an Ethernet bridge is used, it may learn the layer 2 (e.g., MAC) addresses of the terminals 1512 connected to it.
ADSL terminating units-remote or ("ATU-R") 1516 support the ADSL service and has a matching unit, an ADSL terminating unit-central office (or "ATU-C") 1522 located at a facility, such as a central office, of a communications provider 1520. An ATU-R 1516 and ATU-C 1522 pair, in combination, support a high data rate over standard copper telephone wires 1160.
At the communications provider facility 1520, the DSLAM containing the ATU-C units 1522 may be connected with a bridge 1524. The bridge 1524 may be used to connect the communications provider facility 1520 with an Internet service provider server 1540. The Internet service provider server 1540 should support point-to-point protocol over Ethernet (or "PPPoE") sessions. Note that the terminals 1512 should also support PPPoE session (using software often referred to as "SHIMs").
Unfortunately, using the point-to-point protocol over Ethernet (or "PPPoE") protocol does not allow a straightforward transition from a single DSL line to multiple DSL lines. More specifically, the PPPoE protocol assumes an Ethernet infrastructure. Referring to FIG. 15, each terminal (such as a personal computer for example) 1112 in the customer premises 1510 would possess an Ethernet network interface card (or "NIC"), and all terminals 1512 would connect to an Ethernet hub or Ethernet bridge 1514. An ADSL terminating unit-remote (or "ATU-R") 1516 would also connect to the Ethernet hub or learning bridge 1514. With current implementations of PPPoE, an ATU-R, which acts as learning bridge, is used to provide connectivity to the DSL network. This creates a problem for customers that want to use multiple DSL lines. More specifically, using multiple ATU-Rs connected to the Ethernet hub or Ethernet bridge may cause traffic loops (described in § 184.108.40.206 below) and race conditions (described in § 18.104.22.168 below) that may often prevent the customer from getting the bandwidth expected. Further, presently, users cannot implement any policies regarding which lines 1560 serve which terminals 1512.
§ 188.8.131.52 Loop Conditions
Recall from § 126.96.36.199 above that during a discovery stage of PPPoE, when a host (e.g., a terminal 1512) wants to establish a connection using PPPoE, it broadcasts a PPPoE Active Discovery Initiation (or "PADI") packet and one or more access concentrators may respond with a PPPoE Active Discovery Offer (or "PADO") packet. Due to the broadcast nature of the PPPoE Active Discovery Initiation (PADI) packets, each one of the ATU-R units 1516 will forward these packets and, consequently, receive PPPoE Active Discovery Offer (PADO) packets in response. When a response is received via one ATU-R, situations can result where the response is actually looped back to the other ATU-R. This would occur if the user's Ethernet hub is a repeatered hub which sends all Ethernet frames it receives on one port out every other port. In turn, the Ethernet frame will cause the ATU-R which inadvertently receives the Ethernet frame to update its bridging table so that it believes the ISP's access router is now on the home LAN. This follows since it examines the Ethernet frame and sees a source MAC address that belongs to the ISP's router arriving on the port it uses to connect to the repeatered hub. This means that no traffic will flow through this ATU-R until such time as it receives an Ethernet frame, via the DSL line that it terminates, from the ISP's router. Hence, the ability to utilize a second DSL line can be significantly hampered by the looping of received traffic from the ISP.
§ 220.127.116.11 Race Conditions
As just stated in § 18.104.22.168 above, during a discovery stage of PPPoE, when a host (e.g., a terminal 1512) wants to establish a connection using PPPoE, it broadcasts a PPPoE Active Discovery Initiation (or "PADI") packet and one or more access concentrators may respond with a PPPoE Active Discovery Offer (or "PADO") packet. As further just stated above, due to the broadcast nature of the PPPoE Active Discovery Initiation (PADI) packets, each one of the ATU-R units 1516 may forward these packets. It may turn out that one of the ATU-R units 1516 may always receive a PADI packet response first. Consequently, traffic between a customer's premises 1510 and its communications provider facility 1520 may not be balanced across the lines 1560. Indeed, a single line 1560 may end up serving a large amount of traffic while the other lines 1560 sit idle. Such a situation is clearly undesirable.

Methods, apparatus and data structures for imposing a policy or policies on the selection of a line by a number of terminals in a network


A quaternion deep neural network (QTDNN) includes a plurality of modular hidden layers, each comprising a set of QT computation sublayers, including a quaternion (QT) general matrix multiplication sublayer, a QT non-linear activations sublayer, and a QT sampling sublayer arranged along a forward signal propagation path. Each QT computation sublayer of the set has a plurality of QT computation engines. In each modular hidden layer, a steering sublayer precedes each of the QT computation sublayers along the forward signal propagation path. The steering sublayer directs a forward-propagating quaternion-valued signal to a selected at least one QT computation engine of a next QT computation subsequent sublayer.

Machine learning, deep learning in particular, is receiving more attention by researchers and system developers due its successful application to automated perception, such as machine vision, speech recognition, motion understanding, and automated control (e.g., autonomous motor vehicles, drones, and robots). Modern multi-layered neural networks have become the framework of choice for deep learning. Conventional neural networks are mostly based on the computational operations of real-number calculus.
Quaternion algebras, based on a multi-dimensional complex number representation, has drawn attention across digital signal processing applications (motion-tracking, image processing, and control) due to the significant reduction in parameters and in operations and more accurate physics representation (singularity-free rotations) compared to one-dimensional real or two-dimensional complex algebras. Because QT operations necessitate reconciliation across geometry, calculus, interpolation, and algebra, to date, quaternions have not been well adapted to deep multi-layered neural networks. There have been attempts to incorporate quaternions in machine-learning applications to make use of their desirable properties. However, those approaches either perform coordinate-wise real-valued gradient based learning, or entirely forgo training of hidden layers. Conventional coordinate-wise real-number calculus applied to quaternions fails to satisfy standard product or chain rules of calculus for quaternions, and tends to dissociate the relation between the non-scalar components of the quaternion. Consequently, pseudo-gradients are generated in place of quaternion differentials for encoding of error in the backpropagation algorithm.

Computationally-efficient quaternion-based machine-learning system


An imaging apparatus includes a processor and two acceleration sensors located at different positions on a first plane orthogonal to the optical axis of an image shooting optical system. The processor calculates a first-direction acceleration estimated value for a first position on the optical axis on the basis of the distances in a second direction between the optical axis and the individual acceleration sensors and first-direction acceleration detected values provided by the individual acceleration sensors, calculates a second-direction acceleration estimated value for the first position on the basis of the distances in a first direction between the optical axis and the individual acceleration sensors and second-direction acceleration detected values provided by the individual acceleration sensors, and calculates a first-direction image blurring amount and a second-direction image blurring amount for the imaging apparatus by using the first-direction acceleration estimated value and the second-direction acceleration estimated value.

With the recent development of shake correction functions for a digital camera (hereinafter simply referred to a "camera"), blurring (image blurring) that occurs in a shot image due to rotational motions of the camera, i.e., what is called angular blurring, can be accurately corrected.
In the case of macro photography for capturing a large image of a subject, however, due to the large influence of blurring (image blurring) caused by translation of a camera, i.e., what is called shift blurring (parallel blurring, translational blurring), simply correcting angular blurring could be insufficient, and the image quality could be decreased due to camera shakes.
Accordingly, a blurring correction apparatus has been proposed, the blurring correction apparatus comprising: an acceleration sensor that detects the acceleration of shakes of an interchangeable lens; an angular velocity sensor that detects the angular velocity of the shakes; and a target-position conversion unit that calculates the center of rotation of the angular blurring on the basis of results of detection of the acceleration and the angular velocity provided by the acceleration sensor and the angular velocity sensor and calculates a target position for a blurring correction lens, wherein the image blurring is corrected by driving the blurring correction lens on the basis of the calculation results provided by the target-position conversion unit (see, for example, Japanese Laid-open Patent Publication No. 2004-295027).

Imaging apparatus and image blurring amount calculation method therefor


A wireless communication device for transmitting/receiving a high-frequency signal having a predetermined communication frequency. The wireless communication device includes an antenna pattern having an inductance component, an RFIC element connected electrically to the antenna pattern and a capacitive coupling portion capacitively coupling specific confronting regions facing each other of the antenna pattern at multiple points on the antenna pattern, to make up an LC parallel resonant circuit.

It is conceived to automate merchandise accounting by attaching an "RFID tag" that is a wireless communication device to a commodity. According to this automated settlement system, when a basket containing goods with the "RFID tag" is placed on a checkout counter, information from the "RFID tag" is read to display a commodity price.
A wide variety of commodities are dealt in stores such as supermarkets and some of foodstuffs as commodities may be warmed up immediately after the purchase thereof so that the purchaser can eat and drink on the spot. Examples of commodities warmed up to eat and drink are foodstuffs such as a lunchbox and a cup noodle. These commodities are considered to be heated up using an electromagnetic wave heating apparatus, i.e. a so-called "microwave oven" at the stores.
In the "RFID tag", a radio-frequency integrated circuit (RFIC) chip and a metal material such as an antenna pattern that is a metal film are formed on a paper material or a resin material. Therefore, in the case where with such an "RFID tag" attached to a commodity, the commodity is heated up by the "microwave oven", for example, in the case where a lunchbox with the "RFID tag" is heated up, electromagnetic waves from the "microwave oven" are absorbed in not only the lunchbox but also the "RFID tag" so that the metal material portions are subjected to concentration of electric fields and discharge with eddy current flowing through the metal material, whereupon the metal itself may be heated up and sublimate or the paper material or the resin material forming the tag may ignite, resulting in a risk of ignition of the "RFID tag".
For the purpose of reducing the risk of ignition in the "RFID tag" as described above, a configuration of "flame-retardant tag" has been proposed (see Patent Document 1).
Patent Document 1: Japanese Laid-Open Patent Publication No. 2006-338563.
In the "flame-retardant tag" disclosed in Patent Document 1, a substrate mounted with an IC chip and the antenna pattern is made of a flame-retardant material. Hence, due to the flame-retardant material, the substrate itself is extinguished in several seconds or several tens of seconds after ignition, but the metal material portions formed on the substrate have a high possibility to continuously discharge, not providing a configuration capable of securely preventing the risk of ignition of the substrate and the potential to ignite the goods.


—In at least some implementations, a control and communication system for a light-duty combustion engine includes a circuit card, an ignition circuit carried by the circuit card and configured to control an ignition timing of the engine, and a short range wireless communication circuit carried by the circuit card. The communication circuit may include a Bluetooth Low Energy antenna. The ignition circuit may include an ignition capacitor that when drained induces an ignition pulse adapted to fire a spark plug. The system may further include a microprocessor that is coupled to and controls the ignition and communication circuits, and/or a clocking circuit adapted to provide a clocking frequency associated with the timing of the ignition circuit and associated with the communication circuit via a short range wireless communication protocol. The clocking circuit may include a crystal oscillator.

Various ignition systems for light-duty combustion engines are known in the art and are used with a wide range of power tools, such as lawn equipment and chainsaws. Typically, these ignition systems do not have a battery, instead they rely upon a pull-rope recoil starter and a magneto-type system to provide electrical energy for ignition and to operate other electrical devices. In some devices, a computer may be connected by a wire to an electronic controller transfer information between the computer and controller. The interaction between a user of the power tool and the controller is limited or nonexistent, and no interface is provided for wireless communication with a mobile device of, for example the user (e.g. a mobile phone or the like).

Control and communication module for light-duty combustion engine


A knitted substrate (4; 16) for electrical connection of electronic components (3; 17a-f) thereto. The knitted substrate comprises a first set of substrate portions (5a-e; 9a-f) knitted with a first stitch pattern resulting in a first tensile stiffness; and a second set of substrate portions (6a-f; 18a-f) knitted with a second stitch pattern resulting in a second tensile stiffness that is greater than the first tensile stiffness. A substrate portion of the first set of substrate portions (5a-e; 19a-f) is provided between substrate portions (6a-f; 18a-f) of the second set of substrate portions, and each substrate portion of the second set of substrate portions (6a-f; 18a-f) comprises conductive yarns (11a-b) arranged to allow electrical connection of at least one of the electronic components (3; 17a-f) thereto.

Many types of textiles are used in our every-day life. When electronics are unobtrusively integrated into these textiles to create electronic textiles, new application fields emerge. One such example of a new application is light-emitting textiles, and other examples include textile-based sensing systems, wearable electronics etc.
For some of these new applications, such as for electronic textiles intended to be applied around moving body parts of a user, the stretchability of the electronic textile is important.
Currently proposed electronic textiles are drapable, i.e. they can be draped around a shape. However, electronic textiles with a high stretchability remain to be developed.

Knitted textile substrate with different stitch patterns and electronic textile


The present invention relates to a method and computer system to store customization specifications for computer software as data in a database. The customization information includes labels, error messages, help, security, and client preferences, such as display preferences. Because this information is stored as data, it is possible for a user to maintain multilingual labels, different error messages, context-sensitive help messages (both error and help messages are also multilingual), security, and user preferences, such as display preferences, as data, rather than placing a request for a computer applications developer to modify procedural code.

Typically, when users want a software application customized to meet their needs, it is necessary for application developers to use a programming language or software development environment to modify existing code. However, it is expensive in terms of both time and money for application developers to customize software. Consequently, it is advantageous if users could customize the applications themselves.
In particular, if an application is needed to be deployed in two or more languages, traditional software developers would write multiple versions of the same screen, causing the number of screens in the system to be increase by a factor of two or more. In a traditional system, a different set of screens would be required to support each additional language. It is expensive to support multilingual requirements in this manner.
Error messages are another area that users would like to customize. Frequently, error messages are written in a technical way that an applications developer can understand, but not necessarily a user. There is a strong need in the industry to be able to provide users a tool that they themselves (or documentation writers) can use to write meaningful, user-friendly error messages.
Context-sensitive help is becoming a standard in the computer industry. End user applications are becoming increasingly documented with help screens. However, the effectiveness of help still could be greatly improved by giving users or documentation writers the power to write their own error messages.
The ability to support a sophisticated access control and security mechanism is another important aspect that can be thought of as customizing software. Different users who have different roles will have varying security requirements.
Finally, unique and different client preferences are another aspect that contribute to increasingly complex systems administration. Frequently, in computer systems the preferences are supported by generating multiple versions of the applications, each of which needs to be compiled and deployed appropriately throughout the organization. This creates an overall computing environment that is very unstable and difficult to support. In addition, users may not be able to express their display preferences until the testing phase, or even later such as when the entire system is in production. Consequently, there is a need for users to be able to customize their own desktops, including setting their own display preferences.
Today's programming languages and system development environments are complex, and mastered only by programmers, not by end users. Providing an environment or system in which users can specify their own customizations greatly increases the control that users have over their system, and users can then maintain their own customization information.
Given the above problems, the present invention provides novel methods and computer systems which give a user the capability to flexibly alter the run-time version of a program they are operating, while avoiding the shortcomings and drawbacks of prior methodologies.

Method and computer system for customizing computer applications by storing the customization specification as data in a database


A liquid flow rate detector adapted for detecting whether a rate of flow for liquid flowing through a conduit is above or below a generally predetermined liquid flow rate, and for developing different control signals in response to detecting flow rates above and below that generally predetermined liquid flow rate. The detector includes first and second thermally conductive liquid contact members supported for contact with the flowing liquid; and electric circuitry that detects the ambient temperature of the flowing liquid through the first probe, supplies a limited amount of heat in an attempt to heat the second liquid contact member to a threshold temperature above that ambient temperature, detects the temperature of said second liquid contact member, generates a first control signal when the temperature of the second liquid contact member is at least at the threshold temperature to detect a liquid flow rate below the predetermined liquid flow rate at which the flowing liquid is not capable of cooling the second liquid contact member below the threshold temperature, and generates a second signal when the temperature of the second liquid contact member is maintained below the threshold temperature to detect a liquid flow rate above the predetermined liquid flow rate at which the flowing liquid is capable of cooling the second liquid contact member below the threshold temperature.

A metered amount of foam concentrate can be injected into a conduit such as a pipe or hose through which water to be used in fighting a fire is flowing so that a foam can result from the water and concentrate mixture that will much more efficiently extinguish the fire than water alone. It is desirable that such concentrate only be injected into the water when the water is flowing above a predetermined rate through the conduit, that the concentrate is injected within seconds after water flow through the conduit reaches that predetermined rate which affords minimizing the amount of water that will be directed at certain types of fires, and that the injection be terminated within seconds after flow through the conduit drops below that predetermined rate which minimizes the amount of foam concentrate used and insures that the concentrate will not flow in the wrong direction along the conduit to potentially contaminate an adjacent pumping system for the water.
Manual activation and deactivation of the injection system is impractical as it presents too many opportunities for operator error. Thus it is desirable to use an automatic activation and deactivation system including a flow rate detector that activates or deactivates the injection system at the appropriate times. Impeller or paddle switches are not suitable as the flow rate detector in such systems, however, because solid particles such as sand and small rocks carried by the water flowing through the conduit can damage or wear down the portions of the impeller or paddle switch exposed to the water flow. While ultrasonic doppler sensors or deferential pressure sensors could possibly be used as the flow rate detectors in such systems, neither of these sensors would be practical or cost effective for the application described above.


In a method of manufacturing a semiconductor package with an externally connecting coupler, a semiconductor package has a die pad portion on which a semiconductor device is mounted and a plurality of leads including at least one lead extending from the die pad portion and coupled to each other by a tie bar. The method includes the steps of mounting the device on the die pad of the leadframe, wire bonding between the device and inner leads, premolding the inner leads so as to ensure mutual mechanical connection of the leads and support of the leads during manufacture, cutting off unnecessary portions of the leadframe and portions of the leadframe located between the leads to electrically separate the leads from each other, and forming a mold package and the external connecting coupler as one unit using an electrically insulating resin. The mold package seals the die pad portion of the leadframe on which the device is mounted, the inner leads and the premolding. The externally connecting coupler covers the outer leads so as to achieve mechanical coupling to an external device and hence electrical connection of the outer leads. A method in which an externally connecting coupler is coupled to the leadframe before cutting off the tie bar so as to ensure mutual mechanical connection of the leads of the leadframe and support of the leads during the manufacture is also included.

1. Field of the Invention
The present invention relates to a method of manufacturing a semiconductor package with an externally connecting coupler, and more particularly, to a method of manufacturing a semiconductor package with an externally connecting coupler which is used as the ignition device for an internal combustion engine.
2. Description of the Related Art
FIGS. 5A to 5D illustrate the conventional method of manufacturing an ignition device having a semiconductor package structure, for use in an internal combustion engine.
First, a semiconductor device (IC) 2 is die bonded on a die pad of a leadframe 1, as shown in FIG. 5A. The leadframe 1 has a plurality of leads 3. The single lead located at the center extends from the die pad. The individual leads 3 are coupled to each other in an aligned state by a tie bar. Next, as shown in FIG. 5B, the semiconductor device 2 is connected to the leads 3 using a wire 4, i.e., so-called wire bonding is conducted. Thereafter, a mold package 5 for sealing the leadframe 1 including the die pad with the semiconductor device 2 thereon and the inner leads is formed using a resin, as shown in FIG. 5C. Subsequently, unnecessary portions of the leadframe 1 are cut off to complete an IC package (semiconductor package) 6 shown in FIG. 5D.
In the aforementioned manufacturing method, portions 7 of the leadframe 1, indicated by the hatching in FIG. 6, are cut off to separate the leads from each other after the mold package 5 is formed.
It may be considered to form the semiconductor package 6 and an externally connecting coupler 8 as one unit, as shown in FIG. 7, i.e., to plastically mold the portion including the mold package 5 and the coupler 8. However, it is impossible to form the mold package 5 and the coupler 8 as one unit because it is very difficult to cut off unnecessary portions 9 and 10 (the portions indicated by the hatching in FIG. 7) of the leadframe 1 after the mold package 5 and the coupler 8 are formed as one unit. That is, since the unnecessary portion 9 which forms the upper portions (the tie bar portion) of the leads 3 shown in FIG. 7 is embedded in the resin when the mold package and the coupler are formed as one unit, it can be cut off, for example, only after the unnecessary portion 9 is exposed by taking off part of the molding resin. A gap thus remained may be charged with the resin afterwards. However, the possibility of that the water contents enter in the package increases, and the reliability of the semiconductor package reduces. It is also difficult to cut off the unnecessary portion 10 which forms the lower portions of the leads because the lower end portions of the leads 3 are accommodated in the coupler 8 when the mold package and the coupler are formed as one unit. In that case, the unnecessary portion 10 must be cut off beforehand.
In the aforementioned conventional manufacturing method, it is impossible to form the mold package and the externally connecting coupler integrally as one unit in terms of the separation of the leads and support of the leads during the molding. That is, it is impossible to assure mutual separation of the leads and support of the individual leads in an aligned state before the mold package is formed.

Method of manufacturing a molded semiconductor package having a lead frame and an connecting coupler


A composition comprises a protein, a polyol, and a metal. The protein is stabilized by the polyol and the metal, and is protected from denaturing when in contact with an organic solvent. The polyol may be a hydrocarbon containing two or more hydroxyl groups (—OH) bonded to carbon. The metal may be divalent.

Protein-based therapies can be more difficult to administer to patients than other pharmaceuticals. Because the efficacy of a protein is related to its conformation, therapeutic formulations cannot be subjected to conditions that contribute to the unfolding, or denaturing, of the protein. Special care is typically used in preparing, storing, and administering protein-based therapies. In addition to avoiding any denaturing of the protein, it is often desirable to control the amount of the protein administered to a patient over time. This helps to avoid protein concentrations within the patient that are undesirably high or that are too low to be effective. Controlled release protein-based therapies can be administered by a variety of methods, including oral delivery of tablets or capsules, inhalation of powders, and implantation of depots from which the protein is gradually released.
The preparation of these formulations typically includes mixing the protein with an organic solvent. For example, a powder formulation may be made by spraying a mixture of the protein and an organic solvent into liquid nitrogen. Alternatively, the protein may be mixed with a solution of a bioerodible polymer in an organic solvent, with formation of microparticles which contain the protein and the polymer by coagulation of the mixture. Furthermore, proteins, powdered formulations, or microparticles can be mixed with an organic solvent to produce a liquid or gel which may be injected into a patient. A drawback to the use of organic solvents is their tendency to cause protein denaturing.
Additives have been used to stabilize proteins in the presence of a denaturing organic solvent. These additives include surfactants (U.S. Pat. No. 5,096,885), amino acids (U.S. Pat. No. 4,297,344), polyols (U.S. Pat. No. 5,589,167), natural polymers (WO 8903671), synthetic polymers (Pharm. Res. 8:285-291, 1991), and metals (U.S. Pat. No. 6,191,107 B1).
There is a need for improved stabilization of proteins during the preparation, storage, and administration of protein-based therapies. Protein formulations which have good stability in organic solvents would be useful in a wide variety of controlled release applications.

This patent is subject to a terminal disclaimer.


A roller die apparatus for supporting pairs of roller dies in predetermined clearances for processing a web workpiece, and for varying the clearances between the dies to accommodate variations in the thickness of a web workpiece and having first and second roller dies rotatably mounted on respective roller die bearings, one of the first and second roller dies being moveable upwardly and downwardly transversely to its axis of rotation, and one of the first and second roller dies being moveable axially along its axis of rotation, thereby achieving adjusting of the die clearance between the first and second roller dies in two planes.

Roll forming machinery usually has a plurality of sets of rolls, usually arranged in upper and lower pairs, and usually spaced apart along the length of the machine on roller stands. Typically, the roller dies at one stand will produce a continuous formation in the web, and the roller dies of the next stand will produce another formation, or for example increase the angle of the formation which has already been started at the previous stand and so on.
A wide variety of commercial and other products are made on such-roll forming machines, such as roof decking siding, and a large number of components for consumer equipment. The shapes may simply be webs with edge formations formed along one edge or both, or may be C sections or U sections but in many cases consist of relatively complex formations with longitudinal formations being formed along the length of the web, side by side.
Generally speaking at each stand of rolls there are two lower dies and two upper dies arranged in pairs, to form the web on either side of a central web axis. The lower dies engage the underside of the web and the upper dies engage the upper side of the web. The dies have circular shapes, and are mounted on rotatable axles so that the dies can rotate at the same speed as the sheet metal.
A gear drive mechanism is coupled to the dies so as to drive them at the speed of the sheet metal.
Each set of such roller dies must be designed to provide a particular formation in the web. In addition, each pair of dies must have a clearance between them determined by the thickness of the web.
Thus where it is desired to discontinue working on a web of one thickness, and to then run a web of another thickness through the dies, each pair of roller dies must be readjusted to a new clearance, to accommodate the new thickness of the new web. This involves costly down time, in order to make the fine adjustments.
All of this is very well known in the art and is accepted as the normal operating procedure.
It is however well known that a further problem exists in roll forming. The web of sheet material which provides the basic feed stock for the roller machine should preferably maintain its thickness within very narrow limits, along the entire length of the web. If there is any significant variation in thickness in the web, then the dies, being fixed as to clearance, will produce varying effects on the web as the web passes along the roller stands, or the web may jam causing stoppage of the line.
In practice, it is well known that some web material varies in thickness to a greater extent than is permissible. This results in unusual effects being produced in the final formed web, which may warp or bend or twist, or even jam.
Generally speaking, it is not possible to adjust the clearances of the roller dies, during the actual operation of the machine, and the best that can be done is that in the initial set up, the machinist will set the die clearances to a predetermined average web thickness. The results obtained in this way however are not always entirely satisfactory.
It would in theory be desirable to provide for automatic self-adjustment of the spacings or clearances between the pairs of dies in each stand. However, due to the shaping of the dies there are difficulties in such adjustments. Usually the dies will have two surfaces, one of the surfaces being more or less horizontal, or at least parallel to the plane of the web itself and the other of the surfaces being at a web forming angle.
Another set of problems arises if it is desired to use the same roller dies, to form a web having a width which is greater, or narrower than a preceding web.
In the past each of the stands would have to be manually moved further apart, or closer together, to take in to account the width of the new web to be processed. However, it was time consuming to dismantle the arrangement of dies for one web width, and then reassemble the dies with a greater or lesser number of rolls between them to suit the new web width. In addition, this was awkward and time consuming manual work.
It is therefore desirable to provide for roller die stands arranged in pairs, in which one of each of the stands in each of the pairs shall be transversely moveable relative to the other.
Given both die clearance adjustment, and stand width adjustment, it would be possible, using one set of roller die stands and dies, to provide for the processing of webs both of different thicknesses, and also of different widths. This enables a manufacturer to produce a standard rolled form section such as a "C" section in a variety of widths and in a variety of gauges, from a single machine. This would reduce the capital investment in machinery. In addition would reduce the down time required for change over from one web to another and also reduce the need for skilled labour.
Additional savings would be achieved if the spacer rolls could be introduced between the paris of dies by some form of powered mechanism.
A further problem arises with roll forming certain sections, particularly sections which have the shape of a letter C with inturned flanges, or a partially closed-in box section.
In this type of section, the two edges or flanges of the C, or partially closed-in box, are turned inwardly. This is usually done by roll forming the edge flanges first, and then roll forming the C bends later, i.e. downstream. Special dies are required to form the last bends, and it is desirable to provide for adjustment of these dies. Adjustment of such dies in this location however, to accommodate variations in web thickness and to form different sizes of C-section presents further problems.


Layout analysis is used in operating a digital reproduction apparatus. The device automatically segments the digital image dot data corresponding to a document image to be reproduced, to determine layout elements of the document. This is shown on a display. An operator can now select a specific layout element, such as a text column, by indicating it, and instruct the image processing unit of the apparatus to process only that element. The processing operations include color printing, gradation changing, moving and enlargement/reduction.

1. Field of the Invention
The invention relates to an apparatus and method for processing and reproducing image information, and more specifically, to reproducing an image from digital image dot information.
2. Discussion of Related Art
Apparatus of this kind are generally known. In these known apparatus, a document is scanned by means of an optoelectrical scanner and digital image dot data is generated which corresponds to the document image. The image dot data is stored in a memory, processed and printed. Digital image dot data can also be supplied from another device, stored in the memory, and be printed after processing. The processing is generally aimed at adapting the image data so that a good print is obtained, e.g. converting grey value data into halftone data, i.e. image data which can only have the value black or white for each image dot.
In addition, processing may be aimed at changing the appearance of the printed image of the document according to an operator's choice. This is usually referred to as editing. In that case, selection means, such as a digitizing panel and an indicator pen, can be used to indicate an area of the document, whereafter a processing function instruction can be given to change the appearance of the indicated area. A disadvantage of the conventional devices is that the areas to be processed must be indicated very accurately. If an area to be processed is indicated carelessly, a part which should really also have been processed may easily be omitted.

Apparatus and method for processing and reproducing image information


The present invention relates to compositions, kits, and films formed therefrom which are useful as cosmetic or therapeutic agents, particularly as polishes for mammalian nails, as well as methods of their use. More particularly, the present invention relates to fast-drying compositions which enhance long wear through their fast-drying properties. When applied to mammalian nails, the present fast-drying compositions exhibit a 5% Diluent Content Time of less than about 38 minutes and or exhibit a 5% Diluent Content Time of less than about 44 minutes and has an Initial Slope greater than about 2.25.

Consumers use nail polishes to cosmetically enhance their nails or protect the nails from everyday conditions and stressors. However, these nail polishes are deficient in many respects, including their inability to provide long wear. Nail polishes which are known or currently available often exhibit deterioration, particularly in the form of chipping or peeling, in as few as one or two days. The occurrence of this deterioration often forces consumers to remove their nail polish soon after original application and reapply additional nail polish to the nails. Consumers may also attempt to correct the unsightly appearance of the deteriorating nail polish by "touching-up" the areas of the nail which exhibit the deterioration, a practice which actually impairs the overall look of the nail polish. Finally, consumers may choose to do nothing about the deterioration and allow, for example, chipping and peeling to progress, resulting in nails which are not only minimally protected from the environment but are unsightly as well.
The art is replete with nail polish compositions which are promoted as having long wear, good adhesion, and/or resistance to chipping. While some nail polish compositions provide better wear than others, a need remains for nail polishes which provide long wear. It would therefore be desirable to provide nail polishes having improved wear properties.
The present inventors have discovered that one property which enhances the wear of a water-borne nail polish is the drying rate which that polish exhibits. Nail polishes delivered from a liquid diluent, such as organic solvent or water, must go through a drying phase which can last from several minutes to many hours. Throughout the duration of this drying phase, the nail polish is particularly susceptible to such damage as scratching, denting, and deterioration. Accordingly, nail polishes which rapidly form dry films will exhibit longer and more beautiful wear.
Several conventional nail polishes are promoted as exhibiting rapid drying rates. However, such polishes typically comprise solvent-borne nitrocellulose which tends to be brittle and inelastic. Such brittleness and inelasticity ultimately lead to chipping and peeling which are hallmarks of poor nail polish wear.
In contrast, known water-borne polishes tend to dry too slowly. To enhance the drying rate of the polishes, formulators often add in drying accelerators at relatively low levels. However, addition of the drying accelerator typically causes instability of the dispersed film-forming polymer, thus "crashing out" the polymer. The present inventors have surprisingly discovered that addition of higher levels of water-miscible organic solvent to a water-borne polymer provides a more stable formulation which provides the desired fast-drying property.
Accordingly, the present inventors have surprisingly discovered water-borne nail polish compositions and kits comprising the compositions which exhibit both rapid drying rates and improved wear at a superior level relative to those presently known and used.


The optical rotary adapter is used with an optical tomographic imaging system for acquiring an optical tomographic image of an object under measurement. The adapter includes a fixed sleeve, a stationary optical fiber supported by the fixed sleeve and having an inclined end face, a stationary collimating lens spaced a given distance from the inclined end face, a mounting cylinder carried rotatably with respect to the fixed sleeve, a rotary optical fiber mounted to the mounting cylinder and having an inclined end face, a rotary collimating lens mounted to the mounting cylinder and disposed with a given distance from the inclined end face, and a rotation actuating device for rotating said mounting cylinder. The central axes of the stationary and rotary optical fibers are offset from or inclined with respect to a central axis of rotation of the mounting cylinder to reduce attenuation of returning light from the object.

The present invention relates to an optical rotary adapter and an optical tomographic imaging system using the same and more specifically to an optical rotary adapter that provides rotatable connection between optical fibers for guiding measuring light to the object under measurement and guiding returning light from the object under measurement to acquire an optical tomographic image of the object under measurement and an optical tomographic imaging system that irradiates the object under measurement with light and acquires a tomographic image from the light reflected by and returned from the object under measurement.
Acquisition of a cross-sectional image of a sample under measurement such as biological tissue without cutting thereinto may be achieved using an optical tomographic imaging system employing optical coherence tomography (OCT) measuring.
The OCT measuring is a kind of optical interferometric measurement using the optical interference that occurs only when the optical path lengths of the measuring light and the reference light, into which the light from the light source is divided, are matched to within the coherence length of the light from the light source.
An optical tomographic imaging system using the OCT measuring is disclosed, for example, in JP 2000-131222 A, which comprises a light source; a first optical coupler for splitting the light emitted from the light source into measuring light and reference light; an optical scan probe including a measuring unit for irradiating the sample under test or the object under measurement with the measuring light and detecting the light reflected and returned therefrom, an optical fiber for transmitting the measuring light and the returning light, and a transparent sheath covering the optical fiber and the measuring unit; and a second coupler for causing the reference light to interfere with the returning light both guided along the same optical path length as the measuring light; and an optical tomography system including a computing unit for detecting a tomographic image from the results of interference. With the optical tomographic imaging system disclosed in JP 2000-131222 A, which has the optical fiber in the measuring unit rotatably connected to an optical rotary joint, the measuring unit located close to the tip of the optical scan probe is inserted up to a position to be measured and rotated by turning the optical fiber to acquire a plurality of tomographic images of the object under measurement with its rotating measuring unit, thus reconstructing a two-dimensional sectional image.
In the optical rotary joint disclosed in JP 2000-131222 A, a rotor into which the rotary optical fiber is inserted along its axis is fitted into the socket of a rotor receiver into which the stationary optical fiber is inserted along its axis such that the rotor receiver rotatably supports the rotor by the intermediate of bearings. The rotor is turned at a constant speed via a belt. Convex lenses are disposed on one end of the rotary optical fiber and one end of the stationary optical fiber opposite each other to permit efficient optical transmission between the stationary optical fiber, not rotatable, and the rotary optical fiber, adapted to be rotatable.

Optical rotary adapter and optical tomographic imaging system using the same


A system and method for generating master and slave reference signals is disclosed, wherein at least one axis of the plurality of axes is a master section and at least one axis of the plurality of axes is a slave section, said slave section being a slave of said master section. The system and method generates a first reference signal and a second reference signal, wherein the second reference signal lags the first reference signal by a first delay period, and the processor provides the first reference signal to the slave section and the second reference signal to the master section. As a result, the slave section can lead the master section.

Motion control systems are utilized to move, position and/or control one or more objects in a desired manner, and typically include a motion controller, a drive or amplifier, a motor, and mechanical elements. The motion controller acts as the intelligent portion of the system, providing control signals that, in conjunction with the drive, motor and mechanical elements, produce a desired motion or outcome.
Typically, control algorithms are implemented via software that resides within the motion controller. The motion controller, executing the software, outputs analog and/or digital control signals to the drive, which then amplifies the signals to a level usable by the motor. The motor converts the electrical energy provided by the drive to mechanical energy, which is applied to the mechanical elements to achieve a desired motion.
Although not required, a feedback device or a position sensor may be used in the motion control system to increase the accuracy of the desired motion. Typically, the feedback device is coupled to the motor shaft or to a component that is to be controlled by the motion controller. The feedback device, such as an encoder, a resolver, or the like, provides signals that can be used by the motion controller to sense and/or determine position and/or velocity of the motor shaft and/or of the object to be controlled. The feedback device can be used to close the loop to the motion controller, thereby providing increased accuracy of the overall system. Other types of position sensors, such as proximity switches, optical switches, or the like, also can be used to control or provide feedback as to the position of the moving object.
Further, the motion control system can include a plurality of drives and motors to allow multi-axis control of the movement of the object. Such multi-axis systems can control the motion of an object in two and/or three dimensional space.
In addition to moving an object in a controlled manner, the motion control system also should provide a desired level of performance in executing the motion profile. The specific level of performance required in the system is application specific, and can vary from machine to machine and industry to industry. Generally speaking, the motion control system should be stable, provide acceptable responses to input commands with a minimum steady-state error, and be able to eliminate the effect of undesirable disturbances. Additionally, multi-axis applications typically require a level of coordination between the individual axes to achieve a desired result.
For example, in a two-axis glue dispensing system, a material, e.g., paper or the like, receives a bead of glue as it passes beneath a glue head. In order to maintain a constant thickness of the bead of glue on the paper, the glue is dispensed at a rate proportional to the speed of the of the paper passing beneath the glue head. Thus, it is clear that as the speed of the material passing beneath the glue head is changed, the flow of glue also is changed. Failure to do so would result in the paper having a bead of glue that varies in thickness. To maintain a constant thickness of the glue bead, a level of coordination between a section controlling the speed of the material passing beneath the glue head and a section controlling the extrusion of glue is required.
A conventional approach to multi-axis motion control systems is to implement a master-slave configuration, wherein a lead axis (e.g., the master) serves as the command generator for one or more follower axes (e.g., the slaves). For example, in a speed follower system as the speed of the master is varied, the speed of one or more slave sections also is varied proportionally to the speed of the master. Assuming the slave controllers are modeled and tuned properly, then synchronization will occur between the master and slave sections. However, due to the dynamics of the system, such master-slave systems may not provide a desired result, as illustrated in the following example.
A three-axis glue dispensing machine dispenses a bead of glue on a two-dimensional flat surface, such as an envelope or box top. The system includes a first axis for controlling an X axis, a second axis for controlling a Y axis, and a third axis for controlling a pump. The first and second axes control the motion of a gantry, while the third axis controls the extrusion of glue from a glue head.
The speed of the gantry will change as it traces a path in two-dimensions, typically slowing down at sharp corners and speeding up along straight segments. In operation, it is desirable to maintain a constant thickness of the glue bead, no matter how fast or slow the gantry is moving. To maintain a constant thickness of the glue bead, the third axis is slaved off the vector velocity of the first and second axes (a master-slave configuration). Therefore, as the gantry varies in speed, the extrusion of glue will vary proportionally to the gantry speed.
Due to the dynamics of glue extrusion, however, some lag may be present in the response time of the third axis. This lag can be in the range of a few milliseconds to a few seconds, and can result in uneven application of the glue onto the envelope or box top. For example, as the gantry speed is quickly changed, the pump speed also is quickly changed. However, due to the dynamics of the glue and/or the pump, an increase or decrease in the output of glue may not be seen until some time after the pump speed has changed. This can result in a thin bead of glue during periods of high acceleration, and a thick bead of glue during periods of high deceleration.
Conventionally, feedforward control and/or derivative control, e.g., a PID controller, are implemented to compensate for the machine or process dynamics for single axis. Such implementations, however, can not compensate for large dynamics delays across multiple axes that are performing a tight co-ordinated motion.


A compact and low-lying antenna system for receiving a radio wave includes a ground plate, a first crooked monopole antenna having a horizontal portion extending in parallel with the ground plate and a vertical portion extending vertically to the ground plate in such that the length of the horizontal portion and the vertical portion is approximately a quarter of the radio wave length, a second crooked monopole antenna having a horizontal portion extending in parallel with the ground plate and a vertical portion extending vertically to the ground plate in such that the length of the horizontal portion and the vertical portion is approximately a quarter of the radio wave length. The first and second antennas are disposed side by side at a distance that is approximately a quarter of the radio wave length.

1. Field of the Invention
The present invention relates to an antenna system to be mounted in a vehicle and, more particularly, a diversity reception system.
2. Description of the Related Art
U.S. Pat. No. 6,807,401 B2 or P2003-528520A, which is a counterpart foreign patent application of the former patent, discloses a diversity reception system formed of a plurality of antennas each directivity response pattern of which is covered by another by shifting the phase of a signal supplied to one antenna from the phase of another signal supplied to another antenna. However it is necessary to provide an additional circuit for shifting the signal phase, which increases the cost and size of the diversity reception system.