Search
Subscribe

Bookmark and Share

About this Blog

As enterprise supply chains and consumer demand chains have beome globalized, they continue to inefficiently share information “one-up/one-down”. Profound "bullwhip effects" in the chains cause managers to scramble with inventory shortages and consumers attempting to understand product recalls, especially food safety recalls. Add to this the increasing usage of personal mobile devices by managers and consumers seeking real-time information about products, materials and ingredient sources. The popularity of mobile devices with consumers is inexorably tugging at enterprise IT departments to shifting to apps and services. But both consumer and enterprise data is a proprietary asset that must be selectively shared to be efficiently shared.

About Steve Holcombe

Unless otherwise noted, all content on this company blog site is authored by Steve Holcombe as President & CEO of Pardalis, Inc. More profile information: View Steve Holcombe's profile on LinkedIn

Follow @WholeChainCom™ at each of its online locations:

Entries by Steve Holcombe (178)

Tuesday
Jun102008

Cloud Computing: Billowing Toward Data Ownership - Part I

Let's begin with the definition of Cloud Computing as currently found in Wikipedia, the free encyclopedia -

"The term ... derives from the common depiction in most technology architecture diagrams, of the Internet ... using an illustration of a cloud. The computing resources being accessed are typically owned and operated by a third-party provider on a consolidated basis in data center locations. Target consumers are not concerned with the underlying technologies used to achieve the increase in server capability, [the availability of which] is sold simply as a service available on demand."

As reported in Data Center Knowledge, Microsoft Chairman Bill Gates recently spoke about the boom in data center growth -

"The shift of services to the Cloud is getting us to think about data centers on a scale we never have before .... When you think about design, you can be very radical and come up with some huge improvements as you design for this kind of scale ...."

As reported in The Economist there is indeed a boom in the data center industry -

"Data centers are essential to nearly every industry and have become as vital to the functioning of society as power stations are .... American alone has more than 7,000 data centers .... And each is housing ever more servers, the powerful computers that crunch and dish up data .... Google is said to operate a global network of about three dozen data centers with ... more than 1 million servers. To catch up, Microsoft is investing billions of dollars and adding up to 20,000 servers a month .... In America the number of servers is expected to grow to 15.8 million by 2010 - three times as many as a decade earlier."

This boom is building the Cloud where software as a service (SaaS) will find the 'oxygen' it needs to survive and thrive. The expansion of the Cloud augurs well that distributed data within the Cloud will come to substitute to some extent - perhaps substantially so - for data distributed outside of the Cloud.

One resulting consequence will likely be that mobile technology becomes promoted not as a storage device but as a utilitarian tool for taking a sip of data as needed, when needed, from the moisture of the Cloud. Imagine the Cloud holding the data for each user's personal mobile technology. Imagine users traveling as 'digital nomads' without laptop computers, because they will stay connected to the Cloud through their internet-accessible mobile phones.

Jonathan Schwartz, CEO of Sun Microsystems, spent a week recording his life as one such digital nomad for The Economist.


Click on image to play video podcast [5m 25s]

Here's the takeaway quote (paraphrased) from this podcast - "In my travels I keep a pen and a BlackBerry. My assumption is that the network has become ubiquitous across the world. The network is more a utility for me than a destination." 

    Again, data distribution becomes more about distribution of data stored within the Cloud and less about distribution of data stored on mobile technology. Lost your internet-accessible mobile phone in Paris, France? Purchase another one when you land in San Francisco and re-connect to the Cloud (and your address book, scheduling calendar, etc.) without missing a beat.

    Another likely consequence of the Cloud is that as people and businesses consider moving their computer storage and services into the Cloud, their direct technological control of information becomes more and more of a competitive driver. The buzz created by Dataportability.org is the early evidence of this driver. See Portability, Traceability and Data Ownership (Part I).

    But mere portability is not enough. It only whets the appetite of people and business owners for more technological control - not just legislated or contractual privacy protections. See, e.g., Personal Health Records, Data Portability and the Continuing Privacy Paradigm. That is, the Cloud significantly increases the opportunities for privacy friendly technologies, including data ownership technologies.

    "The [online] company that ... figures out ways of ... [technologically] building into [its] compliance systems ... [privacy] compliance mechanisms ... will be putting itself at a tremendous competitive advantage for attracting the services to operate in [the cloud computing environment]." Quoting Reidenberg in Computing in the Cloud: Possession and ownership of data.

    Steve Inskeep of NPR's Morning Edition recently talked with Craig Balding, an information technology security expert for a Fortune 500 company, about Cloud Computing. Here's the takeaway exchange from the 3m 30s audio clip 'Cloud Computing' Puts Computer Resources on Tap -

    Inskeep (2m25s): "Is somebody who runs a business, who used to have a filing cabinet in a filing room, and then had computer files and computer databases, really going to be able or want to take the risk of shipping all their files out to some random computer they don't even know where it is and paying to rent storage that way?"

    Balding: "Yes, that's really a key question, even though these are reputable companies ... there's going to be a whole ecosystem that builds up around around [Cloud Computing] ... of smaller companies that will offer additional services on top of [Cloud Computing's] basic services .... so what I've done is [I've} actually started up a blog [called] cloudsecurity.org and what I'm trying to do is to get the various cloud providers to come and have a discussion about what security they are doing ..."

    If you are an IT security expert, I would encourage you to take a moment to familiarize yourself with Mr. Balding's Cloud Security blog. Security is an absolute essential for the Cloud, as it has been for databases of any size since they were first engineered.

    But security ... is not enough.

    As Bruce Schneier has written in Secrets And Lies - Digital Security In A Networked World -

    "The average person can not tell good security from bad security... the world is filled with specialties that are critical to public safety and security, and yet are beyond the comprehension of the general population... Commerce works the same way. When was the last time you personally checked the accuracy of a gas station's pumps, or a taxicab's meter, or the weight and volume information on packaged foods?" [emphasis added]

    Schneier's language parallels the central theme of Banking on Granular Information Ownership -

    "People are comfortable and familiar with monetary banks. That’s a good thing because without people willingly depositing their money into banks, there would be no banking system as we know it .... [By comparison, we] live in a world that is at once awash in on-demand information courtesy of the Internet, and at the same time the Internet is strangely impotent when it comes to information ownership ....

    In many respects the Internet is like the Wild West because there is no information web similar to our monetary banking system. No similar integrated system exists for precisely and efficiently delivering our medical records to a new physician, or for providing access to a health history of the specific animal slaughtered for that purchased steak. Nothing out there compares with how the banking system facilitates gasoline purchases."

    Banks meet the expectations of their customers by providing them with security, yes, but also credibility, compensation, control, convenience, integration and verification. It is the dynamic combination of these that instills in customers the confidence that they continue to own their money, even while it is in the hands of a third-party bank.


    No, security is not sufficient by itself to compel the hypothetical business owner, whom Inskeep was referencing, to take the risk of putting his or her information into the Cloud.

    As blogged in Portability, Traceability and Data Ownership (Part IV), nobody has done a better job of describing why data ownership matters to the use and effectiveness of big databases than Marshall Van Alstyne. And I continue to be charmed with the 1994 publication he co-authored entitled, Why Not One Big Database? Ownership Principles for Database Design.

    You might have seen this before, but here’s my favorite quote from Van Alstyne's paper -

    The fundamental point of this research is that ownership matters. Any group that provides data to other parts of an organization requires compensation for being the source of that data. When it is impossible to provide an explicit contract that rewards those who create and maintain data, "ownership" will be the best way to provide incentives. Otherwise, and despite the best available technology, an organization has not chosen its best incentives and the subtle intangible costs of low effort will appear as distorted, missing, or unusable data.” (emphasis added)

    I know I am in effect bootstrapping Van Alstyne's research results.

    I am taking liberties by stretching his research from big organizational databases to cover that of the Cloud. I recognize that the Cloud is already of a scale that is astronomically larger than even what Van Alstyne in his mid-1990's research could have possibly imagined it would become today.

    But when I read Van Alstyne's paper there is an insistent voice inside of me that says "data ownership matters to the Cloud for the same reasons it matters to big, organizational databases." 


    Clouds V1 from Robert Beyer on Vimeo.

    [This concludes Part I of a three part series. On to Part II.]

    Monday
    Jun092008

    Statistical Visualization: How Different Groups Voted in the 2008 Democratic Presidential Primaries

    The New York Times is a leader in online, interactive statistical visualization.

    Here's a recent example that statistically re-stacks exit poll results regarding how each state voted for Obama and Clinton during the just completed 2008 Democratic Party Presidential Primaries.

    Choose by sex, income, race, age, income and education, and watch as each state - represented by a block - is re-positioned according to how close or how far each state is percentage-wise away from the interesection of the X/Y axes. Run your pointer over each state's block, too, to gather statistical data specific to each state.


    New York Times Interactive Graphic

    For those of you with further interest in what the New York time is significantly accomplishing, check out a May 16th blog by Jon Udell entitled A conversation with Gabriel Dance and Shan Carter about interactive graphics at the New York Times. This is a short blog prefacing an audio interview conducted by Udell produced by ITConversations and entitled Shan Carter & Gabriel Dance: Enhancing Online News Content (57m).

    Without going into further detail, I have listened to this audio podcast (also available for free download via iTunes) and this is a fascinating interchange between Udell, Carter and Dance. It's much much of the nuts and bolts (still highly manual) that go into creating statistical visualizations that serve to connect ordinary people with data that they would otherwise be oblivious to.

    I highly recommend downloading Udell's podcast to your iPod!

    Friday
    Jun062008

    NY Times Bits: The Inexact Science Behind DMCA Takedown Notices

    As reported in Bits on 5 June 2008 -

    "A new study from the University of Washington suggests that media industry trade groups are using flawed tactics in their investigations of users who violate copyrights on peer-to-peer file sharing networks .... Those trade groups, including the Motion Picture Association of America (M.P.A.A.) Entertainment Software Association (E.S.A.) and Recording Industry Association of America (R.I.A.A.), send universities and other network operators an increasing number of takedown notices each year, alleging that their intellectual property rights have been violated under the Digital Millennium Copyright Act [DCMA] ....


    The paper finds that there is a serious flaw in how these trade groups finger alleged file-sharers. It also suggests that some people might be getting improperly accused of sharing copyrighted content, and could even be purposely framed by other users."

    For the complete article, go to The Inexact Science Behind DMCA Takedown Notices.
    Thursday
    Jun052008

    Advantages of object oriented databases over relational databases

    The following quoted text is taken from an IBM patent filed in 1991 and issued in 1994 entitled Access control policies for an object oriented database, including access control lists which span across object boundaries.

    Here's the take-away quote:

    "One shortcoming of relational databases is that access permission control is on a record basis and does not deal with objects, where objects represent complex entities and specific methods."

    • "In a relational database, data is viewed as rows and columns, where a row represents a record, in tables. In order to retrieve records that represent the spanning of multiple tables, relational operators, such as a join operation, are utilized. Although relational operators are used within applications or by users through a query language, these relational operations are not incorporated within the data such that the relational database manager can automatically intuit such relationships. In order to retrieve a record from the database, the user must have read permission for that record. In order to change the data in the record, the user must retrieve (select and fetch) the data into memory, update the record in memory, and then write the updated record to the database. The user must have permission to write the record before the database manager allows the previous data to be overwritten in the database. Moreover, in order to update the record in memory, the user must be cognizant of the column's attributes, such as whether that column contains integers, characters, strings etc.

      In an object oriented database, the navigation through the data is similar to that of the network model where an object oriented database manager traverses the relationships defined amongst the objects and subobjects. In contrast to the relational database model, relationships between objects and subobjects are defined through the data, and not through explicit operations. Moreover, in complex application environments, objects and their relationships usually show very complex internal structures and comprise larger number of properties; such properties include methods. In addition, the object oriented database model parallels the object oriented programming model in that one may inherit attributes and methods from predecessor objects. However, the object oriented programming model generally deals with objects that are temporal in nature, i.e., memory resident. The object oriented database model extends the programming model by allowing one to deal with objects that persist, i.e., are disk resident. One of the features of object oriented databases (analogous to the programming model) is to provide the ability to define generic operations, i.e. methods, which apply to the objects, for the purposes of manipulating and retrieving them. In the relational database model, all operations to retrieve and manipulate records are performed by using the database manager's application programming interface or query language. The object oriented methodology insulates the users of the database from the data representation and/or data structures that comprise objects. All retrieval and update operations may be performed through the use of these methods.

      Object-oriented database systems allow the semantics of a given environment to be modeled as a set of objects and relationships among them. Moreover, in complex application environments, objects and their relationships usually show very complex internal structures and comprise larger numbers of properties. With today's database systems, which are generally based upon a classical data model (hierarchical, network, or relational), they tend to be tailored to represent rather simple entities, thus resulting in large semantic gaps when dealing with more complex entities. In part this is true because one conceptual entity must be represented by a number of database objects (for example, records, tuples and so on). An object-oriented database system differs in that it offers a data model that allows the user to represent one conceptual real world entity by exactly one object or object class. This implies that an object-oriented model allows entities to be composed of subentities that are entities themselves, including recursive definition. There are several levels of object orientation:

      Structurally object-oriented: Allows one to define data structures to represent entities of any complexity.

      Operationally object-oriented: Includes generic operators to deal with complex objects in their entirety.

      Behaviorally object-oriented: Borrows types from the object-oriented programming paradigm, a data model that incorporates features to define object descriptor types of any complexity together with a set of specific operators (abstract data types).

      In summary, an object-oriented database paradigm offers increased modeling power by providing the ability to handle semantically meaningful objects rather than normalized tuples or single records. Such an approach greatly reduces the semantic gap between the real world and the database representation, while at the same time offering a more precise semantic definition of our real world.

      In the relational database model, access privileges may be set on the records such that grant and revoke authorization privileges can be determined per user of the database. The records are tagged with either read or write privileges for specific users. For example, the first record could be read by users A, B, and C, and only written by user C. Likewise, the second record could be tagged such that only user A has the permission to read, and only user A has the permission to write.

      For example, if a database contained payroll information, members of the payroll department may be able to read all of the payroll information for all departments except the payroll record for their payroll department. Only the manager of the payroll department would have the permission to read the record containing the payroll department data. If a user attempted to retrieve the records which did not define read privilege for the user, that user would not be granted the ability to see that record of data.

      One shortcoming of relational databases is that access permission control is on a record basis and does not deal with objects, where objects represent complex entities and specific methods."

    Wednesday
    Jun042008

    US Patent 5,987,423: Object oriented technology framework for order processing (IBM Corporation)

    Title: Object oriented technology framework for order processing
    Patent Number: US Patent 5,987,423
    Issued: November 16, 1999
    Filed: March 28, 1997
    Parent case: n/a
    Inventor(s): Arnold, Vincent D. et al.
    Assignee: IBM Corporation
    Referenced at issuance: US Patent 5,758,153 (Object Technology Licensing Corp.)
    Referenced after issuance:
    Blogger comment:

    There were 31 references to prior patents at issuance, including US Patent 5,758,153, referenced above. The remaining 30 references are unremarkable for the scope and purposes of this blog.

    An advanced search at USPTO online on May 30, 2008 for distinguishing references to this patent after its issuance using ref/5987423 reveals 30 references. A more refined search reveals no patents deemed relevant for the scope and purposes of this blog.

    Abstract:

    The invention fulfills a need for an order processing application program development tool that permits application program developers to more quickly develop and more easily maintain order processing applications. 

    Independent claims (as numbered):

    1. A computer data processing system comprising:

    a central processing unit;

    a user interface; and

    a main memory having an operating system that supports an object oriented programming environment containing a framework that provides an extensible order management system for a Company that is specified by a data object, the framework including a Sales Order mechanism comprising a Sales Order category of cooperating objects that identify one or more sales orders and a Purchase Order category of cooperating objects that identify one or more purchase orders.

    10. A program product data storage device, tangibly embodying a program of machine-readable instructions executable by a computer system having an operating system that supports an object oriented programming environment, the program product comprising:

    a recordable media;

    a framework recorded on the recordable media, the framework having

    (a) an Order Management mechanism comprising an Order abstract base class specifying data structures that identify orders received by a company from customer business partners for products,

    (b) a Sales Order mechanism comprising a Sales Order category of data structures containing object classes that identify one or more sales orders received from customers of the company, each sales order referencing object classes such that the referenced objects identify products that are the subject of the sales order and identify pricing and discounts applicable to the products, and are abstracted from the Order class, and

    (c) a Purchase Order mechanism comprising a Purchase Order category of data structures containing object classes that identify one or more purchase orders issued by the company, each purchase order referencing object classes such that the referenced objects identify products that are the subject of the purchase order and identify pricing and discounts applicable to the products, and are abstracted from the Order class.

    11. An object oriented extensible order management system framework for use in a computer system having an operating system that supports an object oriented programming environment and includes a memory in which object classes can be stored, the framework including a Sales Order mechanism comprising a Sales Order category of cooperating objects that identify one or more sales orders and a Purchase Order category of cooperating objects that identify one or more purchase orders.

    21. A program product data storage device, tangibly embodying a program of machine-readable instructions executable by a computer system having an operating system that supports an object oriented programming environment, the program product comprising:

    a recordable media; and

    a framework recorded on the recordable media, the framework including a Sales Order mechanism comprising a Sales Order category of cooperating objects that identify one or more sales orders and a Purchase Order category of cooperating objects that identify one or more purchase orders.

    31. A method of distributing a program product, the method comprising the steps of:

    establishing a connection between a first computer system and a second computer system; and

    transmitting the program product from the first computer system to the second computer system, wherein the program product comprises an object oriented framework including:

    a Sales Order mechanism comprising a Sales Order category of cooperating objects that identify one or more sales orders, and

    a Purchase Order category of cooperating objects that identify one or more purchase orders.