29 December 2008

Pay-per-use your own computer?

Gregg Keizer, Microsoft specs out 'pay as you go' PC scheme, Computerworld

The idea is something that might have been a story problem in a class on welfare economics: assuming the cost of metering computer usage is negligible, discuss the merits of such a proposal. MS filed a patent for a proposal to sell computers (presumably well below the cost of production), then bill customers for both the use of installed programs and the use of computer power.
Microsoft's plan would instead monitor the machine to track things such as disk storage space, processor cores and memory used, then bill the user for what was consumed during a set period.
So you would be billed x per MIPS-hour, even though this would require you to have the highest-performing processor installed all the time. Also, it would allow you to briefly use premium softwares for hourly (?) rates.

At first blush, this does sound a lot like MS is at it again, trying to squeeze more revenue out of customers for software that is costlier and buggier. A major benefit for MS would be stimulating computer revenue by offering pay-per-use options; note there's an extremely severe recession approaching. With respect to hardware, there would be an obvious relative increase in the incentive to get the most powerful devices, since there would not be a price premium... except on the occasion that you used their full capability. Semiconductor fabricators like AMD might grumble about the price squeeze value-added retailers like Dell were imposing, but really, they'd really only need to ship a larger number of top-of-the-line chips, rather than a mix of different premium chips.

Where the idea gets interesting is software, since the object would be to create a market for much higher-end programs (most likely games, but also business applications). MS could allow users to download "riskfree" programs that had been recently developed, collect revenues, and perhaps stimulate demand. Which opens the question, what exactly would this scheme do for software demand?

Solving a Three-Good Utility Function
Section excised and put in another post

Findings

Usually discussion of utility functions present them as indifference curves between two similar goods. I prefer to think of utility functions as part of firm's production function, in the sense that there's more money to be made with an optimal expenditure on different items. But in the case of an actual business strategy, it makes sense to begin with the understanding that customers can spend money on
  1. high-end software (z)
  2. low-end software (y)
  3. everything else (x).
Usually I use the x-axis to represent "everything else" (example). Textbook writers, sometimes in an effort at humor, will select two very similar items (pizza versus hamburgers) , but assume consumers' expenditures on the two items together will remain the same regardless. I remain curious, though, as to what would happen if you're looking at a market for two similar items, in which most income will be spent on neither. If the price for one goes down, demand for the other may not necessarily go down (as it would if there were only two items).

Another deviation from usual practice is to use the linear expenditure function instead of a Cobb-Douglas function. The Cobb-Douglass utility function is unappealing to me because, while it's easy to use mathematically, it results in a fixed share of income being spent on each good. Logically, if the price of a thing is sharply reduced, you would expect people to spend a larger share of their income on that thing; spending the same amount of money as before now yields more satisfaction, so people will find more occasions to use spend more money on it, not merely buy more units. For some products, the opposite may be true (health care), in which case the threshold level of consumption can be made negative.

The threshold level of consumption is a phrase I made up to refer to what x0, yo, and zo represent: a minimum level of consumption of these respective goods. Consumption of x < x0 means that x ties up income but contributes nothing to utility. As is often the case, extreme conditions are seldom relevant: we aren't usually interested in situations where x < x0. Instead, we're interested in situations where x >> x0, and we're making a modest shift in position. Technically, a negative threshold level of consumption implies that even negative consumption of a thing contributes to utility, to say nothing of no consumption at all. That's absurd. On the other hand, the curve created by a negative threshold may realistically describe conditions in which an increase in prices leads to an increase in total expenditures.


I set up the equation so that threshold levels of consumption were positive for all goods; the price of "everything else" was fixed; high-end software yielded a higher utility per unit, and software generally had a higher utility per unit than "everything else." I found that increasing prices for y actually reduced spending (demand) for z, albeit much more slowly than reducing the price for z.

A lot of this has to do with the coefficients of the utility function: α, β, γ, x0, yo, zo, and I. The values of α, β, and γ determine the gradient of the utility function at I. When creating the graph above, I chose values for β and γ that were much higher than α; that reflects an assumption that ongoing expenditures on low-end software (not to mention high-end software) provide more bang for the buck than money spent on "everything else." That's an intensely controversial proposition, but I doubt it would face controversy at Microsoft.

The values for threshold spending (x0, yo, and zo) are naturally a mystery; high values for x0 and yo (i.e., both "everything else" and low-end software) lower z*, while high values for zo increase z*. All this means is that, if thresholds are high, a price reduction causes expenditures on the good to increase. If threshold = 0, then a price reduction causes expenditures to stay the same. For computers generally, there is strong historic evidence that falling prices have sharply increased expenditures, leading to the conclusion that the threshold value is large but is offset by a high coefficient of utility.

The effect of the original business scheme of Microsoft would lead to a shift in software expenditure from low-end software to high-end, and stimulate spending on software generally. The logic of this is intuitive: access to high-end functionality would be on tap, but users would not have to actually commit to owning the whole package. This would increase the overall utility of software per se.

Labels: , , , , ,

20 August 2006

Intro to Client/Server Computing-3

The OSI Reference Model for Networks

(Part 1 & 2)

The Open System Interface (OSI) Reference Model specifies how data from an application in one computer moves through a network medium to an application running on another computer. The 7 layers are organized as media(1-physical, 2-data link, 3-network, 4-transport) and host(5-session, 6-presentation, 7-application). Media, here, refers to the mode by which data is transmitted over distance; e.g., over microwaves, coaxial cable, and so on. Host, here, refers to any computer on a network that is capable of running applications. All devices on a network, regardless of capability or description, are called nodes. (Nowadays, cases of the node that can't run a program are rare; they include dumb terminals). So the "host layers" are responsible for the final communications between the network and the application (such as a web browser).

There are several fundamentally different networking formats described by the OSI reference model; the different formats are called suites, and the TCP/IP (Internet Protocol) represents one such suite of 7 mutually compatible layers. Another, technically analogous suite is the UMTS cell phone standard, which also has seven layers--although not all of those layers are populated. Within each layer of each suite, there may be several alternative standards, which serve distinct purposes; as, for example, within the TCP/IP suite, the network layer (layer 3) includes both the Internet Protocol (IP) and the Internet Control Message Protocol (ICMP). Both are essential for data layer to function.

These layers can also be called protocol stacks, rather like a seven-story building with several different offices on each floor. Since the division between individual floors is somewhat subjective, it's conceivable that empty floors might not be counted. Still, at some future date, they might be.

Bear in mind that the purpose of the OSI reference model is to furnish a topology of all possible types of data networks. It is not always the case that each of type of data network will "see itself" in the same 7-layer model. For example, the TCP/IP model was developed separately from the OSI reference model; it lumps together the application (7), presentation (6), and session (5) layers; moreover, it refers to layer 3 as the "Internet layer" rather than the "network layer." Still, it is not hard to find the analogous layers in the simpler 5-tier model.

Two components of two different networks that occupy the same level in the OSI model are known as peers. Each layer in the OSI model interacts directly with either the layer directly underneath, the one directly overhead, and (sometimes) with peers. So, for example, the data layer (2) in a network interacts with the physical layer (1), the network layer (3), and other network's implementations of the data layer.
Layer 1: Physical
The physical layer includes the specs for cables and routers. The data link layer consists of the precise format for encoding data for transmission. All of the hardware and its technical requirements constitute layer one. Examples include serial connections, fiber optics (and connectors), coaxial connectors, DSL, and other tangible cable standards; also, standards for wireless transmission.
Layer 2: Data
Data needs to be transmitted in a particular format so that higher-order patterns can be communicated to the machines in the system. In the familiar TCP/IP suite, data is transmitted in packets corresponding to very specific parameters. One of the more famous examples of this is Ethernet, which has very detailed instructions for framing of packets. These packets can be likened to cars on a highway; in contrast, the continuous stream of data over a telephone line during a telephone conversation would be more comparable to a train, which is running down that length of railroad during the entire duration of the conversation. In order for transmissions of data to be transmitted this way coherently, protocols must exist to define what indicates the beginning and duration of a packet. Other protocols must exist to ascertain if the packet is valid, or if it is corrupted.

Examples of data protocols for the TCP/IP suite include, as mentioned, Ethernet (IEEE 802.3); WiFi (IEEE 802.11); Asynchronous Transfer Mode (ATM); Frame Relay; and Token Ring. Please observe this list is not exhaustive.
Layer 3: Network
This is the format that describes the actual network structure. IP is the component of the Internet suite that resides at the network layer (3); it reads the MAC address and uses it to route the packet in accordance with the network architecture. Part of the technical difficulty posed by IP is that it addresses a network of networks. Hence, a frame is likely to pass through many routers as it goes from network to network. The part of the network that an individual router is connected to is called a subnet; each node in the network is connected to a router within the subnet. The level 3 IP address directs the packet/frame to the correct subnet, but requires the address resolution protocol (ARP) to convert the IP address to the correct (layer 2) MAC address. The ARP often manages broadcasts between routers and all nodes on its subnet, which therefore imposes some technical constraints on the size of the subnet attached to a router. If the router addresses too many nodes, ARP requests will constantly be tying up the NIC's on the subnet.

Another component of the TCP/IP suite that is necessary for normal functioning is the Internet Control Message Protocol, which is used for error messages between networked computers (partial list of messages).
Layer 4: Transport
The transmission control protocol (TCP) is the other part, that resides at the transport layer (4). The TCP is responsible for converting packets into steady pipelines of data that a local application requires; or, when data is flowing down the protocol stack, the transport layer is responsible for splitting the datastream into packets.

An alternative protocol to TCP is Stream Control Transmission Protocol (SCTP), a somewhat more advanced data transmission standard that allows for networking along multiple transmission modes (like Ethernet & WiFi) at the same time. In network parlance, this is known as multi-homing. The link above explains the application possibilities in greater detail, but the basic concept is that a network with widespread multi-homing would enable a higher-order of parallelism.
Layer 5: Session
The session layer is the set of standards for coordinating and managing a period in which the host processor is connected to the network. In a client/server network, the session manager coordinates requests and responses between the local and remote applications; it manages the opening and closing of sessions. Session protocols determine if a connection between client and server are full-duplex (information can flow both directions simultaneously) or half-duplex (information can flow only one direction at a time).

In the TCP/IP suit, this is also managed by TCP (for the most part).
Layer 6: Presentation
Translates data into formats recognizable to the application layer. Also allows data security at this layer [*].

Multipurpose Internet Mail Extensions (MIME) is an example of a universally-used presentation layer protocol. What it does is allow the transmission of non-ASCII data, such as graphics or non-English characters (e.g., Æ, č, љ, ζ) to applications such as STMP, which can only recognize ASCII characters.
Layer 7: Application
This layer is responsible for managing applications and application interface with the rest of the network. An example is the Domain Name System (DNS), which correlates domain names (like news.bbc.co.uk) with an IP address. This then allows browsers to navigate the internet. Another important application-layer protocol is the already-mentioned SMTP, which manages email; or HTML, which allows a browser to generate a graphical display of Internet data.
ADDITIONAL READING & SOURCES: Cisco Systems, "Internetworking Basics"; RouterGod, "CCNA Bootcamp: the OSI Model";

Wikipedia: OSI Reference Model;

Labels: