1. Field of the Invention
The present invention relates to the field of message receipt/transmission and delivery using computer, phone, wireless and other communications networks. Specifically, the present invention relates to the transmission of e-mail messages which may be text only, text plus an audio file, text plus a video file, text plus a fax file or any combination thereof to a phone, pager or fax machine or other receiving device suitable for the message content, over appropriate communications networks using an architecture which enables easy expansion to handle additional message traffic as well as to connect to additional communications networks, including networks which do not presently exist which may become available in the future.
2. Description of Related Art
Voice and data communications systems such as the public switched telephone network (PSTN) are currently used to transfer image and text data transmitted by facsimile (“fax”) machines in addition to the normally carried voice traffic. These faxed images are usually transmitted through the PSTN and received for printout or storage of the image on a destination fax machine or computer for the use by the recipient.
In U.S. Pat. No. 6,208,638 entitled Method and Apparatus for Transmission and Retrieval of Facsimile and Audio Messages Over a Circuit or Packet Switched Network, it is disclosed that to provide for the receipt and transmission of audio and fax information by a first user over a circuit switched network such as the public switched telephone network (PSTN) to a second user over a packet switched network such as the Internet, a communications server is connected both to the circuit switched network and a packet switched network.
The communications server contains resources receive and process incoming audio and facsimile calls from the circuit switched network into a format suitable for transmission over the packet switched network to the second user's address. In addition, a link is first determined between the second user's address on the circuit switched network and the second user's address on the packet switched network, and then an appropriate route to the second user's address on the packet network is determined. With the system being maintained in a distributed and redundant fashion, reliable receipt and transfer of all messages is ensured. A copy of the specification and drawings of U.S. Pat. No. 6,208,638 is attached hereto.
However, the architecture utilized as described in U.S. Pat. No. 6,208,638 is not easily scalable to handle increasingly higher levels of message traffic or to easily connect to networks in addition to the PSTN and the Internet.
A method and apparatus is disclosed for delivering messages that utilizes a message queue and a router/filter within a private data network. The private network is connected to an external data network such as the Internet, and has separate outbound resource servers to provide a high degree of scalability for handling a variety of message types.
The present invention provides a method and apparatus for allowing the receipt and transmission of audio, video and fax information between a circuit switched network and a packet switched network. For purposes of explanation, specific embodiments are set forth to provide a thorough understanding of the present invention. However, it will be understood by one skilled in the art, that the invention may be practiced without these details. Further, although the present invention is described through the use of circuit switched and packet switched networks, most, if not all, aspects of the invention apply to all networks in general. Moreover, well-known elements, devices, process steps and the like are not set forth in detail in order to avoid obscuring the present invention.
Referring now to
A processing server 19, which includes a message queue 21 and a router/filter 23 first verifies that the message is from or is to a customer using information in database 27. After successful verification, the message is broken into fragments (in the case of files with multiple attachments) and written to message queue 21. Router/filter 23 obtains messages from the message queue and handles least call routing/billing/prioritization/filtering of messages. Filtering is primarily for notification messages for pager delivery. After billing verification and determination of a least cost route, the message is assigned to one or more outbound resources 31 for delivery to the intended recipient by a method or methods selected by the customer as previously recorded in database 27.
In the case of faxes, the outbound resource is a server which dials the destination fax number and sends the fax.
In the case of voice messages, the outbound resource is a server which dials the destination telephone number and plays the voice message.
In the case of notification messages, the outbound resource is a server which dials out to the paging terminal or delivers the notification message through any appropriate paging gateway.
After the message (in whatever form) has been delivered, a receipt with details and an error log (if any) is sent back via a secure protocol to the message queue 21.
The receipt/error log messages are then processed by the router/filter which interfaces with a billing system (not shown) for customer account update.
a and 4b are a flow diagram of the processing performed by router/filter 23 using Tables 1-8. When a message is received it is placed into message queue 21 which is simply a storage area, the specifics of which, including the mechanism for placing the message into the queue are well known. Certain details concerning the message are also stored in a message queue table (Table 1). In step 41, router/filter, which is a computer program running on processing 19, polls the message queue table for pending requests as determined by the existence of an active message in the message status field. If no message is found, after a system defined delay, the message queue table is again polled (step 43). Once a message has been found in the table, processing continues with step 45 by determining the message type using the message_type field in Table 1 and the file type information in Table 2. The customer is then validated using information in Table 3 in step 47. In step 49, currency information for the customer is obtained from Table 4. The message is then filtered for possible pager notification using the information in Table 5 in step 51. In step 53, Table 7 is used to check for available resources to deliver the message. In step 55, the rates of available resources are checked to determine the least cost resource using Table 8. Then in step 59, the message is delivered using the determined least cost resource. After the message has been delivered, or after an error in the delivery has occurred, in step 59, a response/receipt is composed using Table 6. In step 61, the response or receipt is delivered to the sender. The system then begins the process over again at step 41.
As noted above outbound resource 31 is equivalent to communications server 550 as described in U.S. Pat. No. 6,208,638. The modifications made to outbound resource to enable it to operate in a system having an architecture as described herein are as follows.
These changes will be described with reference to the message structure of received messages.
Message Structure
Each field has a value following an ‘=’ sign and is terminated by a newline character. The exception to this is the “Message” field where a newline immediately follows the ‘=” sign and the actual age follows on the next line.
The fields of a message are as follows:
Password=
MessageID=
MessageStatus=
MessageSentTimeStamp=
MessageDuration=
MessageLength=
MessageRemoteCSID=
MessageSourceCSID=
MessageAttachStatus=
MessageDestination=
ResourceID=
ResourceStatus=
ResourceLastCommTimeStamp=
ResourceExpiryDuration=
ResourceQueueInStatus=
ResourceQueueOutStatus=
ResourceChannelMax=
ResourceChannelStatus=
MessageBoundary=
Message=
In the following explanation of the above fields, the text in brackets at the end indicates the entity providing the value for the field in the forward/reverse direction (i.e., from router/filter 23 (RF) to outbound resource 31 (RESOURCE), and from RESOURCE to RF, respectively). “NA” indicates that no value is applicable, and the text “NA” is used to populate the field. “Same” indicates that the same value is used in the reverse direction, i.e, the RESOURCE does not modify the value; it only echoes the value it receives in that field.
Password—There is a fixed password pair for each RESOURCE and RF combination. RESOURCE stores the RF password in a flat text password file in a directory (jfaxom), and RF stores the RESOURCE password in the database. (RF/RESOURCE).
MessageID—Unique ID, per message, generated by RESOURCE. (RESOURCE/Same).
MessageStatus—Code indicating current status of the message. See Status codes below. (RF/RESOURCE)
MessageSentTimeStamp—Time stamp indicating date/time the message was delivered to the final destination by RESOURCE. (NA/RESOURCE)
MessageDuration—Time (in seconds) to transmit message from RESOURCE. (NA/RESOURCE)
Messagelength—Number of pages transmitted by RESOURCE. (NA/RESOURCE)
MessageRemoteCSID—called subscriber identification (CSID) of fax machine to which message was transmitted. (NA/RESOURCE)
MessageSourceCSID—Source CSID. This may be customized per customer. (RF/Same)
MessageAttachStatus—Value of “A” indicates a message is attached for delivery. (RF/RESOURCE)
MessageDestination—Destination phone number. (RF/Same)
ResourceID—Unique ID, per resource, stored in the database. (RF/Same)
ResourceStatus—Code indicating the current status of the resource, i.e., whether it is active or not. RF uses this to determine whether further messages should be sent to RESOURCE for delivery. See Status codes below. (NA/RESOURCE)
ResourceLastCommTimeStamp—Date/time of last communication between RF and RESOURCE. (RF/RESOURCE)
ResourceExpiryDuration—Life of message (in minutes) on RESOURCE. If a message has not been delivered to the final destination by RESOURCE within this amount of time, the message is considered “expired” and is discarded.
ResourceQueueInStatus—Number of messages waiting to be processed in an Inbox directory on RESOURCE. (NA/RESOURCE)
ResourceQueueOutStatus—Number of messages waiting to be processed in an Outbox directory on RESOURCE. (NA/RESOURCE)
ResourceChannelMax—Number of channels available for use on RESOURCE. (NA/RESOURCE)
ResourceChannelStatus—Channel activity status, e.g., 0000000111000001, where 0's indicate an idle channel and 1's indicate a busy channel. (NA/RESOURCE)
MessageBoundary—Text for MIME boundary. (RF/NA)
Message—Actual MIME message sent by RF. If MessageAttachStatus=NA, no message follows this tag.
All fields are NA if not used.
Date fields are expressed in MMDDYYhhmmss format.
Resource Status Codes are:
A—Active
I—Inactive
Message Status Codes are:
P—Pending
H—On Hold
D—Deferred
R—Ready for sending to RESOURCE
X—Exchanged, i.e., sent to RESOURCE but not acknowledged by it
A—Sent to RESOURCE and acknowledged by it.
S—Sent (i.e., receipt for final delivery received from RESOURCE)
Normal sequence for Message delivery by RESOURCE is:
RF receives a request in its queue (message queue 21).
RF sends the message to RESOURCE.
RESOURCE gets message, authenticates password, and creates a new message in the Inbox directory.
RESOURCE acknowledges receipt of message.
RESOURCE processes the message in Inbox (MessageStatus=A, MessageAttachStatus=A).
RESOURCE moves message to a Process directory for further processing.
RESOURCE finishes processing message and delivers it to final destination.
RESOURCE removes the message from the Process directory.
RESOURCE creates a message in Outbox directory. (MessageStatus=S). If a “reply message” is to be delivered to the original sender, MessageAttachStatus=A, else MessageAttachStatus=NA. MessageID remains the same in either case.
RESOURCE delivers receipt (with “reply message,” if applicable) to RF.
RF receives the message and puts it in the Queue for database processing.
Processing server 19 with the above described functionality may be implemented using readily available systems such as a Windows NT server or a UNIX server. Database 27 may be implemented as a database server using readily available systems such as a Windows NT server or a UNIX server running, for example a SQL database.
What follows is a detailed description of
Communications server 550 is connected to circuit switched network 530 via a switch 540 and to WAN 580 through the use of a router 585. As described in further detail below, in an embodiment, switch 540 and router 585 are interfaced to communications server 550 using two separate hardware interfaces. In an alternate embodiment, switch 540 and router 585 can be interfaced to communications server 550 through the use of one hardware unit.
Connected to circuit switched network 530 is both a telephone unit 510 and a facsimile unit 520. Telephone unit 510 is a standard telephone capable of converting audio signals into electrical signals suitable for transmission over circuit switched network 530. Similarly, facsimile unit 520 is a standard facsimile machine capable of transmitting and receiving facsimile messages over circuit switched network 530. Each of these devices can be connected to circuit switched network 530 using either wired or wireless technology.
Connected to WAN 580 is a database server 595, a system management unit 597, a mail server 560, and a client 590. Each of these systems communicate with each other and with communications server 550 via WAN 580 using such protocols such as simple network management protocol (SNMP) and hyper-text transport protocol (HTTP)—packetized using a protocol such as the transmission control protocol/internet protocol (TCP/IP).
In an embodiment, each one of database server 595, system management unit 597, mail server 560, and client 590, are stand-alone computers or workstations containing the hardware and software resources to enable operation. In alternate embodiments, the functions provided by each one of database server 595, system management unit 597, mail server 560, and client 590, are provided by any number of computer systems.
In an embodiment, mail server 560 is a server providing e-mail receipt and transmission using a protocol such as the simple mail transfer protocol (SMTP) and post office protocol (POP). Moreover, client 590 is configured to be able to communicate over WAN 580 using SMTP or POP in order to retrieve e-mail from mail server 560 or another suitably configured server.
System management unit 597 communicates with communications server 550 to monitor: (1) the processes on communications server 550; (2) the status of the trunk line connected to communications server 550; and (3) the connection between the various servers connected to WAN 580. As described below, if any processes on communications server 550 or connection to the circuit switched network 530 is interrupted, system management unit 597 can allocate resources, or cause the re-routing of a call or message via one or more redundant resources or connections, ensuring that the call or message is routed to the final destination.
Communications server 550 contains user data needed to receive and route incoming messages received from circuit switched network 530. The same information is also stored on database server 595. In an embodiment, communications server 550 stores an inbound address, a set of final destination addresses; and an account status for each user. The inbound address corresponds to the telephone number assigned to the user. As further discussed below, the inbound address is the number that a message sender dials on telephone unit 510 or facsimile unit 520 to leave a message for the user. The set of final destination address contain one or more e-mail addresses where the user account status information indicates whether the inbound address is either active and or inactive—i.e, whether the user is able to receive messages using the system.
Database server 595 stores a duplicate copy of the inbound address, the set of final destination addresses; and the account status for each user. Database server 595 also stores additional information for each user such as mailing address and billing information which are not used in the operation of the present invention but are note herein for completeness only. Thus, the information that is stored on communications server 550 is a subset of the information that is stored on database server 595, and if communications server 550 were to become inoperable or otherwise unable to handle incoming messages, database server 595 can configure another communications server to accept those calls.
In an embodiment, system management unit 597 is responsible for monitoring the status of communications server 550 and re-assigning the users being handled by communications server 550 if communications server malfunctions or becomes overloaded with incoming calls. In the former case, system management unit 597 would re-assign all users being handled by communications server 550 to another communications server. In the latter case, system management unit 597 would only off-load the only those incoming calls for which communications server 550 does not have the available resources to process.
Bus 657 is a bus that supports time division multiplex access (TDMA) protocols to optimize the flow of real time traffic between set of fax/voice processing resources 654 and trunk interface 652.
Memory subsystem 653 is used to store information and programs needed by communications server 550. The functioning of memory subsystems in computer design are well known to those of ordinary skill in the art and thus will not be further discussed herein.
In an embodiment, trunk interface 652 is a trunk line interface, such as a T-1 or E-1 line, to switch 540 and can handle up to 24 channels of communications. Trunk line signaling is well known to those of ordinary skill in the art of telecommunication and thus will not be further discussed herein except as necessary for describing the invention.
Set of fax/voice processing resources 654 are made up of multiple fax/voice processing cards. Each of these processing cards contain processing units which are capable of receiving and transmitting facsimiles according to established protocols, and which are capable of digitizing voice or other audio data, also according to established protocols. In an embodiment, there are three fax/voice processing cards in set of fax/voice processing resources 654, each fax/voice processing card containing eight processing units capable of handling a channel from trunk interface 652. Thus, communications server 550 can communicate on twenty-four channels concurrently.
The storage of destination addresses on both circuit switched network 530 and WAN 580 is controlled by a database located either on communications server 550 or on database server 595. Keeping this information separate from communications server 550 allows communications server 550 to be a resource that can be allocated on demand. Hence, a number of communications servers could be used, along with one or more database servers, to allow a fully redundant and scalable system. In addition, system management unit 597 monitors the status and connection of all the communication and database servers.
In block 700, an incoming call signal is received by communications server 550 from switch 540. The incoming call signal is initiated by telephone unit 510 or facsimile unit 520 over circuit switched network 530 and is routed to communications server 550 via switch 540. Communications server 550 detects the incoming call signal using trunk interface 652. Operation would continue with block 702.
Continuing with block 702, trunk line interface unit 652, in addition to receiving signals to indicate that there is an incoming call from switch 540, also receives signals indicating the circuit destination address of the incoming call. The destination address is captured by trunk interface 652 and is determined by trunk line signaling using mechanisms such as direct-inward-dial, or dual tone multifrequency (DTMF) tones.
Continuing with block 704, to determine whether or not to process the incoming call, processor 651 searches the list of inbound addresses contained in memory subsystem 653 for the destination address. If processor 651 finds the destination address in the inbound address list, processor 651 will then look up the account status for the user who owns the inbound address to determine if the account of that user is a valid user account. In an alternate embodiment, the validation is performed through the use of a database maintained by a separate entity such as database server 595. If the account is found to be inactive, communications server 651 will play a prepared message indicating that the number to which the incoming message was sent is an invalid account.
In block 706, once the validity of the user account has been established, processor 651 will attempt to allocate one fax/voice processing resource from set of fax/voice processing resources 654 and also determine the availability of other resources required for the receipt and processing of the incoming call. These other resources include the processing capacity of processor 651, the storage capacity of memory subsystem 653.
If it is determined that the appropriate resources are not available, then the call will be routed to a different communications server that is capable of allocating the necessary resources. The routing of calls is accomplished by trunk line signaling via switch 540 and is managed by system management unit 597.
Also, it should be noted that the call will only come from switch 540 to communications server 550 if there are no problems with the line. Otherwise the call will get routed to a different communications server. In an embodiment, fault detection and correction happens in one of two ways. First, on the telephone network side, switch 540 can be set up to independently route a call to another line if it is determined that one of the lines is bad. Second, if communications server 550 detects that the trunk line coming into trunk interface 652 is down, communications server 550 will notify system management unit 597 to reallocate the users for whom communications server 550 is responsible onto another communications server. Thus, system management unit 597 will transfer the duplicate user information contained in database server 595 into a different communications server.
In block 708, communications server 550 “answers” the incoming call by having trunk interface 652 go “off-hook” on the trunk line.
In block 710, if the fax/voice processing resource of set of fax/voice processing resources 654 which is processing the call determines that the incoming call is a fax transmission, then operation will continue with block 712. Otherwise, operation will continue with block 714. For example, if the call is a fax, a fax protocol is initiated, and the fax is received by one of the fax/voice processing resources of set of fax/voice processing resources 654. If the call is a voice call, the voice is recorded by one of the fax/voice processing resources of set of fax/voice processing resources 654.
In block 712, the fax/voice processing resource of set fax/voice processing resources 654 responsible for processing the incoming call will perform the fax transfer and store the incoming message as a temporary file in memory subsystem 653. In an embodiment, the incoming fax is saved into a file which follows the group 3 facsimile file format. Operation will then continue with block 716.
In block 714, where it is determined that the incoming message is an audio message, the fax/voice processing resource of set of fax/voice processing resources 654 allocated to process the call will initiate an audio recording of the incoming voice message. In an embodiment, the audio message is digitized and stored in memory subsystem 653 as a temporary file in a pulse code modulated format. After the incoming call has been digitized and stored, operation will then continue with block 716.
In block 716, trunk interface 652 will terminate the call. Operation will then continue with block 718.
In block 718, the incoming message, which has been stored as a temporary file in memory subsystem 653, is processed by processor 651. In an embodiment, the temporary file is processed according to the type of the incoming call. If the incoming call was a fax transmission, then the temporary file, which has been stored as a group 3 facsimile file, will be converted into a file which follows the tagged image file format (TIFF), or a format that is suitable for transmission over WAN 580. Optionally, the temporary fax file can also be compressed at this stage. If the incoming call was an audio message, then the temporary file would be compressed using a compression scheme such as the scheme defined in the global system for mobile-communications (GSM) standard. In alternate operations, compressing and other processing of the incoming message is performed as the same time the incoming message is being received and being placed in memory subsystem 653.
In block 720, communications server 550 uses the inbound address to determine the set of final destination addresses, which are destinations on WAN 580 (i.e., the packet switched network), to send the processed incoming message. Communications server 550 then sends an electronic mail (e-mail) with the processed incoming message as an attachment to all the destinations in the set of final destination addresses.
For example, the e-mail containing the attachment is transferred to, and stored in, a server such as mail server 560, The e-mail is then retrieved by client 590 whenever the user wishes. In an alternate embodiment, client 590 can retrieve the e-mail directly from communications server 550, without the storing operation of mail server 560.
While the present invention has been particularly described with reference to the various figures, it should be understood that the figures are for illustration only and should not be taken as limiting the scope of the invention. Many changes and modifications may be made to the invention, by one having ordinary skill in the art, without departing from the spirit and scope of the invention.
This application is a continuation of U.S. continuation application Ser. No. 11/341,408, filed Jan. 26, 2006, entitled “Scalable Architecture for Transmission of Messages Over a Network”, which is a continuation of application Ser. No. 10/393,227, filed Mar. 20, 2003 (now U.S. Pat. No. 7,020,132), which is a continuation of U.S. application Ser. No. 09/097,307, filed on Jun. 12, 1998 (now U.S. Pat. No. 6,597,688).
Number | Name | Date | Kind |
---|---|---|---|
4130885 | Dennis | Dec 1978 | A |
4571699 | Herzog et al. | Feb 1986 | A |
4837798 | Cohen et al. | Jun 1989 | A |
4941170 | Herbst | Jul 1990 | A |
5018191 | Catron et al. | May 1991 | A |
5029199 | Jones et al. | Jul 1991 | A |
5047918 | Schwartz et al. | Sep 1991 | A |
5054096 | Beizer | Oct 1991 | A |
5068797 | Sansone et al. | Nov 1991 | A |
5113430 | Richardson et al. | May 1992 | A |
5115326 | Burgess et al. | May 1992 | A |
5127003 | Doll, Jr. et al. | Jun 1992 | A |
5129080 | Smith | Jul 1992 | A |
5193110 | Jones et al. | Mar 1993 | A |
5195085 | Bertsch et al. | Mar 1993 | A |
5210824 | Putz et al. | May 1993 | A |
5224156 | Fuller et al. | Jun 1993 | A |
5227893 | Ett | Jul 1993 | A |
5267047 | Argenta et al. | Nov 1993 | A |
5267301 | Nishii | Nov 1993 | A |
5289371 | Abel et al. | Feb 1994 | A |
5291302 | Gordon et al. | Mar 1994 | A |
5291546 | Giler et al. | Mar 1994 | A |
5296934 | Ohtsuki | Mar 1994 | A |
5299255 | Iwaki et al. | Mar 1994 | A |
5301226 | Olson et al. | Apr 1994 | A |
5307456 | MacKay | Apr 1994 | A |
5333266 | Boaz et al. | Jul 1994 | A |
5339156 | Ishii | Aug 1994 | A |
5351276 | Doll, Jr. et al. | Sep 1994 | A |
5371885 | Letwin | Dec 1994 | A |
5384835 | Wheeler et al. | Jan 1995 | A |
5394460 | Olson et al. | Feb 1995 | A |
5394522 | Sanchez-Frank et al. | Feb 1995 | A |
5406557 | Baudoin | Apr 1995 | A |
5438433 | Reifman et al. | Aug 1995 | A |
5448626 | Kajiya et al. | Sep 1995 | A |
5452289 | Sharma et al. | Sep 1995 | A |
5475738 | Penzias | Dec 1995 | A |
5479411 | Klein | Dec 1995 | A |
5487100 | Kane | Jan 1996 | A |
5488651 | Giler et al. | Jan 1996 | A |
5502637 | Beaulieu et al. | Mar 1996 | A |
5513126 | Harkins et al. | Apr 1996 | A |
5517556 | Pounds et al. | May 1996 | A |
5524137 | Rhee | Jun 1996 | A |
5530740 | Irribarren et al. | Jun 1996 | A |
5546388 | Lin | Aug 1996 | A |
5548789 | Nakanura | Aug 1996 | A |
5552901 | Kikuchi et al. | Sep 1996 | A |
5557659 | Hyde-Thomson | Sep 1996 | A |
5559721 | Ishii | Sep 1996 | A |
5561703 | Arledge et al. | Oct 1996 | A |
5568536 | Tiller et al. | Oct 1996 | A |
5568540 | Greco et al. | Oct 1996 | A |
5579472 | Keyworth, II et al. | Nov 1996 | A |
5590178 | Murakami et al. | Dec 1996 | A |
5604788 | Tett | Feb 1997 | A |
5608446 | Carr et al. | Mar 1997 | A |
5608786 | Gordon | Mar 1997 | A |
5608874 | Ogawa et al. | Mar 1997 | A |
5621727 | Vaudreuil | Apr 1997 | A |
5625675 | Katsumaru et al. | Apr 1997 | A |
5633916 | Goldhagen et al. | May 1997 | A |
5647002 | Brunson | Jul 1997 | A |
5654957 | Koyama | Aug 1997 | A |
5664102 | Faynberg | Sep 1997 | A |
5675507 | Bobo, II | Oct 1997 | A |
5687220 | Finnigan | Nov 1997 | A |
5689550 | Garson et al. | Nov 1997 | A |
5692039 | Brankley et al. | Nov 1997 | A |
5694458 | Okada | Dec 1997 | A |
5712901 | Meermans | Jan 1998 | A |
5712903 | Bartholomew et al. | Jan 1998 | A |
5712907 | Wegner et al. | Jan 1998 | A |
5715314 | Payne et al. | Feb 1998 | A |
5717742 | Hyde-Thomson | Feb 1998 | A |
5724410 | Parvulescu et al. | Mar 1998 | A |
5724424 | Gifford | Mar 1998 | A |
5724514 | Arias | Mar 1998 | A |
5732219 | Blumer et al. | Mar 1998 | A |
5737395 | Irribarren | Apr 1998 | A |
5737533 | de Hond | Apr 1998 | A |
5740231 | Cohn et al. | Apr 1998 | A |
5742596 | Baratz et al. | Apr 1998 | A |
5742668 | Pepe et al. | Apr 1998 | A |
5742905 | Pepe et al. | Apr 1998 | A |
5758088 | Bezaire et al. | May 1998 | A |
5761201 | Vaudreuil | Jun 1998 | A |
5761396 | Austin et al. | Jun 1998 | A |
5765033 | Miloslavsky | Jun 1998 | A |
5771354 | Crawford | Jun 1998 | A |
5805298 | Ho et al. | Sep 1998 | A |
5812639 | Bartholomew et al. | Sep 1998 | A |
5812786 | Seazholtz et al. | Sep 1998 | A |
5819092 | Ferguson et al. | Oct 1998 | A |
5825865 | Oberlander et al. | Oct 1998 | A |
5838906 | Doyle et al. | Nov 1998 | A |
5848413 | Wolff | Dec 1998 | A |
5859967 | Kaufeld et al. | Jan 1999 | A |
5870454 | Dahlen | Feb 1999 | A |
5872926 | Levac et al. | Feb 1999 | A |
5881233 | Toyoda et al. | Mar 1999 | A |
5892591 | Anglin, Jr. et al. | Apr 1999 | A |
5903723 | Beck et al. | May 1999 | A |
5907598 | Mandalia et al. | May 1999 | A |
5911776 | Guck | Jun 1999 | A |
5917615 | Reifman et al. | Jun 1999 | A |
5930493 | Ottesen et al. | Jul 1999 | A |
5933490 | White et al. | Aug 1999 | A |
5937041 | Cardillo, IV et al. | Aug 1999 | A |
5937161 | Mulligan et al. | Aug 1999 | A |
5937162 | Funk et al. | Aug 1999 | A |
5940476 | Morganstein et al. | Aug 1999 | A |
5940598 | Strauss et al. | Aug 1999 | A |
5944786 | Quinn | Aug 1999 | A |
5945989 | Freishtat et al. | Aug 1999 | A |
5946386 | Rogers et al. | Aug 1999 | A |
5958016 | Chang et al. | Sep 1999 | A |
5963618 | Porter | Oct 1999 | A |
5963892 | Tanaka et al. | Oct 1999 | A |
5970490 | Morgenstern | Oct 1999 | A |
5978813 | Foltz et al. | Nov 1999 | A |
5987504 | Toga | Nov 1999 | A |
5987508 | Agraharam et al. | Nov 1999 | A |
5991292 | Focsaneanu et al. | Nov 1999 | A |
5996006 | Speicher | Nov 1999 | A |
5999525 | Krishnaswamy et al. | Dec 1999 | A |
5999594 | Mizoguchi et al. | Dec 1999 | A |
5999965 | Kelly | Dec 1999 | A |
6009469 | Mattaway et al. | Dec 1999 | A |
6014668 | Tabata et al. | Jan 2000 | A |
6020980 | Freeman | Feb 2000 | A |
6023700 | Owens et al. | Feb 2000 | A |
6025931 | Bloomfield | Feb 2000 | A |
6052367 | Bowater et al. | Apr 2000 | A |
6061448 | Smith et al. | May 2000 | A |
6064653 | Farris | May 2000 | A |
6072862 | Srinivasan | Jun 2000 | A |
6073165 | Narasimhan et al. | Jun 2000 | A |
6084892 | Benash et al. | Jul 2000 | A |
6085101 | Jain et al. | Jul 2000 | A |
6097797 | Oseto | Aug 2000 | A |
6108329 | Oyama et al. | Aug 2000 | A |
6157706 | Rachelson | Dec 2000 | A |
6181781 | Porter et al. | Jan 2001 | B1 |
6185603 | Henderson et al. | Feb 2001 | B1 |
6208638 | Rieley et al. | Mar 2001 | B1 |
6211972 | Okutomi et al. | Apr 2001 | B1 |
6212550 | Segur | Apr 2001 | B1 |
6215858 | Bartholomew et al. | Apr 2001 | B1 |
6216173 | Jones et al. | Apr 2001 | B1 |
6240445 | Kumar et al. | May 2001 | B1 |
6246983 | Zou et al. | Jun 2001 | B1 |
6256115 | Adler et al. | Jul 2001 | B1 |
6259533 | Toyoda et al. | Jul 2001 | B1 |
6263064 | O'Neal et al. | Jul 2001 | B1 |
6278532 | Heimendinger et al. | Aug 2001 | B1 |
6282270 | Porter | Aug 2001 | B1 |
6288799 | Sekiguchi | Sep 2001 | B1 |
6295552 | Shibata | Sep 2001 | B1 |
6301245 | Luzeski et al. | Oct 2001 | B1 |
6314425 | Serbinis et al. | Nov 2001 | B1 |
6330070 | Toyoda et al. | Dec 2001 | B1 |
6330079 | Dugan et al. | Dec 2001 | B1 |
6334142 | Newton et al. | Dec 2001 | B1 |
6339591 | Migimatsu | Jan 2002 | B1 |
6341160 | Tverskoy et al. | Jan 2002 | B2 |
6350066 | Bobo, II | Feb 2002 | B1 |
6356356 | Miller, Jr. et al. | Mar 2002 | B1 |
6359881 | Gerszberg et al. | Mar 2002 | B1 |
6404513 | Denker | Jun 2002 | B1 |
6417930 | Mori | Jul 2002 | B2 |
6430272 | Maruyama et al. | Aug 2002 | B1 |
6510438 | Hasegawa | Jan 2003 | B2 |
6564321 | Bobo, II | May 2003 | B2 |
6597688 | Narasimhan et al. | Jul 2003 | B2 |
6643034 | Gordon et al. | Nov 2003 | B1 |
6742022 | King et al. | May 2004 | B1 |
6775264 | Kurganov | Aug 2004 | B1 |
6948070 | Ginter et al. | Sep 2005 | B1 |
6985576 | Huck | Jan 2006 | B1 |
7020132 | Narasimhan et al. | Mar 2006 | B1 |
7769001 | Narasimhan et al. | Aug 2010 | B2 |
20010014910 | Bobo, II | Aug 2001 | A1 |
20020064149 | Elliott et al. | May 2002 | A1 |
Number | Date | Country |
---|---|---|
755321 | Dec 2002 | AU |
0554456 | Aug 1993 | EP |
0615368 | Sep 1994 | EP |
0760503 | Mar 1997 | EP |
0835021 | Apr 1998 | EP |
0760503 | Aug 2001 | EP |
2024561 | Jan 1980 | GB |
2157117 | Oct 1985 | GB |
6164645 | Jun 1994 | JP |
WO-9406230 | Mar 1994 | WO |
WO-9501040 | Jan 1995 | WO |
WO-9506386 | Mar 1995 | WO |
WO-9520288 | Jul 1995 | WO |
WO-9634341 | Oct 1996 | WO |
WO-9641463 | Dec 1996 | WO |
WO-9709682 | Mar 1997 | WO |
WO-9710668 | Mar 1997 | WO |
WO-9723082 | Jun 1997 | WO |
WO-9823058 | May 1998 | WO |
Number | Date | Country | |
---|---|---|---|
Parent | 11341408 | Jan 2006 | US |
Child | 12825031 | US | |
Parent | 10393227 | Mar 2003 | US |
Child | 11341408 | US | |
Parent | 09097307 | Jun 1998 | US |
Child | 10393227 | US |