Ixia Tcl Development Guide

Total Page:16

File Type:pdf, Size:1020Kb

Ixia Tcl Development Guide Chapter 2: Quick Start 2 Installing the IxOS Tcl Client This chapter provides a quick means of getting started with the Tcl API. An example test is presented and explained. The IxOS Tcl Client provides an interface between an Ixia Tcl client application and Ixia IxOS Tcl functions. It runs on the Unix / Linux host. The Windows version of IxOS Tcl Client is included with the IxOS software package; the Unix/Linux version is supplied as a separate a self-extracting archive (.bin) file. You can download it from Ixia’s website, www.ixiacom.com. There are serveral versions of the IxOS Tcl Client. The correct file to install depends on the set up of the UNIX/Linux machine. Table 2-2 on page 2-1 details the files and their use. Table 2-2. Tcl Client Install Files Install File Purpose IxOS#.## For Linux versions post Redhat 9. It is distributed as genericLinux.bin a tarball (IxOS#.##genericLinux.bin.tar.gz) due to download issues. IxOS#.##linux.bin. For Linux platforms older than Redhat 9. IxOS#.##setup.jar An installer without a bundled Java Virtual Machine. This is distributed only to customers that have issues running the bin installers. It requires a Java Virtual Machine installed on the installation target. IxOS#.## For Solaris machines. solarisSparc.bin The versions of UNIX/Linux operating systems that are supported are: • Mandrake 7.2, RedHat 6.2, RedHat 7.0, RedHat 9.0 • RedHat Enterprise 4.0 IxOS Tcl Development Guide, 6.60 EA SP1 2-1 Quick Start 2 Installing the IxOS Tcl Client • Solaris 2.7 (7), 2.8 (8), 2.9 (9) Other versions of Linux and Solaris platforms may operate properly, but are not officially supported. To install the IxOS TCL Client, do the following: 1. Download the self-extracting archive that contains the Unix/Linux Tcl client. 2. Use the following command to make the archive file executable: chmod +x <archive file name> Example: chmod +x IxOS#.##genericLinux.bin (where #.## is the version number) 3. Execute the archive to extract the installation files and begin the installation: ./<archive file name> Example: ./IxOS#.##genericLinux.bin The installation is a typical InstallShield installation. The installer prompts you to select which version of the Tcl Client you want to install (Figure 2-2). Figure 2-2. Tcl Version selection The installer also prompts you to select the path where the Tcl Client is installed. (Figure 2-3). The default path is the current folder. 4. Accept the default installation path or enter an alternative, then click Next. 2-2 IxOS Tcl Development Guide, 6.60 EA SP1 Quick Start Installing the IxOS Tcl Client Figure 2-3. Installation path IxOS Tcl Development Guide, 6.60 EA SP1 2-3 Quick Start 2 UNIX Environment UNIX Environment On UNIX system, when IxOS client is installed, an ixwish file is created under “bin dir”. This ixwish file sets up the environment variables needed to run the IxOS client, and starts the wish shell. The contents of the file are shown below. The highlighted lines are the environment variables that are set according to the user’s installation. To use Tcl libraries not supplied by IxOS, you should change the TCL_HOME and TCLver variables to point to the correct libraries. #!/bin/sh # # Environment variables here are all caps if saved and exported # Upper and lower case if used temporarily to set other # variables IXIA_HOME=<install location> # USER MAY NEED TO CHANGE THESE IF USING OWN TCL LIBRARY TCL_HOME=<install location> TCLver=8.5 # USER NORMALLY DOES NOT CHANGE ANY LINES BELOW IxiaLibPath=$IXIA_HOME/lib IxiaBinPath=$IXIA_HOME/bin TCLLibPath=$TCL_HOME/lib TCLBinPath=$TCL_HOME/bin TCL_LIBRARY=$TCLLibPath/tcl$TCLver TK_LIBRARY=$TCLLibPath/tk$TCLver PATH=$IxiaBinPath:.:$TCLBinPath:$PATH #TCLLIBPATH=$IxiaLibPath:$TCLLIBPath; # does not work, not a set of paths, must point to Ixia only TCLLIBPATH=$IxiaLibPath LD_LIBRARY_PATH=$IxiaLibPath:$TCLLibPath:$LD_LIBRARY_PATH IXIA_RESULTS_DIR=/tmp/Ixia/Results IXIA_LOGS_DIR=/tmp/Ixia/Logs IXIA_TCL_DIR=$IxiaLibPath IXIA_SAMPLES=$IxiaLibPath/ixTcl1.0 IXIA_VERSION=<build version> export IXIA_HOME TCL_LIBRARY TK_LIBRARY TCLLIBPATH export LD_LIBRARY_PATH IXIA_RESULTS_DIR export IXIA_LOGS_DIR IXIA_TCL_DIR IXIA_SAMPLES export IXIA_TCL_DIR PATH IXIA_VERSION $TCLBinPath/wish ${@+"$@"} 2-4 IxOS Tcl Development Guide, 6.60 EA SP1 Quick Start Windows Environment Windows Environment On Windows operating system, the IxiaWish.tcl file is installed as part of the IxOS client installation. The path to the IxiaWish.tcl file is similar to this: C:\Program Files\Ixia\IxOS\<version>\TclScripts\bin\IxiaWish.tcl This IxiaWish.tcl file sets up the environment variables needed to run the IxOS Tcl client. When Tcl 8.5 wish is started, IxiaWish.tcl is sourced to set up the IxTclHAL environment as part of the startup. Alternatively, you can use a third-party wish like ActiveTcl, and set up the environment for accessing the IxOS Tcl package by sourcing the file named in the path above. IxOS Tcl Development Guide, 6.60 EA SP1 2-5 Quick Start Installing Platform Independent package - tarball Installing Platform Independent package - tarball To install tarball, perform the following steps: 1. Create a folder tarball inside the root directory. 2. Copy the IxOSTclClient.tar.gz inside the tarball and then extract it as tar –zxvf IxOSTclClient.tar.gz. 3. Two folders lib and TclDevelopmentGuide.pdf are created. 4. Create folders tcl8.5 and mpexpr-1.1 inside lib. 5. Create another folder activetcl inside tarball. 6. Download the tar file http://www.activestate.com/activetcl/downloads/thank- you?dl=http://downloads.activestate.com/ActiveTcl/releases/8.5.13.0/ ActiveTcl8.5.13.0.296436-linux-x86_64-threaded.tar.gz and copy it to the activetcl folder. 7. Extract the above tar file as tar –zxvf ActiveTcl8.5.13.0.296436-linux-x86_64- threaded.tar. 7. A folder ActiveTcl8.5.13.296436-linux-x86_64-threaded gets created. 8. Copy the contents of tcl8.5 folder located in /root/tarball/activetcl/ ActiveTcl8.5.13.296436-linux-x86_64-threaded/payload/lib to tcl8.5 folder located in /root/tarball/lib. 9. Copy the contents of the mpexpr-1.1 folder located inside the IxOS installation directory /root/ixos1/lib to mpexpr-1.1 folder located inside /root/ tarball/lib. 10.Set the environment file as: # /bin/bash Environments: # Source this file to setup environment variables IXIA_HOME=/root/tarball TCL_LIBRARY=/root/tarball/lib/tcl8.5 LD_LIBRARY_PATH=/root/tarball/ lib:$IxiaLibPath:$TclLibPath:$LD_LIBRARY_PATH IXIA_TCL_DIR=/root/tarball/lib TCLLIBPATH="$LOCAL_TCLLIBPATH /root/tarball/lib" IXIA_SAMPLES=/root/tarball/lib/ixTcl1.0 IXIA_VERSION=6.60 export TCLLIBPATH IXIA_HOME TCL_LIBRARY LD_LIBRARY_PATH export IXIA_SAMPLES IXIA_TCL_DIR IXIA_VERSION Connect to IxServer To connect to IxServer, perform the following steps: 1. Source the environment file for tarball. 2. ixConnectToTclServer <chassis-name> 3. ixConnectToChassis <chassis-name> IxOS Tcl Development Guide, 6.60 EA SP1 2-6 Quick Start 2 IxSampleTcl Test Program IxSampleTcl Test Program The IxSampleTcl.tcl file is included just below, along with comments which explain the test. ############################################################### ############### # IxTclHAL Version :5.20.0.165 # Product version :5.20.0 Build 165# # File: IxSampleTCL.tcl # # Copyright © 1997 - 2009 by IXIA # All Rights Reserved. # # The following is an example of how streams, ports and filters are configured, # data capture started, transmission started and statistics collected. # The chassis is connected to first, streams are created, filters are set, # then capture is started on Rx port and transmisssion is started on Tx port. # After the transmition is complete, some statistics are collected and # displayed # to standard out. # Note: This test requires two ports which should be connected via loopback # cable. # ############################################################### ############### # This package is required to have access to the Ixia Tcl commands package req IxTclHal set userName IxiaTclUser set hostname localhost set retCode $::TCL_OK # If on unix/linux, we must connect to the tclServer. This would need to be # uncommented and a tclServer host name would need to be supplied. : # NOTE: IxTclServer should not run on the chassis. #if {[isUNIX]} { # set retCode [ixConnectToTclServer $hostname] #} ixPuts "\n\tIxia Tcl Sample Script" # Log in user ixLogin $userName ixPuts "\nUser logged in as: $userName" set recCode [ixConnectToChassis $hostname] if {$retCode != $::TCL_OK} { return $retCode } set chasId [ixGetChassisID $hostname] set card 1 #added line below on July 2 to make ports selectable instead of hardwired set port1 3 2-7 IxOS Tcl Development Guide, 6.60 EA SP1 Quick Start 2 IxSampleTcl Test Program set port2 4 # Assume transmit from port 1 to port 2 on same card for this example set portList [list [list $chasId $card $port1] [list $chasId $card $port2]] # Decide on some mac & ip addresses - lots of ways to do this, this is one # example set macAddress(sa,$chasId,$card,$port1) [format "be ef be ef %02x %02x" $card $port1] set macAddress(sa,$chasId,$card,$port2) [format "be ef be ef %02x %02x" $card $port2] set macAddress(da,$chasId,$card,$port1) $macAddress(sa,$chasId,$card,$port2) set macAddress(da,$chasId,$card,$port2) $macAddress(sa,$chasId,$card,$port1) set ipAddress(sa,$chasId,$card,$port1) [format "199.17.%d.%d" $card $port1] set ipAddress(sa,$chasId,$card,$port2) [format "199.17.%d.%d" $card $port2] set ipAddress(da,$chasId,$card,$port1) $ipAddress(sa,$chasId,$card,$port2) set ipAddress(da,$chasId,$card,$port2) $ipAddress(sa,$chasId,$card,$port1)
Recommended publications
  • Ajuba Solutions Version 1.4 COPYRIGHT Copyright © 1998-2000 Ajuba Solutions Inc
    • • • • • • Ajuba Solutions Version 1.4 COPYRIGHT Copyright © 1998-2000 Ajuba Solutions Inc. All rights reserved. Information in this document is subject to change without notice. No part of this publication may be reproduced, stored in a retrieval system, or transmitted in any form or by any means electronic or mechanical, including but not limited to photocopying or recording, for any purpose other than the purchaser’s personal use, without the express written permission of Ajuba Solutions Inc. Ajuba Solutions Inc. 2593 Coast Avenue Mountain View, CA 94043 U.S.A http://www.ajubasolutions.com TRADEMARKS TclPro and Ajuba Solutions are trademarks of Ajuba Solutions Inc. Other products and company names not owned by Ajuba Solutions Inc. that appear in this manual may be trademarks of their respective owners. ACKNOWLEDGEMENTS Michael McLennan is the primary developer of [incr Tcl] and [incr Tk]. Jim Ingham and Lee Bernhard handled the Macintosh and Windows ports of [incr Tcl] and [incr Tk]. Mark Ulferts is the primary developer of [incr Widgets], with other contributions from Sue Yockey, John Sigler, Bill Scott, Alfredo Jahn, Bret Schuhmacher, Tako Schotanus, and Kris Raney. Mark Diekhans and Karl Lehenbauer are the primary developers of Extended Tcl (TclX). Don Libes is the primary developer of Expect. TclPro Wrapper incorporates compression code from the Info-ZIP group. There are no extra charges or costs in TclPro due to the use of this code, and the original compression sources are freely available from http://www.cdrom.com/pub/infozip or ftp://ftp.cdrom.com/pub/infozip. NOTE: TclPro is packaged on this CD using Info-ZIP’s compression utility.
    [Show full text]
  • Scripting: Higher- Level Programming for the 21St Century
    . John K. Ousterhout Sun Microsystems Laboratories Scripting: Higher- Cybersquare Level Programming for the 21st Century Increases in computer speed and changes in the application mix are making scripting languages more and more important for the applications of the future. Scripting languages differ from system programming languages in that they are designed for “gluing” applications together. They use typeless approaches to achieve a higher level of programming and more rapid application development than system programming languages. or the past 15 years, a fundamental change has been ated with system programming languages and glued Foccurring in the way people write computer programs. together with scripting languages. However, several The change is a transition from system programming recent trends, such as faster machines, better script- languages such as C or C++ to scripting languages such ing languages, the increasing importance of graphical as Perl or Tcl. Although many people are participat- user interfaces (GUIs) and component architectures, ing in the change, few realize that the change is occur- and the growth of the Internet, have greatly expanded ring and even fewer know why it is happening. This the applicability of scripting languages. These trends article explains why scripting languages will handle will continue over the next decade, with more and many of the programming tasks in the next century more new applications written entirely in scripting better than system programming languages. languages and system programming
    [Show full text]
  • Automating Your Sync Testing
    APPLICATION NOTE By automating system verification and conformance testing to ITU-T synchronization standards, you’ll save on time and resources, and avoid potential test execution errors. This application note describes how you can use the Paragon-X’s Script Recorder to easily record Tcl, PERL and Python commands that can be integrated into your own test scripts for fast and efficient automated testing. AUTOMATING YOUR SYNC TESTING calnexsol.com Easily automate synchronization testing using the Paragon-X Fast and easy automation by Supports the key test languages Pre-prepared G.8262 Conformance recording GUI key presses Tcl, PERL and Python Scripts reduces test execution errors <Tcl> <PERL> <python> If you perform System Verification language you want to record i.e. Tcl, PERL SyncE CONFORMANCE TEST and Conformance Testing to ITU-T or Python, then select Start. synchronization standards on a regular Calnex provides Conformance Test Scripts basis, you’ll know that manual operation to ITU-T G.8262 for SyncE conformance of these tests can be time consuming, testing using the Paragon-X. These tedious and prone to operator error — as test scripts can also be easily tailored well as tying up much needed resources. and edited to meet your exact test Automation is the answer but very often requirements. This provides an easy means a lack of time and resource means it of getting your test automation up and remains on the ‘To do’ list. Now, with running and providing a repeatable means Calnex’s new Script Recorder feature, you of proving performance, primarily for ITU-T can get your automation up and running standards conformance.
    [Show full text]
  • 13A04806 LINUX PROGRAMMING and SCRIPTING UNIT 4 TCL/ TK SCRIPTING:Tcl Fundamentals, String and Pattern Matching, Tcl Data Struct
    13A04806 LINUX PROGRAMMING AND SCRIPTING UNIT 4 TCL/ TK SCRIPTING:Tcl Fundamentals, String and Pattern Matching, Tcl Data Structures ,Control Flow Commands, Procedures and Scope , Evel, Working With UNIX, Reflection and Debugging, Script Libraries, Tk Fundamentals ,Tk by Examples, The Pack Geometry Manager, Binding Commands to X Events, Buttons and Menus, Simple Tk Widgets, Entry and Listbox Widgets Focus, Grabs and Dialogs 13A04806 LINUX PROGRAMMING AND SCRIPTING Tcl - Overview Tcl is shortened form of Tool Command Language. John Ousterhout of the University of California, Berkeley, designed it. It is a combination of a scripting language and its own interpreter that gets embedded to the application, we develop with it. Tcl was developed initially for Unix. It was then ported to Windows, DOS, OS/2, and Mac OSX. Tcl is much similar to other unix shell languages like Bourne Shell (Sh), the C Shell (csh), the Korn Shell (sh), and Perl. It aims at providing ability for programs to interact with other programs and also for acting as an embeddable interpreter. Even though, the original aim was to enable programs to interact, you can find full-fledged applications written in Tcl/Tk. Features of Tcl The features of Tcl are as follows − ∑ Reduced development time. ∑ Powerful and simple user interface kit with integration of TK. ∑ Write once, run anywhere. It runs on Windows, Mac OS X, and almost on every Unix platform. ∑ Quite easy to get started for experienced programmers; since, the language is so simple that they can learn Tcl in a few hours or days. ∑ You can easily extend existing applications with Tcl.
    [Show full text]
  • 7 Reasons the Future of Tcl Is Bright by Clif Flynt ([email protected]) 7 Reasons the Future of Tcl Is Bright
    7 REASONS THE FUTURE OF TCL IS BRIGHT BY CLIF FLYNT ([email protected]) 7 REASONS THE FUTURE OF TCL IS BRIGHT The future is bright for Tcl! You’d be pardoned for his repertoire. He started shell programming in 1985, thinking otherwise. It’s not a sexy new language. In fact, picked up Perl in 1995 and finally Tcl in 1996. He’s been a it’s ranked outside the Top 50 in the TIOBE Index1. Tcl devotee ever since. But for the right projects - and there are lots of them - it’s With Clif’s extensive background, we asked him about a powerful tool that’s been stress-tested for many years the future of Tcl. Here’s seven reasons why the future and just gets the job done. of Tcl is bright. Tcl is not resting on its laurels. The simplicity of the Tcl language makes it perfect for Internet of Things IoT and 1: TCL IS STILL THE KING OF electronics design, including Electronic Design Automa- RAPID PROTOTYPING tion (EDA), chip design, and Field-Programmable Gate Clif is a big fan of Tcl for rapid prototypes that actually Array (FPGA) development, and for configuring chips after work. NBC Broadcasting studios uses Tcl/Tk to control manufacture. The same features that make Tcl dominant what you see. They went to GE Research (and others) in EDA and FPGA also make it great for DevOps, poten- with a half-baked design and some examples of the tially competing with Bash and Perl as the language of clipboards and tapes they were using.
    [Show full text]
  • Fast Integration of EDA Tools and Scripting Language
    Fast Integration of EDA Tools and Scripting Language Dept. of EECS, U. C. Berkeley Berkeley, CA 94720, USA [email protected] Abstract such as Skill for Silicon Ensemble[6], Scheme for Apollo II[7], or Tcl[2] for Design Compiler[8]. However, a specific programming EDA tools are implemented to automate a design task efficiently, language may be another stopping factor for a user to further ex- but they often lack flexibility to be highly customizable or pro- plore the tool, just because a long learning curve is required for a grammable. Some EDA tools have a primitive and unique com- new programming language. For modern chip design, a designer mand language to realize programmability, but usually it further has to deal with at least a dozen of tools, each of which may have a complicates a design flow. We thus propose methods and crucial unique command language plus several specific input formats. This techniques to fast link EDA tools with a popular scripting language could be a very error-prone process and impede design productivity such as Perl[1], Tcl[2] or Python[3] for ease-of-use and better inte- seriously. gration. This approach encourages rapid prototyping of algorithms, Perl and Tcl have been extensively used in the design commu- code reuse, customizability, extensibility, interoperability between nity for a long time due to their powerful string pattern match by tools, and easier testing of application program interface(API)’s. regular expressions, scripting capability, popularity, and extensibil- Based on the proposed methods and techniques, we efficiently ity. Both can process a simple text file very efficiently using regular built several Perl/Tcl/Python interfaces to EDA packages such as expressions without the tedium to program a full parser and a lexi- LEF/DEF parser, Synopsys .lib parser, Verilog PLI2.0 routines, cal analyzer.
    [Show full text]
  • Embedding an Interpreted Language Using Higher-Order Functions and Types
    JFP 17 1–000, January 2008. c 2008 Cambridge University Press 1 DOI: 10.1017/S0000000000000000 Printed in the United Kingdom Embedding an Interpreted Language Using Higher-Order Functions and Types Norman Ramsey Department of Computer Science Tufts University Abstract Using an embedded, interpreted language to control a complicated application can have significant software-engineering benefits. But existing interpreters are designed for embedding into C code. To embed an interpreter into a different language requires an API suited to that language. This paper presents Lua-ML, a new API that is suited to languages that provide higher-order functions and types. The API exploits higher-order functions and types to reduce the amount of glue code needed to use an embedded interpreter. Where embedding in C requires a special-purpose “glue function” for every function to be embedded, embedding in Lua-ML requires only a description of each function’s type. Lua-ML also makes it easy to define a Lua function whose behavior depends on the number and types of its arguments. 1 Introduction Suppose you have an application written in a statically typed, compiled language such as C, C++, or ML. If the application is complicated, like a web server or an optimizing compiler, it will have lots of potential configurations and behaviors. How are you to control it? If you use command-line arguments, you may find yourself writing an interpreter for an increasingly complicated language of command-line arguments. If you use a configuration file, you will find yourself defining, parsing, and interpreting its syntax. A better idea, which we owe to Ousterhout (1990), is to create a reusable language de- signed just for configuring and controlling application programs, i.e., for scripting.
    [Show full text]
  • SCRIPTING LANGUAGES LAB (Professional Elective - III)
    R18 B.TECH CSE III YEAR CS623PE: SCRIPTING LANGUAGES LAB (Professional Elective - III) III Year B.Tech. CSE II-Sem L T P C 0 0 2 1 Prerequisites: Any High-level programming language (C, C++) Course Objectives: To Understand the concepts of scripting languages for developing web based projects To understand the applications the of Ruby, TCL, Perl scripting languages Course Outcomes: Ability to understand the differences between Scripting languages and programming languages Able to gain some fluency programming in Ruby, Perl, TCL List of Experiments 1. Write a Ruby script to create a new string which is n copies of a given string where n is a non- negative integer 2. Write a Ruby script which accept the radius of a circle from the user and compute the parameter and area. 3. Write a Ruby script which accept the user's first and last name and print them in reverse order with a space between them 4. Write a Ruby script to accept a filename from the user print the extension of that 5. Write a Ruby script to find the greatest of three numbers 6. Write a Ruby script to print odd numbers from 10 to 1 7. Write a Ruby scirpt to check two integers and return true if one of them is 20 otherwise return their sum 8. Write a Ruby script to check two temperatures and return true if one is less than 0 and the other is greater than 100 9. Write a Ruby script to print the elements of a given array 10.
    [Show full text]
  • Building Tcl-Tk Guis for HRT-HOOD Systems
    Building Tcl-Tk GUIs for HRT-HOOD Systems Juan Carlos Díaz Martín Isidro Irala Veloso José Manuel Rodríguez García Departamento de Informática, Universidad de Extremadura. Avda. de la Universidad, s/n, 10071, Cáceres, Spain. 34 927 257265 34 927 257265 34 927 181092 [email protected] [email protected] [email protected] 1. ABSTRACT is important. A good user interface can provide a graphic model of the system evolution; it also facilitates its study This work explores Tcl-Tk 8.0 as a building and familiarization, and it makes its development a more tool for script-based GUIs in Ada95 real-time attractive task. This last issue is particularly important in systems. Tcl-Tk 8.0 is a library that makes the university environment, where there is generally little graphic programming easier, but it suffers time to build a running non-trivial system ([3]); it is even harder to learn and program on a particular windows from being non-thread-safe. An application system. Here, Tcl-Tk scripts seem to be a balanced architecture is proposed, the deferred server, compromise of power, flexibility and ease of use. In the which provides transparent use of Tcl-Tk to industrial side area, in a true hard real time system, the pair multithreaded Ada95 applications via TASH, (System, User Interface) must be analizable in its temporal a thick binding that allows Ada95 single- constraints. threaded code to use Tcl-Tk. We find that only This paper presents the following: Firstly, a method to use a minimal extension to Tcl-Tk 8.0 and TASH Tcl-Tk scripts from concurrent Ada95 applications, and, secondly, an extension of the method to HRT-HOOD is required to support it, while a successful systems, by introducing the user interface early in the prototype has been implemented based on design stage to make the pair (System, User Interface) these ideas.
    [Show full text]
  • United States Court of Appeals for the Federal Circuit ______
    Case: 18-2003 Document: 61 Page: 1 Filed: 04/14/2020 United States Court of Appeals for the Federal Circuit ______________________ ERICSSON INC., TELEFONAKTIEBOLAGET LM ERICSSON, Plaintiffs-Appellees v. TCL COMMUNICATION TECHNOLOGY HOLDINGS LIMITED, TCT MOBILE LIMITED, TCT MOBILE (US) INC., Defendants-Appellants ______________________ 2018-2003 ______________________ Appeal from the United States District Court for the Eastern District of Texas in No. 2:15-cv-00011-RSP, Mag- istrate Judge Roy S. Payne. ______________________ Decided: April 14, 2020 ______________________ THEODORE STEVENSON, III, McKool Smith, PC, Dallas, TX, argued for plaintiffs-appellees. Also represented by WARREN LIPSCHITZ, NICHOLAS M. MATHEWS; JAMES A. BARTA, RAYINER HASHEM, JEFFREY A. LAMKEN, MICHAEL GREGORY PATTILLO, JR., MoloLamken LLP, Washington, DC. LIONEL M. LAVENUE, Finnegan, Henderson, Farabow, Garrett & Dunner, LLP, Reston, VA, argued for Case: 18-2003 Document: 61 Page: 2 Filed: 04/14/2020 2 ERICSSON INC. v. TCL COMMUNICATION TECHNOLOGY defendants-appellants. Also represented by MICHAEL LIU SU, Palo Alto, CA; DAVID MROZ, Washington, DC. ______________________ Before PROST, Chief Judge, NEWMAN and CHEN, Circuit Judges. Opinion for the court filed by Chief Judge PROST. Dissenting opinion filed by Circuit Judge NEWMAN. PROST, Chief Judge. Appellants TCL Communication Technology Holdings, Limited, TCT Mobile Limited, and TCT Mobile (US) Inc., (collectively, “TCL”) appeal the decision of the U.S. District Court for the Eastern District of Texas denying summary judgment that U.S. Patent No. 7,149,510 (“the ’510 pa- tent”) is ineligible for patenting under 35 U.S.C. § 101. TCL also appeals the denial of its motion for a new trial on damages and challenges the jury’s finding of willful in- fringement as not supported by substantial evidence.
    [Show full text]
  • Assessing the Need to Strengthen Bilateral Confidence Building Measures
    SANDIA REPORT SAND2012-10041 Unlimited Release Printed October 2012 India and China: Assessing the Need to Strengthen Bilateral Confidence Building Measures Monika Chansoria Visiting Research Scholar Cooperative Monitoring Center Prepared by Sandia National Laboratories Albuquerque, New Mexico 87185 and Livermore, California 94550 Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy's National Nuclear Security Administration under contract DE-AC04-94AL85000. Approved for public release; further dissemination unlimited. Issued by Sandia National Laboratories, operated for the United States Department of Energy by Sandia Corporation. NOTICE: This report was prepared as an account of work sponsored by an agency of the United States Government. Neither the United States Government, nor any agency thereof, nor any of their employees, nor any of their contractors, subcontractors, or their employees, make any warranty, express or implied, or assume any legal liability or responsibility for the accuracy, completeness, or usefulness of any information, apparatus, product, or process disclosed, or represent that its use would not infringe privately owned rights. Reference herein to any specific commercial product, process, or service by trade name, trademark, manufacturer, or otherwise, does not necessarily constitute or imply its endorsement, recommendation, or favoring by the United States Government, any agency thereof, or any of their contractors or subcontractors. The views and opinions expressed herein do not necessarily state or reflect those of the United States Government, any agency thereof, or any of their contractors. Printed in the United States of America.
    [Show full text]
  • The Evolution of Lua
    The Evolution of Lua Roberto Ierusalimschy Luiz Henrique de Figueiredo Waldemar Celes Department of Computer Science, IMPA–Instituto Nacional de Department of Computer Science, PUC-Rio, Rio de Janeiro, Brazil Matematica´ Pura e Aplicada, Brazil PUC-Rio, Rio de Janeiro, Brazil [email protected] [email protected] [email protected] Abstract ing languages offer associative arrays, in no other language We report on the birth and evolution of Lua and discuss how do associative arrays play such a central role. Lua tables it moved from a simple configuration language to a versatile, provide simple and efficient implementations for modules, widely used language that supports extensible semantics, prototype-based objects, class-based objects, records, arrays, anonymous functions, full lexical scoping, proper tail calls, sets, bags, lists, and many other data structures [28]. and coroutines. In this paper, we report on the birth and evolution of Lua. We discuss how Lua moved from a simple configuration Categories and Subject Descriptors K.2 [HISTORY OF language to a powerful (but still simple) language that sup- COMPUTING]: Software; D.3 [PROGRAMMING LAN- ports extensible semantics, anonymous functions, full lexical GUAGES] scoping, proper tail calls, and coroutines. In §2 we give an overview of the main concepts in Lua, which we use in the 1. Introduction other sections to discuss how Lua has evolved. In §3 we re- late the prehistory of Lua, that is, the setting that led to its Lua is a scripting language born in 1993 at PUC-Rio, the creation. In §4 we relate how Lua was born, what its original Pontifical Catholic University of Rio de Janeiro in Brazil.
    [Show full text]