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:

Monday
Apr212008

US Patent 5,220,657: Updating local copy of shared data in a collaborative system (Xerox Corporation)

Title:  Updating local copy of shared data in a collaborative system
Patent Number: US Patent 5,220,657
Issued: June 15, 1993
Filed: April 15, 1991
Parent case: This is a division of an application filed Dec. 2, 1987, now US Pat. No. 5,008,853 (Xerox Corporation). Pursuant to 35 U.S.C. § 154(c)(1), the Xerox 657 patent grant likely expired Dec. 2, 2007.
Inventor(s): Bly, Sara A., et al.
Assignee: Xerox Corporation
Referenced at issuance: US Pat. No. 5,008,853 (Xerox Corporation) and US Patent 5,107,443 (Xerox Corporation)
Distinguished after issuance from: Australian Patent 2002323103 (a foreign filing of US Patent 6,671,696 - Pardalis Inc.), US Patent 6,088,702 (Plantz, Scott H. et al), US Patent 6,240,414 (eiSolutions, Inc.) and US Patent 6,573,907 (Obvious Technology).
Blogger comment(s):

There were 17 references to prior patents at issuance, including US Pat. No. 5,008,853 and US Patent 5,107,443. The remaining 15 references are unremarkable for the scope and purposes of this blog.

An advanced search at USPTO online on May 9, 2008 for distinguishing references to this patent after its issuance using ref/5220657 reveals 242 references. A more refined search reveals US Patent 6,088,702, US Patent 6,240,414, and US Patent 6,573,907.

I have also blogged a comment on this patent in The Roots of Common Point Authoring (CPA)

Other inventor comments:

Structured Data Objects: US Patent 6,088,702 commenting on US Patent 5,220,657 Φ

Abstract:

A multi-user collaborative system in which the contents as well as the current status of other user activity of a shared structured data object representing one or more related structured data objects in the form of data entries can be
concurrently accessed by different users respectively at different workstations connected to a common link.

Independent claims (as numbered):

1. A method for operating a collaborative system that includes a plurality of workstations each having a respective display, a respective user input device, and a respective local memory the collaborative system further including storage means for storing shared data; each of the workstations being connected for accessing the shared data stored by the storage means to retrieve the shared data for storage in the respective local memory and for presentation on the respective display; the method comprising steps of:

receiving from the respective user input device of a first one of the workstations a signal requesting an operation affecting the shared data; and

in response to the signal requesting the operation, performing the following acts substeps of:

locking the shared data stored by the storage means to prevent other operations affecting the shared data;

determining whether an up-to-date copy of the affected shared data is stored in the respective local memory of the first workstation;

if an up-to-date copy of the affected shared data is not stored in the respective local memory of the first workstation, storing an up-to-date copy of the affected shared data in the respective local memory of the first workstation;

performing the requested operation by making a change in the up-to-date copy of the affected shared data stored in the respective local memory of the first workstation;

updating the shared data stored by the storage means to include the change made by performing the requested operation; and

unlocking the shared data stored by the storage means after the shared data stored by the storage means is updated.

[emphasis added]

Key Drawing(s):

2093760-1686269-thumbnail.jpg
[Original image modified for size and/or readability]
"In FIG. 13 there is shown a flowchart which represents the basic transaction occurring during each instance of a shared book operation, i.e. upon user invoked operational commands on shared book 40, wherein such an operation has a requirement or need for current shared book information to properly implement the operation. The transaction of FIG. 13 is carried out to completion from START to FINISH with performance of the invoked "Do Operation" at 116. The transaction of FIG. 13 can be divided, for convenience, into a BEGIN portion and an END portion. The BEGIN portion updates the local copy of shared book information, if necessary. The END portion updates the remote instance of a shared book data file, if necessary, by copying data from workstation 14 to the remote files services. Encompassing these updating functions is the locking and unlocking of the shared book's lock. The BEGIN portion is represented by functions 110, 112 and 114 and the END portion is represented by the functions 118 and 120. In this connection, the implementation for shared books provides arbitration of access to the remote shared book data by using a lock on the shared book. The lock is implemented by the database service and is available over the network. In this manner, any user invoked operation that requires up-to-date shared book data, or could possibly effect data changes, such as opening a shared book 40, opening an entry 44, opening the shared book property sheet 50 or opening an Entry Details property sheet 60, locking a particular entry 44, copying a shared book entry 44 to desktop 32 or copying an entry from desktop 32 back into shared book 40, causes the implementation to acquire or attempt to acquire a lock on the shared book. If successful, the command is allowed to proceed and the lock is held on the shared book for the duration of the execution of the command, after which the shared book lock is released. Otherwise, the user is informed that the shared book is currently in use and displays the name of the other user that presently has the shared book locked."

"Locks are specified for the shared book per se or for an entry or entries. The former control is invisible to the user and the latter control is invoked by the user and is visible to all users in their user interface representation. The former provides for consistent and continuous serialized updating of the shared book representation while the latter gives a user exclusive right over an entry, usually for the purpose of entry modification. It should be realized that the shared book is locked only during execution of an operation command and the lock, therefore, is usually "short living", i.e. milliseconds or seconds or minutes, whereas entry locking occurs manually by a user and will remain indefinitely or at least until invoking of a "Save" command on an entry or explicitly cancelling the lock and, therefore, is "long living", i.e. minutes, days or even weeks. The purpose of the shared book lock is to maintain consistency in updating information in the relaxed WYSIWIS representation about a shared book without processing further updating information from another shared book implementation so that updates to a shared book's data file are serialized by transparently acquiring its lock. Once the lock is released, another user instance is free to acquire the shared book lock via the next user invoked operation command."

"Upon a user invoked operation command, the implementation will conduct a transaction with the remote database service to determine if the shared book is locked, as indicated at decision box 110. If the shared book data file is locked, the task is finished, i.e. aborted, and the user is encouraged to try again. If the shared book data file is not locked, then the shared book is locked, as indicated by box 112. Next, the current shared book information is obtained from the shared book data file, if necessary, i.e. the information, as updated, pertaining to the current list of entries of the shared book and the fields of records pertaining to shared book window 42, the shared book property sheet 50B and each shared book entry property sheet 60B. This function is represented by box 114 in FIG. 13. After information updating of the local instance of the shared book user interface representation, the task originally invoked by the user is processed, as represented by the "Do Operation" of box 116. This task, that will invoke the transaction of FIG. 13, will be an operation at the entry level, such as, opening an entry, copying an entry, opening an entry Details property sheet 60B, locking an entry, paginating one or more entries or printing one or more entries, on the shared book. There are also some operations relative to the shared book entity per se, such as, opening of a shared book icon 40, opening the shared book property sheet 50B, copying an entry into or out of the shared book, or paginating the shared book or copying the shared book to the printer icon, that will invoke the transaction of FIG. 13."

"The next function to occur in the transaction of FIG. 13 is an updating of shared book information, relative to the local instance, to the remote file service, i.e. to the remote shared book data and database files. This is represented by box 118 in FIG. 13. Thus, any local changes to information relating to the shared book 40, for example, addition of a new entry 44C to a local instance of shared book 40 or invoking a "save" command on an entry 44, will be updated to the remote shared book, after which the shared book lock is removed, as indicated at box 120. The transaction is thus completed or FINISH."

Friday
Apr182008

Dataportability, Traceability and Data Ownership - Part III

[Return to Part II]

The Value Proposition of Data Ownership

Thanks to Henry Story for stopping by to comment on the XML object examples offered in Part II.

"Yes, unique identifiers are very helpful. But numbers rarely uniquely identify anything. Replace your numbers above with URIs (Universal Resource Identifiers) and you have not only a proven system of unique IDs, you also have (especially with http URIs) a well understood way of dereferencing the information. Then you no longer need a specialised name server. This is what the web part of the semantic web is about [which I wrote about in the Sun Bablefish blog entitled hyperdata posted September 20, 2007]. You then move out of supply chains, into supply networks, which I wrote up in another blog [entitled Supply Networks posted April 19, 2007]." (emphasis added)

The end-game goal of the emerging Semantic Web is to interconnect data so that it becomes a ‘hyperdata’ machine. Nonetheless, as Story has previously propounded, there is more to it than technology. There is also the need for policies or other non-technological means that address “who should see what data, who should be able to copy that data, and what they should be able to do with it.”

For some people the Semantic Web will be a technological wonder to behold. Others will be scared stiff by it. Many will feel both awe and trepidation. But not to be forgotten is that people matter more than the Web, itself. A Semantic Web that people view as outside of their control will be a machine that can only become a shadow of its full potential because people, businesses and, yes, even governments will not fully participate.

Previously, in Banking on Granular Information Ownership I offered this.

"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. Banks need access to people’s money into order to make profits. Without a healthy monetary banking system our economies would be comparatively dysfunctional, and our personal lives would be critically deficient in opportunities."

The same thing can be said about the emerging Semantic Web. People will need to be made comfortable and familiar with the Semantic Web. Without people willingly depositing their information to this new Web, it will fall far short of its inherent capacity for growth.

Moreover, the Semantic Web will need access to people’s information in order make profits, no matter what the business model is. The opportunities for the Semantic Web to enrich our economies and our personal lives will be diminished without ‘buy in’ by the people whom it is envisioned to serve. The value proposition of data ownership is that it provides the most acceptable technological and socio-political pathway for adoption by ordinary people of the emerging Semantic Web.

It is because people matter more than the Web that ‘specialized name servers’ will play a large role. Using the hypothetical domain name ‘www.toydatabank.org’ I have added the following A-XML example to the continuum of examples begun in Part II. I have wrapped some of the following lines of code, and inserted spacing, for easier reading.

<?xml version="1.0" encoding="UTF-8" ?>
<Pedigree>

<PedigreeID UniquePointer =
" http://www.toydatabank.org/toymfg/Object_IDs/99087 "/>

<ManufacturerID UniquePointer =
" http://www.toydatabank.org/toymfg/mfg_IDs/00372 "/>

<ProductSerialNumber UniquePointer =
" http://www.toydatabank.org/toymfg/element_IDs/43229 "/>

<ProductDescription UniquePointer =
" http://www.toydatabank.org/toymfg/element_IDs/23444 "/>

<ProductInfoToSupplyChain UniquePointer =
" http://www.toydatabank.org/toymfg/element_IDs/66221 "/>

<ProductInfoToGovtRegulator UniquePointer =
" http://www.toydatabank.org/toymfg/element_IDs/66333 "/>

<Permissions UniquePointer =
" http://www.toydatabank.org/toymfg/Permissions_IDs/37911 "/>

<!-- Manufacturer information sharing permissions -->
<OtherData>Document Type Definitions</OtherData>
</Pedigree>

Combine a specialized name server with a centralized dictionary of uniquely identified (and standardized) data elements, a centralized registry of A-XML informational objects, an author-controlled permissions database, a distributed A-XML editor/reader and you have the essential components of what I call a supply chain ‘data bank’.

What does a data bank do? It depends on the supply chain, the social network or, as Henry Story has very neatly coined, the ‘supply network’. The white paper, Banking on Granular Information Ownership, covers much of this territory in a less technological manner with examples applicable to personal health records, food safety, product tracking, people tracking, and transactional tracking.

However, I want to add that - conceptually - the connatural, non-collaborative disposition of technological data ownership is a perfect compliment to the approach that Wikipedia has taken in fostering the collaborative authoring of encyclopedic entries. I say ‘conceptually’ because Wikipedia’s entries are collaborative though non-structured. But what if Wikipedia’s collaborative processes and methods for approving unstructured information were applied to structured information?

That is, what if the information account holders of a toy data bank were empowered to collaboratively add to their data bank’s dictionary of structured data elements so that all account holders may then draw upon them non-collaboratively for the A-XML objects each account holder authors and controls?

Consider that a supply chain member of the toy data bank wishes to add to our toy product pedigree example in Part II the language in red.

Product Pedigree Document
Manufacturer ID = Safe Toy Company
Product Serial Number = STOY991
Product Description = Painted Toy
Product Info To Supply Chain = 0% lead in paint
Product Info To Govt Regulator = Less than 600ppm of lead in paint by weight
Product Child Labor = No child labor used

The supply chain participant, using the toy data bank’s XML editor, authors a draft of the following XML data object  …

<?xml version="1.0" encoding="UTF-8" ?>
<ToyDictionary_DraftElements>
<ToyProductChildLabor>No child labor used</ToyProductChildLabor>
</ToyDictionary_DraftElements>

… that - if adopted by the toy data bank – will be deposited into a standardized toy data bank ‘dictionary’ of XML structured data elements. These would then be available for A-XML authoring by any toy supply chain participant who is a member of the toy data bank. Again, I have wrapped some of the following lines of code, etc., for easier reading.

<?xml version="1.0" encoding="UTF-8" ?>
<ToyDictionary_RegisteredElements>

<ToyProductChildLabor UniquePointer =
" http://www.toydatabank.org/toymfg/element_IDs/12637 "/>

</ToyDictionary_RegisteredElements>

And taking the ‘data bank’ analogy one step further. Let’s say that the adoption of the ‘Product Child Labor’ data element by the toy data bank involves the alternative approval of a central ‘product data bank’ overseeing a larger standardized ‘dictionary’ applicable to products of all kinds (e.g., toys, pharmaceuticals, livestock, food, etc.).

<?xml version="1.0" encoding="UTF-8" ?>
<AnyProductDictionary_RegisteredElements>

<AnyProductChildLabor UniquePointer =
" http://www.anyproductdatabank.org/prodmfg/element_IDs/73621 "/>

</AnyProductDictionary_RegisteredElements>

In the world of supply chains, a likely candidate for such a central ‘any product data bank’ would be EPCglobal, the private, standards setting consortium governed by very large organizations like Cisco Systems, Wal-Mart, Hewlett-Packard, DHL, Dow Chemical Company, Lockheed Martin, Novartis Pharma AG, Johnson & Johnson, Sony Corporation and Proctor & Gamble. EPCglobal is architecting essential, core services for tracking physical products identified by unique electronic product codes (including RFID tags) across and within enterprise systems controlled by large organizations.

The crux of this multi-entry blog is that data ownership – that is, technological data ownership – paradoxically provides a non-technological ‘something more’ that will be a necessary ingredient to the emerging Semantic Web. It will do so by empowering supply chain participants with non-collaborative authoring of granular, structured informational objects that may remain within the visibility and control of the author even as they are shared within a complex supply chain.

And with that, I think I have pretty much all the pieces I need for a final Part IV.

[continued in Part IV]

Thursday
Apr172008

Newspapers Argue For First Amendment Right to Snoop on Readers

Here's an excerpt from a new Bits Blog entry by Saul Hansell on April 14th.

The newspaper industry is now arguing that the First Amendment protects its right to follow users around the Internet so it can charge higher prices on advertising.

This argument was made in a filing by Newspaper Association of America commenting on the Federal Trade Commission’s proposal that the companies involved in advertising that uses what is called behavioral targeting create a self-regulatory code that limits their use of sensitive information.

To see the full article go to Newspapers Argue For First Amendment Right to Snoop on Readers.

Monday
Apr142008

How Should I.S.P.s Tell You if They Want to Track Your Surfing?

This was published by Saul Hansell in The Bits Blog to The New York Times.

The term “unavoidable notice” has been bandied about by a group of Internet advertising executives recently as they explored whether to endorse proposals for Internet service providers to keep track of where their customers surfed and what they searched for ....

To view the full blog entry go to How Should I.S.P.s Tell You if They Want to Track Your Surfing?

Sunday
Apr132008

Starting Making Sense - The Semantic Web

The Economist.com published this on April 9th. 

"SOME new ideas take wing spontaneously. Others struggle to be born. The “semantic web” is definitely in the latter category. But it may have found its midwife in Reuters, a business-information company ....

The idea is that any website can send a jumble of text and code through Calais and receive back a list of “entities” that the system has extracted—mostly people, places and companies—and, even more importantly, their relationships. It will, for instance, be able recognise a pharmaceutical company's name and, on its own initiative, cross-reference that against data on clinical trials for new drugs that are held in government databases. Alternatively, it can chew up a thousand blogs and expose trends that not even the bloggers themselves were aware of.

The system is free to use, for Reuters' objective is to create a “clearinghouse of meaning” that financial-service companies will be able to exploit as a new type of search engine. How the firm will make money has yet to emerge, though selling insights gained from applying the system's own methods for Reuters' benefit is one possibility ...."

For the full article go to Start Making Sense