decoration decoration
Stories

GROKLAW
When you want to know more...
decoration
For layout only
Home
Archives
Site Map
Search
About Groklaw
Awards
Legal Research
Timelines
ApplevSamsung
ApplevSamsung p.2
ArchiveExplorer
Autozone
Bilski
Cases
Cast: Lawyers
Comes v. MS
Contracts/Documents
Courts
DRM
Gordon v MS
GPL
Grokdoc
HTML How To
IPI v RH
IV v. Google
Legal Docs
Lodsys
MS Litigations
MSvB&N
News Picks
Novell v. MS
Novell-MS Deal
ODF/OOXML
OOXML Appeals
OraclevGoogle
Patents
ProjectMonterey
Psystar
Quote Database
Red Hat v SCO
Salus Book
SCEA v Hotz
SCO Appeals
SCO Bankruptcy
SCO Financials
SCO Overview
SCO v IBM
SCO v Novell
SCO:Soup2Nuts
SCOsource
Sean Daly
Software Patents
Switch to Linux
Transcripts
Unix Books

Gear

Groklaw Gear

Click here to send an email to the editor of this weblog.


You won't find me on Facebook


Donate

Donate Paypal


No Legal Advice

The information on Groklaw is not intended to constitute legal advice. While Mark is a lawyer and he has asked other lawyers and law students to contribute articles, all of these articles are offered to help educate, not to provide specific legal advice. They are not your lawyers.

Here's Groklaw's comments policy.


What's New

STORIES
No new stories

COMMENTS last 48 hrs
No new comments


Sponsors

Hosting:
hosted by ibiblio

On servers donated to ibiblio by AMD.

Webmaster
Dr. Mitchell: Not at all, a number can be a symbolic reference. (IN THIS CONTEXT: A LIE) | 439 comments | Create New Account
Comments belong to whoever posts them. Please notify us of inappropriate comments.
Precise distinction between numeric references and numeric digits used in symbolic references
Authored by: Anonymous on Tuesday, May 15 2012 @ 02:47 AM EDT
I see a big challenge here for a lot of programmers. They may think they know
what a symbol is. It is not clear what the definition of a symbol is. There is
the Java definition of a symbol. There may be a different byte code definition
of a symbol. There are definitions of symbols for communications theory. There
is the term symbol for a character. Or it could be anything that is used to
represent something else. Which one(s) does the patent cover? Heaven help you if
you try to pin Oracle down on this. Remember that the lack of a symbol is also a
symbol.

[ Reply to This | Parent | # ]

Missed a case... (but you are largely right) [with lawyer fodder]
Authored by: BitOBear on Tuesday, May 15 2012 @ 02:54 AM EDT
Numbers, that is native numeric representations, -can- be used as symbolic
references in the case of sparse or mapped data structures.

For instance I can make a map in C++ that is indexed by integer (e.g.
"typedef map<int,string> names_by_number;).

This is a -rational- thing to do, but only in some very special cases, and it
can be done in a java -application- as well as any other code.

-HOWEVER-

This is -not- what is happening in the Google et al code that Oracle is trying
to attach to its patent.

See, its bad to this reference-by-integer action whenever all the integers are
going to be used in order, or mostly in order, such as when filling in a table
of things like function references.

If I asked you to write down all the numbers from 1 to 100 you -could- write
each one on a 3x5 card, shuffle those cards, and then build a tree out of them
by stringing them together with yarn. One hole punched in the top of each card
and two holes punched in the bottom. like a kindergarten wall hanging. And if
you did this, and you strung them in order, such that you looked left from each
card for numbers less than that card, and right for numbers greater than that
card, you could find any number I asked for by following the yarn. But to find
any number you wouldn't know how many cards you would have to read or bits of
yarn you would have to follow.

So the above is what you get to do if you use a number
"symbolically".

This is also what you must do if you use any kind of symbolic lookup.

It isn't always a tree, and it isn't always only one datum per card, but it -is-
-always- an expensive chore.

-SO- when using numbers, if they are all next to one another, you set them up
the way you would -really- do it if I told you to write the numbers from one to
100. You would write them in order, close together, on one page if you had the
space, or on a scroll if you like, or in a bound composition book. And if I told
you to find any given number N you would know how to skip to it directly.

(Aside: computer people count "from zero" because if you count from
"one" you have to find the number N by skipping N-1 numbers, but if
you count from zero, you find "0" by skipping zero slots, and you find
"5" by skipping five slots etc.)

Computers are exceptionally good at skipping over some number of slots to find
something in the slot numbered that number. It's like they were -made- to do
this very thing.

--SO-- --FINALLY--

We know the expert who said that numbers -can- be used for symbolic referencing
is not -wrong-.

But we -also- -know- that he was misleading the court by claiming that such
activity was happening in this usage, which it isn't by the way.

No lawyer was ready to call him on it since that is the role of competing expert
testimony. And no lawyer, as they are not experts in the field of computing, was
ready to ask the follow up question(s) necessary to make his lie obvious in its
current use.

e.g.

Are you familiar with this code?
Is the number being used as an index?
Is the number being used as a reference?
When a number is being used as a number and a reference at the same time, is it
normal to call it a "symbolic reference"?
Is sequential reference a more applicable term?
Is index a more applicable term?
Is this a table lookup in this code?
Is this a symbol-table lookup in this code?
Can you show me the -symbols- in this table that are being examined in the
search?
So does the virtual machine do any -math- when using this numeric reference?
Does the math look like "start of table plus item sought locates
item"?
Does the math look like "start of table plus item sought times size of one
item"?
Is this the same kind of math that looking up something by "name"
would do?
Do you know when "table lookup" logic was invented?
Was "table lookup" invented before 1970? 1960?
Is "table lookup" a common practice?
Since 1970?
If (patent number) was patented on (date), and table look up was invented before
1970, isn't the patent an attempt to claim common practice that existed for
decades?
So can you see any difference between the Google code and a table lookup?
What line number(s) demonstrate this difference between established practice and
the patented claim?
(etc).

[ Reply to This | Parent | # ]

Dr. Mitchell: Not at all, a number can be a symbolic reference. (IN THIS CONTEXT: A LIE)
Authored by: Anonymous on Tuesday, May 15 2012 @ 06:09 AM EDT
no text.

[ Reply to This | Parent | # ]

Precise distinction between numeric references and numeric digits used in symbolic references
Authored by: Anonymous on Tuesday, May 15 2012 @ 07:55 AM EDT
I've never posted here before, but this situation reminds me of something you
might find relevant.

Is anyone else thinking of Microsoft Windows's "export by ordinal"
system for DLLs? You can have a function exported from a DLL by a number instead
of a name, say, a function named "22". This 22 is stored as a string
in the DLL's export table, and any program that uses it has to have a string
containing "22" in their input table. When Windows loads the file, it
simply performs a string search between the two tables and patches the import
table of the executable loading the DLL with the address contained in the export
table entry with the string "22" as its name. So the 22 is just a
placeholder for a name, being used as the name itself. This is done for
non-public functions you might want to export to be used in another part of your
program, but not used by other programs.

Windows doesn't create 22 entries when you have an export by ordinal of 22 -- it
just substitutes 22 for the the name of the function. This seems to be the
situation the poster above intended to describe. You could do the same thing
with a number directly encoded into the executable, just use a lookup table
which you search to find the entry based on the integer being a search key. A
binary search tree could work well for this, or a hash table in which the
ordinal numbers are used as the "hash" key directly.

[ Reply to This | Parent | # ]

Groklaw © Copyright 2003-2013 Pamela Jones.
All trademarks and copyrights on this page are owned by their respective owners.
Comments are owned by the individual posters.

PJ's articles are licensed under a Creative Commons License. ( Details )