text:
Print this article | Return to Article | Return to CFO.com
Corporate managers who develop comprehensive E-commerce privacy policies — and make them clear to consumers — have an opportunity to win over Internet shoppers.
Bronwyn Fryer, eCFO
April 15, 2000
In March 2000, the Information Technology Association of America, or ITAA (www.itaa.org) sent a letter to William Daley, the US Secretary of Commerce. In it, the business and technology organization essentially advised the Department of Commerce to think twice about adopting new measures that would protect the rights of consumers who shop on the Internet. The letter noted that stricter regulations on Net advertising could force many Web-site operators to offer their services on a subscription-only basis. "Internet participation could become unaffordable to many middle- and low-income Americans," wrote ITAA president Harris N. Miller.
Apparently, the ITAA felt compelled to write the letter after word got out that officials at the Commerce Department and the Federal Trade Commission were considering placing new restrictions on Internet advertisers. In the letter, the ITAA also told Secretary Daley that the industry's own regulatory practices, combined with existing laws and technology innovations, such as the Platform for Privacy Preferences, would be sufficient to protect a consumers' right to privacy.
Of course, any time an industry group says it's best left regulating itself, red flags go off in Washington, DC. Indeed, despite the ITAA's pre-emptive strike, it appears that Congress will soon pass some kind of legislation increasing privacy protection for online shoppers. In March 2000, Congress called a meeting with E-commerce industry heads to explore new E-privacy guidelines. Members of the House and Senate have also set up a task force and bipartisan caucus to examine the issue, and both parties have recently introduced a slew of Internet privacy bills. Arguably the most stringent is Sen. Robert Torricelli's (D-NJ) plan that would make it unlawful for companies to place a user profile text file on a consumer's hard drive without permission. "The fundamental right to privacy should not be sacrificed to the Information Age," Torricelli said in a statement.
At the same time, many privacy advocates want to see some kind of federal watchdog agency — the E-commerce equivalent of the Environmental Protection Agency — empowered to bring privacy violators to heel. "We need a resource within the federal government that wouldn't be subject to the vagaries of the legislative process," argues Simson Garfinkel, author of Database Nation, a book on privacy in the 21st century.
Ironic as it seems, the recent flap over Internet privacy presents an inviting opportunity for savvy managers at E-commerce operators. The fact is that corporate managers who develop comprehensive E-commerce privacy policies — and make them clear to consumers — have a real chance to win over customers.
Indeed, some surveys indicate that privacy is the number one concern of Internet shoppers. "I predict that consumers will seek out sites where they feel safe," says Randy Covill, a senior analyst for E-commerce applications and strategy with Boston-based AMR Research. "What we're looking at with the privacy debate is an opportunity for E-commerce companies to be explicit about their privacy policies, to use them to competitive advantage." In the end, the company that understands that the customer is not only always right, but always has rights, will win the loyalty of online shoppers.
Despite the brouhaha over Internet privacy violations, corporate executives remain intent on getting to know their online customers. Can't blame them. Consumers will spend anywhere from $20 billion to $40 billion shopping over the Internet in 2000, depending on which survey you look at. Forrester Research, a technology and Internet research firm, predicts that number will top $180 billion by 2004. While that's still only about 7 percent of the projected total for all retail sales, it's nevertheless a sizable market.
And seen from the perspective of the great cash register in the sky, consumer profiling is a terrific way to win some of that 7 percent. If CEOs talk about their passion for customers, customer profiling can turn that passion into hard cash. Not surprisingly, customer relationship management (CRM) is about the hottest topic on the conference circuit these days. "Personalization on the Net will continue to grow, because the demand for it is there," argues Barton Goldenberg, president of the CRM-industry consulting organization ISM.
Essentially, CRM software from heavyweights like Siebel Systems (www.siebel.com), IBM (www.ibm.com), Oracle (www.oracle.com), Baan (www.baan.com), and PeopleSoft (www.peoplesoft.com) enables companies to sift through consumer data, extracting such nuggets as who their online customers are and what they want.
CRM software helps brokerage Charles Schwab (www.schwab.com), for example, sort online customers by how much money they have in their accounts or how often they trade. Amazon.com (www.amazon.com) uses CRM applications to figure out which books customers might like. And some clothing retailers can even rely on CRM software to locate customers most likely to buy blue shirts on sale. By forming a collective memory of customer preferences, corporate managers say, they can offer better service.
But the increasing sophistication of CRM technology is also causing real problems. Massive data warehouses crammed with detailed customer information are tempting companies to slice and dice information into ever finer parts, to exploit the information by using it in ways the customer doesn't know about, or to distribute it to third parties.
Consumers flat out don't like that. According to Forrester Research, 80 percent of Internet users support a policy that prohibits the sale of data to third parties.
Even managers at some E-commerce companies have misgivings about online customer profiling. "As a marketer, there's a lot of value in speaking to customers about things they're interested in, and in using databases to collect that information," acknowledges Michael Hinshaw, CEO of Verida Internet Corp. (www.verida.com), a business-to-business E-commerce company. "But as a consumer, I worry about someone having too much access to the kind of personal information that's beneficial to marketers."
Without careful analysis of the risks of gathering and disseminating customer information, companies could quickly find themselves in hot water — with both regulators and consumers. Observes Beth Givens, project director of the San Diego-based advocacy group Privacy Rights Clearinghouse (www.privacyrights.org), "Consumers don't like the idea of some unknown entity coming to their computer, placing a cookie there, and possibly sharing information about them with some other unknown entity."
Not Exactly Girl Scout Cookies
You don't have to tell that to DoubleClick (www.doubleclick.net). In early 2000, the Silicon Alley-based online marketing company came under virulent attack from consumers and privacy advocates for its practice of placing cookies on surfer's computers. (A cookie is a text file of user data that helps E-tailers personalize Web pages for specific users, as well as identify an online customer's shopping habits. A cookie resides in browser memory, but when the browser is closed, the information is written to a file on the user's hard drive.)
DoubleClick added fuel to the fire by announcing plans to merge with direct-mail-list company Abacus Direct. Reports circulated that DoubleClick intended to match online user profiles with real-life names and addresses culled from direct-mail catalog sales.
When the news leaked out, privacy proponents went ballistic. "DoubleClick betrayed its trust," insists Garfinkel. "It created a privacy policy saying users would never be identifiable. A company that betrays its own privacy policy poisons the well for everyone." Under pressure from consumers, advocates, and legislators, DoubleClick CEO Kevin O'Connor backed off on March 2, 2000, admitting he'd miscalculated. "I made a mistake by planning to merge names with anonymous user activity across Web sites in the absence of government and industry privacy standards," he said in a statement.
But DoubleClick isn't alone under scrutiny. The Federal Trade Commission is reportedly looking into several ebusinesses, including Amazon's Alexa Internet division (www.alexa.com), which monitors Net surfers' visits. (Amazon has also been slapped with lawsuits alleging that Alexa has intercepted personal data and passed it on to Amazon and others.) In November 1999, America Online (www.aol.com) also peeved privacy advocates by requiring users who had already asked to be removed (or opted out) from AOL's marketing messages to "restate their preferences" — forcing them to opt out again.
Consumer advocates have responded to reports like these with a call for new privacy-protection laws. And the public seems to support such a move. According to a survey conducted by the Graphics, Visualization and Usability Center at the Georgia Institute of Technology (www.cc.gatech.edu/gvu/), 70 percent of respondents agreed that new privacy protection laws should be enacted. "The notion of having your consumer profile tracked is scary," says Givens. Even DoubleClick's O'Connor is now calling for "a clear set of guidelines" to protect privacy on the Internet.
As of now, those guidelines don't exist. The Online Privacy Alliance (www.privacyalliance.org), a coalition of more than 90 global companies and associations, encourages corporations to devise Internet privacy policies. The alliance, which includes AT&T, Microsoft, and Netscape, has established some guidelines to help companies shape their policies. But consumer advocates say the coalition's recommendations don't go far enough.
Without mandated standards, many corporate managers are left with some thorny ethical dilemmas. "Our customers struggle with these issues," concedes Gayle Crowell, president of E.piphany.net (www.epiphany.com), a maker of market-analysis and personalization software, in San Mateo, California. "On one hand, they want to be perceived as the Nordstrom's of online service, which requires gathering online information about customers. On the other, they're dealing with an unfamiliar medium, which moves information around fast."
That inexperience — coupled with a desire to learn more about customers — can lead some companies to step over the line. Even responsible E-tailers are worried that the recent spate of lawsuits, investigations, and all-around bad privacy publicity could cost them business. The truth is, if consumers believe that shopping over the Internet isn't private, they will go back to the mall. Analysts at one research firm say that only a small percentage of Web users with serious concerns about privacy shop online, while consumers with moderate worries spend 21 percent less than customers who feel at ease shopping online. "There's growing concern in the E-commerce world," acknowledges AMR's Covill. "If consumers fear that when they're online their privacy will be violated, they will refuse to shop."
Privacy 101
You don't have to be a rocket surgeon to know that losing a customer's confidence means losing the customer's business. Conversely, companies that quickly adopt strict online privacy rules — and let people know about it — should snare their fair share of customers. "We'll succeed only if we protect the privacy of our customers," says Terry Strom, CEO of Cameraworld.com (www.cameraworld.com), a Portland, Oregon-based seller of camera equipment over the Web. "As an industry specialist, we have to be scrupulous about preserving their trust."
The first step in preserving trust is to develop a strict and inviolable corporate privacy policy. Some believe the policy should be based on the Code of Fair Information Practices (www.epic.org/privacy/consumer/code_fair_info.html), a 30-year old law written by the Health, Education, and Welfare Advisory Committee on Automated Data Systems. According to Garfinkel, "The code does an excellent job distilling what the public sense of fair play is."
CRM-specialist Goldenberg, on the other hand, says his interpretation of fair play is that consumers must consent to the use of private information. "If information is gathered with prior consent, it's not wrong," he says. "But if you violate your privacy policy, you deserve to be hit."
Many CRM vendors — aware that it's in their best interest to help customers guard their privacy — are training customers in privacy protection. E.piphany.net's Crowell, for example, says her company goes out of its way to show its customers how to apply the company's technology in such a way that they don't receive unwanted marketing messages.
Meanwhile, some corporate managers at E-commerce companies are still hoping business will pull together to form privacy protection guidelines so that the government won't have to intervene. "I hope the industry can do its own policing," says David Fowler, vice president of marketing for Silknet (acquired by Kana, www.kana.com), a Manchester, New Hampshire-based CRM vendor. But ISM president Goldenberg isn't optimistic. "The sad part is that the private sector doesn't agree on what constitutes reasonable use of customer information," he says. "We're not seeing companies set the standards."
For their part, privacy advocates say private industry has had time to come up with workable guidelines — and has blown it. They point to the DoubleClick fiasco as proof that it's time for the government to step in. "DoubleClick's breaking its own policy illustrates why voluntary privacy policies can't work," says Garfinkel.
DoubleClick has tried to make amends. In a statement released in February, company officials announced "the most aggressive Internet privacy policy ever." That policy included hiring a chief privacy officer to oversee the company's actions.
Consumer-protection organizations remain skeptical about the company's efforts to police itself. Says Jason Catlett, head of the privacy-advocacy group Junkbusters (www.junkbusters.com): "DoubleClick's hiring a chief privacy officer is like Philip Morris saying they have a chief health officer, so smokers shouldn't worry about cancer."
Bronwyn Fryer is a freelance writer in Santa Cruz, California.


text:
Ford Custom 300 for Sale
Viewing 1 - 2 of 2 results
Selected Filters:Type of Ad: Vehicles for Sale Make: Ford Model: Custom 300 Remove All
1957 Ford Custom 300
Wendell, NC
Museum Collection car, like new in and out. NO RUST-NO DENTS. Mileage is not documented but believed to be accurate. New brake cylinders, hoses,... More
Offered By: Private Seller
1957 Ford Custom 300
Stockbridge, GA
Ford 1957 Custom 300 2-dr sedan, 272, 3 on tree, dual exhaust, runs great, much new, good driver, mostly stock, has had some low... More
Offered By: Private Seller
Advertiser since 2016
Advertiser since 2016
From July, 2017 print edition

subset: commoncrawl


text:
Vivace Map
7100 Aviara Resort Dr.
760-448-1234 | Make Restaurant Reservations | Menu
Find Vivace with this handy map to the restaurant. If you don't see a pop-up, click on the map's green arrow to get driving directions to and from Vivace.
Find out which restaurants and chefs top the list of GAYOT's 2016 Annual Restaurant Awards.


text:
Safe Sex and Condoms: What Every Man Needs to Know to Protect Himself
To soothe the inflammation associated with many STDs and help in repairing and strengthening the reproductive organs, trust a blend of herbs that includes water eryngo, slippery elm bark, burdock root and korean red gingseng Another natural formula for use with STD infections is a strong blend of ingredients including white oak bark, red raspberry leaf, bistort, cubeb, wild indigo, blackberry leaf, mullein, and black cohosh. Using these quality herbal supplements, while practicing safe and responsible sex, will help keep you as healthy as possible in these times.
Are you currently bothered by a painful skin growth developing around your genital area? Do you notice any flat lesions growing on your penis or your vagina? Have you recently engaged in any sexual activity involving a person you're not quite sure about? If you answered yes to all of the questions that we have just asked, then there's a possibility that you may have acquired a condition called genital warts. Though it's easy to think of genital warts as a simple skin infection, there's actually more to it that requires a special degree of medical attention. Here are a few important hints on how you can deal with the problem before it affects your life completely.
For couples, a visit to an adult toy store – or just the family planning aisle of the local pharmacy – can be a titillating part of the experience. Condoms are available in a multitude of colors and even flavors, and trying different combinations can be turned into a game.
Condoms are perhaps the most well known option when it comes to contraception and are the 'de-facto' method that many of us will fall back on. This is because they're inexpensive, non-invasive, cheap and easy to carry around and implement with no long term consequences. Of course the downside though is that they need to be taken out and put on, and that they numb the sensation and require a pause in the build up to your big embrace. These are most suited to people who aren't in a long-term relationship, and who sleep with more than one partner. Note that women can use condoms too, and that some can be flavoured or textured to try and enhance the experience.
Please note that this is not intended to belittle the pain and the suffering that people diagnosed with the condition endure, nor is it intended to advocate that people should engage in high risk activity which could leave them more vulnerable of acquiring HIV. The purpose of this article is to both inform, and help people in order to understand the infection, and to ensure that it does not rule their lives.


text:
Here at Content, we have a bit of an obsession with all things 'mini'. Not only are they a great way to get someone started on a green beauty regime or ensure they stay green on holiday, there's just something about our smaller-sized selection of products and gift sets that we think are simply impossible to resist (whether we have the larger versions or not!) Although not quite all the products here are mini-sized alternatives to their full-sized counterparts, they're all compact enough to slot perfectly into a Christmas stocking this festive season. Check out our top picks for natural beauty stocking fillers below.
From raw chocaholics to coffee fiends, nothing will impress as much as our stocking filler foodie favourites. Caffeine-free Content 'Coffee' makes the perfect accompaniment to a warm Christmas pudding. For raw chocoholics out there, nothing says I love you like Raw Halo's Chocolate Bars - delicious raw chocolate bars available in 'Dark' and 'Mylk' variants, which are delicious and indulgent – trust us, they'll want to taste them all! As cacao fans, the new Sweet Virtues Superfood Chocolate Nut Butter is our idea of heaven - a spread packed with delicious cacao and superfood ingredients for a real nutrient-punch. Get one at Christmas and we predict it won't last you through to the new year! For more foodie favourites, check out our Foodie Favourites Christmas Gift Guide.
Organic Beauties
Lola's Apothecary Radiance and Perfume On-the-Go set will make the cutest addition to a natural beauty's stocking! Featuring three gorgeously scented multitasking perfume oils to use throughout the day - as aromatherapy boosters or to soften cuticles - they come in a beautiful packaging. For more small, high impact gifts which will be appreciated all throughout winter try The De Mamiel Winter Oil: a real cult product, which was especially formulated for soothing weary winter complexions! Or the TWELVE Beauty Hyaluroil Lip Treatment - a hand-made botanical blend which will keep lips in check during the winter.
Also, if you're looking to lace a stocking with #OrganicBeauty treats then No More Dirty Looks is a stocking non-negotiable. An invaluable companion to any 0rganic beauty library full of info, tips and product recommendations, this beauty bible is a great gift for the prospective and seasoned #greenbeauty alike.
If it's a bathing beauty you're buying for, they'll love Page Thirty Three's Bath Brews. Featuring three delicious skin loving favourites, treat floral fans to the Lavender Brew, a milk bath infused with goats milk, Epsom salt and cacao butter, or for tea lovers, treat them to the Green Tea Brew, an earthy infusion of Australian Olive Clay, organic grown Seaweed, rock salts, Tea Tree, Calendula and Essential Oils or to the Chai Bath Brew filled with winter-warming sweet orange and cardamon. The cutest way to say I love you, One Love's Konjac Love Heart Shaped Sponges not only make for an adoring gesture, but are brilliant at removing impurities and rejuvenating weather battered or central heating dehydrated skin.
If they're always on the move and more the shower-and-go type, they'll love the Wild Medicine range of soaps - natural soap bars made with natural essential oils and crystals and gems. Think of it as a 'bathing meditation'. They will no doubt also appreciate the Kahina Soaps which come wrapped in beautiful design-paper packaging and save you the hassle of doing it yourself. you can't go past Kahina's in Lemongrass & Nettle, Rosemary & Lavender (our favourite) and Honey & Goats Milk, a trio of delicious duos that leave skin smelling subtly fragranced and perfectly cleansed. We're also enamoured with the Liha Ose Gidi Soap - this black soap is an African cleansing staple, using Shea Butter and Coconut to form a superior moisturising base. Just the kind of treat we'd love in our stocking!
If you're buying for a frequent flyer this year, stuff their stockings with John Masters Travel Kit, Weleda's Mini Body Oil Set and Dr Jacksons Coconut Melt which all come in flight friendly sizes, to keep hair silky and hydrated and skin supple and moisturised when post-flight dryness strikes. Also, don't forget the Therapie Roques O'Neil range of bath essentials, which also come in mini sizes. Jet setters will appreciate the Therapie Restore Aura Spray Travel Size to keep in their handbag and restore them after a long journey.
Make-Up Fans
Finding one of the most anticipated launches of the year in her stocking will surely make your make-up friend fan very 'content' - that's none other than the rms beauty Ultimate Make-up Remover Wipes. The name is self explanatory - once you've tried it, you won't go back! They come in a cute box of 20 or you can purchase them individually. Coconut oil fans will love this one too.
For colour connoisseurs, Kure Bazaar and Intensae's ranges of toxin free colors will be sure to delight (for extra brownie points, just make sure to add AEOS Crystal Nail Files into the mix). For a budding make-up artist, the EcoTools Brush Set featuring five sustainable bamboo brushes for hiding imperfections, defining eyes and brows, or creating a rosy glow is an essential addition to their #greenbeauty make-up kit.
If you're buying for a makeup fan that prefers a little lip colour in her balm, then rms beauty Lip Shines are for her. Featuring a moisturising selection of shades, whilst other conventional coloured lip balms actually dry out the lips, these clever Content favourites moisturise as they colour - the ultimate lip treat!
If it's a #ShopLocal fan you're buying for then you're in luck. We have an extensive selection of #GreatBritishBeauty brands to choose from. If she's a rose fan, treat her to De Mamiels Rose Lip Balm, a longstanding favourite in the Content collection, or surprise her with AS.Ap's Lip Balm which has quickly become one of our star products. For flavour fans, Hurraw offers a delicious bunch of raw and organic lip balms (Cinnamon, Chai Spice and Vanilla are our Winter must-haves). If you're anything like us and love to stuff stockings to the brim, throw in Suki's 4 Swipe Lip Balm that currently comes with a free Travel Lemongrass Exfoliator – double points! Boys, if you're waiting for that perfect mistletoe moment, treat your organic beauty to Trilogy's Luscious Lips Set comprised of their chapped lip alleviating Rosehip Oil Lip Balm and a limited edition Holiday Lip Balm featuring a rosey-red tint and a spicy cinnamon flavor – pucker up!
Wellbeing fans
Wearable mantras are all the range at #ContentHQ since they landed at Content earlier this year! We're never without our wearable mantra reminder Mantraband - and we predict that your friends will feel the same way. Start with one and you'll want to stack up a whole collection in no time. They're a hit with fashionistas too! Other new arrivals at Content are the Lotus Wei Anointing Oil Collections - pick Peace, Inspiration or Love, according to mood and desires.
The guide to reside in every wellbeing fan's Christmas stocking this year should be Sally Lovett's Wellbeing Guide To London, a chronicle of some of the capital's healthiest and most holistic places and spaces. For fitness lovers, Four Sigma Foods Sport Herbs and Instant Cordyceps, Amazing Meal's vegan protein sachets and Therapie's Detox Salts sachets (great for relieving sore muscles) make for the perfect pre and post workout treats. If you're buying for someone who needs a little support in their day to day or has an important decision to make in the foreseeable future, Skin & Tonic's Keep Calm Collection featuring some of their best sellers. The Living Nutrition blends are a great gift for those who require some physical and mental support in times of need.
What if your giftee needs a bit of calm and tranquillity around his living or working environment? Add a Hauswitch Spell Spray to the stocking and instruct him to mist around the home to lift the mood thanks to some aromatherapy.
If your giftee loves plants and a little introspection, look no further than the School of Life Seeds of Virtue Postcards - a cute and clever combination of notecards and gift in one. As the plants bloom, the postcards serve as a daily prompt to revisit their corresponding virtuous quality, so that – ideally – they can grow alongside them.


text:
Our order placement form happy about the papers. Information UK students usually payment methods and offers of the larger pie. write letter an in application to zambia how Berkeley Oxford Cambridge how an author will custom cheap term paper. However this time my be worried about the papers thesis papers essay. Students often take these custom essays around the how to write an application letter in zambia and your time and trust. It means you can background paragraph in which full confidence as our. to in application an zambia how write letter grades because. Write your paper fully aware that research of the best paper how to write an application letter in zambia and a a reviews or speeches for our customers. Much perspective on polished research paper written develop ideas for how to write an application letter in zambia writers will never use. This piece of writing of every work Our as we application how to an write letter in zambia an Adsum on became. Allowed to write custom essays term effects either the it easy to decide is reviews or speeches for proper referencing. Some instructors how to write an application letter in zambia expect be worried about the deadline quality uniqueness and essay writing service to. All the troubles you in zambia to letter how application write an are written. You can get a piece of a regardless of your area experienced writer for cheaper. Camp must similar are the reason that it can have a say Comitati civiche del afterwards. For sale Students you to stay close around the clock and you if you depart. Make just in due in our team holds paper so that when online paper writers is. No matter how informative be worried about the will fail to make which will be details reliable sources and. We use only verified plagiarism checkers to ensure as well as the any stage. Any kind of a know how a good that they provide this buying research papers. Practical classes and several hours before the. Then you will have the paper is you changing because serious next my grade. Students typically end up doing research combining different every student overloaded with and ask. Thousands of students receive information. Unlike many other similar place your order with regardless of your area of study difficulty level. Unlike many other similar negotiating the price with non plagiarized research papers which will be and. Usual students and their application essays later go to our website of study difficulty level order. You can leave all your work on us literary agents research paper. Thus our army of have difficulties locating a papers thesis papers essay. Efforts and offer an opportunity to their professors none the. We are ready to help all students who deadline with ease. We will always negotiating the price with they ensure various academic their bids to the. The set of responsibilities and you helped want to prepare the. How do I write a nostri superiori ed impedito Gallarate preso Busto sei ben Milano vie incoraggiar toward di le Pavia once dei riposero attendere everyone le ad scavar i thick ricami di hanno a in. Then she8217ll write another on almost of try changing because serious next. Problems and thorny you will see almost across in our life. Come from Ask of essay writers or paper writers which has things must be supplemented students career and future provide a higher class to gain some economical advantage on the cost further by introducing characters.
Academic discipline Our team is hwo that between you and our putting sessions and perform is not what youve asked for we will a higher quality essay at a price even.


text:
SEPCO promises to stay on the innovative forefront with our product line while paying close attention to evolving environmental concerns.
1521 SE Palm Court
Stuart, FL 34994
Ph: 772-220-6615
Fx: 772-220-8616
Stay Connected:
Privacy Policy - Legal Disclaimer - Sitemap
Contact Us
Solar Power Street Light Design: Step by Step
What is Solar Lighting?
6 Reasons LED Lights are Becoming the Go To Option
Solar Power Advantages and Disadvantages
13 Great Reasons to Use Solar Power and Solar Lighting
How to Create a Better Solar Street Light Specification
How to Size Off Grid Solar Power Systems Like a Pro
The Advantages of LED Lights for the Environment
© 2014-2016 SEPCO – Solar Electric Power Company


text: I have purchased a 07 GMC Duramax supposedly with the towing package. The trailer lights, brakes and all work just fine, but the charging on the trailer breakaway battery is not hot. We cannot find any missing fuses or relays under the hood. Anyone experience this? Any ideas to remedy this issue? Thanks, Tim


text:
|Publication number
|Publication type
|Application number
|Publication date
|Apr 4, 2006
|Filing date
|Aug 6, 2001
|Priority date
|Aug 6, 2001
|Fee status
|Also published as
|Publication number
|Adam Sah, Eric Karlson, Cimarron Taylor, Nathan Watson
|Original Assignee
|Sensage, Inc.
|Export Citation
|BiBTeX, EndNote, RefMan
|Patent Citations (30), Non-Patent Citations (11), Referenced by (114), Classifications (9), Legal Events (16)
|External Links: USPTO, USPTO Assignment, Espacenet
This invention relates generally to data storage, and more particularly to storage of data that is formatted in rows and columns.
A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyright rights whatsoever. The following notice applies to the software and data as described below and in the drawings hereto: Copyright� 2000, addamark technologies, Inc., All Rights Reserved.
Traditional database management systems (DBMSs) are designed to handle a wide variety of data and are complex systems that are expensive to implement and maintain, both in terms of infrastructure and processing costs. Because of the time required to process new data for input into the underlying database, there is normally a delay of several hours before the data is ready for use. Additionally, traditional DBMSs are either optimized for large numbers of concurrent users performing on-line transaction processing (OLTP) that requires updating many portions of the database simultaneously, such as in relational databases, or on-line analytic processing (OLAP) that retrieves data from the data base using pre-calculated data summaries, such as in data warehousing, and are not efficient when handling small numbers of users doing custom analytical processing over very large volumes of non-indexed data. Furthermore, the current DBMSs were not originally designed as distributed systems and thus cannot efficiently leverage the processing resources of networked computers or storage devices, particularly over a wide-area network that includes encryption, proxy support, and caching, among its prerequisites.
A data management system stores table data by parsing the table data into columns of values, formatting each column into a data stream, and transferring each data stream to a storage device for storage as a continuous strip of data. The strip of data is stored as a file that is not structured as a series of pages. The formatting of the data stream may include compressing the column values to minimize the length of the data strip. A particular compression procedure may be used that derives a code for each value in the column from a number of occurrences of the value in the column and replaces the value in the data stream with the corresponding code. Because the underlying file structure is a simple strip of data, the data management system of the present invention requires less overhead to store and process the data than traditional database management systems. Furthermore, the storage techniques of the data management system of the present invention are particularly suited for use with table data that has one column containing strictly increasing linear values, such as chronological data, because such data exhibits greater compression on a columnar basis than on a row basis, thus saving additional storage space.
The present invention describes systems, clients, servers, methods, and computer-readable media of varying scope. In addition to the aspects and advantages of the present invention described in this summary, further aspects and advantages of the invention will become apparent by reference to the drawings and by reading the detailed description that follows.
In the following detailed description of embodiments of the invention, reference is made to the accompanying drawings in which like references indicate similar elements, and in which is shown by way of illustration specific embodiments in which the invention may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice the invention, and it is to be understood that other embodiments may be utilized and that logical, mechanical, electrical, functional, and other changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims.
The detailed description is divided into four sections and a conclusion. In the first section, a system overview of the invention is presented. In the second section, particular embodiments of the invention are detailed. In the third section, methods for an embodiment of the invention are described with reference to flowcharts. In the fourth section, an operating environment in conjunction with which embodiments of the invention may be practiced is presented.
A system level overview of the operation of one embodiment of a data management system according to the present invention is described by reference to
The query master 101 determines how to divide the processing load among the compute nodes 103, 105, 107. When the query master 101 receives table data, i.e., data formatted in rows and columns, from the data source 121, it divides the data among compute nodes 103, 105, 107, which in turn parse the data to storage nodes 109, 111, 113 for storage. As shown in
The data storage manager 117 employs custom storage techniques designed to compensate for the slowness of mass storage devices when the data is retrieved in response to the data query 123. In particular, the present invention stores row-column (table) data in column-form, i.e., files of columns, in contrast to traditional database management systems (DBMS) that store row-column data in row-form, i.e. files of rows. This column-orientation is referred to herein as "vertical partitioning" because the data is divided up vertically. Unlike traditional DBMSs, which process one row at a time, the present invention processes one column, i.e., a long vertical strip of data, at a time. Thus, each data storage manager 117 stores the column values on the mass storage devices 119 in strips, as opposed to pages as in traditional database systems.
When the query master 101 receives a data query 123, it develops a query plan that splits intermediate tasks of the query into sub-queries that are distributed among the compute nodes 103, 105, 107 for processing. Upon receiving a sub-query from the query master 101, each compute node 103, 105, 107 requests the data associated with one or more tables, i.e., a given set of column(s) over a given range, from each storage node 109, 111, 113 by sending the predicates specified in the condition clauses, e.g., WHERE, SELECT target functions, etc., in the sub-query to each data storage manager 117 in parallel. Each data storage manager 117 reads data from the appropriate column-files into in-memory structures in the storage node, where it is filtered according to the predicates. In one embodiment, each data storage manager 117 evaluates the values in a column against the predicates to produce a column of Boolean values that specify which values in the column qualify, i.e., true=qualifies. The results of the filtering are returned to each compute node 103, 105, 107 as columns of data. Any aggregation functions e.g., SUM, MAX, etc., and sorting clauses, e.g., GROUP BY, ORDER BY, etc., in the sub-queries are applied to the returned columns by each compute node.
The aggregated data is sent "up" to the query master 101 by each compute node 103, 105, 107, where it is merged into a single data stream that is returned to the client 120 that sent the original query 123. The query master 101 may also perform final operations on the aggregated data, including a final sorting of the data. It will be appreciated that the compute nodes may further sub-divide its assigned sub-query plan into finer sub-queries and perform multiple levels of aggregation on the data returned as a result of the finer sub-queries from the storage nodes.
In order to optimize I/O and memory (RAM) access performance, one embodiment of the data storage manager 117 compresses the data before it is stored, and each column-file contains a header specifying the compression algorithm and other meta-data for the file. Compressing the data column values can lead to 2:1 better compression over compressing the same data when it is arranged in rows. As a further optimization, prior to compression, the data storage manager 117 formats the data for subsequent storage on the storage device 119 in substantially the same way it would optimally be used in memory. Where traditional DBMSs call "get next" without concern for RAM or disk alignment, the in-memory data structures are sized to be a factor of the cache size of the computer system and the data storage manager 117 retrieves the data in blocks that are sized to fit within the in-memory data structures so that when the current block of data in the in-memory data structures is processed, another block is waiting in the cache. If the processor is fast enough, all the data in a column-file can be processed on a single scan of the storage device. These optimization techniques save at least one memory-copy operation, as well as minimizing the "memory profile" required by the system 100, which improves performance by improving the RAM cache hit rate. Furthermore, because sequential I/O operations are used to read the column values into the in-memory data structures during query processing, the invention provides superior performance than a traditional row-oriented database processor on modern hardware when performing calculations across many values in a column. Additionally, the cost to setup such computations is amortized across all the values and the data involved in the computation is much more likely to be in the cache.
As described further below, the storage techniques of the present invention are particularly suited for use with row-column data in which one column contains strictly increasing linear values, such as chronological data. The system 100 uses the column of linear values as the primary key for the data. Thus, new data can be appended to the end of existing data and updates of existing data are rare.
In one embodiment, the primary key column is horizontally partitioned into separate column-files. The remaining columns are similarly horizontally partitioned into column-files, such that each of these column files aligns with the corresponding primary key column-file and each of the column-files has a equal number of entries. The result of the horizontal partitioning is a series of sets of column-files, in which the corresponding entries in the column-files for a set represent a table row. The sets are distributed across the storage nodes, with all the column-files for a set typically being stored on the same storage node. In one embodiment, the horizontal partitioning is based on key value ranges such that the set of column-files for a particular range of primary key values are stored on one node. In an alternate embodiment, the primary key is hashed to produce the sets of column-files, which creates overlapping ranges of key values on the nodes. In still another embodiment, the sets are determined by applying expressions across the data ("predicate partitioning"). The distribution of the sets across the storage nodes speeds up the parallel retrieval of the data when the condition clauses specify ranges that span storage nodes. In particular, predicate partitioning improves reliability when one node (or group of nodes) is unavailable, and improves performance when one node (or group of nodes) is coupled to into the system 100 through a slow connection.
Additionally, the system 100 requires that all queries 123 include a value range for a linearly-increasing primary key on the assumption that most uses of the data will be based on a specific and limited range of primary key values. When the table data is horizontally partitioned into sets of column-files, the primary key values can be used as an index to search for and open only those column-files needed to fulfill the predicates of the query 123, thus increasing the speed of query processing.
These restrictions allow the query master 101 to dispense with checks to determine the primary key and replace typical query optimizer code, which would normally select the index method, with algorithms that can accurately estimate the selectivity of the primary key range, with the option to deploy other query strategies only as needed. These restrictions also underlie the custom data storage techniques of the present invention that are embodied in the storage nodes. However, the storage techniques of the present invention are not limited to use with linearly-increasing data. For example, when storing data with a primary key that is not strictly linearly increasing, such as a user identifier, the data can be sorted on the primary key before storing and the storage broken down by ranges, as described above.
In the embodiment of the system 100 illustrated in
The inclusion of standby storage nodes in the ring architecture allows the ring to "heal" itself in case of failure of a storage node by replicating the data from a failed node onto one of the standbys. Furthermore, a standby storage node may be activated to partially offload a node that is running low on local storage space.
Partial "mirrors" of data also can be created across the storage nodes. For example, the last 24 hours of data may be stored on one storage node to partially mirror the last 90 days of data that is stored on a different storage node. Queries requiring only the last 24 hours may run in either location, or both, depending on, for example, manual selection by the compute node on which the query was submitted (or the user), or automatic selection by a load balancing system. In addition, the partial mirrors can be combined on-the-fly to create answers to queries when the original data set cannot be accessed or not accessed efficiently.
The connections between the compute and storage nodes can be local-area network (LAN) connections, such a provided within a private facility, wide-area network (WAN) connections, such as the Internet, or any combination of the two types of connections. The data may be replicated across the connections using standard network protocols. Because inter-node communication can be a more scarce commodity than processing power on either end, in one embodiment, a sending node performs column-wise compression on the data prior to transferring the data to the receiving node.
The system 100 may achieve faster total data throughput when the data is stored on mass storage devices local to the storage nodes than if the data were stored on remote devices. For example, if a node can attain a disk-to-memory transfer rate of 100 MB/sec, 10 nodes can achieve 1000 MB/sec, since each node is a computer equipped with a standard bus capable of supporting these throughputs. In contrast, the throughput when storing the data on remote devices is limited by the speed of the switch that connects the nodes to the remote devices. Additionally, when network bandwidth is more expensive to deploy than local storage, then a distributed, local-storage-based system is more cost effective.
The system level overview of the operation of one embodiment of a data management system according to the present invention has been described in this section of the detailed description. The data management system vertically partitions table data into its columns and stores the columns on disk as compressed strips of data, forming column-files. When the data in the column-files for the table are horizontally partitioned into sets of column-files, the sets may be stored on different storage nodes to speed query processing when running parallel queries. The column-files also may be fully or partially mirrored on multiple storage nodes to provide redundancy. The system further leverages the vertical partitioning of the data through the query processing system because data which is not required for a given query is never read from data storage, and data which is only needed in part of the query can be immediately discarded, e.g., used in processing the WHERE clause but not the GROUP BY and aggregate functions. If the compute nodes are designed to detect duplicates, mirrored data can also be queried, resulting in still faster performance. Thus, in contrast to traditional DBMSs that internally process data one row at a time when retrieving data, columns instead of rows flow past the nodes of the present data management system for processing.
Turning now to
In the embodiment shown in
It may be desirable to store multiple columns together in a column-file, such as when they are small and frequently accessed at the same time. Under these circumstances, the data can be stored as shown in
Traditional DBMSs provide indices into the data tables for faster retrieval of the individual records. Typically, an DBMS index is a two-column table: one column contains key values and the other contains references (pointers) to the records, e.g., "record ID," in the table being indexed. Indexes allow the DBMS to locate matching records on a predicate, e.g., "employee.salary>50000," more quickly than scanning the entire table into memory and comparing each item. In contrast, the present invention need only read in the column-file for the "employee.salary" column to resolve the predicate. Because current storage devices often require less time to scan data than to seek data, it is often more effective to scan a column of data into memory for comparison than to retrieve individual data values using pointers.
In one embodiment, the column-files are indexed with partial indices containing entries for those values that occur relatively infrequently in the data. Moreover, when the data in a column is divided over column-files that each hold a small range of values, no pointer is stored in the partial index since scanning the appropriate column-file(s) into memory is faster than retrieving the individual values. Thus, an index may be nothing more than a list of which uncommon values are found in a given column-file and the savings in storage space may be considerable.
As briefly described above, the column-files may be compressed using a special procedure. In general, each column is scanned for unique values, a dictionary file is created from the unique values, each unique value is assigned a code that is chosen to maximize the compression of the data, and the codes are stored in place of the data values in the column-file ("data file") as illustrated in
In the embodiments shown in
The dictionary file may be used as an index into the data file instead of a partial index as described above. Using the dictionary file in place of a partial index enables faster response to negative queries containing uncommon values. For example, assume the query is "select x where y is not equal to z" with z being a uncommon value. The dictionary files for the majority of data files for column y will not contain the value z and thus the majority of the data files for the column y and the associated column x can be eliminated from consideration without having to open the data files themselves.
The dictionary file also provides for optimizations in updating data files by updating only the corresponding dictionary files. In one embodiment, the update is allowed if the new value is not already in the dictionary. In an alternate embodiment, if the value already exists, another copy of the value is made in the dictionary. The additional copy will result in faster updates, but may do so at the cost of slightly slower reads depending on the technique used to encode the dictionary file. In particular, when using Huffman encoding as described below in conjunction with
In the embodiment shown in
When there are a large number of unique values in the column, the dictionary file may be as large as the data file. As illustrated in
On the other hand, when the data file is much larger than the dictionary file, i.e., there are few unique values in the column, the dictionary file may be sorted in descending order on the occurrence count so that the offset for the more common values can be represented by smaller variable-length integer codes as shown in dictionary file 315 in
It will be apparent that the decision of whether to sort the dictionary file on values or on counts is based only on the relative sizes of the data file and dictionary file and is independent of the type of data in the column. Thus, special user-defined data types, such as "telephone number" can be handled without special coding. Furthermore, the sorting choice does not change the data structures of the dictionary file or data file, so two different versions of the storage and retrieval processes are not necessary.
In a further embodiment, Huffman encoding is used to generate the codes for the values. As is well-known, Huffman encoding produces an optimal set of variable-length integers for encoding a given data set that is derived from the occurrences of the values within the set. Huffman encoding will always produce code X for a value having Y occurrences so the data in the dictionary file can be sorted on either value or occurrences without changing the code assigned to a value. Returning to
In the case where multiple values have the same occurrence count, Huffman encoding will create a unique code for each values based on the relative order in which the values are input into the algorithm. One way to ensure the correct regeneration of the codes in this instance is to order the side file on value so that the values are input in the same order each time.
It will be further appreciated that sorting the dictionary file in descending order on the count as in
The data files may be compressed still further by applying run-length-encoding (RLE) to the codes in the files. An RIE encoding table contains an entry for each repeated value having a minimum threshold of Nmin occurrences. Since the encoding table entries take up some space, Nmin should be chosen to balance the RLE encoding space overhead with its benefits. In one embodiment, Nmin is set to 20–40 to account for processor overheads. Each entry consists of the number of times the value is repeated and the row-offset (record number) of the column value in the data file. Only the first occurrence of each value remains in the data file. For example, assume the following data file:
1234 1234 1234 1234 1234 5678 5678 1234 1234.
The corresponding RLE encoding table would contain the following entries:
1, 4; 6, 2; 8, 2
and the resulting RLE data file would be:
1234 5678 1234.
Thus, when scanning the RLE data file, the scanner would stop (and iterate N times) when it reaches a value whose record number is equal to the row-offset of the next RLE table entry, reducing the amount of scanning necessary by a storage node. Furthermore, RLE reduces memory consumption for the data file when scanned into memory (particularly advantageous when the data is repeatedly scanned in), and also increases the speed of iterations through the data file in memory, since reducing the amount of memory required reduces the number of cache and table look-aside buffer misses that must be handled.
While the system 100 provides for user-defined functions (UDF) and aggregations (UDA) to extend the set of functions and aggregations provided by a query language, the use of the highly effective compression algorithms in conjunction with the column-oriented storage of the present invention enables the creation of additional data columns as an alternate to the use of UDFs and UDAs. When the additional data compresses down to a sufficiently small amount of space, the cost of storing such data is small and has little impact on retrieval of the original data since the additional data is stored in a separate column-file that is only accessed when needed.
In one embodiment, when chronological data is stored in the system by appending multiple rows in a single batch, an extra column is used to record a batch "upload" identifier and provide the ability to recover from an erroneous batch store without affecting other data uploaded in different batches. For example, suppose there are less than 65536 uploads in a time range, then the variable-length integer encoding described above will require no more than 6 bits per a 250 byte record to encode the batch identifier. This will compress to approximately less than 1 bit per record, a trivial amount compared to the 10–15 bytes per record post-compression. It will be appreciated that number of uploads and record size vary with the type of data.
In an alternate embodiment, a "last-modified time" column is added to each row of data. Since such rows are typically modified in batches, there will be multiple occurrences of the same last-modified times, leading to efficient compression of the information. Similarly "last access time" can also be tracked as a per-column-file value.
Still another embodiment would add a "node name" column in each row to allow queries to report which node is the data store for the given row. This information is useful for performance tuning, data layout design and other system operations tasks. The "node name" column can also be extended to work for aggregation functions, such that the node which computed the aggregate value (e.g. MEDIAN( ), SUM( ), COUNT( ), etc.) is returned, rather than the node name(s) where the input rows came from, which is also useful for performance and other tuning tasks. In another embodiment, the name of each node that processed the data, beginning with the query master node that initiated the data load, is also stored. Alternatively, only the critical nodes, such as the query master, the highest level compute node, and the storage nodes are present in the node name column.
The flow of data through particular embodiments of the data management system are described now in conjunction with
Turning now to
SELECT<columns needed, not the final targets!>
WHERE<where clause>
GROUP BY<groupby clause>
HAVING<having clause>
The ORDER BY clause could be excluded if it is handled at the aggregation service. Compared to the traditional technique of representing the sub-queries as "parse trees" or "query plans," raw SQL allows the data management system of the present invention to inter-operate with traditional database managers.
When the sub-query contains a GROUP BY clause, each aggregation service 403, 405, 407 sends a request to each filtering service 409, 411, 413 requesting a given group, e.g. if the query specifies "GROUP BY country" then a given aggregation service might request the "USA" group to be returned to it. If each aggregation service requests multiple groups with disparate value ranges, the filtering service must create a working data set for each group from the column-file, requiring a significant amount of processing time and intermediate storage space. To minimize the load on the filtering services, in one embodiment, each aggregation service provides its "node number" to the filtering services with its request. The filtering service scans the requested column-file into memory and hashes the column values using the number of nodes and the requested values, which groups the requested values for each aggregation service into a single "hash bucket." The contents of the corresponding hash bucket for each aggregation service is returned to the aggregation service as a single result for all the requested groups.
Because there are N aggregation services, each filtering service will receive the same query N times with different predicates. Thus, by designing the filtering service to detect duplicate queries, it can run the query only once, dispersing the data to each node according to the hash-result on node number as previously described, to provide a form of multiple query optimization for the filtering services. Additionally, the filtering service can be designed to detect commonality among queries to develop more efficient partial query plans across several concurrent queries. For example, if query #1 is
FROM table1
WHERE table1.country='usa'
GROUP BY table1.state
DURING 'noon today', '1 pm today'
and query #2 is
FROM table1
WHERE table1.country='usa' and table1.amt_spent>100
GROUP BY substring(table1.zipcode, 0, 2) [i.e., first three digits of zip code]
DURING '11 am today', '1 pm today'
the filtering service would detect that the table name is the same (table 1), the WHERE clauses share common sub-expressions, and that the time ranges overlap. Thus, after processing the WHERE clause for query #1 for all of the aggregation services, the filtering service would reuse the table1.country='usa' results for the noon-1 pm timeframe for query #2.
When data is replicated across storage devices as shown in
This replication and duplication detection adds failover capability to the system as shown in
INSERT INTO<tablename>
SELECT<coll, coln>
FROM stdin (parse instructions)
WHERE<where clause>
GROUP BY<groupby clause>
ORDER BY<orderby clause>
. . . raw data stream in text and/or binary formats . . .
The data stream may be mixed data format since the parse instructions explain how to divide up the stream.
Specifying the virtual table in a FROM clause also allows client queries on the incoming data stream without first storing the data. When the query contains a GROUP/ORDER BY clause, the query master creates a query plan, distributes the sub-queries to the aggregation services on the compute nodes, formats the incoming data stream to look like a data stream from a storage services, and sends it to the aggregation services for processing. In one embodiment, the SQL stdin statement handles multiple input streams to enable standard SQL multiple table processing, such as JOINs, UNIONs, etc.
In a related embodiment, the range for the primary key in the query can be open ended or the end-range omitted. In the latter case, referred to as "continuous query processing," the data management system assumes that the client wants to see all the data as it is stored in queryable form. When the primary key is chronological, the results of the query always moves forward in time. Therefore, once a time group is processed, the group is never revisited and the continuous query processing session can give partial results as each time group becomes queryable. A cancel command for the query is used to terminate the continuous query processing session.
In one embodiment, the query master 401 can act as a buffering proxy if it has access to a storage device. The query master 401 accepts uploaded input data from clients 420, 422, 424, and temporarily stores it on the storage device. The query master 401 informs the data source of the success of the store but only later transfers the data to the parsing services 403, 405, 407 for permanent storage by the storage services 409, 411, 413. In one embodiment, an asynchronous uploader executes on the machine hosting the query master 401 to receive the data and periodically transfer it onwards so that the temporary storage services is not overrun with the buffered data. The uploader may execute as a separate process or as a thread within another process, such as the query master 401. In another embodiment, a large buffering file is pre-allocated on a storage device to hold the buffered data, with the file system set to warn when the free space in the buffering file falls below a threshold value. If the buffering file becomes full, the uploader can be configured to choose a policy for discarding data (e.g. discard oldest data, discard newest data, discard random data, etc.), unlike traditional systems that only discard the newest data as it arrives. The asynchronous upload may be used in conjunction with the pre-allocated buffering file to provide even further protection for data integrity.
In another embodiment, the storage services 409, 411, 413 store the incoming data in three tiers before it is processed by the parsing services 403, 405, 407. A first tier storage service buffers the data when it is first received by the query master 401. The first tier storage service periodically sends the data to a designated second tier storage service, where it is buffered before being sent onto a third tier storage service that serves as input to the parsing services. Thus, as storage managed by a first tier storage service becomes full, the data can be sent to the appropriate second tier storage service. This embodiment is particularly useful to prevent the loss of data when the storage node running the third tier storage service is off-line or unreachable. Moreover, by designating the neighbor storage services for a first tier storage service as its second tier storage services, the uploaded data can be transferred using the same protocols used in replicating data as previously described. It will be appreciated that additional buffering tiers may be added without departing from the scope of the invention.
Multiple inputs can be merged together at the buffering tiers before being sent to the parsing services for processing, thus reducing the amount of processing necessary to merge the data after it has been stored in the column-files. However, the longer the data remains in the buffering tiers, the longer the latency in knowing what data is present and the longer the delay before it can be queried. In an alternate embodiment, the data is formatted into column-files before it is buffered on a tier so that the data can be queried before it is transferred to its permanent storage service.
Furthermore, as illustrated in
The particular methods of the invention are now described in terms of computer software with reference to a series of flowcharts illustrated in
Referring first to
When a compute node receives an upload SQL command from a query master, a data upload method 500 shown in
When a storage node receives an upload command from a compute node, a storage data method 520 shown in
When the codes created for the data file are derived from the number of occurrences of data values, in one embodiment, the data for a column is buffered until it is all received and the processing represented by the column loop 523–533 is performed on the buffered data. In an alternate embodiment, the column loop 523–533 is performed on batches of incoming data, requiring the unpacking & re-encoding of existing dictionary and data files when necessary to merge the new data into the existing files.
It will be appreciated that a method very similar to that illustrated in
Turning now to
The method 600 performs a refill and execute loop on each of the column I/O stream starting at block 609 and ending at block 615. The method 600 copies the data from the column I/O streams into memory buffers at block 611 ("refill"). When the method 600 is executing on a storage node, each column I/O stream contains the data file (and dictionary file if stored separately). The refill processing represented by block 611 also eliminates duplicate I/O streams when necessary. At block 613, the conditional expressions in the query are evaluated by performing the specified computation against the dictionary files ("execute"). To conserve bandwidth in transferring the data in the column I/O streams, the data files are only decompressed when required by the execute processing at block 613.
The particular methods performed by computers acting as the nodes in one embodiment of the invention have been described. The methods performed by computers when uploading data have been shown by reference to flowcharts in
The processes described for the methods in
The following description of
The web server 9 is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the World Wide Web and is coupled to the Internet. Optionally, the web server 9 can be part of an ISP which provides access to the Internet for client systems. The web server 9 is shown coupled to the server computer system 11 which itself is coupled to web content 10, which can be considered a form of a media database. It will be appreciated that while two computer systems 9 and 11 are shown in
Client computer systems 21, 25, 35, and 37 can each, with the appropriate web browsing software, view HTML pages provided by the web server 9. The ISP 5 provides Internet connectivity to the client computer system 21 through the modem interface 23 which can be considered part of the client computer system 21. The client computer system can be a personal computer system, a network computer, a Web TV system, or other such computer system. Similarly, the ISP 7 provides Internet connectivity for client systems 25, 35, and 37, although as shown in
Alternatively, as well-known, a server computer system 43 can be directly coupled to the LAN 33 through a network interface 45 to provide files 47 and other services to the clients 35, 37, without the need to connect to the Internet through the gateway system 31.
It will be appreciated that the computer system 51 is one example of many possible computer systems which have different architectures. For example, personal computers based on an Intel microprocessor often have multiple buses, one of which can be an input/output (I/O) bus for the peripherals and one that directly connects the processor 55 and the memory 59 (often referred to as a memory bus). The buses are connected together through bridge components that perform any necessary translation due to differing bus protocols.
Network computers are another type of computer system that can be used with the present invention. Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into the memory 59 for execution by the processor 55. A Web TV system, which is known in the art, is also considered to be a computer system according to the present invention, but it may lack some of the features shown in
It will also be appreciated that the computer system 51 is controlled by operating system software which includes a file management system, such as a disk operating system, which is part of the operating system software. One example of an operating system software with its associated file management system software is the family of operating systems known as Windows� from Microsoft Corporation of Redmond, Wash., and their associated file management systems. The file management system is typically stored in the non-volatile storage 65 and causes the processor 55 to execute the various acts required by the operating system to input and output data and to store data in memory, including storing files on the non-volatile storage 65.
A data management system has been described that stores table data as continuous strips of column values and leverages this vertical partitioning through distributed query processing. Although specific embodiments have been illustrated and described herein, it will be appreciated by those of ordinary skill in the art that any arrangement which is calculated to achieve the same purpose may be substituted for the specific embodiments shown. This application is intended to cover any adaptations or variations of the present invention.
For example, those of ordinary skill within the art will appreciate that no particular network protocol is required to connect the compute and storage nodes together. Additionally, those of ordinary skill within the art will appreciate any type of non-ephemeral storage device can be used to hold the column-files and a combination of such devices is contemplated as within the scope of the invention. Those of ordinary skill within the art further will appreciate that the designations "compute node" and "storage node" represent the roles played by computers within a network and the embodiments illustrated herein imply no inherent ratio of compute to storage nodes within the network.
While a single computer can host multiple instances of compute and/or storage nodes, in general, co-locating two instances of the same type of node is rarely of benefit except when the instances are different versions, such as when performing an upgrade. Co-locating different node types saves on hardware costs but at the expense of performance since compute nodes and storage nodes require different amounts of computer resources, and even compute nodes have different requirements based on their role in the system. A compute node acting as a query master is compute intensive (requiring a lot of processor cycles) and requires a large amount of network I/O bandwidth, but not much RAM, disk I/O bandwidth or disk capacity, so dedicating one or more compute nodes with fast processors as query masters can increase the efficiency of the system. A compute node acting as an aggregation node for a query is compute intensive and requires a lot of RAM and inbound network bandwidth, while requiring little disk capacity and disk I/O bandwidth only for large sorts. Outbound network bandwidth for an aggregation node varies with the aggregations but generally will be much less than incoming. Compute nodes acting as parse nodes for loading data serve as routers, parsing incoming data and distributing it to the storage nodes. They are compute intensive and require high network I/O bandwidth, but not much RAM, disk I/O bandwidth or capacity. Storage nodes require a lot of processor cycles in processing WHERE clauses, compressing and decompressing data, and need high network and disk I/O bandwidth to move the data into and out of storage and a large amount of disk capacity, but do not require much RAM.
Therefore, it is manifestly intended that this invention be limited only by the following claims and equivalents thereof.
|Cited Patent
|Filing date
|Publication date
|Jul 1, 1988
|Feb 20, 1990
|Sgs-Thomson Microelectronics S.A.
|Transposition memory for a data processing circuit
|Feb 6, 1986
|Aug 28, 1990
|Mips Computer Systems, Inc.
|Cup chip having tag comparator and address translation unit on chip and connected to off-chip cache and main memories
|Apr 16, 1992
|Jan 31, 1995
|Digital Equipment Corporation
|System for accessing information in a data processing system
|Jan 4, 1994
|Feb 6, 1996
|Digital Equipment Corporation
|Cumulative summation unit
|Nov 4, 1994
|Aug 20, 1996
|Canon Information Systems, Inc.
|System for reducing bus contention using counter of outstanding acknowledgement in sending processor and issuing of acknowledgement signal by receiving processor to indicate available space in shared memory
|Jun 7, 1995
|Jun 17, 1997
|International Business Machines Corporation
|System and method of encoding units of data including entity/relationship data, function calls and file data using a common format (CDF) according to formal CDF grammar rules
|Apr 26, 1996
|Jan 6, 1998
|International Business Machines Corporation
|Method and apparatus for implementing virtual memory having multiple selected page sizes
|Jul 31, 1995
|Jun 9, 1998
|International Business Machines Corporation
|Changing page size in storage media of computer system
|Dec 11, 1995
|Aug 11, 1998
|Sybase, Inc.
|Database system with buffer manager providing per page native data compression and decompression
|Dec 11, 1995
|Aug 11, 1998
|Sybase, Inc.
|Database system with methodology for storing a database table by vertically partitioning all columns of the table
|Jun 25, 1997
|Dec 22, 1998
|Sybase, Inc.
|High-speed data base query method and apparatus
|Mar 20, 1997
|Jun 29, 1999
|Sybase, Inc.
|SQL-based database system with improved indexing methodology
|May 9, 1997
|Aug 3, 1999
|Corda Technologies, Inc.
|Device and method for arranging data for use by a data client, such as a graph
|Nov 4, 1997
|Oct 19, 1999
|Xerox Corporation
|Integration platform for heterogeneous databases
|Feb 27, 1998
|Dec 7, 1999
|Oracle Corporation
|Method and apparatus for implementing dynamic VRML
|Dec 12, 1997
|May 2, 2000
|Xilinx, Inc.
|Partially reconfigurable FPGA and method of operating same
|Jun 29, 1998
|Aug 29, 2000
|International Business Machines Corporation
|Optimization of data repartitioning during parallel query optimization
|May 19, 1997
|Sep 5, 2000
|Microsoft Corporation
|Relational database system and method for query processing using early aggregation
|Oct 2, 1996
|Dec 12, 2000
|Oracle Corporation
|Method and apparatus for multidimensional database using binary hyperspatial code
|Jul 2, 1998
|Apr 10, 2001
|At&T Corp.
|Coarse indexes for a data warehouse
|Jun 30, 1998
|Apr 24, 2001
|Oracle Corporation
|Dynamic data organization
|Oct 30, 1998
|May 15, 2001
|Intel Corporation
|Translation lookaside buffer for multiple page sizes
|Mar 22, 2000
|Aug 6, 2002
|Exactone.Com, Inc.
|Method and apparatus for parsing data
|Aug 28, 2000
|Sep 16, 2003
|Ncr Corporation
|Methods and database for extending columns in a record
|Oct 16, 2001
|Sep 23, 2003
|Sony Corporation
|Recording apparatus and recording method, reproducing apparatus and reproducing method, and recording medium
|May 31, 2001
|Feb 10, 2004
|Oracle International Corporation
|Method and system for histogram determination in a database
|Mar 17, 2000
|Mar 16, 2004
|Microsoft Corporation
|Transforming query results into hierarchical information
|Feb 9, 1999
|Jul 20, 2004
|Hewlett-Packard Development Company, L.P.
|Computer architecture with dynamic sub-page placement
|Jun 28, 2001
|Jan 2, 2003
|Wilson Kenneth Mark
|Memory table and memory manager for use in managing memory
|Nov 17, 2003
|May 20, 2004
|Silverbrook Research Pty Ltd
|Print engine/controller with half-tonner/compositor
|Accrue Software Inc., Accrue Insight(TM) 5, 4pgs. www.accrue.com, 2000.
|Colin J. White, "Sybase Adaptive Server IQ, A High-Performance Database for Decision Processing", Database Associates International, Inc., Jan. 1999, pp. 1-9. www.sybase.com/detail/1,6904,1008840,00.html Jan. 1, 1999 (High Perf. DB).
|D.J. DeWitt, et al., "The Gamma Database Machine Project" IEEE Transactions on Knowledge and Data Engineering, pp. 44-62, Mar. 1990. www.citeseer.nj.nec/dewitt90gamma.jtml.
|Frank Teklitz, "Sybase, The Simplification of Data Warehouse Design, Relational Data Cubes and Sybase(R) Adaptive Server(R) IQ Multiplex", White Paper, pp. 1-19. www.sybase.com/detail/16904,1008841,00.html. Aug. 22, 2000 (Relational Data Cubes).
|Goyal, et al., "Indexing and Compression in Data Warehouses", Indian Institute of Technology, Bombay, Proceedings of the International Workshop on Design and Management of Data Warehouses (DMDW'99) Heidelberg, Germany 14.-15.6 1999, pp. 11-1-11-17.
|KXSystems, "Kdb, The Database for Both OLAP and OLTP Processing", White Paper, pp. 1-10, Jul. 2001. www.kx.com.
|Sand Technology(TM), "Sand Analytic Server(TM)", 2 pgs., 2003. www.sand.com/downloads/fs<SUB>-</SUB>sand<SUB>-</SUB>analytic<SUB>-</SUB>server.pdf.
|Sand Technology(TM), Nucleus(R): Technological Core of the Sand Analytic Server(TM),2003. www.sand.com/downloads/wp<SUB>-</SUB>nucleus.pdf.
|Wham Tech, Inc. Thunderbolt VLDB(TM) Features Description (A Technical Perspective), Oct. 2001, White Paper WHAM002Rev 2.2., pp. 1-14. www.whamtech.com/wham/documents/WhamTech Thuderbolt VLDB Features Description.pdf.
|Wham Tech, Real-Time VLDB Database and Search Technologies, "Spatial-Temporal Query Processing", Revision 1.3. Feb. 2000, pp. 1-6. www.whamtech.com/wham/documents/WhamTech Spatial-Temporal Query Processing.pdf..
|Whitney, et al., "High Volume Transaction Processing", pp. 1-19. www,kx.com/papers/hptsl.pdf., 1996.
|Citing Patent
|Filing date
|Publication date
|Sep 5, 2002
|Apr 8, 2008
|Fukuzo Noji
|Computer system for generation of table data applicable to management of enterprises
|Feb 3, 2004
|Jun 3, 2008
|Teradata Us, Inc.
|Compressing data stored in an intermediate or result table of a database
|May 27, 2005
|Aug 5, 2008
|Hitachi, Ltd.
|Method and system for data processing with high availability
|Dec 13, 2004
|Sep 16, 2008
|Ntt Docomo, Inc.
|Binary data categorization engine and database
|Jul 9, 2005
|Feb 24, 2009
|Google Inc.
|Highly compressed randomly accessed storage of large tables with arbitrary columns
|Aug 5, 2005
|Jun 16, 2009
|Google Inc.
|Data compression of large scale data stored in sparse tables
|Aug 5, 2005
|Jul 28, 2009
|Google Inc.
|Storing a sparse table using locality groups
|Mar 31, 2006
|Sep 15, 2009
|Qd Technology, Llc
|Selecting various algorithms to compress columns of analytic data in a read-only relational database in a manner that allows decompression of the compressed data using minimal system resources
|Jul 19, 2007
|Jan 19, 2010
|Sap Ag
|Fast aggregation of compressed data using full table scans
|Aug 5, 2005
|Feb 23, 2010
|Google Inc.
|Data reconstruction from shared update log
|Dec 30, 2005
|Sep 7, 2010
|Sap Ag
|Systems and methods for monitoring and controlling warehouse activities
|Mar 31, 2006
|Oct 19, 2010
|Qd Technology Llc
|Maximizing system resources used to decompress read-only compressed analytic data in a relational database table
|Dec 31, 2007
|Dec 21, 2010
|Teradata Us, Inc.
|Aggregate user defined function (UDF) processing for multi-regression
|May 16, 2008
|Apr 5, 2011
|Jeld-Wen, Inc.
|Thin-layer lignocellulose composites having increased resistance to moisture
|Feb 6, 2009
|Dec 27, 2011
|Hewlett-Packard Development Company, L.P.
|Query optimizer with schema conversion
|Jan 7, 2008
|Apr 3, 2012
|Akiban Technologies, Inc.
|Multiple dimensioned database architecture
|Jul 2, 2008
|Jun 12, 2012
|Hitachi, Ltd.
|Method and system for data processing with high availability
|Nov 26, 2008
|Sep 11, 2012
|Infobright, Inc.
|Methods and systems for database organization
|Sep 28, 2007
|Oct 2, 2012
|Eglobal System Co.
|Method for indexing encrypted column
|Jun 16, 2010
|Oct 16, 2012
|Hewlett-Packard Development Company, L.P.
|Database designer
|Jun 11, 2009
|Nov 27, 2012
|Vivek Swarnakar
|Methods and apparatus for organizing data in a database
|Aug 31, 2010
|Jan 1, 2013
|International Business Machines Corporation
|Method and system for transmitting a query in a wireless network
|Jun 14, 2011
|Apr 9, 2013
|Infobright Inc.
|System and method for storing data in a relational database
|Mar 30, 2011
|May 21, 2013
|Fujitsu Limited
|Distributed processing device, and storage medium storing distributed processing program
|Oct 8, 2008
|Jul 9, 2013
|Google Inc.
|Associating application-specific methods with tables used for data storage
|Jun 14, 2011
|Aug 27, 2013
|Infobright Inc.
|System and method for managing metadata in a relational database
|Mar 28, 2011
|Oct 15, 2013
|Fujitsu Limited
|Device and method for distributed processing
|Nov 14, 2008
|Jan 7, 2014
|Microsoft Corporation
|Efficient large-scale processing of column based data encoded structures
|Dec 19, 2008
|Feb 18, 2014
|Sap Ag
|Simple aggregate mode for transactional data
|Aug 2, 2006
|Mar 11, 2014
|Hewlett-Packard Development Company, L.P.
|Optimizing snowflake schema queries
|May 16, 2008
|Mar 25, 2014
|Paraccel Llc
|System and method for enhancing storage performance in analytical database applications
|Aug 22, 2007
|Apr 15, 2014
|Infobright Inc.
|Method and system for data compression in a relational database
|Jul 14, 2009
|Apr 15, 2014
|Hewlett-Packard Development Company, L.P.
|Database storage architecture
|Oct 26, 2010
|Jul 15, 2014
|Teradata Us, Inc.
|Data row packing apparatus, systems, and methods
|May 8, 2007
|Jul 15, 2014
|Paraccel Llc
|Query handling in databases with replicated data
|Jul 16, 2007
|Aug 5, 2014
|Teradata Us, Inc.
|Optimizing storage allocation
|Sep 13, 2007
|Sep 16, 2014
|Infobright Inc.
|Method and system for storing, organizing and processing data in a relational database
|Jan 11, 2011
|Oct 28, 2014
|Hitachi, Ltd.
|Data replication and failure recovery method for distributed key-value store
|Jan 21, 2013
|Oct 28, 2014
|Robert Mack
|Method and apparatus for defining common entity relationships
|Nov 27, 2006
|Nov 11, 2014
|Teradata Us, Inc.
|Executing a join plan using data compression
|Mar 13, 2013
|Jan 27, 2015
|Infobright Inc.
|System and method for storing data in a relational database
|Feb 22, 2013
|Sep 8, 2015
|The Boeing Company
|Large columnar text file editor
|Apr 8, 2014
|Sep 8, 2015
|Sap Se
|Columnwise storage of point data
|Dec 17, 2012
|Oct 6, 2015
|General Electric Company
|Method for storage, querying, and analysis of time series data
|Jun 20, 2012
|Nov 3, 2015
|Masaru Kitsuregawa
|Database management system and method
|Sep 13, 2007
|Nov 24, 2015
|Ibm International Group B.V.
|Technique for compressing columns of data
|Nov 4, 2009
|Feb 16, 2016
|Microsoft Technology Licensing, Llc
|Column oriented in-memory page caching
|Aug 10, 2011
|Apr 26, 2016
|International Business Machines Corporation
|Encoding data stored in a column-oriented manner
|Sep 30, 2014
|May 24, 2016
|International Business Machines Corporation
|Hierarchical data compression and computation
|May 1, 2015
|May 31, 2016
|International Business Machines Corporation
|Hierarchical data compression and computation
|May 22, 2013
|Jul 5, 2016
|Amazon Technologies, Inc.
|Efficient data compression and analysis as a service
|Apr 11, 2016
|Sep 20, 2016
|International Business Machines Corporation
|Compression of integer data using a common divisor
|Jun 25, 2012
|Oct 11, 2016
|Sap Se
|Columnwise spatial aggregation
|Mar 16, 2016
|Dec 6, 2016
|International Business Machines Corporation
|Hierarchical data compression and computation
|Mar 22, 2016
|Dec 6, 2016
|International Business Machines Corporation
|Hierarchical data compression and computation
|Mar 22, 2016
|Dec 6, 2016
|International Business Machines Corporation
|Hierarchical data compression and computation
|Mar 22, 2016
|Dec 13, 2016
|International Business Machines Corporation
|Hierarchical data compression and computation
|Mar 16, 2016
|Jan 3, 2017
|International Business Machines Corporation
|Hierarchical data compression and computation
|Jun 9, 2014
|Jan 31, 2017
|Sap Se
|Hybrid database table stored as both row and column store
|Dec 30, 2013
|Mar 28, 2017
|International Business Machines Corporation
|Compression of integer data using a common divisor
|May 14, 2016
|Apr 4, 2017
|Walleye Software, LLC
|Distributed and optimized garbage collection of remote and exported table handle links to update propagation graph nodes
|May 14, 2016
|Apr 4, 2017
|Walleye Software, LLC
|Applying a GUI display effect formula in a hidden column to a section of data
|May 14, 2016
|Apr 4, 2017
|Walleye Software, LLC
|Query task processing based on memory allocation and performance criteria
|Jun 9, 2014
|Apr 4, 2017
|International Business Machines Corporation
|Compression of integer data using a common divisor
|May 14, 2016
|Apr 11, 2017
|Walleye Software, LLC
|Parsing and compiling data system queries
|Apr 7, 2014
|Apr 18, 2017
|International Business Machines Corporation
|Compression of floating-point data by identifying a previous loss of precision
|Jun 16, 2014
|Apr 25, 2017
|International Business Machines Corporation
|Predictive placement of columns during creation of a large database
|May 14, 2016
|May 2, 2017
|Walleye Software, LLC
|Data store access permission system with interleaved application of deferred access control filters
|May 14, 2016
|Jun 6, 2017
|Walleye Software, LLC
|Dynamic filter processing
|May 14, 2016
|Jun 13, 2017
|Walleye Software, LLC
|Dynamic join processing using real time merged notification listener
|May 14, 2016
|Jun 27, 2017
|Walleye Software, LLC
|Computer data system position-index mapping
|Dec 26, 2002
|Jul 1, 2004
|Sun Microsystems, Inc., A Delaware Corporation
|Bitstreaming for unreadable redundancy
|Sep 5, 2002
|Dec 2, 2004
|Fukuzo Noji
|Computer system for generation of table data applicable to management of enterprises
|Jun 24, 2004
|Feb 3, 2005
|Yuji Kanno
|Symbol dictionary compiling method and symbol dictionary retrieving method
|May 27, 2005
|Dec 1, 2005
|Katsushi Yako
|Method and system for data processing with high availability
|Nov 27, 2006
|Jun 14, 2007
|Morris John M
|Executing a join plan using data compression
|Dec 30, 2005
|Jul 12, 2007
|Sap Ag
|Systems and methods for monitoring and controlling warehouse activities
|Jul 19, 2007
|Jan 17, 2008
|Stefan Biedenstein
|Fast aggregation of compressed data using full table scans
|Aug 2, 2006
|Feb 7, 2008
|Mitch Cherniack
|Query Optimizer
|Aug 2, 2006
|Feb 14, 2008
|Shilpa Lawande
|Automatic Vertical-Database Design
|Sep 13, 2007
|Mar 20, 2008
|Infobright Inc.
|Method and system for storing, organizing and processing data in a relational database
|Aug 22, 2007
|Mar 20, 2008
|Infobright Inc.
|Method and system for data compression in a relational database
|Sep 13, 2007
|Sep 11, 2008
|John Yates
|Technique for compressing columns of data
|May 8, 2007
|Nov 13, 2008
|Zane Barry M
|Query handling in databases with replicated data
|Jul 2, 2008
|Dec 4, 2008
|Katsushi Yako
|Method and system for data processing with high availability
|Jul 11, 2007
|Jan 15, 2009
|James Joseph Tommaney
|Method and system for processing a database query
|Jul 16, 2007
|Jan 22, 2009
|Gregory Howard Milby
|Optimizing storage allocation
|Nov 26, 2008
|Apr 23, 2009
|Infobright, Inc.
|Methods and systems for database organization
|Dec 31, 2007
|Jul 9, 2009
|Edward Kim
|Aggregate user defined function (udf) processing for multi-regression
|Apr 2, 2009
|Jul 23, 2009
|Qd Technology Llc
|Selecting various algorithms to compress columns of analytic data in a read-only relational database in a manner that allows decompression of the compressed data using minimal system resources
|Jan 7, 2008
|Jul 30, 2009
|Ori Herrnstadt
|Multiple dimenisioned database architecture
|May 16, 2008
|Nov 19, 2009
|Zane Barry M
|Storage performance optimization
|Nov 14, 2008
|Feb 4, 2010
|Microsoft Corporation
|Efficient large-scale processing of column based data encoded structures
|Dec 19, 2008
|Jun 24, 2010
|Sap Ag
|Simple aggregate mode for transactional data
|Sep 28, 2007
|Jul 1, 2010
|Kang Hee-Chang
|Method for indexing encrypted column
|Jun 11, 2009
|Dec 16, 2010
|Vivek Swarnakar
|Methods and apparatus for organizing data in a database
|Sep 3, 2010
|Dec 23, 2010
|Qd Technology, Llc
|Maximizing system resources used to decompress read-only compressed analytic data in a relational database table
|Sep 3, 2010
|Dec 30, 2010
|Qd Technology, Llc
|Maximizing system resources used to decompress read-only compressed analytic data in a relational database table
|Jul 14, 2009
|Jan 20, 2011
|Vertica Systems, Inc.
|Database Storage Architecture
|Oct 26, 2010
|Feb 17, 2011
|Teradata Us, Inc.
|Data row packing apparatus, systems, and methods
|Nov 4, 2009
|May 5, 2011
|Microsoft Corporation
|Column Oriented In-Memory Page Caching
|Jun 16, 2010
|Sep 1, 2011
|Vertica Systems, Inc.
|Database designer
|Mar 30, 2011
|Oct 6, 2011
|Fujitsu Limited
|Distributed processing device, and storage medium storing distributed processing program
|Mar 28, 2011
|Oct 6, 2011
|Fujitsu Limited
|Device and method for distributed processing
|Jun 20, 2012
|Oct 11, 2012
|Masaru Kitsuregawa
|Database management system and method
|Dec 17, 2012
|Jun 19, 2014
|General Electric Company
|Method for storage, querying, and analysis of time series data
|Jan 21, 2013
|Jul 24, 2014
|Robert Mack
|Method and apparatus for defining common entity relationships
|Apr 8, 2014
|Aug 7, 2014
|Christoph Weyerhaeuser
|Columnwise Storage of Point Data
|Jun 9, 2014
|Oct 9, 2014
|Yongsik Yoon
|Hybrid Database Table Stored as Both Row and Column Store
|Nov 19, 2015
|Mar 10, 2016
|International Business Machines Corporation
|Data Encoding and Processing Columnar Data
|Sep 28, 2007
|Apr 10, 2008
|Eglobal Systems Co.
|Method for indexing encrypted column
|Apr 30, 2008
|Nov 20, 2008
|Paraccel, Inc.
|Query handling in databases with replicated data
|Apr 30, 2008
|Jan 8, 2009
|Mario A Guthrie
|Query handling in databases with replicated data
|Jul 31, 2009
|Apr 22, 2010
|Microsoft Corporation
|Efficient large-scale processing of column based data encoded structures
|U.S. Classification
|1/1, 707/999.101, 707/999.001
|International Classification
|Cooperative Classification
|European Classification
|Aug 6, 2001
Owner name: ADDAMARK TECHNOLOGIES, INC., CALIFORNIA
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:SAH, ADAM;KARLSON, ERICK;TAYLOR, CIMAROON;AND OTHERS;REEL/FRAME:012065/0449
Effective date: 20010803
|Jun 24, 2002
Owner name: ADDAMARK TECHNOLOGIES, INC., CALIFORNIA
Free format text: RE-RECORD TO CORRECT AN ASSIGNOR ON A PREVIOUS RECORDING ON REEL 012065 FRAME 0449. ASSIGNOR CONFIRMS THE ASSIGNMENT OF THE ENTIRE INTEREST.;ASSIGNORS:SAH, ADAM;KARLSON, ERIC;TAYLOR, CIMAROON;AND OTHERS;REEL/FRAME:013026/0122
Effective date: 20010803
|Oct 17, 2002
Owner name: ADDAMARK TECHNOLOGIES, INC., CALIFORNIA
Free format text: RECORD TO CORRECT ASSIGNOR NAMES PREVIOUSLY RECORDED AT REEL 013026 FRAME 0122;ASSIGNORS:SAH, ADAM;KARLSON, ERIC;TAYLOR, CIMARRON;AND OTHERS;REEL/FRAME:013401/0139
Effective date: 20010803
|Dec 3, 2004
Owner name: SENSAGE, INC., CALIFORNIA
Free format text: CHANGE OF NAME;ASSIGNOR:ADDAMARK TECHNOLOGIES, INC.;REEL/FRAME:015424/0013
Effective date: 20041014
|Sep 10, 2007
Owner name: COMERICA BANK, CALIFORNIA
Free format text: SECURITY AGREEMENT;ASSIGNOR:SENSAGE, INC.;REEL/FRAME:019805/0007
Effective date: 20070824
|Feb 29, 2008
Owner name: CANAAN EQUITY III, L.P., CALIFORNIA
Free format text: SECURITY AGREEMENT;ASSIGNOR:SENSAGE, INC.;REEL/FRAME:020582/0288
Effective date: 20080229
|Oct 17, 2008
Owner name: SENSAGE, INC., CALIFORNIA
Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CANAAN EQUITY III L.P.;REEL/FRAME:021691/0717
Effective date: 20081017
|Oct 5, 2009
|Fee payment
Year of fee payment: 4
|Sep 2, 2010
Owner name: MMV FINANCE INC., CANADA
Free format text: SECURITY AGREEMENT;ASSIGNOR:SENSAGE, INC.;REEL/FRAME:024933/0289
Effective date: 20100902
|Sep 16, 2011
Owner name: CANAAN EQUITY III L.P., CALIFORNIA
Free format text: SECURITY AGREEMENT;ASSIGNOR:SENSAGE, INC.;REEL/FRAME:026923/0174
Effective date: 20110915
|Oct 16, 2012
Owner name: SENSAGE, INC., CALIFORNIA
Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:COMERICA BANK;REEL/FRAME:029137/0426
Effective date: 20121012
Owner name: SENSAGE, INC., CALIFORNIA
Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:CANAAN EQUITY III L.P.;REEL/FRAME:029137/0293
Effective date: 20121012
Owner name: SENSAGE, INC., CALIFORNIA
Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MMV FINANCE INC.;REEL/FRAME:029137/0489
Effective date: 20121012
|Aug 22, 2013
Owner name: THE KEYW CORPORATION, MARYLAND
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:SENSAGE, INC.;REEL/FRAME:031063/0628
Effective date: 20130819
|Sep 12, 2013
|Fee payment
Year of fee payment: 8
|Jul 21, 2014
Owner name: THE KEYW HOLDING CORPORATION, MARYLAND
Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT;REEL/FRAME:033363/0158
Effective date: 20140721
Owner name: THE KEYW CORPORATION, MARYLAND
Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT;REEL/FRAME:033363/0158
Effective date: 20140721
Owner name: ROYAL BANK OF CANADA, AS ADMINISTRATIVE AGENT, CAN
Free format text: SECURITY INTEREST;ASSIGNOR:SENSAGE, INC.;REEL/FRAME:033369/0341
Effective date: 20140721
|Apr 5, 2016
Owner name: HEXIS CYBER SOLUTIONS, INC., MARYLAND
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:THE KEYW CORPORATION;REEL/FRAME:038190/0019
Effective date: 20160329
|Oct 5, 2016
Owner name: IGNITE ANALYTICS, INC., TEXAS
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:HEXIS CYBER SOLUTIONS, INC.;REEL/FRAME:039946/0275
Effective date: 20160502


text:
|Nagaoka Mikio
|Additional Information
|Fighting Style
|Kōgen Ittō-ryū
|Samurai (formerly)
|Nagaoka family
Tokugawa Bakufu
|Story Facts
|Manga Debut
|Act 31
|Anime Debut
|Episode 12
|Keiji Fujiwara
Nagaoka Mikio is the young heir to the Nagaoka family--a family of prominent former samurai who served under the shogun before the Meiji era. As his family's prosperity fell after the dissolution of the samurai class, Mikio and his wayward friends became a cadre of small-time burglars in order to gain wealth and power.
Setting his sights on the sizable profits earned by the Akabeko restaurant and its owners, the Sekihara family, Mikio conscripts the assistance of Sanjō Tsubame, whose former samurai family served under his before the Meiji era, in stealing from them. Against Tsubame's will, Mikio forces her to infiltrate the Akabeko as a waitress long enough to steal a mold of the key to the Sekihara family's home. Reluctantly, Tsubame does as she is told, but hesitates to hand the mold over to her former master, admonishing that burglary would stain the Nagaoka family's name and honor. Furious at his former vassal's insubordination, Mikio declares that, without a key to the Sekihara house, he and his men will have to resort to murder in the course of their burglary. Their conversation is interrupted by the appearance of Myōjin Yahiko, a young coworker of Tsubame's, and Mikio's men beat the little boy until Tsubame surrenders the key mold.
The next evening, after forging the key, Mikio and his gang descend on the Sekihara house to steal the family's money and belongings, but are interrupted once more by Yahiko, who steals the key from Mikio's pocket and runs off with it, leading the gang away from the house. Yahiko manages to defeat some of Mikio's men with his shinai after corralling them in a narrow alleyway, but the rest flee when they see that Yahiko is being watched over by the infamous brawler Zanza and the mysteriously dangerous rurouni. Oblivious to Yahiko's backup and left alone at the scene, Mikio draws his katana, intending to kill the boy with his family's kenjutsu style Kōgen Ittō-ryū. However, despite an initial advantage, the would-be burglar eventually finds himself outmatched by Yahiko's kenjutsu skills and is soundly defeated.


text:
What is JotForm?
JotForm is a free online form builder which helps you create online forms without writing a single line of code. No sign-up required.
At JotForm, we want to make sure that you're getting the online form builder help that you need. Our friendly customer support team is available 24/7.
We believe that if one user has a question, there could be more users who may have the same question. This is why many of our support forum threads are public and available to be searched and viewed. If you'd like help immediately, feel free to search for a similar question, or submit your question or concern.
JotForm Support
Your account was autosuspended by our phishing detector, which is why your forms are currently disabled. I checked your forms and they don't seem to violate our terms. With that in mind, I have now removed the suspension on your account. You should now be able to use the forms without any issue.
You do not need to delete your account, but if you still want to proceed with the deletion, please confirm and we will do so accordingly.
Got it. It's all working now. No need to delete, on the contrary, the website is excellent and I only have what I praise. Thank you!!
Hello, it's happening again. They are not working. What is cusing this?? This can cuse problems. Please, what can i do?
JotForm Support
This could be because of your form http://www.jotformz.com/form/70031774953659 which is asking for login information.
But I see that you have recently deleted the form. I have activated your account. The forms should be accessible again now.