text:
50 Spring Date Ideas to blossom your love!
Although spring doesn't officially start for another 2 weeks I am so super excited about warm weather & couldn't wait any longer to share these Spring Date Ideas with you!
I tried really hard to make this list unique to spring, but there are some ideas that can be tweaked for other seasons enjoyment. And at the very bottom of this Spring Date Ideas list you will find links to even more date ideas! So hopefully you will never run out of new ways to make memories with your special someone!
Now not all of these might be up your alley, but hopefully you will find lots of great ideas that you can mix & match & maybe even create a super date with a variety of these ideas!
Happy Spring Dating!
*** Bonus ***
If you want to learn how you can turn date night into a profit
(this couple made $12,000 in one date)
1. Go to a farmers market (or flea market) & support local businesses.
2. Spend a day building something together for your home. A bird feeder, windowsill planter, coffee table, wooden keepsake box (for your love letters), or a side table.
3. Plant a garden together.
4. Drive to the top of a mountain & go star gazing with lots of blankets to snuggle under.
5. Spend a rainy day in a museum or aquarium.
6. Have a homemade smoothie making contest. Winner gets to pick the movie or the next date night idea.
7. Participate in or attend a Passion of the Christ play/pageant.
ps. If you are looking for ways to Emphasize Christ in Easter I have a list here!
8. Create spring decor for your home.
9. Fly kites (or play frisbee) in a local park & eat popsicles from a food truck.
10. Find a new outdoor hobby you can enjoy together, like gardening, tennis, frisbee gulf, biking, canoeing, or rock climbing.
11. Pretend to be a tourist in your hometown & get to know your city better than ever!
12. Drive around with the windows down, with your favorite smoothie or icy drink, searching for the most beautiful spring trees.
13. Go for a hike or bike ride through the beauty of the blooming earth!
14. Grab your camera & go exploring for the perfect spring shot.
15. Go rollerblading.
16. Check your nearest town's website for special spring events to enjoy together.
17. Bake & decorate homemade cookies to look like flowers. Maybe even bake a few dozen to give to your friends & family!
18. Go to a major league basketball or baseball game.
19. Go to a local spring festival or fair.
20. Spend the day exploring a new town & enjoying all of their local fair.
21. Go to Dollywood & get season passes for a year of fun!
22. Pick bouquets of wildflowers together & give them to your friends & family.
23. Go to a park, go swinging, & have a picnic on a checkered blanket.
24. Take a weekend trip to the beach together, maybe even learn to surf together!
25. Go to the park & spend the day laying on a blanket reading together with bread, cheese, & fresh seasonal fruit.
26. Spend the day watching the rain snuggled on the couch playing games & reading.
27. Go camping.
28. Mark something off of your shared bucket list together.
29. Make homemade fresh fruit popsicles or homemade ice cream!
30. Find a new indoor sport you both enjoy, like racquetball or indoor rock climbing, & make it a weekly or bi-monthly date.
31. Do some spring cleaning together. Clear out your closet & donate your excess to Goodwill then go out to eat to celebrate your cleaning accomplishments!
32. Take a special wilderness date together & find a romantic spot that is just yours' & carve your names together on a tree there.
33. Decorate your home for spring.
34. Go for a hike in a national or state park & afterwards enjoy some local cuisine.
35. Create a backyard escape you can enjoy together all spring (& summer)!
36. Take a staycation & stay at a local B&B or Inn & take in the sites of your town like a tourist.
37. Paint a picture of spring together.
38. Hike to a waterfall.
39. Bake Lemon Poppyseed Scones.
40. Dress up in formal attire, attend a classical concert or opera, then stop at a local coffee shop & share a beverage & springy dessert together.
41. Adopt a pet from an animal shelter together.
42. Drive to the top of a mountain & watch the sunrise or sunset over the blooming trees.
43. Go horseback riding through a field of flowers.
44. Have a barbecue. Yes, vegetarians can love a good veggie barbecue!
45. Get up early and go watch the sunrise & then treat yourselves to breakfast at your favorite local restaurant.
46. Take a mini weekend road trip & don't be afraid to put away the maps & get lost in the beauty of spring.
47. Go fishing or feed the ducks.
48. Attend an outdoor concert, movie in the park, or drive-in movie theater.
49. Go mini golfing & get ice cream afterwards.
50. Spend an evening with the fireflies refocusing your relationship on Christ. Reading, singing, & praying together.
I'd love to hear about your favorite spring date!
Feel free to comment below, email me, or tweet me on Twitter!
Want to connect on a more personal level!?
You can find me & Domestically Blissful on
Facebook, Instagram, Twitter, Bloglovin, & Pinterest!
With love, G
For My thoughts are not your thoughts,
Nor are your ways My ways," says the Lord.
"For as the heavens are higher than the earth,
So are My ways higher than your ways,
& My thoughts than your thoughts.
Isaiah 55:8-9
ps. If you are looking for more date ideas I have some for Fall, Christmas, Winter, & Valentines!


text:
Inmate dead at Stillwater prison, cause of death under investigation
An inmate housed at Stillwater prison in Bayport died on November 1.
The Minnesota Department of Corrections identified him as 39-year-old Steven Douglas Stanke of South Dakota, who has been incarcerated since 2006. The department declined to say whether foul play is suspected, or if Stanke had medical issues leading up to his death. The Ramsey County Medical Examiner's Office confirmed that an investigation is ongoing pending toxicology reports, which can take up to 6-8 weeks.
Stanke pleaded guilty in 2006 to fleeing police in a motor vehicle, resulting in the death of Lino Lakes Police Officer Shawn Silvera.
On September 6, 2005, Stanke was wanted for several burglaries in South Dakota and driving a stolen car on I-35W during rush hour. Stanke, a meth user, had been awake for about two weeks when police spotted his car.
As police began to tail him, Stanke led them on a high-speed chase, averaging 100 miles per hour while speaking on a cell phone, occasionally steering with his knee while injecting himself with meth.
About 14 miles into the chase, Officer Silvera laid tire-deflation sticks across the highway and positioned himself near the shoulder as Stanke approached. Stanke turned his car into Silvera as he drove up, throwing the officer more than 300 feet into a ditch. Afterward, Stanke's vehicle collided with another car, injuring the driver.
Stanke was sentenced to 40 years in prison, more than double the maximum amount under state sentencing guidelines. In 2009, he challenged his sentence as too harsh, but lost an appeal that reached the Minnesota Supreme Court, which wrote in its majority decision: "The facts here are so atypical and particularly egregious that they justify affirming Stanke's sentence."

subset: commoncrawl


text:
Kim and Scott Fisher are watching the clock tick down. As I blogged yesterday, they have an offer on their home for an amount which will allow them to pay off their first mortgage to Washington Mutual and a second mortgage to Wells Fargo. But the Fishers do not have enough to cover $35,000 in closing costs, and they say lenders won't help. Plus, they say WaMu has moved to foreclose on the home. What a mess.
CNBC Special Report:
- How to Play This Market: Sectors & Individual Stocks
Escrow is scheduled to close today. It won't close, though, if the Fishers can't come up with the $35,000, or if the banks don't agree to eat those costs.
Both lenders returned my calls and told me they were looking into it.
Wells Fargo, as second in line, has the most to lose if this sale falls through. Kim Fisher says Wells, after first saying no dice, is more helpful today. A deal to waive fees may be "do-able", says Kim, though nothing is confirmed.
Her realtor, Billy Wynn, warns that if the buyers' loan isn't funded by the close of business Monday, the buyers will lose their rate lock "and probably their loan."
The offer is to buy the home for $1.13 million. Realtor Wynn says if the deal falls through and the house goes into foreclosure, it'll be off the market for a time and will probably eventually sell for less than $1 million. WaMu will get its money back, but he says Wells Fargo will be out probably $100,000+, which is more than the $35,000 the Fishers can't cover. "Go figure," Wynn says.
Stay tuned.
Questions? Comments? Funny Stories? Email


text:
It was July 19, 2009, when I performed my worst show ever.
The gig took place at a film festival in Bethlehem, Pennsylvania, right after we did a featured showing of Max Shores' award-winning cigar box guitar documentary, Songs Inside the Box.
The attendees of this concert had just seen this film that was centered around me, and when it was finally my turn to perform a live show for them, I totally blew it.
I sucked.
The songs were strained and my delivery was amateur at best. I looked tortured and lost on stage. I still cringe when I remember it.
Oh, they were nice to me after the show. However, you could see in their faces that they'd just wasted an evening with a poseur. I was crushed.
But something major happened on the two-hour drive home that evening: Instead of wringing my hands and lamenting the gig (as was usually the case), I started asking myself, "What are the specific details that went into my bad performance?" I turned off the radio, set the cruise control on the car and went through my whole act, song by song.
RULE 1: Analyze your failures without getting emotional about them.
Notice I didn't continue to flog myself? I knew I sucked and I knew I could get better. I just had to figure out how to do it.
I then asked myself the most important question: "What are the successful musicians doing right?" I was performing as a one-man band at the time, so I decided to study successful one-man bands such as Florida blues powerhouse Ben Prestage; Memphis phenom Richard Johnston and hobo rocker Seasick Steve. They all played so effortlessly, they could tear the roof off a joint, and each had aspects of their styles I was striving to pick up.
RULE 2:Find the successful people and study them.
When I got home, I completely abandoned my entire set list and the way I performed it. This means tearing down almost 15 years of songs, playing style and attitude. I studied the masters and took notes. Every part of my playing was changed, transformed and improved. (One of my personal discoveries was my lack of "the groove" in my music. I had to learn how to lock my playing into the stomp of my foot and put my entire body into one chugging rhythm.)
In order to see if I was on the right path, I started going to open mics so I could try these new things out in front of a live crowd. If the crowd liked it, the song or technique stayed. If it tanked, I'd rework it.
RULE 3:Perform in front of other people at open mics. They will be your best gauge of improvement.
Allowing yourself to play horribly in front people is a risk few people are willing to take. However, most crowds at open mics expect performers to be less-than-stellar. In fact, most of them are there for the same reason: to improve! Plan on attending weekly and talk to people about your performances. I've found most musicians who are still cutting their teeth are very supportive of each other.
It's six years later and I can now tear the roof off a joint. I'm still improving, still studying the masters and still trying new things, but when I have a sub-par gig, I just go back and analyze it.
Are you struggling with your playing...or maybe something even bigger in your life? DON'T GIVE UP! Step back, take a look at things and learn about the people who were successful before you.
"Never give in—never, never, never, never, in nothing great or small, large or petty, never give in except to convictions of honor and good sense. Never yield to force; never yield to the apparently overwhelming might of the enemy." — Winston Churchill
Here's a video of me performing a Rush cover on cigar box guitar and foot stomper. This video was shot several years ago, soon after I revamped my entire style and polished it with the three rules above. (I admit the singing is a little weak. Like my performances, it's something I'm always trying to improve.)
Stay primal…and don't give up!
Shane Speal is the "King of the Cigar Box Guitar" and the creator of the modern cigar box guitar movement. Hear the music, see the instruments and read about his Cigar Box Guitar Museum at ShaneSpeal.com. Speal's latest album, Holler! is on C. B. Gitty Records.


text:
Envelope Manufacturers See Growth in Soft Packaging Niche
- Published: January 08, 2003, By PRESS RELEASE
ALEXANDRIA, VA, USA—Envelope manufacturers are finding a ready market in soft packaging, a niche that encompasses a variety of packaging applications (soft goods and/or security packaging). This, says the Envelope Manufacturers Association (EMA) and the EMA Foundation for Paper-Based Communications, is due to the rapid growth of e-commerce and catalog sales. "Envelopes have been made in America since 1843 and have changed with each new generation. For one thing, they are not just for cards and letters anymore," states EMA Foundation's press release.
Adds Maynard Benjamin, EMA president, "As packaging-on-demand expands, more and more envelope manufacturers are adating handily their equipment for folding envelopes to the development of soft packages." Benjamin projects 30 percent of envelope manufacturers will be in the soft packaging business within the next five years.
Visit EMA at envelope.org.


text:
Sharenting" – or "oversharenting" – is the practice of sharing our children's photos and stories through social media networks. In the second part of our series on "Sharenting", we look at the risks of sharing information online about your children.
Before posting anything related to your child online, stop and consider the impact that you might be having on your child – both now and in the future.
Your Child's Social Life and Future Employment Prospects.
According to the research, a quarter (25%) of the parents surveyed admitted to publishing photos of other people without first asking for their consent and 53% of parents have uploaded photos of children who are not their own.
But have you considered the embarrassment that funny anecdote of your kid's bed-wetting incident might cause them amongst their friends later on. Ultimately, this could lead to cyberbullying or confidence issues, as your child struggles to distance themselves from a profile you have created for them – without their permission.
Going forward a few more years, think of the consequences of your well-meaning stories and holiday snaps on their future career, as most University admissions staff and potential employers spend time checking out the online social media accounts of prospective students and employee before accepting or interviewing candidates.
Privacy Settings.
Parents seem to be unaware of the information they are giving away to strangers. The survey findings showed that 17 per cent of parents had never checked their privacy settings on Facebook, while close to half of them had only checked them once or twice.
If you have all your information and photos available on your Facebook and you have your privacy settings set to "Public", anyone can see them – even those people who do not have a Facebook account.
Information Sharing
When you have information available on the Internet, such as your child's full name, birthday or if you have a photo of your child in their school uniform with the school name displayed and your geographical location tagged, you are opening your child up to identity theft, digital kidnapping (where images of your baby are stolen and use for online role play) or even as a target for predators both online and in the real world.
Sharing Your Location
You may not mean to share your location, however when you take a photo, if you have the location setting switched on, the location data can be stored in the phone. Only 49 per cent of smartphone users in the survey were aware of this. When you share your photos online, it can make it very easy for others to find this information.
Social Media Photo Rights
Parents seem to be unaware that most social media sites have the right in their terms and conditions to use images that are uploaded on their sites for promotional purposes without having to ask for the users consent.
Once a picture is posted, it is difficult to completely remove it from the Internet. Even if you change your privacy settings, it's already been posted. Other family members may have reposted and the photo can very quickly become public property.
Please feel free to leave a comment on our second post in the Sharenting Series.


text:
Hydraulic Fracturing
Hydraulic fracturing is a means of extracting natural gas from shale formations such as the Marcellus Shale. It is a proven technology and has been used since the 1940s in more than one million wells in the United States to help produce oil and natural gas.
Hydraulic fracturing is an advanced, effective technique whereby "fracturing fluids", comprised of more than 99.5 percent water and sand, and less than 0.5 percent chemicals, are injected under high pressure into a shale formation, creating fissures that free the natural gas to flow from rock pores where it is trapped. To learn more about hydraulic fracturing, watch the video below. In just a few minutes, you will gain an understanding of the critical steps taken before hydraulic fracturing even begins; the safety measures used to protect the fresh water aquifer; and the hydraulic fracturing process itself.
Click Image for Video Explaining Horizontal Drilling and Hydraulic Fracturing
Nearly 80 percent of natural gas wells drilled in the next decade will require hydraulic fracturing because it allows access to formations, like shale oil and shale gas, available now as a result of technological advances. Pennsylvanians, however, have the benefit of gaining from the experience of an industry that has used this technology in nearly one million wells for more than 60 years. The combined expertise of thousands of workers in this field has developed comprehensive standards, procedures and regulations to protect citizens and the environment.
Pennsylvania Ensures Safety of Hydraulic Fracturing
The Pennsylvania Department of Environmental Protection (DEP) regulates the extraction of the state's rich natural gas resources to ensure that it is done in a safe and environmentally responsible manner. The department oversees the entire process, from planning and permitting of a well through the production phase (including hydraulic fracturing), and finally through the plugging of the wells when they are no longer in use. This video, below, explains the role of the Pennsylvania DEP in ensuring compliance with strict environmental standards and describes the process in an easy-to-understand and visual format.
Read more:
- Keystone Energy Forum Downloadable Fact Sheets
- Energy from Shale
- FracFocus
- Reason Magazine: The Truth About Fracking (Video)
- Citizens' Guide to Marcellus Shale in Pennsylvania
- Hydraulic Fracturing At a Glance


text:
After a long uneventful flight from London to Shanghai we arrived without issue at our temporary accommodation. This small hotel apartment room is much better than a standard hotel room because not only is there a living area, there is also a small kitchen so that we can prepare our own meals without having to go out to restaurants each night.
After a short rest we headed to the local supermarket, Carrefour…this is when I discovered that despite my wife being Chinese we are in for some fun!
My wife has spent most if her adult life in the UK and has not actually lived by herself in China, so basically laundry detergent brands are unfamiliar to her as they are me (I remember this exact same experience when I lived in the USA 12 years ago). What should have been a quick 30 minute shop turned out to be a marathon reading labels and asking shop assistants for guidance!
Our next challenge of the afternoon was to get SIM cards for our mobile phones. Having a nice shiny iPhone 4S, I wanted to maximise its data capabilities which means I had to go with China Unicom as they are the only carrier that support 3G right now. Here are the tariffs,
I have no idea how they work or what I actually have, I just know I can make calls and access the Internet!
The day was topped off by meeting my new boss and his wife for dinner. I just hope the beer helps me sleep through the night, ready for work in the morning!
Location:[Hongfeng Rd,Shanghai,China]('http://maps.google.com/maps?q=Hongfeng%20Rd,Shanghai,China%4031.242691%2C121.590041&z=10')


text:
Here's the latest article from the Doll Making site at BellaOnline.com.
Palm - Size Softies Book Review
This is an absolutely delightful, fun book. As soon as it came in the mail my Mother-in-Law and I started turning pages and oohing and aahing over how cute and adorable all the stuffed dolls and pets are.
Please visit Dollmaking.bellaonline.com for even more great content about Doll Making.
To participate in free, fun online discussions, this site has a community forum all about Doll Making located here -
I hope to hear from you sometime soon, either in the forum or in response to this email message. I thrive on your feedback!
Have fun passing this message along to family and friends, because we all love free knowledge!
Helen B. Wharton, Doll Making Editor
One of hundreds of sites at BellaOnline.com


text:
Alberto Gozzi FAGGIO Pitone Kids Shoes 9ZWZ59B95
Product Code: 9ZWZ59B95
Availability: In Stock
Availability: In Stock
Limited time offer£71.29 £158.99
Description These boots designed by Alberto Gozzi do not lack in audacity. With a metallic snake skin effect, this rocking model is also chic. Bold and elegant women will love it.Alberto Gozzi FAGGIO Pitone Kids Shoes 9ZWZ59B95
Related Products


text:
The K.M. Tie Midi Dress in Ramie
- Sandwashed Japanese Ramie
- Sheer
- Tortoise ring detail
- Center back zip on skirt
- Self-tie straps
- Composition: 100% ramie
- Machine washable - ships with Anemone wash bag
- All items are shipped in compostable packaging
- Made in Los Angeles
For our ready-to-wear, we use Ramie which is made in Spain and the fiber is a highly sustainable fiber and an eco-friendly alternative to synthetic fibers. It is naturally resistant to bacteria, mold, and mildew as well as light damage, rot, or insect attack. It does not require pesticides or herbicides to grow healthily. Ramie fiber is known especially for its ability to hold shape, reduce wrinkling, and introduce a silky luster to the fabric appearance. Ramie is very strong, durable, and is eight times stronger than cotton. It is actually even stronger when wet which makes it perfect for beachwear. This fine gauge linen is sheer and has a slightly dry hand feel. We sand wash our Ramie, so it has a soft finish. Swimwear can be seen beneath this fabric for a sexy yet elegant effect. The fabric is perfect for the beach, pool, and around the resort. DISCOVER ALL Ramie Resort Wear.
All of our fabric suppliers are OKEO Step (Sustainable Textile Production) certified which ensures the implementation of environmentally friendly production processes and safe and socially acceptable working conditions in production facilities along the textile chain. They each use a sustainable process and monitor every single stage of the production cycle in order to reduce the use of water, energy, chemicals, and waste.
We work with local, family-run factories in LA to produce both the swimwear and ready-to-wear. Manufacturing locally permits us to be involved firsthand in every step of our supply chain - we are able to monitor their working conditions and form close relationships with all who are involved.
We want to bring environmental awareness to our customers as well - the swimwear is shipped to you in 100% compostable packaging and includes a mesh reusable wash bag instead of plastic (we use as little plastic as possible) so that our customers can use the bags to wash their swimsuits. You can even put your phone, wallet, sunglasses and beauty products in the mesh bag and throw it in your beach tote.
- Shipping & taxes calculated at checkout
- This item is returnable for a full refund within 14 days of receipt
- International orders will be charged tax and duty by the shipping carrier


text:
The cryptoasset sector will become subject to anti-money laundering regulation in the U.K. and EU from January 2020. Industry participants with activities in the U.K./EU or who provide services to customers in those jurisdictions now need to:
EU Regulations
The European Union's Fifth Money Laundering Directive ("5MLD") will shortly introduce regulation of the cryptoasset sector from an anti-money laundering ("AML") perspective. It is the first Pan-European Law dealing with the characterisation and regulation of cryptoassets.
The 5MLD requires Member States to apply AML obligations to cryptoasset exchanges (involving an exchange between crypto and fiat currencies) and to custodian wallet providers. European jurisdictions must introduce local legislation implementing the 5MLD by January 2020.
In April 2019 the U.K. Treasury issued its Consultation on the Transposition into U.K. law of the Fifth Money Laundering Directive. HM Treasury notes that cryptoassets remain an attractive asset class for those involved in unlawful activities. Their pseudo-anonymous nature, their accessibility online and their global reach make it possible for criminals to obfuscate the source and purpose of funds. HM Treasury sets out in its Consultation proposals for revamping the U.K.'s AML laws in the context of the transposition of the 5MLD provisions relating to cryptoassets. In many respects the U.K.'s proposals go materially beyond the requirements of the 5MLD, and HM Treasury has been influenced in this respect by recent developments at the level of the Financial Action Task Force ("FATF").
The Financial Action Task Force
In October 2018 FATF announced that it had adopted changes to the FATF Recommendations on Combatting Money Laundering in order to clarify how the FATF Recommendations apply to financial activities involving cryptoassets. These changes were implemented through an amendment to Recommendation 15 (New Technologies) and changes to the Glossary.
The principal change made by FATF was to require that jurisdictions ensure that "virtual asset service providers" are made subject to AML requirements including conducting customer due diligence, ongoing monitoring, record-keeping, and reporting of suspicious transactions. FATF also recommended that virtual asset service providers should be licensed or registered and subject to monitoring to ensure compliance. However, this Recommendation relates to licensing only for AML and CTF compliance purposes as opposed to for broader financial services regulatory type obligations such as consumer and investor protection safeguards.
The changes made add to the Glossary new definitions of "virtual assets" and "virtual asset service providers". FATF states that the latter category includes participants such as exchanges, certain types of wallet providers, and providers of financial services for ICOs.
The definition of a "virtual asset service provider" is broad covering:
In contrast, as explained below, the 5MLD requirements apply only to exchanges (involving the exchange between crypto and fiat currencies) and wallet providers. The 5MLD therefore covers only two of the above five activities.
U.K. Anti-Money Laundering Regulation for Crypto Activities and ICOs
The new rules mean that cryptoasset businesses within scope will have to register for supervision within the requirements of applicable AML and CTF laws. In the U.K., this is likely to be with the Financial Conduct Authority.
The 5MLD has the effect of amending the Fourth Money Laundering Directive ("4MLD") so that in most European countries cryptoasset providers will become subject to the local law implementation of the 4MLD. In the U.K., this will mean applying to them the requirements of the Money Laundering, Terrorist Financing and Transfer of Funds (Information on the Payer) Regulations 2017 (ML Regulations).
As well as becoming subject to supervision for compliance, cryptoasset firms within scope will have to introduce AML policies, procedures, and controls. These include matters such as mandatory customer due diligence/KYC on customers, obligations to monitor transactions, the reporting of suspicious transactions, training, record keeping, staff vetting, and the registration of senior individuals involved in the business with the local regulator.
A key aspect of the HM Treasury Consultation is that the U.K. Government is considering materially gold-plating the EU rules to cover the following matters not covered by the 5MLD:
The U.K. is committed to transposition by January 2020 notwithstanding any Brexit developments.
The 5MLD extends AML regulation to activities carried on in relation to "virtual currencies". For these purposes a "virtual currency" is defined as a digital representation of value that is not issued or guaranteed by a central bank or public authority and not necessarily attached to a legal currency and does not possess the legal status of currency or money and which can be transferred, stored, and traded electronically.
Two broad categories of activities carried on in relation to virtual currencies are made subject to AML regulation under the 5MLD. These are:
Providers of these services will become "obliged entities" under European Money Laundering rules and must implement anti-money laundering controls, policies, and procedures.
Assets Covered
The U.K. has adopted the taxonomy of "exchange tokens", "security tokens", and "utility tokens" in approaching the categorisation of cryptoassets.
As stated above, the 5MLD extends AML regulation to "virtual currencies", whereas the HM Treasury Consultation proposes going further than this and covering all three categories of cryptoassets referred above (exchange, utility, and security tokens).
Activities Covered
Exchange providers under the 5MLD will be regulated where they provide exchange services between crypto and fiat.
The HM Treasury is considering broadening this out to include crypto-to-crypto exchange service providers, peer-to-peer exchange service providers, cryptoasset automated teller machines, the issuance of new cryptoassets (e.g., through ICOs), and the publication of open-source software (which includes but is not limited to non-custodian wallet software and other types of cryptoasset related software).
The approach that the Treasury is taking is more in line with the approach advocated by FATF under the amended Recommendation 15.
The Treasury Consultation notes that the greatest risk in relation to cryptoassets arises at the point of exchange, where value can be recognised and can further be used to obfuscate the true source of the assets and funds. It is on this basis that the U.K. Government is proposing to extend regulation beyond crypto-to-fiat exchanges and also include the broader range of activities referred to above which all involve the process of exchange.
Cross-border Business
U.K. anti-money laundering rules presently apply to activities carried on in the U.K.
Recognising the international nature of the crypto business, the HM Treasury consultation proposes extending the reach of U.K. AML laws to providers who are located outside the U.K. The Consultation notes that the new U.K. rules could be circumvented if service providers locate themselves outside the U.K. If so, they might not perform customer due diligence/know your customer checks or implement other controls to mitigate AML risks. The Government is seeking views on whether the new U.K. rules should therefore apply extra-territorially to prevent such circumvention.
Concluding, from January 2020 providers of services in relation to cryptoassets will be subject to regulation in the U.K. and other European countries for AML compliance. This is likely to be a first step in the process of introducing broader regulations in this area. For many industry participants this will mean a significant change to a presently unregulated business. Firms will need to devote additional resources to these matters and the customer experience will be less frictionless. On the other hand, the introduction of regulation will help mitigate risks and potentially open up new possibilities for cryptoasset service providers to work with previously sceptical partners.


text:
Radio frequency local area network
An apparatus and a method for routing data in a radio data communication system having one or more host computers, one or more intermediate base stations, and one or more RF terminals organizes the intermediate base stations into an optimal spanning-tree network to control the routing of data to and from the RF terminals and the host computer efficiently and dynamically. Communication between the host computer and the RF terminals is achieved by using the network of intermediate base stations to transmit the data.
Latest Norand Corporation Patents:
- Hand-held data collection computer terminal having power management architecture including switchable multi-purpose input display screen
- Process and apparatus for charging lithium cells or the like
- Wireless personal local area network
- Hand-held portable data collection terminal system
- Flash memory system having memory cache
The present invention relates to an apparatus and a method for transmitting data between Radio Frequency (RF) terminals and one or more host computers, and more particularly, to an apparatus and a method of efficiently routing data through a network of intermediate base stations in a radio data communication system.BACKGROUND OF THE INVENTION
In a typical radio data communication system having one or more host computers and multiple RF terminals, communication between a host computer and an RF terminal is provided by one or more base stations. Depending upon the application and the operating conditions, a large number of these base stations may be required to adequately serve the system. For example, a radio data communication system installed in a large factory may require dozens of base stations in order to cover the entire factory floor.
In earlier RF data communication systems, the base stations were typically connected directly to a host computer through multi-dropped connections to an Ethernet communication line. To communicate between an RF terminal and a host computer, in such a system, the RF terminal sends data to a base station and the base station passes the data directly to the host computer. Communicating with a host computer through a base station in this manner is commonly known as hopping. These earlier RF data communication systems used a single-hop method of communication.
In order to cover a larger area with an RF data communication system and to take advantage of the deregulation of the spread-spectrum radio frequencies, later-developed RF data communication systems are organized into layers of base stations. As in earlier RF data communications systems, a typical system includes multiple base stations which communicate directly with the RF terminals and the host computer. In addition, the system also includes intermediate stations that communicate with the RF terminals, the multiple base stations, and other intermediate stations. In such a system, communication from an RF terminal to a host computer may be achieved, for example, by having the RF terminal send data to an intermediate station, the intermediate station send the data to a base station, and the base station send the data directly to the host computer. Communicating with a host computer through more than one station is commonly known as a multiple-hop communication system.
Difficulties often arise in maintaining the integrity of such multiple-hop RF data communication systems. The system must be able to handle both wireless and hard-wired station connections, efficient dynamic routing of data information, RF terminal mobility, and interference from many different sources.SUMMARY OF THE INVENTION
The present invention solves many of the problems inherent in a multiple-hop data communication system. The present invention comprises an RF Local-Area Network capable of efficient and dynamic handling of data by routing communications between the RF Terminals and the host computer through a network of intermediate base stations.
In one embodiment of the present invention, the RF data communication system contains one or more host computers and multiple gateways, bridges, and RF terminals. Gateways are used to pass messages to and from a host computer and the RF Network. A host port is used to provide a link between the gateway and the host computer. In addition, gateways may include bridging functions and may pas information from one RF terminal to another. Bridges are intermediate relay nodes which repeat data messages. Bridges can repeat data to and from bridges, gateways and RF terminals and are used to extend the range of the gateways.
The RF terminals are attached logically to the host computer and use a network formed by a gateway and the bridges to communicate with the host computer. To set up the network, an optimal spanning tree is created to control the flow of data communication. The roots of the spanning tree are at the gateways; the branches are the bridges; and non-bridging stations, such as RF terminals, are the leaves of the tree. Data are sent along the branches of the newly created optimal spanning tree. Nodes in the network use a backward learning technique to route packets along the correct branches.
One object of the present invention is to route data efficiently dynamically, and without looping. Another object of the present invention is to make the routing of the data transparent to the RF terminals. The RF terminals, transmitting data intended for the host computer, are unaffected by the means ultimately used by the RF Network to deliver their data.
It is a further object of the present invention for the network to be capable of handling RF terminal mobility and lost nodes with minimal impact on the entire RF data communication system.BRIEF DESCRIPTION OF THE DRAWINGS
The FIGURE is a functional block diagram of an RF data communication system incorporating the RF local-area network of the present invention.DETAILED DESCRIPTION OF THE INVENTION
FIG. 1 is a functional block diagram of an RF data communication system. In one embodiment of the present invention, the RF data communication system has a host computer 10, a network controller 14 and base stations 22 and 24 attached to a data communication link 16. Also attached to the data communication link 16 is a gateway 20 which acts as the root node for the spanning tree of the RF data network of the present invention. A bridge 42 is attached to the gateway 20 through a hard-wired communication link and bridges 40 and 44 are logically attached to gateway 20 by two independent RF links. Additional bridges 46, 48, 50 and 52 are also connected to the RF Network and are shown in FIG. 1.
FIG. 1 further shows RF terminals 100 and 102 attached to base station 22 via RF links and RF terminal 104 attached to base station 24 via an RF link. Also, RF terminals 106, 108, 110, 112, 114, 116, 118, and 120 can be seen logically attached to the RF Network through their respective RF links. The RF terminals in FIG. 1 are representative of non-bridging stations. In alternate embodiments of the present invention, the RF Network could contain any type of device capable of supporting the functions needed to communicate in the RF Network such as hard-wired terminals, remote printers, stationary bar code scanners, or the like. The RF data communication system, as shown in FIG. 1, represents the configuration of the system at a discrete moment in time after the initialization of the system. The RF links, as shown, are dynamic and subject to change. For example, changes in the structure of the RF data communication system can be caused by movement of the RF terminals and by interference that affects the RF communication links.
In the preferred embodiment, the host computer 10 is an IBM 3090, the network controller 14 is a NORAND RC3250, the data communication link 16 is an Ethernet link, the nodes 20, 22, 24, 40, 42, 44, 46, 48, 50 and 52 are intelligent base transceiver units of the type RB4000, and the RF terminals 100, 102, 104, 106, 108, 110, 112, 114, 116, 118 and 120 are of type RT3210.
To initialize the RF data communication system, the gateway 20 and the other nodes are organized into an optimal spanning tree rooted at the gateway 20. An optimal spanning tree assures efficient routing of information without looping. To form the optimal spanning tree, in the preferred embodiment the gateway 20 is assigned a status of ATTACHED and all other bridges are assigned the status UNATTACHED. The gateway 20 is considered attached to the spanning tree because it is the root node. Initially, all other bridges are unattached and lack a parent in the spanning tree. At this point, the attached gateway node 20 periodically broadcasts HELLO packets. The HELLO packets can be broadcast using known methods of communicating via Radio Frequency or via a direct wire link. In the preferred embodiment of the present invention, spread-spectrum communication is used for the RF communication.
HELLO packets contain 1) the address of the sender, 2) the distance that the sender is from the root, 3) a destination address, 4) a count of bridges attached to the broadcasting node, and 5) a list of any necessary system parameters. Each node in the network is assigned a unique network service address and a node-type identifier to distinguish between different nodes and different node types. The distance of a node from the root node is measured in hops times the bandwidth of each hop. The gateway root is considered to be zero hops away from itself.
The unattached bridges are in a LISTEN state. During the LISTEN state, a bridge will listen to the HELLO messages that are broadcast. By listening to the HELLO messages, bridges can learn which nodes are attached to the spanning tree. The unattached bridges analyze the contents of the HELLO messages to determine whether to request attachment to the broadcasting node. In the preferred embodiment, a bridge attempts to attach to the node that is logically closest to the root node. In the preferred embodiment, the logical distance is based upon the number of hops needed to reach the root node and the bandwidth of those hops. The distance the attached node is away from the root node is found in the second field of the HELLO message that is broadcast.
In another embodiment of the present invention, the bridges consider the number of nodes attached to the attached node as well as the logical distance of the attached node from the root node. If an attached node is overloaded with other attached nodes, the unattached bridge may request attachment to a less loaded node.
After attaching to an attached node, the newly attached bridge (the child) must determine its distance from the root node. To arrive at the distance of the child from the root node, the child adds the broadcast distance of its parent to the distance of the child from its parent. In the preferred embodiment, the distance of a child from its parent is based on the bandwidth of the data communication link. For example, if the child attaches to its parent via a hard-wired link (bandwidth 26,000 baud), then the distance of that communication link equals one hop. However, if the child attaches to its parent via a RF link (bandwidth 9600 baud), then the distance of that communication link equals 3 hops.
Initially, only the root gateway node 20 is broadcasting HELLO messages and only nodes 40, 42 and 44 are within range of the HELLO messages broadcast by the gateway. Therefore, after the listening period has expired, nodes 40, 42 and 44 request attachment to the gateway node 20. The unattached nodes 40, 42, and 44 send ATTACH.request packets and the attached gateway node 20 acknowledges the ATTACH.request packets with ATTACH.confirm packets. The newly attached bridges are assigned the status ATTACHED and begin broadcasting their own HELLO packets, looking for other unattached bridges. Again, the remaining unattached nodes attempt to attach to the attached nodes that are logically closest to the root node. For example, node 48 is within range of HELLO messages from both nodes 40 and 42. However, node 40 is three hops, via an RF link, away from the gateway root node 20 and node 42 is only one hop, via a hard-wired link, away from the gateway root node 20. Therefore, node 48 attaches to node 42, the closest node to the gateway root node 20.
The sending of HELLO messages, ATTACH.request packets and ATTACH.confirm packets continues until the entire spanning tree is established. In addition, attached bridges may also respond to HELLO messages. If a HELLO message indicates that a much closer route to the root node is available, the attached bridge sends a DETACH packet to its old parent and an ATTACH.request packet to the closer node. To avoid instability in the system and to avoid overloading any given node, an attached bridge would only respond to a HELLO message if the hop count in a HELLO packet is greater than a certain threshold value, CHANGE.sub.-- THRESHOLD. In the preferred embodiment, the value of the CHANGE.sub.-- THRESHOLD equals 3. In this manner, an optimal spanning tree is formed that is capable of transmitting data without looping.
Nodes, other than the gateway root node, after acknowledging an ATTACH.request packet from a previously unattached node, will send the ATTACH.request packet up the branches of the spanning tree to the gateway root node. As the ATTACH.request packet is being sent to the gateway root node, other nodes attached on the same branch record the destination of the newly attached node in their routing entry table. When the ATTACH.request packet reaches the gateway root node, the gateway root node returns an end-to-end ATTACH.confirm packet.
After the spanning tree is initialized, the RF terminals may optionally broadcast ATTACH.request packets with a global destination address to solicit HELLO packets from any attached nodes. To avoid having multiple nodes respond to a given ATTACH.request packet, the nodes wait a BACKOFF period of time before responding. In the preferred embodiment, the BACKOFF time is weighted for each attached node based on the current load on the node and the distance from the root node. For example, if a node is heavily loaded and/or far away from the gateway root node, the node waits a longer time to respond than nodes lightly loaded and closer to the gateway root node. Of course, the weighting scheme can vary greatly depending upon the desired goal.
After receiving HELLO messages from attached nodes, an RF terminal sends an ATTACH.request packet to attach to the node logically closest to the root. For example, RF terminal 110 is physically closer to node 44. However, node 44 is three hops, via an RF link, away from the gateway root node 20 and node 42 is only one hop, via a hard-wired link, away from the gateway root node 20. Therefore RF terminal 110, after hearing HELLO messages from both nodes 42 and 44, attaches to node 42, the closest node to the gateway root node 20. Similarly, RF terminal 114 hears HELLO messages from nodes 48 and 50. Nodes 48 and 50 are both four hops away from the gateway root node 20. However, node 48 has two RF terminals 110 and 112 already attached to it while node 50 has only one RF terminal 116 attached to it. Therefore, RF terminal 114 will attach to node 50, the least busy node of equal distance to the gateway root node 20.
The attached node acknowledges the ATTACH.request and sends the ATTACH.request packet to the gateway root node. Then, the gateway root node returns an end-to-end ATTACH.confirm packet. In this manner, the end-to-end ATTACH.request functions as a discovery packet enabling the gateway root node, and all other nodes along the same branch, to learn the address of the RF terminal quickly. This process is called backward learning. Nodes learn the addresses of terminals by monitoring the traffic from terminals to the root. If a packet arrives from a terminal that is not contained in the routing table of the node, an entry is made in the routing table. The entry includes the terminal address and the address of the node that sent the packet. In addition, an entry timer is set for that terminal. The entry timer is used to determine when RF terminals are actively using the attached node. Nodes maintain entries only for terminals that are actively using the node for communication. If the entry timer expires due to lack of communication, the RF terminal entry is purged from the routing table.
The RF links among the RF terminals, the bridges, and the gateway are often lost. Therefore, a connection-oriented data-link service is used to maintain the logical node-to-node links. In the absence of network traffic, periodic messages are sent and received to ensure the stability of the RF link. As a result, the loss of a link is quickly detected and the RF Network can attempt to establish a new RF link before data transmission from the host computer to an RF terminal is adversely affected.
Communication between terminals and the host computer is accomplished by using the resulting RF Network. To communicate with the host computer, an RF terminal sends a data packet to the bridge closest to the host computer. Typically, the RF terminal is already attached to the bridge closest to the host computer. However, RF terminals are constantly listening for HELLO messages from other bridges and may attach to, and then communicate with, a bridge in the table of bridges that is closer to the particular RF terminal.
Under certain operating conditions, duplicate data packets can be transmitted in the RF Network. For example, it is possible for an RF terminal to transmit a data packet to its attached node, for the node to transmit the acknowledgement frame, and for the RF terminal not to receive the acknowledgement. Under such circumstances, the RF terminal will retransmit the data. If the duplicate data packet is updated into the database of the host computer, the database would become corrupt. Therefore, the RF Network of the present invention detects duplicate data packets. To ensure data integrity, each set of data transmissions receives a sequence number. The sequence numbers are continuously incremented, and duplicate sequence numbers are not accepted.
When a bridge receives a data packet from a terminal directed to the host computer, the bridge forwards the data packet to the parent node on the branch. The parent node then forwards the data packet to its parent node. The forwarding of the data packet continues until the gateway root node receives the data packet and sends it to the host computer. Similarly, when a packet arrives at a node from the host computer directed to an RF terminal, the node checks its routing entry table and forwards the data packet to its child node which is along the branch destined for the RF terminal. It is not necessary for the nodes along the branch containing the RF terminal to know the ultimate location of the RF terminal. The forwarding of the data packet continues until the data packet reaches the final node on the branch, which then forwards the data packet directly to the terminal itself.
Communication is also possible between RF terminals. To communicate with another RF terminal, the RF terminal sends a data packet, using the CSMA Non-Persistent protocol, to its attached bridge. The letters CSMA stand for Carrier Sense Multiple Access. When the bridge receives the data packet from a terminal directed to the host computer, the bridge checks to see if the destination address of the RF terminal is located within its routing table. If it is, the bridge simply sends the message to the intended RF terminal. If not, the bridge forwards the data packet to its parent node. The forwarding of the data packet up the branch continues until a common parent between the RF terminals is found. Then, the common parent (often the gateway node itself) sends the data packet to the intended RF terminal via the branches of the RF Network.
During the normal operation of the RF Network, RF terminals can become lost or unattached to their attached node. If an RF terminal becomes unattached, for whatever reason, its routing entry is purged and the RF terminal broadcasts an ATTACH.request packet with a global destination address to solicit HELLO packets from any attached nodes. Again, to avoid having multiple nodes respond to a given global ATTACH.request packet, the nodes wait a BACKOFF period of time before responding. After receiving HELLO messages from attached nodes, the RF terminal sends an ATTACH.request packet to the attached node closest to the root. That attached node acknowledges the ATTACH.request and sends the ATTACH.request packet onto the gateway root node. Then, the gateway root node returns an end-to-end ATTACH.confirm packet.
Bridges can also become lost or unattached during normal operations of the RF Network. If a bridge becomes lost or unattached, all routing entries containing the bridge are purged. The bridge then broadcasts an ATTACH.request with a global bridge destination address. Attached nodes will broadcast HELLO packets immediately if they receive an ATTACH.request packet with a global destination address. This helps the lost node re-attach. Then, the bridge enters the LISTEN state to learn which attached nodes are within range. The unattached bridge analyzes the contents of broadcast HELLO messages to determine whether to request attachment to the broadcasting node. Again, the bridge attempts to attach to the node that is logically closest to the root node. After attaching to the closest node, the bridge begins broadcasting HELLO messages to solicit ATTACH.requests from other nodes or RF terminals.
The spread-spectrum system provides a hierarchical radio frequency network of online terminals for data entry and message transfer in a mobile environment. The network is characterized by sporadic data traffic over multiple-hop data paths consisting of RS485 or ethernet wired links and single-channel direct sequenced spread spectrum links. The network architecture is complicated by moving, hidden, and sleeping nodes. The spread spectrum system consists of the following types of nodes:
Terminal controller--A gateway which passes messages from a host port to the RF network; and which passes messages from the network to the host port. The host port (directly or indirectly) provides a link between the controller and a "host" computer to which the terminals are logically attached.
Repeater--An intermediate relay node which is used to extend the range of the controller node. Repeater-to-controller or repeater-to-repeater links can be wired or wireless RF.
Terminal--Norand RF hand-held terminals.
The nodes are generally organized as an (optimal) spanning tree, with the controller at the root, repeaters on branches of the tree, and terminals as (mobile) leaves on the tree. Like a sink tree, nodes closer to the root of the spanning tree are said to be "downstream" from nodes which are farther away. Conversely, all nodes are "upstream" from the root. Packets ar only sent along branches of the spanning tree. Nodes in the network use a "BACKWARD LEARNING" technique to route packets along the correct branch.
The basic requirements of the system are the following.
a) Wired or wireless node connections.
b) Network layer transparency.
c) Dynamic/automatic network routing configuration.
d) Terminal mobility. Terminals should be able to move about the RF network without losing a transport connection.
e) Ability to accommodate sleeping terminals.
f) Ability to locate terminals quickly.
g) Built-in redundancy. Lost nodes should have minimal impact on the network.
h) Consistent routing algorithm despite heterogeneous physical links.
The software for the spread-spectrum system is functionally layered as follows. A Medium Access Control (MAC) regulates access to the network in several ways. First, a form of p-persistent CSMA is used to gain access to the network in contention situations. Next, a COLLISION AVOIDANCE scheme gives channel access priority to the recipient of a uni-cast message. Finally, periodic "hello" messages are sent in discrete "hello slots" at calculated intervals. Nodes refrain from transmitting during busy hello slots.
A Data Link Control (DLC) layer is responsible for providing reliable transmission between any two nodes in the network (i.e., terminal-to-repeater).
A network layer has several functions, as follows.
1) The network layer uses a "hello protocol" to organize nodes in the network into an optimal spanning tree rooted at the controller. (A spanning tree is required to prevent loops in the topology.) Interior branches of the spanning tree are relatively stable (i.e., the controller and repeaters do not move often). Terminals, which are leaves on the spanning tree, become unattached, and must be reattached frequently.
2) The network layer routes messages from terminals to the host, from the host to terminals, and from terminals to terminals along branches of the spanning tree.
3) The network layer provides a service for storing messages for SLEEPING terminals. Messages which cannot be delivered immediately can be saved by the network entity in a parent node for one or more hello times.
4) The network layer propagates lost node information throughout the spanning tree.
5) The network layer maintains the spanning tree links in the absence of regular data traffic.
A transport layer is responsible for establishing and maintaining a reliable end-to-end data path between transport access points in any two nodes in the network. The transport layer provides unreliable, reliable and a transaction-oriented services. The transport layer should be immune to implementation changes in the network layer.
The responsibilities of the transport layer include the following.
1) Establishing and maintaining TCP-like connections for reliable root-to-terminal data transmission.
2) Maintaining VMTP-like transaction records for reliable transient message passing between any two nodes.
3) Detecting and discarding duplicate packets.
4) Retransmitting lost packets.
Layers 1 through 4 are self-contained within the Norand RF network, and are independent of the host computer and of terminal applications. The session layer (and any higher layers) are dependent on specific applications. Therefore, the session protocol (and higher protocols) must be implemented as required. Note that a single transport access point is sufficient to handle single sessions with multiple nodes. Multiple concurrent sessions between any two nodes could be handled with a session identifier in a session header.
Network address requirements are as follows. DLC frames contain a hop destination and source address in the DLC header. Network packets contain an end-to-end destination and a source address in the network header. Transport messages do not contain an address field; instead, a transport connection is defined by network layer source and destination address pairs. Multiple transport connections require multiple network address pairs.
The transport header contains a TRANSPORT ACCESS POINT identifier. DLC and network addresses are consistent and have the same format. Each node has a unique LONG ADDRESS which is programmed into the node at the factory. The long address is used only to obtain a SHORT ADDRESS from the root node.
The network entity in each node obtains a SHORT ADDRESS from the root node, which identifies the node uniquely. The network entity passes the short address to the DLC entity. Short addresses are used to minimize packet sizes.
Short addresses consist of the following. There is:
an address length bit (short or long).
a spanning tree identifier.
a node-type identifier. Node types are well known.
a unique multi-cast or broadcast node identifier.
The node-identifier parts of root addresses are well known and are constant. A default spanning tree identifier is well known by all nodes. A non-default spanning tree identifier can be entered into the root node (i.e., by a network administrator) and advertised to all other nodes in "hello" packets. The list of non-default spanning trees to which other nodes can attach must be entered into each node.
A node-type identifier of all 1's is used to specify all node types. A node identifier of all 1's is used to specify all nodes of the specified type. A DLC identifier of all 0's is used to specify a DLC entity which does not yet have an address. The all-0's address is used in DLC frames that are used to send and receive network ADDRESS packets. (The network entity in each node filters ADDRESS packets based on the network address.)
Short-address allocation is accomplished as follows. Short node identifiers of root nodes are well known. All other nodes must obtain a short node identifier from the root. To obtain a short address, a node sends an ADDRESS request packet to the root node. The source addresses (i.e., DLC and network) in the request packet are LONG ADDRESSES. The root maintains an address queue of used and unused SHORT ADDRESSES. If possible, the root selects an available short address, associates the short address with the long address of the requesting node, and returns the short address to the requesting node in an ADDRESS acknowledge packet. (Note that the destination address in the acknowledge packet is a long address.)
A node must obtain a (new) short address initially and whenever an ADDRESS-TIMEOUT inactivity period expires without having the node receive a packet from the network entity in the root.
The network entity in the root maintains addresses in the address queue in least recently used order. Whenever a packet is received, the source address is moved to the end of the queue. The address at the head of the queue is available for use by a requesting node if it has never been used or if it has been inactive for a MAX-ADDRESS-LIFE time period.
MAX-ADDRESS-LIFE must be larger than ADDRESS-TIMEOUT to ensure that an address is not in use by any node when it becomes available for another node. If the root receives an ADDRESS request from aa source for which an entry exists in the address queue, the root simply updates the queue and returns the old address.
The network layer organizes nodes into an optimal spanning tree with the controller at the root of the tree. (Note that the spanning tree identifier allows two logical trees to exist in the same coverage area.) Spanning tree organization is facilitated with a HELLO protocol which allows nodes to determine the shortest path to the root before attaching to the spanning tree. All messages are routed along branches of the spanning tree.
Nodes in the network are generally categorized as ATTACHED or UNATTACHED. Initially, only the root (controller) node is attached. Attached non-terminal nodes transmit "HELLO" packets at calculated intervals. The HELLO packets include:
a) the source address, which includes the spanning tree ID).
b) a broadcast destination address.
c) a "seed" value used to calculate the time of the next hello message.
d) a hello slot displacement. The displacement specifies the displacement of the actual hello slot time from the calculated hello slot time.
e) the distance (i.e., path cost) of the transmitter from the host. The incremental portion of the distance between a node and its parent is primarily a function of the type of physical link (i.e., ethernet, RS485, RF, or the like). If a signal-strength indicator is available, connections are biased toward the link with the best signal strength. The distance component is intended to bias path selection toward (i.e., wired) high-speed connections. Setting a minimum signal strength threshold helps prevent sporadic changes in the network. In addition, connections can be biased to balance the load (i.e., the number of children) on a parent node.
f) a pending message list. Pending message lists consist of 0 or more destination-address/message-length pairs. Pending messages for terminals are stored in the terminal's parent node.
g) a detached-node list. Detached-node lists contain the addresses of nodes which have detached from the spanning tree. The root maintains two lists. A private list consists of all detached node addresses and an advertised list consists of the addresses of all detached nodes which have pending transport messages. The addresses in the hello packet are equivalent to the advertised list.
An internal node learns which entries should be in its list from hello messages transmitted by its parent node. The root node builds its detached-node lists from information received in DETACH packets. Entries are included in hello messages for DETACH-MSG-LIFE hello times.
Attached notes broadcast "SHORT HELLO" messages immediately if they receive an "ATTACH. request" packet with a global destination address; otherwise, attached nodes will only broadcast hello messages at calculated time intervals in "hello slots." Short hello messages do not contain a pending-message or detached-node list. Short hello messages are sent independently of regular hello messages and do not affect regular hello timing.
Unattached nodes (nodes without a parent in the spanning tree) are, initially, in an "UNATTACHED LISTEN" state. During the listen state, a node learns which attached repeater/controller is closest to the root node by listening to hello messages. After the listening period expires an unattached node sends an ATTACH.request packet to the attached node closest to the root. The attached node immediately acknowledges the ATTACH.request, and sends the ATTACH.request packet onto the root (controller) node. The root node returns the request as an end-to-end ATTACH.confirm packet. If the newly-attached node is a repeater, the node calculates its link distance and adds the distance to the distance of its parent before beginning to transmit hello messages.
The end-to-end ATTACH.request functions as a disxovery packet, and enables the root node to learn the address of the source node quickly. The end-to-end ATTACH.request, when sent from a node to the root, does not always travel the entire distance. When a downstream node receives an ATTACH.request packet and already has a correct routing entry for the associated node, the downstream node intercepts the request and returns the ATTACH.confirm to the source node. (Note that any data piggybacked on the ATTACH.request packet must still be forwarded to the host.) This situation occurs whenever a "new" path has more than one node in common with the "old" path.
The LISTEN state ends after MIN.sub.-- HELLO hello time slots if hello messages have been received from at least one node. If no hello messages have been received the listening node waits and retries later.
An attached node may respond to a hello message from a node other than its parent (i.e., with an ATTACH.request) if the difference in the hop count specified in the hello packet exceeds a CHANGE-THRESHOLD level.
Unattached nodes may broadcast a GLOBAL ATTACH.request with a multi-cast repeater destination address to solicit short hello messages from attached repeaters. The net effect is that the LISTEN state may (optionally) be shortened (Note that only attached repeater or the controller may respond to ATTACH.requests.) Normally, this facility is reserved for repeaters with children and terminals with transactions in progress.
ATTACH.requests contain a (possibly empty) CHILD LIST, to enable internal nodes to update their routing tables. ATTACH.requests also contain a "count" field which indicates that a terminal may be SLEEPING. The network entity in the parent of a SLEEPING terminal can temporarily store messages for later delivery. IF the count field is non-zero, the network entity in a parent node will store pending messages until 1) the message is delivered, or 2) "count" hello times have expired.
Transport layer data can be piggybacked on an attached request packet from a terminal. (i.e., an attach request/confirm can be implemented with a bit flag in the network header of a data packet.)Network layer routing
All messages are routed along branches of the spanning tree. Repeaters "learn" the address of terminals by monitoring traffic from terminals (i.e., to the root). When a repeater receives (i.e., an ATTACH.request) packet, destined for the root, the repeater creates or updates an entry in its routing table for the terminal. The entry includes the terminal address, and the address of the repeater which sent the packet (i.e., the hop address). When a repeater receives an upstream packet (i.e., from the root, destined for a terminal) the packet is simply forwarded to the repeater which is in the routing entry for the destination. Upstream messages (i.e., to a terminal) are discarded whenever a routing entry does not exist. Downstream messages (i.e., from a terminal to the root) are simply forwarded to the next downstream node (i.e, the parent in the branch of the spanning tree.
TERMINAL-TO-TERMINAL COMMUNICATIONS is accomplished by routing all terminal-to-terminal traffic through the nearest common ancestor. In the worst case, the root is the nearest common ancestor. A "NAME SERVER" facilitates terminal-to-terminal communications (see below).
DELETING INVALID ROUTING TABLE ENTRIES is accomplished in several ways: connection oriented transport layer ensures that packets will arrive from nodes attached to the branch of the spanning tree within the timeout period, unless a node is disconnected.)
2) Whenever the DLC entity in a parent fails RETRY MAX times to send a message to a child node, the node is logically disconnected from the spanning tree, with one exception. If the child is a SLEEPING terminal, the message is retained by the network entity in the parent for "count" hello times. The parent immediately attempts to deliver the message after it sends its next hello packet. If, after "count" hello times, the message cannot be delivered, then the child is logically detached from the spanning tree. Detached node information is propagated downstream to the root node, each node in the path of the DETACH packet must adjust its routing tables appropriately according to the following rules: a) if the lost node is a child terminal node, the routing entry for the terminal is deleted and a DETACH packet is generated, b) if the node specified in DETACH packet is a terminal and the node which delivered the packet is the next hop in the path to the terminal, then the routing table entry for the terminal is deleted and the DETACH packet is forwarded, c) if the lost node is a child repeater node then all routing entries which specify that repeater as the next hop are deleted and a DETACH packet is generated for each lost terminal.
When DETACH packets reach the root node, they are added to a "detached list." Nodes remain in the root node's detached list until a) the node reattaches to the spanning tree, or b) the list entry times out. The detached list is included in hello messages and is propagated throughout the spanning tree.
For example, if a terminal detaches and reattaches to a different branch in the spanning tree, all downstream nodes in the new branch (quickly) "learn" the new path to the terminal. Nodes which were also in the old path change their routing tables and no longer forward packets along the old path. At least one node, the root, must be in both the old and new patch. A new path is established as soon as an end-to-end attach request packet from the terminal reaches a node which was also in the old path.
4) A node (quickly) learns that it is detached whenever it receives a hello message, from any node, with its address in the associated detached list. The detached node can, optionally, send a global ATTACH.request, and then enters the UNATTACHED LISTEN state and reattaches as described above. After reattaching, the node must remain in a HOLD-DOWN state until its address is aged out of all detached lists. During the HOLD-DOWN state the node ignores detached lists.
5) A node becomes disconnected and enters the UNATTACHED LISTEN state whenever HELLO-RETRY-MAX hello messages are missed from its parent node.
6) A node enters the ATTACHED LISTEN state whenever a single hello message, from its parent, is missed. SLEEPING terminals remain awake during the ATTACHED LISTEN state. The state ends when the terminal receives a data or hello message from its parent. The terminal becomes UNATTACHED when a) its address appears in the detached list of a hello message from a node other than its parent, or b) HELLO-RETRY-MAX hello messages are missed. The total number of hello slots spent in the LISTEN state is constant.
If a node in the ATTACHED LISTEN state discovers a path to the root which is CHANGE-THRESHOLD shorter, it can attach to the shorter path. Periodically, SLEEPING terminals must enter the ATTACHED LEARN state to discover any changes (i.e., shorter paths) in the network topology.Hello synchronization
All attached non-terminal nodes broadcast periodic "hello" messages in discrete "hello slots" at calculated intervals. Repeater nodes learn which hello slots are busy and refrain from transmitting during busy hello slots.
A terminal refrains from transmitting during the hello slot of its parent node and refrains from transmitting during message slots reserved in a hello message.
The hello message contains a "seed" field used in a well-known randomization algorithm to determine the next hello slot for the transmitting node and the next seed. The address of the transmitting node is used as a factor in the algorithm to guarantee randomization. Nodes can execute the algorithm i times to determine the time (and seed) if the i-th hello message from the transmitter.
After attaching, a repeater chooses a random initial seed and a non-busy hello slot and broadcasts a hello message in that slot. The repeater chooses succeeding hello slots by executing the randomization algorithm. If an execution of the algorithm chooses a busy slot, the next free slot is used and a hello "displacement" field indicates the offset from the calculated slot. Cumulative delays are not allowed (i.e., contention delays during the i hello transmission do not effect the time of the i+1 hello transmission).
HELLO-TIME and HELLO-SLOT-TIME values are set by the root node and flooded throughout the network in hello messages. The HELLO-SLOT-TIME value must be large enough to minimize hello contention.
A node initially synchronizes on a hello message from its parent. A SLEEPING node can power-down with an active timer interrupt to wake it just before the next expected hello message. The network entity in repeater nodes can store messages for SLEEPING nodes and transmit them immediately following the hello messages. This implementation enables SLEEPING terminals to receive unsolicited messages. (Note that the network layer always tries to deliver messages immediately, before storing them.) Retries for pending messages are transmitted in a round-robin order when messages are pending for more than one destination.
Note that a child node that misses i hello messages, can calculate the time of th i+1 hello message.Transport layer theory and implementation notes
The transport layer provides reliable, unreliable, and transaction-oriented services. Two types of transport connections are defined: 1) a TCP-like transport connection may be explicitly requested for long-lived connections or 2) a VMTP-like connection-record may be implicitly set up for transient connections. In addition, a connectionless service is provided for nodes which support an end-to-end transport connection with the host computer.
The interfaces to the next upper (i.e., application) layer include:
SEND (handle, buffer, length, [destination])
DATAGRAM (handle, buffer, length, [destination])
TRANSACTION (handle, tx-buf, tx-len, rx-buf, max-rx-len, IDEMPOTENT, [destination])
RECEIVE (handle, buffer, max-length, [destination])
PENDING-MESSAGE (handle, [destination])
The "handle" designates the connection type, and is the connection identifier for TCP-like connections. The optional "destination" field is only used for the VMTP-like interface. (The destination is specified in a CONNECT call for the TCP-like interface.)
SEND messages require a response from the network node (root or terminal) to which the message is directed.
DATAGRAM messages do not require a response. DATAGRAM is used to send messages to a host which is capable of supporting end-to-end host-to-terminal transport connections.
TRANSACTION is used to send transaction-oriented messages. An error occurs if a return message is not received in a TRXN-TIMEOUT period. The transport entity saves response messages and resends the response when a duplicate transaction message is received. In addition, an application can mark a transaction as redoable, by setting the IDEMPOTENT flag ON. In this case, the response message is not saved and the response is regenerated by re-executing the transaction. Note that a response message can be guaranteed in the form of a higher layer acknowledgement protocol.
Because the network layer provides an unreliable service, the transport layer is required to detect duplicate packets and retransmit lost packets. Detecting duplicates is facilitated by numbering transport packets with unambiguous sequence numbers.Transport connections
TCP-like transport connections are used for message transmission over long-lived connections. The connections may be terminal-to-root or terminal-to-terminal (i.e., repeaters are not involved in the transport connection).
TCP-like transport connections are established using a 3-way handshake. Each end selects its initial sequence number and acknowledges the other end's initial sequence number during the handshake. The node which initiates the connection must wait a MAX-PACKET-LIFE time, before requesting a connection, to guarantee that initial sequence numbers ar unambiguous. Sequence numbers are incremented modulo MAX-SEQ, where MAX-SEQ is large enough to insure that duplicate sequence numbers do not exist in the network. Packet types for establishing and breaking connections are defined as in TCP.
A TCP-like connection is full-duplex and a sliding window is used to allow multiple outstanding transport packets. An ARQ bit in the transport header is used to require an immediate acknowledgment from the opposite end.
VMTP-like connections are used for transient messages (i.e. terminal-to-terminal mail messages). VMTP-like connection records are built automatically. A VMTP-like connection record is built (or updated) whenever a VMTP-like transport message is received. The advantage is that an explicit connection request is not required. The disadvantage is that longer and more carefully selected sequence numbers are required. A VMTP-like connection is half-duplex. (A full-duplex connection at a higher layer can be built with two independent half-duplex VMTP-like connections.) Acknowledgments must be handled by higher layers.
Transport connections are defined by the network end-to-end destination and source addresses.
A MAX.sub.-- TP.sub.-- LIFE timeout is associated with transport connections. Transport connection records are purged after a MAX.sub.-- TP.sub.-- LIFE time expires without activity on the connection. The transport entity in a terminal can ensure that its transport connection will not be lost by transmitting an empty time-fill transport packet whenever TP.sub.-- TIMEOUT time expires without activity.
The transport entity in a node stores messages for possible retransmission. Note that retransmissions may not always follow the same path (primarily) due to moving terminals and the resulting changes in the spanning tree. For example, the network entity in a parent node may disconnect a child after the DLC entity reports a message delivery failure. The child will soon discover that it is detached and will reattach to the spanning tree. Now when the transport entity (i.e. in the root) resends the message, it will follow the new path.Transport message timing and sleeping terminals
The transport entity in a terminal calculates a separate timeout for SEND and TRANSACTION operations. Initially, both timeouts are a function of the distance of the terminal from the root node.
A TCP-like algorithm is used to estimate the expected propagation delay for each message type. Messages, which require a response, are retransmitted if twice the expected propagation time expires before a response is received. SLEEPING terminals can power down for a large percentage of the expected propagation delay before waking up to receive the response message. Note that missed messages may be stored by the network layer for "count" hello times.Medium Access Control (MAC) theory and implementation notes
Access to the network communications channel is regulated in several ways: executing the full CSMA algorithm (see MAC layer above). The sender retransmits unacknowledged messages until a RETRY.sub.-- MAX count is exhausted.
The retry time of the DLC must be relatively short so that lost nodes can be detected quickly. When the DLC layer reports a failure to deliver a message to the network layer, the network layer can 1) save messages for SLEEPING terminals for later attempts, or 2) DETACH the node from the spanning tree. Note that most lost nodes are due to moving terminals.
The node identifier part of the DLC address is initially all 0's for all nodes except the root node. The all 0's address is used to by a node to send and receive data-link frames until a unique node identifier is passed to the DL entity in the node. (The unique node identifier is obtained by the network entity.)Address resolution
Well-known names too are bound to network addresses in several ways:
The network address and TRANSPORT ACCESS ID of a name server, contained in the root, is well-known by all nodes.
A node can register a well-known name with the namer server contained in the root node.
A node can request the network access address of another application from the name server by using the well-known name of the application.Possible extensions
Repeater-to-repeater traffic could also be routed through the controller if the backward learning algorithm included repeater nodes. (Each repeater would simply have to remember which direction on its branch of the spanning tree to send data directed toward another repeater.)
The possibility of multiple controllers is kept open by including a spanning-tree identifier in address fields. Each controller defines a unique spanning tree. A node can be in more than one spanning tree, with separate network state variables defined for each.
Thus, the preferred embodiment of the present invention describes an apparatus and a method of efficiently routing data through a network of intermediate base stations in a radio data communication system.
In alternate embodiments of the present invention, the RF Networks contain multiple gateways. By including a system identifier in the address field of the nodes, it is possible to determine which nodes are connected to which networks.
As is evident from the description that is provided above, the implementation of the present invention can vary greatly depending upon the desired goal of the user. However, the scope of the present invention is intended to cover all variations and substitutions which are and which may become apparent from the illustrative embodiment of the present invention that is provided above, and the scope of the invention should be extended to the claimed invention and its equivalents.
1. In a multi-hop data communication system having a host computer node, a plurality of bridging nodes, and a plurality of mobile transceiver nodes, all communicative with a gateway root node, a local area network comprising:
- said plurality of bridging nodes organized to control the flow of data along communication pathways between said bridging nodes and said gateway root node by periodically broadcasting messages indicating the logical distance to said gateway root node so that said bridging nodes may communicatively attach to nodes logically closest to said gateway root node.
2. The local area network of claim 1 wherein:
- said local area network is capable of routing information between said host computer node, said bridging nodes, said mobile transceiver nodes, and said gateway root node using RF signals.
3. The local area network of claim 1 wherein:
- said communication pathways are created and maintained by said bridging nodes using a HELLO protocol.
4. The local area network of claim 2 wherein: said RF signals incorporate spread spectrum technology.
5. A method of routing information in a multi-hop data communication system having a host computer node, a plurality of bridging nodes, and a plurality of mobile transceiver nodes, all communicative with a gateway, comprising the following steps:
- organizing said data communication system with said gateway at the root;
- periodically broadcasting messages from said gateway;
- attaching those of said bridging nodes which receive the messages to said gateway;
- periodically broadcasting messages from said bridging nodes that indicate a logical distance to said gateway; and
- attaching by said bridging nodes to other of said plurality of bridging nodes that provide the minimum logical distance to said gateway.
6. The method of claim 5 wherein:
- said step of organizing said data communication system is achieved by said bridging nodes attaching to others of said bridging nodes logically closest to the gateway without overloading any one of said bridging nodes.
7. The method of claim 6 wherein:
- said attached bridging nodes use a backward learning technique to learn the correct path to route data communication between said host computer node and said mobile transceiver nodes.
|November 28, 1989
|December 5, 1989
|Gopal et al.
|July 2, 1991
|July 9, 1991
|Miller et al.
|April 7, 1992
|May 26, 1992
|Hauptschein et al.
|July 7, 1992
|August 25, 1992
|October 20, 1992
|September 1988
|February 1992
- L. Kleinrock and F. A. Tobagi, "Packet Switching in Radio Channels; Part IV-Stability Considerations and Dynamic Control in Carrier Sense Multiple Access," IEEE Transactions on Communications, vol. COM-25, No. 10, Oct. 1977. M. B. Pursley, "The Role of Spread Spectrum in Packet Radio Networks," Proceedings of the IEEE, vol. 75, No. 1, Jan. 1987. J. O. Onunga and R. W. Donaldson, "Performance Analysis of CSMA with Priority Acknowledgments (CSMA/PA) on Noisy Data Networks with Finite User Population," IEEE Transactions on Communications, vol. 39, No. 7, Jul. 1991. L. Kleinrock and J. Silvester, "Spatial Rouse in Multihop Packet Radio Networks," Proceedings of the IEEE, vol. 75, No. 1, Jan. 1987. F. Backes,"Transparent Bridges for Interconnection of IEEE 802 LANs," IEEE Network, vol. 2, No. 1, Jan. 1988. International Standard ISO/DIS 8802-2.2. A. S. Tanenbaum, "Computer Networks," Prentice Hall, Second Edition. D. E. Comer, "Internetworking with TCP/IP", Prentice Hall.
Type: Grant
Filed: May 3, 1993
Date of Patent: Mar 15, 1994
Assignee: Norand Corporation (Cedar Rapids, IA)
Inventors: Robert C. Meier (Cedar Rapids, IA), Marvin L. Sojka (Cedar Rapids, IA), Ronald E. Luse (Cedar Rapids, IA)
Primary Examiner: David C. Cain
Law Firm: McAndrews, Held & Malloy, Ltd.
Application Number: 8/56,827
International Classification: H04K 100;


text:
Versatile director Jandhyala is not only known for great comedies but also for interesting titles he used to keep for his movies. Jandhyala used to score first points and good impression with interesting titles. Now PVR cinemas also got attracted towards a film which had Jandhyala title and after watching it, they decided to release the film.
Getting into details, debutante film maker Dharma Donepudi made a buddy comedy movie with the title Rendu Rellu Naluge (RR4). This title of Dharma Donepudi movie grabbed much needed attention from PVR cinemas and it helped for smooth release of RR4 movie.
Rendu Rellu Naluge (RR4) has received a U/A certificate from the censor board and the movie will be hitting theaters on December 5th world-wide. Rendu Rellu Naaluge is a new age drama inspired by real life events and has been entirely shot in the US. Harsha, Mohan, Sirisha and Christine played lead roles.
Audio teasers released on several social media sites have thus far generated an excellent response. Srikanth Devarajan gave music, Srikanth Bujamella is the cinematography and Dharma Donepudi directed and produced RR4 on Hippo Media Studios.


text:
Baan Khao Sok Resort
Baan Khao Sok Resort is run by a family located just a few kilometres from Khao Sok National Park. The resort restaurant situates next to a resort private canal. Tree houses and garden bangalows are in the midst of flowers, gardens and fruit orchards. With its tranquil and nature abundance, you will have a chance to see birds, squirrel and jungle fowls come out for food. Shops and ATM just short walk from the resort.
The Khao Sok National Park is both a nature lover's paradise and a giant playground where you can trek in the rainforest, ride an elephant, go on a night safari, and even dive to sunken temples at the bottom of a lake. For tour arrangement, please go to Activities


text:
Florals are a staple across any David Lawrence collection. Whether it be in a bold all-over print for an evening dress or a subtle pattern in a luxurious silk scarf, this year is no exception. The Autumn/Winter season saw our design team create a story around the beautiful Lotus flower that saw 4 pieces created featuring an exclusive in-house pattern.
The print is brought to life in lady-like cuts through a dress, silk pussy-bow blouse, printed top and elegant scarf. Featuring a dark base for winter, juxtaposed with bold colours of fuchsia and navy to really bring a pop of colour to each piece.
Starting from a hand drawn concept and then meticulously worked on to reach the final product, this Lotus print gives a dash of dark drama and gothic romance for the season. Ideal for eveningwear, mix with velvet and lace for a slightly more edgy allure.
Discover more below.
Shop the story:


text:
Midi Vision Sauna Cabin
Yes, it is possible for a sauna to feel roomy and yet be compact in size at the same time! This exclusive but welcoming design with practical corner access has been specially developed to fit elegantly into both public facilities and home spas.
Round Vision Sauna Cabin
The uniquely innovative shape of Round Vision has set a totally new standard for what a sauna room can look like. With its large expanses of glass, beautifully rounded front and alderwood frame, this sauna is an aesthetic exclamation mark in any contemporary bathroom.
Space Vision Sauna Cabin
The name says it all. Space Vision has been designed for those who enjoy saunas surrounded by light and a sensation of space. Among the most distinctive characteristics of this exclusive range of sauna rooms are the bold sweep of the rounded corner and the generous expanses of glass.


text:
Laila Arad-AllanDirector of Product Management, Software MonetizationGemalto
Many vendors selling such hardware as gaming machines or industrial equipment are in the early adoption phase of transforming to a recurring revenue model and selling "value." And many have encountered challenges from trying to handle the transformation on their own. This article discusses the trend, how it eliminates gray-market risks, reduces inventory, improves customer experience, and the optimal way to address the transition challenges.
Ann BorzaVP of Sales and MarketingDistributed Systems Services, Inc. (DSS)
Hyperconverged infrastructure (HCI) is the latest evolution of integrated systems, delivering on both performance and simplicity. This article discusses why converged infrastructure is a popular alternative to traditional siloed architectures, ways to apply HCI and major players in the market.
Akhil Sahai, Ph.D.VP Product ManagementPerspica
Unclear definitions have led to unrealistic expectations and assumptions regarding "bimodal IT." This article explains the term, discusses why it makes sense in some cases and gives three best practices to help ease the transition and ensure that applications continue to run at optimal levels.
LicensingLive! – Nov. 1-3, 2016 in Cupertino, California
Join us for LicensingLive! in November and attend the only free conference focused on software monetization strategies.
At this conference, renowned analyst Amy Konary, research vice president, Software Licensing and Mobile Enterprise Applications, IDC, will be joined by Mark Seery, senior director, Strategy and Corporate Development, Juniper Networks, to discuss how the focus on cloud and virtualization are expediting the adoption of new software business models and what this means for intelligent device vendors and software providers. Mark will talk about the software business models and monetization approaches that Juniper Networks has implemented to successfully launch and grow innovative new businesses.
Register today to ensure your seat.
NetSuite Inc. is a leading vendor of cloud computing business management software suites. NetSuite enables companies to manage core key business operations in a single system, which includes Enterprise Resource Planning (ERP), Accounting, Customer Relationship Management (CRM), and Ecommerce. NetSuite's "real-time dashboard" technology provides an easy-to-use view into up-to-date, role-specific business information.
The Pulse is the newsletter of SandHill.com,
the online business strategy
destination for the software, cloud, Internet of Things, Big Data and mobile ecosystem. To
subscribe, click here.
Publisher: M.R. Rangaswami
Managing Editor: Kathleen Goolsby
Editor: Di Freeze
SandHill.com is
published by Sand Hill Group, which provides investment and
management advice to emerging leaders in the $600 billion enterprise software,
services, and solutions market.