text:
|By PR Newswire
Article Rating:
|March 26, 2014 01:00 AM EDT
DUBLIN, March 26, 2014 /PRNewswire/ --
Research and Markets (http://www.researchandmarkets.com/research/2348cc/it_market_in) has announced the addition of the "Concise Analysis of the IT Market in Thailand" report to their offering.
(Logo: http://photos.prnewswire.com/prnh/20130307/600769 )
Currently, more than 30 percent of the population is using the internet in Thailand. There are approximately 7 million internet users. When it comes to social media, companies in Thailand have been adopting it at a very fast rate. Companies use social media to promote their products or services online, and to reach a wide number of audiences.
They also use social networking sites such as Twitter and Facebook as an advertising platform to test their latest products, services, and solutions and to receive feedback from the public. In addition, companies are using social networking sites and search engines to identify people with potential talent and experience and to carry out background checks. This will give an insight into the candidates' personalities and their past and present activities.
According to the report, one of the major factors is the increase in computer sales. There has been an increase in the sales of computing devices in the Retail and the Corporate sectors. Organizations as well as individuals these days are increasingly deploying smart devices such as laptops and tablets, thus boosting the IT market in the country.
Further, the report states that one of the key challenges is the delay in the implementation of broadband and new technologies. With the expected technological changes, vendors need to increase their investments in training customers. Increased investment in training increases the overall cost of developing newer technology, thereby reducing vendors' profit margins.
The report also includes a discussion of the other vendors operating in this market. The other vendors in the market are A I System Co. Ltd., Accounting and System Analysis Co. Ltd., Arcadia Soft Co. Ltd., Blue D Zine Co. Ltd., DevService, Cube of Nine Co. Ltd., Enterprise Computing Services Co. Ltd., i-App Creation Co. Ltd., Longkong Studio Co. Ltd., Magic Software Corp. Ltd., Manoa Software, Mobile Technology for Thailand, SoftControl, and Triple IT Services Co. Ltd.
The study was conducted using an objective combination of primary and secondary information including inputs from key participants in the industry. The report contains a comprehensive market and vendor landscape in addition to a SWOT analysis of the key vendors.
Key Topics Covered:
1. Executive Summary
2. List of Abbreviations
3. Introduction
4. Market Research Methodology
5. Scope of the Report
6. Market Landscape
7. End-user Segmentation
8. Market by Category Segmentation
9. IT Hardware Market in Thailand
10. IT Services Market in Thailand
11. IT Software Market in Thailand
12. City-wise Segmentation
13. Vendor Landscape
14. Buying Criteria
15. Market Growth Drivers
16. Drivers and their Impact
17. Market Challenges
18. Impact of Drivers and Challenges
19. Market Trends
20. Key Vendor Analysis
21. Other Reports in this series
Companies Mentioned:
- A I System Co. Ltd
- Accounting and System Analysis Co. Ltd.
- Acer Inc.
- Advanced Information Technology Public Co. Ltd.
- Arcadia Soft Company Ltd.
- Blue D zine Co.
- Cube of Nine Co.
- DevService
- Enterprise Computing Services Co.
- Hewlett-Packard Co.
- IBM Corp.
- Longkong Studio Co. Ltd.
- Magic Software Corp.
- Manoa Software
- Mobile Technology for Thailand
- SoftControl
- Triple IT Services Co.
- i-App Creation Co.
For more information visit http://www.researchandmarkets.com/research/2348cc/it_market_in
Media Contact: Laura Wood , +353-1-481-1716, email@example.com
SOURCE Research and Markets
When it comes to IoT in the enterprise, namely the commercial building and hospitality markets, a benefit not getting the attention it deserves is energy efficiency, and IoT's direct impact on a cleaner, greener environment when installed in smart buildings. Until now clean technology was offered piecemeal and led with point solutions that require significant systems integration to orchestrate and deploy. There didn't exist a 'top down' approach that can manage and monitor the way a Smart Building actually breathes - immediately flagging overheating in a closet or over cooling in unoccupied ho...
Oct. 5, 2015 11:45 PM EDT Reads: 178
In his session at @ThingsExpo, Tony Shan, Chief Architect at CTS, will explore the synergy of Big Data and IoT. First he will take a closer look at the Internet of Things and Big Data individually, in terms of what, which, why, where, when, who, how and how much. Then he will explore the relationship between IoT and Big Data. Specifically, he will drill down to how the 4Vs aspects intersect with IoT: Volume, Variety, Velocity and Value. In turn, Tony will analyze how the key components of IoT influence Big Data: Device, Connectivity, Context, and Intelligence. He will dive deep to the matrix...
Oct. 5, 2015 11:00 PM EDT Reads: 214
SYS-CON Events announced today that IBM Cloud Data Services has been named "Bronze Sponsor" of SYS-CON's 17th Cloud Expo, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. IBM Cloud Data Services offers a portfolio of integrated, best-of-breed cloud data services for developers focused on mobile computing and analytics use cases.
Oct. 5, 2015 11:00 PM EDT Reads: 601
The enterprise is being consumerized, and the consumer is being enterprised. Moore's Law does not matter anymore, the future belongs to business virtualization powered by invisible service architecture, powered by hyperscale and hyperconvergence, and facilitated by vertical streaming and horizontal scaling and consolidation. Both buyers and sellers want instant results, and from paperwork to paperless to mindless is the ultimate goal for any seamless transaction. The sweetest sweet spot in innovation is automation. The most painful pain point for any business is the mismatch between supplies a...
Oct. 5, 2015 03:30 PM EDT Reads: 115
Mobile messaging has been a popular communication channel for more than 20 years. Finnish engineer Matti Makkonen invented the idea for SMS (Short Message Service) in 1984, making his vision a reality on December 3, 1992 by sending the first message ("Happy Christmas") from a PC to a cell phone. Since then, the technology has evolved immensely, from both a technology standpoint, and in our everyday uses for it. Originally used for person-to-person (P2P) communication, i.e., Sally sends a text message to Betty – mobile messaging now offers tremendous value to businesses for customer and empl...
Oct. 5, 2015 01:15 PM EDT Reads: 157
SYS-CON Events announced today that ProfitBricks, the provider of painless cloud infrastructure, will exhibit at SYS-CON's 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. ProfitBricks is the IaaS provider that offers a painless cloud experience for all IT users, with no learning curve. ProfitBricks boasts flexible cloud servers and networking, an integrated Data Center Designer tool for visual control over the cloud and the best price/performance value available. ProfitBricks was named one of the coolest Clo...
Oct. 5, 2015 01:00 PM EDT Reads: 719
"The Internet of Things transforms the way organizations leverage machine data and gain insights from it," noted Splunk's CTO Snehal Antani, as Splunk announced accelerated momentum in Industrial Data and the IoT. The trend is driven by Splunk's continued investment in its products and partner ecosystem as well as the creativity of customers and the flexibility to deploy Splunk IoT solutions as software, cloud services or in a hybrid environment. Customers are using Splunk® solutions to collect and correlate data from control systems, sensors, mobile devices and IT systems for a variety of Ind...
Oct. 5, 2015 12:00 PM EDT Reads: 572
Organizations already struggle with the simple collection of data resulting from the proliferation of IoT, lacking the right infrastructure to manage it. They can't only rely on the cloud to collect and utilize this data because many applications still require dedicated infrastructure for security, redundancy, performance, etc. In his session at 17th Cloud Expo, Emil Sayegh, CEO of Codero Hosting, will discuss how in order to resolve the inherent issues, companies need to combine dedicated and cloud solutions through hybrid hosting – a sustainable solution for the data required to manage I...
Oct. 5, 2015 12:00 PM EDT Reads: 415
You have your devices and your data, but what about the rest of your Internet of Things story? Two popular classes of technologies that nicely handle the Big Data analytics for Internet of Things are Apache Hadoop and NoSQL. Hadoop is designed for parallelizing analytical work across many servers and is ideal for the massive data volumes you create with IoT devices. NoSQL databases such as Apache HBase are ideal for storing and retrieving IoT data as "time series data."
Oct. 5, 2015 11:45 AM EDT Reads: 444
Clearly the way forward is to move to cloud be it bare metal, VMs or containers. One aspect of the current public clouds that is slowing this cloud migration is cloud lock-in. Every cloud vendor is trying to make it very difficult to move out once a customer has chosen their cloud. In his session at 17th Cloud Expo, Naveen Nimmu, CEO of Clouber, Inc., will advocate that making the inter-cloud migration as simple as changing airlines would help the entire industry to quickly adopt the cloud without worrying about any lock-in fears. In fact by having standard APIs for IaaS would help PaaS expl...
Oct. 5, 2015 11:30 AM EDT Reads: 430
As more and more data is generated from a variety of connected devices, the need to get insights from this data and predict future behavior and trends is increasingly essential for businesses. Real-time stream processing is needed in a variety of different industries such as Manufacturing, Oil and Gas, Automobile, Finance, Online Retail, Smart Grids, and Healthcare. Azure Stream Analytics is a fully managed distributed stream computation service that provides low latency, scalable processing of streaming data in the cloud with an enterprise grade SLA. It features built-in integration with Azur...
Oct. 5, 2015 10:00 AM EDT Reads: 726
Apps and devices shouldn't stop working when there's limited or no network connectivity. Learn how to bring data stored in a cloud database to the edge of the network (and back again) whenever an Internet connection is available. In his session at 17th Cloud Expo, Bradley Holt, Developer Advocate at IBM Cloud Data Services, will demonstrate techniques for replicating cloud databases with devices in order to build offline-first mobile or Internet of Things (IoT) apps that can provide a better, faster user experience, both offline and online. The focus of this talk will be on IBM Cloudant, Apa...
Oct. 5, 2015 09:45 AM EDT Reads: 435
SYS-CON Events announced today that HPM Networks will exhibit at the 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. For 20 years, HPM Networks has been integrating technology solutions that solve complex business challenges. HPM Networks has designed solutions for both SMB and enterprise customers throughout the San Francisco Bay Area.
Oct. 5, 2015 09:00 AM EDT Reads: 562
As enterprises capture more and more data of all types – structured, semi-structured, and unstructured – data discovery requirements for business intelligence (BI), Big Data, and predictive analytics initiatives grow more complex. A company's ability to become data-driven and compete on analytics depends on the speed with which it can provision their analytics applications with all relevant information. The task of finding data has traditionally resided with IT, but now organizations increasingly turn towards data source discovery tools to find the right data, in context, for business users, d...
Oct. 5, 2015 08:00 AM EDT Reads: 376
SYS-CON Events announced today that MobiDev, a software development company, will exhibit at the 17th International Cloud Expo®, which will take place November 3-5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. MobiDev is a software development company with representative offices in Atlanta (US), Sheffield (UK) and Würzburg (Germany); and development centers in Ukraine. Since 2009 it has grown from a small group of passionate engineers and business managers to a full-scale mobile software company with over 150 developers, designers, quality assurance engineers, project manage...
Oct. 5, 2015 05:00 AM EDT Reads: 722
The broad selection of hardware, the rapid evolution of operating systems and the time-to-market for mobile apps has been so rapid that new challenges for developers and engineers arise every day. Security, testing, hosting, and other metrics have to be considered through the process. In his session at Big Data Expo, Walter Maguire, Chief Field Technologist, HP Big Data Group, at Hewlett-Packard, will discuss the challenges faced by developers and a composite Big Data applications builder, focusing on how to help solve the problems that developers are continuously battling.
Oct. 5, 2015 04:00 AM EDT Reads: 400
Learn how IoT, cloud, social networks and last but not least, humans, can be integrated into a seamless integration of cooperative organisms both cybernetic and biological. This has been enabled by recent advances in IoT device capabilities, messaging frameworks, presence and collaboration services, where devices can share information and make independent and human assisted decisions based upon social status from other entities. In his session at @ThingsExpo, Michael Heydt, founder of Seamless Thingies, will discuss and demonstrate how devices and humans can be integrated from a simple clust...
Oct. 4, 2015 12:00 PM EDT Reads: 621
SYS-CON Events announced today that Cloud Raxak has been named "Media & Session Sponsor" of SYS-CON's 17th Cloud Expo, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Raxak Protect automates security compliance across private and public clouds. Using the SaaS tool or managed service, developers can deploy cloud apps quickly, cost-effectively, and without error.
Oct. 3, 2015 01:15 PM EDT Reads: 581
Who are you? How do you introduce yourself? Do you use a name, or do you greet a friend by the last four digits of his social security number? Assuming you don't, why are we content to associate our identity with 10 random digits assigned by our phone company? Identity is an issue that affects everyone, but as individuals we don't spend a lot of time thinking about it. In his session at @ThingsExpo, Ben Klang, Founder & President of Mojo Lingo, will discuss the impact of technology on identity. Should we federate, or not? How should identity be secured? Who owns the identity? How is identity ...
Oct. 3, 2015 11:00 AM EDT Reads: 415
SYS-CON Events announced today that Solgeniakhela will exhibit at SYS-CON's 17th International Cloud Expo®, which will take place on November 3–5, 2015, at the Santa Clara Convention Center in Santa Clara, CA. Solgeniakhela is the global market leader in Cloud Collaboration and Cloud Infrastructure software solutions. Designed to "Bridge the Gap" between Personal and Professional Social, Mobile and Cloud user experiences, our solutions help large and medium-sized organizations dramatically improve productivity, reduce collaboration costs, and increase the overall enterprise value by bringing ...
Oct. 2, 2015 10:00 PM EDT Reads: 549


text:
Top Definition
When a guy accidently (or intentionally) pisses inside a girl during sex.
Just before he passed out, Sean did a copper kettle during drunk sex with his girlfriend.
by Biggie_mpl December 21, 2004
Type your email address below to get our free Urban Word of the Day every morning!
Emails are sent from email@example.com. We'll never spam you.×

subset: commoncrawl


text:
Why the U.S. Owns the Rise of Islamic State and the Syria Disaster
Climate Change Tipping Points and the Question of Civilizational Survival
VIDEO: Trevor Noah on Ben Carson's Genius Plans to Deal With Mass Shootings
What Is Russia's Strategy in Syria and Why Does Egypt Approve?
Kevin McCarthy Takes Himself Out of the Running for House Speaker
By Oliver Sacks $26.95
In an essay published in The Guardian after the U.S. Supreme Court's same-sex marriage decision, Chelsea Manning traced the arc of progress on the issue of LGBT rights, starting from the moment California's controversial Proposition 8 was passed in 2008 to Friday's stunning SCOTUS victory.
Photo by Yosoynuts (CC-BY-ND)
The Stonewall riots of 1969 have been mythologized almost beyond recognition, writes LGBTQ historian Michael Bronski. But it's safe to say, "something extraordinary happened."
Elvert Barnes (CC BY-SA 2.0)
Why take a look at the history of gay rights in the context of the climate struggle? Because the hardest part of the Keystone pipeline fight has been figuring out what to do about the Democrats.
AP / Louis Lanzano
New York's action last week signifies more than just one more state added to the list of those permitting same-sex marriage.
Flickr / David CC-BY-NC-ND
Among the many landmarks of the turbulent decade of the 1960s, few have achieved the fame and symbolic resonance of events that began as a fairly routine example of police harassment on a hot June night in 1969.
In commemoration of the 40th anniversary of the Stonewall uprising in June 1969, the Obama administration has proclaimed June to be national LGBT Pride Month. Now how about gays in the military?
Bush lackey Scott Jennings gives Sen. Pat Leahy the broken-record treatment, which has become so familiar. Witness Leahy's frustration break as Jennings refuses even to describe his duties: "Let's not be too contemptuous of this committee. ... You work at the White House. You're paid for by taxpayers. You work for the American people. I'm just asking you what kind of work you do."
View the most popular tags overall?
View all tags?
Posted on Oct 8, 2015
A Progressive Journal of News and Opinion
Publisher Zuade Kaufman | Editor Robert Scheer
About Us | Contact Us | Advertise on Truthdig | User Agreement | Privacy Policy | Comment Policy
© 2015 Truthdig, LLC. All rights reserved.
Website development by Hop Studios


text:
Coming up in the next {{countdown}} {{countdownlbl}}
Coming up next:
Skip to this video now
Now Playing:
Play Video
This transcript has been automatically generated and may not be 100% accurate.
NSA Leaker Edward Snowden Not on Cuba Flight But 'In a Safe Place'
U.S. officials fear foreign intelligence could steal Snowden's secrets.
Edward Snowden: I'm No Chinese Spy
After claiming U.K. spies on summit leaders, Snowden says U.S. can't stop him.
Now Playing: Oregon College Shooting: More Details Emerge on Gunman
Now Playing: How This Family Became Millionaires Through Vlogging
Now Playing: Dogs Compete in California Surf Competition
Now Playing: Multiple Casualties Reported in Oregon Community College Shooting
Now Playing: How This Pastor Wants to Make Going to Church Cool
Now Playing: The Mystery Woman Behind Donald Trump
Now Playing: Meet Police Offers Trained to Respond to Mental Illness Calls
Now Playing: Why 'The Walk' Star Joseph Gordon-Levitt Is 'Uncomfortable' With Fame
Now Playing: Inside a Peru Hotel Suspended on the Edge of a Cliff
Now Playing: On a Mental Health Call With Trained Texas Police Officers
Now Playing: Oklahoma Man Fights Death Sentence Day Before Execution Date
Now Playing: Meet the Smokejumpers: Wildfire Fighters Who Jump Out of Planes
Now Playing: Inside Amy Robach's Fight For Her Life Against Cancer
Now Playing: The Shocking Dangers of High School Football
Now Playing: How 'Quantico' Star Priyanka Chopra Dealt With Race Issues
Now Playing: NASA Reveals Traces of Water Found on Mars
Now Playing: Inside the Infamous O.J. Simpson White Bronco Chase
Now Playing: What O.J. Simpson Said in Rarely Seen Deposition Tapes
Now Playing: How This Man and His Man Bun Became a Social Media Celebrity
Now Playing: {{itm.title}}


text:
Resolution: standard / high
Figure 4.
Aerobic SMX biodegradation patterns of pure cultures in R2A-UV media. A) measured with UV-AM, initial SMX concentration 10 mg L-1. B) LC-UV analyses of SMX concentrations within the nine pure cultures in R2A-UV media performed at experimental startup, after 4 and 10 days to verify the results of UV-AM. Asterisks indicate measured values below limit of detection. Shown are mean SMX absorbance values of duplicate experiments. Standard deviations were too low to be shown (<1%).
Herzog et al. BMC Microbiology 2013 13:276 doi:10.1186/1471-2180-13-276


text:
|Reviews for Better Than Me
| Guest chapter 1 . 2/19/2014
that almost made me crt. good job. :,)
| deadinside chapter 1 . 7/10/2012
omfg i love you so much! i love that you used one of my favorite hinder songs you must continue this story please for the sake of my sanity!XD
| hiiroduoyui chapter 1 . 6/4/2008
It's a good story! I can't wait to read more of your stuff!
| mad half hour chapter 1 . 12/8/2007
...You made Tohma pretty much OOC. It's extremely doubtful the man would grow to like Shuichi enough that he'd choose to protect him over Eiri-sama. One of the most interesting things about Tohma is that he's willing to become completely unreasonable when it comes to Yuki. He'd sooner go after Shuichi for causing Yuki the heartbreak he's experiencing, or go to Yuki and tell him he doesn't need Shuichi, or etc. Tohma has nothing more than a paper-thin level of polite respect for Shuichi, and whenever that gets pulled down, it's very obvious Tohma can't really stand him.
| EmmaLee65 chapter 1 . 8/1/2007
I just wanted to let you know that this is one of my FAVORITE stories on this website. I've read it over and over again and finally decided to review for it. "Better Than Me" is a great song and I think it goes really good with the idea of the story. Keep up the good work. Maybe I can hope to see more song fictions from you in the near future?
| EmoVampireNinjaPimp chapter 1 . 7/18/2007
I thought it was wonderful! Thanks for posting it! *chu* W
| Azn and Amazing chapter 1 . 7/10/2007
OMG! its a good thing theres a happy ending.i was cring in the middle od like the second paragraph and trust me i NEVER cry! i was crying all the way through the story after that! OMG loved it!
| GravitationYaoi chapter 1 . 5/31/2007
omg! that was awesome . i loved the ending!
| BlackEyedWicca chapter 1 . 4/28/2007
OMG...that was so beautiful and sad...i loved it *tear* absolutly amazing. The song fit perfectly...wow just so wonderful. Completely enjoyed it!
| allofthelights chapter 1 . 4/22/2007
this was a really good story but it made me sad too not only because of what happened in the story...
but this really happened to me...with this song my boyfriend thought i deserved better and hes my ex now but he really thinks that i still deserve better and he thinks that i never should of been with him.
Sorry you probably didn't want to hear that but it happened and you should really keep on writing too
| Pombella4 chapter 1 . 4/10/2007
Wow. And Tohma was actually agreeable. So OOC. But I love happy endings especially when it comes to Eiri & Shuichi!
| decaying soul chapter 1 . 4/10/2007
hey, it's me...the story is great! i was a little skeptial at first cause of yuki, writing that note...but i loved it! i did see one error when shu is talking to 'eiri' he says 'live' insted of life. ttyl yet another of your stories on my faves list.
| RKQS12 chapter 1 . 4/9/2007
Aw. I likey. But to me Yuki will forever be Yuki. Anyways, :D


text:
Justin Bieber Reveals Facts About Himself in 'Top 10' Countdown (Video)
We particularly loved the little turn of the head and smile he gave after delivering #7 on the list: "As hard as I've tried, I don't know how to not be adorable."
#5 had a great sight gag as well. After Bieber said, "I'm not really a big fan of Kevin James," the camera cut to James in the green room and he did a great sad sack expression.
Other highlights on the list included Bieber revealing he was Green Lantern, though Letterman was Larry King and at the top of the list: "It's a hairpiece."
See more at AOL TV.
- Filed under:
- Music News -
- Videos -
- Justin Bieber -
- AOL Television
- Thursday 23 JuneBy KTLowest Rank Vote downVote upReport this
- Thursday 23 JuneBy susieLow Ranked Vote downVote upReport this
Justin Beiber was adorable on Letterman!
We Love You Justin!!
Keep being adorable!!
- Thursday 23 JuneBy pyhoopLow Ranked Vote downVote upReport this
be quiet your just mad because your not talented
- Thursday 23 JuneBy bubbaHighest Rank Vote downVote upReport this
Just in. Justin Beavers can read.
- Thursday 23 JuneBy Robin
Not a big fan, I'm a bit older but I thought the Top 10 idea was adorable and funny.. WTG
- Thursday 23 JuneBy LMEDELLINHigh Rank Vote downVote upReport this
Okay I am not a fan of Justin, but him and the Top 10 were good.
- Thursday 23 JuneBy themeeker
He left out the most obvious one: the little beeber girl is gay.
Take that bleebers. I weep for this country if this pansy's fans are our future.
- Thursday 23 JuneBy ZZZ999jsz
Saying you don't know how to NOT be adorable is
My God, I cannot wait til he fades away.
Greediest kid on the planet.
MORE ABOUT Justin Bieber
Find the latest stories, biography, photos, videos, and more.Read more about Justin Bieber Li
Jennifer Aniston
Is it Brad(ley) and Jen take 2? Jen was spotted out on the town with dreamboat ...
Paris Hilton
After Fairly Legal actress, Sarah Shahi, laid into Paris via Twitter for almost...
Kate Middleton
Kate Middleton is officially a princess. She walked the aisle in an Alexander...
Denise Richards
According to Denise, she's not sure that her estranged ex is completely sober....
Popeater Hot Topics
- 'Real Housewife' star Jill Zarin in car accident
- French Ministry hosts dwarf fashion show
- Filming begins in Dubai for new movie 'Star Trek Beyond'
- Playful and Sexy! Steal Lauren Conrad's Style
- Jill Zarin Tweets Following Crash That Knocked Her Unconscious
- Caitlyn Jenner: 'I'm Forced to Wear Makeup Every Day'
Sites We Love
- 'Real Housewife' star Jill Zarin in car accident
- French Ministry hosts dwarf fashion show
- More From Foxnews.com
- 'Arrow'; 'The 100'; 'American Idol'; more TV recaps
- 'The Americans'; 'Empire'; 'Top Chef'; 'Broad City'; more TV recaps
- More From EW.com
- 'Doctor Who': The Doctor Straight Up Ghosts In 'Under The Lake'
- Liam And Chris Hemsworth In Matching Suits Is Everything We Need (And More)
- More From MTV


text:
|Número de publicación
|Tipo de publicación
|Número de solicitud
|Fecha de publicación
|9 Oct 2008
|Fecha de presentación
|3 Abr 2007
|Fecha de prioridad
|3 Abr 2007
|También publicado como
|Número de publicación
|Suman K. Nath, Yanif Ahmad
|Cesionario original
|Microsoft Corporation
|Exportar cita
|BiBTeX, EndNote, RefMan
|Citada por (16), Clasificaciones (4), Eventos legales (2)
|Enlaces externos: USPTO, Cesión de USPTO, Espacenet
This application is related to concurrently filed U.S. patent application Ser. No. 11/673,448, filed Feb. 2, 2007, which is incorporated herein by reference.
ver the past several years, there has been a proliferation of sensor network deployments into our environments. Sensors in such networks capture data pertaining to weather, traffic, parking, security, real-time views, and many other data items and conditions.
The sensor data portal model has been designed to expose the data for search and querying by a general audience. Sensor data web portals enable browsing of disparate collections of sensor networks. Such portals function as a rendezvous point for sensor network administrators to publish their data, and through which a large base of users may pose individual queries to the sensor network. Thus, the sensor data web portal provides a platform with which users can interact and visualize content being generated by autonomous sensor networks.
However, sensor data web portals commonly experience time delays due to the continuously changing nature of sensor readings and unavailability of data. Therefore, there remains a need to improve the way sensor data is collected and presented to users via a web portal.
This summary is provided to introduce simplified concepts relating to spatial and temporal searches, and these concepts are further described below in the detailed description. This summary is not intended to identify essential features of the claimed subject matter, nor is it intended for use in determining the scope of the claimed subject matter.
Techniques for collecting and displaying sensor data captured by a spatially and temporally representative sample of sensors requested in a search query are described. The sensors are represented in an index structure (e.g., a data tree). The index structure includes a plurality of leaf nodes and internal nodes. The leaf nodes are nodes directly associated with sensors and do not have any nodes dependent therefrom. The internal nodes have one or more leaf nodes and/or internal nodes dependent therefrom. The internal nodes are allotted with caches having cache slots for storing sensor data with various expiry times.
The search query includes a selected spatial region from which the sensor data can be collected and an expiry time of the sensor data. In response to the search query, the index structure is leveraged to identify a set of nodes associated with sensors corresponding to the user selected spatial region. Sensor data having an expiry time greater than a user specified expiry time is then collected from one or more cache slots of the set of nodes. In this manner, the number of sensors to be probed to collect the sensor data is reduced, thereby reducing latency involved with polling a large number of sensors and making the search process more efficient.
The detailed description is described with reference to the accompanying figures. In the figures, the left most digit(s) of a reference number identifies the figure in which the reference number first appears. The same numbers are used throughout the drawings to reference like features and components.
This disclosure is directed to techniques for conducting a spatial and temporal search for sensor data using a sensor data web portal. The portal provides users with continuous access to sensor readings obtained from various sensors spread throughout disparate sensor networks. Users specify certain spatial regions from which they wish to receive sensor readings, and a summarization of the sensor readings satisfying these conditions is produced and returned, rather than values from individual sensors. In one implementation, a user query can include specified expiry times for the sensor readings. The summarization may be performed in many ways, including by simple aggregates such as an average value over groups of sensors in the query region having data that expires after the specified expiry time, a maximum value, a minimum value, or sum of the values.
Generally, query processing in the sensor portal involves two high-level components: (1) a portal web service to facilitate query processing and (2) a backend database to maintain sensor metadata and provide core search functionality. In this architecture, data is not maintained in any persistent archive, but is instead collected in an on-demand fashion during query processing. First, a portal service translates any queries issued by clients into a sequence of declarative queries. The first query asks the backend database to determine a set of relevant sensors. The database processes the queries by inspecting the sensor locations it maintains. Upon receipt of a list of sensors, the database first checks cache slots to ascertain whether there is any recent and current sensor data that can be returned to satisfy the query. The recent and current data include sensor data having an expiry time greater than a user defined expiry time. If fresh data in the cache slots is not sufficient to answer the query, the web service polls the sensors for updated readings and issues a second query to the database to insert new readings into the cache slots maintained in the backend. The web service then queries the database for all relevant readings from the cache slots and presents the results to the user. Moreover, the backend database may routinely poll sensors as data in the cache slots become stale. This polling may occur responsive to a search query or as part of a separate process. The polling is thus conducted in a manner transparent to the user, as the user merely submits a query and receives results from the web portal.
One challenge for the data portal is to provide effective caching of the sensor data and timely processing of user queries using a data collection mechanism that efficiently caches and retrieves readings from the sensor networks, with large numbers of sensors and large volumes of queries present in the system. The techniques described herein address this challenge by facilitating caching of the sensor data at each layer of the index structure. The sensor data is stored in different cache slots depending at least in part upon an expiry time associated with the sensor data. The sensor data in a cache slot at a layer can be obtained by aggregating the sensor data in one or more corresponding cache slots dependent therefrom. The caching and aggregation of sensor data leverages the index structure to optimize the frequency of collection of sensor readings from the sensor networks and the usage of cached sensor data. Thus, the number of sensors to be probed for collecting sensor readings and the latency involved with polling a large number of sensors is reduced, thereby making the process more efficient.
The techniques described herein may be used in many different operating environments and systems. Multiple and varied implementations are described below. An exemplary environment that is suitable for practicing various implementations is discussed in the following section.
Exemplary systems and methodologies for obtaining the sensor data from various sensors through the sensor data web portal are described in the general context of computer-executable instructions (program modules) being executed by a computing device such as a personal computer. Program modules generally include routines, programs, objects, components, data structures, etc., that perform particular tasks or implement particular abstract data types. While the systems and methods are described in the foregoing contexts, acts and operations described hereinafter is implemented in hardware or other forms of computing platforms.
Exemplary Environment
The server 102 may be implemented in many ways including, for example, as a stand alone general purpose computing device or mainframe, or as a cluster of servers (e.g., arranged in a server farm). The client devices 104 may be implemented in any number of ways including, for example, as general purpose computing devices, laptops, mobile computing devices, PDAs, communication devices, GPS-equipped devices, and/or so on. The network 106 may include, but is not limited to, a Local Area Network (LAN), a Wide Area Network (WAN), and a Metropolitan Area Network (MAN). Further, the network 106 is representative of a wireless network, a wired network, or a combination thereof. The remote storage device 108 may be implemented in any number of ways, including as a remote database server or as an accessible networked storage device, such as a RAID system or the like.
The server 102 includes one or more processor(s) 110 coupled to a system memory 112. The processor(s) 110 may include, for example, microprocessors, microcomputers, microcontrollers, multi-core processors, and so forth. The processor(s) 110 are configured to fetch and execute computer-program instructions stored in the system memory 112. The system memory 112 includes computer-readable media in the form of volatile memory, such as Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash RAM.
The server 102 hosts a web portal 114 that facilitates user access to sensor data obtained from the various sensors. The web portal 114 provides a user interface (UI) that may be rendered on the client devices 104 to support submission of user queries for the sensor data and presentation of results. One example UI 116 is illustrated as a browser-rendered graphical UI titled "SensorMap" on the client device 104-1. The UI 116 allows users to specify spatial regions and a particular expiry time to identify a collection of sensors from which they wish to receive readings expiring after the particular expiry time. The sensors may be of any type including, for example, temperature sensors, video cameras, humidity sensors, wind sensors, traffic sensors, parking sensors, security sensors, and so on. In
Upon receiving a query submitted by the client device 104, the server 102 analyzes and translates the query into a sequence of declarative queries that may be used to identify a set of sensors that can contribute to the sensor data requested by the user. The server 102 implements a query processing module 120, which is stored in the system memory 112 and executed by the processor(s) 110. To aid in identifying the appropriate set of sensors to respond to the user's query, the query processing module 120 discovers attributes of the set of sensors. The attributes may include, for example, sensor location in terms of latitude and longitude, type of sensor, schemas for sensor readings, expiry times of sensor readings, and so on.
In one implementation, information regarding the expiry time of sensor data collected by the sensors may be stored in a database 122, which is illustrated as being stored in the remote storage device 108 (although it may be stored in other locations, such as within the system memory 112). In such an implementation, the query processing module 120 may compare the specified expiry time of the sensor data required by the user with the information in the database 122 to identify the set of sensors.
In another implementation, the query processing module 120 ascertains various sensor attributes from the database 122. The database 122 stores an index of the sensors, and the index maintains metadata describing the attributes of the sensors and cached sensor readings. The server 102 has an indexing module 124 stored in the system memory 112 and executable on the processor(s) 110 to create such index structures. In one implementation, the index is structured as a data tree having plural nodes arranged in layers. The plural nodes include leaf nodes coupled with the sensors to collect and store sensor readings and their respective expiry times. The plural nodes also include non-leaf nodes or internal nodes that have caches for caching the sensor data. The caches have multiple cache slots for storing sensor data having different expiry time and cache slots analogous to each other in various layers have similar expiry time. The sensor data cached in a cache slot at a non-leaf node at a layer may be obtained by aggregating corresponding sensor data stored at a preceding layer. The corresponding sensor data can be sensor data stored in corresponding cache slots of internal nodes and/or sensor data stored with leaf nodes at the preceding layer.
More particularly, the tree may be configured as a Collection R-Tree (or "COLR-Tree"), which is a spatial index built according to the techniques described herein, but loosely based on a classic R-Tree structure. One example technique of creating a COLR-Tree structure is described below in more detail with reference to
Once the set of sensors are identified, the query processing module 120 determines whether the sensor data stored in the cache slots of the nodes associated with the set of sensors satisfies the user's query. The sensor data may be presented to the user if found to be satisfactory. Alternatively, if the sensor data is found to be unsatisfactory, the appropriate sensors are polled and updated readings are inserted into the database. The aggregated updated readings may then be retrieved from the database and presented to the client devices 104 using the UI 116. To illustrate this architecture 100, consider the following example. Suppose a user at the client device 104-1 wants to know a recent temperature at a specific geographic location. The user submits a query for the recent temperature at the target location along with a time constraint, such as a specified expiry time for the recent temperature, using the UI 116 rendered on the client device 104-1. In response to the query, the recent temperature at the target location can be determined using temperature readings stored in the database 122 as explained below. The time constraint may restrict the use of a temperature reading which is not valid after a particular time, such as a temperature reading that has an expiry time less than the specified expiry time.
The server 102 receives the query and the query processing module 120 examines the query to determine the latitude and longitude of the target location. Subsequent to examination, the query processing module 120 reviews the data tree stored in the database 122 to identify a set of sensors having latitudes and longitudes within the target location and capable of providing sensor data that satisfies the time constraint. If the sensor data stored in the cache slots of the nodes associated with the set of sensors satisfy the time constraint, the sensor data may be presented to the user. Else, if the sensor data do not satisfy the time constraint, the query processing module 120 probes the set of sensors to obtain updated sensor readings, including temperature data. The updated sensor data is then formatted and presented to the user through the UI 116.
The server 102 includes a maintenance module 126 stored in the system memory 112 and executable on the processor(s) 110 to update the caches of the nodes in the index structures. Subsequent to collection of the updated sensor readings, the maintenance module 126 inserts the updated sensor readings into the caches of the nodes coupled to the set of sensors. Further, the maintenance module 126 may compute updated sensor data at each layer from the updated sensor readings or sensor data at lower layer. Then, the updated sensor data is inserted into respective caches of the nodes. The maintenance module 126 and its functioning are explained in detail with reference to
Although the sensors 118 are shown accessible by the server 102, the sensors 118 may be accessible directly by the remote storage device 108. This allows the sensor metadata to be stored directly in the database 122 in response to probing the sensors by the indexing module 124. The sensor metadata stored in the remote storage device 108 is then indexed to form the data tree.
Next to the results pane 202 in the search UI 116 is a control panel 204 that enables a user to refine the search or navigate throughout the results. In the illustrated implementation, the control panel 204 has a sensor selection area 210, a view name entry area 212, and location viewing controls 214. The sensor selection area 210 provides various options that allow a user to define which sensor types to display in the results pane 202, since there may be many types of sensors located throughout a region. Representative sensors shown in the sensor selection area 210 include options for temperature sensors 220, video or web cameras 222, weather sensors 224, traffic sensors 226, parking sensors 228, and other generic sensors 230. Here, the user may check a corresponding box to have the sensor type displayed. The sensor types selected by the user are then represented by graphical icons on the map in the results pane 202.
The view name entry area 212 enables the user to name the search results view. Upon entry of the name, the user may actuate a control (e.g., "Save View" button or return key) to save that name. Once a particular search is named, the user may quickly rerun future searches for the same sensor data by simply selecting the view name. This is useful, for example, for the user who might like to know traffic conditions on a daily basis for the morning or evening commutes.
The location viewing controls 214 facilitates user navigation through various locations within the region in the results pane 202. The viewing controls 214 also provide additional control features (i.e. panning and zooming) to view sensors in each of the locations. Thus, the user may be provided with a facility to identify sensor densities (i.e. number of sensors) and types of sensors at different locations, thereby enabling the user to make a decision for selecting sensors prior to posting a request for sensor data.
The control panel 204 further allows users to refine the search. Notice, for example, that there may be a high density of sensors in certain key areas of the region, such as at freeway interchanges. A user may want to know the traffic status at a particular stretch of freeway within the region depicted in the results pane 202. The control panel 204 can be used to navigate through the location to find the stretch of road, limit display of only traffic sensors 226, and then ascertain the traffic sensor density (i.e. number of traffic sensors present in the particular location). A facility may be provided to identify locations of the traffic sensors 226 (i.e. latitude and longitude of locations of traffic sensors) within the target freeway or a list may be provided to allow the user to choose specific sensors along this stretch of road. Upon identifying target sensors, a new query may be submitted and processed to collect data only from the specified traffic sensors 226.
Although not shown in this screen shot, the control panel 204 also includes an entry area that allows the user to specify freshness constraints/or time constraints of the sensor data. The control panel 204 may have an input box that allows the user to enter an acceptable time period (e.g., 10 minutes or 1 hour) or it may have a menu of choices from which the user may select an appropriate period (e.g., 0-5 minutes, 5-15 minutes, 15-60 minutes, etc.). Alternatively, the system may be configured with predetermined freshness constraints that are transparent to the user. Hence, when ever a freshness constraint is invoked, the architecture updates the data on demand.
Exemplary Server Implementation
The system memory 112 stores program modules 306 and program data 308. The program modules 306 include, for example, a web portal 114 and other application program modules 310 (e.g., an Operating System (OS) to provide a runtime environment, networked communications between multiple users, and so forth).
The web portal 114 has several responsibilities including acting as a front end or proxy to the sensor networks, performing the data collection by communicating with the sensor networks, and initiating query processing by the backend database by performing query translation. The web portal 114 also presents query results back to the client interface, such as through the UI 116. The presentation of results typically includes retrieving sensor data from sensor nodes in response to a user's query and displaying the sensor data. The sensor data may be retrieved from sensor readings previously stored at the nodes or from sensor readings freshly collected at the nodes based on the query or from a combination of the two. The sensor data can also be computed by aggregating the sensor readings, if the user is not interested in visualizing the results of every single sensor node, especially in regions with a high sensor density. Further, the user may request fresh sensor data by specifying an expiry time. The fresh sensor data may be retrieved from the nodes based on expiry times of sensor readings previously stored and/or freshly collected at the nodes.
In one implementation described below in more detail, a technique of storing and updating the sensor readings at the nodes is used in which, the sensor readings are stored in various cache slots at the nodes based on expiry times of the sensor readings. The sensor data can be retrieved from the cache slots based on the user's query. Further, in such an implementation, the choice of sensors over which to aggregate is decided dynamically using a pixel-based clustering algorithm that groups sensors lying within a distance corresponding to an n×n block of pixels (where n is a system parameter, but is typically small such as 5×5).
As noted earlier, the system 102 may be employed for identifying, capturing, and indexing the metadata associated with the external sensors 118 of various sensor networks as well as for subsequently providing and presenting desired sensor data specified by a user via a UI 116. As such, the web portal 114 includes a query processing module 120 to handle user queries, an indexing module 124 to index the metadata into a structure, a data acquisition module 312 to acquire data from the sensors, and a maintenance module 126 to update and maintain the data in the data tree 314. In the following discussion, components of the server system 102 used to identify and index the sensor metadata are described first, followed by an explanation of components involved in presenting desired sensor data specified by a user.
The server system 102 collects and stores metadata received from the external sensors 118 of various sensor networks. The metadata may be provided and registered by sensor network administrators. The metadata may include, for example, locations of the external sensors 118 and schemas that define how sensor readings are formatted and how to retrieve that information. From the metadata, the indexing module 124 creates an index structure, such as the data tree(s) 314, and stores that the data trees 314 as the program data 308 in the system memory 112.
In one implementation, the indexing module 124 is configured to cluster nodes in the data tree(s) 314 into groups of nodes such that the tree has a hierarchical structure with one or more layers. More specifically, the indexing module 124 includes a clustering module 316 configured to cluster the metadata of the sensors 118 into various groups of metadata based on various factors, such as sensor location and sensor type. Subsequent to creating the groups, the clustering module 316 constructs layers of the groups of nodes to form the data tree(s) 314. Each layer includes multiple nodes, and individual nodes store metadata of corresponding external sensors 118. This process may be performed on a layer by layer basis, where each layer is created successively beginning with the lowest layer. Within the hierarchical arrangement, the nodes may be said to include parent nodes associated with the external sensors 118 and child nodes associated with locations of the external sensors 118. The bottom-most child nodes are leaf nodes directly associated with sensors and do not have any nodes dependent therefrom. The parent nodes include internal nodes having one or more leaf nodes and/or internal nodes dependent therefrom. Further, each node of the data tree(s) 314 is provided with associated caches to store sensor readings collected from the respective external sensors 118. The caches of the leaf nodes store leaf sensor data obtained from associated sensors and the internal nodes include caches for storing internal sensor data having different expiry time periods. Each cache of an internal node has multiple cache slots of fixed time periods. The number of cache slots in a cache may be varied according to requirements of applications. The expiry time periods of the cache slots are synchronized across the data tree 314 such that similar expiry time periods are assigned to identical cache slots of the internal nodes in various layers. The expiry time periods are assigned based on the expiry time of sensor readings stored in the cache slots.
The cache slots of a cache at a node may be grouped together to represent a global window that denotes an upper bound on the duration of maintaining a sensor reading in the cache. When a sensor reading is received at a node, a timestamp denoting an expiry time of the sensor reading is identified. The sensor reading is then inserted into a cache slot using a hash function on their timestamps. Such insertion is performed subsequent to comparison of the timestamp associated with the sensor reading with a scope of the global window. Thus, if the comparison shows that the sensor reading timestamp is outside the scope of the window, then the window may be expanded to cover the sensor reading timestamp. The maintenance module 126 is used to update sensor readings in the cache slots which will be explained in detail in
The data tree(s) 314 has multiple layers of nodes 402-418. Each node is associated with at least one external sensor 118. As shown, the data tree(s) 314 has a top layer with a parent node 402 corresponding to a main sensor in a sensor network. The parent node 402 is illustrated with two child nodes 404 and 406 that form a middle layer. These middle-layer child nodes 404 and 406 may each have one or more children, as represented by two sets of three child nodes in which nodes 408, 410, and 412 are children of node 404 and nodes 414, 416, and 418 are children of node 406. These last nodes 408-418 form leaf nodes of the data tree(s) 314 in that there are no further child nodes dependent from them. The leaf nodes 408-418 form a bottom layer of the tree.
Each node in each layer of the data tree(s) structure 314 has an associated cache to store sensor readings obtained from the external sensors 118. During a process of collecting sensor readings, sensor readings from a plurality of the external sensors 118 are stored in the caches associated with the leaf nodes 408-418. Further, the nodes 404 and 406 of the middle layer may store a processed version of the sensor readings of respective child nodes. For instance, a cache of the node 404 stores processed versions of the sensor readings stored in the child nodes 408, 410, and 412. The processed version may be an average of the sensor readings. Further, a cache of the root node 402 at the upper layer may store data obtained by processing the sensor readings stored in caches associated with the child nodes 404 and 406 in the middle layer, such as averaging the sensor readings in the caches of the child nodes 404 and 406.
In one implementation, the data tree(s) structure 314 is configured as a Collection R-Tree (or "COLR-Tree"), which provides a spatial index of sensors in the sensor networks. Each layer 0, 1, 2 in the data tree(s) 314 has an associated table, as represented by table 420 for layer 2 and table 422 for layer 1. The layer tables 420 and 422 have columns representing an identifier for a parent node, an identifier for a child node, and any metadata corresponding to that child node. Here, the metadata is spatial metadata indicating a bounding box in terms of (x, y) coordinates of the child node and the number of sensors below the child node. Notice that the bounding box of the root node 402 is roughly the combined size of the boxes for the leaf nodes 408-418 descendant from the root node 402. The bounding boxes represent geographical regions within which sensors associated with the nodes are positioned. Thus, the root node 402 contains sensor data that is an aggregate (e.g., average) of data obtained from multiple sensors in lower layers.
There is one row in the layer tables for each child node. The layer tables 420 and 422 are associated with each other in that child identifiers in an upper level layer table are present as node identifiers in a lower level layer table. The data tree(s) 314 is traversed by obtaining following successive child identifiers through the layer tables 420 and 422. Each layer table has a corresponding cache table, as represented by cache tables 424 and 426. Each cache table stores cached sensor readings of nodes within the layer. The cache tables 424 and 426 contain a node ID, a cache having one or more cache slots with values representing the (possibly aggregated) readings along with their timestamps, a slot ID, and the number of descendant leaves in the sub tree.
The data tree(s) 314 (COLR-tree structure) may be constructed by the indexing module 124 in a bottom-up fashion from the lower layer of nodes to the upper layer. In one approach, the indexing module 124 clusters sensor metadata using a k-means clustering technique (i.e., an algorithm to cluster objects based on attributes into k partitions or clusters) based on the geographic proximity of the sensors. This process is repeated to construct the data tree(s) 314 one layer at a time, terminating at the construction of a single cluster which becomes the root of our index.
In another implementation, the clustering module 316 constructs multiple data tree(s) 314 simultaneously. Further, one or two sets of data tree(s) 314 may be linked to each by the clustering module 316, assuming a relation between the sets of data tree(s) 314 may be identified.
After the data tree(s) 314 has been constructed and stored, the system 102 is ready to accept queries and process those queries to return sensor data requested by the users. User input queries are received from the client devices 104 over the network 106 via the network interfaces 302, or obtained from the input/output interfaces 304, and are passed on to the query processing module 120 for processing. The input queries 318 are shown stored as the program data 308 in
Once a target data tree is identified, the query processing module 120 identifies a set of external sensors 118 represented by nodes within the data tree(s) 314 from which to provide a response to the input queries 318. In one implementation, the query processing module 120 employs a sampling module 320 to conduct a layered sampling process that leverages the index structure of the target data tree to produce a random subset of sensors with a similar spatial distribution to the original set of sensors. As a result, the sampling process reduces the number of the external sensors 118 to be probed for sensor readings, and yet still provide an accurate response to user queries (i.e. input queries 318). Thus, the sampling process reduces the communication cost and end-to-end latency in providing the sensor data from the time of receipt of the input queries 318 by the system 102.
Generally, layered sampling allows siblings in the data tree(s) 314 to independently choose samples from their descendants. A user specifies a sample target size (i.e., the number of sensors to be read). Starting at the root node, with the user-specified sample target size, the sampling module 320 first examines the cache tables at each layer to determine whether current data exists. Depending upon the data in the cache, the sampling module 320 decides how many additional samples are needed. Thereafter, the sampling module 320 traverses through the target data tree, descending along nodes relevant to the query and splitting the target size amongst the child nodes. Thus, each child node is asked to return a sample smaller than the original target size, so that consequently when the samples from each child node are combined, the original size goal is met. The sampling traversal terminates when a node is assigned a target size smaller than a value of one.
More particularly, in the present implementation, the sampling module 320 may assign a target size at a node as 'r' and define a target size at one of its child nodes as 'ri'. The target size of the child nodes may be computed as:
where 'wi' is a number of sensors that are descendents of child node 'i' of the current node (parent node or root node of the data tree). Thus, the above equation (1) denotes that the sample target size is divided and allocated to each sensor present at the branches of the current node. Such allocation process results in the identification of a smaller sample of nodes associated with lesser number of sensors than a desired number of external sensors 118. For example, the sampling module 320 may need to identify a set of prominent temperature sensors from a location having a high density of temperature sensors (i.e. higher number of temperature sensors). The sampling module 320 may review the target data tree and distribute the target size specified by the user amongst the nodes in a layer by layer fashion. Implementation of such a process results in the elimination of nodes having target sizes less than one. Thus, the sensor data may be collected from a set of sensors having fewer sensors, thereby reducing a time delay in collection and presentation to the user.
In one exemplary implementation, the sampling module 320 may be configured to eliminate some child nodes that may not possess any sensor readings that can contribute to the sensor data. In such a case, the sampling module 320 may allocate a larger fraction of the sample target size to each child node. Thus, the larger fraction of the target size assigned to the child nodes can be computed as:
where 'wi' is a number of sensors that are descendents of child node 'i' of the current node, 'overlap' denotes an indicator function that represents a maximum number of nodes in the target data tree that may satisfy the query rather than the total number of sensors descending the current node.
For example, the sampling module 320 may split the target size of temperature sensors (i.e. for a specified temperature data in a location) unequally amongst the child nodes by assigning a larger target size and a smaller target size to higher weighted nodes and lower weighted nodes, respectively. Such a process may be implemented to further reduce the number of sample sensors by eliminating the sensors that may not overlap with the user's query (i.e. may not contribute to the user's query) thereby reducing the end-to-end latency.
In yet another implementation, child nodes possessing sensor readings in the caches, stored during any of the previous traversals through the target data tree by the sampling module 320, may be eliminated to reduce the number of sample sensors. In such a scenario, the sampling module 320 may deduct the child nodes having the sensor readings in the caches. Thus the target size of the child nodes 'i' can be computed as:
where 'wi' is a number of sensors that are descendents of child node 'i' of the current node, 'overlap' denotes an indicator function that represents a maximum number of nodes in the target data tree that may satisfy the query rather than the total number of sensors descending the current node, and 'ci' denotes the number of sensors already cached. The sampling weight corresponds to an aggregate of the values of number of sensors having the sensor readings pre-stored in the cache.
For example, upon traversing through the target data tree to identify a set of temperature sensors, the sampling module 320 may determine the nodes having the latest temperature readings stored in the caches. In such a case, nodes associated with the set of temperature sensors may be deducted from the number of nodes that are descendants of a child node of the any of parent nodes associated with the set of temperature sensors.
In one exemplary implementation, the sampling module 320 may determine the smaller sample of nodes by performing all the techniques simultaneously, as described above according to equations (1), (2) and (3) thereby reducing the end-to-end latency. Further, it may be noted that the sampling module 320 can determine the smaller sample of nodes employing the techniques as described in equations (1), (2) and (3) in various combinations.
Further, a user may specify a time constraint such as a specified expiry time. The smaller sample of nodes is then examined by the query processing module 120 to identify whether cache of the nodes store sensor data having expiry times greater than the specified expiry time. Once the smaller sample of nodes is identified as capable of providing queried sensor data, the smaller sample of nodes is sent to the data acquisition module 312. The data acquisition module 312 probes the sensors to collect fresh sensor readings if pre-stored sensor readings do not satisfy the time constraint. The fresh sensor readings collected by the sensors are stored in the caches of respective nodes and displayed to the user on the UI 116 through the display devices 324.
A sensor reading having an expiry time greater than preset expiry times configured in the global window may be received by the server 102 and processed by the roll module 330. The roll module 330 extends the preset expiry times of the global window to include the expiry time of the sensor reading. The slot insertion module 332 receives the sensor reading from a leaf node and inserts a processed version of the sensor reading in a cache slot of an internal node that depends on the leaf node. For example, a fresh sensor reading may be received at node 408 of data tree 314. Thus, an internal node 404 at layer 1 may be updated with a processed sensor reading (i.e. aggregate value of the fresh sensor reading and previously stored or freshly stored sensor readings at nodes 410 and 412). In such a scenario, subsequent to insertion, the slot insertion module 332 may employ implementing a cache size constraint by a recently fetched replacement policy for checking size of the cache slots and eliminating excess readings stored in the cache slots of the leaf nodes 408-415.
Once a cache size is identified as greater than a cache size constraint, the slot deletion module 334 deletes the cache slots by a user to make the cache size fall within the cache size constraint. Thereafter, the slot deletion module 334 initiates propagation of the deletion upwards in the data tree(s) 314. Further, the slot deletion module 334 issues an update statement to update the cache tables associated with higher layers of the data tree 314.
The slot updating module 336 updates sample weights and aggregates the sensor readings stored in each layers through all the cache tables, such as cache tables 424 and 426. The aggregation may include for example, increment operation, decrement operation, and other operation depending on an aggregate function.
As data expires, the slots are reassigned to hold data with the longest expiration periods. For instance, suppose the first slot with time period T1 has data set to expire within 2 minutes (i.e., T1=0-2 minutes). After two minutes, the data in this slot is discarded or otherwise marked as stale. Notice that the remaining data in the other slots are not discarded or marked as stale. The first slot is then reallocated to hold data with the longest expiration periods, such as any data set to expire more than ten minutes later.
In an exemplary implementation, the cache slots are updated through each middle layer of the data tree 314 and propagated to the topmost layer 430-4 (or root node). Further, the aggregation of sensor readings for the remaining upper layers (i.e. layers 430-3 and 430-4) may be performed while processing a query from a user. For example, when a new temperature reading is inserted in a cache slot at a lower layer, such as in 430-1, the corresponding cache slots of the upper layers 430-2 and 430-3 may be updated using the aggregation technique. Updating corresponding cache slots of the layer 430-4 can be implemented during traversal of the data tree 314 while processing the user's query.
While traversing through the data tree 314 in response to the input query 438, the query processing module 120 identifies stale slots 440 at the internal node within root layer 430-4 as containing data that has expired in the layers 430-1, 430-2, 430-3, and 430-4 that may not contribute to the sensor data. Thus, cache slots 442 at nodes in lower layers 430-3, 430-2, and 430-1 that correspond to the stale slots 440 at the node in the root layer 430-4 are also identified as stale slots and are not used while retrieving sensor readings.
Further, the query processing module 120 may identify relevant cache slots at the layer 430-4, such as cache slots 444-1, 444-2, and 444-3, that may contribute to the sensor data to be returned in response to the input query. Upon identifying the relevant cache slots, the query processing module 120 traverses down the data tree 314 to identify corresponding cache slots at lower layers 430-3, 430-2, and 430-1. The data acquisition module 312 acquires the sensor data and presents that data to the user.
The sensor data provided to the user may be an aggregate of updated sensor data stored in the relevant cache slots at the layer 430-4. For example, suppose a user requests sensor data in a spatial region that expires after 3 minutes. Further, suppose cache slots 444-1, 444-2, and 444-3 having expiry time periods of 0-2 minutes, 2-4 minutes, and 4-6 minutes, respectively. In such a scenario, the query processing module 120 traverses the set of cache slots in the data tree 314 to identify caches at leaf nodes having potentially fresh sensor readings (i.e. sensor readings having an expiry time less than or equal to 3 minutes). In this case, the first and second cache slots corresponding to slots 444-1 and 444-2 contain such data. The potentially fresh sensor readings are acquired and propagated upwards in the set of cache slots such that the cache slots 444-1 and 444-2 receive the processed and potentially fresh sensor readings. This aggregated data is returned in response to the query and presented to the user.
Exemplary processes for operating a sensor data web portal to conduct communication efficient spatial searches for sensor data are described in this section with additional reference to
At 502, an index of geographically-distributed sensors is constructed and stored. In one context, the sensors capture data pertaining to weather, traffic, parking, security, real-time views, and so forth. In building this index, a sensor registration process may be conducted, where sensor network administrators provide metadata including sensor locations and schemas of sensor readings. The metadata may include, for example, sensor location, type of sensor, schema for sensor readings, and so forth.
In one approach, index construction is initiated with the hierarchical clustering algorithm described above, which constructs one layer of the index at a time from the metadata. According to one implementation, the index is formed as a data tree with multiple layers of nodes, where individual nodes are associated with caches to store metadata of the external sensors 118. One example data tree(s) 314 is shown in
At 504, a query for sensor data is received. The query may be submitted by users via the UI 116 on the client devices 104 and routed to the server 102 via the network 106. The query processing module 120 may review the query to identify certain information, such as location of sensors, number of sensors (i.e. external sensors), and so forth. The query may further include the identity of certain external sensors 118 or indicate a physical boundary of a particular area in which the sensors exist. For example, if the user is interested in a location with a high density of traffic sensors, the user may input a geographical range within which traffic sensors may be sampled.
At 506, a subset of the sensors from which to obtain data that would satisfy the query is identified using the index. In one implementation, the smallest possible number of nodes is determined. The number of sensors in the subset may be specified in the user query, or chosen by the system administrator as a controllable parameter. The sensors forming the subset are then selected randomly from the index to exhibit a spatial distribution similar to the complete set of sensors.
At 508, sensor data is obtained from the subset of sensors. The sensor data may be retrieved from caches associated with the sensors, or alternatively the data acquisition module 312 may poll the subset of sensors and collect updated sensor readings on demand.
At 510, the sensor data is formatted and presented to the user in a manner responsive to the user query. The sample sensor data may be displayed through the UI 116, as shown in
At 604, sensors to be represented in the index are clustered together to form groups. In one implementation, the clustering module 316 runs a clustering algorithm to form the groups of sensors. The clustering may be based on one or more criteria, such as sensor type, location, and so forth. As shown in
At 606, various groups of sensors that may be interlinked in some manner are identified. As one example, external sensors 118 located in smaller areas within a particular location may be aggregated to form a group.
At 608, the various groups of sensors can be combined to form new larger groups of sensors. In one technique, a clustering algorithm employs a pixel-based clustering algorithm that enables grouping of sensors lying within a distance corresponding to an n×n block of pixels, where n denotes a system parameter (e.g., 5×5). Various groups of external sensors 118 are reviewed by clustering module 316 using the pixel-based clustering algorithm to determine whether distances between groups of external sensors 118 tallies with a distance of an n×n block of pixels. If so, the groups of external sensors 118 can be associated with one another to form new groups of external sensors 118.
At 610, one or more data trees are formed from the groups of sensors including newly combined groups. The data trees are created by the clustering module 316 and stored in database.
At 704, a target size of how many external sensors should be probed to retrieve the desired sensor data is determined. The target size may be specified in the input query, or it may be a parameter specified by the system administrator. It may also be inferred or calculated based on information provided in the query.
At 706, a determination is made whether the target size needs to be distributed among a group of multiple nodes of the data tree. If so (i.e., the "yes" path from block 706), the target size if divided into parts and nodes from a top to bottom layer are assigned a smaller target size at 708.
If the query does not include any information regarding dividing target size (i.e., the "no" path from block 706), a determination is made whether nodes deficient of sensor data corresponding to the requested sensor data should be eliminated. The query processing module may review the query to identify whether the user has specified to eliminate such nodes. If specified (i.e., the "yes" path from block 710), such nodes are eliminated from the group of nodes of the data tree at 712.
If the query does not specify the elimination such nodes (i.e., the "no" path from block 710), a determination is made whether any cached sensor data would satisfy the query at 714. If such cached data exists (i.e., the "yes" path from block 714), such nodes can be excluded from the group of nodes in the data tree which will be probed at 716. Conversely, if the query does not specify elimination of such nodes (i.e., the "no" path from block 714), the subset of nodes from which to provide the sensor data are identified and the corresponding sensors are probed at 718. The data may then be returned to the user, such as via the UI 116.
At 804, the identified sensors are grouped to form multiple groups of sensors based on one or more criteria, such as sensor type, expiry time, location, and so forth. As shown in
At 806, the multiple layers of sensors are reviewed to identify the leaf nodes and the internal nodes.
At 808, the internal nodes in each layer are allocated with caches having multiple cache slots to store sensor readings. The cache slots are assigned various expiry times based on expiry times of the sensor readings obtained from the leaf nodes. It is noted that, in a given data tree 314, the number of cache slots in a cache of an internal node is kept constant across all layers. Further, expiry times of corresponding cache slots are also kept similar throughout the nodes in the various layers. In an exemplary implementation, each cache slot at nodes of top layers (i.e. layer 1 and layer 2 as shown in
At 810, the leaf nodes are allocated with caches to store sensor readings captured from sensors. The caches are assigned various expiry times based on the expiry time of sensor readings captured from the sensors.
At 812, one or more data trees are formed from the multiple groups of sensors. The data trees are created by the clustering module 316 and stored in database.
At 904, a query requesting sensor data including constraints such as a number of sensors, a specified expiry time, etc. is received. The query may further include an identity of certain external sensors 118 or indicate a physical boundary of a particular area in which the sensors exist. The query may be submitted by users via the UI 116 on the client devices 104 to the server 102. The query processing module 120 reviews the query to identify the specified expiry time denoting a threshold for expiry time of sensor data required by the user and other constraints, such as location of sensors, number of sensors (i.e. external sensors), and so forth.
At 906, a set of internal nodes and/or leaf nodes from which to obtain the sensor data that would satisfy the query is identified by traversing through the index. In one implementation, the set of internal nodes and/or leaf nodes is identified based on the physical boundary. Cache slots and caches contributing to the sensor data are identified by comparing the expiry time period of cache slots of the set of internal nodes and/or expiry time of cache of leaf nodes with the specified expiry time.
At 908, the sensor data possessing an expiry time greater than the specified expiry time is obtained from the identified cache slots and/or caches of the set of internal nodes and/or leaf nodes. The sensor data may be computed by an aggregation of sensor readings stored in the set of internal nodes and/or leaf nodes.
At 910, the sensor data is formatted and presented to the user in response to the user query. The sensor data may be displayed through the UI 116, as shown in
Although embodiments of techniques of identifying and displaying a sample sensor data based on a user's query have been described in language specific to structural features and/or methods, it is to be understood that the subject of the appended claims is not necessarily limited to the specific features or methods described. Rather, the specific features and methods are disclosed as exemplary implementations techniques of identifying and displaying a sample sensor data based on a user's query.
|Patente citante
|Fecha de presentación
|Fecha de publicación
|21 May 2009
|23 Mar 2010
|Solera Networks
|Method and apparatus for network packet capture distributed storage system
|16 Dic 2005
|21 Dic 2010
|Solera Networks, Inc.
|Method and apparatus for network packet capture distributed storage system
|31 Oct 2006
|28 Jun 2011
|Microsoft Corporation
|15 Ago 2011
|11 Sep 2012
|Juniper Networks, Inc.
|Systems and methods for automated sensor polling
|15 May 2009
|26 Mar 2013
|La Crosse Technology, Ltd.
|Method and apparatus of transmitting, receiving, displaying and playing weather data
|25 May 2009
|27 Ago 2013
|Solera Networks, Inc.
|Presentation of an extracted artifact based on an indexing technique
|23 May 2008
|7 Ene 2014
|Solera Networks, Inc.
|Method and apparatus of network artifact indentification and extraction
|15 Mar 2012
|4 Mar 2014
|Solera Networks, Inc.
|Hardware accelerated application-based pattern matching for real time classification and recording of network traffic
|15 Dic 2010
|30 Sep 2014
|Blue Coat Systems, Inc.
|System and method for hypertext transfer protocol layered reconstruction
|19 Sep 2011
|10 Feb 2015
|International Business Machines Corporation
|Hierarchical contexts to drive live sensor applications
|8 Dic 2011
|Juniper Networks, Inc.
|Systems and methods for automated sensor polling
|2 Ago 2012
|Cisco Technology, Inc.
|Aggregating Sensor Data
|28 Ene 2011
|2 Ago 2012
|Cisco Technology, Inc.
|Hierarchical Network for Collecting, Aggregating, Indexing, and Searching Sensor Data
|13 Sep 2012
|11 Abr 2013
|Electronics And Telecommunications Research Institute
|Intermediate node apparatus for configuring sensor network and sensor data processing method using intermediate node apparatus
|27 Ene 2012
|2 Ago 2012
|Cisco Technology, Inc.
|Searching sensor data
|21 Dic 2012
|27 Jun 2013
|Itxpress A/S
|Dynamic data collection system
|Clasificación de EE.UU.
|Clasificación internacional
|Clasificación cooperativa
|Clasificación europea
|25 Abr 2007
Owner name: MICROSOFT CORPORATION, WASHINGTON
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:NATH, SUMAN K.;AHMAD, YANIF;REEL/FRAME:019218/0807
Effective date: 20070402
|9 Dic 2014
Owner name: MICROSOFT TECHNOLOGY LICENSING, LLC, WASHINGTON
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MICROSOFT CORPORATION;REEL/FRAME:034542/0001
Effective date: 20141014


text:
Level 206 Comments: Comedic Genius
OfflineSend mail to gloriaofsuburbia Block gloriaofsuburbia Invite gloriaofsuburbia to be your friend
|Last status update:
|Personal Info
|Date Signed Up:
|Last Login:
|FunnyJunk Career Stats
|Content Thumbs:
|1857 total, 2104 , 247
|Comment Thumbs:
|1063 total, 1216 , 153
|Content Level Progress:
| 56% (56/100)
Level 118 Content: Funny Junkie → Level 119 Content: Funny Junkie
|Comment Level Progress:
| 10% (1/10)
Level 206 Comments: Comedic Genius → Level 207 Comments: Comedic Genius
|Content Views:
|Times Content Favorited:
|79 times
|Total Comments Made:
|FJ Points:
Green Day or die.
latest user's comments
|#52 - I've got a chocolate allergy, and I admit to using it to avoid…
|05/28/2014 on Peanuts
|#377 - This week I have what-could-possibly-be my last therapy sessio…
|03/31/2014 on Get Help
|#1033 - Aw man yesterday was my birthday too. It's good that you final…
|03/13/2014 on This is it guys
|#298 - mfw LotR being fj's fave
|01/11/2014 on poll, pangolins
|#134 - tbh lotro does a pretty good job in this
|12/30/2013 on - Player Select -
|#165 - well that's cool considering I'm inactive as ****
|12/29/2013 on description
|#164 - am I blue yet [+] (1 new reply)
|12/29/2013 on description
#165 - gloriaofsuburbia (12/29/2013) [-]
well that's cool considering I'm inactive as fuck
|#90 - Thankfully I have no sight problems whatsoever, and I still sp…
|12/29/2013 on Blind
|#18 - How on earth is English hard? Someone care to explain this? [+] (1 new reply)
|12/21/2013 on The english alphabet FTW
#280 - snowshark (12/21/2013) [-]
English is hard because it doesn't follow any of it's rules. Because English is a language that tries to keep the words it
Naïve: One of the few accented words in the language.
I before E except after C? More exceptions to the rule than words that follow it.
To learn English you simply need to have a good sense of phonetics but this is helped massively by the internet being a huge, text-based medium for communication where English is the most common language used, meaning people can easily get a grasp of how it is used and applied even if they are not native speakers.
However foreign languages tend not to break their rules, but because of that they have a LOT of them to learn like the different words for each variation of the definitive article. "The/Der".
Because English doesn't follow it's rules it has quickly simplified over time, breaking the rules to remove archaic spellings and grammatical elements (some of which I am sad to see go like the spelling of daemon and encyclopaedia (still pronounced the same way) because they just look more appealing when written down. Also, Ye Olde Shoppe is still said "Ye old shop", the 'e'
So English is piss easy to learn if you can figure out generally how it works and can remember how the words are spelled, but the application of those words is much easier than most other, heavily convoluted languages.
|#27 - Well, if you're interested, I took the course online, and ther…
|11/28/2013 on My parents are dead
Anonymous comments allowed.
#8 - iliketrainsalot (12/08/2011) [-]
#9 to #8 - gloriaofsuburbia (12/08/2011) [-]
#10 to #9 - iliketrainsalot (12/08/2011) [-]
Nice! Yes, i wanted to frame it! it looks awesome. it's funny because i can look really close up on the cover, and those people everywhere has talking bubbles and they are talking to each other.
#1 - iliketrainsalot (12/06/2011) [-]Howdy there, fellow Green Day fan.
#2 to #1 - gloriaofsuburbia (12/06/2011) [-]
Damn, that opened my apetite for an orange mocha frappuchino! :D
#3 to #2 - iliketrainsalot (12/06/2011) [-]WHERE IS IT?! GIVE ME IT!
#4 to #3 - gloriaofsuburbia (12/06/2011) [-]TRE CLAUS IS COMING TO TOWN
#5 to #4 - iliketrainsalot (12/06/2011) [-]glory glory, to saint. cool.
#6 to #5 - gloriaofsuburbia (12/06/2011) [-]Oh look, now he's a pony.
#7 to #6 - iliketrainsalot (12/06/2011) [-]and now he is stoned!


text:
- Find a rental
- Manage your booking
- City of Big Bear Lake rentals
- Kid Friendly City of Big Bear Lake Rentals
- Last Minute City of Big Bear Lake Rentals
- City of Big Bear Lake Rentals with Hot Tub
- City of Big Bear Lake Mountain View Rentals
- 3 Bedroom City of Big Bear Lake Rentals
- 4 Bedroom City of Big Bear Lake Rentals
- 2 Bedroom City of Big Bear Lake Rentals
- 5-Star City of Big Bear Lake Rentals
- Cheap City of Big Bear Lake Rentals
- City of Big Bear Lake Lakefront Rentals
- Pet Friendly City of Big Bear Lake Rentals
- Luxury City of Big Bear Lake Rentals
- See more rentals
- How to book
- Help Center
- Write a review
Lions Lakefront Escape - 5 Star! High End! Dock!
From $1,020 / night
Payment Protection
18 travelers
viewed this property in the past week
Send to a friend
Description from the manager
Description from the manager
Bedrooms: 7/
Bathrooms: 6/
Sleeps: 16/
Type: House
This may be the most AMAZING LAKEFRONT home in all of beautiful Big Bear Lake, custom built by Angela Landsbury! With spectacular views of Big Bear Lake and partial views of Holloway's Marina! Lions' Lakefront Escape has so much to offer. Where do we start!
Enjoy fantastic LAKE VIEWS from almost every room in this HIGH END, nicely decorated 5 Bedroom plus 2 Bonus rooms, set us as bedrooms, 4 full bathrooms and 2 half bathrooms. This 5900 plus square foot estate has been remodeled from head to toe with all the newer amenities one would expect from finer living.
As you enter this extraordinary estate, you step down onto 150 year old hand hewed ...Read more
About the manager
About the manager
Destination Big Bear
Destination Big Bear
- Response rate: 100%
- Response time: Within a day
- Calendar updated: today
Overall rating:
Additional Location Information
Located on the lake near Holloway's Marina.
Less than 1.5 miles to Alpine Slide and the Village where there are shops, restaurants and a theater.
Approximately 7 minute drive to Bear Mountain or Snow Summit Resort.
High-end accommodation.
Big Bear Lake is a unique mountain resort community located 100 miles northeast of Los Angeles and surrounded by the San Bernardino National Forest. About 21,000 residents make their home here full-time.
Altitude ranges from 6,750 to 9,000 feet. There are over 300 days of sunshine each year. Summer temperatures average around 80 degrees during the day, and 45 degrees at night. Winter brings about 100 inches of snowfall, and temperatures which average in the low 40's during the day, and mid 20's at night.
Pine and oak forests flourish in Big Bear's alpine environment. The area provides a natural habitat for approximately 30 wintering bald eagles and 29 species of rare plants, ten of which are indigenous to the area.
Our lake is a fresh water lake seven miles long. The average width is 1/2 mile, with a maximum depth of 72 feet and over 22 miles of shoreline.
Our community is full of recreational opportunities such as fishing, water sports, hiking, mountain biking, horseback riding, tours and winter sports. It's home to one of the nation's only alpine solar observatories. Big Bear also features a public zoo, a nine-hole golf course, seven public campgrounds, great restaurants, entertainment and lots of shopping. Big Bear's airport is open 24 hours every day and is equipped for night landings. AirTaxi/Charter service is available.
More About This Location
Beach or lakeside relaxation, City vacations, Lake nearby, Rural retreats, Warm winter getaways, Waterfront
Getting There
Nearest airport: Big Bear Airport, 6.52 miles
Nearest ferry port: Miss Liberty Paddlewheel Tour Boat, 2.11 miles
Nearest train station: San Bernardino Metrolink, 44.49 miles
Car is essential
Show rates details
Also consider
- FlipKey has rentals in over 11,000 destinations around the world:
- Big Bear Lake vacation rentals - 1,314 rentals from $115/night
- Lake Tahoe vacation rentals - 1,787 rentals from $125/night
- Sea Pines vacation rentals - 113 rentals from $225/night
- Jekyll Island vacation rentals - 2 rentals from $123/night
- Bald Head Island vacation rentals - 46 rentals from $550/night


text:
How to Make a Rowboat Sandbox
Inspire your little pirate's imagination and add nautical flair to your backyard with a one-of-a-kind sandbox made from a wooden rowboat.
Materials Needed:
- rowboat
- two pressure-treated 2x4 boards
- 2 1/2" exterior-coated wood screws
- pencil
- saw
- speed square
- 1/8" drill bit
- 1/2" drill bit
- drill
- hammer
- Plasti Dip waterproof sealant
- burlap fabric
- sand
- measuring tape
- chop saw
Measure Boat for Framing
Turn rowboat upside down, and use measuring tape to determine measurements of the bottom of the boat. A frame will be placed here to secure the boat in place, keeping it from tipping over while in use.
Mark and Cut Frame
Measure and cut pressure-treated 2x4s to create a simple box frame that measures approximately 1-2 inches smaller than the bottom of the boat. First use measuring tape and a pencil to mark to proper dimensions, then cut to size with a chop saw.
Assemble Frame
Screw all four corners of the box together using a drill and 2 1/2-inch exterior-coated wood screws.
Trace Box to Bottom of Boat
With the boat facing bottom-side-up, lay the box frame on the center top of the boat, tracing the outside and inside of the box directly onto the boat exterior.
Drill Holes to Secure Frame
Remove the frame and drill holes through the bottom of the boat in the center of the outlined marks using a 1/8-inch drill bit.
Create Spikes for Base Support
Measure and mark a 45-degree angle 4 inches down a piece of 2x4 pressure-treated wood using measuring tape, a pencil and speed square (Image 1). Use a chop saw set to a 45-degree angle configuration to create proper shape needed for a spike (Image 2). Repeat three times for a total of four spikes.
Secure Base Into Ground
Secure one spike in each of the four corners of the box frame using 2 1/2-inch exterior-coated wood screws (Image 1). Turn the frame over so the spikes are facing downward, and hammer each of them into the ground (Image 2). Slide the boat on top of the frame, lining up the original trace marks (Image 3). Drill 2 1/2-inch exterior-coated wood screws into the holes inside the boat.
Waterproof Bottom of Boat
Drill holes through the bottom of the boat for water drainage using a 1/2-inch drill bit (Image 1). Spray the bottom of the boat with Plasti Dip sealant to prevent moisture-induced decay and deterioration (Image 2).
Add Finishing Touches
Cover the bottom of the boat with burlap fabric to prevent sand from washing out of the drainage holes (Image 1). Fill the boat with sand to desired height (Image 2).
Backyard Sandbox Sail Boat
This backyard features a sandbox sailboat ready for adventures.
Next Up
Make a Raised Garden Bed
A raised bed gives you an eye-catching feature, a better view of your plants and, by lifting them up, less strain on your back when tending them. Learn how to make a raised bed in one day.
Make Garden Containers From Cast-Offs
Upcycle old tin cans into stylish containers for grasses and summer flowers and get ideas for other "free" planting pots.
Making and Planting a Windowbox
Use containers to bring harvestable crops to your kitchen windowsill. If you can't find the perfect size container, build your own. It need not be expensive or time consuming and needs no special handyman skills.
How to Build a Wooden Kids' Swing Set
You need just basic woodworking tools and lumber to construct our updated version of a classic kids' swing set.
How to Build a French Drain
If you're having problems with standing water in your yard or a leaky basement, improper drainage is the culprit. Fix your water drainage issues once and for all by adding a French drain in just a few short steps.
How to Grow Patio Roses in Containers
Modern patio roses bloom for many months and allow gardeners with limited space to enjoy their color and fragrance. Look for roses labeled "patio" or "miniature" and place containers in the sun.
Grow Strawberries in a Window Box
Dainty, tasty alpine strawberries are the best choice for planting in a small container, like a window box or hanging basket.
How to Grow Flowering Vines in Containers
Many compact climbers, such as jasmine and some clematis, are well suited to living in pots. All they need is a good-sized container, suitable support and regular watering and feeding.
Heat Up Your Windowsill With Chiles
Chiles are easy to grow in a pot if you have a warm windowsill or a hot, sunny patio. Sow seeds in spring and you can look forward to fresh chiles from summer to fall.
How to Grow Blackberry Plants in Pots
Blackberries are usually big plants and unsuitable for pots, but the thornless varieties are less vigorous and can be successfully grown in a large container.
More from: Landscaping Design Guide
1,000+ Photos
Browse beautiful photos of our favorite outdoor spaces: decks, patios, porches and more.
On TVSee Full Schedule
Rescue My Renovation
6:30am | 5:30c
Sold on the Spot
7am | 6c
Sold on the Spot
7:30am | 6:30c
Vacation House for Free
8am | 7c
Vacation House for Free
9am | 8c
Vacation House for Free
10am | 9c
Vacation House for Free
11am | 10c
House Hunters
12pm | 11c
House Hunters International
12:30pm | 11:30c
Fixer Upper
1pm | 12c
Fixer Upper
2pm | 1c
Fixer Upper
3pm | 2c
Fixer Upper
4pm | 3c
Fixer Upper
5pm | 4c
Fixer Upper
6pm | 5c
Fixer Upper
7pm | 6c
Fixer Upper
8pm | 7c
Fixer Upper
9pm | 8c
House Hunters
10pm | 9c
House Hunters International
10:30pm | 9:30c
Fixer Upper
11pm | 10c
Fixer Upper
12am | 11c
House Hunters
1am | 12c
House Hunters International
1:30am | 12:30c
Fixer Upper
2am | 1c
Fixer Upper
3am | 2c
TonightFixer Upper
8pm | 7c
Catch Up With Our Blogs
We're serving up the latest news, gorgeous style, DIY projects, clever entertaining tips & more.
HGTV Dream Home 2016 Update
HGTV Dreams Happen: Sweepstakes Blog » HGTV Dream Home Oct 12, 2015 by Virginia Moon
Behind the Design at HGTV Dream Home 2016
HGTV Dreams Happen: Sweepstakes Blog » HGTV Dream Home Oct 6, 2015 by Virginia Moon
Stylish + Efficient Appliances for Hard-Working Spaces
HGTV Design Blog – Design Happens Sep 30, 2015 by Kayla Kitts
Chic + Tech-Savvy Home Design Details We Love
HGTV Design Blog – Design Happens Sep 29, 2015 by Kayla Kitts
This or That: Pick Your Favorite Bathroom Wallpaper
HGTV Design Blog – Design Happens Sep 17, 2015 by Farima Alavi
Copy This Room: Cozy Up Your Living Room for Fall
HGTV Design Blog – Design Happens Sep 8, 2015 by Shannon Petrie
Fall Decorating Ideas From HGTV Magazine's October Issue
HGTV Design Blog – Design Happens Sep 8, 2015 by Alyssa Sparacino
Photo Friday: Hardworking Dairy Farm Guest House
HGTV Design Blog – Design Happens Sep 4, 2015 by Beth Rucker
The Votes Are In! See Our Fave Fixer Upper Finds
HGTV Design Blog – Design Happens Sep 3, 2015 by Farima Alavi
Go Behind the Scenes of John Colaneri's HGTV Magazine Shoot
I Heart HGTV Sep 3, 2015 by Alyssa Sparacino


text:
Compass Rose Bed and Breakfast
No prices found through our partners. Please contact the business directly or check some of our recommended alternatives.
How has this b&b rated in the past?
Travelers also recommend:
- More recommendations
TripAdvisor Reviews Compass Rose Bed and Breakfast Coupeville
Travel Blogs from Coupeville
Sleepy Port Townsend
... while watching ships roll in and out. I think it was the dreamiest coffee shop I have ever been in, and the coffee was also incredible. We stayed until they were closing down and cleaning up. After our coffee, we decided it was time to finally check out one of Washington's many cideries. We drove back towards our campsite and made our way to Finn River Cidery, a very small operation surrounded by an orchard ...
Ready to Melt the Plastic
... anything in the city so we had to Wing it and we made it out OK. We joined the line up at Peace Arch the Border crossing and it took us 1 hour and 10 minutes to get through. So we beat the Kamloopian girls by 10 minutes. We had a quick lunch in Blaine at an "Eric" style Caf� and then we were off down the freeway, speed limit 70 MPH but Kaff was driving and thought that was too outrageous so happily sat on 60 MPH.
We headed to Tulalip ...
Visiting Rangerville....
Will post photos tomorrow...Rangerville can't be matched anywhere, anytime by anyone! There's no place like it. It I is guaranteed to bring a smile to anyone's face....even someone who is missing her children. Just ask. Joanna is flying home on Sat so she can spend time with her kids before school starts in a couple of weeks. Happy dance for Simon, Seymore and Owen. Joanna ...
Preparations -or- Procrastination Begins ... Soon
It's T - 3 and counting (in layman terms that means 3 days until takeoff on our trip).
There are a lot of things to do still before heading off to Ethiopia, but instead of doing them I am writing this blog entry. I think it's basically a coping mechanism where I avoid doing what I should be doing because ...
Fort Ebey State park
... shoreline on the Strait of Juan de Fuca, a freshwater lake for fishing, and miles of hiking and biking trails. On the day we visited refocused our visit to the gun emplacements. Neither Alex or I have been to this location before found it be very peaceful and one of the most wonderful views we have ever ...