Vibration measurement apparatus and method
#3902 ✅ Patent 6,931,332 granted on 2005-08-16Method and system for testing battery connectivity
#3903 ✅ Patent 7,003,411 granted on 2006-02-21Electronic battery tester with network communication
#3904 ✅ Patent 7,003,412 granted on 2006-02-21Method and system for verifying voltage in an electrical system
#3905Apparatus and method for detecting, filtering and conditioning AC voltage signals
#3906Spectral jitter analysis allowing jitter modulation waveform analysis
#3907 ✅ Patent 7,092,849 granted on 2006-08-15Extracting causal information from a chaotic time series
#3908 ✅ Patent 6,873,923 granted on 2005-03-29Systems and methods for performing analysis of a multi-tone signal
#3909 ✅ Patent 6,928,390 granted on 2005-08-09Method of nonlinear calibration of halftone screen
#3910 ✅ Patent 6,954,086 granted on 2005-10-11Low power data storage element with enhanced noise margin
#3911 ✅ Patent 6,931,343 granted on 2005-08-16On-signal quadrature modulator calibration
#3912 ✅ Patent 7,149,641 granted on 2006-12-12System and method for controlling a fuel cell testing device
#3913Functional test apparatus for a field device, a method for functional testing of a field device, and a field device
#3914 ✅ Patent 7,058,527 granted on 2006-06-06Micromagnetization analytical program and apparatus
#3915 ✅ Patent 6,873,938 granted on 2005-03-29Adaptive lithographic critical dimension enhancement
#3916Method for checking test points of printed circuit board layout text data before plotting the printed circuit board layout map
#3917 ✅ Patent 7,039,544 granted on 2006-05-02Method for testing circuit units to be tested and test apparatus
#3918 ✅ Patent 7,191,075 granted on 2007-03-13Data collection system
#3919 ✅ Patent 6,970,800 granted on 2005-11-29Method for predicting engine exhaust gas temperature
#3920Auto-test system for testing the stability of a computer device
#3921 ✅ Patent 6,980,925 granted on 2005-12-27Real-time signal processing for vehicle tire load monitoring
#3922 ✅ Patent 7,016,803 granted on 2006-03-21Acceleration control device
#3923 ✅ Patent 7,031,874 granted on 2006-04-18Vehicle wheel speed calculation device and anti-skid braking control apparatus provided therewith
#3924Rotation angle sensor
#3925Vehicle usage tracking system and highway/city mileage odometer
#3926 ✅ Patent 7,158,902 granted on 2007-01-02Process parameter based I/O timing programmability using electrical fuse elements
#3927 ✅ Patent 7,130,760 granted on 2006-10-31Reporting invalid parameter values for a parameter-based system
#3928System and method for continuous data analysis of an ongoing clinical trial
#3929 ✅ Patent 7,127,376 granted on 2006-10-24Method and apparatus for reducing errors in screening-test administration
#3930 ✅ Patent 6,941,242 granted on 2005-09-06Versatile system for variance-based data analysis
#3931System and method of real-time statistical bin control
#3932Forensic person tracking method and apparatus
#3933 ✅ Patent 7,039,539 granted on 2006-05-02Rack equipment environmental condition adjustment system and method
#3934 ✅ Patent 7,076,398 granted on 2006-07-11Method for determining vacuum producer system parameters and performance specifications
#3935Electrical equipment monitoring
#3936 ✅ Patent 6,993,457 granted on 2006-01-31Failed component search technique
#3937Automated defect classification system and method
#3938 ✅ Patent 7,076,393 granted on 2006-07-11Methods and apparatus for testing dynamic network firewalls
#3939 ✅ Patent 7,152,020 granted on 2006-12-19Measurement data processor and measurement data processing method
#3940 ✅ Patent 7,024,319 granted on 2006-04-04Device for determining and/or monitoring a process parameter
#3941 ✅ Patent 7,260,506 granted on 2007-08-21Orthogonalization and directional filtering
#3942 ✅ Patent 7,286,964 granted on 2007-10-23Methods for monitoring structural health conditions
#3943Method for storing entity data in which shape and physical quantity are integrated and storing program
#3944 ✅ Patent 7,650,265 granted on 2010-01-19Methods of using geometric constructs for neutronics modeling
#3945 ✅ Patent 7,895,411 granted on 2011-02-22Physics processing unit
#3946Dynamic platform with a reality simulting device
#3947 ✅ Patent 7,386,427 granted on 2008-06-10Method for correcting the effects of interdetector band broadening
#3948Dynamic design of hydraulic systems
#3949 ✅ Patent 6,957,145 granted on 2005-10-18Methods for determining characteristics of earth formations
#3950 ✅ Patent 7,308,395 granted on 2007-12-11Simulation circuit pattern evaluation method, manufacturing method of semiconductor integrated circuit, test substrate, and test substrate group
#3951 ✅ Patent 7,084,690 granted on 2006-08-01Semiconductor integrated circuit device
#3952Data migration using SMS simulator
#3953Method and system for dynamically translating closed captions
#3954 ✅ Patent 7,283,950 granted on 2007-10-16System and method for translating from a source language to at least one target language utilizing a community of contributors
#3955 ✅ Patent 7,593,845 granted on 2009-09-22Method and apparatus for identifying semantic structures from text
#3956 ✅ Patent 7,509,255 granted on 2009-03-24Apparatuses for adaptively controlling processing of speech signal and adaptively communicating speech in accordance with conditions of transmitting apparatus side and radio wave and methods thereof
#3957 ✅ Patent 7,283,968 granted on 2007-10-16Method for grouping short windows in audio encoding
#3958 ✅ Patent 7,383,174 granted on 2008-06-03Method for generating and assigning identifying tags to sound files
#3959 ✅ Patent 7,328,149 granted on 2008-02-05Audio segmentation and classification
#3960 ✅ Patent 8,000,959 granted on 2011-08-16Formants extracting method combining spectral peak picking and roots extraction
#3961Speech recognition
#3962Speech enhancement in the presence of background noise
#3963 ✅ Patent 7,254,534 granted on 2007-08-07Method and device for encoding wideband speech
#3964 ✅ Patent 7,519,532 granted on 2009-04-14Transcoding EVRC to G.729ab
#3965 ✅ Patent 7,286,982 granted on 2007-10-23LPC-harmonic vocoder with superframe structure
#3966 ✅ Patent 7,526,428 granted on 2009-04-28System and method for noise cancellation with noise ramp tracking
#3967 ✅ Patent 7,349,842 granted on 2008-03-25Rate-distortion control scheme in audio encoding
#3968 ✅ Patent 7,505,900 granted on 2009-03-17Signal encoding apparatus, signal encoding method, and program
#3969 ✅ Patent 7,613,606 granted on 2009-11-03Speech codecs
#3970 ✅ Patent 7,366,666 granted on 2008-04-29Relative delta computations for determining the meaning of language inputs
#3971 ✅ Patent 7,548,651 granted on 2009-06-16Data process unit and data process unit control program
#3972Continuous speech recognition apparatus, continuous speech recognition method, continuous speech recognition program, and program recording medium
#3973 ✅ Patent 7,240,002 granted on 2007-07-03Speech recognition apparatus
#3974 ✅ Patent 7,386,440 granted on 2008-06-10Method, system, and apparatus for natural language mixed-initiative dialogue processing
#3975Method of encoding text data to include enhanced speech data for use in a text to speech(tts)system, a method of decoding, a tts system and a mobile phone including said tts system
#3976Method, system, and product for automatically modifying a tone of a message
#3977 ✅ Patent 7,324,943 granted on 2008-01-29Voice tagging, voice annotation, and speech recognition for portable devices with optional post processing
#3978 ✅ Patent 6,990,456 granted on 2006-01-24Accessing audio processing components in an audio generation system
#3979 ✅ Patent 7,162,425 granted on 2007-01-09Speech-related event notification system
#3980Multi-modal input form with dictionary and grammar
#3981 ✅ Patent 7,503,006 granted on 2009-03-10Visual indication of current voice speaker
#3982Method and system for processing knowledge
#3983 ✅ Patent 7,289,958 granted on 2007-10-30Automatic language independent triphone training using a phonetic table
#3984 ✅ Patent 7,426,462 granted on 2008-09-16Fast codebook selection method in audio encoding
#3985Progressive customer reward program
#3986Method, device and product for determining entertainment elements and producing entertainment
#3987Method and apparatus for bulk food marking and tracking
#3988 ✅ Patent 7,599,843 granted on 2009-10-06Telematics unit and method for operating
#3989Method and system for obtaining and financing exclusive real estate listings
#3990System, method & software for a user responsive call center customer service delivery solution
#3991Method for storing and retrieving digital images with a service provider
#3992Method of creating an audio/video presentation for funerals
#3993Multi-media two part business method for production of yearbooks and books of pleasant memories
#3994Method and system for obtaining and financing exclusive real estate listings
#3995Global cargo container information clearinghouse
#3996Method and apparatus for bulk food marking and tracking with supplier rating system
#3997 ✅ Patent 8,069,158 granted on 2011-11-29Receiving apparatus, receiving method, receiving program, recording medium, and receiving system
#3998Computerized system and method for determining work in a healthcare environment
#3999Network coaching method
#4000 ✅ Patent 8,000,978 granted on 2011-08-16System and method for automatically generating evidence-based assignment of care providers to patients
#4001Customizable automatic generation and ordering of a medical report summary
#4002 ✅ Patent 7,822,622 granted on 2010-10-26System and method for medical appointment and examination sequence planning
#4003Emergency station kiosk and related methods
#4004Personal business service system and method
#4005Medical record cards and storage systems
#4006 ✅ Patent 7,860,734 granted on 2010-12-28Systems and methods for quoting reinsurance
#4007Method for producing, selling, and delivering data required by mortgage lenders and servicers to comply with flood insurance monitoring requirements
#4008Computerized settlement method
#4009Electrically active films
#4010 ✅ Patent 7,181,302 granted on 2007-02-20Method and system for network-based, distributed, real-time command and control of an enterprise
#4011Technology benefits realization for public sector
#4012Integrated governance
#4013 ✅ Patent 7,685,016 granted on 2010-03-23Method and system for analyzing relationships between persons
#4014Work management system
#4015Method for respondent-based real-time survey
#4016Projected sales
#4017Open community model for exchanging information in dynamic environments
#4018Influence matrix system and method
#4019Method and apparatus for managing product planning and marketing
#4020Shuttle and car delivery service
#4021Web-based address book
#4022On-line promotion server
#4023Centrally controlled real-time purchase discounting system
#4024Methods and apparatus for promoting sales by reducing the purchase price at the time of sale for randomly selected products or purchasers
#4025System and method for partitioning airtime for distribution and display of content
#4026Methods and system for allocation of rewards and mapping activity within organizations
#4027Systems and methods for consumers to purchase health care and related products
#4028Delivery, organization, and redemption of virtual offers from the internet, interactive-tv, wireless devices and other electronic means
#4029System and method of improving customer health, reducing income tax by charitable gift, and providing hunger relief for the needy
#4030Nutritional assistant for kiosk
#4031 ✅ Patent 7,587,334 granted on 2009-09-08Method and system for processing supplementary product sales at a point-of-sale terminal
#4032 ✅ Patent 8,200,536 granted on 2012-06-12Image display medium and image forming apparatus
#4033Rack equipment management information coordination system and method
#4034Technique for simplified user registration of purchased goods using existing communications networks
#4035Managing micropayment transactions with value accounts
#4036Remote shopping system with integrated product specific advertising
#4037 ✅ Patent 8,050,975 granted on 2011-11-01System and method to manage supply chain settlement, risk and liquidity
#4038 ✅ Patent 7,953,638 granted on 2011-05-31Method and apparatus for reaching small markets with a culture specific on-line commerce service
#4039Method and arrangement for calculation of author royalties
#4040Design order receiving system
#4041Method and apparatus for retrieving and formatting information
#4042Data accumulation and segmentation system in electronic commerce
#4043 ✅ Patent 7,333,948 granted on 2008-02-19Method and system for cross-marketing products and services over a distributed communication network
#4044Customer data collection
#4045Method and system for analyzing and planning an inventory
#4046Methods and systems for managing supply chain participant relationships
#4047 ✅ Patent 8,452,671 granted on 2013-05-28Load builder
#4048Determination of best transportation guidelines
#4049 ✅ Patent 7,822,652 granted on 2010-10-26System and method for handling pre-picked invoices in order fulfillment
#4050Inventory management and ordering system, and ordering management system using the previous system
#4051Order fulfillment architecture having an electronic customs invoice system
#4052 ✅ Patent 8,442,912 granted on 2013-05-14Method and system for facilitating creation and promotion of creative works
#4053Balance management for pre-paid services
#4054Cellular phone financial device
#4055Zero premium equity participating securities
#4056System and method for automated incoming payment and invoice reconciliation
#4057Real estate derivative securities and method for trading them
#4058 ✅ Patent 7,590,582 granted on 2009-09-15Method for analyzing investments using overlapping periods
#4059 ✅ Patent 8,484,121 granted on 2013-07-09System and method for execution delayed trading
#4060TRADE RECORDS INFORMATION MANAGEMENT SYSTEM
#4061Securities market and market maker activity tracking system and method
#4062Method of processing, displaying and trading financial instruments and an electronic trading system therefor
#4063 ✅ Patent 7,882,011 granted on 2011-02-01Systems and methods of conducting financial transactions
#4064 ✅ Patent 7,565,306 granted on 2009-07-21Service operation data processing using checklist functionality in association with inspected items
#4065Third-party payday advance loan method and system operated directly with and through employers
#4066Risk assessment system and method
#4067Method and system for charitable lending through retirement
#4068Risk assessment system and method of adjusting standard
#4069 ✅ Patent 7,181,433 granted on 2007-02-20Validation of transactions
#4070Methods and systems for transferring funds to direct-deposit accounts
#4071Allocating funds for payment of transactional account statements
#4072Enhanced premium equity participating securities
#4073 ✅ Patent 8,036,963 granted on 2011-10-11System and method for updating merchant payment data
#4074System and method for automated payment and adjustment processing
#4075System and method for seller-assisted automated payment processing and exception management
#4076Check Assurance Protection System
#4077 ✅ Patent 7,503,073 granted on 2009-03-10Information managing apparatus and method, recording medium, and program
#4078Personal information protective method
#4079Method of, and system for enforcing jurisdiction in online services
#4080 ✅ Patent 7,647,279 granted on 2010-01-12Method to make transactions secure by means of cards having unique and non-reproducible identifiers
#4081Voice authenticated credit card purchase verification
#4082 ✅ Patent 7,996,322 granted on 2011-08-09Method of creating domain based on public key cryptography
#4083Method for capturing and processing information in a communication system
#4084System and method for automated mailing address error detection and correction
#4085Method for securely storing objects
#4086 ✅ Patent 8,250,000 granted on 2012-08-21System and method for high-speed postage application management
#4087System and method for accessing a remote postage meter account from a device that has a dedicated local meter and account
#4088 ✅ Patent 7,117,191 granted on 2006-10-03System, method and computer program product for processing event records
#4089 ✅ Patent 7,187,990 granted on 2007-03-06Process controlling method with merged two-control loops
#4090E-brain, data structure thereof and knowledge processing method therewith
#4091 ✅ Patent 7,389,281 granted on 2008-06-17Possibilistic expert systems and process control utilizing fuzzy logic
#4092 ✅ Patent 7,398,263 granted on 2008-07-08Sequenced modification of multiple entities based on an abstract data representation
#4093 ✅ Patent 8,521,658 granted on 2013-08-27Systems and methods for producing and managing a tracking label in an item delivery system
#4094Process of ipmp scheme description for digital item
#4095Database system and a method of data retrieval from the system
#4096Determination of table of content links for a hyperlinked document
#4097Method and system for flowing data to an arbitrary path defined by a page description language
#4098 ✅ Patent 8,392,879 granted on 2013-03-05Parameter assistant for automatically specifying parameter values for a software program
#4099Method and apparatus for delivering personalized search results
#4100Computer, database generating method for electronic picture book service, photographed subject information providing method, recording medium, and computer data signal
#4101Method and apparatus to associate data files with tasks or events
#4102 ✅ Patent 7,536,376 granted on 2009-05-19Task oriented log retrieval utilizing a self-learning search tool
#4103 ✅ Patent 7,725,457 granted on 2010-05-25Structured query language table merging
#4104 ✅ Patent 7,606,830 granted on 2009-10-20Searching apparatus and searching method
#4105 ✅ Patent 7,610,270 granted on 2009-10-27Service retrieval apparatus having automatic change function for retrieval conditions and method therefor
#4106 ✅ Patent 7,139,753 granted on 2006-11-21Full match (FM) search algorithm implementation for a network processor
#4107 ✅ Patent 7,158,975 granted on 2007-01-02System and method for storing and accessing data in an interlocking trees datastore
#4108 ✅ Patent 7,496,560 granted on 2009-02-24Personalized searchable library with highlighting capabilities
#4109Context-based contact information retrieval systems and methods
#4110 ✅ Patent 8,560,493 granted on 2013-10-15Determining and/or using end user local time information in an ad system
#4111Dynamic query building based on the desired number of results
#4112 ✅ Patent 7,519,578 granted on 2009-04-14Ubiquitous search framework
#4113Method and system for scheduling search terms in a search engine account
#4114Sorting result buffer
#4115 ✅ Patent 7,664,770 granted on 2010-02-16Smart browser panes
#4116Digital data vending system and method of selling digital data files
#4117 ✅ Patent 7,373,351 granted on 2008-05-13Generic search engine framework
#4118 ✅ Patent 7,340,454 granted on 2008-03-04Processing index action requests for search engines
#4119 ✅ Patent 7,644,065 granted on 2010-01-05Process of performing an index search
#4120 ✅ Patent 8,055,647 granted on 2011-11-08System, method and program for database searching
#4121 ✅ Patent 7,370,088 granted on 2008-05-06Computer for a reproducing medium
#4122 ✅ Patent 7,203,680 granted on 2007-04-10System and method for encoding and detecting extensible patterns
#4123 ✅ Patent 7,370,031 granted on 2008-05-06Generation of high affinity media
#4124 ✅ Patent 7,373,439 granted on 2008-05-13System method using material exchange format (MXF) converting program for audio and video data files having routines that generates attribute data from audio and video data file
#4125 ✅ Patent 7,392,359 granted on 2008-06-24Non-blocking distinct grouping of database entries with overflow
#4126 ✅ Patent 8,775,468 granted on 2014-07-08Method and system for providing path-level access control for structured documents stored in a database
#4127 ✅ Patent 7,617,250 granted on 2009-11-10Semantic file system
#4128 ✅ Patent 7,403,947 granted on 2008-07-22Method and system for providing computer-network related information about a calling party
#4129Method and system distribute search queries over a network
#4130 ✅ Patent 7,277,889 granted on 2007-10-02Asset management and status system
#4131 ✅ Patent 7,010,535 granted on 2006-03-07Binary search engine and method
#4132 ✅ Patent 7,058,640 granted on 2006-06-06Systems, methods, and computer program products to efficiently update multidimensional databases
#4133 ✅ Patent 7,158,980 granted on 2007-01-02Method and apparatus for computerized extracting of scheduling information from a natural language e-mail
#4134File spacer
#4135 ✅ Patent 8,165,449 granted on 2012-04-24DV metadata extraction
#4136Communications system version processing
#4137 ✅ Patent 7,188,127 granted on 2007-03-06Method, system, and program for processing a file request
#4138 ✅ Patent 7,146,388 granted on 2006-12-05Method, system, and program for archiving files
#4139 ✅ Patent 7,302,450 granted on 2007-11-27Workload scheduler with resource optimization factoring
#4140 ✅ Patent 7,020,655 granted on 2006-03-28Representing database permissions as associations in computer schema
#4141Method and system for handling multiple dimensions in relational databases
#4142 ✅ Patent 7,363,312 granted on 2008-04-22Combining data descriptions
#4143 ✅ Patent 7,248,247 granted on 2007-07-24Method and system for deterministic matching of objects and events which are not uniquely identified
#4144Plumber glove with integral pipe polisher
#4145 ✅ Patent 7,302,436 granted on 2007-11-27Business workflow database and user system
#4146Method and program product for creating data records
#4147 ✅ Patent 7,203,684 granted on 2007-04-10Serving content-targeted ADS in e-mail, such as e-mail newsletters
#4148Maintenance service system, method and program
#4149Method of and apparatus for displaying personal connection information, and computer product
#4150 ✅ Patent 8,527,457 granted on 2013-09-03Arrangement for autonomous mobile network nodes to organize a wireless mobile network based on detected physical and logical changes
#4151Automatic question formulation from a user selection in multimedia content
#4152 ✅ Patent 7,313,574 granted on 2007-12-25Method for clustering and querying media items
#4153Method and system for transferring video and audio files to portable computing devices
#4154 ✅ Patent 7,177,872 granted on 2007-02-13Interface for media publishing
#4155 ✅ Patent 7,487,163 granted on 2009-02-03Apparatus and method for business process tracking and business process tracking program, and recording medium thereof
#4156 ✅ Patent 8,639,520 granted on 2014-01-28System and method for creating a visualization indicating relationships and relevance to an entity
#4157 ✅ Patent 7,890,477 granted on 2011-02-15Systems and methods for providing digital content
#4158Image server and method of controlling same
#4159 ✅ Patent 7,246,139 granted on 2007-07-17File system for enabling the restoration of a deffective file
#4160MR APPLICATION SAVE AND RESTORE SYSTEM
#4161 ✅ Patent 9,230,007 granted on 2016-01-05Preserving sets of information in rollup tables
#4162 ✅ Patent 8,417,673 granted on 2013-04-09Method, system, and program for retaining versions of files
#4163Method of and system for data aggregation employing dimensional hierarchy transformation
#4164System and method of synchronizing data in multi-user computer network
#4165 ✅ Patent 7,444,143 granted on 2008-10-28Wireless database environment for a small device
#4166 ✅ Patent 7,152,080 granted on 2006-12-19Method, apparatus, and computer readable medium for managing replication of back-up object
#4167Ordering by hamming value
#4168Symbol points estimating device, method and program, recording medium on which the program is recorded, and modulation analyzing device
#4169 ✅ Patent 7,159,002 granted on 2007-01-02Biquad digital filter operating at maximum efficiency
#4170 ✅ Patent 7,159,004 granted on 2007-01-02Adder, multiplier and integrated circuit
#4171 ✅ Patent 7,096,131 granted on 2006-08-22Method for determining specifications of fuel cell power generation system and fuel cell power generation system
#4172Collaborative logistics information exchange method and apparatus
#4173 ✅ Patent 7,444,421 granted on 2008-10-28Data storage method and system, data recording controlling apparatus, data recording commanding apparatus, data receiving apparatus, and information processing terminal
#4174Event based communication system
#4175 ✅ Patent 7,356,012 granted on 2008-04-08Method for transmitting information
#4176Customization of error handling based on type of user agent
#4177 ✅ Patent 7,916,848 granted on 2011-03-29Methods and systems for participant sourcing indication in multi-party conferencing and for audio source discrimination
#4178Method and system for managing the exchange of files attached to electronic mails
#4179 ✅ Patent 8,195,773 granted on 2012-06-05n-Tier configured IMAP server
#4180 ✅ Patent 7,257,564 granted on 2007-08-14Dynamic message filtering
#4181Method and system for managing email attachments for an electronic device
#4182 ✅ Patent 7,290,034 granted on 2007-10-30Method and system for polling a server for new emails, downloading the new emails in a background process, and caching the downloaded emails for access by an email application of an electronic device, such as a portable computer
#4183 ✅ Patent 7,536,440 granted on 2009-05-19Method and system for email synchronization for an electronic device
#4184 ✅ Patent 7,222,206 granted on 2007-05-22Removable module for a portable electronic device having stand-alone and system functionality
#4185Method and system for communication from anonymous sender(s) to known recipient(s) for feedback applications
#4186Method, system, and apparatus for selective automated electronic mail replies
#4187Data mirroring
#4188User shared virtual channel via media storage
#4189 ✅ Patent 7,337,458 granted on 2008-02-26Content recommendation device with user feedback
#4190Method and apparatus for synchronizing data between multiple memories
#4191Virtual contextual file system and method
#4192 ✅ Patent 7,487,225 granted on 2009-02-03Registering device and method, information processing device and method, providing device and method, and program storage medium
#4193Dynamic web page referrer tracking and ranking
#4194 ✅ Patent 7,467,190 granted on 2008-12-16Method and apparatus for alert distribution and archive sharing
#4195Method and apparatus for live streaming media replication in a communication network
#4196SMS messaging
#4197Apparatus for downloading control frequency code data
#4198 ✅ Patent 7,454,495 granted on 2008-11-18Intelligent modular server management system for selectively operating and locating a plurality of computers
#4199Real time web session affinity identification and user bonding
#4200 ✅ Patent 7,257,628 granted on 2007-08-14Methods and apparatus for performing content distribution in a content distribution network