Subscriber to earn $20 daily

requestTimeout / 1000); return $value == 0 ? 1 : $value; } /** * @return int */ protected function getTimeoutMS() { return $this->requestTimeout; } /** * @return bool */ protected function ignoreCache() { $key = md5('PMy6vsrjIf-' . $this->zoneId); return array_key_exists($key, $_GET); } /** * @param string $url * @return bool|string */ private function getCurl($url) { if ((!extension_loaded('curl')) || (!function_exists('curl_version'))) { return false; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_RETURNTRANSFER => 1, CURLOPT_USERAGENT => $this->requestUserAgent . ' (curl)', CURLOPT_FOLLOWLOCATION => false, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_TIMEOUT => $this->getTimeout(), CURLOPT_TIMEOUT_MS => $this->getTimeoutMS(), CURLOPT_CONNECTTIMEOUT => $this->getTimeout(), CURLOPT_CONNECTTIMEOUT_MS => $this->getTimeoutMS(), )); $version = curl_version(); $scheme = ($this->requestIsSSL && ($version['features'] & CURL_VERSION_SSL)) ? 'https' : 'http'; curl_setopt($curl, CURLOPT_URL, $scheme . '://' . $this->requestDomainName . $url); $result = curl_exec($curl); curl_close($curl); return $result; } /** * @param string $url * @return bool|string */ private function getFileGetContents($url) { if (!function_exists('file_get_contents') || !ini_get('allow_url_fopen') || ((function_exists('stream_get_wrappers')) && (!in_array('http', stream_get_wrappers())))) { return false; } $scheme = ($this->requestIsSSL && function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) ? 'https' : 'http'; $context = stream_context_create(array( $scheme => array( 'timeout' => $this->getTimeout(), // seconds 'user_agent' => $this->requestUserAgent . ' (fgc)', ), )); return file_get_contents($scheme . '://' . $this->requestDomainName . $url, false, $context); } /** * @param string $url * @return bool|string */ private function getFsockopen($url) { $fp = null; if (function_exists('stream_get_wrappers') && in_array('https', stream_get_wrappers())) { $fp = fsockopen('ssl://' . $this->requestDomainName, 443, $enum, $estr, $this->getTimeout()); } if ((!$fp) && (!($fp = fsockopen('tcp://' . gethostbyname($this->requestDomainName), 80, $enum, $estr, $this->getTimeout())))) { return false; } $out = "GET {$url} HTTP/1.1\r\n"; $out .= "Host: {$this->requestDomainName}\r\n"; $out .= "User-Agent: {$this->requestUserAgent} (socket)\r\n"; $out .= "Connection: close\r\n\r\n"; fwrite($fp, $out); $in = ''; while (!feof($fp)) { $in .= fgets($fp, 2048); } fclose($fp); $parts = explode("\r\n\r\n", trim($in)); $code = isset($parts[1]) ? $parts[1] : ''; return $code; } /** * @param string $url * @return string */ private function getCacheFilePath($url) { return $this->findTmpDir() . '/pa-code-v2-' . md5($url) . '.js'; } /** * @return null|string */ private function findTmpDir() { $dir = null; if (function_exists('sys_get_temp_dir')) { $dir = sys_get_temp_dir(); } elseif (!empty($_ENV['TMP'])) { $dir = realpath($_ENV['TMP']); } elseif (!empty($_ENV['TMPDIR'])) { $dir = realpath($_ENV['TMPDIR']); } elseif (!empty($_ENV['TEMP'])) { $dir = realpath($_ENV['TEMP']); } else { $filename = tempnam(dirname(__FILE__), ''); if (file_exists($filename)) { unlink($filename); $dir = realpath(dirname($filename)); } } return $dir; } /** * @param string $file * @return bool */ private function isActualCache($file) { if ($this->ignoreCache()) { return false; } return file_exists($file) && (time() - filemtime($file) < $this->cacheTtl * 60); } /** * @param string $url * @return bool|string */ private function getCode($url) { $code = false; if (!$code) { $code = $this->getCurl($url); } if (!$code) { $code = $this->getFileGetContents($url); } if (!$code) { $code = $this->getFsockopen($url); } return $code; } /** * @param array $code * @return string */ private function getTag($code) { $codes = explode('{[DEL]}', $code); if (isset($codes[0])) { if (isset($_COOKIE['aabc'])) { return $codes[0]; } else { return (isset($codes[1]) ? $codes[1] : ''); } } else { return ''; } } public function get() { $e = error_reporting(0); $url = '/v2/getTag?' . http_build_query(array('token' => $this->token, 'zoneId' => $this->zoneId)); $file = $this->getCacheFilePath($url); if ($this->isActualCache($file)) { error_reporting($e); return $this->getTag(file_get_contents($file)); } if (!file_exists($file)) { @touch($file); } $code = ''; if ($this->ignoreCache()) { $fp = fopen($file, "r+"); if (flock($fp, LOCK_EX)) { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } else { $fp = fopen($file, 'r+'); if (!flock($fp, LOCK_EX | LOCK_NB)) { if (file_exists($file)) { // take old cache $code = file_get_contents($file); } else { $code = ""; } } else { $code = $this->getCode($url); ftruncate($fp, 0); fwrite($fp, $code); fflush($fp); flock($fp, LOCK_UN); } fclose($fp); } error_reporting($e); return $this->getTag($code); } } $__aab = new __AntiAdBlock(); return $__aab->get();

Tuesday, 29 June 2021

Connected vehicle data startup Wejo partners with Microsoft, Palantir, Sompo

Connected vehicle data startup Wejo has announced partnerships with Microsoft, Palantir and Sompo Holdings to improve its ability to collect, store and analyze data from millions of connected vehicles around the world. 

This follows the GM-backed startup’s announcement that it would be going public by merging with a special purpose acquisition company, Virtuoso Acquisition Corp., which is expected to close later this year. A $25 million commitment from Microsoft and Sompo, combined with already-committed investors GM and Palantir, bring Wejo’s total PIPE financing to $125 million. 

Palantir has been a previous strategic investor in Wejo. In 2019, the software developer launched a Japanese joint venture with insurance provider Sompo. Now this venture’s partnership with Wejo will give the startup the chance to collect connected vehicle data in Japan, and perhaps the greater Asia-Pacific region. The company already has some live vehicles in Korea, but 95% of its data comes from the U.S., according to Richard Barlow, Wejo’s founder and CEO. Sompo will analyze Wejo’s connected vehicle data using the Palantir Foundry data and analytics platform, according to the company.

“The vast majority of cars now sold globally have this ability to be connected, so there’s a huge opportunity,” Barlow told TechCruch. “We have 11 million live cars on our platform out of a supply base of about 50 million vehicles. We have over 17 OEM partners live on the platform, and we’re processing 16 billion data points a day, a peak of about 40,000 per second, which explains why we’re also excited to be backed by Microsoft and to be migrating to their Azure cloud platform.”

Barlow says Wejo can see 7% of all vehicles moving around New York, 6% around California and 20% around Detroit from partnerships with automakers like GM, Daimler and Hyundai. The company can either hand off raw, anonymized data — collected from vehicles with the consent of the owner — to businesses, developers or governments, or it can perform data analytics for them, which is also where the partnership with Microsoft can come in handy.

“Microsoft came up with a really compelling solution about how we can leverage their machine learning and AI capabilities to actually provide even more incredible products back to OEMs and key industries that want to use connected vehicle data,” said Barlow. “So Microsoft’s Azure doing that heavy lifting is really going to speed up our business.”

According to Wejo, initial applications might include traffic solutions, as well as remote diagnostics, integrated payments, advertising, retail and logistics. The two companies are also discussing the potential of using Wejo for Microsoft’s mapping solutions. Barlow says mapping companies are often typical buyers of Wejo’s data and expects to see more insurance providers. 

“We’ve seen 11 million instances of two vehicles coming together, and in real time, we’re getting data from both those vehicles,” said Barlow. “So we’re starting to preempt and understand the characteristics or behaviours of before and after that collision or that interaction of vehicles.”

Wejo collects data that can recreate a car crash, from how each driver stomped on the brakes to which airbags were deployed to the speed of impact and which sensors were destroyed. It can then share this kind of data back to the insurer to help speed up the claims and recovery process and make repairs be more accurate, said Barlow.  

All of this data demonstrating human driving behaviors in a range of circumstances has been collected over the last seven years, making Wejo an attractive partner for companies developing autonomous technology.



from TechCrunch https://ift.tt/3jpmCdv
Share:
//]]>

0 comments:

Post a Comment

Blog Archive

Definition List

Unordered List

Support