throbber
7
`
`EP 0 648 038 A2
`
`8
`
`that server computer to the storage device for asso(cid:173)
`ciation with the generic server computer name. If
`however the most suitable server computer is the
`same server computer as that identified in the last
`iteration of the process then there is no need to up(cid:173)
`date the storage device and the writing means will not
`be activated.
`Once any necessary update to the storage de(cid:173)
`vice 80 has been made the messaging means 170 will
`notify the copier 90 so that the copier updates the lo(cid:173)
`cal memory 1 00 with the new list as stored in the stor(cid:173)
`age device 80.
`Hence when the dient computer requests a ma(cid:173)
`chine address for the generic server computer name
`the conversion means 70 accesses the list in memory
`100 and identifies a machine address just as it would
`if any other server computer name had been given.
`However in this instance the machine address actual(cid:173)
`ly relates to the server computer in the cluster which
`has been identified by the decision logic as the most
`suitable (eg. least heavily loaded). When this ma(cid:173)
`chine address is passed back to the client computer
`20 via the output means 110, the client computer will
`proceed to automatically access the server which is
`most suitable.
`By this approach it will be seen that a dynamic
`load levelling facility is provided which is completely
`transparent to the client program. As far as the pro(cid:173)
`gram is concerned it is requesting a machine address
`as normal and is using one of the normal TCPIIP ac(cid:173)
`cess methods to gain access to the server computer
`allocated to it.
`In many of todays computing environments (eg
`Unix, AIX (Unix is a Trade Mark of Unix Systems Lair
`oratories Inc)) an application is provided to perform
`the standard name resolution service (ie receipt of a
`computer name and conversion of that computer
`name into a full Internet address). This application is
`commonly known as a 'nameserver" application, and
`is installed on one or more computers in the logical
`network. Every other computer in the network is told
`to communicate with a specified one of these 'name(cid:173)
`server' computers when it wishes to determine an In(cid:173)
`ternet address for any other computer In the network.
`Hence a nameserver computer provides a resolution
`service to client computers by receiving from them a
`convenient name given to a particular computer (eg.
`abc.def.ghi.com), and converting it into a full Internet
`address (eg. 29.1.19.66). This Internet address is
`then used by the routing subsystem (TCPIIP) to allow
`a client user or application access to the physical
`computer (eg "abc" In this example).
`In the above example of a computer name, 'abc"
`is the physical machine, "der Is typically the site lo(cid:173)
`cation, "ghi" the organisation, and •com• one of the In(cid:173)
`ternet dasses (three such dasses are (com)mercial,
`(edu)cation, (mil)itary). Domains and sulrdomains
`can also be added as part of this computer name. Ba-
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`5
`
`sically the name takes a hierarchical form, with the
`finest resolution at the beginning and the coarsest re(cid:173)
`solution at the end; this type of naming structure will
`of course be well known to those skilled in the art.
`All TCPIIP-based applications, including remote-
`login, remote-shell, telnet, ftp, and also client-server
`applications (such as database applications), are
`aware of the nameserver facility, and will automati(cid:173)
`cally go to the designated nameserver computer to
`ask for resolution of a computer name Into an Internet
`address before attempting to make a connection to
`another computer in the network.
`If we consider Figure 1 again, the standard name(cid:173)
`server facility will include the following elements: the
`input means 30, the conversion means 70 with asso(cid:173)
`ciated memory 100, the output means 110, the list
`stored in the storage device 80, and the copier 90.
`The nameserver application is a "daemon' (back(cid:173)
`ground) process which runs on the data processing
`system; this data processing system may (but need
`not) be one of the server computers forming part of
`the cluster over which users are to be distributed. In
`Unix-type operating systems (eg. AIX by IBM Corpor(cid:173)
`ation, Ultrix by Digital Equipment Corporation, OSF/1
`by the Open Software Foundation, and HP-UX by
`Hewlett Packard, etc) this daemon process is called
`"named" (name-daemon), and when it is initialised, it
`reads a special database file (named.data) stored on
`the storage device 80 to obtain details of the comput-
`er names about which it is expected to know (over
`which it has "authority"), and the corresponding Inter(cid:173)
`net addresses ("dotted decimal", e.g. 29.1.19.66) for
`each computer name. Whilst the name daemon is op(cid:173)
`erating, it can be forced to re-read the information
`from the named.data database file by the sending of
`an inter-process signal to the name daemon process
`telling it to update its internal tables 100 from the da(cid:173)
`tabase file (named. data).
`In the preferred embodiment oft he present inven-
`lion we provide a further facility which runs on the
`same computer as
`the nameserver application
`("named'), and interfaces with it. A 'generic' comput(cid:173)
`er name
`is
`introduced
`into the database file
`(named.data), which refers not to one specific corn-
`puler, but to any one of a number of computers offer(cid:173)
`ing equivalent functionality. For example, the generic
`name might be "server.cluster.def.ghi.com•; a client
`program requesting a connection to 'server. cluster' is
`requesting connection to any one of the computers in
`the server duster.
`The further facility provided by the preferred em(cid:173)
`bodiment will be referred to hereafter as the "User
`Load Leveller" (ULL) application. This application is
`responsible for deciding which server computer in the
`cluster is currently the least heavily loaded, according
`to some appropriate metric, and for conveying this in(cid:173)
`formation to the nameserver application. Then sub(cid:173)
`sequent requests for resolution of the generic server
`
`Samsung v. Straight Path, IPR2014-01366
`Straight Path - Ex. 2002 - Page 512
`
`

`
`9
`
`EP 0 648 038 A2
`
`10
`
`computer name to an Internet address result in the
`nameserver application sending back to the client
`computer the Internet address of the server computer
`which has been deemed to be the most appropriate
`server computer for connection at that point in time.
`The ULL application consists of the following ele(cid:173)
`ments from figure 1: the decision logic 120 with child
`processes 130, 140, 150; the writing means 160; and
`the messaging means 170. As described earlier with
`reference to Figure 1 the ULLapplication periodically
`(at a frequency which can varied (eg. tuned by a sys(cid:173)
`tem administrator or dynamically adjusted)) polls the
`server computers in the duster to determine how
`"busy" in some sense they are. The metric used may
`vary, depending on the type of work which is being
`handled by the duster, but may for example include
`the number of login sessions, number of application
`instances running, number of idle cpu cycles since the
`last poll, etc. The metric can be altered to ensure that
`it is appropriate to a specific situation.
`Based on the results of this polling, and taking
`into account the situation where a server computer in
`the cluster is too busy to respond to the stet us request
`within a certain number of seconds, the ULL applica(cid:173)
`tion decides which machine is currently the least
`heavily loaded. The ULL application then modifies
`the database file (named.data) to associate the gen(cid:173)
`eric cluster machine name with the Internet address
`of this least heavily loaded machine, and sends the
`special inter-process signal via the messaging means
`170 which tells the nameserver application to re-read
`its database file. The nameserver application will
`then, in response to a name resolution request from
`a client program, resolve the generic server computer
`name into the Internet address of the most appropri(cid:173)
`ate server computer in the duster for the client pro(cid:173)
`gram to connect to.
`The process carried out by the decision logic 120
`of the preferred embodiment will now be described in
`more detail with reference to Figure 2. At step 200 the
`ULL application is initialised. A number of steps are
`carried out at initialisation. For example the applica(cid:173)
`tion: checks for multiple copies of the ULL application
`in memory; cleans up from a previous run of the ap(cid:173)
`plication (by freeing up system resources such as
`memory,locks and semaphores still held in the name
`of the previous instance of the ULL application); and
`locates the nameserver application (named) and its
`data file (named.data). The ULL application then
`parses its configuration file to read information de(cid:173)
`fined by the system administrator, such as the metric
`strings, poll periods, identities of server computers in
`the cluster, etc. Further the ULL application generates
`a number of "child" processes - one per server com(cid:173)
`puter- which are each responsible for polling the ac(cid:173)
`tivity of one designated server.
`Once the initialisation has been completed the
`process enters a main loop which executes until the
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`ULL application is terminated. At steps 210, 220, 230
`and 240 the child processes send a metric string (as
`defined by the system administrator) to each server
`computer in the duster, await responses from those
`computers, and then wait for a trigger signal from the
`main ULL application.
`Once the trigger signal has been sent by the main
`application the responses are sent by the child proc(cid:173)
`esses to the main application. The main application
`then collates the activity results received from the
`child processes (step 250), and based on predeter(cid:173)
`mined test criteria identifies the most appropriate ser(cid:173)
`ver computer (the "least busy" server computer) at
`step 260. At step 270 it is determined whether the ser-
`ver computer identified at step 260 differs from the
`current nominated server computer. If it does then the
`process advances to step 290, at which point the
`nameserver's data file (named.data) is modified.
`Further at step 300 a notification signal is sent to the
`nameserver application (named) to tell it to update its
`internal information from the data file.
`The process then proceeds to step 280. If at step
`270 it is determined that the server computer identi(cid:173)
`fied at step 260 is the same as the current nominated
`server computer then the process moves straight to
`step 280 without steps 290 and 300 being carried out.
`Writing to and reading from the data file are time con(cid:173)
`suming activities and so steps 290 and 300 should
`only be performed when necessary (ie when the
`"least busy• server computer changes).
`At step 280 the process waits until the end of the
`"poll period". This period is the predetermined interval
`(as defined by the system administrator) between
`successive studies of the server computers by the
`35 ULL application. Once the poll period has expired the
`process loops back to steps 210-240 and the main
`loop is repeated.
`Having discussed the preferred embodiment a
`few possible alterations will now be discussed. Firstly
`4C more than one generic server computer name can be
`added to the list in storage device 80 (the named.data
`file). Each generic name could be associated with a
`particular group of server computers, these groups
`being either completely separate or having a few ser-
`ver computers common to a plurality of the groups.
`Indeed one group may be a subset of another group.
`As an example consider Figure 3. A server duster410
`comprises eight server computers 400. All eight ser(cid:173)
`ver computers have access to a main body of data,
`but only four of them have access to some further
`(possibly more confidential) data.
`In this situation two generic names could be gen(cid:173)
`erated, eg. •general.duster" and •specific.duster".
`Any one ofthe eight computers (enclosed by ring 430)
`can be associated with the former generic name, but
`only the four enclosed by ring 420 can be associated
`with the latter generic name, since only those four
`have access to the further (confidential) data.
`
`45
`
`so
`
`55
`
`6
`
`Samsung v. Straight Path, IPR2014-01366
`Straight Path - Ex. 2002 - Page 513
`
`

`
`11
`
`EP 0 648 038 A2
`
`12
`
`The system administrator can then set up the
`metric string to be used when studying all eight server
`computers, or when studying only the four in ring 420;
`the metric string could be the same in both instances
`but need not be. If a dient application needs access
`to the confidential information then it would request
`access to "speclfic.duster", but if an application only
`needed access to the general information then it
`would request access to "general.duster".
`By this approach an application which only needs
`access to the general information will always be con(cid:173)
`nected to the least busy server computer, whilst an
`application which needs access to the further (confi(cid:173)
`dential) information will be given the machine address
`of the least busy server computer that can actually
`provide the necessary service; this may or may not be
`the least busy server computer in the network.
`In preferred embodiments a further feature is
`provided to enable the decision logic to temporarily
`implement a •round-robin" metric instead of the
`above described 'studying' process. The round-robin
`principle will be familiar to those skilled in the art; ba(cid:173)
`sically when adient application requests access to a
`server computer it is assigned a particular server
`computer, and when the next request is received then
`that application is assigned the next server computer
`in the duster, and so on. In this way the server com(cid:173)
`puters are rotated so that each successive server ac(cid:173)
`cess is made on a different server computer to the
`previous server access. Alternatively the server com(cid:173)
`puters can be rotated at fixed time intervals rather
`than after each access request.
`Although the round-robin technique does not
`have regard to the loading on any of the server com(cid:173)
`puters, and so there is no determination of the least
`busy server computer, there are certain situations
`(eg. where there are lots of dient applications which
`only take a short amount of database connection
`time) where a round-robin approach is acceptable. To
`implement the round robin approach the decision log(cid:173)
`ic 120 would ask the writing means 160 to update the
`storage device 80 after each access request has
`been handled (or at fixed time intervals if the alterna(cid:173)
`tive approach is used), so that the generic name is al(cid:173)
`ways associated with successive server computers in
`the cluster in turn.
`From the above description it will be clear thatthe
`system of the preferred embodiment has a number of
`advantages. Firstly the technique dynamically allo(cid:173)
`cates new dlent users and applications to the server
`computer which is least heavily loaded at the time
`they make the connection, thus ensuring an even dis(cid:173)
`tribution of users and applications across all of the
`available server computers. The client computer only
`briefly contacts the data processing system of the
`preferred embodiment to resolve the generic comput(cid:173)
`er name into a machine address. Completely stan(cid:173)
`dard access methods (eg. as provided by TCPIIP) are
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`7
`
`then used to make the connection, thus avoiding any
`proprietary protocols or any need to modify access
`methods or applications, and so providing fully trans(cid:173)
`parent user load levelling.
`Secondly the technique of the preferred embodi-
`ment does not involve any modification to the name(cid:173)
`server code - the User Load Leveller application in(cid:173)
`terfaces with the standard code (eg. "named' as ship(cid:173)
`ped with the unix/ AIX operating system). It would be
`possible to provide similar functionality to that descri(cid:173)
`bed here by producing a modified version of the
`nameserver code. However, avoiding this brings ma(cid:173)
`jor advantages from both marketing and maintenance
`points of view.
`Further the technique can be operated without re-
`quiring any modification to the server computers.
`They are accessed in a standard way after the gen(cid:173)
`eric server computer name has been used to provide
`the client computer with a machine address.
`Another advantage is that the key parameters,
`such as the time interval between polls of the server
`computers in the duster and the metric used to deter(cid:173)
`mine which server computer is least heavily loaded,
`can be altered and tuned by a local system adminis-
`trator, allowing the system to be optimised for a par(cid:173)
`ticular situation.
`The above described ULL application could be
`supplied as a separate tool to enhance the useability
`of parallel and distributed systems, or could be ship-
`ped with the nameserver application.
`
`Claims
`
`1. A data processing system for facilitating a con-
`nection of a program on a dient computer to a
`server, the server consisting of a plurality of ser(cid:173)
`ver computers with shared resources, the data
`processing system, the client computer, and the
`server computers residing in a network, the sys(cid:173)
`tem comprising:
`input means for receiving a request from the di(cid:173)
`ent computer for a machine address of a server
`computer identified by a server computer name
`sent with the request, such a machine address
`enabling a connection to be made from the dient
`computer to that server computer via the net(cid:173)
`work;
`a storage device for storing a list Identifying ser-
`ver computer names with machine addresses of
`the server computers;
`conversion means for using the list to convert the
`server computer name received by the input
`means into the machine address of the server
`computer;
`output means for sending the machine address
`from the conversion means to the dient comput(cid:173)
`er;
`
`Samsung v. Straight Path, IPR2014-01366
`Straight Path - Ex. 2002 - Page 514
`
`

`
`13
`
`EP 0 648 038 A2
`
`14
`
`the system being characterised by:
`decision logic for studying the server computers
`at predetermined intervals having regard to pre-
`determined test criteria, in order to select one of
`the server computers; and
`writing means for updating the list by associating
`the machine address for the server computer se-
`lected by the decision logic with a particular ser-
`vercomputer name contained as a generic server
`computer name in the list;
`whereby when a client computer specifies the
`generic server computer name, it receives the
`machine address of the server computer identi-
`fled by the decision logic.
`
`2. A system as claimed in Claim 1 further compris-
`ing:
`
`a copier to copy the list from the storage
`device to a piece of memory accessible by the
`conversion means;
`a messaging means, responsive to the up-
`dating of the list by the writing means, for sending
`a message to the copier requesting the copier to
`copy the updated list into the piece of local mem-
`ory.
`
`3. A system as claimed in Claim 1 orCiaim2,where-
`in the predetermined test criteria are such that the
`decision logic identifies the server computer hav-
`ing the least number of client programs logged on
`toil
`
`4. A system as claimed in any of claims 1 to 3,
`wherein the predetermined intervals are variable.
`
`5. A system as claimed in any preceding claim,
`wherein the predetermined test criteria are set by
`a user of the system.
`
`6. A system as claimed in any preceding claim,
`wherein the user can limit the number of server
`computers which the decision logic studies.
`
`7. A system as claimed In any preceding claim
`wherein a plurality of generic names are used,
`each one having a number of server computers
`whose machine addresses are associated with
`that generic name, the decision logic employing
`different sets of predetermined test criteria for
`each generic name.
`
`8. A system as claimed in Claim 7, wherein one or
`more of the server computers are associated with
`a plurality of the generic names.
`
`9. A method of operating a data processing system
`to facilitate a connection of a program on a client
`computer to a server, the server consisting of a
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`8
`
`plurality of server computers with shared re-
`sources, the data processing system, the client
`computer, and the server computers residing In a
`network, the method comprising the steps of:
`(a) receiving a requestfrom the client comput-
`er for a machine address of a server computer
`identified by a server computer name sent
`with the request, such a machine address
`enabling a connection to be made from the eli-
`ent computer to that server computer via the
`network;
`(b) storing a list identifying server computer
`names with machine addresses of the server
`computers in a storage device;
`(c) converting, with reference to the list, the
`server computer name received at step (a)
`into the machine address of the server com-
`puler;
`(d) sending the machine address identified at
`step (c) to the client computer;
`the method being characterised by the steps
`of:
`(e) employing decision logic to study the ser-
`ver computers at predetermined intervals
`having regard to predetermined test criteria, in
`order to select one of the server computers;
`and
`(f) updating the list by associating the rna-
`chine address for the server computer select-
`ed by the decision logic with a particular ser-
`ver computer name contained as a generic
`server computer name in the list;
`whereby when a client computer specifies the
`generic server computer name at step (a), it re-
`ceives the machine address of the server com-
`puler identified by the decision logic.
`
`10. A method as claimed in Claim 9 further compris-
`ing the steps of:
`copying the list from the storage device to
`a piece of memory accessible at the conversion
`step (c);
`repeating, in response to the updating of
`the list at step (f), the copying step to ensure that
`the updated list is copied into the piece of local
`memory.
`
`11. A method as as claimed in claim 9 or claim 10,
`wherein the predetermined intervals are set by a
`user of the system.
`
`12. A method as claimed in any of claims 9 to 11,
`wherein the predetermined test criteria are set by
`a user of the system.
`
`13. A method as claimed in any of claims 9 to 12,
`wherein the user can limit the number of server
`computers which the decision logic studies.
`
`Samsung v. Straight Path, IPR2014-01366
`Straight Path - Ex. 2002 - Page 515
`
`

`
`15
`
`EP 0 648 038 A2
`
`16
`
`14. A method as claimed in any of claims 9 to 13,
`wherein a plurality of generic names are used,
`each one having a number of server computers
`whose machine addresses are associated with
`that generic name, the decision logic employing
`different sets of predetermined test criteria for
`each generic name.
`
`15. A method as claimed in Claim 14, wherein one or
`more of the server computers are associated with
`a plurality of the generic names.
`
`5
`
`ro
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`9
`
`Samsung v. Straight Path, IPR2014-01366
`Straight Path - Ex. 2002 - Page 516
`
`

`
`207
`
`D
`
`~E~B~-NA_t1!
`-------,
`MACHINE
`CLIENT
`l
`ADDRESS
`COMPUTER
`~--~----~
`I
`L-
`
`I
`
`iJjU
`
`INPUT
`MEANS
`
`OUTPUT -
`MEANS·
`
`I
`
`110
`
`COPIER
`
`CONVERSION
`MEANS
`
`70
`
`10
`
`MEMORY
`
`00
`
`STORAGE
`~90 DEVICE
`
`I
`170 __... MESSAGING
`MEANS
`
`~ac
`
`v16
`
`m
`-g
`
`0 t 0
`
`~
`~
`
`Fl G. 1
`
`....
`
`0
`
`I
`I
`
`:,
`
`--
`
`--
`
`40]_
`
`130./ :
`
`WRITING
`MEANS
`
`120-- DECISION LOGIC
`.
`I
`I
`1(,140 i ~150
`I
`L------,
`60)
`:
`SERVER
`COMPUTER 3
`
`r----
`'
`SERVER
`COMPUTER 1
`____________________ __,
`
`SERVER
`COMPUTER 2
`
`Samsung v. Straight Path, IPR2014-01366
`Straight Path - Ex. 2002 - Page 517
`
`

`
`I INITIALISATION ~
`•
`
`•
`
`SEND METRIC STRING
`TO SERVER COMPUTER 3
`23()-/
`I
`
`SEND METRIC STRING
`TO SERVER COMPUTER 2
`220-'
`I
`
`t
`SEND METRIC STRING
`TO SERVER COMPUTER 1
`21 0 _..;'
`l
`
`t
`SEND METRIC STRING
`TO SERVER COMPUTER N
`240./
`I
`
`....
`....
`
`250
`
`Z60 '--
`
`COLLATE RESPONSES
`FROM SERVER COMPUTERS
`
`OETERM IN E ~LEAST BUSY"
`SERVER COMPUTER
`
`I
`
`270
`
`.
`
`NO
`
`.-
`
`WAIT UNTIL EXPIRY OF
`PREDETERMINED PERIOD
`I
`
`280
`
`FJG.2
`
`•
`~YES UPDATE STORAGE
`•
`
`m
`"CI
`0
`
`t
`0 ... co
`ie
`
`1--290
`
`DEVICE
`
`SEND MESSAGE TO NAMESERVER
`FOR UPDATE OF MEMORY
`I
`
`(300
`
`Samsung v. Straight Path, IPR2014-01366
`Straight Path - Ex. 2002 - Page 518
`
`

`
`EP 0 648 038 A2
`
`r- - ------- ----------1
`SERVER CLUSTER
`I r--- __ _c::-1 420
`:
`I
`1
`I
`I SERVER
`I
`I
`1
`1
`I COMPUTER
`I
`I
`I
`1 SERVER
`: COMPUTER
`I
`I
`1 SERVER
`I COMPUTER
`I
`I ....---------,
`I SERVER
`: COMPUTER
`L ______ j
`
`410
`
`430
`
`SERVER
`COMPUTER
`
`SERVER
`COMPUTER
`
`SERVER
`COMPUTER
`
`I
`
`400
`
`400
`
`SERVER
`COMPUTER
`
`I
`I
`I
`L - - - - - - - - - - - - - - - - - - __ _j
`
`1
`
`FIG. 3
`
`12
`
`Samsung v. Straight Path, IPR2014-01366
`Straight Path - Ex. 2002 - Page 519
`
`

`
`(19)
`
`(12)
`
`Europiiisches Patentamt
`
`European Patent Office
`
`Office europeen des brevets
`
`1111111~ IIIII ~Ill ~Ill~~~~~~ ~111111111111111~ 11~1111111111111111
`EP 1 379 039 A2
`
`(11)
`
`EUROPEAN PATENT APPLICATION
`
`(43) Date of publication:
`07.01.2004 Bulletin 2004/02
`
`(21) Application number: 03022287.1
`
`(22) Date of filing: 25.09.1996
`
`(51) lnt Cl.7: H04L 12/58, H04L 29/06
`
`(84) Designated Contracting States:
`CH DE ES Fl FR GB IE IT Ll NL SE
`
`(72) Inventor: Hutton, Glenn W.
`Miami, FL 33196 (US)
`
`(30) Priority: 25.09.1995 US 533115
`
`(62) Document number(s) of the earlier application(s) in
`accordance with Art. 76 EPC:
`96933928.2 I 0 852 868
`
`(74) Representative: Klndermann, Manfred
`Patentanwalt,
`Sperberweg 29
`71032 Bobllngen (DE)
`
`(71) Applicant: Nets peak Corporation
`Boca Raton, FL 33487 (US)
`
`Remarks:
`This application was filed on 02 - 1 0 · 2003 as a
`divisional application to the application mentioned
`under INID code 62.
`
`(54)
`
`Point-to-point communication using e-mail to establish dynamic network addresses
`
`(57)
`In a computer system having an audio trans(cid:173)
`ducer and a display device and being operatively cou(cid:173)
`pled to other computers over a computer network (24),
`such as the Internet, means are included for establish(cid:173)
`ing a point-to-point communication link between proc(cid:173)
`esses. The means provide for transmitting from a first
`processing unit (12) to the Internet an E-mail signal, in-
`
`eluding a first IP address assigned to the first processing
`unit, and for processing the E-mail signal through the
`Internet to deliver the E-mail signal to a second process(cid:173)
`ing unit (22). Further means are provided for transmit(cid:173)
`ting a second IP address to the first processing unit for
`establishing a point-to-point communication link be(cid:173)
`tween the first and second processing units through the
`Internet.
`
`12 \
`r----JL-------------------~
`
`<CONNECTREQUEST>
`
`<CONNECTOK>
`
`I
`I
`
`I
`I
`
`I v-24
`
`I
`I
`I
`I
`I
`
`I
`I
`I
`
`N
`<(
`en
`('I)
`0
`en
`r-..
`('I)
`,...
`a.
`w
`
`I L-------------------------1
`
`FIG. 2
`
`Printed by Jouve, 75001 PARIS (FR)
`
`I L-------
`
`POLLS EVERY
`3-5 SECONDS
`
`22
`
`SECOND
`PROCESSING
`UNIT
`
`Samsung v. Straight Path, IPR2014-01366
`Straight Path - Ex. 2002 - Page 520
`
`

`
`EP 1 379 039 A2
`
`2
`
`Description
`
`FIELD OF THE INVENTION
`
`[0001] The present invention relates in general to data
`processing systems, and more specifically, to an appa(cid:173)
`ratus, a method and a computer program product for fa(cid:173)
`cilitating audio communications over computer net(cid:173)
`works.
`
`BACKGROUND OF THE INVENTION
`
`5
`
`and mechanisms known as reflectors.
`[0006) A technique for matching domain names to In(cid:173)
`ternet Protocol addresses is described in the text enti-
`tled "lnternetworking With TCPIIP", 2nd Edition, by
`Douglas E. Comer, November 1992, Prentice Hall, En(cid:173)
`glewood Cliffs, New Jersey, U.S.A. Comer describes a
`domain name system and cooperative systems of name
`servers for matching domain names to network ad(cid:173)
`dresses. Each name server is a server program that
`10 supplies mapping of domain names to IP addresses.
`The system described in Comer, however, is not de(cid:173)
`signed for use with network nodes whose network
`names or name to address bindings change frequently.
`[0007)
`International Publication WO 92/19054 dis-
`15 closes a network monitoring system including an ad(cid:173)
`dress tracking module which uses passive monitoring
`of all packet communications over a local area network
`to maintain a name table of IP address mappings. The
`disclosed address tracking module is capable of moni-
`loring only a small number of nodes on a local area net(cid:173)
`work and is not suitable for use with a multitude of nodes
`over a wide area network.
`[0008) Due to the dynamic nature of temporary I P ad-
`dresses of some devices accessing the Internet, point-
`to-point communications in real-time of voice and video
`have been generally difficult to attain.
`
`20
`
`25
`
`SUMMARY OF THE INVENTION
`
`[0002] The increased popularity of on-line services
`such as AMERICA ONLINE (TM), COMPUSERVE (R),
`and other services such as Internet gateways have
`spurred applications to provide multimedia contents, in(cid:173)
`cluding video and voice clips, to online users. An exam-
`ple of an online voice clip application is VOICE E-MAIL
`FOR WINCIM and VOICE E-MAIL FOR AMERICA ON(cid:173)
`LINE (TM), available from Bonzi Software, as described
`in "Simple Utilities Send Voice E-Mail Online", MULTI(cid:173)
`MEDIA WORLD, VOL. 2, NO.9, August 1995, p. 52.
`Using such Voice E-Mail software, a user may create an
`audio message to be sent to a predetermined E-mail ad(cid:173)
`dress specified by the user.
`[0003) Generally, devices interfacing with the Internet
`and other online services may communicate with each
`other upon establishing respective device addresses.
`One type of device address is the Internet Protocol (IP)
`address, which acts as a pointer to the device associat-
`ed with the IP address. A typical device may have a Se-
`rial Line Internet Protocol or Point-to-Point Protocol
`(SLIP/PPP) account with a permanent IP address for re(cid:173)
`ceiving E-mail, voicemail, and the like over the Internet.
`E-mail and voicemail is generally intended to convey 35
`text, audio, etc., with any routing information such as an
`IP address and routing headers generally being consid(cid:173)
`ered an artifact of the communication, or even gibberish
`to the recipient.
`[0004) Devices such as a host computer or server of
`a company may include multiple modems forconnection
`of users to the Internet, with a temporary IP address al(cid:173)
`located to each user. For example, the host computer
`may have a generaiiP address "XXX.XXX.XXX", and
`each user may be allocated a successive I P address of
`XXX.XXX.XXX.1 0, XXX.XXX.XXX.11, XXX.XXX.XXX.
`12, etc. Such temporary IP addresses may be reas(cid:173)
`signed or recycled to the users, for example, as each
`user is successively connected to an outside party. For
`example, a host computer of a company may support a
`maximum of 254 IP addresses which are pooled and
`shared between devices connected to the host compu(cid:173)
`ter.
`[0005) Permanent IP addresses of users and devices
`accessing the Internet readily support point-to-point
`communications of voice and video signals over the In(cid:173)
`ternet. For example, global real-time video conferencing
`has been implemented using dedicated IP addresses
`
`30
`
`In a system for enabling point-to-point commu(cid:173)
`[0009)
`nications between a plurality of processing units over
`the Internet, means are provided for establishing a
`point-to-point communication
`link between a first
`processing unit and a second processing unit. The in-
`vention, as defined in the claims, comprises (a) means
`for transmitting from a first processing unitto the Internet
`an E-mail signal, including a first IP address assigned
`to the first processing unit, (b) means for processing the
`E-mail signal through the Internet to deliver the E-mail
`signal to a second processing unit and (c) means for
`transmitting a second IP address to the first processing
`unit for establishing a point-to-point communication link
`between the first and second processing units through
`the Internet.
`[0010) The invention is

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket